From c7459081ddc22b5dc11e48a535f30be6e0759dca Mon Sep 17 00:00:00 2001 From: bherr2 Date: Thu, 8 Sep 2022 13:06:26 +0000 Subject: [PATCH] Production deploy -- 435f5ebd8c897e16ddeaf94b5cf9403eda16295c --- 404.html | 2 +- body-ui/main.js | 2 +- body-ui/wc.js | 2 +- .../interfaces/SearchResultJson.html | 23 +++++++++++++++++-- docs/ccf-database/js/search/search_index.js | 4 ++-- .../ccf-database/miscellaneous/variables.html | 23 +++++++++++++++++-- .../injectables/ReferenceDataState.html | 2 +- docs/ccf-rui/interfaces/OrganData.html | 2 +- .../interfaces/ReferenceDataStateModel.html | 2 +- docs/ccf-rui/js/search/search_index.js | 4 ++-- index.html | 2 +- main-es2015.js | 2 +- main-es5.js | 2 +- organ-info/index.html | 4 ++-- organ-info/main.js | 2 +- organ-info/wc.js | 2 +- organ-info/webcomponent-example.html | 2 +- rui/index.html | 2 +- rui/main.js | 2 +- rui/wc.js | 2 +- wc.js | 2 +- webcomponent-example.html | 2 +- 22 files changed, 65 insertions(+), 27 deletions(-) diff --git a/404.html b/404.html index 8d222fb62..545ca38d3 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ - + diff --git a/body-ui/main.js b/body-ui/main.js index e46a63005..db6acfd2c 100644 --- a/body-ui/main.js +++ b/body-ui/main.js @@ -1 +1 @@ -var lke=Object.defineProperty,cke=Object.defineProperties,uke=Object.getOwnPropertyDescriptors,T1=Object.getOwnPropertySymbols,Bq=Object.prototype.hasOwnProperty,jq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Vq=(Ut,it,Je)=>it in Ut?lke(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ut[it]=Je,ot=(Ut,it)=>{for(var Je in it||(it={}))Bq.call(it,Je)&&Vq(Ut,Je,it[Je]);if(T1)for(var Je of T1(it))jq.call(it,Je)&&Vq(Ut,Je,it[Je]);return Ut},Sn=(Ut,it)=>cke(Ut,uke(it)),Uq=(Ut,it)=>{var Je={};for(var yt in Ut)Bq.call(Ut,yt)&&it.indexOf(yt)<0&&(Je[yt]=Ut[yt]);if(null!=Ut&&T1)for(var yt of T1(Ut))it.indexOf(yt)<0&&jq.call(Ut,yt)&&(Je[yt]=Ut[yt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(Ut,it,Je)=>{var yt=Je(52).default;Ut.exports=function Y(Se,he,W){function j(z,v){if(!he[z]){if(!Se[z]){if(P)return P(z,!0);var O=new Error("Cannot find module '"+z+"'");throw O.code="MODULE_NOT_FOUND",O}var A=he[z]={exports:{}};Se[z][0].call(A.exports,function(b){return j(Se[z][1][b]||b)},A,A.exports,Y,Se,he,W)}return he[z].exports}for(var P=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){$e=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ce-4:ce;for($=0;$>16&255,I[X++]=R>>8&255,I[X++]=255&R;return 2===D&&(R=j[V.charCodeAt($)]<<2|j[V.charCodeAt($+1)]>>4,I[X++]=255&R),1===D&&(R=j[V.charCodeAt($)]<<10|j[V.charCodeAt($+1)]<<4|j[V.charCodeAt($+2)]>>2,I[X++]=R>>8&255,I[X++]=255&R),I},he.fromByteArray=function(V){for(var R,K=V.length,ce=K%3,D=[],I=16383,X=0,E=K-ce;XE?E:X+I));return 1===ce?D.push(W[(R=V[K-1])>>2]+W[R<<4&63]+"=="):2===ce&&D.push(W[(R=(V[K-2]<<8)+V[K-1])>>10]+W[R>>4&63]+W[R<<2&63]+"="),D.join("")};for(var W=[],j=[],P="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",z=0,v=Q.length;z0)throw new Error("Invalid string. Length must be a multiple of 4");var K=V.indexOf("=");return-1===K&&(K=R),[K,K===R?0:4-K%4]}function y(V){return W[V>>18&63]+W[V>>12&63]+W[V>>6&63]+W[63&V]}function S(V,R,K){for(var D=[],I=R;I>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function A(D){var I=this.lastTotal-this.lastNeed,X=function(D,I,X){if(128!=(192&I[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&I.length>1){if(128!=(192&I[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&I.length>2&&128!=(192&I[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==X?X:this.lastNeed<=D.length?(D.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,I,0,D.length),void(this.lastNeed-=D.length))}function S(D,I){if((D.length-I)%2==0){var X=D.toString("utf16le",I);if(X){var E=X.charCodeAt(X.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],X.slice(0,-1)}return X}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",I,D.length-1)}function T(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):I}function V(D,I){var X=(D.length-I)%3;return 0===X?D.toString("base64",I):(this.lastNeed=3-X,this.lastTotal=3,1===X?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",I,D.length-X))}function R(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function K(D){return D.toString(this.encoding)}function ce(D){return D&&D.length?this.write(D):""}he.StringDecoder=z,z.prototype.write=function(D){if(0===D.length)return"";var I,X;if(this.lastNeed){if(void 0===(I=this.fillLast(D)))return"";X=this.lastNeed,this.lastNeed=0}else X=0;return X=0?($>0&&(D.lastNeed=$-1),$):--E=0?($>0&&(D.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:D.lastNeed=$-3),$):0}(this,D,I);if(!this.lastNeed)return D.toString("utf8",I);this.lastTotal=X;var E=D.length-(X-this.lastNeed);return D.copy(this.lastChar,0,E),D.toString("utf8",I,E)},z.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),P=Y("ieee754");he.Buffer=x,he.SlowBuffer=function(L){return+L!=L&&(L=0),x.alloc(+L)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(L){if(L>Q)throw new RangeError('The value "'+L+'" is invalid for option "size"');var N=new Uint8Array(L);return N.__proto__=x.prototype,N}function x(L,N,B){if("number"==typeof L){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(L)}return O(L,N,B)}function O(L,N,B){if("string"==typeof L)return function(L,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!x.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var B=0|D(L,N),Re=v(B),Qe=Re.write(L,N);return Qe!==B&&(Re=Re.slice(0,Qe)),Re}(L,N);if(ArrayBuffer.isView(L))return T(L);if(null==L)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(pt(L,ArrayBuffer)||L&&pt(L.buffer,ArrayBuffer))return function(L,N,B){if(N<0||L.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|L}function D(L,N){if(x.isBuffer(L))return L.length;if(ArrayBuffer.isView(L)||pt(L,ArrayBuffer))return L.byteLength;if("string"!=typeof L)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);var B=L.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===B)return 0;for(var Qe=!1;;)switch(N){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return G(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return je(L).length;default:if(Qe)return Re?-1:G(L).length;N=(""+N).toLowerCase(),Qe=!0}}function I(L,N,B){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(N>>>=0))return"";for(L||(L="utf8");;)switch(L){case"hex":return tt(this,N,B);case"utf8":case"utf-8":return _e(this,N,B);case"ascii":return st(this,N,B);case"latin1":case"binary":return Xe(this,N,B);case"base64":return ne(this,N,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ye(this,N,B);default:if(Re)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),Re=!0}}function X(L,N,B){var Re=L[N];L[N]=L[B],L[B]=Re}function E(L,N,B,Re,Qe){if(0===L.length)return-1;if("string"==typeof B?(Re=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),ve(B=+B)&&(B=Qe?0:L.length-1),B<0&&(B=L.length+B),B>=L.length){if(Qe)return-1;B=L.length-1}else if(B<0){if(!Qe)return-1;B=0}if("string"==typeof N&&(N=x.from(N,Re)),x.isBuffer(N))return 0===N.length?-1:$(L,N,B,Re,Qe);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Qe?Uint8Array.prototype.indexOf.call(L,N,B):Uint8Array.prototype.lastIndexOf.call(L,N,B):$(L,[N],B,Re,Qe);throw new TypeError("val must be string, number or Buffer")}function $(L,N,B,Re,Qe){var Yn,St=1,Nt=L.length,On=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(L.length<2||N.length<2)return-1;St=2,Nt/=2,On/=2,B/=2}function kn(Ls,gs){return 1===St?Ls[gs]:Ls.readUInt16BE(gs*St)}if(Qe){var Ti=-1;for(Yn=B;YnNt&&(B=Nt-On),Yn=B;Yn>=0;Yn--){for(var wi=!0,Xr=0;XrQe&&(Re=Qe):Re=Qe;var St=N.length;Re>St/2&&(Re=St/2);for(var Nt=0;Nt>8,St.push(B%256),St.push(Re);return St}(N,L.length-B),L,B,Re)}function ne(L,N,B){return j.fromByteArray(0===N&&B===L.length?L:L.slice(N,B))}function _e(L,N,B){B=Math.min(L.length,B);for(var Re=[],Qe=N;Qe239?4:St>223?3:St>191?2:1;if(Qe+On<=B)switch(On){case 1:St<128&&(Nt=St);break;case 2:128==(192&(kn=L[Qe+1]))&&(wi=(31&St)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=L[Qe+2],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&(wi=(15&St)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=L[Qe+2],Ti=L[Qe+3],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&St)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Re.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Re.push(Nt),Qe+=On}return function(L){var N=L.length;if(N<=4096)return String.fromCharCode.apply(String,L);for(var B="",Re=0;ReB&&(N+=" ... "),""},x.prototype.compare=function(N,B,Re,Qe,St){if(pt(N,Uint8Array)&&(N=x.from(N,N.offset,N.byteLength)),!x.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===B&&(B=0),void 0===Re&&(Re=N?N.length:0),void 0===Qe&&(Qe=0),void 0===St&&(St=this.length),B<0||Re>N.length||Qe<0||St>this.length)throw new RangeError("out of range index");if(Qe>=St&&B>=Re)return 0;if(Qe>=St)return-1;if(B>=Re)return 1;if(this===N)return 0;for(var Nt=(St>>>=0)-(Qe>>>=0),On=(Re>>>=0)-(B>>>=0),kn=Math.min(Nt,On),Yn=this.slice(Qe,St),Ti=N.slice(B,Re),wi=0;wi>>=0,isFinite(Re)?(Re>>>=0,void 0===Qe&&(Qe="utf8")):(Qe=Re,Re=void 0)}var St=this.length-B;if((void 0===Re||Re>St)&&(Re=St),N.length>0&&(Re<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");for(var Nt=!1;;)switch(Qe){case"hex":return Z(this,N,B,Re);case"utf8":case"utf-8":return oe(this,N,B,Re);case"ascii":return se(this,N,B,Re);case"latin1":case"binary":return te(this,N,B,Re);case"base64":return Ce(this,N,B,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,B,Re);default:if(Nt)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),Nt=!0}},x.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(L,N,B){var Re="";B=Math.min(L.length,B);for(var Qe=N;QeRe)&&(B=Re);for(var Qe="",St=N;StB)throw new RangeError("Trying to access beyond buffer length")}function ke(L,N,B,Re,Qe,St){if(!x.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Qe||NL.length)throw new RangeError("Index out of range")}function Ke(L,N,B,Re,Qe,St){if(B+Re>L.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Me(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,4),P.write(L,N,B,Re,23,4),B+4}function Ve(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,8),P.write(L,N,B,Re,52,8),B+8}x.prototype.slice=function(N,B){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(B=void 0===B?Re:~~B)<0?(B+=Re)<0&&(B=0):B>Re&&(B=Re),B>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N+--B],St=1;B>0&&(St*=256);)Qe+=this[N+--B]*St;return Qe},x.prototype.readUInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),this[N]},x.prototype.readUInt16LE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]|this[N+1]<<8},x.prototype.readUInt16BE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]<<8|this[N+1]},x.prototype.readUInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},x.prototype.readUInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},x.prototype.readIntLE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt=(St*=128)&&(Qe-=Math.pow(2,8*B)),Qe},x.prototype.readIntBE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=B,St=1,Nt=this[N+--Qe];Qe>0&&(St*=256);)Nt+=this[N+--Qe]*St;return Nt>=(St*=128)&&(Nt-=Math.pow(2,8*B)),Nt},x.prototype.readInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},x.prototype.readInt16LE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt16BE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},x.prototype.readInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},x.prototype.readFloatLE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!0,23,4)},x.prototype.readFloatBE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!1,23,4)},x.prototype.readDoubleLE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!0,52,8)},x.prototype.readDoubleBE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!1,52,8)},x.prototype.writeUIntLE=function(N,B,Re,Qe){N=+N,B>>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=1,On=0;for(this[B]=255&N;++On>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=Re-1,On=1;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)this[B+Nt]=N/On&255;return B+Re},x.prototype.writeUInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,255,0),this[B]=255&N,B+1},x.prototype.writeUInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeUInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeUInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B+3]=N>>>24,this[B+2]=N>>>16,this[B+1]=N>>>8,this[B]=255&N,B+4},x.prototype.writeUInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeIntLE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=0,On=1,kn=0;for(this[B]=255&N;++Nt>0)-kn&255;return B+Re},x.prototype.writeIntBE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=Re-1,On=1,kn=0;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)N<0&&0===kn&&0!==this[B+Nt+1]&&(kn=1),this[B+Nt]=(N/On>>0)-kn&255;return B+Re},x.prototype.writeInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,127,-128),N<0&&(N=255+N+1),this[B]=255&N,B+1},x.prototype.writeInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),this[B]=255&N,this[B+1]=N>>>8,this[B+2]=N>>>16,this[B+3]=N>>>24,B+4},x.prototype.writeInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeFloatLE=function(N,B,Re){return Me(this,N,B,!0,Re)},x.prototype.writeFloatBE=function(N,B,Re){return Me(this,N,B,!1,Re)},x.prototype.writeDoubleLE=function(N,B,Re){return Ve(this,N,B,!0,Re)},x.prototype.writeDoubleBE=function(N,B,Re){return Ve(this,N,B,!1,Re)},x.prototype.copy=function(N,B,Re,Qe){if(!x.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Qe&&0!==Qe&&(Qe=this.length),B>=N.length&&(B=N.length),B||(B=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),N.length-B=0;--Nt)N[Nt+B]=this[Nt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Qe),B);return St},x.prototype.fill=function(N,B,Re,Qe){if("string"==typeof N){if("string"==typeof B?(Qe=B,B=0,Re=this.length):"string"==typeof Re&&(Qe=Re,Re=this.length),void 0!==Qe&&"string"!=typeof Qe)throw new TypeError("encoding must be a string");if("string"==typeof Qe&&!x.isEncoding(Qe))throw new TypeError("Unknown encoding: "+Qe);if(1===N.length){var St=N.charCodeAt(0);("utf8"===Qe&&St<128||"latin1"===Qe)&&(N=St)}}else"number"==typeof N&&(N&=255);if(B<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(Nt=B;Nt55295&&B<57344){if(!Qe){if(B>56319){(N-=3)>-1&&St.push(239,191,189);continue}if(Nt+1===Re){(N-=3)>-1&&St.push(239,191,189);continue}Qe=B;continue}if(B<56320){(N-=3)>-1&&St.push(239,191,189),Qe=B;continue}B=65536+(Qe-55296<<10|B-56320)}else Qe&&(N-=3)>-1&&St.push(239,191,189);if(Qe=null,B<128){if((N-=1)<0)break;St.push(B)}else if(B<2048){if((N-=2)<0)break;St.push(B>>6|192,63&B|128)}else if(B<65536){if((N-=3)<0)break;St.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;St.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return St}function je(L){return j.toByteArray(function(L){if((L=(L=L.split("=")[0]).trim().replace($e,"")).length<2)return"";for(;L.length%4!=0;)L+="=";return L}(L))}function _t(L,N,B,Re){for(var Qe=0;Qe=N.length||Qe>=L.length);++Qe)N[Qe+B]=L[Qe];return Qe}function pt(L,N){return L instanceof N||null!=L&&null!=L.constructor&&null!=L.constructor.name&&L.constructor.name===N.name}function ve(L){return L!=L}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((P,Q,z)=>P+(0===z?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((P,Q,z)=>void 0===j[Q]||"symbol"==typeof j[Q]?P:P+(0===P.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var P,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,oe){return Function.prototype.apply.call($,Z,oe)};P=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var z=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,oe){function se(Ce){E.removeListener($,te),oe(Ce)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",se),Z([].slice.call(arguments))}X(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&X(E,"error",$,Z)}(E,se,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var x=10;function O(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function A(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,oe){var se,te,Ce;if(O(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Ce=te[$]),void 0===Ce)Ce=te[$]=Z,++E._eventsCount;else if("function"==typeof Ce?Ce=te[$]=oe?[Z,Ce]:[Ce,Z]:oe?Ce.unshift(Z):Ce.push(Z),(se=A(E))>0&&Ce.length>se&&!Ce.warned){Ce.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Ce.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Ce.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var oe={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},se=y.bind(oe);return se.listener=Z,oe.wrapFn=se,se}function T(E,$,Z){var oe=E._events;if(void 0===oe)return[];var se=oe[$];return void 0===se?[]:"function"==typeof se?Z?[se.listener||se]:[se]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(se):R(se,se.length)}function V(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function R(E,$){for(var Z=new Array($),oe=0;oe<$;++oe)Z[oe]=E[oe];return Z}function X(E,$,Z,oe){if("function"==typeof E.on)oe.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function se(te){oe.once&&E.removeEventListener($,se),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(E){if("number"!=typeof E||E<0||z(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");x=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||z($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return A(this)},v.prototype.emit=function($){for(var Z=[],oe=1;oe0&&(Ce=Z[0]),Ce instanceof Error)throw Ce;var me=new Error("Unhandled error."+(Ce?" ("+Ce.message+")":""));throw me.context=Ce,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var _e=ne.length,Ie=R(ne,_e);for(oe=0;oe<_e;++oe)j(Ie[oe],this,Z)}return!0},v.prototype.on=v.prototype.addListener=function($,Z){return b(this,$,Z,!1)},v.prototype.prependListener=function($,Z){return b(this,$,Z,!0)},v.prototype.once=function($,Z){return O(Z),this.on($,S(this,$,Z)),this},v.prototype.prependOnceListener=function($,Z){return O(Z),this.prependListener($,S(this,$,Z)),this},v.prototype.off=v.prototype.removeListener=function($,Z){var oe,se,te,Ce,me;if(O(Z),void 0===(se=this._events))return this;if(void 0===(oe=se[$]))return this;if(oe===Z||oe.listener===Z)0==--this._eventsCount?this._events=Object.create(null):(delete se[$],se.removeListener&&this.emit("removeListener",$,oe.listener||Z));else if("function"!=typeof oe){for(te=-1,Ce=oe.length-1;Ce>=0;Ce--)if(oe[Ce]===Z||oe[Ce].listener===Z){me=oe[Ce].listener,te=Ce;break}if(te<0)return this;0===te?oe.shift():function(E,$){for(;$+1=0;se--)this.removeListener($,Z[se]);return this},v.prototype.listeners=function($){return T(this,$,!0)},v.prototype.rawListeners=function($){return T(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):V.call(E,$)},v.prototype.listenerCount=V,v.prototype.eventNames=function(){return this._eventsCount>0?P(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,P,Q,z){var v,x,O=8*z-Q-1,A=(1<>1,y=-7,S=P?z-1:0,T=P?-1:1,V=W[j+S];for(S+=T,v=V&(1<<-y)-1,V>>=-y,y+=O;y>0;v=256*v+W[j+S],S+=T,y-=8);for(x=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;x=256*x+W[j+S],S+=T,y-=8);if(0===v)v=1-b;else{if(v===A)return x?NaN:1/0*(V?-1:1);x+=Math.pow(2,Q),v-=b}return(V?-1:1)*x*Math.pow(2,v-Q)},he.write=function(W,j,P,Q,z,v){var x,O,A,b=8*v-z-1,y=(1<>1,T=23===z?Math.pow(2,-24)-Math.pow(2,-77):0,V=Q?0:v-1,R=Q?1:-1,K=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(O=isNaN(j)?1:0,x=y):(x=Math.floor(Math.log(j)/Math.LN2),j*(A=Math.pow(2,-x))<1&&(x--,A*=2),(j+=x+S>=1?T/A:T*Math.pow(2,1-S))*A>=2&&(x++,A/=2),x+S>=y?(O=0,x=y):x+S>=1?(O=(j*A-1)*Math.pow(2,z),x+=S):(O=j*Math.pow(2,S-1)*Math.pow(2,z),x=0));z>=8;W[P+V]=255&O,V+=R,O/=256,z-=8);for(x=x<0;W[P+V]=255&x,V+=R,x/=256,b-=8);W[P+V-R]|=128*K}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,P){P&&(j.super_=P,j.prototype=Object.create(P.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,P){if(P){j.super_=P;var Q=function(){};Q.prototype=P.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:P}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:z}=Y("./url"),v=Y("./JsonLdError"),x=Y("./ResolvedContext");function A(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const T=y["@context"];if(P(T))y["@context"]=z(S,T);else if(W(T))for(let V=0;V10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(R.has(T))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:T});let K,ce;R.add(T);try{ce=yield V(T),K=ce.document||null,P(K)&&(K=JSON.parse(K))}catch(D){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:T,cause:D})}if(!j(K))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:T});return K="@context"in K?{"@context":K["@context"]}:{"@context":{}},ce.contextUrl&&(W(K["@context"])||(K["@context"]=[K["@context"]]),K["@context"].push(ce.contextUrl)),{context:K,remoteDoc:ce}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",P="jsonld.Error",Q={}){super(j),this.name=P,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(P,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(P,Q)},j.expand=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(P)},j.flatten=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(P)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const P=this;return P._loader=j,function(){return P.add.apply(P,arguments)}}add(j){var P=this;return yt(function*(){let Q=P._requests[j];if(Q)return Promise.resolve(Q);Q=P._requests[j]=P._loader(j);try{return yield Q}finally{delete P._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,z){this.cache.set(Q,z)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isString:Q,isUndefined:z}=Y("./types"),{isList:v,isValue:x,isGraph:O,isSimpleGraph:A,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{removeBase:K,prependBase:ce}=Y("./url"),{addValue:D,asArray:I,compareShortestLeast:X}=Y("./util"),E={};function Z(oe,se,te){if("@nest"!==y(oe,se,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var oe=yt(function*({activeCtx:se,activeProperty:te=null,element:Ce,options:me={},compactionMap:ne=(()=>{})}){if(j(Ce)){let Ie=[];for(let Ge=0;Ge1&&(tt=Array.from(tt).sort());const Ye=se;for(const ke of tt){const Ke=E.compactIri({activeCtx:Ye,iri:ke,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");z(Me)||(se=yield V({activeCtx:se,localCtx:Me,options:me,propagate:!1}))}const Ue=Object.keys(Ce).sort();for(const ke of Ue){const Ke=Ce[ke];if("@id"!==ke)if("@type"!==ke)if("@reverse"!==ke)if("@preserve"!==ke)if("@index"!==ke)if("@graph"!==ke&&"@list"!==ke&&"@included"!==ke&&T(ke)){const Me=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:se,iri:ke,value:Ke,relativeTo:{vocab:!0},reverse:Ie}),Ve=se.mappings.has(Me)?se.mappings.get(Me)["@nest"]:null;let $e=Ge;Ve&&(Z(se,Ve,me),P(Ge[Ve])||(Ge[Ve]={}),$e=Ge[Ve]),D($e,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ve=E.compactIri({activeCtx:se,iri:ke,value:Me,relativeTo:{vocab:!0},reverse:Ie}),$e=se.mappings.has(Ve)?se.mappings.get(Ve)["@nest"]:null;let Ne=Ge;$e&&(Z(se,$e,me),P(Ge[$e])||(Ge[$e]={}),Ne=Ge[$e]);const q=S(se,Ve,"@container")||[],G=O(Me),pe=v(Me);let ue;pe?ue=Me["@list"]:G&&(ue=Me["@graph"]);let je=yield E.compact({activeCtx:se,activeProperty:Ve,element:pe||G?ue:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){D(Ne,Ve,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&A(Me))){let _t;Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&A(Me)?(j(je)&&je.length>1&&(je={"@included":je}),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={},q.includes("@language"))x(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const ve=S(se,Ve,"@index")||"@index",L=E.compactIri({activeCtx:se,iri:ve,relativeTo:{vocab:!0}});if("@index"===ve)pt=Me["@index"],delete je[L];else{let N;if([pt,...N]=I(je[ve]||[]),Q(pt))switch(N.length){case 0:delete je[ve];break;case 1:je[ve]=N[0];break;default:je[ve]=N}else pt=null}}else if(q.includes("@id")){const ve=E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});pt=je[ve],delete je[ve]}else if(q.includes("@type")){const ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let L;switch([pt,...L]=I(je[ve]||[]),L.length){case 0:delete je[ve];break;case 1:je[ve]=L[0];break;default:je[ve]=L}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:se,activeProperty:Ve,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===ke||"@graph"===ke;D(Ne,Ve,je,{propertyIsArray:_t})}}}else{if((S(se,te,"@container")||[]).includes("@index"))continue;const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Ke)}else{const Me=yield E.compact({activeCtx:se,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||D(Ge,ke,Me)}else{const Me=yield E.compact({activeCtx:se,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ve in Me)if(se.mappings.has(Ve)&&se.mappings.get(Ve).reverse){const $e=Me[Ve],q=(S(se,Ve,"@container")||[]).includes("@set")||!me.compactArrays;D(Ge,Ve,$e,{propertyIsArray:q}),delete Me[Ve]}if(Object.keys(Me).length>0){const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Me)}}else{let Me=I(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),q=(S(se,Ve,"@container")||[]).includes("@set")&&R(se,1.1)||j(Me)&&0===Ke.length;D(Ge,Ve,Me,{propertyIsArray:q})}else{let Me=I(Ke).map($e=>E.compactIri({activeCtx:se,iri:$e,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),Ge[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return Ge}return Ce});return function(se){return oe.apply(this,arguments)}}(),E.compactIri=({activeCtx:oe,iri:se,value:te=null,relativeTo:Ce={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===se)return se;oe.isPropertyTermScoped&&oe.previousContext&&(oe=oe.previousContext);const _e=oe.getInverse();if(T(se)&&se in _e&&"@none"in _e[se]&&"@type"in _e[se]["@none"]&&"@none"in _e[se]["@none"]["@type"])return _e[se]["@none"]["@type"]["@none"];if(Ce.vocab&&se in _e){const tt=oe["@language"]||"@none",Ye=[];P(te)&&"@index"in te&&!("@graph"in te)&&Ye.push("@index","@index@set"),P(te)&&"@preserve"in te&&(te=te["@preserve"][0]),O(te)?("@index"in te&&Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Ye.push("@graph@id","@graph@id@set"),Ye.push("@graph","@graph@set","@set"),"@index"in te||Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Ye.push("@graph@id","@graph@id@set")):P(te)&&!x(te)&&Ye.push("@id","@id@set","@type","@set@type");let Ue="@language",ke="@null";if(me)Ue="@type",ke="@reverse",Ye.push("@set");else if(v(te)){"@index"in te||Ye.push("@list");const Me=te["@list"];if(0===Me.length)Ue="@any",ke="@none";else{let Ve=0===Me.length?tt:null,$e=null;for(let Ne=0;Nest.includes("_"));Ge&&_e.push(Ge.replace(/^[^_]+_/,"_"))}_e.push("@none");const Ie=oe.inverse[se];for(const Ge of Ce){if(!(Ge in Ie))continue;const st=Ie[Ge][me];for(const Xe of _e)if(Xe in st)return st[Xe]}return null}(oe,se,te,Ye,Ue,ke);if(null!==Ke)return Ke}if(Ce.vocab&&"@vocab"in oe){const tt=oe["@vocab"];if(0===se.indexOf(tt)&&se!==tt){const Ye=se.substr(tt.length);if(!oe.mappings.has(Ye))return Ye}}let Ie=null;const Ge=[];let st=oe.fastCurieMap;const Xe=se.length-1;for(let tt=0;tt=0;--tt){const Ye=Ge[tt],Ue=Ye.terms;for(const ke of Ue){const Ke=ke+":"+se.substr(Ye.iri.length);oe.mappings.get(ke)._prefix&&(!oe.mappings.has(Ke)||null===te&&oe.mappings.get(Ke)["@id"]===se)&&(null===Ie||X(Ke,Ie)<0)&&(Ie=Ke)}}if(null!==Ie)return Ie;for(const[tt,Ye]of oe.mappings)if(Ye&&Ye._prefix&&se.startsWith(tt+":"))throw new W(`Absolute IRI "${se}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:oe});return Ce.vocab?se:"@base"in oe?oe["@base"]?K(ce(ne,oe["@base"]),se):se:K(ne,se)},E.compactValue=({activeCtx:oe,activeProperty:se,value:te,options:Ce})=>{if(x(te)){const Ie=S(oe,se,"@type"),Ge=S(oe,se,"@language"),st=S(oe,se,"@direction"),Xe=S(oe,se,"@container")||[],tt="@index"in te&&!Xe.includes("@index");if(!tt&&"@none"!==Ie&&(te["@type"]===Ie||"@language"in te&&te["@language"]===Ge&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===Ge||"@direction"in te&&te["@direction"]===st))return te["@value"];const Ye=Object.keys(te).length,Ue=1===Ye||2===Ye&&"@index"in te&&!tt,ke="@language"in oe,Ke=Q(te["@value"]),Me=oe.mappings.has(se)&&null===oe.mappings.get(se)["@language"];if(Ue&&"@none"!==Ie&&(!ke||!Ke||Me))return te["@value"];const Ve={};return tt&&(Ve[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ve[E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:oe,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ve[E.compactIri({activeCtx:oe,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ve}const me=y(oe,se,{vocab:!0},Ce),ne=S(oe,se,"@type"),_e=E.compactIri({activeCtx:oe,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Ce.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?_e:{[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]:_e}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:P,isObject:Q,isString:z,isUndefined:v}=Y("./types"),{isAbsolute:x,isRelative:O,prependBase:A}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,V=/^@[a-zA-Z]+$/,R={};function K(D,I,X,E,$,Z){if(null===I||!z(I)||R.isKeyword(I))return I;if(I.match(V))return null;if(E&&E.hasOwnProperty(I)&&!0!==$.get(I)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:I,defined:$,options:Z}),(X=X||{}).vocab){const se=D.mappings.get(I);if(null===se)return null;if(Q(se)&&"@id"in se)return se["@id"]}const oe=I.indexOf(":");if(oe>0){const se=I.substr(0,oe),te=I.substr(oe+1);if("_"===se||0===te.indexOf("//"))return I;E&&E.hasOwnProperty(se)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:se,defined:$,options:Z});const Ce=D.mappings.get(se);if(Ce&&Ce._prefix)return Ce["@id"]+te;if(x(I))return I}if(X.vocab&&"@vocab"in D)return D["@vocab"]+I;if(X.base&&"@base"in D){if(D["@base"])return A(A(Z.base,D["@base"]),I)}else if(X.base)return A(Z.base,I);return I}function ce(D,I){if(!D||"object"!=typeof D||!I||"object"!=typeof I)return D===I;const X=Array.isArray(D);if(X!==Array.isArray(I))return!1;if(X){if(D.length!==I.length)return!1;for(let Z=0;Z{if(E.has(X)){if(E.get(X))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:I,term:X})}let oe;if(E.set(X,!1),I.hasOwnProperty(X)&&(oe=I[X]),"@type"===X&&Q(oe)&&"@set"===(oe["@container"]||"@set")&&R.processingMode(D,1.1)){const Ie=["@container","@id","@protected"],Ge=Object.keys(oe);if(0===Ge.length||Ge.some(st=>!Ie.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X})}else{if(R.isKeyword(X))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X});if(X.match(V))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:X});if(""===X)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:I})}const se=D.mappings.get(X);D.mappings.has(X)&&D.mappings.delete(X);let te=!1;if((z(oe)||null===oe)&&(te=!0,oe={"@id":oe}),!Q(oe))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:I});const Ce={};D.mappings.set(X,Ce),Ce.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];R.processingMode(D,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Ie in oe)if(!me.includes(Ie))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Ie,"jsonld.SyntaxError",{code:"invalid term definition",context:I});const ne=X.indexOf(":");if(Ce._termHasColon=ne>0,"@reverse"in oe){if("@id"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});if("@nest"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});const Ie=oe["@reverse"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));const Ge=K(D,Ie,{vocab:!0,base:!1},I,E,$);if(!x(Ge))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ge,Ce.reverse=!0}else if("@id"in oe){let Ie=oe["@id"];if(Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(null===Ie)Ce["@id"]=null;else{if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));if(Ie!==X){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie)&&!R.isKeyword(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(X.match(/(?::[^:])|\//)&&K(D,X,{vocab:!0,base:!1},I,new Map(E).set(X,!0),$)!==Ie)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ie,Ce._prefix=te&&!Ce._termHasColon&&Ie.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ce))if(Ce._termHasColon){const Ie=X.substr(0,ne);if(I.hasOwnProperty(Ie)&&R.createTermDefinition({activeCtx:D,localCtx:I,term:Ie,defined:E,options:$}),D.mappings.has(Ie)){const Ge=X.substr(ne+1);Ce["@id"]=D.mappings.get(Ie)["@id"]+Ge}else Ce["@id"]=X}else if("@type"===X)Ce["@id"]=X;else{if(!("@vocab"in D))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I,term:X});Ce["@id"]=D["@vocab"]+X}if((!0===oe["@protected"]||!0===E.get("@protected")&&!1!==oe["@protected"])&&(D.protected[X]=!0,Ce.protected=!0),E.set(X,!0),"@type"in oe){let Ie=oe["@type"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if("@json"===Ie||"@none"===Ie){if(R.processingMode(D,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Ie}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else if("@id"!==Ie&&"@vocab"!==Ie){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if(0===Ie.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}Ce["@type"]=Ie}if("@container"in oe){const Ie=z(oe["@container"])?[oe["@container"]]:oe["@container"]||[],Ge=["@list","@set","@index","@language"];let st=!0;const Xe=Ie.includes("@set");if(R.processingMode(D,1.1)){if(Ge.push("@graph","@id","@type"),Ie.includes("@list")){if(1!==Ie.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else if(Ie.includes("@graph")){if(Ie.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else st&=Ie.length<=(Xe?2:1);if(Ie.includes("@type")&&(Ce["@type"]=Ce["@type"]||"@id",!["@id","@vocab"].includes(Ce["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else st&=!P(oe["@container"]),st&=Ie.length<=1;if(st&=Ie.every(tt=>Ge.includes(tt)),st&=!(Xe&&Ie.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ge.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:I});if(Ce.reverse&&!Ie.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});Ce["@container"]=Ie}if("@index"in oe){if(!("@container"in oe)||!Ce["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});if(!z(oe["@index"])||0===oe["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});Ce["@index"]=oe["@index"]}if("@context"in oe&&(Ce["@context"]=oe["@context"]),"@language"in oe&&!("@type"in oe)){let Ie=oe["@language"];if(null!==Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:I});null!==Ie&&(Ie=Ie.toLowerCase()),Ce["@language"]=Ie}if("@prefix"in oe){if(X.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:I});if(R.isKeyword(Ce["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:I});if("boolean"!=typeof oe["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:I});Ce._prefix=!0===oe["@prefix"]}if("@direction"in oe){const Ie=oe["@direction"];if(null!==Ie&&"ltr"!==Ie&&"rtl"!==Ie)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:I});Ce["@direction"]=Ie}if("@nest"in oe){const Ie=oe["@nest"];if(!z(Ie)||"@nest"!==Ie&&0===Ie.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:I});Ce["@nest"]=Ie}const _e=Ce["@id"];if("@context"===_e||"@preserve"===_e)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:I});if(se&&se.protected&&!Z&&(D.protected[X]=!0,Ce.protected=!0,!ce(se,Ce))){const Ie=$&&$.protectedMode||"error";if("error"===Ie)throw new j(`Invalid JSON-LD syntax; tried to redefine "${X}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:I,term:X});if("warn"===Ie)return void console.warn("WARNING: protected term redefinition",{term:X});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:I,term:X,protectedMode:Ie})}},R.expandIri=(D,I,X,E)=>K(D,I,X,void 0,void 0,E),R.getInitialContext=D=>{const I=JSON.stringify({processingMode:D.processingMode}),X=S.get(I);if(X)return X;const E={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ce=this;if(Ce.inverse)return Ce.inverse;const me=Ce.inverse={},ne=Ce.fastCurieMap={},_e={},Ie=(Ce["@language"]||"@none").toLowerCase(),Ge=Ce["@direction"],st=Ce.mappings,Xe=[...st.keys()].sort(y);for(const tt of Xe){const Ye=st.get(tt);if(null===Ye)continue;let Ue=Ye["@container"]||"@none";if(Ue=[].concat(Ue).sort().join(""),null===Ye["@id"])continue;const ke=b(Ye["@id"]);for(const Ke of ke){let Me=me[Ke];const Ve=R.isKeyword(Ke);if(Me)!Ve&&!Ye._termHasColon&&_e[Ke].push(tt);else if(me[Ke]=Me={},!Ve&&!Ye._termHasColon){_e[Ke]=[tt];const $e={iri:Ke,terms:_e[Ke]};Ke[0]in ne?ne[Ke[0]].push($e):ne[Ke[0]]=[$e]}if(Me[Ue]||(Me[Ue]={"@language":{},"@type":{},"@any":{}}),Me=Me[Ue],oe(tt,Me["@any"],"@none"),Ye.reverse)oe(tt,Me["@type"],"@reverse");else if("@none"===Ye["@type"])oe(tt,Me["@any"],"@none"),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none");else if("@type"in Ye)oe(tt,Me["@type"],Ye["@type"]);else if("@language"in Ye&&"@direction"in Ye){const $e=Ye["@language"],Ne=Ye["@direction"];oe(tt,Me["@language"],$e&&Ne?`${$e}_${Ne}`.toLowerCase():$e?$e.toLowerCase():Ne?`_${Ne}`:"@null")}else"@language"in Ye?oe(tt,Me["@language"],(Ye["@language"]||"@null").toLowerCase()):"@direction"in Ye?oe(tt,Me["@language"],Ye["@direction"]?`_${Ye["@direction"]}`:"@none"):Ge?(oe(tt,Me["@language"],`_${Ge}`),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none")):(oe(tt,Me["@language"],Ie),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Ce={};return Ce.mappings=W.clone(this.mappings),Ce.clone=this.clone,Ce.inverse=null,Ce.getInverse=this.getInverse,Ce.protected=W.clone(this.protected),this.previousContext&&(Ce.previousContext=this.previousContext.clone()),Ce.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ce["@base"]=this["@base"]),"@language"in this&&(Ce["@language"]=this["@language"]),"@vocab"in this&&(Ce["@vocab"]=this["@vocab"]),Ce},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(I,E),E;function Z(Ce,me,ne){const _e=Ce[me],Ie=Ce[me]={};let Ge,st;for(const Xe of _e)Ge=Xe.iri,st=ne>=Ge.length?"":Ge[ne],st in Ie?Ie[st].push(Xe):Ie[st]=[Xe];for(const Xe in Ie)""!==Xe&&Z(Ie,Xe,ne+1)}function oe(Ce,me,ne){me.hasOwnProperty(ne)||(me[ne]=Ce)}},R.getContextValue=(D,I,X)=>{if(null===I)return"@context"===X?void 0:null;if(D.mappings.has(I)){const E=D.mappings.get(I);if(v(X))return E;if(E.hasOwnProperty(X))return E[X]}return"@language"===X&&X in D||"@direction"===X&&X in D?D[X]:"@context"!==X?null:void 0},R.processingMode=(D,I)=>I.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+I.toString():"json-ld-1.0"===D.processingMode,R.isKeyword=D=>{if(!z(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:P}=Y("../constants"),Q=Y("../JsonLdError"),z=Y("../RequestQueue"),{prependBase:v}=Y("../url"),x=/(^|(\r\n))link:/i;function O(A,b,y){const S=new(A=A||XMLHttpRequest);return new Promise((T,V)=>{S.onload=()=>T(S),S.onerror=R=>V(R),S.open("GET",b,!0);for(const R in y)S.setRequestHeader(R,y[R]);S.send()})}Se.exports=({secure:A,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new z).wrapLoader(T);function T(R){return V.apply(this,arguments)}function V(){return(V=yt(function*(R){if(0!==R.indexOf("http:")&&0!==R.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:R});if(A&&0!==R.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:R});let K;try{K=yield O(y,R,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:R,cause:E})}if(K.status>=400)throw new Q("URL could not be dereferenced: "+K.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:R,httpStatusCode:K.status});let ce={contextUrl:null,documentUrl:R,document:K.response},D=null;const I=K.getResponseHeader("Content-Type");let X;if(x.test(K.getAllResponseHeaders())&&(X=K.getResponseHeader("Link")),X&&"application/ld+json"!==I){const E=W(X),$=E[P];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:R});$&&(ce.contextUrl=$.target),D=E.alternate,D&&"application/ld+json"==D.type&&!(I||"").match(/^application\/(\w*\+)?json$/)&&(ce=yield T(v(R,D.target)))}return ce})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isEmptyObject:Q,isString:z,isUndefined:v}=Y("./types"),{isList:x,isValue:O,isGraph:A,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{isAbsolute:K}=Y("./url"),{addValue:ce,asArray:D,getValues:I,validateTypeValue:X}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return oe.apply(this,arguments)}function oe(){return(oe=yt(function*({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:Ge,expandedParent:st,options:Xe={},insideList:tt,typeKey:Ye,typeScopedContext:Ue,expansionMap:ke}){const Ke=Object.keys(Ge).sort(),Me=[];let Ve;const $e=Ge[Ye]&&"@json"===y(ne,j(Ge[Ye])?Ge[Ye][0]:Ge[Ye],{vocab:!0},Xe);for(const Ne of Ke){let G,q=Ge[Ne];if("@context"===Ne)continue;let pe=y(ne,Ne,{vocab:!0},Xe);if((null===pe||!K(pe)&&!T(pe))&&(pe=ke({unmappedProperty:Ne,activeCtx:ne,activeProperty:_e,parent:Ge,options:Xe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(T(pe)){if("@reverse"===Ie)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!z(q)){if(!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(P(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>z(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ce(st,"@id",D(q).map(pt=>z(pt)?y(ne,pt,{base:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@type"===pe){P(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,ve])=>[y(Ue,pt,{vocab:!0}),D(ve).map(L=>y(Ue,L,{base:!0,vocab:!0}))]))),X(q,Xe.isFrame),ce(st,"@type",D(q).map(pt=>z(pt)?y(Ue,pt,{base:!0,vocab:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@included"===pe&&R(ne,1.1)){const pt=D(yield E.expand({activeCtx:ne,activeProperty:_e,element:q,options:Xe,expansionMap:ke}));if(!pt.every(ve=>b(ve)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ce(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!P(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ve=q,$e&&R(ne,1.1)?st["@value"]=q:ce(st,"@value",q,{propertyIsArray:Xe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=D(q).map(pt=>z(pt)?pt.toLowerCase():pt);for(const pt of q)z(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ce(st,"@language",q,{propertyIsArray:Xe.isFrame});continue}if("@direction"===pe){if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=D(q);for(const pt of q)if(z(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ce(st,"@direction",q,{propertyIsArray:Xe.isFrame});continue}if("@index"===pe){if(!z(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ce(st,"@index",q);continue}if("@reverse"===pe){if(!P(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Xe,expansionMap:ke}),"@reverse"in G)for(const ve in G["@reverse"])ce(st,ve,G["@reverse"][ve],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const ve in G){if("@reverse"===ve)continue;null===pt&&(pt=st["@reverse"]={}),ce(pt,ve,[],{propertyIsArray:!0});const L=G[ve];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=D(G).map(pt=>({"@graph":D(pt)}))),ue.mappings.has(Ne)&&ue.mappings.get(Ne).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=D(G);for(let ve=0;ve"@value"===y(ne,pe,{vocab:!0},Xe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:G,expandedParent:st,options:Xe,insideList:tt,typeScopedContext:Ue,typeKey:Ye,expansionMap:ke})}}})).apply(this,arguments)}function se({activeCtx:ne,activeProperty:_e,value:Ie,options:Ge}){if(null==Ie)return null;const st=y(ne,_e,{vocab:!0},Ge);if("@id"===st)return y(ne,Ie,{base:!0},Ge);if("@type"===st)return y(ne,Ie,{vocab:!0,base:!0},Ge);const Xe=S(ne,_e,"@type");if(("@id"===Xe||"@graph"===st)&&z(Ie))return{"@id":y(ne,Ie,{base:!0},Ge)};if("@vocab"===Xe&&z(Ie))return{"@id":y(ne,Ie,{vocab:!0,base:!0},Ge)};if(T(st))return Ie;const tt={};if(Xe&&!["@id","@vocab","@none"].includes(Xe))tt["@type"]=Xe;else if(z(Ie)){const Ye=S(ne,_e,"@language");null!==Ye&&(tt["@language"]=Ye);const Ue=S(ne,_e,"@direction");null!==Ue&&(tt["@direction"]=Ue)}return["boolean","number","string"].includes(typeof Ie)||(Ie=Ie.toString()),tt["@value"]=Ie,tt}function te(ne,_e,Ie,Ge){const st=[],Xe=Object.keys(_e).sort();for(const tt of Xe){const Ye=y(ne,tt,{vocab:!0},Ge);let Ue=_e[tt];j(Ue)||(Ue=[Ue]);for(const ke of Ue){if(null===ke)continue;if(!z(ke))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:_e});const Ke={"@value":ke};"@none"!==Ye&&(Ke["@language"]=tt.toLowerCase()),Ie&&(Ke["@direction"]=Ie),st.push(Ke)}}return st}function Ce(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:_e,activeProperty:Ie,value:Ge,expansionMap:st,asGraph:Xe,indexKey:tt,propertyIndex:Ye}){const Ue=[],ke=Object.keys(Ge).sort(),Ke="@type"===tt;for(let Me of ke){if(Ke){const Ne=S(ne,Me,"@context");v(Ne)||(ne=yield V({activeCtx:ne,localCtx:Ne,propagate:!1,options:_e}))}let $e,Ve=Ge[Me];j(Ve)||(Ve=[Ve]),Ve=yield E.expand({activeCtx:ne,activeProperty:Ie,element:Ve,options:_e,insideList:!1,insideIndex:!0,expansionMap:st}),$e=Ye?"@none"===Me?"@none":se({activeCtx:ne,activeProperty:tt,value:Me,options:_e}):y(ne,Me,{vocab:!0},_e),"@id"===tt?Me=y(ne,Me,{base:!0},_e):Ke&&(Me=$e);for(let Ne of Ve){if(Xe&&!A(Ne)&&(Ne={"@graph":[Ne]}),"@type"===tt)"@none"===$e||(Ne["@type"]=Ne["@type"]?[Me].concat(Ne["@type"]):[Me]);else{if(O(Ne)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ne});Ye?"@none"!==$e&&ce(Ne,Ye,$e,{propertyIsArray:!0,prependValue:!0}):"@none"!==$e&&!(tt in Ne)&&(Ne[tt]=Me)}Ue.push(Ne)}}return Ue})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:_e,activeProperty:Ie=null,element:Ge,options:st={},insideList:Xe=!1,insideIndex:tt=!1,typeScopedContext:Ye=null,expansionMap:Ue=(()=>{})}){if(null==Ge)return null;if("@default"===Ie&&(st=Object.assign({},st,{isFrame:!1})),!j(Ge)&&!P(Ge)){if(!Xe&&(null===Ie||"@graph"===y(_e,Ie,{vocab:!0},st))){const G=yield Ue({unmappedValue:Ge,activeCtx:_e,activeProperty:Ie,options:st,insideList:Xe});return void 0===G?null:G}return se({activeCtx:_e,activeProperty:Ie,value:Ge,options:st})}if(j(Ge)){let G=[];const pe=S(_e,Ie,"@container")||[];Xe=Xe||pe.includes("@list");for(let ue=0;ue1?ue.slice().sort():ue:[ue];for(const _t of je){const pt=S(Ye,_t,"@context");v(pt)||(_e=yield V({activeCtx:_e,localCtx:pt,options:st,propagate:!1}))}}let Ne={};yield Z({activeCtx:_e,activeProperty:Ie,expandedActiveProperty:ke,element:Ge,expandedParent:Ne,options:st,insideList:Xe,typeKey:$e,typeScopedContext:Ye,expansionMap:Ue}),Me=Object.keys(Ne);let q=Me.length;if("@value"in Ne){if("@type"in Ne&&("@language"in Ne||"@direction"in Ne))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});let G=q-1;if("@type"in Ne&&(G-=1),"@index"in Ne&&(G-=1),"@language"in Ne&&(G-=1),"@direction"in Ne&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});const pe=null===Ne["@value"]?[]:D(Ne["@value"]),ue=I(Ne,"@type");if(!R(_e,1.1)||!ue.includes("@json")||1!==ue.length)if(0===pe.length){const je=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==je?je:null}else{if(!pe.every(je=>z(je)||Q(je))&&"@language"in Ne)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ne});if(!ue.every(je=>K(je)&&!(z(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ne})}}else if("@type"in Ne&&!j(Ne["@type"]))Ne["@type"]=[Ne["@type"]];else if("@set"in Ne||"@list"in Ne){if(q>1&&(2!==q||!("@index"in Ne)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ne});"@set"in Ne&&(Ne=Ne["@set"],Me=Object.keys(Ne),q=Me.length)}else if(1===q&&"@language"in Ne){const G=yield Ue(Ne,{unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}if(P(Ne)&&!st.keepFreeFloatingNodes&&!Xe&&(null===Ie||"@graph"===ke)&&(0===q||"@value"in Ne||"@list"in Ne||1===q&&"@id"in Ne)){const G=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}return Ne});return function(_e){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),P={};Se.exports=P,P.flatten=Q=>{const z=j(Q),v=[],x=Object.keys(z).sort();for(let O=0;O=0;--oe){const se=Z[oe];if(se.graph===$&&se.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const oe="@"+Z;let se=oe in E?E[oe][0]:$[Z];if("embed"===Z)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return se}function T(E){if(!P.isArray(E)||1!==E.length||!P.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function R(E,$,Z,oe){let se=!0,te=!1;for(const Ce in Z){let me=!1;const ne=Q.getValues($,Ce),_e=0===Q.getValues(Z,Ce).length;if("@id"===Ce){if(P.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!oe.requireAll)return me}else if("@type"===Ce){if(se=!1,_e){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&P.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Ie of Z["@type"])me=!(!P.isObject(Ie)||!("@default"in Ie))||me||ne.some(Ge=>Ge===Ie);if(!oe.requireAll)return me}else{if(W(Ce))continue;{const Ie=Q.getValues(Z,Ce)[0];let Ge=!1;if(Ie&&(T([Ie]),Ge="@default"in Ie),se=!1,0===ne.length&&Ge)continue;if(ne.length>0&&_e)return!1;if(void 0===Ie){if(ne.length>0)return!1;me=!0}else if(j.isList(Ie)){const st=Ie["@list"][0];if(j.isList(ne[0])){const Xe=ne[0]["@list"];j.isValue(st)?me=Xe.some(tt=>X(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Xe.some(tt=>I(E,st,tt,oe)))}}else me=j.isValue(Ie)?ne.some(st=>X(Ie,st)):j.isSubjectReference(Ie)?ne.some(st=>I(E,Ie,st,oe)):!!P.isObject(Ie)&&ne.length>0}}if(!me&&oe.requireAll)return!1;te=te||me}return se||te}function K(E,$){const Z=E.uniqueEmbeds[E.graph],oe=Z[$],se=oe.parent,te=oe.property,Ce={"@id":$};if(P.isArray(se)){for(let ne=0;ne{const _e=Object.keys(Z);for(const Ie of _e)Ie in Z&&P.isObject(Z[Ie].parent)&&Z[Ie].parent["@id"]===ne&&(delete Z[Ie],me(Ie))};me($)}function ce(E,$){if(P.isArray(E))return E.map(Z=>ce(Z,$));if(P.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ce(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ce(E[Z],$)}return E}function D(E,$,Z){P.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function I(E,$,Z,oe){if(!("@id"in Z))return!1;const se=E.subjects[Z["@id"]];return se&&R(E,se,$,oe)}function X(E,$){const Z=$["@value"],oe=$["@type"],se=$["@language"],te=E["@value"]?P.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Ce=E["@type"]?P.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?P.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Ce.length&&0===me.length||!(!te.includes(Z)&&!P.isEmptyObject(te[0])||!(!oe&&0===Ce.length||Ce.includes(oe)||oe&&P.isEmptyObject(Ce[0]))||!(!se&&0===me.length||me.includes(se)||se&&P.isEmptyObject(me[0])))}Se.exports=A,A.frameMergedOrDefault=(E,$,Z)=>{const oe={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Q.IdentifierIssuer("_:b");x(E,oe.graphMap,"@default",se),Z.merged&&(oe.graphMap["@merged"]=O(oe.graphMap),oe.graph="@merged"),oe.subjects=oe.graphMap[oe.graph];const te=[];return A.frame(oe,Object.keys(oe.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(oe.bnodeMap).filter(Ce=>1===oe.bnodeMap[Ce].length)),Z.link={},ce(te,Z)},A.frame=(E,$,Z,oe,se=null)=>{T(Z);const te=E.options,Ce={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,oe){const se={};for(const te of $){const Ce=E.graphMap[E.graph][te];R(E,Ce,Z,oe)&&(se[te]=Ce)}return se}(E,$,Z,Ce),_e=Object.keys(ne).sort();for(const Ie of _e){const Ge=ne[Ie];if(null===se?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Ce.embed&&Ie in me){D(oe,se,me[Ie]);continue}const st={"@id":Ie};if(0===Ie.indexOf("_:")&&Q.addValue(E.bnodeMap,Ie,st,{propertyIsArray:!0}),me[Ie]=st,("@first"===Ce.embed||"@last"===Ce.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){if(E.embedded&&("@never"===Ce.embed||y(Ge,E.graph,E.subjectStack))){D(oe,se,st);continue}if(E.embedded&&("@first"==Ce.embed||"@once"==Ce.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){D(oe,se,st);continue}if("@last"===Ce.embed&&Ie in E.uniqueEmbeds[E.graph]&&K(E,Ie),E.uniqueEmbeds[E.graph][Ie]={parent:oe,property:se},E.subjectStack.push({subject:Ge,graph:E.graph}),Ie in E.graphMap){let Xe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Xe=!("@merged"===Ie||"@default"===Ie),P.isObject(tt)||(tt={})):(Xe="@merged"!==E.graph,tt={}),Xe&&A.frame(Sn(ot({},E),{graph:Ie,embedded:!1}),Object.keys(E.graphMap[Ie]).sort(),[tt],st,"@graph")}"@included"in Z&&A.frame(Sn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Xe of Object.keys(Ge).sort())if(W(Xe)){if(st[Xe]=Q.clone(Ge[Xe]),"@type"===Xe)for(const tt of Ge["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Ce.explicit||Xe in Z)for(const tt of Ge[Xe]){const Ye=Xe in Z?Z[Xe]:b(Ce);if(j.isList(tt)){const Ue=Z[Xe]&&Z[Xe][0]&&Z[Xe][0]["@list"]?Z[Xe][0]["@list"]:b(Ce),ke={"@list":[]};D(st,Xe,ke);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?A.frame(Sn(ot({},E),{embedded:!0}),[Me["@id"]],Ue,ke,"@list"):D(ke,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?A.frame(Sn(ot({},E),{embedded:!0}),[tt["@id"]],Ye,st,Xe):X(Ye[0],tt)&&D(st,Xe,Q.clone(tt))}for(const Xe of Object.keys(Z).sort()){if("@type"===Xe){if(!P.isObject(Z[Xe][0])||!("@default"in Z[Xe][0]))continue}else if(W(Xe))continue;const tt=Z[Xe][0]||{};if(!S(tt,te,"omitDefault")&&!(Xe in st)){let Ue="@null";"@default"in tt&&(Ue=Q.clone(tt["@default"])),P.isArray(Ue)||(Ue=[Ue]),st[Xe]=[{"@preserve":Ue}]}}for(const Xe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Xe];for(const Ye of Object.keys(E.subjects))Q.getValues(E.subjects[Ye],Xe).some(ke=>ke["@id"]===Ie)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Xe,[],{propertyIsArray:!0}),A.frame(Sn(ot({},E),{embedded:!0}),[Ye],tt,st["@reverse"][Xe],se))}D(oe,se,st),E.subjectStack.pop()}}},A.cleanupNull=(E,$)=>{if(P.isArray(E))return E.map(oe=>A.cleanupNull(oe,$)).filter(oe=>oe);if("@null"===E)return null;if(P.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=A.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),{RDF_LIST:z,RDF_FIRST:v,RDF_REST:x,RDF_NIL:O,RDF_TYPE:A,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:T,XSD_STRING:V}=Y("./constants"),R=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,K={};function ce(D,I,X){if(D.termType.endsWith("Node"))return{"@id":D.value};const E={"@value":D.value};if(D.language)E["@language"]=D.language;else{let $=D.datatype.value;if($||($=V),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(I){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(P.isNumeric(E["@value"]))if($===T){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,T,S,V].includes($)||(E["@type"]=$)}else if("i18n-datatype"===X&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,oe]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(R)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=oe}else $!==V&&(E["@type"]=$)}return E}Se.exports=K,K.fromRDF=function(){var D=yt(function*(I,{useRdfType:X=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},oe={"@default":Z},se={};for(const me of I){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in oe||(oe[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const _e=oe[ne],Ie=me.subject.value,Ge=me.predicate.value,st=me.object;Ie in _e||(_e[Ie]={"@id":Ie});const Xe=_e[Ie],tt=st.termType.endsWith("Node");if(tt&&!(st.value in _e)&&(_e[st.value]={"@id":st.value}),Ge===A&&!X&&tt){Q.addValue(Xe,"@type",st.value,{propertyIsArray:!0});continue}const Ye=ce(st,E,$);if(Q.addValue(Xe,Ge,Ye,{propertyIsArray:!0}),tt)if(st.value===O){const Ue=_e[st.value];"usages"in Ue||(Ue.usages=[]),Ue.usages.push({node:Xe,property:Ge,value:Ye})}else se[st.value]=!(st.value in se)&&{node:Xe,property:Ge,value:Ye}}for(const me in oe){const ne=oe[me];if(!(O in ne))continue;const _e=ne[O];if(_e.usages){for(let Ie of _e.usages){let Ge=Ie.node,st=Ie.property,Xe=Ie.value;const tt=[],Ye=[];let Ue=Object.keys(Ge).length;for(;st===x&&P.isObject(se[Ge["@id"]])&&P.isArray(Ge[v])&&1===Ge[v].length&&P.isArray(Ge[x])&&1===Ge[x].length&&(3===Ue||4===Ue&&P.isArray(Ge["@type"])&&1===Ge["@type"].length&&Ge["@type"][0]===z)&&(tt.push(Ge[v][0]),Ye.push(Ge["@id"]),Ie=se[Ge["@id"]],Ge=Ie.node,st=Ie.property,Xe=Ie.value,Ue=Object.keys(Ge).length,j.isBlankNode(Ge)););delete Xe["@id"],Xe["@list"]=tt.reverse();for(const ke of Ye)delete ne[ke]}delete _e.usages}}const te=[],Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me];if(me in oe){const _e=ne["@graph"]=[],Ie=oe[me],Ge=Object.keys(Ie).sort();for(const st of Ge){const Xe=Ie[st];j.isSubjectReference(Xe)||_e.push(Xe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(I,X){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=P=>!(!W.isObject(P)||"@value"in P||"@set"in P||"@list"in P)&&(Object.keys(P).length>1||!("@id"in P)),j.isSubjectReference=P=>W.isObject(P)&&1===Object.keys(P).length&&"@id"in P,j.isValue=P=>W.isObject(P)&&"@value"in P,j.isList=P=>W.isObject(P)&&"@list"in P,j.isGraph=P=>W.isObject(P)&&"@graph"in P&&1===Object.keys(P).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=P=>j.isGraph(P)&&!("@id"in P),j.isBlankNode=P=>!!W.isObject(P)&&("@id"in P?0===P["@id"].indexOf("_:"):0===Object.keys(P).length||!("@value"in P||"@set"in P||"@list"in P))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),P=Y("./util"),Q=Y("./ContextResolver"),z=P.IdentifierIssuer,v=Y("./JsonLdError"),x=Y("lru-cache"),O=Y("./NQuads"),{expand:A}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:T,cleanupNull:V}=Y("./frame"),{isArray:R,isObject:K,isString:ce}=Y("./types"),{isSubjectReference:D}=Y("./graphTypes"),{expandIri:I,getInitialContext:X,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:oe}=Y("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ce}=Y("./nodeMap"),me=function(_e){const Ie={},st=new x({max:100});function Xe(tt,ke){var Ke=ke,{documentLoader:Ye=_e.documentLoader}=Ke,Ue=Uq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Ye},Ue,tt)}return _e.compact=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Ue)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Ye)return null;let Ke;(ke=Xe(ke,{base:ce(Ye)?Ye:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new z("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(ke.skipExpansion=!0),ke.compactToRelative||delete ke.base,Ke=ke.skipExpansion?Ye:yield _e.expand(Ye,ke);const Me=yield _e.processContext(X(ke),Ue,ke);let Ve=yield Z({activeCtx:Me,element:Ke,options:ke,compactionMap:ke.compactionMap});ke.compactArrays&&!ke.graph&&R(Ve)?1===Ve.length?Ve=Ve[0]:0===Ve.length&&(Ve={}):ke.graph&&K(Ve)&&(Ve=[Ve]),K(Ue)&&"@context"in Ue&&(Ue=Ue["@context"]),Ue=P.clone(Ue),R(Ue)||(Ue=[Ue]);const $e=Ue;Ue=[];for(let q=0;q<$e.length;++q)(!K($e[q])||Object.keys($e[q]).length>0)&&Ue.push($e[q]);const Ne=Ue.length>0;if(1===Ue.length&&(Ue=Ue[0]),R(Ve)){const q=oe({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ve;Ve={},Ne&&(Ve["@context"]=Ue),Ve[q]=G}else if(K(Ve)&&Ne){const q=Ve;Ve={"@context":Ue};for(const G in q)Ve[G]=q[G]}return Ve});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.expand=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Ue=Xe(Ue,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(Ue.expansionMap=void 0);const ke={},Ke=[];if("expandContext"in Ue){const Ne=P.clone(Ue.expandContext);ke.expandContext=K(Ne)&&"@context"in Ne?Ne:{"@context":Ne},Ke.push(ke.expandContext)}let Me;if(ce(Ye)){const Ne=yield _e.get(Ye,Ue);Me=Ne.documentUrl,ke.input=Ne.document,Ne.contextUrl&&(ke.remoteContext={"@context":Ne.contextUrl},Ke.push(ke.remoteContext))}else ke.input=P.clone(Ye);"base"in Ue||(Ue.base=Me||"");let Ve=X(Ue);for(const Ne of Ke)Ve=yield E({activeCtx:Ve,localCtx:Ne,options:Ue});let $e=yield A({activeCtx:Ve,element:ke.input,options:Ue,expansionMap:Ue.expansionMap});return K($e)&&"@graph"in $e&&1===Object.keys($e).length?$e=$e["@graph"]:null===$e&&($e=[]),R($e)||($e=[$e]),$e});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.flatten=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const Ke=yield _e.expand(Ye,ke),Me=b(Ke);return null===Ue?Me:(ke.graph=!0,ke.skipExpansion=!0,yield _e.compact(Me,Ue,ke))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.frame=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(ke=Xe(ke,{base:ce(Ye)?Ye:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ce(Ue)){const ue=yield _e.get(Ue,ke);if(Ue=ue.document,ue.contextUrl){let je=Ue["@context"];je?R(je)?je.push(ue.contextUrl):je=[je,ue.contextUrl]:je=ue.contextUrl,Ue["@context"]=je}}const Ke=Ue&&Ue["@context"]||{},Me=yield _e.processContext(X(ke),Ke,ke);ke.hasOwnProperty("omitGraph")||(ke.omitGraph=$(Me,1.1)),ke.hasOwnProperty("pruneBlankNodeIdentifiers")||(ke.pruneBlankNodeIdentifiers=$(Me,1.1));const Ve=yield _e.expand(Ye,ke),$e=ot({},ke);$e.isFrame=!0,$e.keepFreeFloatingNodes=!0;const Ne=yield _e.expand(Ue,$e),q=Object.keys(Ue).map(ue=>I(Me,ue,{vocab:!0}));$e.merged=!q.includes("@graph"),$e.is11=$(Me,1.1);const G=T(Ve,Ne,$e);$e.graph=!ke.omitGraph,$e.skipExpansion=!0,$e.link={},$e.framing=!0;let pe=yield _e.compact(G,Ke,$e);return $e.link={},pe=V(pe,$e),pe});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.link=function(){var tt=yt(function*(Ye,Ue,ke){const Ke={};return Ue&&(Ke["@context"]=Ue),Ke["@embed"]="@link",_e.frame(Ye,Ke,ke)});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.normalize=_e.canonize=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==Ue.inputFormat&&"application/nquads"!==Ue.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=O.parse(Ye);return W.canonize(Me,Ue)}const ke=ot({},Ue);delete ke.format,ke.produceGeneralizedRdf=!1;const Ke=yield _e.toRDF(Ye,ke);return W.canonize(Ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.fromRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Ue=Xe(Ue,{format:ce(Ye)?"application/n-quads":void 0});const{format:ke}=Ue;let{rdfParser:Ke}=Ue;if(ke){if(Ke=Ke||Ie[ke],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:ke})}else Ke=()=>Ye;const Me=yield Ke(Ye);return y(Me,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.toRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let ke;ke=(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Ye:yield _e.expand(Ye,Ue);const Ke=S(ke,Ue);if(Ue.format){if("application/n-quads"===Ue.format||"application/nquads"===Ue.format)return O.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:Ue.format})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.createNodeMap=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Ue=Xe(Ue,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const ke=yield _e.expand(Ye,Ue);return te(ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.merge=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!R(Ye))throw new TypeError('Could not merge, "docs" must be an array.');Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Ye.map(ue=>{const je=ot({},ke);return _e.expand(ue,je)}));let Me=!0;"mergeNodes"in ke&&(Me=ke.mergeNodes);const Ve=ke.issuer||new z("_:b"),$e={"@default":{}};for(let ue=0;ue_e._documentLoader,set:tt=>_e._documentLoader=tt}),_e.documentLoader=function(){var tt=yt(function*(Ye){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Ye})});return function(Ye){return tt.apply(this,arguments)}}(),_e.get=function(){var tt=yt(function*(Ye,Ue){let ke;ke="function"==typeof Ue.documentLoader?Ue.documentLoader:_e.documentLoader;const Ke=yield ke(Ye);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ce(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.processContext=function(){var tt=yt(function*(Ye,Ue,ke){return ke=Xe(ke,{base:"",contextResolver:new Q({sharedCache:st})}),null===Ue?X(ke):(Ue=P.clone(Ue),K(Ue)&&"@context"in Ue||(Ue={"@context":Ue}),E({activeCtx:Ye,localCtx:Ue,options:ke}))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.getContextValue=Y("./context").getContextValue,_e.documentLoaders={},_e.useDocumentLoader=function(tt){if(!(tt in _e.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});_e.documentLoader=_e.documentLoaders[tt].apply(_e,Array.prototype.slice.call(arguments,1))},_e.registerRDFParser=function(tt,Ye){Ie[tt]=Ye},_e.unregisterRDFParser=function(tt){delete Ie[tt]},_e.registerRDFParser("application/n-quads",O.parse),_e.registerRDFParser("application/nquads",O.parse),_e.url=Y("./url"),_e.util=P,Object.assign(_e,P),_e.promises=_e,_e.RequestQueue=Y("./RequestQueue"),_e.JsonLdProcessor=Y("./JsonLdProcessor")(_e),j.setupGlobals(_e),j.setupDocumentLoaders(_e),_e},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),z=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(x,O)=>{const A=(O=O||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(x,b,"@default",A),v.mergeNodeMaps(b)},v.createNodeMap=(x,O,A,b,y,S)=>{if(P.isArray(x)){for(const K of x)v.createNodeMap(K,O,A,b,void 0,S);return}if(!P.isObject(x))return void(S&&S.push(x));if(j.isValue(x)){if("@type"in x){let K=x["@type"];0===K.indexOf("_:")&&(x["@type"]=K=b.getId(K))}return void(S&&S.push(x))}if(S&&j.isList(x)){const K=[];return v.createNodeMap(x["@list"],O,A,b,y,K),void S.push({"@list":K})}if("@type"in x){const K=x["@type"];for(const ce of K)0===ce.indexOf("_:")&&b.getId(ce)}P.isUndefined(y)&&(y=j.isBlankNode(x)?b.getId(x["@id"]):x["@id"]),S&&S.push({"@id":y});const T=O[A],V=T[y]=T[y]||{};V["@id"]=y;const R=Object.keys(x).sort();for(let K of R){if("@id"===K)continue;if("@reverse"===K){const D={"@id":y},I=x["@reverse"];for(const X in I){const E=I[X];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,O,A,b,Z),Q.addValue(T[Z],X,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===K){y in O||(O[y]={}),v.createNodeMap(x[K],O,y,b);continue}if("@included"===K){v.createNodeMap(x[K],O,A,b);continue}if("@type"!==K&&W(K)){if("@index"===K&&K in V&&(x[K]!==V[K]||x[K]["@id"]!==V[K]["@id"]))throw new z("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:V});V[K]=x[K];continue}const ce=x[K];if(0===K.indexOf("_:")&&(K=b.getId(K)),0!==ce.length)for(let D of ce)if("@type"===K&&(D=0===D.indexOf("_:")?b.getId(D):D),j.isSubject(D)||j.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const I=j.isBlankNode(D)?b.getId(D["@id"]):D["@id"];Q.addValue(V,K,{"@id":I},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(D,O,A,b,I)}else if(j.isValue(D))Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(D)){const I=[];v.createNodeMap(D["@list"],O,A,b,y,I),D={"@list":I},Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(D,O,A,b,y),Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(V,K,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=x=>{const O={};for(const A of Object.keys(x).sort())for(const b of Object.keys(x[A]).sort()){const y=x[A][b];b in O||(O[b]={"@id":b});const S=O[b];for(const T of Object.keys(y).sort())if(W(T)&&"@type"!==T)S[T]=Q.clone(y[T]);else for(const V of y[T])Q.addValue(S,T,Q.clone(V),{propertyIsArray:!0,allowDuplicate:!1})}return O},v.mergeNodeMaps=x=>{const O=x["@default"],A=Object.keys(x).sort();for(const b of A){if("@default"===b)continue;const y=x[b];let S=O[b];S?"@graph"in S||(S["@graph"]=[]):O[b]=S={"@id":b,"@graph":[]};const T=S["@graph"];for(const V of Object.keys(y).sort()){const R=y[V];j.isSubjectReference(R)||T.push(R)}}return O}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(P){"undefined"!=typeof XMLHttpRequest&&(P.documentLoaders.xhr=W,P.useDocumentLoader("xhr"))},j.setupGlobals=function(P){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:P.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),P=Y("./graphTypes"),Q=Y("canonicalize"),z=Y("./types"),v=Y("./util"),{RDF_FIRST:x,RDF_REST:O,RDF_NIL:A,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:T,XSD_DOUBLE:V,XSD_INTEGER:R,XSD_STRING:K}=Y("./constants"),{isAbsolute:ce}=Y("./url"),D={};function I($,Z,oe,se,te){const Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me],_e=Object.keys(ne).sort();for(let Ie of _e){const Ge=ne[Ie];if("@type"===Ie)Ie=b;else if(j(Ie))continue;for(const st of Ge){const Xe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ce(me))continue;const tt={termType:Ie.startsWith("_:")?"BlankNode":"NamedNode",value:Ie};if(!ce(Ie)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Ye=E(st,se,$,oe,te.rdfDirection);Ye&&$.push({subject:Xe,predicate:tt,object:Ye,graph:oe})}}}}function E($,Z,oe,se,te){const Ce={};if(P.isValue($)){Ce.termType="Literal",Ce.value=void 0,Ce.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Ce.value=Q(me),Ce.datatype.value=y):z.isBoolean(me)?(Ce.value=me.toString(),Ce.datatype.value=ne||T):z.isDouble(me)||ne===V?(z.isDouble(me)||(me=parseFloat(me)),Ce.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ce.datatype.value=ne||V):z.isNumber(me)?(Ce.value=me.toFixed(0),Ce.datatype.value=ne||R):"i18n-datatype"===te&&"@direction"in $?(Ce.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Ce.value=me):"@language"in $?(Ce.value=me,Ce.datatype.value=ne||S,Ce.language=$["@language"]):(Ce.value=me,Ce.datatype.value=ne||K)}else if(P.isList($)){const me=function($,Z,oe,se,te){const Ce={termType:"NamedNode",value:x},me={termType:"NamedNode",value:O},ne={termType:"NamedNode",value:A},_e=$.pop(),Ie=_e?{termType:"BlankNode",value:Z.getId()}:ne;let Ge=Ie;for(const st of $){const Xe=E(st,Z,oe,se,te),tt={termType:"BlankNode",value:Z.getId()};oe.push({subject:Ge,predicate:Ce,object:Xe,graph:se}),oe.push({subject:Ge,predicate:me,object:tt,graph:se}),Ge=tt}if(_e){const st=E(_e,Z,oe,se,te);oe.push({subject:Ge,predicate:Ce,object:st,graph:se}),oe.push({subject:Ge,predicate:me,object:ne,graph:se})}return Ie}($["@list"],Z,oe,se,te);Ce.termType=me.termType,Ce.value=me.value}else{const me=z.isObject($)?$["@id"]:$;Ce.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Ce.value=me}return"NamedNode"!==Ce.termType||ce(Ce.value)?Ce:null}Se.exports=D,D.toRDF=($,Z)=>{const oe=new v.IdentifierIssuer("_:b"),se={"@default":{}};W($,se,"@default",oe);const te=[],Ce=Object.keys(se).sort();for(const me of Ce){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ce(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}I(te,se[me],ne,oe,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,z)=>{const v={},x=j.parsers[z||"full"],O=x.regex.exec(Q);let A=x.keys.length;for(;A--;)v[x.keys[A]]=void 0===O[A]?null:O[A];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,z)=>{if(null===Q||j.isAbsolute(z))return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(z),x={protocol:Q.protocol||""};if(null!==v.authority)x.authority=v.authority,x.path=v.path,x.query=v.query;else if(x.authority=Q.authority,""===v.path)x.path=Q.path,x.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))x.path=v.path;else{let A=Q.path;A=A.substr(0,A.lastIndexOf("/")+1),(A.length>0||Q.authority)&&"/"!==A.substr(-1)&&(A+="/"),A+=v.path,x.path=A}x.query=v.query}""!==v.path&&(x.path=j.removeDotSegments(x.path));let O=x.protocol;return null!==x.authority&&(O+="//"+x.authority),O+=x.path,null!==x.query&&(O+="?"+x.query),null!==v.fragment&&(O+="#"+v.fragment),""===O&&(O="./"),O},j.removeBase=(Q,z)=>{if(null===Q)return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):z.indexOf("//")&&(v+="//"),0!==z.indexOf(v))return z;const x=j.parse(z.substr(v.length)),O=Q.normalizedPath.split("/"),A=x.normalizedPath.split("/"),b=x.fragment||x.query?0:1;for(;O.length>0&&A.length>b&&O[0]===A[0];)O.shift(),A.shift();let y="";if(O.length>0){O.pop();for(let S=0;S{if(0===Q.length)return"";const z=Q.split("/"),v=[];for(;z.length>0;){const x=z.shift(),O=0===z.length;"."!==x?".."!==x?v.push(x):(v.pop(),O&&v.push("")):O&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const P=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&P.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),P=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),z=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,x=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,O_headers={accept:"application/ld+json, application/json"},A={};function b(y,S){if(j.isArray(S))for(let T=0;T{if(Object.keys(y).some(T=>"accept"===T.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+O_headers.accept+'" is supported.');return Object.assign({Accept:O_headers.accept},y)},A.parseLinkHeader=y=>{const S={},T=y.match(z);for(let V=0;V{if(!(j.isString(y)||j.isArray(y)&&y.every(T=>j.isString(T)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&A.asArray(y["@default"]).every(T=>j.isString(T)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},A.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const T=y[S];return!j.isArray(T)||T.length>0}return!1},A.hasValue=(y,S,T)=>{if(A.hasProperty(y,S)){let V=y[S];const R=W.isList(V);if(j.isArray(V)||R){R&&(V=V["@list"]);for(let K=0;K{if("propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1),"valueIsArray"in V||(V.valueIsArray=!1),"allowDuplicate"in V||(V.allowDuplicate=!0),"prependValue"in V||(V.prependValue=!1),V.valueIsArray)y[S]=T;else if(j.isArray(T)){0===T.length&&V.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),V.prependValue&&(T=T.concat(y[S]),y[S]=[]);for(let R=0;R[].concat(y[S]||[]),A.removeProperty=(y,S)=>{delete y[S]},A.removeValue=(y,S,T,V)=>{"propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1);const R=A.getValues(y,S).filter(K=>!A.compareValues(K,T));0===R.length?A.removeProperty(y,S):y[S]=1!==R.length||V.propertyIsArray?R:R[0]},A.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new P("_:b"),y),A.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],A.compareShortestLeast=(y,S)=>y.length1;const V=(X,E,$)=>{const Z=X[b].get(E);if(Z){const oe=Z.value;if(R(X,oe)){if(ce(X,Z),!X[z])return}else $&&(X[y]&&(Z.value.now=Date.now()),X[A].unshiftNode(Z));return oe.value}},R=(X,E)=>{if(!E||!E.maxAge&&!X[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:X[v]&&$>X[v]},K=X=>{if(X[P]>X[j])for(let E=X[A].tail;X[P]>X[j]&&null!==E;){const $=E.prev;ce(X,E),E=$}},ce=(X,E)=>{if(E){const $=E.value;X[x]&&X[x]($.key,$.value),X[P]-=$.length,X[b].delete($.key),X[A].removeNode(E)}};class D{constructor(E,$,Z,oe,se){this.key=E,this.value=$,this.length=Z,this.now=oe,this.maxAge=se||0}}const I=(X,E,$,Z)=>{let oe=$.value;R(X,oe)&&(ce(X,$),X[z]||(oe=void 0)),oe&&E.call(Z,oe.value,oe.key,X)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[z]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[x]=E.dispose,this[O]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,K(this)}get max(){return this[j]}set allowStale(E){this[z]=!!E}get allowStale(){return this[z]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,K(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[P]=0,this[A].forEach($=>{$.length=this[Q]($.value,$.key),this[P]+=$.length})),K(this)}get lengthCalculator(){return this[Q]}get length(){return this[P]}get itemCount(){return this[A].length}rforEach(E,$){$=$||this;for(let Z=this[A].tail;null!==Z;){const oe=Z.prev;I(this,E,Z,$),Z=oe}}forEach(E,$){$=$||this;for(let Z=this[A].head;null!==Z;){const oe=Z.next;I(this,E,Z,$),Z=oe}}keys(){return this[A].toArray().map(E=>E.key)}values(){return this[A].toArray().map(E=>E.value)}reset(){this[x]&&this[A]&&this[A].length&&this[A].forEach(E=>this[x](E.key,E.value)),this[b]=new Map,this[A]=new W,this[P]=0}dump(){return this[A].map(E=>!R(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[A]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const oe=Z?Date.now():0,se=this[Q]($,E);if(this[b].has(E)){if(se>this[j])return ce(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[x]&&(this[O]||this[x](E,me.value)),me.now=oe,me.maxAge=Z,me.value=$,this[P]+=se-me.length,me.length=se,this.get(E),K(this),!0}const te=new D(E,$,se,oe,Z);return te.length>this[j]?(this[x]&&this[x](E,$),!1):(this[P]+=te.length,this[A].unshift(te),this[b].set(E,this[A].head),K(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!R(this,$)}get(E){return V(this,E,!0)}peek(E){return V(this,E,!1)}pop(){const E=this[A].tail;return E?(ce(this,E),E.value):null}del(E){ce(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const oe=E[Z],se=oe.e||0;if(0===se)this.set(oe.k,oe.v);else{const te=se-$;te>0&&this.set(oe.k,oe.v,te)}}}prune(){this[b].forEach((E,$)=>V(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",P="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${P}reify#forSome`,forAll:`${P}reify#forAll`},log:{implies:`${P}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function D(ne,_e){if(_e=_e||b,!ne)return _e.defaultGraph();switch(ne[0]){case"?":return _e.variable(ne.substr(1));case"_":return _e.blankNode(ne.substr(2));case'"':if(_e===b)return new V(ne);if('"'===ne[ne.length-1])return _e.literal(ne.substr(1,ne.length-2));const Ie=ne.lastIndexOf('"',ne.length-1);return _e.literal(ne.substr(1,Ie-1),"@"===ne[Ie+1]?ne.substr(Ie+2):_e.namedNode(ne.substr(Ie+3)));case"<":const Ge=A.exec(ne);return _e.quad(D($(Ge[1]),_e),D($(Ge[2]),_e),D($(Ge[3]),_e),Ge[4]&&D($(Ge[4]),_e));default:return _e.namedNode(ne)}},he.termToId=function I(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==z.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(I(ne.subject))} ${E(I(ne.predicate))} ${E(I(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${I(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:z}=W.default;let v,x=0;const O=/^"(.*".*)(?="[^"]*$)/,A=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new T(ne)},blankNode:function(ne){return new R(ne||"n3-"+x++)},variable:function(ne){return new K(ne)},literal:function(ne,_e){if("string"==typeof _e)return new V(`"${ne}"@${_e.toLowerCase()}`);let Ie=_e?_e.value:"";return""===Ie&&("boolean"==typeof ne?Ie=z.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Ie=Number.isInteger(ne)?z.integer:z.double:(Ie=z.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new V(""===Ie||Ie===z.string?`"${ne}"`:`"${ne}"^^${Ie}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(_e){this.id=_e}get value(){return this.id}equals(_e){return _e instanceof S?this.id===_e.id:!!_e&&this.termType===_e.termType&&this.value===_e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class T extends S{get termType(){return"NamedNode"}}he.NamedNode=T;class V extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const _e=this.id;let Ie=_e.lastIndexOf('"')+1;return Ie<_e.length&&"@"===_e[Ie++]?_e.substr(Ie).toLowerCase():""}get datatype(){return new T(this.datatypeString)}get datatypeString(){const _e=this.id,Ie=_e.lastIndexOf('"')+1,Ge=Ie<_e.length?_e[Ie]:"";return"^"===Ge?_e.substr(Ie+2):"@"!==Ge?z.string:Q.langString}equals(_e){return _e instanceof V?this.id===_e.id:!!_e&&!!_e.datatype&&this.termType===_e.termType&&this.value===_e.value&&this.language===_e.language&&this.datatype.value===_e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}he.Literal=V;class R extends S{constructor(_e){super(`_:${_e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}he.BlankNode=R;class K extends S{constructor(_e){super(`?${_e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}he.Variable=K;class ce extends S{constructor(){return super(""),v||this}get termType(){return"DefaultGraph"}equals(_e){return this===_e||!!_e&&this.termType===_e.termType}}he.DefaultGraph=ce,v=new ce;class X extends S{constructor(_e,Ie,Ge,st){super(""),this._subject=_e,this._predicate=Ie,this._object=Ge,this._graph=st||v}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(_e){return!!_e&&this._subject.equals(_e.subject)&&this._predicate.equals(_e.predicate)&&this._object.equals(_e.object)&&this._graph.equals(_e.graph)}}function E(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/"/g,'""')}`)}function $(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/""/g,'"')}`)}function me(ne,_e,Ie,Ge){return new X(ne,_e,Ie,Ge)}he.Triple=he.Quad=X},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),P=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:z}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,x={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},O=/[\x00-\x20<>\\"\{\}\|\^\`]/,A={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(T){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(T=T||{}).lineMode){this._n3Mode=!1;for(const V in this)!(V in A)&&this[V]instanceof RegExp&&(this[V]=b)}else this._n3Mode=!1!==T.n3;this._comments=!!T.comments,this._literalClosingPos=0}_tokenizeToEnd(T,V){let R=this._input,K=R.length;for(;;){let I,X;for(;I=this._newline.exec(R);)this._comments&&(X=this._comment.exec(I[0]))&&ce("comment",X[1],"",this._line,I[0].length),R=R.substr(I[0].length,R.length),K=R.length,this._line++;if(!I&&(I=this._whitespace.exec(R))&&(R=R.substr(I[0].length,R.length)),this._endOfFile.test(R))return V&&(this._comments&&(X=this._comment.exec(R))&&ce("comment",X[1],"",this._line,R.length),R=null,ce("eof","","",this._line,0)),this._input=R;const E=this._line,$=R[0];let Z="",oe="",se="",te=null,Ce=0,me=!1;switch($){case"^":if(R.length<3)break;if("^"!==R[1]){this._n3Mode&&(Ce=1,Z="^");break}if(this._previousMarker="^^",R=R.substr(2),"<"!==R[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(R))Z="IRI",oe=te[1];else if(te=this._iri.exec(R)){if(oe=this._unescape(te[1]),null===oe||O.test(oe))return D(this);Z="IRI"}else R.length>1&&"<"===R[1]?(Z="<<",Ce=2):this._n3Mode&&R.length>1&&"="===R[1]&&(Z="inverse",Ce=2,oe=">");break;case">":R.length>1&&">"===R[1]&&(Z=">>",Ce=2);break;case"_":((te=this._blank.exec(R))||V&&(te=this._blank.exec(`${R} `)))&&(Z="blank",se="_",oe=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(R))&&(Z="var",oe=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(R))?(Z="langcode",oe=te[1]):(te=this._keyword.exec(R))&&(Z=te[0]);break;case".":if(1===R.length?V:R[1]<"0"||R[1]>"9"){Z=".",Ce=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(R)||V&&(te=this._number.exec(`${R} `)))&&(Z="literal",oe=te[0],se="string"==typeof te[1]?z.double:"string"==typeof te[2]?z.decimal:z.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(R))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(R))?(Z="literal",oe=te[0],se=z.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(R))?(Z="abbreviation",oe="a"):me=!0;break;case"=":this._n3Mode&&R.length>1&&(Z="abbreviation",">"!==R[1]?(Ce=1,oe="="):(Ce=2,oe=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ce=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(R))?((te=this._prefixed.exec(R))||V&&(te=this._prefixed.exec(`${R} `)))&&(Z="prefixed",se=te[1]||"",oe=this._unescape(te[2])):(Z="prefix",oe=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return V||!/^'''|^"""/.test(R)&&/\n|\r/.test(R)?D(this):this._input=R;const ne=Ce||te[0].length,_e=ce(Z,oe,se,E,ne);this.previousToken=_e,this._previousMarker=Z,R=R.substr(ne,R.length)}function ce(I,X,E,$,Z){const oe=R?K-R.length:K,te={type:I,value:X,prefix:E,line:$,start:oe,end:oe+Z};return T(null,te),te}function D(I){T(I._syntaxError(/^\S*/.exec(R)[0]))}}_unescape(T){let V=!1;const R=T.replace(v,(K,ce,D,I)=>{if("string"==typeof ce)return String.fromCharCode(Number.parseInt(ce,16));if("string"==typeof D){let X=Number.parseInt(D,16);return X<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((X-=65536)>>10),56320+(1023&X))}return I in x?x[I]:(V=!0,"")});return V?null:R}_parseLiteral(T){if(T.length>=3){const V=T.match(/^(?:"""|"|'''|'|)/)[0],R=V.length;let K=Math.max(this._literalClosingPos,R);for(;(K=T.indexOf(V,K))>0;){let ce=0;for(;"\\"===T[K-ce-1];)ce++;if(ce%2==0){const D=T.substring(R,K),I=D.split(/\r\n|\r|\n/).length-1,X=K+R;if(1===R&&0!==I||3===R&&this._lineMode)break;return this._line+=I,{value:this._unescape(D),matchLength:X}}K++}this._literalClosingPos=T.length-R+1}return{value:"",matchLength:0}}_syntaxError(T){this._input=null;const V=new Error(`Unexpected "${T}" on line ${this._line}.`);return V.context={token:void 0,line:this._line,previousToken:this.previousToken},V}_readStartingBom(T){return T.startsWith("\ufeff")?T.substr(1):T}tokenize(T,V){if(this._line=1,"string"==typeof T){if(this._input=this._readStartingBom(T),"function"!=typeof V){const R=[];let K;if(this._tokenizeToEnd((ce,D)=>ce?K=ce:R.push(D),!0),K)throw K;return R}(0,P.default)(()=>this._tokenizeToEnd(V,!0))}else this._pendingBuffer=null,"function"==typeof T.setEncoding&&T.setEncoding("utf8"),T.on("data",R=>{null!==this._input&&0!==R.length&&(this._pendingBuffer&&(R=W.concat([this._pendingBuffer,R]),this._pendingBuffer=null),128&R[R.length-1]?this._pendingBuffer=R:(void 0===this._input?this._input=this._readStartingBom("string"==typeof R?R:R.toString()):this._input+=R,this._tokenizeToEnd(V,!1)))}),T.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(V,!0)}),T.on("error",V)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),P=Q(Y("./IRIs"));function Q(A){return A&&A.__esModule?A:{default:A}}let z=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&O(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),T=/trig/.test(y),V=/triple/.test(y),R=/quad/.test(y),K=this._n3Mode=/n3/.test(y),ce=V||R;(this._supportsNamedGraphs=!(S||K))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||T||V||K),this._supportsRDFStar=""===y||/star|\*$/.test(y),ce&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ce,n3:K}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){z=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,T,V){const R=this._n3Mode;this._contextStack.push({subject:S,predicate:T,object:V,graph:y,type:b,inverse:!!R&&this._inversePredicate,blankPrefix:R?this._prefixes._:"",quantified:R?this._quantified:null}),R&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const T=this._resolveIRI(b.value);if(null===T)return this._error("Invalid IRI",b);S=this._namedNode(T);break;case"type":case"prefixed":const V=this._prefixes[b.prefix];if(void 0===V)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(V+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,T=this._readListItem;const V=this._subject,R=this._contextStack,K=R[R.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),T=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==R.length&&"list"===R[R.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(T=this._readPredicate,this._subject===this.RDF_NIL)return T}else if(T=this._getContextEndReader(),this._object===this.RDF_NIL)return T;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,T=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),T=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===V?null===K.predicate?K.subject=S:K.object=S:this._emit(V,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return T}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const T=this._subject,V=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,V&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==T){const R=this._predicate,K=this._object;V?this._emit(K,R,T,S):this._emit(T,R,K,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const T=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,T,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const T=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=T):(y=this._object,this._object=T),this._emit(y,S,T,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,T;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(T=this._subject,this._subject=y):(T=this._object,this._object=y),this._emit(y,S,T,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,T){this._callback(null,this._quad(b,y,S,T||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=x}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",T=-1,V=-1,R=0,K="/";for(;T=V&&(S=S.substr(0,R)),"/"!==K)return`${S}/${b.substr(T+1)}`;R=T+1}}}K=b[++T]}return S+b.substring(R)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${z++}_`,this._prefixCallback=S||x,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const T=[];let V;if(this._callback=(R,K)=>{R?V=R:K&&T.push(K)},this._lexer.tokenize(b).every(R=>this._readCallback=this._readCallback(R)),V)throw V;return T}this._callback=y,this._lexer.tokenize(b,(T,V)=>{null!==T?(this._callback(T),this._callback=x):this._readCallback&&(this._readCallback=this._readCallback(V))})}}function x(){}function O(A,b){const y=b.namedNode;A._namedNode=y,A._blankNode=b.blankNode,A._literal=b.literal,A._variable=b.variable,A._quad=b.quad,A.DEFAULTGRAPH=b.defaultGraph(),A.RDF_FIRST=y(P.default.rdf.first),A.RDF_REST=y(P.default.rdf.rest),A.RDF_NIL=y(P.default.rdf.nil),A.N3_FORALL=y(P.default.r.forAll),A.N3_FORSOME=y(P.default.r.forSome),A.ABBREVIATIONS={a:y(P.default.rdf.type),"=":y(P.default.owl.sameAs),">":y(P.default.log.implies)},A.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,O(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=z(y);if(S&&S.has(b))return S.get(b);var T={},V=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in b)if("default"!==R&&Object.prototype.hasOwnProperty.call(b,R)){var K=V?Object.getOwnPropertyDescriptor(b,R):null;K&&(K.get||K.set)?Object.defineProperty(T,R,K):T[R]=b[R]}return T.default=b,S&&S.set(b,T),T}(Y("./N3DataFactory")),j=Y("readable-stream"),P=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function z(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(z=function(T){return T?S:y})(b)}class x{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let T,V;for(const R in S)for(const K in T=S[R].subjects)for(const ce in V=T[K])y+=Object.keys(V[ce]).length;return this._size=y}_addToIndex(y,S,T,V){const R=y[S]||(y[S]={}),K=R[T]||(R[T]={}),ce=V in K;return ce||(K[V]=null),!ce}_removeFromIndex(y,S,T,V){const R=y[S],K=R[T];delete K[V];for(const ce in K)return;delete R[T];for(const ce in R)return;delete y[S]}*_findInIndex(y,S,T,V,R,K,ce,D){let I,X,E;const Z=!S+!T+!V>1?Object.keys(this._ids):this._entities,oe=(0,W.termFromId)(D,this._factory);S&&((I=y,y={})[S]=I[S]);for(const se in y){const te=Z[se];if(X=y[se]){T&&((I=X,X={})[T]=I[T]);for(const Ce in X){const me=Z[Ce];if(E=X[Ce]){const ne=V?V in E?[V]:[]:Object.keys(E);for(let _e=0;_e{T in S||(S[T]=!0,y((0,W.termFromId)(this._entities[T],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);let R=this._graphs[V];R||(R=this._graphs[V]={subjects:{},predicates:{},objects:{}},Object.freeze(R));const K=this._ids,ce=this._entities;y=K[y]||(K[ce[++this._id]=y]=this._id),S=K[S]||(K[ce[++this._id]=S]=this._id),T=K[T]||(K[ce[++this._id]=T]=this._id);const D=this._addToIndex(R.subjects,y,S,T);return this._addToIndex(R.predicates,S,T,y),this._addToIndex(R.objects,T,y,S),this._size=null,D}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);const R=this._ids,K=this._graphs;let ce,D,I;if(!((y=R[y])&&(S=R[S])&&(T=R[T])&&(ce=K[V])&&(D=ce.subjects[y])&&(I=D[S])&&T in I))return!1;for(y in this._removeFromIndex(ce.subjects,y,S,T),this._removeFromIndex(ce.predicates,S,T,y),this._removeFromIndex(ce.objects,T,y,S),null!==this._size&&this._size--,ce.subjects)return!0;return delete K[V],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,T,V){const R=new j.Readable({objectMode:!0});return R._read=()=>{for(const K of this.readQuads(y,S,T,V))R.push(K);R.push(null)},this.remove(R)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,T,V){return[...this.readQuads(y,S,T,V)]}*readQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let ce,D,I,X;if(!(O(y)&&!(D=K[y])||O(S)&&!(I=K[S])||O(T)&&!(X=K[T])))for(const E in R)(ce=R[E])&&(D?X?yield*this._findInIndex(ce.objects,X,D,I,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,D,I,null,"subject","predicate","object",E,null,!0):I?yield*this._findInIndex(ce.predicates,I,X,null,"predicate","object","subject",E,null,!0):X?yield*this._findInIndex(ce.objects,X,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,T,V){return new A(this,y,S,T,V)}countQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let D,I,X,E,ce=0;if(O(y)&&!(I=K[y])||O(S)&&!(X=K[S])||O(T)&&!(E=K[T]))return 0;for(const $ in R)(D=R[$])&&(ce+=y?T?this._countInIndex(D.objects,E,I,X):this._countInIndex(D.subjects,I,X,E):S?this._countInIndex(D.predicates,X,E,I):this._countInIndex(D.objects,E,I,X));return ce}forEach(y,S,T,V,R){this.some(K=>(y(K),!1),S,T,V,R)}every(y,S,T,V,R){let K=!1;const ce=!this.some(D=>(K=!0,!y(D)),S,T,V,R);return K&&ce}some(y,S,T,V,R){for(const K of this.readQuads(S,T,V,R))if(y(K))return!0;return!1}getSubjects(y,S,T){const V=[];return this.forSubjects(R=>{V.push(R)},y,S,T),V}forSubjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.predicates,D,I,y):this._loopByKey1(ce.subjects,D,y):I?this._loopByKey0(ce.objects,I,y):this._loop(ce.subjects,y))}getPredicates(y,S,T){const V=[];return this.forPredicates(R=>{V.push(R)},y,S,T),V}forPredicates(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.objects,I,D,y):this._loopByKey0(ce.subjects,D,y):I?this._loopByKey1(ce.predicates,I,y):this._loop(ce.predicates,y))}getObjects(y,S,T){const V=[];return this.forObjects(R=>{V.push(R)},y,S,T),V}forObjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.subjects,D,I,y):this._loopByKey1(ce.objects,D,y):I?this._loopByKey0(ce.predicates,I,y):this._loop(ce.objects,y))}getGraphs(y,S,T){const V=[];return this.forGraphs(R=>{V.push(R)},y,S,T),V}forGraphs(y,S,T,V){for(const R in this._graphs)this.some(K=>(y(K.graph),!0),S,T,V,R)}createBlankNode(y){let S,T;if(y)for(S=y=`_:${y}`,T=1;this._ids[S];)S=y+T++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const T={},V=S?()=>!0:(ce,D)=>{throw new Error(`${ce.value} ${D}`)},R=this.getQuads(null,P.default.rdf.rest,P.default.rdf.nil,null),K=y?[...R]:[];return R.forEach(ce=>{const D=[];let X,E,I=!1;const $=ce.graph;let Z=ce.subject;for(;Z&&!I;){const oe=this.getQuads(null,null,Z,null),se=this.getQuads(Z,null,null,null);let te,Ce=null,me=null,ne=null;for(let _e=0;_e{switch(b){case"data":O=y;break;case"end":A=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{O(b),S()},this._flush=b=>{A(),b()}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var z,W=Y("readable-stream"),j=(z=Y("./N3Writer"))&&z.__esModule?z:{default:z};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const x=this._writer=new j.default({write:(O,A,b)=>{this.push(O),b&&b()},end:O=>{this.push(null),O&&O()}},v);this._transform=(O,A,b)=>{x.addQuad(O,b)},this._flush=O=>{x.end(O)}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),v.on("prefix",(x,O)=>{this._writer.addPrefix(x,O)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return x(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=x,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function x(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const T=Object.create(null);for(const R in y)V(R,y[R]);function V(R,K){if("string"==typeof K){const ce=Object.create(null);T[R]=D=>ce[D]||(ce[D]=S.namedNode(K+D))}else if(!(R in T))throw new Error(`Unknown prefix: ${R}`);return T[R]}return S=S||W.default,V}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ce,W=(ce=Y("./IRIs"))&&ce.__esModule?ce:{default:ce},j=function(ce,D){if(!D&&ce&&ce.__esModule)return ce;if(null===ce||"object"!=typeof ce&&"function"!=typeof ce)return{default:ce};var I=Q(D);if(I&&I.has(ce))return I.get(ce);var X={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ce)if("default"!==$&&Object.prototype.hasOwnProperty.call(ce,$)){var Z=E?Object.getOwnPropertyDescriptor(ce,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(X,$,Z):X[$]=ce[$]}return X.default=ce,I&&I.set(ce,X),X}(Y("./N3DataFactory")),P=Y("./N3Util");function Q(ce){if("function"!=typeof WeakMap)return null;var D=new WeakMap,I=new WeakMap;return(Q=function(X){return X?I:D})(ce)}const x=j.default.defaultGraph(),{rdf:O,xsd:A}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class T extends j.Term{equals(){return!1}}function R(ce){let D=S[ce];return void 0===D&&(1===ce.length?(D=ce.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*(ce.charCodeAt(0)-55296)+ce.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function K(ce){return ce.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(D,I){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(I=D,D=null),this._lists=(I=I||{}).lists,D)this._outputStream=D,this._endStream=void 0===I.end||!!I.end;else{let X="";this._outputStream={write(E,$,Z){X+=E,Z&&Z()},end:E=>{E&&E(null,X)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(I.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=x,this._prefixIRIs=Object.create(null),I.prefixes&&this.addPrefixes(I.prefixes),I.baseIRI&&(this._baseMatcher=new RegExp(`^${K(I.baseIRI)}${I.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=I.baseIRI.length))}get _inDefaultGraph(){return x.equals(this._graph)}_write(D,I){this._outputStream.write(D,"utf8",I)}_writeQuad(D,I,X,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(x.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),D.equals(this._subject)?I.equals(this._predicate)?this._write(`, ${this._encodeObject(X)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(D,I,X,E,$){delete this._prefixMatch,this._write(this.quadToString(D,I,X,E),$)}quadToString(D,I,X,E){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(I)} ${this._encodeObject(X)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(D){return D.map(I=>this.quadToString(I.subject,I.predicate,I.object,I.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let I=D.value;this._baseMatcher&&this._baseMatcher.test(I)&&(I=I.substr(this._baseLength)),b.test(I)&&(I=I.replace(y,R));const X=this._prefixRegex.exec(I);return X?X[1]?this._prefixIRIs[X[1]]+X[2]:I:`<${I}>`}_encodeLiteral(D){let I=D.value;if(b.test(I)&&(I=I.replace(y,R)),D.language)return`"${I}"@${D.language}`;if(this._lineMode){if(D.datatype.value===A.string)return`"${I}"`}else switch(D.datatype.value){case A.string:return`"${I}"`;case A.boolean:if("true"===I||"false"===I)return I;break;case A.integer:if(/^[+-]?\d+$/.test(I))return I;break;case A.decimal:if(/^[+-]?\d*\.\d+$/.test(I))return I;break;case A.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(I))return I}return`"${I}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===O.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:I,object:X,graph:E}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(I)} ${this._encodeObject(X)}${(0,P.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,I,X,E,$){void 0===X?this._writeQuad(D.subject,D.predicate,D.object,D.graph,I):"function"==typeof E?this._writeQuad(D,I,X,x,E):this._writeQuad(D,I,X,E||x,$)}addQuads(D){for(let I=0;I.\n`)}if(X){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=K(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(X?"\n":"",I)}blank(D,I){let E,$,X=D;switch(void 0===D?X=[]:D.termType?X=[{predicate:D,object:I}]:"length"in D||(X=[D]),$=X.length){case 0:return new T("[]");case 1:if(E=X[0],!(E.object instanceof T))return new T(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let oe=0;oe<$;oe++)E=X[oe],E.predicate.equals(D)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(oe?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,D=E.predicate);return new T(`${Z}\n]`)}}list(D){const I=D&&D.length||0,X=new Array(I);for(let E=0;E{I=null,D(X,E)});if(this._endStream)try{return this._outputStream.end(I)}catch(X){}I&&I()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return O.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return O.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return O.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return O.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return O.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return O.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return O.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return O.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return P.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return O.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return O.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),P=y(Y("./N3Writer")),Q=y(Y("./N3Store")),z=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),x=b(Y("./N3Util"));he.Util=x;var O=b(Y("./N3DataFactory"));function A(T){if("function"!=typeof WeakMap)return null;var V=new WeakMap,R=new WeakMap;return(A=function(K){return K?R:V})(T)}function b(T,V){if(!V&&T&&T.__esModule)return T;if(null===T||"object"!=typeof T&&"function"!=typeof T)return{default:T};var R=A(V);if(R&&R.has(T))return R.get(T);var K={},ce=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in T)if("default"!==D&&Object.prototype.hasOwnProperty.call(T,D)){var I=ce?Object.getOwnPropertyDescriptor(T,D):null;I&&(I.get||I.set)?Object.defineProperty(K,D,I):K[D]=T[D]}return K.default=T,R&&R.set(T,K),K}function y(T){return T&&T.__esModule?T:{default:T}}he.default={Lexer:W.default,Parser:j.default,Writer:P.default,Store:Q.default,StreamParser:z.default,StreamWriter:v.default,Util:x,DataFactory:O.default,Term:O.Term,NamedNode:O.NamedNode,Literal:O.Literal,BlankNode:O.BlankNode,Variable:O.Variable,DefaultGraph:O.DefaultGraph,Quad:O.Quad,Triple:O.Triple,termFromId:O.termFromId,termToId:O.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,P,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}function v(K){if(j===setTimeout)return setTimeout(K,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(K,0);try{return j(K,0)}catch(ce){try{return j.call(null,K,0)}catch(D){return j.call(this,K,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(K){j=Q}try{P="function"==typeof clearTimeout?clearTimeout:z}catch(K){P=z}}();var b,O=[],A=!1,y=-1;function S(){!A||!b||(A=!1,b.length?O=b.concat(O):y=-1,O.length&&T())}function T(){if(!A){var K=v(S);A=!0;for(var ce=O.length;ce;){for(b=O,O=[];++y1)for(var D=1;D(j||(j=Promise.resolve())).then(P).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class zq{constructor(j,P=new Map,Q=0){this.prefix=j,this._existing=P,this.counter=Q}clone(){const{prefix:j,_existing:P,counter:Q}=this;return new zq(j,new Map(P),Q)}getId(j){const P=j&&this._existing.get(j);if(P)return P;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(P){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===P)this.algorithm={name:"SHA-256"};else{if("sha1"!==P)throw new Error(`Unsupport algorithm "${P}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(P){this._content+=P}digest(){var P=this;return yt(function*(){const Q=(new TextEncoder).encode(P._content),z=new Uint8Array(yield W.subtle.digest(P.algorithm,Q));let v="";for(let x=0;x]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class l2{static parse(K){const ce=[],D={},I=K.split(A.eoln);let X=0;for(const E of I){if(X++,A.empty.test(E))continue;const $=E.match(A.quad);if(null===$)throw new Error("N-Quads parse error on line "+X+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:z,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:z,value:$[3]},void 0!==$[4]?Z.object={termType:z,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:x,value:void 0,datatype:{termType:z}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=P,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(T,function(K,ce,D,I){if(ce)switch(ce){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(I)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:z,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:O,value:""},Z.graph.value in D){let oe=!0;const se=D[Z.graph.value];for(const te of se)if(b(te,Z)){oe=!1;break}oe&&(se.push(Z),ce.push(Z))}else D[Z.graph.value]=[Z],ce.push(Z)}return ce}static serialize(K){Array.isArray(K)||(K=l2.legacyDatasetToQuads(K));const ce=[];for(const D of K)ce.push(l2.serializeQuad(D));return ce.sort().join("")}static serializeQuad(K){const ce=K.subject,I=K.object,X=K.graph;let E="";return E+=ce.termType===z?`<${ce.value}>`:`${ce.value}`,E+=` <${K.predicate.value}> `,I.termType===z?E+=`<${I.value}>`:I.termType===v?E+=I.value:(E+=`"${R=I.value,R.replace(y,function(K){switch(K){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,I.datatype.value===P?I.language&&(E+=`@${I.language}`):I.datatype.value!==Q&&(E+=`^^<${I.datatype.value}>`)),X.termType===z?E+=` <${X.value}>`:X.termType===v&&(E+=` ${X.value}`),E+=" .\n",E;var R}static legacyDatasetToQuads(K){const ce=[],D={"blank node":v,IRI:z,literal:x};for(const I in K)K[I].forEach(E=>{const $={};for(const Z in E){const oe=E[Z],se={termType:D[oe.type],value:oe.value};se.termType===x&&(se.datatype={termType:z},"datatype"in oe&&(se.datatype.value=oe.datatype),"language"in oe?("datatype"in oe||(se.datatype.value=P),se.language=oe.language):"datatype"in oe||(se.datatype.value=Q)),$[Z]=se}$.graph="@default"===I?{termType:O,value:""}:{termType:I.startsWith("_:")?v:z,value:I},ce.push($)});return ce}};const y=/["\\\n\r]/g;const T=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let P=0;Pz)&&(b&&O>0&&A>j[O-1]||!b&&Oj[O+1])&&(z=A,v=O)}if(null===z)this.done=!0;else{const O=P.get(z)?v-1:v+1;j[v]=j[O],j[O]=z;for(const A of j)A>z&&P.set(A,!P.get(A))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),P=Y("./MessageDigest"),Q=Y("./Permuter"),z=Y("./NQuads");function v(x,O){return x.hashO.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(O){var A=this;return yt(function*(){A.quads=O;for(const K of O)A._addBlankNodeQuadInfo({quad:K,component:K.subject}),A._addBlankNodeQuadInfo({quad:K,component:K.object}),A._addBlankNodeQuadInfo({quad:K,component:K.graph});const b=new Map,y=[...A.blankNodeInfo.keys()];let S=0;for(const K of y)++S%100==0&&(yield A._yield()),yield A._hashAndTrackBlankNode({id:K,hashToBlankNodes:b});const T=[...b.keys()].sort(),V=[];for(const K of T){const ce=b.get(K);ce.length>1?V.push(ce):A.canonicalIssuer.getId(ce[0])}for(const K of V){const ce=[];for(const D of K){if(A.canonicalIssuer.hasId(D))continue;const I=new j("_:b");I.getId(D);const X=yield A.hashNDegreeQuads(D,I);ce.push(X)}ce.sort(v);for(const D of ce){const I=D.issuer.getOldIds();for(const X of I)A.canonicalIssuer.getId(X)}}const R=[];for(const K of A.quads){const ce=ot({},K);ce.subject=A._useCanonicalId({component:ce.subject}),ce.object=A._useCanonicalId({component:ce.object}),ce.graph=A._useCanonicalId({component:ce.graph}),R.push(z.serializeQuad(ce))}return R.sort(),R.join("")})()}hashFirstDegreeQuads(O){var A=this;return yt(function*(){const b=[],y=A.blankNodeInfo.get(O),S=y.quads;for(const V of S){const R={subject:null,predicate:V.predicate,object:null,graph:null};R.subject=A.modifyFirstDegreeComponent(O,V.subject,"subject"),R.object=A.modifyFirstDegreeComponent(O,V.object,"object"),R.graph=A.modifyFirstDegreeComponent(O,V.graph,"graph"),b.push(z.serializeQuad(R))}b.sort();const T=new P(A.hashAlgorithm);for(const V of b)T.update(V);return y.hash=yield T.digest(),y.hash})()}hashRelatedBlankNode(O,A,b,y){var S=this;return yt(function*(){let T;T=S.canonicalIssuer.hasId(O)?S.canonicalIssuer.getId(O):b.hasId(O)?b.getId(O):S.blankNodeInfo.get(O).hash;const V=new P(S.hashAlgorithm);return V.update(y),"g"!==y&&V.update(S.getRelatedPredicate(A)),V.update(T),V.digest()})()}hashNDegreeQuads(O,A){var b=this;return yt(function*(){const y=new P(b.hashAlgorithm),S=yield b.createHashToRelated(O,A),T=[...S.keys()].sort();for(const V of T){y.update(V);let K,R="";const ce=new Q(S.get(V));let D=0;for(;ce.hasNext();){const I=ce.next();++D%3==0&&(yield b._yield());let X=A.clone(),E="";const $=[];let Z=!1;for(const oe of I)if(b.canonicalIssuer.hasId(oe)?E+=b.canonicalIssuer.getId(oe):(X.hasId(oe)||$.push(oe),E+=X.getId(oe)),0!==R.length&&E>R){Z=!0;break}if(!Z){for(const oe of $){const se=yield b.hashNDegreeQuads(oe,X);if(E+=X.getId(oe),E+=`<${se.hash}>`,X=se.issuer,0!==R.length&&E>R){Z=!0;break}}Z||(0===R.length||E`}createHashToRelated(O,A){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(O).quads;let T=0;for(const V of S)++T%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:V,component:V.subject,position:"s",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.object,position:"o",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.graph,position:"g",id:O,issuer:A,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:O,hashToBlankNodes:A}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(O),S=A.get(y);S?S.push(O):A.set(y,[O])})()}_addBlankNodeQuadInfo({quad:O,component:A}){if("BlankNode"!==A.termType)return;const b=A.value,y=this.blankNodeInfo.get(b);y?y.quads.add(O):this.blankNodeInfo.set(b,{quads:new Set([O]),hash:null})}_addRelatedBlankNodeHash({quad:O,component:A,position:b,id:y,issuer:S,hashToRelated:T}){var V=this;return yt(function*(){if("BlankNode"!==A.termType||A.value===y)return;const R=A.value,K=yield V.hashRelatedBlankNode(R,O,S,b),ce=T.get(K);ce?ce.push(R):T.set(K,[R])})()}_useCanonicalId({component:O}){return"BlankNode"!==O.termType||O.value.startsWith(this.canonicalIssuer.prefix)?O:{termType:"BlankNode",value:this.canonicalIssuer.getId(O.value)}}_yield(){return yt(function*(){return new Promise(O=>W(O))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),P=Y("./Permuter"),Q=Y("./NQuads");function z(v,x){return v.hashx.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(x){this.quads=x;for(const T of x)this._addBlankNodeQuadInfo({quad:T,component:T.subject}),this._addBlankNodeQuadInfo({quad:T,component:T.object}),this._addBlankNodeQuadInfo({quad:T,component:T.graph});const O=new Map,A=[...this.blankNodeInfo.keys()];for(const T of A)this._hashAndTrackBlankNode({id:T,hashToBlankNodes:O});const b=[...O.keys()].sort(),y=[];for(const T of b){const V=O.get(T);V.length>1?y.push(V):this.canonicalIssuer.getId(V[0])}for(const T of y){const V=[];for(const R of T){if(this.canonicalIssuer.hasId(R))continue;const K=new W("_:b");K.getId(R);const ce=this.hashNDegreeQuads(R,K);V.push(ce)}V.sort(z);for(const R of V){const K=R.issuer.getOldIds();for(const ce of K)this.canonicalIssuer.getId(ce)}}const S=[];for(const T of this.quads){const V=ot({},T);V.subject=this._useCanonicalId({component:V.subject}),V.object=this._useCanonicalId({component:V.object}),V.graph=this._useCanonicalId({component:V.graph}),S.push(Q.serializeQuad(V))}return S.sort(),S.join("")}hashFirstDegreeQuads(x){const O=[],A=this.blankNodeInfo.get(x),b=A.quads;for(const S of b){const T={subject:null,predicate:S.predicate,object:null,graph:null};T.subject=this.modifyFirstDegreeComponent(x,S.subject,"subject"),T.object=this.modifyFirstDegreeComponent(x,S.object,"object"),T.graph=this.modifyFirstDegreeComponent(x,S.graph,"graph"),O.push(Q.serializeQuad(T))}O.sort();const y=new j(this.hashAlgorithm);for(const S of O)y.update(S);return A.hash=y.digest(),A.hash}hashRelatedBlankNode(x,O,A,b){let y;y=this.canonicalIssuer.hasId(x)?this.canonicalIssuer.getId(x):A.hasId(x)?A.getId(x):this.blankNodeInfo.get(x).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(O)),S.update(y),S.digest()}hashNDegreeQuads(x,O){const A=new j(this.hashAlgorithm),b=this.createHashToRelated(x,O),y=[...b.keys()].sort();for(const S of y){A.update(S);let V,T="";const R=new P(b.get(S));for(;R.hasNext();){const K=R.next();let ce=O.clone(),D="";const I=[];let X=!1;for(const E of K)if(this.canonicalIssuer.hasId(E)?D+=this.canonicalIssuer.getId(E):(ce.hasId(E)||I.push(E),D+=ce.getId(E)),0!==T.length&&D>T){X=!0;break}if(!X){for(const E of I){const $=this.hashNDegreeQuads(E,ce);if(D+=ce.getId(E),D+=`<${$.hash}>`,ce=$.issuer,0!==T.length&&D>T){X=!0;break}}X||(0===T.length||D`}createHashToRelated(x,O){const A=new Map,b=this.blankNodeInfo.get(x).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:x,issuer:O,hashToRelated:A});return A}_hashAndTrackBlankNode({id:x,hashToBlankNodes:O}){const A=this.hashFirstDegreeQuads(x),b=O.get(A);b?b.push(x):O.set(A,[x])}_addBlankNodeQuadInfo({quad:x,component:O}){if("BlankNode"!==O.termType)return;const A=O.value,b=this.blankNodeInfo.get(A);b?b.quads.add(x):this.blankNodeInfo.set(A,{quads:new Set([x]),hash:null})}_addRelatedBlankNodeHash({quad:x,component:O,position:A,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==O.termType||O.value===b)return;const T=O.value,V=this.hashRelatedBlankNode(T,x,y,A),R=S.get(V);R?R.push(T):S.set(V,[T])}_useCanonicalId({component:x}){return"BlankNode"!==x.termType||x.value.startsWith(this.canonicalIssuer.prefix)?x:{termType:"BlankNode",value:this.canonicalIssuer.getId(x.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){var z=this;return yt(function*(){const v=new Map,x=z.blankNodeInfo.get(P).quads;let O=0;for(const A of x){let b,y;if("BlankNode"===A.subject.termType&&A.subject.value!==P)y=A.subject.value,b="p";else{if("BlankNode"!==A.object.termType||A.object.value===P)continue;y=A.object.value,b="r"}++O%100==0&&(yield z._yield());const S=yield z.hashRelatedBlankNode(y,A,Q,b),T=v.get(S);T?T.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){const z=new Map,v=this.blankNodeInfo.get(P).quads;for(const x of v){let O,A;if("BlankNode"===x.subject.termType&&x.subject.value!==P)A=x.subject.value,O="p";else{if("BlankNode"!==x.object.termType||x.object.value===P)continue;A=x.object.value,O="r"}const b=this.hashRelatedBlankNode(A,x,Q,O),y=z.get(b);y?y.push(A):z.set(b,[A])}return z}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),P=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let z;try{z=Y("rdf-canonize-native")}catch(x){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(x){return x&&(z=x),z},v.canonize=function(){var x=yt(function*(O,A){if(Array.isArray(O)||(O=v.NQuads.legacyDatasetToQuads(O)),A.useNative){if(!z)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>z.canonize(O,A,(S,T)=>S?y(S):b(T)))}if("URDNA2015"===A.algorithm)return new W(A).main(O);if("URGNA2012"===A.algorithm)return new j(A).main(O);throw"algorithm"in A?new Error("Invalid RDF Dataset Canonicalization algorithm: "+A.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(O,A){return x.apply(this,arguments)}}(),v._canonizeSync=function(x,O){if(Array.isArray(x)||(x=v.NQuads.legacyDatasetToQuads(x)),O.useNative){if(z)return z.canonizeSync(x,O);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===O.algorithm)return new P(O).main(x);if("URGNA2012"===O.algorithm)return new Q(O).main(x);throw"algorithm"in O?new Error("Invalid RDF Dataset Canonicalization algorithm: "+O.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(P){this.termType="BlankNode",this.value=P}equals(P){return!!P&&"BlankNode"===P.termType&&P.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),P=Y("./Literal"),Q=Y("./NamedNode"),z=Y("./Quad"),v=Y("./Variable");let x=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${x++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new P.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,T){return new z.Quad(b,y,S,T||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(P.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(P){return!!P&&"DefaultGraph"===P.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,z){this.termType="Literal",this.value=Q,"string"==typeof z?(this.language=z,this.datatype=j.RDF_LANGUAGE_STRING):z?(this.language="",this.datatype=z):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(P){this.termType="NamedNode",this.value=P}equals(P){return!!P&&"NamedNode"===P.termType&&P.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(P,Q,z,v){this.termType="Quad",this.value="",this.subject=P,this.predicate=Q,this.object=z,this.graph=v}equals(P){return!!P&&("Quad"===P.termType||!P.termType)&&this.subject.equals(P.subject)&&this.predicate.equals(P.predicate)&&this.object.equals(P.object)&&this.graph.equals(P.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(P){this.termType="Variable",this.value=P}equals(P){return!!P&&"Variable"===P.termType&&P.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(P,Q){const z=P.saxStream._parser;super(P.trackPosition?`Line ${z.line+1} column ${z.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),P=Y("stream"),Q=Y("./ParseError"),z=Y("rdf-data-factory");class v extends P.Transform{constructor(A){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},A&&(Object.assign(this,A),this.options=A),this.dataFactory||(this.dataFactory=new z.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(A,b){const y={};let S=!1;for(const V in A.attributes)V.startsWith("xmlns")&&(5===V.length?(S=!0,y[""]=A.attributes[V]):":"===V.charAt(5)&&(S=!0,y[V.substr(6)]=A.attributes[V]));const T=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?T.concat([y]):T}static expandPrefixedTerm(A,b,y){const S=A.indexOf(":");let T,V;S>=0?(T=A.substr(0,S),V=A.substr(S+1)):(T="",V=A);let R=null,K=null;for(let ce=b.length-1;ce>=0;ce--){const D=b[ce][T];if(D){R=D;break}K||(K=b[ce][""])}if(!R){if(T&&"xmlns"!==T)throw new Q.ParseError(y,`The prefix '${T}' in term '${A}' was not bound.`);R=K||""}return{prefix:T,local:V,uri:R}}static isValidIri(A){return v.IRI_REGEX.test(A)}import(A){const b=new P.PassThrough({readableObjectMode:!0});A.on("error",S=>y.emit("error",S)),A.on("data",S=>b.push(S)),A.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(A,b,y){try{this.saxStream.write(A,b)}catch(S){return y(S)}y()}newParseError(A){return new Q.ParseError(this,A)}valueToUri(A,b){return this.uriToNamedNode(W.resolve(A,b.baseIRI))}uriToNamedNode(A){if(!v.isValidIri(A))throw this.newParseError(`Invalid URI: ${A}`);return this.dataFactory.namedNode(A)}validateNcname(A){if(!v.NCNAME_MATCHER.test(A))throw this.newParseError(`Not a valid NCName: ${A}`)}attachSaxListeners(){this.saxStream.on("error",A=>this.emit("error",A)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(A){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=x.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const T=A.name;let V="";for(const D in A.attributes)V+=` ${D}="${A.attributes[D]}"`;b.childrenStringTags.push(`<${T}${V}>`);const ce={childrenStringTags:b.childrenStringTags};return ce.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ce)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(A,b),y===x.RESOURCE?this.onTagResource(A,S,b,!b):this.onTagProperty(A,S,b)}onTagResource(A,b,y,S){const T=v.expandPrefixedTerm(A.name,b.ns,this);b.childrenParseType=x.PROPERTY;let V=!0;if(T.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(T.local)>=0)throw this.newParseError(`Illegal node element name: ${T.local}`);switch(T.local){case"RDF":b.childrenParseType=x.RESOURCE;case"Description":V=!1}}const R=[],K=[];let ce=null,D=!1,I=!1,X=null;for(const E in A.attributes){const $=A.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);ce=$;continue;case"ID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce="#"+$,D=!0;continue;case"nodeID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce=$,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":X=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(R.push(this.uriToNamedNode(Z.uri+Z.local)),K.push($))}if(null!==ce&&(b.subject=I?this.dataFactory.blankNode(ce):this.valueToUri(ce,b),D&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),V){const E=this.uriToNamedNode(T.uri+T.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let T=!1,V=!1,R=null,K=!0;const ce=[],D=[];for(const I in A.attributes){const X=A.attributes[I],E=v.expandPrefixedTerm(I,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(R)throw this.newParseError(`Found both rdf:resource (${X}) and rdf:nodeID (${R}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${X})`);b.hadChildren=!0,R=X,K=!1;continue;case"datatype":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${X})`);b.datatype=this.valueToUri(X,b);continue;case"nodeID":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${X}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${X})`);this.validateNcname(X),b.hadChildren=!0,R=X,K=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(V)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(R)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${R})`);if("Resource"===X){T=!0,b.childrenParseType=x.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===X?(T=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,K=!1):"Literal"===X&&(T=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(X),b.reifiedStatementId=this.valueToUri("#"+X,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===X?null:X.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(T||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${X}`);b.hadChildren=!0,V=!0,ce.push(this.uriToNamedNode(E.uri+E.local)),D.push(this.dataFactory.literal(X,b.datatype||b.language))}}if(null!==R){const I=b.subject;b.subject=K?this.dataFactory.blankNode(R):this.valueToUri(R,b),this.emitTriple(I,b.predicate,b.subject,b.reifiedStatementId);for(let X=0;X/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var x,O;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(O=x=he.ParseType||(he.ParseType={}))[O.RESOURCE=0]="RESOURCE",O[O.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function P(O,A,b){b||(b=Error);var S=function(T){function V(R,K,ce){return T.call(this,function(T,V,R){return"string"==typeof A?A:A(T,V,R)}(R,K,ce))||this}return function(O,A){O.prototype=Object.create(A.prototype),O.prototype.constructor=O,O.__proto__=A}(V,T),V}(b);S.prototype.name=b.name,S.prototype.code=O,j[O]=S}function Q(O,A){if(Array.isArray(O)){var b=O.length;return O=O.map(function(y){return String(y)}),b>2?"one of ".concat(A," ").concat(O.slice(0,b-1).join(", "),", or ")+O[b-1]:2===b?"one of ".concat(A," ").concat(O[0]," or ").concat(O[1]):"of ".concat(A," ").concat(O[0])}return"of ".concat(A," ").concat(String(O))}P("ERR_INVALID_OPT_VALUE",function(O,A){return'The value "'+A+'" is invalid for option "'+O+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(O,A,b){var y,S;if("string"==typeof A&&function(O,A,b){return O.substr(!b||b<0?0:+b,A.length)===A}(A,"not ")?(y="must not be",A=A.replace(/^not /,"")):y="must be",function(O,A,b){return(void 0===b||b>O.length)&&(b=O.length),O.substring(b-A.length,b)===A}(O," argument"))S="The ".concat(O," ").concat(y," ").concat(Q(A,"type"));else{var T=function(O,A,b){return"number"!=typeof b&&(b=0),!(b+A.length>O.length)&&-1!==O.indexOf(A,b)}(O,".")?"property":"argument";S='The "'.concat(O,'" ').concat(T," ").concat(y," ").concat(Q(A,"type"))}return S+". Received type ".concat(typeof b)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(O){return"The "+O+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(O){return"Cannot call "+O+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(O){return"Unknown encoding: "+O},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var T in y)S.push(T);return S};Se.exports=O;var P=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(O,P);for(var z=j(Q.prototype),v=0;v0)if("string"!=typeof L&&!Qe.objectMode&&Object.getPrototypeOf(L)!==x.prototype&&(L=function(ve){return x.from(ve)}(L)),B)Qe.endEmitted?se(ve,new E):Ie(ve,Qe,L,!0);else if(Qe.ended)se(ve,new I);else{if(Qe.destroyed)return!1;Qe.reading=!1,Qe.decoder&&!N?(L=Qe.decoder.write(L),Qe.objectMode||0!==L.length?Ie(ve,Qe,L,!1):Ke(ve,Qe)):Ie(ve,Qe,L,!1)}else B||(Qe.reading=!1,Ke(ve,Qe));return!Qe.ended&&(Qe.lengthL.highWaterMark&&(L.highWaterMark=function(ve){return ve>=st?ve=st:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=L.length?ve:L.ended?L.length:(L.needReadable=!0,0))}function Ue(ve){var L=ve._readableState;S("emitReadable",L.needReadable,L.emittedReadable),L.needReadable=!1,L.emittedReadable||(S("emitReadable",L.flowing),L.emittedReadable=!0,W.nextTick(ke,ve))}function ke(ve){var L=ve._readableState;S("emitReadable_",L.destroyed,L.length,L.ended),!L.destroyed&&(L.length||L.ended)&&(ve.emit("readable"),L.emittedReadable=!1),L.needReadable=!L.flowing&&!L.ended&&L.length<=L.highWaterMark,pe(ve)}function Ke(ve,L){L.readingMore||(L.readingMore=!0,W.nextTick(Me,ve,L))}function Me(ve,L){for(;!L.reading&&!L.ended&&(L.length0,L.resumeScheduled&&!L.paused?L.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Ne(ve){S("readable nexttick read 0"),ve.read(0)}function G(ve,L){S("resume",L.reading),L.reading||ve.read(0),L.resumeScheduled=!1,ve.emit("resume"),pe(ve),L.flowing&&!L.reading&&ve.read(0)}function pe(ve){var L=ve._readableState;for(S("flow",L.flowing);L.flowing&&null!==ve.read(););}function ue(ve,L){return 0===L.length?null:(L.objectMode?N=L.buffer.shift():!ve||ve>=L.length?(N=L.decoder?L.buffer.join(""):1===L.buffer.length?L.buffer.first():L.buffer.concat(L.length),L.buffer.clear()):N=L.buffer.consume(ve,L.decoder),N);var N}function je(ve){var L=ve._readableState;S("endReadable",L.endEmitted),L.endEmitted||(L.ended=!0,W.nextTick(_t,L,ve))}function _t(ve,L){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,L.readable=!1,L.emit("end"),ve.autoDestroy)){var N=L._writableState;(!N||N.autoDestroy&&N.finished)&&L.destroy()}}function pt(ve,L){for(var N=0,B=ve.length;N=L.highWaterMark:L.length>0)||L.ended))return S("read: emitReadable",L.length,L.ended),0===L.length&&L.ended?je(this):Ue(this),null;if(0===(ve=tt(ve,L))&&L.ended)return 0===L.length&&je(this),null;var Re,B=L.needReadable;return S("need readable",B),(0===L.length||L.length-ve0?ue(ve,L):null)?(L.needReadable=L.length<=L.highWaterMark,ve=0):(L.length-=ve,L.awaitDrain=0),0===L.length&&(L.ended||(L.needReadable=!0),N!==ve&&L.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(ve){se(this,new X("_read()"))},ne.prototype.pipe=function(ve,L){var N=this,B=this._readableState;switch(B.pipesCount){case 0:B.pipes=ve;break;case 1:B.pipes=[B.pipes,ve];break;default:B.pipes.push(ve)}B.pipesCount+=1,S("pipe count=%d opts=%j",B.pipesCount,L);var Qe=L&&!1===L.end||ve===W.stdout||ve===W.stderr?gs:Nt;function St(Bs,Qr){S("onunpipe"),Bs===N&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,S("cleanup"),ve.removeListener("close",Xr),ve.removeListener("finish",Ls),ve.removeListener("drain",On),ve.removeListener("error",wi),ve.removeListener("unpipe",St),N.removeListener("end",Nt),N.removeListener("end",gs),N.removeListener("data",Ti),kn=!0,B.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&On())}function Nt(){S("onend"),ve.end()}B.endEmitted?W.nextTick(Qe):N.once("end",Qe),ve.on("unpipe",St);var On=function(ve){return function(){var N=ve._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&z(ve,"data")&&(N.flowing=!0,pe(ve))}}(N);ve.on("drain",On);var kn=!1;function Ti(Bs){S("ondata");var Qr=ve.write(Bs);S("dest.write",Qr),!1===Qr&&((1===B.pipesCount&&B.pipes===ve||B.pipesCount>1&&-1!==pt(B.pipes,ve))&&!kn&&(S("false write response, pause",B.awaitDrain),B.awaitDrain++),N.pause())}function wi(Bs){S("onerror",Bs),gs(),ve.removeListener("error",wi),0===z(ve,"error")&&se(ve,Bs)}function Xr(){ve.removeListener("finish",Ls),gs()}function Ls(){S("onfinish"),ve.removeListener("close",Xr),gs()}function gs(){S("unpipe"),N.unpipe(ve)}return N.on("data",Ti),function(ve,L,N){if("function"==typeof ve.prependListener)return ve.prependListener(L,N);ve._events&&ve._events[L]?Array.isArray(ve._events[L])?ve._events[L].unshift(N):ve._events[L]=[N,ve._events[L]]:ve.on(L,N)}(ve,"error",wi),ve.once("close",Xr),ve.once("finish",Ls),ve.emit("pipe",N),B.flowing||(S("pipe resume"),N.resume()),ve},ne.prototype.unpipe=function(ve){var L=this._readableState,N={hasUnpiped:!1};if(0===L.pipesCount)return this;if(1===L.pipesCount)return ve&&ve!==L.pipes||(ve||(ve=L.pipes),L.pipes=null,L.pipesCount=0,L.flowing=!1,ve&&ve.emit("unpipe",this,N)),this;if(!ve){var B=L.pipes,Re=L.pipesCount;L.pipes=null,L.pipesCount=0,L.flowing=!1;for(var Qe=0;Qe0,!1!==B.flowing&&this.resume()):"readable"===ve&&!B.endEmitted&&!B.readableListening&&(B.readableListening=B.needReadable=!0,B.flowing=!1,B.emittedReadable=!1,S("on readable",B.length,B.reading),B.length?Ue(this):B.reading||W.nextTick(Ne,this)),N},ne.prototype.removeListener=function(ve,L){var N=v.prototype.removeListener.call(this,ve,L);return"readable"===ve&&W.nextTick($e,this),N},ne.prototype.removeAllListeners=function(ve){var L=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&W.nextTick($e,this),L},ne.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function(ve,L){L.resumeScheduled||(L.resumeScheduled=!0,W.nextTick(G,ve,L))}(this,ve)),ve.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(ve){var L=this,N=this._readableState,B=!1;for(var Re in ve.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var St=N.decoder.end();St&&St.length&&L.push(St)}L.push(null)}),ve.on("data",function(St){S("wrapped data"),N.decoder&&(St=N.decoder.write(St)),N.objectMode&&null==St||!(N.objectMode||St&&St.length)||L.push(St)||(B=!0,ve.pause())}),ve)void 0===this[Re]&&"function"==typeof ve[Re]&&(this[Re]=function(Nt){return function(){return ve[Nt].apply(ve,arguments)}}(Re));for(var Qe=0;Qe-1))throw new Z(ue);return this._writableState.defaultEncoding=ue,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,ue,je){je(new ce("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,ue,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,ue=null):"function"==typeof ue&&(je=ue,ue=null),null!=pe&&this.write(pe,ue),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,ue,je){ue.ending=!0,Ne(pe,ue),je&&(ue.finished?W.nextTick(je):pe.once("finish",je)),ue.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ue){!this._writableState||(this._writableState.destroyed=ue)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,ue){ue(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function P(I,X,E){return X in I?Object.defineProperty(I,X,{value:E,enumerable:!0,configurable:!0,writable:!0}):I[X]=E,I}var Q=Y("./end-of-stream"),z=Symbol("lastResolve"),v=Symbol("lastReject"),x=Symbol("error"),O=Symbol("ended"),A=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(I,X){return{value:I,done:X}}function T(I){var X=I[z];if(null!==X){var E=I[y].read();null!==E&&(I[A]=null,I[z]=null,I[v]=null,X(S(E,!1)))}}function V(I){W.nextTick(T,I)}var K=Object.getPrototypeOf(function(){}),ce=Object.setPrototypeOf((P(j={get stream(){return this[y]},next:function(){var X=this,E=this[x];if(null!==E)return Promise.reject(E);if(this[O])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(se,te){W.nextTick(function(){X[x]?te(X[x]):se(S(void 0,!0))})});var Z,$=this[A];if($)Z=new Promise(function(I,X){return function(E,$){I.then(function(){X[O]?E(S(void 0,!0)):X[b](E,$)},$)}}($,this));else{var oe=this[y].read();if(null!==oe)return Promise.resolve(S(oe,!1));Z=new Promise(this[b])}return this[A]=Z,Z}},Symbol.asyncIterator,function(){return this}),P(j,"return",function(){var X=this;return new Promise(function(E,$){X[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),K);Se.exports=function(X){var E,$=Object.create(ce,(P(E={},y,{value:X,writable:!0}),P(E,z,{value:null,writable:!0}),P(E,v,{value:null,writable:!0}),P(E,x,{value:null,writable:!0}),P(E,O,{value:X._readableState.endEmitted,writable:!0}),P(E,b,{value:function(oe,se){var te=$[y].read();te?($[A]=null,$[z]=null,$[v]=null,oe(S(te,!1))):($[z]=oe,$[v]=se)},writable:!0}),E));return $[A]=null,Q(X,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var oe=$[v];return null!==oe&&($[A]=null,$[z]=null,$[v]=null,oe(Z)),void($[x]=Z)}var se=$[z];null!==se&&($[A]=null,$[z]=null,$[v]=null,se(S(void 0,!0))),$[O]=!0}),X.on("readable",V.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(T,V){var R=Object.keys(T);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(T);V&&(K=K.filter(function(ce){return Object.getOwnPropertyDescriptor(T,ce).enumerable})),R.push.apply(R,K)}return R}function P(T,V,R){return V in T?Object.defineProperty(T,V,{value:R,enumerable:!0,configurable:!0,writable:!0}):T[V]=R,T}function z(T,V){for(var R=0;R0?this.tail.next=K:this.head=K,this.tail=K,++this.length}},{key:"unshift",value:function(R){var K={data:R,next:this.head};0===this.length&&(this.tail=K),this.head=K,++this.length}},{key:"shift",value:function(){if(0!==this.length){var R=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(0===this.length)return"";for(var K=this.head,ce=""+K.data;K=K.next;)ce+=R+K.data;return ce}},{key:"concat",value:function(R){if(0===this.length)return O.alloc(0);for(var K=O.allocUnsafe(R>>>0),ce=this.head,D=0;ce;)S(ce.data,K,D),D+=ce.data.length,ce=ce.next;return K}},{key:"consume",value:function(R,K){var ce;return RI.length?I.length:R;if(D+=X===I.length?I:I.slice(0,R),0==(R-=X)){X===I.length?(++ce,this.head=K.next?K.next:this.tail=null):(this.head=K,K.data=I.slice(X));break}++ce}return this.length-=ce,D}},{key:"_getBuffer",value:function(R){var K=O.allocUnsafe(R),ce=this.head,D=1;for(ce.data.copy(K),R-=ce.data.length;ce=ce.next;){var I=ce.data,X=R>I.length?I.length:R;if(I.copy(K,K.length-R,0,X),0==(R-=X)){X===I.length?(++D,this.head=ce.next?ce.next:this.tail=null):(this.head=ce,ce.data=I.slice(X));break}++D}return this.length-=D,K}},{key:y,value:function(R,K){return b(this,function(T){for(var V=1;V0,function(Z){ce||(ce=Z),Z&&D.forEach(A),!E&&(D.forEach(A),K(ce))})});return V.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,z,v,x){var O=function(Q,z,v){return null!=Q.highWaterMark?Q.highWaterMark:z?Q[v]:null}(z,x,v);if(null!=O){if(!isFinite(O)||Math.floor(O)!==O||O<0)throw new W(x?v:"highWaterMark",O);return Math.floor(O)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var P in j)he.hasOwnProperty(P)||(he[P]=j[P])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(z){const v=[];let x=0;for(;xO.join("")).join("/")}function P(z,v){let x=v+1;v>=0?"/"===z[v+1]&&"/"===z[v+2]&&(x=v+3):"/"===z[0]&&"/"===z[1]&&(x=2);const O=z.indexOf("/",x);return O<0?z:z.substr(0,O)+j(z.substr(O))}function Q(z){return!z||"#"===z||"?"===z||"/"===z}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(z,v){const x=(v=v||"").indexOf("#");if(x>0&&(v=v.substr(0,x)),!z.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);return v}if(z.startsWith("?")){const V=v.indexOf("?");return V>0&&(v=v.substr(0,V)),v+z}if(z.startsWith("#"))return v+z;if(!v.length){const V=z.indexOf(":");if(V<0)throw new Error(`Found invalid relative IRI '${z}' for a missing baseIRI`);return P(z,V)}const O=z.indexOf(":");if(O>=0)return P(z,O);const A=v.indexOf(":");if(A<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);const b=v.substr(0,A+1);if(0===z.indexOf("//"))return b+P(z,O);let y;if(v.indexOf("//",A)===A+1){if(y=v.indexOf("/",A+3),y<0)return v.length>A+3?v+"/"+P(z,O):b+P(z,O)}else if(y=v.indexOf("/",A+1),y<0)return b+P(z,O);if(0===z.indexOf("/"))return v.substr(0,y)+j(z);let S=v.substr(y);const T=S.lastIndexOf("/");return T>=0&&T"===ue?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(ue)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=ue);continue;case te.SGML_DECL_QUOTED:ue===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=ue;continue;case te.DOCTYPE:">"===ue?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=ue,"["===ue?G.state=te.DOCTYPE_DTD:$(ue)&&(G.state=te.DOCTYPE_QUOTED,G.q=ue));continue;case te.DOCTYPE_QUOTED:G.doctype+=ue,ue===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=ue,"]"===ue?G.state=te.DOCTYPE:$(ue)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=ue);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=ue,ue===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===ue?G.state=te.COMMENT_ENDING:G.comment+=ue;continue;case te.COMMENT_ENDING:"-"===ue?(G.state=te.COMMENT_ENDED,G.comment=Ie(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+ue,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ue?(Xe(G,"Malformed comment"),G.comment+="--"+ue,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===ue?G.state=te.CDATA_ENDING:G.cdata+=ue;continue;case te.CDATA_ENDING:"]"===ue?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+ue,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ue?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===ue?G.cdata+="]":(G.cdata+="]]"+ue,G.state=te.CDATA);continue;case te.PROC_INST:"?"===ue?G.state=te.PROC_INST_ENDING:E(ue)?G.state=te.PROC_INST_BODY:G.procInstName+=ue;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(ue))continue;"?"===ue?G.state=te.PROC_INST_ENDING:G.procInstBody+=ue;continue;case te.PROC_INST_ENDING:">"===ue?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+ue,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:oe(D,ue)?G.tagName+=ue:(tt(G),">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:(E(ue)||Xe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ue?(ke(G,!0),Ke(G)):(Xe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(ue))continue;">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ue?G.state=te.ATTRIB_VALUE:">"===ue?(Xe(G,"Attribute without value"),G.attribValue=G.attribName,Ue(G),ke(G)):E(ue)?G.state=te.ATTRIB_NAME_SAW_WHITE:oe(D,ue)?G.attribName+=ue:Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ue)G.state=te.ATTRIB_VALUE;else{if(E(ue))continue;Xe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===ue?ke(G):oe(ce,ue)?(G.attribName=ue,G.state=te.ATTRIB_NAME):(Xe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(ue))continue;$(ue)?(G.q=ue,G.state=te.ATTRIB_VALUE_QUOTED):(Xe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=ue);continue;case te.ATTRIB_VALUE_QUOTED:if(ue!==G.q){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=ue;continue}Ue(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(ue)?G.state=te.ATTRIB:">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(Xe(G,"No whitespace between attributes"),G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(ue)){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=ue;continue}Ue(G),">"===ue?ke(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===ue?Ke(G):oe(D,ue)?G.tagName+=ue:G.script?(G.script+=""===ue?Ke(G):Xe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,ve;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,ve="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,ve="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,ve="attribValue"}";"===ue?(G[ve]+=Me(G),G.entity="",G.state=pt):oe(G.entity.length?X:I,ue)?G.entity+=ue:(Xe(G,"Invalid character in entity name"),G[ve]+="&"+G.entity+ue,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,ue=0,je=P.length;ueG)switch(P[ue]){case"textNode":_e(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:Ge(q,"Max buffer length exceeded: "+P[ue])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){_e(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{O=Y("stream").Stream}catch(q){O=function(){}}var A=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);O.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(ue){pe.emit("error",ue),pe._parser.error=null},this._decoder=null,A.forEach(function(ue){Object.defineProperty(pe,"on"+ue,{get:function(){return pe._parser["on"+ue]},set:function(je){if(!je)return pe.removeAllListeners(ue),pe._parser["on"+ue]=je,je;pe.on(ue,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(O.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==A.indexOf(q)&&(pe._parser["on"+q]=function(){var ue=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ue.splice(0,0,q),pe.emit.apply(pe,ue)}),O.prototype.on.call(pe,q,G)};var V="http://www.w3.org/XML/1998/namespace",R="http://www.w3.org/2000/xmlns/",K={xml:V,xmlns:R},ce=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,I=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,X=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function oe(q,G){return q.test(G)}function se(q,G){return!oe(q,G)}var q,G,pe,te=0;for(var Ce in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Ce]]=Ce;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&_e(q),me(q,G,pe)}function _e(q){q.textNode=Ie(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Ie(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function Ge(q,G){return _e(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Xe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&Ge(q,"Unexpected end"),_e(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Xe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&Ge(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Ye(q,G){var ue=q.indexOf(":")<0?["",q]:q.split(":"),je=ue[0],_t=ue[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function Ue(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Ye(q.attribName,!0),ue=G.local;if("xmlns"===G.prefix)if("xml"===ue&&q.attribValue!==V)Xe(q,"xml: prefix must be bound to "+V+"\nActual: "+q.attribValue);else if("xmlns"===ue&&q.attribValue!==R)Xe(q,"xmlns: prefix must be bound to "+R+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[ue]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function ke(q,G){if(q.opt.xmlns){var pe=q.tag,ue=Ye(q.tagName);pe.prefix=ue.prefix,pe.local=ue.local,pe.uri=pe.ns[ue.prefix]||"",pe.prefix&&!pe.uri&&(Xe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=ue.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(On){ne(q,"onopennamespace",{prefix:On,uri:pe.ns[On]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var ue=pe;G--&&q.tags[G].name!==ue;)Xe(q,"Unexpected close tag");if(G<0)return Xe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var ve={};for(var L in pt.ns)ve[L]=pt.ns[L];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(B){ne(q,"onclosenamespace",{prefix:B,uri:pt.ns[B]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var ue,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(ue=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(ue=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(ue)||je.toLowerCase()!==G?(Xe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(ue))}function Ve(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Xe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function $e(q,G){var pe="";return G1114111||G(B)!==B)throw RangeError("Invalid code point: "+B);B<=65535?je.push(B):je.push(55296+((B-=65536)>>10),B%1024+56320),(ve+1===L||je.length>ue)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(P,Q){"use strict";if(!P.setImmediate){var A,z=1,v={},x=!1,O=P.document,X=Object.getPrototypeOf&&Object.getPrototypeOf(P);X=X&&X.setTimeout?X:P,"[object process]"==={}.toString.call(P.process)?A=function(E){W.nextTick(function(){T(E)})}:function(){if(P.postMessage&&!P.importScripts){var E=!0,$=P.onmessage;return P.onmessage=function(){E=!1},P.postMessage("","*"),P.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===P&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&T(+Z.data.slice(E.length))},P.addEventListener?P.addEventListener("message",$,!1):P.attachEvent("onmessage",$),A=function(Z){P.postMessage(E+Z,"*")}):P.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){T($.data)},A=function($){E.port2.postMessage($)}}():O&&"onreadystatechange"in O.createElement("script")?function(){var E=O.documentElement;A=function($){var Z=O.createElement("script");Z.onreadystatechange=function(){T($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():A=function(E){setTimeout(T,0,E)},X.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[z]={callback:E,args:$},A(z),z++},X.clearImmediate=y}var E,$;function y(E){delete v[E]}function T(E){if(x)setTimeout(T,0,E);else{var $=v[E];if($){x=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),x=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=P;var W=Y("events").EventEmitter;function P(){W.call(this)}Y("inherits")(P,W),P.Readable=Y("readable-stream/lib/_stream_readable.js"),P.Writable=Y("readable-stream/lib/_stream_writable.js"),P.Duplex=Y("readable-stream/lib/_stream_duplex.js"),P.Transform=Y("readable-stream/lib/_stream_transform.js"),P.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),P.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),P.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),P.Stream=P,P.prototype.pipe=function(Q,z){var v=this;function x(V){Q.writable&&!1===Q.write(V)&&v.pause&&v.pause()}function O(){v.readable&&v.resume&&v.resume()}v.on("data",x),Q.on("drain",O),!Q._isStdio&&(!z||!1!==z.end)&&(v.on("end",b),v.on("close",y));var A=!1;function b(){A||(A=!0,Q.end())}function y(){A||(A=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(V){if(T(),0===W.listenerCount(this,"error"))throw V}function T(){v.removeListener("data",x),Q.removeListener("drain",O),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",T),v.removeListener("close",T),Q.removeListener("close",T)}return v.on("error",S),Q.on("error",S),v.on("end",T),v.on("close",T),Q.on("close",T),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var P=Y("process/browser.js").nextTick,Q=Function.prototype.apply,z=Array.prototype.slice,v={},x=0;function O(A,b){this._id=A,this._clearFn=b}he.setTimeout=function(){return new O(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new O(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(A){A.close()},O.prototype.unref=O.prototype.ref=function(){},O.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(A,b){clearTimeout(A._idleTimeoutId),A._idleTimeout=b},he.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},he._unrefActive=he.active=function(A){clearTimeout(A._idleTimeoutId);var b=A._idleTimeout;b>=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(A){var b=x++,y=!(arguments.length<2)&&z.call(arguments,1);return v[b]=!0,P(function(){v[b]&&(y?A.apply(null,y):A.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(A){delete v[A]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function P(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var z=W.localStorage[Q];return null!=z&&"true"===String(z).toLowerCase()}Se.exports=function(Q,z){if(P("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(P("throwDeprecation"))throw new Error(z);P("traceDeprecation")?console.trace(z):console.warn(z),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var x=this;if(x instanceof W||(x=new W),x.tail=null,x.head=null,x.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){x.push(b)});else if(arguments.length>0)for(var O=0,A=arguments.length;O1)O=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");A=this.head.next,O=this.head.value}for(var b=0;null!==A;b++)O=v(O,A.value,b),A=A.next;return O},W.prototype.reduceReverse=function(v,x){var O,A=this.tail;if(arguments.length>1)O=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");A=this.tail.prev,O=this.tail.value}for(var b=this.length-1;null!==A;b--)O=v(O,A.value,b),A=A.prev;return O},W.prototype.toArray=function(){for(var v=new Array(this.length),x=0,O=this.head;null!==O;x++)v[x]=O.value,O=O.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),x=0,O=this.tail;null!==O;x++)v[x]=O.value,O=O.prev;return v},W.prototype.slice=function(v,x){(x=x||this.length)<0&&(x+=this.length),(v=v||0)<0&&(v+=this.length);var O=new W;if(xthis.length&&(x=this.length);for(var A=0,b=this.head;null!==b&&Athis.length&&(x=this.length);for(var A=this.length,b=this.tail;null!==b&&A>x;A--)b=b.prev;for(;null!==b&&A>v;A--,b=b.prev)O.push(b.value);return O},W.prototype.splice=function(v,x,...O){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var A=0,b=this.head;null!==b&&A{"use strict";Ut.exports=Je,Ut.exports.default=Je;var it=1e20;function Je(Y,Se,he,W,j,P){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=P||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,z=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(z*z),this.gridInner=new Float64Array(z*z),this.f=new Float64Array(z),this.z=new Float64Array(z+1),this.v=new Uint16Array(z),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Tt(Y,Se,he,W,j,P){for(var Q=0;Q-1);P[++v]=z,Q[v]=x,Q[v+1]=it}for(z=0,v=0;z{Ut.exports=function(Je,yt){var ee=yt.length;if(0!==ee){var Tt=Je.length;Je.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Tt=yt||(yt={})).typeOfFunction="function",Tt.boolTrue=!0,yt;var Tt})();function ee(Tt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},266:(Ut,it,Je)=>{Ut.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(Ut,it,Je){"use strict";var yt,ee,Tt;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Tt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function P(D){D||(D=document.documentElement);var I=window.getComputedStyle(D,null).fontSize;return parseFloat(I)||16}function z(D,I){var X=I.split(/\d/),E=X[X.length-1];switch(I=parseFloat(I),E){case"px":return I;case"em":return I*P(D);case"rem":return I*P();case"vw":return I*document.documentElement.clientWidth/100;case"vh":return I*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return I*(0,Math["vmin"===E?"min":"max"])($,Z);default:return I}}function v(D,I){this.element=D;var X,E,$,Z,oe,se,te,Ce,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(X in $=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var I=D.getBoundingClientRect();return{width:Math.round(I.width),height:Math.round(I.height)}}(this.element),se={},W[I])!W[I].hasOwnProperty(X)||(Z=z(this.element,(E=W[I][X]).value),oe="width"===E.property?$.width:$.height,te="","min"===E.mode&&oe>=Z&&(te+=E.value),"max"===E.mode&&oe<=Z&&(te+=E.value),se[Ce=E.mode+"-"+E.property]||(se[Ce]=""),te&&-1===(" "+se[Ce]+" ").indexOf(" "+te+" ")&&(se[Ce]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(se[me[ne]]?this.element.setAttribute(me[ne],se[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function x(D,I){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new v(D,I)),D.elementQueriesSensor||(D.elementQueriesSensor=new dt(D,function(){D.elementQueriesSetupInformation.call()}))}function O(D,I,X,E){if(void 0===W[D]){W[D]=[];var $=j.length;he.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+$+"px;}",j.push(D)}W[D].push({mode:I,property:X,value:E})}function A(D){var I;if(document.querySelectorAll&&(I=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!I&&"undefined"!=typeof $$&&(I=$$),!I&&"undefined"!=typeof jQuery&&(I=jQuery),!I)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return I}function y(D){var I=[],X=[],E=[],$=0,Z=-1,oe=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){I.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Ce=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");E.push(Ce),X.push({minWidth:te}),te?D.children[se].style.display="none":($=I.length-1,D.children[se].style.display="block")}function ne(){var Ie,_e=!1;for(Ie in I)!I.hasOwnProperty(Ie)||X[Ie].minWidth&&D.offsetWidth>X[Ie].minWidth&&(_e=Ie);if(_e||(_e=$),Z!==_e)if(oe[_e])I[Z].style.display="none",I[_e].style.display="block",Z=_e;else{var Ge=new Image;Ge.onload=function(){I[_e].src=E[_e],I[Z].style.display="none",I[_e].style.display="block",oe[_e]=!0,Z=_e},Ge.src=E[_e]}else I[_e].src=E[_e]}Z=$,D.resizeSensorInstance=new dt(D,ne),ne()}var T=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,V=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function R(D){var I,X,E,$;for(D=D.replace(/'/g,'"');null!==(I=T.exec(D));)for(X=I[1]+I[3],E=I[2];null!==($=V.exec(E));)O(X,$[1],$[2],$[3])}function K(D){var I="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&R(D);else for(var X=0,E=D.length;X img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ce=!0);for(var I=0,X=document.styleSheets.length;I{var yt=Je(910),ee=Je(369),Tt=Je(322);function dt(Q,z,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(z))throw new Error('graphology-shortest-path: the "'+z+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((z=""+z)==(v=""+v))return[z];var x=Q.inboundNeighbors.bind(Q),O=Q.outboundNeighbors.bind(Q),A={},b={};A[z]=null,b[v]=null;var T,V,R,K,ce,D,I,X,y=[z],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(T=y,y=[],ce=0,I=T.length;ce{Ut.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(ie){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(ie)}function Je(ie,fe){ie.prototype=Object.create(fe.prototype),ie.prototype.constructor=ie,ee(ie,fe)}function yt(ie){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(ie)}function ee(ie,fe){return(ee=Object.setPrototypeOf||function(re,M){return re.__proto__=M,re})(ie,fe)}function Tt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ie){return!1}}function dt(ie,fe,re){return(dt=Tt()?Reflect.construct:function(M,k,J){var we=[null];we.push.apply(we,k);var Fe=new(Function.bind.apply(M,we));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(ie){var fe="function"==typeof Map?new Map:void 0;return(Y=function(re){if(null===re||-1===Function.toString.call(re).indexOf("[native code]"))return re;if("function"!=typeof re)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(re))return fe.get(re);fe.set(re,k)}function k(){return dt(re,arguments,yt(this).constructor)}return k.prototype=Object.create(re.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),ee(k,re)})(ie)}function Se(ie){if(void 0===ie)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ie}var he=function(){for(var ie=arguments[0],fe=1,re=arguments.length;fe0&&we.length>k&&!we.warned){we.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+we.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=ie,nt.type=fe,nt.count=we.length,console&&console.warn&&console.warn(nt)}return ie}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(ie,fe,re){var M={fired:!1,wrapFn:void 0,target:ie,type:fe,listener:re},k=D.bind(M);return k.listener=re,M.wrapFn=k,k}function X(ie,fe,re){var M=ie._events;if(void 0===M)return[];var k=M[fe];return void 0===k?[]:"function"==typeof k?re?[k.listener||k]:[k]:re?function(J){for(var we=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var we=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw we.context=J,we}var Fe=k[ie];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Ot=$(Fe,nt);for(re=0;re=0;J--)if(re[J]===fe||re[J].listener===fe){we=re[J].listener,k=J;break}if(k<0)return this;0===k?re.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(ie,fe[M]);return this},T.prototype.listeners=function(ie){return X(this,ie,!0)},T.prototype.rawListeners=function(ie){return X(this,ie,!1)},T.listenerCount=function(ie,fe){return"function"==typeof ie.listenerCount?ie.listenerCount(fe):E.call(ie,fe)},T.prototype.listenerCount=E,T.prototype.eventNames=function(){return this._eventsCount>0?O(this._events):[]},oe.prototype.next=function(){if(this.done)return{done:!0};var ie=this._next();return ie.done&&(this.done=!0),ie},"undefined"!=typeof Symbol&&(oe.prototype[Symbol.iterator]=function(){return this}),oe.of=function(){var ie=arguments,fe=ie.length,re=0;return new oe(function(){return re>=fe?{done:!0}:{done:!1,value:ie[re++]}})},oe.empty=function(){var ie=new oe(null);return ie.done=!0,ie},oe.is=function(ie){return ie instanceof oe||"object"==typeof ie&&null!==ie&&"function"==typeof ie.next};var se=oe,te=function(ie,fe){for(var re,M=arguments.length>1?fe:1/0,k=M!==1/0?new Array(M):[],J=0;;){if(J===M)return k;if((re=ie.next()).done)return J!==fe?k.slice(0,J):k;k[J++]=re.value}},Ce=function(ie){function fe(re,M){var k;return(k=ie.call(this)||this).name="GraphError",k.message=re||"",k.data=M||{},k}return Je(fe,ie),fe}(Y(Error)),me=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),ne=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),_e=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce);function Ie(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ge(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(ie,fe){this.key=ie,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Xe(ie,fe,re,M,k,J){this.key=fe,this.attributes=J,this.undirected=ie,this.source=M,this.target=k,this.generatedKey=re}function tt(ie,fe,re,M,k,J,we){var Fe,nt,Ot="out",We="in";if(fe&&(Ot=We="undirected"),ie.multi){if(void 0===(nt=(Fe=J[Ot])[k])&&(nt=new Set,Fe[k]=nt),nt.add(re),M===k&&fe)return;void 0===(Fe=we[We])[M]&&(Fe[M]=nt)}else{if(J[Ot][k]=re,M===k&&fe)return;we[We][M]=re}}function Ye(ie,fe,re){var M=ie.multi,k=re.source,J=re.target,we=k.key,Fe=J.key,nt=k[fe?"undirected":"out"],Ot=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Ot][we]):We.delete(re)}else delete nt[Fe];M||delete J[Ot][we]}Ge.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Ue=[{name:function(ie){return"get".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes[k]}}},{name:function(ie){return"get".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M){var k;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,we=""+arguments[1];if(!(k=W(this,J,we,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(we,'").'))}else if(!(k=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&k.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return k.attributes}}},{name:function(ie){return"has".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes.hasOwnProperty(k)}}},{name:function(ie){return"set".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J,this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"update".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J(we.attributes[k]),this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"remove".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return delete J.attributes[k],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:k}),this}}},{name:function(ie){return"replace".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes=k,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(ie){return"merge".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return he(J.attributes,k),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:k}),this}}}],ke=se,Ke=function(){var ie,fe=arguments,re=-1;return new ke(function M(){if(!ie){if(++re>=fe.length)return{done:!0};ie=fe[re]}var k=ie.next();return k.done?(ie=null,M()):k})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ve(ie,fe){for(var re in fe)ie.push(fe[re].key)}function $e(ie,fe){for(var re in fe)fe[re].forEach(function(M){return ie.push(M.key)})}function Ne(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)}}function q(ie,fe,re){for(var M in ie)M!==re&&ie[M].forEach(function(k){return fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function G(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];if(fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey))return!0}return!1}function pe(ie,fe,re){var M,k,J,we,Fe;for(var nt in ie)if(nt!==re)for(M=ie[nt].values();!0!==(k=M.next()).done;)if(we=(J=k.value).source,fe(J.key,J.attributes,we.key,(Fe=J.target).key,we.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function ue(ie,fe){var re=Object.keys(ie),M=re.length,k=null,J=0;return new se(function we(){var Fe;if(k){var nt=k.next();if(nt.done)return k=null,J++,we();Fe=nt.value}else{if(J>=M)return{done:!0};var Ot=re[J];if(Ot===fe)return J++,we();if((Fe=ie[Ot])instanceof Set)return k=Fe.values(),we();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(ie,fe,re){var M=fe[re];M&&ie.push(M.key)}function _t(ie,fe,re){var M=fe[re];M&&M.forEach(function(k){return ie.push(k.key)})}function pt(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function ve(ie,fe,re){var M=ie[fe];M&&M.forEach(function(k){return re(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function L(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;return re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(ie,fe,re){var M=ie[fe];if(M){for(var k,J,we=M.values();!0!==(k=we.next()).done;)if(re((J=k.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function B(ie,fe){var re=ie[fe];if(re instanceof Set){var M=re.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return se.of([re.key,re.attributes,re.source.key,re.target.key,re.source.attributes,re.target.attributes])}function Re(ie,fe){if(0===ie.size)return[];if("mixed"===fe||fe===ie.type)return"function"==typeof Array.from?Array.from(ie._edges.keys()):te(ie._edges.keys(),ie._edges.size);for(var re,M,J=new Array("undirected"===fe?ie.undirectedSize:ie.directedSize),we="undirected"===fe,Fe=ie._edges.values(),nt=0;!0!==(re=Fe.next()).done;)(M=re.value).undirected===we&&(J[nt++]=M.key);return J}function Qe(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey)}}function St(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;if(re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey))break}}function Nt(ie,fe){if(0===ie.size)return se.empty();var re="mixed"!==fe&&fe!==ie.type,M="undirected"===fe,k=ie._edges.values();return new se(function(){for(var J,we;;){if((J=k.next()).done)return J;if(we=J.value,!re||we.undirected===M)break}return{value:[we.key,we.attributes,we.source.key,we.target.key,we.source.attributes,we.target.attributes],done:!1}})}function On(ie,fe,re,M){var k=[],J=ie?$e:Ve;return"undirected"!==fe&&("out"!==re&&J(k,M.in),"in"!==re&&J(k,M.out),!re&&M.directedSelfLoops>0&&k.splice(k.lastIndexOf(M.key),1)),"directed"!==fe&&J(k,M.undirected),k}function kn(ie,fe,re,M,k){var J=ie?q:Ne;"undirected"!==fe&&("out"!==re&&J(M.in,k),"in"!==re&&J(M.out,k,re?null:M.key)),"directed"!==fe&&J(M.undirected,k)}function Yn(ie,fe,re,M,k){var J=ie?pe:G;"undirected"!==fe&&("out"!==re&&J(M.in,k)||"in"!==re&&J(M.out,k,re?null:M.key))||"directed"===fe||J(M.undirected,k)}function Ti(ie,fe,re){var M=se.empty();return"undirected"!==ie&&("out"!==fe&&void 0!==re.in&&(M=Ke(M,ue(re.in))),"in"!==fe&&void 0!==re.out&&(M=Ke(M,ue(re.out,fe?null:re.key)))),"directed"!==ie&&void 0!==re.undirected&&(M=Ke(M,ue(re.undirected))),M}function wi(ie,fe,re,M,k){var J=fe?_t:je,we=[];return"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&J(we,M.in,k),void 0!==M.out&&"in"!==re&&J(we,M.out,k),!re&&M.directedSelfLoops>0&&we.splice(we.lastIndexOf(M.key),1)),"directed"!==ie&&void 0!==M.undirected&&J(we,M.undirected,k),we}function Xr(ie,fe,re,M,k,J){var we=fe?ve:pt;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J),M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J)),"directed"!==ie&&void 0!==M.undirected&&we(M.undirected,k,J)}function Ls(ie,fe,re,M,k,J){var we=fe?N:L;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J)||M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J,re?null:M.key))||"directed"===ie||void 0===M.undirected||we(M.undirected,k,J)}function gs(ie,fe,re,M){var k=se.empty();return"undirected"!==ie&&(void 0!==re.in&&"out"!==fe&&M in re.in&&(k=Ke(k,B(re.in,M))),void 0!==re.out&&"in"!==fe&&M in re.out&&(k=Ke(k,B(re.out,M)))),"directed"!==ie&&void 0!==re.undirected&&M in re.undirected&&(k=Ke(k,B(re.undirected,M))),k}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(ie,fe){if(void 0!==fe)for(var re in fe)ie.add(re)}function el(ie,fe,re){if("mixed"!==ie){if("undirected"===ie)return Object.keys(re.undirected);if("string"==typeof fe)return Object.keys(re[fe])}var M=new Set;return"undirected"!==ie&&("out"!==fe&&Qr(M,re.in),"in"!==fe&&Qr(M,re.out)),"directed"!==ie&&Qr(M,re.undirected),te(M.values(),M.size)}function kl(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;re(Fe.key,Fe.attributes)}}function Sa(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;ie.has(nt.key)||(ie.add(nt.key),M(nt.key,nt.attributes))}}function Es(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;if(re(Fe.key,Fe.attributes))return!0}return!1}function Jt(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;if(!ie.has(nt.key)&&(ie.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function tl(ie,fe){var re=Object.keys(fe),M=re.length,k=0;return new se(function(){if(k>=M)return{done:!0};var J=fe[re[k++]];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===ie?J.target:we;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(ie,fe,re){var M=Object.keys(re),k=M.length,J=0;return new se(function we(){if(J>=k)return{done:!0};var Fe=re[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return ie.has(We.key)?we():(ie.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(ie,fe,re,M,k){var J=ie._nodes.get(M);if("undirected"!==fe){if("out"!==re&&void 0!==J.in)for(var we in J.in)if(we===k)return!0;if("in"!==re&&void 0!==J.out)for(var Fe in J.out)if(Fe===k)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===k)return!0;return!1}function Le(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We=fe._nodes.values(),Wt=fe.type;!0!==(M=We.next()).done;){if(k=M.value,"undirected"!==Wt)for(J in we=k.out)if(nt=(Fe=we[J]).target,Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return;if("directed"!==Wt)for(J in we=k.undirected)if((nt=(Fe=we[J]).target).key!==J&&(nt=Fe.source),Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return}}function ut(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We,Wt,xt=fe._nodes.values(),yn=fe.type;!0!==(M=xt.next()).done;){if(k=M.value,"undirected"!==yn)for(J in nt=k.out)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if(We=(Ot=Fe.value).target,Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return;if("directed"!==yn)for(J in nt=k.undirected)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if((We=(Ot=Fe.value).target).key!==J&&(We=Ot.source),Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return}}function Ze(ie,fe){var re={key:ie};return Q(fe.attributes)||(re.attributes=he({},fe.attributes)),re}function At(ie,fe){var re={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(re.key=ie),Q(fe.attributes)||(re.attributes=he({},fe.attributes)),fe.undirected&&(re.undirected=!0),re}function Mt(ie){return P(ie)?"key"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(ie){return P(ie)?"source"in ie?"target"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?"undirected"in ie&&"boolean"!=typeof ie.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(ie,fe,re){var M=new ie.NodeDataClass(fe,re);return ie._nodes.set(fe,M),ie.emit("nodeAdded",{key:fe,attributes:re}),M}function _n(ie,fe,re,M,k,J,we,Fe){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,we=""+we,Fe=Fe||{},!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=ie._nodes.get(J),Ot=ie._nodes.get(we);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Ot)throw new ne("Graph.".concat(fe,': target node "').concat(we,'" not found.'));var We={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(We)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));if(!ie.multi&&(M?void 0!==nt.undirected[we]:void 0!==nt.out[we]))throw new _e("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(we,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new Xe(M,k,re,nt,Ot,Fe);return ie._edges.set(k,Wt),J===we?M?(nt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(nt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(nt.undirectedDegree++,Ot.undirectedDegree++):(nt.outDegree++,Ot.inDegree++),tt(ie,M,Wt,J,we,nt,Ot),M?ie._undirectedSize++:ie._directedSize++,We.key=k,ie.emit("edgeAdded",We),k}function $n(ie,fe,re,M,k,J,we,Fe,nt){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Ot;if(J=""+J,we=""+we,nt&&(Ot=Fe,Fe=void 0),!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,Wt,xt=ie._nodes.get(J),yn=ie._nodes.get(we);if(!re&&(We=ie._edges.get(k))){if(We.source.key!==J||We.target.key!==we||M&&(We.source.key!==we||We.target.key!==J))throw new _e("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(k,'" edge with "').concat(J,'" source & "').concat(we,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));Wt=We}if(Wt||ie.multi||!xt||(Wt=M?xt.undirected[we]:xt.out[we]),Wt)return(nt?Ot:Fe)?(nt?(Wt.attributes=Ot(Wt.attributes),ie.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(he(Wt.attributes,Fe),ie.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:Fe})),Wt.key):Wt.key;Fe=Fe||{},nt&&Ot&&(Fe=Ot(Fe));var Jr={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(Jr)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));return xt||(xt=Nn(ie,J,{}),J===we&&(yn=xt)),yn||(yn=Nn(ie,we,{})),We=new Xe(M,k,re,xt,yn,Fe),ie._edges.set(k,We),J===we?M?(xt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(xt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(xt.undirectedDegree++,yn.undirectedDegree++):(xt.outDegree++,yn.inDegree++),tt(ie,M,We,J,we,xt,yn),M?ie._undirectedSize++:ie._directedSize++,Jr.key=k,ie.emit("edgeAdded",Jr),k}var ie,Cn=function(ie){function fe(M){var k;if(k=ie.call(this)||this,(M=he({},ai,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Xt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,we="mixed"===M.type?Ie:"directed"===M.type?Ge:st;return z(Se(k),"NodeDataClass",we),z(Se(k),"_attributes",{}),z(Se(k),"_nodes",new Map),z(Se(k),"_edges",new Map),z(Se(k),"_directedSize",0),z(Se(k),"_undirectedSize",0),z(Se(k),"_directedSelfLoopCount",0),z(Se(k),"_undirectedSelfLoopCount",0),z(Se(k),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),z(Se(k),"_options",M),zn.forEach(function(Fe){return z(Se(k),Fe,k[Fe])}),v(Se(k),"order",function(){return k._nodes.size}),v(Se(k),"size",function(){return k._edges.size}),v(Se(k),"directedSize",function(){return k._directedSize}),v(Se(k),"undirectedSize",function(){return k._undirectedSize}),v(Se(k),"selfLoopCount",function(){return k._directedSelfLoopCount+k._undirectedSelfLoopCount}),v(Se(k),"directedSelfLoopCount",function(){return k._directedSelfLoopCount}),v(Se(k),"undirectedSelfLoopCount",function(){return k._undirectedSelfLoopCount}),v(Se(k),"multi",k._options.multi),v(Se(k),"type",k._options.type),v(Se(k),"allowSelfLoops",k._options.allowSelfLoops),v(Se(k),"implementation",function(){return"graphology"}),k}Je(fe,ie);var re=fe.prototype;return re.hasNode=function(M){return this._nodes.has(""+M)},re.hasDirectedEdge=function(M,k){if("undirected"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&!we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasUndirectedEdge=function(M,k){if("directed"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasEdge=function(M,k){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){k=""+k;var we=this._nodes.get(M=""+M);if(!we)return!1;var Fe=void 0!==we.out&&we.out[k];return Fe||(Fe=void 0!==we.undirected&&we.undirected[k]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.directedEdge=function(M,k){if("undirected"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.directedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||void 0;return we?we.key:void 0}},re.undirectedEdge=function(M,k){if("directed"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.undirectedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.undirected&&J.undirected[k]||void 0;return we?we.key:void 0}},re.edge=function(M,k){if(this.multi)throw new _e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");k=""+k;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.edge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||J.undirected&&J.undirected[k]||void 0;if(we)return we.key},re.inDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(k?J.directedSelfLoops:0)},re.outDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(k?J.directedSelfLoops:0)},re.directedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var we=k?J.directedSelfLoops:0;return J.inDegree+we+(J.outDegree+we)},re.undirectedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(k?J.undirectedSelfLoops:0)},re.degree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.degree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var we=0,Fe=0;return"directed"!==this.type&&(k&&(Fe=J.undirectedSelfLoops),we+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(k&&(Fe=J.directedSelfLoops),we+=J.inDegree+J.outDegree+2*Fe),we},re.source=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return k.source.key},re.target=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return k.target.key},re.extremities=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[k.source.key,k.target.key]},re.opposite=function(M,k){M=""+M;var J=this._edges.get(k=""+k);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(k,'" edge in the graph.'));var we=J.source.key,Fe=J.target.key;if(M!==we&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(k,'" edge (').concat(we,", ").concat(Fe,")."));return M===we?Fe:we},re.hasExtremity=function(M,k){k=""+k;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===k||J.target.key===k},re.isUndirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return k.undirected},re.isDirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!k.undirected},re.isSelfLoop=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return k.source===k.target},re.hasGeneratedKey=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return k.generatedKey},re.addNode=function(M,k){return function(J,we,Fe){if(Fe&&!P(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(we=""+we))throw new _e('Graph.addNode: the "'.concat(we,'" node already exist in the graph.'));var nt=new J.NodeDataClass(we,Fe);return J._nodes.set(we,nt),J.emit("nodeAdded",{key:we,attributes:Fe}),nt}(this,M,k).key},re.mergeNode=function(M,k){if(k&&!P(k))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(k,'"'));k=k||{};var J=this._nodes.get(M=""+M);return J?(k&&(he(J.attributes,k),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:k})),M):(J=new this.NodeDataClass(M,k),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:k}),M)},re.updateNode=function(M,k){if(k&&"function"!=typeof k)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(k,'"'));var J=this._nodes.get(M=""+M);if(J)return k&&(J.attributes=k(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=k?k({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},re.dropNode=function(M){var k=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(we){k.dropEdge(we)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},re.dropEdge=function(M){var k;if(arguments.length>1){var J=""+arguments[0],we=""+arguments[1];if(!(k=W(this,J,we,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(we,'" edge in the graph.'))}else if(!(k=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(k.key);var nt=k.source,Ot=k.target,We=k.attributes,Wt=k.undirected;return nt===Ot?Wt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(nt.undirectedDegree--,Ot.undirectedDegree--):(nt.outDegree--,Ot.inDegree--),Ye(this,Wt,k),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Ot.key,undirected:Wt}),this},re.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},re.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},re.getAttribute=function(M){return this._attributes[M]},re.getAttributes=function(){return this._attributes},re.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},re.setAttribute=function(M,k){return this._attributes[M]=k,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.updateAttribute=function(M,k){if("function"!=typeof k)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=k(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},re.replaceAttributes=function(M){if(!P(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},re.mergeAttributes=function(M){if(!P(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},re.getNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[k]},re.getNodeAttributes=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return k.attributes},re.hasNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(k)},re.setNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return we.attributes[k]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.updateNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=we.attributes,nt=J(Fe[k]);return Fe[k]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.removeNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[k],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:k}),this},re.replaceNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=k,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},re.mergeNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,k),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:k}),this},re.updateEachNodeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachNodeAttributesUpdated",{hints:k||null})},re.updateEachEdgeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachEdgeAttributesUpdated",{hints:k||null})},re.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Le(!1,this,M)},re.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Le(!0,this,M)},re.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Ot=M.type,We="outer",Wt=null,new se(function xt(){var yn;if("outer"===We)return!0===(yn=nt.next()).done?yn:(k=yn.value,We="directed",xt());if("directed"===We)return"undirected"===Ot?(We="undirected",xt()):(we=k.out,J=Object.keys(k.out),Fe=0,We="inner-directed",xt());if("undirected"===We){if("directed"===Ot)return We="outer",xt();we=k.undirected,J=Object.keys(k.undirected),Fe=0,We="inner-undirected"}if(!Wt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",xt();if(!Wt){var Ss=J[Fe++];return Wt=we[Ss].values(),xt()}if((yn=Wt.next()).done)return Wt=null,xt();var Jr=yn.value,Qs=Jr.target;return"inner-undirected"===We&&Qs.key===k.key&&(Qs=Jr.source),{done:!1,value:[k.key,Qs.key,k.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(xt=this)._nodes.values(),po=xt.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(yn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=yn.out,Ss=Object.keys(yn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=yn.undirected,Ss=Object.keys(yn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var wn=Ss[Qs++],go=Jr[wn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===yn.key&&(Bl=go.source),{done:!1,value:[yn.key,Bl.key,yn.attributes,Bl.attributes,go.key,go.attributes]}}));var xt,yn,Ss,Jr,Qs,Ll,po,jr,M,k,J,we,Fe,nt,Ot,We,Wt},re.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},re.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(k,J){M(J,k.attributes)})},re.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var k,J,we=this._nodes.values();!0!==(k=we.next())&&!M((J=k.value).key,J.attributes););},re.nodeEntries=function(){var M=this._nodes.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{value:[J.key,J.attributes],done:!1}})},re.exportNode=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Ze(M,k)},re.exportEdge=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return At(M,k)},re.export=function(){var M=new Array(this._nodes.size),k=0;this._nodes.forEach(function(we,Fe){M[k++]=Ze(Fe,we)});var J=new Array(this._edges.size);return k=0,this._edges.forEach(function(we,Fe){J[k++]=At(Fe,we)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},re.importNode=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Mt(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var we=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return k?this.mergeNode(we,nt):this.addNode(we,nt),this},re.importEdge=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Dt(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var we=M.source,Fe=M.target,nt=M.attributes,Ot=void 0===nt?{}:nt,We=M.undirected,Wt=void 0!==We&&We;return"key"in M?(k?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,we,Fe,Ot):(k?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,we,Fe,Ot),this},re.import=function(M){var k,J,we,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!P(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!P(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(we=M.nodes,!Array.isArray(we))throw new me("Graph.import: invalid nodes. Expecting an array.");for(k=0,J=we.length;kJ)){var Ot=new Set;Ot.add(k.undirected[nt]),k.undirected[nt]=Ot,M._nodes.get(nt).undirected[J]=Ot}})),this;var M},re.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},re.toJSON=function(){return this.export()},re.toString=function(){return"[object Graph]"},re.inspect=function(){var M=this,k={};this._nodes.forEach(function(Ot,We){k[We]=Ot.attributes});var J={},we={};this._edges.forEach(function(Ot,We){var Wt=Ot.undirected?"--":"->",xt="",yn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?M.multi&&(void 0===we[yn]?we[yn]=0:we[yn]++,xt+="".concat(we[yn],". ")):xt+="[".concat(We,"]: "),J[xt+=yn]=Ot.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=k,Fe.edges=J,z(Fe,"constructor",this.constructor),Fe},fe}(A.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(ie){return"".concat(ie,"Edge")},generateKey:!0},{name:function(ie){return"".concat(ie,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ie){return"".concat(ie,"EdgeWithKey")}},{name:function(ie){return"".concat(ie,"DirectedEdgeWithKey")},type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ie){["add","merge","update"].forEach(function(fe){var re=ie.name(fe),M="add"===fe?_n:$n;Cn.prototype[re]=ie.generateKey?function(k,J,we){return M(this,re,!0,"undirected"===(ie.type||this.type),null,k,J,we,"update"===fe)}:function(k,J,we,Fe){return M(this,re,!1,"undirected"===(ie.type||this.type),k,J,we,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),ie=Cn,Ue.forEach(function(fe){var re=fe.name,M=fe.attacher;M(ie,re("Edge"),"mixed"),M(ie,re("DirectedEdge"),"directed"),M(ie,re("UndirectedEdge"),"undirected")}),function(ie){Me.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Ot=this._nodes.get(Fe=""+Fe);if(void 0===Ot)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return On(this.multi,"mixed"===J?this.type:J,we,Ot)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" target node in the graph.'));return wi(J,this.multi,we,We,nt)}throw new me("Graph.".concat(k,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1);re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Qe(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return kn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1)+"Until";re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return St(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var J=M.type,we=M.direction,Fe=M.name.slice(0,-1)+"Entries";re.prototype[Fe]=function(nt,Ot){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return se.empty();if(!arguments.length)return Nt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Ti(J,we,We)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(nt=""+nt);if(!Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(J,we,Wt,Ot)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ie,fe)})}(Cn),function(ie){Bs.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(k,': could not find the "').concat(Ot,'" node in the graph.'));return lt(this,J,we,nt,Ot)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return el("mixed"===J?this.type:J,we,We)}throw new me("Graph.".concat(k,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1);ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,xt);if("string"==typeof We)return kl(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Sa(yn,Wt,Wt.in,xt),"in"!==We&&Sa(yn,Wt,Wt.out,xt)),"directed"!==Ot&&Sa(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1)+"Until";ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,xt);if("string"==typeof We)return Es(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Jt(yn,Wt,Wt.in,xt)||"in"!==We&&Jt(yn,Wt,Wt.out,xt))||"directed"===Ot||Jt(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var M=fe.type,k=fe.direction,J=fe.name.slice(0,-1)+"Entries";ie.prototype[J]=function(we){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return se.empty();var Fe=this._nodes.get(we=""+we);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));return function(nt,Ot,We){if("mixed"!==nt){if("undirected"===nt)return tl(We,We.undirected);if("string"==typeof Ot)return tl(We,We[Ot])}var Wt=se.empty(),xt=new Set;return"undirected"!==nt&&("out"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.in))),"in"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.out)))),"directed"!==nt&&(Wt=Ke(Wt,rt(xt,We,We.undirected))),Wt}("mixed"===M?this.type:M,k,Fe)}}(ie,fe)})}(Cn);var lr=function(ie){function fe(re){var M=he({type:"directed"},re);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),cr=function(ie){function fe(re){var M=he({type:"undirected"},re);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),Xn=function(ie){function fe(re){var M=he({multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),qi=function(ie){function fe(re){var M=he({type:"directed",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),xa=function(ie){function fe(re){var M=he({type:"undirected",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn);function Zr(ie){ie.from=function(fe,re){var M=he({},fe.options,re),k=new ie(M);return k.import(fe),k}}return Zr(Cn),Zr(lr),Zr(cr),Zr(Xn),Zr(qi),Zr(xa),Cn.Graph=Cn,Cn.DirectedGraph=lr,Cn.UndirectedGraph=cr,Cn.MultiGraph=Xn,Cn.MultiDirectedGraph=qi,Cn.MultiUndirectedGraph=xa,Cn.InvalidArgumentsGraphError=me,Cn.NotFoundGraphError=ne,Cn.UsageGraphError=_e,Cn}()},524:(Ut,it,Je)=>{var yt;!function(ee,Tt,dt,Y){"use strict";var A,Se=["","webkit","Moz","MS","ms","o"],he=Tt.createElement("div"),j=Math.round,P=Math.abs,Q=Date.now;function z(ye,De,He){return setTimeout(T(ye,He),De)}function v(ye,De,He){return!!Array.isArray(ye)&&(x(ye,He[De],He),!0)}function x(ye,De,He){var bt;if(ye)if(ye.forEach)ye.forEach(De,He);else if(ye.length!==Y)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),ye.apply(this,arguments)}}A="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var He=Object(De),bt=1;bt-1}function X(ye){return ye.trim().split(/\s+/g)}function E(ye,De,He){if(ye.indexOf&&!He)return ye.indexOf(De);for(var bt=0;btxs[De]}):bt.sort()),bt}function oe(ye,De){for(var He,bt,Gt=De[0].toUpperCase()+De.slice(1),Yt=0;Yt1&&!He.firstMultiple?He.firstMultiple=St(De):1===Gt&&(He.firstMultiple=!1);var Yt=He.firstInput,li=He.firstMultiple,Vr=li?li.center:Yt.center,es=De.center=Nt(bt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Yt.timeStamp,De.angle=Ti(Vr,es),De.distance=Yn(Vr,es),function(ye,De){var He=De.center,bt=ye.offsetDelta||{},Gt=ye.prevDelta||{},Yt=ye.prevInput||{};(1===De.eventType||4===Yt.eventType)&&(Gt=ye.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=ye.offsetDelta={x:He.x,y:He.y}),De.deltaX=Gt.x+(He.x-bt.x),De.deltaY=Gt.y+(He.y-bt.y)}(He,De),De.offsetDirection=kn(De.deltaX,De.deltaY);var xs=On(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=P(xs.x)>P(xs.y)?xs.x:xs.y,De.scale=li?function(ye,De){return Yn(De[0],De[1],pt)/Yn(ye[0],ye[1],pt)}(li.pointers,bt):1,De.rotation=li?function(ye,De){return Ti(De[1],De[0],pt)+Ti(ye[1],ye[0],pt)}(li.pointers,bt):0,De.maxPointers=He.prevInput?De.pointers.length>He.prevInput.maxPointers?De.pointers.length:He.prevInput.maxPointers:De.pointers.length,function(ye,De){var Gt,Yt,li,Vr,He=ye.lastInterval||De,bt=De.timeStamp-He.timeStamp;if(8!=De.eventType&&(bt>25||He.velocity===Y)){var es=De.deltaX-He.deltaX,xs=De.deltaY-He.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=P(Qn.x)>P(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),ye.lastInterval=De}else Gt=He.velocity,Yt=He.velocityX,li=He.velocityY,Vr=He.direction;De.velocity=Gt,De.velocityX=Yt,De.velocityY=li,De.direction=Vr}(He,De);var Qn=ye.element;D(De.srcEvent.target,Qn)&&(Qn=De.srcEvent.target),De.target=Qn}(ye,He),ye.emit("hammer.input",He),ye.recognize(He),ye.session.prevInput=He}function St(ye){for(var De=[],He=0;He=P(De)?ye<0?2:4:De<0?8:16}function Yn(ye,De,He){He||(He=_t);var bt=De[He[0]]-ye[He[0]],Gt=De[He[1]]-ye[He[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(ye,De,He){return He||(He=_t),180*Math.atan2(De[He[1]]-ye[He[1]],De[He[0]]-ye[He[0]])/Math.PI}ve.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Ce(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ce(this.element,this.evEl,this.domHandler),this.evTarget&&ce(this.target,this.evTarget,this.domHandler),this.evWin&&ce(Ce(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,ve.apply(this,arguments)}S(Qr,ve,{handler:function(De){var He=Ls[De.type];1&He&&0===De.button&&(this.pressed=!0),2&He&&1!==De.which&&(He=4),this.pressed&&(4&He&&(this.pressed=!1),this.callback(this.manager,He,{pointers:[De],changedPointers:[De],pointerType:Xe,srcEvent:De}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ge,3:"pen",4:Xe,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,ve.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),S(Jt,ve,{handler:function(De){var He=this.store,bt=!1,Gt=De.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[De.pointerType]||De.pointerType,Vr=li==Ge,es=E(He,De.pointerId,"pointerId");1&Yt&&(0===De.button||Vr)?es<0&&(He.push(De),es=He.length-1):12&Yt&&(bt=!0),!(es<0)&&(He[es]=De,this.callback(this.manager,Yt,{pointers:He,changedPointers:[De],pointerType:li,srcEvent:De}),bt&&He.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,ve.apply(this,arguments)}function ge(ye,De){var He=$(ye.touches),bt=$(ye.changedTouches);return 12&De&&(He=Z(He.concat(bt),"identifier",!0)),[He,bt]}S(ht,ve,{handler:function(De){var He=tl[De.type];if(1===He&&(this.started=!0),this.started){var bt=ge.call(this,De,He);12&He&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,He,{pointers:bt[0],changedPointers:bt[1],pointerType:Ge,srcEvent:De})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Le="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Le,this.targetIds={},ve.apply(this,arguments)}function Ze(ye,De){var He=$(ye.touches),bt=this.targetIds;if(3&De&&1===He.length)return bt[He[0].identifier]=!0,[He,He];var Gt,Yt,li=$(ye.changedTouches),Vr=[],es=this.target;if(Yt=He.filter(function(xs){return D(xs.target,es)}),1===De)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(ye){for(var De=ye.srcEvent.clientX,He=ye.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(ye){return!!this.simultaneous[ye.id]},emit:function(ye){var De=this,He=this.state;function bt(Gt){De.manager.emit(Gt,ye)}He<8&&bt(De.options.event+We(He)),bt(De.options.event),ye.additionalEvent&&bt(ye.additionalEvent),He>=8&&bt(De.options.event+We(He))},tryEmit:function(ye){if(this.canEmit())return this.emit(ye);this.state=32},canEmit:function(){for(var ye=0;yeDe.threshold&&Gt&De.direction},attrTest:function(ye){return yn.prototype.attrTest.call(this,ye)&&(2&this.state||!(2&this.state)&&this.directionTest(ye))},emit:function(ye){this.pX=ye.deltaX,this.pY=ye.deltaY;var De=Wt(ye.direction);De&&(ye.additionalEvent=this.options.event+De),this._super.emit.call(this,ye)}}),S(Jr,yn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.scale-1)>this.options.threshold||2&this.state)},emit:function(ye){1!==ye.scale&&(ye.additionalEvent=this.options.event+(ye.scale<1?"in":"out")),this._super.emit.call(this,ye)}}),S(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distanceDe.time;if(this._input=ye,!bt||!He||12&ye.eventType&&!Gt)this.reset();else if(1&ye.eventType)this.reset(),this._timer=z(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&ye.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(ye){8===this.state&&(ye&&4&ye.eventType?this.manager.emit(this.options.event+"up",ye):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Ll,yn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.rotation)>this.options.threshold||2&this.state)}}),S(po,yn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(ye){var He,De=this.options.direction;return 30&De?He=ye.overallVelocity:6&De?He=ye.overallVelocityX:24&De&&(He=ye.overallVelocityY),this._super.attrTest.call(this,ye)&&De&ye.offsetDirection&&ye.distance>this.options.threshold&&ye.maxPointers==this.options.pointers&&P(He)>this.options.velocity&&4&ye.eventType},emit:function(ye){var De=Wt(ye.offsetDirection);De&&this.manager.emit(this.options.event+De,ye),this.manager.emit(this.options.event,ye)}}),S(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Le.source),Ze=/^\s+/,At=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,_n=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",xt="A-Z\\xc0-\\xd6\\xd8-\\xde",yn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+fe+"]",Ll="["+Ss+"]",po="["+J+"]",jr="\\d+",js="["+we+"]",xc="["+Fe+"]",wn="[^"+fe+Ss+jr+we+Fe+xt+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+fe+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",ye="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+xt+"]",bt="(?:"+xc+"|"+wn+")",Gt="(?:"+De+"|"+wn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+yn+"]?",M1=es+Vr+"(?:\\u200d(?:"+[Ca,wd,ye].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,ye].join("|")+")"+M1,ir="(?:"+[Ca+po+"?",po,wd,ye,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),t_=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+ir+M1,"g"),av=RegExp([De+"?"+xc+"+"+Yt+"(?="+[Ll,De,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,De+bt,"$"].join("|")+")",De+"?"+bt+"+"+Yt,De+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),D1=RegExp("[\\u200d"+fe+J+yn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],I1=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[Xe]=ln[tt]=ln[Qe]=ln[Ue]=ln[St]=ln[ke]=ln[Me]=ln[Ve]=ln[Ne]=ln[q]=ln[pe]=ln[_t]=ln[pt]=ln[ve]=ln[B]=!1;var ur={};ur[Xe]=ur[tt]=ur[Qe]=ur[St]=ur[Ue]=ur[ke]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Ne]=ur[q]=ur[pe]=ur[_t]=ur[pt]=ur[ve]=ur[L]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Me]=ur[Ve]=ur[B]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},O1=parseFloat,dv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,zi=Rt||Vs||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,Oo=Aa&&Aa.exports===Vl,n_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||n_&&n_.binding&&n_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,fr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(at,It,Et){switch(Et.length){case 0:return at.call(It);case 1:return at.call(It,Et[0]);case 2:return at.call(It,Et[0],Et[1]);case 3:return at.call(It,Et[0],Et[1],Et[2])}return at.apply(It,Et)}function Ur(at,It,Et,un){for(var Dn=-1,ji=null==at?0:at.length;++Dn-1}function Oh(at,It,Et){for(var un=-1,Dn=null==at?0:at.length;++un-1;);return Et}function F1(at,It){for(var Et=at.length;Et--&&nl(It,at[Et],0)>-1;);return Et}function u2(at,It){for(var Et=at.length,un=0;Et--;)at[Et]===It&&++un;return un}var d2=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),h2=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function f2(at){return"\\"+on[at]}function Ph(at){return D1.test(at)}function fv(at){var It=-1,Et=Array(at.size);return at.forEach(function(un,Dn){Et[++It]=[Dn,un]}),Et}function k1(at,It){return function(Et){return at(It(Et))}}function yu(at,It){for(var Et=-1,un=at.length,Dn=0,ji=[];++Et",""":'"',"'":"'"}),kh=function at(It){var d,Et=(It=null==It?zi:kh.defaults(zi.Object(),It,kh.pick(zi,Ih))).Array,un=It.Date,Dn=It.Error,ji=It.Function,ts=It.Math,Qi=It.Object,c_=It.RegExp,u_=It.String,Da=It.TypeError,pr=Et.prototype,bu=Qi.prototype,gp=It["__core-js_shared__"],xr=ji.prototype.toString,Zi=bu.hasOwnProperty,b2=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,j1=xr.call(Qi),d_=zi._,Md=c_("^"+xr.call(Zi).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,mv=zs?zs.allocUnsafe:ee,Ia=k1(Qi.getPrototypeOf,Qi),h_=Qi.create,mp=bu.propertyIsEnumerable,Bn=pr.splice,V1=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Qi,"defineProperty");return d({},"",{}),d}catch(f){}}(),_v=It.clearTimeout!==zi.clearTimeout&&It.clearTimeout,U1=un&&un.now!==zi.Date.now&&un.now,z1=It.setTimeout!==zi.setTimeout&&It.setTimeout,jt=ts.ceil,Ei=ts.floor,Cr=Qi.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,f_=It.isFinite,jh=pr.join,rl=k1(Qi.keys,Qi),Hr=ts.max,ms=ts.min,v2=un.now,H1=It.parseInt,Vh=ts.random,yp=pr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Qi,"create"),zh=No&&new No,Id={},G1=Ru(As),p_=Ru(_o),g_=Ru(bp),yv=Ru(Oa),m_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function Ee(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Zi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(h_)return h_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),F=!_&&pl(d),ae=!_&&!F&&gl(d),Te=!_&&!F&&!ae&&cf(d),ze=_||F||ae||Te,qe=ze?Td(d.length,u_):[],ct=qe.length;for(var kt in d)(f||Zi.call(d,kt))&&(!ze||!("length"==kt||ae&&("offset"==kt||"parent"==kt)||Te&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,ct)))&&qe.push(kt);return qe}function v_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function Ev(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function w_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var F=d[f];(!Zi.call(d,f)||!In(F,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,F){return Ic(d,function(ae,Te,ze){f(F,ae,_(ae),ze)}),F}function eA(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function E_(d,f){for(var _=-1,F=f.length,ae=Et(F),Te=null==d;++_=f?d:f)),d}function Hs(d,f,_,F,ae,Te){var ze,qe=1&f,ct=2&f,kt=4&f;if(_&&(ze=ae?_(d,F,ae,Te):_(d)),ze!==ee)return ze;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(ze=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Zi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!qe)return eo(d,ze)}else{var zt=$s(d),en=zt==Ve||zt==$e;if(gl(d))return Np(d,qe);if(zt==pe||zt==Xe||en&&!ae){if(ze=ct||en?{}:$v(d),!qe)return ct?function(d,f){return Fa(d,zv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(ze,d)):function(d,f){return Fa(d,B_(d),f)}(d,eA(ze,d))}else{if(!ur[zt])return ae?d:{};ze=function(d,f,_){var F=d.constructor;switch(f){case Qe:return Mu(d);case Ue:case ke:return new F(+d);case St:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return N_(d,_);case Ne:return new F;case q:case ve:return new F(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case pt:return new F;case L:return function(d){return Od?Qi(Od.call(d)):{}}(d)}}(d,zt,qe)}}Te||(Te=new Na);var bn=Te.get(d);if(bn)return bn;Te.set(d,ze),vT(d)?d.forEach(function(jn){ze.add(Hs(jn,f,_,jn,d,Te))}):mT(d)&&d.forEach(function(jn,mi){ze.set(mi,Hs(jn,f,_,mi,d,Te))});var gi=Lt?ee:(kt?ct?k_:Yl:ct?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(ze,mi,Hs(jn,f,_,mi,d,Te))}),ze}function Ap(d,f,_){var F=_.length;if(null==d)return!F;for(d=Qi(d);F--;){var ae=_[F],ze=d[ae];if(ze===ee&&!(ae in d)||!(0,f[ae])(ze))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(Se);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,F){var ae=-1,Te=Ul,ze=!0,qe=d.length,ct=[],kt=f.length;if(!qe)return ct;_&&(f=Xi(f,Jo(_))),F?(Te=Oh,ze=!1):f.length>=200&&(Te=Nh,ze=!1,f=new Ra(f));e:for(;++ae-1},Hl.prototype.set=function(d,f){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,f])):_[F][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),F=_.size;return _.set(d,f),this.size+=_.size==F?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,W),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var F=_.__data__;if(!_o||F.length<199)return F.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(F)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),x_=ul(Tp,!0);function xv(d,f){var _=!0;return Ic(d,function(F,ae,Te){return _=!!f(F,ae,Te)}),_}function Yh(d,f,_){for(var F=-1,ae=d.length;++F0&&_(qe)?f>1?Ts(qe,f-1,_,F,ae):zr(ae,qe):F||(ae[ae.length]=qe)}return ae}var Pd=Nv(),Fd=Nv(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,F=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Zi.call(d,f)}function Ld(d,f){return null!=d&&f in Qi(d)}function Su(d,f,_){for(var F=_?Oh:Ul,ae=d[0].length,Te=d.length,ze=Te,qe=Et(Te),ct=1/0,kt=[];ze--;){var Lt=d[ze];ze&&f&&(Lt=Xi(Lt,Jo(f))),ct=ms(Lt.length,ct),qe[ze]=!_&&(f||ae>=120&&Lt.length>=120)?new Ra(ze&&Lt):ee}Lt=d[0];var zt=-1,en=qe[0];e:for(;++zt=qe?ct:ct*("desc"==_[F]?-1:1)}return d.index-f.index}(Te,ze,_)});Et--;)at[Et]=at[Et].value;return at}(sA(d,function(Te,ze,qe){return{criteria:Xi(f,function(kt){return kt(Te)}),index:++F,value:Te}}))}function Dv(d,f,_){for(var F=-1,ae=f.length,Te={};++F-1;)qe!==d&&Bn.call(qe,ct,1),Bn.call(d,ct,1);return d}function Qh(d,f){for(var _=d?f.length:0,F=_-1;_--;){var ae=f[_];if(_==F||ae!==Te){var Te=ae;Bo(ae)?Bn.call(d,ae,1):Cu(d,ae)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ce)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(wA(d,f,io),d+"")}function aA(d){return v_(th(d))}function D2(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,F){if(!Tr(d))return d;for(var ae=-1,Te=(f=Pc(f,d)).length,ze=Te-1,qe=d;null!=qe&&++aeae?0:ae+f),(_=_>ae?ae:_)<0&&(_+=ae),ae=f>_?0:_-f>>>0,f>>>=0;for(var Te=Et(ae);++F>>1,ze=d[Te];null!==ze&&!ca(ze)&&(_?ze<=f:ze=200){var kt=f?null:F_(d);if(kt)return o_(kt);ze=!1,ae=Nh,ct=new Ra}else ct=f?[]:qe;e:for(;++F=F?d:Ds(d,f,_)}var uA=_v||function(d){return zi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,F=mv?mv(_):new d.constructor(_);return d.copy(F),F}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function N_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,F=null===d,ae=d==d,Te=ca(d),ze=f!==ee,qe=null===f,ct=f==f,kt=ca(f);if(!qe&&!kt&&!Te&&d>f||Te&&ze&&ct&&!qe&&!kt||F&&ze&&ct||!_&&ct||!ae)return 1;if(!F&&!Te&&!kt&&d1?_[ae-1]:ee,ze=ae>2?_[2]:ee;for(Te=d.length>3&&"function"==typeof Te?(ae--,Te):ee,ze&&Ws(_[0],_[1],ze)&&(Te=ae<3?ee:Te,ae=1),f=Qi(f);++F-1?ae[Te?f[ze]:ze]:ee}}function Iu(d){return dl(function(f){var _=f.length,F=_,ae=Po.prototype.thru;for(d&&f.reverse();F--;){var Te=f[F];if("function"!=typeof Te)throw new Da(Se);if(ae&&!ze&&"wrapper"==Vp(Te))var ze=new Po([],!0)}for(F=ze?F:_;++F<_;){var qe=Vp(Te=f[F]),ct="wrapper"==qe?L_(Te):ee;ze=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?ze[Vp(ct[0])].apply(ze,ct[3]):1==Te.length&&Up(Te)?ze[qe]():ze.thru(Te)}return function(){var kt=arguments,Lt=kt[0];if(ze&&1==kt.length&&Rn(Lt))return ze.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,F,ae,Te,ze,qe,ct,kt){var Lt=f&K,zt=1&f,en=2&f,bn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=Et(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(bn)var qs=$d(jn),ua=u2(Mi,qs);if(F&&(Mi=Ud(Mi,F,ae,bn)),Te&&(Mi=Rv(Mi,Te,ze,bn)),mi-=ua,bn&&mi1&&Mi.reverse(),Lt&&ctqe))return!1;var kt=Te.get(d),Lt=Te.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,bn=2&_?new Ra:ee;for(Te.set(d,f),Te.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[F],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(F,function(d,f){return Us(st,function(_){var F="_."+_[0];f&_[1]&&!Ul(d,F)&&d.push(F)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(F),_)))}function G_(d){var f=0,_=0;return function(){var F=v2(),ae=16-(F-_);if(_=F,ae>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,F=d.length,ae=F-1;for(f=f===ee?F:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,WA(d,_)});function ey(d){var f=Ee(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var ty=dl(function(d){var f=d.length,_=f?d[0]:0,F=this.__wrapped__,ae=function(Te){return E_(Te,d)};return!(f>1||this.__actions__.length)&&F instanceof fi&&Bo(_)?((F=F.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[ae],thisArg:ee}),new Po(F,this.__chain__).thru(function(Te){return f&&!Te.length&&Te.push(ee),Te})):this.thru(ae)}),KA=ns(function(d,f,_){Zi.call(d,_)?++d[_]:al(d,_,1)}),ZA=Fv(W_),JA=Fv(q_);function sy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:x_)(d,Fn(f,3))}var tT=ns(function(d,f,_){Zi.call(d,_)?d[_].push(f):al(d,_,[f])}),fw=pi(function(d,f,_){var F=-1,ae="function"==typeof f,Te=bo(d)?Et(d.length):[];return Ic(d,function(ze){Te[++F]=ae?ls(f,ze,_):Pa(ze,f,_)}),Te}),pw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Xi:sA)(d,Fn(f,3))}var mw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=U1||function(){return zi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,K,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function ay(d,f){var _;if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var F=1;if(_.length){var ae=yu(_,$d(af));F|=V}return ql(d,F,f,_,ae)}),Xd=pi(function(d,f,_){var F=3;if(_.length){var ae=yu(_,$d(Xd));F|=V}return ql(f,F,d,_,ae)});function Sw(d,f,_){var F,ae,Te,ze,qe,ct,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(Se);function bn($i){var yl=F,Uc=ae;return F=ae=ee,kt=$i,ze=d.apply(Uc,yl)}function Ln($i){return kt=$i,qe=ef(mi,f),Lt?bn($i):ze}function jn($i){var yl=$i-ct;return ct===ee||yl>=f||yl<0||zt&&$i-kt>=Te}function mi(){var $i=Nu();if(jn($i))return Mi($i);qe=ef(mi,function($i){var uM=f-($i-ct);return zt?ms(uM,Te-($i-kt)):uM}($i))}function Mi($i){return qe=ee,en&&F?bn($i):(F=ae=ee,ze)}function ua(){var $i=Nu(),yl=jn($i);if(F=arguments,ae=this,ct=$i,yl){if(qe===ee)return Ln(ct);if(zt)return uA(qe),qe=ef(mi,f),bn(ct)}return qe===ee&&(qe=ef(mi,f)),ze}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Te=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Te,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){qe!==ee&&uA(qe),kt=0,F=ct=ae=qe=ee},ua.flush=function(){return qe===ee?ze:Mi(Nu())},ua}var sT=pi(function(d,f){return qh(d,1,f)}),xw=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(Se);var _=function(){var F=arguments,ae=f?f.apply(this,F):F[0],Te=_.cache;if(Te.has(ae))return Te.get(ae);var ze=d.apply(this,F);return _.cache=Te.set(ae,ze)||Te,ze};return _.cache=new(lf.Cache||sl),_}function uy(d){if("function"!=typeof d)throw new Da(Se);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var oT=cA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Xi(f[0],Jo(Fn())):Xi(Ts(f,1),Jo(Fn()))).length;return pi(function(F){for(var ae=-1,Te=ms(F.length,_);++ae=f}),pl=tA(function(){return arguments}())?tA:function(d){return Mr(d)&&Zi.call(d,"callee")&&!mp.call(d,"callee")},Rn=Et.isArray,Iw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==Qe};function bo(d){return null!=d&&hy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Fy,Ow=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==ke};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Me||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ve||f==$e||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function hy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ce}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var mT=fr?Jo(fr):function(d){return Mr(d)&&$s(d)==Ne};function bT(d){return"number"==typeof d||Mr(d)&&Ms(d)==q}function Jp(d){if(!Mr(d)||Ms(d)!=pe)return!1;var f=Ia(d);if(null===f)return!0;var _=Zi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==j1}var Fw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},vT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==pt};function py(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==ve}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==L}var cf=as?Jo(as):function(d){return Mr(d)&&hy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Mv),gy=Lp(function(d,f){return d<=f});function kw(d){if(!d)return[];if(bo(d))return py(d)?il(d):eo(d);if(Bh&&d[Bh])return function(at){for(var It,Et=[];!(It=at.next()).done;)Et.push(It.value);return Et}(d[Bh]());var f=$s(d);return(f==Ne?fv:f==pt?o_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function my(d){return d?Eu(Jn(d),0,_e):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=hv(d);var _=lr.test(d);return _||Xn.test(d)?dv(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Lw(d){return Fa(d,no(d))}function Gi(d){return null==d?"":Lo(d)}var wT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Zi.call(f,_)&&ol(d,_,f[_])}),ET=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,F){Fa(f,no(f),d,F)}),ST=$l(function(d,f,_,F){Fa(f,Os(f),d,F)}),Bw=dl(E_),CT=pi(function(d,f){d=Qi(d);var _=-1,F=f.length,ae=F>2?f[2]:ee;for(ae&&Ws(f[0],f[1],ae)&&(F=1);++_1),Te}),Fa(d,k_(d),_),F&&(_=Hs(_,7,Bp));for(var ae=f.length;ae--;)Cu(_,f[ae]);return _}),IT=dl(function(d,f){return null==d?{}:function(d,f){return Dv(d,f,function(_,F){return eg(d,F)})}(d,f)});function $w(d,f){if(null==d)return{};var _=Xi(k_(d),function(F){return[F]});return f=Fn(f),Dv(d,_,function(F,ae){return f(F,ae[0])})}var OT=Ou(Os),qw=Ou(no);function th(d){return null==d?[]:s_(d,Os(d))}var kT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?vy(f):f)});function vy(d){return ig(Gi(d).toLowerCase())}function wy(d){return(d=Gi(d))&&d.replace(xa,d2).replace(t_,"")}var BT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),jT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),X2=Pp("toLowerCase"),GT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),xy=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Jw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function My(d,f,_){return d=Gi(d),(f=_?ee:f)===ee?function(at){return jl.test(at)}(d)?function(at){return at.match(av)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(f)||[]}var Dy=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),eE=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function Iy(d){return function(){return d}}var Z2=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return rA("function"==typeof d?d:Hs(d,1))}var Oy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),tE=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Ry(d,f,_){var F=Os(f),ae=Kh(f,F);null==_&&(!Tr(f)||!ae.length&&F.length)&&(_=f,f=d,d=this,ae=Kh(f,Os(f)));var Te=!(Tr(_)&&"chain"in _&&!_.chain),ze=la(d);return Us(ae,function(qe){var ct=f[qe];d[qe]=ct,ze&&(d.prototype[qe]=function(){var kt=this.__chain__;if(Te||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return ct.apply(d,zr([this.value()],arguments))})}),d}function Ny(){}var ZT=Fp(Xi),JT=Fp(ti),iE=Fp(Ro);function ku(d){return ra(d)?i_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var eM=Lv(),tM=Lv(!0);function Vc(){return[]}function Fy(){return!1}var Wn=P_(function(d,f){return d+f},0),ky=Gd("ceil"),ek=P_(function(d,f){return d/f},1),Ql=Gd("floor"),aE=P_(function(d,f){return d*f},1),lE=Gd("round"),cE=P_(function(d,f){return d-f},0);return Ee.after=function(d,f){if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},Ee.ary=Kp,Ee.assign=wT,Ee.assignIn=ET,Ee.assignInWith=Qd,Ee.assignWith=ST,Ee.at=Bw,Ee.before=ay,Ee.bind=af,Ee.bindAll=eE,Ee.bindKey=Xd,Ee.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},Ee.chain=ey,Ee.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var F=null==d?0:d.length;if(!F||f<1)return[];for(var ae=0,Te=0,ze=Et(jt(F/f));aeae?0:ae+_),(F=F===ee||F>ae?ae:Jn(F))<0&&(F+=ae),F=_>F?0:my(F);_>>0)?(d=Gi(d))&&("string"==typeof f||null!=f&&!Fw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},Ee.spread=function(d,f){if("function"!=typeof d)throw new Da(Se);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var F=_[f],ae=cl(_,0,f);return F&&zr(ae,F),ls(d,this,ae)})},Ee.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},Ee.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},Ee.takeRight=function(d,f,_){var F=null==d?0:d.length;return F?Ds(d,(f=F-(f=_||f===ee?1:Jn(f)))<0?0:f,F):[]},Ee.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},Ee.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},Ee.tap=function(d,f){return f(d),d},Ee.throttle=function(d,f,_){var F=!0,ae=!0;if("function"!=typeof d)throw new Da(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,ae="trailing"in _?!!_.trailing:ae),Sw(d,f,{leading:F,maxWait:f,trailing:ae})},Ee.thru=Yd,Ee.toArray=kw,Ee.toPairs=OT,Ee.toPairsIn=qw,Ee.toPath=function(d){return Rn(d)?Xi(d,ni):ca(d)?[d]:eo(Kv(Gi(d)))},Ee.toPlainObject=Lw,Ee.transform=function(d,f,_){var F=Rn(d),ae=F||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Te=d&&d.constructor;_=ae?F?new Te:[]:Tr(d)&&la(Te)?wu(Ia(d)):{}}return(ae?Us:ll)(d,function(ze,qe,ct){return f(_,ze,qe,ct)}),_},Ee.unary=function(d){return Kp(d,1)},Ee.union=sw,Ee.unionBy=HA,Ee.unionWith=GA,Ee.uniq=function(d){return d&&d.length?Rc(d):[]},Ee.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},Ee.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},Ee.unset=function(d,f){return null==d||Cu(d,f)},Ee.unzip=ow,Ee.unzipWith=WA,Ee.update=function(d,f,_){return null==d?d:Op(d,f,R_(_))},Ee.updateWith=function(d,f,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,f,R_(_),F)},Ee.values=th,Ee.valuesIn=function(d){return null==d?[]:s_(d,no(d))},Ee.without=aw,Ee.words=My,Ee.wrap=function(d,f){return Xp(R_(f),d)},Ee.xor=j2,Ee.xorBy=jo,Ee.xorWith=Z_,Ee.zip=J_,Ee.zipObject=function(d,f){return Rp(d||[],f||[],ol)},Ee.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},Ee.zipWith=of,Ee.entries=OT,Ee.entriesIn=qw,Ee.extend=ET,Ee.extendWith=Qd,Ry(Ee,Ee),Ee.add=Wn,Ee.attempt=Dy,Ee.camelCase=kT,Ee.capitalize=vy,Ee.ceil=ky,Ee.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},Ee.clone=function(d){return Hs(d,4)},Ee.cloneDeep=function(d){return Hs(d,5)},Ee.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},Ee.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},Ee.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},Ee.deburr=wy,Ee.defaultTo=function(d,f){return null==d||d!=d?f:d},Ee.divide=ek,Ee.endsWith=function(d,f,_){d=Gi(d),f=Lo(f);var F=d.length,ae=_=_===ee?F:Eu(Jn(_),0,F);return(_-=f.length)>=0&&d.slice(_,ae)==f},Ee.eq=In,Ee.escape=function(d){return(d=Gi(d))&&Jt.test(d)?d.replace(Sa,h2):d},Ee.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Le,"\\$&"):d},Ee.every=function(d,f,_){var F=Rn(d)?ti:xv;return _&&Ws(d,f,_)&&(f=ee),F(d,Fn(f,3))},Ee.find=ZA,Ee.findIndex=W_,Ee.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},Ee.findLast=JA,Ee.findLastIndex=q_,Ee.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},Ee.floor=Ql,Ee.forEach=sy,Ee.forEachRight=Wp,Ee.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},Ee.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},Ee.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},Ee.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},Ee.get=hf,Ee.gt=Zt,Ee.gte=Dw,Ee.has=function(d,f){return null!=d&&Gv(d,f,kd)},Ee.hasIn=eg,Ee.head=Qv,Ee.identity=io,Ee.includes=function(d,f,_,F){d=bo(d)?d:th(d),_=_&&!F?Jn(_):0;var ae=d.length;return _<0&&(_=Hr(ae+_,0)),py(d)?_<=ae&&d.indexOf(f,_)>-1:!!ae&&nl(d,f,_)>-1},Ee.indexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=null==_?0:Jn(_);return ae<0&&(ae=Hr(F+ae,0)),nl(d,f,ae)},Ee.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ce&&d<=Ce},Ee.isSet=vT,Ee.isString=py,Ee.isSymbol=ca,Ee.isTypedArray=cf,Ee.isUndefined=function(d){return d===ee},Ee.isWeakMap=function(d){return Mr(d)&&$s(d)==B},Ee.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},Ee.join=function(d,f){return null==d?"":jh.call(d,f)},Ee.kebabCase=BT,Ee.last=sa,Ee.lastIndexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=F;return _!==ee&&(ae=(ae=Jn(_))<0?Hr(F+ae,0):ms(ae,F-1)),f==f?function(at,It,Et){for(var un=Et+1;un--;)if(at[un]===It)return un;return un}(d,f,ae):Cd(d,Ac,ae,!0)},Ee.lowerCase=jT,Ee.lowerFirst=X2,Ee.lt=Bc,Ee.lte=gy,Ee.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},Ee.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},Ee.mean=function(d){return Cs(d,io)},Ee.meanBy=function(d,f){return Cs(d,Fn(f,2))},Ee.min=function(d){return d&&d.length?Yh(d,io,Mv):ee},Ee.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Mv):ee},Ee.stubArray=Vc,Ee.stubFalse=Fy,Ee.stubObject=function(){return{}},Ee.stubString=function(){return""},Ee.stubTrue=function(){return!0},Ee.multiply=aE,Ee.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},Ee.noConflict=function(){return zi._===this&&(zi._=d_),this},Ee.noop=Ny,Ee.now=Nu,Ee.pad=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;if(!f||F>=f)return d;var ae=(f-F)/2;return kp(Ei(ae),_)+d+kp(jt(ae),_)},Ee.padEnd=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;return f&&Ff){var F=d;d=f,f=F}if(_||d%1||f%1){var ae=Vh();return ms(d+ae*(f-d+O1("1e-"+((ae+"").length-1))),f)}return Gl(d,f)},Ee.reduce=function(d,f,_){var F=Rn(d)?_u:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,Ic)},Ee.reduceRight=function(d,f,_){var F=Rn(d)?xd:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,x_)},Ee.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(Gi(d),f)},Ee.replace=function(){var d=arguments,f=Gi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},Ee.result=function(d,f,_){var F=-1,ae=(f=Pc(f,d)).length;for(ae||(ae=1,d=ee);++FCe)return[];var _=_e,F=ms(d,_e);f=Fn(f),d-=_e;for(var ae=Td(F,f);++_=Te)return d;var qe=_-Fh(F);if(qe<1)return F;var ct=ze?cl(ze,0,qe).join(""):d.slice(0,qe);if(ae===ee)return ct+F;if(ze&&(qe+=ct.length-qe),Fw(ae)){if(d.slice(qe).search(ae)){var kt,Lt=ct;for(ae.global||(ae=c_(ae.source,Gi($n.exec(ae))+"g")),ae.lastIndex=0;kt=ae.exec(Lt);)var zt=kt.index;ct=ct.slice(0,zt===ee?qe:zt)}}else if(d.indexOf(Lo(ae),qe)!=qe){var en=ct.lastIndexOf(ae);en>-1&&(ct=ct.slice(0,en))}return ct+F},Ee.unescape=function(d){return(d=Gi(d))&&Es.test(d)?d.replace(kl,l_):d},Ee.uniqueId=function(d){var f=++b2;return Gi(d)+f},Ee.upperCase=Jw,Ee.upperFirst=ig,Ee.each=sy,Ee.eachRight=Wp,Ee.first=Qv,Ry(Ee,function(){var d={};return ll(Ee,function(f,_){Zi.call(Ee.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),Ee.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ee[d].placeholder=Ee}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var F=this.__filtered__&&!f?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ms(_,F.__takeCount__):F.__views__.push({size:ms(_,_e),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,F=1==_||3==_;fi.prototype[d]=function(ae){var Te=this.clone();return Te.__iteratees__.push({iteratee:Fn(ae,3),type:_}),Te.__filtered__=Te.__filtered__||F,Te}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(uy(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(_e)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),F=/^(?:head|last)$/.test(f),ae=Ee[F?"take"+("last"==f?"Right":""):f],Te=F||/^find/.test(f);!ae||(Ee.prototype[f]=function(){var ze=this.__wrapped__,qe=F?[1]:arguments,ct=ze instanceof fi,kt=qe[0],Lt=ct||Rn(ze),zt=function(mi){var Mi=ae.apply(Ee,zr([mi],qe));return F&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(ct=Lt=!1);var en=this.__chain__,bn=!!this.__actions__.length,Ln=Te&&!en,gi=ct&&!bn;if(!Te&&Lt){ze=gi?ze:new fi(this);var jn=d.apply(ze,qe);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,qe):(jn=this.thru(zt),Ln?F?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=pr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);Ee.prototype[d]=function(){var ae=arguments;if(F&&!this.__chain__){var Te=this.value();return f.apply(Rn(Te)?Te:[],ae)}return this[_](function(ze){return f.apply(Rn(ze)?ze:[],ae)})}}),ll(fi.prototype,function(d,f){var _=Ee[f];if(_){var F=_.name+"";Zi.call(Id,F)||(Id[F]=[]),Id[F].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),F=f<0,ae=_?d.length:0,Te=function(d,f,_){for(var F=-1,ae=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ee.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var F=nf(_);F.__index__=0,F.__values__=ee,f?ae.__wrapped__=F:f=F;var ae=F;_=_.__wrapped__}return ae.__wrapped__=d,f},Ee.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[Q_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(Q_)},Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=function(){return lA(this.__wrapped__,this.__actions__)},Ee.prototype.first=Ee.prototype.head,Bh&&(Ee.prototype[Bh]=function(){return this}),Ee}();zi._=kh,(yt=function(){return kh}.call(it,Je,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,P=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},z=function(lt){return Q[lt]};var x=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function O(rt){return rt.replace(x,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var A=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var V={},R=/^[^:]+:\/*[^/]*$/,K=/^([^:]+:)[\s\S]*$/,ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(rt,lt){V[" "+rt]||(V[" "+rt]=R.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=V[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(K,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ce,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var be=0;be1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Ce=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Le,ut,Ze){for(var At=!1,Mt=ut;--Mt>=0&&"\\"===Ze[Mt];)At=!At;return At?"|":" |"}).split(/ \|/),be=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:be[0]}:{raw:"\n"}},lt.code=function(ge){var be=this.rules.block.code.exec(ge);if(be){var Le=be[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:be[0],codeBlockStyle:"indented",text:this.options.pedantic?Le:me(Le,"\n")}}},lt.fences=function(ge){var be=this.rules.block.fences.exec(ge);if(be){var Le=be[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(be){var Le=be.match(/^\s+/);return null===Le?be:Le[0].length>=ge.length?be.slice(ge.length):be}).join("\n")}(Le,be[3]||"");return{type:"code",raw:Le,lang:be[2]?be[2].trim():be[2],text:ut}}},lt.heading=function(ge){var be=this.rules.block.heading.exec(ge);if(be){var Le=be[2].trim();if(/#$/.test(Le)){var ut=me(Le,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Le=ut.trim())}return{type:"heading",raw:be[0],depth:be[1].length,text:Le}}},lt.nptable=function(ge){var be=this.rules.block.nptable.exec(ge);if(be){var Le={type:"table",header:ne(be[1].replace(/^ *| *\| *$/g,"")),align:be[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:be[3]?be[3].replace(/\n$/,"").split("\n"):[],raw:be[0]};if(Le.header.length===Le.align.length){var Ze,ut=Le.align.length;for(Ze=0;Ze ?/gm,"");return{type:"blockquote",raw:be[0],text:Le}}},lt.list=function(ge){var be=this.rules.block.list.exec(ge);if(be){var Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Le=be[0],ut=be[2],Ze=ut.length>1,At={type:"list",raw:Le,ordered:Ze,start:Ze?+ut.slice(0,-1):"",loose:!1,items:[]},Mt=be[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var qi=0;qiai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice(qi,2,Mt[qi]+(!this.options.pedantic&&Nn[1].length/i.test(ut[0])&&(be=!1),!Le&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Le=!0:Le&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Le=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:be,inRawBlock:Le,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]}},lt.link=function(ge){var be=this.rules.inline.link.exec(ge);if(be){var Le=be[2].trim();if(!this.options.pedantic&&/^$/.test(Le))return;var ut=me(Le.slice(0,-1),"\\");if((Le.length-ut.length)%2==0)return}else{var Ze=Ie(be[2],"()");if(Ze>-1){var Mt=(0===be[0].indexOf("!")?5:4)+be[1].length+Ze;be[2]=be[2].substring(0,Ze),be[0]=be[0].substring(0,Mt).trim(),be[3]=""}}var Dt=be[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=be[3]?be[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test(Le)?Dt.slice(1):Dt.slice(1,-1)),Ge(be,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},be[0])}},lt.reflink=function(ge,be){var Le;if((Le=this.rules.inline.reflink.exec(ge))||(Le=this.rules.inline.nolink.exec(ge))){var ut=(Le[2]||Le[1]).replace(/\s+/g," ");if(!(ut=be[ut.toLowerCase()])||!ut.href){var Ze=Le[0].charAt(0);return{type:"text",raw:Ze,text:Ze}}return Ge(Le,ut,Le[0])}},lt.emStrong=function(ge,be,Le){void 0===Le&&(Le="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Le.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Ze=ut[1]||ut[2]||"";if(!Ze||Ze&&(""===Le||this.rules.inline.punctuation.exec(Le))){var Mt,Dt,At=ut[0].length-1,Xt=At,zn=0,ai="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,be=be.slice(-1*ge.length+At);null!=(ut=ai.exec(be));)if(Mt=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Dt=Mt.length,ut[3]||ut[4]){Xt+=Dt;continue}if((ut[5]||ut[6])&&At%3&&!((At+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(At,Dt)%2?{type:"em",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(1,At+ut.index+Dt)}:{type:"strong",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(2,At+ut.index+Dt-1)}}}}},lt.codespan=function(ge){var be=this.rules.inline.code.exec(ge);if(be){var Le=be[2].replace(/\n/g," "),ut=/[^ ]/.test(Le),Ze=/^ /.test(Le)&&/ $/.test(Le);return ut&&Ze&&(Le=Le.substring(1,Le.length-1)),Le=_e(Le,!0),{type:"codespan",raw:be[0],text:Le}}},lt.br=function(ge){var be=this.rules.inline.br.exec(ge);if(be)return{type:"br",raw:be[0]}},lt.del=function(ge){var be=this.rules.inline.del.exec(ge);if(be)return{type:"del",raw:be[0],text:be[2]}},lt.autolink=function(ge,be){var ut,Ze,Le=this.rules.inline.autolink.exec(ge);if(Le)return Ze="@"===Le[2]?"mailto:"+(ut=_e(this.options.mangle?be(Le[1]):Le[1])):ut=_e(Le[1]),{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,be){var Le;if(Le=this.rules.inline.url.exec(ge)){var ut,Ze;if("@"===Le[2])Ze="mailto:"+(ut=_e(this.options.mangle?be(Le[0]):Le[0]));else{var At;do{At=Le[0],Le[0]=this.rules.inline._backpedal.exec(Le[0])[0]}while(At!==Le[0]);ut=_e(Le[0]),Ze="www."===Le[1]?"http://"+ut:ut}return{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,be,Le){var Ze,ut=this.rules.inline.text.exec(ge);if(ut)return Ze=be?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]:_e(this.options.smartypants?Le(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Ze}},rt}(),tt=te_noopTest,Ye=te_edit,Ue=te_merge,ke={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};ke.def=Ye(ke.def).replace("label",ke._label).replace("title",ke._title).getRegex(),ke.bullet=/(?:[*+-]|\d{1,9}[.)])/,ke.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,ke.item=Ye(ke.item,"gm").replace(/bull/g,ke.bullet).getRegex(),ke.listItemStart=Ye(/^( *)(bull) */).replace("bull",ke.bullet).getRegex(),ke.list=Ye(ke.list).replace(/bull/g,ke.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ke.def.source+")").getRegex(),ke._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ke._comment=/|$)/,ke.html=Ye(ke.html,"i").replace("comment",ke._comment).replace("tag",ke._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ke.paragraph=Ye(ke._paragraph).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.blockquote=Ye(ke.blockquote).replace("paragraph",ke.paragraph).getRegex(),ke.normal=Ue({},ke),ke.gfm=Ue({},ke.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ke.gfm.nptable=Ye(ke.gfm.nptable).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.gfm.table=Ye(ke.gfm.table).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.pedantic=Ue({},ke.normal,{html:Ye("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ke._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Ye(ke.normal._paragraph).replace("hr",ke.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ke.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Ye(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Ye(ke._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Ye(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Ye(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Ye(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Ye(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Ye(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Ye(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Ye(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Ye(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=Ue({},Ke),Ke.pedantic=Ue({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Ye(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=Ue({},Ke.normal,{escape:Ye(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||$e,this.options.tokenizer=this.options.tokenizer||new Ve,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:Ne.normal,inline:q.normal};this.options.pedantic?(ge.block=Ne.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=Ne.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,be){return new rt(be).lex(ge)},rt.lexInline=function(ge,be){return new rt(be).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,be,Le){var Ze,At,Mt,Dt,Xt,zn,ut=this;for(void 0===be&&(be=[]),void 0===Le&&(Le=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(Ze=Nn.call(ut,ge,be))&&(ge=ge.substring(Ze.raw.length),be.push(Ze),!0)}))){if(Ze=this.tokenizer.space(ge)){ge=ge.substring(Ze.raw.length),Ze.type&&be.push(Ze);continue}if(Ze=this.tokenizer.code(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(Ze=this.tokenizer.fences(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.heading(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.nptable(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.hr(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.blockquote(ge)){ge=ge.substring(Ze.raw.length),Ze.tokens=this.blockTokens(Ze.text,[],Le),be.push(Ze);continue}if(Ze=this.tokenizer.list(ge)){for(ge=ge.substring(Ze.raw.length),Mt=Ze.items.length,At=0;At=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=ge.substring(0,Nn+1))}(),Le&&(Ze=this.tokenizer.paragraph(Xt))){Dt=be[be.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze),zn=Xt.length!==ge.length,ge=ge.substring(Ze.raw.length);continue}if(Ze=this.tokenizer.text(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(ge){var ai="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return be},lt.inline=function(ge){var be,Le,ut,Ze,At,Mt,Dt=ge.length;for(be=0;be0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)_n.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(At=Cn.call(Ze,ge,be))&&(ge=ge.substring(At.raw.length),be.push(At),!0)}))){if(At=this.tokenizer.escape(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.tag(ge,Le,ut)){ge=ge.substring(At.raw.length),Le=At.inLink,ut=At.inRawBlock,(Mt=be[be.length-1])&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.link(ge)){ge=ge.substring(At.raw.length),"link"===At.type&&(At.tokens=this.inlineTokens(At.text,[],!0,ut)),be.push(At);continue}if(At=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(At.raw.length),Mt=be[be.length-1],"link"===At.type?(At.tokens=this.inlineTokens(At.text,[],!0,ut),be.push(At)):Mt&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.emStrong(ge,Xt,Nn)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.codespan(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.br(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.del(ge)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.autolink(ge,ue)){ge=ge.substring(At.raw.length),be.push(At);continue}if(!Le&&(At=this.tokenizer.url(ge,ue))){ge=ge.substring(At.raw.length),be.push(At);continue}if(Dt=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,lr=ge.slice(1),cr=void 0;Ze.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Cn=Math.min(Cn,cr))}),Cn<1/0&&Cn>=0&&(Dt=ge.substring(0,Cn+1))}(),At=this.tokenizer.inlineText(Dt,ut,pe)){ge=ge.substring(At.raw.length),"_"!==At.raw.slice(-1)&&(Nn=At.raw.slice(-1)),ai=!0,(Mt=be[be.length-1])&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(ge){var $n="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return be},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:Ne,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,ve=te_escape,L=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,be,Le){var ut=(be||"").match(/\S*/)[0];if(this.options.highlight){var Ze=this.options.highlight(ge,ut);null!=Ze&&Ze!==ge&&(Le=!0,ge=Ze)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
'+(Le?ge:ve(ge,!0))+"
\n":"
"+(Le?ge:ve(ge,!0))+"
\n"},lt.blockquote=function(ge){return"
\n"+ge+"
\n"},lt.html=function(ge){return ge},lt.heading=function(ge,be,Le,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
\n":"
\n"},lt.list=function(ge,be,Le){var ut=be?"ol":"ul";return"<"+ut+(be&&1!==Le?' start="'+Le+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,be){return be&&(be=""+be+""),"\n\n"+ge+"\n"+be+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,be){var Le=be.header?"th":"td";return(be.align?"<"+Le+' align="'+be.align+'">':"<"+Le+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut='"+Le+""},lt.image=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut=''+Le+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,be,Le){return""+Le},lt.image=function(ge,be,Le){return""+Le},lt.br=function(){return""},rt}(),B=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,be){var Le=ge,ut=0;if(this.seen.hasOwnProperty(Le)){ut=this.seen[ge];do{Le=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Le))}return be||(this.seen[ge]=ut,this.seen[Le]=0),Le},lt.slug=function(ge,be){void 0===be&&(be={});var Le=this.serialize(ge);return this.getNextSafeSlug(Le,be.dryrun)},rt}(),Re=L,Qe=N,St=B,Nt=dt.exports.defaults,On=te_unescape,Yn=je,Ti=function(){function rt(ht){this.options=ht||Nt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qe,this.slugger=new St}rt.parse=function(ge,be){return new rt(be).parse(ge)},rt.parseInline=function(ge,be){return new rt(be).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,be){void 0===be&&(be=!0);var ut,Ze,At,Mt,Dt,Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Xn,qi,xa,Zr,ie,Le="",fe=ge.length;for(ut=0;ut0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,qi);Le+=this.renderer.list(Nn,$n,Cn);continue;case"html":Le+=this.renderer.html(_n.text);continue;case"paragraph":Le+=this.renderer.paragraph(this.parseInline(_n.tokens));continue;case"text":for(Nn=_n.tokens?this.parseInline(_n.tokens):_n.text;ut+1An error occurred:

    "+el(At.message+"",!0)+"
    ";throw At}}return Jt.options=Jt.setOptions=function(rt){return Bs(Jt.defaults,rt),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+el(ge.message+"",!0)+"
    ";throw ge}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(Ut,it,Je)=>{var yt=Je(284),ee=Je(830);function Tt(){this.clear()}Tt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Tt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Tt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Tt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Tt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Tt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.iterator]=Tt.prototype.values),Tt.prototype.toString=function(){return this.toArray().join(",")},Tt.prototype.toJSON=function(){return this.toArray()},Tt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Tt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect),Tt.from=function(dt){var Y=new Tt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Tt.of=function(){return Tt.from(arguments)},Ut.exports=Tt},830:Ut=>{var it="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function yt(ee,Tt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Tt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var Je=arguments,yt=Je.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:Je[ee++]}})},it.empty=function(){var Je=new it(null);return Je.done=!0,Je},it.is=function(Je){return Je instanceof it||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},Ut.exports=it},310:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Tt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var P=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return P||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Tt=yt(Je(602)),dt=yt(Je(344))},151:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(Je(321)),Tt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Tt.self||Tt.window||Tt.global,it.window=Tt.window||Tt.self||Tt.global,it.global=Tt.global||Tt.self||Tt.window,it.document=Tt.document||{},it.process=Tt.process||{};var j=console;it.console=j},761:(Ut,it,Je)=>{"use strict";var ee=Je(948),Tt=Je(321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=Je(151),Se=(j(Je(602)),j(Je(310)));ee(Je(344));function W(P){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,z=new WeakMap;return(W=function(x){return x?z:Q})(P)}function j(P,Q){if(!Q&&P&&P.__esModule)return P;if(null===P||"object"!==Tt(P)&&"function"!=typeof P)return{default:P};var z=W(Q);if(z&&z.has(P))return z.get(P);var v={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var O in P)if("default"!==O&&Object.prototype.hasOwnProperty.call(P,O)){var A=x?Object.getOwnPropertyDescriptor(P,O):null;A&&(A.get||A.set)?Object.defineProperty(v,O,A):v[O]=P[O]}return v.default=P,z&&z.set(P,v),v}},602:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(Je(321)),Tt=yt(Je(344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Tt.default)()}},344:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(Je(321))},991:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(180),it),ee(Je(103),it),ee(Je(965),it),ee(Je(595),it),ee(Je(417),it),ee(Je(451),it),ee(Je(735),it)},180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=Je(180),ee=Je(965),Tt=Je(595),dt=Je(417),Y=Je(451),Se=Je(735);let he=0;it.DataFactory=class{constructor(P){this.blankNodeCounter=0,this.blankNodePrefix=(P=P||{}).blankNodePrefix||`df_${he++}_`}namedNode(P){return new dt.NamedNode(P)}blankNode(P){return new yt.BlankNode(P||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(P,Q){return new Tt.Literal(P,Q)}variable(P){return new Se.Variable(P)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(P,Q,z,v){return new Y.Quad(P,Q,z,v||this.defaultGraph())}fromTerm(P){switch(P.termType){case"NamedNode":return this.namedNode(P.value);case"BlankNode":return this.blankNode(P.value);case"Literal":return P.language?this.literal(P.value,P.language):P.datatype.equals(Tt.Literal.XSD_STRING)?this.literal(P.value):this.literal(P.value,this.fromTerm(P.datatype));case"Variable":return this.variable(P.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(P.subject),this.fromTerm(P.predicate),this.fromTerm(P.object),this.fromTerm(P.graph))}}fromQuad(P){return this.fromTerm(P)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=Je,Je.INSTANCE=new Je},595:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=Je(417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Tt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Tt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,x,O,A){void 0===A&&(A=O),Object.defineProperty(v,A,{enumerable:!0,get:function(){return x[O]}})}:function(v,x,O,A){void 0===A&&(A=O),v[A]=x[O]}),ee=this&&this.__exportStar||function(v,x){for(var O in v)"default"!==O&&!Object.prototype.hasOwnProperty.call(x,O)&&yt(x,v,O)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Tt=Je(991),dt=Je(938),Y=Je(60);ee(Je(938),it),ee(Je(871),it),ee(Je(60),it);const Se=new Tt.DataFactory,he=new Y.Translator;function W(v,x){return he.fromRdf(v,x)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,x){return x&&"namedNode"in x&&(x={dataFactory:x}),(x=x||{})&&!x.dataFactory&&(x.dataFactory=Se),he.toRdf(v,x)},it.getTermRaw=function(v,x){return"Literal"===v.termType?W(v,x):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},60:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Tt,dt){for(const Y of Tt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Tt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Tt):ee.value}toRdf(ee,Tt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Tt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Tt,dataFactory:dt}){return dt.literal(ee,Tt)}}it.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(727),it),ee(Je(525),it),ee(Je(554),it),ee(Je(750),it),ee(Je(608),it)},935:(Ut,it,Je)=>{"use strict";var yt={};Je.r(yt),Je.d(yt,{decode:()=>Kme,encode:()=>Xme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>t_e,encode:()=>n_e});var Tt={};Je.r(Tt),Je.d(Tt,{decode:()=>i_e,encode:()=>r_e});var dt={};function Y(n){return"function"==typeof n}Je.r(dt),Je.d(dt,{decode:()=>s_e,encode:()=>o_e});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},P=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class x{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof x)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}x.EMPTY=((n=new x).closed=!0,n);const A="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends x{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[A](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const R="function"==typeof Symbol&&Symbol.observable||"@@observable";function K(n){return n}function ce(...n){return D(n)}function D(n){return 0===n.length?K:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let I=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[A])return n[A]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=X(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[R](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=X(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function X(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends x{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class oe extends y{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends I{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[A](){return new oe(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):x.EMPTY}}function Ce(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new _e(e,this.project,this.thisArg))}}class _e extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Ie=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[R])return(n=>e=>{const t=n[R]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(ke(n))return Ie(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Xe])return(n=>e=>{const t=n[Xe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ne(n,e){return new I(t=>{const i=new x;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[R]}(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>{const r=n[R]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(ke(n))return Ne(n,e);if(function(n){return n&&"function"==typeof n[Xe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new I(t=>{const i=new x;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Xe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof I?n:new I(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ve extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof I)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function B(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(B((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Qe(e,this.project,this.concurrent))}}class Qe extends ve{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return B(K,n)}function On(n,e){return e?Ne(n,e):new I(Ie(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ce(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof I?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends I{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new x,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=x.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends oe{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=Jt({__forward_ref__:Jt});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function be(n){return Le(n)?n():n}function Le(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Ze extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function _n(n,e){const t=e?` in ${e}`:"";throw new Ze("201",`No provider for ${Xt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xt(n){return{providers:n.providers||[],imports:n.imports||[]}}function yn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var wn=(()=>((wn=wn||{})[wn.Default=0]="Default",wn[wn.Host=1]="Host",wn[wn.Self=2]="Self",wn[wn.SkipSelf=4]="SkipSelf",wn[wn.Optional=8]="Optional",wn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=yn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&wn.Optional?null:void 0!==e?e:void _n(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var He=(()=>((He=He||{})[He.OnPush=0]="OnPush",He[He.Default=1]="Default",He))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},ir=[],fp=Jt({\u0275cmp:Jt}),t_=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),av=Jt({\u0275mod:Jt}),D1=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let I1=0;function ln(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===He.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ir,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||ir,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=I1++,i.inputs=dv(n.inputs,t),i.outputs=dv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(lv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(cv):null,i})}function lv(n){return zi(n)||function(n){return n[t_]||null}(n)}function cv(n){return function(n){return n[Dh]||null}(n)}const uv={};function on(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||ir,declarations:n.declarations||ir,imports:n.imports||ir,exports:n.exports||ir,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(uv[n.id]=n.type),e})}function dv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function Oo(n,e){const t=n[av]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function r_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function hv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class l_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Hi(){return gv}function gv(n){return n.type.prototype.ngOnChanges&&(n.setInput=B1),L1}function L1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function B1(n,e,t,i){const r=at(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new l_(l&&l.currentValue,e,o===Ed),n[i]=e}Hi.ngInherit=!0;const kh="__ngSimpleChanges__";function at(n){return n[kh]||null}let Qi;function pr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Qi?Qi:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function d_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function h_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function _v(){return Bn.bindingsEnabled}function jt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=f_();for(;null!==n&&64===n.type;)n=n.parent;return n}function f_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,p_(e)}function p_(n){Bn.lFrame.currentDirectiveIndex=n}function g_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function yv(){return Bn.lFrame.currentQueryIndex}function m_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&wn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&wn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=Ee();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=Ee(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ee(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return d_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=pr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let E_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(Ev(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=E_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Av:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&wn.Host?x_(r,t,i):xv(e,t,i,r);try{const o=s(i);if(null!=o||i&wn.Optional)return o;_n(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&wn.Host?e[16][6]:null;for((-1===a||i&wn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Cv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return xv(e,t,i,r)}const Cv={};function Av(){return new ea(cs(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&wn.Host&&s===a);return null!==u?Fd(e,o,u,a):Cv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new Ze("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,wn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=gv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return Le(n)?()=>{const e=Ms(be(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function I_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class k_ extends Yl{getTypeName(){return"HTML"}}class L_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class Gv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class mA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Wv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),qv=ra("rp,rt"),j_=Jh(Up,Jh(Wv,ra("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Jh(qv,ra("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Jh(qv,Wv)),V_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),U_=ra("srcset"),z_=Jh(V_,U_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),EA=ra("script,style,template");class H_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!EA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Yv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Yv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function G_(n,e){let t=null;try{tf=tf||function(n){const e=new mA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new Gv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new H_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const q_="__ngContext__";function Is(n,e){n[q_]=e}function Y_(n){const e=function(n){return n[q_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function FA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||FA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const sw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function J_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return uw(n[13])}function ty(n){return uw(n[4])}function uw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?gw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){pr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function sy(n,e){if(!(256&e[2])){const t=e[11];pr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function lT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Mw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Mw(s,r)),e}const In={};function Zt(n){Dw(Ei(),jt(),Js()+n,Vh())}function Dw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function dy(n){return 1|n}function Bw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Dw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!_v()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Kw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Xw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Yd(n);null!==i;i=ty(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function HT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Jw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function My(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Dy(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function eE(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=wn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&wn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&yn(e);a=l&&this.injectableDefInScope(l)?ku(Py(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&wn.Self?tE():this.parent).get(e,t=i&wn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(rt(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=be(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||ir))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=be(e))?e:be(e&&e.provide);const s=function(n,e,t){return rE(n)?ku(void 0,n.useValue):ku(iE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=QT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=be(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Py(n){const e=yn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function iE(n,e,t){let i;if(Vc(n)){const r=be(n);return Tc(r)||Py(r)}if(rE(n))i=()=>be(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Oe(be(n.useExisting));else{const r=be(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Py(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function rE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const sE=function(n,e,t){return function(n,e=null,t=null,i){const r=nE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?sE(e,t,""):sE(e.providers,e.parent,e.name||"")}}function Hq(n,e){wp(Y_(n)[1],cs())}function xn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=dM(n.inputs),o.declaredInputs=dM(n.declaredInputs),o.outputs=dM(n.outputs);const a=r.hostBindings;a&&qq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&$q(n,l),c&&Wq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function dM(n){return n===Ed?{}:n===ir?[]:n}function $q(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Wq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function qq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=We({token:Wn,providedIn:"any",factory:()=>Oe(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let uE=null;function sg(){if(!uE){const n=Qn.Symbol;if(n&&n.iterator)uE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Ae[i.index])):i.index;if(pr(t)){let Ae=null;if(!a&&l&&(Ae=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,g=!1;else{s=yM(i,e,h,s,!1);const Pe=t.listen(H,r,s);p.push(s,Pe),u&&u.push(r,de,U,U+1)}}else s=yM(i,e,h,s,!0),H.addEventListener(r,s,o),p.push(s),u&&u.push(r,de,U,o)}else s=yM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const C=w.length;if(C)for(let H=0;H0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function TY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Vk(n){return n.substring(Rs.key,Rs.keyEnd)}function Uk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Uk(e,t))ko(n,Vk(e),!0)}function ec(n,e,t,i){const r=jt(),s=Ei(),o=No(2);s.firstUpdatePass&&qk(s,n,o,i),e!==In&&Eo(r,o,e)&&Kk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function Wk(n,e){return e>=n.expandoStartIndex}function qk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=Wk(n,t);Qk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=g_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=zy(t=vM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=vM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=vM(null,n,e,l[1],i),l=zy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),jk(n,u,i,!0),jk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=dy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function vM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?ir:void 0);let g=h?I_(p,i):u===i?p:void 0;if(c&&!_E(g)&&(g=I_(l,i)),_E(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=I_(l,i))}return a}function _E(n){return void 0!==n}function Qk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=jt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return pr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=jt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function yE(n,e,t){const i=jt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,My(g_(s.data),o,i),t,!0)}return yE}const gf=void 0;var uK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function gL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const bE="en-US";let mL=bE;function EM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(mL=n.toLowerCase().replace(/_/g,"-"))}function CM(n,e,t,i,r){if(n=be(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,xe),m=TM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),AM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=TM(a,e,u+p,h),m=TM(a,e,u,u+p),w=g>=0&&t[g],C=m>=0&&t[m];if(r&&!C||!r&&!w){Dc(Hs(c,o),s,a);const H=function(n,e,t,i,r){const s=new $h(n,t,xe);return s.multi=[],s.index=e,s.componentProviders=0,VL(s,r,i&&!t),s}(r?aX:oX,t.length,r,i,l);!r&&C&&(t[m].providerFactory=H),AM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(H),o.push(H)}else AM(s,n,g>-1?g:m,VL(t[r?m:g],l,!r&&i));!r&&i&&C&&t[m].componentProviders++}}}function AM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function VL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function TM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);CM(t,i.data,i.blueprint,r,!0),CM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class UL{}const HL="ngComponent";class uX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[HL]=n,e}(e)}}class wl{}function xE(...n){}function Eg(n,e){return new vn(Zs(n,e))}wl.NULL=new uX;const fX=function(){return Eg(cs(),jt())};let vn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=fX,n})();function GL(n){return n instanceof vn?n.nativeElement:n}class mf{}let IM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const $L=new ju("12.2.5");class WL{constructor(){}supports(e){return jy(e)}create(e){return new bX(e)}}const yX=(n,e)=>e;class bX{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||yX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new vX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new qL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new qL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class vX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class wX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class qL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new wX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function YL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new SX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class SX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function XL(){return new Sg([new WL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:XL}),n})();function QL(){return new xg([new KL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||QL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:QL}),n})();function CE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ry(e,i),Gl(t,i))}this._attachedToViewContainer=!1}sy(this._lView[1],this._lView)}onDestroy(e){zw(this._lView[1],this._lView,null,e)}markForCheck(){xy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class CX extends qy{constructor(e){super(e),this._view=e}detectChanges(){Zw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Zw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const TX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new qy(i,i)}return 47&n.type?new qy(e[16],e):null}(cs(),jt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=TX,n})();const IX=[new KL],RX=new Sg([new WL]),NX=new xg(IX),FX=function(){return AE(cs(),jt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=FX,n})();const kX=zo,LX=class extends kX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new qy(i)}};function AE(n,e){return 4&n.type?new LX(e,n,Eg(n,e)):null}class $c{}const VX=function(){return t3(cs(),jt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=VX,n})();const zX=Ns,JL=class extends zX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(Ev(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=e3(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new JL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),isw});class x3 extends UL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(fT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return S3(this.componentDef.inputs)}get outputs(){return S3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(IM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(pr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):iy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||sw,clean:KT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let w,C;Hh(m);try{const H=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&cy(r,n,l.classes),null!==l.styles&&xw(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Xw(o,l),vy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",$L.full]);else{const{attrs:U,classes:de}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&cy(l,u,de.join(" "))}if(C=d_(g,20),void 0!==t){const U=C.projection=[];for(let de=0;del(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Yw(t[1],a,0,a.directiveStart,a.directiveEnd,e),Kw(e,o)),o}(H,this.componentDef,m,p,[Hq]),df(g,m,null)}finally{fi()}return new UQ(this.componentType,w,Eg(C,m),m,C)}}class UQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new CX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class GQ extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new E3(this);const i=Oo(e),r=function(n){return n[D1]||null}(e);r&&EM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=nE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=wn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class GM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new GQ(this.moduleType,e)}}function M3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Ze("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(xe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=jt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?M3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function $M(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=$M(l),a&&(a=$M(a)),c&&(c=$M(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof x&&e.add(u),u}};function sZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=sZ)}get changes(){return this._changes||(this._changes=new sn)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=xE,this.reject=xE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(vf,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const o0=new Ht("AppId"),UZ={provide:o0,useFactory:function(){return`${nD()}${nD()}${nD()}`},deps:[]};function nD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const tB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),PE=new Ht("appBootstrapListener");let FE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),nB=new Ht("DefaultCurrencyCode");class HZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const iD=function(n){return new GM(n)},GZ=iD,$Z=function(n){return Promise.resolve(iD(n))},iB=function(n){const e=iD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new x3(o)),r},[]);return new HZ(e,i)},WZ=iB,qZ=function(n){return Promise.resolve(iB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=GZ,this.compileModuleAsync=$Z,this.compileModuleAndAllComponentsSync=WZ,this.compileModuleAndAllComponentsAsync=qZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const rB=new Ht("compilerOptions"),KZ=(()=>Promise.resolve(0))();function rD(n){"undefined"==typeof Zone?KZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,oD(n),n.isCheckStableRunning=!0,sD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),oD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return sB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),oB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return sB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),oB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,oD(n),sD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,QZ,xE,xE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const QZ={};function sD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function oD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function sB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function oB(n){n._nesting--,sD(n)}class eJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let aD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),rD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())rD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),aB=(()=>{class n{constructor(){this._applications=new Map,lD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return lD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class tJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let lD=new tJ,lB=!0,cB=!1;function Ba(){return cB=!0,lB}let rc;const uB=new Ht("AllowMultipleToken");function dB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=uD();if(!o||o.injector.get(uB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(uB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(hB);const e=n.get(tB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=uD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function uD(){return rc&&!rc.destroyed?rc:null}let hB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new eJ:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{dD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(EM(u.injector.get(Uu,bE)||bE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=fB({},i);return function(n,e,t){const i=new GM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function fB(n,e){return Array.isArray(e)?e.reduce(fB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new I(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new I(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),rD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof UL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(aD,null),u=c&&a.injector.get(aB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),dD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;dD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(PE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wn),Oe(oa),Oe(wl),Oe(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function dD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const MJ=dB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:hB,deps:[Wn]},{provide:aB,deps:[]},{provide:FE,deps:[]}]),NJ=[{provide:ih,useClass:ih,deps:[fn,Wn,oa,wl,Og]},{provide:BQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},UZ,{provide:Sg,useFactory:function(){return RX},deps:[]},{provide:xg,useFactory:function(){return NX},deps:[]},{provide:Uu,useFactory:function(n){return EM(n=n||"undefined"!=typeof $localize&&$localize.locale||bE),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:nB,useValue:"USD"}];let FJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Oe(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:NJ}),n})(),WE=null;function qc(){return WE}const hn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Pee,token:n,providedIn:"platform"}),n})();function Pee(){return Oe(UB)}let UB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){zB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){zB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:kee,token:n,providedIn:"platform"}),n})();function zB(){return!!window.history.pushState}function kee(){return new UB(Oe(hn))}function AD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function HB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Lee,token:n,providedIn:"root"}),n})();function Lee(n){const e=Oe(hn).location;return new GB(Oe(xf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let GB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return AD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(xf),Oe(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=HB($B(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,$B(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=AD,n.stripTrailingSlash=HB,n.\u0275prov=We({factory:jee,token:n,providedIn:"root"}),n})();function jee(){return new Pg(Oe(Cf),Oe(xf))}function $B(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const qee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=gL(e);if(t)return t;const i=e.split("-")[0];if(t=gL(i),t)return t;if("en"===i)return uK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class nS{}let Ete=(()=>{class n extends nS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(qee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Uu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class xte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new xte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new tj(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new tj(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo),xe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class tj{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Ate,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){nj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){nj("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Ate{constructor(){this.$implicit=null,this.ngIf=null}}function nj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ite{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ote{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Rte=new Ote,Nte=new Ite;let p0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Rte;if(Mk(t))return Nte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(xe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[{provide:nS,useClass:Ete}]}),n})();const cj="browser";function Tf(n){return n===cj}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){WE||(WE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(g0=g0||document.querySelector("base"),g0?g0.getAttribute("href"):null);return null==t?null:function(n){rS=rS||document.createElement("a"),rS.setAttribute("href",n);const e=rS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){g0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let rS,g0=null;const fj=new Ht("TRANSITION_ID"),ine=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let rne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const m0=new Ht("EventManagerPlugins");let oS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_0=(()=>{class n extends gj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(mj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(mj))}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function mj(n){qc().remove(n)}const HD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},GD=/%COMP%/g;function aS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let lS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new $D(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new bne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new vne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=aS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Oe(oS),Oe(_0),Oe(o0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class $D{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(HD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=HD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=HD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,bj(i)):this.eventManager.addEventListener(e,t,bj(i))}}class bne extends $D{constructor(e,t,i,r){super(e),this.component=i;const s=aS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(GD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(GD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class vne extends $D{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=aS(r.id,r.styles,[]);for(let o=0;o{class n extends zD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Ej=["alt","control","meta","shift"],Mne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Sj={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Dne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ine=(()=>{class n extends zD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(Ej.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Sj.hasOwnProperty(e)&&(e=Sj[e]))}return Mne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Ej.forEach(s=>{s!=r&&Dne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Oe(qD)},token:n,providedIn:"root"}),n})(),qD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):G_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new k_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return function(n){return new qD(n.get(hn))}(Oe(Pu))},token:n,providedIn:"root"}),n})();const Bne=dB(MJ,"browser",[{provide:Wc,useValue:cj},{provide:tB,useValue:function(){VD.makeCurrent(),UD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Qi=n}(document),document},deps:[]}]),jne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:m0,useClass:wne,multi:!0,deps:[hn,fn,Wc]},{provide:m0,useClass:Ine,multi:!0,deps:[hn]},[],{provide:lS,useClass:lS,deps:[oS,_0,o0]},{provide:mf,useExisting:lS},{provide:gj,useExisting:_0},{provide:_0,useClass:_0,deps:[hn]},{provide:aD,useClass:aD,deps:[fn]},{provide:oS,useClass:oS,deps:[m0,fn]},{provide:class{},useClass:rne,deps:[]},[]];let YD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:o0,useValue:t.appId},{provide:fj,useExisting:o0},ine]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:jne,imports:[qr,FJ]}),n})();"undefined"!=typeof window&&window;class qne extends x{constructor(e,t){super()}schedule(e,t=0){return this}}class cS extends qne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let Cj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends Cj{constructor(e,t=Cj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Xne=new class extends uc{}(class extends cS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new I(n=>n.complete());function uS(n){return n?function(n){return new I(e=>n.schedule(()=>e.complete()))}(n):Yc}function dn(...n){let e=n[n.length-1];return Ce(e)?(n.pop(),Ne(n,e)):On(n)}function Fg(n,e){return new I(e?t=>e.schedule(Zne,0,{error:n,subscriber:t}):t=>t.error(n))}function Zne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return dn(this.value);case"E":return Fg(this.error);case"C":return uS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class dS extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(dS.dispatch,this.delay,new eie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class eie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new tie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=x.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new dS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class tie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new nie(n))}class nie{constructor(e){this.project=e}call(e,t){return t.subscribe(new iie(e,this.project))}}class iie extends ve{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const hS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return hS.schedule(n,0);if(void 0===window.requestAnimationFrame)return hS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function fie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class gie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new mie(this.componentFactory,e)}}class mie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=hS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=hS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new l_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class _ie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const bie={initialConfig:{},parse:{},rename:{}};class vie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},bie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let wie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new vie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Hi]}),n})();var QD;const y0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function or(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Tj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Li(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Ij(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Ij()}const Oj="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JD();class Cie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Rj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Nj(n){return"string"==typeof n?Rj[n.toUpperCase()]||Rj.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},b0=hc.window||hc.self||hc.global,Pj=hc.process||{};function Lg(){let n;if(pS&&b0.performance)n=b0.performance.now();else if(Pj.hrtime){const e=Pj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Rie={enabled:!0,level:0};function Tl(){}const Fj={},kj={once:!0};function Nie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Oj,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Cie("__probe-".concat(this.id,"__"),Rie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,kj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,kj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Nie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Bj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Lj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Bj({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Fj[a])return Tl;Fj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=Nj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Nj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Oj,n})();function Lj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function Bj(n){const{logLevel:e,message:t}=n;n.logLevel=Lj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),Ui={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ui,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},jj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},pn=new tI({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return $o(mS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const v0={};const w0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,ere={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Uj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Uj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(Vj)?2147483647:65535,33001:n=>n.getExtension(Vj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},Hj="ANGLE_instanced_arrays",Gj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[Hj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=ere[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function hre(n,{extension:e,target:t,target2:i}){const r=Gj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&hre(n,{extension:t,target:n.luma,target2:n})}(n,Gj),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),$j=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function E0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const gre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:$j,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:$j,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=E0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=E0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=E0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const mre={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},Wj={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),qj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function Yj(n){for(const e in n)return!1;return!0}function _re(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=qj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=qj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];_re(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Xj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new vre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in Wj)yre(n,s,Wj[s]);Kj(n,"getParameter"),Kj(n,"isEnabled")}return n.state.enable=t,n}function Qj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(mS(n),"setParameters requires a WebGL context"),Yj(e))return;const t={};for(const r in e){const s=Number(r),o=gre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)mre[r](n,e,i)}function fc(n,e,t){if(Yj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Xj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Qj(n);else try{r=t(n)}finally{Qj(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=Zj(n[0],e,t);let o=Jj(n[1],e,i,r),a=Zj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Jj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Zj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Jj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),Tre=sI&&"undefined"!=typeof document,eV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function tV(n={}){$o(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},eV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Tre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);pn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},eV,e);const{manageState:t,debug:i}=e;return t&&Xj(n,{copyState:!1,log:(...r)=>pn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),pn.level=Math.max(pn.level,1)):pn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function nV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class iV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=nV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(nV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof iV?e:new iV(t,i)),this.stats[t]}}const S0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&pn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:pn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ga(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function rV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function sV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw pn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return sV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function x0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function jre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Ure)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const aV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},zre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:aV},Hre={removedProps:aV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,zre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Hre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=x0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/x0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return pn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return pn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return pn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return pn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},lV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},cV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Wre=[9729,9728],uV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(U=>this.initialize(Object.assign({},e,{pixels:U,data:U}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:w=!1,mipmaps:C=!0}=e;const{depth:H=0}=e;return({width:h,height:p,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=H,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),C&&this._isNPOT()&&(pn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),C=!1,this._updateForNPOT(l)),this.mipmaps=C,this.setImageData({data:t,width:h,height:p,depth:H,format:s,type:m,dataFormat:g,border:o,mipmaps:C,parameters:c,compressed:w}),C&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let C=null;({data:c,dataType:C}=this._getDataType({data:c,compressed:m}));let H,U=0;return fc(this.gl,l,()=>{switch(C){case"null":w.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":H=Co(w),H.bindBuffer(35052,c.handle||c),H.texImage2D(t,r,s,h,p,o,g,u,a),H.bindBuffer(35052,null);break;case"browser-object":Si(w)?w.texImage2D(t,r,s,h,p,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[de,Ae]of c.entries())w.compressedTexImage2D(t,de,Ae.format,Ae.width,Ae.height,o,Ae.data),U+=Ae.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===C?U:c&&c.byteLength?c.byteLength:this.width*this.height*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const C=i;i=C.data,o=C.shape[0],a=C.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,w,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof uV){const C=Co(this.gl);C.bindBuffer(35052,i),C.texSubImage2D(e,l,r,s,o,a,h,u,g),C.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return pn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof uV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||rV(this.width)&&rV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Wre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function qre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:qre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",dV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,dV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*dV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const mV="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,mV),fc(n,s,()=>{n.clear(o)})}function _V(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){_V(s,i,r,o,a,"next",l)}function a(l){_V(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let ese=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&pn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((w,C)=>{t&&i?u.texImage2D(g,C,a,t,i,o,a,l,w):u.texImage2D(g,C,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=gI,n})();class tse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}}function yV(n,e){tn(n instanceof _a||n instanceof ese||n instanceof tse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function nse(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function bS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=C0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(x0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=bS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=jre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&pn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,mV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return pn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return pn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return pn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return pn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return pn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return pn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>pn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return pn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,bV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),bV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in vV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=EV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const vV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return wV(n,e)}function wV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>EV(n,t))}function EV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=vV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||pn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},pse=1/Math.PI*180,gse=1/180*Math.PI,Or={};function _se(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*gse,void 0)}(n)}function bse(n){return function(n,e){return qu(n,t=>t*pse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function vS(n,e,t){return lh(n)?n.map((i,r)=>vS(i,e[r],t)):t*e+(1-t)*n}function T0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+_se(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(BV.length=n.length,i=BV):i=LV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function jV(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?VV(n,e,[]):e(n)?[n]:[]}function VV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function UV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Wse[n.type]),e),n)):null}function zV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function HV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function GV(n){n.push(n.shift())}function AI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function $V({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=AI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const H=s;s=(U,de)=>t._normalizeConstant(H(U,de))}const m=p?(H,U)=>s(g,U):(H,U)=>s(g.subarray(H,H+a),U),w=n.getData({length:i}),C=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===CS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=CS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Hse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==CS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const C=h*a+l;for(let H=0;Hu?c.set(de,w):(e._normalizeValue(de,H.target,0),zse({target:c,source:H.target,start:w,count:Ae}));w+=Ae*u}else e._normalizeValue(de,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function To(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const WV="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Kse=`#version 300 es\n${WV}`;function qV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function YV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Kse:e>300?`#version ${e}\n${WV}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class KV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,pn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Jse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new KV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function XV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const O0="vs",noe={[O0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},AS="__LUMA_INJECT_DECLARATIONS__",QV=/void\s+main\s*\([^)]*\)\s*\{\n?/,ZV=/}\n?[^{}]*$/,II=[];function JV(n,e,t,i=!1){const r=e===O0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(ZV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(AS,a));break;case"fs:#main-start":r||(n=n.replace(QV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(ZV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(AS,""),i&&(n=n.replace(/\}\s*$/,s=>s+noe[e])),n}function OI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const ioe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",eU="transform_position";const doe={10241:9728,10240:9728,10242:33071,10243:33071};class foe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=bS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(doe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=yV(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return qV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(w){const{updatedLine:C,inject:H}=w;h[g]=C,c=OI([c,H]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=qV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${eU} = transform_getPos(${p});\n gl_Position = vec4(${eU}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||YV({version:XV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[ioe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function goe(n){let e=tU(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=tU(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function tU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class NI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=goe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function boe(n){return function(n){const e={},t={};return PI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(iU(n))}function PI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof NI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new NI(t)).dependencies=iU(t.dependencies)),t))}const FI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Toe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(FI).forEach(n=>{Nf[n]=n});const kI={};function rU(n,e,t={}){const i=FI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function MS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=FI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const sU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Ooe=[...sU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Roe=[...sU,[Gg("varying"),"in $1"]],oU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Noe=[...oU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Poe=[...oU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Foe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const joe=`\n\n${AS}\n\n`,aU={[O0]:"vertex",fs:"fragment"};function lU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===O0,p=t.split("\n");let g=100,m="",w=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],w=p.slice(1).join("\n")):m=`#version ${g}`;const C={};r.forEach(Be=>{Object.assign(C,Be.getDefines())}),Object.assign(C,s);let H=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${aU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${aU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Toe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return MS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),MS(n,Nf.GLSL_DERIVATIVES)&&rU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),MS(n,Nf.GLSL_FRAG_DATA)&&rU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),MS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(C)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const U=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),de={},Ae={},Pe={};for(const Be in a){const et="string"==typeof a[Be]?{injection:a[Be],order:0}:a[Be],wt=Be.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const Ct=wt[3];wt[2]?"decl"===Ct?Ae[Be]=[et]:Pe[Be]=[et]:de[Be]=[et]}else Pe[Be]=[et]}for(const Be of r){u&&Be.checkDeprecations(w,u),H+=Be.getModuleSource(i,g);const wt=Be.injections[i];for(const vt in wt){const Ct=vt.match(/^(v|f)s:#([\w-]+)$/);if(Ct){const $t="decl"===Ct[2]?Ae:Pe;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else de[vt]=de[vt]||[],de[vt].push(wt[vt])}}return H+=joe,H=JV(H,i,Ae),H+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(U[i],de),H+=w,H=JV(H,i,Pe),H=function(n,e,t){switch(e){case 300:return t?DS(n,Ooe):function(n){const e=(n=DS(n,Roe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Foe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,Noe):function(n){const e=(n=DS(n,Poe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(H,l?100:g,h),H}function zoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Yoe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",IS,1,Mo),36294:Rr.bind(null,"uniform2uiv",IS,2,Mo),36295:Rr.bind(null,"uniform3uiv",IS,3,Mo),36296:Rr.bind(null,"uniform4uiv",IS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Koe={},Xoe={},Qoe={},cU=[0];function jI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(cU[0]=n,n=cU);const r=n.length;if(r%e&&pn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return fU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:hU(s,c),warnings:hU(o,c)}}(i,this.source,this.shaderType,this.id);throw pn.error(`GLSL compilation errors in ${r}\n${s}`)(),pn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends R0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends R0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,N0=5124,P0=5125,zI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[N0]:[N0,1,"int"],35667:[N0,2,"ivec2"],35668:[N0,3,"ivec3"],35669:[N0,4,"ivec4"],[P0]:[P0,1,"uint"],36294:[P0,2,"uvec2"],36295:[P0,3,"uvec3"],36296:[P0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function bU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function vU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Fae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=bU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=bU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const kae=35981,Lae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class EU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Lae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=kae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof VI),tn(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Fae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:w,samplers:C}){if((w||C)&&(pn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),pn.priority>=e){const H=g?g.id:"default",U=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${H}`;pn.log(e,U)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const H=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(H)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){pn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!eae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&tae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),pn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),pn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||pn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(de=>this._getHash(de.name)).sort(),g=o.map(de=>this._getHash(de)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),C=[],H=[];for(const de of m)C.push(this._getHash(de)),C.push(this._getHash(r[de]));for(const de of w)H.push(this._getHash(de)),H.push(this._getHash(s[de]));const U=`${u}/${h}D${C.join("/")}M${p.join("/")}I${H.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[U]){const de=function(n,e){const{vs:t,fs:i}=e,r=boe(e.modules||[]);return{gl:n,vs:lU(n,Object.assign({},e,{source:t,type:O0,modules:r})),fs:lU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:zoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[U]=new EU(this.gl,{hash:U,vs:de.vs,fs:de.fs,varyings:o,bufferMode:a}),this._getUniforms[U]=de.getUniforms||(Ae=>{}),this._useCounts[U]=0}return this._useCounts[U]++,this._programCache[U]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":b0.chrome?"Chrome":b0.safari?"Safari":b0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!NS||NS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Gae=/^(.+)__LOCATION_([0-9]+)$/,$ae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Wae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),sV(this,"VertexArray","v6.0",$ae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,pn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Gae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return pn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function k0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=k0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function SU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let w;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${k0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${k0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Kae(n,e){const{type:t,size:i}=e,r=vU(t,i);return r?`${n} (${r.name})`:n}function xU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:k0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?k0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function CU(n){const{type:e,size:t}=n.accessor,i=vU(e,t);return i?`${i.name} ${n.name}`:n.name}const Zae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ele(n,e){const{attributeMap:t=Zae}=e||{};return t&&t[n]||n}function tle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const AU=()=>{},rle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(mS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=ele(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new hr(n,l),c],tle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),pn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&pn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:C}=this,{onBeforeRender:H=AU,onAfterRender:U=AU}=this.props;H(),this.program.setUniforms(this.uniforms);const de=this.program.draw(Object.assign(rle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:w,instanceCount:C,offset:h?g:0}));return U(),pn.priority>=2&&this._logDrawCallEnd(c,l,i),de}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return pn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof EU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Wae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new KV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:pn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=SU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Kae(s.name,a)}`),t[o]=SU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&pn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&pn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);pn.table(e,s)(),pn.table(e,o)(),pn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),pn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||YV({version:XV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Jse(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new foe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function PS(){}const ale={onStart:PS,onUpdate:PS,onInterrupt:PS,onEnd:PS};class L0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},ale),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const gle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=HV(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;GV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:zV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=HV(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:zV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),GV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),bS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class mle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=gle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const TU="attributeManager.invalidate";class Ele{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new mle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function DU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function IU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=UV(r)))return;const o=Ale[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Mle}=FS;function Ole(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function OU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Ple(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Vle(i[r],e[r])){t=n(i),e=i;break}return t}}function Ule(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],w=e[13],C=e[14],H=e[15],U=t*a-i*o,de=t*l-r*o,Ae=t*c-s*o,Pe=i*l-r*a,Be=i*c-s*a,et=r*c-s*l,wt=u*w-h*m,vt=u*C-p*m,Ct=u*H-g*m,Bt=h*C-p*w,$t=h*H-g*w,gt=p*H-g*C,mt=U*gt-de*$t+Ae*Bt+Pe*Ct-Be*vt+et*wt;return mt?(n[0]=(a*gt-l*$t+c*Bt)*(mt=1/mt),n[1]=(r*$t-i*gt-s*Bt)*mt,n[2]=(w*et-C*Be+H*Pe)*mt,n[3]=(p*Be-h*et-g*Pe)*mt,n[4]=(l*Ct-o*gt-c*vt)*mt,n[5]=(t*gt-r*Ct+s*vt)*mt,n[6]=(C*Ae-m*et-H*de)*mt,n[7]=(u*et-p*Ae+g*de)*mt,n[8]=(o*$t-a*Ct+c*wt)*mt,n[9]=(i*Ct-t*$t-s*wt)*mt,n[10]=(m*Be-w*Ae+H*U)*mt,n[11]=(h*Ae-u*Be-g*U)*mt,n[12]=(a*vt-o*Bt-l*wt)*mt,n[13]=(t*Bt-i*vt+r*wt)*mt,n[14]=(w*de-m*Pe-C*U)*mt,n[15]=(u*Pe-h*de+p*U)*mt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],w=e[12],C=e[13],H=e[14],U=e[15],de=t[0],Ae=t[1],Pe=t[2],Be=t[3];return n[0]=de*i+Ae*a+Pe*h+Be*w,n[1]=de*r+Ae*l+Pe*p+Be*C,n[2]=de*s+Ae*c+Pe*g+Be*H,n[3]=de*o+Ae*u+Pe*m+Be*U,n[4]=(de=t[4])*i+(Ae=t[5])*a+(Pe=t[6])*h+(Be=t[7])*w,n[5]=de*r+Ae*l+Pe*p+Be*C,n[6]=de*s+Ae*c+Pe*g+Be*H,n[7]=de*o+Ae*u+Pe*m+Be*U,n[8]=(de=t[8])*i+(Ae=t[9])*a+(Pe=t[10])*h+(Be=t[11])*w,n[9]=de*r+Ae*l+Pe*p+Be*C,n[10]=de*s+Ae*c+Pe*g+Be*H,n[11]=de*o+Ae*u+Pe*m+Be*U,n[12]=(de=t[12])*i+(Ae=t[13])*a+(Pe=t[14])*h+(Be=t[15])*w,n[13]=de*r+Ae*l+Pe*p+Be*C,n[14]=de*s+Ae*c+Pe*g+Be*H,n[15]=de*o+Ae*u+Pe*m+Be*U,n}function LS(n,e,t){var o,a,l,c,u,h,p,g,m,w,C,H,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],w=e[9],C=e[10],H=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=w,n[10]=C,n[11]=H,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+p*r+C*s+e[14],n[15]=c*i+g*r+H*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function PU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function kU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function jS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function LU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const BU=[0,0,0,0],hce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],pce=[0,0,0],gce=[0,0,0],mce=kS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=BU,l=BU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=jU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=jS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,hce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:pce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Ui.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Ui.LNGLAT:case Ui.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Ui.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function jU(n,e,t=gce){let r,i=t,s=!0;switch(r=e===Ui.LNGLAT_OFFSETS||e===Ui.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===Ui.LNGLAT||e===Ui.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===Ui.LNGLAT?i=r:e===Ui.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class vce extends wS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],w=n[14],C=n[15];return(e*o-t*s)*(h*C-p*w)-(e*a-i*s)*(u*C-p*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*C-p*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return NU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return PU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,w,C,H,U,de,Ae,Pe,Be,et,wt,vt,Ct,Bt,$t,gt,mt,Vt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,$U=gc/4,mc=gc/180,KI=180/gc,XI=4003e4,US=85.051129;function zS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan($U+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-$U);return[t*KI,i*KI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/XI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function WU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=zS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function YU(n){return 2*Math.atan(.5/n)*KI}function KU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return UU([],o,a,l===c?0:((t||0)-l)/(c-l))}const XU=Math.PI/180;function QU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(UU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Lce=Math.PI/180,Bce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Vce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&T0(t.projectionMatrix,this.projectionMatrix)&&T0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=KU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?zS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const C=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:H,aspect:U,focalDistance:de,near:Ae,far:Pe}=function({width:n,height:e,fovy:t=YU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=YU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Be=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),NU(o,o,-e*mc),PU(o,o,t*mc),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:C,altitude:w});p&&(Be=(new qn).translate([512*p,0,0]).multiplyLeft(Be)),super(Sn(ot({},t),{width:g,height:m,viewMatrix:Be,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:H,aspect:U,focalDistance:de,near:Ae,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return WU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=VS([],this.projectFlat(t),VU([],r)),a=VS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*XU:Math.atan(.5/n.altitude))>(90-n.pitch)*XU-.01?(l=QU(n,0,e),c=QU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=zS([a,GU(u,-US,US)]),p=zS([c,GU(l,-US,US)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const w=m[0]/g[0],C=m[1]/g[1],Ae=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/w,(p[1]+h[1])/2+(s.bottom-s.top)/2/C]),Pe=Math.min(r,YI(Math.abs(Math.min(w,C))));return Xu(Number.isFinite(Pe)),{longitude:Ae[0],latitude:Ae[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof nz){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function iz(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=jS([],[o,a,l,1],t)),i){case Ui.LNGLAT:return eO([o,a,l],e,s);case Ui.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ui.METER_OFFSETS:return eO(WU(r,[o,a,l]),e,s);case Ui.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Hce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Wce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||U0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||U0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Sn(ot({},e),{parameters:ot(ot(ot({},Hce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!U0(n)||!U0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=sue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[iue]||{},i=e[nue]||e,r=e[rue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(jV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=rO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const C=m,{dataTransform:H}=i.component?i.component.props:{};a=H?H(C,a):a.concat(C),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(C){u=!0,h=C}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:az,ASYNC_RESOLVED:lz,ASYNC_DEFAULTS:oue}=FS,aue={};let lue=0,cue=(()=>{class n{constructor(){this.props=Kce.apply(this,arguments),this.id=this.props.id,this.count=lue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[oue])s in i[lz]?r[s]=i[lz][s]:s in i[az]&&(r[s]=i[az][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new oz({})}}return n.componentName="Component",n.defaultProps=aue,n})();class uue extends oz{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,uz=n=>uh(n)&&n.constructor==={}.constructor,due=n=>n&&"function"==typeof n[Symbol.iterator],hue=n=>n&&"function"==typeof n[Symbol.asyncIterator],H0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,dz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Ff(n,"null loader"),Ff(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=Zc.global||Zc.self||Zc.window||{},yue="object"!=typeof process||"[object process]"!==String(process)||process.browser,hz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);hz&&parseFloat(hz[1]);const cO={};function bue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const vue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,wue=/^([-\w.]+\/[-\w.+]+)/;function Eue(n){const e=wue.exec(n);return e?e[1]:n}function fz(n){const e=vue.exec(n);return e?e[1]:""}const Sue=/\?.*/;function qS(n){if(H0(n)){const e=uO(n.url||"");return{url:e,type:Eue(n.headers.get("content-type")||"")||fz(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:fz(n)}:{url:"",type:""}}function xue(n){return H0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(Sue,"")}function pz(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){if(H0(n))return n;const e={},t=xue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield Tue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Cue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if(!n.ok){const e=yield Aue(n);throw new Error(e)}})).apply(this,arguments)}function Aue(n){return fO.apply(this,arguments)}function fO(){return(fO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Tue(n){return pO.apply(this,arguments)}function pO(){return(pO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Mue(n.slice(0,5))}`:null})).apply(this,arguments)}function Mue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const _z={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Oue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},_z),n.globalOptions};function Rue(n,e,t,i){return t=t||[],function(n,e){bz(n,null,_z,Oue,e);for(const t of e)bz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Due),wz(r,_O()),wz(r,e),r}(e,n,i)}function yz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>gz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:gz}function bz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)mz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Pue(a,r);mz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Pue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function wz(n,e){for(const t in e)t in e&&(n[t]=uz(e[t])&&uz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Lue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Bue=eu.global||eu.self||eu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,jue="undefined"!=typeof window&&void 0!==window.orientation,Ez="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(Ez&&parseFloat(Ez[1]),new Map);function Sz(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function xz(n,e=!0,t){const i=t||new Set;if(n)if(Cz(n))i.add(n);else if(Cz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)xz(n[r],e,i);return void 0===t?Array.from(i):[]}function Cz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class Az{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||xz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?Sz(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=Sz(n.source),vO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Hue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Gue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Hue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return Az.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},$ue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Gue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function que(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Yue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Kue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=oi(function*(n,e,t,i,r){const s=n.id,o=que(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Xue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Xue(n,e,t,i){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var Mz=Je(521);function Dz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Mz.toArrayBuffer?Mz.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function ede(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Iz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function tde(n){return CO.apply(this,arguments)}function CO(){return(CO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return ede(...e)})).apply(this,arguments)}const rde=262144;function Oz(n){this.wrapped=n}function G0(n){return new Oz(n)}function $0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Oz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new $0(n.apply(this,arguments))}}function MO(){return(MO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function hde(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return dde(n,e);if(em(n)&&(n=yield pz(n)),H0(n)){const r=n;return yield Cue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(dz(n)&&(n=ude(n,t)),due(n)||hue(n))return tde(n);throw new Error(OO)})).apply(this,arguments)}function pde(n,e,t=null){if(t)return t;const i=ot({fetch:yz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function gde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Nz=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Pz(n){const e=Nz();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const _de=/\.([^.]+)$/;function yde(n){return FO.apply(this,arguments)}function FO(){return(FO=oi(function*(n,e=[],t,i){if(!kz(n))return null;let r=Fz(n,e,Sn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Fz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Lz(n));return r})).apply(this,arguments)}function Fz(n,e=[],t,i){if(!kz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Nz()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&_de.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(xde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Bz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Bz(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Lz(n));return s}function kz(n){return!(n instanceof Response&&204===n.status)}function Lz(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function xde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Bz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const Fde={data:{type:"data",value:Nde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(ot({},r),{fetch:Sn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:W0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):W0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ui.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let q0=(()=>{class n extends cue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=iz(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=KU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Ui.DEFAULT&&(t=i.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=jU(t,i,r),h=iz(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ui.DEFAULT||t===Ui.LNGLAT||t===Ui.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Ule(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Pde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rjz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=A0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,jz)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=OU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&RU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&RU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Ple(n,e),transitionsChanged:Ole(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Ele(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new uue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Tle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Fde,n})(),Vz=(()=>{class n extends q0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H,_subLayerProps:U}=this.props,de={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H},Ae=U&&U[t.id],Pe=Ae&&Ae.updateTriggers,Be=t.id||"sublayer";if(Ae){const et=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Ae){const Ct=wt[vt]||et[vt];Ct&&"accessor"===Ct.type&&(Ae[vt]=this.getSubLayerAccessor(Ae[vt]))}}Object.assign(de,t,Ae),de.id="".concat(this.props.id,"-").concat(Be),de.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const et of C){const wt=et.getSubLayerProps.call(this,et);wt&&Object.assign(de,wt,{updateTriggers:Object.assign(de.updateTriggers,wt.updateTriggers)})}return de}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Lde=/([0-9]+\.?[0-9]*)(%|px)/;function KS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Lde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function XS(n,e){return n.relative?Math.round(n.position*e):n.position}function Y0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Y0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Y0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:XS(this._x,e),y:XS(this._y,t),width:XS(this._width,e),height:XS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=KS(e),this._y=KS(t),this._width=KS(i),this._height=KS(r)}}const K0=()=>{},Uz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Bde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},Uz),t),this.propsInTransition=null,this.transition=new L0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},Uz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const zz=["longitude","latitude","zoom","bearing","pitch"],Vde=["longitude","latitude","zoom"];class Hz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!T0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:zz,extract:zz,required:Vde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=vS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,vS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},Ude={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},ZS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Bde(e,Sn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(ot({},Ude),{transitionInterpolator:new Hz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(ot({},t),{transitionInterpolator:new Hz(Sn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class Gz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class JS extends Gz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Hde extends zO{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Gde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const $de=(new qn).lookAt({eye:[0,0,1]});function Wde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class qde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(ot({},e),{longitude:null,position:a,viewMatrix:$de.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Wde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=VS([],e,VU([],j0(t,this.pixelUnprojectionMatrix)));return{target:VS([],this.center,r)}}}let Yde=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrthographicView",n})();const ex=Math.PI/180;function Kde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ex/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ex),"Z"===t?c.rotateZ(r*ex):c.rotateY(r*ex);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Xde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(ot({},e),{longitude:null,viewMatrix:Kde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Qde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(ot({},t),{orbitAxis:i,type:Xde}))}get controller(){return this._getControllerProps({type:Hde})}}return n.displayName="OrbitView",n})();const Zde=[255,255,255],Jde=1;let ehe=0;class $z{constructor(e={}){const{color:t=Zde}=e,{intensity:i=Jde}=e;this.id=e.id||"ambient-".concat(ehe++),this.color=t,this.intensity=i,this.type="ambient"}}const the=[255,255,255],nhe=1,ihe=[0,0,-1];let rhe=0;class Wz{constructor(e={}){const{color:t=the}=e,{intensity:i=nhe}=e,{direction:r=ihe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(rhe++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class qz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=Yz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||Yz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class lhe extends HO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const uhe=Object.keys(Ui).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Ui[n],";")).join(""),dhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),hhe="".concat(uhe,"\n").concat(dhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),fhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:hhe,getUniforms:function(n=fhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Ui.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ui.DEFAULT&&(i=n.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN);const o=mce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||fce,o}(n):{}}},_he=kS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),yhe=kS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),bhe=[0,0,0,1],vhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||bhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=_he({viewport:n.viewport,center:e.project_uCenter}),r=[],s=yhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Che={color:[255,255,255],intensity:1},Kz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ahe=[0,0,0,200/255];class WO extends qz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=Ahe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Mhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Dhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=W0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ihe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Dhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ohe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],Rhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Nhe(n){const e=F0.getDefaultProgramManager(n);for(const t of Ohe)e.addDefaultModule(t);for(const t of Rhe)e.addShaderHook(t);return e}const khe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Lhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ihe({gl:e,protocol:"deck://"}),this.context=Sn(ot({},khe),{layerManager:this,gl:e,deck:t,programManager:e&&Nhe(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Xz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Bhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Y0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Vhe extends Gz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de,normalize:Ae}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Ae}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=HU(t+180,360)-180),(o<-180||o>180)&&(o=HU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Uhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Vhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let zhe=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:nz}))}get controller(){return this._getControllerProps({type:Uhe})}}return n.displayName="MapView",n})();const Hhe=new WO;class Ghe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Y0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Hhe)}}class $he extends HO{}const Zz={blendFunc:[1,0,32771,0],blendEquation:32774};class Jz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Sn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Zz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(ot({},Zz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class qhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $he(e),this.pickLayersPass=new Jz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Yhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Khe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let C=0;C=0){const U=C+o-t,de=U*U+w;de<=u&&(u=de,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const C=w.decodePickingColor(m),H=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:C,pickedX:o+(h/4-H*l),pickedY:a+H}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Yhe}function e4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Qhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(w=>w.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=e4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=ot({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=t4({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function t4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Jhe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Jz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:e4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:w,height:C}=this.pickingFBO,H=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:C});let U;const de=[],Ae={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:H,width:w.x+w.width-g,height:m-H},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Be=Number.isFinite(c);for(let et=0;et=c);et++){const wt=Ae[et];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=t4({layer:wt.pickedLayer,info:vt,mode:l}),Pe.has(vt.object)||Pe.set(vt.object,vt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return bS(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const efe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class tfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,efe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function n4(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},i4=nu.global||nu.self||nu.window,ife="object"!=typeof process||"[object process]"!==String(process)||process.browser,r4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:rfe}=(r4&&parseFloat(r4[1]),i4),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,sfe=Boolean(rfe),KO=!!ife||sfe;function s4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function o4(n){switch(s4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const lfe=/^data:image\/svg\+xml/,cfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(lfe.test(n)||cfe.test(n))}function ufe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return l4(n,e)}function l4(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function c4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){const i=ufe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield dfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function dfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const hfe={};let u4=!0;function ffe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=oi(function*(n,e,t){let i;i=XO(t)?yield c4(n,e,t):l4(n,t);const r=e&&e.imagebitmap;return yield pfe(i,r)})).apply(this,arguments)}function pfe(n){return eR.apply(this,arguments)}function eR(){return(eR=oi(function*(n,e=null){if((gfe(e)||!u4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),u4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function gfe(n){for(const e in n||hfe)return!1;return!0}const iu=!1,X0=!0;function tR(n){const e=Q0(n);return function(n){const e=Q0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=Q0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,X0),height:e.getUint16(8,X0)}:null}(e)||function(n){const e=Q0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,X0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,X0),height:e.getUint32(22,X0)}:null}(e)}function Q0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function wfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=i4;return n4(i),i(n,t,e)}function nR(){return(nR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(Sfe(r)){case"imagebitmap":a=yield ffe(n,e,s);break;case"image":a=yield c4(n,e,s);break;case"data":a=yield wfe(n,e);break;default:n4(!1)}return"data"===r&&(a=o4(a)),a})).apply(this,arguments)}function Sfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(KO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||KO;case"imagebitmap":return YO;case"image":return qO;case"data":return KO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Cfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Z0="8.5.8",tx=nm.CO.deck&&nm.CO.deck.VERSION;if(tx&&tx!==Z0)throw new Error("deck.gl - multiple versions detected: ".concat(tx," vs ").concat(Z0));tx||(Ri.log(1,"deck.gl ".concat(Z0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:Z0,version:Z0,log:Ri,_registerLoggers:function(n){MI=n}}),Pz([Cfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Afe=nm.CO.deck;class nx extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=wV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const d4=yS()&&"undefined"!=typeof document;let kfe=0;class Lfe{constructor(e={}){const{onCreateContext:t=(C=>tV(C)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+kfe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(pn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nx.isSupported(this.gl,["timers"])?new nx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return pn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=d4?new Promise((e,t)=>{d4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(pn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(pn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Bfe=Je(524),ix=Je.n(Bfe);const jfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(ix().MouseInput);const Hfe=ix().Manager,ru=ix(),Gfe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,p4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},$fe={doubletap:["tap"]},Wfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},qfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},g4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Yfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let m4=!1;try{const n={get passive(){return m4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Kfe=-1!==Yfe.indexOf("firefox"),{WHEEL_EVENTS:Xfe}=sR,y4=4.000244140625;class Jfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Xfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!m4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Kfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%y4==0&&(t=Math.floor(t/y4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:epe}=sR,b4="pointermove",v4="pointerover",w4="pointerout",E4="pointerleave";class tpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=epe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===b4&&(this.enableMoveEvent=t),e===v4&&(this.enableOverEvent=t),e===w4&&(this.enableOutEvent=t),e===E4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:v4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:w4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:E4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:b4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:npe}=sR,S4="keydown";class ipe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=npe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===S4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:S4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const C4="contextmenu";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===C4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:C4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const spe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},A4={srcElement:"root",priority:0};class _pe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},A4,i):A4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&p4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Jfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new tpe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new ipe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new rpe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=$fe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=g4[e]||e;let c=a.get(l);c||(c=new _pe(this),a.set(l,c),c.recognizerName=qfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(g4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Wfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const T4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sx{constructor(e){e=ot(ot({},T4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!Y0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Lfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>tV(Sn(ot(ot({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new zhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new tfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Xz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in jj)this.eventManager.on(r,this._onEvent);this.viewManager=new Bhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Lhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Ghe,this.deckRenderer=new qhe(e),this.deckPicker=new Jhe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=jj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sx.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(qz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sx.defaultProps=T4,sx.VERSION=Afe.VERSION;const ox={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},Spe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},ax=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=Spe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),M4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return M4}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=M4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const D4=()=>{},Dpe={10241:9987,10240:9729,10242:33071,10243:33071};function Ipe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Ope(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function J0(n){return n&&(n.id||n.url)}function I4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(I4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&I4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ipe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Dpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=yV(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=C0(n);tn(p);const{gl:m,handle:w}=p,C=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const H=m.bindFramebuffer(36160,w);tn(e);let U=null;if(e instanceof Of&&(U=e,u=Number.isFinite(u)?u:U.width,h=Number.isFinite(h)?h:U.height,U.bind(0),e=U.target),C)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);U&&U.unbind(),m.bindFramebuffer(36160,H||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,W0(i.url,iR,this._loadOptions).then(r=>{const s=J0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Ope(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const O4=[0,0,0,255],kpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:O4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Lpe=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.state={iconManager:new Fpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:O4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=kpe,n})();const N4=[],jpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Vpe=(()=>{class n extends Lpe{getShaders(){return Sn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):N4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):N4}}return n.layerName="MultiIconLayer",n.defaultProps=jpe,n})();var Upe=Je(2),zpe=Je.n(Upe);const Gpe=[];function $pe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function P4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=P4(n,a,l,r);c+h>i&&(oi&&(h=F4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Kpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let w=0;w<=s;w++){const C=n[w];if(("\n"===C||w===s)&&(m=w),m>g){const H=c?Ype(n,t,i,r,g,m):Gpe;for(let U=0;U<=H.length;U++){const de=0===U?g:H[U-1],Ae=Ui===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),tge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function ige(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");W4(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:C}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:$pe(a+(l+1)*h)}}(ot({getFontWidth:H=>p.measureText(H).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const H=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(H,0,0)}if(W4(p,r,o,s),l){const H=new(zpe())(o,a,c,u,r,s),U=p.getImageData(0,0,H.size,H.size);for(const de of t)ige(H.draw(de),U),p.putImageData(U,g[de].x-a,g[de].y+a)}else for(const H of t)p.fillText(H,g[H].x,g[H].y+.9*o);return{xOffset:w,yOffset:C,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const age={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let lge=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=age,n})();const q4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},Y4={start:1,middle:0,end:-1},K4={top:1,center:0,bottom:-1},cR=[0,0,0,255],uge=["fontSize","buffer","sdf","radius","cutoff"],dge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:L4},fontFamily:B4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let hge=(()=>{class n extends Vz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new rge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(ot(ot({},q4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return uge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=xS(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=k4(h,l,o,a,r);return[(Y4["function"==typeof c?c(t,i):c]-1)*p/2,(K4["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[w,C]}=k4(h,l,o,a,r),H=Y4["function"==typeof c?c(t,i):c],U=K4["function"==typeof u?u(t,i):u],de=p.length,Ae=new Array(2*de);let Pe=0;for(let Be=0;Bet*e/255)}const dR={name:"lights",vs:X4,fs:X4,getUniforms:function Q4(n=fge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return Q4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},gge={};const _ge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=gge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,lx=new Float32Array(16),e5=new Float32Array(12);function t5(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function n5(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const i5={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let w;g?(lx.set(a),w=n5(lx)):(w=e5,t5(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:C,objectInfo:H}=xS(i,e,t);for(const U of C){let de;H.index++,g?(lx.set(c?a:a(U,H)),de=n5(lx)):(de=e5,t5(de,h?r:r(U,H),u?s:s(U,H)),de.set(p?o:o(U,H),9)),m[w++]=de[0],m[w++]=de[1],m[w++]=de[2],m[w++]=de[3],m[w++]=de[4],m[w++]=de[5],m[w++]=de[6],m[w++]=de[7],m[w++]=de[8],m[w++]=de[9],m[w++]=de[10],m[w++]=de[11]}}}};function r5(n,e){return e===Ui.CARTESIAN||e===Ui.METER_OFFSETS||e===Ui.DEFAULT&&!n.isGeospatial}function s5(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function vge(n,e){if(n.attributes)return s5(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return s5(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const wge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Ege=(()=>{class n extends q0{getShaders(){const t=!Si(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[ox,_ge,ax],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:i5}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||r5(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:vge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=wge,n})();const o5={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class eb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;pn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof eb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function a5(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],w=t[3],C=t[4],H=t[5],U=t[6],de=t[7],Ae=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=w*i+C*o+H*c,n[4]=w*r+C*a+H*u,n[5]=w*s+C*l+H*h,n[6]=U*i+de*o+Ae*c,n[7]=U*r+de*a+Ae*u,n[8]=U*s+de*l+Ae*h,n}function l5(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function c5(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function u5(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function cx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function d5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function h5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function f5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function p5(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function tb(n,e,t,i){var p,g,m,w,C,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-i)*p)/m,C=Math.sin(i*p)/m):(w=1-i,C=i),n[0]=w*r+C*l,n[1]=w*s+C*c,n[2]=w*o+C*u,n[3]=w*a+C*h,n}function g5(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function m5(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var _5=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=kU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},y5=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},b5=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},v5=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},E5=function(){var n=CV(),e=AV(1,0,0),t=AV(0,1,0);return function(i,r,s){var o=TV(r,s);return o<-.999999?(M0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&M0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(M0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();c5(),c5(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Rge=[0,0,0,1];class _R extends wS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return u5(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get w(){return this[3]}set w(e){this[3]=ar(e)}len(){return b5(this)}lengthSquared(){return v5(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return E5(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return _5(this,this,e),this.check()}calculateW(){return p5(this,this),this.check()}conjugate(){return m5(this,this),this.check()}invert(){return g5(this,this),this.check()}lerp(e,t,i){return y5(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),cx(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),cx(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Rge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),ES(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Nge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Pge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function S5(n){if(!n._animation){const e=Pge[n.componentType],t=Nge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:pn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:S5(e.accessors[a]),interpolation:l,output:S5(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Uge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Hge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Gge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(pn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function x5(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Yge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Kge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Xge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Kge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new zge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new eb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new eb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new eb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){pn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Gge(n,e);pn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Hge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[o5],defines:a.defines,parameters:a.parameters,vs:x5(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:x5(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),pn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Yge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function C5(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=D5(D5(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function D5(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,I5,O5,R5,N5,P5,F5,k5;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class bR{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,I5=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[I5](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ome extends om{constructor(){super(!0,8)}}class ame extends om{constructor(){super(!0,16)}}class lme extends om{constructor(){super(!0,32)}}class cme extends om{constructor(){super(!1,8)}}class ume extends om{constructor(){super(!1,16)}}class dme extends om{constructor(){super(!1,32)}}O5=Symbol.toStringTag;class L5 extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[O5](){return"Float"}toString(){return`Float${this.precision}`}}class hme extends L5{constructor(){super(32)}}class fme extends L5{constructor(){super(64)}}Symbol,Symbol,R5=Symbol.toStringTag,N5=Symbol.toStringTag,P5=Symbol.toStringTag,F5=Symbol.toStringTag,k5=Symbol.toStringTag;class pme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[k5](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ux{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new ux(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function B5(n,e,t){const i=t?j5(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ome;case Uint8Array:return new cme;case Int16Array:return new ame;case Uint16Array:return new ume;case Int32Array:return new lme;case Uint32Array:return new dme;case Float32Array:return new hme;case Float64Array:return new fme;default:throw new Error("array type not supported")}}(e.value);return new ux(n,new pme(e.size,new ux("value",r)),!1,i)}function j5(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const V5={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},yme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class vme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=j5(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=B5(o,n[o],s[o]);r.push(l)}if(t){const o=B5("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dx=Je(125);const SR={};function xR(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n,e=null,t={}){return e&&(n=Cme(n,e,t)),SR[n]=SR[n]||Ame(n),yield SR[n]})).apply(this,arguments)}function Cme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Ame(n){return AR.apply(this,arguments)}function AR(){return(AR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):Tme(yield(yield fetch(n)).text(),n):dx.requireFromFile&&(yield dx.requireFromFile(n))})).apply(this,arguments)}function Tme(n,e){if(!yO)return dx.requireFromString&&dx.requireFromString(n,e);if(bO)return eval.call(Bue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Mme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let nb;function Rme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){const e=n.modules||{};return nb=e.draco3d?nb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):nb||Nme(n),yield nb})).apply(this,arguments)}function Nme(n){return DR.apply(this,arguments)}function DR(){return(DR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(Mme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(Dme,"draco",n),yield xR(Ime,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Pme(e,t)})).apply(this,arguments)}function Pme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=Sn(ot({},M5),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=oi(function*(n,e){const{draco:t}=yield Rme(e),i=new vme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function rb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Lme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+rb(i.byteLength,4)}const U5=["SCALAR","VEC2","VEC3","VEC4"],Bme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],jme=new Map(Bme),Vme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ume={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},zme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function z5(n){return U5[n-1]||U5[0]}function H5(n){const e=jme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function G5(n,e){const t=zme[n.componentType],i=Vme[n.type],s=n.count*i,o=n.count*i*Ume[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Hme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Hme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=G5(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:z5(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:H5(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Lme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*e_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function t_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(fx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fx)})).apply(this,arguments)}function n_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fx,{}),e.addExtension(fx))}function i_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function r_e(n){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function s_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(px);if(i){const r=a_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,px);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=l_e(s.technique,e)),e.removeObjectExtension(s,px)}e.removeExtension(px)}})).apply(this,arguments)}function o_e(n,e){return jR.apply(this,arguments)}function jR(){return(jR=oi(function*(n,e){})).apply(this,arguments)}function a_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function l_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const q5={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Tt,KHR_techniques_webgl:dt};function c_e(n){return VR.apply(this,arguments)}function VR(){return(VR=oi(function*(n,e={},t){for(const r in q5){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield q5[r].decode(n,e,t))}})).apply(this,arguments)}const Y5={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},d_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class h_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,$5);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension($5)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in Y5)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in Y5)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=d_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function f_e(n,e={}){return(new h_e).normalize(n,e)}const p_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},g_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},m_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},__e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class v_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return g_e[n]}(e.componentType),e.components=function(n){return p_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=G5(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):__e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return m_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function w_e(n,e){return(new v_e).postProcess(n,e)}const K5=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),rb(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),rb(i,4)}function N_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=oi(function*(n,e,t=0,i,r){var s,o,a,l;P_e(n,e,t,i),f_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield F_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=k_e(n,i,r);c.push(h)}const u=c_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?w_e(n,i):n})).apply(this,arguments)}function P_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=K5}=t,s=i.getUint32(e,!1);return s===r||s===K5}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?C5(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?C5(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function F_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield V_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function V_e(n){return XR.apply(this,arguments)}function XR(){return(XR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const X5=[255,255,255,255],H_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:X5},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let G_e=(()=>{class n extends q0{getShaders(){const t=[ox,ax];return"pbr"===this.props._lighting&&t.push(o5),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:X5,transition:!0},instanceModelMatrix:i5})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Xge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return KR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:r5(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=H_e,n})();class $_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const H=i;i=(U,de,Ae,Pe,Be)=>H}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let H=0;H<=e;H++)for(let U=0;U<=t;U++){const de=U/t,Ae=H/e,Pe=U+H*(t+1),Be=2*Pe,et=3*Pe,wt=c*de,vt=o*Ae,Ct=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),mt=Bt*$t,Vt=Math.cos(vt),ft=Ct*$t,qt=i(mt,Vt,ft,de,Ae);h[et+0]=qt*mt,h[et+1]=qt*Vt,h[et+2]=qt*ft,p[et+0]=mt,p[et+1]=Vt,p[et+2]=ft,g[Be+0]=de,g[Be+1]=1-Ae}const C=t+1;for(let H=0;Hs?(gt=i,$t=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,$t=0),gt-=i/2;for(let Vt=0;Vts?0:ft*w,et[vt+Pe[1]]=Bt<0?-1:Bt>s?1:C,et[vt+Pe[2]]=Bt<0||Bt>s?0:qt*w,wt[Ct+0]=Vt/r,wt[Ct+1]=$t,Ct+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new le){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new le){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new le){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new le){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new le){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=rye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=sye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Z5),Z5.almostEquals(e,t)}clone(){return new le(this.x,this.y,this.z)}}le.ZERO=void 0,le.UNIT_X=void 0,le.UNIT_Y=void 0,le.UNIT_Z=void 0,le.ZERO=new le(0,0,0),le.UNIT_X=new le(1,0,0),le.UNIT_Y=new le(0,1,0),le.UNIT_Z=new le(0,0,1);const rye=new le,sye=new le,Z5=new le;class gr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new le,this.upperBound=new le,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const J5=new le,e8=[new le,new le,new le,new le,new le,new le,new le,new le];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new le){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=aye;e.tangents(i,lye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new le){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,w,C,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-t)*p)/m,C=Math.sin(t*p)/m):(w=1-t,C=t),i.x=w*r+C*l,i.y=w*s+C*c,i.z=w*o+C*u,i.w=w*a+C*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const aye=new le,lye=new le,cye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let gn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=cye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new le,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new le){return i.vsub(e,r),t.conjugate(n8),n8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new le){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new le){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new le){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const n8=new hs;class Bf extends gn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:gn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new le;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new le,u=new le,h=new le,p=new le,g=new le,m=new le;let w=Number.MAX_VALUE;const C=this;if(C.uniqueAxes)for(let H=0;H!==C.uniqueAxes.length;H++){i.vmult(C.uniqueAxes[H],c);const U=C.testSepAxis(c,e,t,i,r,s);if(!1===U)return!1;U0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,QR),Bf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?mn.STATIC:mn.DYNAMIC,typeof e.type==typeof mn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=mn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new le,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new le,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new le,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new le,this.invInertia=new le,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new le,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new le(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new le(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new gr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new le,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=mn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===mn.SLEEPING&&this.dispatchEvent(mn.wakeupEvent)}sleep(){this.sleepState=mn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===mn.AWAKE&&ir?this.wakeUp():t===mn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(mn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===mn.SLEEPING||this.type===mn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new le){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new le){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new le,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=hye,o=fye,a=this.quaternion,l=this.aabb,c=pye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=gye,r=mye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=_ye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=yye,r=bye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===mn.DYNAMIC&&(this.sleepState===mn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=t,r=vye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=wye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=Eye,r=Sye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=xye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mx.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new le;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==mn.DYNAMIC&&this.type!==mn.KINEMATIC||this.sleepState===mn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,w=this.angularFactor,C=l.x*w.x,H=l.y*w.y,U=l.z*w.z;s.x+=e*(m[0]*C+m[1]*H+m[2]*U),s.y+=e*(m[3]*C+m[4]*H+m[5]*U),s.z+=e*(m[6]*C+m[7]*H+m[8]*U),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}mn.idCounter=0,mn.COLLIDE_EVENT_NAME="collide",mn.DYNAMIC=1,mn.STATIC=2,mn.KINEMATIC=4,mn.AWAKE=0,mn.SLEEPY=1,mn.SLEEPING=2,mn.wakeupEvent={type:"wakeup"},mn.sleepyEvent={type:"sleepy"},mn.sleepEvent={type:"sleep"};const hye=new le,fye=new hs,pye=new gr,gye=new su,mye=new su,_ye=new le,yye=new le,bye=new le,vye=new le,wye=new le,Eye=new le,Sye=new le,xye=new le;new le,new le;class _x{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new le,this.rayToWorld=new le,this.hitNormalWorld=new le,this.hitPointWorld=new le,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let i8,r8,s8,o8,a8,l8,c8;i8=gn.types.SPHERE,r8=gn.types.PLANE,s8=gn.types.BOX,o8=gn.types.CYLINDER,a8=gn.types.CONVEXPOLYHEDRON,l8=gn.types.HEIGHTFIELD,c8=gn.types.TRIMESH;class bs{get[i8](){return this._intersectSphere}get[r8](){return this._intersectPlane}get[s8](){return this._intersectBox}get[o8](){return this._intersectConvex}get[a8](){return this._intersectConvex}get[l8](){return this._intersectHeightfield}get[c8](){return this._intersectTrimesh}constructor(e=new le,t=new le){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new le,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new _x,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new _x,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(u8),nN.length=0,e.broadphase.aabbQuery(e,u8,nN),this.intersectBodies(nN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Oye,s=Rye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new le(0,0,1);t.vmult(c,c);const u=new le;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;C>=0&&C<=1&&(o.lerp(a,C,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Lye,l=h8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,C=m.distanceTo(this.to),H=c?c.length:u.length,U=this.result;for(let de=0;!U.shouldStop&&deC||this.reportIntersection(a,ba,s,r,Ae)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Bye,l=Gye,c=$ye,u=h8,h=jye,p=Vye,g=Uye,m=Hye,w=zye,C=e.indices,H=this.from,U=this.to,de=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,de,h),Wi.pointToLocalFrame(i,t,H,p),Wi.pointToLocalFrame(i,t,U,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Ae=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Be=l.length;!this.result.shouldStop&&Pe!==Be;Pe++){const et=l[Pe];e.getNormal(et,a),e.getVertex(C[3*et],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(C[3*et+1],au),e.getVertex(C[3*et+2],lu);const Ct=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||Ct>Ae||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(w,m,s,r,et))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function i6(){Pz([M5,cm])}function r6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oN(n,e){return Li(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),r6(n.scenegraphNode,r)})}function Wve(n,e){return Li(this,void 0,void 0,function*(){return r6(n,yield e)})}function aN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new $_e;break;case"cone":i=new K_e;break;case"cylinder":i=new X_e;break;case"cube":default:i=new nye}return new Ege(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ui.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function s6(n,e,t){if(e&&0!==e.length)return new hge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Yve=(()=>{class n extends Vz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),i6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new G_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Ui.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Wve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(s6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(s6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Li(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new gr({lowerBound:new le(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new le(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield W0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new gr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function o6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),o6(t,e);return e}let Xve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Yve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Yde({flipY:!1,near:-1e3}):new Qde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new $z({color:[255,255,255],intensity:10})})]),this.deck=new sx(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Li(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Li(this,void 0,void 0,function*(){i6();const i=yield oN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),p=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new gr({lowerBound:new le(...h.map((g,m)=>Math.min(g,p[m]))),upperBound:new le(...p.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of o6(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new le(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return or([Hf.ZP],n.prototype,"_onHover",null),or([Hf.ZP],n.prototype,"_onClick",null),or([Hf.ZP],n.prototype,"_onViewStateChange",null),or([Hf.ZP],n.prototype,"_onDragStart",null),or([Hf.ZP],n.prototype,"_onDrag",null),or([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Qve(n,e){return n===e}function Zve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cN=new Ht("INITIAL_STATE_TOKEN");let twe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const a6=new Ht("Internals.StateContextFactory"),l6=new Ht("Internals.StateFactory");function hb(...n){if(1===n.length){const e=n[0];if(P(e))return Tx(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Tx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Tx(n=1===n.length&&P(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return Tx(n,null)}function Tx(n,e){return new I(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Ji(n,e){return function(i){return i.lift(new nwe(n,e))}}class nwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new iwe(e,this.predicate,this.thisArg))}}class iwe extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const c6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Yi(n){return e=>0===n?uS():e.lift(new swe(n))}class swe{constructor(e){if(this.total=e,this.total<0)throw new c6}call(e,t){return t.subscribe(new owe(e,this.total))}}class owe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function u6(n,e){return e?t=>t.pipe(u6((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new awe(n))}class awe{constructor(e){this.project=e}call(e,t){return t.subscribe(new lwe(e,this.project))}}class lwe extends ve{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Mx(n=null){return e=>e.lift(new cwe(n))}class cwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new uwe(e,this.defaultValue))}}class uwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new dwe(n),r=t.lift(i);return i.caught=r}}class dwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new hwe(e,this.selector,this.caught))}}class hwe extends ve{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function mr(n){return e=>e.lift(new fwe(n))}class fwe{constructor(e){this.notifier=e}call(e,t){const i=new pwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class pwe extends ve{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new gwe(n,e,t))}}class gwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new mwe(e,this.nextOrObserver,this.error,this.complete))}}class mwe extends y{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new _we(n,e))}class _we{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new ywe(e,this.compare,this.keySelector))}}class ywe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let d6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const h6=new Ht("ROOT_STATE_TOKEN"),f6=new Ht("FEATURE_STATE_TOKEN"),p6=new Ht("NGXS_PLUGINS"),g6=new Ht("NG_TEST_MODE"),m6=new Ht("NG_DEV_MODE"),sd="NGXS_META",_6="NGXS_OPTIONS_META",uN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=d6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class bwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const y6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const b6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Dx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dN=n=>n&&"object"==typeof n&&!Array.isArray(n),hN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dN(n)&&dN(t))for(const i in t)dN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hN(n,...e)};function fN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return fb(n)}function fb(n){return n[sd]}function gN(n){return n[uN]}function v6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ji(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Iwe(){return me(n=>n.action)}function Ix(n){return e=>new I(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Ox=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(y6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Nwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Rx=(()=>{class n extends Nwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pwe=(()=>{class n extends I{constructor(t,i){super(r=>{const s=t.pipe(Ix(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E6=n=>(...e)=>n.shift()(...e,(...i)=>E6(n)(...i));let Nx=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12),Oe(p6,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_N=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Ix(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?dn(this._stateStream.getValue()):hb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return E6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Ji(i=>i.action===t&&"DISPATCHED"!==i.status),Yi(1),$a())}createDispatchObservable(t){return t.pipe(u6(i=>{switch(i.status){case"SUCCESSFUL":return dn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Rx),Oe(_N),Oe(mN),Oe(Nx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const x6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&x6(n[i])}),n};let C6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Oe(m6),Oe(g6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),A6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Oe(C6),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=x6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(S6),Oe(Gf),Oe(A6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Px=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Dx(l,t.path)}function s(l,c){const u=b6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=w6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Fx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=fb(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Fx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=Ax(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?v6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Fx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>b6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ji(t=>"DISPATCHED"===t.status),B(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),Mx({action:t,status:"CANCELED"}),bc(i=>dn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof I?(u=u.pipe(Mx({})),l.options.cancelUncompleted&&(u=u.pipe(mr(t.pipe(Twe(i)))))):u=dn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(dn({})),hb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Fx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Dx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Gf),Oe(n,12),Oe(Rx),Oe(_N),Oe(Px),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ji(()=>!!i),Yr(()=>this.invokeInit(i.states)),B(()=>this.bootstrapper.appBootstrapped$),Ji(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=w6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm),Oe(Px),Oe(lN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kx_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function kwe(n,e,t){const i=t&&t.containerClass,s=Ax(function(...c){const u=e.apply(i,c);return u instanceof Function?Ax.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uN)||Object.defineProperty(n,uN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kx_getOptions(n.containerClass)||{},kx_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&fb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>M6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function M6(n){const e=gN(n)||fb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?dn(void 0):Fg(r)}),rd(),Ix(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Ix(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return M6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(gm),Oe(Gf),Oe(Ox),Oe(mm),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),pb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Uwe{static get type(){return"@@INIT"}}class zwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Lx=new kg(1);let Gwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Lx.next(t)}catch(n){Lx.next(!1)}finally{Lx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Uwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Oe(mm),Oe(gm),Oe(cu),Oe(pb),Oe(h6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})(),$we=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new zwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(gm),Oe(mm),Oe(f6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:Gwe,providers:[mm,Px,Pwe,Rx,lN,A6,C6,yN,S6,_N,gm,Ox,cu,Nx,pb,mN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:$we,providers:[mm,mN,...e,{provide:f6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:g6,useValue:ewe},{provide:m6,useValue:Ba},{provide:y6,useClass:t.executionStrategy||d6},{provide:h6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:PE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[lN]},{provide:cN,useFactory:Wo.getInitialState},{provide:a6,useExisting:Px},{provide:l6,useExisting:mm}]}static ngxsConfigFactory(e){return hN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return twe.pop()}}function bN(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=fN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function D6(n){return i=>{!function(n){Lx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[_6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Fx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[_6]=a}}function Bx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?v6(t.length?[e,...t]:e.split("."),pb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!pb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return pb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=kwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=xt({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Qx=new uc(cS);class nSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new iSe(e,this.total))}}class iSe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Zx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof vn?n.nativeElement:n}let GN;try{GN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){GN=!1}let xb,qf,$N,er=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!GN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc))},n.\u0275prov=We({factory:function(){return new n(Oe(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==xb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>xb=!0}))}finally{xb=xb||!1}return xb}()?n:!!n.capture}function BH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function eC(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let YH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===XH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=XH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||KH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(er))},token:n,providedIn:"root"}),n})();function KH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function XH(n){if(!KH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class SSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(Yi(1)).subscribe(e)}}let QH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new SSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(YH),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(YH),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const eG=new Ht("cdk-input-modality-detector-options"),MSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let nG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},MSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new nSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},token:n,providedIn:"root"}),n})();const sG=new Ht("cdk-focus-monitor-default-options"),iC=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return dn(null);const s=function(n){if(function(){if(null==$N){const n="undefined"!=typeof document?document.head:null;$N=!(!n||!n.createShadowRoot&&!n.attachShadow)}return $N}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,iC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(mr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,iC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},token:n,providedIn:"root"}),n})();const cG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Oe(cG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(cG,8))},token:n,providedIn:"root"}),n})();function rC(...n){return Nt(1)(dn(...n))}function ao(...n){const e=n[n.length-1];return Ce(e)?(n.pop(),t=>rC(n,t,e)):t=>rC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function fG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){fG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function gG(){return"undefined"!=typeof window&&void 0!==window.document}function QN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let tP=(n,e)=>!1,nP=(n,e)=>!1,yG=(n,e,t)=>[];const bG=QN();(bG||"undefined"!=typeof Element)&&(tP=gG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),nP=(()=>{if(bG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):nP}})(),yG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return iP(t)}matchesElement(t,i){return rP(t,i)}containsElement(t,i){return sP(t,i)}query(t,i,r){return oP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class sC{}sC.NOOP=new EG;function AG(n,e,t){return t?e+":"+t+";":""}function TG(n){let e="";for(let t=0;t{const r=dP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),QN()&&TG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=dP(t);n.style[i]=""}),QN()&&TG(n))}const zSe=/-+([a-z0-9])/g;function dP(n){return n.replace(zSe,(...e)=>e[1].toUpperCase())}function HSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Ib(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function AP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(me(r=>P(r)?i(...r):i(r))):new I(r=>{C$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function C$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let UCe=1;const zCe=Promise.resolve(),AC={};function A$(n){return n in AC&&(delete AC[n],!0)}const T$={setImmediate(n){const e=UCe++;return AC[e]=!0,zCe.then(()=>A$(e)&&n()),e},clearImmediate(n){A$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=T$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(T$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof I||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class qCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new YCe(e,this.durationSelector))}}class YCe extends ve{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function M$(n){return!P(n)&&n-parseFloat(n)+1>=0}function XCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=Qx){return function(n){return function(t){return t.lift(new qCe(n))}}(()=>function(n=0,e,t){let i=-1;return M$(e)?i=Number(e)<1?1:Number(e):Ce(e)&&(t=e),Ce(t)||(t=Qx),new I(r=>{const s=M$(n)?n:+n-t.now();return t.schedule(XCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let I$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new I(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):dn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ji(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(hn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn,8))},token:n,providedIn:"root"}),n})();class OP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class DC extends OP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends OP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class f1e extends OP{constructor(e){super(),this.element=e instanceof vn?e.nativeElement:e}}class IC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof DC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof f1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class p1e extends IC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends IC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(xe(wl),xe(Ns),xe(hn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[xn]}),n})();const L$=BH();class y1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),L$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),L$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class b1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class B${enable(){}disable(){}attach(){}}function RP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function j$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class v1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();RP(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let w1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new B$,this.close=o=>new b1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new y1e(this._viewportRuler,this._document),this.reposition=o=>new v1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();class RC{constructor(e){if(this.scrollStrategy=new B$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class E1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class S1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let V$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),x1e=(()=>{class n extends V${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),C1e=(()=>{class n extends V${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn),Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(hn),Oe(er))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},U$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Nb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||U$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Zx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(mr(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const z$="cdk-overlay-connected-position-bounding-box",T1e=/([A-Za-z%]+)$/;class H${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new se,this._resizeSubscription=x.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(z$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(z$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=W$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,p,g),C=m*w;return{visibleArea:C,isCompletelyWithinViewport:s.width*s.height===C,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=G$(this._overlayRef.getConfig().minHeight),a=G$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=W$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:j$(e,i),isOriginOutsideView:RP(e,i),isOverlayClipped:j$(t,i),isOverlayOutsideView:RP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Zx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof vn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function G$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(T1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function W$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class M1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new H$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new E1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const q$="cdk-global-overlay-wrapper";class D1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(q$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(q$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let I1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new D1e}connectedTo(t,i,r){return new M1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new H$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},n.\u0275prov=We({factory:function(){return new n(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},token:n,providedIn:"root"}),n})(),O1e=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new RC(t);return o.direction=o.direction||this._directionality.value,new A1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+O1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new p1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Oe(w1e),Oe(Nb),Oe(wl),Oe(I1e),Oe(x1e),Oe(Wn),Oe(fn),Oe(hn),Oe(Il),Oe(Pg),Oe(C1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function l7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof fd?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class nTe{encodeKey(e){return E7(e)}encodeValue(e){return E7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const rTe=/%(\d[a-f0-9])/gi,sTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function E7(n){return encodeURIComponent(n).replace(rTe,(e,t)=>{var i;return null!==(i=sTe[t])&&void 0!==i?i:e})}function S7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new nTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(S7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(S7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class oTe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function x7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function C7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function A7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new oTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class PC extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function jP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=dn(s).pipe(function(n,e){return B(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Ji(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,jP(r,i))}post(t,i,r={}){return this.request("POST",t,jP(r,i))}put(t,i,r={}){return this.request("PUT",t,jP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Oe(v7))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mTe=["*"];function R7(n){return Error(`Unable to find icon with the name "${n}"`)}function N7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function P7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let FC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw P7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw P7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw N7(t);const r=this._cachedIconsByUrl.get(i);return r?dn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=F7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(R7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?dn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?dn(r):hb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),dn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw R7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?dn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new eTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(F7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),k7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],xTe=k7.map(n=>`[${n}]`).join(", "),CTe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends vTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=x.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(xTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(CTe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(FC),Fo("aria-hidden"),xe(wTe),xe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Vi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[xn],ngContentSelectors:mTe,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function kTe(n,e){}class GP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const LTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let BTe=(()=>{class n extends IC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=eC(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=eC())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=eC();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(QH),xe(Dr),xe(hn,8),xe(GP),xe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[xn]}),n})(),jTe=(()=>{class n extends BTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&gE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Vi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),yE("@dialogContainer",i._state))},features:[xn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,kTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[LTe.dialogContainer]}}),n})(),VTe=0;class LC{constructor(e,t,i="mat-dialog-"+VTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Ji(r=>"opened"===r.state),Yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ji(r=>"closed"===r.state),Yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ji(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),$P(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$P(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ji(t=>"closing"===t.state),Yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $P(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const j7=new Ht("MatDialogData"),UTe=new Ht("mat-dialog-default-options"),V7=new Ht("mat-dialog-scroll-strategy");let GTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new I(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):uS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new GP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new RC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:GP,useValue:i}]}),o=new DC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new DC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,wn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:dn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(xe(wc),xe(Wn),xe(void 0),xe(void 0),xe(Nb),xe(void 0),xe(xu),xe(xu),xe(Ht))},n.\u0275dir=Rt({type:n}),n})(),kb=(()=>{class n extends GTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,LC,jTe,j7)}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(Pg,8),Oe(UTe,8),Oe(V7),Oe(n,12),Oe(Nb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WTe=0,U7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+WTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(xe(LC,8),xe(vn),xe(kb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),z7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const qP=new Ht("CdkAccordion");let KTe=0,QTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=x.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+KTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(xe(qP,12),xe(Dr),xe(I$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:qP,useValue:void 0}])]}),n})();const JTe=["body"];function eMe(n,e){}const tMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],nMe=["mat-expansion-panel-header","*","mat-action-row"];function iMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const rMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],sMe=["mat-panel-title","mat-panel-description","*"],YP=new Ht("MAT_ACCORDION"),G7="225ms cubic-bezier(0.4,0.0,0.2,1)",$7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))])};let oMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),aMe=0;const W7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let q7=(()=>{class n extends QTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+aMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Ji(()=>this.expanded&&!this._portal),Yi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(xe(YP,12),xe(Dr),xe(I$),xe(Ns),xe(hn),xe(Nl,8),xe(W7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();k3(r,new N3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}F3(r,jt(),t)}(r,oMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(JTe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:YP,useValue:void 0}]),xn,Hi],ngContentSelectors:nMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(tMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,eMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Vi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[$7.bodyExpansion]},changeDetection:0}),n})();class cMe{}const uMe=AP(cMe);let Y7=(()=>{class n extends uMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=x.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ji(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Ji(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ji(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(xe(q7,1),xe(vn),xe(du),xe(Dr),xe(W7,8),xe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Vi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Uy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[xn],ngContentSelectors:sMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(rMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,iMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[$7.indicatorRotate]},changeDetection:0}),n})();var K7=Je(478);Object.create(Error.prototype);const gMe=["*"];var jC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(jC||(jC={})),jC))();class _Me{}const Q7=new Ht("SECURITY_CONTEXT");let KP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new K7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=K7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc),Oe(Q7),Oe(ip,8),Oe(_Me,8),Oe(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Z7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,jC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sP(i)?t(...i):t(i))):new I(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new xMe(n,t))}}class xMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new CMe(e,this.observables,this.project))}}class CMe extends c7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class AMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new TMe(e,this.accumulator,this.seed,this.hasSeed))}}class TMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class IMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new OMe(e,this.predicate))}}class OMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const RMe=["youtubeContainer"];let nW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=dn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Yi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(XP(Yo([i,r])),me(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,dn(o)]).pipe(function(n){return ce(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&P(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new h7(e))}(n),function(n){return e=>e.lift(new IMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new AMe(n,e,t))}}(BMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),B(e=>e?iW(e)?dn(e):new I(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{iW(r)||r.destroy()})(e)}}).pipe(Yi(1),ao(void 0)):dn(void 0)),mr(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(ZP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(ZP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(ZP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XP(Yo([n,e,o,r])),me(([u,h])=>h),mr(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?J7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):dn()),i=>new I(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),mr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(xe(fn),xe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(RMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function BMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function iW(n){return"getPlayerStatus"in n}function ZP(n,e){return ce(XP(n),Ji(([t,i])=>e(i,t)),me(([t])=>t))}let YMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Bb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function JP(n){return Boolean(n)}function aW(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const UC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&UC(n[o])}),n};function lW(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const dW="NGXS_DATA_META",tF="NGXS_META",hW="NGXS_ARGUMENT_REGISTRY_META";let fW=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function jb(n){return n[dW]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(fW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(l6),Oe(a6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=jb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=We({token:ps,factory:ps.\u0275fac}),new kg(1);class gDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function pW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function gW(n){var e;const t=pW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=aW(void 0===t.defaults?{}:t.defaults);if(i.length){if(lW(s))return function(n,e){return e.reduce((t,i)=>{const r=pW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=gW(i),t},null!=n?n:{})}(s,i);throw new gDe(s)}return s}function _W(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function yW(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function bDe(n){let e=!1;return Tm(n)&&(e=!0),e}function nF(n){return n[hW]}class vDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class wDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(JP(this.argumentMap.has(e))||JP(this.payloadMap.has(e)))throw new vDe(e,t)}}function TDe(n){return{enumerable:!0,configurable:!0,get(){const e=jb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function bW(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(lW(i))for(;null!==i;){if(Bb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(_W(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),_W(n)}(this),o=null==s?void 0:s.get(i);if(Bb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==yW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:yW(),isObservable:bDe(l)}),l}return o.value},t}}const NDe={cancelUncompleted:!0,insideZone:!1};function iF(n=NDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=nF(r);if(Xa(h)){const U=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),de=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var U;return Bb(n.insideZone)?null===(U=Za.ngZone)||void 0===U||U.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?dn(null).pipe(me(()=>l)):l};const C=ps.createAction(h,o,g),H=Za.store.dispatch(C);return Tm(l)?function(n,e){return hb([n,e]).pipe(me(t=>t.pop()))}(H,l):l},i}}function vW(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(nF(t))&&Object.defineProperties(t,{[hW]:{enumerable:!0,configurable:!0,value:new wDe}}),nF(t)})(e,t).createPayloadType(r,t,i)}}function FDe(){return n=>{const e=function(n){if(function(n){return!JP(n)}(n.hasOwnProperty(tF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,tF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[tF]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=jb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,dW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),jb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>aW(t)},context:TDe(n)})}(n,e,gW(n)),function(n){var e,t;const i=jb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(me(o=>Ba()?UC(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let LDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),BDe=(()=>{class n extends LDe{get snapshot(){return function(n){return Ba()?UC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?UC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),or([iF(),Tj(0,vW("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),or([iF(),Tj(0,vW("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),or([iF(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),AF=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),QOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(AF))}),TF=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(AF),Fc(QOe))});let MF=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(jm),Oe(hn),Oe(TF))},n.\u0275prov=We({factory:function(){return new n(Oe(jm),Oe(hn),Oe(TF))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class D9 extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function yRe(){throw new D9}function bRe(){throw new D9}function OF(n,e,t){e.run(()=>n.dispatch(t))}function ERe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(OF(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(mr(i.cancelUncompleted$))),t.subscribe({next:r=>OF(n,e,r)}),t}(n,e,t,i):(OF(n,e,t),t)}class SRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const RF="\u0275fac",I9=Symbol("InjectorInstance"),O9=Symbol("FactoryHasBeenDecorated");function R9(n,e){const t=n[I9];return t?t.get(e):null}const ARe={cancelUncompleted:!1};function N9(n=ARe){return(e,t,i)=>{let r;const s=function(n){return n?new SRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=R9(this,cu)||yRe(),l=R9(this,fn)||bRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>ERe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(O9 in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[RF]&&function(n){const e=n[RF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[I9]=xe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,RF,{get:()=>i})}(e),n.constructor.prototype[O9]=!0}(e)}}const eNe=["bodyCanvas"];let tNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Li(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Xve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(eNe,5,vn),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),nNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[qr]]}),n})();function wNe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),mE("videoId",t.videoID)}}function ENe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,wNe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function SNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,ENe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let $9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(xe(LC),xe(j7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,SNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[U7,Nm,z7,Af,lc,q7,Y7,Z7,nW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),W9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Oe(ip))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),CNe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[U7,Nm,YMe,z7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Xb=(()=>{let n=class extends BDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ji(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(l7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(l7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW()],n.prototype,"config$",null),n=or([FDe(),D6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let kF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),LF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),BF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var jF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const K9="callToActionPopupShown";let Do=jF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(K9,`${i}`),s=jF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new LF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open($9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(RNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(K9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(Oe(kb),Oe(MF),Oe(wa),Oe(W9),Oe(ip))},Do.\u0275prov=We({token:Do,factory:Do.\u0275fac}),or([bN(kF)],Do.prototype,"learnMore",null),or([bN(LF)],Do.prototype,"open",null),or([bN(BF)],Do.prototype,"close",null),Do=jF=or([D6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let l1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return or([_m([Do])],n,"title",null),or([_m([Do])],n,"message",null),or([_m([Do])],n,"callToAction",null),or([_m([Do])],n,"imageUrl",null),or([_m([Do])],n,"expirationDate",null),or([_m([Do])],n,"popupShown",null),n})(),RNe=(()=>{class n{constructor(){this.close=()=>new BF,this.learnMore=()=>new kF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[CNe],pipes:[p0],styles:[""],changeDetection:0}),or([Bx(l1.title)],n.prototype,"title$",void 0),or([Bx(l1.message)],n.prototype,"message$",void 0),or([Bx(l1.callToAction)],n.prototype,"callToAction$",void 0),or([Bx(l1.imageUrl)],n.prototype,"imageUrl$",void 0),or([N9()],n.prototype,"close",void 0),or([N9()],n.prototype,"learnMore",void 0),n})();const X9="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",LNe=[173,255,47,229.5];var En=Je(440),zNe=Je(698),HNe=Je(445),GNe=Je.n(HNe),_r=Je(815),Qb=Je(609);const Pi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),Vm=(Pi("rdf"),Pi("rdf")("type"),{x:Pi("rdfs"),label:Pi("rdfs")("label"),comment:Pi("rdfs")("comment"),isDefinedBy:Pi("rdfs")("isDefinedBy"),seeAlso:Pi("rdfs")("seeAlso")}),co_label=(Pi("entity"),Pi("entity")("id"),Vm.label),co_description=Vm.comment,co_link=Vm.seeAlso,co_providerName=(Pi("entity")("sex"),Pi("entity")("age"),Pi("entity")("bmi"),En.DataFactory.literal("Male"),En.DataFactory.literal("Female"),Pi("entity")("consortium_name"),Pi("entity")("provider_name")),co_donor=(Pi("entity")("provider_uuid"),Pi("entity")("has_donor")),co_sections=Pi("entity")("has_tissue_section"),co_datasets=Pi("entity")("has_dataset"),co_sampleType=Pi("entity")("sample_type"),co_sectionCount=(En.DataFactory.literal("Tissue Block"),En.DataFactory.literal("Tissue Section"),En.DataFactory.literal("Non-standard"),Pi("entity")("section_count")),co_sectionSize=Pi("entity")("section_size"),co_sectionUnits=Pi("entity")("section_units"),co_sectionNumber=Pi("entity")("section_number"),co_spatialEntity=Pi("entity")("has_spatial_entity"),co_technology=(Pi("entity")("has_ontology_term"),Pi("entity")("has_cell_type_term"),Pi("entity")("technology")),co_thumbnail=Pi("entity")("has_thumbnail"),An=Pi("ccf"),md={x:An,ontologyNode:{label:An("ccf_preferred_label"),parent:An("ccf_part_of"),children:An("ccf_part_of"),rui_rank:An("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:An("ccf_part_of"),ct_is_a:An("ct_is_a"),located_in:An("located_in"),characterizes:An("characterizes")},spatial:{Female:An("VHFemale"),Male:An("VHMale"),BothSexes:An("VHBothSexes"),FemaleOrgans:An("VHFemaleOrgans"),MaleOrgans:An("VHMaleOrgans")},SpatialObjectReference:An("SpatialObjectReference"),SpatialEntity:An("SpatialEntity"),SpatialPlacement:An("SpatialPlacement"),spatialObjectReference:{file:An("has_object_file"),file_format:An("has_object_file_format"),file_subpath:An("has_object_file_subpath")},extractionSet:{label:Vm.label,rui_rank:An("ccf_rui_rank")},spatialEntity:{label:Vm.label,comment:Vm.comment,creator:Pi("dc")("creator"),creator_first_name:An("creator_first_name"),creator_last_name:An("creator_last_name"),creator_orcid:An("creator_orcid"),creation_date:An("creation_date"),updated_date:An("updated_date"),ccf_annotations:An("ccf_annotation"),representation_of:An("ccf_representation_of"),reference_organ:An("anatomical_structure_of"),extraction_set_for:An("extraction_set_for"),extraction_set:An("extraction_site_for"),sex:An("has_sex"),side:An("has_side"),rui_rank:An("ccf_rui_rank"),slice_thickness:An("ccf_slice_thickness"),slice_count:An("ccf_slice_count"),x_dimension:An("has_x_dimension"),y_dimension:An("has_y_dimension"),z_dimension:An("has_z_dimension"),dimension_units:An("has_dimension_units"),object:An("has_object_reference")},spatialPlacement:{source:An("has_placement_source"),target:An("has_placement_target"),placement_date:An("has_placement_date"),x_scaling:An("has_x_scaling"),y_scaling:An("has_y_scaling"),z_scaling:An("has_z_scaling"),scaling_units:An("has_scaling_units"),x_rotation:An("has_x_rotation"),y_rotation:An("has_y_rotation"),z_rotation:An("has_z_rotation"),w_rotation:An("has_theta_rotation"),rotation_order:An("has_rotation_order"),rotation_units:An("has_rotation_units"),x_translation:An("has_x_translation"),y_translation:An("has_y_translation"),z_translation:An("has_z_translation"),translation_units:An("has_translation_units")}},ui={x:Pi("uberon"),body:Pi("uberon")("0013702")},qNe={x:Pi("cl"),cell:Pi("cl")("0000000")},Zb={x:Pi("fma")},Q9=(Pi("lmha"),{body:ui.body,cell:qNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function VF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}VF(md.spatialObjectReference),VF(md.spatialEntity),VF(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const Hm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function lPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function ev(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return aq.copy(o).scale((-i+l)/a).add(t),this.center.copy(aq),this.radius=l,this}expand(e){const t=(e=tv.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(tv,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=tv.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Hm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),nq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const CPe=new Pn,APe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,TPe=new Pn,MPe=new Pn;class WF{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new cq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new cq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new WF(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new $F){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=CPe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Hm.OUTSIDE:c>=l?Hm.INSIDE:Hm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=APe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=TPe.copy(l).add(c).add(u).add(o),p=MPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const uq=new Pn,dq=new Pn;class qF{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=uq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(ev(this.normal.len(),1)),this.distance=r,this}clone(e){return new qF(this.normal,this.distance)}equals(e){return ev(this.distance,e.distance)&&ev(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=dq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=uq.from(e);const i=this.getPointDistance(e),r=dq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function yFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new qF(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,_r.memoize)(function(n){const e=function(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=yFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}(n,Q9.body.id,"body",md.asctb.part_of.id);return e.nodes[Q9.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const m1={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},m1),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},m1),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let e2;function Sc(){return e2||(e2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),e2}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const _1="Unknown Euler angle order",Wm=.99999;class tr extends wS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return tr.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return tr.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=tr.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new tr(p,g,m,tr.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get alpha(){return this[0]}set alpha(e){this[0]=ar(e)}get beta(){return this[1]}set beta(e){this[1]=ar(e)}get gamma(){return this[2]}set gamma(e){this[2]=ar(e)}get phi(){return this[0]}set phi(e){this[0]=ar(e)}get theta(){return this[1]}set theta(e){this[1]=ar(e)}get psi(){return this[2]}set psi(e){this[2]=ar(e)}get roll(){return this[0]}set roll(e){this[0]=ar(e)}get pitch(){return this[1]}set pitch(e){this[1]=ar(e)}get yaw(){return this[2]}set yaw(e){this[2]=ar(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(_1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,tr.ZYX)}fromRotationMatrix(e,t=tr.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case tr.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case tr.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case tr.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case tr.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case tr.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case tr.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(_1)}}_fromRotationMatrix(e,t=tr.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case tr.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!LFe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*r2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,En.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Qb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const Fi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),wq={x:Fi("rdf"),type:Fi("rdf")("type")},qm={x:Fi("rdfs"),label:Fi("rdfs")("label"),comment:Fi("rdfs")("comment"),isDefinedBy:Fi("rdfs")("isDefinedBy"),seeAlso:Fi("rdfs")("seeAlso")},yi={x:Fi("entity"),id:Fi("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Fi("entity")("sex"),age:Fi("entity")("age"),bmi:Fi("entity")("bmi"),Male:En.DataFactory.literal("Male"),Female:En.DataFactory.literal("Female"),consortiumName:Fi("entity")("consortium_name"),providerName:Fi("entity")("provider_name"),providerUUID:Fi("entity")("provider_uuid"),donor:Fi("entity")("has_donor"),sections:Fi("entity")("has_tissue_section"),datasets:Fi("entity")("has_dataset"),sampleType:Fi("entity")("sample_type"),TissueBlock:En.DataFactory.literal("Tissue Block"),TissueSection:En.DataFactory.literal("Tissue Section"),NonStandard:En.DataFactory.literal("Non-standard"),sectionCount:Fi("entity")("section_count"),sectionSize:Fi("entity")("section_size"),sectionUnits:Fi("entity")("section_units"),sectionNumber:Fi("entity")("section_number"),spatialEntity:Fi("entity")("has_spatial_entity"),ontologyTerms:Fi("entity")("has_ontology_term"),cellTypeTerms:Fi("entity")("has_cell_type_term"),technology:Fi("entity")("technology"),thumbnail:Fi("entity")("has_thumbnail")},Tn=Fi("ccf"),Bi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Fi("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Fi("uberon"),body:Fi("uberon")("0013702")},HFe={x:Fi("cl"),cell:Fi("cl")("0000000")},rv={x:Fi("fma")},bd=(Fi("lmha"),{body:di.body,cell:HFe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:rv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:rv.x("24978"),knee_right:rv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:rv.x("7214"),ovary_right:rv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function s2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const b1={spatialObjectReference:s2(Bi.spatialObjectReference),spatialEntity:s2(Bi.spatialEntity),spatialPlacement:s2(Bi.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",b1.spatialEntity);return t.extractionSites=(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",b1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",b1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Bi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function YFe(n,e){const t=dp(n,e,"SpatialPlacement",b1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(SV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new zNe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,Bi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,Bi.SpatialEntity,null);const t={};for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=GNe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,YFe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,_r.get)(e,"placement[0]",(0,_r.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new tr).fromRotationMatrix(s,tr.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(bse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${UFe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Bi.spatialEntity.reference_organ,null,null),(0,_r.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Bi.spatial.Male.id;break;case"Female":t=Bi.spatial.Female.id;break;case"Both":default:t=Bi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Bi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(SV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const v1="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),XFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class JFe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Be=>"Donor"===Be.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=v1+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},C=[];this.sections=C;const H=[];this.datasets=H;for(const Be of c.filter(et=>"Sample"===et.entity_type)){const et=this.getSection(Be,e,i);w[Be.submission_id]=et,C.push(et),et.section_number=null!==(s=et.section_number)&&void 0!==s?s:C.length}for(const Be of c)if("Dataset"===Be.entity_type){const et=this.getDataset(Be,t,i,r),wt=(0,_r.get)(Be,["ingest_metadata","metadata","tissue_id"]);w[wt]?null===(o=w[wt].datasets)||void 0===o||o.push(et):H.push(et)}const U=null!=h?h:{},de=`${U.x_dimension} x ${U.y_dimension} x ${U.z_dimension} ${U.dimension_units}`;this.section_count=U.slice_count||C.length;const Ae=parseFloat((U.slice_thickness||(U.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Ae;const Pe=U.dimension_units||"millimeter";this.section_units=Pe,this.description=`${de}, ${Ae} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,C.forEach((Be,et)=>{Be.description=`${U.x_dimension} x ${U.y_dimension} x ${Ae} ${Pe}, ${Ae} ${Pe}, ${Be.description}`,Be.section_number=et+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":v1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,_r.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":v1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,_r.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=XFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,_r.toNumber)(s[1]));for(const p of(0,_r.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,_r.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,_r.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":v1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,_r.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,_r.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,_r.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,_r.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const t2e=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],n2e={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:n2e,_source:{includes:t2e}})}function o2(n,e){return Li(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Li(this,void 0,void 0,function*(){let o;if("static"===e?o=yield o2(n):"search-api"===e&&(o=yield function(n,e,t){return Li(this,void 0,void 0,function*(){const r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,50,t),o=yield o2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=50)return o;const l=[];for(let h=50;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,_r.get)(n,"hits.hits",[]).map(c=>(0,_r.get)(c,"_source",{})).map(c=>new JFe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function sv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,En.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const l2e={[Bi.spatialEntity.x_dimension.id]:"x",[Bi.spatialEntity.y_dimension.id]:"y",[Bi.spatialEntity.z_dimension.id]:"z"};function u2e(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",l2e);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new tr).fromRotationMatrix(r,tr.XYZ).toQuaternion().normalize().calculateW();s=(new WF).fromCenterHalfSizeQuaternion(o,a,l)}return s}function d2e(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=u2e(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function w1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function a2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ov(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.namedNode(r);n.forSubjects(ov(e,i),Bi.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,En.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,En.readQuads)(e,r,Bi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function A2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Bi.ontologyNode.label.id]:"label",[t]:"parent",[Bi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of r2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=A2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const Nq=(0,_r.memoize)(function(n){const e=Rq(n,bd.body.id,"body",Bi.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),E1={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},D2e=Object.assign(Object.assign({},E1),{[yi.providerName.id]:"providerName"}),I2e=Object.assign(Object.assign({},E1),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),O2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),R2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function N2e(n,e){return dp(n,e,"Donor",D2e)}function Pq(n,e){return dp(n,e,"Dataset",I2e)}function P2e(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of r2(n,e,O2e))if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]=r;return t}class k2e{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Li(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const B2e={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class j2e{constructor(e=B2e){this.options=e,this.store=new En.Store(void 0,{factory:En.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Li(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Li(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield vq(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([i,t]).catch(()=>{}):s=yield vq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Li(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,En.deserializeN3Store)(s,En.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,En.deserializeN3Store)(o,En.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Li(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Li(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,En.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,En.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,En.addRdfXmlToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Li(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Nq(n),s=new Map;for(const{subject:o,object:a}of(0,En.readQuads)(n,null,Bi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>En.DataFactory.namedNode(u)))}for(const{object:o}of(0,En.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,En.readQuads)(n,null,Bi.spatialPlacement.source,o,null))for(const{object:l}of(0,En.readQuads)(n,a,Bi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(En.DataFactory.namedNode(o.id),Bi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,En.serializeN3Store)(this.store)}deserialize(e){return Li(this,void 0,void 0,function*(){this.store=(0,En.deserializeN3Store)(e,En.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ov(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=w1(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(ov(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=w1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,En.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,En.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=a2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)d2e(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=a2(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=a2(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Bi.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,_r.isFinite)(t.ageRange[0])&&(0,_r.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.age,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,_r.isFinite)(t.bmiRange[0])&&(0,_r.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(En.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(En.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Li(this,void 0,void 0,function*(){return this.status||(this.status=new k2e(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Li(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of r2(n,e,R2e))if("sections"===i){const s=P2e(n,r);t[i].push(s)}else if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]="donor"===i?N2e(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t=sv(e,n,yi.donor.id),i=sv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,En.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=sv(e,r,yi.sections.id),o=new Set([...sv(e,r,yi.datasets.id),...sv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,En.readQuads)(e,null,Bi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Li(this,void 0,void 0,function*(){return Nq(this.store)})}getCellTypeTreeModel(){return Li(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",Bi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Li(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Li(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function H2e(n,e){return n===e}let G2e=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new x,this.dataSource=i.getOption("data").pipe(me(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Ji(r=>Object.keys(r).length>0),me(r=>r),rd(H2e),Ir(r=>function(n,e){return new I(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Yi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Yi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Yi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Yi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Yi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Yi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Yi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Yi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Yi(1))}createDataSource(){return{source:new j2e,unsubscribe:()=>{}}}connectDataSource(t,i){return Li(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),y0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(Xb))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),$2e=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(me(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(me(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(me(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(me(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,LNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(me(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[X9];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return dn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[X9].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(Oe(Xb),Oe(G2e))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const W2e=["bodyUI"];let q2e=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Li(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Yi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe($2e),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(W2e,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[tNe],pipes:[p0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function Y2e(n,e){if(1&n){const t=jt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function K2e(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let X2e=(()=>{class n extends wie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},y0.dbOptions),globalThis.dbOptions),parse:{data:K2e}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[xn],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,Y2e,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,q2e],encapsulation:2,changeDetection:0}),n})(),Q2e=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,fW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(ps,2),Oe(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const A1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class eke{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return A1(n.getHours(),2)+":"+A1(n.getMinutes(),2)+":"+A1(n.getSeconds(),2)+"."+A1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class tke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Fq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let nke=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new tke(this._options),this._store=this._store||this._injector.get(cu);const s=new eke(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Fq),Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kq=new Ht("LOGGER_USER_OPTIONS");function ike(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let rke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:p6,useClass:nke,multi:!0},{provide:kq,useValue:t},{provide:Fq,useFactory:ike,deps:[kq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const ske=[Xb];let oke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[Q2e.forRoot(),Wo.forRoot(ske,{developmentMode:!y0.production}),rke.forRoot({disabled:y0.production})]]}),n})(),ake=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new gie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends _ie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(X2e,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[],imports:[[YD,oke,nNe]]}),n})();y0.production&&function(){if(cB)throw new Error("Cannot enable prod mode after platform setup.");lB=!1}(),Bne().bootstrapModule(ake).catch(n=>console.error(n))},52:Ut=>{function it(yt,ee,Tt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(P){return void Tt(P)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Tt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Tt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},948:Ut=>{Ut.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},321:Ut=>{function it(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(Je)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},380:Ut=>{function it(Je){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+Je+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=380,Ut.exports=it},521:()=>{},125:()=>{},307:()=>{}},Ut=>{Ut(Ut.s=935)}]); \ No newline at end of file +var lke=Object.defineProperty,cke=Object.defineProperties,uke=Object.getOwnPropertyDescriptors,T1=Object.getOwnPropertySymbols,Bq=Object.prototype.hasOwnProperty,jq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Vq=(Ut,it,Je)=>it in Ut?lke(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ut[it]=Je,ot=(Ut,it)=>{for(var Je in it||(it={}))Bq.call(it,Je)&&Vq(Ut,Je,it[Je]);if(T1)for(var Je of T1(it))jq.call(it,Je)&&Vq(Ut,Je,it[Je]);return Ut},Sn=(Ut,it)=>cke(Ut,uke(it)),Uq=(Ut,it)=>{var Je={};for(var yt in Ut)Bq.call(Ut,yt)&&it.indexOf(yt)<0&&(Je[yt]=Ut[yt]);if(null!=Ut&&T1)for(var yt of T1(Ut))it.indexOf(yt)<0&&jq.call(Ut,yt)&&(Je[yt]=Ut[yt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(Ut,it,Je)=>{var yt=Je(52).default;Ut.exports=function Y(Se,he,W){function j(z,v){if(!he[z]){if(!Se[z]){if(P)return P(z,!0);var O=new Error("Cannot find module '"+z+"'");throw O.code="MODULE_NOT_FOUND",O}var A=he[z]={exports:{}};Se[z][0].call(A.exports,function(b){return j(Se[z][1][b]||b)},A,A.exports,Y,Se,he,W)}return he[z].exports}for(var P=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){$e=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ce-4:ce;for($=0;$>16&255,I[X++]=R>>8&255,I[X++]=255&R;return 2===D&&(R=j[V.charCodeAt($)]<<2|j[V.charCodeAt($+1)]>>4,I[X++]=255&R),1===D&&(R=j[V.charCodeAt($)]<<10|j[V.charCodeAt($+1)]<<4|j[V.charCodeAt($+2)]>>2,I[X++]=R>>8&255,I[X++]=255&R),I},he.fromByteArray=function(V){for(var R,K=V.length,ce=K%3,D=[],I=16383,X=0,E=K-ce;XE?E:X+I));return 1===ce?D.push(W[(R=V[K-1])>>2]+W[R<<4&63]+"=="):2===ce&&D.push(W[(R=(V[K-2]<<8)+V[K-1])>>10]+W[R>>4&63]+W[R<<2&63]+"="),D.join("")};for(var W=[],j=[],P="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",z=0,v=Q.length;z0)throw new Error("Invalid string. Length must be a multiple of 4");var K=V.indexOf("=");return-1===K&&(K=R),[K,K===R?0:4-K%4]}function y(V){return W[V>>18&63]+W[V>>12&63]+W[V>>6&63]+W[63&V]}function S(V,R,K){for(var D=[],I=R;I>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function A(D){var I=this.lastTotal-this.lastNeed,X=function(D,I,X){if(128!=(192&I[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&I.length>1){if(128!=(192&I[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&I.length>2&&128!=(192&I[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==X?X:this.lastNeed<=D.length?(D.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,I,0,D.length),void(this.lastNeed-=D.length))}function S(D,I){if((D.length-I)%2==0){var X=D.toString("utf16le",I);if(X){var E=X.charCodeAt(X.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],X.slice(0,-1)}return X}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",I,D.length-1)}function T(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):I}function V(D,I){var X=(D.length-I)%3;return 0===X?D.toString("base64",I):(this.lastNeed=3-X,this.lastTotal=3,1===X?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",I,D.length-X))}function R(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function K(D){return D.toString(this.encoding)}function ce(D){return D&&D.length?this.write(D):""}he.StringDecoder=z,z.prototype.write=function(D){if(0===D.length)return"";var I,X;if(this.lastNeed){if(void 0===(I=this.fillLast(D)))return"";X=this.lastNeed,this.lastNeed=0}else X=0;return X=0?($>0&&(D.lastNeed=$-1),$):--E=0?($>0&&(D.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:D.lastNeed=$-3),$):0}(this,D,I);if(!this.lastNeed)return D.toString("utf8",I);this.lastTotal=X;var E=D.length-(X-this.lastNeed);return D.copy(this.lastChar,0,E),D.toString("utf8",I,E)},z.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),P=Y("ieee754");he.Buffer=x,he.SlowBuffer=function(L){return+L!=L&&(L=0),x.alloc(+L)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(L){if(L>Q)throw new RangeError('The value "'+L+'" is invalid for option "size"');var N=new Uint8Array(L);return N.__proto__=x.prototype,N}function x(L,N,B){if("number"==typeof L){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(L)}return O(L,N,B)}function O(L,N,B){if("string"==typeof L)return function(L,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!x.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var B=0|D(L,N),Re=v(B),Qe=Re.write(L,N);return Qe!==B&&(Re=Re.slice(0,Qe)),Re}(L,N);if(ArrayBuffer.isView(L))return T(L);if(null==L)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(pt(L,ArrayBuffer)||L&&pt(L.buffer,ArrayBuffer))return function(L,N,B){if(N<0||L.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|L}function D(L,N){if(x.isBuffer(L))return L.length;if(ArrayBuffer.isView(L)||pt(L,ArrayBuffer))return L.byteLength;if("string"!=typeof L)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);var B=L.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===B)return 0;for(var Qe=!1;;)switch(N){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return G(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return je(L).length;default:if(Qe)return Re?-1:G(L).length;N=(""+N).toLowerCase(),Qe=!0}}function I(L,N,B){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(N>>>=0))return"";for(L||(L="utf8");;)switch(L){case"hex":return tt(this,N,B);case"utf8":case"utf-8":return _e(this,N,B);case"ascii":return st(this,N,B);case"latin1":case"binary":return Xe(this,N,B);case"base64":return ne(this,N,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ye(this,N,B);default:if(Re)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),Re=!0}}function X(L,N,B){var Re=L[N];L[N]=L[B],L[B]=Re}function E(L,N,B,Re,Qe){if(0===L.length)return-1;if("string"==typeof B?(Re=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),ve(B=+B)&&(B=Qe?0:L.length-1),B<0&&(B=L.length+B),B>=L.length){if(Qe)return-1;B=L.length-1}else if(B<0){if(!Qe)return-1;B=0}if("string"==typeof N&&(N=x.from(N,Re)),x.isBuffer(N))return 0===N.length?-1:$(L,N,B,Re,Qe);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Qe?Uint8Array.prototype.indexOf.call(L,N,B):Uint8Array.prototype.lastIndexOf.call(L,N,B):$(L,[N],B,Re,Qe);throw new TypeError("val must be string, number or Buffer")}function $(L,N,B,Re,Qe){var Yn,St=1,Nt=L.length,On=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(L.length<2||N.length<2)return-1;St=2,Nt/=2,On/=2,B/=2}function kn(Ls,gs){return 1===St?Ls[gs]:Ls.readUInt16BE(gs*St)}if(Qe){var Ti=-1;for(Yn=B;YnNt&&(B=Nt-On),Yn=B;Yn>=0;Yn--){for(var wi=!0,Xr=0;XrQe&&(Re=Qe):Re=Qe;var St=N.length;Re>St/2&&(Re=St/2);for(var Nt=0;Nt>8,St.push(B%256),St.push(Re);return St}(N,L.length-B),L,B,Re)}function ne(L,N,B){return j.fromByteArray(0===N&&B===L.length?L:L.slice(N,B))}function _e(L,N,B){B=Math.min(L.length,B);for(var Re=[],Qe=N;Qe239?4:St>223?3:St>191?2:1;if(Qe+On<=B)switch(On){case 1:St<128&&(Nt=St);break;case 2:128==(192&(kn=L[Qe+1]))&&(wi=(31&St)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=L[Qe+2],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&(wi=(15&St)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=L[Qe+2],Ti=L[Qe+3],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&St)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Re.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Re.push(Nt),Qe+=On}return function(L){var N=L.length;if(N<=4096)return String.fromCharCode.apply(String,L);for(var B="",Re=0;ReB&&(N+=" ... "),""},x.prototype.compare=function(N,B,Re,Qe,St){if(pt(N,Uint8Array)&&(N=x.from(N,N.offset,N.byteLength)),!x.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===B&&(B=0),void 0===Re&&(Re=N?N.length:0),void 0===Qe&&(Qe=0),void 0===St&&(St=this.length),B<0||Re>N.length||Qe<0||St>this.length)throw new RangeError("out of range index");if(Qe>=St&&B>=Re)return 0;if(Qe>=St)return-1;if(B>=Re)return 1;if(this===N)return 0;for(var Nt=(St>>>=0)-(Qe>>>=0),On=(Re>>>=0)-(B>>>=0),kn=Math.min(Nt,On),Yn=this.slice(Qe,St),Ti=N.slice(B,Re),wi=0;wi>>=0,isFinite(Re)?(Re>>>=0,void 0===Qe&&(Qe="utf8")):(Qe=Re,Re=void 0)}var St=this.length-B;if((void 0===Re||Re>St)&&(Re=St),N.length>0&&(Re<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");for(var Nt=!1;;)switch(Qe){case"hex":return Z(this,N,B,Re);case"utf8":case"utf-8":return oe(this,N,B,Re);case"ascii":return se(this,N,B,Re);case"latin1":case"binary":return te(this,N,B,Re);case"base64":return Ce(this,N,B,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,B,Re);default:if(Nt)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),Nt=!0}},x.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(L,N,B){var Re="";B=Math.min(L.length,B);for(var Qe=N;QeRe)&&(B=Re);for(var Qe="",St=N;StB)throw new RangeError("Trying to access beyond buffer length")}function ke(L,N,B,Re,Qe,St){if(!x.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Qe||NL.length)throw new RangeError("Index out of range")}function Ke(L,N,B,Re,Qe,St){if(B+Re>L.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Me(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,4),P.write(L,N,B,Re,23,4),B+4}function Ve(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,8),P.write(L,N,B,Re,52,8),B+8}x.prototype.slice=function(N,B){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(B=void 0===B?Re:~~B)<0?(B+=Re)<0&&(B=0):B>Re&&(B=Re),B>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N+--B],St=1;B>0&&(St*=256);)Qe+=this[N+--B]*St;return Qe},x.prototype.readUInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),this[N]},x.prototype.readUInt16LE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]|this[N+1]<<8},x.prototype.readUInt16BE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]<<8|this[N+1]},x.prototype.readUInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},x.prototype.readUInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},x.prototype.readIntLE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt=(St*=128)&&(Qe-=Math.pow(2,8*B)),Qe},x.prototype.readIntBE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=B,St=1,Nt=this[N+--Qe];Qe>0&&(St*=256);)Nt+=this[N+--Qe]*St;return Nt>=(St*=128)&&(Nt-=Math.pow(2,8*B)),Nt},x.prototype.readInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},x.prototype.readInt16LE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt16BE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},x.prototype.readInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},x.prototype.readFloatLE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!0,23,4)},x.prototype.readFloatBE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!1,23,4)},x.prototype.readDoubleLE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!0,52,8)},x.prototype.readDoubleBE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!1,52,8)},x.prototype.writeUIntLE=function(N,B,Re,Qe){N=+N,B>>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=1,On=0;for(this[B]=255&N;++On>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=Re-1,On=1;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)this[B+Nt]=N/On&255;return B+Re},x.prototype.writeUInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,255,0),this[B]=255&N,B+1},x.prototype.writeUInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeUInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeUInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B+3]=N>>>24,this[B+2]=N>>>16,this[B+1]=N>>>8,this[B]=255&N,B+4},x.prototype.writeUInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeIntLE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=0,On=1,kn=0;for(this[B]=255&N;++Nt>0)-kn&255;return B+Re},x.prototype.writeIntBE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=Re-1,On=1,kn=0;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)N<0&&0===kn&&0!==this[B+Nt+1]&&(kn=1),this[B+Nt]=(N/On>>0)-kn&255;return B+Re},x.prototype.writeInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,127,-128),N<0&&(N=255+N+1),this[B]=255&N,B+1},x.prototype.writeInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),this[B]=255&N,this[B+1]=N>>>8,this[B+2]=N>>>16,this[B+3]=N>>>24,B+4},x.prototype.writeInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeFloatLE=function(N,B,Re){return Me(this,N,B,!0,Re)},x.prototype.writeFloatBE=function(N,B,Re){return Me(this,N,B,!1,Re)},x.prototype.writeDoubleLE=function(N,B,Re){return Ve(this,N,B,!0,Re)},x.prototype.writeDoubleBE=function(N,B,Re){return Ve(this,N,B,!1,Re)},x.prototype.copy=function(N,B,Re,Qe){if(!x.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Qe&&0!==Qe&&(Qe=this.length),B>=N.length&&(B=N.length),B||(B=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),N.length-B=0;--Nt)N[Nt+B]=this[Nt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Qe),B);return St},x.prototype.fill=function(N,B,Re,Qe){if("string"==typeof N){if("string"==typeof B?(Qe=B,B=0,Re=this.length):"string"==typeof Re&&(Qe=Re,Re=this.length),void 0!==Qe&&"string"!=typeof Qe)throw new TypeError("encoding must be a string");if("string"==typeof Qe&&!x.isEncoding(Qe))throw new TypeError("Unknown encoding: "+Qe);if(1===N.length){var St=N.charCodeAt(0);("utf8"===Qe&&St<128||"latin1"===Qe)&&(N=St)}}else"number"==typeof N&&(N&=255);if(B<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(Nt=B;Nt55295&&B<57344){if(!Qe){if(B>56319){(N-=3)>-1&&St.push(239,191,189);continue}if(Nt+1===Re){(N-=3)>-1&&St.push(239,191,189);continue}Qe=B;continue}if(B<56320){(N-=3)>-1&&St.push(239,191,189),Qe=B;continue}B=65536+(Qe-55296<<10|B-56320)}else Qe&&(N-=3)>-1&&St.push(239,191,189);if(Qe=null,B<128){if((N-=1)<0)break;St.push(B)}else if(B<2048){if((N-=2)<0)break;St.push(B>>6|192,63&B|128)}else if(B<65536){if((N-=3)<0)break;St.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;St.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return St}function je(L){return j.toByteArray(function(L){if((L=(L=L.split("=")[0]).trim().replace($e,"")).length<2)return"";for(;L.length%4!=0;)L+="=";return L}(L))}function _t(L,N,B,Re){for(var Qe=0;Qe=N.length||Qe>=L.length);++Qe)N[Qe+B]=L[Qe];return Qe}function pt(L,N){return L instanceof N||null!=L&&null!=L.constructor&&null!=L.constructor.name&&L.constructor.name===N.name}function ve(L){return L!=L}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((P,Q,z)=>P+(0===z?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((P,Q,z)=>void 0===j[Q]||"symbol"==typeof j[Q]?P:P+(0===P.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var P,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,oe){return Function.prototype.apply.call($,Z,oe)};P=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var z=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,oe){function se(Ce){E.removeListener($,te),oe(Ce)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",se),Z([].slice.call(arguments))}X(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&X(E,"error",$,Z)}(E,se,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var x=10;function O(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function A(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,oe){var se,te,Ce;if(O(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Ce=te[$]),void 0===Ce)Ce=te[$]=Z,++E._eventsCount;else if("function"==typeof Ce?Ce=te[$]=oe?[Z,Ce]:[Ce,Z]:oe?Ce.unshift(Z):Ce.push(Z),(se=A(E))>0&&Ce.length>se&&!Ce.warned){Ce.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Ce.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Ce.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var oe={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},se=y.bind(oe);return se.listener=Z,oe.wrapFn=se,se}function T(E,$,Z){var oe=E._events;if(void 0===oe)return[];var se=oe[$];return void 0===se?[]:"function"==typeof se?Z?[se.listener||se]:[se]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(se):R(se,se.length)}function V(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function R(E,$){for(var Z=new Array($),oe=0;oe<$;++oe)Z[oe]=E[oe];return Z}function X(E,$,Z,oe){if("function"==typeof E.on)oe.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function se(te){oe.once&&E.removeEventListener($,se),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(E){if("number"!=typeof E||E<0||z(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");x=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||z($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return A(this)},v.prototype.emit=function($){for(var Z=[],oe=1;oe0&&(Ce=Z[0]),Ce instanceof Error)throw Ce;var me=new Error("Unhandled error."+(Ce?" ("+Ce.message+")":""));throw me.context=Ce,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var _e=ne.length,Ie=R(ne,_e);for(oe=0;oe<_e;++oe)j(Ie[oe],this,Z)}return!0},v.prototype.on=v.prototype.addListener=function($,Z){return b(this,$,Z,!1)},v.prototype.prependListener=function($,Z){return b(this,$,Z,!0)},v.prototype.once=function($,Z){return O(Z),this.on($,S(this,$,Z)),this},v.prototype.prependOnceListener=function($,Z){return O(Z),this.prependListener($,S(this,$,Z)),this},v.prototype.off=v.prototype.removeListener=function($,Z){var oe,se,te,Ce,me;if(O(Z),void 0===(se=this._events))return this;if(void 0===(oe=se[$]))return this;if(oe===Z||oe.listener===Z)0==--this._eventsCount?this._events=Object.create(null):(delete se[$],se.removeListener&&this.emit("removeListener",$,oe.listener||Z));else if("function"!=typeof oe){for(te=-1,Ce=oe.length-1;Ce>=0;Ce--)if(oe[Ce]===Z||oe[Ce].listener===Z){me=oe[Ce].listener,te=Ce;break}if(te<0)return this;0===te?oe.shift():function(E,$){for(;$+1=0;se--)this.removeListener($,Z[se]);return this},v.prototype.listeners=function($){return T(this,$,!0)},v.prototype.rawListeners=function($){return T(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):V.call(E,$)},v.prototype.listenerCount=V,v.prototype.eventNames=function(){return this._eventsCount>0?P(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,P,Q,z){var v,x,O=8*z-Q-1,A=(1<>1,y=-7,S=P?z-1:0,T=P?-1:1,V=W[j+S];for(S+=T,v=V&(1<<-y)-1,V>>=-y,y+=O;y>0;v=256*v+W[j+S],S+=T,y-=8);for(x=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;x=256*x+W[j+S],S+=T,y-=8);if(0===v)v=1-b;else{if(v===A)return x?NaN:1/0*(V?-1:1);x+=Math.pow(2,Q),v-=b}return(V?-1:1)*x*Math.pow(2,v-Q)},he.write=function(W,j,P,Q,z,v){var x,O,A,b=8*v-z-1,y=(1<>1,T=23===z?Math.pow(2,-24)-Math.pow(2,-77):0,V=Q?0:v-1,R=Q?1:-1,K=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(O=isNaN(j)?1:0,x=y):(x=Math.floor(Math.log(j)/Math.LN2),j*(A=Math.pow(2,-x))<1&&(x--,A*=2),(j+=x+S>=1?T/A:T*Math.pow(2,1-S))*A>=2&&(x++,A/=2),x+S>=y?(O=0,x=y):x+S>=1?(O=(j*A-1)*Math.pow(2,z),x+=S):(O=j*Math.pow(2,S-1)*Math.pow(2,z),x=0));z>=8;W[P+V]=255&O,V+=R,O/=256,z-=8);for(x=x<0;W[P+V]=255&x,V+=R,x/=256,b-=8);W[P+V-R]|=128*K}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,P){P&&(j.super_=P,j.prototype=Object.create(P.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,P){if(P){j.super_=P;var Q=function(){};Q.prototype=P.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:P}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:z}=Y("./url"),v=Y("./JsonLdError"),x=Y("./ResolvedContext");function A(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const T=y["@context"];if(P(T))y["@context"]=z(S,T);else if(W(T))for(let V=0;V10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(R.has(T))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:T});let K,ce;R.add(T);try{ce=yield V(T),K=ce.document||null,P(K)&&(K=JSON.parse(K))}catch(D){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:T,cause:D})}if(!j(K))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:T});return K="@context"in K?{"@context":K["@context"]}:{"@context":{}},ce.contextUrl&&(W(K["@context"])||(K["@context"]=[K["@context"]]),K["@context"].push(ce.contextUrl)),{context:K,remoteDoc:ce}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",P="jsonld.Error",Q={}){super(j),this.name=P,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(P,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(P,Q)},j.expand=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(P)},j.flatten=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(P)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const P=this;return P._loader=j,function(){return P.add.apply(P,arguments)}}add(j){var P=this;return yt(function*(){let Q=P._requests[j];if(Q)return Promise.resolve(Q);Q=P._requests[j]=P._loader(j);try{return yield Q}finally{delete P._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,z){this.cache.set(Q,z)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isString:Q,isUndefined:z}=Y("./types"),{isList:v,isValue:x,isGraph:O,isSimpleGraph:A,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{removeBase:K,prependBase:ce}=Y("./url"),{addValue:D,asArray:I,compareShortestLeast:X}=Y("./util"),E={};function Z(oe,se,te){if("@nest"!==y(oe,se,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var oe=yt(function*({activeCtx:se,activeProperty:te=null,element:Ce,options:me={},compactionMap:ne=(()=>{})}){if(j(Ce)){let Ie=[];for(let Ge=0;Ge1&&(tt=Array.from(tt).sort());const Ye=se;for(const ke of tt){const Ke=E.compactIri({activeCtx:Ye,iri:ke,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");z(Me)||(se=yield V({activeCtx:se,localCtx:Me,options:me,propagate:!1}))}const Ue=Object.keys(Ce).sort();for(const ke of Ue){const Ke=Ce[ke];if("@id"!==ke)if("@type"!==ke)if("@reverse"!==ke)if("@preserve"!==ke)if("@index"!==ke)if("@graph"!==ke&&"@list"!==ke&&"@included"!==ke&&T(ke)){const Me=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:se,iri:ke,value:Ke,relativeTo:{vocab:!0},reverse:Ie}),Ve=se.mappings.has(Me)?se.mappings.get(Me)["@nest"]:null;let $e=Ge;Ve&&(Z(se,Ve,me),P(Ge[Ve])||(Ge[Ve]={}),$e=Ge[Ve]),D($e,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ve=E.compactIri({activeCtx:se,iri:ke,value:Me,relativeTo:{vocab:!0},reverse:Ie}),$e=se.mappings.has(Ve)?se.mappings.get(Ve)["@nest"]:null;let Ne=Ge;$e&&(Z(se,$e,me),P(Ge[$e])||(Ge[$e]={}),Ne=Ge[$e]);const q=S(se,Ve,"@container")||[],G=O(Me),pe=v(Me);let ue;pe?ue=Me["@list"]:G&&(ue=Me["@graph"]);let je=yield E.compact({activeCtx:se,activeProperty:Ve,element:pe||G?ue:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){D(Ne,Ve,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&A(Me))){let _t;Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&A(Me)?(j(je)&&je.length>1&&(je={"@included":je}),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={},q.includes("@language"))x(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const ve=S(se,Ve,"@index")||"@index",L=E.compactIri({activeCtx:se,iri:ve,relativeTo:{vocab:!0}});if("@index"===ve)pt=Me["@index"],delete je[L];else{let N;if([pt,...N]=I(je[ve]||[]),Q(pt))switch(N.length){case 0:delete je[ve];break;case 1:je[ve]=N[0];break;default:je[ve]=N}else pt=null}}else if(q.includes("@id")){const ve=E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});pt=je[ve],delete je[ve]}else if(q.includes("@type")){const ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let L;switch([pt,...L]=I(je[ve]||[]),L.length){case 0:delete je[ve];break;case 1:je[ve]=L[0];break;default:je[ve]=L}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:se,activeProperty:Ve,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===ke||"@graph"===ke;D(Ne,Ve,je,{propertyIsArray:_t})}}}else{if((S(se,te,"@container")||[]).includes("@index"))continue;const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Ke)}else{const Me=yield E.compact({activeCtx:se,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||D(Ge,ke,Me)}else{const Me=yield E.compact({activeCtx:se,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ve in Me)if(se.mappings.has(Ve)&&se.mappings.get(Ve).reverse){const $e=Me[Ve],q=(S(se,Ve,"@container")||[]).includes("@set")||!me.compactArrays;D(Ge,Ve,$e,{propertyIsArray:q}),delete Me[Ve]}if(Object.keys(Me).length>0){const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Me)}}else{let Me=I(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),q=(S(se,Ve,"@container")||[]).includes("@set")&&R(se,1.1)||j(Me)&&0===Ke.length;D(Ge,Ve,Me,{propertyIsArray:q})}else{let Me=I(Ke).map($e=>E.compactIri({activeCtx:se,iri:$e,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),Ge[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return Ge}return Ce});return function(se){return oe.apply(this,arguments)}}(),E.compactIri=({activeCtx:oe,iri:se,value:te=null,relativeTo:Ce={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===se)return se;oe.isPropertyTermScoped&&oe.previousContext&&(oe=oe.previousContext);const _e=oe.getInverse();if(T(se)&&se in _e&&"@none"in _e[se]&&"@type"in _e[se]["@none"]&&"@none"in _e[se]["@none"]["@type"])return _e[se]["@none"]["@type"]["@none"];if(Ce.vocab&&se in _e){const tt=oe["@language"]||"@none",Ye=[];P(te)&&"@index"in te&&!("@graph"in te)&&Ye.push("@index","@index@set"),P(te)&&"@preserve"in te&&(te=te["@preserve"][0]),O(te)?("@index"in te&&Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Ye.push("@graph@id","@graph@id@set"),Ye.push("@graph","@graph@set","@set"),"@index"in te||Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Ye.push("@graph@id","@graph@id@set")):P(te)&&!x(te)&&Ye.push("@id","@id@set","@type","@set@type");let Ue="@language",ke="@null";if(me)Ue="@type",ke="@reverse",Ye.push("@set");else if(v(te)){"@index"in te||Ye.push("@list");const Me=te["@list"];if(0===Me.length)Ue="@any",ke="@none";else{let Ve=0===Me.length?tt:null,$e=null;for(let Ne=0;Nest.includes("_"));Ge&&_e.push(Ge.replace(/^[^_]+_/,"_"))}_e.push("@none");const Ie=oe.inverse[se];for(const Ge of Ce){if(!(Ge in Ie))continue;const st=Ie[Ge][me];for(const Xe of _e)if(Xe in st)return st[Xe]}return null}(oe,se,te,Ye,Ue,ke);if(null!==Ke)return Ke}if(Ce.vocab&&"@vocab"in oe){const tt=oe["@vocab"];if(0===se.indexOf(tt)&&se!==tt){const Ye=se.substr(tt.length);if(!oe.mappings.has(Ye))return Ye}}let Ie=null;const Ge=[];let st=oe.fastCurieMap;const Xe=se.length-1;for(let tt=0;tt=0;--tt){const Ye=Ge[tt],Ue=Ye.terms;for(const ke of Ue){const Ke=ke+":"+se.substr(Ye.iri.length);oe.mappings.get(ke)._prefix&&(!oe.mappings.has(Ke)||null===te&&oe.mappings.get(Ke)["@id"]===se)&&(null===Ie||X(Ke,Ie)<0)&&(Ie=Ke)}}if(null!==Ie)return Ie;for(const[tt,Ye]of oe.mappings)if(Ye&&Ye._prefix&&se.startsWith(tt+":"))throw new W(`Absolute IRI "${se}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:oe});return Ce.vocab?se:"@base"in oe?oe["@base"]?K(ce(ne,oe["@base"]),se):se:K(ne,se)},E.compactValue=({activeCtx:oe,activeProperty:se,value:te,options:Ce})=>{if(x(te)){const Ie=S(oe,se,"@type"),Ge=S(oe,se,"@language"),st=S(oe,se,"@direction"),Xe=S(oe,se,"@container")||[],tt="@index"in te&&!Xe.includes("@index");if(!tt&&"@none"!==Ie&&(te["@type"]===Ie||"@language"in te&&te["@language"]===Ge&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===Ge||"@direction"in te&&te["@direction"]===st))return te["@value"];const Ye=Object.keys(te).length,Ue=1===Ye||2===Ye&&"@index"in te&&!tt,ke="@language"in oe,Ke=Q(te["@value"]),Me=oe.mappings.has(se)&&null===oe.mappings.get(se)["@language"];if(Ue&&"@none"!==Ie&&(!ke||!Ke||Me))return te["@value"];const Ve={};return tt&&(Ve[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ve[E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:oe,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ve[E.compactIri({activeCtx:oe,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ve}const me=y(oe,se,{vocab:!0},Ce),ne=S(oe,se,"@type"),_e=E.compactIri({activeCtx:oe,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Ce.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?_e:{[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]:_e}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:P,isObject:Q,isString:z,isUndefined:v}=Y("./types"),{isAbsolute:x,isRelative:O,prependBase:A}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,V=/^@[a-zA-Z]+$/,R={};function K(D,I,X,E,$,Z){if(null===I||!z(I)||R.isKeyword(I))return I;if(I.match(V))return null;if(E&&E.hasOwnProperty(I)&&!0!==$.get(I)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:I,defined:$,options:Z}),(X=X||{}).vocab){const se=D.mappings.get(I);if(null===se)return null;if(Q(se)&&"@id"in se)return se["@id"]}const oe=I.indexOf(":");if(oe>0){const se=I.substr(0,oe),te=I.substr(oe+1);if("_"===se||0===te.indexOf("//"))return I;E&&E.hasOwnProperty(se)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:se,defined:$,options:Z});const Ce=D.mappings.get(se);if(Ce&&Ce._prefix)return Ce["@id"]+te;if(x(I))return I}if(X.vocab&&"@vocab"in D)return D["@vocab"]+I;if(X.base&&"@base"in D){if(D["@base"])return A(A(Z.base,D["@base"]),I)}else if(X.base)return A(Z.base,I);return I}function ce(D,I){if(!D||"object"!=typeof D||!I||"object"!=typeof I)return D===I;const X=Array.isArray(D);if(X!==Array.isArray(I))return!1;if(X){if(D.length!==I.length)return!1;for(let Z=0;Z{if(E.has(X)){if(E.get(X))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:I,term:X})}let oe;if(E.set(X,!1),I.hasOwnProperty(X)&&(oe=I[X]),"@type"===X&&Q(oe)&&"@set"===(oe["@container"]||"@set")&&R.processingMode(D,1.1)){const Ie=["@container","@id","@protected"],Ge=Object.keys(oe);if(0===Ge.length||Ge.some(st=>!Ie.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X})}else{if(R.isKeyword(X))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X});if(X.match(V))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:X});if(""===X)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:I})}const se=D.mappings.get(X);D.mappings.has(X)&&D.mappings.delete(X);let te=!1;if((z(oe)||null===oe)&&(te=!0,oe={"@id":oe}),!Q(oe))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:I});const Ce={};D.mappings.set(X,Ce),Ce.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];R.processingMode(D,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Ie in oe)if(!me.includes(Ie))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Ie,"jsonld.SyntaxError",{code:"invalid term definition",context:I});const ne=X.indexOf(":");if(Ce._termHasColon=ne>0,"@reverse"in oe){if("@id"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});if("@nest"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});const Ie=oe["@reverse"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));const Ge=K(D,Ie,{vocab:!0,base:!1},I,E,$);if(!x(Ge))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ge,Ce.reverse=!0}else if("@id"in oe){let Ie=oe["@id"];if(Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(null===Ie)Ce["@id"]=null;else{if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));if(Ie!==X){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie)&&!R.isKeyword(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(X.match(/(?::[^:])|\//)&&K(D,X,{vocab:!0,base:!1},I,new Map(E).set(X,!0),$)!==Ie)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ie,Ce._prefix=te&&!Ce._termHasColon&&Ie.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ce))if(Ce._termHasColon){const Ie=X.substr(0,ne);if(I.hasOwnProperty(Ie)&&R.createTermDefinition({activeCtx:D,localCtx:I,term:Ie,defined:E,options:$}),D.mappings.has(Ie)){const Ge=X.substr(ne+1);Ce["@id"]=D.mappings.get(Ie)["@id"]+Ge}else Ce["@id"]=X}else if("@type"===X)Ce["@id"]=X;else{if(!("@vocab"in D))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I,term:X});Ce["@id"]=D["@vocab"]+X}if((!0===oe["@protected"]||!0===E.get("@protected")&&!1!==oe["@protected"])&&(D.protected[X]=!0,Ce.protected=!0),E.set(X,!0),"@type"in oe){let Ie=oe["@type"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if("@json"===Ie||"@none"===Ie){if(R.processingMode(D,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Ie}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else if("@id"!==Ie&&"@vocab"!==Ie){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if(0===Ie.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}Ce["@type"]=Ie}if("@container"in oe){const Ie=z(oe["@container"])?[oe["@container"]]:oe["@container"]||[],Ge=["@list","@set","@index","@language"];let st=!0;const Xe=Ie.includes("@set");if(R.processingMode(D,1.1)){if(Ge.push("@graph","@id","@type"),Ie.includes("@list")){if(1!==Ie.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else if(Ie.includes("@graph")){if(Ie.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else st&=Ie.length<=(Xe?2:1);if(Ie.includes("@type")&&(Ce["@type"]=Ce["@type"]||"@id",!["@id","@vocab"].includes(Ce["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else st&=!P(oe["@container"]),st&=Ie.length<=1;if(st&=Ie.every(tt=>Ge.includes(tt)),st&=!(Xe&&Ie.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ge.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:I});if(Ce.reverse&&!Ie.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});Ce["@container"]=Ie}if("@index"in oe){if(!("@container"in oe)||!Ce["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});if(!z(oe["@index"])||0===oe["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});Ce["@index"]=oe["@index"]}if("@context"in oe&&(Ce["@context"]=oe["@context"]),"@language"in oe&&!("@type"in oe)){let Ie=oe["@language"];if(null!==Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:I});null!==Ie&&(Ie=Ie.toLowerCase()),Ce["@language"]=Ie}if("@prefix"in oe){if(X.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:I});if(R.isKeyword(Ce["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:I});if("boolean"!=typeof oe["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:I});Ce._prefix=!0===oe["@prefix"]}if("@direction"in oe){const Ie=oe["@direction"];if(null!==Ie&&"ltr"!==Ie&&"rtl"!==Ie)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:I});Ce["@direction"]=Ie}if("@nest"in oe){const Ie=oe["@nest"];if(!z(Ie)||"@nest"!==Ie&&0===Ie.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:I});Ce["@nest"]=Ie}const _e=Ce["@id"];if("@context"===_e||"@preserve"===_e)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:I});if(se&&se.protected&&!Z&&(D.protected[X]=!0,Ce.protected=!0,!ce(se,Ce))){const Ie=$&&$.protectedMode||"error";if("error"===Ie)throw new j(`Invalid JSON-LD syntax; tried to redefine "${X}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:I,term:X});if("warn"===Ie)return void console.warn("WARNING: protected term redefinition",{term:X});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:I,term:X,protectedMode:Ie})}},R.expandIri=(D,I,X,E)=>K(D,I,X,void 0,void 0,E),R.getInitialContext=D=>{const I=JSON.stringify({processingMode:D.processingMode}),X=S.get(I);if(X)return X;const E={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ce=this;if(Ce.inverse)return Ce.inverse;const me=Ce.inverse={},ne=Ce.fastCurieMap={},_e={},Ie=(Ce["@language"]||"@none").toLowerCase(),Ge=Ce["@direction"],st=Ce.mappings,Xe=[...st.keys()].sort(y);for(const tt of Xe){const Ye=st.get(tt);if(null===Ye)continue;let Ue=Ye["@container"]||"@none";if(Ue=[].concat(Ue).sort().join(""),null===Ye["@id"])continue;const ke=b(Ye["@id"]);for(const Ke of ke){let Me=me[Ke];const Ve=R.isKeyword(Ke);if(Me)!Ve&&!Ye._termHasColon&&_e[Ke].push(tt);else if(me[Ke]=Me={},!Ve&&!Ye._termHasColon){_e[Ke]=[tt];const $e={iri:Ke,terms:_e[Ke]};Ke[0]in ne?ne[Ke[0]].push($e):ne[Ke[0]]=[$e]}if(Me[Ue]||(Me[Ue]={"@language":{},"@type":{},"@any":{}}),Me=Me[Ue],oe(tt,Me["@any"],"@none"),Ye.reverse)oe(tt,Me["@type"],"@reverse");else if("@none"===Ye["@type"])oe(tt,Me["@any"],"@none"),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none");else if("@type"in Ye)oe(tt,Me["@type"],Ye["@type"]);else if("@language"in Ye&&"@direction"in Ye){const $e=Ye["@language"],Ne=Ye["@direction"];oe(tt,Me["@language"],$e&&Ne?`${$e}_${Ne}`.toLowerCase():$e?$e.toLowerCase():Ne?`_${Ne}`:"@null")}else"@language"in Ye?oe(tt,Me["@language"],(Ye["@language"]||"@null").toLowerCase()):"@direction"in Ye?oe(tt,Me["@language"],Ye["@direction"]?`_${Ye["@direction"]}`:"@none"):Ge?(oe(tt,Me["@language"],`_${Ge}`),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none")):(oe(tt,Me["@language"],Ie),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Ce={};return Ce.mappings=W.clone(this.mappings),Ce.clone=this.clone,Ce.inverse=null,Ce.getInverse=this.getInverse,Ce.protected=W.clone(this.protected),this.previousContext&&(Ce.previousContext=this.previousContext.clone()),Ce.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ce["@base"]=this["@base"]),"@language"in this&&(Ce["@language"]=this["@language"]),"@vocab"in this&&(Ce["@vocab"]=this["@vocab"]),Ce},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(I,E),E;function Z(Ce,me,ne){const _e=Ce[me],Ie=Ce[me]={};let Ge,st;for(const Xe of _e)Ge=Xe.iri,st=ne>=Ge.length?"":Ge[ne],st in Ie?Ie[st].push(Xe):Ie[st]=[Xe];for(const Xe in Ie)""!==Xe&&Z(Ie,Xe,ne+1)}function oe(Ce,me,ne){me.hasOwnProperty(ne)||(me[ne]=Ce)}},R.getContextValue=(D,I,X)=>{if(null===I)return"@context"===X?void 0:null;if(D.mappings.has(I)){const E=D.mappings.get(I);if(v(X))return E;if(E.hasOwnProperty(X))return E[X]}return"@language"===X&&X in D||"@direction"===X&&X in D?D[X]:"@context"!==X?null:void 0},R.processingMode=(D,I)=>I.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+I.toString():"json-ld-1.0"===D.processingMode,R.isKeyword=D=>{if(!z(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:P}=Y("../constants"),Q=Y("../JsonLdError"),z=Y("../RequestQueue"),{prependBase:v}=Y("../url"),x=/(^|(\r\n))link:/i;function O(A,b,y){const S=new(A=A||XMLHttpRequest);return new Promise((T,V)=>{S.onload=()=>T(S),S.onerror=R=>V(R),S.open("GET",b,!0);for(const R in y)S.setRequestHeader(R,y[R]);S.send()})}Se.exports=({secure:A,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new z).wrapLoader(T);function T(R){return V.apply(this,arguments)}function V(){return(V=yt(function*(R){if(0!==R.indexOf("http:")&&0!==R.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:R});if(A&&0!==R.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:R});let K;try{K=yield O(y,R,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:R,cause:E})}if(K.status>=400)throw new Q("URL could not be dereferenced: "+K.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:R,httpStatusCode:K.status});let ce={contextUrl:null,documentUrl:R,document:K.response},D=null;const I=K.getResponseHeader("Content-Type");let X;if(x.test(K.getAllResponseHeaders())&&(X=K.getResponseHeader("Link")),X&&"application/ld+json"!==I){const E=W(X),$=E[P];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:R});$&&(ce.contextUrl=$.target),D=E.alternate,D&&"application/ld+json"==D.type&&!(I||"").match(/^application\/(\w*\+)?json$/)&&(ce=yield T(v(R,D.target)))}return ce})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isEmptyObject:Q,isString:z,isUndefined:v}=Y("./types"),{isList:x,isValue:O,isGraph:A,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{isAbsolute:K}=Y("./url"),{addValue:ce,asArray:D,getValues:I,validateTypeValue:X}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return oe.apply(this,arguments)}function oe(){return(oe=yt(function*({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:Ge,expandedParent:st,options:Xe={},insideList:tt,typeKey:Ye,typeScopedContext:Ue,expansionMap:ke}){const Ke=Object.keys(Ge).sort(),Me=[];let Ve;const $e=Ge[Ye]&&"@json"===y(ne,j(Ge[Ye])?Ge[Ye][0]:Ge[Ye],{vocab:!0},Xe);for(const Ne of Ke){let G,q=Ge[Ne];if("@context"===Ne)continue;let pe=y(ne,Ne,{vocab:!0},Xe);if((null===pe||!K(pe)&&!T(pe))&&(pe=ke({unmappedProperty:Ne,activeCtx:ne,activeProperty:_e,parent:Ge,options:Xe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(T(pe)){if("@reverse"===Ie)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!z(q)){if(!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(P(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>z(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ce(st,"@id",D(q).map(pt=>z(pt)?y(ne,pt,{base:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@type"===pe){P(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,ve])=>[y(Ue,pt,{vocab:!0}),D(ve).map(L=>y(Ue,L,{base:!0,vocab:!0}))]))),X(q,Xe.isFrame),ce(st,"@type",D(q).map(pt=>z(pt)?y(Ue,pt,{base:!0,vocab:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@included"===pe&&R(ne,1.1)){const pt=D(yield E.expand({activeCtx:ne,activeProperty:_e,element:q,options:Xe,expansionMap:ke}));if(!pt.every(ve=>b(ve)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ce(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!P(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ve=q,$e&&R(ne,1.1)?st["@value"]=q:ce(st,"@value",q,{propertyIsArray:Xe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=D(q).map(pt=>z(pt)?pt.toLowerCase():pt);for(const pt of q)z(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ce(st,"@language",q,{propertyIsArray:Xe.isFrame});continue}if("@direction"===pe){if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=D(q);for(const pt of q)if(z(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ce(st,"@direction",q,{propertyIsArray:Xe.isFrame});continue}if("@index"===pe){if(!z(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ce(st,"@index",q);continue}if("@reverse"===pe){if(!P(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Xe,expansionMap:ke}),"@reverse"in G)for(const ve in G["@reverse"])ce(st,ve,G["@reverse"][ve],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const ve in G){if("@reverse"===ve)continue;null===pt&&(pt=st["@reverse"]={}),ce(pt,ve,[],{propertyIsArray:!0});const L=G[ve];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=D(G).map(pt=>({"@graph":D(pt)}))),ue.mappings.has(Ne)&&ue.mappings.get(Ne).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=D(G);for(let ve=0;ve"@value"===y(ne,pe,{vocab:!0},Xe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:G,expandedParent:st,options:Xe,insideList:tt,typeScopedContext:Ue,typeKey:Ye,expansionMap:ke})}}})).apply(this,arguments)}function se({activeCtx:ne,activeProperty:_e,value:Ie,options:Ge}){if(null==Ie)return null;const st=y(ne,_e,{vocab:!0},Ge);if("@id"===st)return y(ne,Ie,{base:!0},Ge);if("@type"===st)return y(ne,Ie,{vocab:!0,base:!0},Ge);const Xe=S(ne,_e,"@type");if(("@id"===Xe||"@graph"===st)&&z(Ie))return{"@id":y(ne,Ie,{base:!0},Ge)};if("@vocab"===Xe&&z(Ie))return{"@id":y(ne,Ie,{vocab:!0,base:!0},Ge)};if(T(st))return Ie;const tt={};if(Xe&&!["@id","@vocab","@none"].includes(Xe))tt["@type"]=Xe;else if(z(Ie)){const Ye=S(ne,_e,"@language");null!==Ye&&(tt["@language"]=Ye);const Ue=S(ne,_e,"@direction");null!==Ue&&(tt["@direction"]=Ue)}return["boolean","number","string"].includes(typeof Ie)||(Ie=Ie.toString()),tt["@value"]=Ie,tt}function te(ne,_e,Ie,Ge){const st=[],Xe=Object.keys(_e).sort();for(const tt of Xe){const Ye=y(ne,tt,{vocab:!0},Ge);let Ue=_e[tt];j(Ue)||(Ue=[Ue]);for(const ke of Ue){if(null===ke)continue;if(!z(ke))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:_e});const Ke={"@value":ke};"@none"!==Ye&&(Ke["@language"]=tt.toLowerCase()),Ie&&(Ke["@direction"]=Ie),st.push(Ke)}}return st}function Ce(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:_e,activeProperty:Ie,value:Ge,expansionMap:st,asGraph:Xe,indexKey:tt,propertyIndex:Ye}){const Ue=[],ke=Object.keys(Ge).sort(),Ke="@type"===tt;for(let Me of ke){if(Ke){const Ne=S(ne,Me,"@context");v(Ne)||(ne=yield V({activeCtx:ne,localCtx:Ne,propagate:!1,options:_e}))}let $e,Ve=Ge[Me];j(Ve)||(Ve=[Ve]),Ve=yield E.expand({activeCtx:ne,activeProperty:Ie,element:Ve,options:_e,insideList:!1,insideIndex:!0,expansionMap:st}),$e=Ye?"@none"===Me?"@none":se({activeCtx:ne,activeProperty:tt,value:Me,options:_e}):y(ne,Me,{vocab:!0},_e),"@id"===tt?Me=y(ne,Me,{base:!0},_e):Ke&&(Me=$e);for(let Ne of Ve){if(Xe&&!A(Ne)&&(Ne={"@graph":[Ne]}),"@type"===tt)"@none"===$e||(Ne["@type"]=Ne["@type"]?[Me].concat(Ne["@type"]):[Me]);else{if(O(Ne)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ne});Ye?"@none"!==$e&&ce(Ne,Ye,$e,{propertyIsArray:!0,prependValue:!0}):"@none"!==$e&&!(tt in Ne)&&(Ne[tt]=Me)}Ue.push(Ne)}}return Ue})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:_e,activeProperty:Ie=null,element:Ge,options:st={},insideList:Xe=!1,insideIndex:tt=!1,typeScopedContext:Ye=null,expansionMap:Ue=(()=>{})}){if(null==Ge)return null;if("@default"===Ie&&(st=Object.assign({},st,{isFrame:!1})),!j(Ge)&&!P(Ge)){if(!Xe&&(null===Ie||"@graph"===y(_e,Ie,{vocab:!0},st))){const G=yield Ue({unmappedValue:Ge,activeCtx:_e,activeProperty:Ie,options:st,insideList:Xe});return void 0===G?null:G}return se({activeCtx:_e,activeProperty:Ie,value:Ge,options:st})}if(j(Ge)){let G=[];const pe=S(_e,Ie,"@container")||[];Xe=Xe||pe.includes("@list");for(let ue=0;ue1?ue.slice().sort():ue:[ue];for(const _t of je){const pt=S(Ye,_t,"@context");v(pt)||(_e=yield V({activeCtx:_e,localCtx:pt,options:st,propagate:!1}))}}let Ne={};yield Z({activeCtx:_e,activeProperty:Ie,expandedActiveProperty:ke,element:Ge,expandedParent:Ne,options:st,insideList:Xe,typeKey:$e,typeScopedContext:Ye,expansionMap:Ue}),Me=Object.keys(Ne);let q=Me.length;if("@value"in Ne){if("@type"in Ne&&("@language"in Ne||"@direction"in Ne))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});let G=q-1;if("@type"in Ne&&(G-=1),"@index"in Ne&&(G-=1),"@language"in Ne&&(G-=1),"@direction"in Ne&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});const pe=null===Ne["@value"]?[]:D(Ne["@value"]),ue=I(Ne,"@type");if(!R(_e,1.1)||!ue.includes("@json")||1!==ue.length)if(0===pe.length){const je=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==je?je:null}else{if(!pe.every(je=>z(je)||Q(je))&&"@language"in Ne)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ne});if(!ue.every(je=>K(je)&&!(z(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ne})}}else if("@type"in Ne&&!j(Ne["@type"]))Ne["@type"]=[Ne["@type"]];else if("@set"in Ne||"@list"in Ne){if(q>1&&(2!==q||!("@index"in Ne)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ne});"@set"in Ne&&(Ne=Ne["@set"],Me=Object.keys(Ne),q=Me.length)}else if(1===q&&"@language"in Ne){const G=yield Ue(Ne,{unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}if(P(Ne)&&!st.keepFreeFloatingNodes&&!Xe&&(null===Ie||"@graph"===ke)&&(0===q||"@value"in Ne||"@list"in Ne||1===q&&"@id"in Ne)){const G=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}return Ne});return function(_e){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),P={};Se.exports=P,P.flatten=Q=>{const z=j(Q),v=[],x=Object.keys(z).sort();for(let O=0;O=0;--oe){const se=Z[oe];if(se.graph===$&&se.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const oe="@"+Z;let se=oe in E?E[oe][0]:$[Z];if("embed"===Z)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return se}function T(E){if(!P.isArray(E)||1!==E.length||!P.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function R(E,$,Z,oe){let se=!0,te=!1;for(const Ce in Z){let me=!1;const ne=Q.getValues($,Ce),_e=0===Q.getValues(Z,Ce).length;if("@id"===Ce){if(P.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!oe.requireAll)return me}else if("@type"===Ce){if(se=!1,_e){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&P.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Ie of Z["@type"])me=!(!P.isObject(Ie)||!("@default"in Ie))||me||ne.some(Ge=>Ge===Ie);if(!oe.requireAll)return me}else{if(W(Ce))continue;{const Ie=Q.getValues(Z,Ce)[0];let Ge=!1;if(Ie&&(T([Ie]),Ge="@default"in Ie),se=!1,0===ne.length&&Ge)continue;if(ne.length>0&&_e)return!1;if(void 0===Ie){if(ne.length>0)return!1;me=!0}else if(j.isList(Ie)){const st=Ie["@list"][0];if(j.isList(ne[0])){const Xe=ne[0]["@list"];j.isValue(st)?me=Xe.some(tt=>X(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Xe.some(tt=>I(E,st,tt,oe)))}}else me=j.isValue(Ie)?ne.some(st=>X(Ie,st)):j.isSubjectReference(Ie)?ne.some(st=>I(E,Ie,st,oe)):!!P.isObject(Ie)&&ne.length>0}}if(!me&&oe.requireAll)return!1;te=te||me}return se||te}function K(E,$){const Z=E.uniqueEmbeds[E.graph],oe=Z[$],se=oe.parent,te=oe.property,Ce={"@id":$};if(P.isArray(se)){for(let ne=0;ne{const _e=Object.keys(Z);for(const Ie of _e)Ie in Z&&P.isObject(Z[Ie].parent)&&Z[Ie].parent["@id"]===ne&&(delete Z[Ie],me(Ie))};me($)}function ce(E,$){if(P.isArray(E))return E.map(Z=>ce(Z,$));if(P.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ce(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ce(E[Z],$)}return E}function D(E,$,Z){P.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function I(E,$,Z,oe){if(!("@id"in Z))return!1;const se=E.subjects[Z["@id"]];return se&&R(E,se,$,oe)}function X(E,$){const Z=$["@value"],oe=$["@type"],se=$["@language"],te=E["@value"]?P.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Ce=E["@type"]?P.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?P.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Ce.length&&0===me.length||!(!te.includes(Z)&&!P.isEmptyObject(te[0])||!(!oe&&0===Ce.length||Ce.includes(oe)||oe&&P.isEmptyObject(Ce[0]))||!(!se&&0===me.length||me.includes(se)||se&&P.isEmptyObject(me[0])))}Se.exports=A,A.frameMergedOrDefault=(E,$,Z)=>{const oe={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Q.IdentifierIssuer("_:b");x(E,oe.graphMap,"@default",se),Z.merged&&(oe.graphMap["@merged"]=O(oe.graphMap),oe.graph="@merged"),oe.subjects=oe.graphMap[oe.graph];const te=[];return A.frame(oe,Object.keys(oe.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(oe.bnodeMap).filter(Ce=>1===oe.bnodeMap[Ce].length)),Z.link={},ce(te,Z)},A.frame=(E,$,Z,oe,se=null)=>{T(Z);const te=E.options,Ce={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,oe){const se={};for(const te of $){const Ce=E.graphMap[E.graph][te];R(E,Ce,Z,oe)&&(se[te]=Ce)}return se}(E,$,Z,Ce),_e=Object.keys(ne).sort();for(const Ie of _e){const Ge=ne[Ie];if(null===se?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Ce.embed&&Ie in me){D(oe,se,me[Ie]);continue}const st={"@id":Ie};if(0===Ie.indexOf("_:")&&Q.addValue(E.bnodeMap,Ie,st,{propertyIsArray:!0}),me[Ie]=st,("@first"===Ce.embed||"@last"===Ce.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){if(E.embedded&&("@never"===Ce.embed||y(Ge,E.graph,E.subjectStack))){D(oe,se,st);continue}if(E.embedded&&("@first"==Ce.embed||"@once"==Ce.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){D(oe,se,st);continue}if("@last"===Ce.embed&&Ie in E.uniqueEmbeds[E.graph]&&K(E,Ie),E.uniqueEmbeds[E.graph][Ie]={parent:oe,property:se},E.subjectStack.push({subject:Ge,graph:E.graph}),Ie in E.graphMap){let Xe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Xe=!("@merged"===Ie||"@default"===Ie),P.isObject(tt)||(tt={})):(Xe="@merged"!==E.graph,tt={}),Xe&&A.frame(Sn(ot({},E),{graph:Ie,embedded:!1}),Object.keys(E.graphMap[Ie]).sort(),[tt],st,"@graph")}"@included"in Z&&A.frame(Sn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Xe of Object.keys(Ge).sort())if(W(Xe)){if(st[Xe]=Q.clone(Ge[Xe]),"@type"===Xe)for(const tt of Ge["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Ce.explicit||Xe in Z)for(const tt of Ge[Xe]){const Ye=Xe in Z?Z[Xe]:b(Ce);if(j.isList(tt)){const Ue=Z[Xe]&&Z[Xe][0]&&Z[Xe][0]["@list"]?Z[Xe][0]["@list"]:b(Ce),ke={"@list":[]};D(st,Xe,ke);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?A.frame(Sn(ot({},E),{embedded:!0}),[Me["@id"]],Ue,ke,"@list"):D(ke,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?A.frame(Sn(ot({},E),{embedded:!0}),[tt["@id"]],Ye,st,Xe):X(Ye[0],tt)&&D(st,Xe,Q.clone(tt))}for(const Xe of Object.keys(Z).sort()){if("@type"===Xe){if(!P.isObject(Z[Xe][0])||!("@default"in Z[Xe][0]))continue}else if(W(Xe))continue;const tt=Z[Xe][0]||{};if(!S(tt,te,"omitDefault")&&!(Xe in st)){let Ue="@null";"@default"in tt&&(Ue=Q.clone(tt["@default"])),P.isArray(Ue)||(Ue=[Ue]),st[Xe]=[{"@preserve":Ue}]}}for(const Xe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Xe];for(const Ye of Object.keys(E.subjects))Q.getValues(E.subjects[Ye],Xe).some(ke=>ke["@id"]===Ie)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Xe,[],{propertyIsArray:!0}),A.frame(Sn(ot({},E),{embedded:!0}),[Ye],tt,st["@reverse"][Xe],se))}D(oe,se,st),E.subjectStack.pop()}}},A.cleanupNull=(E,$)=>{if(P.isArray(E))return E.map(oe=>A.cleanupNull(oe,$)).filter(oe=>oe);if("@null"===E)return null;if(P.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=A.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),{RDF_LIST:z,RDF_FIRST:v,RDF_REST:x,RDF_NIL:O,RDF_TYPE:A,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:T,XSD_STRING:V}=Y("./constants"),R=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,K={};function ce(D,I,X){if(D.termType.endsWith("Node"))return{"@id":D.value};const E={"@value":D.value};if(D.language)E["@language"]=D.language;else{let $=D.datatype.value;if($||($=V),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(I){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(P.isNumeric(E["@value"]))if($===T){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,T,S,V].includes($)||(E["@type"]=$)}else if("i18n-datatype"===X&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,oe]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(R)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=oe}else $!==V&&(E["@type"]=$)}return E}Se.exports=K,K.fromRDF=function(){var D=yt(function*(I,{useRdfType:X=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},oe={"@default":Z},se={};for(const me of I){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in oe||(oe[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const _e=oe[ne],Ie=me.subject.value,Ge=me.predicate.value,st=me.object;Ie in _e||(_e[Ie]={"@id":Ie});const Xe=_e[Ie],tt=st.termType.endsWith("Node");if(tt&&!(st.value in _e)&&(_e[st.value]={"@id":st.value}),Ge===A&&!X&&tt){Q.addValue(Xe,"@type",st.value,{propertyIsArray:!0});continue}const Ye=ce(st,E,$);if(Q.addValue(Xe,Ge,Ye,{propertyIsArray:!0}),tt)if(st.value===O){const Ue=_e[st.value];"usages"in Ue||(Ue.usages=[]),Ue.usages.push({node:Xe,property:Ge,value:Ye})}else se[st.value]=!(st.value in se)&&{node:Xe,property:Ge,value:Ye}}for(const me in oe){const ne=oe[me];if(!(O in ne))continue;const _e=ne[O];if(_e.usages){for(let Ie of _e.usages){let Ge=Ie.node,st=Ie.property,Xe=Ie.value;const tt=[],Ye=[];let Ue=Object.keys(Ge).length;for(;st===x&&P.isObject(se[Ge["@id"]])&&P.isArray(Ge[v])&&1===Ge[v].length&&P.isArray(Ge[x])&&1===Ge[x].length&&(3===Ue||4===Ue&&P.isArray(Ge["@type"])&&1===Ge["@type"].length&&Ge["@type"][0]===z)&&(tt.push(Ge[v][0]),Ye.push(Ge["@id"]),Ie=se[Ge["@id"]],Ge=Ie.node,st=Ie.property,Xe=Ie.value,Ue=Object.keys(Ge).length,j.isBlankNode(Ge)););delete Xe["@id"],Xe["@list"]=tt.reverse();for(const ke of Ye)delete ne[ke]}delete _e.usages}}const te=[],Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me];if(me in oe){const _e=ne["@graph"]=[],Ie=oe[me],Ge=Object.keys(Ie).sort();for(const st of Ge){const Xe=Ie[st];j.isSubjectReference(Xe)||_e.push(Xe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(I,X){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=P=>!(!W.isObject(P)||"@value"in P||"@set"in P||"@list"in P)&&(Object.keys(P).length>1||!("@id"in P)),j.isSubjectReference=P=>W.isObject(P)&&1===Object.keys(P).length&&"@id"in P,j.isValue=P=>W.isObject(P)&&"@value"in P,j.isList=P=>W.isObject(P)&&"@list"in P,j.isGraph=P=>W.isObject(P)&&"@graph"in P&&1===Object.keys(P).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=P=>j.isGraph(P)&&!("@id"in P),j.isBlankNode=P=>!!W.isObject(P)&&("@id"in P?0===P["@id"].indexOf("_:"):0===Object.keys(P).length||!("@value"in P||"@set"in P||"@list"in P))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),P=Y("./util"),Q=Y("./ContextResolver"),z=P.IdentifierIssuer,v=Y("./JsonLdError"),x=Y("lru-cache"),O=Y("./NQuads"),{expand:A}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:T,cleanupNull:V}=Y("./frame"),{isArray:R,isObject:K,isString:ce}=Y("./types"),{isSubjectReference:D}=Y("./graphTypes"),{expandIri:I,getInitialContext:X,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:oe}=Y("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ce}=Y("./nodeMap"),me=function(_e){const Ie={},st=new x({max:100});function Xe(tt,ke){var Ke=ke,{documentLoader:Ye=_e.documentLoader}=Ke,Ue=Uq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Ye},Ue,tt)}return _e.compact=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Ue)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Ye)return null;let Ke;(ke=Xe(ke,{base:ce(Ye)?Ye:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new z("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(ke.skipExpansion=!0),ke.compactToRelative||delete ke.base,Ke=ke.skipExpansion?Ye:yield _e.expand(Ye,ke);const Me=yield _e.processContext(X(ke),Ue,ke);let Ve=yield Z({activeCtx:Me,element:Ke,options:ke,compactionMap:ke.compactionMap});ke.compactArrays&&!ke.graph&&R(Ve)?1===Ve.length?Ve=Ve[0]:0===Ve.length&&(Ve={}):ke.graph&&K(Ve)&&(Ve=[Ve]),K(Ue)&&"@context"in Ue&&(Ue=Ue["@context"]),Ue=P.clone(Ue),R(Ue)||(Ue=[Ue]);const $e=Ue;Ue=[];for(let q=0;q<$e.length;++q)(!K($e[q])||Object.keys($e[q]).length>0)&&Ue.push($e[q]);const Ne=Ue.length>0;if(1===Ue.length&&(Ue=Ue[0]),R(Ve)){const q=oe({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ve;Ve={},Ne&&(Ve["@context"]=Ue),Ve[q]=G}else if(K(Ve)&&Ne){const q=Ve;Ve={"@context":Ue};for(const G in q)Ve[G]=q[G]}return Ve});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.expand=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Ue=Xe(Ue,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(Ue.expansionMap=void 0);const ke={},Ke=[];if("expandContext"in Ue){const Ne=P.clone(Ue.expandContext);ke.expandContext=K(Ne)&&"@context"in Ne?Ne:{"@context":Ne},Ke.push(ke.expandContext)}let Me;if(ce(Ye)){const Ne=yield _e.get(Ye,Ue);Me=Ne.documentUrl,ke.input=Ne.document,Ne.contextUrl&&(ke.remoteContext={"@context":Ne.contextUrl},Ke.push(ke.remoteContext))}else ke.input=P.clone(Ye);"base"in Ue||(Ue.base=Me||"");let Ve=X(Ue);for(const Ne of Ke)Ve=yield E({activeCtx:Ve,localCtx:Ne,options:Ue});let $e=yield A({activeCtx:Ve,element:ke.input,options:Ue,expansionMap:Ue.expansionMap});return K($e)&&"@graph"in $e&&1===Object.keys($e).length?$e=$e["@graph"]:null===$e&&($e=[]),R($e)||($e=[$e]),$e});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.flatten=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const Ke=yield _e.expand(Ye,ke),Me=b(Ke);return null===Ue?Me:(ke.graph=!0,ke.skipExpansion=!0,yield _e.compact(Me,Ue,ke))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.frame=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(ke=Xe(ke,{base:ce(Ye)?Ye:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ce(Ue)){const ue=yield _e.get(Ue,ke);if(Ue=ue.document,ue.contextUrl){let je=Ue["@context"];je?R(je)?je.push(ue.contextUrl):je=[je,ue.contextUrl]:je=ue.contextUrl,Ue["@context"]=je}}const Ke=Ue&&Ue["@context"]||{},Me=yield _e.processContext(X(ke),Ke,ke);ke.hasOwnProperty("omitGraph")||(ke.omitGraph=$(Me,1.1)),ke.hasOwnProperty("pruneBlankNodeIdentifiers")||(ke.pruneBlankNodeIdentifiers=$(Me,1.1));const Ve=yield _e.expand(Ye,ke),$e=ot({},ke);$e.isFrame=!0,$e.keepFreeFloatingNodes=!0;const Ne=yield _e.expand(Ue,$e),q=Object.keys(Ue).map(ue=>I(Me,ue,{vocab:!0}));$e.merged=!q.includes("@graph"),$e.is11=$(Me,1.1);const G=T(Ve,Ne,$e);$e.graph=!ke.omitGraph,$e.skipExpansion=!0,$e.link={},$e.framing=!0;let pe=yield _e.compact(G,Ke,$e);return $e.link={},pe=V(pe,$e),pe});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.link=function(){var tt=yt(function*(Ye,Ue,ke){const Ke={};return Ue&&(Ke["@context"]=Ue),Ke["@embed"]="@link",_e.frame(Ye,Ke,ke)});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.normalize=_e.canonize=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==Ue.inputFormat&&"application/nquads"!==Ue.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=O.parse(Ye);return W.canonize(Me,Ue)}const ke=ot({},Ue);delete ke.format,ke.produceGeneralizedRdf=!1;const Ke=yield _e.toRDF(Ye,ke);return W.canonize(Ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.fromRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Ue=Xe(Ue,{format:ce(Ye)?"application/n-quads":void 0});const{format:ke}=Ue;let{rdfParser:Ke}=Ue;if(ke){if(Ke=Ke||Ie[ke],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:ke})}else Ke=()=>Ye;const Me=yield Ke(Ye);return y(Me,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.toRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let ke;ke=(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Ye:yield _e.expand(Ye,Ue);const Ke=S(ke,Ue);if(Ue.format){if("application/n-quads"===Ue.format||"application/nquads"===Ue.format)return O.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:Ue.format})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.createNodeMap=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Ue=Xe(Ue,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const ke=yield _e.expand(Ye,Ue);return te(ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.merge=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!R(Ye))throw new TypeError('Could not merge, "docs" must be an array.');Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Ye.map(ue=>{const je=ot({},ke);return _e.expand(ue,je)}));let Me=!0;"mergeNodes"in ke&&(Me=ke.mergeNodes);const Ve=ke.issuer||new z("_:b"),$e={"@default":{}};for(let ue=0;ue_e._documentLoader,set:tt=>_e._documentLoader=tt}),_e.documentLoader=function(){var tt=yt(function*(Ye){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Ye})});return function(Ye){return tt.apply(this,arguments)}}(),_e.get=function(){var tt=yt(function*(Ye,Ue){let ke;ke="function"==typeof Ue.documentLoader?Ue.documentLoader:_e.documentLoader;const Ke=yield ke(Ye);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ce(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.processContext=function(){var tt=yt(function*(Ye,Ue,ke){return ke=Xe(ke,{base:"",contextResolver:new Q({sharedCache:st})}),null===Ue?X(ke):(Ue=P.clone(Ue),K(Ue)&&"@context"in Ue||(Ue={"@context":Ue}),E({activeCtx:Ye,localCtx:Ue,options:ke}))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.getContextValue=Y("./context").getContextValue,_e.documentLoaders={},_e.useDocumentLoader=function(tt){if(!(tt in _e.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});_e.documentLoader=_e.documentLoaders[tt].apply(_e,Array.prototype.slice.call(arguments,1))},_e.registerRDFParser=function(tt,Ye){Ie[tt]=Ye},_e.unregisterRDFParser=function(tt){delete Ie[tt]},_e.registerRDFParser("application/n-quads",O.parse),_e.registerRDFParser("application/nquads",O.parse),_e.url=Y("./url"),_e.util=P,Object.assign(_e,P),_e.promises=_e,_e.RequestQueue=Y("./RequestQueue"),_e.JsonLdProcessor=Y("./JsonLdProcessor")(_e),j.setupGlobals(_e),j.setupDocumentLoaders(_e),_e},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),z=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(x,O)=>{const A=(O=O||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(x,b,"@default",A),v.mergeNodeMaps(b)},v.createNodeMap=(x,O,A,b,y,S)=>{if(P.isArray(x)){for(const K of x)v.createNodeMap(K,O,A,b,void 0,S);return}if(!P.isObject(x))return void(S&&S.push(x));if(j.isValue(x)){if("@type"in x){let K=x["@type"];0===K.indexOf("_:")&&(x["@type"]=K=b.getId(K))}return void(S&&S.push(x))}if(S&&j.isList(x)){const K=[];return v.createNodeMap(x["@list"],O,A,b,y,K),void S.push({"@list":K})}if("@type"in x){const K=x["@type"];for(const ce of K)0===ce.indexOf("_:")&&b.getId(ce)}P.isUndefined(y)&&(y=j.isBlankNode(x)?b.getId(x["@id"]):x["@id"]),S&&S.push({"@id":y});const T=O[A],V=T[y]=T[y]||{};V["@id"]=y;const R=Object.keys(x).sort();for(let K of R){if("@id"===K)continue;if("@reverse"===K){const D={"@id":y},I=x["@reverse"];for(const X in I){const E=I[X];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,O,A,b,Z),Q.addValue(T[Z],X,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===K){y in O||(O[y]={}),v.createNodeMap(x[K],O,y,b);continue}if("@included"===K){v.createNodeMap(x[K],O,A,b);continue}if("@type"!==K&&W(K)){if("@index"===K&&K in V&&(x[K]!==V[K]||x[K]["@id"]!==V[K]["@id"]))throw new z("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:V});V[K]=x[K];continue}const ce=x[K];if(0===K.indexOf("_:")&&(K=b.getId(K)),0!==ce.length)for(let D of ce)if("@type"===K&&(D=0===D.indexOf("_:")?b.getId(D):D),j.isSubject(D)||j.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const I=j.isBlankNode(D)?b.getId(D["@id"]):D["@id"];Q.addValue(V,K,{"@id":I},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(D,O,A,b,I)}else if(j.isValue(D))Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(D)){const I=[];v.createNodeMap(D["@list"],O,A,b,y,I),D={"@list":I},Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(D,O,A,b,y),Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(V,K,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=x=>{const O={};for(const A of Object.keys(x).sort())for(const b of Object.keys(x[A]).sort()){const y=x[A][b];b in O||(O[b]={"@id":b});const S=O[b];for(const T of Object.keys(y).sort())if(W(T)&&"@type"!==T)S[T]=Q.clone(y[T]);else for(const V of y[T])Q.addValue(S,T,Q.clone(V),{propertyIsArray:!0,allowDuplicate:!1})}return O},v.mergeNodeMaps=x=>{const O=x["@default"],A=Object.keys(x).sort();for(const b of A){if("@default"===b)continue;const y=x[b];let S=O[b];S?"@graph"in S||(S["@graph"]=[]):O[b]=S={"@id":b,"@graph":[]};const T=S["@graph"];for(const V of Object.keys(y).sort()){const R=y[V];j.isSubjectReference(R)||T.push(R)}}return O}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(P){"undefined"!=typeof XMLHttpRequest&&(P.documentLoaders.xhr=W,P.useDocumentLoader("xhr"))},j.setupGlobals=function(P){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:P.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),P=Y("./graphTypes"),Q=Y("canonicalize"),z=Y("./types"),v=Y("./util"),{RDF_FIRST:x,RDF_REST:O,RDF_NIL:A,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:T,XSD_DOUBLE:V,XSD_INTEGER:R,XSD_STRING:K}=Y("./constants"),{isAbsolute:ce}=Y("./url"),D={};function I($,Z,oe,se,te){const Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me],_e=Object.keys(ne).sort();for(let Ie of _e){const Ge=ne[Ie];if("@type"===Ie)Ie=b;else if(j(Ie))continue;for(const st of Ge){const Xe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ce(me))continue;const tt={termType:Ie.startsWith("_:")?"BlankNode":"NamedNode",value:Ie};if(!ce(Ie)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Ye=E(st,se,$,oe,te.rdfDirection);Ye&&$.push({subject:Xe,predicate:tt,object:Ye,graph:oe})}}}}function E($,Z,oe,se,te){const Ce={};if(P.isValue($)){Ce.termType="Literal",Ce.value=void 0,Ce.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Ce.value=Q(me),Ce.datatype.value=y):z.isBoolean(me)?(Ce.value=me.toString(),Ce.datatype.value=ne||T):z.isDouble(me)||ne===V?(z.isDouble(me)||(me=parseFloat(me)),Ce.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ce.datatype.value=ne||V):z.isNumber(me)?(Ce.value=me.toFixed(0),Ce.datatype.value=ne||R):"i18n-datatype"===te&&"@direction"in $?(Ce.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Ce.value=me):"@language"in $?(Ce.value=me,Ce.datatype.value=ne||S,Ce.language=$["@language"]):(Ce.value=me,Ce.datatype.value=ne||K)}else if(P.isList($)){const me=function($,Z,oe,se,te){const Ce={termType:"NamedNode",value:x},me={termType:"NamedNode",value:O},ne={termType:"NamedNode",value:A},_e=$.pop(),Ie=_e?{termType:"BlankNode",value:Z.getId()}:ne;let Ge=Ie;for(const st of $){const Xe=E(st,Z,oe,se,te),tt={termType:"BlankNode",value:Z.getId()};oe.push({subject:Ge,predicate:Ce,object:Xe,graph:se}),oe.push({subject:Ge,predicate:me,object:tt,graph:se}),Ge=tt}if(_e){const st=E(_e,Z,oe,se,te);oe.push({subject:Ge,predicate:Ce,object:st,graph:se}),oe.push({subject:Ge,predicate:me,object:ne,graph:se})}return Ie}($["@list"],Z,oe,se,te);Ce.termType=me.termType,Ce.value=me.value}else{const me=z.isObject($)?$["@id"]:$;Ce.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Ce.value=me}return"NamedNode"!==Ce.termType||ce(Ce.value)?Ce:null}Se.exports=D,D.toRDF=($,Z)=>{const oe=new v.IdentifierIssuer("_:b"),se={"@default":{}};W($,se,"@default",oe);const te=[],Ce=Object.keys(se).sort();for(const me of Ce){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ce(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}I(te,se[me],ne,oe,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,z)=>{const v={},x=j.parsers[z||"full"],O=x.regex.exec(Q);let A=x.keys.length;for(;A--;)v[x.keys[A]]=void 0===O[A]?null:O[A];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,z)=>{if(null===Q||j.isAbsolute(z))return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(z),x={protocol:Q.protocol||""};if(null!==v.authority)x.authority=v.authority,x.path=v.path,x.query=v.query;else if(x.authority=Q.authority,""===v.path)x.path=Q.path,x.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))x.path=v.path;else{let A=Q.path;A=A.substr(0,A.lastIndexOf("/")+1),(A.length>0||Q.authority)&&"/"!==A.substr(-1)&&(A+="/"),A+=v.path,x.path=A}x.query=v.query}""!==v.path&&(x.path=j.removeDotSegments(x.path));let O=x.protocol;return null!==x.authority&&(O+="//"+x.authority),O+=x.path,null!==x.query&&(O+="?"+x.query),null!==v.fragment&&(O+="#"+v.fragment),""===O&&(O="./"),O},j.removeBase=(Q,z)=>{if(null===Q)return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):z.indexOf("//")&&(v+="//"),0!==z.indexOf(v))return z;const x=j.parse(z.substr(v.length)),O=Q.normalizedPath.split("/"),A=x.normalizedPath.split("/"),b=x.fragment||x.query?0:1;for(;O.length>0&&A.length>b&&O[0]===A[0];)O.shift(),A.shift();let y="";if(O.length>0){O.pop();for(let S=0;S{if(0===Q.length)return"";const z=Q.split("/"),v=[];for(;z.length>0;){const x=z.shift(),O=0===z.length;"."!==x?".."!==x?v.push(x):(v.pop(),O&&v.push("")):O&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const P=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&P.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),P=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),z=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,x=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,O_headers={accept:"application/ld+json, application/json"},A={};function b(y,S){if(j.isArray(S))for(let T=0;T{if(Object.keys(y).some(T=>"accept"===T.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+O_headers.accept+'" is supported.');return Object.assign({Accept:O_headers.accept},y)},A.parseLinkHeader=y=>{const S={},T=y.match(z);for(let V=0;V{if(!(j.isString(y)||j.isArray(y)&&y.every(T=>j.isString(T)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&A.asArray(y["@default"]).every(T=>j.isString(T)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},A.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const T=y[S];return!j.isArray(T)||T.length>0}return!1},A.hasValue=(y,S,T)=>{if(A.hasProperty(y,S)){let V=y[S];const R=W.isList(V);if(j.isArray(V)||R){R&&(V=V["@list"]);for(let K=0;K{if("propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1),"valueIsArray"in V||(V.valueIsArray=!1),"allowDuplicate"in V||(V.allowDuplicate=!0),"prependValue"in V||(V.prependValue=!1),V.valueIsArray)y[S]=T;else if(j.isArray(T)){0===T.length&&V.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),V.prependValue&&(T=T.concat(y[S]),y[S]=[]);for(let R=0;R[].concat(y[S]||[]),A.removeProperty=(y,S)=>{delete y[S]},A.removeValue=(y,S,T,V)=>{"propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1);const R=A.getValues(y,S).filter(K=>!A.compareValues(K,T));0===R.length?A.removeProperty(y,S):y[S]=1!==R.length||V.propertyIsArray?R:R[0]},A.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new P("_:b"),y),A.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],A.compareShortestLeast=(y,S)=>y.length1;const V=(X,E,$)=>{const Z=X[b].get(E);if(Z){const oe=Z.value;if(R(X,oe)){if(ce(X,Z),!X[z])return}else $&&(X[y]&&(Z.value.now=Date.now()),X[A].unshiftNode(Z));return oe.value}},R=(X,E)=>{if(!E||!E.maxAge&&!X[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:X[v]&&$>X[v]},K=X=>{if(X[P]>X[j])for(let E=X[A].tail;X[P]>X[j]&&null!==E;){const $=E.prev;ce(X,E),E=$}},ce=(X,E)=>{if(E){const $=E.value;X[x]&&X[x]($.key,$.value),X[P]-=$.length,X[b].delete($.key),X[A].removeNode(E)}};class D{constructor(E,$,Z,oe,se){this.key=E,this.value=$,this.length=Z,this.now=oe,this.maxAge=se||0}}const I=(X,E,$,Z)=>{let oe=$.value;R(X,oe)&&(ce(X,$),X[z]||(oe=void 0)),oe&&E.call(Z,oe.value,oe.key,X)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[z]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[x]=E.dispose,this[O]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,K(this)}get max(){return this[j]}set allowStale(E){this[z]=!!E}get allowStale(){return this[z]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,K(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[P]=0,this[A].forEach($=>{$.length=this[Q]($.value,$.key),this[P]+=$.length})),K(this)}get lengthCalculator(){return this[Q]}get length(){return this[P]}get itemCount(){return this[A].length}rforEach(E,$){$=$||this;for(let Z=this[A].tail;null!==Z;){const oe=Z.prev;I(this,E,Z,$),Z=oe}}forEach(E,$){$=$||this;for(let Z=this[A].head;null!==Z;){const oe=Z.next;I(this,E,Z,$),Z=oe}}keys(){return this[A].toArray().map(E=>E.key)}values(){return this[A].toArray().map(E=>E.value)}reset(){this[x]&&this[A]&&this[A].length&&this[A].forEach(E=>this[x](E.key,E.value)),this[b]=new Map,this[A]=new W,this[P]=0}dump(){return this[A].map(E=>!R(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[A]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const oe=Z?Date.now():0,se=this[Q]($,E);if(this[b].has(E)){if(se>this[j])return ce(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[x]&&(this[O]||this[x](E,me.value)),me.now=oe,me.maxAge=Z,me.value=$,this[P]+=se-me.length,me.length=se,this.get(E),K(this),!0}const te=new D(E,$,se,oe,Z);return te.length>this[j]?(this[x]&&this[x](E,$),!1):(this[P]+=te.length,this[A].unshift(te),this[b].set(E,this[A].head),K(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!R(this,$)}get(E){return V(this,E,!0)}peek(E){return V(this,E,!1)}pop(){const E=this[A].tail;return E?(ce(this,E),E.value):null}del(E){ce(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const oe=E[Z],se=oe.e||0;if(0===se)this.set(oe.k,oe.v);else{const te=se-$;te>0&&this.set(oe.k,oe.v,te)}}}prune(){this[b].forEach((E,$)=>V(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",P="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${P}reify#forSome`,forAll:`${P}reify#forAll`},log:{implies:`${P}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function D(ne,_e){if(_e=_e||b,!ne)return _e.defaultGraph();switch(ne[0]){case"?":return _e.variable(ne.substr(1));case"_":return _e.blankNode(ne.substr(2));case'"':if(_e===b)return new V(ne);if('"'===ne[ne.length-1])return _e.literal(ne.substr(1,ne.length-2));const Ie=ne.lastIndexOf('"',ne.length-1);return _e.literal(ne.substr(1,Ie-1),"@"===ne[Ie+1]?ne.substr(Ie+2):_e.namedNode(ne.substr(Ie+3)));case"<":const Ge=A.exec(ne);return _e.quad(D($(Ge[1]),_e),D($(Ge[2]),_e),D($(Ge[3]),_e),Ge[4]&&D($(Ge[4]),_e));default:return _e.namedNode(ne)}},he.termToId=function I(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==z.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(I(ne.subject))} ${E(I(ne.predicate))} ${E(I(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${I(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:z}=W.default;let v,x=0;const O=/^"(.*".*)(?="[^"]*$)/,A=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new T(ne)},blankNode:function(ne){return new R(ne||"n3-"+x++)},variable:function(ne){return new K(ne)},literal:function(ne,_e){if("string"==typeof _e)return new V(`"${ne}"@${_e.toLowerCase()}`);let Ie=_e?_e.value:"";return""===Ie&&("boolean"==typeof ne?Ie=z.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Ie=Number.isInteger(ne)?z.integer:z.double:(Ie=z.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new V(""===Ie||Ie===z.string?`"${ne}"`:`"${ne}"^^${Ie}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(_e){this.id=_e}get value(){return this.id}equals(_e){return _e instanceof S?this.id===_e.id:!!_e&&this.termType===_e.termType&&this.value===_e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class T extends S{get termType(){return"NamedNode"}}he.NamedNode=T;class V extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const _e=this.id;let Ie=_e.lastIndexOf('"')+1;return Ie<_e.length&&"@"===_e[Ie++]?_e.substr(Ie).toLowerCase():""}get datatype(){return new T(this.datatypeString)}get datatypeString(){const _e=this.id,Ie=_e.lastIndexOf('"')+1,Ge=Ie<_e.length?_e[Ie]:"";return"^"===Ge?_e.substr(Ie+2):"@"!==Ge?z.string:Q.langString}equals(_e){return _e instanceof V?this.id===_e.id:!!_e&&!!_e.datatype&&this.termType===_e.termType&&this.value===_e.value&&this.language===_e.language&&this.datatype.value===_e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}he.Literal=V;class R extends S{constructor(_e){super(`_:${_e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}he.BlankNode=R;class K extends S{constructor(_e){super(`?${_e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}he.Variable=K;class ce extends S{constructor(){return super(""),v||this}get termType(){return"DefaultGraph"}equals(_e){return this===_e||!!_e&&this.termType===_e.termType}}he.DefaultGraph=ce,v=new ce;class X extends S{constructor(_e,Ie,Ge,st){super(""),this._subject=_e,this._predicate=Ie,this._object=Ge,this._graph=st||v}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(_e){return!!_e&&this._subject.equals(_e.subject)&&this._predicate.equals(_e.predicate)&&this._object.equals(_e.object)&&this._graph.equals(_e.graph)}}function E(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/"/g,'""')}`)}function $(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/""/g,'"')}`)}function me(ne,_e,Ie,Ge){return new X(ne,_e,Ie,Ge)}he.Triple=he.Quad=X},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),P=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:z}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,x={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},O=/[\x00-\x20<>\\"\{\}\|\^\`]/,A={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(T){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(T=T||{}).lineMode){this._n3Mode=!1;for(const V in this)!(V in A)&&this[V]instanceof RegExp&&(this[V]=b)}else this._n3Mode=!1!==T.n3;this._comments=!!T.comments,this._literalClosingPos=0}_tokenizeToEnd(T,V){let R=this._input,K=R.length;for(;;){let I,X;for(;I=this._newline.exec(R);)this._comments&&(X=this._comment.exec(I[0]))&&ce("comment",X[1],"",this._line,I[0].length),R=R.substr(I[0].length,R.length),K=R.length,this._line++;if(!I&&(I=this._whitespace.exec(R))&&(R=R.substr(I[0].length,R.length)),this._endOfFile.test(R))return V&&(this._comments&&(X=this._comment.exec(R))&&ce("comment",X[1],"",this._line,R.length),R=null,ce("eof","","",this._line,0)),this._input=R;const E=this._line,$=R[0];let Z="",oe="",se="",te=null,Ce=0,me=!1;switch($){case"^":if(R.length<3)break;if("^"!==R[1]){this._n3Mode&&(Ce=1,Z="^");break}if(this._previousMarker="^^",R=R.substr(2),"<"!==R[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(R))Z="IRI",oe=te[1];else if(te=this._iri.exec(R)){if(oe=this._unescape(te[1]),null===oe||O.test(oe))return D(this);Z="IRI"}else R.length>1&&"<"===R[1]?(Z="<<",Ce=2):this._n3Mode&&R.length>1&&"="===R[1]&&(Z="inverse",Ce=2,oe=">");break;case">":R.length>1&&">"===R[1]&&(Z=">>",Ce=2);break;case"_":((te=this._blank.exec(R))||V&&(te=this._blank.exec(`${R} `)))&&(Z="blank",se="_",oe=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(R))&&(Z="var",oe=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(R))?(Z="langcode",oe=te[1]):(te=this._keyword.exec(R))&&(Z=te[0]);break;case".":if(1===R.length?V:R[1]<"0"||R[1]>"9"){Z=".",Ce=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(R)||V&&(te=this._number.exec(`${R} `)))&&(Z="literal",oe=te[0],se="string"==typeof te[1]?z.double:"string"==typeof te[2]?z.decimal:z.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(R))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(R))?(Z="literal",oe=te[0],se=z.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(R))?(Z="abbreviation",oe="a"):me=!0;break;case"=":this._n3Mode&&R.length>1&&(Z="abbreviation",">"!==R[1]?(Ce=1,oe="="):(Ce=2,oe=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ce=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(R))?((te=this._prefixed.exec(R))||V&&(te=this._prefixed.exec(`${R} `)))&&(Z="prefixed",se=te[1]||"",oe=this._unescape(te[2])):(Z="prefix",oe=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return V||!/^'''|^"""/.test(R)&&/\n|\r/.test(R)?D(this):this._input=R;const ne=Ce||te[0].length,_e=ce(Z,oe,se,E,ne);this.previousToken=_e,this._previousMarker=Z,R=R.substr(ne,R.length)}function ce(I,X,E,$,Z){const oe=R?K-R.length:K,te={type:I,value:X,prefix:E,line:$,start:oe,end:oe+Z};return T(null,te),te}function D(I){T(I._syntaxError(/^\S*/.exec(R)[0]))}}_unescape(T){let V=!1;const R=T.replace(v,(K,ce,D,I)=>{if("string"==typeof ce)return String.fromCharCode(Number.parseInt(ce,16));if("string"==typeof D){let X=Number.parseInt(D,16);return X<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((X-=65536)>>10),56320+(1023&X))}return I in x?x[I]:(V=!0,"")});return V?null:R}_parseLiteral(T){if(T.length>=3){const V=T.match(/^(?:"""|"|'''|'|)/)[0],R=V.length;let K=Math.max(this._literalClosingPos,R);for(;(K=T.indexOf(V,K))>0;){let ce=0;for(;"\\"===T[K-ce-1];)ce++;if(ce%2==0){const D=T.substring(R,K),I=D.split(/\r\n|\r|\n/).length-1,X=K+R;if(1===R&&0!==I||3===R&&this._lineMode)break;return this._line+=I,{value:this._unescape(D),matchLength:X}}K++}this._literalClosingPos=T.length-R+1}return{value:"",matchLength:0}}_syntaxError(T){this._input=null;const V=new Error(`Unexpected "${T}" on line ${this._line}.`);return V.context={token:void 0,line:this._line,previousToken:this.previousToken},V}_readStartingBom(T){return T.startsWith("\ufeff")?T.substr(1):T}tokenize(T,V){if(this._line=1,"string"==typeof T){if(this._input=this._readStartingBom(T),"function"!=typeof V){const R=[];let K;if(this._tokenizeToEnd((ce,D)=>ce?K=ce:R.push(D),!0),K)throw K;return R}(0,P.default)(()=>this._tokenizeToEnd(V,!0))}else this._pendingBuffer=null,"function"==typeof T.setEncoding&&T.setEncoding("utf8"),T.on("data",R=>{null!==this._input&&0!==R.length&&(this._pendingBuffer&&(R=W.concat([this._pendingBuffer,R]),this._pendingBuffer=null),128&R[R.length-1]?this._pendingBuffer=R:(void 0===this._input?this._input=this._readStartingBom("string"==typeof R?R:R.toString()):this._input+=R,this._tokenizeToEnd(V,!1)))}),T.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(V,!0)}),T.on("error",V)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),P=Q(Y("./IRIs"));function Q(A){return A&&A.__esModule?A:{default:A}}let z=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&O(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),T=/trig/.test(y),V=/triple/.test(y),R=/quad/.test(y),K=this._n3Mode=/n3/.test(y),ce=V||R;(this._supportsNamedGraphs=!(S||K))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||T||V||K),this._supportsRDFStar=""===y||/star|\*$/.test(y),ce&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ce,n3:K}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){z=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,T,V){const R=this._n3Mode;this._contextStack.push({subject:S,predicate:T,object:V,graph:y,type:b,inverse:!!R&&this._inversePredicate,blankPrefix:R?this._prefixes._:"",quantified:R?this._quantified:null}),R&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const T=this._resolveIRI(b.value);if(null===T)return this._error("Invalid IRI",b);S=this._namedNode(T);break;case"type":case"prefixed":const V=this._prefixes[b.prefix];if(void 0===V)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(V+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,T=this._readListItem;const V=this._subject,R=this._contextStack,K=R[R.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),T=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==R.length&&"list"===R[R.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(T=this._readPredicate,this._subject===this.RDF_NIL)return T}else if(T=this._getContextEndReader(),this._object===this.RDF_NIL)return T;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,T=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),T=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===V?null===K.predicate?K.subject=S:K.object=S:this._emit(V,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return T}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const T=this._subject,V=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,V&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==T){const R=this._predicate,K=this._object;V?this._emit(K,R,T,S):this._emit(T,R,K,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const T=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,T,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const T=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=T):(y=this._object,this._object=T),this._emit(y,S,T,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,T;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(T=this._subject,this._subject=y):(T=this._object,this._object=y),this._emit(y,S,T,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,T){this._callback(null,this._quad(b,y,S,T||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=x}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",T=-1,V=-1,R=0,K="/";for(;T=V&&(S=S.substr(0,R)),"/"!==K)return`${S}/${b.substr(T+1)}`;R=T+1}}}K=b[++T]}return S+b.substring(R)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${z++}_`,this._prefixCallback=S||x,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const T=[];let V;if(this._callback=(R,K)=>{R?V=R:K&&T.push(K)},this._lexer.tokenize(b).every(R=>this._readCallback=this._readCallback(R)),V)throw V;return T}this._callback=y,this._lexer.tokenize(b,(T,V)=>{null!==T?(this._callback(T),this._callback=x):this._readCallback&&(this._readCallback=this._readCallback(V))})}}function x(){}function O(A,b){const y=b.namedNode;A._namedNode=y,A._blankNode=b.blankNode,A._literal=b.literal,A._variable=b.variable,A._quad=b.quad,A.DEFAULTGRAPH=b.defaultGraph(),A.RDF_FIRST=y(P.default.rdf.first),A.RDF_REST=y(P.default.rdf.rest),A.RDF_NIL=y(P.default.rdf.nil),A.N3_FORALL=y(P.default.r.forAll),A.N3_FORSOME=y(P.default.r.forSome),A.ABBREVIATIONS={a:y(P.default.rdf.type),"=":y(P.default.owl.sameAs),">":y(P.default.log.implies)},A.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,O(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=z(y);if(S&&S.has(b))return S.get(b);var T={},V=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in b)if("default"!==R&&Object.prototype.hasOwnProperty.call(b,R)){var K=V?Object.getOwnPropertyDescriptor(b,R):null;K&&(K.get||K.set)?Object.defineProperty(T,R,K):T[R]=b[R]}return T.default=b,S&&S.set(b,T),T}(Y("./N3DataFactory")),j=Y("readable-stream"),P=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function z(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(z=function(T){return T?S:y})(b)}class x{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let T,V;for(const R in S)for(const K in T=S[R].subjects)for(const ce in V=T[K])y+=Object.keys(V[ce]).length;return this._size=y}_addToIndex(y,S,T,V){const R=y[S]||(y[S]={}),K=R[T]||(R[T]={}),ce=V in K;return ce||(K[V]=null),!ce}_removeFromIndex(y,S,T,V){const R=y[S],K=R[T];delete K[V];for(const ce in K)return;delete R[T];for(const ce in R)return;delete y[S]}*_findInIndex(y,S,T,V,R,K,ce,D){let I,X,E;const Z=!S+!T+!V>1?Object.keys(this._ids):this._entities,oe=(0,W.termFromId)(D,this._factory);S&&((I=y,y={})[S]=I[S]);for(const se in y){const te=Z[se];if(X=y[se]){T&&((I=X,X={})[T]=I[T]);for(const Ce in X){const me=Z[Ce];if(E=X[Ce]){const ne=V?V in E?[V]:[]:Object.keys(E);for(let _e=0;_e{T in S||(S[T]=!0,y((0,W.termFromId)(this._entities[T],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);let R=this._graphs[V];R||(R=this._graphs[V]={subjects:{},predicates:{},objects:{}},Object.freeze(R));const K=this._ids,ce=this._entities;y=K[y]||(K[ce[++this._id]=y]=this._id),S=K[S]||(K[ce[++this._id]=S]=this._id),T=K[T]||(K[ce[++this._id]=T]=this._id);const D=this._addToIndex(R.subjects,y,S,T);return this._addToIndex(R.predicates,S,T,y),this._addToIndex(R.objects,T,y,S),this._size=null,D}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);const R=this._ids,K=this._graphs;let ce,D,I;if(!((y=R[y])&&(S=R[S])&&(T=R[T])&&(ce=K[V])&&(D=ce.subjects[y])&&(I=D[S])&&T in I))return!1;for(y in this._removeFromIndex(ce.subjects,y,S,T),this._removeFromIndex(ce.predicates,S,T,y),this._removeFromIndex(ce.objects,T,y,S),null!==this._size&&this._size--,ce.subjects)return!0;return delete K[V],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,T,V){const R=new j.Readable({objectMode:!0});return R._read=()=>{for(const K of this.readQuads(y,S,T,V))R.push(K);R.push(null)},this.remove(R)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,T,V){return[...this.readQuads(y,S,T,V)]}*readQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let ce,D,I,X;if(!(O(y)&&!(D=K[y])||O(S)&&!(I=K[S])||O(T)&&!(X=K[T])))for(const E in R)(ce=R[E])&&(D?X?yield*this._findInIndex(ce.objects,X,D,I,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,D,I,null,"subject","predicate","object",E,null,!0):I?yield*this._findInIndex(ce.predicates,I,X,null,"predicate","object","subject",E,null,!0):X?yield*this._findInIndex(ce.objects,X,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,T,V){return new A(this,y,S,T,V)}countQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let D,I,X,E,ce=0;if(O(y)&&!(I=K[y])||O(S)&&!(X=K[S])||O(T)&&!(E=K[T]))return 0;for(const $ in R)(D=R[$])&&(ce+=y?T?this._countInIndex(D.objects,E,I,X):this._countInIndex(D.subjects,I,X,E):S?this._countInIndex(D.predicates,X,E,I):this._countInIndex(D.objects,E,I,X));return ce}forEach(y,S,T,V,R){this.some(K=>(y(K),!1),S,T,V,R)}every(y,S,T,V,R){let K=!1;const ce=!this.some(D=>(K=!0,!y(D)),S,T,V,R);return K&&ce}some(y,S,T,V,R){for(const K of this.readQuads(S,T,V,R))if(y(K))return!0;return!1}getSubjects(y,S,T){const V=[];return this.forSubjects(R=>{V.push(R)},y,S,T),V}forSubjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.predicates,D,I,y):this._loopByKey1(ce.subjects,D,y):I?this._loopByKey0(ce.objects,I,y):this._loop(ce.subjects,y))}getPredicates(y,S,T){const V=[];return this.forPredicates(R=>{V.push(R)},y,S,T),V}forPredicates(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.objects,I,D,y):this._loopByKey0(ce.subjects,D,y):I?this._loopByKey1(ce.predicates,I,y):this._loop(ce.predicates,y))}getObjects(y,S,T){const V=[];return this.forObjects(R=>{V.push(R)},y,S,T),V}forObjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.subjects,D,I,y):this._loopByKey1(ce.objects,D,y):I?this._loopByKey0(ce.predicates,I,y):this._loop(ce.objects,y))}getGraphs(y,S,T){const V=[];return this.forGraphs(R=>{V.push(R)},y,S,T),V}forGraphs(y,S,T,V){for(const R in this._graphs)this.some(K=>(y(K.graph),!0),S,T,V,R)}createBlankNode(y){let S,T;if(y)for(S=y=`_:${y}`,T=1;this._ids[S];)S=y+T++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const T={},V=S?()=>!0:(ce,D)=>{throw new Error(`${ce.value} ${D}`)},R=this.getQuads(null,P.default.rdf.rest,P.default.rdf.nil,null),K=y?[...R]:[];return R.forEach(ce=>{const D=[];let X,E,I=!1;const $=ce.graph;let Z=ce.subject;for(;Z&&!I;){const oe=this.getQuads(null,null,Z,null),se=this.getQuads(Z,null,null,null);let te,Ce=null,me=null,ne=null;for(let _e=0;_e{switch(b){case"data":O=y;break;case"end":A=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{O(b),S()},this._flush=b=>{A(),b()}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var z,W=Y("readable-stream"),j=(z=Y("./N3Writer"))&&z.__esModule?z:{default:z};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const x=this._writer=new j.default({write:(O,A,b)=>{this.push(O),b&&b()},end:O=>{this.push(null),O&&O()}},v);this._transform=(O,A,b)=>{x.addQuad(O,b)},this._flush=O=>{x.end(O)}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),v.on("prefix",(x,O)=>{this._writer.addPrefix(x,O)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return x(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=x,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function x(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const T=Object.create(null);for(const R in y)V(R,y[R]);function V(R,K){if("string"==typeof K){const ce=Object.create(null);T[R]=D=>ce[D]||(ce[D]=S.namedNode(K+D))}else if(!(R in T))throw new Error(`Unknown prefix: ${R}`);return T[R]}return S=S||W.default,V}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ce,W=(ce=Y("./IRIs"))&&ce.__esModule?ce:{default:ce},j=function(ce,D){if(!D&&ce&&ce.__esModule)return ce;if(null===ce||"object"!=typeof ce&&"function"!=typeof ce)return{default:ce};var I=Q(D);if(I&&I.has(ce))return I.get(ce);var X={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ce)if("default"!==$&&Object.prototype.hasOwnProperty.call(ce,$)){var Z=E?Object.getOwnPropertyDescriptor(ce,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(X,$,Z):X[$]=ce[$]}return X.default=ce,I&&I.set(ce,X),X}(Y("./N3DataFactory")),P=Y("./N3Util");function Q(ce){if("function"!=typeof WeakMap)return null;var D=new WeakMap,I=new WeakMap;return(Q=function(X){return X?I:D})(ce)}const x=j.default.defaultGraph(),{rdf:O,xsd:A}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class T extends j.Term{equals(){return!1}}function R(ce){let D=S[ce];return void 0===D&&(1===ce.length?(D=ce.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*(ce.charCodeAt(0)-55296)+ce.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function K(ce){return ce.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(D,I){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(I=D,D=null),this._lists=(I=I||{}).lists,D)this._outputStream=D,this._endStream=void 0===I.end||!!I.end;else{let X="";this._outputStream={write(E,$,Z){X+=E,Z&&Z()},end:E=>{E&&E(null,X)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(I.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=x,this._prefixIRIs=Object.create(null),I.prefixes&&this.addPrefixes(I.prefixes),I.baseIRI&&(this._baseMatcher=new RegExp(`^${K(I.baseIRI)}${I.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=I.baseIRI.length))}get _inDefaultGraph(){return x.equals(this._graph)}_write(D,I){this._outputStream.write(D,"utf8",I)}_writeQuad(D,I,X,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(x.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),D.equals(this._subject)?I.equals(this._predicate)?this._write(`, ${this._encodeObject(X)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(D,I,X,E,$){delete this._prefixMatch,this._write(this.quadToString(D,I,X,E),$)}quadToString(D,I,X,E){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(I)} ${this._encodeObject(X)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(D){return D.map(I=>this.quadToString(I.subject,I.predicate,I.object,I.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let I=D.value;this._baseMatcher&&this._baseMatcher.test(I)&&(I=I.substr(this._baseLength)),b.test(I)&&(I=I.replace(y,R));const X=this._prefixRegex.exec(I);return X?X[1]?this._prefixIRIs[X[1]]+X[2]:I:`<${I}>`}_encodeLiteral(D){let I=D.value;if(b.test(I)&&(I=I.replace(y,R)),D.language)return`"${I}"@${D.language}`;if(this._lineMode){if(D.datatype.value===A.string)return`"${I}"`}else switch(D.datatype.value){case A.string:return`"${I}"`;case A.boolean:if("true"===I||"false"===I)return I;break;case A.integer:if(/^[+-]?\d+$/.test(I))return I;break;case A.decimal:if(/^[+-]?\d*\.\d+$/.test(I))return I;break;case A.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(I))return I}return`"${I}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===O.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:I,object:X,graph:E}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(I)} ${this._encodeObject(X)}${(0,P.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,I,X,E,$){void 0===X?this._writeQuad(D.subject,D.predicate,D.object,D.graph,I):"function"==typeof E?this._writeQuad(D,I,X,x,E):this._writeQuad(D,I,X,E||x,$)}addQuads(D){for(let I=0;I.\n`)}if(X){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=K(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(X?"\n":"",I)}blank(D,I){let E,$,X=D;switch(void 0===D?X=[]:D.termType?X=[{predicate:D,object:I}]:"length"in D||(X=[D]),$=X.length){case 0:return new T("[]");case 1:if(E=X[0],!(E.object instanceof T))return new T(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let oe=0;oe<$;oe++)E=X[oe],E.predicate.equals(D)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(oe?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,D=E.predicate);return new T(`${Z}\n]`)}}list(D){const I=D&&D.length||0,X=new Array(I);for(let E=0;E{I=null,D(X,E)});if(this._endStream)try{return this._outputStream.end(I)}catch(X){}I&&I()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return O.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return O.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return O.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return O.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return O.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return O.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return O.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return O.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return P.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return O.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return O.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),P=y(Y("./N3Writer")),Q=y(Y("./N3Store")),z=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),x=b(Y("./N3Util"));he.Util=x;var O=b(Y("./N3DataFactory"));function A(T){if("function"!=typeof WeakMap)return null;var V=new WeakMap,R=new WeakMap;return(A=function(K){return K?R:V})(T)}function b(T,V){if(!V&&T&&T.__esModule)return T;if(null===T||"object"!=typeof T&&"function"!=typeof T)return{default:T};var R=A(V);if(R&&R.has(T))return R.get(T);var K={},ce=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in T)if("default"!==D&&Object.prototype.hasOwnProperty.call(T,D)){var I=ce?Object.getOwnPropertyDescriptor(T,D):null;I&&(I.get||I.set)?Object.defineProperty(K,D,I):K[D]=T[D]}return K.default=T,R&&R.set(T,K),K}function y(T){return T&&T.__esModule?T:{default:T}}he.default={Lexer:W.default,Parser:j.default,Writer:P.default,Store:Q.default,StreamParser:z.default,StreamWriter:v.default,Util:x,DataFactory:O.default,Term:O.Term,NamedNode:O.NamedNode,Literal:O.Literal,BlankNode:O.BlankNode,Variable:O.Variable,DefaultGraph:O.DefaultGraph,Quad:O.Quad,Triple:O.Triple,termFromId:O.termFromId,termToId:O.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,P,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}function v(K){if(j===setTimeout)return setTimeout(K,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(K,0);try{return j(K,0)}catch(ce){try{return j.call(null,K,0)}catch(D){return j.call(this,K,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(K){j=Q}try{P="function"==typeof clearTimeout?clearTimeout:z}catch(K){P=z}}();var b,O=[],A=!1,y=-1;function S(){!A||!b||(A=!1,b.length?O=b.concat(O):y=-1,O.length&&T())}function T(){if(!A){var K=v(S);A=!0;for(var ce=O.length;ce;){for(b=O,O=[];++y1)for(var D=1;D(j||(j=Promise.resolve())).then(P).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class zq{constructor(j,P=new Map,Q=0){this.prefix=j,this._existing=P,this.counter=Q}clone(){const{prefix:j,_existing:P,counter:Q}=this;return new zq(j,new Map(P),Q)}getId(j){const P=j&&this._existing.get(j);if(P)return P;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(P){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===P)this.algorithm={name:"SHA-256"};else{if("sha1"!==P)throw new Error(`Unsupport algorithm "${P}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(P){this._content+=P}digest(){var P=this;return yt(function*(){const Q=(new TextEncoder).encode(P._content),z=new Uint8Array(yield W.subtle.digest(P.algorithm,Q));let v="";for(let x=0;x]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class l2{static parse(K){const ce=[],D={},I=K.split(A.eoln);let X=0;for(const E of I){if(X++,A.empty.test(E))continue;const $=E.match(A.quad);if(null===$)throw new Error("N-Quads parse error on line "+X+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:z,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:z,value:$[3]},void 0!==$[4]?Z.object={termType:z,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:x,value:void 0,datatype:{termType:z}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=P,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(T,function(K,ce,D,I){if(ce)switch(ce){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(I)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:z,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:O,value:""},Z.graph.value in D){let oe=!0;const se=D[Z.graph.value];for(const te of se)if(b(te,Z)){oe=!1;break}oe&&(se.push(Z),ce.push(Z))}else D[Z.graph.value]=[Z],ce.push(Z)}return ce}static serialize(K){Array.isArray(K)||(K=l2.legacyDatasetToQuads(K));const ce=[];for(const D of K)ce.push(l2.serializeQuad(D));return ce.sort().join("")}static serializeQuad(K){const ce=K.subject,I=K.object,X=K.graph;let E="";return E+=ce.termType===z?`<${ce.value}>`:`${ce.value}`,E+=` <${K.predicate.value}> `,I.termType===z?E+=`<${I.value}>`:I.termType===v?E+=I.value:(E+=`"${R=I.value,R.replace(y,function(K){switch(K){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,I.datatype.value===P?I.language&&(E+=`@${I.language}`):I.datatype.value!==Q&&(E+=`^^<${I.datatype.value}>`)),X.termType===z?E+=` <${X.value}>`:X.termType===v&&(E+=` ${X.value}`),E+=" .\n",E;var R}static legacyDatasetToQuads(K){const ce=[],D={"blank node":v,IRI:z,literal:x};for(const I in K)K[I].forEach(E=>{const $={};for(const Z in E){const oe=E[Z],se={termType:D[oe.type],value:oe.value};se.termType===x&&(se.datatype={termType:z},"datatype"in oe&&(se.datatype.value=oe.datatype),"language"in oe?("datatype"in oe||(se.datatype.value=P),se.language=oe.language):"datatype"in oe||(se.datatype.value=Q)),$[Z]=se}$.graph="@default"===I?{termType:O,value:""}:{termType:I.startsWith("_:")?v:z,value:I},ce.push($)});return ce}};const y=/["\\\n\r]/g;const T=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let P=0;Pz)&&(b&&O>0&&A>j[O-1]||!b&&Oj[O+1])&&(z=A,v=O)}if(null===z)this.done=!0;else{const O=P.get(z)?v-1:v+1;j[v]=j[O],j[O]=z;for(const A of j)A>z&&P.set(A,!P.get(A))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),P=Y("./MessageDigest"),Q=Y("./Permuter"),z=Y("./NQuads");function v(x,O){return x.hashO.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(O){var A=this;return yt(function*(){A.quads=O;for(const K of O)A._addBlankNodeQuadInfo({quad:K,component:K.subject}),A._addBlankNodeQuadInfo({quad:K,component:K.object}),A._addBlankNodeQuadInfo({quad:K,component:K.graph});const b=new Map,y=[...A.blankNodeInfo.keys()];let S=0;for(const K of y)++S%100==0&&(yield A._yield()),yield A._hashAndTrackBlankNode({id:K,hashToBlankNodes:b});const T=[...b.keys()].sort(),V=[];for(const K of T){const ce=b.get(K);ce.length>1?V.push(ce):A.canonicalIssuer.getId(ce[0])}for(const K of V){const ce=[];for(const D of K){if(A.canonicalIssuer.hasId(D))continue;const I=new j("_:b");I.getId(D);const X=yield A.hashNDegreeQuads(D,I);ce.push(X)}ce.sort(v);for(const D of ce){const I=D.issuer.getOldIds();for(const X of I)A.canonicalIssuer.getId(X)}}const R=[];for(const K of A.quads){const ce=ot({},K);ce.subject=A._useCanonicalId({component:ce.subject}),ce.object=A._useCanonicalId({component:ce.object}),ce.graph=A._useCanonicalId({component:ce.graph}),R.push(z.serializeQuad(ce))}return R.sort(),R.join("")})()}hashFirstDegreeQuads(O){var A=this;return yt(function*(){const b=[],y=A.blankNodeInfo.get(O),S=y.quads;for(const V of S){const R={subject:null,predicate:V.predicate,object:null,graph:null};R.subject=A.modifyFirstDegreeComponent(O,V.subject,"subject"),R.object=A.modifyFirstDegreeComponent(O,V.object,"object"),R.graph=A.modifyFirstDegreeComponent(O,V.graph,"graph"),b.push(z.serializeQuad(R))}b.sort();const T=new P(A.hashAlgorithm);for(const V of b)T.update(V);return y.hash=yield T.digest(),y.hash})()}hashRelatedBlankNode(O,A,b,y){var S=this;return yt(function*(){let T;T=S.canonicalIssuer.hasId(O)?S.canonicalIssuer.getId(O):b.hasId(O)?b.getId(O):S.blankNodeInfo.get(O).hash;const V=new P(S.hashAlgorithm);return V.update(y),"g"!==y&&V.update(S.getRelatedPredicate(A)),V.update(T),V.digest()})()}hashNDegreeQuads(O,A){var b=this;return yt(function*(){const y=new P(b.hashAlgorithm),S=yield b.createHashToRelated(O,A),T=[...S.keys()].sort();for(const V of T){y.update(V);let K,R="";const ce=new Q(S.get(V));let D=0;for(;ce.hasNext();){const I=ce.next();++D%3==0&&(yield b._yield());let X=A.clone(),E="";const $=[];let Z=!1;for(const oe of I)if(b.canonicalIssuer.hasId(oe)?E+=b.canonicalIssuer.getId(oe):(X.hasId(oe)||$.push(oe),E+=X.getId(oe)),0!==R.length&&E>R){Z=!0;break}if(!Z){for(const oe of $){const se=yield b.hashNDegreeQuads(oe,X);if(E+=X.getId(oe),E+=`<${se.hash}>`,X=se.issuer,0!==R.length&&E>R){Z=!0;break}}Z||(0===R.length||E`}createHashToRelated(O,A){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(O).quads;let T=0;for(const V of S)++T%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:V,component:V.subject,position:"s",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.object,position:"o",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.graph,position:"g",id:O,issuer:A,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:O,hashToBlankNodes:A}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(O),S=A.get(y);S?S.push(O):A.set(y,[O])})()}_addBlankNodeQuadInfo({quad:O,component:A}){if("BlankNode"!==A.termType)return;const b=A.value,y=this.blankNodeInfo.get(b);y?y.quads.add(O):this.blankNodeInfo.set(b,{quads:new Set([O]),hash:null})}_addRelatedBlankNodeHash({quad:O,component:A,position:b,id:y,issuer:S,hashToRelated:T}){var V=this;return yt(function*(){if("BlankNode"!==A.termType||A.value===y)return;const R=A.value,K=yield V.hashRelatedBlankNode(R,O,S,b),ce=T.get(K);ce?ce.push(R):T.set(K,[R])})()}_useCanonicalId({component:O}){return"BlankNode"!==O.termType||O.value.startsWith(this.canonicalIssuer.prefix)?O:{termType:"BlankNode",value:this.canonicalIssuer.getId(O.value)}}_yield(){return yt(function*(){return new Promise(O=>W(O))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),P=Y("./Permuter"),Q=Y("./NQuads");function z(v,x){return v.hashx.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(x){this.quads=x;for(const T of x)this._addBlankNodeQuadInfo({quad:T,component:T.subject}),this._addBlankNodeQuadInfo({quad:T,component:T.object}),this._addBlankNodeQuadInfo({quad:T,component:T.graph});const O=new Map,A=[...this.blankNodeInfo.keys()];for(const T of A)this._hashAndTrackBlankNode({id:T,hashToBlankNodes:O});const b=[...O.keys()].sort(),y=[];for(const T of b){const V=O.get(T);V.length>1?y.push(V):this.canonicalIssuer.getId(V[0])}for(const T of y){const V=[];for(const R of T){if(this.canonicalIssuer.hasId(R))continue;const K=new W("_:b");K.getId(R);const ce=this.hashNDegreeQuads(R,K);V.push(ce)}V.sort(z);for(const R of V){const K=R.issuer.getOldIds();for(const ce of K)this.canonicalIssuer.getId(ce)}}const S=[];for(const T of this.quads){const V=ot({},T);V.subject=this._useCanonicalId({component:V.subject}),V.object=this._useCanonicalId({component:V.object}),V.graph=this._useCanonicalId({component:V.graph}),S.push(Q.serializeQuad(V))}return S.sort(),S.join("")}hashFirstDegreeQuads(x){const O=[],A=this.blankNodeInfo.get(x),b=A.quads;for(const S of b){const T={subject:null,predicate:S.predicate,object:null,graph:null};T.subject=this.modifyFirstDegreeComponent(x,S.subject,"subject"),T.object=this.modifyFirstDegreeComponent(x,S.object,"object"),T.graph=this.modifyFirstDegreeComponent(x,S.graph,"graph"),O.push(Q.serializeQuad(T))}O.sort();const y=new j(this.hashAlgorithm);for(const S of O)y.update(S);return A.hash=y.digest(),A.hash}hashRelatedBlankNode(x,O,A,b){let y;y=this.canonicalIssuer.hasId(x)?this.canonicalIssuer.getId(x):A.hasId(x)?A.getId(x):this.blankNodeInfo.get(x).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(O)),S.update(y),S.digest()}hashNDegreeQuads(x,O){const A=new j(this.hashAlgorithm),b=this.createHashToRelated(x,O),y=[...b.keys()].sort();for(const S of y){A.update(S);let V,T="";const R=new P(b.get(S));for(;R.hasNext();){const K=R.next();let ce=O.clone(),D="";const I=[];let X=!1;for(const E of K)if(this.canonicalIssuer.hasId(E)?D+=this.canonicalIssuer.getId(E):(ce.hasId(E)||I.push(E),D+=ce.getId(E)),0!==T.length&&D>T){X=!0;break}if(!X){for(const E of I){const $=this.hashNDegreeQuads(E,ce);if(D+=ce.getId(E),D+=`<${$.hash}>`,ce=$.issuer,0!==T.length&&D>T){X=!0;break}}X||(0===T.length||D`}createHashToRelated(x,O){const A=new Map,b=this.blankNodeInfo.get(x).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:x,issuer:O,hashToRelated:A});return A}_hashAndTrackBlankNode({id:x,hashToBlankNodes:O}){const A=this.hashFirstDegreeQuads(x),b=O.get(A);b?b.push(x):O.set(A,[x])}_addBlankNodeQuadInfo({quad:x,component:O}){if("BlankNode"!==O.termType)return;const A=O.value,b=this.blankNodeInfo.get(A);b?b.quads.add(x):this.blankNodeInfo.set(A,{quads:new Set([x]),hash:null})}_addRelatedBlankNodeHash({quad:x,component:O,position:A,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==O.termType||O.value===b)return;const T=O.value,V=this.hashRelatedBlankNode(T,x,y,A),R=S.get(V);R?R.push(T):S.set(V,[T])}_useCanonicalId({component:x}){return"BlankNode"!==x.termType||x.value.startsWith(this.canonicalIssuer.prefix)?x:{termType:"BlankNode",value:this.canonicalIssuer.getId(x.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){var z=this;return yt(function*(){const v=new Map,x=z.blankNodeInfo.get(P).quads;let O=0;for(const A of x){let b,y;if("BlankNode"===A.subject.termType&&A.subject.value!==P)y=A.subject.value,b="p";else{if("BlankNode"!==A.object.termType||A.object.value===P)continue;y=A.object.value,b="r"}++O%100==0&&(yield z._yield());const S=yield z.hashRelatedBlankNode(y,A,Q,b),T=v.get(S);T?T.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){const z=new Map,v=this.blankNodeInfo.get(P).quads;for(const x of v){let O,A;if("BlankNode"===x.subject.termType&&x.subject.value!==P)A=x.subject.value,O="p";else{if("BlankNode"!==x.object.termType||x.object.value===P)continue;A=x.object.value,O="r"}const b=this.hashRelatedBlankNode(A,x,Q,O),y=z.get(b);y?y.push(A):z.set(b,[A])}return z}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),P=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let z;try{z=Y("rdf-canonize-native")}catch(x){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(x){return x&&(z=x),z},v.canonize=function(){var x=yt(function*(O,A){if(Array.isArray(O)||(O=v.NQuads.legacyDatasetToQuads(O)),A.useNative){if(!z)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>z.canonize(O,A,(S,T)=>S?y(S):b(T)))}if("URDNA2015"===A.algorithm)return new W(A).main(O);if("URGNA2012"===A.algorithm)return new j(A).main(O);throw"algorithm"in A?new Error("Invalid RDF Dataset Canonicalization algorithm: "+A.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(O,A){return x.apply(this,arguments)}}(),v._canonizeSync=function(x,O){if(Array.isArray(x)||(x=v.NQuads.legacyDatasetToQuads(x)),O.useNative){if(z)return z.canonizeSync(x,O);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===O.algorithm)return new P(O).main(x);if("URGNA2012"===O.algorithm)return new Q(O).main(x);throw"algorithm"in O?new Error("Invalid RDF Dataset Canonicalization algorithm: "+O.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(P){this.termType="BlankNode",this.value=P}equals(P){return!!P&&"BlankNode"===P.termType&&P.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),P=Y("./Literal"),Q=Y("./NamedNode"),z=Y("./Quad"),v=Y("./Variable");let x=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${x++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new P.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,T){return new z.Quad(b,y,S,T||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(P.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(P){return!!P&&"DefaultGraph"===P.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,z){this.termType="Literal",this.value=Q,"string"==typeof z?(this.language=z,this.datatype=j.RDF_LANGUAGE_STRING):z?(this.language="",this.datatype=z):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(P){this.termType="NamedNode",this.value=P}equals(P){return!!P&&"NamedNode"===P.termType&&P.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(P,Q,z,v){this.termType="Quad",this.value="",this.subject=P,this.predicate=Q,this.object=z,this.graph=v}equals(P){return!!P&&("Quad"===P.termType||!P.termType)&&this.subject.equals(P.subject)&&this.predicate.equals(P.predicate)&&this.object.equals(P.object)&&this.graph.equals(P.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(P){this.termType="Variable",this.value=P}equals(P){return!!P&&"Variable"===P.termType&&P.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(P,Q){const z=P.saxStream._parser;super(P.trackPosition?`Line ${z.line+1} column ${z.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),P=Y("stream"),Q=Y("./ParseError"),z=Y("rdf-data-factory");class v extends P.Transform{constructor(A){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},A&&(Object.assign(this,A),this.options=A),this.dataFactory||(this.dataFactory=new z.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(A,b){const y={};let S=!1;for(const V in A.attributes)V.startsWith("xmlns")&&(5===V.length?(S=!0,y[""]=A.attributes[V]):":"===V.charAt(5)&&(S=!0,y[V.substr(6)]=A.attributes[V]));const T=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?T.concat([y]):T}static expandPrefixedTerm(A,b,y){const S=A.indexOf(":");let T,V;S>=0?(T=A.substr(0,S),V=A.substr(S+1)):(T="",V=A);let R=null,K=null;for(let ce=b.length-1;ce>=0;ce--){const D=b[ce][T];if(D){R=D;break}K||(K=b[ce][""])}if(!R){if(T&&"xmlns"!==T)throw new Q.ParseError(y,`The prefix '${T}' in term '${A}' was not bound.`);R=K||""}return{prefix:T,local:V,uri:R}}static isValidIri(A){return v.IRI_REGEX.test(A)}import(A){const b=new P.PassThrough({readableObjectMode:!0});A.on("error",S=>y.emit("error",S)),A.on("data",S=>b.push(S)),A.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(A,b,y){try{this.saxStream.write(A,b)}catch(S){return y(S)}y()}newParseError(A){return new Q.ParseError(this,A)}valueToUri(A,b){return this.uriToNamedNode(W.resolve(A,b.baseIRI))}uriToNamedNode(A){if(!v.isValidIri(A))throw this.newParseError(`Invalid URI: ${A}`);return this.dataFactory.namedNode(A)}validateNcname(A){if(!v.NCNAME_MATCHER.test(A))throw this.newParseError(`Not a valid NCName: ${A}`)}attachSaxListeners(){this.saxStream.on("error",A=>this.emit("error",A)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(A){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=x.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const T=A.name;let V="";for(const D in A.attributes)V+=` ${D}="${A.attributes[D]}"`;b.childrenStringTags.push(`<${T}${V}>`);const ce={childrenStringTags:b.childrenStringTags};return ce.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ce)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(A,b),y===x.RESOURCE?this.onTagResource(A,S,b,!b):this.onTagProperty(A,S,b)}onTagResource(A,b,y,S){const T=v.expandPrefixedTerm(A.name,b.ns,this);b.childrenParseType=x.PROPERTY;let V=!0;if(T.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(T.local)>=0)throw this.newParseError(`Illegal node element name: ${T.local}`);switch(T.local){case"RDF":b.childrenParseType=x.RESOURCE;case"Description":V=!1}}const R=[],K=[];let ce=null,D=!1,I=!1,X=null;for(const E in A.attributes){const $=A.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);ce=$;continue;case"ID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce="#"+$,D=!0;continue;case"nodeID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce=$,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":X=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(R.push(this.uriToNamedNode(Z.uri+Z.local)),K.push($))}if(null!==ce&&(b.subject=I?this.dataFactory.blankNode(ce):this.valueToUri(ce,b),D&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),V){const E=this.uriToNamedNode(T.uri+T.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let T=!1,V=!1,R=null,K=!0;const ce=[],D=[];for(const I in A.attributes){const X=A.attributes[I],E=v.expandPrefixedTerm(I,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(R)throw this.newParseError(`Found both rdf:resource (${X}) and rdf:nodeID (${R}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${X})`);b.hadChildren=!0,R=X,K=!1;continue;case"datatype":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${X})`);b.datatype=this.valueToUri(X,b);continue;case"nodeID":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${X}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${X})`);this.validateNcname(X),b.hadChildren=!0,R=X,K=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(V)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(R)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${R})`);if("Resource"===X){T=!0,b.childrenParseType=x.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===X?(T=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,K=!1):"Literal"===X&&(T=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(X),b.reifiedStatementId=this.valueToUri("#"+X,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===X?null:X.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(T||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${X}`);b.hadChildren=!0,V=!0,ce.push(this.uriToNamedNode(E.uri+E.local)),D.push(this.dataFactory.literal(X,b.datatype||b.language))}}if(null!==R){const I=b.subject;b.subject=K?this.dataFactory.blankNode(R):this.valueToUri(R,b),this.emitTriple(I,b.predicate,b.subject,b.reifiedStatementId);for(let X=0;X/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var x,O;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(O=x=he.ParseType||(he.ParseType={}))[O.RESOURCE=0]="RESOURCE",O[O.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function P(O,A,b){b||(b=Error);var S=function(T){function V(R,K,ce){return T.call(this,function(T,V,R){return"string"==typeof A?A:A(T,V,R)}(R,K,ce))||this}return function(O,A){O.prototype=Object.create(A.prototype),O.prototype.constructor=O,O.__proto__=A}(V,T),V}(b);S.prototype.name=b.name,S.prototype.code=O,j[O]=S}function Q(O,A){if(Array.isArray(O)){var b=O.length;return O=O.map(function(y){return String(y)}),b>2?"one of ".concat(A," ").concat(O.slice(0,b-1).join(", "),", or ")+O[b-1]:2===b?"one of ".concat(A," ").concat(O[0]," or ").concat(O[1]):"of ".concat(A," ").concat(O[0])}return"of ".concat(A," ").concat(String(O))}P("ERR_INVALID_OPT_VALUE",function(O,A){return'The value "'+A+'" is invalid for option "'+O+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(O,A,b){var y,S;if("string"==typeof A&&function(O,A,b){return O.substr(!b||b<0?0:+b,A.length)===A}(A,"not ")?(y="must not be",A=A.replace(/^not /,"")):y="must be",function(O,A,b){return(void 0===b||b>O.length)&&(b=O.length),O.substring(b-A.length,b)===A}(O," argument"))S="The ".concat(O," ").concat(y," ").concat(Q(A,"type"));else{var T=function(O,A,b){return"number"!=typeof b&&(b=0),!(b+A.length>O.length)&&-1!==O.indexOf(A,b)}(O,".")?"property":"argument";S='The "'.concat(O,'" ').concat(T," ").concat(y," ").concat(Q(A,"type"))}return S+". Received type ".concat(typeof b)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(O){return"The "+O+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(O){return"Cannot call "+O+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(O){return"Unknown encoding: "+O},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var T in y)S.push(T);return S};Se.exports=O;var P=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(O,P);for(var z=j(Q.prototype),v=0;v0)if("string"!=typeof L&&!Qe.objectMode&&Object.getPrototypeOf(L)!==x.prototype&&(L=function(ve){return x.from(ve)}(L)),B)Qe.endEmitted?se(ve,new E):Ie(ve,Qe,L,!0);else if(Qe.ended)se(ve,new I);else{if(Qe.destroyed)return!1;Qe.reading=!1,Qe.decoder&&!N?(L=Qe.decoder.write(L),Qe.objectMode||0!==L.length?Ie(ve,Qe,L,!1):Ke(ve,Qe)):Ie(ve,Qe,L,!1)}else B||(Qe.reading=!1,Ke(ve,Qe));return!Qe.ended&&(Qe.lengthL.highWaterMark&&(L.highWaterMark=function(ve){return ve>=st?ve=st:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=L.length?ve:L.ended?L.length:(L.needReadable=!0,0))}function Ue(ve){var L=ve._readableState;S("emitReadable",L.needReadable,L.emittedReadable),L.needReadable=!1,L.emittedReadable||(S("emitReadable",L.flowing),L.emittedReadable=!0,W.nextTick(ke,ve))}function ke(ve){var L=ve._readableState;S("emitReadable_",L.destroyed,L.length,L.ended),!L.destroyed&&(L.length||L.ended)&&(ve.emit("readable"),L.emittedReadable=!1),L.needReadable=!L.flowing&&!L.ended&&L.length<=L.highWaterMark,pe(ve)}function Ke(ve,L){L.readingMore||(L.readingMore=!0,W.nextTick(Me,ve,L))}function Me(ve,L){for(;!L.reading&&!L.ended&&(L.length0,L.resumeScheduled&&!L.paused?L.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Ne(ve){S("readable nexttick read 0"),ve.read(0)}function G(ve,L){S("resume",L.reading),L.reading||ve.read(0),L.resumeScheduled=!1,ve.emit("resume"),pe(ve),L.flowing&&!L.reading&&ve.read(0)}function pe(ve){var L=ve._readableState;for(S("flow",L.flowing);L.flowing&&null!==ve.read(););}function ue(ve,L){return 0===L.length?null:(L.objectMode?N=L.buffer.shift():!ve||ve>=L.length?(N=L.decoder?L.buffer.join(""):1===L.buffer.length?L.buffer.first():L.buffer.concat(L.length),L.buffer.clear()):N=L.buffer.consume(ve,L.decoder),N);var N}function je(ve){var L=ve._readableState;S("endReadable",L.endEmitted),L.endEmitted||(L.ended=!0,W.nextTick(_t,L,ve))}function _t(ve,L){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,L.readable=!1,L.emit("end"),ve.autoDestroy)){var N=L._writableState;(!N||N.autoDestroy&&N.finished)&&L.destroy()}}function pt(ve,L){for(var N=0,B=ve.length;N=L.highWaterMark:L.length>0)||L.ended))return S("read: emitReadable",L.length,L.ended),0===L.length&&L.ended?je(this):Ue(this),null;if(0===(ve=tt(ve,L))&&L.ended)return 0===L.length&&je(this),null;var Re,B=L.needReadable;return S("need readable",B),(0===L.length||L.length-ve0?ue(ve,L):null)?(L.needReadable=L.length<=L.highWaterMark,ve=0):(L.length-=ve,L.awaitDrain=0),0===L.length&&(L.ended||(L.needReadable=!0),N!==ve&&L.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(ve){se(this,new X("_read()"))},ne.prototype.pipe=function(ve,L){var N=this,B=this._readableState;switch(B.pipesCount){case 0:B.pipes=ve;break;case 1:B.pipes=[B.pipes,ve];break;default:B.pipes.push(ve)}B.pipesCount+=1,S("pipe count=%d opts=%j",B.pipesCount,L);var Qe=L&&!1===L.end||ve===W.stdout||ve===W.stderr?gs:Nt;function St(Bs,Qr){S("onunpipe"),Bs===N&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,S("cleanup"),ve.removeListener("close",Xr),ve.removeListener("finish",Ls),ve.removeListener("drain",On),ve.removeListener("error",wi),ve.removeListener("unpipe",St),N.removeListener("end",Nt),N.removeListener("end",gs),N.removeListener("data",Ti),kn=!0,B.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&On())}function Nt(){S("onend"),ve.end()}B.endEmitted?W.nextTick(Qe):N.once("end",Qe),ve.on("unpipe",St);var On=function(ve){return function(){var N=ve._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&z(ve,"data")&&(N.flowing=!0,pe(ve))}}(N);ve.on("drain",On);var kn=!1;function Ti(Bs){S("ondata");var Qr=ve.write(Bs);S("dest.write",Qr),!1===Qr&&((1===B.pipesCount&&B.pipes===ve||B.pipesCount>1&&-1!==pt(B.pipes,ve))&&!kn&&(S("false write response, pause",B.awaitDrain),B.awaitDrain++),N.pause())}function wi(Bs){S("onerror",Bs),gs(),ve.removeListener("error",wi),0===z(ve,"error")&&se(ve,Bs)}function Xr(){ve.removeListener("finish",Ls),gs()}function Ls(){S("onfinish"),ve.removeListener("close",Xr),gs()}function gs(){S("unpipe"),N.unpipe(ve)}return N.on("data",Ti),function(ve,L,N){if("function"==typeof ve.prependListener)return ve.prependListener(L,N);ve._events&&ve._events[L]?Array.isArray(ve._events[L])?ve._events[L].unshift(N):ve._events[L]=[N,ve._events[L]]:ve.on(L,N)}(ve,"error",wi),ve.once("close",Xr),ve.once("finish",Ls),ve.emit("pipe",N),B.flowing||(S("pipe resume"),N.resume()),ve},ne.prototype.unpipe=function(ve){var L=this._readableState,N={hasUnpiped:!1};if(0===L.pipesCount)return this;if(1===L.pipesCount)return ve&&ve!==L.pipes||(ve||(ve=L.pipes),L.pipes=null,L.pipesCount=0,L.flowing=!1,ve&&ve.emit("unpipe",this,N)),this;if(!ve){var B=L.pipes,Re=L.pipesCount;L.pipes=null,L.pipesCount=0,L.flowing=!1;for(var Qe=0;Qe0,!1!==B.flowing&&this.resume()):"readable"===ve&&!B.endEmitted&&!B.readableListening&&(B.readableListening=B.needReadable=!0,B.flowing=!1,B.emittedReadable=!1,S("on readable",B.length,B.reading),B.length?Ue(this):B.reading||W.nextTick(Ne,this)),N},ne.prototype.removeListener=function(ve,L){var N=v.prototype.removeListener.call(this,ve,L);return"readable"===ve&&W.nextTick($e,this),N},ne.prototype.removeAllListeners=function(ve){var L=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&W.nextTick($e,this),L},ne.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function(ve,L){L.resumeScheduled||(L.resumeScheduled=!0,W.nextTick(G,ve,L))}(this,ve)),ve.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(ve){var L=this,N=this._readableState,B=!1;for(var Re in ve.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var St=N.decoder.end();St&&St.length&&L.push(St)}L.push(null)}),ve.on("data",function(St){S("wrapped data"),N.decoder&&(St=N.decoder.write(St)),N.objectMode&&null==St||!(N.objectMode||St&&St.length)||L.push(St)||(B=!0,ve.pause())}),ve)void 0===this[Re]&&"function"==typeof ve[Re]&&(this[Re]=function(Nt){return function(){return ve[Nt].apply(ve,arguments)}}(Re));for(var Qe=0;Qe-1))throw new Z(ue);return this._writableState.defaultEncoding=ue,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,ue,je){je(new ce("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,ue,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,ue=null):"function"==typeof ue&&(je=ue,ue=null),null!=pe&&this.write(pe,ue),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,ue,je){ue.ending=!0,Ne(pe,ue),je&&(ue.finished?W.nextTick(je):pe.once("finish",je)),ue.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ue){!this._writableState||(this._writableState.destroyed=ue)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,ue){ue(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function P(I,X,E){return X in I?Object.defineProperty(I,X,{value:E,enumerable:!0,configurable:!0,writable:!0}):I[X]=E,I}var Q=Y("./end-of-stream"),z=Symbol("lastResolve"),v=Symbol("lastReject"),x=Symbol("error"),O=Symbol("ended"),A=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(I,X){return{value:I,done:X}}function T(I){var X=I[z];if(null!==X){var E=I[y].read();null!==E&&(I[A]=null,I[z]=null,I[v]=null,X(S(E,!1)))}}function V(I){W.nextTick(T,I)}var K=Object.getPrototypeOf(function(){}),ce=Object.setPrototypeOf((P(j={get stream(){return this[y]},next:function(){var X=this,E=this[x];if(null!==E)return Promise.reject(E);if(this[O])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(se,te){W.nextTick(function(){X[x]?te(X[x]):se(S(void 0,!0))})});var Z,$=this[A];if($)Z=new Promise(function(I,X){return function(E,$){I.then(function(){X[O]?E(S(void 0,!0)):X[b](E,$)},$)}}($,this));else{var oe=this[y].read();if(null!==oe)return Promise.resolve(S(oe,!1));Z=new Promise(this[b])}return this[A]=Z,Z}},Symbol.asyncIterator,function(){return this}),P(j,"return",function(){var X=this;return new Promise(function(E,$){X[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),K);Se.exports=function(X){var E,$=Object.create(ce,(P(E={},y,{value:X,writable:!0}),P(E,z,{value:null,writable:!0}),P(E,v,{value:null,writable:!0}),P(E,x,{value:null,writable:!0}),P(E,O,{value:X._readableState.endEmitted,writable:!0}),P(E,b,{value:function(oe,se){var te=$[y].read();te?($[A]=null,$[z]=null,$[v]=null,oe(S(te,!1))):($[z]=oe,$[v]=se)},writable:!0}),E));return $[A]=null,Q(X,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var oe=$[v];return null!==oe&&($[A]=null,$[z]=null,$[v]=null,oe(Z)),void($[x]=Z)}var se=$[z];null!==se&&($[A]=null,$[z]=null,$[v]=null,se(S(void 0,!0))),$[O]=!0}),X.on("readable",V.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(T,V){var R=Object.keys(T);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(T);V&&(K=K.filter(function(ce){return Object.getOwnPropertyDescriptor(T,ce).enumerable})),R.push.apply(R,K)}return R}function P(T,V,R){return V in T?Object.defineProperty(T,V,{value:R,enumerable:!0,configurable:!0,writable:!0}):T[V]=R,T}function z(T,V){for(var R=0;R0?this.tail.next=K:this.head=K,this.tail=K,++this.length}},{key:"unshift",value:function(R){var K={data:R,next:this.head};0===this.length&&(this.tail=K),this.head=K,++this.length}},{key:"shift",value:function(){if(0!==this.length){var R=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(0===this.length)return"";for(var K=this.head,ce=""+K.data;K=K.next;)ce+=R+K.data;return ce}},{key:"concat",value:function(R){if(0===this.length)return O.alloc(0);for(var K=O.allocUnsafe(R>>>0),ce=this.head,D=0;ce;)S(ce.data,K,D),D+=ce.data.length,ce=ce.next;return K}},{key:"consume",value:function(R,K){var ce;return RI.length?I.length:R;if(D+=X===I.length?I:I.slice(0,R),0==(R-=X)){X===I.length?(++ce,this.head=K.next?K.next:this.tail=null):(this.head=K,K.data=I.slice(X));break}++ce}return this.length-=ce,D}},{key:"_getBuffer",value:function(R){var K=O.allocUnsafe(R),ce=this.head,D=1;for(ce.data.copy(K),R-=ce.data.length;ce=ce.next;){var I=ce.data,X=R>I.length?I.length:R;if(I.copy(K,K.length-R,0,X),0==(R-=X)){X===I.length?(++D,this.head=ce.next?ce.next:this.tail=null):(this.head=ce,ce.data=I.slice(X));break}++D}return this.length-=D,K}},{key:y,value:function(R,K){return b(this,function(T){for(var V=1;V0,function(Z){ce||(ce=Z),Z&&D.forEach(A),!E&&(D.forEach(A),K(ce))})});return V.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,z,v,x){var O=function(Q,z,v){return null!=Q.highWaterMark?Q.highWaterMark:z?Q[v]:null}(z,x,v);if(null!=O){if(!isFinite(O)||Math.floor(O)!==O||O<0)throw new W(x?v:"highWaterMark",O);return Math.floor(O)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var P in j)he.hasOwnProperty(P)||(he[P]=j[P])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(z){const v=[];let x=0;for(;xO.join("")).join("/")}function P(z,v){let x=v+1;v>=0?"/"===z[v+1]&&"/"===z[v+2]&&(x=v+3):"/"===z[0]&&"/"===z[1]&&(x=2);const O=z.indexOf("/",x);return O<0?z:z.substr(0,O)+j(z.substr(O))}function Q(z){return!z||"#"===z||"?"===z||"/"===z}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(z,v){const x=(v=v||"").indexOf("#");if(x>0&&(v=v.substr(0,x)),!z.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);return v}if(z.startsWith("?")){const V=v.indexOf("?");return V>0&&(v=v.substr(0,V)),v+z}if(z.startsWith("#"))return v+z;if(!v.length){const V=z.indexOf(":");if(V<0)throw new Error(`Found invalid relative IRI '${z}' for a missing baseIRI`);return P(z,V)}const O=z.indexOf(":");if(O>=0)return P(z,O);const A=v.indexOf(":");if(A<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);const b=v.substr(0,A+1);if(0===z.indexOf("//"))return b+P(z,O);let y;if(v.indexOf("//",A)===A+1){if(y=v.indexOf("/",A+3),y<0)return v.length>A+3?v+"/"+P(z,O):b+P(z,O)}else if(y=v.indexOf("/",A+1),y<0)return b+P(z,O);if(0===z.indexOf("/"))return v.substr(0,y)+j(z);let S=v.substr(y);const T=S.lastIndexOf("/");return T>=0&&T"===ue?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(ue)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=ue);continue;case te.SGML_DECL_QUOTED:ue===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=ue;continue;case te.DOCTYPE:">"===ue?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=ue,"["===ue?G.state=te.DOCTYPE_DTD:$(ue)&&(G.state=te.DOCTYPE_QUOTED,G.q=ue));continue;case te.DOCTYPE_QUOTED:G.doctype+=ue,ue===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=ue,"]"===ue?G.state=te.DOCTYPE:$(ue)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=ue);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=ue,ue===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===ue?G.state=te.COMMENT_ENDING:G.comment+=ue;continue;case te.COMMENT_ENDING:"-"===ue?(G.state=te.COMMENT_ENDED,G.comment=Ie(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+ue,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ue?(Xe(G,"Malformed comment"),G.comment+="--"+ue,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===ue?G.state=te.CDATA_ENDING:G.cdata+=ue;continue;case te.CDATA_ENDING:"]"===ue?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+ue,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ue?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===ue?G.cdata+="]":(G.cdata+="]]"+ue,G.state=te.CDATA);continue;case te.PROC_INST:"?"===ue?G.state=te.PROC_INST_ENDING:E(ue)?G.state=te.PROC_INST_BODY:G.procInstName+=ue;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(ue))continue;"?"===ue?G.state=te.PROC_INST_ENDING:G.procInstBody+=ue;continue;case te.PROC_INST_ENDING:">"===ue?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+ue,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:oe(D,ue)?G.tagName+=ue:(tt(G),">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:(E(ue)||Xe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ue?(ke(G,!0),Ke(G)):(Xe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(ue))continue;">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ue?G.state=te.ATTRIB_VALUE:">"===ue?(Xe(G,"Attribute without value"),G.attribValue=G.attribName,Ue(G),ke(G)):E(ue)?G.state=te.ATTRIB_NAME_SAW_WHITE:oe(D,ue)?G.attribName+=ue:Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ue)G.state=te.ATTRIB_VALUE;else{if(E(ue))continue;Xe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===ue?ke(G):oe(ce,ue)?(G.attribName=ue,G.state=te.ATTRIB_NAME):(Xe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(ue))continue;$(ue)?(G.q=ue,G.state=te.ATTRIB_VALUE_QUOTED):(Xe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=ue);continue;case te.ATTRIB_VALUE_QUOTED:if(ue!==G.q){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=ue;continue}Ue(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(ue)?G.state=te.ATTRIB:">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(Xe(G,"No whitespace between attributes"),G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(ue)){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=ue;continue}Ue(G),">"===ue?ke(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===ue?Ke(G):oe(D,ue)?G.tagName+=ue:G.script?(G.script+=""===ue?Ke(G):Xe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,ve;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,ve="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,ve="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,ve="attribValue"}";"===ue?(G[ve]+=Me(G),G.entity="",G.state=pt):oe(G.entity.length?X:I,ue)?G.entity+=ue:(Xe(G,"Invalid character in entity name"),G[ve]+="&"+G.entity+ue,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,ue=0,je=P.length;ueG)switch(P[ue]){case"textNode":_e(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:Ge(q,"Max buffer length exceeded: "+P[ue])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){_e(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{O=Y("stream").Stream}catch(q){O=function(){}}var A=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);O.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(ue){pe.emit("error",ue),pe._parser.error=null},this._decoder=null,A.forEach(function(ue){Object.defineProperty(pe,"on"+ue,{get:function(){return pe._parser["on"+ue]},set:function(je){if(!je)return pe.removeAllListeners(ue),pe._parser["on"+ue]=je,je;pe.on(ue,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(O.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==A.indexOf(q)&&(pe._parser["on"+q]=function(){var ue=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ue.splice(0,0,q),pe.emit.apply(pe,ue)}),O.prototype.on.call(pe,q,G)};var V="http://www.w3.org/XML/1998/namespace",R="http://www.w3.org/2000/xmlns/",K={xml:V,xmlns:R},ce=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,I=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,X=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function oe(q,G){return q.test(G)}function se(q,G){return!oe(q,G)}var q,G,pe,te=0;for(var Ce in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Ce]]=Ce;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&_e(q),me(q,G,pe)}function _e(q){q.textNode=Ie(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Ie(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function Ge(q,G){return _e(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Xe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&Ge(q,"Unexpected end"),_e(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Xe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&Ge(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Ye(q,G){var ue=q.indexOf(":")<0?["",q]:q.split(":"),je=ue[0],_t=ue[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function Ue(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Ye(q.attribName,!0),ue=G.local;if("xmlns"===G.prefix)if("xml"===ue&&q.attribValue!==V)Xe(q,"xml: prefix must be bound to "+V+"\nActual: "+q.attribValue);else if("xmlns"===ue&&q.attribValue!==R)Xe(q,"xmlns: prefix must be bound to "+R+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[ue]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function ke(q,G){if(q.opt.xmlns){var pe=q.tag,ue=Ye(q.tagName);pe.prefix=ue.prefix,pe.local=ue.local,pe.uri=pe.ns[ue.prefix]||"",pe.prefix&&!pe.uri&&(Xe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=ue.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(On){ne(q,"onopennamespace",{prefix:On,uri:pe.ns[On]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var ue=pe;G--&&q.tags[G].name!==ue;)Xe(q,"Unexpected close tag");if(G<0)return Xe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var ve={};for(var L in pt.ns)ve[L]=pt.ns[L];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(B){ne(q,"onclosenamespace",{prefix:B,uri:pt.ns[B]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var ue,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(ue=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(ue=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(ue)||je.toLowerCase()!==G?(Xe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(ue))}function Ve(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Xe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function $e(q,G){var pe="";return G1114111||G(B)!==B)throw RangeError("Invalid code point: "+B);B<=65535?je.push(B):je.push(55296+((B-=65536)>>10),B%1024+56320),(ve+1===L||je.length>ue)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(P,Q){"use strict";if(!P.setImmediate){var A,z=1,v={},x=!1,O=P.document,X=Object.getPrototypeOf&&Object.getPrototypeOf(P);X=X&&X.setTimeout?X:P,"[object process]"==={}.toString.call(P.process)?A=function(E){W.nextTick(function(){T(E)})}:function(){if(P.postMessage&&!P.importScripts){var E=!0,$=P.onmessage;return P.onmessage=function(){E=!1},P.postMessage("","*"),P.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===P&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&T(+Z.data.slice(E.length))},P.addEventListener?P.addEventListener("message",$,!1):P.attachEvent("onmessage",$),A=function(Z){P.postMessage(E+Z,"*")}):P.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){T($.data)},A=function($){E.port2.postMessage($)}}():O&&"onreadystatechange"in O.createElement("script")?function(){var E=O.documentElement;A=function($){var Z=O.createElement("script");Z.onreadystatechange=function(){T($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():A=function(E){setTimeout(T,0,E)},X.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[z]={callback:E,args:$},A(z),z++},X.clearImmediate=y}var E,$;function y(E){delete v[E]}function T(E){if(x)setTimeout(T,0,E);else{var $=v[E];if($){x=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),x=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=P;var W=Y("events").EventEmitter;function P(){W.call(this)}Y("inherits")(P,W),P.Readable=Y("readable-stream/lib/_stream_readable.js"),P.Writable=Y("readable-stream/lib/_stream_writable.js"),P.Duplex=Y("readable-stream/lib/_stream_duplex.js"),P.Transform=Y("readable-stream/lib/_stream_transform.js"),P.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),P.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),P.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),P.Stream=P,P.prototype.pipe=function(Q,z){var v=this;function x(V){Q.writable&&!1===Q.write(V)&&v.pause&&v.pause()}function O(){v.readable&&v.resume&&v.resume()}v.on("data",x),Q.on("drain",O),!Q._isStdio&&(!z||!1!==z.end)&&(v.on("end",b),v.on("close",y));var A=!1;function b(){A||(A=!0,Q.end())}function y(){A||(A=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(V){if(T(),0===W.listenerCount(this,"error"))throw V}function T(){v.removeListener("data",x),Q.removeListener("drain",O),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",T),v.removeListener("close",T),Q.removeListener("close",T)}return v.on("error",S),Q.on("error",S),v.on("end",T),v.on("close",T),Q.on("close",T),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var P=Y("process/browser.js").nextTick,Q=Function.prototype.apply,z=Array.prototype.slice,v={},x=0;function O(A,b){this._id=A,this._clearFn=b}he.setTimeout=function(){return new O(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new O(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(A){A.close()},O.prototype.unref=O.prototype.ref=function(){},O.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(A,b){clearTimeout(A._idleTimeoutId),A._idleTimeout=b},he.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},he._unrefActive=he.active=function(A){clearTimeout(A._idleTimeoutId);var b=A._idleTimeout;b>=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(A){var b=x++,y=!(arguments.length<2)&&z.call(arguments,1);return v[b]=!0,P(function(){v[b]&&(y?A.apply(null,y):A.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(A){delete v[A]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function P(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var z=W.localStorage[Q];return null!=z&&"true"===String(z).toLowerCase()}Se.exports=function(Q,z){if(P("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(P("throwDeprecation"))throw new Error(z);P("traceDeprecation")?console.trace(z):console.warn(z),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var x=this;if(x instanceof W||(x=new W),x.tail=null,x.head=null,x.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){x.push(b)});else if(arguments.length>0)for(var O=0,A=arguments.length;O1)O=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");A=this.head.next,O=this.head.value}for(var b=0;null!==A;b++)O=v(O,A.value,b),A=A.next;return O},W.prototype.reduceReverse=function(v,x){var O,A=this.tail;if(arguments.length>1)O=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");A=this.tail.prev,O=this.tail.value}for(var b=this.length-1;null!==A;b--)O=v(O,A.value,b),A=A.prev;return O},W.prototype.toArray=function(){for(var v=new Array(this.length),x=0,O=this.head;null!==O;x++)v[x]=O.value,O=O.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),x=0,O=this.tail;null!==O;x++)v[x]=O.value,O=O.prev;return v},W.prototype.slice=function(v,x){(x=x||this.length)<0&&(x+=this.length),(v=v||0)<0&&(v+=this.length);var O=new W;if(xthis.length&&(x=this.length);for(var A=0,b=this.head;null!==b&&Athis.length&&(x=this.length);for(var A=this.length,b=this.tail;null!==b&&A>x;A--)b=b.prev;for(;null!==b&&A>v;A--,b=b.prev)O.push(b.value);return O},W.prototype.splice=function(v,x,...O){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var A=0,b=this.head;null!==b&&A{"use strict";Ut.exports=Je,Ut.exports.default=Je;var it=1e20;function Je(Y,Se,he,W,j,P){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=P||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,z=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(z*z),this.gridInner=new Float64Array(z*z),this.f=new Float64Array(z),this.z=new Float64Array(z+1),this.v=new Uint16Array(z),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Tt(Y,Se,he,W,j,P){for(var Q=0;Q-1);P[++v]=z,Q[v]=x,Q[v+1]=it}for(z=0,v=0;z{Ut.exports=function(Je,yt){var ee=yt.length;if(0!==ee){var Tt=Je.length;Je.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Tt=yt||(yt={})).typeOfFunction="function",Tt.boolTrue=!0,yt;var Tt})();function ee(Tt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},266:(Ut,it,Je)=>{Ut.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(Ut,it,Je){"use strict";var yt,ee,Tt;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Tt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function P(D){D||(D=document.documentElement);var I=window.getComputedStyle(D,null).fontSize;return parseFloat(I)||16}function z(D,I){var X=I.split(/\d/),E=X[X.length-1];switch(I=parseFloat(I),E){case"px":return I;case"em":return I*P(D);case"rem":return I*P();case"vw":return I*document.documentElement.clientWidth/100;case"vh":return I*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return I*(0,Math["vmin"===E?"min":"max"])($,Z);default:return I}}function v(D,I){this.element=D;var X,E,$,Z,oe,se,te,Ce,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(X in $=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var I=D.getBoundingClientRect();return{width:Math.round(I.width),height:Math.round(I.height)}}(this.element),se={},W[I])!W[I].hasOwnProperty(X)||(Z=z(this.element,(E=W[I][X]).value),oe="width"===E.property?$.width:$.height,te="","min"===E.mode&&oe>=Z&&(te+=E.value),"max"===E.mode&&oe<=Z&&(te+=E.value),se[Ce=E.mode+"-"+E.property]||(se[Ce]=""),te&&-1===(" "+se[Ce]+" ").indexOf(" "+te+" ")&&(se[Ce]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(se[me[ne]]?this.element.setAttribute(me[ne],se[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function x(D,I){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new v(D,I)),D.elementQueriesSensor||(D.elementQueriesSensor=new dt(D,function(){D.elementQueriesSetupInformation.call()}))}function O(D,I,X,E){if(void 0===W[D]){W[D]=[];var $=j.length;he.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+$+"px;}",j.push(D)}W[D].push({mode:I,property:X,value:E})}function A(D){var I;if(document.querySelectorAll&&(I=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!I&&"undefined"!=typeof $$&&(I=$$),!I&&"undefined"!=typeof jQuery&&(I=jQuery),!I)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return I}function y(D){var I=[],X=[],E=[],$=0,Z=-1,oe=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){I.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Ce=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");E.push(Ce),X.push({minWidth:te}),te?D.children[se].style.display="none":($=I.length-1,D.children[se].style.display="block")}function ne(){var Ie,_e=!1;for(Ie in I)!I.hasOwnProperty(Ie)||X[Ie].minWidth&&D.offsetWidth>X[Ie].minWidth&&(_e=Ie);if(_e||(_e=$),Z!==_e)if(oe[_e])I[Z].style.display="none",I[_e].style.display="block",Z=_e;else{var Ge=new Image;Ge.onload=function(){I[_e].src=E[_e],I[Z].style.display="none",I[_e].style.display="block",oe[_e]=!0,Z=_e},Ge.src=E[_e]}else I[_e].src=E[_e]}Z=$,D.resizeSensorInstance=new dt(D,ne),ne()}var T=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,V=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function R(D){var I,X,E,$;for(D=D.replace(/'/g,'"');null!==(I=T.exec(D));)for(X=I[1]+I[3],E=I[2];null!==($=V.exec(E));)O(X,$[1],$[2],$[3])}function K(D){var I="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&R(D);else for(var X=0,E=D.length;X img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ce=!0);for(var I=0,X=document.styleSheets.length;I{var yt=Je(910),ee=Je(369),Tt=Je(322);function dt(Q,z,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(z))throw new Error('graphology-shortest-path: the "'+z+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((z=""+z)==(v=""+v))return[z];var x=Q.inboundNeighbors.bind(Q),O=Q.outboundNeighbors.bind(Q),A={},b={};A[z]=null,b[v]=null;var T,V,R,K,ce,D,I,X,y=[z],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(T=y,y=[],ce=0,I=T.length;ce{Ut.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(ie){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(ie)}function Je(ie,fe){ie.prototype=Object.create(fe.prototype),ie.prototype.constructor=ie,ee(ie,fe)}function yt(ie){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(ie)}function ee(ie,fe){return(ee=Object.setPrototypeOf||function(re,M){return re.__proto__=M,re})(ie,fe)}function Tt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ie){return!1}}function dt(ie,fe,re){return(dt=Tt()?Reflect.construct:function(M,k,J){var we=[null];we.push.apply(we,k);var Fe=new(Function.bind.apply(M,we));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(ie){var fe="function"==typeof Map?new Map:void 0;return(Y=function(re){if(null===re||-1===Function.toString.call(re).indexOf("[native code]"))return re;if("function"!=typeof re)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(re))return fe.get(re);fe.set(re,k)}function k(){return dt(re,arguments,yt(this).constructor)}return k.prototype=Object.create(re.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),ee(k,re)})(ie)}function Se(ie){if(void 0===ie)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ie}var he=function(){for(var ie=arguments[0],fe=1,re=arguments.length;fe0&&we.length>k&&!we.warned){we.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+we.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=ie,nt.type=fe,nt.count=we.length,console&&console.warn&&console.warn(nt)}return ie}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(ie,fe,re){var M={fired:!1,wrapFn:void 0,target:ie,type:fe,listener:re},k=D.bind(M);return k.listener=re,M.wrapFn=k,k}function X(ie,fe,re){var M=ie._events;if(void 0===M)return[];var k=M[fe];return void 0===k?[]:"function"==typeof k?re?[k.listener||k]:[k]:re?function(J){for(var we=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var we=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw we.context=J,we}var Fe=k[ie];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Ot=$(Fe,nt);for(re=0;re=0;J--)if(re[J]===fe||re[J].listener===fe){we=re[J].listener,k=J;break}if(k<0)return this;0===k?re.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(ie,fe[M]);return this},T.prototype.listeners=function(ie){return X(this,ie,!0)},T.prototype.rawListeners=function(ie){return X(this,ie,!1)},T.listenerCount=function(ie,fe){return"function"==typeof ie.listenerCount?ie.listenerCount(fe):E.call(ie,fe)},T.prototype.listenerCount=E,T.prototype.eventNames=function(){return this._eventsCount>0?O(this._events):[]},oe.prototype.next=function(){if(this.done)return{done:!0};var ie=this._next();return ie.done&&(this.done=!0),ie},"undefined"!=typeof Symbol&&(oe.prototype[Symbol.iterator]=function(){return this}),oe.of=function(){var ie=arguments,fe=ie.length,re=0;return new oe(function(){return re>=fe?{done:!0}:{done:!1,value:ie[re++]}})},oe.empty=function(){var ie=new oe(null);return ie.done=!0,ie},oe.is=function(ie){return ie instanceof oe||"object"==typeof ie&&null!==ie&&"function"==typeof ie.next};var se=oe,te=function(ie,fe){for(var re,M=arguments.length>1?fe:1/0,k=M!==1/0?new Array(M):[],J=0;;){if(J===M)return k;if((re=ie.next()).done)return J!==fe?k.slice(0,J):k;k[J++]=re.value}},Ce=function(ie){function fe(re,M){var k;return(k=ie.call(this)||this).name="GraphError",k.message=re||"",k.data=M||{},k}return Je(fe,ie),fe}(Y(Error)),me=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),ne=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),_e=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce);function Ie(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ge(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(ie,fe){this.key=ie,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Xe(ie,fe,re,M,k,J){this.key=fe,this.attributes=J,this.undirected=ie,this.source=M,this.target=k,this.generatedKey=re}function tt(ie,fe,re,M,k,J,we){var Fe,nt,Ot="out",We="in";if(fe&&(Ot=We="undirected"),ie.multi){if(void 0===(nt=(Fe=J[Ot])[k])&&(nt=new Set,Fe[k]=nt),nt.add(re),M===k&&fe)return;void 0===(Fe=we[We])[M]&&(Fe[M]=nt)}else{if(J[Ot][k]=re,M===k&&fe)return;we[We][M]=re}}function Ye(ie,fe,re){var M=ie.multi,k=re.source,J=re.target,we=k.key,Fe=J.key,nt=k[fe?"undirected":"out"],Ot=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Ot][we]):We.delete(re)}else delete nt[Fe];M||delete J[Ot][we]}Ge.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Ue=[{name:function(ie){return"get".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes[k]}}},{name:function(ie){return"get".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M){var k;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,we=""+arguments[1];if(!(k=W(this,J,we,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(we,'").'))}else if(!(k=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&k.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return k.attributes}}},{name:function(ie){return"has".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes.hasOwnProperty(k)}}},{name:function(ie){return"set".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J,this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"update".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J(we.attributes[k]),this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"remove".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return delete J.attributes[k],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:k}),this}}},{name:function(ie){return"replace".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes=k,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(ie){return"merge".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return he(J.attributes,k),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:k}),this}}}],ke=se,Ke=function(){var ie,fe=arguments,re=-1;return new ke(function M(){if(!ie){if(++re>=fe.length)return{done:!0};ie=fe[re]}var k=ie.next();return k.done?(ie=null,M()):k})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ve(ie,fe){for(var re in fe)ie.push(fe[re].key)}function $e(ie,fe){for(var re in fe)fe[re].forEach(function(M){return ie.push(M.key)})}function Ne(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)}}function q(ie,fe,re){for(var M in ie)M!==re&&ie[M].forEach(function(k){return fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function G(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];if(fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey))return!0}return!1}function pe(ie,fe,re){var M,k,J,we,Fe;for(var nt in ie)if(nt!==re)for(M=ie[nt].values();!0!==(k=M.next()).done;)if(we=(J=k.value).source,fe(J.key,J.attributes,we.key,(Fe=J.target).key,we.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function ue(ie,fe){var re=Object.keys(ie),M=re.length,k=null,J=0;return new se(function we(){var Fe;if(k){var nt=k.next();if(nt.done)return k=null,J++,we();Fe=nt.value}else{if(J>=M)return{done:!0};var Ot=re[J];if(Ot===fe)return J++,we();if((Fe=ie[Ot])instanceof Set)return k=Fe.values(),we();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(ie,fe,re){var M=fe[re];M&&ie.push(M.key)}function _t(ie,fe,re){var M=fe[re];M&&M.forEach(function(k){return ie.push(k.key)})}function pt(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function ve(ie,fe,re){var M=ie[fe];M&&M.forEach(function(k){return re(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function L(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;return re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(ie,fe,re){var M=ie[fe];if(M){for(var k,J,we=M.values();!0!==(k=we.next()).done;)if(re((J=k.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function B(ie,fe){var re=ie[fe];if(re instanceof Set){var M=re.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return se.of([re.key,re.attributes,re.source.key,re.target.key,re.source.attributes,re.target.attributes])}function Re(ie,fe){if(0===ie.size)return[];if("mixed"===fe||fe===ie.type)return"function"==typeof Array.from?Array.from(ie._edges.keys()):te(ie._edges.keys(),ie._edges.size);for(var re,M,J=new Array("undirected"===fe?ie.undirectedSize:ie.directedSize),we="undirected"===fe,Fe=ie._edges.values(),nt=0;!0!==(re=Fe.next()).done;)(M=re.value).undirected===we&&(J[nt++]=M.key);return J}function Qe(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey)}}function St(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;if(re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey))break}}function Nt(ie,fe){if(0===ie.size)return se.empty();var re="mixed"!==fe&&fe!==ie.type,M="undirected"===fe,k=ie._edges.values();return new se(function(){for(var J,we;;){if((J=k.next()).done)return J;if(we=J.value,!re||we.undirected===M)break}return{value:[we.key,we.attributes,we.source.key,we.target.key,we.source.attributes,we.target.attributes],done:!1}})}function On(ie,fe,re,M){var k=[],J=ie?$e:Ve;return"undirected"!==fe&&("out"!==re&&J(k,M.in),"in"!==re&&J(k,M.out),!re&&M.directedSelfLoops>0&&k.splice(k.lastIndexOf(M.key),1)),"directed"!==fe&&J(k,M.undirected),k}function kn(ie,fe,re,M,k){var J=ie?q:Ne;"undirected"!==fe&&("out"!==re&&J(M.in,k),"in"!==re&&J(M.out,k,re?null:M.key)),"directed"!==fe&&J(M.undirected,k)}function Yn(ie,fe,re,M,k){var J=ie?pe:G;"undirected"!==fe&&("out"!==re&&J(M.in,k)||"in"!==re&&J(M.out,k,re?null:M.key))||"directed"===fe||J(M.undirected,k)}function Ti(ie,fe,re){var M=se.empty();return"undirected"!==ie&&("out"!==fe&&void 0!==re.in&&(M=Ke(M,ue(re.in))),"in"!==fe&&void 0!==re.out&&(M=Ke(M,ue(re.out,fe?null:re.key)))),"directed"!==ie&&void 0!==re.undirected&&(M=Ke(M,ue(re.undirected))),M}function wi(ie,fe,re,M,k){var J=fe?_t:je,we=[];return"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&J(we,M.in,k),void 0!==M.out&&"in"!==re&&J(we,M.out,k),!re&&M.directedSelfLoops>0&&we.splice(we.lastIndexOf(M.key),1)),"directed"!==ie&&void 0!==M.undirected&&J(we,M.undirected,k),we}function Xr(ie,fe,re,M,k,J){var we=fe?ve:pt;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J),M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J)),"directed"!==ie&&void 0!==M.undirected&&we(M.undirected,k,J)}function Ls(ie,fe,re,M,k,J){var we=fe?N:L;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J)||M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J,re?null:M.key))||"directed"===ie||void 0===M.undirected||we(M.undirected,k,J)}function gs(ie,fe,re,M){var k=se.empty();return"undirected"!==ie&&(void 0!==re.in&&"out"!==fe&&M in re.in&&(k=Ke(k,B(re.in,M))),void 0!==re.out&&"in"!==fe&&M in re.out&&(k=Ke(k,B(re.out,M)))),"directed"!==ie&&void 0!==re.undirected&&M in re.undirected&&(k=Ke(k,B(re.undirected,M))),k}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(ie,fe){if(void 0!==fe)for(var re in fe)ie.add(re)}function el(ie,fe,re){if("mixed"!==ie){if("undirected"===ie)return Object.keys(re.undirected);if("string"==typeof fe)return Object.keys(re[fe])}var M=new Set;return"undirected"!==ie&&("out"!==fe&&Qr(M,re.in),"in"!==fe&&Qr(M,re.out)),"directed"!==ie&&Qr(M,re.undirected),te(M.values(),M.size)}function kl(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;re(Fe.key,Fe.attributes)}}function Sa(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;ie.has(nt.key)||(ie.add(nt.key),M(nt.key,nt.attributes))}}function Es(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;if(re(Fe.key,Fe.attributes))return!0}return!1}function Jt(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;if(!ie.has(nt.key)&&(ie.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function tl(ie,fe){var re=Object.keys(fe),M=re.length,k=0;return new se(function(){if(k>=M)return{done:!0};var J=fe[re[k++]];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===ie?J.target:we;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(ie,fe,re){var M=Object.keys(re),k=M.length,J=0;return new se(function we(){if(J>=k)return{done:!0};var Fe=re[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return ie.has(We.key)?we():(ie.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(ie,fe,re,M,k){var J=ie._nodes.get(M);if("undirected"!==fe){if("out"!==re&&void 0!==J.in)for(var we in J.in)if(we===k)return!0;if("in"!==re&&void 0!==J.out)for(var Fe in J.out)if(Fe===k)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===k)return!0;return!1}function Le(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We=fe._nodes.values(),Wt=fe.type;!0!==(M=We.next()).done;){if(k=M.value,"undirected"!==Wt)for(J in we=k.out)if(nt=(Fe=we[J]).target,Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return;if("directed"!==Wt)for(J in we=k.undirected)if((nt=(Fe=we[J]).target).key!==J&&(nt=Fe.source),Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return}}function ut(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We,Wt,xt=fe._nodes.values(),yn=fe.type;!0!==(M=xt.next()).done;){if(k=M.value,"undirected"!==yn)for(J in nt=k.out)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if(We=(Ot=Fe.value).target,Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return;if("directed"!==yn)for(J in nt=k.undirected)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if((We=(Ot=Fe.value).target).key!==J&&(We=Ot.source),Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return}}function Ze(ie,fe){var re={key:ie};return Q(fe.attributes)||(re.attributes=he({},fe.attributes)),re}function At(ie,fe){var re={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(re.key=ie),Q(fe.attributes)||(re.attributes=he({},fe.attributes)),fe.undirected&&(re.undirected=!0),re}function Mt(ie){return P(ie)?"key"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(ie){return P(ie)?"source"in ie?"target"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?"undirected"in ie&&"boolean"!=typeof ie.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(ie,fe,re){var M=new ie.NodeDataClass(fe,re);return ie._nodes.set(fe,M),ie.emit("nodeAdded",{key:fe,attributes:re}),M}function _n(ie,fe,re,M,k,J,we,Fe){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,we=""+we,Fe=Fe||{},!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=ie._nodes.get(J),Ot=ie._nodes.get(we);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Ot)throw new ne("Graph.".concat(fe,': target node "').concat(we,'" not found.'));var We={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(We)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));if(!ie.multi&&(M?void 0!==nt.undirected[we]:void 0!==nt.out[we]))throw new _e("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(we,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new Xe(M,k,re,nt,Ot,Fe);return ie._edges.set(k,Wt),J===we?M?(nt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(nt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(nt.undirectedDegree++,Ot.undirectedDegree++):(nt.outDegree++,Ot.inDegree++),tt(ie,M,Wt,J,we,nt,Ot),M?ie._undirectedSize++:ie._directedSize++,We.key=k,ie.emit("edgeAdded",We),k}function $n(ie,fe,re,M,k,J,we,Fe,nt){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Ot;if(J=""+J,we=""+we,nt&&(Ot=Fe,Fe=void 0),!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,Wt,xt=ie._nodes.get(J),yn=ie._nodes.get(we);if(!re&&(We=ie._edges.get(k))){if(We.source.key!==J||We.target.key!==we||M&&(We.source.key!==we||We.target.key!==J))throw new _e("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(k,'" edge with "').concat(J,'" source & "').concat(we,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));Wt=We}if(Wt||ie.multi||!xt||(Wt=M?xt.undirected[we]:xt.out[we]),Wt)return(nt?Ot:Fe)?(nt?(Wt.attributes=Ot(Wt.attributes),ie.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(he(Wt.attributes,Fe),ie.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:Fe})),Wt.key):Wt.key;Fe=Fe||{},nt&&Ot&&(Fe=Ot(Fe));var Jr={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(Jr)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));return xt||(xt=Nn(ie,J,{}),J===we&&(yn=xt)),yn||(yn=Nn(ie,we,{})),We=new Xe(M,k,re,xt,yn,Fe),ie._edges.set(k,We),J===we?M?(xt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(xt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(xt.undirectedDegree++,yn.undirectedDegree++):(xt.outDegree++,yn.inDegree++),tt(ie,M,We,J,we,xt,yn),M?ie._undirectedSize++:ie._directedSize++,Jr.key=k,ie.emit("edgeAdded",Jr),k}var ie,Cn=function(ie){function fe(M){var k;if(k=ie.call(this)||this,(M=he({},ai,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Xt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,we="mixed"===M.type?Ie:"directed"===M.type?Ge:st;return z(Se(k),"NodeDataClass",we),z(Se(k),"_attributes",{}),z(Se(k),"_nodes",new Map),z(Se(k),"_edges",new Map),z(Se(k),"_directedSize",0),z(Se(k),"_undirectedSize",0),z(Se(k),"_directedSelfLoopCount",0),z(Se(k),"_undirectedSelfLoopCount",0),z(Se(k),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),z(Se(k),"_options",M),zn.forEach(function(Fe){return z(Se(k),Fe,k[Fe])}),v(Se(k),"order",function(){return k._nodes.size}),v(Se(k),"size",function(){return k._edges.size}),v(Se(k),"directedSize",function(){return k._directedSize}),v(Se(k),"undirectedSize",function(){return k._undirectedSize}),v(Se(k),"selfLoopCount",function(){return k._directedSelfLoopCount+k._undirectedSelfLoopCount}),v(Se(k),"directedSelfLoopCount",function(){return k._directedSelfLoopCount}),v(Se(k),"undirectedSelfLoopCount",function(){return k._undirectedSelfLoopCount}),v(Se(k),"multi",k._options.multi),v(Se(k),"type",k._options.type),v(Se(k),"allowSelfLoops",k._options.allowSelfLoops),v(Se(k),"implementation",function(){return"graphology"}),k}Je(fe,ie);var re=fe.prototype;return re.hasNode=function(M){return this._nodes.has(""+M)},re.hasDirectedEdge=function(M,k){if("undirected"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&!we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasUndirectedEdge=function(M,k){if("directed"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasEdge=function(M,k){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){k=""+k;var we=this._nodes.get(M=""+M);if(!we)return!1;var Fe=void 0!==we.out&&we.out[k];return Fe||(Fe=void 0!==we.undirected&&we.undirected[k]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.directedEdge=function(M,k){if("undirected"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.directedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||void 0;return we?we.key:void 0}},re.undirectedEdge=function(M,k){if("directed"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.undirectedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.undirected&&J.undirected[k]||void 0;return we?we.key:void 0}},re.edge=function(M,k){if(this.multi)throw new _e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");k=""+k;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.edge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||J.undirected&&J.undirected[k]||void 0;if(we)return we.key},re.inDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(k?J.directedSelfLoops:0)},re.outDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(k?J.directedSelfLoops:0)},re.directedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var we=k?J.directedSelfLoops:0;return J.inDegree+we+(J.outDegree+we)},re.undirectedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(k?J.undirectedSelfLoops:0)},re.degree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.degree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var we=0,Fe=0;return"directed"!==this.type&&(k&&(Fe=J.undirectedSelfLoops),we+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(k&&(Fe=J.directedSelfLoops),we+=J.inDegree+J.outDegree+2*Fe),we},re.source=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return k.source.key},re.target=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return k.target.key},re.extremities=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[k.source.key,k.target.key]},re.opposite=function(M,k){M=""+M;var J=this._edges.get(k=""+k);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(k,'" edge in the graph.'));var we=J.source.key,Fe=J.target.key;if(M!==we&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(k,'" edge (').concat(we,", ").concat(Fe,")."));return M===we?Fe:we},re.hasExtremity=function(M,k){k=""+k;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===k||J.target.key===k},re.isUndirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return k.undirected},re.isDirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!k.undirected},re.isSelfLoop=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return k.source===k.target},re.hasGeneratedKey=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return k.generatedKey},re.addNode=function(M,k){return function(J,we,Fe){if(Fe&&!P(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(we=""+we))throw new _e('Graph.addNode: the "'.concat(we,'" node already exist in the graph.'));var nt=new J.NodeDataClass(we,Fe);return J._nodes.set(we,nt),J.emit("nodeAdded",{key:we,attributes:Fe}),nt}(this,M,k).key},re.mergeNode=function(M,k){if(k&&!P(k))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(k,'"'));k=k||{};var J=this._nodes.get(M=""+M);return J?(k&&(he(J.attributes,k),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:k})),M):(J=new this.NodeDataClass(M,k),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:k}),M)},re.updateNode=function(M,k){if(k&&"function"!=typeof k)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(k,'"'));var J=this._nodes.get(M=""+M);if(J)return k&&(J.attributes=k(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=k?k({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},re.dropNode=function(M){var k=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(we){k.dropEdge(we)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},re.dropEdge=function(M){var k;if(arguments.length>1){var J=""+arguments[0],we=""+arguments[1];if(!(k=W(this,J,we,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(we,'" edge in the graph.'))}else if(!(k=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(k.key);var nt=k.source,Ot=k.target,We=k.attributes,Wt=k.undirected;return nt===Ot?Wt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(nt.undirectedDegree--,Ot.undirectedDegree--):(nt.outDegree--,Ot.inDegree--),Ye(this,Wt,k),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Ot.key,undirected:Wt}),this},re.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},re.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},re.getAttribute=function(M){return this._attributes[M]},re.getAttributes=function(){return this._attributes},re.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},re.setAttribute=function(M,k){return this._attributes[M]=k,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.updateAttribute=function(M,k){if("function"!=typeof k)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=k(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},re.replaceAttributes=function(M){if(!P(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},re.mergeAttributes=function(M){if(!P(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},re.getNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[k]},re.getNodeAttributes=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return k.attributes},re.hasNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(k)},re.setNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return we.attributes[k]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.updateNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=we.attributes,nt=J(Fe[k]);return Fe[k]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.removeNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[k],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:k}),this},re.replaceNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=k,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},re.mergeNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,k),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:k}),this},re.updateEachNodeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachNodeAttributesUpdated",{hints:k||null})},re.updateEachEdgeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachEdgeAttributesUpdated",{hints:k||null})},re.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Le(!1,this,M)},re.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Le(!0,this,M)},re.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Ot=M.type,We="outer",Wt=null,new se(function xt(){var yn;if("outer"===We)return!0===(yn=nt.next()).done?yn:(k=yn.value,We="directed",xt());if("directed"===We)return"undirected"===Ot?(We="undirected",xt()):(we=k.out,J=Object.keys(k.out),Fe=0,We="inner-directed",xt());if("undirected"===We){if("directed"===Ot)return We="outer",xt();we=k.undirected,J=Object.keys(k.undirected),Fe=0,We="inner-undirected"}if(!Wt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",xt();if(!Wt){var Ss=J[Fe++];return Wt=we[Ss].values(),xt()}if((yn=Wt.next()).done)return Wt=null,xt();var Jr=yn.value,Qs=Jr.target;return"inner-undirected"===We&&Qs.key===k.key&&(Qs=Jr.source),{done:!1,value:[k.key,Qs.key,k.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(xt=this)._nodes.values(),po=xt.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(yn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=yn.out,Ss=Object.keys(yn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=yn.undirected,Ss=Object.keys(yn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var wn=Ss[Qs++],go=Jr[wn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===yn.key&&(Bl=go.source),{done:!1,value:[yn.key,Bl.key,yn.attributes,Bl.attributes,go.key,go.attributes]}}));var xt,yn,Ss,Jr,Qs,Ll,po,jr,M,k,J,we,Fe,nt,Ot,We,Wt},re.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},re.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(k,J){M(J,k.attributes)})},re.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var k,J,we=this._nodes.values();!0!==(k=we.next())&&!M((J=k.value).key,J.attributes););},re.nodeEntries=function(){var M=this._nodes.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{value:[J.key,J.attributes],done:!1}})},re.exportNode=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Ze(M,k)},re.exportEdge=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return At(M,k)},re.export=function(){var M=new Array(this._nodes.size),k=0;this._nodes.forEach(function(we,Fe){M[k++]=Ze(Fe,we)});var J=new Array(this._edges.size);return k=0,this._edges.forEach(function(we,Fe){J[k++]=At(Fe,we)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},re.importNode=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Mt(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var we=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return k?this.mergeNode(we,nt):this.addNode(we,nt),this},re.importEdge=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Dt(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var we=M.source,Fe=M.target,nt=M.attributes,Ot=void 0===nt?{}:nt,We=M.undirected,Wt=void 0!==We&&We;return"key"in M?(k?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,we,Fe,Ot):(k?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,we,Fe,Ot),this},re.import=function(M){var k,J,we,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!P(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!P(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(we=M.nodes,!Array.isArray(we))throw new me("Graph.import: invalid nodes. Expecting an array.");for(k=0,J=we.length;kJ)){var Ot=new Set;Ot.add(k.undirected[nt]),k.undirected[nt]=Ot,M._nodes.get(nt).undirected[J]=Ot}})),this;var M},re.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},re.toJSON=function(){return this.export()},re.toString=function(){return"[object Graph]"},re.inspect=function(){var M=this,k={};this._nodes.forEach(function(Ot,We){k[We]=Ot.attributes});var J={},we={};this._edges.forEach(function(Ot,We){var Wt=Ot.undirected?"--":"->",xt="",yn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?M.multi&&(void 0===we[yn]?we[yn]=0:we[yn]++,xt+="".concat(we[yn],". ")):xt+="[".concat(We,"]: "),J[xt+=yn]=Ot.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=k,Fe.edges=J,z(Fe,"constructor",this.constructor),Fe},fe}(A.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(ie){return"".concat(ie,"Edge")},generateKey:!0},{name:function(ie){return"".concat(ie,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ie){return"".concat(ie,"EdgeWithKey")}},{name:function(ie){return"".concat(ie,"DirectedEdgeWithKey")},type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ie){["add","merge","update"].forEach(function(fe){var re=ie.name(fe),M="add"===fe?_n:$n;Cn.prototype[re]=ie.generateKey?function(k,J,we){return M(this,re,!0,"undirected"===(ie.type||this.type),null,k,J,we,"update"===fe)}:function(k,J,we,Fe){return M(this,re,!1,"undirected"===(ie.type||this.type),k,J,we,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),ie=Cn,Ue.forEach(function(fe){var re=fe.name,M=fe.attacher;M(ie,re("Edge"),"mixed"),M(ie,re("DirectedEdge"),"directed"),M(ie,re("UndirectedEdge"),"undirected")}),function(ie){Me.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Ot=this._nodes.get(Fe=""+Fe);if(void 0===Ot)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return On(this.multi,"mixed"===J?this.type:J,we,Ot)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" target node in the graph.'));return wi(J,this.multi,we,We,nt)}throw new me("Graph.".concat(k,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1);re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Qe(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return kn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1)+"Until";re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return St(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var J=M.type,we=M.direction,Fe=M.name.slice(0,-1)+"Entries";re.prototype[Fe]=function(nt,Ot){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return se.empty();if(!arguments.length)return Nt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Ti(J,we,We)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(nt=""+nt);if(!Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(J,we,Wt,Ot)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ie,fe)})}(Cn),function(ie){Bs.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(k,': could not find the "').concat(Ot,'" node in the graph.'));return lt(this,J,we,nt,Ot)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return el("mixed"===J?this.type:J,we,We)}throw new me("Graph.".concat(k,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1);ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,xt);if("string"==typeof We)return kl(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Sa(yn,Wt,Wt.in,xt),"in"!==We&&Sa(yn,Wt,Wt.out,xt)),"directed"!==Ot&&Sa(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1)+"Until";ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,xt);if("string"==typeof We)return Es(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Jt(yn,Wt,Wt.in,xt)||"in"!==We&&Jt(yn,Wt,Wt.out,xt))||"directed"===Ot||Jt(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var M=fe.type,k=fe.direction,J=fe.name.slice(0,-1)+"Entries";ie.prototype[J]=function(we){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return se.empty();var Fe=this._nodes.get(we=""+we);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));return function(nt,Ot,We){if("mixed"!==nt){if("undirected"===nt)return tl(We,We.undirected);if("string"==typeof Ot)return tl(We,We[Ot])}var Wt=se.empty(),xt=new Set;return"undirected"!==nt&&("out"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.in))),"in"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.out)))),"directed"!==nt&&(Wt=Ke(Wt,rt(xt,We,We.undirected))),Wt}("mixed"===M?this.type:M,k,Fe)}}(ie,fe)})}(Cn);var lr=function(ie){function fe(re){var M=he({type:"directed"},re);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),cr=function(ie){function fe(re){var M=he({type:"undirected"},re);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),Xn=function(ie){function fe(re){var M=he({multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),qi=function(ie){function fe(re){var M=he({type:"directed",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),xa=function(ie){function fe(re){var M=he({type:"undirected",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn);function Zr(ie){ie.from=function(fe,re){var M=he({},fe.options,re),k=new ie(M);return k.import(fe),k}}return Zr(Cn),Zr(lr),Zr(cr),Zr(Xn),Zr(qi),Zr(xa),Cn.Graph=Cn,Cn.DirectedGraph=lr,Cn.UndirectedGraph=cr,Cn.MultiGraph=Xn,Cn.MultiDirectedGraph=qi,Cn.MultiUndirectedGraph=xa,Cn.InvalidArgumentsGraphError=me,Cn.NotFoundGraphError=ne,Cn.UsageGraphError=_e,Cn}()},524:(Ut,it,Je)=>{var yt;!function(ee,Tt,dt,Y){"use strict";var A,Se=["","webkit","Moz","MS","ms","o"],he=Tt.createElement("div"),j=Math.round,P=Math.abs,Q=Date.now;function z(ye,De,He){return setTimeout(T(ye,He),De)}function v(ye,De,He){return!!Array.isArray(ye)&&(x(ye,He[De],He),!0)}function x(ye,De,He){var bt;if(ye)if(ye.forEach)ye.forEach(De,He);else if(ye.length!==Y)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),ye.apply(this,arguments)}}A="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var He=Object(De),bt=1;bt-1}function X(ye){return ye.trim().split(/\s+/g)}function E(ye,De,He){if(ye.indexOf&&!He)return ye.indexOf(De);for(var bt=0;btxs[De]}):bt.sort()),bt}function oe(ye,De){for(var He,bt,Gt=De[0].toUpperCase()+De.slice(1),Yt=0;Yt1&&!He.firstMultiple?He.firstMultiple=St(De):1===Gt&&(He.firstMultiple=!1);var Yt=He.firstInput,li=He.firstMultiple,Vr=li?li.center:Yt.center,es=De.center=Nt(bt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Yt.timeStamp,De.angle=Ti(Vr,es),De.distance=Yn(Vr,es),function(ye,De){var He=De.center,bt=ye.offsetDelta||{},Gt=ye.prevDelta||{},Yt=ye.prevInput||{};(1===De.eventType||4===Yt.eventType)&&(Gt=ye.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=ye.offsetDelta={x:He.x,y:He.y}),De.deltaX=Gt.x+(He.x-bt.x),De.deltaY=Gt.y+(He.y-bt.y)}(He,De),De.offsetDirection=kn(De.deltaX,De.deltaY);var xs=On(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=P(xs.x)>P(xs.y)?xs.x:xs.y,De.scale=li?function(ye,De){return Yn(De[0],De[1],pt)/Yn(ye[0],ye[1],pt)}(li.pointers,bt):1,De.rotation=li?function(ye,De){return Ti(De[1],De[0],pt)+Ti(ye[1],ye[0],pt)}(li.pointers,bt):0,De.maxPointers=He.prevInput?De.pointers.length>He.prevInput.maxPointers?De.pointers.length:He.prevInput.maxPointers:De.pointers.length,function(ye,De){var Gt,Yt,li,Vr,He=ye.lastInterval||De,bt=De.timeStamp-He.timeStamp;if(8!=De.eventType&&(bt>25||He.velocity===Y)){var es=De.deltaX-He.deltaX,xs=De.deltaY-He.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=P(Qn.x)>P(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),ye.lastInterval=De}else Gt=He.velocity,Yt=He.velocityX,li=He.velocityY,Vr=He.direction;De.velocity=Gt,De.velocityX=Yt,De.velocityY=li,De.direction=Vr}(He,De);var Qn=ye.element;D(De.srcEvent.target,Qn)&&(Qn=De.srcEvent.target),De.target=Qn}(ye,He),ye.emit("hammer.input",He),ye.recognize(He),ye.session.prevInput=He}function St(ye){for(var De=[],He=0;He=P(De)?ye<0?2:4:De<0?8:16}function Yn(ye,De,He){He||(He=_t);var bt=De[He[0]]-ye[He[0]],Gt=De[He[1]]-ye[He[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(ye,De,He){return He||(He=_t),180*Math.atan2(De[He[1]]-ye[He[1]],De[He[0]]-ye[He[0]])/Math.PI}ve.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Ce(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ce(this.element,this.evEl,this.domHandler),this.evTarget&&ce(this.target,this.evTarget,this.domHandler),this.evWin&&ce(Ce(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,ve.apply(this,arguments)}S(Qr,ve,{handler:function(De){var He=Ls[De.type];1&He&&0===De.button&&(this.pressed=!0),2&He&&1!==De.which&&(He=4),this.pressed&&(4&He&&(this.pressed=!1),this.callback(this.manager,He,{pointers:[De],changedPointers:[De],pointerType:Xe,srcEvent:De}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ge,3:"pen",4:Xe,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,ve.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),S(Jt,ve,{handler:function(De){var He=this.store,bt=!1,Gt=De.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[De.pointerType]||De.pointerType,Vr=li==Ge,es=E(He,De.pointerId,"pointerId");1&Yt&&(0===De.button||Vr)?es<0&&(He.push(De),es=He.length-1):12&Yt&&(bt=!0),!(es<0)&&(He[es]=De,this.callback(this.manager,Yt,{pointers:He,changedPointers:[De],pointerType:li,srcEvent:De}),bt&&He.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,ve.apply(this,arguments)}function ge(ye,De){var He=$(ye.touches),bt=$(ye.changedTouches);return 12&De&&(He=Z(He.concat(bt),"identifier",!0)),[He,bt]}S(ht,ve,{handler:function(De){var He=tl[De.type];if(1===He&&(this.started=!0),this.started){var bt=ge.call(this,De,He);12&He&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,He,{pointers:bt[0],changedPointers:bt[1],pointerType:Ge,srcEvent:De})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Le="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Le,this.targetIds={},ve.apply(this,arguments)}function Ze(ye,De){var He=$(ye.touches),bt=this.targetIds;if(3&De&&1===He.length)return bt[He[0].identifier]=!0,[He,He];var Gt,Yt,li=$(ye.changedTouches),Vr=[],es=this.target;if(Yt=He.filter(function(xs){return D(xs.target,es)}),1===De)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(ye){for(var De=ye.srcEvent.clientX,He=ye.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(ye){return!!this.simultaneous[ye.id]},emit:function(ye){var De=this,He=this.state;function bt(Gt){De.manager.emit(Gt,ye)}He<8&&bt(De.options.event+We(He)),bt(De.options.event),ye.additionalEvent&&bt(ye.additionalEvent),He>=8&&bt(De.options.event+We(He))},tryEmit:function(ye){if(this.canEmit())return this.emit(ye);this.state=32},canEmit:function(){for(var ye=0;yeDe.threshold&&Gt&De.direction},attrTest:function(ye){return yn.prototype.attrTest.call(this,ye)&&(2&this.state||!(2&this.state)&&this.directionTest(ye))},emit:function(ye){this.pX=ye.deltaX,this.pY=ye.deltaY;var De=Wt(ye.direction);De&&(ye.additionalEvent=this.options.event+De),this._super.emit.call(this,ye)}}),S(Jr,yn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.scale-1)>this.options.threshold||2&this.state)},emit:function(ye){1!==ye.scale&&(ye.additionalEvent=this.options.event+(ye.scale<1?"in":"out")),this._super.emit.call(this,ye)}}),S(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distanceDe.time;if(this._input=ye,!bt||!He||12&ye.eventType&&!Gt)this.reset();else if(1&ye.eventType)this.reset(),this._timer=z(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&ye.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(ye){8===this.state&&(ye&&4&ye.eventType?this.manager.emit(this.options.event+"up",ye):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Ll,yn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.rotation)>this.options.threshold||2&this.state)}}),S(po,yn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(ye){var He,De=this.options.direction;return 30&De?He=ye.overallVelocity:6&De?He=ye.overallVelocityX:24&De&&(He=ye.overallVelocityY),this._super.attrTest.call(this,ye)&&De&ye.offsetDirection&&ye.distance>this.options.threshold&&ye.maxPointers==this.options.pointers&&P(He)>this.options.velocity&&4&ye.eventType},emit:function(ye){var De=Wt(ye.offsetDirection);De&&this.manager.emit(this.options.event+De,ye),this.manager.emit(this.options.event,ye)}}),S(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Le.source),Ze=/^\s+/,At=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,_n=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",xt="A-Z\\xc0-\\xd6\\xd8-\\xde",yn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+fe+"]",Ll="["+Ss+"]",po="["+J+"]",jr="\\d+",js="["+we+"]",xc="["+Fe+"]",wn="[^"+fe+Ss+jr+we+Fe+xt+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+fe+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",ye="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+xt+"]",bt="(?:"+xc+"|"+wn+")",Gt="(?:"+De+"|"+wn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+yn+"]?",M1=es+Vr+"(?:\\u200d(?:"+[Ca,wd,ye].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,ye].join("|")+")"+M1,ir="(?:"+[Ca+po+"?",po,wd,ye,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),t_=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+ir+M1,"g"),av=RegExp([De+"?"+xc+"+"+Yt+"(?="+[Ll,De,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,De+bt,"$"].join("|")+")",De+"?"+bt+"+"+Yt,De+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),D1=RegExp("[\\u200d"+fe+J+yn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],I1=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[Xe]=ln[tt]=ln[Qe]=ln[Ue]=ln[St]=ln[ke]=ln[Me]=ln[Ve]=ln[Ne]=ln[q]=ln[pe]=ln[_t]=ln[pt]=ln[ve]=ln[B]=!1;var ur={};ur[Xe]=ur[tt]=ur[Qe]=ur[St]=ur[Ue]=ur[ke]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Ne]=ur[q]=ur[pe]=ur[_t]=ur[pt]=ur[ve]=ur[L]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Me]=ur[Ve]=ur[B]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},O1=parseFloat,dv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,zi=Rt||Vs||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,Oo=Aa&&Aa.exports===Vl,n_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||n_&&n_.binding&&n_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,fr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(at,It,Et){switch(Et.length){case 0:return at.call(It);case 1:return at.call(It,Et[0]);case 2:return at.call(It,Et[0],Et[1]);case 3:return at.call(It,Et[0],Et[1],Et[2])}return at.apply(It,Et)}function Ur(at,It,Et,un){for(var Dn=-1,ji=null==at?0:at.length;++Dn-1}function Oh(at,It,Et){for(var un=-1,Dn=null==at?0:at.length;++un-1;);return Et}function F1(at,It){for(var Et=at.length;Et--&&nl(It,at[Et],0)>-1;);return Et}function u2(at,It){for(var Et=at.length,un=0;Et--;)at[Et]===It&&++un;return un}var d2=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),h2=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function f2(at){return"\\"+on[at]}function Ph(at){return D1.test(at)}function fv(at){var It=-1,Et=Array(at.size);return at.forEach(function(un,Dn){Et[++It]=[Dn,un]}),Et}function k1(at,It){return function(Et){return at(It(Et))}}function yu(at,It){for(var Et=-1,un=at.length,Dn=0,ji=[];++Et",""":'"',"'":"'"}),kh=function at(It){var d,Et=(It=null==It?zi:kh.defaults(zi.Object(),It,kh.pick(zi,Ih))).Array,un=It.Date,Dn=It.Error,ji=It.Function,ts=It.Math,Qi=It.Object,c_=It.RegExp,u_=It.String,Da=It.TypeError,pr=Et.prototype,bu=Qi.prototype,gp=It["__core-js_shared__"],xr=ji.prototype.toString,Zi=bu.hasOwnProperty,b2=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,j1=xr.call(Qi),d_=zi._,Md=c_("^"+xr.call(Zi).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,mv=zs?zs.allocUnsafe:ee,Ia=k1(Qi.getPrototypeOf,Qi),h_=Qi.create,mp=bu.propertyIsEnumerable,Bn=pr.splice,V1=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Qi,"defineProperty");return d({},"",{}),d}catch(f){}}(),_v=It.clearTimeout!==zi.clearTimeout&&It.clearTimeout,U1=un&&un.now!==zi.Date.now&&un.now,z1=It.setTimeout!==zi.setTimeout&&It.setTimeout,jt=ts.ceil,Ei=ts.floor,Cr=Qi.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,f_=It.isFinite,jh=pr.join,rl=k1(Qi.keys,Qi),Hr=ts.max,ms=ts.min,v2=un.now,H1=It.parseInt,Vh=ts.random,yp=pr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Qi,"create"),zh=No&&new No,Id={},G1=Ru(As),p_=Ru(_o),g_=Ru(bp),yv=Ru(Oa),m_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function Ee(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Zi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(h_)return h_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),F=!_&&pl(d),ae=!_&&!F&&gl(d),Te=!_&&!F&&!ae&&cf(d),ze=_||F||ae||Te,qe=ze?Td(d.length,u_):[],ct=qe.length;for(var kt in d)(f||Zi.call(d,kt))&&(!ze||!("length"==kt||ae&&("offset"==kt||"parent"==kt)||Te&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,ct)))&&qe.push(kt);return qe}function v_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function Ev(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function w_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var F=d[f];(!Zi.call(d,f)||!In(F,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,F){return Ic(d,function(ae,Te,ze){f(F,ae,_(ae),ze)}),F}function eA(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function E_(d,f){for(var _=-1,F=f.length,ae=Et(F),Te=null==d;++_=f?d:f)),d}function Hs(d,f,_,F,ae,Te){var ze,qe=1&f,ct=2&f,kt=4&f;if(_&&(ze=ae?_(d,F,ae,Te):_(d)),ze!==ee)return ze;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(ze=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Zi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!qe)return eo(d,ze)}else{var zt=$s(d),en=zt==Ve||zt==$e;if(gl(d))return Np(d,qe);if(zt==pe||zt==Xe||en&&!ae){if(ze=ct||en?{}:$v(d),!qe)return ct?function(d,f){return Fa(d,zv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(ze,d)):function(d,f){return Fa(d,B_(d),f)}(d,eA(ze,d))}else{if(!ur[zt])return ae?d:{};ze=function(d,f,_){var F=d.constructor;switch(f){case Qe:return Mu(d);case Ue:case ke:return new F(+d);case St:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return N_(d,_);case Ne:return new F;case q:case ve:return new F(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case pt:return new F;case L:return function(d){return Od?Qi(Od.call(d)):{}}(d)}}(d,zt,qe)}}Te||(Te=new Na);var bn=Te.get(d);if(bn)return bn;Te.set(d,ze),vT(d)?d.forEach(function(jn){ze.add(Hs(jn,f,_,jn,d,Te))}):mT(d)&&d.forEach(function(jn,mi){ze.set(mi,Hs(jn,f,_,mi,d,Te))});var gi=Lt?ee:(kt?ct?k_:Yl:ct?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(ze,mi,Hs(jn,f,_,mi,d,Te))}),ze}function Ap(d,f,_){var F=_.length;if(null==d)return!F;for(d=Qi(d);F--;){var ae=_[F],ze=d[ae];if(ze===ee&&!(ae in d)||!(0,f[ae])(ze))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(Se);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,F){var ae=-1,Te=Ul,ze=!0,qe=d.length,ct=[],kt=f.length;if(!qe)return ct;_&&(f=Xi(f,Jo(_))),F?(Te=Oh,ze=!1):f.length>=200&&(Te=Nh,ze=!1,f=new Ra(f));e:for(;++ae-1},Hl.prototype.set=function(d,f){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,f])):_[F][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),F=_.size;return _.set(d,f),this.size+=_.size==F?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,W),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var F=_.__data__;if(!_o||F.length<199)return F.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(F)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),x_=ul(Tp,!0);function xv(d,f){var _=!0;return Ic(d,function(F,ae,Te){return _=!!f(F,ae,Te)}),_}function Yh(d,f,_){for(var F=-1,ae=d.length;++F0&&_(qe)?f>1?Ts(qe,f-1,_,F,ae):zr(ae,qe):F||(ae[ae.length]=qe)}return ae}var Pd=Nv(),Fd=Nv(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,F=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Zi.call(d,f)}function Ld(d,f){return null!=d&&f in Qi(d)}function Su(d,f,_){for(var F=_?Oh:Ul,ae=d[0].length,Te=d.length,ze=Te,qe=Et(Te),ct=1/0,kt=[];ze--;){var Lt=d[ze];ze&&f&&(Lt=Xi(Lt,Jo(f))),ct=ms(Lt.length,ct),qe[ze]=!_&&(f||ae>=120&&Lt.length>=120)?new Ra(ze&&Lt):ee}Lt=d[0];var zt=-1,en=qe[0];e:for(;++zt=qe?ct:ct*("desc"==_[F]?-1:1)}return d.index-f.index}(Te,ze,_)});Et--;)at[Et]=at[Et].value;return at}(sA(d,function(Te,ze,qe){return{criteria:Xi(f,function(kt){return kt(Te)}),index:++F,value:Te}}))}function Dv(d,f,_){for(var F=-1,ae=f.length,Te={};++F-1;)qe!==d&&Bn.call(qe,ct,1),Bn.call(d,ct,1);return d}function Qh(d,f){for(var _=d?f.length:0,F=_-1;_--;){var ae=f[_];if(_==F||ae!==Te){var Te=ae;Bo(ae)?Bn.call(d,ae,1):Cu(d,ae)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ce)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(wA(d,f,io),d+"")}function aA(d){return v_(th(d))}function D2(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,F){if(!Tr(d))return d;for(var ae=-1,Te=(f=Pc(f,d)).length,ze=Te-1,qe=d;null!=qe&&++aeae?0:ae+f),(_=_>ae?ae:_)<0&&(_+=ae),ae=f>_?0:_-f>>>0,f>>>=0;for(var Te=Et(ae);++F>>1,ze=d[Te];null!==ze&&!ca(ze)&&(_?ze<=f:ze=200){var kt=f?null:F_(d);if(kt)return o_(kt);ze=!1,ae=Nh,ct=new Ra}else ct=f?[]:qe;e:for(;++F=F?d:Ds(d,f,_)}var uA=_v||function(d){return zi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,F=mv?mv(_):new d.constructor(_);return d.copy(F),F}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function N_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,F=null===d,ae=d==d,Te=ca(d),ze=f!==ee,qe=null===f,ct=f==f,kt=ca(f);if(!qe&&!kt&&!Te&&d>f||Te&&ze&&ct&&!qe&&!kt||F&&ze&&ct||!_&&ct||!ae)return 1;if(!F&&!Te&&!kt&&d1?_[ae-1]:ee,ze=ae>2?_[2]:ee;for(Te=d.length>3&&"function"==typeof Te?(ae--,Te):ee,ze&&Ws(_[0],_[1],ze)&&(Te=ae<3?ee:Te,ae=1),f=Qi(f);++F-1?ae[Te?f[ze]:ze]:ee}}function Iu(d){return dl(function(f){var _=f.length,F=_,ae=Po.prototype.thru;for(d&&f.reverse();F--;){var Te=f[F];if("function"!=typeof Te)throw new Da(Se);if(ae&&!ze&&"wrapper"==Vp(Te))var ze=new Po([],!0)}for(F=ze?F:_;++F<_;){var qe=Vp(Te=f[F]),ct="wrapper"==qe?L_(Te):ee;ze=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?ze[Vp(ct[0])].apply(ze,ct[3]):1==Te.length&&Up(Te)?ze[qe]():ze.thru(Te)}return function(){var kt=arguments,Lt=kt[0];if(ze&&1==kt.length&&Rn(Lt))return ze.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,F,ae,Te,ze,qe,ct,kt){var Lt=f&K,zt=1&f,en=2&f,bn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=Et(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(bn)var qs=$d(jn),ua=u2(Mi,qs);if(F&&(Mi=Ud(Mi,F,ae,bn)),Te&&(Mi=Rv(Mi,Te,ze,bn)),mi-=ua,bn&&mi1&&Mi.reverse(),Lt&&ctqe))return!1;var kt=Te.get(d),Lt=Te.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,bn=2&_?new Ra:ee;for(Te.set(d,f),Te.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[F],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(F,function(d,f){return Us(st,function(_){var F="_."+_[0];f&_[1]&&!Ul(d,F)&&d.push(F)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(F),_)))}function G_(d){var f=0,_=0;return function(){var F=v2(),ae=16-(F-_);if(_=F,ae>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,F=d.length,ae=F-1;for(f=f===ee?F:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,WA(d,_)});function ey(d){var f=Ee(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var ty=dl(function(d){var f=d.length,_=f?d[0]:0,F=this.__wrapped__,ae=function(Te){return E_(Te,d)};return!(f>1||this.__actions__.length)&&F instanceof fi&&Bo(_)?((F=F.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[ae],thisArg:ee}),new Po(F,this.__chain__).thru(function(Te){return f&&!Te.length&&Te.push(ee),Te})):this.thru(ae)}),KA=ns(function(d,f,_){Zi.call(d,_)?++d[_]:al(d,_,1)}),ZA=Fv(W_),JA=Fv(q_);function sy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:x_)(d,Fn(f,3))}var tT=ns(function(d,f,_){Zi.call(d,_)?d[_].push(f):al(d,_,[f])}),fw=pi(function(d,f,_){var F=-1,ae="function"==typeof f,Te=bo(d)?Et(d.length):[];return Ic(d,function(ze){Te[++F]=ae?ls(f,ze,_):Pa(ze,f,_)}),Te}),pw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Xi:sA)(d,Fn(f,3))}var mw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=U1||function(){return zi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,K,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function ay(d,f){var _;if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var F=1;if(_.length){var ae=yu(_,$d(af));F|=V}return ql(d,F,f,_,ae)}),Xd=pi(function(d,f,_){var F=3;if(_.length){var ae=yu(_,$d(Xd));F|=V}return ql(f,F,d,_,ae)});function Sw(d,f,_){var F,ae,Te,ze,qe,ct,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(Se);function bn($i){var yl=F,Uc=ae;return F=ae=ee,kt=$i,ze=d.apply(Uc,yl)}function Ln($i){return kt=$i,qe=ef(mi,f),Lt?bn($i):ze}function jn($i){var yl=$i-ct;return ct===ee||yl>=f||yl<0||zt&&$i-kt>=Te}function mi(){var $i=Nu();if(jn($i))return Mi($i);qe=ef(mi,function($i){var uM=f-($i-ct);return zt?ms(uM,Te-($i-kt)):uM}($i))}function Mi($i){return qe=ee,en&&F?bn($i):(F=ae=ee,ze)}function ua(){var $i=Nu(),yl=jn($i);if(F=arguments,ae=this,ct=$i,yl){if(qe===ee)return Ln(ct);if(zt)return uA(qe),qe=ef(mi,f),bn(ct)}return qe===ee&&(qe=ef(mi,f)),ze}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Te=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Te,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){qe!==ee&&uA(qe),kt=0,F=ct=ae=qe=ee},ua.flush=function(){return qe===ee?ze:Mi(Nu())},ua}var sT=pi(function(d,f){return qh(d,1,f)}),xw=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(Se);var _=function(){var F=arguments,ae=f?f.apply(this,F):F[0],Te=_.cache;if(Te.has(ae))return Te.get(ae);var ze=d.apply(this,F);return _.cache=Te.set(ae,ze)||Te,ze};return _.cache=new(lf.Cache||sl),_}function uy(d){if("function"!=typeof d)throw new Da(Se);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var oT=cA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Xi(f[0],Jo(Fn())):Xi(Ts(f,1),Jo(Fn()))).length;return pi(function(F){for(var ae=-1,Te=ms(F.length,_);++ae=f}),pl=tA(function(){return arguments}())?tA:function(d){return Mr(d)&&Zi.call(d,"callee")&&!mp.call(d,"callee")},Rn=Et.isArray,Iw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==Qe};function bo(d){return null!=d&&hy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Fy,Ow=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==ke};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Me||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ve||f==$e||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function hy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ce}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var mT=fr?Jo(fr):function(d){return Mr(d)&&$s(d)==Ne};function bT(d){return"number"==typeof d||Mr(d)&&Ms(d)==q}function Jp(d){if(!Mr(d)||Ms(d)!=pe)return!1;var f=Ia(d);if(null===f)return!0;var _=Zi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==j1}var Fw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},vT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==pt};function py(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==ve}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==L}var cf=as?Jo(as):function(d){return Mr(d)&&hy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Mv),gy=Lp(function(d,f){return d<=f});function kw(d){if(!d)return[];if(bo(d))return py(d)?il(d):eo(d);if(Bh&&d[Bh])return function(at){for(var It,Et=[];!(It=at.next()).done;)Et.push(It.value);return Et}(d[Bh]());var f=$s(d);return(f==Ne?fv:f==pt?o_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function my(d){return d?Eu(Jn(d),0,_e):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=hv(d);var _=lr.test(d);return _||Xn.test(d)?dv(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Lw(d){return Fa(d,no(d))}function Gi(d){return null==d?"":Lo(d)}var wT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Zi.call(f,_)&&ol(d,_,f[_])}),ET=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,F){Fa(f,no(f),d,F)}),ST=$l(function(d,f,_,F){Fa(f,Os(f),d,F)}),Bw=dl(E_),CT=pi(function(d,f){d=Qi(d);var _=-1,F=f.length,ae=F>2?f[2]:ee;for(ae&&Ws(f[0],f[1],ae)&&(F=1);++_1),Te}),Fa(d,k_(d),_),F&&(_=Hs(_,7,Bp));for(var ae=f.length;ae--;)Cu(_,f[ae]);return _}),IT=dl(function(d,f){return null==d?{}:function(d,f){return Dv(d,f,function(_,F){return eg(d,F)})}(d,f)});function $w(d,f){if(null==d)return{};var _=Xi(k_(d),function(F){return[F]});return f=Fn(f),Dv(d,_,function(F,ae){return f(F,ae[0])})}var OT=Ou(Os),qw=Ou(no);function th(d){return null==d?[]:s_(d,Os(d))}var kT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?vy(f):f)});function vy(d){return ig(Gi(d).toLowerCase())}function wy(d){return(d=Gi(d))&&d.replace(xa,d2).replace(t_,"")}var BT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),jT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),X2=Pp("toLowerCase"),GT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),xy=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Jw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function My(d,f,_){return d=Gi(d),(f=_?ee:f)===ee?function(at){return jl.test(at)}(d)?function(at){return at.match(av)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(f)||[]}var Dy=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),eE=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function Iy(d){return function(){return d}}var Z2=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return rA("function"==typeof d?d:Hs(d,1))}var Oy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),tE=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Ry(d,f,_){var F=Os(f),ae=Kh(f,F);null==_&&(!Tr(f)||!ae.length&&F.length)&&(_=f,f=d,d=this,ae=Kh(f,Os(f)));var Te=!(Tr(_)&&"chain"in _&&!_.chain),ze=la(d);return Us(ae,function(qe){var ct=f[qe];d[qe]=ct,ze&&(d.prototype[qe]=function(){var kt=this.__chain__;if(Te||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return ct.apply(d,zr([this.value()],arguments))})}),d}function Ny(){}var ZT=Fp(Xi),JT=Fp(ti),iE=Fp(Ro);function ku(d){return ra(d)?i_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var eM=Lv(),tM=Lv(!0);function Vc(){return[]}function Fy(){return!1}var Wn=P_(function(d,f){return d+f},0),ky=Gd("ceil"),ek=P_(function(d,f){return d/f},1),Ql=Gd("floor"),aE=P_(function(d,f){return d*f},1),lE=Gd("round"),cE=P_(function(d,f){return d-f},0);return Ee.after=function(d,f){if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},Ee.ary=Kp,Ee.assign=wT,Ee.assignIn=ET,Ee.assignInWith=Qd,Ee.assignWith=ST,Ee.at=Bw,Ee.before=ay,Ee.bind=af,Ee.bindAll=eE,Ee.bindKey=Xd,Ee.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},Ee.chain=ey,Ee.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var F=null==d?0:d.length;if(!F||f<1)return[];for(var ae=0,Te=0,ze=Et(jt(F/f));aeae?0:ae+_),(F=F===ee||F>ae?ae:Jn(F))<0&&(F+=ae),F=_>F?0:my(F);_>>0)?(d=Gi(d))&&("string"==typeof f||null!=f&&!Fw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},Ee.spread=function(d,f){if("function"!=typeof d)throw new Da(Se);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var F=_[f],ae=cl(_,0,f);return F&&zr(ae,F),ls(d,this,ae)})},Ee.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},Ee.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},Ee.takeRight=function(d,f,_){var F=null==d?0:d.length;return F?Ds(d,(f=F-(f=_||f===ee?1:Jn(f)))<0?0:f,F):[]},Ee.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},Ee.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},Ee.tap=function(d,f){return f(d),d},Ee.throttle=function(d,f,_){var F=!0,ae=!0;if("function"!=typeof d)throw new Da(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,ae="trailing"in _?!!_.trailing:ae),Sw(d,f,{leading:F,maxWait:f,trailing:ae})},Ee.thru=Yd,Ee.toArray=kw,Ee.toPairs=OT,Ee.toPairsIn=qw,Ee.toPath=function(d){return Rn(d)?Xi(d,ni):ca(d)?[d]:eo(Kv(Gi(d)))},Ee.toPlainObject=Lw,Ee.transform=function(d,f,_){var F=Rn(d),ae=F||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Te=d&&d.constructor;_=ae?F?new Te:[]:Tr(d)&&la(Te)?wu(Ia(d)):{}}return(ae?Us:ll)(d,function(ze,qe,ct){return f(_,ze,qe,ct)}),_},Ee.unary=function(d){return Kp(d,1)},Ee.union=sw,Ee.unionBy=HA,Ee.unionWith=GA,Ee.uniq=function(d){return d&&d.length?Rc(d):[]},Ee.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},Ee.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},Ee.unset=function(d,f){return null==d||Cu(d,f)},Ee.unzip=ow,Ee.unzipWith=WA,Ee.update=function(d,f,_){return null==d?d:Op(d,f,R_(_))},Ee.updateWith=function(d,f,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,f,R_(_),F)},Ee.values=th,Ee.valuesIn=function(d){return null==d?[]:s_(d,no(d))},Ee.without=aw,Ee.words=My,Ee.wrap=function(d,f){return Xp(R_(f),d)},Ee.xor=j2,Ee.xorBy=jo,Ee.xorWith=Z_,Ee.zip=J_,Ee.zipObject=function(d,f){return Rp(d||[],f||[],ol)},Ee.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},Ee.zipWith=of,Ee.entries=OT,Ee.entriesIn=qw,Ee.extend=ET,Ee.extendWith=Qd,Ry(Ee,Ee),Ee.add=Wn,Ee.attempt=Dy,Ee.camelCase=kT,Ee.capitalize=vy,Ee.ceil=ky,Ee.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},Ee.clone=function(d){return Hs(d,4)},Ee.cloneDeep=function(d){return Hs(d,5)},Ee.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},Ee.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},Ee.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},Ee.deburr=wy,Ee.defaultTo=function(d,f){return null==d||d!=d?f:d},Ee.divide=ek,Ee.endsWith=function(d,f,_){d=Gi(d),f=Lo(f);var F=d.length,ae=_=_===ee?F:Eu(Jn(_),0,F);return(_-=f.length)>=0&&d.slice(_,ae)==f},Ee.eq=In,Ee.escape=function(d){return(d=Gi(d))&&Jt.test(d)?d.replace(Sa,h2):d},Ee.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Le,"\\$&"):d},Ee.every=function(d,f,_){var F=Rn(d)?ti:xv;return _&&Ws(d,f,_)&&(f=ee),F(d,Fn(f,3))},Ee.find=ZA,Ee.findIndex=W_,Ee.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},Ee.findLast=JA,Ee.findLastIndex=q_,Ee.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},Ee.floor=Ql,Ee.forEach=sy,Ee.forEachRight=Wp,Ee.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},Ee.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},Ee.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},Ee.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},Ee.get=hf,Ee.gt=Zt,Ee.gte=Dw,Ee.has=function(d,f){return null!=d&&Gv(d,f,kd)},Ee.hasIn=eg,Ee.head=Qv,Ee.identity=io,Ee.includes=function(d,f,_,F){d=bo(d)?d:th(d),_=_&&!F?Jn(_):0;var ae=d.length;return _<0&&(_=Hr(ae+_,0)),py(d)?_<=ae&&d.indexOf(f,_)>-1:!!ae&&nl(d,f,_)>-1},Ee.indexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=null==_?0:Jn(_);return ae<0&&(ae=Hr(F+ae,0)),nl(d,f,ae)},Ee.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ce&&d<=Ce},Ee.isSet=vT,Ee.isString=py,Ee.isSymbol=ca,Ee.isTypedArray=cf,Ee.isUndefined=function(d){return d===ee},Ee.isWeakMap=function(d){return Mr(d)&&$s(d)==B},Ee.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},Ee.join=function(d,f){return null==d?"":jh.call(d,f)},Ee.kebabCase=BT,Ee.last=sa,Ee.lastIndexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=F;return _!==ee&&(ae=(ae=Jn(_))<0?Hr(F+ae,0):ms(ae,F-1)),f==f?function(at,It,Et){for(var un=Et+1;un--;)if(at[un]===It)return un;return un}(d,f,ae):Cd(d,Ac,ae,!0)},Ee.lowerCase=jT,Ee.lowerFirst=X2,Ee.lt=Bc,Ee.lte=gy,Ee.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},Ee.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},Ee.mean=function(d){return Cs(d,io)},Ee.meanBy=function(d,f){return Cs(d,Fn(f,2))},Ee.min=function(d){return d&&d.length?Yh(d,io,Mv):ee},Ee.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Mv):ee},Ee.stubArray=Vc,Ee.stubFalse=Fy,Ee.stubObject=function(){return{}},Ee.stubString=function(){return""},Ee.stubTrue=function(){return!0},Ee.multiply=aE,Ee.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},Ee.noConflict=function(){return zi._===this&&(zi._=d_),this},Ee.noop=Ny,Ee.now=Nu,Ee.pad=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;if(!f||F>=f)return d;var ae=(f-F)/2;return kp(Ei(ae),_)+d+kp(jt(ae),_)},Ee.padEnd=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;return f&&Ff){var F=d;d=f,f=F}if(_||d%1||f%1){var ae=Vh();return ms(d+ae*(f-d+O1("1e-"+((ae+"").length-1))),f)}return Gl(d,f)},Ee.reduce=function(d,f,_){var F=Rn(d)?_u:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,Ic)},Ee.reduceRight=function(d,f,_){var F=Rn(d)?xd:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,x_)},Ee.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(Gi(d),f)},Ee.replace=function(){var d=arguments,f=Gi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},Ee.result=function(d,f,_){var F=-1,ae=(f=Pc(f,d)).length;for(ae||(ae=1,d=ee);++FCe)return[];var _=_e,F=ms(d,_e);f=Fn(f),d-=_e;for(var ae=Td(F,f);++_=Te)return d;var qe=_-Fh(F);if(qe<1)return F;var ct=ze?cl(ze,0,qe).join(""):d.slice(0,qe);if(ae===ee)return ct+F;if(ze&&(qe+=ct.length-qe),Fw(ae)){if(d.slice(qe).search(ae)){var kt,Lt=ct;for(ae.global||(ae=c_(ae.source,Gi($n.exec(ae))+"g")),ae.lastIndex=0;kt=ae.exec(Lt);)var zt=kt.index;ct=ct.slice(0,zt===ee?qe:zt)}}else if(d.indexOf(Lo(ae),qe)!=qe){var en=ct.lastIndexOf(ae);en>-1&&(ct=ct.slice(0,en))}return ct+F},Ee.unescape=function(d){return(d=Gi(d))&&Es.test(d)?d.replace(kl,l_):d},Ee.uniqueId=function(d){var f=++b2;return Gi(d)+f},Ee.upperCase=Jw,Ee.upperFirst=ig,Ee.each=sy,Ee.eachRight=Wp,Ee.first=Qv,Ry(Ee,function(){var d={};return ll(Ee,function(f,_){Zi.call(Ee.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),Ee.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ee[d].placeholder=Ee}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var F=this.__filtered__&&!f?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ms(_,F.__takeCount__):F.__views__.push({size:ms(_,_e),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,F=1==_||3==_;fi.prototype[d]=function(ae){var Te=this.clone();return Te.__iteratees__.push({iteratee:Fn(ae,3),type:_}),Te.__filtered__=Te.__filtered__||F,Te}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(uy(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(_e)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),F=/^(?:head|last)$/.test(f),ae=Ee[F?"take"+("last"==f?"Right":""):f],Te=F||/^find/.test(f);!ae||(Ee.prototype[f]=function(){var ze=this.__wrapped__,qe=F?[1]:arguments,ct=ze instanceof fi,kt=qe[0],Lt=ct||Rn(ze),zt=function(mi){var Mi=ae.apply(Ee,zr([mi],qe));return F&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(ct=Lt=!1);var en=this.__chain__,bn=!!this.__actions__.length,Ln=Te&&!en,gi=ct&&!bn;if(!Te&&Lt){ze=gi?ze:new fi(this);var jn=d.apply(ze,qe);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,qe):(jn=this.thru(zt),Ln?F?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=pr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);Ee.prototype[d]=function(){var ae=arguments;if(F&&!this.__chain__){var Te=this.value();return f.apply(Rn(Te)?Te:[],ae)}return this[_](function(ze){return f.apply(Rn(ze)?ze:[],ae)})}}),ll(fi.prototype,function(d,f){var _=Ee[f];if(_){var F=_.name+"";Zi.call(Id,F)||(Id[F]=[]),Id[F].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),F=f<0,ae=_?d.length:0,Te=function(d,f,_){for(var F=-1,ae=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ee.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var F=nf(_);F.__index__=0,F.__values__=ee,f?ae.__wrapped__=F:f=F;var ae=F;_=_.__wrapped__}return ae.__wrapped__=d,f},Ee.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[Q_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(Q_)},Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=function(){return lA(this.__wrapped__,this.__actions__)},Ee.prototype.first=Ee.prototype.head,Bh&&(Ee.prototype[Bh]=function(){return this}),Ee}();zi._=kh,(yt=function(){return kh}.call(it,Je,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,P=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},z=function(lt){return Q[lt]};var x=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function O(rt){return rt.replace(x,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var A=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var V={},R=/^[^:]+:\/*[^/]*$/,K=/^([^:]+:)[\s\S]*$/,ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(rt,lt){V[" "+rt]||(V[" "+rt]=R.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=V[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(K,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ce,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var be=0;be1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Ce=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Le,ut,Ze){for(var At=!1,Mt=ut;--Mt>=0&&"\\"===Ze[Mt];)At=!At;return At?"|":" |"}).split(/ \|/),be=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:be[0]}:{raw:"\n"}},lt.code=function(ge){var be=this.rules.block.code.exec(ge);if(be){var Le=be[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:be[0],codeBlockStyle:"indented",text:this.options.pedantic?Le:me(Le,"\n")}}},lt.fences=function(ge){var be=this.rules.block.fences.exec(ge);if(be){var Le=be[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(be){var Le=be.match(/^\s+/);return null===Le?be:Le[0].length>=ge.length?be.slice(ge.length):be}).join("\n")}(Le,be[3]||"");return{type:"code",raw:Le,lang:be[2]?be[2].trim():be[2],text:ut}}},lt.heading=function(ge){var be=this.rules.block.heading.exec(ge);if(be){var Le=be[2].trim();if(/#$/.test(Le)){var ut=me(Le,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Le=ut.trim())}return{type:"heading",raw:be[0],depth:be[1].length,text:Le}}},lt.nptable=function(ge){var be=this.rules.block.nptable.exec(ge);if(be){var Le={type:"table",header:ne(be[1].replace(/^ *| *\| *$/g,"")),align:be[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:be[3]?be[3].replace(/\n$/,"").split("\n"):[],raw:be[0]};if(Le.header.length===Le.align.length){var Ze,ut=Le.align.length;for(Ze=0;Ze ?/gm,"");return{type:"blockquote",raw:be[0],text:Le}}},lt.list=function(ge){var be=this.rules.block.list.exec(ge);if(be){var Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Le=be[0],ut=be[2],Ze=ut.length>1,At={type:"list",raw:Le,ordered:Ze,start:Ze?+ut.slice(0,-1):"",loose:!1,items:[]},Mt=be[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var qi=0;qiai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice(qi,2,Mt[qi]+(!this.options.pedantic&&Nn[1].length/i.test(ut[0])&&(be=!1),!Le&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Le=!0:Le&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Le=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:be,inRawBlock:Le,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]}},lt.link=function(ge){var be=this.rules.inline.link.exec(ge);if(be){var Le=be[2].trim();if(!this.options.pedantic&&/^$/.test(Le))return;var ut=me(Le.slice(0,-1),"\\");if((Le.length-ut.length)%2==0)return}else{var Ze=Ie(be[2],"()");if(Ze>-1){var Mt=(0===be[0].indexOf("!")?5:4)+be[1].length+Ze;be[2]=be[2].substring(0,Ze),be[0]=be[0].substring(0,Mt).trim(),be[3]=""}}var Dt=be[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=be[3]?be[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test(Le)?Dt.slice(1):Dt.slice(1,-1)),Ge(be,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},be[0])}},lt.reflink=function(ge,be){var Le;if((Le=this.rules.inline.reflink.exec(ge))||(Le=this.rules.inline.nolink.exec(ge))){var ut=(Le[2]||Le[1]).replace(/\s+/g," ");if(!(ut=be[ut.toLowerCase()])||!ut.href){var Ze=Le[0].charAt(0);return{type:"text",raw:Ze,text:Ze}}return Ge(Le,ut,Le[0])}},lt.emStrong=function(ge,be,Le){void 0===Le&&(Le="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Le.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Ze=ut[1]||ut[2]||"";if(!Ze||Ze&&(""===Le||this.rules.inline.punctuation.exec(Le))){var Mt,Dt,At=ut[0].length-1,Xt=At,zn=0,ai="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,be=be.slice(-1*ge.length+At);null!=(ut=ai.exec(be));)if(Mt=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Dt=Mt.length,ut[3]||ut[4]){Xt+=Dt;continue}if((ut[5]||ut[6])&&At%3&&!((At+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(At,Dt)%2?{type:"em",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(1,At+ut.index+Dt)}:{type:"strong",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(2,At+ut.index+Dt-1)}}}}},lt.codespan=function(ge){var be=this.rules.inline.code.exec(ge);if(be){var Le=be[2].replace(/\n/g," "),ut=/[^ ]/.test(Le),Ze=/^ /.test(Le)&&/ $/.test(Le);return ut&&Ze&&(Le=Le.substring(1,Le.length-1)),Le=_e(Le,!0),{type:"codespan",raw:be[0],text:Le}}},lt.br=function(ge){var be=this.rules.inline.br.exec(ge);if(be)return{type:"br",raw:be[0]}},lt.del=function(ge){var be=this.rules.inline.del.exec(ge);if(be)return{type:"del",raw:be[0],text:be[2]}},lt.autolink=function(ge,be){var ut,Ze,Le=this.rules.inline.autolink.exec(ge);if(Le)return Ze="@"===Le[2]?"mailto:"+(ut=_e(this.options.mangle?be(Le[1]):Le[1])):ut=_e(Le[1]),{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,be){var Le;if(Le=this.rules.inline.url.exec(ge)){var ut,Ze;if("@"===Le[2])Ze="mailto:"+(ut=_e(this.options.mangle?be(Le[0]):Le[0]));else{var At;do{At=Le[0],Le[0]=this.rules.inline._backpedal.exec(Le[0])[0]}while(At!==Le[0]);ut=_e(Le[0]),Ze="www."===Le[1]?"http://"+ut:ut}return{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,be,Le){var Ze,ut=this.rules.inline.text.exec(ge);if(ut)return Ze=be?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]:_e(this.options.smartypants?Le(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Ze}},rt}(),tt=te_noopTest,Ye=te_edit,Ue=te_merge,ke={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};ke.def=Ye(ke.def).replace("label",ke._label).replace("title",ke._title).getRegex(),ke.bullet=/(?:[*+-]|\d{1,9}[.)])/,ke.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,ke.item=Ye(ke.item,"gm").replace(/bull/g,ke.bullet).getRegex(),ke.listItemStart=Ye(/^( *)(bull) */).replace("bull",ke.bullet).getRegex(),ke.list=Ye(ke.list).replace(/bull/g,ke.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ke.def.source+")").getRegex(),ke._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ke._comment=/|$)/,ke.html=Ye(ke.html,"i").replace("comment",ke._comment).replace("tag",ke._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ke.paragraph=Ye(ke._paragraph).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.blockquote=Ye(ke.blockquote).replace("paragraph",ke.paragraph).getRegex(),ke.normal=Ue({},ke),ke.gfm=Ue({},ke.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ke.gfm.nptable=Ye(ke.gfm.nptable).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.gfm.table=Ye(ke.gfm.table).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.pedantic=Ue({},ke.normal,{html:Ye("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ke._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Ye(ke.normal._paragraph).replace("hr",ke.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ke.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Ye(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Ye(ke._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Ye(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Ye(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Ye(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Ye(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Ye(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Ye(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Ye(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Ye(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=Ue({},Ke),Ke.pedantic=Ue({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Ye(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=Ue({},Ke.normal,{escape:Ye(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||$e,this.options.tokenizer=this.options.tokenizer||new Ve,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:Ne.normal,inline:q.normal};this.options.pedantic?(ge.block=Ne.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=Ne.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,be){return new rt(be).lex(ge)},rt.lexInline=function(ge,be){return new rt(be).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,be,Le){var Ze,At,Mt,Dt,Xt,zn,ut=this;for(void 0===be&&(be=[]),void 0===Le&&(Le=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(Ze=Nn.call(ut,ge,be))&&(ge=ge.substring(Ze.raw.length),be.push(Ze),!0)}))){if(Ze=this.tokenizer.space(ge)){ge=ge.substring(Ze.raw.length),Ze.type&&be.push(Ze);continue}if(Ze=this.tokenizer.code(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(Ze=this.tokenizer.fences(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.heading(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.nptable(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.hr(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.blockquote(ge)){ge=ge.substring(Ze.raw.length),Ze.tokens=this.blockTokens(Ze.text,[],Le),be.push(Ze);continue}if(Ze=this.tokenizer.list(ge)){for(ge=ge.substring(Ze.raw.length),Mt=Ze.items.length,At=0;At=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=ge.substring(0,Nn+1))}(),Le&&(Ze=this.tokenizer.paragraph(Xt))){Dt=be[be.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze),zn=Xt.length!==ge.length,ge=ge.substring(Ze.raw.length);continue}if(Ze=this.tokenizer.text(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(ge){var ai="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return be},lt.inline=function(ge){var be,Le,ut,Ze,At,Mt,Dt=ge.length;for(be=0;be0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)_n.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(At=Cn.call(Ze,ge,be))&&(ge=ge.substring(At.raw.length),be.push(At),!0)}))){if(At=this.tokenizer.escape(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.tag(ge,Le,ut)){ge=ge.substring(At.raw.length),Le=At.inLink,ut=At.inRawBlock,(Mt=be[be.length-1])&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.link(ge)){ge=ge.substring(At.raw.length),"link"===At.type&&(At.tokens=this.inlineTokens(At.text,[],!0,ut)),be.push(At);continue}if(At=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(At.raw.length),Mt=be[be.length-1],"link"===At.type?(At.tokens=this.inlineTokens(At.text,[],!0,ut),be.push(At)):Mt&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.emStrong(ge,Xt,Nn)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.codespan(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.br(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.del(ge)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.autolink(ge,ue)){ge=ge.substring(At.raw.length),be.push(At);continue}if(!Le&&(At=this.tokenizer.url(ge,ue))){ge=ge.substring(At.raw.length),be.push(At);continue}if(Dt=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,lr=ge.slice(1),cr=void 0;Ze.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Cn=Math.min(Cn,cr))}),Cn<1/0&&Cn>=0&&(Dt=ge.substring(0,Cn+1))}(),At=this.tokenizer.inlineText(Dt,ut,pe)){ge=ge.substring(At.raw.length),"_"!==At.raw.slice(-1)&&(Nn=At.raw.slice(-1)),ai=!0,(Mt=be[be.length-1])&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(ge){var $n="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return be},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:Ne,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,ve=te_escape,L=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,be,Le){var ut=(be||"").match(/\S*/)[0];if(this.options.highlight){var Ze=this.options.highlight(ge,ut);null!=Ze&&Ze!==ge&&(Le=!0,ge=Ze)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Le?ge:ve(ge,!0))+"
    \n":"
    "+(Le?ge:ve(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,be,Le,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,be,Le){var ut=be?"ol":"ul";return"<"+ut+(be&&1!==Le?' start="'+Le+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,be){return be&&(be=""+be+""),"\n\n"+ge+"\n"+be+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,be){var Le=be.header?"th":"td";return(be.align?"<"+Le+' align="'+be.align+'">':"<"+Le+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut='"+Le+""},lt.image=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut=''+Le+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,be,Le){return""+Le},lt.image=function(ge,be,Le){return""+Le},lt.br=function(){return""},rt}(),B=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,be){var Le=ge,ut=0;if(this.seen.hasOwnProperty(Le)){ut=this.seen[ge];do{Le=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Le))}return be||(this.seen[ge]=ut,this.seen[Le]=0),Le},lt.slug=function(ge,be){void 0===be&&(be={});var Le=this.serialize(ge);return this.getNextSafeSlug(Le,be.dryrun)},rt}(),Re=L,Qe=N,St=B,Nt=dt.exports.defaults,On=te_unescape,Yn=je,Ti=function(){function rt(ht){this.options=ht||Nt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qe,this.slugger=new St}rt.parse=function(ge,be){return new rt(be).parse(ge)},rt.parseInline=function(ge,be){return new rt(be).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,be){void 0===be&&(be=!0);var ut,Ze,At,Mt,Dt,Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Xn,qi,xa,Zr,ie,Le="",fe=ge.length;for(ut=0;ut0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,qi);Le+=this.renderer.list(Nn,$n,Cn);continue;case"html":Le+=this.renderer.html(_n.text);continue;case"paragraph":Le+=this.renderer.paragraph(this.parseInline(_n.tokens));continue;case"text":for(Nn=_n.tokens?this.parseInline(_n.tokens):_n.text;ut+1An error occurred:

    "+el(At.message+"",!0)+"
    ";throw At}}return Jt.options=Jt.setOptions=function(rt){return Bs(Jt.defaults,rt),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+el(ge.message+"",!0)+"
    ";throw ge}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(Ut,it,Je)=>{var yt=Je(284),ee=Je(830);function Tt(){this.clear()}Tt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Tt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Tt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Tt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Tt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Tt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.iterator]=Tt.prototype.values),Tt.prototype.toString=function(){return this.toArray().join(",")},Tt.prototype.toJSON=function(){return this.toArray()},Tt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Tt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect),Tt.from=function(dt){var Y=new Tt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Tt.of=function(){return Tt.from(arguments)},Ut.exports=Tt},830:Ut=>{var it="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function yt(ee,Tt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Tt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var Je=arguments,yt=Je.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:Je[ee++]}})},it.empty=function(){var Je=new it(null);return Je.done=!0,Je},it.is=function(Je){return Je instanceof it||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},Ut.exports=it},310:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Tt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var P=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return P||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Tt=yt(Je(602)),dt=yt(Je(344))},151:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(Je(321)),Tt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Tt.self||Tt.window||Tt.global,it.window=Tt.window||Tt.self||Tt.global,it.global=Tt.global||Tt.self||Tt.window,it.document=Tt.document||{},it.process=Tt.process||{};var j=console;it.console=j},761:(Ut,it,Je)=>{"use strict";var ee=Je(948),Tt=Je(321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=Je(151),Se=(j(Je(602)),j(Je(310)));ee(Je(344));function W(P){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,z=new WeakMap;return(W=function(x){return x?z:Q})(P)}function j(P,Q){if(!Q&&P&&P.__esModule)return P;if(null===P||"object"!==Tt(P)&&"function"!=typeof P)return{default:P};var z=W(Q);if(z&&z.has(P))return z.get(P);var v={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var O in P)if("default"!==O&&Object.prototype.hasOwnProperty.call(P,O)){var A=x?Object.getOwnPropertyDescriptor(P,O):null;A&&(A.get||A.set)?Object.defineProperty(v,O,A):v[O]=P[O]}return v.default=P,z&&z.set(P,v),v}},602:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(Je(321)),Tt=yt(Je(344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Tt.default)()}},344:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(Je(321))},991:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(180),it),ee(Je(103),it),ee(Je(965),it),ee(Je(595),it),ee(Je(417),it),ee(Je(451),it),ee(Je(735),it)},180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=Je(180),ee=Je(965),Tt=Je(595),dt=Je(417),Y=Je(451),Se=Je(735);let he=0;it.DataFactory=class{constructor(P){this.blankNodeCounter=0,this.blankNodePrefix=(P=P||{}).blankNodePrefix||`df_${he++}_`}namedNode(P){return new dt.NamedNode(P)}blankNode(P){return new yt.BlankNode(P||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(P,Q){return new Tt.Literal(P,Q)}variable(P){return new Se.Variable(P)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(P,Q,z,v){return new Y.Quad(P,Q,z,v||this.defaultGraph())}fromTerm(P){switch(P.termType){case"NamedNode":return this.namedNode(P.value);case"BlankNode":return this.blankNode(P.value);case"Literal":return P.language?this.literal(P.value,P.language):P.datatype.equals(Tt.Literal.XSD_STRING)?this.literal(P.value):this.literal(P.value,this.fromTerm(P.datatype));case"Variable":return this.variable(P.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(P.subject),this.fromTerm(P.predicate),this.fromTerm(P.object),this.fromTerm(P.graph))}}fromQuad(P){return this.fromTerm(P)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=Je,Je.INSTANCE=new Je},595:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=Je(417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Tt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Tt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,x,O,A){void 0===A&&(A=O),Object.defineProperty(v,A,{enumerable:!0,get:function(){return x[O]}})}:function(v,x,O,A){void 0===A&&(A=O),v[A]=x[O]}),ee=this&&this.__exportStar||function(v,x){for(var O in v)"default"!==O&&!Object.prototype.hasOwnProperty.call(x,O)&&yt(x,v,O)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Tt=Je(991),dt=Je(938),Y=Je(60);ee(Je(938),it),ee(Je(871),it),ee(Je(60),it);const Se=new Tt.DataFactory,he=new Y.Translator;function W(v,x){return he.fromRdf(v,x)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,x){return x&&"namedNode"in x&&(x={dataFactory:x}),(x=x||{})&&!x.dataFactory&&(x.dataFactory=Se),he.toRdf(v,x)},it.getTermRaw=function(v,x){return"Literal"===v.termType?W(v,x):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},60:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Tt,dt){for(const Y of Tt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Tt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Tt):ee.value}toRdf(ee,Tt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Tt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Tt,dataFactory:dt}){return dt.literal(ee,Tt)}}it.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(727),it),ee(Je(525),it),ee(Je(554),it),ee(Je(750),it),ee(Je(608),it)},935:(Ut,it,Je)=>{"use strict";var yt={};Je.r(yt),Je.d(yt,{decode:()=>Kme,encode:()=>Xme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>t_e,encode:()=>n_e});var Tt={};Je.r(Tt),Je.d(Tt,{decode:()=>i_e,encode:()=>r_e});var dt={};function Y(n){return"function"==typeof n}Je.r(dt),Je.d(dt,{decode:()=>s_e,encode:()=>o_e});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},P=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class x{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof x)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}x.EMPTY=((n=new x).closed=!0,n);const A="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends x{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[A](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const R="function"==typeof Symbol&&Symbol.observable||"@@observable";function K(n){return n}function ce(...n){return D(n)}function D(n){return 0===n.length?K:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let I=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[A])return n[A]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=X(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[R](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=X(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function X(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends x{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class oe extends y{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends I{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[A](){return new oe(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):x.EMPTY}}function Ce(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new _e(e,this.project,this.thisArg))}}class _e extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Ie=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[R])return(n=>e=>{const t=n[R]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(ke(n))return Ie(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Xe])return(n=>e=>{const t=n[Xe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ne(n,e){return new I(t=>{const i=new x;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[R]}(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>{const r=n[R]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(ke(n))return Ne(n,e);if(function(n){return n&&"function"==typeof n[Xe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new I(t=>{const i=new x;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Xe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof I?n:new I(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ve extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof I)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function B(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(B((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Qe(e,this.project,this.concurrent))}}class Qe extends ve{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return B(K,n)}function On(n,e){return e?Ne(n,e):new I(Ie(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ce(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof I?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends I{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new x,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=x.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends oe{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=Jt({__forward_ref__:Jt});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function be(n){return Le(n)?n():n}function Le(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Ze extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function _n(n,e){const t=e?` in ${e}`:"";throw new Ze("201",`No provider for ${Xt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xt(n){return{providers:n.providers||[],imports:n.imports||[]}}function yn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var wn=(()=>((wn=wn||{})[wn.Default=0]="Default",wn[wn.Host=1]="Host",wn[wn.Self=2]="Self",wn[wn.SkipSelf=4]="SkipSelf",wn[wn.Optional=8]="Optional",wn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=yn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&wn.Optional?null:void 0!==e?e:void _n(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var He=(()=>((He=He||{})[He.OnPush=0]="OnPush",He[He.Default=1]="Default",He))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},ir=[],fp=Jt({\u0275cmp:Jt}),t_=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),av=Jt({\u0275mod:Jt}),D1=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let I1=0;function ln(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===He.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ir,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||ir,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=I1++,i.inputs=dv(n.inputs,t),i.outputs=dv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(lv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(cv):null,i})}function lv(n){return zi(n)||function(n){return n[t_]||null}(n)}function cv(n){return function(n){return n[Dh]||null}(n)}const uv={};function on(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||ir,declarations:n.declarations||ir,imports:n.imports||ir,exports:n.exports||ir,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(uv[n.id]=n.type),e})}function dv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function Oo(n,e){const t=n[av]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function r_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function hv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class l_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Hi(){return gv}function gv(n){return n.type.prototype.ngOnChanges&&(n.setInput=B1),L1}function L1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function B1(n,e,t,i){const r=at(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new l_(l&&l.currentValue,e,o===Ed),n[i]=e}Hi.ngInherit=!0;const kh="__ngSimpleChanges__";function at(n){return n[kh]||null}let Qi;function pr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Qi?Qi:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function d_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function h_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function _v(){return Bn.bindingsEnabled}function jt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=f_();for(;null!==n&&64===n.type;)n=n.parent;return n}function f_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,p_(e)}function p_(n){Bn.lFrame.currentDirectiveIndex=n}function g_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function yv(){return Bn.lFrame.currentQueryIndex}function m_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&wn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&wn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=Ee();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=Ee(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ee(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return d_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=pr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let E_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(Ev(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=E_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Av:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&wn.Host?x_(r,t,i):xv(e,t,i,r);try{const o=s(i);if(null!=o||i&wn.Optional)return o;_n(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&wn.Host?e[16][6]:null;for((-1===a||i&wn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Cv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return xv(e,t,i,r)}const Cv={};function Av(){return new ea(cs(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&wn.Host&&s===a);return null!==u?Fd(e,o,u,a):Cv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new Ze("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,wn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=gv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return Le(n)?()=>{const e=Ms(be(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function I_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class k_ extends Yl{getTypeName(){return"HTML"}}class L_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class Gv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class mA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Wv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),qv=ra("rp,rt"),j_=Jh(Up,Jh(Wv,ra("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Jh(qv,ra("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Jh(qv,Wv)),V_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),U_=ra("srcset"),z_=Jh(V_,U_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),EA=ra("script,style,template");class H_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!EA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Yv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Yv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function G_(n,e){let t=null;try{tf=tf||function(n){const e=new mA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new Gv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new H_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const q_="__ngContext__";function Is(n,e){n[q_]=e}function Y_(n){const e=function(n){return n[q_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function FA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||FA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const sw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function J_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return uw(n[13])}function ty(n){return uw(n[4])}function uw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?gw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){pr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function sy(n,e){if(!(256&e[2])){const t=e[11];pr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function lT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Mw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Mw(s,r)),e}const In={};function Zt(n){Dw(Ei(),jt(),Js()+n,Vh())}function Dw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function dy(n){return 1|n}function Bw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Dw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!_v()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Kw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Xw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Yd(n);null!==i;i=ty(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function HT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Jw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function My(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Dy(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function eE(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=wn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&wn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&yn(e);a=l&&this.injectableDefInScope(l)?ku(Py(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&wn.Self?tE():this.parent).get(e,t=i&wn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(rt(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=be(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||ir))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=be(e))?e:be(e&&e.provide);const s=function(n,e,t){return rE(n)?ku(void 0,n.useValue):ku(iE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=QT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=be(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Py(n){const e=yn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function iE(n,e,t){let i;if(Vc(n)){const r=be(n);return Tc(r)||Py(r)}if(rE(n))i=()=>be(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Oe(be(n.useExisting));else{const r=be(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Py(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function rE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const sE=function(n,e,t){return function(n,e=null,t=null,i){const r=nE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?sE(e,t,""):sE(e.providers,e.parent,e.name||"")}}function Hq(n,e){wp(Y_(n)[1],cs())}function xn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=dM(n.inputs),o.declaredInputs=dM(n.declaredInputs),o.outputs=dM(n.outputs);const a=r.hostBindings;a&&qq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&$q(n,l),c&&Wq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function dM(n){return n===Ed?{}:n===ir?[]:n}function $q(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Wq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function qq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=We({token:Wn,providedIn:"any",factory:()=>Oe(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let uE=null;function sg(){if(!uE){const n=Qn.Symbol;if(n&&n.iterator)uE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Ae[i.index])):i.index;if(pr(t)){let Ae=null;if(!a&&l&&(Ae=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,g=!1;else{s=yM(i,e,h,s,!1);const Pe=t.listen(H,r,s);p.push(s,Pe),u&&u.push(r,de,U,U+1)}}else s=yM(i,e,h,s,!0),H.addEventListener(r,s,o),p.push(s),u&&u.push(r,de,U,o)}else s=yM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const C=w.length;if(C)for(let H=0;H0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function TY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Vk(n){return n.substring(Rs.key,Rs.keyEnd)}function Uk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Uk(e,t))ko(n,Vk(e),!0)}function ec(n,e,t,i){const r=jt(),s=Ei(),o=No(2);s.firstUpdatePass&&qk(s,n,o,i),e!==In&&Eo(r,o,e)&&Kk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function Wk(n,e){return e>=n.expandoStartIndex}function qk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=Wk(n,t);Qk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=g_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=zy(t=vM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=vM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=vM(null,n,e,l[1],i),l=zy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),jk(n,u,i,!0),jk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=dy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function vM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?ir:void 0);let g=h?I_(p,i):u===i?p:void 0;if(c&&!_E(g)&&(g=I_(l,i)),_E(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=I_(l,i))}return a}function _E(n){return void 0!==n}function Qk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=jt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return pr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=jt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function yE(n,e,t){const i=jt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,My(g_(s.data),o,i),t,!0)}return yE}const gf=void 0;var uK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function gL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const bE="en-US";let mL=bE;function EM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(mL=n.toLowerCase().replace(/_/g,"-"))}function CM(n,e,t,i,r){if(n=be(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,xe),m=TM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),AM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=TM(a,e,u+p,h),m=TM(a,e,u,u+p),w=g>=0&&t[g],C=m>=0&&t[m];if(r&&!C||!r&&!w){Dc(Hs(c,o),s,a);const H=function(n,e,t,i,r){const s=new $h(n,t,xe);return s.multi=[],s.index=e,s.componentProviders=0,VL(s,r,i&&!t),s}(r?aX:oX,t.length,r,i,l);!r&&C&&(t[m].providerFactory=H),AM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(H),o.push(H)}else AM(s,n,g>-1?g:m,VL(t[r?m:g],l,!r&&i));!r&&i&&C&&t[m].componentProviders++}}}function AM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function VL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function TM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);CM(t,i.data,i.blueprint,r,!0),CM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class UL{}const HL="ngComponent";class uX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[HL]=n,e}(e)}}class wl{}function xE(...n){}function Eg(n,e){return new vn(Zs(n,e))}wl.NULL=new uX;const fX=function(){return Eg(cs(),jt())};let vn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=fX,n})();function GL(n){return n instanceof vn?n.nativeElement:n}class mf{}let IM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const $L=new ju("12.2.5");class WL{constructor(){}supports(e){return jy(e)}create(e){return new bX(e)}}const yX=(n,e)=>e;class bX{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||yX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new vX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new qL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new qL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class vX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class wX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class qL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new wX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function YL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new SX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class SX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function XL(){return new Sg([new WL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:XL}),n})();function QL(){return new xg([new KL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||QL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:QL}),n})();function CE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ry(e,i),Gl(t,i))}this._attachedToViewContainer=!1}sy(this._lView[1],this._lView)}onDestroy(e){zw(this._lView[1],this._lView,null,e)}markForCheck(){xy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class CX extends qy{constructor(e){super(e),this._view=e}detectChanges(){Zw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Zw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const TX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new qy(i,i)}return 47&n.type?new qy(e[16],e):null}(cs(),jt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=TX,n})();const IX=[new KL],RX=new Sg([new WL]),NX=new xg(IX),FX=function(){return AE(cs(),jt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=FX,n})();const kX=zo,LX=class extends kX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new qy(i)}};function AE(n,e){return 4&n.type?new LX(e,n,Eg(n,e)):null}class $c{}const VX=function(){return t3(cs(),jt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=VX,n})();const zX=Ns,JL=class extends zX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(Ev(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=e3(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new JL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),isw});class x3 extends UL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(fT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return S3(this.componentDef.inputs)}get outputs(){return S3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(IM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(pr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):iy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||sw,clean:KT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let w,C;Hh(m);try{const H=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&cy(r,n,l.classes),null!==l.styles&&xw(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Xw(o,l),vy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",$L.full]);else{const{attrs:U,classes:de}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&cy(l,u,de.join(" "))}if(C=d_(g,20),void 0!==t){const U=C.projection=[];for(let de=0;del(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Yw(t[1],a,0,a.directiveStart,a.directiveEnd,e),Kw(e,o)),o}(H,this.componentDef,m,p,[Hq]),df(g,m,null)}finally{fi()}return new UQ(this.componentType,w,Eg(C,m),m,C)}}class UQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new CX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class GQ extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new E3(this);const i=Oo(e),r=function(n){return n[D1]||null}(e);r&&EM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=nE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=wn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class GM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new GQ(this.moduleType,e)}}function M3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Ze("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(xe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=jt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?M3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function $M(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=$M(l),a&&(a=$M(a)),c&&(c=$M(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof x&&e.add(u),u}};function sZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=sZ)}get changes(){return this._changes||(this._changes=new sn)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=xE,this.reject=xE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(vf,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const o0=new Ht("AppId"),UZ={provide:o0,useFactory:function(){return`${nD()}${nD()}${nD()}`},deps:[]};function nD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const tB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),PE=new Ht("appBootstrapListener");let FE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),nB=new Ht("DefaultCurrencyCode");class HZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const iD=function(n){return new GM(n)},GZ=iD,$Z=function(n){return Promise.resolve(iD(n))},iB=function(n){const e=iD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new x3(o)),r},[]);return new HZ(e,i)},WZ=iB,qZ=function(n){return Promise.resolve(iB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=GZ,this.compileModuleAsync=$Z,this.compileModuleAndAllComponentsSync=WZ,this.compileModuleAndAllComponentsAsync=qZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const rB=new Ht("compilerOptions"),KZ=(()=>Promise.resolve(0))();function rD(n){"undefined"==typeof Zone?KZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,oD(n),n.isCheckStableRunning=!0,sD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),oD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return sB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),oB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return sB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),oB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,oD(n),sD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,QZ,xE,xE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const QZ={};function sD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function oD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function sB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function oB(n){n._nesting--,sD(n)}class eJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let aD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),rD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())rD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),aB=(()=>{class n{constructor(){this._applications=new Map,lD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return lD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class tJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let lD=new tJ,lB=!0,cB=!1;function Ba(){return cB=!0,lB}let rc;const uB=new Ht("AllowMultipleToken");function dB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=uD();if(!o||o.injector.get(uB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(uB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(hB);const e=n.get(tB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=uD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function uD(){return rc&&!rc.destroyed?rc:null}let hB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new eJ:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{dD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(EM(u.injector.get(Uu,bE)||bE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=fB({},i);return function(n,e,t){const i=new GM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function fB(n,e){return Array.isArray(e)?e.reduce(fB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new I(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new I(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),rD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof UL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(aD,null),u=c&&a.injector.get(aB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),dD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;dD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(PE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wn),Oe(oa),Oe(wl),Oe(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function dD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const MJ=dB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:hB,deps:[Wn]},{provide:aB,deps:[]},{provide:FE,deps:[]}]),NJ=[{provide:ih,useClass:ih,deps:[fn,Wn,oa,wl,Og]},{provide:BQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},UZ,{provide:Sg,useFactory:function(){return RX},deps:[]},{provide:xg,useFactory:function(){return NX},deps:[]},{provide:Uu,useFactory:function(n){return EM(n=n||"undefined"!=typeof $localize&&$localize.locale||bE),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:nB,useValue:"USD"}];let FJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Oe(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:NJ}),n})(),WE=null;function qc(){return WE}const hn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Pee,token:n,providedIn:"platform"}),n})();function Pee(){return Oe(UB)}let UB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){zB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){zB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:kee,token:n,providedIn:"platform"}),n})();function zB(){return!!window.history.pushState}function kee(){return new UB(Oe(hn))}function AD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function HB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Lee,token:n,providedIn:"root"}),n})();function Lee(n){const e=Oe(hn).location;return new GB(Oe(xf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let GB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return AD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(xf),Oe(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=HB($B(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,$B(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=AD,n.stripTrailingSlash=HB,n.\u0275prov=We({factory:jee,token:n,providedIn:"root"}),n})();function jee(){return new Pg(Oe(Cf),Oe(xf))}function $B(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const qee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=gL(e);if(t)return t;const i=e.split("-")[0];if(t=gL(i),t)return t;if("en"===i)return uK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class nS{}let Ete=(()=>{class n extends nS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(qee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Uu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class xte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new xte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new tj(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new tj(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo),xe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class tj{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Ate,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){nj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){nj("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Ate{constructor(){this.$implicit=null,this.ngIf=null}}function nj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ite{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ote{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Rte=new Ote,Nte=new Ite;let p0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Rte;if(Mk(t))return Nte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(xe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[{provide:nS,useClass:Ete}]}),n})();const cj="browser";function Tf(n){return n===cj}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){WE||(WE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(g0=g0||document.querySelector("base"),g0?g0.getAttribute("href"):null);return null==t?null:function(n){rS=rS||document.createElement("a"),rS.setAttribute("href",n);const e=rS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){g0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let rS,g0=null;const fj=new Ht("TRANSITION_ID"),ine=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let rne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const m0=new Ht("EventManagerPlugins");let oS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_0=(()=>{class n extends gj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(mj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(mj))}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function mj(n){qc().remove(n)}const HD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},GD=/%COMP%/g;function aS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let lS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new $D(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new bne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new vne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=aS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Oe(oS),Oe(_0),Oe(o0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class $D{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(HD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=HD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=HD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,bj(i)):this.eventManager.addEventListener(e,t,bj(i))}}class bne extends $D{constructor(e,t,i,r){super(e),this.component=i;const s=aS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(GD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(GD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class vne extends $D{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=aS(r.id,r.styles,[]);for(let o=0;o{class n extends zD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Ej=["alt","control","meta","shift"],Mne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Sj={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Dne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ine=(()=>{class n extends zD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(Ej.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Sj.hasOwnProperty(e)&&(e=Sj[e]))}return Mne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Ej.forEach(s=>{s!=r&&Dne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Oe(qD)},token:n,providedIn:"root"}),n})(),qD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):G_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new k_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return function(n){return new qD(n.get(hn))}(Oe(Pu))},token:n,providedIn:"root"}),n})();const Bne=dB(MJ,"browser",[{provide:Wc,useValue:cj},{provide:tB,useValue:function(){VD.makeCurrent(),UD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Qi=n}(document),document},deps:[]}]),jne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:m0,useClass:wne,multi:!0,deps:[hn,fn,Wc]},{provide:m0,useClass:Ine,multi:!0,deps:[hn]},[],{provide:lS,useClass:lS,deps:[oS,_0,o0]},{provide:mf,useExisting:lS},{provide:gj,useExisting:_0},{provide:_0,useClass:_0,deps:[hn]},{provide:aD,useClass:aD,deps:[fn]},{provide:oS,useClass:oS,deps:[m0,fn]},{provide:class{},useClass:rne,deps:[]},[]];let YD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:o0,useValue:t.appId},{provide:fj,useExisting:o0},ine]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:jne,imports:[qr,FJ]}),n})();"undefined"!=typeof window&&window;class qne extends x{constructor(e,t){super()}schedule(e,t=0){return this}}class cS extends qne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let Cj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends Cj{constructor(e,t=Cj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Xne=new class extends uc{}(class extends cS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new I(n=>n.complete());function uS(n){return n?function(n){return new I(e=>n.schedule(()=>e.complete()))}(n):Yc}function dn(...n){let e=n[n.length-1];return Ce(e)?(n.pop(),Ne(n,e)):On(n)}function Fg(n,e){return new I(e?t=>e.schedule(Zne,0,{error:n,subscriber:t}):t=>t.error(n))}function Zne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return dn(this.value);case"E":return Fg(this.error);case"C":return uS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class dS extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(dS.dispatch,this.delay,new eie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class eie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new tie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=x.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new dS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class tie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new nie(n))}class nie{constructor(e){this.project=e}call(e,t){return t.subscribe(new iie(e,this.project))}}class iie extends ve{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const hS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return hS.schedule(n,0);if(void 0===window.requestAnimationFrame)return hS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function fie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class gie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new mie(this.componentFactory,e)}}class mie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=hS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=hS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new l_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class _ie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const bie={initialConfig:{},parse:{},rename:{}};class vie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},bie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let wie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new vie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Hi]}),n})();var QD;const y0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function or(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Tj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Li(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Ij(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Ij()}const Oj="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JD();class Cie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Rj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Nj(n){return"string"==typeof n?Rj[n.toUpperCase()]||Rj.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},b0=hc.window||hc.self||hc.global,Pj=hc.process||{};function Lg(){let n;if(pS&&b0.performance)n=b0.performance.now();else if(Pj.hrtime){const e=Pj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Rie={enabled:!0,level:0};function Tl(){}const Fj={},kj={once:!0};function Nie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Oj,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Cie("__probe-".concat(this.id,"__"),Rie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,kj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,kj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Nie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Bj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Lj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Bj({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Fj[a])return Tl;Fj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=Nj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Nj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Oj,n})();function Lj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function Bj(n){const{logLevel:e,message:t}=n;n.logLevel=Lj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),Ui={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ui,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},jj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},pn=new tI({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return $o(mS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const v0={};const w0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,ere={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Uj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Uj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(Vj)?2147483647:65535,33001:n=>n.getExtension(Vj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},Hj="ANGLE_instanced_arrays",Gj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[Hj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=ere[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function hre(n,{extension:e,target:t,target2:i}){const r=Gj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&hre(n,{extension:t,target:n.luma,target2:n})}(n,Gj),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),$j=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function E0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const gre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:$j,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:$j,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=E0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=E0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=E0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const mre={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},Wj={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),qj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function Yj(n){for(const e in n)return!1;return!0}function _re(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=qj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=qj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];_re(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Xj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new vre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in Wj)yre(n,s,Wj[s]);Kj(n,"getParameter"),Kj(n,"isEnabled")}return n.state.enable=t,n}function Qj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(mS(n),"setParameters requires a WebGL context"),Yj(e))return;const t={};for(const r in e){const s=Number(r),o=gre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)mre[r](n,e,i)}function fc(n,e,t){if(Yj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Xj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Qj(n);else try{r=t(n)}finally{Qj(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=Zj(n[0],e,t);let o=Jj(n[1],e,i,r),a=Zj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Jj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Zj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Jj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),Tre=sI&&"undefined"!=typeof document,eV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function tV(n={}){$o(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},eV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Tre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);pn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},eV,e);const{manageState:t,debug:i}=e;return t&&Xj(n,{copyState:!1,log:(...r)=>pn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),pn.level=Math.max(pn.level,1)):pn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function nV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class iV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=nV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(nV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof iV?e:new iV(t,i)),this.stats[t]}}const S0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&pn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:pn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ga(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function rV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function sV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw pn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return sV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function x0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function jre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Ure)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const aV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},zre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:aV},Hre={removedProps:aV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,zre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Hre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=x0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/x0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return pn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return pn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return pn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return pn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},lV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},cV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Wre=[9729,9728],uV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(U=>this.initialize(Object.assign({},e,{pixels:U,data:U}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:w=!1,mipmaps:C=!0}=e;const{depth:H=0}=e;return({width:h,height:p,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=H,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),C&&this._isNPOT()&&(pn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),C=!1,this._updateForNPOT(l)),this.mipmaps=C,this.setImageData({data:t,width:h,height:p,depth:H,format:s,type:m,dataFormat:g,border:o,mipmaps:C,parameters:c,compressed:w}),C&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let C=null;({data:c,dataType:C}=this._getDataType({data:c,compressed:m}));let H,U=0;return fc(this.gl,l,()=>{switch(C){case"null":w.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":H=Co(w),H.bindBuffer(35052,c.handle||c),H.texImage2D(t,r,s,h,p,o,g,u,a),H.bindBuffer(35052,null);break;case"browser-object":Si(w)?w.texImage2D(t,r,s,h,p,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[de,Ae]of c.entries())w.compressedTexImage2D(t,de,Ae.format,Ae.width,Ae.height,o,Ae.data),U+=Ae.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===C?U:c&&c.byteLength?c.byteLength:this.width*this.height*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const C=i;i=C.data,o=C.shape[0],a=C.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,w,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof uV){const C=Co(this.gl);C.bindBuffer(35052,i),C.texSubImage2D(e,l,r,s,o,a,h,u,g),C.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return pn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof uV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||rV(this.width)&&rV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Wre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function qre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:qre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",dV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,dV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*dV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const mV="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,mV),fc(n,s,()=>{n.clear(o)})}function _V(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){_V(s,i,r,o,a,"next",l)}function a(l){_V(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let ese=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&pn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((w,C)=>{t&&i?u.texImage2D(g,C,a,t,i,o,a,l,w):u.texImage2D(g,C,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=gI,n})();class tse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}}function yV(n,e){tn(n instanceof _a||n instanceof ese||n instanceof tse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function nse(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function bS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=C0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(x0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=bS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=jre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&pn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,mV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return pn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return pn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return pn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return pn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return pn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return pn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>pn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return pn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,bV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),bV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in vV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=EV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const vV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return wV(n,e)}function wV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>EV(n,t))}function EV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=vV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||pn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},pse=1/Math.PI*180,gse=1/180*Math.PI,Or={};function _se(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*gse,void 0)}(n)}function bse(n){return function(n,e){return qu(n,t=>t*pse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function vS(n,e,t){return lh(n)?n.map((i,r)=>vS(i,e[r],t)):t*e+(1-t)*n}function T0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+_se(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(BV.length=n.length,i=BV):i=LV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function jV(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?VV(n,e,[]):e(n)?[n]:[]}function VV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function UV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Wse[n.type]),e),n)):null}function zV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function HV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function GV(n){n.push(n.shift())}function AI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function $V({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=AI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const H=s;s=(U,de)=>t._normalizeConstant(H(U,de))}const m=p?(H,U)=>s(g,U):(H,U)=>s(g.subarray(H,H+a),U),w=n.getData({length:i}),C=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===CS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=CS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Hse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==CS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const C=h*a+l;for(let H=0;Hu?c.set(de,w):(e._normalizeValue(de,H.target,0),zse({target:c,source:H.target,start:w,count:Ae}));w+=Ae*u}else e._normalizeValue(de,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function To(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const WV="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Kse=`#version 300 es\n${WV}`;function qV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function YV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Kse:e>300?`#version ${e}\n${WV}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class KV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,pn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Jse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new KV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function XV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const O0="vs",noe={[O0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},AS="__LUMA_INJECT_DECLARATIONS__",QV=/void\s+main\s*\([^)]*\)\s*\{\n?/,ZV=/}\n?[^{}]*$/,II=[];function JV(n,e,t,i=!1){const r=e===O0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(ZV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(AS,a));break;case"fs:#main-start":r||(n=n.replace(QV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(ZV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(AS,""),i&&(n=n.replace(/\}\s*$/,s=>s+noe[e])),n}function OI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const ioe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",eU="transform_position";const doe={10241:9728,10240:9728,10242:33071,10243:33071};class foe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=bS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(doe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=yV(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return qV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(w){const{updatedLine:C,inject:H}=w;h[g]=C,c=OI([c,H]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=qV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${eU} = transform_getPos(${p});\n gl_Position = vec4(${eU}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||YV({version:XV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[ioe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function goe(n){let e=tU(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=tU(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function tU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class NI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=goe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function boe(n){return function(n){const e={},t={};return PI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(iU(n))}function PI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof NI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new NI(t)).dependencies=iU(t.dependencies)),t))}const FI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Toe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(FI).forEach(n=>{Nf[n]=n});const kI={};function rU(n,e,t={}){const i=FI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function MS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=FI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const sU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Ooe=[...sU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Roe=[...sU,[Gg("varying"),"in $1"]],oU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Noe=[...oU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Poe=[...oU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Foe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const joe=`\n\n${AS}\n\n`,aU={[O0]:"vertex",fs:"fragment"};function lU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===O0,p=t.split("\n");let g=100,m="",w=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],w=p.slice(1).join("\n")):m=`#version ${g}`;const C={};r.forEach(Be=>{Object.assign(C,Be.getDefines())}),Object.assign(C,s);let H=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${aU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${aU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Toe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return MS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),MS(n,Nf.GLSL_DERIVATIVES)&&rU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),MS(n,Nf.GLSL_FRAG_DATA)&&rU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),MS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(C)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const U=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),de={},Ae={},Pe={};for(const Be in a){const et="string"==typeof a[Be]?{injection:a[Be],order:0}:a[Be],wt=Be.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const Ct=wt[3];wt[2]?"decl"===Ct?Ae[Be]=[et]:Pe[Be]=[et]:de[Be]=[et]}else Pe[Be]=[et]}for(const Be of r){u&&Be.checkDeprecations(w,u),H+=Be.getModuleSource(i,g);const wt=Be.injections[i];for(const vt in wt){const Ct=vt.match(/^(v|f)s:#([\w-]+)$/);if(Ct){const $t="decl"===Ct[2]?Ae:Pe;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else de[vt]=de[vt]||[],de[vt].push(wt[vt])}}return H+=joe,H=JV(H,i,Ae),H+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(U[i],de),H+=w,H=JV(H,i,Pe),H=function(n,e,t){switch(e){case 300:return t?DS(n,Ooe):function(n){const e=(n=DS(n,Roe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Foe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,Noe):function(n){const e=(n=DS(n,Poe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(H,l?100:g,h),H}function zoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Yoe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",IS,1,Mo),36294:Rr.bind(null,"uniform2uiv",IS,2,Mo),36295:Rr.bind(null,"uniform3uiv",IS,3,Mo),36296:Rr.bind(null,"uniform4uiv",IS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Koe={},Xoe={},Qoe={},cU=[0];function jI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(cU[0]=n,n=cU);const r=n.length;if(r%e&&pn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return fU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:hU(s,c),warnings:hU(o,c)}}(i,this.source,this.shaderType,this.id);throw pn.error(`GLSL compilation errors in ${r}\n${s}`)(),pn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends R0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends R0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,N0=5124,P0=5125,zI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[N0]:[N0,1,"int"],35667:[N0,2,"ivec2"],35668:[N0,3,"ivec3"],35669:[N0,4,"ivec4"],[P0]:[P0,1,"uint"],36294:[P0,2,"uvec2"],36295:[P0,3,"uvec3"],36296:[P0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function bU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function vU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Fae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=bU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=bU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const kae=35981,Lae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class EU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Lae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=kae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof VI),tn(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Fae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:w,samplers:C}){if((w||C)&&(pn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),pn.priority>=e){const H=g?g.id:"default",U=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${H}`;pn.log(e,U)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const H=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(H)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){pn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!eae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&tae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),pn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),pn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||pn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(de=>this._getHash(de.name)).sort(),g=o.map(de=>this._getHash(de)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),C=[],H=[];for(const de of m)C.push(this._getHash(de)),C.push(this._getHash(r[de]));for(const de of w)H.push(this._getHash(de)),H.push(this._getHash(s[de]));const U=`${u}/${h}D${C.join("/")}M${p.join("/")}I${H.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[U]){const de=function(n,e){const{vs:t,fs:i}=e,r=boe(e.modules||[]);return{gl:n,vs:lU(n,Object.assign({},e,{source:t,type:O0,modules:r})),fs:lU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:zoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[U]=new EU(this.gl,{hash:U,vs:de.vs,fs:de.fs,varyings:o,bufferMode:a}),this._getUniforms[U]=de.getUniforms||(Ae=>{}),this._useCounts[U]=0}return this._useCounts[U]++,this._programCache[U]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":b0.chrome?"Chrome":b0.safari?"Safari":b0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!NS||NS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Gae=/^(.+)__LOCATION_([0-9]+)$/,$ae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Wae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),sV(this,"VertexArray","v6.0",$ae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,pn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Gae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return pn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function k0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=k0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function SU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let w;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${k0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${k0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Kae(n,e){const{type:t,size:i}=e,r=vU(t,i);return r?`${n} (${r.name})`:n}function xU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:k0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?k0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function CU(n){const{type:e,size:t}=n.accessor,i=vU(e,t);return i?`${i.name} ${n.name}`:n.name}const Zae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ele(n,e){const{attributeMap:t=Zae}=e||{};return t&&t[n]||n}function tle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const AU=()=>{},rle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(mS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=ele(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new hr(n,l),c],tle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),pn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&pn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:C}=this,{onBeforeRender:H=AU,onAfterRender:U=AU}=this.props;H(),this.program.setUniforms(this.uniforms);const de=this.program.draw(Object.assign(rle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:w,instanceCount:C,offset:h?g:0}));return U(),pn.priority>=2&&this._logDrawCallEnd(c,l,i),de}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return pn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof EU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Wae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new KV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:pn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=SU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Kae(s.name,a)}`),t[o]=SU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&pn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&pn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);pn.table(e,s)(),pn.table(e,o)(),pn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),pn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||YV({version:XV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Jse(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new foe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function PS(){}const ale={onStart:PS,onUpdate:PS,onInterrupt:PS,onEnd:PS};class L0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},ale),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const gle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=HV(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;GV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:zV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=HV(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:zV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),GV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),bS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class mle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=gle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const TU="attributeManager.invalidate";class Ele{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new mle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function DU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function IU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=UV(r)))return;const o=Ale[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Mle}=FS;function Ole(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function OU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Ple(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Vle(i[r],e[r])){t=n(i),e=i;break}return t}}function Ule(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],w=e[13],C=e[14],H=e[15],U=t*a-i*o,de=t*l-r*o,Ae=t*c-s*o,Pe=i*l-r*a,Be=i*c-s*a,et=r*c-s*l,wt=u*w-h*m,vt=u*C-p*m,Ct=u*H-g*m,Bt=h*C-p*w,$t=h*H-g*w,gt=p*H-g*C,mt=U*gt-de*$t+Ae*Bt+Pe*Ct-Be*vt+et*wt;return mt?(n[0]=(a*gt-l*$t+c*Bt)*(mt=1/mt),n[1]=(r*$t-i*gt-s*Bt)*mt,n[2]=(w*et-C*Be+H*Pe)*mt,n[3]=(p*Be-h*et-g*Pe)*mt,n[4]=(l*Ct-o*gt-c*vt)*mt,n[5]=(t*gt-r*Ct+s*vt)*mt,n[6]=(C*Ae-m*et-H*de)*mt,n[7]=(u*et-p*Ae+g*de)*mt,n[8]=(o*$t-a*Ct+c*wt)*mt,n[9]=(i*Ct-t*$t-s*wt)*mt,n[10]=(m*Be-w*Ae+H*U)*mt,n[11]=(h*Ae-u*Be-g*U)*mt,n[12]=(a*vt-o*Bt-l*wt)*mt,n[13]=(t*Bt-i*vt+r*wt)*mt,n[14]=(w*de-m*Pe-C*U)*mt,n[15]=(u*Pe-h*de+p*U)*mt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],w=e[12],C=e[13],H=e[14],U=e[15],de=t[0],Ae=t[1],Pe=t[2],Be=t[3];return n[0]=de*i+Ae*a+Pe*h+Be*w,n[1]=de*r+Ae*l+Pe*p+Be*C,n[2]=de*s+Ae*c+Pe*g+Be*H,n[3]=de*o+Ae*u+Pe*m+Be*U,n[4]=(de=t[4])*i+(Ae=t[5])*a+(Pe=t[6])*h+(Be=t[7])*w,n[5]=de*r+Ae*l+Pe*p+Be*C,n[6]=de*s+Ae*c+Pe*g+Be*H,n[7]=de*o+Ae*u+Pe*m+Be*U,n[8]=(de=t[8])*i+(Ae=t[9])*a+(Pe=t[10])*h+(Be=t[11])*w,n[9]=de*r+Ae*l+Pe*p+Be*C,n[10]=de*s+Ae*c+Pe*g+Be*H,n[11]=de*o+Ae*u+Pe*m+Be*U,n[12]=(de=t[12])*i+(Ae=t[13])*a+(Pe=t[14])*h+(Be=t[15])*w,n[13]=de*r+Ae*l+Pe*p+Be*C,n[14]=de*s+Ae*c+Pe*g+Be*H,n[15]=de*o+Ae*u+Pe*m+Be*U,n}function LS(n,e,t){var o,a,l,c,u,h,p,g,m,w,C,H,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],w=e[9],C=e[10],H=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=w,n[10]=C,n[11]=H,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+p*r+C*s+e[14],n[15]=c*i+g*r+H*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function PU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function kU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function jS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function LU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const BU=[0,0,0,0],hce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],pce=[0,0,0],gce=[0,0,0],mce=kS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=BU,l=BU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=jU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=jS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,hce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:pce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Ui.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Ui.LNGLAT:case Ui.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Ui.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function jU(n,e,t=gce){let r,i=t,s=!0;switch(r=e===Ui.LNGLAT_OFFSETS||e===Ui.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===Ui.LNGLAT||e===Ui.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===Ui.LNGLAT?i=r:e===Ui.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class vce extends wS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],w=n[14],C=n[15];return(e*o-t*s)*(h*C-p*w)-(e*a-i*s)*(u*C-p*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*C-p*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return NU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return PU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,w,C,H,U,de,Ae,Pe,Be,et,wt,vt,Ct,Bt,$t,gt,mt,Vt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,$U=gc/4,mc=gc/180,KI=180/gc,XI=4003e4,US=85.051129;function zS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan($U+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-$U);return[t*KI,i*KI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/XI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function WU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=zS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function YU(n){return 2*Math.atan(.5/n)*KI}function KU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return UU([],o,a,l===c?0:((t||0)-l)/(c-l))}const XU=Math.PI/180;function QU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(UU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Lce=Math.PI/180,Bce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Vce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&T0(t.projectionMatrix,this.projectionMatrix)&&T0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=KU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?zS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const C=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:H,aspect:U,focalDistance:de,near:Ae,far:Pe}=function({width:n,height:e,fovy:t=YU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=YU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Be=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),NU(o,o,-e*mc),PU(o,o,t*mc),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:C,altitude:w});p&&(Be=(new qn).translate([512*p,0,0]).multiplyLeft(Be)),super(Sn(ot({},t),{width:g,height:m,viewMatrix:Be,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:H,aspect:U,focalDistance:de,near:Ae,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return WU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=VS([],this.projectFlat(t),VU([],r)),a=VS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*XU:Math.atan(.5/n.altitude))>(90-n.pitch)*XU-.01?(l=QU(n,0,e),c=QU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=zS([a,GU(u,-US,US)]),p=zS([c,GU(l,-US,US)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const w=m[0]/g[0],C=m[1]/g[1],Ae=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/w,(p[1]+h[1])/2+(s.bottom-s.top)/2/C]),Pe=Math.min(r,YI(Math.abs(Math.min(w,C))));return Xu(Number.isFinite(Pe)),{longitude:Ae[0],latitude:Ae[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof nz){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function iz(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=jS([],[o,a,l,1],t)),i){case Ui.LNGLAT:return eO([o,a,l],e,s);case Ui.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ui.METER_OFFSETS:return eO(WU(r,[o,a,l]),e,s);case Ui.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Hce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Wce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||U0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||U0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Sn(ot({},e),{parameters:ot(ot(ot({},Hce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!U0(n)||!U0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=sue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[iue]||{},i=e[nue]||e,r=e[rue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(jV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=rO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const C=m,{dataTransform:H}=i.component?i.component.props:{};a=H?H(C,a):a.concat(C),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(C){u=!0,h=C}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:az,ASYNC_RESOLVED:lz,ASYNC_DEFAULTS:oue}=FS,aue={};let lue=0,cue=(()=>{class n{constructor(){this.props=Kce.apply(this,arguments),this.id=this.props.id,this.count=lue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[oue])s in i[lz]?r[s]=i[lz][s]:s in i[az]&&(r[s]=i[az][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new oz({})}}return n.componentName="Component",n.defaultProps=aue,n})();class uue extends oz{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,uz=n=>uh(n)&&n.constructor==={}.constructor,due=n=>n&&"function"==typeof n[Symbol.iterator],hue=n=>n&&"function"==typeof n[Symbol.asyncIterator],H0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,dz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Ff(n,"null loader"),Ff(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=Zc.global||Zc.self||Zc.window||{},yue="object"!=typeof process||"[object process]"!==String(process)||process.browser,hz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);hz&&parseFloat(hz[1]);const cO={};function bue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const vue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,wue=/^([-\w.]+\/[-\w.+]+)/;function Eue(n){const e=wue.exec(n);return e?e[1]:n}function fz(n){const e=vue.exec(n);return e?e[1]:""}const Sue=/\?.*/;function qS(n){if(H0(n)){const e=uO(n.url||"");return{url:e,type:Eue(n.headers.get("content-type")||"")||fz(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:fz(n)}:{url:"",type:""}}function xue(n){return H0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(Sue,"")}function pz(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){if(H0(n))return n;const e={},t=xue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield Tue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Cue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if(!n.ok){const e=yield Aue(n);throw new Error(e)}})).apply(this,arguments)}function Aue(n){return fO.apply(this,arguments)}function fO(){return(fO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Tue(n){return pO.apply(this,arguments)}function pO(){return(pO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Mue(n.slice(0,5))}`:null})).apply(this,arguments)}function Mue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const _z={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Oue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},_z),n.globalOptions};function Rue(n,e,t,i){return t=t||[],function(n,e){bz(n,null,_z,Oue,e);for(const t of e)bz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Due),wz(r,_O()),wz(r,e),r}(e,n,i)}function yz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>gz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:gz}function bz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)mz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Pue(a,r);mz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Pue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function wz(n,e){for(const t in e)t in e&&(n[t]=uz(e[t])&&uz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Lue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Bue=eu.global||eu.self||eu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,jue="undefined"!=typeof window&&void 0!==window.orientation,Ez="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(Ez&&parseFloat(Ez[1]),new Map);function Sz(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function xz(n,e=!0,t){const i=t||new Set;if(n)if(Cz(n))i.add(n);else if(Cz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)xz(n[r],e,i);return void 0===t?Array.from(i):[]}function Cz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class Az{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||xz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?Sz(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=Sz(n.source),vO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Hue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Gue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Hue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return Az.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},$ue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Gue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function que(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Yue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Kue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=oi(function*(n,e,t,i,r){const s=n.id,o=que(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Xue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Xue(n,e,t,i){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var Mz=Je(521);function Dz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Mz.toArrayBuffer?Mz.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function ede(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Iz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function tde(n){return CO.apply(this,arguments)}function CO(){return(CO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return ede(...e)})).apply(this,arguments)}const rde=262144;function Oz(n){this.wrapped=n}function G0(n){return new Oz(n)}function $0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Oz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new $0(n.apply(this,arguments))}}function MO(){return(MO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function hde(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return dde(n,e);if(em(n)&&(n=yield pz(n)),H0(n)){const r=n;return yield Cue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(dz(n)&&(n=ude(n,t)),due(n)||hue(n))return tde(n);throw new Error(OO)})).apply(this,arguments)}function pde(n,e,t=null){if(t)return t;const i=ot({fetch:yz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function gde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Nz=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Pz(n){const e=Nz();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const _de=/\.([^.]+)$/;function yde(n){return FO.apply(this,arguments)}function FO(){return(FO=oi(function*(n,e=[],t,i){if(!kz(n))return null;let r=Fz(n,e,Sn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Fz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Lz(n));return r})).apply(this,arguments)}function Fz(n,e=[],t,i){if(!kz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Nz()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&_de.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(xde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Bz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Bz(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Lz(n));return s}function kz(n){return!(n instanceof Response&&204===n.status)}function Lz(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function xde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Bz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const Fde={data:{type:"data",value:Nde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(ot({},r),{fetch:Sn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:W0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):W0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ui.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let q0=(()=>{class n extends cue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=iz(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=KU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Ui.DEFAULT&&(t=i.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=jU(t,i,r),h=iz(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ui.DEFAULT||t===Ui.LNGLAT||t===Ui.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Ule(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Pde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rjz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=A0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,jz)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=OU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&RU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&RU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Ple(n,e),transitionsChanged:Ole(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Ele(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new uue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Tle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Fde,n})(),Vz=(()=>{class n extends q0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H,_subLayerProps:U}=this.props,de={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H},Ae=U&&U[t.id],Pe=Ae&&Ae.updateTriggers,Be=t.id||"sublayer";if(Ae){const et=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Ae){const Ct=wt[vt]||et[vt];Ct&&"accessor"===Ct.type&&(Ae[vt]=this.getSubLayerAccessor(Ae[vt]))}}Object.assign(de,t,Ae),de.id="".concat(this.props.id,"-").concat(Be),de.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const et of C){const wt=et.getSubLayerProps.call(this,et);wt&&Object.assign(de,wt,{updateTriggers:Object.assign(de.updateTriggers,wt.updateTriggers)})}return de}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Lde=/([0-9]+\.?[0-9]*)(%|px)/;function KS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Lde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function XS(n,e){return n.relative?Math.round(n.position*e):n.position}function Y0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Y0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Y0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:XS(this._x,e),y:XS(this._y,t),width:XS(this._width,e),height:XS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=KS(e),this._y=KS(t),this._width=KS(i),this._height=KS(r)}}const K0=()=>{},Uz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Bde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},Uz),t),this.propsInTransition=null,this.transition=new L0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},Uz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const zz=["longitude","latitude","zoom","bearing","pitch"],Vde=["longitude","latitude","zoom"];class Hz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!T0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:zz,extract:zz,required:Vde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=vS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,vS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},Ude={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},ZS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Bde(e,Sn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(ot({},Ude),{transitionInterpolator:new Hz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(ot({},t),{transitionInterpolator:new Hz(Sn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class Gz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class JS extends Gz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Hde extends zO{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Gde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const $de=(new qn).lookAt({eye:[0,0,1]});function Wde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class qde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(ot({},e),{longitude:null,position:a,viewMatrix:$de.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Wde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=VS([],e,VU([],j0(t,this.pixelUnprojectionMatrix)));return{target:VS([],this.center,r)}}}let Yde=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrthographicView",n})();const ex=Math.PI/180;function Kde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ex/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ex),"Z"===t?c.rotateZ(r*ex):c.rotateY(r*ex);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Xde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(ot({},e),{longitude:null,viewMatrix:Kde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Qde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(ot({},t),{orbitAxis:i,type:Xde}))}get controller(){return this._getControllerProps({type:Hde})}}return n.displayName="OrbitView",n})();const Zde=[255,255,255],Jde=1;let ehe=0;class $z{constructor(e={}){const{color:t=Zde}=e,{intensity:i=Jde}=e;this.id=e.id||"ambient-".concat(ehe++),this.color=t,this.intensity=i,this.type="ambient"}}const the=[255,255,255],nhe=1,ihe=[0,0,-1];let rhe=0;class Wz{constructor(e={}){const{color:t=the}=e,{intensity:i=nhe}=e,{direction:r=ihe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(rhe++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class qz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=Yz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||Yz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class lhe extends HO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const uhe=Object.keys(Ui).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Ui[n],";")).join(""),dhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),hhe="".concat(uhe,"\n").concat(dhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),fhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:hhe,getUniforms:function(n=fhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Ui.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ui.DEFAULT&&(i=n.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN);const o=mce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||fce,o}(n):{}}},_he=kS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),yhe=kS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),bhe=[0,0,0,1],vhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||bhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=_he({viewport:n.viewport,center:e.project_uCenter}),r=[],s=yhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Che={color:[255,255,255],intensity:1},Kz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ahe=[0,0,0,200/255];class WO extends qz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=Ahe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Mhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Dhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=W0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ihe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Dhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ohe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],Rhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Nhe(n){const e=F0.getDefaultProgramManager(n);for(const t of Ohe)e.addDefaultModule(t);for(const t of Rhe)e.addShaderHook(t);return e}const khe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Lhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ihe({gl:e,protocol:"deck://"}),this.context=Sn(ot({},khe),{layerManager:this,gl:e,deck:t,programManager:e&&Nhe(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Xz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Bhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Y0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Vhe extends Gz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de,normalize:Ae}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Ae}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=HU(t+180,360)-180),(o<-180||o>180)&&(o=HU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Uhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Vhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let zhe=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:nz}))}get controller(){return this._getControllerProps({type:Uhe})}}return n.displayName="MapView",n})();const Hhe=new WO;class Ghe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Y0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Hhe)}}class $he extends HO{}const Zz={blendFunc:[1,0,32771,0],blendEquation:32774};class Jz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Sn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Zz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(ot({},Zz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class qhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $he(e),this.pickLayersPass=new Jz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Yhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Khe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let C=0;C=0){const U=C+o-t,de=U*U+w;de<=u&&(u=de,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const C=w.decodePickingColor(m),H=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:C,pickedX:o+(h/4-H*l),pickedY:a+H}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Yhe}function e4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Qhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(w=>w.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=e4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=ot({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=t4({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function t4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Jhe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Jz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:e4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:w,height:C}=this.pickingFBO,H=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:C});let U;const de=[],Ae={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:H,width:w.x+w.width-g,height:m-H},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Be=Number.isFinite(c);for(let et=0;et=c);et++){const wt=Ae[et];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=t4({layer:wt.pickedLayer,info:vt,mode:l}),Pe.has(vt.object)||Pe.set(vt.object,vt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return bS(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const efe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class tfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,efe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function n4(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},i4=nu.global||nu.self||nu.window,ife="object"!=typeof process||"[object process]"!==String(process)||process.browser,r4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:rfe}=(r4&&parseFloat(r4[1]),i4),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,sfe=Boolean(rfe),KO=!!ife||sfe;function s4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function o4(n){switch(s4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const lfe=/^data:image\/svg\+xml/,cfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(lfe.test(n)||cfe.test(n))}function ufe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return l4(n,e)}function l4(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function c4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){const i=ufe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield dfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function dfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const hfe={};let u4=!0;function ffe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=oi(function*(n,e,t){let i;i=XO(t)?yield c4(n,e,t):l4(n,t);const r=e&&e.imagebitmap;return yield pfe(i,r)})).apply(this,arguments)}function pfe(n){return eR.apply(this,arguments)}function eR(){return(eR=oi(function*(n,e=null){if((gfe(e)||!u4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),u4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function gfe(n){for(const e in n||hfe)return!1;return!0}const iu=!1,X0=!0;function tR(n){const e=Q0(n);return function(n){const e=Q0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=Q0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,X0),height:e.getUint16(8,X0)}:null}(e)||function(n){const e=Q0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,X0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,X0),height:e.getUint32(22,X0)}:null}(e)}function Q0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function wfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=i4;return n4(i),i(n,t,e)}function nR(){return(nR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(Sfe(r)){case"imagebitmap":a=yield ffe(n,e,s);break;case"image":a=yield c4(n,e,s);break;case"data":a=yield wfe(n,e);break;default:n4(!1)}return"data"===r&&(a=o4(a)),a})).apply(this,arguments)}function Sfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(KO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||KO;case"imagebitmap":return YO;case"image":return qO;case"data":return KO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Cfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Z0="8.5.8",tx=nm.CO.deck&&nm.CO.deck.VERSION;if(tx&&tx!==Z0)throw new Error("deck.gl - multiple versions detected: ".concat(tx," vs ").concat(Z0));tx||(Ri.log(1,"deck.gl ".concat(Z0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:Z0,version:Z0,log:Ri,_registerLoggers:function(n){MI=n}}),Pz([Cfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Afe=nm.CO.deck;class nx extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=wV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const d4=yS()&&"undefined"!=typeof document;let kfe=0;class Lfe{constructor(e={}){const{onCreateContext:t=(C=>tV(C)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+kfe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(pn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nx.isSupported(this.gl,["timers"])?new nx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return pn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=d4?new Promise((e,t)=>{d4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(pn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(pn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Bfe=Je(524),ix=Je.n(Bfe);const jfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(ix().MouseInput);const Hfe=ix().Manager,ru=ix(),Gfe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,p4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},$fe={doubletap:["tap"]},Wfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},qfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},g4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Yfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let m4=!1;try{const n={get passive(){return m4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Kfe=-1!==Yfe.indexOf("firefox"),{WHEEL_EVENTS:Xfe}=sR,y4=4.000244140625;class Jfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Xfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!m4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Kfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%y4==0&&(t=Math.floor(t/y4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:epe}=sR,b4="pointermove",v4="pointerover",w4="pointerout",E4="pointerleave";class tpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=epe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===b4&&(this.enableMoveEvent=t),e===v4&&(this.enableOverEvent=t),e===w4&&(this.enableOutEvent=t),e===E4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:v4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:w4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:E4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:b4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:npe}=sR,S4="keydown";class ipe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=npe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===S4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:S4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const C4="contextmenu";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===C4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:C4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const spe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},A4={srcElement:"root",priority:0};class _pe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},A4,i):A4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&p4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Jfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new tpe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new ipe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new rpe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=$fe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=g4[e]||e;let c=a.get(l);c||(c=new _pe(this),a.set(l,c),c.recognizerName=qfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(g4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Wfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const T4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sx{constructor(e){e=ot(ot({},T4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!Y0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Lfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>tV(Sn(ot(ot({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new zhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new tfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Xz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in jj)this.eventManager.on(r,this._onEvent);this.viewManager=new Bhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Lhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Ghe,this.deckRenderer=new qhe(e),this.deckPicker=new Jhe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=jj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sx.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(qz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sx.defaultProps=T4,sx.VERSION=Afe.VERSION;const ox={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},Spe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},ax=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=Spe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),M4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return M4}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=M4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const D4=()=>{},Dpe={10241:9987,10240:9729,10242:33071,10243:33071};function Ipe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Ope(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function J0(n){return n&&(n.id||n.url)}function I4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(I4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&I4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ipe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Dpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=yV(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=C0(n);tn(p);const{gl:m,handle:w}=p,C=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const H=m.bindFramebuffer(36160,w);tn(e);let U=null;if(e instanceof Of&&(U=e,u=Number.isFinite(u)?u:U.width,h=Number.isFinite(h)?h:U.height,U.bind(0),e=U.target),C)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);U&&U.unbind(),m.bindFramebuffer(36160,H||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,W0(i.url,iR,this._loadOptions).then(r=>{const s=J0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Ope(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const O4=[0,0,0,255],kpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:O4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Lpe=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.state={iconManager:new Fpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:O4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=kpe,n})();const N4=[],jpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Vpe=(()=>{class n extends Lpe{getShaders(){return Sn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):N4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):N4}}return n.layerName="MultiIconLayer",n.defaultProps=jpe,n})();var Upe=Je(2),zpe=Je.n(Upe);const Gpe=[];function $pe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function P4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=P4(n,a,l,r);c+h>i&&(oi&&(h=F4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Kpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let w=0;w<=s;w++){const C=n[w];if(("\n"===C||w===s)&&(m=w),m>g){const H=c?Ype(n,t,i,r,g,m):Gpe;for(let U=0;U<=H.length;U++){const de=0===U?g:H[U-1],Ae=Ui===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),tge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function ige(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");W4(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:C}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:$pe(a+(l+1)*h)}}(ot({getFontWidth:H=>p.measureText(H).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const H=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(H,0,0)}if(W4(p,r,o,s),l){const H=new(zpe())(o,a,c,u,r,s),U=p.getImageData(0,0,H.size,H.size);for(const de of t)ige(H.draw(de),U),p.putImageData(U,g[de].x-a,g[de].y+a)}else for(const H of t)p.fillText(H,g[H].x,g[H].y+.9*o);return{xOffset:w,yOffset:C,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const age={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let lge=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=age,n})();const q4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},Y4={start:1,middle:0,end:-1},K4={top:1,center:0,bottom:-1},cR=[0,0,0,255],uge=["fontSize","buffer","sdf","radius","cutoff"],dge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:L4},fontFamily:B4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let hge=(()=>{class n extends Vz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new rge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(ot(ot({},q4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return uge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=xS(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=k4(h,l,o,a,r);return[(Y4["function"==typeof c?c(t,i):c]-1)*p/2,(K4["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[w,C]}=k4(h,l,o,a,r),H=Y4["function"==typeof c?c(t,i):c],U=K4["function"==typeof u?u(t,i):u],de=p.length,Ae=new Array(2*de);let Pe=0;for(let Be=0;Bet*e/255)}const dR={name:"lights",vs:X4,fs:X4,getUniforms:function Q4(n=fge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return Q4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},gge={};const _ge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=gge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,lx=new Float32Array(16),e5=new Float32Array(12);function t5(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function n5(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const i5={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let w;g?(lx.set(a),w=n5(lx)):(w=e5,t5(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:C,objectInfo:H}=xS(i,e,t);for(const U of C){let de;H.index++,g?(lx.set(c?a:a(U,H)),de=n5(lx)):(de=e5,t5(de,h?r:r(U,H),u?s:s(U,H)),de.set(p?o:o(U,H),9)),m[w++]=de[0],m[w++]=de[1],m[w++]=de[2],m[w++]=de[3],m[w++]=de[4],m[w++]=de[5],m[w++]=de[6],m[w++]=de[7],m[w++]=de[8],m[w++]=de[9],m[w++]=de[10],m[w++]=de[11]}}}};function r5(n,e){return e===Ui.CARTESIAN||e===Ui.METER_OFFSETS||e===Ui.DEFAULT&&!n.isGeospatial}function s5(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function vge(n,e){if(n.attributes)return s5(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return s5(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const wge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Ege=(()=>{class n extends q0{getShaders(){const t=!Si(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[ox,_ge,ax],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:i5}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||r5(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:vge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=wge,n})();const o5={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class eb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;pn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof eb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function a5(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],w=t[3],C=t[4],H=t[5],U=t[6],de=t[7],Ae=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=w*i+C*o+H*c,n[4]=w*r+C*a+H*u,n[5]=w*s+C*l+H*h,n[6]=U*i+de*o+Ae*c,n[7]=U*r+de*a+Ae*u,n[8]=U*s+de*l+Ae*h,n}function l5(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function c5(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function u5(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function cx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function d5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function h5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function f5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function p5(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function tb(n,e,t,i){var p,g,m,w,C,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-i)*p)/m,C=Math.sin(i*p)/m):(w=1-i,C=i),n[0]=w*r+C*l,n[1]=w*s+C*c,n[2]=w*o+C*u,n[3]=w*a+C*h,n}function g5(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function m5(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var _5=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=kU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},y5=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},b5=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},v5=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},E5=function(){var n=CV(),e=AV(1,0,0),t=AV(0,1,0);return function(i,r,s){var o=TV(r,s);return o<-.999999?(M0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&M0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(M0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();c5(),c5(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Rge=[0,0,0,1];class _R extends wS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return u5(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get w(){return this[3]}set w(e){this[3]=ar(e)}len(){return b5(this)}lengthSquared(){return v5(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return E5(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return _5(this,this,e),this.check()}calculateW(){return p5(this,this),this.check()}conjugate(){return m5(this,this),this.check()}invert(){return g5(this,this),this.check()}lerp(e,t,i){return y5(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),cx(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),cx(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Rge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),ES(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Nge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Pge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function S5(n){if(!n._animation){const e=Pge[n.componentType],t=Nge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:pn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:S5(e.accessors[a]),interpolation:l,output:S5(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Uge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Hge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Gge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(pn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function x5(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Yge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Kge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Xge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Kge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new zge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new eb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new eb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new eb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){pn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Gge(n,e);pn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Hge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[o5],defines:a.defines,parameters:a.parameters,vs:x5(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:x5(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),pn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Yge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function C5(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=D5(D5(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function D5(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,I5,O5,R5,N5,P5,F5,k5;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class bR{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,I5=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[I5](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ome extends om{constructor(){super(!0,8)}}class ame extends om{constructor(){super(!0,16)}}class lme extends om{constructor(){super(!0,32)}}class cme extends om{constructor(){super(!1,8)}}class ume extends om{constructor(){super(!1,16)}}class dme extends om{constructor(){super(!1,32)}}O5=Symbol.toStringTag;class L5 extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[O5](){return"Float"}toString(){return`Float${this.precision}`}}class hme extends L5{constructor(){super(32)}}class fme extends L5{constructor(){super(64)}}Symbol,Symbol,R5=Symbol.toStringTag,N5=Symbol.toStringTag,P5=Symbol.toStringTag,F5=Symbol.toStringTag,k5=Symbol.toStringTag;class pme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[k5](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ux{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new ux(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function B5(n,e,t){const i=t?j5(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ome;case Uint8Array:return new cme;case Int16Array:return new ame;case Uint16Array:return new ume;case Int32Array:return new lme;case Uint32Array:return new dme;case Float32Array:return new hme;case Float64Array:return new fme;default:throw new Error("array type not supported")}}(e.value);return new ux(n,new pme(e.size,new ux("value",r)),!1,i)}function j5(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const V5={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},yme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class vme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=j5(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=B5(o,n[o],s[o]);r.push(l)}if(t){const o=B5("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dx=Je(125);const SR={};function xR(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n,e=null,t={}){return e&&(n=Cme(n,e,t)),SR[n]=SR[n]||Ame(n),yield SR[n]})).apply(this,arguments)}function Cme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Ame(n){return AR.apply(this,arguments)}function AR(){return(AR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):Tme(yield(yield fetch(n)).text(),n):dx.requireFromFile&&(yield dx.requireFromFile(n))})).apply(this,arguments)}function Tme(n,e){if(!yO)return dx.requireFromString&&dx.requireFromString(n,e);if(bO)return eval.call(Bue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Mme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let nb;function Rme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){const e=n.modules||{};return nb=e.draco3d?nb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):nb||Nme(n),yield nb})).apply(this,arguments)}function Nme(n){return DR.apply(this,arguments)}function DR(){return(DR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(Mme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(Dme,"draco",n),yield xR(Ime,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Pme(e,t)})).apply(this,arguments)}function Pme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=Sn(ot({},M5),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=oi(function*(n,e){const{draco:t}=yield Rme(e),i=new vme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function rb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Lme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+rb(i.byteLength,4)}const U5=["SCALAR","VEC2","VEC3","VEC4"],Bme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],jme=new Map(Bme),Vme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ume={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},zme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function z5(n){return U5[n-1]||U5[0]}function H5(n){const e=jme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function G5(n,e){const t=zme[n.componentType],i=Vme[n.type],s=n.count*i,o=n.count*i*Ume[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Hme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Hme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=G5(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:z5(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:H5(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Lme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*e_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function t_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(fx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fx)})).apply(this,arguments)}function n_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fx,{}),e.addExtension(fx))}function i_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function r_e(n){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function s_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(px);if(i){const r=a_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,px);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=l_e(s.technique,e)),e.removeObjectExtension(s,px)}e.removeExtension(px)}})).apply(this,arguments)}function o_e(n,e){return jR.apply(this,arguments)}function jR(){return(jR=oi(function*(n,e){})).apply(this,arguments)}function a_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function l_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const q5={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Tt,KHR_techniques_webgl:dt};function c_e(n){return VR.apply(this,arguments)}function VR(){return(VR=oi(function*(n,e={},t){for(const r in q5){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield q5[r].decode(n,e,t))}})).apply(this,arguments)}const Y5={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},d_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class h_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,$5);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension($5)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in Y5)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in Y5)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=d_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function f_e(n,e={}){return(new h_e).normalize(n,e)}const p_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},g_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},m_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},__e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class v_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return g_e[n]}(e.componentType),e.components=function(n){return p_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=G5(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):__e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return m_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function w_e(n,e){return(new v_e).postProcess(n,e)}const K5=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),rb(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),rb(i,4)}function N_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=oi(function*(n,e,t=0,i,r){var s,o,a,l;P_e(n,e,t,i),f_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield F_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=k_e(n,i,r);c.push(h)}const u=c_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?w_e(n,i):n})).apply(this,arguments)}function P_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=K5}=t,s=i.getUint32(e,!1);return s===r||s===K5}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?C5(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?C5(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function F_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield V_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function V_e(n){return XR.apply(this,arguments)}function XR(){return(XR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const X5=[255,255,255,255],H_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:X5},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let G_e=(()=>{class n extends q0{getShaders(){const t=[ox,ax];return"pbr"===this.props._lighting&&t.push(o5),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:X5,transition:!0},instanceModelMatrix:i5})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Xge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return KR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:r5(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=H_e,n})();class $_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const H=i;i=(U,de,Ae,Pe,Be)=>H}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let H=0;H<=e;H++)for(let U=0;U<=t;U++){const de=U/t,Ae=H/e,Pe=U+H*(t+1),Be=2*Pe,et=3*Pe,wt=c*de,vt=o*Ae,Ct=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),mt=Bt*$t,Vt=Math.cos(vt),ft=Ct*$t,qt=i(mt,Vt,ft,de,Ae);h[et+0]=qt*mt,h[et+1]=qt*Vt,h[et+2]=qt*ft,p[et+0]=mt,p[et+1]=Vt,p[et+2]=ft,g[Be+0]=de,g[Be+1]=1-Ae}const C=t+1;for(let H=0;Hs?(gt=i,$t=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,$t=0),gt-=i/2;for(let Vt=0;Vts?0:ft*w,et[vt+Pe[1]]=Bt<0?-1:Bt>s?1:C,et[vt+Pe[2]]=Bt<0||Bt>s?0:qt*w,wt[Ct+0]=Vt/r,wt[Ct+1]=$t,Ct+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new le){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new le){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new le){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new le){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new le){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=rye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=sye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Z5),Z5.almostEquals(e,t)}clone(){return new le(this.x,this.y,this.z)}}le.ZERO=void 0,le.UNIT_X=void 0,le.UNIT_Y=void 0,le.UNIT_Z=void 0,le.ZERO=new le(0,0,0),le.UNIT_X=new le(1,0,0),le.UNIT_Y=new le(0,1,0),le.UNIT_Z=new le(0,0,1);const rye=new le,sye=new le,Z5=new le;class gr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new le,this.upperBound=new le,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const J5=new le,e8=[new le,new le,new le,new le,new le,new le,new le,new le];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new le){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=aye;e.tangents(i,lye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new le){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,w,C,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-t)*p)/m,C=Math.sin(t*p)/m):(w=1-t,C=t),i.x=w*r+C*l,i.y=w*s+C*c,i.z=w*o+C*u,i.w=w*a+C*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const aye=new le,lye=new le,cye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let gn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=cye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new le,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new le){return i.vsub(e,r),t.conjugate(n8),n8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new le){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new le){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new le){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const n8=new hs;class Bf extends gn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:gn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new le;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new le,u=new le,h=new le,p=new le,g=new le,m=new le;let w=Number.MAX_VALUE;const C=this;if(C.uniqueAxes)for(let H=0;H!==C.uniqueAxes.length;H++){i.vmult(C.uniqueAxes[H],c);const U=C.testSepAxis(c,e,t,i,r,s);if(!1===U)return!1;U0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,QR),Bf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?mn.STATIC:mn.DYNAMIC,typeof e.type==typeof mn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=mn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new le,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new le,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new le,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new le,this.invInertia=new le,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new le,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new le(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new le(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new gr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new le,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=mn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===mn.SLEEPING&&this.dispatchEvent(mn.wakeupEvent)}sleep(){this.sleepState=mn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===mn.AWAKE&&ir?this.wakeUp():t===mn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(mn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===mn.SLEEPING||this.type===mn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new le){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new le){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new le,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=hye,o=fye,a=this.quaternion,l=this.aabb,c=pye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=gye,r=mye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=_ye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=yye,r=bye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===mn.DYNAMIC&&(this.sleepState===mn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=t,r=vye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=wye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=Eye,r=Sye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=xye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mx.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new le;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==mn.DYNAMIC&&this.type!==mn.KINEMATIC||this.sleepState===mn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,w=this.angularFactor,C=l.x*w.x,H=l.y*w.y,U=l.z*w.z;s.x+=e*(m[0]*C+m[1]*H+m[2]*U),s.y+=e*(m[3]*C+m[4]*H+m[5]*U),s.z+=e*(m[6]*C+m[7]*H+m[8]*U),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}mn.idCounter=0,mn.COLLIDE_EVENT_NAME="collide",mn.DYNAMIC=1,mn.STATIC=2,mn.KINEMATIC=4,mn.AWAKE=0,mn.SLEEPY=1,mn.SLEEPING=2,mn.wakeupEvent={type:"wakeup"},mn.sleepyEvent={type:"sleepy"},mn.sleepEvent={type:"sleep"};const hye=new le,fye=new hs,pye=new gr,gye=new su,mye=new su,_ye=new le,yye=new le,bye=new le,vye=new le,wye=new le,Eye=new le,Sye=new le,xye=new le;new le,new le;class _x{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new le,this.rayToWorld=new le,this.hitNormalWorld=new le,this.hitPointWorld=new le,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let i8,r8,s8,o8,a8,l8,c8;i8=gn.types.SPHERE,r8=gn.types.PLANE,s8=gn.types.BOX,o8=gn.types.CYLINDER,a8=gn.types.CONVEXPOLYHEDRON,l8=gn.types.HEIGHTFIELD,c8=gn.types.TRIMESH;class bs{get[i8](){return this._intersectSphere}get[r8](){return this._intersectPlane}get[s8](){return this._intersectBox}get[o8](){return this._intersectConvex}get[a8](){return this._intersectConvex}get[l8](){return this._intersectHeightfield}get[c8](){return this._intersectTrimesh}constructor(e=new le,t=new le){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new le,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new _x,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new _x,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(u8),nN.length=0,e.broadphase.aabbQuery(e,u8,nN),this.intersectBodies(nN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Oye,s=Rye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new le(0,0,1);t.vmult(c,c);const u=new le;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;C>=0&&C<=1&&(o.lerp(a,C,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Lye,l=h8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,C=m.distanceTo(this.to),H=c?c.length:u.length,U=this.result;for(let de=0;!U.shouldStop&&deC||this.reportIntersection(a,ba,s,r,Ae)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Bye,l=Gye,c=$ye,u=h8,h=jye,p=Vye,g=Uye,m=Hye,w=zye,C=e.indices,H=this.from,U=this.to,de=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,de,h),Wi.pointToLocalFrame(i,t,H,p),Wi.pointToLocalFrame(i,t,U,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Ae=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Be=l.length;!this.result.shouldStop&&Pe!==Be;Pe++){const et=l[Pe];e.getNormal(et,a),e.getVertex(C[3*et],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(C[3*et+1],au),e.getVertex(C[3*et+2],lu);const Ct=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||Ct>Ae||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(w,m,s,r,et))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function i6(){Pz([M5,cm])}function r6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oN(n,e){return Li(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),r6(n.scenegraphNode,r)})}function Wve(n,e){return Li(this,void 0,void 0,function*(){return r6(n,yield e)})}function aN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new $_e;break;case"cone":i=new K_e;break;case"cylinder":i=new X_e;break;case"cube":default:i=new nye}return new Ege(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ui.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function s6(n,e,t){if(e&&0!==e.length)return new hge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Yve=(()=>{class n extends Vz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),i6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new G_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Ui.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Wve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(s6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(s6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Li(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new gr({lowerBound:new le(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new le(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield W0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new gr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function o6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),o6(t,e);return e}let Xve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Yve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Yde({flipY:!1,near:-1e3}):new Qde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new $z({color:[255,255,255],intensity:10})})]),this.deck=new sx(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Li(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Li(this,void 0,void 0,function*(){i6();const i=yield oN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),p=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new gr({lowerBound:new le(...h.map((g,m)=>Math.min(g,p[m]))),upperBound:new le(...p.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of o6(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new le(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return or([Hf.ZP],n.prototype,"_onHover",null),or([Hf.ZP],n.prototype,"_onClick",null),or([Hf.ZP],n.prototype,"_onViewStateChange",null),or([Hf.ZP],n.prototype,"_onDragStart",null),or([Hf.ZP],n.prototype,"_onDrag",null),or([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Qve(n,e){return n===e}function Zve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cN=new Ht("INITIAL_STATE_TOKEN");let twe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const a6=new Ht("Internals.StateContextFactory"),l6=new Ht("Internals.StateFactory");function hb(...n){if(1===n.length){const e=n[0];if(P(e))return Tx(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Tx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Tx(n=1===n.length&&P(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return Tx(n,null)}function Tx(n,e){return new I(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Ji(n,e){return function(i){return i.lift(new nwe(n,e))}}class nwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new iwe(e,this.predicate,this.thisArg))}}class iwe extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const c6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Yi(n){return e=>0===n?uS():e.lift(new swe(n))}class swe{constructor(e){if(this.total=e,this.total<0)throw new c6}call(e,t){return t.subscribe(new owe(e,this.total))}}class owe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function u6(n,e){return e?t=>t.pipe(u6((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new awe(n))}class awe{constructor(e){this.project=e}call(e,t){return t.subscribe(new lwe(e,this.project))}}class lwe extends ve{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Mx(n=null){return e=>e.lift(new cwe(n))}class cwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new uwe(e,this.defaultValue))}}class uwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new dwe(n),r=t.lift(i);return i.caught=r}}class dwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new hwe(e,this.selector,this.caught))}}class hwe extends ve{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function mr(n){return e=>e.lift(new fwe(n))}class fwe{constructor(e){this.notifier=e}call(e,t){const i=new pwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class pwe extends ve{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new gwe(n,e,t))}}class gwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new mwe(e,this.nextOrObserver,this.error,this.complete))}}class mwe extends y{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new _we(n,e))}class _we{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new ywe(e,this.compare,this.keySelector))}}class ywe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let d6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const h6=new Ht("ROOT_STATE_TOKEN"),f6=new Ht("FEATURE_STATE_TOKEN"),p6=new Ht("NGXS_PLUGINS"),g6=new Ht("NG_TEST_MODE"),m6=new Ht("NG_DEV_MODE"),sd="NGXS_META",_6="NGXS_OPTIONS_META",uN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=d6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class bwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const y6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const b6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Dx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dN=n=>n&&"object"==typeof n&&!Array.isArray(n),hN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dN(n)&&dN(t))for(const i in t)dN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hN(n,...e)};function fN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return fb(n)}function fb(n){return n[sd]}function gN(n){return n[uN]}function v6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ji(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Iwe(){return me(n=>n.action)}function Ix(n){return e=>new I(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Ox=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(y6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Nwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Rx=(()=>{class n extends Nwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pwe=(()=>{class n extends I{constructor(t,i){super(r=>{const s=t.pipe(Ix(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E6=n=>(...e)=>n.shift()(...e,(...i)=>E6(n)(...i));let Nx=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12),Oe(p6,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_N=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Ix(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?dn(this._stateStream.getValue()):hb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return E6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Ji(i=>i.action===t&&"DISPATCHED"!==i.status),Yi(1),$a())}createDispatchObservable(t){return t.pipe(u6(i=>{switch(i.status){case"SUCCESSFUL":return dn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Rx),Oe(_N),Oe(mN),Oe(Nx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const x6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&x6(n[i])}),n};let C6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Oe(m6),Oe(g6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),A6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Oe(C6),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=x6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(S6),Oe(Gf),Oe(A6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Px=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Dx(l,t.path)}function s(l,c){const u=b6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=w6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Fx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=fb(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Fx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=Ax(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?v6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Fx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>b6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ji(t=>"DISPATCHED"===t.status),B(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),Mx({action:t,status:"CANCELED"}),bc(i=>dn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof I?(u=u.pipe(Mx({})),l.options.cancelUncompleted&&(u=u.pipe(mr(t.pipe(Twe(i)))))):u=dn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(dn({})),hb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Fx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Dx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Gf),Oe(n,12),Oe(Rx),Oe(_N),Oe(Px),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ji(()=>!!i),Yr(()=>this.invokeInit(i.states)),B(()=>this.bootstrapper.appBootstrapped$),Ji(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=w6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm),Oe(Px),Oe(lN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kx_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function kwe(n,e,t){const i=t&&t.containerClass,s=Ax(function(...c){const u=e.apply(i,c);return u instanceof Function?Ax.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uN)||Object.defineProperty(n,uN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kx_getOptions(n.containerClass)||{},kx_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&fb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>M6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function M6(n){const e=gN(n)||fb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?dn(void 0):Fg(r)}),rd(),Ix(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Ix(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return M6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(gm),Oe(Gf),Oe(Ox),Oe(mm),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),pb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Uwe{static get type(){return"@@INIT"}}class zwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Lx=new kg(1);let Gwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Lx.next(t)}catch(n){Lx.next(!1)}finally{Lx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Uwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Oe(mm),Oe(gm),Oe(cu),Oe(pb),Oe(h6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})(),$we=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new zwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(gm),Oe(mm),Oe(f6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:Gwe,providers:[mm,Px,Pwe,Rx,lN,A6,C6,yN,S6,_N,gm,Ox,cu,Nx,pb,mN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:$we,providers:[mm,mN,...e,{provide:f6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:g6,useValue:ewe},{provide:m6,useValue:Ba},{provide:y6,useClass:t.executionStrategy||d6},{provide:h6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:PE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[lN]},{provide:cN,useFactory:Wo.getInitialState},{provide:a6,useExisting:Px},{provide:l6,useExisting:mm}]}static ngxsConfigFactory(e){return hN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return twe.pop()}}function bN(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=fN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function D6(n){return i=>{!function(n){Lx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[_6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Fx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[_6]=a}}function Bx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?v6(t.length?[e,...t]:e.split("."),pb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!pb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return pb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=kwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=xt({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Qx=new uc(cS);class nSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new iSe(e,this.total))}}class iSe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Zx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof vn?n.nativeElement:n}let GN;try{GN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){GN=!1}let xb,qf,$N,er=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!GN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc))},n.\u0275prov=We({factory:function(){return new n(Oe(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==xb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>xb=!0}))}finally{xb=xb||!1}return xb}()?n:!!n.capture}function BH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function eC(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let YH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===XH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=XH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||KH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(er))},token:n,providedIn:"root"}),n})();function KH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function XH(n){if(!KH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class SSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(Yi(1)).subscribe(e)}}let QH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new SSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(YH),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(YH),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const eG=new Ht("cdk-input-modality-detector-options"),MSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let nG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},MSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new nSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},token:n,providedIn:"root"}),n})();const sG=new Ht("cdk-focus-monitor-default-options"),iC=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return dn(null);const s=function(n){if(function(){if(null==$N){const n="undefined"!=typeof document?document.head:null;$N=!(!n||!n.createShadowRoot&&!n.attachShadow)}return $N}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,iC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(mr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,iC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},token:n,providedIn:"root"}),n})();const cG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Oe(cG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(cG,8))},token:n,providedIn:"root"}),n})();function rC(...n){return Nt(1)(dn(...n))}function ao(...n){const e=n[n.length-1];return Ce(e)?(n.pop(),t=>rC(n,t,e)):t=>rC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function fG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){fG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function gG(){return"undefined"!=typeof window&&void 0!==window.document}function QN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let tP=(n,e)=>!1,nP=(n,e)=>!1,yG=(n,e,t)=>[];const bG=QN();(bG||"undefined"!=typeof Element)&&(tP=gG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),nP=(()=>{if(bG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):nP}})(),yG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return iP(t)}matchesElement(t,i){return rP(t,i)}containsElement(t,i){return sP(t,i)}query(t,i,r){return oP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class sC{}sC.NOOP=new EG;function AG(n,e,t){return t?e+":"+t+";":""}function TG(n){let e="";for(let t=0;t{const r=dP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),QN()&&TG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=dP(t);n.style[i]=""}),QN()&&TG(n))}const zSe=/-+([a-z0-9])/g;function dP(n){return n.replace(zSe,(...e)=>e[1].toUpperCase())}function HSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Ib(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function AP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(me(r=>P(r)?i(...r):i(r))):new I(r=>{C$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function C$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let UCe=1;const zCe=Promise.resolve(),AC={};function A$(n){return n in AC&&(delete AC[n],!0)}const T$={setImmediate(n){const e=UCe++;return AC[e]=!0,zCe.then(()=>A$(e)&&n()),e},clearImmediate(n){A$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=T$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(T$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof I||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class qCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new YCe(e,this.durationSelector))}}class YCe extends ve{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function M$(n){return!P(n)&&n-parseFloat(n)+1>=0}function XCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=Qx){return function(n){return function(t){return t.lift(new qCe(n))}}(()=>function(n=0,e,t){let i=-1;return M$(e)?i=Number(e)<1?1:Number(e):Ce(e)&&(t=e),Ce(t)||(t=Qx),new I(r=>{const s=M$(n)?n:+n-t.now();return t.schedule(XCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let I$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new I(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):dn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ji(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(hn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn,8))},token:n,providedIn:"root"}),n})();class OP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class DC extends OP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends OP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class f1e extends OP{constructor(e){super(),this.element=e instanceof vn?e.nativeElement:e}}class IC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof DC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof f1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class p1e extends IC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends IC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(xe(wl),xe(Ns),xe(hn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[xn]}),n})();const L$=BH();class y1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),L$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),L$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class b1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class B${enable(){}disable(){}attach(){}}function RP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function j$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class v1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();RP(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let w1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new B$,this.close=o=>new b1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new y1e(this._viewportRuler,this._document),this.reposition=o=>new v1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();class RC{constructor(e){if(this.scrollStrategy=new B$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class E1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class S1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let V$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),x1e=(()=>{class n extends V${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),C1e=(()=>{class n extends V${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn),Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(hn),Oe(er))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},U$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Nb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||U$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Zx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(mr(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const z$="cdk-overlay-connected-position-bounding-box",T1e=/([A-Za-z%]+)$/;class H${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new se,this._resizeSubscription=x.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(z$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(z$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=W$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,p,g),C=m*w;return{visibleArea:C,isCompletelyWithinViewport:s.width*s.height===C,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=G$(this._overlayRef.getConfig().minHeight),a=G$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=W$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:j$(e,i),isOriginOutsideView:RP(e,i),isOverlayClipped:j$(t,i),isOverlayOutsideView:RP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Zx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof vn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function G$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(T1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function W$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class M1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new H$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new E1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const q$="cdk-global-overlay-wrapper";class D1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(q$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(q$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let I1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new D1e}connectedTo(t,i,r){return new M1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new H$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},n.\u0275prov=We({factory:function(){return new n(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},token:n,providedIn:"root"}),n})(),O1e=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new RC(t);return o.direction=o.direction||this._directionality.value,new A1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+O1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new p1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Oe(w1e),Oe(Nb),Oe(wl),Oe(I1e),Oe(x1e),Oe(Wn),Oe(fn),Oe(hn),Oe(Il),Oe(Pg),Oe(C1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function l7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof fd?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class nTe{encodeKey(e){return E7(e)}encodeValue(e){return E7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const rTe=/%(\d[a-f0-9])/gi,sTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function E7(n){return encodeURIComponent(n).replace(rTe,(e,t)=>{var i;return null!==(i=sTe[t])&&void 0!==i?i:e})}function S7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new nTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(S7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(S7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class oTe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function x7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function C7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function A7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new oTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class PC extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function jP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=dn(s).pipe(function(n,e){return B(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Ji(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,jP(r,i))}post(t,i,r={}){return this.request("POST",t,jP(r,i))}put(t,i,r={}){return this.request("PUT",t,jP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Oe(v7))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mTe=["*"];function R7(n){return Error(`Unable to find icon with the name "${n}"`)}function N7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function P7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let FC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw P7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw P7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw N7(t);const r=this._cachedIconsByUrl.get(i);return r?dn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=F7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(R7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?dn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?dn(r):hb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),dn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw R7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?dn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new eTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(F7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),k7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],xTe=k7.map(n=>`[${n}]`).join(", "),CTe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends vTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=x.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(xTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(CTe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(FC),Fo("aria-hidden"),xe(wTe),xe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Vi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[xn],ngContentSelectors:mTe,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function kTe(n,e){}class GP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const LTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let BTe=(()=>{class n extends IC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=eC(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=eC())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=eC();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(QH),xe(Dr),xe(hn,8),xe(GP),xe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[xn]}),n})(),jTe=(()=>{class n extends BTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&gE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Vi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),yE("@dialogContainer",i._state))},features:[xn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,kTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[LTe.dialogContainer]}}),n})(),VTe=0;class LC{constructor(e,t,i="mat-dialog-"+VTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Ji(r=>"opened"===r.state),Yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ji(r=>"closed"===r.state),Yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ji(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),$P(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$P(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ji(t=>"closing"===t.state),Yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $P(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const j7=new Ht("MatDialogData"),UTe=new Ht("mat-dialog-default-options"),V7=new Ht("mat-dialog-scroll-strategy");let GTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new I(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):uS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new GP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new RC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:GP,useValue:i}]}),o=new DC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new DC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,wn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:dn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(xe(wc),xe(Wn),xe(void 0),xe(void 0),xe(Nb),xe(void 0),xe(xu),xe(xu),xe(Ht))},n.\u0275dir=Rt({type:n}),n})(),kb=(()=>{class n extends GTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,LC,jTe,j7)}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(Pg,8),Oe(UTe,8),Oe(V7),Oe(n,12),Oe(Nb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WTe=0,U7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+WTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(xe(LC,8),xe(vn),xe(kb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),z7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const qP=new Ht("CdkAccordion");let KTe=0,QTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=x.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+KTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(xe(qP,12),xe(Dr),xe(I$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:qP,useValue:void 0}])]}),n})();const JTe=["body"];function eMe(n,e){}const tMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],nMe=["mat-expansion-panel-header","*","mat-action-row"];function iMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const rMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],sMe=["mat-panel-title","mat-panel-description","*"],YP=new Ht("MAT_ACCORDION"),G7="225ms cubic-bezier(0.4,0.0,0.2,1)",$7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))])};let oMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),aMe=0;const W7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let q7=(()=>{class n extends QTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+aMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Ji(()=>this.expanded&&!this._portal),Yi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(xe(YP,12),xe(Dr),xe(I$),xe(Ns),xe(hn),xe(Nl,8),xe(W7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();k3(r,new N3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}F3(r,jt(),t)}(r,oMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(JTe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:YP,useValue:void 0}]),xn,Hi],ngContentSelectors:nMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(tMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,eMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Vi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[$7.bodyExpansion]},changeDetection:0}),n})();class cMe{}const uMe=AP(cMe);let Y7=(()=>{class n extends uMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=x.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ji(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Ji(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ji(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(xe(q7,1),xe(vn),xe(du),xe(Dr),xe(W7,8),xe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Vi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Uy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[xn],ngContentSelectors:sMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(rMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,iMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[$7.indicatorRotate]},changeDetection:0}),n})();var K7=Je(478);Object.create(Error.prototype);const gMe=["*"];var jC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(jC||(jC={})),jC))();class _Me{}const Q7=new Ht("SECURITY_CONTEXT");let KP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new K7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=K7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc),Oe(Q7),Oe(ip,8),Oe(_Me,8),Oe(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Z7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,jC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sP(i)?t(...i):t(i))):new I(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new xMe(n,t))}}class xMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new CMe(e,this.observables,this.project))}}class CMe extends c7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class AMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new TMe(e,this.accumulator,this.seed,this.hasSeed))}}class TMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class IMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new OMe(e,this.predicate))}}class OMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const RMe=["youtubeContainer"];let nW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=dn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Yi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(XP(Yo([i,r])),me(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,dn(o)]).pipe(function(n){return ce(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&P(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new h7(e))}(n),function(n){return e=>e.lift(new IMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new AMe(n,e,t))}}(BMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),B(e=>e?iW(e)?dn(e):new I(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{iW(r)||r.destroy()})(e)}}).pipe(Yi(1),ao(void 0)):dn(void 0)),mr(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(ZP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(ZP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(ZP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XP(Yo([n,e,o,r])),me(([u,h])=>h),mr(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?J7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):dn()),i=>new I(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),mr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(xe(fn),xe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(RMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function BMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function iW(n){return"getPlayerStatus"in n}function ZP(n,e){return ce(XP(n),Ji(([t,i])=>e(i,t)),me(([t])=>t))}let YMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Bb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function JP(n){return Boolean(n)}function aW(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const UC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&UC(n[o])}),n};function lW(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const dW="NGXS_DATA_META",tF="NGXS_META",hW="NGXS_ARGUMENT_REGISTRY_META";let fW=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function jb(n){return n[dW]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(fW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(l6),Oe(a6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=jb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=We({token:ps,factory:ps.\u0275fac}),new kg(1);class gDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function pW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function gW(n){var e;const t=pW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=aW(void 0===t.defaults?{}:t.defaults);if(i.length){if(lW(s))return function(n,e){return e.reduce((t,i)=>{const r=pW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=gW(i),t},null!=n?n:{})}(s,i);throw new gDe(s)}return s}function _W(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function yW(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function bDe(n){let e=!1;return Tm(n)&&(e=!0),e}function nF(n){return n[hW]}class vDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class wDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(JP(this.argumentMap.has(e))||JP(this.payloadMap.has(e)))throw new vDe(e,t)}}function TDe(n){return{enumerable:!0,configurable:!0,get(){const e=jb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function bW(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(lW(i))for(;null!==i;){if(Bb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(_W(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),_W(n)}(this),o=null==s?void 0:s.get(i);if(Bb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==yW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:yW(),isObservable:bDe(l)}),l}return o.value},t}}const NDe={cancelUncompleted:!0,insideZone:!1};function iF(n=NDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=nF(r);if(Xa(h)){const U=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),de=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var U;return Bb(n.insideZone)?null===(U=Za.ngZone)||void 0===U||U.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?dn(null).pipe(me(()=>l)):l};const C=ps.createAction(h,o,g),H=Za.store.dispatch(C);return Tm(l)?function(n,e){return hb([n,e]).pipe(me(t=>t.pop()))}(H,l):l},i}}function vW(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(nF(t))&&Object.defineProperties(t,{[hW]:{enumerable:!0,configurable:!0,value:new wDe}}),nF(t)})(e,t).createPayloadType(r,t,i)}}function FDe(){return n=>{const e=function(n){if(function(n){return!JP(n)}(n.hasOwnProperty(tF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,tF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[tF]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=jb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,dW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),jb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>aW(t)},context:TDe(n)})}(n,e,gW(n)),function(n){var e,t;const i=jb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(me(o=>Ba()?UC(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let LDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),BDe=(()=>{class n extends LDe{get snapshot(){return function(n){return Ba()?UC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?UC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),or([iF(),Tj(0,vW("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),or([iF(),Tj(0,vW("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),or([iF(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),AF=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),QOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(AF))}),TF=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(AF),Fc(QOe))});let MF=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(jm),Oe(hn),Oe(TF))},n.\u0275prov=We({factory:function(){return new n(Oe(jm),Oe(hn),Oe(TF))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class D9 extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function yRe(){throw new D9}function bRe(){throw new D9}function OF(n,e,t){e.run(()=>n.dispatch(t))}function ERe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(OF(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(mr(i.cancelUncompleted$))),t.subscribe({next:r=>OF(n,e,r)}),t}(n,e,t,i):(OF(n,e,t),t)}class SRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const RF="\u0275fac",I9=Symbol("InjectorInstance"),O9=Symbol("FactoryHasBeenDecorated");function R9(n,e){const t=n[I9];return t?t.get(e):null}const ARe={cancelUncompleted:!1};function N9(n=ARe){return(e,t,i)=>{let r;const s=function(n){return n?new SRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=R9(this,cu)||yRe(),l=R9(this,fn)||bRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>ERe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(O9 in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[RF]&&function(n){const e=n[RF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[I9]=xe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,RF,{get:()=>i})}(e),n.constructor.prototype[O9]=!0}(e)}}const eNe=["bodyCanvas"];let tNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Li(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Xve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(eNe,5,vn),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),nNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[qr]]}),n})();function wNe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),mE("videoId",t.videoID)}}function ENe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,wNe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function SNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,ENe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let $9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(xe(LC),xe(j7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,SNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[U7,Nm,z7,Af,lc,q7,Y7,Z7,nW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),W9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Oe(ip))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),CNe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[U7,Nm,YMe,z7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Xb=(()=>{let n=class extends BDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ji(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(l7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(l7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW()],n.prototype,"config$",null),n=or([FDe(),D6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let kF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),LF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),BF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var jF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const K9="callToActionPopupShown";let Do=jF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(K9,`${i}`),s=jF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new LF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open($9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(RNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(K9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(Oe(kb),Oe(MF),Oe(wa),Oe(W9),Oe(ip))},Do.\u0275prov=We({token:Do,factory:Do.\u0275fac}),or([bN(kF)],Do.prototype,"learnMore",null),or([bN(LF)],Do.prototype,"open",null),or([bN(BF)],Do.prototype,"close",null),Do=jF=or([D6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let l1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return or([_m([Do])],n,"title",null),or([_m([Do])],n,"message",null),or([_m([Do])],n,"callToAction",null),or([_m([Do])],n,"imageUrl",null),or([_m([Do])],n,"expirationDate",null),or([_m([Do])],n,"popupShown",null),n})(),RNe=(()=>{class n{constructor(){this.close=()=>new BF,this.learnMore=()=>new kF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[CNe],pipes:[p0],styles:[""],changeDetection:0}),or([Bx(l1.title)],n.prototype,"title$",void 0),or([Bx(l1.message)],n.prototype,"message$",void 0),or([Bx(l1.callToAction)],n.prototype,"callToAction$",void 0),or([Bx(l1.imageUrl)],n.prototype,"imageUrl$",void 0),or([N9()],n.prototype,"close",void 0),or([N9()],n.prototype,"learnMore",void 0),n})();const X9="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",LNe=[173,255,47,229.5];var En=Je(440),zNe=Je(698),HNe=Je(445),GNe=Je.n(HNe),_r=Je(815),Qb=Je(609);const Pi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),Vm=(Pi("rdf"),Pi("rdf")("type"),{x:Pi("rdfs"),label:Pi("rdfs")("label"),comment:Pi("rdfs")("comment"),isDefinedBy:Pi("rdfs")("isDefinedBy"),seeAlso:Pi("rdfs")("seeAlso")}),co_label=(Pi("entity"),Pi("entity")("id"),Vm.label),co_description=Vm.comment,co_link=Vm.seeAlso,co_providerName=(Pi("entity")("sex"),Pi("entity")("age"),Pi("entity")("bmi"),En.DataFactory.literal("Male"),En.DataFactory.literal("Female"),Pi("entity")("consortium_name"),Pi("entity")("provider_name")),co_donor=(Pi("entity")("provider_uuid"),Pi("entity")("has_donor")),co_sections=Pi("entity")("has_tissue_section"),co_datasets=Pi("entity")("has_dataset"),co_sampleType=Pi("entity")("sample_type"),co_sectionCount=(En.DataFactory.literal("Tissue Block"),En.DataFactory.literal("Tissue Section"),En.DataFactory.literal("Non-standard"),Pi("entity")("section_count")),co_sectionSize=Pi("entity")("section_size"),co_sectionUnits=Pi("entity")("section_units"),co_sectionNumber=Pi("entity")("section_number"),co_spatialEntity=Pi("entity")("has_spatial_entity"),co_technology=(Pi("entity")("has_ontology_term"),Pi("entity")("has_cell_type_term"),Pi("entity")("technology")),co_thumbnail=Pi("entity")("has_thumbnail"),An=Pi("ccf"),md={x:An,ontologyNode:{label:An("ccf_preferred_label"),parent:An("ccf_part_of"),children:An("ccf_part_of"),rui_rank:An("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:An("ccf_part_of"),ct_is_a:An("ct_is_a"),located_in:An("located_in"),characterizes:An("characterizes")},spatial:{Female:An("VHFemale"),Male:An("VHMale"),BothSexes:An("VHBothSexes"),FemaleOrgans:An("VHFemaleOrgans"),MaleOrgans:An("VHMaleOrgans")},SpatialObjectReference:An("SpatialObjectReference"),SpatialEntity:An("SpatialEntity"),SpatialPlacement:An("SpatialPlacement"),spatialObjectReference:{file:An("has_object_file"),file_format:An("has_object_file_format"),file_subpath:An("has_object_file_subpath")},extractionSet:{label:Vm.label,rui_rank:An("ccf_rui_rank")},spatialEntity:{label:Vm.label,comment:Vm.comment,creator:Pi("dc")("creator"),creator_first_name:An("creator_first_name"),creator_last_name:An("creator_last_name"),creator_orcid:An("creator_orcid"),creation_date:An("creation_date"),updated_date:An("updated_date"),ccf_annotations:An("ccf_annotation"),representation_of:An("ccf_representation_of"),reference_organ:An("anatomical_structure_of"),extraction_set_for:An("extraction_set_for"),extraction_set:An("extraction_site_for"),sex:An("has_sex"),side:An("has_side"),rui_rank:An("ccf_rui_rank"),slice_thickness:An("ccf_slice_thickness"),slice_count:An("ccf_slice_count"),x_dimension:An("has_x_dimension"),y_dimension:An("has_y_dimension"),z_dimension:An("has_z_dimension"),dimension_units:An("has_dimension_units"),object:An("has_object_reference")},spatialPlacement:{source:An("has_placement_source"),target:An("has_placement_target"),placement_date:An("has_placement_date"),x_scaling:An("has_x_scaling"),y_scaling:An("has_y_scaling"),z_scaling:An("has_z_scaling"),scaling_units:An("has_scaling_units"),x_rotation:An("has_x_rotation"),y_rotation:An("has_y_rotation"),z_rotation:An("has_z_rotation"),w_rotation:An("has_theta_rotation"),rotation_order:An("has_rotation_order"),rotation_units:An("has_rotation_units"),x_translation:An("has_x_translation"),y_translation:An("has_y_translation"),z_translation:An("has_z_translation"),translation_units:An("has_translation_units")}},ui={x:Pi("uberon"),body:Pi("uberon")("0013702")},qNe={x:Pi("cl"),cell:Pi("cl")("0000000")},Zb={x:Pi("fma")},Q9=(Pi("lmha"),{body:ui.body,cell:qNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function VF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}VF(md.spatialObjectReference),VF(md.spatialEntity),VF(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const Hm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function lPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function ev(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return aq.copy(o).scale((-i+l)/a).add(t),this.center.copy(aq),this.radius=l,this}expand(e){const t=(e=tv.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(tv,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=tv.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Hm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),nq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const CPe=new Pn,APe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,TPe=new Pn,MPe=new Pn;class WF{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new cq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new cq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new WF(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new $F){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=CPe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Hm.OUTSIDE:c>=l?Hm.INSIDE:Hm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=APe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=TPe.copy(l).add(c).add(u).add(o),p=MPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const uq=new Pn,dq=new Pn;class qF{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=uq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(ev(this.normal.len(),1)),this.distance=r,this}clone(e){return new qF(this.normal,this.distance)}equals(e){return ev(this.distance,e.distance)&&ev(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=dq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=uq.from(e);const i=this.getPointDistance(e),r=dq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function yFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new qF(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,_r.memoize)(function(n){const e=function(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=yFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}(n,Q9.body.id,"body",md.asctb.part_of.id);return e.nodes[Q9.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const m1={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},m1),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},m1),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let e2;function Sc(){return e2||(e2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),e2}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const _1="Unknown Euler angle order",Wm=.99999;class tr extends wS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return tr.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return tr.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=tr.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new tr(p,g,m,tr.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get alpha(){return this[0]}set alpha(e){this[0]=ar(e)}get beta(){return this[1]}set beta(e){this[1]=ar(e)}get gamma(){return this[2]}set gamma(e){this[2]=ar(e)}get phi(){return this[0]}set phi(e){this[0]=ar(e)}get theta(){return this[1]}set theta(e){this[1]=ar(e)}get psi(){return this[2]}set psi(e){this[2]=ar(e)}get roll(){return this[0]}set roll(e){this[0]=ar(e)}get pitch(){return this[1]}set pitch(e){this[1]=ar(e)}get yaw(){return this[2]}set yaw(e){this[2]=ar(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(_1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,tr.ZYX)}fromRotationMatrix(e,t=tr.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case tr.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case tr.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case tr.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case tr.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case tr.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case tr.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(_1)}}_fromRotationMatrix(e,t=tr.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case tr.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!LFe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*r2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,En.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Qb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const Fi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),wq={x:Fi("rdf"),type:Fi("rdf")("type")},qm={x:Fi("rdfs"),label:Fi("rdfs")("label"),comment:Fi("rdfs")("comment"),isDefinedBy:Fi("rdfs")("isDefinedBy"),seeAlso:Fi("rdfs")("seeAlso")},yi={x:Fi("entity"),id:Fi("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Fi("entity")("sex"),age:Fi("entity")("age"),bmi:Fi("entity")("bmi"),Male:En.DataFactory.literal("Male"),Female:En.DataFactory.literal("Female"),consortiumName:Fi("entity")("consortium_name"),providerName:Fi("entity")("provider_name"),providerUUID:Fi("entity")("provider_uuid"),donor:Fi("entity")("has_donor"),sections:Fi("entity")("has_tissue_section"),datasets:Fi("entity")("has_dataset"),sampleType:Fi("entity")("sample_type"),TissueBlock:En.DataFactory.literal("Tissue Block"),TissueSection:En.DataFactory.literal("Tissue Section"),NonStandard:En.DataFactory.literal("Non-standard"),sectionCount:Fi("entity")("section_count"),sectionSize:Fi("entity")("section_size"),sectionUnits:Fi("entity")("section_units"),sectionNumber:Fi("entity")("section_number"),spatialEntity:Fi("entity")("has_spatial_entity"),ontologyTerms:Fi("entity")("has_ontology_term"),cellTypeTerms:Fi("entity")("has_cell_type_term"),technology:Fi("entity")("technology"),thumbnail:Fi("entity")("has_thumbnail")},Tn=Fi("ccf"),Bi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Fi("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Fi("uberon"),body:Fi("uberon")("0013702")},HFe={x:Fi("cl"),cell:Fi("cl")("0000000")},rv={x:Fi("fma")},bd=(Fi("lmha"),{body:di.body,cell:HFe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:rv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:rv.x("24978"),knee_right:rv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:rv.x("7214"),ovary_right:rv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function s2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const b1={spatialObjectReference:s2(Bi.spatialObjectReference),spatialEntity:s2(Bi.spatialEntity),spatialPlacement:s2(Bi.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",b1.spatialEntity);return t.extractionSites=(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",b1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",b1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Bi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function YFe(n,e){const t=dp(n,e,"SpatialPlacement",b1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(SV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new zNe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,Bi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,Bi.SpatialEntity,null);const t={};for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=GNe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,YFe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,_r.get)(e,"placement[0]",(0,_r.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new tr).fromRotationMatrix(s,tr.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(bse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${UFe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Bi.spatialEntity.reference_organ,null,null),(0,_r.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Bi.spatial.Male.id;break;case"Female":t=Bi.spatial.Female.id;break;case"Both":default:t=Bi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Bi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(SV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const v1="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),XFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class JFe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Be=>"Donor"===Be.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=v1+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},C=[];this.sections=C;const H=[];this.datasets=H;for(const Be of c.filter(et=>"Sample"===et.entity_type)){const et=this.getSection(Be,e,i);w[Be.submission_id]=et,C.push(et),et.section_number=null!==(s=et.section_number)&&void 0!==s?s:C.length}for(const Be of c)if("Dataset"===Be.entity_type){const et=this.getDataset(Be,t,i,r),wt=(0,_r.get)(Be,["ingest_metadata","metadata","tissue_id"]);w[wt]?null===(o=w[wt].datasets)||void 0===o||o.push(et):H.push(et)}const U=null!=h?h:{},de=`${U.x_dimension} x ${U.y_dimension} x ${U.z_dimension} ${U.dimension_units}`;this.section_count=U.slice_count||C.length;const Ae=parseFloat((U.slice_thickness||(U.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Ae;const Pe=U.dimension_units||"millimeter";this.section_units=Pe,this.description=`${de}, ${Ae} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,C.forEach((Be,et)=>{Be.description=`${U.x_dimension} x ${U.y_dimension} x ${Ae} ${Pe}, ${Ae} ${Pe}, ${Be.description}`,Be.section_number=et+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":v1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,_r.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":v1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,_r.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=XFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,_r.toNumber)(s[1]));for(const p of(0,_r.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,_r.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,_r.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":v1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,_r.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,_r.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,_r.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,_r.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const t2e=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],n2e={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:n2e,_source:{includes:t2e}})}function o2(n,e){return Li(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Li(this,void 0,void 0,function*(){let o;if("static"===e?o=yield o2(n):"search-api"===e&&(o=yield function(n,e,t){return Li(this,void 0,void 0,function*(){const i=250,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,i,t),o=yield o2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,_r.get)(n,"hits.hits",[]).map(c=>(0,_r.get)(c,"_source",{})).map(c=>new JFe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function sv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,En.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const l2e={[Bi.spatialEntity.x_dimension.id]:"x",[Bi.spatialEntity.y_dimension.id]:"y",[Bi.spatialEntity.z_dimension.id]:"z"};function u2e(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",l2e);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new tr).fromRotationMatrix(r,tr.XYZ).toQuaternion().normalize().calculateW();s=(new WF).fromCenterHalfSizeQuaternion(o,a,l)}return s}function d2e(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=u2e(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function w1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function a2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ov(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.namedNode(r);n.forSubjects(ov(e,i),Bi.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,En.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,En.readQuads)(e,r,Bi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function A2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Bi.ontologyNode.label.id]:"label",[t]:"parent",[Bi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of r2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=A2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const Nq=(0,_r.memoize)(function(n){const e=Rq(n,bd.body.id,"body",Bi.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),E1={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},D2e=Object.assign(Object.assign({},E1),{[yi.providerName.id]:"providerName"}),I2e=Object.assign(Object.assign({},E1),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),O2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),R2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function N2e(n,e){return dp(n,e,"Donor",D2e)}function Pq(n,e){return dp(n,e,"Dataset",I2e)}function P2e(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of r2(n,e,O2e))if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]=r;return t}class k2e{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Li(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const B2e={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class j2e{constructor(e=B2e){this.options=e,this.store=new En.Store(void 0,{factory:En.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Li(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Li(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield vq(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([i,t]).catch(()=>{}):s=yield vq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Li(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,En.deserializeN3Store)(s,En.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,En.deserializeN3Store)(o,En.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Li(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Li(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,En.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,En.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,En.addRdfXmlToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Li(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Nq(n),s=new Map;for(const{subject:o,object:a}of(0,En.readQuads)(n,null,Bi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>En.DataFactory.namedNode(u)))}for(const{object:o}of(0,En.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,En.readQuads)(n,null,Bi.spatialPlacement.source,o,null))for(const{object:l}of(0,En.readQuads)(n,a,Bi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(En.DataFactory.namedNode(o.id),Bi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,En.serializeN3Store)(this.store)}deserialize(e){return Li(this,void 0,void 0,function*(){this.store=(0,En.deserializeN3Store)(e,En.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ov(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=w1(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(ov(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=w1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,En.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,En.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=a2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)d2e(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=a2(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=a2(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Bi.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,_r.isFinite)(t.ageRange[0])&&(0,_r.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.age,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,_r.isFinite)(t.bmiRange[0])&&(0,_r.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(En.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(En.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Li(this,void 0,void 0,function*(){return this.status||(this.status=new k2e(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Li(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of r2(n,e,R2e))if("sections"===i){const s=P2e(n,r);t[i].push(s)}else if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]="donor"===i?N2e(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t=sv(e,n,yi.donor.id),i=sv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,En.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=sv(e,r,yi.sections.id),o=new Set([...sv(e,r,yi.datasets.id),...sv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,En.readQuads)(e,null,Bi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Li(this,void 0,void 0,function*(){return Nq(this.store)})}getCellTypeTreeModel(){return Li(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",Bi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Li(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Li(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function H2e(n,e){return n===e}let G2e=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new x,this.dataSource=i.getOption("data").pipe(me(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Ji(r=>Object.keys(r).length>0),me(r=>r),rd(H2e),Ir(r=>function(n,e){return new I(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Yi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Yi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Yi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Yi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Yi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Yi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Yi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Yi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Yi(1))}createDataSource(){return{source:new j2e,unsubscribe:()=>{}}}connectDataSource(t,i){return Li(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),y0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(Xb))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),$2e=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(me(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(me(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(me(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(me(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,LNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(me(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[X9];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return dn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[X9].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(Oe(Xb),Oe(G2e))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const W2e=["bodyUI"];let q2e=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Li(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Yi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe($2e),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(W2e,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[tNe],pipes:[p0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function Y2e(n,e){if(1&n){const t=jt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function K2e(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let X2e=(()=>{class n extends wie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},y0.dbOptions),globalThis.dbOptions),parse:{data:K2e}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[xn],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,Y2e,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,q2e],encapsulation:2,changeDetection:0}),n})(),Q2e=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,fW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(ps,2),Oe(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const A1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class eke{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return A1(n.getHours(),2)+":"+A1(n.getMinutes(),2)+":"+A1(n.getSeconds(),2)+"."+A1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class tke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Fq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let nke=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new tke(this._options),this._store=this._store||this._injector.get(cu);const s=new eke(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Fq),Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kq=new Ht("LOGGER_USER_OPTIONS");function ike(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let rke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:p6,useClass:nke,multi:!0},{provide:kq,useValue:t},{provide:Fq,useFactory:ike,deps:[kq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const ske=[Xb];let oke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[Q2e.forRoot(),Wo.forRoot(ske,{developmentMode:!y0.production}),rke.forRoot({disabled:y0.production})]]}),n})(),ake=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new gie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends _ie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(X2e,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[],imports:[[YD,oke,nNe]]}),n})();y0.production&&function(){if(cB)throw new Error("Cannot enable prod mode after platform setup.");lB=!1}(),Bne().bootstrapModule(ake).catch(n=>console.error(n))},52:Ut=>{function it(yt,ee,Tt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(P){return void Tt(P)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Tt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Tt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},948:Ut=>{Ut.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},321:Ut=>{function it(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(Je)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},380:Ut=>{function it(Je){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+Je+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=380,Ut.exports=it},521:()=>{},125:()=>{},307:()=>{}},Ut=>{Ut(Ut.s=935)}]); \ No newline at end of file diff --git a/body-ui/wc.js b/body-ui/wc.js index 294b2947a..9d1fc7afd 100644 --- a/body-ui/wc.js +++ b/body-ui/wc.js @@ -2,4 +2,4 @@ "use strict";(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{277:()=>{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,p){n&&n.measure&&n.measure(I,p)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let _=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==J.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(J.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),J[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(K){if(this._zoneDelegate.handleError(this,K))throw K}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===j&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,O),t.runCount++;const K=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==j&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(O,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(j,X,j))),G=G.parent,te=K}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(q,j);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,q,j),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==q&&t._transitionTo(O,q),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,K){return this.scheduleTask(new m(M,t,o,y,P,K))}scheduleEventTask(t,o,y,P,K){return this.scheduleTask(new m(R,t,o,y,P,K))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,O,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(j,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,p,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,p,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,p,t,o)=>I.cancelTask(t,o)};class T{constructor(p,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=p,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=p,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(p,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,p,t):new _(p,t)}intercept(p,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,p,t,o):t}invoke(p,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,p,t,o,y,P):t.apply(o,y)}handleError(p,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,p,t)}scheduleTask(p,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,p,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(p,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,p,t,o,y):t.callback.apply(o,y)}cancelTask(p,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,p,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(p,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,p,t)}catch(o){this.handleError(p,o)}}_updateTaskCount(p,t){const o=this._taskCounts,y=o[p],P=o[p]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:p})}}class m{constructor(p,t,o,y,P,K){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=p,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=K,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=p===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(p,t,o){p||(p=this),re++;try{return p.runCount++,p.zone.runTask(p,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(j,q)}_transitionTo(p,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${p}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=p,p==j&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const S=u("setTimeout"),D=u("Promise"),Z=u("then");let E,B=[],V=!1;function d(I){if(0===re&&0===B.length)if(E||e[D]&&(E=e[D].resolve(0)),E){let p=E[Z];p||(p=E.then),p.call(E,L)}else e[S](L,0);I&&B.push(I)}function L(){if(!V){for(V=!0;B.length;){const I=B;B=[];for(let p=0;pG,onUnhandledError:F,microtaskDrainDone:F,scheduleMicroTask:d,showUncaughtError:()=>!_[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:F,patchMethod:()=>F,bindArguments:()=>[],patchThen:()=>F,patchMacroTask:()=>F,patchEventPrototype:()=>F,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>F,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>F,wrapWithCurrentZone:()=>F,filterProperties:()=>[],attachOriginToPatched:()=>F,_redefineProperty:()=>F,patchCallbacks:()=>F};let G={parent:null,zone:new _(null,null)},te=null,re=0;function F(){}r("Zone","Zone"),e.Zone=_}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ue=Object.getOwnPropertyDescriptor,he=Object.defineProperty,de=Object.getPrototypeOf,Be=Object.create,ut=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ie=Zone.__symbol__(Oe),se="true",ie="false",ke=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,Pe="undefined"!=typeof window,pe=Pe?window:void 0,$=Pe&&pe||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const Ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Re=!("nw"in $)&&void 0!==$.process&&"[object process]"==={}.toString.call($.process),je=!Re&&!Ue&&!(!Pe||!pe.HTMLElement),We=void 0!==$.process&&"[object process]"==={}.toString.call($.process)&&!Ue&&!(!Pe||!pe.HTMLElement),Ce={},qe=function(e){if(!(e=e||$.event))return;let n=Ce[e.type];n||(n=Ce[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;if(je&&i===pe&&"error"===e.type){const u=e;c=r&&r.call(this,u.message,u.filename,u.lineno,u.colno,u.error),!0===c&&e.preventDefault()}else c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function Xe(e,n,i){let r=ue(e,n);if(!r&&i&&ue(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,_=n.substr(2);let g=Ce[_];g||(g=Ce[_]=x("ON_PROPERTY"+_)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(_,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(_,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let S=u&&u.call(this);if(S)return r.set.call(this,S),"function"==typeof T.removeAttribute&&T.removeAttribute(n),S}return null},he(e,n,r),e[c]=!0}function Ye(e,n,i){if(n)for(let r=0;rfunction(f,_){const g=i(f,_);return g.cbIdx>=0&&"function"==typeof _[g.cbIdx]?Me(g.name,_[g.cbIdx],g,c):u.apply(f,_)})}function ae(e,n){e[x("OriginalDelegate")]=n}let $e=!1,He=!1;function mt(){if($e)return He;$e=!0;try{const e=pe.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(He=!0)}catch(e){}return He}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,_=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;_.length;){const l=_.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){Z(s)}}};const D=f("unhandledPromiseRejectionHandler");function Z(l){i.onUnhandledError(l);try{const s=n[D];"function"==typeof s&&s.call(this,l)}catch(s){}}function B(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),j=f("parentPromiseValue"),q=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(C){return h(()=>{G(l,!1,C)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(C){h(()=>{G(l,!1,C)})()}else{l[d]=s;const C=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[q],l[L]=l[j]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],N=!!a&&z===a[z];N&&(a[j]=b,a[q]=C);const H=s.run(k,void 0,N&&k!==E&&k!==V?[]:[b]);G(a,!0,H)}catch(b){G(a,!1,b)}},a)}const p=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,N)=>{a=b,h=N});function C(b){a(b)}function k(b){h(b)}for(let b of s)B(b)||(b=this.resolve(b)),b.then(C,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,C=new this((H,U)=>{h=H,w=U}),k=2,b=0;const N=[];for(let H of s){B(H)||(H=this.resolve(H));const U=b;try{H.then(Q=>{N[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(N)},Q=>{a?(N[U]=a.errorCallback(Q),k--,0===k&&h(N)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(N),C}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(p),C=n.current;return this[d]==X?this[L].push(C,w,s,a):F(this,C,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(p);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):F(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,C){return new t((b,N)=>{h.call(this,b,N)}).then(w,C)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=_,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let me=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){me=!1}const Et={useG:!0},ee={},Ke={},Je=new RegExp("^"+ke+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Qe(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ke+i,u=ke+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||Se,c=i&&i.rm||Oe,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",_=x(r),g="."+r+":",S=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=q=>z.handleEvent(q),E.originalDelegate=z),E.invoke(E,d,[L]);const j=E.options;j&&"object"==typeof j&&j.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,j)},D=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let j=0;jfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(_,g,T){return g&&g.prototype&&c.forEach(function(m){const S=`${i}.${r}::`+m,D=g.prototype;if(D.hasOwnProperty(m)){const Z=e.ObjectGetOwnPropertyDescriptor(D,m);Z&&Z.value?(Z.value=e.wrapWithCurrentZone(Z.value,S),e._redefineProperty(g.prototype,m,Z)):D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}else D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}),f.call(n,_,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],tt=["load"],nt=["blur","error","focus","load","resize","scroll","messageerror"],Dt=["bounce","finish","start"],rt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],St=["close","error","open","message"],Ot=["error","message"],Te=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ot(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function W(e,n,i,r){e&&Ye(e,ot(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Ye,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=_t;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=he,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Be,i.ArraySlice=ut,i.patchClass=ve,i.wrapWithCurrentZone=Le,i.filterProperties=ot,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:Ke,zoneSymbolEventNames:ee,eventNames:Te,isBrowser:je,isMix:We,isNode:Re,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ne=x("zoneTask");function ye(e,n,i,r){let c=null,u=null;i+=r;const f={};function _(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,S){if("function"==typeof S[0]){const D={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?S[1]||0:void 0,args:S},Z=S[0];S[0]=function(){try{return Z.apply(this,arguments)}finally{D.isPeriodic||("number"==typeof D.handleId?delete f[D.handleId]:D.handleId&&(D.handleId[Ne]=null))}};const B=Me(n,S[0],D,_,g);if(!B)return B;const V=B.data.handleId;return"number"==typeof V?f[V]=B:V&&(V[Ne]=B),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(B.ref=V.ref.bind(V),B.unref=V.unref.bind(V)),"number"==typeof V||V?V:B}return T.apply(e,S)}),u=ce(e,i,T=>function(m,S){const D=S[0];let Z;"number"==typeof D?Z=f[D]:(Z=D&&D[Ne],Z||(Z=D)),Z&&"string"==typeof Z.type?"notScheduled"!==Z.state&&(Z.cancelFn&&Z.data.isPeriodic||0===Z.runCount)&&("number"==typeof D?delete f[D]:D&&(D[Ne]=null),Z.zone.cancelTask(Z)):T.apply(e,S)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";ye(e,n,i,"Timeout"),ye(e,n,i,"Interval"),ye(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ye(e,"request","cancel","AnimationFrame"),ye(e,"mozRequest","mozCancel","AnimationFrame"),ye(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(g,T){return n.current.run(u,e,T,_)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function(e,n){n.patchEventPrototype(e,n)})(e,i),function(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function(e,n){if(Re&&!We||Zone[e.symbol("patchEvents")])return;const i="undefined"!=typeof WebSocket,r=n.__Zone_ignore_on_properties;if(je){const f=window,_=function(){try{const e=pe.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];W(f,Te.concat(["messageerror"]),r&&r.concat(_),de(f)),W(Document.prototype,Te,r),void 0!==f.SVGElement&&W(f.SVGElement.prototype,Te,r),W(Element.prototype,Te,r),W(HTMLElement.prototype,Te,r),W(HTMLMediaElement.prototype,wt,r),W(HTMLFrameSetElement.prototype,Ve.concat(nt),r),W(HTMLBodyElement.prototype,Ve.concat(nt),r),W(HTMLFrameElement.prototype,tt,r),W(HTMLIFrameElement.prototype,tt,r);const g=f.HTMLMarqueeElement;g&&W(g.prototype,Dt,r);const T=f.Worker;T&&W(T.prototype,Ot,r)}const c=n.XMLHttpRequest;c&&W(c.prototype,rt,r);const u=n.XMLHttpRequestEventTarget;u&&W(u&&u.prototype,rt,r),"undefined"!=typeof IDBIndex&&(W(IDBIndex.prototype,Ee,r),W(IDBRequest.prototype,Ee,r),W(IDBOpenDBRequest.prototype,Ee,r),W(IDBDatabase.prototype,Ee,r),W(IDBTransaction.prototype,Ee,r),W(IDBCursor.prototype,Ee,r)),i&&W(WebSocket.prototype,St,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function(T){const m=T.XMLHttpRequest;if(!m)return;const S=m.prototype;let Z=S[Ze],B=S[Ie];if(!Z){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;Z=M[Ze],B=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[_]=!1;const J=R[c];Z||(Z=R[Ze],B=R[Ie]),J&&B.call(R,V,J);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const F=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],j.apply(v,M)}),O=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(S,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},J=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[_]&&!R.aborted&&J.state===E&&J.invoke()}}),Y=ce(S,"abort",()=>function(v,M){const R=function(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[O])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),_=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const i=e.constructor.name;for(let r=0;r{const g=function(){return _.apply(this,Ae(arguments,i+"."+c))};return ae(g,_),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){et(e,r).forEach(f=>{const _=e.PromiseRejectionEvent;if(_){const g=new _(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})},416:(we,ue,he)=>{he(277)}},we=>{we(we.s=416)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
    ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var lke=Object.defineProperty,cke=Object.defineProperties,uke=Object.getOwnPropertyDescriptors,T1=Object.getOwnPropertySymbols,Bq=Object.prototype.hasOwnProperty,jq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Vq=(Ut,it,Je)=>it in Ut?lke(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ut[it]=Je,ot=(Ut,it)=>{for(var Je in it||(it={}))Bq.call(it,Je)&&Vq(Ut,Je,it[Je]);if(T1)for(var Je of T1(it))jq.call(it,Je)&&Vq(Ut,Je,it[Je]);return Ut},Sn=(Ut,it)=>cke(Ut,uke(it)),Uq=(Ut,it)=>{var Je={};for(var yt in Ut)Bq.call(Ut,yt)&&it.indexOf(yt)<0&&(Je[yt]=Ut[yt]);if(null!=Ut&&T1)for(var yt of T1(Ut))it.indexOf(yt)<0&&jq.call(Ut,yt)&&(Je[yt]=Ut[yt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(Ut,it,Je)=>{var yt=Je(52).default;Ut.exports=function Y(Se,he,W){function j(z,v){if(!he[z]){if(!Se[z]){if(P)return P(z,!0);var O=new Error("Cannot find module '"+z+"'");throw O.code="MODULE_NOT_FOUND",O}var A=he[z]={exports:{}};Se[z][0].call(A.exports,function(b){return j(Se[z][1][b]||b)},A,A.exports,Y,Se,he,W)}return he[z].exports}for(var P=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){$e=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ce-4:ce;for($=0;$>16&255,I[X++]=R>>8&255,I[X++]=255&R;return 2===D&&(R=j[V.charCodeAt($)]<<2|j[V.charCodeAt($+1)]>>4,I[X++]=255&R),1===D&&(R=j[V.charCodeAt($)]<<10|j[V.charCodeAt($+1)]<<4|j[V.charCodeAt($+2)]>>2,I[X++]=R>>8&255,I[X++]=255&R),I},he.fromByteArray=function(V){for(var R,K=V.length,ce=K%3,D=[],I=16383,X=0,E=K-ce;XE?E:X+I));return 1===ce?D.push(W[(R=V[K-1])>>2]+W[R<<4&63]+"=="):2===ce&&D.push(W[(R=(V[K-2]<<8)+V[K-1])>>10]+W[R>>4&63]+W[R<<2&63]+"="),D.join("")};for(var W=[],j=[],P="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",z=0,v=Q.length;z0)throw new Error("Invalid string. Length must be a multiple of 4");var K=V.indexOf("=");return-1===K&&(K=R),[K,K===R?0:4-K%4]}function y(V){return W[V>>18&63]+W[V>>12&63]+W[V>>6&63]+W[63&V]}function S(V,R,K){for(var D=[],I=R;I>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function A(D){var I=this.lastTotal-this.lastNeed,X=function(D,I,X){if(128!=(192&I[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&I.length>1){if(128!=(192&I[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&I.length>2&&128!=(192&I[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==X?X:this.lastNeed<=D.length?(D.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,I,0,D.length),void(this.lastNeed-=D.length))}function S(D,I){if((D.length-I)%2==0){var X=D.toString("utf16le",I);if(X){var E=X.charCodeAt(X.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],X.slice(0,-1)}return X}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",I,D.length-1)}function T(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):I}function V(D,I){var X=(D.length-I)%3;return 0===X?D.toString("base64",I):(this.lastNeed=3-X,this.lastTotal=3,1===X?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",I,D.length-X))}function R(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function K(D){return D.toString(this.encoding)}function ce(D){return D&&D.length?this.write(D):""}he.StringDecoder=z,z.prototype.write=function(D){if(0===D.length)return"";var I,X;if(this.lastNeed){if(void 0===(I=this.fillLast(D)))return"";X=this.lastNeed,this.lastNeed=0}else X=0;return X=0?($>0&&(D.lastNeed=$-1),$):--E=0?($>0&&(D.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:D.lastNeed=$-3),$):0}(this,D,I);if(!this.lastNeed)return D.toString("utf8",I);this.lastTotal=X;var E=D.length-(X-this.lastNeed);return D.copy(this.lastChar,0,E),D.toString("utf8",I,E)},z.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),P=Y("ieee754");he.Buffer=x,he.SlowBuffer=function(L){return+L!=L&&(L=0),x.alloc(+L)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(L){if(L>Q)throw new RangeError('The value "'+L+'" is invalid for option "size"');var N=new Uint8Array(L);return N.__proto__=x.prototype,N}function x(L,N,B){if("number"==typeof L){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(L)}return O(L,N,B)}function O(L,N,B){if("string"==typeof L)return function(L,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!x.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var B=0|D(L,N),Re=v(B),Qe=Re.write(L,N);return Qe!==B&&(Re=Re.slice(0,Qe)),Re}(L,N);if(ArrayBuffer.isView(L))return T(L);if(null==L)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(pt(L,ArrayBuffer)||L&&pt(L.buffer,ArrayBuffer))return function(L,N,B){if(N<0||L.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|L}function D(L,N){if(x.isBuffer(L))return L.length;if(ArrayBuffer.isView(L)||pt(L,ArrayBuffer))return L.byteLength;if("string"!=typeof L)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);var B=L.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===B)return 0;for(var Qe=!1;;)switch(N){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return G(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return je(L).length;default:if(Qe)return Re?-1:G(L).length;N=(""+N).toLowerCase(),Qe=!0}}function I(L,N,B){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(N>>>=0))return"";for(L||(L="utf8");;)switch(L){case"hex":return tt(this,N,B);case"utf8":case"utf-8":return _e(this,N,B);case"ascii":return st(this,N,B);case"latin1":case"binary":return Xe(this,N,B);case"base64":return ne(this,N,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ye(this,N,B);default:if(Re)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),Re=!0}}function X(L,N,B){var Re=L[N];L[N]=L[B],L[B]=Re}function E(L,N,B,Re,Qe){if(0===L.length)return-1;if("string"==typeof B?(Re=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),ve(B=+B)&&(B=Qe?0:L.length-1),B<0&&(B=L.length+B),B>=L.length){if(Qe)return-1;B=L.length-1}else if(B<0){if(!Qe)return-1;B=0}if("string"==typeof N&&(N=x.from(N,Re)),x.isBuffer(N))return 0===N.length?-1:$(L,N,B,Re,Qe);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Qe?Uint8Array.prototype.indexOf.call(L,N,B):Uint8Array.prototype.lastIndexOf.call(L,N,B):$(L,[N],B,Re,Qe);throw new TypeError("val must be string, number or Buffer")}function $(L,N,B,Re,Qe){var Yn,St=1,Nt=L.length,On=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(L.length<2||N.length<2)return-1;St=2,Nt/=2,On/=2,B/=2}function kn(Ls,gs){return 1===St?Ls[gs]:Ls.readUInt16BE(gs*St)}if(Qe){var Ti=-1;for(Yn=B;YnNt&&(B=Nt-On),Yn=B;Yn>=0;Yn--){for(var wi=!0,Xr=0;XrQe&&(Re=Qe):Re=Qe;var St=N.length;Re>St/2&&(Re=St/2);for(var Nt=0;Nt>8,St.push(B%256),St.push(Re);return St}(N,L.length-B),L,B,Re)}function ne(L,N,B){return j.fromByteArray(0===N&&B===L.length?L:L.slice(N,B))}function _e(L,N,B){B=Math.min(L.length,B);for(var Re=[],Qe=N;Qe239?4:St>223?3:St>191?2:1;if(Qe+On<=B)switch(On){case 1:St<128&&(Nt=St);break;case 2:128==(192&(kn=L[Qe+1]))&&(wi=(31&St)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=L[Qe+2],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&(wi=(15&St)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=L[Qe+2],Ti=L[Qe+3],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&St)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Re.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Re.push(Nt),Qe+=On}return function(L){var N=L.length;if(N<=4096)return String.fromCharCode.apply(String,L);for(var B="",Re=0;ReB&&(N+=" ... "),""},x.prototype.compare=function(N,B,Re,Qe,St){if(pt(N,Uint8Array)&&(N=x.from(N,N.offset,N.byteLength)),!x.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===B&&(B=0),void 0===Re&&(Re=N?N.length:0),void 0===Qe&&(Qe=0),void 0===St&&(St=this.length),B<0||Re>N.length||Qe<0||St>this.length)throw new RangeError("out of range index");if(Qe>=St&&B>=Re)return 0;if(Qe>=St)return-1;if(B>=Re)return 1;if(this===N)return 0;for(var Nt=(St>>>=0)-(Qe>>>=0),On=(Re>>>=0)-(B>>>=0),kn=Math.min(Nt,On),Yn=this.slice(Qe,St),Ti=N.slice(B,Re),wi=0;wi>>=0,isFinite(Re)?(Re>>>=0,void 0===Qe&&(Qe="utf8")):(Qe=Re,Re=void 0)}var St=this.length-B;if((void 0===Re||Re>St)&&(Re=St),N.length>0&&(Re<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");for(var Nt=!1;;)switch(Qe){case"hex":return Z(this,N,B,Re);case"utf8":case"utf-8":return oe(this,N,B,Re);case"ascii":return se(this,N,B,Re);case"latin1":case"binary":return te(this,N,B,Re);case"base64":return Ce(this,N,B,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,B,Re);default:if(Nt)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),Nt=!0}},x.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(L,N,B){var Re="";B=Math.min(L.length,B);for(var Qe=N;QeRe)&&(B=Re);for(var Qe="",St=N;StB)throw new RangeError("Trying to access beyond buffer length")}function ke(L,N,B,Re,Qe,St){if(!x.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Qe||NL.length)throw new RangeError("Index out of range")}function Ke(L,N,B,Re,Qe,St){if(B+Re>L.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Me(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,4),P.write(L,N,B,Re,23,4),B+4}function Ve(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,8),P.write(L,N,B,Re,52,8),B+8}x.prototype.slice=function(N,B){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(B=void 0===B?Re:~~B)<0?(B+=Re)<0&&(B=0):B>Re&&(B=Re),B>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N+--B],St=1;B>0&&(St*=256);)Qe+=this[N+--B]*St;return Qe},x.prototype.readUInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),this[N]},x.prototype.readUInt16LE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]|this[N+1]<<8},x.prototype.readUInt16BE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]<<8|this[N+1]},x.prototype.readUInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},x.prototype.readUInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},x.prototype.readIntLE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt=(St*=128)&&(Qe-=Math.pow(2,8*B)),Qe},x.prototype.readIntBE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=B,St=1,Nt=this[N+--Qe];Qe>0&&(St*=256);)Nt+=this[N+--Qe]*St;return Nt>=(St*=128)&&(Nt-=Math.pow(2,8*B)),Nt},x.prototype.readInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},x.prototype.readInt16LE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt16BE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},x.prototype.readInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},x.prototype.readFloatLE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!0,23,4)},x.prototype.readFloatBE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!1,23,4)},x.prototype.readDoubleLE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!0,52,8)},x.prototype.readDoubleBE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!1,52,8)},x.prototype.writeUIntLE=function(N,B,Re,Qe){N=+N,B>>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=1,On=0;for(this[B]=255&N;++On>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=Re-1,On=1;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)this[B+Nt]=N/On&255;return B+Re},x.prototype.writeUInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,255,0),this[B]=255&N,B+1},x.prototype.writeUInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeUInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeUInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B+3]=N>>>24,this[B+2]=N>>>16,this[B+1]=N>>>8,this[B]=255&N,B+4},x.prototype.writeUInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeIntLE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=0,On=1,kn=0;for(this[B]=255&N;++Nt>0)-kn&255;return B+Re},x.prototype.writeIntBE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=Re-1,On=1,kn=0;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)N<0&&0===kn&&0!==this[B+Nt+1]&&(kn=1),this[B+Nt]=(N/On>>0)-kn&255;return B+Re},x.prototype.writeInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,127,-128),N<0&&(N=255+N+1),this[B]=255&N,B+1},x.prototype.writeInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),this[B]=255&N,this[B+1]=N>>>8,this[B+2]=N>>>16,this[B+3]=N>>>24,B+4},x.prototype.writeInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeFloatLE=function(N,B,Re){return Me(this,N,B,!0,Re)},x.prototype.writeFloatBE=function(N,B,Re){return Me(this,N,B,!1,Re)},x.prototype.writeDoubleLE=function(N,B,Re){return Ve(this,N,B,!0,Re)},x.prototype.writeDoubleBE=function(N,B,Re){return Ve(this,N,B,!1,Re)},x.prototype.copy=function(N,B,Re,Qe){if(!x.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Qe&&0!==Qe&&(Qe=this.length),B>=N.length&&(B=N.length),B||(B=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),N.length-B=0;--Nt)N[Nt+B]=this[Nt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Qe),B);return St},x.prototype.fill=function(N,B,Re,Qe){if("string"==typeof N){if("string"==typeof B?(Qe=B,B=0,Re=this.length):"string"==typeof Re&&(Qe=Re,Re=this.length),void 0!==Qe&&"string"!=typeof Qe)throw new TypeError("encoding must be a string");if("string"==typeof Qe&&!x.isEncoding(Qe))throw new TypeError("Unknown encoding: "+Qe);if(1===N.length){var St=N.charCodeAt(0);("utf8"===Qe&&St<128||"latin1"===Qe)&&(N=St)}}else"number"==typeof N&&(N&=255);if(B<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(Nt=B;Nt55295&&B<57344){if(!Qe){if(B>56319){(N-=3)>-1&&St.push(239,191,189);continue}if(Nt+1===Re){(N-=3)>-1&&St.push(239,191,189);continue}Qe=B;continue}if(B<56320){(N-=3)>-1&&St.push(239,191,189),Qe=B;continue}B=65536+(Qe-55296<<10|B-56320)}else Qe&&(N-=3)>-1&&St.push(239,191,189);if(Qe=null,B<128){if((N-=1)<0)break;St.push(B)}else if(B<2048){if((N-=2)<0)break;St.push(B>>6|192,63&B|128)}else if(B<65536){if((N-=3)<0)break;St.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;St.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return St}function je(L){return j.toByteArray(function(L){if((L=(L=L.split("=")[0]).trim().replace($e,"")).length<2)return"";for(;L.length%4!=0;)L+="=";return L}(L))}function _t(L,N,B,Re){for(var Qe=0;Qe=N.length||Qe>=L.length);++Qe)N[Qe+B]=L[Qe];return Qe}function pt(L,N){return L instanceof N||null!=L&&null!=L.constructor&&null!=L.constructor.name&&L.constructor.name===N.name}function ve(L){return L!=L}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((P,Q,z)=>P+(0===z?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((P,Q,z)=>void 0===j[Q]||"symbol"==typeof j[Q]?P:P+(0===P.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var P,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,oe){return Function.prototype.apply.call($,Z,oe)};P=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var z=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,oe){function se(Ce){E.removeListener($,te),oe(Ce)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",se),Z([].slice.call(arguments))}X(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&X(E,"error",$,Z)}(E,se,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var x=10;function O(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function A(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,oe){var se,te,Ce;if(O(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Ce=te[$]),void 0===Ce)Ce=te[$]=Z,++E._eventsCount;else if("function"==typeof Ce?Ce=te[$]=oe?[Z,Ce]:[Ce,Z]:oe?Ce.unshift(Z):Ce.push(Z),(se=A(E))>0&&Ce.length>se&&!Ce.warned){Ce.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Ce.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Ce.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var oe={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},se=y.bind(oe);return se.listener=Z,oe.wrapFn=se,se}function T(E,$,Z){var oe=E._events;if(void 0===oe)return[];var se=oe[$];return void 0===se?[]:"function"==typeof se?Z?[se.listener||se]:[se]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(se):R(se,se.length)}function V(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function R(E,$){for(var Z=new Array($),oe=0;oe<$;++oe)Z[oe]=E[oe];return Z}function X(E,$,Z,oe){if("function"==typeof E.on)oe.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function se(te){oe.once&&E.removeEventListener($,se),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(E){if("number"!=typeof E||E<0||z(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");x=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||z($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return A(this)},v.prototype.emit=function($){for(var Z=[],oe=1;oe0&&(Ce=Z[0]),Ce instanceof Error)throw Ce;var me=new Error("Unhandled error."+(Ce?" ("+Ce.message+")":""));throw me.context=Ce,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var _e=ne.length,Ie=R(ne,_e);for(oe=0;oe<_e;++oe)j(Ie[oe],this,Z)}return!0},v.prototype.on=v.prototype.addListener=function($,Z){return b(this,$,Z,!1)},v.prototype.prependListener=function($,Z){return b(this,$,Z,!0)},v.prototype.once=function($,Z){return O(Z),this.on($,S(this,$,Z)),this},v.prototype.prependOnceListener=function($,Z){return O(Z),this.prependListener($,S(this,$,Z)),this},v.prototype.off=v.prototype.removeListener=function($,Z){var oe,se,te,Ce,me;if(O(Z),void 0===(se=this._events))return this;if(void 0===(oe=se[$]))return this;if(oe===Z||oe.listener===Z)0==--this._eventsCount?this._events=Object.create(null):(delete se[$],se.removeListener&&this.emit("removeListener",$,oe.listener||Z));else if("function"!=typeof oe){for(te=-1,Ce=oe.length-1;Ce>=0;Ce--)if(oe[Ce]===Z||oe[Ce].listener===Z){me=oe[Ce].listener,te=Ce;break}if(te<0)return this;0===te?oe.shift():function(E,$){for(;$+1=0;se--)this.removeListener($,Z[se]);return this},v.prototype.listeners=function($){return T(this,$,!0)},v.prototype.rawListeners=function($){return T(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):V.call(E,$)},v.prototype.listenerCount=V,v.prototype.eventNames=function(){return this._eventsCount>0?P(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,P,Q,z){var v,x,O=8*z-Q-1,A=(1<>1,y=-7,S=P?z-1:0,T=P?-1:1,V=W[j+S];for(S+=T,v=V&(1<<-y)-1,V>>=-y,y+=O;y>0;v=256*v+W[j+S],S+=T,y-=8);for(x=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;x=256*x+W[j+S],S+=T,y-=8);if(0===v)v=1-b;else{if(v===A)return x?NaN:1/0*(V?-1:1);x+=Math.pow(2,Q),v-=b}return(V?-1:1)*x*Math.pow(2,v-Q)},he.write=function(W,j,P,Q,z,v){var x,O,A,b=8*v-z-1,y=(1<>1,T=23===z?Math.pow(2,-24)-Math.pow(2,-77):0,V=Q?0:v-1,R=Q?1:-1,K=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(O=isNaN(j)?1:0,x=y):(x=Math.floor(Math.log(j)/Math.LN2),j*(A=Math.pow(2,-x))<1&&(x--,A*=2),(j+=x+S>=1?T/A:T*Math.pow(2,1-S))*A>=2&&(x++,A/=2),x+S>=y?(O=0,x=y):x+S>=1?(O=(j*A-1)*Math.pow(2,z),x+=S):(O=j*Math.pow(2,S-1)*Math.pow(2,z),x=0));z>=8;W[P+V]=255&O,V+=R,O/=256,z-=8);for(x=x<0;W[P+V]=255&x,V+=R,x/=256,b-=8);W[P+V-R]|=128*K}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,P){P&&(j.super_=P,j.prototype=Object.create(P.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,P){if(P){j.super_=P;var Q=function(){};Q.prototype=P.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:P}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:z}=Y("./url"),v=Y("./JsonLdError"),x=Y("./ResolvedContext");function A(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const T=y["@context"];if(P(T))y["@context"]=z(S,T);else if(W(T))for(let V=0;V10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(R.has(T))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:T});let K,ce;R.add(T);try{ce=yield V(T),K=ce.document||null,P(K)&&(K=JSON.parse(K))}catch(D){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:T,cause:D})}if(!j(K))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:T});return K="@context"in K?{"@context":K["@context"]}:{"@context":{}},ce.contextUrl&&(W(K["@context"])||(K["@context"]=[K["@context"]]),K["@context"].push(ce.contextUrl)),{context:K,remoteDoc:ce}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",P="jsonld.Error",Q={}){super(j),this.name=P,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(P,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(P,Q)},j.expand=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(P)},j.flatten=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(P)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const P=this;return P._loader=j,function(){return P.add.apply(P,arguments)}}add(j){var P=this;return yt(function*(){let Q=P._requests[j];if(Q)return Promise.resolve(Q);Q=P._requests[j]=P._loader(j);try{return yield Q}finally{delete P._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,z){this.cache.set(Q,z)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isString:Q,isUndefined:z}=Y("./types"),{isList:v,isValue:x,isGraph:O,isSimpleGraph:A,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{removeBase:K,prependBase:ce}=Y("./url"),{addValue:D,asArray:I,compareShortestLeast:X}=Y("./util"),E={};function Z(oe,se,te){if("@nest"!==y(oe,se,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var oe=yt(function*({activeCtx:se,activeProperty:te=null,element:Ce,options:me={},compactionMap:ne=(()=>{})}){if(j(Ce)){let Ie=[];for(let Ge=0;Ge1&&(tt=Array.from(tt).sort());const Ye=se;for(const ke of tt){const Ke=E.compactIri({activeCtx:Ye,iri:ke,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");z(Me)||(se=yield V({activeCtx:se,localCtx:Me,options:me,propagate:!1}))}const Ue=Object.keys(Ce).sort();for(const ke of Ue){const Ke=Ce[ke];if("@id"!==ke)if("@type"!==ke)if("@reverse"!==ke)if("@preserve"!==ke)if("@index"!==ke)if("@graph"!==ke&&"@list"!==ke&&"@included"!==ke&&T(ke)){const Me=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:se,iri:ke,value:Ke,relativeTo:{vocab:!0},reverse:Ie}),Ve=se.mappings.has(Me)?se.mappings.get(Me)["@nest"]:null;let $e=Ge;Ve&&(Z(se,Ve,me),P(Ge[Ve])||(Ge[Ve]={}),$e=Ge[Ve]),D($e,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ve=E.compactIri({activeCtx:se,iri:ke,value:Me,relativeTo:{vocab:!0},reverse:Ie}),$e=se.mappings.has(Ve)?se.mappings.get(Ve)["@nest"]:null;let Ne=Ge;$e&&(Z(se,$e,me),P(Ge[$e])||(Ge[$e]={}),Ne=Ge[$e]);const q=S(se,Ve,"@container")||[],G=O(Me),pe=v(Me);let ue;pe?ue=Me["@list"]:G&&(ue=Me["@graph"]);let je=yield E.compact({activeCtx:se,activeProperty:Ve,element:pe||G?ue:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){D(Ne,Ve,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&A(Me))){let _t;Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&A(Me)?(j(je)&&je.length>1&&(je={"@included":je}),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={},q.includes("@language"))x(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const ve=S(se,Ve,"@index")||"@index",L=E.compactIri({activeCtx:se,iri:ve,relativeTo:{vocab:!0}});if("@index"===ve)pt=Me["@index"],delete je[L];else{let N;if([pt,...N]=I(je[ve]||[]),Q(pt))switch(N.length){case 0:delete je[ve];break;case 1:je[ve]=N[0];break;default:je[ve]=N}else pt=null}}else if(q.includes("@id")){const ve=E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});pt=je[ve],delete je[ve]}else if(q.includes("@type")){const ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let L;switch([pt,...L]=I(je[ve]||[]),L.length){case 0:delete je[ve];break;case 1:je[ve]=L[0];break;default:je[ve]=L}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:se,activeProperty:Ve,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===ke||"@graph"===ke;D(Ne,Ve,je,{propertyIsArray:_t})}}}else{if((S(se,te,"@container")||[]).includes("@index"))continue;const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Ke)}else{const Me=yield E.compact({activeCtx:se,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||D(Ge,ke,Me)}else{const Me=yield E.compact({activeCtx:se,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ve in Me)if(se.mappings.has(Ve)&&se.mappings.get(Ve).reverse){const $e=Me[Ve],q=(S(se,Ve,"@container")||[]).includes("@set")||!me.compactArrays;D(Ge,Ve,$e,{propertyIsArray:q}),delete Me[Ve]}if(Object.keys(Me).length>0){const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Me)}}else{let Me=I(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),q=(S(se,Ve,"@container")||[]).includes("@set")&&R(se,1.1)||j(Me)&&0===Ke.length;D(Ge,Ve,Me,{propertyIsArray:q})}else{let Me=I(Ke).map($e=>E.compactIri({activeCtx:se,iri:$e,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),Ge[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return Ge}return Ce});return function(se){return oe.apply(this,arguments)}}(),E.compactIri=({activeCtx:oe,iri:se,value:te=null,relativeTo:Ce={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===se)return se;oe.isPropertyTermScoped&&oe.previousContext&&(oe=oe.previousContext);const _e=oe.getInverse();if(T(se)&&se in _e&&"@none"in _e[se]&&"@type"in _e[se]["@none"]&&"@none"in _e[se]["@none"]["@type"])return _e[se]["@none"]["@type"]["@none"];if(Ce.vocab&&se in _e){const tt=oe["@language"]||"@none",Ye=[];P(te)&&"@index"in te&&!("@graph"in te)&&Ye.push("@index","@index@set"),P(te)&&"@preserve"in te&&(te=te["@preserve"][0]),O(te)?("@index"in te&&Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Ye.push("@graph@id","@graph@id@set"),Ye.push("@graph","@graph@set","@set"),"@index"in te||Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Ye.push("@graph@id","@graph@id@set")):P(te)&&!x(te)&&Ye.push("@id","@id@set","@type","@set@type");let Ue="@language",ke="@null";if(me)Ue="@type",ke="@reverse",Ye.push("@set");else if(v(te)){"@index"in te||Ye.push("@list");const Me=te["@list"];if(0===Me.length)Ue="@any",ke="@none";else{let Ve=0===Me.length?tt:null,$e=null;for(let Ne=0;Nest.includes("_"));Ge&&_e.push(Ge.replace(/^[^_]+_/,"_"))}_e.push("@none");const Ie=oe.inverse[se];for(const Ge of Ce){if(!(Ge in Ie))continue;const st=Ie[Ge][me];for(const Xe of _e)if(Xe in st)return st[Xe]}return null}(oe,se,te,Ye,Ue,ke);if(null!==Ke)return Ke}if(Ce.vocab&&"@vocab"in oe){const tt=oe["@vocab"];if(0===se.indexOf(tt)&&se!==tt){const Ye=se.substr(tt.length);if(!oe.mappings.has(Ye))return Ye}}let Ie=null;const Ge=[];let st=oe.fastCurieMap;const Xe=se.length-1;for(let tt=0;tt=0;--tt){const Ye=Ge[tt],Ue=Ye.terms;for(const ke of Ue){const Ke=ke+":"+se.substr(Ye.iri.length);oe.mappings.get(ke)._prefix&&(!oe.mappings.has(Ke)||null===te&&oe.mappings.get(Ke)["@id"]===se)&&(null===Ie||X(Ke,Ie)<0)&&(Ie=Ke)}}if(null!==Ie)return Ie;for(const[tt,Ye]of oe.mappings)if(Ye&&Ye._prefix&&se.startsWith(tt+":"))throw new W(`Absolute IRI "${se}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:oe});return Ce.vocab?se:"@base"in oe?oe["@base"]?K(ce(ne,oe["@base"]),se):se:K(ne,se)},E.compactValue=({activeCtx:oe,activeProperty:se,value:te,options:Ce})=>{if(x(te)){const Ie=S(oe,se,"@type"),Ge=S(oe,se,"@language"),st=S(oe,se,"@direction"),Xe=S(oe,se,"@container")||[],tt="@index"in te&&!Xe.includes("@index");if(!tt&&"@none"!==Ie&&(te["@type"]===Ie||"@language"in te&&te["@language"]===Ge&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===Ge||"@direction"in te&&te["@direction"]===st))return te["@value"];const Ye=Object.keys(te).length,Ue=1===Ye||2===Ye&&"@index"in te&&!tt,ke="@language"in oe,Ke=Q(te["@value"]),Me=oe.mappings.has(se)&&null===oe.mappings.get(se)["@language"];if(Ue&&"@none"!==Ie&&(!ke||!Ke||Me))return te["@value"];const Ve={};return tt&&(Ve[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ve[E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:oe,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ve[E.compactIri({activeCtx:oe,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ve}const me=y(oe,se,{vocab:!0},Ce),ne=S(oe,se,"@type"),_e=E.compactIri({activeCtx:oe,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Ce.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?_e:{[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]:_e}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:P,isObject:Q,isString:z,isUndefined:v}=Y("./types"),{isAbsolute:x,isRelative:O,prependBase:A}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,V=/^@[a-zA-Z]+$/,R={};function K(D,I,X,E,$,Z){if(null===I||!z(I)||R.isKeyword(I))return I;if(I.match(V))return null;if(E&&E.hasOwnProperty(I)&&!0!==$.get(I)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:I,defined:$,options:Z}),(X=X||{}).vocab){const se=D.mappings.get(I);if(null===se)return null;if(Q(se)&&"@id"in se)return se["@id"]}const oe=I.indexOf(":");if(oe>0){const se=I.substr(0,oe),te=I.substr(oe+1);if("_"===se||0===te.indexOf("//"))return I;E&&E.hasOwnProperty(se)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:se,defined:$,options:Z});const Ce=D.mappings.get(se);if(Ce&&Ce._prefix)return Ce["@id"]+te;if(x(I))return I}if(X.vocab&&"@vocab"in D)return D["@vocab"]+I;if(X.base&&"@base"in D){if(D["@base"])return A(A(Z.base,D["@base"]),I)}else if(X.base)return A(Z.base,I);return I}function ce(D,I){if(!D||"object"!=typeof D||!I||"object"!=typeof I)return D===I;const X=Array.isArray(D);if(X!==Array.isArray(I))return!1;if(X){if(D.length!==I.length)return!1;for(let Z=0;Z{if(E.has(X)){if(E.get(X))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:I,term:X})}let oe;if(E.set(X,!1),I.hasOwnProperty(X)&&(oe=I[X]),"@type"===X&&Q(oe)&&"@set"===(oe["@container"]||"@set")&&R.processingMode(D,1.1)){const Ie=["@container","@id","@protected"],Ge=Object.keys(oe);if(0===Ge.length||Ge.some(st=>!Ie.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X})}else{if(R.isKeyword(X))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X});if(X.match(V))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:X});if(""===X)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:I})}const se=D.mappings.get(X);D.mappings.has(X)&&D.mappings.delete(X);let te=!1;if((z(oe)||null===oe)&&(te=!0,oe={"@id":oe}),!Q(oe))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:I});const Ce={};D.mappings.set(X,Ce),Ce.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];R.processingMode(D,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Ie in oe)if(!me.includes(Ie))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Ie,"jsonld.SyntaxError",{code:"invalid term definition",context:I});const ne=X.indexOf(":");if(Ce._termHasColon=ne>0,"@reverse"in oe){if("@id"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});if("@nest"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});const Ie=oe["@reverse"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));const Ge=K(D,Ie,{vocab:!0,base:!1},I,E,$);if(!x(Ge))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ge,Ce.reverse=!0}else if("@id"in oe){let Ie=oe["@id"];if(Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(null===Ie)Ce["@id"]=null;else{if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));if(Ie!==X){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie)&&!R.isKeyword(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(X.match(/(?::[^:])|\//)&&K(D,X,{vocab:!0,base:!1},I,new Map(E).set(X,!0),$)!==Ie)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ie,Ce._prefix=te&&!Ce._termHasColon&&Ie.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ce))if(Ce._termHasColon){const Ie=X.substr(0,ne);if(I.hasOwnProperty(Ie)&&R.createTermDefinition({activeCtx:D,localCtx:I,term:Ie,defined:E,options:$}),D.mappings.has(Ie)){const Ge=X.substr(ne+1);Ce["@id"]=D.mappings.get(Ie)["@id"]+Ge}else Ce["@id"]=X}else if("@type"===X)Ce["@id"]=X;else{if(!("@vocab"in D))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I,term:X});Ce["@id"]=D["@vocab"]+X}if((!0===oe["@protected"]||!0===E.get("@protected")&&!1!==oe["@protected"])&&(D.protected[X]=!0,Ce.protected=!0),E.set(X,!0),"@type"in oe){let Ie=oe["@type"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if("@json"===Ie||"@none"===Ie){if(R.processingMode(D,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Ie}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else if("@id"!==Ie&&"@vocab"!==Ie){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if(0===Ie.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}Ce["@type"]=Ie}if("@container"in oe){const Ie=z(oe["@container"])?[oe["@container"]]:oe["@container"]||[],Ge=["@list","@set","@index","@language"];let st=!0;const Xe=Ie.includes("@set");if(R.processingMode(D,1.1)){if(Ge.push("@graph","@id","@type"),Ie.includes("@list")){if(1!==Ie.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else if(Ie.includes("@graph")){if(Ie.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else st&=Ie.length<=(Xe?2:1);if(Ie.includes("@type")&&(Ce["@type"]=Ce["@type"]||"@id",!["@id","@vocab"].includes(Ce["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else st&=!P(oe["@container"]),st&=Ie.length<=1;if(st&=Ie.every(tt=>Ge.includes(tt)),st&=!(Xe&&Ie.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ge.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:I});if(Ce.reverse&&!Ie.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});Ce["@container"]=Ie}if("@index"in oe){if(!("@container"in oe)||!Ce["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});if(!z(oe["@index"])||0===oe["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});Ce["@index"]=oe["@index"]}if("@context"in oe&&(Ce["@context"]=oe["@context"]),"@language"in oe&&!("@type"in oe)){let Ie=oe["@language"];if(null!==Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:I});null!==Ie&&(Ie=Ie.toLowerCase()),Ce["@language"]=Ie}if("@prefix"in oe){if(X.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:I});if(R.isKeyword(Ce["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:I});if("boolean"!=typeof oe["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:I});Ce._prefix=!0===oe["@prefix"]}if("@direction"in oe){const Ie=oe["@direction"];if(null!==Ie&&"ltr"!==Ie&&"rtl"!==Ie)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:I});Ce["@direction"]=Ie}if("@nest"in oe){const Ie=oe["@nest"];if(!z(Ie)||"@nest"!==Ie&&0===Ie.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:I});Ce["@nest"]=Ie}const _e=Ce["@id"];if("@context"===_e||"@preserve"===_e)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:I});if(se&&se.protected&&!Z&&(D.protected[X]=!0,Ce.protected=!0,!ce(se,Ce))){const Ie=$&&$.protectedMode||"error";if("error"===Ie)throw new j(`Invalid JSON-LD syntax; tried to redefine "${X}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:I,term:X});if("warn"===Ie)return void console.warn("WARNING: protected term redefinition",{term:X});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:I,term:X,protectedMode:Ie})}},R.expandIri=(D,I,X,E)=>K(D,I,X,void 0,void 0,E),R.getInitialContext=D=>{const I=JSON.stringify({processingMode:D.processingMode}),X=S.get(I);if(X)return X;const E={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ce=this;if(Ce.inverse)return Ce.inverse;const me=Ce.inverse={},ne=Ce.fastCurieMap={},_e={},Ie=(Ce["@language"]||"@none").toLowerCase(),Ge=Ce["@direction"],st=Ce.mappings,Xe=[...st.keys()].sort(y);for(const tt of Xe){const Ye=st.get(tt);if(null===Ye)continue;let Ue=Ye["@container"]||"@none";if(Ue=[].concat(Ue).sort().join(""),null===Ye["@id"])continue;const ke=b(Ye["@id"]);for(const Ke of ke){let Me=me[Ke];const Ve=R.isKeyword(Ke);if(Me)!Ve&&!Ye._termHasColon&&_e[Ke].push(tt);else if(me[Ke]=Me={},!Ve&&!Ye._termHasColon){_e[Ke]=[tt];const $e={iri:Ke,terms:_e[Ke]};Ke[0]in ne?ne[Ke[0]].push($e):ne[Ke[0]]=[$e]}if(Me[Ue]||(Me[Ue]={"@language":{},"@type":{},"@any":{}}),Me=Me[Ue],oe(tt,Me["@any"],"@none"),Ye.reverse)oe(tt,Me["@type"],"@reverse");else if("@none"===Ye["@type"])oe(tt,Me["@any"],"@none"),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none");else if("@type"in Ye)oe(tt,Me["@type"],Ye["@type"]);else if("@language"in Ye&&"@direction"in Ye){const $e=Ye["@language"],Ne=Ye["@direction"];oe(tt,Me["@language"],$e&&Ne?`${$e}_${Ne}`.toLowerCase():$e?$e.toLowerCase():Ne?`_${Ne}`:"@null")}else"@language"in Ye?oe(tt,Me["@language"],(Ye["@language"]||"@null").toLowerCase()):"@direction"in Ye?oe(tt,Me["@language"],Ye["@direction"]?`_${Ye["@direction"]}`:"@none"):Ge?(oe(tt,Me["@language"],`_${Ge}`),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none")):(oe(tt,Me["@language"],Ie),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Ce={};return Ce.mappings=W.clone(this.mappings),Ce.clone=this.clone,Ce.inverse=null,Ce.getInverse=this.getInverse,Ce.protected=W.clone(this.protected),this.previousContext&&(Ce.previousContext=this.previousContext.clone()),Ce.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ce["@base"]=this["@base"]),"@language"in this&&(Ce["@language"]=this["@language"]),"@vocab"in this&&(Ce["@vocab"]=this["@vocab"]),Ce},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(I,E),E;function Z(Ce,me,ne){const _e=Ce[me],Ie=Ce[me]={};let Ge,st;for(const Xe of _e)Ge=Xe.iri,st=ne>=Ge.length?"":Ge[ne],st in Ie?Ie[st].push(Xe):Ie[st]=[Xe];for(const Xe in Ie)""!==Xe&&Z(Ie,Xe,ne+1)}function oe(Ce,me,ne){me.hasOwnProperty(ne)||(me[ne]=Ce)}},R.getContextValue=(D,I,X)=>{if(null===I)return"@context"===X?void 0:null;if(D.mappings.has(I)){const E=D.mappings.get(I);if(v(X))return E;if(E.hasOwnProperty(X))return E[X]}return"@language"===X&&X in D||"@direction"===X&&X in D?D[X]:"@context"!==X?null:void 0},R.processingMode=(D,I)=>I.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+I.toString():"json-ld-1.0"===D.processingMode,R.isKeyword=D=>{if(!z(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:P}=Y("../constants"),Q=Y("../JsonLdError"),z=Y("../RequestQueue"),{prependBase:v}=Y("../url"),x=/(^|(\r\n))link:/i;function O(A,b,y){const S=new(A=A||XMLHttpRequest);return new Promise((T,V)=>{S.onload=()=>T(S),S.onerror=R=>V(R),S.open("GET",b,!0);for(const R in y)S.setRequestHeader(R,y[R]);S.send()})}Se.exports=({secure:A,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new z).wrapLoader(T);function T(R){return V.apply(this,arguments)}function V(){return(V=yt(function*(R){if(0!==R.indexOf("http:")&&0!==R.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:R});if(A&&0!==R.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:R});let K;try{K=yield O(y,R,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:R,cause:E})}if(K.status>=400)throw new Q("URL could not be dereferenced: "+K.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:R,httpStatusCode:K.status});let ce={contextUrl:null,documentUrl:R,document:K.response},D=null;const I=K.getResponseHeader("Content-Type");let X;if(x.test(K.getAllResponseHeaders())&&(X=K.getResponseHeader("Link")),X&&"application/ld+json"!==I){const E=W(X),$=E[P];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:R});$&&(ce.contextUrl=$.target),D=E.alternate,D&&"application/ld+json"==D.type&&!(I||"").match(/^application\/(\w*\+)?json$/)&&(ce=yield T(v(R,D.target)))}return ce})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isEmptyObject:Q,isString:z,isUndefined:v}=Y("./types"),{isList:x,isValue:O,isGraph:A,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{isAbsolute:K}=Y("./url"),{addValue:ce,asArray:D,getValues:I,validateTypeValue:X}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return oe.apply(this,arguments)}function oe(){return(oe=yt(function*({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:Ge,expandedParent:st,options:Xe={},insideList:tt,typeKey:Ye,typeScopedContext:Ue,expansionMap:ke}){const Ke=Object.keys(Ge).sort(),Me=[];let Ve;const $e=Ge[Ye]&&"@json"===y(ne,j(Ge[Ye])?Ge[Ye][0]:Ge[Ye],{vocab:!0},Xe);for(const Ne of Ke){let G,q=Ge[Ne];if("@context"===Ne)continue;let pe=y(ne,Ne,{vocab:!0},Xe);if((null===pe||!K(pe)&&!T(pe))&&(pe=ke({unmappedProperty:Ne,activeCtx:ne,activeProperty:_e,parent:Ge,options:Xe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(T(pe)){if("@reverse"===Ie)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!z(q)){if(!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(P(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>z(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ce(st,"@id",D(q).map(pt=>z(pt)?y(ne,pt,{base:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@type"===pe){P(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,ve])=>[y(Ue,pt,{vocab:!0}),D(ve).map(L=>y(Ue,L,{base:!0,vocab:!0}))]))),X(q,Xe.isFrame),ce(st,"@type",D(q).map(pt=>z(pt)?y(Ue,pt,{base:!0,vocab:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@included"===pe&&R(ne,1.1)){const pt=D(yield E.expand({activeCtx:ne,activeProperty:_e,element:q,options:Xe,expansionMap:ke}));if(!pt.every(ve=>b(ve)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ce(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!P(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ve=q,$e&&R(ne,1.1)?st["@value"]=q:ce(st,"@value",q,{propertyIsArray:Xe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=D(q).map(pt=>z(pt)?pt.toLowerCase():pt);for(const pt of q)z(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ce(st,"@language",q,{propertyIsArray:Xe.isFrame});continue}if("@direction"===pe){if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=D(q);for(const pt of q)if(z(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ce(st,"@direction",q,{propertyIsArray:Xe.isFrame});continue}if("@index"===pe){if(!z(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ce(st,"@index",q);continue}if("@reverse"===pe){if(!P(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Xe,expansionMap:ke}),"@reverse"in G)for(const ve in G["@reverse"])ce(st,ve,G["@reverse"][ve],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const ve in G){if("@reverse"===ve)continue;null===pt&&(pt=st["@reverse"]={}),ce(pt,ve,[],{propertyIsArray:!0});const L=G[ve];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=D(G).map(pt=>({"@graph":D(pt)}))),ue.mappings.has(Ne)&&ue.mappings.get(Ne).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=D(G);for(let ve=0;ve"@value"===y(ne,pe,{vocab:!0},Xe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:G,expandedParent:st,options:Xe,insideList:tt,typeScopedContext:Ue,typeKey:Ye,expansionMap:ke})}}})).apply(this,arguments)}function se({activeCtx:ne,activeProperty:_e,value:Ie,options:Ge}){if(null==Ie)return null;const st=y(ne,_e,{vocab:!0},Ge);if("@id"===st)return y(ne,Ie,{base:!0},Ge);if("@type"===st)return y(ne,Ie,{vocab:!0,base:!0},Ge);const Xe=S(ne,_e,"@type");if(("@id"===Xe||"@graph"===st)&&z(Ie))return{"@id":y(ne,Ie,{base:!0},Ge)};if("@vocab"===Xe&&z(Ie))return{"@id":y(ne,Ie,{vocab:!0,base:!0},Ge)};if(T(st))return Ie;const tt={};if(Xe&&!["@id","@vocab","@none"].includes(Xe))tt["@type"]=Xe;else if(z(Ie)){const Ye=S(ne,_e,"@language");null!==Ye&&(tt["@language"]=Ye);const Ue=S(ne,_e,"@direction");null!==Ue&&(tt["@direction"]=Ue)}return["boolean","number","string"].includes(typeof Ie)||(Ie=Ie.toString()),tt["@value"]=Ie,tt}function te(ne,_e,Ie,Ge){const st=[],Xe=Object.keys(_e).sort();for(const tt of Xe){const Ye=y(ne,tt,{vocab:!0},Ge);let Ue=_e[tt];j(Ue)||(Ue=[Ue]);for(const ke of Ue){if(null===ke)continue;if(!z(ke))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:_e});const Ke={"@value":ke};"@none"!==Ye&&(Ke["@language"]=tt.toLowerCase()),Ie&&(Ke["@direction"]=Ie),st.push(Ke)}}return st}function Ce(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:_e,activeProperty:Ie,value:Ge,expansionMap:st,asGraph:Xe,indexKey:tt,propertyIndex:Ye}){const Ue=[],ke=Object.keys(Ge).sort(),Ke="@type"===tt;for(let Me of ke){if(Ke){const Ne=S(ne,Me,"@context");v(Ne)||(ne=yield V({activeCtx:ne,localCtx:Ne,propagate:!1,options:_e}))}let $e,Ve=Ge[Me];j(Ve)||(Ve=[Ve]),Ve=yield E.expand({activeCtx:ne,activeProperty:Ie,element:Ve,options:_e,insideList:!1,insideIndex:!0,expansionMap:st}),$e=Ye?"@none"===Me?"@none":se({activeCtx:ne,activeProperty:tt,value:Me,options:_e}):y(ne,Me,{vocab:!0},_e),"@id"===tt?Me=y(ne,Me,{base:!0},_e):Ke&&(Me=$e);for(let Ne of Ve){if(Xe&&!A(Ne)&&(Ne={"@graph":[Ne]}),"@type"===tt)"@none"===$e||(Ne["@type"]=Ne["@type"]?[Me].concat(Ne["@type"]):[Me]);else{if(O(Ne)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ne});Ye?"@none"!==$e&&ce(Ne,Ye,$e,{propertyIsArray:!0,prependValue:!0}):"@none"!==$e&&!(tt in Ne)&&(Ne[tt]=Me)}Ue.push(Ne)}}return Ue})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:_e,activeProperty:Ie=null,element:Ge,options:st={},insideList:Xe=!1,insideIndex:tt=!1,typeScopedContext:Ye=null,expansionMap:Ue=(()=>{})}){if(null==Ge)return null;if("@default"===Ie&&(st=Object.assign({},st,{isFrame:!1})),!j(Ge)&&!P(Ge)){if(!Xe&&(null===Ie||"@graph"===y(_e,Ie,{vocab:!0},st))){const G=yield Ue({unmappedValue:Ge,activeCtx:_e,activeProperty:Ie,options:st,insideList:Xe});return void 0===G?null:G}return se({activeCtx:_e,activeProperty:Ie,value:Ge,options:st})}if(j(Ge)){let G=[];const pe=S(_e,Ie,"@container")||[];Xe=Xe||pe.includes("@list");for(let ue=0;ue1?ue.slice().sort():ue:[ue];for(const _t of je){const pt=S(Ye,_t,"@context");v(pt)||(_e=yield V({activeCtx:_e,localCtx:pt,options:st,propagate:!1}))}}let Ne={};yield Z({activeCtx:_e,activeProperty:Ie,expandedActiveProperty:ke,element:Ge,expandedParent:Ne,options:st,insideList:Xe,typeKey:$e,typeScopedContext:Ye,expansionMap:Ue}),Me=Object.keys(Ne);let q=Me.length;if("@value"in Ne){if("@type"in Ne&&("@language"in Ne||"@direction"in Ne))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});let G=q-1;if("@type"in Ne&&(G-=1),"@index"in Ne&&(G-=1),"@language"in Ne&&(G-=1),"@direction"in Ne&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});const pe=null===Ne["@value"]?[]:D(Ne["@value"]),ue=I(Ne,"@type");if(!R(_e,1.1)||!ue.includes("@json")||1!==ue.length)if(0===pe.length){const je=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==je?je:null}else{if(!pe.every(je=>z(je)||Q(je))&&"@language"in Ne)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ne});if(!ue.every(je=>K(je)&&!(z(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ne})}}else if("@type"in Ne&&!j(Ne["@type"]))Ne["@type"]=[Ne["@type"]];else if("@set"in Ne||"@list"in Ne){if(q>1&&(2!==q||!("@index"in Ne)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ne});"@set"in Ne&&(Ne=Ne["@set"],Me=Object.keys(Ne),q=Me.length)}else if(1===q&&"@language"in Ne){const G=yield Ue(Ne,{unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}if(P(Ne)&&!st.keepFreeFloatingNodes&&!Xe&&(null===Ie||"@graph"===ke)&&(0===q||"@value"in Ne||"@list"in Ne||1===q&&"@id"in Ne)){const G=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}return Ne});return function(_e){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),P={};Se.exports=P,P.flatten=Q=>{const z=j(Q),v=[],x=Object.keys(z).sort();for(let O=0;O=0;--oe){const se=Z[oe];if(se.graph===$&&se.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const oe="@"+Z;let se=oe in E?E[oe][0]:$[Z];if("embed"===Z)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return se}function T(E){if(!P.isArray(E)||1!==E.length||!P.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function R(E,$,Z,oe){let se=!0,te=!1;for(const Ce in Z){let me=!1;const ne=Q.getValues($,Ce),_e=0===Q.getValues(Z,Ce).length;if("@id"===Ce){if(P.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!oe.requireAll)return me}else if("@type"===Ce){if(se=!1,_e){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&P.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Ie of Z["@type"])me=!(!P.isObject(Ie)||!("@default"in Ie))||me||ne.some(Ge=>Ge===Ie);if(!oe.requireAll)return me}else{if(W(Ce))continue;{const Ie=Q.getValues(Z,Ce)[0];let Ge=!1;if(Ie&&(T([Ie]),Ge="@default"in Ie),se=!1,0===ne.length&&Ge)continue;if(ne.length>0&&_e)return!1;if(void 0===Ie){if(ne.length>0)return!1;me=!0}else if(j.isList(Ie)){const st=Ie["@list"][0];if(j.isList(ne[0])){const Xe=ne[0]["@list"];j.isValue(st)?me=Xe.some(tt=>X(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Xe.some(tt=>I(E,st,tt,oe)))}}else me=j.isValue(Ie)?ne.some(st=>X(Ie,st)):j.isSubjectReference(Ie)?ne.some(st=>I(E,Ie,st,oe)):!!P.isObject(Ie)&&ne.length>0}}if(!me&&oe.requireAll)return!1;te=te||me}return se||te}function K(E,$){const Z=E.uniqueEmbeds[E.graph],oe=Z[$],se=oe.parent,te=oe.property,Ce={"@id":$};if(P.isArray(se)){for(let ne=0;ne{const _e=Object.keys(Z);for(const Ie of _e)Ie in Z&&P.isObject(Z[Ie].parent)&&Z[Ie].parent["@id"]===ne&&(delete Z[Ie],me(Ie))};me($)}function ce(E,$){if(P.isArray(E))return E.map(Z=>ce(Z,$));if(P.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ce(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ce(E[Z],$)}return E}function D(E,$,Z){P.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function I(E,$,Z,oe){if(!("@id"in Z))return!1;const se=E.subjects[Z["@id"]];return se&&R(E,se,$,oe)}function X(E,$){const Z=$["@value"],oe=$["@type"],se=$["@language"],te=E["@value"]?P.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Ce=E["@type"]?P.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?P.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Ce.length&&0===me.length||!(!te.includes(Z)&&!P.isEmptyObject(te[0])||!(!oe&&0===Ce.length||Ce.includes(oe)||oe&&P.isEmptyObject(Ce[0]))||!(!se&&0===me.length||me.includes(se)||se&&P.isEmptyObject(me[0])))}Se.exports=A,A.frameMergedOrDefault=(E,$,Z)=>{const oe={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Q.IdentifierIssuer("_:b");x(E,oe.graphMap,"@default",se),Z.merged&&(oe.graphMap["@merged"]=O(oe.graphMap),oe.graph="@merged"),oe.subjects=oe.graphMap[oe.graph];const te=[];return A.frame(oe,Object.keys(oe.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(oe.bnodeMap).filter(Ce=>1===oe.bnodeMap[Ce].length)),Z.link={},ce(te,Z)},A.frame=(E,$,Z,oe,se=null)=>{T(Z);const te=E.options,Ce={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,oe){const se={};for(const te of $){const Ce=E.graphMap[E.graph][te];R(E,Ce,Z,oe)&&(se[te]=Ce)}return se}(E,$,Z,Ce),_e=Object.keys(ne).sort();for(const Ie of _e){const Ge=ne[Ie];if(null===se?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Ce.embed&&Ie in me){D(oe,se,me[Ie]);continue}const st={"@id":Ie};if(0===Ie.indexOf("_:")&&Q.addValue(E.bnodeMap,Ie,st,{propertyIsArray:!0}),me[Ie]=st,("@first"===Ce.embed||"@last"===Ce.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){if(E.embedded&&("@never"===Ce.embed||y(Ge,E.graph,E.subjectStack))){D(oe,se,st);continue}if(E.embedded&&("@first"==Ce.embed||"@once"==Ce.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){D(oe,se,st);continue}if("@last"===Ce.embed&&Ie in E.uniqueEmbeds[E.graph]&&K(E,Ie),E.uniqueEmbeds[E.graph][Ie]={parent:oe,property:se},E.subjectStack.push({subject:Ge,graph:E.graph}),Ie in E.graphMap){let Xe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Xe=!("@merged"===Ie||"@default"===Ie),P.isObject(tt)||(tt={})):(Xe="@merged"!==E.graph,tt={}),Xe&&A.frame(Sn(ot({},E),{graph:Ie,embedded:!1}),Object.keys(E.graphMap[Ie]).sort(),[tt],st,"@graph")}"@included"in Z&&A.frame(Sn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Xe of Object.keys(Ge).sort())if(W(Xe)){if(st[Xe]=Q.clone(Ge[Xe]),"@type"===Xe)for(const tt of Ge["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Ce.explicit||Xe in Z)for(const tt of Ge[Xe]){const Ye=Xe in Z?Z[Xe]:b(Ce);if(j.isList(tt)){const Ue=Z[Xe]&&Z[Xe][0]&&Z[Xe][0]["@list"]?Z[Xe][0]["@list"]:b(Ce),ke={"@list":[]};D(st,Xe,ke);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?A.frame(Sn(ot({},E),{embedded:!0}),[Me["@id"]],Ue,ke,"@list"):D(ke,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?A.frame(Sn(ot({},E),{embedded:!0}),[tt["@id"]],Ye,st,Xe):X(Ye[0],tt)&&D(st,Xe,Q.clone(tt))}for(const Xe of Object.keys(Z).sort()){if("@type"===Xe){if(!P.isObject(Z[Xe][0])||!("@default"in Z[Xe][0]))continue}else if(W(Xe))continue;const tt=Z[Xe][0]||{};if(!S(tt,te,"omitDefault")&&!(Xe in st)){let Ue="@null";"@default"in tt&&(Ue=Q.clone(tt["@default"])),P.isArray(Ue)||(Ue=[Ue]),st[Xe]=[{"@preserve":Ue}]}}for(const Xe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Xe];for(const Ye of Object.keys(E.subjects))Q.getValues(E.subjects[Ye],Xe).some(ke=>ke["@id"]===Ie)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Xe,[],{propertyIsArray:!0}),A.frame(Sn(ot({},E),{embedded:!0}),[Ye],tt,st["@reverse"][Xe],se))}D(oe,se,st),E.subjectStack.pop()}}},A.cleanupNull=(E,$)=>{if(P.isArray(E))return E.map(oe=>A.cleanupNull(oe,$)).filter(oe=>oe);if("@null"===E)return null;if(P.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=A.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),{RDF_LIST:z,RDF_FIRST:v,RDF_REST:x,RDF_NIL:O,RDF_TYPE:A,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:T,XSD_STRING:V}=Y("./constants"),R=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,K={};function ce(D,I,X){if(D.termType.endsWith("Node"))return{"@id":D.value};const E={"@value":D.value};if(D.language)E["@language"]=D.language;else{let $=D.datatype.value;if($||($=V),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(I){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(P.isNumeric(E["@value"]))if($===T){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,T,S,V].includes($)||(E["@type"]=$)}else if("i18n-datatype"===X&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,oe]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(R)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=oe}else $!==V&&(E["@type"]=$)}return E}Se.exports=K,K.fromRDF=function(){var D=yt(function*(I,{useRdfType:X=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},oe={"@default":Z},se={};for(const me of I){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in oe||(oe[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const _e=oe[ne],Ie=me.subject.value,Ge=me.predicate.value,st=me.object;Ie in _e||(_e[Ie]={"@id":Ie});const Xe=_e[Ie],tt=st.termType.endsWith("Node");if(tt&&!(st.value in _e)&&(_e[st.value]={"@id":st.value}),Ge===A&&!X&&tt){Q.addValue(Xe,"@type",st.value,{propertyIsArray:!0});continue}const Ye=ce(st,E,$);if(Q.addValue(Xe,Ge,Ye,{propertyIsArray:!0}),tt)if(st.value===O){const Ue=_e[st.value];"usages"in Ue||(Ue.usages=[]),Ue.usages.push({node:Xe,property:Ge,value:Ye})}else se[st.value]=!(st.value in se)&&{node:Xe,property:Ge,value:Ye}}for(const me in oe){const ne=oe[me];if(!(O in ne))continue;const _e=ne[O];if(_e.usages){for(let Ie of _e.usages){let Ge=Ie.node,st=Ie.property,Xe=Ie.value;const tt=[],Ye=[];let Ue=Object.keys(Ge).length;for(;st===x&&P.isObject(se[Ge["@id"]])&&P.isArray(Ge[v])&&1===Ge[v].length&&P.isArray(Ge[x])&&1===Ge[x].length&&(3===Ue||4===Ue&&P.isArray(Ge["@type"])&&1===Ge["@type"].length&&Ge["@type"][0]===z)&&(tt.push(Ge[v][0]),Ye.push(Ge["@id"]),Ie=se[Ge["@id"]],Ge=Ie.node,st=Ie.property,Xe=Ie.value,Ue=Object.keys(Ge).length,j.isBlankNode(Ge)););delete Xe["@id"],Xe["@list"]=tt.reverse();for(const ke of Ye)delete ne[ke]}delete _e.usages}}const te=[],Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me];if(me in oe){const _e=ne["@graph"]=[],Ie=oe[me],Ge=Object.keys(Ie).sort();for(const st of Ge){const Xe=Ie[st];j.isSubjectReference(Xe)||_e.push(Xe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(I,X){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=P=>!(!W.isObject(P)||"@value"in P||"@set"in P||"@list"in P)&&(Object.keys(P).length>1||!("@id"in P)),j.isSubjectReference=P=>W.isObject(P)&&1===Object.keys(P).length&&"@id"in P,j.isValue=P=>W.isObject(P)&&"@value"in P,j.isList=P=>W.isObject(P)&&"@list"in P,j.isGraph=P=>W.isObject(P)&&"@graph"in P&&1===Object.keys(P).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=P=>j.isGraph(P)&&!("@id"in P),j.isBlankNode=P=>!!W.isObject(P)&&("@id"in P?0===P["@id"].indexOf("_:"):0===Object.keys(P).length||!("@value"in P||"@set"in P||"@list"in P))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),P=Y("./util"),Q=Y("./ContextResolver"),z=P.IdentifierIssuer,v=Y("./JsonLdError"),x=Y("lru-cache"),O=Y("./NQuads"),{expand:A}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:T,cleanupNull:V}=Y("./frame"),{isArray:R,isObject:K,isString:ce}=Y("./types"),{isSubjectReference:D}=Y("./graphTypes"),{expandIri:I,getInitialContext:X,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:oe}=Y("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ce}=Y("./nodeMap"),me=function(_e){const Ie={},st=new x({max:100});function Xe(tt,ke){var Ke=ke,{documentLoader:Ye=_e.documentLoader}=Ke,Ue=Uq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Ye},Ue,tt)}return _e.compact=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Ue)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Ye)return null;let Ke;(ke=Xe(ke,{base:ce(Ye)?Ye:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new z("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(ke.skipExpansion=!0),ke.compactToRelative||delete ke.base,Ke=ke.skipExpansion?Ye:yield _e.expand(Ye,ke);const Me=yield _e.processContext(X(ke),Ue,ke);let Ve=yield Z({activeCtx:Me,element:Ke,options:ke,compactionMap:ke.compactionMap});ke.compactArrays&&!ke.graph&&R(Ve)?1===Ve.length?Ve=Ve[0]:0===Ve.length&&(Ve={}):ke.graph&&K(Ve)&&(Ve=[Ve]),K(Ue)&&"@context"in Ue&&(Ue=Ue["@context"]),Ue=P.clone(Ue),R(Ue)||(Ue=[Ue]);const $e=Ue;Ue=[];for(let q=0;q<$e.length;++q)(!K($e[q])||Object.keys($e[q]).length>0)&&Ue.push($e[q]);const Ne=Ue.length>0;if(1===Ue.length&&(Ue=Ue[0]),R(Ve)){const q=oe({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ve;Ve={},Ne&&(Ve["@context"]=Ue),Ve[q]=G}else if(K(Ve)&&Ne){const q=Ve;Ve={"@context":Ue};for(const G in q)Ve[G]=q[G]}return Ve});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.expand=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Ue=Xe(Ue,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(Ue.expansionMap=void 0);const ke={},Ke=[];if("expandContext"in Ue){const Ne=P.clone(Ue.expandContext);ke.expandContext=K(Ne)&&"@context"in Ne?Ne:{"@context":Ne},Ke.push(ke.expandContext)}let Me;if(ce(Ye)){const Ne=yield _e.get(Ye,Ue);Me=Ne.documentUrl,ke.input=Ne.document,Ne.contextUrl&&(ke.remoteContext={"@context":Ne.contextUrl},Ke.push(ke.remoteContext))}else ke.input=P.clone(Ye);"base"in Ue||(Ue.base=Me||"");let Ve=X(Ue);for(const Ne of Ke)Ve=yield E({activeCtx:Ve,localCtx:Ne,options:Ue});let $e=yield A({activeCtx:Ve,element:ke.input,options:Ue,expansionMap:Ue.expansionMap});return K($e)&&"@graph"in $e&&1===Object.keys($e).length?$e=$e["@graph"]:null===$e&&($e=[]),R($e)||($e=[$e]),$e});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.flatten=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const Ke=yield _e.expand(Ye,ke),Me=b(Ke);return null===Ue?Me:(ke.graph=!0,ke.skipExpansion=!0,yield _e.compact(Me,Ue,ke))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.frame=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(ke=Xe(ke,{base:ce(Ye)?Ye:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ce(Ue)){const ue=yield _e.get(Ue,ke);if(Ue=ue.document,ue.contextUrl){let je=Ue["@context"];je?R(je)?je.push(ue.contextUrl):je=[je,ue.contextUrl]:je=ue.contextUrl,Ue["@context"]=je}}const Ke=Ue&&Ue["@context"]||{},Me=yield _e.processContext(X(ke),Ke,ke);ke.hasOwnProperty("omitGraph")||(ke.omitGraph=$(Me,1.1)),ke.hasOwnProperty("pruneBlankNodeIdentifiers")||(ke.pruneBlankNodeIdentifiers=$(Me,1.1));const Ve=yield _e.expand(Ye,ke),$e=ot({},ke);$e.isFrame=!0,$e.keepFreeFloatingNodes=!0;const Ne=yield _e.expand(Ue,$e),q=Object.keys(Ue).map(ue=>I(Me,ue,{vocab:!0}));$e.merged=!q.includes("@graph"),$e.is11=$(Me,1.1);const G=T(Ve,Ne,$e);$e.graph=!ke.omitGraph,$e.skipExpansion=!0,$e.link={},$e.framing=!0;let pe=yield _e.compact(G,Ke,$e);return $e.link={},pe=V(pe,$e),pe});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.link=function(){var tt=yt(function*(Ye,Ue,ke){const Ke={};return Ue&&(Ke["@context"]=Ue),Ke["@embed"]="@link",_e.frame(Ye,Ke,ke)});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.normalize=_e.canonize=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==Ue.inputFormat&&"application/nquads"!==Ue.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=O.parse(Ye);return W.canonize(Me,Ue)}const ke=ot({},Ue);delete ke.format,ke.produceGeneralizedRdf=!1;const Ke=yield _e.toRDF(Ye,ke);return W.canonize(Ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.fromRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Ue=Xe(Ue,{format:ce(Ye)?"application/n-quads":void 0});const{format:ke}=Ue;let{rdfParser:Ke}=Ue;if(ke){if(Ke=Ke||Ie[ke],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:ke})}else Ke=()=>Ye;const Me=yield Ke(Ye);return y(Me,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.toRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let ke;ke=(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Ye:yield _e.expand(Ye,Ue);const Ke=S(ke,Ue);if(Ue.format){if("application/n-quads"===Ue.format||"application/nquads"===Ue.format)return O.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:Ue.format})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.createNodeMap=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Ue=Xe(Ue,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const ke=yield _e.expand(Ye,Ue);return te(ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.merge=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!R(Ye))throw new TypeError('Could not merge, "docs" must be an array.');Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Ye.map(ue=>{const je=ot({},ke);return _e.expand(ue,je)}));let Me=!0;"mergeNodes"in ke&&(Me=ke.mergeNodes);const Ve=ke.issuer||new z("_:b"),$e={"@default":{}};for(let ue=0;ue_e._documentLoader,set:tt=>_e._documentLoader=tt}),_e.documentLoader=function(){var tt=yt(function*(Ye){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Ye})});return function(Ye){return tt.apply(this,arguments)}}(),_e.get=function(){var tt=yt(function*(Ye,Ue){let ke;ke="function"==typeof Ue.documentLoader?Ue.documentLoader:_e.documentLoader;const Ke=yield ke(Ye);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ce(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.processContext=function(){var tt=yt(function*(Ye,Ue,ke){return ke=Xe(ke,{base:"",contextResolver:new Q({sharedCache:st})}),null===Ue?X(ke):(Ue=P.clone(Ue),K(Ue)&&"@context"in Ue||(Ue={"@context":Ue}),E({activeCtx:Ye,localCtx:Ue,options:ke}))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.getContextValue=Y("./context").getContextValue,_e.documentLoaders={},_e.useDocumentLoader=function(tt){if(!(tt in _e.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});_e.documentLoader=_e.documentLoaders[tt].apply(_e,Array.prototype.slice.call(arguments,1))},_e.registerRDFParser=function(tt,Ye){Ie[tt]=Ye},_e.unregisterRDFParser=function(tt){delete Ie[tt]},_e.registerRDFParser("application/n-quads",O.parse),_e.registerRDFParser("application/nquads",O.parse),_e.url=Y("./url"),_e.util=P,Object.assign(_e,P),_e.promises=_e,_e.RequestQueue=Y("./RequestQueue"),_e.JsonLdProcessor=Y("./JsonLdProcessor")(_e),j.setupGlobals(_e),j.setupDocumentLoaders(_e),_e},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),z=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(x,O)=>{const A=(O=O||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(x,b,"@default",A),v.mergeNodeMaps(b)},v.createNodeMap=(x,O,A,b,y,S)=>{if(P.isArray(x)){for(const K of x)v.createNodeMap(K,O,A,b,void 0,S);return}if(!P.isObject(x))return void(S&&S.push(x));if(j.isValue(x)){if("@type"in x){let K=x["@type"];0===K.indexOf("_:")&&(x["@type"]=K=b.getId(K))}return void(S&&S.push(x))}if(S&&j.isList(x)){const K=[];return v.createNodeMap(x["@list"],O,A,b,y,K),void S.push({"@list":K})}if("@type"in x){const K=x["@type"];for(const ce of K)0===ce.indexOf("_:")&&b.getId(ce)}P.isUndefined(y)&&(y=j.isBlankNode(x)?b.getId(x["@id"]):x["@id"]),S&&S.push({"@id":y});const T=O[A],V=T[y]=T[y]||{};V["@id"]=y;const R=Object.keys(x).sort();for(let K of R){if("@id"===K)continue;if("@reverse"===K){const D={"@id":y},I=x["@reverse"];for(const X in I){const E=I[X];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,O,A,b,Z),Q.addValue(T[Z],X,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===K){y in O||(O[y]={}),v.createNodeMap(x[K],O,y,b);continue}if("@included"===K){v.createNodeMap(x[K],O,A,b);continue}if("@type"!==K&&W(K)){if("@index"===K&&K in V&&(x[K]!==V[K]||x[K]["@id"]!==V[K]["@id"]))throw new z("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:V});V[K]=x[K];continue}const ce=x[K];if(0===K.indexOf("_:")&&(K=b.getId(K)),0!==ce.length)for(let D of ce)if("@type"===K&&(D=0===D.indexOf("_:")?b.getId(D):D),j.isSubject(D)||j.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const I=j.isBlankNode(D)?b.getId(D["@id"]):D["@id"];Q.addValue(V,K,{"@id":I},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(D,O,A,b,I)}else if(j.isValue(D))Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(D)){const I=[];v.createNodeMap(D["@list"],O,A,b,y,I),D={"@list":I},Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(D,O,A,b,y),Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(V,K,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=x=>{const O={};for(const A of Object.keys(x).sort())for(const b of Object.keys(x[A]).sort()){const y=x[A][b];b in O||(O[b]={"@id":b});const S=O[b];for(const T of Object.keys(y).sort())if(W(T)&&"@type"!==T)S[T]=Q.clone(y[T]);else for(const V of y[T])Q.addValue(S,T,Q.clone(V),{propertyIsArray:!0,allowDuplicate:!1})}return O},v.mergeNodeMaps=x=>{const O=x["@default"],A=Object.keys(x).sort();for(const b of A){if("@default"===b)continue;const y=x[b];let S=O[b];S?"@graph"in S||(S["@graph"]=[]):O[b]=S={"@id":b,"@graph":[]};const T=S["@graph"];for(const V of Object.keys(y).sort()){const R=y[V];j.isSubjectReference(R)||T.push(R)}}return O}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(P){"undefined"!=typeof XMLHttpRequest&&(P.documentLoaders.xhr=W,P.useDocumentLoader("xhr"))},j.setupGlobals=function(P){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:P.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),P=Y("./graphTypes"),Q=Y("canonicalize"),z=Y("./types"),v=Y("./util"),{RDF_FIRST:x,RDF_REST:O,RDF_NIL:A,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:T,XSD_DOUBLE:V,XSD_INTEGER:R,XSD_STRING:K}=Y("./constants"),{isAbsolute:ce}=Y("./url"),D={};function I($,Z,oe,se,te){const Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me],_e=Object.keys(ne).sort();for(let Ie of _e){const Ge=ne[Ie];if("@type"===Ie)Ie=b;else if(j(Ie))continue;for(const st of Ge){const Xe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ce(me))continue;const tt={termType:Ie.startsWith("_:")?"BlankNode":"NamedNode",value:Ie};if(!ce(Ie)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Ye=E(st,se,$,oe,te.rdfDirection);Ye&&$.push({subject:Xe,predicate:tt,object:Ye,graph:oe})}}}}function E($,Z,oe,se,te){const Ce={};if(P.isValue($)){Ce.termType="Literal",Ce.value=void 0,Ce.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Ce.value=Q(me),Ce.datatype.value=y):z.isBoolean(me)?(Ce.value=me.toString(),Ce.datatype.value=ne||T):z.isDouble(me)||ne===V?(z.isDouble(me)||(me=parseFloat(me)),Ce.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ce.datatype.value=ne||V):z.isNumber(me)?(Ce.value=me.toFixed(0),Ce.datatype.value=ne||R):"i18n-datatype"===te&&"@direction"in $?(Ce.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Ce.value=me):"@language"in $?(Ce.value=me,Ce.datatype.value=ne||S,Ce.language=$["@language"]):(Ce.value=me,Ce.datatype.value=ne||K)}else if(P.isList($)){const me=function($,Z,oe,se,te){const Ce={termType:"NamedNode",value:x},me={termType:"NamedNode",value:O},ne={termType:"NamedNode",value:A},_e=$.pop(),Ie=_e?{termType:"BlankNode",value:Z.getId()}:ne;let Ge=Ie;for(const st of $){const Xe=E(st,Z,oe,se,te),tt={termType:"BlankNode",value:Z.getId()};oe.push({subject:Ge,predicate:Ce,object:Xe,graph:se}),oe.push({subject:Ge,predicate:me,object:tt,graph:se}),Ge=tt}if(_e){const st=E(_e,Z,oe,se,te);oe.push({subject:Ge,predicate:Ce,object:st,graph:se}),oe.push({subject:Ge,predicate:me,object:ne,graph:se})}return Ie}($["@list"],Z,oe,se,te);Ce.termType=me.termType,Ce.value=me.value}else{const me=z.isObject($)?$["@id"]:$;Ce.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Ce.value=me}return"NamedNode"!==Ce.termType||ce(Ce.value)?Ce:null}Se.exports=D,D.toRDF=($,Z)=>{const oe=new v.IdentifierIssuer("_:b"),se={"@default":{}};W($,se,"@default",oe);const te=[],Ce=Object.keys(se).sort();for(const me of Ce){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ce(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}I(te,se[me],ne,oe,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,z)=>{const v={},x=j.parsers[z||"full"],O=x.regex.exec(Q);let A=x.keys.length;for(;A--;)v[x.keys[A]]=void 0===O[A]?null:O[A];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,z)=>{if(null===Q||j.isAbsolute(z))return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(z),x={protocol:Q.protocol||""};if(null!==v.authority)x.authority=v.authority,x.path=v.path,x.query=v.query;else if(x.authority=Q.authority,""===v.path)x.path=Q.path,x.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))x.path=v.path;else{let A=Q.path;A=A.substr(0,A.lastIndexOf("/")+1),(A.length>0||Q.authority)&&"/"!==A.substr(-1)&&(A+="/"),A+=v.path,x.path=A}x.query=v.query}""!==v.path&&(x.path=j.removeDotSegments(x.path));let O=x.protocol;return null!==x.authority&&(O+="//"+x.authority),O+=x.path,null!==x.query&&(O+="?"+x.query),null!==v.fragment&&(O+="#"+v.fragment),""===O&&(O="./"),O},j.removeBase=(Q,z)=>{if(null===Q)return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):z.indexOf("//")&&(v+="//"),0!==z.indexOf(v))return z;const x=j.parse(z.substr(v.length)),O=Q.normalizedPath.split("/"),A=x.normalizedPath.split("/"),b=x.fragment||x.query?0:1;for(;O.length>0&&A.length>b&&O[0]===A[0];)O.shift(),A.shift();let y="";if(O.length>0){O.pop();for(let S=0;S{if(0===Q.length)return"";const z=Q.split("/"),v=[];for(;z.length>0;){const x=z.shift(),O=0===z.length;"."!==x?".."!==x?v.push(x):(v.pop(),O&&v.push("")):O&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const P=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&P.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),P=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),z=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,x=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,O_headers={accept:"application/ld+json, application/json"},A={};function b(y,S){if(j.isArray(S))for(let T=0;T{if(Object.keys(y).some(T=>"accept"===T.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+O_headers.accept+'" is supported.');return Object.assign({Accept:O_headers.accept},y)},A.parseLinkHeader=y=>{const S={},T=y.match(z);for(let V=0;V{if(!(j.isString(y)||j.isArray(y)&&y.every(T=>j.isString(T)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&A.asArray(y["@default"]).every(T=>j.isString(T)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},A.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const T=y[S];return!j.isArray(T)||T.length>0}return!1},A.hasValue=(y,S,T)=>{if(A.hasProperty(y,S)){let V=y[S];const R=W.isList(V);if(j.isArray(V)||R){R&&(V=V["@list"]);for(let K=0;K{if("propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1),"valueIsArray"in V||(V.valueIsArray=!1),"allowDuplicate"in V||(V.allowDuplicate=!0),"prependValue"in V||(V.prependValue=!1),V.valueIsArray)y[S]=T;else if(j.isArray(T)){0===T.length&&V.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),V.prependValue&&(T=T.concat(y[S]),y[S]=[]);for(let R=0;R[].concat(y[S]||[]),A.removeProperty=(y,S)=>{delete y[S]},A.removeValue=(y,S,T,V)=>{"propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1);const R=A.getValues(y,S).filter(K=>!A.compareValues(K,T));0===R.length?A.removeProperty(y,S):y[S]=1!==R.length||V.propertyIsArray?R:R[0]},A.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new P("_:b"),y),A.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],A.compareShortestLeast=(y,S)=>y.length1;const V=(X,E,$)=>{const Z=X[b].get(E);if(Z){const oe=Z.value;if(R(X,oe)){if(ce(X,Z),!X[z])return}else $&&(X[y]&&(Z.value.now=Date.now()),X[A].unshiftNode(Z));return oe.value}},R=(X,E)=>{if(!E||!E.maxAge&&!X[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:X[v]&&$>X[v]},K=X=>{if(X[P]>X[j])for(let E=X[A].tail;X[P]>X[j]&&null!==E;){const $=E.prev;ce(X,E),E=$}},ce=(X,E)=>{if(E){const $=E.value;X[x]&&X[x]($.key,$.value),X[P]-=$.length,X[b].delete($.key),X[A].removeNode(E)}};class D{constructor(E,$,Z,oe,se){this.key=E,this.value=$,this.length=Z,this.now=oe,this.maxAge=se||0}}const I=(X,E,$,Z)=>{let oe=$.value;R(X,oe)&&(ce(X,$),X[z]||(oe=void 0)),oe&&E.call(Z,oe.value,oe.key,X)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[z]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[x]=E.dispose,this[O]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,K(this)}get max(){return this[j]}set allowStale(E){this[z]=!!E}get allowStale(){return this[z]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,K(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[P]=0,this[A].forEach($=>{$.length=this[Q]($.value,$.key),this[P]+=$.length})),K(this)}get lengthCalculator(){return this[Q]}get length(){return this[P]}get itemCount(){return this[A].length}rforEach(E,$){$=$||this;for(let Z=this[A].tail;null!==Z;){const oe=Z.prev;I(this,E,Z,$),Z=oe}}forEach(E,$){$=$||this;for(let Z=this[A].head;null!==Z;){const oe=Z.next;I(this,E,Z,$),Z=oe}}keys(){return this[A].toArray().map(E=>E.key)}values(){return this[A].toArray().map(E=>E.value)}reset(){this[x]&&this[A]&&this[A].length&&this[A].forEach(E=>this[x](E.key,E.value)),this[b]=new Map,this[A]=new W,this[P]=0}dump(){return this[A].map(E=>!R(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[A]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const oe=Z?Date.now():0,se=this[Q]($,E);if(this[b].has(E)){if(se>this[j])return ce(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[x]&&(this[O]||this[x](E,me.value)),me.now=oe,me.maxAge=Z,me.value=$,this[P]+=se-me.length,me.length=se,this.get(E),K(this),!0}const te=new D(E,$,se,oe,Z);return te.length>this[j]?(this[x]&&this[x](E,$),!1):(this[P]+=te.length,this[A].unshift(te),this[b].set(E,this[A].head),K(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!R(this,$)}get(E){return V(this,E,!0)}peek(E){return V(this,E,!1)}pop(){const E=this[A].tail;return E?(ce(this,E),E.value):null}del(E){ce(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const oe=E[Z],se=oe.e||0;if(0===se)this.set(oe.k,oe.v);else{const te=se-$;te>0&&this.set(oe.k,oe.v,te)}}}prune(){this[b].forEach((E,$)=>V(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",P="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${P}reify#forSome`,forAll:`${P}reify#forAll`},log:{implies:`${P}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function D(ne,_e){if(_e=_e||b,!ne)return _e.defaultGraph();switch(ne[0]){case"?":return _e.variable(ne.substr(1));case"_":return _e.blankNode(ne.substr(2));case'"':if(_e===b)return new V(ne);if('"'===ne[ne.length-1])return _e.literal(ne.substr(1,ne.length-2));const Ie=ne.lastIndexOf('"',ne.length-1);return _e.literal(ne.substr(1,Ie-1),"@"===ne[Ie+1]?ne.substr(Ie+2):_e.namedNode(ne.substr(Ie+3)));case"<":const Ge=A.exec(ne);return _e.quad(D($(Ge[1]),_e),D($(Ge[2]),_e),D($(Ge[3]),_e),Ge[4]&&D($(Ge[4]),_e));default:return _e.namedNode(ne)}},he.termToId=function I(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==z.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(I(ne.subject))} ${E(I(ne.predicate))} ${E(I(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${I(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:z}=W.default;let v,x=0;const O=/^"(.*".*)(?="[^"]*$)/,A=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new T(ne)},blankNode:function(ne){return new R(ne||"n3-"+x++)},variable:function(ne){return new K(ne)},literal:function(ne,_e){if("string"==typeof _e)return new V(`"${ne}"@${_e.toLowerCase()}`);let Ie=_e?_e.value:"";return""===Ie&&("boolean"==typeof ne?Ie=z.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Ie=Number.isInteger(ne)?z.integer:z.double:(Ie=z.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new V(""===Ie||Ie===z.string?`"${ne}"`:`"${ne}"^^${Ie}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(_e){this.id=_e}get value(){return this.id}equals(_e){return _e instanceof S?this.id===_e.id:!!_e&&this.termType===_e.termType&&this.value===_e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class T extends S{get termType(){return"NamedNode"}}he.NamedNode=T;class V extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const _e=this.id;let Ie=_e.lastIndexOf('"')+1;return Ie<_e.length&&"@"===_e[Ie++]?_e.substr(Ie).toLowerCase():""}get datatype(){return new T(this.datatypeString)}get datatypeString(){const _e=this.id,Ie=_e.lastIndexOf('"')+1,Ge=Ie<_e.length?_e[Ie]:"";return"^"===Ge?_e.substr(Ie+2):"@"!==Ge?z.string:Q.langString}equals(_e){return _e instanceof V?this.id===_e.id:!!_e&&!!_e.datatype&&this.termType===_e.termType&&this.value===_e.value&&this.language===_e.language&&this.datatype.value===_e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}he.Literal=V;class R extends S{constructor(_e){super(`_:${_e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}he.BlankNode=R;class K extends S{constructor(_e){super(`?${_e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}he.Variable=K;class ce extends S{constructor(){return super(""),v||this}get termType(){return"DefaultGraph"}equals(_e){return this===_e||!!_e&&this.termType===_e.termType}}he.DefaultGraph=ce,v=new ce;class X extends S{constructor(_e,Ie,Ge,st){super(""),this._subject=_e,this._predicate=Ie,this._object=Ge,this._graph=st||v}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(_e){return!!_e&&this._subject.equals(_e.subject)&&this._predicate.equals(_e.predicate)&&this._object.equals(_e.object)&&this._graph.equals(_e.graph)}}function E(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/"/g,'""')}`)}function $(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/""/g,'"')}`)}function me(ne,_e,Ie,Ge){return new X(ne,_e,Ie,Ge)}he.Triple=he.Quad=X},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),P=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:z}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,x={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},O=/[\x00-\x20<>\\"\{\}\|\^\`]/,A={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(T){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(T=T||{}).lineMode){this._n3Mode=!1;for(const V in this)!(V in A)&&this[V]instanceof RegExp&&(this[V]=b)}else this._n3Mode=!1!==T.n3;this._comments=!!T.comments,this._literalClosingPos=0}_tokenizeToEnd(T,V){let R=this._input,K=R.length;for(;;){let I,X;for(;I=this._newline.exec(R);)this._comments&&(X=this._comment.exec(I[0]))&&ce("comment",X[1],"",this._line,I[0].length),R=R.substr(I[0].length,R.length),K=R.length,this._line++;if(!I&&(I=this._whitespace.exec(R))&&(R=R.substr(I[0].length,R.length)),this._endOfFile.test(R))return V&&(this._comments&&(X=this._comment.exec(R))&&ce("comment",X[1],"",this._line,R.length),R=null,ce("eof","","",this._line,0)),this._input=R;const E=this._line,$=R[0];let Z="",oe="",se="",te=null,Ce=0,me=!1;switch($){case"^":if(R.length<3)break;if("^"!==R[1]){this._n3Mode&&(Ce=1,Z="^");break}if(this._previousMarker="^^",R=R.substr(2),"<"!==R[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(R))Z="IRI",oe=te[1];else if(te=this._iri.exec(R)){if(oe=this._unescape(te[1]),null===oe||O.test(oe))return D(this);Z="IRI"}else R.length>1&&"<"===R[1]?(Z="<<",Ce=2):this._n3Mode&&R.length>1&&"="===R[1]&&(Z="inverse",Ce=2,oe=">");break;case">":R.length>1&&">"===R[1]&&(Z=">>",Ce=2);break;case"_":((te=this._blank.exec(R))||V&&(te=this._blank.exec(`${R} `)))&&(Z="blank",se="_",oe=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(R))&&(Z="var",oe=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(R))?(Z="langcode",oe=te[1]):(te=this._keyword.exec(R))&&(Z=te[0]);break;case".":if(1===R.length?V:R[1]<"0"||R[1]>"9"){Z=".",Ce=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(R)||V&&(te=this._number.exec(`${R} `)))&&(Z="literal",oe=te[0],se="string"==typeof te[1]?z.double:"string"==typeof te[2]?z.decimal:z.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(R))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(R))?(Z="literal",oe=te[0],se=z.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(R))?(Z="abbreviation",oe="a"):me=!0;break;case"=":this._n3Mode&&R.length>1&&(Z="abbreviation",">"!==R[1]?(Ce=1,oe="="):(Ce=2,oe=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ce=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(R))?((te=this._prefixed.exec(R))||V&&(te=this._prefixed.exec(`${R} `)))&&(Z="prefixed",se=te[1]||"",oe=this._unescape(te[2])):(Z="prefix",oe=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return V||!/^'''|^"""/.test(R)&&/\n|\r/.test(R)?D(this):this._input=R;const ne=Ce||te[0].length,_e=ce(Z,oe,se,E,ne);this.previousToken=_e,this._previousMarker=Z,R=R.substr(ne,R.length)}function ce(I,X,E,$,Z){const oe=R?K-R.length:K,te={type:I,value:X,prefix:E,line:$,start:oe,end:oe+Z};return T(null,te),te}function D(I){T(I._syntaxError(/^\S*/.exec(R)[0]))}}_unescape(T){let V=!1;const R=T.replace(v,(K,ce,D,I)=>{if("string"==typeof ce)return String.fromCharCode(Number.parseInt(ce,16));if("string"==typeof D){let X=Number.parseInt(D,16);return X<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((X-=65536)>>10),56320+(1023&X))}return I in x?x[I]:(V=!0,"")});return V?null:R}_parseLiteral(T){if(T.length>=3){const V=T.match(/^(?:"""|"|'''|'|)/)[0],R=V.length;let K=Math.max(this._literalClosingPos,R);for(;(K=T.indexOf(V,K))>0;){let ce=0;for(;"\\"===T[K-ce-1];)ce++;if(ce%2==0){const D=T.substring(R,K),I=D.split(/\r\n|\r|\n/).length-1,X=K+R;if(1===R&&0!==I||3===R&&this._lineMode)break;return this._line+=I,{value:this._unescape(D),matchLength:X}}K++}this._literalClosingPos=T.length-R+1}return{value:"",matchLength:0}}_syntaxError(T){this._input=null;const V=new Error(`Unexpected "${T}" on line ${this._line}.`);return V.context={token:void 0,line:this._line,previousToken:this.previousToken},V}_readStartingBom(T){return T.startsWith("\ufeff")?T.substr(1):T}tokenize(T,V){if(this._line=1,"string"==typeof T){if(this._input=this._readStartingBom(T),"function"!=typeof V){const R=[];let K;if(this._tokenizeToEnd((ce,D)=>ce?K=ce:R.push(D),!0),K)throw K;return R}(0,P.default)(()=>this._tokenizeToEnd(V,!0))}else this._pendingBuffer=null,"function"==typeof T.setEncoding&&T.setEncoding("utf8"),T.on("data",R=>{null!==this._input&&0!==R.length&&(this._pendingBuffer&&(R=W.concat([this._pendingBuffer,R]),this._pendingBuffer=null),128&R[R.length-1]?this._pendingBuffer=R:(void 0===this._input?this._input=this._readStartingBom("string"==typeof R?R:R.toString()):this._input+=R,this._tokenizeToEnd(V,!1)))}),T.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(V,!0)}),T.on("error",V)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),P=Q(Y("./IRIs"));function Q(A){return A&&A.__esModule?A:{default:A}}let z=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&O(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),T=/trig/.test(y),V=/triple/.test(y),R=/quad/.test(y),K=this._n3Mode=/n3/.test(y),ce=V||R;(this._supportsNamedGraphs=!(S||K))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||T||V||K),this._supportsRDFStar=""===y||/star|\*$/.test(y),ce&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ce,n3:K}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){z=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,T,V){const R=this._n3Mode;this._contextStack.push({subject:S,predicate:T,object:V,graph:y,type:b,inverse:!!R&&this._inversePredicate,blankPrefix:R?this._prefixes._:"",quantified:R?this._quantified:null}),R&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const T=this._resolveIRI(b.value);if(null===T)return this._error("Invalid IRI",b);S=this._namedNode(T);break;case"type":case"prefixed":const V=this._prefixes[b.prefix];if(void 0===V)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(V+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,T=this._readListItem;const V=this._subject,R=this._contextStack,K=R[R.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),T=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==R.length&&"list"===R[R.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(T=this._readPredicate,this._subject===this.RDF_NIL)return T}else if(T=this._getContextEndReader(),this._object===this.RDF_NIL)return T;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,T=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),T=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===V?null===K.predicate?K.subject=S:K.object=S:this._emit(V,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return T}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const T=this._subject,V=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,V&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==T){const R=this._predicate,K=this._object;V?this._emit(K,R,T,S):this._emit(T,R,K,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const T=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,T,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const T=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=T):(y=this._object,this._object=T),this._emit(y,S,T,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,T;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(T=this._subject,this._subject=y):(T=this._object,this._object=y),this._emit(y,S,T,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,T){this._callback(null,this._quad(b,y,S,T||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=x}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",T=-1,V=-1,R=0,K="/";for(;T=V&&(S=S.substr(0,R)),"/"!==K)return`${S}/${b.substr(T+1)}`;R=T+1}}}K=b[++T]}return S+b.substring(R)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${z++}_`,this._prefixCallback=S||x,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const T=[];let V;if(this._callback=(R,K)=>{R?V=R:K&&T.push(K)},this._lexer.tokenize(b).every(R=>this._readCallback=this._readCallback(R)),V)throw V;return T}this._callback=y,this._lexer.tokenize(b,(T,V)=>{null!==T?(this._callback(T),this._callback=x):this._readCallback&&(this._readCallback=this._readCallback(V))})}}function x(){}function O(A,b){const y=b.namedNode;A._namedNode=y,A._blankNode=b.blankNode,A._literal=b.literal,A._variable=b.variable,A._quad=b.quad,A.DEFAULTGRAPH=b.defaultGraph(),A.RDF_FIRST=y(P.default.rdf.first),A.RDF_REST=y(P.default.rdf.rest),A.RDF_NIL=y(P.default.rdf.nil),A.N3_FORALL=y(P.default.r.forAll),A.N3_FORSOME=y(P.default.r.forSome),A.ABBREVIATIONS={a:y(P.default.rdf.type),"=":y(P.default.owl.sameAs),">":y(P.default.log.implies)},A.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,O(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=z(y);if(S&&S.has(b))return S.get(b);var T={},V=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in b)if("default"!==R&&Object.prototype.hasOwnProperty.call(b,R)){var K=V?Object.getOwnPropertyDescriptor(b,R):null;K&&(K.get||K.set)?Object.defineProperty(T,R,K):T[R]=b[R]}return T.default=b,S&&S.set(b,T),T}(Y("./N3DataFactory")),j=Y("readable-stream"),P=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function z(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(z=function(T){return T?S:y})(b)}class x{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let T,V;for(const R in S)for(const K in T=S[R].subjects)for(const ce in V=T[K])y+=Object.keys(V[ce]).length;return this._size=y}_addToIndex(y,S,T,V){const R=y[S]||(y[S]={}),K=R[T]||(R[T]={}),ce=V in K;return ce||(K[V]=null),!ce}_removeFromIndex(y,S,T,V){const R=y[S],K=R[T];delete K[V];for(const ce in K)return;delete R[T];for(const ce in R)return;delete y[S]}*_findInIndex(y,S,T,V,R,K,ce,D){let I,X,E;const Z=!S+!T+!V>1?Object.keys(this._ids):this._entities,oe=(0,W.termFromId)(D,this._factory);S&&((I=y,y={})[S]=I[S]);for(const se in y){const te=Z[se];if(X=y[se]){T&&((I=X,X={})[T]=I[T]);for(const Ce in X){const me=Z[Ce];if(E=X[Ce]){const ne=V?V in E?[V]:[]:Object.keys(E);for(let _e=0;_e{T in S||(S[T]=!0,y((0,W.termFromId)(this._entities[T],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);let R=this._graphs[V];R||(R=this._graphs[V]={subjects:{},predicates:{},objects:{}},Object.freeze(R));const K=this._ids,ce=this._entities;y=K[y]||(K[ce[++this._id]=y]=this._id),S=K[S]||(K[ce[++this._id]=S]=this._id),T=K[T]||(K[ce[++this._id]=T]=this._id);const D=this._addToIndex(R.subjects,y,S,T);return this._addToIndex(R.predicates,S,T,y),this._addToIndex(R.objects,T,y,S),this._size=null,D}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);const R=this._ids,K=this._graphs;let ce,D,I;if(!((y=R[y])&&(S=R[S])&&(T=R[T])&&(ce=K[V])&&(D=ce.subjects[y])&&(I=D[S])&&T in I))return!1;for(y in this._removeFromIndex(ce.subjects,y,S,T),this._removeFromIndex(ce.predicates,S,T,y),this._removeFromIndex(ce.objects,T,y,S),null!==this._size&&this._size--,ce.subjects)return!0;return delete K[V],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,T,V){const R=new j.Readable({objectMode:!0});return R._read=()=>{for(const K of this.readQuads(y,S,T,V))R.push(K);R.push(null)},this.remove(R)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,T,V){return[...this.readQuads(y,S,T,V)]}*readQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let ce,D,I,X;if(!(O(y)&&!(D=K[y])||O(S)&&!(I=K[S])||O(T)&&!(X=K[T])))for(const E in R)(ce=R[E])&&(D?X?yield*this._findInIndex(ce.objects,X,D,I,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,D,I,null,"subject","predicate","object",E,null,!0):I?yield*this._findInIndex(ce.predicates,I,X,null,"predicate","object","subject",E,null,!0):X?yield*this._findInIndex(ce.objects,X,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,T,V){return new A(this,y,S,T,V)}countQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let D,I,X,E,ce=0;if(O(y)&&!(I=K[y])||O(S)&&!(X=K[S])||O(T)&&!(E=K[T]))return 0;for(const $ in R)(D=R[$])&&(ce+=y?T?this._countInIndex(D.objects,E,I,X):this._countInIndex(D.subjects,I,X,E):S?this._countInIndex(D.predicates,X,E,I):this._countInIndex(D.objects,E,I,X));return ce}forEach(y,S,T,V,R){this.some(K=>(y(K),!1),S,T,V,R)}every(y,S,T,V,R){let K=!1;const ce=!this.some(D=>(K=!0,!y(D)),S,T,V,R);return K&&ce}some(y,S,T,V,R){for(const K of this.readQuads(S,T,V,R))if(y(K))return!0;return!1}getSubjects(y,S,T){const V=[];return this.forSubjects(R=>{V.push(R)},y,S,T),V}forSubjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.predicates,D,I,y):this._loopByKey1(ce.subjects,D,y):I?this._loopByKey0(ce.objects,I,y):this._loop(ce.subjects,y))}getPredicates(y,S,T){const V=[];return this.forPredicates(R=>{V.push(R)},y,S,T),V}forPredicates(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.objects,I,D,y):this._loopByKey0(ce.subjects,D,y):I?this._loopByKey1(ce.predicates,I,y):this._loop(ce.predicates,y))}getObjects(y,S,T){const V=[];return this.forObjects(R=>{V.push(R)},y,S,T),V}forObjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.subjects,D,I,y):this._loopByKey1(ce.objects,D,y):I?this._loopByKey0(ce.predicates,I,y):this._loop(ce.objects,y))}getGraphs(y,S,T){const V=[];return this.forGraphs(R=>{V.push(R)},y,S,T),V}forGraphs(y,S,T,V){for(const R in this._graphs)this.some(K=>(y(K.graph),!0),S,T,V,R)}createBlankNode(y){let S,T;if(y)for(S=y=`_:${y}`,T=1;this._ids[S];)S=y+T++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const T={},V=S?()=>!0:(ce,D)=>{throw new Error(`${ce.value} ${D}`)},R=this.getQuads(null,P.default.rdf.rest,P.default.rdf.nil,null),K=y?[...R]:[];return R.forEach(ce=>{const D=[];let X,E,I=!1;const $=ce.graph;let Z=ce.subject;for(;Z&&!I;){const oe=this.getQuads(null,null,Z,null),se=this.getQuads(Z,null,null,null);let te,Ce=null,me=null,ne=null;for(let _e=0;_e{switch(b){case"data":O=y;break;case"end":A=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{O(b),S()},this._flush=b=>{A(),b()}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var z,W=Y("readable-stream"),j=(z=Y("./N3Writer"))&&z.__esModule?z:{default:z};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const x=this._writer=new j.default({write:(O,A,b)=>{this.push(O),b&&b()},end:O=>{this.push(null),O&&O()}},v);this._transform=(O,A,b)=>{x.addQuad(O,b)},this._flush=O=>{x.end(O)}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),v.on("prefix",(x,O)=>{this._writer.addPrefix(x,O)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return x(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=x,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function x(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const T=Object.create(null);for(const R in y)V(R,y[R]);function V(R,K){if("string"==typeof K){const ce=Object.create(null);T[R]=D=>ce[D]||(ce[D]=S.namedNode(K+D))}else if(!(R in T))throw new Error(`Unknown prefix: ${R}`);return T[R]}return S=S||W.default,V}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ce,W=(ce=Y("./IRIs"))&&ce.__esModule?ce:{default:ce},j=function(ce,D){if(!D&&ce&&ce.__esModule)return ce;if(null===ce||"object"!=typeof ce&&"function"!=typeof ce)return{default:ce};var I=Q(D);if(I&&I.has(ce))return I.get(ce);var X={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ce)if("default"!==$&&Object.prototype.hasOwnProperty.call(ce,$)){var Z=E?Object.getOwnPropertyDescriptor(ce,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(X,$,Z):X[$]=ce[$]}return X.default=ce,I&&I.set(ce,X),X}(Y("./N3DataFactory")),P=Y("./N3Util");function Q(ce){if("function"!=typeof WeakMap)return null;var D=new WeakMap,I=new WeakMap;return(Q=function(X){return X?I:D})(ce)}const x=j.default.defaultGraph(),{rdf:O,xsd:A}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class T extends j.Term{equals(){return!1}}function R(ce){let D=S[ce];return void 0===D&&(1===ce.length?(D=ce.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*(ce.charCodeAt(0)-55296)+ce.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function K(ce){return ce.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(D,I){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(I=D,D=null),this._lists=(I=I||{}).lists,D)this._outputStream=D,this._endStream=void 0===I.end||!!I.end;else{let X="";this._outputStream={write(E,$,Z){X+=E,Z&&Z()},end:E=>{E&&E(null,X)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(I.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=x,this._prefixIRIs=Object.create(null),I.prefixes&&this.addPrefixes(I.prefixes),I.baseIRI&&(this._baseMatcher=new RegExp(`^${K(I.baseIRI)}${I.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=I.baseIRI.length))}get _inDefaultGraph(){return x.equals(this._graph)}_write(D,I){this._outputStream.write(D,"utf8",I)}_writeQuad(D,I,X,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(x.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),D.equals(this._subject)?I.equals(this._predicate)?this._write(`, ${this._encodeObject(X)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(D,I,X,E,$){delete this._prefixMatch,this._write(this.quadToString(D,I,X,E),$)}quadToString(D,I,X,E){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(I)} ${this._encodeObject(X)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(D){return D.map(I=>this.quadToString(I.subject,I.predicate,I.object,I.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let I=D.value;this._baseMatcher&&this._baseMatcher.test(I)&&(I=I.substr(this._baseLength)),b.test(I)&&(I=I.replace(y,R));const X=this._prefixRegex.exec(I);return X?X[1]?this._prefixIRIs[X[1]]+X[2]:I:`<${I}>`}_encodeLiteral(D){let I=D.value;if(b.test(I)&&(I=I.replace(y,R)),D.language)return`"${I}"@${D.language}`;if(this._lineMode){if(D.datatype.value===A.string)return`"${I}"`}else switch(D.datatype.value){case A.string:return`"${I}"`;case A.boolean:if("true"===I||"false"===I)return I;break;case A.integer:if(/^[+-]?\d+$/.test(I))return I;break;case A.decimal:if(/^[+-]?\d*\.\d+$/.test(I))return I;break;case A.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(I))return I}return`"${I}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===O.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:I,object:X,graph:E}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(I)} ${this._encodeObject(X)}${(0,P.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,I,X,E,$){void 0===X?this._writeQuad(D.subject,D.predicate,D.object,D.graph,I):"function"==typeof E?this._writeQuad(D,I,X,x,E):this._writeQuad(D,I,X,E||x,$)}addQuads(D){for(let I=0;I.\n`)}if(X){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=K(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(X?"\n":"",I)}blank(D,I){let E,$,X=D;switch(void 0===D?X=[]:D.termType?X=[{predicate:D,object:I}]:"length"in D||(X=[D]),$=X.length){case 0:return new T("[]");case 1:if(E=X[0],!(E.object instanceof T))return new T(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let oe=0;oe<$;oe++)E=X[oe],E.predicate.equals(D)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(oe?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,D=E.predicate);return new T(`${Z}\n]`)}}list(D){const I=D&&D.length||0,X=new Array(I);for(let E=0;E{I=null,D(X,E)});if(this._endStream)try{return this._outputStream.end(I)}catch(X){}I&&I()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return O.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return O.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return O.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return O.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return O.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return O.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return O.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return O.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return P.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return O.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return O.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),P=y(Y("./N3Writer")),Q=y(Y("./N3Store")),z=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),x=b(Y("./N3Util"));he.Util=x;var O=b(Y("./N3DataFactory"));function A(T){if("function"!=typeof WeakMap)return null;var V=new WeakMap,R=new WeakMap;return(A=function(K){return K?R:V})(T)}function b(T,V){if(!V&&T&&T.__esModule)return T;if(null===T||"object"!=typeof T&&"function"!=typeof T)return{default:T};var R=A(V);if(R&&R.has(T))return R.get(T);var K={},ce=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in T)if("default"!==D&&Object.prototype.hasOwnProperty.call(T,D)){var I=ce?Object.getOwnPropertyDescriptor(T,D):null;I&&(I.get||I.set)?Object.defineProperty(K,D,I):K[D]=T[D]}return K.default=T,R&&R.set(T,K),K}function y(T){return T&&T.__esModule?T:{default:T}}he.default={Lexer:W.default,Parser:j.default,Writer:P.default,Store:Q.default,StreamParser:z.default,StreamWriter:v.default,Util:x,DataFactory:O.default,Term:O.Term,NamedNode:O.NamedNode,Literal:O.Literal,BlankNode:O.BlankNode,Variable:O.Variable,DefaultGraph:O.DefaultGraph,Quad:O.Quad,Triple:O.Triple,termFromId:O.termFromId,termToId:O.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,P,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}function v(K){if(j===setTimeout)return setTimeout(K,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(K,0);try{return j(K,0)}catch(ce){try{return j.call(null,K,0)}catch(D){return j.call(this,K,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(K){j=Q}try{P="function"==typeof clearTimeout?clearTimeout:z}catch(K){P=z}}();var b,O=[],A=!1,y=-1;function S(){!A||!b||(A=!1,b.length?O=b.concat(O):y=-1,O.length&&T())}function T(){if(!A){var K=v(S);A=!0;for(var ce=O.length;ce;){for(b=O,O=[];++y1)for(var D=1;D(j||(j=Promise.resolve())).then(P).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class zq{constructor(j,P=new Map,Q=0){this.prefix=j,this._existing=P,this.counter=Q}clone(){const{prefix:j,_existing:P,counter:Q}=this;return new zq(j,new Map(P),Q)}getId(j){const P=j&&this._existing.get(j);if(P)return P;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(P){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===P)this.algorithm={name:"SHA-256"};else{if("sha1"!==P)throw new Error(`Unsupport algorithm "${P}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(P){this._content+=P}digest(){var P=this;return yt(function*(){const Q=(new TextEncoder).encode(P._content),z=new Uint8Array(yield W.subtle.digest(P.algorithm,Q));let v="";for(let x=0;x]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class l2{static parse(K){const ce=[],D={},I=K.split(A.eoln);let X=0;for(const E of I){if(X++,A.empty.test(E))continue;const $=E.match(A.quad);if(null===$)throw new Error("N-Quads parse error on line "+X+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:z,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:z,value:$[3]},void 0!==$[4]?Z.object={termType:z,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:x,value:void 0,datatype:{termType:z}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=P,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(T,function(K,ce,D,I){if(ce)switch(ce){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(I)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:z,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:O,value:""},Z.graph.value in D){let oe=!0;const se=D[Z.graph.value];for(const te of se)if(b(te,Z)){oe=!1;break}oe&&(se.push(Z),ce.push(Z))}else D[Z.graph.value]=[Z],ce.push(Z)}return ce}static serialize(K){Array.isArray(K)||(K=l2.legacyDatasetToQuads(K));const ce=[];for(const D of K)ce.push(l2.serializeQuad(D));return ce.sort().join("")}static serializeQuad(K){const ce=K.subject,I=K.object,X=K.graph;let E="";return E+=ce.termType===z?`<${ce.value}>`:`${ce.value}`,E+=` <${K.predicate.value}> `,I.termType===z?E+=`<${I.value}>`:I.termType===v?E+=I.value:(E+=`"${R=I.value,R.replace(y,function(K){switch(K){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,I.datatype.value===P?I.language&&(E+=`@${I.language}`):I.datatype.value!==Q&&(E+=`^^<${I.datatype.value}>`)),X.termType===z?E+=` <${X.value}>`:X.termType===v&&(E+=` ${X.value}`),E+=" .\n",E;var R}static legacyDatasetToQuads(K){const ce=[],D={"blank node":v,IRI:z,literal:x};for(const I in K)K[I].forEach(E=>{const $={};for(const Z in E){const oe=E[Z],se={termType:D[oe.type],value:oe.value};se.termType===x&&(se.datatype={termType:z},"datatype"in oe&&(se.datatype.value=oe.datatype),"language"in oe?("datatype"in oe||(se.datatype.value=P),se.language=oe.language):"datatype"in oe||(se.datatype.value=Q)),$[Z]=se}$.graph="@default"===I?{termType:O,value:""}:{termType:I.startsWith("_:")?v:z,value:I},ce.push($)});return ce}};const y=/["\\\n\r]/g;const T=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let P=0;Pz)&&(b&&O>0&&A>j[O-1]||!b&&Oj[O+1])&&(z=A,v=O)}if(null===z)this.done=!0;else{const O=P.get(z)?v-1:v+1;j[v]=j[O],j[O]=z;for(const A of j)A>z&&P.set(A,!P.get(A))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),P=Y("./MessageDigest"),Q=Y("./Permuter"),z=Y("./NQuads");function v(x,O){return x.hashO.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(O){var A=this;return yt(function*(){A.quads=O;for(const K of O)A._addBlankNodeQuadInfo({quad:K,component:K.subject}),A._addBlankNodeQuadInfo({quad:K,component:K.object}),A._addBlankNodeQuadInfo({quad:K,component:K.graph});const b=new Map,y=[...A.blankNodeInfo.keys()];let S=0;for(const K of y)++S%100==0&&(yield A._yield()),yield A._hashAndTrackBlankNode({id:K,hashToBlankNodes:b});const T=[...b.keys()].sort(),V=[];for(const K of T){const ce=b.get(K);ce.length>1?V.push(ce):A.canonicalIssuer.getId(ce[0])}for(const K of V){const ce=[];for(const D of K){if(A.canonicalIssuer.hasId(D))continue;const I=new j("_:b");I.getId(D);const X=yield A.hashNDegreeQuads(D,I);ce.push(X)}ce.sort(v);for(const D of ce){const I=D.issuer.getOldIds();for(const X of I)A.canonicalIssuer.getId(X)}}const R=[];for(const K of A.quads){const ce=ot({},K);ce.subject=A._useCanonicalId({component:ce.subject}),ce.object=A._useCanonicalId({component:ce.object}),ce.graph=A._useCanonicalId({component:ce.graph}),R.push(z.serializeQuad(ce))}return R.sort(),R.join("")})()}hashFirstDegreeQuads(O){var A=this;return yt(function*(){const b=[],y=A.blankNodeInfo.get(O),S=y.quads;for(const V of S){const R={subject:null,predicate:V.predicate,object:null,graph:null};R.subject=A.modifyFirstDegreeComponent(O,V.subject,"subject"),R.object=A.modifyFirstDegreeComponent(O,V.object,"object"),R.graph=A.modifyFirstDegreeComponent(O,V.graph,"graph"),b.push(z.serializeQuad(R))}b.sort();const T=new P(A.hashAlgorithm);for(const V of b)T.update(V);return y.hash=yield T.digest(),y.hash})()}hashRelatedBlankNode(O,A,b,y){var S=this;return yt(function*(){let T;T=S.canonicalIssuer.hasId(O)?S.canonicalIssuer.getId(O):b.hasId(O)?b.getId(O):S.blankNodeInfo.get(O).hash;const V=new P(S.hashAlgorithm);return V.update(y),"g"!==y&&V.update(S.getRelatedPredicate(A)),V.update(T),V.digest()})()}hashNDegreeQuads(O,A){var b=this;return yt(function*(){const y=new P(b.hashAlgorithm),S=yield b.createHashToRelated(O,A),T=[...S.keys()].sort();for(const V of T){y.update(V);let K,R="";const ce=new Q(S.get(V));let D=0;for(;ce.hasNext();){const I=ce.next();++D%3==0&&(yield b._yield());let X=A.clone(),E="";const $=[];let Z=!1;for(const oe of I)if(b.canonicalIssuer.hasId(oe)?E+=b.canonicalIssuer.getId(oe):(X.hasId(oe)||$.push(oe),E+=X.getId(oe)),0!==R.length&&E>R){Z=!0;break}if(!Z){for(const oe of $){const se=yield b.hashNDegreeQuads(oe,X);if(E+=X.getId(oe),E+=`<${se.hash}>`,X=se.issuer,0!==R.length&&E>R){Z=!0;break}}Z||(0===R.length||E`}createHashToRelated(O,A){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(O).quads;let T=0;for(const V of S)++T%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:V,component:V.subject,position:"s",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.object,position:"o",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.graph,position:"g",id:O,issuer:A,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:O,hashToBlankNodes:A}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(O),S=A.get(y);S?S.push(O):A.set(y,[O])})()}_addBlankNodeQuadInfo({quad:O,component:A}){if("BlankNode"!==A.termType)return;const b=A.value,y=this.blankNodeInfo.get(b);y?y.quads.add(O):this.blankNodeInfo.set(b,{quads:new Set([O]),hash:null})}_addRelatedBlankNodeHash({quad:O,component:A,position:b,id:y,issuer:S,hashToRelated:T}){var V=this;return yt(function*(){if("BlankNode"!==A.termType||A.value===y)return;const R=A.value,K=yield V.hashRelatedBlankNode(R,O,S,b),ce=T.get(K);ce?ce.push(R):T.set(K,[R])})()}_useCanonicalId({component:O}){return"BlankNode"!==O.termType||O.value.startsWith(this.canonicalIssuer.prefix)?O:{termType:"BlankNode",value:this.canonicalIssuer.getId(O.value)}}_yield(){return yt(function*(){return new Promise(O=>W(O))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),P=Y("./Permuter"),Q=Y("./NQuads");function z(v,x){return v.hashx.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(x){this.quads=x;for(const T of x)this._addBlankNodeQuadInfo({quad:T,component:T.subject}),this._addBlankNodeQuadInfo({quad:T,component:T.object}),this._addBlankNodeQuadInfo({quad:T,component:T.graph});const O=new Map,A=[...this.blankNodeInfo.keys()];for(const T of A)this._hashAndTrackBlankNode({id:T,hashToBlankNodes:O});const b=[...O.keys()].sort(),y=[];for(const T of b){const V=O.get(T);V.length>1?y.push(V):this.canonicalIssuer.getId(V[0])}for(const T of y){const V=[];for(const R of T){if(this.canonicalIssuer.hasId(R))continue;const K=new W("_:b");K.getId(R);const ce=this.hashNDegreeQuads(R,K);V.push(ce)}V.sort(z);for(const R of V){const K=R.issuer.getOldIds();for(const ce of K)this.canonicalIssuer.getId(ce)}}const S=[];for(const T of this.quads){const V=ot({},T);V.subject=this._useCanonicalId({component:V.subject}),V.object=this._useCanonicalId({component:V.object}),V.graph=this._useCanonicalId({component:V.graph}),S.push(Q.serializeQuad(V))}return S.sort(),S.join("")}hashFirstDegreeQuads(x){const O=[],A=this.blankNodeInfo.get(x),b=A.quads;for(const S of b){const T={subject:null,predicate:S.predicate,object:null,graph:null};T.subject=this.modifyFirstDegreeComponent(x,S.subject,"subject"),T.object=this.modifyFirstDegreeComponent(x,S.object,"object"),T.graph=this.modifyFirstDegreeComponent(x,S.graph,"graph"),O.push(Q.serializeQuad(T))}O.sort();const y=new j(this.hashAlgorithm);for(const S of O)y.update(S);return A.hash=y.digest(),A.hash}hashRelatedBlankNode(x,O,A,b){let y;y=this.canonicalIssuer.hasId(x)?this.canonicalIssuer.getId(x):A.hasId(x)?A.getId(x):this.blankNodeInfo.get(x).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(O)),S.update(y),S.digest()}hashNDegreeQuads(x,O){const A=new j(this.hashAlgorithm),b=this.createHashToRelated(x,O),y=[...b.keys()].sort();for(const S of y){A.update(S);let V,T="";const R=new P(b.get(S));for(;R.hasNext();){const K=R.next();let ce=O.clone(),D="";const I=[];let X=!1;for(const E of K)if(this.canonicalIssuer.hasId(E)?D+=this.canonicalIssuer.getId(E):(ce.hasId(E)||I.push(E),D+=ce.getId(E)),0!==T.length&&D>T){X=!0;break}if(!X){for(const E of I){const $=this.hashNDegreeQuads(E,ce);if(D+=ce.getId(E),D+=`<${$.hash}>`,ce=$.issuer,0!==T.length&&D>T){X=!0;break}}X||(0===T.length||D`}createHashToRelated(x,O){const A=new Map,b=this.blankNodeInfo.get(x).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:x,issuer:O,hashToRelated:A});return A}_hashAndTrackBlankNode({id:x,hashToBlankNodes:O}){const A=this.hashFirstDegreeQuads(x),b=O.get(A);b?b.push(x):O.set(A,[x])}_addBlankNodeQuadInfo({quad:x,component:O}){if("BlankNode"!==O.termType)return;const A=O.value,b=this.blankNodeInfo.get(A);b?b.quads.add(x):this.blankNodeInfo.set(A,{quads:new Set([x]),hash:null})}_addRelatedBlankNodeHash({quad:x,component:O,position:A,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==O.termType||O.value===b)return;const T=O.value,V=this.hashRelatedBlankNode(T,x,y,A),R=S.get(V);R?R.push(T):S.set(V,[T])}_useCanonicalId({component:x}){return"BlankNode"!==x.termType||x.value.startsWith(this.canonicalIssuer.prefix)?x:{termType:"BlankNode",value:this.canonicalIssuer.getId(x.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){var z=this;return yt(function*(){const v=new Map,x=z.blankNodeInfo.get(P).quads;let O=0;for(const A of x){let b,y;if("BlankNode"===A.subject.termType&&A.subject.value!==P)y=A.subject.value,b="p";else{if("BlankNode"!==A.object.termType||A.object.value===P)continue;y=A.object.value,b="r"}++O%100==0&&(yield z._yield());const S=yield z.hashRelatedBlankNode(y,A,Q,b),T=v.get(S);T?T.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){const z=new Map,v=this.blankNodeInfo.get(P).quads;for(const x of v){let O,A;if("BlankNode"===x.subject.termType&&x.subject.value!==P)A=x.subject.value,O="p";else{if("BlankNode"!==x.object.termType||x.object.value===P)continue;A=x.object.value,O="r"}const b=this.hashRelatedBlankNode(A,x,Q,O),y=z.get(b);y?y.push(A):z.set(b,[A])}return z}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),P=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let z;try{z=Y("rdf-canonize-native")}catch(x){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(x){return x&&(z=x),z},v.canonize=function(){var x=yt(function*(O,A){if(Array.isArray(O)||(O=v.NQuads.legacyDatasetToQuads(O)),A.useNative){if(!z)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>z.canonize(O,A,(S,T)=>S?y(S):b(T)))}if("URDNA2015"===A.algorithm)return new W(A).main(O);if("URGNA2012"===A.algorithm)return new j(A).main(O);throw"algorithm"in A?new Error("Invalid RDF Dataset Canonicalization algorithm: "+A.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(O,A){return x.apply(this,arguments)}}(),v._canonizeSync=function(x,O){if(Array.isArray(x)||(x=v.NQuads.legacyDatasetToQuads(x)),O.useNative){if(z)return z.canonizeSync(x,O);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===O.algorithm)return new P(O).main(x);if("URGNA2012"===O.algorithm)return new Q(O).main(x);throw"algorithm"in O?new Error("Invalid RDF Dataset Canonicalization algorithm: "+O.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(P){this.termType="BlankNode",this.value=P}equals(P){return!!P&&"BlankNode"===P.termType&&P.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),P=Y("./Literal"),Q=Y("./NamedNode"),z=Y("./Quad"),v=Y("./Variable");let x=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${x++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new P.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,T){return new z.Quad(b,y,S,T||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(P.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(P){return!!P&&"DefaultGraph"===P.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,z){this.termType="Literal",this.value=Q,"string"==typeof z?(this.language=z,this.datatype=j.RDF_LANGUAGE_STRING):z?(this.language="",this.datatype=z):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(P){this.termType="NamedNode",this.value=P}equals(P){return!!P&&"NamedNode"===P.termType&&P.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(P,Q,z,v){this.termType="Quad",this.value="",this.subject=P,this.predicate=Q,this.object=z,this.graph=v}equals(P){return!!P&&("Quad"===P.termType||!P.termType)&&this.subject.equals(P.subject)&&this.predicate.equals(P.predicate)&&this.object.equals(P.object)&&this.graph.equals(P.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(P){this.termType="Variable",this.value=P}equals(P){return!!P&&"Variable"===P.termType&&P.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(P,Q){const z=P.saxStream._parser;super(P.trackPosition?`Line ${z.line+1} column ${z.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),P=Y("stream"),Q=Y("./ParseError"),z=Y("rdf-data-factory");class v extends P.Transform{constructor(A){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},A&&(Object.assign(this,A),this.options=A),this.dataFactory||(this.dataFactory=new z.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(A,b){const y={};let S=!1;for(const V in A.attributes)V.startsWith("xmlns")&&(5===V.length?(S=!0,y[""]=A.attributes[V]):":"===V.charAt(5)&&(S=!0,y[V.substr(6)]=A.attributes[V]));const T=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?T.concat([y]):T}static expandPrefixedTerm(A,b,y){const S=A.indexOf(":");let T,V;S>=0?(T=A.substr(0,S),V=A.substr(S+1)):(T="",V=A);let R=null,K=null;for(let ce=b.length-1;ce>=0;ce--){const D=b[ce][T];if(D){R=D;break}K||(K=b[ce][""])}if(!R){if(T&&"xmlns"!==T)throw new Q.ParseError(y,`The prefix '${T}' in term '${A}' was not bound.`);R=K||""}return{prefix:T,local:V,uri:R}}static isValidIri(A){return v.IRI_REGEX.test(A)}import(A){const b=new P.PassThrough({readableObjectMode:!0});A.on("error",S=>y.emit("error",S)),A.on("data",S=>b.push(S)),A.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(A,b,y){try{this.saxStream.write(A,b)}catch(S){return y(S)}y()}newParseError(A){return new Q.ParseError(this,A)}valueToUri(A,b){return this.uriToNamedNode(W.resolve(A,b.baseIRI))}uriToNamedNode(A){if(!v.isValidIri(A))throw this.newParseError(`Invalid URI: ${A}`);return this.dataFactory.namedNode(A)}validateNcname(A){if(!v.NCNAME_MATCHER.test(A))throw this.newParseError(`Not a valid NCName: ${A}`)}attachSaxListeners(){this.saxStream.on("error",A=>this.emit("error",A)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(A){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=x.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const T=A.name;let V="";for(const D in A.attributes)V+=` ${D}="${A.attributes[D]}"`;b.childrenStringTags.push(`<${T}${V}>`);const ce={childrenStringTags:b.childrenStringTags};return ce.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ce)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(A,b),y===x.RESOURCE?this.onTagResource(A,S,b,!b):this.onTagProperty(A,S,b)}onTagResource(A,b,y,S){const T=v.expandPrefixedTerm(A.name,b.ns,this);b.childrenParseType=x.PROPERTY;let V=!0;if(T.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(T.local)>=0)throw this.newParseError(`Illegal node element name: ${T.local}`);switch(T.local){case"RDF":b.childrenParseType=x.RESOURCE;case"Description":V=!1}}const R=[],K=[];let ce=null,D=!1,I=!1,X=null;for(const E in A.attributes){const $=A.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);ce=$;continue;case"ID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce="#"+$,D=!0;continue;case"nodeID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce=$,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":X=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(R.push(this.uriToNamedNode(Z.uri+Z.local)),K.push($))}if(null!==ce&&(b.subject=I?this.dataFactory.blankNode(ce):this.valueToUri(ce,b),D&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),V){const E=this.uriToNamedNode(T.uri+T.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let T=!1,V=!1,R=null,K=!0;const ce=[],D=[];for(const I in A.attributes){const X=A.attributes[I],E=v.expandPrefixedTerm(I,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(R)throw this.newParseError(`Found both rdf:resource (${X}) and rdf:nodeID (${R}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${X})`);b.hadChildren=!0,R=X,K=!1;continue;case"datatype":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${X})`);b.datatype=this.valueToUri(X,b);continue;case"nodeID":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${X}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${X})`);this.validateNcname(X),b.hadChildren=!0,R=X,K=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(V)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(R)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${R})`);if("Resource"===X){T=!0,b.childrenParseType=x.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===X?(T=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,K=!1):"Literal"===X&&(T=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(X),b.reifiedStatementId=this.valueToUri("#"+X,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===X?null:X.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(T||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${X}`);b.hadChildren=!0,V=!0,ce.push(this.uriToNamedNode(E.uri+E.local)),D.push(this.dataFactory.literal(X,b.datatype||b.language))}}if(null!==R){const I=b.subject;b.subject=K?this.dataFactory.blankNode(R):this.valueToUri(R,b),this.emitTriple(I,b.predicate,b.subject,b.reifiedStatementId);for(let X=0;X/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var x,O;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(O=x=he.ParseType||(he.ParseType={}))[O.RESOURCE=0]="RESOURCE",O[O.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function P(O,A,b){b||(b=Error);var S=function(T){function V(R,K,ce){return T.call(this,function(T,V,R){return"string"==typeof A?A:A(T,V,R)}(R,K,ce))||this}return function(O,A){O.prototype=Object.create(A.prototype),O.prototype.constructor=O,O.__proto__=A}(V,T),V}(b);S.prototype.name=b.name,S.prototype.code=O,j[O]=S}function Q(O,A){if(Array.isArray(O)){var b=O.length;return O=O.map(function(y){return String(y)}),b>2?"one of ".concat(A," ").concat(O.slice(0,b-1).join(", "),", or ")+O[b-1]:2===b?"one of ".concat(A," ").concat(O[0]," or ").concat(O[1]):"of ".concat(A," ").concat(O[0])}return"of ".concat(A," ").concat(String(O))}P("ERR_INVALID_OPT_VALUE",function(O,A){return'The value "'+A+'" is invalid for option "'+O+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(O,A,b){var y,S;if("string"==typeof A&&function(O,A,b){return O.substr(!b||b<0?0:+b,A.length)===A}(A,"not ")?(y="must not be",A=A.replace(/^not /,"")):y="must be",function(O,A,b){return(void 0===b||b>O.length)&&(b=O.length),O.substring(b-A.length,b)===A}(O," argument"))S="The ".concat(O," ").concat(y," ").concat(Q(A,"type"));else{var T=function(O,A,b){return"number"!=typeof b&&(b=0),!(b+A.length>O.length)&&-1!==O.indexOf(A,b)}(O,".")?"property":"argument";S='The "'.concat(O,'" ').concat(T," ").concat(y," ").concat(Q(A,"type"))}return S+". Received type ".concat(typeof b)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(O){return"The "+O+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(O){return"Cannot call "+O+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(O){return"Unknown encoding: "+O},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var T in y)S.push(T);return S};Se.exports=O;var P=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(O,P);for(var z=j(Q.prototype),v=0;v0)if("string"!=typeof L&&!Qe.objectMode&&Object.getPrototypeOf(L)!==x.prototype&&(L=function(ve){return x.from(ve)}(L)),B)Qe.endEmitted?se(ve,new E):Ie(ve,Qe,L,!0);else if(Qe.ended)se(ve,new I);else{if(Qe.destroyed)return!1;Qe.reading=!1,Qe.decoder&&!N?(L=Qe.decoder.write(L),Qe.objectMode||0!==L.length?Ie(ve,Qe,L,!1):Ke(ve,Qe)):Ie(ve,Qe,L,!1)}else B||(Qe.reading=!1,Ke(ve,Qe));return!Qe.ended&&(Qe.lengthL.highWaterMark&&(L.highWaterMark=function(ve){return ve>=st?ve=st:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=L.length?ve:L.ended?L.length:(L.needReadable=!0,0))}function Ue(ve){var L=ve._readableState;S("emitReadable",L.needReadable,L.emittedReadable),L.needReadable=!1,L.emittedReadable||(S("emitReadable",L.flowing),L.emittedReadable=!0,W.nextTick(ke,ve))}function ke(ve){var L=ve._readableState;S("emitReadable_",L.destroyed,L.length,L.ended),!L.destroyed&&(L.length||L.ended)&&(ve.emit("readable"),L.emittedReadable=!1),L.needReadable=!L.flowing&&!L.ended&&L.length<=L.highWaterMark,pe(ve)}function Ke(ve,L){L.readingMore||(L.readingMore=!0,W.nextTick(Me,ve,L))}function Me(ve,L){for(;!L.reading&&!L.ended&&(L.length0,L.resumeScheduled&&!L.paused?L.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Ne(ve){S("readable nexttick read 0"),ve.read(0)}function G(ve,L){S("resume",L.reading),L.reading||ve.read(0),L.resumeScheduled=!1,ve.emit("resume"),pe(ve),L.flowing&&!L.reading&&ve.read(0)}function pe(ve){var L=ve._readableState;for(S("flow",L.flowing);L.flowing&&null!==ve.read(););}function ue(ve,L){return 0===L.length?null:(L.objectMode?N=L.buffer.shift():!ve||ve>=L.length?(N=L.decoder?L.buffer.join(""):1===L.buffer.length?L.buffer.first():L.buffer.concat(L.length),L.buffer.clear()):N=L.buffer.consume(ve,L.decoder),N);var N}function je(ve){var L=ve._readableState;S("endReadable",L.endEmitted),L.endEmitted||(L.ended=!0,W.nextTick(_t,L,ve))}function _t(ve,L){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,L.readable=!1,L.emit("end"),ve.autoDestroy)){var N=L._writableState;(!N||N.autoDestroy&&N.finished)&&L.destroy()}}function pt(ve,L){for(var N=0,B=ve.length;N=L.highWaterMark:L.length>0)||L.ended))return S("read: emitReadable",L.length,L.ended),0===L.length&&L.ended?je(this):Ue(this),null;if(0===(ve=tt(ve,L))&&L.ended)return 0===L.length&&je(this),null;var Re,B=L.needReadable;return S("need readable",B),(0===L.length||L.length-ve0?ue(ve,L):null)?(L.needReadable=L.length<=L.highWaterMark,ve=0):(L.length-=ve,L.awaitDrain=0),0===L.length&&(L.ended||(L.needReadable=!0),N!==ve&&L.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(ve){se(this,new X("_read()"))},ne.prototype.pipe=function(ve,L){var N=this,B=this._readableState;switch(B.pipesCount){case 0:B.pipes=ve;break;case 1:B.pipes=[B.pipes,ve];break;default:B.pipes.push(ve)}B.pipesCount+=1,S("pipe count=%d opts=%j",B.pipesCount,L);var Qe=L&&!1===L.end||ve===W.stdout||ve===W.stderr?gs:Nt;function St(Bs,Qr){S("onunpipe"),Bs===N&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,S("cleanup"),ve.removeListener("close",Xr),ve.removeListener("finish",Ls),ve.removeListener("drain",On),ve.removeListener("error",wi),ve.removeListener("unpipe",St),N.removeListener("end",Nt),N.removeListener("end",gs),N.removeListener("data",Ti),kn=!0,B.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&On())}function Nt(){S("onend"),ve.end()}B.endEmitted?W.nextTick(Qe):N.once("end",Qe),ve.on("unpipe",St);var On=function(ve){return function(){var N=ve._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&z(ve,"data")&&(N.flowing=!0,pe(ve))}}(N);ve.on("drain",On);var kn=!1;function Ti(Bs){S("ondata");var Qr=ve.write(Bs);S("dest.write",Qr),!1===Qr&&((1===B.pipesCount&&B.pipes===ve||B.pipesCount>1&&-1!==pt(B.pipes,ve))&&!kn&&(S("false write response, pause",B.awaitDrain),B.awaitDrain++),N.pause())}function wi(Bs){S("onerror",Bs),gs(),ve.removeListener("error",wi),0===z(ve,"error")&&se(ve,Bs)}function Xr(){ve.removeListener("finish",Ls),gs()}function Ls(){S("onfinish"),ve.removeListener("close",Xr),gs()}function gs(){S("unpipe"),N.unpipe(ve)}return N.on("data",Ti),function(ve,L,N){if("function"==typeof ve.prependListener)return ve.prependListener(L,N);ve._events&&ve._events[L]?Array.isArray(ve._events[L])?ve._events[L].unshift(N):ve._events[L]=[N,ve._events[L]]:ve.on(L,N)}(ve,"error",wi),ve.once("close",Xr),ve.once("finish",Ls),ve.emit("pipe",N),B.flowing||(S("pipe resume"),N.resume()),ve},ne.prototype.unpipe=function(ve){var L=this._readableState,N={hasUnpiped:!1};if(0===L.pipesCount)return this;if(1===L.pipesCount)return ve&&ve!==L.pipes||(ve||(ve=L.pipes),L.pipes=null,L.pipesCount=0,L.flowing=!1,ve&&ve.emit("unpipe",this,N)),this;if(!ve){var B=L.pipes,Re=L.pipesCount;L.pipes=null,L.pipesCount=0,L.flowing=!1;for(var Qe=0;Qe0,!1!==B.flowing&&this.resume()):"readable"===ve&&!B.endEmitted&&!B.readableListening&&(B.readableListening=B.needReadable=!0,B.flowing=!1,B.emittedReadable=!1,S("on readable",B.length,B.reading),B.length?Ue(this):B.reading||W.nextTick(Ne,this)),N},ne.prototype.removeListener=function(ve,L){var N=v.prototype.removeListener.call(this,ve,L);return"readable"===ve&&W.nextTick($e,this),N},ne.prototype.removeAllListeners=function(ve){var L=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&W.nextTick($e,this),L},ne.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function(ve,L){L.resumeScheduled||(L.resumeScheduled=!0,W.nextTick(G,ve,L))}(this,ve)),ve.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(ve){var L=this,N=this._readableState,B=!1;for(var Re in ve.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var St=N.decoder.end();St&&St.length&&L.push(St)}L.push(null)}),ve.on("data",function(St){S("wrapped data"),N.decoder&&(St=N.decoder.write(St)),N.objectMode&&null==St||!(N.objectMode||St&&St.length)||L.push(St)||(B=!0,ve.pause())}),ve)void 0===this[Re]&&"function"==typeof ve[Re]&&(this[Re]=function(Nt){return function(){return ve[Nt].apply(ve,arguments)}}(Re));for(var Qe=0;Qe-1))throw new Z(ue);return this._writableState.defaultEncoding=ue,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,ue,je){je(new ce("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,ue,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,ue=null):"function"==typeof ue&&(je=ue,ue=null),null!=pe&&this.write(pe,ue),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,ue,je){ue.ending=!0,Ne(pe,ue),je&&(ue.finished?W.nextTick(je):pe.once("finish",je)),ue.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ue){!this._writableState||(this._writableState.destroyed=ue)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,ue){ue(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function P(I,X,E){return X in I?Object.defineProperty(I,X,{value:E,enumerable:!0,configurable:!0,writable:!0}):I[X]=E,I}var Q=Y("./end-of-stream"),z=Symbol("lastResolve"),v=Symbol("lastReject"),x=Symbol("error"),O=Symbol("ended"),A=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(I,X){return{value:I,done:X}}function T(I){var X=I[z];if(null!==X){var E=I[y].read();null!==E&&(I[A]=null,I[z]=null,I[v]=null,X(S(E,!1)))}}function V(I){W.nextTick(T,I)}var K=Object.getPrototypeOf(function(){}),ce=Object.setPrototypeOf((P(j={get stream(){return this[y]},next:function(){var X=this,E=this[x];if(null!==E)return Promise.reject(E);if(this[O])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(se,te){W.nextTick(function(){X[x]?te(X[x]):se(S(void 0,!0))})});var Z,$=this[A];if($)Z=new Promise(function(I,X){return function(E,$){I.then(function(){X[O]?E(S(void 0,!0)):X[b](E,$)},$)}}($,this));else{var oe=this[y].read();if(null!==oe)return Promise.resolve(S(oe,!1));Z=new Promise(this[b])}return this[A]=Z,Z}},Symbol.asyncIterator,function(){return this}),P(j,"return",function(){var X=this;return new Promise(function(E,$){X[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),K);Se.exports=function(X){var E,$=Object.create(ce,(P(E={},y,{value:X,writable:!0}),P(E,z,{value:null,writable:!0}),P(E,v,{value:null,writable:!0}),P(E,x,{value:null,writable:!0}),P(E,O,{value:X._readableState.endEmitted,writable:!0}),P(E,b,{value:function(oe,se){var te=$[y].read();te?($[A]=null,$[z]=null,$[v]=null,oe(S(te,!1))):($[z]=oe,$[v]=se)},writable:!0}),E));return $[A]=null,Q(X,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var oe=$[v];return null!==oe&&($[A]=null,$[z]=null,$[v]=null,oe(Z)),void($[x]=Z)}var se=$[z];null!==se&&($[A]=null,$[z]=null,$[v]=null,se(S(void 0,!0))),$[O]=!0}),X.on("readable",V.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(T,V){var R=Object.keys(T);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(T);V&&(K=K.filter(function(ce){return Object.getOwnPropertyDescriptor(T,ce).enumerable})),R.push.apply(R,K)}return R}function P(T,V,R){return V in T?Object.defineProperty(T,V,{value:R,enumerable:!0,configurable:!0,writable:!0}):T[V]=R,T}function z(T,V){for(var R=0;R0?this.tail.next=K:this.head=K,this.tail=K,++this.length}},{key:"unshift",value:function(R){var K={data:R,next:this.head};0===this.length&&(this.tail=K),this.head=K,++this.length}},{key:"shift",value:function(){if(0!==this.length){var R=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(0===this.length)return"";for(var K=this.head,ce=""+K.data;K=K.next;)ce+=R+K.data;return ce}},{key:"concat",value:function(R){if(0===this.length)return O.alloc(0);for(var K=O.allocUnsafe(R>>>0),ce=this.head,D=0;ce;)S(ce.data,K,D),D+=ce.data.length,ce=ce.next;return K}},{key:"consume",value:function(R,K){var ce;return RI.length?I.length:R;if(D+=X===I.length?I:I.slice(0,R),0==(R-=X)){X===I.length?(++ce,this.head=K.next?K.next:this.tail=null):(this.head=K,K.data=I.slice(X));break}++ce}return this.length-=ce,D}},{key:"_getBuffer",value:function(R){var K=O.allocUnsafe(R),ce=this.head,D=1;for(ce.data.copy(K),R-=ce.data.length;ce=ce.next;){var I=ce.data,X=R>I.length?I.length:R;if(I.copy(K,K.length-R,0,X),0==(R-=X)){X===I.length?(++D,this.head=ce.next?ce.next:this.tail=null):(this.head=ce,ce.data=I.slice(X));break}++D}return this.length-=D,K}},{key:y,value:function(R,K){return b(this,function(T){for(var V=1;V0,function(Z){ce||(ce=Z),Z&&D.forEach(A),!E&&(D.forEach(A),K(ce))})});return V.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,z,v,x){var O=function(Q,z,v){return null!=Q.highWaterMark?Q.highWaterMark:z?Q[v]:null}(z,x,v);if(null!=O){if(!isFinite(O)||Math.floor(O)!==O||O<0)throw new W(x?v:"highWaterMark",O);return Math.floor(O)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var P in j)he.hasOwnProperty(P)||(he[P]=j[P])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(z){const v=[];let x=0;for(;xO.join("")).join("/")}function P(z,v){let x=v+1;v>=0?"/"===z[v+1]&&"/"===z[v+2]&&(x=v+3):"/"===z[0]&&"/"===z[1]&&(x=2);const O=z.indexOf("/",x);return O<0?z:z.substr(0,O)+j(z.substr(O))}function Q(z){return!z||"#"===z||"?"===z||"/"===z}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(z,v){const x=(v=v||"").indexOf("#");if(x>0&&(v=v.substr(0,x)),!z.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);return v}if(z.startsWith("?")){const V=v.indexOf("?");return V>0&&(v=v.substr(0,V)),v+z}if(z.startsWith("#"))return v+z;if(!v.length){const V=z.indexOf(":");if(V<0)throw new Error(`Found invalid relative IRI '${z}' for a missing baseIRI`);return P(z,V)}const O=z.indexOf(":");if(O>=0)return P(z,O);const A=v.indexOf(":");if(A<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);const b=v.substr(0,A+1);if(0===z.indexOf("//"))return b+P(z,O);let y;if(v.indexOf("//",A)===A+1){if(y=v.indexOf("/",A+3),y<0)return v.length>A+3?v+"/"+P(z,O):b+P(z,O)}else if(y=v.indexOf("/",A+1),y<0)return b+P(z,O);if(0===z.indexOf("/"))return v.substr(0,y)+j(z);let S=v.substr(y);const T=S.lastIndexOf("/");return T>=0&&T"===ue?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(ue)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=ue);continue;case te.SGML_DECL_QUOTED:ue===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=ue;continue;case te.DOCTYPE:">"===ue?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=ue,"["===ue?G.state=te.DOCTYPE_DTD:$(ue)&&(G.state=te.DOCTYPE_QUOTED,G.q=ue));continue;case te.DOCTYPE_QUOTED:G.doctype+=ue,ue===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=ue,"]"===ue?G.state=te.DOCTYPE:$(ue)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=ue);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=ue,ue===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===ue?G.state=te.COMMENT_ENDING:G.comment+=ue;continue;case te.COMMENT_ENDING:"-"===ue?(G.state=te.COMMENT_ENDED,G.comment=Ie(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+ue,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ue?(Xe(G,"Malformed comment"),G.comment+="--"+ue,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===ue?G.state=te.CDATA_ENDING:G.cdata+=ue;continue;case te.CDATA_ENDING:"]"===ue?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+ue,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ue?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===ue?G.cdata+="]":(G.cdata+="]]"+ue,G.state=te.CDATA);continue;case te.PROC_INST:"?"===ue?G.state=te.PROC_INST_ENDING:E(ue)?G.state=te.PROC_INST_BODY:G.procInstName+=ue;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(ue))continue;"?"===ue?G.state=te.PROC_INST_ENDING:G.procInstBody+=ue;continue;case te.PROC_INST_ENDING:">"===ue?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+ue,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:oe(D,ue)?G.tagName+=ue:(tt(G),">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:(E(ue)||Xe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ue?(ke(G,!0),Ke(G)):(Xe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(ue))continue;">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ue?G.state=te.ATTRIB_VALUE:">"===ue?(Xe(G,"Attribute without value"),G.attribValue=G.attribName,Ue(G),ke(G)):E(ue)?G.state=te.ATTRIB_NAME_SAW_WHITE:oe(D,ue)?G.attribName+=ue:Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ue)G.state=te.ATTRIB_VALUE;else{if(E(ue))continue;Xe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===ue?ke(G):oe(ce,ue)?(G.attribName=ue,G.state=te.ATTRIB_NAME):(Xe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(ue))continue;$(ue)?(G.q=ue,G.state=te.ATTRIB_VALUE_QUOTED):(Xe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=ue);continue;case te.ATTRIB_VALUE_QUOTED:if(ue!==G.q){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=ue;continue}Ue(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(ue)?G.state=te.ATTRIB:">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(Xe(G,"No whitespace between attributes"),G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(ue)){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=ue;continue}Ue(G),">"===ue?ke(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===ue?Ke(G):oe(D,ue)?G.tagName+=ue:G.script?(G.script+=""===ue?Ke(G):Xe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,ve;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,ve="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,ve="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,ve="attribValue"}";"===ue?(G[ve]+=Me(G),G.entity="",G.state=pt):oe(G.entity.length?X:I,ue)?G.entity+=ue:(Xe(G,"Invalid character in entity name"),G[ve]+="&"+G.entity+ue,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,ue=0,je=P.length;ueG)switch(P[ue]){case"textNode":_e(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:Ge(q,"Max buffer length exceeded: "+P[ue])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){_e(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{O=Y("stream").Stream}catch(q){O=function(){}}var A=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);O.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(ue){pe.emit("error",ue),pe._parser.error=null},this._decoder=null,A.forEach(function(ue){Object.defineProperty(pe,"on"+ue,{get:function(){return pe._parser["on"+ue]},set:function(je){if(!je)return pe.removeAllListeners(ue),pe._parser["on"+ue]=je,je;pe.on(ue,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(O.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==A.indexOf(q)&&(pe._parser["on"+q]=function(){var ue=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ue.splice(0,0,q),pe.emit.apply(pe,ue)}),O.prototype.on.call(pe,q,G)};var V="http://www.w3.org/XML/1998/namespace",R="http://www.w3.org/2000/xmlns/",K={xml:V,xmlns:R},ce=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,I=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,X=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function oe(q,G){return q.test(G)}function se(q,G){return!oe(q,G)}var q,G,pe,te=0;for(var Ce in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Ce]]=Ce;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&_e(q),me(q,G,pe)}function _e(q){q.textNode=Ie(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Ie(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function Ge(q,G){return _e(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Xe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&Ge(q,"Unexpected end"),_e(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Xe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&Ge(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Ye(q,G){var ue=q.indexOf(":")<0?["",q]:q.split(":"),je=ue[0],_t=ue[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function Ue(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Ye(q.attribName,!0),ue=G.local;if("xmlns"===G.prefix)if("xml"===ue&&q.attribValue!==V)Xe(q,"xml: prefix must be bound to "+V+"\nActual: "+q.attribValue);else if("xmlns"===ue&&q.attribValue!==R)Xe(q,"xmlns: prefix must be bound to "+R+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[ue]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function ke(q,G){if(q.opt.xmlns){var pe=q.tag,ue=Ye(q.tagName);pe.prefix=ue.prefix,pe.local=ue.local,pe.uri=pe.ns[ue.prefix]||"",pe.prefix&&!pe.uri&&(Xe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=ue.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(On){ne(q,"onopennamespace",{prefix:On,uri:pe.ns[On]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var ue=pe;G--&&q.tags[G].name!==ue;)Xe(q,"Unexpected close tag");if(G<0)return Xe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var ve={};for(var L in pt.ns)ve[L]=pt.ns[L];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(B){ne(q,"onclosenamespace",{prefix:B,uri:pt.ns[B]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var ue,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(ue=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(ue=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(ue)||je.toLowerCase()!==G?(Xe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(ue))}function Ve(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Xe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function $e(q,G){var pe="";return G1114111||G(B)!==B)throw RangeError("Invalid code point: "+B);B<=65535?je.push(B):je.push(55296+((B-=65536)>>10),B%1024+56320),(ve+1===L||je.length>ue)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(P,Q){"use strict";if(!P.setImmediate){var A,z=1,v={},x=!1,O=P.document,X=Object.getPrototypeOf&&Object.getPrototypeOf(P);X=X&&X.setTimeout?X:P,"[object process]"==={}.toString.call(P.process)?A=function(E){W.nextTick(function(){T(E)})}:function(){if(P.postMessage&&!P.importScripts){var E=!0,$=P.onmessage;return P.onmessage=function(){E=!1},P.postMessage("","*"),P.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===P&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&T(+Z.data.slice(E.length))},P.addEventListener?P.addEventListener("message",$,!1):P.attachEvent("onmessage",$),A=function(Z){P.postMessage(E+Z,"*")}):P.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){T($.data)},A=function($){E.port2.postMessage($)}}():O&&"onreadystatechange"in O.createElement("script")?function(){var E=O.documentElement;A=function($){var Z=O.createElement("script");Z.onreadystatechange=function(){T($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():A=function(E){setTimeout(T,0,E)},X.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[z]={callback:E,args:$},A(z),z++},X.clearImmediate=y}var E,$;function y(E){delete v[E]}function T(E){if(x)setTimeout(T,0,E);else{var $=v[E];if($){x=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),x=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=P;var W=Y("events").EventEmitter;function P(){W.call(this)}Y("inherits")(P,W),P.Readable=Y("readable-stream/lib/_stream_readable.js"),P.Writable=Y("readable-stream/lib/_stream_writable.js"),P.Duplex=Y("readable-stream/lib/_stream_duplex.js"),P.Transform=Y("readable-stream/lib/_stream_transform.js"),P.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),P.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),P.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),P.Stream=P,P.prototype.pipe=function(Q,z){var v=this;function x(V){Q.writable&&!1===Q.write(V)&&v.pause&&v.pause()}function O(){v.readable&&v.resume&&v.resume()}v.on("data",x),Q.on("drain",O),!Q._isStdio&&(!z||!1!==z.end)&&(v.on("end",b),v.on("close",y));var A=!1;function b(){A||(A=!0,Q.end())}function y(){A||(A=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(V){if(T(),0===W.listenerCount(this,"error"))throw V}function T(){v.removeListener("data",x),Q.removeListener("drain",O),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",T),v.removeListener("close",T),Q.removeListener("close",T)}return v.on("error",S),Q.on("error",S),v.on("end",T),v.on("close",T),Q.on("close",T),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var P=Y("process/browser.js").nextTick,Q=Function.prototype.apply,z=Array.prototype.slice,v={},x=0;function O(A,b){this._id=A,this._clearFn=b}he.setTimeout=function(){return new O(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new O(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(A){A.close()},O.prototype.unref=O.prototype.ref=function(){},O.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(A,b){clearTimeout(A._idleTimeoutId),A._idleTimeout=b},he.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},he._unrefActive=he.active=function(A){clearTimeout(A._idleTimeoutId);var b=A._idleTimeout;b>=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(A){var b=x++,y=!(arguments.length<2)&&z.call(arguments,1);return v[b]=!0,P(function(){v[b]&&(y?A.apply(null,y):A.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(A){delete v[A]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function P(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var z=W.localStorage[Q];return null!=z&&"true"===String(z).toLowerCase()}Se.exports=function(Q,z){if(P("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(P("throwDeprecation"))throw new Error(z);P("traceDeprecation")?console.trace(z):console.warn(z),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var x=this;if(x instanceof W||(x=new W),x.tail=null,x.head=null,x.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){x.push(b)});else if(arguments.length>0)for(var O=0,A=arguments.length;O1)O=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");A=this.head.next,O=this.head.value}for(var b=0;null!==A;b++)O=v(O,A.value,b),A=A.next;return O},W.prototype.reduceReverse=function(v,x){var O,A=this.tail;if(arguments.length>1)O=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");A=this.tail.prev,O=this.tail.value}for(var b=this.length-1;null!==A;b--)O=v(O,A.value,b),A=A.prev;return O},W.prototype.toArray=function(){for(var v=new Array(this.length),x=0,O=this.head;null!==O;x++)v[x]=O.value,O=O.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),x=0,O=this.tail;null!==O;x++)v[x]=O.value,O=O.prev;return v},W.prototype.slice=function(v,x){(x=x||this.length)<0&&(x+=this.length),(v=v||0)<0&&(v+=this.length);var O=new W;if(xthis.length&&(x=this.length);for(var A=0,b=this.head;null!==b&&Athis.length&&(x=this.length);for(var A=this.length,b=this.tail;null!==b&&A>x;A--)b=b.prev;for(;null!==b&&A>v;A--,b=b.prev)O.push(b.value);return O},W.prototype.splice=function(v,x,...O){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var A=0,b=this.head;null!==b&&A{"use strict";Ut.exports=Je,Ut.exports.default=Je;var it=1e20;function Je(Y,Se,he,W,j,P){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=P||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,z=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(z*z),this.gridInner=new Float64Array(z*z),this.f=new Float64Array(z),this.z=new Float64Array(z+1),this.v=new Uint16Array(z),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Tt(Y,Se,he,W,j,P){for(var Q=0;Q-1);P[++v]=z,Q[v]=x,Q[v+1]=it}for(z=0,v=0;z{Ut.exports=function(Je,yt){var ee=yt.length;if(0!==ee){var Tt=Je.length;Je.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Tt=yt||(yt={})).typeOfFunction="function",Tt.boolTrue=!0,yt;var Tt})();function ee(Tt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},266:(Ut,it,Je)=>{Ut.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(Ut,it,Je){"use strict";var yt,ee,Tt;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Tt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function P(D){D||(D=document.documentElement);var I=window.getComputedStyle(D,null).fontSize;return parseFloat(I)||16}function z(D,I){var X=I.split(/\d/),E=X[X.length-1];switch(I=parseFloat(I),E){case"px":return I;case"em":return I*P(D);case"rem":return I*P();case"vw":return I*document.documentElement.clientWidth/100;case"vh":return I*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return I*(0,Math["vmin"===E?"min":"max"])($,Z);default:return I}}function v(D,I){this.element=D;var X,E,$,Z,oe,se,te,Ce,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(X in $=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var I=D.getBoundingClientRect();return{width:Math.round(I.width),height:Math.round(I.height)}}(this.element),se={},W[I])!W[I].hasOwnProperty(X)||(Z=z(this.element,(E=W[I][X]).value),oe="width"===E.property?$.width:$.height,te="","min"===E.mode&&oe>=Z&&(te+=E.value),"max"===E.mode&&oe<=Z&&(te+=E.value),se[Ce=E.mode+"-"+E.property]||(se[Ce]=""),te&&-1===(" "+se[Ce]+" ").indexOf(" "+te+" ")&&(se[Ce]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(se[me[ne]]?this.element.setAttribute(me[ne],se[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function x(D,I){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new v(D,I)),D.elementQueriesSensor||(D.elementQueriesSensor=new dt(D,function(){D.elementQueriesSetupInformation.call()}))}function O(D,I,X,E){if(void 0===W[D]){W[D]=[];var $=j.length;he.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+$+"px;}",j.push(D)}W[D].push({mode:I,property:X,value:E})}function A(D){var I;if(document.querySelectorAll&&(I=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!I&&"undefined"!=typeof $$&&(I=$$),!I&&"undefined"!=typeof jQuery&&(I=jQuery),!I)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return I}function y(D){var I=[],X=[],E=[],$=0,Z=-1,oe=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){I.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Ce=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");E.push(Ce),X.push({minWidth:te}),te?D.children[se].style.display="none":($=I.length-1,D.children[se].style.display="block")}function ne(){var Ie,_e=!1;for(Ie in I)!I.hasOwnProperty(Ie)||X[Ie].minWidth&&D.offsetWidth>X[Ie].minWidth&&(_e=Ie);if(_e||(_e=$),Z!==_e)if(oe[_e])I[Z].style.display="none",I[_e].style.display="block",Z=_e;else{var Ge=new Image;Ge.onload=function(){I[_e].src=E[_e],I[Z].style.display="none",I[_e].style.display="block",oe[_e]=!0,Z=_e},Ge.src=E[_e]}else I[_e].src=E[_e]}Z=$,D.resizeSensorInstance=new dt(D,ne),ne()}var T=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,V=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function R(D){var I,X,E,$;for(D=D.replace(/'/g,'"');null!==(I=T.exec(D));)for(X=I[1]+I[3],E=I[2];null!==($=V.exec(E));)O(X,$[1],$[2],$[3])}function K(D){var I="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&R(D);else for(var X=0,E=D.length;X img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ce=!0);for(var I=0,X=document.styleSheets.length;I{var yt=Je(910),ee=Je(369),Tt=Je(322);function dt(Q,z,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(z))throw new Error('graphology-shortest-path: the "'+z+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((z=""+z)==(v=""+v))return[z];var x=Q.inboundNeighbors.bind(Q),O=Q.outboundNeighbors.bind(Q),A={},b={};A[z]=null,b[v]=null;var T,V,R,K,ce,D,I,X,y=[z],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(T=y,y=[],ce=0,I=T.length;ce{Ut.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(ie){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(ie)}function Je(ie,fe){ie.prototype=Object.create(fe.prototype),ie.prototype.constructor=ie,ee(ie,fe)}function yt(ie){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(ie)}function ee(ie,fe){return(ee=Object.setPrototypeOf||function(re,M){return re.__proto__=M,re})(ie,fe)}function Tt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ie){return!1}}function dt(ie,fe,re){return(dt=Tt()?Reflect.construct:function(M,k,J){var we=[null];we.push.apply(we,k);var Fe=new(Function.bind.apply(M,we));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(ie){var fe="function"==typeof Map?new Map:void 0;return(Y=function(re){if(null===re||-1===Function.toString.call(re).indexOf("[native code]"))return re;if("function"!=typeof re)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(re))return fe.get(re);fe.set(re,k)}function k(){return dt(re,arguments,yt(this).constructor)}return k.prototype=Object.create(re.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),ee(k,re)})(ie)}function Se(ie){if(void 0===ie)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ie}var he=function(){for(var ie=arguments[0],fe=1,re=arguments.length;fe0&&we.length>k&&!we.warned){we.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+we.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=ie,nt.type=fe,nt.count=we.length,console&&console.warn&&console.warn(nt)}return ie}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(ie,fe,re){var M={fired:!1,wrapFn:void 0,target:ie,type:fe,listener:re},k=D.bind(M);return k.listener=re,M.wrapFn=k,k}function X(ie,fe,re){var M=ie._events;if(void 0===M)return[];var k=M[fe];return void 0===k?[]:"function"==typeof k?re?[k.listener||k]:[k]:re?function(J){for(var we=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var we=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw we.context=J,we}var Fe=k[ie];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Ot=$(Fe,nt);for(re=0;re=0;J--)if(re[J]===fe||re[J].listener===fe){we=re[J].listener,k=J;break}if(k<0)return this;0===k?re.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(ie,fe[M]);return this},T.prototype.listeners=function(ie){return X(this,ie,!0)},T.prototype.rawListeners=function(ie){return X(this,ie,!1)},T.listenerCount=function(ie,fe){return"function"==typeof ie.listenerCount?ie.listenerCount(fe):E.call(ie,fe)},T.prototype.listenerCount=E,T.prototype.eventNames=function(){return this._eventsCount>0?O(this._events):[]},oe.prototype.next=function(){if(this.done)return{done:!0};var ie=this._next();return ie.done&&(this.done=!0),ie},"undefined"!=typeof Symbol&&(oe.prototype[Symbol.iterator]=function(){return this}),oe.of=function(){var ie=arguments,fe=ie.length,re=0;return new oe(function(){return re>=fe?{done:!0}:{done:!1,value:ie[re++]}})},oe.empty=function(){var ie=new oe(null);return ie.done=!0,ie},oe.is=function(ie){return ie instanceof oe||"object"==typeof ie&&null!==ie&&"function"==typeof ie.next};var se=oe,te=function(ie,fe){for(var re,M=arguments.length>1?fe:1/0,k=M!==1/0?new Array(M):[],J=0;;){if(J===M)return k;if((re=ie.next()).done)return J!==fe?k.slice(0,J):k;k[J++]=re.value}},Ce=function(ie){function fe(re,M){var k;return(k=ie.call(this)||this).name="GraphError",k.message=re||"",k.data=M||{},k}return Je(fe,ie),fe}(Y(Error)),me=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),ne=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),_e=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce);function Ie(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ge(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(ie,fe){this.key=ie,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Xe(ie,fe,re,M,k,J){this.key=fe,this.attributes=J,this.undirected=ie,this.source=M,this.target=k,this.generatedKey=re}function tt(ie,fe,re,M,k,J,we){var Fe,nt,Ot="out",We="in";if(fe&&(Ot=We="undirected"),ie.multi){if(void 0===(nt=(Fe=J[Ot])[k])&&(nt=new Set,Fe[k]=nt),nt.add(re),M===k&&fe)return;void 0===(Fe=we[We])[M]&&(Fe[M]=nt)}else{if(J[Ot][k]=re,M===k&&fe)return;we[We][M]=re}}function Ye(ie,fe,re){var M=ie.multi,k=re.source,J=re.target,we=k.key,Fe=J.key,nt=k[fe?"undirected":"out"],Ot=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Ot][we]):We.delete(re)}else delete nt[Fe];M||delete J[Ot][we]}Ge.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Ue=[{name:function(ie){return"get".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes[k]}}},{name:function(ie){return"get".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M){var k;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,we=""+arguments[1];if(!(k=W(this,J,we,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(we,'").'))}else if(!(k=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&k.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return k.attributes}}},{name:function(ie){return"has".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes.hasOwnProperty(k)}}},{name:function(ie){return"set".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J,this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"update".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J(we.attributes[k]),this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"remove".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return delete J.attributes[k],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:k}),this}}},{name:function(ie){return"replace".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes=k,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(ie){return"merge".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return he(J.attributes,k),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:k}),this}}}],ke=se,Ke=function(){var ie,fe=arguments,re=-1;return new ke(function M(){if(!ie){if(++re>=fe.length)return{done:!0};ie=fe[re]}var k=ie.next();return k.done?(ie=null,M()):k})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ve(ie,fe){for(var re in fe)ie.push(fe[re].key)}function $e(ie,fe){for(var re in fe)fe[re].forEach(function(M){return ie.push(M.key)})}function Ne(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)}}function q(ie,fe,re){for(var M in ie)M!==re&&ie[M].forEach(function(k){return fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function G(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];if(fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey))return!0}return!1}function pe(ie,fe,re){var M,k,J,we,Fe;for(var nt in ie)if(nt!==re)for(M=ie[nt].values();!0!==(k=M.next()).done;)if(we=(J=k.value).source,fe(J.key,J.attributes,we.key,(Fe=J.target).key,we.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function ue(ie,fe){var re=Object.keys(ie),M=re.length,k=null,J=0;return new se(function we(){var Fe;if(k){var nt=k.next();if(nt.done)return k=null,J++,we();Fe=nt.value}else{if(J>=M)return{done:!0};var Ot=re[J];if(Ot===fe)return J++,we();if((Fe=ie[Ot])instanceof Set)return k=Fe.values(),we();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(ie,fe,re){var M=fe[re];M&&ie.push(M.key)}function _t(ie,fe,re){var M=fe[re];M&&M.forEach(function(k){return ie.push(k.key)})}function pt(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function ve(ie,fe,re){var M=ie[fe];M&&M.forEach(function(k){return re(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function L(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;return re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(ie,fe,re){var M=ie[fe];if(M){for(var k,J,we=M.values();!0!==(k=we.next()).done;)if(re((J=k.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function B(ie,fe){var re=ie[fe];if(re instanceof Set){var M=re.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return se.of([re.key,re.attributes,re.source.key,re.target.key,re.source.attributes,re.target.attributes])}function Re(ie,fe){if(0===ie.size)return[];if("mixed"===fe||fe===ie.type)return"function"==typeof Array.from?Array.from(ie._edges.keys()):te(ie._edges.keys(),ie._edges.size);for(var re,M,J=new Array("undirected"===fe?ie.undirectedSize:ie.directedSize),we="undirected"===fe,Fe=ie._edges.values(),nt=0;!0!==(re=Fe.next()).done;)(M=re.value).undirected===we&&(J[nt++]=M.key);return J}function Qe(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey)}}function St(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;if(re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey))break}}function Nt(ie,fe){if(0===ie.size)return se.empty();var re="mixed"!==fe&&fe!==ie.type,M="undirected"===fe,k=ie._edges.values();return new se(function(){for(var J,we;;){if((J=k.next()).done)return J;if(we=J.value,!re||we.undirected===M)break}return{value:[we.key,we.attributes,we.source.key,we.target.key,we.source.attributes,we.target.attributes],done:!1}})}function On(ie,fe,re,M){var k=[],J=ie?$e:Ve;return"undirected"!==fe&&("out"!==re&&J(k,M.in),"in"!==re&&J(k,M.out),!re&&M.directedSelfLoops>0&&k.splice(k.lastIndexOf(M.key),1)),"directed"!==fe&&J(k,M.undirected),k}function kn(ie,fe,re,M,k){var J=ie?q:Ne;"undirected"!==fe&&("out"!==re&&J(M.in,k),"in"!==re&&J(M.out,k,re?null:M.key)),"directed"!==fe&&J(M.undirected,k)}function Yn(ie,fe,re,M,k){var J=ie?pe:G;"undirected"!==fe&&("out"!==re&&J(M.in,k)||"in"!==re&&J(M.out,k,re?null:M.key))||"directed"===fe||J(M.undirected,k)}function Ti(ie,fe,re){var M=se.empty();return"undirected"!==ie&&("out"!==fe&&void 0!==re.in&&(M=Ke(M,ue(re.in))),"in"!==fe&&void 0!==re.out&&(M=Ke(M,ue(re.out,fe?null:re.key)))),"directed"!==ie&&void 0!==re.undirected&&(M=Ke(M,ue(re.undirected))),M}function wi(ie,fe,re,M,k){var J=fe?_t:je,we=[];return"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&J(we,M.in,k),void 0!==M.out&&"in"!==re&&J(we,M.out,k),!re&&M.directedSelfLoops>0&&we.splice(we.lastIndexOf(M.key),1)),"directed"!==ie&&void 0!==M.undirected&&J(we,M.undirected,k),we}function Xr(ie,fe,re,M,k,J){var we=fe?ve:pt;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J),M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J)),"directed"!==ie&&void 0!==M.undirected&&we(M.undirected,k,J)}function Ls(ie,fe,re,M,k,J){var we=fe?N:L;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J)||M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J,re?null:M.key))||"directed"===ie||void 0===M.undirected||we(M.undirected,k,J)}function gs(ie,fe,re,M){var k=se.empty();return"undirected"!==ie&&(void 0!==re.in&&"out"!==fe&&M in re.in&&(k=Ke(k,B(re.in,M))),void 0!==re.out&&"in"!==fe&&M in re.out&&(k=Ke(k,B(re.out,M)))),"directed"!==ie&&void 0!==re.undirected&&M in re.undirected&&(k=Ke(k,B(re.undirected,M))),k}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(ie,fe){if(void 0!==fe)for(var re in fe)ie.add(re)}function el(ie,fe,re){if("mixed"!==ie){if("undirected"===ie)return Object.keys(re.undirected);if("string"==typeof fe)return Object.keys(re[fe])}var M=new Set;return"undirected"!==ie&&("out"!==fe&&Qr(M,re.in),"in"!==fe&&Qr(M,re.out)),"directed"!==ie&&Qr(M,re.undirected),te(M.values(),M.size)}function kl(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;re(Fe.key,Fe.attributes)}}function Sa(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;ie.has(nt.key)||(ie.add(nt.key),M(nt.key,nt.attributes))}}function Es(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;if(re(Fe.key,Fe.attributes))return!0}return!1}function Jt(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;if(!ie.has(nt.key)&&(ie.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function tl(ie,fe){var re=Object.keys(fe),M=re.length,k=0;return new se(function(){if(k>=M)return{done:!0};var J=fe[re[k++]];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===ie?J.target:we;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(ie,fe,re){var M=Object.keys(re),k=M.length,J=0;return new se(function we(){if(J>=k)return{done:!0};var Fe=re[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return ie.has(We.key)?we():(ie.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(ie,fe,re,M,k){var J=ie._nodes.get(M);if("undirected"!==fe){if("out"!==re&&void 0!==J.in)for(var we in J.in)if(we===k)return!0;if("in"!==re&&void 0!==J.out)for(var Fe in J.out)if(Fe===k)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===k)return!0;return!1}function Le(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We=fe._nodes.values(),Wt=fe.type;!0!==(M=We.next()).done;){if(k=M.value,"undirected"!==Wt)for(J in we=k.out)if(nt=(Fe=we[J]).target,Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return;if("directed"!==Wt)for(J in we=k.undirected)if((nt=(Fe=we[J]).target).key!==J&&(nt=Fe.source),Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return}}function ut(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We,Wt,xt=fe._nodes.values(),yn=fe.type;!0!==(M=xt.next()).done;){if(k=M.value,"undirected"!==yn)for(J in nt=k.out)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if(We=(Ot=Fe.value).target,Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return;if("directed"!==yn)for(J in nt=k.undirected)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if((We=(Ot=Fe.value).target).key!==J&&(We=Ot.source),Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return}}function Ze(ie,fe){var re={key:ie};return Q(fe.attributes)||(re.attributes=he({},fe.attributes)),re}function At(ie,fe){var re={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(re.key=ie),Q(fe.attributes)||(re.attributes=he({},fe.attributes)),fe.undirected&&(re.undirected=!0),re}function Mt(ie){return P(ie)?"key"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(ie){return P(ie)?"source"in ie?"target"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?"undirected"in ie&&"boolean"!=typeof ie.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(ie,fe,re){var M=new ie.NodeDataClass(fe,re);return ie._nodes.set(fe,M),ie.emit("nodeAdded",{key:fe,attributes:re}),M}function _n(ie,fe,re,M,k,J,we,Fe){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,we=""+we,Fe=Fe||{},!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=ie._nodes.get(J),Ot=ie._nodes.get(we);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Ot)throw new ne("Graph.".concat(fe,': target node "').concat(we,'" not found.'));var We={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(We)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));if(!ie.multi&&(M?void 0!==nt.undirected[we]:void 0!==nt.out[we]))throw new _e("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(we,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new Xe(M,k,re,nt,Ot,Fe);return ie._edges.set(k,Wt),J===we?M?(nt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(nt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(nt.undirectedDegree++,Ot.undirectedDegree++):(nt.outDegree++,Ot.inDegree++),tt(ie,M,Wt,J,we,nt,Ot),M?ie._undirectedSize++:ie._directedSize++,We.key=k,ie.emit("edgeAdded",We),k}function $n(ie,fe,re,M,k,J,we,Fe,nt){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Ot;if(J=""+J,we=""+we,nt&&(Ot=Fe,Fe=void 0),!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,Wt,xt=ie._nodes.get(J),yn=ie._nodes.get(we);if(!re&&(We=ie._edges.get(k))){if(We.source.key!==J||We.target.key!==we||M&&(We.source.key!==we||We.target.key!==J))throw new _e("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(k,'" edge with "').concat(J,'" source & "').concat(we,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));Wt=We}if(Wt||ie.multi||!xt||(Wt=M?xt.undirected[we]:xt.out[we]),Wt)return(nt?Ot:Fe)?(nt?(Wt.attributes=Ot(Wt.attributes),ie.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(he(Wt.attributes,Fe),ie.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:Fe})),Wt.key):Wt.key;Fe=Fe||{},nt&&Ot&&(Fe=Ot(Fe));var Jr={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(Jr)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));return xt||(xt=Nn(ie,J,{}),J===we&&(yn=xt)),yn||(yn=Nn(ie,we,{})),We=new Xe(M,k,re,xt,yn,Fe),ie._edges.set(k,We),J===we?M?(xt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(xt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(xt.undirectedDegree++,yn.undirectedDegree++):(xt.outDegree++,yn.inDegree++),tt(ie,M,We,J,we,xt,yn),M?ie._undirectedSize++:ie._directedSize++,Jr.key=k,ie.emit("edgeAdded",Jr),k}var ie,Cn=function(ie){function fe(M){var k;if(k=ie.call(this)||this,(M=he({},ai,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Xt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,we="mixed"===M.type?Ie:"directed"===M.type?Ge:st;return z(Se(k),"NodeDataClass",we),z(Se(k),"_attributes",{}),z(Se(k),"_nodes",new Map),z(Se(k),"_edges",new Map),z(Se(k),"_directedSize",0),z(Se(k),"_undirectedSize",0),z(Se(k),"_directedSelfLoopCount",0),z(Se(k),"_undirectedSelfLoopCount",0),z(Se(k),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),z(Se(k),"_options",M),zn.forEach(function(Fe){return z(Se(k),Fe,k[Fe])}),v(Se(k),"order",function(){return k._nodes.size}),v(Se(k),"size",function(){return k._edges.size}),v(Se(k),"directedSize",function(){return k._directedSize}),v(Se(k),"undirectedSize",function(){return k._undirectedSize}),v(Se(k),"selfLoopCount",function(){return k._directedSelfLoopCount+k._undirectedSelfLoopCount}),v(Se(k),"directedSelfLoopCount",function(){return k._directedSelfLoopCount}),v(Se(k),"undirectedSelfLoopCount",function(){return k._undirectedSelfLoopCount}),v(Se(k),"multi",k._options.multi),v(Se(k),"type",k._options.type),v(Se(k),"allowSelfLoops",k._options.allowSelfLoops),v(Se(k),"implementation",function(){return"graphology"}),k}Je(fe,ie);var re=fe.prototype;return re.hasNode=function(M){return this._nodes.has(""+M)},re.hasDirectedEdge=function(M,k){if("undirected"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&!we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasUndirectedEdge=function(M,k){if("directed"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasEdge=function(M,k){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){k=""+k;var we=this._nodes.get(M=""+M);if(!we)return!1;var Fe=void 0!==we.out&&we.out[k];return Fe||(Fe=void 0!==we.undirected&&we.undirected[k]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.directedEdge=function(M,k){if("undirected"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.directedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||void 0;return we?we.key:void 0}},re.undirectedEdge=function(M,k){if("directed"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.undirectedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.undirected&&J.undirected[k]||void 0;return we?we.key:void 0}},re.edge=function(M,k){if(this.multi)throw new _e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");k=""+k;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.edge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||J.undirected&&J.undirected[k]||void 0;if(we)return we.key},re.inDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(k?J.directedSelfLoops:0)},re.outDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(k?J.directedSelfLoops:0)},re.directedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var we=k?J.directedSelfLoops:0;return J.inDegree+we+(J.outDegree+we)},re.undirectedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(k?J.undirectedSelfLoops:0)},re.degree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.degree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var we=0,Fe=0;return"directed"!==this.type&&(k&&(Fe=J.undirectedSelfLoops),we+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(k&&(Fe=J.directedSelfLoops),we+=J.inDegree+J.outDegree+2*Fe),we},re.source=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return k.source.key},re.target=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return k.target.key},re.extremities=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[k.source.key,k.target.key]},re.opposite=function(M,k){M=""+M;var J=this._edges.get(k=""+k);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(k,'" edge in the graph.'));var we=J.source.key,Fe=J.target.key;if(M!==we&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(k,'" edge (').concat(we,", ").concat(Fe,")."));return M===we?Fe:we},re.hasExtremity=function(M,k){k=""+k;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===k||J.target.key===k},re.isUndirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return k.undirected},re.isDirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!k.undirected},re.isSelfLoop=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return k.source===k.target},re.hasGeneratedKey=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return k.generatedKey},re.addNode=function(M,k){return function(J,we,Fe){if(Fe&&!P(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(we=""+we))throw new _e('Graph.addNode: the "'.concat(we,'" node already exist in the graph.'));var nt=new J.NodeDataClass(we,Fe);return J._nodes.set(we,nt),J.emit("nodeAdded",{key:we,attributes:Fe}),nt}(this,M,k).key},re.mergeNode=function(M,k){if(k&&!P(k))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(k,'"'));k=k||{};var J=this._nodes.get(M=""+M);return J?(k&&(he(J.attributes,k),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:k})),M):(J=new this.NodeDataClass(M,k),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:k}),M)},re.updateNode=function(M,k){if(k&&"function"!=typeof k)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(k,'"'));var J=this._nodes.get(M=""+M);if(J)return k&&(J.attributes=k(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=k?k({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},re.dropNode=function(M){var k=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(we){k.dropEdge(we)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},re.dropEdge=function(M){var k;if(arguments.length>1){var J=""+arguments[0],we=""+arguments[1];if(!(k=W(this,J,we,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(we,'" edge in the graph.'))}else if(!(k=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(k.key);var nt=k.source,Ot=k.target,We=k.attributes,Wt=k.undirected;return nt===Ot?Wt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(nt.undirectedDegree--,Ot.undirectedDegree--):(nt.outDegree--,Ot.inDegree--),Ye(this,Wt,k),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Ot.key,undirected:Wt}),this},re.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},re.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},re.getAttribute=function(M){return this._attributes[M]},re.getAttributes=function(){return this._attributes},re.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},re.setAttribute=function(M,k){return this._attributes[M]=k,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.updateAttribute=function(M,k){if("function"!=typeof k)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=k(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},re.replaceAttributes=function(M){if(!P(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},re.mergeAttributes=function(M){if(!P(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},re.getNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[k]},re.getNodeAttributes=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return k.attributes},re.hasNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(k)},re.setNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return we.attributes[k]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.updateNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=we.attributes,nt=J(Fe[k]);return Fe[k]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.removeNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[k],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:k}),this},re.replaceNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=k,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},re.mergeNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,k),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:k}),this},re.updateEachNodeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachNodeAttributesUpdated",{hints:k||null})},re.updateEachEdgeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachEdgeAttributesUpdated",{hints:k||null})},re.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Le(!1,this,M)},re.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Le(!0,this,M)},re.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Ot=M.type,We="outer",Wt=null,new se(function xt(){var yn;if("outer"===We)return!0===(yn=nt.next()).done?yn:(k=yn.value,We="directed",xt());if("directed"===We)return"undirected"===Ot?(We="undirected",xt()):(we=k.out,J=Object.keys(k.out),Fe=0,We="inner-directed",xt());if("undirected"===We){if("directed"===Ot)return We="outer",xt();we=k.undirected,J=Object.keys(k.undirected),Fe=0,We="inner-undirected"}if(!Wt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",xt();if(!Wt){var Ss=J[Fe++];return Wt=we[Ss].values(),xt()}if((yn=Wt.next()).done)return Wt=null,xt();var Jr=yn.value,Qs=Jr.target;return"inner-undirected"===We&&Qs.key===k.key&&(Qs=Jr.source),{done:!1,value:[k.key,Qs.key,k.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(xt=this)._nodes.values(),po=xt.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(yn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=yn.out,Ss=Object.keys(yn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=yn.undirected,Ss=Object.keys(yn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var wn=Ss[Qs++],go=Jr[wn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===yn.key&&(Bl=go.source),{done:!1,value:[yn.key,Bl.key,yn.attributes,Bl.attributes,go.key,go.attributes]}}));var xt,yn,Ss,Jr,Qs,Ll,po,jr,M,k,J,we,Fe,nt,Ot,We,Wt},re.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},re.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(k,J){M(J,k.attributes)})},re.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var k,J,we=this._nodes.values();!0!==(k=we.next())&&!M((J=k.value).key,J.attributes););},re.nodeEntries=function(){var M=this._nodes.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{value:[J.key,J.attributes],done:!1}})},re.exportNode=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Ze(M,k)},re.exportEdge=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return At(M,k)},re.export=function(){var M=new Array(this._nodes.size),k=0;this._nodes.forEach(function(we,Fe){M[k++]=Ze(Fe,we)});var J=new Array(this._edges.size);return k=0,this._edges.forEach(function(we,Fe){J[k++]=At(Fe,we)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},re.importNode=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Mt(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var we=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return k?this.mergeNode(we,nt):this.addNode(we,nt),this},re.importEdge=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Dt(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var we=M.source,Fe=M.target,nt=M.attributes,Ot=void 0===nt?{}:nt,We=M.undirected,Wt=void 0!==We&&We;return"key"in M?(k?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,we,Fe,Ot):(k?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,we,Fe,Ot),this},re.import=function(M){var k,J,we,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!P(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!P(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(we=M.nodes,!Array.isArray(we))throw new me("Graph.import: invalid nodes. Expecting an array.");for(k=0,J=we.length;kJ)){var Ot=new Set;Ot.add(k.undirected[nt]),k.undirected[nt]=Ot,M._nodes.get(nt).undirected[J]=Ot}})),this;var M},re.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},re.toJSON=function(){return this.export()},re.toString=function(){return"[object Graph]"},re.inspect=function(){var M=this,k={};this._nodes.forEach(function(Ot,We){k[We]=Ot.attributes});var J={},we={};this._edges.forEach(function(Ot,We){var Wt=Ot.undirected?"--":"->",xt="",yn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?M.multi&&(void 0===we[yn]?we[yn]=0:we[yn]++,xt+="".concat(we[yn],". ")):xt+="[".concat(We,"]: "),J[xt+=yn]=Ot.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=k,Fe.edges=J,z(Fe,"constructor",this.constructor),Fe},fe}(A.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(ie){return"".concat(ie,"Edge")},generateKey:!0},{name:function(ie){return"".concat(ie,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ie){return"".concat(ie,"EdgeWithKey")}},{name:function(ie){return"".concat(ie,"DirectedEdgeWithKey")},type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ie){["add","merge","update"].forEach(function(fe){var re=ie.name(fe),M="add"===fe?_n:$n;Cn.prototype[re]=ie.generateKey?function(k,J,we){return M(this,re,!0,"undirected"===(ie.type||this.type),null,k,J,we,"update"===fe)}:function(k,J,we,Fe){return M(this,re,!1,"undirected"===(ie.type||this.type),k,J,we,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),ie=Cn,Ue.forEach(function(fe){var re=fe.name,M=fe.attacher;M(ie,re("Edge"),"mixed"),M(ie,re("DirectedEdge"),"directed"),M(ie,re("UndirectedEdge"),"undirected")}),function(ie){Me.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Ot=this._nodes.get(Fe=""+Fe);if(void 0===Ot)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return On(this.multi,"mixed"===J?this.type:J,we,Ot)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" target node in the graph.'));return wi(J,this.multi,we,We,nt)}throw new me("Graph.".concat(k,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1);re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Qe(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return kn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1)+"Until";re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return St(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var J=M.type,we=M.direction,Fe=M.name.slice(0,-1)+"Entries";re.prototype[Fe]=function(nt,Ot){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return se.empty();if(!arguments.length)return Nt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Ti(J,we,We)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(nt=""+nt);if(!Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(J,we,Wt,Ot)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ie,fe)})}(Cn),function(ie){Bs.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(k,': could not find the "').concat(Ot,'" node in the graph.'));return lt(this,J,we,nt,Ot)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return el("mixed"===J?this.type:J,we,We)}throw new me("Graph.".concat(k,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1);ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,xt);if("string"==typeof We)return kl(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Sa(yn,Wt,Wt.in,xt),"in"!==We&&Sa(yn,Wt,Wt.out,xt)),"directed"!==Ot&&Sa(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1)+"Until";ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,xt);if("string"==typeof We)return Es(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Jt(yn,Wt,Wt.in,xt)||"in"!==We&&Jt(yn,Wt,Wt.out,xt))||"directed"===Ot||Jt(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var M=fe.type,k=fe.direction,J=fe.name.slice(0,-1)+"Entries";ie.prototype[J]=function(we){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return se.empty();var Fe=this._nodes.get(we=""+we);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));return function(nt,Ot,We){if("mixed"!==nt){if("undirected"===nt)return tl(We,We.undirected);if("string"==typeof Ot)return tl(We,We[Ot])}var Wt=se.empty(),xt=new Set;return"undirected"!==nt&&("out"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.in))),"in"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.out)))),"directed"!==nt&&(Wt=Ke(Wt,rt(xt,We,We.undirected))),Wt}("mixed"===M?this.type:M,k,Fe)}}(ie,fe)})}(Cn);var lr=function(ie){function fe(re){var M=he({type:"directed"},re);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),cr=function(ie){function fe(re){var M=he({type:"undirected"},re);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),Xn=function(ie){function fe(re){var M=he({multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),qi=function(ie){function fe(re){var M=he({type:"directed",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),xa=function(ie){function fe(re){var M=he({type:"undirected",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn);function Zr(ie){ie.from=function(fe,re){var M=he({},fe.options,re),k=new ie(M);return k.import(fe),k}}return Zr(Cn),Zr(lr),Zr(cr),Zr(Xn),Zr(qi),Zr(xa),Cn.Graph=Cn,Cn.DirectedGraph=lr,Cn.UndirectedGraph=cr,Cn.MultiGraph=Xn,Cn.MultiDirectedGraph=qi,Cn.MultiUndirectedGraph=xa,Cn.InvalidArgumentsGraphError=me,Cn.NotFoundGraphError=ne,Cn.UsageGraphError=_e,Cn}()},524:(Ut,it,Je)=>{var yt;!function(ee,Tt,dt,Y){"use strict";var A,Se=["","webkit","Moz","MS","ms","o"],he=Tt.createElement("div"),j=Math.round,P=Math.abs,Q=Date.now;function z(ye,De,He){return setTimeout(T(ye,He),De)}function v(ye,De,He){return!!Array.isArray(ye)&&(x(ye,He[De],He),!0)}function x(ye,De,He){var bt;if(ye)if(ye.forEach)ye.forEach(De,He);else if(ye.length!==Y)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),ye.apply(this,arguments)}}A="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var He=Object(De),bt=1;bt-1}function X(ye){return ye.trim().split(/\s+/g)}function E(ye,De,He){if(ye.indexOf&&!He)return ye.indexOf(De);for(var bt=0;btxs[De]}):bt.sort()),bt}function oe(ye,De){for(var He,bt,Gt=De[0].toUpperCase()+De.slice(1),Yt=0;Yt1&&!He.firstMultiple?He.firstMultiple=St(De):1===Gt&&(He.firstMultiple=!1);var Yt=He.firstInput,li=He.firstMultiple,Vr=li?li.center:Yt.center,es=De.center=Nt(bt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Yt.timeStamp,De.angle=Ti(Vr,es),De.distance=Yn(Vr,es),function(ye,De){var He=De.center,bt=ye.offsetDelta||{},Gt=ye.prevDelta||{},Yt=ye.prevInput||{};(1===De.eventType||4===Yt.eventType)&&(Gt=ye.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=ye.offsetDelta={x:He.x,y:He.y}),De.deltaX=Gt.x+(He.x-bt.x),De.deltaY=Gt.y+(He.y-bt.y)}(He,De),De.offsetDirection=kn(De.deltaX,De.deltaY);var xs=On(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=P(xs.x)>P(xs.y)?xs.x:xs.y,De.scale=li?function(ye,De){return Yn(De[0],De[1],pt)/Yn(ye[0],ye[1],pt)}(li.pointers,bt):1,De.rotation=li?function(ye,De){return Ti(De[1],De[0],pt)+Ti(ye[1],ye[0],pt)}(li.pointers,bt):0,De.maxPointers=He.prevInput?De.pointers.length>He.prevInput.maxPointers?De.pointers.length:He.prevInput.maxPointers:De.pointers.length,function(ye,De){var Gt,Yt,li,Vr,He=ye.lastInterval||De,bt=De.timeStamp-He.timeStamp;if(8!=De.eventType&&(bt>25||He.velocity===Y)){var es=De.deltaX-He.deltaX,xs=De.deltaY-He.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=P(Qn.x)>P(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),ye.lastInterval=De}else Gt=He.velocity,Yt=He.velocityX,li=He.velocityY,Vr=He.direction;De.velocity=Gt,De.velocityX=Yt,De.velocityY=li,De.direction=Vr}(He,De);var Qn=ye.element;D(De.srcEvent.target,Qn)&&(Qn=De.srcEvent.target),De.target=Qn}(ye,He),ye.emit("hammer.input",He),ye.recognize(He),ye.session.prevInput=He}function St(ye){for(var De=[],He=0;He=P(De)?ye<0?2:4:De<0?8:16}function Yn(ye,De,He){He||(He=_t);var bt=De[He[0]]-ye[He[0]],Gt=De[He[1]]-ye[He[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(ye,De,He){return He||(He=_t),180*Math.atan2(De[He[1]]-ye[He[1]],De[He[0]]-ye[He[0]])/Math.PI}ve.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Ce(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ce(this.element,this.evEl,this.domHandler),this.evTarget&&ce(this.target,this.evTarget,this.domHandler),this.evWin&&ce(Ce(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,ve.apply(this,arguments)}S(Qr,ve,{handler:function(De){var He=Ls[De.type];1&He&&0===De.button&&(this.pressed=!0),2&He&&1!==De.which&&(He=4),this.pressed&&(4&He&&(this.pressed=!1),this.callback(this.manager,He,{pointers:[De],changedPointers:[De],pointerType:Xe,srcEvent:De}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ge,3:"pen",4:Xe,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,ve.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),S(Jt,ve,{handler:function(De){var He=this.store,bt=!1,Gt=De.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[De.pointerType]||De.pointerType,Vr=li==Ge,es=E(He,De.pointerId,"pointerId");1&Yt&&(0===De.button||Vr)?es<0&&(He.push(De),es=He.length-1):12&Yt&&(bt=!0),!(es<0)&&(He[es]=De,this.callback(this.manager,Yt,{pointers:He,changedPointers:[De],pointerType:li,srcEvent:De}),bt&&He.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,ve.apply(this,arguments)}function ge(ye,De){var He=$(ye.touches),bt=$(ye.changedTouches);return 12&De&&(He=Z(He.concat(bt),"identifier",!0)),[He,bt]}S(ht,ve,{handler:function(De){var He=tl[De.type];if(1===He&&(this.started=!0),this.started){var bt=ge.call(this,De,He);12&He&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,He,{pointers:bt[0],changedPointers:bt[1],pointerType:Ge,srcEvent:De})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Le="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Le,this.targetIds={},ve.apply(this,arguments)}function Ze(ye,De){var He=$(ye.touches),bt=this.targetIds;if(3&De&&1===He.length)return bt[He[0].identifier]=!0,[He,He];var Gt,Yt,li=$(ye.changedTouches),Vr=[],es=this.target;if(Yt=He.filter(function(xs){return D(xs.target,es)}),1===De)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(ye){for(var De=ye.srcEvent.clientX,He=ye.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(ye){return!!this.simultaneous[ye.id]},emit:function(ye){var De=this,He=this.state;function bt(Gt){De.manager.emit(Gt,ye)}He<8&&bt(De.options.event+We(He)),bt(De.options.event),ye.additionalEvent&&bt(ye.additionalEvent),He>=8&&bt(De.options.event+We(He))},tryEmit:function(ye){if(this.canEmit())return this.emit(ye);this.state=32},canEmit:function(){for(var ye=0;yeDe.threshold&&Gt&De.direction},attrTest:function(ye){return yn.prototype.attrTest.call(this,ye)&&(2&this.state||!(2&this.state)&&this.directionTest(ye))},emit:function(ye){this.pX=ye.deltaX,this.pY=ye.deltaY;var De=Wt(ye.direction);De&&(ye.additionalEvent=this.options.event+De),this._super.emit.call(this,ye)}}),S(Jr,yn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.scale-1)>this.options.threshold||2&this.state)},emit:function(ye){1!==ye.scale&&(ye.additionalEvent=this.options.event+(ye.scale<1?"in":"out")),this._super.emit.call(this,ye)}}),S(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distanceDe.time;if(this._input=ye,!bt||!He||12&ye.eventType&&!Gt)this.reset();else if(1&ye.eventType)this.reset(),this._timer=z(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&ye.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(ye){8===this.state&&(ye&&4&ye.eventType?this.manager.emit(this.options.event+"up",ye):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Ll,yn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.rotation)>this.options.threshold||2&this.state)}}),S(po,yn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(ye){var He,De=this.options.direction;return 30&De?He=ye.overallVelocity:6&De?He=ye.overallVelocityX:24&De&&(He=ye.overallVelocityY),this._super.attrTest.call(this,ye)&&De&ye.offsetDirection&&ye.distance>this.options.threshold&&ye.maxPointers==this.options.pointers&&P(He)>this.options.velocity&&4&ye.eventType},emit:function(ye){var De=Wt(ye.offsetDirection);De&&this.manager.emit(this.options.event+De,ye),this.manager.emit(this.options.event,ye)}}),S(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Le.source),Ze=/^\s+/,At=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,_n=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",xt="A-Z\\xc0-\\xd6\\xd8-\\xde",yn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+fe+"]",Ll="["+Ss+"]",po="["+J+"]",jr="\\d+",js="["+we+"]",xc="["+Fe+"]",wn="[^"+fe+Ss+jr+we+Fe+xt+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+fe+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",ye="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+xt+"]",bt="(?:"+xc+"|"+wn+")",Gt="(?:"+De+"|"+wn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+yn+"]?",M1=es+Vr+"(?:\\u200d(?:"+[Ca,wd,ye].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,ye].join("|")+")"+M1,ir="(?:"+[Ca+po+"?",po,wd,ye,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),t_=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+ir+M1,"g"),av=RegExp([De+"?"+xc+"+"+Yt+"(?="+[Ll,De,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,De+bt,"$"].join("|")+")",De+"?"+bt+"+"+Yt,De+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),D1=RegExp("[\\u200d"+fe+J+yn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],I1=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[Xe]=ln[tt]=ln[Qe]=ln[Ue]=ln[St]=ln[ke]=ln[Me]=ln[Ve]=ln[Ne]=ln[q]=ln[pe]=ln[_t]=ln[pt]=ln[ve]=ln[B]=!1;var ur={};ur[Xe]=ur[tt]=ur[Qe]=ur[St]=ur[Ue]=ur[ke]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Ne]=ur[q]=ur[pe]=ur[_t]=ur[pt]=ur[ve]=ur[L]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Me]=ur[Ve]=ur[B]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},O1=parseFloat,dv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,zi=Rt||Vs||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,Oo=Aa&&Aa.exports===Vl,n_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||n_&&n_.binding&&n_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,fr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(at,It,Et){switch(Et.length){case 0:return at.call(It);case 1:return at.call(It,Et[0]);case 2:return at.call(It,Et[0],Et[1]);case 3:return at.call(It,Et[0],Et[1],Et[2])}return at.apply(It,Et)}function Ur(at,It,Et,un){for(var Dn=-1,ji=null==at?0:at.length;++Dn-1}function Oh(at,It,Et){for(var un=-1,Dn=null==at?0:at.length;++un-1;);return Et}function F1(at,It){for(var Et=at.length;Et--&&nl(It,at[Et],0)>-1;);return Et}function u2(at,It){for(var Et=at.length,un=0;Et--;)at[Et]===It&&++un;return un}var d2=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),h2=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function f2(at){return"\\"+on[at]}function Ph(at){return D1.test(at)}function fv(at){var It=-1,Et=Array(at.size);return at.forEach(function(un,Dn){Et[++It]=[Dn,un]}),Et}function k1(at,It){return function(Et){return at(It(Et))}}function yu(at,It){for(var Et=-1,un=at.length,Dn=0,ji=[];++Et",""":'"',"'":"'"}),kh=function at(It){var d,Et=(It=null==It?zi:kh.defaults(zi.Object(),It,kh.pick(zi,Ih))).Array,un=It.Date,Dn=It.Error,ji=It.Function,ts=It.Math,Qi=It.Object,c_=It.RegExp,u_=It.String,Da=It.TypeError,pr=Et.prototype,bu=Qi.prototype,gp=It["__core-js_shared__"],xr=ji.prototype.toString,Zi=bu.hasOwnProperty,b2=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,j1=xr.call(Qi),d_=zi._,Md=c_("^"+xr.call(Zi).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,mv=zs?zs.allocUnsafe:ee,Ia=k1(Qi.getPrototypeOf,Qi),h_=Qi.create,mp=bu.propertyIsEnumerable,Bn=pr.splice,V1=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Qi,"defineProperty");return d({},"",{}),d}catch(f){}}(),_v=It.clearTimeout!==zi.clearTimeout&&It.clearTimeout,U1=un&&un.now!==zi.Date.now&&un.now,z1=It.setTimeout!==zi.setTimeout&&It.setTimeout,jt=ts.ceil,Ei=ts.floor,Cr=Qi.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,f_=It.isFinite,jh=pr.join,rl=k1(Qi.keys,Qi),Hr=ts.max,ms=ts.min,v2=un.now,H1=It.parseInt,Vh=ts.random,yp=pr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Qi,"create"),zh=No&&new No,Id={},G1=Ru(As),p_=Ru(_o),g_=Ru(bp),yv=Ru(Oa),m_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function Ee(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Zi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(h_)return h_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),F=!_&&pl(d),ae=!_&&!F&&gl(d),Te=!_&&!F&&!ae&&cf(d),ze=_||F||ae||Te,qe=ze?Td(d.length,u_):[],ct=qe.length;for(var kt in d)(f||Zi.call(d,kt))&&(!ze||!("length"==kt||ae&&("offset"==kt||"parent"==kt)||Te&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,ct)))&&qe.push(kt);return qe}function v_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function Ev(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function w_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var F=d[f];(!Zi.call(d,f)||!In(F,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,F){return Ic(d,function(ae,Te,ze){f(F,ae,_(ae),ze)}),F}function eA(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function E_(d,f){for(var _=-1,F=f.length,ae=Et(F),Te=null==d;++_=f?d:f)),d}function Hs(d,f,_,F,ae,Te){var ze,qe=1&f,ct=2&f,kt=4&f;if(_&&(ze=ae?_(d,F,ae,Te):_(d)),ze!==ee)return ze;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(ze=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Zi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!qe)return eo(d,ze)}else{var zt=$s(d),en=zt==Ve||zt==$e;if(gl(d))return Np(d,qe);if(zt==pe||zt==Xe||en&&!ae){if(ze=ct||en?{}:$v(d),!qe)return ct?function(d,f){return Fa(d,zv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(ze,d)):function(d,f){return Fa(d,B_(d),f)}(d,eA(ze,d))}else{if(!ur[zt])return ae?d:{};ze=function(d,f,_){var F=d.constructor;switch(f){case Qe:return Mu(d);case Ue:case ke:return new F(+d);case St:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return N_(d,_);case Ne:return new F;case q:case ve:return new F(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case pt:return new F;case L:return function(d){return Od?Qi(Od.call(d)):{}}(d)}}(d,zt,qe)}}Te||(Te=new Na);var bn=Te.get(d);if(bn)return bn;Te.set(d,ze),vT(d)?d.forEach(function(jn){ze.add(Hs(jn,f,_,jn,d,Te))}):mT(d)&&d.forEach(function(jn,mi){ze.set(mi,Hs(jn,f,_,mi,d,Te))});var gi=Lt?ee:(kt?ct?k_:Yl:ct?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(ze,mi,Hs(jn,f,_,mi,d,Te))}),ze}function Ap(d,f,_){var F=_.length;if(null==d)return!F;for(d=Qi(d);F--;){var ae=_[F],ze=d[ae];if(ze===ee&&!(ae in d)||!(0,f[ae])(ze))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(Se);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,F){var ae=-1,Te=Ul,ze=!0,qe=d.length,ct=[],kt=f.length;if(!qe)return ct;_&&(f=Xi(f,Jo(_))),F?(Te=Oh,ze=!1):f.length>=200&&(Te=Nh,ze=!1,f=new Ra(f));e:for(;++ae-1},Hl.prototype.set=function(d,f){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,f])):_[F][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),F=_.size;return _.set(d,f),this.size+=_.size==F?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,W),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var F=_.__data__;if(!_o||F.length<199)return F.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(F)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),x_=ul(Tp,!0);function xv(d,f){var _=!0;return Ic(d,function(F,ae,Te){return _=!!f(F,ae,Te)}),_}function Yh(d,f,_){for(var F=-1,ae=d.length;++F0&&_(qe)?f>1?Ts(qe,f-1,_,F,ae):zr(ae,qe):F||(ae[ae.length]=qe)}return ae}var Pd=Nv(),Fd=Nv(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,F=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Zi.call(d,f)}function Ld(d,f){return null!=d&&f in Qi(d)}function Su(d,f,_){for(var F=_?Oh:Ul,ae=d[0].length,Te=d.length,ze=Te,qe=Et(Te),ct=1/0,kt=[];ze--;){var Lt=d[ze];ze&&f&&(Lt=Xi(Lt,Jo(f))),ct=ms(Lt.length,ct),qe[ze]=!_&&(f||ae>=120&&Lt.length>=120)?new Ra(ze&&Lt):ee}Lt=d[0];var zt=-1,en=qe[0];e:for(;++zt=qe?ct:ct*("desc"==_[F]?-1:1)}return d.index-f.index}(Te,ze,_)});Et--;)at[Et]=at[Et].value;return at}(sA(d,function(Te,ze,qe){return{criteria:Xi(f,function(kt){return kt(Te)}),index:++F,value:Te}}))}function Dv(d,f,_){for(var F=-1,ae=f.length,Te={};++F-1;)qe!==d&&Bn.call(qe,ct,1),Bn.call(d,ct,1);return d}function Qh(d,f){for(var _=d?f.length:0,F=_-1;_--;){var ae=f[_];if(_==F||ae!==Te){var Te=ae;Bo(ae)?Bn.call(d,ae,1):Cu(d,ae)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ce)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(wA(d,f,io),d+"")}function aA(d){return v_(th(d))}function D2(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,F){if(!Tr(d))return d;for(var ae=-1,Te=(f=Pc(f,d)).length,ze=Te-1,qe=d;null!=qe&&++aeae?0:ae+f),(_=_>ae?ae:_)<0&&(_+=ae),ae=f>_?0:_-f>>>0,f>>>=0;for(var Te=Et(ae);++F>>1,ze=d[Te];null!==ze&&!ca(ze)&&(_?ze<=f:ze=200){var kt=f?null:F_(d);if(kt)return o_(kt);ze=!1,ae=Nh,ct=new Ra}else ct=f?[]:qe;e:for(;++F=F?d:Ds(d,f,_)}var uA=_v||function(d){return zi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,F=mv?mv(_):new d.constructor(_);return d.copy(F),F}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function N_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,F=null===d,ae=d==d,Te=ca(d),ze=f!==ee,qe=null===f,ct=f==f,kt=ca(f);if(!qe&&!kt&&!Te&&d>f||Te&&ze&&ct&&!qe&&!kt||F&&ze&&ct||!_&&ct||!ae)return 1;if(!F&&!Te&&!kt&&d1?_[ae-1]:ee,ze=ae>2?_[2]:ee;for(Te=d.length>3&&"function"==typeof Te?(ae--,Te):ee,ze&&Ws(_[0],_[1],ze)&&(Te=ae<3?ee:Te,ae=1),f=Qi(f);++F-1?ae[Te?f[ze]:ze]:ee}}function Iu(d){return dl(function(f){var _=f.length,F=_,ae=Po.prototype.thru;for(d&&f.reverse();F--;){var Te=f[F];if("function"!=typeof Te)throw new Da(Se);if(ae&&!ze&&"wrapper"==Vp(Te))var ze=new Po([],!0)}for(F=ze?F:_;++F<_;){var qe=Vp(Te=f[F]),ct="wrapper"==qe?L_(Te):ee;ze=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?ze[Vp(ct[0])].apply(ze,ct[3]):1==Te.length&&Up(Te)?ze[qe]():ze.thru(Te)}return function(){var kt=arguments,Lt=kt[0];if(ze&&1==kt.length&&Rn(Lt))return ze.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,F,ae,Te,ze,qe,ct,kt){var Lt=f&K,zt=1&f,en=2&f,bn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=Et(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(bn)var qs=$d(jn),ua=u2(Mi,qs);if(F&&(Mi=Ud(Mi,F,ae,bn)),Te&&(Mi=Rv(Mi,Te,ze,bn)),mi-=ua,bn&&mi1&&Mi.reverse(),Lt&&ctqe))return!1;var kt=Te.get(d),Lt=Te.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,bn=2&_?new Ra:ee;for(Te.set(d,f),Te.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[F],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(F,function(d,f){return Us(st,function(_){var F="_."+_[0];f&_[1]&&!Ul(d,F)&&d.push(F)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(F),_)))}function G_(d){var f=0,_=0;return function(){var F=v2(),ae=16-(F-_);if(_=F,ae>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,F=d.length,ae=F-1;for(f=f===ee?F:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,WA(d,_)});function ey(d){var f=Ee(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var ty=dl(function(d){var f=d.length,_=f?d[0]:0,F=this.__wrapped__,ae=function(Te){return E_(Te,d)};return!(f>1||this.__actions__.length)&&F instanceof fi&&Bo(_)?((F=F.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[ae],thisArg:ee}),new Po(F,this.__chain__).thru(function(Te){return f&&!Te.length&&Te.push(ee),Te})):this.thru(ae)}),KA=ns(function(d,f,_){Zi.call(d,_)?++d[_]:al(d,_,1)}),ZA=Fv(W_),JA=Fv(q_);function sy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:x_)(d,Fn(f,3))}var tT=ns(function(d,f,_){Zi.call(d,_)?d[_].push(f):al(d,_,[f])}),fw=pi(function(d,f,_){var F=-1,ae="function"==typeof f,Te=bo(d)?Et(d.length):[];return Ic(d,function(ze){Te[++F]=ae?ls(f,ze,_):Pa(ze,f,_)}),Te}),pw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Xi:sA)(d,Fn(f,3))}var mw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=U1||function(){return zi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,K,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function ay(d,f){var _;if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var F=1;if(_.length){var ae=yu(_,$d(af));F|=V}return ql(d,F,f,_,ae)}),Xd=pi(function(d,f,_){var F=3;if(_.length){var ae=yu(_,$d(Xd));F|=V}return ql(f,F,d,_,ae)});function Sw(d,f,_){var F,ae,Te,ze,qe,ct,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(Se);function bn($i){var yl=F,Uc=ae;return F=ae=ee,kt=$i,ze=d.apply(Uc,yl)}function Ln($i){return kt=$i,qe=ef(mi,f),Lt?bn($i):ze}function jn($i){var yl=$i-ct;return ct===ee||yl>=f||yl<0||zt&&$i-kt>=Te}function mi(){var $i=Nu();if(jn($i))return Mi($i);qe=ef(mi,function($i){var uM=f-($i-ct);return zt?ms(uM,Te-($i-kt)):uM}($i))}function Mi($i){return qe=ee,en&&F?bn($i):(F=ae=ee,ze)}function ua(){var $i=Nu(),yl=jn($i);if(F=arguments,ae=this,ct=$i,yl){if(qe===ee)return Ln(ct);if(zt)return uA(qe),qe=ef(mi,f),bn(ct)}return qe===ee&&(qe=ef(mi,f)),ze}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Te=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Te,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){qe!==ee&&uA(qe),kt=0,F=ct=ae=qe=ee},ua.flush=function(){return qe===ee?ze:Mi(Nu())},ua}var sT=pi(function(d,f){return qh(d,1,f)}),xw=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(Se);var _=function(){var F=arguments,ae=f?f.apply(this,F):F[0],Te=_.cache;if(Te.has(ae))return Te.get(ae);var ze=d.apply(this,F);return _.cache=Te.set(ae,ze)||Te,ze};return _.cache=new(lf.Cache||sl),_}function uy(d){if("function"!=typeof d)throw new Da(Se);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var oT=cA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Xi(f[0],Jo(Fn())):Xi(Ts(f,1),Jo(Fn()))).length;return pi(function(F){for(var ae=-1,Te=ms(F.length,_);++ae=f}),pl=tA(function(){return arguments}())?tA:function(d){return Mr(d)&&Zi.call(d,"callee")&&!mp.call(d,"callee")},Rn=Et.isArray,Iw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==Qe};function bo(d){return null!=d&&hy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Fy,Ow=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==ke};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Me||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ve||f==$e||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function hy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ce}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var mT=fr?Jo(fr):function(d){return Mr(d)&&$s(d)==Ne};function bT(d){return"number"==typeof d||Mr(d)&&Ms(d)==q}function Jp(d){if(!Mr(d)||Ms(d)!=pe)return!1;var f=Ia(d);if(null===f)return!0;var _=Zi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==j1}var Fw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},vT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==pt};function py(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==ve}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==L}var cf=as?Jo(as):function(d){return Mr(d)&&hy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Mv),gy=Lp(function(d,f){return d<=f});function kw(d){if(!d)return[];if(bo(d))return py(d)?il(d):eo(d);if(Bh&&d[Bh])return function(at){for(var It,Et=[];!(It=at.next()).done;)Et.push(It.value);return Et}(d[Bh]());var f=$s(d);return(f==Ne?fv:f==pt?o_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function my(d){return d?Eu(Jn(d),0,_e):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=hv(d);var _=lr.test(d);return _||Xn.test(d)?dv(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Lw(d){return Fa(d,no(d))}function Gi(d){return null==d?"":Lo(d)}var wT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Zi.call(f,_)&&ol(d,_,f[_])}),ET=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,F){Fa(f,no(f),d,F)}),ST=$l(function(d,f,_,F){Fa(f,Os(f),d,F)}),Bw=dl(E_),CT=pi(function(d,f){d=Qi(d);var _=-1,F=f.length,ae=F>2?f[2]:ee;for(ae&&Ws(f[0],f[1],ae)&&(F=1);++_1),Te}),Fa(d,k_(d),_),F&&(_=Hs(_,7,Bp));for(var ae=f.length;ae--;)Cu(_,f[ae]);return _}),IT=dl(function(d,f){return null==d?{}:function(d,f){return Dv(d,f,function(_,F){return eg(d,F)})}(d,f)});function $w(d,f){if(null==d)return{};var _=Xi(k_(d),function(F){return[F]});return f=Fn(f),Dv(d,_,function(F,ae){return f(F,ae[0])})}var OT=Ou(Os),qw=Ou(no);function th(d){return null==d?[]:s_(d,Os(d))}var kT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?vy(f):f)});function vy(d){return ig(Gi(d).toLowerCase())}function wy(d){return(d=Gi(d))&&d.replace(xa,d2).replace(t_,"")}var BT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),jT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),X2=Pp("toLowerCase"),GT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),xy=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Jw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function My(d,f,_){return d=Gi(d),(f=_?ee:f)===ee?function(at){return jl.test(at)}(d)?function(at){return at.match(av)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(f)||[]}var Dy=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),eE=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function Iy(d){return function(){return d}}var Z2=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return rA("function"==typeof d?d:Hs(d,1))}var Oy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),tE=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Ry(d,f,_){var F=Os(f),ae=Kh(f,F);null==_&&(!Tr(f)||!ae.length&&F.length)&&(_=f,f=d,d=this,ae=Kh(f,Os(f)));var Te=!(Tr(_)&&"chain"in _&&!_.chain),ze=la(d);return Us(ae,function(qe){var ct=f[qe];d[qe]=ct,ze&&(d.prototype[qe]=function(){var kt=this.__chain__;if(Te||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return ct.apply(d,zr([this.value()],arguments))})}),d}function Ny(){}var ZT=Fp(Xi),JT=Fp(ti),iE=Fp(Ro);function ku(d){return ra(d)?i_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var eM=Lv(),tM=Lv(!0);function Vc(){return[]}function Fy(){return!1}var Wn=P_(function(d,f){return d+f},0),ky=Gd("ceil"),ek=P_(function(d,f){return d/f},1),Ql=Gd("floor"),aE=P_(function(d,f){return d*f},1),lE=Gd("round"),cE=P_(function(d,f){return d-f},0);return Ee.after=function(d,f){if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},Ee.ary=Kp,Ee.assign=wT,Ee.assignIn=ET,Ee.assignInWith=Qd,Ee.assignWith=ST,Ee.at=Bw,Ee.before=ay,Ee.bind=af,Ee.bindAll=eE,Ee.bindKey=Xd,Ee.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},Ee.chain=ey,Ee.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var F=null==d?0:d.length;if(!F||f<1)return[];for(var ae=0,Te=0,ze=Et(jt(F/f));aeae?0:ae+_),(F=F===ee||F>ae?ae:Jn(F))<0&&(F+=ae),F=_>F?0:my(F);_>>0)?(d=Gi(d))&&("string"==typeof f||null!=f&&!Fw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},Ee.spread=function(d,f){if("function"!=typeof d)throw new Da(Se);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var F=_[f],ae=cl(_,0,f);return F&&zr(ae,F),ls(d,this,ae)})},Ee.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},Ee.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},Ee.takeRight=function(d,f,_){var F=null==d?0:d.length;return F?Ds(d,(f=F-(f=_||f===ee?1:Jn(f)))<0?0:f,F):[]},Ee.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},Ee.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},Ee.tap=function(d,f){return f(d),d},Ee.throttle=function(d,f,_){var F=!0,ae=!0;if("function"!=typeof d)throw new Da(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,ae="trailing"in _?!!_.trailing:ae),Sw(d,f,{leading:F,maxWait:f,trailing:ae})},Ee.thru=Yd,Ee.toArray=kw,Ee.toPairs=OT,Ee.toPairsIn=qw,Ee.toPath=function(d){return Rn(d)?Xi(d,ni):ca(d)?[d]:eo(Kv(Gi(d)))},Ee.toPlainObject=Lw,Ee.transform=function(d,f,_){var F=Rn(d),ae=F||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Te=d&&d.constructor;_=ae?F?new Te:[]:Tr(d)&&la(Te)?wu(Ia(d)):{}}return(ae?Us:ll)(d,function(ze,qe,ct){return f(_,ze,qe,ct)}),_},Ee.unary=function(d){return Kp(d,1)},Ee.union=sw,Ee.unionBy=HA,Ee.unionWith=GA,Ee.uniq=function(d){return d&&d.length?Rc(d):[]},Ee.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},Ee.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},Ee.unset=function(d,f){return null==d||Cu(d,f)},Ee.unzip=ow,Ee.unzipWith=WA,Ee.update=function(d,f,_){return null==d?d:Op(d,f,R_(_))},Ee.updateWith=function(d,f,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,f,R_(_),F)},Ee.values=th,Ee.valuesIn=function(d){return null==d?[]:s_(d,no(d))},Ee.without=aw,Ee.words=My,Ee.wrap=function(d,f){return Xp(R_(f),d)},Ee.xor=j2,Ee.xorBy=jo,Ee.xorWith=Z_,Ee.zip=J_,Ee.zipObject=function(d,f){return Rp(d||[],f||[],ol)},Ee.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},Ee.zipWith=of,Ee.entries=OT,Ee.entriesIn=qw,Ee.extend=ET,Ee.extendWith=Qd,Ry(Ee,Ee),Ee.add=Wn,Ee.attempt=Dy,Ee.camelCase=kT,Ee.capitalize=vy,Ee.ceil=ky,Ee.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},Ee.clone=function(d){return Hs(d,4)},Ee.cloneDeep=function(d){return Hs(d,5)},Ee.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},Ee.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},Ee.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},Ee.deburr=wy,Ee.defaultTo=function(d,f){return null==d||d!=d?f:d},Ee.divide=ek,Ee.endsWith=function(d,f,_){d=Gi(d),f=Lo(f);var F=d.length,ae=_=_===ee?F:Eu(Jn(_),0,F);return(_-=f.length)>=0&&d.slice(_,ae)==f},Ee.eq=In,Ee.escape=function(d){return(d=Gi(d))&&Jt.test(d)?d.replace(Sa,h2):d},Ee.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Le,"\\$&"):d},Ee.every=function(d,f,_){var F=Rn(d)?ti:xv;return _&&Ws(d,f,_)&&(f=ee),F(d,Fn(f,3))},Ee.find=ZA,Ee.findIndex=W_,Ee.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},Ee.findLast=JA,Ee.findLastIndex=q_,Ee.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},Ee.floor=Ql,Ee.forEach=sy,Ee.forEachRight=Wp,Ee.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},Ee.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},Ee.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},Ee.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},Ee.get=hf,Ee.gt=Zt,Ee.gte=Dw,Ee.has=function(d,f){return null!=d&&Gv(d,f,kd)},Ee.hasIn=eg,Ee.head=Qv,Ee.identity=io,Ee.includes=function(d,f,_,F){d=bo(d)?d:th(d),_=_&&!F?Jn(_):0;var ae=d.length;return _<0&&(_=Hr(ae+_,0)),py(d)?_<=ae&&d.indexOf(f,_)>-1:!!ae&&nl(d,f,_)>-1},Ee.indexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=null==_?0:Jn(_);return ae<0&&(ae=Hr(F+ae,0)),nl(d,f,ae)},Ee.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ce&&d<=Ce},Ee.isSet=vT,Ee.isString=py,Ee.isSymbol=ca,Ee.isTypedArray=cf,Ee.isUndefined=function(d){return d===ee},Ee.isWeakMap=function(d){return Mr(d)&&$s(d)==B},Ee.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},Ee.join=function(d,f){return null==d?"":jh.call(d,f)},Ee.kebabCase=BT,Ee.last=sa,Ee.lastIndexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=F;return _!==ee&&(ae=(ae=Jn(_))<0?Hr(F+ae,0):ms(ae,F-1)),f==f?function(at,It,Et){for(var un=Et+1;un--;)if(at[un]===It)return un;return un}(d,f,ae):Cd(d,Ac,ae,!0)},Ee.lowerCase=jT,Ee.lowerFirst=X2,Ee.lt=Bc,Ee.lte=gy,Ee.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},Ee.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},Ee.mean=function(d){return Cs(d,io)},Ee.meanBy=function(d,f){return Cs(d,Fn(f,2))},Ee.min=function(d){return d&&d.length?Yh(d,io,Mv):ee},Ee.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Mv):ee},Ee.stubArray=Vc,Ee.stubFalse=Fy,Ee.stubObject=function(){return{}},Ee.stubString=function(){return""},Ee.stubTrue=function(){return!0},Ee.multiply=aE,Ee.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},Ee.noConflict=function(){return zi._===this&&(zi._=d_),this},Ee.noop=Ny,Ee.now=Nu,Ee.pad=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;if(!f||F>=f)return d;var ae=(f-F)/2;return kp(Ei(ae),_)+d+kp(jt(ae),_)},Ee.padEnd=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;return f&&Ff){var F=d;d=f,f=F}if(_||d%1||f%1){var ae=Vh();return ms(d+ae*(f-d+O1("1e-"+((ae+"").length-1))),f)}return Gl(d,f)},Ee.reduce=function(d,f,_){var F=Rn(d)?_u:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,Ic)},Ee.reduceRight=function(d,f,_){var F=Rn(d)?xd:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,x_)},Ee.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(Gi(d),f)},Ee.replace=function(){var d=arguments,f=Gi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},Ee.result=function(d,f,_){var F=-1,ae=(f=Pc(f,d)).length;for(ae||(ae=1,d=ee);++FCe)return[];var _=_e,F=ms(d,_e);f=Fn(f),d-=_e;for(var ae=Td(F,f);++_=Te)return d;var qe=_-Fh(F);if(qe<1)return F;var ct=ze?cl(ze,0,qe).join(""):d.slice(0,qe);if(ae===ee)return ct+F;if(ze&&(qe+=ct.length-qe),Fw(ae)){if(d.slice(qe).search(ae)){var kt,Lt=ct;for(ae.global||(ae=c_(ae.source,Gi($n.exec(ae))+"g")),ae.lastIndex=0;kt=ae.exec(Lt);)var zt=kt.index;ct=ct.slice(0,zt===ee?qe:zt)}}else if(d.indexOf(Lo(ae),qe)!=qe){var en=ct.lastIndexOf(ae);en>-1&&(ct=ct.slice(0,en))}return ct+F},Ee.unescape=function(d){return(d=Gi(d))&&Es.test(d)?d.replace(kl,l_):d},Ee.uniqueId=function(d){var f=++b2;return Gi(d)+f},Ee.upperCase=Jw,Ee.upperFirst=ig,Ee.each=sy,Ee.eachRight=Wp,Ee.first=Qv,Ry(Ee,function(){var d={};return ll(Ee,function(f,_){Zi.call(Ee.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),Ee.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ee[d].placeholder=Ee}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var F=this.__filtered__&&!f?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ms(_,F.__takeCount__):F.__views__.push({size:ms(_,_e),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,F=1==_||3==_;fi.prototype[d]=function(ae){var Te=this.clone();return Te.__iteratees__.push({iteratee:Fn(ae,3),type:_}),Te.__filtered__=Te.__filtered__||F,Te}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(uy(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(_e)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),F=/^(?:head|last)$/.test(f),ae=Ee[F?"take"+("last"==f?"Right":""):f],Te=F||/^find/.test(f);!ae||(Ee.prototype[f]=function(){var ze=this.__wrapped__,qe=F?[1]:arguments,ct=ze instanceof fi,kt=qe[0],Lt=ct||Rn(ze),zt=function(mi){var Mi=ae.apply(Ee,zr([mi],qe));return F&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(ct=Lt=!1);var en=this.__chain__,bn=!!this.__actions__.length,Ln=Te&&!en,gi=ct&&!bn;if(!Te&&Lt){ze=gi?ze:new fi(this);var jn=d.apply(ze,qe);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,qe):(jn=this.thru(zt),Ln?F?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=pr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);Ee.prototype[d]=function(){var ae=arguments;if(F&&!this.__chain__){var Te=this.value();return f.apply(Rn(Te)?Te:[],ae)}return this[_](function(ze){return f.apply(Rn(ze)?ze:[],ae)})}}),ll(fi.prototype,function(d,f){var _=Ee[f];if(_){var F=_.name+"";Zi.call(Id,F)||(Id[F]=[]),Id[F].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),F=f<0,ae=_?d.length:0,Te=function(d,f,_){for(var F=-1,ae=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ee.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var F=nf(_);F.__index__=0,F.__values__=ee,f?ae.__wrapped__=F:f=F;var ae=F;_=_.__wrapped__}return ae.__wrapped__=d,f},Ee.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[Q_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(Q_)},Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=function(){return lA(this.__wrapped__,this.__actions__)},Ee.prototype.first=Ee.prototype.head,Bh&&(Ee.prototype[Bh]=function(){return this}),Ee}();zi._=kh,(yt=function(){return kh}.call(it,Je,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,P=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},z=function(lt){return Q[lt]};var x=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function O(rt){return rt.replace(x,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var A=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var V={},R=/^[^:]+:\/*[^/]*$/,K=/^([^:]+:)[\s\S]*$/,ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(rt,lt){V[" "+rt]||(V[" "+rt]=R.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=V[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(K,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ce,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var be=0;be1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Ce=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Le,ut,Ze){for(var At=!1,Mt=ut;--Mt>=0&&"\\"===Ze[Mt];)At=!At;return At?"|":" |"}).split(/ \|/),be=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:be[0]}:{raw:"\n"}},lt.code=function(ge){var be=this.rules.block.code.exec(ge);if(be){var Le=be[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:be[0],codeBlockStyle:"indented",text:this.options.pedantic?Le:me(Le,"\n")}}},lt.fences=function(ge){var be=this.rules.block.fences.exec(ge);if(be){var Le=be[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(be){var Le=be.match(/^\s+/);return null===Le?be:Le[0].length>=ge.length?be.slice(ge.length):be}).join("\n")}(Le,be[3]||"");return{type:"code",raw:Le,lang:be[2]?be[2].trim():be[2],text:ut}}},lt.heading=function(ge){var be=this.rules.block.heading.exec(ge);if(be){var Le=be[2].trim();if(/#$/.test(Le)){var ut=me(Le,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Le=ut.trim())}return{type:"heading",raw:be[0],depth:be[1].length,text:Le}}},lt.nptable=function(ge){var be=this.rules.block.nptable.exec(ge);if(be){var Le={type:"table",header:ne(be[1].replace(/^ *| *\| *$/g,"")),align:be[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:be[3]?be[3].replace(/\n$/,"").split("\n"):[],raw:be[0]};if(Le.header.length===Le.align.length){var Ze,ut=Le.align.length;for(Ze=0;Ze ?/gm,"");return{type:"blockquote",raw:be[0],text:Le}}},lt.list=function(ge){var be=this.rules.block.list.exec(ge);if(be){var Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Le=be[0],ut=be[2],Ze=ut.length>1,At={type:"list",raw:Le,ordered:Ze,start:Ze?+ut.slice(0,-1):"",loose:!1,items:[]},Mt=be[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var qi=0;qiai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice(qi,2,Mt[qi]+(!this.options.pedantic&&Nn[1].length/i.test(ut[0])&&(be=!1),!Le&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Le=!0:Le&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Le=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:be,inRawBlock:Le,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]}},lt.link=function(ge){var be=this.rules.inline.link.exec(ge);if(be){var Le=be[2].trim();if(!this.options.pedantic&&/^$/.test(Le))return;var ut=me(Le.slice(0,-1),"\\");if((Le.length-ut.length)%2==0)return}else{var Ze=Ie(be[2],"()");if(Ze>-1){var Mt=(0===be[0].indexOf("!")?5:4)+be[1].length+Ze;be[2]=be[2].substring(0,Ze),be[0]=be[0].substring(0,Mt).trim(),be[3]=""}}var Dt=be[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=be[3]?be[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test(Le)?Dt.slice(1):Dt.slice(1,-1)),Ge(be,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},be[0])}},lt.reflink=function(ge,be){var Le;if((Le=this.rules.inline.reflink.exec(ge))||(Le=this.rules.inline.nolink.exec(ge))){var ut=(Le[2]||Le[1]).replace(/\s+/g," ");if(!(ut=be[ut.toLowerCase()])||!ut.href){var Ze=Le[0].charAt(0);return{type:"text",raw:Ze,text:Ze}}return Ge(Le,ut,Le[0])}},lt.emStrong=function(ge,be,Le){void 0===Le&&(Le="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Le.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Ze=ut[1]||ut[2]||"";if(!Ze||Ze&&(""===Le||this.rules.inline.punctuation.exec(Le))){var Mt,Dt,At=ut[0].length-1,Xt=At,zn=0,ai="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,be=be.slice(-1*ge.length+At);null!=(ut=ai.exec(be));)if(Mt=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Dt=Mt.length,ut[3]||ut[4]){Xt+=Dt;continue}if((ut[5]||ut[6])&&At%3&&!((At+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(At,Dt)%2?{type:"em",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(1,At+ut.index+Dt)}:{type:"strong",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(2,At+ut.index+Dt-1)}}}}},lt.codespan=function(ge){var be=this.rules.inline.code.exec(ge);if(be){var Le=be[2].replace(/\n/g," "),ut=/[^ ]/.test(Le),Ze=/^ /.test(Le)&&/ $/.test(Le);return ut&&Ze&&(Le=Le.substring(1,Le.length-1)),Le=_e(Le,!0),{type:"codespan",raw:be[0],text:Le}}},lt.br=function(ge){var be=this.rules.inline.br.exec(ge);if(be)return{type:"br",raw:be[0]}},lt.del=function(ge){var be=this.rules.inline.del.exec(ge);if(be)return{type:"del",raw:be[0],text:be[2]}},lt.autolink=function(ge,be){var ut,Ze,Le=this.rules.inline.autolink.exec(ge);if(Le)return Ze="@"===Le[2]?"mailto:"+(ut=_e(this.options.mangle?be(Le[1]):Le[1])):ut=_e(Le[1]),{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,be){var Le;if(Le=this.rules.inline.url.exec(ge)){var ut,Ze;if("@"===Le[2])Ze="mailto:"+(ut=_e(this.options.mangle?be(Le[0]):Le[0]));else{var At;do{At=Le[0],Le[0]=this.rules.inline._backpedal.exec(Le[0])[0]}while(At!==Le[0]);ut=_e(Le[0]),Ze="www."===Le[1]?"http://"+ut:ut}return{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,be,Le){var Ze,ut=this.rules.inline.text.exec(ge);if(ut)return Ze=be?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]:_e(this.options.smartypants?Le(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Ze}},rt}(),tt=te_noopTest,Ye=te_edit,Ue=te_merge,ke={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};ke.def=Ye(ke.def).replace("label",ke._label).replace("title",ke._title).getRegex(),ke.bullet=/(?:[*+-]|\d{1,9}[.)])/,ke.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,ke.item=Ye(ke.item,"gm").replace(/bull/g,ke.bullet).getRegex(),ke.listItemStart=Ye(/^( *)(bull) */).replace("bull",ke.bullet).getRegex(),ke.list=Ye(ke.list).replace(/bull/g,ke.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ke.def.source+")").getRegex(),ke._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ke._comment=/|$)/,ke.html=Ye(ke.html,"i").replace("comment",ke._comment).replace("tag",ke._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ke.paragraph=Ye(ke._paragraph).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.blockquote=Ye(ke.blockquote).replace("paragraph",ke.paragraph).getRegex(),ke.normal=Ue({},ke),ke.gfm=Ue({},ke.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ke.gfm.nptable=Ye(ke.gfm.nptable).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.gfm.table=Ye(ke.gfm.table).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.pedantic=Ue({},ke.normal,{html:Ye("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ke._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Ye(ke.normal._paragraph).replace("hr",ke.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ke.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Ye(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Ye(ke._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Ye(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Ye(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Ye(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Ye(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Ye(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Ye(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Ye(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Ye(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=Ue({},Ke),Ke.pedantic=Ue({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Ye(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=Ue({},Ke.normal,{escape:Ye(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||$e,this.options.tokenizer=this.options.tokenizer||new Ve,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:Ne.normal,inline:q.normal};this.options.pedantic?(ge.block=Ne.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=Ne.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,be){return new rt(be).lex(ge)},rt.lexInline=function(ge,be){return new rt(be).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,be,Le){var Ze,At,Mt,Dt,Xt,zn,ut=this;for(void 0===be&&(be=[]),void 0===Le&&(Le=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(Ze=Nn.call(ut,ge,be))&&(ge=ge.substring(Ze.raw.length),be.push(Ze),!0)}))){if(Ze=this.tokenizer.space(ge)){ge=ge.substring(Ze.raw.length),Ze.type&&be.push(Ze);continue}if(Ze=this.tokenizer.code(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(Ze=this.tokenizer.fences(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.heading(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.nptable(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.hr(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.blockquote(ge)){ge=ge.substring(Ze.raw.length),Ze.tokens=this.blockTokens(Ze.text,[],Le),be.push(Ze);continue}if(Ze=this.tokenizer.list(ge)){for(ge=ge.substring(Ze.raw.length),Mt=Ze.items.length,At=0;At=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=ge.substring(0,Nn+1))}(),Le&&(Ze=this.tokenizer.paragraph(Xt))){Dt=be[be.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze),zn=Xt.length!==ge.length,ge=ge.substring(Ze.raw.length);continue}if(Ze=this.tokenizer.text(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(ge){var ai="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return be},lt.inline=function(ge){var be,Le,ut,Ze,At,Mt,Dt=ge.length;for(be=0;be0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)_n.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(At=Cn.call(Ze,ge,be))&&(ge=ge.substring(At.raw.length),be.push(At),!0)}))){if(At=this.tokenizer.escape(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.tag(ge,Le,ut)){ge=ge.substring(At.raw.length),Le=At.inLink,ut=At.inRawBlock,(Mt=be[be.length-1])&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.link(ge)){ge=ge.substring(At.raw.length),"link"===At.type&&(At.tokens=this.inlineTokens(At.text,[],!0,ut)),be.push(At);continue}if(At=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(At.raw.length),Mt=be[be.length-1],"link"===At.type?(At.tokens=this.inlineTokens(At.text,[],!0,ut),be.push(At)):Mt&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.emStrong(ge,Xt,Nn)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.codespan(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.br(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.del(ge)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.autolink(ge,ue)){ge=ge.substring(At.raw.length),be.push(At);continue}if(!Le&&(At=this.tokenizer.url(ge,ue))){ge=ge.substring(At.raw.length),be.push(At);continue}if(Dt=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,lr=ge.slice(1),cr=void 0;Ze.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Cn=Math.min(Cn,cr))}),Cn<1/0&&Cn>=0&&(Dt=ge.substring(0,Cn+1))}(),At=this.tokenizer.inlineText(Dt,ut,pe)){ge=ge.substring(At.raw.length),"_"!==At.raw.slice(-1)&&(Nn=At.raw.slice(-1)),ai=!0,(Mt=be[be.length-1])&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(ge){var $n="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return be},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:Ne,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,ve=te_escape,L=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,be,Le){var ut=(be||"").match(/\S*/)[0];if(this.options.highlight){var Ze=this.options.highlight(ge,ut);null!=Ze&&Ze!==ge&&(Le=!0,ge=Ze)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Le?ge:ve(ge,!0))+"
    \n":"
    "+(Le?ge:ve(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,be,Le,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,be,Le){var ut=be?"ol":"ul";return"<"+ut+(be&&1!==Le?' start="'+Le+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,be){return be&&(be=""+be+""),"\n\n"+ge+"\n"+be+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,be){var Le=be.header?"th":"td";return(be.align?"<"+Le+' align="'+be.align+'">':"<"+Le+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut='"+Le+""},lt.image=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut=''+Le+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,be,Le){return""+Le},lt.image=function(ge,be,Le){return""+Le},lt.br=function(){return""},rt}(),B=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,be){var Le=ge,ut=0;if(this.seen.hasOwnProperty(Le)){ut=this.seen[ge];do{Le=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Le))}return be||(this.seen[ge]=ut,this.seen[Le]=0),Le},lt.slug=function(ge,be){void 0===be&&(be={});var Le=this.serialize(ge);return this.getNextSafeSlug(Le,be.dryrun)},rt}(),Re=L,Qe=N,St=B,Nt=dt.exports.defaults,On=te_unescape,Yn=je,Ti=function(){function rt(ht){this.options=ht||Nt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qe,this.slugger=new St}rt.parse=function(ge,be){return new rt(be).parse(ge)},rt.parseInline=function(ge,be){return new rt(be).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,be){void 0===be&&(be=!0);var ut,Ze,At,Mt,Dt,Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Xn,qi,xa,Zr,ie,Le="",fe=ge.length;for(ut=0;ut0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,qi);Le+=this.renderer.list(Nn,$n,Cn);continue;case"html":Le+=this.renderer.html(_n.text);continue;case"paragraph":Le+=this.renderer.paragraph(this.parseInline(_n.tokens));continue;case"text":for(Nn=_n.tokens?this.parseInline(_n.tokens):_n.text;ut+1An error occurred:

    "+el(At.message+"",!0)+"
    ";throw At}}return Jt.options=Jt.setOptions=function(rt){return Bs(Jt.defaults,rt),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+el(ge.message+"",!0)+"
    ";throw ge}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(Ut,it,Je)=>{var yt=Je(284),ee=Je(830);function Tt(){this.clear()}Tt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Tt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Tt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Tt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Tt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Tt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.iterator]=Tt.prototype.values),Tt.prototype.toString=function(){return this.toArray().join(",")},Tt.prototype.toJSON=function(){return this.toArray()},Tt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Tt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect),Tt.from=function(dt){var Y=new Tt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Tt.of=function(){return Tt.from(arguments)},Ut.exports=Tt},830:Ut=>{var it="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function yt(ee,Tt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Tt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var Je=arguments,yt=Je.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:Je[ee++]}})},it.empty=function(){var Je=new it(null);return Je.done=!0,Je},it.is=function(Je){return Je instanceof it||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},Ut.exports=it},310:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Tt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var P=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return P||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Tt=yt(Je(602)),dt=yt(Je(344))},151:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(Je(321)),Tt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Tt.self||Tt.window||Tt.global,it.window=Tt.window||Tt.self||Tt.global,it.global=Tt.global||Tt.self||Tt.window,it.document=Tt.document||{},it.process=Tt.process||{};var j=console;it.console=j},761:(Ut,it,Je)=>{"use strict";var ee=Je(948),Tt=Je(321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=Je(151),Se=(j(Je(602)),j(Je(310)));ee(Je(344));function W(P){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,z=new WeakMap;return(W=function(x){return x?z:Q})(P)}function j(P,Q){if(!Q&&P&&P.__esModule)return P;if(null===P||"object"!==Tt(P)&&"function"!=typeof P)return{default:P};var z=W(Q);if(z&&z.has(P))return z.get(P);var v={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var O in P)if("default"!==O&&Object.prototype.hasOwnProperty.call(P,O)){var A=x?Object.getOwnPropertyDescriptor(P,O):null;A&&(A.get||A.set)?Object.defineProperty(v,O,A):v[O]=P[O]}return v.default=P,z&&z.set(P,v),v}},602:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(Je(321)),Tt=yt(Je(344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Tt.default)()}},344:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(Je(321))},991:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(180),it),ee(Je(103),it),ee(Je(965),it),ee(Je(595),it),ee(Je(417),it),ee(Je(451),it),ee(Je(735),it)},180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=Je(180),ee=Je(965),Tt=Je(595),dt=Je(417),Y=Je(451),Se=Je(735);let he=0;it.DataFactory=class{constructor(P){this.blankNodeCounter=0,this.blankNodePrefix=(P=P||{}).blankNodePrefix||`df_${he++}_`}namedNode(P){return new dt.NamedNode(P)}blankNode(P){return new yt.BlankNode(P||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(P,Q){return new Tt.Literal(P,Q)}variable(P){return new Se.Variable(P)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(P,Q,z,v){return new Y.Quad(P,Q,z,v||this.defaultGraph())}fromTerm(P){switch(P.termType){case"NamedNode":return this.namedNode(P.value);case"BlankNode":return this.blankNode(P.value);case"Literal":return P.language?this.literal(P.value,P.language):P.datatype.equals(Tt.Literal.XSD_STRING)?this.literal(P.value):this.literal(P.value,this.fromTerm(P.datatype));case"Variable":return this.variable(P.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(P.subject),this.fromTerm(P.predicate),this.fromTerm(P.object),this.fromTerm(P.graph))}}fromQuad(P){return this.fromTerm(P)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=Je,Je.INSTANCE=new Je},595:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=Je(417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Tt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Tt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,x,O,A){void 0===A&&(A=O),Object.defineProperty(v,A,{enumerable:!0,get:function(){return x[O]}})}:function(v,x,O,A){void 0===A&&(A=O),v[A]=x[O]}),ee=this&&this.__exportStar||function(v,x){for(var O in v)"default"!==O&&!Object.prototype.hasOwnProperty.call(x,O)&&yt(x,v,O)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Tt=Je(991),dt=Je(938),Y=Je(60);ee(Je(938),it),ee(Je(871),it),ee(Je(60),it);const Se=new Tt.DataFactory,he=new Y.Translator;function W(v,x){return he.fromRdf(v,x)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,x){return x&&"namedNode"in x&&(x={dataFactory:x}),(x=x||{})&&!x.dataFactory&&(x.dataFactory=Se),he.toRdf(v,x)},it.getTermRaw=function(v,x){return"Literal"===v.termType?W(v,x):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},60:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Tt,dt){for(const Y of Tt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Tt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Tt):ee.value}toRdf(ee,Tt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Tt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Tt,dataFactory:dt}){return dt.literal(ee,Tt)}}it.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(727),it),ee(Je(525),it),ee(Je(554),it),ee(Je(750),it),ee(Je(608),it)},935:(Ut,it,Je)=>{"use strict";var yt={};Je.r(yt),Je.d(yt,{decode:()=>Kme,encode:()=>Xme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>t_e,encode:()=>n_e});var Tt={};Je.r(Tt),Je.d(Tt,{decode:()=>i_e,encode:()=>r_e});var dt={};function Y(n){return"function"==typeof n}Je.r(dt),Je.d(dt,{decode:()=>s_e,encode:()=>o_e});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},P=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class x{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof x)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}x.EMPTY=((n=new x).closed=!0,n);const A="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends x{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[A](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const R="function"==typeof Symbol&&Symbol.observable||"@@observable";function K(n){return n}function ce(...n){return D(n)}function D(n){return 0===n.length?K:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let I=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[A])return n[A]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=X(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[R](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=X(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function X(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends x{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class oe extends y{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends I{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[A](){return new oe(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):x.EMPTY}}function Ce(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new _e(e,this.project,this.thisArg))}}class _e extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Ie=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[R])return(n=>e=>{const t=n[R]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(ke(n))return Ie(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Xe])return(n=>e=>{const t=n[Xe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ne(n,e){return new I(t=>{const i=new x;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[R]}(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>{const r=n[R]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(ke(n))return Ne(n,e);if(function(n){return n&&"function"==typeof n[Xe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new I(t=>{const i=new x;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Xe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof I?n:new I(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ve extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof I)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function B(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(B((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Qe(e,this.project,this.concurrent))}}class Qe extends ve{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return B(K,n)}function On(n,e){return e?Ne(n,e):new I(Ie(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ce(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof I?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends I{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new x,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=x.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends oe{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=Jt({__forward_ref__:Jt});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function be(n){return Le(n)?n():n}function Le(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Ze extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function _n(n,e){const t=e?` in ${e}`:"";throw new Ze("201",`No provider for ${Xt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xt(n){return{providers:n.providers||[],imports:n.imports||[]}}function yn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var wn=(()=>((wn=wn||{})[wn.Default=0]="Default",wn[wn.Host=1]="Host",wn[wn.Self=2]="Self",wn[wn.SkipSelf=4]="SkipSelf",wn[wn.Optional=8]="Optional",wn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=yn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&wn.Optional?null:void 0!==e?e:void _n(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var He=(()=>((He=He||{})[He.OnPush=0]="OnPush",He[He.Default=1]="Default",He))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},ir=[],fp=Jt({\u0275cmp:Jt}),t_=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),av=Jt({\u0275mod:Jt}),D1=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let I1=0;function ln(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===He.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ir,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||ir,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=I1++,i.inputs=dv(n.inputs,t),i.outputs=dv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(lv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(cv):null,i})}function lv(n){return zi(n)||function(n){return n[t_]||null}(n)}function cv(n){return function(n){return n[Dh]||null}(n)}const uv={};function on(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||ir,declarations:n.declarations||ir,imports:n.imports||ir,exports:n.exports||ir,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(uv[n.id]=n.type),e})}function dv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function Oo(n,e){const t=n[av]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function r_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function hv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class l_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Hi(){return gv}function gv(n){return n.type.prototype.ngOnChanges&&(n.setInput=B1),L1}function L1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function B1(n,e,t,i){const r=at(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new l_(l&&l.currentValue,e,o===Ed),n[i]=e}Hi.ngInherit=!0;const kh="__ngSimpleChanges__";function at(n){return n[kh]||null}let Qi;function pr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Qi?Qi:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function d_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function h_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function _v(){return Bn.bindingsEnabled}function jt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=f_();for(;null!==n&&64===n.type;)n=n.parent;return n}function f_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,p_(e)}function p_(n){Bn.lFrame.currentDirectiveIndex=n}function g_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function yv(){return Bn.lFrame.currentQueryIndex}function m_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&wn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&wn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=Ee();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=Ee(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ee(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return d_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=pr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let E_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(Ev(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=E_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Av:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&wn.Host?x_(r,t,i):xv(e,t,i,r);try{const o=s(i);if(null!=o||i&wn.Optional)return o;_n(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&wn.Host?e[16][6]:null;for((-1===a||i&wn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Cv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return xv(e,t,i,r)}const Cv={};function Av(){return new ea(cs(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&wn.Host&&s===a);return null!==u?Fd(e,o,u,a):Cv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new Ze("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,wn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=gv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return Le(n)?()=>{const e=Ms(be(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function I_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class k_ extends Yl{getTypeName(){return"HTML"}}class L_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class Gv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class mA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Wv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),qv=ra("rp,rt"),j_=Jh(Up,Jh(Wv,ra("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Jh(qv,ra("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Jh(qv,Wv)),V_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),U_=ra("srcset"),z_=Jh(V_,U_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),EA=ra("script,style,template");class H_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!EA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Yv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Yv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function G_(n,e){let t=null;try{tf=tf||function(n){const e=new mA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new Gv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new H_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const q_="__ngContext__";function Is(n,e){n[q_]=e}function Y_(n){const e=function(n){return n[q_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function FA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||FA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const sw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function J_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return uw(n[13])}function ty(n){return uw(n[4])}function uw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?gw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){pr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function sy(n,e){if(!(256&e[2])){const t=e[11];pr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function lT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Mw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Mw(s,r)),e}const In={};function Zt(n){Dw(Ei(),jt(),Js()+n,Vh())}function Dw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function dy(n){return 1|n}function Bw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Dw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!_v()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Kw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Xw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Yd(n);null!==i;i=ty(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function HT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Jw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function My(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Dy(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function eE(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=wn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&wn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&yn(e);a=l&&this.injectableDefInScope(l)?ku(Py(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&wn.Self?tE():this.parent).get(e,t=i&wn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(rt(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=be(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||ir))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=be(e))?e:be(e&&e.provide);const s=function(n,e,t){return rE(n)?ku(void 0,n.useValue):ku(iE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=QT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=be(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Py(n){const e=yn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function iE(n,e,t){let i;if(Vc(n)){const r=be(n);return Tc(r)||Py(r)}if(rE(n))i=()=>be(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Oe(be(n.useExisting));else{const r=be(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Py(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function rE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const sE=function(n,e,t){return function(n,e=null,t=null,i){const r=nE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?sE(e,t,""):sE(e.providers,e.parent,e.name||"")}}function Hq(n,e){wp(Y_(n)[1],cs())}function xn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=dM(n.inputs),o.declaredInputs=dM(n.declaredInputs),o.outputs=dM(n.outputs);const a=r.hostBindings;a&&qq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&$q(n,l),c&&Wq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function dM(n){return n===Ed?{}:n===ir?[]:n}function $q(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Wq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function qq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=We({token:Wn,providedIn:"any",factory:()=>Oe(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let uE=null;function sg(){if(!uE){const n=Qn.Symbol;if(n&&n.iterator)uE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Ae[i.index])):i.index;if(pr(t)){let Ae=null;if(!a&&l&&(Ae=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,g=!1;else{s=yM(i,e,h,s,!1);const Pe=t.listen(H,r,s);p.push(s,Pe),u&&u.push(r,de,U,U+1)}}else s=yM(i,e,h,s,!0),H.addEventListener(r,s,o),p.push(s),u&&u.push(r,de,U,o)}else s=yM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const C=w.length;if(C)for(let H=0;H0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function TY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Vk(n){return n.substring(Rs.key,Rs.keyEnd)}function Uk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Uk(e,t))ko(n,Vk(e),!0)}function ec(n,e,t,i){const r=jt(),s=Ei(),o=No(2);s.firstUpdatePass&&qk(s,n,o,i),e!==In&&Eo(r,o,e)&&Kk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function Wk(n,e){return e>=n.expandoStartIndex}function qk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=Wk(n,t);Qk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=g_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=zy(t=vM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=vM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=vM(null,n,e,l[1],i),l=zy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),jk(n,u,i,!0),jk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=dy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function vM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?ir:void 0);let g=h?I_(p,i):u===i?p:void 0;if(c&&!_E(g)&&(g=I_(l,i)),_E(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=I_(l,i))}return a}function _E(n){return void 0!==n}function Qk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=jt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return pr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=jt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function yE(n,e,t){const i=jt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,My(g_(s.data),o,i),t,!0)}return yE}const gf=void 0;var uK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function gL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const bE="en-US";let mL=bE;function EM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(mL=n.toLowerCase().replace(/_/g,"-"))}function CM(n,e,t,i,r){if(n=be(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,xe),m=TM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),AM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=TM(a,e,u+p,h),m=TM(a,e,u,u+p),w=g>=0&&t[g],C=m>=0&&t[m];if(r&&!C||!r&&!w){Dc(Hs(c,o),s,a);const H=function(n,e,t,i,r){const s=new $h(n,t,xe);return s.multi=[],s.index=e,s.componentProviders=0,VL(s,r,i&&!t),s}(r?aX:oX,t.length,r,i,l);!r&&C&&(t[m].providerFactory=H),AM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(H),o.push(H)}else AM(s,n,g>-1?g:m,VL(t[r?m:g],l,!r&&i));!r&&i&&C&&t[m].componentProviders++}}}function AM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function VL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function TM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);CM(t,i.data,i.blueprint,r,!0),CM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class UL{}const HL="ngComponent";class uX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[HL]=n,e}(e)}}class wl{}function xE(...n){}function Eg(n,e){return new vn(Zs(n,e))}wl.NULL=new uX;const fX=function(){return Eg(cs(),jt())};let vn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=fX,n})();function GL(n){return n instanceof vn?n.nativeElement:n}class mf{}let IM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const $L=new ju("12.2.5");class WL{constructor(){}supports(e){return jy(e)}create(e){return new bX(e)}}const yX=(n,e)=>e;class bX{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||yX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new vX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new qL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new qL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class vX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class wX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class qL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new wX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function YL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new SX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class SX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function XL(){return new Sg([new WL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:XL}),n})();function QL(){return new xg([new KL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||QL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:QL}),n})();function CE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ry(e,i),Gl(t,i))}this._attachedToViewContainer=!1}sy(this._lView[1],this._lView)}onDestroy(e){zw(this._lView[1],this._lView,null,e)}markForCheck(){xy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class CX extends qy{constructor(e){super(e),this._view=e}detectChanges(){Zw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Zw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const TX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new qy(i,i)}return 47&n.type?new qy(e[16],e):null}(cs(),jt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=TX,n})();const IX=[new KL],RX=new Sg([new WL]),NX=new xg(IX),FX=function(){return AE(cs(),jt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=FX,n})();const kX=zo,LX=class extends kX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new qy(i)}};function AE(n,e){return 4&n.type?new LX(e,n,Eg(n,e)):null}class $c{}const VX=function(){return t3(cs(),jt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=VX,n})();const zX=Ns,JL=class extends zX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(Ev(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=e3(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new JL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),isw});class x3 extends UL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(fT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return S3(this.componentDef.inputs)}get outputs(){return S3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(IM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(pr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):iy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||sw,clean:KT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let w,C;Hh(m);try{const H=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&cy(r,n,l.classes),null!==l.styles&&xw(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Xw(o,l),vy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",$L.full]);else{const{attrs:U,classes:de}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&cy(l,u,de.join(" "))}if(C=d_(g,20),void 0!==t){const U=C.projection=[];for(let de=0;del(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Yw(t[1],a,0,a.directiveStart,a.directiveEnd,e),Kw(e,o)),o}(H,this.componentDef,m,p,[Hq]),df(g,m,null)}finally{fi()}return new UQ(this.componentType,w,Eg(C,m),m,C)}}class UQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new CX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class GQ extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new E3(this);const i=Oo(e),r=function(n){return n[D1]||null}(e);r&&EM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=nE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=wn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class GM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new GQ(this.moduleType,e)}}function M3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Ze("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(xe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=jt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?M3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function $M(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=$M(l),a&&(a=$M(a)),c&&(c=$M(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof x&&e.add(u),u}};function sZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=sZ)}get changes(){return this._changes||(this._changes=new sn)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=xE,this.reject=xE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(vf,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const o0=new Ht("AppId"),UZ={provide:o0,useFactory:function(){return`${nD()}${nD()}${nD()}`},deps:[]};function nD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const tB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),PE=new Ht("appBootstrapListener");let FE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),nB=new Ht("DefaultCurrencyCode");class HZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const iD=function(n){return new GM(n)},GZ=iD,$Z=function(n){return Promise.resolve(iD(n))},iB=function(n){const e=iD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new x3(o)),r},[]);return new HZ(e,i)},WZ=iB,qZ=function(n){return Promise.resolve(iB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=GZ,this.compileModuleAsync=$Z,this.compileModuleAndAllComponentsSync=WZ,this.compileModuleAndAllComponentsAsync=qZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const rB=new Ht("compilerOptions"),KZ=(()=>Promise.resolve(0))();function rD(n){"undefined"==typeof Zone?KZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,oD(n),n.isCheckStableRunning=!0,sD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),oD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return sB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),oB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return sB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),oB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,oD(n),sD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,QZ,xE,xE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const QZ={};function sD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function oD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function sB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function oB(n){n._nesting--,sD(n)}class eJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let aD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),rD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())rD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),aB=(()=>{class n{constructor(){this._applications=new Map,lD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return lD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class tJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let lD=new tJ,lB=!0,cB=!1;function Ba(){return cB=!0,lB}let rc;const uB=new Ht("AllowMultipleToken");function dB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=uD();if(!o||o.injector.get(uB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(uB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(hB);const e=n.get(tB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=uD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function uD(){return rc&&!rc.destroyed?rc:null}let hB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new eJ:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{dD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(EM(u.injector.get(Uu,bE)||bE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=fB({},i);return function(n,e,t){const i=new GM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function fB(n,e){return Array.isArray(e)?e.reduce(fB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new I(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new I(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),rD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof UL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(aD,null),u=c&&a.injector.get(aB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),dD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;dD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(PE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wn),Oe(oa),Oe(wl),Oe(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function dD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const MJ=dB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:hB,deps:[Wn]},{provide:aB,deps:[]},{provide:FE,deps:[]}]),NJ=[{provide:ih,useClass:ih,deps:[fn,Wn,oa,wl,Og]},{provide:BQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},UZ,{provide:Sg,useFactory:function(){return RX},deps:[]},{provide:xg,useFactory:function(){return NX},deps:[]},{provide:Uu,useFactory:function(n){return EM(n=n||"undefined"!=typeof $localize&&$localize.locale||bE),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:nB,useValue:"USD"}];let FJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Oe(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:NJ}),n})(),WE=null;function qc(){return WE}const hn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Pee,token:n,providedIn:"platform"}),n})();function Pee(){return Oe(UB)}let UB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){zB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){zB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:kee,token:n,providedIn:"platform"}),n})();function zB(){return!!window.history.pushState}function kee(){return new UB(Oe(hn))}function AD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function HB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Lee,token:n,providedIn:"root"}),n})();function Lee(n){const e=Oe(hn).location;return new GB(Oe(xf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let GB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return AD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(xf),Oe(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=HB($B(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,$B(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=AD,n.stripTrailingSlash=HB,n.\u0275prov=We({factory:jee,token:n,providedIn:"root"}),n})();function jee(){return new Pg(Oe(Cf),Oe(xf))}function $B(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const qee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=gL(e);if(t)return t;const i=e.split("-")[0];if(t=gL(i),t)return t;if("en"===i)return uK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class nS{}let Ete=(()=>{class n extends nS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(qee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Uu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class xte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new xte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new tj(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new tj(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo),xe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class tj{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Ate,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){nj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){nj("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Ate{constructor(){this.$implicit=null,this.ngIf=null}}function nj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ite{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ote{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Rte=new Ote,Nte=new Ite;let p0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Rte;if(Mk(t))return Nte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(xe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[{provide:nS,useClass:Ete}]}),n})();const cj="browser";function Tf(n){return n===cj}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){WE||(WE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(g0=g0||document.querySelector("base"),g0?g0.getAttribute("href"):null);return null==t?null:function(n){rS=rS||document.createElement("a"),rS.setAttribute("href",n);const e=rS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){g0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let rS,g0=null;const fj=new Ht("TRANSITION_ID"),ine=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let rne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const m0=new Ht("EventManagerPlugins");let oS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_0=(()=>{class n extends gj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(mj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(mj))}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function mj(n){qc().remove(n)}const HD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},GD=/%COMP%/g;function aS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let lS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new $D(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new bne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new vne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=aS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Oe(oS),Oe(_0),Oe(o0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class $D{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(HD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=HD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=HD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,bj(i)):this.eventManager.addEventListener(e,t,bj(i))}}class bne extends $D{constructor(e,t,i,r){super(e),this.component=i;const s=aS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(GD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(GD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class vne extends $D{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=aS(r.id,r.styles,[]);for(let o=0;o{class n extends zD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Ej=["alt","control","meta","shift"],Mne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Sj={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Dne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ine=(()=>{class n extends zD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(Ej.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Sj.hasOwnProperty(e)&&(e=Sj[e]))}return Mne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Ej.forEach(s=>{s!=r&&Dne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Oe(qD)},token:n,providedIn:"root"}),n})(),qD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):G_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new k_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return function(n){return new qD(n.get(hn))}(Oe(Pu))},token:n,providedIn:"root"}),n})();const Bne=dB(MJ,"browser",[{provide:Wc,useValue:cj},{provide:tB,useValue:function(){VD.makeCurrent(),UD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Qi=n}(document),document},deps:[]}]),jne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:m0,useClass:wne,multi:!0,deps:[hn,fn,Wc]},{provide:m0,useClass:Ine,multi:!0,deps:[hn]},[],{provide:lS,useClass:lS,deps:[oS,_0,o0]},{provide:mf,useExisting:lS},{provide:gj,useExisting:_0},{provide:_0,useClass:_0,deps:[hn]},{provide:aD,useClass:aD,deps:[fn]},{provide:oS,useClass:oS,deps:[m0,fn]},{provide:class{},useClass:rne,deps:[]},[]];let YD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:o0,useValue:t.appId},{provide:fj,useExisting:o0},ine]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:jne,imports:[qr,FJ]}),n})();"undefined"!=typeof window&&window;class qne extends x{constructor(e,t){super()}schedule(e,t=0){return this}}class cS extends qne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let Cj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends Cj{constructor(e,t=Cj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Xne=new class extends uc{}(class extends cS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new I(n=>n.complete());function uS(n){return n?function(n){return new I(e=>n.schedule(()=>e.complete()))}(n):Yc}function dn(...n){let e=n[n.length-1];return Ce(e)?(n.pop(),Ne(n,e)):On(n)}function Fg(n,e){return new I(e?t=>e.schedule(Zne,0,{error:n,subscriber:t}):t=>t.error(n))}function Zne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return dn(this.value);case"E":return Fg(this.error);case"C":return uS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class dS extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(dS.dispatch,this.delay,new eie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class eie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new tie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=x.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new dS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class tie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new nie(n))}class nie{constructor(e){this.project=e}call(e,t){return t.subscribe(new iie(e,this.project))}}class iie extends ve{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const hS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return hS.schedule(n,0);if(void 0===window.requestAnimationFrame)return hS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function fie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class gie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new mie(this.componentFactory,e)}}class mie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=hS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=hS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new l_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class _ie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const bie={initialConfig:{},parse:{},rename:{}};class vie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},bie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let wie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new vie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Hi]}),n})();var QD;const y0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function or(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Tj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Li(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Ij(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Ij()}const Oj="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JD();class Cie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Rj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Nj(n){return"string"==typeof n?Rj[n.toUpperCase()]||Rj.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},b0=hc.window||hc.self||hc.global,Pj=hc.process||{};function Lg(){let n;if(pS&&b0.performance)n=b0.performance.now();else if(Pj.hrtime){const e=Pj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Rie={enabled:!0,level:0};function Tl(){}const Fj={},kj={once:!0};function Nie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Oj,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Cie("__probe-".concat(this.id,"__"),Rie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,kj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,kj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Nie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Bj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Lj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Bj({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Fj[a])return Tl;Fj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=Nj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Nj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Oj,n})();function Lj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function Bj(n){const{logLevel:e,message:t}=n;n.logLevel=Lj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),Ui={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ui,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},jj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},pn=new tI({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return $o(mS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const v0={};const w0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,ere={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Uj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Uj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(Vj)?2147483647:65535,33001:n=>n.getExtension(Vj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},Hj="ANGLE_instanced_arrays",Gj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[Hj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=ere[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function hre(n,{extension:e,target:t,target2:i}){const r=Gj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&hre(n,{extension:t,target:n.luma,target2:n})}(n,Gj),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),$j=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function E0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const gre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:$j,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:$j,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=E0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=E0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=E0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const mre={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},Wj={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),qj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function Yj(n){for(const e in n)return!1;return!0}function _re(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=qj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=qj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];_re(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Xj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new vre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in Wj)yre(n,s,Wj[s]);Kj(n,"getParameter"),Kj(n,"isEnabled")}return n.state.enable=t,n}function Qj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(mS(n),"setParameters requires a WebGL context"),Yj(e))return;const t={};for(const r in e){const s=Number(r),o=gre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)mre[r](n,e,i)}function fc(n,e,t){if(Yj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Xj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Qj(n);else try{r=t(n)}finally{Qj(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=Zj(n[0],e,t);let o=Jj(n[1],e,i,r),a=Zj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Jj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Zj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Jj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),Tre=sI&&"undefined"!=typeof document,eV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function tV(n={}){$o(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},eV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Tre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);pn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},eV,e);const{manageState:t,debug:i}=e;return t&&Xj(n,{copyState:!1,log:(...r)=>pn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),pn.level=Math.max(pn.level,1)):pn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function nV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class iV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=nV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(nV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof iV?e:new iV(t,i)),this.stats[t]}}const S0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&pn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:pn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ga(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function rV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function sV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw pn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return sV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function x0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function jre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Ure)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const aV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},zre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:aV},Hre={removedProps:aV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,zre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Hre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=x0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/x0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return pn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return pn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return pn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return pn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},lV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},cV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Wre=[9729,9728],uV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(U=>this.initialize(Object.assign({},e,{pixels:U,data:U}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:w=!1,mipmaps:C=!0}=e;const{depth:H=0}=e;return({width:h,height:p,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=H,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),C&&this._isNPOT()&&(pn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),C=!1,this._updateForNPOT(l)),this.mipmaps=C,this.setImageData({data:t,width:h,height:p,depth:H,format:s,type:m,dataFormat:g,border:o,mipmaps:C,parameters:c,compressed:w}),C&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let C=null;({data:c,dataType:C}=this._getDataType({data:c,compressed:m}));let H,U=0;return fc(this.gl,l,()=>{switch(C){case"null":w.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":H=Co(w),H.bindBuffer(35052,c.handle||c),H.texImage2D(t,r,s,h,p,o,g,u,a),H.bindBuffer(35052,null);break;case"browser-object":Si(w)?w.texImage2D(t,r,s,h,p,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[de,Ae]of c.entries())w.compressedTexImage2D(t,de,Ae.format,Ae.width,Ae.height,o,Ae.data),U+=Ae.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===C?U:c&&c.byteLength?c.byteLength:this.width*this.height*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const C=i;i=C.data,o=C.shape[0],a=C.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,w,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof uV){const C=Co(this.gl);C.bindBuffer(35052,i),C.texSubImage2D(e,l,r,s,o,a,h,u,g),C.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return pn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof uV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||rV(this.width)&&rV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Wre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function qre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:qre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",dV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,dV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*dV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const mV="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,mV),fc(n,s,()=>{n.clear(o)})}function _V(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){_V(s,i,r,o,a,"next",l)}function a(l){_V(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let ese=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&pn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((w,C)=>{t&&i?u.texImage2D(g,C,a,t,i,o,a,l,w):u.texImage2D(g,C,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=gI,n})();class tse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}}function yV(n,e){tn(n instanceof _a||n instanceof ese||n instanceof tse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function nse(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function bS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=C0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(x0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=bS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=jre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&pn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,mV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return pn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return pn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return pn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return pn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return pn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return pn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>pn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return pn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,bV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),bV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in vV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=EV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const vV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return wV(n,e)}function wV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>EV(n,t))}function EV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=vV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||pn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},pse=1/Math.PI*180,gse=1/180*Math.PI,Or={};function _se(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*gse,void 0)}(n)}function bse(n){return function(n,e){return qu(n,t=>t*pse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function vS(n,e,t){return lh(n)?n.map((i,r)=>vS(i,e[r],t)):t*e+(1-t)*n}function T0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+_se(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(BV.length=n.length,i=BV):i=LV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function jV(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?VV(n,e,[]):e(n)?[n]:[]}function VV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function UV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Wse[n.type]),e),n)):null}function zV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function HV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function GV(n){n.push(n.shift())}function AI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function $V({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=AI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const H=s;s=(U,de)=>t._normalizeConstant(H(U,de))}const m=p?(H,U)=>s(g,U):(H,U)=>s(g.subarray(H,H+a),U),w=n.getData({length:i}),C=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===CS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=CS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Hse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==CS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const C=h*a+l;for(let H=0;Hu?c.set(de,w):(e._normalizeValue(de,H.target,0),zse({target:c,source:H.target,start:w,count:Ae}));w+=Ae*u}else e._normalizeValue(de,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function To(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const WV="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Kse=`#version 300 es\n${WV}`;function qV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function YV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Kse:e>300?`#version ${e}\n${WV}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class KV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,pn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Jse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new KV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function XV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const O0="vs",noe={[O0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},AS="__LUMA_INJECT_DECLARATIONS__",QV=/void\s+main\s*\([^)]*\)\s*\{\n?/,ZV=/}\n?[^{}]*$/,II=[];function JV(n,e,t,i=!1){const r=e===O0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(ZV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(AS,a));break;case"fs:#main-start":r||(n=n.replace(QV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(ZV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(AS,""),i&&(n=n.replace(/\}\s*$/,s=>s+noe[e])),n}function OI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const ioe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",eU="transform_position";const doe={10241:9728,10240:9728,10242:33071,10243:33071};class foe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=bS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(doe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=yV(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return qV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(w){const{updatedLine:C,inject:H}=w;h[g]=C,c=OI([c,H]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=qV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${eU} = transform_getPos(${p});\n gl_Position = vec4(${eU}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||YV({version:XV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[ioe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function goe(n){let e=tU(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=tU(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function tU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class NI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=goe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function boe(n){return function(n){const e={},t={};return PI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(iU(n))}function PI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof NI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new NI(t)).dependencies=iU(t.dependencies)),t))}const FI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Toe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(FI).forEach(n=>{Nf[n]=n});const kI={};function rU(n,e,t={}){const i=FI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function MS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=FI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const sU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Ooe=[...sU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Roe=[...sU,[Gg("varying"),"in $1"]],oU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Noe=[...oU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Poe=[...oU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Foe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const joe=`\n\n${AS}\n\n`,aU={[O0]:"vertex",fs:"fragment"};function lU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===O0,p=t.split("\n");let g=100,m="",w=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],w=p.slice(1).join("\n")):m=`#version ${g}`;const C={};r.forEach(Be=>{Object.assign(C,Be.getDefines())}),Object.assign(C,s);let H=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${aU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${aU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Toe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return MS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),MS(n,Nf.GLSL_DERIVATIVES)&&rU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),MS(n,Nf.GLSL_FRAG_DATA)&&rU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),MS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(C)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const U=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),de={},Ae={},Pe={};for(const Be in a){const et="string"==typeof a[Be]?{injection:a[Be],order:0}:a[Be],wt=Be.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const Ct=wt[3];wt[2]?"decl"===Ct?Ae[Be]=[et]:Pe[Be]=[et]:de[Be]=[et]}else Pe[Be]=[et]}for(const Be of r){u&&Be.checkDeprecations(w,u),H+=Be.getModuleSource(i,g);const wt=Be.injections[i];for(const vt in wt){const Ct=vt.match(/^(v|f)s:#([\w-]+)$/);if(Ct){const $t="decl"===Ct[2]?Ae:Pe;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else de[vt]=de[vt]||[],de[vt].push(wt[vt])}}return H+=joe,H=JV(H,i,Ae),H+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(U[i],de),H+=w,H=JV(H,i,Pe),H=function(n,e,t){switch(e){case 300:return t?DS(n,Ooe):function(n){const e=(n=DS(n,Roe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Foe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,Noe):function(n){const e=(n=DS(n,Poe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(H,l?100:g,h),H}function zoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Yoe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",IS,1,Mo),36294:Rr.bind(null,"uniform2uiv",IS,2,Mo),36295:Rr.bind(null,"uniform3uiv",IS,3,Mo),36296:Rr.bind(null,"uniform4uiv",IS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Koe={},Xoe={},Qoe={},cU=[0];function jI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(cU[0]=n,n=cU);const r=n.length;if(r%e&&pn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return fU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:hU(s,c),warnings:hU(o,c)}}(i,this.source,this.shaderType,this.id);throw pn.error(`GLSL compilation errors in ${r}\n${s}`)(),pn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends R0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends R0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,N0=5124,P0=5125,zI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[N0]:[N0,1,"int"],35667:[N0,2,"ivec2"],35668:[N0,3,"ivec3"],35669:[N0,4,"ivec4"],[P0]:[P0,1,"uint"],36294:[P0,2,"uvec2"],36295:[P0,3,"uvec3"],36296:[P0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function bU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function vU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Fae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=bU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=bU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const kae=35981,Lae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class EU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Lae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=kae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof VI),tn(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Fae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:w,samplers:C}){if((w||C)&&(pn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),pn.priority>=e){const H=g?g.id:"default",U=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${H}`;pn.log(e,U)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const H=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(H)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){pn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!eae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&tae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),pn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),pn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||pn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(de=>this._getHash(de.name)).sort(),g=o.map(de=>this._getHash(de)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),C=[],H=[];for(const de of m)C.push(this._getHash(de)),C.push(this._getHash(r[de]));for(const de of w)H.push(this._getHash(de)),H.push(this._getHash(s[de]));const U=`${u}/${h}D${C.join("/")}M${p.join("/")}I${H.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[U]){const de=function(n,e){const{vs:t,fs:i}=e,r=boe(e.modules||[]);return{gl:n,vs:lU(n,Object.assign({},e,{source:t,type:O0,modules:r})),fs:lU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:zoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[U]=new EU(this.gl,{hash:U,vs:de.vs,fs:de.fs,varyings:o,bufferMode:a}),this._getUniforms[U]=de.getUniforms||(Ae=>{}),this._useCounts[U]=0}return this._useCounts[U]++,this._programCache[U]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":b0.chrome?"Chrome":b0.safari?"Safari":b0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!NS||NS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Gae=/^(.+)__LOCATION_([0-9]+)$/,$ae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Wae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),sV(this,"VertexArray","v6.0",$ae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,pn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Gae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return pn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function k0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=k0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function SU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let w;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${k0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${k0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Kae(n,e){const{type:t,size:i}=e,r=vU(t,i);return r?`${n} (${r.name})`:n}function xU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:k0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?k0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function CU(n){const{type:e,size:t}=n.accessor,i=vU(e,t);return i?`${i.name} ${n.name}`:n.name}const Zae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ele(n,e){const{attributeMap:t=Zae}=e||{};return t&&t[n]||n}function tle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const AU=()=>{},rle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(mS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=ele(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new hr(n,l),c],tle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),pn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&pn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:C}=this,{onBeforeRender:H=AU,onAfterRender:U=AU}=this.props;H(),this.program.setUniforms(this.uniforms);const de=this.program.draw(Object.assign(rle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:w,instanceCount:C,offset:h?g:0}));return U(),pn.priority>=2&&this._logDrawCallEnd(c,l,i),de}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return pn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof EU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Wae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new KV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:pn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=SU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Kae(s.name,a)}`),t[o]=SU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&pn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&pn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);pn.table(e,s)(),pn.table(e,o)(),pn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),pn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||YV({version:XV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Jse(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new foe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function PS(){}const ale={onStart:PS,onUpdate:PS,onInterrupt:PS,onEnd:PS};class L0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},ale),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const gle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=HV(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;GV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:zV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=HV(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:zV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),GV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),bS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class mle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=gle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const TU="attributeManager.invalidate";class Ele{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new mle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function DU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function IU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=UV(r)))return;const o=Ale[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Mle}=FS;function Ole(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function OU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Ple(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Vle(i[r],e[r])){t=n(i),e=i;break}return t}}function Ule(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],w=e[13],C=e[14],H=e[15],U=t*a-i*o,de=t*l-r*o,Ae=t*c-s*o,Pe=i*l-r*a,Be=i*c-s*a,et=r*c-s*l,wt=u*w-h*m,vt=u*C-p*m,Ct=u*H-g*m,Bt=h*C-p*w,$t=h*H-g*w,gt=p*H-g*C,mt=U*gt-de*$t+Ae*Bt+Pe*Ct-Be*vt+et*wt;return mt?(n[0]=(a*gt-l*$t+c*Bt)*(mt=1/mt),n[1]=(r*$t-i*gt-s*Bt)*mt,n[2]=(w*et-C*Be+H*Pe)*mt,n[3]=(p*Be-h*et-g*Pe)*mt,n[4]=(l*Ct-o*gt-c*vt)*mt,n[5]=(t*gt-r*Ct+s*vt)*mt,n[6]=(C*Ae-m*et-H*de)*mt,n[7]=(u*et-p*Ae+g*de)*mt,n[8]=(o*$t-a*Ct+c*wt)*mt,n[9]=(i*Ct-t*$t-s*wt)*mt,n[10]=(m*Be-w*Ae+H*U)*mt,n[11]=(h*Ae-u*Be-g*U)*mt,n[12]=(a*vt-o*Bt-l*wt)*mt,n[13]=(t*Bt-i*vt+r*wt)*mt,n[14]=(w*de-m*Pe-C*U)*mt,n[15]=(u*Pe-h*de+p*U)*mt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],w=e[12],C=e[13],H=e[14],U=e[15],de=t[0],Ae=t[1],Pe=t[2],Be=t[3];return n[0]=de*i+Ae*a+Pe*h+Be*w,n[1]=de*r+Ae*l+Pe*p+Be*C,n[2]=de*s+Ae*c+Pe*g+Be*H,n[3]=de*o+Ae*u+Pe*m+Be*U,n[4]=(de=t[4])*i+(Ae=t[5])*a+(Pe=t[6])*h+(Be=t[7])*w,n[5]=de*r+Ae*l+Pe*p+Be*C,n[6]=de*s+Ae*c+Pe*g+Be*H,n[7]=de*o+Ae*u+Pe*m+Be*U,n[8]=(de=t[8])*i+(Ae=t[9])*a+(Pe=t[10])*h+(Be=t[11])*w,n[9]=de*r+Ae*l+Pe*p+Be*C,n[10]=de*s+Ae*c+Pe*g+Be*H,n[11]=de*o+Ae*u+Pe*m+Be*U,n[12]=(de=t[12])*i+(Ae=t[13])*a+(Pe=t[14])*h+(Be=t[15])*w,n[13]=de*r+Ae*l+Pe*p+Be*C,n[14]=de*s+Ae*c+Pe*g+Be*H,n[15]=de*o+Ae*u+Pe*m+Be*U,n}function LS(n,e,t){var o,a,l,c,u,h,p,g,m,w,C,H,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],w=e[9],C=e[10],H=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=w,n[10]=C,n[11]=H,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+p*r+C*s+e[14],n[15]=c*i+g*r+H*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function PU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function kU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function jS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function LU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const BU=[0,0,0,0],hce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],pce=[0,0,0],gce=[0,0,0],mce=kS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=BU,l=BU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=jU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=jS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,hce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:pce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Ui.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Ui.LNGLAT:case Ui.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Ui.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function jU(n,e,t=gce){let r,i=t,s=!0;switch(r=e===Ui.LNGLAT_OFFSETS||e===Ui.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===Ui.LNGLAT||e===Ui.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===Ui.LNGLAT?i=r:e===Ui.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class vce extends wS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],w=n[14],C=n[15];return(e*o-t*s)*(h*C-p*w)-(e*a-i*s)*(u*C-p*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*C-p*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return NU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return PU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,w,C,H,U,de,Ae,Pe,Be,et,wt,vt,Ct,Bt,$t,gt,mt,Vt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,$U=gc/4,mc=gc/180,KI=180/gc,XI=4003e4,US=85.051129;function zS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan($U+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-$U);return[t*KI,i*KI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/XI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function WU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=zS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function YU(n){return 2*Math.atan(.5/n)*KI}function KU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return UU([],o,a,l===c?0:((t||0)-l)/(c-l))}const XU=Math.PI/180;function QU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(UU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Lce=Math.PI/180,Bce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Vce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&T0(t.projectionMatrix,this.projectionMatrix)&&T0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=KU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?zS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const C=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:H,aspect:U,focalDistance:de,near:Ae,far:Pe}=function({width:n,height:e,fovy:t=YU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=YU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Be=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),NU(o,o,-e*mc),PU(o,o,t*mc),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:C,altitude:w});p&&(Be=(new qn).translate([512*p,0,0]).multiplyLeft(Be)),super(Sn(ot({},t),{width:g,height:m,viewMatrix:Be,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:H,aspect:U,focalDistance:de,near:Ae,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return WU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=VS([],this.projectFlat(t),VU([],r)),a=VS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*XU:Math.atan(.5/n.altitude))>(90-n.pitch)*XU-.01?(l=QU(n,0,e),c=QU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=zS([a,GU(u,-US,US)]),p=zS([c,GU(l,-US,US)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const w=m[0]/g[0],C=m[1]/g[1],Ae=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/w,(p[1]+h[1])/2+(s.bottom-s.top)/2/C]),Pe=Math.min(r,YI(Math.abs(Math.min(w,C))));return Xu(Number.isFinite(Pe)),{longitude:Ae[0],latitude:Ae[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof nz){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function iz(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=jS([],[o,a,l,1],t)),i){case Ui.LNGLAT:return eO([o,a,l],e,s);case Ui.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ui.METER_OFFSETS:return eO(WU(r,[o,a,l]),e,s);case Ui.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Hce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Wce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||U0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||U0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Sn(ot({},e),{parameters:ot(ot(ot({},Hce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!U0(n)||!U0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=sue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[iue]||{},i=e[nue]||e,r=e[rue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(jV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=rO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const C=m,{dataTransform:H}=i.component?i.component.props:{};a=H?H(C,a):a.concat(C),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(C){u=!0,h=C}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:az,ASYNC_RESOLVED:lz,ASYNC_DEFAULTS:oue}=FS,aue={};let lue=0,cue=(()=>{class n{constructor(){this.props=Kce.apply(this,arguments),this.id=this.props.id,this.count=lue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[oue])s in i[lz]?r[s]=i[lz][s]:s in i[az]&&(r[s]=i[az][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new oz({})}}return n.componentName="Component",n.defaultProps=aue,n})();class uue extends oz{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,uz=n=>uh(n)&&n.constructor==={}.constructor,due=n=>n&&"function"==typeof n[Symbol.iterator],hue=n=>n&&"function"==typeof n[Symbol.asyncIterator],H0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,dz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Ff(n,"null loader"),Ff(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=Zc.global||Zc.self||Zc.window||{},yue="object"!=typeof process||"[object process]"!==String(process)||process.browser,hz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);hz&&parseFloat(hz[1]);const cO={};function bue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const vue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,wue=/^([-\w.]+\/[-\w.+]+)/;function Eue(n){const e=wue.exec(n);return e?e[1]:n}function fz(n){const e=vue.exec(n);return e?e[1]:""}const Sue=/\?.*/;function qS(n){if(H0(n)){const e=uO(n.url||"");return{url:e,type:Eue(n.headers.get("content-type")||"")||fz(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:fz(n)}:{url:"",type:""}}function xue(n){return H0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(Sue,"")}function pz(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){if(H0(n))return n;const e={},t=xue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield Tue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Cue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if(!n.ok){const e=yield Aue(n);throw new Error(e)}})).apply(this,arguments)}function Aue(n){return fO.apply(this,arguments)}function fO(){return(fO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Tue(n){return pO.apply(this,arguments)}function pO(){return(pO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Mue(n.slice(0,5))}`:null})).apply(this,arguments)}function Mue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const _z={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Oue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},_z),n.globalOptions};function Rue(n,e,t,i){return t=t||[],function(n,e){bz(n,null,_z,Oue,e);for(const t of e)bz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Due),wz(r,_O()),wz(r,e),r}(e,n,i)}function yz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>gz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:gz}function bz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)mz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Pue(a,r);mz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Pue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function wz(n,e){for(const t in e)t in e&&(n[t]=uz(e[t])&&uz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Lue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Bue=eu.global||eu.self||eu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,jue="undefined"!=typeof window&&void 0!==window.orientation,Ez="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(Ez&&parseFloat(Ez[1]),new Map);function Sz(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function xz(n,e=!0,t){const i=t||new Set;if(n)if(Cz(n))i.add(n);else if(Cz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)xz(n[r],e,i);return void 0===t?Array.from(i):[]}function Cz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class Az{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||xz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?Sz(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=Sz(n.source),vO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Hue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Gue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Hue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return Az.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},$ue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Gue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function que(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Yue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Kue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=oi(function*(n,e,t,i,r){const s=n.id,o=que(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Xue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Xue(n,e,t,i){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var Mz=Je(521);function Dz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Mz.toArrayBuffer?Mz.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function ede(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Iz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function tde(n){return CO.apply(this,arguments)}function CO(){return(CO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return ede(...e)})).apply(this,arguments)}const rde=262144;function Oz(n){this.wrapped=n}function G0(n){return new Oz(n)}function $0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Oz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new $0(n.apply(this,arguments))}}function MO(){return(MO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function hde(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return dde(n,e);if(em(n)&&(n=yield pz(n)),H0(n)){const r=n;return yield Cue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(dz(n)&&(n=ude(n,t)),due(n)||hue(n))return tde(n);throw new Error(OO)})).apply(this,arguments)}function pde(n,e,t=null){if(t)return t;const i=ot({fetch:yz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function gde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Nz=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Pz(n){const e=Nz();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const _de=/\.([^.]+)$/;function yde(n){return FO.apply(this,arguments)}function FO(){return(FO=oi(function*(n,e=[],t,i){if(!kz(n))return null;let r=Fz(n,e,Sn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Fz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Lz(n));return r})).apply(this,arguments)}function Fz(n,e=[],t,i){if(!kz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Nz()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&_de.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(xde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Bz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Bz(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Lz(n));return s}function kz(n){return!(n instanceof Response&&204===n.status)}function Lz(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function xde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Bz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const Fde={data:{type:"data",value:Nde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(ot({},r),{fetch:Sn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:W0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):W0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ui.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let q0=(()=>{class n extends cue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=iz(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=KU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Ui.DEFAULT&&(t=i.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=jU(t,i,r),h=iz(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ui.DEFAULT||t===Ui.LNGLAT||t===Ui.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Ule(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Pde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rjz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=A0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,jz)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=OU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&RU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&RU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Ple(n,e),transitionsChanged:Ole(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Ele(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new uue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Tle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Fde,n})(),Vz=(()=>{class n extends q0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H,_subLayerProps:U}=this.props,de={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H},Ae=U&&U[t.id],Pe=Ae&&Ae.updateTriggers,Be=t.id||"sublayer";if(Ae){const et=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Ae){const Ct=wt[vt]||et[vt];Ct&&"accessor"===Ct.type&&(Ae[vt]=this.getSubLayerAccessor(Ae[vt]))}}Object.assign(de,t,Ae),de.id="".concat(this.props.id,"-").concat(Be),de.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const et of C){const wt=et.getSubLayerProps.call(this,et);wt&&Object.assign(de,wt,{updateTriggers:Object.assign(de.updateTriggers,wt.updateTriggers)})}return de}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Lde=/([0-9]+\.?[0-9]*)(%|px)/;function KS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Lde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function XS(n,e){return n.relative?Math.round(n.position*e):n.position}function Y0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Y0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Y0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:XS(this._x,e),y:XS(this._y,t),width:XS(this._width,e),height:XS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=KS(e),this._y=KS(t),this._width=KS(i),this._height=KS(r)}}const K0=()=>{},Uz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Bde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},Uz),t),this.propsInTransition=null,this.transition=new L0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},Uz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const zz=["longitude","latitude","zoom","bearing","pitch"],Vde=["longitude","latitude","zoom"];class Hz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!T0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:zz,extract:zz,required:Vde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=vS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,vS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},Ude={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},ZS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Bde(e,Sn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(ot({},Ude),{transitionInterpolator:new Hz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(ot({},t),{transitionInterpolator:new Hz(Sn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class Gz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class JS extends Gz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Hde extends zO{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Gde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const $de=(new qn).lookAt({eye:[0,0,1]});function Wde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class qde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(ot({},e),{longitude:null,position:a,viewMatrix:$de.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Wde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=VS([],e,VU([],j0(t,this.pixelUnprojectionMatrix)));return{target:VS([],this.center,r)}}}let Yde=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrthographicView",n})();const ex=Math.PI/180;function Kde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ex/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ex),"Z"===t?c.rotateZ(r*ex):c.rotateY(r*ex);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Xde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(ot({},e),{longitude:null,viewMatrix:Kde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Qde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(ot({},t),{orbitAxis:i,type:Xde}))}get controller(){return this._getControllerProps({type:Hde})}}return n.displayName="OrbitView",n})();const Zde=[255,255,255],Jde=1;let ehe=0;class $z{constructor(e={}){const{color:t=Zde}=e,{intensity:i=Jde}=e;this.id=e.id||"ambient-".concat(ehe++),this.color=t,this.intensity=i,this.type="ambient"}}const the=[255,255,255],nhe=1,ihe=[0,0,-1];let rhe=0;class Wz{constructor(e={}){const{color:t=the}=e,{intensity:i=nhe}=e,{direction:r=ihe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(rhe++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class qz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=Yz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||Yz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class lhe extends HO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const uhe=Object.keys(Ui).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Ui[n],";")).join(""),dhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),hhe="".concat(uhe,"\n").concat(dhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),fhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:hhe,getUniforms:function(n=fhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Ui.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ui.DEFAULT&&(i=n.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN);const o=mce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||fce,o}(n):{}}},_he=kS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),yhe=kS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),bhe=[0,0,0,1],vhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||bhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=_he({viewport:n.viewport,center:e.project_uCenter}),r=[],s=yhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Che={color:[255,255,255],intensity:1},Kz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ahe=[0,0,0,200/255];class WO extends qz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=Ahe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Mhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Dhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=W0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ihe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Dhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ohe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],Rhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Nhe(n){const e=F0.getDefaultProgramManager(n);for(const t of Ohe)e.addDefaultModule(t);for(const t of Rhe)e.addShaderHook(t);return e}const khe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Lhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ihe({gl:e,protocol:"deck://"}),this.context=Sn(ot({},khe),{layerManager:this,gl:e,deck:t,programManager:e&&Nhe(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Xz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Bhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Y0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Vhe extends Gz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de,normalize:Ae}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Ae}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=HU(t+180,360)-180),(o<-180||o>180)&&(o=HU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Uhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Vhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let zhe=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:nz}))}get controller(){return this._getControllerProps({type:Uhe})}}return n.displayName="MapView",n})();const Hhe=new WO;class Ghe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Y0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Hhe)}}class $he extends HO{}const Zz={blendFunc:[1,0,32771,0],blendEquation:32774};class Jz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Sn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Zz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(ot({},Zz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class qhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $he(e),this.pickLayersPass=new Jz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Yhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Khe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let C=0;C=0){const U=C+o-t,de=U*U+w;de<=u&&(u=de,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const C=w.decodePickingColor(m),H=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:C,pickedX:o+(h/4-H*l),pickedY:a+H}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Yhe}function e4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Qhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(w=>w.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=e4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=ot({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=t4({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function t4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Jhe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Jz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:e4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:w,height:C}=this.pickingFBO,H=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:C});let U;const de=[],Ae={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:H,width:w.x+w.width-g,height:m-H},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Be=Number.isFinite(c);for(let et=0;et=c);et++){const wt=Ae[et];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=t4({layer:wt.pickedLayer,info:vt,mode:l}),Pe.has(vt.object)||Pe.set(vt.object,vt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return bS(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const efe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class tfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,efe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function n4(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},i4=nu.global||nu.self||nu.window,ife="object"!=typeof process||"[object process]"!==String(process)||process.browser,r4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:rfe}=(r4&&parseFloat(r4[1]),i4),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,sfe=Boolean(rfe),KO=!!ife||sfe;function s4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function o4(n){switch(s4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const lfe=/^data:image\/svg\+xml/,cfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(lfe.test(n)||cfe.test(n))}function ufe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return l4(n,e)}function l4(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function c4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){const i=ufe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield dfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function dfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const hfe={};let u4=!0;function ffe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=oi(function*(n,e,t){let i;i=XO(t)?yield c4(n,e,t):l4(n,t);const r=e&&e.imagebitmap;return yield pfe(i,r)})).apply(this,arguments)}function pfe(n){return eR.apply(this,arguments)}function eR(){return(eR=oi(function*(n,e=null){if((gfe(e)||!u4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),u4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function gfe(n){for(const e in n||hfe)return!1;return!0}const iu=!1,X0=!0;function tR(n){const e=Q0(n);return function(n){const e=Q0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=Q0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,X0),height:e.getUint16(8,X0)}:null}(e)||function(n){const e=Q0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,X0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,X0),height:e.getUint32(22,X0)}:null}(e)}function Q0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function wfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=i4;return n4(i),i(n,t,e)}function nR(){return(nR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(Sfe(r)){case"imagebitmap":a=yield ffe(n,e,s);break;case"image":a=yield c4(n,e,s);break;case"data":a=yield wfe(n,e);break;default:n4(!1)}return"data"===r&&(a=o4(a)),a})).apply(this,arguments)}function Sfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(KO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||KO;case"imagebitmap":return YO;case"image":return qO;case"data":return KO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Cfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Z0="8.5.8",tx=nm.CO.deck&&nm.CO.deck.VERSION;if(tx&&tx!==Z0)throw new Error("deck.gl - multiple versions detected: ".concat(tx," vs ").concat(Z0));tx||(Ri.log(1,"deck.gl ".concat(Z0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:Z0,version:Z0,log:Ri,_registerLoggers:function(n){MI=n}}),Pz([Cfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Afe=nm.CO.deck;class nx extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=wV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const d4=yS()&&"undefined"!=typeof document;let kfe=0;class Lfe{constructor(e={}){const{onCreateContext:t=(C=>tV(C)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+kfe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(pn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nx.isSupported(this.gl,["timers"])?new nx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return pn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=d4?new Promise((e,t)=>{d4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(pn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(pn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Bfe=Je(524),ix=Je.n(Bfe);const jfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(ix().MouseInput);const Hfe=ix().Manager,ru=ix(),Gfe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,p4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},$fe={doubletap:["tap"]},Wfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},qfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},g4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Yfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let m4=!1;try{const n={get passive(){return m4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Kfe=-1!==Yfe.indexOf("firefox"),{WHEEL_EVENTS:Xfe}=sR,y4=4.000244140625;class Jfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Xfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!m4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Kfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%y4==0&&(t=Math.floor(t/y4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:epe}=sR,b4="pointermove",v4="pointerover",w4="pointerout",E4="pointerleave";class tpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=epe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===b4&&(this.enableMoveEvent=t),e===v4&&(this.enableOverEvent=t),e===w4&&(this.enableOutEvent=t),e===E4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:v4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:w4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:E4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:b4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:npe}=sR,S4="keydown";class ipe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=npe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===S4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:S4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const C4="contextmenu";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===C4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:C4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const spe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},A4={srcElement:"root",priority:0};class _pe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},A4,i):A4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&p4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Jfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new tpe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new ipe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new rpe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=$fe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=g4[e]||e;let c=a.get(l);c||(c=new _pe(this),a.set(l,c),c.recognizerName=qfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(g4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Wfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const T4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sx{constructor(e){e=ot(ot({},T4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!Y0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Lfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>tV(Sn(ot(ot({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new zhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new tfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Xz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in jj)this.eventManager.on(r,this._onEvent);this.viewManager=new Bhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Lhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Ghe,this.deckRenderer=new qhe(e),this.deckPicker=new Jhe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=jj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sx.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(qz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sx.defaultProps=T4,sx.VERSION=Afe.VERSION;const ox={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},Spe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},ax=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=Spe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),M4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return M4}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=M4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const D4=()=>{},Dpe={10241:9987,10240:9729,10242:33071,10243:33071};function Ipe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Ope(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function J0(n){return n&&(n.id||n.url)}function I4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(I4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&I4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ipe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Dpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=yV(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=C0(n);tn(p);const{gl:m,handle:w}=p,C=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const H=m.bindFramebuffer(36160,w);tn(e);let U=null;if(e instanceof Of&&(U=e,u=Number.isFinite(u)?u:U.width,h=Number.isFinite(h)?h:U.height,U.bind(0),e=U.target),C)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);U&&U.unbind(),m.bindFramebuffer(36160,H||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,W0(i.url,iR,this._loadOptions).then(r=>{const s=J0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Ope(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const O4=[0,0,0,255],kpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:O4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Lpe=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.state={iconManager:new Fpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:O4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=kpe,n})();const N4=[],jpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Vpe=(()=>{class n extends Lpe{getShaders(){return Sn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):N4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):N4}}return n.layerName="MultiIconLayer",n.defaultProps=jpe,n})();var Upe=Je(2),zpe=Je.n(Upe);const Gpe=[];function $pe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function P4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=P4(n,a,l,r);c+h>i&&(oi&&(h=F4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Kpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let w=0;w<=s;w++){const C=n[w];if(("\n"===C||w===s)&&(m=w),m>g){const H=c?Ype(n,t,i,r,g,m):Gpe;for(let U=0;U<=H.length;U++){const de=0===U?g:H[U-1],Ae=Ui===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),tge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function ige(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");W4(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:C}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:$pe(a+(l+1)*h)}}(ot({getFontWidth:H=>p.measureText(H).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const H=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(H,0,0)}if(W4(p,r,o,s),l){const H=new(zpe())(o,a,c,u,r,s),U=p.getImageData(0,0,H.size,H.size);for(const de of t)ige(H.draw(de),U),p.putImageData(U,g[de].x-a,g[de].y+a)}else for(const H of t)p.fillText(H,g[H].x,g[H].y+.9*o);return{xOffset:w,yOffset:C,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const age={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let lge=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=age,n})();const q4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},Y4={start:1,middle:0,end:-1},K4={top:1,center:0,bottom:-1},cR=[0,0,0,255],uge=["fontSize","buffer","sdf","radius","cutoff"],dge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:L4},fontFamily:B4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let hge=(()=>{class n extends Vz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new rge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(ot(ot({},q4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return uge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=xS(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=k4(h,l,o,a,r);return[(Y4["function"==typeof c?c(t,i):c]-1)*p/2,(K4["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[w,C]}=k4(h,l,o,a,r),H=Y4["function"==typeof c?c(t,i):c],U=K4["function"==typeof u?u(t,i):u],de=p.length,Ae=new Array(2*de);let Pe=0;for(let Be=0;Bet*e/255)}const dR={name:"lights",vs:X4,fs:X4,getUniforms:function Q4(n=fge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return Q4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},gge={};const _ge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=gge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,lx=new Float32Array(16),e5=new Float32Array(12);function t5(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function n5(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const i5={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let w;g?(lx.set(a),w=n5(lx)):(w=e5,t5(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:C,objectInfo:H}=xS(i,e,t);for(const U of C){let de;H.index++,g?(lx.set(c?a:a(U,H)),de=n5(lx)):(de=e5,t5(de,h?r:r(U,H),u?s:s(U,H)),de.set(p?o:o(U,H),9)),m[w++]=de[0],m[w++]=de[1],m[w++]=de[2],m[w++]=de[3],m[w++]=de[4],m[w++]=de[5],m[w++]=de[6],m[w++]=de[7],m[w++]=de[8],m[w++]=de[9],m[w++]=de[10],m[w++]=de[11]}}}};function r5(n,e){return e===Ui.CARTESIAN||e===Ui.METER_OFFSETS||e===Ui.DEFAULT&&!n.isGeospatial}function s5(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function vge(n,e){if(n.attributes)return s5(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return s5(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const wge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Ege=(()=>{class n extends q0{getShaders(){const t=!Si(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[ox,_ge,ax],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:i5}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||r5(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:vge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=wge,n})();const o5={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class eb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;pn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof eb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function a5(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],w=t[3],C=t[4],H=t[5],U=t[6],de=t[7],Ae=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=w*i+C*o+H*c,n[4]=w*r+C*a+H*u,n[5]=w*s+C*l+H*h,n[6]=U*i+de*o+Ae*c,n[7]=U*r+de*a+Ae*u,n[8]=U*s+de*l+Ae*h,n}function l5(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function c5(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function u5(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function cx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function d5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function h5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function f5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function p5(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function tb(n,e,t,i){var p,g,m,w,C,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-i)*p)/m,C=Math.sin(i*p)/m):(w=1-i,C=i),n[0]=w*r+C*l,n[1]=w*s+C*c,n[2]=w*o+C*u,n[3]=w*a+C*h,n}function g5(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function m5(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var _5=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=kU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},y5=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},b5=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},v5=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},E5=function(){var n=CV(),e=AV(1,0,0),t=AV(0,1,0);return function(i,r,s){var o=TV(r,s);return o<-.999999?(M0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&M0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(M0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();c5(),c5(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Rge=[0,0,0,1];class _R extends wS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return u5(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get w(){return this[3]}set w(e){this[3]=ar(e)}len(){return b5(this)}lengthSquared(){return v5(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return E5(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return _5(this,this,e),this.check()}calculateW(){return p5(this,this),this.check()}conjugate(){return m5(this,this),this.check()}invert(){return g5(this,this),this.check()}lerp(e,t,i){return y5(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),cx(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),cx(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Rge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),ES(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Nge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Pge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function S5(n){if(!n._animation){const e=Pge[n.componentType],t=Nge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:pn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:S5(e.accessors[a]),interpolation:l,output:S5(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Uge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Hge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Gge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(pn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function x5(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Yge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Kge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Xge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Kge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new zge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new eb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new eb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new eb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){pn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Gge(n,e);pn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Hge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[o5],defines:a.defines,parameters:a.parameters,vs:x5(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:x5(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),pn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Yge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function C5(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=D5(D5(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function D5(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,I5,O5,R5,N5,P5,F5,k5;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class bR{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,I5=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[I5](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ome extends om{constructor(){super(!0,8)}}class ame extends om{constructor(){super(!0,16)}}class lme extends om{constructor(){super(!0,32)}}class cme extends om{constructor(){super(!1,8)}}class ume extends om{constructor(){super(!1,16)}}class dme extends om{constructor(){super(!1,32)}}O5=Symbol.toStringTag;class L5 extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[O5](){return"Float"}toString(){return`Float${this.precision}`}}class hme extends L5{constructor(){super(32)}}class fme extends L5{constructor(){super(64)}}Symbol,Symbol,R5=Symbol.toStringTag,N5=Symbol.toStringTag,P5=Symbol.toStringTag,F5=Symbol.toStringTag,k5=Symbol.toStringTag;class pme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[k5](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ux{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new ux(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function B5(n,e,t){const i=t?j5(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ome;case Uint8Array:return new cme;case Int16Array:return new ame;case Uint16Array:return new ume;case Int32Array:return new lme;case Uint32Array:return new dme;case Float32Array:return new hme;case Float64Array:return new fme;default:throw new Error("array type not supported")}}(e.value);return new ux(n,new pme(e.size,new ux("value",r)),!1,i)}function j5(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const V5={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},yme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class vme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=j5(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=B5(o,n[o],s[o]);r.push(l)}if(t){const o=B5("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dx=Je(125);const SR={};function xR(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n,e=null,t={}){return e&&(n=Cme(n,e,t)),SR[n]=SR[n]||Ame(n),yield SR[n]})).apply(this,arguments)}function Cme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Ame(n){return AR.apply(this,arguments)}function AR(){return(AR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):Tme(yield(yield fetch(n)).text(),n):dx.requireFromFile&&(yield dx.requireFromFile(n))})).apply(this,arguments)}function Tme(n,e){if(!yO)return dx.requireFromString&&dx.requireFromString(n,e);if(bO)return eval.call(Bue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Mme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let nb;function Rme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){const e=n.modules||{};return nb=e.draco3d?nb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):nb||Nme(n),yield nb})).apply(this,arguments)}function Nme(n){return DR.apply(this,arguments)}function DR(){return(DR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(Mme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(Dme,"draco",n),yield xR(Ime,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Pme(e,t)})).apply(this,arguments)}function Pme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=Sn(ot({},M5),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=oi(function*(n,e){const{draco:t}=yield Rme(e),i=new vme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function rb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Lme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+rb(i.byteLength,4)}const U5=["SCALAR","VEC2","VEC3","VEC4"],Bme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],jme=new Map(Bme),Vme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ume={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},zme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function z5(n){return U5[n-1]||U5[0]}function H5(n){const e=jme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function G5(n,e){const t=zme[n.componentType],i=Vme[n.type],s=n.count*i,o=n.count*i*Ume[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Hme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Hme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=G5(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:z5(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:H5(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Lme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*e_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function t_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(fx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fx)})).apply(this,arguments)}function n_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fx,{}),e.addExtension(fx))}function i_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function r_e(n){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function s_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(px);if(i){const r=a_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,px);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=l_e(s.technique,e)),e.removeObjectExtension(s,px)}e.removeExtension(px)}})).apply(this,arguments)}function o_e(n,e){return jR.apply(this,arguments)}function jR(){return(jR=oi(function*(n,e){})).apply(this,arguments)}function a_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function l_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const q5={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Tt,KHR_techniques_webgl:dt};function c_e(n){return VR.apply(this,arguments)}function VR(){return(VR=oi(function*(n,e={},t){for(const r in q5){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield q5[r].decode(n,e,t))}})).apply(this,arguments)}const Y5={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},d_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class h_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,$5);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension($5)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in Y5)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in Y5)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=d_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function f_e(n,e={}){return(new h_e).normalize(n,e)}const p_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},g_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},m_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},__e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class v_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return g_e[n]}(e.componentType),e.components=function(n){return p_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=G5(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):__e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return m_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function w_e(n,e){return(new v_e).postProcess(n,e)}const K5=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),rb(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),rb(i,4)}function N_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=oi(function*(n,e,t=0,i,r){var s,o,a,l;P_e(n,e,t,i),f_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield F_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=k_e(n,i,r);c.push(h)}const u=c_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?w_e(n,i):n})).apply(this,arguments)}function P_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=K5}=t,s=i.getUint32(e,!1);return s===r||s===K5}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?C5(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?C5(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function F_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield V_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function V_e(n){return XR.apply(this,arguments)}function XR(){return(XR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const X5=[255,255,255,255],H_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:X5},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let G_e=(()=>{class n extends q0{getShaders(){const t=[ox,ax];return"pbr"===this.props._lighting&&t.push(o5),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:X5,transition:!0},instanceModelMatrix:i5})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Xge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return KR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:r5(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=H_e,n})();class $_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const H=i;i=(U,de,Ae,Pe,Be)=>H}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let H=0;H<=e;H++)for(let U=0;U<=t;U++){const de=U/t,Ae=H/e,Pe=U+H*(t+1),Be=2*Pe,et=3*Pe,wt=c*de,vt=o*Ae,Ct=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),mt=Bt*$t,Vt=Math.cos(vt),ft=Ct*$t,qt=i(mt,Vt,ft,de,Ae);h[et+0]=qt*mt,h[et+1]=qt*Vt,h[et+2]=qt*ft,p[et+0]=mt,p[et+1]=Vt,p[et+2]=ft,g[Be+0]=de,g[Be+1]=1-Ae}const C=t+1;for(let H=0;Hs?(gt=i,$t=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,$t=0),gt-=i/2;for(let Vt=0;Vts?0:ft*w,et[vt+Pe[1]]=Bt<0?-1:Bt>s?1:C,et[vt+Pe[2]]=Bt<0||Bt>s?0:qt*w,wt[Ct+0]=Vt/r,wt[Ct+1]=$t,Ct+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new le){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new le){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new le){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new le){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new le){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=rye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=sye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Z5),Z5.almostEquals(e,t)}clone(){return new le(this.x,this.y,this.z)}}le.ZERO=void 0,le.UNIT_X=void 0,le.UNIT_Y=void 0,le.UNIT_Z=void 0,le.ZERO=new le(0,0,0),le.UNIT_X=new le(1,0,0),le.UNIT_Y=new le(0,1,0),le.UNIT_Z=new le(0,0,1);const rye=new le,sye=new le,Z5=new le;class gr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new le,this.upperBound=new le,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const J5=new le,e8=[new le,new le,new le,new le,new le,new le,new le,new le];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new le){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=aye;e.tangents(i,lye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new le){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,w,C,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-t)*p)/m,C=Math.sin(t*p)/m):(w=1-t,C=t),i.x=w*r+C*l,i.y=w*s+C*c,i.z=w*o+C*u,i.w=w*a+C*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const aye=new le,lye=new le,cye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let gn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=cye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new le,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new le){return i.vsub(e,r),t.conjugate(n8),n8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new le){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new le){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new le){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const n8=new hs;class Bf extends gn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:gn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new le;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new le,u=new le,h=new le,p=new le,g=new le,m=new le;let w=Number.MAX_VALUE;const C=this;if(C.uniqueAxes)for(let H=0;H!==C.uniqueAxes.length;H++){i.vmult(C.uniqueAxes[H],c);const U=C.testSepAxis(c,e,t,i,r,s);if(!1===U)return!1;U0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,QR),Bf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?mn.STATIC:mn.DYNAMIC,typeof e.type==typeof mn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=mn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new le,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new le,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new le,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new le,this.invInertia=new le,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new le,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new le(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new le(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new gr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new le,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=mn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===mn.SLEEPING&&this.dispatchEvent(mn.wakeupEvent)}sleep(){this.sleepState=mn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===mn.AWAKE&&ir?this.wakeUp():t===mn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(mn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===mn.SLEEPING||this.type===mn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new le){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new le){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new le,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=hye,o=fye,a=this.quaternion,l=this.aabb,c=pye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=gye,r=mye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=_ye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=yye,r=bye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===mn.DYNAMIC&&(this.sleepState===mn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=t,r=vye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=wye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=Eye,r=Sye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=xye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mx.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new le;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==mn.DYNAMIC&&this.type!==mn.KINEMATIC||this.sleepState===mn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,w=this.angularFactor,C=l.x*w.x,H=l.y*w.y,U=l.z*w.z;s.x+=e*(m[0]*C+m[1]*H+m[2]*U),s.y+=e*(m[3]*C+m[4]*H+m[5]*U),s.z+=e*(m[6]*C+m[7]*H+m[8]*U),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}mn.idCounter=0,mn.COLLIDE_EVENT_NAME="collide",mn.DYNAMIC=1,mn.STATIC=2,mn.KINEMATIC=4,mn.AWAKE=0,mn.SLEEPY=1,mn.SLEEPING=2,mn.wakeupEvent={type:"wakeup"},mn.sleepyEvent={type:"sleepy"},mn.sleepEvent={type:"sleep"};const hye=new le,fye=new hs,pye=new gr,gye=new su,mye=new su,_ye=new le,yye=new le,bye=new le,vye=new le,wye=new le,Eye=new le,Sye=new le,xye=new le;new le,new le;class _x{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new le,this.rayToWorld=new le,this.hitNormalWorld=new le,this.hitPointWorld=new le,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let i8,r8,s8,o8,a8,l8,c8;i8=gn.types.SPHERE,r8=gn.types.PLANE,s8=gn.types.BOX,o8=gn.types.CYLINDER,a8=gn.types.CONVEXPOLYHEDRON,l8=gn.types.HEIGHTFIELD,c8=gn.types.TRIMESH;class bs{get[i8](){return this._intersectSphere}get[r8](){return this._intersectPlane}get[s8](){return this._intersectBox}get[o8](){return this._intersectConvex}get[a8](){return this._intersectConvex}get[l8](){return this._intersectHeightfield}get[c8](){return this._intersectTrimesh}constructor(e=new le,t=new le){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new le,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new _x,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new _x,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(u8),nN.length=0,e.broadphase.aabbQuery(e,u8,nN),this.intersectBodies(nN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Oye,s=Rye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new le(0,0,1);t.vmult(c,c);const u=new le;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;C>=0&&C<=1&&(o.lerp(a,C,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Lye,l=h8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,C=m.distanceTo(this.to),H=c?c.length:u.length,U=this.result;for(let de=0;!U.shouldStop&&deC||this.reportIntersection(a,ba,s,r,Ae)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Bye,l=Gye,c=$ye,u=h8,h=jye,p=Vye,g=Uye,m=Hye,w=zye,C=e.indices,H=this.from,U=this.to,de=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,de,h),Wi.pointToLocalFrame(i,t,H,p),Wi.pointToLocalFrame(i,t,U,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Ae=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Be=l.length;!this.result.shouldStop&&Pe!==Be;Pe++){const et=l[Pe];e.getNormal(et,a),e.getVertex(C[3*et],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(C[3*et+1],au),e.getVertex(C[3*et+2],lu);const Ct=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||Ct>Ae||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(w,m,s,r,et))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function i6(){Pz([M5,cm])}function r6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oN(n,e){return Li(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),r6(n.scenegraphNode,r)})}function Wve(n,e){return Li(this,void 0,void 0,function*(){return r6(n,yield e)})}function aN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new $_e;break;case"cone":i=new K_e;break;case"cylinder":i=new X_e;break;case"cube":default:i=new nye}return new Ege(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ui.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function s6(n,e,t){if(e&&0!==e.length)return new hge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Yve=(()=>{class n extends Vz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),i6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new G_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Ui.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Wve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(s6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(s6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Li(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new gr({lowerBound:new le(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new le(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield W0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new gr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function o6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),o6(t,e);return e}let Xve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Yve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Yde({flipY:!1,near:-1e3}):new Qde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new $z({color:[255,255,255],intensity:10})})]),this.deck=new sx(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Li(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Li(this,void 0,void 0,function*(){i6();const i=yield oN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),p=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new gr({lowerBound:new le(...h.map((g,m)=>Math.min(g,p[m]))),upperBound:new le(...p.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of o6(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new le(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return or([Hf.ZP],n.prototype,"_onHover",null),or([Hf.ZP],n.prototype,"_onClick",null),or([Hf.ZP],n.prototype,"_onViewStateChange",null),or([Hf.ZP],n.prototype,"_onDragStart",null),or([Hf.ZP],n.prototype,"_onDrag",null),or([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Qve(n,e){return n===e}function Zve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cN=new Ht("INITIAL_STATE_TOKEN");let twe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const a6=new Ht("Internals.StateContextFactory"),l6=new Ht("Internals.StateFactory");function hb(...n){if(1===n.length){const e=n[0];if(P(e))return Tx(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Tx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Tx(n=1===n.length&&P(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return Tx(n,null)}function Tx(n,e){return new I(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Ji(n,e){return function(i){return i.lift(new nwe(n,e))}}class nwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new iwe(e,this.predicate,this.thisArg))}}class iwe extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const c6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Yi(n){return e=>0===n?uS():e.lift(new swe(n))}class swe{constructor(e){if(this.total=e,this.total<0)throw new c6}call(e,t){return t.subscribe(new owe(e,this.total))}}class owe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function u6(n,e){return e?t=>t.pipe(u6((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new awe(n))}class awe{constructor(e){this.project=e}call(e,t){return t.subscribe(new lwe(e,this.project))}}class lwe extends ve{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Mx(n=null){return e=>e.lift(new cwe(n))}class cwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new uwe(e,this.defaultValue))}}class uwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new dwe(n),r=t.lift(i);return i.caught=r}}class dwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new hwe(e,this.selector,this.caught))}}class hwe extends ve{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function mr(n){return e=>e.lift(new fwe(n))}class fwe{constructor(e){this.notifier=e}call(e,t){const i=new pwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class pwe extends ve{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new gwe(n,e,t))}}class gwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new mwe(e,this.nextOrObserver,this.error,this.complete))}}class mwe extends y{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new _we(n,e))}class _we{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new ywe(e,this.compare,this.keySelector))}}class ywe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let d6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const h6=new Ht("ROOT_STATE_TOKEN"),f6=new Ht("FEATURE_STATE_TOKEN"),p6=new Ht("NGXS_PLUGINS"),g6=new Ht("NG_TEST_MODE"),m6=new Ht("NG_DEV_MODE"),sd="NGXS_META",_6="NGXS_OPTIONS_META",uN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=d6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class bwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const y6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const b6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Dx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dN=n=>n&&"object"==typeof n&&!Array.isArray(n),hN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dN(n)&&dN(t))for(const i in t)dN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hN(n,...e)};function fN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return fb(n)}function fb(n){return n[sd]}function gN(n){return n[uN]}function v6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ji(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Iwe(){return me(n=>n.action)}function Ix(n){return e=>new I(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Ox=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(y6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Nwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Rx=(()=>{class n extends Nwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pwe=(()=>{class n extends I{constructor(t,i){super(r=>{const s=t.pipe(Ix(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E6=n=>(...e)=>n.shift()(...e,(...i)=>E6(n)(...i));let Nx=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12),Oe(p6,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_N=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Ix(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?dn(this._stateStream.getValue()):hb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return E6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Ji(i=>i.action===t&&"DISPATCHED"!==i.status),Yi(1),$a())}createDispatchObservable(t){return t.pipe(u6(i=>{switch(i.status){case"SUCCESSFUL":return dn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Rx),Oe(_N),Oe(mN),Oe(Nx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const x6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&x6(n[i])}),n};let C6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Oe(m6),Oe(g6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),A6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Oe(C6),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=x6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(S6),Oe(Gf),Oe(A6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Px=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Dx(l,t.path)}function s(l,c){const u=b6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=w6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Fx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=fb(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Fx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=Ax(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?v6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Fx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>b6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ji(t=>"DISPATCHED"===t.status),B(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),Mx({action:t,status:"CANCELED"}),bc(i=>dn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof I?(u=u.pipe(Mx({})),l.options.cancelUncompleted&&(u=u.pipe(mr(t.pipe(Twe(i)))))):u=dn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(dn({})),hb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Fx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Dx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Gf),Oe(n,12),Oe(Rx),Oe(_N),Oe(Px),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ji(()=>!!i),Yr(()=>this.invokeInit(i.states)),B(()=>this.bootstrapper.appBootstrapped$),Ji(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=w6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm),Oe(Px),Oe(lN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kx_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function kwe(n,e,t){const i=t&&t.containerClass,s=Ax(function(...c){const u=e.apply(i,c);return u instanceof Function?Ax.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uN)||Object.defineProperty(n,uN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kx_getOptions(n.containerClass)||{},kx_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&fb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>M6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function M6(n){const e=gN(n)||fb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?dn(void 0):Fg(r)}),rd(),Ix(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Ix(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return M6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(gm),Oe(Gf),Oe(Ox),Oe(mm),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),pb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Uwe{static get type(){return"@@INIT"}}class zwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Lx=new kg(1);let Gwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Lx.next(t)}catch(n){Lx.next(!1)}finally{Lx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Uwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Oe(mm),Oe(gm),Oe(cu),Oe(pb),Oe(h6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})(),$we=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new zwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(gm),Oe(mm),Oe(f6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:Gwe,providers:[mm,Px,Pwe,Rx,lN,A6,C6,yN,S6,_N,gm,Ox,cu,Nx,pb,mN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:$we,providers:[mm,mN,...e,{provide:f6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:g6,useValue:ewe},{provide:m6,useValue:Ba},{provide:y6,useClass:t.executionStrategy||d6},{provide:h6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:PE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[lN]},{provide:cN,useFactory:Wo.getInitialState},{provide:a6,useExisting:Px},{provide:l6,useExisting:mm}]}static ngxsConfigFactory(e){return hN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return twe.pop()}}function bN(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=fN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function D6(n){return i=>{!function(n){Lx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[_6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Fx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[_6]=a}}function Bx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?v6(t.length?[e,...t]:e.split("."),pb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!pb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return pb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=kwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=xt({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Qx=new uc(cS);class nSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new iSe(e,this.total))}}class iSe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Zx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof vn?n.nativeElement:n}let GN;try{GN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){GN=!1}let xb,qf,$N,er=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!GN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc))},n.\u0275prov=We({factory:function(){return new n(Oe(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==xb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>xb=!0}))}finally{xb=xb||!1}return xb}()?n:!!n.capture}function BH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function eC(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let YH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===XH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=XH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||KH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(er))},token:n,providedIn:"root"}),n})();function KH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function XH(n){if(!KH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class SSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(Yi(1)).subscribe(e)}}let QH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new SSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(YH),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(YH),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const eG=new Ht("cdk-input-modality-detector-options"),MSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let nG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},MSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new nSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},token:n,providedIn:"root"}),n})();const sG=new Ht("cdk-focus-monitor-default-options"),iC=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return dn(null);const s=function(n){if(function(){if(null==$N){const n="undefined"!=typeof document?document.head:null;$N=!(!n||!n.createShadowRoot&&!n.attachShadow)}return $N}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,iC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(mr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,iC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},token:n,providedIn:"root"}),n})();const cG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Oe(cG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(cG,8))},token:n,providedIn:"root"}),n})();function rC(...n){return Nt(1)(dn(...n))}function ao(...n){const e=n[n.length-1];return Ce(e)?(n.pop(),t=>rC(n,t,e)):t=>rC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function fG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){fG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function gG(){return"undefined"!=typeof window&&void 0!==window.document}function QN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let tP=(n,e)=>!1,nP=(n,e)=>!1,yG=(n,e,t)=>[];const bG=QN();(bG||"undefined"!=typeof Element)&&(tP=gG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),nP=(()=>{if(bG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):nP}})(),yG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return iP(t)}matchesElement(t,i){return rP(t,i)}containsElement(t,i){return sP(t,i)}query(t,i,r){return oP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class sC{}sC.NOOP=new EG;function AG(n,e,t){return t?e+":"+t+";":""}function TG(n){let e="";for(let t=0;t{const r=dP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),QN()&&TG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=dP(t);n.style[i]=""}),QN()&&TG(n))}const zSe=/-+([a-z0-9])/g;function dP(n){return n.replace(zSe,(...e)=>e[1].toUpperCase())}function HSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Ib(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function AP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(me(r=>P(r)?i(...r):i(r))):new I(r=>{C$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function C$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let UCe=1;const zCe=Promise.resolve(),AC={};function A$(n){return n in AC&&(delete AC[n],!0)}const T$={setImmediate(n){const e=UCe++;return AC[e]=!0,zCe.then(()=>A$(e)&&n()),e},clearImmediate(n){A$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=T$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(T$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof I||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class qCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new YCe(e,this.durationSelector))}}class YCe extends ve{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function M$(n){return!P(n)&&n-parseFloat(n)+1>=0}function XCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=Qx){return function(n){return function(t){return t.lift(new qCe(n))}}(()=>function(n=0,e,t){let i=-1;return M$(e)?i=Number(e)<1?1:Number(e):Ce(e)&&(t=e),Ce(t)||(t=Qx),new I(r=>{const s=M$(n)?n:+n-t.now();return t.schedule(XCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let I$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new I(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):dn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ji(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(hn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn,8))},token:n,providedIn:"root"}),n})();class OP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class DC extends OP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends OP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class f1e extends OP{constructor(e){super(),this.element=e instanceof vn?e.nativeElement:e}}class IC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof DC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof f1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class p1e extends IC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends IC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(xe(wl),xe(Ns),xe(hn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[xn]}),n})();const L$=BH();class y1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),L$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),L$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class b1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class B${enable(){}disable(){}attach(){}}function RP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function j$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class v1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();RP(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let w1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new B$,this.close=o=>new b1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new y1e(this._viewportRuler,this._document),this.reposition=o=>new v1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();class RC{constructor(e){if(this.scrollStrategy=new B$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class E1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class S1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let V$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),x1e=(()=>{class n extends V${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),C1e=(()=>{class n extends V${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn),Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(hn),Oe(er))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},U$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Nb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||U$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Zx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(mr(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const z$="cdk-overlay-connected-position-bounding-box",T1e=/([A-Za-z%]+)$/;class H${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new se,this._resizeSubscription=x.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(z$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(z$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=W$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,p,g),C=m*w;return{visibleArea:C,isCompletelyWithinViewport:s.width*s.height===C,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=G$(this._overlayRef.getConfig().minHeight),a=G$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=W$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:j$(e,i),isOriginOutsideView:RP(e,i),isOverlayClipped:j$(t,i),isOverlayOutsideView:RP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Zx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof vn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function G$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(T1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function W$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class M1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new H$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new E1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const q$="cdk-global-overlay-wrapper";class D1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(q$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(q$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let I1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new D1e}connectedTo(t,i,r){return new M1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new H$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},n.\u0275prov=We({factory:function(){return new n(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},token:n,providedIn:"root"}),n})(),O1e=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new RC(t);return o.direction=o.direction||this._directionality.value,new A1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+O1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new p1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Oe(w1e),Oe(Nb),Oe(wl),Oe(I1e),Oe(x1e),Oe(Wn),Oe(fn),Oe(hn),Oe(Il),Oe(Pg),Oe(C1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function l7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof fd?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class nTe{encodeKey(e){return E7(e)}encodeValue(e){return E7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const rTe=/%(\d[a-f0-9])/gi,sTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function E7(n){return encodeURIComponent(n).replace(rTe,(e,t)=>{var i;return null!==(i=sTe[t])&&void 0!==i?i:e})}function S7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new nTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(S7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(S7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class oTe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function x7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function C7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function A7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new oTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class PC extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function jP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=dn(s).pipe(function(n,e){return B(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Ji(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,jP(r,i))}post(t,i,r={}){return this.request("POST",t,jP(r,i))}put(t,i,r={}){return this.request("PUT",t,jP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Oe(v7))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mTe=["*"];function R7(n){return Error(`Unable to find icon with the name "${n}"`)}function N7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function P7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let FC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw P7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw P7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw N7(t);const r=this._cachedIconsByUrl.get(i);return r?dn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=F7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(R7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?dn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?dn(r):hb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),dn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw R7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?dn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new eTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(F7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),k7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],xTe=k7.map(n=>`[${n}]`).join(", "),CTe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends vTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=x.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(xTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(CTe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(FC),Fo("aria-hidden"),xe(wTe),xe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Vi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[xn],ngContentSelectors:mTe,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function kTe(n,e){}class GP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const LTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let BTe=(()=>{class n extends IC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=eC(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=eC())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=eC();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(QH),xe(Dr),xe(hn,8),xe(GP),xe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[xn]}),n})(),jTe=(()=>{class n extends BTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&gE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Vi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),yE("@dialogContainer",i._state))},features:[xn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,kTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[LTe.dialogContainer]}}),n})(),VTe=0;class LC{constructor(e,t,i="mat-dialog-"+VTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Ji(r=>"opened"===r.state),Yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ji(r=>"closed"===r.state),Yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ji(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),$P(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$P(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ji(t=>"closing"===t.state),Yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $P(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const j7=new Ht("MatDialogData"),UTe=new Ht("mat-dialog-default-options"),V7=new Ht("mat-dialog-scroll-strategy");let GTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new I(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):uS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new GP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new RC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:GP,useValue:i}]}),o=new DC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new DC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,wn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:dn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(xe(wc),xe(Wn),xe(void 0),xe(void 0),xe(Nb),xe(void 0),xe(xu),xe(xu),xe(Ht))},n.\u0275dir=Rt({type:n}),n})(),kb=(()=>{class n extends GTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,LC,jTe,j7)}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(Pg,8),Oe(UTe,8),Oe(V7),Oe(n,12),Oe(Nb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WTe=0,U7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+WTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(xe(LC,8),xe(vn),xe(kb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),z7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const qP=new Ht("CdkAccordion");let KTe=0,QTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=x.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+KTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(xe(qP,12),xe(Dr),xe(I$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:qP,useValue:void 0}])]}),n})();const JTe=["body"];function eMe(n,e){}const tMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],nMe=["mat-expansion-panel-header","*","mat-action-row"];function iMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const rMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],sMe=["mat-panel-title","mat-panel-description","*"],YP=new Ht("MAT_ACCORDION"),G7="225ms cubic-bezier(0.4,0.0,0.2,1)",$7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))])};let oMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),aMe=0;const W7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let q7=(()=>{class n extends QTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+aMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Ji(()=>this.expanded&&!this._portal),Yi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(xe(YP,12),xe(Dr),xe(I$),xe(Ns),xe(hn),xe(Nl,8),xe(W7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();k3(r,new N3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}F3(r,jt(),t)}(r,oMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(JTe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:YP,useValue:void 0}]),xn,Hi],ngContentSelectors:nMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(tMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,eMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Vi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[$7.bodyExpansion]},changeDetection:0}),n})();class cMe{}const uMe=AP(cMe);let Y7=(()=>{class n extends uMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=x.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ji(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Ji(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ji(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(xe(q7,1),xe(vn),xe(du),xe(Dr),xe(W7,8),xe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Vi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Uy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[xn],ngContentSelectors:sMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(rMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,iMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[$7.indicatorRotate]},changeDetection:0}),n})();var K7=Je(478);Object.create(Error.prototype);const gMe=["*"];var jC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(jC||(jC={})),jC))();class _Me{}const Q7=new Ht("SECURITY_CONTEXT");let KP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new K7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=K7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc),Oe(Q7),Oe(ip,8),Oe(_Me,8),Oe(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Z7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,jC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sP(i)?t(...i):t(i))):new I(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new xMe(n,t))}}class xMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new CMe(e,this.observables,this.project))}}class CMe extends c7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class AMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new TMe(e,this.accumulator,this.seed,this.hasSeed))}}class TMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class IMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new OMe(e,this.predicate))}}class OMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const RMe=["youtubeContainer"];let nW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=dn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Yi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(XP(Yo([i,r])),me(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,dn(o)]).pipe(function(n){return ce(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&P(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new h7(e))}(n),function(n){return e=>e.lift(new IMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new AMe(n,e,t))}}(BMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),B(e=>e?iW(e)?dn(e):new I(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{iW(r)||r.destroy()})(e)}}).pipe(Yi(1),ao(void 0)):dn(void 0)),mr(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(ZP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(ZP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(ZP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XP(Yo([n,e,o,r])),me(([u,h])=>h),mr(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?J7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):dn()),i=>new I(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),mr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(xe(fn),xe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(RMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function BMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function iW(n){return"getPlayerStatus"in n}function ZP(n,e){return ce(XP(n),Ji(([t,i])=>e(i,t)),me(([t])=>t))}let YMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Bb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function JP(n){return Boolean(n)}function aW(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const UC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&UC(n[o])}),n};function lW(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const dW="NGXS_DATA_META",tF="NGXS_META",hW="NGXS_ARGUMENT_REGISTRY_META";let fW=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function jb(n){return n[dW]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(fW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(l6),Oe(a6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=jb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=We({token:ps,factory:ps.\u0275fac}),new kg(1);class gDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function pW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function gW(n){var e;const t=pW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=aW(void 0===t.defaults?{}:t.defaults);if(i.length){if(lW(s))return function(n,e){return e.reduce((t,i)=>{const r=pW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=gW(i),t},null!=n?n:{})}(s,i);throw new gDe(s)}return s}function _W(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function yW(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function bDe(n){let e=!1;return Tm(n)&&(e=!0),e}function nF(n){return n[hW]}class vDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class wDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(JP(this.argumentMap.has(e))||JP(this.payloadMap.has(e)))throw new vDe(e,t)}}function TDe(n){return{enumerable:!0,configurable:!0,get(){const e=jb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function bW(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(lW(i))for(;null!==i;){if(Bb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(_W(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),_W(n)}(this),o=null==s?void 0:s.get(i);if(Bb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==yW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:yW(),isObservable:bDe(l)}),l}return o.value},t}}const NDe={cancelUncompleted:!0,insideZone:!1};function iF(n=NDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=nF(r);if(Xa(h)){const U=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),de=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var U;return Bb(n.insideZone)?null===(U=Za.ngZone)||void 0===U||U.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?dn(null).pipe(me(()=>l)):l};const C=ps.createAction(h,o,g),H=Za.store.dispatch(C);return Tm(l)?function(n,e){return hb([n,e]).pipe(me(t=>t.pop()))}(H,l):l},i}}function vW(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(nF(t))&&Object.defineProperties(t,{[hW]:{enumerable:!0,configurable:!0,value:new wDe}}),nF(t)})(e,t).createPayloadType(r,t,i)}}function FDe(){return n=>{const e=function(n){if(function(n){return!JP(n)}(n.hasOwnProperty(tF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,tF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[tF]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=jb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,dW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),jb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>aW(t)},context:TDe(n)})}(n,e,gW(n)),function(n){var e,t;const i=jb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(me(o=>Ba()?UC(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let LDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),BDe=(()=>{class n extends LDe{get snapshot(){return function(n){return Ba()?UC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?UC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),or([iF(),Tj(0,vW("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),or([iF(),Tj(0,vW("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),or([iF(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),AF=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),QOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(AF))}),TF=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(AF),Fc(QOe))});let MF=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(jm),Oe(hn),Oe(TF))},n.\u0275prov=We({factory:function(){return new n(Oe(jm),Oe(hn),Oe(TF))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class D9 extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function yRe(){throw new D9}function bRe(){throw new D9}function OF(n,e,t){e.run(()=>n.dispatch(t))}function ERe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(OF(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(mr(i.cancelUncompleted$))),t.subscribe({next:r=>OF(n,e,r)}),t}(n,e,t,i):(OF(n,e,t),t)}class SRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const RF="\u0275fac",I9=Symbol("InjectorInstance"),O9=Symbol("FactoryHasBeenDecorated");function R9(n,e){const t=n[I9];return t?t.get(e):null}const ARe={cancelUncompleted:!1};function N9(n=ARe){return(e,t,i)=>{let r;const s=function(n){return n?new SRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=R9(this,cu)||yRe(),l=R9(this,fn)||bRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>ERe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(O9 in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[RF]&&function(n){const e=n[RF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[I9]=xe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,RF,{get:()=>i})}(e),n.constructor.prototype[O9]=!0}(e)}}const eNe=["bodyCanvas"];let tNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Li(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Xve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(eNe,5,vn),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),nNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[qr]]}),n})();function wNe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),mE("videoId",t.videoID)}}function ENe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,wNe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function SNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,ENe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let $9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(xe(LC),xe(j7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,SNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[U7,Nm,z7,Af,lc,q7,Y7,Z7,nW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),W9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Oe(ip))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),CNe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[U7,Nm,YMe,z7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Xb=(()=>{let n=class extends BDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ji(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(l7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(l7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW()],n.prototype,"config$",null),n=or([FDe(),D6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let kF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),LF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),BF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var jF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const K9="callToActionPopupShown";let Do=jF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(K9,`${i}`),s=jF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new LF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open($9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(RNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(K9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(Oe(kb),Oe(MF),Oe(wa),Oe(W9),Oe(ip))},Do.\u0275prov=We({token:Do,factory:Do.\u0275fac}),or([bN(kF)],Do.prototype,"learnMore",null),or([bN(LF)],Do.prototype,"open",null),or([bN(BF)],Do.prototype,"close",null),Do=jF=or([D6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let l1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return or([_m([Do])],n,"title",null),or([_m([Do])],n,"message",null),or([_m([Do])],n,"callToAction",null),or([_m([Do])],n,"imageUrl",null),or([_m([Do])],n,"expirationDate",null),or([_m([Do])],n,"popupShown",null),n})(),RNe=(()=>{class n{constructor(){this.close=()=>new BF,this.learnMore=()=>new kF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[CNe],pipes:[p0],styles:[""],changeDetection:0}),or([Bx(l1.title)],n.prototype,"title$",void 0),or([Bx(l1.message)],n.prototype,"message$",void 0),or([Bx(l1.callToAction)],n.prototype,"callToAction$",void 0),or([Bx(l1.imageUrl)],n.prototype,"imageUrl$",void 0),or([N9()],n.prototype,"close",void 0),or([N9()],n.prototype,"learnMore",void 0),n})();const X9="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",LNe=[173,255,47,229.5];var En=Je(440),zNe=Je(698),HNe=Je(445),GNe=Je.n(HNe),_r=Je(815),Qb=Je(609);const Pi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),Vm=(Pi("rdf"),Pi("rdf")("type"),{x:Pi("rdfs"),label:Pi("rdfs")("label"),comment:Pi("rdfs")("comment"),isDefinedBy:Pi("rdfs")("isDefinedBy"),seeAlso:Pi("rdfs")("seeAlso")}),co_label=(Pi("entity"),Pi("entity")("id"),Vm.label),co_description=Vm.comment,co_link=Vm.seeAlso,co_providerName=(Pi("entity")("sex"),Pi("entity")("age"),Pi("entity")("bmi"),En.DataFactory.literal("Male"),En.DataFactory.literal("Female"),Pi("entity")("consortium_name"),Pi("entity")("provider_name")),co_donor=(Pi("entity")("provider_uuid"),Pi("entity")("has_donor")),co_sections=Pi("entity")("has_tissue_section"),co_datasets=Pi("entity")("has_dataset"),co_sampleType=Pi("entity")("sample_type"),co_sectionCount=(En.DataFactory.literal("Tissue Block"),En.DataFactory.literal("Tissue Section"),En.DataFactory.literal("Non-standard"),Pi("entity")("section_count")),co_sectionSize=Pi("entity")("section_size"),co_sectionUnits=Pi("entity")("section_units"),co_sectionNumber=Pi("entity")("section_number"),co_spatialEntity=Pi("entity")("has_spatial_entity"),co_technology=(Pi("entity")("has_ontology_term"),Pi("entity")("has_cell_type_term"),Pi("entity")("technology")),co_thumbnail=Pi("entity")("has_thumbnail"),An=Pi("ccf"),md={x:An,ontologyNode:{label:An("ccf_preferred_label"),parent:An("ccf_part_of"),children:An("ccf_part_of"),rui_rank:An("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:An("ccf_part_of"),ct_is_a:An("ct_is_a"),located_in:An("located_in"),characterizes:An("characterizes")},spatial:{Female:An("VHFemale"),Male:An("VHMale"),BothSexes:An("VHBothSexes"),FemaleOrgans:An("VHFemaleOrgans"),MaleOrgans:An("VHMaleOrgans")},SpatialObjectReference:An("SpatialObjectReference"),SpatialEntity:An("SpatialEntity"),SpatialPlacement:An("SpatialPlacement"),spatialObjectReference:{file:An("has_object_file"),file_format:An("has_object_file_format"),file_subpath:An("has_object_file_subpath")},extractionSet:{label:Vm.label,rui_rank:An("ccf_rui_rank")},spatialEntity:{label:Vm.label,comment:Vm.comment,creator:Pi("dc")("creator"),creator_first_name:An("creator_first_name"),creator_last_name:An("creator_last_name"),creator_orcid:An("creator_orcid"),creation_date:An("creation_date"),updated_date:An("updated_date"),ccf_annotations:An("ccf_annotation"),representation_of:An("ccf_representation_of"),reference_organ:An("anatomical_structure_of"),extraction_set_for:An("extraction_set_for"),extraction_set:An("extraction_site_for"),sex:An("has_sex"),side:An("has_side"),rui_rank:An("ccf_rui_rank"),slice_thickness:An("ccf_slice_thickness"),slice_count:An("ccf_slice_count"),x_dimension:An("has_x_dimension"),y_dimension:An("has_y_dimension"),z_dimension:An("has_z_dimension"),dimension_units:An("has_dimension_units"),object:An("has_object_reference")},spatialPlacement:{source:An("has_placement_source"),target:An("has_placement_target"),placement_date:An("has_placement_date"),x_scaling:An("has_x_scaling"),y_scaling:An("has_y_scaling"),z_scaling:An("has_z_scaling"),scaling_units:An("has_scaling_units"),x_rotation:An("has_x_rotation"),y_rotation:An("has_y_rotation"),z_rotation:An("has_z_rotation"),w_rotation:An("has_theta_rotation"),rotation_order:An("has_rotation_order"),rotation_units:An("has_rotation_units"),x_translation:An("has_x_translation"),y_translation:An("has_y_translation"),z_translation:An("has_z_translation"),translation_units:An("has_translation_units")}},ui={x:Pi("uberon"),body:Pi("uberon")("0013702")},qNe={x:Pi("cl"),cell:Pi("cl")("0000000")},Zb={x:Pi("fma")},Q9=(Pi("lmha"),{body:ui.body,cell:qNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function VF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}VF(md.spatialObjectReference),VF(md.spatialEntity),VF(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const Hm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function lPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function ev(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return aq.copy(o).scale((-i+l)/a).add(t),this.center.copy(aq),this.radius=l,this}expand(e){const t=(e=tv.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(tv,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=tv.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Hm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),nq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const CPe=new Pn,APe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,TPe=new Pn,MPe=new Pn;class WF{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new cq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new cq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new WF(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new $F){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=CPe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Hm.OUTSIDE:c>=l?Hm.INSIDE:Hm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=APe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=TPe.copy(l).add(c).add(u).add(o),p=MPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const uq=new Pn,dq=new Pn;class qF{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=uq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(ev(this.normal.len(),1)),this.distance=r,this}clone(e){return new qF(this.normal,this.distance)}equals(e){return ev(this.distance,e.distance)&&ev(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=dq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=uq.from(e);const i=this.getPointDistance(e),r=dq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function yFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new qF(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,_r.memoize)(function(n){const e=function(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=yFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}(n,Q9.body.id,"body",md.asctb.part_of.id);return e.nodes[Q9.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const m1={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},m1),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},m1),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let e2;function Sc(){return e2||(e2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),e2}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const _1="Unknown Euler angle order",Wm=.99999;class tr extends wS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return tr.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return tr.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=tr.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new tr(p,g,m,tr.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get alpha(){return this[0]}set alpha(e){this[0]=ar(e)}get beta(){return this[1]}set beta(e){this[1]=ar(e)}get gamma(){return this[2]}set gamma(e){this[2]=ar(e)}get phi(){return this[0]}set phi(e){this[0]=ar(e)}get theta(){return this[1]}set theta(e){this[1]=ar(e)}get psi(){return this[2]}set psi(e){this[2]=ar(e)}get roll(){return this[0]}set roll(e){this[0]=ar(e)}get pitch(){return this[1]}set pitch(e){this[1]=ar(e)}get yaw(){return this[2]}set yaw(e){this[2]=ar(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(_1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,tr.ZYX)}fromRotationMatrix(e,t=tr.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case tr.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case tr.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case tr.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case tr.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case tr.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case tr.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(_1)}}_fromRotationMatrix(e,t=tr.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case tr.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!LFe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*r2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,En.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Qb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const Fi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),wq={x:Fi("rdf"),type:Fi("rdf")("type")},qm={x:Fi("rdfs"),label:Fi("rdfs")("label"),comment:Fi("rdfs")("comment"),isDefinedBy:Fi("rdfs")("isDefinedBy"),seeAlso:Fi("rdfs")("seeAlso")},yi={x:Fi("entity"),id:Fi("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Fi("entity")("sex"),age:Fi("entity")("age"),bmi:Fi("entity")("bmi"),Male:En.DataFactory.literal("Male"),Female:En.DataFactory.literal("Female"),consortiumName:Fi("entity")("consortium_name"),providerName:Fi("entity")("provider_name"),providerUUID:Fi("entity")("provider_uuid"),donor:Fi("entity")("has_donor"),sections:Fi("entity")("has_tissue_section"),datasets:Fi("entity")("has_dataset"),sampleType:Fi("entity")("sample_type"),TissueBlock:En.DataFactory.literal("Tissue Block"),TissueSection:En.DataFactory.literal("Tissue Section"),NonStandard:En.DataFactory.literal("Non-standard"),sectionCount:Fi("entity")("section_count"),sectionSize:Fi("entity")("section_size"),sectionUnits:Fi("entity")("section_units"),sectionNumber:Fi("entity")("section_number"),spatialEntity:Fi("entity")("has_spatial_entity"),ontologyTerms:Fi("entity")("has_ontology_term"),cellTypeTerms:Fi("entity")("has_cell_type_term"),technology:Fi("entity")("technology"),thumbnail:Fi("entity")("has_thumbnail")},Tn=Fi("ccf"),Bi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Fi("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Fi("uberon"),body:Fi("uberon")("0013702")},HFe={x:Fi("cl"),cell:Fi("cl")("0000000")},rv={x:Fi("fma")},bd=(Fi("lmha"),{body:di.body,cell:HFe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:rv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:rv.x("24978"),knee_right:rv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:rv.x("7214"),ovary_right:rv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function s2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const b1={spatialObjectReference:s2(Bi.spatialObjectReference),spatialEntity:s2(Bi.spatialEntity),spatialPlacement:s2(Bi.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",b1.spatialEntity);return t.extractionSites=(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",b1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",b1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Bi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function YFe(n,e){const t=dp(n,e,"SpatialPlacement",b1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(SV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new zNe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,Bi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,Bi.SpatialEntity,null);const t={};for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=GNe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,YFe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,_r.get)(e,"placement[0]",(0,_r.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new tr).fromRotationMatrix(s,tr.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(bse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${UFe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Bi.spatialEntity.reference_organ,null,null),(0,_r.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Bi.spatial.Male.id;break;case"Female":t=Bi.spatial.Female.id;break;case"Both":default:t=Bi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Bi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(SV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const v1="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),XFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class JFe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Be=>"Donor"===Be.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=v1+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},C=[];this.sections=C;const H=[];this.datasets=H;for(const Be of c.filter(et=>"Sample"===et.entity_type)){const et=this.getSection(Be,e,i);w[Be.submission_id]=et,C.push(et),et.section_number=null!==(s=et.section_number)&&void 0!==s?s:C.length}for(const Be of c)if("Dataset"===Be.entity_type){const et=this.getDataset(Be,t,i,r),wt=(0,_r.get)(Be,["ingest_metadata","metadata","tissue_id"]);w[wt]?null===(o=w[wt].datasets)||void 0===o||o.push(et):H.push(et)}const U=null!=h?h:{},de=`${U.x_dimension} x ${U.y_dimension} x ${U.z_dimension} ${U.dimension_units}`;this.section_count=U.slice_count||C.length;const Ae=parseFloat((U.slice_thickness||(U.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Ae;const Pe=U.dimension_units||"millimeter";this.section_units=Pe,this.description=`${de}, ${Ae} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,C.forEach((Be,et)=>{Be.description=`${U.x_dimension} x ${U.y_dimension} x ${Ae} ${Pe}, ${Ae} ${Pe}, ${Be.description}`,Be.section_number=et+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":v1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,_r.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":v1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,_r.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=XFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,_r.toNumber)(s[1]));for(const p of(0,_r.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,_r.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,_r.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":v1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,_r.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,_r.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,_r.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,_r.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const t2e=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],n2e={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:n2e,_source:{includes:t2e}})}function o2(n,e){return Li(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Li(this,void 0,void 0,function*(){let o;if("static"===e?o=yield o2(n):"search-api"===e&&(o=yield function(n,e,t){return Li(this,void 0,void 0,function*(){const r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,50,t),o=yield o2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=50)return o;const l=[];for(let h=50;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,_r.get)(n,"hits.hits",[]).map(c=>(0,_r.get)(c,"_source",{})).map(c=>new JFe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function sv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,En.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const l2e={[Bi.spatialEntity.x_dimension.id]:"x",[Bi.spatialEntity.y_dimension.id]:"y",[Bi.spatialEntity.z_dimension.id]:"z"};function u2e(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",l2e);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new tr).fromRotationMatrix(r,tr.XYZ).toQuaternion().normalize().calculateW();s=(new WF).fromCenterHalfSizeQuaternion(o,a,l)}return s}function d2e(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=u2e(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function w1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function a2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ov(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.namedNode(r);n.forSubjects(ov(e,i),Bi.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,En.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,En.readQuads)(e,r,Bi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function A2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Bi.ontologyNode.label.id]:"label",[t]:"parent",[Bi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of r2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=A2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const Nq=(0,_r.memoize)(function(n){const e=Rq(n,bd.body.id,"body",Bi.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),E1={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},D2e=Object.assign(Object.assign({},E1),{[yi.providerName.id]:"providerName"}),I2e=Object.assign(Object.assign({},E1),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),O2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),R2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function N2e(n,e){return dp(n,e,"Donor",D2e)}function Pq(n,e){return dp(n,e,"Dataset",I2e)}function P2e(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of r2(n,e,O2e))if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]=r;return t}class k2e{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Li(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const B2e={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class j2e{constructor(e=B2e){this.options=e,this.store=new En.Store(void 0,{factory:En.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Li(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Li(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield vq(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([i,t]).catch(()=>{}):s=yield vq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Li(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,En.deserializeN3Store)(s,En.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,En.deserializeN3Store)(o,En.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Li(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Li(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,En.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,En.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,En.addRdfXmlToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Li(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Nq(n),s=new Map;for(const{subject:o,object:a}of(0,En.readQuads)(n,null,Bi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>En.DataFactory.namedNode(u)))}for(const{object:o}of(0,En.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,En.readQuads)(n,null,Bi.spatialPlacement.source,o,null))for(const{object:l}of(0,En.readQuads)(n,a,Bi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(En.DataFactory.namedNode(o.id),Bi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,En.serializeN3Store)(this.store)}deserialize(e){return Li(this,void 0,void 0,function*(){this.store=(0,En.deserializeN3Store)(e,En.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ov(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=w1(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(ov(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=w1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,En.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,En.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=a2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)d2e(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=a2(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=a2(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Bi.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,_r.isFinite)(t.ageRange[0])&&(0,_r.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.age,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,_r.isFinite)(t.bmiRange[0])&&(0,_r.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(En.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(En.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Li(this,void 0,void 0,function*(){return this.status||(this.status=new k2e(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Li(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of r2(n,e,R2e))if("sections"===i){const s=P2e(n,r);t[i].push(s)}else if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]="donor"===i?N2e(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t=sv(e,n,yi.donor.id),i=sv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,En.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=sv(e,r,yi.sections.id),o=new Set([...sv(e,r,yi.datasets.id),...sv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,En.readQuads)(e,null,Bi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Li(this,void 0,void 0,function*(){return Nq(this.store)})}getCellTypeTreeModel(){return Li(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",Bi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Li(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Li(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function H2e(n,e){return n===e}let G2e=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new x,this.dataSource=i.getOption("data").pipe(me(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Ji(r=>Object.keys(r).length>0),me(r=>r),rd(H2e),Ir(r=>function(n,e){return new I(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Yi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Yi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Yi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Yi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Yi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Yi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Yi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Yi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Yi(1))}createDataSource(){return{source:new j2e,unsubscribe:()=>{}}}connectDataSource(t,i){return Li(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),y0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(Xb))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),$2e=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(me(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(me(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(me(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(me(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,LNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(me(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[X9];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return dn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[X9].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(Oe(Xb),Oe(G2e))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const W2e=["bodyUI"];let q2e=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Li(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Yi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe($2e),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(W2e,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[tNe],pipes:[p0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function Y2e(n,e){if(1&n){const t=jt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function K2e(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let X2e=(()=>{class n extends wie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},y0.dbOptions),globalThis.dbOptions),parse:{data:K2e}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[xn],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,Y2e,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,q2e],encapsulation:2,changeDetection:0}),n})(),Q2e=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,fW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(ps,2),Oe(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const A1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class eke{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return A1(n.getHours(),2)+":"+A1(n.getMinutes(),2)+":"+A1(n.getSeconds(),2)+"."+A1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class tke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Fq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let nke=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new tke(this._options),this._store=this._store||this._injector.get(cu);const s=new eke(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Fq),Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kq=new Ht("LOGGER_USER_OPTIONS");function ike(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let rke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:p6,useClass:nke,multi:!0},{provide:kq,useValue:t},{provide:Fq,useFactory:ike,deps:[kq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const ske=[Xb];let oke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[Q2e.forRoot(),Wo.forRoot(ske,{developmentMode:!y0.production}),rke.forRoot({disabled:y0.production})]]}),n})(),ake=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new gie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends _ie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(X2e,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[],imports:[[YD,oke,nNe]]}),n})();y0.production&&function(){if(cB)throw new Error("Cannot enable prod mode after platform setup.");lB=!1}(),Bne().bootstrapModule(ake).catch(n=>console.error(n))},52:Ut=>{function it(yt,ee,Tt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(P){return void Tt(P)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Tt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Tt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},948:Ut=>{Ut.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},321:Ut=>{function it(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(Je)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},380:Ut=>{function it(Je){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+Je+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=380,Ut.exports=it},521:()=>{},125:()=>{},307:()=>{}},Ut=>{Ut(Ut.s=935)}]); \ No newline at end of file +var lke=Object.defineProperty,cke=Object.defineProperties,uke=Object.getOwnPropertyDescriptors,T1=Object.getOwnPropertySymbols,Bq=Object.prototype.hasOwnProperty,jq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Vq=(Ut,it,Je)=>it in Ut?lke(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ut[it]=Je,ot=(Ut,it)=>{for(var Je in it||(it={}))Bq.call(it,Je)&&Vq(Ut,Je,it[Je]);if(T1)for(var Je of T1(it))jq.call(it,Je)&&Vq(Ut,Je,it[Je]);return Ut},Sn=(Ut,it)=>cke(Ut,uke(it)),Uq=(Ut,it)=>{var Je={};for(var yt in Ut)Bq.call(Ut,yt)&&it.indexOf(yt)<0&&(Je[yt]=Ut[yt]);if(null!=Ut&&T1)for(var yt of T1(Ut))it.indexOf(yt)<0&&jq.call(Ut,yt)&&(Je[yt]=Ut[yt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(Ut,it,Je)=>{var yt=Je(52).default;Ut.exports=function Y(Se,he,W){function j(z,v){if(!he[z]){if(!Se[z]){if(P)return P(z,!0);var O=new Error("Cannot find module '"+z+"'");throw O.code="MODULE_NOT_FOUND",O}var A=he[z]={exports:{}};Se[z][0].call(A.exports,function(b){return j(Se[z][1][b]||b)},A,A.exports,Y,Se,he,W)}return he[z].exports}for(var P=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){$e=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ce-4:ce;for($=0;$>16&255,I[X++]=R>>8&255,I[X++]=255&R;return 2===D&&(R=j[V.charCodeAt($)]<<2|j[V.charCodeAt($+1)]>>4,I[X++]=255&R),1===D&&(R=j[V.charCodeAt($)]<<10|j[V.charCodeAt($+1)]<<4|j[V.charCodeAt($+2)]>>2,I[X++]=R>>8&255,I[X++]=255&R),I},he.fromByteArray=function(V){for(var R,K=V.length,ce=K%3,D=[],I=16383,X=0,E=K-ce;XE?E:X+I));return 1===ce?D.push(W[(R=V[K-1])>>2]+W[R<<4&63]+"=="):2===ce&&D.push(W[(R=(V[K-2]<<8)+V[K-1])>>10]+W[R>>4&63]+W[R<<2&63]+"="),D.join("")};for(var W=[],j=[],P="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",z=0,v=Q.length;z0)throw new Error("Invalid string. Length must be a multiple of 4");var K=V.indexOf("=");return-1===K&&(K=R),[K,K===R?0:4-K%4]}function y(V){return W[V>>18&63]+W[V>>12&63]+W[V>>6&63]+W[63&V]}function S(V,R,K){for(var D=[],I=R;I>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function A(D){var I=this.lastTotal-this.lastNeed,X=function(D,I,X){if(128!=(192&I[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&I.length>1){if(128!=(192&I[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&I.length>2&&128!=(192&I[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==X?X:this.lastNeed<=D.length?(D.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,I,0,D.length),void(this.lastNeed-=D.length))}function S(D,I){if((D.length-I)%2==0){var X=D.toString("utf16le",I);if(X){var E=X.charCodeAt(X.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],X.slice(0,-1)}return X}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",I,D.length-1)}function T(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):I}function V(D,I){var X=(D.length-I)%3;return 0===X?D.toString("base64",I):(this.lastNeed=3-X,this.lastTotal=3,1===X?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",I,D.length-X))}function R(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function K(D){return D.toString(this.encoding)}function ce(D){return D&&D.length?this.write(D):""}he.StringDecoder=z,z.prototype.write=function(D){if(0===D.length)return"";var I,X;if(this.lastNeed){if(void 0===(I=this.fillLast(D)))return"";X=this.lastNeed,this.lastNeed=0}else X=0;return X=0?($>0&&(D.lastNeed=$-1),$):--E=0?($>0&&(D.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:D.lastNeed=$-3),$):0}(this,D,I);if(!this.lastNeed)return D.toString("utf8",I);this.lastTotal=X;var E=D.length-(X-this.lastNeed);return D.copy(this.lastChar,0,E),D.toString("utf8",I,E)},z.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),P=Y("ieee754");he.Buffer=x,he.SlowBuffer=function(L){return+L!=L&&(L=0),x.alloc(+L)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(L){if(L>Q)throw new RangeError('The value "'+L+'" is invalid for option "size"');var N=new Uint8Array(L);return N.__proto__=x.prototype,N}function x(L,N,B){if("number"==typeof L){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(L)}return O(L,N,B)}function O(L,N,B){if("string"==typeof L)return function(L,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!x.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var B=0|D(L,N),Re=v(B),Qe=Re.write(L,N);return Qe!==B&&(Re=Re.slice(0,Qe)),Re}(L,N);if(ArrayBuffer.isView(L))return T(L);if(null==L)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(pt(L,ArrayBuffer)||L&&pt(L.buffer,ArrayBuffer))return function(L,N,B){if(N<0||L.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|L}function D(L,N){if(x.isBuffer(L))return L.length;if(ArrayBuffer.isView(L)||pt(L,ArrayBuffer))return L.byteLength;if("string"!=typeof L)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);var B=L.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===B)return 0;for(var Qe=!1;;)switch(N){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return G(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return je(L).length;default:if(Qe)return Re?-1:G(L).length;N=(""+N).toLowerCase(),Qe=!0}}function I(L,N,B){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(N>>>=0))return"";for(L||(L="utf8");;)switch(L){case"hex":return tt(this,N,B);case"utf8":case"utf-8":return _e(this,N,B);case"ascii":return st(this,N,B);case"latin1":case"binary":return Xe(this,N,B);case"base64":return ne(this,N,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ye(this,N,B);default:if(Re)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),Re=!0}}function X(L,N,B){var Re=L[N];L[N]=L[B],L[B]=Re}function E(L,N,B,Re,Qe){if(0===L.length)return-1;if("string"==typeof B?(Re=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),ve(B=+B)&&(B=Qe?0:L.length-1),B<0&&(B=L.length+B),B>=L.length){if(Qe)return-1;B=L.length-1}else if(B<0){if(!Qe)return-1;B=0}if("string"==typeof N&&(N=x.from(N,Re)),x.isBuffer(N))return 0===N.length?-1:$(L,N,B,Re,Qe);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Qe?Uint8Array.prototype.indexOf.call(L,N,B):Uint8Array.prototype.lastIndexOf.call(L,N,B):$(L,[N],B,Re,Qe);throw new TypeError("val must be string, number or Buffer")}function $(L,N,B,Re,Qe){var Yn,St=1,Nt=L.length,On=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(L.length<2||N.length<2)return-1;St=2,Nt/=2,On/=2,B/=2}function kn(Ls,gs){return 1===St?Ls[gs]:Ls.readUInt16BE(gs*St)}if(Qe){var Ti=-1;for(Yn=B;YnNt&&(B=Nt-On),Yn=B;Yn>=0;Yn--){for(var wi=!0,Xr=0;XrQe&&(Re=Qe):Re=Qe;var St=N.length;Re>St/2&&(Re=St/2);for(var Nt=0;Nt>8,St.push(B%256),St.push(Re);return St}(N,L.length-B),L,B,Re)}function ne(L,N,B){return j.fromByteArray(0===N&&B===L.length?L:L.slice(N,B))}function _e(L,N,B){B=Math.min(L.length,B);for(var Re=[],Qe=N;Qe239?4:St>223?3:St>191?2:1;if(Qe+On<=B)switch(On){case 1:St<128&&(Nt=St);break;case 2:128==(192&(kn=L[Qe+1]))&&(wi=(31&St)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=L[Qe+2],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&(wi=(15&St)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=L[Qe+2],Ti=L[Qe+3],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&St)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Re.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Re.push(Nt),Qe+=On}return function(L){var N=L.length;if(N<=4096)return String.fromCharCode.apply(String,L);for(var B="",Re=0;ReB&&(N+=" ... "),""},x.prototype.compare=function(N,B,Re,Qe,St){if(pt(N,Uint8Array)&&(N=x.from(N,N.offset,N.byteLength)),!x.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===B&&(B=0),void 0===Re&&(Re=N?N.length:0),void 0===Qe&&(Qe=0),void 0===St&&(St=this.length),B<0||Re>N.length||Qe<0||St>this.length)throw new RangeError("out of range index");if(Qe>=St&&B>=Re)return 0;if(Qe>=St)return-1;if(B>=Re)return 1;if(this===N)return 0;for(var Nt=(St>>>=0)-(Qe>>>=0),On=(Re>>>=0)-(B>>>=0),kn=Math.min(Nt,On),Yn=this.slice(Qe,St),Ti=N.slice(B,Re),wi=0;wi>>=0,isFinite(Re)?(Re>>>=0,void 0===Qe&&(Qe="utf8")):(Qe=Re,Re=void 0)}var St=this.length-B;if((void 0===Re||Re>St)&&(Re=St),N.length>0&&(Re<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");for(var Nt=!1;;)switch(Qe){case"hex":return Z(this,N,B,Re);case"utf8":case"utf-8":return oe(this,N,B,Re);case"ascii":return se(this,N,B,Re);case"latin1":case"binary":return te(this,N,B,Re);case"base64":return Ce(this,N,B,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,B,Re);default:if(Nt)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),Nt=!0}},x.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(L,N,B){var Re="";B=Math.min(L.length,B);for(var Qe=N;QeRe)&&(B=Re);for(var Qe="",St=N;StB)throw new RangeError("Trying to access beyond buffer length")}function ke(L,N,B,Re,Qe,St){if(!x.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Qe||NL.length)throw new RangeError("Index out of range")}function Ke(L,N,B,Re,Qe,St){if(B+Re>L.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Me(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,4),P.write(L,N,B,Re,23,4),B+4}function Ve(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,8),P.write(L,N,B,Re,52,8),B+8}x.prototype.slice=function(N,B){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(B=void 0===B?Re:~~B)<0?(B+=Re)<0&&(B=0):B>Re&&(B=Re),B>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N+--B],St=1;B>0&&(St*=256);)Qe+=this[N+--B]*St;return Qe},x.prototype.readUInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),this[N]},x.prototype.readUInt16LE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]|this[N+1]<<8},x.prototype.readUInt16BE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]<<8|this[N+1]},x.prototype.readUInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},x.prototype.readUInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},x.prototype.readIntLE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt=(St*=128)&&(Qe-=Math.pow(2,8*B)),Qe},x.prototype.readIntBE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=B,St=1,Nt=this[N+--Qe];Qe>0&&(St*=256);)Nt+=this[N+--Qe]*St;return Nt>=(St*=128)&&(Nt-=Math.pow(2,8*B)),Nt},x.prototype.readInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},x.prototype.readInt16LE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt16BE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},x.prototype.readInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},x.prototype.readFloatLE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!0,23,4)},x.prototype.readFloatBE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!1,23,4)},x.prototype.readDoubleLE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!0,52,8)},x.prototype.readDoubleBE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!1,52,8)},x.prototype.writeUIntLE=function(N,B,Re,Qe){N=+N,B>>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=1,On=0;for(this[B]=255&N;++On>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=Re-1,On=1;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)this[B+Nt]=N/On&255;return B+Re},x.prototype.writeUInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,255,0),this[B]=255&N,B+1},x.prototype.writeUInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeUInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeUInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B+3]=N>>>24,this[B+2]=N>>>16,this[B+1]=N>>>8,this[B]=255&N,B+4},x.prototype.writeUInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeIntLE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=0,On=1,kn=0;for(this[B]=255&N;++Nt>0)-kn&255;return B+Re},x.prototype.writeIntBE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=Re-1,On=1,kn=0;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)N<0&&0===kn&&0!==this[B+Nt+1]&&(kn=1),this[B+Nt]=(N/On>>0)-kn&255;return B+Re},x.prototype.writeInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,127,-128),N<0&&(N=255+N+1),this[B]=255&N,B+1},x.prototype.writeInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),this[B]=255&N,this[B+1]=N>>>8,this[B+2]=N>>>16,this[B+3]=N>>>24,B+4},x.prototype.writeInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeFloatLE=function(N,B,Re){return Me(this,N,B,!0,Re)},x.prototype.writeFloatBE=function(N,B,Re){return Me(this,N,B,!1,Re)},x.prototype.writeDoubleLE=function(N,B,Re){return Ve(this,N,B,!0,Re)},x.prototype.writeDoubleBE=function(N,B,Re){return Ve(this,N,B,!1,Re)},x.prototype.copy=function(N,B,Re,Qe){if(!x.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Qe&&0!==Qe&&(Qe=this.length),B>=N.length&&(B=N.length),B||(B=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),N.length-B=0;--Nt)N[Nt+B]=this[Nt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Qe),B);return St},x.prototype.fill=function(N,B,Re,Qe){if("string"==typeof N){if("string"==typeof B?(Qe=B,B=0,Re=this.length):"string"==typeof Re&&(Qe=Re,Re=this.length),void 0!==Qe&&"string"!=typeof Qe)throw new TypeError("encoding must be a string");if("string"==typeof Qe&&!x.isEncoding(Qe))throw new TypeError("Unknown encoding: "+Qe);if(1===N.length){var St=N.charCodeAt(0);("utf8"===Qe&&St<128||"latin1"===Qe)&&(N=St)}}else"number"==typeof N&&(N&=255);if(B<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(Nt=B;Nt55295&&B<57344){if(!Qe){if(B>56319){(N-=3)>-1&&St.push(239,191,189);continue}if(Nt+1===Re){(N-=3)>-1&&St.push(239,191,189);continue}Qe=B;continue}if(B<56320){(N-=3)>-1&&St.push(239,191,189),Qe=B;continue}B=65536+(Qe-55296<<10|B-56320)}else Qe&&(N-=3)>-1&&St.push(239,191,189);if(Qe=null,B<128){if((N-=1)<0)break;St.push(B)}else if(B<2048){if((N-=2)<0)break;St.push(B>>6|192,63&B|128)}else if(B<65536){if((N-=3)<0)break;St.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;St.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return St}function je(L){return j.toByteArray(function(L){if((L=(L=L.split("=")[0]).trim().replace($e,"")).length<2)return"";for(;L.length%4!=0;)L+="=";return L}(L))}function _t(L,N,B,Re){for(var Qe=0;Qe=N.length||Qe>=L.length);++Qe)N[Qe+B]=L[Qe];return Qe}function pt(L,N){return L instanceof N||null!=L&&null!=L.constructor&&null!=L.constructor.name&&L.constructor.name===N.name}function ve(L){return L!=L}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((P,Q,z)=>P+(0===z?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((P,Q,z)=>void 0===j[Q]||"symbol"==typeof j[Q]?P:P+(0===P.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var P,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,oe){return Function.prototype.apply.call($,Z,oe)};P=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var z=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,oe){function se(Ce){E.removeListener($,te),oe(Ce)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",se),Z([].slice.call(arguments))}X(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&X(E,"error",$,Z)}(E,se,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var x=10;function O(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function A(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,oe){var se,te,Ce;if(O(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Ce=te[$]),void 0===Ce)Ce=te[$]=Z,++E._eventsCount;else if("function"==typeof Ce?Ce=te[$]=oe?[Z,Ce]:[Ce,Z]:oe?Ce.unshift(Z):Ce.push(Z),(se=A(E))>0&&Ce.length>se&&!Ce.warned){Ce.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Ce.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Ce.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var oe={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},se=y.bind(oe);return se.listener=Z,oe.wrapFn=se,se}function T(E,$,Z){var oe=E._events;if(void 0===oe)return[];var se=oe[$];return void 0===se?[]:"function"==typeof se?Z?[se.listener||se]:[se]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(se):R(se,se.length)}function V(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function R(E,$){for(var Z=new Array($),oe=0;oe<$;++oe)Z[oe]=E[oe];return Z}function X(E,$,Z,oe){if("function"==typeof E.on)oe.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function se(te){oe.once&&E.removeEventListener($,se),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(E){if("number"!=typeof E||E<0||z(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");x=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||z($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return A(this)},v.prototype.emit=function($){for(var Z=[],oe=1;oe0&&(Ce=Z[0]),Ce instanceof Error)throw Ce;var me=new Error("Unhandled error."+(Ce?" ("+Ce.message+")":""));throw me.context=Ce,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var _e=ne.length,Ie=R(ne,_e);for(oe=0;oe<_e;++oe)j(Ie[oe],this,Z)}return!0},v.prototype.on=v.prototype.addListener=function($,Z){return b(this,$,Z,!1)},v.prototype.prependListener=function($,Z){return b(this,$,Z,!0)},v.prototype.once=function($,Z){return O(Z),this.on($,S(this,$,Z)),this},v.prototype.prependOnceListener=function($,Z){return O(Z),this.prependListener($,S(this,$,Z)),this},v.prototype.off=v.prototype.removeListener=function($,Z){var oe,se,te,Ce,me;if(O(Z),void 0===(se=this._events))return this;if(void 0===(oe=se[$]))return this;if(oe===Z||oe.listener===Z)0==--this._eventsCount?this._events=Object.create(null):(delete se[$],se.removeListener&&this.emit("removeListener",$,oe.listener||Z));else if("function"!=typeof oe){for(te=-1,Ce=oe.length-1;Ce>=0;Ce--)if(oe[Ce]===Z||oe[Ce].listener===Z){me=oe[Ce].listener,te=Ce;break}if(te<0)return this;0===te?oe.shift():function(E,$){for(;$+1=0;se--)this.removeListener($,Z[se]);return this},v.prototype.listeners=function($){return T(this,$,!0)},v.prototype.rawListeners=function($){return T(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):V.call(E,$)},v.prototype.listenerCount=V,v.prototype.eventNames=function(){return this._eventsCount>0?P(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,P,Q,z){var v,x,O=8*z-Q-1,A=(1<>1,y=-7,S=P?z-1:0,T=P?-1:1,V=W[j+S];for(S+=T,v=V&(1<<-y)-1,V>>=-y,y+=O;y>0;v=256*v+W[j+S],S+=T,y-=8);for(x=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;x=256*x+W[j+S],S+=T,y-=8);if(0===v)v=1-b;else{if(v===A)return x?NaN:1/0*(V?-1:1);x+=Math.pow(2,Q),v-=b}return(V?-1:1)*x*Math.pow(2,v-Q)},he.write=function(W,j,P,Q,z,v){var x,O,A,b=8*v-z-1,y=(1<>1,T=23===z?Math.pow(2,-24)-Math.pow(2,-77):0,V=Q?0:v-1,R=Q?1:-1,K=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(O=isNaN(j)?1:0,x=y):(x=Math.floor(Math.log(j)/Math.LN2),j*(A=Math.pow(2,-x))<1&&(x--,A*=2),(j+=x+S>=1?T/A:T*Math.pow(2,1-S))*A>=2&&(x++,A/=2),x+S>=y?(O=0,x=y):x+S>=1?(O=(j*A-1)*Math.pow(2,z),x+=S):(O=j*Math.pow(2,S-1)*Math.pow(2,z),x=0));z>=8;W[P+V]=255&O,V+=R,O/=256,z-=8);for(x=x<0;W[P+V]=255&x,V+=R,x/=256,b-=8);W[P+V-R]|=128*K}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,P){P&&(j.super_=P,j.prototype=Object.create(P.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,P){if(P){j.super_=P;var Q=function(){};Q.prototype=P.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:P}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:z}=Y("./url"),v=Y("./JsonLdError"),x=Y("./ResolvedContext");function A(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const T=y["@context"];if(P(T))y["@context"]=z(S,T);else if(W(T))for(let V=0;V10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(R.has(T))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:T});let K,ce;R.add(T);try{ce=yield V(T),K=ce.document||null,P(K)&&(K=JSON.parse(K))}catch(D){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:T,cause:D})}if(!j(K))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:T});return K="@context"in K?{"@context":K["@context"]}:{"@context":{}},ce.contextUrl&&(W(K["@context"])||(K["@context"]=[K["@context"]]),K["@context"].push(ce.contextUrl)),{context:K,remoteDoc:ce}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",P="jsonld.Error",Q={}){super(j),this.name=P,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(P,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(P,Q)},j.expand=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(P)},j.flatten=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(P)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const P=this;return P._loader=j,function(){return P.add.apply(P,arguments)}}add(j){var P=this;return yt(function*(){let Q=P._requests[j];if(Q)return Promise.resolve(Q);Q=P._requests[j]=P._loader(j);try{return yield Q}finally{delete P._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,z){this.cache.set(Q,z)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isString:Q,isUndefined:z}=Y("./types"),{isList:v,isValue:x,isGraph:O,isSimpleGraph:A,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{removeBase:K,prependBase:ce}=Y("./url"),{addValue:D,asArray:I,compareShortestLeast:X}=Y("./util"),E={};function Z(oe,se,te){if("@nest"!==y(oe,se,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var oe=yt(function*({activeCtx:se,activeProperty:te=null,element:Ce,options:me={},compactionMap:ne=(()=>{})}){if(j(Ce)){let Ie=[];for(let Ge=0;Ge1&&(tt=Array.from(tt).sort());const Ye=se;for(const ke of tt){const Ke=E.compactIri({activeCtx:Ye,iri:ke,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");z(Me)||(se=yield V({activeCtx:se,localCtx:Me,options:me,propagate:!1}))}const Ue=Object.keys(Ce).sort();for(const ke of Ue){const Ke=Ce[ke];if("@id"!==ke)if("@type"!==ke)if("@reverse"!==ke)if("@preserve"!==ke)if("@index"!==ke)if("@graph"!==ke&&"@list"!==ke&&"@included"!==ke&&T(ke)){const Me=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:se,iri:ke,value:Ke,relativeTo:{vocab:!0},reverse:Ie}),Ve=se.mappings.has(Me)?se.mappings.get(Me)["@nest"]:null;let $e=Ge;Ve&&(Z(se,Ve,me),P(Ge[Ve])||(Ge[Ve]={}),$e=Ge[Ve]),D($e,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ve=E.compactIri({activeCtx:se,iri:ke,value:Me,relativeTo:{vocab:!0},reverse:Ie}),$e=se.mappings.has(Ve)?se.mappings.get(Ve)["@nest"]:null;let Ne=Ge;$e&&(Z(se,$e,me),P(Ge[$e])||(Ge[$e]={}),Ne=Ge[$e]);const q=S(se,Ve,"@container")||[],G=O(Me),pe=v(Me);let ue;pe?ue=Me["@list"]:G&&(ue=Me["@graph"]);let je=yield E.compact({activeCtx:se,activeProperty:Ve,element:pe||G?ue:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){D(Ne,Ve,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&A(Me))){let _t;Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&A(Me)?(j(je)&&je.length>1&&(je={"@included":je}),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={},q.includes("@language"))x(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const ve=S(se,Ve,"@index")||"@index",L=E.compactIri({activeCtx:se,iri:ve,relativeTo:{vocab:!0}});if("@index"===ve)pt=Me["@index"],delete je[L];else{let N;if([pt,...N]=I(je[ve]||[]),Q(pt))switch(N.length){case 0:delete je[ve];break;case 1:je[ve]=N[0];break;default:je[ve]=N}else pt=null}}else if(q.includes("@id")){const ve=E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});pt=je[ve],delete je[ve]}else if(q.includes("@type")){const ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let L;switch([pt,...L]=I(je[ve]||[]),L.length){case 0:delete je[ve];break;case 1:je[ve]=L[0];break;default:je[ve]=L}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:se,activeProperty:Ve,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===ke||"@graph"===ke;D(Ne,Ve,je,{propertyIsArray:_t})}}}else{if((S(se,te,"@container")||[]).includes("@index"))continue;const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Ke)}else{const Me=yield E.compact({activeCtx:se,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||D(Ge,ke,Me)}else{const Me=yield E.compact({activeCtx:se,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ve in Me)if(se.mappings.has(Ve)&&se.mappings.get(Ve).reverse){const $e=Me[Ve],q=(S(se,Ve,"@container")||[]).includes("@set")||!me.compactArrays;D(Ge,Ve,$e,{propertyIsArray:q}),delete Me[Ve]}if(Object.keys(Me).length>0){const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Me)}}else{let Me=I(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),q=(S(se,Ve,"@container")||[]).includes("@set")&&R(se,1.1)||j(Me)&&0===Ke.length;D(Ge,Ve,Me,{propertyIsArray:q})}else{let Me=I(Ke).map($e=>E.compactIri({activeCtx:se,iri:$e,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),Ge[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return Ge}return Ce});return function(se){return oe.apply(this,arguments)}}(),E.compactIri=({activeCtx:oe,iri:se,value:te=null,relativeTo:Ce={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===se)return se;oe.isPropertyTermScoped&&oe.previousContext&&(oe=oe.previousContext);const _e=oe.getInverse();if(T(se)&&se in _e&&"@none"in _e[se]&&"@type"in _e[se]["@none"]&&"@none"in _e[se]["@none"]["@type"])return _e[se]["@none"]["@type"]["@none"];if(Ce.vocab&&se in _e){const tt=oe["@language"]||"@none",Ye=[];P(te)&&"@index"in te&&!("@graph"in te)&&Ye.push("@index","@index@set"),P(te)&&"@preserve"in te&&(te=te["@preserve"][0]),O(te)?("@index"in te&&Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Ye.push("@graph@id","@graph@id@set"),Ye.push("@graph","@graph@set","@set"),"@index"in te||Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Ye.push("@graph@id","@graph@id@set")):P(te)&&!x(te)&&Ye.push("@id","@id@set","@type","@set@type");let Ue="@language",ke="@null";if(me)Ue="@type",ke="@reverse",Ye.push("@set");else if(v(te)){"@index"in te||Ye.push("@list");const Me=te["@list"];if(0===Me.length)Ue="@any",ke="@none";else{let Ve=0===Me.length?tt:null,$e=null;for(let Ne=0;Nest.includes("_"));Ge&&_e.push(Ge.replace(/^[^_]+_/,"_"))}_e.push("@none");const Ie=oe.inverse[se];for(const Ge of Ce){if(!(Ge in Ie))continue;const st=Ie[Ge][me];for(const Xe of _e)if(Xe in st)return st[Xe]}return null}(oe,se,te,Ye,Ue,ke);if(null!==Ke)return Ke}if(Ce.vocab&&"@vocab"in oe){const tt=oe["@vocab"];if(0===se.indexOf(tt)&&se!==tt){const Ye=se.substr(tt.length);if(!oe.mappings.has(Ye))return Ye}}let Ie=null;const Ge=[];let st=oe.fastCurieMap;const Xe=se.length-1;for(let tt=0;tt=0;--tt){const Ye=Ge[tt],Ue=Ye.terms;for(const ke of Ue){const Ke=ke+":"+se.substr(Ye.iri.length);oe.mappings.get(ke)._prefix&&(!oe.mappings.has(Ke)||null===te&&oe.mappings.get(Ke)["@id"]===se)&&(null===Ie||X(Ke,Ie)<0)&&(Ie=Ke)}}if(null!==Ie)return Ie;for(const[tt,Ye]of oe.mappings)if(Ye&&Ye._prefix&&se.startsWith(tt+":"))throw new W(`Absolute IRI "${se}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:oe});return Ce.vocab?se:"@base"in oe?oe["@base"]?K(ce(ne,oe["@base"]),se):se:K(ne,se)},E.compactValue=({activeCtx:oe,activeProperty:se,value:te,options:Ce})=>{if(x(te)){const Ie=S(oe,se,"@type"),Ge=S(oe,se,"@language"),st=S(oe,se,"@direction"),Xe=S(oe,se,"@container")||[],tt="@index"in te&&!Xe.includes("@index");if(!tt&&"@none"!==Ie&&(te["@type"]===Ie||"@language"in te&&te["@language"]===Ge&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===Ge||"@direction"in te&&te["@direction"]===st))return te["@value"];const Ye=Object.keys(te).length,Ue=1===Ye||2===Ye&&"@index"in te&&!tt,ke="@language"in oe,Ke=Q(te["@value"]),Me=oe.mappings.has(se)&&null===oe.mappings.get(se)["@language"];if(Ue&&"@none"!==Ie&&(!ke||!Ke||Me))return te["@value"];const Ve={};return tt&&(Ve[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ve[E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:oe,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ve[E.compactIri({activeCtx:oe,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ve}const me=y(oe,se,{vocab:!0},Ce),ne=S(oe,se,"@type"),_e=E.compactIri({activeCtx:oe,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Ce.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?_e:{[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]:_e}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:P,isObject:Q,isString:z,isUndefined:v}=Y("./types"),{isAbsolute:x,isRelative:O,prependBase:A}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,V=/^@[a-zA-Z]+$/,R={};function K(D,I,X,E,$,Z){if(null===I||!z(I)||R.isKeyword(I))return I;if(I.match(V))return null;if(E&&E.hasOwnProperty(I)&&!0!==$.get(I)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:I,defined:$,options:Z}),(X=X||{}).vocab){const se=D.mappings.get(I);if(null===se)return null;if(Q(se)&&"@id"in se)return se["@id"]}const oe=I.indexOf(":");if(oe>0){const se=I.substr(0,oe),te=I.substr(oe+1);if("_"===se||0===te.indexOf("//"))return I;E&&E.hasOwnProperty(se)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:se,defined:$,options:Z});const Ce=D.mappings.get(se);if(Ce&&Ce._prefix)return Ce["@id"]+te;if(x(I))return I}if(X.vocab&&"@vocab"in D)return D["@vocab"]+I;if(X.base&&"@base"in D){if(D["@base"])return A(A(Z.base,D["@base"]),I)}else if(X.base)return A(Z.base,I);return I}function ce(D,I){if(!D||"object"!=typeof D||!I||"object"!=typeof I)return D===I;const X=Array.isArray(D);if(X!==Array.isArray(I))return!1;if(X){if(D.length!==I.length)return!1;for(let Z=0;Z{if(E.has(X)){if(E.get(X))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:I,term:X})}let oe;if(E.set(X,!1),I.hasOwnProperty(X)&&(oe=I[X]),"@type"===X&&Q(oe)&&"@set"===(oe["@container"]||"@set")&&R.processingMode(D,1.1)){const Ie=["@container","@id","@protected"],Ge=Object.keys(oe);if(0===Ge.length||Ge.some(st=>!Ie.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X})}else{if(R.isKeyword(X))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X});if(X.match(V))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:X});if(""===X)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:I})}const se=D.mappings.get(X);D.mappings.has(X)&&D.mappings.delete(X);let te=!1;if((z(oe)||null===oe)&&(te=!0,oe={"@id":oe}),!Q(oe))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:I});const Ce={};D.mappings.set(X,Ce),Ce.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];R.processingMode(D,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Ie in oe)if(!me.includes(Ie))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Ie,"jsonld.SyntaxError",{code:"invalid term definition",context:I});const ne=X.indexOf(":");if(Ce._termHasColon=ne>0,"@reverse"in oe){if("@id"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});if("@nest"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});const Ie=oe["@reverse"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));const Ge=K(D,Ie,{vocab:!0,base:!1},I,E,$);if(!x(Ge))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ge,Ce.reverse=!0}else if("@id"in oe){let Ie=oe["@id"];if(Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(null===Ie)Ce["@id"]=null;else{if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));if(Ie!==X){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie)&&!R.isKeyword(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(X.match(/(?::[^:])|\//)&&K(D,X,{vocab:!0,base:!1},I,new Map(E).set(X,!0),$)!==Ie)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ie,Ce._prefix=te&&!Ce._termHasColon&&Ie.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ce))if(Ce._termHasColon){const Ie=X.substr(0,ne);if(I.hasOwnProperty(Ie)&&R.createTermDefinition({activeCtx:D,localCtx:I,term:Ie,defined:E,options:$}),D.mappings.has(Ie)){const Ge=X.substr(ne+1);Ce["@id"]=D.mappings.get(Ie)["@id"]+Ge}else Ce["@id"]=X}else if("@type"===X)Ce["@id"]=X;else{if(!("@vocab"in D))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I,term:X});Ce["@id"]=D["@vocab"]+X}if((!0===oe["@protected"]||!0===E.get("@protected")&&!1!==oe["@protected"])&&(D.protected[X]=!0,Ce.protected=!0),E.set(X,!0),"@type"in oe){let Ie=oe["@type"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if("@json"===Ie||"@none"===Ie){if(R.processingMode(D,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Ie}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else if("@id"!==Ie&&"@vocab"!==Ie){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if(0===Ie.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}Ce["@type"]=Ie}if("@container"in oe){const Ie=z(oe["@container"])?[oe["@container"]]:oe["@container"]||[],Ge=["@list","@set","@index","@language"];let st=!0;const Xe=Ie.includes("@set");if(R.processingMode(D,1.1)){if(Ge.push("@graph","@id","@type"),Ie.includes("@list")){if(1!==Ie.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else if(Ie.includes("@graph")){if(Ie.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else st&=Ie.length<=(Xe?2:1);if(Ie.includes("@type")&&(Ce["@type"]=Ce["@type"]||"@id",!["@id","@vocab"].includes(Ce["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else st&=!P(oe["@container"]),st&=Ie.length<=1;if(st&=Ie.every(tt=>Ge.includes(tt)),st&=!(Xe&&Ie.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ge.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:I});if(Ce.reverse&&!Ie.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});Ce["@container"]=Ie}if("@index"in oe){if(!("@container"in oe)||!Ce["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});if(!z(oe["@index"])||0===oe["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});Ce["@index"]=oe["@index"]}if("@context"in oe&&(Ce["@context"]=oe["@context"]),"@language"in oe&&!("@type"in oe)){let Ie=oe["@language"];if(null!==Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:I});null!==Ie&&(Ie=Ie.toLowerCase()),Ce["@language"]=Ie}if("@prefix"in oe){if(X.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:I});if(R.isKeyword(Ce["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:I});if("boolean"!=typeof oe["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:I});Ce._prefix=!0===oe["@prefix"]}if("@direction"in oe){const Ie=oe["@direction"];if(null!==Ie&&"ltr"!==Ie&&"rtl"!==Ie)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:I});Ce["@direction"]=Ie}if("@nest"in oe){const Ie=oe["@nest"];if(!z(Ie)||"@nest"!==Ie&&0===Ie.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:I});Ce["@nest"]=Ie}const _e=Ce["@id"];if("@context"===_e||"@preserve"===_e)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:I});if(se&&se.protected&&!Z&&(D.protected[X]=!0,Ce.protected=!0,!ce(se,Ce))){const Ie=$&&$.protectedMode||"error";if("error"===Ie)throw new j(`Invalid JSON-LD syntax; tried to redefine "${X}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:I,term:X});if("warn"===Ie)return void console.warn("WARNING: protected term redefinition",{term:X});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:I,term:X,protectedMode:Ie})}},R.expandIri=(D,I,X,E)=>K(D,I,X,void 0,void 0,E),R.getInitialContext=D=>{const I=JSON.stringify({processingMode:D.processingMode}),X=S.get(I);if(X)return X;const E={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ce=this;if(Ce.inverse)return Ce.inverse;const me=Ce.inverse={},ne=Ce.fastCurieMap={},_e={},Ie=(Ce["@language"]||"@none").toLowerCase(),Ge=Ce["@direction"],st=Ce.mappings,Xe=[...st.keys()].sort(y);for(const tt of Xe){const Ye=st.get(tt);if(null===Ye)continue;let Ue=Ye["@container"]||"@none";if(Ue=[].concat(Ue).sort().join(""),null===Ye["@id"])continue;const ke=b(Ye["@id"]);for(const Ke of ke){let Me=me[Ke];const Ve=R.isKeyword(Ke);if(Me)!Ve&&!Ye._termHasColon&&_e[Ke].push(tt);else if(me[Ke]=Me={},!Ve&&!Ye._termHasColon){_e[Ke]=[tt];const $e={iri:Ke,terms:_e[Ke]};Ke[0]in ne?ne[Ke[0]].push($e):ne[Ke[0]]=[$e]}if(Me[Ue]||(Me[Ue]={"@language":{},"@type":{},"@any":{}}),Me=Me[Ue],oe(tt,Me["@any"],"@none"),Ye.reverse)oe(tt,Me["@type"],"@reverse");else if("@none"===Ye["@type"])oe(tt,Me["@any"],"@none"),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none");else if("@type"in Ye)oe(tt,Me["@type"],Ye["@type"]);else if("@language"in Ye&&"@direction"in Ye){const $e=Ye["@language"],Ne=Ye["@direction"];oe(tt,Me["@language"],$e&&Ne?`${$e}_${Ne}`.toLowerCase():$e?$e.toLowerCase():Ne?`_${Ne}`:"@null")}else"@language"in Ye?oe(tt,Me["@language"],(Ye["@language"]||"@null").toLowerCase()):"@direction"in Ye?oe(tt,Me["@language"],Ye["@direction"]?`_${Ye["@direction"]}`:"@none"):Ge?(oe(tt,Me["@language"],`_${Ge}`),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none")):(oe(tt,Me["@language"],Ie),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Ce={};return Ce.mappings=W.clone(this.mappings),Ce.clone=this.clone,Ce.inverse=null,Ce.getInverse=this.getInverse,Ce.protected=W.clone(this.protected),this.previousContext&&(Ce.previousContext=this.previousContext.clone()),Ce.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ce["@base"]=this["@base"]),"@language"in this&&(Ce["@language"]=this["@language"]),"@vocab"in this&&(Ce["@vocab"]=this["@vocab"]),Ce},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(I,E),E;function Z(Ce,me,ne){const _e=Ce[me],Ie=Ce[me]={};let Ge,st;for(const Xe of _e)Ge=Xe.iri,st=ne>=Ge.length?"":Ge[ne],st in Ie?Ie[st].push(Xe):Ie[st]=[Xe];for(const Xe in Ie)""!==Xe&&Z(Ie,Xe,ne+1)}function oe(Ce,me,ne){me.hasOwnProperty(ne)||(me[ne]=Ce)}},R.getContextValue=(D,I,X)=>{if(null===I)return"@context"===X?void 0:null;if(D.mappings.has(I)){const E=D.mappings.get(I);if(v(X))return E;if(E.hasOwnProperty(X))return E[X]}return"@language"===X&&X in D||"@direction"===X&&X in D?D[X]:"@context"!==X?null:void 0},R.processingMode=(D,I)=>I.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+I.toString():"json-ld-1.0"===D.processingMode,R.isKeyword=D=>{if(!z(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:P}=Y("../constants"),Q=Y("../JsonLdError"),z=Y("../RequestQueue"),{prependBase:v}=Y("../url"),x=/(^|(\r\n))link:/i;function O(A,b,y){const S=new(A=A||XMLHttpRequest);return new Promise((T,V)=>{S.onload=()=>T(S),S.onerror=R=>V(R),S.open("GET",b,!0);for(const R in y)S.setRequestHeader(R,y[R]);S.send()})}Se.exports=({secure:A,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new z).wrapLoader(T);function T(R){return V.apply(this,arguments)}function V(){return(V=yt(function*(R){if(0!==R.indexOf("http:")&&0!==R.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:R});if(A&&0!==R.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:R});let K;try{K=yield O(y,R,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:R,cause:E})}if(K.status>=400)throw new Q("URL could not be dereferenced: "+K.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:R,httpStatusCode:K.status});let ce={contextUrl:null,documentUrl:R,document:K.response},D=null;const I=K.getResponseHeader("Content-Type");let X;if(x.test(K.getAllResponseHeaders())&&(X=K.getResponseHeader("Link")),X&&"application/ld+json"!==I){const E=W(X),$=E[P];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:R});$&&(ce.contextUrl=$.target),D=E.alternate,D&&"application/ld+json"==D.type&&!(I||"").match(/^application\/(\w*\+)?json$/)&&(ce=yield T(v(R,D.target)))}return ce})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isEmptyObject:Q,isString:z,isUndefined:v}=Y("./types"),{isList:x,isValue:O,isGraph:A,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{isAbsolute:K}=Y("./url"),{addValue:ce,asArray:D,getValues:I,validateTypeValue:X}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return oe.apply(this,arguments)}function oe(){return(oe=yt(function*({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:Ge,expandedParent:st,options:Xe={},insideList:tt,typeKey:Ye,typeScopedContext:Ue,expansionMap:ke}){const Ke=Object.keys(Ge).sort(),Me=[];let Ve;const $e=Ge[Ye]&&"@json"===y(ne,j(Ge[Ye])?Ge[Ye][0]:Ge[Ye],{vocab:!0},Xe);for(const Ne of Ke){let G,q=Ge[Ne];if("@context"===Ne)continue;let pe=y(ne,Ne,{vocab:!0},Xe);if((null===pe||!K(pe)&&!T(pe))&&(pe=ke({unmappedProperty:Ne,activeCtx:ne,activeProperty:_e,parent:Ge,options:Xe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(T(pe)){if("@reverse"===Ie)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!z(q)){if(!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(P(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>z(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ce(st,"@id",D(q).map(pt=>z(pt)?y(ne,pt,{base:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@type"===pe){P(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,ve])=>[y(Ue,pt,{vocab:!0}),D(ve).map(L=>y(Ue,L,{base:!0,vocab:!0}))]))),X(q,Xe.isFrame),ce(st,"@type",D(q).map(pt=>z(pt)?y(Ue,pt,{base:!0,vocab:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@included"===pe&&R(ne,1.1)){const pt=D(yield E.expand({activeCtx:ne,activeProperty:_e,element:q,options:Xe,expansionMap:ke}));if(!pt.every(ve=>b(ve)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ce(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!P(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ve=q,$e&&R(ne,1.1)?st["@value"]=q:ce(st,"@value",q,{propertyIsArray:Xe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=D(q).map(pt=>z(pt)?pt.toLowerCase():pt);for(const pt of q)z(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ce(st,"@language",q,{propertyIsArray:Xe.isFrame});continue}if("@direction"===pe){if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=D(q);for(const pt of q)if(z(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ce(st,"@direction",q,{propertyIsArray:Xe.isFrame});continue}if("@index"===pe){if(!z(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ce(st,"@index",q);continue}if("@reverse"===pe){if(!P(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Xe,expansionMap:ke}),"@reverse"in G)for(const ve in G["@reverse"])ce(st,ve,G["@reverse"][ve],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const ve in G){if("@reverse"===ve)continue;null===pt&&(pt=st["@reverse"]={}),ce(pt,ve,[],{propertyIsArray:!0});const L=G[ve];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=D(G).map(pt=>({"@graph":D(pt)}))),ue.mappings.has(Ne)&&ue.mappings.get(Ne).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=D(G);for(let ve=0;ve"@value"===y(ne,pe,{vocab:!0},Xe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:G,expandedParent:st,options:Xe,insideList:tt,typeScopedContext:Ue,typeKey:Ye,expansionMap:ke})}}})).apply(this,arguments)}function se({activeCtx:ne,activeProperty:_e,value:Ie,options:Ge}){if(null==Ie)return null;const st=y(ne,_e,{vocab:!0},Ge);if("@id"===st)return y(ne,Ie,{base:!0},Ge);if("@type"===st)return y(ne,Ie,{vocab:!0,base:!0},Ge);const Xe=S(ne,_e,"@type");if(("@id"===Xe||"@graph"===st)&&z(Ie))return{"@id":y(ne,Ie,{base:!0},Ge)};if("@vocab"===Xe&&z(Ie))return{"@id":y(ne,Ie,{vocab:!0,base:!0},Ge)};if(T(st))return Ie;const tt={};if(Xe&&!["@id","@vocab","@none"].includes(Xe))tt["@type"]=Xe;else if(z(Ie)){const Ye=S(ne,_e,"@language");null!==Ye&&(tt["@language"]=Ye);const Ue=S(ne,_e,"@direction");null!==Ue&&(tt["@direction"]=Ue)}return["boolean","number","string"].includes(typeof Ie)||(Ie=Ie.toString()),tt["@value"]=Ie,tt}function te(ne,_e,Ie,Ge){const st=[],Xe=Object.keys(_e).sort();for(const tt of Xe){const Ye=y(ne,tt,{vocab:!0},Ge);let Ue=_e[tt];j(Ue)||(Ue=[Ue]);for(const ke of Ue){if(null===ke)continue;if(!z(ke))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:_e});const Ke={"@value":ke};"@none"!==Ye&&(Ke["@language"]=tt.toLowerCase()),Ie&&(Ke["@direction"]=Ie),st.push(Ke)}}return st}function Ce(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:_e,activeProperty:Ie,value:Ge,expansionMap:st,asGraph:Xe,indexKey:tt,propertyIndex:Ye}){const Ue=[],ke=Object.keys(Ge).sort(),Ke="@type"===tt;for(let Me of ke){if(Ke){const Ne=S(ne,Me,"@context");v(Ne)||(ne=yield V({activeCtx:ne,localCtx:Ne,propagate:!1,options:_e}))}let $e,Ve=Ge[Me];j(Ve)||(Ve=[Ve]),Ve=yield E.expand({activeCtx:ne,activeProperty:Ie,element:Ve,options:_e,insideList:!1,insideIndex:!0,expansionMap:st}),$e=Ye?"@none"===Me?"@none":se({activeCtx:ne,activeProperty:tt,value:Me,options:_e}):y(ne,Me,{vocab:!0},_e),"@id"===tt?Me=y(ne,Me,{base:!0},_e):Ke&&(Me=$e);for(let Ne of Ve){if(Xe&&!A(Ne)&&(Ne={"@graph":[Ne]}),"@type"===tt)"@none"===$e||(Ne["@type"]=Ne["@type"]?[Me].concat(Ne["@type"]):[Me]);else{if(O(Ne)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ne});Ye?"@none"!==$e&&ce(Ne,Ye,$e,{propertyIsArray:!0,prependValue:!0}):"@none"!==$e&&!(tt in Ne)&&(Ne[tt]=Me)}Ue.push(Ne)}}return Ue})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:_e,activeProperty:Ie=null,element:Ge,options:st={},insideList:Xe=!1,insideIndex:tt=!1,typeScopedContext:Ye=null,expansionMap:Ue=(()=>{})}){if(null==Ge)return null;if("@default"===Ie&&(st=Object.assign({},st,{isFrame:!1})),!j(Ge)&&!P(Ge)){if(!Xe&&(null===Ie||"@graph"===y(_e,Ie,{vocab:!0},st))){const G=yield Ue({unmappedValue:Ge,activeCtx:_e,activeProperty:Ie,options:st,insideList:Xe});return void 0===G?null:G}return se({activeCtx:_e,activeProperty:Ie,value:Ge,options:st})}if(j(Ge)){let G=[];const pe=S(_e,Ie,"@container")||[];Xe=Xe||pe.includes("@list");for(let ue=0;ue1?ue.slice().sort():ue:[ue];for(const _t of je){const pt=S(Ye,_t,"@context");v(pt)||(_e=yield V({activeCtx:_e,localCtx:pt,options:st,propagate:!1}))}}let Ne={};yield Z({activeCtx:_e,activeProperty:Ie,expandedActiveProperty:ke,element:Ge,expandedParent:Ne,options:st,insideList:Xe,typeKey:$e,typeScopedContext:Ye,expansionMap:Ue}),Me=Object.keys(Ne);let q=Me.length;if("@value"in Ne){if("@type"in Ne&&("@language"in Ne||"@direction"in Ne))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});let G=q-1;if("@type"in Ne&&(G-=1),"@index"in Ne&&(G-=1),"@language"in Ne&&(G-=1),"@direction"in Ne&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});const pe=null===Ne["@value"]?[]:D(Ne["@value"]),ue=I(Ne,"@type");if(!R(_e,1.1)||!ue.includes("@json")||1!==ue.length)if(0===pe.length){const je=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==je?je:null}else{if(!pe.every(je=>z(je)||Q(je))&&"@language"in Ne)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ne});if(!ue.every(je=>K(je)&&!(z(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ne})}}else if("@type"in Ne&&!j(Ne["@type"]))Ne["@type"]=[Ne["@type"]];else if("@set"in Ne||"@list"in Ne){if(q>1&&(2!==q||!("@index"in Ne)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ne});"@set"in Ne&&(Ne=Ne["@set"],Me=Object.keys(Ne),q=Me.length)}else if(1===q&&"@language"in Ne){const G=yield Ue(Ne,{unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}if(P(Ne)&&!st.keepFreeFloatingNodes&&!Xe&&(null===Ie||"@graph"===ke)&&(0===q||"@value"in Ne||"@list"in Ne||1===q&&"@id"in Ne)){const G=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}return Ne});return function(_e){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),P={};Se.exports=P,P.flatten=Q=>{const z=j(Q),v=[],x=Object.keys(z).sort();for(let O=0;O=0;--oe){const se=Z[oe];if(se.graph===$&&se.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const oe="@"+Z;let se=oe in E?E[oe][0]:$[Z];if("embed"===Z)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return se}function T(E){if(!P.isArray(E)||1!==E.length||!P.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function R(E,$,Z,oe){let se=!0,te=!1;for(const Ce in Z){let me=!1;const ne=Q.getValues($,Ce),_e=0===Q.getValues(Z,Ce).length;if("@id"===Ce){if(P.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!oe.requireAll)return me}else if("@type"===Ce){if(se=!1,_e){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&P.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Ie of Z["@type"])me=!(!P.isObject(Ie)||!("@default"in Ie))||me||ne.some(Ge=>Ge===Ie);if(!oe.requireAll)return me}else{if(W(Ce))continue;{const Ie=Q.getValues(Z,Ce)[0];let Ge=!1;if(Ie&&(T([Ie]),Ge="@default"in Ie),se=!1,0===ne.length&&Ge)continue;if(ne.length>0&&_e)return!1;if(void 0===Ie){if(ne.length>0)return!1;me=!0}else if(j.isList(Ie)){const st=Ie["@list"][0];if(j.isList(ne[0])){const Xe=ne[0]["@list"];j.isValue(st)?me=Xe.some(tt=>X(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Xe.some(tt=>I(E,st,tt,oe)))}}else me=j.isValue(Ie)?ne.some(st=>X(Ie,st)):j.isSubjectReference(Ie)?ne.some(st=>I(E,Ie,st,oe)):!!P.isObject(Ie)&&ne.length>0}}if(!me&&oe.requireAll)return!1;te=te||me}return se||te}function K(E,$){const Z=E.uniqueEmbeds[E.graph],oe=Z[$],se=oe.parent,te=oe.property,Ce={"@id":$};if(P.isArray(se)){for(let ne=0;ne{const _e=Object.keys(Z);for(const Ie of _e)Ie in Z&&P.isObject(Z[Ie].parent)&&Z[Ie].parent["@id"]===ne&&(delete Z[Ie],me(Ie))};me($)}function ce(E,$){if(P.isArray(E))return E.map(Z=>ce(Z,$));if(P.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ce(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ce(E[Z],$)}return E}function D(E,$,Z){P.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function I(E,$,Z,oe){if(!("@id"in Z))return!1;const se=E.subjects[Z["@id"]];return se&&R(E,se,$,oe)}function X(E,$){const Z=$["@value"],oe=$["@type"],se=$["@language"],te=E["@value"]?P.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Ce=E["@type"]?P.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?P.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Ce.length&&0===me.length||!(!te.includes(Z)&&!P.isEmptyObject(te[0])||!(!oe&&0===Ce.length||Ce.includes(oe)||oe&&P.isEmptyObject(Ce[0]))||!(!se&&0===me.length||me.includes(se)||se&&P.isEmptyObject(me[0])))}Se.exports=A,A.frameMergedOrDefault=(E,$,Z)=>{const oe={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Q.IdentifierIssuer("_:b");x(E,oe.graphMap,"@default",se),Z.merged&&(oe.graphMap["@merged"]=O(oe.graphMap),oe.graph="@merged"),oe.subjects=oe.graphMap[oe.graph];const te=[];return A.frame(oe,Object.keys(oe.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(oe.bnodeMap).filter(Ce=>1===oe.bnodeMap[Ce].length)),Z.link={},ce(te,Z)},A.frame=(E,$,Z,oe,se=null)=>{T(Z);const te=E.options,Ce={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,oe){const se={};for(const te of $){const Ce=E.graphMap[E.graph][te];R(E,Ce,Z,oe)&&(se[te]=Ce)}return se}(E,$,Z,Ce),_e=Object.keys(ne).sort();for(const Ie of _e){const Ge=ne[Ie];if(null===se?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Ce.embed&&Ie in me){D(oe,se,me[Ie]);continue}const st={"@id":Ie};if(0===Ie.indexOf("_:")&&Q.addValue(E.bnodeMap,Ie,st,{propertyIsArray:!0}),me[Ie]=st,("@first"===Ce.embed||"@last"===Ce.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){if(E.embedded&&("@never"===Ce.embed||y(Ge,E.graph,E.subjectStack))){D(oe,se,st);continue}if(E.embedded&&("@first"==Ce.embed||"@once"==Ce.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){D(oe,se,st);continue}if("@last"===Ce.embed&&Ie in E.uniqueEmbeds[E.graph]&&K(E,Ie),E.uniqueEmbeds[E.graph][Ie]={parent:oe,property:se},E.subjectStack.push({subject:Ge,graph:E.graph}),Ie in E.graphMap){let Xe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Xe=!("@merged"===Ie||"@default"===Ie),P.isObject(tt)||(tt={})):(Xe="@merged"!==E.graph,tt={}),Xe&&A.frame(Sn(ot({},E),{graph:Ie,embedded:!1}),Object.keys(E.graphMap[Ie]).sort(),[tt],st,"@graph")}"@included"in Z&&A.frame(Sn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Xe of Object.keys(Ge).sort())if(W(Xe)){if(st[Xe]=Q.clone(Ge[Xe]),"@type"===Xe)for(const tt of Ge["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Ce.explicit||Xe in Z)for(const tt of Ge[Xe]){const Ye=Xe in Z?Z[Xe]:b(Ce);if(j.isList(tt)){const Ue=Z[Xe]&&Z[Xe][0]&&Z[Xe][0]["@list"]?Z[Xe][0]["@list"]:b(Ce),ke={"@list":[]};D(st,Xe,ke);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?A.frame(Sn(ot({},E),{embedded:!0}),[Me["@id"]],Ue,ke,"@list"):D(ke,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?A.frame(Sn(ot({},E),{embedded:!0}),[tt["@id"]],Ye,st,Xe):X(Ye[0],tt)&&D(st,Xe,Q.clone(tt))}for(const Xe of Object.keys(Z).sort()){if("@type"===Xe){if(!P.isObject(Z[Xe][0])||!("@default"in Z[Xe][0]))continue}else if(W(Xe))continue;const tt=Z[Xe][0]||{};if(!S(tt,te,"omitDefault")&&!(Xe in st)){let Ue="@null";"@default"in tt&&(Ue=Q.clone(tt["@default"])),P.isArray(Ue)||(Ue=[Ue]),st[Xe]=[{"@preserve":Ue}]}}for(const Xe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Xe];for(const Ye of Object.keys(E.subjects))Q.getValues(E.subjects[Ye],Xe).some(ke=>ke["@id"]===Ie)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Xe,[],{propertyIsArray:!0}),A.frame(Sn(ot({},E),{embedded:!0}),[Ye],tt,st["@reverse"][Xe],se))}D(oe,se,st),E.subjectStack.pop()}}},A.cleanupNull=(E,$)=>{if(P.isArray(E))return E.map(oe=>A.cleanupNull(oe,$)).filter(oe=>oe);if("@null"===E)return null;if(P.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=A.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),{RDF_LIST:z,RDF_FIRST:v,RDF_REST:x,RDF_NIL:O,RDF_TYPE:A,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:T,XSD_STRING:V}=Y("./constants"),R=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,K={};function ce(D,I,X){if(D.termType.endsWith("Node"))return{"@id":D.value};const E={"@value":D.value};if(D.language)E["@language"]=D.language;else{let $=D.datatype.value;if($||($=V),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(I){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(P.isNumeric(E["@value"]))if($===T){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,T,S,V].includes($)||(E["@type"]=$)}else if("i18n-datatype"===X&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,oe]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(R)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=oe}else $!==V&&(E["@type"]=$)}return E}Se.exports=K,K.fromRDF=function(){var D=yt(function*(I,{useRdfType:X=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},oe={"@default":Z},se={};for(const me of I){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in oe||(oe[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const _e=oe[ne],Ie=me.subject.value,Ge=me.predicate.value,st=me.object;Ie in _e||(_e[Ie]={"@id":Ie});const Xe=_e[Ie],tt=st.termType.endsWith("Node");if(tt&&!(st.value in _e)&&(_e[st.value]={"@id":st.value}),Ge===A&&!X&&tt){Q.addValue(Xe,"@type",st.value,{propertyIsArray:!0});continue}const Ye=ce(st,E,$);if(Q.addValue(Xe,Ge,Ye,{propertyIsArray:!0}),tt)if(st.value===O){const Ue=_e[st.value];"usages"in Ue||(Ue.usages=[]),Ue.usages.push({node:Xe,property:Ge,value:Ye})}else se[st.value]=!(st.value in se)&&{node:Xe,property:Ge,value:Ye}}for(const me in oe){const ne=oe[me];if(!(O in ne))continue;const _e=ne[O];if(_e.usages){for(let Ie of _e.usages){let Ge=Ie.node,st=Ie.property,Xe=Ie.value;const tt=[],Ye=[];let Ue=Object.keys(Ge).length;for(;st===x&&P.isObject(se[Ge["@id"]])&&P.isArray(Ge[v])&&1===Ge[v].length&&P.isArray(Ge[x])&&1===Ge[x].length&&(3===Ue||4===Ue&&P.isArray(Ge["@type"])&&1===Ge["@type"].length&&Ge["@type"][0]===z)&&(tt.push(Ge[v][0]),Ye.push(Ge["@id"]),Ie=se[Ge["@id"]],Ge=Ie.node,st=Ie.property,Xe=Ie.value,Ue=Object.keys(Ge).length,j.isBlankNode(Ge)););delete Xe["@id"],Xe["@list"]=tt.reverse();for(const ke of Ye)delete ne[ke]}delete _e.usages}}const te=[],Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me];if(me in oe){const _e=ne["@graph"]=[],Ie=oe[me],Ge=Object.keys(Ie).sort();for(const st of Ge){const Xe=Ie[st];j.isSubjectReference(Xe)||_e.push(Xe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(I,X){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=P=>!(!W.isObject(P)||"@value"in P||"@set"in P||"@list"in P)&&(Object.keys(P).length>1||!("@id"in P)),j.isSubjectReference=P=>W.isObject(P)&&1===Object.keys(P).length&&"@id"in P,j.isValue=P=>W.isObject(P)&&"@value"in P,j.isList=P=>W.isObject(P)&&"@list"in P,j.isGraph=P=>W.isObject(P)&&"@graph"in P&&1===Object.keys(P).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=P=>j.isGraph(P)&&!("@id"in P),j.isBlankNode=P=>!!W.isObject(P)&&("@id"in P?0===P["@id"].indexOf("_:"):0===Object.keys(P).length||!("@value"in P||"@set"in P||"@list"in P))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),P=Y("./util"),Q=Y("./ContextResolver"),z=P.IdentifierIssuer,v=Y("./JsonLdError"),x=Y("lru-cache"),O=Y("./NQuads"),{expand:A}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:T,cleanupNull:V}=Y("./frame"),{isArray:R,isObject:K,isString:ce}=Y("./types"),{isSubjectReference:D}=Y("./graphTypes"),{expandIri:I,getInitialContext:X,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:oe}=Y("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ce}=Y("./nodeMap"),me=function(_e){const Ie={},st=new x({max:100});function Xe(tt,ke){var Ke=ke,{documentLoader:Ye=_e.documentLoader}=Ke,Ue=Uq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Ye},Ue,tt)}return _e.compact=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Ue)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Ye)return null;let Ke;(ke=Xe(ke,{base:ce(Ye)?Ye:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new z("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(ke.skipExpansion=!0),ke.compactToRelative||delete ke.base,Ke=ke.skipExpansion?Ye:yield _e.expand(Ye,ke);const Me=yield _e.processContext(X(ke),Ue,ke);let Ve=yield Z({activeCtx:Me,element:Ke,options:ke,compactionMap:ke.compactionMap});ke.compactArrays&&!ke.graph&&R(Ve)?1===Ve.length?Ve=Ve[0]:0===Ve.length&&(Ve={}):ke.graph&&K(Ve)&&(Ve=[Ve]),K(Ue)&&"@context"in Ue&&(Ue=Ue["@context"]),Ue=P.clone(Ue),R(Ue)||(Ue=[Ue]);const $e=Ue;Ue=[];for(let q=0;q<$e.length;++q)(!K($e[q])||Object.keys($e[q]).length>0)&&Ue.push($e[q]);const Ne=Ue.length>0;if(1===Ue.length&&(Ue=Ue[0]),R(Ve)){const q=oe({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ve;Ve={},Ne&&(Ve["@context"]=Ue),Ve[q]=G}else if(K(Ve)&&Ne){const q=Ve;Ve={"@context":Ue};for(const G in q)Ve[G]=q[G]}return Ve});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.expand=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Ue=Xe(Ue,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(Ue.expansionMap=void 0);const ke={},Ke=[];if("expandContext"in Ue){const Ne=P.clone(Ue.expandContext);ke.expandContext=K(Ne)&&"@context"in Ne?Ne:{"@context":Ne},Ke.push(ke.expandContext)}let Me;if(ce(Ye)){const Ne=yield _e.get(Ye,Ue);Me=Ne.documentUrl,ke.input=Ne.document,Ne.contextUrl&&(ke.remoteContext={"@context":Ne.contextUrl},Ke.push(ke.remoteContext))}else ke.input=P.clone(Ye);"base"in Ue||(Ue.base=Me||"");let Ve=X(Ue);for(const Ne of Ke)Ve=yield E({activeCtx:Ve,localCtx:Ne,options:Ue});let $e=yield A({activeCtx:Ve,element:ke.input,options:Ue,expansionMap:Ue.expansionMap});return K($e)&&"@graph"in $e&&1===Object.keys($e).length?$e=$e["@graph"]:null===$e&&($e=[]),R($e)||($e=[$e]),$e});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.flatten=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const Ke=yield _e.expand(Ye,ke),Me=b(Ke);return null===Ue?Me:(ke.graph=!0,ke.skipExpansion=!0,yield _e.compact(Me,Ue,ke))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.frame=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(ke=Xe(ke,{base:ce(Ye)?Ye:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ce(Ue)){const ue=yield _e.get(Ue,ke);if(Ue=ue.document,ue.contextUrl){let je=Ue["@context"];je?R(je)?je.push(ue.contextUrl):je=[je,ue.contextUrl]:je=ue.contextUrl,Ue["@context"]=je}}const Ke=Ue&&Ue["@context"]||{},Me=yield _e.processContext(X(ke),Ke,ke);ke.hasOwnProperty("omitGraph")||(ke.omitGraph=$(Me,1.1)),ke.hasOwnProperty("pruneBlankNodeIdentifiers")||(ke.pruneBlankNodeIdentifiers=$(Me,1.1));const Ve=yield _e.expand(Ye,ke),$e=ot({},ke);$e.isFrame=!0,$e.keepFreeFloatingNodes=!0;const Ne=yield _e.expand(Ue,$e),q=Object.keys(Ue).map(ue=>I(Me,ue,{vocab:!0}));$e.merged=!q.includes("@graph"),$e.is11=$(Me,1.1);const G=T(Ve,Ne,$e);$e.graph=!ke.omitGraph,$e.skipExpansion=!0,$e.link={},$e.framing=!0;let pe=yield _e.compact(G,Ke,$e);return $e.link={},pe=V(pe,$e),pe});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.link=function(){var tt=yt(function*(Ye,Ue,ke){const Ke={};return Ue&&(Ke["@context"]=Ue),Ke["@embed"]="@link",_e.frame(Ye,Ke,ke)});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.normalize=_e.canonize=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==Ue.inputFormat&&"application/nquads"!==Ue.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=O.parse(Ye);return W.canonize(Me,Ue)}const ke=ot({},Ue);delete ke.format,ke.produceGeneralizedRdf=!1;const Ke=yield _e.toRDF(Ye,ke);return W.canonize(Ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.fromRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Ue=Xe(Ue,{format:ce(Ye)?"application/n-quads":void 0});const{format:ke}=Ue;let{rdfParser:Ke}=Ue;if(ke){if(Ke=Ke||Ie[ke],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:ke})}else Ke=()=>Ye;const Me=yield Ke(Ye);return y(Me,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.toRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let ke;ke=(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Ye:yield _e.expand(Ye,Ue);const Ke=S(ke,Ue);if(Ue.format){if("application/n-quads"===Ue.format||"application/nquads"===Ue.format)return O.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:Ue.format})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.createNodeMap=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Ue=Xe(Ue,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const ke=yield _e.expand(Ye,Ue);return te(ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.merge=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!R(Ye))throw new TypeError('Could not merge, "docs" must be an array.');Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Ye.map(ue=>{const je=ot({},ke);return _e.expand(ue,je)}));let Me=!0;"mergeNodes"in ke&&(Me=ke.mergeNodes);const Ve=ke.issuer||new z("_:b"),$e={"@default":{}};for(let ue=0;ue_e._documentLoader,set:tt=>_e._documentLoader=tt}),_e.documentLoader=function(){var tt=yt(function*(Ye){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Ye})});return function(Ye){return tt.apply(this,arguments)}}(),_e.get=function(){var tt=yt(function*(Ye,Ue){let ke;ke="function"==typeof Ue.documentLoader?Ue.documentLoader:_e.documentLoader;const Ke=yield ke(Ye);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ce(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.processContext=function(){var tt=yt(function*(Ye,Ue,ke){return ke=Xe(ke,{base:"",contextResolver:new Q({sharedCache:st})}),null===Ue?X(ke):(Ue=P.clone(Ue),K(Ue)&&"@context"in Ue||(Ue={"@context":Ue}),E({activeCtx:Ye,localCtx:Ue,options:ke}))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.getContextValue=Y("./context").getContextValue,_e.documentLoaders={},_e.useDocumentLoader=function(tt){if(!(tt in _e.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});_e.documentLoader=_e.documentLoaders[tt].apply(_e,Array.prototype.slice.call(arguments,1))},_e.registerRDFParser=function(tt,Ye){Ie[tt]=Ye},_e.unregisterRDFParser=function(tt){delete Ie[tt]},_e.registerRDFParser("application/n-quads",O.parse),_e.registerRDFParser("application/nquads",O.parse),_e.url=Y("./url"),_e.util=P,Object.assign(_e,P),_e.promises=_e,_e.RequestQueue=Y("./RequestQueue"),_e.JsonLdProcessor=Y("./JsonLdProcessor")(_e),j.setupGlobals(_e),j.setupDocumentLoaders(_e),_e},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),z=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(x,O)=>{const A=(O=O||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(x,b,"@default",A),v.mergeNodeMaps(b)},v.createNodeMap=(x,O,A,b,y,S)=>{if(P.isArray(x)){for(const K of x)v.createNodeMap(K,O,A,b,void 0,S);return}if(!P.isObject(x))return void(S&&S.push(x));if(j.isValue(x)){if("@type"in x){let K=x["@type"];0===K.indexOf("_:")&&(x["@type"]=K=b.getId(K))}return void(S&&S.push(x))}if(S&&j.isList(x)){const K=[];return v.createNodeMap(x["@list"],O,A,b,y,K),void S.push({"@list":K})}if("@type"in x){const K=x["@type"];for(const ce of K)0===ce.indexOf("_:")&&b.getId(ce)}P.isUndefined(y)&&(y=j.isBlankNode(x)?b.getId(x["@id"]):x["@id"]),S&&S.push({"@id":y});const T=O[A],V=T[y]=T[y]||{};V["@id"]=y;const R=Object.keys(x).sort();for(let K of R){if("@id"===K)continue;if("@reverse"===K){const D={"@id":y},I=x["@reverse"];for(const X in I){const E=I[X];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,O,A,b,Z),Q.addValue(T[Z],X,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===K){y in O||(O[y]={}),v.createNodeMap(x[K],O,y,b);continue}if("@included"===K){v.createNodeMap(x[K],O,A,b);continue}if("@type"!==K&&W(K)){if("@index"===K&&K in V&&(x[K]!==V[K]||x[K]["@id"]!==V[K]["@id"]))throw new z("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:V});V[K]=x[K];continue}const ce=x[K];if(0===K.indexOf("_:")&&(K=b.getId(K)),0!==ce.length)for(let D of ce)if("@type"===K&&(D=0===D.indexOf("_:")?b.getId(D):D),j.isSubject(D)||j.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const I=j.isBlankNode(D)?b.getId(D["@id"]):D["@id"];Q.addValue(V,K,{"@id":I},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(D,O,A,b,I)}else if(j.isValue(D))Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(D)){const I=[];v.createNodeMap(D["@list"],O,A,b,y,I),D={"@list":I},Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(D,O,A,b,y),Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(V,K,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=x=>{const O={};for(const A of Object.keys(x).sort())for(const b of Object.keys(x[A]).sort()){const y=x[A][b];b in O||(O[b]={"@id":b});const S=O[b];for(const T of Object.keys(y).sort())if(W(T)&&"@type"!==T)S[T]=Q.clone(y[T]);else for(const V of y[T])Q.addValue(S,T,Q.clone(V),{propertyIsArray:!0,allowDuplicate:!1})}return O},v.mergeNodeMaps=x=>{const O=x["@default"],A=Object.keys(x).sort();for(const b of A){if("@default"===b)continue;const y=x[b];let S=O[b];S?"@graph"in S||(S["@graph"]=[]):O[b]=S={"@id":b,"@graph":[]};const T=S["@graph"];for(const V of Object.keys(y).sort()){const R=y[V];j.isSubjectReference(R)||T.push(R)}}return O}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(P){"undefined"!=typeof XMLHttpRequest&&(P.documentLoaders.xhr=W,P.useDocumentLoader("xhr"))},j.setupGlobals=function(P){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:P.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),P=Y("./graphTypes"),Q=Y("canonicalize"),z=Y("./types"),v=Y("./util"),{RDF_FIRST:x,RDF_REST:O,RDF_NIL:A,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:T,XSD_DOUBLE:V,XSD_INTEGER:R,XSD_STRING:K}=Y("./constants"),{isAbsolute:ce}=Y("./url"),D={};function I($,Z,oe,se,te){const Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me],_e=Object.keys(ne).sort();for(let Ie of _e){const Ge=ne[Ie];if("@type"===Ie)Ie=b;else if(j(Ie))continue;for(const st of Ge){const Xe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ce(me))continue;const tt={termType:Ie.startsWith("_:")?"BlankNode":"NamedNode",value:Ie};if(!ce(Ie)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Ye=E(st,se,$,oe,te.rdfDirection);Ye&&$.push({subject:Xe,predicate:tt,object:Ye,graph:oe})}}}}function E($,Z,oe,se,te){const Ce={};if(P.isValue($)){Ce.termType="Literal",Ce.value=void 0,Ce.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Ce.value=Q(me),Ce.datatype.value=y):z.isBoolean(me)?(Ce.value=me.toString(),Ce.datatype.value=ne||T):z.isDouble(me)||ne===V?(z.isDouble(me)||(me=parseFloat(me)),Ce.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ce.datatype.value=ne||V):z.isNumber(me)?(Ce.value=me.toFixed(0),Ce.datatype.value=ne||R):"i18n-datatype"===te&&"@direction"in $?(Ce.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Ce.value=me):"@language"in $?(Ce.value=me,Ce.datatype.value=ne||S,Ce.language=$["@language"]):(Ce.value=me,Ce.datatype.value=ne||K)}else if(P.isList($)){const me=function($,Z,oe,se,te){const Ce={termType:"NamedNode",value:x},me={termType:"NamedNode",value:O},ne={termType:"NamedNode",value:A},_e=$.pop(),Ie=_e?{termType:"BlankNode",value:Z.getId()}:ne;let Ge=Ie;for(const st of $){const Xe=E(st,Z,oe,se,te),tt={termType:"BlankNode",value:Z.getId()};oe.push({subject:Ge,predicate:Ce,object:Xe,graph:se}),oe.push({subject:Ge,predicate:me,object:tt,graph:se}),Ge=tt}if(_e){const st=E(_e,Z,oe,se,te);oe.push({subject:Ge,predicate:Ce,object:st,graph:se}),oe.push({subject:Ge,predicate:me,object:ne,graph:se})}return Ie}($["@list"],Z,oe,se,te);Ce.termType=me.termType,Ce.value=me.value}else{const me=z.isObject($)?$["@id"]:$;Ce.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Ce.value=me}return"NamedNode"!==Ce.termType||ce(Ce.value)?Ce:null}Se.exports=D,D.toRDF=($,Z)=>{const oe=new v.IdentifierIssuer("_:b"),se={"@default":{}};W($,se,"@default",oe);const te=[],Ce=Object.keys(se).sort();for(const me of Ce){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ce(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}I(te,se[me],ne,oe,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,z)=>{const v={},x=j.parsers[z||"full"],O=x.regex.exec(Q);let A=x.keys.length;for(;A--;)v[x.keys[A]]=void 0===O[A]?null:O[A];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,z)=>{if(null===Q||j.isAbsolute(z))return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(z),x={protocol:Q.protocol||""};if(null!==v.authority)x.authority=v.authority,x.path=v.path,x.query=v.query;else if(x.authority=Q.authority,""===v.path)x.path=Q.path,x.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))x.path=v.path;else{let A=Q.path;A=A.substr(0,A.lastIndexOf("/")+1),(A.length>0||Q.authority)&&"/"!==A.substr(-1)&&(A+="/"),A+=v.path,x.path=A}x.query=v.query}""!==v.path&&(x.path=j.removeDotSegments(x.path));let O=x.protocol;return null!==x.authority&&(O+="//"+x.authority),O+=x.path,null!==x.query&&(O+="?"+x.query),null!==v.fragment&&(O+="#"+v.fragment),""===O&&(O="./"),O},j.removeBase=(Q,z)=>{if(null===Q)return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):z.indexOf("//")&&(v+="//"),0!==z.indexOf(v))return z;const x=j.parse(z.substr(v.length)),O=Q.normalizedPath.split("/"),A=x.normalizedPath.split("/"),b=x.fragment||x.query?0:1;for(;O.length>0&&A.length>b&&O[0]===A[0];)O.shift(),A.shift();let y="";if(O.length>0){O.pop();for(let S=0;S{if(0===Q.length)return"";const z=Q.split("/"),v=[];for(;z.length>0;){const x=z.shift(),O=0===z.length;"."!==x?".."!==x?v.push(x):(v.pop(),O&&v.push("")):O&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const P=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&P.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),P=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),z=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,x=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,O_headers={accept:"application/ld+json, application/json"},A={};function b(y,S){if(j.isArray(S))for(let T=0;T{if(Object.keys(y).some(T=>"accept"===T.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+O_headers.accept+'" is supported.');return Object.assign({Accept:O_headers.accept},y)},A.parseLinkHeader=y=>{const S={},T=y.match(z);for(let V=0;V{if(!(j.isString(y)||j.isArray(y)&&y.every(T=>j.isString(T)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&A.asArray(y["@default"]).every(T=>j.isString(T)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},A.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const T=y[S];return!j.isArray(T)||T.length>0}return!1},A.hasValue=(y,S,T)=>{if(A.hasProperty(y,S)){let V=y[S];const R=W.isList(V);if(j.isArray(V)||R){R&&(V=V["@list"]);for(let K=0;K{if("propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1),"valueIsArray"in V||(V.valueIsArray=!1),"allowDuplicate"in V||(V.allowDuplicate=!0),"prependValue"in V||(V.prependValue=!1),V.valueIsArray)y[S]=T;else if(j.isArray(T)){0===T.length&&V.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),V.prependValue&&(T=T.concat(y[S]),y[S]=[]);for(let R=0;R[].concat(y[S]||[]),A.removeProperty=(y,S)=>{delete y[S]},A.removeValue=(y,S,T,V)=>{"propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1);const R=A.getValues(y,S).filter(K=>!A.compareValues(K,T));0===R.length?A.removeProperty(y,S):y[S]=1!==R.length||V.propertyIsArray?R:R[0]},A.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new P("_:b"),y),A.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],A.compareShortestLeast=(y,S)=>y.length1;const V=(X,E,$)=>{const Z=X[b].get(E);if(Z){const oe=Z.value;if(R(X,oe)){if(ce(X,Z),!X[z])return}else $&&(X[y]&&(Z.value.now=Date.now()),X[A].unshiftNode(Z));return oe.value}},R=(X,E)=>{if(!E||!E.maxAge&&!X[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:X[v]&&$>X[v]},K=X=>{if(X[P]>X[j])for(let E=X[A].tail;X[P]>X[j]&&null!==E;){const $=E.prev;ce(X,E),E=$}},ce=(X,E)=>{if(E){const $=E.value;X[x]&&X[x]($.key,$.value),X[P]-=$.length,X[b].delete($.key),X[A].removeNode(E)}};class D{constructor(E,$,Z,oe,se){this.key=E,this.value=$,this.length=Z,this.now=oe,this.maxAge=se||0}}const I=(X,E,$,Z)=>{let oe=$.value;R(X,oe)&&(ce(X,$),X[z]||(oe=void 0)),oe&&E.call(Z,oe.value,oe.key,X)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[z]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[x]=E.dispose,this[O]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,K(this)}get max(){return this[j]}set allowStale(E){this[z]=!!E}get allowStale(){return this[z]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,K(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[P]=0,this[A].forEach($=>{$.length=this[Q]($.value,$.key),this[P]+=$.length})),K(this)}get lengthCalculator(){return this[Q]}get length(){return this[P]}get itemCount(){return this[A].length}rforEach(E,$){$=$||this;for(let Z=this[A].tail;null!==Z;){const oe=Z.prev;I(this,E,Z,$),Z=oe}}forEach(E,$){$=$||this;for(let Z=this[A].head;null!==Z;){const oe=Z.next;I(this,E,Z,$),Z=oe}}keys(){return this[A].toArray().map(E=>E.key)}values(){return this[A].toArray().map(E=>E.value)}reset(){this[x]&&this[A]&&this[A].length&&this[A].forEach(E=>this[x](E.key,E.value)),this[b]=new Map,this[A]=new W,this[P]=0}dump(){return this[A].map(E=>!R(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[A]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const oe=Z?Date.now():0,se=this[Q]($,E);if(this[b].has(E)){if(se>this[j])return ce(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[x]&&(this[O]||this[x](E,me.value)),me.now=oe,me.maxAge=Z,me.value=$,this[P]+=se-me.length,me.length=se,this.get(E),K(this),!0}const te=new D(E,$,se,oe,Z);return te.length>this[j]?(this[x]&&this[x](E,$),!1):(this[P]+=te.length,this[A].unshift(te),this[b].set(E,this[A].head),K(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!R(this,$)}get(E){return V(this,E,!0)}peek(E){return V(this,E,!1)}pop(){const E=this[A].tail;return E?(ce(this,E),E.value):null}del(E){ce(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const oe=E[Z],se=oe.e||0;if(0===se)this.set(oe.k,oe.v);else{const te=se-$;te>0&&this.set(oe.k,oe.v,te)}}}prune(){this[b].forEach((E,$)=>V(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",P="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${P}reify#forSome`,forAll:`${P}reify#forAll`},log:{implies:`${P}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function D(ne,_e){if(_e=_e||b,!ne)return _e.defaultGraph();switch(ne[0]){case"?":return _e.variable(ne.substr(1));case"_":return _e.blankNode(ne.substr(2));case'"':if(_e===b)return new V(ne);if('"'===ne[ne.length-1])return _e.literal(ne.substr(1,ne.length-2));const Ie=ne.lastIndexOf('"',ne.length-1);return _e.literal(ne.substr(1,Ie-1),"@"===ne[Ie+1]?ne.substr(Ie+2):_e.namedNode(ne.substr(Ie+3)));case"<":const Ge=A.exec(ne);return _e.quad(D($(Ge[1]),_e),D($(Ge[2]),_e),D($(Ge[3]),_e),Ge[4]&&D($(Ge[4]),_e));default:return _e.namedNode(ne)}},he.termToId=function I(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==z.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(I(ne.subject))} ${E(I(ne.predicate))} ${E(I(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${I(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:z}=W.default;let v,x=0;const O=/^"(.*".*)(?="[^"]*$)/,A=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new T(ne)},blankNode:function(ne){return new R(ne||"n3-"+x++)},variable:function(ne){return new K(ne)},literal:function(ne,_e){if("string"==typeof _e)return new V(`"${ne}"@${_e.toLowerCase()}`);let Ie=_e?_e.value:"";return""===Ie&&("boolean"==typeof ne?Ie=z.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Ie=Number.isInteger(ne)?z.integer:z.double:(Ie=z.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new V(""===Ie||Ie===z.string?`"${ne}"`:`"${ne}"^^${Ie}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(_e){this.id=_e}get value(){return this.id}equals(_e){return _e instanceof S?this.id===_e.id:!!_e&&this.termType===_e.termType&&this.value===_e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class T extends S{get termType(){return"NamedNode"}}he.NamedNode=T;class V extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const _e=this.id;let Ie=_e.lastIndexOf('"')+1;return Ie<_e.length&&"@"===_e[Ie++]?_e.substr(Ie).toLowerCase():""}get datatype(){return new T(this.datatypeString)}get datatypeString(){const _e=this.id,Ie=_e.lastIndexOf('"')+1,Ge=Ie<_e.length?_e[Ie]:"";return"^"===Ge?_e.substr(Ie+2):"@"!==Ge?z.string:Q.langString}equals(_e){return _e instanceof V?this.id===_e.id:!!_e&&!!_e.datatype&&this.termType===_e.termType&&this.value===_e.value&&this.language===_e.language&&this.datatype.value===_e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}he.Literal=V;class R extends S{constructor(_e){super(`_:${_e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}he.BlankNode=R;class K extends S{constructor(_e){super(`?${_e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}he.Variable=K;class ce extends S{constructor(){return super(""),v||this}get termType(){return"DefaultGraph"}equals(_e){return this===_e||!!_e&&this.termType===_e.termType}}he.DefaultGraph=ce,v=new ce;class X extends S{constructor(_e,Ie,Ge,st){super(""),this._subject=_e,this._predicate=Ie,this._object=Ge,this._graph=st||v}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(_e){return!!_e&&this._subject.equals(_e.subject)&&this._predicate.equals(_e.predicate)&&this._object.equals(_e.object)&&this._graph.equals(_e.graph)}}function E(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/"/g,'""')}`)}function $(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/""/g,'"')}`)}function me(ne,_e,Ie,Ge){return new X(ne,_e,Ie,Ge)}he.Triple=he.Quad=X},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),P=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:z}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,x={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},O=/[\x00-\x20<>\\"\{\}\|\^\`]/,A={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(T){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(T=T||{}).lineMode){this._n3Mode=!1;for(const V in this)!(V in A)&&this[V]instanceof RegExp&&(this[V]=b)}else this._n3Mode=!1!==T.n3;this._comments=!!T.comments,this._literalClosingPos=0}_tokenizeToEnd(T,V){let R=this._input,K=R.length;for(;;){let I,X;for(;I=this._newline.exec(R);)this._comments&&(X=this._comment.exec(I[0]))&&ce("comment",X[1],"",this._line,I[0].length),R=R.substr(I[0].length,R.length),K=R.length,this._line++;if(!I&&(I=this._whitespace.exec(R))&&(R=R.substr(I[0].length,R.length)),this._endOfFile.test(R))return V&&(this._comments&&(X=this._comment.exec(R))&&ce("comment",X[1],"",this._line,R.length),R=null,ce("eof","","",this._line,0)),this._input=R;const E=this._line,$=R[0];let Z="",oe="",se="",te=null,Ce=0,me=!1;switch($){case"^":if(R.length<3)break;if("^"!==R[1]){this._n3Mode&&(Ce=1,Z="^");break}if(this._previousMarker="^^",R=R.substr(2),"<"!==R[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(R))Z="IRI",oe=te[1];else if(te=this._iri.exec(R)){if(oe=this._unescape(te[1]),null===oe||O.test(oe))return D(this);Z="IRI"}else R.length>1&&"<"===R[1]?(Z="<<",Ce=2):this._n3Mode&&R.length>1&&"="===R[1]&&(Z="inverse",Ce=2,oe=">");break;case">":R.length>1&&">"===R[1]&&(Z=">>",Ce=2);break;case"_":((te=this._blank.exec(R))||V&&(te=this._blank.exec(`${R} `)))&&(Z="blank",se="_",oe=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(R))&&(Z="var",oe=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(R))?(Z="langcode",oe=te[1]):(te=this._keyword.exec(R))&&(Z=te[0]);break;case".":if(1===R.length?V:R[1]<"0"||R[1]>"9"){Z=".",Ce=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(R)||V&&(te=this._number.exec(`${R} `)))&&(Z="literal",oe=te[0],se="string"==typeof te[1]?z.double:"string"==typeof te[2]?z.decimal:z.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(R))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(R))?(Z="literal",oe=te[0],se=z.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(R))?(Z="abbreviation",oe="a"):me=!0;break;case"=":this._n3Mode&&R.length>1&&(Z="abbreviation",">"!==R[1]?(Ce=1,oe="="):(Ce=2,oe=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ce=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(R))?((te=this._prefixed.exec(R))||V&&(te=this._prefixed.exec(`${R} `)))&&(Z="prefixed",se=te[1]||"",oe=this._unescape(te[2])):(Z="prefix",oe=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return V||!/^'''|^"""/.test(R)&&/\n|\r/.test(R)?D(this):this._input=R;const ne=Ce||te[0].length,_e=ce(Z,oe,se,E,ne);this.previousToken=_e,this._previousMarker=Z,R=R.substr(ne,R.length)}function ce(I,X,E,$,Z){const oe=R?K-R.length:K,te={type:I,value:X,prefix:E,line:$,start:oe,end:oe+Z};return T(null,te),te}function D(I){T(I._syntaxError(/^\S*/.exec(R)[0]))}}_unescape(T){let V=!1;const R=T.replace(v,(K,ce,D,I)=>{if("string"==typeof ce)return String.fromCharCode(Number.parseInt(ce,16));if("string"==typeof D){let X=Number.parseInt(D,16);return X<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((X-=65536)>>10),56320+(1023&X))}return I in x?x[I]:(V=!0,"")});return V?null:R}_parseLiteral(T){if(T.length>=3){const V=T.match(/^(?:"""|"|'''|'|)/)[0],R=V.length;let K=Math.max(this._literalClosingPos,R);for(;(K=T.indexOf(V,K))>0;){let ce=0;for(;"\\"===T[K-ce-1];)ce++;if(ce%2==0){const D=T.substring(R,K),I=D.split(/\r\n|\r|\n/).length-1,X=K+R;if(1===R&&0!==I||3===R&&this._lineMode)break;return this._line+=I,{value:this._unescape(D),matchLength:X}}K++}this._literalClosingPos=T.length-R+1}return{value:"",matchLength:0}}_syntaxError(T){this._input=null;const V=new Error(`Unexpected "${T}" on line ${this._line}.`);return V.context={token:void 0,line:this._line,previousToken:this.previousToken},V}_readStartingBom(T){return T.startsWith("\ufeff")?T.substr(1):T}tokenize(T,V){if(this._line=1,"string"==typeof T){if(this._input=this._readStartingBom(T),"function"!=typeof V){const R=[];let K;if(this._tokenizeToEnd((ce,D)=>ce?K=ce:R.push(D),!0),K)throw K;return R}(0,P.default)(()=>this._tokenizeToEnd(V,!0))}else this._pendingBuffer=null,"function"==typeof T.setEncoding&&T.setEncoding("utf8"),T.on("data",R=>{null!==this._input&&0!==R.length&&(this._pendingBuffer&&(R=W.concat([this._pendingBuffer,R]),this._pendingBuffer=null),128&R[R.length-1]?this._pendingBuffer=R:(void 0===this._input?this._input=this._readStartingBom("string"==typeof R?R:R.toString()):this._input+=R,this._tokenizeToEnd(V,!1)))}),T.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(V,!0)}),T.on("error",V)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),P=Q(Y("./IRIs"));function Q(A){return A&&A.__esModule?A:{default:A}}let z=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&O(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),T=/trig/.test(y),V=/triple/.test(y),R=/quad/.test(y),K=this._n3Mode=/n3/.test(y),ce=V||R;(this._supportsNamedGraphs=!(S||K))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||T||V||K),this._supportsRDFStar=""===y||/star|\*$/.test(y),ce&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ce,n3:K}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){z=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,T,V){const R=this._n3Mode;this._contextStack.push({subject:S,predicate:T,object:V,graph:y,type:b,inverse:!!R&&this._inversePredicate,blankPrefix:R?this._prefixes._:"",quantified:R?this._quantified:null}),R&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const T=this._resolveIRI(b.value);if(null===T)return this._error("Invalid IRI",b);S=this._namedNode(T);break;case"type":case"prefixed":const V=this._prefixes[b.prefix];if(void 0===V)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(V+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,T=this._readListItem;const V=this._subject,R=this._contextStack,K=R[R.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),T=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==R.length&&"list"===R[R.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(T=this._readPredicate,this._subject===this.RDF_NIL)return T}else if(T=this._getContextEndReader(),this._object===this.RDF_NIL)return T;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,T=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),T=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===V?null===K.predicate?K.subject=S:K.object=S:this._emit(V,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return T}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const T=this._subject,V=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,V&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==T){const R=this._predicate,K=this._object;V?this._emit(K,R,T,S):this._emit(T,R,K,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const T=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,T,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const T=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=T):(y=this._object,this._object=T),this._emit(y,S,T,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,T;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(T=this._subject,this._subject=y):(T=this._object,this._object=y),this._emit(y,S,T,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,T){this._callback(null,this._quad(b,y,S,T||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=x}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",T=-1,V=-1,R=0,K="/";for(;T=V&&(S=S.substr(0,R)),"/"!==K)return`${S}/${b.substr(T+1)}`;R=T+1}}}K=b[++T]}return S+b.substring(R)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${z++}_`,this._prefixCallback=S||x,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const T=[];let V;if(this._callback=(R,K)=>{R?V=R:K&&T.push(K)},this._lexer.tokenize(b).every(R=>this._readCallback=this._readCallback(R)),V)throw V;return T}this._callback=y,this._lexer.tokenize(b,(T,V)=>{null!==T?(this._callback(T),this._callback=x):this._readCallback&&(this._readCallback=this._readCallback(V))})}}function x(){}function O(A,b){const y=b.namedNode;A._namedNode=y,A._blankNode=b.blankNode,A._literal=b.literal,A._variable=b.variable,A._quad=b.quad,A.DEFAULTGRAPH=b.defaultGraph(),A.RDF_FIRST=y(P.default.rdf.first),A.RDF_REST=y(P.default.rdf.rest),A.RDF_NIL=y(P.default.rdf.nil),A.N3_FORALL=y(P.default.r.forAll),A.N3_FORSOME=y(P.default.r.forSome),A.ABBREVIATIONS={a:y(P.default.rdf.type),"=":y(P.default.owl.sameAs),">":y(P.default.log.implies)},A.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,O(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=z(y);if(S&&S.has(b))return S.get(b);var T={},V=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in b)if("default"!==R&&Object.prototype.hasOwnProperty.call(b,R)){var K=V?Object.getOwnPropertyDescriptor(b,R):null;K&&(K.get||K.set)?Object.defineProperty(T,R,K):T[R]=b[R]}return T.default=b,S&&S.set(b,T),T}(Y("./N3DataFactory")),j=Y("readable-stream"),P=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function z(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(z=function(T){return T?S:y})(b)}class x{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let T,V;for(const R in S)for(const K in T=S[R].subjects)for(const ce in V=T[K])y+=Object.keys(V[ce]).length;return this._size=y}_addToIndex(y,S,T,V){const R=y[S]||(y[S]={}),K=R[T]||(R[T]={}),ce=V in K;return ce||(K[V]=null),!ce}_removeFromIndex(y,S,T,V){const R=y[S],K=R[T];delete K[V];for(const ce in K)return;delete R[T];for(const ce in R)return;delete y[S]}*_findInIndex(y,S,T,V,R,K,ce,D){let I,X,E;const Z=!S+!T+!V>1?Object.keys(this._ids):this._entities,oe=(0,W.termFromId)(D,this._factory);S&&((I=y,y={})[S]=I[S]);for(const se in y){const te=Z[se];if(X=y[se]){T&&((I=X,X={})[T]=I[T]);for(const Ce in X){const me=Z[Ce];if(E=X[Ce]){const ne=V?V in E?[V]:[]:Object.keys(E);for(let _e=0;_e{T in S||(S[T]=!0,y((0,W.termFromId)(this._entities[T],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);let R=this._graphs[V];R||(R=this._graphs[V]={subjects:{},predicates:{},objects:{}},Object.freeze(R));const K=this._ids,ce=this._entities;y=K[y]||(K[ce[++this._id]=y]=this._id),S=K[S]||(K[ce[++this._id]=S]=this._id),T=K[T]||(K[ce[++this._id]=T]=this._id);const D=this._addToIndex(R.subjects,y,S,T);return this._addToIndex(R.predicates,S,T,y),this._addToIndex(R.objects,T,y,S),this._size=null,D}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);const R=this._ids,K=this._graphs;let ce,D,I;if(!((y=R[y])&&(S=R[S])&&(T=R[T])&&(ce=K[V])&&(D=ce.subjects[y])&&(I=D[S])&&T in I))return!1;for(y in this._removeFromIndex(ce.subjects,y,S,T),this._removeFromIndex(ce.predicates,S,T,y),this._removeFromIndex(ce.objects,T,y,S),null!==this._size&&this._size--,ce.subjects)return!0;return delete K[V],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,T,V){const R=new j.Readable({objectMode:!0});return R._read=()=>{for(const K of this.readQuads(y,S,T,V))R.push(K);R.push(null)},this.remove(R)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,T,V){return[...this.readQuads(y,S,T,V)]}*readQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let ce,D,I,X;if(!(O(y)&&!(D=K[y])||O(S)&&!(I=K[S])||O(T)&&!(X=K[T])))for(const E in R)(ce=R[E])&&(D?X?yield*this._findInIndex(ce.objects,X,D,I,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,D,I,null,"subject","predicate","object",E,null,!0):I?yield*this._findInIndex(ce.predicates,I,X,null,"predicate","object","subject",E,null,!0):X?yield*this._findInIndex(ce.objects,X,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,T,V){return new A(this,y,S,T,V)}countQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let D,I,X,E,ce=0;if(O(y)&&!(I=K[y])||O(S)&&!(X=K[S])||O(T)&&!(E=K[T]))return 0;for(const $ in R)(D=R[$])&&(ce+=y?T?this._countInIndex(D.objects,E,I,X):this._countInIndex(D.subjects,I,X,E):S?this._countInIndex(D.predicates,X,E,I):this._countInIndex(D.objects,E,I,X));return ce}forEach(y,S,T,V,R){this.some(K=>(y(K),!1),S,T,V,R)}every(y,S,T,V,R){let K=!1;const ce=!this.some(D=>(K=!0,!y(D)),S,T,V,R);return K&&ce}some(y,S,T,V,R){for(const K of this.readQuads(S,T,V,R))if(y(K))return!0;return!1}getSubjects(y,S,T){const V=[];return this.forSubjects(R=>{V.push(R)},y,S,T),V}forSubjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.predicates,D,I,y):this._loopByKey1(ce.subjects,D,y):I?this._loopByKey0(ce.objects,I,y):this._loop(ce.subjects,y))}getPredicates(y,S,T){const V=[];return this.forPredicates(R=>{V.push(R)},y,S,T),V}forPredicates(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.objects,I,D,y):this._loopByKey0(ce.subjects,D,y):I?this._loopByKey1(ce.predicates,I,y):this._loop(ce.predicates,y))}getObjects(y,S,T){const V=[];return this.forObjects(R=>{V.push(R)},y,S,T),V}forObjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.subjects,D,I,y):this._loopByKey1(ce.objects,D,y):I?this._loopByKey0(ce.predicates,I,y):this._loop(ce.objects,y))}getGraphs(y,S,T){const V=[];return this.forGraphs(R=>{V.push(R)},y,S,T),V}forGraphs(y,S,T,V){for(const R in this._graphs)this.some(K=>(y(K.graph),!0),S,T,V,R)}createBlankNode(y){let S,T;if(y)for(S=y=`_:${y}`,T=1;this._ids[S];)S=y+T++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const T={},V=S?()=>!0:(ce,D)=>{throw new Error(`${ce.value} ${D}`)},R=this.getQuads(null,P.default.rdf.rest,P.default.rdf.nil,null),K=y?[...R]:[];return R.forEach(ce=>{const D=[];let X,E,I=!1;const $=ce.graph;let Z=ce.subject;for(;Z&&!I;){const oe=this.getQuads(null,null,Z,null),se=this.getQuads(Z,null,null,null);let te,Ce=null,me=null,ne=null;for(let _e=0;_e{switch(b){case"data":O=y;break;case"end":A=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{O(b),S()},this._flush=b=>{A(),b()}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var z,W=Y("readable-stream"),j=(z=Y("./N3Writer"))&&z.__esModule?z:{default:z};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const x=this._writer=new j.default({write:(O,A,b)=>{this.push(O),b&&b()},end:O=>{this.push(null),O&&O()}},v);this._transform=(O,A,b)=>{x.addQuad(O,b)},this._flush=O=>{x.end(O)}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),v.on("prefix",(x,O)=>{this._writer.addPrefix(x,O)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return x(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=x,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function x(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const T=Object.create(null);for(const R in y)V(R,y[R]);function V(R,K){if("string"==typeof K){const ce=Object.create(null);T[R]=D=>ce[D]||(ce[D]=S.namedNode(K+D))}else if(!(R in T))throw new Error(`Unknown prefix: ${R}`);return T[R]}return S=S||W.default,V}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ce,W=(ce=Y("./IRIs"))&&ce.__esModule?ce:{default:ce},j=function(ce,D){if(!D&&ce&&ce.__esModule)return ce;if(null===ce||"object"!=typeof ce&&"function"!=typeof ce)return{default:ce};var I=Q(D);if(I&&I.has(ce))return I.get(ce);var X={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ce)if("default"!==$&&Object.prototype.hasOwnProperty.call(ce,$)){var Z=E?Object.getOwnPropertyDescriptor(ce,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(X,$,Z):X[$]=ce[$]}return X.default=ce,I&&I.set(ce,X),X}(Y("./N3DataFactory")),P=Y("./N3Util");function Q(ce){if("function"!=typeof WeakMap)return null;var D=new WeakMap,I=new WeakMap;return(Q=function(X){return X?I:D})(ce)}const x=j.default.defaultGraph(),{rdf:O,xsd:A}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class T extends j.Term{equals(){return!1}}function R(ce){let D=S[ce];return void 0===D&&(1===ce.length?(D=ce.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*(ce.charCodeAt(0)-55296)+ce.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function K(ce){return ce.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(D,I){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(I=D,D=null),this._lists=(I=I||{}).lists,D)this._outputStream=D,this._endStream=void 0===I.end||!!I.end;else{let X="";this._outputStream={write(E,$,Z){X+=E,Z&&Z()},end:E=>{E&&E(null,X)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(I.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=x,this._prefixIRIs=Object.create(null),I.prefixes&&this.addPrefixes(I.prefixes),I.baseIRI&&(this._baseMatcher=new RegExp(`^${K(I.baseIRI)}${I.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=I.baseIRI.length))}get _inDefaultGraph(){return x.equals(this._graph)}_write(D,I){this._outputStream.write(D,"utf8",I)}_writeQuad(D,I,X,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(x.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),D.equals(this._subject)?I.equals(this._predicate)?this._write(`, ${this._encodeObject(X)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(D,I,X,E,$){delete this._prefixMatch,this._write(this.quadToString(D,I,X,E),$)}quadToString(D,I,X,E){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(I)} ${this._encodeObject(X)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(D){return D.map(I=>this.quadToString(I.subject,I.predicate,I.object,I.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let I=D.value;this._baseMatcher&&this._baseMatcher.test(I)&&(I=I.substr(this._baseLength)),b.test(I)&&(I=I.replace(y,R));const X=this._prefixRegex.exec(I);return X?X[1]?this._prefixIRIs[X[1]]+X[2]:I:`<${I}>`}_encodeLiteral(D){let I=D.value;if(b.test(I)&&(I=I.replace(y,R)),D.language)return`"${I}"@${D.language}`;if(this._lineMode){if(D.datatype.value===A.string)return`"${I}"`}else switch(D.datatype.value){case A.string:return`"${I}"`;case A.boolean:if("true"===I||"false"===I)return I;break;case A.integer:if(/^[+-]?\d+$/.test(I))return I;break;case A.decimal:if(/^[+-]?\d*\.\d+$/.test(I))return I;break;case A.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(I))return I}return`"${I}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===O.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:I,object:X,graph:E}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(I)} ${this._encodeObject(X)}${(0,P.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,I,X,E,$){void 0===X?this._writeQuad(D.subject,D.predicate,D.object,D.graph,I):"function"==typeof E?this._writeQuad(D,I,X,x,E):this._writeQuad(D,I,X,E||x,$)}addQuads(D){for(let I=0;I.\n`)}if(X){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=K(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(X?"\n":"",I)}blank(D,I){let E,$,X=D;switch(void 0===D?X=[]:D.termType?X=[{predicate:D,object:I}]:"length"in D||(X=[D]),$=X.length){case 0:return new T("[]");case 1:if(E=X[0],!(E.object instanceof T))return new T(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let oe=0;oe<$;oe++)E=X[oe],E.predicate.equals(D)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(oe?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,D=E.predicate);return new T(`${Z}\n]`)}}list(D){const I=D&&D.length||0,X=new Array(I);for(let E=0;E{I=null,D(X,E)});if(this._endStream)try{return this._outputStream.end(I)}catch(X){}I&&I()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return O.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return O.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return O.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return O.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return O.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return O.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return O.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return O.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return P.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return O.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return O.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),P=y(Y("./N3Writer")),Q=y(Y("./N3Store")),z=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),x=b(Y("./N3Util"));he.Util=x;var O=b(Y("./N3DataFactory"));function A(T){if("function"!=typeof WeakMap)return null;var V=new WeakMap,R=new WeakMap;return(A=function(K){return K?R:V})(T)}function b(T,V){if(!V&&T&&T.__esModule)return T;if(null===T||"object"!=typeof T&&"function"!=typeof T)return{default:T};var R=A(V);if(R&&R.has(T))return R.get(T);var K={},ce=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in T)if("default"!==D&&Object.prototype.hasOwnProperty.call(T,D)){var I=ce?Object.getOwnPropertyDescriptor(T,D):null;I&&(I.get||I.set)?Object.defineProperty(K,D,I):K[D]=T[D]}return K.default=T,R&&R.set(T,K),K}function y(T){return T&&T.__esModule?T:{default:T}}he.default={Lexer:W.default,Parser:j.default,Writer:P.default,Store:Q.default,StreamParser:z.default,StreamWriter:v.default,Util:x,DataFactory:O.default,Term:O.Term,NamedNode:O.NamedNode,Literal:O.Literal,BlankNode:O.BlankNode,Variable:O.Variable,DefaultGraph:O.DefaultGraph,Quad:O.Quad,Triple:O.Triple,termFromId:O.termFromId,termToId:O.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,P,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}function v(K){if(j===setTimeout)return setTimeout(K,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(K,0);try{return j(K,0)}catch(ce){try{return j.call(null,K,0)}catch(D){return j.call(this,K,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(K){j=Q}try{P="function"==typeof clearTimeout?clearTimeout:z}catch(K){P=z}}();var b,O=[],A=!1,y=-1;function S(){!A||!b||(A=!1,b.length?O=b.concat(O):y=-1,O.length&&T())}function T(){if(!A){var K=v(S);A=!0;for(var ce=O.length;ce;){for(b=O,O=[];++y1)for(var D=1;D(j||(j=Promise.resolve())).then(P).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class zq{constructor(j,P=new Map,Q=0){this.prefix=j,this._existing=P,this.counter=Q}clone(){const{prefix:j,_existing:P,counter:Q}=this;return new zq(j,new Map(P),Q)}getId(j){const P=j&&this._existing.get(j);if(P)return P;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(P){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===P)this.algorithm={name:"SHA-256"};else{if("sha1"!==P)throw new Error(`Unsupport algorithm "${P}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(P){this._content+=P}digest(){var P=this;return yt(function*(){const Q=(new TextEncoder).encode(P._content),z=new Uint8Array(yield W.subtle.digest(P.algorithm,Q));let v="";for(let x=0;x]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class l2{static parse(K){const ce=[],D={},I=K.split(A.eoln);let X=0;for(const E of I){if(X++,A.empty.test(E))continue;const $=E.match(A.quad);if(null===$)throw new Error("N-Quads parse error on line "+X+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:z,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:z,value:$[3]},void 0!==$[4]?Z.object={termType:z,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:x,value:void 0,datatype:{termType:z}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=P,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(T,function(K,ce,D,I){if(ce)switch(ce){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(I)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:z,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:O,value:""},Z.graph.value in D){let oe=!0;const se=D[Z.graph.value];for(const te of se)if(b(te,Z)){oe=!1;break}oe&&(se.push(Z),ce.push(Z))}else D[Z.graph.value]=[Z],ce.push(Z)}return ce}static serialize(K){Array.isArray(K)||(K=l2.legacyDatasetToQuads(K));const ce=[];for(const D of K)ce.push(l2.serializeQuad(D));return ce.sort().join("")}static serializeQuad(K){const ce=K.subject,I=K.object,X=K.graph;let E="";return E+=ce.termType===z?`<${ce.value}>`:`${ce.value}`,E+=` <${K.predicate.value}> `,I.termType===z?E+=`<${I.value}>`:I.termType===v?E+=I.value:(E+=`"${R=I.value,R.replace(y,function(K){switch(K){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,I.datatype.value===P?I.language&&(E+=`@${I.language}`):I.datatype.value!==Q&&(E+=`^^<${I.datatype.value}>`)),X.termType===z?E+=` <${X.value}>`:X.termType===v&&(E+=` ${X.value}`),E+=" .\n",E;var R}static legacyDatasetToQuads(K){const ce=[],D={"blank node":v,IRI:z,literal:x};for(const I in K)K[I].forEach(E=>{const $={};for(const Z in E){const oe=E[Z],se={termType:D[oe.type],value:oe.value};se.termType===x&&(se.datatype={termType:z},"datatype"in oe&&(se.datatype.value=oe.datatype),"language"in oe?("datatype"in oe||(se.datatype.value=P),se.language=oe.language):"datatype"in oe||(se.datatype.value=Q)),$[Z]=se}$.graph="@default"===I?{termType:O,value:""}:{termType:I.startsWith("_:")?v:z,value:I},ce.push($)});return ce}};const y=/["\\\n\r]/g;const T=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let P=0;Pz)&&(b&&O>0&&A>j[O-1]||!b&&Oj[O+1])&&(z=A,v=O)}if(null===z)this.done=!0;else{const O=P.get(z)?v-1:v+1;j[v]=j[O],j[O]=z;for(const A of j)A>z&&P.set(A,!P.get(A))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),P=Y("./MessageDigest"),Q=Y("./Permuter"),z=Y("./NQuads");function v(x,O){return x.hashO.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(O){var A=this;return yt(function*(){A.quads=O;for(const K of O)A._addBlankNodeQuadInfo({quad:K,component:K.subject}),A._addBlankNodeQuadInfo({quad:K,component:K.object}),A._addBlankNodeQuadInfo({quad:K,component:K.graph});const b=new Map,y=[...A.blankNodeInfo.keys()];let S=0;for(const K of y)++S%100==0&&(yield A._yield()),yield A._hashAndTrackBlankNode({id:K,hashToBlankNodes:b});const T=[...b.keys()].sort(),V=[];for(const K of T){const ce=b.get(K);ce.length>1?V.push(ce):A.canonicalIssuer.getId(ce[0])}for(const K of V){const ce=[];for(const D of K){if(A.canonicalIssuer.hasId(D))continue;const I=new j("_:b");I.getId(D);const X=yield A.hashNDegreeQuads(D,I);ce.push(X)}ce.sort(v);for(const D of ce){const I=D.issuer.getOldIds();for(const X of I)A.canonicalIssuer.getId(X)}}const R=[];for(const K of A.quads){const ce=ot({},K);ce.subject=A._useCanonicalId({component:ce.subject}),ce.object=A._useCanonicalId({component:ce.object}),ce.graph=A._useCanonicalId({component:ce.graph}),R.push(z.serializeQuad(ce))}return R.sort(),R.join("")})()}hashFirstDegreeQuads(O){var A=this;return yt(function*(){const b=[],y=A.blankNodeInfo.get(O),S=y.quads;for(const V of S){const R={subject:null,predicate:V.predicate,object:null,graph:null};R.subject=A.modifyFirstDegreeComponent(O,V.subject,"subject"),R.object=A.modifyFirstDegreeComponent(O,V.object,"object"),R.graph=A.modifyFirstDegreeComponent(O,V.graph,"graph"),b.push(z.serializeQuad(R))}b.sort();const T=new P(A.hashAlgorithm);for(const V of b)T.update(V);return y.hash=yield T.digest(),y.hash})()}hashRelatedBlankNode(O,A,b,y){var S=this;return yt(function*(){let T;T=S.canonicalIssuer.hasId(O)?S.canonicalIssuer.getId(O):b.hasId(O)?b.getId(O):S.blankNodeInfo.get(O).hash;const V=new P(S.hashAlgorithm);return V.update(y),"g"!==y&&V.update(S.getRelatedPredicate(A)),V.update(T),V.digest()})()}hashNDegreeQuads(O,A){var b=this;return yt(function*(){const y=new P(b.hashAlgorithm),S=yield b.createHashToRelated(O,A),T=[...S.keys()].sort();for(const V of T){y.update(V);let K,R="";const ce=new Q(S.get(V));let D=0;for(;ce.hasNext();){const I=ce.next();++D%3==0&&(yield b._yield());let X=A.clone(),E="";const $=[];let Z=!1;for(const oe of I)if(b.canonicalIssuer.hasId(oe)?E+=b.canonicalIssuer.getId(oe):(X.hasId(oe)||$.push(oe),E+=X.getId(oe)),0!==R.length&&E>R){Z=!0;break}if(!Z){for(const oe of $){const se=yield b.hashNDegreeQuads(oe,X);if(E+=X.getId(oe),E+=`<${se.hash}>`,X=se.issuer,0!==R.length&&E>R){Z=!0;break}}Z||(0===R.length||E`}createHashToRelated(O,A){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(O).quads;let T=0;for(const V of S)++T%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:V,component:V.subject,position:"s",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.object,position:"o",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.graph,position:"g",id:O,issuer:A,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:O,hashToBlankNodes:A}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(O),S=A.get(y);S?S.push(O):A.set(y,[O])})()}_addBlankNodeQuadInfo({quad:O,component:A}){if("BlankNode"!==A.termType)return;const b=A.value,y=this.blankNodeInfo.get(b);y?y.quads.add(O):this.blankNodeInfo.set(b,{quads:new Set([O]),hash:null})}_addRelatedBlankNodeHash({quad:O,component:A,position:b,id:y,issuer:S,hashToRelated:T}){var V=this;return yt(function*(){if("BlankNode"!==A.termType||A.value===y)return;const R=A.value,K=yield V.hashRelatedBlankNode(R,O,S,b),ce=T.get(K);ce?ce.push(R):T.set(K,[R])})()}_useCanonicalId({component:O}){return"BlankNode"!==O.termType||O.value.startsWith(this.canonicalIssuer.prefix)?O:{termType:"BlankNode",value:this.canonicalIssuer.getId(O.value)}}_yield(){return yt(function*(){return new Promise(O=>W(O))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),P=Y("./Permuter"),Q=Y("./NQuads");function z(v,x){return v.hashx.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(x){this.quads=x;for(const T of x)this._addBlankNodeQuadInfo({quad:T,component:T.subject}),this._addBlankNodeQuadInfo({quad:T,component:T.object}),this._addBlankNodeQuadInfo({quad:T,component:T.graph});const O=new Map,A=[...this.blankNodeInfo.keys()];for(const T of A)this._hashAndTrackBlankNode({id:T,hashToBlankNodes:O});const b=[...O.keys()].sort(),y=[];for(const T of b){const V=O.get(T);V.length>1?y.push(V):this.canonicalIssuer.getId(V[0])}for(const T of y){const V=[];for(const R of T){if(this.canonicalIssuer.hasId(R))continue;const K=new W("_:b");K.getId(R);const ce=this.hashNDegreeQuads(R,K);V.push(ce)}V.sort(z);for(const R of V){const K=R.issuer.getOldIds();for(const ce of K)this.canonicalIssuer.getId(ce)}}const S=[];for(const T of this.quads){const V=ot({},T);V.subject=this._useCanonicalId({component:V.subject}),V.object=this._useCanonicalId({component:V.object}),V.graph=this._useCanonicalId({component:V.graph}),S.push(Q.serializeQuad(V))}return S.sort(),S.join("")}hashFirstDegreeQuads(x){const O=[],A=this.blankNodeInfo.get(x),b=A.quads;for(const S of b){const T={subject:null,predicate:S.predicate,object:null,graph:null};T.subject=this.modifyFirstDegreeComponent(x,S.subject,"subject"),T.object=this.modifyFirstDegreeComponent(x,S.object,"object"),T.graph=this.modifyFirstDegreeComponent(x,S.graph,"graph"),O.push(Q.serializeQuad(T))}O.sort();const y=new j(this.hashAlgorithm);for(const S of O)y.update(S);return A.hash=y.digest(),A.hash}hashRelatedBlankNode(x,O,A,b){let y;y=this.canonicalIssuer.hasId(x)?this.canonicalIssuer.getId(x):A.hasId(x)?A.getId(x):this.blankNodeInfo.get(x).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(O)),S.update(y),S.digest()}hashNDegreeQuads(x,O){const A=new j(this.hashAlgorithm),b=this.createHashToRelated(x,O),y=[...b.keys()].sort();for(const S of y){A.update(S);let V,T="";const R=new P(b.get(S));for(;R.hasNext();){const K=R.next();let ce=O.clone(),D="";const I=[];let X=!1;for(const E of K)if(this.canonicalIssuer.hasId(E)?D+=this.canonicalIssuer.getId(E):(ce.hasId(E)||I.push(E),D+=ce.getId(E)),0!==T.length&&D>T){X=!0;break}if(!X){for(const E of I){const $=this.hashNDegreeQuads(E,ce);if(D+=ce.getId(E),D+=`<${$.hash}>`,ce=$.issuer,0!==T.length&&D>T){X=!0;break}}X||(0===T.length||D`}createHashToRelated(x,O){const A=new Map,b=this.blankNodeInfo.get(x).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:x,issuer:O,hashToRelated:A});return A}_hashAndTrackBlankNode({id:x,hashToBlankNodes:O}){const A=this.hashFirstDegreeQuads(x),b=O.get(A);b?b.push(x):O.set(A,[x])}_addBlankNodeQuadInfo({quad:x,component:O}){if("BlankNode"!==O.termType)return;const A=O.value,b=this.blankNodeInfo.get(A);b?b.quads.add(x):this.blankNodeInfo.set(A,{quads:new Set([x]),hash:null})}_addRelatedBlankNodeHash({quad:x,component:O,position:A,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==O.termType||O.value===b)return;const T=O.value,V=this.hashRelatedBlankNode(T,x,y,A),R=S.get(V);R?R.push(T):S.set(V,[T])}_useCanonicalId({component:x}){return"BlankNode"!==x.termType||x.value.startsWith(this.canonicalIssuer.prefix)?x:{termType:"BlankNode",value:this.canonicalIssuer.getId(x.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){var z=this;return yt(function*(){const v=new Map,x=z.blankNodeInfo.get(P).quads;let O=0;for(const A of x){let b,y;if("BlankNode"===A.subject.termType&&A.subject.value!==P)y=A.subject.value,b="p";else{if("BlankNode"!==A.object.termType||A.object.value===P)continue;y=A.object.value,b="r"}++O%100==0&&(yield z._yield());const S=yield z.hashRelatedBlankNode(y,A,Q,b),T=v.get(S);T?T.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){const z=new Map,v=this.blankNodeInfo.get(P).quads;for(const x of v){let O,A;if("BlankNode"===x.subject.termType&&x.subject.value!==P)A=x.subject.value,O="p";else{if("BlankNode"!==x.object.termType||x.object.value===P)continue;A=x.object.value,O="r"}const b=this.hashRelatedBlankNode(A,x,Q,O),y=z.get(b);y?y.push(A):z.set(b,[A])}return z}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),P=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let z;try{z=Y("rdf-canonize-native")}catch(x){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(x){return x&&(z=x),z},v.canonize=function(){var x=yt(function*(O,A){if(Array.isArray(O)||(O=v.NQuads.legacyDatasetToQuads(O)),A.useNative){if(!z)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>z.canonize(O,A,(S,T)=>S?y(S):b(T)))}if("URDNA2015"===A.algorithm)return new W(A).main(O);if("URGNA2012"===A.algorithm)return new j(A).main(O);throw"algorithm"in A?new Error("Invalid RDF Dataset Canonicalization algorithm: "+A.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(O,A){return x.apply(this,arguments)}}(),v._canonizeSync=function(x,O){if(Array.isArray(x)||(x=v.NQuads.legacyDatasetToQuads(x)),O.useNative){if(z)return z.canonizeSync(x,O);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===O.algorithm)return new P(O).main(x);if("URGNA2012"===O.algorithm)return new Q(O).main(x);throw"algorithm"in O?new Error("Invalid RDF Dataset Canonicalization algorithm: "+O.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(P){this.termType="BlankNode",this.value=P}equals(P){return!!P&&"BlankNode"===P.termType&&P.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),P=Y("./Literal"),Q=Y("./NamedNode"),z=Y("./Quad"),v=Y("./Variable");let x=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${x++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new P.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,T){return new z.Quad(b,y,S,T||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(P.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(P){return!!P&&"DefaultGraph"===P.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,z){this.termType="Literal",this.value=Q,"string"==typeof z?(this.language=z,this.datatype=j.RDF_LANGUAGE_STRING):z?(this.language="",this.datatype=z):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(P){this.termType="NamedNode",this.value=P}equals(P){return!!P&&"NamedNode"===P.termType&&P.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(P,Q,z,v){this.termType="Quad",this.value="",this.subject=P,this.predicate=Q,this.object=z,this.graph=v}equals(P){return!!P&&("Quad"===P.termType||!P.termType)&&this.subject.equals(P.subject)&&this.predicate.equals(P.predicate)&&this.object.equals(P.object)&&this.graph.equals(P.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(P){this.termType="Variable",this.value=P}equals(P){return!!P&&"Variable"===P.termType&&P.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(P,Q){const z=P.saxStream._parser;super(P.trackPosition?`Line ${z.line+1} column ${z.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),P=Y("stream"),Q=Y("./ParseError"),z=Y("rdf-data-factory");class v extends P.Transform{constructor(A){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},A&&(Object.assign(this,A),this.options=A),this.dataFactory||(this.dataFactory=new z.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(A,b){const y={};let S=!1;for(const V in A.attributes)V.startsWith("xmlns")&&(5===V.length?(S=!0,y[""]=A.attributes[V]):":"===V.charAt(5)&&(S=!0,y[V.substr(6)]=A.attributes[V]));const T=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?T.concat([y]):T}static expandPrefixedTerm(A,b,y){const S=A.indexOf(":");let T,V;S>=0?(T=A.substr(0,S),V=A.substr(S+1)):(T="",V=A);let R=null,K=null;for(let ce=b.length-1;ce>=0;ce--){const D=b[ce][T];if(D){R=D;break}K||(K=b[ce][""])}if(!R){if(T&&"xmlns"!==T)throw new Q.ParseError(y,`The prefix '${T}' in term '${A}' was not bound.`);R=K||""}return{prefix:T,local:V,uri:R}}static isValidIri(A){return v.IRI_REGEX.test(A)}import(A){const b=new P.PassThrough({readableObjectMode:!0});A.on("error",S=>y.emit("error",S)),A.on("data",S=>b.push(S)),A.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(A,b,y){try{this.saxStream.write(A,b)}catch(S){return y(S)}y()}newParseError(A){return new Q.ParseError(this,A)}valueToUri(A,b){return this.uriToNamedNode(W.resolve(A,b.baseIRI))}uriToNamedNode(A){if(!v.isValidIri(A))throw this.newParseError(`Invalid URI: ${A}`);return this.dataFactory.namedNode(A)}validateNcname(A){if(!v.NCNAME_MATCHER.test(A))throw this.newParseError(`Not a valid NCName: ${A}`)}attachSaxListeners(){this.saxStream.on("error",A=>this.emit("error",A)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(A){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=x.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const T=A.name;let V="";for(const D in A.attributes)V+=` ${D}="${A.attributes[D]}"`;b.childrenStringTags.push(`<${T}${V}>`);const ce={childrenStringTags:b.childrenStringTags};return ce.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ce)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(A,b),y===x.RESOURCE?this.onTagResource(A,S,b,!b):this.onTagProperty(A,S,b)}onTagResource(A,b,y,S){const T=v.expandPrefixedTerm(A.name,b.ns,this);b.childrenParseType=x.PROPERTY;let V=!0;if(T.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(T.local)>=0)throw this.newParseError(`Illegal node element name: ${T.local}`);switch(T.local){case"RDF":b.childrenParseType=x.RESOURCE;case"Description":V=!1}}const R=[],K=[];let ce=null,D=!1,I=!1,X=null;for(const E in A.attributes){const $=A.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);ce=$;continue;case"ID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce="#"+$,D=!0;continue;case"nodeID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce=$,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":X=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(R.push(this.uriToNamedNode(Z.uri+Z.local)),K.push($))}if(null!==ce&&(b.subject=I?this.dataFactory.blankNode(ce):this.valueToUri(ce,b),D&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),V){const E=this.uriToNamedNode(T.uri+T.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let T=!1,V=!1,R=null,K=!0;const ce=[],D=[];for(const I in A.attributes){const X=A.attributes[I],E=v.expandPrefixedTerm(I,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(R)throw this.newParseError(`Found both rdf:resource (${X}) and rdf:nodeID (${R}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${X})`);b.hadChildren=!0,R=X,K=!1;continue;case"datatype":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${X})`);b.datatype=this.valueToUri(X,b);continue;case"nodeID":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${X}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${X})`);this.validateNcname(X),b.hadChildren=!0,R=X,K=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(V)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(R)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${R})`);if("Resource"===X){T=!0,b.childrenParseType=x.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===X?(T=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,K=!1):"Literal"===X&&(T=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(X),b.reifiedStatementId=this.valueToUri("#"+X,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===X?null:X.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(T||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${X}`);b.hadChildren=!0,V=!0,ce.push(this.uriToNamedNode(E.uri+E.local)),D.push(this.dataFactory.literal(X,b.datatype||b.language))}}if(null!==R){const I=b.subject;b.subject=K?this.dataFactory.blankNode(R):this.valueToUri(R,b),this.emitTriple(I,b.predicate,b.subject,b.reifiedStatementId);for(let X=0;X/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var x,O;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(O=x=he.ParseType||(he.ParseType={}))[O.RESOURCE=0]="RESOURCE",O[O.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function P(O,A,b){b||(b=Error);var S=function(T){function V(R,K,ce){return T.call(this,function(T,V,R){return"string"==typeof A?A:A(T,V,R)}(R,K,ce))||this}return function(O,A){O.prototype=Object.create(A.prototype),O.prototype.constructor=O,O.__proto__=A}(V,T),V}(b);S.prototype.name=b.name,S.prototype.code=O,j[O]=S}function Q(O,A){if(Array.isArray(O)){var b=O.length;return O=O.map(function(y){return String(y)}),b>2?"one of ".concat(A," ").concat(O.slice(0,b-1).join(", "),", or ")+O[b-1]:2===b?"one of ".concat(A," ").concat(O[0]," or ").concat(O[1]):"of ".concat(A," ").concat(O[0])}return"of ".concat(A," ").concat(String(O))}P("ERR_INVALID_OPT_VALUE",function(O,A){return'The value "'+A+'" is invalid for option "'+O+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(O,A,b){var y,S;if("string"==typeof A&&function(O,A,b){return O.substr(!b||b<0?0:+b,A.length)===A}(A,"not ")?(y="must not be",A=A.replace(/^not /,"")):y="must be",function(O,A,b){return(void 0===b||b>O.length)&&(b=O.length),O.substring(b-A.length,b)===A}(O," argument"))S="The ".concat(O," ").concat(y," ").concat(Q(A,"type"));else{var T=function(O,A,b){return"number"!=typeof b&&(b=0),!(b+A.length>O.length)&&-1!==O.indexOf(A,b)}(O,".")?"property":"argument";S='The "'.concat(O,'" ').concat(T," ").concat(y," ").concat(Q(A,"type"))}return S+". Received type ".concat(typeof b)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(O){return"The "+O+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(O){return"Cannot call "+O+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(O){return"Unknown encoding: "+O},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var T in y)S.push(T);return S};Se.exports=O;var P=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(O,P);for(var z=j(Q.prototype),v=0;v0)if("string"!=typeof L&&!Qe.objectMode&&Object.getPrototypeOf(L)!==x.prototype&&(L=function(ve){return x.from(ve)}(L)),B)Qe.endEmitted?se(ve,new E):Ie(ve,Qe,L,!0);else if(Qe.ended)se(ve,new I);else{if(Qe.destroyed)return!1;Qe.reading=!1,Qe.decoder&&!N?(L=Qe.decoder.write(L),Qe.objectMode||0!==L.length?Ie(ve,Qe,L,!1):Ke(ve,Qe)):Ie(ve,Qe,L,!1)}else B||(Qe.reading=!1,Ke(ve,Qe));return!Qe.ended&&(Qe.lengthL.highWaterMark&&(L.highWaterMark=function(ve){return ve>=st?ve=st:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=L.length?ve:L.ended?L.length:(L.needReadable=!0,0))}function Ue(ve){var L=ve._readableState;S("emitReadable",L.needReadable,L.emittedReadable),L.needReadable=!1,L.emittedReadable||(S("emitReadable",L.flowing),L.emittedReadable=!0,W.nextTick(ke,ve))}function ke(ve){var L=ve._readableState;S("emitReadable_",L.destroyed,L.length,L.ended),!L.destroyed&&(L.length||L.ended)&&(ve.emit("readable"),L.emittedReadable=!1),L.needReadable=!L.flowing&&!L.ended&&L.length<=L.highWaterMark,pe(ve)}function Ke(ve,L){L.readingMore||(L.readingMore=!0,W.nextTick(Me,ve,L))}function Me(ve,L){for(;!L.reading&&!L.ended&&(L.length0,L.resumeScheduled&&!L.paused?L.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Ne(ve){S("readable nexttick read 0"),ve.read(0)}function G(ve,L){S("resume",L.reading),L.reading||ve.read(0),L.resumeScheduled=!1,ve.emit("resume"),pe(ve),L.flowing&&!L.reading&&ve.read(0)}function pe(ve){var L=ve._readableState;for(S("flow",L.flowing);L.flowing&&null!==ve.read(););}function ue(ve,L){return 0===L.length?null:(L.objectMode?N=L.buffer.shift():!ve||ve>=L.length?(N=L.decoder?L.buffer.join(""):1===L.buffer.length?L.buffer.first():L.buffer.concat(L.length),L.buffer.clear()):N=L.buffer.consume(ve,L.decoder),N);var N}function je(ve){var L=ve._readableState;S("endReadable",L.endEmitted),L.endEmitted||(L.ended=!0,W.nextTick(_t,L,ve))}function _t(ve,L){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,L.readable=!1,L.emit("end"),ve.autoDestroy)){var N=L._writableState;(!N||N.autoDestroy&&N.finished)&&L.destroy()}}function pt(ve,L){for(var N=0,B=ve.length;N=L.highWaterMark:L.length>0)||L.ended))return S("read: emitReadable",L.length,L.ended),0===L.length&&L.ended?je(this):Ue(this),null;if(0===(ve=tt(ve,L))&&L.ended)return 0===L.length&&je(this),null;var Re,B=L.needReadable;return S("need readable",B),(0===L.length||L.length-ve0?ue(ve,L):null)?(L.needReadable=L.length<=L.highWaterMark,ve=0):(L.length-=ve,L.awaitDrain=0),0===L.length&&(L.ended||(L.needReadable=!0),N!==ve&&L.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(ve){se(this,new X("_read()"))},ne.prototype.pipe=function(ve,L){var N=this,B=this._readableState;switch(B.pipesCount){case 0:B.pipes=ve;break;case 1:B.pipes=[B.pipes,ve];break;default:B.pipes.push(ve)}B.pipesCount+=1,S("pipe count=%d opts=%j",B.pipesCount,L);var Qe=L&&!1===L.end||ve===W.stdout||ve===W.stderr?gs:Nt;function St(Bs,Qr){S("onunpipe"),Bs===N&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,S("cleanup"),ve.removeListener("close",Xr),ve.removeListener("finish",Ls),ve.removeListener("drain",On),ve.removeListener("error",wi),ve.removeListener("unpipe",St),N.removeListener("end",Nt),N.removeListener("end",gs),N.removeListener("data",Ti),kn=!0,B.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&On())}function Nt(){S("onend"),ve.end()}B.endEmitted?W.nextTick(Qe):N.once("end",Qe),ve.on("unpipe",St);var On=function(ve){return function(){var N=ve._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&z(ve,"data")&&(N.flowing=!0,pe(ve))}}(N);ve.on("drain",On);var kn=!1;function Ti(Bs){S("ondata");var Qr=ve.write(Bs);S("dest.write",Qr),!1===Qr&&((1===B.pipesCount&&B.pipes===ve||B.pipesCount>1&&-1!==pt(B.pipes,ve))&&!kn&&(S("false write response, pause",B.awaitDrain),B.awaitDrain++),N.pause())}function wi(Bs){S("onerror",Bs),gs(),ve.removeListener("error",wi),0===z(ve,"error")&&se(ve,Bs)}function Xr(){ve.removeListener("finish",Ls),gs()}function Ls(){S("onfinish"),ve.removeListener("close",Xr),gs()}function gs(){S("unpipe"),N.unpipe(ve)}return N.on("data",Ti),function(ve,L,N){if("function"==typeof ve.prependListener)return ve.prependListener(L,N);ve._events&&ve._events[L]?Array.isArray(ve._events[L])?ve._events[L].unshift(N):ve._events[L]=[N,ve._events[L]]:ve.on(L,N)}(ve,"error",wi),ve.once("close",Xr),ve.once("finish",Ls),ve.emit("pipe",N),B.flowing||(S("pipe resume"),N.resume()),ve},ne.prototype.unpipe=function(ve){var L=this._readableState,N={hasUnpiped:!1};if(0===L.pipesCount)return this;if(1===L.pipesCount)return ve&&ve!==L.pipes||(ve||(ve=L.pipes),L.pipes=null,L.pipesCount=0,L.flowing=!1,ve&&ve.emit("unpipe",this,N)),this;if(!ve){var B=L.pipes,Re=L.pipesCount;L.pipes=null,L.pipesCount=0,L.flowing=!1;for(var Qe=0;Qe0,!1!==B.flowing&&this.resume()):"readable"===ve&&!B.endEmitted&&!B.readableListening&&(B.readableListening=B.needReadable=!0,B.flowing=!1,B.emittedReadable=!1,S("on readable",B.length,B.reading),B.length?Ue(this):B.reading||W.nextTick(Ne,this)),N},ne.prototype.removeListener=function(ve,L){var N=v.prototype.removeListener.call(this,ve,L);return"readable"===ve&&W.nextTick($e,this),N},ne.prototype.removeAllListeners=function(ve){var L=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&W.nextTick($e,this),L},ne.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function(ve,L){L.resumeScheduled||(L.resumeScheduled=!0,W.nextTick(G,ve,L))}(this,ve)),ve.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(ve){var L=this,N=this._readableState,B=!1;for(var Re in ve.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var St=N.decoder.end();St&&St.length&&L.push(St)}L.push(null)}),ve.on("data",function(St){S("wrapped data"),N.decoder&&(St=N.decoder.write(St)),N.objectMode&&null==St||!(N.objectMode||St&&St.length)||L.push(St)||(B=!0,ve.pause())}),ve)void 0===this[Re]&&"function"==typeof ve[Re]&&(this[Re]=function(Nt){return function(){return ve[Nt].apply(ve,arguments)}}(Re));for(var Qe=0;Qe-1))throw new Z(ue);return this._writableState.defaultEncoding=ue,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,ue,je){je(new ce("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,ue,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,ue=null):"function"==typeof ue&&(je=ue,ue=null),null!=pe&&this.write(pe,ue),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,ue,je){ue.ending=!0,Ne(pe,ue),je&&(ue.finished?W.nextTick(je):pe.once("finish",je)),ue.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ue){!this._writableState||(this._writableState.destroyed=ue)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,ue){ue(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function P(I,X,E){return X in I?Object.defineProperty(I,X,{value:E,enumerable:!0,configurable:!0,writable:!0}):I[X]=E,I}var Q=Y("./end-of-stream"),z=Symbol("lastResolve"),v=Symbol("lastReject"),x=Symbol("error"),O=Symbol("ended"),A=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(I,X){return{value:I,done:X}}function T(I){var X=I[z];if(null!==X){var E=I[y].read();null!==E&&(I[A]=null,I[z]=null,I[v]=null,X(S(E,!1)))}}function V(I){W.nextTick(T,I)}var K=Object.getPrototypeOf(function(){}),ce=Object.setPrototypeOf((P(j={get stream(){return this[y]},next:function(){var X=this,E=this[x];if(null!==E)return Promise.reject(E);if(this[O])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(se,te){W.nextTick(function(){X[x]?te(X[x]):se(S(void 0,!0))})});var Z,$=this[A];if($)Z=new Promise(function(I,X){return function(E,$){I.then(function(){X[O]?E(S(void 0,!0)):X[b](E,$)},$)}}($,this));else{var oe=this[y].read();if(null!==oe)return Promise.resolve(S(oe,!1));Z=new Promise(this[b])}return this[A]=Z,Z}},Symbol.asyncIterator,function(){return this}),P(j,"return",function(){var X=this;return new Promise(function(E,$){X[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),K);Se.exports=function(X){var E,$=Object.create(ce,(P(E={},y,{value:X,writable:!0}),P(E,z,{value:null,writable:!0}),P(E,v,{value:null,writable:!0}),P(E,x,{value:null,writable:!0}),P(E,O,{value:X._readableState.endEmitted,writable:!0}),P(E,b,{value:function(oe,se){var te=$[y].read();te?($[A]=null,$[z]=null,$[v]=null,oe(S(te,!1))):($[z]=oe,$[v]=se)},writable:!0}),E));return $[A]=null,Q(X,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var oe=$[v];return null!==oe&&($[A]=null,$[z]=null,$[v]=null,oe(Z)),void($[x]=Z)}var se=$[z];null!==se&&($[A]=null,$[z]=null,$[v]=null,se(S(void 0,!0))),$[O]=!0}),X.on("readable",V.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(T,V){var R=Object.keys(T);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(T);V&&(K=K.filter(function(ce){return Object.getOwnPropertyDescriptor(T,ce).enumerable})),R.push.apply(R,K)}return R}function P(T,V,R){return V in T?Object.defineProperty(T,V,{value:R,enumerable:!0,configurable:!0,writable:!0}):T[V]=R,T}function z(T,V){for(var R=0;R0?this.tail.next=K:this.head=K,this.tail=K,++this.length}},{key:"unshift",value:function(R){var K={data:R,next:this.head};0===this.length&&(this.tail=K),this.head=K,++this.length}},{key:"shift",value:function(){if(0!==this.length){var R=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(0===this.length)return"";for(var K=this.head,ce=""+K.data;K=K.next;)ce+=R+K.data;return ce}},{key:"concat",value:function(R){if(0===this.length)return O.alloc(0);for(var K=O.allocUnsafe(R>>>0),ce=this.head,D=0;ce;)S(ce.data,K,D),D+=ce.data.length,ce=ce.next;return K}},{key:"consume",value:function(R,K){var ce;return RI.length?I.length:R;if(D+=X===I.length?I:I.slice(0,R),0==(R-=X)){X===I.length?(++ce,this.head=K.next?K.next:this.tail=null):(this.head=K,K.data=I.slice(X));break}++ce}return this.length-=ce,D}},{key:"_getBuffer",value:function(R){var K=O.allocUnsafe(R),ce=this.head,D=1;for(ce.data.copy(K),R-=ce.data.length;ce=ce.next;){var I=ce.data,X=R>I.length?I.length:R;if(I.copy(K,K.length-R,0,X),0==(R-=X)){X===I.length?(++D,this.head=ce.next?ce.next:this.tail=null):(this.head=ce,ce.data=I.slice(X));break}++D}return this.length-=D,K}},{key:y,value:function(R,K){return b(this,function(T){for(var V=1;V0,function(Z){ce||(ce=Z),Z&&D.forEach(A),!E&&(D.forEach(A),K(ce))})});return V.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,z,v,x){var O=function(Q,z,v){return null!=Q.highWaterMark?Q.highWaterMark:z?Q[v]:null}(z,x,v);if(null!=O){if(!isFinite(O)||Math.floor(O)!==O||O<0)throw new W(x?v:"highWaterMark",O);return Math.floor(O)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var P in j)he.hasOwnProperty(P)||(he[P]=j[P])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(z){const v=[];let x=0;for(;xO.join("")).join("/")}function P(z,v){let x=v+1;v>=0?"/"===z[v+1]&&"/"===z[v+2]&&(x=v+3):"/"===z[0]&&"/"===z[1]&&(x=2);const O=z.indexOf("/",x);return O<0?z:z.substr(0,O)+j(z.substr(O))}function Q(z){return!z||"#"===z||"?"===z||"/"===z}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(z,v){const x=(v=v||"").indexOf("#");if(x>0&&(v=v.substr(0,x)),!z.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);return v}if(z.startsWith("?")){const V=v.indexOf("?");return V>0&&(v=v.substr(0,V)),v+z}if(z.startsWith("#"))return v+z;if(!v.length){const V=z.indexOf(":");if(V<0)throw new Error(`Found invalid relative IRI '${z}' for a missing baseIRI`);return P(z,V)}const O=z.indexOf(":");if(O>=0)return P(z,O);const A=v.indexOf(":");if(A<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);const b=v.substr(0,A+1);if(0===z.indexOf("//"))return b+P(z,O);let y;if(v.indexOf("//",A)===A+1){if(y=v.indexOf("/",A+3),y<0)return v.length>A+3?v+"/"+P(z,O):b+P(z,O)}else if(y=v.indexOf("/",A+1),y<0)return b+P(z,O);if(0===z.indexOf("/"))return v.substr(0,y)+j(z);let S=v.substr(y);const T=S.lastIndexOf("/");return T>=0&&T"===ue?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(ue)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=ue);continue;case te.SGML_DECL_QUOTED:ue===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=ue;continue;case te.DOCTYPE:">"===ue?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=ue,"["===ue?G.state=te.DOCTYPE_DTD:$(ue)&&(G.state=te.DOCTYPE_QUOTED,G.q=ue));continue;case te.DOCTYPE_QUOTED:G.doctype+=ue,ue===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=ue,"]"===ue?G.state=te.DOCTYPE:$(ue)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=ue);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=ue,ue===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===ue?G.state=te.COMMENT_ENDING:G.comment+=ue;continue;case te.COMMENT_ENDING:"-"===ue?(G.state=te.COMMENT_ENDED,G.comment=Ie(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+ue,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ue?(Xe(G,"Malformed comment"),G.comment+="--"+ue,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===ue?G.state=te.CDATA_ENDING:G.cdata+=ue;continue;case te.CDATA_ENDING:"]"===ue?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+ue,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ue?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===ue?G.cdata+="]":(G.cdata+="]]"+ue,G.state=te.CDATA);continue;case te.PROC_INST:"?"===ue?G.state=te.PROC_INST_ENDING:E(ue)?G.state=te.PROC_INST_BODY:G.procInstName+=ue;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(ue))continue;"?"===ue?G.state=te.PROC_INST_ENDING:G.procInstBody+=ue;continue;case te.PROC_INST_ENDING:">"===ue?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+ue,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:oe(D,ue)?G.tagName+=ue:(tt(G),">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:(E(ue)||Xe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ue?(ke(G,!0),Ke(G)):(Xe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(ue))continue;">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ue?G.state=te.ATTRIB_VALUE:">"===ue?(Xe(G,"Attribute without value"),G.attribValue=G.attribName,Ue(G),ke(G)):E(ue)?G.state=te.ATTRIB_NAME_SAW_WHITE:oe(D,ue)?G.attribName+=ue:Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ue)G.state=te.ATTRIB_VALUE;else{if(E(ue))continue;Xe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===ue?ke(G):oe(ce,ue)?(G.attribName=ue,G.state=te.ATTRIB_NAME):(Xe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(ue))continue;$(ue)?(G.q=ue,G.state=te.ATTRIB_VALUE_QUOTED):(Xe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=ue);continue;case te.ATTRIB_VALUE_QUOTED:if(ue!==G.q){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=ue;continue}Ue(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(ue)?G.state=te.ATTRIB:">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(Xe(G,"No whitespace between attributes"),G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(ue)){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=ue;continue}Ue(G),">"===ue?ke(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===ue?Ke(G):oe(D,ue)?G.tagName+=ue:G.script?(G.script+=""===ue?Ke(G):Xe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,ve;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,ve="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,ve="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,ve="attribValue"}";"===ue?(G[ve]+=Me(G),G.entity="",G.state=pt):oe(G.entity.length?X:I,ue)?G.entity+=ue:(Xe(G,"Invalid character in entity name"),G[ve]+="&"+G.entity+ue,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,ue=0,je=P.length;ueG)switch(P[ue]){case"textNode":_e(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:Ge(q,"Max buffer length exceeded: "+P[ue])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){_e(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{O=Y("stream").Stream}catch(q){O=function(){}}var A=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);O.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(ue){pe.emit("error",ue),pe._parser.error=null},this._decoder=null,A.forEach(function(ue){Object.defineProperty(pe,"on"+ue,{get:function(){return pe._parser["on"+ue]},set:function(je){if(!je)return pe.removeAllListeners(ue),pe._parser["on"+ue]=je,je;pe.on(ue,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(O.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==A.indexOf(q)&&(pe._parser["on"+q]=function(){var ue=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ue.splice(0,0,q),pe.emit.apply(pe,ue)}),O.prototype.on.call(pe,q,G)};var V="http://www.w3.org/XML/1998/namespace",R="http://www.w3.org/2000/xmlns/",K={xml:V,xmlns:R},ce=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,I=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,X=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function oe(q,G){return q.test(G)}function se(q,G){return!oe(q,G)}var q,G,pe,te=0;for(var Ce in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Ce]]=Ce;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&_e(q),me(q,G,pe)}function _e(q){q.textNode=Ie(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Ie(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function Ge(q,G){return _e(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Xe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&Ge(q,"Unexpected end"),_e(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Xe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&Ge(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Ye(q,G){var ue=q.indexOf(":")<0?["",q]:q.split(":"),je=ue[0],_t=ue[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function Ue(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Ye(q.attribName,!0),ue=G.local;if("xmlns"===G.prefix)if("xml"===ue&&q.attribValue!==V)Xe(q,"xml: prefix must be bound to "+V+"\nActual: "+q.attribValue);else if("xmlns"===ue&&q.attribValue!==R)Xe(q,"xmlns: prefix must be bound to "+R+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[ue]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function ke(q,G){if(q.opt.xmlns){var pe=q.tag,ue=Ye(q.tagName);pe.prefix=ue.prefix,pe.local=ue.local,pe.uri=pe.ns[ue.prefix]||"",pe.prefix&&!pe.uri&&(Xe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=ue.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(On){ne(q,"onopennamespace",{prefix:On,uri:pe.ns[On]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var ue=pe;G--&&q.tags[G].name!==ue;)Xe(q,"Unexpected close tag");if(G<0)return Xe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var ve={};for(var L in pt.ns)ve[L]=pt.ns[L];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(B){ne(q,"onclosenamespace",{prefix:B,uri:pt.ns[B]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var ue,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(ue=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(ue=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(ue)||je.toLowerCase()!==G?(Xe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(ue))}function Ve(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Xe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function $e(q,G){var pe="";return G1114111||G(B)!==B)throw RangeError("Invalid code point: "+B);B<=65535?je.push(B):je.push(55296+((B-=65536)>>10),B%1024+56320),(ve+1===L||je.length>ue)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(P,Q){"use strict";if(!P.setImmediate){var A,z=1,v={},x=!1,O=P.document,X=Object.getPrototypeOf&&Object.getPrototypeOf(P);X=X&&X.setTimeout?X:P,"[object process]"==={}.toString.call(P.process)?A=function(E){W.nextTick(function(){T(E)})}:function(){if(P.postMessage&&!P.importScripts){var E=!0,$=P.onmessage;return P.onmessage=function(){E=!1},P.postMessage("","*"),P.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===P&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&T(+Z.data.slice(E.length))},P.addEventListener?P.addEventListener("message",$,!1):P.attachEvent("onmessage",$),A=function(Z){P.postMessage(E+Z,"*")}):P.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){T($.data)},A=function($){E.port2.postMessage($)}}():O&&"onreadystatechange"in O.createElement("script")?function(){var E=O.documentElement;A=function($){var Z=O.createElement("script");Z.onreadystatechange=function(){T($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():A=function(E){setTimeout(T,0,E)},X.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[z]={callback:E,args:$},A(z),z++},X.clearImmediate=y}var E,$;function y(E){delete v[E]}function T(E){if(x)setTimeout(T,0,E);else{var $=v[E];if($){x=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),x=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=P;var W=Y("events").EventEmitter;function P(){W.call(this)}Y("inherits")(P,W),P.Readable=Y("readable-stream/lib/_stream_readable.js"),P.Writable=Y("readable-stream/lib/_stream_writable.js"),P.Duplex=Y("readable-stream/lib/_stream_duplex.js"),P.Transform=Y("readable-stream/lib/_stream_transform.js"),P.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),P.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),P.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),P.Stream=P,P.prototype.pipe=function(Q,z){var v=this;function x(V){Q.writable&&!1===Q.write(V)&&v.pause&&v.pause()}function O(){v.readable&&v.resume&&v.resume()}v.on("data",x),Q.on("drain",O),!Q._isStdio&&(!z||!1!==z.end)&&(v.on("end",b),v.on("close",y));var A=!1;function b(){A||(A=!0,Q.end())}function y(){A||(A=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(V){if(T(),0===W.listenerCount(this,"error"))throw V}function T(){v.removeListener("data",x),Q.removeListener("drain",O),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",T),v.removeListener("close",T),Q.removeListener("close",T)}return v.on("error",S),Q.on("error",S),v.on("end",T),v.on("close",T),Q.on("close",T),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var P=Y("process/browser.js").nextTick,Q=Function.prototype.apply,z=Array.prototype.slice,v={},x=0;function O(A,b){this._id=A,this._clearFn=b}he.setTimeout=function(){return new O(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new O(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(A){A.close()},O.prototype.unref=O.prototype.ref=function(){},O.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(A,b){clearTimeout(A._idleTimeoutId),A._idleTimeout=b},he.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},he._unrefActive=he.active=function(A){clearTimeout(A._idleTimeoutId);var b=A._idleTimeout;b>=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(A){var b=x++,y=!(arguments.length<2)&&z.call(arguments,1);return v[b]=!0,P(function(){v[b]&&(y?A.apply(null,y):A.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(A){delete v[A]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function P(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var z=W.localStorage[Q];return null!=z&&"true"===String(z).toLowerCase()}Se.exports=function(Q,z){if(P("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(P("throwDeprecation"))throw new Error(z);P("traceDeprecation")?console.trace(z):console.warn(z),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var x=this;if(x instanceof W||(x=new W),x.tail=null,x.head=null,x.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){x.push(b)});else if(arguments.length>0)for(var O=0,A=arguments.length;O1)O=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");A=this.head.next,O=this.head.value}for(var b=0;null!==A;b++)O=v(O,A.value,b),A=A.next;return O},W.prototype.reduceReverse=function(v,x){var O,A=this.tail;if(arguments.length>1)O=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");A=this.tail.prev,O=this.tail.value}for(var b=this.length-1;null!==A;b--)O=v(O,A.value,b),A=A.prev;return O},W.prototype.toArray=function(){for(var v=new Array(this.length),x=0,O=this.head;null!==O;x++)v[x]=O.value,O=O.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),x=0,O=this.tail;null!==O;x++)v[x]=O.value,O=O.prev;return v},W.prototype.slice=function(v,x){(x=x||this.length)<0&&(x+=this.length),(v=v||0)<0&&(v+=this.length);var O=new W;if(xthis.length&&(x=this.length);for(var A=0,b=this.head;null!==b&&Athis.length&&(x=this.length);for(var A=this.length,b=this.tail;null!==b&&A>x;A--)b=b.prev;for(;null!==b&&A>v;A--,b=b.prev)O.push(b.value);return O},W.prototype.splice=function(v,x,...O){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var A=0,b=this.head;null!==b&&A{"use strict";Ut.exports=Je,Ut.exports.default=Je;var it=1e20;function Je(Y,Se,he,W,j,P){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=P||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,z=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(z*z),this.gridInner=new Float64Array(z*z),this.f=new Float64Array(z),this.z=new Float64Array(z+1),this.v=new Uint16Array(z),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Tt(Y,Se,he,W,j,P){for(var Q=0;Q-1);P[++v]=z,Q[v]=x,Q[v+1]=it}for(z=0,v=0;z{Ut.exports=function(Je,yt){var ee=yt.length;if(0!==ee){var Tt=Je.length;Je.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Tt=yt||(yt={})).typeOfFunction="function",Tt.boolTrue=!0,yt;var Tt})();function ee(Tt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},266:(Ut,it,Je)=>{Ut.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(Ut,it,Je){"use strict";var yt,ee,Tt;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Tt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function P(D){D||(D=document.documentElement);var I=window.getComputedStyle(D,null).fontSize;return parseFloat(I)||16}function z(D,I){var X=I.split(/\d/),E=X[X.length-1];switch(I=parseFloat(I),E){case"px":return I;case"em":return I*P(D);case"rem":return I*P();case"vw":return I*document.documentElement.clientWidth/100;case"vh":return I*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return I*(0,Math["vmin"===E?"min":"max"])($,Z);default:return I}}function v(D,I){this.element=D;var X,E,$,Z,oe,se,te,Ce,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(X in $=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var I=D.getBoundingClientRect();return{width:Math.round(I.width),height:Math.round(I.height)}}(this.element),se={},W[I])!W[I].hasOwnProperty(X)||(Z=z(this.element,(E=W[I][X]).value),oe="width"===E.property?$.width:$.height,te="","min"===E.mode&&oe>=Z&&(te+=E.value),"max"===E.mode&&oe<=Z&&(te+=E.value),se[Ce=E.mode+"-"+E.property]||(se[Ce]=""),te&&-1===(" "+se[Ce]+" ").indexOf(" "+te+" ")&&(se[Ce]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(se[me[ne]]?this.element.setAttribute(me[ne],se[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function x(D,I){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new v(D,I)),D.elementQueriesSensor||(D.elementQueriesSensor=new dt(D,function(){D.elementQueriesSetupInformation.call()}))}function O(D,I,X,E){if(void 0===W[D]){W[D]=[];var $=j.length;he.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+$+"px;}",j.push(D)}W[D].push({mode:I,property:X,value:E})}function A(D){var I;if(document.querySelectorAll&&(I=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!I&&"undefined"!=typeof $$&&(I=$$),!I&&"undefined"!=typeof jQuery&&(I=jQuery),!I)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return I}function y(D){var I=[],X=[],E=[],$=0,Z=-1,oe=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){I.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Ce=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");E.push(Ce),X.push({minWidth:te}),te?D.children[se].style.display="none":($=I.length-1,D.children[se].style.display="block")}function ne(){var Ie,_e=!1;for(Ie in I)!I.hasOwnProperty(Ie)||X[Ie].minWidth&&D.offsetWidth>X[Ie].minWidth&&(_e=Ie);if(_e||(_e=$),Z!==_e)if(oe[_e])I[Z].style.display="none",I[_e].style.display="block",Z=_e;else{var Ge=new Image;Ge.onload=function(){I[_e].src=E[_e],I[Z].style.display="none",I[_e].style.display="block",oe[_e]=!0,Z=_e},Ge.src=E[_e]}else I[_e].src=E[_e]}Z=$,D.resizeSensorInstance=new dt(D,ne),ne()}var T=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,V=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function R(D){var I,X,E,$;for(D=D.replace(/'/g,'"');null!==(I=T.exec(D));)for(X=I[1]+I[3],E=I[2];null!==($=V.exec(E));)O(X,$[1],$[2],$[3])}function K(D){var I="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&R(D);else for(var X=0,E=D.length;X img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ce=!0);for(var I=0,X=document.styleSheets.length;I{var yt=Je(910),ee=Je(369),Tt=Je(322);function dt(Q,z,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(z))throw new Error('graphology-shortest-path: the "'+z+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((z=""+z)==(v=""+v))return[z];var x=Q.inboundNeighbors.bind(Q),O=Q.outboundNeighbors.bind(Q),A={},b={};A[z]=null,b[v]=null;var T,V,R,K,ce,D,I,X,y=[z],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(T=y,y=[],ce=0,I=T.length;ce{Ut.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(ie){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(ie)}function Je(ie,fe){ie.prototype=Object.create(fe.prototype),ie.prototype.constructor=ie,ee(ie,fe)}function yt(ie){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(ie)}function ee(ie,fe){return(ee=Object.setPrototypeOf||function(re,M){return re.__proto__=M,re})(ie,fe)}function Tt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ie){return!1}}function dt(ie,fe,re){return(dt=Tt()?Reflect.construct:function(M,k,J){var we=[null];we.push.apply(we,k);var Fe=new(Function.bind.apply(M,we));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(ie){var fe="function"==typeof Map?new Map:void 0;return(Y=function(re){if(null===re||-1===Function.toString.call(re).indexOf("[native code]"))return re;if("function"!=typeof re)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(re))return fe.get(re);fe.set(re,k)}function k(){return dt(re,arguments,yt(this).constructor)}return k.prototype=Object.create(re.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),ee(k,re)})(ie)}function Se(ie){if(void 0===ie)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ie}var he=function(){for(var ie=arguments[0],fe=1,re=arguments.length;fe0&&we.length>k&&!we.warned){we.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+we.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=ie,nt.type=fe,nt.count=we.length,console&&console.warn&&console.warn(nt)}return ie}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(ie,fe,re){var M={fired:!1,wrapFn:void 0,target:ie,type:fe,listener:re},k=D.bind(M);return k.listener=re,M.wrapFn=k,k}function X(ie,fe,re){var M=ie._events;if(void 0===M)return[];var k=M[fe];return void 0===k?[]:"function"==typeof k?re?[k.listener||k]:[k]:re?function(J){for(var we=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var we=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw we.context=J,we}var Fe=k[ie];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Ot=$(Fe,nt);for(re=0;re=0;J--)if(re[J]===fe||re[J].listener===fe){we=re[J].listener,k=J;break}if(k<0)return this;0===k?re.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(ie,fe[M]);return this},T.prototype.listeners=function(ie){return X(this,ie,!0)},T.prototype.rawListeners=function(ie){return X(this,ie,!1)},T.listenerCount=function(ie,fe){return"function"==typeof ie.listenerCount?ie.listenerCount(fe):E.call(ie,fe)},T.prototype.listenerCount=E,T.prototype.eventNames=function(){return this._eventsCount>0?O(this._events):[]},oe.prototype.next=function(){if(this.done)return{done:!0};var ie=this._next();return ie.done&&(this.done=!0),ie},"undefined"!=typeof Symbol&&(oe.prototype[Symbol.iterator]=function(){return this}),oe.of=function(){var ie=arguments,fe=ie.length,re=0;return new oe(function(){return re>=fe?{done:!0}:{done:!1,value:ie[re++]}})},oe.empty=function(){var ie=new oe(null);return ie.done=!0,ie},oe.is=function(ie){return ie instanceof oe||"object"==typeof ie&&null!==ie&&"function"==typeof ie.next};var se=oe,te=function(ie,fe){for(var re,M=arguments.length>1?fe:1/0,k=M!==1/0?new Array(M):[],J=0;;){if(J===M)return k;if((re=ie.next()).done)return J!==fe?k.slice(0,J):k;k[J++]=re.value}},Ce=function(ie){function fe(re,M){var k;return(k=ie.call(this)||this).name="GraphError",k.message=re||"",k.data=M||{},k}return Je(fe,ie),fe}(Y(Error)),me=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),ne=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),_e=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce);function Ie(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ge(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(ie,fe){this.key=ie,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Xe(ie,fe,re,M,k,J){this.key=fe,this.attributes=J,this.undirected=ie,this.source=M,this.target=k,this.generatedKey=re}function tt(ie,fe,re,M,k,J,we){var Fe,nt,Ot="out",We="in";if(fe&&(Ot=We="undirected"),ie.multi){if(void 0===(nt=(Fe=J[Ot])[k])&&(nt=new Set,Fe[k]=nt),nt.add(re),M===k&&fe)return;void 0===(Fe=we[We])[M]&&(Fe[M]=nt)}else{if(J[Ot][k]=re,M===k&&fe)return;we[We][M]=re}}function Ye(ie,fe,re){var M=ie.multi,k=re.source,J=re.target,we=k.key,Fe=J.key,nt=k[fe?"undirected":"out"],Ot=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Ot][we]):We.delete(re)}else delete nt[Fe];M||delete J[Ot][we]}Ge.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Ue=[{name:function(ie){return"get".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes[k]}}},{name:function(ie){return"get".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M){var k;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,we=""+arguments[1];if(!(k=W(this,J,we,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(we,'").'))}else if(!(k=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&k.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return k.attributes}}},{name:function(ie){return"has".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes.hasOwnProperty(k)}}},{name:function(ie){return"set".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J,this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"update".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J(we.attributes[k]),this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"remove".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return delete J.attributes[k],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:k}),this}}},{name:function(ie){return"replace".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes=k,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(ie){return"merge".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return he(J.attributes,k),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:k}),this}}}],ke=se,Ke=function(){var ie,fe=arguments,re=-1;return new ke(function M(){if(!ie){if(++re>=fe.length)return{done:!0};ie=fe[re]}var k=ie.next();return k.done?(ie=null,M()):k})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ve(ie,fe){for(var re in fe)ie.push(fe[re].key)}function $e(ie,fe){for(var re in fe)fe[re].forEach(function(M){return ie.push(M.key)})}function Ne(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)}}function q(ie,fe,re){for(var M in ie)M!==re&&ie[M].forEach(function(k){return fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function G(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];if(fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey))return!0}return!1}function pe(ie,fe,re){var M,k,J,we,Fe;for(var nt in ie)if(nt!==re)for(M=ie[nt].values();!0!==(k=M.next()).done;)if(we=(J=k.value).source,fe(J.key,J.attributes,we.key,(Fe=J.target).key,we.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function ue(ie,fe){var re=Object.keys(ie),M=re.length,k=null,J=0;return new se(function we(){var Fe;if(k){var nt=k.next();if(nt.done)return k=null,J++,we();Fe=nt.value}else{if(J>=M)return{done:!0};var Ot=re[J];if(Ot===fe)return J++,we();if((Fe=ie[Ot])instanceof Set)return k=Fe.values(),we();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(ie,fe,re){var M=fe[re];M&&ie.push(M.key)}function _t(ie,fe,re){var M=fe[re];M&&M.forEach(function(k){return ie.push(k.key)})}function pt(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function ve(ie,fe,re){var M=ie[fe];M&&M.forEach(function(k){return re(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function L(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;return re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(ie,fe,re){var M=ie[fe];if(M){for(var k,J,we=M.values();!0!==(k=we.next()).done;)if(re((J=k.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function B(ie,fe){var re=ie[fe];if(re instanceof Set){var M=re.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return se.of([re.key,re.attributes,re.source.key,re.target.key,re.source.attributes,re.target.attributes])}function Re(ie,fe){if(0===ie.size)return[];if("mixed"===fe||fe===ie.type)return"function"==typeof Array.from?Array.from(ie._edges.keys()):te(ie._edges.keys(),ie._edges.size);for(var re,M,J=new Array("undirected"===fe?ie.undirectedSize:ie.directedSize),we="undirected"===fe,Fe=ie._edges.values(),nt=0;!0!==(re=Fe.next()).done;)(M=re.value).undirected===we&&(J[nt++]=M.key);return J}function Qe(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey)}}function St(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;if(re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey))break}}function Nt(ie,fe){if(0===ie.size)return se.empty();var re="mixed"!==fe&&fe!==ie.type,M="undirected"===fe,k=ie._edges.values();return new se(function(){for(var J,we;;){if((J=k.next()).done)return J;if(we=J.value,!re||we.undirected===M)break}return{value:[we.key,we.attributes,we.source.key,we.target.key,we.source.attributes,we.target.attributes],done:!1}})}function On(ie,fe,re,M){var k=[],J=ie?$e:Ve;return"undirected"!==fe&&("out"!==re&&J(k,M.in),"in"!==re&&J(k,M.out),!re&&M.directedSelfLoops>0&&k.splice(k.lastIndexOf(M.key),1)),"directed"!==fe&&J(k,M.undirected),k}function kn(ie,fe,re,M,k){var J=ie?q:Ne;"undirected"!==fe&&("out"!==re&&J(M.in,k),"in"!==re&&J(M.out,k,re?null:M.key)),"directed"!==fe&&J(M.undirected,k)}function Yn(ie,fe,re,M,k){var J=ie?pe:G;"undirected"!==fe&&("out"!==re&&J(M.in,k)||"in"!==re&&J(M.out,k,re?null:M.key))||"directed"===fe||J(M.undirected,k)}function Ti(ie,fe,re){var M=se.empty();return"undirected"!==ie&&("out"!==fe&&void 0!==re.in&&(M=Ke(M,ue(re.in))),"in"!==fe&&void 0!==re.out&&(M=Ke(M,ue(re.out,fe?null:re.key)))),"directed"!==ie&&void 0!==re.undirected&&(M=Ke(M,ue(re.undirected))),M}function wi(ie,fe,re,M,k){var J=fe?_t:je,we=[];return"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&J(we,M.in,k),void 0!==M.out&&"in"!==re&&J(we,M.out,k),!re&&M.directedSelfLoops>0&&we.splice(we.lastIndexOf(M.key),1)),"directed"!==ie&&void 0!==M.undirected&&J(we,M.undirected,k),we}function Xr(ie,fe,re,M,k,J){var we=fe?ve:pt;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J),M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J)),"directed"!==ie&&void 0!==M.undirected&&we(M.undirected,k,J)}function Ls(ie,fe,re,M,k,J){var we=fe?N:L;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J)||M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J,re?null:M.key))||"directed"===ie||void 0===M.undirected||we(M.undirected,k,J)}function gs(ie,fe,re,M){var k=se.empty();return"undirected"!==ie&&(void 0!==re.in&&"out"!==fe&&M in re.in&&(k=Ke(k,B(re.in,M))),void 0!==re.out&&"in"!==fe&&M in re.out&&(k=Ke(k,B(re.out,M)))),"directed"!==ie&&void 0!==re.undirected&&M in re.undirected&&(k=Ke(k,B(re.undirected,M))),k}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(ie,fe){if(void 0!==fe)for(var re in fe)ie.add(re)}function el(ie,fe,re){if("mixed"!==ie){if("undirected"===ie)return Object.keys(re.undirected);if("string"==typeof fe)return Object.keys(re[fe])}var M=new Set;return"undirected"!==ie&&("out"!==fe&&Qr(M,re.in),"in"!==fe&&Qr(M,re.out)),"directed"!==ie&&Qr(M,re.undirected),te(M.values(),M.size)}function kl(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;re(Fe.key,Fe.attributes)}}function Sa(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;ie.has(nt.key)||(ie.add(nt.key),M(nt.key,nt.attributes))}}function Es(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;if(re(Fe.key,Fe.attributes))return!0}return!1}function Jt(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;if(!ie.has(nt.key)&&(ie.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function tl(ie,fe){var re=Object.keys(fe),M=re.length,k=0;return new se(function(){if(k>=M)return{done:!0};var J=fe[re[k++]];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===ie?J.target:we;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(ie,fe,re){var M=Object.keys(re),k=M.length,J=0;return new se(function we(){if(J>=k)return{done:!0};var Fe=re[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return ie.has(We.key)?we():(ie.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(ie,fe,re,M,k){var J=ie._nodes.get(M);if("undirected"!==fe){if("out"!==re&&void 0!==J.in)for(var we in J.in)if(we===k)return!0;if("in"!==re&&void 0!==J.out)for(var Fe in J.out)if(Fe===k)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===k)return!0;return!1}function Le(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We=fe._nodes.values(),Wt=fe.type;!0!==(M=We.next()).done;){if(k=M.value,"undirected"!==Wt)for(J in we=k.out)if(nt=(Fe=we[J]).target,Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return;if("directed"!==Wt)for(J in we=k.undirected)if((nt=(Fe=we[J]).target).key!==J&&(nt=Fe.source),Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return}}function ut(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We,Wt,xt=fe._nodes.values(),yn=fe.type;!0!==(M=xt.next()).done;){if(k=M.value,"undirected"!==yn)for(J in nt=k.out)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if(We=(Ot=Fe.value).target,Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return;if("directed"!==yn)for(J in nt=k.undirected)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if((We=(Ot=Fe.value).target).key!==J&&(We=Ot.source),Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return}}function Ze(ie,fe){var re={key:ie};return Q(fe.attributes)||(re.attributes=he({},fe.attributes)),re}function At(ie,fe){var re={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(re.key=ie),Q(fe.attributes)||(re.attributes=he({},fe.attributes)),fe.undirected&&(re.undirected=!0),re}function Mt(ie){return P(ie)?"key"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(ie){return P(ie)?"source"in ie?"target"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?"undirected"in ie&&"boolean"!=typeof ie.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(ie,fe,re){var M=new ie.NodeDataClass(fe,re);return ie._nodes.set(fe,M),ie.emit("nodeAdded",{key:fe,attributes:re}),M}function _n(ie,fe,re,M,k,J,we,Fe){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,we=""+we,Fe=Fe||{},!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=ie._nodes.get(J),Ot=ie._nodes.get(we);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Ot)throw new ne("Graph.".concat(fe,': target node "').concat(we,'" not found.'));var We={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(We)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));if(!ie.multi&&(M?void 0!==nt.undirected[we]:void 0!==nt.out[we]))throw new _e("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(we,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new Xe(M,k,re,nt,Ot,Fe);return ie._edges.set(k,Wt),J===we?M?(nt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(nt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(nt.undirectedDegree++,Ot.undirectedDegree++):(nt.outDegree++,Ot.inDegree++),tt(ie,M,Wt,J,we,nt,Ot),M?ie._undirectedSize++:ie._directedSize++,We.key=k,ie.emit("edgeAdded",We),k}function $n(ie,fe,re,M,k,J,we,Fe,nt){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Ot;if(J=""+J,we=""+we,nt&&(Ot=Fe,Fe=void 0),!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,Wt,xt=ie._nodes.get(J),yn=ie._nodes.get(we);if(!re&&(We=ie._edges.get(k))){if(We.source.key!==J||We.target.key!==we||M&&(We.source.key!==we||We.target.key!==J))throw new _e("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(k,'" edge with "').concat(J,'" source & "').concat(we,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));Wt=We}if(Wt||ie.multi||!xt||(Wt=M?xt.undirected[we]:xt.out[we]),Wt)return(nt?Ot:Fe)?(nt?(Wt.attributes=Ot(Wt.attributes),ie.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(he(Wt.attributes,Fe),ie.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:Fe})),Wt.key):Wt.key;Fe=Fe||{},nt&&Ot&&(Fe=Ot(Fe));var Jr={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(Jr)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));return xt||(xt=Nn(ie,J,{}),J===we&&(yn=xt)),yn||(yn=Nn(ie,we,{})),We=new Xe(M,k,re,xt,yn,Fe),ie._edges.set(k,We),J===we?M?(xt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(xt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(xt.undirectedDegree++,yn.undirectedDegree++):(xt.outDegree++,yn.inDegree++),tt(ie,M,We,J,we,xt,yn),M?ie._undirectedSize++:ie._directedSize++,Jr.key=k,ie.emit("edgeAdded",Jr),k}var ie,Cn=function(ie){function fe(M){var k;if(k=ie.call(this)||this,(M=he({},ai,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Xt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,we="mixed"===M.type?Ie:"directed"===M.type?Ge:st;return z(Se(k),"NodeDataClass",we),z(Se(k),"_attributes",{}),z(Se(k),"_nodes",new Map),z(Se(k),"_edges",new Map),z(Se(k),"_directedSize",0),z(Se(k),"_undirectedSize",0),z(Se(k),"_directedSelfLoopCount",0),z(Se(k),"_undirectedSelfLoopCount",0),z(Se(k),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),z(Se(k),"_options",M),zn.forEach(function(Fe){return z(Se(k),Fe,k[Fe])}),v(Se(k),"order",function(){return k._nodes.size}),v(Se(k),"size",function(){return k._edges.size}),v(Se(k),"directedSize",function(){return k._directedSize}),v(Se(k),"undirectedSize",function(){return k._undirectedSize}),v(Se(k),"selfLoopCount",function(){return k._directedSelfLoopCount+k._undirectedSelfLoopCount}),v(Se(k),"directedSelfLoopCount",function(){return k._directedSelfLoopCount}),v(Se(k),"undirectedSelfLoopCount",function(){return k._undirectedSelfLoopCount}),v(Se(k),"multi",k._options.multi),v(Se(k),"type",k._options.type),v(Se(k),"allowSelfLoops",k._options.allowSelfLoops),v(Se(k),"implementation",function(){return"graphology"}),k}Je(fe,ie);var re=fe.prototype;return re.hasNode=function(M){return this._nodes.has(""+M)},re.hasDirectedEdge=function(M,k){if("undirected"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&!we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasUndirectedEdge=function(M,k){if("directed"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasEdge=function(M,k){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){k=""+k;var we=this._nodes.get(M=""+M);if(!we)return!1;var Fe=void 0!==we.out&&we.out[k];return Fe||(Fe=void 0!==we.undirected&&we.undirected[k]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.directedEdge=function(M,k){if("undirected"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.directedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||void 0;return we?we.key:void 0}},re.undirectedEdge=function(M,k){if("directed"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.undirectedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.undirected&&J.undirected[k]||void 0;return we?we.key:void 0}},re.edge=function(M,k){if(this.multi)throw new _e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");k=""+k;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.edge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||J.undirected&&J.undirected[k]||void 0;if(we)return we.key},re.inDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(k?J.directedSelfLoops:0)},re.outDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(k?J.directedSelfLoops:0)},re.directedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var we=k?J.directedSelfLoops:0;return J.inDegree+we+(J.outDegree+we)},re.undirectedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(k?J.undirectedSelfLoops:0)},re.degree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.degree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var we=0,Fe=0;return"directed"!==this.type&&(k&&(Fe=J.undirectedSelfLoops),we+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(k&&(Fe=J.directedSelfLoops),we+=J.inDegree+J.outDegree+2*Fe),we},re.source=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return k.source.key},re.target=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return k.target.key},re.extremities=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[k.source.key,k.target.key]},re.opposite=function(M,k){M=""+M;var J=this._edges.get(k=""+k);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(k,'" edge in the graph.'));var we=J.source.key,Fe=J.target.key;if(M!==we&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(k,'" edge (').concat(we,", ").concat(Fe,")."));return M===we?Fe:we},re.hasExtremity=function(M,k){k=""+k;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===k||J.target.key===k},re.isUndirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return k.undirected},re.isDirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!k.undirected},re.isSelfLoop=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return k.source===k.target},re.hasGeneratedKey=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return k.generatedKey},re.addNode=function(M,k){return function(J,we,Fe){if(Fe&&!P(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(we=""+we))throw new _e('Graph.addNode: the "'.concat(we,'" node already exist in the graph.'));var nt=new J.NodeDataClass(we,Fe);return J._nodes.set(we,nt),J.emit("nodeAdded",{key:we,attributes:Fe}),nt}(this,M,k).key},re.mergeNode=function(M,k){if(k&&!P(k))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(k,'"'));k=k||{};var J=this._nodes.get(M=""+M);return J?(k&&(he(J.attributes,k),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:k})),M):(J=new this.NodeDataClass(M,k),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:k}),M)},re.updateNode=function(M,k){if(k&&"function"!=typeof k)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(k,'"'));var J=this._nodes.get(M=""+M);if(J)return k&&(J.attributes=k(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=k?k({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},re.dropNode=function(M){var k=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(we){k.dropEdge(we)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},re.dropEdge=function(M){var k;if(arguments.length>1){var J=""+arguments[0],we=""+arguments[1];if(!(k=W(this,J,we,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(we,'" edge in the graph.'))}else if(!(k=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(k.key);var nt=k.source,Ot=k.target,We=k.attributes,Wt=k.undirected;return nt===Ot?Wt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(nt.undirectedDegree--,Ot.undirectedDegree--):(nt.outDegree--,Ot.inDegree--),Ye(this,Wt,k),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Ot.key,undirected:Wt}),this},re.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},re.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},re.getAttribute=function(M){return this._attributes[M]},re.getAttributes=function(){return this._attributes},re.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},re.setAttribute=function(M,k){return this._attributes[M]=k,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.updateAttribute=function(M,k){if("function"!=typeof k)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=k(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},re.replaceAttributes=function(M){if(!P(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},re.mergeAttributes=function(M){if(!P(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},re.getNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[k]},re.getNodeAttributes=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return k.attributes},re.hasNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(k)},re.setNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return we.attributes[k]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.updateNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=we.attributes,nt=J(Fe[k]);return Fe[k]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.removeNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[k],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:k}),this},re.replaceNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=k,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},re.mergeNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,k),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:k}),this},re.updateEachNodeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachNodeAttributesUpdated",{hints:k||null})},re.updateEachEdgeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachEdgeAttributesUpdated",{hints:k||null})},re.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Le(!1,this,M)},re.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Le(!0,this,M)},re.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Ot=M.type,We="outer",Wt=null,new se(function xt(){var yn;if("outer"===We)return!0===(yn=nt.next()).done?yn:(k=yn.value,We="directed",xt());if("directed"===We)return"undirected"===Ot?(We="undirected",xt()):(we=k.out,J=Object.keys(k.out),Fe=0,We="inner-directed",xt());if("undirected"===We){if("directed"===Ot)return We="outer",xt();we=k.undirected,J=Object.keys(k.undirected),Fe=0,We="inner-undirected"}if(!Wt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",xt();if(!Wt){var Ss=J[Fe++];return Wt=we[Ss].values(),xt()}if((yn=Wt.next()).done)return Wt=null,xt();var Jr=yn.value,Qs=Jr.target;return"inner-undirected"===We&&Qs.key===k.key&&(Qs=Jr.source),{done:!1,value:[k.key,Qs.key,k.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(xt=this)._nodes.values(),po=xt.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(yn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=yn.out,Ss=Object.keys(yn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=yn.undirected,Ss=Object.keys(yn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var wn=Ss[Qs++],go=Jr[wn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===yn.key&&(Bl=go.source),{done:!1,value:[yn.key,Bl.key,yn.attributes,Bl.attributes,go.key,go.attributes]}}));var xt,yn,Ss,Jr,Qs,Ll,po,jr,M,k,J,we,Fe,nt,Ot,We,Wt},re.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},re.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(k,J){M(J,k.attributes)})},re.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var k,J,we=this._nodes.values();!0!==(k=we.next())&&!M((J=k.value).key,J.attributes););},re.nodeEntries=function(){var M=this._nodes.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{value:[J.key,J.attributes],done:!1}})},re.exportNode=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Ze(M,k)},re.exportEdge=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return At(M,k)},re.export=function(){var M=new Array(this._nodes.size),k=0;this._nodes.forEach(function(we,Fe){M[k++]=Ze(Fe,we)});var J=new Array(this._edges.size);return k=0,this._edges.forEach(function(we,Fe){J[k++]=At(Fe,we)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},re.importNode=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Mt(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var we=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return k?this.mergeNode(we,nt):this.addNode(we,nt),this},re.importEdge=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Dt(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var we=M.source,Fe=M.target,nt=M.attributes,Ot=void 0===nt?{}:nt,We=M.undirected,Wt=void 0!==We&&We;return"key"in M?(k?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,we,Fe,Ot):(k?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,we,Fe,Ot),this},re.import=function(M){var k,J,we,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!P(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!P(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(we=M.nodes,!Array.isArray(we))throw new me("Graph.import: invalid nodes. Expecting an array.");for(k=0,J=we.length;kJ)){var Ot=new Set;Ot.add(k.undirected[nt]),k.undirected[nt]=Ot,M._nodes.get(nt).undirected[J]=Ot}})),this;var M},re.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},re.toJSON=function(){return this.export()},re.toString=function(){return"[object Graph]"},re.inspect=function(){var M=this,k={};this._nodes.forEach(function(Ot,We){k[We]=Ot.attributes});var J={},we={};this._edges.forEach(function(Ot,We){var Wt=Ot.undirected?"--":"->",xt="",yn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?M.multi&&(void 0===we[yn]?we[yn]=0:we[yn]++,xt+="".concat(we[yn],". ")):xt+="[".concat(We,"]: "),J[xt+=yn]=Ot.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=k,Fe.edges=J,z(Fe,"constructor",this.constructor),Fe},fe}(A.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(ie){return"".concat(ie,"Edge")},generateKey:!0},{name:function(ie){return"".concat(ie,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ie){return"".concat(ie,"EdgeWithKey")}},{name:function(ie){return"".concat(ie,"DirectedEdgeWithKey")},type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ie){["add","merge","update"].forEach(function(fe){var re=ie.name(fe),M="add"===fe?_n:$n;Cn.prototype[re]=ie.generateKey?function(k,J,we){return M(this,re,!0,"undirected"===(ie.type||this.type),null,k,J,we,"update"===fe)}:function(k,J,we,Fe){return M(this,re,!1,"undirected"===(ie.type||this.type),k,J,we,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),ie=Cn,Ue.forEach(function(fe){var re=fe.name,M=fe.attacher;M(ie,re("Edge"),"mixed"),M(ie,re("DirectedEdge"),"directed"),M(ie,re("UndirectedEdge"),"undirected")}),function(ie){Me.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Ot=this._nodes.get(Fe=""+Fe);if(void 0===Ot)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return On(this.multi,"mixed"===J?this.type:J,we,Ot)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" target node in the graph.'));return wi(J,this.multi,we,We,nt)}throw new me("Graph.".concat(k,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1);re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Qe(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return kn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1)+"Until";re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return St(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var J=M.type,we=M.direction,Fe=M.name.slice(0,-1)+"Entries";re.prototype[Fe]=function(nt,Ot){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return se.empty();if(!arguments.length)return Nt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Ti(J,we,We)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(nt=""+nt);if(!Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(J,we,Wt,Ot)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ie,fe)})}(Cn),function(ie){Bs.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(k,': could not find the "').concat(Ot,'" node in the graph.'));return lt(this,J,we,nt,Ot)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return el("mixed"===J?this.type:J,we,We)}throw new me("Graph.".concat(k,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1);ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,xt);if("string"==typeof We)return kl(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Sa(yn,Wt,Wt.in,xt),"in"!==We&&Sa(yn,Wt,Wt.out,xt)),"directed"!==Ot&&Sa(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1)+"Until";ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,xt);if("string"==typeof We)return Es(Wt,Wt[We],xt)}var yn=new Set;"undirected"!==Ot&&("out"!==We&&Jt(yn,Wt,Wt.in,xt)||"in"!==We&&Jt(yn,Wt,Wt.out,xt))||"directed"===Ot||Jt(yn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var M=fe.type,k=fe.direction,J=fe.name.slice(0,-1)+"Entries";ie.prototype[J]=function(we){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return se.empty();var Fe=this._nodes.get(we=""+we);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));return function(nt,Ot,We){if("mixed"!==nt){if("undirected"===nt)return tl(We,We.undirected);if("string"==typeof Ot)return tl(We,We[Ot])}var Wt=se.empty(),xt=new Set;return"undirected"!==nt&&("out"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.in))),"in"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.out)))),"directed"!==nt&&(Wt=Ke(Wt,rt(xt,We,We.undirected))),Wt}("mixed"===M?this.type:M,k,Fe)}}(ie,fe)})}(Cn);var lr=function(ie){function fe(re){var M=he({type:"directed"},re);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),cr=function(ie){function fe(re){var M=he({type:"undirected"},re);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),Xn=function(ie){function fe(re){var M=he({multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),qi=function(ie){function fe(re){var M=he({type:"directed",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn),xa=function(ie){function fe(re){var M=he({type:"undirected",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Cn);function Zr(ie){ie.from=function(fe,re){var M=he({},fe.options,re),k=new ie(M);return k.import(fe),k}}return Zr(Cn),Zr(lr),Zr(cr),Zr(Xn),Zr(qi),Zr(xa),Cn.Graph=Cn,Cn.DirectedGraph=lr,Cn.UndirectedGraph=cr,Cn.MultiGraph=Xn,Cn.MultiDirectedGraph=qi,Cn.MultiUndirectedGraph=xa,Cn.InvalidArgumentsGraphError=me,Cn.NotFoundGraphError=ne,Cn.UsageGraphError=_e,Cn}()},524:(Ut,it,Je)=>{var yt;!function(ee,Tt,dt,Y){"use strict";var A,Se=["","webkit","Moz","MS","ms","o"],he=Tt.createElement("div"),j=Math.round,P=Math.abs,Q=Date.now;function z(ye,De,He){return setTimeout(T(ye,He),De)}function v(ye,De,He){return!!Array.isArray(ye)&&(x(ye,He[De],He),!0)}function x(ye,De,He){var bt;if(ye)if(ye.forEach)ye.forEach(De,He);else if(ye.length!==Y)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),ye.apply(this,arguments)}}A="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var He=Object(De),bt=1;bt-1}function X(ye){return ye.trim().split(/\s+/g)}function E(ye,De,He){if(ye.indexOf&&!He)return ye.indexOf(De);for(var bt=0;btxs[De]}):bt.sort()),bt}function oe(ye,De){for(var He,bt,Gt=De[0].toUpperCase()+De.slice(1),Yt=0;Yt1&&!He.firstMultiple?He.firstMultiple=St(De):1===Gt&&(He.firstMultiple=!1);var Yt=He.firstInput,li=He.firstMultiple,Vr=li?li.center:Yt.center,es=De.center=Nt(bt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Yt.timeStamp,De.angle=Ti(Vr,es),De.distance=Yn(Vr,es),function(ye,De){var He=De.center,bt=ye.offsetDelta||{},Gt=ye.prevDelta||{},Yt=ye.prevInput||{};(1===De.eventType||4===Yt.eventType)&&(Gt=ye.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=ye.offsetDelta={x:He.x,y:He.y}),De.deltaX=Gt.x+(He.x-bt.x),De.deltaY=Gt.y+(He.y-bt.y)}(He,De),De.offsetDirection=kn(De.deltaX,De.deltaY);var xs=On(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=P(xs.x)>P(xs.y)?xs.x:xs.y,De.scale=li?function(ye,De){return Yn(De[0],De[1],pt)/Yn(ye[0],ye[1],pt)}(li.pointers,bt):1,De.rotation=li?function(ye,De){return Ti(De[1],De[0],pt)+Ti(ye[1],ye[0],pt)}(li.pointers,bt):0,De.maxPointers=He.prevInput?De.pointers.length>He.prevInput.maxPointers?De.pointers.length:He.prevInput.maxPointers:De.pointers.length,function(ye,De){var Gt,Yt,li,Vr,He=ye.lastInterval||De,bt=De.timeStamp-He.timeStamp;if(8!=De.eventType&&(bt>25||He.velocity===Y)){var es=De.deltaX-He.deltaX,xs=De.deltaY-He.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=P(Qn.x)>P(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),ye.lastInterval=De}else Gt=He.velocity,Yt=He.velocityX,li=He.velocityY,Vr=He.direction;De.velocity=Gt,De.velocityX=Yt,De.velocityY=li,De.direction=Vr}(He,De);var Qn=ye.element;D(De.srcEvent.target,Qn)&&(Qn=De.srcEvent.target),De.target=Qn}(ye,He),ye.emit("hammer.input",He),ye.recognize(He),ye.session.prevInput=He}function St(ye){for(var De=[],He=0;He=P(De)?ye<0?2:4:De<0?8:16}function Yn(ye,De,He){He||(He=_t);var bt=De[He[0]]-ye[He[0]],Gt=De[He[1]]-ye[He[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(ye,De,He){return He||(He=_t),180*Math.atan2(De[He[1]]-ye[He[1]],De[He[0]]-ye[He[0]])/Math.PI}ve.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Ce(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ce(this.element,this.evEl,this.domHandler),this.evTarget&&ce(this.target,this.evTarget,this.domHandler),this.evWin&&ce(Ce(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,ve.apply(this,arguments)}S(Qr,ve,{handler:function(De){var He=Ls[De.type];1&He&&0===De.button&&(this.pressed=!0),2&He&&1!==De.which&&(He=4),this.pressed&&(4&He&&(this.pressed=!1),this.callback(this.manager,He,{pointers:[De],changedPointers:[De],pointerType:Xe,srcEvent:De}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ge,3:"pen",4:Xe,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,ve.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),S(Jt,ve,{handler:function(De){var He=this.store,bt=!1,Gt=De.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[De.pointerType]||De.pointerType,Vr=li==Ge,es=E(He,De.pointerId,"pointerId");1&Yt&&(0===De.button||Vr)?es<0&&(He.push(De),es=He.length-1):12&Yt&&(bt=!0),!(es<0)&&(He[es]=De,this.callback(this.manager,Yt,{pointers:He,changedPointers:[De],pointerType:li,srcEvent:De}),bt&&He.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,ve.apply(this,arguments)}function ge(ye,De){var He=$(ye.touches),bt=$(ye.changedTouches);return 12&De&&(He=Z(He.concat(bt),"identifier",!0)),[He,bt]}S(ht,ve,{handler:function(De){var He=tl[De.type];if(1===He&&(this.started=!0),this.started){var bt=ge.call(this,De,He);12&He&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,He,{pointers:bt[0],changedPointers:bt[1],pointerType:Ge,srcEvent:De})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Le="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Le,this.targetIds={},ve.apply(this,arguments)}function Ze(ye,De){var He=$(ye.touches),bt=this.targetIds;if(3&De&&1===He.length)return bt[He[0].identifier]=!0,[He,He];var Gt,Yt,li=$(ye.changedTouches),Vr=[],es=this.target;if(Yt=He.filter(function(xs){return D(xs.target,es)}),1===De)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(ye){for(var De=ye.srcEvent.clientX,He=ye.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(ye){return!!this.simultaneous[ye.id]},emit:function(ye){var De=this,He=this.state;function bt(Gt){De.manager.emit(Gt,ye)}He<8&&bt(De.options.event+We(He)),bt(De.options.event),ye.additionalEvent&&bt(ye.additionalEvent),He>=8&&bt(De.options.event+We(He))},tryEmit:function(ye){if(this.canEmit())return this.emit(ye);this.state=32},canEmit:function(){for(var ye=0;yeDe.threshold&&Gt&De.direction},attrTest:function(ye){return yn.prototype.attrTest.call(this,ye)&&(2&this.state||!(2&this.state)&&this.directionTest(ye))},emit:function(ye){this.pX=ye.deltaX,this.pY=ye.deltaY;var De=Wt(ye.direction);De&&(ye.additionalEvent=this.options.event+De),this._super.emit.call(this,ye)}}),S(Jr,yn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.scale-1)>this.options.threshold||2&this.state)},emit:function(ye){1!==ye.scale&&(ye.additionalEvent=this.options.event+(ye.scale<1?"in":"out")),this._super.emit.call(this,ye)}}),S(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distanceDe.time;if(this._input=ye,!bt||!He||12&ye.eventType&&!Gt)this.reset();else if(1&ye.eventType)this.reset(),this._timer=z(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&ye.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(ye){8===this.state&&(ye&&4&ye.eventType?this.manager.emit(this.options.event+"up",ye):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Ll,yn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.rotation)>this.options.threshold||2&this.state)}}),S(po,yn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(ye){var He,De=this.options.direction;return 30&De?He=ye.overallVelocity:6&De?He=ye.overallVelocityX:24&De&&(He=ye.overallVelocityY),this._super.attrTest.call(this,ye)&&De&ye.offsetDirection&&ye.distance>this.options.threshold&&ye.maxPointers==this.options.pointers&&P(He)>this.options.velocity&&4&ye.eventType},emit:function(ye){var De=Wt(ye.offsetDirection);De&&this.manager.emit(this.options.event+De,ye),this.manager.emit(this.options.event,ye)}}),S(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Le.source),Ze=/^\s+/,At=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,_n=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",xt="A-Z\\xc0-\\xd6\\xd8-\\xde",yn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+fe+"]",Ll="["+Ss+"]",po="["+J+"]",jr="\\d+",js="["+we+"]",xc="["+Fe+"]",wn="[^"+fe+Ss+jr+we+Fe+xt+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+fe+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",ye="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+xt+"]",bt="(?:"+xc+"|"+wn+")",Gt="(?:"+De+"|"+wn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+yn+"]?",M1=es+Vr+"(?:\\u200d(?:"+[Ca,wd,ye].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,ye].join("|")+")"+M1,ir="(?:"+[Ca+po+"?",po,wd,ye,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),t_=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+ir+M1,"g"),av=RegExp([De+"?"+xc+"+"+Yt+"(?="+[Ll,De,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,De+bt,"$"].join("|")+")",De+"?"+bt+"+"+Yt,De+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),D1=RegExp("[\\u200d"+fe+J+yn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],I1=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[Xe]=ln[tt]=ln[Qe]=ln[Ue]=ln[St]=ln[ke]=ln[Me]=ln[Ve]=ln[Ne]=ln[q]=ln[pe]=ln[_t]=ln[pt]=ln[ve]=ln[B]=!1;var ur={};ur[Xe]=ur[tt]=ur[Qe]=ur[St]=ur[Ue]=ur[ke]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Ne]=ur[q]=ur[pe]=ur[_t]=ur[pt]=ur[ve]=ur[L]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Me]=ur[Ve]=ur[B]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},O1=parseFloat,dv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,zi=Rt||Vs||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,Oo=Aa&&Aa.exports===Vl,n_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||n_&&n_.binding&&n_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,fr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(at,It,Et){switch(Et.length){case 0:return at.call(It);case 1:return at.call(It,Et[0]);case 2:return at.call(It,Et[0],Et[1]);case 3:return at.call(It,Et[0],Et[1],Et[2])}return at.apply(It,Et)}function Ur(at,It,Et,un){for(var Dn=-1,ji=null==at?0:at.length;++Dn-1}function Oh(at,It,Et){for(var un=-1,Dn=null==at?0:at.length;++un-1;);return Et}function F1(at,It){for(var Et=at.length;Et--&&nl(It,at[Et],0)>-1;);return Et}function u2(at,It){for(var Et=at.length,un=0;Et--;)at[Et]===It&&++un;return un}var d2=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),h2=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function f2(at){return"\\"+on[at]}function Ph(at){return D1.test(at)}function fv(at){var It=-1,Et=Array(at.size);return at.forEach(function(un,Dn){Et[++It]=[Dn,un]}),Et}function k1(at,It){return function(Et){return at(It(Et))}}function yu(at,It){for(var Et=-1,un=at.length,Dn=0,ji=[];++Et",""":'"',"'":"'"}),kh=function at(It){var d,Et=(It=null==It?zi:kh.defaults(zi.Object(),It,kh.pick(zi,Ih))).Array,un=It.Date,Dn=It.Error,ji=It.Function,ts=It.Math,Qi=It.Object,c_=It.RegExp,u_=It.String,Da=It.TypeError,pr=Et.prototype,bu=Qi.prototype,gp=It["__core-js_shared__"],xr=ji.prototype.toString,Zi=bu.hasOwnProperty,b2=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,j1=xr.call(Qi),d_=zi._,Md=c_("^"+xr.call(Zi).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,mv=zs?zs.allocUnsafe:ee,Ia=k1(Qi.getPrototypeOf,Qi),h_=Qi.create,mp=bu.propertyIsEnumerable,Bn=pr.splice,V1=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Qi,"defineProperty");return d({},"",{}),d}catch(f){}}(),_v=It.clearTimeout!==zi.clearTimeout&&It.clearTimeout,U1=un&&un.now!==zi.Date.now&&un.now,z1=It.setTimeout!==zi.setTimeout&&It.setTimeout,jt=ts.ceil,Ei=ts.floor,Cr=Qi.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,f_=It.isFinite,jh=pr.join,rl=k1(Qi.keys,Qi),Hr=ts.max,ms=ts.min,v2=un.now,H1=It.parseInt,Vh=ts.random,yp=pr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Qi,"create"),zh=No&&new No,Id={},G1=Ru(As),p_=Ru(_o),g_=Ru(bp),yv=Ru(Oa),m_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function Ee(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Zi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(h_)return h_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),F=!_&&pl(d),ae=!_&&!F&&gl(d),Te=!_&&!F&&!ae&&cf(d),ze=_||F||ae||Te,qe=ze?Td(d.length,u_):[],ct=qe.length;for(var kt in d)(f||Zi.call(d,kt))&&(!ze||!("length"==kt||ae&&("offset"==kt||"parent"==kt)||Te&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,ct)))&&qe.push(kt);return qe}function v_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function Ev(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function w_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var F=d[f];(!Zi.call(d,f)||!In(F,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,F){return Ic(d,function(ae,Te,ze){f(F,ae,_(ae),ze)}),F}function eA(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function E_(d,f){for(var _=-1,F=f.length,ae=Et(F),Te=null==d;++_=f?d:f)),d}function Hs(d,f,_,F,ae,Te){var ze,qe=1&f,ct=2&f,kt=4&f;if(_&&(ze=ae?_(d,F,ae,Te):_(d)),ze!==ee)return ze;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(ze=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Zi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!qe)return eo(d,ze)}else{var zt=$s(d),en=zt==Ve||zt==$e;if(gl(d))return Np(d,qe);if(zt==pe||zt==Xe||en&&!ae){if(ze=ct||en?{}:$v(d),!qe)return ct?function(d,f){return Fa(d,zv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(ze,d)):function(d,f){return Fa(d,B_(d),f)}(d,eA(ze,d))}else{if(!ur[zt])return ae?d:{};ze=function(d,f,_){var F=d.constructor;switch(f){case Qe:return Mu(d);case Ue:case ke:return new F(+d);case St:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return N_(d,_);case Ne:return new F;case q:case ve:return new F(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case pt:return new F;case L:return function(d){return Od?Qi(Od.call(d)):{}}(d)}}(d,zt,qe)}}Te||(Te=new Na);var bn=Te.get(d);if(bn)return bn;Te.set(d,ze),vT(d)?d.forEach(function(jn){ze.add(Hs(jn,f,_,jn,d,Te))}):mT(d)&&d.forEach(function(jn,mi){ze.set(mi,Hs(jn,f,_,mi,d,Te))});var gi=Lt?ee:(kt?ct?k_:Yl:ct?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(ze,mi,Hs(jn,f,_,mi,d,Te))}),ze}function Ap(d,f,_){var F=_.length;if(null==d)return!F;for(d=Qi(d);F--;){var ae=_[F],ze=d[ae];if(ze===ee&&!(ae in d)||!(0,f[ae])(ze))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(Se);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,F){var ae=-1,Te=Ul,ze=!0,qe=d.length,ct=[],kt=f.length;if(!qe)return ct;_&&(f=Xi(f,Jo(_))),F?(Te=Oh,ze=!1):f.length>=200&&(Te=Nh,ze=!1,f=new Ra(f));e:for(;++ae-1},Hl.prototype.set=function(d,f){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,f])):_[F][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),F=_.size;return _.set(d,f),this.size+=_.size==F?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,W),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var F=_.__data__;if(!_o||F.length<199)return F.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(F)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),x_=ul(Tp,!0);function xv(d,f){var _=!0;return Ic(d,function(F,ae,Te){return _=!!f(F,ae,Te)}),_}function Yh(d,f,_){for(var F=-1,ae=d.length;++F0&&_(qe)?f>1?Ts(qe,f-1,_,F,ae):zr(ae,qe):F||(ae[ae.length]=qe)}return ae}var Pd=Nv(),Fd=Nv(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,F=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Zi.call(d,f)}function Ld(d,f){return null!=d&&f in Qi(d)}function Su(d,f,_){for(var F=_?Oh:Ul,ae=d[0].length,Te=d.length,ze=Te,qe=Et(Te),ct=1/0,kt=[];ze--;){var Lt=d[ze];ze&&f&&(Lt=Xi(Lt,Jo(f))),ct=ms(Lt.length,ct),qe[ze]=!_&&(f||ae>=120&&Lt.length>=120)?new Ra(ze&&Lt):ee}Lt=d[0];var zt=-1,en=qe[0];e:for(;++zt=qe?ct:ct*("desc"==_[F]?-1:1)}return d.index-f.index}(Te,ze,_)});Et--;)at[Et]=at[Et].value;return at}(sA(d,function(Te,ze,qe){return{criteria:Xi(f,function(kt){return kt(Te)}),index:++F,value:Te}}))}function Dv(d,f,_){for(var F=-1,ae=f.length,Te={};++F-1;)qe!==d&&Bn.call(qe,ct,1),Bn.call(d,ct,1);return d}function Qh(d,f){for(var _=d?f.length:0,F=_-1;_--;){var ae=f[_];if(_==F||ae!==Te){var Te=ae;Bo(ae)?Bn.call(d,ae,1):Cu(d,ae)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ce)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(wA(d,f,io),d+"")}function aA(d){return v_(th(d))}function D2(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,F){if(!Tr(d))return d;for(var ae=-1,Te=(f=Pc(f,d)).length,ze=Te-1,qe=d;null!=qe&&++aeae?0:ae+f),(_=_>ae?ae:_)<0&&(_+=ae),ae=f>_?0:_-f>>>0,f>>>=0;for(var Te=Et(ae);++F>>1,ze=d[Te];null!==ze&&!ca(ze)&&(_?ze<=f:ze=200){var kt=f?null:F_(d);if(kt)return o_(kt);ze=!1,ae=Nh,ct=new Ra}else ct=f?[]:qe;e:for(;++F=F?d:Ds(d,f,_)}var uA=_v||function(d){return zi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,F=mv?mv(_):new d.constructor(_);return d.copy(F),F}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function N_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,F=null===d,ae=d==d,Te=ca(d),ze=f!==ee,qe=null===f,ct=f==f,kt=ca(f);if(!qe&&!kt&&!Te&&d>f||Te&&ze&&ct&&!qe&&!kt||F&&ze&&ct||!_&&ct||!ae)return 1;if(!F&&!Te&&!kt&&d1?_[ae-1]:ee,ze=ae>2?_[2]:ee;for(Te=d.length>3&&"function"==typeof Te?(ae--,Te):ee,ze&&Ws(_[0],_[1],ze)&&(Te=ae<3?ee:Te,ae=1),f=Qi(f);++F-1?ae[Te?f[ze]:ze]:ee}}function Iu(d){return dl(function(f){var _=f.length,F=_,ae=Po.prototype.thru;for(d&&f.reverse();F--;){var Te=f[F];if("function"!=typeof Te)throw new Da(Se);if(ae&&!ze&&"wrapper"==Vp(Te))var ze=new Po([],!0)}for(F=ze?F:_;++F<_;){var qe=Vp(Te=f[F]),ct="wrapper"==qe?L_(Te):ee;ze=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?ze[Vp(ct[0])].apply(ze,ct[3]):1==Te.length&&Up(Te)?ze[qe]():ze.thru(Te)}return function(){var kt=arguments,Lt=kt[0];if(ze&&1==kt.length&&Rn(Lt))return ze.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,F,ae,Te,ze,qe,ct,kt){var Lt=f&K,zt=1&f,en=2&f,bn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=Et(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(bn)var qs=$d(jn),ua=u2(Mi,qs);if(F&&(Mi=Ud(Mi,F,ae,bn)),Te&&(Mi=Rv(Mi,Te,ze,bn)),mi-=ua,bn&&mi1&&Mi.reverse(),Lt&&ctqe))return!1;var kt=Te.get(d),Lt=Te.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,bn=2&_?new Ra:ee;for(Te.set(d,f),Te.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[F],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(F,function(d,f){return Us(st,function(_){var F="_."+_[0];f&_[1]&&!Ul(d,F)&&d.push(F)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(F),_)))}function G_(d){var f=0,_=0;return function(){var F=v2(),ae=16-(F-_);if(_=F,ae>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,F=d.length,ae=F-1;for(f=f===ee?F:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,WA(d,_)});function ey(d){var f=Ee(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var ty=dl(function(d){var f=d.length,_=f?d[0]:0,F=this.__wrapped__,ae=function(Te){return E_(Te,d)};return!(f>1||this.__actions__.length)&&F instanceof fi&&Bo(_)?((F=F.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[ae],thisArg:ee}),new Po(F,this.__chain__).thru(function(Te){return f&&!Te.length&&Te.push(ee),Te})):this.thru(ae)}),KA=ns(function(d,f,_){Zi.call(d,_)?++d[_]:al(d,_,1)}),ZA=Fv(W_),JA=Fv(q_);function sy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:x_)(d,Fn(f,3))}var tT=ns(function(d,f,_){Zi.call(d,_)?d[_].push(f):al(d,_,[f])}),fw=pi(function(d,f,_){var F=-1,ae="function"==typeof f,Te=bo(d)?Et(d.length):[];return Ic(d,function(ze){Te[++F]=ae?ls(f,ze,_):Pa(ze,f,_)}),Te}),pw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Xi:sA)(d,Fn(f,3))}var mw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=U1||function(){return zi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,K,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function ay(d,f){var _;if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var F=1;if(_.length){var ae=yu(_,$d(af));F|=V}return ql(d,F,f,_,ae)}),Xd=pi(function(d,f,_){var F=3;if(_.length){var ae=yu(_,$d(Xd));F|=V}return ql(f,F,d,_,ae)});function Sw(d,f,_){var F,ae,Te,ze,qe,ct,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(Se);function bn($i){var yl=F,Uc=ae;return F=ae=ee,kt=$i,ze=d.apply(Uc,yl)}function Ln($i){return kt=$i,qe=ef(mi,f),Lt?bn($i):ze}function jn($i){var yl=$i-ct;return ct===ee||yl>=f||yl<0||zt&&$i-kt>=Te}function mi(){var $i=Nu();if(jn($i))return Mi($i);qe=ef(mi,function($i){var uM=f-($i-ct);return zt?ms(uM,Te-($i-kt)):uM}($i))}function Mi($i){return qe=ee,en&&F?bn($i):(F=ae=ee,ze)}function ua(){var $i=Nu(),yl=jn($i);if(F=arguments,ae=this,ct=$i,yl){if(qe===ee)return Ln(ct);if(zt)return uA(qe),qe=ef(mi,f),bn(ct)}return qe===ee&&(qe=ef(mi,f)),ze}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Te=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Te,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){qe!==ee&&uA(qe),kt=0,F=ct=ae=qe=ee},ua.flush=function(){return qe===ee?ze:Mi(Nu())},ua}var sT=pi(function(d,f){return qh(d,1,f)}),xw=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(Se);var _=function(){var F=arguments,ae=f?f.apply(this,F):F[0],Te=_.cache;if(Te.has(ae))return Te.get(ae);var ze=d.apply(this,F);return _.cache=Te.set(ae,ze)||Te,ze};return _.cache=new(lf.Cache||sl),_}function uy(d){if("function"!=typeof d)throw new Da(Se);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var oT=cA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Xi(f[0],Jo(Fn())):Xi(Ts(f,1),Jo(Fn()))).length;return pi(function(F){for(var ae=-1,Te=ms(F.length,_);++ae=f}),pl=tA(function(){return arguments}())?tA:function(d){return Mr(d)&&Zi.call(d,"callee")&&!mp.call(d,"callee")},Rn=Et.isArray,Iw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==Qe};function bo(d){return null!=d&&hy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Fy,Ow=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==ke};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Me||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ve||f==$e||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function hy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ce}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var mT=fr?Jo(fr):function(d){return Mr(d)&&$s(d)==Ne};function bT(d){return"number"==typeof d||Mr(d)&&Ms(d)==q}function Jp(d){if(!Mr(d)||Ms(d)!=pe)return!1;var f=Ia(d);if(null===f)return!0;var _=Zi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==j1}var Fw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},vT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==pt};function py(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==ve}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==L}var cf=as?Jo(as):function(d){return Mr(d)&&hy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Mv),gy=Lp(function(d,f){return d<=f});function kw(d){if(!d)return[];if(bo(d))return py(d)?il(d):eo(d);if(Bh&&d[Bh])return function(at){for(var It,Et=[];!(It=at.next()).done;)Et.push(It.value);return Et}(d[Bh]());var f=$s(d);return(f==Ne?fv:f==pt?o_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function my(d){return d?Eu(Jn(d),0,_e):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=hv(d);var _=lr.test(d);return _||Xn.test(d)?dv(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Lw(d){return Fa(d,no(d))}function Gi(d){return null==d?"":Lo(d)}var wT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Zi.call(f,_)&&ol(d,_,f[_])}),ET=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,F){Fa(f,no(f),d,F)}),ST=$l(function(d,f,_,F){Fa(f,Os(f),d,F)}),Bw=dl(E_),CT=pi(function(d,f){d=Qi(d);var _=-1,F=f.length,ae=F>2?f[2]:ee;for(ae&&Ws(f[0],f[1],ae)&&(F=1);++_1),Te}),Fa(d,k_(d),_),F&&(_=Hs(_,7,Bp));for(var ae=f.length;ae--;)Cu(_,f[ae]);return _}),IT=dl(function(d,f){return null==d?{}:function(d,f){return Dv(d,f,function(_,F){return eg(d,F)})}(d,f)});function $w(d,f){if(null==d)return{};var _=Xi(k_(d),function(F){return[F]});return f=Fn(f),Dv(d,_,function(F,ae){return f(F,ae[0])})}var OT=Ou(Os),qw=Ou(no);function th(d){return null==d?[]:s_(d,Os(d))}var kT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?vy(f):f)});function vy(d){return ig(Gi(d).toLowerCase())}function wy(d){return(d=Gi(d))&&d.replace(xa,d2).replace(t_,"")}var BT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),jT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),X2=Pp("toLowerCase"),GT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),xy=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Jw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function My(d,f,_){return d=Gi(d),(f=_?ee:f)===ee?function(at){return jl.test(at)}(d)?function(at){return at.match(av)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(f)||[]}var Dy=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),eE=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function Iy(d){return function(){return d}}var Z2=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return rA("function"==typeof d?d:Hs(d,1))}var Oy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),tE=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Ry(d,f,_){var F=Os(f),ae=Kh(f,F);null==_&&(!Tr(f)||!ae.length&&F.length)&&(_=f,f=d,d=this,ae=Kh(f,Os(f)));var Te=!(Tr(_)&&"chain"in _&&!_.chain),ze=la(d);return Us(ae,function(qe){var ct=f[qe];d[qe]=ct,ze&&(d.prototype[qe]=function(){var kt=this.__chain__;if(Te||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return ct.apply(d,zr([this.value()],arguments))})}),d}function Ny(){}var ZT=Fp(Xi),JT=Fp(ti),iE=Fp(Ro);function ku(d){return ra(d)?i_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var eM=Lv(),tM=Lv(!0);function Vc(){return[]}function Fy(){return!1}var Wn=P_(function(d,f){return d+f},0),ky=Gd("ceil"),ek=P_(function(d,f){return d/f},1),Ql=Gd("floor"),aE=P_(function(d,f){return d*f},1),lE=Gd("round"),cE=P_(function(d,f){return d-f},0);return Ee.after=function(d,f){if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},Ee.ary=Kp,Ee.assign=wT,Ee.assignIn=ET,Ee.assignInWith=Qd,Ee.assignWith=ST,Ee.at=Bw,Ee.before=ay,Ee.bind=af,Ee.bindAll=eE,Ee.bindKey=Xd,Ee.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},Ee.chain=ey,Ee.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var F=null==d?0:d.length;if(!F||f<1)return[];for(var ae=0,Te=0,ze=Et(jt(F/f));aeae?0:ae+_),(F=F===ee||F>ae?ae:Jn(F))<0&&(F+=ae),F=_>F?0:my(F);_>>0)?(d=Gi(d))&&("string"==typeof f||null!=f&&!Fw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},Ee.spread=function(d,f){if("function"!=typeof d)throw new Da(Se);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var F=_[f],ae=cl(_,0,f);return F&&zr(ae,F),ls(d,this,ae)})},Ee.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},Ee.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},Ee.takeRight=function(d,f,_){var F=null==d?0:d.length;return F?Ds(d,(f=F-(f=_||f===ee?1:Jn(f)))<0?0:f,F):[]},Ee.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},Ee.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},Ee.tap=function(d,f){return f(d),d},Ee.throttle=function(d,f,_){var F=!0,ae=!0;if("function"!=typeof d)throw new Da(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,ae="trailing"in _?!!_.trailing:ae),Sw(d,f,{leading:F,maxWait:f,trailing:ae})},Ee.thru=Yd,Ee.toArray=kw,Ee.toPairs=OT,Ee.toPairsIn=qw,Ee.toPath=function(d){return Rn(d)?Xi(d,ni):ca(d)?[d]:eo(Kv(Gi(d)))},Ee.toPlainObject=Lw,Ee.transform=function(d,f,_){var F=Rn(d),ae=F||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Te=d&&d.constructor;_=ae?F?new Te:[]:Tr(d)&&la(Te)?wu(Ia(d)):{}}return(ae?Us:ll)(d,function(ze,qe,ct){return f(_,ze,qe,ct)}),_},Ee.unary=function(d){return Kp(d,1)},Ee.union=sw,Ee.unionBy=HA,Ee.unionWith=GA,Ee.uniq=function(d){return d&&d.length?Rc(d):[]},Ee.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},Ee.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},Ee.unset=function(d,f){return null==d||Cu(d,f)},Ee.unzip=ow,Ee.unzipWith=WA,Ee.update=function(d,f,_){return null==d?d:Op(d,f,R_(_))},Ee.updateWith=function(d,f,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,f,R_(_),F)},Ee.values=th,Ee.valuesIn=function(d){return null==d?[]:s_(d,no(d))},Ee.without=aw,Ee.words=My,Ee.wrap=function(d,f){return Xp(R_(f),d)},Ee.xor=j2,Ee.xorBy=jo,Ee.xorWith=Z_,Ee.zip=J_,Ee.zipObject=function(d,f){return Rp(d||[],f||[],ol)},Ee.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},Ee.zipWith=of,Ee.entries=OT,Ee.entriesIn=qw,Ee.extend=ET,Ee.extendWith=Qd,Ry(Ee,Ee),Ee.add=Wn,Ee.attempt=Dy,Ee.camelCase=kT,Ee.capitalize=vy,Ee.ceil=ky,Ee.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},Ee.clone=function(d){return Hs(d,4)},Ee.cloneDeep=function(d){return Hs(d,5)},Ee.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},Ee.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},Ee.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},Ee.deburr=wy,Ee.defaultTo=function(d,f){return null==d||d!=d?f:d},Ee.divide=ek,Ee.endsWith=function(d,f,_){d=Gi(d),f=Lo(f);var F=d.length,ae=_=_===ee?F:Eu(Jn(_),0,F);return(_-=f.length)>=0&&d.slice(_,ae)==f},Ee.eq=In,Ee.escape=function(d){return(d=Gi(d))&&Jt.test(d)?d.replace(Sa,h2):d},Ee.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Le,"\\$&"):d},Ee.every=function(d,f,_){var F=Rn(d)?ti:xv;return _&&Ws(d,f,_)&&(f=ee),F(d,Fn(f,3))},Ee.find=ZA,Ee.findIndex=W_,Ee.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},Ee.findLast=JA,Ee.findLastIndex=q_,Ee.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},Ee.floor=Ql,Ee.forEach=sy,Ee.forEachRight=Wp,Ee.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},Ee.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},Ee.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},Ee.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},Ee.get=hf,Ee.gt=Zt,Ee.gte=Dw,Ee.has=function(d,f){return null!=d&&Gv(d,f,kd)},Ee.hasIn=eg,Ee.head=Qv,Ee.identity=io,Ee.includes=function(d,f,_,F){d=bo(d)?d:th(d),_=_&&!F?Jn(_):0;var ae=d.length;return _<0&&(_=Hr(ae+_,0)),py(d)?_<=ae&&d.indexOf(f,_)>-1:!!ae&&nl(d,f,_)>-1},Ee.indexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=null==_?0:Jn(_);return ae<0&&(ae=Hr(F+ae,0)),nl(d,f,ae)},Ee.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ce&&d<=Ce},Ee.isSet=vT,Ee.isString=py,Ee.isSymbol=ca,Ee.isTypedArray=cf,Ee.isUndefined=function(d){return d===ee},Ee.isWeakMap=function(d){return Mr(d)&&$s(d)==B},Ee.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},Ee.join=function(d,f){return null==d?"":jh.call(d,f)},Ee.kebabCase=BT,Ee.last=sa,Ee.lastIndexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=F;return _!==ee&&(ae=(ae=Jn(_))<0?Hr(F+ae,0):ms(ae,F-1)),f==f?function(at,It,Et){for(var un=Et+1;un--;)if(at[un]===It)return un;return un}(d,f,ae):Cd(d,Ac,ae,!0)},Ee.lowerCase=jT,Ee.lowerFirst=X2,Ee.lt=Bc,Ee.lte=gy,Ee.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},Ee.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},Ee.mean=function(d){return Cs(d,io)},Ee.meanBy=function(d,f){return Cs(d,Fn(f,2))},Ee.min=function(d){return d&&d.length?Yh(d,io,Mv):ee},Ee.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Mv):ee},Ee.stubArray=Vc,Ee.stubFalse=Fy,Ee.stubObject=function(){return{}},Ee.stubString=function(){return""},Ee.stubTrue=function(){return!0},Ee.multiply=aE,Ee.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},Ee.noConflict=function(){return zi._===this&&(zi._=d_),this},Ee.noop=Ny,Ee.now=Nu,Ee.pad=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;if(!f||F>=f)return d;var ae=(f-F)/2;return kp(Ei(ae),_)+d+kp(jt(ae),_)},Ee.padEnd=function(d,f,_){d=Gi(d);var F=(f=Jn(f))?Fh(d):0;return f&&Ff){var F=d;d=f,f=F}if(_||d%1||f%1){var ae=Vh();return ms(d+ae*(f-d+O1("1e-"+((ae+"").length-1))),f)}return Gl(d,f)},Ee.reduce=function(d,f,_){var F=Rn(d)?_u:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,Ic)},Ee.reduceRight=function(d,f,_){var F=Rn(d)?xd:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,x_)},Ee.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(Gi(d),f)},Ee.replace=function(){var d=arguments,f=Gi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},Ee.result=function(d,f,_){var F=-1,ae=(f=Pc(f,d)).length;for(ae||(ae=1,d=ee);++FCe)return[];var _=_e,F=ms(d,_e);f=Fn(f),d-=_e;for(var ae=Td(F,f);++_=Te)return d;var qe=_-Fh(F);if(qe<1)return F;var ct=ze?cl(ze,0,qe).join(""):d.slice(0,qe);if(ae===ee)return ct+F;if(ze&&(qe+=ct.length-qe),Fw(ae)){if(d.slice(qe).search(ae)){var kt,Lt=ct;for(ae.global||(ae=c_(ae.source,Gi($n.exec(ae))+"g")),ae.lastIndex=0;kt=ae.exec(Lt);)var zt=kt.index;ct=ct.slice(0,zt===ee?qe:zt)}}else if(d.indexOf(Lo(ae),qe)!=qe){var en=ct.lastIndexOf(ae);en>-1&&(ct=ct.slice(0,en))}return ct+F},Ee.unescape=function(d){return(d=Gi(d))&&Es.test(d)?d.replace(kl,l_):d},Ee.uniqueId=function(d){var f=++b2;return Gi(d)+f},Ee.upperCase=Jw,Ee.upperFirst=ig,Ee.each=sy,Ee.eachRight=Wp,Ee.first=Qv,Ry(Ee,function(){var d={};return ll(Ee,function(f,_){Zi.call(Ee.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),Ee.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ee[d].placeholder=Ee}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var F=this.__filtered__&&!f?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ms(_,F.__takeCount__):F.__views__.push({size:ms(_,_e),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,F=1==_||3==_;fi.prototype[d]=function(ae){var Te=this.clone();return Te.__iteratees__.push({iteratee:Fn(ae,3),type:_}),Te.__filtered__=Te.__filtered__||F,Te}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(uy(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(_e)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),F=/^(?:head|last)$/.test(f),ae=Ee[F?"take"+("last"==f?"Right":""):f],Te=F||/^find/.test(f);!ae||(Ee.prototype[f]=function(){var ze=this.__wrapped__,qe=F?[1]:arguments,ct=ze instanceof fi,kt=qe[0],Lt=ct||Rn(ze),zt=function(mi){var Mi=ae.apply(Ee,zr([mi],qe));return F&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(ct=Lt=!1);var en=this.__chain__,bn=!!this.__actions__.length,Ln=Te&&!en,gi=ct&&!bn;if(!Te&&Lt){ze=gi?ze:new fi(this);var jn=d.apply(ze,qe);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,qe):(jn=this.thru(zt),Ln?F?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=pr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);Ee.prototype[d]=function(){var ae=arguments;if(F&&!this.__chain__){var Te=this.value();return f.apply(Rn(Te)?Te:[],ae)}return this[_](function(ze){return f.apply(Rn(ze)?ze:[],ae)})}}),ll(fi.prototype,function(d,f){var _=Ee[f];if(_){var F=_.name+"";Zi.call(Id,F)||(Id[F]=[]),Id[F].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),F=f<0,ae=_?d.length:0,Te=function(d,f,_){for(var F=-1,ae=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ee.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var F=nf(_);F.__index__=0,F.__values__=ee,f?ae.__wrapped__=F:f=F;var ae=F;_=_.__wrapped__}return ae.__wrapped__=d,f},Ee.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[Q_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(Q_)},Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=function(){return lA(this.__wrapped__,this.__actions__)},Ee.prototype.first=Ee.prototype.head,Bh&&(Ee.prototype[Bh]=function(){return this}),Ee}();zi._=kh,(yt=function(){return kh}.call(it,Je,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,P=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},z=function(lt){return Q[lt]};var x=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function O(rt){return rt.replace(x,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var A=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var V={},R=/^[^:]+:\/*[^/]*$/,K=/^([^:]+:)[\s\S]*$/,ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(rt,lt){V[" "+rt]||(V[" "+rt]=R.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=V[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(K,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ce,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var be=0;be1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Ce=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Le,ut,Ze){for(var At=!1,Mt=ut;--Mt>=0&&"\\"===Ze[Mt];)At=!At;return At?"|":" |"}).split(/ \|/),be=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:be[0]}:{raw:"\n"}},lt.code=function(ge){var be=this.rules.block.code.exec(ge);if(be){var Le=be[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:be[0],codeBlockStyle:"indented",text:this.options.pedantic?Le:me(Le,"\n")}}},lt.fences=function(ge){var be=this.rules.block.fences.exec(ge);if(be){var Le=be[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(be){var Le=be.match(/^\s+/);return null===Le?be:Le[0].length>=ge.length?be.slice(ge.length):be}).join("\n")}(Le,be[3]||"");return{type:"code",raw:Le,lang:be[2]?be[2].trim():be[2],text:ut}}},lt.heading=function(ge){var be=this.rules.block.heading.exec(ge);if(be){var Le=be[2].trim();if(/#$/.test(Le)){var ut=me(Le,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Le=ut.trim())}return{type:"heading",raw:be[0],depth:be[1].length,text:Le}}},lt.nptable=function(ge){var be=this.rules.block.nptable.exec(ge);if(be){var Le={type:"table",header:ne(be[1].replace(/^ *| *\| *$/g,"")),align:be[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:be[3]?be[3].replace(/\n$/,"").split("\n"):[],raw:be[0]};if(Le.header.length===Le.align.length){var Ze,ut=Le.align.length;for(Ze=0;Ze ?/gm,"");return{type:"blockquote",raw:be[0],text:Le}}},lt.list=function(ge){var be=this.rules.block.list.exec(ge);if(be){var Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Le=be[0],ut=be[2],Ze=ut.length>1,At={type:"list",raw:Le,ordered:Ze,start:Ze?+ut.slice(0,-1):"",loose:!1,items:[]},Mt=be[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var qi=0;qiai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice(qi,2,Mt[qi]+(!this.options.pedantic&&Nn[1].length/i.test(ut[0])&&(be=!1),!Le&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Le=!0:Le&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Le=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:be,inRawBlock:Le,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]}},lt.link=function(ge){var be=this.rules.inline.link.exec(ge);if(be){var Le=be[2].trim();if(!this.options.pedantic&&/^$/.test(Le))return;var ut=me(Le.slice(0,-1),"\\");if((Le.length-ut.length)%2==0)return}else{var Ze=Ie(be[2],"()");if(Ze>-1){var Mt=(0===be[0].indexOf("!")?5:4)+be[1].length+Ze;be[2]=be[2].substring(0,Ze),be[0]=be[0].substring(0,Mt).trim(),be[3]=""}}var Dt=be[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=be[3]?be[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test(Le)?Dt.slice(1):Dt.slice(1,-1)),Ge(be,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},be[0])}},lt.reflink=function(ge,be){var Le;if((Le=this.rules.inline.reflink.exec(ge))||(Le=this.rules.inline.nolink.exec(ge))){var ut=(Le[2]||Le[1]).replace(/\s+/g," ");if(!(ut=be[ut.toLowerCase()])||!ut.href){var Ze=Le[0].charAt(0);return{type:"text",raw:Ze,text:Ze}}return Ge(Le,ut,Le[0])}},lt.emStrong=function(ge,be,Le){void 0===Le&&(Le="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Le.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Ze=ut[1]||ut[2]||"";if(!Ze||Ze&&(""===Le||this.rules.inline.punctuation.exec(Le))){var Mt,Dt,At=ut[0].length-1,Xt=At,zn=0,ai="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,be=be.slice(-1*ge.length+At);null!=(ut=ai.exec(be));)if(Mt=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Dt=Mt.length,ut[3]||ut[4]){Xt+=Dt;continue}if((ut[5]||ut[6])&&At%3&&!((At+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(At,Dt)%2?{type:"em",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(1,At+ut.index+Dt)}:{type:"strong",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(2,At+ut.index+Dt-1)}}}}},lt.codespan=function(ge){var be=this.rules.inline.code.exec(ge);if(be){var Le=be[2].replace(/\n/g," "),ut=/[^ ]/.test(Le),Ze=/^ /.test(Le)&&/ $/.test(Le);return ut&&Ze&&(Le=Le.substring(1,Le.length-1)),Le=_e(Le,!0),{type:"codespan",raw:be[0],text:Le}}},lt.br=function(ge){var be=this.rules.inline.br.exec(ge);if(be)return{type:"br",raw:be[0]}},lt.del=function(ge){var be=this.rules.inline.del.exec(ge);if(be)return{type:"del",raw:be[0],text:be[2]}},lt.autolink=function(ge,be){var ut,Ze,Le=this.rules.inline.autolink.exec(ge);if(Le)return Ze="@"===Le[2]?"mailto:"+(ut=_e(this.options.mangle?be(Le[1]):Le[1])):ut=_e(Le[1]),{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,be){var Le;if(Le=this.rules.inline.url.exec(ge)){var ut,Ze;if("@"===Le[2])Ze="mailto:"+(ut=_e(this.options.mangle?be(Le[0]):Le[0]));else{var At;do{At=Le[0],Le[0]=this.rules.inline._backpedal.exec(Le[0])[0]}while(At!==Le[0]);ut=_e(Le[0]),Ze="www."===Le[1]?"http://"+ut:ut}return{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,be,Le){var Ze,ut=this.rules.inline.text.exec(ge);if(ut)return Ze=be?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]:_e(this.options.smartypants?Le(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Ze}},rt}(),tt=te_noopTest,Ye=te_edit,Ue=te_merge,ke={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};ke.def=Ye(ke.def).replace("label",ke._label).replace("title",ke._title).getRegex(),ke.bullet=/(?:[*+-]|\d{1,9}[.)])/,ke.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,ke.item=Ye(ke.item,"gm").replace(/bull/g,ke.bullet).getRegex(),ke.listItemStart=Ye(/^( *)(bull) */).replace("bull",ke.bullet).getRegex(),ke.list=Ye(ke.list).replace(/bull/g,ke.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ke.def.source+")").getRegex(),ke._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ke._comment=/|$)/,ke.html=Ye(ke.html,"i").replace("comment",ke._comment).replace("tag",ke._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ke.paragraph=Ye(ke._paragraph).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.blockquote=Ye(ke.blockquote).replace("paragraph",ke.paragraph).getRegex(),ke.normal=Ue({},ke),ke.gfm=Ue({},ke.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ke.gfm.nptable=Ye(ke.gfm.nptable).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.gfm.table=Ye(ke.gfm.table).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.pedantic=Ue({},ke.normal,{html:Ye("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ke._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Ye(ke.normal._paragraph).replace("hr",ke.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ke.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Ye(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Ye(ke._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Ye(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Ye(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Ye(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Ye(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Ye(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Ye(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Ye(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Ye(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=Ue({},Ke),Ke.pedantic=Ue({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Ye(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=Ue({},Ke.normal,{escape:Ye(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||$e,this.options.tokenizer=this.options.tokenizer||new Ve,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:Ne.normal,inline:q.normal};this.options.pedantic?(ge.block=Ne.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=Ne.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,be){return new rt(be).lex(ge)},rt.lexInline=function(ge,be){return new rt(be).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,be,Le){var Ze,At,Mt,Dt,Xt,zn,ut=this;for(void 0===be&&(be=[]),void 0===Le&&(Le=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(Ze=Nn.call(ut,ge,be))&&(ge=ge.substring(Ze.raw.length),be.push(Ze),!0)}))){if(Ze=this.tokenizer.space(ge)){ge=ge.substring(Ze.raw.length),Ze.type&&be.push(Ze);continue}if(Ze=this.tokenizer.code(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(Ze=this.tokenizer.fences(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.heading(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.nptable(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.hr(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.blockquote(ge)){ge=ge.substring(Ze.raw.length),Ze.tokens=this.blockTokens(Ze.text,[],Le),be.push(Ze);continue}if(Ze=this.tokenizer.list(ge)){for(ge=ge.substring(Ze.raw.length),Mt=Ze.items.length,At=0;At=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=ge.substring(0,Nn+1))}(),Le&&(Ze=this.tokenizer.paragraph(Xt))){Dt=be[be.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze),zn=Xt.length!==ge.length,ge=ge.substring(Ze.raw.length);continue}if(Ze=this.tokenizer.text(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(ge){var ai="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return be},lt.inline=function(ge){var be,Le,ut,Ze,At,Mt,Dt=ge.length;for(be=0;be0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)_n.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(At=Cn.call(Ze,ge,be))&&(ge=ge.substring(At.raw.length),be.push(At),!0)}))){if(At=this.tokenizer.escape(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.tag(ge,Le,ut)){ge=ge.substring(At.raw.length),Le=At.inLink,ut=At.inRawBlock,(Mt=be[be.length-1])&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.link(ge)){ge=ge.substring(At.raw.length),"link"===At.type&&(At.tokens=this.inlineTokens(At.text,[],!0,ut)),be.push(At);continue}if(At=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(At.raw.length),Mt=be[be.length-1],"link"===At.type?(At.tokens=this.inlineTokens(At.text,[],!0,ut),be.push(At)):Mt&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.emStrong(ge,Xt,Nn)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.codespan(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.br(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.del(ge)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.autolink(ge,ue)){ge=ge.substring(At.raw.length),be.push(At);continue}if(!Le&&(At=this.tokenizer.url(ge,ue))){ge=ge.substring(At.raw.length),be.push(At);continue}if(Dt=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,lr=ge.slice(1),cr=void 0;Ze.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Cn=Math.min(Cn,cr))}),Cn<1/0&&Cn>=0&&(Dt=ge.substring(0,Cn+1))}(),At=this.tokenizer.inlineText(Dt,ut,pe)){ge=ge.substring(At.raw.length),"_"!==At.raw.slice(-1)&&(Nn=At.raw.slice(-1)),ai=!0,(Mt=be[be.length-1])&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(ge){var $n="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return be},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:Ne,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,ve=te_escape,L=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,be,Le){var ut=(be||"").match(/\S*/)[0];if(this.options.highlight){var Ze=this.options.highlight(ge,ut);null!=Ze&&Ze!==ge&&(Le=!0,ge=Ze)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Le?ge:ve(ge,!0))+"
    \n":"
    "+(Le?ge:ve(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,be,Le,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,be,Le){var ut=be?"ol":"ul";return"<"+ut+(be&&1!==Le?' start="'+Le+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,be){return be&&(be=""+be+""),"\n\n"+ge+"\n"+be+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,be){var Le=be.header?"th":"td";return(be.align?"<"+Le+' align="'+be.align+'">':"<"+Le+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut='"+Le+""},lt.image=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut=''+Le+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,be,Le){return""+Le},lt.image=function(ge,be,Le){return""+Le},lt.br=function(){return""},rt}(),B=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,be){var Le=ge,ut=0;if(this.seen.hasOwnProperty(Le)){ut=this.seen[ge];do{Le=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Le))}return be||(this.seen[ge]=ut,this.seen[Le]=0),Le},lt.slug=function(ge,be){void 0===be&&(be={});var Le=this.serialize(ge);return this.getNextSafeSlug(Le,be.dryrun)},rt}(),Re=L,Qe=N,St=B,Nt=dt.exports.defaults,On=te_unescape,Yn=je,Ti=function(){function rt(ht){this.options=ht||Nt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qe,this.slugger=new St}rt.parse=function(ge,be){return new rt(be).parse(ge)},rt.parseInline=function(ge,be){return new rt(be).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,be){void 0===be&&(be=!0);var ut,Ze,At,Mt,Dt,Xt,zn,ai,Nn,_n,$n,Cn,lr,cr,Xn,qi,xa,Zr,ie,Le="",fe=ge.length;for(ut=0;ut0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,qi);Le+=this.renderer.list(Nn,$n,Cn);continue;case"html":Le+=this.renderer.html(_n.text);continue;case"paragraph":Le+=this.renderer.paragraph(this.parseInline(_n.tokens));continue;case"text":for(Nn=_n.tokens?this.parseInline(_n.tokens):_n.text;ut+1An error occurred:

    "+el(At.message+"",!0)+"
    ";throw At}}return Jt.options=Jt.setOptions=function(rt){return Bs(Jt.defaults,rt),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+el(ge.message+"",!0)+"
    ";throw ge}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(Ut,it,Je)=>{var yt=Je(284),ee=Je(830);function Tt(){this.clear()}Tt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Tt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Tt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Tt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Tt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Tt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.iterator]=Tt.prototype.values),Tt.prototype.toString=function(){return this.toArray().join(",")},Tt.prototype.toJSON=function(){return this.toArray()},Tt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Tt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect),Tt.from=function(dt){var Y=new Tt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Tt.of=function(){return Tt.from(arguments)},Ut.exports=Tt},830:Ut=>{var it="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function yt(ee,Tt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Tt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var Je=arguments,yt=Je.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:Je[ee++]}})},it.empty=function(){var Je=new it(null);return Je.done=!0,Je},it.is=function(Je){return Je instanceof it||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},Ut.exports=it},310:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Tt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var P=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return P||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Tt=yt(Je(602)),dt=yt(Je(344))},151:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(Je(321)),Tt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Tt.self||Tt.window||Tt.global,it.window=Tt.window||Tt.self||Tt.global,it.global=Tt.global||Tt.self||Tt.window,it.document=Tt.document||{},it.process=Tt.process||{};var j=console;it.console=j},761:(Ut,it,Je)=>{"use strict";var ee=Je(948),Tt=Je(321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=Je(151),Se=(j(Je(602)),j(Je(310)));ee(Je(344));function W(P){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,z=new WeakMap;return(W=function(x){return x?z:Q})(P)}function j(P,Q){if(!Q&&P&&P.__esModule)return P;if(null===P||"object"!==Tt(P)&&"function"!=typeof P)return{default:P};var z=W(Q);if(z&&z.has(P))return z.get(P);var v={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var O in P)if("default"!==O&&Object.prototype.hasOwnProperty.call(P,O)){var A=x?Object.getOwnPropertyDescriptor(P,O):null;A&&(A.get||A.set)?Object.defineProperty(v,O,A):v[O]=P[O]}return v.default=P,z&&z.set(P,v),v}},602:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(Je(321)),Tt=yt(Je(344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Tt.default)()}},344:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(Je(321))},991:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(180),it),ee(Je(103),it),ee(Je(965),it),ee(Je(595),it),ee(Je(417),it),ee(Je(451),it),ee(Je(735),it)},180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=Je(180),ee=Je(965),Tt=Je(595),dt=Je(417),Y=Je(451),Se=Je(735);let he=0;it.DataFactory=class{constructor(P){this.blankNodeCounter=0,this.blankNodePrefix=(P=P||{}).blankNodePrefix||`df_${he++}_`}namedNode(P){return new dt.NamedNode(P)}blankNode(P){return new yt.BlankNode(P||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(P,Q){return new Tt.Literal(P,Q)}variable(P){return new Se.Variable(P)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(P,Q,z,v){return new Y.Quad(P,Q,z,v||this.defaultGraph())}fromTerm(P){switch(P.termType){case"NamedNode":return this.namedNode(P.value);case"BlankNode":return this.blankNode(P.value);case"Literal":return P.language?this.literal(P.value,P.language):P.datatype.equals(Tt.Literal.XSD_STRING)?this.literal(P.value):this.literal(P.value,this.fromTerm(P.datatype));case"Variable":return this.variable(P.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(P.subject),this.fromTerm(P.predicate),this.fromTerm(P.object),this.fromTerm(P.graph))}}fromQuad(P){return this.fromTerm(P)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=Je,Je.INSTANCE=new Je},595:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=Je(417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Tt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Tt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,x,O,A){void 0===A&&(A=O),Object.defineProperty(v,A,{enumerable:!0,get:function(){return x[O]}})}:function(v,x,O,A){void 0===A&&(A=O),v[A]=x[O]}),ee=this&&this.__exportStar||function(v,x){for(var O in v)"default"!==O&&!Object.prototype.hasOwnProperty.call(x,O)&&yt(x,v,O)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Tt=Je(991),dt=Je(938),Y=Je(60);ee(Je(938),it),ee(Je(871),it),ee(Je(60),it);const Se=new Tt.DataFactory,he=new Y.Translator;function W(v,x){return he.fromRdf(v,x)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,x){return x&&"namedNode"in x&&(x={dataFactory:x}),(x=x||{})&&!x.dataFactory&&(x.dataFactory=Se),he.toRdf(v,x)},it.getTermRaw=function(v,x){return"Literal"===v.termType?W(v,x):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},60:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Tt,dt){for(const Y of Tt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Tt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Tt):ee.value}toRdf(ee,Tt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Tt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Tt,dataFactory:dt}){return dt.literal(ee,Tt)}}it.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(727),it),ee(Je(525),it),ee(Je(554),it),ee(Je(750),it),ee(Je(608),it)},935:(Ut,it,Je)=>{"use strict";var yt={};Je.r(yt),Je.d(yt,{decode:()=>Kme,encode:()=>Xme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>t_e,encode:()=>n_e});var Tt={};Je.r(Tt),Je.d(Tt,{decode:()=>i_e,encode:()=>r_e});var dt={};function Y(n){return"function"==typeof n}Je.r(dt),Je.d(dt,{decode:()=>s_e,encode:()=>o_e});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},P=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class x{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof x)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}x.EMPTY=((n=new x).closed=!0,n);const A="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends x{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[A](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const R="function"==typeof Symbol&&Symbol.observable||"@@observable";function K(n){return n}function ce(...n){return D(n)}function D(n){return 0===n.length?K:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let I=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[A])return n[A]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=X(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[R](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=X(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function X(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends x{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class oe extends y{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends I{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[A](){return new oe(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):x.EMPTY}}function Ce(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new _e(e,this.project,this.thisArg))}}class _e extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Ie=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[R])return(n=>e=>{const t=n[R]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(ke(n))return Ie(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Xe])return(n=>e=>{const t=n[Xe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ne(n,e){return new I(t=>{const i=new x;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[R]}(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>{const r=n[R]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(ke(n))return Ne(n,e);if(function(n){return n&&"function"==typeof n[Xe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new I(t=>{const i=new x;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Xe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof I?n:new I(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ve extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof I)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function B(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(B((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Qe(e,this.project,this.concurrent))}}class Qe extends ve{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return B(K,n)}function On(n,e){return e?Ne(n,e):new I(Ie(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ce(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof I?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends I{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new x,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=x.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends oe{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=Jt({__forward_ref__:Jt});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function be(n){return Le(n)?n():n}function Le(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Ze extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function _n(n,e){const t=e?` in ${e}`:"";throw new Ze("201",`No provider for ${Xt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xt(n){return{providers:n.providers||[],imports:n.imports||[]}}function yn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var wn=(()=>((wn=wn||{})[wn.Default=0]="Default",wn[wn.Host=1]="Host",wn[wn.Self=2]="Self",wn[wn.SkipSelf=4]="SkipSelf",wn[wn.Optional=8]="Optional",wn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=yn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&wn.Optional?null:void 0!==e?e:void _n(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var He=(()=>((He=He||{})[He.OnPush=0]="OnPush",He[He.Default=1]="Default",He))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},ir=[],fp=Jt({\u0275cmp:Jt}),t_=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),av=Jt({\u0275mod:Jt}),D1=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let I1=0;function ln(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===He.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ir,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||ir,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=I1++,i.inputs=dv(n.inputs,t),i.outputs=dv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(lv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(cv):null,i})}function lv(n){return zi(n)||function(n){return n[t_]||null}(n)}function cv(n){return function(n){return n[Dh]||null}(n)}const uv={};function on(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||ir,declarations:n.declarations||ir,imports:n.imports||ir,exports:n.exports||ir,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(uv[n.id]=n.type),e})}function dv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function Oo(n,e){const t=n[av]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function r_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function hv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class l_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Hi(){return gv}function gv(n){return n.type.prototype.ngOnChanges&&(n.setInput=B1),L1}function L1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function B1(n,e,t,i){const r=at(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new l_(l&&l.currentValue,e,o===Ed),n[i]=e}Hi.ngInherit=!0;const kh="__ngSimpleChanges__";function at(n){return n[kh]||null}let Qi;function pr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Qi?Qi:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function d_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function h_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function _v(){return Bn.bindingsEnabled}function jt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=f_();for(;null!==n&&64===n.type;)n=n.parent;return n}function f_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,p_(e)}function p_(n){Bn.lFrame.currentDirectiveIndex=n}function g_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function yv(){return Bn.lFrame.currentQueryIndex}function m_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&wn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&wn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=Ee();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=Ee(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ee(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return d_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=pr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let E_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(Ev(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=E_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Av:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&wn.Host?x_(r,t,i):xv(e,t,i,r);try{const o=s(i);if(null!=o||i&wn.Optional)return o;_n(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&wn.Host?e[16][6]:null;for((-1===a||i&wn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Cv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return xv(e,t,i,r)}const Cv={};function Av(){return new ea(cs(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&wn.Host&&s===a);return null!==u?Fd(e,o,u,a):Cv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new Ze("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,wn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=gv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return Le(n)?()=>{const e=Ms(be(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function I_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class k_ extends Yl{getTypeName(){return"HTML"}}class L_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class Gv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class mA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Wv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),qv=ra("rp,rt"),j_=Jh(Up,Jh(Wv,ra("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Jh(qv,ra("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Jh(qv,Wv)),V_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),U_=ra("srcset"),z_=Jh(V_,U_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),EA=ra("script,style,template");class H_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!EA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Yv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Yv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function G_(n,e){let t=null;try{tf=tf||function(n){const e=new mA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new Gv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new H_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const q_="__ngContext__";function Is(n,e){n[q_]=e}function Y_(n){const e=function(n){return n[q_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function FA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||FA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const sw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function J_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return uw(n[13])}function ty(n){return uw(n[4])}function uw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?gw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){pr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function sy(n,e){if(!(256&e[2])){const t=e[11];pr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function lT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Mw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Mw(s,r)),e}const In={};function Zt(n){Dw(Ei(),jt(),Js()+n,Vh())}function Dw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function dy(n){return 1|n}function Bw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Dw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!_v()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Kw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Xw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Yd(n);null!==i;i=ty(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function HT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Jw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function My(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Dy(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function eE(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=wn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&wn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&yn(e);a=l&&this.injectableDefInScope(l)?ku(Py(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&wn.Self?tE():this.parent).get(e,t=i&wn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(rt(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=be(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||ir))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=be(e))?e:be(e&&e.provide);const s=function(n,e,t){return rE(n)?ku(void 0,n.useValue):ku(iE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=QT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=be(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Py(n){const e=yn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function iE(n,e,t){let i;if(Vc(n)){const r=be(n);return Tc(r)||Py(r)}if(rE(n))i=()=>be(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Oe(be(n.useExisting));else{const r=be(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Py(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function rE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const sE=function(n,e,t){return function(n,e=null,t=null,i){const r=nE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?sE(e,t,""):sE(e.providers,e.parent,e.name||"")}}function Hq(n,e){wp(Y_(n)[1],cs())}function xn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=dM(n.inputs),o.declaredInputs=dM(n.declaredInputs),o.outputs=dM(n.outputs);const a=r.hostBindings;a&&qq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&$q(n,l),c&&Wq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function dM(n){return n===Ed?{}:n===ir?[]:n}function $q(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Wq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function qq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=We({token:Wn,providedIn:"any",factory:()=>Oe(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let uE=null;function sg(){if(!uE){const n=Qn.Symbol;if(n&&n.iterator)uE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Ae[i.index])):i.index;if(pr(t)){let Ae=null;if(!a&&l&&(Ae=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,g=!1;else{s=yM(i,e,h,s,!1);const Pe=t.listen(H,r,s);p.push(s,Pe),u&&u.push(r,de,U,U+1)}}else s=yM(i,e,h,s,!0),H.addEventListener(r,s,o),p.push(s),u&&u.push(r,de,U,o)}else s=yM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const C=w.length;if(C)for(let H=0;H0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function TY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Vk(n){return n.substring(Rs.key,Rs.keyEnd)}function Uk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Uk(e,t))ko(n,Vk(e),!0)}function ec(n,e,t,i){const r=jt(),s=Ei(),o=No(2);s.firstUpdatePass&&qk(s,n,o,i),e!==In&&Eo(r,o,e)&&Kk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function Wk(n,e){return e>=n.expandoStartIndex}function qk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=Wk(n,t);Qk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=g_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=zy(t=vM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=vM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=vM(null,n,e,l[1],i),l=zy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),jk(n,u,i,!0),jk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=dy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function vM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?ir:void 0);let g=h?I_(p,i):u===i?p:void 0;if(c&&!_E(g)&&(g=I_(l,i)),_E(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=I_(l,i))}return a}function _E(n){return void 0!==n}function Qk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=jt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return pr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=jt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function yE(n,e,t){const i=jt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,My(g_(s.data),o,i),t,!0)}return yE}const gf=void 0;var uK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function gL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const bE="en-US";let mL=bE;function EM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(mL=n.toLowerCase().replace(/_/g,"-"))}function CM(n,e,t,i,r){if(n=be(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,xe),m=TM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),AM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=TM(a,e,u+p,h),m=TM(a,e,u,u+p),w=g>=0&&t[g],C=m>=0&&t[m];if(r&&!C||!r&&!w){Dc(Hs(c,o),s,a);const H=function(n,e,t,i,r){const s=new $h(n,t,xe);return s.multi=[],s.index=e,s.componentProviders=0,VL(s,r,i&&!t),s}(r?aX:oX,t.length,r,i,l);!r&&C&&(t[m].providerFactory=H),AM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(H),o.push(H)}else AM(s,n,g>-1?g:m,VL(t[r?m:g],l,!r&&i));!r&&i&&C&&t[m].componentProviders++}}}function AM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function VL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function TM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);CM(t,i.data,i.blueprint,r,!0),CM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class UL{}const HL="ngComponent";class uX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[HL]=n,e}(e)}}class wl{}function xE(...n){}function Eg(n,e){return new vn(Zs(n,e))}wl.NULL=new uX;const fX=function(){return Eg(cs(),jt())};let vn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=fX,n})();function GL(n){return n instanceof vn?n.nativeElement:n}class mf{}let IM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const $L=new ju("12.2.5");class WL{constructor(){}supports(e){return jy(e)}create(e){return new bX(e)}}const yX=(n,e)=>e;class bX{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||yX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new vX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new qL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new qL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class vX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class wX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class qL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new wX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function YL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new SX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class SX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function XL(){return new Sg([new WL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:XL}),n})();function QL(){return new xg([new KL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||QL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:QL}),n})();function CE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ry(e,i),Gl(t,i))}this._attachedToViewContainer=!1}sy(this._lView[1],this._lView)}onDestroy(e){zw(this._lView[1],this._lView,null,e)}markForCheck(){xy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class CX extends qy{constructor(e){super(e),this._view=e}detectChanges(){Zw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Zw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const TX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new qy(i,i)}return 47&n.type?new qy(e[16],e):null}(cs(),jt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=TX,n})();const IX=[new KL],RX=new Sg([new WL]),NX=new xg(IX),FX=function(){return AE(cs(),jt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=FX,n})();const kX=zo,LX=class extends kX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new qy(i)}};function AE(n,e){return 4&n.type?new LX(e,n,Eg(n,e)):null}class $c{}const VX=function(){return t3(cs(),jt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=VX,n})();const zX=Ns,JL=class extends zX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(Ev(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=e3(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new JL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),isw});class x3 extends UL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(fT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return S3(this.componentDef.inputs)}get outputs(){return S3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(IM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(pr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):iy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||sw,clean:KT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let w,C;Hh(m);try{const H=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&cy(r,n,l.classes),null!==l.styles&&xw(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Xw(o,l),vy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",$L.full]);else{const{attrs:U,classes:de}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&cy(l,u,de.join(" "))}if(C=d_(g,20),void 0!==t){const U=C.projection=[];for(let de=0;del(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Yw(t[1],a,0,a.directiveStart,a.directiveEnd,e),Kw(e,o)),o}(H,this.componentDef,m,p,[Hq]),df(g,m,null)}finally{fi()}return new UQ(this.componentType,w,Eg(C,m),m,C)}}class UQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new CX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class GQ extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new E3(this);const i=Oo(e),r=function(n){return n[D1]||null}(e);r&&EM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=nE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=wn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class GM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new GQ(this.moduleType,e)}}function M3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Ze("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(xe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=jt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?M3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function $M(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=$M(l),a&&(a=$M(a)),c&&(c=$M(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof x&&e.add(u),u}};function sZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=sZ)}get changes(){return this._changes||(this._changes=new sn)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=xE,this.reject=xE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(vf,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const o0=new Ht("AppId"),UZ={provide:o0,useFactory:function(){return`${nD()}${nD()}${nD()}`},deps:[]};function nD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const tB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),PE=new Ht("appBootstrapListener");let FE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),nB=new Ht("DefaultCurrencyCode");class HZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const iD=function(n){return new GM(n)},GZ=iD,$Z=function(n){return Promise.resolve(iD(n))},iB=function(n){const e=iD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new x3(o)),r},[]);return new HZ(e,i)},WZ=iB,qZ=function(n){return Promise.resolve(iB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=GZ,this.compileModuleAsync=$Z,this.compileModuleAndAllComponentsSync=WZ,this.compileModuleAndAllComponentsAsync=qZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const rB=new Ht("compilerOptions"),KZ=(()=>Promise.resolve(0))();function rD(n){"undefined"==typeof Zone?KZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,oD(n),n.isCheckStableRunning=!0,sD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),oD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return sB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),oB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return sB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),oB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,oD(n),sD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,QZ,xE,xE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const QZ={};function sD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function oD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function sB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function oB(n){n._nesting--,sD(n)}class eJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let aD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),rD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())rD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),aB=(()=>{class n{constructor(){this._applications=new Map,lD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return lD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class tJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let lD=new tJ,lB=!0,cB=!1;function Ba(){return cB=!0,lB}let rc;const uB=new Ht("AllowMultipleToken");function dB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=uD();if(!o||o.injector.get(uB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(uB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(hB);const e=n.get(tB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=uD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function uD(){return rc&&!rc.destroyed?rc:null}let hB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new eJ:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{dD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(EM(u.injector.get(Uu,bE)||bE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=fB({},i);return function(n,e,t){const i=new GM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function fB(n,e){return Array.isArray(e)?e.reduce(fB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new I(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new I(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),rD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof UL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(aD,null),u=c&&a.injector.get(aB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),dD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;dD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(PE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wn),Oe(oa),Oe(wl),Oe(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function dD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const MJ=dB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:hB,deps:[Wn]},{provide:aB,deps:[]},{provide:FE,deps:[]}]),NJ=[{provide:ih,useClass:ih,deps:[fn,Wn,oa,wl,Og]},{provide:BQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},UZ,{provide:Sg,useFactory:function(){return RX},deps:[]},{provide:xg,useFactory:function(){return NX},deps:[]},{provide:Uu,useFactory:function(n){return EM(n=n||"undefined"!=typeof $localize&&$localize.locale||bE),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:nB,useValue:"USD"}];let FJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Oe(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:NJ}),n})(),WE=null;function qc(){return WE}const hn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Pee,token:n,providedIn:"platform"}),n})();function Pee(){return Oe(UB)}let UB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){zB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){zB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:kee,token:n,providedIn:"platform"}),n})();function zB(){return!!window.history.pushState}function kee(){return new UB(Oe(hn))}function AD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function HB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Lee,token:n,providedIn:"root"}),n})();function Lee(n){const e=Oe(hn).location;return new GB(Oe(xf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let GB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return AD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(xf),Oe(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=HB($B(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,$B(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=AD,n.stripTrailingSlash=HB,n.\u0275prov=We({factory:jee,token:n,providedIn:"root"}),n})();function jee(){return new Pg(Oe(Cf),Oe(xf))}function $B(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const qee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=gL(e);if(t)return t;const i=e.split("-")[0];if(t=gL(i),t)return t;if("en"===i)return uK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class nS{}let Ete=(()=>{class n extends nS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(qee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Uu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class xte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new xte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new tj(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new tj(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo),xe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class tj{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Ate,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){nj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){nj("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Ate{constructor(){this.$implicit=null,this.ngIf=null}}function nj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ite{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ote{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Rte=new Ote,Nte=new Ite;let p0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Rte;if(Mk(t))return Nte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(xe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[{provide:nS,useClass:Ete}]}),n})();const cj="browser";function Tf(n){return n===cj}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){WE||(WE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(g0=g0||document.querySelector("base"),g0?g0.getAttribute("href"):null);return null==t?null:function(n){rS=rS||document.createElement("a"),rS.setAttribute("href",n);const e=rS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){g0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let rS,g0=null;const fj=new Ht("TRANSITION_ID"),ine=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let rne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const m0=new Ht("EventManagerPlugins");let oS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_0=(()=>{class n extends gj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(mj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(mj))}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function mj(n){qc().remove(n)}const HD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},GD=/%COMP%/g;function aS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let lS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new $D(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new bne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new vne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=aS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Oe(oS),Oe(_0),Oe(o0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class $D{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(HD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=HD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=HD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,bj(i)):this.eventManager.addEventListener(e,t,bj(i))}}class bne extends $D{constructor(e,t,i,r){super(e),this.component=i;const s=aS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(GD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(GD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class vne extends $D{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=aS(r.id,r.styles,[]);for(let o=0;o{class n extends zD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Ej=["alt","control","meta","shift"],Mne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Sj={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Dne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ine=(()=>{class n extends zD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(Ej.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Sj.hasOwnProperty(e)&&(e=Sj[e]))}return Mne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Ej.forEach(s=>{s!=r&&Dne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Oe(qD)},token:n,providedIn:"root"}),n})(),qD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):G_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new k_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return function(n){return new qD(n.get(hn))}(Oe(Pu))},token:n,providedIn:"root"}),n})();const Bne=dB(MJ,"browser",[{provide:Wc,useValue:cj},{provide:tB,useValue:function(){VD.makeCurrent(),UD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Qi=n}(document),document},deps:[]}]),jne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:m0,useClass:wne,multi:!0,deps:[hn,fn,Wc]},{provide:m0,useClass:Ine,multi:!0,deps:[hn]},[],{provide:lS,useClass:lS,deps:[oS,_0,o0]},{provide:mf,useExisting:lS},{provide:gj,useExisting:_0},{provide:_0,useClass:_0,deps:[hn]},{provide:aD,useClass:aD,deps:[fn]},{provide:oS,useClass:oS,deps:[m0,fn]},{provide:class{},useClass:rne,deps:[]},[]];let YD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:o0,useValue:t.appId},{provide:fj,useExisting:o0},ine]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:jne,imports:[qr,FJ]}),n})();"undefined"!=typeof window&&window;class qne extends x{constructor(e,t){super()}schedule(e,t=0){return this}}class cS extends qne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let Cj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends Cj{constructor(e,t=Cj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Xne=new class extends uc{}(class extends cS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new I(n=>n.complete());function uS(n){return n?function(n){return new I(e=>n.schedule(()=>e.complete()))}(n):Yc}function dn(...n){let e=n[n.length-1];return Ce(e)?(n.pop(),Ne(n,e)):On(n)}function Fg(n,e){return new I(e?t=>e.schedule(Zne,0,{error:n,subscriber:t}):t=>t.error(n))}function Zne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return dn(this.value);case"E":return Fg(this.error);case"C":return uS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class dS extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(dS.dispatch,this.delay,new eie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class eie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new tie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=x.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new dS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class tie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new nie(n))}class nie{constructor(e){this.project=e}call(e,t){return t.subscribe(new iie(e,this.project))}}class iie extends ve{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const hS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return hS.schedule(n,0);if(void 0===window.requestAnimationFrame)return hS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function fie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class gie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new mie(this.componentFactory,e)}}class mie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=hS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=hS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new l_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class _ie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const bie={initialConfig:{},parse:{},rename:{}};class vie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},bie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let wie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new vie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Hi]}),n})();var QD;const y0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function or(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Tj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Li(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Ij(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Ij()}const Oj="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JD();class Cie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Rj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Nj(n){return"string"==typeof n?Rj[n.toUpperCase()]||Rj.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},b0=hc.window||hc.self||hc.global,Pj=hc.process||{};function Lg(){let n;if(pS&&b0.performance)n=b0.performance.now();else if(Pj.hrtime){const e=Pj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Rie={enabled:!0,level:0};function Tl(){}const Fj={},kj={once:!0};function Nie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Oj,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Cie("__probe-".concat(this.id,"__"),Rie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,kj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,kj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Nie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Bj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Lj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Bj({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Fj[a])return Tl;Fj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=Nj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Nj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Oj,n})();function Lj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function Bj(n){const{logLevel:e,message:t}=n;n.logLevel=Lj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),Ui={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ui,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},jj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},pn=new tI({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return $o(mS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const v0={};const w0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,ere={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(zj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Uj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Uj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(Vj)?2147483647:65535,33001:n=>n.getExtension(Vj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},Hj="ANGLE_instanced_arrays",Gj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[Hj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=ere[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function hre(n,{extension:e,target:t,target2:i}){const r=Gj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&hre(n,{extension:t,target:n.luma,target2:n})}(n,Gj),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),$j=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function E0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const gre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:$j,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:$j,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=E0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=E0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=E0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=E0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const mre={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},Wj={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),qj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function Yj(n){for(const e in n)return!1;return!0}function _re(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=qj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=qj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];_re(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Xj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new vre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in Wj)yre(n,s,Wj[s]);Kj(n,"getParameter"),Kj(n,"isEnabled")}return n.state.enable=t,n}function Qj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(mS(n),"setParameters requires a WebGL context"),Yj(e))return;const t={};for(const r in e){const s=Number(r),o=gre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)mre[r](n,e,i)}function fc(n,e,t){if(Yj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Xj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Qj(n);else try{r=t(n)}finally{Qj(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=Zj(n[0],e,t);let o=Jj(n[1],e,i,r),a=Zj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Jj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Zj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Jj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),Tre=sI&&"undefined"!=typeof document,eV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function tV(n={}){$o(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},eV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Tre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);pn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},eV,e);const{manageState:t,debug:i}=e;return t&&Xj(n,{copyState:!1,log:(...r)=>pn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),pn.level=Math.max(pn.level,1)):pn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function nV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class iV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=nV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(nV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof iV?e:new iV(t,i)),this.stats[t]}}const S0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&pn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:pn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ga(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function rV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function sV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw pn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return sV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function x0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function jre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Ure)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const aV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},zre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:aV},Hre={removedProps:aV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,zre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Hre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=x0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/x0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return pn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return pn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return pn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return pn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},lV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},cV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Wre=[9729,9728],uV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(U=>this.initialize(Object.assign({},e,{pixels:U,data:U}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:w=!1,mipmaps:C=!0}=e;const{depth:H=0}=e;return({width:h,height:p,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=H,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),C&&this._isNPOT()&&(pn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),C=!1,this._updateForNPOT(l)),this.mipmaps=C,this.setImageData({data:t,width:h,height:p,depth:H,format:s,type:m,dataFormat:g,border:o,mipmaps:C,parameters:c,compressed:w}),C&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let C=null;({data:c,dataType:C}=this._getDataType({data:c,compressed:m}));let H,U=0;return fc(this.gl,l,()=>{switch(C){case"null":w.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":H=Co(w),H.bindBuffer(35052,c.handle||c),H.texImage2D(t,r,s,h,p,o,g,u,a),H.bindBuffer(35052,null);break;case"browser-object":Si(w)?w.texImage2D(t,r,s,h,p,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[de,Ae]of c.entries())w.compressedTexImage2D(t,de,Ae.format,Ae.width,Ae.height,o,Ae.data),U+=Ae.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===C?U:c&&c.byteLength?c.byteLength:this.width*this.height*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const C=i;i=C.data,o=C.shape[0],a=C.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,w,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof uV){const C=Co(this.gl);C.bindBuffer(35052,i),C.texSubImage2D(e,l,r,s,o,a,h,u,g),C.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return pn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof uV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||rV(this.width)&&rV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Wre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function qre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:qre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",dV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,dV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*dV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const mV="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,mV),fc(n,s,()=>{n.clear(o)})}function _V(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){_V(s,i,r,o,a,"next",l)}function a(l){_V(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let ese=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&pn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((w,C)=>{t&&i?u.texImage2D(g,C,a,t,i,o,a,l,w):u.texImage2D(g,C,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=gI,n})();class tse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(lV[this.dataFormat]||4)*(cV[this.type]||1),"Texture"),this.loaded=!0,this}}function yV(n,e){tn(n instanceof _a||n instanceof ese||n instanceof tse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function nse(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function bS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=C0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(x0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=bS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=jre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&pn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,mV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return pn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return pn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return pn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return pn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return pn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return pn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>pn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return pn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,bV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),bV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in vV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=EV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const vV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return wV(n,e)}function wV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>EV(n,t))}function EV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=vV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||pn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},pse=1/Math.PI*180,gse=1/180*Math.PI,Or={};function _se(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*gse,void 0)}(n)}function bse(n){return function(n,e){return qu(n,t=>t*pse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function vS(n,e,t){return lh(n)?n.map((i,r)=>vS(i,e[r],t)):t*e+(1-t)*n}function T0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+_se(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(BV.length=n.length,i=BV):i=LV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function jV(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?VV(n,e,[]):e(n)?[n]:[]}function VV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function UV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Wse[n.type]),e),n)):null}function zV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function HV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function GV(n){n.push(n.shift())}function AI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function $V({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=AI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const H=s;s=(U,de)=>t._normalizeConstant(H(U,de))}const m=p?(H,U)=>s(g,U):(H,U)=>s(g.subarray(H,H+a),U),w=n.getData({length:i}),C=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===CS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=CS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Hse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==CS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const C=h*a+l;for(let H=0;Hu?c.set(de,w):(e._normalizeValue(de,H.target,0),zse({target:c,source:H.target,start:w,count:Ae}));w+=Ae*u}else e._normalizeValue(de,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function To(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const WV="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Kse=`#version 300 es\n${WV}`;function qV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function YV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Kse:e>300?`#version ${e}\n${WV}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class KV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,pn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Jse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new KV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function XV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const O0="vs",noe={[O0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},AS="__LUMA_INJECT_DECLARATIONS__",QV=/void\s+main\s*\([^)]*\)\s*\{\n?/,ZV=/}\n?[^{}]*$/,II=[];function JV(n,e,t,i=!1){const r=e===O0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(ZV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(AS,a));break;case"fs:#main-start":r||(n=n.replace(QV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(ZV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(AS,""),i&&(n=n.replace(/\}\s*$/,s=>s+noe[e])),n}function OI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const ioe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",eU="transform_position";const doe={10241:9728,10240:9728,10242:33071,10243:33071};class foe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=bS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(doe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=yV(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return qV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(w){const{updatedLine:C,inject:H}=w;h[g]=C,c=OI([c,H]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=qV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${eU} = transform_getPos(${p});\n gl_Position = vec4(${eU}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||YV({version:XV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[ioe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function goe(n){let e=tU(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=tU(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function tU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class NI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=goe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function boe(n){return function(n){const e={},t={};return PI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(iU(n))}function PI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof NI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new NI(t)).dependencies=iU(t.dependencies)),t))}const FI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Toe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(FI).forEach(n=>{Nf[n]=n});const kI={};function rU(n,e,t={}){const i=FI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function MS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=FI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const sU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Ooe=[...sU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Roe=[...sU,[Gg("varying"),"in $1"]],oU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Noe=[...oU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Poe=[...oU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Foe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const joe=`\n\n${AS}\n\n`,aU={[O0]:"vertex",fs:"fragment"};function lU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===O0,p=t.split("\n");let g=100,m="",w=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],w=p.slice(1).join("\n")):m=`#version ${g}`;const C={};r.forEach(Be=>{Object.assign(C,Be.getDefines())}),Object.assign(C,s);let H=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${aU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${aU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Toe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return MS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),MS(n,Nf.GLSL_DERIVATIVES)&&rU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),MS(n,Nf.GLSL_FRAG_DATA)&&rU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),MS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(C)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const U=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),de={},Ae={},Pe={};for(const Be in a){const et="string"==typeof a[Be]?{injection:a[Be],order:0}:a[Be],wt=Be.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const Ct=wt[3];wt[2]?"decl"===Ct?Ae[Be]=[et]:Pe[Be]=[et]:de[Be]=[et]}else Pe[Be]=[et]}for(const Be of r){u&&Be.checkDeprecations(w,u),H+=Be.getModuleSource(i,g);const wt=Be.injections[i];for(const vt in wt){const Ct=vt.match(/^(v|f)s:#([\w-]+)$/);if(Ct){const $t="decl"===Ct[2]?Ae:Pe;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else de[vt]=de[vt]||[],de[vt].push(wt[vt])}}return H+=joe,H=JV(H,i,Ae),H+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(U[i],de),H+=w,H=JV(H,i,Pe),H=function(n,e,t){switch(e){case 300:return t?DS(n,Ooe):function(n){const e=(n=DS(n,Roe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Foe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,Noe):function(n){const e=(n=DS(n,Poe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(H,l?100:g,h),H}function zoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Yoe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",IS,1,Mo),36294:Rr.bind(null,"uniform2uiv",IS,2,Mo),36295:Rr.bind(null,"uniform3uiv",IS,3,Mo),36296:Rr.bind(null,"uniform4uiv",IS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Koe={},Xoe={},Qoe={},cU=[0];function jI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(cU[0]=n,n=cU);const r=n.length;if(r%e&&pn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return fU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:hU(s,c),warnings:hU(o,c)}}(i,this.source,this.shaderType,this.id);throw pn.error(`GLSL compilation errors in ${r}\n${s}`)(),pn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends R0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends R0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,N0=5124,P0=5125,zI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[N0]:[N0,1,"int"],35667:[N0,2,"ivec2"],35668:[N0,3,"ivec3"],35669:[N0,4,"ivec4"],[P0]:[P0,1,"uint"],36294:[P0,2,"uvec2"],36295:[P0,3,"uvec3"],36296:[P0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function bU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function vU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Fae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=bU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=bU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const kae=35981,Lae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class EU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Lae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=kae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof VI),tn(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Fae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:w,samplers:C}){if((w||C)&&(pn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),pn.priority>=e){const H=g?g.id:"default",U=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${H}`;pn.log(e,U)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const H=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(H)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){pn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!eae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&tae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),pn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),pn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||pn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(de=>this._getHash(de.name)).sort(),g=o.map(de=>this._getHash(de)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),C=[],H=[];for(const de of m)C.push(this._getHash(de)),C.push(this._getHash(r[de]));for(const de of w)H.push(this._getHash(de)),H.push(this._getHash(s[de]));const U=`${u}/${h}D${C.join("/")}M${p.join("/")}I${H.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[U]){const de=function(n,e){const{vs:t,fs:i}=e,r=boe(e.modules||[]);return{gl:n,vs:lU(n,Object.assign({},e,{source:t,type:O0,modules:r})),fs:lU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:zoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[U]=new EU(this.gl,{hash:U,vs:de.vs,fs:de.fs,varyings:o,bufferMode:a}),this._getUniforms[U]=de.getUniforms||(Ae=>{}),this._useCounts[U]=0}return this._useCounts[U]++,this._programCache[U]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":b0.chrome?"Chrome":b0.safari?"Safari":b0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!NS||NS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Gae=/^(.+)__LOCATION_([0-9]+)$/,$ae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Wae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),sV(this,"VertexArray","v6.0",$ae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,pn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Gae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return pn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function k0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=k0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function SU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let w;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${k0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${k0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Kae(n,e){const{type:t,size:i}=e,r=vU(t,i);return r?`${n} (${r.name})`:n}function xU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||HI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:k0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?k0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function CU(n){const{type:e,size:t}=n.accessor,i=vU(e,t);return i?`${i.name} ${n.name}`:n.name}const Zae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ele(n,e){const{attributeMap:t=Zae}=e||{};return t&&t[n]||n}function tle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const AU=()=>{},rle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(mS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=ele(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new hr(n,l),c],tle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),pn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&pn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:C}=this,{onBeforeRender:H=AU,onAfterRender:U=AU}=this.props;H(),this.program.setUniforms(this.uniforms);const de=this.program.draw(Object.assign(rle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:w,instanceCount:C,offset:h?g:0}));return U(),pn.priority>=2&&this._logDrawCallEnd(c,l,i),de}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return pn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof EU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Wae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new KV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:pn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=SU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Kae(s.name,a)}`),t[o]=SU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=xU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&pn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&pn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${CU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);pn.table(e,s)(),pn.table(e,o)(),pn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),pn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||YV({version:XV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Jse(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new foe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function PS(){}const ale={onStart:PS,onUpdate:PS,onInterrupt:PS,onEnd:PS};class L0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},ale),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const gle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=HV(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;GV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:zV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new L0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=HV(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)$V(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=AI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:zV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),GV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),bS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class mle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=gle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const TU="attributeManager.invalidate";class Ele{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new mle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function DU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function IU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=UV(r)))return;const o=Ale[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Mle}=FS;function Ole(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function OU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Ple(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Vle(i[r],e[r])){t=n(i),e=i;break}return t}}function Ule(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],w=e[13],C=e[14],H=e[15],U=t*a-i*o,de=t*l-r*o,Ae=t*c-s*o,Pe=i*l-r*a,Be=i*c-s*a,et=r*c-s*l,wt=u*w-h*m,vt=u*C-p*m,Ct=u*H-g*m,Bt=h*C-p*w,$t=h*H-g*w,gt=p*H-g*C,mt=U*gt-de*$t+Ae*Bt+Pe*Ct-Be*vt+et*wt;return mt?(n[0]=(a*gt-l*$t+c*Bt)*(mt=1/mt),n[1]=(r*$t-i*gt-s*Bt)*mt,n[2]=(w*et-C*Be+H*Pe)*mt,n[3]=(p*Be-h*et-g*Pe)*mt,n[4]=(l*Ct-o*gt-c*vt)*mt,n[5]=(t*gt-r*Ct+s*vt)*mt,n[6]=(C*Ae-m*et-H*de)*mt,n[7]=(u*et-p*Ae+g*de)*mt,n[8]=(o*$t-a*Ct+c*wt)*mt,n[9]=(i*Ct-t*$t-s*wt)*mt,n[10]=(m*Be-w*Ae+H*U)*mt,n[11]=(h*Ae-u*Be-g*U)*mt,n[12]=(a*vt-o*Bt-l*wt)*mt,n[13]=(t*Bt-i*vt+r*wt)*mt,n[14]=(w*de-m*Pe-C*U)*mt,n[15]=(u*Pe-h*de+p*U)*mt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],w=e[12],C=e[13],H=e[14],U=e[15],de=t[0],Ae=t[1],Pe=t[2],Be=t[3];return n[0]=de*i+Ae*a+Pe*h+Be*w,n[1]=de*r+Ae*l+Pe*p+Be*C,n[2]=de*s+Ae*c+Pe*g+Be*H,n[3]=de*o+Ae*u+Pe*m+Be*U,n[4]=(de=t[4])*i+(Ae=t[5])*a+(Pe=t[6])*h+(Be=t[7])*w,n[5]=de*r+Ae*l+Pe*p+Be*C,n[6]=de*s+Ae*c+Pe*g+Be*H,n[7]=de*o+Ae*u+Pe*m+Be*U,n[8]=(de=t[8])*i+(Ae=t[9])*a+(Pe=t[10])*h+(Be=t[11])*w,n[9]=de*r+Ae*l+Pe*p+Be*C,n[10]=de*s+Ae*c+Pe*g+Be*H,n[11]=de*o+Ae*u+Pe*m+Be*U,n[12]=(de=t[12])*i+(Ae=t[13])*a+(Pe=t[14])*h+(Be=t[15])*w,n[13]=de*r+Ae*l+Pe*p+Be*C,n[14]=de*s+Ae*c+Pe*g+Be*H,n[15]=de*o+Ae*u+Pe*m+Be*U,n}function LS(n,e,t){var o,a,l,c,u,h,p,g,m,w,C,H,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],w=e[9],C=e[10],H=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=w,n[10]=C,n[11]=H,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+p*r+C*s+e[14],n[15]=c*i+g*r+H*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function PU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function kU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function jS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function LU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const BU=[0,0,0,0],hce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],pce=[0,0,0],gce=[0,0,0],mce=kS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=BU,l=BU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=jU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=jS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,hce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:pce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Ui.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Ui.LNGLAT:case Ui.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Ui.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function jU(n,e,t=gce){let r,i=t,s=!0;switch(r=e===Ui.LNGLAT_OFFSETS||e===Ui.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===Ui.LNGLAT||e===Ui.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===Ui.LNGLAT?i=r:e===Ui.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class vce extends wS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],w=n[14],C=n[15];return(e*o-t*s)*(h*C-p*w)-(e*a-i*s)*(u*C-p*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*C-p*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return NU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return PU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,w,C,H,U,de,Ae,Pe,Be,et,wt,vt,Ct,Bt,$t,gt,mt,Vt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,$U=gc/4,mc=gc/180,KI=180/gc,XI=4003e4,US=85.051129;function zS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan($U+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-$U);return[t*KI,i*KI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/XI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function WU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=zS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function YU(n){return 2*Math.atan(.5/n)*KI}function KU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return UU([],o,a,l===c?0:((t||0)-l)/(c-l))}const XU=Math.PI/180;function QU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(UU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Lce=Math.PI/180,Bce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Vce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&T0(t.projectionMatrix,this.projectionMatrix)&&T0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=KU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?zS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const C=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:H,aspect:U,focalDistance:de,near:Ae,far:Pe}=function({width:n,height:e,fovy:t=YU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=YU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Be=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),NU(o,o,-e*mc),PU(o,o,t*mc),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:C,altitude:w});p&&(Be=(new qn).translate([512*p,0,0]).multiplyLeft(Be)),super(Sn(ot({},t),{width:g,height:m,viewMatrix:Be,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:H,aspect:U,focalDistance:de,near:Ae,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return WU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=VS([],this.projectFlat(t),VU([],r)),a=VS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*XU:Math.atan(.5/n.altitude))>(90-n.pitch)*XU-.01?(l=QU(n,0,e),c=QU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=zS([a,GU(u,-US,US)]),p=zS([c,GU(l,-US,US)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const w=m[0]/g[0],C=m[1]/g[1],Ae=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/w,(p[1]+h[1])/2+(s.bottom-s.top)/2/C]),Pe=Math.min(r,YI(Math.abs(Math.min(w,C))));return Xu(Number.isFinite(Pe)),{longitude:Ae[0],latitude:Ae[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof nz){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function iz(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=jS([],[o,a,l,1],t)),i){case Ui.LNGLAT:return eO([o,a,l],e,s);case Ui.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ui.METER_OFFSETS:return eO(WU(r,[o,a,l]),e,s);case Ui.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Hce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Wce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||U0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||U0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Sn(ot({},e),{parameters:ot(ot(ot({},Hce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!U0(n)||!U0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=sue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[iue]||{},i=e[nue]||e,r=e[rue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(jV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=rO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const C=m,{dataTransform:H}=i.component?i.component.props:{};a=H?H(C,a):a.concat(C),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(C){u=!0,h=C}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:az,ASYNC_RESOLVED:lz,ASYNC_DEFAULTS:oue}=FS,aue={};let lue=0,cue=(()=>{class n{constructor(){this.props=Kce.apply(this,arguments),this.id=this.props.id,this.count=lue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[oue])s in i[lz]?r[s]=i[lz][s]:s in i[az]&&(r[s]=i[az][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new oz({})}}return n.componentName="Component",n.defaultProps=aue,n})();class uue extends oz{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,uz=n=>uh(n)&&n.constructor==={}.constructor,due=n=>n&&"function"==typeof n[Symbol.iterator],hue=n=>n&&"function"==typeof n[Symbol.asyncIterator],H0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,dz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Ff(n,"null loader"),Ff(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=Zc.global||Zc.self||Zc.window||{},yue="object"!=typeof process||"[object process]"!==String(process)||process.browser,hz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);hz&&parseFloat(hz[1]);const cO={};function bue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const vue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,wue=/^([-\w.]+\/[-\w.+]+)/;function Eue(n){const e=wue.exec(n);return e?e[1]:n}function fz(n){const e=vue.exec(n);return e?e[1]:""}const Sue=/\?.*/;function qS(n){if(H0(n)){const e=uO(n.url||"");return{url:e,type:Eue(n.headers.get("content-type")||"")||fz(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:fz(n)}:{url:"",type:""}}function xue(n){return H0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(Sue,"")}function pz(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){if(H0(n))return n;const e={},t=xue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield Tue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Cue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if(!n.ok){const e=yield Aue(n);throw new Error(e)}})).apply(this,arguments)}function Aue(n){return fO.apply(this,arguments)}function fO(){return(fO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Tue(n){return pO.apply(this,arguments)}function pO(){return(pO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Mue(n.slice(0,5))}`:null})).apply(this,arguments)}function Mue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const _z={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Oue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},_z),n.globalOptions};function Rue(n,e,t,i){return t=t||[],function(n,e){bz(n,null,_z,Oue,e);for(const t of e)bz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Due),wz(r,_O()),wz(r,e),r}(e,n,i)}function yz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>gz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:gz}function bz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)mz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Pue(a,r);mz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Pue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function wz(n,e){for(const t in e)t in e&&(n[t]=uz(e[t])&&uz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Lue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Bue=eu.global||eu.self||eu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,jue="undefined"!=typeof window&&void 0!==window.orientation,Ez="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(Ez&&parseFloat(Ez[1]),new Map);function Sz(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function xz(n,e=!0,t){const i=t||new Set;if(n)if(Cz(n))i.add(n);else if(Cz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)xz(n[r],e,i);return void 0===t?Array.from(i):[]}function Cz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class Az{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||xz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?Sz(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=Sz(n.source),vO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Hue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Gue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Hue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return Az.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},$ue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Gue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function que(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Yue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Kue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=oi(function*(n,e,t,i,r){const s=n.id,o=que(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Xue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Xue(n,e,t,i){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var Mz=Je(521);function Dz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Mz.toArrayBuffer?Mz.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function ede(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Iz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function tde(n){return CO.apply(this,arguments)}function CO(){return(CO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return ede(...e)})).apply(this,arguments)}const rde=262144;function Oz(n){this.wrapped=n}function G0(n){return new Oz(n)}function $0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Oz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new $0(n.apply(this,arguments))}}function MO(){return(MO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function hde(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return dde(n,e);if(em(n)&&(n=yield pz(n)),H0(n)){const r=n;return yield Cue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(dz(n)&&(n=ude(n,t)),due(n)||hue(n))return tde(n);throw new Error(OO)})).apply(this,arguments)}function pde(n,e,t=null){if(t)return t;const i=ot({fetch:yz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function gde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Nz=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Pz(n){const e=Nz();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const _de=/\.([^.]+)$/;function yde(n){return FO.apply(this,arguments)}function FO(){return(FO=oi(function*(n,e=[],t,i){if(!kz(n))return null;let r=Fz(n,e,Sn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Fz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Lz(n));return r})).apply(this,arguments)}function Fz(n,e=[],t,i){if(!kz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Nz()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&_de.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(xde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Bz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Bz(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Lz(n));return s}function kz(n){return!(n instanceof Response&&204===n.status)}function Lz(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function xde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Bz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const Fde={data:{type:"data",value:Nde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(ot({},r),{fetch:Sn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:W0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):W0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ui.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let q0=(()=>{class n extends cue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=iz(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=KU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Ui.DEFAULT&&(t=i.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=jU(t,i,r),h=iz(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ui.DEFAULT||t===Ui.LNGLAT||t===Ui.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Ule(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Pde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rjz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=A0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,jz)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=OU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&RU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&RU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Ple(n,e),transitionsChanged:Ole(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Ele(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new uue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Tle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Fde,n})(),Vz=(()=>{class n extends q0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H,_subLayerProps:U}=this.props,de={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H},Ae=U&&U[t.id],Pe=Ae&&Ae.updateTriggers,Be=t.id||"sublayer";if(Ae){const et=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Ae){const Ct=wt[vt]||et[vt];Ct&&"accessor"===Ct.type&&(Ae[vt]=this.getSubLayerAccessor(Ae[vt]))}}Object.assign(de,t,Ae),de.id="".concat(this.props.id,"-").concat(Be),de.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const et of C){const wt=et.getSubLayerProps.call(this,et);wt&&Object.assign(de,wt,{updateTriggers:Object.assign(de.updateTriggers,wt.updateTriggers)})}return de}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Lde=/([0-9]+\.?[0-9]*)(%|px)/;function KS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Lde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function XS(n,e){return n.relative?Math.round(n.position*e):n.position}function Y0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Y0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Y0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:XS(this._x,e),y:XS(this._y,t),width:XS(this._width,e),height:XS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=KS(e),this._y=KS(t),this._width=KS(i),this._height=KS(r)}}const K0=()=>{},Uz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Bde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},Uz),t),this.propsInTransition=null,this.transition=new L0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},Uz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const zz=["longitude","latitude","zoom","bearing","pitch"],Vde=["longitude","latitude","zoom"];class Hz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!T0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:zz,extract:zz,required:Vde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=vS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,vS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},Ude={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},ZS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Bde(e,Sn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(ot({},Ude),{transitionInterpolator:new Hz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:ZS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(ot({},t),{transitionInterpolator:new Hz(Sn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class Gz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class JS extends Gz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Hde extends zO{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Gde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const $de=(new qn).lookAt({eye:[0,0,1]});function Wde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class qde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(ot({},e),{longitude:null,position:a,viewMatrix:$de.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Wde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=VS([],e,VU([],j0(t,this.pixelUnprojectionMatrix)));return{target:VS([],this.center,r)}}}let Yde=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrthographicView",n})();const ex=Math.PI/180;function Kde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ex/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ex),"Z"===t?c.rotateZ(r*ex):c.rotateY(r*ex);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Xde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(ot({},e),{longitude:null,viewMatrix:Kde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Qde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(ot({},t),{orbitAxis:i,type:Xde}))}get controller(){return this._getControllerProps({type:Hde})}}return n.displayName="OrbitView",n})();const Zde=[255,255,255],Jde=1;let ehe=0;class $z{constructor(e={}){const{color:t=Zde}=e,{intensity:i=Jde}=e;this.id=e.id||"ambient-".concat(ehe++),this.color=t,this.intensity=i,this.type="ambient"}}const the=[255,255,255],nhe=1,ihe=[0,0,-1];let rhe=0;class Wz{constructor(e={}){const{color:t=the}=e,{intensity:i=nhe}=e,{direction:r=ihe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(rhe++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class qz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=Yz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||Yz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class lhe extends HO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const uhe=Object.keys(Ui).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Ui[n],";")).join(""),dhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),hhe="".concat(uhe,"\n").concat(dhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),fhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:hhe,getUniforms:function(n=fhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Ui.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ui.DEFAULT&&(i=n.isGeospatial?Ui.LNGLAT:Ui.CARTESIAN);const o=mce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||fce,o}(n):{}}},_he=kS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),yhe=kS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),bhe=[0,0,0,1],vhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||bhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=_he({viewport:n.viewport,center:e.project_uCenter}),r=[],s=yhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Che={color:[255,255,255],intensity:1},Kz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ahe=[0,0,0,200/255];class WO extends qz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=Ahe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Mhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Dhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=W0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ihe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Dhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ohe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],Rhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Nhe(n){const e=F0.getDefaultProgramManager(n);for(const t of Ohe)e.addDefaultModule(t);for(const t of Rhe)e.addShaderHook(t);return e}const khe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Lhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ihe({gl:e,protocol:"deck://"}),this.context=Sn(ot({},khe),{layerManager:this,gl:e,deck:t,programManager:e&&Nhe(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Xz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Bhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Y0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Vhe extends Gz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de,normalize:Ae}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Ae}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=HU(t+180,360)-180),(o<-180||o>180)&&(o=HU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Uhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Vhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let zhe=(()=>{class n extends UO{constructor(t){super(Sn(ot({},t),{type:nz}))}get controller(){return this._getControllerProps({type:Uhe})}}return n.displayName="MapView",n})();const Hhe=new WO;class Ghe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Y0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Hhe)}}class $he extends HO{}const Zz={blendFunc:[1,0,32771,0],blendEquation:32774};class Jz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Sn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Zz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(ot({},Zz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class qhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $he(e),this.pickLayersPass=new Jz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Yhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Khe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let C=0;C=0){const U=C+o-t,de=U*U+w;de<=u&&(u=de,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const C=w.decodePickingColor(m),H=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:C,pickedX:o+(h/4-H*l),pickedY:a+H}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Yhe}function e4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Qhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(w=>w.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=e4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=ot({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=t4({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function t4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Jhe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Jz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:e4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:w,height:C}=this.pickingFBO,H=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:C});let U;const de=[],Ae={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:H,width:w.x+w.width-g,height:m-H},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Be=Number.isFinite(c);for(let et=0;et=c);et++){const wt=Ae[et];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=t4({layer:wt.pickedLayer,info:vt,mode:l}),Pe.has(vt.object)||Pe.set(vt.object,vt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return bS(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const efe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class tfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,efe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function n4(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},i4=nu.global||nu.self||nu.window,ife="object"!=typeof process||"[object process]"!==String(process)||process.browser,r4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:rfe}=(r4&&parseFloat(r4[1]),i4),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,sfe=Boolean(rfe),KO=!!ife||sfe;function s4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function o4(n){switch(s4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const lfe=/^data:image\/svg\+xml/,cfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(lfe.test(n)||cfe.test(n))}function ufe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return l4(n,e)}function l4(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function c4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){const i=ufe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield dfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function dfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const hfe={};let u4=!0;function ffe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=oi(function*(n,e,t){let i;i=XO(t)?yield c4(n,e,t):l4(n,t);const r=e&&e.imagebitmap;return yield pfe(i,r)})).apply(this,arguments)}function pfe(n){return eR.apply(this,arguments)}function eR(){return(eR=oi(function*(n,e=null){if((gfe(e)||!u4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),u4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function gfe(n){for(const e in n||hfe)return!1;return!0}const iu=!1,X0=!0;function tR(n){const e=Q0(n);return function(n){const e=Q0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=Q0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,X0),height:e.getUint16(8,X0)}:null}(e)||function(n){const e=Q0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,X0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,X0),height:e.getUint32(22,X0)}:null}(e)}function Q0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function wfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=i4;return n4(i),i(n,t,e)}function nR(){return(nR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(Sfe(r)){case"imagebitmap":a=yield ffe(n,e,s);break;case"image":a=yield c4(n,e,s);break;case"data":a=yield wfe(n,e);break;default:n4(!1)}return"data"===r&&(a=o4(a)),a})).apply(this,arguments)}function Sfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(KO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||KO;case"imagebitmap":return YO;case"image":return qO;case"data":return KO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Cfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Z0="8.5.8",tx=nm.CO.deck&&nm.CO.deck.VERSION;if(tx&&tx!==Z0)throw new Error("deck.gl - multiple versions detected: ".concat(tx," vs ").concat(Z0));tx||(Ri.log(1,"deck.gl ".concat(Z0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:Z0,version:Z0,log:Ri,_registerLoggers:function(n){MI=n}}),Pz([Cfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Afe=nm.CO.deck;class nx extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=wV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const d4=yS()&&"undefined"!=typeof document;let kfe=0;class Lfe{constructor(e={}){const{onCreateContext:t=(C=>tV(C)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+kfe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(pn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nx.isSupported(this.gl,["timers"])?new nx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return pn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=d4?new Promise((e,t)=>{d4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(pn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(pn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Bfe=Je(524),ix=Je.n(Bfe);const jfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(ix().MouseInput);const Hfe=ix().Manager,ru=ix(),Gfe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,p4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},$fe={doubletap:["tap"]},Wfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},qfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},g4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Yfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let m4=!1;try{const n={get passive(){return m4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Kfe=-1!==Yfe.indexOf("firefox"),{WHEEL_EVENTS:Xfe}=sR,y4=4.000244140625;class Jfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Xfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!m4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Kfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%y4==0&&(t=Math.floor(t/y4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:epe}=sR,b4="pointermove",v4="pointerover",w4="pointerout",E4="pointerleave";class tpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=epe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===b4&&(this.enableMoveEvent=t),e===v4&&(this.enableOverEvent=t),e===w4&&(this.enableOutEvent=t),e===E4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:v4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:w4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:E4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:b4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:npe}=sR,S4="keydown";class ipe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=npe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===S4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:S4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const C4="contextmenu";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===C4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:C4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const spe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},A4={srcElement:"root",priority:0};class _pe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},A4,i):A4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&p4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Jfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new tpe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new ipe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new rpe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=$fe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=g4[e]||e;let c=a.get(l);c||(c=new _pe(this),a.set(l,c),c.recognizerName=qfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(g4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Wfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const T4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sx{constructor(e){e=ot(ot({},T4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!Y0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Lfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>tV(Sn(ot(ot({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new zhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new tfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Xz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in jj)this.eventManager.on(r,this._onEvent);this.viewManager=new Bhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Lhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Ghe,this.deckRenderer=new qhe(e),this.deckPicker=new Jhe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=jj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sx.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(qz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sx.defaultProps=T4,sx.VERSION=Afe.VERSION;const ox={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},Spe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},ax=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=Spe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),M4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return M4}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=M4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const D4=()=>{},Dpe={10241:9987,10240:9729,10242:33071,10243:33071};function Ipe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Ope(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function J0(n){return n&&(n.id||n.url)}function I4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(I4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&I4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ipe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Dpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=yV(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=C0(n);tn(p);const{gl:m,handle:w}=p,C=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const H=m.bindFramebuffer(36160,w);tn(e);let U=null;if(e instanceof Of&&(U=e,u=Number.isFinite(u)?u:U.width,h=Number.isFinite(h)?h:U.height,U.bind(0),e=U.target),C)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);U&&U.unbind(),m.bindFramebuffer(36160,H||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,W0(i.url,iR,this._loadOptions).then(r=>{const s=J0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Ope(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const O4=[0,0,0,255],kpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:O4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Lpe=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.state={iconManager:new Fpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:O4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=kpe,n})();const N4=[],jpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Vpe=(()=>{class n extends Lpe{getShaders(){return Sn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):N4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):N4}}return n.layerName="MultiIconLayer",n.defaultProps=jpe,n})();var Upe=Je(2),zpe=Je.n(Upe);const Gpe=[];function $pe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function P4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=P4(n,a,l,r);c+h>i&&(oi&&(h=F4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Kpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let w=0;w<=s;w++){const C=n[w];if(("\n"===C||w===s)&&(m=w),m>g){const H=c?Ype(n,t,i,r,g,m):Gpe;for(let U=0;U<=H.length;U++){const de=0===U?g:H[U-1],Ae=Ui===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),tge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function ige(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");W4(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:C}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:$pe(a+(l+1)*h)}}(ot({getFontWidth:H=>p.measureText(H).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const H=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(H,0,0)}if(W4(p,r,o,s),l){const H=new(zpe())(o,a,c,u,r,s),U=p.getImageData(0,0,H.size,H.size);for(const de of t)ige(H.draw(de),U),p.putImageData(U,g[de].x-a,g[de].y+a)}else for(const H of t)p.fillText(H,g[H].x,g[H].y+.9*o);return{xOffset:w,yOffset:C,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const age={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let lge=(()=>{class n extends q0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[ox,ax]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=age,n})();const q4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},Y4={start:1,middle:0,end:-1},K4={top:1,center:0,bottom:-1},cR=[0,0,0,255],uge=["fontSize","buffer","sdf","radius","cutoff"],dge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:L4},fontFamily:B4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let hge=(()=>{class n extends Vz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new rge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(ot(ot({},q4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return uge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=xS(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=k4(h,l,o,a,r);return[(Y4["function"==typeof c?c(t,i):c]-1)*p/2,(K4["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[w,C]}=k4(h,l,o,a,r),H=Y4["function"==typeof c?c(t,i):c],U=K4["function"==typeof u?u(t,i):u],de=p.length,Ae=new Array(2*de);let Pe=0;for(let Be=0;Bet*e/255)}const dR={name:"lights",vs:X4,fs:X4,getUniforms:function Q4(n=fge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return Q4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},gge={};const _ge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=gge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,lx=new Float32Array(16),e5=new Float32Array(12);function t5(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function n5(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const i5={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let w;g?(lx.set(a),w=n5(lx)):(w=e5,t5(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:C,objectInfo:H}=xS(i,e,t);for(const U of C){let de;H.index++,g?(lx.set(c?a:a(U,H)),de=n5(lx)):(de=e5,t5(de,h?r:r(U,H),u?s:s(U,H)),de.set(p?o:o(U,H),9)),m[w++]=de[0],m[w++]=de[1],m[w++]=de[2],m[w++]=de[3],m[w++]=de[4],m[w++]=de[5],m[w++]=de[6],m[w++]=de[7],m[w++]=de[8],m[w++]=de[9],m[w++]=de[10],m[w++]=de[11]}}}};function r5(n,e){return e===Ui.CARTESIAN||e===Ui.METER_OFFSETS||e===Ui.DEFAULT&&!n.isGeospatial}function s5(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function vge(n,e){if(n.attributes)return s5(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return s5(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const wge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Ege=(()=>{class n extends q0{getShaders(){const t=!Si(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[ox,_ge,ax],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:i5}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||r5(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:vge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=wge,n})();const o5={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class eb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;pn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof eb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function a5(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],w=t[3],C=t[4],H=t[5],U=t[6],de=t[7],Ae=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=w*i+C*o+H*c,n[4]=w*r+C*a+H*u,n[5]=w*s+C*l+H*h,n[6]=U*i+de*o+Ae*c,n[7]=U*r+de*a+Ae*u,n[8]=U*s+de*l+Ae*h,n}function l5(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function c5(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function u5(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function cx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function d5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function h5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function f5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function p5(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function tb(n,e,t,i){var p,g,m,w,C,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-i)*p)/m,C=Math.sin(i*p)/m):(w=1-i,C=i),n[0]=w*r+C*l,n[1]=w*s+C*c,n[2]=w*o+C*u,n[3]=w*a+C*h,n}function g5(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function m5(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var _5=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=kU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},y5=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},b5=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},v5=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},E5=function(){var n=CV(),e=AV(1,0,0),t=AV(0,1,0);return function(i,r,s){var o=TV(r,s);return o<-.999999?(M0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&M0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(M0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();c5(),c5(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Rge=[0,0,0,1];class _R extends wS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return u5(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get w(){return this[3]}set w(e){this[3]=ar(e)}len(){return b5(this)}lengthSquared(){return v5(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return E5(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return _5(this,this,e),this.check()}calculateW(){return p5(this,this),this.check()}conjugate(){return m5(this,this),this.check()}invert(){return g5(this,this),this.check()}lerp(e,t,i){return y5(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),cx(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),cx(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Rge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),ES(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Nge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Pge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function S5(n){if(!n._animation){const e=Pge[n.componentType],t=Nge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:pn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:S5(e.accessors[a]),interpolation:l,output:S5(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Uge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Hge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Gge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(pn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function x5(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Yge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Kge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Xge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Kge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new zge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new eb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new eb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new eb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){pn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Gge(n,e);pn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Hge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[o5],defines:a.defines,parameters:a.parameters,vs:x5(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:x5(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),pn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Yge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function C5(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=D5(D5(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function D5(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,I5,O5,R5,N5,P5,F5,k5;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class bR{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,I5=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[I5](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ome extends om{constructor(){super(!0,8)}}class ame extends om{constructor(){super(!0,16)}}class lme extends om{constructor(){super(!0,32)}}class cme extends om{constructor(){super(!1,8)}}class ume extends om{constructor(){super(!1,16)}}class dme extends om{constructor(){super(!1,32)}}O5=Symbol.toStringTag;class L5 extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[O5](){return"Float"}toString(){return`Float${this.precision}`}}class hme extends L5{constructor(){super(32)}}class fme extends L5{constructor(){super(64)}}Symbol,Symbol,R5=Symbol.toStringTag,N5=Symbol.toStringTag,P5=Symbol.toStringTag,F5=Symbol.toStringTag,k5=Symbol.toStringTag;class pme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[k5](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ux{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new ux(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function B5(n,e,t){const i=t?j5(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ome;case Uint8Array:return new cme;case Int16Array:return new ame;case Uint16Array:return new ume;case Int32Array:return new lme;case Uint32Array:return new dme;case Float32Array:return new hme;case Float64Array:return new fme;default:throw new Error("array type not supported")}}(e.value);return new ux(n,new pme(e.size,new ux("value",r)),!1,i)}function j5(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const V5={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},yme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class vme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=j5(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=B5(o,n[o],s[o]);r.push(l)}if(t){const o=B5("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dx=Je(125);const SR={};function xR(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n,e=null,t={}){return e&&(n=Cme(n,e,t)),SR[n]=SR[n]||Ame(n),yield SR[n]})).apply(this,arguments)}function Cme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Ame(n){return AR.apply(this,arguments)}function AR(){return(AR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):Tme(yield(yield fetch(n)).text(),n):dx.requireFromFile&&(yield dx.requireFromFile(n))})).apply(this,arguments)}function Tme(n,e){if(!yO)return dx.requireFromString&&dx.requireFromString(n,e);if(bO)return eval.call(Bue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Mme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let nb;function Rme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){const e=n.modules||{};return nb=e.draco3d?nb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):nb||Nme(n),yield nb})).apply(this,arguments)}function Nme(n){return DR.apply(this,arguments)}function DR(){return(DR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(Mme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(Dme,"draco",n),yield xR(Ime,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Pme(e,t)})).apply(this,arguments)}function Pme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=Sn(ot({},M5),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=oi(function*(n,e){const{draco:t}=yield Rme(e),i=new vme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function rb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Lme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+rb(i.byteLength,4)}const U5=["SCALAR","VEC2","VEC3","VEC4"],Bme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],jme=new Map(Bme),Vme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ume={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},zme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function z5(n){return U5[n-1]||U5[0]}function H5(n){const e=jme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function G5(n,e){const t=zme[n.componentType],i=Vme[n.type],s=n.count*i,o=n.count*i*Ume[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Hme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Hme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=G5(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:z5(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:H5(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Lme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*e_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function t_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(fx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fx)})).apply(this,arguments)}function n_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fx,{}),e.addExtension(fx))}function i_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function r_e(n){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function s_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(px);if(i){const r=a_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,px);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=l_e(s.technique,e)),e.removeObjectExtension(s,px)}e.removeExtension(px)}})).apply(this,arguments)}function o_e(n,e){return jR.apply(this,arguments)}function jR(){return(jR=oi(function*(n,e){})).apply(this,arguments)}function a_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function l_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const q5={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Tt,KHR_techniques_webgl:dt};function c_e(n){return VR.apply(this,arguments)}function VR(){return(VR=oi(function*(n,e={},t){for(const r in q5){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield q5[r].decode(n,e,t))}})).apply(this,arguments)}const Y5={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},d_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class h_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,$5);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension($5)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in Y5)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in Y5)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=d_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function f_e(n,e={}){return(new h_e).normalize(n,e)}const p_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},g_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},m_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},__e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class v_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return g_e[n]}(e.componentType),e.components=function(n){return p_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=G5(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):__e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return m_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function w_e(n,e){return(new v_e).postProcess(n,e)}const K5=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),rb(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),rb(i,4)}function N_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=oi(function*(n,e,t=0,i,r){var s,o,a,l;P_e(n,e,t,i),f_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield F_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=k_e(n,i,r);c.push(h)}const u=c_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?w_e(n,i):n})).apply(this,arguments)}function P_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=K5}=t,s=i.getUint32(e,!1);return s===r||s===K5}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?C5(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?C5(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function F_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield V_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function V_e(n){return XR.apply(this,arguments)}function XR(){return(XR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const X5=[255,255,255,255],H_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:X5},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let G_e=(()=>{class n extends q0{getShaders(){const t=[ox,ax];return"pbr"===this.props._lighting&&t.push(o5),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:X5,transition:!0},instanceModelMatrix:i5})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Xge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return KR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:r5(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=H_e,n})();class $_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const H=i;i=(U,de,Ae,Pe,Be)=>H}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let H=0;H<=e;H++)for(let U=0;U<=t;U++){const de=U/t,Ae=H/e,Pe=U+H*(t+1),Be=2*Pe,et=3*Pe,wt=c*de,vt=o*Ae,Ct=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),mt=Bt*$t,Vt=Math.cos(vt),ft=Ct*$t,qt=i(mt,Vt,ft,de,Ae);h[et+0]=qt*mt,h[et+1]=qt*Vt,h[et+2]=qt*ft,p[et+0]=mt,p[et+1]=Vt,p[et+2]=ft,g[Be+0]=de,g[Be+1]=1-Ae}const C=t+1;for(let H=0;Hs?(gt=i,$t=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,$t=0),gt-=i/2;for(let Vt=0;Vts?0:ft*w,et[vt+Pe[1]]=Bt<0?-1:Bt>s?1:C,et[vt+Pe[2]]=Bt<0||Bt>s?0:qt*w,wt[Ct+0]=Vt/r,wt[Ct+1]=$t,Ct+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new le){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new le){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new le){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new le){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new le){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=rye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=sye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Z5),Z5.almostEquals(e,t)}clone(){return new le(this.x,this.y,this.z)}}le.ZERO=void 0,le.UNIT_X=void 0,le.UNIT_Y=void 0,le.UNIT_Z=void 0,le.ZERO=new le(0,0,0),le.UNIT_X=new le(1,0,0),le.UNIT_Y=new le(0,1,0),le.UNIT_Z=new le(0,0,1);const rye=new le,sye=new le,Z5=new le;class gr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new le,this.upperBound=new le,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=e8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const J5=new le,e8=[new le,new le,new le,new le,new le,new le,new le,new le];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new le){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=aye;e.tangents(i,lye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new le){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,w,C,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-t)*p)/m,C=Math.sin(t*p)/m):(w=1-t,C=t),i.x=w*r+C*l,i.y=w*s+C*c,i.z=w*o+C*u,i.w=w*a+C*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const aye=new le,lye=new le,cye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let gn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=cye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new le,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new le){return i.vsub(e,r),t.conjugate(n8),n8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new le){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new le){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new le){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const n8=new hs;class Bf extends gn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:gn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new le;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new le,u=new le,h=new le,p=new le,g=new le,m=new le;let w=Number.MAX_VALUE;const C=this;if(C.uniqueAxes)for(let H=0;H!==C.uniqueAxes.length;H++){i.vmult(C.uniqueAxes[H],c);const U=C.testSepAxis(c,e,t,i,r,s);if(!1===U)return!1;U0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,QR),Bf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?mn.STATIC:mn.DYNAMIC,typeof e.type==typeof mn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=mn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new le,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new le,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new le,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new le,this.invInertia=new le,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new le,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new le(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new le(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new gr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new le,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=mn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===mn.SLEEPING&&this.dispatchEvent(mn.wakeupEvent)}sleep(){this.sleepState=mn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===mn.AWAKE&&ir?this.wakeUp():t===mn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(mn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===mn.SLEEPING||this.type===mn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new le){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new le){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new le,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=hye,o=fye,a=this.quaternion,l=this.aabb,c=pye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=gye,r=mye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=_ye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=yye,r=bye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===mn.DYNAMIC&&(this.sleepState===mn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;this.sleepState===mn.SLEEPING&&this.wakeUp();const i=t,r=vye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=wye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new le){if(this.type!==mn.DYNAMIC)return;const i=Eye,r=Sye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=xye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mx.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new le;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==mn.DYNAMIC&&this.type!==mn.KINEMATIC||this.sleepState===mn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,w=this.angularFactor,C=l.x*w.x,H=l.y*w.y,U=l.z*w.z;s.x+=e*(m[0]*C+m[1]*H+m[2]*U),s.y+=e*(m[3]*C+m[4]*H+m[5]*U),s.z+=e*(m[6]*C+m[7]*H+m[8]*U),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}mn.idCounter=0,mn.COLLIDE_EVENT_NAME="collide",mn.DYNAMIC=1,mn.STATIC=2,mn.KINEMATIC=4,mn.AWAKE=0,mn.SLEEPY=1,mn.SLEEPING=2,mn.wakeupEvent={type:"wakeup"},mn.sleepyEvent={type:"sleepy"},mn.sleepEvent={type:"sleep"};const hye=new le,fye=new hs,pye=new gr,gye=new su,mye=new su,_ye=new le,yye=new le,bye=new le,vye=new le,wye=new le,Eye=new le,Sye=new le,xye=new le;new le,new le;class _x{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new le,this.rayToWorld=new le,this.hitNormalWorld=new le,this.hitPointWorld=new le,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let i8,r8,s8,o8,a8,l8,c8;i8=gn.types.SPHERE,r8=gn.types.PLANE,s8=gn.types.BOX,o8=gn.types.CYLINDER,a8=gn.types.CONVEXPOLYHEDRON,l8=gn.types.HEIGHTFIELD,c8=gn.types.TRIMESH;class bs{get[i8](){return this._intersectSphere}get[r8](){return this._intersectPlane}get[s8](){return this._intersectBox}get[o8](){return this._intersectConvex}get[a8](){return this._intersectConvex}get[l8](){return this._intersectHeightfield}get[c8](){return this._intersectTrimesh}constructor(e=new le,t=new le){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new le,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new _x,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new _x,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(u8),nN.length=0,e.broadphase.aabbQuery(e,u8,nN),this.intersectBodies(nN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Oye,s=Rye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new le(0,0,1);t.vmult(c,c);const u=new le;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;C>=0&&C<=1&&(o.lerp(a,C,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Lye,l=h8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,C=m.distanceTo(this.to),H=c?c.length:u.length,U=this.result;for(let de=0;!U.shouldStop&&deC||this.reportIntersection(a,ba,s,r,Ae)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Bye,l=Gye,c=$ye,u=h8,h=jye,p=Vye,g=Uye,m=Hye,w=zye,C=e.indices,H=this.from,U=this.to,de=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,de,h),Wi.pointToLocalFrame(i,t,H,p),Wi.pointToLocalFrame(i,t,U,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Ae=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Be=l.length;!this.result.shouldStop&&Pe!==Be;Pe++){const et=l[Pe];e.getNormal(et,a),e.getVertex(C[3*et],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(C[3*et+1],au),e.getVertex(C[3*et+2],lu);const Ct=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||Ct>Ae||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(w,m,s,r,et))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function i6(){Pz([M5,cm])}function r6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oN(n,e){return Li(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),r6(n.scenegraphNode,r)})}function Wve(n,e){return Li(this,void 0,void 0,function*(){return r6(n,yield e)})}function aN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new $_e;break;case"cone":i=new K_e;break;case"cylinder":i=new X_e;break;case"cube":default:i=new nye}return new Ege(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ui.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function s6(n,e,t){if(e&&0!==e.length)return new hge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Yve=(()=>{class n extends Vz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),i6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new G_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Ui.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Wve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(s6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(s6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Li(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new gr({lowerBound:new le(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new le(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield W0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new gr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function o6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),o6(t,e);return e}let Xve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Yve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Yde({flipY:!1,near:-1e3}):new Qde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new $z({color:[255,255,255],intensity:10})})]),this.deck=new sx(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Li(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Li(this,void 0,void 0,function*(){i6();const i=yield oN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),p=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new gr({lowerBound:new le(...h.map((g,m)=>Math.min(g,p[m]))),upperBound:new le(...p.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of o6(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new le(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return or([Hf.ZP],n.prototype,"_onHover",null),or([Hf.ZP],n.prototype,"_onClick",null),or([Hf.ZP],n.prototype,"_onViewStateChange",null),or([Hf.ZP],n.prototype,"_onDragStart",null),or([Hf.ZP],n.prototype,"_onDrag",null),or([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Qve(n,e){return n===e}function Zve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cN=new Ht("INITIAL_STATE_TOKEN");let twe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const a6=new Ht("Internals.StateContextFactory"),l6=new Ht("Internals.StateFactory");function hb(...n){if(1===n.length){const e=n[0];if(P(e))return Tx(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Tx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Tx(n=1===n.length&&P(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return Tx(n,null)}function Tx(n,e){return new I(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Ji(n,e){return function(i){return i.lift(new nwe(n,e))}}class nwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new iwe(e,this.predicate,this.thisArg))}}class iwe extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const c6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Yi(n){return e=>0===n?uS():e.lift(new swe(n))}class swe{constructor(e){if(this.total=e,this.total<0)throw new c6}call(e,t){return t.subscribe(new owe(e,this.total))}}class owe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function u6(n,e){return e?t=>t.pipe(u6((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new awe(n))}class awe{constructor(e){this.project=e}call(e,t){return t.subscribe(new lwe(e,this.project))}}class lwe extends ve{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Mx(n=null){return e=>e.lift(new cwe(n))}class cwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new uwe(e,this.defaultValue))}}class uwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new dwe(n),r=t.lift(i);return i.caught=r}}class dwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new hwe(e,this.selector,this.caught))}}class hwe extends ve{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function mr(n){return e=>e.lift(new fwe(n))}class fwe{constructor(e){this.notifier=e}call(e,t){const i=new pwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class pwe extends ve{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new gwe(n,e,t))}}class gwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new mwe(e,this.nextOrObserver,this.error,this.complete))}}class mwe extends y{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new _we(n,e))}class _we{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new ywe(e,this.compare,this.keySelector))}}class ywe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let d6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(Wc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const h6=new Ht("ROOT_STATE_TOKEN"),f6=new Ht("FEATURE_STATE_TOKEN"),p6=new Ht("NGXS_PLUGINS"),g6=new Ht("NG_TEST_MODE"),m6=new Ht("NG_DEV_MODE"),sd="NGXS_META",_6="NGXS_OPTIONS_META",uN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=d6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class bwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const y6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const b6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Dx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dN=n=>n&&"object"==typeof n&&!Array.isArray(n),hN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dN(n)&&dN(t))for(const i in t)dN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hN(n,...e)};function fN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return fb(n)}function fb(n){return n[sd]}function gN(n){return n[uN]}function v6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ji(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Iwe(){return me(n=>n.action)}function Ix(n){return e=>new I(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Ox=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(y6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Nwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Rx=(()=>{class n extends Nwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pwe=(()=>{class n extends I{constructor(t,i){super(r=>{const s=t.pipe(Ix(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E6=n=>(...e)=>n.shift()(...e,(...i)=>E6(n)(...i));let Nx=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12),Oe(p6,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_N=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Ix(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?dn(this._stateStream.getValue()):hb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return E6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Ji(i=>i.action===t&&"DISPATCHED"!==i.status),Yi(1),$a())}createDispatchObservable(t){return t.pipe(u6(i=>{switch(i.status){case"SUCCESSFUL":return dn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Rx),Oe(_N),Oe(mN),Oe(Nx),Oe(Ox))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const x6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&x6(n[i])}),n};let C6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Oe(m6),Oe(g6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),A6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Oe(C6),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=x6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(S6),Oe(Gf),Oe(A6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Px=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Dx(l,t.path)}function s(l,c){const u=b6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=w6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Fx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=fb(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Fx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=Ax(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?v6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Fx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>b6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ji(t=>"DISPATCHED"===t.status),B(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),Mx({action:t,status:"CANCELED"}),bc(i=>dn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof I?(u=u.pipe(Mx({})),l.options.cancelUncompleted&&(u=u.pipe(mr(t.pipe(Twe(i)))))):u=dn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(dn({})),hb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Fx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Dx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Gf),Oe(n,12),Oe(Rx),Oe(_N),Oe(Px),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ji(()=>!!i),Yr(()=>this.invokeInit(i.states)),B(()=>this.bootstrapper.appBootstrapped$),Ji(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=w6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm),Oe(Px),Oe(lN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kx_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function kwe(n,e,t){const i=t&&t.containerClass,s=Ax(function(...c){const u=e.apply(i,c);return u instanceof Function?Ax.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uN)||Object.defineProperty(n,uN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kx_getOptions(n.containerClass)||{},kx_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&fb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>M6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function M6(n){const e=gN(n)||fb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?dn(void 0):Fg(r)}),rd(),Ix(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Ix(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return M6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Nx),Oe(gm),Oe(Gf),Oe(Ox),Oe(mm),Oe(cN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),pb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Uwe{static get type(){return"@@INIT"}}class zwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Lx=new kg(1);let Gwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Lx.next(t)}catch(n){Lx.next(!1)}finally{Lx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Uwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Oe(mm),Oe(gm),Oe(cu),Oe(pb),Oe(h6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})(),$we=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new zwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(gm),Oe(mm),Oe(f6,8),Oe(yN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:Gwe,providers:[mm,Px,Pwe,Rx,lN,A6,C6,yN,S6,_N,gm,Ox,cu,Nx,pb,mN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:$we,providers:[mm,mN,...e,{provide:f6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:g6,useValue:ewe},{provide:m6,useValue:Ba},{provide:y6,useClass:t.executionStrategy||d6},{provide:h6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:PE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[lN]},{provide:cN,useFactory:Wo.getInitialState},{provide:a6,useExisting:Px},{provide:l6,useExisting:mm}]}static ngxsConfigFactory(e){return hN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return twe.pop()}}function bN(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=fN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function D6(n){return i=>{!function(n){Lx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[_6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Fx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[_6]=a}}function Bx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?v6(t.length?[e,...t]:e.split("."),pb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!pb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return pb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=kwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=xt({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Qx=new uc(cS);class nSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new iSe(e,this.total))}}class iSe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Zx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof vn?n.nativeElement:n}let GN;try{GN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){GN=!1}let xb,qf,$N,er=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!GN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc))},n.\u0275prov=We({factory:function(){return new n(Oe(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==xb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>xb=!0}))}finally{xb=xb||!1}return xb}()?n:!!n.capture}function BH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function eC(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let YH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===XH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=XH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||KH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(er))},token:n,providedIn:"root"}),n})();function KH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function XH(n){if(!KH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class SSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(Yi(1)).subscribe(e)}}let QH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new SSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(YH),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(YH),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const eG=new Ht("cdk-input-modality-detector-options"),MSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let nG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},MSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new nSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn),Oe(eG,8))},token:n,providedIn:"root"}),n})();const sG=new Ht("cdk-focus-monitor-default-options"),iC=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return dn(null);const s=function(n){if(function(){if(null==$N){const n="undefined"!=typeof document?document.head:null;$N=!(!n||!n.createShadowRoot&&!n.attachShadow)}return $N}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,iC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(mr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,iC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,iC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(nG),Oe(hn,8),Oe(sG,8))},token:n,providedIn:"root"}),n})();const cG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Oe(cG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(cG,8))},token:n,providedIn:"root"}),n})();function rC(...n){return Nt(1)(dn(...n))}function ao(...n){const e=n[n.length-1];return Ce(e)?(n.pop(),t=>rC(n,t,e)):t=>rC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function fG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){fG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function gG(){return"undefined"!=typeof window&&void 0!==window.document}function QN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let tP=(n,e)=>!1,nP=(n,e)=>!1,yG=(n,e,t)=>[];const bG=QN();(bG||"undefined"!=typeof Element)&&(tP=gG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),nP=(()=>{if(bG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):nP}})(),yG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return iP(t)}matchesElement(t,i){return rP(t,i)}containsElement(t,i){return sP(t,i)}query(t,i,r){return oP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class sC{}sC.NOOP=new EG;function AG(n,e,t){return t?e+":"+t+";":""}function TG(n){let e="";for(let t=0;t{const r=dP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),QN()&&TG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=dP(t);n.style[i]=""}),QN()&&TG(n))}const zSe=/-+([a-z0-9])/g;function dP(n){return n.replace(zSe,(...e)=>e[1].toUpperCase())}function HSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Ib(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function AP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(me(r=>P(r)?i(...r):i(r))):new I(r=>{C$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function C$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let UCe=1;const zCe=Promise.resolve(),AC={};function A$(n){return n in AC&&(delete AC[n],!0)}const T$={setImmediate(n){const e=UCe++;return AC[e]=!0,zCe.then(()=>A$(e)&&n()),e},clearImmediate(n){A$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=T$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(T$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof I||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class qCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new YCe(e,this.durationSelector))}}class YCe extends ve{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function M$(n){return!P(n)&&n-parseFloat(n)+1>=0}function XCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=Qx){return function(n){return function(t){return t.lift(new qCe(n))}}(()=>function(n=0,e,t){let i=-1;return M$(e)?i=Number(e)<1?1:Number(e):Ce(e)&&(t=e),Ce(t)||(t=Qx),new I(r=>{const s=M$(n)?n:+n-t.now();return t.schedule(XCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let I$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new I(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):dn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ji(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Oe(fn),Oe(er),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(fn),Oe(er),Oe(hn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Oe(er),Oe(fn),Oe(hn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(er),Oe(fn),Oe(hn,8))},token:n,providedIn:"root"}),n})();class OP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class DC extends OP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends OP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class f1e extends OP{constructor(e){super(),this.element=e instanceof vn?e.nativeElement:e}}class IC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof DC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof f1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class p1e extends IC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends IC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(xe(wl),xe(Ns),xe(hn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[xn]}),n})();const L$=BH();class y1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),L$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),L$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class b1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class B${enable(){}disable(){}attach(){}}function RP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function j$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class v1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();RP(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let w1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new B$,this.close=o=>new b1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new y1e(this._viewportRuler,this._document),this.reposition=o=>new v1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(Mm),Oe(Dm),Oe(fn),Oe(hn))},token:n,providedIn:"root"}),n})();class RC{constructor(e){if(this.scrollStrategy=new B$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class E1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class S1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let V$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),x1e=(()=>{class n extends V${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn))},n.\u0275prov=We({factory:function(){return new n(Oe(hn))},token:n,providedIn:"root"}),n})(),C1e=(()=>{class n extends V${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Oe(hn),Oe(er))},n.\u0275prov=We({factory:function(){return new n(Oe(hn),Oe(er))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},U$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Nb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||U$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Zx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(mr(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const z$="cdk-overlay-connected-position-bounding-box",T1e=/([A-Za-z%]+)$/;class H${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new se,this._resizeSubscription=x.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(z$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(z$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=W$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,p,g),C=m*w;return{visibleArea:C,isCompletelyWithinViewport:s.width*s.height===C,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=G$(this._overlayRef.getConfig().minHeight),a=G$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=W$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:j$(e,i),isOriginOutsideView:RP(e,i),isOverlayClipped:j$(t,i),isOverlayOutsideView:RP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Zx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof vn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function G$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(T1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function W$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class M1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new H$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new E1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const q$="cdk-global-overlay-wrapper";class D1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(q$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(q$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let I1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new D1e}connectedTo(t,i,r){return new M1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new H$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},n.\u0275prov=We({factory:function(){return new n(Oe(Dm),Oe(hn),Oe(er),Oe(Nb))},token:n,providedIn:"root"}),n})(),O1e=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new RC(t);return o.direction=o.direction||this._directionality.value,new A1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+O1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new p1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Oe(w1e),Oe(Nb),Oe(wl),Oe(I1e),Oe(x1e),Oe(Wn),Oe(fn),Oe(hn),Oe(Il),Oe(Pg),Oe(C1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function l7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof fd?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class nTe{encodeKey(e){return E7(e)}encodeValue(e){return E7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const rTe=/%(\d[a-f0-9])/gi,sTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function E7(n){return encodeURIComponent(n).replace(rTe,(e,t)=>{var i;return null!==(i=sTe[t])&&void 0!==i?i:e})}function S7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new nTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(S7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(S7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class oTe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function x7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function C7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function A7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new oTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class PC extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function jP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=dn(s).pipe(function(n,e){return B(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Ji(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,jP(r,i))}post(t,i,r={}){return this.request("POST",t,jP(r,i))}put(t,i,r={}){return this.request("PUT",t,jP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Oe(v7))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mTe=["*"];function R7(n){return Error(`Unable to find icon with the name "${n}"`)}function N7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function P7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let FC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw P7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw P7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw N7(t);const r=this._cachedIconsByUrl.get(i);return r?dn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=F7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(R7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?dn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?dn(r):hb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),dn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw R7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?dn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new eTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(F7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),k7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],xTe=k7.map(n=>`[${n}]`).join(", "),CTe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends vTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=x.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(xTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(CTe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(FC),Fo("aria-hidden"),xe(wTe),xe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Vi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[xn],ngContentSelectors:mTe,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function kTe(n,e){}class GP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const LTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let BTe=(()=>{class n extends IC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=eC(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=eC())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=eC();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(xe(vn),xe(QH),xe(Dr),xe(hn,8),xe(GP),xe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[xn]}),n})(),jTe=(()=>{class n extends BTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&gE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Vi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),yE("@dialogContainer",i._state))},features:[xn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,kTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[LTe.dialogContainer]}}),n})(),VTe=0;class LC{constructor(e,t,i="mat-dialog-"+VTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Ji(r=>"opened"===r.state),Yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ji(r=>"closed"===r.state),Yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ji(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),$P(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$P(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ji(t=>"closing"===t.state),Yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $P(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const j7=new Ht("MatDialogData"),UTe=new Ht("mat-dialog-default-options"),V7=new Ht("mat-dialog-scroll-strategy");let GTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new I(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):uS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new GP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new RC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:GP,useValue:i}]}),o=new DC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new DC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,wn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:dn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(xe(wc),xe(Wn),xe(void 0),xe(void 0),xe(Nb),xe(void 0),xe(xu),xe(xu),xe(Ht))},n.\u0275dir=Rt({type:n}),n})(),kb=(()=>{class n extends GTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,LC,jTe,j7)}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(Pg,8),Oe(UTe,8),Oe(V7),Oe(n,12),Oe(Nb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WTe=0,U7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+WTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(xe(LC,8),xe(vn),xe(kb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),z7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const qP=new Ht("CdkAccordion");let KTe=0,QTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=x.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+KTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(xe(qP,12),xe(Dr),xe(I$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:qP,useValue:void 0}])]}),n})();const JTe=["body"];function eMe(n,e){}const tMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],nMe=["mat-expansion-panel-header","*","mat-action-row"];function iMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const rMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],sMe=["mat-panel-title","mat-panel-description","*"],YP=new Ht("MAT_ACCORDION"),G7="225ms cubic-bezier(0.4,0.0,0.2,1)",$7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(G7))])};let oMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),aMe=0;const W7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let q7=(()=>{class n extends QTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+aMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Ji(()=>this.expanded&&!this._portal),Yi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(xe(YP,12),xe(Dr),xe(I$),xe(Ns),xe(hn),xe(Nl,8),xe(W7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();k3(r,new N3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}F3(r,jt(),t)}(r,oMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(JTe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:YP,useValue:void 0}]),xn,Hi],ngContentSelectors:nMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(tMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,eMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Vi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[$7.bodyExpansion]},changeDetection:0}),n})();class cMe{}const uMe=AP(cMe);let Y7=(()=>{class n extends uMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=x.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ji(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Ji(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ji(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(xe(q7,1),xe(vn),xe(du),xe(Dr),xe(W7,8),xe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Vi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Uy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[xn],ngContentSelectors:sMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(rMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,iMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[$7.indicatorRotate]},changeDetection:0}),n})();var K7=Je(478);Object.create(Error.prototype);const gMe=["*"];var jC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(jC||(jC={})),jC))();class _Me{}const Q7=new Ht("SECURITY_CONTEXT");let KP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new K7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=K7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc),Oe(Q7),Oe(ip,8),Oe(_Me,8),Oe(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Z7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,jC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sP(i)?t(...i):t(i))):new I(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new xMe(n,t))}}class xMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new CMe(e,this.observables,this.project))}}class CMe extends c7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class AMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new TMe(e,this.accumulator,this.seed,this.hasSeed))}}class TMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class IMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new OMe(e,this.predicate))}}class OMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const RMe=["youtubeContainer"];let nW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=dn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Yi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(XP(Yo([i,r])),me(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,dn(o)]).pipe(function(n){return ce(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&P(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new h7(e))}(n),function(n){return e=>e.lift(new IMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new AMe(n,e,t))}}(BMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),B(e=>e?iW(e)?dn(e):new I(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{iW(r)||r.destroy()})(e)}}).pipe(Yi(1),ao(void 0)):dn(void 0)),mr(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(ZP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(ZP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(ZP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XP(Yo([n,e,o,r])),me(([u,h])=>h),mr(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?J7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):dn()),i=>new I(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),mr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(xe(fn),xe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(RMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function BMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function iW(n){return"getPlayerStatus"in n}function ZP(n,e){return ce(XP(n),Ji(([t,i])=>e(i,t)),me(([t])=>t))}let YMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Bb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function JP(n){return Boolean(n)}function aW(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const UC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&UC(n[o])}),n};function lW(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const dW="NGXS_DATA_META",tF="NGXS_META",hW="NGXS_ARGUMENT_REGISTRY_META";let fW=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function jb(n){return n[dW]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(fW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(l6),Oe(a6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=jb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=We({token:ps,factory:ps.\u0275fac}),new kg(1);class gDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function pW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function gW(n){var e;const t=pW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=aW(void 0===t.defaults?{}:t.defaults);if(i.length){if(lW(s))return function(n,e){return e.reduce((t,i)=>{const r=pW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=gW(i),t},null!=n?n:{})}(s,i);throw new gDe(s)}return s}function _W(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function yW(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function bDe(n){let e=!1;return Tm(n)&&(e=!0),e}function nF(n){return n[hW]}class vDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class wDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(JP(this.argumentMap.has(e))||JP(this.payloadMap.has(e)))throw new vDe(e,t)}}function TDe(n){return{enumerable:!0,configurable:!0,get(){const e=jb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function bW(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(lW(i))for(;null!==i;){if(Bb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(_W(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),_W(n)}(this),o=null==s?void 0:s.get(i);if(Bb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==yW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:yW(),isObservable:bDe(l)}),l}return o.value},t}}const NDe={cancelUncompleted:!0,insideZone:!1};function iF(n=NDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=nF(r);if(Xa(h)){const U=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),de=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var U;return Bb(n.insideZone)?null===(U=Za.ngZone)||void 0===U||U.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?dn(null).pipe(me(()=>l)):l};const C=ps.createAction(h,o,g),H=Za.store.dispatch(C);return Tm(l)?function(n,e){return hb([n,e]).pipe(me(t=>t.pop()))}(H,l):l},i}}function vW(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(nF(t))&&Object.defineProperties(t,{[hW]:{enumerable:!0,configurable:!0,value:new wDe}}),nF(t)})(e,t).createPayloadType(r,t,i)}}function FDe(){return n=>{const e=function(n){if(function(n){return!JP(n)}(n.hasOwnProperty(tF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,tF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[tF]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=jb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,dW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),jb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>aW(t)},context:TDe(n)})}(n,e,gW(n)),function(n){var e,t;const i=jb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(me(o=>Ba()?UC(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let LDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),BDe=(()=>{class n extends LDe{get snapshot(){return function(n){return Ba()?UC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?UC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),or([iF(),Tj(0,vW("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),or([iF(),Tj(0,vW("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),or([iF(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),AF=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),QOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(AF))}),TF=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(AF),Fc(QOe))});let MF=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(jm),Oe(hn),Oe(TF))},n.\u0275prov=We({factory:function(){return new n(Oe(jm),Oe(hn),Oe(TF))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class D9 extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function yRe(){throw new D9}function bRe(){throw new D9}function OF(n,e,t){e.run(()=>n.dispatch(t))}function ERe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(OF(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(mr(i.cancelUncompleted$))),t.subscribe({next:r=>OF(n,e,r)}),t}(n,e,t,i):(OF(n,e,t),t)}class SRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const RF="\u0275fac",I9=Symbol("InjectorInstance"),O9=Symbol("FactoryHasBeenDecorated");function R9(n,e){const t=n[I9];return t?t.get(e):null}const ARe={cancelUncompleted:!1};function N9(n=ARe){return(e,t,i)=>{let r;const s=function(n){return n?new SRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=R9(this,cu)||yRe(),l=R9(this,fn)||bRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>ERe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(O9 in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[RF]&&function(n){const e=n[RF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[I9]=xe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,RF,{get:()=>i})}(e),n.constructor.prototype[O9]=!0}(e)}}const eNe=["bodyCanvas"];let tNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Li(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Xve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(eNe,5,vn),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),nNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[qr]]}),n})();function wNe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),mE("videoId",t.videoID)}}function ENe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,wNe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function SNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,ENe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let $9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(xe(LC),xe(j7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,SNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[U7,Nm,z7,Af,lc,q7,Y7,Z7,nW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),W9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Oe(ip))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),CNe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[U7,Nm,YMe,z7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Xb=(()=>{let n=class extends BDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ji(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(l7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(l7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=rr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),or([bW()],n.prototype,"config$",null),n=or([FDe(),D6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let kF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),LF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),BF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var jF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const K9="callToActionPopupShown";let Do=jF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(K9,`${i}`),s=jF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new LF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open($9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(RNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(K9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(Oe(kb),Oe(MF),Oe(wa),Oe(W9),Oe(ip))},Do.\u0275prov=We({token:Do,factory:Do.\u0275fac}),or([bN(kF)],Do.prototype,"learnMore",null),or([bN(LF)],Do.prototype,"open",null),or([bN(BF)],Do.prototype,"close",null),Do=jF=or([D6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let l1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return or([_m([Do])],n,"title",null),or([_m([Do])],n,"message",null),or([_m([Do])],n,"callToAction",null),or([_m([Do])],n,"imageUrl",null),or([_m([Do])],n,"expirationDate",null),or([_m([Do])],n,"popupShown",null),n})(),RNe=(()=>{class n{constructor(){this.close=()=>new BF,this.learnMore=()=>new kF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[CNe],pipes:[p0],styles:[""],changeDetection:0}),or([Bx(l1.title)],n.prototype,"title$",void 0),or([Bx(l1.message)],n.prototype,"message$",void 0),or([Bx(l1.callToAction)],n.prototype,"callToAction$",void 0),or([Bx(l1.imageUrl)],n.prototype,"imageUrl$",void 0),or([N9()],n.prototype,"close",void 0),or([N9()],n.prototype,"learnMore",void 0),n})();const X9="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",LNe=[173,255,47,229.5];var En=Je(440),zNe=Je(698),HNe=Je(445),GNe=Je.n(HNe),_r=Je(815),Qb=Je(609);const Pi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),Vm=(Pi("rdf"),Pi("rdf")("type"),{x:Pi("rdfs"),label:Pi("rdfs")("label"),comment:Pi("rdfs")("comment"),isDefinedBy:Pi("rdfs")("isDefinedBy"),seeAlso:Pi("rdfs")("seeAlso")}),co_label=(Pi("entity"),Pi("entity")("id"),Vm.label),co_description=Vm.comment,co_link=Vm.seeAlso,co_providerName=(Pi("entity")("sex"),Pi("entity")("age"),Pi("entity")("bmi"),En.DataFactory.literal("Male"),En.DataFactory.literal("Female"),Pi("entity")("consortium_name"),Pi("entity")("provider_name")),co_donor=(Pi("entity")("provider_uuid"),Pi("entity")("has_donor")),co_sections=Pi("entity")("has_tissue_section"),co_datasets=Pi("entity")("has_dataset"),co_sampleType=Pi("entity")("sample_type"),co_sectionCount=(En.DataFactory.literal("Tissue Block"),En.DataFactory.literal("Tissue Section"),En.DataFactory.literal("Non-standard"),Pi("entity")("section_count")),co_sectionSize=Pi("entity")("section_size"),co_sectionUnits=Pi("entity")("section_units"),co_sectionNumber=Pi("entity")("section_number"),co_spatialEntity=Pi("entity")("has_spatial_entity"),co_technology=(Pi("entity")("has_ontology_term"),Pi("entity")("has_cell_type_term"),Pi("entity")("technology")),co_thumbnail=Pi("entity")("has_thumbnail"),An=Pi("ccf"),md={x:An,ontologyNode:{label:An("ccf_preferred_label"),parent:An("ccf_part_of"),children:An("ccf_part_of"),rui_rank:An("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:An("ccf_part_of"),ct_is_a:An("ct_is_a"),located_in:An("located_in"),characterizes:An("characterizes")},spatial:{Female:An("VHFemale"),Male:An("VHMale"),BothSexes:An("VHBothSexes"),FemaleOrgans:An("VHFemaleOrgans"),MaleOrgans:An("VHMaleOrgans")},SpatialObjectReference:An("SpatialObjectReference"),SpatialEntity:An("SpatialEntity"),SpatialPlacement:An("SpatialPlacement"),spatialObjectReference:{file:An("has_object_file"),file_format:An("has_object_file_format"),file_subpath:An("has_object_file_subpath")},extractionSet:{label:Vm.label,rui_rank:An("ccf_rui_rank")},spatialEntity:{label:Vm.label,comment:Vm.comment,creator:Pi("dc")("creator"),creator_first_name:An("creator_first_name"),creator_last_name:An("creator_last_name"),creator_orcid:An("creator_orcid"),creation_date:An("creation_date"),updated_date:An("updated_date"),ccf_annotations:An("ccf_annotation"),representation_of:An("ccf_representation_of"),reference_organ:An("anatomical_structure_of"),extraction_set_for:An("extraction_set_for"),extraction_set:An("extraction_site_for"),sex:An("has_sex"),side:An("has_side"),rui_rank:An("ccf_rui_rank"),slice_thickness:An("ccf_slice_thickness"),slice_count:An("ccf_slice_count"),x_dimension:An("has_x_dimension"),y_dimension:An("has_y_dimension"),z_dimension:An("has_z_dimension"),dimension_units:An("has_dimension_units"),object:An("has_object_reference")},spatialPlacement:{source:An("has_placement_source"),target:An("has_placement_target"),placement_date:An("has_placement_date"),x_scaling:An("has_x_scaling"),y_scaling:An("has_y_scaling"),z_scaling:An("has_z_scaling"),scaling_units:An("has_scaling_units"),x_rotation:An("has_x_rotation"),y_rotation:An("has_y_rotation"),z_rotation:An("has_z_rotation"),w_rotation:An("has_theta_rotation"),rotation_order:An("has_rotation_order"),rotation_units:An("has_rotation_units"),x_translation:An("has_x_translation"),y_translation:An("has_y_translation"),z_translation:An("has_z_translation"),translation_units:An("has_translation_units")}},ui={x:Pi("uberon"),body:Pi("uberon")("0013702")},qNe={x:Pi("cl"),cell:Pi("cl")("0000000")},Zb={x:Pi("fma")},Q9=(Pi("lmha"),{body:ui.body,cell:qNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function VF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}VF(md.spatialObjectReference),VF(md.spatialEntity),VF(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const Hm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function lPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function ev(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return aq.copy(o).scale((-i+l)/a).add(t),this.center.copy(aq),this.radius=l,this}expand(e){const t=(e=tv.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(tv,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=tv.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Hm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return d5(this,this,e),this.check()}rotateY(e){return h5(this,this,e),this.check()}rotateZ(e){return f5(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return tb(this,e,t,i),this.check()}transformVector4(e,t=e){return LU(t,e,this),nq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const CPe=new Pn,APe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,TPe=new Pn,MPe=new Pn;class WF{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new cq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new cq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new WF(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new $F){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=CPe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Hm.OUTSIDE:c>=l?Hm.INSIDE:Hm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=APe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=TPe.copy(l).add(c).add(u).add(o),p=MPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const uq=new Pn,dq=new Pn;class qF{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=uq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(ev(this.normal.len(),1)),this.distance=r,this}clone(e){return new qF(this.normal,this.distance)}equals(e){return ev(this.distance,e.distance)&&ev(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=dq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=uq.from(e);const i=this.getPointDistance(e),r=dq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function yFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new qF(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,_r.memoize)(function(n){const e=function(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=yFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}(n,Q9.body.id,"body",md.asctb.part_of.id);return e.nodes[Q9.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const m1={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},m1),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},m1),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},m1),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let e2;function Sc(){return e2||(e2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),e2}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const _1="Unknown Euler angle order",Wm=.99999;class tr extends wS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return tr.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return tr.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=tr.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new tr(p,g,m,tr.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ar(e)}get y(){return this[1]}set y(e){this[1]=ar(e)}get z(){return this[2]}set z(e){this[2]=ar(e)}get alpha(){return this[0]}set alpha(e){this[0]=ar(e)}get beta(){return this[1]}set beta(e){this[1]=ar(e)}get gamma(){return this[2]}set gamma(e){this[2]=ar(e)}get phi(){return this[0]}set phi(e){this[0]=ar(e)}get theta(){return this[1]}set theta(e){this[1]=ar(e)}get psi(){return this[2]}set psi(e){this[2]=ar(e)}get roll(){return this[0]}set roll(e){this[0]=ar(e)}get pitch(){return this[1]}set pitch(e){this[1]=ar(e)}get yaw(){return this[2]}set yaw(e){this[2]=ar(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(_1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,tr.ZYX)}fromRotationMatrix(e,t=tr.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case tr.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case tr.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case tr.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case tr.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case tr.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case tr.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(_1)}}_fromRotationMatrix(e,t=tr.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case tr.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!LFe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*r2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,En.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Qb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,En.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Qb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const Fi=En.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},En.DataFactory),wq={x:Fi("rdf"),type:Fi("rdf")("type")},qm={x:Fi("rdfs"),label:Fi("rdfs")("label"),comment:Fi("rdfs")("comment"),isDefinedBy:Fi("rdfs")("isDefinedBy"),seeAlso:Fi("rdfs")("seeAlso")},yi={x:Fi("entity"),id:Fi("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Fi("entity")("sex"),age:Fi("entity")("age"),bmi:Fi("entity")("bmi"),Male:En.DataFactory.literal("Male"),Female:En.DataFactory.literal("Female"),consortiumName:Fi("entity")("consortium_name"),providerName:Fi("entity")("provider_name"),providerUUID:Fi("entity")("provider_uuid"),donor:Fi("entity")("has_donor"),sections:Fi("entity")("has_tissue_section"),datasets:Fi("entity")("has_dataset"),sampleType:Fi("entity")("sample_type"),TissueBlock:En.DataFactory.literal("Tissue Block"),TissueSection:En.DataFactory.literal("Tissue Section"),NonStandard:En.DataFactory.literal("Non-standard"),sectionCount:Fi("entity")("section_count"),sectionSize:Fi("entity")("section_size"),sectionUnits:Fi("entity")("section_units"),sectionNumber:Fi("entity")("section_number"),spatialEntity:Fi("entity")("has_spatial_entity"),ontologyTerms:Fi("entity")("has_ontology_term"),cellTypeTerms:Fi("entity")("has_cell_type_term"),technology:Fi("entity")("technology"),thumbnail:Fi("entity")("has_thumbnail")},Tn=Fi("ccf"),Bi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:En.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Fi("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Fi("uberon"),body:Fi("uberon")("0013702")},HFe={x:Fi("cl"),cell:Fi("cl")("0000000")},rv={x:Fi("fma")},bd=(Fi("lmha"),{body:di.body,cell:HFe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:rv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:rv.x("24978"),knee_right:rv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:rv.x("7214"),ovary_right:rv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function s2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const b1={spatialObjectReference:s2(Bi.spatialObjectReference),spatialEntity:s2(Bi.spatialEntity),spatialPlacement:s2(Bi.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",b1.spatialEntity);return t.extractionSites=(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",b1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",b1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Bi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function YFe(n,e){const t=dp(n,e,"SpatialPlacement",b1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(SV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new zNe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,Bi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,Bi.SpatialEntity,null);const t={};for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,En.readQuads)(e,null,Bi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=GNe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,YFe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,_r.get)(e,"placement[0]",(0,_r.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new tr).fromRotationMatrix(s,tr.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(bse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${UFe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,_r.sortBy)(n.getSubjects(Bi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Bi.spatialEntity.reference_organ,null,null),(0,_r.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Bi.spatial.Male.id;break;case"Female":t=Bi.spatial.Female.id;break;case"Both":default:t=Bi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Bi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Bi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(SV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const v1="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),XFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class JFe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Be=>"Donor"===Be.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=v1+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},C=[];this.sections=C;const H=[];this.datasets=H;for(const Be of c.filter(et=>"Sample"===et.entity_type)){const et=this.getSection(Be,e,i);w[Be.submission_id]=et,C.push(et),et.section_number=null!==(s=et.section_number)&&void 0!==s?s:C.length}for(const Be of c)if("Dataset"===Be.entity_type){const et=this.getDataset(Be,t,i,r),wt=(0,_r.get)(Be,["ingest_metadata","metadata","tissue_id"]);w[wt]?null===(o=w[wt].datasets)||void 0===o||o.push(et):H.push(et)}const U=null!=h?h:{},de=`${U.x_dimension} x ${U.y_dimension} x ${U.z_dimension} ${U.dimension_units}`;this.section_count=U.slice_count||C.length;const Ae=parseFloat((U.slice_thickness||(U.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Ae;const Pe=U.dimension_units||"millimeter";this.section_units=Pe,this.description=`${de}, ${Ae} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,C.forEach((Be,et)=>{Be.description=`${U.x_dimension} x ${U.y_dimension} x ${Ae} ${Pe}, ${Ae} ${Pe}, ${Be.description}`,Be.section_number=et+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":v1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,_r.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":v1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,_r.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=XFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,_r.toNumber)(s[1]));for(const p of(0,_r.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,_r.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,_r.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":v1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,_r.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,_r.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,_r.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,_r.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const t2e=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],n2e={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:n2e,_source:{includes:t2e}})}function o2(n,e){return Li(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Li(this,void 0,void 0,function*(){let o;if("static"===e?o=yield o2(n):"search-api"===e&&(o=yield function(n,e,t){return Li(this,void 0,void 0,function*(){const i=250,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,i,t),o=yield o2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,_r.get)(n,"hits.hits",[]).map(c=>(0,_r.get)(c,"_source",{})).map(c=>new JFe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function sv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,En.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const l2e={[Bi.spatialEntity.x_dimension.id]:"x",[Bi.spatialEntity.y_dimension.id]:"y",[Bi.spatialEntity.z_dimension.id]:"z"};function u2e(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",l2e);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new tr).fromRotationMatrix(r,tr.XYZ).toQuaternion().normalize().calculateW();s=(new WF).fromCenterHalfSizeQuaternion(o,a,l)}return s}function d2e(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=u2e(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function w1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function a2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,En.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ov(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.namedNode(r);n.forSubjects(ov(e,i),Bi.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,En.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,En.readQuads)(e,r,Bi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function A2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Bi.ontologyNode.label.id]:"label",[t]:"parent",[Bi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of r2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,En.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=A2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const Nq=(0,_r.memoize)(function(n){const e=Rq(n,bd.body.id,"body",Bi.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),E1={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},D2e=Object.assign(Object.assign({},E1),{[yi.providerName.id]:"providerName"}),I2e=Object.assign(Object.assign({},E1),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),O2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),R2e=Object.assign(Object.assign({},E1),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function N2e(n,e){return dp(n,e,"Donor",D2e)}function Pq(n,e){return dp(n,e,"Dataset",I2e)}function P2e(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of r2(n,e,O2e))if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]=r;return t}class k2e{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Li(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const B2e={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class j2e{constructor(e=B2e){this.options=e,this.store=new En.Store(void 0,{factory:En.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Li(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Li(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield vq(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([i,t]).catch(()=>{}):s=yield vq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Li(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,En.deserializeN3Store)(s,En.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,En.deserializeN3Store)(o,En.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Li(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Li(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,En.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,En.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,En.addRdfXmlToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i):yield(0,En.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Li(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Nq(n),s=new Map;for(const{subject:o,object:a}of(0,En.readQuads)(n,null,Bi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>En.DataFactory.namedNode(u)))}for(const{object:o}of(0,En.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,En.readQuads)(n,null,Bi.spatialPlacement.source,o,null))for(const{object:l}of(0,En.readQuads)(n,a,Bi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(En.DataFactory.namedNode(o.id),Bi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,En.serializeN3Store)(this.store)}deserialize(e){return Li(this,void 0,void 0,function*(){this.store=(0,En.deserializeN3Store)(e,En.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ov(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=w1(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(ov(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=w1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,En.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,En.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=En.DataFactory.literal(r);n.forSubjects(ov(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=a2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)d2e(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=a2(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=a2(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Bi.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,_r.isFinite)(t.ageRange[0])&&(0,_r.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.age,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,_r.isFinite)(t.bmiRange[0])&&(0,_r.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=w1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,En.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Qb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(En.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(En.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Li(this,void 0,void 0,function*(){return this.status||(this.status=new k2e(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Li(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,En.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Li(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of r2(n,e,R2e))if("sections"===i){const s=P2e(n,r);t[i].push(s)}else if("datasets"===i){const s=Pq(n,r);t[i].push(s)}else t[i]="donor"===i?N2e(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t=sv(e,n,yi.donor.id),i=sv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,En.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=sv(e,r,yi.sections.id),o=new Set([...sv(e,r,yi.datasets.id),...sv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Li(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,En.readQuads)(e,null,Bi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Li(this,void 0,void 0,function*(){return Nq(this.store)})}getCellTypeTreeModel(){return Li(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",Bi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Li(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Li(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Li(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function H2e(n,e){return n===e}let G2e=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new x,this.dataSource=i.getOption("data").pipe(me(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Ji(r=>Object.keys(r).length>0),me(r=>r),rd(H2e),Ir(r=>function(n,e){return new I(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Yi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Yi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Yi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Yi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Yi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Yi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Yi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Yi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Yi(1))}createDataSource(){return{source:new j2e,unsubscribe:()=>{}}}connectDataSource(t,i){return Li(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),y0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(Xb))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),$2e=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(me(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(me(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(me(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(me(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,LNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(me(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[X9];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return dn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[X9].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(Oe(Xb),Oe(G2e))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const W2e=["bodyUI"];let q2e=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Li(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Yi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe($2e),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(W2e,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[tNe],pipes:[p0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function Y2e(n,e){if(1&n){const t=jt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function K2e(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let X2e=(()=>{class n extends wie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},y0.dbOptions),globalThis.dbOptions),parse:{data:K2e}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(xe(Xb),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[xn],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,Y2e,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,q2e],encapsulation:2,changeDetection:0}),n})(),Q2e=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,fW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(ps,2),Oe(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const A1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class eke{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return A1(n.getHours(),2)+":"+A1(n.getMinutes(),2)+":"+A1(n.getSeconds(),2)+"."+A1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class tke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Fq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let nke=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new tke(this._options),this._store=this._store||this._injector.get(cu);const s=new eke(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Fq),Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const kq=new Ht("LOGGER_USER_OPTIONS");function ike(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let rke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:p6,useClass:nke,multi:!0},{provide:kq,useValue:t},{provide:Fq,useFactory:ike,deps:[kq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const ske=[Xb];let oke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[Q2e.forRoot(),Wo.forRoot(ske,{developmentMode:!y0.production}),rke.forRoot({disabled:y0.production})]]}),n})(),ake=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new gie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends _ie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(X2e,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[],imports:[[YD,oke,nNe]]}),n})();y0.production&&function(){if(cB)throw new Error("Cannot enable prod mode after platform setup.");lB=!1}(),Bne().bootstrapModule(ake).catch(n=>console.error(n))},52:Ut=>{function it(yt,ee,Tt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(P){return void Tt(P)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Tt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Tt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},948:Ut=>{Ut.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},321:Ut=>{function it(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(Je)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},380:Ut=>{function it(Je){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+Je+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=380,Ut.exports=it},521:()=>{},125:()=>{},307:()=>{}},Ut=>{Ut(Ut.s=935)}]); \ No newline at end of file diff --git a/docs/ccf-database/interfaces/SearchResultJson.html b/docs/ccf-database/interfaces/SearchResultJson.html index 01674bab7..261df901b 100644 --- a/docs/ccf-database/interfaces/SearchResultJson.html +++ b/docs/ccf-database/interfaces/SearchResultJson.html @@ -154,13 +154,32 @@

    Properties

    // Reduce this value if including more data fields -const PER_API_SEARCH_REQUEST_COUNT = 50; +const PER_API_SEARCH_REQUEST_COUNT = 250; const INCLUDED_DATA_FIELDS = [ 'uuid', 'entity_type', 'group_uuid', 'group_name', 'last_modified_timestamp', 'created_by_user_displayname', - 'ancestors', 'descendants', + 'ancestors.entity_type', + 'ancestors.description', + 'ancestors.metadata.organ_donor_data.preferred_term', + 'ancestors.metadata.organ_donor_data.data_value', + 'ancestors.last_modified_timestamp', + 'ancestors.group_uuid', + 'ancestors.group_name', + 'ancestors.created_by_user_displayname', + 'ancestors.uuid', + 'descendants.entity_type', + 'descendants.ingest_metadata.metadata.tissue_id', + 'descendants.last_modified_timestamp', + 'descendants.group_uuid', + 'descendants.group_name', + 'descendants.created_by_user_displayname', + 'descendants.uuid', + 'descendants.data_types', + 'descendants.ingest_metadata.metadata.assay_type', + 'descendants.thumbnail_file', + 'descendants.metadata.files.rel_path', 'rui_location', 'specimen_type' ]; diff --git a/docs/ccf-database/js/search/search_index.js b/docs/ccf-database/js/search/search_index.js index d1f034852..94252b77f 100644 --- a/docs/ccf-database/js/search/search_index.js +++ b/docs/ccf-database/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AggregateResult.html",[0,0.246,1,0.813]],["body/interfaces/AggregateResult.html",[0,0.478,1,1.094,2,0.254,3,0.254,4,0.293,5,0.216,6,0.216,7,0.941,8,1.038,9,1.576,10,1.094,11,0.028,12,0.296,13,0.456,14,1.707,15,1.068,16,0.609,17,0.032,18,0.44,19,0.359,20,1.094,21,1.394,22,1.094,23,0.657,24,0.737,25,1.34,26,0.774,27,0.941,28,0.941,29,0.868,30,1.02,31,1.02,32,1.394,33,0.941,34,1.02,35,0.941,36,0.941,37,1.02,38,1.02,39,0.62,40,0.8,41,0.941,42,1.02,43,0.941,44,1.02,45,0.941,46,0.904,47,1.522,48,0.948,49,0.604,50,1.187,51,1.187,52,0.868,53,1.454,54,1.187,55,1.038,56,0.819,57,0.819,58,0.941,59,0.421,60,0.941,61,1.394,62,1.352,63,1.094,64,0.467,65,0.376,66,1.02,67,1.287,68,1.563,69,1.571,70,1.187,71,1.576,72,1.287,73,1.394,74,1.187,75,1.02,76,1.576,77,1.352,78,1.294,79,0.941,80,1.34,81,1.466,82,0.8,83,1.394,84,0.941,85,1.466,86,1.02,87,0.941,88,0.62,89,1.02,90,1.787,91,0.941,92,0.425,93,0.705,94,0.868,95,0.941,96,0.941,97,1.02,98,0.868,99,0.863,100,0.638,101,0.638,102,1.352,103,1.352,104,1.638,105,1.576,106,1.287,107,0.705,108,1.394,109,1.287,110,0.941,111,0.925,112,0.941,113,1.394,114,0.925,115,1.187,116,0.774,117,1.352,118,1.588,119,0.737,120,0.774,121,0.774,122,1.02,123,0.655,124,0.8,125,0.567,126,0.941,127,0.941,128,0.62,129,0.8,130,1.394,131,1.02,132,1.02,133,1.187,134,1.287,135,1.02,136,0.941,137,0.467,138,1.02,139,0.868,140,0.868,141,0.868,142,1.576,143,1.352,144,0.868,145,1.02,146,1.094,147,0.941,148,1.02,149,1.02,150,0.941,151,0.737,152,0.941,153,0.8,154,1.287,155,0.941,156,1.02,157,0.941,158,0.021,159,0.015]],["title/interfaces/CCFDatabaseOptions.html",[0,0.246,160,2.094]],["body/interfaces/CCFDatabaseOptions.html",[0,0.168,1,0.553,2,0.266,3,0.175,4,0.37,5,0.149,6,0.149,8,0.428,9,0.985,10,0.838,11,0.019,12,0.149,13,0.35,16,0.587,17,0.032,18,0.226,19,0.34,23,0.422,24,0.509,25,0.838,26,1.009,40,0.838,46,0.933,49,0.35,51,1.481,56,0.323,57,0.323,58,1.19,63,0.838,64,0.489,65,0.722,68,0.553,78,0.708,80,0.553,82,0.553,92,0.433,104,1.385,105,0.985,107,0.727,111,1.025,123,0.291,124,1.425,128,1.277,137,0.658,146,1.276,151,0.931,153,0.553,157,0.65,158,0.023,159,0.023,160,3.122,161,1.064,162,1.601,163,3.75,164,4.03,165,4.405,166,4.03,167,4.03,168,4.03,169,4.03,170,4.03,171,4.484,172,4.484,173,1.479,174,3.694,175,3.361,176,3.242,177,1.943,178,3.329,179,3.329,180,1.479,181,3.305,182,2.784,183,2.812,184,3.267,185,3.75,186,2.157,187,2.784,188,2.784,189,3.236,190,2.197,191,3.329,192,1.838,193,1.838,194,1.838,195,1.601,196,1.838,197,2.197,198,2.197,199,4.03,200,2.197,201,3.361,202,2.197,203,4.415,204,2.928,205,1.601,206,2.157,207,1.688,208,3.361,209,1.943,210,1.282,211,3.166,212,1.601,213,2.197,214,1.838,215,2.784,216,2.784,217,2.197,218,1.838,219,2.197,220,3.51,221,1.838,222,1.838,223,3.329,224,4.537,225,1.838,226,1.601,227,2.784,228,1.838,229,1.424,230,1.838,231,2.197,232,0.827,233,1.426,234,1.282,235,2.157,236,2.197,237,2.197,238,1.838,239,2.197,240,0.763,241,2.197,242,4.019,243,1.424,244,1.165,245,3.002,246,2.425,247,1.838,248,1.838,249,1.601,250,1.838,251,1.838,252,0.898,253,1.765,254,3.329,255,2.197,256,2.197,257,3.75,258,2.197,259,4.579,260,4.935,261,1.838,262,5.425,263,2.515,264,2.197,265,1.838,266,3.361,267,3.329,268,3.329,269,3.329,270,3.329,271,2.197,272,3.562,273,3.329,274,2.604,275,1.601,276,5.165,277,2.197,278,3.329,279,2.197,280,2.197,281,4.484,282,2.197,283,3.329,284,4.446,285,3.332,286,2.197,287,1.765,288,2.197,289,4.019,290,2.197,291,3.329,292,2.197,293,3.329,294,3.329,295,2.197,296,1.761,297,4.019,298,2.197,299,2.197,300,2.197,301,2.197,302,2.197,303,2.197,304,2.197,305,2.784,306,2.197,307,1.838,308,2.197,309,2.197,310,2.197,311,2.197,312,2.197,313,2.197,314,3.329,315,1.601,316,2.197,317,2.197,318,3.329,319,2.197,320,2.197,321,2.197,322,2.197,323,2.197,324,2.197,325,2.197,326,3.329,327,2.197,328,2.197,329,2.197,330,2.197,331,2.197,332,2.197,333,2.197,334,2.197,335,2.197,336,2.197,337,2.197,338,2.197,339,2.197,340,2.197,341,3.329,342,2.197,343,2.197,344,2.197,345,2.197,346,4.019,347,2.197,348,2.197,349,2.197,350,2.197,351,2.197,352,2.197,353,2.197,354,2.197,355,1.838,356,2.197,357,1.838,358,2.197,359,2.197,360,2.197,361,2.197,362,3.329,363,3.329,364,2.197,365,4.019,366,2.197,367,2.197,368,2.197,369,2.197,370,2.197,371,1.601,372,5.07,373,2.197,374,2.197,375,1.642,376,2.197,377,2.197,378,2.197,379,3.361,380,1.838,381,2.197,382,2.197,383,4.019,384,2.197,385,2.784,386,2.197,387,2.425,388,2.425,389,2.157,390,2.425,391,1.943,392,3.329,393,3.329,394,3.329,395,2.197,396,2.157,397,2.197,398,2.784,399,2.197,400,2.197,401,3.75,402,3.329,403,2.197,404,2.197,405,2.197,406,2.197,407,2.197,408,2.197,409,3.329,410,4.818,411,2.197,412,2.197,413,2.928,414,2.197,415,2.197,416,1.838,417,2.197,418,2.197,419,3.267,420,2.157,421,1.424,422,2.197,423,2.784,424,3.75,425,1.064,426,2.784,427,1.601,428,2.197,429,1.156,430,1.601,431,1.601,432,2.197,433,1.838,434,2.784,435,2.197]],["title/classes/CCFDatabaseStatusTracker.html",[235,2.094,252,1.32]],["body/classes/CCFDatabaseStatusTracker.html",[2,0.323,3,0.323,4,0.373,5,0.275,6,0.429,11,0.019,12,0.275,13,0.535,16,0.514,17,0.032,18,0.346,19,0.341,23,0.425,24,1.291,25,1.633,26,1.178,27,1.731,28,1.821,29,1.705,36,1.198,41,1.731,45,1.784,59,0.535,68,1.019,78,0.861,137,0.885,158,0.024,159,0.026,189,2.7,207,1.524,211,2.363,235,3.3,243,3.3,245,2.146,252,1.654,253,3.195,257,4.661,259,3.71,261,3.385,272,2.973,275,4.06,284,4.06,285,2.7,398,5.223,436,2.623,437,5.282,438,3.385,439,4.259,440,3.71,441,4.891,442,5.848,443,2.949,444,4.048,445,4.047,446,5.093,447,2.949,448,4.048,449,4.048,450,4.048,451,4.048,452,4.048,453,4.048,454,6.316,455,5.093,456,2.623,457,4.048,458,5.093,459,5.093,460,5.093,461,4.048,462,4.048,463,4.048,464,3.385,465,5.093,466,4.048,467,4.048,468,4.048,469,4.048,470,4.048,471,4.048,472,4.048,473,4.048]],["title/classes/CCFSpatialGraph.html",[206,2.094,252,1.32]],["body/classes/CCFSpatialGraph.html",[3,0.245,4,0.569,5,0.209,6,0.404,11,0.02,12,0.209,13,0.446,16,0.607,17,0.032,18,0.429,19,0.359,23,0.446,26,0.547,49,0.578,59,0.728,92,0.497,119,0.799,137,0.808,158,0.02,159,0.015,161,2.88,173,1.364,176,1.793,177,1.793,189,3.24,201,3.549,203,3.543,204,2.237,205,2.237,206,2.75,207,1.598,208,4.067,229,1.99,232,1.831,233,1.629,234,1.793,243,1.99,244,1.628,245,3.438,249,2.237,252,1.255,253,2.781,263,2.446,266,2.568,272,3.213,285,3.094,287,1.628,296,2.123,307,4.762,357,4.067,375,1.255,379,4.974,385,2.568,387,2.237,388,2.237,389,1.99,390,2.237,391,1.793,396,2.75,433,3.549,434,5.162,436,1.99,440,3.092,443,2.237,445,3.782,447,4.011,456,2.75,474,2.568,475,4.244,476,4.244,477,5.246,478,4.067,479,4.244,480,2.568,481,4.244,482,3.092,483,4.244,484,3.071,485,4.244,486,3.071,487,3.071,488,3.071,489,4.244,490,3.071,491,5.505,492,4.148,493,4.244,494,3.071,495,2.237,496,1.99,497,4.244,498,3.549,499,3.071,500,2.568,501,3.071,502,2.568,503,3.071,504,3.071,505,3.071,506,1.99,507,2.073,508,2.237,509,2.237,510,4.244,511,2.642,512,2.568,513,4.011,514,2.237,515,3.071,516,3.543,517,2.237,518,3.062,519,1.793,520,3.543,521,3.092,522,2.237,523,4.863,524,3.071,525,3.071,526,3.071,527,4.244,528,3.071,529,3.071,530,3.071,531,3.071,532,3.071,533,3.071,534,3.071,535,3.071,536,3.071,537,2.237,538,3.071,539,4.244,540,1.487,541,4.244,542,4.244,543,1.156,544,4.244,545,3.071,546,3.071,547,3.071,548,3.071,549,2.568,550,4.244,551,3.071,552,4.244,553,4.244,554,3.071,555,3.071,556,3.071,557,3.071,558,4.244,559,3.071,560,3.071,561,3.071,562,4.244,563,3.543,564,3.071,565,3.071,566,3.071,567,4.244,568,3.071,569,3.071,570,3.071,571,3.092,572,4.244,573,3.071,574,5.693,575,3.071,576,3.071,577,3.071,578,3.071,579,3.071,580,3.071,581,3.071,582,3.543,583,3.071,584,3.071,585,3.071,586,3.071,587,3.071,588,3.071,589,1.364,590,3.071,591,1.364,592,3.071,593,1.364,594,3.071,595,1.364,596,3.071,597,1.364,598,3.071,599,1.364,600,3.071,601,1.364,602,3.071,603,1.364,604,3.071,605,1.364,606,3.071,607,1.364,608,3.071,609,1.364,610,3.071,611,1.364,612,3.071,613,1.364,614,3.071,615,1.364]],["title/classes/CCFSpatialScene.html",[209,1.886,252,1.32]],["body/classes/CCFSpatialScene.html",[0,0.198,2,0.207,3,0.207,4,0.347,5,0.177,6,0.418,11,0.018,12,0.177,16,0.598,17,0.032,18,0.378,19,0.35,20,0.654,23,0.466,26,0.463,49,0.396,59,0.806,92,0.494,100,0.651,101,0.651,114,0.553,119,0.587,123,0.753,128,1.262,129,1.117,137,0.887,140,0.709,141,1.211,146,1.225,158,0.018,159,0.012,161,2.976,176,1.516,189,2.857,207,1.419,209,2.2,210,3.672,211,1.516,229,1.683,233,1.853,234,1.516,244,2.58,245,3.258,252,1.061,253,2.58,263,1.154,272,3.525,274,2.442,285,3.301,287,3.232,296,2.075,396,2.442,420,1.683,421,3.348,425,2.812,427,2.746,429,1.795,430,2.746,431,2.746,436,1.683,440,2.746,443,1.892,445,3.95,447,4.399,456,1.683,480,2.172,482,2.746,492,2.746,495,1.892,496,1.683,508,1.892,513,3.765,514,3.232,516,4.23,517,1.892,518,2.589,519,1.516,520,4.23,521,1.892,522,1.892,537,1.892,571,2.746,582,1.892,616,1.516,617,3.232,618,3.769,619,3.232,620,3.232,621,3.769,622,3.769,623,3.769,624,3.769,625,3.769,626,3.769,627,3.232,628,2.597,629,3.152,630,2.597,631,3.152,632,2.597,633,5.39,634,3.152,635,2.597,636,1.795,637,3.152,638,2.597,639,3.152,640,2.597,641,2.597,642,2.597,643,3.152,644,2.597,645,3.152,646,2.597,647,2.597,648,3.152,649,4.07,650,3.71,651,2.597,652,3.152,653,2.597,654,2.746,655,1.892,656,3.926,657,2.746,658,1.892,659,1.892,660,1.674,661,1.54,662,1.54,663,1.54,664,3.71,665,4.508,666,3.71,667,3.152,668,3.152,669,3.152,670,2.172,671,2.048,672,3.232,673,3.152,674,3.152,675,2.172,676,2.172,677,2.172,678,2.172,679,2.172,680,2.172,681,4.07,682,4.07,683,2.172,684,2.172,685,2.172,686,2.172,687,4.322,688,2.172,689,3.152,690,3.152,691,3.152,692,2.172,693,2.172,694,2.172,695,2.172,696,2.746,697,2.172,698,3.152,699,3.152,700,2.172,701,4.508,702,3.152,703,3.152,704,3.71,705,3.152,706,4.604,707,3.152,708,3.152,709,3.152,710,2.172,711,2.172,712,3.152,713,3.152,714,2.172,715,2.172,716,4.322,717,2.172,718,2.172,719,2.172,720,2.172,721,2.172,722,3.152,723,2.172,724,2.172,725,2.172,726,2.172,727,2.172,728,2.172,729,2.172,730,2.172,731,2.172,732,3.152,733,3.152,734,2.172,735,2.172,736,2.172,737,4.322,738,2.172,739,2.172,740,2.172,741,2.172,742,4.07,743,2.172,744,2.172,745,2.172,746,3.152,747,2.172,748,2.172,749,1.154,750,2.172,751,2.172,752,2.172,753,2.172,754,2.172,755,1.683,756,2.172,757,2.172,758,2.172,759,2.172,760,2.172,761,2.172,762,2.172,763,2.172,764,2.172,765,2.172]],["title/interfaces/DatabaseStatus.html",[0,0.246,24,0.749]],["body/interfaces/DatabaseStatus.html",[0,0.476,1,0.78,2,0.247,3,0.247,4,0.286,5,0.211,6,0.211,7,0.917,8,1.077,9,1.264,10,0.78,11,0.028,12,0.29,13,0.448,14,0.994,15,0.984,16,0.607,17,0.032,18,0.441,19,0.361,20,0.78,21,0.994,22,0.78,23,0.655,24,0.989,25,1.556,26,0.984,27,1.446,28,1.446,29,1.334,30,1.369,31,1.369,32,1.688,33,1.264,34,1.369,35,1.264,36,1.559,37,1.369,38,1.369,39,0.833,40,1.075,41,1.559,42,1.369,43,1.264,44,1.369,45,1.559,46,0.895,47,1.508,48,0.938,49,0.599,50,1.166,51,1.166,52,0.846,53,1.438,54,1.166,55,1.027,56,0.811,57,0.811,58,0.917,59,0.41,60,0.917,61,1.369,62,1.334,63,1.075,64,0.455,65,0.367,66,0.994,67,1.264,68,1.556,69,1.559,70,1.166,71,1.559,72,1.264,73,1.369,74,1.166,75,0.994,76,1.559,77,1.334,78,1.287,79,0.917,80,1.325,81,1.446,82,0.78,83,1.369,84,0.917,85,1.446,86,0.994,87,0.917,88,0.604,89,0.994,90,1.771,91,0.917,92,0.421,93,0.692,94,0.846,95,0.917,96,0.917,97,0.994,98,0.846,99,0.854,100,0.627,101,0.627,102,1.334,103,1.334,104,1.628,105,1.559,106,1.264,107,0.692,108,1.369,109,1.264,110,0.917,111,0.909,112,0.917,113,1.369,114,0.909,115,1.166,116,0.761,117,1.334,118,1.567,119,0.731,120,0.761,121,0.761,122,0.994,123,0.646,124,0.78,125,0.552,126,0.917,127,0.917,128,0.604,129,0.78,130,1.369,131,0.994,132,0.994,133,1.166,134,1.264,135,0.994,136,0.917,137,0.859,138,0.994,139,0.846,140,0.846,141,0.846,142,1.559,143,1.334,144,0.846,145,0.994,146,1.075,147,0.917,148,0.994,149,0.994,150,0.917,151,0.718,152,0.917,153,0.78,154,1.264,155,0.917,156,0.994,157,0.917,158,0.02,159,0.015]],["title/interfaces/DatasetResult.html",[0,0.246,62,0.882]],["body/interfaces/DatasetResult.html",[0,0.477,1,0.797,2,0.253,3,0.253,4,0.292,5,0.215,6,0.215,7,0.937,8,1.036,9,1.283,10,0.797,11,0.028,12,0.295,13,0.455,14,1.016,15,0.992,16,0.609,17,0.032,18,0.437,19,0.365,20,0.797,21,1.016,22,0.797,23,0.657,24,0.734,25,1.338,26,0.772,27,0.937,28,0.937,29,0.865,30,1.016,31,1.016,32,1.39,33,0.937,34,1.016,35,0.937,36,0.937,37,1.016,38,1.016,39,0.618,40,0.797,41,0.937,42,1.016,43,0.937,44,1.016,45,0.937,46,0.932,47,1.569,48,0.947,49,0.603,50,1.184,51,1.35,52,0.865,53,1.451,54,1.184,55,1.085,56,0.844,57,0.844,58,0.937,59,0.419,60,0.937,61,1.585,62,1.451,63,1.447,64,0.637,65,0.513,66,1.39,67,1.701,68,1.562,69,1.569,70,1.184,71,1.573,72,1.283,73,1.39,74,1.184,75,1.016,76,1.573,77,1.35,78,1.293,79,0.937,80,1.338,81,1.463,82,0.797,83,1.39,84,0.937,85,1.463,86,1.016,87,0.937,88,0.618,89,1.016,90,1.785,91,0.937,92,0.424,93,0.703,94,0.865,95,0.937,96,0.937,97,1.016,98,0.865,99,0.862,100,0.637,101,0.637,102,1.35,103,1.35,104,1.636,105,1.573,106,1.283,107,0.703,108,1.39,109,1.283,110,0.937,111,0.923,112,0.937,113,1.39,114,0.923,115,1.184,116,0.772,117,1.35,118,1.585,119,0.736,120,0.772,121,0.772,122,1.016,123,0.654,124,0.797,125,0.564,126,0.937,127,0.937,128,0.618,129,0.797,130,1.39,131,1.016,132,1.016,133,1.184,134,1.283,135,1.016,136,0.937,137,0.465,138,1.016,139,0.865,140,0.865,141,0.865,142,1.573,143,1.35,144,0.865,145,1.016,146,1.091,147,0.937,148,1.016,149,1.016,150,0.937,151,0.734,152,0.937,153,0.797,154,1.283,155,0.937,156,1.016,157,0.937,158,0.021,159,0.015]],["title/interfaces/DonorResult.html",[0,0.246,54,0.882]],["body/interfaces/DonorResult.html",[0,0.478,1,0.803,2,0.255,3,0.255,4,0.294,5,0.217,6,0.217,7,0.944,8,1.04,9,1.289,10,0.803,11,0.028,12,0.296,13,0.457,14,1.023,15,0.994,16,0.608,17,0.032,18,0.437,19,0.364,20,0.803,21,1.023,22,0.803,23,0.658,24,0.739,25,1.342,26,0.776,27,0.944,28,0.944,29,0.871,30,1.023,31,1.023,32,1.397,33,0.944,34,1.023,35,0.944,36,0.944,37,1.023,38,1.023,39,0.622,40,0.803,41,0.944,42,1.023,43,0.944,44,1.023,45,0.944,46,0.934,47,1.573,48,0.95,49,0.605,50,1.19,51,1.19,52,0.871,53,1.524,54,1.355,55,1.088,56,0.846,57,0.846,58,1.289,59,0.576,60,1.578,61,1.397,62,1.355,63,1.097,64,0.469,65,0.378,66,1.023,67,1.289,68,1.564,69,1.573,70,1.19,71,1.578,72,1.289,73,1.397,74,1.19,75,1.023,76,1.578,77,1.355,78,1.295,79,0.944,80,1.342,81,1.468,82,0.803,83,1.397,84,0.944,85,1.468,86,1.023,87,0.944,88,0.622,89,1.023,90,1.789,91,0.944,92,0.426,93,0.706,94,0.871,95,0.944,96,0.944,97,1.023,98,0.871,99,0.864,100,0.64,101,0.64,102,1.355,103,1.355,104,1.639,105,1.578,106,1.289,107,0.706,108,1.397,109,1.289,110,0.944,111,0.927,112,0.944,113,1.397,114,0.927,115,1.19,116,0.776,117,1.355,118,1.591,119,0.738,120,0.776,121,0.776,122,1.023,123,0.656,124,0.803,125,0.568,126,0.944,127,0.944,128,0.622,129,0.803,130,1.397,131,1.023,132,1.023,133,1.19,134,1.289,135,1.023,136,0.944,137,0.469,138,1.023,139,0.871,140,0.871,141,0.871,142,1.578,143,1.355,144,0.871,145,1.023,146,1.097,147,0.944,148,1.023,149,1.023,150,0.944,151,0.739,152,0.944,153,0.803,154,1.289,155,0.944,156,1.023,157,0.944,158,0.021,159,0.015]],["title/interfaces/ExtractionSet.html",[0,0.246,636,1.122]],["body/interfaces/ExtractionSet.html",[0,0.448,2,0.272,3,0.272,4,0.526,5,0.372,6,0.232,8,0.665,11,0.016,12,0.232,13,0.478,15,1.085,16,0.613,17,0.032,18,0.445,19,0.364,23,0.617,39,0.888,46,0.739,48,1.046,49,0.63,55,0.888,56,0.501,57,0.501,59,0.806,64,0.501,65,0.607,88,1.068,92,0.437,93,1.05,99,0.553,100,0.669,101,0.669,107,0.925,116,0.976,119,0.725,120,0.976,121,0.976,123,0.755,125,0.607,158,0.022,159,0.016,173,2.024,180,1.514,232,1.283,233,1.775,240,1.184,296,1.582,375,1.861,429,1.582,507,1.715,511,2.024,540,1.651,543,2.062,589,1.514,591,1.514,593,1.514,595,1.514,597,1.514,599,1.514,601,1.514,603,1.514,605,1.514,607,1.514,609,1.514,611,1.514,613,1.514,615,1.514,636,1.782,660,1.514,661,1.393,662,1.393,663,1.393,671,1.184,749,1.514,766,1.651,767,1.651,768,2.653,769,2.653,770,2.904,771,1.651,772,1.807,773,1.651,774,2.415,775,2.206,776,2.764,777,1.651,778,1.651,779,1.807,780,1.651,781,1.651,782,1.807,783,2.415,784,1.651,785,1.807,786,1.807,787,1.807,788,2.72,789,1.651,790,1.651,791,2.415,792,2.415,793,2.206,794,2.206,795,2.024,796,1.807,797,1.807,798,1.807,799,1.651,800,1.807,801,1.807,802,2.415,803,2.206,804,1.651,805,1.651,806,3.377,807,1.651,808,1.651,809,1.651,810,1.651,811,1.807,812,1.807,813,2.279,814,1.651,815,2.904,816,2.72,817,3.026,818,1.807,819,1.651,820,1.807,821,1.807,822,2.904]],["title/interfaces/Filter.html",[0,0.246,128,0.63]],["body/interfaces/Filter.html",[0,0.474,1,0.763,2,0.242,3,0.242,4,0.279,5,0.206,6,0.206,7,0.897,8,1.017,9,1.245,10,0.763,11,0.028,12,0.286,13,0.442,14,0.972,15,0.976,16,0.61,17,0.032,18,0.444,19,0.366,20,0.763,21,0.972,22,0.763,23,0.652,24,0.702,25,1.313,26,0.749,27,0.897,28,0.897,29,0.828,30,0.972,31,0.972,32,1.349,33,0.897,34,0.972,35,0.897,36,0.897,37,0.972,38,0.972,39,0.591,40,0.763,41,0.897,42,0.972,43,0.897,44,0.972,45,0.897,46,0.888,47,1.496,48,0.929,49,0.595,50,1.149,51,1.149,52,0.828,53,1.425,54,1.149,55,1.017,56,0.805,57,0.805,58,0.897,59,0.401,60,0.897,61,1.349,62,1.319,63,1.059,64,0.445,65,0.359,66,0.972,67,1.245,68,1.55,69,1.549,70,1.149,71,1.544,72,1.245,73,1.349,74,1.149,75,0.972,76,1.544,77,1.319,78,1.281,79,0.897,80,1.313,81,1.43,82,0.763,83,1.349,84,0.897,85,1.43,86,0.972,87,0.897,88,0.591,89,0.972,90,1.757,91,0.897,92,0.438,93,0.682,94,0.828,95,0.897,96,0.897,97,0.972,98,0.828,99,0.961,100,0.766,101,0.766,102,1.425,103,1.425,104,1.644,105,1.678,106,1.622,107,0.682,108,1.549,109,1.622,110,0.897,111,1.028,112,0.897,113,1.349,114,0.895,115,1.425,116,0.749,117,1.319,118,1.549,119,0.725,120,0.749,121,0.749,122,0.972,123,0.639,124,1.059,125,0.749,126,1.245,127,1.245,128,0.82,129,1.216,130,1.673,131,1.673,132,1.673,133,1.549,134,1.678,135,1.673,136,1.245,137,0.766,138,1.349,139,1.149,140,1.425,141,1.319,142,1.544,143,1.319,144,0.828,145,0.972,146,1.059,147,0.897,148,0.972,149,0.972,150,0.897,151,0.702,152,0.897,153,0.763,154,1.245,155,0.897,156,0.972,157,0.897,158,0.02,159,0.014]],["title/interfaces/FlatSpatialPlacement.html",[0,0.246,232,1.216]],["body/interfaces/FlatSpatialPlacement.html",[0,0.449,2,0.275,3,0.275,4,0.57,5,0.374,6,0.234,11,0.016,12,0.234,13,0.482,15,0.98,16,0.614,17,0.032,18,0.446,19,0.353,23,0.619,39,0.895,46,0.559,48,1.02,49,0.578,55,1.006,56,0.506,57,0.506,59,0.795,64,0.506,65,0.611,88,1.073,92,0.439,93,1.055,99,0.559,100,0.674,101,0.674,107,0.836,116,0.98,119,0.808,120,0.98,121,0.98,123,0.795,125,0.614,158,0.022,159,0.016,173,2.038,180,1.531,232,1.728,233,1.695,240,1.197,296,1.594,375,1.875,429,1.594,507,1.728,511,2.038,540,1.669,543,2.071,589,1.531,591,1.531,593,1.531,595,1.531,597,1.531,599,1.531,601,1.531,603,1.531,605,1.531,607,1.531,609,1.531,611,1.531,613,1.531,615,1.531,636,1.594,660,1.531,661,1.408,662,1.408,663,1.408,671,1.197,749,1.531,766,1.669,767,1.669,768,2.222,769,2.222,770,1.827,771,1.669,772,1.827,773,1.669,774,2.433,775,2.222,776,2.774,777,1.669,778,1.669,779,1.827,780,1.669,781,1.669,782,1.827,783,2.433,784,1.669,785,1.827,786,1.827,787,1.827,788,2.735,789,1.669,790,1.669,791,2.433,792,2.433,793,2.222,794,2.222,795,2.038,796,1.827,797,1.827,798,1.827,799,1.669,800,1.827,801,1.827,802,2.433,803,2.222,804,1.669,805,1.669,806,3.382,807,1.669,808,1.669,809,1.669,810,1.669,811,1.827,812,1.827,813,2.443,814,1.669,815,2.916,816,2.735,817,3.037,818,1.827,819,1.669,820,1.827,821,1.827,822,2.916]],["title/interfaces/ListResultItem.html",[0,0.246,47,0.882]],["body/interfaces/ListResultItem.html",[0,0.477,1,0.795,2,0.252,3,0.252,4,0.291,5,0.215,6,0.215,7,0.935,8,1.168,9,1.281,10,0.795,11,0.028,12,0.294,13,0.454,14,1.013,15,1.082,16,0.612,17,0.032,18,0.437,19,0.362,20,0.795,21,1.013,22,0.795,23,0.657,24,0.732,25,1.336,26,0.771,27,0.935,28,0.935,29,0.863,30,1.013,31,1.013,32,1.387,33,0.935,34,1.013,35,0.935,36,0.935,37,1.013,38,1.013,39,0.616,40,0.795,41,0.935,42,1.013,43,0.935,44,1.013,45,0.935,46,0.931,47,1.568,48,0.991,49,0.638,50,1.348,51,1.348,52,1.45,53,1.45,54,1.182,55,1.035,56,0.817,57,0.817,58,0.935,59,0.418,60,0.935,61,1.387,62,1.348,63,1.089,64,0.464,65,0.374,66,1.013,67,1.281,68,1.562,69,1.568,70,1.182,71,1.571,72,1.281,73,1.387,74,1.182,75,1.013,76,1.571,77,1.348,78,1.293,79,0.935,80,1.336,81,1.461,82,0.795,83,1.387,84,0.935,85,1.461,86,1.013,87,0.935,88,0.616,89,1.013,90,1.783,91,0.935,92,0.424,93,0.701,94,0.863,95,0.935,96,0.935,97,1.013,98,0.863,99,0.861,100,0.635,101,0.635,102,1.348,103,1.348,104,1.635,105,1.571,106,1.281,107,0.701,108,1.387,109,1.281,110,0.935,111,0.921,112,0.935,113,1.387,114,0.921,115,1.182,116,0.771,117,1.348,118,1.582,119,0.736,120,0.771,121,0.771,122,1.013,123,0.653,124,0.795,125,0.563,126,0.935,127,0.935,128,0.616,129,0.795,130,1.387,131,1.013,132,1.013,133,1.182,134,1.281,135,1.013,136,0.935,137,0.464,138,1.013,139,0.863,140,0.863,141,0.863,142,1.571,143,1.348,144,0.863,145,1.013,146,1.089,147,0.935,148,1.013,149,1.013,150,0.935,151,0.732,152,0.935,153,0.795,154,1.281,155,0.935,156,1.013,157,0.935,158,0.021,159,0.015]],["title/interfaces/OntologyTreeModel.html",[0,0.246,153,0.813]],["body/interfaces/OntologyTreeModel.html",[0,0.477,1,0.799,2,0.253,3,0.253,4,0.293,5,0.216,6,0.216,7,0.939,8,1.037,9,1.285,10,0.799,11,0.028,12,0.295,13,0.456,14,1.018,15,0.992,16,0.608,17,0.032,18,0.437,19,0.362,20,0.799,21,1.018,22,0.799,23,0.657,24,0.735,25,1.339,26,0.773,27,0.939,28,0.939,29,0.867,30,1.018,31,1.018,32,1.392,33,0.939,34,1.018,35,0.939,36,0.939,37,1.018,38,1.018,39,0.619,40,0.799,41,0.939,42,1.018,43,0.939,44,1.018,45,0.939,46,0.903,47,1.521,48,0.948,49,0.618,50,1.185,51,1.185,52,0.867,53,1.452,54,1.185,55,1.037,56,0.818,57,0.818,58,0.939,59,0.42,60,0.939,61,1.392,62,1.351,63,1.093,64,0.466,65,0.376,66,1.018,67,1.285,68,1.563,69,1.57,70,1.185,71,1.574,72,1.285,73,1.392,74,1.185,75,1.018,76,1.574,77,1.351,78,1.294,79,0.939,80,1.339,81,1.464,82,0.799,83,1.392,84,0.939,85,1.464,86,1.018,87,0.939,88,0.619,89,1.018,90,1.786,91,0.939,92,0.425,93,0.704,94,0.867,95,0.939,96,0.939,97,1.018,98,0.867,99,0.862,100,0.637,101,0.637,102,1.351,103,1.351,104,1.696,105,1.574,106,1.285,107,0.704,108,1.392,109,1.285,110,0.939,111,0.924,112,0.939,113,1.392,114,0.924,115,1.185,116,0.773,117,1.351,118,1.586,119,0.737,120,0.773,121,0.773,122,1.018,123,0.654,124,0.799,125,0.565,126,0.939,127,0.939,128,0.619,129,0.799,130,1.392,131,1.018,132,1.018,133,1.185,134,1.285,135,1.018,136,0.939,137,0.466,138,1.018,139,0.867,140,0.867,141,0.867,142,1.702,143,1.351,144,0.867,145,1.018,146,1.402,147,0.939,148,1.018,149,1.018,150,0.939,151,1.006,152,1.285,153,1.093,154,1.702,155,1.285,156,1.392,157,1.285,158,0.021,159,0.015,823,2.813]],["title/interfaces/OntologyTreeNode.html",[0,0.246,143,0.882]],["body/interfaces/OntologyTreeNode.html",[0,0.476,1,0.779,2,0.247,3,0.247,4,0.285,5,0.21,6,0.21,7,0.916,8,1.026,9,1.263,10,0.779,11,0.028,12,0.29,13,0.448,14,0.992,15,1.077,16,0.613,17,0.032,18,0.436,19,0.368,20,0.779,21,0.992,22,0.779,23,0.654,24,0.717,25,1.325,26,0.76,27,0.916,28,0.916,29,0.845,30,0.992,31,0.992,32,1.368,33,0.916,34,0.992,35,0.916,36,0.916,37,0.992,38,0.992,39,0.604,40,0.779,41,0.916,42,0.992,43,0.916,44,0.992,45,0.916,46,0.895,47,1.508,48,1.017,49,0.654,50,1.165,51,1.165,52,0.845,53,1.437,54,1.165,55,1.026,56,0.838,57,0.838,58,0.916,59,0.409,60,0.916,61,1.368,62,1.333,63,1.074,64,0.455,65,0.366,66,0.992,67,1.263,68,1.556,69,1.558,70,1.165,71,1.558,72,1.263,73,1.368,74,1.165,75,0.992,76,1.558,77,1.597,78,1.287,79,0.916,80,1.325,81,1.445,82,0.779,83,1.368,84,0.916,85,1.445,86,0.992,87,0.916,88,0.604,89,0.992,90,1.77,91,0.916,92,0.42,93,0.692,94,0.845,95,0.916,96,0.916,97,0.992,98,0.845,99,0.853,100,0.627,101,0.627,102,1.333,103,1.333,104,1.688,105,1.558,106,1.263,107,0.692,108,1.368,109,1.263,110,0.916,111,0.908,112,0.916,113,1.368,114,0.908,115,1.165,116,0.76,117,1.333,118,1.566,119,0.73,120,0.76,121,0.76,122,0.992,123,0.73,124,0.779,125,0.551,126,0.916,127,0.916,128,0.604,129,0.779,130,1.368,131,0.992,132,0.992,133,1.165,134,1.263,135,0.992,136,0.916,137,0.455,138,0.992,139,0.845,140,0.845,141,0.845,142,1.689,143,1.437,144,1.165,145,1.368,146,1.229,147,1.558,148,1.368,149,1.368,150,1.558,151,0.717,152,0.916,153,0.779,154,1.263,155,0.916,156,0.992,157,0.916,158,0.02,159,0.015]],["title/interfaces/SearchResultJson.html",[0,0.246,824,2.354]],["body/interfaces/SearchResultJson.html",[0,0.266,2,0.278,3,0.278,4,0.321,5,0.237,6,0.237,10,1.56,11,0.017,12,0.237,13,0.486,16,0.571,17,0.032,18,0.353,19,0.325,20,1.164,22,0.877,23,0.486,29,0.952,40,0.877,51,1.614,56,0.679,57,0.679,65,0.725,85,1.369,94,1.263,111,1.332,158,0.022,159,0.017,174,2.54,181,3.226,182,2.915,183,3.653,184,4.026,185,2.915,186,2.259,187,2.915,188,4.34,189,2.751,194,2.915,195,2.54,196,2.915,203,4.461,204,3.78,205,2.54,207,1.741,212,2.54,243,3.726,245,3.387,259,4.026,260,5.184,263,1.549,272,2.035,274,2.259,276,4.622,284,4.393,285,3.318,296,2.127,305,2.915,355,2.915,425,2.24,506,2.259,509,4.306,823,2.996,824,3.78,825,2.259,826,2.54,827,6.031,828,2.915,829,3.486,830,2.915,831,2.54,832,2.54,833,3.486,834,3.369,835,2.915,836,3.369,837,2.915,838,2.915,839,2.915,840,2.915,841,2.915,842,2.915,843,2.915,844,2.915,845,3.369,846,2.915,847,4.624,848,5.911,849,3.486,850,3.486,851,3.486,852,3.486,853,3.486,854,3.486,855,2.54,856,3.486,857,3.486,858,3.486,859,3.486,860,2.915,861,3.486,862,2.915,863,4.624,864,3.486,865,2.915,866,4.624,867,3.486,868,3.486,869,3.486,870,3.486,871,2.915,872,5.189,873,3.486,874,5.189,875,3.486,876,3.486,877,3.486,878,4.624,879,3.486,880,3.486,881,3.486,882,3.486,883,3.486,884,3.486,885,4.624,886,5.751,887,6.031,888,3.486,889,3.486,890,2.915,891,3.486,892,2.54,893,5.911,894,3.486,895,5.751,896,3.486,897,5.751,898,3.486,899,5.911,900,3.486,901,3.486,902,3.486,903,3.486,904,2.915,905,2.915,906,3.486,907,3.486]],["title/interfaces/SearchableItem.html",[0,0.246,98,0.882]],["body/interfaces/SearchableItem.html",[0,0.476,1,0.779,2,0.247,3,0.247,4,0.285,5,0.21,6,0.21,7,0.916,8,1.026,9,1.263,10,0.779,11,0.028,12,0.29,13,0.448,14,0.992,15,0.983,16,0.607,17,0.032,18,0.441,19,0.364,20,0.779,21,0.992,22,0.779,23,0.654,24,0.717,25,1.325,26,0.76,27,0.916,28,0.916,29,0.845,30,0.992,31,0.992,32,1.368,33,0.916,34,0.992,35,0.916,36,0.916,37,0.992,38,0.992,39,0.604,40,0.779,41,0.916,42,0.992,43,0.916,44,0.992,45,0.916,46,0.895,47,1.508,48,0.983,49,0.635,50,1.165,51,1.165,52,0.845,53,1.437,54,1.165,55,1.026,56,0.811,57,0.811,58,0.916,59,0.409,60,0.916,61,1.368,62,1.333,63,1.074,64,0.455,65,0.366,66,0.992,67,1.263,68,1.556,69,1.558,70,1.165,71,1.558,72,1.263,73,1.368,74,1.165,75,0.992,76,1.558,77,1.333,78,1.287,79,0.916,80,1.325,81,1.445,82,0.779,83,1.368,84,0.916,85,1.445,86,0.992,87,0.916,88,0.604,89,0.992,90,1.77,91,0.916,92,0.42,93,0.692,94,0.845,95,0.916,96,1.263,97,1.368,98,1.165,99,0.966,100,0.773,101,0.773,102,1.597,103,1.597,104,1.651,105,1.689,106,1.634,107,0.925,108,1.566,109,1.634,110,0.916,111,0.908,112,0.916,113,1.368,114,0.908,115,1.165,116,0.76,117,1.333,118,1.566,119,0.73,120,0.76,121,0.76,122,0.992,123,0.646,124,0.779,125,0.551,126,0.916,127,0.916,128,0.604,129,0.779,130,1.368,131,0.992,132,0.992,133,1.165,134,1.263,135,0.992,136,0.916,137,0.908,138,0.992,139,0.845,140,0.845,141,0.845,142,1.558,143,1.333,144,0.845,145,0.992,146,1.074,147,0.916,148,0.992,149,0.992,150,0.916,151,0.717,152,0.916,153,0.779,154,1.263,155,0.916,156,0.992,157,0.916,158,0.02,159,0.015]],["title/interfaces/SpatialEntity.html",[0,0.246,233,0.956]],["body/interfaces/SpatialEntity.html",[0,0.425,2,0.229,3,0.229,4,0.495,5,0.346,6,0.195,8,0.559,11,0.014,12,0.195,13,0.425,15,1.042,16,0.617,17,0.032,18,0.452,19,0.373,23,0.585,39,0.993,46,0.465,48,1.02,49,0.601,55,0.789,56,0.421,57,0.421,59,0.797,64,0.594,65,0.603,88,1.047,92,0.467,93,1.056,99,0.826,100,0.789,101,0.789,107,0.826,116,0.957,119,0.674,120,0.957,121,0.957,123,0.774,125,0.511,137,0.966,158,0.019,159,0.014,173,1.798,180,1.274,232,1.08,233,1.649,240,1.406,296,1.935,375,2.194,429,1.769,507,1.524,511,1.798,540,1.96,543,2.098,589,1.274,591,1.274,593,1.274,595,1.274,597,1.274,599,1.274,601,1.274,603,1.274,605,1.274,607,1.274,609,1.274,611,1.274,613,1.274,615,1.274,636,1.406,660,2.262,661,2.08,662,2.08,663,2.08,671,1.769,749,1.798,766,1.389,767,1.389,768,1.96,769,1.96,770,1.521,771,1.389,772,1.521,773,1.389,774,2.7,775,2.699,776,2.979,777,1.96,778,2.466,779,2.145,780,2.466,781,2.466,782,2.145,783,2.486,784,2.466,785,2.145,786,2.145,787,2.145,788,2.954,789,1.96,790,1.96,791,2.7,792,2.7,793,2.601,794,2.601,795,2.475,796,2.145,797,2.145,798,2.145,799,2.466,800,2.145,801,2.145,802,2.7,803,2.466,804,2.466,805,2.466,806,3.348,807,2.466,808,2.466,809,2.466,810,2.466,811,2.145,812,1.521,813,2.083,814,1.389,815,2.7,816,2.486,817,2.847,818,1.521,819,1.389,820,1.521,821,1.521,822,2.7]],["title/interfaces/SpatialObjectReference.html",[0,0.246,543,1.216]],["body/interfaces/SpatialObjectReference.html",[0,0.447,2,0.27,3,0.27,4,0.525,5,0.419,6,0.23,8,0.66,11,0.016,12,0.23,13,0.476,15,0.973,16,0.615,17,0.032,18,0.445,19,0.365,23,0.615,39,0.884,46,0.549,48,1.044,49,0.629,55,0.884,56,0.497,57,0.497,59,0.815,64,0.497,65,0.674,88,1.065,92,0.455,93,1.046,99,0.549,100,0.666,101,0.666,107,0.829,116,0.973,119,0.722,120,0.973,121,0.973,123,0.753,125,0.603,137,0.666,158,0.022,159,0.016,173,2.014,180,2.014,232,1.274,233,1.685,240,1.175,296,1.575,375,2.089,419,2.465,429,1.575,507,1.707,511,2.014,540,1.639,543,2.144,589,1.503,591,1.503,593,1.503,595,1.503,597,1.503,599,1.503,601,1.503,603,1.503,605,1.503,607,1.503,609,1.503,611,1.503,613,1.503,615,1.503,636,1.575,660,1.503,661,1.383,662,1.383,663,1.383,671,1.175,749,1.503,766,1.639,767,1.639,768,2.196,769,2.196,770,1.794,771,2.645,772,2.404,773,2.645,774,2.404,775,2.196,776,2.758,777,1.639,778,1.639,779,1.794,780,1.639,781,1.639,782,1.794,783,2.404,784,1.639,785,1.794,786,1.794,787,1.794,788,2.71,789,1.639,790,1.639,791,2.404,792,2.404,793,2.196,794,2.196,795,2.014,796,1.794,797,1.794,798,1.794,799,1.639,800,1.794,801,1.794,802,2.404,803,2.196,804,1.639,805,1.639,806,3.373,807,1.639,808,1.639,809,1.639,810,1.639,811,1.794,812,1.794,813,2.271,814,1.639,815,2.895,816,2.71,817,3.019,818,1.794,819,1.639,820,1.794,821,1.794,822,2.895]],["title/interfaces/SpatialPlacement.html",[0,0.246,507,1.216]],["body/interfaces/SpatialPlacement.html",[0,0.449,2,0.275,3,0.275,4,0.57,5,0.374,6,0.234,11,0.016,12,0.234,13,0.481,15,0.979,16,0.611,17,0.032,18,0.446,19,0.353,23,0.618,39,0.894,46,0.558,48,1.02,49,0.577,55,1.005,56,0.505,57,0.505,59,0.795,64,0.505,65,0.61,88,1.072,92,0.439,93,1.055,99,0.558,100,0.673,101,0.673,107,0.836,116,0.979,119,0.808,120,0.979,121,0.979,123,0.757,125,0.613,158,0.022,159,0.016,173,2.036,180,1.528,232,1.295,233,1.83,240,1.195,296,1.592,375,1.873,429,1.592,507,1.941,511,2.036,540,1.666,543,2.217,589,1.528,591,1.528,593,1.528,595,1.528,597,1.528,599,1.528,601,1.528,603,1.528,605,1.528,607,1.528,609,1.528,611,1.528,613,1.528,615,1.528,636,1.592,660,1.528,661,1.406,662,1.406,663,1.406,671,1.195,749,1.528,766,1.666,767,1.666,768,2.22,769,2.22,770,1.824,771,1.666,772,1.824,773,1.666,774,2.43,775,2.22,776,2.773,777,1.666,778,1.666,779,1.824,780,1.666,781,1.666,782,1.824,783,2.43,784,1.666,785,1.824,786,1.824,787,1.824,788,2.733,789,1.666,790,1.666,791,2.43,792,2.43,793,2.22,794,2.22,795,2.036,796,1.824,797,1.824,798,1.824,799,1.666,800,1.824,801,1.824,802,2.43,803,2.22,804,1.666,805,1.666,806,3.381,807,1.666,808,1.666,809,1.666,810,1.666,811,1.824,812,1.824,813,2.442,814,1.666,815,2.915,816,2.733,817,3.036,818,1.824,819,1.666,820,1.824,821,1.824,822,2.915]],["title/interfaces/SpatialPlacementCommon.html",[0,0.246,813,1.435]],["body/interfaces/SpatialPlacementCommon.html",[0,0.435,2,0.246,3,0.246,4,0.508,5,0.357,6,0.21,8,0.601,11,0.015,12,0.21,13,0.447,15,0.936,16,0.615,17,0.032,18,0.453,19,0.372,23,0.599,39,0.83,46,0.5,48,1.015,49,0.613,55,0.83,56,0.625,57,0.625,59,0.787,64,0.453,65,0.577,88,1.139,92,0.42,93,1.038,99,0.5,100,0.625,101,0.625,107,0.79,116,1.041,119,0.695,120,1.041,121,1.041,123,0.729,125,0.758,137,0.837,158,0.02,159,0.015,173,2.532,180,1.37,232,1.161,233,1.632,240,1.071,296,1.478,375,1.991,429,1.478,507,1.602,511,2.334,540,1.493,543,1.978,589,2.334,591,2.334,593,2.334,595,2.334,597,2.334,599,2.334,601,2.334,603,2.334,605,2.334,607,2.334,609,2.334,611,2.334,613,2.334,615,2.334,636,1.478,660,1.37,661,1.26,662,1.26,663,1.26,671,1.071,749,1.37,766,1.493,767,1.493,768,2.061,769,2.061,770,1.635,771,1.493,772,1.635,773,1.493,774,2.256,775,2.061,776,2.67,777,1.493,778,1.493,779,1.635,780,1.493,781,1.493,782,1.635,783,2.583,784,1.493,785,1.635,786,1.635,787,1.635,788,2.583,789,1.493,790,1.493,791,2.256,792,2.256,793,2.061,794,2.061,795,1.89,796,1.635,797,1.635,798,1.635,799,1.493,800,1.635,801,1.635,802,2.256,803,2.061,804,1.493,805,1.493,806,3.456,807,1.493,808,1.493,809,1.493,810,1.493,811,1.635,812,2.256,813,2.334,814,2.061,815,3.156,816,3.022,817,3.242,818,2.256,819,2.545,820,2.256,821,2.256,822,3.156]],["title/interfaces/SpatialSceneNode.html",[0,0.246,210,1.886]],["body/interfaces/SpatialSceneNode.html",[0,0.207,2,0.311,3,0.217,4,0.25,5,0.184,6,0.184,11,0.018,12,0.184,13,0.408,16,0.611,17,0.032,18,0.432,19,0.367,23,0.477,26,0.483,49,0.552,59,0.657,92,0.311,100,0.668,101,0.668,114,0.577,119,0.359,123,0.657,128,1.124,129,1.144,137,0.965,140,0.741,141,1.602,146,1.25,158,0.018,159,0.013,161,1.314,176,1.584,189,2.9,207,1.464,209,1.584,210,3.613,211,1.584,229,1.758,233,1.706,234,1.584,244,2.41,245,3.281,252,1.108,253,2.062,263,1.205,274,2.52,285,3.322,287,3.257,296,2.068,396,2.52,420,1.758,421,2.52,425,2.842,427,1.977,429,1.826,430,1.977,431,1.977,456,1.758,482,1.977,492,3.618,495,1.977,496,1.758,508,1.977,513,3.83,514,3.312,516,4.275,517,1.977,518,2.654,519,1.584,520,4.275,521,1.977,522,1.977,537,1.977,571,2.833,582,1.977,616,1.584,617,1.977,619,1.977,620,1.977,627,1.977,629,2.269,631,2.269,634,2.269,636,1.579,637,2.269,639,2.269,643,2.269,645,2.269,648,2.269,649,3.253,650,2.269,652,2.269,654,3.618,655,1.977,656,3.985,657,3.83,658,1.977,659,1.977,660,2.335,661,2.148,662,2.148,663,2.148,664,4.575,665,4.908,666,4.575,667,4.396,668,4.396,669,4.396,670,4.153,671,2.134,672,3.985,673,4.396,674,4.396,675,4.153,676,2.269,677,2.269,678,2.269,679,2.269,680,2.269,681,4.153,682,4.153,683,2.269,684,2.269,685,2.269,686,2.269,687,4.396,688,2.269,689,3.253,690,3.253,691,3.253,692,2.269,693,2.269,694,2.269,695,2.269,696,2.833,697,2.269,698,3.253,699,3.253,700,2.269,701,4.575,702,3.253,703,3.253,704,3.802,705,3.253,706,4.629,707,3.253,708,3.253,709,3.253,710,2.269,711,2.269,712,3.253,713,3.253,714,2.269,715,2.269,716,4.396,717,2.269,718,2.269,719,2.269,720,2.269,721,2.269,722,3.253,723,2.269,724,2.269,725,2.269,726,2.269,727,2.269,728,2.269,729,2.269,730,2.269,731,2.269,732,3.253,733,3.253,734,2.269,735,2.269,736,2.269,737,4.396,738,2.269,739,2.269,740,2.269,741,2.269,742,4.153,743,2.269,744,2.269,745,2.269,746,3.253,747,2.269,748,2.269,749,1.205,750,2.269,751,2.269,752,2.269,753,2.269,754,2.269,755,1.758,756,2.269,757,2.269,758,2.269,759,2.269,760,2.269,761,2.269,762,2.269,763,2.269,764,2.269,765,2.269]],["title/interfaces/SpatialSearch.html",[0,0.246,115,0.882]],["body/interfaces/SpatialSearch.html",[0,0.476,1,0.78,2,0.247,3,0.247,4,0.286,5,0.211,6,0.211,7,0.917,8,1.027,9,1.264,10,0.78,11,0.028,12,0.29,13,0.448,14,0.994,15,0.984,16,0.607,17,0.032,18,0.445,19,0.362,20,0.78,21,0.994,22,0.78,23,0.655,24,0.718,25,1.325,26,0.761,27,0.917,28,0.917,29,0.846,30,0.994,31,0.994,32,1.369,33,0.917,34,0.994,35,0.917,36,0.917,37,0.994,38,0.994,39,0.604,40,0.78,41,0.917,42,0.994,43,0.917,44,0.994,45,0.917,46,0.895,47,1.508,48,0.938,49,0.599,50,1.166,51,1.166,52,0.846,53,1.438,54,1.166,55,1.027,56,0.811,57,0.811,58,0.917,59,0.41,60,0.917,61,1.369,62,1.334,63,1.075,64,0.455,65,0.367,66,0.994,67,1.264,68,1.556,69,1.559,70,1.166,71,1.559,72,1.264,73,1.369,74,1.166,75,0.994,76,1.559,77,1.334,78,1.287,79,0.917,80,1.325,81,1.446,82,0.78,83,1.369,84,0.917,85,1.559,86,0.994,87,0.917,88,0.604,89,0.994,90,1.939,91,0.917,92,0.456,93,0.792,94,0.846,95,0.917,96,0.917,97,0.994,98,0.846,99,0.854,100,0.627,101,0.627,102,1.334,103,1.334,104,1.628,105,1.559,106,1.264,107,0.692,108,1.369,109,1.264,110,1.264,111,1.04,112,1.264,113,1.688,114,1.121,115,1.334,116,1.017,117,1.559,118,1.831,119,0.825,120,1.017,121,1.017,122,1.688,123,0.697,124,0.78,125,0.552,126,0.917,127,0.917,128,0.604,129,0.78,130,1.369,131,0.994,132,0.994,133,1.166,134,1.264,135,0.994,136,0.917,137,0.455,138,0.994,139,0.846,140,0.846,141,0.846,142,1.559,143,1.334,144,0.846,145,0.994,146,1.075,147,0.917,148,0.994,149,0.994,150,0.917,151,0.718,152,0.917,153,0.78,154,1.264,155,0.917,156,0.994,157,0.917,158,0.02,159,0.015]],["title/interfaces/TissueBlockResult.html",[0,0.246,82,0.813]],["body/interfaces/TissueBlockResult.html",[0,0.473,1,0.757,2,0.24,3,0.24,4,0.277,5,0.205,6,0.205,7,0.891,8,1.014,9,1.238,10,0.757,11,0.028,12,0.284,13,0.439,14,0.965,15,0.973,16,0.607,17,0.032,18,0.441,19,0.369,20,0.757,21,0.965,22,0.757,23,0.651,24,0.697,25,1.309,26,0.745,27,0.891,28,0.891,29,0.822,30,0.965,31,0.965,32,1.342,33,0.891,34,0.965,35,0.891,36,0.891,37,0.965,38,0.965,39,0.587,40,0.757,41,0.891,42,0.965,43,0.891,44,0.965,45,0.891,46,0.917,47,1.545,48,0.926,49,0.594,50,1.314,51,1.143,52,0.822,53,1.616,54,1.42,55,1.066,56,0.831,57,0.831,58,0.891,59,0.398,60,0.891,61,1.342,62,1.492,63,1.053,64,0.442,65,0.356,66,0.965,67,1.238,68,1.619,69,1.616,70,1.42,71,1.617,72,1.617,73,1.667,74,1.42,75,0.965,76,1.779,77,1.314,78,1.364,79,0.891,80,1.489,81,1.617,82,1.053,83,1.667,84,1.539,85,1.617,86,1.342,87,1.539,88,0.816,89,1.342,90,1.814,91,1.539,92,0.436,93,0.78,94,1.143,95,1.539,96,0.891,97,0.965,98,0.822,99,0.843,100,0.614,101,0.614,102,1.314,103,1.314,104,1.616,105,1.539,106,1.238,107,0.678,108,1.342,109,1.238,110,0.891,111,0.89,112,0.891,113,1.342,114,0.89,115,1.143,116,0.745,117,1.314,118,1.542,119,0.723,120,0.745,121,0.745,122,0.965,123,0.636,124,0.757,125,0.536,126,0.891,127,0.891,128,0.587,129,0.757,130,1.342,131,0.965,132,0.965,133,1.143,134,1.238,135,0.965,136,0.891,137,0.442,138,0.965,139,0.822,140,0.822,141,0.822,142,1.539,143,1.314,144,0.822,145,0.965,146,1.053,147,0.891,148,0.965,149,0.965,150,0.891,151,0.697,152,0.891,153,0.757,154,1.238,155,0.891,156,0.965,157,0.891,158,0.02,159,0.014]],["title/interfaces/TissueSectionResult.html",[0,0.246,70,0.882]],["body/interfaces/TissueSectionResult.html",[0,0.476,1,0.785,2,0.249,3,0.249,4,0.288,5,0.212,6,0.212,7,0.923,8,1.03,9,1.27,10,0.785,11,0.028,12,0.333,13,0.45,14,1,15,0.986,16,0.605,17,0.032,18,0.439,19,0.366,20,0.785,21,1,22,0.785,23,0.655,24,0.723,25,1.329,26,0.764,27,0.923,28,0.923,29,0.852,30,1,31,1,32,1.375,33,0.923,34,1,35,0.923,36,0.923,37,1,38,1,39,0.608,40,0.785,41,0.923,42,1,43,0.923,44,1,45,0.923,46,0.927,47,1.562,48,0.941,49,0.601,50,1.171,51,1.171,52,0.852,53,1.442,54,1.171,55,1.08,56,0.84,57,0.84,58,0.923,59,0.413,60,0.923,61,1.375,62,1.512,63,1.08,64,0.458,65,0.369,66,1,67,1.27,68,1.607,69,1.69,70,1.339,71,1.639,72,1.639,73,1.693,74,1.442,75,1.375,76,1.639,77,1.442,78,1.304,79,1.563,80,1.503,81,1.563,82,0.785,83,1.375,84,0.923,85,1.451,86,1,87,0.923,88,0.608,89,1,90,1.775,91,0.923,92,0.422,93,0.695,94,0.852,95,0.923,96,0.923,97,1,98,0.852,99,0.856,100,0.63,101,0.63,102,1.339,103,1.339,104,1.63,105,1.563,106,1.27,107,0.695,108,1.375,109,1.27,110,0.923,111,0.913,112,0.923,113,1.375,114,0.913,115,1.171,116,0.764,117,1.339,118,1.572,119,0.732,120,0.764,121,0.764,122,1,123,0.649,124,0.785,125,0.556,126,0.923,127,0.923,128,0.608,129,0.785,130,1.375,131,1,132,1,133,1.171,134,1.27,135,1,136,0.923,137,0.458,138,1,139,0.852,140,0.852,141,0.852,142,1.563,143,1.339,144,0.852,145,1,146,1.08,147,0.923,148,1,149,1,150,0.923,151,0.723,152,0.923,153,0.785,154,1.27,155,0.923,156,1,157,0.923,158,0.02,159,0.015]],["title/changelog.html",[908,1.971,909,1.753,910,1.971]],["body/changelog.html",[0,0.393,2,0.149,3,0.397,10,0.471,11,0.009,13,0.196,17,0.026,18,0.127,19,0.106,22,0.471,26,0.797,33,1.075,35,0.87,40,1.036,46,0.477,49,0.196,50,0.511,52,0.803,53,0.803,56,0.275,57,0.275,63,0.74,64,0.432,65,0.731,68,1.451,69,0.803,71,0.554,74,0.511,77,0.511,78,0.773,80,1.036,92,0.329,96,0.554,99,0.477,102,0.803,103,0.511,104,1.48,107,0.667,111,1.24,112,1.471,117,0.511,124,0.74,125,0.333,126,0.87,128,0.803,129,0.74,133,0.511,134,0.554,136,0.554,137,0.275,139,0.803,151,0.433,154,0.554,158,0.014,159,0.025,175,1.565,180,0.831,181,3.091,183,3.091,186,2.9,195,3.621,207,2.374,211,3.091,234,1.092,240,2.228,244,0.992,263,2.407,275,1.363,315,1.363,371,3.461,389,3.221,391,1.716,401,1.565,413,3,419,4.201,420,3.777,423,1.565,424,4.921,425,2.564,426,3.743,429,2.155,439,1.565,441,1.565,445,1.212,464,3.974,511,0.831,512,1.565,518,1.716,671,1.43,672,1.363,696,3,755,2.668,768,1.424,769,1.424,777,0.906,789,1.759,790,1.424,793,0.906,794,0.906,795,0.831,814,1.424,830,1.565,831,3.261,832,3.261,855,3.75,860,2.459,865,2.459,890,1.565,892,1.363,904,2.459,909,2.354,910,2.142,911,2.142,912,1.565,913,4.428,914,3.633,915,4.751,916,4.476,917,2.94,918,6.649,919,3.633,920,3.633,921,3.633,922,1.871,923,2.94,924,2.94,925,1.871,926,4.97,927,4.751,928,4.97,929,2.94,930,1.871,931,1.871,932,4.117,933,1.871,934,2.94,935,1.871,936,1.871,937,2.94,938,3.633,939,3.633,940,5.148,941,3.743,942,1.871,943,1.871,944,1.871,945,1.871,946,2.94,947,1.871,948,4.751,949,1.565,950,1.871,951,1.871,952,3.633,953,3.038,954,1.871,955,1.871,956,1.871,957,5.525,958,5.616,959,2.94,960,4.476,961,1.871,962,2.94,963,4.751,964,2.94,965,1.871,966,1.871,967,1.871,968,2.94,969,4.157,970,4.751,971,3.443,972,1.871,973,5.242,974,1.871,975,1.871,976,2.94,977,1.871,978,2.94,979,3.633,980,1.871,981,1.871,982,1.871,983,3.633,984,2.94,985,1.871,986,2.94,987,1.871,988,1.871,989,1.871,990,5.766,991,1.871,992,1.565,993,1.565,994,3.261,995,1.565,996,1.871,997,2.94,998,1.565,999,1.871,1000,2.94,1001,4.117,1002,4.117,1003,1.871,1004,2.94,1005,3.633,1006,1.871,1007,1.871,1008,2.94,1009,1.871,1010,1.871,1011,4.751,1012,3.461,1013,3.743,1014,3.038,1015,1.871,1016,3.743,1017,2.94,1018,1.871,1019,3.633,1020,4.305,1021,5.696,1022,1.871,1023,1.871,1024,2.94,1025,5.525,1026,3.038,1027,1.871,1028,1.871,1029,1.871,1030,1.871,1031,1.871,1032,1.871,1033,1.871,1034,1.871,1035,2.459,1036,2.459,1037,1.871,1038,1.871,1039,1.871,1040,4.621,1041,1.871,1042,1.871,1043,1.871,1044,1.871,1045,2.94,1046,1.871,1047,1.565,1048,3.633,1049,2.94,1050,1.871,1051,2.94,1052,2.94,1053,2.94,1054,2.94,1055,1.871,1056,3.633,1057,1.871,1058,1.871,1059,1.565,1060,1.871,1061,3.038,1062,1.871,1063,5.979,1064,1.871,1065,2.94,1066,2.94,1067,4.117,1068,2.94,1069,1.871,1070,1.871,1071,1.871,1072,3.038,1073,1.871,1074,2.94,1075,1.871,1076,1.871,1077,4.751,1078,2.459,1079,1.871,1080,1.871,1081,1.871,1082,4.476,1083,3.443,1084,1.871,1085,3.633,1086,2.94,1087,4.751,1088,2.459,1089,2.94,1090,4.117,1091,1.871,1092,1.871,1093,4.117,1094,1.871,1095,1.871,1096,1.871,1097,1.871,1098,2.94,1099,2.94,1100,1.871,1101,2.94,1102,1.871,1103,1.871,1104,2.94,1105,2.94,1106,1.871,1107,1.871,1108,1.871,1109,1.871,1110,1.871,1111,1.871,1112,1.871,1113,2.94,1114,1.871,1115,1.871,1116,1.871,1117,1.871,1118,1.871,1119,2.94,1120,1.871,1121,1.871,1122,1.871,1123,1.871,1124,1.871,1125,2.94,1126,1.871,1127,4.751,1128,1.871,1129,1.871,1130,3.633,1131,3.633,1132,2.94,1133,1.871,1134,2.94,1135,1.871,1136,1.565,1137,1.565,1138,1.871,1139,1.871,1140,1.871,1141,3,1142,1.871,1143,1.871,1144,2.94,1145,2.94,1146,1.871,1147,1.871,1148,2.94,1149,2.94,1150,1.871,1151,2.94,1152,4.117,1153,3.633,1154,1.871,1155,1.871,1156,1.871,1157,1.871,1158,1.565,1159,1.565,1160,1.871,1161,2.94,1162,1.871,1163,1.871,1164,1.871,1165,2.94,1166,4.117,1167,1.363,1168,1.871,1169,1.871,1170,1.871,1171,4.751,1172,3.633,1173,2.459,1174,1.871,1175,1.871,1176,3.633,1177,2.94,1178,4.117,1179,1.871,1180,1.871,1181,1.871,1182,2.94,1183,1.871,1184,1.871,1185,1.871,1186,1.871,1187,3.443,1188,1.871,1189,3.633,1190,4.117,1191,1.871,1192,3.633,1193,4.476,1194,2.94,1195,2.94,1196,2.94,1197,2.94,1198,3.633,1199,4.117,1200,4.476,1201,2.94,1202,3.633,1203,1.871,1204,1.871,1205,4.97,1206,3.633,1207,1.871,1208,5.295,1209,1.871,1210,1.871,1211,1.871,1212,1.871,1213,1.871,1214,1.871,1215,2.94,1216,1.871,1217,1.871,1218,1.871,1219,1.871,1220,1.871,1221,2.94,1222,1.871,1223,1.871,1224,2.94,1225,3.038,1226,2.94,1227,3.038,1228,1.871,1229,1.871,1230,1.871,1231,2.94,1232,1.871,1233,1.871,1234,1.871,1235,1.871,1236,1.871,1237,1.871,1238,1.871,1239,1.871,1240,4.117,1241,4.751,1242,2.94,1243,3.633,1244,1.871,1245,1.871,1246,1.871,1247,1.871,1248,3.633,1249,1.871,1250,1.871,1251,1.871,1252,2.94,1253,2.94,1254,2.94,1255,2.94,1256,3.633,1257,1.871,1258,1.871,1259,1.871,1260,1.871,1261,1.871,1262,1.565,1263,1.871,1264,1.871,1265,1.871,1266,2.94,1267,1.871,1268,1.871,1269,2.459,1270,1.871,1271,1.871,1272,1.871,1273,1.871,1274,1.871,1275,1.871,1276,1.871,1277,1.871,1278,1.871,1279,1.871,1280,5.148,1281,1.871,1282,3.038,1283,5.148,1284,3.633,1285,4.117,1286,2.94,1287,3.633,1288,1.871,1289,1.871,1290,1.871,1291,1.871,1292,2.94,1293,1.871,1294,1.871,1295,2.94,1296,1.871,1297,3.633,1298,1.871,1299,1.871,1300,1.565,1301,1.871,1302,1.565,1303,1.871,1304,1.871,1305,1.871,1306,1.871,1307,1.871,1308,1.871,1309,1.871,1310,4.476,1311,1.871,1312,1.871,1313,1.871,1314,1.871,1315,1.871,1316,1.871,1317,1.871,1318,1.871,1319,1.871,1320,1.871,1321,1.871,1322,1.871,1323,1.871,1324,1.871,1325,2.94,1326,1.871,1327,2.94,1328,1.871,1329,2.94,1330,2.94,1331,4.117,1332,4.117,1333,2.94,1334,2.94,1335,1.871,1336,1.871,1337,1.871,1338,3.633,1339,1.871,1340,1.565,1341,1.871,1342,1.871,1343,1.871,1344,1.871,1345,1.871,1346,1.871,1347,2.94,1348,5.419,1349,3.633,1350,1.565,1351,2.94,1352,1.871,1353,1.871,1354,1.871,1355,1.871,1356,1.871,1357,1.871,1358,1.871,1359,1.871,1360,2.94,1361,4.157,1362,2.94,1363,1.871,1364,1.871,1365,2.459,1366,1.871,1367,4.117,1368,1.871,1369,2.94,1370,1.871,1371,1.871,1372,1.871,1373,3,1374,1.871,1375,2.94,1376,1.871,1377,1.871,1378,1.871,1379,2.94,1380,2.94,1381,1.871,1382,1.871,1383,1.871,1384,1.871,1385,2.459,1386,3.633,1387,2.94,1388,2.459,1389,1.565,1390,1.871,1391,1.871,1392,1.871,1393,1.871,1394,1.871,1395,1.871,1396,1.871,1397,1.871,1398,1.565,1399,1.871,1400,1.871,1401,2.94,1402,1.871,1403,1.871,1404,1.871,1405,1.871,1406,1.871,1407,1.871,1408,2.94,1409,2.94,1410,1.871,1411,1.565,1412,1.871,1413,1.565,1414,1.871,1415,1.871,1416,1.871,1417,2.94,1418,1.871,1419,1.871,1420,1.871,1421,1.871,1422,1.871,1423,1.871,1424,1.871,1425,1.871,1426,1.871,1427,1.871,1428,1.565,1429,2.94,1430,1.871,1431,1.871,1432,2.94,1433,1.871,1434,1.871,1435,1.871,1436,1.871,1437,1.871,1438,1.871,1439,1.871]],["title/coverage.html",[1373,3.201]],["body/coverage.html",[0,0.482,1,0.614,5,0.166,6,0.46,7,1.765,11,0.03,17,0.032,19,0.138,24,0.565,25,0.614,26,0.435,47,0.666,48,0.435,54,0.666,62,0.666,65,0.688,70,0.666,78,1.216,82,0.614,92,0.377,93,0.396,98,0.666,111,1.005,114,1.072,115,0.666,128,0.476,143,0.666,144,0.666,151,1.167,153,0.614,158,0.017,159,0.024,160,1.581,161,2.641,162,3.117,177,1.424,183,1.424,206,1.581,207,1.355,209,1.424,210,1.424,212,1.777,214,2.041,215,2.041,216,2.041,218,2.041,220,4.462,221,2.041,222,2.041,224,3.951,225,3.951,226,1.777,227,2.041,228,2.041,230,2.041,232,0.919,233,0.722,235,1.581,238,2.041,240,1.251,246,1.777,252,2.058,253,1.294,263,1.084,287,3.513,416,2.041,421,1.581,437,2.041,438,2.041,474,3.011,478,2.041,507,0.919,509,4.85,519,3.903,543,0.919,616,3.481,617,1.777,619,1.777,620,1.777,627,1.777,636,0.847,766,2.553,767,2.553,813,1.084,824,1.777,825,4.042,826,4.234,828,2.041,834,1.777,836,1.777,845,1.777,862,2.041,871,2.041,905,2.041,1012,1.777,1373,1.777,1440,2.44,1441,2.44,1442,4.163,1443,2.44,1444,6.594,1445,2.041,1446,2.44,1447,4.279,1448,6.545,1449,6.63,1450,3.6,1451,2.44,1452,2.44,1453,2.44,1454,2.44,1455,2.44,1456,2.44,1457,2.44,1458,2.44,1459,2.44,1460,2.041,1461,2.041,1462,2.041,1463,2.041,1464,2.041,1465,4.279,1466,4.724,1467,2.44,1468,2.44,1469,2.44,1470,3.6,1471,4.724,1472,5.545,1473,2.44,1474,6.125,1475,2.44,1476,2.44,1477,2.44,1478,2.44,1479,2.44,1480,2.44,1481,2.44,1482,2.44,1483,2.44,1484,2.44,1485,2.44,1486,2.44,1487,2.44,1488,2.44,1489,4.779,1490,2.44,1491,2.44,1492,2.44,1493,2.44,1494,5.083,1495,2.44,1496,2.44,1497,2.041,1498,2.44,1499,2.44,1500,2.44,1501,2.041,1502,4.779,1503,2.44,1504,2.44,1505,2.44,1506,2.041,1507,2.041,1508,2.041,1509,2.041,1510,2.041,1511,3.6,1512,3.6,1513,2.44,1514,2.44,1515,2.44,1516,2.44,1517,3.6,1518,3.6,1519,2.44,1520,2.44,1521,3.67,1522,2.44,1523,3.011,1524,2.041,1525,3.011,1526,3.011,1527,4.988,1528,2.041,1529,2.041,1530,2.041,1531,2.041,1532,2.041,1533,2.041,1534,2.041,1535,3.67,1536,2.44,1537,2.041,1538,2.44,1539,2.44]],["title/dependencies.html",[998,2.263,1141,2.828]],["body/dependencies.html",[5,0.281,11,0.02,17,0.032,43,1.223,127,1.223,142,1.223,152,1.223,158,0.024,159,0.02,174,3.01,176,2.412,177,2.412,192,3.456,193,3.456,425,2.001,496,2.678,498,4.315,500,3.456,502,3.456,506,2.678,563,3.01,823,2.678,949,3.456,994,3.01,1016,3.456,1035,3.456,1078,3.456,1088,3.456,1136,3.456,1137,3.456,1141,3.01,1159,4.315,1225,3.456,1282,4.315,1365,4.315,1540,4.132,1541,4.132,1542,4.132,1543,6.476,1544,4.132,1545,4.132,1546,4.132,1547,4.132,1548,4.132,1549,4.132,1550,4.132,1551,4.132,1552,5.159,1553,4.132,1554,4.132,1555,4.132,1556,4.132,1557,4.132,1558,4.132,1559,4.132,1560,5.626,1561,4.132,1562,5.159,1563,4.132,1564,4.132,1565,4.132,1566,4.132,1567,5.626,1568,4.132,1569,4.132,1570,4.132,1571,4.132,1572,4.132,1573,4.132,1574,4.132,1575,5.159,1576,4.132,1577,4.132,1578,4.132,1579,5.159,1580,4.132,1581,4.132,1582,5.159,1583,5.159,1584,4.132,1585,4.132,1586,4.132,1587,4.132,1588,4.132,1589,5.159,1590,4.132,1591,4.132,1592,4.132,1593,5.159,1594,4.132,1595,4.132,1596,4.132,1597,4.132,1598,4.132,1599,4.132,1600,4.132,1601,4.132,1602,4.132,1603,4.132,1604,4.132,1605,4.132,1606,4.132,1607,4.132,1608,4.132,1609,4.132,1610,4.132,1611,3.456,1612,4.132,1613,4.132,1614,4.132,1615,4.132,1616,4.132,1617,4.132,1618,4.132,1619,4.132,1620,4.132,1621,4.132,1622,4.132,1623,4.132,1624,4.132,1625,4.132,1626,4.132,1627,4.132,1628,4.132,1629,4.132,1630,4.132,1631,4.132,1632,4.132,1633,5.159,1634,4.132,1635,4.132,1636,4.132,1637,4.132,1638,4.132,1639,4.132,1640,4.132,1641,4.132,1642,4.132,1643,5.159,1644,4.132,1645,4.132,1646,4.132,1647,4.132,1648,4.132,1649,4.132,1650,4.132,1651,4.132,1652,4.132,1653,4.132,1654,4.132,1655,4.132,1656,4.132]],["title/index.html",[12,0.184,908,1.971,909,1.753]],["body/index.html",[0,0.413,2,0.356,3,0.495,11,0.021,17,0.026,110,1.321,117,1.477,139,1.477,158,0.026,159,0.021,181,3.532,183,3.532,186,2.892,207,2.53,240,1.879,391,2.605,429,2.022,832,3.941,855,3.251,910,3.251,911,3.941,912,4.524,913,4.868,941,3.732,953,4.524,969,3.732,971,3.732,973,4.868,992,3.732,993,3.732,994,3.251,995,3.732,1013,5.184,1014,5.061,1020,4.524,1026,3.732,1036,4.524,1040,3.732,1061,3.732,1158,3.732,1302,3.732,1388,3.732,1398,3.732,1411,3.732,1657,5.409,1658,4.462,1659,4.462,1660,4.462,1661,4.462,1662,4.524,1663,4.462,1664,4.462,1665,4.462,1666,5.409,1667,5.409,1668,5.409,1669,5.821,1670,4.462,1671,4.462,1672,6.051,1673,5.821,1674,4.462,1675,4.462,1676,5.409,1677,4.462,1678,4.462,1679,4.462,1680,5.409,1681,4.462,1682,4.462,1683,4.462,1684,6.051,1685,4.462,1686,4.462,1687,4.462,1688,4.462,1689,4.462,1690,4.462,1691,4.462,1692,4.462,1693,4.462,1694,4.462,1695,4.462,1696,4.462,1697,4.462,1698,4.462,1699,4.462,1700,4.462,1701,4.462]],["title/license.html",[908,1.971,909,1.753,1702,2.263]],["body/license.html",[11,0.023,17,0.027,50,1.299,158,0.027,159,0.023,181,2.777,315,3.466,803,2.304,831,4.095,892,4.095,1012,3.466,1059,5.003,1262,4.701,1340,3.979,1361,3.979,1413,3.979,1611,3.979,1662,5.473,1702,3.979,1703,4.758,1704,5.982,1705,4.758,1706,4.758,1707,5.621,1708,4.758,1709,4.758,1710,4.758,1711,4.758,1712,4.758,1713,4.758,1714,5.621,1715,4.758,1716,4.758,1717,4.758,1718,4.758,1719,4.758,1720,4.758,1721,4.758,1722,4.758,1723,4.758,1724,4.758,1725,4.758,1726,4.758,1727,5.621,1728,4.758,1729,4.758,1730,4.758,1731,4.758,1732,4.758,1733,4.758,1734,5.621,1735,4.758,1736,4.758,1737,4.758,1738,4.758,1739,4.758,1740,4.758,1741,4.758,1742,4.758,1743,4.758,1744,4.758,1745,4.758,1746,4.758,1747,4.758,1748,4.758,1749,4.758,1750,4.758,1751,4.758,1752,4.758,1753,4.758,1754,4.758,1755,4.758,1756,4.758,1757,4.758,1758,4.758,1759,4.758,1760,4.758,1761,4.758]],["title/modules.html",[1762,3.675]],["body/modules.html",[11,0.025,17,0.028,158,0.028,159,0.025,1762,4.383]],["title/overview.html",[1763,3.675]],["body/overview.html",[2,0.417,11,0.025,17,0.028,158,0.028,159,0.025,436,3.381,1167,3.801,1763,4.364,1764,4.364]],["title/miscellaneous/typealiases.html",[1765,1.753,1766,3.882]],["body/miscellaneous/typealiases.html",[6,0.425,11,0.023,12,0.336,17,0.031,18,0.445,19,0.279,92,0.459,114,1.293,158,0.027,159,0.023,161,2.393,549,4.132,616,3.763,654,4.186,655,3.599,656,3.599,657,3.599,658,3.599,659,3.599,671,2.173,825,3.202,1442,4.186,1521,3.599,1535,3.599,1765,3.202,1767,4.941,1768,4.132,1769,4.132,1770,5.746,1771,4.132,1772,4.132]],["title/miscellaneous/variables.html",[1765,1.753,1773,3.246]],["body/miscellaneous/variables.html",[4,0.152,5,0.112,6,0.354,8,0.65,11,0.024,12,0.112,15,0.841,16,0.152,17,0.032,18,0.112,19,0.363,20,1.592,22,0.414,49,0.595,52,0.911,53,0.725,60,0.785,63,0.668,64,0.242,65,0.453,67,0.987,69,0.449,72,0.987,74,0.449,76,0.987,77,0.449,78,1.005,79,0.785,80,0.963,81,0.487,84,0.785,87,0.785,91,0.785,92,0.212,93,0.728,94,0.911,95,0.487,99,0.43,100,0.39,101,0.39,102,0.449,103,0.449,106,0.785,109,0.785,111,0.565,114,0.894,116,0.904,119,0.218,120,0.293,121,0.293,123,0.218,124,0.414,133,1.29,144,1.045,147,0.487,150,0.487,151,0.615,155,0.785,158,0.013,159,0.008,160,1.066,161,0.796,162,1.933,163,1.375,164,1.375,165,1.375,166,1.375,167,1.375,168,1.375,169,1.375,170,1.375,177,2.234,184,1.198,199,1.375,207,1.69,220,3.271,226,1.933,233,1.133,240,1.159,244,3.359,246,1.933,247,1.375,248,1.375,249,1.198,250,1.375,251,1.375,263,0.731,265,1.375,287,2.029,371,3.581,375,2.315,380,1.375,387,1.198,388,1.198,389,1.066,390,1.198,391,0.96,413,1.933,425,1.285,506,1.719,507,1.256,518,3.754,519,2.869,543,1.256,563,1.198,589,0.731,591,0.731,593,0.731,595,0.731,597,0.731,599,0.731,601,0.731,603,0.731,605,0.731,607,0.731,609,0.731,611,0.731,613,0.731,615,0.731,616,3.042,636,0.571,661,0.672,662,0.672,663,0.672,671,1.707,706,3.797,755,4.097,771,0.796,773,0.796,775,1.285,776,0.796,778,0.796,780,0.796,781,0.796,784,0.796,795,0.731,799,1.616,804,0.796,805,0.796,807,0.796,808,0.796,809,0.796,810,0.796,819,0.796,823,2.909,825,1.719,826,2.789,834,1.933,835,1.375,836,1.933,837,1.375,838,1.375,839,1.375,840,1.375,841,1.375,842,1.375,843,1.375,844,1.375,845,1.933,846,1.375,911,1.198,1047,3.512,1072,1.375,1083,1.375,1167,3.581,1173,1.375,1187,1.375,1227,4.111,1269,5.018,1300,4.615,1350,4.111,1385,1.375,1389,2.219,1428,4.111,1442,3.271,1445,4.111,1460,2.219,1461,2.219,1462,2.219,1463,2.219,1464,2.219,1472,4.541,1489,1.375,1494,2.219,1497,2.219,1501,2.219,1502,1.375,1506,2.219,1507,2.219,1508,3.755,1509,2.219,1510,2.219,1521,1.198,1523,3.201,1524,2.219,1525,3.201,1526,3.201,1527,1.375,1528,2.79,1529,3.201,1530,3.201,1531,3.201,1532,2.219,1533,2.219,1534,3.201,1535,1.198,1537,2.219,1764,1.375,1765,1.066,1768,3.201,1769,3.201,1771,4.111,1772,1.375,1773,1.375,1774,5.429,1775,4.199,1776,1.645,1777,2.654,1778,2.654,1779,2.654,1780,4.199,1781,2.654,1782,5.211,1783,2.654,1784,1.645,1785,1.645,1786,1.645,1787,1.645,1788,1.645,1789,3.336,1790,3.336,1791,1.645,1792,1.645,1793,1.645,1794,1.645,1795,1.645,1796,1.645,1797,1.645,1798,1.645,1799,1.645,1800,1.645,1801,1.645,1802,1.645,1803,1.645,1804,1.645,1805,1.645,1806,1.645,1807,1.645,1808,1.645,1809,1.645,1810,1.645,1811,1.645,1812,1.645,1813,1.645,1814,3.336,1815,2.654,1816,1.645,1817,1.645,1818,1.645,1819,1.645,1820,1.645,1821,1.645,1822,1.645,1823,1.645,1824,1.645,1825,1.645,1826,1.645,1827,1.645,1828,1.645,1829,1.645,1830,1.645,1831,1.645,1832,1.645,1833,1.645,1834,1.645,1835,1.645,1836,1.645,1837,1.645,1838,1.645,1839,1.645,1840,1.645,1841,1.645,1842,1.645,1843,1.645,1844,1.645,1845,1.645,1846,1.645,1847,1.645,1848,1.645,1849,1.645,1850,1.645,1851,1.645,1852,1.645,1853,1.645,1854,1.645,1855,1.645,1856,1.645,1857,1.645,1858,1.645,1859,1.645,1860,1.645,1861,1.645,1862,1.645,1863,1.645,1864,1.645,1865,1.645,1866,1.645,1867,1.645,1868,1.645,1869,1.645,1870,1.645,1871,1.645,1872,1.645,1873,1.645,1874,1.645,1875,1.645,1876,1.645,1877,1.645,1878,2.654,1879,1.645,1880,1.645,1881,1.645,1882,1.645,1883,1.645,1884,1.645,1885,1.645,1886,1.645,1887,1.645,1888,1.645,1889,1.645,1890,1.645,1891,1.645,1892,1.645,1893,1.645,1894,1.645,1895,2.654,1896,3.336,1897,3.336,1898,1.645,1899,1.645,1900,1.645,1901,1.645,1902,1.645,1903,1.645,1904,1.645,1905,1.645,1906,1.645,1907,2.654,1908,1.645,1909,1.645,1910,1.645,1911,1.645,1912,2.654,1913,1.645,1914,1.645,1915,1.645,1916,1.645,1917,1.645,1918,1.645,1919,1.645,1920,1.645,1921,1.645,1922,1.645,1923,1.645,1924,1.645,1925,1.645,1926,1.645,1927,1.645,1928,1.645,1929,1.645,1930,1.645,1931,1.645,1932,1.645,1933,1.645,1934,1.645,1935,1.645,1936,1.645,1937,1.645,1938,1.645,1939,1.645,1940,1.645,1941,1.645,1942,1.645,1943,1.645,1944,1.645,1945,1.645,1946,1.645,1947,1.645,1948,1.645,1949,1.645,1950,1.645,1951,1.645,1952,1.645,1953,1.645,1954,1.645,1955,1.645,1956,1.645,1957,1.645,1958,1.645,1959,1.645,1960,1.645,1961,1.645,1962,1.645,1963,1.645,1964,1.645,1965,1.645,1966,1.645,1967,1.645,1968,1.645,1969,1.645,1970,1.645,1971,1.645,1972,1.645,1973,1.645,1974,1.645,1975,1.645,1976,1.645,1977,1.645,1978,1.645,1979,1.645,1980,1.645,1981,1.645,1982,1.645,1983,1.645,1984,1.645,1985,1.645,1986,1.645,1987,1.645,1988,1.645,1989,1.645,1990,1.645,1991,1.645,1992,1.645,1993,1.645,1994,1.645,1995,1.645,1996,1.645,1997,1.645,1998,1.645,1999,1.645,2000,1.645,2001,1.645,2002,1.645,2003,1.645,2004,1.645,2005,1.645,2006,1.645,2007,1.645,2008,1.645,2009,1.645,2010,1.645,2011,1.645,2012,1.645,2013,1.645,2014,1.645,2015,1.645,2016,1.645,2017,1.645,2018,1.645,2019,1.645,2020,1.645,2021,1.645,2022,1.645,2023,1.645,2024,1.645,2025,1.645,2026,1.645,2027,1.645,2028,1.645,2029,1.645,2030,1.645,2031,1.645,2032,2.654,2033,1.645,2034,1.645,2035,1.645,2036,1.645,2037,1.645,2038,1.645,2039,2.654,2040,1.645,2041,1.645,2042,6.541,2043,5.729,2044,5.964,2045,5.667,2046,5.964,2047,5.964,2048,5.964,2049,5.328,2050,5.328,2051,5.328,2052,5.328,2053,5.729,2054,6.541,2055,4.915,2056,5.729,2057,4.915,2058,4.915,2059,5.429,2060,6.064,2061,5.729,2062,5.729,2063,3.828,2064,3.828,2065,3.828,2066,3.828,2067,3.828,2068,3.828,2069,5.729,2070,5.729,2071,4.915,2072,4.915,2073,5.429,2074,3.828,2075,3.828,2076,3.828,2077,3.828,2078,3.828,2079,3.828,2080,1.645,2081,1.645,2082,1.645,2083,1.645,2084,1.645,2085,1.645,2086,1.645,2087,1.645,2088,1.645,2089,1.645,2090,1.645,2091,1.645,2092,1.645,2093,1.645,2094,1.645,2095,1.645,2096,4.49,2097,1.645,2098,2.654,2099,1.645,2100,1.645,2101,3.828,2102,3.336,2103,3.336,2104,1.645,2105,1.645,2106,1.645,2107,1.645,2108,1.645,2109,1.645,2110,1.645,2111,1.645,2112,1.645,2113,1.645,2114,1.645,2115,1.645,2116,1.645,2117,1.645,2118,1.645,2119,1.645,2120,1.645,2121,1.645,2122,1.645,2123,1.645,2124,1.645,2125,1.645,2126,1.645,2127,1.645,2128,1.645,2129,1.645,2130,1.645,2131,1.645,2132,1.645,2133,1.645,2134,1.645,2135,6,2136,6.337,2137,1.645,2138,1.645,2139,1.645,2140,1.645,2141,1.645,2142,1.645,2143,1.645,2144,1.645,2145,1.645,2146,1.645,2147,1.645,2148,1.645,2149,1.645,2150,1.645,2151,1.645,2152,1.645,2153,4.49,2154,1.645,2155,1.645,2156,1.645,2157,1.645,2158,1.645,2159,1.645,2160,3.336,2161,1.645,2162,1.645,2163,1.645,2164,1.645,2165,1.645,2166,1.645,2167,1.645,2168,1.645,2169,2.654,2170,1.645,2171,1.645,2172,1.645,2173,1.645,2174,1.645,2175,1.645,2176,1.645,2177,1.645,2178,1.645,2179,2.654,2180,1.645,2181,1.645,2182,1.645,2183,1.645,2184,1.645,2185,1.645,2186,1.645,2187,1.645,2188,1.645,2189,2.654,2190,1.645,2191,1.645,2192,1.645,2193,1.645,2194,1.645,2195,1.645,2196,1.645,2197,1.645,2198,1.645,2199,1.645,2200,1.645,2201,1.645,2202,1.645,2203,1.645,2204,1.645,2205,1.645,2206,1.645,2207,1.645,2208,1.645,2209,1.645,2210,1.645,2211,1.645,2212,1.645,2213,1.645,2214,1.645,2215,1.645,2216,1.645,2217,1.645,2218,1.645,2219,1.645,2220,1.645,2221,1.645,2222,1.645,2223,1.645,2224,1.645,2225,1.645,2226,1.645,2227,1.645,2228,1.645,2229,1.645]]],"invertedIndex":[["",{"_index":17,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":287,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.1.0",{"_index":1432,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1656,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1597,"title":{},"body":{"dependencies.html":{}}}],["0.2",{"_index":708,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.2.0",{"_index":1429,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1618,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":707,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5*255",{"_index":716,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5.0",{"_index":1417,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1388,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.9*255",{"_index":733,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.999999",{"_index":585,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["0/1",{"_index":1444,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":1452,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":1454,"title":{},"body":{"coverage.html":{}}}],["0/21",{"_index":1453,"title":{},"body":{"coverage.html":{}}}],["0/24",{"_index":1458,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1450,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1249,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["03b3d854",{"_index":2094,"title":{},"body":{"miscellaneous/variables.html":{}}}],["04",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["07a29e4c",{"_index":2100,"title":{},"body":{"miscellaneous/variables.html":{}}}],["08",{"_index":1362,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["0a7c1eab007a",{"_index":2114,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e368f3075e8",{"_index":2098,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e8017bdda58",{"_index":2103,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0efb3ba9a670",{"_index":2122,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":518,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["1)[0].split('_')[0].tolowercase()}.x('${o.id.split('_').slice",{"_index":1965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1)[0]}'),`).join('\\n",{"_index":1966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1.0",{"_index":1283,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1348,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1592,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1601,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1652,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1325,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1629,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1594,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1282,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1605,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1632,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":1248,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":1225,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1619,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1608,"title":{},"body":{"dependencies.html":{}}}],["1.jpg",{"_index":2136,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1/1",{"_index":1449,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":371,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":1617,"title":{},"body":{"dependencies.html":{}}}],["10/10",{"_index":1447,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":519,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":456,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["101",{"_index":1782,"title":{},"body":{"miscellaneous/variables.html":{}}}],["102",{"_index":2064,"title":{},"body":{"miscellaneous/variables.html":{}}}],["103",{"_index":2060,"title":{},"body":{"miscellaneous/variables.html":{}}}],["108",{"_index":2077,"title":{},"body":{"miscellaneous/variables.html":{}}}],["10x",{"_index":1337,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1227,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["11.2.1",{"_index":1634,"title":{},"body":{"dependencies.html":{}}}],["11e8",{"_index":2096,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11e9",{"_index":2120,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11eb",{"_index":2128,"title":{},"body":{"miscellaneous/variables.html":{}}}],["12",{"_index":969,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1636,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1543,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1551,"title":{},"body":{"dependencies.html":{}}}],["121",{"_index":1779,"title":{},"body":{"miscellaneous/variables.html":{}}}],["13",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1541,"title":{},"body":{"dependencies.html":{}}}],["155",{"_index":2067,"title":{},"body":{"miscellaneous/variables.html":{}}}],["16",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1610,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["172",{"_index":2055,"title":{},"body":{"miscellaneous/variables.html":{}}}],["183",{"_index":1785,"title":{},"body":{"miscellaneous/variables.html":{}}}],["19/19",{"_index":1514,"title":{},"body":{"coverage.html":{}}}],["2",{"_index":755,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["2.0.0",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1614,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":1088,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":1078,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":1035,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1638,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1603,"title":{},"body":{"dependencies.html":{}}}],["2.jpg",{"_index":2218,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2/3",{"_index":1512,"title":{},"body":{"coverage.html":{}}}],["2000",{"_index":457,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["2019",{"_index":1361,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["202",{"_index":2073,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2020",{"_index":1285,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["203",{"_index":2059,"title":{},"body":{"miscellaneous/variables.html":{}}}],["204",{"_index":1780,"title":{},"body":{"miscellaneous/variables.html":{}}}],["21",{"_index":1167,"title":{},"body":{"changelog.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["213",{"_index":1783,"title":{},"body":{"miscellaneous/variables.html":{}}}],["22",{"_index":1350,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["24",{"_index":1418,"title":{},"body":{"changelog.html":{}}}],["24/32",{"_index":1446,"title":{},"body":{"coverage.html":{}}}],["240",{"_index":1784,"title":{},"body":{"miscellaneous/variables.html":{}}}],["25/25",{"_index":1513,"title":{},"body":{"coverage.html":{}}}],["255",{"_index":706,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["26",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["29",{"_index":1781,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3",{"_index":1269,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["3.0.0",{"_index":1016,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1567,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1572,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1574,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1688,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":1644,"title":{},"body":{"dependencies.html":{}}}],["3.7.1",{"_index":1583,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1586,"title":{},"body":{"dependencies.html":{}}}],["3/3",{"_index":1465,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["301615f9",{"_index":2126,"title":{},"body":{"miscellaneous/variables.html":{}}}],["308f5ffc",{"_index":2105,"title":{},"body":{"miscellaneous/variables.html":{}}}],["31",{"_index":1326,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":2043,"title":{},"body":{"miscellaneous/variables.html":{}}}],["35ce3d8786fe",{"_index":2130,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3d",{"_index":424,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["4",{"_index":1300,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["4.0",{"_index":1667,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1580,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1612,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1627,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1599,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1621,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":1467,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":2068,"title":{},"body":{"miscellaneous/variables.html":{}}}],["403",{"_index":2062,"title":{},"body":{"miscellaneous/variables.html":{}}}],["41",{"_index":1778,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5",{"_index":1764,"title":{},"body":{"overview.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":1624,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1626,"title":{},"body":{"dependencies.html":{}}}],["5/5",{"_index":1466,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":835,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["500",{"_index":364,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["5bd084c8",{"_index":2107,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5c106f29",{"_index":2118,"title":{},"body":{"miscellaneous/variables.html":{}}}],["6",{"_index":2189,"title":{},"body":{"miscellaneous/variables.html":{}}}],["6.0.1",{"_index":1625,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1640,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1577,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1649,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1646,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":1470,"title":{},"body":{"coverage.html":{}}}],["60",{"_index":455,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["60*60*1000",{"_index":299,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["66",{"_index":1511,"title":{},"body":{"coverage.html":{}}}],["7",{"_index":2065,"title":{},"body":{"miscellaneous/variables.html":{}}}],["7/7",{"_index":1469,"title":{},"body":{"coverage.html":{}}}],["73bb26e4",{"_index":2112,"title":{},"body":{"miscellaneous/variables.html":{}}}],["75",{"_index":1445,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["76",{"_index":2071,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8",{"_index":1173,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["8.3.2",{"_index":1654,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1571,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1560,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1563,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":1468,"title":{},"body":{"coverage.html":{}}}],["802f",{"_index":2109,"title":{},"body":{"miscellaneous/variables.html":{}}}],["85",{"_index":1428,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["85e8",{"_index":2121,"title":{},"body":{"miscellaneous/variables.html":{}}}],["86",{"_index":2057,"title":{},"body":{"miscellaneous/variables.html":{}}}],["89",{"_index":2079,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8bce",{"_index":2097,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8f19",{"_index":2113,"title":{},"body":{"miscellaneous/variables.html":{}}}],["90",{"_index":1372,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["96",{"_index":2074,"title":{},"body":{"miscellaneous/variables.html":{}}}],["97",{"_index":2075,"title":{},"body":{"miscellaneous/variables.html":{}}}],["98",{"_index":1786,"title":{},"body":{"miscellaneous/variables.html":{}}}],["9th",{"_index":1204,"title":{},"body":{"changelog.html":{}}}],["_",{"_index":1963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_error",{"_index":870,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["_lighting",{"_index":666,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["_source",{"_index":859,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["a8dc",{"_index":2129,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ability",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1413,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["acc.concat(structures.length",{"_index":697,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["accessors",{"_index":1912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["accurate",{"_index":1191,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1755,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1273,"title":{},"body":{"changelog.html":{}}}],["actually",{"_index":306,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["add",{"_index":357,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["adddatasources(sources",{"_index":340,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["added",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["addedge",{"_index":475,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addedge(id",{"_index":483,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addhubmapdatatostore",{"_index":905,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["additional",{"_index":1414,"title":{},"body":{"changelog.html":{}}}],["addjsonldtostore",{"_index":196,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(hubmapdata",{"_index":907,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(source",{"_index":346,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore",{"_index":197,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore(source",{"_index":348,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addnode",{"_index":476,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addnode(id",{"_index":485,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addrdfxmltostore",{"_index":198,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addrdfxmltostore(source",{"_index":352,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addressed",{"_index":1319,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":904,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["adjusting",{"_index":1313,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["af_preims_registered_thumbnail.jpg",{"_index":2044,"title":{},"body":{"miscellaneous/variables.html":{}}}],["af_premxif_registered_thumbnail.jpg",{"_index":2049,"title":{},"body":{"miscellaneous/variables.html":{}}}],["again",{"_index":35,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["age",{"_index":102,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["agerange",{"_index":131,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregate",{"_index":9,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregateresult",{"_index":1,"title":{"interfaces/AggregateResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["aggregating",{"_index":468,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ala",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1767,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allow",{"_index":360,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["allows",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1400,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1380,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1375,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1360,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1671,"title":{},"body":{"index.html":{}}}],["amount",{"_index":37,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["analytics",{"_index":1137,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":789,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["ancestors",{"_index":842,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["and/or",{"_index":1725,"title":{},"body":{"license.html":{}}}],["angular",{"_index":994,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1542,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1544,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1545,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1546,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1547,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1548,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1549,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1550,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1552,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1554,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1555,"title":{},"body":{"dependencies.html":{}}}],["annotation",{"_index":787,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["annotations",{"_index":785,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["aorta",{"_index":1949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":183,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1681,"title":{},"body":{"index.html":{}}}],["appear",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["applicable",{"_index":791,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["application",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["application/json",{"_index":850,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["applied",{"_index":125,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["applyspatialplacement",{"_index":1451,"title":{},"body":{"coverage.html":{}}}],["applyspatialplacement(matrix",{"_index":577,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["applyspatialplacement(tx",{"_index":510,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["appropriate",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1759,"title":{},"body":{"license.html":{}}}],["array",{"_index":381,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["asct+b",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["asctb",{"_index":1792,"title":{},"body":{"miscellaneous/variables.html":{}}}],["assertions",{"_index":393,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["assets",{"_index":182,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["assetsapi",{"_index":895,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["assignment/selection",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":50,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"license.html":{}}}],["assumes",{"_index":354,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["async",{"_index":276,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["attempts",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1748,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":1304,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1257,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1297,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":284,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["award",{"_index":1700,"title":{},"body":{"index.html":{}}}],["b56a",{"_index":2102,"title":{},"body":{"miscellaneous/variables.html":{}}}],["backend",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1411,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1385,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["based",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["bearer",{"_index":852,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["before",{"_index":33,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["being",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":1020,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1354,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1591,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":78,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocks",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["blood",{"_index":1951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blood_vasculature",{"_index":1967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blue",{"_index":1523,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":103,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["bmirange",{"_index":132,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["board",{"_index":1377,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":425,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["bodyid",{"_index":681,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["bodyobj",{"_index":854,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["bone_marrow",{"_index":1953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["boolean",{"_index":141,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["both",{"_index":129,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["bothsexes",{"_index":1802,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bounding",{"_index":712,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["box",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["boxes",{"_index":713,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["brain",{"_index":1969,"title":{},"body":{"miscellaneous/variables.html":{}}}],["break",{"_index":520,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["breaking",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":1365,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":1647,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":1434,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1663,"title":{},"body":{"index.html":{}}}],["building",{"_index":465,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["builds",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1379,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1705,"title":{},"body":{"license.html":{}}}],["c870",{"_index":2127,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cache",{"_index":1589,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":1651,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":278,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["cachedconnect",{"_index":288,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["callback",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["caltech",{"_index":2106,"title":{},"body":{"miscellaneous/variables.html":{}}}],["came",{"_index":792,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["cancelregistration",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1352,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1595,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":516,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["cases",{"_index":1324,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":305,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["catch((error",{"_index":471,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ccf",{"_index":207,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ccf's",{"_index":1278,"title":{},"body":{"changelog.html":{}}}],["ccf.spatial.bothsexes.id",{"_index":685,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.female.id",{"_index":684,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.male.id",{"_index":683,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatialentity",{"_index":546,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialentity.x_dimension.id",{"_index":2227,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.y_dimension.id",{"_index":2228,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.z_dimension.id",{"_index":2229,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialobjectreference",{"_index":545,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.source",{"_index":551,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.target",{"_index":554,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf_annotations",{"_index":661,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["ccfcontexturl",{"_index":164,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabase",{"_index":253,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfdatabasekey",{"_index":293,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfdatabaseoptions",{"_index":160,"title":{"interfaces/CCFDatabaseOptions.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabasestatustracker",{"_index":235,"title":{"classes/CCFDatabaseStatusTracker.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["ccfdatabasestatustracker(this",{"_index":399,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl",{"_index":165,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfowlurl.endswith('.n3store.json",{"_index":317,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl.startswith",{"_index":313,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl?.length",{"_index":324,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialgraph",{"_index":206,"title":{"classes/CCFSpatialGraph.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["ccfspatialgraph(this",{"_index":267,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialscene",{"_index":209,"title":{"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfspatialscene(this",{"_index":269,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfx",{"_index":1528,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfx('anatomical_structure_of",{"_index":1825,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_annotation",{"_index":1823,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_part_of",{"_index":1789,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_preferred_label",{"_index":1788,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_representation_of",{"_index":1824,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_rui_rank",{"_index":1790,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_slice_count",{"_index":1833,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_slice_thickness",{"_index":1832,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('characterizes",{"_index":1799,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creation_date",{"_index":1820,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_first_name",{"_index":1817,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_last_name",{"_index":1818,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_orcid",{"_index":1819,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ct_is_a",{"_index":1795,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('extraction_set_for",{"_index":1827,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('extraction_site_for",{"_index":1829,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_dimension_units",{"_index":1837,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_file",{"_index":1811,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_file_format",{"_index":1812,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_file_subpath",{"_index":1813,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_reference",{"_index":1838,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_placement_date",{"_index":1841,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_placement_source",{"_index":1839,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_placement_target",{"_index":1840,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_rotation_order",{"_index":1850,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_rotation_units",{"_index":1851,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_scaling_units",{"_index":1845,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_sex",{"_index":1830,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_side",{"_index":1831,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_theta_rotation",{"_index":1849,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_translation_units",{"_index":1855,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_dimension",{"_index":1834,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_rotation",{"_index":1846,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_scaling",{"_index":1842,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_translation",{"_index":1852,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_dimension",{"_index":1835,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_rotation",{"_index":1847,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_scaling",{"_index":1843,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_translation",{"_index":1853,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_dimension",{"_index":1836,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_rotation",{"_index":1848,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_scaling",{"_index":1844,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_translation",{"_index":1854,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('located_in",{"_index":1797,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatialentity",{"_index":1809,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatialobjectreference",{"_index":1808,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatialplacement",{"_index":1810,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('updated_date",{"_index":1822,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhbothsexes",{"_index":1803,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhfemale",{"_index":1800,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhfemaleorgans",{"_index":1805,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhmale",{"_index":1801,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhmaleorgans",{"_index":1807,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cell",{"_index":413,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["celltype",{"_index":108,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["celltypeterms",{"_index":109,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["center",{"_index":1695,"title":{},"body":{"index.html":{}}}],["centimeter",{"_index":517,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["change",{"_index":1158,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":1408,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":910,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["characterizes",{"_index":1798,"title":{},"body":{"miscellaneous/variables.html":{}}}],["charge",{"_index":1711,"title":{},"body":{"license.html":{}}}],["checkback",{"_index":36,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["checking",{"_index":34,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["child",{"_index":145,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["children",{"_index":147,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["choose",{"_index":1298,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1276,"title":{},"body":{"changelog.html":{}}}],["cl",{"_index":1529,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cl.cell",{"_index":1923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["claim",{"_index":1751,"title":{},"body":{"license.html":{}}}],["class",{"_index":252,"title":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["classes",{"_index":436,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"overview.html":{}}}],["clean",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":1684,"title":{},"body":{"index.html":{}}}],["code",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1288,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1336,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1393,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1286,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":1306,"title":{},"body":{"changelog.html":{}}}],["colon",{"_index":1926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["color",{"_index":671,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["coloring",{"_index":811,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["colorizing",{"_index":1345,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1299,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1341,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1333,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1598,"title":{},"body":{"dependencies.html":{}}}],["comment",{"_index":775,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["common",{"_index":911,"title":{},"body":{"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["compatible",{"_index":885,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["complexity",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":971,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["comunica/query",{"_index":1557,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1600,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1733,"title":{},"body":{"license.html":{}}}],["cone",{"_index":658,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["config",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["configuration",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":441,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["connect(options",{"_index":277,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connected",{"_index":308,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connection",{"_index":1760,"title":{},"body":{"license.html":{}}}],["connects",{"_index":270,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log('couldn\\'t",{"_index":321,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log(all_possible_organs.map(o",{"_index":1959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["console.warn(`unable",{"_index":903,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["consortium",{"_index":1706,"title":{},"body":{"license.html":{}}}],["consortiumname",{"_index":1868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["const",{"_index":245,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constants",{"_index":1910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["constructor",{"_index":443,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(database",{"_index":444,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["constructor(db",{"_index":480,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(private",{"_index":537,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constructor(public",{"_index":261,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["container",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1661,"title":{},"body":{"index.html":{}}}],["context",{"_index":173,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["context.jsonld",{"_index":249,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["contract",{"_index":1756,"title":{},"body":{"license.html":{}}}],["control",{"_index":1244,"title":{},"body":{"changelog.html":{}}}],["convention",{"_index":2089,"title":{},"body":{"miscellaneous/variables.html":{}}}],["coordinate",{"_index":117,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["copies",{"_index":1727,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1714,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1704,"title":{},"body":{"license.html":{}}}],["cord",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1602,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":14,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["counts",{"_index":410,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["coverage",{"_index":1373,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["create",{"_index":1911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["created",{"_index":1253,"title":{},"body":{"changelog.html":{}}}],["created_by_user_displayname",{"_index":841,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["creategraph",{"_index":477,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["creates",{"_index":254,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["creation",{"_index":782,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["creation_date",{"_index":784,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator",{"_index":776,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_first_name",{"_index":778,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_last_name",{"_index":780,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_orcid",{"_index":781,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["credits",{"_index":1690,"title":{},"body":{"index.html":{}}}],["css",{"_index":1604,"title":{},"body":{"dependencies.html":{}}}],["ct_is_a",{"_index":1794,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cube",{"_index":655,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cuboid",{"_index":1371,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1368,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":44,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["currently",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1692,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["cylinder",{"_index":659,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["damages",{"_index":1752,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":65,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["data.ts",{"_index":1442,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database",{"_index":26,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["database.last_modified",{"_index":292,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["database.ts",{"_index":162,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/cache",{"_index":1441,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/ccf",{"_index":161,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/hubmap/hubmap",{"_index":825,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/interfaces.ts",{"_index":7,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["database/src/lib/queries/aggregate",{"_index":1471,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/find",{"_index":1474,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/ontology",{"_index":1489,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/spatial",{"_index":1494,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/tissue",{"_index":1502,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/spatial",{"_index":766,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["database/src/lib/util/ccf",{"_index":437,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["database/src/lib/util/enrich",{"_index":1515,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/n3",{"_index":1517,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/origin",{"_index":1521,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/prefixes.ts",{"_index":1527,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/probing",{"_index":1535,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["databasestatus",{"_index":24,"title":{"interfaces/DatabaseStatus.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datafactory",{"_index":199,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["datafactory.literal('female",{"_index":1867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('male",{"_index":1866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('non",{"_index":1881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('tissue",{"_index":1878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.namednode('http://www.geneontology.org/formats/oboinowl#hasexactsynonym",{"_index":1791,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataset",{"_index":61,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["datasetresult",{"_index":62,"title":{"interfaces/DatasetResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datasetresultset",{"_index":1506,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["datasets",{"_index":80,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["datasources",{"_index":166,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["dataurl",{"_index":886,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["date",{"_index":783,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["date().gettime",{"_index":290,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date().toisostring().split('t')[0",{"_index":590,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["date(+lastmodified).gettime",{"_index":298,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date.now",{"_index":460,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["db",{"_index":482,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dc",{"_index":1908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["deal",{"_index":1716,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1761,"title":{},"body":{"license.html":{}}}],["debug",{"_index":140,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["debugdonors",{"_index":1459,"title":{},"body":{"coverage.html":{}}}],["debugging",{"_index":138,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["december",{"_index":1293,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1559,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1561,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1564,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1565,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":1579,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["def5fd76",{"_index":2116,"title":{},"body":{"miscellaneous/variables.html":{}}}],["default",{"_index":244,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_api_search_query",{"_index":845,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_ccf_db_options",{"_index":246,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":445,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"changelog.html":{}}}],["degree",{"_index":608,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["delay",{"_index":359,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany",{"_index":190,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany([ccfdatabasekey",{"_index":300,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["demo",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":1141,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["derived",{"_index":81,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["descendants",{"_index":843,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descrepancies",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["describing",{"_index":812,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["description",{"_index":8,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["deserialize(value",{"_index":369,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store",{"_index":200,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(ccfowlurl",{"_index":316,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(storestring",{"_index":323,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(value",{"_index":370,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["desired",{"_index":748,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["details",{"_index":1416,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1691,"title":{},"body":{"index.html":{}}}],["developments",{"_index":1398,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["differencecallback",{"_index":1475,"title":{},"body":{"coverage.html":{}}}],["different",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1270,"title":{},"body":{"changelog.html":{}}}],["dim",{"_index":754,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dimension",{"_index":806,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["dimension_units",{"_index":810,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["dimensions",{"_index":749,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["direct",{"_index":1425,"title":{},"body":{"changelog.html":{}}}],["directedgraph",{"_index":497,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["directly",{"_index":1334,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":388,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["display",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":1369,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1723,"title":{},"body":{"license.html":{}}}],["doapisearch",{"_index":871,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["doapisearch(dataurl",{"_index":901,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["doc",{"_index":1383,"title":{},"body":{"changelog.html":{}}}],["doconnect",{"_index":309,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["docs",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1606,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":1012,"title":{},"body":{"changelog.html":{},"coverage.html":{},"license.html":{}}}],["docvalue_fields",{"_index":858,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["done",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":53,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["donorresult",{"_index":54,"title":{"interfaces/DonorResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["donorresultset",{"_index":1507,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["donors",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["dosearchrequest",{"_index":862,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["dosearchrequest(dataurl",{"_index":900,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dosearchrequest(url",{"_index":875,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dotenv",{"_index":1609,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1409,"title":{},"body":{"changelog.html":{}}}],["dr1_vu_thumbs",{"_index":1460,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["during",{"_index":126,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["dynamic",{"_index":1553,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["ea2d",{"_index":2119,"title":{},"body":{"miscellaneous/variables.html":{}}}],["each",{"_index":86,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["easier",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["ed43",{"_index":2101,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ed44",{"_index":2095,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edc2",{"_index":2108,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edgesource",{"_index":548,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["edgesource[quad.subject.id",{"_index":552,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["effect",{"_index":1316,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["elastic",{"_index":187,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["electric",{"_index":2125,"title":{},"body":{"miscellaneous/variables.html":{}}}],["element",{"_index":1159,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["endpoint",{"_index":896,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["enrichruilocations",{"_index":238,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["enrichruilocations(this.store",{"_index":366,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["entities",{"_index":385,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["entity",{"_index":93,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity.datasets.id",{"_index":2039,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.description.id",{"_index":2029,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.donor.id",{"_index":2036,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.label.id",{"_index":2028,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.link.id",{"_index":2030,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.owl",{"_index":1897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.providername.id",{"_index":2027,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sampletype.id",{"_index":2032,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectioncount.id",{"_index":2033,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionnumber.id",{"_index":2040,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sections.id",{"_index":2038,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionsize.id",{"_index":2034,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionunits.id",{"_index":2035,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.spatialentity.id",{"_index":2037,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.technology.id",{"_index":2025,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.thumbnail.id",{"_index":2026,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity_context",{"_index":1461,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity_type",{"_index":837,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["entityid",{"_index":660,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["error",{"_index":29,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["error?.message",{"_index":472,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["es",{"_index":1596,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":387,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["eslint/consistent",{"_index":392,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["eslint/naming",{"_index":2088,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eslint/no",{"_index":535,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["etc",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":973,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["euler",{"_index":493,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler().fromrotationmatrix(matrix",{"_index":579,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.tovector3().map(todegrees",{"_index":583,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.xyz",{"_index":580,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["event",{"_index":1747,"title":{},"body":{"license.html":{}}}],["exists",{"_index":846,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["expanded",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["explicit",{"_index":536,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["exploration",{"_index":1665,"title":{},"body":{"index.html":{}}}],["export",{"_index":23,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["express",{"_index":1611,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["expressed",{"_index":816,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["extends",{"_index":55,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["external",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1616,"title":{},"body":{"dependencies.html":{}}}],["extracted",{"_index":83,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["extraction",{"_index":768,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["extraction_set",{"_index":1828,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extraction_set_for",{"_index":1826,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extractionset",{"_index":636,"title":{"interfaces/ExtractionSet.html":{}},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["extractionsites",{"_index":770,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["eye",{"_index":1939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_left",{"_index":1971,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_right",{"_index":1973,"title":{},"body":{"miscellaneous/variables.html":{}}}],["factor",{"_index":513,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["factory",{"_index":265,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["fail",{"_index":1291,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1321,"title":{},"body":{"changelog.html":{}}}],["fallopian_tube",{"_index":1941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_left",{"_index":1975,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_right",{"_index":1977,"title":{},"body":{"miscellaneous/variables.html":{}}}],["false",{"_index":279,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["favor",{"_index":1281,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":1233,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":101,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["femaleorgans",{"_index":1804,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fetch",{"_index":1637,"title":{},"body":{"dependencies.html":{}}}],["fetch(ccfowlurl).then(r",{"_index":319,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["fetch(url",{"_index":867,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["field",{"_index":22,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["fields",{"_index":833,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["file_format",{"_index":771,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["file_subpath",{"_index":773,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["files",{"_index":1715,"title":{},"body":{"license.html":{}}}],["filter",{"_index":128,"title":{"interfaces/Filter.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["filter(s",{"_index":736,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.debug",{"_index":691,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex",{"_index":682,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex?.tolowercase",{"_index":723,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filterbyage",{"_index":1476,"title":{},"body":{"coverage.html":{}}}],["filterbybmi",{"_index":1477,"title":{},"body":{"coverage.html":{}}}],["filterbycelltypeterms",{"_index":1478,"title":{},"body":{"coverage.html":{}}}],["filterbygroupname",{"_index":1479,"title":{},"body":{"coverage.html":{}}}],["filterbyhasspatialentity",{"_index":1480,"title":{},"body":{"coverage.html":{}}}],["filterbyontologyterms",{"_index":1481,"title":{},"body":{"coverage.html":{}}}],["filterbyprobingsphere",{"_index":1498,"title":{},"body":{"coverage.html":{}}}],["filterbysex",{"_index":1482,"title":{},"body":{"coverage.html":{}}}],["filterbyspatialsearches",{"_index":1483,"title":{},"body":{"coverage.html":{}}}],["filterbytechnology",{"_index":1484,"title":{},"body":{"coverage.html":{}}}],["filters",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["filterwithdataset",{"_index":1485,"title":{},"body":{"coverage.html":{}}}],["filterwithdonor",{"_index":1486,"title":{},"body":{"coverage.html":{}}}],["filterwithspatialentity",{"_index":1487,"title":{},"body":{"coverage.html":{}}}],["final",{"_index":1284,"title":{},"body":{"changelog.html":{}}}],["finally",{"_index":473,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["findids",{"_index":218,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["findids(this.store",{"_index":374,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["finishing",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":777,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["firstresult",{"_index":874,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits",{"_index":883,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.hits.concat(...items",{"_index":884,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.total.value",{"_index":879,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["fit",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1743,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1346,"title":{},"body":{"changelog.html":{}}}],["flatspatialplacement",{"_index":232,"title":{"interfaces/FlatSpatialPlacement.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["flexible",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["florida",{"_index":2104,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fly",{"_index":1431,"title":{},"body":{"changelog.html":{}}}],["fma",{"_index":1530,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["fma.x('24977",{"_index":1988,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('24978",{"_index":1986,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('54449",{"_index":1974,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7213",{"_index":2000,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7214",{"_index":1998,"title":{},"body":{"miscellaneous/variables.html":{}}}],["following",{"_index":1732,"title":{},"body":{"license.html":{}}}],["form",{"_index":423,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["format",{"_index":180,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["frame",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":912,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["free",{"_index":1710,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1615,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1378,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":1199,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":509,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["functions.ts",{"_index":1518,"title":{},"body":{"coverage.html":{}}}],["funded",{"_index":1698,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1730,"title":{},"body":{"license.html":{}}}],["further",{"_index":1374,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["g",{"_index":1962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["general",{"_index":2124,"title":{},"body":{"miscellaneous/variables.html":{}}}],["generally",{"_index":89,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["generate",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["geometry",{"_index":665,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["get(ccfdatabasekey).catch",{"_index":302,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(id",{"_index":377,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(lastmodifiedkey).catch",{"_index":295,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(source",{"_index":572,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getaggregateresults",{"_index":214,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getaggregateresults(filter",{"_index":407,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getaggregateresults(this.getids(filter",{"_index":408,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getallentities",{"_index":1488,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructuremapping",{"_index":1490,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructures",{"_index":617,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getanatomicalstructures(iri",{"_index":629,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructures(this.db.store",{"_index":679,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructuretreemodel",{"_index":226,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["getanatomicalstructuretreemodel(this.store",{"_index":417,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getanatomicalstructuretreemodelslowly",{"_index":1492,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody",{"_index":1455,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody(0",{"_index":873,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchbody(from",{"_index":853,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchheaders",{"_index":1456,"title":{},"body":{"coverage.html":{}}}],["getapisearchheaders(token",{"_index":847,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getcelltypetermoccurences",{"_index":221,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetermoccurences(filter",{"_index":414,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetermoccurences(this.getids(filter",{"_index":415,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetreemodel",{"_index":227,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetreemodel(this.store",{"_index":418,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatabasestatus",{"_index":397,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatasetresult",{"_index":1503,"title":{},"body":{"coverage.html":{}}}],["getdatasettechnologynames",{"_index":215,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getdatasettechnologynames(this.store",{"_index":403,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdonorresult",{"_index":1504,"title":{},"body":{"coverage.html":{}}}],["getentityscenenodes",{"_index":618,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getentityscenenodes(filter",{"_index":631,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getentries",{"_index":1519,"title":{},"body":{"coverage.html":{}}}],["getextractionset",{"_index":619,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionset(iri",{"_index":634,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionset(this.db.store",{"_index":678,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets",{"_index":620,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionsets(iri",{"_index":637,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets(this.db.store",{"_index":677,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getids(filter",{"_index":373,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getmappedresult",{"_index":1520,"title":{},"body":{"coverage.html":{}}}],["getobjects",{"_index":1473,"title":{},"body":{"coverage.html":{}}}],["getontologytermoccurences",{"_index":222,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytermoccurences(filter",{"_index":411,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytermoccurences(this.getids(filter",{"_index":412,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytreemodel",{"_index":416,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytreenode",{"_index":1493,"title":{},"body":{"coverage.html":{}}}],["getorientedboundingbox",{"_index":1499,"title":{},"body":{"coverage.html":{}}}],["getoriginscene",{"_index":1522,"title":{},"body":{"coverage.html":{}}}],["getprobingspherescene",{"_index":1536,"title":{},"body":{"coverage.html":{}}}],["getprovidernames",{"_index":216,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getprovidernames(this.store",{"_index":404,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getreferencebody",{"_index":621,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencebody(filter",{"_index":639,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgans",{"_index":421,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getreferenceorgans(this.db.store",{"_index":680,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorganscene",{"_index":622,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorganscene(organiri",{"_index":431,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgansets",{"_index":623,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorgansets(filter",{"_index":643,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferencescenenodes",{"_index":624,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencescenenodes(filter",{"_index":645,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["gets",{"_index":372,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getscene",{"_index":625,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscene(filter",{"_index":427,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getscenenode",{"_index":626,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscenenode(source",{"_index":648,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentities(filter",{"_index":386,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentity",{"_index":627,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getspatialentity(iri",{"_index":652,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentity(this.db.store",{"_index":676,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentitydimensions",{"_index":1500,"title":{},"body":{"coverage.html":{}}}],["getspatialentityforentity",{"_index":228,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getspatialentityforentity(this.store",{"_index":395,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentitymapping",{"_index":1491,"title":{},"body":{"coverage.html":{}}}],["getspatialobjectreference",{"_index":1495,"title":{},"body":{"coverage.html":{}}}],["getspatialplacement",{"_index":478,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["getspatialplacement(source",{"_index":433,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["getspatialplacement(store",{"_index":569,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getting",{"_index":908,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresult",{"_index":230,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["gettissueblockresult(this.store",{"_index":406,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissueblockresults(filter",{"_index":405,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissuesectionresult",{"_index":1505,"title":{},"body":{"coverage.html":{}}}],["gettransformationmatrix",{"_index":479,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["gettransformationmatrix(sourceiri",{"_index":489,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["github",{"_index":1272,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["gold",{"_index":1537,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["good",{"_index":1318,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":1136,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1709,"title":{},"body":{"license.html":{}}}],["graph",{"_index":208,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["graph.ts",{"_index":474,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["graph.ts:110",{"_index":488,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:41",{"_index":481,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:47",{"_index":487,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:74",{"_index":486,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:78",{"_index":484,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:82",{"_index":490,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graphical",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":498,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["gray",{"_index":1524,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["greatly",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["green",{"_index":1525,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["group_name",{"_index":839,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid",{"_index":838,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid_mapping",{"_index":1462,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["gtex",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1309,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":1314,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1353,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1292,"title":{},"body":{"changelog.html":{}}}],["has3dobject",{"_index":737,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["has_cell_type_term",{"_index":2092,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_dataset",{"_index":2087,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_donor",{"_index":2085,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_ontology_term",{"_index":2091,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_spatial_entity",{"_index":2090,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_thumbnail",{"_index":2093,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_tissue_section",{"_index":2086,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hassexfilter",{"_index":722,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["hasspatialentity",{"_index":394,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hbm",{"_index":2110,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739",{"_index":2167,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739_ufl0006",{"_index":2168,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263",{"_index":2204,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263_ufl0008",{"_index":2205,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223",{"_index":2196,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223_ufl0003",{"_index":2197,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985",{"_index":2156,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985_ufl0005",{"_index":2157,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867",{"_index":2212,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867_ufl0003",{"_index":2213,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627",{"_index":2142,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627_ufl0008",{"_index":2143,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546",{"_index":2208,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546_ufl0003",{"_index":2209,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542",{"_index":2151,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542_ufl0006",{"_index":2152,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654",{"_index":2170,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654_ufl0003",{"_index":2171,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663",{"_index":2154,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663_ufl0006",{"_index":2155,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624",{"_index":2161,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624_ufl0005",{"_index":2162,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564",{"_index":2216,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564_ufl0001",{"_index":2217,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739",{"_index":2184,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739_ufl0003",{"_index":2185,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578",{"_index":2190,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578_ufl0009",{"_index":2191,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244",{"_index":2219,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244_ufl0004",{"_index":2220,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778",{"_index":2180,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778_ufl0007",{"_index":2181,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424",{"_index":2163,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424_ufl0006",{"_index":2164,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866",{"_index":2145,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866_ufl0004",{"_index":2146,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677",{"_index":2147,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677_ufl0001",{"_index":2148,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458",{"_index":2182,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458_ufl0009",{"_index":2183,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629",{"_index":2133,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629_ufl0002",{"_index":2134,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548",{"_index":2137,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548_ufl0006",{"_index":2138,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234",{"_index":2200,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234_ufl0003",{"_index":2201,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996",{"_index":2149,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996_ufl0008",{"_index":2150,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423",{"_index":2174,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423_ufl0008",{"_index":2175,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737",{"_index":2221,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737_ufl0006",{"_index":2222,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674",{"_index":2187,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674_ufl0003",{"_index":2188,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966",{"_index":2198,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966_ufl0007",{"_index":2199,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496",{"_index":2165,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496_ufl0001",{"_index":2166,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684",{"_index":2139,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684_ufl0008",{"_index":2140,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794",{"_index":2202,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794_ufl0008",{"_index":2203,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358",{"_index":2177,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358_ufl0006",{"_index":2178,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856",{"_index":2210,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856_ufl0007",{"_index":2211,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535",{"_index":2158,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535_ufl0009",{"_index":2159,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782",{"_index":2214,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782_ufl0008",{"_index":2215,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788",{"_index":2194,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788_ufl0006",{"_index":2195,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675",{"_index":2172,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675_ufl0008",{"_index":2173,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368",{"_index":2192,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368_ufl0002",{"_index":2193,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383",{"_index":2206,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383_ufl0006",{"_index":2207,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm_prefix",{"_index":1463,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["headers",{"_index":848,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('authorization",{"_index":851,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('content",{"_index":849,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["heart",{"_index":1979,"title":{},"body":{"miscellaneous/variables.html":{}}}],["helmet",{"_index":1620,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1308,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":1857,"title":{},"body":{"miscellaneous/variables.html":{}}}],["here",{"_index":1312,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1708,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1622,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1399,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["hits",{"_index":827,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["holders",{"_index":1749,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1243,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["http://purl.obolibrary.org/obo",{"_index":1900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/cl_",{"_index":1902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/fma_",{"_index":1898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/lmha_",{"_index":1903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_",{"_index":1901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002097",{"_index":703,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["http://purl.org/ccf/1.5/${uuidv4()}_placement",{"_index":588,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["http://purl.org/ccf/latest/ccf",{"_index":1896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl",{"_index":1895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/dc/elements/1.1",{"_index":1909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/1999/02/22",{"_index":1904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/2000/01/rdf",{"_index":1907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://assets.hubmapconsortium.org",{"_index":251,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1668,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1680,"title":{},"body":{"index.html":{}}}],["https://entity.api.hubmapconsortium.org/entities",{"_index":2132,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://hubmap",{"_index":1673,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1672,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":586,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["https://old",{"_index":1675,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org",{"_index":250,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1670,"title":{},"body":{"index.html":{}}}],["https://purl.org/ccf/latest/ccf",{"_index":248,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://purl.org/ccf/latest/ccf.owl",{"_index":247,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1427,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":181,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmap/hubmap",{"_index":213,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapassetsurl",{"_index":167,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdata",{"_index":899,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmapdataservice",{"_index":168,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdataurl",{"_index":169,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapportalurl",{"_index":170,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapquery",{"_index":171,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapresponseasjsonld",{"_index":828,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["hubmapresponseasjsonld(hubmapdata",{"_index":902,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmaptissueblock",{"_index":1457,"title":{},"body":{"coverage.html":{}}}],["hubmaptoken",{"_index":172,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["human",{"_index":42,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["icon",{"_index":1410,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":49,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["id/iri",{"_index":156,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["idb",{"_index":192,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["identifier",{"_index":48,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["identity",{"_index":559,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ids",{"_index":220,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["iec",{"_index":1287,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1280,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1332,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1241,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1382,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1740,"title":{},"body":{"license.html":{}}}],["import",{"_index":189,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["import.ts",{"_index":826,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["improve",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["ims_negmode_multilayer_thumbnail.jpg",{"_index":2046,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ims_posmode_multilayer_thumbnail.jpg",{"_index":2047,"title":{},"body":{"miscellaneous/variables.html":{}}}],["include",{"_index":136,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["included",{"_index":1735,"title":{},"body":{"license.html":{}}}],["included_data_fields",{"_index":836,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["includes",{"_index":860,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["including",{"_index":831,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"license.html":{}}}],["increase",{"_index":1265,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1376,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":12,"title":{"index.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indiana",{"_index":1696,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1246,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":139,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1335,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1296,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":863,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["initial",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["initialization",{"_index":163,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["initialize",{"_index":271,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initialized",{"_index":256,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initializing",{"_index":258,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["inputstore",{"_index":341,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["instance",{"_index":157,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["instead",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1295,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":1217,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1357,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1424,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1279,"title":{},"body":{"changelog.html":{}}}],["iri",{"_index":123,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["iris",{"_index":786,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["isdefinedby",{"_index":1918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["isskin",{"_index":701,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["issue",{"_index":1261,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":96,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["items",{"_index":880,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["iu",{"_index":1396,"title":{},"body":{"changelog.html":{}}}],["javascript",{"_index":995,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":56,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["json.stringify(bodyobj",{"_index":861,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["jsondict",{"_index":1770,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["jsonld",{"_index":174,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{}}}],["jsonld/jsonld",{"_index":194,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["july",{"_index":1356,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1405,"title":{},"body":{"changelog.html":{}}}],["key",{"_index":894,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["keyboard",{"_index":1403,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":193,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["kidney",{"_index":1072,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney_left",{"_index":1981,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kidney_right",{"_index":1983,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":1739,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_left",{"_index":1985,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_right",{"_index":1987,"title":{},"body":{"miscellaneous/variables.html":{}}}],["known",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":1289,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":15,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":149,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["labs/data",{"_index":1576,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1578,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["large_intestine",{"_index":1989,"title":{},"body":{"miscellaneous/variables.html":{}}}],["larger",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":779,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["last_modified_timestamp",{"_index":840,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["lastmodified",{"_index":294,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey",{"_index":291,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey]).catch",{"_index":301,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["latest",{"_index":941,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1562,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":57,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["leak",{"_index":1260,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":793,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["left/right",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["left_bronchus",{"_index":1932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["left_lung",{"_index":1928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["level",{"_index":1401,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1421,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1753,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1750,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":992,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1702,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1718,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1340,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":390,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["link",{"_index":52,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["linkage",{"_index":1358,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":1026,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":46,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["listresultitem",{"_index":47,"title":{"interfaces/ListResultItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["listresultset",{"_index":1508,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["lists",{"_index":798,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["literal",{"_index":823,"title":{},"body":{"interfaces/OntologyTreeModel.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["little",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["live",{"_index":891,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["liver",{"_index":1991,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lk",{"_index":2042,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lmha",{"_index":1531,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":40,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["loaded",{"_index":275,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":1566,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1568,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1569,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":28,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["loadtime",{"_index":41,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["locate",{"_index":322,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["located_in",{"_index":1796,"title":{},"body":{"miscellaneous/variables.html":{}}}],["location",{"_index":1266,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":241,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["locations.ts",{"_index":1516,"title":{},"body":{"coverage.html":{}}}],["lodash",{"_index":502,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["log",{"_index":1689,"title":{},"body":{"index.html":{}}}],["logging",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["long",{"_index":30,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["longer",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":1628,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1570,"title":{},"body":{"dependencies.html":{}}}],["lungs",{"_index":1993,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly01",{"_index":2169,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly02",{"_index":2160,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly03",{"_index":2179,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly06",{"_index":2186,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly07",{"_index":2141,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly09",{"_index":2144,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly10",{"_index":2176,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lymph_node",{"_index":1957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["made",{"_index":814,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["main",{"_index":1443,"title":{},"body":{"coverage.html":{}}}],["major",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":100,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["male_reproductive_system",{"_index":1955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["maleorgans",{"_index":1806,"title":{},"body":{"miscellaneous/variables.html":{}}}],["managers",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["map((entity",{"_index":731,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mapping",{"_index":155,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["mappings",{"_index":1497,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["march",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1635,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":158,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":496,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":1573,"title":{},"body":{"dependencies.html":{}}}],["matrix",{"_index":574,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.getscale().map(n",{"_index":584,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.gettranslation().map(n",{"_index":581,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4",{"_index":492,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["matrix4(matrix4.identity",{"_index":558,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4(matrix4.identity).rotatex(toradians(90)).multiplyleft(transform",{"_index":745,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mc",{"_index":1395,"title":{},"body":{"changelog.html":{}}}],["memoize(getanatomicalstructuretreemodelslowly",{"_index":2223,"title":{},"body":{"miscellaneous/variables.html":{}}}],["memory",{"_index":1259,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1315,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1742,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1721,"title":{},"body":{"license.html":{}}}],["mesenteric_lymph_node",{"_index":1995,"title":{},"body":{"miscellaneous/variables.html":{}}}],["message",{"_index":45,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["metadata",{"_index":1367,"title":{},"body":{"changelog.html":{}}}],["meter",{"_index":522,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["method",{"_index":876,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["methods",{"_index":440,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["millimeter",{"_index":521,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["millimeters",{"_index":90,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["milliseconds",{"_index":32,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["minor",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1765,"title":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1703,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1391,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":152,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["modify",{"_index":1720,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1762,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1658,"title":{},"body":{"index.html":{}}}],["more",{"_index":832,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["moved",{"_index":1412,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1659,"title":{},"body":{"index.html":{}}}],["mxif_cyc1_registered_thumbnail.jpg",{"_index":2050,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc2_registered_thumbnail.jpg",{"_index":2051,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc3_registered_thumbnail.jpg",{"_index":2052,"title":{},"body":{"miscellaneous/variables.html":{}}}],["n",{"_index":582,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["n3",{"_index":176,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["n3.ts",{"_index":1472,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["name",{"_index":59,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["names",{"_index":401,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["nanometers",{"_index":801,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["navigation",{"_index":1404,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1242,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1693,"title":{},"body":{"index.html":{}}}],["new",{"_index":263,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":389,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["ng5",{"_index":1630,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1633,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1575,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1581,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1584,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1585,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1699,"title":{},"body":{"index.html":{}}}],["node",{"_index":142,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["nodeattrs",{"_index":649,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes",{"_index":146,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["nodes.concat",{"_index":714,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes.filter(s",{"_index":721,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["non",{"_index":73,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["noninfringement",{"_index":1746,"title":{},"body":{"license.html":{}}}],["nonstandard",{"_index":1880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["note",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["notice",{"_index":1262,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["ns",{"_index":1906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["null",{"_index":379,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["number",{"_index":18,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["numeric",{"_index":1267,"title":{},"body":{"changelog.html":{}}}],["o",{"_index":693,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.id.split('/').slice",{"_index":1964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.name.tolowercase().replace",{"_index":1960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.representation_of",{"_index":725,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.sex",{"_index":726,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["object",{"_index":375,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["objects",{"_index":380,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["obo",{"_index":1899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":1713,"title":{},"body":{"license.html":{}}}],["occurences",{"_index":225,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["occurrences",{"_index":409,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["off/on",{"_index":1239,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1355,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1674,"title":{},"body":{"index.html":{}}}],["one",{"_index":1302,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":1364,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":1430,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1307,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":104,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["ontology/ccf",{"_index":587,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ontologynode",{"_index":1787,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ontologyterms",{"_index":106,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["ontologytreemodel",{"_index":153,"title":{"interfaces/OntologyTreeModel.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["ontologytreenode",{"_index":143,"title":{"interfaces/OntologyTreeNode.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["opacities",{"_index":1245,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":672,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["openapi",{"_index":1036,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1685,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1687,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1686,"title":{},"body":{"index.html":{}}}],["ops",{"_index":310,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(searchhubmap",{"_index":329,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(this.adddatasources(sources",{"_index":337,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["optimization",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1347,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":137,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["options",{"_index":124,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["order",{"_index":820,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ordering",{"_index":797,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["organ",{"_index":429,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{}}}],["organ.representation_of",{"_index":702,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organiri",{"_index":430,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode",{"_index":729,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode].concat(scene).filter(n",{"_index":734,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs",{"_index":420,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["organs.length",{"_index":727,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs/anatomical",{"_index":1247,"title":{},"body":{"changelog.html":{}}}],["organs[0",{"_index":728,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset",{"_index":687,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.filter(s",{"_index":689,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.map(o",{"_index":692,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["orthographic",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1701,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1758,"title":{},"body":{"license.html":{}}}],["out",{"_index":803,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"license.html":{}}}],["ovary",{"_index":1945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_left",{"_index":1997,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_right",{"_index":1999,"title":{},"body":{"miscellaneous/variables.html":{}}}],["over",{"_index":1274,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1422,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1763,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owl",{"_index":179,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["p",{"_index":512,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"changelog.html":{}}}],["p.translation_units",{"_index":515,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_rotation",{"_index":528,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_scaling",{"_index":531,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_translation",{"_index":524,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_rotation",{"_index":529,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_scaling",{"_index":532,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_translation",{"_index":525,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_rotation].map(toradians",{"_index":530,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_scaling",{"_index":533,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_translation].map(t",{"_index":526,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["package",{"_index":998,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["pancreas",{"_index":2001,"title":{},"body":{"miscellaneous/variables.html":{}}}],["pane",{"_index":1207,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":260,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["parameters",{"_index":447,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["parent",{"_index":77,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["parser",{"_index":1593,"title":{},"body":{"dependencies.html":{}}}],["part_of",{"_index":1793,"title":{},"body":{"miscellaneous/variables.html":{}}}],["partial",{"_index":650,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["particular",{"_index":1744,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["pas_registered_thumbnail.jpg",{"_index":2048,"title":{},"body":{"miscellaneous/variables.html":{}}}],["passthrough",{"_index":353,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["path",{"_index":563,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["path.length",{"_index":565,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path.reverse",{"_index":566,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path/unweighted",{"_index":501,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["pbr",{"_index":709,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["pelvis",{"_index":2003,"title":{},"body":{"miscellaneous/variables.html":{}}}],["per_api_search_request_count",{"_index":834,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["performance",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1707,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1728,"title":{},"body":{"license.html":{}}}],["perreqcount",{"_index":872,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["person",{"_index":1712,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1729,"title":{},"body":{"license.html":{}}}],["placeholder",{"_index":1359,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":511,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["placement[0",{"_index":573,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placement_date",{"_index":589,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["placementid",{"_index":567,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placements",{"_index":547,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placenta",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1556,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1582,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["point",{"_index":898,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["popup",{"_index":1366,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":186,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1339,"title":{},"body":{"changelog.html":{}}}],["portalurl",{"_index":897,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["portions",{"_index":1737,"title":{},"body":{"license.html":{}}}],["position",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":1290,"title":{},"body":{"changelog.html":{}}}],["post",{"_index":877,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["preferences",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["prefix",{"_index":1894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer",{"_index":1532,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["prefixer('ccf",{"_index":1856,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl",{"_index":1858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl')('0000000",{"_index":1859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('dc')('creator",{"_index":1816,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity",{"_index":1860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('age",{"_index":1864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('bmi",{"_index":1865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('consortium_name",{"_index":1869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_cell_type_term",{"_index":1888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_dataset",{"_index":1875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_donor",{"_index":1873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_ontology_term",{"_index":1887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_spatial_entity",{"_index":1886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_thumbnail",{"_index":1890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_tissue_section",{"_index":1874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('id",{"_index":1861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('provider_name",{"_index":1870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('provider_uuid",{"_index":1872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('sample_type",{"_index":1876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_count",{"_index":1882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_number",{"_index":1885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_size",{"_index":1883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_units",{"_index":1884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('sex",{"_index":1863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('technology",{"_index":1889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('fma",{"_index":1891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('lmha",{"_index":1892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf",{"_index":1913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf')('type",{"_index":1914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs",{"_index":1915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('comment",{"_index":1917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('isdefinedby",{"_index":1919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('label",{"_index":1916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('seealso",{"_index":1921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon",{"_index":2023,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon')('0013702",{"_index":2024,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixes",{"_index":1533,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["preparation",{"_index":1397,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1420,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1252,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["priority",{"_index":675,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["private",{"_index":257,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["probing",{"_index":113,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["process",{"_index":1381,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1330,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":1013,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1386,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1660,"title":{},"body":{"index.html":{}}}],["projects/.../ccf",{"_index":1772,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../hubmap",{"_index":1771,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../ontology",{"_index":1776,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../origin",{"_index":1768,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../prefixes.ts",{"_index":1774,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../probing",{"_index":1769,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../spatial",{"_index":1777,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tissue",{"_index":1775,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":259,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["promise(r",{"_index":362,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all",{"_index":342,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all(ops",{"_index":338,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["properties",{"_index":13,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["property",{"_index":2031,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prostate_gland",{"_index":2005,"title":{},"body":{"miscellaneous/variables.html":{}}}],["provided",{"_index":315,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"license.html":{}}}],["provider",{"_index":58,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["providername",{"_index":60,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["provideruuid",{"_index":1871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["public",{"_index":439,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["publish",{"_index":1722,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1745,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":993,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1639,"title":{},"body":{"dependencies.html":{}}}],["quad",{"_index":201,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["quad.object.id",{"_index":553,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["qualitative",{"_index":1343,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["queried",{"_index":21,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["queries",{"_index":127,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["queries/aggregate",{"_index":217,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/find",{"_index":219,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/ontology",{"_index":223,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/spatial",{"_index":229,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["queries/tissue",{"_index":231,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["query",{"_index":10,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["querying",{"_index":890,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["quickly",{"_index":1323,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":527,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r.text",{"_index":320,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["r[0",{"_index":600,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[1",{"_index":602,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[2",{"_index":604,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["radius",{"_index":122,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["range",{"_index":130,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["ranking",{"_index":796,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ratio",{"_index":598,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rc.1",{"_index":1349,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":177,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["rdf.type",{"_index":544,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rdfjs",{"_index":1558,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1587,"title":{},"body":{"dependencies.html":{}}}],["rdfs",{"_index":144,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rdfs.comment",{"_index":1815,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs.label",{"_index":1814,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs.seealso",{"_index":1862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:comment",{"_index":2082,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:label",{"_index":2081,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:seealso",{"_index":2083,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfxml",{"_index":1641,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":43,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["readquads",{"_index":503,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["readquads(store",{"_index":550,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ready",{"_index":27,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["real",{"_index":1363,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":549,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"miscellaneous/typealiases.html":{}}}],["rectify",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["red",{"_index":1526,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["reduce",{"_index":830,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["reduce((acc",{"_index":695,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["reduction",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":419,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SpatialObjectReference.html":{},"changelog.html":{}}}],["reference_organ",{"_index":663,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["references",{"_index":540,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["refernced",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1152,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1423,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1607,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":1061,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":118,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["release",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1264,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["replace",{"_index":1961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["repository",{"_index":1657,"title":{},"body":{"index.html":{}}}],["representation_of",{"_index":662,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["representative",{"_index":66,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["represents",{"_index":774,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["requested",{"_index":376,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["requestinit",{"_index":864,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["required",{"_index":1311,"title":{},"body":{"changelog.html":{}}}],["res",{"_index":866,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res!.hits.hits",{"_index":882,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.json",{"_index":869,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.ok",{"_index":868,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["resets",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["resolving",{"_index":273,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["respiratory_system",{"_index":1924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["respond",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":355,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["restriction",{"_index":1717,"title":{},"body":{"license.html":{}}}],["result",{"_index":11,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":159,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results.map(res",{"_index":881,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["return",{"_index":285,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["returns",{"_index":272,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{}}}],["reverse",{"_index":2084,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping",{"_index":1496,"title":{},"body":{"coverage.html":{}}}],["reversemapping(ccf.spatialentity",{"_index":2225,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialobjectreference",{"_index":2224,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialplacement",{"_index":2226,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rgb",{"_index":1623,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":794,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["right_bronchus",{"_index":1934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["right_lung",{"_index":1930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rights",{"_index":1719,"title":{},"body":{"license.html":{}}}],["rk",{"_index":2054,"title":{},"body":{"miscellaneous/variables.html":{}}}],["root",{"_index":154,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["rotates",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":817,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["rotation_order",{"_index":605,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotation_units",{"_index":607,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotations",{"_index":821,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["round",{"_index":1250,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1268,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["rti",{"_index":2123,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ru/common",{"_index":1540,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":240,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["rui_location",{"_index":94,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["rui_locations.jsonld",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["rui_rank",{"_index":799,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rxjs",{"_index":1645,"title":{},"body":{"dependencies.html":{}}}],["s",{"_index":396,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s.sex",{"_index":690,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s[0",{"_index":592,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[1",{"_index":594,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[2",{"_index":596,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sample",{"_index":71,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["samples",{"_index":1187,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["sampletype",{"_index":72,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["saved",{"_index":889,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["saver",{"_index":1613,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1387,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":746,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scaling",{"_index":815,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["scaling_units",{"_index":597,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["scene",{"_index":211,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["scene.ts",{"_index":616,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["scene.ts:130",{"_index":642,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:149",{"_index":632,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:156",{"_index":651,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:198",{"_index":647,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:38",{"_index":628,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:42",{"_index":653,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:45",{"_index":638,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:48",{"_index":635,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:51",{"_index":630,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:54",{"_index":641,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:58",{"_index":640,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:75",{"_index":644,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:95",{"_index":646,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scenegraph",{"_index":667,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenegraphnode",{"_index":668,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenenode",{"_index":704,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenes",{"_index":255,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["scheduled",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1389,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["schemes",{"_index":1344,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1694,"title":{},"body":{"index.html":{}}}],["script_fields",{"_index":857,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["search",{"_index":111,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search(filter",{"_index":382,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["searchableitem",{"_index":98,"title":{"interfaces/SearchableItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["searched",{"_index":97,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["searches",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["searchhubmap",{"_index":212,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["searchhubmap(dataurl",{"_index":906,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["searchresultjson",{"_index":824,"title":{"interfaces/SearchResultJson.html":{}},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["section",{"_index":69,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sectioncount",{"_index":84,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionnumber",{"_index":79,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sections",{"_index":76,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionsize",{"_index":87,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionunits",{"_index":91,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["see",{"_index":953,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["seealso",{"_index":1920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["select",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":1406,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1726,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1419,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["sequence",{"_index":75,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["serialize",{"_index":367,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serialized",{"_index":314,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializeddb",{"_index":297,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store",{"_index":202,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store(this.store",{"_index":368,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["server",{"_index":1392,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":185,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["servicetoken",{"_index":893,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["servicetype",{"_index":887,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["set",{"_index":107,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["set(['van0003",{"_index":2041,"title":{},"body":{"miscellaneous/variables.html":{}}}],["setmany",{"_index":191,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settimeout(r",{"_index":363,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settle",{"_index":361,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["setup",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":99,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":1301,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1734,"title":{},"body":{"license.html":{}}}],["shared",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":500,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["shortestpath",{"_index":499,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["shortestpath(this.graph",{"_index":564,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["show",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1329,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1338,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":795,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sides",{"_index":1303,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":769,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["sizable",{"_index":1263,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":85,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["skin",{"_index":2007,"title":{},"body":{"miscellaneous/variables.html":{}}}],["skinnodes",{"_index":699,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.length",{"_index":711,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.push(scenenode",{"_index":710,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["slice_count",{"_index":805,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slice_thickness",{"_index":804,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slices",{"_index":802,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["slider",{"_index":1631,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":358,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["small_intestine",{"_index":2009,"title":{},"body":{"miscellaneous/variables.html":{}}}],["software",{"_index":1662,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":1258,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1320,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["source.ccf_annotations",{"_index":758,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.dimension_units",{"_index":750,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.endswith('jsonld",{"_index":345,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('n3",{"_index":347,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('owl",{"_index":350,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('rdf",{"_index":349,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('xml",{"_index":351,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.entityid",{"_index":757,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.label",{"_index":763,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object",{"_index":740,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file",{"_index":761,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file_subpath",{"_index":762,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object['@id",{"_index":741,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.reference_organ",{"_index":760,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.representation_of",{"_index":759,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.x_dimension",{"_index":751,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.y_dimension",{"_index":752,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.z_dimension].map(dim",{"_index":753,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source?.object?.file_format?.startswith('model/gltf",{"_index":738,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source['@id",{"_index":571,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceid",{"_index":739,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceiri",{"_index":491,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sources",{"_index":175,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["sources.map(async",{"_index":343,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(ccfowlurl",{"_index":325,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(this.options.hubmapdataurl",{"_index":328,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sp",{"_index":2135,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sparc",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":949,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":92,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":233,"title":{"interfaces/SpatialEntity.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentitydimensions",{"_index":1501,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentityid",{"_index":95,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["spatialobjectreference",{"_index":543,"title":{"interfaces/SpatialObjectReference.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacement",{"_index":507,"title":{"interfaces/SpatialPlacement.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacementcommon",{"_index":813,"title":{"interfaces/SpatialPlacementCommon.html":{}},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["spatialscenegeometry",{"_index":654,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spatialscenenode",{"_index":210,"title":{"interfaces/SpatialSceneNode.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["spatialsearch",{"_index":115,"title":{"interfaces/SpatialSearch.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["spatialsearches",{"_index":135,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["spec",{"_index":195,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1683,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1047,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["specification",{"_index":110,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"index.html":{}}}],["specifies",{"_index":788,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["specimen_type",{"_index":844,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":114,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spinal",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1390,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":2011,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sprint",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":1240,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":1014,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["staging.herokuapp.com",{"_index":1682,"title":{},"body":{"index.html":{}}}],["standalone",{"_index":1254,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":74,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["standards",{"_index":1394,"title":{},"body":{"changelog.html":{}}}],["stanford",{"_index":2117,"title":{},"body":{"miscellaneous/variables.html":{}}}],["star2",{"_index":1666,"title":{},"body":{"index.html":{}}}],["start",{"_index":289,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["started",{"_index":909,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1438,"title":{},"body":{"changelog.html":{}}}],["starttime",{"_index":459,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["startup",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":1440,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":184,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["statically",{"_index":888,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["status",{"_index":25,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["stay",{"_index":1436,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":203,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["store(undefined",{"_index":264,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["store.forsubjects((subject",{"_index":541,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["stored_fields",{"_index":856,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["storestring",{"_index":318,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["stories",{"_index":1384,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":1643,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1642,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":16,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["string|jsonld",{"_index":242,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["structure",{"_index":790,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["structures",{"_index":696,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["styles",{"_index":1415,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1731,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1724,"title":{},"body":{"license.html":{}}}],["subpath",{"_index":772,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["substantial",{"_index":1736,"title":{},"body":{"license.html":{}}}],["successfully",{"_index":470,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["support",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1648,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":514,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["switched",{"_index":1271,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["synchronize",{"_index":356,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["synonym",{"_index":148,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["synonymlabels",{"_index":150,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["syntax",{"_index":1905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["t",{"_index":523,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[0",{"_index":610,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[1",{"_index":612,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[2",{"_index":614,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["table",{"_index":1539,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1538,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1305,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["taken",{"_index":39,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["target",{"_index":119,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["target['@id",{"_index":744,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["targetiri",{"_index":434,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["technologies",{"_index":134,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["technology",{"_index":63,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["telemetry",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["term",{"_index":224,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["terms",{"_index":105,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["test",{"_index":1370,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":1310,"title":{},"body":{"changelog.html":{}}}],["testinggroup",{"_index":2111,"title":{},"body":{"miscellaneous/variables.html":{}}}],["text",{"_index":657,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["th",{"_index":2153,"title":{},"body":{"miscellaneous/variables.html":{}}}],["theme",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["then((jsonld",{"_index":335,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["then(async",{"_index":462,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["thickness",{"_index":800,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["this.adddatasources([jsonld",{"_index":336,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.addedge(quad.subject.id",{"_index":555,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.addnode(subject.id",{"_index":542,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.cachedconnect",{"_index":282,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.connect",{"_index":453,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.creategraph",{"_index":538,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.database.connect",{"_index":461,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getaggregateresults",{"_index":469,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getscene",{"_index":466,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.gettissueblockresults",{"_index":467,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.db.getspatialentities(filter",{"_index":730,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.getspatialentities(filter).map((entity",{"_index":735,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.graph.gettransformationmatrix(sourceid",{"_index":743,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.store",{"_index":539,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.deserialize(serializeddb",{"_index":303,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.doconnect",{"_index":283,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.get(s",{"_index":384,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getanatomicalstructures(o['@id",{"_index":694,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getentityscenenodes(filter",{"_index":765,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getids(filter)].map((s",{"_index":383,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getreferencebody(filter",{"_index":698,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans",{"_index":688,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans().filter((o",{"_index":724,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgansets(filter).map((organ",{"_index":700,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferencescenenodes(filter",{"_index":764,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(entity",{"_index":732,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(organ",{"_index":705,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhleftkidney').id",{"_index":717,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhrightkidney').id",{"_index":715,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhspleencc1').id",{"_index":718,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhspleencc2').id",{"_index":719,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhspleencc3').id",{"_index":720,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getspatialentity(bodyid",{"_index":686,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.gettransformationmatrix(placement.target",{"_index":576,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.gettransformationmatrix(sourceiri",{"_index":578,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph",{"_index":266,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["this.graph.creategraph",{"_index":365,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.getedgeattribute(source",{"_index":568,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.getspatialplacement(source",{"_index":435,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.hasnode(placement.target",{"_index":575,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(source['@id",{"_index":570,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(sourceiri",{"_index":560,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(targetiri",{"_index":561,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergedirectededge(source",{"_index":557,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergenode(id",{"_index":556,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.initializing",{"_index":281,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.loadtime",{"_index":458,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.message",{"_index":454,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.options",{"_index":280,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.ccfowlurl",{"_index":312,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.datasources?.concat",{"_index":311,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapassetsurl",{"_index":333,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataservice",{"_index":330,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl",{"_index":326,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl.endswith('jsonld",{"_index":327,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapportalurl",{"_index":334,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapquery",{"_index":331,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmaptoken",{"_index":332,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene",{"_index":268,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorgans",{"_index":422,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorganscene(organiri",{"_index":432,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getscene(filter",{"_index":428,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.serialize",{"_index":304,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.status",{"_index":398,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["this.status.tojson",{"_index":400,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store",{"_index":262,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.getquads(datafactory.namednode(id",{"_index":378,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.size",{"_index":286,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.synchronize",{"_index":339,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["through",{"_index":1322,"title":{},"body":{"changelog.html":{}}}],["thumbnail",{"_index":67,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["thumbnails",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":2013,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tied",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1331,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":38,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["timeouts",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":68,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["tissueblock",{"_index":1877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissueblockresult",{"_index":82,"title":{"interfaces/TissueBlockResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissueblockresultset",{"_index":1509,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tissues",{"_index":426,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["tissuesection",{"_index":1879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissuesectionresult",{"_index":70,"title":{"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissuesectionresultset",{"_index":1510,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tmc",{"_index":133,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["todegrees",{"_index":494,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["toggle",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["tojson",{"_index":442,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["token",{"_index":188,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["tool",{"_index":1255,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":674,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["toradians",{"_index":495,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["tort",{"_index":1757,"title":{},"body":{"license.html":{}}}],["total",{"_index":829,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["totalcount",{"_index":878,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["trachea",{"_index":1947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tracker",{"_index":237,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["tracker.ts",{"_index":438,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["tracker.ts:10",{"_index":448,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:14",{"_index":452,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:23",{"_index":451,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:6",{"_index":450,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:7",{"_index":449,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:8",{"_index":446,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracking/telemetry",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["transform",{"_index":742,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transform.scale(scale",{"_index":756,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transformmatrix",{"_index":673,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["translation",{"_index":822,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["translation_units",{"_index":615,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["transparency",{"_index":1256,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":1275,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":151,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["triple",{"_index":204,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["true",{"_index":274,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["try",{"_index":865,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["ts",{"_index":1650,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1653,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1437,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1238,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1342,"title":{},"body":{"changelog.html":{}}}],["tx",{"_index":562,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":534,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["type",{"_index":19,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1766,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":344,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["types",{"_index":234,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["types.ts",{"_index":767,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["types/lru",{"_index":1588,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":391,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["typing",{"_index":1402,"title":{},"body":{"changelog.html":{}}}],["uberon",{"_index":1534,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["uberon.body",{"_index":1922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000029",{"_index":1958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000056",{"_index":1938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000059",{"_index":1990,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000079",{"_index":1956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000178",{"_index":1952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000947",{"_index":1950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000948",{"_index":1980,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000955",{"_index":1970,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000970",{"_index":1940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000992",{"_index":1946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000995",{"_index":2022,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001004",{"_index":1925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001155",{"_index":1927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001222",{"_index":2018,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001223",{"_index":2016,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001255",{"_index":2020,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001264",{"_index":2002,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001270",{"_index":2004,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001302",{"_index":1978,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001303",{"_index":1976,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001465",{"_index":1944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002048",{"_index":1994,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002097",{"_index":2008,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002106",{"_index":2012,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002107",{"_index":1992,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002108",{"_index":2010,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002113",{"_index":1936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002167",{"_index":1931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002168",{"_index":1929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002177",{"_index":1935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002178",{"_index":1933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002367",{"_index":2006,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002370",{"_index":2014,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002371",{"_index":1954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002509",{"_index":1996,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003126",{"_index":1948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003889",{"_index":1942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004537",{"_index":1968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004538",{"_index":1982,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004539",{"_index":1984,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004548",{"_index":1972,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uconn",{"_index":2131,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ucsd",{"_index":2099,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ufl",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["ufl_thumbs",{"_index":1464,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ui",{"_index":1040,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1669,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1679,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1676,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1678,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1677,"title":{},"body":{"index.html":{}}}],["undefined",{"_index":296,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unique",{"_index":402,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["units",{"_index":88,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["university",{"_index":1697,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":243,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["unnecessary",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":664,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unselect",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1224,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":464,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["update",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["updated_date",{"_index":1821,"title":{},"body":{"miscellaneous/variables.html":{}}}],["updates",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1327,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1407,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1251,"title":{},"body":{"changelog.html":{}}}],["ureter",{"_index":1937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_left",{"_index":2015,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_right",{"_index":2017,"title":{},"body":{"miscellaneous/variables.html":{}}}],["urinary_bladder",{"_index":2019,"title":{},"body":{"miscellaneous/variables.html":{}}}],["url",{"_index":51,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["use",{"_index":892,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"license.html":{}}}],["used",{"_index":64,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["user",{"_index":913,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1426,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":1083,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["uterus",{"_index":2021,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util.prefixes(prefixes",{"_index":1893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util/ccf",{"_index":236,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/enrich",{"_index":239,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/prefixes",{"_index":508,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["utilities",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["utils",{"_index":205,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["uuid",{"_index":506,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["uuidv4",{"_index":505,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["v1.1",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1237,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["v4",{"_index":504,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["value",{"_index":20,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["van0003",{"_index":2045,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0005",{"_index":2053,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0006",{"_index":2056,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0007",{"_index":2058,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0008",{"_index":2061,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0009",{"_index":2063,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0010",{"_index":2066,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0011",{"_index":2069,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0012",{"_index":2070,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0013",{"_index":2072,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0014",{"_index":2076,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0016",{"_index":2078,"title":{},"body":{"miscellaneous/variables.html":{}}}],["vanderbilt",{"_index":2115,"title":{},"body":{"miscellaneous/variables.html":{}}}],["variable",{"_index":1448,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1773,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":855,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["very",{"_index":1317,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":112,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["video",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["visible",{"_index":747,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["visual",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1328,"title":{},"body":{"changelog.html":{}}}],["vocab",{"_index":2080,"title":{},"body":{"miscellaneous/variables.html":{}}}],["void",{"_index":307,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["vs",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1433,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":818,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["w_rotation",{"_index":819,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["wait",{"_index":31,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["warm",{"_index":463,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["warming",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1351,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1741,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1738,"title":{},"body":{"license.html":{}}}],["web",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1590,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1664,"title":{},"body":{"index.html":{}}}],["week",{"_index":1439,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1754,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1435,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":1147,"title":{},"body":{"changelog.html":{}}}],["wireframe",{"_index":656,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["within",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":1059,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1277,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1294,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":116,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["x_dimension",{"_index":807,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_rotation",{"_index":599,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_scaling",{"_index":591,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_translation",{"_index":609,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["xml",{"_index":178,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["xyz",{"_index":606,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["y",{"_index":120,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":808,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_rotation",{"_index":601,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_scaling",{"_index":593,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_translation",{"_index":611,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["yes",{"_index":633,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["youtube",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":121,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":809,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_rotation",{"_index":603,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_scaling",{"_index":595,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_translation",{"_index":613,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["zone.js",{"_index":1655,"title":{},"body":{"dependencies.html":{}}}],["zoombasedopacity",{"_index":669,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["zoomtoonload",{"_index":670,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"interfaces/AggregateResult.html":{"url":"interfaces/AggregateResult.html","title":"interface - AggregateResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AggregateResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Aggregate query result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n count\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n count\n \n \n \n \n \n \n \n \n count: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Aggregate value\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Queried field\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CCFDatabaseOptions.html":{"url":"interfaces/CCFDatabaseOptions.html","title":"interface - CCFDatabaseOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CCFDatabaseOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n\n\n \n Description\n \n \n Database initialization options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ccfContextUrl\n \n \n \n \n ccfOwlUrl\n \n \n \n \n dataSources\n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n hubmapDataService\n \n \n \n \n hubmapDataUrl\n \n \n \n \n hubmapPortalUrl\n \n \n \n Optional\n \n hubmapQuery\n \n \n \n Optional\n \n hubmapToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ccfContextUrl\n \n \n \n \n \n \n \n \n ccfContextUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Context.\n\n \n \n \n \n \n \n \n \n \n ccfOwlUrl\n \n \n \n \n \n \n \n \n ccfOwlUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n A url to load data from.\n\n \n \n \n \n \n \n \n \n \n dataSources\n \n \n \n \n \n \n \n \n dataSources: (string | JsonLd)[]\n\n \n \n\n\n \n \n Type : (string | JsonLd)[]\n\n \n \n\n\n\n\n\n \n \n A list of data sources (in n3, rdf, xml, owl, or jsonld format)\n\n \n \n \n \n \n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n \n \n \n \n hubmapAssetsUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap assets api url.\n\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n \n \n \n \n hubmapDataService: \"static\" | \"search-api\"\n\n \n \n\n\n \n \n Type : \"static\" | \"search-api\"\n\n \n \n\n\n\n\n\n \n \n Data service type.\n\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n \n \n \n \n hubmapDataUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap data url.\n\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n \n \n \n \n hubmapPortalUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap Portal url.\n\n \n \n \n \n \n \n \n \n \n hubmapQuery\n \n \n \n \n \n \n \n \n hubmapQuery: \n\n \n \n\n\n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Elastic Search Query\n\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n \n \n \n \n hubmapToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Service Token.\n\n \n \n \n \n \n \n\n\n \n import { delMany, get, setMany } from 'idb-keyval';\nimport { JsonLd } from 'jsonld/jsonld-spec';\nimport {\n addJsonLdToStore, addN3ToStore, addRdfXmlToStore, DataFactory, deserializeN3Store, Quad, serializeN3Store, Store\n} from 'triple-store-utils';\n\nimport { CCFSpatialGraph } from './ccf-spatial-graph';\nimport { CCFSpatialScene, SpatialSceneNode } from './ccf-spatial-scene';\nimport { searchHubmap } from './hubmap/hubmap-data-import';\nimport { AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, TissueBlockResult } from './interfaces';\nimport { getAggregateResults, getDatasetTechnologyNames, getProviderNames } from './queries/aggregate-results-n3';\nimport { findIds } from './queries/find-ids-n3';\nimport { getCellTypeTermOccurences, getOntologyTermOccurences } from './queries/ontology-term-occurences-n3';\nimport { getAnatomicalStructureTreeModel, getCellTypeTreeModel } from './queries/ontology-tree-n3';\nimport { getSpatialEntityForEntity } from './queries/spatial-result-n3';\nimport { getTissueBlockResult } from './queries/tissue-block-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity } from './spatial-types';\nimport { CCFDatabaseStatusTracker } from './util/ccf-database-status-tracker';\nimport { enrichRuiLocations } from './util/enrich-rui-locations';\n\n\n/** Database initialization options. */\nexport interface CCFDatabaseOptions {\n /** A url to load data from. */\n ccfOwlUrl: string;\n /** Context. */\n ccfContextUrl: string;\n /** A list of data sources (in n3, rdf, xml, owl, or jsonld format) */\n dataSources: (string|JsonLd)[];\n /** Data service type. */\n hubmapDataService: 'static' | 'search-api';\n /** HuBMAP Elastic Search Query */\n hubmapQuery?: unknown;\n /** Hubmap Portal url. */\n hubmapPortalUrl: string;\n /** Hubmap data url. */\n hubmapDataUrl: string;\n /** Hubmap assets api url. */\n hubmapAssetsUrl: string;\n /** HuBMAP Service Token. */\n hubmapToken?: string;\n}\n\n/** Default initialization options. */\nexport const DEFAULT_CCF_DB_OPTIONS: CCFDatabaseOptions = {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n};\n\n/** Database provider. */\nexport class CCFDatabase {\n /** The triple store. */\n store: Store;\n /** The spatial graph */\n graph: CCFSpatialGraph;\n /** Creates SpatialEntity Scenes */\n scene: CCFSpatialScene;\n /** If the database is initialized */\n private initializing?: Promise;\n\n private status: CCFDatabaseStatusTracker;\n\n /**\n * Creates an instance of ccfdatabase.\n *\n * @param [options] Initialization options.\n */\n constructor(public options: CCFDatabaseOptions = DEFAULT_CCF_DB_OPTIONS) {\n this.store = new Store(undefined, { factory: DataFactory });\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n }\n\n /**\n * Connects the database.\n *\n * @param [options] Options used to initialize.\n * @returns A promise resolving to true if data has been loaded into the database.\n */\n async connect(options?: CCFDatabaseOptions, cached = false): Promise {\n if (options) {\n this.options = options;\n }\n if (!this.initializing) {\n if (cached) {\n this.initializing = this.cachedConnect();\n } else {\n this.initializing = this.doConnect();\n }\n }\n await this.initializing;\n return this.store.size > 0;\n }\n\n private async cachedConnect(): Promise {\n const start = new Date().getTime();\n const lastModifiedKey = 'ccf-database.last_modified';\n const ccfDatabaseKey = 'ccf-database';\n\n const lastModified = await get(lastModifiedKey).catch(() => undefined);\n let serializedDb: string | undefined;\n\n if (lastModified && start - new Date(+lastModified).getTime() > 60*60*1000) {\n await delMany([ccfDatabaseKey, lastModifiedKey]).catch(() => undefined);\n } else {\n serializedDb = await get(ccfDatabaseKey).catch(() => undefined);\n }\n\n if (serializedDb) {\n await this.deserialize(serializedDb);\n } else {\n await this.doConnect();\n\n setMany([\n [ccfDatabaseKey, this.serialize()],\n [lastModifiedKey, '' + start]\n ]).catch(() => undefined);\n }\n }\n\n /**\n * Actually connects to the database.\n *\n * @returns A promise resolving to void when connected.\n */\n private async doConnect(): Promise {\n const ops: Promise[] = [];\n const sources: (string|JsonLd)[] = this.options.dataSources?.concat() ?? [];\n\n const ccfOwlUrl = this.options.ccfOwlUrl;\n if (ccfOwlUrl.startsWith('{')) {\n // serialized n3 store was provided as the ccfOwlUrl\n this.store = deserializeN3Store(ccfOwlUrl, DataFactory);\n } else if (ccfOwlUrl.endsWith('.n3store.json')) {\n const storeString = await fetch(ccfOwlUrl).then(r => r.text())\n .catch(() => console.log('Couldn\\'t locate serialized store.'));\n if (storeString) {\n this.store = deserializeN3Store(storeString, DataFactory);\n }\n } else if (ccfOwlUrl?.length > 0) {\n sources.push(ccfOwlUrl);\n }\n if (this.options.hubmapDataUrl) {\n if (this.options.hubmapDataUrl.endsWith('jsonld')) {\n sources.push(this.options.hubmapDataUrl);\n } else {\n ops.push(searchHubmap(\n this.options.hubmapDataUrl,\n this.options.hubmapDataService,\n this.options.hubmapQuery,\n this.options.hubmapToken,\n this.options.hubmapAssetsUrl,\n this.options.hubmapPortalUrl\n ).then((jsonld) => {\n if (jsonld) {\n return this.addDataSources([jsonld]);\n } else {\n return undefined;\n }\n }));\n }\n }\n ops.push(this.addDataSources(sources));\n await Promise.all(ops);\n await this.synchronize();\n }\n\n async addDataSources(sources: (string|JsonLd)[], inputStore?: Store): Promise {\n const store: Store = inputStore ?? this.store;\n await Promise.all(\n sources.map(async (source) => {\n if (typeof source === 'string') {\n if (source.endsWith('jsonld')) {\n await addJsonLdToStore(source, store);\n } else if (source.endsWith('n3')) {\n await addN3ToStore(source, store);\n } else if (source.endsWith('rdf') || source.endsWith('owl') || source.endsWith('xml')) {\n await addRdfXmlToStore(source, store);\n } else {\n // Passthrough assumes a JSON-LD response\n await addJsonLdToStore(source, store);\n }\n } else {\n await addJsonLdToStore(source, store);\n }\n })\n );\n return this;\n }\n\n async synchronize(): Promise {\n // Add a small delay to allow the triple store to settle\n await new Promise(r => {\n setTimeout(r, 500);\n });\n this.graph.createGraph();\n enrichRuiLocations(this.store);\n return this;\n }\n\n serialize(): string {\n return serializeN3Store(this.store);\n }\n\n async deserialize(value: string): Promise {\n this.store = deserializeN3Store(value, DataFactory);\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n await new Promise(r => {\n setTimeout(r, 10);\n });\n }\n\n /**\n * Gets all ids matching the filter.\n *\n * @param [filter] The filter.\n * @returns A set of all matching ids.\n */\n getIds(filter: Filter = {} as Filter): Set {\n return findIds(this.store, this.graph, filter);\n }\n\n /**\n * Gets the data for an object.\n *\n * @param id The id of the requested object.\n * @returns The object data.\n */\n get(id: string): Quad[] {\n return this.store.getQuads(DataFactory.namedNode(id), null, null, null);\n }\n\n /**\n * Gets the data for objects matching a filter.\n *\n * @param [filter] The filter.\n * @returns An array of data.\n */\n search(filter: Filter = {} as Filter): Quad[][] {\n return [...this.getIds(filter)].map((s) => this.get(s));\n }\n\n /**\n * Gets all spatial entities for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of spatial entities.\n */\n getSpatialEntities(filter?: Filter): SpatialEntity[] {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getSpatialEntityForEntity(this.store, s) as SpatialEntity);\n }\n\n async getDatabaseStatus(): Promise {\n if (!this.status) {\n this.status = new CCFDatabaseStatusTracker(this);\n }\n return this.status.toJson();\n }\n\n /**\n * Get a list of technology names used by datasets\n *\n * @returns list of unique technology names in the data\n */\n async getDatasetTechnologyNames(): Promise {\n return getDatasetTechnologyNames(this.store);\n }\n\n /**\n * Get a list of provider names from the database\n *\n * @returns list of unique provider names in the data\n */\n async getProviderNames(): Promise {\n return getProviderNames(this.store);\n }\n\n /**\n * Gets all tissue block results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of results.\n */\n async getTissueBlockResults(filter?: Filter): Promise {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getTissueBlockResult(this.store, s));\n }\n\n /**\n * Gets all aggregate results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of aggregate data.\n */\n async getAggregateResults(filter?: Filter): Promise {\n return getAggregateResults(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of ontology terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Ontology term counts.\n */\n async getOntologyTermOccurences(filter?: Filter): Promise> {\n return getOntologyTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of cell type terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Cell type term counts.\n */\n async getCellTypeTermOccurences(filter?: Filter): Promise> {\n return getCellTypeTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get ontology term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getOntologyTreeModel(): Promise {\n return getAnatomicalStructureTreeModel(this.store);\n }\n\n /**\n * Get cell type term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getCellTypeTreeModel(): Promise {\n return getCellTypeTreeModel(this.store);\n }\n\n /**\n * Get reference organs\n *\n * @returns Ontology term counts.\n */\n async getReferenceOrgans(): Promise {\n return this.scene.getReferenceOrgans();\n }\n\n /**\n * Get all nodes to form the 3D scene of reference body, organs, and tissues\n *\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getScene(filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getScene(filter);\n }\n\n /**\n * Get all nodes to form the 3D scene of reference organ and tissues\n *\n * @param [organIri] The Reference Organ IRI\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getReferenceOrganScene(organIri: string, filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getReferenceOrganScene(organIri, filter);\n }\n\n async getSpatialPlacement(source: SpatialEntity, targetIri: string): Promise {\n return this.graph.getSpatialPlacement(source, targetIri);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFDatabaseStatusTracker.html":{"url":"classes/CCFDatabaseStatusTracker.html","title":"class - CCFDatabaseStatusTracker","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFDatabaseStatusTracker\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n database\n \n \n Optional\n loadTime\n \n \n Optional\n message\n \n \n status\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n connect\n \n \n toJson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(database: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n database\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n database\n \n \n \n \n \n \n Type : CCFDatabase\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n loadTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n toJson\n \n \n \n \n \n \ntoJson()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:14\n \n \n\n\n \n \n\n \n Returns : DatabaseStatus\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DatabaseStatus } from '../interfaces';\nimport { CCFDatabase } from '../ccf-database';\n\n\nexport class CCFDatabaseStatusTracker {\n status: 'Ready' | 'Loading' | 'Error';\n message?: string;\n loadTime?: number;\n\n constructor(public database: CCFDatabase) {\n this.connect();\n }\n\n toJson(): DatabaseStatus {\n return {\n status: this.status,\n message: this.message,\n checkback: this.status === 'Ready' || this.status === 'Error' ? 60 * 60 * 1000 : 2000,\n loadTime: this.loadTime\n };\n }\n\n private connect(): Promise {\n this.status = 'Loading';\n this.message = 'Loading database';\n\n const startTime = Date.now();\n return this.database.connect()\n .then(async (loaded) => {\n if (loaded) {\n // Warm up the database\n this.message = 'Building scene';\n await this.database.getScene();\n this.message = 'Building tissue block results';\n await this.database.getTissueBlockResults();\n this.message = 'Aggregating results';\n await this.database.getAggregateResults();\n this.status = 'Ready';\n this.message = 'Database successfully loaded';\n } else {\n this.status = 'Error';\n this.message = 'Unknown error while loading database';\n }\n })\n .catch((error: { message?: string }) => {\n this.status = 'Error';\n this.message = error?.message ?? 'Unknown error while loading database';\n })\n .finally(() => {\n this.loadTime = Date.now() - startTime;\n });\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialGraph.html":{"url":"classes/CCFSpatialGraph.html","title":"class - CCFSpatialGraph","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialGraph\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n graph\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEdge\n \n \n addNode\n \n \n createGraph\n \n \n getSpatialPlacement\n \n \n getTransformationMatrix\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n graph\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEdge\n \n \n \n \n \n \naddEdge(id: string, source: string, target: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n source\n \n string\n \n\n \n No\n \n\n\n \n \n target\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addNode\n \n \n \n \n \n \naddNode(id: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createGraph\n \n \n \n \n \n \ncreateGraph()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getSpatialPlacement\n \n \n \n \n \n \ngetSpatialPlacement(source: SpatialEntity, targetIri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n targetIri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : FlatSpatialPlacement | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTransformationMatrix\n \n \n \n \n \n \ngetTransformationMatrix(sourceIRI: string, targetIRI: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceIRI\n \n string\n \n\n \n No\n \n\n\n \n \n targetIRI\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4 | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Euler, Matrix4, toDegrees, toRadians } from '@math.gl/core';\nimport { DirectedGraph } from 'graphology';\nimport shortestPath from 'graphology-shortest-path/unweighted';\nimport { get } from 'lodash';\nimport { readQuads } from 'triple-store-utils';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { CCFDatabase } from './ccf-database';\nimport { getSpatialPlacement } from './queries/spatial-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity, SpatialPlacement } from './spatial-types';\nimport { ccf, rdf } from './util/prefixes';\n\n\nexport function applySpatialPlacement(tx: Matrix4, placement: SpatialPlacement): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport class CCFSpatialGraph {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph: any;\n\n constructor(private db: CCFDatabase) {\n this.createGraph();\n }\n\n createGraph(): void {\n this.graph = new DirectedGraph();\n const store = this.db.store;\n\n // Add all Spatial Object References\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialObjectReference');\n }, rdf.type, ccf.SpatialObjectReference, null);\n\n // Add all Spatial Entities\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialEntity');\n }, rdf.type, ccf.SpatialEntity, null);\n\n // Add all Spatial Placements\n const edgeSource: Record = {};\n for (const quad of readQuads(store, null, ccf.spatialPlacement.source, null, null)) {\n edgeSource[quad.subject.id] = quad.object.id;\n }\n for (const quad of readQuads(store, null, ccf.spatialPlacement.target, null, null)) {\n const source = edgeSource[quad.subject.id];\n if (source) {\n this.addEdge(quad.subject.id, source, quad.object.id, 'SpatialPlacement');\n }\n }\n }\n\n addNode(id: string, type: string): void {\n this.graph.mergeNode(id, { type });\n }\n\n addEdge(id: string, source: string, target: string, type: string): void {\n this.graph.mergeDirectedEdge(source, target, { type, id });\n }\n\n getTransformationMatrix(sourceIRI: string, targetIRI: string): Matrix4 | undefined {\n if (sourceIRI === targetIRI) {\n return new Matrix4(Matrix4.IDENTITY); // identity\n }\n if (!this.graph.hasNode(sourceIRI) || !this.graph.hasNode(targetIRI)) {\n return undefined;\n }\n\n const store = this.db.store;\n const tx = new Matrix4(Matrix4.IDENTITY);\n const path = shortestPath(this.graph, sourceIRI, targetIRI);\n if (path && path.length > 0) {\n path.reverse();\n let target: string | number = '';\n for (const source of path) {\n if (target) {\n const placementId = this.graph.getEdgeAttribute(source, target, 'id');\n const placement = getSpatialPlacement(store, placementId);\n applySpatialPlacement(tx, placement);\n }\n target = source;\n }\n return tx;\n } else {\n return undefined;\n }\n }\n\n getSpatialPlacement(source: SpatialEntity, targetIri: string): FlatSpatialPlacement | undefined {\n const sourceIri = this.graph.hasNode(source['@id']) ? source['@id'] : undefined;\n const placement: SpatialPlacement = get(source, 'placement[0]', get(source, 'placement', undefined));\n\n let matrix: Matrix4 | undefined;\n if (placement && this.graph.hasNode(placement.target)) {\n matrix = this.getTransformationMatrix(placement.target as unknown as string, targetIri);\n if (matrix) {\n matrix = applySpatialPlacement(matrix, placement);\n }\n } else if (sourceIri) {\n matrix = this.getTransformationMatrix(sourceIri, targetIri);\n }\n\n if (matrix) {\n const euler = new Euler().fromRotationMatrix(matrix, Euler.XYZ);\n const T = matrix.getTranslation().map(n => n * 1000) as [number, number, number];\n const R = euler.toVector3().map(toDegrees) as [number, number, number];\n const S = matrix.getScale().map(n => n 0.999999 ? 1 : n) as [number, number, number];\n\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${uuidV4()}_placement`,\n '@type': 'SpatialPlacement',\n source: source['@id'],\n target: targetIri,\n placement_date: new Date().toISOString().split('T')[0],\n x_scaling: S[0],\n y_scaling: S[1],\n z_scaling: S[2],\n scaling_units: 'ratio',\n x_rotation: R[0],\n y_rotation: R[1],\n z_rotation: R[2],\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n x_translation: T[0],\n y_translation: T[1],\n z_translation: T[2],\n translation_units: 'millimeter'\n };\n } else {\n return undefined;\n }\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialScene.html":{"url":"classes/CCFSpatialScene.html","title":"class - CCFSpatialScene","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialScene\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getAnatomicalStructures\n \n \n getEntitySceneNodes\n \n \n getExtractionSet\n \n \n getExtractionSets\n \n \n getReferenceBody\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getReferenceOrganSets\n \n \n getReferenceSceneNodes\n \n \n getScene\n \n \n getSceneNode\n \n \n getSpatialEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getAnatomicalStructures\n \n \n \n \n \n \ngetAnatomicalStructures(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getEntitySceneNodes\n \n \n \n \n \n \ngetEntitySceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:149\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSet\n \n \n \n \n \n \ngetExtractionSet(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSets\n \n \n \n \n \n \ngetExtractionSets(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceBody\n \n \n \n \n \n \ngetReferenceBody(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:54\n \n \n\n\n \n \n\n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganSets\n \n \n \n \n \n \ngetReferenceOrganSets(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceSceneNodes\n \n \n \n \n \n \ngetReferenceSceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSceneNode\n \n \n \n \n \n \ngetSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n target\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n nodeAttrs\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSpatialEntity\n \n \n \n \n \n \ngetSpatialEntity(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseStatus.html":{"url":"interfaces/DatabaseStatus.html","title":"interface - DatabaseStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Status of the database\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n checkback\n \n \n \n Optional\n \n loadTime\n \n \n \n Optional\n \n message\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n checkback\n \n \n \n \n \n \n \n \n checkback: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n How long to wait (in milliseconds) before checking status again\n\n \n \n \n \n \n \n \n \n \n loadTime\n \n \n \n \n \n \n \n \n loadTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The amount of time (in milliseconds) taken to load the database\n\n \n \n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Human readable description of the current status\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n\n\n\n \n \n Status of the database\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatasetResult.html":{"url":"interfaces/DatasetResult.html","title":"interface - DatasetResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatasetResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Dataset List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n technology\n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n technology\n \n \n \n \n \n \n \n \n technology: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Technology used in data\n\n \n \n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Representative thumbnail URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DonorResult.html":{"url":"interfaces/DonorResult.html","title":"interface - DonorResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DonorResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Donor List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n providerName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Provider Name\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A set of extraction sites\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n extractionSites\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: SpatialEntity[]\n\n \n \n\n\n \n \n Type : SpatialEntity[]\n\n \n \n\n\n\n\n\n \n \n The list of extraction sites in this set\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Filter.html":{"url":"interfaces/Filter.html","title":"interface - Filter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Filter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Options applied during queries\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ageRange\n \n \n \n \n bmiRange\n \n \n \n \n cellTypeTerms\n \n \n \n Optional\n \n debug\n \n \n \n \n ontologyTerms\n \n \n \n \n sex\n \n \n \n \n spatialSearches\n \n \n \n \n technologies\n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ageRange\n \n \n \n \n \n \n \n \n ageRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n Age range\n\n \n \n \n \n \n \n \n \n \n bmiRange\n \n \n \n \n \n \n \n \n bmiRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n BMI range\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \n \n \n debug: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Include optional debugging information\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n \n \n \n spatialSearches\n \n \n \n \n \n \n \n \n spatialSearches: SpatialSearch[]\n\n \n \n\n\n \n \n Type : SpatialSearch[]\n\n \n \n\n\n\n\n\n \n \n spatial search\n\n \n \n \n \n \n \n \n \n \n technologies\n \n \n \n \n \n \n \n \n technologies: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Technologies\n\n \n \n \n \n \n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n tmc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n TMC\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FlatSpatialPlacement.html":{"url":"interfaces/FlatSpatialPlacement.html","title":"interface - FlatSpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FlatSpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Source entity iri\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Target entity iri\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResultItem.html":{"url":"interfaces/ListResultItem.html","title":"interface - ListResultItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResultItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n List result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n description\n \n \n \n \n label\n \n \n \n \n link\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Description\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Label\n\n \n \n \n \n \n \n \n \n \n link\n \n \n \n \n \n \n \n \n link: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Associated URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeModel.html":{"url":"interfaces/OntologyTreeModel.html","title":"interface - OntologyTreeModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Ontology tree model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n nodes\n \n \n \n \n root\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n nodes\n \n \n \n \n \n \n \n \n nodes: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n Mapping from id/IRI to ontology node instance\n\n \n \n \n \n \n \n \n \n \n root\n \n \n \n \n \n \n \n \n root: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n id of the root node of the ontology\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeNode.html":{"url":"interfaces/OntologyTreeNode.html","title":"interface - OntologyTreeNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n A node in the ontology\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n children\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n parent\n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Child ontology nodes\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n RDFS label\n\n \n \n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Parent ontology node\n\n \n \n \n \n \n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n synonymLabels: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Synonym labels\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchResultJson.html":{"url":"interfaces/SearchResultJson.html","title":"interface - SearchResultJson","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchResultJson\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n hits: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLd } from 'jsonld/jsonld-spec';\nimport { addJsonLdToStore, Store } from 'triple-store-utils';\n\nimport { hubmapResponseAsJsonLd } from './hubmap-data';\n\n\ninterface SearchResultJson {\n hits: {\n hits: unknown[];\n total: {\n value: number;\n };\n };\n}\n\n\n// Reduce this value if including more data fields\nconst PER_API_SEARCH_REQUEST_COUNT = 50;\n\nconst INCLUDED_DATA_FIELDS = [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors', 'descendants',\n 'rui_location', 'specimen_type'\n];\n\nconst DEFAULT_API_SEARCH_QUERY: unknown = {\n exists: {\n field: 'rui_location'\n }\n};\n\nfunction getApiSearchHeaders(token?: string): Headers {\n const headers = new Headers();\n\n headers.append('Content-type', 'application/json');\n if (token) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n return headers;\n}\n\nfunction getApiSearchBody(from: number, size: number, query?: unknown): string {\n const bodyObj = {\n version: true,\n from,\n size,\n stored_fields: ['*'],\n script_fields: {},\n docvalue_fields: [],\n query: query ?? DEFAULT_API_SEARCH_QUERY,\n _source: {\n includes: INCLUDED_DATA_FIELDS\n }\n };\n\n return JSON.stringify(bodyObj);\n}\n\nasync function doSearchRequest(\n url: string, init?: RequestInit\n): Promise {\n try {\n const res = await fetch(url, init);\n return res.ok ? (await res.json()) : undefined;\n } catch (_error) {\n return undefined;\n }\n}\n\nasync function doApiSearch(\n url: string, token?: string, query?: unknown\n): Promise {\n const perReqCount = PER_API_SEARCH_REQUEST_COUNT;\n const headers = getApiSearchHeaders(token);\n const body = getApiSearchBody(0, perReqCount, query);\n const firstResult = await doSearchRequest(url, { method: 'POST', headers, body });\n if (!firstResult) {\n return undefined;\n }\n\n const totalCount = firstResult.hits.total.value;\n if (totalCount [] = [];\n for (let from = perReqCount; from !res)) {\n return undefined;\n }\n\n const items = results.map(res => res!.hits.hits);\n return {\n ...firstResult,\n hits: {\n ...firstResult.hits,\n hits: firstResult.hits.hits.concat(...items),\n }\n };\n}\n\n/**\n * Search the HuBMAP Search API and return CCF-compatible JSON-LD data\n *\n * @param dataUrl the search API url\n * @param serviceType 'static' if a statically saved response or 'search-api' if querying the search-api live\n * @param query the elastic search query to use\n * @param serviceToken the api key to the search-api\n * @param assetsApi the assets api endpoint\n * @param portalUrl the portal url to point to\n * @returns CCF-compatible JSON-LD data or undefined on error\n */\nexport async function searchHubmap(\n dataUrl: string, serviceType: 'static' | 'search-api',\n query?: unknown, serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n let hubmapData: SearchResultJson | undefined;\n if (serviceType === 'static') {\n hubmapData = await doSearchRequest(dataUrl);\n } else if (serviceType === 'search-api') {\n hubmapData = await doApiSearch(dataUrl, serviceToken, query);\n }\n\n if (hubmapData) {\n return hubmapResponseAsJsonLd(hubmapData, assetsApi, portalUrl, serviceToken);\n } else {\n console.warn(`Unable to load ${dataUrl} as HuBMAP Data`);\n return undefined;\n }\n}\n\n/**\n * Adds hubmap data from a url to the triple store.\n *\n * @param store The triple store.\n * @param dataUrl The data url.\n * @param serviceType The service type.\n */\nexport async function addHubmapDataToStore(\n store: Store, dataUrl: string, serviceType: 'static' | 'search-api', serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n const hubmapData = await searchHubmap(dataUrl, serviceType, undefined, serviceToken, assetsApi, portalUrl);\n if (hubmapData) {\n await addJsonLdToStore(hubmapData, store);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchableItem.html":{"url":"interfaces/SearchableItem.html","title":"interface - SearchableItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchableItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Item that can be searched for\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n age\n \n \n \n Optional\n \n bmi\n \n \n \n Optional\n \n cellTypeTerms\n \n \n \n \n id\n \n \n \n Optional\n \n ontologyTerms\n \n \n \n Optional\n \n sex\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n age\n \n \n \n \n \n \n \n \n age: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Age\n\n \n \n \n \n \n \n \n \n \n bmi\n \n \n \n \n \n \n \n \n bmi: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n BMI\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialEntity.html":{"url":"interfaces/SpatialEntity.html","title":"interface - SpatialEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A spatial entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n comment\n \n \n \n Optional\n \n creation_date\n \n \n \n Optional\n \n creator\n \n \n \n Optional\n \n creator_first_name\n \n \n \n Optional\n \n creator_last_name\n \n \n \n Optional\n \n creator_orcid\n \n \n \n \n dimension_units\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n label\n \n \n \n Optional\n \n object\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n rui_rank\n \n \n \n \n sex\n \n \n \n \n side\n \n \n \n Optional\n \n slice_count\n \n \n \n Optional\n \n slice_thickness\n \n \n \n \n x_dimension\n \n \n \n \n y_dimension\n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotations (a set of IRIs)\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Coloring\n\n \n \n \n \n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity comment\n\n \n \n \n \n \n \n \n \n \n creation_date\n \n \n \n \n \n \n \n \n creation_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creation date\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator\n\n \n \n \n \n \n \n \n \n \n creator_first_name\n \n \n \n \n \n \n \n \n creator_first_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator first name\n\n \n \n \n \n \n \n \n \n \n creator_last_name\n \n \n \n \n \n \n \n \n creator_last_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator last name\n\n \n \n \n \n \n \n \n \n \n creator_orcid\n \n \n \n \n \n \n \n \n creator_orcid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator identifier\n\n \n \n \n \n \n \n \n \n \n dimension_units\n \n \n \n \n \n \n \n \n dimension_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units dimensions are in\n\n \n \n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n IRI of the Entity this Spatial Entity represents\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialObjectReference\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Data references\n\n \n \n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Specifies if this is an anatomical structure of this organ (IRI)\n\n \n \n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotation (IRI) that says what this entity represents\n\n \n \n \n \n \n \n \n \n \n rui_rank\n \n \n \n \n \n \n \n \n rui_rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ranking used in the RUI for ordering lists\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\" | undefined\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from a Male or Female\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"Left\" | \"Right\" | undefined\n\n \n \n\n\n \n \n Type : \"Left\" | \"Right\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from the left or right side organ\n\n \n \n \n \n \n \n \n \n \n slice_count\n \n \n \n \n \n \n \n \n slice_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The number of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n slice_thickness\n \n \n \n \n \n \n \n \n slice_thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The thickness (in nanometers) of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n x_dimension\n \n \n \n \n \n \n \n \n x_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X-dimension\n\n \n \n \n \n \n \n \n \n \n y_dimension\n \n \n \n \n \n \n \n \n y_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y-dimension\n\n \n \n \n \n \n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n z_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialObjectReference.html":{"url":"interfaces/SpatialObjectReference.html","title":"interface - SpatialObjectReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialObjectReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A reference to a spatial object\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n file\n \n \n \n \n file_format\n \n \n \n Optional\n \n file_subpath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n \n \n file: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data file name\n\n \n \n \n \n \n \n \n \n \n file_format\n \n \n \n \n \n \n \n \n file_format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data format\n\n \n \n \n \n \n \n \n \n \n file_subpath\n \n \n \n \n \n \n \n \n file_subpath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n File subpath\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacement.html":{"url":"interfaces/SpatialPlacement.html","title":"interface - SpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: SpatialEntity | SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialEntity | SpatialObjectReference\n\n \n \n\n\n\n\n\n \n \n Source entity\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: SpatialEntity\n\n \n \n\n\n \n \n Type : SpatialEntity\n\n \n \n\n\n\n\n\n \n \n Target entity\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacementCommon.html":{"url":"interfaces/SpatialPlacementCommon.html","title":"interface - SpatialPlacementCommon","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacementCommon\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n Object describing the placement of an entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n placement_date\n \n \n \n Optional\n \n rotation_order\n \n \n \n \n rotation_units\n \n \n \n \n scaling_units\n \n \n \n \n translation_units\n \n \n \n Optional\n \n w_rotation\n \n \n \n \n x_rotation\n \n \n \n \n x_scaling\n \n \n \n \n x_translation\n \n \n \n \n y_rotation\n \n \n \n \n y_scaling\n \n \n \n \n y_translation\n \n \n \n \n z_rotation\n \n \n \n \n z_scaling\n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n JSON-LD context\n\n \n \n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n placement_date\n \n \n \n \n \n \n \n \n placement_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Date placement was made\n\n \n \n \n \n \n \n \n \n \n rotation_order\n \n \n \n \n \n \n \n \n rotation_order: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Order rotations should be applied in\n\n \n \n \n \n \n \n \n \n \n rotation_units\n \n \n \n \n \n \n \n \n rotation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units rotation is expressed in\n\n \n \n \n \n \n \n \n \n \n scaling_units\n \n \n \n \n \n \n \n \n scaling_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units scaling is expressed in\n\n \n \n \n \n \n \n \n \n \n translation_units\n \n \n \n \n \n \n \n \n translation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units translation is expressed in\n\n \n \n \n \n \n \n \n \n \n w_rotation\n \n \n \n \n \n \n \n \n w_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Rotation in w-dimension\n\n \n \n \n \n \n \n \n \n \n x_rotation\n \n \n \n \n \n \n \n \n x_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_scaling\n \n \n \n \n \n \n \n \n x_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_translation\n \n \n \n \n \n \n \n \n x_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in x-dimension\n\n \n \n \n \n \n \n \n \n \n y_rotation\n \n \n \n \n \n \n \n \n y_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_scaling\n \n \n \n \n \n \n \n \n y_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_translation\n \n \n \n \n \n \n \n \n y_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in y-dimension\n\n \n \n \n \n \n \n \n \n \n z_rotation\n \n \n \n \n \n \n \n \n z_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_scaling\n \n \n \n \n \n \n \n \n z_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n z_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSceneNode.html":{"url":"interfaces/SpatialSceneNode.html","title":"interface - SpatialSceneNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSceneNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _lighting\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n geometry\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n priority\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n scenegraph\n \n \n \n Optional\n \n scenegraphNode\n \n \n \n Optional\n \n text\n \n \n \n Optional\n \n tooltip\n \n \n \n \n transformMatrix\n \n \n \n Optional\n \n unpickable\n \n \n \n Optional\n \n zoomBasedOpacity\n \n \n \n Optional\n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _lighting\n \n \n \n \n \n \n \n \n _lighting: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n geometry\n \n \n \n \n \n \n \n \n geometry: SpatialSceneGeometry\n\n \n \n\n\n \n \n Type : SpatialSceneGeometry\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n priority\n \n \n \n \n \n \n \n \n priority: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraph\n \n \n \n \n \n \n \n \n scenegraph: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraphNode\n \n \n \n \n \n \n \n \n scenegraphNode: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n transformMatrix\n \n \n \n \n \n \n \n \n transformMatrix: Matrix4\n\n \n \n\n\n \n \n Type : Matrix4\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpickable\n \n \n \n \n \n \n \n \n unpickable: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomBasedOpacity\n \n \n \n \n \n \n \n \n zoomBasedOpacity: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n zoomToOnLoad: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearch.html":{"url":"interfaces/SpatialSearch.html","title":"interface - SpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Specification for a Spatial Search via Probing Sphere\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n radius\n \n \n \n \n target\n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n radius\n \n \n \n \n \n \n \n \n radius: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of the probing sphere in millimeters\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The target spatial entity IRI\n\n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n y coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n z coordinate relative to target in millimeters\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueBlockResult.html":{"url":"interfaces/TissueBlockResult.html","title":"interface - TissueBlockResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueBlockResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Block List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n donor\n \n \n \n \n sampleType\n \n \n \n \n sectionCount\n \n \n \n \n sections\n \n \n \n \n sectionSize\n \n \n \n \n sectionUnits\n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue block\n\n \n \n \n \n \n \n \n \n \n donor\n \n \n \n \n \n \n \n \n donor: DonorResult\n\n \n \n\n\n \n \n Type : DonorResult\n\n \n \n\n\n\n\n\n \n \n The donor this tissue block was derived from\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue block type\n\n \n \n \n \n \n \n \n \n \n sectionCount\n \n \n \n \n \n \n \n \n sectionCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of sections extracted from this block\n\n \n \n \n \n \n \n \n \n \n sections\n \n \n \n \n \n \n \n \n sections: TissueSectionResult[]\n\n \n \n\n\n \n \n Type : TissueSectionResult[]\n\n \n \n\n\n\n\n\n \n \n The sections extracted from this tissue block\n\n \n \n \n \n \n \n \n \n \n sectionSize\n \n \n \n \n \n \n \n \n sectionSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of each tissue section\n\n \n \n \n \n \n \n \n \n \n sectionUnits\n \n \n \n \n \n \n \n \n sectionUnits: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units of the section size (generally, millimeters)\n\n \n \n \n \n \n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n spatialEntityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The associated spatial entity (rui_location) for this block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueSectionResult.html":{"url":"interfaces/TissueSectionResult.html","title":"interface - TissueSectionResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueSectionResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Section List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n sampleType\n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue section\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue section type\n\n \n \n \n \n \n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n sectionNumber: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Index into the sequence of sections from the parent block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Common Coordinate Framework (CCF) User Interfaces\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-database/src/cache-ccf-api-data.ts\n \n function\n main\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n class\n CCFDatabase\n \n 75 %\n (24/32)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n interface\n CCFDatabaseOptions\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n variable\n DEFAULT_CCF_DB_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n class\n CCFSpatialGraph\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n class\n CCFSpatialScene\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n interface\n SpatialSceneNode\n \n 0 %\n (0/21)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n interface\n SearchResultJson\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n addHubmapDataToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doApiSearch\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doSearchRequest\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchBody\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchHeaders\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n searchHubmap\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n DEFAULT_API_SEARCH_QUERY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n INCLUDED_DATA_FIELDS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n PER_API_SEARCH_REQUEST_COUNT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n class\n HuBMAPTissueBlock\n \n 0 %\n (0/24)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n debugDonors\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n hubmapResponseAsJsonLd\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n DR1_VU_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n ENTITY_CONTEXT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n GROUP_UUID_MAPPING\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n HBM_PREFIX\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n UFL_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n AggregateResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatabaseStatus\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatasetResult\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DonorResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n Filter\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n ListResultItem\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeModel\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeNode\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SearchableItem\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SpatialSearch\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueBlockResult\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueSectionResult\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getAggregateResults\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getDatasetTechnologyNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getObjects\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getProviderNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n differenceCallback\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByAge\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByBMI\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByCellTypeTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByGroupName\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByHasSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByOntologyTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySex\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySpatialSearches\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByTechnology\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDataset\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDonor\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithSpatialEntity\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n findIds\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n getAllEntities\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getAnatomicalStructureMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getCellTypeTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getOntologyTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getSpatialEntityMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getAnatomicalStructureTreeModelSlowly\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getCellTypeTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeNode\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n variable\n getAnatomicalStructureTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getAnatomicalStructures\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSets\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getReferenceOrgans\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntityForEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialObjectReference\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialPlacement\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n reverseMapping\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n variable\n mappings\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n filterByProbingSphere\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getOrientedBoundingBox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getSpatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n variable\n spatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDatasetResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDonorResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueBlockResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueSectionResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n datasetResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n donorResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n listResultSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueBlockResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueSectionResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n ExtractionSet\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n FlatSpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialEntity\n \n 100 %\n (25/25)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialObjectReference\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacementCommon\n \n 100 %\n (19/19)\n \n \n \n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n class\n CCFDatabaseStatusTracker\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/util/enrich-rui-locations.ts\n \n function\n enrichRuiLocations\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getEntries\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getMappedResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n function\n getOriginScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n gray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccf\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccfx\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n cl\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n entity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n fma\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n lmha\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n prefixer\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n PREFIXES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdf\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdfs\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rui\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n uberon\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n function\n getProbingSphereScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n gold\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nCommon Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://ccf-api--staging.herokuapp.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\n\nBackground and More Information\nFor more information about the Common Coordinate Framework (CCF), see the HuBMAP CCF Portal at https://hubmapconsortium.github.io/ccf/.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 21 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Color   (projects/.../origin-scene.ts)\n \n \n Color   (projects/.../probing-sphere-scene.ts)\n \n \n JsonDict   (projects/.../hubmap-data.ts)\n \n \n SpatialSceneGeometry   (projects/.../ccf-spatial-scene.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n JsonDict\n \n \n \n \n Record\n\n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n \n \n \n \n \n SpatialSceneGeometry\n \n \n \n \n \"sphere\" | \"cube\" | \"wireframe\" | \"text\" | \"cone\" | \"cylinder\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n blue   (projects/.../origin-scene.ts)\n \n \n blue   (projects/.../probing-sphere-scene.ts)\n \n \n ccf   (projects/.../prefixes.ts)\n \n \n ccfx   (projects/.../prefixes.ts)\n \n \n cl   (projects/.../prefixes.ts)\n \n \n datasetResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DEFAULT_API_SEARCH_QUERY   (projects/.../hubmap-data-import.ts)\n \n \n DEFAULT_CCF_DB_OPTIONS   (projects/.../ccf-database.ts)\n \n \n donorResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DR1_VU_THUMBS   (projects/.../hubmap-data.ts)\n \n \n entity   (projects/.../prefixes.ts)\n \n \n ENTITY_CONTEXT   (projects/.../hubmap-data.ts)\n \n \n fma   (projects/.../prefixes.ts)\n \n \n getAnatomicalStructureTreeModel   (projects/.../ontology-tree-n3.ts)\n \n \n gold   (projects/.../probing-sphere-scene.ts)\n \n \n gray   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../probing-sphere-scene.ts)\n \n \n GROUP_UUID_MAPPING   (projects/.../hubmap-data.ts)\n \n \n HBM_PREFIX   (projects/.../hubmap-data.ts)\n \n \n INCLUDED_DATA_FIELDS   (projects/.../hubmap-data-import.ts)\n \n \n listResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n lmha   (projects/.../prefixes.ts)\n \n \n mappings   (projects/.../spatial-result-n3.ts)\n \n \n PER_API_SEARCH_REQUEST_COUNT   (projects/.../hubmap-data-import.ts)\n \n \n prefixer   (projects/.../prefixes.ts)\n \n \n PREFIXES   (projects/.../prefixes.ts)\n \n \n rdf   (projects/.../prefixes.ts)\n \n \n rdfs   (projects/.../prefixes.ts)\n \n \n red   (projects/.../origin-scene.ts)\n \n \n red   (projects/.../probing-sphere-scene.ts)\n \n \n rui   (projects/.../prefixes.ts)\n \n \n spatialEntityDimensions   (projects/.../spatial-search-n3.ts)\n \n \n tissueBlockResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n tissueSectionResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n uberon   (projects/.../prefixes.ts)\n \n \n UFL_THUMBS   (projects/.../hubmap-data.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gray\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [204, 204, 204, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gold\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [240, 183, 98, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/prefixes.ts\n \n \n \n \n \n \n \n ccf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: ccfx,\n ontologyNode: {\n label: ccfx('ccf_preferred_label'),\n parent: ccfx('ccf_part_of'),\n children: ccfx('ccf_part_of'),\n rui_rank: ccfx('ccf_rui_rank'),\n synonymLabels: DataFactory.namedNode('http://www.geneontology.org/formats/oboInOwl#hasExactSynonym')\n },\n asctb: {\n part_of: ccfx('ccf_part_of'),\n ct_is_a: ccfx('ct_is_a'),\n located_in: ccfx('located_in'),\n characterizes: ccfx('characterizes')\n },\n spatial: {\n Female: ccfx('VHFemale'),\n Male: ccfx('VHMale'),\n BothSexes: ccfx('VHBothSexes'),\n FemaleOrgans: ccfx('VHFemaleOrgans'),\n MaleOrgans: ccfx('VHMaleOrgans')\n },\n SpatialObjectReference: ccfx('SpatialObjectReference'),\n SpatialEntity: ccfx('SpatialEntity'),\n SpatialPlacement: ccfx('SpatialPlacement'),\n spatialObjectReference: {\n file: ccfx('has_object_file'),\n file_format: ccfx('has_object_file_format'),\n file_subpath: ccfx('has_object_file_subpath')\n },\n extractionSet: {\n label: rdfs.label,\n rui_rank: ccfx('ccf_rui_rank')\n },\n spatialEntity: {\n label: rdfs.label,\n comment: rdfs.comment,\n creator: prefixer('dc')('creator'),\n creator_first_name: ccfx('creator_first_name'),\n creator_last_name: ccfx('creator_last_name'),\n creator_orcid: ccfx('creator_orcid'),\n creation_date: ccfx('creation_date'),\n updated_date: ccfx('updated_date'),\n ccf_annotations: ccfx('ccf_annotation'),\n representation_of: ccfx('ccf_representation_of'),\n reference_organ: ccfx('anatomical_structure_of'),\n extraction_set_for: ccfx('extraction_set_for'),\n extraction_set: ccfx('extraction_site_for'),\n sex: ccfx('has_sex'),\n side: ccfx('has_side'),\n rui_rank: ccfx('ccf_rui_rank'),\n slice_thickness: ccfx('ccf_slice_thickness'),\n slice_count: ccfx('ccf_slice_count'),\n x_dimension: ccfx('has_x_dimension'),\n y_dimension: ccfx('has_y_dimension'),\n z_dimension: ccfx('has_z_dimension'),\n dimension_units: ccfx('has_dimension_units'),\n object: ccfx('has_object_reference')\n },\n spatialPlacement: {\n source: ccfx('has_placement_source'),\n target: ccfx('has_placement_target'),\n\n placement_date: ccfx('has_placement_date'),\n x_scaling: ccfx('has_x_scaling'),\n y_scaling: ccfx('has_y_scaling'),\n z_scaling: ccfx('has_z_scaling'),\n scaling_units: ccfx('has_scaling_units'),\n\n x_rotation: ccfx('has_x_rotation'),\n y_rotation: ccfx('has_y_rotation'),\n z_rotation: ccfx('has_z_rotation'),\n w_rotation: ccfx('has_theta_rotation'),\n rotation_order: ccfx('has_rotation_order'),\n rotation_units: ccfx('has_rotation_units'),\n\n x_translation: ccfx('has_x_translation'),\n y_translation: ccfx('has_y_translation'),\n z_translation: ccfx('has_z_translation'),\n translation_units: ccfx('has_translation_units')\n }\n}\n \n \n\n \n \n CCF specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n ccfx\n \n \n \n \n \n \n Default value : prefixer('ccf')\n \n \n\n \n \n CCF id helper.\n\n \n \n\n \n \n \n \n \n \n \n \n cl\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('cl'),\n cell: prefixer('cl')('0000000')\n}\n \n \n\n \n \n CL specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n entity\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('entity'),\n id: prefixer('entity')('id'),\n label: rdfs.label,\n description: rdfs.comment,\n link: rdfs.seeAlso,\n\n sex: prefixer('entity')('sex'),\n age: prefixer('entity')('age'),\n bmi: prefixer('entity')('bmi'),\n\n Male: DataFactory.literal('Male'),\n Female: DataFactory.literal('Female'),\n\n consortiumName: prefixer('entity')('consortium_name'),\n providerName: prefixer('entity')('provider_name'),\n providerUUID: prefixer('entity')('provider_uuid'),\n\n donor: prefixer('entity')('has_donor'),\n\n sections: prefixer('entity')('has_tissue_section'),\n datasets: prefixer('entity')('has_dataset'),\n\n sampleType: prefixer('entity')('sample_type'),\n\n TissueBlock: DataFactory.literal('Tissue Block'),\n TissueSection: DataFactory.literal('Tissue Section'),\n NonStandard: DataFactory.literal('Non-standard'),\n\n sectionCount: prefixer('entity')('section_count'),\n sectionSize: prefixer('entity')('section_size'),\n sectionUnits: prefixer('entity')('section_units'),\n sectionNumber: prefixer('entity')('section_number'),\n\n spatialEntity: prefixer('entity')('has_spatial_entity'),\n ontologyTerms: prefixer('entity')('has_ontology_term'),\n cellTypeTerms: prefixer('entity')('has_cell_type_term'),\n\n technology: prefixer('entity')('technology'),\n thumbnail: prefixer('entity')('has_thumbnail')\n}\n \n \n\n \n \n Common entity ids.\n\n \n \n\n \n \n \n \n \n \n \n \n fma\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('fma')\n}\n \n \n\n \n \n FMA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n lmha\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('lmha')\n}\n \n \n\n \n \n LMHA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n prefixer\n \n \n \n \n \n \n Default value : Util.prefixes(PREFIXES, DataFactory)\n \n \n\n \n \n Prefix factory.\n\n \n \n\n \n \n \n \n \n \n \n \n PREFIXES\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n ccf: 'http://purl.org/ccf/latest/ccf.owl#',\n entity: 'http://purl.org/ccf/latest/ccf-entity.owl#',\n fma: 'http://purl.obolibrary.org/obo/FMA_',\n obo: 'http://purl.obolibrary.org/obo/',\n uberon: 'http://purl.obolibrary.org/obo/UBERON_',\n cl: 'http://purl.obolibrary.org/obo/CL_',\n lmha: 'http://purl.obolibrary.org/obo/LMHA_',\n rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n dc: 'http://purl.org/dc/elements/1.1/'\n}\n \n \n\n \n \n Constants used to create entity accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n rdf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdf'),\n type: prefixer('rdf')('type')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rdfs\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdfs'),\n label: prefixer('rdfs')('label'),\n comment: prefixer('rdfs')('comment'),\n isDefinedBy: prefixer('rdfs')('isDefinedBy'),\n seeAlso: prefixer('rdfs')('seeAlso')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rui\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n body: uberon.body,\n cell: cl.cell,\n respiratory_system: uberon.x('0001004'),\n colon: uberon.x('0001155'),\n left_lung: uberon.x('0002168'),\n right_lung: uberon.x('0002167'),\n left_bronchus: uberon.x('0002178'),\n right_bronchus: uberon.x('0002177'),\n kidney: uberon.x('0002113'),\n ureter: uberon.x('0000056'),\n eye: uberon.x('0000970'),\n fallopian_tube: uberon.x('0003889'),\n knee: uberon.x('0001465'),\n ovary: uberon.x('0000992'),\n trachea: uberon.x('0003126'),\n aorta: uberon.x('0000947'),\n blood: uberon.x('0000178'),\n bone_marrow: uberon.x('0002371'),\n male_reproductive_system: uberon.x('0000079'),\n lymph_node: uberon.x('0000029'),\n\n // Derived using console.log(ALL_POSSIBLE_ORGANS.map(o => ` ${o.name.toLowerCase().replace(',', '').replace(/ /g, '_')}: ${o.id.split('/').slice(-1)[0].split('_')[0].toLowerCase()}.x('${o.id.split('_').slice(-1)[0]}'),`).join('\\n'));\n blood_vasculature: uberon.x('0004537'),\n brain: uberon.x('0000955'),\n eye_left: uberon.x('0004548'),\n eye_right: fma.x('54449'),\n fallopian_tube_left: uberon.x('0001303'),\n fallopian_tube_right: uberon.x('0001302'),\n heart: uberon.x('0000948'),\n kidney_left: uberon.x('0004538'),\n kidney_right: uberon.x('0004539'),\n knee_left: fma.x('24978'),\n knee_right: fma.x('24977'),\n large_intestine: uberon.x('0000059'),\n liver: uberon.x('0002107'),\n lungs: uberon.x('0002048'),\n mesenteric_lymph_node: uberon.x('0002509'),\n ovary_left: fma.x('7214'),\n ovary_right: fma.x('7213'),\n pancreas: uberon.x('0001264'),\n pelvis: uberon.x('0001270'),\n prostate_gland: uberon.x('0002367'),\n skin: uberon.x('0002097'),\n small_intestine: uberon.x('0002108'),\n spleen: uberon.x('0002106'),\n thymus: uberon.x('0002370'),\n ureter_left: uberon.x('0001223'),\n ureter_right: uberon.x('0001222'),\n urinary_bladder: uberon.x('0001255'),\n uterus: uberon.x('0000995')\n}\n \n \n\n \n \n RUI accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n uberon\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('uberon'),\n body: prefixer('uberon')('0013702')\n}\n \n \n\n \n \n Uberon specific ids.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n \n \n \n \n \n \n datasetResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.technology.id]: 'technology',\n [entity.thumbnail.id]: 'thumbnail',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n donorResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.providerName.id]: 'providerName'\n}\n \n \n\n\n \n \n \n \n \n \n \n \n listResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n [entity.label.id]: 'label',\n [entity.description.id]: 'description',\n [entity.link.id]: 'link'\n}\n \n \n\n \n \n Entity iri to property path.\n\n \n \n\n \n \n \n \n \n \n \n \n tissueBlockResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionCount.id]: 'sectionCount',\n [entity.sectionSize.id]: 'sectionSize',\n [entity.sectionUnits.id]: 'sectionUnits',\n\n [entity.donor.id]: 'donor',\n [entity.spatialEntity.id]: 'spatialEntityId',\n [entity.sections.id]: 'sections',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n tissueSectionResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionNumber.id]: 'sectionNumber',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n \n \n \n \n \n \n DEFAULT_API_SEARCH_QUERY\n \n \n \n \n \n \n Default value : {\n exists: {\n field: 'rui_location'\n }\n}\n \n \n\n\n \n \n \n \n \n \n \n \n INCLUDED_DATA_FIELDS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors', 'descendants',\n 'rui_location', 'specimen_type'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n PER_API_SEARCH_REQUEST_COUNT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 50\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/ccf-database.ts\n \n \n \n \n \n \n \n DEFAULT_CCF_DB_OPTIONS\n \n \n \n \n \n \n Type : CCFDatabaseOptions\n\n \n \n \n \n Default value : {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n}\n \n \n\n \n \n Default initialization options.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n \n DR1_VU_THUMBS\n \n \n \n \n \n \n Default value : new Set(['VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-PAS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-PAS_registered_thumbnail.jpg', 'VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-PAS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg'])\n \n \n\n\n \n \n \n \n \n \n \n \n ENTITY_CONTEXT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '@base': 'http://purl.org/ccf/latest/ccf-entity.owl#',\n '@vocab': 'http://purl.org/ccf/latest/ccf-entity.owl#',\n ccf: 'http://purl.org/ccf/latest/ccf.owl#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n\n label: 'rdfs:label',\n description: 'rdfs:comment',\n link: {\n '@id': 'rdfs:seeAlso',\n '@type': '@id'\n },\n samples: {\n '@reverse': 'has_donor'\n },\n sections: {\n '@id': 'has_tissue_section',\n '@type': '@id'\n },\n datasets: {\n '@id': 'has_dataset',\n '@type': '@id'\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n rui_location: {\n '@id': 'has_spatial_entity',\n '@type': '@id'\n },\n ontologyTerms: {\n '@id': 'has_ontology_term',\n '@type': '@id'\n },\n cellTypeTerms: {\n '@id': 'has_cell_type_term',\n '@type': '@id'\n },\n thumbnail: {\n '@id': 'has_thumbnail'\n }\n}\n \n \n\n\n \n \n \n \n \n \n \n \n GROUP_UUID_MAPPING\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n '03b3d854-ed44-11e8-8bce-0e368f3075e8': 'TMC-UCSD',\n '07a29e4c-ed43-11e8-b56a-0e8017bdda58': 'TMC-Florida',\n '308f5ffc-ed43-11e8-b56a-0e8017bdda58': 'TMC-CalTech',\n '5bd084c8-edc2-11e8-802f-0e368f3075e8': 'HBM-TestingGroup',\n '73bb26e4-ed43-11e8-8f19-0a7c1eab007a': 'TMC-Vanderbilt',\n 'def5fd76-ed43-11e8-b56a-0e8017bdda58': 'TMC-Stanford',\n '5c106f29-ea2d-11e9-85e8-0efb3ba9a670': 'RTI-General Electric',\n '301615f9-c870-11eb-a8dc-35ce3d8786fe': 'TMC-UConn'\n}\n \n \n\n \n \n UUID to TMC mapping.\n\n \n \n\n \n \n \n \n \n \n \n \n HBM_PREFIX\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://entity.api.hubmapconsortium.org/entities/'\n \n \n\n\n \n \n \n \n \n \n \n \n UFL_THUMBS\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : { 'HBM558.SRZG.629': 'HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg', 'HBM562.NTMH.548': 'HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg', 'HBM685.KHRQ.684': 'HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg', 'HBM278.SFQW.627': 'HBM278.SFQW.627_UFL0008-LY09-1-1.jpg', 'HBM427.SMGB.866': 'HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg', 'HBM432.LLCF.677': 'HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg', 'HBM586.ZSVS.996': 'HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg', 'HBM285.XMBT.542': 'HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg', 'HBM289.BWJW.663': 'HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg', 'HBM255.SRPR.985': 'HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg', 'HBM799.WXHD.535': 'HBM799.WXHD.535_UFL0009-LY02-1-1.jpg', 'HBM294.RZFN.624': 'HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg', 'HBM383.TRQG.424': 'HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg', 'HBM647.MFQB.496': 'HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg', 'HBM237.GGPR.739': 'HBM237.GGPR.739_UFL0006-LY01-1-1.jpg', 'HBM288.TPBD.654': 'HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg', 'HBM974.NDXT.675': 'HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg', 'HBM589.SLVV.423': 'HBM589.SLVV.423_UFL0008-LY10-1-1.jpg', 'HBM794.RLFN.358': 'HBM794.RLFN.358_UFL0006-LY03-1-1.jpg', 'HBM372.BQSR.778': 'HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg', 'HBM499.TKDW.458': 'HBM499.TKDW.458_UFL0009-LY03-1-1.jpg', 'HBM342.PRQB.739': 'HBM342.PRQB.739_UFL0003-LY06-1-1.jpg', 'HBM633.CLVN.674': 'HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg', 'HBM343.JQKM.578': 'HBM343.JQKM.578_UFL0009-LY01-1-1.jpg', 'HBM987.XGTH.368': 'HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg', 'HBM964.CWCP.788': 'HBM964.CWCP.788_UFL0006-LY02-2-1.jpg', 'HBM244.TJLK.223': 'HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg', 'HBM646.FSBQ.966': 'HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg', 'HBM572.GXSB.234': 'HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg', 'HBM772.TKGJ.794': 'HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg', 'HBM239.CBWR.263': 'HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg', 'HBM992.NRTT.383': 'HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg', 'HBM283.DQXD.546': 'HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg', 'HBM795.JHND.856': 'HBM795.JHND.856_UFL0007-SP-1-2-1.jpg', 'HBM267.BZKT.867': 'HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg', 'HBM838.DLMJ.782': 'HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg', 'HBM337.FSXL.564': 'HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg', 'HBM355.JDLK.244': 'HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg', 'HBM599.PSZG.737': 'HBM599.PSZG.737_UFL0006-LY02-1-1.jpg' }\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n \n \n \n \n \n \n getAnatomicalStructureTreeModel\n \n \n \n \n \n \n Default value : memoize(getAnatomicalStructureTreeModelSlowly, () => '')\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n \n \n \n \n \n \n mappings\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n spatialObjectReference: reverseMapping(ccf.spatialObjectReference),\n spatialEntity: reverseMapping(ccf.spatialEntity),\n spatialPlacement: reverseMapping(ccf.spatialPlacement)\n}\n \n \n\n \n \n A mapping of spatial objects.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n \n \n \n \n \n \n spatialEntityDimensions\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n [ccf.spatialEntity.x_dimension.id]: 'x',\n [ccf.spatialEntity.y_dimension.id]: 'y',\n [ccf.spatialEntity.z_dimension.id]: 'z'\n}\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AggregateResult.html",[0,0.246,1,0.813]],["body/interfaces/AggregateResult.html",[0,0.478,1,1.095,2,0.254,3,0.254,4,0.293,5,0.216,6,0.216,7,0.942,8,1.038,9,1.576,10,1.095,11,0.028,12,0.296,13,0.457,14,1.707,15,1.068,16,0.609,17,0.032,18,0.44,19,0.359,20,1.095,21,1.394,22,1.095,23,0.657,24,0.737,25,1.34,26,0.775,27,0.942,28,0.942,29,0.869,30,1.02,31,1.02,32,1.394,33,0.942,34,1.02,35,0.942,36,0.942,37,1.02,38,1.02,39,0.621,40,0.801,41,0.942,42,1.02,43,0.942,44,1.02,45,0.942,46,0.904,47,1.522,48,0.949,49,0.604,50,1.188,51,1.188,52,0.869,53,1.454,54,1.188,55,1.038,56,0.819,57,0.819,58,0.942,59,0.421,60,0.942,61,1.394,62,1.353,63,1.095,64,0.467,65,0.377,66,1.02,67,1.287,68,1.564,69,1.572,70,1.188,71,1.576,72,1.287,73,1.394,74,1.188,75,1.02,76,1.576,77,1.353,78,1.295,79,0.942,80,1.34,81,1.466,82,0.801,83,1.394,84,0.942,85,1.466,86,1.02,87,0.942,88,0.621,89,1.02,90,1.788,91,0.942,92,0.425,93,0.705,94,0.869,95,0.942,96,0.942,97,1.02,98,0.869,99,0.863,100,0.639,101,0.639,102,1.353,103,1.353,104,1.638,105,1.576,106,1.287,107,0.705,108,1.394,109,1.287,110,0.942,111,0.926,112,0.942,113,1.394,114,0.926,115,1.188,116,0.775,117,1.353,118,1.589,119,0.738,120,0.775,121,0.775,122,1.02,123,0.655,124,0.801,125,0.567,126,0.942,127,0.942,128,0.621,129,0.801,130,1.394,131,1.02,132,1.02,133,1.188,134,1.287,135,1.02,136,0.942,137,0.467,138,1.02,139,0.869,140,0.869,141,0.869,142,1.576,143,1.353,144,0.869,145,1.02,146,1.095,147,0.942,148,1.02,149,1.02,150,0.942,151,0.737,152,0.942,153,0.801,154,1.287,155,0.942,156,1.02,157,0.942,158,0.021,159,0.015]],["title/interfaces/CCFDatabaseOptions.html",[0,0.246,160,2.094]],["body/interfaces/CCFDatabaseOptions.html",[0,0.168,1,0.554,2,0.266,3,0.176,4,0.371,5,0.15,6,0.15,8,0.429,9,0.986,10,0.839,11,0.019,12,0.15,13,0.35,16,0.587,17,0.032,18,0.226,19,0.34,23,0.422,24,0.51,25,0.839,26,1.009,40,0.839,46,0.933,49,0.35,51,1.482,56,0.323,57,0.323,58,1.19,63,0.839,64,0.489,65,0.722,68,0.554,78,0.709,80,0.554,82,0.554,92,0.433,104,1.385,105,0.986,107,0.727,111,1.026,123,0.291,124,1.426,128,1.277,137,0.659,146,1.277,151,0.932,153,0.554,157,0.651,158,0.023,159,0.023,160,3.124,161,1.065,162,1.602,163,3.752,164,4.031,165,4.406,166,4.031,167,4.031,168,4.031,169,4.031,170,4.031,171,4.486,172,4.486,173,1.48,174,3.695,175,3.363,176,3.243,177,1.945,178,3.332,179,3.332,180,1.48,181,3.306,182,2.786,183,2.814,184,3.268,185,3.752,186,2.159,187,2.786,188,2.786,189,3.236,190,2.199,191,3.332,192,1.839,193,1.839,194,1.839,195,1.602,196,1.839,197,2.199,198,2.199,199,4.031,200,2.199,201,3.363,202,2.199,203,4.416,204,2.93,205,1.602,206,2.159,207,1.689,208,3.363,209,1.945,210,1.284,211,3.167,212,1.602,213,2.199,214,1.839,215,2.786,216,2.786,217,2.199,218,1.839,219,2.199,220,3.512,221,1.839,222,1.839,223,3.332,224,4.538,225,1.839,226,1.602,227,2.786,228,1.839,229,1.425,230,1.839,231,2.199,232,0.828,233,1.427,234,1.284,235,2.159,236,2.199,237,2.199,238,1.839,239,2.199,240,0.764,241,2.199,242,4.022,243,1.425,244,1.166,245,3.003,246,2.427,247,1.839,248,1.839,249,1.602,250,1.839,251,1.839,252,0.899,253,1.766,254,3.332,255,2.199,256,2.199,257,3.752,258,2.199,259,4.579,260,4.936,261,1.839,262,5.427,263,2.516,264,2.199,265,1.839,266,3.363,267,3.332,268,3.332,269,3.332,270,3.332,271,2.199,272,3.563,273,3.332,274,2.606,275,1.602,276,5.165,277,2.199,278,3.332,279,2.199,280,2.199,281,4.486,282,2.199,283,3.332,284,4.447,285,3.333,286,2.199,287,1.766,288,2.199,289,4.022,290,2.199,291,3.332,292,2.199,293,3.332,294,3.332,295,2.199,296,1.762,297,4.022,298,2.199,299,2.199,300,2.199,301,2.199,302,2.199,303,2.199,304,2.199,305,2.786,306,2.199,307,1.839,308,2.199,309,2.199,310,2.199,311,2.199,312,2.199,313,2.199,314,3.332,315,1.602,316,2.199,317,2.199,318,3.332,319,2.199,320,2.199,321,2.199,322,2.199,323,2.199,324,2.199,325,2.199,326,3.332,327,2.199,328,2.199,329,2.199,330,2.199,331,2.199,332,2.199,333,2.199,334,2.199,335,2.199,336,2.199,337,2.199,338,2.199,339,2.199,340,2.199,341,3.332,342,2.199,343,2.199,344,2.199,345,2.199,346,4.022,347,2.199,348,2.199,349,2.199,350,2.199,351,2.199,352,2.199,353,2.199,354,2.199,355,1.839,356,2.199,357,1.839,358,2.199,359,2.199,360,2.199,361,2.199,362,3.332,363,3.332,364,2.199,365,4.022,366,2.199,367,2.199,368,2.199,369,2.199,370,2.199,371,1.602,372,5.072,373,2.199,374,2.199,375,1.643,376,2.199,377,2.199,378,2.199,379,3.363,380,1.839,381,2.199,382,2.199,383,4.022,384,2.199,385,2.786,386,2.199,387,2.427,388,2.427,389,2.159,390,2.427,391,1.945,392,3.332,393,3.332,394,3.332,395,2.199,396,2.159,397,2.199,398,2.786,399,2.199,400,2.199,401,3.752,402,3.332,403,2.199,404,2.199,405,2.199,406,2.199,407,2.199,408,2.199,409,3.332,410,4.82,411,2.199,412,2.199,413,2.93,414,2.199,415,2.199,416,1.839,417,2.199,418,2.199,419,3.268,420,2.159,421,1.425,422,2.199,423,2.786,424,3.752,425,1.065,426,2.786,427,1.602,428,2.199,429,1.157,430,1.602,431,1.602,432,2.199,433,1.839,434,2.786,435,2.199]],["title/classes/CCFDatabaseStatusTracker.html",[235,2.094,252,1.32]],["body/classes/CCFDatabaseStatusTracker.html",[2,0.323,3,0.323,4,0.373,5,0.275,6,0.429,11,0.019,12,0.275,13,0.535,16,0.514,17,0.032,18,0.346,19,0.341,23,0.425,24,1.291,25,1.633,26,1.178,27,1.731,28,1.821,29,1.705,36,1.198,41,1.731,45,1.784,59,0.536,68,1.019,78,0.862,137,0.885,158,0.024,159,0.026,189,2.701,207,1.525,211,2.364,235,3.301,243,3.301,245,2.147,252,1.654,253,3.196,257,4.661,259,3.711,261,3.387,272,2.973,275,4.061,284,4.061,285,2.701,398,5.223,436,2.624,437,5.283,438,3.387,439,4.26,440,3.711,441,4.892,442,5.849,443,2.95,444,4.049,445,4.047,446,5.094,447,2.95,448,4.049,449,4.049,450,4.049,451,4.049,452,4.049,453,4.049,454,6.317,455,5.094,456,2.624,457,4.049,458,5.094,459,5.094,460,5.094,461,4.049,462,4.049,463,4.049,464,3.387,465,5.094,466,4.049,467,4.049,468,4.049,469,4.049,470,4.049,471,4.049,472,4.049,473,4.049]],["title/classes/CCFSpatialGraph.html",[206,2.094,252,1.32]],["body/classes/CCFSpatialGraph.html",[3,0.245,4,0.569,5,0.209,6,0.404,11,0.02,12,0.209,13,0.446,16,0.607,17,0.032,18,0.429,19,0.359,23,0.446,26,0.547,49,0.578,59,0.728,92,0.497,119,0.799,137,0.809,158,0.02,159,0.015,161,2.881,173,1.365,176,1.794,177,1.794,189,3.24,201,3.551,203,3.544,204,2.239,205,2.239,206,2.751,207,1.599,208,4.069,229,1.992,232,1.832,233,1.63,234,1.794,243,1.992,244,1.629,245,3.438,249,2.239,252,1.256,253,2.782,263,2.446,266,2.57,272,3.214,285,3.095,287,1.629,296,2.123,307,4.763,357,4.069,375,1.256,379,4.975,385,2.57,387,2.239,388,2.239,389,1.992,390,2.239,391,1.794,396,2.751,433,3.551,434,5.163,436,1.992,440,3.093,443,2.239,445,3.782,447,4.012,456,2.751,474,2.57,475,4.246,476,4.246,477,5.247,478,4.069,479,4.246,480,2.57,481,4.246,482,3.093,483,4.246,484,3.073,485,4.246,486,3.073,487,3.073,488,3.073,489,4.246,490,3.073,491,5.507,492,4.149,493,4.246,494,3.073,495,2.239,496,1.992,497,4.246,498,3.551,499,3.073,500,2.57,501,3.073,502,2.57,503,3.073,504,3.073,505,3.073,506,1.992,507,2.073,508,2.239,509,2.239,510,4.246,511,2.642,512,2.57,513,4.012,514,2.239,515,3.073,516,3.544,517,2.239,518,3.063,519,1.794,520,3.544,521,3.093,522,2.239,523,4.865,524,3.073,525,3.073,526,3.073,527,4.246,528,3.073,529,3.073,530,3.073,531,3.073,532,3.073,533,3.073,534,3.073,535,3.073,536,3.073,537,2.239,538,3.073,539,4.246,540,1.488,541,4.246,542,4.246,543,1.157,544,4.246,545,3.073,546,3.073,547,3.073,548,3.073,549,2.57,550,4.246,551,3.073,552,4.246,553,4.246,554,3.073,555,3.073,556,3.073,557,3.073,558,4.246,559,3.073,560,3.073,561,3.073,562,4.246,563,3.544,564,3.073,565,3.073,566,3.073,567,4.246,568,3.073,569,3.073,570,3.073,571,3.093,572,4.246,573,3.073,574,5.695,575,3.073,576,3.073,577,3.073,578,3.073,579,3.073,580,3.073,581,3.073,582,3.544,583,3.073,584,3.073,585,3.073,586,3.073,587,3.073,588,3.073,589,1.365,590,3.073,591,1.365,592,3.073,593,1.365,594,3.073,595,1.365,596,3.073,597,1.365,598,3.073,599,1.365,600,3.073,601,1.365,602,3.073,603,1.365,604,3.073,605,1.365,606,3.073,607,1.365,608,3.073,609,1.365,610,3.073,611,1.365,612,3.073,613,1.365,614,3.073,615,1.365]],["title/classes/CCFSpatialScene.html",[209,1.886,252,1.32]],["body/classes/CCFSpatialScene.html",[0,0.198,2,0.208,3,0.208,4,0.348,5,0.177,6,0.418,11,0.018,12,0.177,16,0.598,17,0.032,18,0.378,19,0.35,20,0.654,23,0.466,26,0.463,49,0.396,59,0.806,92,0.494,100,0.652,101,0.652,114,0.553,119,0.587,123,0.754,128,1.262,129,1.117,137,0.887,140,0.71,141,1.212,146,1.225,158,0.018,159,0.012,161,2.976,176,1.517,189,2.858,207,1.42,209,2.201,210,3.673,211,1.517,229,1.685,233,1.853,234,1.517,244,2.581,245,3.258,252,1.062,253,2.581,263,1.155,272,3.525,274,2.444,285,3.301,287,3.232,296,2.075,396,2.444,420,1.685,421,3.35,425,2.812,427,2.747,429,1.796,430,2.747,431,2.747,436,1.685,440,2.747,443,1.894,445,3.95,447,4.4,456,1.685,480,2.174,482,2.747,492,2.747,495,1.894,496,1.685,508,1.894,513,3.766,514,3.233,516,4.231,517,1.894,518,2.59,519,1.517,520,4.231,521,1.894,522,1.894,537,1.894,571,2.747,582,1.894,616,1.517,617,3.233,618,3.771,619,3.233,620,3.233,621,3.771,622,3.771,623,3.771,624,3.771,625,3.771,626,3.771,627,3.233,628,2.6,629,3.154,630,2.6,631,3.154,632,2.6,633,5.391,634,3.154,635,2.6,636,1.796,637,3.154,638,2.6,639,3.154,640,2.6,641,2.6,642,2.6,643,3.154,644,2.6,645,3.154,646,2.6,647,2.6,648,3.154,649,4.072,650,3.712,651,2.6,652,3.154,653,2.6,654,2.747,655,1.894,656,3.928,657,2.747,658,1.894,659,1.894,660,1.675,661,1.541,662,1.541,663,1.541,664,3.712,665,4.509,666,3.712,667,3.154,668,3.154,669,3.154,670,2.174,671,2.049,672,3.233,673,3.154,674,3.154,675,2.174,676,2.174,677,2.174,678,2.174,679,2.174,680,2.174,681,4.072,682,4.072,683,2.174,684,2.174,685,2.174,686,2.174,687,4.323,688,2.174,689,3.154,690,3.154,691,3.154,692,2.174,693,2.174,694,2.174,695,2.174,696,2.747,697,2.174,698,3.154,699,3.154,700,2.174,701,4.509,702,3.154,703,3.154,704,3.712,705,3.154,706,4.604,707,3.154,708,3.154,709,3.154,710,2.174,711,2.174,712,3.154,713,3.154,714,2.174,715,2.174,716,4.323,717,2.174,718,2.174,719,2.174,720,2.174,721,2.174,722,3.154,723,2.174,724,2.174,725,2.174,726,2.174,727,2.174,728,2.174,729,2.174,730,2.174,731,2.174,732,3.154,733,3.154,734,2.174,735,2.174,736,2.174,737,4.323,738,2.174,739,2.174,740,2.174,741,2.174,742,4.072,743,2.174,744,2.174,745,2.174,746,3.154,747,2.174,748,2.174,749,1.155,750,2.174,751,2.174,752,2.174,753,2.174,754,2.174,755,1.685,756,2.174,757,2.174,758,2.174,759,2.174,760,2.174,761,2.174,762,2.174,763,2.174,764,2.174,765,2.174]],["title/interfaces/DatabaseStatus.html",[0,0.246,24,0.749]],["body/interfaces/DatabaseStatus.html",[0,0.476,1,0.781,2,0.248,3,0.248,4,0.286,5,0.211,6,0.211,7,0.918,8,1.077,9,1.265,10,0.781,11,0.028,12,0.29,13,0.449,14,0.994,15,0.984,16,0.607,17,0.032,18,0.441,19,0.361,20,0.781,21,0.994,22,0.781,23,0.655,24,0.99,25,1.556,26,0.984,27,1.447,28,1.447,29,1.335,30,1.37,31,1.37,32,1.689,33,1.265,34,1.37,35,1.265,36,1.559,37,1.37,38,1.37,39,0.833,40,1.075,41,1.559,42,1.37,43,1.265,44,1.37,45,1.559,46,0.896,47,1.509,48,0.938,49,0.6,50,1.167,51,1.167,52,0.847,53,1.438,54,1.167,55,1.027,56,0.811,57,0.811,58,0.918,59,0.41,60,0.918,61,1.37,62,1.335,63,1.075,64,0.455,65,0.367,66,0.994,67,1.265,68,1.556,69,1.559,70,1.167,71,1.559,72,1.265,73,1.37,74,1.167,75,0.994,76,1.559,77,1.335,78,1.288,79,0.918,80,1.326,81,1.447,82,0.781,83,1.37,84,0.918,85,1.447,86,0.994,87,0.918,88,0.605,89,0.994,90,1.771,91,0.918,92,0.421,93,0.693,94,0.847,95,0.918,96,0.918,97,0.994,98,0.847,99,0.854,100,0.627,101,0.627,102,1.335,103,1.335,104,1.628,105,1.559,106,1.265,107,0.693,108,1.37,109,1.265,110,0.918,111,0.909,112,0.918,113,1.37,114,0.909,115,1.167,116,0.761,117,1.335,118,1.567,119,0.731,120,0.761,121,0.761,122,0.994,123,0.647,124,0.781,125,0.552,126,0.918,127,0.918,128,0.605,129,0.781,130,1.37,131,0.994,132,0.994,133,1.167,134,1.265,135,0.994,136,0.918,137,0.859,138,0.994,139,0.847,140,0.847,141,0.847,142,1.559,143,1.335,144,0.847,145,0.994,146,1.075,147,0.918,148,0.994,149,0.994,150,0.918,151,0.718,152,0.918,153,0.781,154,1.265,155,0.918,156,0.994,157,0.918,158,0.02,159,0.015]],["title/interfaces/DatasetResult.html",[0,0.246,62,0.882]],["body/interfaces/DatasetResult.html",[0,0.477,1,0.798,2,0.253,3,0.253,4,0.292,5,0.215,6,0.215,7,0.938,8,1.037,9,1.284,10,0.798,11,0.028,12,0.295,13,0.455,14,1.016,15,0.992,16,0.609,17,0.032,18,0.437,19,0.365,20,0.798,21,1.016,22,0.798,23,0.657,24,0.734,25,1.338,26,0.773,27,0.938,28,0.938,29,0.866,30,1.016,31,1.016,32,1.391,33,0.938,34,1.016,35,0.938,36,0.938,37,1.016,38,1.016,39,0.618,40,0.798,41,0.938,42,1.016,43,0.938,44,1.016,45,0.938,46,0.932,47,1.57,48,0.947,49,0.604,50,1.184,51,1.35,52,0.866,53,1.452,54,1.184,55,1.086,56,0.844,57,0.844,58,0.938,59,0.419,60,0.938,61,1.585,62,1.452,63,1.447,64,0.637,65,0.513,66,1.391,67,1.701,68,1.562,69,1.57,70,1.184,71,1.573,72,1.284,73,1.391,74,1.184,75,1.016,76,1.573,77,1.35,78,1.294,79,0.938,80,1.338,81,1.463,82,0.798,83,1.391,84,0.938,85,1.463,86,1.016,87,0.938,88,0.618,89,1.016,90,1.785,91,0.938,92,0.425,93,0.703,94,0.866,95,0.938,96,0.938,97,1.016,98,0.866,99,0.862,100,0.637,101,0.637,102,1.35,103,1.35,104,1.636,105,1.573,106,1.284,107,0.703,108,1.391,109,1.284,110,0.938,111,0.923,112,0.938,113,1.391,114,0.923,115,1.184,116,0.773,117,1.35,118,1.585,119,0.736,120,0.773,121,0.773,122,1.016,123,0.654,124,0.798,125,0.565,126,0.938,127,0.938,128,0.618,129,0.798,130,1.391,131,1.016,132,1.016,133,1.184,134,1.284,135,1.016,136,0.938,137,0.465,138,1.016,139,0.866,140,0.866,141,0.866,142,1.573,143,1.35,144,0.866,145,1.016,146,1.092,147,0.938,148,1.016,149,1.016,150,0.938,151,0.734,152,0.938,153,0.798,154,1.284,155,0.938,156,1.016,157,0.938,158,0.021,159,0.015]],["title/interfaces/DonorResult.html",[0,0.246,54,0.882]],["body/interfaces/DonorResult.html",[0,0.478,1,0.804,2,0.255,3,0.255,4,0.294,5,0.217,6,0.217,7,0.945,8,1.04,9,1.29,10,0.804,11,0.028,12,0.296,13,0.458,14,1.024,15,0.994,16,0.608,17,0.032,18,0.437,19,0.364,20,0.804,21,1.024,22,0.804,23,0.658,24,0.74,25,1.342,26,0.776,27,0.945,28,0.945,29,0.872,30,1.024,31,1.024,32,1.398,33,0.945,34,1.024,35,0.945,36,0.945,37,1.024,38,1.024,39,0.623,40,0.804,41,0.945,42,1.024,43,0.945,44,1.024,45,0.945,46,0.934,47,1.573,48,0.95,49,0.605,50,1.19,51,1.19,52,0.872,53,1.524,54,1.355,55,1.088,56,0.846,57,0.846,58,1.29,59,0.577,60,1.578,61,1.398,62,1.355,63,1.097,64,0.469,65,0.378,66,1.024,67,1.29,68,1.565,69,1.573,70,1.19,71,1.578,72,1.29,73,1.398,74,1.19,75,1.024,76,1.578,77,1.355,78,1.296,79,0.945,80,1.342,81,1.469,82,0.804,83,1.398,84,0.945,85,1.469,86,1.024,87,0.945,88,0.623,89,1.024,90,1.79,91,0.945,92,0.426,93,0.707,94,0.872,95,0.945,96,0.945,97,1.024,98,0.872,99,0.864,100,0.64,101,0.64,102,1.355,103,1.355,104,1.639,105,1.578,106,1.29,107,0.707,108,1.398,109,1.29,110,0.945,111,0.928,112,0.945,113,1.398,114,0.928,115,1.19,116,0.776,117,1.355,118,1.591,119,0.738,120,0.776,121,0.776,122,1.024,123,0.657,124,0.804,125,0.569,126,0.945,127,0.945,128,0.623,129,0.804,130,1.398,131,1.024,132,1.024,133,1.19,134,1.29,135,1.024,136,0.945,137,0.469,138,1.024,139,0.872,140,0.872,141,0.872,142,1.578,143,1.355,144,0.872,145,1.024,146,1.097,147,0.945,148,1.024,149,1.024,150,0.945,151,0.74,152,0.945,153,0.804,154,1.29,155,0.945,156,1.024,157,0.945,158,0.021,159,0.015]],["title/interfaces/ExtractionSet.html",[0,0.246,636,1.122]],["body/interfaces/ExtractionSet.html",[0,0.448,2,0.272,3,0.272,4,0.526,5,0.372,6,0.232,8,0.665,11,0.016,12,0.232,13,0.479,15,1.086,16,0.613,17,0.032,18,0.445,19,0.364,23,0.617,39,0.889,46,0.739,48,1.046,49,0.63,55,0.889,56,0.501,57,0.501,59,0.806,64,0.501,65,0.607,88,1.068,92,0.437,93,1.05,99,0.553,100,0.669,101,0.669,107,0.926,116,0.976,119,0.725,120,0.976,121,0.976,123,0.755,125,0.608,158,0.022,159,0.016,173,2.024,180,1.515,232,1.284,233,1.775,240,1.185,296,1.583,375,1.862,429,1.583,507,1.716,511,2.024,540,1.652,543,2.063,589,1.515,591,1.515,593,1.515,595,1.515,597,1.515,599,1.515,601,1.515,603,1.515,605,1.515,607,1.515,609,1.515,611,1.515,613,1.515,615,1.515,636,1.783,660,1.515,661,1.393,662,1.393,663,1.393,671,1.185,749,1.515,766,1.652,767,1.652,768,2.653,769,2.653,770,2.904,771,1.652,772,1.808,773,1.652,774,2.416,775,2.207,776,2.765,777,1.652,778,1.652,779,1.808,780,1.652,781,1.652,782,1.808,783,2.416,784,1.652,785,1.808,786,1.808,787,1.808,788,2.721,789,1.652,790,1.652,791,2.416,792,2.416,793,2.207,794,2.207,795,2.024,796,1.808,797,1.808,798,1.808,799,1.652,800,1.808,801,1.808,802,2.416,803,2.207,804,1.652,805,1.652,806,3.377,807,1.652,808,1.652,809,1.652,810,1.652,811,1.808,812,1.808,813,2.28,814,1.652,815,2.904,816,2.721,817,3.027,818,1.808,819,1.652,820,1.808,821,1.808,822,2.904]],["title/interfaces/Filter.html",[0,0.246,128,0.63]],["body/interfaces/Filter.html",[0,0.474,1,0.764,2,0.242,3,0.242,4,0.28,5,0.206,6,0.206,7,0.898,8,1.018,9,1.246,10,0.764,11,0.028,12,0.286,13,0.442,14,0.973,15,0.976,16,0.61,17,0.032,18,0.444,19,0.366,20,0.764,21,0.973,22,0.764,23,0.652,24,0.703,25,1.313,26,0.75,27,0.898,28,0.898,29,0.829,30,0.973,31,0.973,32,1.349,33,0.898,34,0.973,35,0.898,36,0.898,37,0.973,38,0.973,39,0.592,40,0.764,41,0.898,42,0.973,43,0.898,44,0.973,45,0.898,46,0.889,47,1.497,48,0.93,49,0.596,50,1.149,51,1.149,52,0.829,53,1.425,54,1.149,55,1.018,56,0.805,57,0.805,58,0.898,59,0.401,60,0.898,61,1.349,62,1.319,63,1.059,64,0.446,65,0.359,66,0.973,67,1.246,68,1.55,69,1.549,70,1.149,71,1.544,72,1.246,73,1.349,74,1.149,75,0.973,76,1.544,77,1.319,78,1.281,79,0.898,80,1.313,81,1.43,82,0.764,83,1.349,84,0.898,85,1.43,86,0.973,87,0.898,88,0.592,89,0.973,90,1.757,91,0.898,92,0.438,93,0.682,94,0.829,95,0.898,96,0.898,97,0.973,98,0.829,99,0.961,100,0.766,101,0.766,102,1.425,103,1.425,104,1.644,105,1.679,106,1.622,107,0.682,108,1.549,109,1.622,110,0.898,111,1.028,112,0.898,113,1.349,114,0.896,115,1.425,116,0.75,117,1.319,118,1.549,119,0.725,120,0.75,121,0.75,122,0.973,123,0.639,124,1.059,125,0.75,126,1.246,127,1.246,128,0.821,129,1.216,130,1.673,131,1.673,132,1.673,133,1.549,134,1.679,135,1.673,136,1.246,137,0.766,138,1.349,139,1.149,140,1.425,141,1.319,142,1.544,143,1.319,144,0.829,145,0.973,146,1.059,147,0.898,148,0.973,149,0.973,150,0.898,151,0.703,152,0.898,153,0.764,154,1.246,155,0.898,156,0.973,157,0.898,158,0.02,159,0.014]],["title/interfaces/FlatSpatialPlacement.html",[0,0.246,232,1.216]],["body/interfaces/FlatSpatialPlacement.html",[0,0.45,2,0.275,3,0.275,4,0.57,5,0.374,6,0.234,11,0.016,12,0.234,13,0.482,15,0.98,16,0.614,17,0.032,18,0.446,19,0.353,23,0.619,39,0.895,46,0.559,48,1.021,49,0.578,55,1.006,56,0.506,57,0.506,59,0.796,64,0.506,65,0.611,88,1.073,92,0.439,93,1.055,99,0.559,100,0.674,101,0.674,107,0.837,116,0.98,119,0.808,120,0.98,121,0.98,123,0.796,125,0.614,158,0.022,159,0.016,173,2.039,180,1.531,232,1.728,233,1.696,240,1.198,296,1.594,375,1.875,429,1.594,507,1.728,511,2.039,540,1.67,543,2.072,589,1.531,591,1.531,593,1.531,595,1.531,597,1.531,599,1.531,601,1.531,603,1.531,605,1.531,607,1.531,609,1.531,611,1.531,613,1.531,615,1.531,636,1.594,660,1.531,661,1.409,662,1.409,663,1.409,671,1.198,749,1.531,766,1.67,767,1.67,768,2.223,769,2.223,770,1.828,771,1.67,772,1.828,773,1.67,774,2.434,775,2.223,776,2.775,777,1.67,778,1.67,779,1.828,780,1.67,781,1.67,782,1.828,783,2.434,784,1.67,785,1.828,786,1.828,787,1.828,788,2.736,789,1.67,790,1.67,791,2.434,792,2.434,793,2.223,794,2.223,795,2.039,796,1.828,797,1.828,798,1.828,799,1.67,800,1.828,801,1.828,802,2.434,803,2.223,804,1.67,805,1.67,806,3.382,807,1.67,808,1.67,809,1.67,810,1.67,811,1.828,812,1.828,813,2.444,814,1.67,815,2.917,816,2.736,817,3.038,818,1.828,819,1.67,820,1.828,821,1.828,822,2.917]],["title/interfaces/ListResultItem.html",[0,0.246,47,0.882]],["body/interfaces/ListResultItem.html",[0,0.477,1,0.796,2,0.252,3,0.252,4,0.291,5,0.215,6,0.215,7,0.936,8,1.168,9,1.281,10,0.796,11,0.028,12,0.294,13,0.455,14,1.014,15,1.082,16,0.612,17,0.032,18,0.437,19,0.362,20,0.796,21,1.014,22,0.796,23,0.657,24,0.732,25,1.337,26,0.771,27,0.936,28,0.936,29,0.863,30,1.014,31,1.014,32,1.388,33,0.936,34,1.014,35,0.936,36,0.936,37,1.014,38,1.014,39,0.616,40,0.796,41,0.936,42,1.014,43,0.936,44,1.014,45,0.936,46,0.931,47,1.569,48,0.991,49,0.638,50,1.348,51,1.348,52,1.45,53,1.45,54,1.182,55,1.036,56,0.817,57,0.817,58,0.936,59,0.418,60,0.936,61,1.388,62,1.348,63,1.09,64,0.464,65,0.374,66,1.014,67,1.281,68,1.562,69,1.569,70,1.182,71,1.572,72,1.281,73,1.388,74,1.182,75,1.014,76,1.572,77,1.348,78,1.293,79,0.936,80,1.337,81,1.461,82,0.796,83,1.388,84,0.936,85,1.461,86,1.014,87,0.936,88,0.616,89,1.014,90,1.783,91,0.936,92,0.424,93,0.702,94,0.863,95,0.936,96,0.936,97,1.014,98,0.863,99,0.861,100,0.636,101,0.636,102,1.348,103,1.348,104,1.635,105,1.572,106,1.281,107,0.702,108,1.388,109,1.281,110,0.936,111,0.921,112,0.936,113,1.388,114,0.921,115,1.182,116,0.771,117,1.348,118,1.583,119,0.736,120,0.771,121,0.771,122,1.014,123,0.653,124,0.796,125,0.563,126,0.936,127,0.936,128,0.616,129,0.796,130,1.388,131,1.014,132,1.014,133,1.182,134,1.281,135,1.014,136,0.936,137,0.464,138,1.014,139,0.863,140,0.863,141,0.863,142,1.572,143,1.348,144,0.863,145,1.014,146,1.09,147,0.936,148,1.014,149,1.014,150,0.936,151,0.732,152,0.936,153,0.796,154,1.281,155,0.936,156,1.014,157,0.936,158,0.021,159,0.015]],["title/interfaces/OntologyTreeModel.html",[0,0.246,153,0.813]],["body/interfaces/OntologyTreeModel.html",[0,0.478,1,0.799,2,0.254,3,0.254,4,0.293,5,0.216,6,0.216,7,0.94,8,1.038,9,1.285,10,0.799,11,0.028,12,0.295,13,0.456,14,1.018,15,0.992,16,0.608,17,0.032,18,0.437,19,0.362,20,0.799,21,1.018,22,0.799,23,0.657,24,0.736,25,1.339,26,0.774,27,0.94,28,0.94,29,0.867,30,1.018,31,1.018,32,1.392,33,0.94,34,1.018,35,0.94,36,0.94,37,1.018,38,1.018,39,0.619,40,0.799,41,0.94,42,1.018,43,0.94,44,1.018,45,0.94,46,0.903,47,1.521,48,0.948,49,0.618,50,1.186,51,1.186,52,0.867,53,1.453,54,1.186,55,1.038,56,0.818,57,0.818,58,0.94,59,0.42,60,0.94,61,1.392,62,1.351,63,1.093,64,0.466,65,0.376,66,1.018,67,1.285,68,1.563,69,1.571,70,1.186,71,1.575,72,1.285,73,1.392,74,1.186,75,1.018,76,1.575,77,1.351,78,1.294,79,0.94,80,1.339,81,1.465,82,0.799,83,1.392,84,0.94,85,1.465,86,1.018,87,0.94,88,0.619,89,1.018,90,1.786,91,0.94,92,0.425,93,0.704,94,0.867,95,0.94,96,0.94,97,1.018,98,0.867,99,0.863,100,0.638,101,0.638,102,1.351,103,1.351,104,1.696,105,1.575,106,1.285,107,0.704,108,1.392,109,1.285,110,0.94,111,0.924,112,0.94,113,1.392,114,0.924,115,1.186,116,0.774,117,1.351,118,1.587,119,0.737,120,0.774,121,0.774,122,1.018,123,0.655,124,0.799,125,0.566,126,0.94,127,0.94,128,0.619,129,0.799,130,1.392,131,1.018,132,1.018,133,1.186,134,1.285,135,1.018,136,0.94,137,0.466,138,1.018,139,0.867,140,0.867,141,0.867,142,1.702,143,1.351,144,0.867,145,1.018,146,1.402,147,0.94,148,1.018,149,1.018,150,0.94,151,1.006,152,1.285,153,1.093,154,1.702,155,1.285,156,1.392,157,1.285,158,0.021,159,0.015,823,2.814]],["title/interfaces/OntologyTreeNode.html",[0,0.246,143,0.882]],["body/interfaces/OntologyTreeNode.html",[0,0.476,1,0.78,2,0.247,3,0.247,4,0.286,5,0.211,6,0.211,7,0.917,8,1.027,9,1.263,10,0.78,11,0.028,12,0.29,13,0.448,14,0.993,15,1.077,16,0.613,17,0.032,18,0.436,19,0.368,20,0.78,21,0.993,22,0.78,23,0.655,24,0.718,25,1.325,26,0.76,27,0.917,28,0.917,29,0.846,30,0.993,31,0.993,32,1.369,33,0.917,34,0.993,35,0.917,36,0.917,37,0.993,38,0.993,39,0.604,40,0.78,41,0.917,42,0.993,43,0.917,44,0.993,45,0.917,46,0.895,47,1.508,48,1.017,49,0.655,50,1.166,51,1.166,52,0.846,53,1.438,54,1.166,55,1.027,56,0.838,57,0.838,58,0.917,59,0.41,60,0.917,61,1.369,62,1.334,63,1.074,64,0.455,65,0.367,66,0.993,67,1.263,68,1.556,69,1.559,70,1.166,71,1.558,72,1.263,73,1.369,74,1.166,75,0.993,76,1.558,77,1.597,78,1.287,79,0.917,80,1.325,81,1.446,82,0.78,83,1.369,84,0.917,85,1.446,86,0.993,87,0.917,88,0.604,89,0.993,90,1.771,91,0.917,92,0.42,93,0.692,94,0.846,95,0.917,96,0.917,97,0.993,98,0.846,99,0.853,100,0.627,101,0.627,102,1.334,103,1.334,104,1.688,105,1.558,106,1.263,107,0.692,108,1.369,109,1.263,110,0.917,111,0.908,112,0.917,113,1.369,114,0.908,115,1.166,116,0.76,117,1.334,118,1.566,119,0.731,120,0.76,121,0.76,122,0.993,123,0.731,124,0.78,125,0.552,126,0.917,127,0.917,128,0.604,129,0.78,130,1.369,131,0.993,132,0.993,133,1.166,134,1.263,135,0.993,136,0.917,137,0.455,138,0.993,139,0.846,140,0.846,141,0.846,142,1.689,143,1.438,144,1.166,145,1.369,146,1.23,147,1.558,148,1.369,149,1.369,150,1.558,151,0.718,152,0.917,153,0.78,154,1.263,155,0.917,156,0.993,157,0.917,158,0.02,159,0.015]],["title/interfaces/SearchResultJson.html",[0,0.246,824,2.354]],["body/interfaces/SearchResultJson.html",[0,0.263,2,0.275,3,0.275,4,0.317,5,0.234,6,0.234,10,1.556,11,0.016,12,0.234,13,0.482,16,0.57,17,0.032,18,0.351,19,0.324,20,1.154,22,0.867,23,0.482,29,0.94,40,0.867,51,1.608,56,0.673,57,0.673,65,0.723,85,1.357,94,1.252,111,1.329,158,0.022,159,0.016,174,2.508,181,3.21,182,2.879,183,3.645,184,4.006,185,2.879,186,2.231,187,2.879,188,4.313,189,2.734,194,2.879,195,2.508,196,2.879,203,4.449,204,3.757,205,2.508,207,1.727,212,2.508,243,3.711,245,3.381,259,4.006,260,5.171,263,1.529,272,2.009,274,2.231,276,4.599,284,4.38,285,3.311,296,2.121,305,2.879,355,2.879,425,2.221,506,2.231,509,4.291,823,2.972,824,3.757,825,2.231,826,2.508,827,6.012,828,2.879,829,3.443,830,2.879,831,2.508,832,2.508,833,3.443,834,3.341,835,2.879,836,3.341,837,2.879,838,2.879,839,2.879,840,2.879,841,2.879,842,2.879,843,2.879,844,2.879,845,2.879,846,2.879,847,2.879,848,2.879,849,2.879,850,2.879,851,2.879,852,2.879,853,2.879,854,2.879,855,2.879,856,2.879,857,2.879,858,2.879,859,2.879,860,2.879,861,2.879,862,2.879,863,3.341,864,2.879,865,4.586,866,5.89,867,3.443,868,3.443,869,3.443,870,3.443,871,3.443,872,3.443,873,2.508,874,3.443,875,3.443,876,3.443,877,3.443,878,2.879,879,3.443,880,2.879,881,4.586,882,3.443,883,2.879,884,4.586,885,3.443,886,3.443,887,3.443,888,3.443,889,2.879,890,5.157,891,3.443,892,5.157,893,3.443,894,3.443,895,3.443,896,4.586,897,3.443,898,3.443,899,3.443,900,3.443,901,3.443,902,3.443,903,4.586,904,5.727,905,6.012,906,3.443,907,3.443,908,2.879,909,3.443,910,2.508,911,5.89,912,3.443,913,5.727,914,3.443,915,5.727,916,3.443,917,5.89,918,3.443,919,3.443,920,3.443,921,3.443,922,2.879,923,2.879,924,3.443,925,3.443]],["title/interfaces/SearchableItem.html",[0,0.246,98,0.882]],["body/interfaces/SearchableItem.html",[0,0.476,1,0.78,2,0.247,3,0.247,4,0.286,5,0.211,6,0.211,7,0.917,8,1.027,9,1.263,10,0.78,11,0.028,12,0.29,13,0.448,14,0.993,15,0.984,16,0.607,17,0.032,18,0.441,19,0.364,20,0.78,21,0.993,22,0.78,23,0.655,24,0.718,25,1.325,26,0.76,27,0.917,28,0.917,29,0.846,30,0.993,31,0.993,32,1.369,33,0.917,34,0.993,35,0.917,36,0.917,37,0.993,38,0.993,39,0.604,40,0.78,41,0.917,42,0.993,43,0.917,44,0.993,45,0.917,46,0.895,47,1.508,48,0.984,49,0.635,50,1.166,51,1.166,52,0.846,53,1.438,54,1.166,55,1.027,56,0.811,57,0.811,58,0.917,59,0.41,60,0.917,61,1.369,62,1.334,63,1.074,64,0.455,65,0.367,66,0.993,67,1.263,68,1.556,69,1.559,70,1.166,71,1.558,72,1.263,73,1.369,74,1.166,75,0.993,76,1.558,77,1.334,78,1.287,79,0.917,80,1.325,81,1.446,82,0.78,83,1.369,84,0.917,85,1.446,86,0.993,87,0.917,88,0.604,89,0.993,90,1.771,91,0.917,92,0.42,93,0.692,94,0.846,95,0.917,96,1.263,97,1.369,98,1.166,99,0.966,100,0.773,101,0.773,102,1.597,103,1.597,104,1.652,105,1.689,106,1.634,107,0.925,108,1.566,109,1.634,110,0.917,111,0.908,112,0.917,113,1.369,114,0.908,115,1.166,116,0.76,117,1.334,118,1.566,119,0.731,120,0.76,121,0.76,122,0.993,123,0.646,124,0.78,125,0.552,126,0.917,127,0.917,128,0.604,129,0.78,130,1.369,131,0.993,132,0.993,133,1.166,134,1.263,135,0.993,136,0.917,137,0.908,138,0.993,139,0.846,140,0.846,141,0.846,142,1.558,143,1.334,144,0.846,145,0.993,146,1.074,147,0.917,148,0.993,149,0.993,150,0.917,151,0.718,152,0.917,153,0.78,154,1.263,155,0.917,156,0.993,157,0.917,158,0.02,159,0.015]],["title/interfaces/SpatialEntity.html",[0,0.246,233,0.956]],["body/interfaces/SpatialEntity.html",[0,0.425,2,0.229,3,0.229,4,0.495,5,0.346,6,0.195,8,0.56,11,0.014,12,0.195,13,0.425,15,1.042,16,0.617,17,0.032,18,0.452,19,0.373,23,0.585,39,0.993,46,0.465,48,1.02,49,0.601,55,0.79,56,0.422,57,0.422,59,0.797,64,0.595,65,0.603,88,1.047,92,0.467,93,1.057,99,0.826,100,0.789,101,0.789,107,0.826,116,0.957,119,0.674,120,0.957,121,0.957,123,0.774,125,0.511,137,0.966,158,0.019,159,0.014,173,1.799,180,1.275,232,1.081,233,1.65,240,1.406,296,1.936,375,2.194,429,1.769,507,1.524,511,1.799,540,1.961,543,2.098,589,1.275,591,1.275,593,1.275,595,1.275,597,1.275,599,1.275,601,1.275,603,1.275,605,1.275,607,1.275,609,1.275,611,1.275,613,1.275,615,1.275,636,1.406,660,2.263,661,2.081,662,2.081,663,2.081,671,1.769,749,1.799,766,1.391,767,1.391,768,1.961,769,1.961,770,1.522,771,1.391,772,1.522,773,1.391,774,2.701,775,2.699,776,2.98,777,1.961,778,2.467,779,2.147,780,2.467,781,2.467,782,2.147,783,2.487,784,2.467,785,2.147,786,2.147,787,2.147,788,2.955,789,1.961,790,1.961,791,2.701,792,2.701,793,2.601,794,2.601,795,2.476,796,2.147,797,2.147,798,2.147,799,2.467,800,2.147,801,2.147,802,2.701,803,2.467,804,2.467,805,2.467,806,3.349,807,2.467,808,2.467,809,2.467,810,2.467,811,2.147,812,1.522,813,2.084,814,1.391,815,2.701,816,2.487,817,2.848,818,1.522,819,1.391,820,1.522,821,1.522,822,2.701]],["title/interfaces/SpatialObjectReference.html",[0,0.246,543,1.216]],["body/interfaces/SpatialObjectReference.html",[0,0.447,2,0.27,3,0.27,4,0.525,5,0.419,6,0.23,8,0.66,11,0.016,12,0.23,13,0.476,15,0.973,16,0.615,17,0.032,18,0.445,19,0.365,23,0.616,39,0.884,46,0.549,48,1.044,49,0.629,55,0.884,56,0.497,57,0.497,59,0.815,64,0.497,65,0.674,88,1.065,92,0.455,93,1.046,99,0.549,100,0.666,101,0.666,107,0.829,116,0.973,119,0.723,120,0.973,121,0.973,123,0.753,125,0.603,137,0.666,158,0.022,159,0.016,173,2.015,180,2.015,232,1.275,233,1.686,240,1.176,296,1.575,375,2.089,419,2.467,429,1.575,507,1.708,511,2.015,540,1.64,543,2.144,589,1.504,591,1.504,593,1.504,595,1.504,597,1.504,599,1.504,601,1.504,603,1.504,605,1.504,607,1.504,609,1.504,611,1.504,613,1.504,615,1.504,636,1.575,660,1.504,661,1.384,662,1.384,663,1.384,671,1.176,749,1.504,766,1.64,767,1.64,768,2.197,769,2.197,770,1.795,771,2.646,772,2.405,773,2.646,774,2.405,775,2.197,776,2.758,777,1.64,778,1.64,779,1.795,780,1.64,781,1.64,782,1.795,783,2.405,784,1.64,785,1.795,786,1.795,787,1.795,788,2.711,789,1.64,790,1.64,791,2.405,792,2.405,793,2.197,794,2.197,795,2.015,796,1.795,797,1.795,798,1.795,799,1.64,800,1.795,801,1.795,802,2.405,803,2.197,804,1.64,805,1.64,806,3.373,807,1.64,808,1.64,809,1.64,810,1.64,811,1.795,812,1.795,813,2.272,814,1.64,815,2.896,816,2.711,817,3.019,818,1.795,819,1.64,820,1.795,821,1.795,822,2.896]],["title/interfaces/SpatialPlacement.html",[0,0.246,507,1.216]],["body/interfaces/SpatialPlacement.html",[0,0.449,2,0.275,3,0.275,4,0.57,5,0.374,6,0.234,11,0.016,12,0.234,13,0.482,15,0.98,16,0.611,17,0.032,18,0.446,19,0.353,23,0.618,39,0.894,46,0.558,48,1.02,49,0.577,55,1.006,56,0.506,57,0.506,59,0.795,64,0.506,65,0.61,88,1.072,92,0.439,93,1.055,99,0.558,100,0.673,101,0.673,107,0.836,116,0.98,119,0.808,120,0.98,121,0.98,123,0.758,125,0.613,158,0.022,159,0.016,173,2.037,180,1.529,232,1.296,233,1.83,240,1.196,296,1.593,375,1.874,429,1.593,507,1.941,511,2.037,540,1.667,543,2.217,589,1.529,591,1.529,593,1.529,595,1.529,597,1.529,599,1.529,601,1.529,603,1.529,605,1.529,607,1.529,609,1.529,611,1.529,613,1.529,615,1.529,636,1.593,660,1.529,661,1.407,662,1.407,663,1.407,671,1.196,749,1.529,766,1.667,767,1.667,768,2.221,769,2.221,770,1.825,771,1.667,772,1.825,773,1.667,774,2.431,775,2.221,776,2.774,777,1.667,778,1.667,779,1.825,780,1.667,781,1.667,782,1.825,783,2.431,784,1.667,785,1.825,786,1.825,787,1.825,788,2.734,789,1.667,790,1.667,791,2.431,792,2.431,793,2.221,794,2.221,795,2.037,796,1.825,797,1.825,798,1.825,799,1.667,800,1.825,801,1.825,802,2.431,803,2.221,804,1.667,805,1.667,806,3.381,807,1.667,808,1.667,809,1.667,810,1.667,811,1.825,812,1.825,813,2.443,814,1.667,815,2.915,816,2.734,817,3.036,818,1.825,819,1.667,820,1.825,821,1.825,822,2.915]],["title/interfaces/SpatialPlacementCommon.html",[0,0.246,813,1.435]],["body/interfaces/SpatialPlacementCommon.html",[0,0.435,2,0.246,3,0.246,4,0.508,5,0.357,6,0.21,8,0.602,11,0.015,12,0.21,13,0.447,15,0.936,16,0.615,17,0.032,18,0.453,19,0.372,23,0.599,39,0.83,46,0.5,48,1.016,49,0.614,55,0.83,56,0.625,57,0.625,59,0.788,64,0.453,65,0.577,88,1.139,92,0.42,93,1.038,99,0.5,100,0.625,101,0.625,107,0.79,116,1.041,119,0.695,120,1.041,121,1.041,123,0.729,125,0.758,137,0.837,158,0.02,159,0.015,173,2.533,180,1.371,232,1.162,233,1.632,240,1.072,296,1.479,375,1.992,429,1.479,507,1.603,511,2.335,540,1.494,543,1.979,589,2.335,591,2.335,593,2.335,595,2.335,597,2.335,599,2.335,601,2.335,603,2.335,605,2.335,607,2.335,609,2.335,611,2.335,613,2.335,615,2.335,636,1.479,660,1.371,661,1.261,662,1.261,663,1.261,671,1.072,749,1.371,766,1.494,767,1.494,768,2.062,769,2.062,770,1.636,771,1.494,772,1.636,773,1.494,774,2.257,775,2.062,776,2.671,777,1.494,778,1.494,779,1.636,780,1.494,781,1.494,782,1.636,783,2.584,784,1.494,785,1.636,786,1.636,787,1.636,788,2.584,789,1.494,790,1.494,791,2.257,792,2.257,793,2.062,794,2.062,795,1.891,796,1.636,797,1.636,798,1.636,799,1.494,800,1.636,801,1.636,802,2.257,803,2.062,804,1.494,805,1.494,806,3.456,807,1.494,808,1.494,809,1.494,810,1.494,811,1.636,812,2.257,813,2.335,814,2.062,815,3.157,816,3.023,817,3.243,818,2.257,819,2.545,820,2.257,821,2.257,822,3.157]],["title/interfaces/SpatialSceneNode.html",[0,0.246,210,1.886]],["body/interfaces/SpatialSceneNode.html",[0,0.207,2,0.311,3,0.217,4,0.25,5,0.185,6,0.185,11,0.018,12,0.185,13,0.409,16,0.611,17,0.032,18,0.432,19,0.367,23,0.478,26,0.484,49,0.552,59,0.657,92,0.311,100,0.668,101,0.668,114,0.578,119,0.359,123,0.657,128,1.124,129,1.145,137,0.965,140,0.741,141,1.603,146,1.25,158,0.018,159,0.013,161,1.315,176,1.585,189,2.901,207,1.465,209,1.585,210,3.613,211,1.585,229,1.76,233,1.706,234,1.585,244,2.411,245,3.282,252,1.109,253,2.063,263,1.206,274,2.522,285,3.323,287,3.257,296,2.069,396,2.522,420,1.76,421,2.522,425,2.842,427,1.978,429,1.826,430,1.978,431,1.978,456,1.76,482,1.978,492,3.619,495,1.978,496,1.76,508,1.978,513,3.831,514,3.314,516,4.276,517,1.978,518,2.655,519,1.585,520,4.276,521,1.978,522,1.978,537,1.978,571,2.835,582,1.978,616,1.585,617,1.978,619,1.978,620,1.978,627,1.978,629,2.271,631,2.271,634,2.271,636,1.58,637,2.271,639,2.271,643,2.271,645,2.271,648,2.271,649,3.255,650,2.271,652,2.271,654,3.619,655,1.978,656,3.986,657,3.831,658,1.978,659,1.978,660,2.336,661,2.148,662,2.148,663,2.148,664,4.576,665,4.909,666,4.576,667,4.398,668,4.398,669,4.398,670,4.155,671,2.134,672,3.986,673,4.398,674,4.398,675,4.155,676,2.271,677,2.271,678,2.271,679,2.271,680,2.271,681,4.155,682,4.155,683,2.271,684,2.271,685,2.271,686,2.271,687,4.398,688,2.271,689,3.255,690,3.255,691,3.255,692,2.271,693,2.271,694,2.271,695,2.271,696,2.835,697,2.271,698,3.255,699,3.255,700,2.271,701,4.576,702,3.255,703,3.255,704,3.804,705,3.255,706,4.629,707,3.255,708,3.255,709,3.255,710,2.271,711,2.271,712,3.255,713,3.255,714,2.271,715,2.271,716,4.398,717,2.271,718,2.271,719,2.271,720,2.271,721,2.271,722,3.255,723,2.271,724,2.271,725,2.271,726,2.271,727,2.271,728,2.271,729,2.271,730,2.271,731,2.271,732,3.255,733,3.255,734,2.271,735,2.271,736,2.271,737,4.398,738,2.271,739,2.271,740,2.271,741,2.271,742,4.155,743,2.271,744,2.271,745,2.271,746,3.255,747,2.271,748,2.271,749,1.206,750,2.271,751,2.271,752,2.271,753,2.271,754,2.271,755,1.76,756,2.271,757,2.271,758,2.271,759,2.271,760,2.271,761,2.271,762,2.271,763,2.271,764,2.271,765,2.271]],["title/interfaces/SpatialSearch.html",[0,0.246,115,0.882]],["body/interfaces/SpatialSearch.html",[0,0.476,1,0.781,2,0.248,3,0.248,4,0.286,5,0.211,6,0.211,7,0.918,8,1.027,9,1.265,10,0.781,11,0.028,12,0.29,13,0.449,14,0.994,15,0.984,16,0.607,17,0.032,18,0.445,19,0.362,20,0.781,21,0.994,22,0.781,23,0.655,24,0.718,25,1.326,26,0.761,27,0.918,28,0.918,29,0.847,30,0.994,31,0.994,32,1.37,33,0.918,34,0.994,35,0.918,36,0.918,37,0.994,38,0.994,39,0.605,40,0.781,41,0.918,42,0.994,43,0.918,44,0.994,45,0.918,46,0.896,47,1.509,48,0.938,49,0.6,50,1.167,51,1.167,52,0.847,53,1.438,54,1.167,55,1.027,56,0.811,57,0.811,58,0.918,59,0.41,60,0.918,61,1.37,62,1.335,63,1.075,64,0.455,65,0.367,66,0.994,67,1.265,68,1.556,69,1.559,70,1.167,71,1.559,72,1.265,73,1.37,74,1.167,75,0.994,76,1.559,77,1.335,78,1.288,79,0.918,80,1.326,81,1.447,82,0.781,83,1.37,84,0.918,85,1.559,86,0.994,87,0.918,88,0.605,89,0.994,90,1.94,91,0.918,92,0.456,93,0.792,94,0.847,95,0.918,96,0.918,97,0.994,98,0.847,99,0.854,100,0.627,101,0.627,102,1.335,103,1.335,104,1.628,105,1.559,106,1.265,107,0.693,108,1.37,109,1.265,110,1.265,111,1.04,112,1.265,113,1.689,114,1.121,115,1.335,116,1.017,117,1.559,118,1.831,119,0.825,120,1.017,121,1.017,122,1.689,123,0.697,124,0.781,125,0.552,126,0.918,127,0.918,128,0.605,129,0.781,130,1.37,131,0.994,132,0.994,133,1.167,134,1.265,135,0.994,136,0.918,137,0.455,138,0.994,139,0.847,140,0.847,141,0.847,142,1.559,143,1.335,144,0.847,145,0.994,146,1.075,147,0.918,148,0.994,149,0.994,150,0.918,151,0.718,152,0.918,153,0.781,154,1.265,155,0.918,156,0.994,157,0.918,158,0.02,159,0.015]],["title/interfaces/TissueBlockResult.html",[0,0.246,82,0.813]],["body/interfaces/TissueBlockResult.html",[0,0.473,1,0.758,2,0.24,3,0.24,4,0.278,5,0.205,6,0.205,7,0.891,8,1.014,9,1.239,10,0.758,11,0.028,12,0.285,13,0.44,14,0.965,15,0.974,16,0.607,17,0.032,18,0.441,19,0.369,20,0.758,21,0.965,22,0.758,23,0.651,24,0.698,25,1.309,26,0.746,27,0.891,28,0.891,29,0.822,30,0.965,31,0.965,32,1.342,33,0.891,34,0.965,35,0.891,36,0.891,37,0.965,38,0.965,39,0.587,40,0.758,41,0.891,42,0.965,43,0.891,44,0.965,45,0.891,46,0.917,47,1.545,48,0.927,49,0.594,50,1.314,51,1.143,52,0.822,53,1.616,54,1.42,55,1.066,56,0.831,57,0.831,58,0.891,59,0.398,60,0.891,61,1.342,62,1.493,63,1.054,64,0.442,65,0.356,66,0.965,67,1.239,68,1.619,69,1.616,70,1.42,71,1.618,72,1.618,73,1.668,74,1.42,75,0.965,76,1.779,77,1.314,78,1.364,79,0.891,80,1.49,81,1.618,82,1.054,83,1.668,84,1.539,85,1.618,86,1.342,87,1.539,88,0.816,89,1.342,90,1.814,91,1.539,92,0.437,93,0.78,94,1.143,95,1.539,96,0.891,97,0.965,98,0.822,99,0.843,100,0.615,101,0.615,102,1.314,103,1.314,104,1.616,105,1.539,106,1.239,107,0.679,108,1.342,109,1.239,110,0.891,111,0.891,112,0.891,113,1.342,114,0.891,115,1.143,116,0.746,117,1.314,118,1.543,119,0.723,120,0.746,121,0.746,122,0.965,123,0.637,124,0.758,125,0.536,126,0.891,127,0.891,128,0.587,129,0.758,130,1.342,131,0.965,132,0.965,133,1.143,134,1.239,135,0.965,136,0.891,137,0.442,138,0.965,139,0.822,140,0.822,141,0.822,142,1.539,143,1.314,144,0.822,145,0.965,146,1.054,147,0.891,148,0.965,149,0.965,150,0.891,151,0.698,152,0.891,153,0.758,154,1.239,155,0.891,156,0.965,157,0.891,158,0.02,159,0.014]],["title/interfaces/TissueSectionResult.html",[0,0.246,70,0.882]],["body/interfaces/TissueSectionResult.html",[0,0.476,1,0.786,2,0.249,3,0.249,4,0.288,5,0.212,6,0.212,7,0.924,8,1.03,9,1.27,10,0.786,11,0.028,12,0.333,13,0.451,14,1.001,15,0.986,16,0.605,17,0.032,18,0.439,19,0.366,20,0.786,21,1.001,22,0.786,23,0.655,24,0.723,25,1.33,26,0.765,27,0.924,28,0.924,29,0.852,30,1.001,31,1.001,32,1.376,33,0.924,34,1.001,35,0.924,36,0.924,37,1.001,38,1.001,39,0.609,40,0.786,41,0.924,42,1.001,43,0.924,44,1.001,45,0.924,46,0.928,47,1.563,48,0.941,49,0.601,50,1.172,51,1.172,52,0.852,53,1.442,54,1.172,55,1.08,56,0.84,57,0.84,58,0.924,59,0.413,60,0.924,61,1.376,62,1.512,63,1.08,64,0.458,65,0.369,66,1.001,67,1.27,68,1.608,69,1.691,70,1.339,71,1.639,72,1.639,73,1.694,74,1.442,75,1.376,76,1.639,77,1.442,78,1.305,79,1.563,80,1.503,81,1.563,82,0.786,83,1.376,84,0.924,85,1.452,86,1.001,87,0.924,88,0.609,89,1.001,90,1.776,91,0.924,92,0.422,93,0.696,94,0.852,95,0.924,96,0.924,97,1.001,98,0.852,99,0.856,100,0.63,101,0.63,102,1.339,103,1.339,104,1.63,105,1.563,106,1.27,107,0.696,108,1.376,109,1.27,110,0.924,111,0.913,112,0.924,113,1.376,114,0.913,115,1.172,116,0.765,117,1.339,118,1.573,119,0.733,120,0.765,121,0.765,122,1.001,123,0.649,124,0.786,125,0.556,126,0.924,127,0.924,128,0.609,129,0.786,130,1.376,131,1.001,132,1.001,133,1.172,134,1.27,135,1.001,136,0.924,137,0.458,138,1.001,139,0.852,140,0.852,141,0.852,142,1.563,143,1.339,144,0.852,145,1.001,146,1.08,147,0.924,148,1.001,149,1.001,150,0.924,151,0.723,152,0.924,153,0.786,154,1.27,155,0.924,156,1.001,157,0.924,158,0.02,159,0.015]],["title/changelog.html",[926,1.971,927,1.753,928,1.971]],["body/changelog.html",[0,0.393,2,0.15,3,0.397,10,0.471,11,0.009,13,0.197,17,0.026,18,0.127,19,0.106,22,0.471,26,0.798,33,1.076,35,0.871,40,1.037,46,0.477,49,0.197,50,0.511,52,0.804,53,0.804,56,0.275,57,0.275,63,0.741,64,0.432,65,0.731,68,1.452,69,0.804,71,0.554,74,0.511,77,0.511,78,0.774,80,1.037,92,0.329,96,0.554,99,0.477,102,0.804,103,0.511,104,1.48,107,0.668,111,1.241,112,1.472,117,0.511,124,0.741,125,0.334,126,0.871,128,0.803,129,0.741,133,0.511,134,0.554,136,0.554,137,0.275,139,0.804,151,0.434,154,0.554,158,0.014,159,0.025,175,1.566,180,0.832,181,3.092,183,3.092,186,2.902,195,3.622,207,2.374,211,3.092,234,1.093,240,2.228,244,0.993,263,2.408,275,1.364,315,1.364,371,3.463,389,3.222,391,1.718,401,1.566,413,3.001,419,4.202,420,3.778,423,1.566,424,4.922,425,2.565,426,3.745,429,2.155,439,1.566,441,1.566,445,1.214,464,3.976,511,0.832,512,1.566,518,1.718,671,1.431,672,1.364,696,3.001,755,2.67,768,1.425,769,1.425,777,0.907,789,1.761,790,1.425,793,0.907,794,0.907,795,0.832,814,1.425,830,1.566,831,3.262,832,3.262,873,3.752,878,2.461,883,2.461,908,1.566,910,1.364,922,2.461,927,2.356,928,2.144,929,2.144,930,1.566,931,4.43,932,3.635,933,4.754,934,4.478,935,2.943,936,6.65,937,3.635,938,3.635,939,3.635,940,1.873,941,2.943,942,2.943,943,1.873,944,4.972,945,4.754,946,4.972,947,2.943,948,1.873,949,1.873,950,4.12,951,1.873,952,2.943,953,1.873,954,1.873,955,2.943,956,3.635,957,3.635,958,5.15,959,3.745,960,1.873,961,1.873,962,1.873,963,1.873,964,2.943,965,1.873,966,4.754,967,1.566,968,1.873,969,1.873,970,3.635,971,3.04,972,1.873,973,1.873,974,1.873,975,5.527,976,5.618,977,2.943,978,4.478,979,1.873,980,2.943,981,4.754,982,2.943,983,1.873,984,1.873,985,1.873,986,2.943,987,4.158,988,4.754,989,3.446,990,1.873,991,5.243,992,1.873,993,1.873,994,2.943,995,1.873,996,2.943,997,3.635,998,1.873,999,1.873,1000,1.873,1001,3.635,1002,2.943,1003,1.873,1004,2.943,1005,1.873,1006,1.873,1007,1.873,1008,5.768,1009,1.873,1010,1.566,1011,1.566,1012,3.262,1013,1.566,1014,1.873,1015,2.943,1016,1.566,1017,1.873,1018,2.943,1019,4.12,1020,4.12,1021,1.873,1022,2.943,1023,3.635,1024,1.873,1025,1.873,1026,2.943,1027,1.873,1028,1.873,1029,4.754,1030,3.463,1031,3.745,1032,3.04,1033,1.873,1034,3.745,1035,2.943,1036,1.873,1037,3.635,1038,4.307,1039,5.698,1040,1.873,1041,1.873,1042,2.943,1043,5.527,1044,3.04,1045,1.873,1046,1.873,1047,1.873,1048,1.873,1049,1.873,1050,1.873,1051,1.873,1052,1.873,1053,2.461,1054,2.461,1055,1.873,1056,1.873,1057,1.873,1058,4.622,1059,1.873,1060,1.873,1061,1.873,1062,1.873,1063,2.943,1064,1.873,1065,1.566,1066,3.635,1067,2.943,1068,1.873,1069,2.943,1070,2.943,1071,2.943,1072,2.943,1073,1.873,1074,3.635,1075,1.873,1076,1.873,1077,1.566,1078,1.873,1079,3.04,1080,1.873,1081,5.98,1082,1.873,1083,2.943,1084,2.943,1085,4.12,1086,2.943,1087,1.873,1088,1.873,1089,1.873,1090,3.04,1091,1.873,1092,2.943,1093,1.873,1094,1.873,1095,4.754,1096,2.461,1097,1.873,1098,1.873,1099,1.873,1100,4.478,1101,3.446,1102,1.873,1103,3.635,1104,2.943,1105,4.754,1106,2.461,1107,2.943,1108,4.12,1109,1.873,1110,1.873,1111,4.12,1112,1.873,1113,1.873,1114,1.873,1115,1.873,1116,2.943,1117,2.943,1118,1.873,1119,2.943,1120,1.873,1121,1.873,1122,2.943,1123,2.943,1124,1.873,1125,1.873,1126,1.873,1127,1.873,1128,1.873,1129,1.873,1130,1.873,1131,2.943,1132,1.873,1133,1.873,1134,1.873,1135,1.873,1136,1.873,1137,2.943,1138,1.873,1139,1.873,1140,1.873,1141,1.873,1142,1.873,1143,2.943,1144,1.873,1145,4.754,1146,1.873,1147,1.873,1148,3.635,1149,3.635,1150,2.943,1151,1.873,1152,2.943,1153,1.873,1154,1.566,1155,1.566,1156,1.873,1157,1.873,1158,1.873,1159,3.001,1160,1.873,1161,1.873,1162,2.943,1163,2.943,1164,1.873,1165,1.873,1166,2.943,1167,2.943,1168,1.873,1169,2.943,1170,4.12,1171,3.635,1172,1.873,1173,1.873,1174,1.873,1175,1.873,1176,1.566,1177,1.566,1178,1.873,1179,2.943,1180,1.873,1181,1.873,1182,1.873,1183,2.943,1184,4.12,1185,1.364,1186,1.873,1187,1.873,1188,1.873,1189,4.754,1190,3.635,1191,2.461,1192,1.873,1193,1.873,1194,3.635,1195,2.943,1196,4.12,1197,1.873,1198,1.873,1199,1.873,1200,2.943,1201,1.873,1202,1.873,1203,1.873,1204,1.873,1205,3.446,1206,1.873,1207,3.635,1208,4.12,1209,1.873,1210,3.635,1211,4.478,1212,2.943,1213,2.943,1214,2.943,1215,2.943,1216,3.635,1217,4.12,1218,4.478,1219,2.943,1220,3.635,1221,1.873,1222,1.873,1223,4.972,1224,3.635,1225,1.873,1226,5.297,1227,1.873,1228,1.873,1229,1.873,1230,1.873,1231,1.873,1232,1.873,1233,2.943,1234,1.873,1235,1.873,1236,1.873,1237,1.873,1238,1.873,1239,2.943,1240,1.873,1241,1.873,1242,2.943,1243,3.04,1244,2.943,1245,3.04,1246,1.873,1247,1.873,1248,1.873,1249,2.943,1250,1.873,1251,1.873,1252,1.873,1253,1.873,1254,1.873,1255,1.873,1256,1.873,1257,1.873,1258,4.12,1259,4.754,1260,2.943,1261,3.635,1262,1.873,1263,1.873,1264,1.873,1265,1.873,1266,3.635,1267,1.873,1268,1.873,1269,1.873,1270,2.943,1271,2.943,1272,2.943,1273,2.943,1274,3.635,1275,1.873,1276,1.873,1277,1.873,1278,1.873,1279,1.873,1280,1.566,1281,1.873,1282,1.873,1283,1.873,1284,2.943,1285,1.873,1286,1.873,1287,2.461,1288,1.873,1289,1.873,1290,1.873,1291,1.873,1292,1.873,1293,1.873,1294,1.873,1295,1.873,1296,1.873,1297,1.873,1298,5.15,1299,1.873,1300,3.04,1301,5.15,1302,3.635,1303,4.12,1304,2.943,1305,3.635,1306,1.873,1307,1.873,1308,1.873,1309,1.873,1310,2.943,1311,1.873,1312,1.873,1313,2.943,1314,1.873,1315,3.635,1316,1.873,1317,1.873,1318,1.566,1319,1.873,1320,1.566,1321,1.873,1322,1.873,1323,1.873,1324,1.873,1325,1.873,1326,1.873,1327,1.873,1328,4.478,1329,1.873,1330,1.873,1331,1.873,1332,1.873,1333,1.873,1334,1.873,1335,1.873,1336,1.873,1337,1.873,1338,1.873,1339,1.873,1340,1.873,1341,1.873,1342,1.873,1343,2.943,1344,1.873,1345,2.943,1346,1.873,1347,2.943,1348,2.943,1349,4.12,1350,4.12,1351,2.943,1352,2.943,1353,1.873,1354,1.873,1355,1.873,1356,3.635,1357,1.873,1358,1.566,1359,1.873,1360,1.873,1361,1.873,1362,1.873,1363,1.873,1364,1.873,1365,2.943,1366,5.421,1367,3.635,1368,1.566,1369,2.943,1370,1.873,1371,1.873,1372,1.873,1373,1.873,1374,1.873,1375,1.873,1376,1.873,1377,1.873,1378,2.943,1379,4.158,1380,2.943,1381,1.873,1382,1.873,1383,2.461,1384,1.873,1385,4.12,1386,1.873,1387,2.943,1388,1.873,1389,1.873,1390,1.873,1391,3.001,1392,1.873,1393,2.943,1394,1.873,1395,1.873,1396,1.873,1397,2.943,1398,2.943,1399,1.873,1400,1.873,1401,1.873,1402,1.873,1403,2.461,1404,3.635,1405,2.943,1406,2.461,1407,1.566,1408,1.873,1409,1.873,1410,1.873,1411,1.873,1412,1.873,1413,1.873,1414,1.873,1415,1.873,1416,1.566,1417,1.873,1418,1.873,1419,2.943,1420,1.873,1421,1.873,1422,1.873,1423,1.873,1424,1.873,1425,1.873,1426,2.943,1427,2.943,1428,1.873,1429,1.566,1430,1.873,1431,1.566,1432,1.873,1433,1.873,1434,1.873,1435,2.943,1436,1.873,1437,1.873,1438,1.873,1439,1.873,1440,1.873,1441,1.873,1442,1.873,1443,1.873,1444,1.873,1445,1.873,1446,1.566,1447,2.943,1448,1.873,1449,1.873,1450,2.943,1451,1.873,1452,1.873,1453,1.873,1454,1.873,1455,1.873,1456,1.873,1457,1.873]],["title/coverage.html",[1391,3.201]],["body/coverage.html",[0,0.482,1,0.615,5,0.166,6,0.46,7,1.766,11,0.03,17,0.032,19,0.138,24,0.566,25,0.615,26,0.435,47,0.667,48,0.435,54,0.667,62,0.667,65,0.688,70,0.667,78,1.216,82,0.615,92,0.377,93,0.396,98,0.667,111,1.006,114,1.073,115,0.667,128,0.476,143,0.667,144,0.667,151,1.168,153,0.615,158,0.017,159,0.024,160,1.582,161,2.642,162,3.119,177,1.425,183,1.425,206,1.582,207,1.356,209,1.425,210,1.425,212,1.779,214,2.042,215,2.042,216,2.042,218,2.042,220,4.463,221,2.042,222,2.042,224,3.952,225,3.952,226,1.779,227,2.042,228,2.042,230,2.042,232,0.919,233,0.723,235,1.582,238,2.042,240,1.251,246,1.779,252,2.059,253,1.295,263,1.085,287,3.513,416,2.042,421,1.582,437,2.042,438,2.042,474,3.013,478,2.042,507,0.919,509,4.85,519,3.904,543,0.919,616,3.482,617,1.779,619,1.779,620,1.779,627,1.779,636,0.848,766,2.554,767,2.554,813,1.085,824,1.779,825,4.042,826,4.235,828,2.042,834,1.779,836,1.779,863,1.779,880,2.042,889,2.042,923,2.042,1030,1.779,1391,1.779,1458,2.442,1459,2.442,1460,4.164,1461,2.442,1462,6.594,1463,2.042,1464,2.442,1465,4.281,1466,6.546,1467,6.63,1468,3.603,1469,2.442,1470,2.442,1471,2.442,1472,2.442,1473,2.442,1474,2.442,1475,2.442,1476,2.442,1477,2.442,1478,2.042,1479,2.042,1480,2.042,1481,2.042,1482,2.042,1483,4.281,1484,4.726,1485,2.442,1486,2.442,1487,2.442,1488,3.603,1489,4.726,1490,5.545,1491,2.442,1492,6.126,1493,2.442,1494,2.442,1495,2.442,1496,2.442,1497,2.442,1498,2.442,1499,2.442,1500,2.442,1501,2.442,1502,2.442,1503,2.442,1504,2.442,1505,2.442,1506,2.442,1507,4.78,1508,2.442,1509,2.442,1510,2.442,1511,2.442,1512,5.084,1513,2.442,1514,2.442,1515,2.042,1516,2.442,1517,2.442,1518,2.442,1519,2.042,1520,4.78,1521,2.442,1522,2.442,1523,2.442,1524,2.042,1525,2.042,1526,2.042,1527,2.042,1528,2.042,1529,3.603,1530,3.603,1531,2.442,1532,2.442,1533,2.442,1534,2.442,1535,3.603,1536,3.603,1537,2.442,1538,2.442,1539,3.672,1540,2.442,1541,3.013,1542,2.042,1543,3.013,1544,3.013,1545,4.989,1546,2.042,1547,2.042,1548,2.042,1549,2.042,1550,2.042,1551,2.042,1552,2.042,1553,3.672,1554,2.442,1555,2.042,1556,2.442,1557,2.442]],["title/dependencies.html",[1016,2.263,1159,2.828]],["body/dependencies.html",[5,0.281,11,0.02,17,0.032,43,1.223,127,1.223,142,1.223,152,1.223,158,0.024,159,0.02,174,3.012,176,2.413,177,2.413,192,3.457,193,3.457,425,2.002,496,2.679,498,4.316,500,3.457,502,3.457,506,2.679,563,3.012,823,2.679,967,3.457,1012,3.012,1034,3.457,1053,3.457,1096,3.457,1106,3.457,1154,3.457,1155,3.457,1159,3.012,1177,4.316,1243,3.457,1300,4.316,1383,4.316,1558,4.134,1559,4.134,1560,4.134,1561,6.477,1562,4.134,1563,4.134,1564,4.134,1565,4.134,1566,4.134,1567,4.134,1568,4.134,1569,4.134,1570,5.161,1571,4.134,1572,4.134,1573,4.134,1574,4.134,1575,4.134,1576,4.134,1577,4.134,1578,5.626,1579,4.134,1580,5.161,1581,4.134,1582,4.134,1583,4.134,1584,4.134,1585,5.626,1586,4.134,1587,4.134,1588,4.134,1589,4.134,1590,4.134,1591,4.134,1592,4.134,1593,5.161,1594,4.134,1595,4.134,1596,4.134,1597,5.161,1598,4.134,1599,4.134,1600,5.161,1601,5.161,1602,4.134,1603,4.134,1604,4.134,1605,4.134,1606,4.134,1607,5.161,1608,4.134,1609,4.134,1610,4.134,1611,5.161,1612,4.134,1613,4.134,1614,4.134,1615,4.134,1616,4.134,1617,4.134,1618,4.134,1619,4.134,1620,4.134,1621,4.134,1622,4.134,1623,4.134,1624,4.134,1625,4.134,1626,4.134,1627,4.134,1628,4.134,1629,3.457,1630,4.134,1631,4.134,1632,4.134,1633,4.134,1634,4.134,1635,4.134,1636,4.134,1637,4.134,1638,4.134,1639,4.134,1640,4.134,1641,4.134,1642,4.134,1643,4.134,1644,4.134,1645,4.134,1646,4.134,1647,4.134,1648,4.134,1649,4.134,1650,4.134,1651,5.161,1652,4.134,1653,4.134,1654,4.134,1655,4.134,1656,4.134,1657,4.134,1658,4.134,1659,4.134,1660,4.134,1661,5.161,1662,4.134,1663,4.134,1664,4.134,1665,4.134,1666,4.134,1667,4.134,1668,4.134,1669,4.134,1670,4.134,1671,4.134,1672,4.134,1673,4.134,1674,4.134]],["title/index.html",[12,0.184,926,1.971,927,1.753]],["body/index.html",[0,0.413,2,0.356,3,0.495,11,0.021,17,0.026,110,1.321,117,1.477,139,1.477,158,0.026,159,0.021,181,3.532,183,3.532,186,2.892,207,2.53,240,1.879,391,2.605,429,2.022,832,3.941,873,3.252,928,3.252,929,3.941,930,4.525,931,4.869,959,3.733,971,4.525,987,3.733,989,3.733,991,4.869,1010,3.733,1011,3.733,1012,3.252,1013,3.733,1031,5.184,1032,5.061,1038,4.525,1044,3.733,1054,4.525,1058,3.733,1079,3.733,1176,3.733,1320,3.733,1406,3.733,1416,3.733,1429,3.733,1675,5.41,1676,4.464,1677,4.464,1678,4.464,1679,4.464,1680,4.525,1681,4.464,1682,4.464,1683,4.464,1684,5.41,1685,5.41,1686,5.41,1687,5.822,1688,4.464,1689,4.464,1690,6.052,1691,5.822,1692,4.464,1693,4.464,1694,5.41,1695,4.464,1696,4.464,1697,4.464,1698,5.41,1699,4.464,1700,4.464,1701,4.464,1702,6.052,1703,4.464,1704,4.464,1705,4.464,1706,4.464,1707,4.464,1708,4.464,1709,4.464,1710,4.464,1711,4.464,1712,4.464,1713,4.464,1714,4.464,1715,4.464,1716,4.464,1717,4.464,1718,4.464,1719,4.464]],["title/license.html",[926,1.971,927,1.753,1720,2.263]],["body/license.html",[11,0.023,17,0.027,50,1.299,158,0.027,159,0.023,181,2.777,315,3.467,803,2.305,831,4.095,910,4.095,1030,3.467,1077,5.003,1280,4.701,1358,3.98,1379,3.98,1431,3.98,1629,3.98,1680,5.473,1720,3.98,1721,4.758,1722,5.983,1723,4.758,1724,4.758,1725,5.621,1726,4.758,1727,4.758,1728,4.758,1729,4.758,1730,4.758,1731,4.758,1732,5.621,1733,4.758,1734,4.758,1735,4.758,1736,4.758,1737,4.758,1738,4.758,1739,4.758,1740,4.758,1741,4.758,1742,4.758,1743,4.758,1744,4.758,1745,5.621,1746,4.758,1747,4.758,1748,4.758,1749,4.758,1750,4.758,1751,4.758,1752,5.621,1753,4.758,1754,4.758,1755,4.758,1756,4.758,1757,4.758,1758,4.758,1759,4.758,1760,4.758,1761,4.758,1762,4.758,1763,4.758,1764,4.758,1765,4.758,1766,4.758,1767,4.758,1768,4.758,1769,4.758,1770,4.758,1771,4.758,1772,4.758,1773,4.758,1774,4.758,1775,4.758,1776,4.758,1777,4.758,1778,4.758,1779,4.758]],["title/modules.html",[1780,3.675]],["body/modules.html",[11,0.025,17,0.028,158,0.028,159,0.025,1780,4.383]],["title/overview.html",[1781,3.675]],["body/overview.html",[2,0.417,11,0.025,17,0.028,158,0.028,159,0.025,436,3.381,1185,3.801,1781,4.364,1782,4.364]],["title/miscellaneous/typealiases.html",[1783,1.753,1784,3.882]],["body/miscellaneous/typealiases.html",[6,0.425,11,0.023,12,0.336,17,0.031,18,0.445,19,0.279,92,0.459,114,1.293,158,0.027,159,0.023,161,2.393,549,4.133,616,3.763,654,4.187,655,3.6,656,3.6,657,3.6,658,3.6,659,3.6,671,2.173,825,3.202,1460,4.187,1539,3.6,1553,3.6,1783,3.202,1785,4.941,1786,4.133,1787,4.133,1788,5.747,1789,4.133,1790,4.133]],["title/miscellaneous/variables.html",[1783,1.753,1791,3.246]],["body/miscellaneous/variables.html",[4,0.151,5,0.111,6,0.354,8,0.648,11,0.024,12,0.111,15,0.84,16,0.151,17,0.032,18,0.111,19,0.362,20,1.591,22,0.412,49,0.594,52,0.908,53,0.722,60,0.782,63,0.665,64,0.24,65,0.452,67,0.984,69,0.447,72,0.984,74,0.447,76,0.984,77,0.447,78,1.003,79,0.782,80,0.961,81,0.484,84,0.782,87,0.782,91,0.782,92,0.211,93,0.726,94,0.908,95,0.484,99,0.428,100,0.388,101,0.388,102,0.447,103,0.447,106,0.782,109,0.782,111,0.562,114,0.891,116,0.903,119,0.216,120,0.292,121,0.292,123,0.216,124,0.412,133,1.287,144,1.042,147,0.484,150,0.484,151,0.612,155,0.782,158,0.013,159,0.008,160,1.06,161,0.793,162,1.925,163,1.369,164,1.369,165,1.369,166,1.369,167,1.369,168,1.369,169,1.369,170,1.369,177,2.228,184,1.192,199,1.369,207,1.687,220,3.264,226,1.925,233,1.13,240,1.155,244,3.358,246,1.925,247,1.369,248,1.369,249,1.192,250,1.369,251,1.369,263,0.727,265,1.369,287,2.023,371,3.574,375,2.312,380,1.369,387,1.192,388,1.192,389,1.06,390,1.192,391,0.955,413,1.925,425,1.28,506,1.713,507,1.252,518,3.752,519,2.864,543,1.252,563,1.192,589,0.727,591,0.727,593,0.727,595,0.727,597,0.727,599,0.727,601,0.727,603,0.727,605,0.727,607,0.727,609,0.727,611,0.727,613,0.727,615,0.727,616,3.037,636,0.568,661,0.669,662,0.669,663,0.669,671,1.704,706,3.791,755,4.095,771,0.793,773,0.793,775,1.28,776,0.793,778,0.793,780,0.793,781,0.793,784,0.793,795,0.727,799,1.61,804,0.793,805,0.793,807,0.793,808,0.793,809,0.793,810,0.793,819,0.793,823,2.903,825,1.713,826,2.78,834,1.925,835,1.369,836,1.925,837,1.369,838,1.369,839,1.369,840,1.369,841,1.369,842,1.369,843,1.369,844,1.369,845,1.369,846,1.369,847,1.369,848,1.369,849,1.369,850,1.369,851,1.369,852,1.369,853,1.369,854,1.369,855,1.369,856,1.369,857,1.369,858,1.369,859,1.369,860,1.369,861,1.369,862,1.369,863,1.925,864,1.369,929,1.192,1065,3.503,1090,1.369,1101,1.369,1185,3.574,1191,1.369,1205,1.369,1245,4.103,1287,5.014,1318,4.609,1368,4.103,1403,1.369,1407,2.21,1446,4.103,1460,3.264,1463,4.103,1478,2.21,1479,2.21,1480,2.21,1481,2.21,1482,2.21,1490,4.535,1507,1.369,1512,2.21,1515,2.21,1519,2.21,1520,1.369,1524,2.21,1525,2.21,1526,3.747,1527,2.21,1528,2.21,1539,1.192,1541,3.192,1542,2.21,1543,3.192,1544,3.192,1545,1.369,1546,2.78,1547,3.192,1548,3.192,1549,3.192,1550,2.21,1551,2.21,1552,3.192,1553,1.192,1555,2.21,1782,1.369,1783,1.06,1786,3.192,1787,3.192,1789,4.103,1790,1.369,1791,1.369,1792,5.422,1793,4.189,1794,1.636,1795,2.643,1796,2.643,1797,2.643,1798,4.189,1799,2.643,1800,5.203,1801,2.643,1802,1.636,1803,1.636,1804,1.636,1805,1.636,1806,1.636,1807,3.324,1808,3.324,1809,1.636,1810,1.636,1811,1.636,1812,1.636,1813,1.636,1814,1.636,1815,1.636,1816,1.636,1817,1.636,1818,1.636,1819,1.636,1820,1.636,1821,1.636,1822,1.636,1823,1.636,1824,1.636,1825,1.636,1826,1.636,1827,1.636,1828,1.636,1829,1.636,1830,1.636,1831,1.636,1832,3.324,1833,2.643,1834,1.636,1835,1.636,1836,1.636,1837,1.636,1838,1.636,1839,1.636,1840,1.636,1841,1.636,1842,1.636,1843,1.636,1844,1.636,1845,1.636,1846,1.636,1847,1.636,1848,1.636,1849,1.636,1850,1.636,1851,1.636,1852,1.636,1853,1.636,1854,1.636,1855,1.636,1856,1.636,1857,1.636,1858,1.636,1859,1.636,1860,1.636,1861,1.636,1862,1.636,1863,1.636,1864,1.636,1865,1.636,1866,1.636,1867,1.636,1868,1.636,1869,1.636,1870,1.636,1871,1.636,1872,1.636,1873,1.636,1874,1.636,1875,1.636,1876,1.636,1877,1.636,1878,1.636,1879,1.636,1880,1.636,1881,1.636,1882,1.636,1883,1.636,1884,1.636,1885,1.636,1886,1.636,1887,1.636,1888,1.636,1889,1.636,1890,1.636,1891,1.636,1892,1.636,1893,1.636,1894,1.636,1895,1.636,1896,2.643,1897,1.636,1898,1.636,1899,1.636,1900,1.636,1901,1.636,1902,1.636,1903,1.636,1904,1.636,1905,1.636,1906,1.636,1907,1.636,1908,1.636,1909,1.636,1910,1.636,1911,1.636,1912,1.636,1913,2.643,1914,3.324,1915,3.324,1916,1.636,1917,1.636,1918,1.636,1919,1.636,1920,1.636,1921,1.636,1922,1.636,1923,1.636,1924,1.636,1925,2.643,1926,1.636,1927,1.636,1928,1.636,1929,1.636,1930,2.643,1931,1.636,1932,1.636,1933,1.636,1934,1.636,1935,1.636,1936,1.636,1937,1.636,1938,1.636,1939,1.636,1940,1.636,1941,1.636,1942,1.636,1943,1.636,1944,1.636,1945,1.636,1946,1.636,1947,1.636,1948,1.636,1949,1.636,1950,1.636,1951,1.636,1952,1.636,1953,1.636,1954,1.636,1955,1.636,1956,1.636,1957,1.636,1958,1.636,1959,1.636,1960,1.636,1961,1.636,1962,1.636,1963,1.636,1964,1.636,1965,1.636,1966,1.636,1967,1.636,1968,1.636,1969,1.636,1970,1.636,1971,1.636,1972,1.636,1973,1.636,1974,1.636,1975,1.636,1976,1.636,1977,1.636,1978,1.636,1979,1.636,1980,1.636,1981,1.636,1982,1.636,1983,1.636,1984,1.636,1985,1.636,1986,1.636,1987,1.636,1988,1.636,1989,1.636,1990,1.636,1991,1.636,1992,1.636,1993,1.636,1994,1.636,1995,1.636,1996,1.636,1997,1.636,1998,1.636,1999,1.636,2000,1.636,2001,1.636,2002,1.636,2003,1.636,2004,1.636,2005,1.636,2006,1.636,2007,1.636,2008,1.636,2009,1.636,2010,1.636,2011,1.636,2012,1.636,2013,1.636,2014,1.636,2015,1.636,2016,1.636,2017,1.636,2018,1.636,2019,1.636,2020,1.636,2021,1.636,2022,1.636,2023,1.636,2024,1.636,2025,1.636,2026,1.636,2027,1.636,2028,1.636,2029,1.636,2030,1.636,2031,1.636,2032,1.636,2033,1.636,2034,1.636,2035,1.636,2036,1.636,2037,1.636,2038,1.636,2039,1.636,2040,1.636,2041,1.636,2042,1.636,2043,1.636,2044,1.636,2045,1.636,2046,1.636,2047,1.636,2048,1.636,2049,1.636,2050,2.643,2051,1.636,2052,1.636,2053,1.636,2054,1.636,2055,1.636,2056,1.636,2057,2.643,2058,1.636,2059,1.636,2060,6.539,2061,5.723,2062,5.959,2063,5.66,2064,5.959,2065,5.959,2066,5.959,2067,5.32,2068,5.32,2069,5.32,2070,5.32,2071,5.723,2072,6.539,2073,4.906,2074,5.723,2075,4.906,2076,4.906,2077,5.422,2078,6.059,2079,5.723,2080,5.723,2081,3.817,2082,3.817,2083,3.817,2084,3.817,2085,3.817,2086,3.817,2087,5.723,2088,5.723,2089,4.906,2090,4.906,2091,5.422,2092,3.817,2093,3.817,2094,3.817,2095,3.817,2096,3.817,2097,3.817,2098,1.636,2099,1.636,2100,1.636,2101,1.636,2102,1.636,2103,1.636,2104,1.636,2105,1.636,2106,1.636,2107,1.636,2108,1.636,2109,1.636,2110,1.636,2111,1.636,2112,1.636,2113,1.636,2114,4.48,2115,1.636,2116,2.643,2117,1.636,2118,1.636,2119,3.817,2120,3.324,2121,3.324,2122,1.636,2123,1.636,2124,1.636,2125,1.636,2126,1.636,2127,1.636,2128,1.636,2129,1.636,2130,1.636,2131,1.636,2132,1.636,2133,1.636,2134,1.636,2135,1.636,2136,1.636,2137,1.636,2138,1.636,2139,1.636,2140,1.636,2141,1.636,2142,1.636,2143,1.636,2144,1.636,2145,1.636,2146,1.636,2147,1.636,2148,1.636,2149,1.636,2150,1.636,2151,1.636,2152,1.636,2153,5.995,2154,6.333,2155,1.636,2156,1.636,2157,1.636,2158,1.636,2159,1.636,2160,1.636,2161,1.636,2162,1.636,2163,1.636,2164,1.636,2165,1.636,2166,1.636,2167,1.636,2168,1.636,2169,1.636,2170,1.636,2171,4.48,2172,1.636,2173,1.636,2174,1.636,2175,1.636,2176,1.636,2177,1.636,2178,3.324,2179,1.636,2180,1.636,2181,1.636,2182,1.636,2183,1.636,2184,1.636,2185,1.636,2186,1.636,2187,2.643,2188,1.636,2189,1.636,2190,1.636,2191,1.636,2192,1.636,2193,1.636,2194,1.636,2195,1.636,2196,1.636,2197,2.643,2198,1.636,2199,1.636,2200,1.636,2201,1.636,2202,1.636,2203,1.636,2204,1.636,2205,1.636,2206,1.636,2207,2.643,2208,1.636,2209,1.636,2210,1.636,2211,1.636,2212,1.636,2213,1.636,2214,1.636,2215,1.636,2216,1.636,2217,1.636,2218,1.636,2219,1.636,2220,1.636,2221,1.636,2222,1.636,2223,1.636,2224,1.636,2225,1.636,2226,1.636,2227,1.636,2228,1.636,2229,1.636,2230,1.636,2231,1.636,2232,1.636,2233,1.636,2234,1.636,2235,1.636,2236,1.636,2237,1.636,2238,1.636,2239,1.636,2240,1.636,2241,1.636,2242,1.636,2243,1.636,2244,1.636,2245,1.636,2246,1.636,2247,1.636]]],"invertedIndex":[["",{"_index":17,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":287,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.1.0",{"_index":1450,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1674,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1615,"title":{},"body":{"dependencies.html":{}}}],["0.2",{"_index":708,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.2.0",{"_index":1447,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1636,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":707,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5*255",{"_index":716,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5.0",{"_index":1435,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1406,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.9*255",{"_index":733,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.999999",{"_index":585,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["0/1",{"_index":1462,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":1470,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":1472,"title":{},"body":{"coverage.html":{}}}],["0/21",{"_index":1471,"title":{},"body":{"coverage.html":{}}}],["0/24",{"_index":1476,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1468,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1267,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["03b3d854",{"_index":2112,"title":{},"body":{"miscellaneous/variables.html":{}}}],["04",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["07a29e4c",{"_index":2118,"title":{},"body":{"miscellaneous/variables.html":{}}}],["08",{"_index":1380,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["0a7c1eab007a",{"_index":2132,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e368f3075e8",{"_index":2116,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e8017bdda58",{"_index":2121,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0efb3ba9a670",{"_index":2140,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":518,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["1)[0].split('_')[0].tolowercase()}.x('${o.id.split('_').slice",{"_index":1983,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1)[0]}'),`).join('\\n",{"_index":1984,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1.0",{"_index":1301,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1366,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1610,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1619,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1670,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1343,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1647,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1612,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1300,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1623,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1650,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":1266,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":1243,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1637,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1626,"title":{},"body":{"dependencies.html":{}}}],["1.jpg",{"_index":2154,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1/1",{"_index":1467,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":371,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":1635,"title":{},"body":{"dependencies.html":{}}}],["10/10",{"_index":1465,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":519,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":456,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["101",{"_index":1800,"title":{},"body":{"miscellaneous/variables.html":{}}}],["102",{"_index":2082,"title":{},"body":{"miscellaneous/variables.html":{}}}],["103",{"_index":2078,"title":{},"body":{"miscellaneous/variables.html":{}}}],["108",{"_index":2095,"title":{},"body":{"miscellaneous/variables.html":{}}}],["10x",{"_index":1355,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1245,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["11.2.1",{"_index":1652,"title":{},"body":{"dependencies.html":{}}}],["11e8",{"_index":2114,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11e9",{"_index":2138,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11eb",{"_index":2146,"title":{},"body":{"miscellaneous/variables.html":{}}}],["12",{"_index":987,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1654,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1561,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1569,"title":{},"body":{"dependencies.html":{}}}],["121",{"_index":1797,"title":{},"body":{"miscellaneous/variables.html":{}}}],["13",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1559,"title":{},"body":{"dependencies.html":{}}}],["155",{"_index":2085,"title":{},"body":{"miscellaneous/variables.html":{}}}],["16",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1628,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["172",{"_index":2073,"title":{},"body":{"miscellaneous/variables.html":{}}}],["183",{"_index":1803,"title":{},"body":{"miscellaneous/variables.html":{}}}],["19/19",{"_index":1532,"title":{},"body":{"coverage.html":{}}}],["2",{"_index":755,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["2.0.0",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1632,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":1106,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":1096,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":1053,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1656,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1621,"title":{},"body":{"dependencies.html":{}}}],["2.jpg",{"_index":2236,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2/3",{"_index":1530,"title":{},"body":{"coverage.html":{}}}],["2000",{"_index":457,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["2019",{"_index":1379,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["202",{"_index":2091,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2020",{"_index":1303,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["203",{"_index":2077,"title":{},"body":{"miscellaneous/variables.html":{}}}],["204",{"_index":1798,"title":{},"body":{"miscellaneous/variables.html":{}}}],["21",{"_index":1185,"title":{},"body":{"changelog.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["213",{"_index":1801,"title":{},"body":{"miscellaneous/variables.html":{}}}],["22",{"_index":1368,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["24",{"_index":1436,"title":{},"body":{"changelog.html":{}}}],["24/32",{"_index":1464,"title":{},"body":{"coverage.html":{}}}],["240",{"_index":1802,"title":{},"body":{"miscellaneous/variables.html":{}}}],["25/25",{"_index":1531,"title":{},"body":{"coverage.html":{}}}],["250",{"_index":835,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["255",{"_index":706,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["26",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1248,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["29",{"_index":1799,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3",{"_index":1287,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["3.0.0",{"_index":1034,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1585,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1590,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1592,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1706,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":1662,"title":{},"body":{"dependencies.html":{}}}],["3.7.1",{"_index":1601,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1604,"title":{},"body":{"dependencies.html":{}}}],["3/3",{"_index":1483,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["301615f9",{"_index":2144,"title":{},"body":{"miscellaneous/variables.html":{}}}],["308f5ffc",{"_index":2123,"title":{},"body":{"miscellaneous/variables.html":{}}}],["31",{"_index":1344,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":2061,"title":{},"body":{"miscellaneous/variables.html":{}}}],["35ce3d8786fe",{"_index":2148,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3d",{"_index":424,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["4",{"_index":1318,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["4.0",{"_index":1685,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1598,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1630,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1645,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1617,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1639,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":1485,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":2086,"title":{},"body":{"miscellaneous/variables.html":{}}}],["403",{"_index":2080,"title":{},"body":{"miscellaneous/variables.html":{}}}],["41",{"_index":1796,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5",{"_index":1782,"title":{},"body":{"overview.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":1642,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1644,"title":{},"body":{"dependencies.html":{}}}],["5/5",{"_index":1484,"title":{},"body":{"coverage.html":{}}}],["500",{"_index":364,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["5bd084c8",{"_index":2125,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5c106f29",{"_index":2136,"title":{},"body":{"miscellaneous/variables.html":{}}}],["6",{"_index":2207,"title":{},"body":{"miscellaneous/variables.html":{}}}],["6.0.1",{"_index":1643,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1658,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1595,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1667,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1664,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":1488,"title":{},"body":{"coverage.html":{}}}],["60",{"_index":455,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["60*60*1000",{"_index":299,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["66",{"_index":1529,"title":{},"body":{"coverage.html":{}}}],["7",{"_index":2083,"title":{},"body":{"miscellaneous/variables.html":{}}}],["7/7",{"_index":1487,"title":{},"body":{"coverage.html":{}}}],["73bb26e4",{"_index":2130,"title":{},"body":{"miscellaneous/variables.html":{}}}],["75",{"_index":1463,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["76",{"_index":2089,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8",{"_index":1191,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["8.3.2",{"_index":1672,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1589,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1578,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1581,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":1486,"title":{},"body":{"coverage.html":{}}}],["802f",{"_index":2127,"title":{},"body":{"miscellaneous/variables.html":{}}}],["85",{"_index":1446,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["85e8",{"_index":2139,"title":{},"body":{"miscellaneous/variables.html":{}}}],["86",{"_index":2075,"title":{},"body":{"miscellaneous/variables.html":{}}}],["89",{"_index":2097,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8bce",{"_index":2115,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8f19",{"_index":2131,"title":{},"body":{"miscellaneous/variables.html":{}}}],["90",{"_index":1390,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["96",{"_index":2092,"title":{},"body":{"miscellaneous/variables.html":{}}}],["97",{"_index":2093,"title":{},"body":{"miscellaneous/variables.html":{}}}],["98",{"_index":1804,"title":{},"body":{"miscellaneous/variables.html":{}}}],["9th",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["_",{"_index":1981,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_error",{"_index":888,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["_lighting",{"_index":666,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["_source",{"_index":877,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["a8dc",{"_index":2147,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ability",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1431,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["acc.concat(structures.length",{"_index":697,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["accessors",{"_index":1930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["accurate",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1773,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1291,"title":{},"body":{"changelog.html":{}}}],["actually",{"_index":306,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["add",{"_index":357,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["adddatasources(sources",{"_index":340,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["added",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["addedge",{"_index":475,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addedge(id",{"_index":483,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addhubmapdatatostore",{"_index":923,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["additional",{"_index":1432,"title":{},"body":{"changelog.html":{}}}],["addjsonldtostore",{"_index":196,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(hubmapdata",{"_index":925,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(source",{"_index":346,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore",{"_index":197,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore(source",{"_index":348,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addnode",{"_index":476,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addnode(id",{"_index":485,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addrdfxmltostore",{"_index":198,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addrdfxmltostore(source",{"_index":352,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addressed",{"_index":1337,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":922,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["adjusting",{"_index":1331,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1241,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["af_preims_registered_thumbnail.jpg",{"_index":2062,"title":{},"body":{"miscellaneous/variables.html":{}}}],["af_premxif_registered_thumbnail.jpg",{"_index":2067,"title":{},"body":{"miscellaneous/variables.html":{}}}],["again",{"_index":35,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["age",{"_index":102,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["agerange",{"_index":131,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregate",{"_index":9,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregateresult",{"_index":1,"title":{"interfaces/AggregateResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["aggregating",{"_index":468,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ala",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1785,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allow",{"_index":360,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["allows",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1418,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1398,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1393,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1378,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1689,"title":{},"body":{"index.html":{}}}],["amount",{"_index":37,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["analytics",{"_index":1155,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":789,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["ancestors.created_by_user_displayname",{"_index":849,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.description",{"_index":843,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.entity_type",{"_index":842,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.group_name",{"_index":848,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.group_uuid",{"_index":847,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.last_modified_timestamp",{"_index":846,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.organ_donor_data.data_value",{"_index":845,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.organ_donor_data.preferred_term",{"_index":844,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.uuid",{"_index":850,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["and/or",{"_index":1743,"title":{},"body":{"license.html":{}}}],["angular",{"_index":1012,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1560,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1562,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1563,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1564,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1565,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1566,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1567,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1568,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1570,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1572,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1573,"title":{},"body":{"dependencies.html":{}}}],["annotation",{"_index":787,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["annotations",{"_index":785,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["aorta",{"_index":1967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":183,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1699,"title":{},"body":{"index.html":{}}}],["appear",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["applicable",{"_index":791,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["application",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["application/json",{"_index":868,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["applied",{"_index":125,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["applyspatialplacement",{"_index":1469,"title":{},"body":{"coverage.html":{}}}],["applyspatialplacement(matrix",{"_index":577,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["applyspatialplacement(tx",{"_index":510,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["appropriate",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1777,"title":{},"body":{"license.html":{}}}],["array",{"_index":381,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["asct+b",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["asctb",{"_index":1810,"title":{},"body":{"miscellaneous/variables.html":{}}}],["assertions",{"_index":393,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["assets",{"_index":182,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["assetsapi",{"_index":913,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["assignment/selection",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":50,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"license.html":{}}}],["assumes",{"_index":354,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["async",{"_index":276,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["attempts",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1766,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":1322,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1275,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1315,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":284,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["award",{"_index":1718,"title":{},"body":{"index.html":{}}}],["b56a",{"_index":2120,"title":{},"body":{"miscellaneous/variables.html":{}}}],["backend",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1429,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1403,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["based",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["bearer",{"_index":870,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["before",{"_index":33,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["being",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":1038,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1372,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1609,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":78,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocks",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["blood",{"_index":1969,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blood_vasculature",{"_index":1985,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blue",{"_index":1541,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":103,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["bmirange",{"_index":132,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["board",{"_index":1395,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":425,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["bodyid",{"_index":681,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["bodyobj",{"_index":872,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["bone_marrow",{"_index":1971,"title":{},"body":{"miscellaneous/variables.html":{}}}],["boolean",{"_index":141,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["both",{"_index":129,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["bothsexes",{"_index":1820,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bounding",{"_index":712,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["box",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["boxes",{"_index":713,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["brain",{"_index":1987,"title":{},"body":{"miscellaneous/variables.html":{}}}],["break",{"_index":520,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["breaking",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":1383,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":1665,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":1452,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1681,"title":{},"body":{"index.html":{}}}],["building",{"_index":465,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["builds",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1397,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1723,"title":{},"body":{"license.html":{}}}],["c870",{"_index":2145,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cache",{"_index":1607,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":1669,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":278,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["cachedconnect",{"_index":288,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["callback",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["caltech",{"_index":2124,"title":{},"body":{"miscellaneous/variables.html":{}}}],["came",{"_index":792,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["cancelregistration",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1370,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1613,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":516,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["cases",{"_index":1342,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":305,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["catch((error",{"_index":471,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ccf",{"_index":207,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ccf's",{"_index":1296,"title":{},"body":{"changelog.html":{}}}],["ccf.spatial.bothsexes.id",{"_index":685,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.female.id",{"_index":684,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.male.id",{"_index":683,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatialentity",{"_index":546,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialentity.x_dimension.id",{"_index":2245,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.y_dimension.id",{"_index":2246,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.z_dimension.id",{"_index":2247,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialobjectreference",{"_index":545,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.source",{"_index":551,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.target",{"_index":554,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf_annotations",{"_index":661,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["ccfcontexturl",{"_index":164,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabase",{"_index":253,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfdatabasekey",{"_index":293,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfdatabaseoptions",{"_index":160,"title":{"interfaces/CCFDatabaseOptions.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabasestatustracker",{"_index":235,"title":{"classes/CCFDatabaseStatusTracker.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["ccfdatabasestatustracker(this",{"_index":399,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl",{"_index":165,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfowlurl.endswith('.n3store.json",{"_index":317,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl.startswith",{"_index":313,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl?.length",{"_index":324,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialgraph",{"_index":206,"title":{"classes/CCFSpatialGraph.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["ccfspatialgraph(this",{"_index":267,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialscene",{"_index":209,"title":{"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfspatialscene(this",{"_index":269,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfx",{"_index":1546,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfx('anatomical_structure_of",{"_index":1843,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_annotation",{"_index":1841,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_part_of",{"_index":1807,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_preferred_label",{"_index":1806,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_representation_of",{"_index":1842,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_rui_rank",{"_index":1808,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_slice_count",{"_index":1851,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_slice_thickness",{"_index":1850,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('characterizes",{"_index":1817,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creation_date",{"_index":1838,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_first_name",{"_index":1835,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_last_name",{"_index":1836,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_orcid",{"_index":1837,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ct_is_a",{"_index":1813,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('extraction_set_for",{"_index":1845,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('extraction_site_for",{"_index":1847,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_dimension_units",{"_index":1855,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_file",{"_index":1829,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_file_format",{"_index":1830,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_file_subpath",{"_index":1831,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_reference",{"_index":1856,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_placement_date",{"_index":1859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_placement_source",{"_index":1857,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_placement_target",{"_index":1858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_rotation_order",{"_index":1868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_rotation_units",{"_index":1869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_scaling_units",{"_index":1863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_sex",{"_index":1848,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_side",{"_index":1849,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_theta_rotation",{"_index":1867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_translation_units",{"_index":1873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_dimension",{"_index":1852,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_rotation",{"_index":1864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_scaling",{"_index":1860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_x_translation",{"_index":1870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_dimension",{"_index":1853,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_rotation",{"_index":1865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_scaling",{"_index":1861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_y_translation",{"_index":1871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_dimension",{"_index":1854,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_rotation",{"_index":1866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_scaling",{"_index":1862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_z_translation",{"_index":1872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('located_in",{"_index":1815,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatialentity",{"_index":1827,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatialobjectreference",{"_index":1826,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatialplacement",{"_index":1828,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('updated_date",{"_index":1840,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhbothsexes",{"_index":1821,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhfemale",{"_index":1818,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhfemaleorgans",{"_index":1823,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhmale",{"_index":1819,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('vhmaleorgans",{"_index":1825,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cell",{"_index":413,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["celltype",{"_index":108,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["celltypeterms",{"_index":109,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["center",{"_index":1713,"title":{},"body":{"index.html":{}}}],["centimeter",{"_index":517,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["change",{"_index":1176,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":1426,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":928,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["characterizes",{"_index":1816,"title":{},"body":{"miscellaneous/variables.html":{}}}],["charge",{"_index":1729,"title":{},"body":{"license.html":{}}}],["checkback",{"_index":36,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["checking",{"_index":34,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["child",{"_index":145,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["children",{"_index":147,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["choose",{"_index":1316,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1294,"title":{},"body":{"changelog.html":{}}}],["cl",{"_index":1547,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cl.cell",{"_index":1941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["claim",{"_index":1769,"title":{},"body":{"license.html":{}}}],["class",{"_index":252,"title":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["classes",{"_index":436,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"overview.html":{}}}],["clean",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":1702,"title":{},"body":{"index.html":{}}}],["code",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1306,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1354,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1411,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1304,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":1324,"title":{},"body":{"changelog.html":{}}}],["colon",{"_index":1944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["color",{"_index":671,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["coloring",{"_index":811,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["colorizing",{"_index":1363,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1317,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1359,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1351,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1616,"title":{},"body":{"dependencies.html":{}}}],["comment",{"_index":775,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["common",{"_index":929,"title":{},"body":{"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["compatible",{"_index":903,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["complexity",{"_index":1204,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":989,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":1152,"title":{},"body":{"changelog.html":{}}}],["comunica/query",{"_index":1575,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1618,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1751,"title":{},"body":{"license.html":{}}}],["cone",{"_index":658,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["config",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["configuration",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":441,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["connect(options",{"_index":277,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connected",{"_index":308,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connection",{"_index":1778,"title":{},"body":{"license.html":{}}}],["connects",{"_index":270,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log('couldn\\'t",{"_index":321,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log(all_possible_organs.map(o",{"_index":1977,"title":{},"body":{"miscellaneous/variables.html":{}}}],["console.warn(`unable",{"_index":921,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["consortium",{"_index":1724,"title":{},"body":{"license.html":{}}}],["consortiumname",{"_index":1886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["const",{"_index":245,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constants",{"_index":1928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["constructor",{"_index":443,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(database",{"_index":444,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["constructor(db",{"_index":480,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(private",{"_index":537,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constructor(public",{"_index":261,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["container",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1679,"title":{},"body":{"index.html":{}}}],["context",{"_index":173,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["context.jsonld",{"_index":249,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["contract",{"_index":1774,"title":{},"body":{"license.html":{}}}],["control",{"_index":1262,"title":{},"body":{"changelog.html":{}}}],["convention",{"_index":2107,"title":{},"body":{"miscellaneous/variables.html":{}}}],["coordinate",{"_index":117,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["copies",{"_index":1745,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1732,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1722,"title":{},"body":{"license.html":{}}}],["cord",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1620,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":14,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["counts",{"_index":410,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["coverage",{"_index":1391,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["create",{"_index":1929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["created",{"_index":1271,"title":{},"body":{"changelog.html":{}}}],["created_by_user_displayname",{"_index":841,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["creategraph",{"_index":477,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["creates",{"_index":254,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["creation",{"_index":782,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["creation_date",{"_index":784,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator",{"_index":776,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_first_name",{"_index":778,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_last_name",{"_index":780,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_orcid",{"_index":781,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["credits",{"_index":1708,"title":{},"body":{"index.html":{}}}],["css",{"_index":1622,"title":{},"body":{"dependencies.html":{}}}],["ct_is_a",{"_index":1812,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cube",{"_index":655,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cuboid",{"_index":1389,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1386,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":44,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["currently",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1710,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["cylinder",{"_index":659,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["damages",{"_index":1770,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":65,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["data.ts",{"_index":1460,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database",{"_index":26,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["database.last_modified",{"_index":292,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["database.ts",{"_index":162,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/cache",{"_index":1459,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/ccf",{"_index":161,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/hubmap/hubmap",{"_index":825,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/interfaces.ts",{"_index":7,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["database/src/lib/queries/aggregate",{"_index":1489,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/find",{"_index":1492,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/ontology",{"_index":1507,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/spatial",{"_index":1512,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/tissue",{"_index":1520,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/spatial",{"_index":766,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["database/src/lib/util/ccf",{"_index":437,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["database/src/lib/util/enrich",{"_index":1533,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/n3",{"_index":1535,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/origin",{"_index":1539,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/prefixes.ts",{"_index":1545,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/probing",{"_index":1553,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["databasestatus",{"_index":24,"title":{"interfaces/DatabaseStatus.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datafactory",{"_index":199,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["datafactory.literal('female",{"_index":1885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('male",{"_index":1884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('non",{"_index":1899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('tissue",{"_index":1896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.namednode('http://www.geneontology.org/formats/oboinowl#hasexactsynonym",{"_index":1809,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataset",{"_index":61,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["datasetresult",{"_index":62,"title":{"interfaces/DatasetResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datasetresultset",{"_index":1524,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["datasets",{"_index":80,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["datasources",{"_index":166,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["dataurl",{"_index":904,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["date",{"_index":783,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["date().gettime",{"_index":290,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date().toisostring().split('t')[0",{"_index":590,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["date(+lastmodified).gettime",{"_index":298,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date.now",{"_index":460,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["db",{"_index":482,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dc",{"_index":1926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["deal",{"_index":1734,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1779,"title":{},"body":{"license.html":{}}}],["debug",{"_index":140,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["debugdonors",{"_index":1477,"title":{},"body":{"coverage.html":{}}}],["debugging",{"_index":138,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["december",{"_index":1311,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1577,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1579,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1582,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1583,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":1597,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["def5fd76",{"_index":2134,"title":{},"body":{"miscellaneous/variables.html":{}}}],["default",{"_index":244,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_api_search_query",{"_index":863,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_ccf_db_options",{"_index":246,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":445,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"changelog.html":{}}}],["degree",{"_index":608,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["delay",{"_index":359,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany",{"_index":190,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany([ccfdatabasekey",{"_index":300,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["demo",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":1159,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["derived",{"_index":81,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["descendants.created_by_user_displayname",{"_index":856,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.data_types",{"_index":858,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.entity_type",{"_index":851,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.group_name",{"_index":855,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.group_uuid",{"_index":854,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.ingest_metadata.metadata.assay_type",{"_index":859,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.ingest_metadata.metadata.tissue_id",{"_index":852,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.last_modified_timestamp",{"_index":853,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.metadata.files.rel_path",{"_index":861,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.thumbnail_file",{"_index":860,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.uuid",{"_index":857,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descrepancies",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["describing",{"_index":812,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["description",{"_index":8,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["deserialize(value",{"_index":369,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store",{"_index":200,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(ccfowlurl",{"_index":316,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(storestring",{"_index":323,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(value",{"_index":370,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["desired",{"_index":748,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["details",{"_index":1434,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1709,"title":{},"body":{"index.html":{}}}],["developments",{"_index":1416,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["differencecallback",{"_index":1493,"title":{},"body":{"coverage.html":{}}}],["different",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1288,"title":{},"body":{"changelog.html":{}}}],["dim",{"_index":754,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dimension",{"_index":806,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["dimension_units",{"_index":810,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["dimensions",{"_index":749,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["direct",{"_index":1443,"title":{},"body":{"changelog.html":{}}}],["directedgraph",{"_index":497,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["directly",{"_index":1352,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":388,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["display",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":1387,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1741,"title":{},"body":{"license.html":{}}}],["doapisearch",{"_index":889,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["doapisearch(dataurl",{"_index":919,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["doc",{"_index":1401,"title":{},"body":{"changelog.html":{}}}],["doconnect",{"_index":309,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["docs",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1624,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":1030,"title":{},"body":{"changelog.html":{},"coverage.html":{},"license.html":{}}}],["docvalue_fields",{"_index":876,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["done",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":53,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["donorresult",{"_index":54,"title":{"interfaces/DonorResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["donorresultset",{"_index":1525,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["donors",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["dosearchrequest",{"_index":880,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["dosearchrequest(dataurl",{"_index":918,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dosearchrequest(url",{"_index":893,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dotenv",{"_index":1627,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1427,"title":{},"body":{"changelog.html":{}}}],["dr1_vu_thumbs",{"_index":1478,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["during",{"_index":126,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["dynamic",{"_index":1571,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["ea2d",{"_index":2137,"title":{},"body":{"miscellaneous/variables.html":{}}}],["each",{"_index":86,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["easier",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["ed43",{"_index":2119,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ed44",{"_index":2113,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edc2",{"_index":2126,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edgesource",{"_index":548,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["edgesource[quad.subject.id",{"_index":552,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["effect",{"_index":1334,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1253,"title":{},"body":{"changelog.html":{}}}],["elastic",{"_index":187,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["electric",{"_index":2143,"title":{},"body":{"miscellaneous/variables.html":{}}}],["element",{"_index":1177,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["endpoint",{"_index":914,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["enrichruilocations",{"_index":238,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["enrichruilocations(this.store",{"_index":366,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["entities",{"_index":385,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["entity",{"_index":93,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity.datasets.id",{"_index":2057,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.description.id",{"_index":2047,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.donor.id",{"_index":2054,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.label.id",{"_index":2046,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.link.id",{"_index":2048,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.owl",{"_index":1915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.providername.id",{"_index":2045,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sampletype.id",{"_index":2050,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectioncount.id",{"_index":2051,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionnumber.id",{"_index":2058,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sections.id",{"_index":2056,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionsize.id",{"_index":2052,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionunits.id",{"_index":2053,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.spatialentity.id",{"_index":2055,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.technology.id",{"_index":2043,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.thumbnail.id",{"_index":2044,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity_context",{"_index":1479,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity_type",{"_index":837,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["entityid",{"_index":660,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["error",{"_index":29,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["error?.message",{"_index":472,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["es",{"_index":1614,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":387,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["eslint/consistent",{"_index":392,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["eslint/naming",{"_index":2106,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eslint/no",{"_index":535,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["etc",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":991,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["euler",{"_index":493,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler().fromrotationmatrix(matrix",{"_index":579,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.tovector3().map(todegrees",{"_index":583,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.xyz",{"_index":580,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["event",{"_index":1765,"title":{},"body":{"license.html":{}}}],["exists",{"_index":864,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["expanded",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["explicit",{"_index":536,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["exploration",{"_index":1683,"title":{},"body":{"index.html":{}}}],["export",{"_index":23,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["express",{"_index":1629,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["expressed",{"_index":816,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["extends",{"_index":55,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["external",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1634,"title":{},"body":{"dependencies.html":{}}}],["extracted",{"_index":83,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["extraction",{"_index":768,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["extraction_set",{"_index":1846,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extraction_set_for",{"_index":1844,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extractionset",{"_index":636,"title":{"interfaces/ExtractionSet.html":{}},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["extractionsites",{"_index":770,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["eye",{"_index":1957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_left",{"_index":1989,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_right",{"_index":1991,"title":{},"body":{"miscellaneous/variables.html":{}}}],["factor",{"_index":513,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["factory",{"_index":265,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["fail",{"_index":1309,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1339,"title":{},"body":{"changelog.html":{}}}],["fallopian_tube",{"_index":1959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_left",{"_index":1993,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_right",{"_index":1995,"title":{},"body":{"miscellaneous/variables.html":{}}}],["false",{"_index":279,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["favor",{"_index":1299,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":1251,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":101,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["femaleorgans",{"_index":1822,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fetch",{"_index":1655,"title":{},"body":{"dependencies.html":{}}}],["fetch(ccfowlurl).then(r",{"_index":319,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["fetch(url",{"_index":885,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["field",{"_index":22,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["fields",{"_index":833,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["file_format",{"_index":771,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["file_subpath",{"_index":773,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["files",{"_index":1733,"title":{},"body":{"license.html":{}}}],["filter",{"_index":128,"title":{"interfaces/Filter.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["filter(s",{"_index":736,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.debug",{"_index":691,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex",{"_index":682,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex?.tolowercase",{"_index":723,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filterbyage",{"_index":1494,"title":{},"body":{"coverage.html":{}}}],["filterbybmi",{"_index":1495,"title":{},"body":{"coverage.html":{}}}],["filterbycelltypeterms",{"_index":1496,"title":{},"body":{"coverage.html":{}}}],["filterbygroupname",{"_index":1497,"title":{},"body":{"coverage.html":{}}}],["filterbyhasspatialentity",{"_index":1498,"title":{},"body":{"coverage.html":{}}}],["filterbyontologyterms",{"_index":1499,"title":{},"body":{"coverage.html":{}}}],["filterbyprobingsphere",{"_index":1516,"title":{},"body":{"coverage.html":{}}}],["filterbysex",{"_index":1500,"title":{},"body":{"coverage.html":{}}}],["filterbyspatialsearches",{"_index":1501,"title":{},"body":{"coverage.html":{}}}],["filterbytechnology",{"_index":1502,"title":{},"body":{"coverage.html":{}}}],["filters",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["filterwithdataset",{"_index":1503,"title":{},"body":{"coverage.html":{}}}],["filterwithdonor",{"_index":1504,"title":{},"body":{"coverage.html":{}}}],["filterwithspatialentity",{"_index":1505,"title":{},"body":{"coverage.html":{}}}],["final",{"_index":1302,"title":{},"body":{"changelog.html":{}}}],["finally",{"_index":473,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["findids",{"_index":218,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["findids(this.store",{"_index":374,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["finishing",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":777,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["firstresult",{"_index":892,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits",{"_index":901,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.hits.concat(...items",{"_index":902,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.total.value",{"_index":897,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["fit",{"_index":1224,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1761,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1364,"title":{},"body":{"changelog.html":{}}}],["flatspatialplacement",{"_index":232,"title":{"interfaces/FlatSpatialPlacement.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["flexible",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["florida",{"_index":2122,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fly",{"_index":1449,"title":{},"body":{"changelog.html":{}}}],["fma",{"_index":1548,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["fma.x('24977",{"_index":2006,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('24978",{"_index":2004,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('54449",{"_index":1992,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7213",{"_index":2018,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7214",{"_index":2016,"title":{},"body":{"miscellaneous/variables.html":{}}}],["following",{"_index":1750,"title":{},"body":{"license.html":{}}}],["form",{"_index":423,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["format",{"_index":180,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["frame",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":930,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["free",{"_index":1728,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1633,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1396,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":1217,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":509,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["functions.ts",{"_index":1536,"title":{},"body":{"coverage.html":{}}}],["funded",{"_index":1716,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1748,"title":{},"body":{"license.html":{}}}],["further",{"_index":1392,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":1207,"title":{},"body":{"changelog.html":{}}}],["g",{"_index":1980,"title":{},"body":{"miscellaneous/variables.html":{}}}],["general",{"_index":2142,"title":{},"body":{"miscellaneous/variables.html":{}}}],["generally",{"_index":89,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["generate",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["geometry",{"_index":665,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["get(ccfdatabasekey).catch",{"_index":302,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(id",{"_index":377,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(lastmodifiedkey).catch",{"_index":295,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(source",{"_index":572,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getaggregateresults",{"_index":214,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getaggregateresults(filter",{"_index":407,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getaggregateresults(this.getids(filter",{"_index":408,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getallentities",{"_index":1506,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructuremapping",{"_index":1508,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructures",{"_index":617,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getanatomicalstructures(iri",{"_index":629,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructures(this.db.store",{"_index":679,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructuretreemodel",{"_index":226,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["getanatomicalstructuretreemodel(this.store",{"_index":417,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getanatomicalstructuretreemodelslowly",{"_index":1510,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody",{"_index":1473,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody(0",{"_index":891,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchbody(from",{"_index":871,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchheaders",{"_index":1474,"title":{},"body":{"coverage.html":{}}}],["getapisearchheaders(token",{"_index":865,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getcelltypetermoccurences",{"_index":221,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetermoccurences(filter",{"_index":414,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetermoccurences(this.getids(filter",{"_index":415,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetreemodel",{"_index":227,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetreemodel(this.store",{"_index":418,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatabasestatus",{"_index":397,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatasetresult",{"_index":1521,"title":{},"body":{"coverage.html":{}}}],["getdatasettechnologynames",{"_index":215,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getdatasettechnologynames(this.store",{"_index":403,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdonorresult",{"_index":1522,"title":{},"body":{"coverage.html":{}}}],["getentityscenenodes",{"_index":618,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getentityscenenodes(filter",{"_index":631,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getentries",{"_index":1537,"title":{},"body":{"coverage.html":{}}}],["getextractionset",{"_index":619,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionset(iri",{"_index":634,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionset(this.db.store",{"_index":678,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets",{"_index":620,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionsets(iri",{"_index":637,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets(this.db.store",{"_index":677,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getids(filter",{"_index":373,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getmappedresult",{"_index":1538,"title":{},"body":{"coverage.html":{}}}],["getobjects",{"_index":1491,"title":{},"body":{"coverage.html":{}}}],["getontologytermoccurences",{"_index":222,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytermoccurences(filter",{"_index":411,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytermoccurences(this.getids(filter",{"_index":412,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytreemodel",{"_index":416,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytreenode",{"_index":1511,"title":{},"body":{"coverage.html":{}}}],["getorientedboundingbox",{"_index":1517,"title":{},"body":{"coverage.html":{}}}],["getoriginscene",{"_index":1540,"title":{},"body":{"coverage.html":{}}}],["getprobingspherescene",{"_index":1554,"title":{},"body":{"coverage.html":{}}}],["getprovidernames",{"_index":216,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getprovidernames(this.store",{"_index":404,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getreferencebody",{"_index":621,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencebody(filter",{"_index":639,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgans",{"_index":421,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getreferenceorgans(this.db.store",{"_index":680,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorganscene",{"_index":622,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorganscene(organiri",{"_index":431,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgansets",{"_index":623,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorgansets(filter",{"_index":643,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferencescenenodes",{"_index":624,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencescenenodes(filter",{"_index":645,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["gets",{"_index":372,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getscene",{"_index":625,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscene(filter",{"_index":427,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getscenenode",{"_index":626,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscenenode(source",{"_index":648,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentities(filter",{"_index":386,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentity",{"_index":627,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getspatialentity(iri",{"_index":652,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentity(this.db.store",{"_index":676,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentitydimensions",{"_index":1518,"title":{},"body":{"coverage.html":{}}}],["getspatialentityforentity",{"_index":228,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getspatialentityforentity(this.store",{"_index":395,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentitymapping",{"_index":1509,"title":{},"body":{"coverage.html":{}}}],["getspatialobjectreference",{"_index":1513,"title":{},"body":{"coverage.html":{}}}],["getspatialplacement",{"_index":478,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["getspatialplacement(source",{"_index":433,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["getspatialplacement(store",{"_index":569,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getting",{"_index":926,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresult",{"_index":230,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["gettissueblockresult(this.store",{"_index":406,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissueblockresults(filter",{"_index":405,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissuesectionresult",{"_index":1523,"title":{},"body":{"coverage.html":{}}}],["gettransformationmatrix",{"_index":479,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["gettransformationmatrix(sourceiri",{"_index":489,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["github",{"_index":1290,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["gold",{"_index":1555,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["good",{"_index":1336,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":1154,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1727,"title":{},"body":{"license.html":{}}}],["graph",{"_index":208,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["graph.ts",{"_index":474,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["graph.ts:110",{"_index":488,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:41",{"_index":481,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:47",{"_index":487,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:74",{"_index":486,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:78",{"_index":484,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:82",{"_index":490,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graphical",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":498,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["gray",{"_index":1542,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["greatly",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["green",{"_index":1543,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["group_name",{"_index":839,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid",{"_index":838,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid_mapping",{"_index":1480,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["gtex",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1327,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":1332,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1371,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1310,"title":{},"body":{"changelog.html":{}}}],["has3dobject",{"_index":737,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["has_cell_type_term",{"_index":2110,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_dataset",{"_index":2105,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_donor",{"_index":2103,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_ontology_term",{"_index":2109,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_spatial_entity",{"_index":2108,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_thumbnail",{"_index":2111,"title":{},"body":{"miscellaneous/variables.html":{}}}],["has_tissue_section",{"_index":2104,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hassexfilter",{"_index":722,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["hasspatialentity",{"_index":394,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hbm",{"_index":2128,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739",{"_index":2185,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739_ufl0006",{"_index":2186,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263",{"_index":2222,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263_ufl0008",{"_index":2223,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223",{"_index":2214,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223_ufl0003",{"_index":2215,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985",{"_index":2174,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985_ufl0005",{"_index":2175,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867",{"_index":2230,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867_ufl0003",{"_index":2231,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627",{"_index":2160,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627_ufl0008",{"_index":2161,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546",{"_index":2226,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546_ufl0003",{"_index":2227,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542",{"_index":2169,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542_ufl0006",{"_index":2170,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654",{"_index":2188,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654_ufl0003",{"_index":2189,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663",{"_index":2172,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663_ufl0006",{"_index":2173,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624",{"_index":2179,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624_ufl0005",{"_index":2180,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564",{"_index":2234,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564_ufl0001",{"_index":2235,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739",{"_index":2202,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739_ufl0003",{"_index":2203,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578",{"_index":2208,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578_ufl0009",{"_index":2209,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244",{"_index":2237,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244_ufl0004",{"_index":2238,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778",{"_index":2198,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778_ufl0007",{"_index":2199,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424",{"_index":2181,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424_ufl0006",{"_index":2182,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866",{"_index":2163,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866_ufl0004",{"_index":2164,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677",{"_index":2165,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677_ufl0001",{"_index":2166,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458",{"_index":2200,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458_ufl0009",{"_index":2201,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629",{"_index":2151,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629_ufl0002",{"_index":2152,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548",{"_index":2155,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548_ufl0006",{"_index":2156,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234",{"_index":2218,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234_ufl0003",{"_index":2219,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996",{"_index":2167,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996_ufl0008",{"_index":2168,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423",{"_index":2192,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423_ufl0008",{"_index":2193,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737",{"_index":2239,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737_ufl0006",{"_index":2240,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674",{"_index":2205,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674_ufl0003",{"_index":2206,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966",{"_index":2216,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966_ufl0007",{"_index":2217,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496",{"_index":2183,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496_ufl0001",{"_index":2184,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684",{"_index":2157,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684_ufl0008",{"_index":2158,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794",{"_index":2220,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794_ufl0008",{"_index":2221,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358",{"_index":2195,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358_ufl0006",{"_index":2196,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856",{"_index":2228,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856_ufl0007",{"_index":2229,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535",{"_index":2176,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535_ufl0009",{"_index":2177,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782",{"_index":2232,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782_ufl0008",{"_index":2233,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788",{"_index":2212,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788_ufl0006",{"_index":2213,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675",{"_index":2190,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675_ufl0008",{"_index":2191,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368",{"_index":2210,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368_ufl0002",{"_index":2211,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383",{"_index":2224,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383_ufl0006",{"_index":2225,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm_prefix",{"_index":1481,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["headers",{"_index":866,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('authorization",{"_index":869,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('content",{"_index":867,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["heart",{"_index":1997,"title":{},"body":{"miscellaneous/variables.html":{}}}],["helmet",{"_index":1638,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1326,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":1875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["here",{"_index":1330,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1726,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1640,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1417,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["hits",{"_index":827,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["holders",{"_index":1767,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1261,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["http://purl.obolibrary.org/obo",{"_index":1918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/cl_",{"_index":1920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/fma_",{"_index":1916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/lmha_",{"_index":1921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_",{"_index":1919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002097",{"_index":703,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["http://purl.org/ccf/1.5/${uuidv4()}_placement",{"_index":588,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["http://purl.org/ccf/latest/ccf",{"_index":1914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl",{"_index":1913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/dc/elements/1.1",{"_index":1927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/1999/02/22",{"_index":1922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/2000/01/rdf",{"_index":1925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://assets.hubmapconsortium.org",{"_index":251,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1686,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1698,"title":{},"body":{"index.html":{}}}],["https://entity.api.hubmapconsortium.org/entities",{"_index":2150,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://hubmap",{"_index":1691,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1690,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":586,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["https://old",{"_index":1693,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org",{"_index":250,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1688,"title":{},"body":{"index.html":{}}}],["https://purl.org/ccf/latest/ccf",{"_index":248,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://purl.org/ccf/latest/ccf.owl",{"_index":247,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1445,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":181,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmap/hubmap",{"_index":213,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapassetsurl",{"_index":167,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdata",{"_index":917,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmapdataservice",{"_index":168,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdataurl",{"_index":169,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapportalurl",{"_index":170,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapquery",{"_index":171,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapresponseasjsonld",{"_index":828,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["hubmapresponseasjsonld(hubmapdata",{"_index":920,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmaptissueblock",{"_index":1475,"title":{},"body":{"coverage.html":{}}}],["hubmaptoken",{"_index":172,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["human",{"_index":42,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["icon",{"_index":1428,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":49,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["id/iri",{"_index":156,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["idb",{"_index":192,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["identifier",{"_index":48,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["identity",{"_index":559,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ids",{"_index":220,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["iec",{"_index":1305,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1298,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1350,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1259,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1400,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1758,"title":{},"body":{"license.html":{}}}],["import",{"_index":189,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["import.ts",{"_index":826,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["improve",{"_index":1252,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["ims_negmode_multilayer_thumbnail.jpg",{"_index":2064,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ims_posmode_multilayer_thumbnail.jpg",{"_index":2065,"title":{},"body":{"miscellaneous/variables.html":{}}}],["include",{"_index":136,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["included",{"_index":1753,"title":{},"body":{"license.html":{}}}],["included_data_fields",{"_index":836,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["includes",{"_index":878,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["including",{"_index":831,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"license.html":{}}}],["increase",{"_index":1283,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1394,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":12,"title":{"index.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indiana",{"_index":1714,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1264,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":139,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1353,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1314,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":881,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["initial",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["initialization",{"_index":163,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["initialize",{"_index":271,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initialized",{"_index":256,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initializing",{"_index":258,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["inputstore",{"_index":341,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["instance",{"_index":157,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["instead",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1313,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1375,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1442,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1297,"title":{},"body":{"changelog.html":{}}}],["iri",{"_index":123,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["iris",{"_index":786,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["isdefinedby",{"_index":1936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["isskin",{"_index":701,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["issue",{"_index":1279,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":96,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["items",{"_index":898,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["iu",{"_index":1414,"title":{},"body":{"changelog.html":{}}}],["javascript",{"_index":1013,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":56,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["json.stringify(bodyobj",{"_index":879,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["jsondict",{"_index":1788,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["jsonld",{"_index":174,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{}}}],["jsonld/jsonld",{"_index":194,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["july",{"_index":1374,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1423,"title":{},"body":{"changelog.html":{}}}],["key",{"_index":912,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["keyboard",{"_index":1421,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":193,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["kidney",{"_index":1090,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney_left",{"_index":1999,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kidney_right",{"_index":2001,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":1757,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_left",{"_index":2003,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_right",{"_index":2005,"title":{},"body":{"miscellaneous/variables.html":{}}}],["known",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":1307,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":15,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":149,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["labs/data",{"_index":1594,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1596,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["large_intestine",{"_index":2007,"title":{},"body":{"miscellaneous/variables.html":{}}}],["larger",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":779,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["last_modified_timestamp",{"_index":840,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["lastmodified",{"_index":294,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey",{"_index":291,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey]).catch",{"_index":301,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["latest",{"_index":959,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1580,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":57,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["leak",{"_index":1278,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":793,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["left/right",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["left_bronchus",{"_index":1950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["left_lung",{"_index":1946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["level",{"_index":1419,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1439,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1771,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1768,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":1010,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1244,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1720,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1736,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1358,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":390,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["link",{"_index":52,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["linkage",{"_index":1376,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":1044,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":46,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["listresultitem",{"_index":47,"title":{"interfaces/ListResultItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["listresultset",{"_index":1526,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["lists",{"_index":798,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["literal",{"_index":823,"title":{},"body":{"interfaces/OntologyTreeModel.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["little",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["live",{"_index":909,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["liver",{"_index":2009,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lk",{"_index":2060,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lmha",{"_index":1549,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":40,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["loaded",{"_index":275,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":1584,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1586,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1587,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":28,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["loadtime",{"_index":41,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["locate",{"_index":322,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["located_in",{"_index":1814,"title":{},"body":{"miscellaneous/variables.html":{}}}],["location",{"_index":1284,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":241,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["locations.ts",{"_index":1534,"title":{},"body":{"coverage.html":{}}}],["lodash",{"_index":502,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["log",{"_index":1707,"title":{},"body":{"index.html":{}}}],["logging",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["long",{"_index":30,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["longer",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1250,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":1646,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1588,"title":{},"body":{"dependencies.html":{}}}],["lungs",{"_index":2011,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly01",{"_index":2187,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly02",{"_index":2178,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly03",{"_index":2197,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly06",{"_index":2204,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly07",{"_index":2159,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly09",{"_index":2162,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly10",{"_index":2194,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lymph_node",{"_index":1975,"title":{},"body":{"miscellaneous/variables.html":{}}}],["made",{"_index":814,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["main",{"_index":1461,"title":{},"body":{"coverage.html":{}}}],["major",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":100,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["male_reproductive_system",{"_index":1973,"title":{},"body":{"miscellaneous/variables.html":{}}}],["maleorgans",{"_index":1824,"title":{},"body":{"miscellaneous/variables.html":{}}}],["managers",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["map((entity",{"_index":731,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mapping",{"_index":155,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["mappings",{"_index":1515,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["march",{"_index":1247,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1653,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":1249,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":158,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":496,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":1591,"title":{},"body":{"dependencies.html":{}}}],["matrix",{"_index":574,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.getscale().map(n",{"_index":584,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.gettranslation().map(n",{"_index":581,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4",{"_index":492,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["matrix4(matrix4.identity",{"_index":558,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4(matrix4.identity).rotatex(toradians(90)).multiplyleft(transform",{"_index":745,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mc",{"_index":1413,"title":{},"body":{"changelog.html":{}}}],["memoize(getanatomicalstructuretreemodelslowly",{"_index":2241,"title":{},"body":{"miscellaneous/variables.html":{}}}],["memory",{"_index":1277,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1333,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1760,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1739,"title":{},"body":{"license.html":{}}}],["mesenteric_lymph_node",{"_index":2013,"title":{},"body":{"miscellaneous/variables.html":{}}}],["message",{"_index":45,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["metadata",{"_index":1385,"title":{},"body":{"changelog.html":{}}}],["meter",{"_index":522,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["method",{"_index":894,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["methods",{"_index":440,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["millimeter",{"_index":521,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["millimeters",{"_index":90,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["milliseconds",{"_index":32,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["minor",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1783,"title":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1721,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1409,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":152,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["modify",{"_index":1738,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1780,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1676,"title":{},"body":{"index.html":{}}}],["more",{"_index":832,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["moved",{"_index":1430,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1677,"title":{},"body":{"index.html":{}}}],["mxif_cyc1_registered_thumbnail.jpg",{"_index":2068,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc2_registered_thumbnail.jpg",{"_index":2069,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc3_registered_thumbnail.jpg",{"_index":2070,"title":{},"body":{"miscellaneous/variables.html":{}}}],["n",{"_index":582,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["n3",{"_index":176,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["n3.ts",{"_index":1490,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["name",{"_index":59,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["names",{"_index":401,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["nanometers",{"_index":801,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["navigation",{"_index":1422,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1254,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1260,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1711,"title":{},"body":{"index.html":{}}}],["new",{"_index":263,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":389,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["ng5",{"_index":1648,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1651,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1593,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1599,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1602,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1603,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1717,"title":{},"body":{"index.html":{}}}],["node",{"_index":142,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["nodeattrs",{"_index":649,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes",{"_index":146,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["nodes.concat",{"_index":714,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes.filter(s",{"_index":721,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["non",{"_index":73,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["noninfringement",{"_index":1764,"title":{},"body":{"license.html":{}}}],["nonstandard",{"_index":1898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["note",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["notice",{"_index":1280,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["ns",{"_index":1924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["null",{"_index":379,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["number",{"_index":18,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["numeric",{"_index":1285,"title":{},"body":{"changelog.html":{}}}],["o",{"_index":693,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.id.split('/').slice",{"_index":1982,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.name.tolowercase().replace",{"_index":1978,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.representation_of",{"_index":725,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.sex",{"_index":726,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["object",{"_index":375,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["objects",{"_index":380,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["obo",{"_index":1917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":1731,"title":{},"body":{"license.html":{}}}],["occurences",{"_index":225,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["occurrences",{"_index":409,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["off/on",{"_index":1257,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1373,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1692,"title":{},"body":{"index.html":{}}}],["one",{"_index":1320,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":1382,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":1448,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1325,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":104,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["ontology/ccf",{"_index":587,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ontologynode",{"_index":1805,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ontologyterms",{"_index":106,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["ontologytreemodel",{"_index":153,"title":{"interfaces/OntologyTreeModel.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["ontologytreenode",{"_index":143,"title":{"interfaces/OntologyTreeNode.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["opacities",{"_index":1263,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":672,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["openapi",{"_index":1054,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1703,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1705,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1704,"title":{},"body":{"index.html":{}}}],["ops",{"_index":310,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(searchhubmap",{"_index":329,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(this.adddatasources(sources",{"_index":337,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["optimization",{"_index":1199,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1365,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":137,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["options",{"_index":124,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["order",{"_index":820,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ordering",{"_index":797,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["organ",{"_index":429,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{}}}],["organ.representation_of",{"_index":702,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organiri",{"_index":430,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode",{"_index":729,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode].concat(scene).filter(n",{"_index":734,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs",{"_index":420,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["organs.length",{"_index":727,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs/anatomical",{"_index":1265,"title":{},"body":{"changelog.html":{}}}],["organs[0",{"_index":728,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset",{"_index":687,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.filter(s",{"_index":689,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.map(o",{"_index":692,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["orthographic",{"_index":1147,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1719,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1776,"title":{},"body":{"license.html":{}}}],["out",{"_index":803,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"license.html":{}}}],["ovary",{"_index":1963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_left",{"_index":2015,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_right",{"_index":2017,"title":{},"body":{"miscellaneous/variables.html":{}}}],["over",{"_index":1292,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1440,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1781,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owl",{"_index":179,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["p",{"_index":512,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"changelog.html":{}}}],["p.translation_units",{"_index":515,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_rotation",{"_index":528,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_scaling",{"_index":531,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_translation",{"_index":524,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_rotation",{"_index":529,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_scaling",{"_index":532,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_translation",{"_index":525,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_rotation].map(toradians",{"_index":530,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_scaling",{"_index":533,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_translation].map(t",{"_index":526,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["package",{"_index":1016,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["pancreas",{"_index":2019,"title":{},"body":{"miscellaneous/variables.html":{}}}],["pane",{"_index":1225,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":260,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["parameters",{"_index":447,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["parent",{"_index":77,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["parser",{"_index":1611,"title":{},"body":{"dependencies.html":{}}}],["part_of",{"_index":1811,"title":{},"body":{"miscellaneous/variables.html":{}}}],["partial",{"_index":650,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["particular",{"_index":1762,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1246,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["pas_registered_thumbnail.jpg",{"_index":2066,"title":{},"body":{"miscellaneous/variables.html":{}}}],["passthrough",{"_index":353,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["path",{"_index":563,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["path.length",{"_index":565,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path.reverse",{"_index":566,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path/unweighted",{"_index":501,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["pbr",{"_index":709,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["pelvis",{"_index":2021,"title":{},"body":{"miscellaneous/variables.html":{}}}],["per_api_search_request_count",{"_index":834,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["performance",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1725,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1746,"title":{},"body":{"license.html":{}}}],["perreqcount",{"_index":890,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["person",{"_index":1730,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1747,"title":{},"body":{"license.html":{}}}],["placeholder",{"_index":1377,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":511,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["placement[0",{"_index":573,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placement_date",{"_index":589,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["placementid",{"_index":567,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placements",{"_index":547,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placenta",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1574,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1600,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["point",{"_index":916,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["popup",{"_index":1384,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":186,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1357,"title":{},"body":{"changelog.html":{}}}],["portalurl",{"_index":915,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["portions",{"_index":1755,"title":{},"body":{"license.html":{}}}],["position",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":1308,"title":{},"body":{"changelog.html":{}}}],["post",{"_index":895,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["preferences",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["prefix",{"_index":1912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer",{"_index":1550,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["prefixer('ccf",{"_index":1874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl",{"_index":1876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl')('0000000",{"_index":1877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('dc')('creator",{"_index":1834,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity",{"_index":1878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('age",{"_index":1882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('bmi",{"_index":1883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('consortium_name",{"_index":1887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_cell_type_term",{"_index":1906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_dataset",{"_index":1893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_donor",{"_index":1891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_ontology_term",{"_index":1905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_spatial_entity",{"_index":1904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_thumbnail",{"_index":1908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('has_tissue_section",{"_index":1892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('id",{"_index":1879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('provider_name",{"_index":1888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('provider_uuid",{"_index":1890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('sample_type",{"_index":1894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_count",{"_index":1900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_number",{"_index":1903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_size",{"_index":1901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('section_units",{"_index":1902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('sex",{"_index":1881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('entity')('technology",{"_index":1907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('fma",{"_index":1909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('lmha",{"_index":1910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf",{"_index":1931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf')('type",{"_index":1932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs",{"_index":1933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('comment",{"_index":1935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('isdefinedby",{"_index":1937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('label",{"_index":1934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('seealso",{"_index":1939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon",{"_index":2041,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon')('0013702",{"_index":2042,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixes",{"_index":1551,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["preparation",{"_index":1415,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1438,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1270,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["priority",{"_index":675,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["private",{"_index":257,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["probing",{"_index":113,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["process",{"_index":1399,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1348,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":1031,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1404,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1678,"title":{},"body":{"index.html":{}}}],["projects/.../ccf",{"_index":1790,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../hubmap",{"_index":1789,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../ontology",{"_index":1794,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../origin",{"_index":1786,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../prefixes.ts",{"_index":1792,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../probing",{"_index":1787,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../spatial",{"_index":1795,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tissue",{"_index":1793,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":259,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["promise(r",{"_index":362,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all",{"_index":342,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all(ops",{"_index":338,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["properties",{"_index":13,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["property",{"_index":2049,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prostate_gland",{"_index":2023,"title":{},"body":{"miscellaneous/variables.html":{}}}],["provided",{"_index":315,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"license.html":{}}}],["provider",{"_index":58,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["providername",{"_index":60,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["provideruuid",{"_index":1889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["public",{"_index":439,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["publish",{"_index":1740,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1763,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":1011,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1657,"title":{},"body":{"dependencies.html":{}}}],["quad",{"_index":201,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["quad.object.id",{"_index":553,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["qualitative",{"_index":1361,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["queried",{"_index":21,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["queries",{"_index":127,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["queries/aggregate",{"_index":217,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/find",{"_index":219,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/ontology",{"_index":223,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/spatial",{"_index":229,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["queries/tissue",{"_index":231,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["query",{"_index":10,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["querying",{"_index":908,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["quickly",{"_index":1341,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":527,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r.text",{"_index":320,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["r[0",{"_index":600,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[1",{"_index":602,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[2",{"_index":604,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["radius",{"_index":122,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["range",{"_index":130,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["ranking",{"_index":796,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ratio",{"_index":598,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rc.1",{"_index":1367,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":177,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["rdf.type",{"_index":544,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rdfjs",{"_index":1576,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1605,"title":{},"body":{"dependencies.html":{}}}],["rdfs",{"_index":144,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rdfs.comment",{"_index":1833,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs.label",{"_index":1832,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs.seealso",{"_index":1880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:comment",{"_index":2100,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:label",{"_index":2099,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:seealso",{"_index":2101,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfxml",{"_index":1659,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":43,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["readquads",{"_index":503,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["readquads(store",{"_index":550,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ready",{"_index":27,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["real",{"_index":1381,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":549,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"miscellaneous/typealiases.html":{}}}],["rectify",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["red",{"_index":1544,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["reduce",{"_index":830,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["reduce((acc",{"_index":695,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["reduction",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":419,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SpatialObjectReference.html":{},"changelog.html":{}}}],["reference_organ",{"_index":663,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["references",{"_index":540,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["refernced",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1441,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1625,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":1079,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":1239,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":118,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["release",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1282,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":1238,"title":{},"body":{"changelog.html":{}}}],["replace",{"_index":1979,"title":{},"body":{"miscellaneous/variables.html":{}}}],["repository",{"_index":1675,"title":{},"body":{"index.html":{}}}],["representation_of",{"_index":662,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["representative",{"_index":66,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["represents",{"_index":774,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["requested",{"_index":376,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["requestinit",{"_index":882,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["required",{"_index":1329,"title":{},"body":{"changelog.html":{}}}],["res",{"_index":884,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res!.hits.hits",{"_index":900,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.json",{"_index":887,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.ok",{"_index":886,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["resets",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["resolving",{"_index":273,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["respiratory_system",{"_index":1942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["respond",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":355,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["restriction",{"_index":1735,"title":{},"body":{"license.html":{}}}],["result",{"_index":11,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":159,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results.map(res",{"_index":899,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["return",{"_index":285,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["returns",{"_index":272,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{}}}],["reverse",{"_index":2102,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping",{"_index":1514,"title":{},"body":{"coverage.html":{}}}],["reversemapping(ccf.spatialentity",{"_index":2243,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialobjectreference",{"_index":2242,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialplacement",{"_index":2244,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rgb",{"_index":1641,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":794,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["right_bronchus",{"_index":1952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["right_lung",{"_index":1948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rights",{"_index":1737,"title":{},"body":{"license.html":{}}}],["rk",{"_index":2072,"title":{},"body":{"miscellaneous/variables.html":{}}}],["root",{"_index":154,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["rotates",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":817,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["rotation_order",{"_index":605,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotation_units",{"_index":607,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotations",{"_index":821,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["round",{"_index":1268,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1286,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["rti",{"_index":2141,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ru/common",{"_index":1558,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":240,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["rui_location",{"_index":94,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["rui_locations.jsonld",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["rui_rank",{"_index":799,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rxjs",{"_index":1663,"title":{},"body":{"dependencies.html":{}}}],["s",{"_index":396,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s.sex",{"_index":690,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s[0",{"_index":592,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[1",{"_index":594,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[2",{"_index":596,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sample",{"_index":71,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["samples",{"_index":1205,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["sampletype",{"_index":72,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["saved",{"_index":907,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["saver",{"_index":1631,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1405,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":746,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scaling",{"_index":815,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["scaling_units",{"_index":597,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["scene",{"_index":211,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["scene.ts",{"_index":616,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["scene.ts:130",{"_index":642,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:149",{"_index":632,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:156",{"_index":651,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:198",{"_index":647,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:38",{"_index":628,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:42",{"_index":653,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:45",{"_index":638,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:48",{"_index":635,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:51",{"_index":630,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:54",{"_index":641,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:58",{"_index":640,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:75",{"_index":644,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:95",{"_index":646,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scenegraph",{"_index":667,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenegraphnode",{"_index":668,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenenode",{"_index":704,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenes",{"_index":255,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["scheduled",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1407,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["schemes",{"_index":1362,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1712,"title":{},"body":{"index.html":{}}}],["script_fields",{"_index":875,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["search",{"_index":111,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search(filter",{"_index":382,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["searchableitem",{"_index":98,"title":{"interfaces/SearchableItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["searched",{"_index":97,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["searches",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["searchhubmap",{"_index":212,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["searchhubmap(dataurl",{"_index":924,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["searchresultjson",{"_index":824,"title":{"interfaces/SearchResultJson.html":{}},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["section",{"_index":69,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sectioncount",{"_index":84,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionnumber",{"_index":79,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sections",{"_index":76,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionsize",{"_index":87,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionunits",{"_index":91,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["see",{"_index":971,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["seealso",{"_index":1938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["select",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":1424,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1744,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1437,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["sequence",{"_index":75,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["serialize",{"_index":367,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serialized",{"_index":314,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializeddb",{"_index":297,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store",{"_index":202,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store(this.store",{"_index":368,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["server",{"_index":1410,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":185,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["servicetoken",{"_index":911,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["servicetype",{"_index":905,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["set",{"_index":107,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["set(['van0003",{"_index":2059,"title":{},"body":{"miscellaneous/variables.html":{}}}],["setmany",{"_index":191,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settimeout(r",{"_index":363,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settle",{"_index":361,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["setup",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":99,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":1319,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1752,"title":{},"body":{"license.html":{}}}],["shared",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":500,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["shortestpath",{"_index":499,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["shortestpath(this.graph",{"_index":564,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["show",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1347,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1356,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":795,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sides",{"_index":1321,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":769,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["sizable",{"_index":1281,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":85,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["skin",{"_index":2025,"title":{},"body":{"miscellaneous/variables.html":{}}}],["skinnodes",{"_index":699,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.length",{"_index":711,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.push(scenenode",{"_index":710,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["slice_count",{"_index":805,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slice_thickness",{"_index":804,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slices",{"_index":802,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["slider",{"_index":1649,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":358,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["small_intestine",{"_index":2027,"title":{},"body":{"miscellaneous/variables.html":{}}}],["software",{"_index":1680,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":1276,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1338,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["source.ccf_annotations",{"_index":758,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.dimension_units",{"_index":750,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.endswith('jsonld",{"_index":345,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('n3",{"_index":347,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('owl",{"_index":350,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('rdf",{"_index":349,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('xml",{"_index":351,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.entityid",{"_index":757,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.label",{"_index":763,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object",{"_index":740,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file",{"_index":761,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file_subpath",{"_index":762,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object['@id",{"_index":741,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.reference_organ",{"_index":760,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.representation_of",{"_index":759,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.x_dimension",{"_index":751,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.y_dimension",{"_index":752,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.z_dimension].map(dim",{"_index":753,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source?.object?.file_format?.startswith('model/gltf",{"_index":738,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source['@id",{"_index":571,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceid",{"_index":739,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceiri",{"_index":491,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sources",{"_index":175,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["sources.map(async",{"_index":343,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(ccfowlurl",{"_index":325,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(this.options.hubmapdataurl",{"_index":328,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sp",{"_index":2153,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sparc",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":967,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":92,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":233,"title":{"interfaces/SpatialEntity.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentitydimensions",{"_index":1519,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentityid",{"_index":95,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["spatialobjectreference",{"_index":543,"title":{"interfaces/SpatialObjectReference.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacement",{"_index":507,"title":{"interfaces/SpatialPlacement.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacementcommon",{"_index":813,"title":{"interfaces/SpatialPlacementCommon.html":{}},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["spatialscenegeometry",{"_index":654,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spatialscenenode",{"_index":210,"title":{"interfaces/SpatialSceneNode.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["spatialsearch",{"_index":115,"title":{"interfaces/SpatialSearch.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["spatialsearches",{"_index":135,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["spec",{"_index":195,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1701,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1065,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["specification",{"_index":110,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"index.html":{}}}],["specifies",{"_index":788,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["specimen_type",{"_index":862,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":114,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spinal",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1408,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":2029,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sprint",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":1258,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":1032,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["staging.herokuapp.com",{"_index":1700,"title":{},"body":{"index.html":{}}}],["standalone",{"_index":1272,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":74,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["standards",{"_index":1412,"title":{},"body":{"changelog.html":{}}}],["stanford",{"_index":2135,"title":{},"body":{"miscellaneous/variables.html":{}}}],["star2",{"_index":1684,"title":{},"body":{"index.html":{}}}],["start",{"_index":289,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["started",{"_index":927,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1456,"title":{},"body":{"changelog.html":{}}}],["starttime",{"_index":459,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["startup",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":1458,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":184,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["statically",{"_index":906,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["status",{"_index":25,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["stay",{"_index":1454,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":203,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["store(undefined",{"_index":264,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["store.forsubjects((subject",{"_index":541,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["stored_fields",{"_index":874,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["storestring",{"_index":318,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["stories",{"_index":1402,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":1661,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1660,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":16,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["string|jsonld",{"_index":242,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["structure",{"_index":790,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["structures",{"_index":696,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["styles",{"_index":1433,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1749,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1742,"title":{},"body":{"license.html":{}}}],["subpath",{"_index":772,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["substantial",{"_index":1754,"title":{},"body":{"license.html":{}}}],["successfully",{"_index":470,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["support",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1666,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":514,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["switched",{"_index":1289,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["synchronize",{"_index":356,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["synonym",{"_index":148,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["synonymlabels",{"_index":150,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["syntax",{"_index":1923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["t",{"_index":523,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[0",{"_index":610,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[1",{"_index":612,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[2",{"_index":614,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["table",{"_index":1557,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1556,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1323,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["taken",{"_index":39,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["target",{"_index":119,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["target['@id",{"_index":744,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["targetiri",{"_index":434,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["technologies",{"_index":134,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["technology",{"_index":63,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["telemetry",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["term",{"_index":224,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["terms",{"_index":105,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["test",{"_index":1388,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":1328,"title":{},"body":{"changelog.html":{}}}],["testinggroup",{"_index":2129,"title":{},"body":{"miscellaneous/variables.html":{}}}],["text",{"_index":657,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["th",{"_index":2171,"title":{},"body":{"miscellaneous/variables.html":{}}}],["theme",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["then((jsonld",{"_index":335,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["then(async",{"_index":462,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["thickness",{"_index":800,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["this.adddatasources([jsonld",{"_index":336,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.addedge(quad.subject.id",{"_index":555,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.addnode(subject.id",{"_index":542,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.cachedconnect",{"_index":282,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.connect",{"_index":453,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.creategraph",{"_index":538,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.database.connect",{"_index":461,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getaggregateresults",{"_index":469,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getscene",{"_index":466,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.gettissueblockresults",{"_index":467,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.db.getspatialentities(filter",{"_index":730,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.getspatialentities(filter).map((entity",{"_index":735,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.graph.gettransformationmatrix(sourceid",{"_index":743,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.store",{"_index":539,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.deserialize(serializeddb",{"_index":303,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.doconnect",{"_index":283,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.get(s",{"_index":384,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getanatomicalstructures(o['@id",{"_index":694,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getentityscenenodes(filter",{"_index":765,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getids(filter)].map((s",{"_index":383,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getreferencebody(filter",{"_index":698,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans",{"_index":688,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans().filter((o",{"_index":724,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgansets(filter).map((organ",{"_index":700,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferencescenenodes(filter",{"_index":764,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(entity",{"_index":732,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(organ",{"_index":705,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhleftkidney').id",{"_index":717,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhrightkidney').id",{"_index":715,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhspleencc1').id",{"_index":718,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhspleencc2').id",{"_index":719,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.x('vhspleencc3').id",{"_index":720,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getspatialentity(bodyid",{"_index":686,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.gettransformationmatrix(placement.target",{"_index":576,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.gettransformationmatrix(sourceiri",{"_index":578,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph",{"_index":266,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["this.graph.creategraph",{"_index":365,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.getedgeattribute(source",{"_index":568,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.getspatialplacement(source",{"_index":435,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.hasnode(placement.target",{"_index":575,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(source['@id",{"_index":570,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(sourceiri",{"_index":560,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(targetiri",{"_index":561,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergedirectededge(source",{"_index":557,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergenode(id",{"_index":556,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.initializing",{"_index":281,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.loadtime",{"_index":458,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.message",{"_index":454,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.options",{"_index":280,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.ccfowlurl",{"_index":312,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.datasources?.concat",{"_index":311,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapassetsurl",{"_index":333,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataservice",{"_index":330,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl",{"_index":326,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl.endswith('jsonld",{"_index":327,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapportalurl",{"_index":334,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapquery",{"_index":331,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmaptoken",{"_index":332,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene",{"_index":268,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorgans",{"_index":422,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorganscene(organiri",{"_index":432,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getscene(filter",{"_index":428,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.serialize",{"_index":304,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.status",{"_index":398,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["this.status.tojson",{"_index":400,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store",{"_index":262,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.getquads(datafactory.namednode(id",{"_index":378,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.size",{"_index":286,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.synchronize",{"_index":339,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["through",{"_index":1340,"title":{},"body":{"changelog.html":{}}}],["thumbnail",{"_index":67,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["thumbnails",{"_index":1233,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":2031,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tied",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1349,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":38,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["timeouts",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":68,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["tissueblock",{"_index":1895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissueblockresult",{"_index":82,"title":{"interfaces/TissueBlockResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissueblockresultset",{"_index":1527,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tissues",{"_index":426,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["tissuesection",{"_index":1897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissuesectionresult",{"_index":70,"title":{"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissuesectionresultset",{"_index":1528,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tmc",{"_index":133,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["todegrees",{"_index":494,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["toggle",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["tojson",{"_index":442,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["token",{"_index":188,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["tool",{"_index":1273,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":674,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["toradians",{"_index":495,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["tort",{"_index":1775,"title":{},"body":{"license.html":{}}}],["total",{"_index":829,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["totalcount",{"_index":896,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["trachea",{"_index":1965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tracker",{"_index":237,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["tracker.ts",{"_index":438,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["tracker.ts:10",{"_index":448,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:14",{"_index":452,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:23",{"_index":451,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:6",{"_index":450,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:7",{"_index":449,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:8",{"_index":446,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracking/telemetry",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["transform",{"_index":742,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transform.scale(scale",{"_index":756,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transformmatrix",{"_index":673,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["translation",{"_index":822,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["translation_units",{"_index":615,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["transparency",{"_index":1274,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":1293,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":151,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["triple",{"_index":204,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["true",{"_index":274,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["try",{"_index":883,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["ts",{"_index":1668,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1671,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1455,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1256,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":1240,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":1237,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1360,"title":{},"body":{"changelog.html":{}}}],["tx",{"_index":562,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":534,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["type",{"_index":19,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1784,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":344,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["types",{"_index":234,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["types.ts",{"_index":767,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["types/lru",{"_index":1606,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":391,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["typing",{"_index":1420,"title":{},"body":{"changelog.html":{}}}],["uberon",{"_index":1552,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["uberon.body",{"_index":1940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000029",{"_index":1976,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000056",{"_index":1956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000059",{"_index":2008,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000079",{"_index":1974,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000178",{"_index":1970,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000947",{"_index":1968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000948",{"_index":1998,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000955",{"_index":1988,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000970",{"_index":1958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000992",{"_index":1964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000995",{"_index":2040,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001004",{"_index":1943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001155",{"_index":1945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001222",{"_index":2036,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001223",{"_index":2034,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001255",{"_index":2038,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001264",{"_index":2020,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001270",{"_index":2022,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001302",{"_index":1996,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001303",{"_index":1994,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001465",{"_index":1962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002048",{"_index":2012,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002097",{"_index":2026,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002106",{"_index":2030,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002107",{"_index":2010,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002108",{"_index":2028,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002113",{"_index":1954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002167",{"_index":1949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002168",{"_index":1947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002177",{"_index":1953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002178",{"_index":1951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002367",{"_index":2024,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002370",{"_index":2032,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002371",{"_index":1972,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002509",{"_index":2014,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003126",{"_index":1966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003889",{"_index":1960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004537",{"_index":1986,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004538",{"_index":2000,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004539",{"_index":2002,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004548",{"_index":1990,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uconn",{"_index":2149,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ucsd",{"_index":2117,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ufl",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["ufl_thumbs",{"_index":1482,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ui",{"_index":1058,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1687,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1697,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1694,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1696,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1695,"title":{},"body":{"index.html":{}}}],["undefined",{"_index":296,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unique",{"_index":402,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["units",{"_index":88,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["university",{"_index":1715,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":243,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["unnecessary",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":664,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unselect",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1242,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":464,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["update",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["updated_date",{"_index":1839,"title":{},"body":{"miscellaneous/variables.html":{}}}],["updates",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1345,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1425,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1269,"title":{},"body":{"changelog.html":{}}}],["ureter",{"_index":1955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_left",{"_index":2033,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_right",{"_index":2035,"title":{},"body":{"miscellaneous/variables.html":{}}}],["urinary_bladder",{"_index":2037,"title":{},"body":{"miscellaneous/variables.html":{}}}],["url",{"_index":51,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["use",{"_index":910,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"license.html":{}}}],["used",{"_index":64,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["user",{"_index":931,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1444,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":1101,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["uterus",{"_index":2039,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util.prefixes(prefixes",{"_index":1911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util/ccf",{"_index":236,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/enrich",{"_index":239,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/prefixes",{"_index":508,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["utilities",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["utils",{"_index":205,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["uuid",{"_index":506,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["uuidv4",{"_index":505,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["v1.1",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1255,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["v4",{"_index":504,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["value",{"_index":20,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["van0003",{"_index":2063,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0005",{"_index":2071,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0006",{"_index":2074,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0007",{"_index":2076,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0008",{"_index":2079,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0009",{"_index":2081,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0010",{"_index":2084,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0011",{"_index":2087,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0012",{"_index":2088,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0013",{"_index":2090,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0014",{"_index":2094,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0016",{"_index":2096,"title":{},"body":{"miscellaneous/variables.html":{}}}],["vanderbilt",{"_index":2133,"title":{},"body":{"miscellaneous/variables.html":{}}}],["variable",{"_index":1466,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1791,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":873,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["very",{"_index":1335,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":112,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["video",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["visible",{"_index":747,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["visual",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1346,"title":{},"body":{"changelog.html":{}}}],["vocab",{"_index":2098,"title":{},"body":{"miscellaneous/variables.html":{}}}],["void",{"_index":307,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["vs",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1451,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":818,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["w_rotation",{"_index":819,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["wait",{"_index":31,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["warm",{"_index":463,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["warming",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1369,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1759,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1756,"title":{},"body":{"license.html":{}}}],["web",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1608,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1682,"title":{},"body":{"index.html":{}}}],["week",{"_index":1457,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1772,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1453,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["wireframe",{"_index":656,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["within",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":1077,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1295,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1312,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":116,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["x_dimension",{"_index":807,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_rotation",{"_index":599,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_scaling",{"_index":591,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_translation",{"_index":609,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["xml",{"_index":178,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["xyz",{"_index":606,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["y",{"_index":120,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":808,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_rotation",{"_index":601,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_scaling",{"_index":593,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_translation",{"_index":611,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["yes",{"_index":633,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["youtube",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":121,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":809,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_rotation",{"_index":603,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_scaling",{"_index":595,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_translation",{"_index":613,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["zone.js",{"_index":1673,"title":{},"body":{"dependencies.html":{}}}],["zoombasedopacity",{"_index":669,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["zoomtoonload",{"_index":670,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"interfaces/AggregateResult.html":{"url":"interfaces/AggregateResult.html","title":"interface - AggregateResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AggregateResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Aggregate query result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n count\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n count\n \n \n \n \n \n \n \n \n count: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Aggregate value\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Queried field\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CCFDatabaseOptions.html":{"url":"interfaces/CCFDatabaseOptions.html","title":"interface - CCFDatabaseOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CCFDatabaseOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n\n\n \n Description\n \n \n Database initialization options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ccfContextUrl\n \n \n \n \n ccfOwlUrl\n \n \n \n \n dataSources\n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n hubmapDataService\n \n \n \n \n hubmapDataUrl\n \n \n \n \n hubmapPortalUrl\n \n \n \n Optional\n \n hubmapQuery\n \n \n \n Optional\n \n hubmapToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ccfContextUrl\n \n \n \n \n \n \n \n \n ccfContextUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Context.\n\n \n \n \n \n \n \n \n \n \n ccfOwlUrl\n \n \n \n \n \n \n \n \n ccfOwlUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n A url to load data from.\n\n \n \n \n \n \n \n \n \n \n dataSources\n \n \n \n \n \n \n \n \n dataSources: (string | JsonLd)[]\n\n \n \n\n\n \n \n Type : (string | JsonLd)[]\n\n \n \n\n\n\n\n\n \n \n A list of data sources (in n3, rdf, xml, owl, or jsonld format)\n\n \n \n \n \n \n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n \n \n \n \n hubmapAssetsUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap assets api url.\n\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n \n \n \n \n hubmapDataService: \"static\" | \"search-api\"\n\n \n \n\n\n \n \n Type : \"static\" | \"search-api\"\n\n \n \n\n\n\n\n\n \n \n Data service type.\n\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n \n \n \n \n hubmapDataUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap data url.\n\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n \n \n \n \n hubmapPortalUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap Portal url.\n\n \n \n \n \n \n \n \n \n \n hubmapQuery\n \n \n \n \n \n \n \n \n hubmapQuery: \n\n \n \n\n\n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Elastic Search Query\n\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n \n \n \n \n hubmapToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Service Token.\n\n \n \n \n \n \n \n\n\n \n import { delMany, get, setMany } from 'idb-keyval';\nimport { JsonLd } from 'jsonld/jsonld-spec';\nimport {\n addJsonLdToStore, addN3ToStore, addRdfXmlToStore, DataFactory, deserializeN3Store, Quad, serializeN3Store, Store\n} from 'triple-store-utils';\n\nimport { CCFSpatialGraph } from './ccf-spatial-graph';\nimport { CCFSpatialScene, SpatialSceneNode } from './ccf-spatial-scene';\nimport { searchHubmap } from './hubmap/hubmap-data-import';\nimport { AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, TissueBlockResult } from './interfaces';\nimport { getAggregateResults, getDatasetTechnologyNames, getProviderNames } from './queries/aggregate-results-n3';\nimport { findIds } from './queries/find-ids-n3';\nimport { getCellTypeTermOccurences, getOntologyTermOccurences } from './queries/ontology-term-occurences-n3';\nimport { getAnatomicalStructureTreeModel, getCellTypeTreeModel } from './queries/ontology-tree-n3';\nimport { getSpatialEntityForEntity } from './queries/spatial-result-n3';\nimport { getTissueBlockResult } from './queries/tissue-block-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity } from './spatial-types';\nimport { CCFDatabaseStatusTracker } from './util/ccf-database-status-tracker';\nimport { enrichRuiLocations } from './util/enrich-rui-locations';\n\n\n/** Database initialization options. */\nexport interface CCFDatabaseOptions {\n /** A url to load data from. */\n ccfOwlUrl: string;\n /** Context. */\n ccfContextUrl: string;\n /** A list of data sources (in n3, rdf, xml, owl, or jsonld format) */\n dataSources: (string|JsonLd)[];\n /** Data service type. */\n hubmapDataService: 'static' | 'search-api';\n /** HuBMAP Elastic Search Query */\n hubmapQuery?: unknown;\n /** Hubmap Portal url. */\n hubmapPortalUrl: string;\n /** Hubmap data url. */\n hubmapDataUrl: string;\n /** Hubmap assets api url. */\n hubmapAssetsUrl: string;\n /** HuBMAP Service Token. */\n hubmapToken?: string;\n}\n\n/** Default initialization options. */\nexport const DEFAULT_CCF_DB_OPTIONS: CCFDatabaseOptions = {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n};\n\n/** Database provider. */\nexport class CCFDatabase {\n /** The triple store. */\n store: Store;\n /** The spatial graph */\n graph: CCFSpatialGraph;\n /** Creates SpatialEntity Scenes */\n scene: CCFSpatialScene;\n /** If the database is initialized */\n private initializing?: Promise;\n\n private status: CCFDatabaseStatusTracker;\n\n /**\n * Creates an instance of ccfdatabase.\n *\n * @param [options] Initialization options.\n */\n constructor(public options: CCFDatabaseOptions = DEFAULT_CCF_DB_OPTIONS) {\n this.store = new Store(undefined, { factory: DataFactory });\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n }\n\n /**\n * Connects the database.\n *\n * @param [options] Options used to initialize.\n * @returns A promise resolving to true if data has been loaded into the database.\n */\n async connect(options?: CCFDatabaseOptions, cached = false): Promise {\n if (options) {\n this.options = options;\n }\n if (!this.initializing) {\n if (cached) {\n this.initializing = this.cachedConnect();\n } else {\n this.initializing = this.doConnect();\n }\n }\n await this.initializing;\n return this.store.size > 0;\n }\n\n private async cachedConnect(): Promise {\n const start = new Date().getTime();\n const lastModifiedKey = 'ccf-database.last_modified';\n const ccfDatabaseKey = 'ccf-database';\n\n const lastModified = await get(lastModifiedKey).catch(() => undefined);\n let serializedDb: string | undefined;\n\n if (lastModified && start - new Date(+lastModified).getTime() > 60*60*1000) {\n await delMany([ccfDatabaseKey, lastModifiedKey]).catch(() => undefined);\n } else {\n serializedDb = await get(ccfDatabaseKey).catch(() => undefined);\n }\n\n if (serializedDb) {\n await this.deserialize(serializedDb);\n } else {\n await this.doConnect();\n\n setMany([\n [ccfDatabaseKey, this.serialize()],\n [lastModifiedKey, '' + start]\n ]).catch(() => undefined);\n }\n }\n\n /**\n * Actually connects to the database.\n *\n * @returns A promise resolving to void when connected.\n */\n private async doConnect(): Promise {\n const ops: Promise[] = [];\n const sources: (string|JsonLd)[] = this.options.dataSources?.concat() ?? [];\n\n const ccfOwlUrl = this.options.ccfOwlUrl;\n if (ccfOwlUrl.startsWith('{')) {\n // serialized n3 store was provided as the ccfOwlUrl\n this.store = deserializeN3Store(ccfOwlUrl, DataFactory);\n } else if (ccfOwlUrl.endsWith('.n3store.json')) {\n const storeString = await fetch(ccfOwlUrl).then(r => r.text())\n .catch(() => console.log('Couldn\\'t locate serialized store.'));\n if (storeString) {\n this.store = deserializeN3Store(storeString, DataFactory);\n }\n } else if (ccfOwlUrl?.length > 0) {\n sources.push(ccfOwlUrl);\n }\n if (this.options.hubmapDataUrl) {\n if (this.options.hubmapDataUrl.endsWith('jsonld')) {\n sources.push(this.options.hubmapDataUrl);\n } else {\n ops.push(searchHubmap(\n this.options.hubmapDataUrl,\n this.options.hubmapDataService,\n this.options.hubmapQuery,\n this.options.hubmapToken,\n this.options.hubmapAssetsUrl,\n this.options.hubmapPortalUrl\n ).then((jsonld) => {\n if (jsonld) {\n return this.addDataSources([jsonld]);\n } else {\n return undefined;\n }\n }));\n }\n }\n ops.push(this.addDataSources(sources));\n await Promise.all(ops);\n await this.synchronize();\n }\n\n async addDataSources(sources: (string|JsonLd)[], inputStore?: Store): Promise {\n const store: Store = inputStore ?? this.store;\n await Promise.all(\n sources.map(async (source) => {\n if (typeof source === 'string') {\n if (source.endsWith('jsonld')) {\n await addJsonLdToStore(source, store);\n } else if (source.endsWith('n3')) {\n await addN3ToStore(source, store);\n } else if (source.endsWith('rdf') || source.endsWith('owl') || source.endsWith('xml')) {\n await addRdfXmlToStore(source, store);\n } else {\n // Passthrough assumes a JSON-LD response\n await addJsonLdToStore(source, store);\n }\n } else {\n await addJsonLdToStore(source, store);\n }\n })\n );\n return this;\n }\n\n async synchronize(): Promise {\n // Add a small delay to allow the triple store to settle\n await new Promise(r => {\n setTimeout(r, 500);\n });\n this.graph.createGraph();\n enrichRuiLocations(this.store);\n return this;\n }\n\n serialize(): string {\n return serializeN3Store(this.store);\n }\n\n async deserialize(value: string): Promise {\n this.store = deserializeN3Store(value, DataFactory);\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n await new Promise(r => {\n setTimeout(r, 10);\n });\n }\n\n /**\n * Gets all ids matching the filter.\n *\n * @param [filter] The filter.\n * @returns A set of all matching ids.\n */\n getIds(filter: Filter = {} as Filter): Set {\n return findIds(this.store, this.graph, filter);\n }\n\n /**\n * Gets the data for an object.\n *\n * @param id The id of the requested object.\n * @returns The object data.\n */\n get(id: string): Quad[] {\n return this.store.getQuads(DataFactory.namedNode(id), null, null, null);\n }\n\n /**\n * Gets the data for objects matching a filter.\n *\n * @param [filter] The filter.\n * @returns An array of data.\n */\n search(filter: Filter = {} as Filter): Quad[][] {\n return [...this.getIds(filter)].map((s) => this.get(s));\n }\n\n /**\n * Gets all spatial entities for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of spatial entities.\n */\n getSpatialEntities(filter?: Filter): SpatialEntity[] {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getSpatialEntityForEntity(this.store, s) as SpatialEntity);\n }\n\n async getDatabaseStatus(): Promise {\n if (!this.status) {\n this.status = new CCFDatabaseStatusTracker(this);\n }\n return this.status.toJson();\n }\n\n /**\n * Get a list of technology names used by datasets\n *\n * @returns list of unique technology names in the data\n */\n async getDatasetTechnologyNames(): Promise {\n return getDatasetTechnologyNames(this.store);\n }\n\n /**\n * Get a list of provider names from the database\n *\n * @returns list of unique provider names in the data\n */\n async getProviderNames(): Promise {\n return getProviderNames(this.store);\n }\n\n /**\n * Gets all tissue block results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of results.\n */\n async getTissueBlockResults(filter?: Filter): Promise {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getTissueBlockResult(this.store, s));\n }\n\n /**\n * Gets all aggregate results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of aggregate data.\n */\n async getAggregateResults(filter?: Filter): Promise {\n return getAggregateResults(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of ontology terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Ontology term counts.\n */\n async getOntologyTermOccurences(filter?: Filter): Promise> {\n return getOntologyTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of cell type terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Cell type term counts.\n */\n async getCellTypeTermOccurences(filter?: Filter): Promise> {\n return getCellTypeTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get ontology term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getOntologyTreeModel(): Promise {\n return getAnatomicalStructureTreeModel(this.store);\n }\n\n /**\n * Get cell type term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getCellTypeTreeModel(): Promise {\n return getCellTypeTreeModel(this.store);\n }\n\n /**\n * Get reference organs\n *\n * @returns Ontology term counts.\n */\n async getReferenceOrgans(): Promise {\n return this.scene.getReferenceOrgans();\n }\n\n /**\n * Get all nodes to form the 3D scene of reference body, organs, and tissues\n *\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getScene(filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getScene(filter);\n }\n\n /**\n * Get all nodes to form the 3D scene of reference organ and tissues\n *\n * @param [organIri] The Reference Organ IRI\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getReferenceOrganScene(organIri: string, filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getReferenceOrganScene(organIri, filter);\n }\n\n async getSpatialPlacement(source: SpatialEntity, targetIri: string): Promise {\n return this.graph.getSpatialPlacement(source, targetIri);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFDatabaseStatusTracker.html":{"url":"classes/CCFDatabaseStatusTracker.html","title":"class - CCFDatabaseStatusTracker","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFDatabaseStatusTracker\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n database\n \n \n Optional\n loadTime\n \n \n Optional\n message\n \n \n status\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n connect\n \n \n toJson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(database: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n database\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n database\n \n \n \n \n \n \n Type : CCFDatabase\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n loadTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n toJson\n \n \n \n \n \n \ntoJson()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:14\n \n \n\n\n \n \n\n \n Returns : DatabaseStatus\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DatabaseStatus } from '../interfaces';\nimport { CCFDatabase } from '../ccf-database';\n\n\nexport class CCFDatabaseStatusTracker {\n status: 'Ready' | 'Loading' | 'Error';\n message?: string;\n loadTime?: number;\n\n constructor(public database: CCFDatabase) {\n this.connect();\n }\n\n toJson(): DatabaseStatus {\n return {\n status: this.status,\n message: this.message,\n checkback: this.status === 'Ready' || this.status === 'Error' ? 60 * 60 * 1000 : 2000,\n loadTime: this.loadTime\n };\n }\n\n private connect(): Promise {\n this.status = 'Loading';\n this.message = 'Loading database';\n\n const startTime = Date.now();\n return this.database.connect()\n .then(async (loaded) => {\n if (loaded) {\n // Warm up the database\n this.message = 'Building scene';\n await this.database.getScene();\n this.message = 'Building tissue block results';\n await this.database.getTissueBlockResults();\n this.message = 'Aggregating results';\n await this.database.getAggregateResults();\n this.status = 'Ready';\n this.message = 'Database successfully loaded';\n } else {\n this.status = 'Error';\n this.message = 'Unknown error while loading database';\n }\n })\n .catch((error: { message?: string }) => {\n this.status = 'Error';\n this.message = error?.message ?? 'Unknown error while loading database';\n })\n .finally(() => {\n this.loadTime = Date.now() - startTime;\n });\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialGraph.html":{"url":"classes/CCFSpatialGraph.html","title":"class - CCFSpatialGraph","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialGraph\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n graph\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEdge\n \n \n addNode\n \n \n createGraph\n \n \n getSpatialPlacement\n \n \n getTransformationMatrix\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n graph\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEdge\n \n \n \n \n \n \naddEdge(id: string, source: string, target: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n source\n \n string\n \n\n \n No\n \n\n\n \n \n target\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addNode\n \n \n \n \n \n \naddNode(id: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createGraph\n \n \n \n \n \n \ncreateGraph()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getSpatialPlacement\n \n \n \n \n \n \ngetSpatialPlacement(source: SpatialEntity, targetIri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n targetIri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : FlatSpatialPlacement | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTransformationMatrix\n \n \n \n \n \n \ngetTransformationMatrix(sourceIRI: string, targetIRI: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceIRI\n \n string\n \n\n \n No\n \n\n\n \n \n targetIRI\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4 | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Euler, Matrix4, toDegrees, toRadians } from '@math.gl/core';\nimport { DirectedGraph } from 'graphology';\nimport shortestPath from 'graphology-shortest-path/unweighted';\nimport { get } from 'lodash';\nimport { readQuads } from 'triple-store-utils';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { CCFDatabase } from './ccf-database';\nimport { getSpatialPlacement } from './queries/spatial-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity, SpatialPlacement } from './spatial-types';\nimport { ccf, rdf } from './util/prefixes';\n\n\nexport function applySpatialPlacement(tx: Matrix4, placement: SpatialPlacement): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport class CCFSpatialGraph {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph: any;\n\n constructor(private db: CCFDatabase) {\n this.createGraph();\n }\n\n createGraph(): void {\n this.graph = new DirectedGraph();\n const store = this.db.store;\n\n // Add all Spatial Object References\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialObjectReference');\n }, rdf.type, ccf.SpatialObjectReference, null);\n\n // Add all Spatial Entities\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialEntity');\n }, rdf.type, ccf.SpatialEntity, null);\n\n // Add all Spatial Placements\n const edgeSource: Record = {};\n for (const quad of readQuads(store, null, ccf.spatialPlacement.source, null, null)) {\n edgeSource[quad.subject.id] = quad.object.id;\n }\n for (const quad of readQuads(store, null, ccf.spatialPlacement.target, null, null)) {\n const source = edgeSource[quad.subject.id];\n if (source) {\n this.addEdge(quad.subject.id, source, quad.object.id, 'SpatialPlacement');\n }\n }\n }\n\n addNode(id: string, type: string): void {\n this.graph.mergeNode(id, { type });\n }\n\n addEdge(id: string, source: string, target: string, type: string): void {\n this.graph.mergeDirectedEdge(source, target, { type, id });\n }\n\n getTransformationMatrix(sourceIRI: string, targetIRI: string): Matrix4 | undefined {\n if (sourceIRI === targetIRI) {\n return new Matrix4(Matrix4.IDENTITY); // identity\n }\n if (!this.graph.hasNode(sourceIRI) || !this.graph.hasNode(targetIRI)) {\n return undefined;\n }\n\n const store = this.db.store;\n const tx = new Matrix4(Matrix4.IDENTITY);\n const path = shortestPath(this.graph, sourceIRI, targetIRI);\n if (path && path.length > 0) {\n path.reverse();\n let target: string | number = '';\n for (const source of path) {\n if (target) {\n const placementId = this.graph.getEdgeAttribute(source, target, 'id');\n const placement = getSpatialPlacement(store, placementId);\n applySpatialPlacement(tx, placement);\n }\n target = source;\n }\n return tx;\n } else {\n return undefined;\n }\n }\n\n getSpatialPlacement(source: SpatialEntity, targetIri: string): FlatSpatialPlacement | undefined {\n const sourceIri = this.graph.hasNode(source['@id']) ? source['@id'] : undefined;\n const placement: SpatialPlacement = get(source, 'placement[0]', get(source, 'placement', undefined));\n\n let matrix: Matrix4 | undefined;\n if (placement && this.graph.hasNode(placement.target)) {\n matrix = this.getTransformationMatrix(placement.target as unknown as string, targetIri);\n if (matrix) {\n matrix = applySpatialPlacement(matrix, placement);\n }\n } else if (sourceIri) {\n matrix = this.getTransformationMatrix(sourceIri, targetIri);\n }\n\n if (matrix) {\n const euler = new Euler().fromRotationMatrix(matrix, Euler.XYZ);\n const T = matrix.getTranslation().map(n => n * 1000) as [number, number, number];\n const R = euler.toVector3().map(toDegrees) as [number, number, number];\n const S = matrix.getScale().map(n => n 0.999999 ? 1 : n) as [number, number, number];\n\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${uuidV4()}_placement`,\n '@type': 'SpatialPlacement',\n source: source['@id'],\n target: targetIri,\n placement_date: new Date().toISOString().split('T')[0],\n x_scaling: S[0],\n y_scaling: S[1],\n z_scaling: S[2],\n scaling_units: 'ratio',\n x_rotation: R[0],\n y_rotation: R[1],\n z_rotation: R[2],\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n x_translation: T[0],\n y_translation: T[1],\n z_translation: T[2],\n translation_units: 'millimeter'\n };\n } else {\n return undefined;\n }\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialScene.html":{"url":"classes/CCFSpatialScene.html","title":"class - CCFSpatialScene","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialScene\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getAnatomicalStructures\n \n \n getEntitySceneNodes\n \n \n getExtractionSet\n \n \n getExtractionSets\n \n \n getReferenceBody\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getReferenceOrganSets\n \n \n getReferenceSceneNodes\n \n \n getScene\n \n \n getSceneNode\n \n \n getSpatialEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getAnatomicalStructures\n \n \n \n \n \n \ngetAnatomicalStructures(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getEntitySceneNodes\n \n \n \n \n \n \ngetEntitySceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:149\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSet\n \n \n \n \n \n \ngetExtractionSet(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSets\n \n \n \n \n \n \ngetExtractionSets(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceBody\n \n \n \n \n \n \ngetReferenceBody(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:54\n \n \n\n\n \n \n\n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganSets\n \n \n \n \n \n \ngetReferenceOrganSets(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceSceneNodes\n \n \n \n \n \n \ngetReferenceSceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSceneNode\n \n \n \n \n \n \ngetSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n target\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n nodeAttrs\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSpatialEntity\n \n \n \n \n \n \ngetSpatialEntity(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseStatus.html":{"url":"interfaces/DatabaseStatus.html","title":"interface - DatabaseStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Status of the database\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n checkback\n \n \n \n Optional\n \n loadTime\n \n \n \n Optional\n \n message\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n checkback\n \n \n \n \n \n \n \n \n checkback: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n How long to wait (in milliseconds) before checking status again\n\n \n \n \n \n \n \n \n \n \n loadTime\n \n \n \n \n \n \n \n \n loadTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The amount of time (in milliseconds) taken to load the database\n\n \n \n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Human readable description of the current status\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n\n\n\n \n \n Status of the database\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatasetResult.html":{"url":"interfaces/DatasetResult.html","title":"interface - DatasetResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatasetResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Dataset List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n technology\n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n technology\n \n \n \n \n \n \n \n \n technology: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Technology used in data\n\n \n \n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Representative thumbnail URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DonorResult.html":{"url":"interfaces/DonorResult.html","title":"interface - DonorResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DonorResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Donor List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n providerName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Provider Name\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A set of extraction sites\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n extractionSites\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: SpatialEntity[]\n\n \n \n\n\n \n \n Type : SpatialEntity[]\n\n \n \n\n\n\n\n\n \n \n The list of extraction sites in this set\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Filter.html":{"url":"interfaces/Filter.html","title":"interface - Filter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Filter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Options applied during queries\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ageRange\n \n \n \n \n bmiRange\n \n \n \n \n cellTypeTerms\n \n \n \n Optional\n \n debug\n \n \n \n \n ontologyTerms\n \n \n \n \n sex\n \n \n \n \n spatialSearches\n \n \n \n \n technologies\n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ageRange\n \n \n \n \n \n \n \n \n ageRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n Age range\n\n \n \n \n \n \n \n \n \n \n bmiRange\n \n \n \n \n \n \n \n \n bmiRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n BMI range\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \n \n \n debug: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Include optional debugging information\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n \n \n \n spatialSearches\n \n \n \n \n \n \n \n \n spatialSearches: SpatialSearch[]\n\n \n \n\n\n \n \n Type : SpatialSearch[]\n\n \n \n\n\n\n\n\n \n \n spatial search\n\n \n \n \n \n \n \n \n \n \n technologies\n \n \n \n \n \n \n \n \n technologies: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Technologies\n\n \n \n \n \n \n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n tmc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n TMC\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FlatSpatialPlacement.html":{"url":"interfaces/FlatSpatialPlacement.html","title":"interface - FlatSpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FlatSpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Source entity iri\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Target entity iri\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResultItem.html":{"url":"interfaces/ListResultItem.html","title":"interface - ListResultItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResultItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n List result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n description\n \n \n \n \n label\n \n \n \n \n link\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Description\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Label\n\n \n \n \n \n \n \n \n \n \n link\n \n \n \n \n \n \n \n \n link: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Associated URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeModel.html":{"url":"interfaces/OntologyTreeModel.html","title":"interface - OntologyTreeModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Ontology tree model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n nodes\n \n \n \n \n root\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n nodes\n \n \n \n \n \n \n \n \n nodes: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n Mapping from id/IRI to ontology node instance\n\n \n \n \n \n \n \n \n \n \n root\n \n \n \n \n \n \n \n \n root: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n id of the root node of the ontology\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeNode.html":{"url":"interfaces/OntologyTreeNode.html","title":"interface - OntologyTreeNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n A node in the ontology\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n children\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n parent\n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Child ontology nodes\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n RDFS label\n\n \n \n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Parent ontology node\n\n \n \n \n \n \n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n synonymLabels: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Synonym labels\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchResultJson.html":{"url":"interfaces/SearchResultJson.html","title":"interface - SearchResultJson","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchResultJson\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n hits: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLd } from 'jsonld/jsonld-spec';\nimport { addJsonLdToStore, Store } from 'triple-store-utils';\n\nimport { hubmapResponseAsJsonLd } from './hubmap-data';\n\n\ninterface SearchResultJson {\n hits: {\n hits: unknown[];\n total: {\n value: number;\n };\n };\n}\n\n\n// Reduce this value if including more data fields\nconst PER_API_SEARCH_REQUEST_COUNT = 250;\n\nconst INCLUDED_DATA_FIELDS = [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors.entity_type',\n 'ancestors.description',\n 'ancestors.metadata.organ_donor_data.preferred_term',\n 'ancestors.metadata.organ_donor_data.data_value',\n 'ancestors.last_modified_timestamp',\n 'ancestors.group_uuid',\n 'ancestors.group_name',\n 'ancestors.created_by_user_displayname',\n 'ancestors.uuid',\n 'descendants.entity_type',\n 'descendants.ingest_metadata.metadata.tissue_id',\n 'descendants.last_modified_timestamp',\n 'descendants.group_uuid',\n 'descendants.group_name',\n 'descendants.created_by_user_displayname',\n 'descendants.uuid',\n 'descendants.data_types',\n 'descendants.ingest_metadata.metadata.assay_type',\n 'descendants.thumbnail_file',\n 'descendants.metadata.files.rel_path',\n 'rui_location', 'specimen_type'\n];\n\nconst DEFAULT_API_SEARCH_QUERY: unknown = {\n exists: {\n field: 'rui_location'\n }\n};\n\nfunction getApiSearchHeaders(token?: string): Headers {\n const headers = new Headers();\n\n headers.append('Content-type', 'application/json');\n if (token) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n return headers;\n}\n\nfunction getApiSearchBody(from: number, size: number, query?: unknown): string {\n const bodyObj = {\n version: true,\n from,\n size,\n stored_fields: ['*'],\n script_fields: {},\n docvalue_fields: [],\n query: query ?? DEFAULT_API_SEARCH_QUERY,\n _source: {\n includes: INCLUDED_DATA_FIELDS\n }\n };\n\n return JSON.stringify(bodyObj);\n}\n\nasync function doSearchRequest(\n url: string, init?: RequestInit\n): Promise {\n try {\n const res = await fetch(url, init);\n return res.ok ? (await res.json()) : undefined;\n } catch (_error) {\n return undefined;\n }\n}\n\nasync function doApiSearch(\n url: string, token?: string, query?: unknown\n): Promise {\n const perReqCount = PER_API_SEARCH_REQUEST_COUNT;\n const headers = getApiSearchHeaders(token);\n const body = getApiSearchBody(0, perReqCount, query);\n const firstResult = await doSearchRequest(url, { method: 'POST', headers, body });\n if (!firstResult) {\n return undefined;\n }\n\n const totalCount = firstResult.hits.total.value;\n if (totalCount [] = [];\n for (let from = perReqCount; from !res)) {\n return undefined;\n }\n\n const items = results.map(res => res!.hits.hits);\n return {\n ...firstResult,\n hits: {\n ...firstResult.hits,\n hits: firstResult.hits.hits.concat(...items),\n }\n };\n}\n\n/**\n * Search the HuBMAP Search API and return CCF-compatible JSON-LD data\n *\n * @param dataUrl the search API url\n * @param serviceType 'static' if a statically saved response or 'search-api' if querying the search-api live\n * @param query the elastic search query to use\n * @param serviceToken the api key to the search-api\n * @param assetsApi the assets api endpoint\n * @param portalUrl the portal url to point to\n * @returns CCF-compatible JSON-LD data or undefined on error\n */\nexport async function searchHubmap(\n dataUrl: string, serviceType: 'static' | 'search-api',\n query?: unknown, serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n let hubmapData: SearchResultJson | undefined;\n if (serviceType === 'static') {\n hubmapData = await doSearchRequest(dataUrl);\n } else if (serviceType === 'search-api') {\n hubmapData = await doApiSearch(dataUrl, serviceToken, query);\n }\n\n if (hubmapData) {\n return hubmapResponseAsJsonLd(hubmapData, assetsApi, portalUrl, serviceToken);\n } else {\n console.warn(`Unable to load ${dataUrl} as HuBMAP Data`);\n return undefined;\n }\n}\n\n/**\n * Adds hubmap data from a url to the triple store.\n *\n * @param store The triple store.\n * @param dataUrl The data url.\n * @param serviceType The service type.\n */\nexport async function addHubmapDataToStore(\n store: Store, dataUrl: string, serviceType: 'static' | 'search-api', serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n const hubmapData = await searchHubmap(dataUrl, serviceType, undefined, serviceToken, assetsApi, portalUrl);\n if (hubmapData) {\n await addJsonLdToStore(hubmapData, store);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchableItem.html":{"url":"interfaces/SearchableItem.html","title":"interface - SearchableItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchableItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Item that can be searched for\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n age\n \n \n \n Optional\n \n bmi\n \n \n \n Optional\n \n cellTypeTerms\n \n \n \n \n id\n \n \n \n Optional\n \n ontologyTerms\n \n \n \n Optional\n \n sex\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n age\n \n \n \n \n \n \n \n \n age: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Age\n\n \n \n \n \n \n \n \n \n \n bmi\n \n \n \n \n \n \n \n \n bmi: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n BMI\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialEntity.html":{"url":"interfaces/SpatialEntity.html","title":"interface - SpatialEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A spatial entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n comment\n \n \n \n Optional\n \n creation_date\n \n \n \n Optional\n \n creator\n \n \n \n Optional\n \n creator_first_name\n \n \n \n Optional\n \n creator_last_name\n \n \n \n Optional\n \n creator_orcid\n \n \n \n \n dimension_units\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n label\n \n \n \n Optional\n \n object\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n rui_rank\n \n \n \n \n sex\n \n \n \n \n side\n \n \n \n Optional\n \n slice_count\n \n \n \n Optional\n \n slice_thickness\n \n \n \n \n x_dimension\n \n \n \n \n y_dimension\n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotations (a set of IRIs)\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Coloring\n\n \n \n \n \n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity comment\n\n \n \n \n \n \n \n \n \n \n creation_date\n \n \n \n \n \n \n \n \n creation_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creation date\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator\n\n \n \n \n \n \n \n \n \n \n creator_first_name\n \n \n \n \n \n \n \n \n creator_first_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator first name\n\n \n \n \n \n \n \n \n \n \n creator_last_name\n \n \n \n \n \n \n \n \n creator_last_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator last name\n\n \n \n \n \n \n \n \n \n \n creator_orcid\n \n \n \n \n \n \n \n \n creator_orcid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator identifier\n\n \n \n \n \n \n \n \n \n \n dimension_units\n \n \n \n \n \n \n \n \n dimension_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units dimensions are in\n\n \n \n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n IRI of the Entity this Spatial Entity represents\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialObjectReference\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Data references\n\n \n \n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Specifies if this is an anatomical structure of this organ (IRI)\n\n \n \n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotation (IRI) that says what this entity represents\n\n \n \n \n \n \n \n \n \n \n rui_rank\n \n \n \n \n \n \n \n \n rui_rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ranking used in the RUI for ordering lists\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\" | undefined\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from a Male or Female\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"Left\" | \"Right\" | undefined\n\n \n \n\n\n \n \n Type : \"Left\" | \"Right\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from the left or right side organ\n\n \n \n \n \n \n \n \n \n \n slice_count\n \n \n \n \n \n \n \n \n slice_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The number of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n slice_thickness\n \n \n \n \n \n \n \n \n slice_thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The thickness (in nanometers) of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n x_dimension\n \n \n \n \n \n \n \n \n x_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X-dimension\n\n \n \n \n \n \n \n \n \n \n y_dimension\n \n \n \n \n \n \n \n \n y_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y-dimension\n\n \n \n \n \n \n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n z_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialObjectReference.html":{"url":"interfaces/SpatialObjectReference.html","title":"interface - SpatialObjectReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialObjectReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A reference to a spatial object\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n file\n \n \n \n \n file_format\n \n \n \n Optional\n \n file_subpath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n \n \n file: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data file name\n\n \n \n \n \n \n \n \n \n \n file_format\n \n \n \n \n \n \n \n \n file_format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data format\n\n \n \n \n \n \n \n \n \n \n file_subpath\n \n \n \n \n \n \n \n \n file_subpath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n File subpath\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacement.html":{"url":"interfaces/SpatialPlacement.html","title":"interface - SpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: SpatialEntity | SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialEntity | SpatialObjectReference\n\n \n \n\n\n\n\n\n \n \n Source entity\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: SpatialEntity\n\n \n \n\n\n \n \n Type : SpatialEntity\n\n \n \n\n\n\n\n\n \n \n Target entity\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacementCommon.html":{"url":"interfaces/SpatialPlacementCommon.html","title":"interface - SpatialPlacementCommon","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacementCommon\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n Object describing the placement of an entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n placement_date\n \n \n \n Optional\n \n rotation_order\n \n \n \n \n rotation_units\n \n \n \n \n scaling_units\n \n \n \n \n translation_units\n \n \n \n Optional\n \n w_rotation\n \n \n \n \n x_rotation\n \n \n \n \n x_scaling\n \n \n \n \n x_translation\n \n \n \n \n y_rotation\n \n \n \n \n y_scaling\n \n \n \n \n y_translation\n \n \n \n \n z_rotation\n \n \n \n \n z_scaling\n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n JSON-LD context\n\n \n \n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n placement_date\n \n \n \n \n \n \n \n \n placement_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Date placement was made\n\n \n \n \n \n \n \n \n \n \n rotation_order\n \n \n \n \n \n \n \n \n rotation_order: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Order rotations should be applied in\n\n \n \n \n \n \n \n \n \n \n rotation_units\n \n \n \n \n \n \n \n \n rotation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units rotation is expressed in\n\n \n \n \n \n \n \n \n \n \n scaling_units\n \n \n \n \n \n \n \n \n scaling_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units scaling is expressed in\n\n \n \n \n \n \n \n \n \n \n translation_units\n \n \n \n \n \n \n \n \n translation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units translation is expressed in\n\n \n \n \n \n \n \n \n \n \n w_rotation\n \n \n \n \n \n \n \n \n w_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Rotation in w-dimension\n\n \n \n \n \n \n \n \n \n \n x_rotation\n \n \n \n \n \n \n \n \n x_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_scaling\n \n \n \n \n \n \n \n \n x_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_translation\n \n \n \n \n \n \n \n \n x_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in x-dimension\n\n \n \n \n \n \n \n \n \n \n y_rotation\n \n \n \n \n \n \n \n \n y_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_scaling\n \n \n \n \n \n \n \n \n y_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_translation\n \n \n \n \n \n \n \n \n y_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in y-dimension\n\n \n \n \n \n \n \n \n \n \n z_rotation\n \n \n \n \n \n \n \n \n z_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_scaling\n \n \n \n \n \n \n \n \n z_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n z_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSceneNode.html":{"url":"interfaces/SpatialSceneNode.html","title":"interface - SpatialSceneNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSceneNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _lighting\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n geometry\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n priority\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n scenegraph\n \n \n \n Optional\n \n scenegraphNode\n \n \n \n Optional\n \n text\n \n \n \n Optional\n \n tooltip\n \n \n \n \n transformMatrix\n \n \n \n Optional\n \n unpickable\n \n \n \n Optional\n \n zoomBasedOpacity\n \n \n \n Optional\n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _lighting\n \n \n \n \n \n \n \n \n _lighting: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n geometry\n \n \n \n \n \n \n \n \n geometry: SpatialSceneGeometry\n\n \n \n\n\n \n \n Type : SpatialSceneGeometry\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n priority\n \n \n \n \n \n \n \n \n priority: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraph\n \n \n \n \n \n \n \n \n scenegraph: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraphNode\n \n \n \n \n \n \n \n \n scenegraphNode: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n transformMatrix\n \n \n \n \n \n \n \n \n transformMatrix: Matrix4\n\n \n \n\n\n \n \n Type : Matrix4\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpickable\n \n \n \n \n \n \n \n \n unpickable: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomBasedOpacity\n \n \n \n \n \n \n \n \n zoomBasedOpacity: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n zoomToOnLoad: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.x('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearch.html":{"url":"interfaces/SpatialSearch.html","title":"interface - SpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Specification for a Spatial Search via Probing Sphere\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n radius\n \n \n \n \n target\n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n radius\n \n \n \n \n \n \n \n \n radius: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of the probing sphere in millimeters\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The target spatial entity IRI\n\n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n y coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n z coordinate relative to target in millimeters\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueBlockResult.html":{"url":"interfaces/TissueBlockResult.html","title":"interface - TissueBlockResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueBlockResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Block List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n donor\n \n \n \n \n sampleType\n \n \n \n \n sectionCount\n \n \n \n \n sections\n \n \n \n \n sectionSize\n \n \n \n \n sectionUnits\n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue block\n\n \n \n \n \n \n \n \n \n \n donor\n \n \n \n \n \n \n \n \n donor: DonorResult\n\n \n \n\n\n \n \n Type : DonorResult\n\n \n \n\n\n\n\n\n \n \n The donor this tissue block was derived from\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue block type\n\n \n \n \n \n \n \n \n \n \n sectionCount\n \n \n \n \n \n \n \n \n sectionCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of sections extracted from this block\n\n \n \n \n \n \n \n \n \n \n sections\n \n \n \n \n \n \n \n \n sections: TissueSectionResult[]\n\n \n \n\n\n \n \n Type : TissueSectionResult[]\n\n \n \n\n\n\n\n\n \n \n The sections extracted from this tissue block\n\n \n \n \n \n \n \n \n \n \n sectionSize\n \n \n \n \n \n \n \n \n sectionSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of each tissue section\n\n \n \n \n \n \n \n \n \n \n sectionUnits\n \n \n \n \n \n \n \n \n sectionUnits: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units of the section size (generally, millimeters)\n\n \n \n \n \n \n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n spatialEntityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The associated spatial entity (rui_location) for this block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueSectionResult.html":{"url":"interfaces/TissueSectionResult.html","title":"interface - TissueSectionResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueSectionResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Section List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n sampleType\n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue section\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue section type\n\n \n \n \n \n \n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n sectionNumber: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Index into the sequence of sections from the parent block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Common Coordinate Framework (CCF) User Interfaces\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-database/src/cache-ccf-api-data.ts\n \n function\n main\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n class\n CCFDatabase\n \n 75 %\n (24/32)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n interface\n CCFDatabaseOptions\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n variable\n DEFAULT_CCF_DB_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n class\n CCFSpatialGraph\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n class\n CCFSpatialScene\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n interface\n SpatialSceneNode\n \n 0 %\n (0/21)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n interface\n SearchResultJson\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n addHubmapDataToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doApiSearch\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doSearchRequest\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchBody\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchHeaders\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n searchHubmap\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n DEFAULT_API_SEARCH_QUERY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n INCLUDED_DATA_FIELDS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n PER_API_SEARCH_REQUEST_COUNT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n class\n HuBMAPTissueBlock\n \n 0 %\n (0/24)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n debugDonors\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n hubmapResponseAsJsonLd\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n DR1_VU_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n ENTITY_CONTEXT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n GROUP_UUID_MAPPING\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n HBM_PREFIX\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n UFL_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n AggregateResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatabaseStatus\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatasetResult\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DonorResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n Filter\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n ListResultItem\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeModel\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeNode\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SearchableItem\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SpatialSearch\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueBlockResult\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueSectionResult\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getAggregateResults\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getDatasetTechnologyNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getObjects\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getProviderNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n differenceCallback\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByAge\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByBMI\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByCellTypeTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByGroupName\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByHasSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByOntologyTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySex\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySpatialSearches\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByTechnology\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDataset\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDonor\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithSpatialEntity\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n findIds\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n getAllEntities\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getAnatomicalStructureMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getCellTypeTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getOntologyTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getSpatialEntityMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getAnatomicalStructureTreeModelSlowly\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getCellTypeTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeNode\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n variable\n getAnatomicalStructureTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getAnatomicalStructures\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSets\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getReferenceOrgans\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntityForEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialObjectReference\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialPlacement\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n reverseMapping\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n variable\n mappings\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n filterByProbingSphere\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getOrientedBoundingBox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getSpatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n variable\n spatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDatasetResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDonorResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueBlockResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueSectionResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n datasetResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n donorResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n listResultSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueBlockResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueSectionResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n ExtractionSet\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n FlatSpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialEntity\n \n 100 %\n (25/25)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialObjectReference\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacementCommon\n \n 100 %\n (19/19)\n \n \n \n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n class\n CCFDatabaseStatusTracker\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/util/enrich-rui-locations.ts\n \n function\n enrichRuiLocations\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getEntries\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getMappedResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n function\n getOriginScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n gray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccf\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccfx\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n cl\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n entity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n fma\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n lmha\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n prefixer\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n PREFIXES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdf\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdfs\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rui\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n uberon\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n function\n getProbingSphereScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n gold\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nCommon Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://ccf-api--staging.herokuapp.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\n\nBackground and More Information\nFor more information about the Common Coordinate Framework (CCF), see the HuBMAP CCF Portal at https://hubmapconsortium.github.io/ccf/.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 21 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Color   (projects/.../origin-scene.ts)\n \n \n Color   (projects/.../probing-sphere-scene.ts)\n \n \n JsonDict   (projects/.../hubmap-data.ts)\n \n \n SpatialSceneGeometry   (projects/.../ccf-spatial-scene.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n JsonDict\n \n \n \n \n Record\n\n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n \n \n \n \n \n SpatialSceneGeometry\n \n \n \n \n \"sphere\" | \"cube\" | \"wireframe\" | \"text\" | \"cone\" | \"cylinder\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n blue   (projects/.../origin-scene.ts)\n \n \n blue   (projects/.../probing-sphere-scene.ts)\n \n \n ccf   (projects/.../prefixes.ts)\n \n \n ccfx   (projects/.../prefixes.ts)\n \n \n cl   (projects/.../prefixes.ts)\n \n \n datasetResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DEFAULT_API_SEARCH_QUERY   (projects/.../hubmap-data-import.ts)\n \n \n DEFAULT_CCF_DB_OPTIONS   (projects/.../ccf-database.ts)\n \n \n donorResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DR1_VU_THUMBS   (projects/.../hubmap-data.ts)\n \n \n entity   (projects/.../prefixes.ts)\n \n \n ENTITY_CONTEXT   (projects/.../hubmap-data.ts)\n \n \n fma   (projects/.../prefixes.ts)\n \n \n getAnatomicalStructureTreeModel   (projects/.../ontology-tree-n3.ts)\n \n \n gold   (projects/.../probing-sphere-scene.ts)\n \n \n gray   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../probing-sphere-scene.ts)\n \n \n GROUP_UUID_MAPPING   (projects/.../hubmap-data.ts)\n \n \n HBM_PREFIX   (projects/.../hubmap-data.ts)\n \n \n INCLUDED_DATA_FIELDS   (projects/.../hubmap-data-import.ts)\n \n \n listResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n lmha   (projects/.../prefixes.ts)\n \n \n mappings   (projects/.../spatial-result-n3.ts)\n \n \n PER_API_SEARCH_REQUEST_COUNT   (projects/.../hubmap-data-import.ts)\n \n \n prefixer   (projects/.../prefixes.ts)\n \n \n PREFIXES   (projects/.../prefixes.ts)\n \n \n rdf   (projects/.../prefixes.ts)\n \n \n rdfs   (projects/.../prefixes.ts)\n \n \n red   (projects/.../origin-scene.ts)\n \n \n red   (projects/.../probing-sphere-scene.ts)\n \n \n rui   (projects/.../prefixes.ts)\n \n \n spatialEntityDimensions   (projects/.../spatial-search-n3.ts)\n \n \n tissueBlockResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n tissueSectionResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n uberon   (projects/.../prefixes.ts)\n \n \n UFL_THUMBS   (projects/.../hubmap-data.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gray\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [204, 204, 204, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gold\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [240, 183, 98, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/prefixes.ts\n \n \n \n \n \n \n \n ccf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: ccfx,\n ontologyNode: {\n label: ccfx('ccf_preferred_label'),\n parent: ccfx('ccf_part_of'),\n children: ccfx('ccf_part_of'),\n rui_rank: ccfx('ccf_rui_rank'),\n synonymLabels: DataFactory.namedNode('http://www.geneontology.org/formats/oboInOwl#hasExactSynonym')\n },\n asctb: {\n part_of: ccfx('ccf_part_of'),\n ct_is_a: ccfx('ct_is_a'),\n located_in: ccfx('located_in'),\n characterizes: ccfx('characterizes')\n },\n spatial: {\n Female: ccfx('VHFemale'),\n Male: ccfx('VHMale'),\n BothSexes: ccfx('VHBothSexes'),\n FemaleOrgans: ccfx('VHFemaleOrgans'),\n MaleOrgans: ccfx('VHMaleOrgans')\n },\n SpatialObjectReference: ccfx('SpatialObjectReference'),\n SpatialEntity: ccfx('SpatialEntity'),\n SpatialPlacement: ccfx('SpatialPlacement'),\n spatialObjectReference: {\n file: ccfx('has_object_file'),\n file_format: ccfx('has_object_file_format'),\n file_subpath: ccfx('has_object_file_subpath')\n },\n extractionSet: {\n label: rdfs.label,\n rui_rank: ccfx('ccf_rui_rank')\n },\n spatialEntity: {\n label: rdfs.label,\n comment: rdfs.comment,\n creator: prefixer('dc')('creator'),\n creator_first_name: ccfx('creator_first_name'),\n creator_last_name: ccfx('creator_last_name'),\n creator_orcid: ccfx('creator_orcid'),\n creation_date: ccfx('creation_date'),\n updated_date: ccfx('updated_date'),\n ccf_annotations: ccfx('ccf_annotation'),\n representation_of: ccfx('ccf_representation_of'),\n reference_organ: ccfx('anatomical_structure_of'),\n extraction_set_for: ccfx('extraction_set_for'),\n extraction_set: ccfx('extraction_site_for'),\n sex: ccfx('has_sex'),\n side: ccfx('has_side'),\n rui_rank: ccfx('ccf_rui_rank'),\n slice_thickness: ccfx('ccf_slice_thickness'),\n slice_count: ccfx('ccf_slice_count'),\n x_dimension: ccfx('has_x_dimension'),\n y_dimension: ccfx('has_y_dimension'),\n z_dimension: ccfx('has_z_dimension'),\n dimension_units: ccfx('has_dimension_units'),\n object: ccfx('has_object_reference')\n },\n spatialPlacement: {\n source: ccfx('has_placement_source'),\n target: ccfx('has_placement_target'),\n\n placement_date: ccfx('has_placement_date'),\n x_scaling: ccfx('has_x_scaling'),\n y_scaling: ccfx('has_y_scaling'),\n z_scaling: ccfx('has_z_scaling'),\n scaling_units: ccfx('has_scaling_units'),\n\n x_rotation: ccfx('has_x_rotation'),\n y_rotation: ccfx('has_y_rotation'),\n z_rotation: ccfx('has_z_rotation'),\n w_rotation: ccfx('has_theta_rotation'),\n rotation_order: ccfx('has_rotation_order'),\n rotation_units: ccfx('has_rotation_units'),\n\n x_translation: ccfx('has_x_translation'),\n y_translation: ccfx('has_y_translation'),\n z_translation: ccfx('has_z_translation'),\n translation_units: ccfx('has_translation_units')\n }\n}\n \n \n\n \n \n CCF specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n ccfx\n \n \n \n \n \n \n Default value : prefixer('ccf')\n \n \n\n \n \n CCF id helper.\n\n \n \n\n \n \n \n \n \n \n \n \n cl\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('cl'),\n cell: prefixer('cl')('0000000')\n}\n \n \n\n \n \n CL specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n entity\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('entity'),\n id: prefixer('entity')('id'),\n label: rdfs.label,\n description: rdfs.comment,\n link: rdfs.seeAlso,\n\n sex: prefixer('entity')('sex'),\n age: prefixer('entity')('age'),\n bmi: prefixer('entity')('bmi'),\n\n Male: DataFactory.literal('Male'),\n Female: DataFactory.literal('Female'),\n\n consortiumName: prefixer('entity')('consortium_name'),\n providerName: prefixer('entity')('provider_name'),\n providerUUID: prefixer('entity')('provider_uuid'),\n\n donor: prefixer('entity')('has_donor'),\n\n sections: prefixer('entity')('has_tissue_section'),\n datasets: prefixer('entity')('has_dataset'),\n\n sampleType: prefixer('entity')('sample_type'),\n\n TissueBlock: DataFactory.literal('Tissue Block'),\n TissueSection: DataFactory.literal('Tissue Section'),\n NonStandard: DataFactory.literal('Non-standard'),\n\n sectionCount: prefixer('entity')('section_count'),\n sectionSize: prefixer('entity')('section_size'),\n sectionUnits: prefixer('entity')('section_units'),\n sectionNumber: prefixer('entity')('section_number'),\n\n spatialEntity: prefixer('entity')('has_spatial_entity'),\n ontologyTerms: prefixer('entity')('has_ontology_term'),\n cellTypeTerms: prefixer('entity')('has_cell_type_term'),\n\n technology: prefixer('entity')('technology'),\n thumbnail: prefixer('entity')('has_thumbnail')\n}\n \n \n\n \n \n Common entity ids.\n\n \n \n\n \n \n \n \n \n \n \n \n fma\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('fma')\n}\n \n \n\n \n \n FMA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n lmha\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('lmha')\n}\n \n \n\n \n \n LMHA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n prefixer\n \n \n \n \n \n \n Default value : Util.prefixes(PREFIXES, DataFactory)\n \n \n\n \n \n Prefix factory.\n\n \n \n\n \n \n \n \n \n \n \n \n PREFIXES\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n ccf: 'http://purl.org/ccf/latest/ccf.owl#',\n entity: 'http://purl.org/ccf/latest/ccf-entity.owl#',\n fma: 'http://purl.obolibrary.org/obo/FMA_',\n obo: 'http://purl.obolibrary.org/obo/',\n uberon: 'http://purl.obolibrary.org/obo/UBERON_',\n cl: 'http://purl.obolibrary.org/obo/CL_',\n lmha: 'http://purl.obolibrary.org/obo/LMHA_',\n rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n dc: 'http://purl.org/dc/elements/1.1/'\n}\n \n \n\n \n \n Constants used to create entity accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n rdf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdf'),\n type: prefixer('rdf')('type')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rdfs\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdfs'),\n label: prefixer('rdfs')('label'),\n comment: prefixer('rdfs')('comment'),\n isDefinedBy: prefixer('rdfs')('isDefinedBy'),\n seeAlso: prefixer('rdfs')('seeAlso')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rui\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n body: uberon.body,\n cell: cl.cell,\n respiratory_system: uberon.x('0001004'),\n colon: uberon.x('0001155'),\n left_lung: uberon.x('0002168'),\n right_lung: uberon.x('0002167'),\n left_bronchus: uberon.x('0002178'),\n right_bronchus: uberon.x('0002177'),\n kidney: uberon.x('0002113'),\n ureter: uberon.x('0000056'),\n eye: uberon.x('0000970'),\n fallopian_tube: uberon.x('0003889'),\n knee: uberon.x('0001465'),\n ovary: uberon.x('0000992'),\n trachea: uberon.x('0003126'),\n aorta: uberon.x('0000947'),\n blood: uberon.x('0000178'),\n bone_marrow: uberon.x('0002371'),\n male_reproductive_system: uberon.x('0000079'),\n lymph_node: uberon.x('0000029'),\n\n // Derived using console.log(ALL_POSSIBLE_ORGANS.map(o => ` ${o.name.toLowerCase().replace(',', '').replace(/ /g, '_')}: ${o.id.split('/').slice(-1)[0].split('_')[0].toLowerCase()}.x('${o.id.split('_').slice(-1)[0]}'),`).join('\\n'));\n blood_vasculature: uberon.x('0004537'),\n brain: uberon.x('0000955'),\n eye_left: uberon.x('0004548'),\n eye_right: fma.x('54449'),\n fallopian_tube_left: uberon.x('0001303'),\n fallopian_tube_right: uberon.x('0001302'),\n heart: uberon.x('0000948'),\n kidney_left: uberon.x('0004538'),\n kidney_right: uberon.x('0004539'),\n knee_left: fma.x('24978'),\n knee_right: fma.x('24977'),\n large_intestine: uberon.x('0000059'),\n liver: uberon.x('0002107'),\n lungs: uberon.x('0002048'),\n mesenteric_lymph_node: uberon.x('0002509'),\n ovary_left: fma.x('7214'),\n ovary_right: fma.x('7213'),\n pancreas: uberon.x('0001264'),\n pelvis: uberon.x('0001270'),\n prostate_gland: uberon.x('0002367'),\n skin: uberon.x('0002097'),\n small_intestine: uberon.x('0002108'),\n spleen: uberon.x('0002106'),\n thymus: uberon.x('0002370'),\n ureter_left: uberon.x('0001223'),\n ureter_right: uberon.x('0001222'),\n urinary_bladder: uberon.x('0001255'),\n uterus: uberon.x('0000995')\n}\n \n \n\n \n \n RUI accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n uberon\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('uberon'),\n body: prefixer('uberon')('0013702')\n}\n \n \n\n \n \n Uberon specific ids.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n \n \n \n \n \n \n datasetResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.technology.id]: 'technology',\n [entity.thumbnail.id]: 'thumbnail',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n donorResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.providerName.id]: 'providerName'\n}\n \n \n\n\n \n \n \n \n \n \n \n \n listResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n [entity.label.id]: 'label',\n [entity.description.id]: 'description',\n [entity.link.id]: 'link'\n}\n \n \n\n \n \n Entity iri to property path.\n\n \n \n\n \n \n \n \n \n \n \n \n tissueBlockResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionCount.id]: 'sectionCount',\n [entity.sectionSize.id]: 'sectionSize',\n [entity.sectionUnits.id]: 'sectionUnits',\n\n [entity.donor.id]: 'donor',\n [entity.spatialEntity.id]: 'spatialEntityId',\n [entity.sections.id]: 'sections',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n tissueSectionResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionNumber.id]: 'sectionNumber',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n \n \n \n \n \n \n DEFAULT_API_SEARCH_QUERY\n \n \n \n \n \n \n Default value : {\n exists: {\n field: 'rui_location'\n }\n}\n \n \n\n\n \n \n \n \n \n \n \n \n INCLUDED_DATA_FIELDS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors.entity_type',\n 'ancestors.description',\n 'ancestors.metadata.organ_donor_data.preferred_term',\n 'ancestors.metadata.organ_donor_data.data_value',\n 'ancestors.last_modified_timestamp',\n 'ancestors.group_uuid',\n 'ancestors.group_name',\n 'ancestors.created_by_user_displayname',\n 'ancestors.uuid',\n 'descendants.entity_type',\n 'descendants.ingest_metadata.metadata.tissue_id',\n 'descendants.last_modified_timestamp',\n 'descendants.group_uuid',\n 'descendants.group_name',\n 'descendants.created_by_user_displayname',\n 'descendants.uuid',\n 'descendants.data_types',\n 'descendants.ingest_metadata.metadata.assay_type',\n 'descendants.thumbnail_file',\n 'descendants.metadata.files.rel_path',\n 'rui_location', 'specimen_type'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n PER_API_SEARCH_REQUEST_COUNT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 250\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/ccf-database.ts\n \n \n \n \n \n \n \n DEFAULT_CCF_DB_OPTIONS\n \n \n \n \n \n \n Type : CCFDatabaseOptions\n\n \n \n \n \n Default value : {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n}\n \n \n\n \n \n Default initialization options.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n \n DR1_VU_THUMBS\n \n \n \n \n \n \n Default value : new Set(['VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-PAS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-PAS_registered_thumbnail.jpg', 'VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-PAS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg'])\n \n \n\n\n \n \n \n \n \n \n \n \n ENTITY_CONTEXT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '@base': 'http://purl.org/ccf/latest/ccf-entity.owl#',\n '@vocab': 'http://purl.org/ccf/latest/ccf-entity.owl#',\n ccf: 'http://purl.org/ccf/latest/ccf.owl#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n\n label: 'rdfs:label',\n description: 'rdfs:comment',\n link: {\n '@id': 'rdfs:seeAlso',\n '@type': '@id'\n },\n samples: {\n '@reverse': 'has_donor'\n },\n sections: {\n '@id': 'has_tissue_section',\n '@type': '@id'\n },\n datasets: {\n '@id': 'has_dataset',\n '@type': '@id'\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n rui_location: {\n '@id': 'has_spatial_entity',\n '@type': '@id'\n },\n ontologyTerms: {\n '@id': 'has_ontology_term',\n '@type': '@id'\n },\n cellTypeTerms: {\n '@id': 'has_cell_type_term',\n '@type': '@id'\n },\n thumbnail: {\n '@id': 'has_thumbnail'\n }\n}\n \n \n\n\n \n \n \n \n \n \n \n \n GROUP_UUID_MAPPING\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n '03b3d854-ed44-11e8-8bce-0e368f3075e8': 'TMC-UCSD',\n '07a29e4c-ed43-11e8-b56a-0e8017bdda58': 'TMC-Florida',\n '308f5ffc-ed43-11e8-b56a-0e8017bdda58': 'TMC-CalTech',\n '5bd084c8-edc2-11e8-802f-0e368f3075e8': 'HBM-TestingGroup',\n '73bb26e4-ed43-11e8-8f19-0a7c1eab007a': 'TMC-Vanderbilt',\n 'def5fd76-ed43-11e8-b56a-0e8017bdda58': 'TMC-Stanford',\n '5c106f29-ea2d-11e9-85e8-0efb3ba9a670': 'RTI-General Electric',\n '301615f9-c870-11eb-a8dc-35ce3d8786fe': 'TMC-UConn'\n}\n \n \n\n \n \n UUID to TMC mapping.\n\n \n \n\n \n \n \n \n \n \n \n \n HBM_PREFIX\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://entity.api.hubmapconsortium.org/entities/'\n \n \n\n\n \n \n \n \n \n \n \n \n UFL_THUMBS\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : { 'HBM558.SRZG.629': 'HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg', 'HBM562.NTMH.548': 'HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg', 'HBM685.KHRQ.684': 'HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg', 'HBM278.SFQW.627': 'HBM278.SFQW.627_UFL0008-LY09-1-1.jpg', 'HBM427.SMGB.866': 'HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg', 'HBM432.LLCF.677': 'HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg', 'HBM586.ZSVS.996': 'HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg', 'HBM285.XMBT.542': 'HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg', 'HBM289.BWJW.663': 'HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg', 'HBM255.SRPR.985': 'HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg', 'HBM799.WXHD.535': 'HBM799.WXHD.535_UFL0009-LY02-1-1.jpg', 'HBM294.RZFN.624': 'HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg', 'HBM383.TRQG.424': 'HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg', 'HBM647.MFQB.496': 'HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg', 'HBM237.GGPR.739': 'HBM237.GGPR.739_UFL0006-LY01-1-1.jpg', 'HBM288.TPBD.654': 'HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg', 'HBM974.NDXT.675': 'HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg', 'HBM589.SLVV.423': 'HBM589.SLVV.423_UFL0008-LY10-1-1.jpg', 'HBM794.RLFN.358': 'HBM794.RLFN.358_UFL0006-LY03-1-1.jpg', 'HBM372.BQSR.778': 'HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg', 'HBM499.TKDW.458': 'HBM499.TKDW.458_UFL0009-LY03-1-1.jpg', 'HBM342.PRQB.739': 'HBM342.PRQB.739_UFL0003-LY06-1-1.jpg', 'HBM633.CLVN.674': 'HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg', 'HBM343.JQKM.578': 'HBM343.JQKM.578_UFL0009-LY01-1-1.jpg', 'HBM987.XGTH.368': 'HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg', 'HBM964.CWCP.788': 'HBM964.CWCP.788_UFL0006-LY02-2-1.jpg', 'HBM244.TJLK.223': 'HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg', 'HBM646.FSBQ.966': 'HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg', 'HBM572.GXSB.234': 'HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg', 'HBM772.TKGJ.794': 'HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg', 'HBM239.CBWR.263': 'HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg', 'HBM992.NRTT.383': 'HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg', 'HBM283.DQXD.546': 'HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg', 'HBM795.JHND.856': 'HBM795.JHND.856_UFL0007-SP-1-2-1.jpg', 'HBM267.BZKT.867': 'HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg', 'HBM838.DLMJ.782': 'HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg', 'HBM337.FSXL.564': 'HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg', 'HBM355.JDLK.244': 'HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg', 'HBM599.PSZG.737': 'HBM599.PSZG.737_UFL0006-LY02-1-1.jpg' }\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n \n \n \n \n \n \n getAnatomicalStructureTreeModel\n \n \n \n \n \n \n Default value : memoize(getAnatomicalStructureTreeModelSlowly, () => '')\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n \n \n \n \n \n \n mappings\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n spatialObjectReference: reverseMapping(ccf.spatialObjectReference),\n spatialEntity: reverseMapping(ccf.spatialEntity),\n spatialPlacement: reverseMapping(ccf.spatialPlacement)\n}\n \n \n\n \n \n A mapping of spatial objects.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n \n \n \n \n \n \n spatialEntityDimensions\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n [ccf.spatialEntity.x_dimension.id]: 'x',\n [ccf.spatialEntity.y_dimension.id]: 'y',\n [ccf.spatialEntity.z_dimension.id]: 'z'\n}\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-database/miscellaneous/variables.html b/docs/ccf-database/miscellaneous/variables.html index bae27e3c5..4a97fca51 100644 --- a/docs/ccf-database/miscellaneous/variables.html +++ b/docs/ccf-database/miscellaneous/variables.html @@ -1170,7 +1170,26 @@

    'uuid', 'entity_type', 'group_uuid', 'group_name', 'last_modified_timestamp', 'created_by_user_displayname', - 'ancestors', 'descendants', + 'ancestors.entity_type', + 'ancestors.description', + 'ancestors.metadata.organ_donor_data.preferred_term', + 'ancestors.metadata.organ_donor_data.data_value', + 'ancestors.last_modified_timestamp', + 'ancestors.group_uuid', + 'ancestors.group_name', + 'ancestors.created_by_user_displayname', + 'ancestors.uuid', + 'descendants.entity_type', + 'descendants.ingest_metadata.metadata.tissue_id', + 'descendants.last_modified_timestamp', + 'descendants.group_uuid', + 'descendants.group_name', + 'descendants.created_by_user_displayname', + 'descendants.uuid', + 'descendants.data_types', + 'descendants.ingest_metadata.metadata.assay_type', + 'descendants.thumbnail_file', + 'descendants.metadata.files.rel_path', 'rui_location', 'specimen_type' ] @@ -1198,7 +1217,7 @@

    diff --git a/docs/ccf-rui/injectables/ReferenceDataState.html b/docs/ccf-rui/injectables/ReferenceDataState.html index 63bd168ea..5b38c8f20 100644 --- a/docs/ccf-rui/injectables/ReferenceDataState.html +++ b/docs/ccf-rui/injectables/ReferenceDataState.html @@ -696,7 +696,7 @@

    } const name = entity.label ?? ''; - const organ = ALL_ORGANS.find(info => name.endsWith(info.organ)); + const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side)); if (!organ) { return undefined; } diff --git a/docs/ccf-rui/interfaces/OrganData.html b/docs/ccf-rui/interfaces/OrganData.html index d6d3a5d48..e5b889133 100644 --- a/docs/ccf-rui/interfaces/OrganData.html +++ b/docs/ccf-rui/interfaces/OrganData.html @@ -389,7 +389,7 @@

    Properties

    } const name = entity.label ?? ''; - const organ = ALL_ORGANS.find(info => name.endsWith(info.organ)); + const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side)); if (!organ) { return undefined; } diff --git a/docs/ccf-rui/interfaces/ReferenceDataStateModel.html b/docs/ccf-rui/interfaces/ReferenceDataStateModel.html index d4c207217..fba6af481 100644 --- a/docs/ccf-rui/interfaces/ReferenceDataStateModel.html +++ b/docs/ccf-rui/interfaces/ReferenceDataStateModel.html @@ -533,7 +533,7 @@

    Properties

    } const name = entity.label ?? ''; - const organ = ALL_ORGANS.find(info => name.endsWith(info.organ)); + const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side)); if (!organ) { return undefined; } diff --git a/docs/ccf-rui/js/search/search_index.js b/docs/ccf-rui/js/search/search_index.js index 2a5ba0a16..027fb4293 100644 --- a/docs/ccf-rui/js/search/search_index.js +++ b/docs/ccf-rui/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/injectables/AnatomicalStructureTagState.html",[0,1.271,1,2.49]],["body/injectables/AnatomicalStructureTagState.html",[0,1.512,1,2.962,2,2.042,3,0.067,4,0.084,5,0.067,6,0.12,7,6.79,8,3.828,9,5.289,10,2.874,11,0.833,12,2.15,13,4.576,14,2.962,15,2.509,16,1.974,17,5.384,18,0.336,19,0.573,20,2.148,21,5.384,22,2.69,23,2.821,24,5.043,25,1.301,26,5.906,27,5.193,28,5.381,29,2.869,30,4.576,31,5.193,32,2.63,33,5.247,34,5.384,35,1.08,36,2.874,37,3.771,38,1.952,39,5.193,40,0.966,41,0.99,42,1.727,43,0.01,44,1.066,45,0.778,46,1.345,47,1.215,48,1.474,49,3.485,50,3.213,51,4.576,52,1.952,53,3.877,54,3.581,55,1.612,56,1.226,57,4.576,58,3.581,59,3.42,60,3.622,61,3.622,62,4.576,63,3.581,64,3.581,65,2.223,66,4.169,67,3.581,68,4.576,69,0.907,70,4.687,71,1.531,72,5.296,73,3.581,74,4.169,75,0.007,76,3.162,77,3.996,78,4.169,79,4.169,80,0.007,81,4.576,82,4.262,83,3.622,84,0.006,85,0.666,86,0.7,87,3.581,88,2.39,89,3.581,90,2.108,91,2.196,92,3.485,93,3.581,94,3.581,95,3.581,96,2.705,97,3.581,98,3.581,99,0.315,100,4.576,101,3.155,102,1.749,103,3.155,104,0.172,105,2.63,106,2.223,107,2.092,108,1.533,109,1.533,110,1.442,111,2.665,112,1.883,113,1.016,114,1.582,115,1.219,116,2.239,117,2.135,118,2.665,119,1.958,120,2.135,121,2.874,122,1.401,123,1.401,124,1.401,125,1.323,126,1.401,127,2.665,128,1.634,129,0.348,130,0.121,131,2.665,132,1.486,133,0.118,134,1.378,135,3.155,136,3.155,137,3.155,138,3.622,139,1.252,140,3.666,141,0.918,142,0.941,143,4.414,144,3.155,145,2.874,146,3.155,147,3.155,148,3.155,149,3.643,150,3.155,151,3.155,152,3.155,153,3.155,154,3.155,155,2.7,156,2.092,157,3.155,158,2.358,159,4.576,160,1.068,161,0.541,162,1.533,163,1.634,164,2.358,165,2.042,166,2.358,167,2.358,168,2.239,169,2.358,170,2.358,171,3.155,172,3.155,173,2.239,174,2.239,175,3.155,176,3.155,177,2.498,178,4.576,179,4.576,180,4.576,181,3.42,182,1.816,183,4.576,184,2.498,185,2.498,186,3.155,187,3.155,188,1.156,189,2.358,190,3.155,191,3.155,192,3.155,193,3.155,194,3.155]],["title/interfaces/AnatomicalStructureTagStateModel.html",[129,0.292,131,3.249]],["body/interfaces/AnatomicalStructureTagStateModel.html",[0,1.765,1,2.545,3,0.084,4,0.104,5,0.084,6,0.063,7,3.582,8,2.947,9,2.79,10,3.582,11,0.555,12,2.134,13,3.931,14,2.545,15,2.497,16,1.696,17,5.341,20,1.996,21,3.931,22,2.7,23,2.617,24,4.534,26,3.931,28,3.582,29,1.91,33,5.184,34,3.931,35,1.071,37,3.644,40,0.83,41,0.851,43,0.01,44,0.621,45,0.723,47,1.099,48,1.267,49,3.457,50,3.187,51,3.931,53,3.74,55,0.917,56,1.166,57,3.931,59,2.939,60,3.112,61,3.112,62,3.931,65,1.91,66,3.582,68,3.931,69,0.821,70,4.534,71,1.118,72,5.496,74,3.582,75,0.007,76,2.86,77,3.614,78,3.582,79,3.582,80,0.007,81,3.931,82,4.228,83,3.112,84,0.006,88,2.371,90,1.906,91,2.178,92,3.457,96,2.617,99,0.327,100,5.341,101,3.931,102,2.179,103,3.931,104,0.214,105,3.069,106,2.594,107,2.442,108,1.91,109,1.91,110,1.797,111,3.321,112,2.346,113,1.267,114,1.971,115,1.519,116,2.79,117,2.66,118,3.321,119,2.441,120,2.66,121,3.582,122,1.745,123,1.745,124,1.745,125,1.649,126,1.745,127,3.321,128,2.036,129,0.406,130,0.142,131,4.511,132,1.852,133,0.147,134,1.518,135,3.931,136,3.931,137,3.931,138,4.228,139,1.332,140,4.039,141,1.071,142,1.099,143,4.864,144,3.931,145,3.582,146,3.931,147,3.931,148,3.931,149,4.104,150,3.931,151,3.931,152,3.931,153,3.931,154,3.931,155,2.975,156,2.442,157,3.931,158,2.939,159,5.341,160,1.176,161,0.674,162,1.91,163,2.036,164,2.939,165,2.545,166,2.939,167,2.939,168,2.79,169,2.939,170,2.939,171,3.931,172,3.931,173,2.79,174,2.79,175,3.931,176,3.931,177,3.112,178,5.341,179,5.341,180,5.341,181,3.992,182,2.12,183,5.341,184,3.112,185,3.112,186,3.931,187,3.931,188,1.44,189,2.939,190,3.931,191,3.931,192,3.931,193,3.931,194,3.931,195,1.175]],["title/components/AppComponent.html",[196,0.424,197,1.179]],["body/components/AppComponent.html",[3,0.049,4,0.061,5,0.077,6,0.12,11,0.772,12,0.979,16,0.997,18,0.537,19,0.453,20,1.434,22,1.361,23,1.923,25,1.029,32,2.079,35,0.725,37,3.364,38,1.966,42,1.446,43,0.01,44,0.992,45,0.598,46,1.126,52,1.195,55,1.277,56,1.132,69,1.079,75,0.004,80,0.003,84,0.003,85,1.421,86,1.466,88,2.239,91,2.057,99,0.277,104,0.126,112,1.379,113,0.745,129,0.275,130,0.096,133,0.086,134,0.844,139,0.827,141,1.011,142,0.744,160,0.654,161,1.288,182,1.436,188,1.325,196,0.603,197,1.545,198,1.029,199,0.745,200,0.825,201,0.825,202,0.804,203,1.952,204,2.448,205,1.654,206,2.471,207,3.332,208,0.708,209,1.226,210,1.226,211,2.212,212,1.099,213,1.237,214,1.108,215,4.061,216,1.108,217,3.296,218,4.061,219,3.267,220,4.536,221,4.536,222,3.767,223,3.529,224,3.579,225,4.307,226,4.357,227,4.061,228,3.617,229,4.106,230,2.796,231,3.77,232,4.595,233,3.296,234,3.617,235,4.106,236,4.061,237,2.105,238,5.529,239,4.595,240,4.595,241,3.529,242,3.412,243,3.765,244,3.264,245,2.233,246,2.306,247,2.767,248,3.131,249,4.106,250,2.864,251,3.332,252,2.311,253,3.77,254,4.106,255,4.988,256,1.705,257,2.341,258,2.235,259,1.71,260,1.786,261,4.905,262,3.758,263,2.735,264,2.623,265,4.595,266,4.106,267,4.061,268,4.061,269,3.332,270,4.061,271,3.765,272,3.056,273,3.056,274,3.296,275,3.296,276,2.623,277,2.448,278,1.517,279,2.623,280,2.623,281,2.341,282,3.296,283,2.448,284,4.26,285,4.061,286,3.77,287,2.166,288,2.623,289,3.296,290,2.623,291,2.623,292,3.296,293,2.623,294,2.623,295,3.296,296,2.623,297,1.636,298,2.623,299,2.296,300,1.836,301,2.767,302,2.623,303,2.341,304,2.079,305,2.623,306,2.864,307,2.159,308,1.091,309,1.237,310,3.131,311,3.164,312,2.567,313,2.235,314,2.623,315,3.296,316,2.623,317,3.296,318,2.623,319,2.623,320,2.623,321,0.783,322,1.727,323,1.952,324,1.727,325,2.105,326,0.764,327,1.952,328,2.105,329,1.952,330,1.952,331,1.563,332,1.496,333,0.893,334,1.379,335,1.379,336,1.829,337,0.844,338,2.105,339,2.105,340,3.296,341,2.105,342,2.105,343,2.105,344,2.105,345,3.296,346,2.105,347,1.952,348,2.105,349,2.105,350,1.64,351,2.105,352,2.105,353,1.434,354,2.105,355,2.105,356,2.105,357,1.563,358,2.105,359,0.783,360,2.105,361,2.105,362,2.864,363,2.105,364,2.105,365,2.105,366,2.105,367,2.105,368,2.105,369,5.723,370,2.105,371,4.061,372,2.105,373,5.529,374,2.105,375,1.952,376,2.105,377,5.126,378,1.379,379,2.105,380,3.465,381,2.105,382,2.173,383,3.296,384,3.928,385,1.829,386,2.105,387,1.561,388,3.296,389,1.496,390,1.704,391,3.296,392,2.105,393,1.952,394,2.105,395,1.64,396,4.106,397,5.724,398,5.043,399,0.893,400,1.678,401,2.735,402,2.567,403,2.567,404,2.823,405,1.818,406,1.496,407,2.341,408,1.197,409,1.055,410,2.079,411,2.66,412,2.623,413,1.281,414,1.226,415,2.623,416,2.66,417,2.448,418,2.745,419,2.864,420,2.623,421,2.859,422,5.059,423,2.864,424,1.055,425,2.246,426,2.311,427,2.165,428,2.246,429,1.166,430,2.704,431,1.937,432,1.563,433,2.448,434,2.165,435,1.237,436,1.757,437,1.757,438,3.296,439,2.105,440,2.105,441,1.197,442,2.66,443,2.623,444,1.197,445,1.056,446,2.704,447,1.829,448,2.387,449,3.01,450,0.887,451,2.471,452,4.106,453,0.887,454,1.829,455,2.623,456,2.623,457,1.507,458,1.829,459,3.332,460,4.106,461,2.562,462,2.623,463,2.623,464,1.328,465,2.105,466,1.026,467,1.829,468,0.825,469,1.029,470,0.825,471,1.8,472,0.825,473,0.825,474,0.745,475,0.825,476,0.726,477,1.591,478,0.745,479,0.825,480,1.108,481,1.591,482,0.745,483,0.783,484,0.825,485,0.745,486,0.825,487,0.745,488,0.708,489,0.825,490,0.745,491,0.825,492,0.745,493,0.745,494,0.825,495,0.745,496,0.804,497,0.726,498,0.825,499,0.745,500,1.291,501,0.726,502,0.745,503,0.745,504,1.591,505,0.745,506,1.195,507,1.291,508,0.726,509,0.745,510,0.726,511,0.61,512,0.825,513,0.726,514,0.708,515,0.745,516,0.825,517,0.745,518,0.825,519,0.745,520,0.825,521,0.745,522,1.029,523,0.745,524,1.166,525,0.745,526,0.825,527,0.745,528,1.081,529,0.825,530,0.745,531,0.825,532,0.825]],["title/modules/AppModule.html",[533,1.271,534,3.249]],["body/modules/AppModule.html",[3,0.098,4,0.122,5,0.098,6,0.095,25,1.31,37,3.71,38,1.217,43,0.01,55,1.075,56,1.017,75,0.007,80,0.006,84,0.006,99,0.342,104,0.251,130,0.122,133,0.172,139,0.855,161,0.79,197,2.317,204,3.117,205,2.106,212,0.65,226,2.982,284,3.892,287,1.644,297,1.377,323,3.892,324,3.444,326,1.522,330,3.892,424,1.343,474,2.437,534,6.783,535,1.484,536,1.96,537,4.607,538,4.607,539,4.607,540,5.809,541,5.809,542,5.809,543,5.809,544,5.809,545,5.809,546,5.809,547,2.117,548,1.484,549,5.229,550,2.291,551,6.733,552,2.173,553,7.446,554,5.229,555,6.733,556,2.063,557,5.229,558,4.607,559,6.733,560,4.607,561,2.86,562,2.794,563,2.045,564,6.733,565,5.932,566,4.434,567,3.27,568,5.404,569,4.198,570,5.932,571,6.733,572,3.647,573,5.229,574,5.229,575,5.229,576,5.01,577,5.229,578,5.229,579,5.229,580,3.892,581,6.733,582,5.229,583,4.434,584,4.607,585,5.229,586,3.892,587,5.229,588,3.444,589,5.01,590,5.404,591,3.647,592,4.198,593,4.607,594,5.229,595,5.229,596,2.106,597,6.733,598,5.229,599,4.607,600,5.229,601,3.892]],["title/interfaces/AppOptions.html",[129,0.292,336,3.045]],["body/interfaces/AppOptions.html",[3,0.078,4,0.097,5,0.078,6,0.059,16,2.197,18,0.391,19,0.637,20,1.448,22,1.38,23,1.583,35,0.736,37,3.384,43,0.01,45,0.651,46,1.478,56,1.138,69,1.19,75,0.006,80,0.004,84,0.004,85,0.774,88,2.261,91,2.077,99,0.313,104,0.2,112,2.189,113,1.182,129,0.387,130,0.135,133,0.137,134,1.188,139,1.086,141,1.021,142,0.755,160,0.921,161,1.291,182,1.456,195,1.096,196,0.644,197,1.124,203,3.099,204,2.482,205,1.677,206,2.823,207,3.807,209,1.244,210,1.244,211,1.664,212,0.825,213,1.018,214,1.124,215,3.342,216,1.124,217,3.342,218,3.342,219,3.962,220,5.136,221,5.136,222,3.162,223,2.904,224,3.614,225,4.152,226,4.781,227,3.342,230,2.034,231,2.742,232,3.342,236,3.342,238,5.33,239,4.64,240,4.64,241,2.904,242,3.446,243,3.099,244,3.296,245,2.578,246,2.328,247,2.277,248,3.162,251,2.742,253,2.742,255,4.64,256,1.545,257,2.035,258,1.839,259,1.726,260,1.448,261,4.302,262,3.296,263,2.399,265,3.342,267,3.342,268,3.342,269,2.742,270,3.342,271,3.099,272,3.099,273,3.099,274,3.342,275,3.342,277,2.482,278,1.538,281,2.374,282,3.342,283,2.482,284,4.941,285,4.64,286,4.373,287,2.256,289,3.342,292,3.342,295,3.342,297,1.748,299,2.136,300,1.043,301,3.162,303,2.374,304,2.108,306,2.904,307,2.189,308,0.794,309,1.018,310,2.277,311,3.614,312,2.604,313,1.839,315,3.342,317,3.342,321,1.244,322,2.742,323,3.099,324,2.742,325,3.342,326,1.212,327,3.099,328,3.342,329,3.099,330,3.099,331,2.482,332,2.374,333,1.417,334,2.189,335,2.189,336,4.032,337,1.474,338,3.342,339,3.342,340,4.64,341,3.342,342,3.342,343,3.342,344,3.342,345,4.64,346,3.342,347,3.099,348,3.342,349,3.342,350,2.604,351,3.342,352,3.342,353,2.277,354,3.342,355,3.342,356,3.342,357,2.482,358,3.342,359,1.244,360,3.342,361,3.342,362,2.904,363,3.342,364,3.342,365,3.342,366,3.342,367,3.342,368,3.342,369,6.546,370,3.342,371,5.33,372,3.342,373,6.421,374,3.342,375,3.099,376,3.342,377,5.953,378,2.189,379,3.342,380,4.1,381,3.342,382,2.021,383,4.64,384,4.561,385,2.904,386,3.342,387,2.197,388,4.64,389,2.374,390,2.399,391,4.64,392,3.342,393,3.099,394,3.342,395,2.604]],["title/components/AppWebComponent.html",[196,0.424,474,1.239]],["body/components/AppWebComponent.html",[3,0.076,4,0.095,5,0.106,6,0.124,12,1.353,16,2.156,18,0.38,19,0.626,35,1.002,38,2.019,42,0.943,43,0.01,44,0.987,45,0.804,46,0.735,56,0.857,69,1.219,75,0.006,80,0.004,82,3.956,84,0.004,99,0.3,104,0.195,113,1.15,130,0.181,133,0.133,139,0.663,142,0.735,196,0.635,197,1.094,198,1.64,199,1.61,201,1.274,202,1.242,208,1.094,209,1.694,210,1.694,211,2.27,212,1.13,213,1.6,219,3.727,220,4.31,221,4.31,226,3.732,245,1.456,246,2.855,247,3.877,248,3.877,256,0.943,259,2.577,260,1.421,299,2.933,300,1.64,308,1.081,309,0.99,321,1.21,326,1.18,329,3.016,333,2.702,337,1.665,359,1.21,409,1.041,450,0.875,453,0.875,457,1.067,468,1.274,469,1.421,470,1.274,471,2.229,472,1.274,473,1.274,474,2.012,475,1.274,476,1.122,477,2.058,478,1.15,479,1.274,480,1.531,481,2.058,482,1.15,483,1.21,484,1.274,485,1.15,486,1.274,487,1.15,488,1.094,489,1.274,490,1.15,491,1.274,492,1.15,493,1.15,494,1.274,495,1.15,496,1.242,497,1.122,498,1.274,499,1.15,500,1.784,501,1.122,502,1.15,503,1.15,504,2.058,505,1.15,506,1.651,507,1.784,508,1.122,509,1.15,510,1.122,511,0.943,512,1.274,513,1.122,514,1.094,515,1.15,516,1.274,517,1.15,518,1.274,519,1.15,520,1.274,521,1.15,522,1.421,523,1.15,524,1.61,525,1.15,526,1.274,527,1.15,528,1.494,529,1.274,530,1.15,531,1.274,532,1.274,572,6.084,602,7.002,603,3.253,604,6.544,605,5.672,606,3.901,607,2.285,608,4.092,609,4.669,610,5.69,611,6.246,612,3.131,613,6.246,614,5.276,615,4.052,616,5.672,617,5.672,618,4.052,619,4.564,620,4.052,621,4.31,622,4.052,623,5.766,624,4.052,625,4.052,626,4.052,627,4.052,628,4.052,629,4.87,630,4.052,631,4.052,632,4.052,633,4.052,634,4.052,635,1.979,636,2.052,637,5.672,638,4.052,639,2.052,640,2.052,641,4.997,642,1.734,643,4.052,644,4.052,645,4.052,646,3.253,647,4.052,648,4.052,649,4.052,650,4.052,651,4.052,652,6.544,653,6.544,654,6.544]],["title/interfaces/BlockSize.html",[129,0.292,655,2.388]],["body/interfaces/BlockSize.html",[3,0.099,4,0.124,5,0.099,6,0.075,11,0.658,18,0.497,19,0.749,40,0.985,41,1.01,43,0.01,44,0.945,45,0.68,47,0.96,56,1.025,69,0.717,71,2.178,75,0.007,80,0.006,84,0.006,86,1.036,99,0.257,104,0.254,129,0.502,130,0.159,132,2.199,133,0.223,139,1.11,141,1.2,160,1.193,161,1.132,182,1.852,195,1.395,196,0.767,209,1.582,210,1.582,211,1.327,212,0.844,214,1.43,216,1.43,256,2.101,259,2.57,260,1.327,321,1.582,382,2.856,387,3.105,390,3.39,404,2.508,409,2.21,414,2.028,469,1.327,476,1.466,596,2.134,655,4.321,656,3.695,657,3.489,658,3.158,659,5.052,660,3.437,661,4.466,662,4.505,663,5.981,664,2.818,665,1.504,666,2.818,667,2.655,668,2.013,669,1.957,670,2.508,671,3.942,672,5.575,673,4.505,674,3.942,675,3.489,676,3.489,677,1.504,678,1.666,679,3.279,680,3.942,681,3.489,682,4.667,683,2.655,684,2.267,685,4.245,686,3.158,687,3.859,688,3.942,689,3.489,690,4.667,691,3.695,692,3.489,693,3.312,694,6.601,695,3.942,696,4.667,697,5.981,698,4.667,699,5.981,700,3.942,701,4.667,702,4.667]],["title/components/BlockSizeInputComponent.html",[196,0.424,476,1.209]],["body/components/BlockSizeInputComponent.html",[3,0.069,4,0.086,5,0.099,6,0.112,11,0.772,12,1.264,18,0.346,19,0.585,25,1.329,35,0.651,38,1.797,40,0.986,41,1.011,42,1.234,43,0.01,44,1.137,45,0.68,46,0.961,47,0.961,52,1.073,55,1.09,56,1.026,69,0.92,71,1.556,75,0.006,76,1.739,80,0.004,84,0.004,85,1.155,86,1.407,99,0.201,104,0.177,129,0.355,130,0.124,132,1.53,133,0.247,139,0.867,141,1.097,142,0.668,160,0.989,161,1.087,182,1.854,188,1.712,196,0.75,197,0.995,198,1.329,199,1.046,200,1.159,201,1.159,202,1.129,208,0.995,209,1.584,210,1.584,211,2.254,212,1.124,213,0.901,214,1.432,216,1.432,219,1.938,256,2.078,259,2.584,260,1.702,300,1.556,308,1.011,309,0.901,321,1.101,382,2.375,387,2.582,390,2.82,399,1.254,400,1.432,401,2.578,404,2.51,408,1.682,409,2.317,414,2.029,421,1.53,427,1.577,434,2.27,436,1.577,437,1.577,444,2.419,445,1.485,448,1.739,450,0.796,451,1.8,453,1.145,454,2.571,457,0.97,461,1.866,468,1.159,469,1.803,470,1.159,471,2.136,472,1.159,473,1.159,474,1.046,475,1.159,476,1.88,477,1.953,478,1.046,479,1.159,480,1.432,481,1.953,482,1.046,483,1.101,484,1.159,485,1.046,486,1.159,487,1.046,488,0.995,489,1.159,490,1.046,491,1.159,492,1.046,493,1.046,494,1.159,495,1.046,496,1.129,497,1.02,498,1.159,499,1.046,500,1.667,501,1.02,502,1.046,503,1.046,504,1.953,505,1.046,506,1.544,507,1.667,508,1.02,509,1.046,510,1.02,511,0.857,512,1.159,513,1.02,514,0.995,515,1.046,516,1.159,517,1.046,518,1.159,519,1.046,520,1.159,521,1.046,522,1.329,523,1.046,524,1.505,525,1.046,526,1.159,527,1.046,528,1.396,529,1.159,530,1.046,531,1.159,532,1.159,561,2.016,592,2.958,596,1.485,607,2.502,655,4.1,656,5.513,657,5.206,658,2.197,659,2.743,660,1.866,661,4.291,662,4.404,663,5.472,664,2.578,665,1.046,666,2.201,667,2.657,668,1.401,669,1.362,670,2.295,671,2.743,672,5.056,673,4.104,674,3.946,675,3.492,676,4.091,677,1.505,678,1.953,679,3.281,680,3.946,681,3.492,682,5.472,683,2.43,684,2.27,685,4.501,686,3.161,687,3.661,688,3.946,689,3.492,690,4.672,691,2.571,692,2.427,693,2.304,694,5.472,695,2.743,696,3.247,697,4.672,698,3.247,699,4.672,700,3.946,701,5.985,702,3.247,703,5.303,704,2.59,705,1.757,706,1.938,707,5.303,708,3.247,709,4.672,710,3.685,711,3.247,712,4.257,713,4.091,714,3.247,715,2.571,716,3.247,717,2.304,718,2.016,719,2.571,720,2.197,721,2.571,722,1.938,723,2.571,724,3.247,725,2.958,726,2.571,727,2.304,728,2.427,729,2.427]],["title/modules/BlockSizeInputModule.html",[533,1.271,730,3.045]],["body/modules/BlockSizeInputModule.html",[3,0.12,4,0.149,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,256,1.487,409,2.093,424,1.641,476,2.515,535,1.814,536,2.22,547,2.398,548,1.814,550,2.595,552,2.063,556,2.336,562,3.165,563,2.5,656,4.458,657,4.209,730,6.169,731,5.631,732,5.631,733,5.631,734,5.13,735,2.595,736,2.74,737,2.175,738,5.674,739,4.756,740,5.318,741,4.458,742,4.17,743,3.495,744,5.13]],["title/modules/ConfigModule.html",[533,1.271,745,3.045]],["body/modules/ConfigModule.html",[3,0.128,4,0.159,5,0.128,6,0.097,43,0.01,75,0.008,80,0.007,84,0.007,99,0.317,104,0.328,130,0.159,133,0.225,212,0.849,326,1.988,535,1.938,556,2.429,588,4.497,589,5.081,745,5.529,746,6.828,747,5.529,748,5.9,749,6.364,750,3.894,751,6.828,752,6.828]],["title/components/ContainerComponent.html",[196,0.424,478,1.239]],["body/components/ContainerComponent.html",[3,0.062,4,0.078,5,0.092,6,0.119,11,0.728,12,1.174,18,0.462,19,0.543,20,2.192,25,1.233,32,2.493,35,0.588,38,1.943,40,0.915,41,0.939,42,1.145,43,0.01,44,0.962,45,0.724,46,0.892,47,0.892,48,1.397,52,1.885,55,1.538,56,0.978,61,2.322,69,0.451,71,1.233,75,0.005,80,0.004,84,0.004,85,1.089,86,1.145,90,1.548,99,0.274,104,0.16,113,0.945,115,1.133,130,0.078,133,0.238,134,1.33,139,1.058,141,1.035,142,0.603,160,1.031,161,0.885,188,1.891,196,0.786,197,0.899,198,1.812,199,0.945,200,1.047,201,1.047,202,1.02,205,1.983,206,2.861,208,0.899,209,1.47,210,1.47,211,2.235,212,1.116,213,0.814,214,1.329,216,1.329,225,4.679,230,3.162,247,3.541,248,3.541,256,1.145,257,2.117,258,2.859,260,1.233,263,3.002,277,2.935,278,2.392,297,1.97,300,2.123,308,0.939,309,0.814,311,3.663,312,3.078,313,3.718,321,0.994,337,1.33,357,1.984,382,1.164,395,2.081,399,1.133,400,0.899,406,2.807,407,1.898,409,0.855,416,3.603,417,1.984,429,0.945,450,0.719,453,0.719,457,0.876,466,1.926,468,1.047,469,1.731,470,1.047,471,2.036,472,1.047,473,1.047,474,0.945,475,1.047,476,0.921,477,1.842,478,1.838,479,1.047,480,1.865,481,1.842,482,0.945,483,0.994,484,1.047,485,1.838,486,1.047,487,0.945,488,0.899,489,1.047,490,0.945,491,1.047,492,0.945,493,0.945,494,1.047,495,0.945,496,1.02,497,0.921,498,1.047,499,0.945,500,1.548,501,0.921,502,0.945,503,0.945,504,1.842,505,0.945,506,1.433,507,1.548,508,0.921,509,0.945,510,0.921,511,0.774,512,1.047,513,0.921,514,0.899,515,0.945,516,1.047,517,0.945,518,1.047,519,0.945,520,1.047,521,0.945,522,1.233,523,0.945,524,1.397,525,0.945,526,1.047,527,0.945,528,1.296,529,1.047,530,0.945,531,1.047,532,1.047,588,3.242,660,1.685,665,0.945,677,1.397,705,1.631,753,2.672,754,2.935,755,4.703,756,4.337,757,4.923,758,3.394,759,5.858,760,4.923,761,3.152,762,4.36,763,5.858,764,5.858,765,4.758,766,3.952,767,5.196,768,6.473,769,5.858,770,3.952,771,4.923,772,2.588,773,3.374,774,3.242,775,4.923,776,4.923,777,3.305,778,3.329,779,4.337,780,4.923,781,3.242,782,3.664,783,3.664,784,3.329,785,2.174,786,4.923,787,4.923,788,3.329,789,3.329,790,4.923,791,4.923,792,2.861,793,3.329,794,3.242,795,7.483,796,4.923,797,6.473,798,3.329,799,5.196,800,3.952,801,6.473,802,4.923,803,3.329,804,3.952,805,4.337,806,4.923,807,3.329,808,3.329,809,3.329,810,4.337,811,3.329,812,3.329,813,1.233,814,3.329,815,3.329,816,2.672,817,2.672,818,2.477,819,2.192,820,2.322,821,2.933,822,3.952,823,3.329,824,2.933,825,3.329,826,2.933,827,3.858,828,3.858,829,2.933,830,2.933,831,3.329,832,3.329,833,3.329,834,3.329,835,2.192,836,2.672,837,2.933,838,2.477,839,3.329,840,3.329,841,4.337,842,2.081,843,2.693,844,4.337,845,3.329,846,3.329,847,3.329,848,1.819,849,3.329,850,3.329,851,4.923,852,4.923,853,3.329,854,3.329,855,3.329,856,3.329,857,3.329,858,3.329,859,3.329,860,2.477,861,3.329,862,3.329]],["title/components/ContentComponent.html",[196,0.424,480,1.179]],["body/components/ContentComponent.html",[3,0.055,4,0.069,5,0.084,6,0.118,11,0.678,12,1.074,15,2.256,18,0.512,19,0.497,20,1.645,22,2.176,23,2.629,24,3.593,25,1.129,35,0.796,38,1.917,40,0.837,41,0.859,42,1.269,43,0.01,44,1.057,45,0.725,46,0.989,52,0.861,55,1.349,56,1.045,69,0.4,71,1.129,75,0.005,80,0.003,84,0.003,85,1.378,86,1.45,88,2.386,91,2.192,92,3.479,99,0.287,104,0.142,114,1.306,115,1.006,130,0.069,133,0.228,139,0.892,141,0.522,142,0.989,160,1.046,161,1.272,188,0.954,196,0.765,197,0.798,198,1.129,199,0.839,200,0.93,201,0.93,202,0.906,205,1.814,206,2.665,207,3.593,208,0.798,209,1.345,210,1.345,211,2.211,212,1.109,213,1.334,214,1.216,216,1.216,230,2.665,231,4.018,237,2.373,244,3.479,247,3.336,248,3.336,256,1.269,257,2.477,258,1.989,260,1.645,263,1.227,278,1.664,283,1.763,287,1.918,297,0.779,300,1.367,308,1.448,309,0.723,321,0.883,324,1.947,331,1.763,332,1.686,337,0.926,377,4.886,378,1.555,380,3.207,382,2.793,384,3.479,387,2.945,390,3.216,393,2.2,399,1.006,400,1.773,401,2.532,404,2.016,405,1.619,406,1.686,407,2.568,409,0.759,410,1.497,411,1.555,414,1.961,416,3.582,418,2.41,421,1.869,427,1.265,429,1.279,433,2.685,434,1.265,435,1.395,436,1.265,437,1.265,447,2.062,449,1.555,450,1.178,453,0.973,457,0.779,459,1.947,461,3.089,464,1.497,468,0.93,469,1.645,470,0.93,471,1.918,472,0.93,473,0.93,474,0.839,475,0.93,476,0.818,477,1.716,478,0.839,479,0.93,480,1.773,481,1.716,482,0.839,483,0.883,484,0.93,485,0.839,486,0.93,487,0.839,488,0.798,489,0.93,490,0.839,491,0.93,492,0.839,493,0.839,494,0.93,495,0.839,496,0.906,497,0.818,498,0.93,499,0.839,500,1.416,501,0.818,502,0.839,503,0.839,504,1.716,505,0.839,506,1.311,507,1.416,508,0.818,509,0.839,510,0.818,511,0.688,512,0.93,513,0.818,514,0.798,515,0.839,516,0.93,517,0.839,518,0.93,519,0.839,520,0.93,521,0.839,522,1.129,523,0.839,524,1.279,525,0.839,526,0.93,527,0.839,528,1.186,529,0.93,530,0.839,531,0.93,532,0.93,548,1.279,612,2.41,635,2.2,636,2.281,639,1.497,640,1.497,665,0.839,673,1.686,677,1.279,678,1.716,705,1.493,713,2.966,720,1.763,721,2.062,722,1.555,754,3.252,774,2.966,781,2.966,785,2.41,813,1.528,863,2.605,864,4.38,865,3.968,866,5.456,867,5.456,868,6.1,869,6.1,870,6.917,871,5.456,872,4.504,873,5.456,874,4.504,875,3.207,876,6.1,877,4.504,878,4.504,879,4.504,880,2.957,881,5.456,882,2.957,883,2.957,884,2.957,885,6.566,886,2.957,887,2.957,888,1.686,889,2.957,890,2.957,891,2.2,892,2.957,893,2.957,894,3.814,895,3.324,896,1.849,897,4.504,898,4.504,899,4.504,900,4.504,901,6.917,902,4.288,903,4.504,904,4.504,905,4.504,906,4.504,907,4.504,908,4.504,909,2.957,910,2.957,911,3.616,912,4.504,913,6.566,914,3.968,915,3.968,916,4.504,917,4.504,918,2.957,919,2.957,920,5.456,921,3.968,922,4.504,923,4.504,924,4.504,925,4.504,926,4.504,927,4.504,928,2.957,929,5.456,930,2.816,931,2.957,932,2.816,933,4.504,934,2.605,935,2.605,936,2.957,937,2.373,938,2.957,939,2.957,940,2.957,941,3.616,942,3.142,943,1.947,944,2.062,945,1.947,946,1.947,947,1.947,948,2.373,949,1.947,950,4.504,951,6.1,952,6.1,953,3.352,954,1.763,955,3.352,956,4.504,957,4.504,958,4.504,959,4.504,960,3.089,961,2.816,962,2.966,963,1.849,964,1.947,965,1.869,966,2.957,967,3.352,968,2.062,969,1.961,970,2.957,971,2.957,972,1.763,973,2.957,974,2.605,975,2.2,976,2.062,977,2.957]],["title/components/ContentComponent-1.html",[188,1.175,196,0.353,480,0.982]],["body/components/ContentComponent-1.html",[3,0.058,4,0.072,5,0.087,6,0.12,11,0.775,12,1.109,15,1.63,18,0.437,19,0.513,20,2.081,25,1.166,35,0.545,38,1.96,40,0.865,41,0.887,42,1.303,43,0.01,44,0.979,45,0.732,46,1.015,47,0.843,48,1.321,52,1.948,55,1.375,56,1.062,69,0.418,71,1.963,75,0.005,80,0.003,84,0.003,85,1.516,86,1.577,90,1.463,99,0.253,104,0.148,113,0.876,130,0.072,133,0.231,134,1.282,139,1.193,141,0.822,142,0.559,160,1.163,161,0.846,165,2.653,188,1.502,196,0.746,197,0.833,198,1.166,199,1.321,200,0.97,201,0.97,202,0.946,205,1.874,206,2.735,208,0.833,209,1.39,210,1.39,211,2.22,212,1.109,213,0.754,214,1.256,225,4.564,230,3.045,247,3.41,248,3.41,256,0.718,257,1.911,258,2.754,260,1.166,263,2.919,277,2.774,278,1.719,287,2.295,297,1.922,300,2.173,308,0.887,309,0.754,311,3.502,312,2.909,321,0.922,337,1.5,357,1.84,362,2.152,378,1.622,380,2.944,382,1.079,395,1.93,399,1.05,400,0.833,401,1.931,402,1.93,403,1.93,404,1.14,405,1.109,406,1.76,409,1.975,414,2.296,416,3.629,421,1.931,423,2.152,424,0.793,429,2.072,434,1.991,435,1.456,450,1.577,453,1.577,457,0.813,465,2.477,466,1.207,467,2.152,468,0.97,469,1.676,470,0.97,471,1.961,472,0.97,473,0.97,474,0.876,475,0.97,476,0.854,477,1.761,478,0.876,479,0.97,480,1.806,481,1.761,482,0.876,483,0.922,484,0.97,485,1.899,486,0.97,487,0.876,488,0.833,489,0.97,490,0.876,491,0.97,492,0.876,493,0.876,494,0.97,495,0.876,496,0.946,497,0.854,498,0.97,499,0.876,500,1.463,501,0.854,502,0.876,503,0.876,504,1.761,505,0.876,506,1.355,507,1.463,508,0.854,509,0.876,510,0.854,511,0.718,512,0.97,513,0.854,514,0.833,515,0.876,516,0.97,517,0.876,518,0.97,519,0.876,520,0.97,521,0.876,522,1.166,523,0.876,524,1.321,525,0.876,526,0.97,527,0.876,528,1.225,529,0.97,530,0.876,531,0.97,532,0.97,606,1.84,665,0.876,677,1.321,684,2.669,705,1.542,758,3.106,762,4.168,765,3.988,766,3.735,770,3.735,772,2.446,773,3.045,774,3.064,777,3.106,781,3.064,782,3.462,783,3.462,805,4.099,813,1.882,818,2.297,827,4.807,828,4.631,838,2.297,842,1.93,843,1.688,864,4.495,964,2.032,965,1.931,969,3.105,978,2.719,979,4.653,980,7.011,981,5.6,982,6.69,983,5.6,984,5.6,985,6.235,986,4.653,987,4.653,988,4.653,989,6.235,990,6.235,991,6.235,992,4.653,993,3.064,994,4.653,995,5.6,996,4.653,997,4.653,998,5.6,999,4.653,1000,4.653,1001,3.735,1002,3.086,1003,3.735,1004,3.735,1005,3.086,1006,3.086,1007,4.099,1008,3.735,1009,4.653,1010,4.976,1011,3.086,1012,4.653,1013,3.086,1014,3.245,1015,2.055,1016,4.653,1017,6.235,1018,2.297,1019,4.168,1020,2.477,1021,2.477,1022,3.086,1023,3.086,1024,3.086,1025,3.086,1026,3.086,1027,3.086,1028,3.086,1029,2.477,1030,4.653,1031,3.086,1032,4.653,1033,3.086,1034,1.688,1035,2.032,1036,3.086,1037,3.086,1038,3.086,1039,5.6,1040,3.086,1041,3.086,1042,4.653,1043,3.086,1044,3.086,1045,4.653,1046,3.086,1047,3.086,1048,3.086,1049,3.086,1050,2.719]],["title/interfaces/ContentContainerChanged.html",[129,0.292,1051,2.73]],["body/interfaces/ContentContainerChanged.html",[3,0.1,4,0.124,5,0.1,6,0.076,11,0.662,15,1.552,18,0.5,19,0.752,43,0.01,45,0.828,47,1.235,48,1.513,71,1.708,75,0.007,80,0.006,84,0.006,90,2.362,99,0.202,122,2.085,123,2.085,124,2.085,125,1.969,126,2.085,129,0.53,130,0.206,133,0.175,139,0.871,141,1.204,182,2.769,195,1.403,196,0.794,198,1.708,222,2.915,300,2.235,313,3.01,337,1.401,414,2.035,416,3.724,425,3.727,431,2.514,522,1.335,606,3.177,642,3.216,679,2.212,758,3.319,761,2.432,765,4.063,772,2.802,773,3.329,777,3.939,792,3.329,813,1.708,842,3.332,843,3.727,848,1.969,969,2.449,1010,4.261,1014,3.717,1034,2.915,1051,4.698,1052,3.332,1053,4.773,1054,4.753,1055,4.753,1056,4.948,1057,3.717,1058,4.261,1059,3.717,1060,4.516,1061,4.261,1062,4.753,1063,3.966,1064,3.966,1065,4.261,1066,4.261,1067,3.966,1068,3.717,1069,4.753,1070,3.717,1071,3.717,1072,4.109,1073,3.332,1074,3.332]],["title/modules/ContentModule.html",[533,1.271,540,3.045]],["body/modules/ContentModule.html",[3,0.116,4,0.145,5,0.116,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.77,309,1.829,326,1.804,424,1.592,457,1.632,480,2.444,524,1.759,535,1.759,536,2.179,540,6.29,547,2.354,548,1.759,550,2.547,552,2.416,556,2.293,562,3.107,563,2.424,735,2.547,736,2.69,737,2.109,740,5.22,741,4.322,817,4.974,1075,5.459,1076,5.459,1077,5.459,1078,5.459,1079,6.06,1080,6.06,1081,6.196,1082,7.485,1083,7.485,1084,4.322,1085,6.196,1086,4.081,1087,4.611,1088,6.196]],["title/modules/CoreModule.html",[533,1.271,541,3.045]],["body/modules/CoreModule.html",[3,0.115,4,0.144,5,0.115,6,0.087,43,0.01,46,1.118,75,0.008,80,0.007,84,0.007,99,0.335,104,0.296,130,0.144,133,0.203,141,1.09,212,0.928,213,1.508,326,1.796,327,4.59,424,1.584,533,2.173,535,1.751,536,2.173,541,6.287,547,2.347,548,1.751,552,2.409,556,2.287,601,4.59,639,3.123,640,3.123,735,2.099,745,6.054,830,5.434,1089,5.434,1090,5.434,1091,6.054,1092,6.054,1093,6.168,1094,7.464,1095,6.168,1096,5.206,1097,7.464,1098,6.168,1099,6.168,1100,6.168,1101,6.168,1102,6.168,1103,6.168,1104,6.168,1105,6.168,1106,4.59,1107,8.026,1108,6.168,1109,4.951,1110,6.168]],["title/interfaces/DefaultIconDefinition.html",[129,0.292,1111,3.249]],["body/interfaces/DefaultIconDefinition.html",[3,0.075,4,0.093,5,0.075,6,0.057,11,0.495,18,0.374,19,0.618,43,0.01,44,1.278,45,0.638,46,1.462,69,1.148,75,0.006,80,0.004,84,0.004,90,1.253,129,0.267,130,0.131,139,0.652,142,1.394,195,1.049,204,5.451,303,5.201,308,0.76,350,5.744,441,3.95,450,1.602,453,1.602,469,1.98,612,3.108,660,2.839,965,1.654,1111,4.826,1112,2.78,1113,3.199,1114,3.199,1115,2.071,1116,3.199,1117,3.511,1118,4.172,1119,3.985,1120,3.985,1121,3.511,1122,3.985,1123,3.985,1124,2.78,1125,3.511,1126,6.833,1127,4.172,1128,5.649,1129,3.692,1130,2.625,1131,3.199,1132,2.78,1133,3.511,1134,8.028,1135,3.511,1136,3.511,1137,3.511,1138,4.939,1139,3.511,1140,3.511,1141,3.511,1142,3.511,1143,3.511,1144,3.511,1145,6.2,1146,6.2,1147,6.534,1148,6.534,1149,3.199,1150,3.511,1151,4.637,1152,3.511,1153,3.511,1154,3.511,1155,4.5,1156,4.5,1157,4.939,1158,3.511,1159,3.511,1160,6.534,1161,3.511,1162,4.939,1163,2.966,1164,3.511,1165,3.511,1166,3.511,1167,3.511,1168,3.511,1169,6.2,1170,3.511,1171,3.511,1172,4.939,1173,3.511,1174,3.511,1175,3.199,1176,3.511,1177,3.511,1178,3.511,1179,3.511,1180,3.511,1181,4.939,1182,4.5,1183,3.199,1184,3.511,1185,3.199,1186,3.511,1187,3.511,1188,3.511,1189,3.511,1190,3.511,1191,6.2,1192,3.511,1193,3.511,1194,6.2,1195,3.199,1196,3.511,1197,2.78,1198,3.511,1199,3.511,1200,5.714,1201,3.511,1202,4.939,1203,3.511,1204,3.511,1205,3.511,1206,3.511]],["title/components/DetailsLabelComponent.html",[196,0.424,482,1.239]],["body/components/DetailsLabelComponent.html",[3,0.085,4,0.106,5,0.115,6,0.11,11,0.763,12,1.463,18,0.426,19,0.677,25,1.537,38,1.731,42,1.057,43,0.01,44,1.139,45,0.675,46,0.823,52,1.323,55,1.261,69,1.188,75,0.007,80,0.005,84,0.005,85,1.292,86,1.358,99,0.172,104,0.218,130,0.106,133,0.264,134,0.934,142,0.823,156,3.226,160,0.724,161,1.049,196,0.754,197,1.226,198,1.537,199,1.29,200,1.428,201,1.428,202,1.392,208,1.226,209,1.832,210,1.832,211,2.288,212,1.139,213,1.11,214,1.656,216,1.656,256,1.427,259,1.832,260,1.537,300,1.741,304,3.107,308,1.17,309,1.11,321,1.357,399,1.546,400,1.876,404,1.678,409,1.167,411,3.226,441,2.799,445,2.471,450,0.981,453,0.981,457,1.196,466,2.4,468,1.428,469,1.947,470,1.428,471,2.34,472,1.428,473,1.428,474,1.29,475,1.428,476,1.257,477,2.185,478,1.29,479,1.428,480,1.656,481,2.185,482,2.112,483,2.653,484,1.428,485,1.29,486,1.428,487,1.29,488,1.226,489,1.428,490,1.29,491,1.428,492,1.29,493,1.29,494,1.428,495,1.29,496,1.392,497,1.257,498,1.428,499,1.29,500,1.929,501,1.257,502,1.29,503,1.29,504,2.185,505,1.29,506,1.786,507,1.929,508,1.257,509,1.29,510,1.257,511,1.057,512,1.428,513,1.257,514,1.226,515,1.29,516,1.428,517,1.29,518,1.428,519,1.29,520,1.428,521,1.29,522,1.537,523,1.29,524,1.742,525,1.29,526,1.428,527,1.29,528,1.616,529,1.428,530,1.29,531,1.428,532,1.428,607,2.471,665,1.29,677,1.742,678,2.185,705,2.033,1207,6.238,1208,5.783,1209,4.002,1210,5.406,1211,5.406,1212,4.664,1213,7.44,1214,6.136,1215,7.44,1216,6.136,1217,6.948,1218,6.136,1219,6.136,1220,4.543,1221,6.136,1222,6.136,1223,4.543,1224,3.356,1225,6.136,1226,5.406,1227,7.44,1228,6.136,1229,6.136,1230,6.136,1231,4.543,1232,6.136,1233,2.84]],["title/modules/DetailsLabelModule.html",[533,1.271,1234,3.045]],["body/modules/DetailsLabelModule.html",[3,0.124,4,0.155,5,0.124,6,0.094,43,0.01,75,0.008,80,0.007,84,0.007,99,0.313,104,0.318,130,0.155,133,0.218,424,1.701,482,2.59,483,1.978,535,1.88,536,2.267,547,2.449,548,1.88,550,2.65,552,2.138,556,2.386,735,2.65,736,2.799,737,2.254,1207,5.316,1208,4.929,1234,6.212,1235,5.835,1236,5.835,1237,5.835,1238,6.623,1239,6.623]],["title/interfaces/DocumentationContent.html",[129,0.292,1240,3.505]],["body/interfaces/DocumentationContent.html",[3,0.147,4,0.156,5,0.125,6,0.095,8,2.867,11,0.833,18,0.629,19,0.865,43,0.01,45,0.711,69,1.197,75,0.008,80,0.007,84,0.007,129,0.449,130,0.156,195,1.764,416,3.785,717,5.53,1240,6.293,1241,5.902,1242,6.698,1243,4.188,1244,4.985,1245,5.751,1246,5.377,1247,3.82,1248,5.834]],["title/interfaces/DrawerContainersChanged.html",[129,0.292,1058,2.73]],["body/interfaces/DrawerContainersChanged.html",[3,0.099,4,0.123,5,0.099,6,0.075,11,0.657,15,1.539,18,0.496,19,0.748,43,0.01,45,0.829,47,1.229,48,1.501,71,1.699,75,0.007,80,0.006,84,0.006,90,2.132,99,0.2,122,2.068,123,2.068,124,2.068,125,1.953,126,2.068,129,0.529,130,0.206,133,0.174,139,0.864,141,0.934,182,2.761,195,1.392,196,0.766,198,1.875,222,2.891,300,2.249,313,2.995,337,1.394,414,2.025,416,3.379,425,3.708,431,2.494,522,1.325,606,3.152,642,3.203,679,2.814,758,3.306,761,2.412,765,4.867,772,2.78,773,3.312,777,3.935,792,3.312,813,1.699,842,3.306,843,3.708,848,2.505,969,2.436,1010,4.239,1014,4.729,1034,2.891,1051,4.239,1052,3.306,1053,4.763,1054,4.729,1055,4.729,1056,4.929,1057,3.687,1058,4.68,1059,4.729,1060,4.502,1061,4.239,1062,4.729,1063,3.934,1064,3.934,1065,4.239,1066,4.239,1067,3.934,1068,3.687,1069,4.729,1070,3.687,1071,3.687,1072,4.094,1073,3.306,1074,3.306]],["title/interfaces/DrawerInitialized.html",[129,0.292,1065,2.73]],["body/interfaces/DrawerInitialized.html",[3,0.1,4,0.125,5,0.1,6,0.076,11,0.667,15,1.563,18,0.504,19,0.755,43,0.01,45,0.829,47,1.241,48,1.524,71,1.715,75,0.007,80,0.006,84,0.006,90,2.153,99,0.203,122,2.099,123,2.099,124,2.099,125,1.983,126,2.099,129,0.532,130,0.206,133,0.177,139,0.878,141,0.948,182,2.636,195,1.413,196,0.732,198,1.715,222,2.935,300,2.246,313,3.024,337,1.407,414,2.045,416,3.398,425,3.744,431,2.532,522,1.345,606,3.2,642,3.226,679,2.228,758,3.33,761,2.449,765,4.081,772,2.822,773,3.344,777,3.943,792,3.344,813,1.715,842,3.356,843,3.744,848,1.983,969,2.46,1010,4.28,1014,3.743,1034,2.935,1051,4.28,1052,3.356,1053,4.782,1054,4.775,1055,4.775,1056,4.965,1057,3.743,1058,4.28,1059,3.743,1060,4.527,1061,4.28,1062,4.775,1063,5.095,1064,5.095,1065,4.713,1066,4.28,1067,3.994,1068,3.743,1069,4.775,1070,3.743,1071,3.743,1072,4.123,1073,3.356,1074,3.356]],["title/modules/DrawerModule.html",[533,1.271,542,3.045]],["body/modules/DrawerModule.html",[3,0.112,4,0.14,5,0.112,6,0.085,43,0.01,75,0.008,80,0.006,84,0.006,99,0.336,104,0.288,130,0.14,133,0.198,424,1.543,478,2.56,480,2.358,485,2.56,521,2.56,522,1.505,535,1.705,536,2.138,542,6.348,547,2.309,548,1.705,550,2.5,552,1.939,556,2.25,562,3.048,563,2.35,565,6.471,566,4.837,567,3.756,568,5.896,569,4.822,588,3.956,589,4.47,590,4.822,735,2.5,817,4.822,818,4.47,1057,4.19,1249,5.292,1250,5.292,1251,5.292,1252,6.007,1253,4.592,1254,4.592,1255,6.007,1256,4.822,1257,5.292]],["title/interfaces/DrawerToggled.html",[129,0.292,1066,2.73]],["body/interfaces/DrawerToggled.html",[3,0.096,4,0.12,5,0.096,6,0.073,11,0.639,15,1.938,18,0.482,19,0.734,43,0.01,45,0.83,47,1.207,48,1.89,71,2.077,75,0.007,80,0.005,84,0.005,90,2.093,99,0.194,122,2.01,123,2.01,124,2.01,125,1.898,126,2.01,129,0.523,130,0.205,133,0.169,139,0.84,141,0.908,182,2.731,195,1.353,196,0.717,198,1.668,222,3.641,300,2.262,313,2.94,337,1.704,414,2.476,416,3.343,425,4.534,431,3.14,522,1.668,606,3.063,642,3.16,679,2.133,758,3.261,761,2.344,765,3.968,772,3.5,773,3.251,777,3.921,792,3.251,813,1.957,842,3.213,843,3.641,848,1.898,969,2.979,1010,5.183,1014,3.584,1034,2.81,1051,4.162,1052,3.213,1053,4.614,1054,4.643,1055,4.643,1056,4.863,1057,3.584,1058,4.162,1059,3.584,1060,4.454,1061,4.162,1062,4.643,1063,3.824,1064,3.824,1065,4.162,1066,4.617,1067,4.954,1068,4.643,1069,4.643,1070,3.584,1071,3.584,1072,4.038,1073,3.213,1074,3.213]],["title/interfaces/ExtractionSet.html",[129,0.292,1258,2.388]],["body/interfaces/ExtractionSet.html",[3,0.12,4,0.149,5,0.12,6,0.091,11,0.795,18,0.601,19,0.841,43,0.01,44,1.218,45,0.74,46,1.383,69,1.185,75,0.008,80,0.007,84,0.007,99,0.242,129,0.429,130,0.149,142,1.587,195,1.685,299,3.295,488,2.407,528,1.685,686,4.549,891,3.727,1258,4.173,1259,5.638,1260,5.638,1261,6.22,1262,7.63,1263,4.439,1264,7.63,1265,3.5]],["title/components/ExtractionSetDropdownComponent.html",[196,0.424,487,1.239]],["body/components/ExtractionSetDropdownComponent.html",[3,0.07,4,0.087,5,0.1,6,0.114,11,0.776,12,1.272,18,0.349,19,0.588,25,1.337,35,0.657,38,1.843,40,0.992,41,1.017,42,1.241,43,0.01,44,1.103,45,0.703,46,0.967,47,0.967,52,1.082,55,1.283,56,0.806,69,0.503,75,0.006,80,0.004,84,0.004,85,0.992,86,1.412,99,0.236,104,0.178,130,0.087,133,0.247,134,0.764,141,0.657,142,1.666,160,0.85,161,1.091,188,1.2,196,0.701,197,1.003,198,1.337,199,1.055,200,1.169,201,1.169,202,1.139,208,1.003,209,1.593,210,1.593,211,2.255,212,1.125,213,0.908,214,1.44,216,1.44,256,0.865,257,1.139,259,1.593,260,1.337,297,1.405,300,1.564,304,2.701,308,1.017,309,0.908,321,1.11,337,1.096,399,1.265,401,1.543,404,1.373,409,0.955,410,2.701,413,1.815,414,1.864,418,2.356,419,4.353,427,2.283,428,3.413,429,1.055,432,3.18,449,3.281,450,1.152,453,0.803,457,0.979,458,3.721,464,1.882,468,1.169,469,1.809,470,1.169,471,2.144,472,1.169,473,1.169,474,1.055,475,1.169,476,1.029,477,1.962,478,1.055,479,1.169,480,1.44,481,1.962,482,1.055,483,1.11,484,1.169,485,1.055,486,1.169,487,1.936,488,2.446,489,1.169,490,1.055,491,1.169,492,1.055,493,1.055,494,1.169,495,1.055,496,1.139,497,1.029,498,1.169,499,1.055,500,1.678,501,1.029,502,1.055,503,1.055,504,1.962,505,1.055,506,1.553,507,1.678,508,1.029,509,1.055,510,1.029,511,0.865,512,1.169,513,1.029,514,1.003,515,1.055,516,1.169,517,1.055,518,1.169,519,1.055,520,1.169,521,1.055,522,1.337,523,1.055,524,1.514,525,1.055,526,1.169,527,1.055,528,1.405,529,1.169,530,1.055,531,1.169,532,1.169,561,3.73,596,1.497,607,2.149,664,2.59,665,1.055,666,2.214,667,2.668,668,1.413,669,1.373,670,2.306,677,1.514,678,1.962,683,2.441,704,2.606,705,1.768,706,1.954,720,2.216,726,3.721,727,2.324,785,3.42,813,1.337,969,1.917,1245,2.448,1258,4.333,1266,6.475,1267,6.003,1268,3.275,1269,7.213,1270,3.721,1271,6.241,1272,5.335,1273,4.94,1274,5.335,1275,6.819,1276,6.241,1277,5.335,1278,3.717,1279,3.559,1280,3.717,1281,3.331,1282,2.701,1283,5.335,1284,5.335,1285,3.717,1286,3.717,1287,4.282,1288,4.756,1289,4.491,1290,3.18,1291,3.717,1292,3.717,1293,3.717,1294,3.717,1295,3.717,1296,3.717,1297,3.717,1298,5.335,1299,5.335,1300,5.335,1301,3.559,1302,3.559,1303,2.448,1304,2.766,1305,2.983,1306,3.275,1307,3.717,1308,5.335,1309,2.766,1310,3.717,1311,3.717,1312,3.19,1313,5.474,1314,3.717,1315,2.324,1316,3.717,1317,3.717,1318,2.983,1319,3.275,1320,2.766]],["title/modules/ExtractionSetDropdownModule.html",[533,1.271,1321,3.045]],["body/modules/ExtractionSetDropdownModule.html",[3,0.123,4,0.153,5,0.123,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.216,142,1.492,424,1.682,487,2.587,488,1.768,535,1.859,536,2.252,547,2.433,548,1.859,550,2.633,552,2.114,556,2.371,735,2.633,736,2.78,737,2.229,1266,5.257,1267,4.874,1321,6.199,1322,5.77,1323,5.77,1324,5.77,1325,6.549,1326,6.816,1327,5.77,1328,6.549]],["title/interfaces/GlobalConfig.html",[129,0.292,245,1.569]],["body/interfaces/GlobalConfig.html",[3,0.1,4,0.125,5,0.1,6,0.076,14,3.896,18,0.502,19,0.753,43,0.01,44,0.745,45,0.822,46,1.667,56,1.032,69,1.221,75,0.007,80,0.006,82,4.766,84,0.006,99,0.285,104,0.257,113,1.519,129,0.358,130,0.176,134,1.1,139,0.875,141,0.945,195,1.409,212,0.665,219,4.17,220,5.223,221,5.223,224,4.959,226,4.522,245,2.85,299,2.93,326,1.558,333,2.789,334,3.592,335,3.592,337,1.826,359,1.598,450,1.156,453,1.156,466,3.332,608,4.959,609,5.223,610,6.366,611,6.987,612,3.503,613,6.987,614,5.902,747,4.766,748,3.982,1015,2.363,1115,1.977,1149,4.295,1151,3.346,1155,4.295,1156,4.295,1185,4.295,1329,3.982,1330,4.707,1331,6.366,1332,4.272,1333,3.982,1334,2.927,1335,3.051,1336,3.051,1337,5.351,1338,4.295,1339,2.441,1340,4.714,1341,5.351]],["title/components/HeaderComponent.html",[196,0.424,490,1.239]],["body/components/HeaderComponent.html",[3,0.082,4,0.102,5,0.112,6,0.112,11,0.744,12,1.427,18,0.411,19,0.66,23,3.082,35,0.774,38,1.785,40,1.113,41,1.141,42,1.019,43,0.01,44,1.129,45,0.696,46,0.794,52,1.276,69,1.039,75,0.006,76,2.824,80,0.005,84,0.005,85,1.113,86,1.17,91,2.634,99,0.227,104,0.21,130,0.102,133,0.261,142,0.794,160,0.698,161,1.03,188,1.414,196,0.745,197,1.183,198,1.5,199,1.244,200,1.378,201,1.378,202,1.342,208,1.183,209,1.788,210,1.788,211,2.282,212,1.137,213,1.071,214,1.616,216,1.616,219,4.453,220,4.491,221,4.491,256,1.019,259,2.037,260,1.5,278,1.619,300,1.709,308,1.141,309,1.071,321,1.308,332,2.498,359,1.788,399,1.491,400,1.979,401,3.185,404,2.835,405,2.151,408,3.111,409,1.971,411,2.303,413,2.14,414,2.189,421,1.818,427,2.919,429,2.081,434,3.137,436,1.875,437,1.875,441,1.999,444,3.344,445,2.952,446,3.943,448,2.824,449,3.147,450,0.946,453,0.946,457,1.154,461,3.031,468,1.378,469,1.923,470,1.378,471,2.305,472,1.378,473,1.378,474,1.244,475,1.378,476,1.213,477,2.144,478,1.244,479,1.378,480,1.616,481,2.144,482,1.244,483,1.308,484,1.378,485,1.244,486,1.378,487,1.244,488,1.183,489,1.378,490,2.081,491,1.378,492,1.244,493,1.244,494,1.378,495,1.244,496,1.342,497,1.213,498,1.378,499,1.244,500,1.882,501,1.213,502,1.244,503,1.244,504,2.144,505,1.244,506,1.743,507,1.882,508,1.213,509,1.244,510,1.213,511,1.019,512,1.378,513,1.213,514,1.183,515,1.244,516,1.378,517,1.244,518,1.378,519,1.244,520,1.378,521,1.244,522,1.5,523,1.244,524,1.699,525,1.244,526,1.378,527,1.244,528,1.576,529,1.378,530,1.244,531,1.378,532,1.378,607,2.411,665,1.244,677,1.699,678,2.144,705,1.984,718,2.396,722,2.303,728,2.885,729,2.885,824,3.86,963,2.739,968,3.056,969,1.574,1019,3.26,1059,3.056,1130,2.885,1226,3.86,1233,4.264,1246,3.517,1320,3.26,1342,3.86,1343,6.819,1344,5.986,1345,3.517,1346,5.986,1347,4.381,1348,5.986,1349,4.381,1350,5.986,1351,4.805,1352,3.517,1353,3.26,1354,3.743,1355,3.056,1356,4.381,1357,3.86,1358,4.381,1359,4.381,1360,4.381,1361,2.885,1362,4.381,1363,4.381,1364,3.86,1365,3.517,1366,4.381,1367,4.381,1368,3.056,1369,5.986]],["title/modules/HeaderModule.html",[533,1.271,543,3.045]],["body/modules/HeaderModule.html",[3,0.123,4,0.153,5,0.123,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.314,130,0.153,133,0.216,424,1.682,490,2.587,535,1.859,536,2.252,543,6.199,547,2.433,548,1.859,550,2.633,552,2.114,556,2.371,562,3.211,563,2.562,735,2.633,736,2.78,737,2.229,742,4.231,743,3.582,1370,5.77,1371,5.77,1372,5.77,1373,6.549,1374,6.549]],["title/interfaces/IconDefinition.html",[129,0.292,1375,3.249]],["body/interfaces/IconDefinition.html",[0,1.697,3,0.079,4,0.098,5,0.079,6,0.06,11,0.524,15,2.099,16,1.601,18,0.396,19,0.643,20,1.961,29,1.803,40,0.783,41,0.803,43,0.01,44,1.2,45,0.654,46,1.505,47,0.764,48,1.897,53,2.951,55,1.482,56,0.88,60,2.939,69,1.086,75,0.006,80,0.004,84,0.004,85,1.084,86,0.824,99,0.314,104,0.202,106,2.494,107,2.348,108,1.803,109,1.803,110,1.697,129,0.282,130,0.136,133,0.139,134,1.727,139,1.337,141,1.03,142,1.419,160,1.247,161,0.88,162,1.803,195,1.109,212,0.524,245,2.094,246,2.348,250,2.939,287,2.462,297,1.759,308,1.375,326,1.227,337,1.198,350,5.309,441,4.107,469,2.127,563,1.648,566,2.775,567,2.635,608,3.644,612,3.613,642,2.86,660,2.951,848,2.469,888,4.316,896,3.644,960,3.383,1106,3.136,1109,3.382,1112,2.939,1115,2.153,1116,6.565,1126,6.372,1127,5.632,1128,5.787,1129,3.838,1130,5.155,1132,4.065,1212,2.305,1312,2.574,1361,2.775,1375,5.826,1376,3.136,1377,3.382,1378,4.337,1379,6.352,1380,6.352,1381,5.887,1382,5.135,1383,5.135,1384,2.058,1385,3.712,1386,3.712,1387,2.775,1388,6.897,1389,5.135,1390,3.712,1391,3.712,1392,3.644,1393,3.712,1394,3.712,1395,3.712,1396,3.712,1397,3.712,1398,5.887,1399,3.712,1400,3.712,1401,3.712,1402,3.712,1403,3.712,1404,3.712,1405,3.712,1406,3.712,1407,5.135,1408,3.712,1409,3.712,1410,3.136,1411,5.135,1412,3.712,1413,3.712,1414,3.712,1415,3.712,1416,3.712,1417,5.135,1418,3.712,1419,3.712,1420,3.382,1421,3.712,1422,3.712,1423,3.712,1424,5.887,1425,3.712,1426,3.382,1427,3.712,1428,3.712,1429,3.712,1430,4.678,1431,3.712,1432,3.712,1433,3.712,1434,3.712,1435,3.712,1436,3.712,1437,3.712,1438,3.712,1439,3.136,1440,3.712,1441,3.712]],["title/injectables/IconRegistryState.html",[0,1.271,1387,2.875]],["body/injectables/IconRegistryState.html",[0,1.588,2,2.185,3,0.072,4,0.09,5,0.072,6,0.111,11,0.859,15,2.211,16,2.073,18,0.36,20,2.11,25,1.366,29,2.96,35,0.677,38,1.767,40,1.014,41,1.04,42,1.7,43,0.01,44,1.198,45,0.663,46,1.376,47,0.988,48,2.156,52,1.116,53,3.214,55,1.67,56,0.959,60,3.803,69,0.936,75,0.006,80,0.004,84,0.004,85,1.18,86,0.749,99,0.307,104,0.184,106,2.334,107,2.196,108,1.64,109,1.64,110,1.544,129,0.257,130,0.127,133,0.126,134,1.694,139,1.306,141,0.677,142,1.151,160,1.21,161,0.824,162,1.64,212,0.476,245,2.485,246,2.785,250,3.803,287,2.511,297,1.924,308,1.523,326,1.116,337,1.421,350,4.885,441,4.081,469,2.001,563,1.499,566,2.524,567,2.396,608,3.41,612,3.589,642,2.717,660,1.94,848,2.345,888,4.554,896,4.324,960,3.7,1106,2.852,1109,4.377,1112,5.45,1115,1.416,1116,6.523,1126,5.943,1127,5.146,1128,4.377,1129,2.524,1130,5.001,1132,3.803,1212,2.982,1312,3.054,1361,3.591,1375,6.32,1376,5.815,1377,3.076,1378,2.852,1379,4.804,1380,4.804,1381,6.691,1382,6.093,1383,5.593,1384,1.872,1385,4.804,1386,3.376,1387,3.591,1388,7.261,1389,6.093,1390,4.804,1391,4.804,1392,4.324,1393,3.376,1394,3.376,1395,3.376,1396,3.376,1397,3.376,1398,5.593,1399,3.376,1400,3.376,1401,3.376,1402,3.376,1403,3.376,1404,3.376,1405,3.376,1406,3.376,1407,4.804,1408,3.376,1409,3.376,1410,4.058,1411,6.093,1412,4.804,1413,3.376,1414,4.804,1415,6.093,1416,4.804,1417,4.804,1418,3.376,1419,3.376,1420,3.076,1421,3.376,1422,3.376,1423,3.376,1424,5.593,1425,3.376,1426,3.076,1427,3.376,1428,3.376,1429,3.376,1430,5.551,1431,5.593,1432,3.376,1433,3.376,1434,3.376,1435,3.376,1436,3.376,1437,3.376,1438,4.804,1439,4.058,1440,5.593,1441,3.376,1442,5.453,1443,3.832,1444,3.832,1445,3.832,1446,3.832,1447,3.832,1448,3.832,1449,3.832,1450,3.832,1451,3.832]],["title/classes/InitializationState.html",[133,0.144,1452,3.505]],["body/classes/InitializationState.html",[3,0.05,4,0.062,5,0.05,6,0.098,11,0.329,15,2.437,18,0.248,19,0.456,20,2.154,25,1.035,38,1.538,40,0.491,41,0.504,42,0.961,43,0.01,45,0.6,47,0.479,48,1.173,55,1.359,56,1.205,65,1.131,71,1.035,75,0.004,80,0.003,84,0.003,85,1.069,86,1.22,90,1.299,99,0.236,104,0.127,113,0.75,122,2.249,123,2.249,124,1.989,125,2.124,126,1.989,130,0.062,133,0.167,134,1.699,139,1.229,141,1.221,142,1.388,160,1.1,161,0.868,182,0.924,196,0.642,198,0.662,200,0.831,205,1.065,206,2.018,209,0.79,210,0.79,211,0.662,212,0.513,214,0.714,216,0.714,222,4.365,225,3.18,230,1.291,244,2.356,247,2.26,248,2.26,257,1.762,258,1.825,259,1.717,260,1.731,263,2.386,277,1.576,278,0.977,281,2.356,283,2.463,287,2.248,297,2.016,300,2.196,306,1.844,310,4.019,311,2.583,312,1.653,321,0.79,322,1.741,337,1.599,357,1.576,378,1.39,380,1.39,395,1.653,413,1.291,414,2.409,417,2.463,421,1.715,423,2.882,424,1.061,425,4.314,429,2.239,430,2.721,435,1.247,439,2.122,440,2.122,450,0.892,453,0.892,459,2.721,466,1.989,467,4.01,469,1.035,485,1.444,522,0.662,606,3.718,642,1.131,664,1.097,665,0.75,666,2.867,677,0.75,686,1.576,720,1.576,755,3.316,756,2.329,758,2.246,761,2.32,762,1.967,767,2.122,770,2.122,773,2.018,774,1.741,777,2.246,779,2.329,781,1.741,783,1.967,785,1.825,792,2.018,794,1.741,810,3.64,813,1.731,827,4.708,828,4.708,835,1.741,836,2.122,837,2.329,838,1.967,841,3.64,969,2.898,980,2.329,1001,2.122,1004,2.122,1010,4.788,1015,1.168,1018,1.967,1019,5.141,1020,2.122,1021,2.122,1029,2.122,1034,2.26,1035,1.741,1061,1.653,1073,3.18,1074,3.18,1115,1.527,1124,1.844,1282,2.575,1452,4.082,1453,2.122,1454,1.967,1455,4.131,1456,5.085,1457,6.908,1458,5.749,1459,4.615,1460,5.749,1461,4.131,1462,5.085,1463,2.644,1464,6.147,1465,4.082,1466,2.644,1467,2.644,1468,2.644,1469,2.644,1470,4.134,1471,3.316,1472,2.644,1473,5.085,1474,2.644,1475,2.644,1476,2.329,1477,4.481,1478,6.087,1479,4.481,1480,4.481,1481,5.826,1482,4.481,1483,5.496,1484,3.64,1485,4.481,1486,4.082,1487,5.496,1488,4.615,1489,3.64,1490,5.065,1491,4.131,1492,2.644,1493,2.644,1494,2.644,1495,2.644,1496,2.644,1497,2.644,1498,2.644,1499,2.644,1500,2.644,1501,4.131,1502,2.644,1503,4.131,1504,2.644,1505,2.644,1506,2.644,1507,2.329,1508,6.238,1509,2.644,1510,2.644,1511,2.644,1512,4.481,1513,2.329,1514,3.64,1515,4.131,1516,2.644,1517,5.749,1518,2.122,1519,4.131,1520,2.644,1521,2.644,1522,2.644,1523,5.085,1524,2.644,1525,2.644,1526,2.644,1527,3.18,1528,2.644,1529,5.085,1530,2.644,1531,1.741,1532,2.644,1533,3.64,1534,2.644,1535,2.644,1536,2.644,1537,6.612,1538,4.131,1539,5.749,1540,4.131,1541,3.64,1542,2.644,1543,5.085,1544,4.131,1545,2.122,1546,2.644,1547,2.644,1548,2.644,1549,4.131,1550,4.131,1551,2.644,1552,2.644,1553,5.085,1554,2.644,1555,2.644,1556,2.644,1557,2.644,1558,4.131,1559,2.644,1560,2.644,1561,1.967,1562,1.967,1563,2.644,1564,1.653,1565,2.644,1566,2.644,1567,5.065,1568,5.085,1569,5.749,1570,4.131,1571,4.131,1572,2.644,1573,2.644,1574,2.644,1575,2.644,1576,2.644,1577,2.644,1578,2.644,1579,6.612,1580,2.882,1581,4.131,1582,2.644,1583,2.644,1584,2.644,1585,2.644,1586,2.644,1587,2.644,1588,2.644,1589,1.844,1590,2.644,1591,2.644,1592,1.844,1593,2.644,1594,2.644,1595,4.131,1596,2.644,1597,2.644,1598,2.644,1599,2.644,1600,2.644,1601,2.644,1602,4.131,1603,5.085,1604,2.644,1605,2.644,1606,4.131,1607,2.644,1608,2.644,1609,2.644,1610,2.644,1611,2.644,1612,2.329,1613,3.032,1614,2.644,1615,2.644,1616,2.644]],["title/components/JsonFileReaderComponent.html",[196,0.424,492,1.239]],["body/components/JsonFileReaderComponent.html",[3,0.073,4,0.091,5,0.171,6,0.116,11,0.684,12,1.313,18,0.365,19,0.607,25,1.38,35,0.687,38,1.865,40,1.024,41,1.05,42,1.281,43,0.01,44,1.116,45,0.712,46,0.998,47,0.998,48,2.166,52,1.603,55,1.132,56,1.051,69,0.866,75,0.006,80,0.004,84,0.004,85,1.189,86,1.251,99,0.208,104,0.187,130,0.091,133,0.251,134,0.799,139,1.201,141,0.973,142,0.704,156,3.16,160,0.877,161,1.109,196,0.713,197,1.049,198,1.38,199,1.103,200,1.222,201,1.222,202,1.191,208,1.049,211,2.263,212,1.128,213,0.95,214,1.487,216,1.487,244,3.647,251,2.559,253,2.559,256,0.904,259,2.394,260,1.743,263,3.166,300,1.603,308,1.05,309,0.95,399,1.322,404,1.436,405,1.396,408,1.773,409,0.998,414,1.161,421,1.613,431,3.466,436,1.663,437,1.663,450,0.839,453,0.839,457,1.023,468,1.222,469,1.84,470,1.222,471,2.188,472,1.222,473,1.222,474,1.103,475,1.222,476,1.076,477,2.011,478,1.103,479,1.222,480,1.487,481,2.011,482,1.103,483,1.161,484,1.222,485,1.103,486,1.222,487,1.103,488,1.049,489,1.222,490,1.103,491,1.222,492,1.975,493,2.511,494,1.222,495,1.103,496,1.191,497,1.076,498,1.222,499,1.103,500,1.732,501,1.076,502,1.103,503,1.103,504,2.011,505,1.103,506,1.603,507,1.732,508,1.076,509,1.103,510,1.076,511,0.904,512,1.222,513,1.076,514,1.049,515,1.103,516,1.222,517,1.103,518,1.222,519,1.103,520,1.222,521,1.103,522,1.38,523,1.103,524,1.563,525,1.103,526,1.222,527,1.103,528,1.45,529,1.222,530,1.103,531,1.222,532,1.222,596,1.565,607,2.218,642,1.663,646,3.119,664,2.655,665,1.103,666,2.286,667,2.722,668,1.477,669,1.436,670,2.363,677,1.563,678,2.011,683,2.502,685,4,691,2.71,693,2.43,704,2.69,705,1.825,706,2.043,718,2.125,722,2.043,888,3.14,915,4.852,1020,5.586,1115,2.571,1211,4.852,1233,2.43,1281,3.399,1617,6.544,1618,6.067,1619,3.424,1620,8.015,1621,6.396,1622,5.507,1623,6.396,1624,5.507,1625,6.958,1626,6.396,1627,5.507,1628,6.472,1629,3.886,1630,3.627,1631,5.507,1632,4.852,1633,4.852,1634,5.507,1635,5.507,1636,3.886,1637,5.507,1638,3.886,1639,5.507,1640,4.583,1641,4.852,1642,3.841,1643,4.852,1644,5.507,1645,3.886,1646,5.507,1647,3.119,1648,3.886,1649,3.886,1650,3.886,1651,3.886,1652,3.886,1653,5.507,1654,3.886,1655,3.886,1656,3.886,1657,5.507,1658,3.886,1659,3.886,1660,3.886]],["title/modules/JsonFileReaderModule.html",[533,1.271,1661,3.045]],["body/modules/JsonFileReaderModule.html",[3,0.122,4,0.153,5,0.159,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.678,492,2.586,493,1.855,535,1.855,536,2.249,547,2.429,548,1.855,550,2.629,552,2.109,556,2.367,735,2.629,736,2.776,737,2.223,1617,5.244,1618,4.862,1661,6.196,1662,5.756,1663,5.756,1664,5.756,1665,6.533,1666,6.533,1667,5.388,1668,4.557]],["title/components/LabeledSlideToggleComponent.html",[196,0.424,495,1.239]],["body/components/LabeledSlideToggleComponent.html",[3,0.072,4,0.09,5,0.103,6,0.117,11,0.792,12,1.307,15,1.596,18,0.362,19,0.604,25,1.373,32,2.775,35,0.682,38,1.894,40,1.019,41,1.045,42,1.275,43,0.01,44,1.114,45,0.726,46,0.994,47,0.994,52,1.124,55,1.127,56,0.828,69,1.031,75,0.006,80,0.004,84,0.004,85,1.362,86,1.649,99,0.207,104,0.185,130,0.09,133,0.251,134,0.793,139,0.631,141,0.682,142,0.7,156,1.555,160,0.873,161,1.107,196,0.76,197,1.042,198,1.373,199,1.096,200,1.214,201,1.214,202,1.183,208,1.042,209,1.637,210,1.637,211,2.262,212,1.128,213,0.944,214,1.48,216,1.48,256,0.898,259,2.273,260,1.373,287,1.724,300,1.597,308,1.045,309,0.944,321,1.153,337,1.565,399,1.314,409,0.991,410,1.955,411,2.03,421,1.602,429,1.096,436,2.346,437,1.652,450,1.783,453,1.377,457,1.016,468,1.214,469,1.836,470,1.214,471,2.182,472,1.214,473,1.214,474,1.096,475,1.214,476,1.069,477,2.004,478,1.096,479,1.214,480,1.48,481,2.004,482,1.096,483,1.153,484,1.214,485,1.096,486,1.214,487,1.096,488,1.042,489,1.214,490,1.096,491,1.214,492,1.096,493,1.096,494,1.214,495,1.969,496,2.624,497,2.512,498,1.214,499,1.096,500,1.724,501,1.069,502,1.096,503,1.096,504,2.004,505,1.096,506,1.596,507,1.724,508,1.069,509,1.096,510,1.069,511,0.898,512,1.214,513,1.069,514,1.042,515,1.096,516,1.214,517,1.096,518,1.214,519,1.096,520,1.214,521,1.096,522,2.191,523,1.096,524,1.556,525,1.096,526,1.214,527,1.096,528,1.443,529,1.214,530,1.096,531,1.214,532,1.214,596,1.555,607,2.208,664,2.645,665,1.096,666,2.275,667,2.714,668,1.467,669,1.426,670,2.355,677,1.556,678,2.004,683,2.493,684,2.346,704,2.677,705,1.816,706,2.03,722,2.03,813,1.373,965,1.602,969,1.387,1034,2.998,1273,4.538,1279,3.126,1281,3.389,1282,2.775,1287,4.4,1290,4.136,1669,6.626,1670,5.436,1671,3.099,1672,5.481,1673,4.341,1674,5.615,1675,4.829,1676,5.481,1677,5.309,1678,6.938,1679,6.373,1680,5.481,1681,3.401,1682,3.86,1683,4.829,1684,5.882,1685,3.401,1686,5.481,1687,6.707,1688,5.481,1689,5.481,1690,3.86,1691,5.481,1692,5.481,1693,3.86,1694,3.86,1695,5.481,1696,5.481,1697,3.86,1698,3.86,1699,3.86,1700,3.86,1701,3.86,1702,3.86,1703,3.401,1704,3.099,1705,3.86]],["title/modules/LabeledSlideToggleModule.html",[533,1.271,1706,2.73]],["body/modules/LabeledSlideToggleModule.html",[3,0.122,4,0.153,5,0.122,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.68,495,2.587,496,2.004,497,2.278,522,1.639,535,1.857,536,2.251,547,2.431,548,1.857,550,2.631,552,2.111,556,2.369,735,2.631,736,2.778,737,2.226,1669,5.251,1670,4.308,1706,5.555,1707,5.763,1708,5.763,1709,5.763,1710,5.763,1711,6.811,1712,5.763,1713,5.763]],["title/components/LeftSidebarComponent.html",[196,0.424,499,1.239]],["body/components/LeftSidebarComponent.html",[3,0.049,4,0.061,5,0.077,6,0.117,11,0.82,12,0.98,15,1.92,18,0.386,19,0.453,22,1.678,23,1.562,25,1.03,35,0.726,38,1.907,42,1.534,43,0.01,44,1.081,45,0.705,46,1.195,52,0.765,55,1.278,56,1.133,69,0.966,75,0.004,76,1.239,80,0.003,84,0.003,85,1.421,86,1.495,88,2.241,91,2.059,96,1.925,99,0.277,104,0.126,112,2.663,113,0.746,114,1.16,115,0.894,128,1.875,130,0.061,133,0.217,141,0.726,142,1.127,156,2.505,160,0.99,161,1.247,185,3.532,188,0.848,196,0.492,197,0.709,198,1.03,199,0.746,200,0.826,201,0.826,202,0.805,208,0.709,209,1.228,210,1.228,211,2.19,212,1.097,213,0.642,214,1.11,216,1.11,219,2.161,223,3.532,256,0.956,257,0.805,259,1.513,260,1.03,263,2.378,287,2.074,297,1.082,299,2.117,300,1.269,301,2.77,307,2.161,308,1.502,309,1.238,310,2.248,313,1.16,321,0.784,331,2.45,332,1.498,333,1.399,337,1.278,353,4.011,382,0.918,387,0.998,399,0.894,400,1.78,401,2.581,402,1.642,403,1.642,404,2.546,405,1.82,406,1.498,408,3.009,409,1.301,410,2.081,413,2.474,414,1.969,416,1.759,418,2.747,427,2.168,428,1.437,429,1.626,432,1.566,433,1.566,434,2.452,435,1.239,442,3.012,444,2.311,445,2.308,448,2.389,449,2.161,450,1.796,451,1.283,453,1.237,457,1.334,459,1.73,461,2.901,464,1.33,467,2.867,468,0.826,469,1.558,470,0.826,471,1.801,472,0.826,473,0.826,474,0.746,475,0.826,476,0.727,477,1.592,478,0.746,479,0.826,480,1.11,481,1.592,482,0.746,483,0.784,484,0.826,485,0.746,486,0.826,487,0.746,488,1.861,489,0.826,490,0.746,491,0.826,492,0.746,493,1.765,494,0.826,495,0.746,496,0.805,497,0.727,498,0.826,499,1.626,500,1.293,501,0.727,502,0.746,503,0.746,504,1.592,505,0.746,506,1.197,507,1.293,508,0.727,509,0.746,510,0.727,511,0.611,512,0.826,513,0.727,514,0.709,515,0.746,516,0.826,517,0.746,518,0.826,519,0.746,520,0.826,521,0.746,522,1.652,523,0.746,524,1.167,525,0.746,526,0.826,527,0.746,528,1.736,529,0.826,530,0.746,531,0.826,532,0.826,580,6.145,607,1.656,621,3.773,635,2.008,636,1.33,665,0.746,677,1.167,678,1.592,684,2.452,705,1.362,715,1.832,717,1.642,718,3.133,719,2.867,727,2.57,728,1.73,729,1.73,785,2.913,813,1.03,843,2.248,848,2.771,860,3.059,875,3.012,888,2.344,932,2.57,937,2.108,963,1.642,965,2.737,968,1.832,969,2.563,1015,3.431,1124,2.867,1197,1.832,1224,2.248,1233,1.642,1245,3.335,1263,3.944,1265,2.77,1273,3.415,1282,2.081,1301,2.344,1302,2.344,1303,1.73,1304,1.955,1312,2.747,1315,2.57,1320,1.955,1334,4.359,1335,3.76,1336,4.181,1345,2.108,1351,4.599,1352,2.108,1353,1.955,1633,3.622,1641,3.622,1642,1.832,1673,3.546,1714,6.628,1715,2.108,1716,6.285,1717,4.462,1718,3.622,1719,5.064,1720,6.219,1721,4.462,1722,5.064,1723,4.462,1724,5.064,1725,3.622,1726,4.111,1727,4.111,1728,4.111,1729,4.111,1730,5.064,1731,4.462,1732,4.111,1733,2.627,1734,2.627,1735,4.111,1736,3.622,1737,2.627,1738,4.111,1739,6.594,1740,4.628,1741,2.627,1742,4.111,1743,2.627,1744,3.622,1745,3.415,1746,2.867,1747,4.599,1748,3.769,1749,4.096,1750,3.996,1751,4.111,1752,2.627,1753,6.219,1754,4.111,1755,4.111,1756,4.111,1757,4.111,1758,2.627,1759,4.111,1760,4.111,1761,3.059,1762,4.111,1763,4.111,1764,4.111,1765,4.111,1766,4.111,1767,4.111,1768,2.627,1769,2.627,1770,3.622,1771,4.599,1772,4.599,1773,3.622,1774,4.111,1775,4.111,1776,2.627,1777,2.627,1778,4.111,1779,3.622,1780,3.622,1781,2.627,1782,4.111,1783,4.111,1784,2.627,1785,2.314,1786,2.627,1787,4.111,1788,2.627,1789,2.627,1790,2.627,1791,4.111,1792,2.627,1793,2.627,1794,3.3,1795,2.77,1796,3.622,1797,3.622,1798,3.622,1799,3.3,1800,2.108,1801,2.314,1802,1.955,1803,6.285,1804,3.059,1805,2.108,1806,2.627,1807,4.111,1808,2.314,1809,2.314,1810,2.627,1811,2.627]],["title/modules/LeftSidebarModule.html",[533,1.271,544,3.045]],["body/modules/LeftSidebarModule.html",[3,0.104,4,0.13,5,0.144,6,0.079,43,0.01,75,0.007,80,0.006,84,0.006,99,0.342,104,0.267,130,0.13,133,0.183,142,1.27,212,0.692,326,1.62,424,1.429,450,1.202,497,1.939,499,2.535,535,1.58,536,2.039,544,6.396,547,2.203,548,1.58,550,2.384,552,2.261,556,2.146,562,2.907,563,2.177,580,4.141,735,2.384,736,2.517,737,1.894,742,3.831,743,3.043,1208,4.141,1234,5.904,1267,4.141,1321,5.904,1618,4.141,1661,5.904,1670,3.665,1706,5.293,1714,4.467,1812,4.903,1813,4.903,1814,4.903,1815,4.903,1816,5.575,1817,5.904,1818,6.116,1819,4.903,1820,6.171,1821,4.903,1822,5.623,1823,4.467,1824,5.565,1825,5.565,1826,5.565,1827,5.565,1828,4.467,1829,5.623,1830,4.903,1831,3.665,1832,4.467,1833,6.171,1834,7.004,1835,4.141,1836,5.565,1837,4.141,1838,4.903,1839,5.565,1840,5.565]],["title/interfaces/Message.html",[129,0.292,777,1.928]],["body/interfaces/Message.html",[0,1.728,3,0.081,4,0.206,5,0.081,6,0.061,11,0.538,18,0.406,19,0.655,20,1.977,35,0.765,40,1.26,41,0.825,43,0.01,45,0.693,46,1.076,47,1.492,48,1.228,55,1.57,56,0.897,71,1.914,75,0.006,80,0.005,84,0.005,85,0.804,96,3.292,99,0.256,104,0.208,113,1.228,115,1.473,129,0.398,130,0.184,133,0.195,134,1.57,139,0.971,141,1.35,155,3.179,160,1.33,161,1.023,195,1.139,199,1.923,205,1.743,206,2.899,213,1.451,230,2.114,278,1.599,297,1.139,337,0.889,359,1.773,429,1.228,642,3.27,750,3.385,758,2.622,761,3.855,772,2.275,773,4.167,777,4.025,792,2.899,794,2.85,813,1.084,819,2.85,835,3.909,993,2.85,1035,3.909,1053,4.5,1060,4.865,1072,2.367,1096,4.14,1243,2.706,1253,2.706,1254,3.712,1279,2.468,1332,3.712,1339,3.486,1392,2.706,1470,4.237,1527,4.237,1580,3.018,1589,3.018,1592,3.018,1613,2.58,1841,2.85,1842,4.559,1843,3.44,1844,4.421,1845,3.909,1846,4.418,1847,2.58,1848,4.802,1849,2.114,1850,3.22,1851,3.22,1852,4.237,1853,3.22,1854,5.329,1855,4.14,1856,2.85,1857,2.85,1858,4.14,1859,3.018,1860,3.22,1861,4.418,1862,3.22,1863,2.706,1864,3.22,1865,3.22,1866,3.22,1867,4.418,1868,3.018,1869,3.22,1870,3.22,1871,3.22,1872,4.418,1873,3.22,1874,4.418,1875,2.85,1876,4.726,1877,3.22,1878,3.22,1879,3.22,1880,3.22,1881,2.706,1882,3.22,1883,3.22,1884,5.043,1885,3.22,1886,3.22,1887,3.22,1888,3.22,1889,2.85,1890,3.22,1891,3.22,1892,3.22,1893,3.22]],["title/classes/MessageChannel.html",[133,0.144,792,2.132]],["body/classes/MessageChannel.html",[0,1.595,3,0.072,4,0.205,5,0.072,6,0.113,11,0.91,18,0.362,19,0.604,20,2.068,25,1.373,35,0.968,38,1.821,40,1.362,41,0.735,42,1.613,43,0.01,44,0.965,45,0.71,46,1.379,47,1.45,48,1.555,55,1.696,56,0.962,71,1.907,75,0.006,80,0.004,84,0.004,85,1.019,86,0.754,96,3.395,99,0.241,104,0.185,113,1.095,115,1.313,129,0.367,130,0.178,133,0.18,134,1.506,139,0.896,141,1.345,155,2.794,160,1.296,161,0.962,199,1.808,205,1.554,206,2.676,213,1.339,230,1.884,278,1.425,297,1.016,337,0.793,359,1.152,429,1.555,642,3.135,750,3.124,758,2.42,761,3.879,772,2.88,773,4.288,777,4.016,792,3.112,794,2.54,813,0.966,819,2.54,835,3.608,993,3.608,1035,3.608,1053,4.562,1060,4.761,1072,2.996,1096,3.821,1243,3.425,1253,2.412,1254,3.425,1279,2.2,1332,3.425,1339,3.342,1392,2.412,1453,3.096,1470,4.759,1527,4.759,1580,2.69,1589,3.821,1592,3.821,1613,3.798,1841,2.54,1842,4.58,1843,3.456,1844,4.281,1845,2.54,1846,2.871,1847,2.3,1848,5.155,1849,1.884,1850,2.871,1851,2.871,1852,3.983,1853,2.871,1854,5.109,1855,3.821,1856,2.54,1857,2.54,1858,3.821,1859,2.69,1860,4.077,1861,5.452,1862,4.077,1863,3.425,1864,4.077,1865,2.871,1866,2.871,1867,4.077,1868,3.821,1869,4.077,1870,5.162,1871,2.871,1872,5.162,1873,4.077,1874,4.077,1875,3.608,1876,5.308,1877,4.077,1878,2.871,1879,5.162,1880,2.871,1881,2.412,1882,2.871,1883,2.871,1884,4.741,1885,2.871,1886,2.871,1887,2.871,1888,2.871,1889,2.54,1890,2.871,1891,2.871,1892,2.871,1893,2.871,1894,5.478,1895,5.478,1896,5.478,1897,3.857,1898,5.478,1899,3.857,1900,3.857,1901,3.857,1902,3.857,1903,3.857]],["title/injectables/MessageService.html",[0,1.271,758,1.928]],["body/injectables/MessageService.html",[0,1.662,2,2.332,3,0.077,4,0.203,5,0.077,6,0.11,11,0.817,18,0.384,19,0.63,20,2.093,25,1.43,35,1.009,38,1.742,40,1.323,41,1.088,42,1.328,43,0.01,44,0.795,45,0.679,46,1.29,47,1.544,48,1.161,55,1.636,56,0.993,71,1.648,75,0.006,80,0.004,84,0.004,85,1.061,86,0.8,96,3.284,99,0.249,104,0.196,113,1.161,115,1.392,129,0.382,130,0.181,133,0.188,134,1.539,139,0.933,141,1.406,155,2.649,160,1.314,161,0.993,199,1.867,205,1.647,206,2.788,213,1.395,230,3.476,278,2.109,297,1.077,337,0.841,359,1.221,429,1.161,642,3.204,750,3.75,758,3.307,761,3.942,772,2.15,773,4.22,777,4.019,792,3.212,794,3.76,813,1.025,819,3.76,835,3.76,993,2.694,1035,3.76,1053,4.422,1060,4.63,1072,2.237,1096,3.982,1243,2.557,1253,2.557,1254,3.57,1279,2.332,1332,3.57,1339,3.538,1392,4.112,1470,4.112,1527,4.112,1580,3.982,1589,2.853,1592,2.853,1613,2.438,1841,2.694,1842,4.112,1843,3.103,1844,4.095,1845,2.694,1846,3.044,1847,2.438,1848,4.931,1849,1.998,1850,3.044,1851,3.044,1852,4.681,1853,3.044,1854,5.663,1855,3.982,1856,2.694,1857,2.694,1858,3.982,1859,2.853,1860,3.044,1861,4.249,1862,3.044,1863,2.557,1864,3.044,1865,3.044,1866,3.044,1867,4.249,1868,2.853,1869,3.044,1870,3.044,1871,3.044,1872,4.249,1873,3.044,1874,4.249,1875,2.694,1876,4.587,1877,3.044,1878,3.044,1879,3.044,1880,3.044,1881,3.57,1882,3.044,1883,3.044,1884,4.894,1885,3.044,1886,3.044,1887,3.044,1888,3.044,1889,3.76,1890,3.044,1891,4.249,1892,4.249,1893,3.044,1904,5.03,1905,4.09,1906,5.709,1907,4.09,1908,4.09,1909,4.09]],["title/interfaces/MessageServiceConfig.html",[129,0.292,1852,2.73]],["body/interfaces/MessageServiceConfig.html",[0,1.741,3,0.082,4,0.203,5,0.082,6,0.062,11,0.544,18,0.411,19,0.659,20,1.984,35,0.773,40,1.267,41,0.834,43,0.01,45,0.665,46,1.084,47,1.517,48,1.242,55,1.576,56,0.903,71,1.707,75,0.006,80,0.005,84,0.005,85,0.813,96,3.297,99,0.258,104,0.21,113,1.242,115,1.489,129,0.401,130,0.185,133,0.197,134,1.576,139,0.978,141,1.355,155,2.745,160,1.333,161,1.029,195,1.152,199,1.934,205,1.762,206,2.921,213,1.462,230,2.136,278,1.616,297,1.152,337,1.4,359,1.306,429,1.242,642,3.282,750,3.41,758,2.641,761,3.819,772,2.3,773,4.208,777,4.008,792,2.921,794,2.881,813,1.498,819,2.881,835,3.938,993,2.881,1035,3.938,1053,4.373,1060,4.706,1072,2.392,1096,4.171,1243,2.735,1253,2.735,1254,3.739,1279,3.41,1332,3.739,1339,3.613,1392,2.735,1470,4.26,1527,4.26,1580,3.051,1589,3.051,1592,3.051,1613,2.607,1841,2.881,1842,4.26,1843,3.215,1844,4.195,1845,2.881,1846,3.255,1847,2.607,1848,4.824,1849,2.136,1850,3.255,1851,3.255,1852,4.58,1853,4.45,1854,5.523,1855,5.349,1856,2.881,1857,2.881,1858,4.171,1859,3.051,1860,3.255,1861,4.45,1862,3.255,1863,2.735,1864,3.255,1865,3.255,1866,3.255,1867,4.45,1868,3.051,1869,3.255,1870,3.255,1871,3.255,1872,4.45,1873,3.255,1874,4.45,1875,2.881,1876,4.752,1877,3.255,1878,3.255,1879,3.255,1880,3.255,1881,2.735,1882,3.255,1883,3.255,1884,5.071,1885,3.255,1886,3.255,1887,3.255,1888,3.255,1889,2.881,1890,3.255,1891,3.255,1892,3.255,1893,3.255]],["title/interfaces/MetaDataField.html",[129,0.292,1910,3.249]],["body/interfaces/MetaDataField.html",[3,0.128,4,0.16,5,0.128,6,0.097,18,0.643,19,0.876,43,0.01,45,0.761,69,1.203,75,0.008,80,0.007,84,0.007,86,1.687,129,0.459,130,0.185,156,3.476,195,1.803,208,1.848,1910,6.241,1911,5.495,1912,5.495]],["title/interfaces/ModelStateModel.html",[129,0.292,1913,2.73]],["body/interfaces/ModelStateModel.html",[0,1.087,3,0.044,4,0.054,5,0.044,6,0.033,8,0.996,11,0.289,15,2.053,16,0.884,18,0.218,19,0.412,20,1.568,22,2.534,23,0.884,29,0.996,35,0.411,37,2.765,40,0.433,41,0.444,43,0.01,44,1.007,45,0.77,46,1.134,47,0.677,48,0.66,49,1.327,50,1.223,53,3.926,56,1.198,65,0.996,69,1.05,71,1.172,75,0.004,80,0.002,84,0.002,88,0.91,90,2.149,91,1.342,96,3.069,99,0.297,104,0.112,105,2.368,106,1.598,107,1.504,108,0.996,109,0.996,110,0.937,113,0.66,115,0.792,120,1.387,122,1.46,123,1.46,124,0.91,125,0.86,126,1.46,128,1.704,129,0.313,130,0.154,132,0.966,133,0.077,134,1.405,139,1.32,141,1.278,142,0.677,149,3.494,155,2.977,156,2.648,160,1.263,161,1.229,162,0.996,163,1.061,173,1.455,174,1.455,177,1.623,182,0.813,184,1.623,195,0.613,212,0.464,245,1.342,246,1.504,256,1.529,257,2.376,269,2.459,281,1.327,287,1.843,297,1.409,299,3.081,301,1.272,303,1.327,304,1.178,308,0.892,326,0.677,337,1.205,353,2.042,359,1.75,382,2.465,387,2.68,390,2.926,400,0.628,405,1.681,409,1.505,429,1.94,435,2.206,445,1.504,450,1.42,453,1.351,457,0.983,488,1.903,511,1.779,514,1.008,528,0.613,612,1.649,655,3.738,662,2.129,667,1.46,668,0.884,669,0.86,670,0.86,673,2.667,679,1.941,683,0.91,684,3.273,687,1.136,754,1.387,761,2.134,785,2.904,813,1.172,848,1.728,894,4.622,895,1.891,932,2.924,942,5.408,943,4.501,945,1.532,946,1.532,947,1.532,949,2.459,954,1.387,965,2.222,1015,3.643,1115,0.86,1212,2.558,1224,1.272,1258,3.422,1261,4.088,1263,3.886,1265,1.272,1333,3.48,1334,4.292,1335,3.568,1336,3.342,1339,2.855,1384,1.136,1745,3.191,1746,3.262,1748,3.595,1749,4.121,1750,2.604,1761,1.731,1795,3.422,1843,2.206,1844,2.558,1849,1.136,1881,1.455,1913,2.335,1914,1.532,1915,2.997,1916,4.203,1917,4.644,1918,4.918,1919,4.918,1920,4.918,1921,4.361,1922,5.106,1923,4.417,1924,2.459,1925,4.782,1926,4.296,1927,4.364,1928,1.824,1929,2.335,1930,2.604,1931,1.387,1932,1.387,1933,1.868,1934,1.731,1935,1.532,1936,1.868,1937,1.532,1938,1.868,1939,1.387,1940,1.868,1941,1.327,1942,1.272,1943,2.129,1944,1.868,1945,1.868,1946,1.623,1947,1.761,1948,1.136,1949,1.387,1950,1.327,1951,1.327,1952,1.731,1953,2.788,1954,1.868,1955,2.226,1956,1.731,1957,1.868,1958,1.868,1959,1.868,1960,2.924,1961,2.226,1962,1.868,1963,1.868,1964,1.868,1965,1.868,1966,1.868,1967,1.868,1968,1.868,1969,1.868,1970,1.868,1971,1.868,1972,1.868,1973,1.868,1974,1.868,1975,1.868,1976,1.868,1977,1.868,1978,1.868,1979,1.868,1980,1.868,1981,1.868,1982,1.868,1983,1.868,1984,1.868,1985,1.731,1986,1.731,1987,1.868,1988,1.868,1989,1.868,1990,1.868,1991,1.868,1992,1.623,1993,1.623,1994,1.455,1995,1.868,1996,1.868,1997,3.754,1998,1.868,1999,5.277,2000,1.868,2001,1.868,2002,2.997,2003,2.779,2004,1.868,2005,1.868,2006,4.916,2007,1.868,2008,1.868,2009,1.868,2010,1.868,2011,1.327,2012,1.868,2013,4.296,2014,2.129,2015,1.868,2016,1.868,2017,1.868,2018,1.387,2019,1.868,2020,1.868,2021,2.997,2022,1.868,2023,4.296,2024,1.868,2025,2.997,2026,1.868,2027,1.868,2028,1.868,2029,1.868,2030,1.868,2031,1.868,2032,1.868,2033,1.868,2034,1.868,2035,1.868,2036,1.868,2037,1.868,2038,1.868,2039,1.868,2040,1.868,2041,1.868,2042,1.868,2043,1.868,2044,1.868,2045,2.997,2046,1.868,2047,1.868,2048,1.868,2049,1.868,2050,1.868,2051,1.868,2052,1.868,2053,1.868,2054,1.868,2055,2.997,2056,1.868,2057,1.868,2058,1.868,2059,1.868,2060,1.868,2061,1.868,2062,1.868,2063,1.868,2064,1.868,2065,1.868,2066,1.868,2067,1.868,2068,1.868,2069,1.868,2070,1.868,2071,2.997,2072,1.387,2073,1.623,2074,1.868,2075,1.532,2076,1.623,2077,2.997,2078,3.262,2079,2.997,2080,2.226,2081,2.997,2082,1.868,2083,1.868,2084,1.868,2085,1.868,2086,1.868,2087,1.868,2088,1.868,2089,1.387,2090,1.868,2091,1.868,2092,1.868,2093,1.868,2094,1.868,2095,1.868]],["title/components/NameInputComponent.html",[196,0.424,501,1.209]],["body/components/NameInputComponent.html",[3,0.069,4,0.086,5,0.099,6,0.118,11,0.771,12,1.262,18,0.345,19,0.584,20,1.554,25,1.326,32,2.68,35,0.649,38,1.923,40,0.984,41,1.009,42,1.443,43,0.01,44,1.269,45,0.717,46,1.124,47,0.959,48,1.926,52,1.07,55,1.275,56,0.937,69,1.014,75,0.006,76,1.734,80,0.004,84,0.004,85,1.337,86,1.573,99,0.235,104,0.176,129,0.246,130,0.124,133,0.246,134,0.755,139,0.601,141,1.421,142,0.959,160,0.988,161,1.086,196,0.749,197,0.992,198,1.326,199,1.043,200,1.156,201,1.156,202,1.126,208,0.992,209,1.581,210,1.581,211,2.253,212,1.124,213,0.898,214,1.429,216,1.429,256,0.855,259,2.607,260,1.7,300,1.554,308,1.009,309,0.898,321,1.098,333,2.309,334,3.78,335,3.78,359,1.098,399,1.251,400,0.992,401,1.525,405,1.321,409,0.944,414,1.098,427,1.573,444,1.677,450,1.143,453,1.143,457,0.968,468,1.156,469,1.801,470,1.156,471,2.133,472,1.156,473,1.156,474,1.043,475,1.156,476,1.017,477,1.95,478,1.043,479,1.156,480,1.429,481,1.95,482,1.043,483,1.098,484,1.156,485,1.043,486,1.156,487,1.043,488,0.992,489,1.156,490,1.043,491,1.156,492,1.043,493,1.043,494,1.156,495,1.043,496,1.126,497,1.017,498,1.156,499,1.043,500,1.664,501,1.878,502,1.043,503,1.043,504,1.95,505,1.043,506,1.541,507,1.664,508,1.017,509,1.043,510,1.017,511,0.855,512,1.156,513,1.017,514,0.992,515,1.043,516,1.156,517,1.043,518,1.156,519,1.043,520,1.156,521,1.043,522,1.326,523,1.043,524,1.502,525,1.043,526,1.156,527,1.043,528,1.393,529,1.156,530,1.043,531,1.156,532,1.156,561,3.932,596,1.48,607,2.132,658,2.191,664,2.574,665,1.043,666,2.197,667,2.654,668,1.397,669,1.358,670,2.291,675,3.485,676,4.084,677,1.502,678,1.95,683,2.426,684,2.265,685,4.496,686,3.155,687,3.657,691,2.563,692,2.421,693,2.298,695,2.735,704,2.585,705,1.754,706,1.932,708,3.238,709,4.663,711,3.238,725,2.95,726,2.563,727,2.298,1115,2.507,1281,3.314,1282,3.14,1831,5.503,2096,6.218,2097,4.663,2098,4.663,2099,5.464,2100,5.464,2101,5.464,2102,5.292,2103,5.464,2104,5.292,2105,6.365,2106,5.292,2107,4.663,2108,3.675,2109,3.691,2110,5.772,2111,5.978,2112,5.978,2113,3.932,2114,3.675,2115,3.932,2116,3.675,2117,3.675,2118,3.675,2119,3.238,2120,2.421,2121,3.938,2122,4.663,2123,3.238,2124,3.238,2125,3.238,2126,4.663,2127,3.238,2128,3.238,2129,3.238]],["title/modules/NameInputModule.html",[533,1.271,1816,2.875]],["body/modules/NameInputModule.html",[3,0.12,4,0.149,5,0.12,6,0.091,43,0.01,44,0.89,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,424,1.641,501,2.515,522,1.601,535,1.814,536,2.22,547,2.398,548,1.814,550,2.595,552,2.063,556,2.336,734,5.13,735,2.595,736,2.74,737,2.175,738,5.674,739,4.756,742,4.17,743,3.495,744,5.13,1711,6.718,1712,5.631,1816,5.825,1831,4.209,2096,4.756,2120,4.209,2130,5.631,2131,5.631,2132,5.631,2133,6.718,2134,6.718]],["title/interfaces/OrganData.html",[129,0.292,2135,3.045]],["body/interfaces/OrganData.html",[0,1.612,3,0.073,4,0.091,5,0.073,6,0.056,15,2.145,16,1.488,18,0.367,19,0.61,20,1.609,22,1.297,29,1.675,35,0.692,43,0.01,44,0.771,45,0.583,46,1.265,47,0.71,55,1.138,56,0.591,65,1.675,69,1.154,71,1.749,75,0.006,80,0.004,84,0.004,85,0.728,90,2.019,96,2.104,99,0.325,102,1.912,104,0.188,106,2.369,107,2.23,108,1.675,109,1.675,110,1.577,113,1.111,114,1.729,115,1.332,119,2.141,122,2.165,123,2.165,124,1.531,125,1.446,126,2.165,128,2.526,129,0.371,130,0.163,132,1.625,133,0.129,134,1.65,139,1.426,149,5.039,160,1.112,161,0.591,162,1.675,163,1.786,188,2.073,195,1.031,212,0.798,245,1.989,246,2.23,257,1.199,262,2.232,278,2.045,299,3.191,326,1.14,359,1.653,378,2.058,380,3.377,382,2.246,384,3.662,387,2.441,389,2.232,390,2.666,400,1.057,405,1.407,450,1.652,453,1.652,466,1.531,608,2.448,635,1.912,636,1.982,639,1.982,640,1.982,687,2.704,747,3.861,754,2.334,848,3.017,891,1.912,895,1.982,896,3.461,902,2.334,930,2.448,953,2.913,955,2.913,1015,3.657,1151,2.448,1258,3.028,1334,4.528,1335,4.361,1336,4.361,1384,1.912,1740,2.913,1844,3.028,1916,3.3,1917,3.646,1923,3.028,1925,4.782,1928,2.704,1929,2.448,1941,2.232,1947,1.847,1948,1.912,1950,2.232,1951,2.232,2072,4.162,2075,3.646,2080,2.334,2089,3.829,2135,4.479,2136,2.73,2137,2.73,2138,3.861,2139,2.73,2140,4.23,2141,2.73,2142,2.578,2143,5.604,2144,4.479,2145,2.913,2146,4.12,2147,2.913,2148,3.157,2149,2.578,2150,5.913,2151,3.142,2152,3.142,2153,2.73,2154,3.142,2155,3.142,2156,2.73,2157,3.142,2158,3.142,2159,2.73,2160,2.73,2161,3.142,2162,3.142,2163,3.142,2164,3.142,2165,2.73,2166,4.444,2167,4.444,2168,4.444,2169,4.444,2170,4.444,2171,4.444,2172,2.913,2173,3.142,2174,3.142,2175,3.142,2176,3.142,2177,3.142,2178,3.142,2179,3.142,2180,3.142,2181,3.142,2182,3.142,2183,3.142,2184,3.861,2185,3.142,2186,3.142,2187,3.142,2188,3.142,2189,5.155,2190,5.155,2191,3.142,2192,3.142,2193,3.142,2194,2.73,2195,2.73,2196,2.73,2197,2.73,2198,3.142,2199,2.73,2200,4.444,2201,3.861,2202,3.142,2203,3.142,2204,3.142,2205,3.142,2206,4.444,2207,3.142,2208,3.142,2209,3.142,2210,3.142,2211,3.142,2212,2.913,2213,3.142,2214,3.142,2215,3.142,2216,3.142,2217,3.142,2218,3.142,2219,3.142,2220,2.232,2221,3.142,2222,3.142,2223,3.142,2224,3.142,2225,3.142,2226,3.142]],["title/injectables/PageState.html",[0,1.271,91,1.569]],["body/injectables/PageState.html",[0,1.56,2,2.133,3,0.07,4,0.087,5,0.07,6,0.123,11,0.778,14,3.9,15,2.259,16,2.037,18,0.351,19,0.591,20,1.714,22,1.239,23,2.863,25,1.343,29,2.927,32,2.714,35,0.947,38,2.007,40,0.996,41,1.022,42,1.457,43,0.01,44,1.141,45,0.568,46,1.135,47,0.971,52,2.108,53,4.201,55,1.631,56,1.303,65,2.294,69,0.725,75,0.006,80,0.004,84,0.004,85,1.272,86,1.415,91,1.926,96,3.016,99,0.314,104,0.18,105,3.463,106,2.294,107,2.159,108,1.601,109,1.601,110,1.507,113,1.062,114,1.652,115,1.273,122,2.096,123,2.096,124,1.463,125,1.382,126,1.463,129,0.359,130,0.146,132,1.552,133,0.123,134,1.406,139,1.118,160,0.854,161,1.277,162,1.601,163,1.706,182,1.308,212,0.666,224,5.363,245,2.601,246,2.755,263,1.552,287,2.276,297,1.983,307,3.293,308,1.194,309,1.531,310,3.425,326,1.089,333,2.853,334,2.818,335,2.818,337,1.66,389,2.133,609,4.768,619,3.738,639,1.894,640,1.894,785,3.021,813,0.937,848,1.382,891,1.827,960,2.714,1330,2.339,1339,2.445,1384,1.827,1849,1.827,1863,2.339,1928,3.059,1931,2.23,1932,2.23,1937,4.125,1939,2.23,1942,2.046,1943,2.133,1950,2.133,1951,2.133,2006,3.733,2011,2.133,2014,2.133,2113,2.931,2115,2.931,2227,2.783,2228,4.302,2229,4.961,2230,6.485,2231,5.49,2232,5.49,2233,5.49,2234,5.359,2235,5.359,2236,6.729,2237,5.027,2238,6.581,2239,3.74,2240,3.74,2241,3.74,2242,3.74,2243,3.74,2244,3.74,2245,3.74,2246,3.74,2247,4.302,2248,3.74,2249,4.302,2250,4.661,2251,3.74,2252,5.387,2253,4.302,2254,3.74,2255,4.302,2256,3.74,2257,4.302,2258,4.302,2259,3.74,2260,4.302,2261,3.74,2262,3.74,2263,3.74,2264,3.74,2265,3.74,2266,3.74,2267,3.74,2268,3.002,2269,2.609,2270,2.609,2271,3.002,2272,3.002,2273,3.916,2274,2.339,2275,3.002,2276,3.002,2277,3.002,2278,3.002,2279,3.002,2280,2.609,2281,3.002,2282,3.002,2283,3.002,2284,3.002,2285,3.002,2286,4.302,2287,3.002,2288,4.368,2289,3.002,2290,3.002,2291,3.988,2292,4.302,2293,3.738,2294,3.002,2295,3.002,2296,3.002,2297,3.002,2298,3.002,2299,4.302,2300,3.002,2301,3.002,2302,3.002,2303,5.027,2304,3.002,2305,2.609,2306,4.302,2307,3.002,2308,3.002,2309,3.002]],["title/interfaces/PageStateModel.html",[129,0.292,2274,2.73]],["body/interfaces/PageStateModel.html",[0,1.704,3,0.079,4,0.099,5,0.079,6,0.06,11,0.527,14,3.338,15,2.284,16,1.612,18,0.398,19,0.646,20,1.467,22,1.94,23,2.883,29,1.815,35,0.749,40,0.788,41,0.809,43,0.01,44,1.006,45,0.712,47,0.769,53,3.971,56,1.237,65,1.815,69,0.792,75,0.006,80,0.004,84,0.004,86,0.829,91,1.524,96,2.981,99,0.322,104,0.204,105,3.66,106,2.506,107,2.358,108,1.815,109,1.815,110,1.708,113,1.204,114,1.873,115,1.443,122,2.29,123,2.29,124,1.659,125,1.567,126,1.659,129,0.392,130,0.157,132,1.76,133,0.14,134,1.486,139,1.182,160,0.932,161,1.146,162,1.815,163,1.935,182,1.483,195,1.117,212,0.728,224,5.36,245,2.598,246,2.358,263,1.76,287,2.385,297,1.997,307,3.525,308,1.278,309,1.639,310,3.667,326,1.235,333,2.917,334,3.078,335,3.078,337,1.811,389,2.418,609,3.855,619,4.083,639,2.147,640,2.147,785,2.586,813,1.467,848,1.567,891,2.071,960,2.147,1330,2.652,1339,1.935,1384,2.071,1849,2.071,1863,2.652,1928,2.859,1931,2.528,1932,2.528,1937,4.415,1939,2.528,1942,2.319,1943,2.418,1950,2.418,1951,2.418,2006,3.997,2011,2.418,2014,2.418,2113,2.319,2115,2.319,2227,3.156,2228,3.404,2229,5.294,2230,6.755,2231,3.404,2232,3.404,2233,3.404,2236,6.93,2237,3.404,2238,6.823,2247,3.404,2249,3.404,2250,3.156,2252,5.38,2253,3.404,2255,3.404,2257,3.404,2258,3.404,2260,3.404,2268,3.404,2269,2.958,2270,2.958,2271,3.404,2272,3.404,2273,4.743,2274,3.66,2275,3.404,2276,3.404,2277,3.404,2278,3.404,2279,3.404,2280,2.958,2281,3.404,2282,3.404,2283,3.404,2284,3.404,2285,3.404,2286,4.699,2287,3.404,2288,4.676,2289,3.404,2290,3.404,2291,4.357,2292,4.699,2293,4.083,2294,3.404,2295,3.404,2296,3.404,2297,3.404,2298,3.404,2299,4.699,2300,3.404,2301,3.404,2302,3.404,2303,5.382,2304,3.404,2305,2.958,2306,4.699,2307,3.404,2308,3.404,2309,3.404]],["title/interfaces/Person.html",[129,0.292,2273,2.73]],["body/interfaces/Person.html",[0,1.737,3,0.082,4,0.102,5,0.082,6,0.062,11,0.542,14,3.402,15,2.23,16,1.657,18,0.409,19,0.658,20,1.495,22,1.445,23,2.78,29,1.866,35,0.77,40,0.81,41,0.831,43,0.01,44,1.018,45,0.541,47,0.79,53,4.005,56,1.245,65,1.866,69,1.071,75,0.006,80,0.005,84,0.005,86,0.852,91,1.567,96,3.006,99,0.323,104,0.209,105,3.703,106,2.554,107,2.403,108,1.866,109,1.866,110,1.756,113,1.237,114,1.926,115,1.484,122,2.334,123,2.334,124,1.705,125,1.611,126,1.705,129,0.4,130,0.159,132,1.809,133,0.143,134,1.503,139,1.196,160,0.95,161,1.157,162,1.866,163,1.989,182,1.524,195,1.148,212,0.742,224,5.23,245,2.628,246,2.403,263,1.809,287,2.409,297,2.017,307,3.137,308,1.138,309,1.458,310,3.263,326,1.269,333,2.806,334,4.027,335,4.027,337,1.664,389,2.486,609,3.929,619,4.161,639,2.207,640,2.207,785,2.635,813,1.092,848,1.611,891,2.914,960,2.207,1330,3.73,1339,1.989,1384,2.129,1849,2.129,1863,3.73,1928,2.914,1931,2.599,1932,2.599,1937,4.48,1939,2.599,1942,2.384,1943,2.486,1950,2.486,1951,2.486,2006,4.055,2011,2.486,2014,2.486,2113,2.384,2115,2.384,2227,3.244,2228,3.499,2229,4.817,2230,6.501,2231,3.499,2232,3.499,2233,3.499,2236,6.792,2237,3.499,2238,6.619,2247,3.499,2249,3.499,2250,3.244,2252,5.062,2253,3.499,2255,3.499,2257,3.499,2258,3.499,2260,3.499,2268,3.499,2269,3.041,2270,3.041,2271,3.499,2272,3.499,2273,4.79,2274,2.726,2275,3.499,2276,3.499,2277,3.499,2278,3.499,2279,3.499,2280,3.041,2281,3.499,2282,3.499,2283,3.499,2284,3.499,2285,3.499,2286,4.789,2287,3.499,2288,4.744,2289,3.499,2290,3.499,2291,4.44,2292,4.789,2293,4.161,2294,3.499,2295,3.499,2296,3.499,2297,3.499,2298,3.499,2299,4.789,2300,3.499,2301,3.499,2302,3.499,2303,5.46,2304,3.499,2305,3.041,2306,4.789,2307,3.499,2308,3.499,2309,3.499]],["title/injectables/ReferenceDataState.html",[0,1.271,1947,2.06]],["body/injectables/ReferenceDataState.html",[0,1.495,2,2.011,3,0.066,4,0.082,5,0.066,6,0.108,11,0.753,15,2.219,16,1.952,18,0.331,20,1.772,22,1.702,25,1.287,29,2.848,35,0.907,38,1.717,42,1.548,43,0.01,44,1.028,45,0.604,46,1.206,47,0.931,55,1.566,56,0.776,65,2.198,69,1.188,71,1.667,75,0.005,80,0.004,84,0.004,85,0.656,90,2.224,96,2.302,99,0.319,102,1.722,104,0.169,106,2.198,107,2.069,108,1.509,109,1.509,110,1.42,113,1.001,114,1.557,115,1.2,119,1.928,122,2.009,123,2.009,124,1.379,125,1.303,126,2.009,128,2.343,129,0.344,130,0.155,132,1.463,133,0.116,134,1.605,139,1.406,149,5.152,160,1.06,161,0.533,162,1.509,163,1.609,188,1.955,212,0.753,245,2.391,246,2.68,257,1.08,262,2.011,278,2.459,299,3.193,326,1.027,359,1.987,378,1.854,380,3.185,382,2.118,384,3.454,387,2.302,389,2.011,390,2.514,400,1.386,405,1.267,450,1.646,453,1.646,466,1.379,608,2.205,635,1.722,636,1.785,639,1.785,640,1.785,687,2.508,747,4.641,754,3.061,848,3.14,891,2.508,895,2.6,896,4.161,902,2.102,930,2.205,953,2.624,955,2.624,1015,3.573,1151,2.205,1258,2.809,1334,4.425,1335,4.345,1336,4.345,1384,1.722,1740,2.624,1844,2.809,1916,3.061,1917,3.382,1923,2.809,1925,4.883,1928,2.958,1929,2.205,1941,2.011,1947,2.423,1948,3.722,1950,2.011,1951,2.011,2072,3.967,2075,3.382,2080,2.102,2089,3.611,2135,4.225,2136,5.315,2137,2.459,2138,3.582,2139,2.459,2140,3.989,2141,2.459,2142,2.322,2143,6.117,2144,4.225,2145,2.624,2146,3.822,2147,2.624,2148,2.928,2149,2.322,2150,5.677,2151,2.83,2152,2.83,2153,2.459,2154,2.83,2155,2.83,2156,2.459,2157,2.83,2158,2.83,2159,2.459,2160,2.459,2161,2.83,2162,2.83,2163,2.83,2164,2.83,2165,2.459,2166,4.122,2167,4.122,2168,4.122,2169,4.122,2170,4.122,2171,4.122,2172,3.822,2173,2.83,2174,2.83,2175,2.83,2176,2.83,2177,2.83,2178,2.83,2179,2.83,2180,5.342,2181,2.83,2182,2.83,2183,2.83,2184,3.582,2185,2.83,2186,2.83,2187,2.83,2188,4.122,2189,4.862,2190,4.862,2191,2.83,2192,2.83,2193,2.83,2194,2.459,2195,2.459,2196,2.459,2197,2.459,2198,2.83,2199,2.459,2200,4.122,2201,4.225,2202,2.83,2203,2.83,2204,2.83,2205,2.83,2206,5.342,2207,4.122,2208,4.122,2209,2.83,2210,2.83,2211,2.83,2212,2.624,2213,2.83,2214,2.83,2215,2.83,2216,2.83,2217,2.83,2218,2.83,2219,4.122,2220,2.928,2221,4.122,2222,2.83,2223,2.83,2224,2.83,2225,2.83,2226,2.83,2310,5.136,2311,5.136,2312,5.136,2313,3.526,2314,3.526,2315,3.526,2316,3.526,2317,4.508,2318,3.526,2319,3.526,2320,3.526]],["title/interfaces/ReferenceDataStateModel.html",[129,0.292,2165,3.045]],["body/interfaces/ReferenceDataStateModel.html",[0,1.587,3,0.072,4,0.089,5,0.072,6,0.054,15,2.127,16,1.455,18,0.359,19,0.601,20,1.59,22,1.269,29,1.639,35,0.677,43,0.01,44,0.759,45,0.801,47,0.694,55,1.12,56,0.578,65,1.639,69,1.149,71,1.732,75,0.006,80,0.004,84,0.004,85,0.712,90,1.995,96,2.071,99,0.324,102,1.87,104,0.184,106,2.333,107,2.195,108,1.639,109,1.639,110,1.543,113,1.087,114,1.691,115,1.303,119,2.094,122,2.132,123,2.132,124,1.498,125,1.415,126,2.132,128,2.487,129,0.365,130,0.161,132,1.589,133,0.126,134,1.641,139,1.422,149,5.019,160,1.101,161,0.578,162,1.639,163,1.747,188,2.048,195,1.008,212,0.789,245,1.959,246,2.195,257,1.173,262,2.184,278,2.014,299,3.111,326,1.115,359,1.628,378,2.013,380,3.336,382,2.219,384,3.618,387,2.412,389,2.184,390,2.634,400,1.034,405,1.376,450,1.493,453,1.493,466,1.498,608,2.394,635,1.87,636,1.939,639,1.939,640,1.939,687,2.662,747,3.801,754,2.283,848,3.002,891,1.87,895,1.939,896,3.408,902,2.283,930,2.394,953,2.85,955,2.85,1015,3.45,1151,2.394,1258,2.981,1331,6.865,1334,4.272,1335,3.942,1336,3.942,1384,1.87,1740,2.85,1844,2.981,1916,4.355,1917,4.811,1923,2.981,1925,4.323,1928,2.662,1929,2.394,1941,2.184,1947,1.807,1948,1.87,1950,2.184,1951,2.184,2072,4.121,2075,3.589,2080,2.283,2089,3.783,2135,3.801,2136,2.671,2137,2.671,2138,3.801,2139,2.671,2140,4.179,2141,2.671,2142,2.522,2143,5.549,2144,4.426,2145,2.85,2146,4.056,2147,2.85,2148,3.108,2149,2.522,2150,5.864,2151,3.074,2152,3.074,2153,2.671,2154,3.074,2155,3.074,2156,2.671,2157,3.074,2158,3.074,2159,2.671,2160,2.671,2161,3.074,2162,3.074,2163,3.074,2164,3.074,2165,3.801,2166,5.864,2167,4.375,2168,5.864,2169,5.864,2170,5.864,2171,5.864,2172,2.85,2173,3.074,2174,3.074,2175,3.074,2176,3.074,2177,3.074,2178,3.074,2179,3.074,2180,3.074,2181,3.074,2182,3.074,2183,3.074,2184,3.801,2185,3.074,2186,3.074,2187,3.074,2188,3.074,2189,5.093,2190,5.093,2191,3.074,2192,3.074,2193,3.074,2194,2.671,2195,2.671,2196,2.671,2197,2.671,2198,3.074,2199,2.671,2200,4.375,2201,3.801,2202,3.074,2203,3.074,2204,3.074,2205,3.074,2206,4.375,2207,3.074,2208,3.074,2209,3.074,2210,3.074,2211,3.074,2212,2.85,2213,3.074,2214,3.074,2215,3.074,2216,3.074,2217,3.074,2218,3.074,2219,3.074,2220,2.184,2221,3.074,2222,3.074,2223,3.074,2224,3.074,2225,3.074,2226,3.074]],["title/components/RegistrationContentComponent.html",[196,0.424,502,1.239]],["body/components/RegistrationContentComponent.html",[3,0.058,4,0.073,5,0.088,6,0.12,11,0.876,12,1.115,15,2.321,18,0.292,19,0.516,22,2.601,23,2.781,25,1.172,35,0.826,38,1.95,40,0.87,41,0.892,42,1.561,43,0.01,44,1.188,45,0.741,46,1.216,52,0.905,55,1.547,56,1.185,69,0.761,75,0.005,80,0.003,84,0.003,85,1.163,86,1.223,88,2.448,91,2.249,99,0.267,104,0.149,114,1.373,115,1.058,125,1.148,130,0.073,133,0.258,134,0.639,142,0.563,156,2.703,160,1.199,161,1.137,196,0.651,197,0.839,198,1.172,199,0.882,200,0.977,201,0.977,202,0.952,208,0.839,209,1.397,210,1.397,211,2.23,212,1.111,213,0.76,214,1.263,216,1.263,223,3.923,256,1.088,259,1.397,260,1.172,263,3.197,297,1.481,299,3.136,300,1.409,301,3.076,307,2.459,308,1.675,309,1.529,313,1.373,321,0.928,326,0.905,331,1.853,332,1.772,337,1.449,400,1.263,401,1.29,404,2.078,408,2.134,409,0.798,410,1.574,413,1.518,414,0.928,416,3.222,418,1.373,421,1.29,427,1.33,429,1.776,431,2.653,434,1.33,437,1.33,438,2.495,442,2.957,444,1.418,445,1.252,448,1.466,450,0.671,451,1.518,453,0.671,457,0.818,468,0.977,469,1.93,470,0.977,471,1.968,472,0.977,473,0.977,474,0.882,475,0.977,476,0.86,477,1.768,478,0.882,479,0.977,480,1.263,481,1.768,482,0.882,483,0.928,484,0.977,485,0.882,486,0.977,487,0.882,488,0.839,489,0.977,490,0.882,491,0.977,492,0.882,493,0.882,494,0.977,495,0.882,496,0.952,497,0.86,498,0.977,499,0.882,500,1.471,501,0.86,502,1.776,503,0.882,504,1.768,505,0.882,506,1.362,507,1.471,508,0.86,509,0.882,510,0.86,511,0.723,512,0.977,513,0.86,514,0.839,515,0.882,516,0.977,517,0.882,518,0.977,519,0.882,520,0.977,521,0.882,522,1.172,523,0.882,524,1.328,525,0.882,526,0.977,527,0.882,528,1.232,529,0.977,530,0.882,531,0.977,532,0.977,583,5.556,660,2.368,665,0.882,677,1.328,678,1.768,684,3.018,705,1.55,718,2.558,719,3.262,785,2.066,813,1.172,827,3.08,864,4.514,865,4.121,964,3.08,969,2.021,976,2.168,1007,4.121,1224,2.558,1247,4.172,1273,4.996,1282,3.974,1315,2.925,1334,4.511,1335,4.021,1336,4.392,1345,2.495,1355,2.168,1364,4.121,1564,2.925,1640,4.121,1673,1.772,1677,2.168,1721,4.955,1723,4.955,1725,4.121,1736,4.121,1779,4.121,1780,4.121,1794,3.755,1802,2.313,1925,4.409,2018,2.788,2113,2.558,2115,2.558,2250,4.185,2273,1.943,2305,2.168,2317,2.313,2321,5.884,2322,5.884,2323,2.738,2324,5.624,2325,5.624,2326,3.704,2327,4.918,2328,5.624,2329,5.624,2330,4.677,2331,6.257,2332,4.677,2333,4.121,2334,4.994,2335,4.677,2336,4.677,2337,4.677,2338,3.108,2339,3.755,2340,3.755,2341,3.108,2342,4.677,2343,4.677,2344,3.108,2345,4.121,2346,4.955,2347,3.108,2348,4.677,2349,3.108,2350,3.108,2351,3.108,2352,3.108,2353,3.108,2354,3.108,2355,3.108,2356,3.108,2357,1.7,2358,3.108,2359,3.108,2360,3.108,2361,4.677,2362,3.108,2363,3.108,2364,3.108,2365,4.677,2366,3.108,2367,3.108,2368,3.108,2369,3.108,2370,2.495,2371,3.108,2372,3.108,2373,3.108]],["title/modules/RegistrationContentModule.html",[533,1.271,2374,3.045]],["body/modules/RegistrationContentModule.html",[3,0.116,4,0.145,5,0.116,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.771,308,1.183,326,1.806,424,1.593,497,2.073,502,2.57,535,1.761,536,2.181,547,2.355,548,1.761,550,2.549,552,2.418,556,2.295,570,6.599,583,4.086,735,2.549,736,2.692,737,2.111,742,4.097,743,3.393,1667,5.224,1668,4.327,1670,4.086,1706,5.434,1816,5.724,1828,4.98,1829,4.98,1830,5.466,1831,4.086,1832,4.98,2321,4.327,2322,4.327,2374,6.291,2375,5.466,2376,5.466,2377,5.466,2378,6.204,2379,6.204,2380,5.466]],["title/components/RegistrationModalComponent.html",[196,0.424,503,1.239]],["body/components/RegistrationModalComponent.html",[3,0.08,4,0.1,5,0.11,6,0.114,11,0.733,12,1.406,18,0.402,19,0.65,20,1.477,22,2.234,23,2.562,25,1.477,35,1.042,38,1.831,40,1.096,41,1.124,42,0.997,43,0.01,44,1.122,45,0.659,46,0.777,52,1.248,55,1.212,56,1.097,69,0.58,75,0.006,80,0.005,84,0.005,85,1.096,86,1.153,88,2.84,91,2.61,99,0.305,102,2.093,104,0.206,112,2.253,113,1.216,115,1.458,122,1.676,123,1.676,124,1.676,125,1.583,130,0.1,133,0.259,134,0.881,142,1.222,160,0.683,161,1.15,196,0.764,197,1.157,198,1.477,199,1.216,201,1.347,202,1.313,205,2.375,207,4.44,208,1.157,211,2.279,212,1.135,213,1.047,216,1.592,231,4.782,256,0.997,258,1.893,260,1.477,287,1.347,299,1.583,300,1.689,308,1.682,309,2.127,331,2.555,332,2.444,409,1.101,450,0.926,453,0.926,457,1.128,468,1.347,469,1.908,470,1.347,471,2.283,472,1.347,473,1.347,474,1.216,475,1.347,476,1.186,477,2.12,478,1.216,479,1.347,480,1.592,481,2.12,482,1.216,483,1.28,484,1.347,485,1.216,486,1.347,487,1.216,488,1.157,489,1.347,490,1.216,491,1.347,492,1.216,493,1.216,494,1.347,495,1.216,496,1.313,497,1.186,498,1.347,499,1.216,500,1.854,501,1.186,502,1.674,503,2.061,504,2.12,505,1.216,506,1.717,507,1.854,508,1.186,509,1.216,510,1.186,511,0.997,512,1.347,513,1.186,514,1.157,515,1.216,516,1.347,517,1.216,518,1.347,519,1.216,520,1.347,521,1.216,522,1.477,523,1.216,524,1.674,525,1.216,526,1.347,527,1.216,528,1.553,529,1.347,530,1.216,531,1.347,532,1.347,583,5.73,665,1.216,677,1.674,678,2.12,705,1.954,781,2.822,961,3.687,1118,5.404,1247,4.897,1562,5.404,1935,2.822,1942,2.344,1943,2.444,2011,2.444,2014,2.444,2212,3.189,2321,5.623,2322,2.989,2326,4.44,2357,2.344,2380,3.776,2381,2.989,2382,5.896,2383,4.388,2384,7.261,2385,3.44,2386,6.112,2387,6.741,2388,3.776,2389,4.388,2390,3.776,2391,4.285,2392,4.285,2393,4.285,2394,3.44,2395,4.285,2396,4.285,2397,4.285,2398,4.285,2399,3.44,2400,4.285,2401,4.285,2402,4.285]],["title/modules/RegistrationModalModule.html",[533,1.271,545,3.045]],["body/modules/RegistrationModalModule.html",[3,0.12,4,0.149,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.307,130,0.149,133,0.21,308,1.453,424,1.64,503,2.579,535,1.812,536,2.218,545,6.257,547,2.396,548,1.812,550,2.593,552,2.459,556,2.335,562,3.162,563,2.497,583,5.018,735,2.593,736,2.738,737,2.173,2321,4.452,2322,4.452,2357,3.491,2374,6.102,2403,5.624,2404,5.624,2405,5.624,2406,6.383,2407,5.124,2408,4.452,2409,6.116,2410,6.383]],["title/injectables/RegistrationState.html",[0,1.271,875,2.295]],["body/injectables/RegistrationState.html",[0,1.1,1,2.694,2,1.347,3,0.044,4,0.055,5,0.071,6,0.119,8,2.311,9,1.477,11,0.881,12,1.733,14,2.155,15,2.466,16,1.436,18,0.222,19,0.417,20,2.114,22,2.855,23,3.123,25,0.947,29,2.311,32,1.913,33,4.865,35,0.835,36,1.896,37,3.343,38,1.944,40,0.703,41,0.721,42,1.691,43,0.01,44,1.083,45,0.735,46,1.317,47,0.979,48,1.533,49,2.694,50,2.484,52,1.375,53,3.349,55,1.665,56,1.098,59,2.489,65,1.617,69,1.023,75,0.004,80,0.003,83,2.636,84,0.003,85,0.439,86,1.539,88,1.848,90,2.377,91,1.698,96,2.957,99,0.311,102,1.154,104,0.113,105,3.479,106,1.617,107,1.522,108,1.011,109,1.011,110,0.951,112,1.242,113,0.67,114,1.669,115,0.804,118,1.758,119,1.292,120,1.408,129,0.158,130,0.088,132,0.98,133,0.078,134,1.554,139,1.236,140,1.292,141,1.113,142,0.685,155,2.175,156,3.092,160,1.182,161,0.892,162,1.011,163,1.078,164,1.555,165,1.347,166,1.555,167,1.555,168,1.477,169,1.555,170,1.555,173,1.477,174,1.477,181,1.555,185,1.647,188,1.525,208,2.073,212,0.587,245,2.377,246,2.175,256,1.099,257,0.724,262,1.347,287,1.698,297,0.995,299,0.873,308,1.576,326,0.688,333,0.804,334,1.242,335,1.242,337,1.599,359,2.549,382,1.652,387,1.795,390,1.961,400,1.275,435,1.114,466,1.848,493,1.341,511,0.549,610,3.033,612,2.608,614,2.812,621,3.889,629,1.758,635,1.154,636,1.196,659,2.812,661,2.816,662,1.347,679,1.569,712,3.033,785,1.669,813,1.578,816,3.033,820,3.295,848,2.182,875,1.987,902,1.408,944,1.647,960,3.479,961,3.692,962,3.556,1115,1.396,1129,1.555,1212,2.953,1270,2.636,1282,3.68,1330,3.938,1339,1.724,1378,2.812,1384,1.154,1410,2.812,1459,3.792,1464,3.033,1465,1.896,1745,3.52,1795,2.067,1843,1.783,1875,2.489,1913,1.477,1923,3.445,1928,2.307,1930,2.636,1931,1.408,1932,1.408,1939,1.408,1941,1.347,1942,1.292,1943,2.155,1947,2.229,1948,1.154,1949,1.408,1953,1.408,1955,1.408,1961,2.253,1994,1.477,2006,2.816,2011,1.347,2014,2.155,2089,1.408,2109,3.766,2113,1.292,2115,2.584,2121,2.812,2138,5.731,2139,1.647,2148,1.347,2153,2.636,2184,1.647,2195,1.647,2196,1.647,2197,1.647,2201,1.647,2220,2.694,2269,1.647,2270,1.647,2274,1.477,2280,1.647,2288,2.636,2293,1.647,2317,1.758,2370,1.896,2411,1.896,2412,5.834,2413,5.516,2414,4.162,2415,3.779,2416,4.162,2417,4.162,2418,3.779,2419,3.779,2420,3.779,2421,3.779,2422,5.688,2423,3.516,2424,4.162,2425,4.162,2426,4.162,2427,3.779,2428,3.33,2429,2.362,2430,2.362,2431,2.362,2432,3.33,2433,4.393,2434,2.362,2435,2.362,2436,3.033,2437,3.33,2438,2.362,2439,2.362,2440,3.33,2441,2.362,2442,2.362,2443,3.33,2444,2.362,2445,3.33,2446,4.757,2447,3.33,2448,3.33,2449,3.33,2450,2.812,2451,3.33,2452,2.362,2453,3.33,2454,3.33,2455,2.362,2456,3.33,2457,2.362,2458,4.162,2459,3.33,2460,3.33,2461,3.33,2462,2.362,2463,2.362,2464,2.362,2465,2.362,2466,2.362,2467,2.362,2468,2.362,2469,2.362,2470,2.362,2471,2.362,2472,2.362,2473,2.362,2474,2.362,2475,2.362,2476,3.792,2477,2.362,2478,2.362,2479,3.516,2480,3.33,2481,2.362,2482,2.362,2483,2.081,2484,2.081,2485,1.896,2486,2.081,2487,3.33,2488,2.081,2489,1.758,2490,1.758,2491,4.757,2492,4.162,2493,3.33,2494,3.33,2495,3.33,2496,2.081,2497,2.081,2498,2.081,2499,3.33,2500,2.081,2501,2.081,2502,2.081,2503,2.081,2504,2.081,2505,2.081,2506,2.081,2507,2.081,2508,2.081,2509,2.081,2510,1.896,2511,2.081,2512,2.081,2513,2.081,2514,2.081,2515,2.081,2516,2.081,2517,2.081,2518,2.081,2519,2.081,2520,2.081,2521,2.081,2522,2.081,2523,2.081,2524,2.081,2525,2.081,2526,2.081,2527,2.081,2528,2.081,2529,2.081,2530,2.081,2531,2.081,2532,2.081,2533,2.081,2534,2.081,2535,2.081,2536,2.081,2537,2.081,2538,2.081,2539,2.081,2540,2.081,2541,2.081,2542,2.081,2543,2.081,2544,2.081,2545,2.081,2546,1.758,2547,2.081,2548,1.758,2549,1.647,2550,1.896,2551,2.081,2552,2.081,2553,4.757,2554,4.757,2555,2.081,2556,3.33,2557,2.081,2558,2.081,2559,2.081,2560,2.081,2561,2.081,2562,2.081,2563,2.081,2564,2.081,2565,2.081,2566,2.081,2567,2.081,2568,2.081,2569,2.081,2570,1.896,2571,2.081,2572,2.081,2573,2.081,2574,2.081,2575,2.081,2576,3.33,2577,2.081,2578,2.081,2579,2.081,2580,2.081,2581,2.081,2582,2.081,2583,4.162,2584,2.081,2585,2.081,2586,3.33,2587,3.33,2588,3.33,2589,3.33,2590,2.081,2591,2.081,2592,2.081,2593,2.081,2594,2.081,2595,2.081,2596,2.081,2597,2.081,2598,2.081,2599,1.896,2600,2.081,2601,2.081,2602,2.081,2603,2.081,2604,2.081,2605,2.081,2606,2.081,2607,2.081,2608,2.081,2609,2.081,2610,2.081,2611,2.081,2612,2.081,2613,2.081,2614,2.081,2615,2.081,2616,2.081,2617,2.081,2618,2.081,2619,2.081,2620,2.081,2621,2.081,2622,2.081,2623,2.081,2624,2.081,2625,2.081,2626,2.081,2627,2.081,2628,2.081,2629,2.081,2630,2.081,2631,2.081,2632,2.081,2633,2.081,2634,2.081,2635,2.081,2636,2.081,2637,2.081,2638,2.081]],["title/interfaces/RegistrationStateModel.html",[129,0.292,2490,3.249]],["body/interfaces/RegistrationStateModel.html",[0,1.301,1,2.548,3,0.055,4,0.068,5,0.084,6,0.041,8,2.597,9,1.829,11,0.364,12,1.558,14,1.668,15,2.415,16,1.112,18,0.275,19,0.493,20,1.968,22,2.802,23,2.986,29,1.252,33,4.62,35,0.789,37,3.083,40,0.544,41,0.558,43,0.01,44,0.844,45,0.65,47,0.81,48,1.268,49,2.548,50,2.349,53,3.072,55,1.114,56,0.987,59,1.927,65,1.252,69,0.97,75,0.005,80,0.003,83,3.116,84,0.003,86,1.558,88,1.748,90,2.253,91,1.606,96,2.809,99,0.322,102,1.429,104,0.14,105,3.742,106,1.912,107,1.8,108,1.252,109,1.252,110,1.178,112,1.538,113,0.831,114,1.974,115,0.996,118,2.177,119,1.6,120,1.744,129,0.196,130,0.104,132,1.214,133,0.096,134,1.638,139,1.303,140,1.6,141,1.155,142,0.53,155,2.444,156,3.21,160,1.251,161,0.819,162,1.252,163,1.335,164,1.927,165,1.668,166,1.927,167,1.927,168,1.829,169,1.927,170,1.927,173,1.829,174,1.829,181,1.927,185,2.041,188,1.75,195,0.77,208,1.935,212,0.674,245,2.348,246,1.8,256,1.261,257,0.896,262,1.668,287,1.704,297,0.77,299,1.081,308,1.581,326,0.852,333,1.521,334,1.538,335,1.538,337,1.615,359,2.495,382,1.895,387,2.06,390,2.25,400,1.463,435,1.38,466,2.12,493,1.268,511,0.681,612,2.394,614,3.325,621,3.57,629,2.177,635,1.429,636,1.481,659,2.177,661,3.231,662,1.668,679,1.214,712,3.587,785,1.292,813,1.726,816,3.587,820,3.781,848,2.415,875,1.538,902,1.744,944,2.041,960,3.488,961,3.794,962,2.943,1115,1.081,1129,1.927,1212,2.444,1270,2.041,1282,3.309,1330,4.086,1339,1.335,1378,2.177,1384,1.429,1410,2.177,1459,2.349,1464,2.349,1465,2.349,1745,3.617,1795,2.444,1843,1.38,1875,1.927,1913,1.829,1923,2.965,1928,2.182,1930,3.116,1931,1.744,1932,1.744,1939,1.744,1941,1.668,1942,1.6,1943,2.548,1947,2.108,1948,1.429,1949,1.744,1953,1.744,1955,1.744,1961,2.664,1994,1.829,2006,3.231,2011,1.668,2014,2.548,2089,1.744,2109,3.116,2113,1.6,2115,2.444,2121,2.177,2138,5.154,2139,2.041,2148,1.668,2153,3.116,2184,2.041,2195,2.041,2196,2.041,2197,2.041,2201,2.041,2220,1.668,2269,2.041,2270,2.041,2274,1.829,2280,2.041,2288,3.116,2293,2.041,2370,2.349,2411,2.349,2412,6.307,2413,5.932,2414,2.578,2416,2.578,2417,2.578,2422,4.87,2423,2.177,2424,2.578,2425,2.578,2426,2.578,2428,2.578,2432,2.578,2433,3.781,2436,2.349,2437,2.578,2440,2.578,2443,2.578,2445,2.578,2446,4.776,2447,2.578,2448,2.578,2449,2.578,2450,2.177,2451,2.578,2453,2.578,2454,2.578,2456,2.578,2458,3.937,2459,2.578,2460,2.578,2461,2.578,2476,3.587,2479,3.325,2480,2.578,2483,2.578,2484,2.578,2485,2.349,2486,2.578,2487,3.937,2488,2.578,2489,2.177,2490,3.325,2491,6.314,2492,4.776,2493,3.937,2494,3.937,2495,3.937,2496,2.578,2497,2.578,2498,2.578,2499,3.937,2500,2.578,2501,2.578,2502,2.578,2503,2.578,2504,2.578,2505,2.578,2506,2.578,2507,2.578,2508,2.578,2509,2.578,2510,2.349,2511,2.578,2512,2.578,2513,2.578,2514,2.578,2515,2.578,2516,2.578,2517,2.578,2518,2.578,2519,2.578,2520,2.578,2521,2.578,2522,2.578,2523,2.578,2524,2.578,2525,2.578,2526,2.578,2527,2.578,2528,2.578,2529,2.578,2530,2.578,2531,2.578,2532,2.578,2533,2.578,2534,2.578,2535,2.578,2536,2.578,2537,2.578,2538,2.578,2539,2.578,2540,2.578,2541,2.578,2542,2.578,2543,2.578,2544,2.578,2545,2.578,2546,2.177,2547,2.578,2548,2.177,2549,2.041,2550,2.349,2551,2.578,2552,2.578,2553,5.346,2554,5.346,2555,2.578,2556,3.937,2557,2.578,2558,2.578,2559,2.578,2560,2.578,2561,2.578,2562,2.578,2563,2.578,2564,2.578,2565,2.578,2566,2.578,2567,2.578,2568,2.578,2569,2.578,2570,2.349,2571,2.578,2572,2.578,2573,2.578,2574,2.578,2575,2.578,2576,3.937,2577,2.578,2578,2.578,2579,2.578,2580,2.578,2581,2.578,2582,2.578,2583,4.776,2584,2.578,2585,2.578,2586,3.937,2587,3.937,2588,3.937,2589,3.937,2590,2.578,2591,2.578,2592,2.578,2593,2.578,2594,2.578,2595,2.578,2596,2.578,2597,2.578,2598,2.578,2599,2.349,2600,2.578,2601,2.578,2602,2.578,2603,2.578,2604,2.578,2605,2.578,2606,2.578,2607,2.578,2608,2.578,2609,2.578,2610,2.578,2611,2.578,2612,2.578,2613,2.578,2614,2.578,2615,2.578,2616,2.578,2617,2.578,2618,2.578,2619,2.578,2620,2.578,2621,2.578,2622,2.578,2623,2.578,2624,2.578,2625,2.578,2626,2.578,2627,2.578,2628,2.578,2629,2.578,2630,2.578,2631,2.578,2632,2.578,2633,2.578,2634,2.578,2635,2.578,2636,2.578,2637,2.578,2638,2.578]],["title/components/ReviewButtonComponent.html",[196,0.424,505,1.239]],["body/components/ReviewButtonComponent.html",[3,0.11,4,0.078,5,0.092,6,0.119,11,0.614,12,1.178,18,0.314,19,0.545,20,0.838,25,1.238,32,2.501,35,0.591,38,1.927,40,0.918,41,0.942,42,1.149,43,0.01,44,1.071,45,0.725,46,0.895,47,1.176,48,1.402,52,0.973,55,1.207,56,0.98,69,0.453,75,0.005,80,0.004,84,0.004,85,1.347,86,1.504,90,1.553,99,0.262,104,0.161,130,0.078,133,0.238,134,1.015,139,0.547,141,0.873,142,1.065,160,0.787,161,1.132,196,0.787,197,0.903,198,1.238,199,0.949,200,1.051,201,1.051,202,1.024,204,2.944,205,1.989,208,2.077,211,2.236,212,1.116,213,0.817,214,1.333,216,1.333,222,2.701,256,0.778,259,2.346,260,1.238,261,3.676,263,2.05,286,4.272,287,2.278,297,1.907,300,1.472,308,1.237,309,1.771,333,2.466,337,1.423,359,2.298,400,1.333,404,1.235,405,1.201,408,1.525,409,0.859,414,1.475,421,1.388,431,4.025,436,1.431,450,0.722,453,0.722,457,0.88,468,1.051,469,1.734,470,1.051,471,2.04,472,1.051,473,1.051,474,0.949,475,1.051,476,0.925,477,1.847,478,0.949,479,1.051,480,1.333,481,1.847,482,0.949,483,1.754,484,1.051,485,0.949,486,1.051,487,0.949,488,0.903,489,1.051,490,0.949,491,1.051,492,0.949,493,0.949,494,1.051,495,0.949,496,1.024,497,0.925,498,1.051,499,0.949,500,1.553,501,0.925,502,0.949,503,0.949,504,1.847,505,1.842,506,2.531,507,1.553,508,1.367,509,0.949,510,0.925,511,0.778,512,1.051,513,0.925,514,0.903,515,0.949,516,1.051,517,0.949,518,1.051,519,0.949,520,1.051,521,0.949,522,1.238,523,0.949,524,1.402,525,0.949,526,1.051,527,0.949,528,1.301,529,1.051,530,0.949,531,1.051,532,1.051,596,1.347,607,1.989,612,3.622,646,2.684,664,2.873,665,0.949,666,2.873,667,2.538,668,1.271,669,1.235,670,2.17,677,1.402,678,1.847,683,2.538,684,2.114,704,2.412,705,1.637,718,1.829,722,1.758,813,2.002,820,3.445,822,3.965,891,2.412,962,5.262,972,2.944,1008,3.965,1115,1.825,1121,4.352,1224,2.701,1233,2.09,1247,3.947,1281,2.412,1290,2.944,1562,3.676,1640,3.253,1677,5.053,1704,2.684,2229,4.771,2305,2.332,2317,2.488,2327,2.332,2333,4.352,2345,4.352,2346,5.175,2357,1.829,2385,2.684,2386,5.207,2408,2.332,2413,4.715,2450,3.676,2639,5.505,2640,6.221,2641,2.684,2642,4.939,2643,4.939,2644,5.874,2645,5.175,2646,4.352,2647,6.487,2648,6.487,2649,6.921,2650,5.874,2651,5.874,2652,4.939,2653,4.939,2654,3.343,2655,7.244,2656,4.939,2657,3.343,2658,3.343,2659,2.946,2660,4.352,2661,4.939,2662,4.939,2663,4.352,2664,4.939,2665,4.352,2666,3.343,2667,3.965,2668,4.352,2669,3.343,2670,4.939,2671,4.352,2672,3.343,2673,4.939,2674,2.946,2675,3.343,2676,3.343,2677,2.684,2678,2.202,2679,5.874,2680,3.343,2681,2.488,2682,3.343,2683,3.343,2684,3.343,2685,3.343,2686,3.343,2687,4.939,2688,3.343,2689,3.343,2690,3.343,2691,3.343,2692,3.343,2693,2.684,2694,2.684,2695,3.343,2696,3.343,2697,3.343]],["title/modules/ReviewButtonModule.html",[533,1.271,2698,3.045]],["body/modules/ReviewButtonModule.html",[3,0.119,4,0.149,5,0.119,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.306,130,0.149,133,0.21,424,1.638,505,2.579,506,2.217,535,1.81,536,2.217,547,2.394,548,1.81,550,2.591,552,2.457,556,2.333,584,5.617,735,2.591,736,2.736,737,2.17,742,4.164,743,3.487,1257,5.617,1667,5.311,1668,4.447,2639,4.199,2640,4.745,2678,4.199,2698,6.256,2699,5.617,2700,5.617,2701,5.617,2702,5.617,2703,6.1,2704,6.376]],["title/components/ReviewModalComponent.html",[196,0.424,508,1.209]],["body/components/ReviewModalComponent.html",[3,0.116,4,0.085,5,0.099,6,0.114,11,0.656,12,1.258,18,0.344,19,0.582,25,1.799,35,0.932,38,1.835,40,1.335,41,1.006,42,0.851,43,0.01,44,1.073,45,0.699,46,0.663,48,1.756,52,1.536,55,0.752,56,0.797,69,0.495,75,0.006,76,2.919,80,0.004,84,0.004,85,0.981,86,1.032,90,1.946,99,0.234,104,0.176,129,0.245,130,0.085,133,0.246,142,1.227,156,1.474,160,0.84,161,0.934,196,0.792,197,0.988,198,1.322,199,1.039,200,1.151,201,1.151,202,1.122,208,2.17,211,2.253,212,1.125,213,0.895,214,1.424,216,1.424,256,0.851,259,1.576,260,1.322,300,1.55,308,1.575,309,2.075,313,2.331,337,1.272,359,2.536,399,1.246,400,1.828,401,2.568,404,1.352,405,1.315,408,1.67,409,1.355,410,3.429,411,1.924,414,1.848,416,2.648,418,2.733,421,1.519,424,0.94,427,3.072,429,1.498,430,4.925,431,1.727,433,3.145,434,1.566,436,1.566,437,1.566,438,2.938,441,1.67,442,2.774,444,2.823,446,2.41,447,2.553,449,2.774,450,1.336,453,1.55,457,0.964,461,2.672,468,1.151,469,1.799,470,1.151,471,2.129,472,1.151,473,1.151,474,1.039,475,1.151,476,1.013,477,1.946,478,1.039,479,1.151,480,1.424,481,1.946,482,1.039,483,1.093,484,1.151,485,1.039,486,1.151,487,1.039,488,0.988,489,1.151,490,1.039,491,1.151,492,1.039,493,1.039,494,1.151,495,1.039,496,1.122,497,1.013,498,1.151,499,1.039,500,1.659,501,1.013,502,1.039,503,1.039,504,1.946,505,1.039,506,2.567,507,1.659,508,1.874,509,1.039,510,1.013,511,0.851,512,1.151,513,1.013,514,0.988,515,1.039,516,1.151,517,1.039,518,1.151,519,1.039,520,1.151,521,1.039,522,1.322,523,1.039,524,1.498,525,1.039,526,1.151,527,1.039,528,1.389,529,1.151,530,1.039,531,1.151,532,1.151,561,2.002,612,2.331,660,3.133,665,1.039,677,1.498,678,1.946,705,1.749,717,2.289,813,1.55,891,3.022,961,3.869,962,3.475,963,3.299,969,2.58,972,3.688,1018,2.724,1115,2.286,1247,4.583,1248,4.604,1301,2.087,1302,2.087,1312,2.331,1355,3.68,1368,3.68,1439,4.604,1561,2.724,1564,3.299,1847,2.182,2229,4.925,2326,4.925,2327,5.007,2334,5.342,2357,2.002,2381,2.553,2383,3.927,2389,4.604,2390,3.225,2433,2.553,2639,5.293,2667,2.938,2677,2.938,2678,5.293,2693,2.938,2694,2.938,2705,4.649,2706,4.966,2707,3.66,2708,5.342,2709,5.276,2710,5.451,2711,4.604,2712,5.451,2713,5.276,2714,4.235,2715,3.66,2716,3.66,2717,3.225,2718,2.938,2719,3.225,2720,3.225,2721,3.225,2722,3.225,2723,3.225,2724,3.225,2725,2.938,2726,3.225,2727,4.649,2728,5.276,2729,5.276,2730,3.66,2731,3.66,2732,5.276,2733,3.225,2734,3.66,2735,3.66]],["title/interfaces/ReviewModalData.html",[129,0.292,2708,3.249]],["body/interfaces/ReviewModalData.html",[3,0.131,4,0.13,5,0.104,6,0.079,11,0.69,18,0.521,19,0.771,25,1.391,35,0.981,40,1.3,41,1.059,43,0.01,44,0.773,45,0.635,48,1.576,56,0.839,75,0.007,80,0.006,84,0.006,90,1.746,99,0.29,104,0.267,129,0.372,130,0.13,133,0.23,142,1.388,160,1.114,161,0.839,195,1.462,196,0.804,208,2.384,211,1.391,212,0.869,214,1.499,216,1.499,259,2.287,308,1.533,309,2.099,337,1.652,359,2.527,424,1.426,430,3.657,469,1.391,506,2.571,508,1.537,660,3.878,665,1.576,677,1.576,678,1.746,813,1.919,891,3.74,961,4.788,972,4.565,1018,4.133,1115,2.83,1247,4.367,1248,5.699,1439,4.133,1561,4.133,1564,3.472,1847,3.31,2229,5.457,2326,4.607,2327,4.879,2334,5.206,2357,3.037,2381,3.873,2383,4.133,2389,5.699,2433,4.879,2639,3.657,2667,5.615,2677,4.457,2678,3.657,2693,4.457,2694,4.457,2705,4.892,2706,4.457,2708,5.699,2710,4.892,2711,4.133,2712,4.892,2714,4.457,2718,4.457,2719,6.163,2720,4.892,2721,4.892,2722,4.892,2723,4.892,2724,4.892,2725,4.457,2726,4.892]],["title/modules/ReviewModalModule.html",[533,1.271,2703,3.045]],["body/modules/ReviewModalModule.html",[3,0.121,4,0.151,5,0.121,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,424,1.664,506,1.886,508,2.519,535,1.839,536,2.238,547,2.417,548,1.839,550,2.616,552,2.091,556,2.355,562,3.19,563,2.534,735,2.616,736,2.762,737,2.204,1667,5.361,1668,4.518,2357,3.542,2407,5.199,2408,4.518,2409,6.169,2639,4.266,2678,4.266,2703,6.185,2736,5.707,2737,5.707,2738,5.707]],["title/components/RightSidebarComponent.html",[196,0.424,509,1.239]],["body/components/RightSidebarComponent.html",[1,3.87,3,0.099,4,0.086,5,0.099,6,0.102,8,3.206,9,2.3,11,0.658,12,1.715,15,2.3,18,0.345,19,0.584,22,2.383,23,2.847,33,4.497,35,0.936,38,1.579,40,0.984,41,1.01,42,0.856,43,0.01,44,1.074,45,0.616,46,0.667,47,1.23,52,1.071,69,0.498,75,0.006,76,1.735,77,3.156,80,0.006,84,0.004,85,1.153,86,1.213,88,2.655,91,2.439,99,0.272,104,0.177,130,0.086,133,0.247,140,3.393,142,0.667,158,4.086,160,1.081,161,1.166,188,1.187,196,0.698,197,0.993,198,1.327,199,1.044,200,1.156,201,1.156,202,1.127,208,0.993,209,1.581,210,1.581,211,2.253,212,1.124,213,0.899,214,1.429,216,1.429,219,2.784,237,2.952,256,1.443,257,1.127,259,1.581,260,1.327,287,1.665,300,1.554,307,2.784,308,1.557,309,1.516,310,2.896,313,2.74,321,1.098,331,2.192,332,2.097,333,1.802,337,0.756,387,1.398,399,1.252,400,2.022,401,3.204,402,2.3,403,2.3,404,2.973,405,2.229,406,3.538,408,3.281,409,1.743,410,3.793,413,3.03,414,2.237,416,2.266,418,3.177,427,2.655,428,3.393,429,2.042,431,1.735,432,2.192,433,3.156,434,2.655,442,2.784,444,2.416,445,2.133,448,2.498,449,1.934,450,1.667,451,1.796,453,1.892,457,0.968,459,2.422,461,3.436,464,1.862,468,1.665,469,1.802,470,1.156,471,2.134,472,1.156,473,1.156,474,1.044,475,1.156,476,1.018,477,1.951,478,1.044,479,1.156,480,1.429,481,1.951,482,1.044,483,1.098,484,1.156,485,1.044,486,1.156,487,1.044,488,0.993,489,1.156,490,1.044,491,1.156,492,1.044,493,1.044,494,1.156,495,1.044,496,1.127,497,1.018,498,1.156,499,1.044,500,1.665,501,1.018,502,1.044,503,1.044,504,1.951,505,1.044,506,1.542,507,1.665,508,1.018,509,1.927,510,1.018,511,0.856,512,1.156,513,1.018,514,0.993,515,1.044,516,1.156,517,1.044,518,1.156,519,1.044,520,1.156,521,1.044,522,1.327,523,1.044,524,1.503,525,1.044,526,1.156,527,1.044,528,1.394,529,1.156,530,1.044,531,1.156,532,1.156,586,5.352,607,2.133,635,1.796,665,1.044,671,2.737,677,1.503,678,1.951,705,1.755,715,2.565,718,2.896,727,2.3,728,2.422,729,2.422,813,1.327,828,2.422,860,3.94,875,3.568,937,2.952,968,2.565,969,2.972,972,2.192,976,2.565,1197,2.565,1245,4.086,1301,2.097,1302,2.097,1303,2.422,1304,2.737,1312,2.998,1315,3.311,1320,2.737,1368,2.565,1642,2.565,1715,2.952,1716,7.196,1717,5.466,1718,4.665,1731,5.466,1748,2.012,1795,3.712,1797,4.665,1798,4.665,1799,4.25,1800,2.952,1801,3.24,1803,5.466,1805,2.952,1808,3.24,1809,3.24,2489,2.737,2739,5.773,2740,6.787,2741,5.295,2742,5.295,2743,3.678,2744,3.678,2745,3.678,2746,3.678,2747,3.678,2748,3.678,2749,3.678,2750,6.204,2751,3.678,2752,3.678,2753,4.25,2754,3.678,2755,3.678,2756,3.678]],["title/modules/RightSidebarModule.html",[533,1.271,546,3.045]],["body/modules/RightSidebarModule.html",[3,0.106,4,0.132,5,0.106,6,0.08,43,0.01,75,0.008,80,0.006,84,0.006,99,0.342,104,0.272,130,0.132,133,0.187,212,0.705,326,1.651,409,1.821,424,1.457,453,1.225,509,2.541,535,1.61,536,2.064,546,6.367,547,2.229,548,1.61,550,2.413,552,2.288,556,2.172,562,2.942,563,2.219,566,3.735,568,5.69,569,4.553,586,4.221,657,3.735,730,5.932,735,2.413,736,2.547,737,1.93,742,3.877,743,3.102,1819,4.997,1820,6.246,1821,4.997,1822,5.69,1823,4.553,1832,5.69,1838,4.997,2640,4.221,2698,5.932,2739,4.553,2757,4.997,2758,4.997,2759,4.997,2760,4.997,2761,5.932,2762,5.932,2763,5.932,2764,5.932,2765,5.672,2766,5.672,2767,3.735,2768,5.672,2769,5.672,2770,3.735,2771,7.089,2772,4.221,2773,5.672,2774,3.956,2775,5.672,2776,5.672,2777,5.672,2778,7.089]],["title/interfaces/Rotation.html",[129,0.292,511,1.016]],["body/interfaces/Rotation.html",[3,0.098,4,0.122,5,0.098,6,0.074,11,0.651,18,0.492,19,0.743,40,0.974,41,0.999,43,0.01,44,0.729,45,0.739,47,0.95,56,1.018,69,0.913,71,2.191,75,0.007,80,0.006,84,0.006,85,0.974,86,1.679,99,0.255,104,0.252,129,0.351,130,0.157,133,0.222,139,0.857,141,1.39,142,0.95,160,1.187,161,1.126,195,1.38,196,0.809,209,1.565,210,1.565,211,1.313,212,0.838,214,1.415,216,1.415,258,2.314,259,2.35,321,1.565,382,2.964,387,3.222,390,3.518,429,2.234,466,2.637,469,1.313,510,1.45,511,2.079,548,1.487,596,2.111,664,2.798,665,1.487,666,3.094,667,2.637,668,1.991,669,1.936,670,2.491,677,1.487,678,1.648,679,3.094,683,2.637,843,3.687,888,2.988,1115,1.936,1224,2.866,1281,2.559,1289,3.451,1527,3.276,1531,3.451,1630,3.451,1673,4.947,1802,5.547,2681,3.899,2767,3.451,2779,3.655,2780,3.899,2781,5.939,2782,5.547,2783,4.616,2784,4.206,2785,4.206,2786,4.616,2787,4.206,2788,4.616,2789,4.616,2790,3.899,2791,4.206,2792,4.616,2793,4.206,2794,6.567,2795,7.342,2796,4.206,2797,4.616,2798,6.567,2799,4.616,2800,5.939,2801,5.939,2802,4.206,2803,4.616,2804,4.616,2805,4.616,2806,4.616]],["title/components/RotationSliderComponent.html",[196,0.424,510,1.209]],["body/components/RotationSliderComponent.html",[3,0.064,4,0.08,5,0.094,6,0.11,11,0.742,12,1.202,18,0.323,19,0.556,25,1.263,35,0.607,38,1.759,40,0.937,41,0.961,42,1.173,43,0.01,44,1.079,45,0.686,46,0.914,47,0.914,52,1.001,55,1.036,56,0.993,69,1.023,71,1.833,75,0.005,76,1.621,80,0.004,84,0.004,85,1.222,86,1.594,99,0.191,104,0.165,129,0.23,130,0.118,133,0.241,139,0.562,141,1.336,142,1.082,156,1.384,160,0.951,161,1.057,188,1.627,196,0.791,197,0.928,198,1.263,199,0.976,200,1.081,201,1.081,202,1.053,208,0.928,209,1.505,210,1.505,211,2.241,212,1.118,213,0.84,214,1.361,216,1.361,219,1.807,256,1.388,258,2.226,259,2.185,260,1.263,283,3.005,300,1.495,308,0.961,309,0.84,313,2.226,321,1.026,382,2.448,387,2.66,390,2.905,399,1.17,400,1.361,401,2.477,404,2.703,405,1.811,408,1.568,409,0.883,410,3.022,413,1.679,414,2.091,416,2.157,418,2.636,421,1.426,427,2.996,428,1.88,429,1.987,432,2.049,433,3.005,434,2.555,436,1.471,437,1.471,444,2.723,445,2.03,448,1.621,449,1.807,450,1.289,451,1.679,453,1.289,454,2.397,457,0.905,458,2.397,461,1.74,466,2.571,468,1.081,469,1.754,470,1.081,471,2.067,472,1.081,473,1.081,474,0.976,475,1.081,476,0.951,477,1.877,478,0.976,479,1.081,480,1.361,481,1.877,482,0.976,483,1.026,484,1.081,485,0.976,486,1.081,487,0.976,488,0.928,489,1.081,490,0.976,491,1.081,492,0.976,493,0.976,494,1.081,495,0.976,496,1.053,497,0.951,498,1.081,499,0.976,500,1.585,501,0.951,502,0.976,503,0.976,504,1.877,505,0.976,506,1.467,507,1.585,508,0.951,509,0.976,510,1.82,511,2.081,512,1.081,513,0.951,514,0.928,515,0.976,516,1.081,517,0.976,518,1.081,519,0.976,520,1.081,521,0.976,522,1.263,523,0.976,524,1.431,525,0.976,526,1.081,527,0.976,528,1.327,529,1.081,530,0.976,531,1.081,532,1.081,548,1.694,596,1.384,607,2.03,661,3.005,664,2.477,665,0.976,666,2.729,667,2.571,668,1.306,669,1.27,670,2.205,677,1.431,678,1.877,679,2.092,683,2.335,704,2.462,705,1.67,706,1.807,713,3.319,717,2.149,718,1.88,719,2.397,720,3.005,721,2.397,722,1.807,723,2.397,728,2.263,729,2.263,843,3.595,888,2.874,963,3.151,968,2.397,969,1.811,1115,1.862,1224,2.757,1281,2.462,1289,3.319,1301,2.874,1302,2.874,1303,2.263,1312,3.092,1354,3.151,1355,3.515,1527,3.151,1531,3.319,1630,3.319,1673,4.934,1802,4.442,2681,3.751,2767,5.106,2779,5.408,2780,2.558,2781,3.028,2782,4.892,2783,4.441,2784,4.046,2785,4.046,2786,4.441,2787,4.046,2788,4.441,2789,5.259,2790,3.751,2791,4.046,2792,5.259,2793,4.046,2794,5.792,2795,7.086,2796,4.046,2797,4.441,2798,5.259,2799,3.028,2800,4.441,2801,4.441,2802,4.046,2803,4.441,2804,4.441,2805,5.792,2806,3.028,2807,5.04,2808,5.04,2809,3.437,2810,5.04,2811,3.437,2812,3.437,2813,5.04,2814,4.046,2815,5.04,2816,3.437,2817,3.437,2818,3.028,2819,3.437,2820,4.441,2821,3.437,2822,6.574,2823,5.04]],["title/modules/RotationSliderModule.html",[533,1.271,2761,3.045]],["body/modules/RotationSliderModule.html",[3,0.12,4,0.15,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.308,130,0.15,133,0.211,424,1.647,510,2.516,511,1.492,535,1.821,536,2.225,547,2.403,548,1.821,550,2.601,552,2.07,556,2.341,562,3.172,563,2.509,735,2.601,736,2.746,737,2.183,740,5.33,741,4.474,742,4.179,743,3.508,2761,6.173,2767,4.224,2779,4.474,2824,5.651,2825,5.651,2826,5.651,2827,6.414,2828,6.414,2829,7.641,2830,6.414]],["title/injectables/SceneState.html",[0,1.271,92,2.49]],["body/injectables/SceneState.html",[0,1.315,2,1.693,3,0.056,4,0.069,5,0.056,6,0.119,11,0.561,15,2.355,16,1.717,18,0.279,19,0.498,20,2.027,22,2.52,23,2.079,24,4.563,25,1.132,29,2.965,32,2.287,35,0.966,36,2.383,37,3.588,38,1.934,40,0.84,41,0.861,42,1.051,43,0.01,44,0.761,45,0.704,46,0.819,47,1.108,48,1.282,49,3.119,50,2.875,55,1.124,56,0.682,65,1.934,69,0.89,71,1.736,75,0.005,80,0.003,84,0.003,85,0.84,86,0.58,88,2.139,90,2.068,92,2.576,96,3.107,99,0.309,104,0.143,105,3.927,106,1.934,107,1.82,108,1.27,109,1.27,110,1.196,112,2.375,113,0.843,114,1.311,115,1.01,119,1.623,122,2.139,123,2.139,124,2.139,125,2.021,126,2.139,127,2.209,128,1.354,129,0.303,130,0.106,132,1.232,133,0.098,134,1.759,138,3.151,139,1.268,141,1.344,155,2.462,160,0.473,161,0.923,162,1.27,163,1.354,164,1.955,165,1.693,166,1.955,167,1.955,168,1.856,169,1.955,170,1.955,188,2.325,205,1.196,212,0.369,257,0.91,287,1.421,297,1.44,299,1.097,308,1.043,337,0.61,353,3.343,378,1.561,380,2.875,384,3.486,385,2.07,405,2.668,411,3.903,429,1.967,435,3.269,445,2.462,450,0.641,453,0.641,466,1.161,511,1.804,621,2.975,635,1.45,636,1.503,639,1.503,640,1.503,642,1.27,655,1.623,848,1.097,875,2.875,895,3.33,902,4.13,930,1.856,941,5.782,943,2.975,944,2.07,945,2.975,946,2.975,947,2.975,948,3.626,954,1.77,965,2.876,967,4.895,1015,1.311,1073,2.825,1074,2.825,1115,1.669,1163,5.868,1263,3.458,1265,1.623,1312,1.311,1518,2.383,1545,2.383,1849,1.45,1916,2.693,1918,3.151,1919,4.264,1920,3.151,1922,2.975,1928,2.671,1935,1.955,1946,2.07,1947,2.58,1948,1.45,1949,1.77,1960,2.825,1992,3.815,1993,2.07,1994,1.856,2072,2.693,2073,2.07,2076,3.151,2078,2.07,2080,1.77,2140,1.955,2141,2.07,2142,1.955,2144,5.878,2148,3.486,2149,1.955,2156,2.07,2159,2.07,2160,2.07,2194,3.151,2199,2.07,2394,2.383,2399,2.383,2423,2.209,2546,3.362,2548,3.362,2549,3.151,2814,2.383,2831,2.209,2832,4.518,2833,4.819,2834,4.819,2835,4.819,2836,4.819,2837,4.819,2838,6.104,2839,4.518,2840,3.98,2841,2.968,2842,2.968,2843,3.98,2844,3.98,2845,3.626,2846,3.98,2847,5.795,2848,3.98,2849,3.98,2850,5.386,2851,3.98,2852,3.98,2853,3.98,2854,7.68,2855,2.968,2856,2.968,2857,2.968,2858,2.968,2859,2.968,2860,2.968,2861,2.968,2862,2.968,2863,2.968,2864,3.626,2865,2.968,2866,2.968,2867,2.968,2868,2.968,2869,2.968,2870,2.968,2871,4.518,2872,2.968,2873,2.968,2874,2.968,2875,2.968,2876,4.39,2877,2.615,2878,2.383,2879,2.383,2880,2.383,2881,2.209,2882,3.98,2883,2.383,2884,2.615,2885,3.98,2886,2.615,2887,3.98,2888,2.615,2889,2.615,2890,2.615,2891,2.615,2892,2.615,2893,2.615,2894,2.615,2895,3.98,2896,2.615,2897,2.615,2898,2.615,2899,2.615,2900,2.615,2901,3.98,2902,2.615,2903,2.615,2904,2.615,2905,2.615,2906,2.615,2907,2.615,2908,3.98,2909,2.615,2910,2.615,2911,2.615,2912,3.98,2913,2.615,2914,2.615,2915,2.615,2916,3.626,2917,6.54,2918,4.819,2919,2.615,2920,3.98,2921,3.98,2922,2.615,2923,2.615,2924,3.98,2925,3.98,2926,2.615,2927,2.615,2928,2.615,2929,2.615,2930,2.615,2931,2.615,2932,2.615,2933,2.615,2934,2.615,2935,2.615,2936,2.615,2937,2.615,2938,2.615,2939,2.615,2940,2.615,2941,2.615,2942,2.615,2943,2.615,2944,2.615,2945,2.615,2946,3.98,2947,2.615,2948,2.615,2949,2.615,2950,2.615,2951,2.615,2952,2.615,2953,2.615,2954,3.98,2955,2.615,2956,2.615,2957,2.615,2958,2.615,2959,2.615,2960,2.615,2961,2.615,2962,2.615,2963,2.615,2964,2.615,2965,2.615,2966,2.615,2967,2.615,2968,2.615,2969,2.615,2970,2.615,2971,2.615,2972,2.615,2973,2.615,2974,2.615,2975,2.615,2976,2.615,2977,2.615,2978,2.615]],["title/interfaces/SceneStateModel.html",[129,0.292,2881,3.249]],["body/interfaces/SceneStateModel.html",[0,1.443,3,0.063,4,0.078,5,0.063,6,0.048,11,0.417,15,2.29,16,1.276,18,0.315,19,0.546,20,1.737,22,2.404,23,1.883,24,4.567,29,2.52,35,0.876,37,3.271,40,0.624,41,0.64,43,0.01,44,0.467,45,0.59,47,0.898,48,0.953,49,2.826,50,2.605,56,0.507,65,1.437,69,0.797,71,1.818,75,0.005,80,0.004,84,0.004,85,0.624,88,1.938,90,1.852,92,1.915,96,3.083,99,0.317,104,0.161,105,4.05,106,2.121,107,1.996,108,1.437,109,1.437,110,1.353,112,2.605,113,0.953,114,1.483,115,1.143,119,1.837,122,1.938,123,1.938,124,1.938,125,1.831,126,1.938,127,2.499,128,1.532,129,0.332,130,0.116,132,1.394,133,0.111,134,1.788,138,3.456,139,1.308,141,1.361,155,2.372,160,0.535,161,0.748,162,1.437,163,1.532,164,2.212,165,1.915,166,2.212,167,2.212,168,2.1,169,2.212,170,2.212,188,2.342,195,0.884,205,1.353,212,0.417,257,1.029,287,1.056,297,1.305,299,1.241,308,0.64,337,1.21,353,3.221,378,1.766,380,3.096,384,3.707,385,2.342,405,2.768,411,3.946,429,2.06,435,3.271,445,1.996,450,0.725,453,0.725,466,1.314,511,1.792,621,3.263,635,1.64,636,1.7,639,1.7,640,1.7,642,1.437,655,1.837,848,1.241,875,2.605,895,2.982,902,4.325,930,2.1,941,6.024,943,3.263,944,2.342,945,3.263,946,3.263,947,3.263,948,3.978,954,2.002,965,2.878,967,3.688,1015,1.483,1073,2.1,1074,2.1,1115,1.241,1163,5.732,1263,3.096,1265,1.837,1312,1.483,1518,2.696,1545,2.696,1849,1.64,1916,2.954,1918,3.456,1919,4.107,1920,3.456,1922,3.263,1928,2.42,1935,2.212,1946,2.342,1947,2.338,1948,1.64,1949,2.002,1960,3.098,1992,2.342,1993,2.342,1994,2.1,2072,2.954,2073,2.342,2076,3.456,2078,2.342,2080,2.002,2140,2.212,2141,2.342,2142,2.212,2144,5.92,2148,3.707,2149,2.212,2156,2.342,2159,2.342,2160,2.342,2194,3.456,2199,2.342,2394,2.696,2399,2.696,2423,2.499,2546,3.688,2548,3.688,2549,3.456,2814,2.696,2831,2.499,2833,2.959,2834,2.959,2835,2.959,2836,2.959,2837,2.959,2838,4.366,2840,2.959,2843,2.959,2844,2.959,2845,2.696,2846,2.959,2847,5.728,2848,2.959,2849,2.959,2850,5.188,2851,2.959,2852,2.959,2853,2.959,2854,7.691,2864,2.696,2876,4.727,2877,2.959,2878,2.696,2879,2.696,2880,2.696,2881,3.688,2882,6.109,2883,2.696,2884,2.959,2885,4.366,2886,2.959,2887,4.366,2888,2.959,2889,2.959,2890,2.959,2891,2.959,2892,2.959,2893,2.959,2894,2.959,2895,4.366,2896,2.959,2897,2.959,2898,2.959,2899,2.959,2900,2.959,2901,4.366,2902,2.959,2903,2.959,2904,2.959,2905,2.959,2906,2.959,2907,2.959,2908,4.366,2909,2.959,2910,2.959,2911,2.959,2912,4.366,2913,2.959,2914,2.959,2915,2.959,2916,3.978,2917,6.787,2918,5.188,2919,2.959,2920,4.366,2921,4.366,2922,2.959,2923,2.959,2924,4.366,2925,4.366,2926,2.959,2927,2.959,2928,2.959,2929,2.959,2930,2.959,2931,2.959,2932,2.959,2933,2.959,2934,2.959,2935,2.959,2936,2.959,2937,2.959,2938,2.959,2939,2.959,2940,2.959,2941,2.959,2942,2.959,2943,2.959,2944,2.959,2945,2.959,2946,4.366,2947,2.959,2948,2.959,2949,2.959,2950,2.959,2951,2.959,2952,2.959,2953,2.959,2954,4.366,2955,2.959,2956,2.959,2957,2.959,2958,2.959,2959,2.959,2960,2.959,2961,2.959,2962,2.959,2963,2.959,2964,2.959,2965,2.959,2966,2.959,2967,2.959,2968,2.959,2969,2.959,2970,2.959,2971,2.959,2972,2.959,2973,2.959,2974,2.959,2975,2.959,2976,2.959,2977,2.959,2978,2.959]],["title/interfaces/SlicesConfig.html",[129,0.292,1921,2.49]],["body/interfaces/SlicesConfig.html",[0,1.15,3,0.047,4,0.058,5,0.047,6,0.035,8,1.069,11,0.31,15,2.041,16,0.949,18,0.234,19,0.436,20,1.617,22,2.392,23,0.949,29,1.069,35,0.441,37,2.864,40,0.464,41,0.476,43,0.01,44,1.005,45,0.684,47,0.716,48,0.709,49,1.424,50,1.313,53,3.991,56,1.216,65,1.069,69,0.949,71,1.756,75,0.004,80,0.003,84,0.003,88,0.977,90,2.03,91,1.42,96,3.11,99,0.302,104,0.12,105,2.482,106,1.691,107,1.592,108,1.069,109,1.069,110,1.006,113,0.709,115,0.85,120,1.489,122,1.546,123,1.546,124,0.977,125,0.923,126,1.546,128,1.803,129,0.328,130,0.158,132,1.037,133,0.082,134,1.441,139,1.338,141,1.306,142,0.716,149,3.322,155,2.824,156,1.974,160,1.282,161,1.245,162,1.069,163,1.14,173,1.562,174,1.562,177,1.742,182,0.873,184,1.742,195,0.658,212,0.491,245,1.42,246,1.592,256,1.573,257,2.265,269,2.602,281,1.424,287,1.909,297,1.467,299,2.974,301,1.366,303,1.424,304,1.265,308,0.753,326,0.727,337,1.007,353,2.161,359,1.664,382,2.524,387,2.743,390,2.996,400,0.674,405,1.762,409,1.431,429,1.99,435,2.313,445,1.592,450,1.311,453,1.204,457,0.658,488,1.825,511,1.679,514,1.504,528,0.658,612,1.745,655,3.32,662,1.424,667,1.546,668,0.949,669,0.923,670,0.923,673,2.795,679,2.035,683,0.977,684,3.331,687,1.22,754,1.489,761,2.236,785,2.851,813,0.99,848,1.811,894,4.513,895,2.001,932,3.065,942,5.034,943,3.998,945,1.645,946,1.645,947,1.645,949,2.602,954,1.489,965,2.313,1015,3.555,1115,0.923,1212,2.681,1224,1.366,1258,3.048,1261,3.887,1263,3.555,1265,1.366,1333,3.648,1334,4.125,1335,3.177,1336,2.795,1339,2.945,1384,1.22,1745,2.922,1746,2.756,1748,3.53,1749,3.998,1750,2.756,1761,1.859,1795,3.32,1843,1.864,1844,2.681,1849,1.22,1881,1.562,1913,1.562,1914,1.645,1915,2.005,1916,3.848,1917,4.251,1918,4.502,1919,4.502,1920,4.502,1921,4.116,1922,4.753,1923,4.043,1924,1.645,1925,4.715,1926,3.172,1927,4.502,1928,1.93,1929,2.47,1930,2.756,1931,1.489,1932,1.489,1933,2.005,1934,1.859,1935,1.645,1936,2.005,1937,1.645,1938,2.005,1939,1.489,1940,2.005,1941,1.424,1942,1.366,1943,2.253,1944,2.005,1945,2.005,1946,1.742,1947,1.864,1948,1.22,1949,1.489,1950,1.424,1951,1.424,1952,1.859,1953,4.03,1954,3.172,1955,3.619,1956,1.859,1957,2.005,1958,2.005,1959,2.005,1960,3.065,1961,2.355,1962,2.005,1963,2.005,1964,2.005,1965,2.005,1966,2.005,1967,2.005,1968,2.005,1969,2.005,1970,2.005,1971,2.005,1972,2.005,1973,2.005,1974,2.005,1975,2.005,1976,2.005,1977,2.005,1978,2.005,1979,2.005,1980,2.005,1981,2.005,1982,2.005,1983,2.005,1984,2.005,1985,1.859,1986,1.859,1987,2.005,1988,2.005,1989,2.005,1990,2.005,1991,2.005,1992,1.742,1993,1.742,1994,1.562,1995,2.005,1996,2.005,1997,3.935,1998,2.005,1999,5.427,2000,2.005,2001,2.005,2002,3.172,2003,2.94,2004,2.005,2005,2.005,2006,4.974,2007,2.005,2008,2.005,2009,2.005,2010,2.005,2011,1.424,2012,2.005,2013,4.473,2014,2.253,2015,2.005,2016,2.005,2017,2.005,2018,1.489,2019,2.005,2020,2.005,2021,3.172,2022,2.005,2023,4.473,2024,2.005,2025,3.172,2026,2.005,2027,2.005,2028,2.005,2029,2.005,2030,2.005,2031,2.005,2032,2.005,2033,2.005,2034,2.005,2035,2.005,2036,2.005,2037,2.005,2038,2.005,2039,2.005,2040,2.005,2041,2.005,2042,2.005,2043,2.005,2044,2.005,2045,3.172,2046,2.005,2047,2.005,2048,2.005,2049,2.005,2050,2.005,2051,2.005,2052,2.005,2053,2.005,2054,2.005,2055,3.172,2056,2.005,2057,2.005,2058,2.005,2059,2.005,2060,2.005,2061,2.005,2062,2.005,2063,2.005,2064,2.005,2065,2.005,2066,2.005,2067,2.005,2068,2.005,2069,2.005,2070,2.005,2071,3.172,2072,1.489,2073,1.742,2074,2.005,2075,1.645,2076,1.742,2077,3.172,2078,3.419,2079,3.172,2080,2.355,2081,3.172,2082,2.005,2083,2.005,2084,2.005,2085,2.005,2086,2.005,2087,2.005,2088,2.005,2089,1.489,2090,2.005,2091,2.005,2092,2.005,2093,2.005,2094,2.005,2095,2.005]],["title/interfaces/SlicesConfig-1.html",[129,0.244,188,1.175,1921,2.075]],["body/interfaces/SlicesConfig-1.html",[3,0.098,4,0.122,5,0.098,6,0.074,11,0.649,18,0.49,19,0.742,40,0.971,41,0.996,43,0.01,44,0.937,45,0.61,47,0.947,55,1.074,56,1.016,69,0.707,71,2.15,75,0.007,80,0.006,84,0.006,85,0.971,86,1.455,99,0.255,104,0.251,128,2.384,129,0.499,130,0.157,133,0.221,134,1.074,139,1.1,141,1.189,160,1.185,161,1.124,182,1.827,195,1.376,196,0.763,209,1.56,210,1.56,211,1.309,212,0.836,214,1.41,216,1.41,256,1.937,259,2.589,260,1.309,321,1.56,337,1.074,359,2.429,469,1.309,513,1.446,514,2.376,596,2.104,658,3.114,660,3.407,661,4.686,662,2.979,664,2.793,665,1.483,666,2.793,667,2.632,668,1.986,669,1.93,670,2.486,674,3.888,675,3.441,676,3.441,677,1.483,678,1.643,679,3.456,680,3.888,681,3.441,683,2.632,684,2.236,685,4.207,686,3.114,687,3.839,688,3.888,689,3.441,692,3.441,693,3.266,700,3.888,750,2.979,813,1.309,1243,4.207,1921,4.482,1927,5.482,1953,5.116,1955,4.849,1961,4.437,2220,2.979,2340,4.193,2770,3.441,2979,3.644,2980,5.539,2981,4.603,2982,4.603,2983,4.603,2984,4.603,2985,4.603,2986,4.193,2987,4.603,2988,6.557,2989,6.557,2990,4.603,2991,5.928,2992,4.603,2993,5.928,2994,4.603,2995,4.603]],["title/components/SlicesInputComponent.html",[196,0.424,513,1.209]],["body/components/SlicesInputComponent.html",[3,0.068,4,0.084,5,0.098,6,0.114,11,0.763,12,1.246,18,0.339,19,0.576,25,1.31,32,2.647,35,0.638,38,1.829,40,0.972,41,0.997,42,1.216,43,0.01,44,1.132,45,0.675,46,0.947,47,0.947,52,1.052,55,1.468,56,1.017,69,0.911,71,1.539,75,0.006,76,1.704,80,0.004,84,0.004,85,1.251,86,1.537,99,0.198,104,0.173,128,2.385,129,0.35,130,0.122,133,0.245,134,0.742,139,0.855,141,1.085,142,0.655,160,0.978,161,1.079,182,1.828,188,1.687,196,0.745,197,0.975,198,1.31,199,1.026,200,1.136,201,1.136,202,1.107,208,0.975,209,1.561,210,1.561,211,2.25,212,1.123,213,0.883,214,1.411,216,1.411,219,1.899,256,1.786,259,2.601,260,1.686,300,1.539,307,1.899,308,0.997,309,0.883,321,1.079,337,1.074,359,2.293,399,1.23,400,1.817,401,2.549,404,1.335,408,1.648,409,0.928,413,1.764,414,1.079,421,1.499,427,1.546,434,2.237,436,1.546,437,1.546,444,2.385,445,1.455,448,1.704,450,0.78,451,1.764,453,1.129,454,2.52,457,0.951,461,1.829,468,1.136,469,1.789,470,1.136,471,2.116,472,1.136,473,1.136,474,1.026,475,1.136,476,1,477,1.931,478,1.026,479,1.136,480,1.411,481,1.931,482,1.026,483,1.079,484,1.136,485,1.026,486,1.136,487,1.026,488,0.975,489,1.136,490,1.026,491,1.136,492,1.026,493,1.026,494,1.136,495,1.026,496,1.107,497,1,498,1.136,499,1.026,500,1.644,501,1,502,1.026,503,1.026,504,1.931,505,1.026,506,1.522,507,1.644,508,1,509,1.026,510,1,511,0.84,512,1.136,513,1.863,514,2.36,515,1.026,516,1.136,517,1.026,518,1.136,519,1.026,520,1.136,521,1.026,522,1.31,523,1.026,524,1.484,525,1.026,526,1.136,527,1.026,528,1.376,529,1.136,530,1.026,531,1.136,532,1.136,561,1.976,592,2.9,596,1.455,607,2.474,658,2.154,660,1.829,661,4.012,662,2.981,664,2.549,665,1.026,666,2.169,667,2.633,668,1.373,669,1.335,670,2.269,674,3.89,675,3.442,676,4.045,677,1.484,678,1.931,679,3.42,680,3.89,681,3.442,683,2.402,684,2.237,685,4.465,686,3.116,687,3.636,688,3.89,689,3.442,692,2.379,693,2.259,700,3.89,704,2.553,705,1.732,706,1.899,713,4.045,714,3.183,715,2.52,716,3.183,717,2.259,718,1.976,719,2.52,720,2.154,721,2.52,722,1.899,723,2.52,724,3.183,725,2.9,726,2.52,727,2.259,728,2.379,729,2.379,750,2.06,813,1.31,1243,2.259,1312,1.596,1921,4.245,1927,4.981,1953,4.577,1955,3.116,1961,3.661,2220,2.981,2340,4.196,2770,5.276,2818,3.183,2979,5.588,2980,5.009,2981,5.411,2982,5.411,2983,3.183,2984,4.605,2985,4.605,2986,4.196,2987,4.605,2988,5.411,2989,5.411,2990,3.183,2991,4.605,2992,3.183,2993,4.605,2994,5.93,2995,3.183,2996,5.227,2997,3.613,2998,3.613,2999,3.613,3000,5.227,3001,3.613,3002,3.613,3003,3.613,3004,3.613,3005,6.731,3006,5.227,3007,5.227,3008,3.613]],["title/modules/SlicesInputModule.html",[533,1.271,2762,3.045]],["body/modules/SlicesInputModule.html",[3,0.119,4,0.149,5,0.119,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.337,104,0.305,130,0.149,133,0.209,212,0.79,326,1.852,424,1.634,513,2.514,514,1.717,535,1.805,536,2.214,547,2.391,548,1.805,550,2.588,552,2.053,556,2.33,562,3.156,563,2.488,734,5.105,735,2.588,736,2.732,737,2.165,738,5.658,739,4.733,740,5.303,741,4.436,742,4.158,743,3.479,744,5.105,2762,6.163,2770,4.189,2979,4.436,3009,5.604,3010,5.604,3011,5.604,3012,7.603]],["title/components/StageNavComponent.html",[196,0.424,515,1.239]],["body/components/StageNavComponent.html",[3,0.051,4,0.063,5,0.079,6,0.119,11,0.83,12,1.005,18,0.396,19,0.465,20,1.056,25,1.056,32,2.134,35,0.479,38,1.944,40,0.783,41,0.803,42,1.554,43,0.01,44,1.09,45,0.735,46,1.211,47,0.764,52,1.697,55,1.373,56,1.053,61,4.065,69,0.367,75,0.004,80,0.003,84,0.003,85,1.242,86,1.41,99,0.159,104,0.13,125,1.002,130,0.098,133,0.22,134,0.866,139,0.443,141,1.03,142,0.764,156,2.691,160,0.928,161,1.009,182,1.473,188,0.875,196,0.77,197,0.732,198,1.056,199,0.77,200,0.853,201,0.853,202,0.831,208,0.732,209,1.258,210,1.258,211,2.192,212,1.097,213,0.663,214,1.138,216,1.138,228,3.713,233,3.382,234,3.713,244,3.599,250,1.891,251,3.404,252,2.389,253,4.748,256,0.631,257,0.831,258,1.861,259,2.338,260,1.855,262,2.947,263,3.141,272,3.136,273,3.136,286,2.775,287,2.101,297,1.993,300,1.295,308,0.803,309,0.663,321,0.81,322,1.786,324,4.157,333,2.148,337,1.556,382,0.948,398,3.713,399,0.923,400,1.946,401,3.199,402,2.635,403,2.635,404,1.91,407,3.599,409,0.696,410,1.373,413,1.324,414,0.81,418,2.283,421,1.749,428,2.827,429,1.654,434,2.212,436,1.16,437,1.16,441,1.237,442,1.426,444,2.659,445,2.348,447,1.891,448,1.988,449,2.717,450,1.443,451,1.324,453,1.506,457,2.171,461,3.383,464,1.373,468,0.853,469,1.582,470,0.853,471,1.833,472,0.853,473,0.853,474,0.77,475,0.853,476,0.751,477,1.625,478,0.77,479,0.853,480,1.138,481,1.625,482,0.77,483,0.81,484,0.853,485,0.77,486,0.853,487,0.77,488,0.732,489,0.853,490,0.77,491,0.853,492,0.77,493,0.77,494,0.853,495,0.77,496,0.831,497,0.751,498,0.853,499,0.77,500,1.325,501,0.751,502,0.77,503,0.77,504,1.625,505,0.77,506,1.227,507,1.325,508,0.751,509,0.77,510,0.751,511,0.631,512,0.853,513,0.751,514,0.732,515,1.654,516,0.853,517,0.77,518,0.853,519,0.77,520,0.853,521,0.77,522,1.056,523,0.77,524,1.196,525,0.77,526,0.853,527,0.77,528,1.759,529,0.853,530,0.77,531,0.853,532,0.853,596,1.092,607,1.697,612,2.283,664,2.62,665,0.77,666,2.894,667,2.28,668,1.031,669,1.002,670,1.91,677,1.196,678,1.625,679,1.125,681,3.838,683,2.022,704,2.058,705,1.396,706,1.426,723,1.891,726,2.939,813,1.747,827,1.786,894,4.508,895,3.749,911,3.382,949,4.157,954,3.081,960,2.617,963,1.695,965,2.145,969,2.77,1015,3.667,1034,2.305,1084,5.862,1224,3.188,1269,6.668,1273,2.512,1279,4.464,1281,2.847,1282,3.383,1309,2.018,1312,2.574,1353,2.018,1354,1.695,1531,3.838,1564,3.232,1613,3.474,1630,4.401,1640,3.404,1647,2.176,1673,2.403,1684,6.368,1744,3.713,1748,1.483,1771,3.382,1772,3.382,1800,3.382,1804,5.19,2113,1.483,2115,1.483,2220,1.546,2570,4.679,2790,5.19,2793,4.679,3013,6.255,3014,2.176,3015,3.713,3016,4.214,3017,4.214,3018,7.568,3019,5.168,3020,4.214,3021,5.168,3022,6.312,3023,5.168,3024,5.168,3025,4.214,3026,4.214,3027,5.828,3028,5.168,3029,5.168,3030,5.168,3031,5.828,3032,5.828,3033,2.711,3034,2.711,3035,4.214,3036,4.214,3037,5.168,3038,5.168,3039,4.553,3040,2.711,3041,2.711,3042,2.711,3043,4.214,3044,4.214,3045,5.168,3046,4.149,3047,5.887,3048,5.168,3049,5.168,3050,4.214,3051,2.711,3052,5.828,3053,4.214,3054,2.711,3055,2.711,3056,2.711,3057,4.214,3058,2.711,3059,4.214,3060,2.711,3061,2.711,3062,2.711,3063,2.711,3064,5.135,3065,5.828,3066,2.711,3067,2.711,3068,2.711,3069,2.711,3070,5.168,3071,2.711,3072,2.711,3073,2.711,3074,2.711,3075,2.711,3076,4.214,3077,2.711,3078,2.711,3079,2.711,3080,2.711,3081,2.711,3082,2.711,3083,2.711,3084,5.828,3085,4.214,3086,2.389,3087,2.711,3088,2.711,3089,2.711,3090,5.168]],["title/modules/StageNavModule.html",[533,1.271,1079,3.045]],["body/modules/StageNavModule.html",[3,0.117,4,0.145,5,0.117,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.338,104,0.299,130,0.145,133,0.205,424,1.599,457,1.639,497,2.078,515,2.571,535,1.767,536,2.185,547,2.36,548,1.767,550,2.555,552,2.423,556,2.3,562,3.115,563,2.435,735,2.555,736,2.697,737,2.119,742,4.105,743,3.405,1079,6.232,1084,4.342,1326,6.613,1327,5.485,1670,4.1,1706,5.439,1822,6.025,1823,4.997,1828,4.997,1829,4.997,3013,4.633,3091,5.485,3092,5.485,3093,6.226,3094,5.485,3095,6.226,3096,7.506,3097,6.226,3098,6.226]],["title/modules/StoreModule.html",[533,1.271,1091,3.045]],["body/modules/StoreModule.html",[1,4.145,3,0.111,4,0.138,5,0.111,6,0.084,8,3.111,9,3.693,43,0.01,75,0.008,80,0.006,84,0.006,88,2.843,90,1.857,91,2.612,92,4.145,99,0.343,104,0.284,107,2.928,110,2.379,119,3.23,120,3.521,121,4.741,130,0.17,133,0.194,139,0.966,165,3.368,204,3.521,212,0.734,246,2.928,326,2.116,359,2.171,441,2.695,533,1.72,535,1.677,552,1.906,556,2.227,639,2.99,640,2.99,687,2.885,875,3.822,930,4.545,974,5.204,1091,5.07,1124,4.119,1376,4.395,1387,4.787,1677,4.119,1795,3.23,1868,4.119,1947,3.429,1948,2.885,1949,3.521,2115,3.23,2489,4.395,2711,4.395,2784,4.741,2880,4.741,3099,4.741,3100,5.906,3101,5.204,3102,5.906,3103,5.204,3104,7.433,3105,5.906,3106,5.204,3107,5.906,3108,5.906,3109,5.204,3110,4.741,3111,5.906,3112,5.906,3113,5.906,3114,5.906,3115,5.906,3116,5.906,3117,5.906,3118,5.906,3119,5.906,3120,5.906,3121,5.906,3122,5.204,3123,5.906,3124,5.906,3125,5.906,3126,5.906,3127,5.906]],["title/interfaces/Tag.html",[12,1.041,129,0.292]],["body/interfaces/Tag.html",[3,0.117,4,0.146,5,0.117,6,0.089,8,2.674,11,0.776,12,2.1,18,0.586,19,0.829,43,0.01,45,0.806,69,1.134,70,4.115,71,2.022,75,0.008,77,3.724,80,0.009,84,0.008,116,5.237,117,3.724,129,0.504,130,0.189,140,4.688,143,5.315,155,3.374,156,3.507,158,5.315,189,4.115,195,1.645,278,2.308,400,2.031,1842,4.703,1843,3.549,1924,4.115,3128,4.65,3129,4.65,3130,5.015,3131,5.505]],["title/components/TagListComponent.html",[196,0.424,517,1.239]],["body/components/TagListComponent.html",[3,0.074,4,0.092,5,0.104,6,0.118,8,1.688,11,0.871,12,2.19,18,0.37,19,0.614,25,1.394,30,4.903,33,5.115,35,0.697,38,1.903,40,1.035,41,1.061,42,1.629,43,0.01,44,1.154,45,0.742,46,1.27,47,1.009,52,1.148,55,1.325,56,0.84,66,4.467,69,0.873,71,1.616,75,0.006,80,0.004,84,0.004,85,1.035,86,1.088,99,0.244,104,0.189,116,3.479,130,0.092,133,0.252,134,1.144,140,3.044,141,1.238,142,0.715,143,4.613,145,3.166,158,2.597,160,1.116,161,1.158,181,2.597,196,0.717,197,1.065,198,1.394,199,1.119,200,1.24,201,1.24,202,1.208,208,1.065,209,1.662,210,1.662,211,2.265,212,1.129,213,0.964,214,1.502,216,1.502,256,1.295,259,1.662,260,1.394,300,1.616,308,1.061,309,0.964,321,1.178,387,1.499,390,1.637,399,1.342,400,1.065,406,3.173,407,2.249,409,1.013,429,1.119,432,2.351,450,0.852,453,0.852,457,1.038,468,1.24,469,1.851,470,1.24,471,2.203,472,1.24,473,1.24,474,1.119,475,1.24,476,1.092,477,2.028,478,1.119,479,1.24,480,1.502,481,2.028,482,1.119,483,1.178,484,1.24,485,1.119,486,1.24,487,1.119,488,1.065,489,1.24,490,1.119,491,1.24,492,1.119,493,1.119,494,1.24,495,1.119,496,1.208,497,1.092,498,1.24,499,1.119,500,1.75,501,1.092,502,1.119,503,1.119,504,2.028,505,1.119,506,1.62,507,1.75,508,1.092,509,1.119,510,1.092,511,0.917,512,1.24,513,1.092,514,1.065,515,1.119,516,1.24,517,1.988,518,1.24,519,1.119,520,1.24,521,1.119,522,1.394,523,1.119,524,1.58,525,1.119,526,1.24,527,1.119,528,1.465,529,1.24,530,1.119,531,1.24,532,1.24,596,1.589,607,2.242,642,1.688,664,3.066,665,1.119,666,2.676,667,2.74,668,1.499,669,1.457,670,2.383,677,1.58,678,2.028,683,2.522,704,2.718,705,1.844,706,2.073,964,2.597,969,1.417,1212,3.044,1281,3.421,1301,2.249,1302,2.249,1312,1.742,1470,3.479,1842,3.479,1843,3.042,2389,4.141,2510,3.166,2753,6.849,2772,6.171,3132,5.461,3133,3.475,3134,5.565,3135,6.448,3136,5.565,3137,5.565,3138,6.448,3139,6.448,3140,5.565,3141,3.944,3142,3.944,3143,5.565,3144,3.944,3145,4.467,3146,4.903,3147,5.565,3148,3.944,3149,4.903,3150,3.944,3151,4.467,3152,4.903,3153,3.475,3154,3.944,3155,3.944,3156,3.944,3157,3.944,3158,6.448,3159,3.944,3160,3.944,3161,3.475]],["title/modules/TagListModule.html",[533,1.271,2763,3.045]],["body/modules/TagListModule.html",[3,0.122,4,0.152,5,0.122,6,0.092,12,1.552,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.313,130,0.152,133,0.214,424,1.672,517,2.585,535,1.848,536,2.244,547,2.424,548,1.848,550,2.623,552,2.101,556,2.362,562,3.199,563,2.546,735,2.623,736,2.77,737,2.215,2763,6.191,2772,4.844,3132,4.287,3162,5.735,3163,5.735,3164,5.735,3165,6.509,3166,6.791,3167,5.735,3168,6.509]],["title/components/TagSearchComponent.html",[196,0.424,519,1.239]],["body/components/TagSearchComponent.html",[3,0.041,4,0.052,5,0.067,6,0.12,8,0.944,11,0.86,12,2.043,18,0.336,19,0.394,20,1.918,25,0.896,28,4.165,33,4.329,35,0.632,38,1.967,40,0.665,41,0.682,42,1.558,43,0.01,44,1.065,45,0.711,46,1.214,47,0.648,48,1.015,52,1.778,55,1.573,56,1.012,69,0.827,70,2.355,71,1.859,72,4.786,75,0.004,76,3.433,77,5.195,78,2.871,79,2.871,80,0.009,82,3.619,84,0.008,85,1.353,86,1.353,90,1.124,96,1.359,99,0.243,104,0.106,111,1.641,113,0.626,114,0.974,115,0.751,116,3.566,117,4.24,122,2.03,123,2.03,125,1.917,128,1.006,130,0.052,133,0.201,134,1.377,139,1.163,140,3.119,141,1.286,142,0.4,155,0.888,160,1.103,161,1.171,181,1.452,188,1.841,189,1.452,196,0.732,197,0.595,198,0.896,199,0.626,200,0.693,201,1.793,202,0.676,205,1.44,206,2.203,208,0.595,209,1.068,210,1.068,211,2.141,212,1.074,213,0.539,214,0.965,216,0.965,230,2.534,233,2.871,243,3.357,244,3.82,247,2.838,248,2.838,250,2.494,251,1.452,256,0.832,257,1.096,258,1.58,259,1.703,260,1.53,263,3.317,277,2.132,278,2.107,283,2.132,287,1.92,297,1.502,300,1.13,308,0.682,309,0.539,321,0.659,322,1.452,333,1.217,337,0.735,357,1.315,382,0.771,399,0.751,400,1.218,401,1.872,404,1.667,405,1.621,408,1.006,409,0.918,413,1.077,414,0.659,416,0.944,417,1.315,418,2.292,419,2.494,425,1.206,427,2.221,428,2.467,429,1.965,430,2.355,431,2.128,432,2.132,433,1.315,434,1.931,436,0.944,437,0.944,442,1.159,444,2.058,445,2.788,448,2.448,449,1.159,450,0.772,451,1.747,453,0.974,457,0.581,458,3.146,464,1.117,466,0.863,468,0.693,469,1.429,470,0.693,471,1.632,472,0.693,473,0.693,474,0.626,475,0.693,476,0.61,477,1.418,478,0.626,479,0.693,480,0.965,481,1.418,482,0.626,483,0.659,484,0.693,485,0.626,486,0.693,487,0.626,488,0.595,489,0.693,490,0.626,491,0.693,492,0.626,493,0.626,494,0.693,495,0.626,496,0.676,497,0.61,498,0.693,499,0.626,500,1.124,501,0.61,502,0.626,503,0.626,504,1.418,505,0.626,506,1.041,507,1.124,508,0.61,509,0.626,510,0.61,511,0.513,512,0.693,513,0.61,514,0.595,515,0.626,516,0.693,517,0.626,518,0.693,519,1.473,520,0.693,521,0.626,522,0.896,523,0.626,524,1.015,525,0.626,526,0.693,527,0.626,528,0.942,529,0.693,530,0.626,531,0.693,532,0.693,561,3.664,607,1.44,664,1.872,665,0.626,666,1.484,667,2.03,668,0.838,669,0.815,670,1.667,673,1.258,677,1.015,678,1.418,683,2.03,704,1.747,705,1.185,727,1.379,774,2.355,800,2.871,813,1.3,828,1.452,888,2.039,932,2.236,965,1.484,969,1.285,1115,2.475,1195,1.77,1245,4.412,1270,2.494,1273,2.132,1281,2.982,1287,2.871,1290,2.132,1301,2.039,1302,2.039,1303,2.355,1304,1.641,1305,1.77,1306,1.943,1312,2.697,1313,5.163,1318,1.77,1330,3.244,1354,1.379,1361,1.452,1541,1.943,1562,3.861,1564,3.244,1613,2.132,1640,2.971,1642,3.978,1647,1.77,1749,2.355,1795,1.956,1843,2.448,1848,2.971,1889,2.355,1941,1.258,1985,1.641,1986,1.641,2110,3.621,2120,1.452,2146,2.661,2479,3.357,2599,1.77,2733,1.943,2774,5.92,3130,2.871,3132,5.59,3149,3.151,3151,2.871,3152,3.151,3153,1.943,3169,1.77,3170,3.576,3171,3.974,3172,4.511,3173,3.576,3174,5.188,3175,5.188,3176,4.511,3177,4.511,3178,4.511,3179,5.188,3180,5.188,3181,3.576,3182,3.576,3183,3.576,3184,5.188,3185,5.188,3186,3.576,3187,6.923,3188,4.511,3189,4.511,3190,3.576,3191,3.576,3192,2.205,3193,3.576,3194,5.024,3195,2.205,3196,2.205,3197,2.205,3198,2.205,3199,5.024,3200,3.576,3201,2.205,3202,3.576,3203,4.511,3204,2.205,3205,4.511,3206,2.205,3207,2.205,3208,2.661,3209,3.576,3210,3.576,3211,3.576,3212,2.205,3213,3.576,3214,2.205,3215,3.576,3216,3.576,3217,3.576,3218,2.205,3219,3.576,3220,7.418,3221,3.576,3222,2.205,3223,2.205,3224,3.576,3225,2.205,3226,2.205,3227,3.576,3228,3.576,3229,3.576,3230,2.205,3231,3.576,3232,2.205,3233,3.576,3234,3.576,3235,2.205,3236,2.205,3237,3.576,3238,3.576,3239,4.511,3240,3.576,3241,3.576,3242,3.576,3243,2.205,3244,3.151,3245,2.205,3246,3.576,3247,4.902,3248,2.205,3249,2.205,3250,2.205,3251,3.621,3252,1.943,3253,1.943,3254,2.871,3255,2.205,3256,2.205,3257,2.205,3258,2.205,3259,2.205,3260,3.576,3261,4.511,3262,2.205,3263,2.205,3264,2.205,3265,2.205,3266,2.205,3267,2.205,3268,2.205,3269,2.205,3270,2.205,3271,2.205,3272,2.205,3273,2.205,3274,2.205,3275,2.205,3276,2.205,3277,5.188,3278,2.205,3279,2.205,3280,1.943,3281,2.205,3282,2.205,3283,2.205,3284,2.205,3285,2.205,3286,2.205,3287,2.205,3288,2.205,3289,2.205,3290,2.205,3291,2.205,3292,2.205,3293,2.205,3294,3.576,3295,3.576,3296,3.576,3297,2.205,3298,2.205,3299,2.205,3300,3.576,3301,2.205,3302,2.205,3303,2.205,3304,2.205]],["title/modules/TagSearchModule.html",[533,1.271,2764,3.045]],["body/modules/TagSearchModule.html",[3,0.118,4,0.147,5,0.118,6,0.089,12,1.502,43,0.01,75,0.008,80,0.007,84,0.007,99,0.339,104,0.303,130,0.147,133,0.207,424,1.618,519,2.575,535,1.788,536,2.201,547,2.377,548,1.788,550,2.573,552,2.033,556,2.316,560,5.55,561,3.446,562,3.138,563,2.464,735,2.573,736,2.717,737,2.144,738,5.626,739,4.688,1667,5.273,1668,4.394,2120,4.149,2133,6.66,2134,6.66,2764,6.151,2774,4.394,3132,4.149,3305,5.55,3306,5.55,3307,5.55,3308,6.3,3309,7.559,3310,6.3,3311,7.559,3312,6.3]],["title/interfaces/TagSearchResult.html",[117,2.603,129,0.292]],["body/interfaces/TagSearchResult.html",[3,0.119,4,0.148,5,0.119,6,0.09,8,2.712,11,0.788,12,2.083,18,0.595,19,0.837,43,0.01,45,0.764,69,1.027,70,4.996,71,2.188,75,0.008,77,4.523,80,0.01,84,0.009,116,4.744,117,4.523,129,0.508,130,0.19,140,4.149,143,4.174,155,2.553,156,3.056,158,4.174,189,5.543,195,1.669,278,2.803,400,1.711,1842,3.963,1843,2.99,1924,4.996,3128,4.716,3129,4.716,3130,6.09,3131,6.684]],["title/modules/ThemingModule.html",[533,1.271,1092,3.045]],["body/modules/ThemingModule.html",[3,0.126,4,0.157,5,0.126,6,0.095,43,0.01,75,0.008,80,0.007,84,0.007,99,0.297,104,0.322,130,0.157,133,0.221,242,5.274,297,1.766,424,1.723,535,1.904,536,2.284,547,2.467,548,1.904,556,2.404,588,5.167,589,4.991,590,5.384,1092,6.17,3313,5.909,3314,5.909,3315,6.707,3316,7.845,3317,6.707,3318,6.707,3319,6.707]],["title/injectables/ThemingService.html",[0,1.271,242,2.603]],["body/injectables/ThemingService.html",[0,1.691,2,2.391,3,0.079,4,0.098,5,0.079,6,0.121,11,0.894,18,0.394,19,0.641,20,2.185,25,1.455,35,0.741,37,4.152,38,1.973,40,1.08,42,1.758,43,0.01,44,1.052,45,0.753,46,1.481,47,1.417,55,1.607,56,1.268,59,3.826,69,1.181,75,0.006,80,0.004,84,0.004,85,1.519,86,0.82,99,0.22,104,0.201,130,0.136,133,0.284,134,1.479,139,1.336,141,1.178,142,1.053,160,1.203,196,0.759,198,1.455,213,1.025,226,5.179,241,5.59,242,3.463,244,4.457,253,2.762,260,2.008,278,2.146,347,5.354,418,1.852,576,3.121,599,3.695,606,2.5,785,2.566,800,3.366,813,1.455,821,3.695,822,3.366,888,4.308,1106,3.121,1290,4.87,1318,4.663,1332,2.622,1392,4.499,1420,3.366,1471,4.663,1613,3.973,1847,2.5,1856,2.762,1857,2.762,2252,6.08,2660,5.118,3145,4.663,3146,6.887,3194,7.198,3208,4.323,3320,3.366,3321,5.809,3322,8.014,3323,5.809,3324,7.195,3325,7.195,3326,7.195,3327,5.809,3328,4.194,3329,4.194,3330,5.809,3331,4.194,3332,7.555,3333,4.194,3334,5.809,3335,7.195,3336,4.194,3337,5.809,3338,5.118,3339,5.809,3340,5.809,3341,4.194,3342,5.809,3343,4.194,3344,5.809,3345,4.194,3346,4.194,3347,4.194,3348,4.194,3349,4.194,3350,4.194,3351,4.194,3352,3.695,3353,3.695,3354,3.695,3355,4.194,3356,4.194,3357,4.194,3358,4.194,3359,4.194,3360,4.194,3361,4.194,3362,3.695,3363,4.194,3364,4.194,3365,5.809,3366,4.194,3367,4.194,3368,4.194,3369,4.194,3370,4.194,3371,4.194,3372,4.194,3373,4.194]],["title/components/ToggleButtonComponent.html",[196,0.424,521,1.239]],["body/components/ToggleButtonComponent.html",[3,0.061,4,0.076,5,0.091,6,0.118,11,0.721,12,1.159,15,1.416,18,0.307,19,0.536,20,1.992,25,1.218,32,2.462,35,0.578,38,1.92,40,0.904,41,0.927,42,1.131,43,0.01,44,1.036,45,0.652,46,0.881,47,0.881,48,1.38,52,0.953,55,1.53,56,1.086,65,2.081,69,0.785,75,0.005,80,0.003,84,0.003,85,1.275,86,1.341,90,1.529,99,0.243,104,0.157,113,0.929,130,0.076,133,0.237,134,1.32,139,0.948,141,0.859,142,0.593,160,1.023,161,0.876,196,0.758,197,0.884,198,1.218,199,0.929,200,1.029,201,1.029,202,1.003,205,2.586,206,2.833,208,0.884,209,1.452,210,1.452,211,2.232,212,1.117,213,0.8,214,1.313,216,1.313,225,4.654,230,3.136,247,3.512,248,3.512,256,0.761,257,2.436,258,2.836,260,1.218,263,2.984,277,2.898,278,1.796,287,1.824,297,1.527,300,2.232,308,0.927,309,0.8,311,3.627,312,3.04,321,0.978,337,1.41,357,1.951,395,2.047,399,1.114,400,1.313,404,1.209,407,1.866,409,0.841,410,1.657,414,0.978,418,2.562,419,4.785,421,2.018,425,2.659,426,2.884,427,2.081,429,0.929,431,4.035,436,1.401,437,1.401,439,5.77,440,5.77,441,3.488,442,1.721,448,2.294,450,1.387,451,2.375,453,1.553,457,0.862,464,2.462,468,1.029,469,1.719,470,1.029,471,2.019,472,1.029,473,1.029,474,0.929,475,1.029,476,0.906,477,1.824,478,0.929,479,1.029,480,1.313,481,1.824,482,0.929,483,0.978,484,1.029,485,1.947,486,1.029,487,0.929,488,0.884,489,1.029,490,0.929,491,1.029,492,0.929,493,0.929,494,1.029,495,0.929,496,1.003,497,0.906,498,1.029,499,0.929,500,1.529,501,0.906,502,0.929,503,0.929,504,1.824,505,0.929,506,1.416,507,1.529,508,0.906,509,0.929,510,0.906,511,0.761,512,1.029,513,0.906,514,0.884,515,0.929,516,1.029,517,0.929,518,1.029,519,0.929,520,1.029,521,1.823,522,2.195,523,0.929,524,1.38,525,0.929,526,1.029,527,0.929,528,1.28,529,1.029,530,0.929,531,1.029,532,1.029,596,1.318,665,0.929,677,1.38,684,2.081,705,1.611,722,1.721,755,4.656,758,3.377,761,1.493,762,4.317,765,2.898,766,3.903,767,5.154,772,2.556,773,2.833,774,3.202,777,3.175,781,3.202,782,3.618,783,3.618,813,1.719,818,2.436,827,4.228,828,5.378,836,2.627,838,2.436,844,2.884,965,1.359,993,3.202,1001,3.903,1003,3.903,1004,3.903,1010,4.654,1015,3.175,1029,2.627,1034,1.79,1256,6.684,1305,2.627,1312,1.446,1352,2.627,1354,4.289,1470,3.04,1507,2.884,1512,2.884,1513,5.111,1514,5.111,1533,4.284,1561,2.436,1567,4.284,2641,2.627,2645,5.111,2646,4.284,2659,4.284,2668,4.284,2674,2.884,3374,7.336,3375,4.862,3376,3.273,3377,7.188,3378,4.862,3379,5.801,3380,3.273,3381,3.273,3382,3.273,3383,3.273,3384,3.273,3385,3.273,3386,3.273,3387,3.273,3388,5.801,3389,5.801,3390,3.273,3391,3.273,3392,3.273,3393,3.273,3394,3.273,3395,3.273,3396,3.273,3397,3.273,3398,4.862,3399,3.273,3400,4.862,3401,3.273,3402,3.273,3403,3.273]],["title/interfaces/User.html",[129,0.292,333,1.486]],["body/interfaces/User.html",[3,0.079,4,0.099,5,0.079,6,0.06,16,1.613,18,0.398,19,0.646,20,1.468,22,1.406,23,1.613,35,0.75,37,3.412,43,0.01,45,0.531,56,1.146,69,1.182,75,0.006,80,0.005,84,0.005,85,0.789,88,2.291,91,2.105,99,0.315,104,0.204,112,2.231,113,1.205,129,0.392,130,0.137,133,0.14,134,1.204,139,1.097,141,1.035,142,0.769,160,0.933,161,1.295,182,1.484,195,1.118,196,0.651,197,1.146,203,3.158,204,2.53,205,1.71,206,2.861,207,3.858,209,1.268,210,1.268,211,1.68,212,0.834,213,1.037,214,1.146,215,3.407,216,1.146,217,3.407,218,3.407,219,3.079,220,4.417,221,4.417,222,3.204,223,2.96,224,3.662,225,4.194,226,4.585,227,3.407,230,2.073,231,2.795,232,3.407,236,3.407,238,5.384,239,4.702,240,4.702,241,2.96,242,3.492,243,3.158,244,3.34,245,2.41,246,2.359,247,2.321,248,3.204,251,2.795,253,2.795,255,4.702,256,1.56,257,2.055,258,1.875,259,1.749,260,1.468,261,4.359,262,3.34,263,2.431,265,3.407,267,3.407,268,3.407,269,2.795,270,3.407,271,3.158,272,3.158,273,3.158,274,3.407,275,3.407,277,2.53,278,1.568,281,2.42,282,3.407,283,2.53,284,4.991,285,4.702,286,4.417,287,2.274,289,3.407,292,3.407,295,3.407,297,1.766,299,2.164,300,1.063,301,3.204,303,2.42,304,2.149,306,2.96,307,2.231,308,0.809,309,1.037,310,2.321,311,3.662,312,2.654,313,1.875,315,3.407,317,3.407,321,1.268,322,2.795,323,3.158,324,2.795,325,3.407,326,1.236,327,3.158,328,3.407,329,3.158,330,3.158,331,2.53,332,2.42,333,1.993,334,3.802,335,3.802,336,2.96,337,1.204,338,3.407,339,3.407,340,4.702,341,3.407,342,3.407,343,3.407,344,3.407,345,4.702,346,3.407,347,3.158,348,3.407,349,3.407,350,2.654,351,3.407,352,3.407,353,2.321,354,3.407,355,3.407,356,3.407,357,2.53,358,3.407,359,1.268,360,3.407,361,3.407,362,2.96,363,3.407,364,3.407,365,3.407,366,3.407,367,3.407,368,3.407,369,6.577,370,3.407,371,5.384,372,3.407,373,6.454,374,3.407,375,3.158,376,3.407,377,5.984,378,2.231,379,3.407,380,4.125,381,3.407,382,2.048,383,4.702,384,4.585,385,2.96,386,3.407,387,2.226,388,4.702,389,2.42,390,2.431,391,4.702,392,3.407,393,3.158,394,3.407,395,2.654]],["title/interfaces/UserName.html",[129,0.292,2105,3.249]],["body/interfaces/UserName.html",[3,0.099,4,0.123,5,0.099,6,0.075,11,0.655,18,0.495,19,0.746,20,1.321,40,0.98,41,1.005,43,0.01,44,1.257,45,0.614,47,0.955,48,1.921,56,0.796,69,1.149,75,0.007,80,0.006,84,0.006,86,1.323,99,0.283,104,0.253,129,0.353,130,0.158,133,0.223,134,1.083,139,0.862,141,1.441,142,0.955,160,1.19,161,1.129,195,1.388,196,0.765,209,1.574,210,1.574,211,1.321,212,0.841,214,1.423,216,1.423,259,2.594,260,1.321,321,1.574,333,2.544,334,4.388,335,4.388,359,2.021,469,1.321,501,1.459,561,3.701,596,2.123,658,3.142,664,2.809,665,1.496,666,2.809,667,2.647,668,2.003,669,1.948,670,2.5,675,3.471,676,3.471,677,1.496,678,1.657,683,2.647,684,2.256,685,4.231,686,3.142,687,3.852,691,3.676,692,3.471,693,3.296,695,3.923,1115,2.5,1281,3.305,1282,2.669,1831,3.471,2096,3.923,2097,4.644,2098,4.644,2099,4.644,2100,4.644,2101,4.644,2103,4.644,2105,6.398,2107,4.644,2109,3.676,2110,6,2111,5.962,2112,5.962,2113,4.088,2115,4.088,2119,4.644,2120,3.471,2121,5.869,2122,5.962,2123,4.644,2124,4.644,2125,4.644,2126,5.962,2127,4.644,2128,4.644,2129,4.644]],["title/components/VideoModalComponent.html",[196,0.424,523,1.239]],["body/components/VideoModalComponent.html",[3,0.075,4,0.093,5,0.105,6,0.116,11,0.496,12,1.339,18,0.375,19,0.619,20,1.407,25,1.407,35,0.992,38,1.878,40,1.044,41,1.071,42,0.929,43,0.01,44,1.101,45,0.639,46,0.724,50,2.952,52,1.635,55,1.335,56,1.163,69,0.541,75,0.006,80,0.004,84,0.004,85,1.044,86,1.098,99,0.246,102,2.742,104,0.192,130,0.093,133,0.253,139,0.653,142,0.724,161,0.981,196,0.796,197,1.078,198,1.407,199,1.134,200,1.256,201,1.256,202,1.224,205,2.262,207,4.276,208,1.078,211,2.268,212,1.13,213,0.976,214,1.516,216,1.516,231,4.639,256,1.306,257,1.721,260,1.407,300,1.627,308,1.071,309,2.09,313,2.48,359,2.217,399,1.359,400,1.078,404,2.075,406,2.278,408,1.822,409,1.442,411,2.1,414,2.104,416,3.177,417,2.381,418,1.764,419,2.786,421,1.658,427,3.015,428,2.185,429,1.594,430,4.888,436,1.71,437,1.71,441,1.822,442,2.1,448,1.884,450,0.863,451,1.951,453,1.213,457,1.052,464,2.022,468,1.256,469,1.86,470,1.256,471,2.215,472,1.256,473,1.256,474,1.134,475,1.256,476,1.106,477,2.042,478,1.134,479,1.256,480,1.516,481,2.042,482,1.134,483,1.193,484,1.256,485,1.134,486,1.256,487,1.134,488,1.078,489,1.256,490,1.134,491,1.256,492,1.134,493,1.134,494,1.256,495,1.134,496,1.224,497,1.106,498,1.256,499,1.134,500,1.766,501,1.106,502,1.134,503,1.134,504,2.042,505,1.134,506,1.635,507,1.766,508,1.106,509,1.134,510,1.106,511,0.929,512,1.256,513,1.106,514,1.078,515,1.134,516,1.256,517,1.134,518,1.256,519,1.134,520,1.256,521,1.134,522,1.407,523,2,524,2.511,525,1.134,526,1.256,527,1.134,528,1.478,529,1.256,530,1.134,531,1.256,532,1.256,642,1.71,665,1.134,677,1.594,678,2.042,705,1.861,737,1.359,964,3.698,969,1.435,972,3.347,975,2.973,976,2.786,1050,3.519,1086,5.784,1247,3.202,1248,4.179,1301,2.278,1302,2.278,1309,4.832,1312,2.48,1361,3.698,1564,3.511,1847,2.381,2326,5.069,2327,5.177,2334,5.523,2357,2.185,2381,2.786,2383,4.179,2388,3.519,2706,5.212,2714,4.507,2717,3.519,2718,3.206,2725,3.206,2727,4.947,3046,6.347,3352,6.782,3404,5.722,3405,6.782,3406,7.044,3407,3.994,3408,6.493,3409,3.994,3410,5.615,3411,5.615,3412,5.654,3413,5.654,3414,4.947,3415,5.615,3416,5.615,3417,3.994,3418,3.994,3419,3.994,3420,3.994,3421,5.615,3422,3.994,3423,3.994,3424,3.994,3425,3.994,3426,3.994,3427,3.994,3428,5.721,3429,3.994]],["title/components/VideoModalLauncherComponent.html",[196,0.424,525,1.239]],["body/components/VideoModalLauncherComponent.html",[3,0.079,4,0.099,5,0.11,6,0.111,11,0.728,12,1.397,18,0.55,19,0.646,25,1.468,35,0.75,38,1.765,40,1.089,41,1.117,42,0.987,43,0.01,44,1.119,45,0.656,46,0.769,48,1.663,52,1.236,55,0.872,56,0.885,69,0.575,75,0.006,76,2.002,80,0.005,84,0.005,85,1.247,86,1.311,99,0.254,102,2.861,104,0.204,129,0.392,130,0.099,133,0.258,142,0.769,161,1.092,188,1.37,196,0.807,197,1.146,198,1.468,199,1.205,200,1.335,201,1.335,202,1.3,208,1.146,209,1.749,210,1.749,211,2.277,212,1.135,213,1.037,214,1.581,216,1.581,256,0.987,257,1.3,259,2.16,260,1.468,297,1.542,300,1.68,308,1.379,309,2.219,321,1.268,333,1.993,337,0.872,359,1.268,382,1.484,399,1.444,400,1.146,401,2.431,402,2.654,403,2.654,408,1.936,409,1.504,410,2.149,414,2.003,418,1.875,431,2.002,434,2.507,436,1.816,437,1.816,441,1.936,444,2.672,445,1.71,449,3.079,450,1.265,453,0.917,457,1.118,461,2.149,464,2.149,468,1.335,469,1.901,470,1.335,471,2.274,472,1.335,473,1.335,474,1.205,475,1.335,476,1.175,477,2.109,478,1.205,479,1.335,480,1.581,481,2.109,482,1.205,483,1.268,484,1.335,485,1.205,486,1.335,487,1.205,488,1.146,489,1.335,490,1.205,491,1.335,492,1.205,493,1.205,494,1.335,495,1.205,496,1.3,497,1.175,498,1.335,499,1.205,500,1.842,501,1.175,502,1.205,503,1.205,504,2.109,505,1.205,506,1.705,507,1.842,508,1.175,509,1.205,510,1.175,511,0.987,512,1.335,513,1.175,514,1.146,515,1.205,516,1.335,517,1.205,518,1.335,519,1.205,520,1.335,521,1.205,522,1.812,523,1.663,524,2.52,525,2.053,526,1.335,527,1.205,528,1.542,529,1.335,530,1.205,531,1.335,532,1.335,591,4.085,596,1.71,607,2.359,665,1.205,677,1.663,678,2.109,705,1.941,717,2.654,720,2.53,960,2.966,969,2.105,975,4.359,1086,5.295,1087,5.839,1247,3.34,1361,3.858,1368,5.044,1748,3.668,2357,2.321,2385,3.407,2386,5.805,2408,2.96,3404,5.472,3430,3.739,3431,5.857,3432,8.417,3433,6.707,3434,5.857,3435,7.232,3436,5.857,3437,5.857,3438,4.244,3439,5.857,3440,4.244,3441,4.244,3442,5.857,3443,5.857,3444,4.244,3445,4.244,3446,4.244]],["title/modules/VideoModalLauncherModule.html",[533,1.271,1080,3.045]],["body/modules/VideoModalLauncherModule.html",[3,0.122,4,0.152,5,0.122,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.321,104,0.312,130,0.152,133,0.214,309,2.005,424,1.668,524,1.843,525,2.584,535,1.843,536,2.241,547,2.42,548,1.843,550,2.62,552,2.096,556,2.358,562,3.195,563,2.54,735,2.62,736,2.766,737,2.21,1080,6.188,1086,4.276,1087,4.832,3404,4.529,3447,5.721,3448,5.721,3449,5.721,3450,6.493,3451,6.493]],["title/modules/VideoModalModule.html",[533,1.271,3452,3.249]],["body/modules/VideoModalModule.html",[3,0.12,4,0.15,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.308,130,0.15,133,0.211,424,1.647,523,2.581,524,1.821,535,1.821,536,2.225,547,2.403,548,1.821,550,2.601,552,2.07,556,2.341,562,3.172,563,2.509,735,2.601,736,2.746,737,2.183,1086,5.033,2357,3.508,2407,5.149,2408,4.474,2409,6.134,3404,4.474,3412,5.149,3452,6.587,3453,5.651,3454,5.651,3455,5.651,3456,7.641,3457,5.651]],["title/interfaces/VisibilityItem.html",[129,0.292,1263,2.295]],["body/interfaces/VisibilityItem.html",[3,0.116,4,0.145,5,0.116,6,0.088,11,0.771,18,0.582,19,0.826,43,0.01,44,1.21,45,0.776,46,1.515,69,1.209,71,2.178,75,0.008,76,3.534,80,0.007,84,0.007,86,1.464,129,0.502,130,0.145,155,3.501,195,1.634,304,3.792,337,1.654,353,4.754,359,1.853,457,1.972,528,1.634,813,1.877,965,3.607,1263,3.938,1265,4.809,1290,4.465,1748,4.57,3458,5.466,3459,5.466,3460,6.599]],["title/components/VisibilityMenuComponent.html",[196,0.424,527,1.239]],["body/components/VisibilityMenuComponent.html",[3,0.053,4,0.066,5,0.082,6,0.116,11,0.881,12,1.042,18,0.561,19,0.482,25,1.095,35,0.502,38,1.885,40,0.812,41,0.833,42,1.584,43,0.01,44,1.116,45,0.718,46,1.234,47,0.792,52,0.827,55,1.576,56,1.195,69,0.721,71,1.954,75,0.005,76,1.34,80,0.003,84,0.003,85,0.812,86,1.599,99,0.201,104,0.136,130,0.066,133,0.224,134,0.898,139,0.714,141,1.056,142,0.515,155,2.949,160,1.166,161,1.028,182,1.527,188,1.928,196,0.626,197,0.767,198,1.095,199,0.806,200,0.893,201,0.893,202,0.871,208,0.767,209,1.305,210,1.305,211,2.202,212,1.101,213,0.694,214,1.179,216,1.179,256,0.661,257,1.631,258,1.93,259,1.59,260,1.095,281,2.491,297,1.15,300,1.334,304,2.212,308,0.833,309,0.694,321,0.848,333,0.967,362,3.712,382,0.993,387,1.08,399,0.967,400,1.179,401,2.48,402,1.776,403,1.776,404,1.614,406,3.035,407,3.035,409,0.73,413,1.388,414,1.59,417,1.694,418,1.255,421,3.237,423,3.712,424,1.656,427,1.216,428,1.554,429,1.831,434,1.216,436,1.87,437,1.87,441,1.993,442,1.494,444,1.296,445,3.228,447,1.981,448,2.511,450,1.291,451,2.6,453,0.944,454,4.498,457,0.748,459,2.877,464,2.212,465,4.272,466,2.082,467,3.712,468,0.893,469,1.616,470,0.893,471,1.879,472,0.893,473,0.893,474,0.806,475,0.893,476,0.786,477,1.674,478,0.806,479,0.893,480,1.179,481,1.674,482,0.806,483,0.848,484,0.893,485,0.806,486,0.893,487,0.806,488,0.767,489,0.893,490,0.806,491,0.893,492,0.806,493,0.806,494,0.893,495,0.806,496,0.871,497,0.786,498,0.893,499,0.806,500,1.374,501,0.786,502,0.806,503,0.806,504,1.674,505,0.806,506,1.272,507,1.374,508,0.786,509,0.806,510,0.786,511,0.661,512,0.893,513,0.786,514,0.767,515,0.806,516,0.893,517,0.806,518,0.893,519,0.806,520,0.893,521,0.806,522,1.095,523,0.806,524,1.24,525,0.806,526,0.893,527,1.696,528,2.26,529,0.893,530,0.806,531,0.893,532,0.893,548,0.806,596,1.144,607,1.76,664,2.677,665,0.806,666,2.209,667,2.337,668,1.08,669,1.05,670,1.967,677,1.24,678,1.674,683,2.082,684,1.87,689,3.935,704,2.134,705,1.448,706,1.494,713,2.877,720,1.694,721,1.981,722,2.297,723,3.047,785,1.93,848,2.832,963,1.776,964,1.871,965,3.575,969,1.913,972,2.604,976,3.047,1034,2.389,1197,1.981,1212,1.554,1233,1.776,1263,4.26,1265,4.909,1273,4.059,1279,2.491,1281,3.744,1282,3.025,1288,3.047,1289,3.935,1290,4.059,1309,2.114,1315,1.776,1351,3.507,1354,2.731,1355,3.047,1531,2.877,1673,1.62,1684,5.693,1745,2.604,1748,4.004,1750,3.712,1773,5.264,1785,2.503,1799,2.28,1804,6.186,1835,6.088,1952,3.251,2109,1.981,2549,4.498,2550,3.507,2916,4.272,3086,2.503,3151,2.28,3208,3.251,3461,5.706,3462,2.503,3463,5.322,3464,4.368,3465,4.368,3466,5.975,3467,4.368,3468,5.975,3469,4.368,3470,3.849,3471,4.368,3472,5.322,3473,4.368,3474,2.841,3475,2.841,3476,2.841,3477,4.368,3478,4.368,3479,2.841,3480,2.841,3481,4.368,3482,4.368,3483,4.368,3484,4.368,3485,2.841,3486,3.849,3487,2.841,3488,4.368,3489,2.841,3490,3.849,3491,4.368,3492,2.841,3493,4.368,3494,4.368,3495,2.841,3496,7.915,3497,2.841,3498,2.503,3499,5.975,3500,2.841,3501,2.841,3502,2.841,3503,6.809,3504,5.322,3505,4.368,3506,5.975,3507,2.841,3508,2.841,3509,5.322,3510,2.841,3511,2.841,3512,2.841,3513,2.841,3514,2.841,3515,2.841,3516,2.841,3517,2.841,3518,2.841]],["title/modules/VisibilityMenuModule.html",[533,1.271,1817,3.045]],["body/modules/VisibilityMenuModule.html",[3,0.121,4,0.151,5,0.121,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,212,0.804,326,1.883,424,1.662,527,2.583,528,1.703,535,1.836,536,2.236,547,2.415,548,1.836,550,2.614,552,2.088,556,2.353,562,3.188,563,2.53,735,2.614,736,2.76,737,2.202,740,5.357,741,4.512,1817,6.184,1833,6.767,1835,4.814,3461,4.512,3519,5.7,3520,5.7,3521,5.7,3522,6.469,3523,6.469]],["title/components/VisibilityToggleComponent.html",[196,0.424,530,1.239]],["body/components/VisibilityToggleComponent.html",[3,0.07,4,0.087,5,0.1,6,0.114,11,0.664,12,1.275,15,1.988,18,0.35,19,0.589,25,1.339,35,0.659,38,1.844,40,0.994,41,1.019,42,0.867,43,0.01,44,1.079,45,0.703,46,0.676,47,0.969,52,1.085,55,0.766,56,0.807,69,0.724,75,0.006,80,0.004,84,0.004,85,1.344,86,1.515,99,0.202,104,0.179,130,0.087,133,0.248,141,1.277,142,1.31,156,2.912,160,0.594,161,1.092,182,1.869,196,0.784,197,1.006,198,1.339,199,1.058,200,1.172,201,1.172,202,1.142,208,1.006,209,1.597,210,1.597,211,2.256,212,1.125,213,0.911,214,1.443,216,1.443,256,1.244,257,1.638,259,2.247,260,1.339,278,1.975,281,3.048,287,2.147,300,1.566,308,1.019,309,0.911,321,1.113,333,1.819,337,1.099,399,1.268,400,1.843,401,2.834,404,2.309,405,1.339,407,2.125,408,1.7,409,0.957,411,1.959,413,2.611,414,2.039,416,2.288,417,2.222,418,1.646,421,2.219,423,2.6,424,0.957,427,3.094,428,2.038,429,1.517,432,2.222,433,3.187,434,3.094,436,2.288,437,1.595,441,2.439,442,1.959,444,2.852,445,2.518,446,3.521,448,3.221,450,1.475,451,2.611,453,1.155,457,0.981,458,3.728,461,3.165,464,1.887,468,1.172,469,1.811,470,1.172,471,2.147,472,1.172,473,1.172,474,1.058,475,1.172,476,1.032,477,1.965,478,1.058,479,1.172,480,1.443,481,1.965,482,1.058,483,1.113,484,1.172,485,1.058,486,1.172,487,1.058,488,1.006,489,1.172,490,1.058,491,1.172,492,1.058,493,1.058,494,1.172,495,1.058,496,1.142,497,1.032,498,1.172,499,1.058,500,1.681,501,1.032,502,1.058,503,1.058,504,1.965,505,1.058,506,1.556,507,1.681,508,1.032,509,1.058,510,1.032,511,0.867,512,1.172,513,1.032,514,1.006,515,1.058,516,1.172,517,1.058,518,1.172,519,1.058,520,1.172,521,1.058,522,2.171,523,1.058,524,1.517,525,1.058,526,1.172,527,1.058,528,2.332,529,1.172,530,1.938,531,1.172,532,1.172,596,1.501,607,2.153,664,2.594,665,1.058,666,2.219,667,2.671,668,1.417,669,1.377,670,2.309,677,1.517,678,1.965,681,3.521,683,2.445,704,3.335,705,1.771,706,1.959,715,2.6,718,2.038,722,1.959,813,1.339,860,2.774,965,1.547,969,1.339,975,2.774,1019,2.774,1210,4.71,1233,2.33,1281,2.611,1282,2.707,1288,3.728,1301,2.125,1302,2.125,1312,1.646,1315,3.342,1353,2.774,1354,2.33,1531,3.521,1630,3.521,1671,2.992,1673,3.048,1674,5.507,1675,4.71,1677,5.248,1681,3.284,1685,3.284,1704,2.992,1747,4.291,1748,3.419,1771,4.291,1772,4.291,1805,2.992,1837,6.007,2790,3.978,2802,4.291,2820,3.284,3161,3.284,3171,4.71,3461,5.63,3470,6.629,3498,3.284,3524,5.346,3525,5.346,3526,7.229,3527,6.25,3528,5.346,3529,3.727,3530,5.346,3531,3.727,3532,6.25,3533,3.727,3534,3.727,3535,4.71,3536,3.727,3537,3.727,3538,3.727,3539,5.346,3540,3.727]],["title/modules/VisibilityToggleModule.html",[533,1.271,1818,3.045]],["body/modules/VisibilityToggleModule.html",[3,0.122,4,0.152,5,0.122,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.312,130,0.152,133,0.214,424,1.668,528,1.71,530,2.584,535,1.843,536,2.241,547,2.42,548,1.843,550,2.62,552,2.096,556,2.358,562,3.195,563,2.54,735,2.62,736,2.766,737,2.21,1710,5.721,1713,5.721,1818,6.188,1837,4.832,3166,6.781,3167,5.721,3461,4.529,3541,5.721,3542,5.721,3543,5.721]],["title/interfaces/XYZTriplet.html",[129,0.292,1923,2.388]],["body/interfaces/XYZTriplet.html",[0,1.145,3,0.047,4,0.058,5,0.047,6,0.035,8,1.063,11,0.309,15,2.037,16,0.944,18,0.233,19,0.434,20,1.613,22,2.387,23,0.944,29,1.063,35,0.439,37,2.856,40,0.462,41,0.474,43,0.01,44,1.003,45,0.705,47,0.713,48,0.705,49,1.416,50,1.306,53,3.986,56,1.214,65,1.063,69,0.947,71,1.224,75,0.004,80,0.003,84,0.003,88,0.972,90,2.025,91,1.414,96,3.107,99,0.301,104,0.119,105,2.473,106,1.684,107,1.584,108,1.063,109,1.063,110,1,113,0.705,115,0.845,120,1.481,122,1.539,123,1.539,124,0.972,125,0.918,126,1.539,128,1.795,129,0.327,130,0.158,132,1.031,133,0.082,134,1.438,139,1.337,141,1.304,142,0.713,149,3.311,155,2.818,156,1.967,160,1.281,161,1.244,162,1.063,163,1.133,173,1.553,174,1.553,177,1.732,182,0.868,184,1.732,195,0.654,212,0.489,245,1.414,246,1.584,256,1.498,257,2.261,269,2.591,281,1.416,287,1.904,297,1.463,299,2.971,301,1.358,303,1.416,304,1.258,308,0.75,326,0.723,337,1.004,353,2.151,359,1.659,382,2.753,387,2.992,390,3.267,400,0.671,405,1.755,409,1.427,429,1.986,435,2.304,445,1.584,450,1.308,453,1.2,457,0.654,488,1.821,511,1.676,514,1.062,528,0.654,612,1.737,655,3.311,662,1.416,667,1.539,668,0.944,669,0.918,670,0.918,673,2.785,679,2.027,683,0.972,684,3.327,687,1.213,754,1.481,761,2.938,785,2.844,813,0.986,848,1.804,894,4.505,895,1.992,932,3.054,942,5.025,943,3.987,945,1.636,946,1.636,947,1.636,949,2.591,954,1.481,965,2.306,1015,3.551,1115,1.453,1212,2.671,1224,1.358,1258,3.038,1261,3.874,1263,3.547,1265,1.358,1333,3.634,1334,4.118,1335,3.167,1336,2.785,1339,2.762,1384,1.213,1745,2.911,1746,2.744,1748,3.522,1749,3.987,1750,2.744,1761,1.848,1795,3.311,1843,1.856,1844,3.94,1849,1.213,1881,2.459,1913,1.553,1914,1.636,1915,1.994,1916,3.839,1917,4.241,1918,4.491,1919,4.491,1920,4.491,1921,3.99,1922,4.745,1923,4.118,1924,1.636,1925,4.708,1926,3.157,1927,4.222,1928,1.921,1929,2.459,1930,2.744,1931,1.481,1932,1.481,1933,1.994,1934,1.848,1935,1.636,1936,1.994,1937,1.636,1938,1.994,1939,1.481,1940,1.994,1941,1.416,1942,1.358,1943,2.243,1944,1.994,1945,1.994,1946,1.732,1947,1.856,1948,1.213,1949,1.481,1950,1.416,1951,1.416,1952,2.927,1953,2.911,1954,1.994,1955,2.345,1956,1.848,1957,1.994,1958,1.994,1959,1.994,1960,3.054,1961,2.345,1962,1.994,1963,1.994,1964,1.994,1965,1.994,1966,1.994,1967,1.994,1968,1.994,1969,1.994,1970,1.994,1971,1.994,1972,1.994,1973,1.994,1974,1.994,1975,1.994,1976,1.994,1977,1.994,1978,1.994,1979,1.994,1980,1.994,1981,1.994,1982,1.994,1983,1.994,1984,1.994,1985,1.848,1986,1.848,1987,1.994,1988,1.994,1989,1.994,1990,1.994,1991,1.994,1992,1.732,1993,1.732,1994,1.553,1995,1.994,1996,1.994,1997,3.92,1998,1.994,1999,5.415,2000,1.994,2001,1.994,2002,3.157,2003,2.927,2004,1.994,2005,1.994,2006,4.969,2007,1.994,2008,1.994,2009,1.994,2010,1.994,2011,1.416,2012,1.994,2013,4.459,2014,2.243,2015,1.994,2016,1.994,2017,1.994,2018,1.481,2019,1.994,2020,1.994,2021,3.157,2022,1.994,2023,4.459,2024,1.994,2025,3.157,2026,1.994,2027,1.994,2028,1.994,2029,1.994,2030,1.994,2031,1.994,2032,1.994,2033,1.994,2034,1.994,2035,1.994,2036,1.994,2037,1.994,2038,1.994,2039,1.994,2040,1.994,2041,1.994,2042,1.994,2043,1.994,2044,1.994,2045,3.157,2046,1.994,2047,1.994,2048,1.994,2049,1.994,2050,1.994,2051,1.994,2052,1.994,2053,1.994,2054,1.994,2055,3.157,2056,1.994,2057,1.994,2058,1.994,2059,1.994,2060,1.994,2061,1.994,2062,1.994,2063,1.994,2064,1.994,2065,1.994,2066,1.994,2067,1.994,2068,1.994,2069,1.994,2070,1.994,2071,3.157,2072,1.481,2073,1.732,2074,1.994,2075,1.636,2076,1.732,2077,3.157,2078,3.406,2079,3.157,2080,2.345,2081,3.157,2082,1.994,2083,1.994,2084,1.994,2085,1.994,2086,1.994,2087,1.994,2088,1.994,2089,1.481,2090,1.994,2091,1.994,2092,1.994,2093,1.994,2094,1.994,2095,1.994]],["title/changelog.html",[2018,2.169,3544,2.921,3545,2.921]],["body/changelog.html",[3,0.121,8,1.548,19,0.247,24,4.581,38,0.52,43,0.008,45,0.203,46,0.405,48,1.027,50,2.75,59,2.382,60,1.56,71,0.56,74,1.795,75,0.004,77,4.636,80,0.007,83,2.522,84,0.002,85,0.416,90,2.415,102,2.805,124,2.53,126,1.415,129,0.451,138,1.56,140,4.972,141,1.262,142,0.948,143,2.382,155,0.901,168,1.398,182,1.592,188,1.167,195,0.589,196,0.508,198,0.906,200,0.703,202,0.685,208,1.412,211,0.906,212,1.06,213,0.547,226,2.062,241,1.56,245,0.804,256,1.059,257,0.685,258,0.988,260,0.56,271,1.664,278,2.271,283,1.333,286,2.382,299,3.092,303,4.435,304,1.831,306,2.522,307,3.231,308,0.868,309,0.547,313,0.988,326,0.651,333,2.367,359,2.488,375,5.011,399,0.761,400,1.551,407,1.275,411,2.75,414,0.668,425,2.49,431,1.706,435,2.468,441,1.02,446,1.473,450,0.483,453,0.483,457,1.377,483,0.668,488,0.976,493,0.635,522,0.906,524,0.635,536,1.523,561,1.223,567,2.261,572,4.286,588,1.473,591,4.852,593,1.97,601,6.482,609,1.473,635,3.397,636,3.7,661,4.578,669,0.826,670,0.826,673,3.504,684,2.63,689,5.277,713,3.445,750,1.275,782,2.691,799,1.795,804,1.795,842,1.398,843,1.978,891,1.766,894,3.842,895,3.982,911,2.903,914,5.06,921,1.97,932,2.261,960,1.132,961,1.398,962,2.382,965,0.928,967,1.664,972,1.333,1003,1.795,1008,1.795,1015,0.988,1061,1.398,1068,1.56,1072,1.223,1117,1.97,1118,1.664,1124,3.176,1125,1.97,1130,1.473,1131,1.795,1151,2.847,1175,1.795,1182,1.795,1183,1.795,1244,4.573,1245,1.473,1246,1.795,1247,2.596,1261,2.522,1265,1.223,1270,2.522,1273,2.156,1279,2.062,1288,4.006,1289,1.473,1290,2.714,1303,2.382,1313,1.795,1315,1.398,1319,1.97,1334,1.978,1339,2.387,1357,3.186,1365,4.61,1426,2.903,1430,1.795,1471,2.903,1486,2.903,1612,1.97,1628,1.97,1630,1.473,1640,1.473,1642,1.56,1643,5.414,1683,1.97,1687,3.186,1703,3.186,1745,2.156,1746,3.648,1747,1.795,1749,3.445,1794,2.903,1795,2.49,1796,3.186,1804,1.664,1845,1.473,1849,2.555,1854,1.56,1876,1.56,1889,1.473,1904,1.97,1924,1.473,1942,1.223,1960,1.398,2003,2.691,2018,2.714,2113,1.223,2145,4.274,2148,1.275,2149,1.473,2291,2.691,2326,1.473,2339,3.655,2412,3.655,2433,1.56,2436,1.795,2663,1.97,2665,3.186,2671,4.012,2681,2.691,2711,1.664,2753,2.903,2785,5.192,2787,1.795,2791,1.795,2796,1.795,2864,4.199,2986,1.795,3015,1.97,3039,1.97,3047,1.97,3064,1.97,3122,1.97,3145,1.795,3208,1.664,3244,4.012,3338,3.186,3354,3.186,3362,3.186,3405,1.97,3413,5.584,3414,5.414,3428,4.012,3460,1.97,3486,1.97,3490,1.97,3535,1.97,3545,2.903,3546,3.186,3547,1.97,3548,1.97,3549,4.553,3550,6.145,3551,5.744,3552,3.616,3553,4.553,3554,4.553,3555,3.616,3556,2.236,3557,3.616,3558,3.616,3559,6.468,3560,6.145,3561,6.468,3562,3.616,3563,2.236,3564,2.236,3565,2.236,3566,3.616,3567,4.553,3568,4.553,3569,5.933,3570,5.06,3571,7.144,3572,2.236,3573,1.97,3574,2.236,3575,2.236,3576,2.236,3577,4.553,3578,2.236,3579,2.236,3580,7.306,3581,7.447,3582,3.616,3583,5.744,3584,2.236,3585,3.616,3586,6.145,3587,3.186,3588,2.236,3589,2.236,3590,2.236,3591,3.616,3592,5.699,3593,2.236,3594,7.465,3595,2.236,3596,2.236,3597,3.616,3598,2.236,3599,5.231,3600,3.616,3601,4.553,3602,2.236,3603,2.236,3604,2.236,3605,2.236,3606,2.236,3607,7.68,3608,2.236,3609,1.97,3610,1.97,3611,1.97,3612,2.236,3613,3.616,3614,1.97,3615,2.236,3616,3.616,3617,5.231,3618,5.231,3619,4.553,3620,2.236,3621,2.236,3622,2.236,3623,2.236,3624,5.06,3625,4.012,3626,5.06,3627,3.616,3628,2.236,3629,4.553,3630,5.933,3631,7.571,3632,2.236,3633,2.236,3634,3.616,3635,7.306,3636,4.012,3637,2.236,3638,2.236,3639,5.744,3640,2.236,3641,2.236,3642,2.236,3643,2.236,3644,3.186,3645,3.186,3646,6.468,3647,5.933,3648,2.236,3649,2.236,3650,2.236,3651,2.236,3652,2.236,3653,5.06,3654,2.236,3655,3.616,3656,3.616,3657,2.236,3658,3.616,3659,3.616,3660,3.616,3661,2.236,3662,2.236,3663,2.236,3664,2.236,3665,3.616,3666,3.616,3667,5.231,3668,3.616,3669,2.236,3670,2.236,3671,2.236,3672,2.236,3673,3.616,3674,2.236,3675,2.236,3676,3.616,3677,3.186,3678,5.231,3679,2.236,3680,4.553,3681,3.616,3682,6.145,3683,3.186,3684,5.231,3685,2.236,3686,2.236,3687,3.616,3688,2.236,3689,2.236,3690,3.616,3691,2.236,3692,2.236,3693,2.236,3694,3.616,3695,2.236,3696,2.236,3697,2.236,3698,2.236,3699,2.236,3700,2.236,3701,2.236,3702,2.236,3703,3.616,3704,2.236,3705,2.236,3706,2.236,3707,4.553,3708,4.553,3709,3.616,3710,2.236,3711,2.236,3712,2.236,3713,2.236,3714,2.236,3715,2.236,3716,3.616,3717,3.616,3718,3.616,3719,4.553,3720,2.236,3721,2.236,3722,2.236,3723,2.236,3724,3.616,3725,5.231,3726,2.236,3727,2.236,3728,4.553,3729,3.616,3730,2.236,3731,2.236,3732,3.616,3733,3.616,3734,5.231,3735,2.236,3736,2.236,3737,2.236,3738,3.616,3739,2.236,3740,2.236,3741,2.236,3742,2.236,3743,2.236,3744,5.231,3745,2.236,3746,4.553,3747,5.231,3748,2.236,3749,4.553,3750,5.744,3751,3.616,3752,3.616,3753,3.616,3754,3.616,3755,4.553,3756,5.231,3757,5.744,3758,3.616,3759,4.553,3760,2.236,3761,2.236,3762,6.468,3763,5.231,3764,6.956,3765,2.236,3766,2.236,3767,2.236,3768,3.616,3769,2.236,3770,2.236,3771,2.236,3772,2.236,3773,3.616,3774,2.236,3775,2.236,3776,4.012,3777,3.616,3778,4.553,3779,2.236,3780,2.236,3781,2.236,3782,2.236,3783,2.236,3784,2.236,3785,2.236,3786,2.236,3787,2.236,3788,6.145,3789,4.553,3790,3.616,3791,2.236,3792,2.236,3793,2.236,3794,2.236,3795,4.553,3796,2.236,3797,2.236,3798,3.616,3799,3.616,3800,3.616,3801,4.553,3802,2.236,3803,2.236,3804,2.236,3805,2.236,3806,2.236,3807,2.236,3808,1.97,3809,2.236,3810,2.236,3811,2.236,3812,2.236,3813,2.236,3814,2.236,3815,2.236,3816,2.236,3817,2.236,3818,2.236,3819,2.236,3820,2.236,3821,2.236,3822,2.236,3823,6.734,3824,2.236,3825,4.012,3826,4.553,3827,5.231,3828,3.616,3829,4.553,3830,2.236,3831,2.236,3832,2.236,3833,3.616,3834,3.616,3835,2.236,3836,2.236,3837,2.236,3838,3.616,3839,2.236,3840,4.012,3841,2.236,3842,2.236,3843,2.236,3844,2.236,3845,2.236,3846,2.236,3847,2.236,3848,2.236,3849,2.236,3850,2.236,3851,2.236,3852,2.236,3853,2.236,3854,2.236,3855,2.236,3856,2.236,3857,2.236,3858,2.236,3859,2.236,3860,2.236,3861,3.616,3862,2.236,3863,3.616,3864,2.236,3865,3.616,3866,5.231,3867,5.231,3868,3.616,3869,3.616,3870,2.236,3871,2.236,3872,2.236,3873,2.236,3874,1.97,3875,2.236,3876,2.236,3877,2.236,3878,2.236,3879,3.616,3880,7.144,3881,4.553,3882,2.236,3883,3.616,3884,2.236,3885,2.236,3886,2.236,3887,2.236,3888,2.236,3889,2.236,3890,3.616,3891,5.699,3892,3.616,3893,2.236,3894,2.236,3895,2.236,3896,2.236,3897,2.236,3898,4.199,3899,2.236,3900,3.616,3901,2.236,3902,2.236,3903,2.236,3904,3.616,3905,2.236,3906,2.236,3907,2.236,3908,3.616,3909,3.616,3910,3.186,3911,2.236,3912,2.236,3913,2.236,3914,2.236,3915,2.236,3916,2.236,3917,2.236,3918,2.236,3919,2.236,3920,1.97,3921,2.236,3922,2.236,3923,2.236,3924,2.236,3925,2.236,3926,2.236,3927,2.236,3928,1.97,3929,2.236,3930,3.616,3931,2.236,3932,2.236,3933,2.236,3934,2.236,3935,2.236,3936,2.236,3937,2.236,3938,2.236,3939,2.236,3940,2.236,3941,1.97,3942,3.616,3943,2.236,3944,2.236,3945,2.236,3946,2.236,3947,3.616,3948,2.236,3949,2.236,3950,2.236,3951,2.236,3952,2.236,3953,2.236,3954,2.236,3955,2.236]],["title/coverage.html",[3898,4.794]],["body/coverage.html",[0,2.317,1,2.007,5,0.113,6,0.132,7,4.116,8,3.157,9,3.206,10,4.116,12,0.839,43,0.01,45,0.319,75,0.005,80,0.004,84,0.004,88,1.376,91,1.265,92,2.007,117,2.098,129,0.601,131,2.619,133,0.169,141,0.622,142,0.93,196,0.867,197,0.95,203,4.503,242,2.098,245,1.265,301,1.925,309,1.253,333,1.198,336,2.454,405,3.301,409,1.895,429,2.352,466,2.601,474,0.999,476,0.974,478,0.999,480,1.384,482,0.999,485,0.999,487,0.999,490,0.999,492,0.999,495,0.999,497,1.42,499,0.999,501,0.974,502,0.999,503,0.999,505,0.999,508,0.974,509,0.999,510,0.974,511,0.819,513,0.974,515,0.999,517,0.999,519,0.999,521,0.999,523,0.999,525,0.999,527,0.999,530,0.999,572,2.454,576,2.619,580,2.619,583,3.985,586,2.619,602,2.825,603,2.825,655,1.925,656,4.22,657,3.985,658,4.653,672,2.619,748,2.619,749,2.825,753,4.116,758,2.265,777,1.554,792,1.719,863,3.1,875,1.85,978,3.1,1051,2.2,1052,4.419,1058,2.2,1065,2.2,1066,2.2,1084,2.454,1086,3.985,1087,2.619,1111,2.619,1112,4.637,1113,4.116,1114,4.116,1132,2.454,1207,2.825,1208,2.619,1209,3.1,1240,2.825,1241,3.1,1244,2.619,1253,2.2,1254,2.2,1256,2.825,1258,1.925,1259,3.1,1260,3.1,1263,1.85,1266,2.825,1267,2.619,1268,3.1,1329,4.948,1338,2.825,1342,3.1,1368,4.22,1375,2.619,1376,3.816,1377,4.116,1387,2.318,1452,2.825,1454,4.503,1488,2.825,1617,2.825,1618,2.619,1619,3.1,1669,2.825,1670,2.318,1671,4.116,1714,2.825,1715,4.116,1770,7.532,1831,3.377,1835,2.619,1837,2.619,1841,4.858,1843,1.66,1852,2.2,1910,2.619,1911,2.825,1912,2.825,1913,2.2,1914,4.654,1921,2.924,1923,1.925,1947,1.66,1948,3.247,1960,3.206,2096,3.816,2105,2.619,2135,2.454,2136,4.637,2137,4.637,2165,2.454,2227,4.503,2273,2.2,2274,2.2,2321,3.577,2322,2.454,2323,3.1,2381,4.637,2411,4.116,2490,2.619,2639,3.985,2640,2.619,2641,4.116,2678,3.377,2708,2.619,2739,2.825,2767,3.985,2770,3.985,2772,2.619,2774,4.637,2779,4.22,2780,4.503,2782,2.619,2831,4.503,2881,2.619,2979,4.22,2980,2.619,3013,2.619,3014,2.825,3099,2.825,3110,2.825,3128,3.816,3129,3.816,3132,4.654,3133,3.1,3169,5.337,3247,2.825,3251,2.825,3254,2.825,3320,4.116,3374,3.1,3404,3.577,3430,3.1,3458,3.1,3459,3.1,3461,3.577,3462,3.1,3587,3.1,3898,2.825,3941,3.1,3956,3.519,3957,3.519,3958,3.519,3959,3.519,3960,3.519,3961,5.128,3962,7.616,3963,7.805,3964,6.648,3965,3.519,3966,7.067,3967,3.519,3968,3.519,3969,8.549,3970,3.519,3971,3.519,3972,6.648,3973,3.519,3974,3.519,3975,3.519,3976,5.128,3977,3.519,3978,3.519,3979,3.519,3980,3.519,3981,3.519,3982,3.519,3983,3.519,3984,3.519,3985,3.519,3986,3.1,3987,3.519,3988,3.519,3989,3.519,3990,3.519,3991,3.1,3992,3.519,3993,3.519,3994,3.519,3995,3.519,3996,3.519,3997,3.519,3998,3.519,3999,3.519,4000,3.519,4001,3.519,4002,3.519,4003,5.128,4004,5.128,4005,6.648,4006,6.648,4007,3.1,4008,3.519,4009,5.128,4010,3.519,4011,3.519,4012,3.519,4013,5.128,4014,3.519,4015,3.519,4016,3.519,4017,3.519]],["title/dependencies.html",[536,1.53,3614,3.206]],["body/dependencies.html",[5,0.101,22,1.793,43,0.01,72,4.027,75,0.007,80,0.006,84,0.006,102,2.643,104,0.26,107,2.772,110,2.18,111,5.121,113,1.536,260,1.724,536,1.575,558,4.767,566,4.532,567,4.303,612,2.39,635,2.643,668,2.615,669,1.999,670,1.999,737,1.842,934,4.767,935,4.767,1021,4.344,1129,3.564,1331,4.344,1673,3.086,1934,4.027,2120,3.564,2142,3.564,2422,4.344,2476,4.344,2485,4.344,2878,4.344,2879,4.344,3046,4.344,3101,4.767,3103,4.767,3104,6.063,3106,4.767,3280,4.767,3412,4.344,3457,4.767,3573,4.767,3626,4.767,3644,4.767,3677,4.767,3683,4.767,3776,4.767,3825,6.063,4018,5.411,4019,5.411,4020,8.849,4021,5.411,4022,5.411,4023,5.411,4024,5.411,4025,5.411,4026,5.411,4027,5.411,4028,5.411,4029,5.411,4030,7.567,4031,5.411,4032,6.881,4033,5.411,4034,5.411,4035,5.411,4036,5.411,4037,7.567,4038,5.411,4039,5.411,4040,5.411,4041,5.411,4042,5.411,4043,5.411,4044,5.411,4045,5.411,4046,5.411,4047,5.411,4048,6.881,4049,5.411,4050,5.411,4051,5.411,4052,6.881,4053,5.411,4054,5.411,4055,6.881,4056,5.411,4057,5.411,4058,5.411,4059,5.411,4060,5.411,4061,5.411,4062,5.411,4063,5.411,4064,5.411,4065,5.411,4066,5.411,4067,5.411,4068,4.767,4069,5.411,4070,5.411,4071,5.411,4072,5.411,4073,5.411,4074,6.881,4075,5.411,4076,5.411,4077,5.411,4078,5.411,4079,5.411,4080,5.411,4081,5.411,4082,5.411,4083,5.411,4084,5.411,4085,5.411,4086,5.411,4087,5.411,4088,5.411,4089,5.411,4090,5.411,4091,5.411,4092,5.411,4093,5.411,4094,5.411,4095,5.411,4096,5.411,4097,5.411,4098,5.411,4099,5.411,4100,5.411,4101,5.411,4102,5.411,4103,5.411,4104,6.881,4105,5.411,4106,5.411,4107,5.411,4108,5.411,4109,5.411,4110,5.411,4111,5.411,4112,5.411,4113,5.411,4114,5.411,4115,5.411,4116,5.411]],["title/miscellaneous/functions.html",[4117,2.397,4118,4.63]],["body/miscellaneous/functions.html",[6,0.121,11,0.816,18,0.616,22,2.176,42,1.981,43,0.01,44,1.185,46,1.543,55,1.75,61,4.579,75,0.008,80,0.007,84,0.007,245,2.359,257,2.374,300,1.941,466,2.568,749,6.219,753,5.27,819,4.324,820,4.579,826,5.784,829,5.784,1329,4.886,1340,5.784,1948,3.207,2136,4.579,2137,5.404,2140,4.324,2147,4.886,2148,4.418,2172,4.886,2831,4.886,2876,5.27,2883,5.27,3986,6.826,3991,6.826,4007,6.826,4117,4.324,4118,5.784,4119,6.565,4120,6.565,4121,5.784,4122,6.565,4123,6.565]],["title/index.html",[18,0.342,2018,2.169,3544,2.921]],["body/index.html",[3,0.158,43,0.008,75,0.008,80,0.006,84,0.006,102,2.894,126,2.318,129,0.488,195,1.56,196,0.575,212,1.147,258,2.617,299,2.914,308,1.13,333,2.684,434,2.536,446,3.903,591,5.738,601,5.421,636,3.001,660,3.001,891,3.558,1288,5.08,1289,3.903,1365,4.757,2339,5.847,2845,6.603,3413,6.603,3545,4.757,3546,6.417,3547,6.417,3548,6.417,3570,5.221,3592,5.221,3594,6.948,3609,5.221,3610,5.221,3611,5.221,3624,7.44,3625,7.248,3630,6.417,3636,5.221,3645,6.417,3647,5.221,3910,5.221,3920,5.221,4124,7.284,4125,5.926,4126,5.926,4127,5.926,4128,6.417,4129,5.926,4130,5.926,4131,5.926,4132,7.284,4133,7.284,4134,7.284,4135,7.886,4136,5.926,4137,5.926,4138,7.886,4139,5.926,4140,5.926,4141,7.284,4142,5.926,4143,5.926,4144,5.926,4145,7.284,4146,5.926,4147,5.926,4148,5.926,4149,5.926,4150,8.226,4151,5.926,4152,5.926,4153,5.926,4154,5.926,4155,5.926,4156,5.926,4157,5.926,4158,5.926,4159,5.926,4160,5.926,4161,5.926,4162,5.926,4163,5.926,4164,5.926,4165,5.926,4166,5.926]],["title/license.html",[2018,2.169,3544,2.921,4167,3.206]],["body/license.html",[43,0.008,75,0.008,80,0.007,84,0.007,263,2.656,424,1.643,591,4.463,799,5.136,804,6.545,813,1.603,896,4.001,960,3.864,1244,4.762,1632,5.638,1845,4.214,1848,4.214,2273,4.001,2450,4.762,3653,6.723,3808,6.723,3874,5.638,3891,5.638,3928,5.638,4068,5.638,4128,7.906,4167,5.638,4168,6.399,4169,8.153,4170,6.399,4171,6.399,4172,7.63,4173,6.399,4174,6.399,4175,6.399,4176,6.399,4177,6.399,4178,7.63,4179,6.399,4180,6.399,4181,6.399,4182,6.399,4183,6.399,4184,6.399,4185,6.399,4186,6.399,4187,6.399,4188,6.399,4189,6.399,4190,7.63,4191,6.399,4192,6.399,4193,6.399,4194,6.399,4195,6.399,4196,7.63,4197,6.399,4198,6.399,4199,6.399,4200,6.399,4201,6.399,4202,6.399,4203,6.399,4204,6.399,4205,6.399,4206,6.399,4207,6.399,4208,6.399,4209,6.399,4210,6.399,4211,6.399,4212,6.399,4213,6.399,4214,6.399,4215,6.399,4216,6.399,4217,6.399,4218,6.399,4219,6.399]],["title/modules.html",[535,1.695]],["body/modules.html",[43,0.008,75,0.008,80,0.006,84,0.006,534,4.485,535,1.711,540,4.204,541,4.204,542,4.204,543,4.204,544,4.204,545,4.204,546,4.204,567,5.787,730,4.204,745,4.204,1079,4.204,1080,4.204,1091,4.204,1092,4.204,1127,6.887,1234,4.204,1321,4.204,1661,4.204,1706,3.769,1816,3.969,1817,4.204,1818,4.204,2374,4.204,2698,4.204,2703,4.204,2761,4.204,2762,4.204,2763,4.204,2764,4.204,3452,4.485,3569,8.154,3840,6.484,4220,9.268,4221,7.36]],["title/overview.html",[4222,5.262]],["body/overview.html",[2,2.235,43,0.01,75,0.006,80,0.004,84,0.004,195,1.032,197,1.735,198,0.982,242,3.832,424,1.007,435,1.85,474,1.825,476,2.177,478,2.233,480,2.169,482,2.233,485,2.233,487,2.233,490,2.233,492,2.233,495,2.233,499,2.233,501,2.177,502,2.233,503,2.233,505,2.233,508,2.177,509,2.233,510,2.177,513,2.177,515,2.233,517,2.233,519,2.233,521,2.233,523,2.233,525,2.233,527,2.233,530,2.233,534,6.569,535,1.113,536,1.613,537,3.454,538,3.454,539,3.454,540,5.776,541,5.698,542,5.987,543,5.336,544,6.194,545,5.603,546,6.112,547,1.743,548,1.113,730,5.336,731,3.454,732,3.454,733,3.454,745,4.483,1075,3.454,1076,3.454,1077,3.454,1078,3.454,1079,5.603,1080,5.336,1089,3.454,1090,3.454,1091,4.483,1092,5.141,1234,5.336,1235,3.454,1236,3.454,1237,3.454,1249,3.454,1250,3.454,1251,3.454,1321,5.336,1322,3.454,1323,3.454,1324,3.454,1370,3.454,1371,3.454,1372,3.454,1453,3.147,1661,5.336,1662,3.454,1663,3.454,1664,3.454,1706,5.023,1707,3.454,1708,3.454,1709,3.454,1812,3.454,1813,3.454,1814,3.454,1815,3.454,1816,5.18,1817,5.336,1818,5.485,2130,3.454,2131,3.454,2132,3.454,2374,5.776,2375,3.454,2376,3.454,2377,3.454,2403,3.454,2404,3.454,2405,3.454,2698,5.603,2699,3.454,2700,3.454,2701,3.454,2702,3.454,2703,5.336,2736,3.454,2737,3.454,2738,3.454,2757,3.454,2758,3.454,2759,3.454,2760,3.454,2761,5.336,2762,5.336,2763,5.336,2764,5.336,2824,3.454,2825,3.454,2826,3.454,3009,3.454,3010,3.454,3011,3.454,3091,3.454,3092,3.454,3094,3.454,3162,3.454,3163,3.454,3164,3.454,3305,3.454,3306,3.454,3307,3.454,3313,3.454,3314,3.454,3447,3.454,3448,3.454,3449,3.454,3452,5.485,3453,3.454,3454,3.454,3455,3.454,3519,3.454,3520,3.454,3521,3.454,3541,3.454,3542,3.454,3543,3.454,4222,3.454,4223,5.541,4224,3.92,4225,3.92]],["title/miscellaneous/typealiases.html",[4117,2.397,4226,5.255]],["body/miscellaneous/typealiases.html",[6,0.122,8,3.028,12,1.348,15,2.248,18,0.531,22,2.344,43,0.01,45,0.782,47,1.025,69,0.765,71,1.417,75,0.008,80,0.006,84,0.006,116,4.424,198,1.417,208,1.91,222,4.425,299,2.614,300,1.935,310,3.869,313,2.497,333,2.408,417,3.37,425,3.092,450,1.528,453,1.528,466,3.02,572,5.927,602,4.538,603,6.822,612,2.497,619,4.934,623,6.233,629,5.265,641,6.233,679,2.347,758,3.125,761,2.58,765,3.37,773,3.455,777,3.411,792,3.455,894,3.535,895,3.582,942,4.934,949,4.659,954,4.217,1015,3.574,1051,3.535,1052,3.535,1053,4.034,1054,3.943,1055,3.943,1056,3.724,1058,3.535,1060,4.75,1061,4.424,1062,5.386,1065,3.535,1066,3.535,1069,5.386,1070,3.943,1071,3.943,1072,4.223,1084,3.943,1454,4.208,1476,4.981,1477,6.233,1478,6.233,1479,4.981,1480,6.233,1481,4.981,1482,6.233,1483,4.981,1484,4.981,1485,4.981,1486,4.538,1910,4.208,1911,4.538,1912,5.679,1914,3.724,1922,4.659,1956,4.208,2220,3.224,3013,4.208,3014,5.679,3128,4.208,3129,5.265,4117,3.724,4227,5.654,4228,8.331,4229,7.487,4230,6.803,4231,5.654,4232,5.654,4233,5.654,4234,6.233,4235,5.654]],["title/miscellaneous/variables.html",[4117,2.397,4236,4.63]],["body/miscellaneous/variables.html",[1,2.024,6,0.118,14,2.024,18,0.333,42,0.826,43,0.01,44,1.264,45,0.745,47,1.21,70,2.338,71,1.293,75,0.005,77,3.625,80,0.006,84,0.005,85,1.633,86,1.663,88,1.388,90,1.623,91,1.276,92,2.024,117,2.116,128,1.62,132,1.473,133,0.2,141,1.074,165,2.024,189,2.338,204,5.418,213,0.868,226,2.943,245,1.276,246,1.43,256,0.826,297,0.935,301,2.822,303,5.168,304,1.797,326,1.033,350,5.678,382,1.804,387,1.961,390,2.142,405,1.276,409,1.562,414,1.06,429,2.168,450,1.532,453,1.532,511,1.201,514,0.958,576,3.841,655,1.941,656,2.476,657,2.338,658,3.979,671,2.642,672,3.841,673,3.467,679,2.142,748,3.841,750,2.024,758,2.279,777,2.686,875,1.866,965,1.473,969,1.276,1052,2.219,1056,2.338,1111,2.642,1112,2.476,1113,2.849,1114,4.143,1115,2.247,1118,2.642,1126,6.758,1130,2.338,1131,2.849,1132,3.599,1133,3.127,1134,7.967,1135,3.127,1136,3.127,1137,3.127,1138,4.547,1139,3.127,1140,3.127,1141,3.127,1142,3.127,1143,3.127,1144,3.127,1145,5.881,1146,5.881,1147,6.248,1148,6.248,1149,2.849,1150,3.127,1151,4.434,1152,3.127,1153,3.127,1154,3.127,1155,4.143,1156,4.143,1157,4.547,1158,3.127,1159,3.127,1160,6.248,1161,3.127,1162,4.547,1163,2.642,1164,3.127,1165,3.127,1166,3.127,1167,3.127,1168,3.127,1169,5.881,1170,3.127,1171,3.127,1172,4.547,1173,3.127,1174,3.127,1175,2.849,1176,3.127,1177,3.127,1178,3.127,1179,3.127,1180,3.127,1181,4.547,1182,4.143,1183,2.849,1184,3.127,1185,2.849,1186,3.127,1187,3.127,1188,3.127,1189,3.127,1190,3.127,1191,5.881,1192,3.127,1193,3.127,1194,5.881,1195,2.849,1196,3.127,1197,2.476,1198,3.127,1199,3.127,1200,5.357,1201,3.127,1202,4.547,1203,3.127,1204,3.127,1205,3.127,1206,3.127,1253,3.227,1254,3.802,1329,2.642,1332,3.227,1338,4.143,1339,3.046,1387,2.338,1454,2.642,1487,3.127,1488,4.143,1489,3.127,1490,3.127,1841,2.338,1852,2.219,1855,2.476,1856,3.399,1857,3.399,1858,2.476,1859,2.476,1914,2.338,1921,2.024,1929,2.219,1947,1.675,1953,2.116,1955,2.116,1961,3.076,2479,2.642,2767,2.338,2770,2.338,2774,2.476,2779,2.476,2780,3.841,2782,3.841,2979,2.476,2980,3.841,3099,2.849,3109,3.127,3110,4.143,3132,2.338,3169,5.358,3199,3.127,3247,4.143,3251,4.143,3252,3.127,3253,3.127,3254,4.143,3320,2.849,3353,3.127,4117,2.338,4121,4.547,4229,3.127,4230,3.127,4234,3.127,4236,3.127,4237,3.55,4238,3.55,4239,3.55,4240,6.08,4241,3.55,4242,3.55,4243,5.161,4244,3.55]]],"invertedIndex":[["",{"_index":43,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":429,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.063rem",{"_index":3302,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.075rem",{"_index":3537,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.1.0",{"_index":3947,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":4116,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":4057,"title":{},"body":{"dependencies.html":{}}}],["0.1rem",{"_index":1306,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.1s",{"_index":3518,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.2.0",{"_index":3942,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":4075,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":1354,"title":{},"body":{"components/HeaderComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.25s",{"_index":3090,"title":{},"body":{"components/StageNavComponent.html":{}}}],["0.2rem",{"_index":452,"title":{},"body":{"components/AppComponent.html":{}}}],["0.2s",{"_index":3538,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.313rem",{"_index":3303,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.375rem",{"_index":1798,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0.3rem",{"_index":1305,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.3s",{"_index":3517,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.4s",{"_index":3516,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.5",{"_index":376,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["0.5.0",{"_index":3930,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":428,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.5s",{"_index":422,"title":{},"body":{"components/AppComponent.html":{}}}],["0.6.0",{"_index":3910,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.625rem",{"_index":2822,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["0.6s",{"_index":438,"title":{},"body":{"components/AppComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{}}}],["0.75rem",{"_index":727,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.9rem",{"_index":1808,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0/1",{"_index":3966,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":3965,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":3957,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":3961,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":3984,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":3960,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":3985,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":3552,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":3796,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":3750,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":3583,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":3725,"title":{},"body":{"changelog.html":{}}}],["05rem",{"_index":3403,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["06",{"_index":3567,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":3551,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":3892,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":3667,"title":{},"body":{"changelog.html":{}}}],["0rem",{"_index":419,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{}}}],["1",{"_index":188,"title":{"components/ContentComponent-1.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["1.0",{"_index":375,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["1.0.0",{"_index":3880,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":4054,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":4061,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":4112,"title":{},"body":{"dependencies.html":{}}}],["1.0625rem",{"_index":3398,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["1.1.0",{"_index":3861,"title":{},"body":{"changelog.html":{}}}],["1.125rem",{"_index":3540,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["1.16.0",{"_index":4091,"title":{},"body":{"dependencies.html":{}}}],["1.1875rem",{"_index":2752,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1.19.0",{"_index":4056,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":3825,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":4064,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":4093,"title":{},"body":{"dependencies.html":{}}}],["1.25rem",{"_index":2820,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.2rem",{"_index":443,"title":{},"body":{"components/AppComponent.html":{}}}],["1.3.5",{"_index":3795,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":3776,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":4078,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":3749,"title":{},"body":{"changelog.html":{}}}],["1.5rem",{"_index":461,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.6.0",{"_index":3734,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":3724,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":4065,"title":{},"body":{"dependencies.html":{}}}],["1.9375rem",{"_index":2751,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1/1",{"_index":3969,"title":{},"body":{"coverage.html":{}}}],["1/2",{"_index":3990,"title":{},"body":{"coverage.html":{}}}],["1/3",{"_index":3981,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":673,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":4073,"title":{},"body":{"dependencies.html":{}}}],["10.5rem",{"_index":1308,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["10/12",{"_index":3968,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":405,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":902,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["10x",{"_index":3872,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":3778,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":4094,"title":{},"body":{"dependencies.html":{}}}],["11/18",{"_index":4000,"title":{},"body":{"coverage.html":{}}}],["118",{"_index":2952,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["12",{"_index":3592,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":4096,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":4020,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":4024,"title":{},"body":{"dependencies.html":{}}}],["12/12",{"_index":4010,"title":{},"body":{"coverage.html":{}}}],["12/22",{"_index":3959,"title":{},"body":{"coverage.html":{}}}],["13",{"_index":3668,"title":{},"body":{"changelog.html":{}}}],["13/13",{"_index":4004,"title":{},"body":{"coverage.html":{}}}],["13/16",{"_index":3993,"title":{},"body":{"coverage.html":{}}}],["14",{"_index":3584,"title":{},"body":{"changelog.html":{}}}],["14/17",{"_index":3988,"title":{},"body":{"coverage.html":{}}}],["14rem",{"_index":463,"title":{},"body":{"components/AppComponent.html":{}}}],["15.126.1",{"_index":4019,"title":{},"body":{"dependencies.html":{}}}],["15/15",{"_index":4015,"title":{},"body":{"coverage.html":{}}}],["15rem",{"_index":426,"title":{},"body":{"components/AppComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["16",{"_index":3709,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":4067,"title":{},"body":{"dependencies.html":{}}}],["16.5rem",{"_index":3088,"title":{},"body":{"components/StageNavComponent.html":{}}}],["16/17",{"_index":4002,"title":{},"body":{"coverage.html":{}}}],["17",{"_index":3568,"title":{},"body":{"changelog.html":{}}}],["17/17",{"_index":3994,"title":{},"body":{"coverage.html":{}}}],["18/18",{"_index":3976,"title":{},"body":{"coverage.html":{}}}],["180",{"_index":2974,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["18rem",{"_index":3513,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["1px",{"_index":1352,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem",{"_index":410,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["1s",{"_index":966,"title":{},"body":{"components/ContentComponent.html":{}}}],["2",{"_index":435,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":3708,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":4070,"title":{},"body":{"dependencies.html":{}}}],["2.0625rem",{"_index":3397,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["2.06rem",{"_index":3539,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["2.1.0",{"_index":3683,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":3677,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.25rem",{"_index":1233,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["2.3.0",{"_index":3673,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":3666,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":3660,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":3644,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.5rem",{"_index":1309,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2.6.7",{"_index":4097,"title":{},"body":{"dependencies.html":{}}}],["2.688rem",{"_index":460,"title":{},"body":{"components/AppComponent.html":{}}}],["2.75rem",{"_index":2816,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["2.8.5",{"_index":4063,"title":{},"body":{"dependencies.html":{}}}],["2.9rem",{"_index":456,"title":{},"body":{"components/AppComponent.html":{}}}],["2/2",{"_index":4009,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":1750,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["200",{"_index":2954,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2019",{"_index":3891,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":3827,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":3631,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":3550,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":3726,"title":{},"body":{"changelog.html":{}}}],["210",{"_index":2953,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["21rem",{"_index":1811,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["22",{"_index":3882,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":3931,"title":{},"body":{"changelog.html":{}}}],["24px",{"_index":1807,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["24px.svg",{"_index":1200,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["25",{"_index":2951,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25.5rem",{"_index":415,"title":{},"body":{"components/AppComponent.html":{}}}],["250",{"_index":2726,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["255",{"_index":2854,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25rem",{"_index":1366,"title":{},"body":{"components/HeaderComponent.html":{}}}],["25s",{"_index":3399,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["26",{"_index":3751,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":3781,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":3627,"title":{},"body":{"changelog.html":{}}}],["27rem",{"_index":1810,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["29",{"_index":4223,"title":{},"body":{"overview.html":{}}}],["29/29",{"_index":4014,"title":{},"body":{"coverage.html":{}}}],["2]).rotatey(toradians(0",{"_index":2849,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2px",{"_index":723,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2rem",{"_index":1355,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["3",{"_index":2681,"title":{},"body":{"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["3).every(entry",{"_index":2683,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["3.0.0",{"_index":3626,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":4037,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":3597,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":3591,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":3582,"title":{},"body":{"changelog.html":{}}}],["3.25rem",{"_index":3299,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["3.3.0",{"_index":3566,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":3549,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":4042,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":4044,"title":{},"body":{"dependencies.html":{}}}],["3.5rem",{"_index":3089,"title":{},"body":{"components/StageNavComponent.html":{}}}],["3.6",{"_index":4154,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":4105,"title":{},"body":{"dependencies.html":{}}}],["3.625rem",{"_index":2750,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3.7.1",{"_index":4048,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":4049,"title":{},"body":{"dependencies.html":{}}}],["3.75rem",{"_index":2744,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3/3",{"_index":3963,"title":{},"body":{"coverage.html":{}}}],["3/7",{"_index":3979,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1703,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["3000",{"_index":365,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["30rem",{"_index":3445,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["31",{"_index":3862,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":4225,"title":{},"body":{"overview.html":{}}}],["32rem",{"_index":2754,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["33",{"_index":3980,"title":{},"body":{"coverage.html":{}}}],["33.33",{"_index":724,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["34/38",{"_index":3975,"title":{},"body":{"coverage.html":{}}}],["3d",{"_index":895,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["3px",{"_index":1801,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["3rem",{"_index":442,"title":{},"body":{"components/AppComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["4",{"_index":3843,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":4133,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":4047,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":4069,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":4088,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":4059,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":4080,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":3962,"title":{},"body":{"coverage.html":{}}}],["4/6",{"_index":3998,"title":{},"body":{"coverage.html":{}}}],["4/7",{"_index":3983,"title":{},"body":{"coverage.html":{}}}],["4/8",{"_index":3989,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":901,"title":{},"body":{"components/ContentComponent.html":{}}}],["400",{"_index":1809,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["42",{"_index":3978,"title":{},"body":{"coverage.html":{}}}],["42/44",{"_index":4008,"title":{},"body":{"coverage.html":{}}}],["46rem",{"_index":3441,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["47rem",{"_index":2372,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4px",{"_index":2371,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4rem",{"_index":968,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{}}}],["5",{"_index":3252,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":4083,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":4087,"title":{},"body":{"dependencies.html":{}}}],["5.5rem",{"_index":970,"title":{},"body":{"components/ContentComponent.html":{}}}],["5.688rem",{"_index":420,"title":{},"body":{"components/AppComponent.html":{}}}],["5/5",{"_index":3972,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1368,"title":{},"body":{"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["500",{"_index":646,"title":{},"body":{"components/AppWebComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["54",{"_index":3958,"title":{},"body":{"coverage.html":{}}}],["55rem",{"_index":977,"title":{},"body":{"components/ContentComponent.html":{}}}],["57",{"_index":3982,"title":{},"body":{"coverage.html":{}}}],["58",{"_index":3970,"title":{},"body":{"coverage.html":{}}}],["5rem",{"_index":975,"title":{},"body":{"components/ContentComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["5s",{"_index":1050,"title":{},"body":{"components/ContentComponent-1.html":{},"components/VideoModalComponent.html":{}}}],["6.0.1",{"_index":4086,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":4099,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":4045,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":4109,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":4106,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":3964,"title":{},"body":{"coverage.html":{}}}],["6/7",{"_index":3973,"title":{},"body":{"coverage.html":{}}}],["600",{"_index":719,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["60rem",{"_index":2692,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["61",{"_index":3999,"title":{},"body":{"coverage.html":{}}}],["65vh",{"_index":3427,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["66",{"_index":3997,"title":{},"body":{"coverage.html":{}}}],["675rem",{"_index":3402,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["6s",{"_index":722,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["7/12",{"_index":3971,"title":{},"body":{"coverage.html":{}}}],["7/14",{"_index":3977,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":4003,"title":{},"body":{"coverage.html":{}}}],["7/9",{"_index":3996,"title":{},"body":{"coverage.html":{}}}],["77",{"_index":3995,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":3729,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":4114,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":4041,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":4030,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":4033,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":4006,"title":{},"body":{"coverage.html":{}}}],["8/9",{"_index":4012,"title":{},"body":{"coverage.html":{}}}],["81",{"_index":3992,"title":{},"body":{"coverage.html":{}}}],["82",{"_index":3987,"title":{},"body":{"coverage.html":{}}}],["83",{"_index":3967,"title":{},"body":{"coverage.html":{}}}],["85",{"_index":3941,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["88",{"_index":4011,"title":{},"body":{"coverage.html":{}}}],["89",{"_index":3974,"title":{},"body":{"coverage.html":{}}}],["9",{"_index":4224,"title":{},"body":{"overview.html":{}}}],["9/10",{"_index":4013,"title":{},"body":{"coverage.html":{}}}],["9/9",{"_index":4005,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":1960,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["94",{"_index":4001,"title":{},"body":{"coverage.html":{}}}],["95",{"_index":3587,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["9e9e9e",{"_index":1307,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["9e9e9e5e",{"_index":3304,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["9th",{"_index":3761,"title":{},"body":{"changelog.html":{}}}],["_blocksize",{"_index":2961,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_error",{"_index":1429,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["_expanded",{"_index":1526,"title":{},"body":{"classes/InitializationState.html":{}}}],["_index",{"_index":3151,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["_latesttags",{"_index":21,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["_lighting",{"_index":2851,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_measuredmargin",{"_index":1557,"title":{},"body":{"classes/InitializationState.html":{}}}],["_measuredwidth",{"_index":1551,"title":{},"body":{"classes/InitializationState.html":{}}}],["_msg",{"_index":780,"title":{},"body":{"components/ContainerComponent.html":{}}}],["_name",{"_index":2099,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["_opened",{"_index":1522,"title":{},"body":{"classes/InitializationState.html":{}}}],["_position",{"_index":1518,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_rotation",{"_index":2962,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["aabb",{"_index":2876,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["ability",{"_index":3690,"title":{},"body":{"changelog.html":{}}}],["about.wrapper",{"_index":2730,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["above",{"_index":3928,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["absolute",{"_index":464,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["acc",{"_index":3293,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["acc.concat(nodes",{"_index":2925,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["acc[id",{"_index":3291,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["accepting",{"_index":1611,"title":{},"body":{"classes/InitializationState.html":{}}}],["accessible",{"_index":2178,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["accessing",{"_index":3065,"title":{},"body":{"components/StageNavComponent.html":{}}}],["accessors",{"_index":32,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["accordingly",{"_index":2052,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["accurate",{"_index":3748,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":2450,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"license.html":{}}}],["actions",{"_index":3817,"title":{},"body":{"changelog.html":{}}}],["active",{"_index":2252,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ThemingService.html":{}}}],["actual_component",{"_index":532,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["add",{"_index":3194,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["addclass",{"_index":3370,"title":{},"body":{"injectables/ThemingService.html":{}}}],["added",{"_index":140,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["added.add(id",{"_index":147,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.add(iri",{"_index":153,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.has(iri",{"_index":152,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addeventlistener('beforeunload",{"_index":2309,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["adding",{"_index":3171,"title":{},"body":{"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["additional",{"_index":3929,"title":{},"body":{"changelog.html":{}}}],["addregistration",{"_index":2415,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["addregistration(registration",{"_index":2428,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["addressed",{"_index":3856,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":59,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["addsvgicon",{"_index":1433,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["addtag",{"_index":26,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtag(tag",{"_index":51,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtagraw",{"_index":27,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["addtagraw(tag",{"_index":57,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtags",{"_index":28,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["addtags(tags",{"_index":62,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["adjusting",{"_index":3853,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":3775,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":3711,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":755,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["again",{"_index":3834,"title":{},"body":{"changelog.html":{}}}],["against",{"_index":1600,"title":{},"body":{"classes/InitializationState.html":{}}}],["age",{"_index":3656,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":3671,"title":{},"body":{"changelog.html":{}}}],["alert",{"_index":2289,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["aliases",{"_index":4227,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":444,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["alignment",{"_index":2584,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["all_organs",{"_index":1929,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["all_organs.find((o",{"_index":2021,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["all_organs.find(info",{"_index":2223,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["allow",{"_index":2745,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["allowed",{"_index":1704,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["allows",{"_index":1630,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["along",{"_index":1761,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["alpha",{"_index":3921,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":3904,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":3900,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":3890,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":800,"title":{},"body":{"components/ContainerComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["alt",{"_index":4137,"title":{},"body":{"index.html":{}}}],["always",{"_index":824,"title":{},"body":{"components/ContainerComponent.html":{},"components/HeaderComponent.html":{}}}],["analytics",{"_index":670,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1098,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":1102,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":1795,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["anatomicalstructures",{"_index":1916,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["anatomicalstructuretagstate",{"_index":1,"title":{"injectables/AnatomicalStructureTagState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["anatomicalstructuretagstatemodel",{"_index":131,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["and/or",{"_index":4188,"title":{},"body":{"license.html":{}}}],["angle",{"_index":3016,"title":{},"body":{"components/StageNavComponent.html":{}}}],["angular",{"_index":102,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1021,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"dependencies.html":{}}}],["angular/cdk",{"_index":4021,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/coercion",{"_index":1475,"title":{},"body":{"classes/InitializationState.html":{}}}],["angular/cdk/overlay",{"_index":3351,"title":{},"body":{"injectables/ThemingService.html":{}}}],["angular/common",{"_index":737,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"components/VideoModalComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":1095,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":4022,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":104,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":558,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":2120,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"dependencies.html":{}}}],["angular/material",{"_index":4023,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":1668,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/checkbox",{"_index":3310,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["angular/material/chips",{"_index":3167,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/core",{"_index":741,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["angular/material/dialog",{"_index":2357,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["angular/material/divider",{"_index":1823,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/expansion",{"_index":1821,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["angular/material/form",{"_index":560,"title":{},"body":{"modules/AppModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/icon",{"_index":563,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/input",{"_index":739,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/radio",{"_index":3097,"title":{},"body":{"modules/StageNavModule.html":{}}}],["angular/material/select",{"_index":1327,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/slide",{"_index":1712,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["angular/material/slider",{"_index":2830,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["angular/material/snack",{"_index":323,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["angular/material/tooltip",{"_index":743,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["angular/platform",{"_index":566,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/RightSidebarModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":4026,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":3457,"title":{},"body":{"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["animate",{"_index":1018,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animate('.5s",{"_index":1503,"title":{},"body":{"classes/InitializationState.html":{}}}],["animate('1s",{"_index":1026,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["animate(0",{"_index":1502,"title":{},"body":{"classes/InitializationState.html":{}}}],["animated",{"_index":2691,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["animated')[0]?.classlist.add('modal",{"_index":2723,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animation",{"_index":1487,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["animations",{"_index":980,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["animationsenabled",{"_index":981,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["anterior",{"_index":949,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["api",{"_index":3413,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":4146,"title":{},"body":{"index.html":{}}}],["app",{"_index":204,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":574,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":217,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app.component.scss",{"_index":215,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app_bootstrap_listener",{"_index":3316,"title":{},"body":{"modules/ThemingModule.html":{}}}],["appcomponent",{"_index":197,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":3640,"title":{},"body":{"changelog.html":{}}}],["appearance",{"_index":592,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["appears",{"_index":2382,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["appelement",{"_index":597,"title":{},"body":{"modules/AppModule.html":{}}}],["applicable",{"_index":1926,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["application",{"_index":2663,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["application/json",{"_index":2568,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["applied",{"_index":3802,"title":{},"body":{"changelog.html":{}}}],["applyspatialplacement",{"_index":3986,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["applyspatialplacement(new",{"_index":2193,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["applyspatialplacement(tx",{"_index":2147,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["applythemeclass",{"_index":3323,"title":{},"body":{"injectables/ThemingService.html":{}}}],["applythemeclass(cls",{"_index":3330,"title":{},"body":{"injectables/ThemingService.html":{}}}],["appmodule",{"_index":534,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":1105,"title":{},"body":{"modules/CoreModule.html":{}}}],["appoptions",{"_index":336,"title":{"interfaces/AppOptions.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["appropriate",{"_index":3613,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":474,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":3760,"title":{},"body":{"changelog.html":{}}}],["area",{"_index":920,"title":{},"body":{"components/ContentComponent.html":{}}}],["arg",{"_index":1423,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args",{"_index":1424,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args.filter(value",{"_index":1441,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["argument",{"_index":1438,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["arguments",{"_index":250,"title":{},"body":{"components/AppComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["arising",{"_index":4217,"title":{},"body":{"license.html":{}}}],["around",{"_index":2732,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["array",{"_index":1212,"title":{},"body":{"components/DetailsLabelComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["array.isarray(entity.placement",{"_index":2939,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["array.isarray(reg.placement",{"_index":2517,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["arraytostring",{"_index":1219,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(details",{"_index":1232,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(inputarray",{"_index":1222,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arrow",{"_index":1316,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["arrow_drop_down",{"_index":398,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["arrow_drop_up",{"_index":397,"title":{},"body":{"components/AppComponent.html":{}}}],["arrow_left",{"_index":3389,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["arrow_right",{"_index":3388,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["as.id",{"_index":192,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name",{"_index":193,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name.tolowercase().indexof(text.tolowercase",{"_index":187,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["asct+b",{"_index":3632,"title":{},"body":{"changelog.html":{}}}],["aslookup",{"_index":2074,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["aslookup[iri",{"_index":2079,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assertions",{"_index":1958,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assets/icons/ico",{"_index":1205,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/opacity",{"_index":1199,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/organs/ico",{"_index":1134,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/visibility",{"_index":1202,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/reference",{"_index":2183,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["assigned",{"_index":158,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["assignment/selection",{"_index":3736,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1845,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"license.html":{}}}],["astags",{"_index":2740,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["async",{"_index":1459,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["async)?.x",{"_index":957,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.y",{"_index":958,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.z",{"_index":959,"title":{},"body":{"components/ContentComponent.html":{}}}],["asynchronously",{"_index":3415,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["attach",{"_index":3379,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["attempts",{"_index":3662,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":4209,"title":{},"body":{"license.html":{}}}],["auto",{"_index":964,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["autofocus",{"_index":2402,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["automatic",{"_index":3846,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":3803,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":3840,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":3699,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":1465,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["awaited",{"_index":1455,"title":{},"body":{"classes/InitializationState.html":{}}}],["award",{"_index":4165,"title":{},"body":{"index.html":{}}}],["axis",{"_index":2795,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["b",{"_index":951,"title":{},"body":{"components/ContentComponent.html":{}}}],["back",{"_index":1351,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["backbutton",{"_index":1360,"title":{},"body":{"components/HeaderComponent.html":{}}}],["backend",{"_index":3649,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":446,"title":{},"body":{"components/AppComponent.html":{},"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["backing",{"_index":1414,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["bar",{"_index":324,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["base",{"_index":3908,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":1008,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["basehref",{"_index":608,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["basewebcomponent",{"_index":604,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":3710,"title":{},"body":{"changelog.html":{}}}],["bbox",{"_index":1545,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.left",{"_index":1548,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.overlaps(getnodebbox(model",{"_index":2933,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.right",{"_index":1547,"title":{},"body":{"classes/InitializationState.html":{}}}],["before",{"_index":1124,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["beforeunloadevent",{"_index":2304,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["beforeunloadlistener",{"_index":2303,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["begin",{"_index":2664,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["being",{"_index":2711,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["belong",{"_index":1262,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["belonging",{"_index":1264,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["beta",{"_index":3630,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":3684,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":283,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["bind",{"_index":72,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["binds",{"_index":3342,"title":{},"body":{"injectables/ThemingService.html":{}}}],["black",{"_index":412,"title":{},"body":{"components/AppComponent.html":{}}}],["bladder",{"_index":1133,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bladder.svg",{"_index":1135,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blob([json",{"_index":2567,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["block",{"_index":256,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["block.x",{"_index":2039,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["block_size_input",{"_index":697,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocks",{"_index":1746,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["blocksize",{"_index":655,"title":{"interfaces/BlockSize.html":{}},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocksize.y",{"_index":2969,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksize.z].map(n",{"_index":2970,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksizechange",{"_index":682,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocksizeinputcomponent",{"_index":476,"title":{"components/BlockSizeInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["blocksizeinputmodule",{"_index":730,"title":{"modules/BlockSizeInputModule.html":{}},"body":{"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["blood",{"_index":1136,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blood.svg",{"_index":1137,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":3657,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":3902,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":635,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyuimodule",{"_index":1082,"title":{},"body":{"modules/ContentModule.html":{}}}],["bold",{"_index":1805,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["bone",{"_index":1138,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["boolean",{"_index":337,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["booleaninput",{"_index":1473,"title":{},"body":{"classes/InitializationState.html":{}}}],["bootstrap",{"_index":3339,"title":{},"body":{"injectables/ThemingService.html":{}}}],["border",{"_index":448,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["both",{"_index":3676,"title":{},"body":{"changelog.html":{}}}],["bottom",{"_index":449,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["bounds",{"_index":866,"title":{},"body":{"components/ContentComponent.html":{}}}],["box",{"_index":1303,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["bp",{"_index":643,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.boolean",{"_index":652,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.function",{"_index":654,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.json",{"_index":653,"title":{},"body":{"components/AppWebComponent.html":{}}}],["brain",{"_index":1141,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["brain.svg",{"_index":1142,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["break",{"_index":384,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["breaking",{"_index":3720,"title":{},"body":{"changelog.html":{}}}],["breaks",{"_index":166,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bringing",{"_index":3730,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":4220,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":567,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browser/animations",{"_index":569,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browseranimationsmodule",{"_index":568,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browserify",{"_index":4107,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":565,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browsing",{"_index":3950,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":3580,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":4129,"title":{},"body":{"index.html":{}}}],["buildjsonld",{"_index":2416,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildjsonld(page",{"_index":2430,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["buildmetadata",{"_index":2417,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildmetadata(page",{"_index":2434,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["builds",{"_index":2436,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["builtin_parsers",{"_index":637,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":431,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":507,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["button.component",{"_index":1257,"title":{},"body":{"modules/DrawerModule.html":{},"modules/ReviewButtonModule.html":{}}}],["button.component.html",{"_index":2646,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.scss",{"_index":2645,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts",{"_index":2641,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:100",{"_index":2669,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:19",{"_index":2668,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:22",{"_index":3378,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:24",{"_index":2658,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:27",{"_index":3387,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:29",{"_index":2657,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:35",{"_index":2654,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:38",{"_index":3384,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:40",{"_index":3383,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:42",{"_index":2659,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:47",{"_index":2666,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:54",{"_index":2652,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:65",{"_index":3380,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:68",{"_index":2672,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:75",{"_index":3381,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:78",{"_index":2676,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:85",{"_index":2674,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:97",{"_index":3382,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.module",{"_index":2777,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["button.module.ts",{"_index":2704,"title":{},"body":{"modules/ReviewButtonModule.html":{}}}],["button/review",{"_index":2640,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["button/toggle",{"_index":1256,"title":{},"body":{"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["buttons",{"_index":933,"title":{},"body":{"components/ContentComponent.html":{}}}],["c",{"_index":4170,"title":{},"body":{"license.html":{}}}],["cache",{"_index":4052,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":4111,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":1549,"title":{},"body":{"classes/InitializationState.html":{}}}],["calc",{"_index":3401,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["calc(100",{"_index":459,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["calc(50",{"_index":1507,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["calculated",{"_index":1541,"title":{},"body":{"classes/InitializationState.html":{},"components/TagSearchComponent.html":{}}}],["call",{"_index":1439,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["callback",{"_index":961,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["callbackset",{"_index":343,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["called",{"_index":1471,"title":{},"body":{"classes/InitializationState.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["calling",{"_index":3052,"title":{},"body":{"components/StageNavComponent.html":{}}}],["calls",{"_index":3200,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cancel",{"_index":2389,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagListComponent.html":{}}}],["cancelregistration",{"_index":609,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["cancelregistrationcallback",{"_index":619,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"miscellaneous/typealiases.html":{}}}],["candidate",{"_index":3884,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":2878,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["capturing",{"_index":1759,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["card",{"_index":3713,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":3716,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":380,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["cases",{"_index":3860,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":1428,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["catcherror",{"_index":2146,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/TagSearchComponent.html":{}}}],["ccf",{"_index":212,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":3821,"title":{},"body":{"changelog.html":{}}}],["ccf_annotations",{"_index":2598,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ccfdrawer",{"_index":1495,"title":{},"body":{"classes/InitializationState.html":{}}}],["ccfdrawercontainer",{"_index":757,"title":{},"body":{"components/ContainerComponent.html":{}}}],["cdk",{"_index":1317,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["cdr",{"_index":247,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cdr.markforcheck",{"_index":357,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cell",{"_index":3599,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":434,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"index.html":{}}}],["centimeter",{"_index":2152,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["certain",{"_index":268,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["cff",{"_index":1049,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["change",{"_index":258,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":843,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["changedetection",{"_index":209,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy",{"_index":321,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":210,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectorref",{"_index":248,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["changelog",{"_index":3545,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changerotation",{"_index":2807,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["changerotation(newrotation",{"_index":2797,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["changes",{"_index":182,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["changing",{"_index":3035,"title":{},"body":{"components/StageNavComponent.html":{}}}],["channel",{"_index":761,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["channels",{"_index":1881,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["charge",{"_index":4176,"title":{},"body":{"license.html":{}}}],["check",{"_index":2002,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["checked",{"_index":3220,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults",{"_index":3174,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults[tag.id",{"_index":3268,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checknamevalid",{"_index":2330,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checknamevalid(event",{"_index":2337,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checks",{"_index":1007,"title":{},"body":{"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["chevron_left",{"_index":1350,"title":{},"body":{"components/HeaderComponent.html":{}}}],["child",{"_index":726,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{}}}],["chip",{"_index":3161,"title":{},"body":{"components/TagListComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["choose",{"_index":3841,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":3819,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":4212,"title":{},"body":{"license.html":{}}}],["class",{"_index":133,"title":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["class.ccf",{"_index":3375,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["class.cff",{"_index":988,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["classend",{"_index":1513,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["classes",{"_index":1453,"title":{},"body":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"overview.html":{}}}],["classname",{"_index":762,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["clean",{"_index":1889,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["cleans",{"_index":277,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cleanup",{"_index":3629,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":2727,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["clearhaschanges",{"_index":2231,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["clears",{"_index":3481,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["click",{"_index":1640,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":261,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{}}}],["clicking",{"_index":3718,"title":{},"body":{"changelog.html":{}}}],["clicks",{"_index":3048,"title":{},"body":{"components/StageNavComponent.html":{}}}],["client",{"_index":4150,"title":{},"body":{"index.html":{}}}],["close",{"_index":430,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closed",{"_index":310,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["closedialog",{"_index":2331,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["closeexpanded",{"_index":1576,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeopendone",{"_index":1583,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeresults",{"_index":3181,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closeresults(event",{"_index":3210,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closes",{"_index":1564,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closesearch",{"_index":3175,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closesearch.nativeelement.contains(event.target",{"_index":3282,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cls",{"_index":3332,"title":{},"body":{"injectables/ThemingService.html":{}}}],["clsname",{"_index":678,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["cluster_appmodule",{"_index":537,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":538,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":539,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule",{"_index":731,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_declarations",{"_index":732,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_exports",{"_index":733,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_contentmodule",{"_index":1075,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_declarations",{"_index":1078,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_exports",{"_index":1076,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_imports",{"_index":1077,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":1089,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":1090,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule",{"_index":1235,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_declarations",{"_index":1236,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_exports",{"_index":1237,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_drawermodule",{"_index":1249,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_declarations",{"_index":1251,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_exports",{"_index":1250,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule",{"_index":1322,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_declarations",{"_index":1324,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_exports",{"_index":1323,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_headermodule",{"_index":1370,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_declarations",{"_index":1371,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_exports",{"_index":1372,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule",{"_index":1662,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_declarations",{"_index":1664,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_exports",{"_index":1663,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule",{"_index":1707,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_declarations",{"_index":1708,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_exports",{"_index":1709,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule",{"_index":1812,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_declarations",{"_index":1813,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_exports",{"_index":1814,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_imports",{"_index":1815,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule",{"_index":2130,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_declarations",{"_index":2131,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_exports",{"_index":2132,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule",{"_index":2375,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_declarations",{"_index":2376,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_exports",{"_index":2377,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_imports",{"_index":2378,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["cluster_registrationmodalmodule",{"_index":2403,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_declarations",{"_index":2404,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_exports",{"_index":2405,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_imports",{"_index":2406,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["cluster_reviewbuttonmodule",{"_index":2699,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_declarations",{"_index":2700,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_exports",{"_index":2701,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_imports",{"_index":2702,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule",{"_index":2736,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_declarations",{"_index":2737,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_exports",{"_index":2738,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule",{"_index":2757,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_declarations",{"_index":2758,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_exports",{"_index":2759,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_imports",{"_index":2760,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule",{"_index":2824,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_declarations",{"_index":2825,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_exports",{"_index":2826,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule",{"_index":3009,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_declarations",{"_index":3011,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_exports",{"_index":3010,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule",{"_index":3091,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_declarations",{"_index":3094,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_exports",{"_index":3092,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_imports",{"_index":3093,"title":{},"body":{"modules/StageNavModule.html":{}}}],["cluster_taglistmodule",{"_index":3162,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_declarations",{"_index":3163,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_exports",{"_index":3164,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule",{"_index":3305,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_declarations",{"_index":3306,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_exports",{"_index":3307,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_themingmodule",{"_index":3313,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_themingmodule_providers",{"_index":3314,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule",{"_index":3447,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_declarations",{"_index":3449,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_exports",{"_index":3448,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule",{"_index":3453,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_declarations",{"_index":3454,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_exports",{"_index":3455,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule",{"_index":3519,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_declarations",{"_index":3520,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_exports",{"_index":3521,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule",{"_index":3541,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_declarations",{"_index":3543,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_exports",{"_index":3542,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["coalescing",{"_index":2214,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["code",{"_index":3414,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["code.touppercase().endswith(lookup",{"_index":2217,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["codebase",{"_index":3830,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":3871,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":3915,"title":{},"body":{"changelog.html":{}}}],["coercebooleanproperty",{"_index":1474,"title":{},"body":{"classes/InitializationState.html":{}}}],["collaboration",{"_index":3828,"title":{},"body":{"changelog.html":{}}}],["collapse",{"_index":440,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["collapsed",{"_index":1483,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["collapses",{"_index":1575,"title":{},"body":{"classes/InitializationState.html":{}}}],["collection",{"_index":13,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["collisions",{"_index":138,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["color",{"_index":411,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["colorizing",{"_index":3877,"title":{},"body":{"changelog.html":{}}}],["column",{"_index":403,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["combination",{"_index":3842,"title":{},"body":{"changelog.html":{}}}],["combined",{"_index":1070,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["combinelatest",{"_index":112,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["combinelatest([regs",{"_index":2505,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.entities",{"_index":135,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["combinelatest([this.model.anatomicalstructures",{"_index":2908,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.organiri",{"_index":2934,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.viewtype",{"_index":2956,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.page.state",{"_index":2492,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.page.user",{"_index":2393,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["combinelatest([this.referenceorgansimplenodes",{"_index":2926,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.rotation",{"_index":2903,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.theme",{"_index":354,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["come",{"_index":3122,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["coming",{"_index":3868,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":4058,"title":{},"body":{"dependencies.html":{}}}],["comma",{"_index":1230,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["commas",{"_index":1216,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["common",{"_index":3546,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":736,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["compatibility",{"_index":3119,"title":{},"body":{"modules/StoreModule.html":{}}}],["completed",{"_index":1591,"title":{},"body":{"classes/InitializationState.html":{}}}],["completes",{"_index":3240,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["completion",{"_index":1581,"title":{},"body":{"classes/InitializationState.html":{}}}],["complexity",{"_index":3743,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":3622,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":196,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component's",{"_index":878,"title":{},"body":{"components/ContentComponent.html":{}}}],["component.component",{"_index":573,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":603,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["component.component.ts:25",{"_index":618,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:26",{"_index":633,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:27",{"_index":634,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:28",{"_index":628,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:29",{"_index":622,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:30",{"_index":630,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:31",{"_index":620,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:32",{"_index":624,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":631,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":632,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:35",{"_index":625,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":626,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":627,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:39",{"_index":616,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":472,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["componentref",{"_index":3335,"title":{},"body":{"injectables/ThemingService.html":{}}}],["components",{"_index":198,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["computed",{"_index":105,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["computes",{"_index":3219,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["comunica/query",{"_index":4027,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":4060,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":4195,"title":{},"body":{"license.html":{}}}],["config",{"_index":750,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["config.cancelregistration",{"_index":2284,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.isolated",{"_index":1883,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["config.register",{"_index":2283,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.user",{"_index":2286,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["configmodule",{"_index":745,"title":{"modules/ConfigModule.html":{}},"body":{"modules/ConfigModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["configstore",{"_index":617,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":1339,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["configurations",{"_index":3689,"title":{},"body":{"changelog.html":{}}}],["confirm('changes",{"_index":2290,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["confirmation",{"_index":3661,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":3695,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":1904,"title":{},"body":{"injectables/MessageService.html":{},"changelog.html":{}}}],["connect(source",{"_index":1892,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connected",{"_index":794,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connection",{"_index":4218,"title":{},"body":{"license.html":{}}}],["connects",{"_index":1891,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["consentservice",{"_index":238,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["consider",{"_index":3118,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":4171,"title":{},"body":{"license.html":{}}}],["const",{"_index":139,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor",{"_index":35,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor(@inject(message_service_config",{"_index":1882,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["constructor(@optional",{"_index":1106,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["constructor(config",{"_index":1905,"title":{},"body":{"injectables/MessageService.html":{}}}],["constructor(configstore",{"_index":615,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(defaulttheme",{"_index":3328,"title":{},"body":{"injectables/ThemingService.html":{}}}],["constructor(dialog",{"_index":2385,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["constructor(dialogref",{"_index":2707,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["constructor(drawer",{"_index":3376,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["constructor(el",{"_index":3192,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["constructor(ga",{"_index":706,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(globalconfig",{"_index":2239,"title":{},"body":{"injectables/PageState.html":{}}}],["constructor(globals",{"_index":2313,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["constructor(injector",{"_index":36,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{}}}],["constructor(messageservice",{"_index":770,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["constructor(model",{"_index":237,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/RightSidebarComponent.html":{}}}],["constructor(page",{"_index":1345,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["constructor(private",{"_index":596,"title":{},"body":{"modules/AppModule.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(readonly",{"_index":1349,"title":{},"body":{"components/HeaderComponent.html":{}}}],["constructor(registry",{"_index":1443,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["constructor(renderer2",{"_index":3407,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["constructor(source",{"_index":1897,"title":{},"body":{"classes/MessageChannel.html":{}}}],["contain",{"_index":1059,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/HeaderComponent.html":{}}}],["contained",{"_index":1915,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["container",{"_index":313,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["container'},{'name",{"_index":479,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["container.component.html",{"_index":760,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container.component.scss",{"_index":759,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container/container.component",{"_index":1255,"title":{},"body":{"modules/DrawerModule.html":{}}}],["containercomponent",{"_index":478,"title":{"components/ContainerComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["containerpayload",{"_index":1062,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["containers",{"_index":842,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["containing",{"_index":660,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"index.html":{}}}],["contains",{"_index":686,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ExtractionSet.html":{},"classes/InitializationState.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["content",{"_index":416,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content'},{'name",{"_index":481,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content.component",{"_index":2380,"title":{},"body":{"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{}}}],["content.component.html",{"_index":865,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.scss",{"_index":864,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.ts",{"_index":2323,"title":{},"body":{"components/RegistrationContentComponent.html":{},"coverage.html":{}}}],["content.component.ts:109",{"_index":2341,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:20",{"_index":2336,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:23",{"_index":2355,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:28",{"_index":2353,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:31",{"_index":2356,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:34",{"_index":2354,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:37",{"_index":2351,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:40",{"_index":2350,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:42",{"_index":2335,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:55",{"_index":2352,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:65",{"_index":2349,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:75",{"_index":2338,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:84",{"_index":2344,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:95",{"_index":2347,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.module",{"_index":2410,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["content.module.ts",{"_index":2379,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["content/content.component",{"_index":817,"title":{},"body":{"components/ContainerComponent.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{}}}],["content/registration",{"_index":2322,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["content1",{"_index":763,"title":{},"body":{"components/ContainerComponent.html":{}}}],["content2",{"_index":764,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren",{"_index":814,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(contentcomponent",{"_index":796,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(drawercomponent",{"_index":806,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentcomponent",{"_index":480,"title":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["contentcontainerchanged",{"_index":1051,"title":{"interfaces/ContentContainerChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["contentmodule",{"_index":540,"title":{"modules/ContentModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ContentModule.html":{},"modules.html":{},"overview.html":{}}}],["context",{"_index":2586,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["context.jsonld",{"_index":2589,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["contract",{"_index":4215,"title":{},"body":{"license.html":{}}}],["control",{"_index":3791,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":3246,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["convention",{"_index":1074,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["converting",{"_index":1225,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["converts",{"_index":2432,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["coordinate",{"_index":3547,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["copies",{"_index":4190,"title":{},"body":{"license.html":{}}}],["copy",{"_index":4178,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":4169,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1183,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cord.svg",{"_index":1184,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["core",{"_index":1107,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":575,"title":{},"body":{"modules/AppModule.html":{}}}],["core/models/anatomical",{"_index":3153,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["core/models/extraction",{"_index":1291,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["core/models/meta",{"_index":2677,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["core/models/visibility",{"_index":1785,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["core/services/config/config",{"_index":329,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/User.html":{}}}],["core/services/theming/theming.service",{"_index":330,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["core/store/anatomical",{"_index":2743,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["core/store/model/model.state",{"_index":331,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/page/page.state",{"_index":332,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/registration/registration.state",{"_index":937,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["core/store/scene/scene.state",{"_index":938,"title":{},"body":{"components/ContentComponent.html":{}}}],["coremodule",{"_index":541,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["correct",{"_index":1364,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["corresponding",{"_index":3228,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cors",{"_index":4062,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":3239,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["counter",{"_index":1861,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["countmapping",{"_index":3176,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["coverage",{"_index":3898,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":557,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":598,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":3798,"title":{},"body":{"changelog.html":{}}}],["createentitycollections",{"_index":100,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["creates",{"_index":40,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["createscenenodes",{"_index":2832,"title":{},"body":{"injectables/SceneState.html":{}}}],["createscenenodes(organiri",{"_index":2840,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["creating",{"_index":819,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["creation",{"_index":2653,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["creation_date",{"_index":2597,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator",{"_index":2592,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_first_name",{"_index":2593,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_last_name",{"_index":2594,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_orcid",{"_index":2595,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["credits",{"_index":4156,"title":{},"body":{"index.html":{}}}],["crosshairs",{"_index":889,"title":{},"body":{"components/ContentComponent.html":{}}}],["css",{"_index":934,"title":{},"body":{"components/ContentComponent.html":{},"dependencies.html":{}}}],["cube.svg",{"_index":1206,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["cuboid",{"_index":3897,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":3895,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":1282,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["currentdate",{"_index":2425,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currentidentifier",{"_index":2424,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currently",{"_index":1290,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["currentorgan",{"_index":2324,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["currentsex",{"_index":2325,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["cursor",{"_index":436,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["customelements.define('ccf",{"_index":600,"title":{},"body":{"modules/AppModule.html":{}}}],["customizable",{"_index":3524,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["customized",{"_index":1631,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["cyberinfrastructure",{"_index":4158,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":3754,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":392,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["damages",{"_index":4213,"title":{},"body":{"license.html":{}}}],["dark",{"_index":285,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["dark/light",{"_index":3691,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":359,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["data.alignment_operator_orcid",{"_index":2596,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.json",{"_index":2184,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.label",{"_index":2728,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data.metadata",{"_index":2720,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.push",{"_index":2576,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.registrationcallbackset",{"_index":2721,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.sex",{"_index":2525,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.side",{"_index":2527,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.state",{"_index":1949,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["data.state.ts",{"_index":2137,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["data.state.ts:100",{"_index":2318,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:110",{"_index":2320,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:135",{"_index":2316,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:155",{"_index":2315,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:75",{"_index":2314,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:87",{"_index":2319,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.ts",{"_index":1912,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["data.value",{"_index":2729,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data/reference",{"_index":1948,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["dataaction",{"_index":53,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["database",{"_index":2145,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{}}}],["datasets",{"_index":3763,"title":{},"body":{"changelog.html":{}}}],["datatype",{"_index":1686,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["date().toisostring().split('t')[0",{"_index":2509,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["db",{"_index":2072,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.anatomicalstructures[organiri",{"_index":2076,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.extractionsets[organiri",{"_index":2083,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.organirilookup[key",{"_index":2218,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.organspatialentities[organiri",{"_index":2090,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.placementpatches[place?.target",{"_index":2191,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.scenenodelookup[item.id",{"_index":2918,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.scenenodelookup[node['@id",{"_index":2978,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[item.id",{"_index":2919,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[node['@id",{"_index":2923,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["deal",{"_index":4179,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":4219,"title":{},"body":{"license.html":{}}}],["debouncetime",{"_index":1935,"title":{},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(100",{"_index":2010,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(400",{"_index":2911,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["debouncetime(500",{"_index":2395,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["debug",{"_index":913,"title":{},"body":{"components/ContentComponent.html":{}}}],["debugmode",{"_index":867,"title":{},"body":{"components/ContentComponent.html":{}}}],["december",{"_index":3835,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":2655,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["deck.gl/core",{"_index":4029,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":4031,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":4034,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":4035,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":550,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["declare",{"_index":1337,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["decoration",{"_index":1358,"title":{},"body":{"components/HeaderComponent.html":{}}}],["decorator",{"_index":111,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["decorators",{"_index":52,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deep",{"_index":1302,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deeply",{"_index":3651,"title":{},"body":{"changelog.html":{}}}],["def",{"_index":1398,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.html",{"_index":1396,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.url",{"_index":1407,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default",{"_index":85,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_block_size",{"_index":672,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons",{"_index":1132,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons.find",{"_index":1404,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default_rotation",{"_index":2782,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_limit",{"_index":3251,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_throttle",{"_index":3254,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_slices_config",{"_index":2980,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_theme",{"_index":576,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaulticondefinition",{"_index":1111,"title":{"interfaces/DefaultIconDefinition.html":{}},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultposition",{"_index":2035,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["defaults",{"_index":132,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["defaulttheme",{"_index":3322,"title":{},"body":{"injectables/ThemingService.html":{}}}],["deferred",{"_index":1456,"title":{},"body":{"classes/InitializationState.html":{}}}],["define",{"_index":1242,"title":{},"body":{"interfaces/DocumentationContent.html":{}}}],["defined",{"_index":38,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["definition",{"_index":1116,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.html",{"_index":1419,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.url",{"_index":1418,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["degree",{"_index":2628,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["delay",{"_index":1936,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(200",{"_index":2012,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(5",{"_index":2019,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delta",{"_index":373,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["demo",{"_index":3665,"title":{},"body":{"changelog.html":{}}}],["depend",{"_index":1394,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["dependencies",{"_index":536,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":3723,"title":{},"body":{"changelog.html":{}}}],["deps",{"_index":752,"title":{},"body":{"modules/ConfigModule.html":{}}}],["depth",{"_index":663,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["descendants",{"_index":797,"title":{},"body":{"components/ContainerComponent.html":{}}}],["descrepancies",{"_index":3563,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":11,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["destroy",{"_index":3177,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destroyed",{"_index":3241,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destruction",{"_index":3224,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["detaches",{"_index":884,"title":{},"body":{"components/ContentComponent.html":{}}}],["details",{"_index":483,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["detailslabelcomponent",{"_index":482,"title":{"components/DetailsLabelComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["detailslabelmodule",{"_index":1234,"title":{"modules/DetailsLabelModule.html":{}},"body":{"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["detailslabels",{"_index":1719,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["detection",{"_index":781,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["detector",{"_index":774,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["determines",{"_index":1287,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/TagSearchComponent.html":{}}}],["dev",{"_index":973,"title":{},"body":{"components/ContentComponent.html":{}}}],["developed",{"_index":4157,"title":{},"body":{"index.html":{}}}],["development",{"_index":2175,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["developmentmode",{"_index":3117,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":3920,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1247,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["dialog's",{"_index":2710,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["dialogref",{"_index":2327,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["dialogref.afterclosed().subscribe",{"_index":2695,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["dialogref.disableclose",{"_index":2358,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["dialogue",{"_index":2670,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["different",{"_index":1612,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{}}}],["digits",{"_index":3814,"title":{},"body":{"changelog.html":{}}}],["dimension",{"_index":688,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["dimension_units",{"_index":2610,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["dimensions",{"_index":662,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["dims",{"_index":945,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.x",{"_index":2038,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.y",{"_index":2040,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.z",{"_index":2041,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims[0",{"_index":950,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[1",{"_index":952,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[2",{"_index":956,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[i",{"_index":2946,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["direct",{"_index":3938,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":402,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["directive",{"_index":470,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directives",{"_index":531,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directly",{"_index":3869,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":123,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["disabled",{"_index":1677,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"components/VisibilityToggleComponent.html":{}}}],["disablepositionchange",{"_index":218,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disables",{"_index":255,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disableslider",{"_index":1730,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["display",{"_index":400,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["displayed",{"_index":304,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["displayerrors",{"_index":2413,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{}}}],["displaying",{"_index":972,"title":{},"body":{"components/ContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["distinctuntilchanged",{"_index":1937,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilchanged((v1",{"_index":1987,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilkeychanged",{"_index":936,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('x",{"_index":907,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('y",{"_index":908,"title":{},"body":{"components/ContentComponent.html":{}}}],["distribute",{"_index":4186,"title":{},"body":{"license.html":{}}}],["div",{"_index":3536,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["divider",{"_index":1800,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["dobootstrap",{"_index":555,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":3906,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":3579,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":3046,"title":{},"body":{"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"dependencies.html":{}}}],["document.getelementsbyclassname('modal",{"_index":2722,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["document:click",{"_index":234,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:click(target",{"_index":252,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:keydown",{"_index":235,"title":{},"body":{"components/AppComponent.html":{}}}],["document:keydown(target",{"_index":264,"title":{},"body":{"components/AppComponent.html":{}}}],["documentation",{"_index":1244,"title":{},"body":{"interfaces/DocumentationContent.html":{},"changelog.html":{},"coverage.html":{},"license.html":{}}}],["documentationcontent",{"_index":1240,"title":{"interfaces/DocumentationContent.html":{}},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["dom",{"_index":201,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["domsanitizer",{"_index":1382,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["don't",{"_index":1393,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["done",{"_index":3535,"title":{},"body":{"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["donor",{"_index":1794,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"changelog.html":{}}}],["donors",{"_index":3765,"title":{},"body":{"changelog.html":{}}}],["dot",{"_index":2755,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["dotenv",{"_index":4066,"title":{},"body":{"dependencies.html":{}}}],["down",{"_index":3038,"title":{},"body":{"components/StageNavComponent.html":{}}}],["download",{"_index":962,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"changelog.html":{}}}],["downloads",{"_index":2445,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["draft",{"_index":2971,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draftplacement",{"_index":2963,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draggable",{"_index":2786,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["drawer",{"_index":300,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["drawer'},{'name",{"_index":486,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["drawer.close",{"_index":3395,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.closeexpanded",{"_index":3394,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.component.html",{"_index":1496,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.component.scss",{"_index":1497,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.open",{"_index":3396,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.position",{"_index":852,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawer/drawer.component",{"_index":818,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{}}}],["drawercomponent",{"_index":485,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["drawercomponent).position",{"_index":1036,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["drawercontainerschanged",{"_index":1058,"title":{"interfaces/DrawerContainersChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawerinitialized",{"_index":1065,"title":{"interfaces/DrawerInitialized.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawermodule",{"_index":542,"title":{"modules/DrawerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules.html":{},"overview.html":{}}}],["drawerpayload",{"_index":1069,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["drawers",{"_index":765,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["drawers.filter(drawer",{"_index":851,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawertoggled",{"_index":1066,"title":{"interfaces/DrawerToggled.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drop",{"_index":3037,"title":{},"body":{"components/StageNavComponent.html":{}}}],["dropdown",{"_index":1269,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{}}}],["dropdown'},{'name",{"_index":489,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["dropdown.component",{"_index":1328,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown.component.html",{"_index":1272,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.scss",{"_index":1271,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts",{"_index":1268,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"coverage.html":{}}}],["dropdown.component.ts:18",{"_index":1283,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:23",{"_index":1280,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:28",{"_index":1278,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:33",{"_index":1277,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:47",{"_index":1285,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:58",{"_index":1286,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.module",{"_index":1827,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["dropdown.module.ts",{"_index":1325,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown/extraction",{"_index":1267,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["dropdowncontainer",{"_index":3087,"title":{},"body":{"components/StageNavComponent.html":{}}}],["duration",{"_index":362,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent-1.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{}}}],["during",{"_index":3338,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["dynamic",{"_index":4025,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":3557,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":385,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["each",{"_index":1243,"title":{},"body":{"interfaces/DocumentationContent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["ease",{"_index":423,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["easier",{"_index":3605,"title":{},"body":{"changelog.html":{}}}],["easily",{"_index":2802,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ececec",{"_index":455,"title":{},"body":{"components/AppComponent.html":{}}}],["editregistration",{"_index":610,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{}}}],["editregistration(reg",{"_index":2437,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["effect",{"_index":3854,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":3784,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":243,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["element",{"_index":260,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["element's",{"_index":1639,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["element.getboundingclientrect",{"_index":1546,"title":{},"body":{"classes/InitializationState.html":{}}}],["element.nativeelement",{"_index":3367,"title":{},"body":{"injectables/ThemingService.html":{}}}],["elementref",{"_index":244,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["ellipsis",{"_index":3515,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["embedded",{"_index":3687,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":3682,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":3680,"title":{},"body":{"changelog.html":{}}}],["emit",{"_index":2804,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["emits",{"_index":1281,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitted",{"_index":680,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["emitter",{"_index":681,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitting",{"_index":1527,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["empty",{"_index":128,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["empty_result",{"_index":3247,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["enabled",{"_index":998,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enables",{"_index":2783,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["end",{"_index":828,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["end?.expanded",{"_index":1047,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["end?.opened",{"_index":1046,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enddrawers",{"_index":853,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers.length",{"_index":856,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers[0",{"_index":859,"title":{},"body":{"components/ContainerComponent.html":{}}}],["endexpanded",{"_index":1045,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["endings",{"_index":2569,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["entered",{"_index":2340,"title":{},"body":{"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entererrormode",{"_index":2650,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entering",{"_index":674,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entire",{"_index":3109,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entity",{"_index":2075,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.comment",{"_index":2081,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.label",{"_index":2080,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.placement",{"_index":2941,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.placement[0",{"_index":2940,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.representation_of",{"_index":2077,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.sex?.tolowercase",{"_index":2225,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side?.tolowercase",{"_index":2226,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.y_dimension",{"_index":2949,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.z_dimension].map(n",{"_index":2950,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity['@id",{"_index":2078,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entitycollections",{"_index":101,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["entry",{"_index":2109,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{}}}],["entry.value",{"_index":2684,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entrycomponents",{"_index":551,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":639,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.customization",{"_index":650,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions",{"_index":648,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.googleanalyticstoken",{"_index":1104,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":930,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.skipunsavedchangesconfirmation",{"_index":2278,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["environments/environment",{"_index":640,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["error",{"_index":822,"title":{},"body":{"components/ContainerComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["error('the",{"_index":1108,"title":{},"body":{"modules/CoreModule.html":{}}}],["error(`multiple",{"_index":831,"title":{},"body":{"components/ContainerComponent.html":{}}}],["errors",{"_index":820,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["es",{"_index":2879,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["eslint",{"_index":122,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/consistent",{"_index":1957,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/member",{"_index":1950,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/naming",{"_index":1073,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/no",{"_index":127,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/prefer",{"_index":2212,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{}}}],["etc",{"_index":1068,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["eui",{"_index":3594,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":3619,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":263,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"license.html":{}}}],["event'])@hostlistener('window:focusin",{"_index":3212,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["event.firstname.length",{"_index":2362,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.lastname.length",{"_index":2363,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.preventdefault",{"_index":2305,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["event.returnvalue",{"_index":2306,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["event.target",{"_index":251,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["eventemitter",{"_index":664,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["eventemitter(true",{"_index":1529,"title":{},"body":{"classes/InitializationState.html":{}}}],["events",{"_index":2373,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["except",{"_index":1868,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"modules/StoreModule.html":{}}}],["executes",{"_index":3215,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch",{"_index":3182,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch(text",{"_index":3213,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executionstrategy",{"_index":3120,"title":{},"body":{"modules/StoreModule.html":{}}}],["expand",{"_index":439,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["expand/collapse",{"_index":1585,"title":{},"body":{"classes/InitializationState.html":{}}}],["expand_collapse_params_default",{"_index":1488,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["expandcollapsedone",{"_index":1587,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded",{"_index":425,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["expanded(value",{"_index":1524,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded/collapsed",{"_index":1479,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedchange",{"_index":1530,"title":{},"body":{"classes/InitializationState.html":{}}}],["expandedstate",{"_index":1480,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstate2",{"_index":1482,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstateobj",{"_index":1536,"title":{},"body":{"classes/InitializationState.html":{}}}],["expands",{"_index":1572,"title":{},"body":{"classes/InitializationState.html":{}}}],["expansion",{"_index":1803,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["expected",{"_index":2719,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["experimentation",{"_index":2749,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["explicit",{"_index":2447,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["exploration",{"_index":4131,"title":{},"body":{"index.html":{}}}],["export",{"_index":130,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["exportas",{"_index":756,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["exports",{"_index":735,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["express",{"_index":4068,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["ext/operators",{"_index":1932,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extended",{"_index":1485,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["extends",{"_index":16,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["external",{"_index":83,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["extra",{"_index":4072,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":488,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["extraction_set_dropdown",{"_index":1294,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionset",{"_index":1258,"title":{"interfaces/ExtractionSet.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["extractionsetchanged",{"_index":1274,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetchanged(value",{"_index":1284,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetdropdowncomponent",{"_index":487,"title":{"components/ExtractionSetDropdownComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["extractionsetdropdownmodule",{"_index":1321,"title":{"modules/ExtractionSetDropdownModule.html":{}},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["extractionsets",{"_index":1917,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsites",{"_index":1918,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsitetooltip",{"_index":1720,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["extracts",{"_index":3227,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["eye",{"_index":1143,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye.svg",{"_index":1144,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1173,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f.svg",{"_index":1174,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["factor",{"_index":2150,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["factory",{"_index":1859,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":2724,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["faded",{"_index":982,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fadeinout",{"_index":987,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fail",{"_index":3832,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":3858,"title":{},"body":{"changelog.html":{}}}],["fallopian",{"_index":1145,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["false",{"_index":287,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["false=right",{"_index":1692,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["favor",{"_index":3824,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":3554,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":3755,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":3782,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":1336,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["fetch",{"_index":1129,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["fetched",{"_index":2502,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetched]).pipe",{"_index":2506,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetchpreviousregistrations",{"_index":611,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["fetchpreviousregistrationscallback",{"_index":623,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["field",{"_index":561,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["fields",{"_index":2733,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/TagSearchComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"dependencies.html":{}}}],["fileinput",{"_index":1623,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement",{"_index":1648,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement.click",{"_index":1650,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader",{"_index":1653,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.onload",{"_index":1654,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.readastext(file",{"_index":1660,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["files",{"_index":1632,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"license.html":{}}}],["fill",{"_index":1362,"title":{},"body":{"components/HeaderComponent.html":{}}}],["filler",{"_index":728,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["filter",{"_index":1849,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["filter(([_nodes",{"_index":2928,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter((node",{"_index":2920,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(as",{"_index":186,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["filter(def",{"_index":1395,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["filter(e",{"_index":2955,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(item",{"_index":2546,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(key",{"_index":1981,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filter(started",{"_index":2017,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filtered",{"_index":1872,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["filternulls",{"_index":1930,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filters",{"_index":3565,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":3826,"title":{},"body":{"changelog.html":{}}}],["finished",{"_index":1063,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["finishing",{"_index":3664,"title":{},"body":{"changelog.html":{}}}],["fired",{"_index":3049,"title":{},"body":{"components/StageNavComponent.html":{}}}],["first",{"_index":2113,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["firstname",{"_index":334,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["firstnamevalidator",{"_index":2100,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["fit",{"_index":3428,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":4205,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":3745,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":3581,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":3878,"title":{},"body":{"changelog.html":{}}}],["flex",{"_index":401,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["flexible",{"_index":3575,"title":{},"body":{"changelog.html":{}}}],["float",{"_index":2734,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["floatlabel",{"_index":594,"title":{},"body":{"modules/AppModule.html":{}}}],["fly",{"_index":3946,"title":{},"body":{"changelog.html":{}}}],["focused",{"_index":2818,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["focusin",{"_index":3189,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["following",{"_index":4194,"title":{},"body":{"license.html":{}}}],["font",{"_index":408,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["footer",{"_index":2735,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["foreach(def",{"_index":1400,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["form",{"_index":1313,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["format",{"_index":2433,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["formatted",{"_index":1227,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["formcontrol",{"_index":2110,"title":{},"body":{"components/NameInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{}}}],["formsmodule",{"_index":2133,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["found",{"_index":2748,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["frame",{"_index":3766,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":3548,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["free",{"_index":4175,"title":{},"body":{"license.html":{}}}],["from(fetch(url)).pipe",{"_index":2186,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["from(search(text",{"_index":3283,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["fs",{"_index":4071,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1486,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["fullscreen",{"_index":3903,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":3756,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":466,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["functions",{"_index":4118,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":4163,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":4193,"title":{},"body":{"license.html":{}}}],["further",{"_index":3899,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":3746,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":683,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["gatoken",{"_index":1103,"title":{},"body":{"modules/CoreModule.html":{}}}],["general",{"_index":2228,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["generate",{"_index":3600,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":3623,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":3558,"title":{},"body":{"changelog.html":{}}}],["generic",{"_index":1672,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["genericmessage",{"_index":1054,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessagechannel",{"_index":1055,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessageservice",{"_index":1056,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["getarguments",{"_index":1440,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getarguments(undefined",{"_index":1445,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getclassend",{"_index":3385,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getcontent",{"_index":808,"title":{},"body":{"components/ContainerComponent.html":{}}}],["getcurrentdate",{"_index":2477,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getcurrentidentifier",{"_index":2474,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getdisabled",{"_index":2675,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["getglobalskipconfirmation",{"_index":2264,"title":{},"body":{"injectables/PageState.html":{}}}],["gethaschanges",{"_index":2266,"title":{},"body":{"injectables/PageState.html":{}}}],["gethasthicknessvalue",{"_index":3003,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["gethaswrappedcontent",{"_index":811,"title":{},"body":{"components/ContainerComponent.html":{}}}],["geticon",{"_index":3386,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getid",{"_index":3465,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getid(_index",{"_index":3478,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getislighttheme",{"_index":319,"title":{},"body":{"components/AppComponent.html":{}}}],["getisvalid",{"_index":2481,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getjsonld",{"_index":2468,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getlabelel",{"_index":3062,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getlatesttags",{"_index":97,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getleft",{"_index":1693,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["getmessages",{"_index":1870,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsource",{"_index":1894,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsource(source",{"_index":1873,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsources",{"_index":1895,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsources(sources",{"_index":1877,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmetadata",{"_index":2466,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getmethodname",{"_index":1431,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getmethodname(undefined",{"_index":1447,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getname",{"_index":2116,"title":{},"body":{"components/NameInputComponent.html":{}}}],["getnodebbox",{"_index":3991,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(model",{"_index":2883,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(placement[0",{"_index":2931,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["getnodecollisions",{"_index":2867,"title":{},"body":{"injectables/SceneState.html":{}}}],["getnodes",{"_index":2858,"title":{},"body":{"injectables/SceneState.html":{}}}],["getoptionsel",{"_index":3066,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getorgandata",{"_index":2310,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getorgandata(iri",{"_index":2221,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getplacementcube",{"_index":2871,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrationnodes",{"_index":2869,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrations",{"_index":2472,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getreferenceorganiri",{"_index":2311,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getreferenceorganiri(organ",{"_index":2208,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getreferenceorgannodes",{"_index":2862,"title":{},"body":{"injectables/SceneState.html":{}}}],["getreferenceorgansimplenodes",{"_index":2865,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotatednodes",{"_index":2860,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotation",{"_index":2874,"title":{},"body":{"injectables/SceneState.html":{}}}],["gets",{"_index":1470,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["getskipconfirmation",{"_index":2262,"title":{},"body":{"injectables/PageState.html":{}}}],["getsourcedb",{"_index":2180,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["gettags",{"_index":94,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getter/setter",{"_index":1517,"title":{},"body":{"classes/InitializationState.html":{}}}],["gettheme",{"_index":3324,"title":{},"body":{"injectables/ThemingService.html":{}}}],["getting",{"_index":3544,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["getupdatedcheckedresults",{"_index":3183,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getupdatedcheckedresults(result",{"_index":3217,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getvalid",{"_index":2470,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["github",{"_index":3816,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1862,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["given",{"_index":1226,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{}}}],["gizmo",{"_index":967,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["global",{"_index":14,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/variables.html":{}}}],["global_config",{"_index":748,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":245,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["globalconfig.getoption('fetchpreviousregistrations').pipe",{"_index":2503,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["globalconfigfactory",{"_index":749,"title":{},"body":{"modules/ConfigModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["globalconfigfactory(globals",{"_index":1340,"title":{},"body":{"interfaces/GlobalConfig.html":{},"miscellaneous/functions.html":{}}}],["globalconfigstate",{"_index":246,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["globally",{"_index":2177,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globals",{"_index":2172,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["globals.get('ruiconfig",{"_index":1341,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["globalskipconfirmation",{"_index":2237,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["globalsservice",{"_index":747,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globalthis.getcomputedstyle(element",{"_index":1554,"title":{},"body":{"classes/InitializationState.html":{}}}],["globalthis['ruiconfig",{"_index":649,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":3855,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":669,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":667,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["granted",{"_index":4174,"title":{},"body":{"license.html":{}}}],["graph",{"_index":4221,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":3590,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":4074,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":3674,"title":{},"body":{"changelog.html":{}}}],["group",{"_index":3085,"title":{},"body":{"components/StageNavComponent.html":{}}}],["grow",{"_index":729,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["gtex",{"_index":3601,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":3851,"title":{},"body":{"changelog.html":{}}}],["half",{"_index":1484,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["hand",{"_index":1125,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["handleclick",{"_index":228,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["handleclick(target",{"_index":272,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["handlefile",{"_index":1624,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlefile(event",{"_index":1635,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlekey",{"_index":229,"title":{},"body":{"components/AppComponent.html":{}}}],["handlekey(target",{"_index":274,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["handlemessage",{"_index":766,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{}}}],["handlemessage(_msg",{"_index":776,"title":{},"body":{"components/ContainerComponent.html":{}}}],["handlemessage(msg",{"_index":1001,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["handlenodedrag",{"_index":872,"title":{},"body":{"components/ContentComponent.html":{}}}],["handlenodedrag(event",{"_index":880,"title":{},"body":{"components/ContentComponent.html":{}}}],["handler",{"_index":1641,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["handles",{"_index":1224,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["handling",{"_index":1385,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["happen",{"_index":3885,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":3833,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":3113,"title":{},"body":{"modules/StoreModule.html":{}}}],["haschanges",{"_index":2238,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["hascheckedtags",{"_index":3184,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hasthicknessvalue",{"_index":2982,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["haswrappedcontent",{"_index":769,"title":{},"body":{"components/ContainerComponent.html":{}}}],["header",{"_index":219,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{}}}],["header'},{'name",{"_index":491,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["header.component",{"_index":1374,"title":{},"body":{"modules/HeaderModule.html":{}}}],["header.component.html",{"_index":1344,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header.component.scss",{"_index":1343,"title":{},"body":{"components/HeaderComponent.html":{}}}],["headercomponent",{"_index":490,"title":{"components/HeaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["headermodule",{"_index":543,"title":{"modules/HeaderModule.html":{}},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules.html":{},"overview.html":{}}}],["heart",{"_index":1149,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["heart.svg",{"_index":1150,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":404,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["helmet",{"_index":4079,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":3850,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":61,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/functions.html":{}}}],["here",{"_index":168,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["hereby",{"_index":4173,"title":{},"body":{"license.html":{}}}],["hex",{"_index":4081,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":407,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hiderequiredmarker",{"_index":595,"title":{},"body":{"modules/AppModule.html":{}}}],["hides",{"_index":912,"title":{},"body":{"components/ContentComponent.html":{}}}],["highlight",{"_index":3654,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":3460,"title":{},"body":{"interfaces/VisibilityItem.html":{},"changelog.html":{}}}],["highlights",{"_index":3655,"title":{},"body":{"changelog.html":{}}}],["hint",{"_index":81,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["holders",{"_index":4210,"title":{},"body":{"license.html":{}}}],["home",{"_index":1359,"title":{},"body":{"components/HeaderComponent.html":{}}}],["homeurl",{"_index":220,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["hooked",{"_index":3789,"title":{},"body":{"changelog.html":{}}}],["horizontal",{"_index":2821,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["host",{"_index":399,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":665,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('@expandcollapse",{"_index":1535,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('@fadeinout",{"_index":1016,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('@openclose",{"_index":1534,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('class",{"_index":677,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('class.ccf",{"_index":1512,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["hostbinding('class.cff",{"_index":1012,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('style.margin",{"_index":1017,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbindings",{"_index":705,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostlistener",{"_index":322,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('@expandcollapse.done",{"_index":1586,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('@openclose.done",{"_index":1582,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('click",{"_index":3275,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('click')@hostlistener('focusin",{"_index":3225,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('document:click",{"_index":273,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('document:keydown",{"_index":275,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["hostlistener('focusin",{"_index":3276,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:click",{"_index":3211,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:focusin",{"_index":3278,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlisteners",{"_index":233,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["hover",{"_index":454,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovered",{"_index":1773,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovering",{"_index":3714,"title":{},"body":{"changelog.html":{}}}],["html",{"_index":469,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["htmlelement",{"_index":253,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["htmlinputelement",{"_index":693,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["htmlscriptelement",{"_index":3423,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier",{"_index":2590,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier}_placement",{"_index":2611,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhmaleorgans_vhm_spleen_colic_surface",{"_index":2843,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["httpclientmodule",{"_index":1094,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":4134,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":4145,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":4138,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":2845,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"index.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":2587,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["https://old",{"_index":4140,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":4136,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":3940,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":3121,"title":{},"body":{"modules/StoreModule.html":{}}}],["https://www.youtube.com/iframe_api",{"_index":3425,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["hubmap",{"_index":591,"title":{},"body":{"modules/AppModule.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["i18nplural:countmapping",{"_index":3296,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["icon",{"_index":441,"title":{},"body":{"components/AppComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["icon.add",{"_index":2746,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["icon.name",{"_index":1405,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icon.namespace",{"_index":1406,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icondefinition",{"_index":1375,"title":{"interfaces/IconDefinition.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["iconregistry",{"_index":1386,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["iconregistrystate",{"_index":1387,"title":{"injectables/IconRegistryState.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["icons",{"_index":1130,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["icons.ts",{"_index":1114,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["id",{"_index":155,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["idb",{"_index":4084,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1843,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["identifiers",{"_index":4235,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["idmatches(ontologyid",{"_index":2020,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iec",{"_index":3829,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":3411,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["ignoredkeys",{"_index":1979,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ignoredkeys.includes(key",{"_index":1982,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iif",{"_index":2268,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["iif(!!config.user",{"_index":2285,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["image",{"_index":3823,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":3867,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":2138,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["implementation",{"_index":60,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["implemented",{"_index":3788,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":3905,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":205,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["implied",{"_index":4202,"title":{},"body":{"license.html":{}}}],["implies",{"_index":1067,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["import",{"_index":99,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["important",{"_index":458,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["imported",{"_index":1109,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["imports",{"_index":552,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["improve",{"_index":3783,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":3617,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":3586,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":3675,"title":{},"body":{"changelog.html":{}}}],["in's",{"_index":1755,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["include",{"_index":3837,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":4197,"title":{},"body":{"license.html":{}}}],["includes",{"_index":3555,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":3653,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":3811,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":3901,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":18,"title":{"index.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indiana",{"_index":4161,"title":{},"body":{"index.html":{}}}],["indicator",{"_index":1806,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["individual",{"_index":3793,"title":{},"body":{"changelog.html":{}}}],["infinity",{"_index":364,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["infix",{"_index":3301,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["info",{"_index":3,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["infobuttonmodule",{"_index":2778,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["information",{"_index":891,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":3870,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":3839,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":3416,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["initial",{"_index":307,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["initialconfig",{"_index":647,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":645,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialization",{"_index":1558,"title":{},"body":{"classes/InitializationState.html":{}}}],["initializationstate",{"_index":1452,"title":{"classes/InitializationState.html":{}},"body":{"classes/InitializationState.html":{},"coverage.html":{}}}],["initialize",{"_index":3325,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(component",{"_index":3334,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(element",{"_index":3340,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialized",{"_index":606,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["initializer",{"_index":3337,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initializes",{"_index":65,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["initializing",{"_index":1064,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["initskipconfirmationlisteners",{"_index":2232,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["inject",{"_index":1847,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["inject(default_theme",{"_index":3357,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inject(document",{"_index":3419,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["inject(mat_dialog_data",{"_index":2714,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["injectable",{"_index":0,"title":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["injectables",{"_index":2,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{},"overview.html":{}}}],["injected",{"_index":2712,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["injecting",{"_index":164,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["injectiontoken",{"_index":1332,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('default",{"_index":3353,"title":{},"body":{"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":37,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["injector.get(overlaycontainer",{"_index":3368,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(renderer2",{"_index":3366,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(themingservice",{"_index":3355,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inline",{"_index":2756,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["input",{"_index":259,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input'},{'name",{"_index":477,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input.component",{"_index":744,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.component.html",{"_index":675,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.scss",{"_index":676,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.ts",{"_index":658,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input.component.ts:31",{"_index":3000,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:35",{"_index":709,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:36",{"_index":2998,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:40",{"_index":708,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:41",{"_index":2999,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:44",{"_index":2114,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:45",{"_index":707,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:46",{"_index":3004,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:48",{"_index":2997,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:50",{"_index":2106,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:54",{"_index":2118,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:60",{"_index":711,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:63",{"_index":3002,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:68",{"_index":2104,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:70",{"_index":710,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:73",{"_index":3001,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:83",{"_index":2108,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.module",{"_index":1832,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RightSidebarModule.html":{}}}],["input.module.ts",{"_index":734,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.target",{"_index":692,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input/block",{"_index":657,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input/name",{"_index":1831,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["input/slices",{"_index":2770,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input[type=number",{"_index":714,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["inputarray",{"_index":1228,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputarray.join",{"_index":1231,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputevent",{"_index":685,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputs",{"_index":607,"title":{},"body":{"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["inputtarget",{"_index":691,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputtarget.files",{"_index":1651,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.files[0",{"_index":1652,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.value",{"_index":695,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputted",{"_index":2661,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["inputting",{"_index":2097,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["insertitem",{"_index":2483,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["insertitem(registration",{"_index":2551,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["inside",{"_index":1248,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["instance",{"_index":41,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["instanceof",{"_index":3279,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["instant",{"_index":1478,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["instead",{"_index":3039,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["instructions",{"_index":3681,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":3757,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":3650,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":3838,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":3770,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":3740,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":3888,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":3937,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":129,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":195,"title":{},"body":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":3822,"title":{},"body":{"changelog.html":{}}}],["interval",{"_index":3249,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["interval(this.searchthrottle",{"_index":3257,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["intestine",{"_index":1156,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["intestine.svg",{"_index":1157,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["invisible",{"_index":995,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["iri",{"_index":149,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iris",{"_index":2543,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["iris.has(item.id",{"_index":2547,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["is3dview",{"_index":868,"title":{},"body":{"components/ContentComponent.html":{}}}],["isdatavalid",{"_index":2418,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["isdatavalid(page",{"_index":2440,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["isdropdownactive",{"_index":3021,"title":{},"body":{"components/StageNavComponent.html":{}}}],["isdropdownhidden",{"_index":3022,"title":{},"body":{"components/StageNavComponent.html":{}}}],["islighttheme",{"_index":236,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["ismultiple",{"_index":1275,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["isnan(this.slicesconfig.thickness",{"_index":2983,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["isnarrowview",{"_index":869,"title":{},"body":{"components/ContentComponent.html":{}}}],["isolated",{"_index":1855,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["issue",{"_index":3807,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":3560,"title":{},"body":{"changelog.html":{}}}],["isvalid",{"_index":2426,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["it's",{"_index":3648,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1265,"title":{},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["item.id",{"_index":2549,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.name",{"_index":2550,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.opacity",{"_index":2917,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["item.tooltip",{"_index":1788,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["item.ts",{"_index":3459,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["item.visible",{"_index":2916,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item?.tooltip",{"_index":1786,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["items",{"_index":445,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["items.length",{"_index":3287,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["items.slice(0",{"_index":3288,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["itemschange",{"_index":3472,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["iu",{"_index":3918,"title":{},"body":{"changelog.html":{}}}],["javascript",{"_index":3611,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["join",{"_index":1229,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["json",{"_index":493,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["json.parse(filereader.result",{"_index":1655,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["json.stringify(jsonobj",{"_index":2564,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["json_file_reader",{"_index":1657,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["jsonfilereadercomponent",{"_index":492,"title":{"components/JsonFileReaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["jsonfilereadermodule",{"_index":1661,"title":{"modules/JsonFileReaderModule.html":{}},"body":{"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["jsonld",{"_index":2422,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["jsonobj",{"_index":2560,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["july",{"_index":3887,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":3924,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":433,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["keeps",{"_index":1771,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["key",{"_index":687,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{}}}],["keyboard",{"_index":271,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["keyboardevent",{"_index":265,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["keys",{"_index":269,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["keyval",{"_index":4085,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1151,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney.svg",{"_index":1152,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":4201,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1153,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["knee.svg",{"_index":1154,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":3559,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":3831,"title":{},"body":{"changelog.html":{}}}],["l",{"_index":1739,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["label",{"_index":156,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["label'},{'name",{"_index":484,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["label.component",{"_index":1239,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label.component.html",{"_index":1218,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.scss",{"_index":1217,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts",{"_index":1209,"title":{},"body":{"components/DetailsLabelComponent.html":{},"coverage.html":{}}}],["label.component.ts:15",{"_index":1221,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:20",{"_index":1220,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:29",{"_index":1223,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.module",{"_index":1825,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["label.module.ts",{"_index":1238,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label/details",{"_index":1208,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["labeled",{"_index":496,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["labeledslidetogglecomponent",{"_index":495,"title":{"components/LabeledSlideToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["labeledslidetogglemodule",{"_index":1706,"title":{"modules/LabeledSlideToggleModule.html":{}},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["labelel",{"_index":3031,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelel.contains(target",{"_index":3073,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelref",{"_index":3023,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labels",{"_index":1678,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0",{"_index":1702,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0]}}{{labels[1",{"_index":1705,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[1",{"_index":1695,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labs/data",{"_index":3101,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/data/decorators",{"_index":108,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/data/repositories",{"_index":109,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/dispatch",{"_index":4046,"title":{},"body":{"dependencies.html":{}}}],["landmark",{"_index":1298,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["landmarks",{"_index":1796,"title":{},"body":{"components/LeftSidebarComponent.html":{},"changelog.html":{}}}],["large",{"_index":1155,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":3606,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":2115,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{}}}],["lastname",{"_index":335,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["lastnamevalidator",{"_index":2101,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["latest",{"_index":3570,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["latesttags",{"_index":34,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["launch",{"_index":2642,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launcher",{"_index":3432,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher'},{'name",{"_index":526,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["launcher.component",{"_index":3451,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher.component.html",{"_index":3434,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.scss",{"_index":3433,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts",{"_index":3430,"title":{},"body":{"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["launcher.component.ts:17",{"_index":3437,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:22",{"_index":3436,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:32",{"_index":3438,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.module",{"_index":1088,"title":{},"body":{"modules/ContentModule.html":{}}}],["launcher.module.ts",{"_index":3450,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher/video",{"_index":1087,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"coverage.html":{}}}],["launches",{"_index":3439,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launching",{"_index":3431,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launchreviewmodal",{"_index":2647,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launchvideomodal",{"_index":3435,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["layers",{"_index":4032,"title":{},"body":{"dependencies.html":{}}}],["lazy",{"_index":49,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ld",{"_index":3848,"title":{},"body":{"changelog.html":{}}}],["leading",{"_index":1985,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["leak",{"_index":3806,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":3663,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":450,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["left.px",{"_index":990,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["left.svg",{"_index":1147,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":3672,"title":{},"body":{"changelog.html":{}}}],["leftmargin",{"_index":983,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["leftsidebarcomponent",{"_index":499,"title":{"components/LeftSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["leftsidebarmodule",{"_index":544,"title":{"modules/LeftSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["legend",{"_index":468,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["length",{"_index":2985,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["level",{"_index":3362,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["levels",{"_index":3934,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":4214,"title":{},"body":{"license.html":{}}}],["liable",{"_index":4211,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":3609,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":3777,"title":{},"body":{"changelog.html":{}}}],["library/assets/body4mesh_1338.glb",{"_index":2846,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["license",{"_index":4167,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":3659,"title":{},"body":{"changelog.html":{}}}],["light",{"_index":284,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["lighter",{"_index":1356,"title":{},"body":{"components/HeaderComponent.html":{}}}],["limit",{"_index":70,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["limitation",{"_index":4181,"title":{},"body":{"license.html":{}}}],["limited",{"_index":3874,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["limits",{"_index":2984,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["line",{"_index":125,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["link",{"_index":1357,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":3889,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":3577,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":3636,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":2753,"title":{},"body":{"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":518,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["list.component",{"_index":3168,"title":{},"body":{"modules/TagListModule.html":{}}}],["list.component.html",{"_index":3136,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.scss",{"_index":3135,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts",{"_index":3133,"title":{},"body":{"components/TagListComponent.html":{},"coverage.html":{}}}],["list.component.ts:18",{"_index":3143,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:23",{"_index":3141,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:28",{"_index":3142,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:33",{"_index":3140,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:49",{"_index":3150,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:53",{"_index":3148,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:62",{"_index":3144,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.module",{"_index":2773,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["list.module.ts",{"_index":3165,"title":{},"body":{"modules/TagListModule.html":{}}}],["list/tag",{"_index":2772,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"coverage.html":{}}}],["listen",{"_index":1853,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listener",{"_index":1580,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listeners",{"_index":786,"title":{},"body":{"components/ContainerComponent.html":{}}}],["listens",{"_index":3045,"title":{},"body":{"components/StageNavComponent.html":{}}}],["literal",{"_index":1331,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ReferenceDataStateModel.html":{},"dependencies.html":{}}}],["little",{"_index":3738,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1158,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["liver.svg",{"_index":1159,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":50,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["loaded",{"_index":1117,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":4036,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":4038,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":4039,"title":{},"body":{"dependencies.html":{}}}],["loads",{"_index":3410,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["loadyoutubeplayerapi",{"_index":3406,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["local",{"_index":2508,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["located",{"_index":1511,"title":{},"body":{"classes/InitializationState.html":{}}}],["location",{"_index":3354,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["lodash",{"_index":1934,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["log",{"_index":4155,"title":{},"body":{"index.html":{}}}],["logger",{"_index":3126,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":3603,"title":{},"body":{"changelog.html":{}}}],["logic",{"_index":1493,"title":{},"body":{"classes/InitializationState.html":{}}}],["logo",{"_index":1367,"title":{},"body":{"components/HeaderComponent.html":{}}}],["logotooltip",{"_index":221,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["longer",{"_index":3722,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1246,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/HeaderComponent.html":{},"changelog.html":{}}}],["looks",{"_index":2206,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lookup",{"_index":2167,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lowerbound",{"_index":2885,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lowerbound[i",{"_index":2894,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lru",{"_index":4089,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":4040,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1160,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lung.svg",{"_index":1161,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1162,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["m",{"_index":3006,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["made",{"_index":2291,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["main",{"_index":754,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["major",{"_index":3553,"title":{},"body":{"changelog.html":{}}}],["make",{"_index":2176,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["makes",{"_index":3490,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["making",{"_index":1747,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["male",{"_index":1335,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["managed",{"_index":312,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["managers",{"_index":3615,"title":{},"body":{"changelog.html":{}}}],["manages",{"_index":3321,"title":{},"body":{"injectables/ThemingService.html":{}}}],["manually",{"_index":1646,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["map",{"_index":114,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{}}}],["map(([_viewtype",{"_index":2960,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([anatomicalstructures",{"_index":2912,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([entities",{"_index":137,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["map(([haschanges",{"_index":2302,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["map(([local",{"_index":2507,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([nodes",{"_index":2930,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([organ",{"_index":1766,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(([organiri",{"_index":2937,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([page",{"_index":2495,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([placement",{"_index":2900,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([rotation",{"_index":2905,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((item",{"_index":2548,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((node",{"_index":2922,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((set",{"_index":2084,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["map((side",{"_index":2973,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(basehref",{"_index":2182,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["map(def",{"_index":1397,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["map(dims",{"_index":898,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(node",{"_index":2977,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(organ",{"_index":1775,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(p",{"_index":924,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(sex",{"_index":1780,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["map(side",{"_index":1783,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(this.truncateresults",{"_index":3285,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["map(type",{"_index":917,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(value",{"_index":2277,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["mapping",{"_index":3237,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["mapto",{"_index":1938,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["mapto(undefined",{"_index":1991,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["march",{"_index":3780,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":969,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["margin2",{"_index":1490,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["markdown",{"_index":4095,"title":{},"body":{"dependencies.html":{}}}],["marrow",{"_index":1139,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["marrow.svg",{"_index":1140,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":1312,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["mat.transformaspoint",{"_index":2886,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat.transformaspoint([1",{"_index":2888,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat_dialog_data",{"_index":2718,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["mat_form_field_default_options",{"_index":559,"title":{},"body":{"modules/AppModule.html":{}}}],["matbuttonmodule",{"_index":1667,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["match",{"_index":2003,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["matcheckboxmodule",{"_index":3309,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["matches",{"_index":184,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["matches.length",{"_index":190,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matches.map((as",{"_index":191,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matching",{"_index":75,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matchipsmodule",{"_index":3166,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["matdialog",{"_index":2386,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matdialogmodule",{"_index":2409,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["matdialogref",{"_index":2334,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["matdividermodule",{"_index":1822,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["material",{"_index":1361,"title":{},"body":{"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matexpansionmodule",{"_index":1820,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["matformfieldmodule",{"_index":3311,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["math.floor(p.x",{"_index":925,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.y",{"_index":926,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.z",{"_index":927,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.gl/core",{"_index":2142,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":4043,"title":{},"body":{"dependencies.html":{}}}],["math.max(dims.x",{"_index":899,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.y",{"_index":903,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.z",{"_index":905,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(n",{"_index":2893,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.min(20",{"_index":2062,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["math.min(n",{"_index":2890,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.round(xyz.x",{"_index":2636,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.y",{"_index":2637,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.z",{"_index":2638,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["maticonmodule",{"_index":562,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["maticonregistry",{"_index":1381,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matinputmodule",{"_index":738,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["matradiomodule",{"_index":3096,"title":{},"body":{"modules/StageNavModule.html":{}}}],["matripplemodule",{"_index":740,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["matrix",{"_index":2192,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix.transformaspoint",{"_index":2198,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix4",{"_index":2140,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["matrix4(matrix4.identity",{"_index":2194,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).rotatey(toradians(rotation)).multiplyright(n.transformmatrix",{"_index":2907,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).scale([2",{"_index":2848,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(model.transformmatrix",{"_index":2884,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matselectmodule",{"_index":1326,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["matslidermodule",{"_index":2829,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["matslidetogglemodule",{"_index":1711,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["matsnackbar",{"_index":240,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["matsnackbarmodule",{"_index":564,"title":{},"body":{"modules/AppModule.html":{}}}],["mattooltipmodule",{"_index":742,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["max",{"_index":976,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["maximum",{"_index":78,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["mc",{"_index":3917,"title":{},"body":{"changelog.html":{}}}],["measured",{"_index":1550,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredmargin",{"_index":1552,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredwidth",{"_index":1542,"title":{},"body":{"classes/InitializationState.html":{}}}],["memory",{"_index":3805,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1804,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["menu'},{'name",{"_index":529,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["menu.component",{"_index":3523,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu.component.html",{"_index":3464,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.scss",{"_index":3463,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts",{"_index":3462,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"coverage.html":{}}}],["menu.component.ts:104",{"_index":3487,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:119",{"_index":3489,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:132",{"_index":3479,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:21",{"_index":3477,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:26",{"_index":3474,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:31",{"_index":3475,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:36",{"_index":3476,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:41",{"_index":3473,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:55",{"_index":3492,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:70",{"_index":3485,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:80",{"_index":3480,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:90",{"_index":3495,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.module",{"_index":1836,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["menu.module.ts",{"_index":3522,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu/visibility",{"_index":1835,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"coverage.html":{}}}],["merchantability",{"_index":4204,"title":{},"body":{"license.html":{}}}],["merge",{"_index":4184,"title":{},"body":{"license.html":{}}}],["mergeall",{"_index":1850,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["message",{"_index":777,"title":{"interfaces/Message.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["message_service_config",{"_index":1253,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["message_service_default_config",{"_index":1254,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagechannel",{"_index":792,"title":{"classes/MessageChannel.html":{}},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["messagechannel(source",{"_index":1893,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messagechannel.counter",{"_index":1880,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messages",{"_index":773,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["messageservice",{"_index":758,"title":{"injectables/MessageService.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["messageservice.connect(this",{"_index":836,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["messageservice.connect(this).getmessages",{"_index":1027,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["messageserviceconfig",{"_index":1852,"title":{"interfaces/MessageServiceConfig.html":{}},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["meta",{"_index":2673,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["metadata",{"_index":208,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["metadatafield",{"_index":1910,"title":{"interfaces/MetaDataField.html":{}},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["meter",{"_index":2154,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["method",{"_index":888,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["method.apply(registry",{"_index":1427,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["methodname",{"_index":1420,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["methods",{"_index":25,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["millimeter",{"_index":2153,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["min",{"_index":1320,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["minor",{"_index":3561,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":4117,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":4168,"title":{},"body":{"license.html":{}}}],["mm",{"_index":712,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["mock",{"_index":3913,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":309,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["modal's",{"_index":2667,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["modal'},{'name",{"_index":504,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["modal.component",{"_index":2408,"title":{},"body":{"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["modal.component.html",{"_index":2383,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.scss",{"_index":2706,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts",{"_index":2381,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"coverage.html":{}}}],["modal.component.ts:15",{"_index":3408,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:21",{"_index":2387,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:22",{"_index":3418,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:23",{"_index":3417,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:26",{"_index":2713,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:29",{"_index":2391,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:30",{"_index":2717,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:35",{"_index":2709,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:37",{"_index":2388,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:44",{"_index":2716,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:45",{"_index":2715,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:46",{"_index":3409,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:54",{"_index":2390,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{}}}],["modal.module",{"_index":584,"title":{},"body":{"modules/AppModule.html":{},"modules/ReviewButtonModule.html":{}}}],["modal.module.ts",{"_index":2407,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["modal.wrapper",{"_index":3429,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal/registration",{"_index":583,"title":{},"body":{"modules/AppModule.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["modal/review",{"_index":2678,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["modal/video",{"_index":1086,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["modalclosed",{"_index":1731,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["mode",{"_index":286,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["model",{"_index":22,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["model.blocksize.x.tofixed(3",{"_index":2605,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.y.tofixed(3",{"_index":2607,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.z.tofixed(3",{"_index":2609,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.label",{"_index":2591,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.name",{"_index":2556,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.organ",{"_index":2557,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.src",{"_index":2555,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organiri",{"_index":2613,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.x.tofixed(3",{"_index":2630,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.y.tofixed(3",{"_index":2632,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.z.tofixed(3",{"_index":2634,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.representation_of",{"_index":150,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model.rotation.x.tofixed(3",{"_index":2621,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.y.tofixed(3",{"_index":2623,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.z.tofixed(3",{"_index":2625,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.numslices",{"_index":2603,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.thickness",{"_index":2601,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.snapshot",{"_index":2562,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.tooltip",{"_index":157,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model/model.state",{"_index":119,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["modelchanged",{"_index":1978,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/anatomical",{"_index":118,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/extraction",{"_index":1945,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/meta",{"_index":2488,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/visibility",{"_index":1946,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["modelstate",{"_index":88,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["modelstatemodel",{"_index":1913,"title":{"interfaces/ModelStateModel.html":{}},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["modification",{"_index":2480,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["modify",{"_index":4183,"title":{},"body":{"license.html":{}}}],["module",{"_index":533,"title":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["modules",{"_index":535,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/content/content.module",{"_index":577,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/header/header.module",{"_index":578,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/left",{"_index":579,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/registration",{"_index":582,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/right",{"_index":585,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":4125,"title":{},"body":{"index.html":{}}}],["more",{"_index":1288,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["mouse",{"_index":3483,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseevent",{"_index":2346,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["mouseout",{"_index":3466,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover",{"_index":3467,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover(item",{"_index":3484,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mousepositiontrackermodule",{"_index":1097,"title":{},"body":{"modules/CoreModule.html":{}}}],["moved",{"_index":3926,"title":{},"body":{"changelog.html":{}}}],["moz",{"_index":715,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ms",{"_index":3253,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["msg",{"_index":1004,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.payload",{"_index":1037,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.drawers",{"_index":1031,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.opened",{"_index":3392,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["msg.payload.type",{"_index":1029,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.source",{"_index":1035,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["much",{"_index":3604,"title":{},"body":{"changelog.html":{}}}],["multi",{"_index":3319,"title":{},"body":{"modules/ThemingModule.html":{}}}],["multiple",{"_index":4126,"title":{},"body":{"index.html":{}}}],["n",{"_index":941,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["n3",{"_index":4090,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":44,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["name(value",{"_index":2123,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["name.endswith(info.organ",{"_index":2224,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["name_input",{"_index":2128,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["namechange",{"_index":2103,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["nameinputcomponent",{"_index":501,"title":{"components/NameInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["nameinputmodule",{"_index":1816,"title":{"modules/NameInputModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules.html":{},"overview.html":{}}}],["namematches(organname",{"_index":2024,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["names",{"_index":3696,"title":{},"body":{"changelog.html":{}}}],["namespace",{"_index":1126,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"miscellaneous/variables.html":{}}}],["namevalid",{"_index":2328,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["nan",{"_index":1961,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["narrow",{"_index":922,"title":{},"body":{"components/ContentComponent.html":{}}}],["native",{"_index":2570,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{}}}],["nav",{"_index":3018,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav'},{'name",{"_index":516,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["nav.component",{"_index":3098,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav.component.html",{"_index":3020,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.scss",{"_index":3019,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts",{"_index":3014,"title":{},"body":{"components/StageNavComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["nav.component.ts:109",{"_index":3054,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:19",{"_index":3043,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:23",{"_index":3036,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:29",{"_index":3034,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:32",{"_index":3040,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:35",{"_index":3041,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:38",{"_index":3042,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:41",{"_index":3058,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:44",{"_index":3060,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:47",{"_index":3055,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:50",{"_index":3056,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:53",{"_index":3063,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:58",{"_index":3067,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:60",{"_index":3033,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:76",{"_index":3044,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:91",{"_index":3051,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.module",{"_index":1085,"title":{},"body":{"modules/ContentModule.html":{}}}],["nav.module.ts",{"_index":3095,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav/stage",{"_index":1084,"title":{},"body":{"modules/ContentModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["navigation",{"_index":3923,"title":{},"body":{"changelog.html":{}}}],["necessary",{"_index":2660,"title":{},"body":{"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["need",{"_index":1121,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{}}}],["needed",{"_index":2986,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["needs",{"_index":782,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["network",{"_index":4159,"title":{},"body":{"index.html":{}}}],["neuron",{"_index":1165,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["neuron.svg",{"_index":1166,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["never",{"_index":829,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["new",{"_index":141,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["newplacement",{"_index":2200,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.x_translation",{"_index":2203,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.y_translation",{"_index":2204,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.z_translation",{"_index":2205,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newposition",{"_index":377,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["newrotation",{"_index":2794,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["newstructures",{"_index":2060,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["next",{"_index":124,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["nextmessageid",{"_index":1879,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["ng",{"_index":1301,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ng5",{"_index":4092,"title":{},"body":{"dependencies.html":{}}}],["ngacceptinputtype_expanded",{"_index":1616,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_opened",{"_index":1615,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_position",{"_index":1614,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngafterviewinit",{"_index":767,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ngdobootstrap",{"_index":553,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":556,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["ngonchanges",{"_index":2648,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ngondestroy",{"_index":230,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["ngoninit",{"_index":231,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["ngx",{"_index":668,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs",{"_index":107,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":3103,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":3106,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/store",{"_index":110,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/store/operators",{"_index":2270,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ngxsdataentitycollectionsrepository",{"_index":17,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ngxsdatapluginmodule",{"_index":3100,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":3115,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatarepository",{"_index":1383,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["ngxsimmutabledatarepository",{"_index":1928,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsloggerpluginmodule",{"_index":3102,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":3127,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":3107,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":3116,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsoninit",{"_index":29,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsstoragepluginmodule",{"_index":3105,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsstoragepluginmodule.forroot",{"_index":3124,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":4164,"title":{},"body":{"index.html":{}}}],["node",{"_index":3280,"title":{},"body":{"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["node.representation_of",{"_index":2921,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodecollisions",{"_index":2836,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodedragevent",{"_index":881,"title":{},"body":{"components/ContentComponent.html":{}}}],["nodes",{"_index":1163,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["nodes.filter((model",{"_index":2932,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.map(n",{"_index":2906,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.svg",{"_index":1164,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["none",{"_index":413,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["noninfringement",{"_index":4208,"title":{},"body":{"license.html":{}}}],["nonnullable",{"_index":641,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["normalizeplacement",{"_index":2312,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["normalizeplacement(place",{"_index":2188,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["not(.cdk",{"_index":2817,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["not(:last",{"_index":725,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["note",{"_index":3752,"title":{},"body":{"changelog.html":{}}}],["nothing",{"_index":2348,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["notice",{"_index":3808,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":3607,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":3086,"title":{},"body":{"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["null",{"_index":1392,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{}}}],["null)?.getcontainerelement",{"_index":3369,"title":{},"body":{"injectables/ThemingService.html":{}}}],["nullish",{"_index":2213,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["number",{"_index":71,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["number(value.slice(0",{"_index":1556,"title":{},"body":{"classes/InitializationState.html":{}}}],["numbersonlymodule",{"_index":3012,"title":{},"body":{"modules/SlicesInputModule.html":{}}}],["numeric",{"_index":3812,"title":{},"body":{"changelog.html":{}}}],["numslices",{"_index":1955,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["o.id",{"_index":2022,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.organ.tolowercase",{"_index":2025,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.side",{"_index":2023,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["obj",{"_index":3155,"title":{},"body":{"components/TagListComponent.html":{}}}],["object",{"_index":1115,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["object.entries(entities).foreach(([id",{"_index":144,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["object.keys(db.organirilookup).find((code",{"_index":2216,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["object.keys(this.initialstate",{"_index":1980,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(aslookup",{"_index":2082,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(this.checkedresults).some(v",{"_index":3265,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["objects",{"_index":659,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["observable",{"_index":96,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["observableinput",{"_index":82,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/TagSearchComponent.html":{}}}],["observables",{"_index":3242,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["obtaining",{"_index":4177,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":3787,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":3886,"title":{},"body":{"changelog.html":{}}}],["offset",{"_index":1039,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["offsets",{"_index":2747,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["old",{"_index":4139,"title":{},"body":{"index.html":{}}}],["oldposition",{"_index":369,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.x",{"_index":391,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.y",{"_index":388,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.z",{"_index":383,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["once",{"_index":1110,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":2644,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ondestroy",{"_index":206,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["one",{"_index":1289,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":207,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["online",{"_index":3894,"title":{},"body":{"changelog.html":{}}}],["onorganirichange",{"_index":2065,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ontological",{"_index":3945,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":3849,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":3571,"title":{},"body":{"changelog.html":{}}}],["ontology/ccf",{"_index":2588,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ontologyid",{"_index":1333,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["opacities",{"_index":3792,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":965,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["opacityslidermodule",{"_index":1833,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["open",{"_index":222,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["open/close",{"_index":1533,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["openapi",{"_index":3645,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":4151,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":4153,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":4152,"title":{},"body":{"index.html":{}}}],["opendialog",{"_index":2384,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["opened",{"_index":1010,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["opened(value",{"_index":1520,"title":{},"body":{"classes/InitializationState.html":{}}}],["opened/closed",{"_index":1476,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openedchange",{"_index":1528,"title":{},"body":{"classes/InitializationState.html":{}}}],["openedstate",{"_index":1477,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openexpanded",{"_index":1573,"title":{},"body":{"classes/InitializationState.html":{}}}],["opening/closing/expanding",{"_index":1494,"title":{},"body":{"classes/InitializationState.html":{}}}],["openresults",{"_index":3185,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["opens",{"_index":1562,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{}}}],["opposite",{"_index":1481,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["optimization",{"_index":3737,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":3879,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":3769,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1687,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["optional",{"_index":46,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":1279,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["options:first",{"_index":1310,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["options:last",{"_index":1311,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["optionsel",{"_index":3032,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsel.contains(target",{"_index":3074,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsref",{"_index":3024,"title":{},"body":{"components/StageNavComponent.html":{}}}],["ordering",{"_index":1951,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ",{"_index":299,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["organ.name",{"_index":2044,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.side",{"_index":2045,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.src",{"_index":2399,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organ.touppercase",{"_index":2209,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organ?.name",{"_index":1767,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["organconfig.name.tolowercase",{"_index":1998,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.ontologyid",{"_index":2001,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.sex?.tolowercase",{"_index":2007,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.side",{"_index":2000,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdata",{"_index":2135,"title":{"interfaces/OrganData.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["organdimensions",{"_index":943,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.x",{"_index":946,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.y",{"_index":947,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z",{"_index":2093,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z].map(n",{"_index":948,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organinfo",{"_index":1925,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo.sex",{"_index":2211,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.sex",{"_index":2210,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.side?.tolowercase",{"_index":2008,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo?.side].join('|').touppercase",{"_index":2215,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organiri",{"_index":1919,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organirilookup",{"_index":2166,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organlist",{"_index":223,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/User.html":{}}}],["organname",{"_index":1997,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organs",{"_index":303,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":3794,"title":{},"body":{"changelog.html":{}}}],["organselect",{"_index":2332,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselect(organ",{"_index":2343,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselected",{"_index":1721,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["organselector.expanded",{"_index":396,"title":{},"body":{"components/AppComponent.html":{}}}],["organselectormodule",{"_index":570,"title":{},"body":{"modules/AppModule.html":{},"modules/RegistrationContentModule.html":{}}}],["organside",{"_index":1999,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organspatialentities",{"_index":2168,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["orthographic",{"_index":3706,"title":{},"body":{"changelog.html":{}}}],["ot",{"_index":1122,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["ot2od026671",{"_index":4166,"title":{},"body":{"index.html":{}}}],["other.expanded",{"_index":1602,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.expandedstate2",{"_index":1603,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.margin2",{"_index":1608,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredmargin",{"_index":1606,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredwidth",{"_index":1605,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.opened",{"_index":1604,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.width",{"_index":1607,"title":{},"body":{"classes/InitializationState.html":{}}}],["otherwise",{"_index":896,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"license.html":{}}}],["out",{"_index":424,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"classes/InitializationState.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":3300,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["output",{"_index":666,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outputs",{"_index":704,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outside",{"_index":2790,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ovaries",{"_index":1167,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovaries.svg",{"_index":1168,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovary",{"_index":1169,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":3486,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["overall",{"_index":3564,"title":{},"body":{"changelog.html":{}}}],["overflow",{"_index":406,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["overlay",{"_index":1318,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["overlaycontainer",{"_index":3350,"title":{},"body":{"injectables/ThemingService.html":{}}}],["overlays",{"_index":3935,"title":{},"body":{"changelog.html":{}}}],["override",{"_index":2448,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["overview",{"_index":4222,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owning",{"_index":3377,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["p",{"_index":2149,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["p.target",{"_index":2942,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.translation_units",{"_index":2151,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_rotation",{"_index":2158,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_scaling",{"_index":2161,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_translation",{"_index":2155,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_rotation",{"_index":2159,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.y_scaling",{"_index":2162,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_translation",{"_index":2156,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_rotation].map(toradians",{"_index":2160,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_scaling",{"_index":2163,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.z_translation].map((n",{"_index":2945,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_translation].map(t",{"_index":2157,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["package",{"_index":3614,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":427,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["padding/margin/height",{"_index":3298,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["page",{"_index":23,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["page.registrationcallbackset",{"_index":2575,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.registrationcallbackset$.subscribe((callbackset",{"_index":341,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.registrationstarted$.subscribe((registrationstarted",{"_index":344,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.user.firstname",{"_index":2553,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.user.lastname",{"_index":2554,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page/page.state",{"_index":120,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["pages",{"_index":3679,"title":{},"body":{"changelog.html":{}}}],["pagestate",{"_index":91,"title":{"injectables/PageState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["pagestatemodel",{"_index":2274,"title":{"interfaces/PageStateModel.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["pair",{"_index":1610,"title":{},"body":{"classes/InitializationState.html":{}}}],["paired",{"_index":3669,"title":{},"body":{"changelog.html":{}}}],["pancreas",{"_index":1170,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas.svg",{"_index":1171,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":1319,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"changelog.html":{}}}],["panel",{"_index":1245,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["panelclass",{"_index":2690,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["param",{"_index":160,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["parameters",{"_index":42,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["params",{"_index":1489,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["parent",{"_index":1854,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["parent.messages.pipe(takewhile",{"_index":1886,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["parse",{"_index":651,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsed",{"_index":1637,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parsedjson",{"_index":1626,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parser",{"_index":4055,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":3131,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{}}}],["particular",{"_index":4206,"title":{},"body":{"license.html":{}}}],["partly",{"_index":3779,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":3719,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":1432,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.join",{"_index":1437,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('innamespace",{"_index":1436,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('literal",{"_index":1435,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('set",{"_index":1434,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["pass",{"_index":2053,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["passed",{"_index":1754,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["passing",{"_index":1760,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["patch",{"_index":2269,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["patch(name",{"_index":2294,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["patchplacement",{"_index":2190,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["patchplacement.target",{"_index":2202,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["path",{"_index":4077,"title":{},"body":{"dependencies.html":{}}}],["payload",{"_index":1060,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["pbr",{"_index":2852,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pelvis",{"_index":1172,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["per",{"_index":1954,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["performance",{"_index":3618,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":4172,"title":{},"body":{"license.html":{}}}],["permit",{"_index":4191,"title":{},"body":{"license.html":{}}}],["person",{"_index":2273,"title":{"interfaces/Person.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"coverage.html":{},"license.html":{}}}],["persons",{"_index":4192,"title":{},"body":{"license.html":{}}}],["pick",{"_index":2250,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{}}}],["piece",{"_index":3216,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pipe",{"_index":2899,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pipe(filter(s",{"_index":2298,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["pipe(mergeall",{"_index":1888,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["place",{"_index":2201,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_rotation",{"_index":2534,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_translation",{"_index":2195,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_rotation",{"_index":2535,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_translation",{"_index":2196,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_rotation",{"_index":2536,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_translation",{"_index":2197,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placed",{"_index":3114,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1642,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["placement",{"_index":2148,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["placement.length",{"_index":2929,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placement_date",{"_index":2614,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placementcube",{"_index":2838,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placementpatches",{"_index":2171,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["placenta",{"_index":1175,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placenta.svg",{"_index":1176,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["play",{"_index":3446,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["play_circle_outline",{"_index":3443,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["player",{"_index":3412,"title":{},"body":{"components/VideoModalComponent.html":{},"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["pluck",{"_index":1939,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["pluckunique",{"_index":2271,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["plugin",{"_index":3104,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plugins",{"_index":3123,"title":{},"body":{"modules/StoreModule.html":{}}}],["pluralizing",{"_index":3238,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["plus",{"_index":3556,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":437,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["populated",{"_index":2219,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["popup",{"_index":3047,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["portal",{"_index":1365,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":3873,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":4199,"title":{},"body":{"license.html":{}}}],["position",{"_index":257,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["position(value",{"_index":1516,"title":{},"body":{"classes/InitializationState.html":{}}}],["position.x",{"_index":955,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.x.tofixed(1)}_${position.y.tofixed(1)}_${position.z.tofixed(1",{"_index":2031,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["position.y",{"_index":2199,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["position.z",{"_index":953,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.z].map((n",{"_index":2965,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["positions",{"_index":791,"title":{},"body":{"components/ContainerComponent.html":{}}}],["possible",{"_index":1924,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["posterior",{"_index":954,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["potential",{"_index":2207,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["pre",{"_index":3525,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["preclose",{"_index":360,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["preferences",{"_index":3693,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":3919,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":3933,"title":{},"body":{"changelog.html":{}}}],["preserved",{"_index":3221,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pressed",{"_index":270,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["prev",{"_index":3289,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prev[id",{"_index":3292,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prevent",{"_index":3595,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":3704,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1745,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["previousitems",{"_index":2055,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previousitems.map(structure",{"_index":2061,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previously",{"_index":3638,"title":{},"body":{"changelog.html":{}}}],["previousregistrationnodes",{"_index":2837,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations",{"_index":2423,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations.map((entity",{"_index":2938,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousvisibility",{"_index":1778,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["previousvisibilityitems",{"_index":1722,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["prevnodes",{"_index":2901,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["private",{"_index":20,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["process",{"_index":1003,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["processed",{"_index":3865,"title":{},"body":{"changelog.html":{}}}],["processes",{"_index":779,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["processing",{"_index":3694,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":3624,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":3608,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":2671,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["projected",{"_index":787,"title":{},"body":{"components/ContainerComponent.html":{}}}],["projects",{"_index":4127,"title":{},"body":{"index.html":{}}}],["projects/.../anatomical",{"_index":4233,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../app",{"_index":4228,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../block",{"_index":4237,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../config.ts",{"_index":4121,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../container.component.ts",{"_index":4122,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../default",{"_index":4238,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../drawer.component.ts",{"_index":4230,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../message.service.ts",{"_index":4243,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../messages.ts",{"_index":4229,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../meta",{"_index":4231,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../model.state.ts",{"_index":4234,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../reference",{"_index":4119,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../rotation",{"_index":4239,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../scene.state.ts",{"_index":4120,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../slices",{"_index":4241,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../stage",{"_index":4232,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":4244,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tag",{"_index":4240,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../theming.service.ts",{"_index":4242,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":1464,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(r",{"_index":2540,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(resolve",{"_index":1461,"title":{},"body":{"classes/InitializationState.html":{}}}],["properties",{"_index":19,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["property",{"_index":467,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["prostate",{"_index":1177,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["prostate.svg",{"_index":1178,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["provide",{"_index":589,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["provided",{"_index":799,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":1858,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":588,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{},"changelog.html":{}}}],["providing",{"_index":979,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["public",{"_index":2326,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"changelog.html":{}}}],["publish",{"_index":4185,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":3612,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":4207,"title":{},"body":{"license.html":{}}}],["purposes",{"_index":915,"title":{},"body":{"components/ContentComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["push",{"_index":2392,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["pushed",{"_index":3753,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":1508,"title":{},"body":{"classes/InitializationState.html":{}}}],["python",{"_index":3610,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["q",{"_index":381,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["qs",{"_index":4098,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":3875,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":3658,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":935,"title":{},"body":{"components/ContentComponent.html":{},"dependencies.html":{}}}],["query",{"_index":3943,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":3576,"title":{},"body":{"changelog.html":{}}}],["querylist",{"_index":795,"title":{},"body":{"components/ContainerComponent.html":{}}}],["quickly",{"_index":3859,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":1740,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["radius",{"_index":451,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ratio",{"_index":2619,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rc.1",{"_index":3881,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":4100,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":4028,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":4050,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":4101,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2134,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["read",{"_index":3234,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["readable",{"_index":4103,"title":{},"body":{"dependencies.html":{}}}],["reader",{"_index":1620,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader'},{'name",{"_index":494,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reader.component",{"_index":1666,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader.component.html",{"_index":1622,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.scss",{"_index":1621,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts",{"_index":1619,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"coverage.html":{}}}],["reader.component.ts:12",{"_index":1634,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:14",{"_index":1645,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:17",{"_index":1629,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:20",{"_index":1627,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:33",{"_index":1638,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:43",{"_index":1636,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.module",{"_index":1840,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["reader.module.ts",{"_index":1665,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader/json",{"_index":1618,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["readonly",{"_index":161,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["real",{"_index":3893,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":3112,"title":{},"body":{"modules/StoreModule.html":{}}}],["receive",{"_index":993,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["receiving",{"_index":1860,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["record",{"_index":1330,"title":{},"body":{"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["rectify",{"_index":3643,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":3742,"title":{},"body":{"changelog.html":{}}}],["reduce((acc",{"_index":2924,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reduction",{"_index":3588,"title":{},"body":{"changelog.html":{}}}],["refdata",{"_index":2414,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reference",{"_index":90,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["referencedata",{"_index":1992,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["referencedatastate",{"_index":1947,"title":{"injectables/ReferenceDataState.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["referencedatastatemodel",{"_index":2165,"title":{"interfaces/ReferenceDataStateModel.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["referenceorgannodes",{"_index":2834,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorgansimplenodes",{"_index":2835,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["references",{"_index":1014,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["refernced",{"_index":3670,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":713,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["refreshblocksize",{"_index":701,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["refreshes",{"_index":700,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["refreshslices",{"_index":2994,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["reg",{"_index":2439,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["reg.creator_first_name",{"_index":2522,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.creator_last_name",{"_index":2523,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement",{"_index":2519,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement[0",{"_index":2518,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_count",{"_index":2539,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_thickness",{"_index":2538,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.x_dimension",{"_index":2530,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.y_dimension",{"_index":2531,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.z_dimension",{"_index":2532,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["regions",{"_index":3936,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":612,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{}}}],["register(usecallback",{"_index":2443,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["register/download",{"_index":2449,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registerbuttonclick",{"_index":2333,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerbuttonclick(event",{"_index":2345,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerdata",{"_index":2651,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registered",{"_index":1131,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["registericon",{"_index":1415,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericon(definition",{"_index":1412,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericonimpl",{"_index":1442,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registericonimpl(definition",{"_index":1416,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registering",{"_index":1378,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registers",{"_index":1410,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registration",{"_index":308,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["registration.registrations",{"_index":3125,"title":{},"body":{"modules/StoreModule.html":{}}}],["registration/registration.state",{"_index":2880,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["registrationcallback",{"_index":629,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/typealiases.html":{}}}],["registrationcallback?.(json",{"_index":2566,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registrationcallbackset",{"_index":2229,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["registrationcontentcomponent",{"_index":502,"title":{"components/RegistrationContentComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationcontentmodule",{"_index":2374,"title":{"modules/RegistrationContentModule.html":{}},"body":{"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrationisvalid",{"_index":2649,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registrationmodalcomponent",{"_index":503,"title":{"components/RegistrationModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationmodalmodule",{"_index":545,"title":{"modules/RegistrationModalModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrations",{"_index":2412,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["registrationstarted",{"_index":224,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/User.html":{}}}],["registrationstate",{"_index":875,"title":{"injectables/RegistrationState.html":{}},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registrationstated",{"_index":2257,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["registrationstatemodel",{"_index":2490,"title":{"interfaces/RegistrationStateModel.html":{}},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["registry",{"_index":1388,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registry.state",{"_index":3108,"title":{},"body":{"modules/StoreModule.html":{}}}],["registry.state.ts",{"_index":1377,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["registry.state.ts:127",{"_index":1448,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:147",{"_index":1446,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:45",{"_index":1444,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:58",{"_index":1449,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:87",{"_index":1450,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:97",{"_index":1451,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry/default",{"_index":1113,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registry/icon",{"_index":1376,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["registry[methodname",{"_index":1422,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["regs",{"_index":2500,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["related",{"_index":3773,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":417,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/typealiases.html":{}}}],["release",{"_index":3635,"title":{},"body":{"changelog.html":{}}}],["relevant",{"_index":1762,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["reliability",{"_index":3810,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":3701,"title":{},"body":{"changelog.html":{}}}],["removable",{"_index":3134,"title":{},"body":{"components/TagListComponent.html":{}}}],["remove",{"_index":3146,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{}}}],["removeclass",{"_index":3371,"title":{},"body":{"injectables/ThemingService.html":{}}}],["removed",{"_index":143,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["removed.add(id",{"_index":146,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removed.has(iri",{"_index":151,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removeeventlistener('beforeunload",{"_index":2308,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["removes",{"_index":3145,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["removetag",{"_index":30,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/TagListComponent.html":{}}}],["removetag(tag",{"_index":66,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["renderer",{"_index":3365,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer2",{"_index":3352,"title":{},"body":{"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["renderer[methodname](overlay",{"_index":3373,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](root",{"_index":3372,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rendering",{"_index":3017,"title":{},"body":{"components/StageNavComponent.html":{}}}],["renders",{"_index":1214,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["repeat",{"_index":1369,"title":{},"body":{"components/HeaderComponent.html":{}}}],["replaysubject",{"_index":328,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["replaysubject(1",{"_index":317,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["repository",{"_index":4124,"title":{},"body":{"index.html":{}}}],["representation",{"_index":2460,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["required",{"_index":3852,"title":{},"body":{"changelog.html":{}}}],["requiredvalues",{"_index":2552,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["requiredvalues.every(value",{"_index":2558,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["researcher's",{"_index":2098,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["reset",{"_index":548,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["resetitem",{"_index":3468,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["resetrotation",{"_index":2805,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["resets",{"_index":3208,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["resetstage",{"_index":873,"title":{},"body":{"components/ContentComponent.html":{}}}],["resettheme",{"_index":3326,"title":{},"body":{"injectables/ThemingService.html":{}}}],["resize",{"_index":885,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor",{"_index":929,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor(this.rootref.nativeelement",{"_index":940,"title":{},"body":{"components/ContentComponent.html":{}}}],["resolve",{"_index":1457,"title":{},"body":{"classes/InitializationState.html":{}}}],["resolved",{"_index":3758,"title":{},"body":{"changelog.html":{}}}],["resolver",{"_index":1402,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["resolves",{"_index":810,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["respond",{"_index":3717,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":3482,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["restriction",{"_index":4180,"title":{},"body":{"license.html":{}}}],["result",{"_index":84,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.label",{"_index":3294,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results",{"_index":3286,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results.reduce((acc",{"_index":3290,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["results",{"_index":80,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["resultsvisible",{"_index":3178,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["retracted",{"_index":462,"title":{},"body":{"components/AppComponent.html":{}}}],["return",{"_index":134,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["returned",{"_index":79,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["returns",{"_index":55,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["reusable",{"_index":1210,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reverted",{"_index":3493,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["review",{"_index":506,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["review/review",{"_index":2776,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["review_button",{"_index":2687,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewbuttoncomponent",{"_index":505,"title":{"components/ReviewButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewbuttonmodule",{"_index":2698,"title":{"modules/ReviewButtonModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["reviewing",{"_index":2705,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["reviewmodal",{"_index":2643,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewmodalcomponent",{"_index":508,"title":{"components/ReviewModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewmodaldata",{"_index":2708,"title":{"interfaces/ReviewModalData.html":{}},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"coverage.html":{}}}],["reviewmodalmodule",{"_index":2703,"title":{"modules/ReviewModalModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules.html":{},"overview.html":{}}}],["rgb",{"_index":4082,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":453,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["right.px",{"_index":991,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["right.svg",{"_index":1148,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["rightmargin",{"_index":984,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rights",{"_index":4182,"title":{},"body":{"license.html":{}}}],["rightsidebarcomponent",{"_index":509,"title":{"components/RightSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rightsidebarmodule",{"_index":546,"title":{"modules/RightSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["root",{"_index":213,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["root'},{'name",{"_index":473,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["root_states",{"_index":3110,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rootref",{"_index":876,"title":{},"body":{"components/ContentComponent.html":{}}}],["rotatednodes",{"_index":2833,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotates",{"_index":3702,"title":{},"body":{"changelog.html":{}}}],["rotatexyz([p.x_rotation",{"_index":2947,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotatexyz([rotation.x",{"_index":2966,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation",{"_index":511,"title":{"interfaces/Rotation.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotation.x",{"_index":2813,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.y",{"_index":2814,"title":{},"body":{"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation.z",{"_index":2815,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.z].map(toradians",{"_index":2967,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation_order",{"_index":2626,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotation_slider",{"_index":2800,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotation_units",{"_index":2627,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotationchange",{"_index":2792,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotations",{"_index":2803,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotationslidercomponent",{"_index":510,"title":{"components/RotationSliderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rotationslidermodule",{"_index":2761,"title":{"modules/RotationSliderModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules.html":{},"overview.html":{}}}],["round",{"_index":3797,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":3813,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":3574,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":4018,"title":{},"body":{"dependencies.html":{}}}],["ru/common/entity",{"_index":103,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ru/common/typings",{"_index":2139,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rui",{"_index":601,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"changelog.html":{},"index.html":{}}}],["rui/src/app/app",{"_index":602,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/app.component.ts",{"_index":203,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["rui/src/app/app.component.ts:100",{"_index":279,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:118",{"_index":280,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:128",{"_index":266,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:167",{"_index":254,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:178",{"_index":276,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:35",{"_index":302,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:38",{"_index":298,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:41",{"_index":305,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:44",{"_index":288,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:46",{"_index":320,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:50",{"_index":316,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:51",{"_index":318,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:53",{"_index":290,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:54",{"_index":293,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:55",{"_index":296,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:57",{"_index":314,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:59",{"_index":291,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:61",{"_index":294,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:64",{"_index":249,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.module.ts",{"_index":549,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/app.module.ts:58",{"_index":554,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/core/core.module.ts",{"_index":1093,"title":{},"body":{"modules/CoreModule.html":{}}}],["rui/src/app/core/models/anatomical",{"_index":3128,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/documentation.ts",{"_index":1241,"title":{},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["rui/src/app/core/models/extraction",{"_index":1259,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["rui/src/app/core/models/meta",{"_index":1911,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/visibility",{"_index":3458,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["rui/src/app/core/services/config/config.module.ts",{"_index":746,"title":{},"body":{"modules/ConfigModule.html":{}}}],["rui/src/app/core/services/config/config.ts",{"_index":1329,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.module.ts",{"_index":3315,"title":{},"body":{"modules/ThemingModule.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts",{"_index":3320,"title":{},"body":{"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:13",{"_index":3347,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:14",{"_index":3348,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:16",{"_index":3346,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:18",{"_index":3349,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:21",{"_index":3336,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:25",{"_index":3329,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:39",{"_index":3333,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:48",{"_index":3345,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:60",{"_index":3343,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:71",{"_index":3341,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:83",{"_index":3331,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/store/anatomical",{"_index":7,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/icon",{"_index":1112,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/model/model.state.ts",{"_index":1914,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/page/page.state.ts",{"_index":2227,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"coverage.html":{}}}],["rui/src/app/core/store/page/page.state.ts:110",{"_index":2241,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:125",{"_index":2248,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:135",{"_index":2251,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:145",{"_index":2245,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:152",{"_index":2246,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:162",{"_index":2242,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:168",{"_index":2243,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:56",{"_index":2261,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:58",{"_index":2256,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:59",{"_index":2259,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:60",{"_index":2254,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:63",{"_index":2263,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:68",{"_index":2265,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:76",{"_index":2267,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:78",{"_index":2240,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:94",{"_index":2244,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/reference",{"_index":2136,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts",{"_index":2411,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:102",{"_index":2478,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:107",{"_index":2464,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:110",{"_index":2463,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:113",{"_index":2465,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:116",{"_index":2427,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:134",{"_index":2442,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:157",{"_index":2438,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:200",{"_index":2455,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:210",{"_index":2452,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:220",{"_index":2429,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:226",{"_index":2441,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:239",{"_index":2482,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:248",{"_index":2444,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:283",{"_index":2435,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:317",{"_index":2431,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:370",{"_index":2457,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:52",{"_index":2462,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:56",{"_index":2467,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:64",{"_index":2469,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:71",{"_index":2471,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:81",{"_index":2473,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:96",{"_index":2475,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts",{"_index":2831,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:118",{"_index":2868,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:129",{"_index":2870,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:157",{"_index":2872,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:164",{"_index":2873,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:182",{"_index":2875,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:204",{"_index":2855,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:221",{"_index":2856,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:222",{"_index":2857,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:223",{"_index":2839,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:239",{"_index":2842,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:249",{"_index":2841,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:52",{"_index":2859,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:63",{"_index":2861,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:80",{"_index":2863,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:90",{"_index":2866,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/store.module.ts",{"_index":3099,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/modules/content/content.component.ts",{"_index":863,"title":{},"body":{"components/ContentComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/content/content.component.ts:106",{"_index":893,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:113",{"_index":887,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:119",{"_index":882,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:26",{"_index":879,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:28",{"_index":928,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:33",{"_index":918,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:37",{"_index":909,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:48",{"_index":919,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:53",{"_index":910,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:58",{"_index":931,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:61",{"_index":877,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:84",{"_index":886,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:97",{"_index":883,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.module.ts",{"_index":1081,"title":{},"body":{"modules/ContentModule.html":{}}}],["rui/src/app/modules/content/stage",{"_index":3013,"title":{},"body":{"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/modules/content/video",{"_index":3404,"title":{},"body":{"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts",{"_index":1342,"title":{},"body":{"components/HeaderComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts:17",{"_index":1348,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:19",{"_index":1347,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:21",{"_index":1346,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.module.ts",{"_index":1373,"title":{},"body":{"modules/HeaderModule.html":{}}}],["rui/src/app/modules/left",{"_index":1714,"title":{},"body":{"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/registration",{"_index":2321,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/review/review",{"_index":2639,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/right",{"_index":2739,"title":{},"body":{"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/block",{"_index":656,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/details",{"_index":1207,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts",{"_index":753,"title":{},"body":{"components/ContainerComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:105",{"_index":788,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:115",{"_index":778,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:124",{"_index":789,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:37",{"_index":775,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:41",{"_index":807,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:45",{"_index":798,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:48",{"_index":803,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:50",{"_index":809,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:55",{"_index":812,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:60",{"_index":793,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:62",{"_index":771,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:83",{"_index":784,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts",{"_index":978,"title":{},"body":{"components/ContentComponent-1.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:103",{"_index":1011,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:116",{"_index":1006,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:28",{"_index":996,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:30",{"_index":997,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:32",{"_index":999,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:34",{"_index":1000,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:36",{"_index":994,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:39",{"_index":1013,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:41",{"_index":992,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:60",{"_index":1005,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:70",{"_index":1002,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/drawer.module.ts",{"_index":1252,"title":{},"body":{"modules/DrawerModule.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts",{"_index":1454,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35",{"_index":1466,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37",{"_index":1463,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41",{"_index":1467,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46",{"_index":1468,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56",{"_index":1472,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65",{"_index":1469,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/messages.ts",{"_index":1052,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/toggle",{"_index":3374,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/extraction",{"_index":1266,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/json",{"_index":1617,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/labeled",{"_index":1669,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/name",{"_index":2096,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/rotation",{"_index":2779,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/slices",{"_index":2979,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/tag",{"_index":3132,"title":{},"body":{"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/visibility",{"_index":3461,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/services/message/message.service.ts",{"_index":1841,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:103",{"_index":1901,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:112",{"_index":1902,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:128",{"_index":1909,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:130",{"_index":1906,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:153",{"_index":1908,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:163",{"_index":1907,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:50",{"_index":1898,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:70",{"_index":1903,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:83",{"_index":1899,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:93",{"_index":1900,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui_locations.jsonld",{"_index":3602,"title":{},"body":{"changelog.html":{}}}],["rui_organs",{"_index":301,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ruiconfig",{"_index":1338,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["run",{"_index":783,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["runtime",{"_index":1120,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["rxjs",{"_index":113,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":115,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["s",{"_index":389,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/User.html":{}}}],["safehtml",{"_index":1379,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saferesourceurl",{"_index":1380,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["same",{"_index":1952,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sample",{"_index":3948,"title":{},"body":{"changelog.html":{}}}],["samples",{"_index":3744,"title":{},"body":{"changelog.html":{}}}],["sanitize",{"_index":1390,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitized",{"_index":1123,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["sanitizer",{"_index":1389,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saveas",{"_index":2484,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saveas(data",{"_index":2571,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saved",{"_index":2292,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["saver",{"_index":2485,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["scaffolding",{"_index":3909,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":1363,"title":{},"body":{"components/HeaderComponent.html":{}}}],["scale([blocksize.x",{"_index":2968,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scale([entity.x_dimension",{"_index":2948,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scalex",{"_index":721,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scaling_units",{"_index":2618,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["scene",{"_index":24,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["scene/scene.state",{"_index":121,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"modules/StoreModule.html":{}}}],["scenegraph",{"_index":2844,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodelookup",{"_index":2169,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["scenestate",{"_index":92,"title":{"injectables/SceneState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["scenestatemodel",{"_index":2881,"title":{"interfaces/SceneStateModel.html":{}},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{}}}],["scheduled",{"_index":3759,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":3911,"title":{},"body":{"changelog.html":{}}}],["scheme",{"_index":282,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["schemes",{"_index":3876,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":4160,"title":{},"body":{"index.html":{}}}],["script",{"_index":3421,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["script.src",{"_index":3424,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["scroll",{"_index":1797,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["scrollbar",{"_index":1799,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scrolling",{"_index":861,"title":{},"body":{"components/ContainerComponent.html":{}}}],["search",{"_index":77,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["search'},{'name",{"_index":520,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["search.component",{"_index":3312,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search.component.html",{"_index":3173,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.scss",{"_index":3172,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts",{"_index":3169,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search.component.ts:104",{"_index":3223,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:116",{"_index":3226,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:125",{"_index":3222,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:132",{"_index":3207,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:150",{"_index":3203,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:163",{"_index":3205,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:179",{"_index":3214,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:198",{"_index":3230,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:218",{"_index":3218,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:34",{"_index":3202,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:37",{"_index":3195,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:40",{"_index":3196,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:43",{"_index":3197,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:46",{"_index":3198,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:49",{"_index":3201,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:52",{"_index":3235,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:55",{"_index":3236,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:61",{"_index":3245,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:64",{"_index":3248,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:67",{"_index":3232,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:70",{"_index":3243,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:73",{"_index":3193,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.module",{"_index":2775,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["search.module.ts",{"_index":3308,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search/tag",{"_index":2774,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["searchcontrol",{"_index":3179,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchcontrol.reset",{"_index":3270,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searches",{"_index":74,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"changelog.html":{}}}],["searchexternal",{"_index":31,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["searchexternal(text",{"_index":68,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["searching",{"_index":3170,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit",{"_index":3187,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit)).pipe",{"_index":3284,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults",{"_index":3180,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.results.filter(tag",{"_index":3267,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.totalcount",{"_index":3295,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchthrottle",{"_index":3188,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["section",{"_index":3732,"title":{},"body":{"changelog.html":{}}}],["sections",{"_index":3005,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["see",{"_index":2339,"title":{},"body":{"components/RegistrationContentComponent.html":{},"changelog.html":{},"index.html":{}}}],["select",{"_index":1315,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selected",{"_index":1273,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["selecting",{"_index":1270,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["selection",{"_index":1684,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["selections",{"_index":3209,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["selector",{"_index":211,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selects",{"_index":1430,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["sell",{"_index":4189,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":3932,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":772,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["sender",{"_index":1846,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending",{"_index":1592,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending/receiving",{"_index":1559,"title":{},"body":{"classes/InitializationState.html":{}}}],["sendmessage",{"_index":1896,"title":{},"body":{"classes/MessageChannel.html":{}}}],["sendmessage(payload",{"_index":1864,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sends",{"_index":1589,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sendtoggle",{"_index":1593,"title":{},"body":{"classes/InitializationState.html":{}}}],["sennet",{"_index":3621,"title":{},"body":{"changelog.html":{}}}],["sensor",{"_index":870,"title":{},"body":{"components/ContentComponent.html":{}}}],["sent",{"_index":1053,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["separated",{"_index":1215,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["server",{"_index":3914,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":47,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["service.initialize(location",{"_index":3356,"title":{},"body":{"injectables/ThemingService.html":{}}}],["services/config/config",{"_index":1384,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["services/config/config.module",{"_index":1099,"title":{},"body":{"modules/CoreModule.html":{}}}],["services/message/message.service",{"_index":1057,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{}}}],["services/theming/theming.module",{"_index":1100,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":142,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["set's",{"_index":2453,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set(reg.ccf_annotations",{"_index":2544,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set.label",{"_index":2085,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["set.name",{"_index":1299,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.sites.length",{"_index":1300,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.ts",{"_index":1260,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["setallopacity",{"_index":3469,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setallopacity(value",{"_index":3488,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setanatomicalstructures(anatomicalstructures",{"_index":2050,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setblocksize(blocksize",{"_index":2026,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setchange",{"_index":1276,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["setdisplayerrors",{"_index":2419,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setdisplayerrors(displayerrors",{"_index":2451,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setextractionsets(extractionsets",{"_index":2051,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setextractionsites(extractionsites",{"_index":2049,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sethaschanges",{"_index":2233,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setname(value",{"_index":2117,"title":{},"body":{"components/NameInputComponent.html":{}}}],["setorgan(organ",{"_index":2042,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setposition(position",{"_index":2028,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setrotation(rotation",{"_index":2027,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets",{"_index":785,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sets.length",{"_index":2087,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets[0].sites",{"_index":2088,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsex(sex",{"_index":2046,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsexfromlabel",{"_index":1725,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setsexfromlabel(label",{"_index":1736,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setshowprevious",{"_index":2054,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setshowprevious(showprevious",{"_index":2048,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setside(side",{"_index":2047,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsidefromlabel",{"_index":1726,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setsidefromlabel(label",{"_index":1738,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setslicesconfig(slicesconfig",{"_index":2032,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["settheme",{"_index":3327,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settheme(theme",{"_index":3344,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settimeout",{"_index":1561,"title":{},"body":{"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/ToggleButtonComponent.html":{}}}],["settimeout(r",{"_index":2541,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setting",{"_index":2784,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/StoreModule.html":{}}}],["setup",{"_index":3728,"title":{},"body":{"changelog.html":{}}}],["setusecancelregistrationcallback",{"_index":2234,"title":{},"body":{"injectables/PageState.html":{}}}],["setusecancelregistrationcallback(use",{"_index":2247,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setusedropdownmenu(value",{"_index":3061,"title":{},"body":{"components/StageNavComponent.html":{}}}],["setuseregistrationcallback",{"_index":2420,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setuseregistrationcallback(use",{"_index":2454,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setusername",{"_index":2235,"title":{},"body":{"injectables/PageState.html":{}}}],["setusername(name",{"_index":2249,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setviewside(viewside",{"_index":2034,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setviewtype",{"_index":874,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(is3dview",{"_index":892,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(viewtype",{"_index":2033,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sex",{"_index":1334,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sexbylabel",{"_index":1723,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["sexes",{"_index":3844,"title":{},"body":{"changelog.html":{}}}],["sexselected",{"_index":2329,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["shadow",{"_index":1304,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{}}}],["shall",{"_index":4196,"title":{},"body":{"license.html":{}}}],["shared",{"_index":326,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig.html":{},"modules/SlicesInputModule.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"modules/VisibilityMenuModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":327,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/CoreModule.html":{},"interfaces/User.html":{}}}],["shared/components/block",{"_index":2765,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/details",{"_index":1824,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/drawer/drawer.module",{"_index":587,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/extraction",{"_index":1826,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/json",{"_index":1839,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/labeled",{"_index":1828,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["shared/components/name",{"_index":1830,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{}}}],["shared/components/rotation",{"_index":2766,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/slices",{"_index":2769,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/tag",{"_index":2771,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/visibility",{"_index":1834,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/rxjs",{"_index":1931,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shared/web",{"_index":638,"title":{},"body":{"components/AppWebComponent.html":{}}}],["shifts",{"_index":267,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["shortest",{"_index":4076,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":932,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["showcollisions",{"_index":2882,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["showdebugbuttons",{"_index":871,"title":{},"body":{"components/ContentComponent.html":{}}}],["showing",{"_index":2665,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["shown",{"_index":3244,"title":{},"body":{"components/TagSearchComponent.html":{},"changelog.html":{}}}],["showprevious",{"_index":1920,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shows",{"_index":911,"title":{},"body":{"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"changelog.html":{}}}],["shrink",{"_index":3514,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["side",{"_index":1015,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["sidebar",{"_index":1716,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar'},{'name",{"_index":500,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["sidebar.component",{"_index":1838,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar.component.html",{"_index":1718,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.scss",{"_index":1717,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts",{"_index":1715,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"coverage.html":{}}}],["sidebar.component.ts:110",{"_index":1743,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:123",{"_index":1758,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:20",{"_index":2742,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:23",{"_index":2741,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:24",{"_index":1735,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:26",{"_index":1733,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:29",{"_index":1734,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:31",{"_index":1781,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:35",{"_index":1784,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:39",{"_index":1776,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:43",{"_index":1768,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:52",{"_index":1769,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:58",{"_index":1777,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:60",{"_index":1732,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:76",{"_index":1752,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:89",{"_index":1737,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:98",{"_index":1741,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.module",{"_index":581,"title":{},"body":{"modules/AppModule.html":{}}}],["sidebar.module.ts",{"_index":1819,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar/left",{"_index":580,"title":{},"body":{"modules/AppModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["sidebar/right",{"_index":586,"title":{},"body":{"modules/AppModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["sidebylabel",{"_index":1724,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidechange",{"_index":3029,"title":{},"body":{"components/StageNavComponent.html":{}}}],["sides",{"_index":3845,"title":{},"body":{"changelog.html":{}}}],["signal",{"_index":2342,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["significant",{"_index":3721,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":3064,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["simplescenenodelookup",{"_index":2170,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["simplifies",{"_index":3727,"title":{},"body":{"changelog.html":{}}}],["single",{"_index":1863,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["site",{"_index":1753,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sites",{"_index":1261,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sizable",{"_index":3809,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":409,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sizes",{"_index":671,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/RightSidebarComponent.html":{},"miscellaneous/variables.html":{}}}],["skin",{"_index":1179,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skin.svg",{"_index":1180,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skipconfirmation",{"_index":2236,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["skipself",{"_index":1096,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["skipunsavedchangesconfirmation",{"_index":613,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["skipuntil",{"_index":1940,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["skipuntil(this.page.registrationstarted$.pipe",{"_index":2016,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["slice",{"_index":1927,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["slice(0",{"_index":194,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["slice_count",{"_index":2602,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slice_input",{"_index":2991,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slice_thickness",{"_index":2600,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slices",{"_index":514,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["slicesconfig",{"_index":1921,"title":{"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slicesconfigchange",{"_index":2981,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slicesinputcomponent",{"_index":513,"title":{"components/SlicesInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["slicesinputmodule",{"_index":2762,"title":{"modules/SlicesInputModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/SlicesInputModule.html":{},"modules.html":{},"overview.html":{}}}],["slide",{"_index":497,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["slide_toggle",{"_index":1700,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["slider",{"_index":1673,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"dependencies.html":{}}}],["slider'},{'name",{"_index":512,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["slider.component",{"_index":2828,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider.component.html",{"_index":2788,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.scss",{"_index":2789,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.ts",{"_index":2780,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slider.component.ts:34",{"_index":2810,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:39",{"_index":2809,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:44",{"_index":2808,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:59",{"_index":2811,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:68",{"_index":2812,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.module",{"_index":2768,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["slider.module.ts",{"_index":2827,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider/rotation",{"_index":2767,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sliders",{"_index":1802,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slightly",{"_index":3641,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":3739,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1181,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["snackbar",{"_index":239,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snackbar.dismiss",{"_index":361,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snapshot",{"_index":2288,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["snapshot.useregistrationcallback",{"_index":2565,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["software",{"_index":4128,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":1353,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["solved",{"_index":3804,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":3857,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":3616,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":3735,"title":{},"body":{"changelog.html":{}}}],["sortby",{"_index":1933,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sortby(set.extractionsites.map((entity",{"_index":2086,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["source",{"_index":4,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["sources",{"_index":1876,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["sources.includes(msg.source",{"_index":1878,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["space",{"_index":963,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["spacer",{"_index":3297,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["sparc",{"_index":3731,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":3573,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":2864,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["spatialentity",{"_index":2089,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.x_dimension",{"_index":2091,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.y_dimension",{"_index":2092,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.z_dimension",{"_index":2094,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentityjsonld",{"_index":621,"title":{},"body":{"components/AppWebComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spatialplacement",{"_index":2612,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["spatialplacementjsonld",{"_index":2143,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["spatialscenenode",{"_index":2144,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spec",{"_index":3646,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":4149,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1072,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["specification",{"_index":4148,"title":{},"body":{"index.html":{}}}],["specified",{"_index":1875,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["specifying",{"_index":1857,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":3585,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":1182,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinning",{"_index":3912,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1185,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["spleen.svg",{"_index":1186,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["sprint",{"_index":3762,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":1959,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["stage",{"_index":457,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["stage_nav",{"_index":3076,"title":{},"body":{"components/StageNavComponent.html":{}}}],["stagenavcomponent",{"_index":515,"title":{"components/StageNavComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stagenavmodule",{"_index":1079,"title":{"modules/StageNavModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["staging",{"_index":3625,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["staging.herokuapp.com",{"_index":4147,"title":{},"body":{"index.html":{}}}],["stamp",{"_index":2582,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["standalone",{"_index":3799,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":593,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{}}}],["standards",{"_index":3916,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":4132,"title":{},"body":{"index.html":{}}}],["start",{"_index":827,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["start?.expanded",{"_index":1044,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["start?.opened",{"_index":1043,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["startdrawers",{"_index":850,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers.length",{"_index":854,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers[0",{"_index":858,"title":{},"body":{"components/ContainerComponent.html":{}}}],["started",{"_index":2018,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["startexpanded",{"_index":1042,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["starts",{"_index":3954,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":1118,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/RegistrationModalComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["startwith",{"_index":816,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state",{"_index":15,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["state$.pipe(pluck('registrations",{"_index":2501,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state('closed",{"_index":1500,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('collapsed",{"_index":1505,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('extended",{"_index":1509,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('false",{"_index":1023,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state('full",{"_index":1510,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('half",{"_index":1506,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('open",{"_index":1499,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('true",{"_index":1024,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state.organspatialentities[iri",{"_index":2222,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["statechange",{"_index":1532,"title":{},"body":{"classes/InitializationState.html":{}}}],["statements",{"_index":3956,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":106,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["states",{"_index":165,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent-1.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":1613,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["stay",{"_index":3952,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":3747,"title":{},"body":{"changelog.html":{}}}],["stomach",{"_index":1187,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["stomach.svg",{"_index":1188,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["store",{"_index":974,"title":{},"body":{"components/ContentComponent.html":{},"modules/StoreModule.html":{}}}],["store/store.module",{"_index":1101,"title":{},"body":{"modules/CoreModule.html":{}}}],["stored",{"_index":2781,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["storedebugmodule",{"_index":1083,"title":{},"body":{"modules/ContentModule.html":{}}}],["storemodule",{"_index":1091,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":3907,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":3111,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":4104,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":4102,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":69,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["strings",{"_index":1213,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["structure",{"_index":8,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["structure.opacity",{"_index":2063,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["structures",{"_index":1749,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["strvalue",{"_index":2988,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["style",{"_index":1019,"title":{},"body":{"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/VisibilityToggleComponent.html":{}}}],["style.margin",{"_index":989,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["styled",{"_index":2656,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["styles",{"_index":200,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["styles.getpropertyvalue(property",{"_index":1555,"title":{},"body":{"classes/InitializationState.html":{}}}],["styleurls",{"_index":214,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["styling",{"_index":1643,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["sub",{"_index":1071,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["subject",{"_index":1848,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"license.html":{}}}],["sublicense",{"_index":4187,"title":{},"body":{"license.html":{}}}],["subscribe",{"_index":2014,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["subscribe(result",{"_index":3259,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["subscribe(updateskipconfirmation",{"_index":2299,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["subscription",{"_index":311,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["subscriptions",{"_index":225,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["substantial",{"_index":4198,"title":{},"body":{"license.html":{}}}],["successful",{"_index":1411,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["suffix",{"_index":3007,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["suffix.show",{"_index":3008,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["super",{"_index":162,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["super(configstore",{"_index":644,"title":{},"body":{"components/AppWebComponent.html":{}}}],["super.ngxsoninit",{"_index":163,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["support",{"_index":3569,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1127,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules.html":{}}}],["swiper",{"_index":4108,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":378,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["switched",{"_index":3815,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":1941,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(data",{"_index":2187,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["switchmap(fetch",{"_index":2504,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["switchmap(organconfig",{"_index":1996,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(this.executesearch",{"_index":3258,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["switchmap(url",{"_index":2185,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["sync",{"_index":3703,"title":{},"body":{"changelog.html":{}}}],["syncexpanded(other",{"_index":1601,"title":{},"body":{"classes/InitializationState.html":{}}}],["syncs",{"_index":1598,"title":{},"body":{"classes/InitializationState.html":{}}}],["t",{"_index":1844,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["t.label).join",{"_index":2581,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["table",{"_index":4017,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":3633,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":4016,"title":{},"body":{"coverage.html":{}}}],["tag",{"_index":12,"title":{"interfaces/Tag.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.id",{"_index":181,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tag.label",{"_index":3158,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag.label).join",{"_index":3273,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tag.ts",{"_index":3129,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.type",{"_index":145,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["tag_list",{"_index":3157,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag_search",{"_index":3272,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tagclasses",{"_index":3137,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagclasses(tag",{"_index":3147,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagging",{"_index":3847,"title":{},"body":{"changelog.html":{}}}],["tagid",{"_index":116,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/typealiases.html":{}}}],["tagid(_index",{"_index":3149,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["taglistcomponent",{"_index":517,"title":{"components/TagListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["taglistmodule",{"_index":2763,"title":{"modules/TagListModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagListModule.html":{},"modules.html":{},"overview.html":{}}}],["tagremoved",{"_index":3138,"title":{},"body":{"components/TagListComponent.html":{}}}],["tags",{"_index":33,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tags.length",{"_index":3269,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tags.map(t",{"_index":2580,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["tags.map(tag",{"_index":2599,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["tags.push",{"_index":154,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.push(tag",{"_index":148,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.state",{"_index":2489,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{}}}],["tags.state.ts",{"_index":10,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["tags.state.ts:112",{"_index":63,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:119",{"_index":54,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:124",{"_index":67,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:140",{"_index":73,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:158",{"_index":58,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:38",{"_index":95,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:68",{"_index":87,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:70",{"_index":98,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:75",{"_index":89,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:77",{"_index":93,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:79",{"_index":39,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:95",{"_index":64,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags/anatomical",{"_index":9,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["tagschange",{"_index":3139,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagsearchcomponent",{"_index":519,"title":{"components/TagSearchComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tagsearchmodule",{"_index":2764,"title":{"modules/TagSearchModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["tagsearchresult",{"_index":117,"title":{"interfaces/TagSearchResult.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["take",{"_index":1942,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["take(1",{"_index":2011,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["takes",{"_index":1211,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["takeuntil",{"_index":3250,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takeuntil(this.destroy",{"_index":3256,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takewhile",{"_index":1851,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["tap",{"_index":1943,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["tap(([user",{"_index":2396,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["tap(config",{"_index":2281,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["tap(reg",{"_index":2514,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["target",{"_index":262,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["target.key",{"_index":379,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.nodename",{"_index":394,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.preventdefault",{"_index":372,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.repeat",{"_index":374,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["technologies",{"_index":3927,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":3790,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":3698,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":199,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["templateurl",{"_index":216,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["temporary",{"_index":971,"title":{},"body":{"components/ContentComponent.html":{}}}],["test",{"_index":3896,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":914,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["text",{"_index":76,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{}}}],["textfield",{"_index":716,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["theme",{"_index":226,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["thememode",{"_index":227,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["themes",{"_index":3620,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":241,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["theming.initialize(el",{"_index":339,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["theming.service",{"_index":3317,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themingmodule",{"_index":1092,"title":{"modules/ThemingModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ThemingModule.html":{},"modules.html":{},"overview.html":{}}}],["themingservice",{"_index":242,"title":{"injectables/ThemingService.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"coverage.html":{},"overview.html":{}}}],["themingservice.initialize",{"_index":3318,"title":{},"body":{"modules/ThemingModule.html":{}}}],["thick",{"_index":1195,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["thick.svg",{"_index":1196,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thickness",{"_index":1953,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["thin",{"_index":1197,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"miscellaneous/variables.html":{}}}],["thin.svg",{"_index":1198,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["things",{"_index":167,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this._expanded",{"_index":1523,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._latesttags",{"_index":159,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this._measuredmargin",{"_index":1553,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredwidth",{"_index":1543,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._name",{"_index":2122,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this._opened",{"_index":1519,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._position",{"_index":1515,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.added.emit(tags",{"_index":3274,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.addentityone",{"_index":183,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.addregistration(jsonobj",{"_index":2572,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.addtagraw(tag",{"_index":178,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.animationsenabled",{"_index":1033,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.applythemeclass(theme",{"_index":3360,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.gettheme",{"_index":3364,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.theme",{"_index":3359,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.blocksize",{"_index":694,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksize[key",{"_index":698,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksizechange.emit(this.blocksize",{"_index":699,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.buildjsonld(page",{"_index":2497,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildjsonld(page.snapshot",{"_index":2561,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildmetadata(page",{"_index":2496,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.cdr.markforcheck",{"_index":844,"title":{},"body":{"components/ContainerComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.channel",{"_index":835,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.asobservable",{"_index":1885,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.closed",{"_index":1887,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.complete",{"_index":1890,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.next",{"_index":1865,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.sendmessage",{"_index":841,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.checkedresults",{"_index":3261,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.closedialog",{"_index":2366,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.consentservice.consent",{"_index":363,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.content",{"_index":846,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.changes.pipe(startwith(null)).subscribe",{"_index":845,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.first",{"_index":832,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.length",{"_index":834,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content2.first",{"_index":833,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.createscenenodes(organiri",{"_index":2913,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.ctx.patchstate",{"_index":2006,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ctx.setstate(patch",{"_index":2293,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentdate",{"_index":2583,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentidentifier",{"_index":2585,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentorgan",{"_index":2364,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.currentsex",{"_index":2359,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.defaultposition",{"_index":2095,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.defaulttheme",{"_index":3358,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.deferred",{"_index":1492,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.destroy$.complete",{"_index":3264,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.destroy$.next",{"_index":3263,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.dialog.open(registrationcontentcomponent",{"_index":2401,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.dialog.open(reviewmodalcomponent",{"_index":2689,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.dialog.open(videomodalcomponent",{"_index":3440,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["this.dialogref.close",{"_index":2725,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["this.dialogref.close(true",{"_index":2369,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.disablepositionchange",{"_index":371,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.drawer",{"_index":3393,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawer.position",{"_index":3391,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawers",{"_index":1030,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.drawers.changes.pipe(startwith(null)).subscribe",{"_index":839,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.drawers.toarray",{"_index":849,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.editregistration(reg",{"_index":2515,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.el.nativeelement.contains(event.target",{"_index":3281,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.element",{"_index":3363,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.element.nativeelement",{"_index":1544,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.entererrormode.emit",{"_index":2685,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.entities$.subscribe",{"_index":176,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.expanded",{"_index":1579,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedchange.emit(this.expanded",{"_index":1588,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate",{"_index":1569,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate2",{"_index":1537,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.extractionsitetooltip",{"_index":1787,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.faded",{"_index":1048,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.fileinput.nativeelement",{"_index":1649,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.firstnamevalidator.setvalue(value?.firstname",{"_index":2124,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('all_items_opacity_update",{"_index":3512,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('block_size_change",{"_index":696,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('block_size_reset",{"_index":702,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('item_reset",{"_index":3510,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('json_file_load_end",{"_index":1656,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('json_file_load_start",{"_index":1659,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('name_updated",{"_index":2127,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('opacity_update",{"_index":3507,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('organ_select",{"_index":2043,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('placement",{"_index":2029,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('register",{"_index":2696,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('review_start",{"_index":2686,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('rotation_reset",{"_index":2806,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('rotation_update",{"_index":2799,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('selected_extraction_set_change",{"_index":1293,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.ga.event('side_update",{"_index":3075,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('slice_config_reset",{"_index":2995,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slice_config_update",{"_index":2990,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slide_toggle_toggled",{"_index":1699,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.ga.event('tag_removed",{"_index":3156,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.ga.event('tags_added",{"_index":3271,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.ga.event('view_update",{"_index":3082,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('visibility_toggled",{"_index":3498,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["this.getarguments(definition",{"_index":1425,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getmessages().pipe(filter(msg",{"_index":1874,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.getmethodname(definition",{"_index":1421,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getsourcedb().subscribe(db",{"_index":2173,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.getupdatedcheckedresults(result",{"_index":3262,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.globalconfig.config$.pipe",{"_index":2280,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('basehref').pipe",{"_index":2181,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalconfig.getoption('editregistration').pipe",{"_index":2513,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('header",{"_index":289,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl",{"_index":292,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl').subscribe((url",{"_index":348,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip",{"_index":295,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip').subscribe((tooltip",{"_index":351,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('organ').pipe",{"_index":1995,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.globalconfig.getoption('skipunsavedchangesconfirmation').pipe",{"_index":2276,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.globalconfig.getoption('theme",{"_index":315,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.snapshot.basehref",{"_index":1408,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.globals.set('db",{"_index":2179,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalskipconfirmation",{"_index":2297,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.handlemessage(msg",{"_index":838,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.haschanges$.pipe",{"_index":2300,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.homeurl",{"_index":349,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.hover.emit(item",{"_index":3501,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.hover.emit(undefined",{"_index":3502,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.idmatches(ontologyid",{"_index":2004,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.initialized",{"_index":1491,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.set",{"_index":1560,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.valueof",{"_index":1570,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.wait",{"_index":1594,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initskipconfirmationlisteners",{"_index":2287,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.injector",{"_index":599,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{}}}],["this.injector.get(anatomicalstructuretagstate",{"_index":2511,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.injector.get(modelstate",{"_index":170,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(pagestate",{"_index":174,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(referencedatastate",{"_index":1994,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(registrationstate",{"_index":2976,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(scenestate",{"_index":172,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.isdatavalid(this.page.snapshot",{"_index":2559,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.isdropdownactive",{"_index":3069,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isdropdownhidden",{"_index":3070,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isvalid",{"_index":2499,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.items",{"_index":3504,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(i",{"_index":3511,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(item",{"_index":3505,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.itemschange.emit(this.items",{"_index":3509,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.labelref.nativeelement",{"_index":3071,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.labels[0",{"_index":1697,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.labels[1",{"_index":1698,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.lastnamevalidator.setvalue(value?.lastname",{"_index":2125,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.launchreviewmodal",{"_index":2688,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.leftmargin",{"_index":1040,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.loadyoutubeplayerapi",{"_index":3420,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.logotooltip",{"_index":352,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.margin2",{"_index":1540,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredmargin",{"_index":1539,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredwidth",{"_index":1595,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.messages",{"_index":1884,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.messages.pipe(filter(msg",{"_index":1871,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.metadata",{"_index":2694,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.metadata.length",{"_index":2680,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.metadata.slice(0",{"_index":2682,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.model",{"_index":169,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.blocksize",{"_index":2957,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.defaultposition.x",{"_index":900,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.y",{"_index":904,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.z",{"_index":906,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.extractionsites",{"_index":2909,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organ",{"_index":1763,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$.pipe",{"_index":1774,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$]).pipe",{"_index":2394,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organdimensions$.pipe",{"_index":897,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.organiri",{"_index":2914,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organiri$]).pipe",{"_index":2910,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position",{"_index":2959,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position$.pipe",{"_index":923,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.rotation",{"_index":2958,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.setblocksize",{"_index":2529,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(data.organ",{"_index":2524,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(this.currentorgan",{"_index":2368,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setposition",{"_index":2542,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setposition(newposition",{"_index":393,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["this.model.setrotation",{"_index":2533,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(data.sex",{"_index":2526,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(label",{"_index":1789,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setsex(this.currentsex",{"_index":2367,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setside(data.side",{"_index":2528,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setside(label",{"_index":1790,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setslicesconfig",{"_index":2537,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.sex$.pipe",{"_index":1779,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["this.model.sex$]).pipe",{"_index":1765,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.showprevious",{"_index":2935,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.side",{"_index":1764,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.side$.pipe",{"_index":1782,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.snapshot",{"_index":944,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.anatomicalstructures",{"_index":185,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.snapshot.organdimensions",{"_index":2943,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.position",{"_index":370,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.model.state",{"_index":2493,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.state$]).pipe",{"_index":2498,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.toggleregistrationblocksvisibility(visible",{"_index":1792,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.viewside$.pipe",{"_index":2972,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.viewtype$.pipe",{"_index":916,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.modelchanged$.pipe",{"_index":2015,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.name",{"_index":2126,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namechange.emit(this.name",{"_index":2129,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namematches(organname",{"_index":2005,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.namevalid",{"_index":2361,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.nextmessageid",{"_index":1866,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nodecollisions",{"_index":2898,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.nodes$]).pipe",{"_index":2904,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.onorganirichange",{"_index":2013,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.open",{"_index":342,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.opendialog",{"_index":2400,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.opened",{"_index":1567,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.openedchange.emit(this.opened",{"_index":1584,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.openedstate",{"_index":1568,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.optionsref.nativeelement",{"_index":3072,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.organselected",{"_index":2365,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.page",{"_index":173,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.clearhaschanges",{"_index":2574,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.registrationstarted",{"_index":2370,"title":{},"body":{"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.sethaschanges",{"_index":177,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.setusername",{"_index":2521,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.parsedjson.emit(json",{"_index":1658,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.patchstate",{"_index":2296,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.placementcube",{"_index":2895,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.placementcube$]).pipe",{"_index":2927,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.position",{"_index":1514,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.previousregistrationnodes",{"_index":2897,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.previousvisibilityitems",{"_index":1791,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.refdata",{"_index":2512,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.getorgandata(place.target",{"_index":2520,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.normalizeplacement",{"_index":2516,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.referencedata",{"_index":1993,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.getreferenceorganiri",{"_index":2066,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.snapshot",{"_index":2073,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$.pipe",{"_index":2009,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$]).pipe",{"_index":2915,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.referenceorgannodes",{"_index":2896,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registerdata.emit",{"_index":2697,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registericonimpl(def",{"_index":1401,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registericonimpl(definition",{"_index":1413,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registration",{"_index":2975,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registration.editregistration(event",{"_index":1793,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.registration.previousregistrations$]).pipe",{"_index":2936,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registrationcallbackset",{"_index":2693,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.registrationisvalid",{"_index":2679,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registrationstarted",{"_index":345,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.registry",{"_index":1417,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registry?.addsvgiconresolver((name",{"_index":1403,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.renderer2.appendchild(this.document.body",{"_index":3426,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.renderer2.createelement('script",{"_index":3422,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.resolve",{"_index":1462,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.resultsvisible",{"_index":3277,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.rightmargin",{"_index":1041,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.rotation",{"_index":2798,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.rotationchange.emit(this.rotation",{"_index":2801,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.sanitizer.bypasssecuritytrusthtml(def.html",{"_index":1399,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.sanitizer.bypasssecuritytrustresourceurl(basehref",{"_index":1409,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.scene",{"_index":171,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.scene.nodecollisions$]).pipe",{"_index":136,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.searchcontrol.valuechanges.pipe",{"_index":3255,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.searchresults",{"_index":3260,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.selected",{"_index":1292,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.selection",{"_index":3496,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.selection.id",{"_index":3497,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.sendtoggle",{"_index":1571,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.sensor",{"_index":939,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.setanatomicalstructures(newstructures",{"_index":2064,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setanatomicalstructures(previousitems",{"_index":2059,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setchange.emit(value",{"_index":1296,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setdisplayerrors(false",{"_index":2573,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.sets.length",{"_index":1297,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setshowprevious(visible",{"_index":2058,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setstate(db",{"_index":2174,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.setstate(patch",{"_index":2282,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.settheme(this.defaulttheme",{"_index":3361,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.sexselected",{"_index":2360,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.side",{"_index":3079,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.sidechange.emit(this.side",{"_index":3080,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.skipconfirmation$.subscribe(skipconfirmation",{"_index":2307,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.slicesconfig",{"_index":2989,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfig[key",{"_index":2992,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfigchange.emit(this.slicesconfig",{"_index":2993,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.snackbar.openfromcomponent(trackingpopupcomponent",{"_index":358,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.snapshot",{"_index":2189,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.snapshot.blocksize",{"_index":2037,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.entities[tag.id",{"_index":179,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.snapshot.organ",{"_index":2070,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.name}_placement",{"_index":2030,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.organ",{"_index":2067,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.sex",{"_index":2071,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organdimensions",{"_index":2036,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.sex",{"_index":2068,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.showcollisions",{"_index":2902,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.snapshot.side",{"_index":2069,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.source",{"_index":1867,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.state$.pipe",{"_index":1983,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('anatomicalstructures",{"_index":1976,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('blocksize",{"_index":1963,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('displayerrors",{"_index":2461,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.state$.pipe(pluck('extractionsets",{"_index":1977,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('extractionsites",{"_index":1975,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('id",{"_index":1962,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organ",{"_index":1969,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organdimensions",{"_index":1971,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organiri",{"_index":1970,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('position",{"_index":1965,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('registrationcallbackset",{"_index":2253,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('rotation",{"_index":1964,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('sex",{"_index":1972,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('showprevious",{"_index":1974,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('side",{"_index":1973,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('slicesconfig",{"_index":1966,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('usecancelregistrationcallback",{"_index":2258,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('user",{"_index":2260,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('viewside",{"_index":1968,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('viewtype",{"_index":1967,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluckunique('haschanges",{"_index":2279,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('registrationstarted",{"_index":2255,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('skipconfirmation",{"_index":2275,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.statechange.emit",{"_index":1596,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.subscriptions.add",{"_index":340,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.subscriptions.add(channel.getmessagesfromsource(drawer).subscribe(msg",{"_index":3390,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.subscriptions.add(messages.subscribe(msg",{"_index":1028,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.subscriptions.add(this.channel.getmessages().subscribe(msg",{"_index":837,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.subscriptions.unsubscribe",{"_index":395,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["this.syncexpanded(other",{"_index":1597,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.tagremoved.emit(tag",{"_index":3159,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags",{"_index":2510,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{}}}],["this.tags$.subscribe((tags",{"_index":175,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.tags.addtags",{"_index":2545,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.filter(obj",{"_index":3154,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags.latesttags",{"_index":2563,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.tags$]).pipe",{"_index":2494,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tagschange.emit(this.tags",{"_index":3160,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.theme",{"_index":347,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["this.theme$.subscribe((theme",{"_index":346,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next('light",{"_index":366,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next(this.islighttheme",{"_index":368,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$]).subscribe",{"_index":355,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.gettheme().endswith('light",{"_index":338,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${theme",{"_index":356,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${this.theme",{"_index":367,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.toggle(coercebooleanproperty(value",{"_index":1521,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(false",{"_index":1565,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(true",{"_index":1563,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(coercebooleanproperty(value",{"_index":1525,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(false",{"_index":1577,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(true",{"_index":1574,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.updateentitiesmany",{"_index":180,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.updatefaded",{"_index":1032,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updatemargin(position",{"_index":1038,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updateopacity(item.opacity",{"_index":3500,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.updateview(false",{"_index":3078,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.updateview(true",{"_index":3077,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.validatedrawers",{"_index":840,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.value",{"_index":1696,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.valuechange.emit(this.value",{"_index":1701,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.view3d",{"_index":3081,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.view3dchange.emit(this.view3d",{"_index":3083,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.visibilitychanged.emit(this.visible",{"_index":3534,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.visible",{"_index":3532,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.width",{"_index":1538,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.xyztriplettostring(model.blocksize",{"_index":2577,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.position",{"_index":2578,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.rotation",{"_index":2579,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["those",{"_index":1869,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["throttle",{"_index":3199,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["throttletime",{"_index":1944,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["throttletime(0",{"_index":1984,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["through",{"_index":2787,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["throw",{"_index":830,"title":{},"body":{"components/ContainerComponent.html":{},"modules/CoreModule.html":{}}}],["throwduplicatedrawerserror",{"_index":4007,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["throwduplicatedrawerserror('end",{"_index":857,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror('start",{"_index":855,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror(position",{"_index":826,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["thrown",{"_index":825,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throws",{"_index":821,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["thumb",{"_index":2819,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["thumbnails",{"_index":3768,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":1189,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thymus.svg",{"_index":1190,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ticks",{"_index":2823,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["tied",{"_index":3771,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":3866,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":2479,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["timeouts",{"_index":3596,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":3589,"title":{},"body":{"changelog.html":{}}}],["timing",{"_index":465,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/VisibilityMenuComponent.html":{}}}],["tissue",{"_index":661,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["tissues",{"_index":3639,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":717,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"interfaces/DocumentationContent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["tmc",{"_index":3944,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":522,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["toggle'},{'name",{"_index":498,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle(opened",{"_index":1566,"title":{},"body":{"classes/InitializationState.html":{}}}],["toggle.component",{"_index":1713,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle.component.html",{"_index":1675,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.scss",{"_index":1674,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts",{"_index":1671,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["toggle.component.ts:18",{"_index":3530,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:19",{"_index":1688,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:23",{"_index":3529,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:24",{"_index":1682,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:29",{"_index":1685,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:34",{"_index":1681,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:39",{"_index":1680,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:40",{"_index":3528,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:51",{"_index":1694,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:52",{"_index":3531,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:61",{"_index":1690,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.module",{"_index":1829,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["toggle.module.ts",{"_index":1710,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle/labeled",{"_index":1670,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"coverage.html":{}}}],["toggle/visibility",{"_index":1837,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["togglebuttoncomponent",{"_index":521,"title":{"components/ToggleButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["toggled",{"_index":1034,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["toggleexpanded(expanded",{"_index":1578,"title":{},"body":{"classes/InitializationState.html":{}}}],["togglelabel",{"_index":3526,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["togglepreviousregistrationblocks",{"_index":1727,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["togglepreviousregistrationblocks(visible",{"_index":1742,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["toggleregistrationblocksvisibility(visible",{"_index":2057,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["toggles",{"_index":281,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["togglescheme",{"_index":232,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["togglevisibility",{"_index":3470,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["togglevisibility(item",{"_index":3491,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["toggling",{"_index":1744,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["token",{"_index":1856,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":3800,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":353,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}}}],["top",{"_index":418,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toradians",{"_index":2141,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tort",{"_index":4216,"title":{},"body":{"license.html":{}}}],["total",{"_index":3130,"title":{},"body":{"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["totalcount",{"_index":189,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["touch",{"_index":862,"title":{},"body":{"components/ContainerComponent.html":{}}}],["track",{"_index":1772,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["tracking/telemetry",{"_index":3712,"title":{},"body":{"changelog.html":{}}}],["trackingpopupcomponent",{"_index":325,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["trackingpopupmodule",{"_index":571,"title":{},"body":{"modules/AppModule.html":{}}}],["trailing",{"_index":1986,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["transform",{"_index":720,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["transformmatrix",{"_index":2847,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["transition",{"_index":421,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["transition('closed",{"_index":1501,"title":{},"body":{"classes/InitializationState.html":{}}}],["transition('false",{"_index":1025,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["translate",{"_index":3444,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["translate([p.x_translation",{"_index":2944,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translate([position.x",{"_index":2964,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translation_units",{"_index":2635,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["transparency",{"_index":3801,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":3818,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":202,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["trigger",{"_index":1020,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{}}}],["trigger('expandcollapse",{"_index":1504,"title":{},"body":{"classes/InitializationState.html":{}}}],["trigger('fadeinout",{"_index":1022,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["trigger('openclose",{"_index":1498,"title":{},"body":{"classes/InitializationState.html":{}}}],["triggerfileinput",{"_index":1625,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["triplet",{"_index":2459,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["true",{"_index":297,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"modules/ThemingModule.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["true=left",{"_index":1691,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["truncateresults",{"_index":3186,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncateresults(result",{"_index":3229,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncates",{"_index":3231,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["try",{"_index":1426,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["ts",{"_index":4110,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":4113,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1146,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":3953,"title":{},"body":{"changelog.html":{}}}],["tuple",{"_index":847,"title":{},"body":{"components/ContainerComponent.html":{}}}],["turn",{"_index":3786,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":3774,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":3772,"title":{},"body":{"changelog.html":{}}}],["turns",{"_index":2662,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["tutorial",{"_index":3688,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1683,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["tx",{"_index":4123,"title":{},"body":{"miscellaneous/functions.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":2164,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["type",{"_index":45,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":4226,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":1061,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["types/lru",{"_index":4051,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":126,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":3922,"title":{},"body":{"changelog.html":{}}}],["typography",{"_index":2731,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["ufl",{"_index":3767,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":636,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":4135,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":4144,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":4141,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":4143,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":4142,"title":{},"body":{"index.html":{}}}],["undefined",{"_index":848,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["under",{"_index":1128,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["underline",{"_index":1314,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["unique",{"_index":1842,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["university",{"_index":4162,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":642,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{}}}],["unlike",{"_index":1119,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["unnecessary",{"_index":3700,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":2850,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["unselect",{"_index":3741,"title":{},"body":{"changelog.html":{}}}],["unset",{"_index":3400,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["until",{"_index":306,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["unused",{"_index":3152,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["up",{"_index":278,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["update",{"_index":2796,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["updateblocksizes",{"_index":703,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["updateblocksizes(input",{"_index":690,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["updated",{"_index":689,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["updatedselection",{"_index":3503,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.id",{"_index":3506,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.opacity",{"_index":3508,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateextractionsitetooltip",{"_index":1728,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateextractionsitetooltip(item",{"_index":1751,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updatefaded",{"_index":985,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin",{"_index":986,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin(position",{"_index":1009,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatename",{"_index":2102,"title":{},"body":{"components/NameInputComponent.html":{}}}],["updatename(input",{"_index":2107,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["updateopacity",{"_index":3471,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateopacity(value",{"_index":3494,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateregistration",{"_index":1729,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateregistration(event",{"_index":1757,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updates",{"_index":684,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent-1.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["updateside",{"_index":3025,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateside(selection",{"_index":3050,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateskipconfirmation",{"_index":2295,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["updateslicesdata",{"_index":2996,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["updateslicesdata(input",{"_index":2987,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["updatetoggle",{"_index":1676,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updatetoggle(selection",{"_index":1689,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updateview",{"_index":3026,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateview(selection",{"_index":3053,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updating",{"_index":2793,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{}}}],["upgraded",{"_index":3863,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":3925,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":3715,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1628,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["uploaded",{"_index":1633,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["upperbound",{"_index":2887,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["upperbound[i",{"_index":2891,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ureter",{"_index":1191,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":350,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["urls",{"_index":1391,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["use",{"_index":960,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"license.html":{}}}],["usecallback",{"_index":2446,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usecancelregistrationcallback",{"_index":2230,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["used",{"_index":48,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["usedownload",{"_index":614,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usedropdownmenu",{"_index":3027,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usedropdownmenu(value",{"_index":3068,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usefactory",{"_index":751,"title":{},"body":{"modules/ConfigModule.html":{}}}],["useful",{"_index":823,"title":{},"body":{"components/ContainerComponent.html":{}}}],["user",{"_index":333,"title":{"interfaces/User.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["user's",{"_index":2121,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{}}}],["user.firstname",{"_index":2397,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user.lastname",{"_index":2398,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user/os",{"_index":3692,"title":{},"body":{"changelog.html":{}}}],["useregistrationcallback",{"_index":2491,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["username",{"_index":2105,"title":{"interfaces/UserName.html":{}},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["users",{"_index":3939,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":3705,"title":{},"body":{"changelog.html":{}}}],["usevalue",{"_index":590,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["using",{"_index":3678,"title":{},"body":{"changelog.html":{}}}],["uterus",{"_index":1192,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["uterus.svg",{"_index":1193,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":3697,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":2476,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":2487,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["v",{"_index":3266,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["v1.1",{"_index":3634,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":3785,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":3637,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":3628,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":3598,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":3572,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":3578,"title":{},"body":{"changelog.html":{}}}],["v1[key",{"_index":1989,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2",{"_index":1988,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2[key",{"_index":1990,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v4",{"_index":2486,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["valid",{"_index":2220,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/typealiases.html":{}}}],["validate",{"_index":2112,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validatedrawers",{"_index":768,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validates",{"_index":790,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validators",{"_index":2119,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validators.required",{"_index":2111,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["value",{"_index":86,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["value.name",{"_index":1295,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["valuechange",{"_index":1679,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["valueof",{"_index":1458,"title":{},"body":{"classes/InitializationState.html":{}}}],["values",{"_index":679,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["var",{"_index":471,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["variable",{"_index":1770,"title":{},"body":{"components/LeftSidebarComponent.html":{},"coverage.html":{}}}],["variables",{"_index":4236,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1194,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["vec3",{"_index":2877,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...lowerbound.map((n",{"_index":2889,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...upperbound.map((n",{"_index":2892,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["version",{"_index":3647,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":921,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["via",{"_index":2785,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["video",{"_index":524,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["videomodalcomponent",{"_index":523,"title":{"components/VideoModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchercomponent",{"_index":525,"title":{"components/VideoModalLauncherComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchermodule",{"_index":1080,"title":{"modules/VideoModalLauncherModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules.html":{},"overview.html":{}}}],["videomodalmodule",{"_index":3452,"title":{"modules/VideoModalModule.html":{}},"body":{"modules/VideoModalModule.html":{},"modules.html":{},"overview.html":{}}}],["view",{"_index":894,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["view3d",{"_index":3028,"title":{},"body":{"components/StageNavComponent.html":{}}}],["view3dchange",{"_index":3030,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild",{"_index":1647,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["viewchild('closesearch",{"_index":3233,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["viewchild('fileinput",{"_index":1644,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["viewchild('label",{"_index":3057,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild('options",{"_index":3059,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchildren",{"_index":815,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewchildren(contentcomponent",{"_index":802,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewed",{"_index":1956,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewer",{"_index":3764,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":3015,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["views",{"_index":3707,"title":{},"body":{"changelog.html":{}}}],["viewside",{"_index":942,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewtype",{"_index":1922,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["visibility",{"_index":528,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["visibility_menu",{"_index":3499,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["visibility_off",{"_index":1203,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_off_cube",{"_index":1204,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_on",{"_index":1201,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_toggle",{"_index":3533,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilitychanged",{"_index":3527,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilityitem",{"_index":1263,"title":{"interfaces/VisibilityItem.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["visibilityitems",{"_index":2056,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["visibilitymenucomponent",{"_index":527,"title":{"components/VisibilityMenuComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitymenumodule",{"_index":1817,"title":{"modules/VisibilityMenuModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{},"modules.html":{},"overview.html":{}}}],["visibilitytogglecomponent",{"_index":530,"title":{"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitytogglemodule",{"_index":1818,"title":{"modules/VisibilityToggleModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["visible",{"_index":1748,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["visual",{"_index":3562,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":3733,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":3864,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":56,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["vs",{"_index":3686,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":3949,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":386,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["wait",{"_index":1460,"title":{},"body":{"classes/InitializationState.html":{}}}],["waits",{"_index":1590,"title":{},"body":{"classes/InitializationState.html":{}}}],["want",{"_index":1756,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["warming",{"_index":3593,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":3883,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":4203,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":4200,"title":{},"body":{"license.html":{}}}],["watch",{"_index":3442,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["wc",{"_index":605,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":475,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["web",{"_index":572,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["webcomponent",{"_index":3685,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":4053,"title":{},"body":{"dependencies.html":{}}}],["webkit",{"_index":860,"title":{},"body":{"components/ContainerComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["webpages",{"_index":3652,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":4130,"title":{},"body":{"index.html":{}}}],["week",{"_index":3955,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":718,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whenever",{"_index":1531,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whether",{"_index":813,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"license.html":{}}}],["white",{"_index":447,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["whole",{"_index":3951,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":414,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["widths",{"_index":1599,"title":{},"body":{"classes/InitializationState.html":{}}}],["window:click",{"_index":3190,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:click(event",{"_index":3204,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin",{"_index":3191,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin(event",{"_index":3206,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["within",{"_index":2791,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["withlatestfrom",{"_index":2272,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["withlatestfrom(this.globalskipconfirmation",{"_index":2301,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["without",{"_index":804,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["workaround",{"_index":1609,"title":{},"body":{"classes/InitializationState.html":{}}}],["workflows",{"_index":3820,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":3642,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":3836,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":3084,"title":{},"body":{"components/StageNavComponent.html":{}}}],["wrapped",{"_index":801,"title":{},"body":{"components/ContainerComponent.html":{}}}],["wrapper",{"_index":432,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["wrapping",{"_index":805,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{}}}],["x",{"_index":390,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["x,y,z",{"_index":890,"title":{},"body":{"components/ContentComponent.html":{}}}],["x_dimension",{"_index":2604,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_rotation",{"_index":2620,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_scaling",{"_index":2615,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_translation",{"_index":2629,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyz",{"_index":2458,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyztriplet",{"_index":1923,"title":{"interfaces/XYZTriplet.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["xyztriplettostring",{"_index":2421,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["xyztriplettostring(xyz",{"_index":2456,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y",{"_index":387,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":2606,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_rotation",{"_index":2622,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_scaling",{"_index":2616,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_translation",{"_index":2631,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["yes",{"_index":2317,"title":{},"body":{"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{}}}],["youtube",{"_index":3405,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["youtubeplayermodule",{"_index":3456,"title":{},"body":{"modules/VideoModalModule.html":{}}}],["z",{"_index":382,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":2608,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_rotation",{"_index":2624,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_scaling",{"_index":2617,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_translation",{"_index":2633,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["zone.js",{"_index":4115,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":547,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["zoombasedopacity",{"_index":2853,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"injectables/AnatomicalStructureTagState.html":{"url":"injectables/AnatomicalStructureTagState.html","title":"injectable - AnatomicalStructureTagState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n AnatomicalStructureTagState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag collection global state\n\n \n\n \n Extends\n \n \n NgxsDataEntityCollectionsRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _latestTags\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n scene\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTag\n \n \n Private\n addTagRaw\n \n \n addTags\n \n \n ngxsOnInit\n \n \n removeTag\n \n \n searchExternal\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n latestTags\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTag\n \n \n \n \n \n \naddTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addTagRaw\n \n \n \n \n \n \n \n addTagRaw(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:158\n \n \n\n\n \n \n Adds a tag. Implementation helper for addTags and addTag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n The tag\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags(tags: Tag[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:95\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:124\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n searchExternal\n \n \n \n \n \n \nsearchExternal(text: string, limit: number)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:140\n \n \n\n\n \n \n Searches for matching tags (not in the state)\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n Maximum returned results hint\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n external Search result\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _latestTags\n \n \n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:75\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n scene\n \n \n \n \n \n \n Type : SceneState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:77\n \n \n\n \n \n Reference to the scene state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n\n \n \n gettags$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:38\n \n \n \n \n Observable of tags\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n latestTags\n \n \n\n \n \n getlatestTags()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:70\n \n \n\n \n \n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AnatomicalStructureTagStateModel.html":{"url":"interfaces/AnatomicalStructureTagStateModel.html","title":"interface - AnatomicalStructureTagStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AnatomicalStructureTagStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag state model\n\n \n\n\n\n\n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app.component.ts\n\n\n\n \n Description\n \n \n App component\n\n \n\n\n \n Implements\n \n \n OnDestroy\n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n disablePositionChange\n \n \n Readonly\n header$\n \n \n homeUrl\n \n \n Readonly\n homeUrl$\n \n \n logoTooltip\n \n \n Readonly\n logoTooltip$\n \n \n open\n \n \n organList\n \n \n registrationStarted\n \n \n Private\n Readonly\n subscriptions\n \n \n theme\n \n \n Readonly\n theme$\n \n \n Readonly\n themeMode$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n handleKey\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n toggleScheme\n \n \n \n \n\n\n\n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n document:keydown\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, consentService: ConsentService, snackbar: MatSnackBar, theming: ThemingService, el: ElementRef<>, injector: Injector, globalConfig: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n snackbar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n theming\n \n \n ThemingService\n \n \n \n No\n \n \n \n \n el\n \n \n ElementRef<>\n \n \n \n No\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:keydown\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keydown(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleKey\n \n \n \n \n \n \nhandleKey(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keydown', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:178\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleScheme\n \n \n \n \n \n \ntoggleScheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:118\n \n \n\n\n \n \n Toggles scheme between light and dark mode\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n disablePositionChange\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:44\n \n \n\n \n \n Disables changes in block position\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n header$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('header')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n homeUrl$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('homeUrl')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n logoTooltip$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('logoTooltip')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n open\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:38\n \n \n\n \n \n True if the organ selector drawer is open\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:35\n \n \n\n \n \n Organs to be displayed in the organ selector\n\n \n \n\n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:41\n \n \n\n \n \n False until the initial registration modal is closed\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n theme$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('theme')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n themeMode$\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:51\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n\n \n \n getisLightTheme()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:46\n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n\n\n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n {{ organSelector.expanded ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n {{ open ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n \n \n\n\n \n\n \n \n ./app.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n font-size: 1rem;\n color: black;\n\n .header-hidden {\n display: none;\n }\n\n ccf-drawer-container {\n height: 100%;\n\n ccf-drawer {\n width: 25.5rem;\n }\n\n ccf-drawer-content {\n position: relative;\n z-index: 1;\n\n .selector-drawer {\n top: 0rem;\n display: flex;\n flex-direction: column;\n position: relative;\n height: 5.688rem;\n transition: all 0.5s ease-in-out;\n\n &.expanded {\n height: 15rem;\n }\n\n ccf-organ-selector {\n height: 100%;\n padding-top: 0.5rem;\n transition: all 0.5s;\n \n &.closed {\n padding-top: 0;\n }\n }\n\n .close-button-wrapper {\n display: flex;\n justify-content: center;\n height: 0;\n z-index: 2;\n \n .close-button {\n cursor: pointer;\n transition: 0.6s;\n\n .expand-collapse-icon {\n width: 3rem;\n height: 1.2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n background-color: white;\n border-bottom-left-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n transition: 0.6s;\n \n &:hover {\n background-color: #ececec;\n }\n }\n }\n }\n\n\n &.closed {\n height: 3rem;\n top: -2.9rem;\n }\n }\n\n .stage-content {\n border-radius: 0.5rem !important;\n height: calc(100% - 2.688rem - 3rem - 1.5rem);\n }\n\n .expanded-stage {\n height: calc(100% - 1.5rem);\n padding-bottom: 1rem;\n }\n\n .retracted-stage {\n height: calc(100% - 2.688rem - 14rem);\n }\n\n }\n\n\n\n ccf-content {\n // top: 0rem;\n position: absolute;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n transition-property: all;\n bottom: 1.5rem;\n z-index: 1;\n\n }\n\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ organSelector.expanded ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} {{ open ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n Imports\n \n \n ContentModule\n \n \n CoreModule\n \n \n DrawerModule\n \n \n HeaderModule\n \n \n LeftSidebarModule\n \n \n RegistrationModalModule\n \n \n RightSidebarModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.module.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { OrganSelectorModule, TrackingPopupModule } from 'ccf-shared';\n\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { DEFAULT_THEME } from './core/services/theming/theming.service';\nimport { ContentModule } from './modules/content/content.module';\nimport { HeaderModule } from './modules/header/header.module';\nimport { LeftSidebarModule } from './modules/left-sidebar/left-sidebar.module';\nimport { RegistrationModalModule } from './modules/registration-modal/registration-modal/registration-modal.module';\nimport { RightSidebarModule } from './modules/right-sidebar/right-sidebar.module';\nimport { DrawerModule } from './shared/components/drawer/drawer.module';\n\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CoreModule,\n MatIconModule,\n DrawerModule,\n HeaderModule,\n ContentModule,\n LeftSidebarModule,\n RightSidebarModule,\n OrganSelectorModule,\n RegistrationModalModule,\n TrackingPopupModule,\n MatSnackBarModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [\n {\n provide: DEFAULT_THEME,\n useValue: 'hubmap-theme-light'\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'standard',\n floatLabel: false,\n hideRequiredMarker: true\n }\n }\n ],\n entryComponents: [AppComponent, AppWebComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-rui', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n \n Extends\n \n \n GlobalConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n theme\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n baseHref\n \n \n cancelRegistration\n \n \n editRegistration\n \n \n fetchPreviousRegistrations\n \n \n header\n \n \n homeUrl\n \n \n logoTooltip\n \n \n organ\n \n \n register\n \n \n skipUnsavedChangesConfirmation\n \n \n theme\n \n \n useDownload\n \n \n user\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n baseHref\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:25\n \n \n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n Type : string | CancelRegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:31\n \n \n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n Type : string | SpatialEntityJsonLd\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:29\n \n \n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n Type : string | FetchPreviousRegistrationsCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:32\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:35\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:37\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n Type : string | Organ\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:28\n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n Type : string | RegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:30\n \n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n theme\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:34\n \n \n \n \n \n \n \n \n \n useDownload\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:26\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n Type : string | User\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:27\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS } from 'ccf-shared/web-components';\nimport { ObservableInput } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\n\nimport { environment } from '../environments/environment';\n\n\nexport type User = NonNullable;\nexport type Organ = NonNullable;\nexport type RegistrationCallback = (data: unknown) => void;\nexport type CancelRegistrationCallback = () => void;\nexport type FetchPreviousRegistrationsCallback = () => ObservableInput[]>;\n\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() baseHref: string;\n @Input() useDownload: string | boolean;\n @Input() user: string | User;\n @Input() organ: string | Organ;\n @Input() editRegistration: string | SpatialEntityJsonLd;\n @Input() register: string | RegistrationCallback;\n @Input() cancelRegistration: string | CancelRegistrationCallback;\n @Input() fetchPreviousRegistrations: string | FetchPreviousRegistrationsCallback;\n @Input() skipUnsavedChangesConfirmation: string | boolean;\n @Input() theme: string;\n @Input() header: string | boolean;\n @Input() homeUrl: string;\n @Input() logoTooltip: string;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n const BP = BUILTIN_PARSERS;\n\n super(configStore, cdr, {\n initialDelay: 500,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['ruiConfig' as string],\n ...environment.customization\n },\n parse: {\n useDownload: BP.boolean,\n user: BP.json,\n organ: BP.json,\n editRegistration: BP.json,\n register: BP.function,\n cancelRegistration: BP.function,\n fetchPreviousRegistrations: BP.function,\n skipUnsavedChangesConfirmation: BP.boolean,\n header: BP.boolean,\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BlockSize.html":{"url":"interfaces/BlockSize.html","title":"interface - BlockSize","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BlockSize\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n\n\n \n Description\n \n \n Interface for objects containing tissue block dimensions\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of block\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Height of block\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Depth of block\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BlockSizeInputComponent.html":{"url":"components/BlockSizeInputComponent.html","title":"component - BlockSizeInputComponent","body":"\n \n\n\n\n\n\n Components\n \n BlockSizeInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering dimensions of the tissue block\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-block-size-input\n \n\n \n styleUrls\n ./block-size-input.component.scss\n \n\n\n\n \n templateUrl\n ./block-size-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshBlockSize\n \n \n updateBlockSizes\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n blockSize\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n blockSizeChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n\n \n \n Creates an instance of block size input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n blockSize\n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : DEFAULT_BLOCK_SIZE\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:40\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n blockSizeChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n \n \n Emitter for values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-block-size-input\"\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshBlockSize\n \n \n \n \n \n \nrefreshBlockSize()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:70\n \n \n\n\n \n \n Refreshes all block size values to 10\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateBlockSizes\n \n \n \n \n \n \nupdateBlockSizes(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:60\n \n \n\n\n \n \n Updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n \n \n Tissue Block Dimensions (mm)\n \n refresh\n\n\n\n \n Width (X)\n \n \n\n \n Height (Y)\n \n \n\n \n Depth (Z)\n \n \n\n\n \n\n \n \n ./block-size-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n height: 1.5rem;\n align-items: center;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n } \n }\n }\n\n .size-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Dimensions (mm) refresh Width (X) Height (Y) Depth (Z) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BlockSizeInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BlockSizeInputModule.html":{"url":"modules/BlockSizeInputModule.html","title":"module - BlockSizeInputModule","body":"\n \n\n\n\n\n Modules\n BlockSizeInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n BlockSizeInputComponent\n \n \n \n \n Exports\n \n \n BlockSizeInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\nimport { BlockSizeInputComponent } from './block-size-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule\n ],\n declarations: [BlockSizeInputComponent],\n exports: [BlockSizeInputComponent]\n})\nexport class BlockSizeInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConfigModule.html":{"url":"modules/ConfigModule.html","title":"module - ConfigModule","body":"\n \n\n\n\n\n Modules\n ConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\n\nimport { GLOBAL_CONFIG, globalConfigFactory } from './config';\n\n\n@NgModule({\n providers: [\n {\n provide: GLOBAL_CONFIG,\n useFactory: globalConfigFactory,\n deps: [GlobalsService]\n }\n ]\n})\nexport class ConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContainerComponent.html":{"url":"components/ContainerComponent.html","title":"component - ContainerComponent","body":"\n \n\n\n\n\n\n Components\n \n ContainerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n\n\n\n \n Description\n \n \n Main container for drawer components.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n \n exportAs\n ccfDrawerContainer\n \n\n\n\n\n\n \n providers\n \n MessageService\n \n \n\n\n \n selector\n ccf-drawer-container\n \n\n \n styleUrls\n ./container.component.scss\n \n\n\n\n \n templateUrl\n ./container.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Readonly\n className\n \n \n Private\n content1\n \n \n Private\n content2\n \n \n Private\n drawers\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n Private\n validateDrawers\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n hasWrappedContent\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n Creates an instance of container component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n The service used to send event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-container\"\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(_msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:115\n \n \n\n\n \n \n Processes event messages.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:83\n \n \n\n\n \n \n Sets up all listeners after all content has been projected.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:105\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n validateDrawers\n \n \n \n \n \n \n \n validateDrawers()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:124\n \n \n\n\n \n \n Validates the number of drawers and their positions.\n\n\n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Type : MessageChannel\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:60\n \n \n\n \n \n The connected message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content1\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(ContentComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:45\n \n \n\n \n \n Content component if provided already wrapped.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content2\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ViewChildren(ContentComponent)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:48\n \n \n\n \n \n Content component if provided without wrapping.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(DrawerComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:41\n \n \n\n \n \n Drawer components in this container.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n\n \n \n getcontent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:50\n \n \n \n \n Resolves the content component.\n\n\n \n Returns : ContentComponent\n\n \n \n \n\n \n \n \n \n \n \n \n hasWrappedContent\n \n \n\n \n \n gethasWrappedContent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:55\n \n \n \n \n Whether the content was wrapped.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, HostBinding, OnDestroy, QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { ContentComponent } from '../content/content.component';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/**\n * Helper function for creating drawer errors.\n *\n * @param position The position of the drawer.\n * @throws {Error} Error with useful message is always thrown.\n */\nfunction throwDuplicateDrawersError(position: 'start' | 'end'): never {\n throw new Error(`Multiple drawers in position ${position}`);\n}\n\n\n/**\n * Main container for drawer components.\n */\n@Component({\n selector: 'ccf-drawer-container',\n exportAs: 'ccfDrawerContainer',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n providers: [MessageService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-container';\n\n /** Drawer components in this container. */\n @ContentChildren(DrawerComponent, { descendants: true })\n private drawers: QueryList;\n\n /** Content component if provided already wrapped. */\n @ContentChildren(ContentComponent, { descendants: true })\n private content1: QueryList;\n /** Content component if provided without wrapping. */\n @ViewChildren(ContentComponent)\n private content2: QueryList;\n /** Resolves the content component. */\n private get content(): ContentComponent {\n return this.content1.first ?? this.content2.first;\n }\n\n /** Whether the content was wrapped. */\n get hasWrappedContent(): boolean {\n return this.content1.length !== 0;\n }\n\n /** The connected message channel. */\n private channel: MessageChannel;\n /** All subscriptions managed by the container. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of container component.\n *\n * @param messageService The service used to send event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Sets up all listeners after all content has been projected.\n */\n ngAfterViewInit(): void {\n this.drawers.changes.pipe(startWith(null)).subscribe(() => {\n const drawers = this.validateDrawers();\n this.channel.sendMessage({\n type: 'drawer-containers-changed',\n drawers\n });\n this.cdr.markForCheck();\n });\n\n this.content1.changes.pipe(startWith(null)).subscribe(() => {\n this.channel.sendMessage({\n type: 'content-container-changed',\n content: this.content\n });\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Processes event messages.\n *\n * @param _msg The event.\n * @returns true if change detection needs to be run.\n */\n private handleMessage(_msg: Message): boolean {\n return true;\n }\n\n /**\n * Validates the number of drawers and their positions.\n *\n * @returns A tuple containing the start and end drawers.\n */\n private validateDrawers(): [DrawerComponent | undefined, DrawerComponent | undefined] {\n const drawers = this.drawers.toArray();\n const startDrawers = drawers.filter(drawer => drawer.position === 'start');\n const endDrawers = drawers.filter(drawer => drawer.position === 'end');\n\n if (startDrawers.length > 1) {\n throwDuplicateDrawersError('start');\n }\n if (endDrawers.length > 1) {\n throwDuplicateDrawersError('end');\n }\n\n return [startDrawers[0], endDrawers[0]];\n }\n}\n\n \n\n \n \n\n\n\n \n\n\n \n\n \n \n ./container.component.scss\n \n :host {\n display: block;\n position: relative;\n z-index: 1;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContainerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent.html":{"url":"components/ContentComponent.html","title":"component - ContentComponent","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/content.component.ts\n\n\n\n \n Description\n \n \n Main content component\n\n \n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n\n \n templateUrl\n ./content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bounds$\n \n \n Readonly\n clsName\n \n \n debugMode\n \n \n Readonly\n is3DView$\n \n \n isNarrowView\n \n \n Readonly\n position$\n \n \n Private\n sensor\n \n \n showDebugButtons\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleNodeDrag\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n resetStage\n \n \n setViewType\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, registration: RegistrationState, scene: SceneState, rootRef: ElementRef, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n The model state\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n The registration state\n\n \n \n \n scene\n \n \n SceneState\n \n \n \n No\n \n \n \n \n \n \n rootRef\n \n \n ElementRef\n \n \n \n No\n \n \n \n Component's root element\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Change detector\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-content\"\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleNodeDrag\n \n \n \n \n \n \nhandleNodeDrag(event: NodeDragEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n NodeDragEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:97\n \n \n\n\n \n \n Detaches the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:84\n \n \n\n\n \n \n Sets up the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n resetStage\n \n \n \n \n \n \nresetStage()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:113\n \n \n\n\n \n \n Method to reset registration block, crosshairs, and x,y,z information.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setViewType\n \n \n \n \n \n \nsetViewType(is3DView: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:106\n \n \n\n\n \n \n Sets view type\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n is3DView\n \n boolean\n \n\n \n No\n \n\n\n \n Set view type to '3d' if this is true otherwise set it to 'register'\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bounds$\n \n \n \n \n \n \n Default value : this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n debugMode\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:53\n \n \n\n \n \n Shows / hides the state debug component for testing purposes.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n is3DView$\n \n \n \n \n \n \n Default value : this.model.viewType$.pipe(\n map(type => type === '3d')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:33\n \n \n\n \n \n Whether the view type is 3d or register\n\n \n \n\n \n \n \n \n \n \n \n \n isNarrowView\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:48\n \n \n\n \n \n Whether the content area is very narrow\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n position$\n \n \n \n \n \n \n Default value : this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sensor\n \n \n \n \n \n \n Type : ResizeSensor\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Resize detection\n\n \n \n\n \n \n \n \n \n \n \n \n showDebugButtons\n \n \n \n \n \n \n Default value : !environment.production\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:58\n \n \n\n \n \n Show debug buttons of content component\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, OnDestroy, OnInit\n} from '@angular/core';\nimport { NodeDragEvent } from 'ccf-body-ui';\nimport { ResizeSensor } from 'css-element-queries';\nimport { distinctUntilKeyChanged, map } from 'rxjs/operators';\n\nimport { environment } from '../../../environments/environment';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { SceneState } from '../../core/store/scene/scene.state';\n\n\n/**\n * Main content component\n */\n@Component({\n selector: 'ccf-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnInit, OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-content';\n\n readonly position$ = this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n );\n\n /** Whether the view type is 3d or register */\n readonly is3DView$ = this.model.viewType$.pipe(\n map(type => type === '3d')\n );\n\n readonly bounds$ = this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n );\n\n /** Whether the content area is very narrow */\n isNarrowView = false;\n\n /**\n * Shows / hides the state debug component for testing purposes.\n */\n debugMode = false;\n\n /**\n * Show debug buttons of content component\n */\n showDebugButtons = !environment.production;\n\n /** Resize detection */\n private sensor: ResizeSensor;\n\n /**\n * Creates an instance of content component.\n *\n * @param model The model state\n * @param page The page state\n * @param registration The registration state\n * @param rootRef Component's root element\n * @param cdr Change detector\n */\n constructor(\n readonly model: ModelState,\n readonly page: PageState,\n readonly registration: RegistrationState,\n readonly scene: SceneState,\n private readonly rootRef: ElementRef,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n /**\n * Sets up the resize sensor\n */\n ngOnInit(): void {\n this.sensor = new ResizeSensor(this.rootRef.nativeElement, ({ width }) => {\n const isNarrowView = width n * 1000) as [number, number];\n const { position, viewSide, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => n / 2);\n let newPosition = position;\n switch (viewSide) {\n case 'anterior':\n newPosition = { x: a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'posterior':\n newPosition = { x: -a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'left':\n newPosition = { x: position.x, y: b + dims[1], z: -a + dims[2] };\n break;\n case 'right':\n newPosition = { x: position.x, y: b + dims[1], z: a + dims[2] };\n break;\n }\n this.model.setPosition(newPosition);\n }\n }\n }\n}\n\n \n\n \n \n \n \n refresh\n\n\n\n \n\n \n\n \n \n \n X: {{ (position$ | async)?.x }}\n Y: {{ (position$ | async)?.y }}\n Z: {{ (position$ | async)?.z }}\n \n \n\n \n \n\n\n\n\n\n State\n Use callback\n Use download\n\n\n \n\n \n \n ./content.component.scss\n \n :host {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1.5rem;\n overflow: hidden;\n\n .top-bar {\n display: flex;\n justify-content: space-between;\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n }\n }\n\n .main-content {\n display: flex;\n height: calc(100% - 1rem);\n\n .body-ui {\n flex: auto;\n transition: opacity 1s;\n }\n\n .gizmo-area {\n width: 4rem;\n margin-top: 1.5rem;\n margin-left: 1.5rem;\n z-index: 10;\n\n .position-display {\n display: flex;\n justify-content: center;\n margin-bottom: 1.5rem;\n }\n\n .gizmo {\n height: 5.5rem;\n .hidden {\n opacity: 0;\n z-index: 0;\n }\n }\n }\n }\n\n // Temporary for displaying dev information\n .ccf-store-debug {\n color: white;\n position: absolute;\n top: .5rem;\n max-width: 55rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' refresh X: {{ (position$ | async)?.x }} Y: {{ (position$ | async)?.y }} Z: {{ (position$ | async)?.z }} State Use callback Use download'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent-1.html":{"url":"components/ContentComponent-1.html","title":"component - ContentComponent-1","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n\n\n\n \n Description\n \n \n Component wrapping and providing animations for center content.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n animationsEnabled\n \n \n Readonly\n className\n \n \n Private\n drawers\n \n \n faded\n \n \n leftMargin\n \n \n rightMargin\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngOnDestroy\n \n \n Private\n updateFaded\n \n \n Private\n updateMargin\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n @fadeInOut\n \n \n class\n \n \n class.cff-drawer-content-animations\n \n \n style.margin-left.px\n \n \n style.margin-right.px\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n @fadeInOut\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-content\"\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.cff-drawer-content-animations\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-left.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-right.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:70\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:60\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateFaded\n \n \n \n \n \n \n \n updateFaded()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:116\n \n \n\n\n \n \n Checks and updates the faded state based on the drawer states.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateMargin\n \n \n \n \n \n \n \n updateMargin(position: \"start\" | \"end\", opened: boolean, width: number, margin: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:103\n \n \n\n\n \n \n Updates a margin.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n position\n \n \"start\" | \"end\"\n \n\n \n No\n \n\n\n \n Start (left) or end (right) margin.\n\n \n \n \n opened\n \n boolean\n \n\n \n No\n \n\n\n \n Whether the drawer is opened.\n\n \n \n \n width\n \n number\n \n\n \n No\n \n\n\n \n The width of the drawer if opened.\n\n \n \n \n margin\n \n number\n \n\n \n No\n \n\n\n \n The margin size.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n animationsEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('class.cff-drawer-content-animations')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : DrawerComponent[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:39\n \n \n\n \n \n References to the side drawers.\n\n \n \n\n \n \n \n \n \n \n \n \n faded\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('@fadeInOut')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n leftMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-left.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n rightMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-right.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n\n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Component wrapping and providing animations for center content.\n */\n@Component({\n selector: 'ccf-drawer-content',\n template: '',\n styleUrls: ['./content.component.scss'],\n animations: [\n trigger('fadeInOut', [\n state('false', style({ opacity: 1 })),\n state('true', style({ opacity: 0 })),\n\n transition('false true', animate('1s'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-content';\n /** Whether animations are enabled. */\n @HostBinding('class.cff-drawer-content-animations') animationsEnabled = false;\n /** Left margin size. */\n @HostBinding('style.margin-left.px') leftMargin = 0;\n /** Right margin size. */\n @HostBinding('style.margin-right.px') rightMargin = 0;\n /** Whether the content is invisible. */\n @HostBinding('@fadeInOut') faded = false;\n\n /** References to the side drawers. */\n private drawers: DrawerComponent[] = [];\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of content component.\n *\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef) {\n const messages = messageService.connect(this).getMessages();\n this.subscriptions.add(messages.subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /** Cleans up all subscriptions. */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-containers-changed':\n this.drawers = msg.payload.drawers as DrawerComponent[];\n this.updateFaded();\n return true;\n\n case 'drawer-initialized':\n this.animationsEnabled = true;\n return true;\n\n case 'drawer-toggled': {\n const position = (msg.source as DrawerComponent).position;\n const { opened, width, margin } = msg.payload;\n\n this.updateMargin(position, opened, width, margin);\n this.updateFaded();\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Updates a margin.\n *\n * @param position Start (left) or end (right) margin.\n * @param opened Whether the drawer is opened.\n * @param width The width of the drawer if opened.\n * @param margin The margin size.\n */\n private updateMargin(position: 'start' | 'end', opened: boolean,\n width: number, margin: number): void {\n const offset = opened ? width + margin : margin;\n if (position === 'start') {\n this.leftMargin = offset;\n } else {\n this.rightMargin = offset;\n }\n }\n\n /**\n * Checks and updates the faded state based on the drawer states.\n */\n private updateFaded(): void {\n const [start, end] = this.drawers;\n const startExpanded = start?.opened && start?.expanded;\n const endExpanded = end?.opened && end?.expanded;\n this.faded = !!(startExpanded || endExpanded);\n }\n}\n\n \n\n\n \n \n ./content.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n z-index: 2;\n overflow: auto;\n\n &.cff-drawer-content-animations {\n transition: {\n duration: .5s;\n timing-function: ease-in-out;\n property: margin-left, margin-right;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent-1'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContentContainerChanged.html":{"url":"interfaces/ContentContainerChanged.html","title":"interface - ContentContainerChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContentContainerChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when the content component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n A reference to the new content component.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContentModule.html":{"url":"modules/ContentModule.html","title":"module - ContentModule","body":"\n \n\n\n\n\n Modules\n ContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_declarations\n\n\n\n\nContentComponent\n\nContentComponent\n\n\n\nContentModule\n\nContentModule\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContentComponent\n \n \n \n \n Imports\n \n \n StageNavModule\n \n \n VideoModalLauncherModule\n \n \n \n \n Exports\n \n \n ContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BodyUiModule, StoreDebugModule } from 'ccf-shared';\n\nimport { ContentComponent } from '../content/content.component';\nimport { StageNavModule } from './stage-nav/stage-nav.module';\nimport { VideoModalLauncherModule } from './video-modal/video-modal-launcher/video-modal-launcher.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n StageNavModule,\n MatIconModule,\n StoreDebugModule,\n VideoModalLauncherModule,\n MatRippleModule,\n BodyUiModule\n ],\n declarations: [ContentComponent],\n exports: [ContentComponent]\n})\nexport class ContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nConfigModule\n\nConfigModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ConfigModule\n \n \n StoreModule\n \n \n ThemingModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MousePositionTrackerModule } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\n\nimport { environment } from '../../environments/environment';\nimport { ConfigModule } from './services/config/config.module';\nimport { ThemingModule } from './services/theming/theming.module';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n appName: 'rui'\n }),\n MousePositionTrackerModule,\n\n ConfigModule,\n StoreModule,\n ThemingModule\n ],\n exports: []\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultIconDefinition.html":{"url":"interfaces/DefaultIconDefinition.html","title":"interface - DefaultIconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultIconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n\n\n \n Description\n \n \n Object definition for icon that should be loaded on startup.\nUnlike runtime registration object this does not need url ot html\nto be sanitized before hand.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n export interface DefaultIconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: string;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: string;\n}\n\n\n/**\n * Icons registered at startup.\n */\nexport const DEFAULT_ICONS: DefaultIconDefinition[] = [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DetailsLabelComponent.html":{"url":"components/DetailsLabelComponent.html","title":"component - DetailsLabelComponent","body":"\n \n\n\n\n\n\n Components\n \n DetailsLabelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n\n\n\n \n Description\n \n \n Reusable component that takes an array of strings and renders\nthat array as a string, separated by commas, in the icon color.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-details-label\n \n\n \n styleUrls\n ./details-label.component.scss\n \n\n\n\n \n templateUrl\n ./details-label.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n arrayToString\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n details\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n details\n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:20\n \n \n \n \n The array of details to be displayed.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-details-label\"\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n arrayToString\n \n \n \n \n \n \narrayToString(inputArray: string[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:29\n \n \n\n\n \n \n Function that handles converting the array given\ninto a formatted string for display.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n inputArray\n \n string[]\n \n\n \n No\n \n\n\n \n an array of strings to join.\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n the formatted string of items separated by a comma.\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Reusable component that takes an array of strings and renders\n * that array as a string, separated by commas, in the icon color.\n */\n@Component({\n selector: 'ccf-details-label',\n templateUrl: './details-label.component.html',\n styleUrls: ['./details-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DetailsLabelComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-details-label';\n\n /**\n * The array of details to be displayed.\n */\n @Input() details: string[] = [];\n\n /**\n * Function that handles converting the array given\n * into a formatted string for display.\n *\n * @param inputArray an array of strings to join.\n * @returns the formatted string of items separated by a comma.\n */\n arrayToString(inputArray: string[]): string {\n return inputArray.join(', ');\n }\n}\n\n \n\n \n {{ arrayToString(details) }}\n \n\n \n \n ./details-label.component.scss\n \n :host {\n display: block;\n height: 2.25rem;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ arrayToString(details) }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DetailsLabelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DetailsLabelModule.html":{"url":"modules/DetailsLabelModule.html","title":"module - DetailsLabelModule","body":"\n \n\n\n\n\n Modules\n DetailsLabelModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DetailsLabelComponent\n \n \n \n \n Exports\n \n \n DetailsLabelComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DetailsLabelComponent } from './details-label.component';\n\n@NgModule({\n declarations: [DetailsLabelComponent],\n imports: [CommonModule],\n exports: [DetailsLabelComponent]\n})\nexport class DetailsLabelModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DocumentationContent.html":{"url":"interfaces/DocumentationContent.html","title":"interface - DocumentationContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DocumentationContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n\n\n \n Description\n \n \n The structure to define how each documentation panel\nshould look like in the info dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Content inside the panel\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Title of the panel\n\n \n \n \n \n \n \n\n\n \n export interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerContainersChanged.html":{"url":"interfaces/DrawerContainersChanged.html","title":"interface - DrawerContainersChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerContainersChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n drawers\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n drawers\n \n \n \n \n \n \n \n \n drawers: [, ]\n\n \n \n\n\n \n \n Type : [, ]\n\n \n \n\n\n\n\n\n \n \n References to the drawer components. Can contain undefined values.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerInitialized.html":{"url":"interfaces/DrawerInitialized.html","title":"interface - DrawerInitialized","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerInitialized\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer has finished initializing.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DrawerModule.html":{"url":"modules/DrawerModule.html","title":"module - DrawerModule","body":"\n \n\n\n\n\n Modules\n DrawerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_DrawerModule_declarations\n\n\n\n\nContainerComponent\n\nContainerComponent\n\n\n\nDrawerModule\n\nDrawerModule\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n Exports\n \n \n ContainerComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MESSAGE_SERVICE_CONFIG, MESSAGE_SERVICE_DEFAULT_CONFIG } from '../../services/message/message.service';\nimport { ContainerComponent } from './container/container.component';\nimport { ContentComponent } from './content/content.component';\nimport { DrawerComponent } from './drawer/drawer.component';\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component';\n\n\n@NgModule({\n imports: [BrowserModule, BrowserAnimationsModule, MatIconModule],\n providers: [{\n provide: MESSAGE_SERVICE_CONFIG, useValue: MESSAGE_SERVICE_DEFAULT_CONFIG\n }],\n declarations: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent],\n exports: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent]\n})\nexport class DrawerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerToggled.html":{"url":"interfaces/DrawerToggled.html","title":"interface - DrawerToggled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerToggled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message send when the state of a drawer changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n expanded\n \n \n \n \n margin\n \n \n \n \n opened\n \n \n \n \n type\n \n \n \n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n expanded\n \n \n \n \n \n \n \n \n expanded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is expanded. Implies opened.\n\n \n \n \n \n \n \n \n \n \n margin\n \n \n \n \n \n \n \n \n margin: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Margin used by the drawer for toggle button, etc.\n\n \n \n \n \n \n \n \n \n \n opened\n \n \n \n \n \n \n \n \n opened: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is open.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of the drawer.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n\n\n \n Description\n \n \n Contains information for an extraction set\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n organ\n \n \n \n \n sites\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the set\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Organ that the extraction sites belong to\n\n \n \n \n \n \n \n \n \n \n sites\n \n \n \n \n \n \n \n \n sites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Extraction sites belonging to the organ in the extraction set\n\n \n \n \n \n \n \n\n\n \n import { VisibilityItem } from './visibility-item';\n\n/**\n * Contains information for an extraction set\n */\nexport interface ExtractionSet {\n /** Name of the set */\n name: string;\n\n /** Organ that the extraction sites belong to */\n organ?: string;\n\n /** Extraction sites belonging to the organ in the extraction set */\n sites: VisibilityItem[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ExtractionSetDropdownComponent.html":{"url":"components/ExtractionSetDropdownComponent.html","title":"component - ExtractionSetDropdownComponent","body":"\n \n\n\n\n\n\n Components\n \n ExtractionSetDropdownComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n\n\n\n \n Description\n \n \n Dropdown for selecting the extraction set\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-extraction-set-dropdown\n \n\n \n styleUrls\n ./extraction-set-dropdown.component.scss\n \n\n\n\n \n templateUrl\n ./extraction-set-dropdown.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n selected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n extractionSetChanged\n \n \n isMultiple\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n sets\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n setChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n Creates an instance of extraction set dropdown component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n sets\n \n \n \n \n Type : ExtractionSet[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:28\n \n \n \n \n Extraction sets to be displayed as options\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n setChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:23\n \n \n \n \n Emits the current extraction set when selected\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-extraction-set-dropdown\"\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n extractionSetChanged\n \n \n \n \n \n \nextractionSetChanged(value: ExtractionSet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:47\n \n \n\n\n \n \n Sets the selected extraction set and emits the extraction set\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n ExtractionSet\n \n\n \n No\n \n\n\n \n The extraction set selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isMultiple\n \n \n \n \n \n \nisMultiple()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:58\n \n \n\n\n \n \n Determines whether there is more than one extraction set\n\n\n \n \n \n Returns : boolean\n\n \n \n true if there is more than one extraction set\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n Type : ExtractionSet\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n The currently selected extraction set\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { ExtractionSet } from '../../../core/models/extraction-set';\n\n/**\n * Dropdown for selecting the extraction set\n */\n@Component({\n selector: 'ccf-extraction-set-dropdown',\n templateUrl: './extraction-set-dropdown.component.html',\n styleUrls: ['./extraction-set-dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExtractionSetDropdownComponent {\n\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-extraction-set-dropdown';\n\n /**\n * Emits the current extraction set when selected\n */\n @Output() readonly setChange = new EventEmitter();\n\n /**\n * Extraction sets to be displayed as options\n */\n @Input() sets: ExtractionSet[];\n\n /**\n * The currently selected extraction set\n */\n selected: ExtractionSet;\n\n /**\n * Creates an instance of extraction set dropdown component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Sets the selected extraction set and emits the extraction set\n *\n * @param value The extraction set selected\n */\n extractionSetChanged(value: ExtractionSet): void {\n this.selected = value;\n this.ga.event('selected_extraction_set_change', 'extraction_set_dropdown', value.name);\n this.setChange.emit(value);\n }\n\n /**\n * Determines whether there is more than one extraction set\n *\n * @returns true if there is more than one extraction set\n */\n isMultiple(): boolean {\n return this.sets.length > 1;\n }\n}\n\n \n\n \n \n Landmark Set\n \n \n {{set.name}} ({{set.sites.length}})\n \n \n\n\n \n\n \n \n ./extraction-set-dropdown.component.scss\n \n ::ng-deep .extraction-set-panel {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e;\n position: absolute;\n top: -1rem;\n left: 1rem;\n width: 10.5rem;\n\n .extraction-set-options {\n height: 2.5rem !important;\n }\n \n .extraction-set-options:first-child {\n margin-top: 0.5rem;\n }\n\n .extraction-set-options:last-child {\n margin-bottom: 0.5rem;\n }\n\n}\n\n:host {\n ::ng-deep .mat-form-field {\n width: 10.5rem;\n\n .mat-form-field-wrapper {\n padding-bottom: 0.5rem;\n .mat-form-field-flex {\n padding: 0;\n }\n \n .mat-form-field-underline {\n bottom: 0.75rem;\n }\n\n .mat-select-arrow-wrapper {\n transform: none;\n }\n }\n }\n}\n\n::ng-deep .cdk-overlay-pane {\n min-width: 0rem !important;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Landmark Set {{set.name}} ({{set.sites.length}}) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ExtractionSetDropdownComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExtractionSetDropdownModule.html":{"url":"modules/ExtractionSetDropdownModule.html","title":"module - ExtractionSetDropdownModule","body":"\n \n\n\n\n\n Modules\n ExtractionSetDropdownModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n Exports\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { ExtractionSetDropdownComponent } from './extraction-set-dropdown.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSelectModule],\n declarations: [ExtractionSetDropdownComponent],\n exports: [ExtractionSetDropdownComponent]\n})\nexport class ExtractionSetDropdownModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n baseHref\n \n \n \n Optional\n \n cancelRegistration\n \n \n \n Optional\n \n editRegistration\n \n \n \n Optional\n \n fetchPreviousRegistrations\n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n organ\n \n \n \n Optional\n \n register\n \n \n \n Optional\n \n registrationStarted\n \n \n \n Optional\n \n skipUnsavedChangesConfirmation\n \n \n \n Optional\n \n theme\n \n \n \n Optional\n \n useDownload\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseHref\n \n \n \n \n \n \n \n \n baseHref: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \n \n \n cancelRegistration: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n \n \n \n \n editRegistration: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n \n \n \n \n fetchPreviousRegistrations: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n register\n \n \n \n \n \n \n \n \n register: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useDownload\n \n \n \n \n \n \n \n \n useDownload: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { InjectionToken } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\nimport { ObservableInput } from 'rxjs';\n\n\nexport interface GlobalConfig {\n baseHref?: string;\n editRegistration?: Record;\n organ?: {\n name: 'large intestine' | 'heart' | 'kidney' | 'spleen';\n ontologyId?: string;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n };\n user?: {\n firstName: string;\n lastName: string;\n };\n\n register?: (data: string) => void;\n useDownload?: boolean;\n\n fetchPreviousRegistrations?: () => ObservableInput[]>;\n registrationStarted?: boolean;\n\n cancelRegistration?: () => void;\n\n skipUnsavedChangesConfirmation?: boolean;\n\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\ndeclare global {\n let ruiConfig: GlobalConfig;\n}\n\nexport const GLOBAL_CONFIG = new InjectionToken(\n 'Global configuration object'\n);\n\nexport function globalConfigFactory(globals: GlobalsService): GlobalConfig {\n return globals.get('ruiConfig', { user: { firstName: '', lastName: '' } });\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HeaderComponent.html":{"url":"components/HeaderComponent.html","title":"component - HeaderComponent","body":"\n \n\n\n\n\n\n Components\n \n HeaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/header/header.component.ts\n\n\n\n \n Description\n \n \n Page header\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-header\n \n\n \n styleUrls\n ./header.component.scss\n \n\n\n\n \n templateUrl\n ./header.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n homeUrl\n \n \n logoTooltip\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n\n \n \n Creates an instance of header component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page data.\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:19\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-header\"\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { PageState } from '../../core/store/page/page.state';\n\n\n/**\n * Page header\n */\n@Component({\n selector: 'ccf-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-header';\n\n @Input() homeUrl: string;\n\n @Input() logoTooltip: string;\n\n /**\n * Creates an instance of header component.\n *\n * @param page Page data.\n */\n constructor(readonly page: PageState) { }\n}\n\n \n\n \n \n\n\n\n \n chevron_left\n BACK\n \n\n\n\n \n \n \n \n\n\n\n \n\n \n \n ./header.component.scss\n \n :host {\n display: flex;\n align-items: center;\n min-height: 4rem;\n padding: 0 1.5rem;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n\n .text {\n padding: 0.25rem 0;\n height: 2rem;\n display: flex;\n align-items: center;\n font-weight: lighter;\n font-size: 1.5rem;\n }\n\n\n .link {\n display: flex;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n padding: 0.25rem 0;\n }\n\n .home {\n * {\n transition: color .6s;\n }\n\n .backbutton {\n // Material icons do not always fill the space given\n // Scale up size for icon to look correct\n font-size: 2.25rem;\n width: 2.25rem;\n height: 2.25rem;\n }\n }\n\n .portal {\n height: 100%;\n width: 25rem;\n align-items: center;\n display: flex;\n }\n\n .logo {\n width: 100%;\n height: 50%;\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .filler {\n flex-grow: 1;\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' chevron_left BACK '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HeaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/HeaderModule.html":{"url":"modules/HeaderModule.html","title":"module - HeaderModule","body":"\n \n\n\n\n\n Modules\n HeaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\n\n\nHeaderModule\n\nHeaderModule\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/header/header.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n HeaderComponent\n \n \n \n \n Exports\n \n \n HeaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { HeaderComponent } from './header.component';\n\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatTooltipModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IconDefinition.html":{"url":"interfaces/IconDefinition.html","title":"interface - IconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n Object definition for registering new svg icons.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: SafeHtml\n\n \n \n\n\n \n \n Type : SafeHtml\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: SafeResourceUrl\n\n \n \n\n\n \n \n Type : SafeResourceUrl\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IconRegistryState.html":{"url":"injectables/IconRegistryState.html","title":"injectable - IconRegistryState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n IconRegistryState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n State handling the registration of icons for use with mat-icon.\n\n \n\n \n Extends\n \n \n NgxsDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getArguments\n \n \n Private\n getMethodName\n \n \n ngxsOnInit\n \n \n registerIcon\n \n \n Private\n registerIconImpl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registry: MatIconRegistry | null, sanitizer: DomSanitizer, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:45\n \n \n\n \n \n Creates an instance of icon registry state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registry\n \n \n MatIconRegistry | null\n \n \n \n No\n \n \n \n Material icon registry.\n\n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n Service used to sanitize default imported urls and html.\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getArguments\n \n \n \n \n \n \n \n getArguments(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:147\n \n \n\n\n \n \n Selects the argument used to call the registration method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : []\n\n \n \n An array of arguments.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getMethodName\n \n \n \n \n \n \n \n getMethodName(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:127\n \n \n\n\n \n \n Selects the MatIconRegistry method used to register the icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n The name of the registry method.\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerIcon\n \n \n \n \n \n \nregisterIcon(definition: IconDefinition)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:87\n \n \n\n\n \n \n Registers a svg icon for use in mat-icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n registerIconImpl\n \n \n \n \n \n \n \n registerIconImpl(definition: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:97\n \n \n\n\n \n \n Backing implementation of registerIcon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InitializationState.html":{"url":"classes/InitializationState.html","title":"class - InitializationState","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InitializationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n\n\n \n Description\n \n \n Boolean state that can also be awaited.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deferred\n \n \n Private\n initialized\n \n \n Private\n resolve\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n valueOf\n \n \n Async\n wait\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deferred\n \n \n \n \n \n \n Default value : new Promise(resolve => {\n this.resolve = resolve;\n })\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37\n \n \n\n \n \n Promise used to await on.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n initialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35\n \n \n\n \n \n Whether this state is true or false.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n resolve\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41\n \n \n\n \n \n Resolve function for the promise.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46\n \n \n\n\n \n \n Sets the state to true and\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n valueOf\n \n \n \n \n \n \nvalueOf()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65\n \n \n\n\n \n \n Gets the boolean state of this object.\n\n\n \n \n \n Returns : boolean\n\n \n \n true if set has been called.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n wait\n \n \n \n \n \n \n \n wait()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56\n \n \n\n\n \n \n Gets a promise that resolves when this state is set to true.\n\n\n \n \n \n Returns : Promise\n\n \n \n A promise.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener,\n Input, OnDestroy, Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/** Opened/closed state. */\ntype OpenedState = 'open' | 'open-instant' | 'closed';\n/** Expanded/collapsed state. */\ntype ExpandedState = 'open' | 'open-instant' | 'closed';\n/** Expanded state relative to an opposite drawer. */\ntype ExpandedState2 = 'collapsed' | 'half' | 'extended' | 'full';\n\n/** Default animation parameters. */\nconst EXPAND_COLLAPSE_PARAMS_DEFAULT = {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n};\n\n/**\n * Boolean state that can also be awaited.\n */\nclass InitializationState {\n /** Whether this state is true or false. */\n private initialized = false;\n /** Promise used to await on. */\n private deferred = new Promise(resolve => {\n this.resolve = resolve;\n });\n /** Resolve function for the promise. */\n private resolve: () => void;\n\n /**\n * Sets the state to true and\n */\n set(): void {\n this.initialized = true;\n this.resolve();\n }\n\n /**\n * Gets a promise that resolves when this state is set to true.\n *\n * @returns A promise.\n */\n async wait(): Promise {\n return this.deferred;\n }\n\n /**\n * Gets the boolean state of this object.\n *\n * @returns true if set has been called.\n */\n valueOf(): boolean {\n return this.initialized;\n }\n}\n\n\n/**\n * Side drawer component.\n * Contains all the logic for opening/closing/expanding.\n */\n@Component({\n selector: 'ccf-drawer',\n exportAs: 'ccfDrawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss'],\n animations: [\n trigger('openClose', [\n state('open, open-instant', style({\n transform: 'none'\n })),\n state('closed', style({ })),\n\n transition('closed => open-instant', animate(0)),\n transition('closed open, open-instant => closed', animate('.5s ease-in-out'))\n ]),\n trigger('expandCollapse', [\n state('collapsed', style({})),\n state('half', style({\n width: 'calc(50% - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('extended', style({\n width: 'calc(100% - {{ width }}px - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('full', style({\n width: 'calc(100% - {{ margin }}px - {{ margin2 }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n\n transition('* *', animate('.5s ease-in-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer';\n /** Whether this is located at the end position. */\n @HostBinding('class.ccf-drawer-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Position of the drawer - start (left) or end (right). */\n @Input()// eslint-disable-line\n get position(): 'start' | 'end' {\n return this._position;\n }\n set position(value: 'start' | 'end') {\n this._position = value || 'start';\n }\n /** Property for position getter/setter. */\n private _position: 'start' | 'end' = 'start';\n\n /** Whether the drawer is opened. */\n @Input()\n @HostBinding('class.ccf-drawer-opened')\n get opened(): boolean {\n return this._opened;\n }\n set opened(value: boolean) {\n this.toggle(coerceBooleanProperty(value));\n }\n /** Property for opened getter/setter. */\n private _opened = false;\n\n /** Whether the drawer is expanded. */\n @Input()\n @HostBinding('class.ccf-drawer-expanded')\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n this.toggleExpanded(coerceBooleanProperty(value));\n }\n /** Property for expanded getter/setter */\n private _expanded = false;\n\n /** Output emitting when the drawer has opened. */\n @Output() readonly openedChange = new EventEmitter(true);\n /** Output emitting when the drawer has expanded. */\n @Output() readonly expandedChange = new EventEmitter(true);\n /** Output emitting whenever the drawer state changes. */\n @Output() readonly stateChange = new EventEmitter(true);\n\n /** Current open/close animation state. */\n @HostBinding('@openClose')\n openedState: OpenedState = 'closed';\n\n /** Expanded/collapsed state parameters. */\n @HostBinding('@expandCollapse')\n get expandedStateObj(): unknown {\n return { value: this.expandedState2, params: {\n width: this.width, margin: this.measuredMargin,\n margin2: this.margin2\n } };\n }\n /** Current expanded/collapsed animation state. */\n expandedState: ExpandedState = 'closed';\n /** Current expanded state relative to the opposite drawer. */\n private expandedState2: ExpandedState2 = 'collapsed';\n\n /** Gets the calculated width of the drawer. */\n private get measuredWidth(): number {\n if (this._measuredWidth > 0) {\n return this._measuredWidth;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const bbox = element.getBoundingClientRect();\n const width = bbox.right - bbox.left;\n if (width === 0) {\n return 0;\n }\n\n this._measuredWidth = width;\n return width;\n }\n /** Cached measured width. */\n private _measuredWidth = 0;\n /** Width of opposite drawer. */\n private width = 0;\n\n /** Gets the calculated margin of the drawer. */\n private get measuredMargin(): number {\n if (this._measuredMargin > 0) {\n return this._measuredMargin;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const styles = globalThis.getComputedStyle(element);\n const property = this.position === 'start' ? 'margin-right' : 'margin-left';\n const value = styles.getPropertyValue(property);\n const margin = Number(value.slice(0, -2));\n\n this._measuredMargin = margin;\n return margin;\n }\n /** Cached measured margin. */\n private _measuredMargin = 0;\n /** Margin of the opposite drawer. */\n private margin2 = 0;\n\n /** Initialization state. */\n private initialized = new InitializationState();\n /** Connected message channel. */\n private channel: MessageChannel;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of drawer component.\n *\n * @param messageService Service for sending/receiving event messages.\n * @param cdr The change detector reference.\n * @param element Reference to components HTML element.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef,\n private element: ElementRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n this.initialized.set();\n setTimeout(() => this.channel.sendMessage({ type: 'drawer-initialized' }));\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the drawer.\n */\n open(): void {\n this.toggle(true);\n }\n\n /**\n * Closes the drawer.\n */\n close(): void {\n this.toggle(false);\n }\n\n /**\n * Toggles the drawer between opened and closed.\n *\n * @param [opened] Whether to open or close the drawer.\n */\n toggle(opened = !this.opened): void {\n if (this.opened === opened) {\n return;\n }\n\n if (!opened) {\n this.openedState = 'closed';\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n this._expanded = false;\n } else if (this.initialized.valueOf()) {\n this.openedState = 'open';\n } else {\n this.openedState = 'open-instant';\n }\n\n this._opened = opened;\n this.sendToggle();\n }\n\n /**\n * Expands the drawer.\n */\n openExpanded(): void {\n this.toggleExpanded(true);\n }\n\n /**\n * Collapses the drawer.\n */\n closeExpanded(): void {\n this.toggleExpanded(false);\n }\n\n /**\n * Toggles the drawer between expanded and collapsed.\n *\n * @param [expanded] Whether to expand or collapse the drawer.\n */\n toggleExpanded(expanded = !this.expanded): void {\n if (this.expanded === expanded) {\n return;\n }\n\n if (!expanded) {\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n } else if (this.initialized.valueOf()) {\n this.expandedState = 'open';\n } else {\n this.expandedState = 'open-instant';\n }\n\n this._expanded = expanded;\n this.sendToggle();\n }\n\n /**\n * Listener to open/close animation completion.\n */\n @HostListener('@openClose.done')\n closeOpenDone(): void {\n this.openedChange.emit(this.opened);\n }\n\n /**\n * Listener to expand/collapse animation completion.\n */\n @HostListener('@expandCollapse.done')\n expandCollapseDone(): void {\n this.expandedChange.emit(this.expanded);\n }\n\n /**\n * Sends a toggle event to the channel.\n * Waits until initialization is completed before sending.\n */\n private async sendToggle(): Promise {\n await this.initialized.wait();\n this.channel.sendMessage({\n type: 'drawer-toggled',\n opened: this.opened,\n expanded: this.expanded,\n width: this.measuredWidth,\n margin: this.measuredMargin\n });\n this.stateChange.emit();\n }\n\n /**\n * Processes an event.\n *\n * @param msg The event.\n * @returns true if change detection should run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-toggled': {\n const other = msg.source as DrawerComponent;\n this.syncExpanded(other);\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Syncs the drawer widths and margin against the opposite drawer.\n *\n * @param other The opposite drawer.\n */\n private syncExpanded(other: DrawerComponent): void {\n if (this.expanded || other.expanded) {\n if (this.expanded && other.expanded) {\n this.expandedState2 = other.expandedState2 = 'half';\n } else if (this.expanded) {\n if (other.opened) {\n this.expandedState2 = 'extended';\n this.width = other.measuredWidth + other.measuredMargin;\n } else {\n this.expandedState2 = 'full';\n this.margin2 = other.measuredMargin;\n }\n } else {\n if (this.opened) {\n other.expandedState2 = 'extended';\n other.width = this.measuredWidth + this.measuredMargin;\n } else {\n other.expandedState2 = 'full';\n other.margin2 = this.measuredMargin;\n }\n }\n }\n }\n\n /** Workaround for getter/setter pair not accepting different types. */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_position: '' | 'start' | 'end';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_opened: BooleanInput;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_expanded: BooleanInput;\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/JsonFileReaderComponent.html":{"url":"components/JsonFileReaderComponent.html","title":"component - JsonFileReaderComponent","body":"\n \n\n\n\n\n\n Components\n \n JsonFileReaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-json-file-reader\n \n\n \n styleUrls\n ./json-file-reader.component.scss\n \n\n\n\n \n templateUrl\n ./json-file-reader.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n fileInput\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleFile\n \n \n triggerFileInput\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n parsedJson\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n\n \n \n Creates an instance of json file reader component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Upload'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:17\n \n \n \n \n Allows the label on the upload button to be customized.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n parsedJson\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n \n \n Emits the json object of any files uploaded.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-json-file-reader\"\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleFile\n \n \n \n \n \n \nhandleFile(event: InputEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:43\n \n \n\n\n \n \n Takes in a json file and emits the parsed json object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n InputEvent\n \n\n \n No\n \n\n\n \n file input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n triggerFileInput\n \n \n \n \n \n \ntriggerFileInput()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:33\n \n \n\n\n \n \n Method used to trigger the file input element's click handler\nfrom the placeholder button used for styling purposes.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n fileInput\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('fileInput')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:14\n \n \n\n \n \n File Input element, used to manually trigger the click event.\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n@Component({\n selector: 'ccf-json-file-reader',\n templateUrl: './json-file-reader.component.html',\n styleUrls: ['./json-file-reader.component.scss']\n})\nexport class JsonFileReaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-json-file-reader';\n /** File Input element, used to manually trigger the click event. */\n @ViewChild('fileInput') fileInput: ElementRef;\n\n /** Allows the label on the upload button to be customized. */\n @Input() label = 'Upload';\n\n /** Emits the json object of any files uploaded. */\n @Output() readonly parsedJson = new EventEmitter();\n\n /**\n * Creates an instance of json file reader component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Method used to trigger the file input element's click handler\n * from the placeholder button used for styling purposes.\n */\n triggerFileInput(): void {\n const fileInputElement: HTMLElement = this.fileInput.nativeElement;\n fileInputElement.click();\n }\n\n /**\n * Takes in a json file and emits the parsed json object.\n *\n * @param event file input event\n */\n handleFile(event: InputEvent): void {\n const inputTarget = event.target as HTMLInputElement;\n if (!inputTarget.files) {\n return;\n }\n\n const file = inputTarget.files[0];\n const fileReader = new FileReader();\n\n fileReader.onload = () => {\n const json = JSON.parse(fileReader.result as string) as unknown;\n this.ga.event('json_file_load_end', 'json_file_reader');\n this.parsedJson.emit(json);\n };\n\n this.ga.event('json_file_load_start', 'json_file_reader');\n fileReader.readAsText(file);\n }\n}\n\n \n\n \n {{ label }}\n\n\n \n\n \n \n ./json-file-reader.component.scss\n \n :host {\n .upload-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n cursor: pointer;\n font-weight: 500;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ label }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'JsonFileReaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/JsonFileReaderModule.html":{"url":"modules/JsonFileReaderModule.html","title":"module - JsonFileReaderModule","body":"\n \n\n\n\n\n Modules\n JsonFileReaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n JsonFileReaderComponent\n \n \n \n \n Exports\n \n \n JsonFileReaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JsonFileReaderComponent } from './json-file-reader.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n\n\n@NgModule({\n declarations: [JsonFileReaderComponent],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [JsonFileReaderComponent]\n})\nexport class JsonFileReaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LabeledSlideToggleComponent.html":{"url":"components/LabeledSlideToggleComponent.html","title":"component - LabeledSlideToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n LabeledSlideToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n\n\n\n \n Description\n \n \n Generic toggle slider component\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-labeled-slide-toggle\n \n\n \n styleUrls\n ./labeled-slide-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./labeled-slide-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateToggle\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n labels\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n\n \n \n Creates an instance of labeled slide toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n labels\n \n \n \n \n Type : [string, string]\n\n \n \n \n \n Default value : ['Left', 'Right']\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:24\n \n \n \n \n The two selection options to be toggled\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:29\n \n \n \n \n Input value for toggle slider\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n valueChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n \n \n Emits the datatype with the currently selected option\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-labeled-slide-toggle\"\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateToggle\n \n \n \n \n \n \nupdateToggle(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:61\n \n \n\n\n \n \n Updates and emits the currently selected option\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n The current toggle state (true=left, false=right)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n\n \n \n getleft()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:51\n \n \n \n \n Determines if left toggle option is selected\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Generic toggle slider component\n */\n@Component({\n selector: 'ccf-labeled-slide-toggle',\n templateUrl: './labeled-slide-toggle.component.html',\n styleUrls: ['./labeled-slide-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LabeledSlideToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-labeled-slide-toggle';\n\n /**\n * The two selection options to be toggled\n */\n @Input() labels: [string, string] = ['Left', 'Right'];\n\n /**\n * Input value for toggle slider\n */\n @Input() value = 'Left';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Emits the datatype with the currently selected option\n */\n @Output() readonly valueChange = new EventEmitter();\n\n /**\n * Creates an instance of labeled slide toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Determines if left toggle option is selected\n */\n get left(): boolean {\n const { value, labels } = this;\n return value !== labels[1];\n }\n\n /**\n * Updates and emits the currently selected option\n *\n * @param selection The current toggle state (true=left, false=right)\n */\n updateToggle(selection: boolean): void {\n this.value = selection ? this.labels[0] : this.labels[1];\n this.ga.event('slide_toggle_toggled', 'slide_toggle', this.value);\n this.valueChange.emit(this.value);\n }\n}\n\n \n\n \n {{labels[0]}}\n\n{{labels[1]}}\n\n \n\n \n \n ./labeled-slide-toggle.component.scss\n \n :host{\n .slide-label {\n margin: 0 1rem;\n transition: color .6s;\n cursor: pointer;\n }\n \n .disabled {\n opacity: 30%;\n cursor: not-allowed;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{labels[0]}}{{labels[1]}}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LabeledSlideToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LabeledSlideToggleModule.html":{"url":"modules/LabeledSlideToggleModule.html","title":"module - LabeledSlideToggleModule","body":"\n \n\n\n\n\n Modules\n LabeledSlideToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LabeledSlideToggleComponent\n \n \n \n \n Exports\n \n \n LabeledSlideToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\n\nimport { LabeledSlideToggleComponent } from './labeled-slide-toggle.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSlideToggleModule],\n declarations: [LabeledSlideToggleComponent],\n exports: [LabeledSlideToggleComponent]\n})\nexport class LabeledSlideToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LeftSidebarComponent.html":{"url":"components/LeftSidebarComponent.html","title":"component - LeftSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n LeftSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n\n\n\n \n Description\n \n \n The left sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-left-sidebar\n \n\n \n styleUrls\n ./left-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./left-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n detailsLabels$\n \n \n extractionSiteTooltip\n \n \n organList\n \n \n Readonly\n organSelected$\n \n \n previousVisibilityItems\n \n \n Readonly\n sexByLabel$\n \n \n Readonly\n sideByLabel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n setSexFromLabel\n \n \n setSideFromLabel\n \n \n togglePreviousRegistrationBlocks\n \n \n updateExtractionSiteTooltip\n \n \n updateRegistration\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disableSlider\n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, registration: RegistrationState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disableSlider\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:26\n \n \n \n \n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:29\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-left-sidebar\"\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:89\n \n \n\n\n \n \n Sets sex from sex toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Selected sex\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSideFromLabel\n \n \n \n \n \n \nsetSideFromLabel(label: \"L\" | \"R\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:98\n \n \n\n\n \n \n Sets side from side toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"L\" | \"R\"\n \n\n \n No\n \n\n\n \n Selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n togglePreviousRegistrationBlocks\n \n \n \n \n \n \ntogglePreviousRegistrationBlocks(visible: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:110\n \n \n\n\n \n \n Handles toggling previous registration blocks visibility.\nWhen making them visible, it updates current structures to 20%\nopacity; when making not visible it sets them back to their\nprevious opacity.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n visible\n \n boolean\n \n\n \n No\n \n\n\n \n the state to set the visibility to.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateExtractionSiteTooltip\n \n \n \n \n \n \nupdateExtractionSiteTooltip(item: VisibilityItem | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:76\n \n \n\n\n \n \n Updates extraction site tooltip to either the VisibilityItem passed in's\ntooltip property, or an empty string if undefined.\nundefined.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem | undefined\n \n\n \n No\n \n\n\n \n The VisibilityItem which we want to show the tooltip of, or\nundefined.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateRegistration\n \n \n \n \n \n \nupdateRegistration(event: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:123\n \n \n\n\n \n \n Event handler for capturing uploaded json and passing it along to\nthe relevant registration state method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n the new registration state json\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n detailsLabels$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n extractionSiteTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:52\n \n \n\n \n \n Variable that keeps track of the extraction site tooltip to display on\nthe stage when hovered.\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organSelected$\n \n \n \n \n \n \n Default value : this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n previousVisibilityItems\n \n \n \n \n \n \n Default value : [...this.model.snapshot.anatomicalStructures] as VisibilityItem[]\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:58\n \n \n\n \n \n Keeps track of the previousVisibility items so we can set the opacity\nback to what it was before we changed them to 20%\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sideByLabel$\n \n \n \n \n \n \n Default value : this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:35\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { VisibilityItem } from '../../core/models/visibility-item';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { RUI_ORGANS } from './../../core/store/model/model.state';\n\n\n/**\n * The left sidebar\n */\n@Component({\n selector: 'ccf-left-sidebar',\n templateUrl: './left-sidebar.component.html',\n styleUrls: ['./left-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LeftSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-left-sidebar';\n\n @Input() disableSlider = false;\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n readonly sideByLabel$ = this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n );\n\n readonly organSelected$ = this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n );\n\n readonly detailsLabels$: Observable = combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n );\n\n /**\n * Variable that keeps track of the extraction site tooltip to display on\n * the stage when hovered.\n */\n extractionSiteTooltip = '';\n\n /**\n * Keeps track of the previousVisibility items so we can set the opacity\n * back to what it was before we changed them to 20%\n */\n previousVisibilityItems = [...this.model.snapshot.anatomicalStructures] as VisibilityItem[];\n\n organList = RUI_ORGANS;\n\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n readonly registration: RegistrationState\n ) { }\n\n\n /**\n * Updates extraction site tooltip to either the VisibilityItem passed in's\n * tooltip property, or an empty string if undefined.\n *\n * @param item The VisibilityItem which we want to show the tooltip of, or\n * undefined.\n */\n updateExtractionSiteTooltip(item: VisibilityItem | undefined): void {\n if (item?.tooltip) {\n this.extractionSiteTooltip = item.tooltip;\n } else {\n this.extractionSiteTooltip = '';\n }\n }\n\n /**\n * Sets sex from sex toggle slider\n *\n * @param label Selected sex\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.model.setSex(label === 'Female' ? 'female' : 'male');\n }\n\n /**\n * Sets side from side toggle slider\n *\n * @param label Selected side\n */\n setSideFromLabel(label: 'L' | 'R'): void {\n this.model.setSide(label === 'L' ? 'left' : 'right');\n }\n\n /**\n * Handles toggling previous registration blocks visibility.\n * When making them visible, it updates current structures to 20%\n * opacity; when making not visible it sets them back to their\n * previous opacity.\n *\n * @param visible the state to set the visibility to.\n */\n togglePreviousRegistrationBlocks(visible: boolean): void {\n if (visible) {\n this.previousVisibilityItems = [...this.model.snapshot.anatomicalStructures];\n }\n this.model.toggleRegistrationBlocksVisibility(visible, this.previousVisibilityItems);\n }\n\n /**\n * Event handler for capturing uploaded json and passing it along to\n * the relevant registration state method.\n *\n * @param event the new registration state json\n */\n updateRegistration(event: SpatialEntityJsonLd): void {\n this.registration.editRegistration(event);\n }\n}\n\n \n\n \n \n \n \n \n \n \n Donor Sex:\n \n \n \n\n \n\n \n \n Anatomical Structures\n \n\n \n \n \n \n \n\n \n\n \n \n Landmarks\n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n\n 0\">\n {{ extractionSiteTooltip }}\n \n\n \n\n \n \n\n\n \n\n \n \n ./left-sidebar.component.scss\n \n :host {\n\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n min-height: 100%;\n\n .space {\n height: 3rem;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n .ccf-organ-selector {\n margin-top: 1.5rem;\n }\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n mat-expansion-panel-header {\n .expansion-title {\n font-size: 1rem;\n font-weight: 600;\n }\n }\n }\n\n ::ng-deep .mat-expansion-panel-body {\n padding: 0;\n }\n\n .extraction-menu,\n .anatomical-structures-menu {\n ::ng-deep .expansion-header {\n -webkit-user-select: none;\n -moz-user-select: none;\n padding: 0;\n font-weight: bold;\n height: 3rem;\n\n .mat-expansion-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n }\n }\n\n .expansion-content {\n margin-bottom: 0.75rem;\n text-align: center;\n margin-top: 2.25rem;\n .expansion-placeholder {\n width: 100%;\n font-size: 0.9rem;\n font-weight: 400;\n }\n }\n }\n\n .extraction-site-tooltip {\n position: absolute;\n top: 4rem;\n left: 27rem;\n width: 21rem;\n padding: 1rem;\n border-radius: 0.5rem;\n border: 1px solid;\n z-index: 2;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Anatomical Structures Landmarks 0\"> {{ extractionSiteTooltip }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LeftSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LeftSidebarModule.html":{"url":"modules/LeftSidebarModule.html","title":"module - LeftSidebarModule","body":"\n \n\n\n\n\n Modules\n LeftSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LeftSidebarComponent\n \n \n \n \n Imports\n \n \n DetailsLabelModule\n \n \n ExtractionSetDropdownModule\n \n \n JsonFileReaderModule\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n VisibilityMenuModule\n \n \n VisibilityToggleModule\n \n \n VisibilityToggleModule\n \n \n \n \n Exports\n \n \n LeftSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { DetailsLabelModule } from '../../shared/components/details-label/details-label.module';\nimport { ExtractionSetDropdownModule } from '../../shared/components/extraction-set-dropdown/extraction-set-dropdown.module';\nimport { LabeledSlideToggleModule } from '../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { NameInputModule } from '../../shared/components/name-input/name-input.module';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { VisibilityMenuModule } from '../../shared/components/visibility-menu/visibility-menu.module';\nimport { VisibilityToggleModule } from '../../shared/components/visibility-toggle/visibility-toggle.module';\nimport { LeftSidebarComponent } from './left-sidebar.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { JsonFileReaderModule } from '../../shared/components/json-file-reader/json-file-reader.module';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatExpansionModule,\n MatIconModule,\n MatTooltipModule,\n\n MatDividerModule,\n DetailsLabelModule,\n LabeledSlideToggleModule,\n NameInputModule,\n VisibilityToggleModule,\n ExtractionSetDropdownModule,\n OpacitySliderModule,\n VisibilityMenuModule,\n VisibilityToggleModule,\n JsonFileReaderModule\n ],\n declarations: [LeftSidebarComponent],\n exports: [LeftSidebarComponent]\n})\nexport class LeftSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Message.html":{"url":"interfaces/Message.html","title":"interface - Message","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Message\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n A message sent on a channel.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n payload\n \n \n \n \n source\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Unique identifier for a message.\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n \n \n payload: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Data associated with this message.\n\n \n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \n\n \n \n\n\n\n\n\n\n\n \n \n Sender of the message.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MessageChannel.html":{"url":"classes/MessageChannel.html","title":"class - MessageChannel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MessageChannel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Channel for sending and receiving messages.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getMessages\n \n \n getMessagesFromSource\n \n \n getMessagesFromSources\n \n \n Private\n nextMessageId\n \n \n sendMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source, channel: Subject>, messages: Observable>)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Creates a new channel.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n source\n \n \n \n \n \n No\n \n \n \n The message source.\n\n \n \n \n channel\n \n \n Subject>\n \n \n \n No\n \n \n \n The message send subject.\n\n \n \n \n messages\n \n \n Observable>\n \n \n \n No\n \n \n \n The message receive observable.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Counter used to give each message a unique id.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getMessages\n \n \n \n \n \n \ngetMessages()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:83\n \n \n\n\n \n \n Gets an observable emitting all messages except for those sent by this source.\n\n\n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSource\n \n \n \n \n \n \ngetMessagesFromSource(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:93\n \n \n\n\n \n \n Gets an observable emitting messages sent from a specific source.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSources\n \n \n \n \n \n \ngetMessagesFromSources(sources: [])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:103\n \n \n\n\n \n \n Gets an observable emitting messages sent from any of the specified sources.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n sources\n \n []\n \n\n \n No\n \n\n\n \n The sources messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n nextMessageId\n \n \n \n \n \n \n \n nextMessageId()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:112\n \n \n\n\n \n \n Creates a unique message identifier.\n\n\n \n \n \n Returns : number\n\n \n \n The identifier number.\n\n \n \n \n \n \n \n \n \n \n \n \n sendMessage\n \n \n \n \n \n \nsendMessage(payload: T)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:70\n \n \n\n\n \n \n Sends a single message with a payload.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n payload\n \n T\n \n\n \n No\n \n\n\n \n The message payload.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MessageService.html":{"url":"injectables/MessageService.html","title":"injectable - MessageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n MessageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Service for creating message channels.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Private\n messages\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: MessageServiceConfig, parent: MessageService | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n Creates an instance of message service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n config\n \n \n MessageServiceConfig\n \n \n \n No\n \n \n \n The configuration for this service.\n\n \n \n \n parent\n \n \n MessageService | null\n \n \n \n No\n \n \n \n The parent message service, if any.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:163\n \n \n\n\n \n \n Connects to a message channel.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source of messages sent.\n\n \n \n \n \n \n \n \n \n Returns : MessageChannel\n\n \n \n A new connected message channel.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:153\n \n \n\n\n \n \n Clean up.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Default value : new Subject>()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:128\n \n \n\n \n \n The message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n messages\n \n \n \n \n \n \n Type : Observable>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n The message listener.\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MessageServiceConfig.html":{"url":"interfaces/MessageServiceConfig.html","title":"interface - MessageServiceConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MessageServiceConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Message service configuration options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n isolated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to listen to parent messages.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MetaDataField.html":{"url":"interfaces/MetaDataField.html","title":"interface - MetaDataField","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MetaDataField\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n label\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MetaDataField {\n label: string;\n value: string;\n}\n\nexport type MetaData = MetaDataField[];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ModelStateModel.html":{"url":"interfaces/ModelStateModel.html","title":"interface - ModelStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ModelStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Data contained in the stage state.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n blockSize\n \n \n \n \n extractionSets\n \n \n \n \n extractionSites\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n organ\n \n \n \n \n organDimensions\n \n \n \n Optional\n \n organIri\n \n \n \n \n position\n \n \n \n \n rotation\n \n \n \n Optional\n \n sex\n \n \n \n \n showPrevious\n \n \n \n Optional\n \n side\n \n \n \n \n slicesConfig\n \n \n \n \n viewSide\n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Anatomical structures for the organ\n\n \n \n \n \n \n \n \n \n \n blockSize\n \n \n \n \n \n \n \n \n blockSize: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Block size\n\n \n \n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: ExtractionSet[]\n\n \n \n\n\n \n \n Type : ExtractionSet[]\n\n \n \n\n\n\n\n\n \n \n Extraction sets\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Possible extraction sites\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model label\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n Organ name\n\n \n \n \n \n \n \n \n \n \n organDimensions\n \n \n \n \n \n \n \n \n organDimensions: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Reference Organ Dimensions\n\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n \n \n \n \n organIri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Reference Organ IRI\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model position\n\n \n \n \n \n \n \n \n \n \n rotation\n \n \n \n \n \n \n \n \n rotation: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model rotation\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex if applicable\n\n \n \n \n \n \n \n \n \n \n showPrevious\n \n \n \n \n \n \n \n \n showPrevious: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether previous registration blocks are visible\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Side if applicable\n\n \n \n \n \n \n \n \n \n \n slicesConfig\n \n \n \n \n \n \n \n \n slicesConfig: SlicesConfig\n\n \n \n\n\n \n \n Type : SlicesConfig\n\n \n \n\n\n\n\n\n \n \n Slice configuration\n\n \n \n \n \n \n \n \n \n \n viewSide\n \n \n \n \n \n \n \n \n viewSide: ViewSide\n\n \n \n\n\n \n \n Type : ViewSide\n\n \n \n\n\n\n\n\n \n \n View side\n\n \n \n \n \n \n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n viewType: ViewType\n\n \n \n\n\n \n \n Type : ViewType\n\n \n \n\n\n\n\n\n \n \n View type\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/NameInputComponent.html":{"url":"components/NameInputComponent.html","title":"component - NameInputComponent","body":"\n \n\n\n\n\n\n Components\n \n NameInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n\n\n\n \n Description\n \n \n Component for inputting the researcher's name\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-name-input\n \n\n \n styleUrls\n ./name-input.component.scss\n \n\n\n\n \n templateUrl\n ./name-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _name\n \n \n Readonly\n clsName\n \n \n firstNameValidator\n \n \n lastNameValidator\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateName\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n name\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n nameChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n\n \n \n Creates an instance of name input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n name\n \n \n \n \n Type : UserName\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n nameChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n \n \n Emits a UserName object\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-name-input\"\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateName\n \n \n \n \n \n \nupdateName(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:83\n \n \n\n\n \n \n Updates username with a new entry and emits the UserName object\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n firstName or lastName\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _name\n \n \n \n \n \n \n Type : UserName\n\n \n \n \n \n Default value : {\n firstName: '',\n lastName: ''\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n firstNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:40\n \n \n\n \n \n Used to validate the first name input field.\n\n \n \n\n \n \n \n \n \n \n \n \n lastNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:44\n \n \n\n \n \n Used to validate the last name input field.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n\n \n Returns : UserName\n\n \n \n \n\n \n \n setname(value: UserName)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:54\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n UserName\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n \n \n First Name \n \n\n\n\n Last Name \n \n\n\n \n\n \n \n ./name-input.component.scss\n \n :host {\n display: flex;\n\n .field {\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: left;\n width: 100%;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' First Name Last Name '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'NameInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NameInputModule.html":{"url":"modules/NameInputModule.html","title":"module - NameInputModule","body":"\n \n\n\n\n\n Modules\n NameInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\n\n\nNameInputModule\n\nNameInputModule\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n NameInputComponent\n \n \n \n \n Exports\n \n \n NameInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputComponent } from './name-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatSlideToggleModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule\n ],\n declarations: [NameInputComponent],\n exports: [NameInputComponent]\n})\nexport class NameInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OrganData.html":{"url":"interfaces/OrganData.html","title":"interface - OrganData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OrganData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n organ\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PageState.html":{"url":"injectables/PageState.html","title":"injectable - PageState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n PageState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n General page global state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n Readonly\n registrationStarted$\n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n Readonly\n user$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n cancelRegistration\n \n \n clearHasChanges\n \n \n Private\n initSkipConfirmationListeners\n \n \n ngxsOnInit\n \n \n registrationStarted\n \n \n setHasChanges\n \n \n setUseCancelRegistrationCallback\n \n \n setUserName\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n globalSkipConfirmation$\n \n \n hasChanges$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:78\n \n \n\n \n \n Creates an instance of page state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \ncancelRegistration()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:110\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n clearHasChanges\n \n \n \n \n \n \nclearHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:162\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n initSkipConfirmationListeners\n \n \n \n \n \n \n \n initSkipConfirmationListeners()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:168\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:94\n \n \n\n\n \n \n Initializes this service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \nregistrationStarted()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:145\n \n \n\n\n \n \n Sets registrationStarted to true (when initial registration modal is closed)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setHasChanges\n \n \n \n \n \n \nsetHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:152\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setUseCancelRegistrationCallback\n \n \n \n \n \n \nsetUseCancelRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUserName\n \n \n \n \n \n \nsetUserName(name: Pick)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:135\n \n \n\n\n \n \n Sets the name of the active user.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n name\n \n Pick\n \n\n \n No\n \n\n\n \n The first and last name\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('registrationCallbackSet'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n registrationStarted$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluckUnique('registrationStarted'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:58\n \n \n\n \n \n RegistrationStated observable\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('useCancelRegistrationCallback'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n user$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('user'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:56\n \n \n\n \n \n Active user observable\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n\n \n \n getskipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:63\n \n \n\n \n \n \n \n \n \n \n globalSkipConfirmation$\n \n \n\n \n \n getglobalSkipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:68\n \n \n\n \n \n \n \n \n \n \n hasChanges$\n \n \n\n \n \n gethasChanges$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:76\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PageStateModel.html":{"url":"interfaces/PageStateModel.html","title":"interface - PageStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PageStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n Page state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hasChanges\n \n \n \n \n registrationCallbackSet\n \n \n \n \n registrationStarted\n \n \n \n \n skipConfirmation\n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hasChanges\n \n \n \n \n \n \n \n \n hasChanges: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n \n \n \n \n \n skipConfirmation\n \n \n \n \n \n \n \n \n skipConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n \n \n \n \n useCancelRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: Person\n\n \n \n\n\n \n \n Type : Person\n\n \n \n\n\n\n\n\n \n \n Active user\n\n \n \n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Person.html":{"url":"interfaces/Person.html","title":"interface - Person","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Person\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n A record with information about a single person\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceDataState.html":{"url":"injectables/ReferenceDataState.html","title":"injectable - ReferenceDataState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ReferenceDataState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n \n Description\n \n \n Data for the main 3d model display\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getOrganData\n \n \n getReferenceOrganIri\n \n \n Private\n getSourceDB\n \n \n ngxsOnInit\n \n \n normalizePlacement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globals: GlobalsService, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:75\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globals\n \n \n GlobalsService\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getOrganData\n \n \n \n \n \n \ngetOrganData(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:155\n \n \n\n\n \n \n Looks up organ information from an IRI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n The IRI\n\n \n \n \n \n \n \n \n \n Returns : OrganData | undefined\n\n \n \n A populated organ data if the IRI is valid, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganIri\n \n \n \n \n \n \ngetReferenceOrganIri(organ: string, sex?: \"Male\" | \"Female\" | string, side?: \"Left\" | \"Right\" | string, organInfo?: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:135\n \n \n\n\n \n \n Looks up an IRI for a potential reference organ.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n string\n \n\n \n No\n \n\n\n \n the organ\n\n \n \n \n sex\n \n \"Male\" | \"Female\" | string\n \n\n \n Yes\n \n\n\n \n the sex: male, female, or undefined\n\n \n \n \n side\n \n \"Left\" | \"Right\" | string\n \n\n \n Yes\n \n\n\n \n the side: left, right, or undefined\n\n \n \n \n organInfo\n \n OrganInfo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : string | undefined\n\n \n \n An IRI if there is a reference organ for this state, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getSourceDB\n \n \n \n \n \n \n \n getSourceDB()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:100\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:87\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n normalizePlacement\n \n \n \n \n \n \nnormalizePlacement(place: SpatialPlacementJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n place\n \n SpatialPlacementJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialPlacementJsonLd\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReferenceDataStateModel.html":{"url":"interfaces/ReferenceDataStateModel.html","title":"interface - ReferenceDataStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReferenceDataStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n extractionSets\n \n \n \n \n organIRILookup\n \n \n \n \n organSpatialEntities\n \n \n \n \n placementPatches\n \n \n \n \n sceneNodeLookup\n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organIRILookup\n \n \n \n \n \n \n \n \n organIRILookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organSpatialEntities\n \n \n \n \n \n \n \n \n organSpatialEntities: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placementPatches\n \n \n \n \n \n \n \n \n placementPatches: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sceneNodeLookup\n \n \n \n \n \n \n \n \n sceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n simpleSceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationContentComponent.html":{"url":"components/RegistrationContentComponent.html","title":"component - RegistrationContentComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n\n\n\n \n Description\n \n \n Component containing content of the initial registration modal\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-content\n \n\n \n styleUrls\n ./registration-content.component.scss\n \n\n\n\n \n templateUrl\n ./registration-content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n currentOrgan\n \n \n currentSex\n \n \n Public\n dialogRef\n \n \n nameValid\n \n \n organList\n \n \n organSelected\n \n \n Readonly\n sexByLabel$\n \n \n sexSelected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkNameValid\n \n \n closeDialog\n \n \n organSelect\n \n \n registerButtonClick\n \n \n setSexFromLabel\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, dialogRef: MatDialogRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n \n \n Creates an instance of the registration dialog\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page state\n\n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state\n\n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n Registration dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-content\"\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkNameValid\n \n \n \n \n \n \ncheckNameValid(event: Pick)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:75\n \n \n\n\n \n \n Checks to see if a first and last name has been entered\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Pick\n \n\n \n No\n \n\n\n \n Name input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n closeDialog\n \n \n \n \n \n \ncloseDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:109\n \n \n\n\n \n \n Closes the dialog and sets the correct sex and organ in the model state\nUpdates page state to signal registration has started\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n organSelect\n \n \n \n \n \n \norganSelect(organ: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:84\n \n \n\n\n \n \n Updates current organ selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n OrganInfo\n \n\n \n No\n \n\n\n \n Organ selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:95\n \n \n\n\n \n \n Handles button click\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n The click event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n Returns nothing is no organ is selected\n\n \n \n \n \n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:65\n \n \n\n\n \n \n Updates current sex selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Sex selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n currentOrgan\n \n \n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:40\n \n \n\n \n \n Current organ selected\n\n \n \n\n \n \n \n \n \n \n \n \n currentSex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:37\n \n \n\n \n \n Current sex selected\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:55\n \n \n\n \n \n Registration dialog\n \n \n\n \n \n \n \n \n \n \n \n nameValid\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:28\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n organSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:34\n \n \n\n \n \n Whether an organ has been selected\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:23\n \n \n\n \n \n Current sex in the model state\n\n \n \n\n \n \n \n \n \n \n \n \n sexSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PageState, Person } from '../../../core/store/page/page.state';\nimport { ModelState, RUI_ORGANS } from '../../../core/store/model/model.state';\nimport { map } from 'rxjs/operators';\nimport { OrganInfo } from 'ccf-shared';\n\n\n/**\n * Component containing content of the initial registration modal\n */\n@Component({\n selector: 'ccf-registration-content',\n templateUrl: './registration-content.component.html',\n styleUrls: ['./registration-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RegistrationContentComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-content';\n\n /** Current sex in the model state */\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n /** HTML class name */\n organList = RUI_ORGANS;\n\n /** HTML class name */\n sexSelected: boolean;\n\n /** Whether an organ has been selected */\n organSelected: boolean;\n\n /** Current sex selected */\n currentSex: string;\n\n /** Current organ selected */\n currentOrgan: OrganInfo;\n\n nameValid: boolean;\n\n /**\n * Creates an instance of the registration dialog\n *\n * @param page Page state\n * @param model Model state\n * @param registration Registration state\n * @param dialogRef Registration dialog\n */\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n public dialogRef: MatDialogRef\n ) {\n dialogRef.disableClose = true;\n }\n\n /**\n * Updates current sex selected\n *\n * @param label Sex selected\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.currentSex = label;\n this.sexSelected = true;\n }\n\n /**\n * Checks to see if a first and last name has been entered\n *\n * @param event Name input event\n */\n checkNameValid(event: Pick): void {\n this.nameValid = event.firstName.length > 0 && event.lastName.length > 0;\n }\n\n /**\n * Updates current organ selected\n *\n * @param organ Organ selected\n */\n organSelect(organ: OrganInfo): void {\n this.currentOrgan = organ;\n this.organSelected = true;\n }\n\n /**\n * Handles button click\n *\n * @param [event] The click event\n * @returns Returns nothing is no organ is selected\n */\n registerButtonClick(event?: MouseEvent): void {\n if (event) {\n event.preventDefault();\n }\n if (!this.organSelected || !this.nameValid) {\n return;\n }\n this.closeDialog();\n }\n\n /**\n * Closes the dialog and sets the correct sex and organ in the model state\n * Updates page state to signal registration has started\n */\n closeDialog(): void {\n this.model.setSex(this.currentSex === 'Female' ? 'female' : 'male');\n this.model.setOrgan(this.currentOrgan);\n this.dialogRef.close(true);\n this.page.registrationStarted();\n }\n}\n\n \n\n \n \n \n \n \n\n \n Donor Sex:\n \n \n \n\n Select an organ\n\n \n \n \n \n START REGISTRATION\n\n \n\n \n \n ./registration-content.component.scss\n \n .modal {\n padding: 1rem;\n border-radius: 4px;\n max-width: 47rem;\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n .selector-label {\n font-weight: 600;\n height: 3rem;\n line-height: 3rem;\n }\n\n .selector-container {\n margin: 0 auto;\n }\n\n .registration-button {\n display: block;\n margin: 0 auto;\n margin-top: 2rem;\n transition: 0.6s;\n\n &.disabled {\n pointer-events: none;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Select an organ START REGISTRATION'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationContentModule.html":{"url":"modules/RegistrationContentModule.html","title":"module - RegistrationContentModule","body":"\n \n\n\n\n\n Modules\n RegistrationContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationContentModule_imports\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationContentComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n \n \n Exports\n \n \n RegistrationContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RegistrationContentComponent } from './registration-content.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputModule } from '../../../shared/components/name-input/name-input.module';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { OrganSelectorModule } from 'ccf-shared';\n\n\n@NgModule({\n declarations: [RegistrationContentComponent],\n imports: [CommonModule, MatButtonModule, MatTooltipModule, NameInputModule, LabeledSlideToggleModule, OrganSelectorModule],\n exports: [RegistrationContentComponent]\n})\nexport class RegistrationContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationModalComponent.html":{"url":"components/RegistrationModalComponent.html","title":"component - RegistrationModalComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n\n\n\n \n Description\n \n \n Registration modal that appears on startup\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-modal\n \n\n\n\n\n \n templateUrl\n ./registration-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n dialog\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnInit\n \n \n openDialog\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, page: PageState, model: ModelState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n Creates an instance of registration modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Dialog for the modal\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-modal\"\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:37\n \n \n\n\n \n \n Opens the dialog on startup (but not if cancel registration callback is set)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openDialog\n \n \n \n \n \n \nopenDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:54\n \n \n\n\n \n \n Opens dialog\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:29\n \n \n\n \n \n Dialog for the modal\n \n \n\n \n \n\n\n\n\n\n \n import { Component, HostBinding, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { combineLatest } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\n\nimport { ModelState } from '../../../core/store/model/model.state';\nimport { PageState } from '../../../core/store/page/page.state';\nimport { RegistrationContentComponent } from '../registration-content/registration-content.component';\n\n\n/**\n * Registration modal that appears on startup\n */\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'ccf-registration-modal',\n templateUrl: './registration-modal.component.html'\n})\nexport class RegistrationModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-modal';\n\n /**\n * Creates an instance of registration modal component.\n *\n * @param dialog Dialog for the modal\n */\n constructor(\n public dialog: MatDialog,\n private readonly page: PageState,\n private readonly model: ModelState\n ) {}\n\n /**\n * Opens the dialog on startup (but not if cancel registration callback is set)\n */\n ngOnInit(): void {\n combineLatest([this.page.user$, this.model.organ$]).pipe(\n debounceTime(500),\n take(1),\n tap(([user, organ]) => {\n if (user.firstName !== '' && user.lastName !== '' && organ.src !== '') {\n return;\n }\n\n this.openDialog();\n })\n ).subscribe();\n }\n\n /**\n * Opens dialog\n */\n openDialog(): void {\n this.dialog.open(RegistrationContentComponent, {\n autoFocus: false\n });\n }\n}\n\n \n\n \n \n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationModalModule.html":{"url":"modules/RegistrationModalModule.html","title":"module - RegistrationModalModule","body":"\n \n\n\n\n\n Modules\n RegistrationModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_RegistrationModalModule_imports\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationModalComponent\n \n \n \n \n Imports\n \n \n RegistrationContentModule\n \n \n \n \n Exports\n \n \n RegistrationModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegistrationModalComponent } from './registration-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RegistrationContentModule } from '../registration-content/registration-content.module';\n\n@NgModule({\n declarations: [RegistrationModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, RegistrationContentModule],\n exports: [RegistrationModalComponent]\n})\nexport class RegistrationModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationState.html":{"url":"injectables/RegistrationState.html","title":"injectable - RegistrationState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n RegistrationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Data for model registrations\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n refData\n \n \n Private\n tags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addRegistration\n \n \n Private\n buildJsonLd\n \n \n Private\n buildMetadata\n \n \n Async\n editRegistration\n \n \n isDataValid\n \n \n ngxsOnInit\n \n \n register\n \n \n setDisplayErrors\n \n \n setUseRegistrationCallback\n \n \n Private\n xyzTripletToString\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n jsonld$\n \n \n valid$\n \n \n previousRegistrations$\n \n \n currentIdentifier\n \n \n currentDate\n \n \n isValid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Creates an instance of registration state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addRegistration\n \n \n \n \n \n \naddRegistration(registration: Record)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:220\n \n \n\n\n \n \n Adds an entry to the previous registrations\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registration\n \n Record\n \n\n \n No\n \n\n\n \n The new entry\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildJsonLd\n \n \n \n \n \n \n \n buildJsonLd(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:317\n \n \n\n\n \n \n Converts the registration data into jsonld format.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A jsonld object\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildMetadata\n \n \n \n \n \n \n \n buildMetadata(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:283\n \n \n\n\n \n \n Builds a metadata array from the specified data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : MetaData\n\n \n \n metadata An array of label-value objects\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n editRegistration\n \n \n \n \n \n \n \n editRegistration(reg: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n reg\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isDataValid\n \n \n \n \n \n \nisDataValid(page: Immutable, model: Immutable)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:134\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n \n \nregister(useCallback?: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:248\n \n \n\n\n \n \n Registers or downloads json data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n useCallback\n \n boolean\n \n\n \n Yes\n \n\n\n \n Explicit override selecting the register/download action\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setDisplayErrors\n \n \n \n \n \n \nsetDisplayErrors(displayErrors: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:210\n \n \n\n\n \n \n Set's whether or not we should display the user's registration errors\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n displayErrors\n \n boolean\n \n\n \n No\n \n\n\n \n the value to set it to\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUseRegistrationCallback\n \n \n \n \n \n \nsetUseRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:200\n \n \n\n\n \n \n Sets whether to use the registration callback function or download.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n True to use the callback, false to download\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n xyzTripletToString\n \n \n \n \n \n \n \n xyzTripletToString(xyz: XYZTriplet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:370\n \n \n\n\n \n \n Format a XYZTriplet as a string.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n xyz\n \n XYZTriplet\n \n\n \n No\n \n\n\n \n The triplet values\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n The string representation\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('displayErrors'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:110\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:107\n \n \n\n \n \n Reference to the page state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n refData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Reference to the reference data state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n tags\n \n \n \n \n \n \n Type : AnatomicalStructureTagState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:113\n \n \n\n \n \n Reference to the AS Tag state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n\n \n \n getmetadata$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:56\n \n \n \n \n Observable of registration metadata\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n jsonld$\n \n \n\n \n \n getjsonld$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:64\n \n \n \n \n Observable of registration data in jsonld format\n\n\n \n Returns : Observable>\n\n \n \n \n\n \n \n \n \n \n \n \n valid$\n \n \n\n \n \n getvalid$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:71\n \n \n\n \n \n \n \n \n \n \n previousRegistrations$\n \n \n\n \n \n getpreviousRegistrations$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:81\n \n \n \n \n Observable of previous registrations\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n currentIdentifier\n \n \n\n \n \n getcurrentIdentifier()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:96\n \n \n \n \n Current uuid identifier used when registering\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n currentDate\n \n \n\n \n \n getcurrentDate()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:102\n \n \n \n \n Time of last modification to registration data\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n isValid\n \n \n\n \n \n getisValid()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:239\n \n \n\n \n \n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationStateModel.html":{"url":"interfaces/RegistrationStateModel.html","title":"interface - RegistrationStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Registration state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayErrors\n \n \n \n \n registrations\n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayErrors\n \n \n \n \n \n \n \n \n displayErrors: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not to display user registration errors\n\n \n \n \n \n \n \n \n \n \n registrations\n \n \n \n \n \n \n \n \n registrations: Record[]\n\n \n \n\n\n \n \n Type : Record[]\n\n \n \n\n\n\n\n\n \n \n Previous registrations\n\n \n \n \n \n \n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n useRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to use the registration callback function\n\n \n \n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewButtonComponent.html":{"url":"components/ReviewButtonComponent.html","title":"component - ReviewButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n\n\n\n \n Description\n \n \n Component to launch the ReviewModal component.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-button\n \n\n \n styleUrls\n ./review-button.component.scss\n \n\n\n\n \n templateUrl\n ./review-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchReviewModal\n \n \n ngOnChanges\n \n \n registerButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n displayErrors\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n registrationIsValid\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n enterErrorMode\n \n \n registerData\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n\n \n \n Creates an instance of review button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Reference to the dialog creation service.\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n displayErrors\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:35\n \n \n \n \n Whether or not the app is currently displaying errors\nDecides how the button should be styled\n\n \n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n Type : MetaData\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:29\n \n \n \n \n Input object of information to display in the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:24\n \n \n \n \n Input to set whether the component should be in register (true) or download (false) mode\n\n \n \n \n \n \n \n \n \n \n registrationIsValid\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:42\n \n \n \n \n Whether or not all the necessary data has been inputted from\nthe user. Decides whether or not to let the user open the\nregistration / download modal\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n enterErrorMode\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n \n \n Turns on the 'error mode' for the application.\nUsed to begin showing the user what they need to\ndo to be able to register / download.\n\n \n \n \n \n \n \n \n \n \n registerData\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:47\n \n \n \n \n Output that emits when the modal's register button was clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-button\"\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchReviewModal\n \n \n \n \n \n \nlaunchReviewModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:100\n \n \n\n\n \n \n Opens the info dialogue with the project details\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:68\n \n \n\n\n \n \n Updates the value of registrationIsValid based on the\nmeta data.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:85\n \n \n\n\n \n \n Handles the click action for the register button.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n\n \n \n getdisabled()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:78\n \n \n \n \n Decides whether or not the download / register button should\nbe disabled.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, OnChanges, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { MetaData } from '../../../core/models/meta-data';\nimport { ReviewModalComponent } from '../review-modal/review-modal.component';\n\n\n/**\n * Component to launch the ReviewModal component.\n */\n@Component({\n selector: 'ccf-review-button',\n templateUrl: './review-button.component.html',\n styleUrls: ['./review-button.component.scss']\n})\nexport class ReviewButtonComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-button';\n\n /**\n * Input to set whether the component should be in register (true) or download (false) mode\n */\n @Input() registrationCallbackSet = true;\n\n /**\n * Input object of information to display in the modal\n */\n @Input() metaData: MetaData = [];\n\n /**\n * Whether or not the app is currently displaying errors\n * Decides how the button should be styled\n */\n @Input() displayErrors = true;\n\n /**\n * Whether or not all the necessary data has been inputted from\n * the user. Decides whether or not to let the user open the\n * registration / download modal\n */\n @Input() registrationIsValid = false;\n\n /**\n * Output that emits when the modal's register button was clicked\n */\n @Output() readonly registerData = new EventEmitter();\n\n /**\n * Turns on the 'error mode' for the application.\n * Used to begin showing the user what they need to\n * do to be able to register / download.\n */\n @Output() readonly enterErrorMode = new EventEmitter();\n\n /**\n * Creates an instance of review button component.\n *\n * @param dialog Reference to the dialog creation service.\n * @param ga Analytics service\n */\n constructor(private readonly dialog: MatDialog, private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates the value of registrationIsValid based on the\n * meta data.\n */\n ngOnChanges(): void {\n this.registrationIsValid =\n this.metaData.length >= 3 &&\n this.metaData.slice(0, 3).every(entry => entry.value);\n }\n\n /**\n * Decides whether or not the download / register button should\n * be disabled.\n */\n get disabled(): boolean {\n return !this.registrationIsValid;\n }\n\n /**\n * Handles the click action for the register button.\n */\n registerButtonClick(event?: MouseEvent): false {\n if (event) {\n event.preventDefault();\n }\n this.enterErrorMode.emit();\n if (this.registrationIsValid) {\n this.ga.event('review_start', 'review_button');\n this.launchReviewModal();\n }\n return false;\n }\n\n /**\n * Opens the info dialogue with the project details\n */\n launchReviewModal(): void {\n const dialogRef = this.dialog.open(ReviewModalComponent, {\n panelClass: 'modal-animated',\n width: '60rem',\n data: {\n registrationCallbackSet: this.registrationCallbackSet,\n metaData: this.metaData\n }\n });\n\n dialogRef.afterClosed().subscribe(\n data => {\n if (data) {\n this.ga.event('register', 'review_button');\n this.registerData.emit();\n }\n }\n );\n }\n}\n\n \n\n \n \n {{ registrationCallbackSet ? 'REVIEW AND REGISTER' : 'REVIEW AND DOWNLOAD' }}\n\n\n \n\n \n \n ./review-button.component.scss\n \n .review-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n font-weight: 500;\n\n &.disabled {\n cursor: not-allowed;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ registrationCallbackSet ? \\'REVIEW AND REGISTER\\' : \\'REVIEW AND DOWNLOAD\\' }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewButtonModule.html":{"url":"modules/ReviewButtonModule.html","title":"module - ReviewButtonModule","body":"\n \n\n\n\n\n Modules\n ReviewButtonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewButtonComponent\n \n \n \n \n Imports\n \n \n ReviewModalModule\n \n \n \n \n Exports\n \n \n ReviewButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewButtonComponent } from './review-button.component';\nimport { ReviewModalModule } from '../review-modal/review-modal.module';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [ReviewButtonComponent],\n imports: [\n CommonModule,\n ReviewModalModule,\n MatButtonModule,\n MatTooltipModule\n ],\n exports: [ReviewButtonComponent]\n})\nexport class ReviewButtonModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewModalComponent.html":{"url":"components/ReviewModalComponent.html","title":"component - ReviewModalComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n\n\n\n \n Description\n \n \n Modal for reviewing the registration\n\n \n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-modal\n \n\n \n styleUrls\n ./review-modal.component.scss\n \n\n\n\n \n templateUrl\n ./review-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, data: ReviewModalData)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n Creates an instance of the review modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n\n \n \n \n data\n \n \n ReviewModalData\n \n \n \n No\n \n \n \n Data being injected into the dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-modal\"\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:54\n \n \n\n\n \n \n Closes info dialog component\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : ReviewModalData\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:45\n \n \n\n \n \n Data being injected into the dialog\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:44\n \n \n\n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n \n \n\n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n \n \n Type : MetaData\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n\n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:30\n \n \n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n \n \n \n \n clear\n \n \n Registration Review\n\n \n \n \n {{ data.label }}\n {{ data.value }}\n \n \n \n\n \n {{ registrationCallbackSet ? 'REGISTER' : 'DOWNLOAD REGISTRATION DATA' }}\n \n \n \n\n \n\n \n \n ./review-modal.component.scss\n \n ::ng-deep .mat-dialog-container {\n padding: 0;\n}\n\n:host {\n .ccf-about.wrapper {\n .container {\n .content {\n padding: 3rem;\n background-color: white;\n\n .title {\n text-align: center;\n font-size: 1.5rem;\n margin-bottom: 0;\n }\n\n .mat-typography {\n justify-content: space-around;\n display: flex;\n\n .display-fields {\n margin-top: 2rem;\n margin-bottom: 2rem;\n width: 100%;\n\n .field {\n display: flex;\n\n .label {\n width: 50%;\n text-align: right;\n padding-right: 1rem;\n }\n\n .data {\n width: 50%;\n text-align: left;\n padding-left: 1rem;\n }\n }\n }\n }\n }\n\n .close {\n .close-icon {\n float: right;\n margin-top: 1rem;\n margin-right: 1rem;\n cursor: pointer;\n }\n }\n\n .footer {\n padding-top: 1.5rem;\n display: flex;\n justify-content: space-around;\n\n .review-button {\n height: 3rem;\n transition: 0.6s;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear Registration Review {{ data.label }} {{ data.value }} {{ registrationCallbackSet ? \\'REGISTER\\' : \\'DOWNLOAD REGISTRATION DATA\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReviewModalData.html":{"url":"interfaces/ReviewModalData.html","title":"interface - ReviewModalData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReviewModalData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n\n\n \n Description\n \n \n The expected format of the review modal's data input.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n metaData\n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n metaData\n \n \n \n \n \n \n \n \n metaData: MetaData\n\n \n \n\n\n \n \n Type : MetaData\n\n \n \n\n\n\n\n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n \n \n \n \n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewModalModule.html":{"url":"modules/ReviewModalModule.html","title":"module - ReviewModalModule","body":"\n \n\n\n\n\n Modules\n ReviewModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewModalComponent\n \n \n \n \n Exports\n \n \n ReviewModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewModalComponent } from './review-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [ReviewModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, MatButtonModule],\n exports: [ReviewModalComponent]\n})\nexport class ReviewModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RightSidebarComponent.html":{"url":"components/RightSidebarComponent.html","title":"component - RightSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n RightSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n\n\n\n \n Description\n \n \n The right sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-right-sidebar\n \n\n \n styleUrls\n ./right-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./right-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, registration: RegistrationState, page: PageState, astags: AnatomicalStructureTagState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n\n \n \n Creates an instance of right sidebar component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state service\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n Registration state service\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n astags\n \n \n AnatomicalStructureTagState\n \n \n \n No\n \n \n \n The anatomical structure tags state\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-right-sidebar\"\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { ModelState } from '../../core/store/model/model.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { AnatomicalStructureTagState } from '../../core/store/anatomical-structure-tags/anatomical-structure-tags.state';\n\n\n/**\n * The right sidebar\n */\n@Component({\n selector: 'ccf-right-sidebar',\n templateUrl: './right-sidebar.component.html',\n styleUrls: ['./right-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RightSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-right-sidebar';\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n /**\n * Creates an instance of right sidebar component.\n *\n * @param model Model state service\n * @param registration Registration state service\n * @param page The page state\n * @param astags The anatomical structure tags state\n */\n constructor(\n readonly model: ModelState,\n readonly registration: RegistrationState,\n readonly page: PageState,\n readonly astags: AnatomicalStructureTagState\n ) { }\n}\n\n \n\n \n \n\n \n \n \n \n \n \n\n\n \n \n\n \n \n\n \n \n \n Anatomical Structure Tags\n \n\n \n \n\n \n \n \n \n\n \n \n Assigned\n \n Added\n \n \n \n\n \n\n \n \n \n\n\n \n\n \n \n ./right-sidebar.component.scss\n \n :host {\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n // overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n \n\n .container {\n display: flex;\n flex-direction: column;\n min-height: 100%;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n\n .info-button-container {\n height: 3.75rem;\n display: flex;\n justify-content: flex-end;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n\n mat-expansion-panel-header {\n padding: 0 0.5rem 0 0;\n font-weight: bold;\n -webkit-user-select: none;\n -moz-user-select: none;\n font-size: 1rem;\n }\n }\n\n .tags-container {\n // Allow tag search to overflow when displaying results\n overflow: visible;\n\n ::ng-deep .mat-expansion-panel-body {\n padding-left: 0;\n padding-right: 0;\n }\n\n .header {\n height: 3rem;\n }\n\n .search {\n margin-top: 1rem;\n\n .icon.add {\n position: absolute;\n // Sizes and offsets found by experimentation\n width: 3.625rem;\n height: 3.625rem;\n font-size: 3.625rem;\n top: -1.9375rem;\n right: -1.1875rem;\n }\n }\n\n .tag-list {\n max-height: 32rem;\n margin-left: -1rem;\n }\n\n .tag-list-placeholder {\n display: flex;\n height: 4rem;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n }\n\n .legend {\n display: flex;\n width: 100%;\n margin-top: 1.5rem;\n align-items: center;\n font-size: 0.9rem;\n\n .dot {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n border-radius: 50%;\n\n &.assigned {\n margin-left: 0.5rem;\n }\n\n &.added {\n \n margin-left: 1rem;\n }\n }\n\n .text {\n margin-left: 0.5rem;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Anatomical Structure Tags Assigned Added '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RightSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RightSidebarModule.html":{"url":"modules/RightSidebarModule.html","title":"module - RightSidebarModule","body":"\n \n\n\n\n\n Modules\n RightSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RightSidebarComponent\n \n \n \n \n Imports\n \n \n BlockSizeInputModule\n \n \n ReviewButtonModule\n \n \n RotationSliderModule\n \n \n SlicesInputModule\n \n \n TagListModule\n \n \n TagSearchModule\n \n \n \n \n Exports\n \n \n RightSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { BlockSizeInputModule } from '../../shared/components/block-size-input/block-size-input.module';\nimport { RotationSliderModule } from '../../shared/components/rotation-slider/rotation-slider.module';\nimport { SlicesInputModule } from '../../shared/components/slices-input/slices-input.module';\nimport { TagListModule } from '../../shared/components/tag-list/tag-list.module';\nimport { TagSearchModule } from '../../shared/components/tag-search/tag-search.module';\nimport { ReviewButtonModule } from '../review/review-button/review-button.module';\nimport { RightSidebarComponent } from './right-sidebar.component';\n\nimport { InfoButtonModule } from 'ccf-shared';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatExpansionModule,\n MatDividerModule,\n MatIconModule,\n BrowserAnimationsModule,\n MatTooltipModule,\n\n BlockSizeInputModule,\n ReviewButtonModule,\n RotationSliderModule,\n SlicesInputModule,\n TagListModule,\n TagSearchModule,\n InfoButtonModule\n ],\n declarations: [RightSidebarComponent],\n exports: [RightSidebarComponent]\n})\nexport class RightSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rotation.html":{"url":"interfaces/Rotation.html","title":"interface - Rotation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rotation\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n\n\n \n Description\n \n \n Type in which the values of the sliders are stored.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X slider value\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y slider value\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z slider value\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RotationSliderComponent.html":{"url":"components/RotationSliderComponent.html","title":"component - RotationSliderComponent","body":"\n \n\n\n\n\n\n Components\n \n RotationSliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n\n\n\n \n Description\n \n \n Component that enables the setting of a Rotation object via either 3 draggable sliders\nor through an Input method.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-rotation-slider\n \n\n \n styleUrls\n ./rotation-slider.component.scss\n \n\n\n\n \n templateUrl\n ./rotation-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n changeRotation\n \n \n resetRotation\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n rotation\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n rotationChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n\n \n \n Creates an instance of rotation slider component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n rotation\n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : DEFAULT_ROTATION\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:39\n \n \n \n \n Input that allows the rotation to be changed from outside of the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n rotationChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n \n \n Output that emits the new rotation whenever it is changed from within the component\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-rotation-slider\"\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n changeRotation\n \n \n \n \n \n \nchangeRotation(newRotation: number | string, axis: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:59\n \n \n\n\n \n \n Function that handles updating the rotation and emitting the new value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n newRotation\n \n number | string\n \n\n \n No\n \n\n\n \n the new value for one of the axis to be set to\n\n \n \n \n axis\n \n string\n \n\n \n No\n \n\n\n \n which axis to update\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetRotation\n \n \n \n \n \n \nresetRotation()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:68\n \n \n\n\n \n \n Function to easily reset the rotations to 0 and emit this change.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n \n \n Tissue Block Rotation\n \n refresh\n\n\n\n X\n \n \n \n {{ rotation.x }}\n\n\n\n Y\n \n \n \n {{ rotation.y }}\n\n\n\n Z\n \n \n \n {{ rotation.z }}\n\n\n \n\n \n \n ./rotation-slider.component.scss\n \n :host {\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n \n &:hover {\n border-radius: 2px;\n }\n\n }\n }\n\n .slider-box {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 4rem;\n padding-left: 0.5rem;\n\n .label {\n width: 1rem;\n }\n\n .value {\n width: 2.75rem;\n text-align: center;\n }\n\n .slider-container {\n width: 100%;\n padding-left: 2rem;\n padding-right: 2rem;\n padding-bottom: 1rem;\n padding-top: 1rem;\n\n .slider {\n width: 100%;\n \n &:not(.cdk-focused) {\n ::ng-deep .mat-slider-thumb {\n width: 1.25rem;\n height: 1.25rem;\n transform: none;\n }\n }\n }\n\n ::ng-deep .mat-slider-horizontal {\n .mat-slider-wrapper {\n right: 0.625rem;\n &:after {\n margin-top: -0.25rem;\n height: 0.625rem !important;\n }\n }\n \n .mat-slider-ticks-container {\n margin-top: -0.25rem;\n height: 0.625rem;\n\n .mat-slider-ticks {\n height: 0.625rem;\n }\n }\n \n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Rotation refresh X {{ rotation.x }} Y {{ rotation.y }} Z {{ rotation.z }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RotationSliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RotationSliderModule.html":{"url":"modules/RotationSliderModule.html","title":"module - RotationSliderModule","body":"\n \n\n\n\n\n Modules\n RotationSliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RotationSliderComponent\n \n \n \n \n Exports\n \n \n RotationSliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RotationSliderComponent } from './rotation-slider.component';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [RotationSliderComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatSliderModule,\n MatRippleModule,\n MatTooltipModule\n ],\n exports: [RotationSliderComponent]\n})\nexport class RotationSliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SceneState.html":{"url":"injectables/SceneState.html","title":"injectable - SceneState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SceneState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n 3d Scene state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n Private\n model\n \n \n Private\n referenceData\n \n \n Private\n registration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n ngxsOnInit\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n rotatedNodes$\n \n \n referenceOrganNodes$\n \n \n referenceOrganSimpleNodes$\n \n \n nodeCollisions$\n \n \n previousRegistrationNodes$\n \n \n placementCube$\n \n \n placementCube\n \n \n rotation$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n \n \n \n \n \n createSceneNodes(organIri: string, items: VisibilityItem[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:249\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n items\n \n VisibilityItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:239\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ])\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:204\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:221\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n referenceData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n registration\n \n \n \n \n \n \n Type : RegistrationState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:222\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n\n \n \n getnodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:52\n \n \n\n \n \n \n \n \n \n \n rotatedNodes$\n \n \n\n \n \n getrotatedNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:63\n \n \n\n \n \n \n \n \n \n \n referenceOrganNodes$\n \n \n\n \n \n getreferenceOrganNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:80\n \n \n \n \n Observable of spatial nodes\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n referenceOrganSimpleNodes$\n \n \n\n \n \n getreferenceOrganSimpleNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:90\n \n \n\n \n \n \n \n \n \n \n nodeCollisions$\n \n \n\n \n \n getnodeCollisions$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:118\n \n \n\n \n \n \n \n \n \n \n previousRegistrationNodes$\n \n \n\n \n \n getpreviousRegistrationNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:129\n \n \n\n \n \n \n \n \n \n \n placementCube$\n \n \n\n \n \n getplacementCube$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:157\n \n \n\n \n \n \n \n \n \n \n placementCube\n \n \n\n \n \n getplacementCube()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:164\n \n \n\n \n \n \n \n \n \n \n rotation$\n \n \n\n \n \n getrotation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:182\n \n \n\n \n \n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SceneStateModel.html":{"url":"interfaces/SceneStateModel.html","title":"interface - SceneStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SceneStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n Scene state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n showCollisions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig.html":{"url":"interfaces/SlicesConfig.html","title":"interface - SlicesConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Slices configuration\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices per block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of slice\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig-1.html":{"url":"interfaces/SlicesConfig-1.html","title":"interface - SlicesConfig-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n\n\n \n Description\n \n \n Interface containing slices data of the tissue block\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices in the block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of each tissue slice\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SlicesInputComponent.html":{"url":"components/SlicesInputComponent.html","title":"component - SlicesInputComponent","body":"\n \n\n\n\n\n\n Components\n \n SlicesInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering data on block slices\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-slices-input\n \n\n \n styleUrls\n ./slices-input.component.scss\n \n\n\n\n \n templateUrl\n ./slices-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshSlices\n \n \n updateSlicesData\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n slicesConfig\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n slicesConfigChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:48\n \n \n\n \n \n Creates an instance of slices input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n slicesConfig\n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : DEFAULT_SLICES_CONFIG\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:36\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n slicesConfigChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:41\n \n \n \n \n Emitter for slice data values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-slices-input\"\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshSlices\n \n \n \n \n \n \nrefreshSlices()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:73\n \n \n\n\n \n \n Refreshes all slice data values to empty values\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateSlicesData\n \n \n \n \n \n \nupdateSlicesData(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:63\n \n \n\n\n \n \n Limits the length of the input if needed and updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n\n \n \n gethasThicknessValue()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:46\n \n \n \n \n Returns whether a valid thickness value has been entered.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n \n \n Tissue Sections\n \n \n refresh\n \n\n\n\n \n Thickness\n \n μm\n \n\n \n # Sections\n \n \n\n\n \n\n \n \n ./slices-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n align-items: center;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n }\n\n .slices-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n\n .suffix {\n display: none;\n }\n\n &.mat-focused .suffix, .suffix.show {\n display: initial;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Sections refresh Thickness μm # Sections '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SlicesInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SlicesInputModule.html":{"url":"modules/SlicesInputModule.html","title":"module - SlicesInputModule","body":"\n \n\n\n\n\n Modules\n SlicesInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SlicesInputComponent\n \n \n \n \n Exports\n \n \n SlicesInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { NumbersOnlyModule } from 'ccf-shared';\nimport { SlicesInputComponent } from './slices-input.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule,\n NumbersOnlyModule\n ],\n declarations: [SlicesInputComponent],\n exports: [SlicesInputComponent]\n})\nexport class SlicesInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StageNavComponent.html":{"url":"components/StageNavComponent.html","title":"component - StageNavComponent","body":"\n \n\n\n\n\n\n Components\n \n StageNavComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n\n\n\n \n Description\n \n \n Component that allows the user to change the viewing angle and rendering mode of the stage.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-stage-nav\n \n\n \n styleUrls\n ./stage-nav.component.scss\n \n\n\n\n \n templateUrl\n ./stage-nav.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n isDropdownActive\n \n \n isDropdownHidden\n \n \n labelRef\n \n \n optionsRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n updateSide\n \n \n updateView\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n side\n \n \n useDropdownMenu\n \n \n view3D\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n sideChange\n \n \n view3DChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n labelEl\n \n \n optionsEl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:60\n \n \n\n \n \n Creates an instance of stage nav component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n side\n \n \n \n \n Type : Side\n\n \n \n \n \n Default value : 'anterior'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:29\n \n \n \n \n Input that allows changing the current side from outside the component\n\n \n \n \n \n \n \n \n \n \n useDropdownMenu\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n \n \n \n \n \n \n \n \n \n view3D\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:32\n \n \n \n \n Input that allows toggling of 3D view on / off from outside the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n sideChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:35\n \n \n \n \n Output that emits whenever the current side selection changes\n\n \n \n \n \n \n \n \n \n \n view3DChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:38\n \n \n \n \n Output that emits whenever the 3D view is toggled on / off\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-stage-nav\"\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSide\n \n \n \n \n \n \nupdateSide(selection: Side)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:91\n \n \n\n\n \n \n Handles the updating of the side selection and calling the event emitter\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n Side\n \n\n \n No\n \n\n\n \n the new selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateView\n \n \n \n \n \n \nupdateView(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:109\n \n \n\n\n \n \n Handles updating of the boolean that keeps track of current view\nand calling the event emitter.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n 3D (true) or Register (false)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownActive\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:47\n \n \n\n \n \n Whether this component shows a dropdown menu or an options bar\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownHidden\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:50\n \n \n\n \n \n Whether the dropdown menu is hidden\n\n \n \n\n \n \n \n \n \n \n \n \n labelRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('label', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:41\n \n \n\n \n \n Label for dropdown\n\n \n \n\n \n \n \n \n \n \n \n \n optionsRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('options', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:44\n \n \n\n \n \n Options dropdown\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n\n\n \n \n setuseDropdownMenu(value: boolean)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n labelEl\n \n \n\n \n \n getlabelEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:53\n \n \n \n \n Simple helper for accessing the native label element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n \n \n \n \n \n optionsEl\n \n \n\n \n \n getoptionsEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:58\n \n \n \n \n Simple helper for accessing the native options element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild,\n} from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Valid values for side. */\nexport type Side = 'left' | 'right' | 'anterior' | 'posterior' | '3D';\n\n/** Component that allows the user to change the viewing angle and rendering mode of the stage. */\n@Component({\n selector: 'ccf-stage-nav',\n templateUrl: './stage-nav.component.html',\n styleUrls: ['./stage-nav.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StageNavComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-stage-nav';\n\n /** Whether to use a drop down menu instead of a options bar */\n @Input()\n set useDropdownMenu(value: boolean) {\n this.isDropdownActive = value;\n this.isDropdownHidden = true;\n }\n\n /** Input that allows changing the current side from outside the component */\n @Input() side: Side = 'anterior';\n\n /** Input that allows toggling of 3D view on / off from outside the component */\n @Input() view3D = false;\n\n /** Output that emits whenever the current side selection changes */\n @Output() readonly sideChange = new EventEmitter();\n\n /** Output that emits whenever the 3D view is toggled on / off */\n @Output() readonly view3DChange = new EventEmitter();\n\n /** Label for dropdown */\n @ViewChild('label', { static: true }) labelRef: ElementRef;\n\n /** Options dropdown */\n @ViewChild('options', { static: true }) optionsRef: ElementRef;\n\n /** Whether this component shows a dropdown menu or an options bar */\n isDropdownActive = false;\n\n /** Whether the dropdown menu is hidden */\n isDropdownHidden = true;\n\n /** Simple helper for accessing the native label element */\n private get labelEl(): HTMLElement {\n return this.labelRef.nativeElement;\n }\n\n /** Simple helper for accessing the native options element */\n private get optionsEl(): HTMLElement {\n return this.optionsRef.nativeElement;\n }\n\n /**\n * Creates an instance of stage nav component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Listens to document click event\n * Closes the popup only if user clicks outside the popup\n *\n * @param target The element on which the event was fired\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n const { isDropdownHidden, labelEl, optionsEl } = this;\n\n if (labelEl.contains(target)) {\n this.isDropdownHidden = !isDropdownHidden;\n } else if (!optionsEl.contains(target)) {\n this.isDropdownHidden = true;\n }\n }\n\n /**\n * Handles the updating of the side selection and calling the event emitter\n *\n * @param selection the new selected side\n */\n updateSide(selection: Side): void {\n this.ga.event('side_update', 'stage_nav', selection);\n\n if (selection === '3D') {\n this.updateView(true);\n } else {\n this.updateView(false);\n this.side = selection;\n this.sideChange.emit(this.side);\n }\n }\n\n /**\n * Handles updating of the boolean that keeps track of current view\n * and calling the event emitter.\n *\n * @param selection 3D (true) or Register (false)\n */\n updateView(selection: boolean): void {\n this.view3D = selection;\n this.ga.event('view_update', 'stage_nav', selection ? '3D' : 'Register');\n this.view3DChange.emit(this.view3D);\n }\n}\n\n \n\n \n \n Options\n arrow_drop_down\n\n\n\n \n Left\n Right\n Anterior\n Posterior\n \n\n \n\n\n\n \n\n \n \n ./stage-nav.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n\n .dropdown-label {\n display: none;\n align-items: center;\n\n mat-label,\n mat-icon {\n line-height: 1.5rem;\n }\n\n &.dropdown {\n display: flex;\n cursor: pointer;\n align-items: start;\n }\n }\n\n .stage-options {\n display: flex;\n align-items: center;\n\n .input-group {\n .nav-input {\n margin-right: 1.5rem;\n margin-bottom: 1.5rem;\n }\n }\n\n .view-slider {\n margin-left: -1rem;\n margin-bottom: 1.5rem;\n white-space: nowrap;\n }\n\n &.dropdowncontainer {\n display: flex;\n flex-direction: column;\n border-radius: 0.25rem;\n width: 16.5rem;\n position: absolute;\n top: 3.5rem;\n z-index: 1;\n transition: opacity 0.25s;\n\n :first-child {\n margin-top: 0.5rem;\n }\n\n :last-child {\n margin-bottom: 0.5rem;\n }\n\n .input-group {\n margin-left: 1.5rem;\n margin-right: 0;\n display: flex;\n flex-wrap: wrap;\n\n .nav-input {\n display: flex;\n margin: 0;\n margin-right: 1.5rem;\n height: 2.5rem;\n }\n }\n\n .view-slider {\n display: flex;\n align-items: center;\n height: 3rem;\n margin: 0 0.5rem;\n }\n\n mat-divider {\n visibility: visible;\n border-top: 2px solid;\n }\n }\n\n &.hidden {\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.25s, opacity 0.25s;\n\n mat-divider {\n visibility: hidden;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Options arrow_drop_down Left Right Anterior Posterior '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StageNavComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StageNavModule.html":{"url":"modules/StageNavModule.html","title":"module - StageNavModule","body":"\n \n\n\n\n\n Modules\n StageNavModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_StageNavModule_imports\n\n\n\ncluster_StageNavModule_declarations\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\n\n\nStageNavModule\n\nStageNavModule\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StageNavComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n \n \n Exports\n \n \n StageNavComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\n\nimport { StageNavComponent } from './stage-nav.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatRadioModule,\n MatSelectModule,\n MatIconModule,\n MatDividerModule,\n LabeledSlideToggleModule,\n MatTooltipModule\n ],\n declarations: [StageNavComponent],\n exports: [StageNavComponent]\n})\nexport class StageNavModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { environment } from '../../../environments/environment';\nimport { AnatomicalStructureTagState } from './anatomical-structure-tags/anatomical-structure-tags.state';\nimport { IconRegistryState } from './icon-registry/icon-registry.state';\nimport { ModelState } from './model/model.state';\nimport { PageState } from './page/page.state';\nimport { ReferenceDataState } from './reference-data/reference-data.state';\nimport { RegistrationState } from './registration/registration.state';\nimport { SceneState } from './scene/scene.state';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Must come before all other plugins except the ngxs data plugin!\n NgxsStoragePluginModule.forRoot({\n key: ['registration.registrations']\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Tag.html":{"url":"interfaces/Tag.html","title":"interface - Tag","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Tag\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n A tag\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: TagId\n\n \n \n\n\n \n \n Type : TagId\n\n \n \n\n\n\n\n\n \n \n Unique identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Display label\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n \n \n Type : \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n\n\n\n \n \n How the tag was added\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagListComponent.html":{"url":"components/TagListComponent.html","title":"component - TagListComponent","body":"\n \n\n\n\n\n\n Components\n \n TagListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n\n\n\n \n Description\n \n \n A list of removable tags\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-list\n \n\n \n styleUrls\n ./tag-list.component.scss\n \n\n\n\n \n templateUrl\n ./tag-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n removeTag\n \n \n tagClasses\n \n \n tagId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n tags\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n tagRemoved\n \n \n tagsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n\n \n \n Creates an instance of tag list component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n tags\n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:23\n \n \n \n \n The tags\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n tagRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:28\n \n \n \n \n Emits when a tag is removed\n\n \n \n \n \n \n \n \n \n \n tagsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n \n \n Emits the new array of tags when a tag has been removed\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-list\"\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:62\n \n \n\n\n \n \n Removes a tag from the list\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n Tag to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagClasses\n \n \n \n \n \n \ntagClasses(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:49\n \n \n\n\n \n \n Gets the unique identifier for a tag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { Tag } from '../../../core/models/anatomical-structure-tag';\n\n\n/**\n * A list of removable tags\n */\n@Component({\n selector: 'ccf-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagListComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-list';\n\n /**\n * The tags\n */\n @Input() tags: Tag[];\n\n /**\n * Emits when a tag is removed\n */\n @Output() readonly tagRemoved = new EventEmitter();\n\n /**\n * Emits the new array of tags when a tag has been removed\n */\n @Output() readonly tagsChange = new EventEmitter();\n\n /**\n * Creates an instance of tag list component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Gets the unique identifier for a tag\n *\n * @param _index Unused\n * @param tag A tag\n * @returns An identifier\n */\n tagId(_index: number, tag: Tag): unknown {\n return tag.id;\n }\n\n tagClasses(tag: Tag): string[] {\n return tag.type === 'added' ? ['added'] : ['assigned'];\n }\n\n /**\n * Removes a tag from the list\n *\n * @param tag Tag to remove\n */\n removeTag(tag: Tag): void {\n this.tags = this.tags.filter(obj => obj !== tag);\n this.ga.event('tag_removed', 'tag_list', tag.label);\n this.tagRemoved.emit(tag);\n this.tagsChange.emit(this.tags);\n }\n}\n\n \n\n \n \n \n {{ tag.label }}\n cancel\n \n\n\n \n\n \n \n ./tag-list.component.scss\n \n :host {\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n ::ng-deep .mat-chip-list-wrapper {\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ tag.label }} cancel '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagListModule.html":{"url":"modules/TagListModule.html","title":"module - TagListModule","body":"\n \n\n\n\n\n Modules\n TagListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\n\nTagListComponent\n\nTagListComponent\n\n\n\nTagListModule\n\nTagListModule\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagListComponent\n \n \n \n \n Exports\n \n \n TagListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TagListComponent } from './tag-list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatChipsModule,\n MatIconModule\n ],\n declarations: [TagListComponent],\n exports: [TagListComponent],\n})\nexport class TagListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagSearchComponent.html":{"url":"components/TagSearchComponent.html","title":"component - TagSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n TagSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n\n\n\n \n Description\n \n \n Component for searching, selecting, and adding tags.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-search\n \n\n \n styleUrls\n ./tag-search.component.scss\n \n\n\n\n \n templateUrl\n ./tag-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n checkedResults\n \n \n closeSearch\n \n \n Readonly\n clsName\n \n \n Readonly\n countMapping\n \n \n Private\n Readonly\n destroy$\n \n \n resultsVisible\n \n \n Readonly\n searchControl\n \n \n searchResults\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTags\n \n \n closeResults\n \n \n Private\n executeSearch\n \n \n Private\n getUpdatedCheckedResults\n \n \n hasCheckedTags\n \n \n ngOnDestroy\n \n \n openResults\n \n \n tagId\n \n \n Private\n truncateResults\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n placeholder\n \n \n search\n \n \n searchLimit\n \n \n searchThrottle\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n added\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n click\n \n \n focusin\n \n \n window:click\n \n \n window:focusin\n \n \n \n \n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(el: ElementRef, ga: GoogleAnalyticsService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Creates an instance of tag search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n el\n \n \n ElementRef\n \n \n \n No\n \n \n \n Element for this component\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Reference to change detector\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n placeholder\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Add Anatomical Structures ...'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:37\n \n \n \n \n Placeholder text\n\n \n \n \n \n \n \n \n \n \n search\n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:40\n \n \n \n \n Search method\n\n \n \n \n \n \n \n \n \n \n searchLimit\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:43\n \n \n \n \n Maximum number of results to show\n\n \n \n \n \n \n \n \n \n \n searchThrottle\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:46\n \n \n \n \n Throttle time between search calls\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n added\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:49\n \n \n \n \n Emits when tags are added\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-search\"\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n click\n \n \n \n \n \n \nclick()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n focusin\n \n \n \n \n \n \nfocusin()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n window:click\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:click(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n window:focusin\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:focusin(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:132\n \n \n\n\n \n \n Emits selected tags and resets the search and selections\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n closeResults\n \n \n \n \n \n \ncloseResults(event: Event)\n \n \n\n \n \n Decorators : \n \n @HostListener('window:click', ['$event'])@HostListener('window:focusin', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Event\n \n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n executeSearch\n \n \n \n \n \n \n \n executeSearch(text: string)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:179\n \n \n\n\n \n \n Executes a search on a piece of text.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n An observable of the search result.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getUpdatedCheckedResults\n \n \n \n \n \n \n \n getUpdatedCheckedResults(result: TagSearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:218\n \n \n\n\n \n \n Computes a new checked object for result items. Already checked items are preserved.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n New results\n\n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A new checked object\n\n \n \n \n \n \n \n \n \n \n \n \n hasCheckedTags\n \n \n \n \n \n \nhasCheckedTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:125\n \n \n\n\n \n \n Determines whether any tags have been checked\n\n\n \n \n \n Returns : boolean\n\n \n \n true if any tag has been checked by the user\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:104\n \n \n\n\n \n \n Cleans up component on destruction\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openResults\n \n \n \n \n \n \nopenResults()\n \n \n\n \n \n Decorators : \n \n @HostListener('click')@HostListener('focusin')\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:116\n \n \n\n\n \n \n Extracts the tag identifier\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n Returns : TagId\n\n \n \n The identifier corresponding to the tag\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n truncateResults\n \n \n \n \n \n \n \n truncateResults(result: TagSearchResult)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:198\n \n \n\n\n \n \n Truncates the number of results returned by a search\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n The results\n\n \n \n \n \n \n \n \n \n Returns : TagSearchResult\n\n \n \n Results with at most searchLimit items\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n checkedResults\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:67\n \n \n\n \n \n Object of currently checked search results\n\n \n \n\n \n \n \n \n \n \n \n \n closeSearch\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('closeSearch', {read: ElementRef, static: false})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:52\n \n \n\n \n \n Element for close search button\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n countMapping\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '=1': '1 result',\n other: '# results'\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:55\n \n \n\n \n \n Mapping for pluralizing the result total count\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n destroy$\n \n \n \n \n \n \n Default value : new Subject()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Emits and completes when component is destroyed. Used to clean up observables.\n\n \n \n\n \n \n \n \n \n \n \n \n resultsVisible\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:70\n \n \n\n \n \n Whether results are shown\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n searchControl\n \n \n \n \n \n \n Default value : new FormControl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:61\n \n \n\n \n \n Search field controller\n\n \n \n\n \n \n \n \n \n \n \n \n searchResults\n \n \n \n \n \n \n Default value : EMPTY_RESULT\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:64\n \n \n\n \n \n Search results\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input,\n OnDestroy, Output, ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { from, interval, ObservableInput, Subject } from 'rxjs';\nimport { catchError, map, switchMap, takeUntil, throttle } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../../core/models/anatomical-structure-tag';\n\n\n/** Default search results limit */\nconst DEFAULT_SEARCH_LIMIT = 5;\n/** Default search throttle time in ms */\nconst DEFAULT_SEARCH_THROTTLE = 100;\n/** Empty search result object */\nconst EMPTY_RESULT: TagSearchResult = { totalCount: 0, results: [] };\n\n\n/**\n * Component for searching, selecting, and adding tags.\n */\n@Component({\n selector: 'ccf-tag-search',\n templateUrl: './tag-search.component.html',\n styleUrls: ['./tag-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagSearchComponent implements OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-search';\n\n /** Placeholder text */\n @Input() placeholder = 'Add Anatomical Structures ...';\n\n /** Search method */\n @Input() search?: (text: string, limit: number) => ObservableInput;\n\n /** Maximum number of results to show */\n @Input() searchLimit?: number;\n\n /** Throttle time between search calls */\n @Input() searchThrottle?: number;\n\n /** Emits when tags are added */\n @Output() readonly added = new EventEmitter();\n\n /** Element for close search button */\n @ViewChild('closeSearch', { read: ElementRef, static: false }) closeSearch: ElementRef;\n\n /** Mapping for pluralizing the result total count */\n readonly countMapping = {\n '=1': '1 result',\n other: '# results'\n };\n\n /** Search field controller */\n readonly searchControl = new FormControl();\n\n /** Search results */\n searchResults = EMPTY_RESULT;\n\n /** Object of currently checked search results */\n checkedResults: Record = {};\n\n /** Whether results are shown */\n resultsVisible = false;\n\n /** Emits and completes when component is destroyed. Used to clean up observables. */\n private readonly destroy$ = new Subject();\n\n /**\n * Creates an instance of tag search component.\n *\n * @param el Element for this component\n * @param ga Analytics service\n * @param cdr Reference to change detector\n */\n constructor(\n private readonly el: ElementRef,\n private readonly ga: GoogleAnalyticsService,\n cdr: ChangeDetectorRef\n ) {\n this.searchControl.valueChanges.pipe(\n takeUntil(this.destroy$),\n throttle(\n () => interval(this.searchThrottle ?? DEFAULT_SEARCH_THROTTLE),\n { leading: true, trailing: true }\n ),\n switchMap(this.executeSearch),\n ).subscribe(result => {\n this.searchResults = result;\n this.checkedResults = this.getUpdatedCheckedResults(result);\n cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up component on destruction\n */\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Extracts the tag identifier\n *\n * @param _index Unused\n * @param tag A tag\n * @returns The identifier corresponding to the tag\n */\n tagId(_index: number, tag: Tag): TagId {\n return tag.id;\n }\n\n /**\n * Determines whether any tags have been checked\n *\n * @returns true if any tag has been checked by the user\n */\n hasCheckedTags(): boolean {\n return Object.values(this.checkedResults).some(v => v);\n }\n\n /**\n * Emits selected tags and resets the search and selections\n */\n addTags(): void {\n const { searchControl, searchResults, checkedResults } = this;\n const tags = searchResults.results.filter(tag => checkedResults[tag.id]);\n\n if (tags.length > 0) {\n searchControl.reset();\n this.searchResults = EMPTY_RESULT;\n this.checkedResults = {};\n this.ga.event('tags_added', 'tag_search', tags.map(tag => tag.label).join(','));\n this.added.emit(tags);\n }\n }\n\n /**\n * Opens the results panel\n */\n @HostListener('click') // eslint-disable-line\n @HostListener('focusin') // eslint-disable-line\n openResults(): void {\n if (!this.resultsVisible) {\n this.resultsVisible = true;\n }\n }\n\n /**\n * Closes the results panel\n *\n * @param event DOM event\n */\n @HostListener('window:click', ['$event']) // eslint-disable-line\n @HostListener('window:focusin', ['$event']) // eslint-disable-line\n closeResults(event: Event): void {\n const { closeSearch } = this;\n if (this.resultsVisible && event.target instanceof Node) {\n if (!this.el.nativeElement.contains(event.target) || closeSearch.nativeElement.contains(event.target)) {\n this.resultsVisible = false;\n }\n }\n }\n\n /**\n * Executes a search on a piece of text.\n *\n * @param text Search text\n * @returns An observable of the search result.\n */\n @Bind\n private executeSearch(text: string): ObservableInput {\n const { search, searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n if (!text || !search) {\n return [EMPTY_RESULT];\n }\n\n return from(search(text, searchLimit)).pipe(\n catchError(() => [EMPTY_RESULT]),\n map(this.truncateResults)\n );\n }\n\n /**\n * Truncates the number of results returned by a search\n *\n * @param result The results\n * @returns Results with at most `searchLimit` items\n */\n @Bind\n private truncateResults(result: TagSearchResult): TagSearchResult {\n const { searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n const items = result.results;\n\n if (items.length > searchLimit) {\n return {\n ...result,\n results: items.slice(0, searchLimit)\n };\n }\n\n return result;\n }\n\n /**\n * Computes a new checked object for result items. Already checked items are preserved.\n *\n * @param result New results\n * @returns A new checked object\n */\n private getUpdatedCheckedResults(result: TagSearchResult): Record {\n const prev = this.checkedResults;\n return result.results.reduce((acc, { id }) => {\n acc[id] = prev[id] ?? false;\n return acc;\n }, {});\n }\n}\n\n \n\n \n \n\n\n \n \n \n add\n \n \n\n \n \n \n {{ result.label }}\n \n \n\n \n {{ searchResults.totalCount | i18nPlural:countMapping }}\n \n \n\n\n \n\n \n \n ./tag-search.component.scss\n \n :host {\n display: block;\n position: relative;\n\n .spacer {\n // Calculated by adding up all padding/margin/height of material form fields\n height: 3.25rem;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n\n .search-box {\n display: flex;\n width: 100%;\n align-items: center;\n height: 3rem;\n\n .add-button {\n border-radius: 0.25rem;\n border: none;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n height: 100%;\n }\n }\n\n .results {\n margin-top: 0.5rem;\n\n .count {\n margin-top: 0.5rem;\n font-size: 0.75rem;\n text-align: end;\n }\n }\n\n ::ng-deep {\n .mat-form-field-wrapper {\n padding-bottom: 0;\n border-radius: 0.5rem;\n\n .mat-form-field-flex {\n padding-right: 0 !important;\n }\n }\n\n .mat-form-field-outline {\n opacity: 1 !important;\n }\n\n .mat-form-field-outline-thick {\n opacity: 0 !important;\n }\n\n .mat-form-field-infix {\n padding: 0.063rem;\n padding-top: 0.313rem;\n border: 0;\n }\n }\n\n &.expanded {\n ::ng-deep {\n .mat-form-field-wrapper {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e5e;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' add {{ result.label }} {{ searchResults.totalCount | i18nPlural:countMapping }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagSearchModule.html":{"url":"modules/TagSearchModule.html","title":"module - TagSearchModule","body":"\n \n\n\n\n\n Modules\n TagSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagSearchComponent\n \n \n \n \n Exports\n \n \n TagSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { TagSearchComponent } from './tag-search.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n ],\n declarations: [TagSearchComponent],\n exports: [TagSearchComponent]\n})\nexport class TagSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TagSearchResult.html":{"url":"interfaces/TagSearchResult.html","title":"interface - TagSearchResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TagSearchResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n Search result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n results\n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n results\n \n \n \n \n \n \n \n \n results: Tag[]\n\n \n \n\n\n \n \n Type : Tag[]\n\n \n \n\n\n\n\n\n \n \n Partial results up to a limit\n\n \n \n \n \n \n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n totalCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Total number of possible results\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThemingModule.html":{"url":"modules/ThemingModule.html","title":"module - ThemingModule","body":"\n \n\n\n\n\n Modules\n ThemingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\n\nThemingService\n\nThemingService\n\n\n\nThemingModule\n\nThemingModule\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ThemingService\n \n \n \n \n \n\n\n \n\n\n \n import { APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\n\nimport { ThemingService } from './theming.service';\n\n\n@NgModule({\n providers: [\n { provide: APP_BOOTSTRAP_LISTENER, useValue: ThemingService.initialize, multi: true },\n ThemingService\n ]\n})\nexport class ThemingModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ThemingService.html":{"url":"injectables/ThemingService.html","title":"injectable - ThemingService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ThemingService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n\n\n \n Description\n \n \n Manages the currently active theme.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n defaultTheme\n \n \n Private\n element\n \n \n Private\n injector\n \n \n Private\n theme\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n getTheme\n \n \n Static\n initialize\n \n \n initialize\n \n \n resetTheme\n \n \n setTheme\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultTheme: string | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:25\n \n \n\n \n \n Creates the theming service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultTheme\n \n \n string | null\n \n \n \n No\n \n \n \n An optional default theme.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n \n \n \n \n \n applyThemeClass(cls: string, method: \"add\" | \"remove\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:83\n \n \n\n\n \n \n Adds or removes a theme class from the necessary components.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n cls\n \n string\n \n\n \n No\n \n\n \n \n\n \n The theme class.\n\n \n \n \n method\n \n \"add\" | \"remove\"\n \n\n \n No\n \n\n \n 'add'\n \n\n \n Whether to add or remove the theme.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTheme\n \n \n \n \n \n \ngetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:39\n \n \n\n\n \n \n Get the currently active theme.\n\n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n initialize\n \n \n \n \n \n \n \n initialize(component: ComponentRef<>)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:21\n \n \n\n\n \n \n Initializer called during bootstrap to set up theming.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n ComponentRef<>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initialize\n \n \n \n \n \n \ninitialize(element: ElementRef<>, injector: Injector)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:71\n \n \n\n\n \n \n Binds theming service to a component.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ElementRef<>\n \n\n \n No\n \n\n\n \n \n injector\n \n Injector\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetTheme\n \n \n \n \n \n \nresetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:60\n \n \n\n\n \n \n Resets the theme to the default.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setTheme\n \n \n \n \n \n \nsetTheme(theme: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:48\n \n \n\n\n \n \n Sets the currently active theme.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n theme\n \n string\n \n\n \n No\n \n\n\n \n The new theme class.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n defaultTheme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:16\n \n \n\n \n \n Default theme class.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n element\n \n \n \n \n \n \n Type : ElementRef<>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n injector\n \n \n \n \n \n \n Type : Injector\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:18\n \n \n\n \n \n Currently active theme class.\n\n \n \n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { ComponentRef, ElementRef, Inject, Injector, Injectable, InjectionToken, Optional, Renderer2 } from '@angular/core';\n\n/** Token for specifying the default theme class. */\nexport const DEFAULT_THEME = new InjectionToken('Default theme class');\n\n/**\n * Manages the currently active theme.\n */\n@Injectable()\nexport class ThemingService {\n private element: ElementRef;\n private injector: Injector;\n /** Default theme class. */\n private defaultTheme: string;\n /** Currently active theme class. */\n private theme: string;\n\n /** Initializer called during bootstrap to set up theming. */\n static initialize(component: ComponentRef): void {\n const { injector, location } = component;\n const service = injector.get(ThemingService);\n service.initialize(location, injector);\n }\n\n /**\n * Creates the theming service.\n *\n * @param defaultTheme An optional default theme.\n */\n constructor(@Optional() @Inject(DEFAULT_THEME) defaultTheme: string | null) {\n this.defaultTheme = this.theme = defaultTheme ?? '';\n }\n\n /**\n * Get the currently active theme.\n */\n getTheme(): string {\n return this.theme;\n }\n\n /**\n * Sets the currently active theme.\n *\n * @param theme The new theme class.\n */\n setTheme(theme: string): void {\n if (theme === this.theme) {\n return;\n }\n this.applyThemeClass(this.theme, 'remove');\n this.applyThemeClass(theme);\n this.theme = theme;\n }\n\n /**\n * Resets the theme to the default.\n */\n resetTheme(): void {\n this.setTheme(this.defaultTheme);\n }\n\n\n /**\n * Binds theming service to a component.\n *\n * @param component The top level component.\n * @throws {Error} If the theming service has already been initialized.\n */\n initialize(element: ElementRef, injector: Injector): void {\n this.element = element;\n this.injector = injector;\n this.applyThemeClass(this.getTheme());\n }\n\n /**\n * Adds or removes a theme class from the necessary components.\n *\n * @param cls The theme class.\n * @param method Whether to add or remove the theme.\n */\n private applyThemeClass(cls: string, method: 'add' | 'remove' = 'add'): void {\n const { element, injector } = this;\n if (!cls || !element || !injector) {\n return;\n }\n\n const renderer = injector.get(Renderer2, null);\n if (!renderer) {\n return;\n }\n\n const root = element.nativeElement as HTMLElement;\n const overlay = injector.get(OverlayContainer, null)?.getContainerElement();\n const methodName = method === 'add' ? 'addClass' : 'removeClass';\n\n renderer[methodName](root, cls);\n if (overlay) {\n renderer[methodName](overlay, cls);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ToggleButtonComponent.html":{"url":"components/ToggleButtonComponent.html","title":"component - ToggleButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ToggleButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n\n\n\n \n Description\n \n \n Implements open/close button for the side drawers.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-toggle-button\n \n\n \n styleUrls\n ./toggle-button.component.scss\n \n\n\n\n \n templateUrl\n ./toggle-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Private\n opened\n \n \n Private\n position\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n toggle\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n icon\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(drawer: DrawerComponent, messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Creates an instance of toggle button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n drawer\n \n \n DrawerComponent\n \n \n \n No\n \n \n \n The owning side drawer.\n\n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-toggle-button\"\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n\n \n \n Whether this button is attach to a drawer in position 'end'.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleMessage\n \n \n \n \n \n \nhandleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:85\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:65\n \n \n\n\n \n \n Initializes this component.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:75\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggle\n \n \n \n \n \n \ntoggle()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:97\n \n \n\n\n \n \n Updates the drawer state.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n opened\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:40\n \n \n\n \n \n Whether the owning drawer is opened.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n position\n \n \n \n \n \n \n Type : \"start\" | \"end\"\n\n \n \n \n \n Default value : 'start'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:38\n \n \n\n \n \n Position of the owning side drawer.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n\n \n \n getclassEnd()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n \n \n Whether this button is attach to a drawer in position 'end'.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n \n \n \n \n \n icon\n \n \n\n \n \n geticon()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:27\n \n \n \n \n Gets the name of the icon to display.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Implements open/close button for the side drawers.\n */\n@Component({\n selector: 'ccf-drawer-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButtonComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-toggle-button';\n /** Whether this button is attach to a drawer in position 'end'. */\n @HostBinding('class.ccf-drawer-toggle-button-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Gets the name of the icon to display. */\n get icon(): string {\n let expand = 'arrow_right';\n let collapse = 'arrow_left';\n if (this.position === 'end') {\n ([expand, collapse] = [collapse, expand]);\n }\n\n return this.opened ? collapse : expand;\n }\n\n /** Position of the owning side drawer. */\n private position: 'start' | 'end' = 'start';\n /** Whether the owning drawer is opened. */\n private opened = false;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of toggle button component.\n *\n * @param drawer The owning side drawer.\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(private drawer: DrawerComponent,\n messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n const channel = messageService.connect(this);\n this.subscriptions.add(channel.getMessagesFromSource(drawer).subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.position = this.drawer.position;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to be run.\n */\n handleMessage(msg: Message): boolean {\n if (msg.payload.type === 'drawer-toggled') {\n this.opened = msg.payload.opened;\n return true;\n }\n\n return false;\n }\n\n /**\n * Updates the drawer state.\n */\n toggle(): void {\n const drawer = this.drawer;\n const { opened, expanded } = drawer;\n if (opened) {\n if (expanded) {\n drawer.closeExpanded();\n } else {\n drawer.close();\n }\n } else {\n drawer.open();\n }\n }\n}\n\n \n\n \n \n arrow_right\n\n\n arrow_left\n\n \n\n \n \n ./toggle-button.component.scss\n \n :host {\n position: absolute;\n top: calc(50% - 2.0625rem);\n right: -1.0625rem;\n width: 1.0625rem;\n height: 3rem;\n border-radius: 0rem 0.25rem 0.25rem 0rem;\n cursor: pointer;\n transition: .25s;\n\n &.ccf-drawer-toggle-button-end {\n right: unset;\n left: calc(-1rem - 1px);\n border-radius: 0.25rem 0rem 0rem 0.25rem;\n }\n\n .expand-collapse-icon {\n position: absolute;\n right: 0rem;\n transition: .6s;\n padding-left: .15rem;\n\n &.hidden {\n opacity: 0;\n }\n }\n\n &.ccf-drawer-toggle-button-end .expand-collapse-icon {\n right: unset;\n left: -0.25rem;\n }\n}\n\n.mat-icon {\n right: 0.3rem;\n top: .675rem;\n padding-top: .05rem;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' arrow_right arrow_left'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ToggleButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/User.html":{"url":"interfaces/User.html","title":"interface - User","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserName.html":{"url":"interfaces/UserName.html","title":"interface - UserName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n\n\n \n Description\n \n \n User name data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's first name\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's last name\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalComponent.html":{"url":"components/VideoModalComponent.html","title":"component - VideoModalComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n\n\n\n \n Description\n \n \n Component for displaying a youtube video inside of an angular material modal.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal\n \n\n \n styleUrls\n ./video-modal.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n loadYoutubePlayerAPI\n \n \n ngOnInit\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(renderer2: Renderer2, dialogRef: MatDialogRef, data, document: Document)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n Creates an instance of video modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n renderer2\n \n \n Renderer2\n \n \n \n No\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n data\n \n \n \n \n \n No\n \n \n \n \n document\n \n \n Document\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal\"\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:46\n \n \n\n\n \n \n Closes the video modal component\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n loadYoutubePlayerAPI\n \n \n \n \n \n \nloadYoutubePlayerAPI()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:37\n \n \n\n\n \n \n loads the IFrame Player API code asynchronously from YouTube.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:30\n \n \n\n\n \n \n load the youtube player api in on init\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:22\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, OnInit, HostBinding, Inject, Renderer2 } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Component for displaying a youtube video inside of an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal',\n templateUrl: './video-modal.component.html',\n styleUrls: ['./video-modal.component.scss']\n})\nexport class VideoModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal';\n\n /**\n * Creates an instance of video modal component.\n */\n constructor(\n private renderer2: Renderer2,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: unknown,\n @Inject(DOCUMENT) private document: Document\n ) { }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n this.loadYoutubePlayerAPI();\n }\n\n /**\n * loads the IFrame Player API code asynchronously from YouTube.\n */\n loadYoutubePlayerAPI(): void {\n const script = this.renderer2.createElement('script') as HTMLScriptElement;\n script.src = 'https://www.youtube.com/iframe_api';\n this.renderer2.appendChild(this.document.body, script);\n }\n\n /**\n * Closes the video modal component\n */\n close(): void {\n this.dialogRef.close();\n }\n}\n\n \n\n \n \n \n clear\n \n \n \n \n \n \n\n\n \n\n \n \n ./video-modal.component.scss\n \n ::ng-deep {\n .mat-dialog-container {\n padding: 0;\n }\n\n .mat-dialog-content {\n display: block;\n margin: auto;\n padding: 0;\n max-height: 65vh;\n overflow: auto;\n width: fit-content;\n }\n}\n\n:host {\n .video-modal.wrapper {\n width: fit-content;\n\n .container {\n position: relative;\n\n .content {\n padding: 0.5rem;\n padding-top: 3rem;\n width: fit-content;\n border-radius: .5rem;\n }\n\n .close-icon {\n cursor: pointer;\n position: absolute;\n right: 0rem;\n font-size: 2.5rem;\n width: 2.5rem;\n height: 2.5rem;\n transition: .5s color;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalLauncherComponent.html":{"url":"components/VideoModalLauncherComponent.html","title":"component - VideoModalLauncherComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalLauncherComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n\n\n\n \n Description\n \n \n Component for launching an angular material modal.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal-launcher\n \n\n \n styleUrls\n ./video-modal-launcher.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal-launcher.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n visible\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n\n \n \n Creates an instance of video modal launcher component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n \n \n Input used to toggle the launcher on and off.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal-launcher\"\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n \n \nlaunchVideoModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:32\n \n \n\n\n \n \n Launches the video modal component.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { VideoModalComponent } from '../video-modal/video-modal.component';\n\n/**\n * Component for launching an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal-launcher',\n templateUrl: './video-modal-launcher.component.html',\n styleUrls: ['./video-modal-launcher.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VideoModalLauncherComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal-launcher';\n\n /**\n * Input used to toggle the launcher on and off.\n */\n @Input() visible = true;\n\n /**\n * Creates an instance of video modal launcher component.\n */\n constructor(private readonly dialog: MatDialog) { }\n\n /**\n * Launches the video modal component.\n */\n launchVideoModal(): void {\n this.dialog.open(VideoModalComponent, {\n width: '46rem',\n data: {}\n });\n }\n}\n\n \n\n \n \n WATCH\n \"How to use the HuBMAP Registration User Interface\"\n\n\n play_circle_outline\n\n \n\n \n \n ./video-modal-launcher.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n\n .video-description {\n margin-bottom: 1.5rem;\n text-align: center;\n width: 30rem;\n\n .title {\n margin-bottom: 1rem;\n }\n }\n\n .play-icon-button {\n cursor: pointer;\n font-size: 5rem;\n width: 5rem;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' WATCH \"How to use the HuBMAP Registration User Interface\" play_circle_outline'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalLauncherComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalLauncherModule.html":{"url":"modules/VideoModalLauncherModule.html","title":"module - VideoModalLauncherModule","body":"\n \n\n\n\n\n Modules\n VideoModalLauncherModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalLauncherComponent\n \n \n \n \n Exports\n \n \n VideoModalLauncherComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalLauncherComponent } from './video-modal-launcher.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalLauncherComponent ],\n imports: [\n CommonModule,\n MatIconModule\n ],\n exports: [ VideoModalLauncherComponent ]\n})\nexport class VideoModalLauncherModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalModule.html":{"url":"modules/VideoModalModule.html","title":"module - VideoModalModule","body":"\n \n\n\n\n\n Modules\n VideoModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalComponent\n \n \n \n \n Exports\n \n \n VideoModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalComponent } from './video-modal.component';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalComponent ],\n imports: [\n CommonModule,\n YouTubePlayerModule,\n MatIconModule,\n MatDialogModule\n ],\n exports: [ VideoModalComponent ]\n})\nexport class VideoModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/VisibilityItem.html":{"url":"interfaces/VisibilityItem.html","title":"interface - VisibilityItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n VisibilityItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n\n\n \n Description\n \n \n Interface for visibility item data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n tooltip\n \n \n \n \n visible\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Id of the item\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the item\n\n \n \n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Opacity value\n\n \n \n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Tooltip text to be displayed in the stage\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n \n \n \n \n visible: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the item is currently highlighted\n\n \n \n \n \n \n \n\n\n \n export interface VisibilityItem {\n /**\n * Id of the item\n */\n id: string | number;\n\n /**\n * Name of the item\n */\n name: string;\n\n /**\n * Whether the item is currently highlighted\n */\n visible: boolean;\n\n /**\n * Opacity value\n */\n opacity?: number;\n\n /**\n * Tooltip text to be displayed in the stage\n */\n tooltip?: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityMenuComponent.html":{"url":"components/VisibilityMenuComponent.html","title":"component - VisibilityMenuComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityMenuComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n\n\n\n \n Description\n \n \n Menu for displaying visibility options\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-menu\n \n\n \n styleUrls\n ./visibility-menu.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-menu.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getId\n \n \n mouseOut\n \n \n mouseOver\n \n \n resetItem\n \n \n setAllOpacity\n \n \n toggleVisibility\n \n \n updateOpacity\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n items\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n hover\n \n \n itemsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n\n \n \n Creates an instance of visibility menu component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n items\n \n \n \n \n Type : VisibilityItem[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:26\n \n \n \n \n Items to be displayed in the visibility menu\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : VisibilityItem | undefined\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:31\n \n \n \n \n The currently selected item\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n hover\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:36\n \n \n \n \n Emits the currently hovered item\n\n \n \n \n \n \n \n \n \n \n itemsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n \n \n Emits whenever there is a change to one or more items.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-menu\"\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId(_index: number, item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:132\n \n \n\n\n \n \n Returns the id of an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n The item to get an id for\n\n \n \n \n \n \n \n \n \n Returns : string | number\n\n \n \n id Id of the item\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOut\n \n \n \n \n \n \nmouseOut()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:80\n \n \n\n\n \n \n Clears current selection and emits undefined in response to mouse out\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOver\n \n \n \n \n \n \nmouseOver(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:70\n \n \n\n\n \n \n Changes current selection to hovered over item and emits the item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetItem\n \n \n \n \n \n \nresetItem()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:104\n \n \n\n\n \n \n Resets item to opacity 20 and visible\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setAllOpacity\n \n \n \n \n \n \nsetAllOpacity(value: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:119\n \n \n\n\n \n \n Sets all items to the same opacity and makes them visible\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:55\n \n \n\n\n \n \n Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateOpacity\n \n \n \n \n \n \nupdateOpacity(value: number | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:90\n \n \n\n\n \n \n Updates opacity of the currently selected item (if one is selected) and emits the new items\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number | undefined\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { VisibilityItem } from '../../../core/models/visibility-item';\n\n\n/**\n * Menu for displaying visibility options\n */\n@Component({\n selector: 'ccf-visibility-menu',\n templateUrl: './visibility-menu.component.html',\n styleUrls: ['./visibility-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityMenuComponent {\n\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-menu';\n\n /**\n * Items to be displayed in the visibility menu\n */\n @Input() items: VisibilityItem[];\n\n /**\n * The currently selected item\n */\n @Input() selection: VisibilityItem | undefined;\n\n /**\n * Emits the currently hovered item\n */\n @Output() readonly hover = new EventEmitter();\n\n /**\n * Emits whenever there is a change to one or more items.\n */\n @Output() readonly itemsChange = new EventEmitter();\n\n /**\n * Creates an instance of visibility menu component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n *\n * @param item Menu item\n */\n toggleVisibility(item: VisibilityItem): void {\n item = { ...item, visible: !item.visible };\n if (this.selection && item.id === this.selection.id) {\n this.selection = { ...this.selection, visible: item.visible };\n }\n\n this.ga.event('visibility_toggled', 'visibility_menu', '' + item.id, +item.visible);\n this.updateOpacity(item.opacity);\n }\n\n /**\n * Changes current selection to hovered over item and emits the item\n *\n * @param item Menu item\n */\n mouseOver(item: VisibilityItem): void {\n this.selection = item === this.selection ? undefined : item;\n this.hover.emit(item);\n }\n\n /**\n * Clears current selection and emits undefined in response to mouse out\n *\n * @param item Menu item\n */\n mouseOut(): void {\n this.selection = undefined;\n this.hover.emit(undefined);\n }\n\n /**\n * Updates opacity of the currently selected item (if one is selected) and emits the new items\n *\n * @param value Updated opacity value\n */\n updateOpacity(value: number | undefined): void {\n if (!this.selection) {\n return;\n }\n const updatedSelection = { ...this.selection, opacity: value };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('opacity_update', 'visibility_menu', '' + updatedSelection.id, updatedSelection.opacity);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Resets item to opacity 20 and visible\n */\n resetItem(): void {\n if (this.selection) {\n const updatedSelection = { ...this.selection, opacity: 20, visible: true };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('item_reset', 'visibility_menu', '' + updatedSelection.id);\n this.itemsChange.emit(this.items);\n }\n }\n\n /**\n * Sets all items to the same opacity and makes them visible\n *\n * @param value Updated opacity value\n */\n setAllOpacity(value: number): void {\n this.items = this.items.map(i => ({ ...i, opacity: value, visible: true }));\n this.ga.event('all_items_opacity_update', 'visibility_menu', undefined, value);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Returns the id of an item\n *\n * @param index Index of item in items array\n * @param item The item to get an id for\n * @returns id Id of the item\n */\n getId(_index: number, item: VisibilityItem): string | number {\n return item.id;\n }\n}\n\n \n\n \n refresh\n\n\n \n {{ item.name }}\n\n \n \n \n \n\n\n \n\n \n \n ./visibility-menu.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n margin-right: 0;\n margin-left: 0;\n max-height: 18rem;\n overflow-y: auto;\n scrollbar-width: thin;\n\n .icon {\n padding: 0.25rem;\n border-radius: 0.25rem;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n position: absolute;\n top: 3rem;\n \n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-entry {\n display: flex;\n height: 2.25rem;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n\n .opacity {\n cursor: pointer;\n }\n\n .opacity-icon {\n z-index: 1;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-name {\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 0.5rem;\n opacity: 1;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n max-width: calc(100% - 2.5rem);\n\n &.hidden {\n opacity: 0;\n }\n }\n\n .slider {\n width: calc(100% - 2rem);\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n left: 2rem;\n position: absolute;\n opacity: 1;\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.1s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'refresh {{ item.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityMenuComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityMenuModule.html":{"url":"modules/VisibilityMenuModule.html","title":"module - VisibilityMenuModule","body":"\n \n\n\n\n\n Modules\n VisibilityMenuModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityMenuComponent\n \n \n \n \n Exports\n \n \n VisibilityMenuComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { VisibilityMenuComponent } from './visibility-menu.component';\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatRippleModule, OpacitySliderModule],\n declarations: [VisibilityMenuComponent],\n exports: [VisibilityMenuComponent]\n})\nexport class VisibilityMenuModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityToggleComponent.html":{"url":"components/VisibilityToggleComponent.html","title":"component - VisibilityToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n\n\n\n \n Description\n \n \n Component for easily adding a visibility toggle with customizable label and\npre set up emitter.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-toggle\n \n\n \n styleUrls\n ./visibility-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n toggleLabel\n \n \n visible\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n visibilityChanged\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n\n \n \n Creates an instance of visibility toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n toggleLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:29\n \n \n \n \n Input that allows the label to be set from outside the component,\nmaking it more reusable.\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:23\n \n \n \n \n Keeps track of the current visibility state of the toggle.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n visibilityChanged\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n \n \n Outputs the new visibility state whenever toggleVisibility()\nchanges it.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-toggle\"\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:52\n \n \n\n\n \n \n Toggles visibility and emits the new value.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Component for easily adding a visibility toggle with customizable label and\n * pre set up emitter.\n */\n@Component({\n selector: 'ccf-visibility-toggle',\n templateUrl: './visibility-toggle.component.html',\n styleUrls: ['./visibility-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-toggle';\n\n /**\n * Keeps track of the current visibility state of the toggle.\n */\n @Input() visible = false;\n\n /**\n * Input that allows the label to be set from outside the component,\n * making it more reusable.\n */\n @Input() toggleLabel = '';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Outputs the new visibility state whenever toggleVisibility()\n * changes it.\n */\n @Output() readonly visibilityChanged = new EventEmitter();\n\n /**\n * Creates an instance of visibility toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility and emits the new value.\n */\n toggleVisibility(): void {\n this.visible = !this.visible;\n\n this.ga.event('visibility_toggled', 'visibility_toggle', '' + this.visible);\n this.visibilityChanged.emit(this.visible);\n }\n}\n\n \n\n \n \n \n \n \n done\n \n \n {{ toggleLabel }}\n \n\n \n\n \n \n ./visibility-toggle.component.scss\n \n :host {\n height: 3rem;\n display: flex;\n align-items: center;\n \n ::ng-deep .mat-chip {\n padding: 0 !important;\n\n &.disabled {\n cursor: not-allowed !important;\n }\n }\n\n .toggle-div {\n width: 100%;\n display: flex;\n justify-content: center;\n padding-top: 1.5rem;\n\n .toggle-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n display: flex;\n padding-left: .5rem;\n cursor: pointer;\n align-items: center;\n position: relative;\n border-width: 0.075rem;\n border-style: solid;\n height: 2.25rem;\n border-radius: 1.5rem;\n transition: background-color 0.2s ease-in-out;\n\n .icon-background {\n border-radius: 1.5rem;\n height: 2.06rem;\n width: 2.06rem;\n display: flex;\n align-items: center;\n justify-content: center;\n .icon {\n transition: .6s;\n position: absolute;\n &.block {\n width: 1.125rem;\n }\n &.hidden {\n opacity: 0;\n }\n }\n }\n \n .toggle-label {\n font-weight: bold;\n margin-left: 0.5rem;\n padding-right: 1.25rem;\n padding-left: 0.25rem;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' done {{ toggleLabel }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityToggleModule.html":{"url":"modules/VisibilityToggleModule.html","title":"module - VisibilityToggleModule","body":"\n \n\n\n\n\n Modules\n VisibilityToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityToggleComponent\n \n \n \n \n Exports\n \n \n VisibilityToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VisibilityToggleComponent } from './visibility-toggle.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatChipsModule } from '@angular/material/chips';\n\n@NgModule({\n declarations: [VisibilityToggleComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule\n ],\n exports: [ VisibilityToggleComponent ]\n})\nexport class VisibilityToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XYZTriplet.html":{"url":"interfaces/XYZTriplet.html","title":"interface - XYZTriplet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XYZTriplet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n A object with x, y, and z channels of the same type.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n X channel\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Y channel\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Z channel\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Common Coordinate Framework (CCF) User Interfaces\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-rui/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n component\n AppComponent\n \n 54 %\n (12/22)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n AppOptions\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n User\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n Tag\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n TagSearchResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n interface\n DocumentationContent\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n interface\n ExtractionSet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n interface\n MetaDataField\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n interface\n VisibilityItem\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n function\n globalConfigFactory\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n GLOBAL_CONFIG\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n ruiConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n injectable\n ThemingService\n \n 83 %\n (10/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n variable\n DEFAULT_THEME\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n injectable\n AnatomicalStructureTagState\n \n 58 %\n (7/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n interface\n AnatomicalStructureTagStateModel\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n interface\n DefaultIconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n variable\n DEFAULT_ICONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n injectable\n IconRegistryState\n \n 85 %\n (6/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n interface\n IconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n injectable\n ModelState\n \n 89 %\n (34/38)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n ModelStateModel\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n XYZTriplet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n variable\n RUI_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n injectable\n PageState\n \n 50 %\n (7/14)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n PageStateModel\n \n 42 %\n (3/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n Person\n \n 33 %\n (1/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n injectable\n ReferenceDataState\n \n 57 %\n (4/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n OrganData\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n ReferenceDataStateModel\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n injectable\n RegistrationState\n \n 82 %\n (14/17)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n interface\n RegistrationStateModel\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n injectable\n SceneState\n \n 50 %\n (4/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n interface\n SceneStateModel\n \n 50 %\n (1/2)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n function\n getNodeBbox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/content.component.ts\n \n component\n ContentComponent\n \n 81 %\n (13/16)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n component\n StageNavComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n \n component\n VideoModalLauncherComponent\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n \n component\n VideoModalComponent\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/header/header.component.ts\n \n component\n HeaderComponent\n \n 66 %\n (4/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n \n component\n LeftSidebarComponent\n \n 61 %\n (11/18)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n \n component\n RegistrationContentComponent\n \n 94 %\n (16/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n \n component\n RegistrationModalComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n \n component\n ReviewButtonComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n component\n ReviewModalComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n interface\n ReviewModalData\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n \n component\n RightSidebarComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n component\n BlockSizeInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n interface\n BlockSize\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n variable\n DEFAULT_BLOCK_SIZE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n \n component\n DetailsLabelComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n component\n ContainerComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n function\n throwDuplicateDrawersError\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n \n component\n ContentComponent\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n component\n DrawerComponent\n \n 95 %\n (42/44)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n class\n InitializationState\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n variable\n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n ContentContainerChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerContainersChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerInitialized\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerToggled\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n variable\n MessageService\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n \n component\n ToggleButtonComponent\n \n 100 %\n (12/12)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n \n component\n ExtractionSetDropdownComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n \n component\n JsonFileReaderComponent\n \n 88 %\n (8/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n \n component\n LabeledSlideToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n component\n NameInputComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n interface\n UserName\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n component\n RotationSliderComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n interface\n Rotation\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n variable\n DEFAULT_ROTATION\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n component\n SlicesInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n variable\n DEFAULT_SLICES_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n \n component\n TagListComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n component\n TagSearchComponent\n \n 100 %\n (29/29)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_LIMIT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_THROTTLE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n EMPTY_RESULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n \n component\n VisibilityMenuComponent\n \n 100 %\n (15/15)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n \n component\n VisibilityToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n class\n MessageChannel\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n injectable\n MessageService\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n Message\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n MessageServiceConfig\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n applySpatialPlacement   (projects/.../reference-data.state.ts)\n \n \n getNodeBbox   (projects/.../scene.state.ts)\n \n \n globalConfigFactory   (projects/.../config.ts)\n \n \n throwDuplicateDrawersError   (projects/.../container.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n \n \n \n \n \n \n applySpatialPlacement\n \n \n \n \n \n \napplySpatialPlacement(tx, placement)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n tx\n\n \n No\n \n\n\n \n \n placement\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n \n \n \n \n \n \n getNodeBbox\n \n \n \n \n \n \ngetNodeBbox(model)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n model\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : AABB\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n globalConfigFactory\n \n \n \n \n \n \nglobalConfigFactory(globals)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n globals\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : GlobalConfig\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n \n \n \n \n \n \n throwDuplicateDrawersError\n \n \n \n \n \n \nthrowDuplicateDrawersError(position)\n \n \n\n\n\n\n \n \n Helper function for creating drawer errors.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n position\n\n \n No\n \n\n\n \n The position of the drawer.\n\n \n \n \n \n \n \n \n \n Returns : never\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nCommon Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://ccf-api--staging.herokuapp.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\n\nBackground and More Information\nFor more information about the Common Coordinate Framework (CCF), see the HuBMAP CCF Portal at https://hubmapconsortium.github.io/ccf/.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BlockSizeInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ConfigModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DetailsLabelModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DrawerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ExtractionSetDropdownModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n HeaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n JsonFileReaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LabeledSlideToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LeftSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n NameInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewButtonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RightSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RotationSliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SlicesInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StageNavModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n TagListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TagSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThemingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalLauncherModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityMenuModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_declarations\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_declarations\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\nContentComponent\n\nContentComponent\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\nConfigModule\n\nConfigModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\nContainerComponent\n\nContainerComponent\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nTagListComponent\n\nTagListComponent\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nThemingService\n\nThemingService\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 29 Modules\n \n \n \n \n \n \n \n \n 29 Components\n \n \n \n \n \n \n \n 9 Injectables\n \n \n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 32 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n CancelRegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n ContainerPayload   (projects/.../messages.ts)\n \n \n DrawerPayload   (projects/.../messages.ts)\n \n \n ExpandedState   (projects/.../drawer.component.ts)\n \n \n ExpandedState2   (projects/.../drawer.component.ts)\n \n \n FetchPreviousRegistrationsCallback   (projects/.../app-web-component.component.ts)\n \n \n Message   (projects/.../messages.ts)\n \n \n MessageChannel   (projects/.../messages.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n MetaData   (projects/.../meta-data.ts)\n \n \n OpenedState   (projects/.../drawer.component.ts)\n \n \n Organ   (projects/.../app-web-component.component.ts)\n \n \n Payload   (projects/.../messages.ts)\n \n \n RegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n Side   (projects/.../stage-nav.component.ts)\n \n \n TagId   (projects/.../anatomical-structure-tag.ts)\n \n \n User   (projects/.../app-web-component.component.ts)\n \n \n ViewSide   (projects/.../model.state.ts)\n \n \n ViewType   (projects/.../model.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n \n \n \n \n \n \n CancelRegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n FetchPreviousRegistrationsCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n Organ\n \n \n \n \n NonNullable<>\n\n \n \n \n \n \n \n \n \n \n RegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n User\n \n \n \n \n NonNullable<>\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n ContainerPayload\n \n \n \n \n Payload types for messages sent from the drawer container.\n\n \n \n \n \n ContentContainerChanged | DrawerContainersChanged\n\n \n \n \n \n \n \n \n \n \n DrawerPayload\n \n \n \n \n Payload types for messages sent from the drawers.\n\n \n \n \n \n DrawerToggled | DrawerInitialized\n\n \n \n \n \n \n \n \n \n \n Message\n \n \n \n \n Specific message type.\n\n \n \n \n \n GenericMessage\n\n \n \n \n \n \n \n \n \n \n MessageChannel\n \n \n \n \n Specific channel type.\n\n \n \n \n \n GenericMessageChannel\n\n \n \n \n \n \n \n \n \n \n MessageService\n \n \n \n \n Specific service type.\n\n \n \n \n \n GenericMessageService\n\n \n \n \n \n \n \n \n \n \n Payload\n \n \n \n \n Combined payload type for all drawer sub components.\n\n \n \n \n \n ContainerPayload | DrawerPayload\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n ExpandedState\n \n \n \n \n Expanded/collapsed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n \n \n \n \n \n ExpandedState2\n \n \n \n \n Expanded state relative to an opposite drawer.\n\n \n \n \n \n \"collapsed\" | \"half\" | \"extended\" | \"full\"\n\n \n \n \n \n \n \n \n \n \n OpenedState\n \n \n \n \n Opened/closed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n \n \n \n \n \n MetaData\n \n \n \n \n MetaDataField[]\n\n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n \n \n \n \n \n Side\n \n \n \n \n Valid values for side.\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\" | \"3D\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n \n \n \n \n \n TagId\n \n \n \n \n Type for tag identifiers\n\n \n \n \n \n string | number\n\n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n ViewSide\n \n \n \n \n Side which the model is viewed from\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\"\n\n \n \n \n \n \n \n \n \n \n ViewType\n \n \n \n \n Model view type\n\n \n \n \n \n \"register\" | \"3d\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE   (projects/.../block-size-input.component.ts)\n \n \n DEFAULT_ICONS   (projects/.../default-icons.ts)\n \n \n DEFAULT_ROTATION   (projects/.../rotation-slider.component.ts)\n \n \n DEFAULT_SEARCH_LIMIT   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SEARCH_THROTTLE   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SLICES_CONFIG   (projects/.../slices-input.component.ts)\n \n \n DEFAULT_THEME   (projects/.../theming.service.ts)\n \n \n EMPTY_RESULT   (projects/.../tag-search.component.ts)\n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT   (projects/.../drawer.component.ts)\n \n \n GLOBAL_CONFIG   (projects/.../config.ts)\n \n \n MESSAGE_SERVICE_CONFIG   (projects/.../message.service.ts)\n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG   (projects/.../message.service.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n RUI_ORGANS   (projects/.../model.state.ts)\n \n \n ruiConfig   (projects/.../config.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE\n \n \n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : {\n x: 10,\n y: 10,\n z: 10\n}\n \n \n\n \n \n Defaults for block sizes.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n \n \n \n \n \n \n DEFAULT_ICONS\n \n \n \n \n \n \n Type : DefaultIconDefinition[]\n\n \n \n \n \n Default value : [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n]\n \n \n\n \n \n Icons registered at startup.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n \n \n \n \n \n \n DEFAULT_ROTATION\n \n \n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : {\n x: 0,\n y: 0,\n z: 0\n}\n \n \n\n \n \n Default values for rotation.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n \n \n \n \n \n \n DEFAULT_SEARCH_LIMIT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 5\n \n \n\n \n \n Default search results limit\n\n \n \n\n \n \n \n \n \n \n \n \n DEFAULT_SEARCH_THROTTLE\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n\n \n \n Default search throttle time in ms\n\n \n \n\n \n \n \n \n \n \n \n \n EMPTY_RESULT\n \n \n \n \n \n \n Type : TagSearchResult\n\n \n \n \n \n Default value : { totalCount: 0, results: [] }\n \n \n\n \n \n Empty search result object\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_SLICES_CONFIG\n \n \n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : {\n thickness: NaN,\n numSlices: NaN\n}\n \n \n\n \n \n Default values for slices config.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n \n \n \n \n \n \n DEFAULT_THEME\n \n \n \n \n \n \n Default value : new InjectionToken('Default theme class')\n \n \n\n \n \n Token for specifying the default theme class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n}\n \n \n\n \n \n Default animation parameters.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n GLOBAL_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Global configuration object'\n)\n \n \n\n\n \n \n \n \n \n \n \n \n ruiConfig\n \n \n \n \n \n \n Type : GlobalConfig\n\n \n \n\n\n \n \n\n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n \n \n \n \n \n \n MESSAGE_SERVICE_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n)\n \n \n\n \n \n Token for specifying the message service configuration.\n\n \n \n\n \n \n \n \n \n \n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n \n \n \n \n \n Type : MessageServiceConfig\n\n \n \n \n \n Default value : {\n isolated: true\n}\n \n \n\n \n \n Default message service configuration.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n \n MessageService\n \n \n \n \n \n \n Default value : GenericMessageService\n \n \n\n \n \n Reference to the service class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n \n RUI_ORGANS\n \n \n \n \n \n \n Default value : ALL_ORGANS\n \n \n\n \n \n All organs to be displayed\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/injectables/AnatomicalStructureTagState.html",[0,1.271,1,2.49]],["body/injectables/AnatomicalStructureTagState.html",[0,1.512,1,2.962,2,2.042,3,0.067,4,0.084,5,0.067,6,0.12,7,6.79,8,3.828,9,5.289,10,2.875,11,0.833,12,2.15,13,4.576,14,2.962,15,2.509,16,1.974,17,5.385,18,0.336,19,0.573,20,2.148,21,5.385,22,2.691,23,2.821,24,5.043,25,1.301,26,5.906,27,5.194,28,5.381,29,2.869,30,4.576,31,5.194,32,2.63,33,5.247,34,5.385,35,1.08,36,2.875,37,3.771,38,1.952,39,5.194,40,0.966,41,0.99,42,1.727,43,0.01,44,1.066,45,0.778,46,1.345,47,1.215,48,1.474,49,3.485,50,3.213,51,4.576,52,1.952,53,3.877,54,3.581,55,1.612,56,1.226,57,4.576,58,3.581,59,3.421,60,3.623,61,3.623,62,4.576,63,3.581,64,3.581,65,2.223,66,4.169,67,3.581,68,4.576,69,0.907,70,4.687,71,1.531,72,5.297,73,3.581,74,4.169,75,0.007,76,3.163,77,3.996,78,4.169,79,4.169,80,0.007,81,4.576,82,4.263,83,3.623,84,0.006,85,0.666,86,0.7,87,3.581,88,2.391,89,3.581,90,2.108,91,2.196,92,3.485,93,3.581,94,3.581,95,3.581,96,2.705,97,3.581,98,3.581,99,0.315,100,4.576,101,3.155,102,1.749,103,3.155,104,0.172,105,2.63,106,2.223,107,2.092,108,1.533,109,1.533,110,1.443,111,2.665,112,1.883,113,1.017,114,1.582,115,1.219,116,2.239,117,2.135,118,2.665,119,1.959,120,2.135,121,2.875,122,1.401,123,1.401,124,1.401,125,1.323,126,1.401,127,2.665,128,1.634,129,0.348,130,0.121,131,2.665,132,1.487,133,0.118,134,1.378,135,3.155,136,3.155,137,3.155,138,3.623,139,1.252,140,3.666,141,0.918,142,0.941,143,4.415,144,3.155,145,2.875,146,3.155,147,3.155,148,3.155,149,3.643,150,3.155,151,3.155,152,3.155,153,3.155,154,3.155,155,2.7,156,2.092,157,3.155,158,2.359,159,4.576,160,1.068,161,0.541,162,1.533,163,1.634,164,2.359,165,2.042,166,2.359,167,2.359,168,2.239,169,2.359,170,2.359,171,3.155,172,3.155,173,2.239,174,2.239,175,3.155,176,3.155,177,2.498,178,4.576,179,4.576,180,4.576,181,3.421,182,1.816,183,4.576,184,2.498,185,2.498,186,3.155,187,3.155,188,1.156,189,2.359,190,3.155,191,3.155,192,3.155,193,3.155,194,3.155]],["title/interfaces/AnatomicalStructureTagStateModel.html",[129,0.292,131,3.249]],["body/interfaces/AnatomicalStructureTagStateModel.html",[0,1.765,1,2.545,3,0.084,4,0.104,5,0.084,6,0.063,7,3.582,8,2.947,9,2.79,10,3.582,11,0.555,12,2.134,13,3.932,14,2.545,15,2.497,16,1.696,17,5.341,20,1.996,21,3.932,22,2.7,23,2.617,24,4.534,26,3.932,28,3.582,29,1.91,33,5.184,34,3.932,35,1.071,37,3.644,40,0.83,41,0.851,43,0.01,44,0.621,45,0.723,47,1.099,48,1.267,49,3.457,50,3.187,51,3.932,53,3.74,55,0.917,56,1.166,57,3.932,59,2.939,60,3.113,61,3.113,62,3.932,65,1.91,66,3.582,68,3.932,69,0.821,70,4.534,71,1.118,72,5.497,74,3.582,75,0.007,76,2.86,77,3.614,78,3.582,79,3.582,80,0.007,81,3.932,82,4.228,83,3.113,84,0.006,88,2.371,90,1.906,91,2.179,92,3.457,96,2.617,99,0.327,100,5.341,101,3.932,102,2.18,103,3.932,104,0.214,105,3.07,106,2.595,107,2.442,108,1.91,109,1.91,110,1.798,111,3.321,112,2.346,113,1.267,114,1.971,115,1.519,116,2.79,117,2.66,118,3.321,119,2.441,120,2.66,121,3.582,122,1.746,123,1.746,124,1.746,125,1.649,126,1.746,127,3.321,128,2.036,129,0.406,130,0.142,131,4.512,132,1.852,133,0.147,134,1.518,135,3.932,136,3.932,137,3.932,138,4.228,139,1.332,140,4.04,141,1.071,142,1.099,143,4.864,144,3.932,145,3.582,146,3.932,147,3.932,148,3.932,149,4.104,150,3.932,151,3.932,152,3.932,153,3.932,154,3.932,155,2.975,156,2.442,157,3.932,158,2.939,159,5.341,160,1.176,161,0.674,162,1.91,163,2.036,164,2.939,165,2.545,166,2.939,167,2.939,168,2.79,169,2.939,170,2.939,171,3.932,172,3.932,173,2.79,174,2.79,175,3.932,176,3.932,177,3.113,178,5.341,179,5.341,180,5.341,181,3.993,182,2.12,183,5.341,184,3.113,185,3.113,186,3.932,187,3.932,188,1.44,189,2.939,190,3.932,191,3.932,192,3.932,193,3.932,194,3.932,195,1.175]],["title/components/AppComponent.html",[196,0.424,197,1.179]],["body/components/AppComponent.html",[3,0.049,4,0.061,5,0.077,6,0.12,11,0.772,12,0.979,16,0.997,18,0.537,19,0.453,20,1.434,22,1.361,23,1.923,25,1.029,32,2.079,35,0.726,37,3.364,38,1.966,42,1.446,43,0.01,44,0.992,45,0.598,46,1.126,52,1.196,55,1.277,56,1.132,69,1.079,75,0.004,80,0.003,84,0.003,85,1.421,86,1.466,88,2.239,91,2.057,99,0.277,104,0.126,112,1.379,113,0.745,129,0.275,130,0.096,133,0.086,134,0.844,139,0.827,141,1.012,142,0.744,160,0.654,161,1.288,182,1.436,188,1.325,196,0.603,197,1.546,198,1.029,199,0.745,200,0.825,201,0.825,202,0.804,203,1.952,204,2.448,205,1.654,206,2.472,207,3.333,208,0.708,209,1.226,210,1.226,211,2.212,212,1.099,213,1.237,214,1.109,215,4.062,216,1.109,217,3.296,218,4.062,219,3.267,220,4.537,221,4.537,222,3.768,223,3.529,224,3.58,225,4.307,226,4.357,227,4.062,228,3.618,229,4.106,230,2.796,231,3.77,232,4.596,233,3.296,234,3.618,235,4.106,236,4.062,237,2.106,238,5.53,239,4.596,240,4.596,241,3.529,242,3.413,243,3.766,244,3.265,245,2.233,246,2.306,247,2.768,248,3.131,249,4.106,250,2.864,251,3.333,252,2.311,253,3.77,254,4.106,255,4.989,256,1.705,257,2.342,258,2.235,259,1.71,260,1.786,261,4.905,262,3.758,263,2.736,264,2.623,265,4.596,266,4.106,267,4.062,268,4.062,269,3.333,270,4.062,271,3.766,272,3.056,273,3.056,274,3.296,275,3.296,276,2.623,277,2.448,278,1.517,279,2.623,280,2.623,281,2.342,282,3.296,283,2.448,284,4.261,285,4.062,286,3.77,287,2.166,288,2.623,289,3.296,290,2.623,291,2.623,292,3.296,293,2.623,294,2.623,295,3.296,296,2.623,297,1.636,298,2.623,299,2.296,300,1.837,301,2.768,302,2.623,303,2.342,304,2.079,305,2.623,306,2.864,307,2.159,308,1.092,309,1.237,310,3.131,311,3.164,312,2.568,313,2.235,314,2.623,315,3.296,316,2.623,317,3.296,318,2.623,319,2.623,320,2.623,321,0.783,322,1.728,323,1.952,324,1.728,325,2.106,326,0.764,327,1.952,328,2.106,329,1.952,330,1.952,331,1.564,332,1.496,333,0.893,334,1.379,335,1.379,336,1.83,337,0.844,338,2.106,339,2.106,340,3.296,341,2.106,342,2.106,343,2.106,344,2.106,345,3.296,346,2.106,347,1.952,348,2.106,349,2.106,350,1.64,351,2.106,352,2.106,353,1.435,354,2.106,355,2.106,356,2.106,357,1.564,358,2.106,359,0.783,360,2.106,361,2.106,362,2.864,363,2.106,364,2.106,365,2.106,366,2.106,367,2.106,368,2.106,369,5.723,370,2.106,371,4.062,372,2.106,373,5.53,374,2.106,375,1.952,376,2.106,377,5.126,378,1.379,379,2.106,380,3.465,381,2.106,382,2.173,383,3.296,384,3.928,385,1.83,386,2.106,387,1.561,388,3.296,389,1.496,390,1.704,391,3.296,392,2.106,393,1.952,394,2.106,395,1.64,396,4.106,397,5.725,398,5.044,399,0.893,400,1.678,401,2.736,402,2.568,403,2.568,404,2.823,405,1.818,406,1.496,407,2.342,408,1.197,409,1.055,410,2.079,411,2.66,412,2.623,413,1.281,414,1.226,415,2.623,416,2.66,417,2.448,418,2.745,419,2.864,420,2.623,421,2.859,422,5.06,423,2.864,424,1.055,425,2.246,426,2.311,427,2.166,428,2.246,429,1.166,430,2.705,431,1.937,432,1.564,433,2.448,434,2.166,435,1.238,436,1.758,437,1.758,438,3.296,439,2.106,440,2.106,441,1.197,442,2.66,443,2.623,444,1.197,445,1.057,446,2.705,447,1.83,448,2.387,449,3.01,450,0.887,451,2.472,452,4.106,453,0.887,454,1.83,455,2.623,456,2.623,457,1.507,458,1.83,459,3.333,460,4.106,461,2.562,462,2.623,463,2.623,464,1.328,465,2.106,466,1.026,467,1.83,468,0.825,469,1.029,470,0.825,471,1.8,472,0.825,473,0.825,474,0.745,475,0.825,476,0.726,477,1.591,478,0.745,479,0.825,480,1.109,481,1.591,482,0.745,483,0.783,484,0.825,485,0.745,486,0.825,487,0.745,488,0.708,489,0.825,490,0.745,491,0.825,492,0.745,493,0.745,494,0.825,495,0.745,496,0.804,497,0.726,498,0.825,499,0.745,500,1.291,501,0.726,502,0.745,503,0.745,504,1.591,505,0.745,506,1.196,507,1.291,508,0.726,509,0.745,510,0.726,511,0.61,512,0.825,513,0.726,514,0.708,515,0.745,516,0.825,517,0.745,518,0.825,519,0.745,520,0.825,521,0.745,522,1.029,523,0.745,524,1.166,525,0.745,526,0.825,527,0.745,528,1.081,529,0.825,530,0.745,531,0.825,532,0.825]],["title/modules/AppModule.html",[533,1.271,534,3.249]],["body/modules/AppModule.html",[3,0.098,4,0.122,5,0.098,6,0.095,25,1.31,37,3.71,38,1.217,43,0.01,55,1.075,56,1.017,75,0.007,80,0.006,84,0.006,99,0.342,104,0.251,130,0.122,133,0.172,139,0.855,161,0.79,197,2.317,204,3.118,205,2.107,212,0.65,226,2.982,284,3.892,287,1.644,297,1.377,323,3.892,324,3.444,326,1.523,330,3.892,424,1.343,474,2.437,534,6.783,535,1.485,536,1.96,537,4.608,538,4.608,539,4.608,540,5.809,541,5.809,542,5.809,543,5.809,544,5.809,545,5.809,546,5.809,547,2.117,548,1.485,549,5.23,550,2.292,551,6.733,552,2.173,553,7.446,554,5.23,555,6.733,556,2.063,557,5.23,558,4.608,559,6.733,560,4.608,561,2.86,562,2.795,563,2.046,564,6.733,565,5.932,566,4.434,567,3.27,568,5.405,569,4.198,570,5.932,571,6.733,572,3.648,573,5.23,574,5.23,575,5.23,576,5.011,577,5.23,578,5.23,579,5.23,580,3.892,581,6.733,582,5.23,583,4.434,584,4.608,585,5.23,586,3.892,587,5.23,588,3.444,589,5.011,590,5.405,591,3.648,592,4.198,593,4.608,594,5.23,595,5.23,596,2.107,597,6.733,598,5.23,599,4.608,600,5.23,601,3.892]],["title/interfaces/AppOptions.html",[129,0.292,336,3.045]],["body/interfaces/AppOptions.html",[3,0.078,4,0.097,5,0.078,6,0.059,16,2.197,18,0.391,19,0.638,20,1.448,22,1.38,23,1.583,35,0.736,37,3.384,43,0.01,45,0.651,46,1.478,56,1.138,69,1.19,75,0.006,80,0.004,84,0.004,85,0.774,88,2.261,91,2.077,99,0.313,104,0.2,112,2.189,113,1.182,129,0.387,130,0.135,133,0.137,134,1.188,139,1.086,141,1.021,142,0.755,160,0.921,161,1.291,182,1.456,195,1.097,196,0.645,197,1.124,203,3.099,204,2.483,205,1.677,206,2.824,207,3.807,209,1.244,210,1.244,211,1.664,212,0.825,213,1.018,214,1.124,215,3.343,216,1.124,217,3.343,218,3.343,219,3.962,220,5.137,221,5.137,222,3.162,223,2.905,224,3.615,225,4.152,226,4.781,227,3.343,230,2.034,231,2.743,232,3.343,236,3.343,238,5.33,239,4.641,240,4.641,241,2.905,242,3.446,243,3.099,244,3.297,245,2.578,246,2.329,247,2.278,248,3.162,251,2.743,253,2.743,255,4.641,256,1.545,257,2.035,258,1.839,259,1.727,260,1.448,261,4.302,262,3.297,263,2.399,265,3.343,267,3.343,268,3.343,269,2.743,270,3.343,271,3.099,272,3.099,273,3.099,274,3.343,275,3.343,277,2.483,278,1.539,281,2.375,282,3.343,283,2.483,284,4.942,285,4.641,286,4.373,287,2.256,289,3.343,292,3.343,295,3.343,297,1.748,299,2.136,300,1.043,301,3.162,303,2.375,304,2.109,306,2.905,307,2.189,308,0.794,309,1.018,310,2.278,311,3.615,312,2.604,313,1.839,315,3.343,317,3.343,321,1.244,322,2.743,323,3.099,324,2.743,325,3.343,326,1.212,327,3.099,328,3.343,329,3.099,330,3.099,331,2.483,332,2.375,333,1.417,334,2.189,335,2.189,336,4.032,337,1.474,338,3.343,339,3.343,340,4.641,341,3.343,342,3.343,343,3.343,344,3.343,345,4.641,346,3.343,347,3.099,348,3.343,349,3.343,350,2.604,351,3.343,352,3.343,353,2.278,354,3.343,355,3.343,356,3.343,357,2.483,358,3.343,359,1.244,360,3.343,361,3.343,362,2.905,363,3.343,364,3.343,365,3.343,366,3.343,367,3.343,368,3.343,369,6.547,370,3.343,371,5.33,372,3.343,373,6.421,374,3.343,375,3.099,376,3.343,377,5.953,378,2.189,379,3.343,380,4.101,381,3.343,382,2.021,383,4.641,384,4.561,385,2.905,386,3.343,387,2.197,388,4.641,389,2.375,390,2.399,391,4.641,392,3.343,393,3.099,394,3.343,395,2.604]],["title/components/AppWebComponent.html",[196,0.424,474,1.239]],["body/components/AppWebComponent.html",[3,0.076,4,0.095,5,0.106,6,0.124,12,1.353,16,2.156,18,0.38,19,0.626,35,1.002,38,2.019,42,0.943,43,0.01,44,0.987,45,0.804,46,0.735,56,0.857,69,1.219,75,0.006,80,0.004,82,3.957,84,0.004,99,0.3,104,0.195,113,1.15,130,0.181,133,0.133,139,0.663,142,0.735,196,0.635,197,1.094,198,1.64,199,1.61,201,1.274,202,1.242,208,1.094,209,1.694,210,1.694,211,2.27,212,1.13,213,1.6,219,3.727,220,4.31,221,4.31,226,3.732,245,1.456,246,2.856,247,3.877,248,3.877,256,0.943,259,2.577,260,1.421,299,2.933,300,1.64,308,1.082,309,0.991,321,1.21,326,1.18,329,3.016,333,2.702,337,1.665,359,1.21,409,1.041,450,0.875,453,0.875,457,1.067,468,1.274,469,1.421,470,1.274,471,2.229,472,1.274,473,1.274,474,2.012,475,1.274,476,1.122,477,2.058,478,1.15,479,1.274,480,1.531,481,2.058,482,1.15,483,1.21,484,1.274,485,1.15,486,1.274,487,1.15,488,1.094,489,1.274,490,1.15,491,1.274,492,1.15,493,1.15,494,1.274,495,1.15,496,1.242,497,1.122,498,1.274,499,1.15,500,1.784,501,1.122,502,1.15,503,1.15,504,2.058,505,1.15,506,1.652,507,1.784,508,1.122,509,1.15,510,1.122,511,0.943,512,1.274,513,1.122,514,1.094,515,1.15,516,1.274,517,1.15,518,1.274,519,1.15,520,1.274,521,1.15,522,1.421,523,1.15,524,1.61,525,1.15,526,1.274,527,1.15,528,1.494,529,1.274,530,1.15,531,1.274,532,1.274,572,6.084,602,7.002,603,3.253,604,6.544,605,5.673,606,3.901,607,2.285,608,4.092,609,4.669,610,5.691,611,6.246,612,3.131,613,6.246,614,5.276,615,4.053,616,5.673,617,5.673,618,4.053,619,4.565,620,4.053,621,4.31,622,4.053,623,5.766,624,4.053,625,4.053,626,4.053,627,4.053,628,4.053,629,4.87,630,4.053,631,4.053,632,4.053,633,4.053,634,4.053,635,1.98,636,2.052,637,5.673,638,4.053,639,2.052,640,2.052,641,4.998,642,1.735,643,4.053,644,4.053,645,4.053,646,3.253,647,4.053,648,4.053,649,4.053,650,4.053,651,4.053,652,6.544,653,6.544,654,6.544]],["title/interfaces/BlockSize.html",[129,0.292,655,2.388]],["body/interfaces/BlockSize.html",[3,0.099,4,0.124,5,0.099,6,0.075,11,0.658,18,0.497,19,0.749,40,0.985,41,1.01,43,0.01,44,0.945,45,0.68,47,0.96,56,1.025,69,0.717,71,2.178,75,0.007,80,0.006,84,0.006,86,1.036,99,0.257,104,0.254,129,0.502,130,0.159,132,2.199,133,0.223,139,1.11,141,1.2,160,1.193,161,1.132,182,1.852,195,1.395,196,0.767,209,1.582,210,1.582,211,1.327,212,0.844,214,1.43,216,1.43,256,2.101,259,2.57,260,1.327,321,1.582,382,2.856,387,3.105,390,3.391,404,2.508,409,2.21,414,2.028,469,1.327,476,1.467,596,2.134,655,4.321,656,3.695,657,3.489,658,3.158,659,5.053,660,3.438,661,4.466,662,4.506,663,5.982,664,2.818,665,1.504,666,2.818,667,2.656,668,2.014,669,1.957,670,2.508,671,3.943,672,5.576,673,4.506,674,3.943,675,3.489,676,3.489,677,1.504,678,1.666,679,3.28,680,3.943,681,3.489,682,4.668,683,2.656,684,2.267,685,4.245,686,3.158,687,3.859,688,3.943,689,3.489,690,4.668,691,3.695,692,3.489,693,3.313,694,6.601,695,3.943,696,4.668,697,5.982,698,4.668,699,5.982,700,3.943,701,4.668,702,4.668]],["title/components/BlockSizeInputComponent.html",[196,0.424,476,1.209]],["body/components/BlockSizeInputComponent.html",[3,0.069,4,0.086,5,0.099,6,0.112,11,0.772,12,1.265,18,0.346,19,0.585,25,1.329,35,0.651,38,1.797,40,0.986,41,1.011,42,1.234,43,0.01,44,1.137,45,0.68,46,0.961,47,0.961,52,1.073,55,1.09,56,1.026,69,0.92,71,1.556,75,0.006,76,1.739,80,0.004,84,0.004,85,1.155,86,1.407,99,0.201,104,0.177,129,0.355,130,0.124,132,1.53,133,0.247,139,0.867,141,1.098,142,0.668,160,0.989,161,1.087,182,1.854,188,1.712,196,0.75,197,0.995,198,1.329,199,1.046,200,1.159,201,1.159,202,1.129,208,0.995,209,1.584,210,1.584,211,2.254,212,1.124,213,0.901,214,1.432,216,1.432,219,1.938,256,2.078,259,2.584,260,1.702,300,1.556,308,1.011,309,0.901,321,1.101,382,2.375,387,2.582,390,2.82,399,1.255,400,1.432,401,2.578,404,2.51,408,1.682,409,2.317,414,2.029,421,1.53,427,1.578,434,2.27,436,1.578,437,1.578,444,2.42,445,1.485,448,1.739,450,0.796,451,1.8,453,1.146,454,2.571,457,0.971,461,1.866,468,1.159,469,1.804,470,1.159,471,2.136,472,1.159,473,1.159,474,1.046,475,1.159,476,1.881,477,1.953,478,1.046,479,1.159,480,1.432,481,1.953,482,1.046,483,1.101,484,1.159,485,1.046,486,1.159,487,1.046,488,0.995,489,1.159,490,1.046,491,1.159,492,1.046,493,1.046,494,1.159,495,1.046,496,1.129,497,1.02,498,1.159,499,1.046,500,1.668,501,1.02,502,1.046,503,1.046,504,1.953,505,1.046,506,1.544,507,1.668,508,1.02,509,1.046,510,1.02,511,0.858,512,1.159,513,1.02,514,0.995,515,1.046,516,1.159,517,1.046,518,1.159,519,1.046,520,1.159,521,1.046,522,1.329,523,1.046,524,1.505,525,1.046,526,1.159,527,1.046,528,1.396,529,1.159,530,1.046,531,1.159,532,1.159,561,2.016,592,2.959,596,1.485,607,2.502,655,4.1,656,5.513,657,5.206,658,2.197,659,2.743,660,1.866,661,4.291,662,4.404,663,5.473,664,2.578,665,1.046,666,2.201,667,2.657,668,1.401,669,1.362,670,2.295,671,2.743,672,5.056,673,4.105,674,3.947,675,3.493,676,4.091,677,1.505,678,1.953,679,3.281,680,3.947,681,3.493,682,5.473,683,2.43,684,2.27,685,4.501,686,3.162,687,3.661,688,3.947,689,3.493,690,4.673,691,2.571,692,2.428,693,2.305,694,5.473,695,2.743,696,3.248,697,4.673,698,3.248,699,4.673,700,3.947,701,5.986,702,3.248,703,5.303,704,2.59,705,1.757,706,1.938,707,5.303,708,3.248,709,4.673,710,3.686,711,3.248,712,4.257,713,4.091,714,3.248,715,2.571,716,3.248,717,2.305,718,2.016,719,2.571,720,2.197,721,2.571,722,1.938,723,2.571,724,3.248,725,2.959,726,2.571,727,2.305,728,2.428,729,2.428]],["title/modules/BlockSizeInputModule.html",[533,1.271,730,3.045]],["body/modules/BlockSizeInputModule.html",[3,0.12,4,0.149,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,256,1.487,409,2.093,424,1.642,476,2.515,535,1.814,536,2.22,547,2.398,548,1.814,550,2.595,552,2.063,556,2.336,562,3.165,563,2.5,656,4.458,657,4.209,730,6.169,731,5.631,732,5.631,733,5.631,734,5.13,735,2.595,736,2.74,737,2.175,738,5.675,739,4.756,740,5.318,741,4.458,742,4.17,743,3.496,744,5.13]],["title/modules/ConfigModule.html",[533,1.271,745,3.045]],["body/modules/ConfigModule.html",[3,0.128,4,0.159,5,0.128,6,0.097,43,0.01,75,0.008,80,0.007,84,0.007,99,0.317,104,0.328,130,0.159,133,0.225,212,0.849,326,1.988,535,1.938,556,2.429,588,4.497,589,5.081,745,5.529,746,6.828,747,5.529,748,5.9,749,6.364,750,3.894,751,6.828,752,6.828]],["title/components/ContainerComponent.html",[196,0.424,478,1.239]],["body/components/ContainerComponent.html",[3,0.062,4,0.078,5,0.092,6,0.119,11,0.728,12,1.174,18,0.462,19,0.543,20,2.192,25,1.234,32,2.493,35,0.588,38,1.943,40,0.915,41,0.939,42,1.145,43,0.01,44,0.962,45,0.724,46,0.892,47,0.892,48,1.398,52,1.885,55,1.538,56,0.978,61,2.322,69,0.451,71,1.234,75,0.005,80,0.004,84,0.004,85,1.089,86,1.146,90,1.548,99,0.274,104,0.16,113,0.945,115,1.133,130,0.078,133,0.238,134,1.331,139,1.059,141,1.035,142,0.603,160,1.031,161,0.885,188,1.891,196,0.786,197,0.899,198,1.812,199,0.945,200,1.047,201,1.047,202,1.02,205,1.983,206,2.862,208,0.899,209,1.47,210,1.47,211,2.235,212,1.116,213,0.814,214,1.329,216,1.329,225,4.679,230,3.162,247,3.541,248,3.541,256,1.145,257,2.117,258,2.86,260,1.234,263,3.002,277,2.935,278,2.392,297,1.971,300,2.124,308,0.939,309,0.814,311,3.663,312,3.079,313,3.718,321,0.994,337,1.331,357,1.985,382,1.164,395,2.082,399,1.133,400,0.899,406,2.808,407,1.898,409,0.855,416,3.603,417,1.985,429,0.945,450,0.719,453,0.719,457,0.877,466,1.926,468,1.047,469,1.731,470,1.047,471,2.036,472,1.047,473,1.047,474,0.945,475,1.047,476,0.922,477,1.842,478,1.838,479,1.047,480,1.865,481,1.842,482,0.945,483,0.994,484,1.047,485,1.838,486,1.047,487,0.945,488,0.899,489,1.047,490,0.945,491,1.047,492,0.945,493,0.945,494,1.047,495,0.945,496,1.02,497,0.922,498,1.047,499,0.945,500,1.548,501,0.922,502,0.945,503,0.945,504,1.842,505,0.945,506,1.434,507,1.548,508,0.922,509,0.945,510,0.922,511,0.774,512,1.047,513,0.922,514,0.899,515,0.945,516,1.047,517,0.945,518,1.047,519,0.945,520,1.047,521,0.945,522,1.234,523,0.945,524,1.398,525,0.945,526,1.047,527,0.945,528,1.296,529,1.047,530,0.945,531,1.047,532,1.047,588,3.243,660,1.686,665,0.945,677,1.398,705,1.632,753,2.672,754,2.935,755,4.703,756,4.338,757,4.924,758,3.394,759,5.859,760,4.924,761,3.152,762,4.36,763,5.859,764,5.859,765,4.758,766,3.952,767,5.197,768,6.474,769,5.859,770,3.952,771,4.924,772,2.589,773,3.375,774,3.243,775,4.924,776,4.924,777,3.306,778,3.329,779,4.338,780,4.924,781,3.243,782,3.664,783,3.664,784,3.329,785,2.175,786,4.924,787,4.924,788,3.329,789,3.329,790,4.924,791,4.924,792,2.862,793,3.329,794,3.243,795,7.484,796,4.924,797,6.474,798,3.329,799,5.197,800,3.952,801,6.474,802,4.924,803,3.329,804,3.952,805,4.338,806,4.924,807,3.329,808,3.329,809,3.329,810,4.338,811,3.329,812,3.329,813,1.234,814,3.329,815,3.329,816,2.672,817,2.672,818,2.478,819,2.193,820,2.322,821,2.933,822,3.952,823,3.329,824,2.933,825,3.329,826,2.933,827,3.859,828,3.859,829,2.933,830,2.933,831,3.329,832,3.329,833,3.329,834,3.329,835,2.193,836,2.672,837,2.933,838,2.478,839,3.329,840,3.329,841,4.338,842,2.082,843,2.693,844,4.338,845,3.329,846,3.329,847,3.329,848,1.819,849,3.329,850,3.329,851,4.924,852,4.924,853,3.329,854,3.329,855,3.329,856,3.329,857,3.329,858,3.329,859,3.329,860,2.478,861,3.329,862,3.329]],["title/components/ContentComponent.html",[196,0.424,480,1.179]],["body/components/ContentComponent.html",[3,0.055,4,0.069,5,0.084,6,0.118,11,0.678,12,1.074,15,2.256,18,0.512,19,0.497,20,1.645,22,2.176,23,2.629,24,3.594,25,1.129,35,0.796,38,1.918,40,0.837,41,0.859,42,1.269,43,0.01,44,1.057,45,0.725,46,0.989,52,0.861,55,1.35,56,1.045,69,0.4,71,1.129,75,0.005,80,0.003,84,0.003,85,1.378,86,1.45,88,2.386,91,2.192,92,3.479,99,0.287,104,0.142,114,1.306,115,1.007,130,0.069,133,0.228,139,0.892,141,0.523,142,0.989,160,1.046,161,1.272,188,0.955,196,0.765,197,0.798,198,1.129,199,0.839,200,0.93,201,0.93,202,0.906,205,1.815,206,2.665,207,3.594,208,0.798,209,1.345,210,1.345,211,2.211,212,1.109,213,1.334,214,1.216,216,1.216,230,2.665,231,4.018,237,2.374,244,3.479,247,3.337,248,3.337,256,1.269,257,2.477,258,1.99,260,1.645,263,1.227,278,1.664,283,1.763,287,1.918,297,0.779,300,1.367,308,1.448,309,0.723,321,0.883,324,1.948,331,1.763,332,1.686,337,0.926,377,4.887,378,1.555,380,3.208,382,2.793,384,3.479,387,2.945,390,3.216,393,2.201,399,1.007,400,1.773,401,2.532,404,2.016,405,1.619,406,1.686,407,2.569,409,0.76,410,1.497,411,1.555,414,1.961,416,3.582,418,2.41,421,1.87,427,1.266,429,1.279,433,2.685,434,1.266,435,1.395,436,1.266,437,1.266,447,2.063,449,1.555,450,1.179,453,0.973,457,0.779,459,1.948,461,3.089,464,1.497,468,0.93,469,1.645,470,0.93,471,1.918,472,0.93,473,0.93,474,0.839,475,0.93,476,0.819,477,1.716,478,0.839,479,0.93,480,1.773,481,1.716,482,0.839,483,0.883,484,0.93,485,0.839,486,0.93,487,0.839,488,0.798,489,0.93,490,0.839,491,0.93,492,0.839,493,0.839,494,0.93,495,0.839,496,0.906,497,0.819,498,0.93,499,0.839,500,1.417,501,0.819,502,0.839,503,0.839,504,1.716,505,0.839,506,1.312,507,1.417,508,0.819,509,0.839,510,0.819,511,0.688,512,0.93,513,0.819,514,0.798,515,0.839,516,0.93,517,0.839,518,0.93,519,0.839,520,0.93,521,0.839,522,1.129,523,0.839,524,1.279,525,0.839,526,0.93,527,0.839,528,1.186,529,0.93,530,0.839,531,0.93,532,0.93,548,1.279,612,2.41,635,2.2,636,2.281,639,1.497,640,1.497,665,0.839,673,1.686,677,1.279,678,1.716,705,1.493,713,2.967,720,1.763,721,2.063,722,1.555,754,3.253,774,2.967,781,2.967,785,2.41,813,1.529,863,2.606,864,4.38,865,3.969,866,5.456,867,5.456,868,6.101,869,6.101,870,6.918,871,5.456,872,4.505,873,5.456,874,4.505,875,3.208,876,6.101,877,4.505,878,4.505,879,4.505,880,2.957,881,5.456,882,2.957,883,2.957,884,2.957,885,6.566,886,2.957,887,2.957,888,1.686,889,2.957,890,2.957,891,2.2,892,2.957,893,2.957,894,3.815,895,3.325,896,1.849,897,4.505,898,4.505,899,4.505,900,4.505,901,6.918,902,4.288,903,4.505,904,4.505,905,4.505,906,4.505,907,4.505,908,4.505,909,2.957,910,2.957,911,3.616,912,4.505,913,6.566,914,3.969,915,3.969,916,4.505,917,4.505,918,2.957,919,2.957,920,5.456,921,3.969,922,4.505,923,4.505,924,4.505,925,4.505,926,4.505,927,4.505,928,2.957,929,5.456,930,2.817,931,2.957,932,2.817,933,4.505,934,2.606,935,2.606,936,2.957,937,2.374,938,2.957,939,2.957,940,2.957,941,3.616,942,3.142,943,1.948,944,2.063,945,1.948,946,1.948,947,1.948,948,2.374,949,1.948,950,4.505,951,6.101,952,6.101,953,3.352,954,1.763,955,3.352,956,4.505,957,4.505,958,4.505,959,4.505,960,3.089,961,2.817,962,2.967,963,1.849,964,1.948,965,1.87,966,2.957,967,3.352,968,2.063,969,1.961,970,2.957,971,2.957,972,1.763,973,2.957,974,2.606,975,2.201,976,2.063,977,2.957]],["title/components/ContentComponent-1.html",[188,1.175,196,0.353,480,0.982]],["body/components/ContentComponent-1.html",[3,0.058,4,0.072,5,0.087,6,0.12,11,0.775,12,1.11,15,1.631,18,0.437,19,0.513,20,2.081,25,1.166,35,0.545,38,1.96,40,0.865,41,0.887,42,1.303,43,0.01,44,0.979,45,0.732,46,1.015,47,0.843,48,1.321,52,1.948,55,1.375,56,1.062,69,0.418,71,1.963,75,0.005,80,0.003,84,0.003,85,1.516,86,1.577,90,1.463,99,0.253,104,0.148,113,0.876,130,0.072,133,0.231,134,1.282,139,1.194,141,0.822,142,0.559,160,1.163,161,0.846,165,2.653,188,1.502,196,0.746,197,0.833,198,1.166,199,1.321,200,0.971,201,0.971,202,0.946,205,1.874,206,2.736,208,0.833,209,1.39,210,1.39,211,2.22,212,1.109,213,0.754,214,1.256,225,4.564,230,3.046,247,3.411,248,3.411,256,0.718,257,1.911,258,2.754,260,1.166,263,2.919,277,2.774,278,1.719,287,2.295,297,1.922,300,2.173,308,0.887,309,0.754,311,3.502,312,2.91,321,0.922,337,1.5,357,1.84,362,2.153,378,1.623,380,2.945,382,1.079,395,1.93,399,1.051,400,0.833,401,1.931,402,1.93,403,1.93,404,1.14,405,1.109,406,1.76,409,1.975,414,2.296,416,3.629,421,1.931,423,2.153,424,0.793,429,2.072,434,1.992,435,1.456,450,1.577,453,1.577,457,0.813,465,2.478,466,1.207,467,2.153,468,0.971,469,1.676,470,0.971,471,1.961,472,0.971,473,0.971,474,0.876,475,0.971,476,0.854,477,1.761,478,0.876,479,0.971,480,1.806,481,1.761,482,0.876,483,0.922,484,0.971,485,1.899,486,0.971,487,0.876,488,0.833,489,0.971,490,0.876,491,0.971,492,0.876,493,0.876,494,0.971,495,0.876,496,0.946,497,0.854,498,0.971,499,0.876,500,1.463,501,0.854,502,0.876,503,0.876,504,1.761,505,0.876,506,1.355,507,1.463,508,0.854,509,0.876,510,0.854,511,0.718,512,0.971,513,0.854,514,0.833,515,0.876,516,0.971,517,0.876,518,0.971,519,0.876,520,0.971,521,0.876,522,1.166,523,0.876,524,1.321,525,0.876,526,0.971,527,0.876,528,1.225,529,0.971,530,0.876,531,0.971,532,0.971,606,1.84,665,0.876,677,1.321,684,2.669,705,1.542,758,3.106,762,4.168,765,3.989,766,3.735,770,3.735,772,2.446,773,3.046,774,3.065,777,3.106,781,3.065,782,3.463,783,3.463,805,4.1,813,1.882,818,2.297,827,4.807,828,4.632,838,2.297,842,1.93,843,1.688,864,4.496,964,2.033,965,1.931,969,3.105,978,2.719,979,4.653,980,7.011,981,5.601,982,6.691,983,5.601,984,5.601,985,6.236,986,4.653,987,4.653,988,4.653,989,6.236,990,6.236,991,6.236,992,4.653,993,3.065,994,4.653,995,5.601,996,4.653,997,4.653,998,5.601,999,4.653,1000,4.653,1001,3.735,1002,3.087,1003,3.735,1004,3.735,1005,3.087,1006,3.087,1007,4.1,1008,3.735,1009,4.653,1010,4.976,1011,3.087,1012,4.653,1013,3.087,1014,3.246,1015,2.055,1016,4.653,1017,6.236,1018,2.297,1019,4.168,1020,2.478,1021,2.478,1022,3.087,1023,3.087,1024,3.087,1025,3.087,1026,3.087,1027,3.087,1028,3.087,1029,2.478,1030,4.653,1031,3.087,1032,4.653,1033,3.087,1034,1.688,1035,2.033,1036,3.087,1037,3.087,1038,3.087,1039,5.601,1040,3.087,1041,3.087,1042,4.653,1043,3.087,1044,3.087,1045,4.653,1046,3.087,1047,3.087,1048,3.087,1049,3.087,1050,2.719]],["title/interfaces/ContentContainerChanged.html",[129,0.292,1051,2.73]],["body/interfaces/ContentContainerChanged.html",[3,0.1,4,0.124,5,0.1,6,0.076,11,0.662,15,1.552,18,0.5,19,0.752,43,0.01,45,0.828,47,1.235,48,1.513,71,1.708,75,0.007,80,0.006,84,0.006,90,2.363,99,0.202,122,2.085,123,2.085,124,2.085,125,1.969,126,2.085,129,0.53,130,0.206,133,0.175,139,0.871,141,1.204,182,2.769,195,1.403,196,0.794,198,1.708,222,2.915,300,2.235,313,3.01,337,1.401,414,2.035,416,3.724,425,3.728,431,2.514,522,1.335,606,3.177,642,3.216,679,2.212,758,3.319,761,2.432,765,4.063,772,2.802,773,3.329,777,3.939,792,3.329,813,1.708,842,3.333,843,3.728,848,1.969,969,2.449,1010,4.261,1014,3.717,1034,2.915,1051,4.698,1052,3.333,1053,4.773,1054,4.754,1055,4.754,1056,4.948,1057,3.717,1058,4.261,1059,3.717,1060,4.516,1061,4.261,1062,4.754,1063,3.966,1064,3.966,1065,4.261,1066,4.261,1067,3.966,1068,3.717,1069,4.754,1070,3.717,1071,3.717,1072,4.109,1073,3.333,1074,3.333]],["title/modules/ContentModule.html",[533,1.271,540,3.045]],["body/modules/ContentModule.html",[3,0.116,4,0.145,5,0.116,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.77,309,1.83,326,1.804,424,1.592,457,1.632,480,2.444,524,1.759,535,1.759,536,2.179,540,6.29,547,2.354,548,1.759,550,2.547,552,2.416,556,2.294,562,3.107,563,2.424,735,2.547,736,2.69,737,2.109,740,5.221,741,4.322,817,4.974,1075,5.46,1076,5.46,1077,5.46,1078,5.46,1079,6.06,1080,6.06,1081,6.197,1082,7.485,1083,7.485,1084,4.322,1085,6.197,1086,4.081,1087,4.612,1088,6.197]],["title/modules/CoreModule.html",[533,1.271,541,3.045]],["body/modules/CoreModule.html",[3,0.115,4,0.144,5,0.115,6,0.087,43,0.01,46,1.118,75,0.008,80,0.007,84,0.007,99,0.335,104,0.296,130,0.144,133,0.203,141,1.09,212,0.928,213,1.508,326,1.796,327,4.59,424,1.584,533,2.173,535,1.751,536,2.173,541,6.287,547,2.347,548,1.751,552,2.409,556,2.287,601,4.59,639,3.123,640,3.123,735,2.099,745,6.054,830,5.434,1089,5.434,1090,5.434,1091,6.054,1092,6.054,1093,6.168,1094,7.464,1095,6.168,1096,5.206,1097,7.464,1098,6.168,1099,6.168,1100,6.168,1101,6.168,1102,6.168,1103,6.168,1104,6.168,1105,6.168,1106,4.59,1107,8.026,1108,6.168,1109,4.951,1110,6.168]],["title/interfaces/DefaultIconDefinition.html",[129,0.292,1111,3.249]],["body/interfaces/DefaultIconDefinition.html",[3,0.075,4,0.093,5,0.075,6,0.057,11,0.495,18,0.374,19,0.618,43,0.01,44,1.278,45,0.638,46,1.462,69,1.148,75,0.006,80,0.004,84,0.004,90,1.253,129,0.267,130,0.131,139,0.652,142,1.394,195,1.05,204,5.451,303,5.201,308,0.76,350,5.744,441,3.95,450,1.602,453,1.602,469,1.98,612,3.108,660,2.839,965,1.654,1111,4.827,1112,2.78,1113,3.199,1114,3.199,1115,2.072,1116,3.199,1117,3.512,1118,4.172,1119,3.986,1120,3.986,1121,3.512,1122,3.986,1123,3.986,1124,2.78,1125,3.512,1126,6.833,1127,4.172,1128,5.649,1129,3.692,1130,2.625,1131,3.199,1132,2.78,1133,3.512,1134,8.028,1135,3.512,1136,3.512,1137,3.512,1138,4.94,1139,3.512,1140,3.512,1141,3.512,1142,3.512,1143,3.512,1144,3.512,1145,6.2,1146,6.2,1147,6.534,1148,6.534,1149,3.199,1150,3.512,1151,4.637,1152,3.512,1153,3.512,1154,3.512,1155,4.501,1156,4.501,1157,4.94,1158,3.512,1159,3.512,1160,6.534,1161,3.512,1162,4.94,1163,2.966,1164,3.512,1165,3.512,1166,3.512,1167,3.512,1168,3.512,1169,6.2,1170,3.512,1171,3.512,1172,4.94,1173,3.512,1174,3.512,1175,3.199,1176,3.512,1177,3.512,1178,3.512,1179,3.512,1180,3.512,1181,4.94,1182,4.501,1183,3.199,1184,3.512,1185,3.199,1186,3.512,1187,3.512,1188,3.512,1189,3.512,1190,3.512,1191,6.2,1192,3.512,1193,3.512,1194,6.2,1195,3.199,1196,3.512,1197,2.78,1198,3.512,1199,3.512,1200,5.714,1201,3.512,1202,4.94,1203,3.512,1204,3.512,1205,3.512,1206,3.512]],["title/components/DetailsLabelComponent.html",[196,0.424,482,1.239]],["body/components/DetailsLabelComponent.html",[3,0.085,4,0.106,5,0.115,6,0.11,11,0.763,12,1.463,18,0.426,19,0.677,25,1.537,38,1.731,42,1.057,43,0.01,44,1.139,45,0.675,46,0.823,52,1.323,55,1.261,69,1.188,75,0.007,80,0.005,84,0.005,85,1.292,86,1.358,99,0.172,104,0.218,130,0.106,133,0.264,134,0.934,142,0.823,156,3.226,160,0.724,161,1.049,196,0.754,197,1.227,198,1.537,199,1.29,200,1.429,201,1.429,202,1.392,208,1.227,209,1.833,210,1.833,211,2.288,212,1.139,213,1.11,214,1.657,216,1.657,256,1.427,259,1.833,260,1.537,300,1.741,304,3.107,308,1.17,309,1.11,321,1.357,399,1.546,400,1.876,404,1.679,409,1.167,411,3.226,441,2.8,445,2.472,450,0.981,453,0.981,457,1.196,466,2.4,468,1.429,469,1.947,470,1.429,471,2.34,472,1.429,473,1.429,474,1.29,475,1.429,476,1.258,477,2.185,478,1.29,479,1.429,480,1.657,481,2.185,482,2.112,483,2.654,484,1.429,485,1.29,486,1.429,487,1.29,488,1.227,489,1.429,490,1.29,491,1.429,492,1.29,493,1.29,494,1.429,495,1.29,496,1.392,497,1.258,498,1.429,499,1.29,500,1.929,501,1.258,502,1.29,503,1.29,504,2.185,505,1.29,506,1.787,507,1.929,508,1.258,509,1.29,510,1.258,511,1.057,512,1.429,513,1.258,514,1.227,515,1.29,516,1.429,517,1.29,518,1.429,519,1.29,520,1.429,521,1.29,522,1.537,523,1.29,524,1.742,525,1.29,526,1.429,527,1.29,528,1.616,529,1.429,530,1.29,531,1.429,532,1.429,607,2.472,665,1.29,677,1.742,678,2.185,705,2.033,1207,6.238,1208,5.783,1209,4.003,1210,5.406,1211,5.406,1212,4.664,1213,7.44,1214,6.136,1215,7.44,1216,6.136,1217,6.948,1218,6.136,1219,6.136,1220,4.543,1221,6.136,1222,6.136,1223,4.543,1224,3.356,1225,6.136,1226,5.406,1227,7.44,1228,6.136,1229,6.136,1230,6.136,1231,4.543,1232,6.136,1233,2.841]],["title/modules/DetailsLabelModule.html",[533,1.271,1234,3.045]],["body/modules/DetailsLabelModule.html",[3,0.124,4,0.155,5,0.124,6,0.094,43,0.01,75,0.008,80,0.007,84,0.007,99,0.313,104,0.318,130,0.155,133,0.218,424,1.701,482,2.59,483,1.978,535,1.88,536,2.267,547,2.449,548,1.88,550,2.65,552,2.138,556,2.386,735,2.65,736,2.799,737,2.254,1207,5.316,1208,4.929,1234,6.212,1235,5.835,1236,5.835,1237,5.835,1238,6.623,1239,6.623]],["title/interfaces/DocumentationContent.html",[129,0.292,1240,3.505]],["body/interfaces/DocumentationContent.html",[3,0.147,4,0.156,5,0.125,6,0.095,8,2.867,11,0.833,18,0.629,19,0.865,43,0.01,45,0.711,69,1.197,75,0.008,80,0.007,84,0.007,129,0.449,130,0.156,195,1.764,416,3.785,717,5.53,1240,6.293,1241,5.902,1242,6.698,1243,4.188,1244,4.985,1245,5.751,1246,5.377,1247,3.82,1248,5.834]],["title/interfaces/DrawerContainersChanged.html",[129,0.292,1058,2.73]],["body/interfaces/DrawerContainersChanged.html",[3,0.099,4,0.123,5,0.099,6,0.075,11,0.657,15,1.539,18,0.496,19,0.748,43,0.01,45,0.829,47,1.229,48,1.501,71,1.699,75,0.007,80,0.006,84,0.006,90,2.132,99,0.2,122,2.068,123,2.068,124,2.068,125,1.954,126,2.068,129,0.529,130,0.206,133,0.174,139,0.865,141,0.934,182,2.761,195,1.392,196,0.766,198,1.875,222,2.892,300,2.249,313,2.995,337,1.394,414,2.025,416,3.379,425,3.708,431,2.494,522,1.325,606,3.152,642,3.204,679,2.814,758,3.306,761,2.412,765,4.867,772,2.78,773,3.312,777,3.935,792,3.312,813,1.699,842,3.306,843,3.708,848,2.505,969,2.437,1010,4.24,1014,4.729,1034,2.892,1051,4.24,1052,3.306,1053,4.763,1054,4.729,1055,4.729,1056,4.93,1057,3.688,1058,4.68,1059,4.729,1060,4.502,1061,4.24,1062,4.729,1063,3.935,1064,3.935,1065,4.24,1066,4.24,1067,3.935,1068,3.688,1069,4.729,1070,3.688,1071,3.688,1072,4.094,1073,3.306,1074,3.306]],["title/interfaces/DrawerInitialized.html",[129,0.292,1065,2.73]],["body/interfaces/DrawerInitialized.html",[3,0.101,4,0.125,5,0.101,6,0.076,11,0.667,15,1.563,18,0.504,19,0.755,43,0.01,45,0.829,47,1.241,48,1.524,71,1.715,75,0.007,80,0.006,84,0.006,90,2.153,99,0.203,122,2.1,123,2.1,124,2.1,125,1.983,126,2.1,129,0.532,130,0.206,133,0.177,139,0.878,141,0.948,182,2.636,195,1.413,196,0.732,198,1.715,222,2.936,300,2.246,313,3.024,337,1.407,414,2.045,416,3.398,425,3.744,431,2.532,522,1.345,606,3.2,642,3.226,679,2.228,758,3.33,761,2.449,765,4.081,772,2.822,773,3.344,777,3.943,792,3.344,813,1.715,842,3.356,843,3.744,848,1.983,969,2.46,1010,4.281,1014,3.744,1034,2.936,1051,4.281,1052,3.356,1053,4.782,1054,4.775,1055,4.775,1056,4.965,1057,3.744,1058,4.281,1059,3.744,1060,4.528,1061,4.281,1062,4.775,1063,5.095,1064,5.095,1065,4.714,1066,4.281,1067,3.995,1068,3.744,1069,4.775,1070,3.744,1071,3.744,1072,4.123,1073,3.356,1074,3.356]],["title/modules/DrawerModule.html",[533,1.271,542,3.045]],["body/modules/DrawerModule.html",[3,0.112,4,0.14,5,0.112,6,0.085,43,0.01,75,0.008,80,0.006,84,0.006,99,0.336,104,0.288,130,0.14,133,0.198,424,1.543,478,2.56,480,2.358,485,2.56,521,2.56,522,1.505,535,1.705,536,2.138,542,6.348,547,2.31,548,1.705,550,2.5,552,1.939,556,2.251,562,3.049,563,2.35,565,6.471,566,4.837,567,3.756,568,5.896,569,4.822,588,3.956,589,4.47,590,4.822,735,2.5,817,4.822,818,4.47,1057,4.19,1249,5.292,1250,5.292,1251,5.292,1252,6.007,1253,4.592,1254,4.592,1255,6.007,1256,4.822,1257,5.292]],["title/interfaces/DrawerToggled.html",[129,0.292,1066,2.73]],["body/interfaces/DrawerToggled.html",[3,0.096,4,0.12,5,0.096,6,0.073,11,0.639,15,1.938,18,0.482,19,0.734,43,0.01,45,0.831,47,1.207,48,1.89,71,2.077,75,0.007,80,0.005,84,0.005,90,2.093,99,0.194,122,2.01,123,2.01,124,2.01,125,1.899,126,2.01,129,0.523,130,0.205,133,0.169,139,0.84,141,0.908,182,2.731,195,1.353,196,0.717,198,1.668,222,3.641,300,2.262,313,2.94,337,1.704,414,2.476,416,3.343,425,4.534,431,3.141,522,1.668,606,3.063,642,3.16,679,2.133,758,3.262,761,2.344,765,3.968,772,3.5,773,3.251,777,3.921,792,3.251,813,1.957,842,3.213,843,3.641,848,1.899,969,2.979,1010,5.184,1014,3.584,1034,2.81,1051,4.162,1052,3.213,1053,4.614,1054,4.643,1055,4.643,1056,4.863,1057,3.584,1058,4.162,1059,3.584,1060,4.454,1061,4.162,1062,4.643,1063,3.824,1064,3.824,1065,4.162,1066,4.617,1067,4.954,1068,4.643,1069,4.643,1070,3.584,1071,3.584,1072,4.039,1073,3.213,1074,3.213]],["title/interfaces/ExtractionSet.html",[129,0.292,1258,2.388]],["body/interfaces/ExtractionSet.html",[3,0.12,4,0.149,5,0.12,6,0.091,11,0.795,18,0.601,19,0.841,43,0.01,44,1.218,45,0.74,46,1.383,69,1.185,75,0.008,80,0.007,84,0.007,99,0.242,129,0.429,130,0.149,142,1.587,195,1.685,299,3.295,488,2.407,528,1.685,686,4.549,891,3.727,1258,4.173,1259,5.638,1260,5.638,1261,6.22,1262,7.63,1263,4.439,1264,7.63,1265,3.5]],["title/components/ExtractionSetDropdownComponent.html",[196,0.424,487,1.239]],["body/components/ExtractionSetDropdownComponent.html",[3,0.07,4,0.087,5,0.1,6,0.114,11,0.776,12,1.272,18,0.349,19,0.588,25,1.337,35,0.657,38,1.843,40,0.992,41,1.017,42,1.241,43,0.01,44,1.103,45,0.703,46,0.967,47,0.967,52,1.082,55,1.283,56,0.806,69,0.503,75,0.006,80,0.004,84,0.004,85,0.992,86,1.412,99,0.236,104,0.178,130,0.087,133,0.247,134,0.764,141,0.657,142,1.666,160,0.85,161,1.091,188,1.2,196,0.701,197,1.004,198,1.337,199,1.055,200,1.169,201,1.169,202,1.139,208,1.004,209,1.593,210,1.593,211,2.255,212,1.125,213,0.909,214,1.44,216,1.44,256,0.865,257,1.139,259,1.593,260,1.337,297,1.405,300,1.564,304,2.702,308,1.017,309,0.909,321,1.11,337,1.097,399,1.265,401,1.543,404,1.373,409,0.955,410,2.702,413,1.816,414,1.864,418,2.357,419,4.353,427,2.284,428,3.413,429,1.055,432,3.181,449,3.281,450,1.152,453,0.803,457,0.979,458,3.721,464,1.882,468,1.169,469,1.809,470,1.169,471,2.145,472,1.169,473,1.169,474,1.055,475,1.169,476,1.029,477,1.963,478,1.055,479,1.169,480,1.44,481,1.963,482,1.055,483,1.11,484,1.169,485,1.055,486,1.169,487,1.936,488,2.446,489,1.169,490,1.055,491,1.169,492,1.055,493,1.055,494,1.169,495,1.055,496,1.139,497,1.029,498,1.169,499,1.055,500,1.678,501,1.029,502,1.055,503,1.055,504,1.963,505,1.055,506,1.553,507,1.678,508,1.029,509,1.055,510,1.029,511,0.865,512,1.169,513,1.029,514,1.004,515,1.055,516,1.169,517,1.055,518,1.169,519,1.055,520,1.169,521,1.055,522,1.337,523,1.055,524,1.515,525,1.055,526,1.169,527,1.055,528,1.405,529,1.169,530,1.055,531,1.169,532,1.169,561,3.73,596,1.497,607,2.149,664,2.59,665,1.055,666,2.215,667,2.668,668,1.413,669,1.373,670,2.306,677,1.515,678,1.963,683,2.441,704,2.606,705,1.768,706,1.954,720,2.216,726,3.721,727,2.324,785,3.42,813,1.337,969,1.917,1245,2.448,1258,4.333,1266,6.475,1267,6.003,1268,3.275,1269,7.213,1270,3.721,1271,6.241,1272,5.335,1273,4.94,1274,5.335,1275,6.82,1276,6.241,1277,5.335,1278,3.717,1279,3.559,1280,3.717,1281,3.331,1282,2.702,1283,5.335,1284,5.335,1285,3.717,1286,3.717,1287,4.283,1288,4.757,1289,4.492,1290,3.181,1291,3.717,1292,3.717,1293,3.717,1294,3.717,1295,3.717,1296,3.717,1297,3.717,1298,5.335,1299,5.335,1300,5.335,1301,3.559,1302,3.559,1303,2.448,1304,2.766,1305,2.984,1306,3.275,1307,3.717,1308,5.335,1309,2.766,1310,3.717,1311,3.717,1312,3.19,1313,5.475,1314,3.717,1315,2.324,1316,3.717,1317,3.717,1318,2.984,1319,3.275,1320,2.766]],["title/modules/ExtractionSetDropdownModule.html",[533,1.271,1321,3.045]],["body/modules/ExtractionSetDropdownModule.html",[3,0.123,4,0.153,5,0.123,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.216,142,1.492,424,1.682,487,2.587,488,1.768,535,1.859,536,2.252,547,2.433,548,1.859,550,2.633,552,2.114,556,2.371,735,2.633,736,2.78,737,2.229,1266,5.257,1267,4.874,1321,6.199,1322,5.77,1323,5.77,1324,5.77,1325,6.549,1326,6.816,1327,5.77,1328,6.549]],["title/interfaces/GlobalConfig.html",[129,0.292,245,1.569]],["body/interfaces/GlobalConfig.html",[3,0.1,4,0.125,5,0.1,6,0.076,14,3.896,18,0.502,19,0.754,43,0.01,44,0.745,45,0.822,46,1.667,56,1.032,69,1.221,75,0.007,80,0.006,82,4.766,84,0.006,99,0.285,104,0.257,113,1.519,129,0.358,130,0.176,134,1.1,139,0.875,141,0.946,195,1.409,212,0.665,219,4.17,220,5.223,221,5.223,224,4.959,226,4.522,245,2.85,299,2.93,326,1.558,333,2.789,334,3.592,335,3.592,337,1.826,359,1.598,450,1.156,453,1.156,466,3.332,608,4.959,609,5.223,610,6.366,611,6.988,612,3.503,613,6.988,614,5.902,747,4.766,748,3.982,1015,2.364,1115,1.977,1149,4.296,1151,3.346,1155,4.296,1156,4.296,1185,4.296,1329,3.982,1330,4.707,1331,6.366,1332,4.272,1333,3.982,1334,2.927,1335,3.052,1336,3.052,1337,5.351,1338,4.296,1339,2.442,1340,4.715,1341,5.351]],["title/components/HeaderComponent.html",[196,0.424,490,1.239]],["body/components/HeaderComponent.html",[3,0.082,4,0.102,5,0.112,6,0.112,11,0.744,12,1.428,18,0.411,19,0.66,23,3.082,35,0.774,38,1.785,40,1.113,41,1.142,42,1.019,43,0.01,44,1.129,45,0.696,46,0.794,52,1.276,69,1.039,75,0.006,76,2.825,80,0.005,84,0.005,85,1.113,86,1.171,91,2.634,99,0.227,104,0.21,130,0.102,133,0.261,142,0.794,160,0.698,161,1.03,188,1.414,196,0.745,197,1.183,198,1.5,199,1.244,200,1.378,201,1.378,202,1.343,208,1.183,209,1.788,210,1.788,211,2.282,212,1.137,213,1.071,214,1.616,216,1.616,219,4.453,220,4.492,221,4.492,256,1.019,259,2.037,260,1.5,278,1.619,300,1.709,308,1.142,309,1.071,321,1.309,332,2.499,359,1.788,399,1.491,400,1.979,401,3.185,404,2.835,405,2.151,408,3.112,409,1.971,411,2.304,413,2.14,414,2.189,421,1.819,427,2.919,429,2.081,434,3.137,436,1.875,437,1.875,441,1.999,444,3.344,445,2.952,446,3.943,448,2.825,449,3.148,450,0.946,453,0.946,457,1.154,461,3.031,468,1.378,469,1.923,470,1.378,471,2.305,472,1.378,473,1.378,474,1.244,475,1.378,476,1.213,477,2.145,478,1.244,479,1.378,480,1.616,481,2.145,482,1.244,483,1.309,484,1.378,485,1.244,486,1.378,487,1.244,488,1.183,489,1.378,490,2.081,491,1.378,492,1.244,493,1.244,494,1.378,495,1.244,496,1.343,497,1.213,498,1.378,499,1.244,500,1.883,501,1.213,502,1.244,503,1.244,504,2.145,505,1.244,506,1.743,507,1.883,508,1.213,509,1.244,510,1.213,511,1.019,512,1.378,513,1.213,514,1.183,515,1.244,516,1.378,517,1.244,518,1.378,519,1.244,520,1.378,521,1.244,522,1.5,523,1.244,524,1.7,525,1.244,526,1.378,527,1.244,528,1.576,529,1.378,530,1.244,531,1.378,532,1.378,607,2.412,665,1.244,677,1.7,678,2.145,705,1.984,718,2.396,722,2.304,728,2.886,729,2.886,824,3.86,963,2.74,968,3.056,969,1.575,1019,3.261,1059,3.056,1130,2.886,1226,3.86,1233,4.264,1246,3.517,1320,3.261,1342,3.86,1343,6.82,1344,5.987,1345,3.517,1346,5.987,1347,4.382,1348,5.987,1349,4.382,1350,5.987,1351,4.806,1352,3.517,1353,3.261,1354,3.743,1355,3.056,1356,4.382,1357,3.86,1358,4.382,1359,4.382,1360,4.382,1361,2.886,1362,4.382,1363,4.382,1364,3.86,1365,3.517,1366,4.382,1367,4.382,1368,3.056,1369,5.987]],["title/modules/HeaderModule.html",[533,1.271,543,3.045]],["body/modules/HeaderModule.html",[3,0.123,4,0.153,5,0.123,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.314,130,0.153,133,0.216,424,1.682,490,2.587,535,1.859,536,2.252,543,6.199,547,2.433,548,1.859,550,2.633,552,2.114,556,2.371,562,3.211,563,2.562,735,2.633,736,2.78,737,2.229,742,4.231,743,3.582,1370,5.77,1371,5.77,1372,5.77,1373,6.549,1374,6.549]],["title/interfaces/IconDefinition.html",[129,0.292,1375,3.249]],["body/interfaces/IconDefinition.html",[0,1.697,3,0.079,4,0.098,5,0.079,6,0.06,11,0.524,15,2.099,16,1.602,18,0.396,19,0.643,20,1.961,29,1.804,40,0.783,41,0.803,43,0.01,44,1.201,45,0.654,46,1.505,47,0.764,48,1.897,53,2.951,55,1.482,56,0.88,60,2.939,69,1.086,75,0.006,80,0.004,84,0.004,85,1.084,86,0.824,99,0.314,104,0.202,106,2.495,107,2.348,108,1.804,109,1.804,110,1.697,129,0.282,130,0.136,133,0.139,134,1.727,139,1.337,141,1.03,142,1.419,160,1.247,161,0.88,162,1.804,195,1.11,212,0.524,245,2.095,246,2.348,250,2.939,287,2.462,297,1.76,308,1.375,326,1.227,337,1.198,350,5.309,441,4.107,469,2.127,563,1.648,566,2.775,567,2.635,608,3.645,612,3.613,642,2.86,660,2.951,848,2.469,888,4.316,896,3.645,960,3.383,1106,3.136,1109,3.383,1112,2.939,1115,2.154,1116,6.566,1126,6.372,1127,5.633,1128,5.788,1129,3.839,1130,5.156,1132,4.065,1212,2.305,1312,2.575,1361,2.775,1375,5.826,1376,3.136,1377,3.383,1378,4.338,1379,6.352,1380,6.352,1381,5.887,1382,5.136,1383,5.136,1384,2.058,1385,3.713,1386,3.713,1387,2.775,1388,6.897,1389,5.136,1390,3.713,1391,3.713,1392,3.645,1393,3.713,1394,3.713,1395,3.713,1396,3.713,1397,3.713,1398,5.887,1399,3.713,1400,3.713,1401,3.713,1402,3.713,1403,3.713,1404,3.713,1405,3.713,1406,3.713,1407,5.136,1408,3.713,1409,3.713,1410,3.136,1411,5.136,1412,3.713,1413,3.713,1414,3.713,1415,3.713,1416,3.713,1417,5.136,1418,3.713,1419,3.713,1420,3.383,1421,3.713,1422,3.713,1423,3.713,1424,5.887,1425,3.713,1426,3.383,1427,3.713,1428,3.713,1429,3.713,1430,4.679,1431,3.713,1432,3.713,1433,3.713,1434,3.713,1435,3.713,1436,3.713,1437,3.713,1438,3.713,1439,3.136,1440,3.713,1441,3.713]],["title/injectables/IconRegistryState.html",[0,1.271,1387,2.875]],["body/injectables/IconRegistryState.html",[0,1.588,2,2.186,3,0.072,4,0.09,5,0.072,6,0.111,11,0.86,15,2.211,16,2.073,18,0.36,20,2.11,25,1.366,29,2.96,35,0.677,38,1.767,40,1.014,41,1.04,42,1.7,43,0.01,44,1.198,45,0.663,46,1.377,47,0.988,48,2.156,52,1.116,53,3.214,55,1.67,56,0.959,60,3.804,69,0.936,75,0.006,80,0.004,84,0.004,85,1.18,86,0.749,99,0.307,104,0.184,106,2.334,107,2.197,108,1.64,109,1.64,110,1.544,129,0.257,130,0.127,133,0.126,134,1.694,139,1.306,141,0.677,142,1.151,160,1.21,161,0.824,162,1.64,212,0.476,245,2.485,246,2.786,250,3.804,287,2.511,297,1.924,308,1.523,326,1.116,337,1.421,350,4.886,441,4.081,469,2.001,563,1.499,566,2.524,567,2.397,608,3.41,612,3.589,642,2.717,660,1.941,848,2.346,888,4.554,896,4.324,960,3.7,1106,2.852,1109,4.378,1112,5.45,1115,1.416,1116,6.523,1126,5.943,1127,5.147,1128,4.378,1129,2.524,1130,5.002,1132,3.804,1212,2.983,1312,3.055,1361,3.592,1375,6.32,1376,5.815,1377,3.077,1378,2.852,1379,4.805,1380,4.805,1381,6.691,1382,6.093,1383,5.593,1384,1.872,1385,4.805,1386,3.377,1387,3.592,1388,7.261,1389,6.093,1390,4.805,1391,4.805,1392,4.324,1393,3.377,1394,3.377,1395,3.377,1396,3.377,1397,3.377,1398,5.593,1399,3.377,1400,3.377,1401,3.377,1402,3.377,1403,3.377,1404,3.377,1405,3.377,1406,3.377,1407,4.805,1408,3.377,1409,3.377,1410,4.059,1411,6.093,1412,4.805,1413,3.377,1414,4.805,1415,6.093,1416,4.805,1417,4.805,1418,3.377,1419,3.377,1420,3.077,1421,3.377,1422,3.377,1423,3.377,1424,5.593,1425,3.377,1426,3.077,1427,3.377,1428,3.377,1429,3.377,1430,5.551,1431,5.593,1432,3.377,1433,3.377,1434,3.377,1435,3.377,1436,3.377,1437,3.377,1438,4.805,1439,4.059,1440,5.593,1441,3.377,1442,5.454,1443,3.833,1444,3.833,1445,3.833,1446,3.833,1447,3.833,1448,3.833,1449,3.833,1450,3.833,1451,3.833]],["title/classes/InitializationState.html",[133,0.144,1452,3.505]],["body/classes/InitializationState.html",[3,0.05,4,0.062,5,0.05,6,0.098,11,0.329,15,2.437,18,0.248,19,0.456,20,2.154,25,1.035,38,1.538,40,0.492,41,0.504,42,0.961,43,0.01,45,0.6,47,0.479,48,1.173,55,1.359,56,1.206,65,1.132,71,1.035,75,0.004,80,0.003,84,0.003,85,1.069,86,1.22,90,1.299,99,0.236,104,0.127,113,0.751,122,2.249,123,2.249,124,1.989,125,2.124,126,1.989,130,0.062,133,0.167,134,1.699,139,1.229,141,1.221,142,1.388,160,1.1,161,0.868,182,0.925,196,0.642,198,0.663,200,0.831,205,1.065,206,2.018,209,0.79,210,0.79,211,0.663,212,0.514,214,0.714,216,0.714,222,4.366,225,3.18,230,1.292,244,2.356,247,2.26,248,2.26,257,1.762,258,1.825,259,1.717,260,1.731,263,2.387,277,1.576,278,0.977,281,2.356,283,2.463,287,2.248,297,2.016,300,2.196,306,1.844,310,4.019,311,2.584,312,1.653,321,0.79,322,1.741,337,1.599,357,1.576,378,1.39,380,1.39,395,1.653,413,1.292,414,2.409,417,2.463,421,1.715,423,2.882,424,1.061,425,4.314,429,2.239,430,2.721,435,1.248,439,2.123,440,2.123,450,0.893,453,0.893,459,2.721,466,1.989,467,4.01,469,1.035,485,1.444,522,0.663,606,3.719,642,1.132,664,1.098,665,0.751,666,2.868,677,0.751,686,1.576,720,1.576,755,3.317,756,2.33,758,2.247,761,2.321,762,1.968,767,2.123,770,2.123,773,2.018,774,1.741,777,2.247,779,2.33,781,1.741,783,1.968,785,1.825,792,2.018,794,1.741,810,3.641,813,1.731,827,4.708,828,4.708,835,1.741,836,2.123,837,2.33,838,1.968,841,3.641,969,2.898,980,2.33,1001,2.123,1004,2.123,1010,4.788,1015,1.168,1018,1.968,1019,5.142,1020,2.123,1021,2.123,1029,2.123,1034,2.26,1035,1.741,1061,1.653,1073,3.18,1074,3.18,1115,1.527,1124,1.844,1282,2.575,1452,4.083,1453,2.123,1454,1.968,1455,4.132,1456,5.086,1457,6.909,1458,5.75,1459,4.616,1460,5.75,1461,4.132,1462,5.086,1463,2.644,1464,6.147,1465,4.083,1466,2.644,1467,2.644,1468,2.644,1469,2.644,1470,4.135,1471,3.317,1472,2.644,1473,5.086,1474,2.644,1475,2.644,1476,2.33,1477,4.481,1478,6.087,1479,4.481,1480,4.481,1481,5.826,1482,4.481,1483,5.496,1484,3.641,1485,4.481,1486,4.083,1487,5.496,1488,4.616,1489,3.641,1490,5.066,1491,4.132,1492,2.644,1493,2.644,1494,2.644,1495,2.644,1496,2.644,1497,2.644,1498,2.644,1499,2.644,1500,2.644,1501,4.132,1502,2.644,1503,4.132,1504,2.644,1505,2.644,1506,2.644,1507,2.33,1508,6.238,1509,2.644,1510,2.644,1511,2.644,1512,4.481,1513,2.33,1514,3.641,1515,4.132,1516,2.644,1517,5.75,1518,2.123,1519,4.132,1520,2.644,1521,2.644,1522,2.644,1523,5.086,1524,2.644,1525,2.644,1526,2.644,1527,3.18,1528,2.644,1529,5.086,1530,2.644,1531,1.741,1532,2.644,1533,3.641,1534,2.644,1535,2.644,1536,2.644,1537,6.613,1538,4.132,1539,5.75,1540,4.132,1541,3.641,1542,2.644,1543,5.086,1544,4.132,1545,2.123,1546,2.644,1547,2.644,1548,2.644,1549,4.132,1550,4.132,1551,2.644,1552,2.644,1553,5.086,1554,2.644,1555,2.644,1556,2.644,1557,2.644,1558,4.132,1559,2.644,1560,2.644,1561,1.968,1562,1.968,1563,2.644,1564,1.653,1565,2.644,1566,2.644,1567,5.066,1568,5.086,1569,5.75,1570,4.132,1571,4.132,1572,2.644,1573,2.644,1574,2.644,1575,2.644,1576,2.644,1577,2.644,1578,2.644,1579,6.613,1580,2.882,1581,4.132,1582,2.644,1583,2.644,1584,2.644,1585,2.644,1586,2.644,1587,2.644,1588,2.644,1589,1.844,1590,2.644,1591,2.644,1592,1.844,1593,2.644,1594,2.644,1595,4.132,1596,2.644,1597,2.644,1598,2.644,1599,2.644,1600,2.644,1601,2.644,1602,4.132,1603,5.086,1604,2.644,1605,2.644,1606,4.132,1607,2.644,1608,2.644,1609,2.644,1610,2.644,1611,2.644,1612,2.33,1613,3.032,1614,2.644,1615,2.644,1616,2.644]],["title/components/JsonFileReaderComponent.html",[196,0.424,492,1.239]],["body/components/JsonFileReaderComponent.html",[3,0.073,4,0.091,5,0.171,6,0.116,11,0.685,12,1.313,18,0.365,19,0.607,25,1.38,35,0.687,38,1.865,40,1.024,41,1.05,42,1.281,43,0.01,44,1.116,45,0.712,46,0.998,47,0.998,48,2.166,52,1.603,55,1.132,56,1.051,69,0.866,75,0.006,80,0.004,84,0.004,85,1.189,86,1.251,99,0.208,104,0.187,130,0.091,133,0.251,134,0.799,139,1.201,141,0.973,142,0.704,156,3.16,160,0.877,161,1.11,196,0.713,197,1.049,198,1.38,199,1.103,200,1.222,201,1.222,202,1.191,208,1.049,211,2.263,212,1.128,213,0.95,214,1.487,216,1.487,244,3.648,251,2.559,253,2.559,256,0.904,259,2.394,260,1.744,263,3.167,300,1.603,308,1.05,309,0.95,399,1.323,404,1.436,405,1.397,408,1.773,409,0.998,414,1.161,421,1.613,431,3.466,436,1.663,437,1.663,450,0.839,453,0.839,457,1.023,468,1.222,469,1.841,470,1.222,471,2.188,472,1.222,473,1.222,474,1.103,475,1.222,476,1.076,477,2.012,478,1.103,479,1.222,480,1.487,481,2.012,482,1.103,483,1.161,484,1.222,485,1.103,486,1.222,487,1.103,488,1.049,489,1.222,490,1.103,491,1.222,492,1.975,493,2.511,494,1.222,495,1.103,496,1.191,497,1.076,498,1.222,499,1.103,500,1.732,501,1.076,502,1.103,503,1.103,504,2.012,505,1.103,506,1.603,507,1.732,508,1.076,509,1.103,510,1.076,511,0.904,512,1.222,513,1.076,514,1.049,515,1.103,516,1.222,517,1.103,518,1.222,519,1.103,520,1.222,521,1.103,522,1.38,523,1.103,524,1.563,525,1.103,526,1.222,527,1.103,528,1.45,529,1.222,530,1.103,531,1.222,532,1.222,596,1.565,607,2.218,642,1.663,646,3.12,664,2.655,665,1.103,666,2.286,667,2.722,668,1.477,669,1.436,670,2.364,677,1.563,678,2.012,683,2.502,685,4,691,2.711,693,2.43,704,2.69,705,1.825,706,2.043,718,2.126,722,2.043,888,3.141,915,4.852,1020,5.586,1115,2.571,1211,4.852,1233,2.43,1281,3.399,1617,6.544,1618,6.067,1619,3.424,1620,8.015,1621,6.397,1622,5.507,1623,6.397,1624,5.507,1625,6.959,1626,6.397,1627,5.507,1628,6.472,1629,3.886,1630,3.627,1631,5.507,1632,4.852,1633,4.852,1634,5.507,1635,5.507,1636,3.886,1637,5.507,1638,3.886,1639,5.507,1640,4.583,1641,4.852,1642,3.841,1643,4.852,1644,5.507,1645,3.886,1646,5.507,1647,3.12,1648,3.886,1649,3.886,1650,3.886,1651,3.886,1652,3.886,1653,5.507,1654,3.886,1655,3.886,1656,3.886,1657,5.507,1658,3.886,1659,3.886,1660,3.886]],["title/modules/JsonFileReaderModule.html",[533,1.271,1661,3.045]],["body/modules/JsonFileReaderModule.html",[3,0.122,4,0.153,5,0.159,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.678,492,2.586,493,1.855,535,1.855,536,2.249,547,2.429,548,1.855,550,2.629,552,2.109,556,2.367,735,2.629,736,2.776,737,2.224,1617,5.244,1618,4.862,1661,6.196,1662,5.756,1663,5.756,1664,5.756,1665,6.533,1666,6.533,1667,5.388,1668,4.557]],["title/components/LabeledSlideToggleComponent.html",[196,0.424,495,1.239]],["body/components/LabeledSlideToggleComponent.html",[3,0.072,4,0.09,5,0.103,6,0.117,11,0.792,12,1.307,15,1.596,18,0.362,19,0.605,25,1.373,32,2.776,35,0.682,38,1.894,40,1.019,41,1.045,42,1.275,43,0.01,44,1.114,45,0.726,46,0.994,47,0.994,52,1.124,55,1.127,56,0.828,69,1.031,75,0.006,80,0.004,84,0.004,85,1.362,86,1.649,99,0.207,104,0.185,130,0.09,133,0.251,134,0.794,139,0.631,141,0.682,142,0.7,156,1.555,160,0.873,161,1.107,196,0.76,197,1.042,198,1.373,199,1.096,200,1.214,201,1.214,202,1.183,208,1.042,209,1.637,210,1.637,211,2.262,212,1.128,213,0.944,214,1.48,216,1.48,256,0.898,259,2.274,260,1.373,287,1.724,300,1.597,308,1.045,309,0.944,321,1.153,337,1.565,399,1.314,409,0.992,410,1.955,411,2.03,421,1.602,429,1.096,436,2.346,437,1.652,450,1.783,453,1.377,457,1.017,468,1.214,469,1.836,470,1.214,471,2.182,472,1.214,473,1.214,474,1.096,475,1.214,476,1.069,477,2.004,478,1.096,479,1.214,480,1.48,481,2.004,482,1.096,483,1.153,484,1.214,485,1.096,486,1.214,487,1.096,488,1.042,489,1.214,490,1.096,491,1.214,492,1.096,493,1.096,494,1.214,495,1.97,496,2.624,497,2.512,498,1.214,499,1.096,500,1.724,501,1.069,502,1.096,503,1.096,504,2.004,505,1.096,506,1.596,507,1.724,508,1.069,509,1.096,510,1.069,511,0.898,512,1.214,513,1.069,514,1.042,515,1.096,516,1.214,517,1.096,518,1.214,519,1.096,520,1.214,521,1.096,522,2.191,523,1.096,524,1.556,525,1.096,526,1.214,527,1.096,528,1.443,529,1.214,530,1.096,531,1.214,532,1.214,596,1.555,607,2.208,664,2.646,665,1.096,666,2.275,667,2.714,668,1.467,669,1.427,670,2.355,677,1.556,678,2.004,683,2.493,684,2.346,704,2.677,705,1.817,706,2.03,722,2.03,813,1.373,965,1.602,969,1.387,1034,2.998,1273,4.538,1279,3.126,1281,3.389,1282,2.776,1287,4.4,1290,4.136,1669,6.626,1670,5.436,1671,3.099,1672,5.482,1673,4.341,1674,5.616,1675,4.83,1676,5.482,1677,5.31,1678,6.938,1679,6.374,1680,5.482,1681,3.402,1682,3.861,1683,4.83,1684,5.882,1685,3.402,1686,5.482,1687,6.707,1688,5.482,1689,5.482,1690,3.861,1691,5.482,1692,5.482,1693,3.861,1694,3.861,1695,5.482,1696,5.482,1697,3.861,1698,3.861,1699,3.861,1700,3.861,1701,3.861,1702,3.861,1703,3.402,1704,3.099,1705,3.861]],["title/modules/LabeledSlideToggleModule.html",[533,1.271,1706,2.73]],["body/modules/LabeledSlideToggleModule.html",[3,0.122,4,0.153,5,0.122,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.68,495,2.587,496,2.004,497,2.278,522,1.639,535,1.857,536,2.251,547,2.431,548,1.857,550,2.631,552,2.111,556,2.369,735,2.631,736,2.778,737,2.226,1669,5.251,1670,4.308,1706,5.555,1707,5.763,1708,5.763,1709,5.763,1710,5.763,1711,6.811,1712,5.763,1713,5.763]],["title/components/LeftSidebarComponent.html",[196,0.424,499,1.239]],["body/components/LeftSidebarComponent.html",[3,0.049,4,0.061,5,0.077,6,0.117,11,0.82,12,0.98,15,1.92,18,0.386,19,0.453,22,1.679,23,1.563,25,1.03,35,0.726,38,1.907,42,1.534,43,0.01,44,1.081,45,0.705,46,1.195,52,0.765,55,1.278,56,1.133,69,0.966,75,0.004,76,1.239,80,0.003,84,0.003,85,1.421,86,1.495,88,2.241,91,2.059,96,1.925,99,0.277,104,0.126,112,2.663,113,0.746,114,1.16,115,0.894,128,1.876,130,0.061,133,0.217,141,0.726,142,1.127,156,2.505,160,0.991,161,1.247,185,3.533,188,0.848,196,0.492,197,0.709,198,1.03,199,0.746,200,0.826,201,0.826,202,0.805,208,0.709,209,1.228,210,1.228,211,2.19,212,1.097,213,0.642,214,1.11,216,1.11,219,2.162,223,3.533,256,0.956,257,0.805,259,1.513,260,1.03,263,2.378,287,2.074,297,1.083,299,2.117,300,1.269,301,2.77,307,2.162,308,1.502,309,1.238,310,2.249,313,1.16,321,0.785,331,2.451,332,1.498,333,1.399,337,1.278,353,4.011,382,0.919,387,0.999,399,0.894,400,1.78,401,2.581,402,1.643,403,1.643,404,2.547,405,1.82,406,1.498,408,3.009,409,1.301,410,2.082,413,2.474,414,1.97,416,1.76,418,2.747,427,2.168,428,1.437,429,1.626,432,1.566,433,1.566,434,2.452,435,1.239,442,3.012,444,2.311,445,2.308,448,2.39,449,2.162,450,1.796,451,1.283,453,1.238,457,1.334,459,1.73,461,2.901,464,1.33,467,2.868,468,0.826,469,1.558,470,0.826,471,1.802,472,0.826,473,0.826,474,0.746,475,0.826,476,0.727,477,1.593,478,0.746,479,0.826,480,1.11,481,1.593,482,0.746,483,0.785,484,0.826,485,0.746,486,0.826,487,0.746,488,1.861,489,0.826,490,0.746,491,0.826,492,0.746,493,1.765,494,0.826,495,0.746,496,0.805,497,0.727,498,0.826,499,1.626,500,1.293,501,0.727,502,0.746,503,0.746,504,1.593,505,0.746,506,1.197,507,1.293,508,0.727,509,0.746,510,0.727,511,0.611,512,0.826,513,0.727,514,0.709,515,0.746,516,0.826,517,0.746,518,0.826,519,0.746,520,0.826,521,0.746,522,1.652,523,0.746,524,1.167,525,0.746,526,0.826,527,0.746,528,1.737,529,0.826,530,0.746,531,0.826,532,0.826,580,6.146,607,1.656,621,3.773,635,2.008,636,1.33,665,0.746,677,1.167,678,1.593,684,2.452,705,1.362,715,1.832,717,1.643,718,3.134,719,2.868,727,2.571,728,1.73,729,1.73,785,2.913,813,1.03,843,2.249,848,2.772,860,3.06,875,3.012,888,2.344,932,2.571,937,2.109,963,1.643,965,2.737,968,1.832,969,2.564,1015,3.431,1124,2.868,1197,1.832,1224,2.249,1233,1.643,1245,3.336,1263,3.944,1265,2.77,1273,3.416,1282,2.082,1301,2.344,1302,2.344,1303,1.73,1304,1.955,1312,2.747,1315,2.571,1320,1.955,1334,4.359,1335,3.761,1336,4.182,1345,2.109,1351,4.599,1352,2.109,1353,1.955,1633,3.622,1641,3.622,1642,1.832,1673,3.546,1714,6.629,1715,2.109,1716,6.285,1717,4.463,1718,3.622,1719,5.065,1720,6.219,1721,4.463,1722,5.065,1723,4.463,1724,5.065,1725,3.622,1726,4.111,1727,4.111,1728,4.111,1729,4.111,1730,5.065,1731,4.463,1732,4.111,1733,2.627,1734,2.627,1735,4.111,1736,3.622,1737,2.627,1738,4.111,1739,6.595,1740,4.628,1741,2.627,1742,4.111,1743,2.627,1744,3.622,1745,3.416,1746,2.868,1747,4.599,1748,3.77,1749,4.096,1750,3.996,1751,4.111,1752,2.627,1753,6.219,1754,4.111,1755,4.111,1756,4.111,1757,4.111,1758,2.627,1759,4.111,1760,4.111,1761,3.06,1762,4.111,1763,4.111,1764,4.111,1765,4.111,1766,4.111,1767,4.111,1768,2.627,1769,2.627,1770,3.622,1771,4.599,1772,4.599,1773,3.622,1774,4.111,1775,4.111,1776,2.627,1777,2.627,1778,4.111,1779,3.622,1780,3.622,1781,2.627,1782,4.111,1783,4.111,1784,2.627,1785,2.315,1786,2.627,1787,4.111,1788,2.627,1789,2.627,1790,2.627,1791,4.111,1792,2.627,1793,2.627,1794,3.3,1795,2.77,1796,3.622,1797,3.622,1798,3.622,1799,3.3,1800,2.109,1801,2.315,1802,1.955,1803,6.285,1804,3.06,1805,2.109,1806,2.627,1807,4.111,1808,2.315,1809,2.315,1810,2.627,1811,2.627]],["title/modules/LeftSidebarModule.html",[533,1.271,544,3.045]],["body/modules/LeftSidebarModule.html",[3,0.104,4,0.13,5,0.144,6,0.079,43,0.01,75,0.007,80,0.006,84,0.006,99,0.342,104,0.267,130,0.13,133,0.183,142,1.27,212,0.692,326,1.62,424,1.429,450,1.202,497,1.939,499,2.535,535,1.58,536,2.039,544,6.397,547,2.203,548,1.58,550,2.384,552,2.261,556,2.146,562,2.907,563,2.177,580,4.142,735,2.384,736,2.517,737,1.894,742,3.831,743,3.044,1208,4.142,1234,5.904,1267,4.142,1321,5.904,1618,4.142,1661,5.904,1670,3.665,1706,5.293,1714,4.467,1812,4.903,1813,4.903,1814,4.903,1815,4.903,1816,5.575,1817,5.904,1818,6.116,1819,4.903,1820,6.172,1821,4.903,1822,5.623,1823,4.467,1824,5.565,1825,5.565,1826,5.565,1827,5.565,1828,4.467,1829,5.623,1830,4.903,1831,3.665,1832,4.467,1833,6.172,1834,7.005,1835,4.142,1836,5.565,1837,4.142,1838,4.903,1839,5.565,1840,5.565]],["title/interfaces/Message.html",[129,0.292,777,1.928]],["body/interfaces/Message.html",[0,1.728,3,0.081,4,0.206,5,0.081,6,0.061,11,0.538,18,0.406,19,0.655,20,1.977,35,0.765,40,1.26,41,0.825,43,0.01,45,0.693,46,1.076,47,1.492,48,1.229,55,1.57,56,0.897,71,1.914,75,0.006,80,0.005,84,0.005,85,0.805,96,3.292,99,0.256,104,0.208,113,1.229,115,1.473,129,0.398,130,0.184,133,0.195,134,1.57,139,0.971,141,1.35,155,3.179,160,1.33,161,1.023,195,1.14,199,1.924,205,1.743,206,2.9,213,1.451,230,2.114,278,1.599,297,1.14,337,0.89,359,1.773,429,1.229,642,3.27,750,3.385,758,2.622,761,3.855,772,2.275,773,4.167,777,4.025,792,2.9,794,2.85,813,1.084,819,2.85,835,3.91,993,2.85,1035,3.91,1053,4.501,1060,4.865,1072,2.367,1096,4.141,1243,2.706,1253,2.706,1254,3.712,1279,2.468,1332,3.712,1339,3.486,1392,2.706,1470,4.237,1527,4.237,1580,3.019,1589,3.019,1592,3.019,1613,2.58,1841,2.85,1842,4.559,1843,3.44,1844,4.421,1845,3.91,1846,4.418,1847,2.58,1848,4.802,1849,2.114,1850,3.221,1851,3.221,1852,4.237,1853,3.221,1854,5.329,1855,4.141,1856,2.85,1857,2.85,1858,4.141,1859,3.019,1860,3.221,1861,4.418,1862,3.221,1863,2.706,1864,3.221,1865,3.221,1866,3.221,1867,4.418,1868,3.019,1869,3.221,1870,3.221,1871,3.221,1872,4.418,1873,3.221,1874,4.418,1875,2.85,1876,4.726,1877,3.221,1878,3.221,1879,3.221,1880,3.221,1881,2.706,1882,3.221,1883,3.221,1884,5.043,1885,3.221,1886,3.221,1887,3.221,1888,3.221,1889,2.85,1890,3.221,1891,3.221,1892,3.221,1893,3.221]],["title/classes/MessageChannel.html",[133,0.144,792,2.132]],["body/classes/MessageChannel.html",[0,1.595,3,0.072,4,0.205,5,0.072,6,0.113,11,0.91,18,0.362,19,0.604,20,2.068,25,1.373,35,0.968,38,1.821,40,1.362,41,0.736,42,1.614,43,0.01,44,0.965,45,0.71,46,1.38,47,1.45,48,1.555,55,1.696,56,0.962,71,1.907,75,0.006,80,0.004,84,0.004,85,1.019,86,0.754,96,3.395,99,0.241,104,0.185,113,1.095,115,1.313,129,0.367,130,0.178,133,0.18,134,1.506,139,0.896,141,1.345,155,2.794,160,1.296,161,0.962,199,1.809,205,1.554,206,2.676,213,1.339,230,1.884,278,1.425,297,1.016,337,0.793,359,1.152,429,1.555,642,3.135,750,3.124,758,2.42,761,3.879,772,2.881,773,4.288,777,4.016,792,3.112,794,2.541,813,0.967,819,2.541,835,3.608,993,3.608,1035,3.608,1053,4.562,1060,4.761,1072,2.997,1096,3.822,1243,3.426,1253,2.412,1254,3.426,1279,2.2,1332,3.426,1339,3.342,1392,2.412,1453,3.097,1470,4.759,1527,4.759,1580,2.691,1589,3.822,1592,3.822,1613,3.798,1841,2.541,1842,4.581,1843,3.456,1844,4.282,1845,2.541,1846,2.871,1847,2.3,1848,5.156,1849,1.884,1850,2.871,1851,2.871,1852,3.984,1853,2.871,1854,5.11,1855,3.822,1856,2.541,1857,2.541,1858,3.822,1859,2.691,1860,4.077,1861,5.452,1862,4.077,1863,3.426,1864,4.077,1865,2.871,1866,2.871,1867,4.077,1868,3.822,1869,4.077,1870,5.162,1871,2.871,1872,5.162,1873,4.077,1874,4.077,1875,3.608,1876,5.308,1877,4.077,1878,2.871,1879,5.162,1880,2.871,1881,2.412,1882,2.871,1883,2.871,1884,4.742,1885,2.871,1886,2.871,1887,2.871,1888,2.871,1889,2.541,1890,2.871,1891,2.871,1892,2.871,1893,2.871,1894,5.479,1895,5.479,1896,5.479,1897,3.858,1898,5.479,1899,3.858,1900,3.858,1901,3.858,1902,3.858,1903,3.858]],["title/injectables/MessageService.html",[0,1.271,758,1.928]],["body/injectables/MessageService.html",[0,1.662,2,2.333,3,0.077,4,0.203,5,0.077,6,0.11,11,0.817,18,0.384,19,0.63,20,2.093,25,1.431,35,1.009,38,1.742,40,1.323,41,1.089,42,1.328,43,0.01,44,0.795,45,0.679,46,1.29,47,1.544,48,1.161,55,1.636,56,0.993,71,1.648,75,0.006,80,0.004,84,0.004,85,1.061,86,0.8,96,3.284,99,0.249,104,0.196,113,1.161,115,1.392,129,0.382,130,0.181,133,0.188,134,1.539,139,0.934,141,1.406,155,2.649,160,1.314,161,0.993,199,1.867,205,1.648,206,2.789,213,1.396,230,3.477,278,2.11,297,1.077,337,0.841,359,1.222,429,1.161,642,3.205,750,3.75,758,3.307,761,3.942,772,2.151,773,4.22,777,4.019,792,3.212,794,3.76,813,1.025,819,3.76,835,3.76,993,2.694,1035,3.76,1053,4.423,1060,4.63,1072,2.237,1096,3.982,1243,2.558,1253,2.558,1254,3.57,1279,2.333,1332,3.57,1339,3.539,1392,4.112,1470,4.112,1527,4.112,1580,3.982,1589,2.853,1592,2.853,1613,2.438,1841,2.694,1842,4.112,1843,3.103,1844,4.095,1845,2.694,1846,3.044,1847,2.438,1848,4.931,1849,1.998,1850,3.044,1851,3.044,1852,4.682,1853,3.044,1854,5.663,1855,3.982,1856,2.694,1857,2.694,1858,3.982,1859,2.853,1860,3.044,1861,4.249,1862,3.044,1863,2.558,1864,3.044,1865,3.044,1866,3.044,1867,4.249,1868,2.853,1869,3.044,1870,3.044,1871,3.044,1872,4.249,1873,3.044,1874,4.249,1875,2.694,1876,4.587,1877,3.044,1878,3.044,1879,3.044,1880,3.044,1881,3.57,1882,3.044,1883,3.044,1884,4.895,1885,3.044,1886,3.044,1887,3.044,1888,3.044,1889,3.76,1890,3.044,1891,4.249,1892,4.249,1893,3.044,1904,5.03,1905,4.09,1906,5.709,1907,4.09,1908,4.09,1909,4.09]],["title/interfaces/MessageServiceConfig.html",[129,0.292,1852,2.73]],["body/interfaces/MessageServiceConfig.html",[0,1.741,3,0.082,4,0.203,5,0.082,6,0.062,11,0.544,18,0.411,19,0.659,20,1.984,35,0.773,40,1.267,41,0.834,43,0.01,45,0.665,46,1.084,47,1.517,48,1.242,55,1.576,56,0.903,71,1.707,75,0.006,80,0.005,84,0.005,85,0.813,96,3.297,99,0.258,104,0.21,113,1.242,115,1.489,129,0.401,130,0.185,133,0.197,134,1.576,139,0.978,141,1.355,155,2.745,160,1.333,161,1.029,195,1.152,199,1.934,205,1.762,206,2.921,213,1.462,230,2.137,278,1.616,297,1.152,337,1.401,359,1.306,429,1.242,642,3.283,750,3.41,758,2.641,761,3.819,772,2.3,773,4.208,777,4.008,792,2.921,794,2.881,813,1.498,819,2.881,835,3.938,993,2.881,1035,3.938,1053,4.373,1060,4.706,1072,2.392,1096,4.171,1243,2.735,1253,2.735,1254,3.739,1279,3.41,1332,3.739,1339,3.613,1392,2.735,1470,4.261,1527,4.261,1580,3.051,1589,3.051,1592,3.051,1613,2.608,1841,2.881,1842,4.261,1843,3.215,1844,4.195,1845,2.881,1846,3.255,1847,2.608,1848,4.824,1849,2.137,1850,3.255,1851,3.255,1852,4.58,1853,4.45,1854,5.523,1855,5.349,1856,2.881,1857,2.881,1858,4.171,1859,3.051,1860,3.255,1861,4.45,1862,3.255,1863,2.735,1864,3.255,1865,3.255,1866,3.255,1867,4.45,1868,3.051,1869,3.255,1870,3.255,1871,3.255,1872,4.45,1873,3.255,1874,4.45,1875,2.881,1876,4.753,1877,3.255,1878,3.255,1879,3.255,1880,3.255,1881,2.735,1882,3.255,1883,3.255,1884,5.071,1885,3.255,1886,3.255,1887,3.255,1888,3.255,1889,2.881,1890,3.255,1891,3.255,1892,3.255,1893,3.255]],["title/interfaces/MetaDataField.html",[129,0.292,1910,3.249]],["body/interfaces/MetaDataField.html",[3,0.128,4,0.16,5,0.128,6,0.097,18,0.643,19,0.876,43,0.01,45,0.761,69,1.203,75,0.008,80,0.007,84,0.007,86,1.687,129,0.459,130,0.185,156,3.476,195,1.803,208,1.848,1910,6.241,1911,5.495,1912,5.495]],["title/interfaces/ModelStateModel.html",[129,0.292,1913,2.73]],["body/interfaces/ModelStateModel.html",[0,1.087,3,0.044,4,0.054,5,0.044,6,0.033,8,0.996,11,0.289,15,2.053,16,0.884,18,0.218,19,0.412,20,1.568,22,2.535,23,0.884,29,0.996,35,0.411,37,2.765,40,0.433,41,0.444,43,0.01,44,1.007,45,0.77,46,1.134,47,0.677,48,0.661,49,1.327,50,1.223,53,3.926,56,1.198,65,0.996,69,1.05,71,1.172,75,0.004,80,0.002,84,0.002,88,0.91,90,2.149,91,1.342,96,3.069,99,0.297,104,0.112,105,2.368,106,1.598,107,1.504,108,0.996,109,0.996,110,0.937,113,0.661,115,0.792,120,1.387,122,1.461,123,1.461,124,0.91,125,0.86,126,1.461,128,1.704,129,0.313,130,0.154,132,0.966,133,0.077,134,1.405,139,1.32,141,1.278,142,0.677,149,3.494,155,2.978,156,2.648,160,1.263,161,1.229,162,0.996,163,1.062,173,1.455,174,1.455,177,1.623,182,0.814,184,1.623,195,0.613,212,0.464,245,1.342,246,1.504,256,1.529,257,2.376,269,2.459,281,1.327,287,1.843,297,1.41,299,3.081,301,1.273,303,1.327,304,1.178,308,0.892,326,0.678,337,1.205,353,2.042,359,1.751,382,2.466,387,2.68,390,2.927,400,0.628,405,1.681,409,1.505,429,1.94,435,2.207,445,1.504,450,1.42,453,1.352,457,0.983,488,1.904,511,1.779,514,1.008,528,0.613,612,1.649,655,3.738,662,2.129,667,1.461,668,0.884,669,0.86,670,0.86,673,2.667,679,1.941,683,0.91,684,3.274,687,1.137,754,1.387,761,2.134,785,2.904,813,1.172,848,1.728,894,4.622,895,1.891,932,2.925,942,5.408,943,4.501,945,1.533,946,1.533,947,1.533,949,2.459,954,1.387,965,2.222,1015,3.643,1115,0.86,1212,2.558,1224,1.273,1258,3.422,1261,4.088,1263,3.887,1265,1.273,1333,3.481,1334,4.292,1335,3.568,1336,3.342,1339,2.855,1384,1.137,1745,3.191,1746,3.262,1748,3.596,1749,4.121,1750,2.605,1761,1.732,1795,3.422,1843,2.207,1844,2.558,1849,1.137,1881,1.455,1913,2.335,1914,1.533,1915,2.998,1916,4.203,1917,4.644,1918,4.918,1919,4.918,1920,4.918,1921,4.361,1922,5.107,1923,4.417,1924,2.459,1925,4.782,1926,4.297,1927,4.364,1928,1.824,1929,2.335,1930,2.605,1931,1.387,1932,1.387,1933,1.868,1934,1.732,1935,1.533,1936,1.868,1937,1.533,1938,1.868,1939,1.387,1940,1.868,1941,1.327,1942,1.273,1943,2.129,1944,1.868,1945,1.868,1946,1.623,1947,1.762,1948,1.137,1949,1.387,1950,1.327,1951,1.327,1952,1.732,1953,2.788,1954,1.868,1955,2.226,1956,1.732,1957,1.868,1958,1.868,1959,1.868,1960,2.925,1961,2.226,1962,1.868,1963,1.868,1964,1.868,1965,1.868,1966,1.868,1967,1.868,1968,1.868,1969,1.868,1970,1.868,1971,1.868,1972,1.868,1973,1.868,1974,1.868,1975,1.868,1976,1.868,1977,1.868,1978,1.868,1979,1.868,1980,1.868,1981,1.868,1982,1.868,1983,1.868,1984,1.868,1985,1.732,1986,1.732,1987,1.868,1988,1.868,1989,1.868,1990,1.868,1991,1.868,1992,1.623,1993,1.623,1994,1.455,1995,1.868,1996,1.868,1997,3.755,1998,1.868,1999,5.277,2000,1.868,2001,1.868,2002,2.998,2003,2.779,2004,1.868,2005,1.868,2006,4.916,2007,1.868,2008,1.868,2009,1.868,2010,1.868,2011,1.327,2012,1.868,2013,4.297,2014,2.129,2015,1.868,2016,1.868,2017,1.868,2018,1.387,2019,1.868,2020,1.868,2021,2.998,2022,1.868,2023,4.297,2024,1.868,2025,2.998,2026,1.868,2027,1.868,2028,1.868,2029,1.868,2030,1.868,2031,1.868,2032,1.868,2033,1.868,2034,1.868,2035,1.868,2036,1.868,2037,1.868,2038,1.868,2039,1.868,2040,1.868,2041,1.868,2042,1.868,2043,1.868,2044,1.868,2045,2.998,2046,1.868,2047,1.868,2048,1.868,2049,1.868,2050,1.868,2051,1.868,2052,1.868,2053,1.868,2054,1.868,2055,2.998,2056,1.868,2057,1.868,2058,1.868,2059,1.868,2060,1.868,2061,1.868,2062,1.868,2063,1.868,2064,1.868,2065,1.868,2066,1.868,2067,1.868,2068,1.868,2069,1.868,2070,1.868,2071,2.998,2072,1.387,2073,1.623,2074,1.868,2075,1.533,2076,1.623,2077,2.998,2078,3.262,2079,2.998,2080,2.226,2081,2.998,2082,1.868,2083,1.868,2084,1.868,2085,1.868,2086,1.868,2087,1.868,2088,1.868,2089,1.387,2090,1.868,2091,1.868,2092,1.868,2093,1.868,2094,1.868,2095,1.868]],["title/components/NameInputComponent.html",[196,0.424,501,1.209]],["body/components/NameInputComponent.html",[3,0.069,4,0.086,5,0.099,6,0.118,11,0.771,12,1.262,18,0.345,19,0.584,20,1.554,25,1.326,32,2.68,35,0.649,38,1.924,40,0.984,41,1.009,42,1.443,43,0.01,44,1.269,45,0.717,46,1.124,47,0.959,48,1.926,52,1.07,55,1.275,56,0.937,69,1.014,75,0.006,76,1.734,80,0.004,84,0.004,85,1.337,86,1.573,99,0.235,104,0.177,129,0.246,130,0.124,133,0.246,134,0.756,139,0.601,141,1.422,142,0.959,160,0.988,161,1.086,196,0.749,197,0.992,198,1.326,199,1.043,200,1.156,201,1.156,202,1.126,208,0.992,209,1.581,210,1.581,211,2.253,212,1.124,213,0.898,214,1.429,216,1.429,256,0.855,259,2.607,260,1.7,300,1.554,308,1.009,309,0.898,321,1.098,333,2.309,334,3.78,335,3.78,359,1.098,399,1.251,400,0.992,401,1.526,405,1.321,409,0.944,414,1.098,427,1.573,444,1.677,450,1.143,453,1.143,457,0.968,468,1.156,469,1.802,470,1.156,471,2.134,472,1.156,473,1.156,474,1.043,475,1.156,476,1.018,477,1.95,478,1.043,479,1.156,480,1.429,481,1.95,482,1.043,483,1.098,484,1.156,485,1.043,486,1.156,487,1.043,488,0.992,489,1.156,490,1.043,491,1.156,492,1.043,493,1.043,494,1.156,495,1.043,496,1.126,497,1.018,498,1.156,499,1.043,500,1.664,501,1.878,502,1.043,503,1.043,504,1.95,505,1.043,506,1.541,507,1.664,508,1.018,509,1.043,510,1.018,511,0.855,512,1.156,513,1.018,514,0.992,515,1.043,516,1.156,517,1.043,518,1.156,519,1.043,520,1.156,521,1.043,522,1.326,523,1.043,524,1.502,525,1.043,526,1.156,527,1.043,528,1.394,529,1.156,530,1.043,531,1.156,532,1.156,561,3.933,596,1.481,607,2.132,658,2.191,664,2.574,665,1.043,666,2.197,667,2.654,668,1.397,669,1.358,670,2.292,675,3.486,676,4.085,677,1.502,678,1.95,683,2.426,684,2.265,685,4.496,686,3.155,687,3.658,691,2.564,692,2.421,693,2.298,695,2.736,704,2.585,705,1.754,706,1.933,708,3.239,709,4.663,711,3.239,725,2.951,726,2.564,727,2.298,1115,2.507,1281,3.314,1282,3.14,1831,5.503,2096,6.218,2097,4.663,2098,4.663,2099,5.464,2100,5.464,2101,5.464,2102,5.293,2103,5.464,2104,5.293,2105,6.366,2106,5.293,2107,4.663,2108,3.676,2109,3.692,2110,5.772,2111,5.978,2112,5.978,2113,3.933,2114,3.676,2115,3.933,2116,3.676,2117,3.676,2118,3.676,2119,3.239,2120,2.421,2121,3.939,2122,4.663,2123,3.239,2124,3.239,2125,3.239,2126,4.663,2127,3.239,2128,3.239,2129,3.239]],["title/modules/NameInputModule.html",[533,1.271,1816,2.875]],["body/modules/NameInputModule.html",[3,0.12,4,0.149,5,0.12,6,0.091,43,0.01,44,0.89,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,424,1.642,501,2.515,522,1.601,535,1.814,536,2.22,547,2.398,548,1.814,550,2.595,552,2.063,556,2.336,734,5.13,735,2.595,736,2.74,737,2.175,738,5.675,739,4.756,742,4.17,743,3.496,744,5.13,1711,6.718,1712,5.631,1816,5.825,1831,4.209,2096,4.756,2120,4.209,2130,5.631,2131,5.631,2132,5.631,2133,6.718,2134,6.718]],["title/interfaces/OrganData.html",[129,0.292,2135,3.045]],["body/interfaces/OrganData.html",[0,1.607,3,0.073,4,0.091,5,0.073,6,0.055,15,2.141,16,1.481,18,0.366,19,0.609,20,1.605,22,1.292,29,1.668,35,0.689,43,0.01,44,0.768,45,0.581,46,1.263,47,0.706,55,1.134,56,0.589,65,1.668,69,1.153,71,1.746,75,0.006,80,0.004,84,0.004,85,0.725,90,2.015,96,2.098,99,0.325,102,1.904,104,0.187,106,2.362,107,2.223,108,1.668,109,1.668,110,1.57,113,1.106,114,1.722,115,1.327,119,2.132,122,2.159,123,2.159,124,1.525,125,1.44,126,2.159,128,2.518,129,0.37,130,0.163,132,1.618,133,0.128,134,1.649,139,1.426,149,5.035,160,1.11,161,0.589,162,1.668,163,1.778,188,2.068,195,1.026,212,0.796,245,1.983,246,2.223,257,1.194,262,2.223,278,2.039,299,3.189,326,1.135,359,1.648,378,2.049,380,3.369,382,2.24,384,3.654,387,2.435,389,2.223,390,2.659,400,1.052,405,1.401,450,1.649,453,1.649,466,1.525,608,2.437,635,1.904,636,1.974,639,1.974,640,1.974,687,2.696,747,3.849,754,2.324,848,3.014,891,1.904,895,1.974,896,3.451,902,2.324,930,2.437,953,2.901,955,2.901,1015,3.653,1151,2.437,1258,3.018,1334,4.524,1335,4.355,1336,4.355,1384,1.904,1740,2.901,1844,3.018,1916,3.29,1917,3.635,1923,3.018,1925,4.775,1928,2.696,1929,2.437,1941,2.223,1947,1.839,1948,1.904,1950,2.223,1951,2.223,2072,4.154,2075,3.635,2080,2.324,2089,3.82,2135,4.469,2136,2.719,2137,2.719,2138,3.849,2139,2.719,2140,4.22,2141,2.719,2142,2.567,2143,5.593,2144,4.469,2145,2.901,2146,4.107,2147,2.901,2148,3.147,2149,2.567,2150,5.903,2151,3.129,2152,3.129,2153,2.719,2154,3.129,2155,3.129,2156,2.719,2157,3.129,2158,3.129,2159,2.719,2160,2.719,2161,3.129,2162,3.129,2163,3.129,2164,3.129,2165,2.719,2166,4.43,2167,4.43,2168,4.43,2169,4.43,2170,4.43,2171,4.43,2172,2.901,2173,3.129,2174,3.129,2175,3.129,2176,3.129,2177,3.129,2178,3.129,2179,3.129,2180,3.129,2181,3.129,2182,3.129,2183,3.129,2184,3.849,2185,3.129,2186,3.129,2187,3.129,2188,3.129,2189,5.143,2190,5.143,2191,3.129,2192,3.129,2193,3.129,2194,2.719,2195,2.719,2196,2.719,2197,2.719,2198,3.129,2199,2.719,2200,4.43,2201,3.849,2202,3.129,2203,3.129,2204,3.129,2205,3.129,2206,4.43,2207,3.129,2208,3.129,2209,3.129,2210,3.129,2211,3.129,2212,2.901,2213,3.129,2214,3.129,2215,3.129,2216,3.129,2217,3.129,2218,3.129,2219,3.129,2220,2.223,2221,3.129,2222,3.129,2223,3.129,2224,3.129,2225,3.129,2226,3.129,2227,3.129,2228,3.129,2229,3.129]],["title/injectables/PageState.html",[0,1.271,91,1.569]],["body/injectables/PageState.html",[0,1.56,2,2.133,3,0.07,4,0.087,5,0.07,6,0.123,11,0.778,14,3.9,15,2.259,16,2.037,18,0.351,19,0.591,20,1.714,22,1.24,23,2.863,25,1.343,29,2.927,32,2.714,35,0.947,38,2.007,40,0.996,41,1.022,42,1.457,43,0.01,44,1.141,45,0.568,46,1.135,47,0.971,52,2.108,53,4.202,55,1.631,56,1.303,65,2.294,69,0.726,75,0.006,80,0.004,84,0.004,85,1.272,86,1.415,91,1.926,96,3.016,99,0.314,104,0.18,105,3.463,106,2.294,107,2.159,108,1.601,109,1.601,110,1.507,113,1.062,114,1.652,115,1.273,122,2.097,123,2.097,124,1.463,125,1.382,126,1.463,129,0.359,130,0.146,132,1.553,133,0.123,134,1.406,139,1.118,160,0.854,161,1.277,162,1.601,163,1.707,182,1.308,212,0.666,224,5.363,245,2.602,246,2.755,263,1.553,287,2.276,297,1.984,307,3.293,308,1.194,309,1.531,310,3.426,326,1.089,333,2.853,334,2.818,335,2.818,337,1.661,389,2.133,609,4.768,619,3.738,639,1.894,640,1.894,785,3.021,813,0.937,848,1.382,891,1.827,960,2.714,1330,2.339,1339,2.445,1384,1.827,1849,1.827,1863,2.339,1928,3.059,1931,2.23,1932,2.23,1937,4.125,1939,2.23,1942,2.046,1943,2.133,1950,2.133,1951,2.133,2006,3.734,2011,2.133,2014,2.133,2113,2.931,2115,2.931,2230,2.784,2231,4.302,2232,4.961,2233,6.485,2234,5.49,2235,5.49,2236,5.49,2237,5.36,2238,5.36,2239,6.729,2240,5.028,2241,6.581,2242,3.741,2243,3.741,2244,3.741,2245,3.741,2246,3.741,2247,3.741,2248,3.741,2249,3.741,2250,4.302,2251,3.741,2252,4.302,2253,4.661,2254,3.741,2255,5.388,2256,4.302,2257,3.741,2258,4.302,2259,3.741,2260,4.302,2261,4.302,2262,3.741,2263,4.302,2264,3.741,2265,3.741,2266,3.741,2267,3.741,2268,3.741,2269,3.741,2270,3.741,2271,3.003,2272,2.609,2273,2.609,2274,3.003,2275,3.003,2276,3.916,2277,2.339,2278,3.003,2279,3.003,2280,3.003,2281,3.003,2282,3.003,2283,2.609,2284,3.003,2285,3.003,2286,3.003,2287,3.003,2288,3.003,2289,4.302,2290,3.003,2291,4.369,2292,3.003,2293,3.003,2294,3.989,2295,4.302,2296,3.738,2297,3.003,2298,3.003,2299,3.003,2300,3.003,2301,3.003,2302,4.302,2303,3.003,2304,3.003,2305,3.003,2306,5.028,2307,3.003,2308,2.609,2309,4.302,2310,3.003,2311,3.003,2312,3.003]],["title/interfaces/PageStateModel.html",[129,0.292,2277,2.73]],["body/interfaces/PageStateModel.html",[0,1.705,3,0.079,4,0.099,5,0.079,6,0.06,11,0.527,14,3.338,15,2.284,16,1.612,18,0.398,19,0.646,20,1.467,22,1.94,23,2.883,29,1.815,35,0.749,40,0.788,41,0.809,43,0.01,44,1.006,45,0.712,47,0.769,53,3.972,56,1.237,65,1.815,69,0.793,75,0.006,80,0.004,84,0.004,86,0.829,91,1.524,96,2.981,99,0.322,104,0.204,105,3.661,106,2.506,107,2.358,108,1.815,109,1.815,110,1.708,113,1.204,114,1.873,115,1.443,122,2.29,123,2.29,124,1.659,125,1.567,126,1.659,129,0.392,130,0.157,132,1.76,133,0.14,134,1.486,139,1.182,160,0.932,161,1.146,162,1.815,163,1.935,182,1.483,195,1.117,212,0.728,224,5.36,245,2.598,246,2.358,263,1.76,287,2.385,297,1.998,307,3.525,308,1.278,309,1.639,310,3.667,326,1.235,333,2.917,334,3.078,335,3.078,337,1.811,389,2.418,609,3.856,619,4.083,639,2.147,640,2.147,785,2.586,813,1.467,848,1.567,891,2.071,960,2.147,1330,2.652,1339,1.935,1384,2.071,1849,2.071,1863,2.652,1928,2.859,1931,2.528,1932,2.528,1937,4.416,1939,2.528,1942,2.32,1943,2.418,1950,2.418,1951,2.418,2006,3.997,2011,2.418,2014,2.418,2113,2.32,2115,2.32,2230,3.156,2231,3.404,2232,5.294,2233,6.755,2234,3.404,2235,3.404,2236,3.404,2239,6.93,2240,3.404,2241,6.823,2250,3.404,2252,3.404,2253,3.156,2255,5.38,2256,3.404,2258,3.404,2260,3.404,2261,3.404,2263,3.404,2271,3.404,2272,2.958,2273,2.958,2274,3.404,2275,3.404,2276,4.743,2277,3.661,2278,3.404,2279,3.404,2280,3.404,2281,3.404,2282,3.404,2283,2.958,2284,3.404,2285,3.404,2286,3.404,2287,3.404,2288,3.404,2289,4.7,2290,3.404,2291,4.676,2292,3.404,2293,3.404,2294,4.357,2295,4.7,2296,4.083,2297,3.404,2298,3.404,2299,3.404,2300,3.404,2301,3.404,2302,4.7,2303,3.404,2304,3.404,2305,3.404,2306,5.382,2307,3.404,2308,2.958,2309,4.7,2310,3.404,2311,3.404,2312,3.404]],["title/interfaces/Person.html",[129,0.292,2276,2.73]],["body/interfaces/Person.html",[0,1.737,3,0.082,4,0.102,5,0.082,6,0.062,11,0.542,14,3.402,15,2.23,16,1.657,18,0.409,19,0.658,20,1.495,22,1.445,23,2.78,29,1.866,35,0.77,40,0.811,41,0.831,43,0.01,44,1.018,45,0.541,47,0.79,53,4.005,56,1.245,65,1.866,69,1.071,75,0.006,80,0.005,84,0.005,86,0.852,91,1.567,96,3.006,99,0.323,104,0.209,105,3.704,106,2.554,107,2.403,108,1.866,109,1.866,110,1.756,113,1.238,114,1.926,115,1.484,122,2.334,123,2.334,124,1.705,125,1.611,126,1.705,129,0.4,130,0.159,132,1.81,133,0.143,134,1.503,139,1.196,160,0.95,161,1.157,162,1.866,163,1.989,182,1.524,195,1.148,212,0.742,224,5.23,245,2.629,246,2.403,263,1.81,287,2.409,297,2.017,307,3.137,308,1.138,309,1.458,310,3.263,326,1.269,333,2.806,334,4.028,335,4.028,337,1.665,389,2.486,609,3.93,619,4.162,639,2.208,640,2.208,785,2.635,813,1.092,848,1.611,891,2.914,960,2.208,1330,3.731,1339,1.989,1384,2.129,1849,2.129,1863,3.731,1928,2.914,1931,2.599,1932,2.599,1937,4.48,1939,2.599,1942,2.385,1943,2.486,1950,2.486,1951,2.486,2006,4.055,2011,2.486,2014,2.486,2113,2.385,2115,2.385,2230,3.245,2231,3.5,2232,4.817,2233,6.501,2234,3.5,2235,3.5,2236,3.5,2239,6.792,2240,3.5,2241,6.619,2250,3.5,2252,3.5,2253,3.245,2255,5.062,2256,3.5,2258,3.5,2260,3.5,2261,3.5,2263,3.5,2271,3.5,2272,3.041,2273,3.041,2274,3.5,2275,3.5,2276,4.79,2277,2.726,2278,3.5,2279,3.5,2280,3.5,2281,3.5,2282,3.5,2283,3.041,2284,3.5,2285,3.5,2286,3.5,2287,3.5,2288,3.5,2289,4.79,2290,3.5,2291,4.745,2292,3.5,2293,3.5,2294,4.44,2295,4.79,2296,4.162,2297,3.5,2298,3.5,2299,3.5,2300,3.5,2301,3.5,2302,4.79,2303,3.5,2304,3.5,2305,3.5,2306,5.46,2307,3.5,2308,3.041,2309,4.79,2310,3.5,2311,3.5,2312,3.5]],["title/injectables/ReferenceDataState.html",[0,1.271,1947,2.06]],["body/injectables/ReferenceDataState.html",[0,1.491,2,2.003,3,0.066,4,0.082,5,0.066,6,0.108,11,0.751,15,2.216,16,1.946,18,0.33,20,1.769,22,1.697,25,1.283,29,2.843,35,0.905,38,1.715,42,1.545,43,0.01,44,1.026,45,0.603,46,1.204,47,0.928,55,1.564,56,0.773,65,2.192,69,1.188,71,1.664,75,0.005,80,0.004,84,0.004,85,0.653,90,2.221,96,2.297,99,0.319,102,1.716,104,0.169,106,2.192,107,2.063,108,1.503,109,1.503,110,1.415,113,0.997,114,1.551,115,1.195,119,1.921,122,2.003,123,2.003,124,1.374,125,1.298,126,2.003,128,2.337,129,0.343,130,0.155,132,1.458,133,0.116,134,1.603,139,1.405,149,5.149,160,1.058,161,0.531,162,1.503,163,1.603,188,1.951,212,0.751,245,2.387,246,2.676,257,1.076,262,2.003,278,2.454,299,3.192,326,1.023,359,1.984,378,1.847,380,3.178,382,2.113,384,3.447,387,2.297,389,2.003,390,2.509,400,1.383,405,1.262,450,1.644,453,1.644,466,1.374,608,2.196,635,1.716,636,1.779,639,1.779,640,1.779,687,2.501,747,4.633,754,3.053,848,3.138,891,2.501,895,2.593,896,4.153,902,2.094,930,2.196,953,2.614,955,2.614,1015,3.57,1151,2.196,1258,2.801,1334,4.421,1335,4.34,1336,4.34,1384,1.716,1740,2.614,1844,2.801,1916,3.053,1917,3.373,1923,2.801,1925,4.878,1928,2.952,1929,2.196,1941,2.003,1947,2.416,1948,3.718,1950,2.003,1951,2.003,2072,3.96,2075,3.373,2080,2.094,2089,3.603,2135,4.216,2136,5.309,2137,2.45,2138,3.572,2139,2.45,2140,3.981,2141,2.45,2142,2.313,2143,6.11,2144,4.216,2145,2.614,2146,3.811,2147,2.614,2148,2.92,2149,2.313,2150,5.669,2151,2.82,2152,2.82,2153,2.45,2154,2.82,2155,2.82,2156,2.45,2157,2.82,2158,2.82,2159,2.45,2160,2.45,2161,2.82,2162,2.82,2163,2.82,2164,2.82,2165,2.45,2166,4.111,2167,4.111,2168,4.111,2169,4.111,2170,4.111,2171,4.111,2172,3.811,2173,2.82,2174,2.82,2175,2.82,2176,2.82,2177,2.82,2178,2.82,2179,2.82,2180,5.332,2181,2.82,2182,2.82,2183,2.82,2184,3.572,2185,2.82,2186,2.82,2187,2.82,2188,4.111,2189,4.852,2190,4.852,2191,2.82,2192,2.82,2193,2.82,2194,2.45,2195,2.45,2196,2.45,2197,2.45,2198,2.82,2199,2.45,2200,4.111,2201,4.216,2202,2.82,2203,2.82,2204,2.82,2205,2.82,2206,5.332,2207,4.111,2208,4.111,2209,2.82,2210,2.82,2211,2.82,2212,2.614,2213,2.82,2214,2.82,2215,2.82,2216,2.82,2217,2.82,2218,2.82,2219,4.111,2220,2.92,2221,4.111,2222,2.82,2223,2.82,2224,2.82,2225,2.82,2226,2.82,2227,2.82,2228,2.82,2229,2.82,2313,5.121,2314,5.121,2315,5.121,2316,3.512,2317,3.512,2318,3.512,2319,3.512,2320,4.498,2321,3.512,2322,3.512,2323,3.512]],["title/interfaces/ReferenceDataStateModel.html",[129,0.292,2165,3.045]],["body/interfaces/ReferenceDataStateModel.html",[0,1.582,3,0.071,4,0.089,5,0.071,6,0.054,15,2.123,16,1.449,18,0.358,19,0.599,20,1.586,22,1.264,29,1.632,35,0.674,43,0.01,44,0.756,45,0.801,47,0.691,55,1.117,56,0.576,65,1.632,69,1.149,71,1.729,75,0.006,80,0.004,84,0.004,85,0.709,90,1.991,96,2.065,99,0.323,102,1.863,104,0.183,106,2.326,107,2.189,108,1.632,109,1.632,110,1.536,113,1.083,114,1.684,115,1.298,119,2.086,122,2.126,123,2.126,124,1.492,125,1.409,126,2.126,128,2.479,129,0.364,130,0.161,132,1.583,133,0.126,134,1.639,139,1.421,149,5.015,160,1.099,161,0.576,162,1.632,163,1.74,188,2.043,195,1.004,212,0.787,245,1.953,246,2.189,257,1.169,262,2.175,278,2.008,299,3.109,326,1.11,359,1.623,378,2.005,380,3.328,382,2.214,384,3.61,387,2.406,389,2.175,390,2.628,400,1.03,405,1.37,450,1.49,453,1.49,466,1.492,608,2.385,635,1.863,636,1.931,639,1.931,640,1.931,687,2.654,747,3.79,754,2.273,848,2.999,891,1.863,895,1.931,896,3.398,902,2.273,930,2.385,953,2.838,955,2.838,1015,3.446,1151,2.385,1258,2.972,1331,6.861,1334,4.267,1335,3.935,1336,3.935,1384,1.863,1740,2.838,1844,2.972,1916,4.348,1917,4.803,1923,2.972,1925,4.314,1928,2.654,1929,2.385,1941,2.175,1947,1.799,1948,1.863,1950,2.175,1951,2.175,2072,4.113,2075,3.579,2080,2.273,2089,3.774,2135,3.79,2136,2.66,2137,2.66,2138,3.79,2139,2.66,2140,4.169,2141,2.66,2142,2.512,2143,5.539,2144,4.416,2145,2.838,2146,4.044,2147,2.838,2148,3.099,2149,2.512,2150,5.855,2151,3.061,2152,3.061,2153,2.66,2154,3.061,2155,3.061,2156,2.66,2157,3.061,2158,3.061,2159,2.66,2160,2.66,2161,3.061,2162,3.061,2163,3.061,2164,3.061,2165,3.79,2166,5.855,2167,4.362,2168,5.855,2169,5.855,2170,5.855,2171,5.855,2172,2.838,2173,3.061,2174,3.061,2175,3.061,2176,3.061,2177,3.061,2178,3.061,2179,3.061,2180,3.061,2181,3.061,2182,3.061,2183,3.061,2184,3.79,2185,3.061,2186,3.061,2187,3.061,2188,3.061,2189,5.082,2190,5.082,2191,3.061,2192,3.061,2193,3.061,2194,2.66,2195,2.66,2196,2.66,2197,2.66,2198,3.061,2199,2.66,2200,4.362,2201,3.79,2202,3.061,2203,3.061,2204,3.061,2205,3.061,2206,4.362,2207,3.061,2208,3.061,2209,3.061,2210,3.061,2211,3.061,2212,2.838,2213,3.061,2214,3.061,2215,3.061,2216,3.061,2217,3.061,2218,3.061,2219,3.061,2220,2.175,2221,3.061,2222,3.061,2223,3.061,2224,3.061,2225,3.061,2226,3.061,2227,3.061,2228,3.061,2229,3.061]],["title/components/RegistrationContentComponent.html",[196,0.424,502,1.239]],["body/components/RegistrationContentComponent.html",[3,0.058,4,0.073,5,0.088,6,0.12,11,0.876,12,1.115,15,2.321,18,0.292,19,0.516,22,2.601,23,2.781,25,1.172,35,0.827,38,1.95,40,0.87,41,0.892,42,1.561,43,0.01,44,1.188,45,0.741,46,1.216,52,0.905,55,1.547,56,1.185,69,0.761,75,0.005,80,0.003,84,0.003,85,1.163,86,1.223,88,2.448,91,2.249,99,0.267,104,0.149,114,1.373,115,1.058,125,1.148,130,0.073,133,0.258,134,0.639,142,0.563,156,2.703,160,1.199,161,1.137,196,0.651,197,0.839,198,1.172,199,0.882,200,0.977,201,0.977,202,0.952,208,0.839,209,1.397,210,1.397,211,2.23,212,1.111,213,0.76,214,1.263,216,1.263,223,3.923,256,1.088,259,1.397,260,1.172,263,3.197,297,1.481,299,3.136,300,1.409,301,3.076,307,2.459,308,1.675,309,1.53,313,1.373,321,0.928,326,0.905,331,1.853,332,1.772,337,1.449,400,1.263,401,1.29,404,2.078,408,2.134,409,0.798,410,1.574,413,1.518,414,0.928,416,3.223,418,1.373,421,1.29,427,1.33,429,1.776,431,2.654,434,1.33,437,1.33,438,2.495,442,2.957,444,1.418,445,1.252,448,1.466,450,0.671,451,1.518,453,0.671,457,0.818,468,0.977,469,1.93,470,0.977,471,1.968,472,0.977,473,0.977,474,0.882,475,0.977,476,0.86,477,1.769,478,0.882,479,0.977,480,1.263,481,1.769,482,0.882,483,0.928,484,0.977,485,0.882,486,0.977,487,0.882,488,0.839,489,0.977,490,0.882,491,0.977,492,0.882,493,0.882,494,0.977,495,0.882,496,0.952,497,0.86,498,0.977,499,0.882,500,1.471,501,0.86,502,1.776,503,0.882,504,1.769,505,0.882,506,1.362,507,1.471,508,0.86,509,0.882,510,0.86,511,0.723,512,0.977,513,0.86,514,0.839,515,0.882,516,0.977,517,0.882,518,0.977,519,0.882,520,0.977,521,0.882,522,1.172,523,0.882,524,1.328,525,0.882,526,0.977,527,0.882,528,1.232,529,0.977,530,0.882,531,0.977,532,0.977,583,5.556,660,2.369,665,0.882,677,1.328,678,1.769,684,3.018,705,1.55,718,2.558,719,3.263,785,2.066,813,1.172,827,3.081,864,4.515,865,4.121,964,3.081,969,2.021,976,2.168,1007,4.121,1224,2.558,1247,4.172,1273,4.996,1282,3.974,1315,2.925,1334,4.511,1335,4.021,1336,4.393,1345,2.495,1355,2.168,1364,4.121,1564,2.925,1640,4.121,1673,1.772,1677,2.168,1721,4.956,1723,4.956,1725,4.121,1736,4.121,1779,4.121,1780,4.121,1794,3.755,1802,2.313,1925,4.409,2018,2.789,2113,2.558,2115,2.558,2253,4.186,2276,1.944,2308,2.168,2320,2.313,2324,5.885,2325,5.885,2326,2.739,2327,5.625,2328,5.625,2329,3.704,2330,4.918,2331,5.625,2332,5.625,2333,4.678,2334,6.258,2335,4.678,2336,4.121,2337,4.994,2338,4.678,2339,4.678,2340,4.678,2341,3.108,2342,3.755,2343,3.755,2344,3.108,2345,4.678,2346,4.678,2347,3.108,2348,4.121,2349,4.956,2350,3.108,2351,4.678,2352,3.108,2353,3.108,2354,3.108,2355,3.108,2356,3.108,2357,3.108,2358,3.108,2359,3.108,2360,1.7,2361,3.108,2362,3.108,2363,3.108,2364,4.678,2365,3.108,2366,3.108,2367,3.108,2368,4.678,2369,3.108,2370,3.108,2371,3.108,2372,3.108,2373,2.495,2374,3.108,2375,3.108,2376,3.108]],["title/modules/RegistrationContentModule.html",[533,1.271,2377,3.045]],["body/modules/RegistrationContentModule.html",[3,0.116,4,0.145,5,0.116,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.771,308,1.183,326,1.806,424,1.593,497,2.073,502,2.57,535,1.761,536,2.181,547,2.355,548,1.761,550,2.549,552,2.418,556,2.295,570,6.599,583,4.086,735,2.549,736,2.692,737,2.112,742,4.097,743,3.393,1667,5.224,1668,4.327,1670,4.086,1706,5.435,1816,5.724,1828,4.98,1829,4.98,1830,5.466,1831,4.086,1832,4.98,2324,4.327,2325,4.327,2377,6.291,2378,5.466,2379,5.466,2380,5.466,2381,6.204,2382,6.204,2383,5.466]],["title/components/RegistrationModalComponent.html",[196,0.424,503,1.239]],["body/components/RegistrationModalComponent.html",[3,0.08,4,0.1,5,0.11,6,0.114,11,0.733,12,1.406,18,0.402,19,0.65,20,1.477,22,2.234,23,2.562,25,1.477,35,1.042,38,1.831,40,1.096,41,1.124,42,0.997,43,0.01,44,1.122,45,0.659,46,0.777,52,1.248,55,1.212,56,1.097,69,0.58,75,0.006,80,0.005,84,0.005,85,1.096,86,1.153,88,2.841,91,2.61,99,0.305,102,2.093,104,0.206,112,2.253,113,1.217,115,1.459,122,1.676,123,1.676,124,1.676,125,1.584,130,0.1,133,0.259,134,0.881,142,1.222,160,0.683,161,1.15,196,0.764,197,1.157,198,1.477,199,1.217,201,1.348,202,1.313,205,2.375,207,4.44,208,1.157,211,2.279,212,1.135,213,1.048,216,1.592,231,4.783,256,0.997,258,1.893,260,1.477,287,1.348,299,1.584,300,1.689,308,1.682,309,2.127,331,2.555,332,2.444,409,1.101,450,0.926,453,0.926,457,1.129,468,1.348,469,1.908,470,1.348,471,2.284,472,1.348,473,1.348,474,1.217,475,1.348,476,1.186,477,2.12,478,1.217,479,1.348,480,1.592,481,2.12,482,1.217,483,1.28,484,1.348,485,1.217,486,1.348,487,1.217,488,1.157,489,1.348,490,1.217,491,1.348,492,1.217,493,1.217,494,1.348,495,1.217,496,1.313,497,1.186,498,1.348,499,1.217,500,1.854,501,1.186,502,1.674,503,2.061,504,2.12,505,1.217,506,1.717,507,1.854,508,1.186,509,1.217,510,1.186,511,0.997,512,1.348,513,1.186,514,1.157,515,1.217,516,1.348,517,1.217,518,1.348,519,1.217,520,1.348,521,1.217,522,1.477,523,1.217,524,1.674,525,1.217,526,1.348,527,1.217,528,1.553,529,1.348,530,1.217,531,1.348,532,1.348,583,5.73,665,1.217,677,1.674,678,2.12,705,1.954,781,2.823,961,3.687,1118,5.404,1247,4.897,1562,5.404,1935,2.823,1942,2.344,1943,2.444,2011,2.444,2014,2.444,2212,3.19,2324,5.623,2325,2.989,2329,4.44,2360,2.344,2383,3.776,2384,2.989,2385,5.897,2386,4.389,2387,7.262,2388,3.44,2389,6.112,2390,6.742,2391,3.776,2392,4.389,2393,3.776,2394,4.286,2395,4.286,2396,4.286,2397,3.44,2398,4.286,2399,4.286,2400,4.286,2401,4.286,2402,3.44,2403,4.286,2404,4.286,2405,4.286]],["title/modules/RegistrationModalModule.html",[533,1.271,545,3.045]],["body/modules/RegistrationModalModule.html",[3,0.12,4,0.149,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.307,130,0.149,133,0.21,308,1.453,424,1.64,503,2.579,535,1.812,536,2.218,545,6.257,547,2.396,548,1.812,550,2.593,552,2.459,556,2.335,562,3.163,563,2.497,583,5.018,735,2.593,736,2.738,737,2.173,2324,4.452,2325,4.452,2360,3.491,2377,6.102,2406,5.624,2407,5.624,2408,5.624,2409,6.383,2410,5.124,2411,4.452,2412,6.116,2413,6.383]],["title/injectables/RegistrationState.html",[0,1.271,875,2.295]],["body/injectables/RegistrationState.html",[0,1.1,1,2.694,2,1.347,3,0.044,4,0.055,5,0.071,6,0.119,8,2.311,9,1.477,11,0.881,12,1.733,14,2.155,15,2.466,16,1.437,18,0.222,19,0.417,20,2.114,22,2.855,23,3.123,25,0.947,29,2.311,32,1.914,33,4.866,35,0.835,36,1.896,37,3.343,38,1.945,40,0.703,41,0.721,42,1.691,43,0.01,44,1.083,45,0.735,46,1.317,47,0.979,48,1.533,49,2.694,50,2.484,52,1.376,53,3.349,55,1.665,56,1.098,59,2.489,65,1.618,69,1.023,75,0.004,80,0.003,83,2.636,84,0.003,85,0.439,86,1.54,88,1.848,90,2.377,91,1.698,96,2.958,99,0.311,102,1.154,104,0.113,105,3.48,106,1.618,107,1.522,108,1.011,109,1.011,110,0.952,112,1.242,113,0.671,114,1.669,115,0.804,118,1.758,119,1.292,120,1.408,129,0.158,130,0.088,132,0.98,133,0.078,134,1.554,139,1.236,140,1.292,141,1.113,142,0.685,155,2.175,156,3.092,160,1.183,161,0.892,162,1.011,163,1.078,164,1.556,165,1.347,166,1.556,167,1.556,168,1.477,169,1.556,170,1.556,173,1.477,174,1.477,181,1.556,185,1.648,188,1.525,208,2.073,212,0.587,245,2.377,246,2.175,256,1.099,257,0.724,262,1.347,287,1.698,297,0.995,299,0.873,308,1.576,326,0.688,333,0.804,334,1.242,335,1.242,337,1.599,359,2.549,382,1.652,387,1.796,390,1.961,400,1.275,435,1.114,466,1.848,493,1.341,511,0.55,610,3.034,612,2.609,614,2.813,621,3.889,629,1.758,635,1.154,636,1.196,659,2.813,661,2.816,662,1.347,679,1.569,712,3.034,785,1.669,813,1.578,816,3.034,820,3.295,848,2.182,875,1.987,902,1.408,944,1.648,960,3.48,961,3.693,962,3.556,1115,1.397,1129,1.556,1212,2.953,1270,2.636,1282,3.68,1330,3.939,1339,1.724,1378,2.813,1384,1.154,1410,2.813,1459,3.793,1464,3.034,1465,1.896,1745,3.521,1795,2.067,1843,1.783,1875,2.489,1913,1.477,1923,3.445,1928,2.308,1930,2.636,1931,1.408,1932,1.408,1939,1.408,1941,1.347,1942,1.292,1943,2.155,1947,2.229,1948,1.154,1949,1.408,1953,1.408,1955,1.408,1961,2.253,1994,1.477,2006,2.816,2011,1.347,2014,2.155,2089,1.408,2109,3.766,2113,1.292,2115,2.584,2121,2.813,2138,5.731,2139,1.648,2148,1.347,2153,2.636,2184,1.648,2195,1.648,2196,1.648,2197,1.648,2201,1.648,2220,2.694,2272,1.648,2273,1.648,2277,1.477,2283,1.648,2291,2.636,2296,1.648,2320,1.758,2373,1.896,2414,1.896,2415,5.835,2416,5.516,2417,4.163,2418,3.78,2419,4.163,2420,4.163,2421,3.78,2422,3.78,2423,3.78,2424,3.78,2425,5.689,2426,3.516,2427,4.163,2428,4.163,2429,4.163,2430,3.78,2431,3.33,2432,2.362,2433,2.362,2434,2.362,2435,3.33,2436,4.394,2437,2.362,2438,2.362,2439,3.034,2440,3.33,2441,2.362,2442,2.362,2443,3.33,2444,2.362,2445,2.362,2446,3.33,2447,2.362,2448,3.33,2449,4.757,2450,3.33,2451,3.33,2452,3.33,2453,2.813,2454,3.33,2455,2.362,2456,3.33,2457,3.33,2458,2.362,2459,3.33,2460,2.362,2461,4.163,2462,3.33,2463,3.33,2464,3.33,2465,2.362,2466,2.362,2467,2.362,2468,2.362,2469,2.362,2470,2.362,2471,2.362,2472,2.362,2473,2.362,2474,2.362,2475,2.362,2476,2.362,2477,2.362,2478,2.362,2479,3.793,2480,2.362,2481,2.362,2482,3.516,2483,3.33,2484,2.362,2485,2.362,2486,2.081,2487,2.081,2488,1.896,2489,2.081,2490,3.33,2491,2.081,2492,1.758,2493,1.758,2494,4.757,2495,4.163,2496,3.33,2497,3.33,2498,3.33,2499,2.081,2500,2.081,2501,2.081,2502,3.33,2503,2.081,2504,2.081,2505,2.081,2506,2.081,2507,2.081,2508,2.081,2509,2.081,2510,2.081,2511,2.081,2512,2.081,2513,1.896,2514,2.081,2515,2.081,2516,2.081,2517,2.081,2518,2.081,2519,2.081,2520,2.081,2521,2.081,2522,2.081,2523,2.081,2524,2.081,2525,2.081,2526,2.081,2527,2.081,2528,2.081,2529,2.081,2530,2.081,2531,2.081,2532,2.081,2533,2.081,2534,2.081,2535,2.081,2536,2.081,2537,2.081,2538,2.081,2539,2.081,2540,2.081,2541,2.081,2542,2.081,2543,2.081,2544,2.081,2545,2.081,2546,2.081,2547,2.081,2548,2.081,2549,1.758,2550,2.081,2551,1.758,2552,1.648,2553,1.896,2554,2.081,2555,2.081,2556,4.757,2557,4.757,2558,2.081,2559,3.33,2560,2.081,2561,2.081,2562,2.081,2563,2.081,2564,2.081,2565,2.081,2566,2.081,2567,2.081,2568,2.081,2569,2.081,2570,2.081,2571,2.081,2572,2.081,2573,1.896,2574,2.081,2575,2.081,2576,2.081,2577,2.081,2578,2.081,2579,3.33,2580,2.081,2581,2.081,2582,2.081,2583,2.081,2584,2.081,2585,2.081,2586,4.163,2587,2.081,2588,2.081,2589,3.33,2590,3.33,2591,3.33,2592,3.33,2593,2.081,2594,2.081,2595,2.081,2596,2.081,2597,2.081,2598,2.081,2599,2.081,2600,2.081,2601,2.081,2602,1.896,2603,2.081,2604,2.081,2605,2.081,2606,2.081,2607,2.081,2608,2.081,2609,2.081,2610,2.081,2611,2.081,2612,2.081,2613,2.081,2614,2.081,2615,2.081,2616,2.081,2617,2.081,2618,2.081,2619,2.081,2620,2.081,2621,2.081,2622,2.081,2623,2.081,2624,2.081,2625,2.081,2626,2.081,2627,2.081,2628,2.081,2629,2.081,2630,2.081,2631,2.081,2632,2.081,2633,2.081,2634,2.081,2635,2.081,2636,2.081,2637,2.081,2638,2.081,2639,2.081,2640,2.081,2641,2.081]],["title/interfaces/RegistrationStateModel.html",[129,0.292,2493,3.249]],["body/interfaces/RegistrationStateModel.html",[0,1.301,1,2.548,3,0.055,4,0.068,5,0.084,6,0.041,8,2.597,9,1.83,11,0.364,12,1.558,14,1.669,15,2.415,16,1.112,18,0.275,19,0.493,20,1.969,22,2.803,23,2.986,29,1.252,33,4.621,35,0.79,37,3.083,40,0.544,41,0.558,43,0.01,44,0.845,45,0.65,47,0.81,48,1.269,49,2.548,50,2.349,53,3.072,55,1.114,56,0.987,59,1.927,65,1.252,69,0.97,75,0.005,80,0.003,83,3.117,84,0.003,86,1.558,88,1.748,90,2.254,91,1.606,96,2.809,99,0.322,102,1.429,104,0.141,105,3.742,106,1.913,107,1.8,108,1.252,109,1.252,110,1.179,112,1.538,113,0.831,114,1.974,115,0.996,118,2.178,119,1.6,120,1.744,129,0.196,130,0.104,132,1.215,133,0.096,134,1.638,139,1.303,140,1.6,141,1.155,142,0.53,155,2.444,156,3.21,160,1.251,161,0.819,162,1.252,163,1.335,164,1.927,165,1.669,166,1.927,167,1.927,168,1.83,169,1.927,170,1.927,173,1.83,174,1.83,181,1.927,185,2.041,188,1.75,195,0.771,208,1.935,212,0.674,245,2.349,246,1.8,256,1.261,257,0.897,262,1.669,287,1.705,297,0.771,299,1.081,308,1.581,326,0.852,333,1.521,334,1.538,335,1.538,337,1.615,359,2.495,382,1.896,387,2.06,390,2.25,400,1.464,435,1.381,466,2.121,493,1.269,511,0.681,612,2.395,614,3.326,621,3.57,629,2.178,635,1.429,636,1.482,659,2.178,661,3.232,662,1.669,679,1.215,712,3.587,785,1.293,813,1.726,816,3.587,820,3.781,848,2.415,875,1.538,902,1.744,944,2.041,960,3.488,961,3.794,962,2.943,1115,1.081,1129,1.927,1212,2.444,1270,2.041,1282,3.309,1330,4.086,1339,1.335,1378,2.178,1384,1.429,1410,2.178,1459,2.349,1464,2.349,1465,2.349,1745,3.617,1795,2.444,1843,1.381,1875,1.927,1913,1.83,1923,2.965,1928,2.183,1930,3.117,1931,1.744,1932,1.744,1939,1.744,1941,1.669,1942,1.6,1943,2.548,1947,2.108,1948,1.429,1949,1.744,1953,1.744,1955,1.744,1961,2.664,1994,1.83,2006,3.232,2011,1.669,2014,2.548,2089,1.744,2109,3.117,2113,1.6,2115,2.444,2121,2.178,2138,5.154,2139,2.041,2148,1.669,2153,3.117,2184,2.041,2195,2.041,2196,2.041,2197,2.041,2201,2.041,2220,1.669,2272,2.041,2273,2.041,2277,1.83,2283,2.041,2291,3.117,2296,2.041,2373,2.349,2414,2.349,2415,6.307,2416,5.932,2417,2.578,2419,2.578,2420,2.578,2425,4.871,2426,2.178,2427,2.578,2428,2.578,2429,2.578,2431,2.578,2435,2.578,2436,3.781,2439,2.349,2440,2.578,2443,2.578,2446,2.578,2448,2.578,2449,4.776,2450,2.578,2451,2.578,2452,2.578,2453,2.178,2454,2.578,2456,2.578,2457,2.578,2459,2.578,2461,3.937,2462,2.578,2463,2.578,2464,2.578,2479,3.587,2482,3.326,2483,2.578,2486,2.578,2487,2.578,2488,2.349,2489,2.578,2490,3.937,2491,2.578,2492,2.178,2493,3.326,2494,6.314,2495,4.776,2496,3.937,2497,3.937,2498,3.937,2499,2.578,2500,2.578,2501,2.578,2502,3.937,2503,2.578,2504,2.578,2505,2.578,2506,2.578,2507,2.578,2508,2.578,2509,2.578,2510,2.578,2511,2.578,2512,2.578,2513,2.349,2514,2.578,2515,2.578,2516,2.578,2517,2.578,2518,2.578,2519,2.578,2520,2.578,2521,2.578,2522,2.578,2523,2.578,2524,2.578,2525,2.578,2526,2.578,2527,2.578,2528,2.578,2529,2.578,2530,2.578,2531,2.578,2532,2.578,2533,2.578,2534,2.578,2535,2.578,2536,2.578,2537,2.578,2538,2.578,2539,2.578,2540,2.578,2541,2.578,2542,2.578,2543,2.578,2544,2.578,2545,2.578,2546,2.578,2547,2.578,2548,2.578,2549,2.178,2550,2.578,2551,2.178,2552,2.041,2553,2.349,2554,2.578,2555,2.578,2556,5.346,2557,5.346,2558,2.578,2559,3.937,2560,2.578,2561,2.578,2562,2.578,2563,2.578,2564,2.578,2565,2.578,2566,2.578,2567,2.578,2568,2.578,2569,2.578,2570,2.578,2571,2.578,2572,2.578,2573,2.349,2574,2.578,2575,2.578,2576,2.578,2577,2.578,2578,2.578,2579,3.937,2580,2.578,2581,2.578,2582,2.578,2583,2.578,2584,2.578,2585,2.578,2586,4.776,2587,2.578,2588,2.578,2589,3.937,2590,3.937,2591,3.937,2592,3.937,2593,2.578,2594,2.578,2595,2.578,2596,2.578,2597,2.578,2598,2.578,2599,2.578,2600,2.578,2601,2.578,2602,2.349,2603,2.578,2604,2.578,2605,2.578,2606,2.578,2607,2.578,2608,2.578,2609,2.578,2610,2.578,2611,2.578,2612,2.578,2613,2.578,2614,2.578,2615,2.578,2616,2.578,2617,2.578,2618,2.578,2619,2.578,2620,2.578,2621,2.578,2622,2.578,2623,2.578,2624,2.578,2625,2.578,2626,2.578,2627,2.578,2628,2.578,2629,2.578,2630,2.578,2631,2.578,2632,2.578,2633,2.578,2634,2.578,2635,2.578,2636,2.578,2637,2.578,2638,2.578,2639,2.578,2640,2.578,2641,2.578]],["title/components/ReviewButtonComponent.html",[196,0.424,505,1.239]],["body/components/ReviewButtonComponent.html",[3,0.11,4,0.078,5,0.092,6,0.119,11,0.614,12,1.178,18,0.314,19,0.545,20,0.838,25,1.238,32,2.501,35,0.591,38,1.927,40,0.918,41,0.942,42,1.149,43,0.01,44,1.071,45,0.725,46,0.895,47,1.176,48,1.402,52,0.974,55,1.207,56,0.98,69,0.453,75,0.005,80,0.004,84,0.004,85,1.347,86,1.504,90,1.553,99,0.262,104,0.161,130,0.078,133,0.238,134,1.015,139,0.547,141,0.873,142,1.065,160,0.787,161,1.132,196,0.787,197,0.903,198,1.238,199,0.949,200,1.051,201,1.051,202,1.025,204,2.945,205,1.99,208,2.077,211,2.236,212,1.116,213,0.817,214,1.334,216,1.334,222,2.702,256,0.778,259,2.346,260,1.238,261,3.676,263,2.05,286,4.273,287,2.278,297,1.908,300,1.472,308,1.237,309,1.771,333,2.466,337,1.423,359,2.298,400,1.334,404,1.236,405,1.202,408,1.526,409,0.859,414,1.475,421,1.388,431,4.026,436,1.431,450,0.722,453,0.722,457,0.881,468,1.051,469,1.734,470,1.051,471,2.04,472,1.051,473,1.051,474,0.949,475,1.051,476,0.926,477,1.847,478,0.949,479,1.051,480,1.334,481,1.847,482,0.949,483,1.754,484,1.051,485,0.949,486,1.051,487,0.949,488,0.903,489,1.051,490,0.949,491,1.051,492,0.949,493,0.949,494,1.051,495,0.949,496,1.025,497,0.926,498,1.051,499,0.949,500,1.553,501,0.926,502,0.949,503,0.949,504,1.847,505,1.842,506,2.531,507,1.553,508,1.367,509,0.949,510,0.926,511,0.778,512,1.051,513,0.926,514,0.903,515,0.949,516,1.051,517,0.949,518,1.051,519,0.949,520,1.051,521,0.949,522,1.238,523,0.949,524,1.402,525,0.949,526,1.051,527,0.949,528,1.301,529,1.051,530,0.949,531,1.051,532,1.051,596,1.347,607,1.99,612,3.623,646,2.684,664,2.873,665,0.949,666,2.873,667,2.538,668,1.271,669,1.236,670,2.17,677,1.402,678,1.847,683,2.538,684,2.114,704,2.413,705,1.637,718,1.829,722,1.758,813,2.002,820,3.445,822,3.965,891,2.413,962,5.262,972,2.945,1008,3.965,1115,1.825,1121,4.352,1224,2.702,1233,2.091,1247,3.947,1281,2.413,1290,2.945,1562,3.676,1640,3.253,1677,5.053,1704,2.684,2232,4.771,2308,2.332,2320,2.489,2330,2.332,2336,4.352,2348,4.352,2349,5.175,2360,1.829,2388,2.684,2389,5.208,2411,2.332,2416,4.715,2453,3.676,2642,5.505,2643,6.221,2644,2.684,2645,4.94,2646,4.94,2647,5.874,2648,5.175,2649,4.352,2650,6.488,2651,6.488,2652,6.922,2653,5.874,2654,5.874,2655,4.94,2656,4.94,2657,3.344,2658,7.245,2659,4.94,2660,3.344,2661,3.344,2662,2.946,2663,4.352,2664,4.94,2665,4.94,2666,4.352,2667,4.94,2668,4.352,2669,3.344,2670,3.965,2671,4.352,2672,3.344,2673,4.94,2674,4.352,2675,3.344,2676,4.94,2677,2.946,2678,3.344,2679,3.344,2680,2.684,2681,2.202,2682,5.874,2683,3.344,2684,2.489,2685,3.344,2686,3.344,2687,3.344,2688,3.344,2689,3.344,2690,4.94,2691,3.344,2692,3.344,2693,3.344,2694,3.344,2695,3.344,2696,2.684,2697,2.684,2698,3.344,2699,3.344,2700,3.344]],["title/modules/ReviewButtonModule.html",[533,1.271,2701,3.045]],["body/modules/ReviewButtonModule.html",[3,0.119,4,0.149,5,0.119,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.306,130,0.149,133,0.21,424,1.638,505,2.579,506,2.217,535,1.81,536,2.217,547,2.394,548,1.81,550,2.591,552,2.458,556,2.333,584,5.617,735,2.591,736,2.736,737,2.17,742,4.164,743,3.487,1257,5.617,1667,5.311,1668,4.447,2642,4.199,2643,4.745,2681,4.199,2701,6.256,2702,5.617,2703,5.617,2704,5.617,2705,5.617,2706,6.101,2707,6.376]],["title/components/ReviewModalComponent.html",[196,0.424,508,1.209]],["body/components/ReviewModalComponent.html",[3,0.116,4,0.086,5,0.099,6,0.114,11,0.656,12,1.258,18,0.344,19,0.582,25,1.799,35,0.932,38,1.835,40,1.335,41,1.006,42,0.852,43,0.01,44,1.073,45,0.699,46,0.664,48,1.756,52,1.536,55,0.752,56,0.797,69,0.496,75,0.006,76,2.919,80,0.004,84,0.004,85,0.981,86,1.032,90,1.946,99,0.234,104,0.176,129,0.245,130,0.086,133,0.246,142,1.227,156,1.475,160,0.84,161,0.935,196,0.792,197,0.988,198,1.322,199,1.039,200,1.151,201,1.151,202,1.122,208,2.17,211,2.253,212,1.125,213,0.895,214,1.425,216,1.425,256,0.852,259,1.576,260,1.322,300,1.55,308,1.575,309,2.075,313,2.331,337,1.272,359,2.536,399,1.246,400,1.828,401,2.568,404,1.353,405,1.315,408,1.67,409,1.355,410,3.429,411,1.925,414,1.848,416,2.648,418,2.733,421,1.519,424,0.94,427,3.073,429,1.498,430,4.925,431,1.727,433,3.146,434,1.567,436,1.567,437,1.567,438,2.938,441,1.67,442,2.774,444,2.823,446,2.411,447,2.553,449,2.774,450,1.337,453,1.551,457,0.964,461,2.672,468,1.151,469,1.799,470,1.151,471,2.129,472,1.151,473,1.151,474,1.039,475,1.151,476,1.013,477,1.946,478,1.039,479,1.151,480,1.425,481,1.946,482,1.039,483,1.093,484,1.151,485,1.039,486,1.151,487,1.039,488,0.988,489,1.151,490,1.039,491,1.151,492,1.039,493,1.039,494,1.151,495,1.039,496,1.122,497,1.013,498,1.151,499,1.039,500,1.659,501,1.013,502,1.039,503,1.039,504,1.946,505,1.039,506,2.567,507,1.659,508,1.875,509,1.039,510,1.013,511,0.852,512,1.151,513,1.013,514,0.988,515,1.039,516,1.151,517,1.039,518,1.151,519,1.039,520,1.151,521,1.039,522,1.322,523,1.039,524,1.498,525,1.039,526,1.151,527,1.039,528,1.389,529,1.151,530,1.039,531,1.151,532,1.151,561,2.002,612,2.331,660,3.133,665,1.039,677,1.498,678,1.946,705,1.749,717,2.289,813,1.55,891,3.022,961,3.869,962,3.475,963,3.3,969,2.58,972,3.689,1018,2.724,1115,2.286,1247,4.583,1248,4.605,1301,2.087,1302,2.087,1312,2.331,1355,3.681,1368,3.681,1439,4.605,1561,2.724,1564,3.3,1847,2.182,2232,4.925,2329,4.925,2330,5.007,2337,5.342,2360,2.002,2384,2.553,2386,3.927,2392,4.605,2393,3.225,2436,2.553,2642,5.293,2670,2.938,2680,2.938,2681,5.293,2696,2.938,2697,2.938,2708,4.649,2709,4.967,2710,3.661,2711,5.342,2712,5.277,2713,5.452,2714,4.605,2715,5.452,2716,5.277,2717,4.236,2718,3.661,2719,3.661,2720,3.225,2721,2.938,2722,3.225,2723,3.225,2724,3.225,2725,3.225,2726,3.225,2727,3.225,2728,2.938,2729,3.225,2730,4.649,2731,5.277,2732,5.277,2733,3.661,2734,3.661,2735,5.277,2736,3.225,2737,3.661,2738,3.661]],["title/interfaces/ReviewModalData.html",[129,0.292,2711,3.249]],["body/interfaces/ReviewModalData.html",[3,0.131,4,0.13,5,0.104,6,0.079,11,0.69,18,0.521,19,0.771,25,1.391,35,0.981,40,1.301,41,1.059,43,0.01,44,0.773,45,0.635,48,1.576,56,0.839,75,0.007,80,0.006,84,0.006,90,1.746,99,0.29,104,0.267,129,0.372,130,0.13,133,0.23,142,1.388,160,1.114,161,0.839,195,1.462,196,0.804,208,2.384,211,1.391,212,0.869,214,1.499,216,1.499,259,2.287,308,1.533,309,2.099,337,1.652,359,2.527,424,1.426,430,3.657,469,1.391,506,2.571,508,1.537,660,3.878,665,1.576,677,1.576,678,1.746,813,1.919,891,3.74,961,4.789,972,4.565,1018,4.133,1115,2.83,1247,4.367,1248,5.699,1439,4.133,1561,4.133,1564,3.472,1847,3.311,2232,5.457,2329,4.607,2330,4.879,2337,5.206,2360,3.037,2384,3.873,2386,4.133,2392,5.699,2436,4.879,2642,3.657,2670,5.615,2680,4.458,2681,3.657,2696,4.458,2697,4.458,2708,4.893,2709,4.458,2711,5.699,2713,4.893,2714,4.133,2715,4.893,2717,4.458,2721,4.458,2722,6.163,2723,4.893,2724,4.893,2725,4.893,2726,4.893,2727,4.893,2728,4.458,2729,4.893]],["title/modules/ReviewModalModule.html",[533,1.271,2706,3.045]],["body/modules/ReviewModalModule.html",[3,0.121,4,0.151,5,0.121,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,424,1.664,506,1.886,508,2.519,535,1.839,536,2.238,547,2.417,548,1.839,550,2.616,552,2.091,556,2.355,562,3.19,563,2.534,735,2.616,736,2.762,737,2.204,1667,5.361,1668,4.518,2360,3.543,2410,5.199,2411,4.518,2412,6.17,2642,4.266,2681,4.266,2706,6.185,2739,5.707,2740,5.707,2741,5.707]],["title/components/RightSidebarComponent.html",[196,0.424,509,1.239]],["body/components/RightSidebarComponent.html",[1,3.87,3,0.099,4,0.086,5,0.099,6,0.102,8,3.206,9,2.3,11,0.658,12,1.715,15,2.3,18,0.345,19,0.584,22,2.383,23,2.847,33,4.497,35,0.936,38,1.579,40,0.984,41,1.01,42,0.856,43,0.01,44,1.074,45,0.616,46,0.667,47,1.23,52,1.071,69,0.498,75,0.006,76,1.735,77,3.157,80,0.006,84,0.004,85,1.154,86,1.213,88,2.655,91,2.439,99,0.272,104,0.177,130,0.086,133,0.247,140,3.393,142,0.667,158,4.086,160,1.081,161,1.166,188,1.187,196,0.698,197,0.993,198,1.327,199,1.044,200,1.157,201,1.157,202,1.127,208,0.993,209,1.582,210,1.582,211,2.253,212,1.124,213,0.899,214,1.43,216,1.43,219,2.784,237,2.953,256,1.443,257,1.127,259,1.582,260,1.327,287,1.665,300,1.555,307,2.784,308,1.557,309,1.517,310,2.896,313,2.741,321,1.099,331,2.193,332,2.098,333,1.802,337,0.756,387,1.398,399,1.252,400,2.022,401,3.204,402,2.3,403,2.3,404,2.973,405,2.23,406,3.538,408,3.282,409,1.743,410,3.793,413,3.03,414,2.237,416,2.266,418,3.177,427,2.656,428,3.393,429,2.042,431,1.735,432,2.193,433,3.157,434,2.656,442,2.784,444,2.416,445,2.133,448,2.498,449,1.934,450,1.667,451,1.797,453,1.893,457,0.969,459,2.423,461,3.437,464,1.863,468,1.665,469,1.802,470,1.157,471,2.134,472,1.157,473,1.157,474,1.044,475,1.157,476,1.018,477,1.951,478,1.044,479,1.157,480,1.43,481,1.951,482,1.044,483,1.099,484,1.157,485,1.044,486,1.157,487,1.044,488,0.993,489,1.157,490,1.044,491,1.157,492,1.044,493,1.044,494,1.157,495,1.044,496,1.127,497,1.018,498,1.157,499,1.044,500,1.665,501,1.018,502,1.044,503,1.044,504,1.951,505,1.044,506,1.542,507,1.665,508,1.018,509,1.927,510,1.018,511,0.856,512,1.157,513,1.018,514,0.993,515,1.044,516,1.157,517,1.044,518,1.157,519,1.044,520,1.157,521,1.044,522,1.327,523,1.044,524,1.503,525,1.044,526,1.157,527,1.044,528,1.394,529,1.157,530,1.044,531,1.157,532,1.157,586,5.353,607,2.133,635,1.797,665,1.044,671,2.738,677,1.503,678,1.951,705,1.755,715,2.566,718,2.896,727,2.3,728,2.423,729,2.423,813,1.327,828,2.423,860,3.941,875,3.568,937,2.953,968,2.566,969,2.972,972,2.193,976,2.566,1197,2.566,1245,4.086,1301,2.098,1302,2.098,1303,2.423,1304,2.738,1312,2.998,1315,3.311,1320,2.738,1368,2.566,1642,2.566,1715,2.953,1716,7.196,1717,5.467,1718,4.666,1731,5.467,1748,2.012,1795,3.712,1797,4.666,1798,4.666,1799,4.251,1800,2.953,1801,3.241,1803,5.467,1805,2.953,1808,3.241,1809,3.241,2492,2.738,2742,5.773,2743,6.787,2744,5.295,2745,5.295,2746,3.678,2747,3.678,2748,3.678,2749,3.678,2750,3.678,2751,3.678,2752,3.678,2753,6.205,2754,3.678,2755,3.678,2756,4.251,2757,3.678,2758,3.678,2759,3.678]],["title/modules/RightSidebarModule.html",[533,1.271,546,3.045]],["body/modules/RightSidebarModule.html",[3,0.106,4,0.132,5,0.106,6,0.08,43,0.01,75,0.008,80,0.006,84,0.006,99,0.342,104,0.272,130,0.132,133,0.187,212,0.705,326,1.651,409,1.821,424,1.457,453,1.225,509,2.541,535,1.61,536,2.064,546,6.367,547,2.229,548,1.61,550,2.413,552,2.288,556,2.172,562,2.942,563,2.219,566,3.736,568,5.691,569,4.553,586,4.221,657,3.736,730,5.932,735,2.413,736,2.548,737,1.931,742,3.877,743,3.102,1819,4.998,1820,6.246,1821,4.998,1822,5.691,1823,4.553,1832,5.691,1838,4.998,2643,4.221,2701,5.932,2742,4.553,2760,4.998,2761,4.998,2762,4.998,2763,4.998,2764,5.932,2765,5.932,2766,5.932,2767,5.932,2768,5.672,2769,5.672,2770,3.736,2771,5.672,2772,5.672,2773,3.736,2774,7.089,2775,4.221,2776,5.672,2777,3.956,2778,5.672,2779,5.672,2780,5.672,2781,7.089]],["title/interfaces/Rotation.html",[129,0.292,511,1.016]],["body/interfaces/Rotation.html",[3,0.098,4,0.122,5,0.098,6,0.074,11,0.651,18,0.492,19,0.743,40,0.974,41,0.999,43,0.01,44,0.729,45,0.739,47,0.95,56,1.018,69,0.913,71,2.191,75,0.007,80,0.006,84,0.006,85,0.974,86,1.679,99,0.255,104,0.252,129,0.351,130,0.157,133,0.222,139,0.857,141,1.39,142,0.95,160,1.187,161,1.126,195,1.38,196,0.809,209,1.565,210,1.565,211,1.313,212,0.838,214,1.415,216,1.415,258,2.315,259,2.35,321,1.565,382,2.964,387,3.222,390,3.518,429,2.234,466,2.637,469,1.313,510,1.451,511,2.079,548,1.488,596,2.111,664,2.798,665,1.488,666,3.094,667,2.637,668,1.992,669,1.936,670,2.491,677,1.488,678,1.648,679,3.094,683,2.637,843,3.687,888,2.988,1115,1.936,1224,2.866,1281,2.559,1289,3.451,1527,3.276,1531,3.451,1630,3.451,1673,4.947,1802,5.547,2684,3.9,2770,3.451,2782,3.655,2783,3.9,2784,5.94,2785,5.547,2786,4.617,2787,4.206,2788,4.206,2789,4.617,2790,4.206,2791,4.617,2792,4.617,2793,3.9,2794,4.206,2795,4.617,2796,4.206,2797,6.567,2798,7.342,2799,4.206,2800,4.617,2801,6.567,2802,4.617,2803,5.94,2804,5.94,2805,4.206,2806,4.617,2807,4.617,2808,4.617,2809,4.617]],["title/components/RotationSliderComponent.html",[196,0.424,510,1.209]],["body/components/RotationSliderComponent.html",[3,0.064,4,0.08,5,0.094,6,0.11,11,0.742,12,1.202,18,0.323,19,0.556,25,1.263,35,0.607,38,1.759,40,0.937,41,0.961,42,1.173,43,0.01,44,1.079,45,0.686,46,0.914,47,0.914,52,1.001,55,1.036,56,0.993,69,1.023,71,1.833,75,0.005,76,1.622,80,0.004,84,0.004,85,1.222,86,1.594,99,0.191,104,0.165,129,0.23,130,0.118,133,0.241,139,0.562,141,1.336,142,1.082,156,1.385,160,0.951,161,1.057,188,1.627,196,0.791,197,0.928,198,1.263,199,0.976,200,1.081,201,1.081,202,1.053,208,0.928,209,1.505,210,1.505,211,2.241,212,1.118,213,0.84,214,1.361,216,1.361,219,1.807,256,1.389,258,2.227,259,2.185,260,1.263,283,3.005,300,1.496,308,0.961,309,0.84,313,2.227,321,1.027,382,2.448,387,2.661,390,2.906,399,1.17,400,1.361,401,2.478,404,2.703,405,1.811,408,1.568,409,0.883,410,3.022,413,1.679,414,2.091,416,2.157,418,2.637,421,1.427,427,2.996,428,1.88,429,1.987,432,2.049,433,3.005,434,2.555,436,1.471,437,1.471,444,2.723,445,2.03,448,1.622,449,1.807,450,1.289,451,1.679,453,1.289,454,2.397,457,0.905,458,2.397,461,1.74,466,2.572,468,1.081,469,1.754,470,1.081,471,2.067,472,1.081,473,1.081,474,0.976,475,1.081,476,0.951,477,1.877,478,0.976,479,1.081,480,1.361,481,1.877,482,0.976,483,1.027,484,1.081,485,0.976,486,1.081,487,0.976,488,0.928,489,1.081,490,0.976,491,1.081,492,0.976,493,0.976,494,1.081,495,0.976,496,1.053,497,0.951,498,1.081,499,0.976,500,1.585,501,0.951,502,0.976,503,0.976,504,1.877,505,0.976,506,1.468,507,1.585,508,0.951,509,0.976,510,1.82,511,2.081,512,1.081,513,0.951,514,0.928,515,0.976,516,1.081,517,0.976,518,1.081,519,0.976,520,1.081,521,0.976,522,1.263,523,0.976,524,1.431,525,0.976,526,1.081,527,0.976,528,1.327,529,1.081,530,0.976,531,1.081,532,1.081,548,1.694,596,1.385,607,2.03,661,3.005,664,2.478,665,0.976,666,2.729,667,2.572,668,1.306,669,1.27,670,2.205,677,1.431,678,1.877,679,2.092,683,2.335,704,2.462,705,1.67,706,1.807,713,3.32,717,2.149,718,1.88,719,2.397,720,3.005,721,2.397,722,1.807,723,2.397,728,2.264,729,2.264,843,3.596,888,2.874,963,3.152,968,2.397,969,1.811,1115,1.863,1224,2.757,1281,2.462,1289,3.32,1301,2.874,1302,2.874,1303,2.264,1312,3.092,1354,3.152,1355,3.516,1527,3.152,1531,3.32,1630,3.32,1673,4.934,1802,4.442,2684,3.751,2770,5.107,2782,5.408,2783,2.558,2784,3.028,2785,4.893,2786,4.441,2787,4.046,2788,4.046,2789,4.441,2790,4.046,2791,4.441,2792,5.259,2793,3.751,2794,4.046,2795,5.259,2796,4.046,2797,5.792,2798,7.086,2799,4.046,2800,4.441,2801,5.259,2802,3.028,2803,4.441,2804,4.441,2805,4.046,2806,4.441,2807,4.441,2808,5.792,2809,3.028,2810,5.041,2811,5.041,2812,3.437,2813,5.041,2814,3.437,2815,3.437,2816,5.041,2817,4.046,2818,5.041,2819,3.437,2820,3.437,2821,3.028,2822,3.437,2823,4.441,2824,3.437,2825,6.574,2826,5.041]],["title/modules/RotationSliderModule.html",[533,1.271,2764,3.045]],["body/modules/RotationSliderModule.html",[3,0.12,4,0.15,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.308,130,0.15,133,0.211,424,1.648,510,2.516,511,1.492,535,1.821,536,2.225,547,2.403,548,1.821,550,2.601,552,2.07,556,2.342,562,3.172,563,2.509,735,2.601,736,2.746,737,2.183,740,5.33,741,4.474,742,4.179,743,3.508,2764,6.173,2770,4.224,2782,4.474,2827,5.652,2828,5.652,2829,5.652,2830,6.414,2831,6.414,2832,7.641,2833,6.414]],["title/injectables/SceneState.html",[0,1.271,92,2.49]],["body/injectables/SceneState.html",[0,1.315,2,1.693,3,0.056,4,0.069,5,0.056,6,0.119,11,0.562,15,2.356,16,1.717,18,0.279,19,0.498,20,2.027,22,2.52,23,2.079,24,4.563,25,1.132,29,2.965,32,2.288,35,0.966,36,2.383,37,3.588,38,1.934,40,0.84,41,0.861,42,1.051,43,0.01,44,0.761,45,0.704,46,0.819,47,1.108,48,1.283,49,3.119,50,2.876,55,1.124,56,0.682,65,1.934,69,0.89,71,1.736,75,0.005,80,0.003,84,0.003,85,0.84,86,0.58,88,2.14,90,2.068,92,2.576,96,3.107,99,0.309,104,0.143,105,3.927,106,1.934,107,1.82,108,1.271,109,1.271,110,1.196,112,2.375,113,0.843,114,1.311,115,1.01,119,1.624,122,2.14,123,2.14,124,2.14,125,2.021,126,2.14,127,2.209,128,1.355,129,0.303,130,0.106,132,1.232,133,0.098,134,1.759,138,3.151,139,1.268,141,1.344,155,2.462,160,0.473,161,0.923,162,1.271,163,1.355,164,1.955,165,1.693,166,1.955,167,1.955,168,1.856,169,1.955,170,1.955,188,2.325,205,1.196,212,0.369,257,0.91,287,1.421,297,1.44,299,1.097,308,1.043,337,0.61,353,3.344,378,1.561,380,2.876,384,3.486,385,2.071,405,2.668,411,3.903,429,1.967,435,3.269,445,2.462,450,0.641,453,0.641,466,1.161,511,1.804,621,2.976,635,1.45,636,1.503,639,1.503,640,1.503,642,1.271,655,1.624,848,1.097,875,2.876,895,3.331,902,4.13,930,1.856,941,5.782,943,2.976,944,2.071,945,2.976,946,2.976,947,2.976,948,3.627,954,1.77,965,2.876,967,4.895,1015,1.311,1073,2.825,1074,2.825,1115,1.669,1163,5.868,1263,3.458,1265,1.624,1312,1.311,1518,2.383,1545,2.383,1849,1.45,1916,2.693,1918,3.151,1919,4.264,1920,3.151,1922,2.976,1928,2.671,1935,1.955,1946,2.071,1947,2.58,1948,1.45,1949,1.77,1960,2.825,1992,3.815,1993,2.071,1994,1.856,2072,2.693,2073,2.071,2076,3.151,2078,2.071,2080,1.77,2140,1.955,2141,2.071,2142,1.955,2144,5.878,2148,3.486,2149,1.955,2156,2.071,2159,2.071,2160,2.071,2194,3.151,2199,2.071,2397,2.383,2402,2.383,2426,2.209,2549,3.362,2551,3.362,2552,3.151,2817,2.383,2834,2.209,2835,4.518,2836,4.819,2837,4.819,2838,4.819,2839,4.819,2840,4.819,2841,6.105,2842,4.518,2843,3.981,2844,2.969,2845,2.969,2846,3.981,2847,3.981,2848,3.627,2849,3.981,2850,5.795,2851,3.981,2852,3.981,2853,5.386,2854,3.981,2855,3.981,2856,3.981,2857,7.68,2858,2.969,2859,2.969,2860,2.969,2861,2.969,2862,2.969,2863,2.969,2864,2.969,2865,2.969,2866,2.969,2867,3.627,2868,2.969,2869,2.969,2870,2.969,2871,2.969,2872,2.969,2873,2.969,2874,4.518,2875,2.969,2876,2.969,2877,2.969,2878,2.969,2879,4.391,2880,2.616,2881,2.383,2882,2.383,2883,2.383,2884,2.209,2885,3.981,2886,2.383,2887,2.616,2888,3.981,2889,2.616,2890,3.981,2891,2.616,2892,2.616,2893,2.616,2894,2.616,2895,2.616,2896,2.616,2897,2.616,2898,3.981,2899,2.616,2900,2.616,2901,2.616,2902,2.616,2903,2.616,2904,3.981,2905,2.616,2906,2.616,2907,2.616,2908,2.616,2909,2.616,2910,2.616,2911,3.981,2912,2.616,2913,2.616,2914,2.616,2915,3.981,2916,2.616,2917,2.616,2918,2.616,2919,3.627,2920,6.541,2921,4.819,2922,2.616,2923,3.981,2924,3.981,2925,2.616,2926,2.616,2927,3.981,2928,3.981,2929,2.616,2930,2.616,2931,2.616,2932,2.616,2933,2.616,2934,2.616,2935,2.616,2936,2.616,2937,2.616,2938,2.616,2939,2.616,2940,2.616,2941,2.616,2942,2.616,2943,2.616,2944,2.616,2945,2.616,2946,2.616,2947,2.616,2948,2.616,2949,3.981,2950,2.616,2951,2.616,2952,2.616,2953,2.616,2954,2.616,2955,2.616,2956,2.616,2957,3.981,2958,2.616,2959,2.616,2960,2.616,2961,2.616,2962,2.616,2963,2.616,2964,2.616,2965,2.616,2966,2.616,2967,2.616,2968,2.616,2969,2.616,2970,2.616,2971,2.616,2972,2.616,2973,2.616,2974,2.616,2975,2.616,2976,2.616,2977,2.616,2978,2.616,2979,2.616,2980,2.616,2981,2.616]],["title/interfaces/SceneStateModel.html",[129,0.292,2884,3.249]],["body/interfaces/SceneStateModel.html",[0,1.443,3,0.063,4,0.078,5,0.063,6,0.048,11,0.417,15,2.29,16,1.277,18,0.315,19,0.547,20,1.737,22,2.405,23,1.884,24,4.567,29,2.521,35,0.876,37,3.272,40,0.624,41,0.64,43,0.01,44,0.468,45,0.59,47,0.898,48,0.953,49,2.826,50,2.606,56,0.507,65,1.438,69,0.797,71,1.818,75,0.005,80,0.004,84,0.004,85,0.624,88,1.939,90,1.852,92,1.915,96,3.083,99,0.317,104,0.161,105,4.05,106,2.121,107,1.996,108,1.438,109,1.438,110,1.353,112,2.606,113,0.953,114,1.484,115,1.143,119,1.837,122,1.939,123,1.939,124,1.939,125,1.831,126,1.939,127,2.5,128,1.532,129,0.332,130,0.116,132,1.394,133,0.111,134,1.788,138,3.457,139,1.308,141,1.361,155,2.372,160,0.535,161,0.749,162,1.438,163,1.532,164,2.212,165,1.915,166,2.212,167,2.212,168,2.1,169,2.212,170,2.212,188,2.342,195,0.884,205,1.353,212,0.417,257,1.029,287,1.056,297,1.305,299,1.241,308,0.64,337,1.21,353,3.221,378,1.766,380,3.096,384,3.708,385,2.343,405,2.768,411,3.946,429,2.06,435,3.272,445,1.996,450,0.725,453,0.725,466,1.314,511,1.792,621,3.264,635,1.64,636,1.701,639,1.701,640,1.701,642,1.438,655,1.837,848,1.241,875,2.606,895,2.982,902,4.326,930,2.1,941,6.024,943,3.264,944,2.343,945,3.264,946,3.264,947,3.264,948,3.978,954,2.002,965,2.878,967,3.688,1015,1.484,1073,2.1,1074,2.1,1115,1.241,1163,5.733,1263,3.096,1265,1.837,1312,1.484,1518,2.696,1545,2.696,1849,1.64,1916,2.954,1918,3.457,1919,4.108,1920,3.457,1922,3.264,1928,2.421,1935,2.212,1946,2.343,1947,2.338,1948,1.64,1949,2.002,1960,3.099,1992,2.343,1993,2.343,1994,2.1,2072,2.954,2073,2.343,2076,3.457,2078,2.343,2080,2.002,2140,2.212,2141,2.343,2142,2.212,2144,5.92,2148,3.708,2149,2.212,2156,2.343,2159,2.343,2160,2.343,2194,3.457,2199,2.343,2397,2.696,2402,2.696,2426,2.5,2549,3.688,2551,3.688,2552,3.457,2817,2.696,2834,2.5,2836,2.959,2837,2.959,2838,2.959,2839,2.959,2840,2.959,2841,4.366,2843,2.959,2846,2.959,2847,2.959,2848,2.696,2849,2.959,2850,5.728,2851,2.959,2852,2.959,2853,5.189,2854,2.959,2855,2.959,2856,2.959,2857,7.691,2867,2.696,2879,4.728,2880,2.959,2881,2.696,2882,2.696,2883,2.696,2884,3.688,2885,6.11,2886,2.696,2887,2.959,2888,4.366,2889,2.959,2890,4.366,2891,2.959,2892,2.959,2893,2.959,2894,2.959,2895,2.959,2896,2.959,2897,2.959,2898,4.366,2899,2.959,2900,2.959,2901,2.959,2902,2.959,2903,2.959,2904,4.366,2905,2.959,2906,2.959,2907,2.959,2908,2.959,2909,2.959,2910,2.959,2911,4.366,2912,2.959,2913,2.959,2914,2.959,2915,4.366,2916,2.959,2917,2.959,2918,2.959,2919,3.978,2920,6.787,2921,5.189,2922,2.959,2923,4.366,2924,4.366,2925,2.959,2926,2.959,2927,4.366,2928,4.366,2929,2.959,2930,2.959,2931,2.959,2932,2.959,2933,2.959,2934,2.959,2935,2.959,2936,2.959,2937,2.959,2938,2.959,2939,2.959,2940,2.959,2941,2.959,2942,2.959,2943,2.959,2944,2.959,2945,2.959,2946,2.959,2947,2.959,2948,2.959,2949,4.366,2950,2.959,2951,2.959,2952,2.959,2953,2.959,2954,2.959,2955,2.959,2956,2.959,2957,4.366,2958,2.959,2959,2.959,2960,2.959,2961,2.959,2962,2.959,2963,2.959,2964,2.959,2965,2.959,2966,2.959,2967,2.959,2968,2.959,2969,2.959,2970,2.959,2971,2.959,2972,2.959,2973,2.959,2974,2.959,2975,2.959,2976,2.959,2977,2.959,2978,2.959,2979,2.959,2980,2.959,2981,2.959]],["title/interfaces/SlicesConfig.html",[129,0.292,1921,2.49]],["body/interfaces/SlicesConfig.html",[0,1.151,3,0.047,4,0.058,5,0.047,6,0.035,8,1.069,11,0.311,15,2.041,16,0.95,18,0.235,19,0.436,20,1.617,22,2.392,23,0.95,29,1.069,35,0.441,37,2.864,40,0.464,41,0.476,43,0.01,44,1.005,45,0.684,47,0.716,48,0.709,49,1.425,50,1.313,53,3.991,56,1.216,65,1.069,69,0.949,71,1.757,75,0.004,80,0.003,84,0.003,88,0.977,90,2.03,91,1.42,96,3.111,99,0.302,104,0.12,105,2.482,106,1.691,107,1.592,108,1.069,109,1.069,110,1.006,113,0.709,115,0.85,120,1.489,122,1.546,123,1.546,124,0.977,125,0.923,126,1.546,128,1.803,129,0.328,130,0.158,132,1.037,133,0.082,134,1.441,139,1.338,141,1.306,142,0.716,149,3.322,155,2.824,156,1.975,160,1.282,161,1.245,162,1.069,163,1.14,173,1.562,174,1.562,177,1.743,182,0.874,184,1.743,195,0.658,212,0.491,245,1.42,246,1.592,256,1.573,257,2.265,269,2.603,281,1.425,287,1.909,297,1.467,299,2.974,301,1.366,303,1.425,304,1.265,308,0.753,326,0.727,337,1.008,353,2.161,359,1.664,382,2.524,387,2.743,390,2.996,400,0.674,405,1.762,409,1.431,429,1.99,435,2.313,445,1.592,450,1.311,453,1.204,457,0.658,488,1.825,511,1.679,514,1.504,528,0.658,612,1.745,655,3.32,662,1.425,667,1.546,668,0.95,669,0.923,670,0.923,673,2.796,679,2.035,683,0.977,684,3.331,687,1.22,754,1.489,761,2.237,785,2.851,813,0.99,848,1.811,894,4.513,895,2.001,932,3.065,942,5.034,943,3.998,945,1.645,946,1.645,947,1.645,949,2.603,954,1.489,965,2.313,1015,3.555,1115,0.923,1212,2.681,1224,1.366,1258,3.048,1261,3.887,1263,3.555,1265,1.366,1333,3.648,1334,4.125,1335,3.178,1336,2.796,1339,2.945,1384,1.22,1745,2.923,1746,2.756,1748,3.531,1749,3.998,1750,2.756,1761,1.859,1795,3.32,1843,1.864,1844,2.681,1849,1.22,1881,1.562,1913,1.562,1914,1.645,1915,2.005,1916,3.848,1917,4.252,1918,4.503,1919,4.503,1920,4.503,1921,4.116,1922,4.754,1923,4.043,1924,1.645,1925,4.716,1926,3.172,1927,4.503,1928,1.93,1929,2.471,1930,2.756,1931,1.489,1932,1.489,1933,2.005,1934,1.859,1935,1.645,1936,2.005,1937,1.645,1938,2.005,1939,1.489,1940,2.005,1941,1.425,1942,1.366,1943,2.253,1944,2.005,1945,2.005,1946,1.743,1947,1.864,1948,1.22,1949,1.489,1950,1.425,1951,1.425,1952,1.859,1953,4.031,1954,3.172,1955,3.619,1956,1.859,1957,2.005,1958,2.005,1959,2.005,1960,3.065,1961,2.356,1962,2.005,1963,2.005,1964,2.005,1965,2.005,1966,2.005,1967,2.005,1968,2.005,1969,2.005,1970,2.005,1971,2.005,1972,2.005,1973,2.005,1974,2.005,1975,2.005,1976,2.005,1977,2.005,1978,2.005,1979,2.005,1980,2.005,1981,2.005,1982,2.005,1983,2.005,1984,2.005,1985,1.859,1986,1.859,1987,2.005,1988,2.005,1989,2.005,1990,2.005,1991,2.005,1992,1.743,1993,1.743,1994,1.562,1995,2.005,1996,2.005,1997,3.935,1998,2.005,1999,5.428,2000,2.005,2001,2.005,2002,3.172,2003,2.941,2004,2.005,2005,2.005,2006,4.974,2007,2.005,2008,2.005,2009,2.005,2010,2.005,2011,1.425,2012,2.005,2013,4.473,2014,2.253,2015,2.005,2016,2.005,2017,2.005,2018,1.489,2019,2.005,2020,2.005,2021,3.172,2022,2.005,2023,4.473,2024,2.005,2025,3.172,2026,2.005,2027,2.005,2028,2.005,2029,2.005,2030,2.005,2031,2.005,2032,2.005,2033,2.005,2034,2.005,2035,2.005,2036,2.005,2037,2.005,2038,2.005,2039,2.005,2040,2.005,2041,2.005,2042,2.005,2043,2.005,2044,2.005,2045,3.172,2046,2.005,2047,2.005,2048,2.005,2049,2.005,2050,2.005,2051,2.005,2052,2.005,2053,2.005,2054,2.005,2055,3.172,2056,2.005,2057,2.005,2058,2.005,2059,2.005,2060,2.005,2061,2.005,2062,2.005,2063,2.005,2064,2.005,2065,2.005,2066,2.005,2067,2.005,2068,2.005,2069,2.005,2070,2.005,2071,3.172,2072,1.489,2073,1.743,2074,2.005,2075,1.645,2076,1.743,2077,3.172,2078,3.419,2079,3.172,2080,2.356,2081,3.172,2082,2.005,2083,2.005,2084,2.005,2085,2.005,2086,2.005,2087,2.005,2088,2.005,2089,1.489,2090,2.005,2091,2.005,2092,2.005,2093,2.005,2094,2.005,2095,2.005]],["title/interfaces/SlicesConfig-1.html",[129,0.244,188,1.175,1921,2.075]],["body/interfaces/SlicesConfig-1.html",[3,0.098,4,0.122,5,0.098,6,0.074,11,0.649,18,0.49,19,0.742,40,0.971,41,0.996,43,0.01,44,0.937,45,0.61,47,0.947,55,1.074,56,1.016,69,0.707,71,2.15,75,0.007,80,0.006,84,0.006,85,0.971,86,1.455,99,0.255,104,0.251,128,2.384,129,0.499,130,0.157,133,0.221,134,1.074,139,1.1,141,1.189,160,1.185,161,1.124,182,1.827,195,1.376,196,0.763,209,1.56,210,1.56,211,1.309,212,0.836,214,1.41,216,1.41,256,1.937,259,2.589,260,1.309,321,1.56,337,1.074,359,2.429,469,1.309,513,1.446,514,2.376,596,2.104,658,3.115,660,3.407,661,4.686,662,2.979,664,2.793,665,1.483,666,2.793,667,2.632,668,1.986,669,1.93,670,2.486,674,3.888,675,3.441,676,3.441,677,1.483,678,1.643,679,3.456,680,3.888,681,3.441,683,2.632,684,2.236,685,4.207,686,3.115,687,3.839,688,3.888,689,3.441,692,3.441,693,3.267,700,3.888,750,2.979,813,1.309,1243,4.207,1921,4.482,1927,5.482,1953,5.116,1955,4.849,1961,4.437,2220,2.979,2343,4.194,2773,3.441,2982,3.644,2983,5.539,2984,4.603,2985,4.603,2986,4.603,2987,4.603,2988,4.603,2989,4.194,2990,4.603,2991,6.558,2992,6.558,2993,4.603,2994,5.928,2995,4.603,2996,5.928,2997,4.603,2998,4.603]],["title/components/SlicesInputComponent.html",[196,0.424,513,1.209]],["body/components/SlicesInputComponent.html",[3,0.068,4,0.084,5,0.098,6,0.114,11,0.763,12,1.247,18,0.339,19,0.576,25,1.31,32,2.647,35,0.638,38,1.829,40,0.972,41,0.997,42,1.216,43,0.01,44,1.132,45,0.675,46,0.948,47,0.948,52,1.052,55,1.468,56,1.017,69,0.911,71,1.539,75,0.006,76,1.705,80,0.004,84,0.004,85,1.251,86,1.537,99,0.198,104,0.173,128,2.385,129,0.35,130,0.122,133,0.245,134,0.743,139,0.855,141,1.085,142,0.655,160,0.978,161,1.079,182,1.828,188,1.687,196,0.745,197,0.975,198,1.31,199,1.026,200,1.136,201,1.136,202,1.107,208,0.975,209,1.561,210,1.561,211,2.25,212,1.123,213,0.883,214,1.411,216,1.411,219,1.9,256,1.786,259,2.601,260,1.687,300,1.539,307,1.9,308,0.997,309,0.883,321,1.079,337,1.074,359,2.293,399,1.23,400,1.817,401,2.549,404,1.335,408,1.649,409,0.928,413,1.765,414,1.079,421,1.5,427,1.546,434,2.237,436,1.546,437,1.546,444,2.385,445,1.455,448,1.705,450,0.78,451,1.765,453,1.129,454,2.52,457,0.951,461,1.829,468,1.136,469,1.789,470,1.136,471,2.117,472,1.136,473,1.136,474,1.026,475,1.136,476,1,477,1.931,478,1.026,479,1.136,480,1.411,481,1.931,482,1.026,483,1.079,484,1.136,485,1.026,486,1.136,487,1.026,488,0.975,489,1.136,490,1.026,491,1.136,492,1.026,493,1.026,494,1.136,495,1.026,496,1.107,497,1,498,1.136,499,1.026,500,1.644,501,1,502,1.026,503,1.026,504,1.931,505,1.026,506,1.522,507,1.644,508,1,509,1.026,510,1,511,0.841,512,1.136,513,1.863,514,2.36,515,1.026,516,1.136,517,1.026,518,1.136,519,1.026,520,1.136,521,1.026,522,1.31,523,1.026,524,1.484,525,1.026,526,1.136,527,1.026,528,1.376,529,1.136,530,1.026,531,1.136,532,1.136,561,1.976,592,2.9,596,1.455,607,2.474,658,2.154,660,1.829,661,4.013,662,2.981,664,2.549,665,1.026,666,2.17,667,2.633,668,1.373,669,1.335,670,2.269,674,3.89,675,3.443,676,4.045,677,1.484,678,1.931,679,3.42,680,3.89,681,3.443,683,2.403,684,2.237,685,4.466,686,3.116,687,3.636,688,3.89,689,3.443,692,2.38,693,2.259,700,3.89,704,2.553,705,1.732,706,1.9,713,4.045,714,3.183,715,2.52,716,3.183,717,2.259,718,1.976,719,2.52,720,2.154,721,2.52,722,1.9,723,2.52,724,3.183,725,2.9,726,2.52,727,2.259,728,2.38,729,2.38,750,2.06,813,1.31,1243,2.259,1312,1.596,1921,4.245,1927,4.981,1953,4.577,1955,3.116,1961,3.662,2220,2.981,2343,4.196,2773,5.276,2821,3.183,2982,5.588,2983,5.009,2984,5.412,2985,5.412,2986,3.183,2987,4.606,2988,4.606,2989,4.196,2990,4.606,2991,5.412,2992,5.412,2993,3.183,2994,4.606,2995,3.183,2996,4.606,2997,5.931,2998,3.183,2999,5.227,3000,3.613,3001,3.613,3002,3.613,3003,5.227,3004,3.613,3005,3.613,3006,3.613,3007,3.613,3008,6.731,3009,5.227,3010,5.227,3011,3.613]],["title/modules/SlicesInputModule.html",[533,1.271,2765,3.045]],["body/modules/SlicesInputModule.html",[3,0.119,4,0.149,5,0.119,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.337,104,0.305,130,0.149,133,0.209,212,0.791,326,1.852,424,1.634,513,2.514,514,1.717,535,1.806,536,2.214,547,2.391,548,1.806,550,2.588,552,2.053,556,2.33,562,3.156,563,2.488,734,5.106,735,2.588,736,2.732,737,2.165,738,5.658,739,4.734,740,5.303,741,4.436,742,4.158,743,3.479,744,5.106,2765,6.163,2773,4.189,2982,4.436,3012,5.604,3013,5.604,3014,5.604,3015,7.603]],["title/components/StageNavComponent.html",[196,0.424,515,1.239]],["body/components/StageNavComponent.html",[3,0.051,4,0.063,5,0.079,6,0.119,11,0.831,12,1.005,18,0.396,19,0.465,20,1.056,25,1.056,32,2.134,35,0.479,38,1.944,40,0.784,41,0.804,42,1.555,43,0.01,44,1.09,45,0.735,46,1.211,47,0.764,52,1.697,55,1.373,56,1.053,61,4.066,69,0.367,75,0.004,80,0.003,84,0.003,85,1.242,86,1.41,99,0.159,104,0.13,125,1.002,130,0.098,133,0.22,134,0.866,139,0.443,141,1.03,142,0.764,156,2.692,160,0.928,161,1.009,182,1.474,188,0.875,196,0.77,197,0.732,198,1.056,199,0.77,200,0.853,201,0.853,202,0.831,208,0.732,209,1.259,210,1.259,211,2.192,212,1.097,213,0.663,214,1.138,216,1.138,228,3.713,233,3.383,234,3.713,244,3.6,250,1.892,251,3.404,252,2.389,253,4.749,256,0.631,257,0.831,258,1.861,259,2.338,260,1.855,262,2.947,263,3.142,272,3.136,273,3.136,286,2.776,287,2.101,297,1.993,300,1.295,308,0.804,309,0.663,321,0.81,322,1.786,324,4.157,333,2.148,337,1.556,382,0.948,398,3.713,399,0.923,400,1.946,401,3.199,402,2.635,403,2.635,404,1.91,407,3.6,409,0.697,410,1.373,413,1.325,414,0.81,418,2.283,421,1.749,428,2.827,429,1.655,434,2.212,436,1.161,437,1.161,441,1.237,442,1.426,444,2.659,445,2.348,447,1.892,448,1.988,449,2.718,450,1.443,451,1.325,453,1.506,457,2.171,461,3.384,464,1.373,468,0.853,469,1.582,470,0.853,471,1.833,472,0.853,473,0.853,474,0.77,475,0.853,476,0.751,477,1.625,478,0.77,479,0.853,480,1.138,481,1.625,482,0.77,483,0.81,484,0.853,485,0.77,486,0.853,487,0.77,488,0.732,489,0.853,490,0.77,491,0.853,492,0.77,493,0.77,494,0.853,495,0.77,496,0.831,497,0.751,498,0.853,499,0.77,500,1.325,501,0.751,502,0.77,503,0.77,504,1.625,505,0.77,506,1.227,507,1.325,508,0.751,509,0.77,510,0.751,511,0.631,512,0.853,513,0.751,514,0.732,515,1.655,516,0.853,517,0.77,518,0.853,519,0.77,520,0.853,521,0.77,522,1.056,523,0.77,524,1.196,525,0.77,526,0.853,527,0.77,528,1.76,529,0.853,530,0.77,531,0.853,532,0.853,596,1.092,607,1.698,612,2.283,664,2.62,665,0.77,666,2.895,667,2.28,668,1.031,669,1.002,670,1.91,677,1.196,678,1.625,679,1.126,681,3.839,683,2.022,704,2.058,705,1.397,706,1.426,723,1.892,726,2.939,813,1.747,827,1.786,894,4.508,895,3.749,911,3.383,949,4.157,954,3.081,960,2.617,963,1.696,965,2.145,969,2.77,1015,3.667,1034,2.305,1084,5.862,1224,3.188,1269,6.669,1273,2.512,1279,4.464,1281,2.847,1282,3.384,1309,2.018,1312,2.575,1353,2.018,1354,1.696,1531,3.839,1564,3.232,1613,3.475,1630,4.401,1640,3.404,1647,2.177,1673,2.403,1684,6.368,1744,3.713,1748,1.483,1771,3.383,1772,3.383,1800,3.383,1804,5.19,2113,1.483,2115,1.483,2220,1.546,2573,4.679,2793,5.19,2796,4.679,3016,6.255,3017,2.177,3018,3.713,3019,4.214,3020,4.214,3021,7.569,3022,5.169,3023,4.214,3024,5.169,3025,6.313,3026,5.169,3027,5.169,3028,4.214,3029,4.214,3030,5.829,3031,5.169,3032,5.169,3033,5.169,3034,5.829,3035,5.829,3036,2.712,3037,2.712,3038,4.214,3039,4.214,3040,5.169,3041,5.169,3042,4.554,3043,2.712,3044,2.712,3045,2.712,3046,4.214,3047,4.214,3048,5.169,3049,4.149,3050,5.888,3051,5.169,3052,5.169,3053,4.214,3054,2.712,3055,5.829,3056,4.214,3057,2.712,3058,2.712,3059,2.712,3060,4.214,3061,2.712,3062,4.214,3063,2.712,3064,2.712,3065,2.712,3066,2.712,3067,5.136,3068,5.829,3069,2.712,3070,2.712,3071,2.712,3072,2.712,3073,5.169,3074,2.712,3075,2.712,3076,2.712,3077,2.712,3078,2.712,3079,4.214,3080,2.712,3081,2.712,3082,2.712,3083,2.712,3084,2.712,3085,2.712,3086,2.712,3087,5.829,3088,4.214,3089,2.389,3090,2.712,3091,2.712,3092,2.712,3093,5.169]],["title/modules/StageNavModule.html",[533,1.271,1079,3.045]],["body/modules/StageNavModule.html",[3,0.117,4,0.145,5,0.117,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.338,104,0.299,130,0.145,133,0.205,424,1.599,457,1.639,497,2.078,515,2.571,535,1.767,536,2.185,547,2.36,548,1.767,550,2.555,552,2.423,556,2.3,562,3.115,563,2.435,735,2.555,736,2.697,737,2.119,742,4.105,743,3.405,1079,6.232,1084,4.342,1326,6.613,1327,5.485,1670,4.1,1706,5.439,1822,6.025,1823,4.998,1828,4.998,1829,4.998,3016,4.633,3094,5.485,3095,5.485,3096,6.226,3097,5.485,3098,6.226,3099,7.506,3100,6.226,3101,6.226]],["title/modules/StoreModule.html",[533,1.271,1091,3.045]],["body/modules/StoreModule.html",[1,4.145,3,0.111,4,0.138,5,0.111,6,0.084,8,3.111,9,3.693,43,0.01,75,0.008,80,0.006,84,0.006,88,2.843,90,1.857,91,2.612,92,4.145,99,0.343,104,0.284,107,2.928,110,2.379,119,3.23,120,3.521,121,4.741,130,0.17,133,0.194,139,0.966,165,3.368,204,3.521,212,0.734,246,2.928,326,2.116,359,2.171,441,2.695,533,1.72,535,1.677,552,1.906,556,2.227,639,2.991,640,2.991,687,2.885,875,3.822,930,4.545,974,5.204,1091,5.07,1124,4.12,1376,4.396,1387,4.787,1677,4.12,1795,3.23,1868,4.12,1947,3.429,1948,2.885,1949,3.521,2115,3.23,2492,4.396,2714,4.396,2787,4.741,2883,4.741,3102,4.741,3103,5.906,3104,5.204,3105,5.906,3106,5.204,3107,7.433,3108,5.906,3109,5.204,3110,5.906,3111,5.906,3112,5.204,3113,4.741,3114,5.906,3115,5.906,3116,5.906,3117,5.906,3118,5.906,3119,5.906,3120,5.906,3121,5.906,3122,5.906,3123,5.906,3124,5.906,3125,5.204,3126,5.906,3127,5.906,3128,5.906,3129,5.906,3130,5.906]],["title/interfaces/Tag.html",[12,1.041,129,0.292]],["body/interfaces/Tag.html",[3,0.117,4,0.146,5,0.117,6,0.089,8,2.674,11,0.777,12,2.1,18,0.587,19,0.83,43,0.01,45,0.806,69,1.134,70,4.115,71,2.022,75,0.008,77,3.725,80,0.009,84,0.008,116,5.237,117,3.725,129,0.504,130,0.189,140,4.688,143,5.315,155,3.374,156,3.507,158,5.315,189,4.115,195,1.645,278,2.309,400,2.031,1842,4.703,1843,3.549,1924,4.115,3131,4.65,3132,4.65,3133,5.015,3134,5.505]],["title/components/TagListComponent.html",[196,0.424,517,1.239]],["body/components/TagListComponent.html",[3,0.074,4,0.092,5,0.104,6,0.118,8,1.688,11,0.871,12,2.19,18,0.37,19,0.614,25,1.394,30,4.903,33,5.115,35,0.697,38,1.903,40,1.035,41,1.061,42,1.63,43,0.01,44,1.154,45,0.742,46,1.27,47,1.009,52,1.148,55,1.325,56,0.841,66,4.467,69,0.873,71,1.616,75,0.006,80,0.004,84,0.004,85,1.035,86,1.088,99,0.244,104,0.189,116,3.48,130,0.092,133,0.252,134,1.144,140,3.044,141,1.238,142,0.715,143,4.613,145,3.166,158,2.598,160,1.116,161,1.158,181,2.598,196,0.717,197,1.065,198,1.394,199,1.12,200,1.24,201,1.24,202,1.209,208,1.065,209,1.662,210,1.662,211,2.266,212,1.129,213,0.964,214,1.502,216,1.502,256,1.295,259,1.662,260,1.394,300,1.616,308,1.061,309,0.964,321,1.178,387,1.499,390,1.637,399,1.342,400,1.065,406,3.174,407,2.249,409,1.013,429,1.12,432,2.351,450,0.852,453,0.852,457,1.039,468,1.24,469,1.851,470,1.24,471,2.203,472,1.24,473,1.24,474,1.12,475,1.24,476,1.092,477,2.028,478,1.12,479,1.24,480,1.502,481,2.028,482,1.12,483,1.178,484,1.24,485,1.12,486,1.24,487,1.12,488,1.065,489,1.24,490,1.12,491,1.24,492,1.12,493,1.12,494,1.24,495,1.12,496,1.209,497,1.092,498,1.24,499,1.12,500,1.75,501,1.092,502,1.12,503,1.12,504,2.028,505,1.12,506,1.62,507,1.75,508,1.092,509,1.12,510,1.092,511,0.918,512,1.24,513,1.092,514,1.065,515,1.12,516,1.24,517,1.988,518,1.24,519,1.12,520,1.24,521,1.12,522,1.394,523,1.12,524,1.58,525,1.12,526,1.24,527,1.12,528,1.465,529,1.24,530,1.12,531,1.24,532,1.24,596,1.589,607,2.242,642,1.688,664,3.066,665,1.12,666,2.677,667,2.74,668,1.499,669,1.457,670,2.383,677,1.58,678,2.028,683,2.523,704,2.718,705,1.844,706,2.074,964,2.598,969,1.417,1212,3.044,1281,3.421,1301,2.249,1302,2.249,1312,1.742,1470,3.48,1842,3.48,1843,3.042,2392,4.142,2513,3.166,2756,6.85,2775,6.171,3135,5.461,3136,3.475,3137,5.565,3138,6.449,3139,5.565,3140,5.565,3141,6.449,3142,6.449,3143,5.565,3144,3.944,3145,3.944,3146,5.565,3147,3.944,3148,4.467,3149,4.903,3150,5.565,3151,3.944,3152,4.903,3153,3.944,3154,4.467,3155,4.903,3156,3.475,3157,3.944,3158,3.944,3159,3.944,3160,3.944,3161,6.449,3162,3.944,3163,3.944,3164,3.475]],["title/modules/TagListModule.html",[533,1.271,2766,3.045]],["body/modules/TagListModule.html",[3,0.122,4,0.152,5,0.122,6,0.092,12,1.552,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.313,130,0.152,133,0.214,424,1.672,517,2.585,535,1.848,536,2.244,547,2.424,548,1.848,550,2.623,552,2.101,556,2.362,562,3.199,563,2.546,735,2.623,736,2.77,737,2.215,2766,6.191,2775,4.844,3135,4.287,3165,5.735,3166,5.735,3167,5.735,3168,6.509,3169,6.791,3170,5.735,3171,6.509]],["title/components/TagSearchComponent.html",[196,0.424,519,1.239]],["body/components/TagSearchComponent.html",[3,0.041,4,0.052,5,0.067,6,0.12,8,0.944,11,0.86,12,2.043,18,0.336,19,0.394,20,1.918,25,0.896,28,4.165,33,4.329,35,0.632,38,1.967,40,0.665,41,0.682,42,1.558,43,0.01,44,1.065,45,0.711,46,1.214,47,0.648,48,1.015,52,1.778,55,1.573,56,1.012,69,0.827,70,2.356,71,1.859,72,4.787,75,0.004,76,3.433,77,5.195,78,2.871,79,2.871,80,0.009,82,3.619,84,0.008,85,1.353,86,1.354,90,1.125,96,1.359,99,0.243,104,0.106,111,1.642,113,0.626,114,0.974,115,0.751,116,3.566,117,4.24,122,2.03,123,2.03,125,1.917,128,1.006,130,0.052,133,0.201,134,1.377,139,1.163,140,3.119,141,1.286,142,0.4,155,0.889,160,1.103,161,1.171,181,1.453,188,1.841,189,1.453,196,0.732,197,0.596,198,0.896,199,0.626,200,0.694,201,1.793,202,0.676,205,1.441,206,2.203,208,0.596,209,1.068,210,1.068,211,2.141,212,1.074,213,0.539,214,0.966,216,0.966,230,2.535,233,2.871,243,3.357,244,3.82,247,2.838,248,2.838,250,2.495,251,1.453,256,0.832,257,1.096,258,1.58,259,1.703,260,1.53,263,3.317,277,2.132,278,2.107,283,2.132,287,1.92,297,1.502,300,1.13,308,0.682,309,0.539,321,0.659,322,1.453,333,1.217,337,0.735,357,1.315,382,0.771,399,0.751,400,1.218,401,1.872,404,1.667,405,1.621,408,1.006,409,0.919,413,1.077,414,0.659,416,0.944,417,1.315,418,2.292,419,2.495,425,1.206,427,2.221,428,2.467,429,1.965,430,2.356,431,2.128,432,2.132,433,1.315,434,1.931,436,0.944,437,0.944,442,1.16,444,2.058,445,2.789,448,2.448,449,1.16,450,0.773,451,1.747,453,0.974,457,0.581,458,3.147,464,1.117,466,0.863,468,0.694,469,1.429,470,0.694,471,1.632,472,0.694,473,0.694,474,0.626,475,0.694,476,0.611,477,1.419,478,0.626,479,0.694,480,0.966,481,1.419,482,0.626,483,0.659,484,0.694,485,0.626,486,0.694,487,0.626,488,0.596,489,0.694,490,0.626,491,0.694,492,0.626,493,0.626,494,0.694,495,0.626,496,0.676,497,0.611,498,0.694,499,0.626,500,1.125,501,0.611,502,0.626,503,0.626,504,1.419,505,0.626,506,1.041,507,1.125,508,0.611,509,0.626,510,0.611,511,0.513,512,0.694,513,0.611,514,0.596,515,0.626,516,0.694,517,0.626,518,0.694,519,1.473,520,0.694,521,0.626,522,0.896,523,0.626,524,1.015,525,0.626,526,0.694,527,0.626,528,0.942,529,0.694,530,0.626,531,0.694,532,0.694,561,3.664,607,1.441,664,1.872,665,0.626,666,1.485,667,2.03,668,0.838,669,0.815,670,1.667,673,1.258,677,1.015,678,1.419,683,2.03,704,1.747,705,1.185,727,1.379,774,2.356,800,2.871,813,1.3,828,1.453,888,2.04,932,2.236,965,1.485,969,1.285,1115,2.475,1195,1.771,1245,4.412,1270,2.495,1273,2.132,1281,2.983,1287,2.871,1290,2.132,1301,2.04,1302,2.04,1303,2.356,1304,1.642,1305,1.771,1306,1.943,1312,2.697,1313,5.163,1318,1.771,1330,3.245,1354,1.379,1361,1.453,1541,1.943,1562,3.862,1564,3.245,1613,2.132,1640,2.971,1642,3.978,1647,1.771,1749,2.356,1795,1.956,1843,2.448,1848,2.971,1889,2.356,1941,1.258,1985,1.642,1986,1.642,2110,3.621,2120,1.453,2146,2.662,2482,3.357,2602,1.771,2736,1.943,2777,5.92,3133,2.871,3135,5.59,3152,3.151,3154,2.871,3155,3.151,3156,1.943,3172,1.771,3173,3.577,3174,3.975,3175,4.511,3176,3.577,3177,5.189,3178,5.189,3179,4.511,3180,4.511,3181,4.511,3182,5.189,3183,5.189,3184,3.577,3185,3.577,3186,3.577,3187,5.189,3188,5.189,3189,3.577,3190,6.923,3191,4.511,3192,4.511,3193,3.577,3194,3.577,3195,2.206,3196,3.577,3197,5.025,3198,2.206,3199,2.206,3200,2.206,3201,2.206,3202,5.025,3203,3.577,3204,2.206,3205,3.577,3206,4.511,3207,2.206,3208,4.511,3209,2.206,3210,2.206,3211,2.662,3212,3.577,3213,3.577,3214,3.577,3215,2.206,3216,3.577,3217,2.206,3218,3.577,3219,3.577,3220,3.577,3221,2.206,3222,3.577,3223,7.419,3224,3.577,3225,2.206,3226,2.206,3227,3.577,3228,2.206,3229,2.206,3230,3.577,3231,3.577,3232,3.577,3233,2.206,3234,3.577,3235,2.206,3236,3.577,3237,3.577,3238,2.206,3239,2.206,3240,3.577,3241,3.577,3242,4.511,3243,3.577,3244,3.577,3245,3.577,3246,2.206,3247,3.151,3248,2.206,3249,3.577,3250,4.902,3251,2.206,3252,2.206,3253,2.206,3254,3.621,3255,1.943,3256,1.943,3257,2.871,3258,2.206,3259,2.206,3260,2.206,3261,2.206,3262,2.206,3263,3.577,3264,4.511,3265,2.206,3266,2.206,3267,2.206,3268,2.206,3269,2.206,3270,2.206,3271,2.206,3272,2.206,3273,2.206,3274,2.206,3275,2.206,3276,2.206,3277,2.206,3278,2.206,3279,2.206,3280,5.189,3281,2.206,3282,2.206,3283,1.943,3284,2.206,3285,2.206,3286,2.206,3287,2.206,3288,2.206,3289,2.206,3290,2.206,3291,2.206,3292,2.206,3293,2.206,3294,2.206,3295,2.206,3296,2.206,3297,3.577,3298,3.577,3299,3.577,3300,2.206,3301,2.206,3302,2.206,3303,3.577,3304,2.206,3305,2.206,3306,2.206,3307,2.206]],["title/modules/TagSearchModule.html",[533,1.271,2767,3.045]],["body/modules/TagSearchModule.html",[3,0.118,4,0.147,5,0.118,6,0.089,12,1.502,43,0.01,75,0.008,80,0.007,84,0.007,99,0.339,104,0.303,130,0.147,133,0.207,424,1.618,519,2.575,535,1.788,536,2.201,547,2.377,548,1.788,550,2.573,552,2.033,556,2.316,560,5.551,561,3.446,562,3.138,563,2.464,735,2.573,736,2.717,737,2.144,738,5.626,739,4.688,1667,5.273,1668,4.394,2120,4.149,2133,6.661,2134,6.661,2767,6.151,2777,4.394,3135,4.149,3308,5.551,3309,5.551,3310,5.551,3311,6.3,3312,7.56,3313,6.3,3314,7.56,3315,6.3]],["title/interfaces/TagSearchResult.html",[117,2.603,129,0.292]],["body/interfaces/TagSearchResult.html",[3,0.119,4,0.148,5,0.119,6,0.09,8,2.713,11,0.788,12,2.083,18,0.595,19,0.837,43,0.01,45,0.764,69,1.027,70,4.997,71,2.188,75,0.008,77,4.523,80,0.01,84,0.009,116,4.744,117,4.523,129,0.508,130,0.19,140,4.149,143,4.174,155,2.553,156,3.056,158,4.174,189,5.543,195,1.669,278,2.803,400,1.711,1842,3.963,1843,2.99,1924,4.997,3131,4.717,3132,4.717,3133,6.09,3134,6.684]],["title/modules/ThemingModule.html",[533,1.271,1092,3.045]],["body/modules/ThemingModule.html",[3,0.126,4,0.157,5,0.126,6,0.095,43,0.01,75,0.008,80,0.007,84,0.007,99,0.297,104,0.322,130,0.157,133,0.221,242,5.274,297,1.766,424,1.723,535,1.904,536,2.284,547,2.467,548,1.904,556,2.404,588,5.167,589,4.991,590,5.384,1092,6.17,3316,5.909,3317,5.909,3318,6.707,3319,7.845,3320,6.707,3321,6.707,3322,6.707]],["title/injectables/ThemingService.html",[0,1.271,242,2.603]],["body/injectables/ThemingService.html",[0,1.691,2,2.392,3,0.079,4,0.098,5,0.079,6,0.121,11,0.894,18,0.394,19,0.641,20,2.185,25,1.456,35,0.741,37,4.152,38,1.973,40,1.08,42,1.758,43,0.01,44,1.052,45,0.753,46,1.481,47,1.417,55,1.607,56,1.268,59,3.826,69,1.181,75,0.006,80,0.004,84,0.004,85,1.519,86,0.82,99,0.22,104,0.201,130,0.136,133,0.284,134,1.479,139,1.336,141,1.178,142,1.053,160,1.203,196,0.759,198,1.456,213,1.025,226,5.179,241,5.59,242,3.463,244,4.457,253,2.762,260,2.008,278,2.147,347,5.355,418,1.853,576,3.121,599,3.695,606,2.5,785,2.566,800,3.367,813,1.456,821,3.695,822,3.367,888,4.309,1106,3.121,1290,4.87,1318,4.663,1332,2.622,1392,4.499,1420,3.367,1471,4.663,1613,3.973,1847,2.5,1856,2.762,1857,2.762,2255,6.08,2663,5.119,3148,4.663,3149,6.887,3197,7.198,3211,4.324,3323,3.367,3324,5.81,3325,8.015,3326,5.81,3327,7.195,3328,7.195,3329,7.195,3330,5.81,3331,4.194,3332,4.194,3333,5.81,3334,4.194,3335,7.556,3336,4.194,3337,5.81,3338,7.195,3339,4.194,3340,5.81,3341,5.119,3342,5.81,3343,5.81,3344,4.194,3345,5.81,3346,4.194,3347,5.81,3348,4.194,3349,4.194,3350,4.194,3351,4.194,3352,4.194,3353,4.194,3354,4.194,3355,3.695,3356,3.695,3357,3.695,3358,4.194,3359,4.194,3360,4.194,3361,4.194,3362,4.194,3363,4.194,3364,4.194,3365,3.695,3366,4.194,3367,4.194,3368,5.81,3369,4.194,3370,4.194,3371,4.194,3372,4.194,3373,4.194,3374,4.194,3375,4.194,3376,4.194]],["title/components/ToggleButtonComponent.html",[196,0.424,521,1.239]],["body/components/ToggleButtonComponent.html",[3,0.061,4,0.076,5,0.091,6,0.118,11,0.721,12,1.16,15,1.416,18,0.307,19,0.536,20,1.992,25,1.218,32,2.462,35,0.578,38,1.92,40,0.904,41,0.927,42,1.131,43,0.01,44,1.036,45,0.652,46,0.881,47,0.881,48,1.38,52,0.953,55,1.53,56,1.086,65,2.081,69,0.785,75,0.005,80,0.003,84,0.003,85,1.275,86,1.341,90,1.529,99,0.243,104,0.157,113,0.929,130,0.076,133,0.237,134,1.32,139,0.949,141,0.859,142,0.593,160,1.023,161,0.876,196,0.758,197,0.884,198,1.218,199,0.929,200,1.029,201,1.029,202,1.003,205,2.586,206,2.833,208,0.884,209,1.452,210,1.452,211,2.232,212,1.117,213,0.8,214,1.313,216,1.313,225,4.654,230,3.136,247,3.512,248,3.512,256,0.762,257,2.436,258,2.836,260,1.218,263,2.984,277,2.899,278,1.797,287,1.824,297,1.528,300,2.232,308,0.927,309,0.8,311,3.627,312,3.04,321,0.978,337,1.41,357,1.952,395,2.047,399,1.114,400,1.313,404,1.21,407,1.867,409,0.841,410,1.658,414,0.978,418,2.562,419,4.785,421,2.018,425,2.66,426,2.884,427,2.081,429,0.929,431,4.035,436,1.401,437,1.401,439,5.771,440,5.771,441,3.489,442,1.721,448,2.294,450,1.387,451,2.375,453,1.553,457,0.862,464,2.462,468,1.029,469,1.719,470,1.029,471,2.019,472,1.029,473,1.029,474,0.929,475,1.029,476,0.906,477,1.824,478,0.929,479,1.029,480,1.313,481,1.824,482,0.929,483,0.978,484,1.029,485,1.948,486,1.029,487,0.929,488,0.884,489,1.029,490,0.929,491,1.029,492,0.929,493,0.929,494,1.029,495,0.929,496,1.003,497,0.906,498,1.029,499,0.929,500,1.529,501,0.906,502,0.929,503,0.929,504,1.824,505,0.929,506,1.416,507,1.529,508,0.906,509,0.929,510,0.906,511,0.762,512,1.029,513,0.906,514,0.884,515,0.929,516,1.029,517,0.929,518,1.029,519,0.929,520,1.029,521,1.823,522,2.195,523,0.929,524,1.38,525,0.929,526,1.029,527,0.929,528,1.28,529,1.029,530,0.929,531,1.029,532,1.029,596,1.319,665,0.929,677,1.38,684,2.081,705,1.611,722,1.721,755,4.657,758,3.377,761,1.494,762,4.317,765,2.899,766,3.903,767,5.154,772,2.557,773,2.833,774,3.202,777,3.175,781,3.202,782,3.619,783,3.619,813,1.719,818,2.436,827,4.229,828,5.378,836,2.628,838,2.436,844,2.884,965,1.359,993,3.202,1001,3.903,1003,3.903,1004,3.903,1010,4.654,1015,3.175,1029,2.628,1034,1.79,1256,6.684,1305,2.628,1312,1.446,1352,2.628,1354,4.29,1470,3.04,1507,2.884,1512,2.884,1513,5.111,1514,5.111,1533,4.284,1561,2.436,1567,4.284,2644,2.628,2648,5.111,2649,4.284,2662,4.284,2671,4.284,2677,2.884,3377,7.337,3378,4.863,3379,3.274,3380,7.189,3381,4.863,3382,5.801,3383,3.274,3384,3.274,3385,3.274,3386,3.274,3387,3.274,3388,3.274,3389,3.274,3390,3.274,3391,5.801,3392,5.801,3393,3.274,3394,3.274,3395,3.274,3396,3.274,3397,3.274,3398,3.274,3399,3.274,3400,3.274,3401,4.863,3402,3.274,3403,4.863,3404,3.274,3405,3.274,3406,3.274]],["title/interfaces/User.html",[129,0.292,333,1.486]],["body/interfaces/User.html",[3,0.079,4,0.099,5,0.079,6,0.06,16,1.613,18,0.398,19,0.646,20,1.468,22,1.407,23,1.613,35,0.75,37,3.412,43,0.01,45,0.531,56,1.146,69,1.183,75,0.006,80,0.005,84,0.005,85,0.789,88,2.291,91,2.105,99,0.315,104,0.204,112,2.232,113,1.205,129,0.392,130,0.137,133,0.14,134,1.204,139,1.097,141,1.035,142,0.769,160,0.933,161,1.295,182,1.484,195,1.118,196,0.651,197,1.146,203,3.159,204,2.53,205,1.71,206,2.861,207,3.858,209,1.268,210,1.268,211,1.681,212,0.834,213,1.037,214,1.146,215,3.407,216,1.146,217,3.407,218,3.407,219,3.08,220,4.418,221,4.418,222,3.204,223,2.961,224,3.663,225,4.194,226,4.585,227,3.407,230,2.073,231,2.795,232,3.407,236,3.407,238,5.384,239,4.702,240,4.702,241,2.961,242,3.492,243,3.159,244,3.34,245,2.41,246,2.36,247,2.321,248,3.204,251,2.795,253,2.795,255,4.702,256,1.56,257,2.055,258,1.875,259,1.749,260,1.468,261,4.359,262,3.34,263,2.431,265,3.407,267,3.407,268,3.407,269,2.795,270,3.407,271,3.159,272,3.159,273,3.159,274,3.407,275,3.407,277,2.53,278,1.568,281,2.42,282,3.407,283,2.53,284,4.992,285,4.702,286,4.418,287,2.274,289,3.407,292,3.407,295,3.407,297,1.766,299,2.164,300,1.063,301,3.204,303,2.42,304,2.149,306,2.961,307,2.232,308,0.809,309,1.037,310,2.321,311,3.663,312,2.654,313,1.875,315,3.407,317,3.407,321,1.268,322,2.795,323,3.159,324,2.795,325,3.407,326,1.236,327,3.159,328,3.407,329,3.159,330,3.159,331,2.53,332,2.42,333,1.994,334,3.802,335,3.802,336,2.961,337,1.204,338,3.407,339,3.407,340,4.702,341,3.407,342,3.407,343,3.407,344,3.407,345,4.702,346,3.407,347,3.159,348,3.407,349,3.407,350,2.654,351,3.407,352,3.407,353,2.321,354,3.407,355,3.407,356,3.407,357,2.53,358,3.407,359,1.268,360,3.407,361,3.407,362,2.961,363,3.407,364,3.407,365,3.407,366,3.407,367,3.407,368,3.407,369,6.577,370,3.407,371,5.384,372,3.407,373,6.454,374,3.407,375,3.159,376,3.407,377,5.984,378,2.232,379,3.407,380,4.125,381,3.407,382,2.048,383,4.702,384,4.585,385,2.961,386,3.407,387,2.226,388,4.702,389,2.42,390,2.431,391,4.702,392,3.407,393,3.159,394,3.407,395,2.654]],["title/interfaces/UserName.html",[129,0.292,2105,3.249]],["body/interfaces/UserName.html",[3,0.099,4,0.123,5,0.099,6,0.075,11,0.655,18,0.495,19,0.746,20,1.321,40,0.98,41,1.005,43,0.01,44,1.257,45,0.614,47,0.955,48,1.921,56,0.796,69,1.149,75,0.007,80,0.006,84,0.006,86,1.323,99,0.283,104,0.253,129,0.353,130,0.158,133,0.223,134,1.083,139,0.862,141,1.441,142,0.955,160,1.191,161,1.129,195,1.388,196,0.765,209,1.574,210,1.574,211,1.321,212,0.841,214,1.423,216,1.423,259,2.594,260,1.321,321,1.574,333,2.544,334,4.388,335,4.388,359,2.021,469,1.321,501,1.459,561,3.701,596,2.123,658,3.142,664,2.809,665,1.496,666,2.809,667,2.647,668,2.004,669,1.948,670,2.5,675,3.472,676,3.472,677,1.496,678,1.658,683,2.647,684,2.256,685,4.231,686,3.142,687,3.852,691,3.677,692,3.472,693,3.296,695,3.923,1115,2.5,1281,3.305,1282,2.669,1831,3.472,2096,3.923,2097,4.644,2098,4.644,2099,4.644,2100,4.644,2101,4.644,2103,4.644,2105,6.398,2107,4.644,2109,3.677,2110,6,2111,5.963,2112,5.963,2113,4.088,2115,4.088,2119,4.644,2120,3.472,2121,5.869,2122,5.963,2123,4.644,2124,4.644,2125,4.644,2126,5.963,2127,4.644,2128,4.644,2129,4.644]],["title/components/VideoModalComponent.html",[196,0.424,523,1.239]],["body/components/VideoModalComponent.html",[3,0.075,4,0.093,5,0.105,6,0.116,11,0.496,12,1.339,18,0.375,19,0.619,20,1.407,25,1.407,35,0.992,38,1.878,40,1.044,41,1.071,42,0.929,43,0.01,44,1.101,45,0.639,46,0.724,50,2.952,52,1.635,55,1.335,56,1.163,69,0.541,75,0.006,80,0.004,84,0.004,85,1.044,86,1.098,99,0.246,102,2.743,104,0.192,130,0.093,133,0.253,139,0.653,142,0.724,161,0.981,196,0.796,197,1.078,198,1.407,199,1.134,200,1.256,201,1.256,202,1.224,205,2.262,207,4.277,208,1.078,211,2.268,212,1.13,213,0.976,214,1.516,216,1.516,231,4.639,256,1.306,257,1.721,260,1.407,300,1.627,308,1.071,309,2.09,313,2.48,359,2.217,399,1.36,400,1.078,404,2.075,406,2.278,408,1.823,409,1.442,411,2.1,414,2.104,416,3.177,417,2.381,418,1.764,419,2.786,421,1.658,427,3.015,428,2.185,429,1.594,430,4.888,436,1.71,437,1.71,441,1.823,442,2.1,448,1.885,450,0.863,451,1.951,453,1.213,457,1.052,464,2.023,468,1.256,469,1.86,470,1.256,471,2.215,472,1.256,473,1.256,474,1.134,475,1.256,476,1.106,477,2.042,478,1.134,479,1.256,480,1.516,481,2.042,482,1.134,483,1.193,484,1.256,485,1.134,486,1.256,487,1.134,488,1.078,489,1.256,490,1.134,491,1.256,492,1.134,493,1.134,494,1.256,495,1.134,496,1.224,497,1.106,498,1.256,499,1.134,500,1.766,501,1.106,502,1.134,503,1.134,504,2.042,505,1.134,506,1.635,507,1.766,508,1.106,509,1.134,510,1.106,511,0.929,512,1.256,513,1.106,514,1.078,515,1.134,516,1.256,517,1.134,518,1.256,519,1.134,520,1.256,521,1.134,522,1.407,523,2,524,2.511,525,1.134,526,1.256,527,1.134,528,1.479,529,1.256,530,1.134,531,1.256,532,1.256,642,1.71,665,1.134,677,1.594,678,2.042,705,1.861,737,1.36,964,3.698,969,1.436,972,3.348,975,2.973,976,2.786,1050,3.52,1086,5.784,1247,3.202,1248,4.179,1301,2.278,1302,2.278,1309,4.833,1312,2.48,1361,3.698,1564,3.511,1847,2.381,2329,5.069,2330,5.177,2337,5.524,2360,2.185,2384,2.786,2386,4.179,2391,3.52,2709,5.213,2717,4.508,2720,3.52,2721,3.207,2728,3.207,2730,4.948,3049,6.347,3355,6.782,3407,5.722,3408,6.782,3409,7.044,3410,3.995,3411,6.494,3412,3.995,3413,5.615,3414,5.615,3415,5.655,3416,5.655,3417,4.948,3418,5.615,3419,5.615,3420,3.995,3421,3.995,3422,3.995,3423,3.995,3424,5.615,3425,3.995,3426,3.995,3427,3.995,3428,3.995,3429,3.995,3430,3.995,3431,5.721,3432,3.995]],["title/components/VideoModalLauncherComponent.html",[196,0.424,525,1.239]],["body/components/VideoModalLauncherComponent.html",[3,0.079,4,0.099,5,0.11,6,0.111,11,0.728,12,1.397,18,0.55,19,0.646,25,1.468,35,0.75,38,1.765,40,1.089,41,1.117,42,0.987,43,0.01,44,1.119,45,0.656,46,0.769,48,1.663,52,1.236,55,0.872,56,0.885,69,0.575,75,0.006,76,2.003,80,0.005,84,0.005,85,1.247,86,1.311,99,0.254,102,2.861,104,0.204,129,0.392,130,0.099,133,0.258,142,0.769,161,1.092,188,1.37,196,0.807,197,1.146,198,1.468,199,1.205,200,1.335,201,1.335,202,1.301,208,1.146,209,1.749,210,1.749,211,2.277,212,1.135,213,1.037,214,1.581,216,1.581,256,0.987,257,1.301,259,2.16,260,1.468,297,1.542,300,1.681,308,1.379,309,2.219,321,1.268,333,1.994,337,0.872,359,1.268,382,1.484,399,1.445,400,1.146,401,2.431,402,2.654,403,2.654,408,1.937,409,1.505,410,2.149,414,2.003,418,1.875,431,2.003,434,2.507,436,1.817,437,1.817,441,1.937,444,2.673,445,1.71,449,3.08,450,1.265,453,0.917,457,1.118,461,2.149,464,2.149,468,1.335,469,1.901,470,1.335,471,2.274,472,1.335,473,1.335,474,1.205,475,1.335,476,1.175,477,2.109,478,1.205,479,1.335,480,1.581,481,2.109,482,1.205,483,1.268,484,1.335,485,1.205,486,1.335,487,1.205,488,1.146,489,1.335,490,1.205,491,1.335,492,1.205,493,1.205,494,1.335,495,1.205,496,1.301,497,1.175,498,1.335,499,1.205,500,1.842,501,1.175,502,1.205,503,1.205,504,2.109,505,1.205,506,1.705,507,1.842,508,1.175,509,1.205,510,1.175,511,0.987,512,1.335,513,1.175,514,1.146,515,1.205,516,1.335,517,1.205,518,1.335,519,1.205,520,1.335,521,1.205,522,1.812,523,1.663,524,2.52,525,2.053,526,1.335,527,1.205,528,1.542,529,1.335,530,1.205,531,1.335,532,1.335,591,4.086,596,1.71,607,2.36,665,1.205,677,1.663,678,2.109,705,1.941,717,2.654,720,2.53,960,2.966,969,2.105,975,4.359,1086,5.296,1087,5.839,1247,3.34,1361,3.858,1368,5.044,1748,3.669,2360,2.321,2388,3.407,2389,5.805,2411,2.961,3407,5.472,3433,3.74,3434,5.858,3435,8.417,3436,6.708,3437,5.858,3438,7.232,3439,5.858,3440,5.858,3441,4.245,3442,5.858,3443,4.245,3444,4.245,3445,5.858,3446,5.858,3447,4.245,3448,4.245,3449,4.245]],["title/modules/VideoModalLauncherModule.html",[533,1.271,1080,3.045]],["body/modules/VideoModalLauncherModule.html",[3,0.122,4,0.152,5,0.122,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.321,104,0.312,130,0.152,133,0.214,309,2.005,424,1.668,524,1.843,525,2.584,535,1.843,536,2.241,547,2.42,548,1.843,550,2.62,552,2.096,556,2.359,562,3.195,563,2.54,735,2.62,736,2.766,737,2.21,1080,6.188,1086,4.276,1087,4.832,3407,4.529,3450,5.721,3451,5.721,3452,5.721,3453,6.493,3454,6.493]],["title/modules/VideoModalModule.html",[533,1.271,3455,3.249]],["body/modules/VideoModalModule.html",[3,0.12,4,0.15,5,0.12,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.308,130,0.15,133,0.211,424,1.648,523,2.581,524,1.821,535,1.821,536,2.225,547,2.403,548,1.821,550,2.601,552,2.07,556,2.342,562,3.172,563,2.509,735,2.601,736,2.746,737,2.183,1086,5.033,2360,3.508,2410,5.149,2411,4.474,2412,6.134,3407,4.474,3415,5.149,3455,6.587,3456,5.652,3457,5.652,3458,5.652,3459,7.641,3460,5.652]],["title/interfaces/VisibilityItem.html",[129,0.292,1263,2.295]],["body/interfaces/VisibilityItem.html",[3,0.116,4,0.145,5,0.116,6,0.088,11,0.771,18,0.582,19,0.826,43,0.01,44,1.21,45,0.776,46,1.515,69,1.209,71,2.178,75,0.008,76,3.534,80,0.007,84,0.007,86,1.464,129,0.502,130,0.145,155,3.501,195,1.634,304,3.793,337,1.654,353,4.754,359,1.853,457,1.972,528,1.634,813,1.877,965,3.607,1263,3.938,1265,4.809,1290,4.465,1748,4.57,3461,5.466,3462,5.466,3463,6.599]],["title/components/VisibilityMenuComponent.html",[196,0.424,527,1.239]],["body/components/VisibilityMenuComponent.html",[3,0.053,4,0.066,5,0.082,6,0.116,11,0.882,12,1.042,18,0.561,19,0.482,25,1.095,35,0.502,38,1.885,40,0.812,41,0.833,42,1.584,43,0.01,44,1.116,45,0.718,46,1.234,47,0.792,52,0.827,55,1.576,56,1.195,69,0.721,71,1.954,75,0.005,76,1.341,80,0.003,84,0.003,85,0.812,86,1.599,99,0.201,104,0.136,130,0.066,133,0.224,134,0.898,139,0.714,141,1.056,142,0.515,155,2.949,160,1.166,161,1.029,182,1.528,188,1.929,196,0.626,197,0.767,198,1.095,199,0.807,200,0.894,201,0.894,202,0.871,208,0.767,209,1.305,210,1.305,211,2.202,212,1.101,213,0.695,214,1.18,216,1.18,256,0.661,257,1.631,258,1.93,259,1.59,260,1.095,281,2.491,297,1.15,300,1.334,304,2.212,308,0.833,309,0.695,321,0.849,333,0.967,362,3.713,382,0.994,387,1.08,399,0.967,400,1.18,401,2.48,402,1.777,403,1.777,404,1.614,406,3.035,407,3.035,409,0.73,413,1.388,414,1.59,417,1.694,418,1.255,421,3.238,423,3.713,424,1.657,427,1.216,428,1.554,429,1.831,434,1.216,436,1.87,437,1.87,441,1.993,442,1.494,444,1.296,445,3.229,447,1.982,448,2.511,450,1.291,451,2.6,453,0.944,454,4.498,457,0.748,459,2.877,464,2.212,465,4.273,466,2.082,467,3.713,468,0.894,469,1.616,470,0.894,471,1.879,472,0.894,473,0.894,474,0.807,475,0.894,476,0.787,477,1.674,478,0.807,479,0.894,480,1.18,481,1.674,482,0.807,483,0.849,484,0.894,485,0.807,486,0.894,487,0.807,488,0.767,489,0.894,490,0.807,491,0.894,492,0.807,493,0.807,494,0.894,495,0.807,496,0.871,497,0.787,498,0.894,499,0.807,500,1.374,501,0.787,502,0.807,503,0.807,504,1.674,505,0.807,506,1.272,507,1.374,508,0.787,509,0.807,510,0.787,511,0.661,512,0.894,513,0.787,514,0.767,515,0.807,516,0.894,517,0.807,518,0.894,519,0.807,520,0.894,521,0.807,522,1.095,523,0.807,524,1.24,525,0.807,526,0.894,527,1.696,528,2.26,529,0.894,530,0.807,531,0.894,532,0.894,548,0.807,596,1.145,607,1.76,664,2.677,665,0.807,666,2.209,667,2.337,668,1.08,669,1.05,670,1.967,677,1.24,678,1.674,683,2.082,684,1.87,689,3.935,704,2.134,705,1.448,706,1.494,713,2.877,720,1.694,721,1.982,722,2.297,723,3.047,785,1.93,848,2.833,963,1.777,964,1.871,965,3.576,969,1.913,972,2.605,976,3.047,1034,2.39,1197,1.982,1212,1.554,1233,1.777,1263,4.26,1265,4.909,1273,4.06,1279,2.491,1281,3.744,1282,3.026,1288,3.047,1289,3.935,1290,4.06,1309,2.115,1315,1.777,1351,3.507,1354,2.732,1355,3.047,1531,2.877,1673,1.62,1684,5.694,1745,2.605,1748,4.004,1750,3.713,1773,5.265,1785,2.504,1799,2.281,1804,6.186,1835,6.088,1952,3.252,2109,1.982,2552,4.498,2553,3.507,2919,4.273,3089,2.504,3154,2.281,3211,3.252,3464,5.706,3465,2.504,3466,5.323,3467,4.369,3468,4.369,3469,5.975,3470,4.369,3471,5.975,3472,4.369,3473,3.849,3474,4.369,3475,5.323,3476,4.369,3477,2.841,3478,2.841,3479,2.841,3480,4.369,3481,4.369,3482,2.841,3483,2.841,3484,4.369,3485,4.369,3486,4.369,3487,4.369,3488,2.841,3489,3.849,3490,2.841,3491,4.369,3492,2.841,3493,3.849,3494,4.369,3495,2.841,3496,4.369,3497,4.369,3498,2.841,3499,7.915,3500,2.841,3501,2.504,3502,5.975,3503,2.841,3504,2.841,3505,2.841,3506,6.81,3507,5.323,3508,4.369,3509,5.975,3510,2.841,3511,2.841,3512,5.323,3513,2.841,3514,2.841,3515,2.841,3516,2.841,3517,2.841,3518,2.841,3519,2.841,3520,2.841,3521,2.841]],["title/modules/VisibilityMenuModule.html",[533,1.271,1817,3.045]],["body/modules/VisibilityMenuModule.html",[3,0.121,4,0.151,5,0.121,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,212,0.804,326,1.884,424,1.662,527,2.583,528,1.703,535,1.836,536,2.236,547,2.415,548,1.836,550,2.614,552,2.088,556,2.353,562,3.188,563,2.531,735,2.614,736,2.76,737,2.202,740,5.357,741,4.512,1817,6.184,1833,6.767,1835,4.814,3464,4.512,3522,5.7,3523,5.7,3524,5.7,3525,6.469,3526,6.469]],["title/components/VisibilityToggleComponent.html",[196,0.424,530,1.239]],["body/components/VisibilityToggleComponent.html",[3,0.07,4,0.087,5,0.1,6,0.114,11,0.664,12,1.275,15,1.988,18,0.35,19,0.59,25,1.34,35,0.659,38,1.844,40,0.994,41,1.019,42,0.867,43,0.01,44,1.079,45,0.703,46,0.676,47,0.969,52,1.085,55,0.766,56,0.807,69,0.724,75,0.006,80,0.004,84,0.004,85,1.344,86,1.515,99,0.202,104,0.179,130,0.087,133,0.248,141,1.277,142,1.31,156,2.912,160,0.594,161,1.092,182,1.869,196,0.784,197,1.006,198,1.34,199,1.058,200,1.172,201,1.172,202,1.142,208,1.006,209,1.597,210,1.597,211,2.256,212,1.125,213,0.911,214,1.443,216,1.443,256,1.244,257,1.638,259,2.247,260,1.34,278,1.975,281,3.049,287,2.147,300,1.566,308,1.019,309,0.911,321,1.113,333,1.82,337,1.099,399,1.269,400,1.844,401,2.834,404,2.31,405,1.34,407,2.126,408,1.701,409,0.957,411,1.96,413,2.611,414,2.039,416,2.288,417,2.222,418,1.646,421,2.219,423,2.6,424,0.957,427,3.094,428,2.039,429,1.518,432,2.222,433,3.187,434,3.094,436,2.288,437,1.595,441,2.439,442,1.96,444,2.852,445,2.518,446,3.521,448,3.222,450,1.475,451,2.611,453,1.155,457,0.982,458,3.729,461,3.165,464,1.887,468,1.172,469,1.811,470,1.172,471,2.147,472,1.172,473,1.172,474,1.058,475,1.172,476,1.032,477,1.966,478,1.058,479,1.172,480,1.443,481,1.966,482,1.058,483,1.113,484,1.172,485,1.058,486,1.172,487,1.058,488,1.006,489,1.172,490,1.058,491,1.172,492,1.058,493,1.058,494,1.172,495,1.058,496,1.142,497,1.032,498,1.172,499,1.058,500,1.681,501,1.032,502,1.058,503,1.058,504,1.966,505,1.058,506,1.557,507,1.681,508,1.032,509,1.058,510,1.032,511,0.867,512,1.172,513,1.032,514,1.006,515,1.058,516,1.172,517,1.058,518,1.172,519,1.058,520,1.172,521,1.058,522,2.171,523,1.058,524,1.518,525,1.058,526,1.172,527,1.058,528,2.332,529,1.172,530,1.938,531,1.172,532,1.172,596,1.502,607,2.153,664,2.595,665,1.058,666,2.219,667,2.671,668,1.417,669,1.377,670,2.31,677,1.518,678,1.966,681,3.521,683,2.445,704,3.335,705,1.772,706,1.96,715,2.6,718,2.039,722,1.96,813,1.34,860,2.774,965,1.547,969,1.34,975,2.774,1019,2.774,1210,4.71,1233,2.331,1281,2.611,1282,2.707,1288,3.729,1301,2.126,1302,2.126,1312,1.646,1315,3.343,1353,2.774,1354,2.331,1531,3.521,1630,3.521,1671,2.992,1673,3.049,1674,5.507,1675,4.71,1677,5.248,1681,3.284,1685,3.284,1704,2.992,1747,4.292,1748,3.419,1771,4.292,1772,4.292,1805,2.992,1837,6.008,2793,3.979,2805,4.292,2823,3.284,3164,3.284,3174,4.71,3464,5.63,3473,6.629,3501,3.284,3527,5.346,3528,5.346,3529,7.23,3530,6.251,3531,5.346,3532,3.728,3533,5.346,3534,3.728,3535,6.251,3536,3.728,3537,3.728,3538,4.71,3539,3.728,3540,3.728,3541,3.728,3542,5.346,3543,3.728]],["title/modules/VisibilityToggleModule.html",[533,1.271,1818,3.045]],["body/modules/VisibilityToggleModule.html",[3,0.122,4,0.152,5,0.122,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.312,130,0.152,133,0.214,424,1.668,528,1.71,530,2.584,535,1.843,536,2.241,547,2.42,548,1.843,550,2.62,552,2.096,556,2.359,562,3.195,563,2.54,735,2.62,736,2.766,737,2.21,1710,5.721,1713,5.721,1818,6.188,1837,4.832,3169,6.782,3170,5.721,3464,4.529,3544,5.721,3545,5.721,3546,5.721]],["title/interfaces/XYZTriplet.html",[129,0.292,1923,2.388]],["body/interfaces/XYZTriplet.html",[0,1.145,3,0.047,4,0.058,5,0.047,6,0.035,8,1.063,11,0.309,15,2.037,16,0.944,18,0.233,19,0.434,20,1.614,22,2.388,23,0.944,29,1.063,35,0.439,37,2.856,40,0.462,41,0.474,43,0.01,44,1.003,45,0.705,47,0.713,48,0.705,49,1.417,50,1.306,53,3.986,56,1.214,65,1.063,69,0.947,71,1.224,75,0.004,80,0.003,84,0.003,88,0.972,90,2.025,91,1.414,96,3.107,99,0.301,104,0.119,105,2.473,106,1.684,107,1.585,108,1.063,109,1.063,110,1.001,113,0.705,115,0.845,120,1.481,122,1.539,123,1.539,124,0.972,125,0.918,126,1.539,128,1.795,129,0.327,130,0.158,132,1.031,133,0.082,134,1.438,139,1.337,141,1.304,142,0.713,149,3.312,155,2.818,156,1.967,160,1.281,161,1.244,162,1.063,163,1.133,173,1.553,174,1.553,177,1.733,182,0.869,184,1.733,195,0.654,212,0.489,245,1.414,246,1.585,256,1.498,257,2.261,269,2.591,281,1.417,287,1.904,297,1.463,299,2.971,301,1.359,303,1.417,304,1.258,308,0.75,326,0.723,337,1.004,353,2.152,359,1.659,382,2.753,387,2.992,390,3.268,400,0.671,405,1.755,409,1.427,429,1.986,435,2.304,445,1.585,450,1.308,453,1.2,457,0.654,488,1.821,511,1.676,514,1.062,528,0.654,612,1.738,655,3.311,662,1.417,667,1.539,668,0.944,669,0.918,670,0.918,673,2.785,679,2.027,683,0.972,684,3.327,687,1.213,754,1.481,761,2.938,785,2.844,813,0.986,848,1.805,894,4.505,895,1.992,932,3.054,942,5.025,943,3.987,945,1.636,946,1.636,947,1.636,949,2.591,954,1.481,965,2.306,1015,3.551,1115,1.454,1212,2.671,1224,1.359,1258,3.038,1261,3.875,1263,3.547,1265,1.359,1333,3.635,1334,4.118,1335,3.168,1336,2.785,1339,2.762,1384,1.213,1745,2.912,1746,2.744,1748,3.522,1749,3.987,1750,2.744,1761,1.849,1795,3.311,1843,1.856,1844,3.94,1849,1.213,1881,2.46,1913,1.553,1914,1.636,1915,1.994,1916,3.839,1917,4.241,1918,4.492,1919,4.492,1920,4.492,1921,3.99,1922,4.745,1923,4.118,1924,1.636,1925,4.708,1926,3.158,1927,4.223,1928,1.922,1929,2.46,1930,2.744,1931,1.481,1932,1.481,1933,1.994,1934,1.849,1935,1.636,1936,1.994,1937,1.636,1938,1.994,1939,1.481,1940,1.994,1941,1.417,1942,1.359,1943,2.243,1944,1.994,1945,1.994,1946,1.733,1947,1.856,1948,1.213,1949,1.481,1950,1.417,1951,1.417,1952,2.928,1953,2.912,1954,1.994,1955,2.345,1956,1.849,1957,1.994,1958,1.994,1959,1.994,1960,3.054,1961,2.345,1962,1.994,1963,1.994,1964,1.994,1965,1.994,1966,1.994,1967,1.994,1968,1.994,1969,1.994,1970,1.994,1971,1.994,1972,1.994,1973,1.994,1974,1.994,1975,1.994,1976,1.994,1977,1.994,1978,1.994,1979,1.994,1980,1.994,1981,1.994,1982,1.994,1983,1.994,1984,1.994,1985,1.849,1986,1.849,1987,1.994,1988,1.994,1989,1.994,1990,1.994,1991,1.994,1992,1.733,1993,1.733,1994,1.553,1995,1.994,1996,1.994,1997,3.921,1998,1.994,1999,5.416,2000,1.994,2001,1.994,2002,3.158,2003,2.928,2004,1.994,2005,1.994,2006,4.969,2007,1.994,2008,1.994,2009,1.994,2010,1.994,2011,1.417,2012,1.994,2013,4.459,2014,2.243,2015,1.994,2016,1.994,2017,1.994,2018,1.481,2019,1.994,2020,1.994,2021,3.158,2022,1.994,2023,4.459,2024,1.994,2025,3.158,2026,1.994,2027,1.994,2028,1.994,2029,1.994,2030,1.994,2031,1.994,2032,1.994,2033,1.994,2034,1.994,2035,1.994,2036,1.994,2037,1.994,2038,1.994,2039,1.994,2040,1.994,2041,1.994,2042,1.994,2043,1.994,2044,1.994,2045,3.158,2046,1.994,2047,1.994,2048,1.994,2049,1.994,2050,1.994,2051,1.994,2052,1.994,2053,1.994,2054,1.994,2055,3.158,2056,1.994,2057,1.994,2058,1.994,2059,1.994,2060,1.994,2061,1.994,2062,1.994,2063,1.994,2064,1.994,2065,1.994,2066,1.994,2067,1.994,2068,1.994,2069,1.994,2070,1.994,2071,3.158,2072,1.481,2073,1.733,2074,1.994,2075,1.636,2076,1.733,2077,3.158,2078,3.407,2079,3.158,2080,2.345,2081,3.158,2082,1.994,2083,1.994,2084,1.994,2085,1.994,2086,1.994,2087,1.994,2088,1.994,2089,1.481,2090,1.994,2091,1.994,2092,1.994,2093,1.994,2094,1.994,2095,1.994]],["title/changelog.html",[2018,2.169,3547,2.921,3548,2.921]],["body/changelog.html",[3,0.121,8,1.548,19,0.247,24,4.581,38,0.52,43,0.008,45,0.203,46,0.405,48,1.027,50,2.75,59,2.382,60,1.56,71,0.56,74,1.795,75,0.004,77,4.636,80,0.007,83,2.523,84,0.002,85,0.416,90,2.415,102,2.806,124,2.53,126,1.415,129,0.451,138,1.56,140,4.972,141,1.262,142,0.948,143,2.382,155,0.901,168,1.398,182,1.592,188,1.167,195,0.589,196,0.508,198,0.906,200,0.703,202,0.685,208,1.412,211,0.906,212,1.06,213,0.547,226,2.063,241,1.56,245,0.804,256,1.059,257,0.685,258,0.988,260,0.56,271,1.664,278,2.271,283,1.333,286,2.382,299,3.092,303,4.435,304,1.831,306,2.523,307,3.231,308,0.868,309,0.547,313,0.988,326,0.651,333,2.368,359,2.488,375,5.012,399,0.761,400,1.551,407,1.275,411,2.75,414,0.668,425,2.491,431,1.706,435,2.468,441,1.02,446,1.473,450,0.483,453,0.483,457,1.378,483,0.668,488,0.976,493,0.635,522,0.906,524,0.635,536,1.523,561,1.223,567,2.262,572,4.287,588,1.473,591,4.852,593,1.971,601,6.482,609,1.473,635,3.398,636,3.7,661,4.578,669,0.826,670,0.826,673,3.505,684,2.63,689,5.278,713,3.445,750,1.275,782,2.692,799,1.795,804,1.795,842,1.398,843,1.978,891,1.767,894,3.843,895,3.982,911,2.903,914,5.061,921,1.971,932,2.262,960,1.132,961,1.398,962,2.382,965,0.928,967,1.664,972,1.333,1003,1.795,1008,1.795,1015,0.988,1061,1.398,1068,1.56,1072,1.223,1117,1.971,1118,1.664,1124,3.176,1125,1.971,1130,1.473,1131,1.795,1151,2.847,1175,1.795,1182,1.795,1183,1.795,1244,4.574,1245,1.473,1246,1.795,1247,2.597,1261,2.523,1265,1.223,1270,2.523,1273,2.156,1279,2.063,1288,4.007,1289,1.473,1290,2.715,1303,2.382,1313,1.795,1315,1.398,1319,1.971,1334,1.978,1339,2.387,1357,3.187,1365,4.611,1426,2.903,1430,1.795,1471,2.903,1486,2.903,1612,1.971,1628,1.971,1630,1.473,1640,1.473,1642,1.56,1643,5.415,1683,1.971,1687,3.187,1703,3.187,1745,2.156,1746,3.649,1747,1.795,1749,3.445,1794,2.903,1795,2.491,1796,3.187,1804,1.664,1845,1.473,1849,2.555,1854,1.56,1876,1.56,1889,1.473,1904,1.971,1924,1.473,1942,1.223,1960,1.398,2003,2.692,2018,2.715,2113,1.223,2145,4.275,2148,1.275,2149,1.473,2294,2.692,2329,1.473,2342,3.656,2415,3.656,2436,1.56,2439,1.795,2666,1.971,2668,3.187,2674,4.012,2684,2.692,2714,1.664,2756,2.903,2788,5.193,2790,1.795,2794,1.795,2799,1.795,2867,4.199,2989,1.795,3018,1.971,3042,1.971,3050,1.971,3067,1.971,3125,1.971,3148,1.795,3211,1.664,3247,4.012,3341,3.187,3357,3.187,3365,3.187,3408,1.971,3416,5.584,3417,5.415,3431,4.012,3463,1.971,3489,1.971,3493,1.971,3538,1.971,3548,2.903,3549,3.187,3550,1.971,3551,1.971,3552,4.554,3553,6.146,3554,5.744,3555,3.617,3556,4.554,3557,4.554,3558,3.617,3559,2.237,3560,3.617,3561,3.617,3562,6.469,3563,6.146,3564,6.469,3565,3.617,3566,2.237,3567,2.237,3568,2.237,3569,3.617,3570,4.554,3571,4.554,3572,5.933,3573,5.061,3574,7.145,3575,2.237,3576,1.971,3577,2.237,3578,2.237,3579,2.237,3580,4.554,3581,2.237,3582,2.237,3583,7.307,3584,7.448,3585,3.617,3586,5.744,3587,2.237,3588,3.617,3589,6.146,3590,3.187,3591,2.237,3592,2.237,3593,2.237,3594,3.617,3595,5.7,3596,2.237,3597,7.465,3598,2.237,3599,2.237,3600,3.617,3601,2.237,3602,5.231,3603,3.617,3604,4.554,3605,2.237,3606,2.237,3607,2.237,3608,2.237,3609,2.237,3610,7.68,3611,2.237,3612,1.971,3613,1.971,3614,1.971,3615,2.237,3616,3.617,3617,1.971,3618,2.237,3619,3.617,3620,5.231,3621,5.231,3622,4.554,3623,2.237,3624,2.237,3625,2.237,3626,2.237,3627,5.061,3628,4.012,3629,5.061,3630,3.617,3631,2.237,3632,4.554,3633,5.933,3634,7.571,3635,2.237,3636,2.237,3637,3.617,3638,7.307,3639,4.012,3640,2.237,3641,2.237,3642,5.744,3643,2.237,3644,2.237,3645,2.237,3646,2.237,3647,3.187,3648,3.187,3649,6.469,3650,5.933,3651,2.237,3652,2.237,3653,2.237,3654,2.237,3655,2.237,3656,5.061,3657,2.237,3658,3.617,3659,3.617,3660,2.237,3661,3.617,3662,3.617,3663,3.617,3664,2.237,3665,2.237,3666,2.237,3667,2.237,3668,3.617,3669,3.617,3670,5.231,3671,3.617,3672,2.237,3673,2.237,3674,2.237,3675,2.237,3676,3.617,3677,2.237,3678,2.237,3679,3.617,3680,3.187,3681,5.231,3682,2.237,3683,4.554,3684,3.617,3685,6.146,3686,3.187,3687,5.231,3688,2.237,3689,2.237,3690,3.617,3691,2.237,3692,2.237,3693,3.617,3694,2.237,3695,2.237,3696,2.237,3697,3.617,3698,2.237,3699,2.237,3700,2.237,3701,2.237,3702,2.237,3703,2.237,3704,2.237,3705,2.237,3706,3.617,3707,2.237,3708,2.237,3709,2.237,3710,4.554,3711,4.554,3712,3.617,3713,2.237,3714,2.237,3715,2.237,3716,2.237,3717,2.237,3718,2.237,3719,3.617,3720,3.617,3721,3.617,3722,4.554,3723,2.237,3724,2.237,3725,2.237,3726,2.237,3727,3.617,3728,5.231,3729,2.237,3730,2.237,3731,4.554,3732,3.617,3733,2.237,3734,2.237,3735,3.617,3736,3.617,3737,5.231,3738,2.237,3739,2.237,3740,2.237,3741,3.617,3742,2.237,3743,2.237,3744,2.237,3745,2.237,3746,2.237,3747,5.231,3748,2.237,3749,4.554,3750,5.231,3751,2.237,3752,4.554,3753,5.744,3754,3.617,3755,3.617,3756,3.617,3757,3.617,3758,4.554,3759,5.231,3760,5.744,3761,3.617,3762,4.554,3763,2.237,3764,2.237,3765,6.469,3766,5.231,3767,6.956,3768,2.237,3769,2.237,3770,2.237,3771,3.617,3772,2.237,3773,2.237,3774,2.237,3775,2.237,3776,3.617,3777,2.237,3778,2.237,3779,4.012,3780,3.617,3781,4.554,3782,2.237,3783,2.237,3784,2.237,3785,2.237,3786,2.237,3787,2.237,3788,2.237,3789,2.237,3790,2.237,3791,6.146,3792,4.554,3793,3.617,3794,2.237,3795,2.237,3796,2.237,3797,2.237,3798,4.554,3799,2.237,3800,2.237,3801,3.617,3802,3.617,3803,3.617,3804,4.554,3805,2.237,3806,2.237,3807,2.237,3808,2.237,3809,2.237,3810,2.237,3811,1.971,3812,2.237,3813,2.237,3814,2.237,3815,2.237,3816,2.237,3817,2.237,3818,2.237,3819,2.237,3820,2.237,3821,2.237,3822,2.237,3823,2.237,3824,2.237,3825,2.237,3826,6.734,3827,2.237,3828,4.012,3829,4.554,3830,5.231,3831,3.617,3832,4.554,3833,2.237,3834,2.237,3835,2.237,3836,3.617,3837,3.617,3838,2.237,3839,2.237,3840,2.237,3841,3.617,3842,2.237,3843,4.012,3844,2.237,3845,2.237,3846,2.237,3847,2.237,3848,2.237,3849,2.237,3850,2.237,3851,2.237,3852,2.237,3853,2.237,3854,2.237,3855,2.237,3856,2.237,3857,2.237,3858,2.237,3859,2.237,3860,2.237,3861,2.237,3862,2.237,3863,2.237,3864,3.617,3865,2.237,3866,3.617,3867,2.237,3868,3.617,3869,5.231,3870,5.231,3871,3.617,3872,3.617,3873,2.237,3874,2.237,3875,2.237,3876,2.237,3877,1.971,3878,2.237,3879,2.237,3880,2.237,3881,2.237,3882,3.617,3883,7.145,3884,4.554,3885,2.237,3886,3.617,3887,2.237,3888,2.237,3889,2.237,3890,2.237,3891,2.237,3892,2.237,3893,3.617,3894,5.7,3895,3.617,3896,2.237,3897,2.237,3898,2.237,3899,2.237,3900,2.237,3901,4.199,3902,2.237,3903,3.617,3904,2.237,3905,2.237,3906,2.237,3907,3.617,3908,2.237,3909,2.237,3910,2.237,3911,3.617,3912,3.617,3913,3.187,3914,2.237,3915,2.237,3916,2.237,3917,2.237,3918,2.237,3919,2.237,3920,2.237,3921,2.237,3922,2.237,3923,1.971,3924,2.237,3925,2.237,3926,2.237,3927,2.237,3928,2.237,3929,2.237,3930,2.237,3931,1.971,3932,2.237,3933,3.617,3934,2.237,3935,2.237,3936,2.237,3937,2.237,3938,2.237,3939,2.237,3940,2.237,3941,2.237,3942,2.237,3943,2.237,3944,1.971,3945,3.617,3946,2.237,3947,2.237,3948,2.237,3949,2.237,3950,3.617,3951,2.237,3952,2.237,3953,2.237,3954,2.237,3955,2.237,3956,2.237,3957,2.237,3958,2.237]],["title/coverage.html",[3901,4.794]],["body/coverage.html",[0,2.317,1,2.007,5,0.113,6,0.132,7,4.117,8,3.158,9,3.207,10,4.117,12,0.839,43,0.01,45,0.319,75,0.005,80,0.004,84,0.004,88,1.377,91,1.265,92,2.007,117,2.098,129,0.601,131,2.619,133,0.169,141,0.622,142,0.93,196,0.867,197,0.95,203,4.503,242,2.098,245,1.265,301,1.925,309,1.254,333,1.198,336,2.455,405,3.301,409,1.895,429,2.352,466,2.601,474,0.999,476,0.974,478,0.999,480,1.385,482,0.999,485,0.999,487,0.999,490,0.999,492,0.999,495,0.999,497,1.42,499,0.999,501,0.974,502,0.999,503,0.999,505,0.999,508,0.974,509,0.999,510,0.974,511,0.819,513,0.974,515,0.999,517,0.999,519,0.999,521,0.999,523,0.999,525,0.999,527,0.999,530,0.999,572,2.455,576,2.619,580,2.619,583,3.985,586,2.619,602,2.825,603,2.825,655,1.925,656,4.22,657,3.985,658,4.653,672,2.619,748,2.619,749,2.825,753,4.117,758,2.265,777,1.555,792,1.719,863,3.101,875,1.85,978,3.101,1051,2.201,1052,4.419,1058,2.201,1065,2.201,1066,2.201,1084,2.455,1086,3.985,1087,2.619,1111,2.619,1112,4.637,1113,4.117,1114,4.117,1132,2.455,1207,2.825,1208,2.619,1209,3.101,1240,2.825,1241,3.101,1244,2.619,1253,2.201,1254,2.201,1256,2.825,1258,1.925,1259,3.101,1260,3.101,1263,1.85,1266,2.825,1267,2.619,1268,3.101,1329,4.948,1338,2.825,1342,3.101,1368,4.22,1375,2.619,1376,3.817,1377,4.117,1387,2.318,1452,2.825,1454,4.503,1488,2.825,1617,2.825,1618,2.619,1619,3.101,1669,2.825,1670,2.318,1671,4.117,1714,2.825,1715,4.117,1770,7.532,1831,3.378,1835,2.619,1837,2.619,1841,4.859,1843,1.66,1852,2.201,1910,2.619,1911,2.825,1912,2.825,1913,2.201,1914,4.655,1921,2.925,1923,1.925,1947,1.66,1948,3.247,1960,3.207,2096,3.817,2105,2.619,2135,2.455,2136,4.637,2137,4.637,2165,2.455,2230,4.503,2276,2.201,2277,2.201,2324,3.577,2325,2.455,2326,3.101,2384,4.637,2414,4.117,2493,2.619,2642,3.985,2643,2.619,2644,4.117,2681,3.378,2711,2.619,2742,2.825,2770,3.985,2773,3.985,2775,2.619,2777,4.637,2782,4.22,2783,4.503,2785,2.619,2834,4.503,2884,2.619,2982,4.22,2983,2.619,3016,2.619,3017,2.825,3102,2.825,3113,2.825,3131,3.817,3132,3.817,3135,4.655,3136,3.101,3172,5.337,3250,2.825,3254,2.825,3257,2.825,3323,4.117,3377,3.101,3407,3.577,3433,3.101,3461,3.101,3462,3.101,3464,3.577,3465,3.101,3590,3.101,3901,2.825,3944,3.101,3959,3.519,3960,3.519,3961,3.519,3962,3.519,3963,3.519,3964,5.129,3965,7.616,3966,7.805,3967,6.649,3968,3.519,3969,7.068,3970,3.519,3971,3.519,3972,8.549,3973,3.519,3974,3.519,3975,6.649,3976,3.519,3977,3.519,3978,3.519,3979,5.129,3980,3.519,3981,3.519,3982,3.519,3983,3.519,3984,3.519,3985,3.519,3986,3.519,3987,3.519,3988,3.519,3989,3.101,3990,3.519,3991,3.519,3992,3.519,3993,3.519,3994,3.101,3995,3.519,3996,3.519,3997,3.519,3998,3.519,3999,3.519,4000,3.519,4001,3.519,4002,3.519,4003,3.519,4004,3.519,4005,3.519,4006,5.129,4007,5.129,4008,6.649,4009,6.649,4010,3.101,4011,3.519,4012,5.129,4013,3.519,4014,3.519,4015,3.519,4016,5.129,4017,3.519,4018,3.519,4019,3.519,4020,3.519]],["title/dependencies.html",[536,1.53,3617,3.206]],["body/dependencies.html",[5,0.101,22,1.793,43,0.01,72,4.027,75,0.007,80,0.006,84,0.006,102,2.643,104,0.26,107,2.772,110,2.18,111,5.121,113,1.536,260,1.724,536,1.576,558,4.768,566,4.532,567,4.303,612,2.39,635,2.643,668,2.616,669,1.999,670,1.999,737,1.842,934,4.768,935,4.768,1021,4.344,1129,3.564,1331,4.344,1673,3.086,1934,4.027,2120,3.564,2142,3.564,2425,4.344,2479,4.344,2488,4.344,2881,4.344,2882,4.344,3049,4.344,3104,4.768,3106,4.768,3107,6.063,3109,4.768,3283,4.768,3415,4.344,3460,4.768,3576,4.768,3629,4.768,3647,4.768,3680,4.768,3686,4.768,3779,4.768,3828,6.063,4021,5.411,4022,5.411,4023,8.849,4024,5.411,4025,5.411,4026,5.411,4027,5.411,4028,5.411,4029,5.411,4030,5.411,4031,5.411,4032,5.411,4033,7.567,4034,5.411,4035,6.882,4036,5.411,4037,5.411,4038,5.411,4039,5.411,4040,7.567,4041,5.411,4042,5.411,4043,5.411,4044,5.411,4045,5.411,4046,5.411,4047,5.411,4048,5.411,4049,5.411,4050,5.411,4051,6.882,4052,5.411,4053,5.411,4054,5.411,4055,6.882,4056,5.411,4057,5.411,4058,6.882,4059,5.411,4060,5.411,4061,5.411,4062,5.411,4063,5.411,4064,5.411,4065,5.411,4066,5.411,4067,5.411,4068,5.411,4069,5.411,4070,5.411,4071,4.768,4072,5.411,4073,5.411,4074,5.411,4075,5.411,4076,5.411,4077,6.882,4078,5.411,4079,5.411,4080,5.411,4081,5.411,4082,5.411,4083,5.411,4084,5.411,4085,5.411,4086,5.411,4087,5.411,4088,5.411,4089,5.411,4090,5.411,4091,5.411,4092,5.411,4093,5.411,4094,5.411,4095,5.411,4096,5.411,4097,5.411,4098,5.411,4099,5.411,4100,5.411,4101,5.411,4102,5.411,4103,5.411,4104,5.411,4105,5.411,4106,5.411,4107,6.882,4108,5.411,4109,5.411,4110,5.411,4111,5.411,4112,5.411,4113,5.411,4114,5.411,4115,5.411,4116,5.411,4117,5.411,4118,5.411,4119,5.411]],["title/miscellaneous/functions.html",[4120,2.397,4121,4.63]],["body/miscellaneous/functions.html",[6,0.121,11,0.816,18,0.616,22,2.176,42,1.981,43,0.01,44,1.185,46,1.543,55,1.75,61,4.579,75,0.008,80,0.007,84,0.007,245,2.359,257,2.374,300,1.941,466,2.568,749,6.219,753,5.27,819,4.324,820,4.579,826,5.785,829,5.785,1329,4.886,1340,5.785,1948,3.207,2136,4.579,2137,5.404,2140,4.324,2147,4.886,2148,4.418,2172,4.886,2834,4.886,2879,5.27,2886,5.27,3989,6.826,3994,6.826,4010,6.826,4120,4.324,4121,5.785,4122,6.566,4123,6.566,4124,5.785,4125,6.566,4126,6.566]],["title/index.html",[18,0.342,2018,2.169,3547,2.921]],["body/index.html",[3,0.158,43,0.008,75,0.008,80,0.006,84,0.006,102,2.895,126,2.318,129,0.488,195,1.56,196,0.575,212,1.147,258,2.618,299,2.914,308,1.13,333,2.684,434,2.536,446,3.903,591,5.738,601,5.421,636,3.001,660,3.001,891,3.558,1288,5.081,1289,3.903,1365,4.757,2342,5.847,2848,6.604,3416,6.604,3548,4.757,3549,6.418,3550,6.418,3551,6.418,3573,5.221,3595,5.221,3597,6.948,3612,5.221,3613,5.221,3614,5.221,3627,7.441,3628,7.248,3633,6.418,3639,5.221,3648,6.418,3650,5.221,3913,5.221,3923,5.221,4127,7.284,4128,5.926,4129,5.926,4130,5.926,4131,6.418,4132,5.926,4133,5.926,4134,5.926,4135,7.284,4136,7.284,4137,7.284,4138,7.886,4139,5.926,4140,5.926,4141,7.886,4142,5.926,4143,5.926,4144,7.284,4145,5.926,4146,5.926,4147,5.926,4148,7.284,4149,5.926,4150,5.926,4151,5.926,4152,5.926,4153,8.226,4154,5.926,4155,5.926,4156,5.926,4157,5.926,4158,5.926,4159,5.926,4160,5.926,4161,5.926,4162,5.926,4163,5.926,4164,5.926,4165,5.926,4166,5.926,4167,5.926,4168,5.926,4169,5.926]],["title/license.html",[2018,2.169,3547,2.921,4170,3.206]],["body/license.html",[43,0.008,75,0.008,80,0.007,84,0.007,263,2.656,424,1.644,591,4.463,799,5.137,804,6.545,813,1.603,896,4.001,960,3.864,1244,4.762,1632,5.638,1845,4.214,1848,4.214,2276,4.001,2453,4.762,3656,6.723,3811,6.723,3877,5.638,3894,5.638,3931,5.638,4071,5.638,4131,7.906,4170,5.638,4171,6.399,4172,8.154,4173,6.399,4174,6.399,4175,7.63,4176,6.399,4177,6.399,4178,6.399,4179,6.399,4180,6.399,4181,7.63,4182,6.399,4183,6.399,4184,6.399,4185,6.399,4186,6.399,4187,6.399,4188,6.399,4189,6.399,4190,6.399,4191,6.399,4192,6.399,4193,7.63,4194,6.399,4195,6.399,4196,6.399,4197,6.399,4198,6.399,4199,7.63,4200,6.399,4201,6.399,4202,6.399,4203,6.399,4204,6.399,4205,6.399,4206,6.399,4207,6.399,4208,6.399,4209,6.399,4210,6.399,4211,6.399,4212,6.399,4213,6.399,4214,6.399,4215,6.399,4216,6.399,4217,6.399,4218,6.399,4219,6.399,4220,6.399,4221,6.399,4222,6.399]],["title/modules.html",[535,1.695]],["body/modules.html",[43,0.008,75,0.008,80,0.006,84,0.006,534,4.486,535,1.711,540,4.204,541,4.204,542,4.204,543,4.204,544,4.204,545,4.204,546,4.204,567,5.787,730,4.204,745,4.204,1079,4.204,1080,4.204,1091,4.204,1092,4.204,1127,6.887,1234,4.204,1321,4.204,1661,4.204,1706,3.769,1816,3.97,1817,4.204,1818,4.204,2377,4.204,2701,4.204,2706,4.204,2764,4.204,2765,4.204,2766,4.204,2767,4.204,3455,4.486,3572,8.154,3843,6.485,4223,9.268,4224,7.36]],["title/overview.html",[4225,5.262]],["body/overview.html",[2,2.236,43,0.01,75,0.006,80,0.004,84,0.004,195,1.032,197,1.735,198,0.982,242,3.832,424,1.007,435,1.85,474,1.825,476,2.177,478,2.233,480,2.169,482,2.233,485,2.233,487,2.233,490,2.233,492,2.233,495,2.233,499,2.233,501,2.177,502,2.233,503,2.233,505,2.233,508,2.177,509,2.233,510,2.177,513,2.177,515,2.233,517,2.233,519,2.233,521,2.233,523,2.233,525,2.233,527,2.233,530,2.233,534,6.569,535,1.113,536,1.614,537,3.454,538,3.454,539,3.454,540,5.776,541,5.698,542,5.988,543,5.337,544,6.194,545,5.603,546,6.112,547,1.743,548,1.113,730,5.337,731,3.454,732,3.454,733,3.454,745,4.483,1075,3.454,1076,3.454,1077,3.454,1078,3.454,1079,5.603,1080,5.337,1089,3.454,1090,3.454,1091,4.483,1092,5.141,1234,5.337,1235,3.454,1236,3.454,1237,3.454,1249,3.454,1250,3.454,1251,3.454,1321,5.337,1322,3.454,1323,3.454,1324,3.454,1370,3.454,1371,3.454,1372,3.454,1453,3.147,1661,5.337,1662,3.454,1663,3.454,1664,3.454,1706,5.023,1707,3.454,1708,3.454,1709,3.454,1812,3.454,1813,3.454,1814,3.454,1815,3.454,1816,5.18,1817,5.337,1818,5.486,2130,3.454,2131,3.454,2132,3.454,2377,5.776,2378,3.454,2379,3.454,2380,3.454,2406,3.454,2407,3.454,2408,3.454,2701,5.603,2702,3.454,2703,3.454,2704,3.454,2705,3.454,2706,5.337,2739,3.454,2740,3.454,2741,3.454,2760,3.454,2761,3.454,2762,3.454,2763,3.454,2764,5.337,2765,5.337,2766,5.337,2767,5.337,2827,3.454,2828,3.454,2829,3.454,3012,3.454,3013,3.454,3014,3.454,3094,3.454,3095,3.454,3097,3.454,3165,3.454,3166,3.454,3167,3.454,3308,3.454,3309,3.454,3310,3.454,3316,3.454,3317,3.454,3450,3.454,3451,3.454,3452,3.454,3455,5.485,3456,3.454,3457,3.454,3458,3.454,3522,3.454,3523,3.454,3524,3.454,3544,3.454,3545,3.454,3546,3.454,4225,3.454,4226,5.542,4227,3.921,4228,3.921]],["title/miscellaneous/typealiases.html",[4120,2.397,4229,5.255]],["body/miscellaneous/typealiases.html",[6,0.122,8,3.028,12,1.348,15,2.248,18,0.531,22,2.345,43,0.01,45,0.782,47,1.025,69,0.765,71,1.417,75,0.008,80,0.006,84,0.006,116,4.424,198,1.417,208,1.91,222,4.425,299,2.614,300,1.935,310,3.869,313,2.497,333,2.408,417,3.371,425,3.092,450,1.528,453,1.528,466,3.02,572,5.928,602,4.539,603,6.822,612,2.497,619,4.935,623,6.233,629,5.265,641,6.233,679,2.347,758,3.125,761,2.58,765,3.371,773,3.456,777,3.411,792,3.456,894,3.535,895,3.582,942,4.935,949,4.659,954,4.218,1015,3.574,1051,3.535,1052,3.535,1053,4.034,1054,3.944,1055,3.944,1056,3.724,1058,3.535,1060,4.751,1061,4.424,1062,5.386,1065,3.535,1066,3.535,1069,5.386,1070,3.944,1071,3.944,1072,4.223,1084,3.944,1454,4.208,1476,4.982,1477,6.233,1478,6.233,1479,4.982,1480,6.233,1481,4.982,1482,6.233,1483,4.982,1484,4.982,1485,4.982,1486,4.539,1910,4.208,1911,4.539,1912,5.679,1914,3.724,1922,4.659,1956,4.208,2220,3.224,3016,4.208,3017,5.679,3131,4.208,3132,5.265,4120,3.724,4230,5.654,4231,8.331,4232,7.488,4233,6.803,4234,5.654,4235,5.654,4236,5.654,4237,6.233,4238,5.654]],["title/miscellaneous/variables.html",[4120,2.397,4239,4.63]],["body/miscellaneous/variables.html",[1,2.024,6,0.118,14,2.024,18,0.333,42,0.826,43,0.01,44,1.264,45,0.745,47,1.21,70,2.338,71,1.293,75,0.005,77,3.625,80,0.006,84,0.005,85,1.633,86,1.663,88,1.389,90,1.623,91,1.276,92,2.024,117,2.116,128,1.62,132,1.474,133,0.2,141,1.074,165,2.024,189,2.338,204,5.419,213,0.868,226,2.943,245,1.276,246,1.43,256,0.826,297,0.935,301,2.823,303,5.168,304,1.798,326,1.034,350,5.678,382,1.805,387,1.962,390,2.142,405,1.276,409,1.562,414,1.06,429,2.168,450,1.532,453,1.532,511,1.201,514,0.958,576,3.841,655,1.942,656,2.476,657,2.338,658,3.98,671,2.642,672,3.841,673,3.468,679,2.142,748,3.841,750,2.024,758,2.28,777,2.686,875,1.867,965,1.474,969,1.276,1052,2.22,1056,2.338,1111,2.642,1112,2.476,1113,2.85,1114,4.143,1115,2.247,1118,2.642,1126,6.758,1130,2.338,1131,2.85,1132,3.6,1133,3.128,1134,7.967,1135,3.128,1136,3.128,1137,3.128,1138,4.547,1139,3.128,1140,3.128,1141,3.128,1142,3.128,1143,3.128,1144,3.128,1145,5.882,1146,5.882,1147,6.249,1148,6.249,1149,2.85,1150,3.128,1151,4.435,1152,3.128,1153,3.128,1154,3.128,1155,4.143,1156,4.143,1157,4.547,1158,3.128,1159,3.128,1160,6.249,1161,3.128,1162,4.547,1163,2.642,1164,3.128,1165,3.128,1166,3.128,1167,3.128,1168,3.128,1169,5.882,1170,3.128,1171,3.128,1172,4.547,1173,3.128,1174,3.128,1175,2.85,1176,3.128,1177,3.128,1178,3.128,1179,3.128,1180,3.128,1181,4.547,1182,4.143,1183,2.85,1184,3.128,1185,2.85,1186,3.128,1187,3.128,1188,3.128,1189,3.128,1190,3.128,1191,5.882,1192,3.128,1193,3.128,1194,5.882,1195,2.85,1196,3.128,1197,2.476,1198,3.128,1199,3.128,1200,5.358,1201,3.128,1202,4.547,1203,3.128,1204,3.128,1205,3.128,1206,3.128,1253,3.227,1254,3.802,1329,2.642,1332,3.227,1338,4.143,1339,3.046,1387,2.338,1454,2.642,1487,3.128,1488,4.143,1489,3.128,1490,3.128,1841,2.338,1852,2.22,1855,2.476,1856,3.399,1857,3.399,1858,2.476,1859,2.476,1914,2.338,1921,2.024,1929,2.22,1947,1.675,1953,2.116,1955,2.116,1961,3.077,2482,2.642,2770,2.338,2773,2.338,2777,2.476,2782,2.476,2783,3.841,2785,3.841,2982,2.476,2983,3.841,3102,2.85,3112,3.128,3113,4.143,3135,2.338,3172,5.359,3202,3.128,3250,4.143,3254,4.143,3255,3.128,3256,3.128,3257,4.143,3323,2.85,3356,3.128,4120,2.338,4124,4.547,4232,3.128,4233,3.128,4237,3.128,4239,3.128,4240,3.55,4241,3.55,4242,3.55,4243,6.081,4244,3.55,4245,3.55,4246,5.161,4247,3.55]]],"invertedIndex":[["",{"_index":43,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":429,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.063rem",{"_index":3305,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.075rem",{"_index":3540,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.1.0",{"_index":3950,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":4119,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":4060,"title":{},"body":{"dependencies.html":{}}}],["0.1rem",{"_index":1306,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.1s",{"_index":3521,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.2.0",{"_index":3945,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":4078,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":1354,"title":{},"body":{"components/HeaderComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.25s",{"_index":3093,"title":{},"body":{"components/StageNavComponent.html":{}}}],["0.2rem",{"_index":452,"title":{},"body":{"components/AppComponent.html":{}}}],["0.2s",{"_index":3541,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.313rem",{"_index":3306,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.375rem",{"_index":1798,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0.3rem",{"_index":1305,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.3s",{"_index":3520,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.4s",{"_index":3519,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.5",{"_index":376,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["0.5.0",{"_index":3933,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":428,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.5s",{"_index":422,"title":{},"body":{"components/AppComponent.html":{}}}],["0.6.0",{"_index":3913,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.625rem",{"_index":2825,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["0.6s",{"_index":438,"title":{},"body":{"components/AppComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{}}}],["0.75rem",{"_index":727,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.9rem",{"_index":1808,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0/1",{"_index":3969,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":3968,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":3960,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":3964,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":3987,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":3963,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":3988,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":3555,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":3799,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":3753,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":3586,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":3728,"title":{},"body":{"changelog.html":{}}}],["05rem",{"_index":3406,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["06",{"_index":3570,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":3554,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":3895,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":3670,"title":{},"body":{"changelog.html":{}}}],["0rem",{"_index":419,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{}}}],["1",{"_index":188,"title":{"components/ContentComponent-1.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["1.0",{"_index":375,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["1.0.0",{"_index":3883,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":4057,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":4064,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":4115,"title":{},"body":{"dependencies.html":{}}}],["1.0625rem",{"_index":3401,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["1.1.0",{"_index":3864,"title":{},"body":{"changelog.html":{}}}],["1.125rem",{"_index":3543,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["1.16.0",{"_index":4094,"title":{},"body":{"dependencies.html":{}}}],["1.1875rem",{"_index":2755,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1.19.0",{"_index":4059,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":3828,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":4067,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":4096,"title":{},"body":{"dependencies.html":{}}}],["1.25rem",{"_index":2823,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.2rem",{"_index":443,"title":{},"body":{"components/AppComponent.html":{}}}],["1.3.5",{"_index":3798,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":3779,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":4081,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":3752,"title":{},"body":{"changelog.html":{}}}],["1.5rem",{"_index":461,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.6.0",{"_index":3737,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":3727,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":4068,"title":{},"body":{"dependencies.html":{}}}],["1.9375rem",{"_index":2754,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1/1",{"_index":3972,"title":{},"body":{"coverage.html":{}}}],["1/2",{"_index":3993,"title":{},"body":{"coverage.html":{}}}],["1/3",{"_index":3984,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":673,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":4076,"title":{},"body":{"dependencies.html":{}}}],["10.5rem",{"_index":1308,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["10/12",{"_index":3971,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":405,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":902,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["10x",{"_index":3875,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":3781,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":4097,"title":{},"body":{"dependencies.html":{}}}],["11/18",{"_index":4003,"title":{},"body":{"coverage.html":{}}}],["118",{"_index":2955,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["12",{"_index":3595,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":4099,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":4023,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":4027,"title":{},"body":{"dependencies.html":{}}}],["12/12",{"_index":4013,"title":{},"body":{"coverage.html":{}}}],["12/22",{"_index":3962,"title":{},"body":{"coverage.html":{}}}],["13",{"_index":3671,"title":{},"body":{"changelog.html":{}}}],["13/13",{"_index":4007,"title":{},"body":{"coverage.html":{}}}],["13/16",{"_index":3996,"title":{},"body":{"coverage.html":{}}}],["14",{"_index":3587,"title":{},"body":{"changelog.html":{}}}],["14/17",{"_index":3991,"title":{},"body":{"coverage.html":{}}}],["14rem",{"_index":463,"title":{},"body":{"components/AppComponent.html":{}}}],["15.126.1",{"_index":4022,"title":{},"body":{"dependencies.html":{}}}],["15/15",{"_index":4018,"title":{},"body":{"coverage.html":{}}}],["15rem",{"_index":426,"title":{},"body":{"components/AppComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["16",{"_index":3712,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":4070,"title":{},"body":{"dependencies.html":{}}}],["16.5rem",{"_index":3091,"title":{},"body":{"components/StageNavComponent.html":{}}}],["16/17",{"_index":4005,"title":{},"body":{"coverage.html":{}}}],["17",{"_index":3571,"title":{},"body":{"changelog.html":{}}}],["17/17",{"_index":3997,"title":{},"body":{"coverage.html":{}}}],["18/18",{"_index":3979,"title":{},"body":{"coverage.html":{}}}],["180",{"_index":2977,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["18rem",{"_index":3516,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["1px",{"_index":1352,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem",{"_index":410,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["1s",{"_index":966,"title":{},"body":{"components/ContentComponent.html":{}}}],["2",{"_index":435,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":3711,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":4073,"title":{},"body":{"dependencies.html":{}}}],["2.0625rem",{"_index":3400,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["2.06rem",{"_index":3542,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["2.1.0",{"_index":3686,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":3680,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.25rem",{"_index":1233,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["2.3.0",{"_index":3676,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":3669,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":3663,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":3647,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.5rem",{"_index":1309,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2.6.7",{"_index":4100,"title":{},"body":{"dependencies.html":{}}}],["2.688rem",{"_index":460,"title":{},"body":{"components/AppComponent.html":{}}}],["2.75rem",{"_index":2819,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["2.8.5",{"_index":4066,"title":{},"body":{"dependencies.html":{}}}],["2.9rem",{"_index":456,"title":{},"body":{"components/AppComponent.html":{}}}],["2/2",{"_index":4012,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":1750,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["200",{"_index":2957,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2019",{"_index":3894,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":3830,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":3634,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":3553,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":3729,"title":{},"body":{"changelog.html":{}}}],["210",{"_index":2956,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["21rem",{"_index":1811,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["22",{"_index":3885,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":3934,"title":{},"body":{"changelog.html":{}}}],["24px",{"_index":1807,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["24px.svg",{"_index":1200,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["25",{"_index":2954,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25.5rem",{"_index":415,"title":{},"body":{"components/AppComponent.html":{}}}],["250",{"_index":2729,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["255",{"_index":2857,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25rem",{"_index":1366,"title":{},"body":{"components/HeaderComponent.html":{}}}],["25s",{"_index":3402,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["26",{"_index":3754,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":3784,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":3630,"title":{},"body":{"changelog.html":{}}}],["27rem",{"_index":1810,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["29",{"_index":4226,"title":{},"body":{"overview.html":{}}}],["29/29",{"_index":4017,"title":{},"body":{"coverage.html":{}}}],["2]).rotatey(toradians(0",{"_index":2852,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2px",{"_index":723,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2rem",{"_index":1355,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["3",{"_index":2684,"title":{},"body":{"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["3).every(entry",{"_index":2686,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["3.0.0",{"_index":3629,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":4040,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":3600,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":3594,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":3585,"title":{},"body":{"changelog.html":{}}}],["3.25rem",{"_index":3302,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["3.3.0",{"_index":3569,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":3552,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":4045,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":4047,"title":{},"body":{"dependencies.html":{}}}],["3.5rem",{"_index":3092,"title":{},"body":{"components/StageNavComponent.html":{}}}],["3.6",{"_index":4157,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":4108,"title":{},"body":{"dependencies.html":{}}}],["3.625rem",{"_index":2753,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3.7.1",{"_index":4051,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":4052,"title":{},"body":{"dependencies.html":{}}}],["3.75rem",{"_index":2747,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3/3",{"_index":3966,"title":{},"body":{"coverage.html":{}}}],["3/7",{"_index":3982,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1703,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["3000",{"_index":365,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["30rem",{"_index":3448,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["31",{"_index":3865,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":4228,"title":{},"body":{"overview.html":{}}}],["32rem",{"_index":2757,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["33",{"_index":3983,"title":{},"body":{"coverage.html":{}}}],["33.33",{"_index":724,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["34/38",{"_index":3978,"title":{},"body":{"coverage.html":{}}}],["3d",{"_index":895,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["3px",{"_index":1801,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["3rem",{"_index":442,"title":{},"body":{"components/AppComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["4",{"_index":3846,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":4136,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":4050,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":4072,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":4091,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":4062,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":4083,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":3965,"title":{},"body":{"coverage.html":{}}}],["4/6",{"_index":4001,"title":{},"body":{"coverage.html":{}}}],["4/7",{"_index":3986,"title":{},"body":{"coverage.html":{}}}],["4/8",{"_index":3992,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":901,"title":{},"body":{"components/ContentComponent.html":{}}}],["400",{"_index":1809,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["42",{"_index":3981,"title":{},"body":{"coverage.html":{}}}],["42/44",{"_index":4011,"title":{},"body":{"coverage.html":{}}}],["46rem",{"_index":3444,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["47rem",{"_index":2375,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4px",{"_index":2374,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4rem",{"_index":968,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{}}}],["5",{"_index":3255,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":4086,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":4090,"title":{},"body":{"dependencies.html":{}}}],["5.5rem",{"_index":970,"title":{},"body":{"components/ContentComponent.html":{}}}],["5.688rem",{"_index":420,"title":{},"body":{"components/AppComponent.html":{}}}],["5/5",{"_index":3975,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1368,"title":{},"body":{"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["500",{"_index":646,"title":{},"body":{"components/AppWebComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["54",{"_index":3961,"title":{},"body":{"coverage.html":{}}}],["55rem",{"_index":977,"title":{},"body":{"components/ContentComponent.html":{}}}],["57",{"_index":3985,"title":{},"body":{"coverage.html":{}}}],["58",{"_index":3973,"title":{},"body":{"coverage.html":{}}}],["5rem",{"_index":975,"title":{},"body":{"components/ContentComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["5s",{"_index":1050,"title":{},"body":{"components/ContentComponent-1.html":{},"components/VideoModalComponent.html":{}}}],["6.0.1",{"_index":4089,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":4102,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":4048,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":4112,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":4109,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":3967,"title":{},"body":{"coverage.html":{}}}],["6/7",{"_index":3976,"title":{},"body":{"coverage.html":{}}}],["600",{"_index":719,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["60rem",{"_index":2695,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["61",{"_index":4002,"title":{},"body":{"coverage.html":{}}}],["65vh",{"_index":3430,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["66",{"_index":4000,"title":{},"body":{"coverage.html":{}}}],["675rem",{"_index":3405,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["6s",{"_index":722,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["7/12",{"_index":3974,"title":{},"body":{"coverage.html":{}}}],["7/14",{"_index":3980,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":4006,"title":{},"body":{"coverage.html":{}}}],["7/9",{"_index":3999,"title":{},"body":{"coverage.html":{}}}],["77",{"_index":3998,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":3732,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":4117,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":4044,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":4033,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":4036,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":4009,"title":{},"body":{"coverage.html":{}}}],["8/9",{"_index":4015,"title":{},"body":{"coverage.html":{}}}],["81",{"_index":3995,"title":{},"body":{"coverage.html":{}}}],["82",{"_index":3990,"title":{},"body":{"coverage.html":{}}}],["83",{"_index":3970,"title":{},"body":{"coverage.html":{}}}],["85",{"_index":3944,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["88",{"_index":4014,"title":{},"body":{"coverage.html":{}}}],["89",{"_index":3977,"title":{},"body":{"coverage.html":{}}}],["9",{"_index":4227,"title":{},"body":{"overview.html":{}}}],["9/10",{"_index":4016,"title":{},"body":{"coverage.html":{}}}],["9/9",{"_index":4008,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":1960,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["94",{"_index":4004,"title":{},"body":{"coverage.html":{}}}],["95",{"_index":3590,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["9e9e9e",{"_index":1307,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["9e9e9e5e",{"_index":3307,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["9th",{"_index":3764,"title":{},"body":{"changelog.html":{}}}],["_blocksize",{"_index":2964,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_error",{"_index":1429,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["_expanded",{"_index":1526,"title":{},"body":{"classes/InitializationState.html":{}}}],["_index",{"_index":3154,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["_latesttags",{"_index":21,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["_lighting",{"_index":2854,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_measuredmargin",{"_index":1557,"title":{},"body":{"classes/InitializationState.html":{}}}],["_measuredwidth",{"_index":1551,"title":{},"body":{"classes/InitializationState.html":{}}}],["_msg",{"_index":780,"title":{},"body":{"components/ContainerComponent.html":{}}}],["_name",{"_index":2099,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["_opened",{"_index":1522,"title":{},"body":{"classes/InitializationState.html":{}}}],["_position",{"_index":1518,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_rotation",{"_index":2965,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["aabb",{"_index":2879,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["ability",{"_index":3693,"title":{},"body":{"changelog.html":{}}}],["about.wrapper",{"_index":2733,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["above",{"_index":3931,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["absolute",{"_index":464,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["acc",{"_index":3296,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["acc.concat(nodes",{"_index":2928,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["acc[id",{"_index":3294,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["accepting",{"_index":1611,"title":{},"body":{"classes/InitializationState.html":{}}}],["accessible",{"_index":2178,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["accessing",{"_index":3068,"title":{},"body":{"components/StageNavComponent.html":{}}}],["accessors",{"_index":32,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["accordingly",{"_index":2052,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["accurate",{"_index":3751,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":2453,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"license.html":{}}}],["actions",{"_index":3820,"title":{},"body":{"changelog.html":{}}}],["active",{"_index":2255,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ThemingService.html":{}}}],["actual_component",{"_index":532,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["add",{"_index":3197,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["addclass",{"_index":3373,"title":{},"body":{"injectables/ThemingService.html":{}}}],["added",{"_index":140,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["added.add(id",{"_index":147,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.add(iri",{"_index":153,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.has(iri",{"_index":152,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addeventlistener('beforeunload",{"_index":2312,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["adding",{"_index":3174,"title":{},"body":{"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["additional",{"_index":3932,"title":{},"body":{"changelog.html":{}}}],["addregistration",{"_index":2418,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["addregistration(registration",{"_index":2431,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["addressed",{"_index":3859,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":59,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["addsvgicon",{"_index":1433,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["addtag",{"_index":26,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtag(tag",{"_index":51,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtagraw",{"_index":27,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["addtagraw(tag",{"_index":57,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtags",{"_index":28,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["addtags(tags",{"_index":62,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["adjusting",{"_index":3856,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":3778,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":3714,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":755,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["again",{"_index":3837,"title":{},"body":{"changelog.html":{}}}],["against",{"_index":1600,"title":{},"body":{"classes/InitializationState.html":{}}}],["age",{"_index":3659,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":3674,"title":{},"body":{"changelog.html":{}}}],["alert",{"_index":2292,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["aliases",{"_index":4230,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":444,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["alignment",{"_index":2587,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["all_organs",{"_index":1929,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["all_organs.find((o",{"_index":2021,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["all_organs.find(info",{"_index":2223,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["allow",{"_index":2748,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["allowed",{"_index":1704,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["allows",{"_index":1630,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["along",{"_index":1761,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["alpha",{"_index":3924,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":3907,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":3903,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":3893,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":800,"title":{},"body":{"components/ContainerComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["alt",{"_index":4140,"title":{},"body":{"index.html":{}}}],["always",{"_index":824,"title":{},"body":{"components/ContainerComponent.html":{},"components/HeaderComponent.html":{}}}],["analytics",{"_index":670,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1098,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":1102,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":1795,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["anatomicalstructures",{"_index":1916,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["anatomicalstructuretagstate",{"_index":1,"title":{"injectables/AnatomicalStructureTagState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["anatomicalstructuretagstatemodel",{"_index":131,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["and/or",{"_index":4191,"title":{},"body":{"license.html":{}}}],["angle",{"_index":3019,"title":{},"body":{"components/StageNavComponent.html":{}}}],["angular",{"_index":102,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1021,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"dependencies.html":{}}}],["angular/cdk",{"_index":4024,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/coercion",{"_index":1475,"title":{},"body":{"classes/InitializationState.html":{}}}],["angular/cdk/overlay",{"_index":3354,"title":{},"body":{"injectables/ThemingService.html":{}}}],["angular/common",{"_index":737,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"components/VideoModalComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":1095,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":4025,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":104,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":558,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":2120,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"dependencies.html":{}}}],["angular/material",{"_index":4026,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":1668,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/checkbox",{"_index":3313,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["angular/material/chips",{"_index":3170,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/core",{"_index":741,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["angular/material/dialog",{"_index":2360,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["angular/material/divider",{"_index":1823,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/expansion",{"_index":1821,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["angular/material/form",{"_index":560,"title":{},"body":{"modules/AppModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/icon",{"_index":563,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/input",{"_index":739,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/radio",{"_index":3100,"title":{},"body":{"modules/StageNavModule.html":{}}}],["angular/material/select",{"_index":1327,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/slide",{"_index":1712,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["angular/material/slider",{"_index":2833,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["angular/material/snack",{"_index":323,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["angular/material/tooltip",{"_index":743,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["angular/platform",{"_index":566,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/RightSidebarModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":4029,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":3460,"title":{},"body":{"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["animate",{"_index":1018,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animate('.5s",{"_index":1503,"title":{},"body":{"classes/InitializationState.html":{}}}],["animate('1s",{"_index":1026,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["animate(0",{"_index":1502,"title":{},"body":{"classes/InitializationState.html":{}}}],["animated",{"_index":2694,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["animated')[0]?.classlist.add('modal",{"_index":2726,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animation",{"_index":1487,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["animations",{"_index":980,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["animationsenabled",{"_index":981,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["anterior",{"_index":949,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["api",{"_index":3416,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":4149,"title":{},"body":{"index.html":{}}}],["app",{"_index":204,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":574,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":217,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app.component.scss",{"_index":215,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app_bootstrap_listener",{"_index":3319,"title":{},"body":{"modules/ThemingModule.html":{}}}],["appcomponent",{"_index":197,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":3643,"title":{},"body":{"changelog.html":{}}}],["appearance",{"_index":592,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["appears",{"_index":2385,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["appelement",{"_index":597,"title":{},"body":{"modules/AppModule.html":{}}}],["applicable",{"_index":1926,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["application",{"_index":2666,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["application/json",{"_index":2571,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["applied",{"_index":3805,"title":{},"body":{"changelog.html":{}}}],["applyspatialplacement",{"_index":3989,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["applyspatialplacement(new",{"_index":2193,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["applyspatialplacement(tx",{"_index":2147,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["applythemeclass",{"_index":3326,"title":{},"body":{"injectables/ThemingService.html":{}}}],["applythemeclass(cls",{"_index":3333,"title":{},"body":{"injectables/ThemingService.html":{}}}],["appmodule",{"_index":534,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":1105,"title":{},"body":{"modules/CoreModule.html":{}}}],["appoptions",{"_index":336,"title":{"interfaces/AppOptions.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["appropriate",{"_index":3616,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":474,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":3763,"title":{},"body":{"changelog.html":{}}}],["area",{"_index":920,"title":{},"body":{"components/ContentComponent.html":{}}}],["arg",{"_index":1423,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args",{"_index":1424,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args.filter(value",{"_index":1441,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["argument",{"_index":1438,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["arguments",{"_index":250,"title":{},"body":{"components/AppComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["arising",{"_index":4220,"title":{},"body":{"license.html":{}}}],["around",{"_index":2735,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["array",{"_index":1212,"title":{},"body":{"components/DetailsLabelComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["array.isarray(entity.placement",{"_index":2942,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["array.isarray(reg.placement",{"_index":2520,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["arraytostring",{"_index":1219,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(details",{"_index":1232,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(inputarray",{"_index":1222,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arrow",{"_index":1316,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["arrow_drop_down",{"_index":398,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["arrow_drop_up",{"_index":397,"title":{},"body":{"components/AppComponent.html":{}}}],["arrow_left",{"_index":3392,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["arrow_right",{"_index":3391,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["as.id",{"_index":192,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name",{"_index":193,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name.tolowercase().indexof(text.tolowercase",{"_index":187,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["asct+b",{"_index":3635,"title":{},"body":{"changelog.html":{}}}],["aslookup",{"_index":2074,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["aslookup[iri",{"_index":2079,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assertions",{"_index":1958,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assets/icons/ico",{"_index":1205,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/opacity",{"_index":1199,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/organs/ico",{"_index":1134,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/visibility",{"_index":1202,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/reference",{"_index":2183,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["assigned",{"_index":158,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["assignment/selection",{"_index":3739,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1845,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"license.html":{}}}],["astags",{"_index":2743,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["async",{"_index":1459,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["async)?.x",{"_index":957,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.y",{"_index":958,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.z",{"_index":959,"title":{},"body":{"components/ContentComponent.html":{}}}],["asynchronously",{"_index":3418,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["attach",{"_index":3382,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["attempts",{"_index":3665,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":4212,"title":{},"body":{"license.html":{}}}],["auto",{"_index":964,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["autofocus",{"_index":2405,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["automatic",{"_index":3849,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":3806,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":3843,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":3702,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":1465,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["awaited",{"_index":1455,"title":{},"body":{"classes/InitializationState.html":{}}}],["award",{"_index":4168,"title":{},"body":{"index.html":{}}}],["axis",{"_index":2798,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["b",{"_index":951,"title":{},"body":{"components/ContentComponent.html":{}}}],["back",{"_index":1351,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["backbutton",{"_index":1360,"title":{},"body":{"components/HeaderComponent.html":{}}}],["backend",{"_index":3652,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":446,"title":{},"body":{"components/AppComponent.html":{},"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["backing",{"_index":1414,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["bar",{"_index":324,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["base",{"_index":3911,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":1008,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["basehref",{"_index":608,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["basewebcomponent",{"_index":604,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":3713,"title":{},"body":{"changelog.html":{}}}],["bbox",{"_index":1545,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.left",{"_index":1548,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.overlaps(getnodebbox(model",{"_index":2936,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.right",{"_index":1547,"title":{},"body":{"classes/InitializationState.html":{}}}],["before",{"_index":1124,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["beforeunloadevent",{"_index":2307,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["beforeunloadlistener",{"_index":2306,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["begin",{"_index":2667,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["being",{"_index":2714,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["belong",{"_index":1262,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["belonging",{"_index":1264,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["beta",{"_index":3633,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":3687,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":283,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["bind",{"_index":72,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["binds",{"_index":3345,"title":{},"body":{"injectables/ThemingService.html":{}}}],["black",{"_index":412,"title":{},"body":{"components/AppComponent.html":{}}}],["bladder",{"_index":1133,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bladder.svg",{"_index":1135,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blob([json",{"_index":2570,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["block",{"_index":256,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["block.x",{"_index":2039,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["block_size_input",{"_index":697,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocks",{"_index":1746,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["blocksize",{"_index":655,"title":{"interfaces/BlockSize.html":{}},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocksize.y",{"_index":2972,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksize.z].map(n",{"_index":2973,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksizechange",{"_index":682,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocksizeinputcomponent",{"_index":476,"title":{"components/BlockSizeInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["blocksizeinputmodule",{"_index":730,"title":{"modules/BlockSizeInputModule.html":{}},"body":{"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["blood",{"_index":1136,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blood.svg",{"_index":1137,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":3660,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":3905,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":635,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyuimodule",{"_index":1082,"title":{},"body":{"modules/ContentModule.html":{}}}],["bold",{"_index":1805,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["bone",{"_index":1138,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["boolean",{"_index":337,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["booleaninput",{"_index":1473,"title":{},"body":{"classes/InitializationState.html":{}}}],["bootstrap",{"_index":3342,"title":{},"body":{"injectables/ThemingService.html":{}}}],["border",{"_index":448,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["both",{"_index":3679,"title":{},"body":{"changelog.html":{}}}],["bottom",{"_index":449,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["bounds",{"_index":866,"title":{},"body":{"components/ContentComponent.html":{}}}],["box",{"_index":1303,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["bp",{"_index":643,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.boolean",{"_index":652,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.function",{"_index":654,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.json",{"_index":653,"title":{},"body":{"components/AppWebComponent.html":{}}}],["brain",{"_index":1141,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["brain.svg",{"_index":1142,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["break",{"_index":384,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["breaking",{"_index":3723,"title":{},"body":{"changelog.html":{}}}],["breaks",{"_index":166,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bringing",{"_index":3733,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":4223,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":567,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browser/animations",{"_index":569,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browseranimationsmodule",{"_index":568,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browserify",{"_index":4110,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":565,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browsing",{"_index":3953,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":3583,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":4132,"title":{},"body":{"index.html":{}}}],["buildjsonld",{"_index":2419,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildjsonld(page",{"_index":2433,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["buildmetadata",{"_index":2420,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildmetadata(page",{"_index":2437,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["builds",{"_index":2439,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["builtin_parsers",{"_index":637,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":431,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":507,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["button.component",{"_index":1257,"title":{},"body":{"modules/DrawerModule.html":{},"modules/ReviewButtonModule.html":{}}}],["button.component.html",{"_index":2649,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.scss",{"_index":2648,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts",{"_index":2644,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:100",{"_index":2672,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:19",{"_index":2671,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:22",{"_index":3381,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:24",{"_index":2661,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:27",{"_index":3390,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:29",{"_index":2660,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:35",{"_index":2657,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:38",{"_index":3387,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:40",{"_index":3386,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:42",{"_index":2662,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:47",{"_index":2669,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:54",{"_index":2655,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:65",{"_index":3383,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:68",{"_index":2675,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:75",{"_index":3384,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:78",{"_index":2679,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:85",{"_index":2677,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:97",{"_index":3385,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.module",{"_index":2780,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["button.module.ts",{"_index":2707,"title":{},"body":{"modules/ReviewButtonModule.html":{}}}],["button/review",{"_index":2643,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["button/toggle",{"_index":1256,"title":{},"body":{"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["buttons",{"_index":933,"title":{},"body":{"components/ContentComponent.html":{}}}],["c",{"_index":4173,"title":{},"body":{"license.html":{}}}],["cache",{"_index":4055,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":4114,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":1549,"title":{},"body":{"classes/InitializationState.html":{}}}],["calc",{"_index":3404,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["calc(100",{"_index":459,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["calc(50",{"_index":1507,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["calculated",{"_index":1541,"title":{},"body":{"classes/InitializationState.html":{},"components/TagSearchComponent.html":{}}}],["call",{"_index":1439,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["callback",{"_index":961,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["callbackset",{"_index":343,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["called",{"_index":1471,"title":{},"body":{"classes/InitializationState.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["calling",{"_index":3055,"title":{},"body":{"components/StageNavComponent.html":{}}}],["calls",{"_index":3203,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cancel",{"_index":2392,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagListComponent.html":{}}}],["cancelregistration",{"_index":609,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["cancelregistrationcallback",{"_index":619,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"miscellaneous/typealiases.html":{}}}],["candidate",{"_index":3887,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":2881,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["capturing",{"_index":1759,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["card",{"_index":3716,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":3719,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":380,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["cases",{"_index":3863,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":1428,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["catcherror",{"_index":2146,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/TagSearchComponent.html":{}}}],["ccf",{"_index":212,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":3824,"title":{},"body":{"changelog.html":{}}}],["ccf_annotations",{"_index":2601,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ccfdrawer",{"_index":1495,"title":{},"body":{"classes/InitializationState.html":{}}}],["ccfdrawercontainer",{"_index":757,"title":{},"body":{"components/ContainerComponent.html":{}}}],["cdk",{"_index":1317,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["cdr",{"_index":247,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cdr.markforcheck",{"_index":357,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cell",{"_index":3602,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":434,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"index.html":{}}}],["centimeter",{"_index":2152,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["certain",{"_index":268,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["cff",{"_index":1049,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["change",{"_index":258,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":843,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["changedetection",{"_index":209,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy",{"_index":321,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":210,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectorref",{"_index":248,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["changelog",{"_index":3548,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changerotation",{"_index":2810,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["changerotation(newrotation",{"_index":2800,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["changes",{"_index":182,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["changing",{"_index":3038,"title":{},"body":{"components/StageNavComponent.html":{}}}],["channel",{"_index":761,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["channels",{"_index":1881,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["charge",{"_index":4179,"title":{},"body":{"license.html":{}}}],["check",{"_index":2002,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["checked",{"_index":3223,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults",{"_index":3177,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults[tag.id",{"_index":3271,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checknamevalid",{"_index":2333,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checknamevalid(event",{"_index":2340,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checks",{"_index":1007,"title":{},"body":{"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["chevron_left",{"_index":1350,"title":{},"body":{"components/HeaderComponent.html":{}}}],["child",{"_index":726,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{}}}],["chip",{"_index":3164,"title":{},"body":{"components/TagListComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["choose",{"_index":3844,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":3822,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":4215,"title":{},"body":{"license.html":{}}}],["class",{"_index":133,"title":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["class.ccf",{"_index":3378,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["class.cff",{"_index":988,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["classend",{"_index":1513,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["classes",{"_index":1453,"title":{},"body":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"overview.html":{}}}],["classname",{"_index":762,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["clean",{"_index":1889,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["cleans",{"_index":277,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cleanup",{"_index":3632,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":2730,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["clearhaschanges",{"_index":2234,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["clears",{"_index":3484,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["click",{"_index":1640,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":261,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{}}}],["clicking",{"_index":3721,"title":{},"body":{"changelog.html":{}}}],["clicks",{"_index":3051,"title":{},"body":{"components/StageNavComponent.html":{}}}],["client",{"_index":4153,"title":{},"body":{"index.html":{}}}],["close",{"_index":430,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closed",{"_index":310,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["closedialog",{"_index":2334,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["closeexpanded",{"_index":1576,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeopendone",{"_index":1583,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeresults",{"_index":3184,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closeresults(event",{"_index":3213,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closes",{"_index":1564,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closesearch",{"_index":3178,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closesearch.nativeelement.contains(event.target",{"_index":3285,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cls",{"_index":3335,"title":{},"body":{"injectables/ThemingService.html":{}}}],["clsname",{"_index":678,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["cluster_appmodule",{"_index":537,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":538,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":539,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule",{"_index":731,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_declarations",{"_index":732,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_exports",{"_index":733,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_contentmodule",{"_index":1075,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_declarations",{"_index":1078,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_exports",{"_index":1076,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_imports",{"_index":1077,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":1089,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":1090,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule",{"_index":1235,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_declarations",{"_index":1236,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_exports",{"_index":1237,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_drawermodule",{"_index":1249,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_declarations",{"_index":1251,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_exports",{"_index":1250,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule",{"_index":1322,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_declarations",{"_index":1324,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_exports",{"_index":1323,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_headermodule",{"_index":1370,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_declarations",{"_index":1371,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_exports",{"_index":1372,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule",{"_index":1662,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_declarations",{"_index":1664,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_exports",{"_index":1663,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule",{"_index":1707,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_declarations",{"_index":1708,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_exports",{"_index":1709,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule",{"_index":1812,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_declarations",{"_index":1813,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_exports",{"_index":1814,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_imports",{"_index":1815,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule",{"_index":2130,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_declarations",{"_index":2131,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_exports",{"_index":2132,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule",{"_index":2378,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_declarations",{"_index":2379,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_exports",{"_index":2380,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_imports",{"_index":2381,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["cluster_registrationmodalmodule",{"_index":2406,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_declarations",{"_index":2407,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_exports",{"_index":2408,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_imports",{"_index":2409,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["cluster_reviewbuttonmodule",{"_index":2702,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_declarations",{"_index":2703,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_exports",{"_index":2704,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_imports",{"_index":2705,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule",{"_index":2739,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_declarations",{"_index":2740,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_exports",{"_index":2741,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule",{"_index":2760,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_declarations",{"_index":2761,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_exports",{"_index":2762,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_imports",{"_index":2763,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule",{"_index":2827,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_declarations",{"_index":2828,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_exports",{"_index":2829,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule",{"_index":3012,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_declarations",{"_index":3014,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_exports",{"_index":3013,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule",{"_index":3094,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_declarations",{"_index":3097,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_exports",{"_index":3095,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_imports",{"_index":3096,"title":{},"body":{"modules/StageNavModule.html":{}}}],["cluster_taglistmodule",{"_index":3165,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_declarations",{"_index":3166,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_exports",{"_index":3167,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule",{"_index":3308,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_declarations",{"_index":3309,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_exports",{"_index":3310,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_themingmodule",{"_index":3316,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_themingmodule_providers",{"_index":3317,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule",{"_index":3450,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_declarations",{"_index":3452,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_exports",{"_index":3451,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule",{"_index":3456,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_declarations",{"_index":3457,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_exports",{"_index":3458,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule",{"_index":3522,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_declarations",{"_index":3523,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_exports",{"_index":3524,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule",{"_index":3544,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_declarations",{"_index":3546,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_exports",{"_index":3545,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["coalescing",{"_index":2214,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["code",{"_index":3417,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["code.touppercase().endswith(lookup",{"_index":2217,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["codebase",{"_index":3833,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":3874,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":3918,"title":{},"body":{"changelog.html":{}}}],["coercebooleanproperty",{"_index":1474,"title":{},"body":{"classes/InitializationState.html":{}}}],["collaboration",{"_index":3831,"title":{},"body":{"changelog.html":{}}}],["collapse",{"_index":440,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["collapsed",{"_index":1483,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["collapses",{"_index":1575,"title":{},"body":{"classes/InitializationState.html":{}}}],["collection",{"_index":13,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["collisions",{"_index":138,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["color",{"_index":411,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["colorizing",{"_index":3880,"title":{},"body":{"changelog.html":{}}}],["column",{"_index":403,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["combination",{"_index":3845,"title":{},"body":{"changelog.html":{}}}],["combined",{"_index":1070,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["combinelatest",{"_index":112,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["combinelatest([regs",{"_index":2508,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.entities",{"_index":135,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["combinelatest([this.model.anatomicalstructures",{"_index":2911,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.organiri",{"_index":2937,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.viewtype",{"_index":2959,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.page.state",{"_index":2495,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.page.user",{"_index":2396,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["combinelatest([this.referenceorgansimplenodes",{"_index":2929,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.rotation",{"_index":2906,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.theme",{"_index":354,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["come",{"_index":3125,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["coming",{"_index":3871,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":4061,"title":{},"body":{"dependencies.html":{}}}],["comma",{"_index":1230,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["commas",{"_index":1216,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["common",{"_index":3549,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":736,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["compatibility",{"_index":3122,"title":{},"body":{"modules/StoreModule.html":{}}}],["completed",{"_index":1591,"title":{},"body":{"classes/InitializationState.html":{}}}],["completes",{"_index":3243,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["completion",{"_index":1581,"title":{},"body":{"classes/InitializationState.html":{}}}],["complexity",{"_index":3746,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":3625,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":196,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component's",{"_index":878,"title":{},"body":{"components/ContentComponent.html":{}}}],["component.component",{"_index":573,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":603,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["component.component.ts:25",{"_index":618,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:26",{"_index":633,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:27",{"_index":634,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:28",{"_index":628,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:29",{"_index":622,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:30",{"_index":630,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:31",{"_index":620,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:32",{"_index":624,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":631,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":632,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:35",{"_index":625,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":626,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":627,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:39",{"_index":616,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":472,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["componentref",{"_index":3338,"title":{},"body":{"injectables/ThemingService.html":{}}}],["components",{"_index":198,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["computed",{"_index":105,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["computes",{"_index":3222,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["comunica/query",{"_index":4030,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":4063,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":4198,"title":{},"body":{"license.html":{}}}],["config",{"_index":750,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["config.cancelregistration",{"_index":2287,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.isolated",{"_index":1883,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["config.register",{"_index":2286,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.user",{"_index":2289,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["configmodule",{"_index":745,"title":{"modules/ConfigModule.html":{}},"body":{"modules/ConfigModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["configstore",{"_index":617,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":1339,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["configurations",{"_index":3692,"title":{},"body":{"changelog.html":{}}}],["confirm('changes",{"_index":2293,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["confirmation",{"_index":3664,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":3698,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":1904,"title":{},"body":{"injectables/MessageService.html":{},"changelog.html":{}}}],["connect(source",{"_index":1892,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connected",{"_index":794,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connection",{"_index":4221,"title":{},"body":{"license.html":{}}}],["connects",{"_index":1891,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["consentservice",{"_index":238,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["consider",{"_index":3121,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":4174,"title":{},"body":{"license.html":{}}}],["const",{"_index":139,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor",{"_index":35,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor(@inject(message_service_config",{"_index":1882,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["constructor(@optional",{"_index":1106,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["constructor(config",{"_index":1905,"title":{},"body":{"injectables/MessageService.html":{}}}],["constructor(configstore",{"_index":615,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(defaulttheme",{"_index":3331,"title":{},"body":{"injectables/ThemingService.html":{}}}],["constructor(dialog",{"_index":2388,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["constructor(dialogref",{"_index":2710,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["constructor(drawer",{"_index":3379,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["constructor(el",{"_index":3195,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["constructor(ga",{"_index":706,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(globalconfig",{"_index":2242,"title":{},"body":{"injectables/PageState.html":{}}}],["constructor(globals",{"_index":2316,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["constructor(injector",{"_index":36,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{}}}],["constructor(messageservice",{"_index":770,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["constructor(model",{"_index":237,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/RightSidebarComponent.html":{}}}],["constructor(page",{"_index":1345,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["constructor(private",{"_index":596,"title":{},"body":{"modules/AppModule.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(readonly",{"_index":1349,"title":{},"body":{"components/HeaderComponent.html":{}}}],["constructor(registry",{"_index":1443,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["constructor(renderer2",{"_index":3410,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["constructor(source",{"_index":1897,"title":{},"body":{"classes/MessageChannel.html":{}}}],["contain",{"_index":1059,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/HeaderComponent.html":{}}}],["contained",{"_index":1915,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["container",{"_index":313,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["container'},{'name",{"_index":479,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["container.component.html",{"_index":760,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container.component.scss",{"_index":759,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container/container.component",{"_index":1255,"title":{},"body":{"modules/DrawerModule.html":{}}}],["containercomponent",{"_index":478,"title":{"components/ContainerComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["containerpayload",{"_index":1062,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["containers",{"_index":842,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["containing",{"_index":660,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"index.html":{}}}],["contains",{"_index":686,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ExtractionSet.html":{},"classes/InitializationState.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["content",{"_index":416,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content'},{'name",{"_index":481,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content.component",{"_index":2383,"title":{},"body":{"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{}}}],["content.component.html",{"_index":865,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.scss",{"_index":864,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.ts",{"_index":2326,"title":{},"body":{"components/RegistrationContentComponent.html":{},"coverage.html":{}}}],["content.component.ts:109",{"_index":2344,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:20",{"_index":2339,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:23",{"_index":2358,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:28",{"_index":2356,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:31",{"_index":2359,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:34",{"_index":2357,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:37",{"_index":2354,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:40",{"_index":2353,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:42",{"_index":2338,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:55",{"_index":2355,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:65",{"_index":2352,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:75",{"_index":2341,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:84",{"_index":2347,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:95",{"_index":2350,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.module",{"_index":2413,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["content.module.ts",{"_index":2382,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["content/content.component",{"_index":817,"title":{},"body":{"components/ContainerComponent.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{}}}],["content/registration",{"_index":2325,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["content1",{"_index":763,"title":{},"body":{"components/ContainerComponent.html":{}}}],["content2",{"_index":764,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren",{"_index":814,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(contentcomponent",{"_index":796,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(drawercomponent",{"_index":806,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentcomponent",{"_index":480,"title":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["contentcontainerchanged",{"_index":1051,"title":{"interfaces/ContentContainerChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["contentmodule",{"_index":540,"title":{"modules/ContentModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ContentModule.html":{},"modules.html":{},"overview.html":{}}}],["context",{"_index":2589,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["context.jsonld",{"_index":2592,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["contract",{"_index":4218,"title":{},"body":{"license.html":{}}}],["control",{"_index":3794,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":3249,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["convention",{"_index":1074,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["converting",{"_index":1225,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["converts",{"_index":2435,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["coordinate",{"_index":3550,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["copies",{"_index":4193,"title":{},"body":{"license.html":{}}}],["copy",{"_index":4181,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":4172,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1183,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cord.svg",{"_index":1184,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["core",{"_index":1107,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":575,"title":{},"body":{"modules/AppModule.html":{}}}],["core/models/anatomical",{"_index":3156,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["core/models/extraction",{"_index":1291,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["core/models/meta",{"_index":2680,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["core/models/visibility",{"_index":1785,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["core/services/config/config",{"_index":329,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/User.html":{}}}],["core/services/theming/theming.service",{"_index":330,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["core/store/anatomical",{"_index":2746,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["core/store/model/model.state",{"_index":331,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/page/page.state",{"_index":332,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/registration/registration.state",{"_index":937,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["core/store/scene/scene.state",{"_index":938,"title":{},"body":{"components/ContentComponent.html":{}}}],["coremodule",{"_index":541,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["correct",{"_index":1364,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["corresponding",{"_index":3231,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cors",{"_index":4065,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":3242,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["counter",{"_index":1861,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["countmapping",{"_index":3179,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["coverage",{"_index":3901,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":557,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":598,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":3801,"title":{},"body":{"changelog.html":{}}}],["createentitycollections",{"_index":100,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["creates",{"_index":40,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["createscenenodes",{"_index":2835,"title":{},"body":{"injectables/SceneState.html":{}}}],["createscenenodes(organiri",{"_index":2843,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["creating",{"_index":819,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["creation",{"_index":2656,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["creation_date",{"_index":2600,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator",{"_index":2595,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_first_name",{"_index":2596,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_last_name",{"_index":2597,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_orcid",{"_index":2598,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["credits",{"_index":4159,"title":{},"body":{"index.html":{}}}],["crosshairs",{"_index":889,"title":{},"body":{"components/ContentComponent.html":{}}}],["css",{"_index":934,"title":{},"body":{"components/ContentComponent.html":{},"dependencies.html":{}}}],["cube.svg",{"_index":1206,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["cuboid",{"_index":3900,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":3898,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":1282,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["currentdate",{"_index":2428,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currentidentifier",{"_index":2427,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currently",{"_index":1290,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["currentorgan",{"_index":2327,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["currentsex",{"_index":2328,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["cursor",{"_index":436,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["customelements.define('ccf",{"_index":600,"title":{},"body":{"modules/AppModule.html":{}}}],["customizable",{"_index":3527,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["customized",{"_index":1631,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["cyberinfrastructure",{"_index":4161,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":3757,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":392,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["damages",{"_index":4216,"title":{},"body":{"license.html":{}}}],["dark",{"_index":285,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["dark/light",{"_index":3694,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":359,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["data.alignment_operator_orcid",{"_index":2599,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.json",{"_index":2184,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.label",{"_index":2731,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data.metadata",{"_index":2723,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.push",{"_index":2579,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.registrationcallbackset",{"_index":2724,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.sex",{"_index":2528,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.side",{"_index":2530,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.state",{"_index":1949,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["data.state.ts",{"_index":2137,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["data.state.ts:100",{"_index":2321,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:110",{"_index":2323,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:135",{"_index":2319,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:155",{"_index":2318,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:75",{"_index":2317,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:87",{"_index":2322,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.ts",{"_index":1912,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["data.value",{"_index":2732,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data/reference",{"_index":1948,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["dataaction",{"_index":53,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["database",{"_index":2145,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{}}}],["datasets",{"_index":3766,"title":{},"body":{"changelog.html":{}}}],["datatype",{"_index":1686,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["date().toisostring().split('t')[0",{"_index":2512,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["db",{"_index":2072,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.anatomicalstructures[organiri",{"_index":2076,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.extractionsets[organiri",{"_index":2083,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.organirilookup[key",{"_index":2218,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.organspatialentities[organiri",{"_index":2090,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.placementpatches[place?.target",{"_index":2191,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.scenenodelookup[item.id",{"_index":2921,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.scenenodelookup[node['@id",{"_index":2981,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[item.id",{"_index":2922,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[node['@id",{"_index":2926,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["deal",{"_index":4182,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":4222,"title":{},"body":{"license.html":{}}}],["debouncetime",{"_index":1935,"title":{},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(100",{"_index":2010,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(400",{"_index":2914,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["debouncetime(500",{"_index":2398,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["debug",{"_index":913,"title":{},"body":{"components/ContentComponent.html":{}}}],["debugmode",{"_index":867,"title":{},"body":{"components/ContentComponent.html":{}}}],["december",{"_index":3838,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":2658,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["deck.gl/core",{"_index":4032,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":4034,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":4037,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":4038,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":550,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["declare",{"_index":1337,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["decoration",{"_index":1358,"title":{},"body":{"components/HeaderComponent.html":{}}}],["decorator",{"_index":111,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["decorators",{"_index":52,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deep",{"_index":1302,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deeply",{"_index":3654,"title":{},"body":{"changelog.html":{}}}],["def",{"_index":1398,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.html",{"_index":1396,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.url",{"_index":1407,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default",{"_index":85,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_block_size",{"_index":672,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons",{"_index":1132,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons.find",{"_index":1404,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default_rotation",{"_index":2785,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_limit",{"_index":3254,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_throttle",{"_index":3257,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_slices_config",{"_index":2983,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_theme",{"_index":576,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaulticondefinition",{"_index":1111,"title":{"interfaces/DefaultIconDefinition.html":{}},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultposition",{"_index":2035,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["defaults",{"_index":132,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["defaulttheme",{"_index":3325,"title":{},"body":{"injectables/ThemingService.html":{}}}],["deferred",{"_index":1456,"title":{},"body":{"classes/InitializationState.html":{}}}],["define",{"_index":1242,"title":{},"body":{"interfaces/DocumentationContent.html":{}}}],["defined",{"_index":38,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["definition",{"_index":1116,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.html",{"_index":1419,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.url",{"_index":1418,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["degree",{"_index":2631,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["delay",{"_index":1936,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(200",{"_index":2012,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(5",{"_index":2019,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delta",{"_index":373,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["demo",{"_index":3668,"title":{},"body":{"changelog.html":{}}}],["depend",{"_index":1394,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["dependencies",{"_index":536,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":3726,"title":{},"body":{"changelog.html":{}}}],["deps",{"_index":752,"title":{},"body":{"modules/ConfigModule.html":{}}}],["depth",{"_index":663,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["descendants",{"_index":797,"title":{},"body":{"components/ContainerComponent.html":{}}}],["descrepancies",{"_index":3566,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":11,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["destroy",{"_index":3180,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destroyed",{"_index":3244,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destruction",{"_index":3227,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["detaches",{"_index":884,"title":{},"body":{"components/ContentComponent.html":{}}}],["details",{"_index":483,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["detailslabelcomponent",{"_index":482,"title":{"components/DetailsLabelComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["detailslabelmodule",{"_index":1234,"title":{"modules/DetailsLabelModule.html":{}},"body":{"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["detailslabels",{"_index":1719,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["detection",{"_index":781,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["detector",{"_index":774,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["determines",{"_index":1287,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/TagSearchComponent.html":{}}}],["dev",{"_index":973,"title":{},"body":{"components/ContentComponent.html":{}}}],["developed",{"_index":4160,"title":{},"body":{"index.html":{}}}],["development",{"_index":2175,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["developmentmode",{"_index":3120,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":3923,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1247,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["dialog's",{"_index":2713,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["dialogref",{"_index":2330,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["dialogref.afterclosed().subscribe",{"_index":2698,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["dialogref.disableclose",{"_index":2361,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["dialogue",{"_index":2673,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["different",{"_index":1612,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{}}}],["digits",{"_index":3817,"title":{},"body":{"changelog.html":{}}}],["dimension",{"_index":688,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["dimension_units",{"_index":2613,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["dimensions",{"_index":662,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["dims",{"_index":945,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.x",{"_index":2038,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.y",{"_index":2040,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.z",{"_index":2041,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims[0",{"_index":950,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[1",{"_index":952,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[2",{"_index":956,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[i",{"_index":2949,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["direct",{"_index":3941,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":402,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["directive",{"_index":470,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directives",{"_index":531,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directly",{"_index":3872,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":123,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["disabled",{"_index":1677,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"components/VisibilityToggleComponent.html":{}}}],["disablepositionchange",{"_index":218,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disables",{"_index":255,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disableslider",{"_index":1730,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["display",{"_index":400,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["displayed",{"_index":304,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["displayerrors",{"_index":2416,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{}}}],["displaying",{"_index":972,"title":{},"body":{"components/ContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["distinctuntilchanged",{"_index":1937,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilchanged((v1",{"_index":1987,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilkeychanged",{"_index":936,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('x",{"_index":907,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('y",{"_index":908,"title":{},"body":{"components/ContentComponent.html":{}}}],["distribute",{"_index":4189,"title":{},"body":{"license.html":{}}}],["div",{"_index":3539,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["divider",{"_index":1800,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["dobootstrap",{"_index":555,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":3909,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":3582,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":3049,"title":{},"body":{"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"dependencies.html":{}}}],["document.getelementsbyclassname('modal",{"_index":2725,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["document:click",{"_index":234,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:click(target",{"_index":252,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:keydown",{"_index":235,"title":{},"body":{"components/AppComponent.html":{}}}],["document:keydown(target",{"_index":264,"title":{},"body":{"components/AppComponent.html":{}}}],["documentation",{"_index":1244,"title":{},"body":{"interfaces/DocumentationContent.html":{},"changelog.html":{},"coverage.html":{},"license.html":{}}}],["documentationcontent",{"_index":1240,"title":{"interfaces/DocumentationContent.html":{}},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["dom",{"_index":201,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["domsanitizer",{"_index":1382,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["don't",{"_index":1393,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["done",{"_index":3538,"title":{},"body":{"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["donor",{"_index":1794,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"changelog.html":{}}}],["donors",{"_index":3768,"title":{},"body":{"changelog.html":{}}}],["dot",{"_index":2758,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["dotenv",{"_index":4069,"title":{},"body":{"dependencies.html":{}}}],["down",{"_index":3041,"title":{},"body":{"components/StageNavComponent.html":{}}}],["download",{"_index":962,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"changelog.html":{}}}],["downloads",{"_index":2448,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["draft",{"_index":2974,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draftplacement",{"_index":2966,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draggable",{"_index":2789,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["drawer",{"_index":300,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["drawer'},{'name",{"_index":486,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["drawer.close",{"_index":3398,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.closeexpanded",{"_index":3397,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.component.html",{"_index":1496,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.component.scss",{"_index":1497,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.open",{"_index":3399,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.position",{"_index":852,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawer/drawer.component",{"_index":818,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{}}}],["drawercomponent",{"_index":485,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["drawercomponent).position",{"_index":1036,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["drawercontainerschanged",{"_index":1058,"title":{"interfaces/DrawerContainersChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawerinitialized",{"_index":1065,"title":{"interfaces/DrawerInitialized.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawermodule",{"_index":542,"title":{"modules/DrawerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules.html":{},"overview.html":{}}}],["drawerpayload",{"_index":1069,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["drawers",{"_index":765,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["drawers.filter(drawer",{"_index":851,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawertoggled",{"_index":1066,"title":{"interfaces/DrawerToggled.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drop",{"_index":3040,"title":{},"body":{"components/StageNavComponent.html":{}}}],["dropdown",{"_index":1269,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{}}}],["dropdown'},{'name",{"_index":489,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["dropdown.component",{"_index":1328,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown.component.html",{"_index":1272,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.scss",{"_index":1271,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts",{"_index":1268,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"coverage.html":{}}}],["dropdown.component.ts:18",{"_index":1283,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:23",{"_index":1280,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:28",{"_index":1278,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:33",{"_index":1277,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:47",{"_index":1285,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:58",{"_index":1286,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.module",{"_index":1827,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["dropdown.module.ts",{"_index":1325,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown/extraction",{"_index":1267,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["dropdowncontainer",{"_index":3090,"title":{},"body":{"components/StageNavComponent.html":{}}}],["duration",{"_index":362,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent-1.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{}}}],["during",{"_index":3341,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["dynamic",{"_index":4028,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":3560,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":385,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["each",{"_index":1243,"title":{},"body":{"interfaces/DocumentationContent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["ease",{"_index":423,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["easier",{"_index":3608,"title":{},"body":{"changelog.html":{}}}],["easily",{"_index":2805,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ececec",{"_index":455,"title":{},"body":{"components/AppComponent.html":{}}}],["editregistration",{"_index":610,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{}}}],["editregistration(reg",{"_index":2440,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["effect",{"_index":3857,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":3787,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":243,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["element",{"_index":260,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["element's",{"_index":1639,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["element.getboundingclientrect",{"_index":1546,"title":{},"body":{"classes/InitializationState.html":{}}}],["element.nativeelement",{"_index":3370,"title":{},"body":{"injectables/ThemingService.html":{}}}],["elementref",{"_index":244,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["ellipsis",{"_index":3518,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["embedded",{"_index":3690,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":3685,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":3683,"title":{},"body":{"changelog.html":{}}}],["emit",{"_index":2807,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["emits",{"_index":1281,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitted",{"_index":680,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["emitter",{"_index":681,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitting",{"_index":1527,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["empty",{"_index":128,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["empty_result",{"_index":3250,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["enabled",{"_index":998,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enables",{"_index":2786,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["end",{"_index":828,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["end?.expanded",{"_index":1047,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["end?.opened",{"_index":1046,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enddrawers",{"_index":853,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers.length",{"_index":856,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers[0",{"_index":859,"title":{},"body":{"components/ContainerComponent.html":{}}}],["endexpanded",{"_index":1045,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["endings",{"_index":2572,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["entered",{"_index":2343,"title":{},"body":{"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entererrormode",{"_index":2653,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entering",{"_index":674,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entire",{"_index":3112,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entity",{"_index":2075,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.comment",{"_index":2081,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.label",{"_index":2080,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.placement",{"_index":2944,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.placement[0",{"_index":2943,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.representation_of",{"_index":2077,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.sex?.tolowercase",{"_index":2228,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side",{"_index":2225,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side.tolowercase",{"_index":2226,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side?.tolowercase",{"_index":2229,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.y_dimension",{"_index":2952,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.z_dimension].map(n",{"_index":2953,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity['@id",{"_index":2078,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entitycollections",{"_index":101,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["entry",{"_index":2109,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{}}}],["entry.value",{"_index":2687,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entrycomponents",{"_index":551,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":639,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.customization",{"_index":650,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions",{"_index":648,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.googleanalyticstoken",{"_index":1104,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":930,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.skipunsavedchangesconfirmation",{"_index":2281,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["environments/environment",{"_index":640,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["error",{"_index":822,"title":{},"body":{"components/ContainerComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["error('the",{"_index":1108,"title":{},"body":{"modules/CoreModule.html":{}}}],["error(`multiple",{"_index":831,"title":{},"body":{"components/ContainerComponent.html":{}}}],["errors",{"_index":820,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["es",{"_index":2882,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["eslint",{"_index":122,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/consistent",{"_index":1957,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/member",{"_index":1950,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/naming",{"_index":1073,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/no",{"_index":127,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/prefer",{"_index":2212,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{}}}],["etc",{"_index":1068,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["eui",{"_index":3597,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":3622,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":263,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"license.html":{}}}],["event'])@hostlistener('window:focusin",{"_index":3215,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["event.firstname.length",{"_index":2365,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.lastname.length",{"_index":2366,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.preventdefault",{"_index":2308,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["event.returnvalue",{"_index":2309,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["event.target",{"_index":251,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["eventemitter",{"_index":664,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["eventemitter(true",{"_index":1529,"title":{},"body":{"classes/InitializationState.html":{}}}],["events",{"_index":2376,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["except",{"_index":1868,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"modules/StoreModule.html":{}}}],["executes",{"_index":3218,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch",{"_index":3185,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch(text",{"_index":3216,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executionstrategy",{"_index":3123,"title":{},"body":{"modules/StoreModule.html":{}}}],["expand",{"_index":439,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["expand/collapse",{"_index":1585,"title":{},"body":{"classes/InitializationState.html":{}}}],["expand_collapse_params_default",{"_index":1488,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["expandcollapsedone",{"_index":1587,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded",{"_index":425,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["expanded(value",{"_index":1524,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded/collapsed",{"_index":1479,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedchange",{"_index":1530,"title":{},"body":{"classes/InitializationState.html":{}}}],["expandedstate",{"_index":1480,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstate2",{"_index":1482,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstateobj",{"_index":1536,"title":{},"body":{"classes/InitializationState.html":{}}}],["expands",{"_index":1572,"title":{},"body":{"classes/InitializationState.html":{}}}],["expansion",{"_index":1803,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["expected",{"_index":2722,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["experimentation",{"_index":2752,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["explicit",{"_index":2450,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["exploration",{"_index":4134,"title":{},"body":{"index.html":{}}}],["export",{"_index":130,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["exportas",{"_index":756,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["exports",{"_index":735,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["express",{"_index":4071,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["ext/operators",{"_index":1932,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extended",{"_index":1485,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["extends",{"_index":16,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["external",{"_index":83,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["extra",{"_index":4075,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":488,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["extraction_set_dropdown",{"_index":1294,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionset",{"_index":1258,"title":{"interfaces/ExtractionSet.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["extractionsetchanged",{"_index":1274,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetchanged(value",{"_index":1284,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetdropdowncomponent",{"_index":487,"title":{"components/ExtractionSetDropdownComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["extractionsetdropdownmodule",{"_index":1321,"title":{"modules/ExtractionSetDropdownModule.html":{}},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["extractionsets",{"_index":1917,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsites",{"_index":1918,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsitetooltip",{"_index":1720,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["extracts",{"_index":3230,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["eye",{"_index":1143,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye.svg",{"_index":1144,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1173,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f.svg",{"_index":1174,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["factor",{"_index":2150,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["factory",{"_index":1859,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":2727,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["faded",{"_index":982,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fadeinout",{"_index":987,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fail",{"_index":3835,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":3861,"title":{},"body":{"changelog.html":{}}}],["fallopian",{"_index":1145,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["false",{"_index":287,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["false=right",{"_index":1692,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["favor",{"_index":3827,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":3557,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":3758,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":3785,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":1336,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["fetch",{"_index":1129,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["fetched",{"_index":2505,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetched]).pipe",{"_index":2509,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetchpreviousregistrations",{"_index":611,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["fetchpreviousregistrationscallback",{"_index":623,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["field",{"_index":561,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["fields",{"_index":2736,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/TagSearchComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"dependencies.html":{}}}],["fileinput",{"_index":1623,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement",{"_index":1648,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement.click",{"_index":1650,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader",{"_index":1653,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.onload",{"_index":1654,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.readastext(file",{"_index":1660,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["files",{"_index":1632,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"license.html":{}}}],["fill",{"_index":1362,"title":{},"body":{"components/HeaderComponent.html":{}}}],["filler",{"_index":728,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["filter",{"_index":1849,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["filter(([_nodes",{"_index":2931,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter((node",{"_index":2923,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(as",{"_index":186,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["filter(def",{"_index":1395,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["filter(e",{"_index":2958,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(item",{"_index":2549,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(key",{"_index":1981,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filter(started",{"_index":2017,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filtered",{"_index":1872,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["filternulls",{"_index":1930,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filters",{"_index":3568,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":3829,"title":{},"body":{"changelog.html":{}}}],["finished",{"_index":1063,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["finishing",{"_index":3667,"title":{},"body":{"changelog.html":{}}}],["fired",{"_index":3052,"title":{},"body":{"components/StageNavComponent.html":{}}}],["first",{"_index":2113,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["firstname",{"_index":334,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["firstnamevalidator",{"_index":2100,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["fit",{"_index":3431,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":4208,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":3748,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":3584,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":3881,"title":{},"body":{"changelog.html":{}}}],["flex",{"_index":401,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["flexible",{"_index":3578,"title":{},"body":{"changelog.html":{}}}],["float",{"_index":2737,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["floatlabel",{"_index":594,"title":{},"body":{"modules/AppModule.html":{}}}],["fly",{"_index":3949,"title":{},"body":{"changelog.html":{}}}],["focused",{"_index":2821,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["focusin",{"_index":3192,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["following",{"_index":4197,"title":{},"body":{"license.html":{}}}],["font",{"_index":408,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["footer",{"_index":2738,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["foreach(def",{"_index":1400,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["form",{"_index":1313,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["format",{"_index":2436,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["formatted",{"_index":1227,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["formcontrol",{"_index":2110,"title":{},"body":{"components/NameInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{}}}],["formsmodule",{"_index":2133,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["found",{"_index":2751,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["frame",{"_index":3769,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":3551,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["free",{"_index":4178,"title":{},"body":{"license.html":{}}}],["from(fetch(url)).pipe",{"_index":2186,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["from(search(text",{"_index":3286,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["fs",{"_index":4074,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1486,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["fullscreen",{"_index":3906,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":3759,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":466,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["functions",{"_index":4121,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":4166,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":4196,"title":{},"body":{"license.html":{}}}],["further",{"_index":3902,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":3749,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":683,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["gatoken",{"_index":1103,"title":{},"body":{"modules/CoreModule.html":{}}}],["general",{"_index":2231,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["generate",{"_index":3603,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":3626,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":3561,"title":{},"body":{"changelog.html":{}}}],["generic",{"_index":1672,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["genericmessage",{"_index":1054,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessagechannel",{"_index":1055,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessageservice",{"_index":1056,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["getarguments",{"_index":1440,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getarguments(undefined",{"_index":1445,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getclassend",{"_index":3388,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getcontent",{"_index":808,"title":{},"body":{"components/ContainerComponent.html":{}}}],["getcurrentdate",{"_index":2480,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getcurrentidentifier",{"_index":2477,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getdisabled",{"_index":2678,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["getglobalskipconfirmation",{"_index":2267,"title":{},"body":{"injectables/PageState.html":{}}}],["gethaschanges",{"_index":2269,"title":{},"body":{"injectables/PageState.html":{}}}],["gethasthicknessvalue",{"_index":3006,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["gethaswrappedcontent",{"_index":811,"title":{},"body":{"components/ContainerComponent.html":{}}}],["geticon",{"_index":3389,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getid",{"_index":3468,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getid(_index",{"_index":3481,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getislighttheme",{"_index":319,"title":{},"body":{"components/AppComponent.html":{}}}],["getisvalid",{"_index":2484,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getjsonld",{"_index":2471,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getlabelel",{"_index":3065,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getlatesttags",{"_index":97,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getleft",{"_index":1693,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["getmessages",{"_index":1870,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsource",{"_index":1894,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsource(source",{"_index":1873,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsources",{"_index":1895,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsources(sources",{"_index":1877,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmetadata",{"_index":2469,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getmethodname",{"_index":1431,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getmethodname(undefined",{"_index":1447,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getname",{"_index":2116,"title":{},"body":{"components/NameInputComponent.html":{}}}],["getnodebbox",{"_index":3994,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(model",{"_index":2886,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(placement[0",{"_index":2934,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["getnodecollisions",{"_index":2870,"title":{},"body":{"injectables/SceneState.html":{}}}],["getnodes",{"_index":2861,"title":{},"body":{"injectables/SceneState.html":{}}}],["getoptionsel",{"_index":3069,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getorgandata",{"_index":2313,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getorgandata(iri",{"_index":2221,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getplacementcube",{"_index":2874,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrationnodes",{"_index":2872,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrations",{"_index":2475,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getreferenceorganiri",{"_index":2314,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getreferenceorganiri(organ",{"_index":2208,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getreferenceorgannodes",{"_index":2865,"title":{},"body":{"injectables/SceneState.html":{}}}],["getreferenceorgansimplenodes",{"_index":2868,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotatednodes",{"_index":2863,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotation",{"_index":2877,"title":{},"body":{"injectables/SceneState.html":{}}}],["gets",{"_index":1470,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["getskipconfirmation",{"_index":2265,"title":{},"body":{"injectables/PageState.html":{}}}],["getsourcedb",{"_index":2180,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["gettags",{"_index":94,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getter/setter",{"_index":1517,"title":{},"body":{"classes/InitializationState.html":{}}}],["gettheme",{"_index":3327,"title":{},"body":{"injectables/ThemingService.html":{}}}],["getting",{"_index":3547,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["getupdatedcheckedresults",{"_index":3186,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getupdatedcheckedresults(result",{"_index":3220,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getvalid",{"_index":2473,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["github",{"_index":3819,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1862,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["given",{"_index":1226,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{}}}],["gizmo",{"_index":967,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["global",{"_index":14,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/variables.html":{}}}],["global_config",{"_index":748,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":245,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["globalconfig.getoption('fetchpreviousregistrations').pipe",{"_index":2506,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["globalconfigfactory",{"_index":749,"title":{},"body":{"modules/ConfigModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["globalconfigfactory(globals",{"_index":1340,"title":{},"body":{"interfaces/GlobalConfig.html":{},"miscellaneous/functions.html":{}}}],["globalconfigstate",{"_index":246,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["globally",{"_index":2177,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globals",{"_index":2172,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["globals.get('ruiconfig",{"_index":1341,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["globalskipconfirmation",{"_index":2240,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["globalsservice",{"_index":747,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globalthis.getcomputedstyle(element",{"_index":1554,"title":{},"body":{"classes/InitializationState.html":{}}}],["globalthis['ruiconfig",{"_index":649,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":3858,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":669,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":667,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["granted",{"_index":4177,"title":{},"body":{"license.html":{}}}],["graph",{"_index":4224,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":3593,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":4077,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":3677,"title":{},"body":{"changelog.html":{}}}],["group",{"_index":3088,"title":{},"body":{"components/StageNavComponent.html":{}}}],["grow",{"_index":729,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["gtex",{"_index":3604,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":3854,"title":{},"body":{"changelog.html":{}}}],["half",{"_index":1484,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["hand",{"_index":1125,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["handleclick",{"_index":228,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["handleclick(target",{"_index":272,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["handlefile",{"_index":1624,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlefile(event",{"_index":1635,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlekey",{"_index":229,"title":{},"body":{"components/AppComponent.html":{}}}],["handlekey(target",{"_index":274,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["handlemessage",{"_index":766,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{}}}],["handlemessage(_msg",{"_index":776,"title":{},"body":{"components/ContainerComponent.html":{}}}],["handlemessage(msg",{"_index":1001,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["handlenodedrag",{"_index":872,"title":{},"body":{"components/ContentComponent.html":{}}}],["handlenodedrag(event",{"_index":880,"title":{},"body":{"components/ContentComponent.html":{}}}],["handler",{"_index":1641,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["handles",{"_index":1224,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["handling",{"_index":1385,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["happen",{"_index":3888,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":3836,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":3116,"title":{},"body":{"modules/StoreModule.html":{}}}],["haschanges",{"_index":2241,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["hascheckedtags",{"_index":3187,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hasthicknessvalue",{"_index":2985,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["haswrappedcontent",{"_index":769,"title":{},"body":{"components/ContainerComponent.html":{}}}],["header",{"_index":219,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{}}}],["header'},{'name",{"_index":491,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["header.component",{"_index":1374,"title":{},"body":{"modules/HeaderModule.html":{}}}],["header.component.html",{"_index":1344,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header.component.scss",{"_index":1343,"title":{},"body":{"components/HeaderComponent.html":{}}}],["headercomponent",{"_index":490,"title":{"components/HeaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["headermodule",{"_index":543,"title":{"modules/HeaderModule.html":{}},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules.html":{},"overview.html":{}}}],["heart",{"_index":1149,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["heart.svg",{"_index":1150,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":404,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["helmet",{"_index":4082,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":3853,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":61,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/functions.html":{}}}],["here",{"_index":168,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["hereby",{"_index":4176,"title":{},"body":{"license.html":{}}}],["hex",{"_index":4084,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":407,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hiderequiredmarker",{"_index":595,"title":{},"body":{"modules/AppModule.html":{}}}],["hides",{"_index":912,"title":{},"body":{"components/ContentComponent.html":{}}}],["highlight",{"_index":3657,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":3463,"title":{},"body":{"interfaces/VisibilityItem.html":{},"changelog.html":{}}}],["highlights",{"_index":3658,"title":{},"body":{"changelog.html":{}}}],["hint",{"_index":81,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["holders",{"_index":4213,"title":{},"body":{"license.html":{}}}],["home",{"_index":1359,"title":{},"body":{"components/HeaderComponent.html":{}}}],["homeurl",{"_index":220,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["hooked",{"_index":3792,"title":{},"body":{"changelog.html":{}}}],["horizontal",{"_index":2824,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["host",{"_index":399,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":665,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('@expandcollapse",{"_index":1535,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('@fadeinout",{"_index":1016,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('@openclose",{"_index":1534,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('class",{"_index":677,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('class.ccf",{"_index":1512,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["hostbinding('class.cff",{"_index":1012,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('style.margin",{"_index":1017,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbindings",{"_index":705,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostlistener",{"_index":322,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('@expandcollapse.done",{"_index":1586,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('@openclose.done",{"_index":1582,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('click",{"_index":3278,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('click')@hostlistener('focusin",{"_index":3228,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('document:click",{"_index":273,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('document:keydown",{"_index":275,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["hostlistener('focusin",{"_index":3279,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:click",{"_index":3214,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:focusin",{"_index":3281,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlisteners",{"_index":233,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["hover",{"_index":454,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovered",{"_index":1773,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovering",{"_index":3717,"title":{},"body":{"changelog.html":{}}}],["html",{"_index":469,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["htmlelement",{"_index":253,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["htmlinputelement",{"_index":693,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["htmlscriptelement",{"_index":3426,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier",{"_index":2593,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier}_placement",{"_index":2614,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhmaleorgans_vhm_spleen_colic_surface",{"_index":2846,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["httpclientmodule",{"_index":1094,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":4137,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":4148,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":4141,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":2848,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"index.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":2590,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["https://old",{"_index":4143,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":4139,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":3943,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":3124,"title":{},"body":{"modules/StoreModule.html":{}}}],["https://www.youtube.com/iframe_api",{"_index":3428,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["hubmap",{"_index":591,"title":{},"body":{"modules/AppModule.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["i18nplural:countmapping",{"_index":3299,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["icon",{"_index":441,"title":{},"body":{"components/AppComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["icon.add",{"_index":2749,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["icon.name",{"_index":1405,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icon.namespace",{"_index":1406,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icondefinition",{"_index":1375,"title":{"interfaces/IconDefinition.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["iconregistry",{"_index":1386,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["iconregistrystate",{"_index":1387,"title":{"injectables/IconRegistryState.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["icons",{"_index":1130,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["icons.ts",{"_index":1114,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["id",{"_index":155,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["idb",{"_index":4087,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1843,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["identifiers",{"_index":4238,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["idmatches(ontologyid",{"_index":2020,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iec",{"_index":3832,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":3414,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["ignoredkeys",{"_index":1979,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ignoredkeys.includes(key",{"_index":1982,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iif",{"_index":2271,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["iif(!!config.user",{"_index":2288,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["image",{"_index":3826,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":3870,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":2138,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["implementation",{"_index":60,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["implemented",{"_index":3791,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":3908,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":205,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["implied",{"_index":4205,"title":{},"body":{"license.html":{}}}],["implies",{"_index":1067,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["import",{"_index":99,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["important",{"_index":458,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["imported",{"_index":1109,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["imports",{"_index":552,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["improve",{"_index":3786,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":3620,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":3589,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":3678,"title":{},"body":{"changelog.html":{}}}],["in's",{"_index":1755,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["include",{"_index":3840,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":4200,"title":{},"body":{"license.html":{}}}],["includes",{"_index":3558,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":3656,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":3814,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":3904,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":18,"title":{"index.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indiana",{"_index":4164,"title":{},"body":{"index.html":{}}}],["indicator",{"_index":1806,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["individual",{"_index":3796,"title":{},"body":{"changelog.html":{}}}],["infinity",{"_index":364,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["infix",{"_index":3304,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["info",{"_index":3,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["info.side",{"_index":2227,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["infobuttonmodule",{"_index":2781,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["information",{"_index":891,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":3873,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":3842,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":3419,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["initial",{"_index":307,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["initialconfig",{"_index":647,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":645,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialization",{"_index":1558,"title":{},"body":{"classes/InitializationState.html":{}}}],["initializationstate",{"_index":1452,"title":{"classes/InitializationState.html":{}},"body":{"classes/InitializationState.html":{},"coverage.html":{}}}],["initialize",{"_index":3328,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(component",{"_index":3337,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(element",{"_index":3343,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialized",{"_index":606,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["initializer",{"_index":3340,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initializes",{"_index":65,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["initializing",{"_index":1064,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["initskipconfirmationlisteners",{"_index":2235,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["inject",{"_index":1847,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["inject(default_theme",{"_index":3360,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inject(document",{"_index":3422,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["inject(mat_dialog_data",{"_index":2717,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["injectable",{"_index":0,"title":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["injectables",{"_index":2,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{},"overview.html":{}}}],["injected",{"_index":2715,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["injecting",{"_index":164,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["injectiontoken",{"_index":1332,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('default",{"_index":3356,"title":{},"body":{"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":37,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["injector.get(overlaycontainer",{"_index":3371,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(renderer2",{"_index":3369,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(themingservice",{"_index":3358,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inline",{"_index":2759,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["input",{"_index":259,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input'},{'name",{"_index":477,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input.component",{"_index":744,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.component.html",{"_index":675,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.scss",{"_index":676,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.ts",{"_index":658,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input.component.ts:31",{"_index":3003,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:35",{"_index":709,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:36",{"_index":3001,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:40",{"_index":708,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:41",{"_index":3002,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:44",{"_index":2114,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:45",{"_index":707,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:46",{"_index":3007,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:48",{"_index":3000,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:50",{"_index":2106,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:54",{"_index":2118,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:60",{"_index":711,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:63",{"_index":3005,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:68",{"_index":2104,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:70",{"_index":710,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:73",{"_index":3004,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:83",{"_index":2108,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.module",{"_index":1832,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RightSidebarModule.html":{}}}],["input.module.ts",{"_index":734,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.target",{"_index":692,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input/block",{"_index":657,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input/name",{"_index":1831,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["input/slices",{"_index":2773,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input[type=number",{"_index":714,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["inputarray",{"_index":1228,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputarray.join",{"_index":1231,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputevent",{"_index":685,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputs",{"_index":607,"title":{},"body":{"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["inputtarget",{"_index":691,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputtarget.files",{"_index":1651,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.files[0",{"_index":1652,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.value",{"_index":695,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputted",{"_index":2664,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["inputting",{"_index":2097,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["insertitem",{"_index":2486,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["insertitem(registration",{"_index":2554,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["inside",{"_index":1248,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["instance",{"_index":41,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["instanceof",{"_index":3282,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["instant",{"_index":1478,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["instead",{"_index":3042,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["instructions",{"_index":3684,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":3760,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":3653,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":3841,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":3773,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":3743,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":3891,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":3940,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":129,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":195,"title":{},"body":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":3825,"title":{},"body":{"changelog.html":{}}}],["interval",{"_index":3252,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["interval(this.searchthrottle",{"_index":3260,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["intestine",{"_index":1156,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["intestine.svg",{"_index":1157,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["invisible",{"_index":995,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["iri",{"_index":149,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iris",{"_index":2546,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["iris.has(item.id",{"_index":2550,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["is3dview",{"_index":868,"title":{},"body":{"components/ContentComponent.html":{}}}],["isdatavalid",{"_index":2421,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["isdatavalid(page",{"_index":2443,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["isdropdownactive",{"_index":3024,"title":{},"body":{"components/StageNavComponent.html":{}}}],["isdropdownhidden",{"_index":3025,"title":{},"body":{"components/StageNavComponent.html":{}}}],["islighttheme",{"_index":236,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["ismultiple",{"_index":1275,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["isnan(this.slicesconfig.thickness",{"_index":2986,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["isnarrowview",{"_index":869,"title":{},"body":{"components/ContentComponent.html":{}}}],["isolated",{"_index":1855,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["issue",{"_index":3810,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":3563,"title":{},"body":{"changelog.html":{}}}],["isvalid",{"_index":2429,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["it's",{"_index":3651,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1265,"title":{},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["item.id",{"_index":2552,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.name",{"_index":2553,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.opacity",{"_index":2920,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["item.tooltip",{"_index":1788,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["item.ts",{"_index":3462,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["item.visible",{"_index":2919,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item?.tooltip",{"_index":1786,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["items",{"_index":445,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["items.length",{"_index":3290,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["items.slice(0",{"_index":3291,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["itemschange",{"_index":3475,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["iu",{"_index":3921,"title":{},"body":{"changelog.html":{}}}],["javascript",{"_index":3614,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["join",{"_index":1229,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["json",{"_index":493,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["json.parse(filereader.result",{"_index":1655,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["json.stringify(jsonobj",{"_index":2567,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["json_file_reader",{"_index":1657,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["jsonfilereadercomponent",{"_index":492,"title":{"components/JsonFileReaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["jsonfilereadermodule",{"_index":1661,"title":{"modules/JsonFileReaderModule.html":{}},"body":{"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["jsonld",{"_index":2425,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["jsonobj",{"_index":2563,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["july",{"_index":3890,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":3927,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":433,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["keeps",{"_index":1771,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["key",{"_index":687,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{}}}],["keyboard",{"_index":271,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["keyboardevent",{"_index":265,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["keys",{"_index":269,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["keyval",{"_index":4088,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1151,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney.svg",{"_index":1152,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":4204,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1153,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["knee.svg",{"_index":1154,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":3562,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":3834,"title":{},"body":{"changelog.html":{}}}],["l",{"_index":1739,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["label",{"_index":156,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["label'},{'name",{"_index":484,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["label.component",{"_index":1239,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label.component.html",{"_index":1218,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.scss",{"_index":1217,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts",{"_index":1209,"title":{},"body":{"components/DetailsLabelComponent.html":{},"coverage.html":{}}}],["label.component.ts:15",{"_index":1221,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:20",{"_index":1220,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:29",{"_index":1223,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.module",{"_index":1825,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["label.module.ts",{"_index":1238,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label/details",{"_index":1208,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["labeled",{"_index":496,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["labeledslidetogglecomponent",{"_index":495,"title":{"components/LabeledSlideToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["labeledslidetogglemodule",{"_index":1706,"title":{"modules/LabeledSlideToggleModule.html":{}},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["labelel",{"_index":3034,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelel.contains(target",{"_index":3076,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelref",{"_index":3026,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labels",{"_index":1678,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0",{"_index":1702,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0]}}{{labels[1",{"_index":1705,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[1",{"_index":1695,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labs/data",{"_index":3104,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/data/decorators",{"_index":108,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/data/repositories",{"_index":109,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/dispatch",{"_index":4049,"title":{},"body":{"dependencies.html":{}}}],["landmark",{"_index":1298,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["landmarks",{"_index":1796,"title":{},"body":{"components/LeftSidebarComponent.html":{},"changelog.html":{}}}],["large",{"_index":1155,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":3609,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":2115,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{}}}],["lastname",{"_index":335,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["lastnamevalidator",{"_index":2101,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["latest",{"_index":3573,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["latesttags",{"_index":34,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["launch",{"_index":2645,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launcher",{"_index":3435,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher'},{'name",{"_index":526,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["launcher.component",{"_index":3454,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher.component.html",{"_index":3437,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.scss",{"_index":3436,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts",{"_index":3433,"title":{},"body":{"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["launcher.component.ts:17",{"_index":3440,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:22",{"_index":3439,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:32",{"_index":3441,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.module",{"_index":1088,"title":{},"body":{"modules/ContentModule.html":{}}}],["launcher.module.ts",{"_index":3453,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher/video",{"_index":1087,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"coverage.html":{}}}],["launches",{"_index":3442,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launching",{"_index":3434,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launchreviewmodal",{"_index":2650,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launchvideomodal",{"_index":3438,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["layers",{"_index":4035,"title":{},"body":{"dependencies.html":{}}}],["lazy",{"_index":49,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ld",{"_index":3851,"title":{},"body":{"changelog.html":{}}}],["leading",{"_index":1985,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["leak",{"_index":3809,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":3666,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":450,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["left.px",{"_index":990,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["left.svg",{"_index":1147,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":3675,"title":{},"body":{"changelog.html":{}}}],["leftmargin",{"_index":983,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["leftsidebarcomponent",{"_index":499,"title":{"components/LeftSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["leftsidebarmodule",{"_index":544,"title":{"modules/LeftSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["legend",{"_index":468,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["length",{"_index":2988,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["level",{"_index":3365,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["levels",{"_index":3937,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":4217,"title":{},"body":{"license.html":{}}}],["liable",{"_index":4214,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":3612,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":3780,"title":{},"body":{"changelog.html":{}}}],["library/assets/body4mesh_1338.glb",{"_index":2849,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["license",{"_index":4170,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":3662,"title":{},"body":{"changelog.html":{}}}],["light",{"_index":284,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["lighter",{"_index":1356,"title":{},"body":{"components/HeaderComponent.html":{}}}],["limit",{"_index":70,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["limitation",{"_index":4184,"title":{},"body":{"license.html":{}}}],["limited",{"_index":3877,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["limits",{"_index":2987,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["line",{"_index":125,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["link",{"_index":1357,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":3892,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":3580,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":3639,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":2756,"title":{},"body":{"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":518,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["list.component",{"_index":3171,"title":{},"body":{"modules/TagListModule.html":{}}}],["list.component.html",{"_index":3139,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.scss",{"_index":3138,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts",{"_index":3136,"title":{},"body":{"components/TagListComponent.html":{},"coverage.html":{}}}],["list.component.ts:18",{"_index":3146,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:23",{"_index":3144,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:28",{"_index":3145,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:33",{"_index":3143,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:49",{"_index":3153,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:53",{"_index":3151,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:62",{"_index":3147,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.module",{"_index":2776,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["list.module.ts",{"_index":3168,"title":{},"body":{"modules/TagListModule.html":{}}}],["list/tag",{"_index":2775,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"coverage.html":{}}}],["listen",{"_index":1853,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listener",{"_index":1580,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listeners",{"_index":786,"title":{},"body":{"components/ContainerComponent.html":{}}}],["listens",{"_index":3048,"title":{},"body":{"components/StageNavComponent.html":{}}}],["literal",{"_index":1331,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ReferenceDataStateModel.html":{},"dependencies.html":{}}}],["little",{"_index":3741,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1158,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["liver.svg",{"_index":1159,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":50,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["loaded",{"_index":1117,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":4039,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":4041,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":4042,"title":{},"body":{"dependencies.html":{}}}],["loads",{"_index":3413,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["loadyoutubeplayerapi",{"_index":3409,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["local",{"_index":2511,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["located",{"_index":1511,"title":{},"body":{"classes/InitializationState.html":{}}}],["location",{"_index":3357,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["lodash",{"_index":1934,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["log",{"_index":4158,"title":{},"body":{"index.html":{}}}],["logger",{"_index":3129,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":3606,"title":{},"body":{"changelog.html":{}}}],["logic",{"_index":1493,"title":{},"body":{"classes/InitializationState.html":{}}}],["logo",{"_index":1367,"title":{},"body":{"components/HeaderComponent.html":{}}}],["logotooltip",{"_index":221,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["longer",{"_index":3725,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1246,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/HeaderComponent.html":{},"changelog.html":{}}}],["looks",{"_index":2206,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lookup",{"_index":2167,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lowerbound",{"_index":2888,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lowerbound[i",{"_index":2897,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lru",{"_index":4092,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":4043,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1160,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lung.svg",{"_index":1161,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1162,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["m",{"_index":3009,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["made",{"_index":2294,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["main",{"_index":754,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["major",{"_index":3556,"title":{},"body":{"changelog.html":{}}}],["make",{"_index":2176,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["makes",{"_index":3493,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["making",{"_index":1747,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["male",{"_index":1335,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["managed",{"_index":312,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["managers",{"_index":3618,"title":{},"body":{"changelog.html":{}}}],["manages",{"_index":3324,"title":{},"body":{"injectables/ThemingService.html":{}}}],["manually",{"_index":1646,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["map",{"_index":114,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{}}}],["map(([_viewtype",{"_index":2963,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([anatomicalstructures",{"_index":2915,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([entities",{"_index":137,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["map(([haschanges",{"_index":2305,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["map(([local",{"_index":2510,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([nodes",{"_index":2933,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([organ",{"_index":1766,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(([organiri",{"_index":2940,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([page",{"_index":2498,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([placement",{"_index":2903,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([rotation",{"_index":2908,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((item",{"_index":2551,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((node",{"_index":2925,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((set",{"_index":2084,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["map((side",{"_index":2976,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(basehref",{"_index":2182,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["map(def",{"_index":1397,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["map(dims",{"_index":898,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(node",{"_index":2980,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(organ",{"_index":1775,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(p",{"_index":924,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(sex",{"_index":1780,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["map(side",{"_index":1783,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(this.truncateresults",{"_index":3288,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["map(type",{"_index":917,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(value",{"_index":2280,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["mapping",{"_index":3240,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["mapto",{"_index":1938,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["mapto(undefined",{"_index":1991,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["march",{"_index":3783,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":969,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["margin2",{"_index":1490,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["markdown",{"_index":4098,"title":{},"body":{"dependencies.html":{}}}],["marrow",{"_index":1139,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["marrow.svg",{"_index":1140,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":1312,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["mat.transformaspoint",{"_index":2889,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat.transformaspoint([1",{"_index":2891,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat_dialog_data",{"_index":2721,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["mat_form_field_default_options",{"_index":559,"title":{},"body":{"modules/AppModule.html":{}}}],["matbuttonmodule",{"_index":1667,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["match",{"_index":2003,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["matcheckboxmodule",{"_index":3312,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["matches",{"_index":184,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["matches.length",{"_index":190,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matches.map((as",{"_index":191,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matching",{"_index":75,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matchipsmodule",{"_index":3169,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["matdialog",{"_index":2389,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matdialogmodule",{"_index":2412,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["matdialogref",{"_index":2337,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["matdividermodule",{"_index":1822,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["material",{"_index":1361,"title":{},"body":{"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matexpansionmodule",{"_index":1820,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["matformfieldmodule",{"_index":3314,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["math.floor(p.x",{"_index":925,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.y",{"_index":926,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.z",{"_index":927,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.gl/core",{"_index":2142,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":4046,"title":{},"body":{"dependencies.html":{}}}],["math.max(dims.x",{"_index":899,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.y",{"_index":903,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.z",{"_index":905,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(n",{"_index":2896,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.min(20",{"_index":2062,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["math.min(n",{"_index":2893,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.round(xyz.x",{"_index":2639,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.y",{"_index":2640,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.z",{"_index":2641,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["maticonmodule",{"_index":562,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["maticonregistry",{"_index":1381,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matinputmodule",{"_index":738,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["matradiomodule",{"_index":3099,"title":{},"body":{"modules/StageNavModule.html":{}}}],["matripplemodule",{"_index":740,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["matrix",{"_index":2192,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix.transformaspoint",{"_index":2198,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix4",{"_index":2140,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["matrix4(matrix4.identity",{"_index":2194,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).rotatey(toradians(rotation)).multiplyright(n.transformmatrix",{"_index":2910,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).scale([2",{"_index":2851,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(model.transformmatrix",{"_index":2887,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matselectmodule",{"_index":1326,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["matslidermodule",{"_index":2832,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["matslidetogglemodule",{"_index":1711,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["matsnackbar",{"_index":240,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["matsnackbarmodule",{"_index":564,"title":{},"body":{"modules/AppModule.html":{}}}],["mattooltipmodule",{"_index":742,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["max",{"_index":976,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["maximum",{"_index":78,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["mc",{"_index":3920,"title":{},"body":{"changelog.html":{}}}],["measured",{"_index":1550,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredmargin",{"_index":1552,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredwidth",{"_index":1542,"title":{},"body":{"classes/InitializationState.html":{}}}],["memory",{"_index":3808,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1804,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["menu'},{'name",{"_index":529,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["menu.component",{"_index":3526,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu.component.html",{"_index":3467,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.scss",{"_index":3466,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts",{"_index":3465,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"coverage.html":{}}}],["menu.component.ts:104",{"_index":3490,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:119",{"_index":3492,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:132",{"_index":3482,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:21",{"_index":3480,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:26",{"_index":3477,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:31",{"_index":3478,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:36",{"_index":3479,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:41",{"_index":3476,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:55",{"_index":3495,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:70",{"_index":3488,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:80",{"_index":3483,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:90",{"_index":3498,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.module",{"_index":1836,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["menu.module.ts",{"_index":3525,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu/visibility",{"_index":1835,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"coverage.html":{}}}],["merchantability",{"_index":4207,"title":{},"body":{"license.html":{}}}],["merge",{"_index":4187,"title":{},"body":{"license.html":{}}}],["mergeall",{"_index":1850,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["message",{"_index":777,"title":{"interfaces/Message.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["message_service_config",{"_index":1253,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["message_service_default_config",{"_index":1254,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagechannel",{"_index":792,"title":{"classes/MessageChannel.html":{}},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["messagechannel(source",{"_index":1893,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messagechannel.counter",{"_index":1880,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messages",{"_index":773,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["messageservice",{"_index":758,"title":{"injectables/MessageService.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["messageservice.connect(this",{"_index":836,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["messageservice.connect(this).getmessages",{"_index":1027,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["messageserviceconfig",{"_index":1852,"title":{"interfaces/MessageServiceConfig.html":{}},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["meta",{"_index":2676,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["metadata",{"_index":208,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["metadatafield",{"_index":1910,"title":{"interfaces/MetaDataField.html":{}},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["meter",{"_index":2154,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["method",{"_index":888,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["method.apply(registry",{"_index":1427,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["methodname",{"_index":1420,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["methods",{"_index":25,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["millimeter",{"_index":2153,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["min",{"_index":1320,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["minor",{"_index":3564,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":4120,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":4171,"title":{},"body":{"license.html":{}}}],["mm",{"_index":712,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["mock",{"_index":3916,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":309,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["modal's",{"_index":2670,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["modal'},{'name",{"_index":504,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["modal.component",{"_index":2411,"title":{},"body":{"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["modal.component.html",{"_index":2386,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.scss",{"_index":2709,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts",{"_index":2384,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"coverage.html":{}}}],["modal.component.ts:15",{"_index":3411,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:21",{"_index":2390,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:22",{"_index":3421,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:23",{"_index":3420,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:26",{"_index":2716,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:29",{"_index":2394,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:30",{"_index":2720,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:35",{"_index":2712,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:37",{"_index":2391,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:44",{"_index":2719,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:45",{"_index":2718,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:46",{"_index":3412,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:54",{"_index":2393,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{}}}],["modal.module",{"_index":584,"title":{},"body":{"modules/AppModule.html":{},"modules/ReviewButtonModule.html":{}}}],["modal.module.ts",{"_index":2410,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["modal.wrapper",{"_index":3432,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal/registration",{"_index":583,"title":{},"body":{"modules/AppModule.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["modal/review",{"_index":2681,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["modal/video",{"_index":1086,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["modalclosed",{"_index":1731,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["mode",{"_index":286,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["model",{"_index":22,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["model.blocksize.x.tofixed(3",{"_index":2608,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.y.tofixed(3",{"_index":2610,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.z.tofixed(3",{"_index":2612,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.label",{"_index":2594,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.name",{"_index":2559,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.organ",{"_index":2560,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.src",{"_index":2558,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organiri",{"_index":2616,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.x.tofixed(3",{"_index":2633,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.y.tofixed(3",{"_index":2635,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.z.tofixed(3",{"_index":2637,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.representation_of",{"_index":150,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model.rotation.x.tofixed(3",{"_index":2624,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.y.tofixed(3",{"_index":2626,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.z.tofixed(3",{"_index":2628,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.numslices",{"_index":2606,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.thickness",{"_index":2604,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.snapshot",{"_index":2565,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.tooltip",{"_index":157,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model/model.state",{"_index":119,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["modelchanged",{"_index":1978,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/anatomical",{"_index":118,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/extraction",{"_index":1945,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/meta",{"_index":2491,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/visibility",{"_index":1946,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["modelstate",{"_index":88,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["modelstatemodel",{"_index":1913,"title":{"interfaces/ModelStateModel.html":{}},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["modification",{"_index":2483,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["modify",{"_index":4186,"title":{},"body":{"license.html":{}}}],["module",{"_index":533,"title":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["modules",{"_index":535,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/content/content.module",{"_index":577,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/header/header.module",{"_index":578,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/left",{"_index":579,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/registration",{"_index":582,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/right",{"_index":585,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":4128,"title":{},"body":{"index.html":{}}}],["more",{"_index":1288,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["mouse",{"_index":3486,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseevent",{"_index":2349,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["mouseout",{"_index":3469,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover",{"_index":3470,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover(item",{"_index":3487,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mousepositiontrackermodule",{"_index":1097,"title":{},"body":{"modules/CoreModule.html":{}}}],["moved",{"_index":3929,"title":{},"body":{"changelog.html":{}}}],["moz",{"_index":715,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ms",{"_index":3256,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["msg",{"_index":1004,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.payload",{"_index":1037,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.drawers",{"_index":1031,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.opened",{"_index":3395,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["msg.payload.type",{"_index":1029,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.source",{"_index":1035,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["much",{"_index":3607,"title":{},"body":{"changelog.html":{}}}],["multi",{"_index":3322,"title":{},"body":{"modules/ThemingModule.html":{}}}],["multiple",{"_index":4129,"title":{},"body":{"index.html":{}}}],["n",{"_index":941,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["n3",{"_index":4093,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":44,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["name(value",{"_index":2123,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["name.endswith(info.organ",{"_index":2224,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["name_input",{"_index":2128,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["namechange",{"_index":2103,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["nameinputcomponent",{"_index":501,"title":{"components/NameInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["nameinputmodule",{"_index":1816,"title":{"modules/NameInputModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules.html":{},"overview.html":{}}}],["namematches(organname",{"_index":2024,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["names",{"_index":3699,"title":{},"body":{"changelog.html":{}}}],["namespace",{"_index":1126,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"miscellaneous/variables.html":{}}}],["namevalid",{"_index":2331,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["nan",{"_index":1961,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["narrow",{"_index":922,"title":{},"body":{"components/ContentComponent.html":{}}}],["native",{"_index":2573,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{}}}],["nav",{"_index":3021,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav'},{'name",{"_index":516,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["nav.component",{"_index":3101,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav.component.html",{"_index":3023,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.scss",{"_index":3022,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts",{"_index":3017,"title":{},"body":{"components/StageNavComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["nav.component.ts:109",{"_index":3057,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:19",{"_index":3046,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:23",{"_index":3039,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:29",{"_index":3037,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:32",{"_index":3043,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:35",{"_index":3044,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:38",{"_index":3045,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:41",{"_index":3061,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:44",{"_index":3063,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:47",{"_index":3058,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:50",{"_index":3059,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:53",{"_index":3066,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:58",{"_index":3070,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:60",{"_index":3036,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:76",{"_index":3047,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:91",{"_index":3054,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.module",{"_index":1085,"title":{},"body":{"modules/ContentModule.html":{}}}],["nav.module.ts",{"_index":3098,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav/stage",{"_index":1084,"title":{},"body":{"modules/ContentModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["navigation",{"_index":3926,"title":{},"body":{"changelog.html":{}}}],["necessary",{"_index":2663,"title":{},"body":{"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["need",{"_index":1121,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{}}}],["needed",{"_index":2989,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["needs",{"_index":782,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["network",{"_index":4162,"title":{},"body":{"index.html":{}}}],["neuron",{"_index":1165,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["neuron.svg",{"_index":1166,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["never",{"_index":829,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["new",{"_index":141,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["newplacement",{"_index":2200,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.x_translation",{"_index":2203,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.y_translation",{"_index":2204,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.z_translation",{"_index":2205,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newposition",{"_index":377,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["newrotation",{"_index":2797,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["newstructures",{"_index":2060,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["next",{"_index":124,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["nextmessageid",{"_index":1879,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["ng",{"_index":1301,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ng5",{"_index":4095,"title":{},"body":{"dependencies.html":{}}}],["ngacceptinputtype_expanded",{"_index":1616,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_opened",{"_index":1615,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_position",{"_index":1614,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngafterviewinit",{"_index":767,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ngdobootstrap",{"_index":553,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":556,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["ngonchanges",{"_index":2651,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ngondestroy",{"_index":230,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["ngoninit",{"_index":231,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["ngx",{"_index":668,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs",{"_index":107,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":3106,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":3109,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/store",{"_index":110,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/store/operators",{"_index":2273,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ngxsdataentitycollectionsrepository",{"_index":17,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ngxsdatapluginmodule",{"_index":3103,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":3118,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatarepository",{"_index":1383,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["ngxsimmutabledatarepository",{"_index":1928,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsloggerpluginmodule",{"_index":3105,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":3130,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":3110,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":3119,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsoninit",{"_index":29,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsstoragepluginmodule",{"_index":3108,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsstoragepluginmodule.forroot",{"_index":3127,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":4167,"title":{},"body":{"index.html":{}}}],["node",{"_index":3283,"title":{},"body":{"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["node.representation_of",{"_index":2924,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodecollisions",{"_index":2839,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodedragevent",{"_index":881,"title":{},"body":{"components/ContentComponent.html":{}}}],["nodes",{"_index":1163,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["nodes.filter((model",{"_index":2935,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.map(n",{"_index":2909,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.svg",{"_index":1164,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["none",{"_index":413,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["noninfringement",{"_index":4211,"title":{},"body":{"license.html":{}}}],["nonnullable",{"_index":641,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["normalizeplacement",{"_index":2315,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["normalizeplacement(place",{"_index":2188,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["not(.cdk",{"_index":2820,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["not(:last",{"_index":725,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["note",{"_index":3755,"title":{},"body":{"changelog.html":{}}}],["nothing",{"_index":2351,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["notice",{"_index":3811,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":3610,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":3089,"title":{},"body":{"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["null",{"_index":1392,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{}}}],["null)?.getcontainerelement",{"_index":3372,"title":{},"body":{"injectables/ThemingService.html":{}}}],["nullish",{"_index":2213,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["number",{"_index":71,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["number(value.slice(0",{"_index":1556,"title":{},"body":{"classes/InitializationState.html":{}}}],["numbersonlymodule",{"_index":3015,"title":{},"body":{"modules/SlicesInputModule.html":{}}}],["numeric",{"_index":3815,"title":{},"body":{"changelog.html":{}}}],["numslices",{"_index":1955,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["o.id",{"_index":2022,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.organ.tolowercase",{"_index":2025,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.side",{"_index":2023,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["obj",{"_index":3158,"title":{},"body":{"components/TagListComponent.html":{}}}],["object",{"_index":1115,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["object.entries(entities).foreach(([id",{"_index":144,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["object.keys(db.organirilookup).find((code",{"_index":2216,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["object.keys(this.initialstate",{"_index":1980,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(aslookup",{"_index":2082,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(this.checkedresults).some(v",{"_index":3268,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["objects",{"_index":659,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["observable",{"_index":96,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["observableinput",{"_index":82,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/TagSearchComponent.html":{}}}],["observables",{"_index":3245,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["obtaining",{"_index":4180,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":3790,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":3889,"title":{},"body":{"changelog.html":{}}}],["offset",{"_index":1039,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["offsets",{"_index":2750,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["old",{"_index":4142,"title":{},"body":{"index.html":{}}}],["oldposition",{"_index":369,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.x",{"_index":391,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.y",{"_index":388,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.z",{"_index":383,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["once",{"_index":1110,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":2647,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ondestroy",{"_index":206,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["one",{"_index":1289,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":207,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["online",{"_index":3897,"title":{},"body":{"changelog.html":{}}}],["onorganirichange",{"_index":2065,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ontological",{"_index":3948,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":3852,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":3574,"title":{},"body":{"changelog.html":{}}}],["ontology/ccf",{"_index":2591,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ontologyid",{"_index":1333,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["opacities",{"_index":3795,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":965,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["opacityslidermodule",{"_index":1833,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["open",{"_index":222,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["open/close",{"_index":1533,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["openapi",{"_index":3648,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":4154,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":4156,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":4155,"title":{},"body":{"index.html":{}}}],["opendialog",{"_index":2387,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["opened",{"_index":1010,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["opened(value",{"_index":1520,"title":{},"body":{"classes/InitializationState.html":{}}}],["opened/closed",{"_index":1476,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openedchange",{"_index":1528,"title":{},"body":{"classes/InitializationState.html":{}}}],["openedstate",{"_index":1477,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openexpanded",{"_index":1573,"title":{},"body":{"classes/InitializationState.html":{}}}],["opening/closing/expanding",{"_index":1494,"title":{},"body":{"classes/InitializationState.html":{}}}],["openresults",{"_index":3188,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["opens",{"_index":1562,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{}}}],["opposite",{"_index":1481,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["optimization",{"_index":3740,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":3882,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":3772,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1687,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["optional",{"_index":46,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":1279,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["options:first",{"_index":1310,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["options:last",{"_index":1311,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["optionsel",{"_index":3035,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsel.contains(target",{"_index":3077,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsref",{"_index":3027,"title":{},"body":{"components/StageNavComponent.html":{}}}],["ordering",{"_index":1951,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ",{"_index":299,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["organ.name",{"_index":2044,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.side",{"_index":2045,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.src",{"_index":2402,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organ.touppercase",{"_index":2209,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organ?.name",{"_index":1767,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["organconfig.name.tolowercase",{"_index":1998,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.ontologyid",{"_index":2001,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.sex?.tolowercase",{"_index":2007,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.side",{"_index":2000,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdata",{"_index":2135,"title":{"interfaces/OrganData.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["organdimensions",{"_index":943,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.x",{"_index":946,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.y",{"_index":947,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z",{"_index":2093,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z].map(n",{"_index":948,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organinfo",{"_index":1925,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo.sex",{"_index":2211,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.sex",{"_index":2210,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.side?.tolowercase",{"_index":2008,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo?.side].join('|').touppercase",{"_index":2215,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organiri",{"_index":1919,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organirilookup",{"_index":2166,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organlist",{"_index":223,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/User.html":{}}}],["organname",{"_index":1997,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organs",{"_index":303,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":3797,"title":{},"body":{"changelog.html":{}}}],["organselect",{"_index":2335,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselect(organ",{"_index":2346,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselected",{"_index":1721,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["organselector.expanded",{"_index":396,"title":{},"body":{"components/AppComponent.html":{}}}],["organselectormodule",{"_index":570,"title":{},"body":{"modules/AppModule.html":{},"modules/RegistrationContentModule.html":{}}}],["organside",{"_index":1999,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organspatialentities",{"_index":2168,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["orthographic",{"_index":3709,"title":{},"body":{"changelog.html":{}}}],["ot",{"_index":1122,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["ot2od026671",{"_index":4169,"title":{},"body":{"index.html":{}}}],["other.expanded",{"_index":1602,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.expandedstate2",{"_index":1603,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.margin2",{"_index":1608,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredmargin",{"_index":1606,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredwidth",{"_index":1605,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.opened",{"_index":1604,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.width",{"_index":1607,"title":{},"body":{"classes/InitializationState.html":{}}}],["otherwise",{"_index":896,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"license.html":{}}}],["out",{"_index":424,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"classes/InitializationState.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":3303,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["output",{"_index":666,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outputs",{"_index":704,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outside",{"_index":2793,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ovaries",{"_index":1167,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovaries.svg",{"_index":1168,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovary",{"_index":1169,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":3489,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["overall",{"_index":3567,"title":{},"body":{"changelog.html":{}}}],["overflow",{"_index":406,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["overlay",{"_index":1318,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["overlaycontainer",{"_index":3353,"title":{},"body":{"injectables/ThemingService.html":{}}}],["overlays",{"_index":3938,"title":{},"body":{"changelog.html":{}}}],["override",{"_index":2451,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["overview",{"_index":4225,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owning",{"_index":3380,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["p",{"_index":2149,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["p.target",{"_index":2945,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.translation_units",{"_index":2151,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_rotation",{"_index":2158,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_scaling",{"_index":2161,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_translation",{"_index":2155,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_rotation",{"_index":2159,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.y_scaling",{"_index":2162,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_translation",{"_index":2156,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_rotation].map(toradians",{"_index":2160,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_scaling",{"_index":2163,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.z_translation].map((n",{"_index":2948,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_translation].map(t",{"_index":2157,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["package",{"_index":3617,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":427,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["padding/margin/height",{"_index":3301,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["page",{"_index":23,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["page.registrationcallbackset",{"_index":2578,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.registrationcallbackset$.subscribe((callbackset",{"_index":341,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.registrationstarted$.subscribe((registrationstarted",{"_index":344,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.user.firstname",{"_index":2556,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.user.lastname",{"_index":2557,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page/page.state",{"_index":120,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["pages",{"_index":3682,"title":{},"body":{"changelog.html":{}}}],["pagestate",{"_index":91,"title":{"injectables/PageState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["pagestatemodel",{"_index":2277,"title":{"interfaces/PageStateModel.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["pair",{"_index":1610,"title":{},"body":{"classes/InitializationState.html":{}}}],["paired",{"_index":3672,"title":{},"body":{"changelog.html":{}}}],["pancreas",{"_index":1170,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas.svg",{"_index":1171,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":1319,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"changelog.html":{}}}],["panel",{"_index":1245,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["panelclass",{"_index":2693,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["param",{"_index":160,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["parameters",{"_index":42,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["params",{"_index":1489,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["parent",{"_index":1854,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["parent.messages.pipe(takewhile",{"_index":1886,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["parse",{"_index":651,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsed",{"_index":1637,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parsedjson",{"_index":1626,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parser",{"_index":4058,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":3134,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{}}}],["particular",{"_index":4209,"title":{},"body":{"license.html":{}}}],["partly",{"_index":3782,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":3722,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":1432,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.join",{"_index":1437,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('innamespace",{"_index":1436,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('literal",{"_index":1435,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('set",{"_index":1434,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["pass",{"_index":2053,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["passed",{"_index":1754,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["passing",{"_index":1760,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["patch",{"_index":2272,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["patch(name",{"_index":2297,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["patchplacement",{"_index":2190,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["patchplacement.target",{"_index":2202,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["path",{"_index":4080,"title":{},"body":{"dependencies.html":{}}}],["payload",{"_index":1060,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["pbr",{"_index":2855,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pelvis",{"_index":1172,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["per",{"_index":1954,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["performance",{"_index":3621,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":4175,"title":{},"body":{"license.html":{}}}],["permit",{"_index":4194,"title":{},"body":{"license.html":{}}}],["person",{"_index":2276,"title":{"interfaces/Person.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"coverage.html":{},"license.html":{}}}],["persons",{"_index":4195,"title":{},"body":{"license.html":{}}}],["pick",{"_index":2253,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{}}}],["piece",{"_index":3219,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pipe",{"_index":2902,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pipe(filter(s",{"_index":2301,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["pipe(mergeall",{"_index":1888,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["place",{"_index":2201,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_rotation",{"_index":2537,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_translation",{"_index":2195,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_rotation",{"_index":2538,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_translation",{"_index":2196,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_rotation",{"_index":2539,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_translation",{"_index":2197,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placed",{"_index":3117,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1642,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["placement",{"_index":2148,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["placement.length",{"_index":2932,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placement_date",{"_index":2617,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placementcube",{"_index":2841,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placementpatches",{"_index":2171,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["placenta",{"_index":1175,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placenta.svg",{"_index":1176,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["play",{"_index":3449,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["play_circle_outline",{"_index":3446,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["player",{"_index":3415,"title":{},"body":{"components/VideoModalComponent.html":{},"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["pluck",{"_index":1939,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["pluckunique",{"_index":2274,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["plugin",{"_index":3107,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plugins",{"_index":3126,"title":{},"body":{"modules/StoreModule.html":{}}}],["pluralizing",{"_index":3241,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["plus",{"_index":3559,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":437,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["populated",{"_index":2219,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["popup",{"_index":3050,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["portal",{"_index":1365,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":3876,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":4202,"title":{},"body":{"license.html":{}}}],["position",{"_index":257,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["position(value",{"_index":1516,"title":{},"body":{"classes/InitializationState.html":{}}}],["position.x",{"_index":955,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.x.tofixed(1)}_${position.y.tofixed(1)}_${position.z.tofixed(1",{"_index":2031,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["position.y",{"_index":2199,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["position.z",{"_index":953,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.z].map((n",{"_index":2968,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["positions",{"_index":791,"title":{},"body":{"components/ContainerComponent.html":{}}}],["possible",{"_index":1924,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["posterior",{"_index":954,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["potential",{"_index":2207,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["pre",{"_index":3528,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["preclose",{"_index":360,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["preferences",{"_index":3696,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":3922,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":3936,"title":{},"body":{"changelog.html":{}}}],["preserved",{"_index":3224,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pressed",{"_index":270,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["prev",{"_index":3292,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prev[id",{"_index":3295,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prevent",{"_index":3598,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":3707,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1745,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["previousitems",{"_index":2055,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previousitems.map(structure",{"_index":2061,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previously",{"_index":3641,"title":{},"body":{"changelog.html":{}}}],["previousregistrationnodes",{"_index":2840,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations",{"_index":2426,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations.map((entity",{"_index":2941,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousvisibility",{"_index":1778,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["previousvisibilityitems",{"_index":1722,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["prevnodes",{"_index":2904,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["private",{"_index":20,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["process",{"_index":1003,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["processed",{"_index":3868,"title":{},"body":{"changelog.html":{}}}],["processes",{"_index":779,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["processing",{"_index":3697,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":3627,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":3611,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":2674,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["projected",{"_index":787,"title":{},"body":{"components/ContainerComponent.html":{}}}],["projects",{"_index":4130,"title":{},"body":{"index.html":{}}}],["projects/.../anatomical",{"_index":4236,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../app",{"_index":4231,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../block",{"_index":4240,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../config.ts",{"_index":4124,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../container.component.ts",{"_index":4125,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../default",{"_index":4241,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../drawer.component.ts",{"_index":4233,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../message.service.ts",{"_index":4246,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../messages.ts",{"_index":4232,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../meta",{"_index":4234,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../model.state.ts",{"_index":4237,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../reference",{"_index":4122,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../rotation",{"_index":4242,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../scene.state.ts",{"_index":4123,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../slices",{"_index":4244,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../stage",{"_index":4235,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":4247,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tag",{"_index":4243,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../theming.service.ts",{"_index":4245,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":1464,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(r",{"_index":2543,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(resolve",{"_index":1461,"title":{},"body":{"classes/InitializationState.html":{}}}],["properties",{"_index":19,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["property",{"_index":467,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["prostate",{"_index":1177,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["prostate.svg",{"_index":1178,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["provide",{"_index":589,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["provided",{"_index":799,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":1858,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":588,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{},"changelog.html":{}}}],["providing",{"_index":979,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["public",{"_index":2329,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"changelog.html":{}}}],["publish",{"_index":4188,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":3615,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":4210,"title":{},"body":{"license.html":{}}}],["purposes",{"_index":915,"title":{},"body":{"components/ContentComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["push",{"_index":2395,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["pushed",{"_index":3756,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":1508,"title":{},"body":{"classes/InitializationState.html":{}}}],["python",{"_index":3613,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["q",{"_index":381,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["qs",{"_index":4101,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":3878,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":3661,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":935,"title":{},"body":{"components/ContentComponent.html":{},"dependencies.html":{}}}],["query",{"_index":3946,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":3579,"title":{},"body":{"changelog.html":{}}}],["querylist",{"_index":795,"title":{},"body":{"components/ContainerComponent.html":{}}}],["quickly",{"_index":3862,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":1740,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["radius",{"_index":451,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ratio",{"_index":2622,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rc.1",{"_index":3884,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":4103,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":4031,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":4053,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":4104,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2134,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["read",{"_index":3237,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["readable",{"_index":4106,"title":{},"body":{"dependencies.html":{}}}],["reader",{"_index":1620,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader'},{'name",{"_index":494,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reader.component",{"_index":1666,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader.component.html",{"_index":1622,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.scss",{"_index":1621,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts",{"_index":1619,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"coverage.html":{}}}],["reader.component.ts:12",{"_index":1634,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:14",{"_index":1645,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:17",{"_index":1629,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:20",{"_index":1627,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:33",{"_index":1638,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:43",{"_index":1636,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.module",{"_index":1840,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["reader.module.ts",{"_index":1665,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader/json",{"_index":1618,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["readonly",{"_index":161,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["real",{"_index":3896,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":3115,"title":{},"body":{"modules/StoreModule.html":{}}}],["receive",{"_index":993,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["receiving",{"_index":1860,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["record",{"_index":1330,"title":{},"body":{"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["rectify",{"_index":3646,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":3745,"title":{},"body":{"changelog.html":{}}}],["reduce((acc",{"_index":2927,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reduction",{"_index":3591,"title":{},"body":{"changelog.html":{}}}],["refdata",{"_index":2417,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reference",{"_index":90,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["referencedata",{"_index":1992,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["referencedatastate",{"_index":1947,"title":{"injectables/ReferenceDataState.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["referencedatastatemodel",{"_index":2165,"title":{"interfaces/ReferenceDataStateModel.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["referenceorgannodes",{"_index":2837,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorgansimplenodes",{"_index":2838,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["references",{"_index":1014,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["refernced",{"_index":3673,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":713,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["refreshblocksize",{"_index":701,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["refreshes",{"_index":700,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["refreshslices",{"_index":2997,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["reg",{"_index":2442,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["reg.creator_first_name",{"_index":2525,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.creator_last_name",{"_index":2526,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement",{"_index":2522,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement[0",{"_index":2521,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_count",{"_index":2542,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_thickness",{"_index":2541,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.x_dimension",{"_index":2533,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.y_dimension",{"_index":2534,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.z_dimension",{"_index":2535,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["regions",{"_index":3939,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":612,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{}}}],["register(usecallback",{"_index":2446,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["register/download",{"_index":2452,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registerbuttonclick",{"_index":2336,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerbuttonclick(event",{"_index":2348,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerdata",{"_index":2654,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registered",{"_index":1131,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["registericon",{"_index":1415,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericon(definition",{"_index":1412,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericonimpl",{"_index":1442,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registericonimpl(definition",{"_index":1416,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registering",{"_index":1378,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registers",{"_index":1410,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registration",{"_index":308,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["registration.registrations",{"_index":3128,"title":{},"body":{"modules/StoreModule.html":{}}}],["registration/registration.state",{"_index":2883,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["registrationcallback",{"_index":629,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/typealiases.html":{}}}],["registrationcallback?.(json",{"_index":2569,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registrationcallbackset",{"_index":2232,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["registrationcontentcomponent",{"_index":502,"title":{"components/RegistrationContentComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationcontentmodule",{"_index":2377,"title":{"modules/RegistrationContentModule.html":{}},"body":{"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrationisvalid",{"_index":2652,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registrationmodalcomponent",{"_index":503,"title":{"components/RegistrationModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationmodalmodule",{"_index":545,"title":{"modules/RegistrationModalModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrations",{"_index":2415,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["registrationstarted",{"_index":224,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/User.html":{}}}],["registrationstate",{"_index":875,"title":{"injectables/RegistrationState.html":{}},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registrationstated",{"_index":2260,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["registrationstatemodel",{"_index":2493,"title":{"interfaces/RegistrationStateModel.html":{}},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["registry",{"_index":1388,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registry.state",{"_index":3111,"title":{},"body":{"modules/StoreModule.html":{}}}],["registry.state.ts",{"_index":1377,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["registry.state.ts:127",{"_index":1448,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:147",{"_index":1446,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:45",{"_index":1444,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:58",{"_index":1449,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:87",{"_index":1450,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:97",{"_index":1451,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry/default",{"_index":1113,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registry/icon",{"_index":1376,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["registry[methodname",{"_index":1422,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["regs",{"_index":2503,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["related",{"_index":3776,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":417,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/typealiases.html":{}}}],["release",{"_index":3638,"title":{},"body":{"changelog.html":{}}}],["relevant",{"_index":1762,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["reliability",{"_index":3813,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":3704,"title":{},"body":{"changelog.html":{}}}],["removable",{"_index":3137,"title":{},"body":{"components/TagListComponent.html":{}}}],["remove",{"_index":3149,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{}}}],["removeclass",{"_index":3374,"title":{},"body":{"injectables/ThemingService.html":{}}}],["removed",{"_index":143,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["removed.add(id",{"_index":146,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removed.has(iri",{"_index":151,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removeeventlistener('beforeunload",{"_index":2311,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["removes",{"_index":3148,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["removetag",{"_index":30,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/TagListComponent.html":{}}}],["removetag(tag",{"_index":66,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["renderer",{"_index":3368,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer2",{"_index":3355,"title":{},"body":{"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["renderer[methodname](overlay",{"_index":3376,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](root",{"_index":3375,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rendering",{"_index":3020,"title":{},"body":{"components/StageNavComponent.html":{}}}],["renders",{"_index":1214,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["repeat",{"_index":1369,"title":{},"body":{"components/HeaderComponent.html":{}}}],["replaysubject",{"_index":328,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["replaysubject(1",{"_index":317,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["repository",{"_index":4127,"title":{},"body":{"index.html":{}}}],["representation",{"_index":2463,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["required",{"_index":3855,"title":{},"body":{"changelog.html":{}}}],["requiredvalues",{"_index":2555,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["requiredvalues.every(value",{"_index":2561,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["researcher's",{"_index":2098,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["reset",{"_index":548,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["resetitem",{"_index":3471,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["resetrotation",{"_index":2808,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["resets",{"_index":3211,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["resetstage",{"_index":873,"title":{},"body":{"components/ContentComponent.html":{}}}],["resettheme",{"_index":3329,"title":{},"body":{"injectables/ThemingService.html":{}}}],["resize",{"_index":885,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor",{"_index":929,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor(this.rootref.nativeelement",{"_index":940,"title":{},"body":{"components/ContentComponent.html":{}}}],["resolve",{"_index":1457,"title":{},"body":{"classes/InitializationState.html":{}}}],["resolved",{"_index":3761,"title":{},"body":{"changelog.html":{}}}],["resolver",{"_index":1402,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["resolves",{"_index":810,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["respond",{"_index":3720,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":3485,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["restriction",{"_index":4183,"title":{},"body":{"license.html":{}}}],["result",{"_index":84,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.label",{"_index":3297,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results",{"_index":3289,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results.reduce((acc",{"_index":3293,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["results",{"_index":80,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["resultsvisible",{"_index":3181,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["retracted",{"_index":462,"title":{},"body":{"components/AppComponent.html":{}}}],["return",{"_index":134,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["returned",{"_index":79,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["returns",{"_index":55,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["reusable",{"_index":1210,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reverted",{"_index":3496,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["review",{"_index":506,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["review/review",{"_index":2779,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["review_button",{"_index":2690,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewbuttoncomponent",{"_index":505,"title":{"components/ReviewButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewbuttonmodule",{"_index":2701,"title":{"modules/ReviewButtonModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["reviewing",{"_index":2708,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["reviewmodal",{"_index":2646,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewmodalcomponent",{"_index":508,"title":{"components/ReviewModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewmodaldata",{"_index":2711,"title":{"interfaces/ReviewModalData.html":{}},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"coverage.html":{}}}],["reviewmodalmodule",{"_index":2706,"title":{"modules/ReviewModalModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules.html":{},"overview.html":{}}}],["rgb",{"_index":4085,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":453,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["right.px",{"_index":991,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["right.svg",{"_index":1148,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["rightmargin",{"_index":984,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rights",{"_index":4185,"title":{},"body":{"license.html":{}}}],["rightsidebarcomponent",{"_index":509,"title":{"components/RightSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rightsidebarmodule",{"_index":546,"title":{"modules/RightSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["root",{"_index":213,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["root'},{'name",{"_index":473,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["root_states",{"_index":3113,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rootref",{"_index":876,"title":{},"body":{"components/ContentComponent.html":{}}}],["rotatednodes",{"_index":2836,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotates",{"_index":3705,"title":{},"body":{"changelog.html":{}}}],["rotatexyz([p.x_rotation",{"_index":2950,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotatexyz([rotation.x",{"_index":2969,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation",{"_index":511,"title":{"interfaces/Rotation.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotation.x",{"_index":2816,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.y",{"_index":2817,"title":{},"body":{"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation.z",{"_index":2818,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.z].map(toradians",{"_index":2970,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation_order",{"_index":2629,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotation_slider",{"_index":2803,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotation_units",{"_index":2630,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotationchange",{"_index":2795,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotations",{"_index":2806,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotationslidercomponent",{"_index":510,"title":{"components/RotationSliderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rotationslidermodule",{"_index":2764,"title":{"modules/RotationSliderModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules.html":{},"overview.html":{}}}],["round",{"_index":3800,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":3816,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":3577,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":4021,"title":{},"body":{"dependencies.html":{}}}],["ru/common/entity",{"_index":103,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ru/common/typings",{"_index":2139,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rui",{"_index":601,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"changelog.html":{},"index.html":{}}}],["rui/src/app/app",{"_index":602,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/app.component.ts",{"_index":203,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["rui/src/app/app.component.ts:100",{"_index":279,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:118",{"_index":280,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:128",{"_index":266,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:167",{"_index":254,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:178",{"_index":276,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:35",{"_index":302,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:38",{"_index":298,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:41",{"_index":305,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:44",{"_index":288,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:46",{"_index":320,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:50",{"_index":316,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:51",{"_index":318,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:53",{"_index":290,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:54",{"_index":293,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:55",{"_index":296,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:57",{"_index":314,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:59",{"_index":291,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:61",{"_index":294,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:64",{"_index":249,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.module.ts",{"_index":549,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/app.module.ts:58",{"_index":554,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/core/core.module.ts",{"_index":1093,"title":{},"body":{"modules/CoreModule.html":{}}}],["rui/src/app/core/models/anatomical",{"_index":3131,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/documentation.ts",{"_index":1241,"title":{},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["rui/src/app/core/models/extraction",{"_index":1259,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["rui/src/app/core/models/meta",{"_index":1911,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/visibility",{"_index":3461,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["rui/src/app/core/services/config/config.module.ts",{"_index":746,"title":{},"body":{"modules/ConfigModule.html":{}}}],["rui/src/app/core/services/config/config.ts",{"_index":1329,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.module.ts",{"_index":3318,"title":{},"body":{"modules/ThemingModule.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts",{"_index":3323,"title":{},"body":{"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:13",{"_index":3350,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:14",{"_index":3351,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:16",{"_index":3349,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:18",{"_index":3352,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:21",{"_index":3339,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:25",{"_index":3332,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:39",{"_index":3336,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:48",{"_index":3348,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:60",{"_index":3346,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:71",{"_index":3344,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:83",{"_index":3334,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/store/anatomical",{"_index":7,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/icon",{"_index":1112,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/model/model.state.ts",{"_index":1914,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/page/page.state.ts",{"_index":2230,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"coverage.html":{}}}],["rui/src/app/core/store/page/page.state.ts:110",{"_index":2244,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:125",{"_index":2251,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:135",{"_index":2254,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:145",{"_index":2248,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:152",{"_index":2249,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:162",{"_index":2245,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:168",{"_index":2246,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:56",{"_index":2264,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:58",{"_index":2259,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:59",{"_index":2262,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:60",{"_index":2257,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:63",{"_index":2266,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:68",{"_index":2268,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:76",{"_index":2270,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:78",{"_index":2243,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:94",{"_index":2247,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/reference",{"_index":2136,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts",{"_index":2414,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:102",{"_index":2481,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:107",{"_index":2467,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:110",{"_index":2466,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:113",{"_index":2468,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:116",{"_index":2430,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:134",{"_index":2445,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:157",{"_index":2441,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:200",{"_index":2458,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:210",{"_index":2455,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:220",{"_index":2432,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:226",{"_index":2444,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:239",{"_index":2485,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:248",{"_index":2447,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:283",{"_index":2438,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:317",{"_index":2434,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:370",{"_index":2460,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:52",{"_index":2465,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:56",{"_index":2470,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:64",{"_index":2472,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:71",{"_index":2474,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:81",{"_index":2476,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:96",{"_index":2478,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts",{"_index":2834,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:118",{"_index":2871,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:129",{"_index":2873,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:157",{"_index":2875,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:164",{"_index":2876,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:182",{"_index":2878,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:204",{"_index":2858,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:221",{"_index":2859,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:222",{"_index":2860,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:223",{"_index":2842,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:239",{"_index":2845,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:249",{"_index":2844,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:52",{"_index":2862,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:63",{"_index":2864,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:80",{"_index":2866,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:90",{"_index":2869,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/store.module.ts",{"_index":3102,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/modules/content/content.component.ts",{"_index":863,"title":{},"body":{"components/ContentComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/content/content.component.ts:106",{"_index":893,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:113",{"_index":887,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:119",{"_index":882,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:26",{"_index":879,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:28",{"_index":928,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:33",{"_index":918,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:37",{"_index":909,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:48",{"_index":919,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:53",{"_index":910,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:58",{"_index":931,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:61",{"_index":877,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:84",{"_index":886,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:97",{"_index":883,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.module.ts",{"_index":1081,"title":{},"body":{"modules/ContentModule.html":{}}}],["rui/src/app/modules/content/stage",{"_index":3016,"title":{},"body":{"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/modules/content/video",{"_index":3407,"title":{},"body":{"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts",{"_index":1342,"title":{},"body":{"components/HeaderComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts:17",{"_index":1348,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:19",{"_index":1347,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:21",{"_index":1346,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.module.ts",{"_index":1373,"title":{},"body":{"modules/HeaderModule.html":{}}}],["rui/src/app/modules/left",{"_index":1714,"title":{},"body":{"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/registration",{"_index":2324,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/review/review",{"_index":2642,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/right",{"_index":2742,"title":{},"body":{"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/block",{"_index":656,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/details",{"_index":1207,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts",{"_index":753,"title":{},"body":{"components/ContainerComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:105",{"_index":788,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:115",{"_index":778,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:124",{"_index":789,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:37",{"_index":775,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:41",{"_index":807,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:45",{"_index":798,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:48",{"_index":803,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:50",{"_index":809,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:55",{"_index":812,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:60",{"_index":793,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:62",{"_index":771,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:83",{"_index":784,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts",{"_index":978,"title":{},"body":{"components/ContentComponent-1.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:103",{"_index":1011,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:116",{"_index":1006,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:28",{"_index":996,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:30",{"_index":997,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:32",{"_index":999,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:34",{"_index":1000,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:36",{"_index":994,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:39",{"_index":1013,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:41",{"_index":992,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:60",{"_index":1005,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:70",{"_index":1002,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/drawer.module.ts",{"_index":1252,"title":{},"body":{"modules/DrawerModule.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts",{"_index":1454,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35",{"_index":1466,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37",{"_index":1463,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41",{"_index":1467,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46",{"_index":1468,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56",{"_index":1472,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65",{"_index":1469,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/messages.ts",{"_index":1052,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/toggle",{"_index":3377,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/extraction",{"_index":1266,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/json",{"_index":1617,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/labeled",{"_index":1669,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/name",{"_index":2096,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/rotation",{"_index":2782,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/slices",{"_index":2982,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/tag",{"_index":3135,"title":{},"body":{"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/visibility",{"_index":3464,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/services/message/message.service.ts",{"_index":1841,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:103",{"_index":1901,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:112",{"_index":1902,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:128",{"_index":1909,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:130",{"_index":1906,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:153",{"_index":1908,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:163",{"_index":1907,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:50",{"_index":1898,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:70",{"_index":1903,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:83",{"_index":1899,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:93",{"_index":1900,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui_locations.jsonld",{"_index":3605,"title":{},"body":{"changelog.html":{}}}],["rui_organs",{"_index":301,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ruiconfig",{"_index":1338,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["run",{"_index":783,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["runtime",{"_index":1120,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["rxjs",{"_index":113,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":115,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["s",{"_index":389,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/User.html":{}}}],["safehtml",{"_index":1379,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saferesourceurl",{"_index":1380,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["same",{"_index":1952,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sample",{"_index":3951,"title":{},"body":{"changelog.html":{}}}],["samples",{"_index":3747,"title":{},"body":{"changelog.html":{}}}],["sanitize",{"_index":1390,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitized",{"_index":1123,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["sanitizer",{"_index":1389,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saveas",{"_index":2487,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saveas(data",{"_index":2574,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saved",{"_index":2295,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["saver",{"_index":2488,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["scaffolding",{"_index":3912,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":1363,"title":{},"body":{"components/HeaderComponent.html":{}}}],["scale([blocksize.x",{"_index":2971,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scale([entity.x_dimension",{"_index":2951,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scalex",{"_index":721,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scaling_units",{"_index":2621,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["scene",{"_index":24,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["scene/scene.state",{"_index":121,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"modules/StoreModule.html":{}}}],["scenegraph",{"_index":2847,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodelookup",{"_index":2169,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["scenestate",{"_index":92,"title":{"injectables/SceneState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["scenestatemodel",{"_index":2884,"title":{"interfaces/SceneStateModel.html":{}},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{}}}],["scheduled",{"_index":3762,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":3914,"title":{},"body":{"changelog.html":{}}}],["scheme",{"_index":282,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["schemes",{"_index":3879,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":4163,"title":{},"body":{"index.html":{}}}],["script",{"_index":3424,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["script.src",{"_index":3427,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["scroll",{"_index":1797,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["scrollbar",{"_index":1799,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scrolling",{"_index":861,"title":{},"body":{"components/ContainerComponent.html":{}}}],["search",{"_index":77,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["search'},{'name",{"_index":520,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["search.component",{"_index":3315,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search.component.html",{"_index":3176,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.scss",{"_index":3175,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts",{"_index":3172,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search.component.ts:104",{"_index":3226,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:116",{"_index":3229,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:125",{"_index":3225,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:132",{"_index":3210,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:150",{"_index":3206,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:163",{"_index":3208,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:179",{"_index":3217,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:198",{"_index":3233,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:218",{"_index":3221,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:34",{"_index":3205,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:37",{"_index":3198,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:40",{"_index":3199,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:43",{"_index":3200,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:46",{"_index":3201,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:49",{"_index":3204,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:52",{"_index":3238,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:55",{"_index":3239,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:61",{"_index":3248,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:64",{"_index":3251,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:67",{"_index":3235,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:70",{"_index":3246,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:73",{"_index":3196,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.module",{"_index":2778,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["search.module.ts",{"_index":3311,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search/tag",{"_index":2777,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["searchcontrol",{"_index":3182,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchcontrol.reset",{"_index":3273,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searches",{"_index":74,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"changelog.html":{}}}],["searchexternal",{"_index":31,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["searchexternal(text",{"_index":68,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["searching",{"_index":3173,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit",{"_index":3190,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit)).pipe",{"_index":3287,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults",{"_index":3183,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.results.filter(tag",{"_index":3270,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.totalcount",{"_index":3298,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchthrottle",{"_index":3191,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["section",{"_index":3735,"title":{},"body":{"changelog.html":{}}}],["sections",{"_index":3008,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["see",{"_index":2342,"title":{},"body":{"components/RegistrationContentComponent.html":{},"changelog.html":{},"index.html":{}}}],["select",{"_index":1315,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selected",{"_index":1273,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["selecting",{"_index":1270,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["selection",{"_index":1684,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["selections",{"_index":3212,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["selector",{"_index":211,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selects",{"_index":1430,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["sell",{"_index":4192,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":3935,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":772,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["sender",{"_index":1846,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending",{"_index":1592,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending/receiving",{"_index":1559,"title":{},"body":{"classes/InitializationState.html":{}}}],["sendmessage",{"_index":1896,"title":{},"body":{"classes/MessageChannel.html":{}}}],["sendmessage(payload",{"_index":1864,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sends",{"_index":1589,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sendtoggle",{"_index":1593,"title":{},"body":{"classes/InitializationState.html":{}}}],["sennet",{"_index":3624,"title":{},"body":{"changelog.html":{}}}],["sensor",{"_index":870,"title":{},"body":{"components/ContentComponent.html":{}}}],["sent",{"_index":1053,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["separated",{"_index":1215,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["server",{"_index":3917,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":47,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["service.initialize(location",{"_index":3359,"title":{},"body":{"injectables/ThemingService.html":{}}}],["services/config/config",{"_index":1384,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["services/config/config.module",{"_index":1099,"title":{},"body":{"modules/CoreModule.html":{}}}],["services/message/message.service",{"_index":1057,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{}}}],["services/theming/theming.module",{"_index":1100,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":142,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["set's",{"_index":2456,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set(reg.ccf_annotations",{"_index":2547,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set.label",{"_index":2085,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["set.name",{"_index":1299,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.sites.length",{"_index":1300,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.ts",{"_index":1260,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["setallopacity",{"_index":3472,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setallopacity(value",{"_index":3491,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setanatomicalstructures(anatomicalstructures",{"_index":2050,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setblocksize(blocksize",{"_index":2026,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setchange",{"_index":1276,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["setdisplayerrors",{"_index":2422,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setdisplayerrors(displayerrors",{"_index":2454,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setextractionsets(extractionsets",{"_index":2051,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setextractionsites(extractionsites",{"_index":2049,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sethaschanges",{"_index":2236,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setname(value",{"_index":2117,"title":{},"body":{"components/NameInputComponent.html":{}}}],["setorgan(organ",{"_index":2042,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setposition(position",{"_index":2028,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setrotation(rotation",{"_index":2027,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets",{"_index":785,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sets.length",{"_index":2087,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets[0].sites",{"_index":2088,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsex(sex",{"_index":2046,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsexfromlabel",{"_index":1725,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setsexfromlabel(label",{"_index":1736,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setshowprevious",{"_index":2054,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setshowprevious(showprevious",{"_index":2048,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setside(side",{"_index":2047,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsidefromlabel",{"_index":1726,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setsidefromlabel(label",{"_index":1738,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setslicesconfig(slicesconfig",{"_index":2032,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["settheme",{"_index":3330,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settheme(theme",{"_index":3347,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settimeout",{"_index":1561,"title":{},"body":{"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/ToggleButtonComponent.html":{}}}],["settimeout(r",{"_index":2544,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setting",{"_index":2787,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/StoreModule.html":{}}}],["setup",{"_index":3731,"title":{},"body":{"changelog.html":{}}}],["setusecancelregistrationcallback",{"_index":2237,"title":{},"body":{"injectables/PageState.html":{}}}],["setusecancelregistrationcallback(use",{"_index":2250,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setusedropdownmenu(value",{"_index":3064,"title":{},"body":{"components/StageNavComponent.html":{}}}],["setuseregistrationcallback",{"_index":2423,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setuseregistrationcallback(use",{"_index":2457,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setusername",{"_index":2238,"title":{},"body":{"injectables/PageState.html":{}}}],["setusername(name",{"_index":2252,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setviewside(viewside",{"_index":2034,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setviewtype",{"_index":874,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(is3dview",{"_index":892,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(viewtype",{"_index":2033,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sex",{"_index":1334,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sexbylabel",{"_index":1723,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["sexes",{"_index":3847,"title":{},"body":{"changelog.html":{}}}],["sexselected",{"_index":2332,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["shadow",{"_index":1304,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{}}}],["shall",{"_index":4199,"title":{},"body":{"license.html":{}}}],["shared",{"_index":326,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig.html":{},"modules/SlicesInputModule.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"modules/VisibilityMenuModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":327,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/CoreModule.html":{},"interfaces/User.html":{}}}],["shared/components/block",{"_index":2768,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/details",{"_index":1824,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/drawer/drawer.module",{"_index":587,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/extraction",{"_index":1826,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/json",{"_index":1839,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/labeled",{"_index":1828,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["shared/components/name",{"_index":1830,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{}}}],["shared/components/rotation",{"_index":2769,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/slices",{"_index":2772,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/tag",{"_index":2774,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/visibility",{"_index":1834,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/rxjs",{"_index":1931,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shared/web",{"_index":638,"title":{},"body":{"components/AppWebComponent.html":{}}}],["shifts",{"_index":267,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["shortest",{"_index":4079,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":932,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["showcollisions",{"_index":2885,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["showdebugbuttons",{"_index":871,"title":{},"body":{"components/ContentComponent.html":{}}}],["showing",{"_index":2668,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["shown",{"_index":3247,"title":{},"body":{"components/TagSearchComponent.html":{},"changelog.html":{}}}],["showprevious",{"_index":1920,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shows",{"_index":911,"title":{},"body":{"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"changelog.html":{}}}],["shrink",{"_index":3517,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["side",{"_index":1015,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["sidebar",{"_index":1716,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar'},{'name",{"_index":500,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["sidebar.component",{"_index":1838,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar.component.html",{"_index":1718,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.scss",{"_index":1717,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts",{"_index":1715,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"coverage.html":{}}}],["sidebar.component.ts:110",{"_index":1743,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:123",{"_index":1758,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:20",{"_index":2745,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:23",{"_index":2744,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:24",{"_index":1735,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:26",{"_index":1733,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:29",{"_index":1734,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:31",{"_index":1781,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:35",{"_index":1784,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:39",{"_index":1776,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:43",{"_index":1768,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:52",{"_index":1769,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:58",{"_index":1777,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:60",{"_index":1732,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:76",{"_index":1752,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:89",{"_index":1737,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:98",{"_index":1741,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.module",{"_index":581,"title":{},"body":{"modules/AppModule.html":{}}}],["sidebar.module.ts",{"_index":1819,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar/left",{"_index":580,"title":{},"body":{"modules/AppModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["sidebar/right",{"_index":586,"title":{},"body":{"modules/AppModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["sidebylabel",{"_index":1724,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidechange",{"_index":3032,"title":{},"body":{"components/StageNavComponent.html":{}}}],["sides",{"_index":3848,"title":{},"body":{"changelog.html":{}}}],["signal",{"_index":2345,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["significant",{"_index":3724,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":3067,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["simplescenenodelookup",{"_index":2170,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["simplifies",{"_index":3730,"title":{},"body":{"changelog.html":{}}}],["single",{"_index":1863,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["site",{"_index":1753,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sites",{"_index":1261,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sizable",{"_index":3812,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":409,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sizes",{"_index":671,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/RightSidebarComponent.html":{},"miscellaneous/variables.html":{}}}],["skin",{"_index":1179,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skin.svg",{"_index":1180,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skipconfirmation",{"_index":2239,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["skipself",{"_index":1096,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["skipunsavedchangesconfirmation",{"_index":613,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["skipuntil",{"_index":1940,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["skipuntil(this.page.registrationstarted$.pipe",{"_index":2016,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["slice",{"_index":1927,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["slice(0",{"_index":194,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["slice_count",{"_index":2605,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slice_input",{"_index":2994,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slice_thickness",{"_index":2603,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slices",{"_index":514,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["slicesconfig",{"_index":1921,"title":{"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slicesconfigchange",{"_index":2984,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slicesinputcomponent",{"_index":513,"title":{"components/SlicesInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["slicesinputmodule",{"_index":2765,"title":{"modules/SlicesInputModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/SlicesInputModule.html":{},"modules.html":{},"overview.html":{}}}],["slide",{"_index":497,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["slide_toggle",{"_index":1700,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["slider",{"_index":1673,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"dependencies.html":{}}}],["slider'},{'name",{"_index":512,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["slider.component",{"_index":2831,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider.component.html",{"_index":2791,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.scss",{"_index":2792,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.ts",{"_index":2783,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slider.component.ts:34",{"_index":2813,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:39",{"_index":2812,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:44",{"_index":2811,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:59",{"_index":2814,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:68",{"_index":2815,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.module",{"_index":2771,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["slider.module.ts",{"_index":2830,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider/rotation",{"_index":2770,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sliders",{"_index":1802,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slightly",{"_index":3644,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":3742,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1181,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["snackbar",{"_index":239,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snackbar.dismiss",{"_index":361,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snapshot",{"_index":2291,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["snapshot.useregistrationcallback",{"_index":2568,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["software",{"_index":4131,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":1353,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["solved",{"_index":3807,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":3860,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":3619,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":3738,"title":{},"body":{"changelog.html":{}}}],["sortby",{"_index":1933,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sortby(set.extractionsites.map((entity",{"_index":2086,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["source",{"_index":4,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["sources",{"_index":1876,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["sources.includes(msg.source",{"_index":1878,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["space",{"_index":963,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["spacer",{"_index":3300,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["sparc",{"_index":3734,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":3576,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":2867,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["spatialentity",{"_index":2089,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.x_dimension",{"_index":2091,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.y_dimension",{"_index":2092,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.z_dimension",{"_index":2094,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentityjsonld",{"_index":621,"title":{},"body":{"components/AppWebComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spatialplacement",{"_index":2615,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["spatialplacementjsonld",{"_index":2143,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["spatialscenenode",{"_index":2144,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spec",{"_index":3649,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":4152,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1072,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["specification",{"_index":4151,"title":{},"body":{"index.html":{}}}],["specified",{"_index":1875,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["specifying",{"_index":1857,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":3588,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":1182,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinning",{"_index":3915,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1185,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["spleen.svg",{"_index":1186,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["sprint",{"_index":3765,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":1959,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["stage",{"_index":457,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["stage_nav",{"_index":3079,"title":{},"body":{"components/StageNavComponent.html":{}}}],["stagenavcomponent",{"_index":515,"title":{"components/StageNavComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stagenavmodule",{"_index":1079,"title":{"modules/StageNavModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["staging",{"_index":3628,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["staging.herokuapp.com",{"_index":4150,"title":{},"body":{"index.html":{}}}],["stamp",{"_index":2585,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["standalone",{"_index":3802,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":593,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{}}}],["standards",{"_index":3919,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":4135,"title":{},"body":{"index.html":{}}}],["start",{"_index":827,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["start?.expanded",{"_index":1044,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["start?.opened",{"_index":1043,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["startdrawers",{"_index":850,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers.length",{"_index":854,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers[0",{"_index":858,"title":{},"body":{"components/ContainerComponent.html":{}}}],["started",{"_index":2018,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["startexpanded",{"_index":1042,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["starts",{"_index":3957,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":1118,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/RegistrationModalComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["startwith",{"_index":816,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state",{"_index":15,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["state$.pipe(pluck('registrations",{"_index":2504,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state('closed",{"_index":1500,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('collapsed",{"_index":1505,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('extended",{"_index":1509,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('false",{"_index":1023,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state('full",{"_index":1510,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('half",{"_index":1506,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('open",{"_index":1499,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('true",{"_index":1024,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state.organspatialentities[iri",{"_index":2222,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["statechange",{"_index":1532,"title":{},"body":{"classes/InitializationState.html":{}}}],["statements",{"_index":3959,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":106,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["states",{"_index":165,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent-1.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":1613,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["stay",{"_index":3955,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":3750,"title":{},"body":{"changelog.html":{}}}],["stomach",{"_index":1187,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["stomach.svg",{"_index":1188,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["store",{"_index":974,"title":{},"body":{"components/ContentComponent.html":{},"modules/StoreModule.html":{}}}],["store/store.module",{"_index":1101,"title":{},"body":{"modules/CoreModule.html":{}}}],["stored",{"_index":2784,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["storedebugmodule",{"_index":1083,"title":{},"body":{"modules/ContentModule.html":{}}}],["storemodule",{"_index":1091,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":3910,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":3114,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":4107,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":4105,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":69,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["strings",{"_index":1213,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["structure",{"_index":8,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["structure.opacity",{"_index":2063,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["structures",{"_index":1749,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["strvalue",{"_index":2991,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["style",{"_index":1019,"title":{},"body":{"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/VisibilityToggleComponent.html":{}}}],["style.margin",{"_index":989,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["styled",{"_index":2659,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["styles",{"_index":200,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["styles.getpropertyvalue(property",{"_index":1555,"title":{},"body":{"classes/InitializationState.html":{}}}],["styleurls",{"_index":214,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["styling",{"_index":1643,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["sub",{"_index":1071,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["subject",{"_index":1848,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"license.html":{}}}],["sublicense",{"_index":4190,"title":{},"body":{"license.html":{}}}],["subscribe",{"_index":2014,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["subscribe(result",{"_index":3262,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["subscribe(updateskipconfirmation",{"_index":2302,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["subscription",{"_index":311,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["subscriptions",{"_index":225,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["substantial",{"_index":4201,"title":{},"body":{"license.html":{}}}],["successful",{"_index":1411,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["suffix",{"_index":3010,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["suffix.show",{"_index":3011,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["super",{"_index":162,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["super(configstore",{"_index":644,"title":{},"body":{"components/AppWebComponent.html":{}}}],["super.ngxsoninit",{"_index":163,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["support",{"_index":3572,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1127,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules.html":{}}}],["swiper",{"_index":4111,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":378,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["switched",{"_index":3818,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":1941,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(data",{"_index":2187,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["switchmap(fetch",{"_index":2507,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["switchmap(organconfig",{"_index":1996,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(this.executesearch",{"_index":3261,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["switchmap(url",{"_index":2185,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["sync",{"_index":3706,"title":{},"body":{"changelog.html":{}}}],["syncexpanded(other",{"_index":1601,"title":{},"body":{"classes/InitializationState.html":{}}}],["syncs",{"_index":1598,"title":{},"body":{"classes/InitializationState.html":{}}}],["t",{"_index":1844,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["t.label).join",{"_index":2584,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["table",{"_index":4020,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":3636,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":4019,"title":{},"body":{"coverage.html":{}}}],["tag",{"_index":12,"title":{"interfaces/Tag.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.id",{"_index":181,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tag.label",{"_index":3161,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag.label).join",{"_index":3276,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tag.ts",{"_index":3132,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.type",{"_index":145,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["tag_list",{"_index":3160,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag_search",{"_index":3275,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tagclasses",{"_index":3140,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagclasses(tag",{"_index":3150,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagging",{"_index":3850,"title":{},"body":{"changelog.html":{}}}],["tagid",{"_index":116,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/typealiases.html":{}}}],["tagid(_index",{"_index":3152,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["taglistcomponent",{"_index":517,"title":{"components/TagListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["taglistmodule",{"_index":2766,"title":{"modules/TagListModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagListModule.html":{},"modules.html":{},"overview.html":{}}}],["tagremoved",{"_index":3141,"title":{},"body":{"components/TagListComponent.html":{}}}],["tags",{"_index":33,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tags.length",{"_index":3272,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tags.map(t",{"_index":2583,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["tags.map(tag",{"_index":2602,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["tags.push",{"_index":154,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.push(tag",{"_index":148,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.state",{"_index":2492,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{}}}],["tags.state.ts",{"_index":10,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["tags.state.ts:112",{"_index":63,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:119",{"_index":54,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:124",{"_index":67,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:140",{"_index":73,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:158",{"_index":58,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:38",{"_index":95,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:68",{"_index":87,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:70",{"_index":98,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:75",{"_index":89,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:77",{"_index":93,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:79",{"_index":39,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:95",{"_index":64,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags/anatomical",{"_index":9,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["tagschange",{"_index":3142,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagsearchcomponent",{"_index":519,"title":{"components/TagSearchComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tagsearchmodule",{"_index":2767,"title":{"modules/TagSearchModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["tagsearchresult",{"_index":117,"title":{"interfaces/TagSearchResult.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["take",{"_index":1942,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["take(1",{"_index":2011,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["takes",{"_index":1211,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["takeuntil",{"_index":3253,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takeuntil(this.destroy",{"_index":3259,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takewhile",{"_index":1851,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["tap",{"_index":1943,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["tap(([user",{"_index":2399,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["tap(config",{"_index":2284,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["tap(reg",{"_index":2517,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["target",{"_index":262,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["target.key",{"_index":379,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.nodename",{"_index":394,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.preventdefault",{"_index":372,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.repeat",{"_index":374,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["technologies",{"_index":3930,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":3793,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":3701,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":199,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["templateurl",{"_index":216,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["temporary",{"_index":971,"title":{},"body":{"components/ContentComponent.html":{}}}],["test",{"_index":3899,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":914,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["text",{"_index":76,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{}}}],["textfield",{"_index":716,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["theme",{"_index":226,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["thememode",{"_index":227,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["themes",{"_index":3623,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":241,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["theming.initialize(el",{"_index":339,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["theming.service",{"_index":3320,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themingmodule",{"_index":1092,"title":{"modules/ThemingModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ThemingModule.html":{},"modules.html":{},"overview.html":{}}}],["themingservice",{"_index":242,"title":{"injectables/ThemingService.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"coverage.html":{},"overview.html":{}}}],["themingservice.initialize",{"_index":3321,"title":{},"body":{"modules/ThemingModule.html":{}}}],["thick",{"_index":1195,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["thick.svg",{"_index":1196,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thickness",{"_index":1953,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["thin",{"_index":1197,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"miscellaneous/variables.html":{}}}],["thin.svg",{"_index":1198,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["things",{"_index":167,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this._expanded",{"_index":1523,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._latesttags",{"_index":159,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this._measuredmargin",{"_index":1553,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredwidth",{"_index":1543,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._name",{"_index":2122,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this._opened",{"_index":1519,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._position",{"_index":1515,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.added.emit(tags",{"_index":3277,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.addentityone",{"_index":183,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.addregistration(jsonobj",{"_index":2575,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.addtagraw(tag",{"_index":178,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.animationsenabled",{"_index":1033,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.applythemeclass(theme",{"_index":3363,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.gettheme",{"_index":3367,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.theme",{"_index":3362,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.blocksize",{"_index":694,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksize[key",{"_index":698,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksizechange.emit(this.blocksize",{"_index":699,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.buildjsonld(page",{"_index":2500,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildjsonld(page.snapshot",{"_index":2564,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildmetadata(page",{"_index":2499,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.cdr.markforcheck",{"_index":844,"title":{},"body":{"components/ContainerComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.channel",{"_index":835,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.asobservable",{"_index":1885,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.closed",{"_index":1887,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.complete",{"_index":1890,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.next",{"_index":1865,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.sendmessage",{"_index":841,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.checkedresults",{"_index":3264,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.closedialog",{"_index":2369,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.consentservice.consent",{"_index":363,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.content",{"_index":846,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.changes.pipe(startwith(null)).subscribe",{"_index":845,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.first",{"_index":832,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.length",{"_index":834,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content2.first",{"_index":833,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.createscenenodes(organiri",{"_index":2916,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.ctx.patchstate",{"_index":2006,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ctx.setstate(patch",{"_index":2296,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentdate",{"_index":2586,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentidentifier",{"_index":2588,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentorgan",{"_index":2367,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.currentsex",{"_index":2362,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.defaultposition",{"_index":2095,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.defaulttheme",{"_index":3361,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.deferred",{"_index":1492,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.destroy$.complete",{"_index":3267,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.destroy$.next",{"_index":3266,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.dialog.open(registrationcontentcomponent",{"_index":2404,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.dialog.open(reviewmodalcomponent",{"_index":2692,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.dialog.open(videomodalcomponent",{"_index":3443,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["this.dialogref.close",{"_index":2728,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["this.dialogref.close(true",{"_index":2372,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.disablepositionchange",{"_index":371,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.drawer",{"_index":3396,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawer.position",{"_index":3394,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawers",{"_index":1030,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.drawers.changes.pipe(startwith(null)).subscribe",{"_index":839,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.drawers.toarray",{"_index":849,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.editregistration(reg",{"_index":2518,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.el.nativeelement.contains(event.target",{"_index":3284,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.element",{"_index":3366,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.element.nativeelement",{"_index":1544,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.entererrormode.emit",{"_index":2688,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.entities$.subscribe",{"_index":176,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.expanded",{"_index":1579,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedchange.emit(this.expanded",{"_index":1588,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate",{"_index":1569,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate2",{"_index":1537,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.extractionsitetooltip",{"_index":1787,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.faded",{"_index":1048,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.fileinput.nativeelement",{"_index":1649,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.firstnamevalidator.setvalue(value?.firstname",{"_index":2124,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('all_items_opacity_update",{"_index":3515,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('block_size_change",{"_index":696,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('block_size_reset",{"_index":702,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('item_reset",{"_index":3513,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('json_file_load_end",{"_index":1656,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('json_file_load_start",{"_index":1659,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('name_updated",{"_index":2127,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('opacity_update",{"_index":3510,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('organ_select",{"_index":2043,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('placement",{"_index":2029,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('register",{"_index":2699,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('review_start",{"_index":2689,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('rotation_reset",{"_index":2809,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('rotation_update",{"_index":2802,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('selected_extraction_set_change",{"_index":1293,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.ga.event('side_update",{"_index":3078,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('slice_config_reset",{"_index":2998,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slice_config_update",{"_index":2993,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slide_toggle_toggled",{"_index":1699,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.ga.event('tag_removed",{"_index":3159,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.ga.event('tags_added",{"_index":3274,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.ga.event('view_update",{"_index":3085,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('visibility_toggled",{"_index":3501,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["this.getarguments(definition",{"_index":1425,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getmessages().pipe(filter(msg",{"_index":1874,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.getmethodname(definition",{"_index":1421,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getsourcedb().subscribe(db",{"_index":2173,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.getupdatedcheckedresults(result",{"_index":3265,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.globalconfig.config$.pipe",{"_index":2283,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('basehref').pipe",{"_index":2181,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalconfig.getoption('editregistration').pipe",{"_index":2516,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('header",{"_index":289,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl",{"_index":292,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl').subscribe((url",{"_index":348,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip",{"_index":295,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip').subscribe((tooltip",{"_index":351,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('organ').pipe",{"_index":1995,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.globalconfig.getoption('skipunsavedchangesconfirmation').pipe",{"_index":2279,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.globalconfig.getoption('theme",{"_index":315,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.snapshot.basehref",{"_index":1408,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.globals.set('db",{"_index":2179,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalskipconfirmation",{"_index":2300,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.handlemessage(msg",{"_index":838,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.haschanges$.pipe",{"_index":2303,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.homeurl",{"_index":349,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.hover.emit(item",{"_index":3504,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.hover.emit(undefined",{"_index":3505,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.idmatches(ontologyid",{"_index":2004,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.initialized",{"_index":1491,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.set",{"_index":1560,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.valueof",{"_index":1570,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.wait",{"_index":1594,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initskipconfirmationlisteners",{"_index":2290,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.injector",{"_index":599,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{}}}],["this.injector.get(anatomicalstructuretagstate",{"_index":2514,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.injector.get(modelstate",{"_index":170,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(pagestate",{"_index":174,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(referencedatastate",{"_index":1994,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(registrationstate",{"_index":2979,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(scenestate",{"_index":172,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.isdatavalid(this.page.snapshot",{"_index":2562,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.isdropdownactive",{"_index":3072,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isdropdownhidden",{"_index":3073,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isvalid",{"_index":2502,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.items",{"_index":3507,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(i",{"_index":3514,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(item",{"_index":3508,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.itemschange.emit(this.items",{"_index":3512,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.labelref.nativeelement",{"_index":3074,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.labels[0",{"_index":1697,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.labels[1",{"_index":1698,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.lastnamevalidator.setvalue(value?.lastname",{"_index":2125,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.launchreviewmodal",{"_index":2691,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.leftmargin",{"_index":1040,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.loadyoutubeplayerapi",{"_index":3423,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.logotooltip",{"_index":352,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.margin2",{"_index":1540,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredmargin",{"_index":1539,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredwidth",{"_index":1595,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.messages",{"_index":1884,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.messages.pipe(filter(msg",{"_index":1871,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.metadata",{"_index":2697,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.metadata.length",{"_index":2683,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.metadata.slice(0",{"_index":2685,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.model",{"_index":169,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.blocksize",{"_index":2960,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.defaultposition.x",{"_index":900,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.y",{"_index":904,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.z",{"_index":906,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.extractionsites",{"_index":2912,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organ",{"_index":1763,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$.pipe",{"_index":1774,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$]).pipe",{"_index":2397,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organdimensions$.pipe",{"_index":897,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.organiri",{"_index":2917,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organiri$]).pipe",{"_index":2913,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position",{"_index":2962,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position$.pipe",{"_index":923,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.rotation",{"_index":2961,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.setblocksize",{"_index":2532,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(data.organ",{"_index":2527,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(this.currentorgan",{"_index":2371,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setposition",{"_index":2545,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setposition(newposition",{"_index":393,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["this.model.setrotation",{"_index":2536,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(data.sex",{"_index":2529,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(label",{"_index":1789,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setsex(this.currentsex",{"_index":2370,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setside(data.side",{"_index":2531,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setside(label",{"_index":1790,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setslicesconfig",{"_index":2540,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.sex$.pipe",{"_index":1779,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["this.model.sex$]).pipe",{"_index":1765,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.showprevious",{"_index":2938,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.side",{"_index":1764,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.side$.pipe",{"_index":1782,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.snapshot",{"_index":944,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.anatomicalstructures",{"_index":185,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.snapshot.organdimensions",{"_index":2946,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.position",{"_index":370,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.model.state",{"_index":2496,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.state$]).pipe",{"_index":2501,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.toggleregistrationblocksvisibility(visible",{"_index":1792,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.viewside$.pipe",{"_index":2975,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.viewtype$.pipe",{"_index":916,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.modelchanged$.pipe",{"_index":2015,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.name",{"_index":2126,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namechange.emit(this.name",{"_index":2129,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namematches(organname",{"_index":2005,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.namevalid",{"_index":2364,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.nextmessageid",{"_index":1866,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nodecollisions",{"_index":2901,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.nodes$]).pipe",{"_index":2907,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.onorganirichange",{"_index":2013,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.open",{"_index":342,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.opendialog",{"_index":2403,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.opened",{"_index":1567,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.openedchange.emit(this.opened",{"_index":1584,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.openedstate",{"_index":1568,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.optionsref.nativeelement",{"_index":3075,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.organselected",{"_index":2368,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.page",{"_index":173,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.clearhaschanges",{"_index":2577,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.registrationstarted",{"_index":2373,"title":{},"body":{"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.sethaschanges",{"_index":177,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.setusername",{"_index":2524,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.parsedjson.emit(json",{"_index":1658,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.patchstate",{"_index":2299,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.placementcube",{"_index":2898,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.placementcube$]).pipe",{"_index":2930,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.position",{"_index":1514,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.previousregistrationnodes",{"_index":2900,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.previousvisibilityitems",{"_index":1791,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.refdata",{"_index":2515,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.getorgandata(place.target",{"_index":2523,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.normalizeplacement",{"_index":2519,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.referencedata",{"_index":1993,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.getreferenceorganiri",{"_index":2066,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.snapshot",{"_index":2073,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$.pipe",{"_index":2009,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$]).pipe",{"_index":2918,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.referenceorgannodes",{"_index":2899,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registerdata.emit",{"_index":2700,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registericonimpl(def",{"_index":1401,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registericonimpl(definition",{"_index":1413,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registration",{"_index":2978,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registration.editregistration(event",{"_index":1793,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.registration.previousregistrations$]).pipe",{"_index":2939,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registrationcallbackset",{"_index":2696,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.registrationisvalid",{"_index":2682,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registrationstarted",{"_index":345,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.registry",{"_index":1417,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registry?.addsvgiconresolver((name",{"_index":1403,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.renderer2.appendchild(this.document.body",{"_index":3429,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.renderer2.createelement('script",{"_index":3425,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.resolve",{"_index":1462,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.resultsvisible",{"_index":3280,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.rightmargin",{"_index":1041,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.rotation",{"_index":2801,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.rotationchange.emit(this.rotation",{"_index":2804,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.sanitizer.bypasssecuritytrusthtml(def.html",{"_index":1399,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.sanitizer.bypasssecuritytrustresourceurl(basehref",{"_index":1409,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.scene",{"_index":171,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.scene.nodecollisions$]).pipe",{"_index":136,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.searchcontrol.valuechanges.pipe",{"_index":3258,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.searchresults",{"_index":3263,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.selected",{"_index":1292,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.selection",{"_index":3499,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.selection.id",{"_index":3500,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.sendtoggle",{"_index":1571,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.sensor",{"_index":939,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.setanatomicalstructures(newstructures",{"_index":2064,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setanatomicalstructures(previousitems",{"_index":2059,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setchange.emit(value",{"_index":1296,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setdisplayerrors(false",{"_index":2576,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.sets.length",{"_index":1297,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setshowprevious(visible",{"_index":2058,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setstate(db",{"_index":2174,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.setstate(patch",{"_index":2285,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.settheme(this.defaulttheme",{"_index":3364,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.sexselected",{"_index":2363,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.side",{"_index":3082,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.sidechange.emit(this.side",{"_index":3083,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.skipconfirmation$.subscribe(skipconfirmation",{"_index":2310,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.slicesconfig",{"_index":2992,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfig[key",{"_index":2995,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfigchange.emit(this.slicesconfig",{"_index":2996,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.snackbar.openfromcomponent(trackingpopupcomponent",{"_index":358,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.snapshot",{"_index":2189,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.snapshot.blocksize",{"_index":2037,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.entities[tag.id",{"_index":179,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.snapshot.organ",{"_index":2070,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.name}_placement",{"_index":2030,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.organ",{"_index":2067,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.sex",{"_index":2071,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organdimensions",{"_index":2036,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.sex",{"_index":2068,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.showcollisions",{"_index":2905,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.snapshot.side",{"_index":2069,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.source",{"_index":1867,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.state$.pipe",{"_index":1983,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('anatomicalstructures",{"_index":1976,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('blocksize",{"_index":1963,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('displayerrors",{"_index":2464,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.state$.pipe(pluck('extractionsets",{"_index":1977,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('extractionsites",{"_index":1975,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('id",{"_index":1962,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organ",{"_index":1969,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organdimensions",{"_index":1971,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organiri",{"_index":1970,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('position",{"_index":1965,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('registrationcallbackset",{"_index":2256,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('rotation",{"_index":1964,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('sex",{"_index":1972,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('showprevious",{"_index":1974,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('side",{"_index":1973,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('slicesconfig",{"_index":1966,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('usecancelregistrationcallback",{"_index":2261,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('user",{"_index":2263,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('viewside",{"_index":1968,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('viewtype",{"_index":1967,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluckunique('haschanges",{"_index":2282,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('registrationstarted",{"_index":2258,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('skipconfirmation",{"_index":2278,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.statechange.emit",{"_index":1596,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.subscriptions.add",{"_index":340,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.subscriptions.add(channel.getmessagesfromsource(drawer).subscribe(msg",{"_index":3393,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.subscriptions.add(messages.subscribe(msg",{"_index":1028,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.subscriptions.add(this.channel.getmessages().subscribe(msg",{"_index":837,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.subscriptions.unsubscribe",{"_index":395,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["this.syncexpanded(other",{"_index":1597,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.tagremoved.emit(tag",{"_index":3162,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags",{"_index":2513,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{}}}],["this.tags$.subscribe((tags",{"_index":175,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.tags.addtags",{"_index":2548,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.filter(obj",{"_index":3157,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags.latesttags",{"_index":2566,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.tags$]).pipe",{"_index":2497,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tagschange.emit(this.tags",{"_index":3163,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.theme",{"_index":347,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["this.theme$.subscribe((theme",{"_index":346,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next('light",{"_index":366,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next(this.islighttheme",{"_index":368,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$]).subscribe",{"_index":355,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.gettheme().endswith('light",{"_index":338,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${theme",{"_index":356,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${this.theme",{"_index":367,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.toggle(coercebooleanproperty(value",{"_index":1521,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(false",{"_index":1565,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(true",{"_index":1563,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(coercebooleanproperty(value",{"_index":1525,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(false",{"_index":1577,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(true",{"_index":1574,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.updateentitiesmany",{"_index":180,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.updatefaded",{"_index":1032,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updatemargin(position",{"_index":1038,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updateopacity(item.opacity",{"_index":3503,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.updateview(false",{"_index":3081,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.updateview(true",{"_index":3080,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.validatedrawers",{"_index":840,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.value",{"_index":1696,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.valuechange.emit(this.value",{"_index":1701,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.view3d",{"_index":3084,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.view3dchange.emit(this.view3d",{"_index":3086,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.visibilitychanged.emit(this.visible",{"_index":3537,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.visible",{"_index":3535,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.width",{"_index":1538,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.xyztriplettostring(model.blocksize",{"_index":2580,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.position",{"_index":2581,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.rotation",{"_index":2582,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["those",{"_index":1869,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["throttle",{"_index":3202,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["throttletime",{"_index":1944,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["throttletime(0",{"_index":1984,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["through",{"_index":2790,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["throw",{"_index":830,"title":{},"body":{"components/ContainerComponent.html":{},"modules/CoreModule.html":{}}}],["throwduplicatedrawerserror",{"_index":4010,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["throwduplicatedrawerserror('end",{"_index":857,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror('start",{"_index":855,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror(position",{"_index":826,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["thrown",{"_index":825,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throws",{"_index":821,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["thumb",{"_index":2822,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["thumbnails",{"_index":3771,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":1189,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thymus.svg",{"_index":1190,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ticks",{"_index":2826,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["tied",{"_index":3774,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":3869,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":2482,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["timeouts",{"_index":3599,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":3592,"title":{},"body":{"changelog.html":{}}}],["timing",{"_index":465,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/VisibilityMenuComponent.html":{}}}],["tissue",{"_index":661,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["tissues",{"_index":3642,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":717,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"interfaces/DocumentationContent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["tmc",{"_index":3947,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":522,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["toggle'},{'name",{"_index":498,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle(opened",{"_index":1566,"title":{},"body":{"classes/InitializationState.html":{}}}],["toggle.component",{"_index":1713,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle.component.html",{"_index":1675,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.scss",{"_index":1674,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts",{"_index":1671,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["toggle.component.ts:18",{"_index":3533,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:19",{"_index":1688,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:23",{"_index":3532,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:24",{"_index":1682,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:29",{"_index":1685,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:34",{"_index":1681,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:39",{"_index":1680,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:40",{"_index":3531,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:51",{"_index":1694,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:52",{"_index":3534,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:61",{"_index":1690,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.module",{"_index":1829,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["toggle.module.ts",{"_index":1710,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle/labeled",{"_index":1670,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"coverage.html":{}}}],["toggle/visibility",{"_index":1837,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["togglebuttoncomponent",{"_index":521,"title":{"components/ToggleButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["toggled",{"_index":1034,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["toggleexpanded(expanded",{"_index":1578,"title":{},"body":{"classes/InitializationState.html":{}}}],["togglelabel",{"_index":3529,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["togglepreviousregistrationblocks",{"_index":1727,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["togglepreviousregistrationblocks(visible",{"_index":1742,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["toggleregistrationblocksvisibility(visible",{"_index":2057,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["toggles",{"_index":281,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["togglescheme",{"_index":232,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["togglevisibility",{"_index":3473,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["togglevisibility(item",{"_index":3494,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["toggling",{"_index":1744,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["token",{"_index":1856,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":3803,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":353,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}}}],["top",{"_index":418,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toradians",{"_index":2141,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tort",{"_index":4219,"title":{},"body":{"license.html":{}}}],["total",{"_index":3133,"title":{},"body":{"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["totalcount",{"_index":189,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["touch",{"_index":862,"title":{},"body":{"components/ContainerComponent.html":{}}}],["track",{"_index":1772,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["tracking/telemetry",{"_index":3715,"title":{},"body":{"changelog.html":{}}}],["trackingpopupcomponent",{"_index":325,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["trackingpopupmodule",{"_index":571,"title":{},"body":{"modules/AppModule.html":{}}}],["trailing",{"_index":1986,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["transform",{"_index":720,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["transformmatrix",{"_index":2850,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["transition",{"_index":421,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["transition('closed",{"_index":1501,"title":{},"body":{"classes/InitializationState.html":{}}}],["transition('false",{"_index":1025,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["translate",{"_index":3447,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["translate([p.x_translation",{"_index":2947,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translate([position.x",{"_index":2967,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translation_units",{"_index":2638,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["transparency",{"_index":3804,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":3821,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":202,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["trigger",{"_index":1020,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{}}}],["trigger('expandcollapse",{"_index":1504,"title":{},"body":{"classes/InitializationState.html":{}}}],["trigger('fadeinout",{"_index":1022,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["trigger('openclose",{"_index":1498,"title":{},"body":{"classes/InitializationState.html":{}}}],["triggerfileinput",{"_index":1625,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["triplet",{"_index":2462,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["true",{"_index":297,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"modules/ThemingModule.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["true=left",{"_index":1691,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["truncateresults",{"_index":3189,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncateresults(result",{"_index":3232,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncates",{"_index":3234,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["try",{"_index":1426,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["ts",{"_index":4113,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":4116,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1146,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":3956,"title":{},"body":{"changelog.html":{}}}],["tuple",{"_index":847,"title":{},"body":{"components/ContainerComponent.html":{}}}],["turn",{"_index":3789,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":3777,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":3775,"title":{},"body":{"changelog.html":{}}}],["turns",{"_index":2665,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["tutorial",{"_index":3691,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1683,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["tx",{"_index":4126,"title":{},"body":{"miscellaneous/functions.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":2164,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["type",{"_index":45,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":4229,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":1061,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["types/lru",{"_index":4054,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":126,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":3925,"title":{},"body":{"changelog.html":{}}}],["typography",{"_index":2734,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["ufl",{"_index":3770,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":636,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":4138,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":4147,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":4144,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":4146,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":4145,"title":{},"body":{"index.html":{}}}],["undefined",{"_index":848,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["under",{"_index":1128,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["underline",{"_index":1314,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["unique",{"_index":1842,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["university",{"_index":4165,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":642,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{}}}],["unlike",{"_index":1119,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["unnecessary",{"_index":3703,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":2853,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["unselect",{"_index":3744,"title":{},"body":{"changelog.html":{}}}],["unset",{"_index":3403,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["until",{"_index":306,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["unused",{"_index":3155,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["up",{"_index":278,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["update",{"_index":2799,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["updateblocksizes",{"_index":703,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["updateblocksizes(input",{"_index":690,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["updated",{"_index":689,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["updatedselection",{"_index":3506,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.id",{"_index":3509,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.opacity",{"_index":3511,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateextractionsitetooltip",{"_index":1728,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateextractionsitetooltip(item",{"_index":1751,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updatefaded",{"_index":985,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin",{"_index":986,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin(position",{"_index":1009,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatename",{"_index":2102,"title":{},"body":{"components/NameInputComponent.html":{}}}],["updatename(input",{"_index":2107,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["updateopacity",{"_index":3474,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateopacity(value",{"_index":3497,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateregistration",{"_index":1729,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateregistration(event",{"_index":1757,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updates",{"_index":684,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent-1.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["updateside",{"_index":3028,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateside(selection",{"_index":3053,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateskipconfirmation",{"_index":2298,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["updateslicesdata",{"_index":2999,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["updateslicesdata(input",{"_index":2990,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["updatetoggle",{"_index":1676,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updatetoggle(selection",{"_index":1689,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updateview",{"_index":3029,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateview(selection",{"_index":3056,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updating",{"_index":2796,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{}}}],["upgraded",{"_index":3866,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":3928,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":3718,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1628,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["uploaded",{"_index":1633,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["upperbound",{"_index":2890,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["upperbound[i",{"_index":2894,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ureter",{"_index":1191,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":350,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["urls",{"_index":1391,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["use",{"_index":960,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"license.html":{}}}],["usecallback",{"_index":2449,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usecancelregistrationcallback",{"_index":2233,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["used",{"_index":48,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["usedownload",{"_index":614,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usedropdownmenu",{"_index":3030,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usedropdownmenu(value",{"_index":3071,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usefactory",{"_index":751,"title":{},"body":{"modules/ConfigModule.html":{}}}],["useful",{"_index":823,"title":{},"body":{"components/ContainerComponent.html":{}}}],["user",{"_index":333,"title":{"interfaces/User.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["user's",{"_index":2121,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{}}}],["user.firstname",{"_index":2400,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user.lastname",{"_index":2401,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user/os",{"_index":3695,"title":{},"body":{"changelog.html":{}}}],["useregistrationcallback",{"_index":2494,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["username",{"_index":2105,"title":{"interfaces/UserName.html":{}},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["users",{"_index":3942,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":3708,"title":{},"body":{"changelog.html":{}}}],["usevalue",{"_index":590,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["using",{"_index":3681,"title":{},"body":{"changelog.html":{}}}],["uterus",{"_index":1192,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["uterus.svg",{"_index":1193,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":3700,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":2479,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":2490,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["v",{"_index":3269,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["v1.1",{"_index":3637,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":3788,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":3640,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":3631,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":3601,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":3575,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":3581,"title":{},"body":{"changelog.html":{}}}],["v1[key",{"_index":1989,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2",{"_index":1988,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2[key",{"_index":1990,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v4",{"_index":2489,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["valid",{"_index":2220,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/typealiases.html":{}}}],["validate",{"_index":2112,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validatedrawers",{"_index":768,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validates",{"_index":790,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validators",{"_index":2119,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validators.required",{"_index":2111,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["value",{"_index":86,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["value.name",{"_index":1295,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["valuechange",{"_index":1679,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["valueof",{"_index":1458,"title":{},"body":{"classes/InitializationState.html":{}}}],["values",{"_index":679,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["var",{"_index":471,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["variable",{"_index":1770,"title":{},"body":{"components/LeftSidebarComponent.html":{},"coverage.html":{}}}],["variables",{"_index":4239,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1194,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["vec3",{"_index":2880,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...lowerbound.map((n",{"_index":2892,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...upperbound.map((n",{"_index":2895,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["version",{"_index":3650,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":921,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["via",{"_index":2788,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["video",{"_index":524,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["videomodalcomponent",{"_index":523,"title":{"components/VideoModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchercomponent",{"_index":525,"title":{"components/VideoModalLauncherComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchermodule",{"_index":1080,"title":{"modules/VideoModalLauncherModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules.html":{},"overview.html":{}}}],["videomodalmodule",{"_index":3455,"title":{"modules/VideoModalModule.html":{}},"body":{"modules/VideoModalModule.html":{},"modules.html":{},"overview.html":{}}}],["view",{"_index":894,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["view3d",{"_index":3031,"title":{},"body":{"components/StageNavComponent.html":{}}}],["view3dchange",{"_index":3033,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild",{"_index":1647,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["viewchild('closesearch",{"_index":3236,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["viewchild('fileinput",{"_index":1644,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["viewchild('label",{"_index":3060,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild('options",{"_index":3062,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchildren",{"_index":815,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewchildren(contentcomponent",{"_index":802,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewed",{"_index":1956,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewer",{"_index":3767,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":3018,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["views",{"_index":3710,"title":{},"body":{"changelog.html":{}}}],["viewside",{"_index":942,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewtype",{"_index":1922,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["visibility",{"_index":528,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["visibility_menu",{"_index":3502,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["visibility_off",{"_index":1203,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_off_cube",{"_index":1204,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_on",{"_index":1201,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_toggle",{"_index":3536,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilitychanged",{"_index":3530,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilityitem",{"_index":1263,"title":{"interfaces/VisibilityItem.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["visibilityitems",{"_index":2056,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["visibilitymenucomponent",{"_index":527,"title":{"components/VisibilityMenuComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitymenumodule",{"_index":1817,"title":{"modules/VisibilityMenuModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{},"modules.html":{},"overview.html":{}}}],["visibilitytogglecomponent",{"_index":530,"title":{"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitytogglemodule",{"_index":1818,"title":{"modules/VisibilityToggleModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["visible",{"_index":1748,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["visual",{"_index":3565,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":3736,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":3867,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":56,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["vs",{"_index":3689,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":3952,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":386,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["wait",{"_index":1460,"title":{},"body":{"classes/InitializationState.html":{}}}],["waits",{"_index":1590,"title":{},"body":{"classes/InitializationState.html":{}}}],["want",{"_index":1756,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["warming",{"_index":3596,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":3886,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":4206,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":4203,"title":{},"body":{"license.html":{}}}],["watch",{"_index":3445,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["wc",{"_index":605,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":475,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["web",{"_index":572,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["webcomponent",{"_index":3688,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":4056,"title":{},"body":{"dependencies.html":{}}}],["webkit",{"_index":860,"title":{},"body":{"components/ContainerComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["webpages",{"_index":3655,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":4133,"title":{},"body":{"index.html":{}}}],["week",{"_index":3958,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":718,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whenever",{"_index":1531,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whether",{"_index":813,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"license.html":{}}}],["white",{"_index":447,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["whole",{"_index":3954,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":414,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["widths",{"_index":1599,"title":{},"body":{"classes/InitializationState.html":{}}}],["window:click",{"_index":3193,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:click(event",{"_index":3207,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin",{"_index":3194,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin(event",{"_index":3209,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["within",{"_index":2794,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["withlatestfrom",{"_index":2275,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["withlatestfrom(this.globalskipconfirmation",{"_index":2304,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["without",{"_index":804,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["workaround",{"_index":1609,"title":{},"body":{"classes/InitializationState.html":{}}}],["workflows",{"_index":3823,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":3645,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":3839,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":3087,"title":{},"body":{"components/StageNavComponent.html":{}}}],["wrapped",{"_index":801,"title":{},"body":{"components/ContainerComponent.html":{}}}],["wrapper",{"_index":432,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["wrapping",{"_index":805,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{}}}],["x",{"_index":390,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["x,y,z",{"_index":890,"title":{},"body":{"components/ContentComponent.html":{}}}],["x_dimension",{"_index":2607,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_rotation",{"_index":2623,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_scaling",{"_index":2618,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_translation",{"_index":2632,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyz",{"_index":2461,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyztriplet",{"_index":1923,"title":{"interfaces/XYZTriplet.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["xyztriplettostring",{"_index":2424,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["xyztriplettostring(xyz",{"_index":2459,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y",{"_index":387,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":2609,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_rotation",{"_index":2625,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_scaling",{"_index":2619,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_translation",{"_index":2634,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["yes",{"_index":2320,"title":{},"body":{"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{}}}],["youtube",{"_index":3408,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["youtubeplayermodule",{"_index":3459,"title":{},"body":{"modules/VideoModalModule.html":{}}}],["z",{"_index":382,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":2611,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_rotation",{"_index":2627,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_scaling",{"_index":2620,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_translation",{"_index":2636,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["zone.js",{"_index":4118,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":547,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["zoombasedopacity",{"_index":2856,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"injectables/AnatomicalStructureTagState.html":{"url":"injectables/AnatomicalStructureTagState.html","title":"injectable - AnatomicalStructureTagState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n AnatomicalStructureTagState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag collection global state\n\n \n\n \n Extends\n \n \n NgxsDataEntityCollectionsRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _latestTags\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n scene\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTag\n \n \n Private\n addTagRaw\n \n \n addTags\n \n \n ngxsOnInit\n \n \n removeTag\n \n \n searchExternal\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n latestTags\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTag\n \n \n \n \n \n \naddTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addTagRaw\n \n \n \n \n \n \n \n addTagRaw(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:158\n \n \n\n\n \n \n Adds a tag. Implementation helper for addTags and addTag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n The tag\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags(tags: Tag[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:95\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:124\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n searchExternal\n \n \n \n \n \n \nsearchExternal(text: string, limit: number)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:140\n \n \n\n\n \n \n Searches for matching tags (not in the state)\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n Maximum returned results hint\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n external Search result\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _latestTags\n \n \n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:75\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n scene\n \n \n \n \n \n \n Type : SceneState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:77\n \n \n\n \n \n Reference to the scene state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n\n \n \n gettags$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:38\n \n \n \n \n Observable of tags\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n latestTags\n \n \n\n \n \n getlatestTags()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:70\n \n \n\n \n \n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AnatomicalStructureTagStateModel.html":{"url":"interfaces/AnatomicalStructureTagStateModel.html","title":"interface - AnatomicalStructureTagStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AnatomicalStructureTagStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag state model\n\n \n\n\n\n\n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app.component.ts\n\n\n\n \n Description\n \n \n App component\n\n \n\n\n \n Implements\n \n \n OnDestroy\n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n disablePositionChange\n \n \n Readonly\n header$\n \n \n homeUrl\n \n \n Readonly\n homeUrl$\n \n \n logoTooltip\n \n \n Readonly\n logoTooltip$\n \n \n open\n \n \n organList\n \n \n registrationStarted\n \n \n Private\n Readonly\n subscriptions\n \n \n theme\n \n \n Readonly\n theme$\n \n \n Readonly\n themeMode$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n handleKey\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n toggleScheme\n \n \n \n \n\n\n\n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n document:keydown\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, consentService: ConsentService, snackbar: MatSnackBar, theming: ThemingService, el: ElementRef<>, injector: Injector, globalConfig: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n snackbar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n theming\n \n \n ThemingService\n \n \n \n No\n \n \n \n \n el\n \n \n ElementRef<>\n \n \n \n No\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:keydown\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keydown(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleKey\n \n \n \n \n \n \nhandleKey(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keydown', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:178\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleScheme\n \n \n \n \n \n \ntoggleScheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:118\n \n \n\n\n \n \n Toggles scheme between light and dark mode\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n disablePositionChange\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:44\n \n \n\n \n \n Disables changes in block position\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n header$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('header')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n homeUrl$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('homeUrl')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n logoTooltip$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('logoTooltip')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n open\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:38\n \n \n\n \n \n True if the organ selector drawer is open\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:35\n \n \n\n \n \n Organs to be displayed in the organ selector\n\n \n \n\n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:41\n \n \n\n \n \n False until the initial registration modal is closed\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n theme$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('theme')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n themeMode$\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:51\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n\n \n \n getisLightTheme()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:46\n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n\n\n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n {{ organSelector.expanded ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n {{ open ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n \n \n\n\n \n\n \n \n ./app.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n font-size: 1rem;\n color: black;\n\n .header-hidden {\n display: none;\n }\n\n ccf-drawer-container {\n height: 100%;\n\n ccf-drawer {\n width: 25.5rem;\n }\n\n ccf-drawer-content {\n position: relative;\n z-index: 1;\n\n .selector-drawer {\n top: 0rem;\n display: flex;\n flex-direction: column;\n position: relative;\n height: 5.688rem;\n transition: all 0.5s ease-in-out;\n\n &.expanded {\n height: 15rem;\n }\n\n ccf-organ-selector {\n height: 100%;\n padding-top: 0.5rem;\n transition: all 0.5s;\n \n &.closed {\n padding-top: 0;\n }\n }\n\n .close-button-wrapper {\n display: flex;\n justify-content: center;\n height: 0;\n z-index: 2;\n \n .close-button {\n cursor: pointer;\n transition: 0.6s;\n\n .expand-collapse-icon {\n width: 3rem;\n height: 1.2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n background-color: white;\n border-bottom-left-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n transition: 0.6s;\n \n &:hover {\n background-color: #ececec;\n }\n }\n }\n }\n\n\n &.closed {\n height: 3rem;\n top: -2.9rem;\n }\n }\n\n .stage-content {\n border-radius: 0.5rem !important;\n height: calc(100% - 2.688rem - 3rem - 1.5rem);\n }\n\n .expanded-stage {\n height: calc(100% - 1.5rem);\n padding-bottom: 1rem;\n }\n\n .retracted-stage {\n height: calc(100% - 2.688rem - 14rem);\n }\n\n }\n\n\n\n ccf-content {\n // top: 0rem;\n position: absolute;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n transition-property: all;\n bottom: 1.5rem;\n z-index: 1;\n\n }\n\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ organSelector.expanded ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} {{ open ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n Imports\n \n \n ContentModule\n \n \n CoreModule\n \n \n DrawerModule\n \n \n HeaderModule\n \n \n LeftSidebarModule\n \n \n RegistrationModalModule\n \n \n RightSidebarModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.module.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { OrganSelectorModule, TrackingPopupModule } from 'ccf-shared';\n\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { DEFAULT_THEME } from './core/services/theming/theming.service';\nimport { ContentModule } from './modules/content/content.module';\nimport { HeaderModule } from './modules/header/header.module';\nimport { LeftSidebarModule } from './modules/left-sidebar/left-sidebar.module';\nimport { RegistrationModalModule } from './modules/registration-modal/registration-modal/registration-modal.module';\nimport { RightSidebarModule } from './modules/right-sidebar/right-sidebar.module';\nimport { DrawerModule } from './shared/components/drawer/drawer.module';\n\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CoreModule,\n MatIconModule,\n DrawerModule,\n HeaderModule,\n ContentModule,\n LeftSidebarModule,\n RightSidebarModule,\n OrganSelectorModule,\n RegistrationModalModule,\n TrackingPopupModule,\n MatSnackBarModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [\n {\n provide: DEFAULT_THEME,\n useValue: 'hubmap-theme-light'\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'standard',\n floatLabel: false,\n hideRequiredMarker: true\n }\n }\n ],\n entryComponents: [AppComponent, AppWebComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-rui', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n \n Extends\n \n \n GlobalConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n theme\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n baseHref\n \n \n cancelRegistration\n \n \n editRegistration\n \n \n fetchPreviousRegistrations\n \n \n header\n \n \n homeUrl\n \n \n logoTooltip\n \n \n organ\n \n \n register\n \n \n skipUnsavedChangesConfirmation\n \n \n theme\n \n \n useDownload\n \n \n user\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n baseHref\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:25\n \n \n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n Type : string | CancelRegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:31\n \n \n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n Type : string | SpatialEntityJsonLd\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:29\n \n \n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n Type : string | FetchPreviousRegistrationsCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:32\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:35\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:37\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n Type : string | Organ\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:28\n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n Type : string | RegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:30\n \n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n theme\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:34\n \n \n \n \n \n \n \n \n \n useDownload\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:26\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n Type : string | User\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:27\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS } from 'ccf-shared/web-components';\nimport { ObservableInput } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\n\nimport { environment } from '../environments/environment';\n\n\nexport type User = NonNullable;\nexport type Organ = NonNullable;\nexport type RegistrationCallback = (data: unknown) => void;\nexport type CancelRegistrationCallback = () => void;\nexport type FetchPreviousRegistrationsCallback = () => ObservableInput[]>;\n\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() baseHref: string;\n @Input() useDownload: string | boolean;\n @Input() user: string | User;\n @Input() organ: string | Organ;\n @Input() editRegistration: string | SpatialEntityJsonLd;\n @Input() register: string | RegistrationCallback;\n @Input() cancelRegistration: string | CancelRegistrationCallback;\n @Input() fetchPreviousRegistrations: string | FetchPreviousRegistrationsCallback;\n @Input() skipUnsavedChangesConfirmation: string | boolean;\n @Input() theme: string;\n @Input() header: string | boolean;\n @Input() homeUrl: string;\n @Input() logoTooltip: string;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n const BP = BUILTIN_PARSERS;\n\n super(configStore, cdr, {\n initialDelay: 500,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['ruiConfig' as string],\n ...environment.customization\n },\n parse: {\n useDownload: BP.boolean,\n user: BP.json,\n organ: BP.json,\n editRegistration: BP.json,\n register: BP.function,\n cancelRegistration: BP.function,\n fetchPreviousRegistrations: BP.function,\n skipUnsavedChangesConfirmation: BP.boolean,\n header: BP.boolean,\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BlockSize.html":{"url":"interfaces/BlockSize.html","title":"interface - BlockSize","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BlockSize\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n\n\n \n Description\n \n \n Interface for objects containing tissue block dimensions\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of block\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Height of block\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Depth of block\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BlockSizeInputComponent.html":{"url":"components/BlockSizeInputComponent.html","title":"component - BlockSizeInputComponent","body":"\n \n\n\n\n\n\n Components\n \n BlockSizeInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering dimensions of the tissue block\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-block-size-input\n \n\n \n styleUrls\n ./block-size-input.component.scss\n \n\n\n\n \n templateUrl\n ./block-size-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshBlockSize\n \n \n updateBlockSizes\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n blockSize\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n blockSizeChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n\n \n \n Creates an instance of block size input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n blockSize\n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : DEFAULT_BLOCK_SIZE\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:40\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n blockSizeChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n \n \n Emitter for values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-block-size-input\"\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshBlockSize\n \n \n \n \n \n \nrefreshBlockSize()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:70\n \n \n\n\n \n \n Refreshes all block size values to 10\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateBlockSizes\n \n \n \n \n \n \nupdateBlockSizes(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:60\n \n \n\n\n \n \n Updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n \n \n Tissue Block Dimensions (mm)\n \n refresh\n\n\n\n \n Width (X)\n \n \n\n \n Height (Y)\n \n \n\n \n Depth (Z)\n \n \n\n\n \n\n \n \n ./block-size-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n height: 1.5rem;\n align-items: center;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n } \n }\n }\n\n .size-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Dimensions (mm) refresh Width (X) Height (Y) Depth (Z) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BlockSizeInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BlockSizeInputModule.html":{"url":"modules/BlockSizeInputModule.html","title":"module - BlockSizeInputModule","body":"\n \n\n\n\n\n Modules\n BlockSizeInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n BlockSizeInputComponent\n \n \n \n \n Exports\n \n \n BlockSizeInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\nimport { BlockSizeInputComponent } from './block-size-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule\n ],\n declarations: [BlockSizeInputComponent],\n exports: [BlockSizeInputComponent]\n})\nexport class BlockSizeInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConfigModule.html":{"url":"modules/ConfigModule.html","title":"module - ConfigModule","body":"\n \n\n\n\n\n Modules\n ConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\n\nimport { GLOBAL_CONFIG, globalConfigFactory } from './config';\n\n\n@NgModule({\n providers: [\n {\n provide: GLOBAL_CONFIG,\n useFactory: globalConfigFactory,\n deps: [GlobalsService]\n }\n ]\n})\nexport class ConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContainerComponent.html":{"url":"components/ContainerComponent.html","title":"component - ContainerComponent","body":"\n \n\n\n\n\n\n Components\n \n ContainerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n\n\n\n \n Description\n \n \n Main container for drawer components.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n \n exportAs\n ccfDrawerContainer\n \n\n\n\n\n\n \n providers\n \n MessageService\n \n \n\n\n \n selector\n ccf-drawer-container\n \n\n \n styleUrls\n ./container.component.scss\n \n\n\n\n \n templateUrl\n ./container.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Readonly\n className\n \n \n Private\n content1\n \n \n Private\n content2\n \n \n Private\n drawers\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n Private\n validateDrawers\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n hasWrappedContent\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n Creates an instance of container component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n The service used to send event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-container\"\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(_msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:115\n \n \n\n\n \n \n Processes event messages.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:83\n \n \n\n\n \n \n Sets up all listeners after all content has been projected.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:105\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n validateDrawers\n \n \n \n \n \n \n \n validateDrawers()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:124\n \n \n\n\n \n \n Validates the number of drawers and their positions.\n\n\n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Type : MessageChannel\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:60\n \n \n\n \n \n The connected message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content1\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(ContentComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:45\n \n \n\n \n \n Content component if provided already wrapped.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content2\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ViewChildren(ContentComponent)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:48\n \n \n\n \n \n Content component if provided without wrapping.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(DrawerComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:41\n \n \n\n \n \n Drawer components in this container.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n\n \n \n getcontent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:50\n \n \n \n \n Resolves the content component.\n\n\n \n Returns : ContentComponent\n\n \n \n \n\n \n \n \n \n \n \n \n hasWrappedContent\n \n \n\n \n \n gethasWrappedContent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:55\n \n \n \n \n Whether the content was wrapped.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, HostBinding, OnDestroy, QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { ContentComponent } from '../content/content.component';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/**\n * Helper function for creating drawer errors.\n *\n * @param position The position of the drawer.\n * @throws {Error} Error with useful message is always thrown.\n */\nfunction throwDuplicateDrawersError(position: 'start' | 'end'): never {\n throw new Error(`Multiple drawers in position ${position}`);\n}\n\n\n/**\n * Main container for drawer components.\n */\n@Component({\n selector: 'ccf-drawer-container',\n exportAs: 'ccfDrawerContainer',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n providers: [MessageService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-container';\n\n /** Drawer components in this container. */\n @ContentChildren(DrawerComponent, { descendants: true })\n private drawers: QueryList;\n\n /** Content component if provided already wrapped. */\n @ContentChildren(ContentComponent, { descendants: true })\n private content1: QueryList;\n /** Content component if provided without wrapping. */\n @ViewChildren(ContentComponent)\n private content2: QueryList;\n /** Resolves the content component. */\n private get content(): ContentComponent {\n return this.content1.first ?? this.content2.first;\n }\n\n /** Whether the content was wrapped. */\n get hasWrappedContent(): boolean {\n return this.content1.length !== 0;\n }\n\n /** The connected message channel. */\n private channel: MessageChannel;\n /** All subscriptions managed by the container. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of container component.\n *\n * @param messageService The service used to send event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Sets up all listeners after all content has been projected.\n */\n ngAfterViewInit(): void {\n this.drawers.changes.pipe(startWith(null)).subscribe(() => {\n const drawers = this.validateDrawers();\n this.channel.sendMessage({\n type: 'drawer-containers-changed',\n drawers\n });\n this.cdr.markForCheck();\n });\n\n this.content1.changes.pipe(startWith(null)).subscribe(() => {\n this.channel.sendMessage({\n type: 'content-container-changed',\n content: this.content\n });\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Processes event messages.\n *\n * @param _msg The event.\n * @returns true if change detection needs to be run.\n */\n private handleMessage(_msg: Message): boolean {\n return true;\n }\n\n /**\n * Validates the number of drawers and their positions.\n *\n * @returns A tuple containing the start and end drawers.\n */\n private validateDrawers(): [DrawerComponent | undefined, DrawerComponent | undefined] {\n const drawers = this.drawers.toArray();\n const startDrawers = drawers.filter(drawer => drawer.position === 'start');\n const endDrawers = drawers.filter(drawer => drawer.position === 'end');\n\n if (startDrawers.length > 1) {\n throwDuplicateDrawersError('start');\n }\n if (endDrawers.length > 1) {\n throwDuplicateDrawersError('end');\n }\n\n return [startDrawers[0], endDrawers[0]];\n }\n}\n\n \n\n \n \n\n\n\n \n\n\n \n\n \n \n ./container.component.scss\n \n :host {\n display: block;\n position: relative;\n z-index: 1;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContainerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent.html":{"url":"components/ContentComponent.html","title":"component - ContentComponent","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/content.component.ts\n\n\n\n \n Description\n \n \n Main content component\n\n \n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n\n \n templateUrl\n ./content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bounds$\n \n \n Readonly\n clsName\n \n \n debugMode\n \n \n Readonly\n is3DView$\n \n \n isNarrowView\n \n \n Readonly\n position$\n \n \n Private\n sensor\n \n \n showDebugButtons\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleNodeDrag\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n resetStage\n \n \n setViewType\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, registration: RegistrationState, scene: SceneState, rootRef: ElementRef, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n The model state\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n The registration state\n\n \n \n \n scene\n \n \n SceneState\n \n \n \n No\n \n \n \n \n \n \n rootRef\n \n \n ElementRef\n \n \n \n No\n \n \n \n Component's root element\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Change detector\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-content\"\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleNodeDrag\n \n \n \n \n \n \nhandleNodeDrag(event: NodeDragEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n NodeDragEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:97\n \n \n\n\n \n \n Detaches the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:84\n \n \n\n\n \n \n Sets up the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n resetStage\n \n \n \n \n \n \nresetStage()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:113\n \n \n\n\n \n \n Method to reset registration block, crosshairs, and x,y,z information.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setViewType\n \n \n \n \n \n \nsetViewType(is3DView: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:106\n \n \n\n\n \n \n Sets view type\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n is3DView\n \n boolean\n \n\n \n No\n \n\n\n \n Set view type to '3d' if this is true otherwise set it to 'register'\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bounds$\n \n \n \n \n \n \n Default value : this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n debugMode\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:53\n \n \n\n \n \n Shows / hides the state debug component for testing purposes.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n is3DView$\n \n \n \n \n \n \n Default value : this.model.viewType$.pipe(\n map(type => type === '3d')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:33\n \n \n\n \n \n Whether the view type is 3d or register\n\n \n \n\n \n \n \n \n \n \n \n \n isNarrowView\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:48\n \n \n\n \n \n Whether the content area is very narrow\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n position$\n \n \n \n \n \n \n Default value : this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sensor\n \n \n \n \n \n \n Type : ResizeSensor\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Resize detection\n\n \n \n\n \n \n \n \n \n \n \n \n showDebugButtons\n \n \n \n \n \n \n Default value : !environment.production\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:58\n \n \n\n \n \n Show debug buttons of content component\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, OnDestroy, OnInit\n} from '@angular/core';\nimport { NodeDragEvent } from 'ccf-body-ui';\nimport { ResizeSensor } from 'css-element-queries';\nimport { distinctUntilKeyChanged, map } from 'rxjs/operators';\n\nimport { environment } from '../../../environments/environment';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { SceneState } from '../../core/store/scene/scene.state';\n\n\n/**\n * Main content component\n */\n@Component({\n selector: 'ccf-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnInit, OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-content';\n\n readonly position$ = this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n );\n\n /** Whether the view type is 3d or register */\n readonly is3DView$ = this.model.viewType$.pipe(\n map(type => type === '3d')\n );\n\n readonly bounds$ = this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n );\n\n /** Whether the content area is very narrow */\n isNarrowView = false;\n\n /**\n * Shows / hides the state debug component for testing purposes.\n */\n debugMode = false;\n\n /**\n * Show debug buttons of content component\n */\n showDebugButtons = !environment.production;\n\n /** Resize detection */\n private sensor: ResizeSensor;\n\n /**\n * Creates an instance of content component.\n *\n * @param model The model state\n * @param page The page state\n * @param registration The registration state\n * @param rootRef Component's root element\n * @param cdr Change detector\n */\n constructor(\n readonly model: ModelState,\n readonly page: PageState,\n readonly registration: RegistrationState,\n readonly scene: SceneState,\n private readonly rootRef: ElementRef,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n /**\n * Sets up the resize sensor\n */\n ngOnInit(): void {\n this.sensor = new ResizeSensor(this.rootRef.nativeElement, ({ width }) => {\n const isNarrowView = width n * 1000) as [number, number];\n const { position, viewSide, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => n / 2);\n let newPosition = position;\n switch (viewSide) {\n case 'anterior':\n newPosition = { x: a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'posterior':\n newPosition = { x: -a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'left':\n newPosition = { x: position.x, y: b + dims[1], z: -a + dims[2] };\n break;\n case 'right':\n newPosition = { x: position.x, y: b + dims[1], z: a + dims[2] };\n break;\n }\n this.model.setPosition(newPosition);\n }\n }\n }\n}\n\n \n\n \n \n \n \n refresh\n\n\n\n \n\n \n\n \n \n \n X: {{ (position$ | async)?.x }}\n Y: {{ (position$ | async)?.y }}\n Z: {{ (position$ | async)?.z }}\n \n \n\n \n \n\n\n\n\n\n State\n Use callback\n Use download\n\n\n \n\n \n \n ./content.component.scss\n \n :host {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1.5rem;\n overflow: hidden;\n\n .top-bar {\n display: flex;\n justify-content: space-between;\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n }\n }\n\n .main-content {\n display: flex;\n height: calc(100% - 1rem);\n\n .body-ui {\n flex: auto;\n transition: opacity 1s;\n }\n\n .gizmo-area {\n width: 4rem;\n margin-top: 1.5rem;\n margin-left: 1.5rem;\n z-index: 10;\n\n .position-display {\n display: flex;\n justify-content: center;\n margin-bottom: 1.5rem;\n }\n\n .gizmo {\n height: 5.5rem;\n .hidden {\n opacity: 0;\n z-index: 0;\n }\n }\n }\n }\n\n // Temporary for displaying dev information\n .ccf-store-debug {\n color: white;\n position: absolute;\n top: .5rem;\n max-width: 55rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' refresh X: {{ (position$ | async)?.x }} Y: {{ (position$ | async)?.y }} Z: {{ (position$ | async)?.z }} State Use callback Use download'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent-1.html":{"url":"components/ContentComponent-1.html","title":"component - ContentComponent-1","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n\n\n\n \n Description\n \n \n Component wrapping and providing animations for center content.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n animationsEnabled\n \n \n Readonly\n className\n \n \n Private\n drawers\n \n \n faded\n \n \n leftMargin\n \n \n rightMargin\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngOnDestroy\n \n \n Private\n updateFaded\n \n \n Private\n updateMargin\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n @fadeInOut\n \n \n class\n \n \n class.cff-drawer-content-animations\n \n \n style.margin-left.px\n \n \n style.margin-right.px\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n @fadeInOut\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-content\"\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.cff-drawer-content-animations\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-left.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-right.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:70\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:60\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateFaded\n \n \n \n \n \n \n \n updateFaded()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:116\n \n \n\n\n \n \n Checks and updates the faded state based on the drawer states.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateMargin\n \n \n \n \n \n \n \n updateMargin(position: \"start\" | \"end\", opened: boolean, width: number, margin: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:103\n \n \n\n\n \n \n Updates a margin.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n position\n \n \"start\" | \"end\"\n \n\n \n No\n \n\n\n \n Start (left) or end (right) margin.\n\n \n \n \n opened\n \n boolean\n \n\n \n No\n \n\n\n \n Whether the drawer is opened.\n\n \n \n \n width\n \n number\n \n\n \n No\n \n\n\n \n The width of the drawer if opened.\n\n \n \n \n margin\n \n number\n \n\n \n No\n \n\n\n \n The margin size.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n animationsEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('class.cff-drawer-content-animations')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : DrawerComponent[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:39\n \n \n\n \n \n References to the side drawers.\n\n \n \n\n \n \n \n \n \n \n \n \n faded\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('@fadeInOut')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n leftMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-left.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n rightMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-right.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n\n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Component wrapping and providing animations for center content.\n */\n@Component({\n selector: 'ccf-drawer-content',\n template: '',\n styleUrls: ['./content.component.scss'],\n animations: [\n trigger('fadeInOut', [\n state('false', style({ opacity: 1 })),\n state('true', style({ opacity: 0 })),\n\n transition('false true', animate('1s'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-content';\n /** Whether animations are enabled. */\n @HostBinding('class.cff-drawer-content-animations') animationsEnabled = false;\n /** Left margin size. */\n @HostBinding('style.margin-left.px') leftMargin = 0;\n /** Right margin size. */\n @HostBinding('style.margin-right.px') rightMargin = 0;\n /** Whether the content is invisible. */\n @HostBinding('@fadeInOut') faded = false;\n\n /** References to the side drawers. */\n private drawers: DrawerComponent[] = [];\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of content component.\n *\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef) {\n const messages = messageService.connect(this).getMessages();\n this.subscriptions.add(messages.subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /** Cleans up all subscriptions. */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-containers-changed':\n this.drawers = msg.payload.drawers as DrawerComponent[];\n this.updateFaded();\n return true;\n\n case 'drawer-initialized':\n this.animationsEnabled = true;\n return true;\n\n case 'drawer-toggled': {\n const position = (msg.source as DrawerComponent).position;\n const { opened, width, margin } = msg.payload;\n\n this.updateMargin(position, opened, width, margin);\n this.updateFaded();\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Updates a margin.\n *\n * @param position Start (left) or end (right) margin.\n * @param opened Whether the drawer is opened.\n * @param width The width of the drawer if opened.\n * @param margin The margin size.\n */\n private updateMargin(position: 'start' | 'end', opened: boolean,\n width: number, margin: number): void {\n const offset = opened ? width + margin : margin;\n if (position === 'start') {\n this.leftMargin = offset;\n } else {\n this.rightMargin = offset;\n }\n }\n\n /**\n * Checks and updates the faded state based on the drawer states.\n */\n private updateFaded(): void {\n const [start, end] = this.drawers;\n const startExpanded = start?.opened && start?.expanded;\n const endExpanded = end?.opened && end?.expanded;\n this.faded = !!(startExpanded || endExpanded);\n }\n}\n\n \n\n\n \n \n ./content.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n z-index: 2;\n overflow: auto;\n\n &.cff-drawer-content-animations {\n transition: {\n duration: .5s;\n timing-function: ease-in-out;\n property: margin-left, margin-right;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent-1'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContentContainerChanged.html":{"url":"interfaces/ContentContainerChanged.html","title":"interface - ContentContainerChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContentContainerChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when the content component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n A reference to the new content component.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContentModule.html":{"url":"modules/ContentModule.html","title":"module - ContentModule","body":"\n \n\n\n\n\n Modules\n ContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_declarations\n\n\n\n\nContentComponent\n\nContentComponent\n\n\n\nContentModule\n\nContentModule\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContentComponent\n \n \n \n \n Imports\n \n \n StageNavModule\n \n \n VideoModalLauncherModule\n \n \n \n \n Exports\n \n \n ContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BodyUiModule, StoreDebugModule } from 'ccf-shared';\n\nimport { ContentComponent } from '../content/content.component';\nimport { StageNavModule } from './stage-nav/stage-nav.module';\nimport { VideoModalLauncherModule } from './video-modal/video-modal-launcher/video-modal-launcher.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n StageNavModule,\n MatIconModule,\n StoreDebugModule,\n VideoModalLauncherModule,\n MatRippleModule,\n BodyUiModule\n ],\n declarations: [ContentComponent],\n exports: [ContentComponent]\n})\nexport class ContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nConfigModule\n\nConfigModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ConfigModule\n \n \n StoreModule\n \n \n ThemingModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MousePositionTrackerModule } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\n\nimport { environment } from '../../environments/environment';\nimport { ConfigModule } from './services/config/config.module';\nimport { ThemingModule } from './services/theming/theming.module';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n appName: 'rui'\n }),\n MousePositionTrackerModule,\n\n ConfigModule,\n StoreModule,\n ThemingModule\n ],\n exports: []\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultIconDefinition.html":{"url":"interfaces/DefaultIconDefinition.html","title":"interface - DefaultIconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultIconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n\n\n \n Description\n \n \n Object definition for icon that should be loaded on startup.\nUnlike runtime registration object this does not need url ot html\nto be sanitized before hand.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n export interface DefaultIconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: string;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: string;\n}\n\n\n/**\n * Icons registered at startup.\n */\nexport const DEFAULT_ICONS: DefaultIconDefinition[] = [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DetailsLabelComponent.html":{"url":"components/DetailsLabelComponent.html","title":"component - DetailsLabelComponent","body":"\n \n\n\n\n\n\n Components\n \n DetailsLabelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n\n\n\n \n Description\n \n \n Reusable component that takes an array of strings and renders\nthat array as a string, separated by commas, in the icon color.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-details-label\n \n\n \n styleUrls\n ./details-label.component.scss\n \n\n\n\n \n templateUrl\n ./details-label.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n arrayToString\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n details\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n details\n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:20\n \n \n \n \n The array of details to be displayed.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-details-label\"\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n arrayToString\n \n \n \n \n \n \narrayToString(inputArray: string[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:29\n \n \n\n\n \n \n Function that handles converting the array given\ninto a formatted string for display.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n inputArray\n \n string[]\n \n\n \n No\n \n\n\n \n an array of strings to join.\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n the formatted string of items separated by a comma.\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Reusable component that takes an array of strings and renders\n * that array as a string, separated by commas, in the icon color.\n */\n@Component({\n selector: 'ccf-details-label',\n templateUrl: './details-label.component.html',\n styleUrls: ['./details-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DetailsLabelComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-details-label';\n\n /**\n * The array of details to be displayed.\n */\n @Input() details: string[] = [];\n\n /**\n * Function that handles converting the array given\n * into a formatted string for display.\n *\n * @param inputArray an array of strings to join.\n * @returns the formatted string of items separated by a comma.\n */\n arrayToString(inputArray: string[]): string {\n return inputArray.join(', ');\n }\n}\n\n \n\n \n {{ arrayToString(details) }}\n \n\n \n \n ./details-label.component.scss\n \n :host {\n display: block;\n height: 2.25rem;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ arrayToString(details) }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DetailsLabelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DetailsLabelModule.html":{"url":"modules/DetailsLabelModule.html","title":"module - DetailsLabelModule","body":"\n \n\n\n\n\n Modules\n DetailsLabelModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DetailsLabelComponent\n \n \n \n \n Exports\n \n \n DetailsLabelComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DetailsLabelComponent } from './details-label.component';\n\n@NgModule({\n declarations: [DetailsLabelComponent],\n imports: [CommonModule],\n exports: [DetailsLabelComponent]\n})\nexport class DetailsLabelModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DocumentationContent.html":{"url":"interfaces/DocumentationContent.html","title":"interface - DocumentationContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DocumentationContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n\n\n \n Description\n \n \n The structure to define how each documentation panel\nshould look like in the info dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Content inside the panel\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Title of the panel\n\n \n \n \n \n \n \n\n\n \n export interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerContainersChanged.html":{"url":"interfaces/DrawerContainersChanged.html","title":"interface - DrawerContainersChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerContainersChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n drawers\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n drawers\n \n \n \n \n \n \n \n \n drawers: [, ]\n\n \n \n\n\n \n \n Type : [, ]\n\n \n \n\n\n\n\n\n \n \n References to the drawer components. Can contain undefined values.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerInitialized.html":{"url":"interfaces/DrawerInitialized.html","title":"interface - DrawerInitialized","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerInitialized\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer has finished initializing.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DrawerModule.html":{"url":"modules/DrawerModule.html","title":"module - DrawerModule","body":"\n \n\n\n\n\n Modules\n DrawerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_DrawerModule_declarations\n\n\n\n\nContainerComponent\n\nContainerComponent\n\n\n\nDrawerModule\n\nDrawerModule\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n Exports\n \n \n ContainerComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MESSAGE_SERVICE_CONFIG, MESSAGE_SERVICE_DEFAULT_CONFIG } from '../../services/message/message.service';\nimport { ContainerComponent } from './container/container.component';\nimport { ContentComponent } from './content/content.component';\nimport { DrawerComponent } from './drawer/drawer.component';\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component';\n\n\n@NgModule({\n imports: [BrowserModule, BrowserAnimationsModule, MatIconModule],\n providers: [{\n provide: MESSAGE_SERVICE_CONFIG, useValue: MESSAGE_SERVICE_DEFAULT_CONFIG\n }],\n declarations: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent],\n exports: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent]\n})\nexport class DrawerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerToggled.html":{"url":"interfaces/DrawerToggled.html","title":"interface - DrawerToggled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerToggled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message send when the state of a drawer changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n expanded\n \n \n \n \n margin\n \n \n \n \n opened\n \n \n \n \n type\n \n \n \n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n expanded\n \n \n \n \n \n \n \n \n expanded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is expanded. Implies opened.\n\n \n \n \n \n \n \n \n \n \n margin\n \n \n \n \n \n \n \n \n margin: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Margin used by the drawer for toggle button, etc.\n\n \n \n \n \n \n \n \n \n \n opened\n \n \n \n \n \n \n \n \n opened: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is open.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of the drawer.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n\n\n \n Description\n \n \n Contains information for an extraction set\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n organ\n \n \n \n \n sites\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the set\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Organ that the extraction sites belong to\n\n \n \n \n \n \n \n \n \n \n sites\n \n \n \n \n \n \n \n \n sites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Extraction sites belonging to the organ in the extraction set\n\n \n \n \n \n \n \n\n\n \n import { VisibilityItem } from './visibility-item';\n\n/**\n * Contains information for an extraction set\n */\nexport interface ExtractionSet {\n /** Name of the set */\n name: string;\n\n /** Organ that the extraction sites belong to */\n organ?: string;\n\n /** Extraction sites belonging to the organ in the extraction set */\n sites: VisibilityItem[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ExtractionSetDropdownComponent.html":{"url":"components/ExtractionSetDropdownComponent.html","title":"component - ExtractionSetDropdownComponent","body":"\n \n\n\n\n\n\n Components\n \n ExtractionSetDropdownComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n\n\n\n \n Description\n \n \n Dropdown for selecting the extraction set\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-extraction-set-dropdown\n \n\n \n styleUrls\n ./extraction-set-dropdown.component.scss\n \n\n\n\n \n templateUrl\n ./extraction-set-dropdown.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n selected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n extractionSetChanged\n \n \n isMultiple\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n sets\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n setChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n Creates an instance of extraction set dropdown component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n sets\n \n \n \n \n Type : ExtractionSet[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:28\n \n \n \n \n Extraction sets to be displayed as options\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n setChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:23\n \n \n \n \n Emits the current extraction set when selected\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-extraction-set-dropdown\"\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n extractionSetChanged\n \n \n \n \n \n \nextractionSetChanged(value: ExtractionSet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:47\n \n \n\n\n \n \n Sets the selected extraction set and emits the extraction set\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n ExtractionSet\n \n\n \n No\n \n\n\n \n The extraction set selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isMultiple\n \n \n \n \n \n \nisMultiple()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:58\n \n \n\n\n \n \n Determines whether there is more than one extraction set\n\n\n \n \n \n Returns : boolean\n\n \n \n true if there is more than one extraction set\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n Type : ExtractionSet\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n The currently selected extraction set\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { ExtractionSet } from '../../../core/models/extraction-set';\n\n/**\n * Dropdown for selecting the extraction set\n */\n@Component({\n selector: 'ccf-extraction-set-dropdown',\n templateUrl: './extraction-set-dropdown.component.html',\n styleUrls: ['./extraction-set-dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExtractionSetDropdownComponent {\n\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-extraction-set-dropdown';\n\n /**\n * Emits the current extraction set when selected\n */\n @Output() readonly setChange = new EventEmitter();\n\n /**\n * Extraction sets to be displayed as options\n */\n @Input() sets: ExtractionSet[];\n\n /**\n * The currently selected extraction set\n */\n selected: ExtractionSet;\n\n /**\n * Creates an instance of extraction set dropdown component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Sets the selected extraction set and emits the extraction set\n *\n * @param value The extraction set selected\n */\n extractionSetChanged(value: ExtractionSet): void {\n this.selected = value;\n this.ga.event('selected_extraction_set_change', 'extraction_set_dropdown', value.name);\n this.setChange.emit(value);\n }\n\n /**\n * Determines whether there is more than one extraction set\n *\n * @returns true if there is more than one extraction set\n */\n isMultiple(): boolean {\n return this.sets.length > 1;\n }\n}\n\n \n\n \n \n Landmark Set\n \n \n {{set.name}} ({{set.sites.length}})\n \n \n\n\n \n\n \n \n ./extraction-set-dropdown.component.scss\n \n ::ng-deep .extraction-set-panel {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e;\n position: absolute;\n top: -1rem;\n left: 1rem;\n width: 10.5rem;\n\n .extraction-set-options {\n height: 2.5rem !important;\n }\n \n .extraction-set-options:first-child {\n margin-top: 0.5rem;\n }\n\n .extraction-set-options:last-child {\n margin-bottom: 0.5rem;\n }\n\n}\n\n:host {\n ::ng-deep .mat-form-field {\n width: 10.5rem;\n\n .mat-form-field-wrapper {\n padding-bottom: 0.5rem;\n .mat-form-field-flex {\n padding: 0;\n }\n \n .mat-form-field-underline {\n bottom: 0.75rem;\n }\n\n .mat-select-arrow-wrapper {\n transform: none;\n }\n }\n }\n}\n\n::ng-deep .cdk-overlay-pane {\n min-width: 0rem !important;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Landmark Set {{set.name}} ({{set.sites.length}}) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ExtractionSetDropdownComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExtractionSetDropdownModule.html":{"url":"modules/ExtractionSetDropdownModule.html","title":"module - ExtractionSetDropdownModule","body":"\n \n\n\n\n\n Modules\n ExtractionSetDropdownModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n Exports\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { ExtractionSetDropdownComponent } from './extraction-set-dropdown.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSelectModule],\n declarations: [ExtractionSetDropdownComponent],\n exports: [ExtractionSetDropdownComponent]\n})\nexport class ExtractionSetDropdownModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n baseHref\n \n \n \n Optional\n \n cancelRegistration\n \n \n \n Optional\n \n editRegistration\n \n \n \n Optional\n \n fetchPreviousRegistrations\n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n organ\n \n \n \n Optional\n \n register\n \n \n \n Optional\n \n registrationStarted\n \n \n \n Optional\n \n skipUnsavedChangesConfirmation\n \n \n \n Optional\n \n theme\n \n \n \n Optional\n \n useDownload\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseHref\n \n \n \n \n \n \n \n \n baseHref: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \n \n \n cancelRegistration: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n \n \n \n \n editRegistration: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n \n \n \n \n fetchPreviousRegistrations: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n register\n \n \n \n \n \n \n \n \n register: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useDownload\n \n \n \n \n \n \n \n \n useDownload: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { InjectionToken } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\nimport { ObservableInput } from 'rxjs';\n\n\nexport interface GlobalConfig {\n baseHref?: string;\n editRegistration?: Record;\n organ?: {\n name: 'large intestine' | 'heart' | 'kidney' | 'spleen';\n ontologyId?: string;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n };\n user?: {\n firstName: string;\n lastName: string;\n };\n\n register?: (data: string) => void;\n useDownload?: boolean;\n\n fetchPreviousRegistrations?: () => ObservableInput[]>;\n registrationStarted?: boolean;\n\n cancelRegistration?: () => void;\n\n skipUnsavedChangesConfirmation?: boolean;\n\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\ndeclare global {\n let ruiConfig: GlobalConfig;\n}\n\nexport const GLOBAL_CONFIG = new InjectionToken(\n 'Global configuration object'\n);\n\nexport function globalConfigFactory(globals: GlobalsService): GlobalConfig {\n return globals.get('ruiConfig', { user: { firstName: '', lastName: '' } });\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HeaderComponent.html":{"url":"components/HeaderComponent.html","title":"component - HeaderComponent","body":"\n \n\n\n\n\n\n Components\n \n HeaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/header/header.component.ts\n\n\n\n \n Description\n \n \n Page header\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-header\n \n\n \n styleUrls\n ./header.component.scss\n \n\n\n\n \n templateUrl\n ./header.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n homeUrl\n \n \n logoTooltip\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n\n \n \n Creates an instance of header component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page data.\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:19\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-header\"\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { PageState } from '../../core/store/page/page.state';\n\n\n/**\n * Page header\n */\n@Component({\n selector: 'ccf-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-header';\n\n @Input() homeUrl: string;\n\n @Input() logoTooltip: string;\n\n /**\n * Creates an instance of header component.\n *\n * @param page Page data.\n */\n constructor(readonly page: PageState) { }\n}\n\n \n\n \n \n\n\n\n \n chevron_left\n BACK\n \n\n\n\n \n \n \n \n\n\n\n \n\n \n \n ./header.component.scss\n \n :host {\n display: flex;\n align-items: center;\n min-height: 4rem;\n padding: 0 1.5rem;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n\n .text {\n padding: 0.25rem 0;\n height: 2rem;\n display: flex;\n align-items: center;\n font-weight: lighter;\n font-size: 1.5rem;\n }\n\n\n .link {\n display: flex;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n padding: 0.25rem 0;\n }\n\n .home {\n * {\n transition: color .6s;\n }\n\n .backbutton {\n // Material icons do not always fill the space given\n // Scale up size for icon to look correct\n font-size: 2.25rem;\n width: 2.25rem;\n height: 2.25rem;\n }\n }\n\n .portal {\n height: 100%;\n width: 25rem;\n align-items: center;\n display: flex;\n }\n\n .logo {\n width: 100%;\n height: 50%;\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .filler {\n flex-grow: 1;\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' chevron_left BACK '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HeaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/HeaderModule.html":{"url":"modules/HeaderModule.html","title":"module - HeaderModule","body":"\n \n\n\n\n\n Modules\n HeaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\n\n\nHeaderModule\n\nHeaderModule\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/header/header.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n HeaderComponent\n \n \n \n \n Exports\n \n \n HeaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { HeaderComponent } from './header.component';\n\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatTooltipModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IconDefinition.html":{"url":"interfaces/IconDefinition.html","title":"interface - IconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n Object definition for registering new svg icons.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: SafeHtml\n\n \n \n\n\n \n \n Type : SafeHtml\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: SafeResourceUrl\n\n \n \n\n\n \n \n Type : SafeResourceUrl\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IconRegistryState.html":{"url":"injectables/IconRegistryState.html","title":"injectable - IconRegistryState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n IconRegistryState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n State handling the registration of icons for use with mat-icon.\n\n \n\n \n Extends\n \n \n NgxsDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getArguments\n \n \n Private\n getMethodName\n \n \n ngxsOnInit\n \n \n registerIcon\n \n \n Private\n registerIconImpl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registry: MatIconRegistry | null, sanitizer: DomSanitizer, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:45\n \n \n\n \n \n Creates an instance of icon registry state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registry\n \n \n MatIconRegistry | null\n \n \n \n No\n \n \n \n Material icon registry.\n\n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n Service used to sanitize default imported urls and html.\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getArguments\n \n \n \n \n \n \n \n getArguments(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:147\n \n \n\n\n \n \n Selects the argument used to call the registration method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : []\n\n \n \n An array of arguments.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getMethodName\n \n \n \n \n \n \n \n getMethodName(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:127\n \n \n\n\n \n \n Selects the MatIconRegistry method used to register the icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n The name of the registry method.\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerIcon\n \n \n \n \n \n \nregisterIcon(definition: IconDefinition)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:87\n \n \n\n\n \n \n Registers a svg icon for use in mat-icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n registerIconImpl\n \n \n \n \n \n \n \n registerIconImpl(definition: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:97\n \n \n\n\n \n \n Backing implementation of registerIcon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InitializationState.html":{"url":"classes/InitializationState.html","title":"class - InitializationState","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InitializationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n\n\n \n Description\n \n \n Boolean state that can also be awaited.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deferred\n \n \n Private\n initialized\n \n \n Private\n resolve\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n valueOf\n \n \n Async\n wait\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deferred\n \n \n \n \n \n \n Default value : new Promise(resolve => {\n this.resolve = resolve;\n })\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37\n \n \n\n \n \n Promise used to await on.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n initialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35\n \n \n\n \n \n Whether this state is true or false.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n resolve\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41\n \n \n\n \n \n Resolve function for the promise.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46\n \n \n\n\n \n \n Sets the state to true and\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n valueOf\n \n \n \n \n \n \nvalueOf()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65\n \n \n\n\n \n \n Gets the boolean state of this object.\n\n\n \n \n \n Returns : boolean\n\n \n \n true if set has been called.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n wait\n \n \n \n \n \n \n \n wait()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56\n \n \n\n\n \n \n Gets a promise that resolves when this state is set to true.\n\n\n \n \n \n Returns : Promise\n\n \n \n A promise.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener,\n Input, OnDestroy, Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/** Opened/closed state. */\ntype OpenedState = 'open' | 'open-instant' | 'closed';\n/** Expanded/collapsed state. */\ntype ExpandedState = 'open' | 'open-instant' | 'closed';\n/** Expanded state relative to an opposite drawer. */\ntype ExpandedState2 = 'collapsed' | 'half' | 'extended' | 'full';\n\n/** Default animation parameters. */\nconst EXPAND_COLLAPSE_PARAMS_DEFAULT = {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n};\n\n/**\n * Boolean state that can also be awaited.\n */\nclass InitializationState {\n /** Whether this state is true or false. */\n private initialized = false;\n /** Promise used to await on. */\n private deferred = new Promise(resolve => {\n this.resolve = resolve;\n });\n /** Resolve function for the promise. */\n private resolve: () => void;\n\n /**\n * Sets the state to true and\n */\n set(): void {\n this.initialized = true;\n this.resolve();\n }\n\n /**\n * Gets a promise that resolves when this state is set to true.\n *\n * @returns A promise.\n */\n async wait(): Promise {\n return this.deferred;\n }\n\n /**\n * Gets the boolean state of this object.\n *\n * @returns true if set has been called.\n */\n valueOf(): boolean {\n return this.initialized;\n }\n}\n\n\n/**\n * Side drawer component.\n * Contains all the logic for opening/closing/expanding.\n */\n@Component({\n selector: 'ccf-drawer',\n exportAs: 'ccfDrawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss'],\n animations: [\n trigger('openClose', [\n state('open, open-instant', style({\n transform: 'none'\n })),\n state('closed', style({ })),\n\n transition('closed => open-instant', animate(0)),\n transition('closed open, open-instant => closed', animate('.5s ease-in-out'))\n ]),\n trigger('expandCollapse', [\n state('collapsed', style({})),\n state('half', style({\n width: 'calc(50% - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('extended', style({\n width: 'calc(100% - {{ width }}px - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('full', style({\n width: 'calc(100% - {{ margin }}px - {{ margin2 }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n\n transition('* *', animate('.5s ease-in-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer';\n /** Whether this is located at the end position. */\n @HostBinding('class.ccf-drawer-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Position of the drawer - start (left) or end (right). */\n @Input()// eslint-disable-line\n get position(): 'start' | 'end' {\n return this._position;\n }\n set position(value: 'start' | 'end') {\n this._position = value || 'start';\n }\n /** Property for position getter/setter. */\n private _position: 'start' | 'end' = 'start';\n\n /** Whether the drawer is opened. */\n @Input()\n @HostBinding('class.ccf-drawer-opened')\n get opened(): boolean {\n return this._opened;\n }\n set opened(value: boolean) {\n this.toggle(coerceBooleanProperty(value));\n }\n /** Property for opened getter/setter. */\n private _opened = false;\n\n /** Whether the drawer is expanded. */\n @Input()\n @HostBinding('class.ccf-drawer-expanded')\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n this.toggleExpanded(coerceBooleanProperty(value));\n }\n /** Property for expanded getter/setter */\n private _expanded = false;\n\n /** Output emitting when the drawer has opened. */\n @Output() readonly openedChange = new EventEmitter(true);\n /** Output emitting when the drawer has expanded. */\n @Output() readonly expandedChange = new EventEmitter(true);\n /** Output emitting whenever the drawer state changes. */\n @Output() readonly stateChange = new EventEmitter(true);\n\n /** Current open/close animation state. */\n @HostBinding('@openClose')\n openedState: OpenedState = 'closed';\n\n /** Expanded/collapsed state parameters. */\n @HostBinding('@expandCollapse')\n get expandedStateObj(): unknown {\n return { value: this.expandedState2, params: {\n width: this.width, margin: this.measuredMargin,\n margin2: this.margin2\n } };\n }\n /** Current expanded/collapsed animation state. */\n expandedState: ExpandedState = 'closed';\n /** Current expanded state relative to the opposite drawer. */\n private expandedState2: ExpandedState2 = 'collapsed';\n\n /** Gets the calculated width of the drawer. */\n private get measuredWidth(): number {\n if (this._measuredWidth > 0) {\n return this._measuredWidth;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const bbox = element.getBoundingClientRect();\n const width = bbox.right - bbox.left;\n if (width === 0) {\n return 0;\n }\n\n this._measuredWidth = width;\n return width;\n }\n /** Cached measured width. */\n private _measuredWidth = 0;\n /** Width of opposite drawer. */\n private width = 0;\n\n /** Gets the calculated margin of the drawer. */\n private get measuredMargin(): number {\n if (this._measuredMargin > 0) {\n return this._measuredMargin;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const styles = globalThis.getComputedStyle(element);\n const property = this.position === 'start' ? 'margin-right' : 'margin-left';\n const value = styles.getPropertyValue(property);\n const margin = Number(value.slice(0, -2));\n\n this._measuredMargin = margin;\n return margin;\n }\n /** Cached measured margin. */\n private _measuredMargin = 0;\n /** Margin of the opposite drawer. */\n private margin2 = 0;\n\n /** Initialization state. */\n private initialized = new InitializationState();\n /** Connected message channel. */\n private channel: MessageChannel;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of drawer component.\n *\n * @param messageService Service for sending/receiving event messages.\n * @param cdr The change detector reference.\n * @param element Reference to components HTML element.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef,\n private element: ElementRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n this.initialized.set();\n setTimeout(() => this.channel.sendMessage({ type: 'drawer-initialized' }));\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the drawer.\n */\n open(): void {\n this.toggle(true);\n }\n\n /**\n * Closes the drawer.\n */\n close(): void {\n this.toggle(false);\n }\n\n /**\n * Toggles the drawer between opened and closed.\n *\n * @param [opened] Whether to open or close the drawer.\n */\n toggle(opened = !this.opened): void {\n if (this.opened === opened) {\n return;\n }\n\n if (!opened) {\n this.openedState = 'closed';\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n this._expanded = false;\n } else if (this.initialized.valueOf()) {\n this.openedState = 'open';\n } else {\n this.openedState = 'open-instant';\n }\n\n this._opened = opened;\n this.sendToggle();\n }\n\n /**\n * Expands the drawer.\n */\n openExpanded(): void {\n this.toggleExpanded(true);\n }\n\n /**\n * Collapses the drawer.\n */\n closeExpanded(): void {\n this.toggleExpanded(false);\n }\n\n /**\n * Toggles the drawer between expanded and collapsed.\n *\n * @param [expanded] Whether to expand or collapse the drawer.\n */\n toggleExpanded(expanded = !this.expanded): void {\n if (this.expanded === expanded) {\n return;\n }\n\n if (!expanded) {\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n } else if (this.initialized.valueOf()) {\n this.expandedState = 'open';\n } else {\n this.expandedState = 'open-instant';\n }\n\n this._expanded = expanded;\n this.sendToggle();\n }\n\n /**\n * Listener to open/close animation completion.\n */\n @HostListener('@openClose.done')\n closeOpenDone(): void {\n this.openedChange.emit(this.opened);\n }\n\n /**\n * Listener to expand/collapse animation completion.\n */\n @HostListener('@expandCollapse.done')\n expandCollapseDone(): void {\n this.expandedChange.emit(this.expanded);\n }\n\n /**\n * Sends a toggle event to the channel.\n * Waits until initialization is completed before sending.\n */\n private async sendToggle(): Promise {\n await this.initialized.wait();\n this.channel.sendMessage({\n type: 'drawer-toggled',\n opened: this.opened,\n expanded: this.expanded,\n width: this.measuredWidth,\n margin: this.measuredMargin\n });\n this.stateChange.emit();\n }\n\n /**\n * Processes an event.\n *\n * @param msg The event.\n * @returns true if change detection should run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-toggled': {\n const other = msg.source as DrawerComponent;\n this.syncExpanded(other);\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Syncs the drawer widths and margin against the opposite drawer.\n *\n * @param other The opposite drawer.\n */\n private syncExpanded(other: DrawerComponent): void {\n if (this.expanded || other.expanded) {\n if (this.expanded && other.expanded) {\n this.expandedState2 = other.expandedState2 = 'half';\n } else if (this.expanded) {\n if (other.opened) {\n this.expandedState2 = 'extended';\n this.width = other.measuredWidth + other.measuredMargin;\n } else {\n this.expandedState2 = 'full';\n this.margin2 = other.measuredMargin;\n }\n } else {\n if (this.opened) {\n other.expandedState2 = 'extended';\n other.width = this.measuredWidth + this.measuredMargin;\n } else {\n other.expandedState2 = 'full';\n other.margin2 = this.measuredMargin;\n }\n }\n }\n }\n\n /** Workaround for getter/setter pair not accepting different types. */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_position: '' | 'start' | 'end';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_opened: BooleanInput;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_expanded: BooleanInput;\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/JsonFileReaderComponent.html":{"url":"components/JsonFileReaderComponent.html","title":"component - JsonFileReaderComponent","body":"\n \n\n\n\n\n\n Components\n \n JsonFileReaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-json-file-reader\n \n\n \n styleUrls\n ./json-file-reader.component.scss\n \n\n\n\n \n templateUrl\n ./json-file-reader.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n fileInput\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleFile\n \n \n triggerFileInput\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n parsedJson\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n\n \n \n Creates an instance of json file reader component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Upload'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:17\n \n \n \n \n Allows the label on the upload button to be customized.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n parsedJson\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n \n \n Emits the json object of any files uploaded.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-json-file-reader\"\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleFile\n \n \n \n \n \n \nhandleFile(event: InputEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:43\n \n \n\n\n \n \n Takes in a json file and emits the parsed json object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n InputEvent\n \n\n \n No\n \n\n\n \n file input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n triggerFileInput\n \n \n \n \n \n \ntriggerFileInput()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:33\n \n \n\n\n \n \n Method used to trigger the file input element's click handler\nfrom the placeholder button used for styling purposes.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n fileInput\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('fileInput')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:14\n \n \n\n \n \n File Input element, used to manually trigger the click event.\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n@Component({\n selector: 'ccf-json-file-reader',\n templateUrl: './json-file-reader.component.html',\n styleUrls: ['./json-file-reader.component.scss']\n})\nexport class JsonFileReaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-json-file-reader';\n /** File Input element, used to manually trigger the click event. */\n @ViewChild('fileInput') fileInput: ElementRef;\n\n /** Allows the label on the upload button to be customized. */\n @Input() label = 'Upload';\n\n /** Emits the json object of any files uploaded. */\n @Output() readonly parsedJson = new EventEmitter();\n\n /**\n * Creates an instance of json file reader component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Method used to trigger the file input element's click handler\n * from the placeholder button used for styling purposes.\n */\n triggerFileInput(): void {\n const fileInputElement: HTMLElement = this.fileInput.nativeElement;\n fileInputElement.click();\n }\n\n /**\n * Takes in a json file and emits the parsed json object.\n *\n * @param event file input event\n */\n handleFile(event: InputEvent): void {\n const inputTarget = event.target as HTMLInputElement;\n if (!inputTarget.files) {\n return;\n }\n\n const file = inputTarget.files[0];\n const fileReader = new FileReader();\n\n fileReader.onload = () => {\n const json = JSON.parse(fileReader.result as string) as unknown;\n this.ga.event('json_file_load_end', 'json_file_reader');\n this.parsedJson.emit(json);\n };\n\n this.ga.event('json_file_load_start', 'json_file_reader');\n fileReader.readAsText(file);\n }\n}\n\n \n\n \n {{ label }}\n\n\n \n\n \n \n ./json-file-reader.component.scss\n \n :host {\n .upload-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n cursor: pointer;\n font-weight: 500;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ label }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'JsonFileReaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/JsonFileReaderModule.html":{"url":"modules/JsonFileReaderModule.html","title":"module - JsonFileReaderModule","body":"\n \n\n\n\n\n Modules\n JsonFileReaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n JsonFileReaderComponent\n \n \n \n \n Exports\n \n \n JsonFileReaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JsonFileReaderComponent } from './json-file-reader.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n\n\n@NgModule({\n declarations: [JsonFileReaderComponent],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [JsonFileReaderComponent]\n})\nexport class JsonFileReaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LabeledSlideToggleComponent.html":{"url":"components/LabeledSlideToggleComponent.html","title":"component - LabeledSlideToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n LabeledSlideToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n\n\n\n \n Description\n \n \n Generic toggle slider component\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-labeled-slide-toggle\n \n\n \n styleUrls\n ./labeled-slide-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./labeled-slide-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateToggle\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n labels\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n\n \n \n Creates an instance of labeled slide toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n labels\n \n \n \n \n Type : [string, string]\n\n \n \n \n \n Default value : ['Left', 'Right']\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:24\n \n \n \n \n The two selection options to be toggled\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:29\n \n \n \n \n Input value for toggle slider\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n valueChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n \n \n Emits the datatype with the currently selected option\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-labeled-slide-toggle\"\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateToggle\n \n \n \n \n \n \nupdateToggle(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:61\n \n \n\n\n \n \n Updates and emits the currently selected option\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n The current toggle state (true=left, false=right)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n\n \n \n getleft()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:51\n \n \n \n \n Determines if left toggle option is selected\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Generic toggle slider component\n */\n@Component({\n selector: 'ccf-labeled-slide-toggle',\n templateUrl: './labeled-slide-toggle.component.html',\n styleUrls: ['./labeled-slide-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LabeledSlideToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-labeled-slide-toggle';\n\n /**\n * The two selection options to be toggled\n */\n @Input() labels: [string, string] = ['Left', 'Right'];\n\n /**\n * Input value for toggle slider\n */\n @Input() value = 'Left';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Emits the datatype with the currently selected option\n */\n @Output() readonly valueChange = new EventEmitter();\n\n /**\n * Creates an instance of labeled slide toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Determines if left toggle option is selected\n */\n get left(): boolean {\n const { value, labels } = this;\n return value !== labels[1];\n }\n\n /**\n * Updates and emits the currently selected option\n *\n * @param selection The current toggle state (true=left, false=right)\n */\n updateToggle(selection: boolean): void {\n this.value = selection ? this.labels[0] : this.labels[1];\n this.ga.event('slide_toggle_toggled', 'slide_toggle', this.value);\n this.valueChange.emit(this.value);\n }\n}\n\n \n\n \n {{labels[0]}}\n\n{{labels[1]}}\n\n \n\n \n \n ./labeled-slide-toggle.component.scss\n \n :host{\n .slide-label {\n margin: 0 1rem;\n transition: color .6s;\n cursor: pointer;\n }\n \n .disabled {\n opacity: 30%;\n cursor: not-allowed;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{labels[0]}}{{labels[1]}}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LabeledSlideToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LabeledSlideToggleModule.html":{"url":"modules/LabeledSlideToggleModule.html","title":"module - LabeledSlideToggleModule","body":"\n \n\n\n\n\n Modules\n LabeledSlideToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LabeledSlideToggleComponent\n \n \n \n \n Exports\n \n \n LabeledSlideToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\n\nimport { LabeledSlideToggleComponent } from './labeled-slide-toggle.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSlideToggleModule],\n declarations: [LabeledSlideToggleComponent],\n exports: [LabeledSlideToggleComponent]\n})\nexport class LabeledSlideToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LeftSidebarComponent.html":{"url":"components/LeftSidebarComponent.html","title":"component - LeftSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n LeftSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n\n\n\n \n Description\n \n \n The left sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-left-sidebar\n \n\n \n styleUrls\n ./left-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./left-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n detailsLabels$\n \n \n extractionSiteTooltip\n \n \n organList\n \n \n Readonly\n organSelected$\n \n \n previousVisibilityItems\n \n \n Readonly\n sexByLabel$\n \n \n Readonly\n sideByLabel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n setSexFromLabel\n \n \n setSideFromLabel\n \n \n togglePreviousRegistrationBlocks\n \n \n updateExtractionSiteTooltip\n \n \n updateRegistration\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disableSlider\n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, registration: RegistrationState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disableSlider\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:26\n \n \n \n \n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:29\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-left-sidebar\"\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:89\n \n \n\n\n \n \n Sets sex from sex toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Selected sex\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSideFromLabel\n \n \n \n \n \n \nsetSideFromLabel(label: \"L\" | \"R\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:98\n \n \n\n\n \n \n Sets side from side toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"L\" | \"R\"\n \n\n \n No\n \n\n\n \n Selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n togglePreviousRegistrationBlocks\n \n \n \n \n \n \ntogglePreviousRegistrationBlocks(visible: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:110\n \n \n\n\n \n \n Handles toggling previous registration blocks visibility.\nWhen making them visible, it updates current structures to 20%\nopacity; when making not visible it sets them back to their\nprevious opacity.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n visible\n \n boolean\n \n\n \n No\n \n\n\n \n the state to set the visibility to.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateExtractionSiteTooltip\n \n \n \n \n \n \nupdateExtractionSiteTooltip(item: VisibilityItem | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:76\n \n \n\n\n \n \n Updates extraction site tooltip to either the VisibilityItem passed in's\ntooltip property, or an empty string if undefined.\nundefined.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem | undefined\n \n\n \n No\n \n\n\n \n The VisibilityItem which we want to show the tooltip of, or\nundefined.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateRegistration\n \n \n \n \n \n \nupdateRegistration(event: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:123\n \n \n\n\n \n \n Event handler for capturing uploaded json and passing it along to\nthe relevant registration state method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n the new registration state json\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n detailsLabels$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n extractionSiteTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:52\n \n \n\n \n \n Variable that keeps track of the extraction site tooltip to display on\nthe stage when hovered.\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organSelected$\n \n \n \n \n \n \n Default value : this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n previousVisibilityItems\n \n \n \n \n \n \n Default value : [...this.model.snapshot.anatomicalStructures] as VisibilityItem[]\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:58\n \n \n\n \n \n Keeps track of the previousVisibility items so we can set the opacity\nback to what it was before we changed them to 20%\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sideByLabel$\n \n \n \n \n \n \n Default value : this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:35\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { VisibilityItem } from '../../core/models/visibility-item';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { RUI_ORGANS } from './../../core/store/model/model.state';\n\n\n/**\n * The left sidebar\n */\n@Component({\n selector: 'ccf-left-sidebar',\n templateUrl: './left-sidebar.component.html',\n styleUrls: ['./left-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LeftSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-left-sidebar';\n\n @Input() disableSlider = false;\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n readonly sideByLabel$ = this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n );\n\n readonly organSelected$ = this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n );\n\n readonly detailsLabels$: Observable = combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n );\n\n /**\n * Variable that keeps track of the extraction site tooltip to display on\n * the stage when hovered.\n */\n extractionSiteTooltip = '';\n\n /**\n * Keeps track of the previousVisibility items so we can set the opacity\n * back to what it was before we changed them to 20%\n */\n previousVisibilityItems = [...this.model.snapshot.anatomicalStructures] as VisibilityItem[];\n\n organList = RUI_ORGANS;\n\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n readonly registration: RegistrationState\n ) { }\n\n\n /**\n * Updates extraction site tooltip to either the VisibilityItem passed in's\n * tooltip property, or an empty string if undefined.\n *\n * @param item The VisibilityItem which we want to show the tooltip of, or\n * undefined.\n */\n updateExtractionSiteTooltip(item: VisibilityItem | undefined): void {\n if (item?.tooltip) {\n this.extractionSiteTooltip = item.tooltip;\n } else {\n this.extractionSiteTooltip = '';\n }\n }\n\n /**\n * Sets sex from sex toggle slider\n *\n * @param label Selected sex\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.model.setSex(label === 'Female' ? 'female' : 'male');\n }\n\n /**\n * Sets side from side toggle slider\n *\n * @param label Selected side\n */\n setSideFromLabel(label: 'L' | 'R'): void {\n this.model.setSide(label === 'L' ? 'left' : 'right');\n }\n\n /**\n * Handles toggling previous registration blocks visibility.\n * When making them visible, it updates current structures to 20%\n * opacity; when making not visible it sets them back to their\n * previous opacity.\n *\n * @param visible the state to set the visibility to.\n */\n togglePreviousRegistrationBlocks(visible: boolean): void {\n if (visible) {\n this.previousVisibilityItems = [...this.model.snapshot.anatomicalStructures];\n }\n this.model.toggleRegistrationBlocksVisibility(visible, this.previousVisibilityItems);\n }\n\n /**\n * Event handler for capturing uploaded json and passing it along to\n * the relevant registration state method.\n *\n * @param event the new registration state json\n */\n updateRegistration(event: SpatialEntityJsonLd): void {\n this.registration.editRegistration(event);\n }\n}\n\n \n\n \n \n \n \n \n \n \n Donor Sex:\n \n \n \n\n \n\n \n \n Anatomical Structures\n \n\n \n \n \n \n \n\n \n\n \n \n Landmarks\n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n\n 0\">\n {{ extractionSiteTooltip }}\n \n\n \n\n \n \n\n\n \n\n \n \n ./left-sidebar.component.scss\n \n :host {\n\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n min-height: 100%;\n\n .space {\n height: 3rem;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n .ccf-organ-selector {\n margin-top: 1.5rem;\n }\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n mat-expansion-panel-header {\n .expansion-title {\n font-size: 1rem;\n font-weight: 600;\n }\n }\n }\n\n ::ng-deep .mat-expansion-panel-body {\n padding: 0;\n }\n\n .extraction-menu,\n .anatomical-structures-menu {\n ::ng-deep .expansion-header {\n -webkit-user-select: none;\n -moz-user-select: none;\n padding: 0;\n font-weight: bold;\n height: 3rem;\n\n .mat-expansion-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n }\n }\n\n .expansion-content {\n margin-bottom: 0.75rem;\n text-align: center;\n margin-top: 2.25rem;\n .expansion-placeholder {\n width: 100%;\n font-size: 0.9rem;\n font-weight: 400;\n }\n }\n }\n\n .extraction-site-tooltip {\n position: absolute;\n top: 4rem;\n left: 27rem;\n width: 21rem;\n padding: 1rem;\n border-radius: 0.5rem;\n border: 1px solid;\n z-index: 2;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Anatomical Structures Landmarks 0\"> {{ extractionSiteTooltip }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LeftSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LeftSidebarModule.html":{"url":"modules/LeftSidebarModule.html","title":"module - LeftSidebarModule","body":"\n \n\n\n\n\n Modules\n LeftSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LeftSidebarComponent\n \n \n \n \n Imports\n \n \n DetailsLabelModule\n \n \n ExtractionSetDropdownModule\n \n \n JsonFileReaderModule\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n VisibilityMenuModule\n \n \n VisibilityToggleModule\n \n \n VisibilityToggleModule\n \n \n \n \n Exports\n \n \n LeftSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { DetailsLabelModule } from '../../shared/components/details-label/details-label.module';\nimport { ExtractionSetDropdownModule } from '../../shared/components/extraction-set-dropdown/extraction-set-dropdown.module';\nimport { LabeledSlideToggleModule } from '../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { NameInputModule } from '../../shared/components/name-input/name-input.module';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { VisibilityMenuModule } from '../../shared/components/visibility-menu/visibility-menu.module';\nimport { VisibilityToggleModule } from '../../shared/components/visibility-toggle/visibility-toggle.module';\nimport { LeftSidebarComponent } from './left-sidebar.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { JsonFileReaderModule } from '../../shared/components/json-file-reader/json-file-reader.module';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatExpansionModule,\n MatIconModule,\n MatTooltipModule,\n\n MatDividerModule,\n DetailsLabelModule,\n LabeledSlideToggleModule,\n NameInputModule,\n VisibilityToggleModule,\n ExtractionSetDropdownModule,\n OpacitySliderModule,\n VisibilityMenuModule,\n VisibilityToggleModule,\n JsonFileReaderModule\n ],\n declarations: [LeftSidebarComponent],\n exports: [LeftSidebarComponent]\n})\nexport class LeftSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Message.html":{"url":"interfaces/Message.html","title":"interface - Message","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Message\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n A message sent on a channel.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n payload\n \n \n \n \n source\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Unique identifier for a message.\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n \n \n payload: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Data associated with this message.\n\n \n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \n\n \n \n\n\n\n\n\n\n\n \n \n Sender of the message.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MessageChannel.html":{"url":"classes/MessageChannel.html","title":"class - MessageChannel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MessageChannel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Channel for sending and receiving messages.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getMessages\n \n \n getMessagesFromSource\n \n \n getMessagesFromSources\n \n \n Private\n nextMessageId\n \n \n sendMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source, channel: Subject>, messages: Observable>)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Creates a new channel.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n source\n \n \n \n \n \n No\n \n \n \n The message source.\n\n \n \n \n channel\n \n \n Subject>\n \n \n \n No\n \n \n \n The message send subject.\n\n \n \n \n messages\n \n \n Observable>\n \n \n \n No\n \n \n \n The message receive observable.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Counter used to give each message a unique id.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getMessages\n \n \n \n \n \n \ngetMessages()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:83\n \n \n\n\n \n \n Gets an observable emitting all messages except for those sent by this source.\n\n\n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSource\n \n \n \n \n \n \ngetMessagesFromSource(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:93\n \n \n\n\n \n \n Gets an observable emitting messages sent from a specific source.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSources\n \n \n \n \n \n \ngetMessagesFromSources(sources: [])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:103\n \n \n\n\n \n \n Gets an observable emitting messages sent from any of the specified sources.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n sources\n \n []\n \n\n \n No\n \n\n\n \n The sources messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n nextMessageId\n \n \n \n \n \n \n \n nextMessageId()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:112\n \n \n\n\n \n \n Creates a unique message identifier.\n\n\n \n \n \n Returns : number\n\n \n \n The identifier number.\n\n \n \n \n \n \n \n \n \n \n \n \n sendMessage\n \n \n \n \n \n \nsendMessage(payload: T)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:70\n \n \n\n\n \n \n Sends a single message with a payload.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n payload\n \n T\n \n\n \n No\n \n\n\n \n The message payload.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MessageService.html":{"url":"injectables/MessageService.html","title":"injectable - MessageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n MessageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Service for creating message channels.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Private\n messages\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: MessageServiceConfig, parent: MessageService | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n Creates an instance of message service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n config\n \n \n MessageServiceConfig\n \n \n \n No\n \n \n \n The configuration for this service.\n\n \n \n \n parent\n \n \n MessageService | null\n \n \n \n No\n \n \n \n The parent message service, if any.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:163\n \n \n\n\n \n \n Connects to a message channel.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source of messages sent.\n\n \n \n \n \n \n \n \n \n Returns : MessageChannel\n\n \n \n A new connected message channel.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:153\n \n \n\n\n \n \n Clean up.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Default value : new Subject>()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:128\n \n \n\n \n \n The message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n messages\n \n \n \n \n \n \n Type : Observable>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n The message listener.\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MessageServiceConfig.html":{"url":"interfaces/MessageServiceConfig.html","title":"interface - MessageServiceConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MessageServiceConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Message service configuration options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n isolated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to listen to parent messages.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MetaDataField.html":{"url":"interfaces/MetaDataField.html","title":"interface - MetaDataField","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MetaDataField\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n label\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MetaDataField {\n label: string;\n value: string;\n}\n\nexport type MetaData = MetaDataField[];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ModelStateModel.html":{"url":"interfaces/ModelStateModel.html","title":"interface - ModelStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ModelStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Data contained in the stage state.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n blockSize\n \n \n \n \n extractionSets\n \n \n \n \n extractionSites\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n organ\n \n \n \n \n organDimensions\n \n \n \n Optional\n \n organIri\n \n \n \n \n position\n \n \n \n \n rotation\n \n \n \n Optional\n \n sex\n \n \n \n \n showPrevious\n \n \n \n Optional\n \n side\n \n \n \n \n slicesConfig\n \n \n \n \n viewSide\n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Anatomical structures for the organ\n\n \n \n \n \n \n \n \n \n \n blockSize\n \n \n \n \n \n \n \n \n blockSize: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Block size\n\n \n \n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: ExtractionSet[]\n\n \n \n\n\n \n \n Type : ExtractionSet[]\n\n \n \n\n\n\n\n\n \n \n Extraction sets\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Possible extraction sites\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model label\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n Organ name\n\n \n \n \n \n \n \n \n \n \n organDimensions\n \n \n \n \n \n \n \n \n organDimensions: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Reference Organ Dimensions\n\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n \n \n \n \n organIri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Reference Organ IRI\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model position\n\n \n \n \n \n \n \n \n \n \n rotation\n \n \n \n \n \n \n \n \n rotation: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model rotation\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex if applicable\n\n \n \n \n \n \n \n \n \n \n showPrevious\n \n \n \n \n \n \n \n \n showPrevious: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether previous registration blocks are visible\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Side if applicable\n\n \n \n \n \n \n \n \n \n \n slicesConfig\n \n \n \n \n \n \n \n \n slicesConfig: SlicesConfig\n\n \n \n\n\n \n \n Type : SlicesConfig\n\n \n \n\n\n\n\n\n \n \n Slice configuration\n\n \n \n \n \n \n \n \n \n \n viewSide\n \n \n \n \n \n \n \n \n viewSide: ViewSide\n\n \n \n\n\n \n \n Type : ViewSide\n\n \n \n\n\n\n\n\n \n \n View side\n\n \n \n \n \n \n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n viewType: ViewType\n\n \n \n\n\n \n \n Type : ViewType\n\n \n \n\n\n\n\n\n \n \n View type\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/NameInputComponent.html":{"url":"components/NameInputComponent.html","title":"component - NameInputComponent","body":"\n \n\n\n\n\n\n Components\n \n NameInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n\n\n\n \n Description\n \n \n Component for inputting the researcher's name\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-name-input\n \n\n \n styleUrls\n ./name-input.component.scss\n \n\n\n\n \n templateUrl\n ./name-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _name\n \n \n Readonly\n clsName\n \n \n firstNameValidator\n \n \n lastNameValidator\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateName\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n name\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n nameChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n\n \n \n Creates an instance of name input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n name\n \n \n \n \n Type : UserName\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n nameChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n \n \n Emits a UserName object\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-name-input\"\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateName\n \n \n \n \n \n \nupdateName(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:83\n \n \n\n\n \n \n Updates username with a new entry and emits the UserName object\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n firstName or lastName\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _name\n \n \n \n \n \n \n Type : UserName\n\n \n \n \n \n Default value : {\n firstName: '',\n lastName: ''\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n firstNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:40\n \n \n\n \n \n Used to validate the first name input field.\n\n \n \n\n \n \n \n \n \n \n \n \n lastNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:44\n \n \n\n \n \n Used to validate the last name input field.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n\n \n Returns : UserName\n\n \n \n \n\n \n \n setname(value: UserName)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:54\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n UserName\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n \n \n First Name \n \n\n\n\n Last Name \n \n\n\n \n\n \n \n ./name-input.component.scss\n \n :host {\n display: flex;\n\n .field {\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: left;\n width: 100%;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' First Name Last Name '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'NameInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NameInputModule.html":{"url":"modules/NameInputModule.html","title":"module - NameInputModule","body":"\n \n\n\n\n\n Modules\n NameInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\n\n\nNameInputModule\n\nNameInputModule\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n NameInputComponent\n \n \n \n \n Exports\n \n \n NameInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputComponent } from './name-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatSlideToggleModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule\n ],\n declarations: [NameInputComponent],\n exports: [NameInputComponent]\n})\nexport class NameInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OrganData.html":{"url":"interfaces/OrganData.html","title":"interface - OrganData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OrganData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n organ\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PageState.html":{"url":"injectables/PageState.html","title":"injectable - PageState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n PageState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n General page global state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n Readonly\n registrationStarted$\n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n Readonly\n user$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n cancelRegistration\n \n \n clearHasChanges\n \n \n Private\n initSkipConfirmationListeners\n \n \n ngxsOnInit\n \n \n registrationStarted\n \n \n setHasChanges\n \n \n setUseCancelRegistrationCallback\n \n \n setUserName\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n globalSkipConfirmation$\n \n \n hasChanges$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:78\n \n \n\n \n \n Creates an instance of page state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \ncancelRegistration()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:110\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n clearHasChanges\n \n \n \n \n \n \nclearHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:162\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n initSkipConfirmationListeners\n \n \n \n \n \n \n \n initSkipConfirmationListeners()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:168\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:94\n \n \n\n\n \n \n Initializes this service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \nregistrationStarted()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:145\n \n \n\n\n \n \n Sets registrationStarted to true (when initial registration modal is closed)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setHasChanges\n \n \n \n \n \n \nsetHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:152\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setUseCancelRegistrationCallback\n \n \n \n \n \n \nsetUseCancelRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUserName\n \n \n \n \n \n \nsetUserName(name: Pick)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:135\n \n \n\n\n \n \n Sets the name of the active user.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n name\n \n Pick\n \n\n \n No\n \n\n\n \n The first and last name\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('registrationCallbackSet'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n registrationStarted$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluckUnique('registrationStarted'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:58\n \n \n\n \n \n RegistrationStated observable\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('useCancelRegistrationCallback'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n user$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('user'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:56\n \n \n\n \n \n Active user observable\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n\n \n \n getskipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:63\n \n \n\n \n \n \n \n \n \n \n globalSkipConfirmation$\n \n \n\n \n \n getglobalSkipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:68\n \n \n\n \n \n \n \n \n \n \n hasChanges$\n \n \n\n \n \n gethasChanges$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:76\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PageStateModel.html":{"url":"interfaces/PageStateModel.html","title":"interface - PageStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PageStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n Page state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hasChanges\n \n \n \n \n registrationCallbackSet\n \n \n \n \n registrationStarted\n \n \n \n \n skipConfirmation\n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hasChanges\n \n \n \n \n \n \n \n \n hasChanges: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n \n \n \n \n \n skipConfirmation\n \n \n \n \n \n \n \n \n skipConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n \n \n \n \n useCancelRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: Person\n\n \n \n\n\n \n \n Type : Person\n\n \n \n\n\n\n\n\n \n \n Active user\n\n \n \n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Person.html":{"url":"interfaces/Person.html","title":"interface - Person","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Person\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n A record with information about a single person\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceDataState.html":{"url":"injectables/ReferenceDataState.html","title":"injectable - ReferenceDataState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ReferenceDataState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n \n Description\n \n \n Data for the main 3d model display\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getOrganData\n \n \n getReferenceOrganIri\n \n \n Private\n getSourceDB\n \n \n ngxsOnInit\n \n \n normalizePlacement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globals: GlobalsService, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:75\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globals\n \n \n GlobalsService\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getOrganData\n \n \n \n \n \n \ngetOrganData(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:155\n \n \n\n\n \n \n Looks up organ information from an IRI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n The IRI\n\n \n \n \n \n \n \n \n \n Returns : OrganData | undefined\n\n \n \n A populated organ data if the IRI is valid, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganIri\n \n \n \n \n \n \ngetReferenceOrganIri(organ: string, sex?: \"Male\" | \"Female\" | string, side?: \"Left\" | \"Right\" | string, organInfo?: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:135\n \n \n\n\n \n \n Looks up an IRI for a potential reference organ.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n string\n \n\n \n No\n \n\n\n \n the organ\n\n \n \n \n sex\n \n \"Male\" | \"Female\" | string\n \n\n \n Yes\n \n\n\n \n the sex: male, female, or undefined\n\n \n \n \n side\n \n \"Left\" | \"Right\" | string\n \n\n \n Yes\n \n\n\n \n the side: left, right, or undefined\n\n \n \n \n organInfo\n \n OrganInfo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : string | undefined\n\n \n \n An IRI if there is a reference organ for this state, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getSourceDB\n \n \n \n \n \n \n \n getSourceDB()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:100\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:87\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n normalizePlacement\n \n \n \n \n \n \nnormalizePlacement(place: SpatialPlacementJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n place\n \n SpatialPlacementJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialPlacementJsonLd\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReferenceDataStateModel.html":{"url":"interfaces/ReferenceDataStateModel.html","title":"interface - ReferenceDataStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReferenceDataStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n extractionSets\n \n \n \n \n organIRILookup\n \n \n \n \n organSpatialEntities\n \n \n \n \n placementPatches\n \n \n \n \n sceneNodeLookup\n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organIRILookup\n \n \n \n \n \n \n \n \n organIRILookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organSpatialEntities\n \n \n \n \n \n \n \n \n organSpatialEntities: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placementPatches\n \n \n \n \n \n \n \n \n placementPatches: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sceneNodeLookup\n \n \n \n \n \n \n \n \n sceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n simpleSceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationContentComponent.html":{"url":"components/RegistrationContentComponent.html","title":"component - RegistrationContentComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n\n\n\n \n Description\n \n \n Component containing content of the initial registration modal\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-content\n \n\n \n styleUrls\n ./registration-content.component.scss\n \n\n\n\n \n templateUrl\n ./registration-content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n currentOrgan\n \n \n currentSex\n \n \n Public\n dialogRef\n \n \n nameValid\n \n \n organList\n \n \n organSelected\n \n \n Readonly\n sexByLabel$\n \n \n sexSelected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkNameValid\n \n \n closeDialog\n \n \n organSelect\n \n \n registerButtonClick\n \n \n setSexFromLabel\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, dialogRef: MatDialogRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n \n \n Creates an instance of the registration dialog\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page state\n\n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state\n\n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n Registration dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-content\"\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkNameValid\n \n \n \n \n \n \ncheckNameValid(event: Pick)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:75\n \n \n\n\n \n \n Checks to see if a first and last name has been entered\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Pick\n \n\n \n No\n \n\n\n \n Name input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n closeDialog\n \n \n \n \n \n \ncloseDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:109\n \n \n\n\n \n \n Closes the dialog and sets the correct sex and organ in the model state\nUpdates page state to signal registration has started\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n organSelect\n \n \n \n \n \n \norganSelect(organ: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:84\n \n \n\n\n \n \n Updates current organ selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n OrganInfo\n \n\n \n No\n \n\n\n \n Organ selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:95\n \n \n\n\n \n \n Handles button click\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n The click event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n Returns nothing is no organ is selected\n\n \n \n \n \n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:65\n \n \n\n\n \n \n Updates current sex selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Sex selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n currentOrgan\n \n \n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:40\n \n \n\n \n \n Current organ selected\n\n \n \n\n \n \n \n \n \n \n \n \n currentSex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:37\n \n \n\n \n \n Current sex selected\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:55\n \n \n\n \n \n Registration dialog\n \n \n\n \n \n \n \n \n \n \n \n nameValid\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:28\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n organSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:34\n \n \n\n \n \n Whether an organ has been selected\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:23\n \n \n\n \n \n Current sex in the model state\n\n \n \n\n \n \n \n \n \n \n \n \n sexSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PageState, Person } from '../../../core/store/page/page.state';\nimport { ModelState, RUI_ORGANS } from '../../../core/store/model/model.state';\nimport { map } from 'rxjs/operators';\nimport { OrganInfo } from 'ccf-shared';\n\n\n/**\n * Component containing content of the initial registration modal\n */\n@Component({\n selector: 'ccf-registration-content',\n templateUrl: './registration-content.component.html',\n styleUrls: ['./registration-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RegistrationContentComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-content';\n\n /** Current sex in the model state */\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n /** HTML class name */\n organList = RUI_ORGANS;\n\n /** HTML class name */\n sexSelected: boolean;\n\n /** Whether an organ has been selected */\n organSelected: boolean;\n\n /** Current sex selected */\n currentSex: string;\n\n /** Current organ selected */\n currentOrgan: OrganInfo;\n\n nameValid: boolean;\n\n /**\n * Creates an instance of the registration dialog\n *\n * @param page Page state\n * @param model Model state\n * @param registration Registration state\n * @param dialogRef Registration dialog\n */\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n public dialogRef: MatDialogRef\n ) {\n dialogRef.disableClose = true;\n }\n\n /**\n * Updates current sex selected\n *\n * @param label Sex selected\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.currentSex = label;\n this.sexSelected = true;\n }\n\n /**\n * Checks to see if a first and last name has been entered\n *\n * @param event Name input event\n */\n checkNameValid(event: Pick): void {\n this.nameValid = event.firstName.length > 0 && event.lastName.length > 0;\n }\n\n /**\n * Updates current organ selected\n *\n * @param organ Organ selected\n */\n organSelect(organ: OrganInfo): void {\n this.currentOrgan = organ;\n this.organSelected = true;\n }\n\n /**\n * Handles button click\n *\n * @param [event] The click event\n * @returns Returns nothing is no organ is selected\n */\n registerButtonClick(event?: MouseEvent): void {\n if (event) {\n event.preventDefault();\n }\n if (!this.organSelected || !this.nameValid) {\n return;\n }\n this.closeDialog();\n }\n\n /**\n * Closes the dialog and sets the correct sex and organ in the model state\n * Updates page state to signal registration has started\n */\n closeDialog(): void {\n this.model.setSex(this.currentSex === 'Female' ? 'female' : 'male');\n this.model.setOrgan(this.currentOrgan);\n this.dialogRef.close(true);\n this.page.registrationStarted();\n }\n}\n\n \n\n \n \n \n \n \n\n \n Donor Sex:\n \n \n \n\n Select an organ\n\n \n \n \n \n START REGISTRATION\n\n \n\n \n \n ./registration-content.component.scss\n \n .modal {\n padding: 1rem;\n border-radius: 4px;\n max-width: 47rem;\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n .selector-label {\n font-weight: 600;\n height: 3rem;\n line-height: 3rem;\n }\n\n .selector-container {\n margin: 0 auto;\n }\n\n .registration-button {\n display: block;\n margin: 0 auto;\n margin-top: 2rem;\n transition: 0.6s;\n\n &.disabled {\n pointer-events: none;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Select an organ START REGISTRATION'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationContentModule.html":{"url":"modules/RegistrationContentModule.html","title":"module - RegistrationContentModule","body":"\n \n\n\n\n\n Modules\n RegistrationContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationContentModule_imports\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationContentComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n \n \n Exports\n \n \n RegistrationContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RegistrationContentComponent } from './registration-content.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputModule } from '../../../shared/components/name-input/name-input.module';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { OrganSelectorModule } from 'ccf-shared';\n\n\n@NgModule({\n declarations: [RegistrationContentComponent],\n imports: [CommonModule, MatButtonModule, MatTooltipModule, NameInputModule, LabeledSlideToggleModule, OrganSelectorModule],\n exports: [RegistrationContentComponent]\n})\nexport class RegistrationContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationModalComponent.html":{"url":"components/RegistrationModalComponent.html","title":"component - RegistrationModalComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n\n\n\n \n Description\n \n \n Registration modal that appears on startup\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-modal\n \n\n\n\n\n \n templateUrl\n ./registration-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n dialog\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnInit\n \n \n openDialog\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, page: PageState, model: ModelState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n Creates an instance of registration modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Dialog for the modal\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-modal\"\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:37\n \n \n\n\n \n \n Opens the dialog on startup (but not if cancel registration callback is set)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openDialog\n \n \n \n \n \n \nopenDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:54\n \n \n\n\n \n \n Opens dialog\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:29\n \n \n\n \n \n Dialog for the modal\n \n \n\n \n \n\n\n\n\n\n \n import { Component, HostBinding, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { combineLatest } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\n\nimport { ModelState } from '../../../core/store/model/model.state';\nimport { PageState } from '../../../core/store/page/page.state';\nimport { RegistrationContentComponent } from '../registration-content/registration-content.component';\n\n\n/**\n * Registration modal that appears on startup\n */\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'ccf-registration-modal',\n templateUrl: './registration-modal.component.html'\n})\nexport class RegistrationModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-modal';\n\n /**\n * Creates an instance of registration modal component.\n *\n * @param dialog Dialog for the modal\n */\n constructor(\n public dialog: MatDialog,\n private readonly page: PageState,\n private readonly model: ModelState\n ) {}\n\n /**\n * Opens the dialog on startup (but not if cancel registration callback is set)\n */\n ngOnInit(): void {\n combineLatest([this.page.user$, this.model.organ$]).pipe(\n debounceTime(500),\n take(1),\n tap(([user, organ]) => {\n if (user.firstName !== '' && user.lastName !== '' && organ.src !== '') {\n return;\n }\n\n this.openDialog();\n })\n ).subscribe();\n }\n\n /**\n * Opens dialog\n */\n openDialog(): void {\n this.dialog.open(RegistrationContentComponent, {\n autoFocus: false\n });\n }\n}\n\n \n\n \n \n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationModalModule.html":{"url":"modules/RegistrationModalModule.html","title":"module - RegistrationModalModule","body":"\n \n\n\n\n\n Modules\n RegistrationModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_RegistrationModalModule_imports\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationModalComponent\n \n \n \n \n Imports\n \n \n RegistrationContentModule\n \n \n \n \n Exports\n \n \n RegistrationModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegistrationModalComponent } from './registration-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RegistrationContentModule } from '../registration-content/registration-content.module';\n\n@NgModule({\n declarations: [RegistrationModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, RegistrationContentModule],\n exports: [RegistrationModalComponent]\n})\nexport class RegistrationModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationState.html":{"url":"injectables/RegistrationState.html","title":"injectable - RegistrationState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n RegistrationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Data for model registrations\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n refData\n \n \n Private\n tags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addRegistration\n \n \n Private\n buildJsonLd\n \n \n Private\n buildMetadata\n \n \n Async\n editRegistration\n \n \n isDataValid\n \n \n ngxsOnInit\n \n \n register\n \n \n setDisplayErrors\n \n \n setUseRegistrationCallback\n \n \n Private\n xyzTripletToString\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n jsonld$\n \n \n valid$\n \n \n previousRegistrations$\n \n \n currentIdentifier\n \n \n currentDate\n \n \n isValid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Creates an instance of registration state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addRegistration\n \n \n \n \n \n \naddRegistration(registration: Record)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:220\n \n \n\n\n \n \n Adds an entry to the previous registrations\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registration\n \n Record\n \n\n \n No\n \n\n\n \n The new entry\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildJsonLd\n \n \n \n \n \n \n \n buildJsonLd(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:317\n \n \n\n\n \n \n Converts the registration data into jsonld format.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A jsonld object\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildMetadata\n \n \n \n \n \n \n \n buildMetadata(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:283\n \n \n\n\n \n \n Builds a metadata array from the specified data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : MetaData\n\n \n \n metadata An array of label-value objects\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n editRegistration\n \n \n \n \n \n \n \n editRegistration(reg: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n reg\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isDataValid\n \n \n \n \n \n \nisDataValid(page: Immutable, model: Immutable)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:134\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n \n \nregister(useCallback?: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:248\n \n \n\n\n \n \n Registers or downloads json data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n useCallback\n \n boolean\n \n\n \n Yes\n \n\n\n \n Explicit override selecting the register/download action\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setDisplayErrors\n \n \n \n \n \n \nsetDisplayErrors(displayErrors: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:210\n \n \n\n\n \n \n Set's whether or not we should display the user's registration errors\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n displayErrors\n \n boolean\n \n\n \n No\n \n\n\n \n the value to set it to\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUseRegistrationCallback\n \n \n \n \n \n \nsetUseRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:200\n \n \n\n\n \n \n Sets whether to use the registration callback function or download.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n True to use the callback, false to download\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n xyzTripletToString\n \n \n \n \n \n \n \n xyzTripletToString(xyz: XYZTriplet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:370\n \n \n\n\n \n \n Format a XYZTriplet as a string.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n xyz\n \n XYZTriplet\n \n\n \n No\n \n\n\n \n The triplet values\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n The string representation\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('displayErrors'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:110\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:107\n \n \n\n \n \n Reference to the page state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n refData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Reference to the reference data state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n tags\n \n \n \n \n \n \n Type : AnatomicalStructureTagState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:113\n \n \n\n \n \n Reference to the AS Tag state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n\n \n \n getmetadata$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:56\n \n \n \n \n Observable of registration metadata\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n jsonld$\n \n \n\n \n \n getjsonld$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:64\n \n \n \n \n Observable of registration data in jsonld format\n\n\n \n Returns : Observable>\n\n \n \n \n\n \n \n \n \n \n \n \n valid$\n \n \n\n \n \n getvalid$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:71\n \n \n\n \n \n \n \n \n \n \n previousRegistrations$\n \n \n\n \n \n getpreviousRegistrations$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:81\n \n \n \n \n Observable of previous registrations\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n currentIdentifier\n \n \n\n \n \n getcurrentIdentifier()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:96\n \n \n \n \n Current uuid identifier used when registering\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n currentDate\n \n \n\n \n \n getcurrentDate()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:102\n \n \n \n \n Time of last modification to registration data\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n isValid\n \n \n\n \n \n getisValid()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:239\n \n \n\n \n \n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationStateModel.html":{"url":"interfaces/RegistrationStateModel.html","title":"interface - RegistrationStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Registration state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayErrors\n \n \n \n \n registrations\n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayErrors\n \n \n \n \n \n \n \n \n displayErrors: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not to display user registration errors\n\n \n \n \n \n \n \n \n \n \n registrations\n \n \n \n \n \n \n \n \n registrations: Record[]\n\n \n \n\n\n \n \n Type : Record[]\n\n \n \n\n\n\n\n\n \n \n Previous registrations\n\n \n \n \n \n \n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n useRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to use the registration callback function\n\n \n \n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewButtonComponent.html":{"url":"components/ReviewButtonComponent.html","title":"component - ReviewButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n\n\n\n \n Description\n \n \n Component to launch the ReviewModal component.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-button\n \n\n \n styleUrls\n ./review-button.component.scss\n \n\n\n\n \n templateUrl\n ./review-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchReviewModal\n \n \n ngOnChanges\n \n \n registerButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n displayErrors\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n registrationIsValid\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n enterErrorMode\n \n \n registerData\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n\n \n \n Creates an instance of review button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Reference to the dialog creation service.\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n displayErrors\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:35\n \n \n \n \n Whether or not the app is currently displaying errors\nDecides how the button should be styled\n\n \n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n Type : MetaData\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:29\n \n \n \n \n Input object of information to display in the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:24\n \n \n \n \n Input to set whether the component should be in register (true) or download (false) mode\n\n \n \n \n \n \n \n \n \n \n registrationIsValid\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:42\n \n \n \n \n Whether or not all the necessary data has been inputted from\nthe user. Decides whether or not to let the user open the\nregistration / download modal\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n enterErrorMode\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n \n \n Turns on the 'error mode' for the application.\nUsed to begin showing the user what they need to\ndo to be able to register / download.\n\n \n \n \n \n \n \n \n \n \n registerData\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:47\n \n \n \n \n Output that emits when the modal's register button was clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-button\"\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchReviewModal\n \n \n \n \n \n \nlaunchReviewModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:100\n \n \n\n\n \n \n Opens the info dialogue with the project details\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:68\n \n \n\n\n \n \n Updates the value of registrationIsValid based on the\nmeta data.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:85\n \n \n\n\n \n \n Handles the click action for the register button.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n\n \n \n getdisabled()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:78\n \n \n \n \n Decides whether or not the download / register button should\nbe disabled.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, OnChanges, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { MetaData } from '../../../core/models/meta-data';\nimport { ReviewModalComponent } from '../review-modal/review-modal.component';\n\n\n/**\n * Component to launch the ReviewModal component.\n */\n@Component({\n selector: 'ccf-review-button',\n templateUrl: './review-button.component.html',\n styleUrls: ['./review-button.component.scss']\n})\nexport class ReviewButtonComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-button';\n\n /**\n * Input to set whether the component should be in register (true) or download (false) mode\n */\n @Input() registrationCallbackSet = true;\n\n /**\n * Input object of information to display in the modal\n */\n @Input() metaData: MetaData = [];\n\n /**\n * Whether or not the app is currently displaying errors\n * Decides how the button should be styled\n */\n @Input() displayErrors = true;\n\n /**\n * Whether or not all the necessary data has been inputted from\n * the user. Decides whether or not to let the user open the\n * registration / download modal\n */\n @Input() registrationIsValid = false;\n\n /**\n * Output that emits when the modal's register button was clicked\n */\n @Output() readonly registerData = new EventEmitter();\n\n /**\n * Turns on the 'error mode' for the application.\n * Used to begin showing the user what they need to\n * do to be able to register / download.\n */\n @Output() readonly enterErrorMode = new EventEmitter();\n\n /**\n * Creates an instance of review button component.\n *\n * @param dialog Reference to the dialog creation service.\n * @param ga Analytics service\n */\n constructor(private readonly dialog: MatDialog, private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates the value of registrationIsValid based on the\n * meta data.\n */\n ngOnChanges(): void {\n this.registrationIsValid =\n this.metaData.length >= 3 &&\n this.metaData.slice(0, 3).every(entry => entry.value);\n }\n\n /**\n * Decides whether or not the download / register button should\n * be disabled.\n */\n get disabled(): boolean {\n return !this.registrationIsValid;\n }\n\n /**\n * Handles the click action for the register button.\n */\n registerButtonClick(event?: MouseEvent): false {\n if (event) {\n event.preventDefault();\n }\n this.enterErrorMode.emit();\n if (this.registrationIsValid) {\n this.ga.event('review_start', 'review_button');\n this.launchReviewModal();\n }\n return false;\n }\n\n /**\n * Opens the info dialogue with the project details\n */\n launchReviewModal(): void {\n const dialogRef = this.dialog.open(ReviewModalComponent, {\n panelClass: 'modal-animated',\n width: '60rem',\n data: {\n registrationCallbackSet: this.registrationCallbackSet,\n metaData: this.metaData\n }\n });\n\n dialogRef.afterClosed().subscribe(\n data => {\n if (data) {\n this.ga.event('register', 'review_button');\n this.registerData.emit();\n }\n }\n );\n }\n}\n\n \n\n \n \n {{ registrationCallbackSet ? 'REVIEW AND REGISTER' : 'REVIEW AND DOWNLOAD' }}\n\n\n \n\n \n \n ./review-button.component.scss\n \n .review-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n font-weight: 500;\n\n &.disabled {\n cursor: not-allowed;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ registrationCallbackSet ? \\'REVIEW AND REGISTER\\' : \\'REVIEW AND DOWNLOAD\\' }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewButtonModule.html":{"url":"modules/ReviewButtonModule.html","title":"module - ReviewButtonModule","body":"\n \n\n\n\n\n Modules\n ReviewButtonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewButtonComponent\n \n \n \n \n Imports\n \n \n ReviewModalModule\n \n \n \n \n Exports\n \n \n ReviewButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewButtonComponent } from './review-button.component';\nimport { ReviewModalModule } from '../review-modal/review-modal.module';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [ReviewButtonComponent],\n imports: [\n CommonModule,\n ReviewModalModule,\n MatButtonModule,\n MatTooltipModule\n ],\n exports: [ReviewButtonComponent]\n})\nexport class ReviewButtonModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewModalComponent.html":{"url":"components/ReviewModalComponent.html","title":"component - ReviewModalComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n\n\n\n \n Description\n \n \n Modal for reviewing the registration\n\n \n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-modal\n \n\n \n styleUrls\n ./review-modal.component.scss\n \n\n\n\n \n templateUrl\n ./review-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, data: ReviewModalData)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n Creates an instance of the review modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n\n \n \n \n data\n \n \n ReviewModalData\n \n \n \n No\n \n \n \n Data being injected into the dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-modal\"\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:54\n \n \n\n\n \n \n Closes info dialog component\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : ReviewModalData\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:45\n \n \n\n \n \n Data being injected into the dialog\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:44\n \n \n\n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n \n \n\n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n \n \n Type : MetaData\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n\n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:30\n \n \n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n \n \n \n \n clear\n \n \n Registration Review\n\n \n \n \n {{ data.label }}\n {{ data.value }}\n \n \n \n\n \n {{ registrationCallbackSet ? 'REGISTER' : 'DOWNLOAD REGISTRATION DATA' }}\n \n \n \n\n \n\n \n \n ./review-modal.component.scss\n \n ::ng-deep .mat-dialog-container {\n padding: 0;\n}\n\n:host {\n .ccf-about.wrapper {\n .container {\n .content {\n padding: 3rem;\n background-color: white;\n\n .title {\n text-align: center;\n font-size: 1.5rem;\n margin-bottom: 0;\n }\n\n .mat-typography {\n justify-content: space-around;\n display: flex;\n\n .display-fields {\n margin-top: 2rem;\n margin-bottom: 2rem;\n width: 100%;\n\n .field {\n display: flex;\n\n .label {\n width: 50%;\n text-align: right;\n padding-right: 1rem;\n }\n\n .data {\n width: 50%;\n text-align: left;\n padding-left: 1rem;\n }\n }\n }\n }\n }\n\n .close {\n .close-icon {\n float: right;\n margin-top: 1rem;\n margin-right: 1rem;\n cursor: pointer;\n }\n }\n\n .footer {\n padding-top: 1.5rem;\n display: flex;\n justify-content: space-around;\n\n .review-button {\n height: 3rem;\n transition: 0.6s;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear Registration Review {{ data.label }} {{ data.value }} {{ registrationCallbackSet ? \\'REGISTER\\' : \\'DOWNLOAD REGISTRATION DATA\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReviewModalData.html":{"url":"interfaces/ReviewModalData.html","title":"interface - ReviewModalData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReviewModalData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n\n\n \n Description\n \n \n The expected format of the review modal's data input.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n metaData\n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n metaData\n \n \n \n \n \n \n \n \n metaData: MetaData\n\n \n \n\n\n \n \n Type : MetaData\n\n \n \n\n\n\n\n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n \n \n \n \n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewModalModule.html":{"url":"modules/ReviewModalModule.html","title":"module - ReviewModalModule","body":"\n \n\n\n\n\n Modules\n ReviewModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewModalComponent\n \n \n \n \n Exports\n \n \n ReviewModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewModalComponent } from './review-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [ReviewModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, MatButtonModule],\n exports: [ReviewModalComponent]\n})\nexport class ReviewModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RightSidebarComponent.html":{"url":"components/RightSidebarComponent.html","title":"component - RightSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n RightSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n\n\n\n \n Description\n \n \n The right sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-right-sidebar\n \n\n \n styleUrls\n ./right-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./right-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, registration: RegistrationState, page: PageState, astags: AnatomicalStructureTagState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n\n \n \n Creates an instance of right sidebar component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state service\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n Registration state service\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n astags\n \n \n AnatomicalStructureTagState\n \n \n \n No\n \n \n \n The anatomical structure tags state\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-right-sidebar\"\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { ModelState } from '../../core/store/model/model.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { AnatomicalStructureTagState } from '../../core/store/anatomical-structure-tags/anatomical-structure-tags.state';\n\n\n/**\n * The right sidebar\n */\n@Component({\n selector: 'ccf-right-sidebar',\n templateUrl: './right-sidebar.component.html',\n styleUrls: ['./right-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RightSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-right-sidebar';\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n /**\n * Creates an instance of right sidebar component.\n *\n * @param model Model state service\n * @param registration Registration state service\n * @param page The page state\n * @param astags The anatomical structure tags state\n */\n constructor(\n readonly model: ModelState,\n readonly registration: RegistrationState,\n readonly page: PageState,\n readonly astags: AnatomicalStructureTagState\n ) { }\n}\n\n \n\n \n \n\n \n \n \n \n \n \n\n\n \n \n\n \n \n\n \n \n \n Anatomical Structure Tags\n \n\n \n \n\n \n \n \n \n\n \n \n Assigned\n \n Added\n \n \n \n\n \n\n \n \n \n\n\n \n\n \n \n ./right-sidebar.component.scss\n \n :host {\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n // overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n \n\n .container {\n display: flex;\n flex-direction: column;\n min-height: 100%;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n\n .info-button-container {\n height: 3.75rem;\n display: flex;\n justify-content: flex-end;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n\n mat-expansion-panel-header {\n padding: 0 0.5rem 0 0;\n font-weight: bold;\n -webkit-user-select: none;\n -moz-user-select: none;\n font-size: 1rem;\n }\n }\n\n .tags-container {\n // Allow tag search to overflow when displaying results\n overflow: visible;\n\n ::ng-deep .mat-expansion-panel-body {\n padding-left: 0;\n padding-right: 0;\n }\n\n .header {\n height: 3rem;\n }\n\n .search {\n margin-top: 1rem;\n\n .icon.add {\n position: absolute;\n // Sizes and offsets found by experimentation\n width: 3.625rem;\n height: 3.625rem;\n font-size: 3.625rem;\n top: -1.9375rem;\n right: -1.1875rem;\n }\n }\n\n .tag-list {\n max-height: 32rem;\n margin-left: -1rem;\n }\n\n .tag-list-placeholder {\n display: flex;\n height: 4rem;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n }\n\n .legend {\n display: flex;\n width: 100%;\n margin-top: 1.5rem;\n align-items: center;\n font-size: 0.9rem;\n\n .dot {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n border-radius: 50%;\n\n &.assigned {\n margin-left: 0.5rem;\n }\n\n &.added {\n \n margin-left: 1rem;\n }\n }\n\n .text {\n margin-left: 0.5rem;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Anatomical Structure Tags Assigned Added '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RightSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RightSidebarModule.html":{"url":"modules/RightSidebarModule.html","title":"module - RightSidebarModule","body":"\n \n\n\n\n\n Modules\n RightSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RightSidebarComponent\n \n \n \n \n Imports\n \n \n BlockSizeInputModule\n \n \n ReviewButtonModule\n \n \n RotationSliderModule\n \n \n SlicesInputModule\n \n \n TagListModule\n \n \n TagSearchModule\n \n \n \n \n Exports\n \n \n RightSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { BlockSizeInputModule } from '../../shared/components/block-size-input/block-size-input.module';\nimport { RotationSliderModule } from '../../shared/components/rotation-slider/rotation-slider.module';\nimport { SlicesInputModule } from '../../shared/components/slices-input/slices-input.module';\nimport { TagListModule } from '../../shared/components/tag-list/tag-list.module';\nimport { TagSearchModule } from '../../shared/components/tag-search/tag-search.module';\nimport { ReviewButtonModule } from '../review/review-button/review-button.module';\nimport { RightSidebarComponent } from './right-sidebar.component';\n\nimport { InfoButtonModule } from 'ccf-shared';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatExpansionModule,\n MatDividerModule,\n MatIconModule,\n BrowserAnimationsModule,\n MatTooltipModule,\n\n BlockSizeInputModule,\n ReviewButtonModule,\n RotationSliderModule,\n SlicesInputModule,\n TagListModule,\n TagSearchModule,\n InfoButtonModule\n ],\n declarations: [RightSidebarComponent],\n exports: [RightSidebarComponent]\n})\nexport class RightSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rotation.html":{"url":"interfaces/Rotation.html","title":"interface - Rotation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rotation\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n\n\n \n Description\n \n \n Type in which the values of the sliders are stored.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X slider value\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y slider value\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z slider value\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RotationSliderComponent.html":{"url":"components/RotationSliderComponent.html","title":"component - RotationSliderComponent","body":"\n \n\n\n\n\n\n Components\n \n RotationSliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n\n\n\n \n Description\n \n \n Component that enables the setting of a Rotation object via either 3 draggable sliders\nor through an Input method.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-rotation-slider\n \n\n \n styleUrls\n ./rotation-slider.component.scss\n \n\n\n\n \n templateUrl\n ./rotation-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n changeRotation\n \n \n resetRotation\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n rotation\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n rotationChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n\n \n \n Creates an instance of rotation slider component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n rotation\n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : DEFAULT_ROTATION\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:39\n \n \n \n \n Input that allows the rotation to be changed from outside of the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n rotationChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n \n \n Output that emits the new rotation whenever it is changed from within the component\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-rotation-slider\"\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n changeRotation\n \n \n \n \n \n \nchangeRotation(newRotation: number | string, axis: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:59\n \n \n\n\n \n \n Function that handles updating the rotation and emitting the new value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n newRotation\n \n number | string\n \n\n \n No\n \n\n\n \n the new value for one of the axis to be set to\n\n \n \n \n axis\n \n string\n \n\n \n No\n \n\n\n \n which axis to update\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetRotation\n \n \n \n \n \n \nresetRotation()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:68\n \n \n\n\n \n \n Function to easily reset the rotations to 0 and emit this change.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n \n \n Tissue Block Rotation\n \n refresh\n\n\n\n X\n \n \n \n {{ rotation.x }}\n\n\n\n Y\n \n \n \n {{ rotation.y }}\n\n\n\n Z\n \n \n \n {{ rotation.z }}\n\n\n \n\n \n \n ./rotation-slider.component.scss\n \n :host {\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n \n &:hover {\n border-radius: 2px;\n }\n\n }\n }\n\n .slider-box {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 4rem;\n padding-left: 0.5rem;\n\n .label {\n width: 1rem;\n }\n\n .value {\n width: 2.75rem;\n text-align: center;\n }\n\n .slider-container {\n width: 100%;\n padding-left: 2rem;\n padding-right: 2rem;\n padding-bottom: 1rem;\n padding-top: 1rem;\n\n .slider {\n width: 100%;\n \n &:not(.cdk-focused) {\n ::ng-deep .mat-slider-thumb {\n width: 1.25rem;\n height: 1.25rem;\n transform: none;\n }\n }\n }\n\n ::ng-deep .mat-slider-horizontal {\n .mat-slider-wrapper {\n right: 0.625rem;\n &:after {\n margin-top: -0.25rem;\n height: 0.625rem !important;\n }\n }\n \n .mat-slider-ticks-container {\n margin-top: -0.25rem;\n height: 0.625rem;\n\n .mat-slider-ticks {\n height: 0.625rem;\n }\n }\n \n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Rotation refresh X {{ rotation.x }} Y {{ rotation.y }} Z {{ rotation.z }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RotationSliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RotationSliderModule.html":{"url":"modules/RotationSliderModule.html","title":"module - RotationSliderModule","body":"\n \n\n\n\n\n Modules\n RotationSliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RotationSliderComponent\n \n \n \n \n Exports\n \n \n RotationSliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RotationSliderComponent } from './rotation-slider.component';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [RotationSliderComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatSliderModule,\n MatRippleModule,\n MatTooltipModule\n ],\n exports: [RotationSliderComponent]\n})\nexport class RotationSliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SceneState.html":{"url":"injectables/SceneState.html","title":"injectable - SceneState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SceneState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n 3d Scene state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n Private\n model\n \n \n Private\n referenceData\n \n \n Private\n registration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n ngxsOnInit\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n rotatedNodes$\n \n \n referenceOrganNodes$\n \n \n referenceOrganSimpleNodes$\n \n \n nodeCollisions$\n \n \n previousRegistrationNodes$\n \n \n placementCube$\n \n \n placementCube\n \n \n rotation$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n \n \n \n \n \n createSceneNodes(organIri: string, items: VisibilityItem[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:249\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n items\n \n VisibilityItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:239\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ])\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:204\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:221\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n referenceData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n registration\n \n \n \n \n \n \n Type : RegistrationState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:222\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n\n \n \n getnodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:52\n \n \n\n \n \n \n \n \n \n \n rotatedNodes$\n \n \n\n \n \n getrotatedNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:63\n \n \n\n \n \n \n \n \n \n \n referenceOrganNodes$\n \n \n\n \n \n getreferenceOrganNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:80\n \n \n \n \n Observable of spatial nodes\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n referenceOrganSimpleNodes$\n \n \n\n \n \n getreferenceOrganSimpleNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:90\n \n \n\n \n \n \n \n \n \n \n nodeCollisions$\n \n \n\n \n \n getnodeCollisions$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:118\n \n \n\n \n \n \n \n \n \n \n previousRegistrationNodes$\n \n \n\n \n \n getpreviousRegistrationNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:129\n \n \n\n \n \n \n \n \n \n \n placementCube$\n \n \n\n \n \n getplacementCube$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:157\n \n \n\n \n \n \n \n \n \n \n placementCube\n \n \n\n \n \n getplacementCube()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:164\n \n \n\n \n \n \n \n \n \n \n rotation$\n \n \n\n \n \n getrotation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:182\n \n \n\n \n \n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SceneStateModel.html":{"url":"interfaces/SceneStateModel.html","title":"interface - SceneStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SceneStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n Scene state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n showCollisions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig.html":{"url":"interfaces/SlicesConfig.html","title":"interface - SlicesConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Slices configuration\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices per block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of slice\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig-1.html":{"url":"interfaces/SlicesConfig-1.html","title":"interface - SlicesConfig-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n\n\n \n Description\n \n \n Interface containing slices data of the tissue block\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices in the block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of each tissue slice\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SlicesInputComponent.html":{"url":"components/SlicesInputComponent.html","title":"component - SlicesInputComponent","body":"\n \n\n\n\n\n\n Components\n \n SlicesInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering data on block slices\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-slices-input\n \n\n \n styleUrls\n ./slices-input.component.scss\n \n\n\n\n \n templateUrl\n ./slices-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshSlices\n \n \n updateSlicesData\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n slicesConfig\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n slicesConfigChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:48\n \n \n\n \n \n Creates an instance of slices input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n slicesConfig\n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : DEFAULT_SLICES_CONFIG\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:36\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n slicesConfigChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:41\n \n \n \n \n Emitter for slice data values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-slices-input\"\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshSlices\n \n \n \n \n \n \nrefreshSlices()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:73\n \n \n\n\n \n \n Refreshes all slice data values to empty values\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateSlicesData\n \n \n \n \n \n \nupdateSlicesData(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:63\n \n \n\n\n \n \n Limits the length of the input if needed and updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n\n \n \n gethasThicknessValue()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:46\n \n \n \n \n Returns whether a valid thickness value has been entered.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n \n \n Tissue Sections\n \n \n refresh\n \n\n\n\n \n Thickness\n \n μm\n \n\n \n # Sections\n \n \n\n\n \n\n \n \n ./slices-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n align-items: center;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n }\n\n .slices-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n\n .suffix {\n display: none;\n }\n\n &.mat-focused .suffix, .suffix.show {\n display: initial;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Sections refresh Thickness μm # Sections '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SlicesInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SlicesInputModule.html":{"url":"modules/SlicesInputModule.html","title":"module - SlicesInputModule","body":"\n \n\n\n\n\n Modules\n SlicesInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SlicesInputComponent\n \n \n \n \n Exports\n \n \n SlicesInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { NumbersOnlyModule } from 'ccf-shared';\nimport { SlicesInputComponent } from './slices-input.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule,\n NumbersOnlyModule\n ],\n declarations: [SlicesInputComponent],\n exports: [SlicesInputComponent]\n})\nexport class SlicesInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StageNavComponent.html":{"url":"components/StageNavComponent.html","title":"component - StageNavComponent","body":"\n \n\n\n\n\n\n Components\n \n StageNavComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n\n\n\n \n Description\n \n \n Component that allows the user to change the viewing angle and rendering mode of the stage.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-stage-nav\n \n\n \n styleUrls\n ./stage-nav.component.scss\n \n\n\n\n \n templateUrl\n ./stage-nav.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n isDropdownActive\n \n \n isDropdownHidden\n \n \n labelRef\n \n \n optionsRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n updateSide\n \n \n updateView\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n side\n \n \n useDropdownMenu\n \n \n view3D\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n sideChange\n \n \n view3DChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n labelEl\n \n \n optionsEl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:60\n \n \n\n \n \n Creates an instance of stage nav component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n side\n \n \n \n \n Type : Side\n\n \n \n \n \n Default value : 'anterior'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:29\n \n \n \n \n Input that allows changing the current side from outside the component\n\n \n \n \n \n \n \n \n \n \n useDropdownMenu\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n \n \n \n \n \n \n \n \n \n view3D\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:32\n \n \n \n \n Input that allows toggling of 3D view on / off from outside the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n sideChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:35\n \n \n \n \n Output that emits whenever the current side selection changes\n\n \n \n \n \n \n \n \n \n \n view3DChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:38\n \n \n \n \n Output that emits whenever the 3D view is toggled on / off\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-stage-nav\"\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSide\n \n \n \n \n \n \nupdateSide(selection: Side)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:91\n \n \n\n\n \n \n Handles the updating of the side selection and calling the event emitter\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n Side\n \n\n \n No\n \n\n\n \n the new selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateView\n \n \n \n \n \n \nupdateView(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:109\n \n \n\n\n \n \n Handles updating of the boolean that keeps track of current view\nand calling the event emitter.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n 3D (true) or Register (false)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownActive\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:47\n \n \n\n \n \n Whether this component shows a dropdown menu or an options bar\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownHidden\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:50\n \n \n\n \n \n Whether the dropdown menu is hidden\n\n \n \n\n \n \n \n \n \n \n \n \n labelRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('label', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:41\n \n \n\n \n \n Label for dropdown\n\n \n \n\n \n \n \n \n \n \n \n \n optionsRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('options', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:44\n \n \n\n \n \n Options dropdown\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n\n\n \n \n setuseDropdownMenu(value: boolean)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n labelEl\n \n \n\n \n \n getlabelEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:53\n \n \n \n \n Simple helper for accessing the native label element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n \n \n \n \n \n optionsEl\n \n \n\n \n \n getoptionsEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:58\n \n \n \n \n Simple helper for accessing the native options element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild,\n} from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Valid values for side. */\nexport type Side = 'left' | 'right' | 'anterior' | 'posterior' | '3D';\n\n/** Component that allows the user to change the viewing angle and rendering mode of the stage. */\n@Component({\n selector: 'ccf-stage-nav',\n templateUrl: './stage-nav.component.html',\n styleUrls: ['./stage-nav.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StageNavComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-stage-nav';\n\n /** Whether to use a drop down menu instead of a options bar */\n @Input()\n set useDropdownMenu(value: boolean) {\n this.isDropdownActive = value;\n this.isDropdownHidden = true;\n }\n\n /** Input that allows changing the current side from outside the component */\n @Input() side: Side = 'anterior';\n\n /** Input that allows toggling of 3D view on / off from outside the component */\n @Input() view3D = false;\n\n /** Output that emits whenever the current side selection changes */\n @Output() readonly sideChange = new EventEmitter();\n\n /** Output that emits whenever the 3D view is toggled on / off */\n @Output() readonly view3DChange = new EventEmitter();\n\n /** Label for dropdown */\n @ViewChild('label', { static: true }) labelRef: ElementRef;\n\n /** Options dropdown */\n @ViewChild('options', { static: true }) optionsRef: ElementRef;\n\n /** Whether this component shows a dropdown menu or an options bar */\n isDropdownActive = false;\n\n /** Whether the dropdown menu is hidden */\n isDropdownHidden = true;\n\n /** Simple helper for accessing the native label element */\n private get labelEl(): HTMLElement {\n return this.labelRef.nativeElement;\n }\n\n /** Simple helper for accessing the native options element */\n private get optionsEl(): HTMLElement {\n return this.optionsRef.nativeElement;\n }\n\n /**\n * Creates an instance of stage nav component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Listens to document click event\n * Closes the popup only if user clicks outside the popup\n *\n * @param target The element on which the event was fired\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n const { isDropdownHidden, labelEl, optionsEl } = this;\n\n if (labelEl.contains(target)) {\n this.isDropdownHidden = !isDropdownHidden;\n } else if (!optionsEl.contains(target)) {\n this.isDropdownHidden = true;\n }\n }\n\n /**\n * Handles the updating of the side selection and calling the event emitter\n *\n * @param selection the new selected side\n */\n updateSide(selection: Side): void {\n this.ga.event('side_update', 'stage_nav', selection);\n\n if (selection === '3D') {\n this.updateView(true);\n } else {\n this.updateView(false);\n this.side = selection;\n this.sideChange.emit(this.side);\n }\n }\n\n /**\n * Handles updating of the boolean that keeps track of current view\n * and calling the event emitter.\n *\n * @param selection 3D (true) or Register (false)\n */\n updateView(selection: boolean): void {\n this.view3D = selection;\n this.ga.event('view_update', 'stage_nav', selection ? '3D' : 'Register');\n this.view3DChange.emit(this.view3D);\n }\n}\n\n \n\n \n \n Options\n arrow_drop_down\n\n\n\n \n Left\n Right\n Anterior\n Posterior\n \n\n \n\n\n\n \n\n \n \n ./stage-nav.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n\n .dropdown-label {\n display: none;\n align-items: center;\n\n mat-label,\n mat-icon {\n line-height: 1.5rem;\n }\n\n &.dropdown {\n display: flex;\n cursor: pointer;\n align-items: start;\n }\n }\n\n .stage-options {\n display: flex;\n align-items: center;\n\n .input-group {\n .nav-input {\n margin-right: 1.5rem;\n margin-bottom: 1.5rem;\n }\n }\n\n .view-slider {\n margin-left: -1rem;\n margin-bottom: 1.5rem;\n white-space: nowrap;\n }\n\n &.dropdowncontainer {\n display: flex;\n flex-direction: column;\n border-radius: 0.25rem;\n width: 16.5rem;\n position: absolute;\n top: 3.5rem;\n z-index: 1;\n transition: opacity 0.25s;\n\n :first-child {\n margin-top: 0.5rem;\n }\n\n :last-child {\n margin-bottom: 0.5rem;\n }\n\n .input-group {\n margin-left: 1.5rem;\n margin-right: 0;\n display: flex;\n flex-wrap: wrap;\n\n .nav-input {\n display: flex;\n margin: 0;\n margin-right: 1.5rem;\n height: 2.5rem;\n }\n }\n\n .view-slider {\n display: flex;\n align-items: center;\n height: 3rem;\n margin: 0 0.5rem;\n }\n\n mat-divider {\n visibility: visible;\n border-top: 2px solid;\n }\n }\n\n &.hidden {\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.25s, opacity 0.25s;\n\n mat-divider {\n visibility: hidden;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Options arrow_drop_down Left Right Anterior Posterior '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StageNavComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StageNavModule.html":{"url":"modules/StageNavModule.html","title":"module - StageNavModule","body":"\n \n\n\n\n\n Modules\n StageNavModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_StageNavModule_imports\n\n\n\ncluster_StageNavModule_declarations\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\n\n\nStageNavModule\n\nStageNavModule\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StageNavComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n \n \n Exports\n \n \n StageNavComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\n\nimport { StageNavComponent } from './stage-nav.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatRadioModule,\n MatSelectModule,\n MatIconModule,\n MatDividerModule,\n LabeledSlideToggleModule,\n MatTooltipModule\n ],\n declarations: [StageNavComponent],\n exports: [StageNavComponent]\n})\nexport class StageNavModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { environment } from '../../../environments/environment';\nimport { AnatomicalStructureTagState } from './anatomical-structure-tags/anatomical-structure-tags.state';\nimport { IconRegistryState } from './icon-registry/icon-registry.state';\nimport { ModelState } from './model/model.state';\nimport { PageState } from './page/page.state';\nimport { ReferenceDataState } from './reference-data/reference-data.state';\nimport { RegistrationState } from './registration/registration.state';\nimport { SceneState } from './scene/scene.state';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Must come before all other plugins except the ngxs data plugin!\n NgxsStoragePluginModule.forRoot({\n key: ['registration.registrations']\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Tag.html":{"url":"interfaces/Tag.html","title":"interface - Tag","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Tag\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n A tag\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: TagId\n\n \n \n\n\n \n \n Type : TagId\n\n \n \n\n\n\n\n\n \n \n Unique identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Display label\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n \n \n Type : \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n\n\n\n \n \n How the tag was added\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagListComponent.html":{"url":"components/TagListComponent.html","title":"component - TagListComponent","body":"\n \n\n\n\n\n\n Components\n \n TagListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n\n\n\n \n Description\n \n \n A list of removable tags\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-list\n \n\n \n styleUrls\n ./tag-list.component.scss\n \n\n\n\n \n templateUrl\n ./tag-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n removeTag\n \n \n tagClasses\n \n \n tagId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n tags\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n tagRemoved\n \n \n tagsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n\n \n \n Creates an instance of tag list component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n tags\n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:23\n \n \n \n \n The tags\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n tagRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:28\n \n \n \n \n Emits when a tag is removed\n\n \n \n \n \n \n \n \n \n \n tagsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n \n \n Emits the new array of tags when a tag has been removed\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-list\"\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:62\n \n \n\n\n \n \n Removes a tag from the list\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n Tag to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagClasses\n \n \n \n \n \n \ntagClasses(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:49\n \n \n\n\n \n \n Gets the unique identifier for a tag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { Tag } from '../../../core/models/anatomical-structure-tag';\n\n\n/**\n * A list of removable tags\n */\n@Component({\n selector: 'ccf-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagListComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-list';\n\n /**\n * The tags\n */\n @Input() tags: Tag[];\n\n /**\n * Emits when a tag is removed\n */\n @Output() readonly tagRemoved = new EventEmitter();\n\n /**\n * Emits the new array of tags when a tag has been removed\n */\n @Output() readonly tagsChange = new EventEmitter();\n\n /**\n * Creates an instance of tag list component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Gets the unique identifier for a tag\n *\n * @param _index Unused\n * @param tag A tag\n * @returns An identifier\n */\n tagId(_index: number, tag: Tag): unknown {\n return tag.id;\n }\n\n tagClasses(tag: Tag): string[] {\n return tag.type === 'added' ? ['added'] : ['assigned'];\n }\n\n /**\n * Removes a tag from the list\n *\n * @param tag Tag to remove\n */\n removeTag(tag: Tag): void {\n this.tags = this.tags.filter(obj => obj !== tag);\n this.ga.event('tag_removed', 'tag_list', tag.label);\n this.tagRemoved.emit(tag);\n this.tagsChange.emit(this.tags);\n }\n}\n\n \n\n \n \n \n {{ tag.label }}\n cancel\n \n\n\n \n\n \n \n ./tag-list.component.scss\n \n :host {\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n ::ng-deep .mat-chip-list-wrapper {\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ tag.label }} cancel '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagListModule.html":{"url":"modules/TagListModule.html","title":"module - TagListModule","body":"\n \n\n\n\n\n Modules\n TagListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\n\nTagListComponent\n\nTagListComponent\n\n\n\nTagListModule\n\nTagListModule\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagListComponent\n \n \n \n \n Exports\n \n \n TagListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TagListComponent } from './tag-list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatChipsModule,\n MatIconModule\n ],\n declarations: [TagListComponent],\n exports: [TagListComponent],\n})\nexport class TagListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagSearchComponent.html":{"url":"components/TagSearchComponent.html","title":"component - TagSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n TagSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n\n\n\n \n Description\n \n \n Component for searching, selecting, and adding tags.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-search\n \n\n \n styleUrls\n ./tag-search.component.scss\n \n\n\n\n \n templateUrl\n ./tag-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n checkedResults\n \n \n closeSearch\n \n \n Readonly\n clsName\n \n \n Readonly\n countMapping\n \n \n Private\n Readonly\n destroy$\n \n \n resultsVisible\n \n \n Readonly\n searchControl\n \n \n searchResults\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTags\n \n \n closeResults\n \n \n Private\n executeSearch\n \n \n Private\n getUpdatedCheckedResults\n \n \n hasCheckedTags\n \n \n ngOnDestroy\n \n \n openResults\n \n \n tagId\n \n \n Private\n truncateResults\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n placeholder\n \n \n search\n \n \n searchLimit\n \n \n searchThrottle\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n added\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n click\n \n \n focusin\n \n \n window:click\n \n \n window:focusin\n \n \n \n \n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(el: ElementRef, ga: GoogleAnalyticsService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Creates an instance of tag search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n el\n \n \n ElementRef\n \n \n \n No\n \n \n \n Element for this component\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Reference to change detector\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n placeholder\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Add Anatomical Structures ...'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:37\n \n \n \n \n Placeholder text\n\n \n \n \n \n \n \n \n \n \n search\n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:40\n \n \n \n \n Search method\n\n \n \n \n \n \n \n \n \n \n searchLimit\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:43\n \n \n \n \n Maximum number of results to show\n\n \n \n \n \n \n \n \n \n \n searchThrottle\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:46\n \n \n \n \n Throttle time between search calls\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n added\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:49\n \n \n \n \n Emits when tags are added\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-search\"\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n click\n \n \n \n \n \n \nclick()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n focusin\n \n \n \n \n \n \nfocusin()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n window:click\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:click(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n window:focusin\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:focusin(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:132\n \n \n\n\n \n \n Emits selected tags and resets the search and selections\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n closeResults\n \n \n \n \n \n \ncloseResults(event: Event)\n \n \n\n \n \n Decorators : \n \n @HostListener('window:click', ['$event'])@HostListener('window:focusin', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Event\n \n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n executeSearch\n \n \n \n \n \n \n \n executeSearch(text: string)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:179\n \n \n\n\n \n \n Executes a search on a piece of text.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n An observable of the search result.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getUpdatedCheckedResults\n \n \n \n \n \n \n \n getUpdatedCheckedResults(result: TagSearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:218\n \n \n\n\n \n \n Computes a new checked object for result items. Already checked items are preserved.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n New results\n\n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A new checked object\n\n \n \n \n \n \n \n \n \n \n \n \n hasCheckedTags\n \n \n \n \n \n \nhasCheckedTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:125\n \n \n\n\n \n \n Determines whether any tags have been checked\n\n\n \n \n \n Returns : boolean\n\n \n \n true if any tag has been checked by the user\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:104\n \n \n\n\n \n \n Cleans up component on destruction\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openResults\n \n \n \n \n \n \nopenResults()\n \n \n\n \n \n Decorators : \n \n @HostListener('click')@HostListener('focusin')\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:116\n \n \n\n\n \n \n Extracts the tag identifier\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n Returns : TagId\n\n \n \n The identifier corresponding to the tag\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n truncateResults\n \n \n \n \n \n \n \n truncateResults(result: TagSearchResult)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:198\n \n \n\n\n \n \n Truncates the number of results returned by a search\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n The results\n\n \n \n \n \n \n \n \n \n Returns : TagSearchResult\n\n \n \n Results with at most searchLimit items\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n checkedResults\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:67\n \n \n\n \n \n Object of currently checked search results\n\n \n \n\n \n \n \n \n \n \n \n \n closeSearch\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('closeSearch', {read: ElementRef, static: false})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:52\n \n \n\n \n \n Element for close search button\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n countMapping\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '=1': '1 result',\n other: '# results'\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:55\n \n \n\n \n \n Mapping for pluralizing the result total count\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n destroy$\n \n \n \n \n \n \n Default value : new Subject()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Emits and completes when component is destroyed. Used to clean up observables.\n\n \n \n\n \n \n \n \n \n \n \n \n resultsVisible\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:70\n \n \n\n \n \n Whether results are shown\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n searchControl\n \n \n \n \n \n \n Default value : new FormControl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:61\n \n \n\n \n \n Search field controller\n\n \n \n\n \n \n \n \n \n \n \n \n searchResults\n \n \n \n \n \n \n Default value : EMPTY_RESULT\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:64\n \n \n\n \n \n Search results\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input,\n OnDestroy, Output, ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { from, interval, ObservableInput, Subject } from 'rxjs';\nimport { catchError, map, switchMap, takeUntil, throttle } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../../core/models/anatomical-structure-tag';\n\n\n/** Default search results limit */\nconst DEFAULT_SEARCH_LIMIT = 5;\n/** Default search throttle time in ms */\nconst DEFAULT_SEARCH_THROTTLE = 100;\n/** Empty search result object */\nconst EMPTY_RESULT: TagSearchResult = { totalCount: 0, results: [] };\n\n\n/**\n * Component for searching, selecting, and adding tags.\n */\n@Component({\n selector: 'ccf-tag-search',\n templateUrl: './tag-search.component.html',\n styleUrls: ['./tag-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagSearchComponent implements OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-search';\n\n /** Placeholder text */\n @Input() placeholder = 'Add Anatomical Structures ...';\n\n /** Search method */\n @Input() search?: (text: string, limit: number) => ObservableInput;\n\n /** Maximum number of results to show */\n @Input() searchLimit?: number;\n\n /** Throttle time between search calls */\n @Input() searchThrottle?: number;\n\n /** Emits when tags are added */\n @Output() readonly added = new EventEmitter();\n\n /** Element for close search button */\n @ViewChild('closeSearch', { read: ElementRef, static: false }) closeSearch: ElementRef;\n\n /** Mapping for pluralizing the result total count */\n readonly countMapping = {\n '=1': '1 result',\n other: '# results'\n };\n\n /** Search field controller */\n readonly searchControl = new FormControl();\n\n /** Search results */\n searchResults = EMPTY_RESULT;\n\n /** Object of currently checked search results */\n checkedResults: Record = {};\n\n /** Whether results are shown */\n resultsVisible = false;\n\n /** Emits and completes when component is destroyed. Used to clean up observables. */\n private readonly destroy$ = new Subject();\n\n /**\n * Creates an instance of tag search component.\n *\n * @param el Element for this component\n * @param ga Analytics service\n * @param cdr Reference to change detector\n */\n constructor(\n private readonly el: ElementRef,\n private readonly ga: GoogleAnalyticsService,\n cdr: ChangeDetectorRef\n ) {\n this.searchControl.valueChanges.pipe(\n takeUntil(this.destroy$),\n throttle(\n () => interval(this.searchThrottle ?? DEFAULT_SEARCH_THROTTLE),\n { leading: true, trailing: true }\n ),\n switchMap(this.executeSearch),\n ).subscribe(result => {\n this.searchResults = result;\n this.checkedResults = this.getUpdatedCheckedResults(result);\n cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up component on destruction\n */\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Extracts the tag identifier\n *\n * @param _index Unused\n * @param tag A tag\n * @returns The identifier corresponding to the tag\n */\n tagId(_index: number, tag: Tag): TagId {\n return tag.id;\n }\n\n /**\n * Determines whether any tags have been checked\n *\n * @returns true if any tag has been checked by the user\n */\n hasCheckedTags(): boolean {\n return Object.values(this.checkedResults).some(v => v);\n }\n\n /**\n * Emits selected tags and resets the search and selections\n */\n addTags(): void {\n const { searchControl, searchResults, checkedResults } = this;\n const tags = searchResults.results.filter(tag => checkedResults[tag.id]);\n\n if (tags.length > 0) {\n searchControl.reset();\n this.searchResults = EMPTY_RESULT;\n this.checkedResults = {};\n this.ga.event('tags_added', 'tag_search', tags.map(tag => tag.label).join(','));\n this.added.emit(tags);\n }\n }\n\n /**\n * Opens the results panel\n */\n @HostListener('click') // eslint-disable-line\n @HostListener('focusin') // eslint-disable-line\n openResults(): void {\n if (!this.resultsVisible) {\n this.resultsVisible = true;\n }\n }\n\n /**\n * Closes the results panel\n *\n * @param event DOM event\n */\n @HostListener('window:click', ['$event']) // eslint-disable-line\n @HostListener('window:focusin', ['$event']) // eslint-disable-line\n closeResults(event: Event): void {\n const { closeSearch } = this;\n if (this.resultsVisible && event.target instanceof Node) {\n if (!this.el.nativeElement.contains(event.target) || closeSearch.nativeElement.contains(event.target)) {\n this.resultsVisible = false;\n }\n }\n }\n\n /**\n * Executes a search on a piece of text.\n *\n * @param text Search text\n * @returns An observable of the search result.\n */\n @Bind\n private executeSearch(text: string): ObservableInput {\n const { search, searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n if (!text || !search) {\n return [EMPTY_RESULT];\n }\n\n return from(search(text, searchLimit)).pipe(\n catchError(() => [EMPTY_RESULT]),\n map(this.truncateResults)\n );\n }\n\n /**\n * Truncates the number of results returned by a search\n *\n * @param result The results\n * @returns Results with at most `searchLimit` items\n */\n @Bind\n private truncateResults(result: TagSearchResult): TagSearchResult {\n const { searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n const items = result.results;\n\n if (items.length > searchLimit) {\n return {\n ...result,\n results: items.slice(0, searchLimit)\n };\n }\n\n return result;\n }\n\n /**\n * Computes a new checked object for result items. Already checked items are preserved.\n *\n * @param result New results\n * @returns A new checked object\n */\n private getUpdatedCheckedResults(result: TagSearchResult): Record {\n const prev = this.checkedResults;\n return result.results.reduce((acc, { id }) => {\n acc[id] = prev[id] ?? false;\n return acc;\n }, {});\n }\n}\n\n \n\n \n \n\n\n \n \n \n add\n \n \n\n \n \n \n {{ result.label }}\n \n \n\n \n {{ searchResults.totalCount | i18nPlural:countMapping }}\n \n \n\n\n \n\n \n \n ./tag-search.component.scss\n \n :host {\n display: block;\n position: relative;\n\n .spacer {\n // Calculated by adding up all padding/margin/height of material form fields\n height: 3.25rem;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n\n .search-box {\n display: flex;\n width: 100%;\n align-items: center;\n height: 3rem;\n\n .add-button {\n border-radius: 0.25rem;\n border: none;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n height: 100%;\n }\n }\n\n .results {\n margin-top: 0.5rem;\n\n .count {\n margin-top: 0.5rem;\n font-size: 0.75rem;\n text-align: end;\n }\n }\n\n ::ng-deep {\n .mat-form-field-wrapper {\n padding-bottom: 0;\n border-radius: 0.5rem;\n\n .mat-form-field-flex {\n padding-right: 0 !important;\n }\n }\n\n .mat-form-field-outline {\n opacity: 1 !important;\n }\n\n .mat-form-field-outline-thick {\n opacity: 0 !important;\n }\n\n .mat-form-field-infix {\n padding: 0.063rem;\n padding-top: 0.313rem;\n border: 0;\n }\n }\n\n &.expanded {\n ::ng-deep {\n .mat-form-field-wrapper {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e5e;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' add {{ result.label }} {{ searchResults.totalCount | i18nPlural:countMapping }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagSearchModule.html":{"url":"modules/TagSearchModule.html","title":"module - TagSearchModule","body":"\n \n\n\n\n\n Modules\n TagSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagSearchComponent\n \n \n \n \n Exports\n \n \n TagSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { TagSearchComponent } from './tag-search.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n ],\n declarations: [TagSearchComponent],\n exports: [TagSearchComponent]\n})\nexport class TagSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TagSearchResult.html":{"url":"interfaces/TagSearchResult.html","title":"interface - TagSearchResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TagSearchResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n Search result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n results\n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n results\n \n \n \n \n \n \n \n \n results: Tag[]\n\n \n \n\n\n \n \n Type : Tag[]\n\n \n \n\n\n\n\n\n \n \n Partial results up to a limit\n\n \n \n \n \n \n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n totalCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Total number of possible results\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThemingModule.html":{"url":"modules/ThemingModule.html","title":"module - ThemingModule","body":"\n \n\n\n\n\n Modules\n ThemingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\n\nThemingService\n\nThemingService\n\n\n\nThemingModule\n\nThemingModule\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ThemingService\n \n \n \n \n \n\n\n \n\n\n \n import { APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\n\nimport { ThemingService } from './theming.service';\n\n\n@NgModule({\n providers: [\n { provide: APP_BOOTSTRAP_LISTENER, useValue: ThemingService.initialize, multi: true },\n ThemingService\n ]\n})\nexport class ThemingModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ThemingService.html":{"url":"injectables/ThemingService.html","title":"injectable - ThemingService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ThemingService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n\n\n \n Description\n \n \n Manages the currently active theme.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n defaultTheme\n \n \n Private\n element\n \n \n Private\n injector\n \n \n Private\n theme\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n getTheme\n \n \n Static\n initialize\n \n \n initialize\n \n \n resetTheme\n \n \n setTheme\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultTheme: string | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:25\n \n \n\n \n \n Creates the theming service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultTheme\n \n \n string | null\n \n \n \n No\n \n \n \n An optional default theme.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n \n \n \n \n \n applyThemeClass(cls: string, method: \"add\" | \"remove\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:83\n \n \n\n\n \n \n Adds or removes a theme class from the necessary components.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n cls\n \n string\n \n\n \n No\n \n\n \n \n\n \n The theme class.\n\n \n \n \n method\n \n \"add\" | \"remove\"\n \n\n \n No\n \n\n \n 'add'\n \n\n \n Whether to add or remove the theme.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTheme\n \n \n \n \n \n \ngetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:39\n \n \n\n\n \n \n Get the currently active theme.\n\n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n initialize\n \n \n \n \n \n \n \n initialize(component: ComponentRef<>)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:21\n \n \n\n\n \n \n Initializer called during bootstrap to set up theming.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n ComponentRef<>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initialize\n \n \n \n \n \n \ninitialize(element: ElementRef<>, injector: Injector)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:71\n \n \n\n\n \n \n Binds theming service to a component.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ElementRef<>\n \n\n \n No\n \n\n\n \n \n injector\n \n Injector\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetTheme\n \n \n \n \n \n \nresetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:60\n \n \n\n\n \n \n Resets the theme to the default.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setTheme\n \n \n \n \n \n \nsetTheme(theme: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:48\n \n \n\n\n \n \n Sets the currently active theme.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n theme\n \n string\n \n\n \n No\n \n\n\n \n The new theme class.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n defaultTheme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:16\n \n \n\n \n \n Default theme class.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n element\n \n \n \n \n \n \n Type : ElementRef<>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n injector\n \n \n \n \n \n \n Type : Injector\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:18\n \n \n\n \n \n Currently active theme class.\n\n \n \n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { ComponentRef, ElementRef, Inject, Injector, Injectable, InjectionToken, Optional, Renderer2 } from '@angular/core';\n\n/** Token for specifying the default theme class. */\nexport const DEFAULT_THEME = new InjectionToken('Default theme class');\n\n/**\n * Manages the currently active theme.\n */\n@Injectable()\nexport class ThemingService {\n private element: ElementRef;\n private injector: Injector;\n /** Default theme class. */\n private defaultTheme: string;\n /** Currently active theme class. */\n private theme: string;\n\n /** Initializer called during bootstrap to set up theming. */\n static initialize(component: ComponentRef): void {\n const { injector, location } = component;\n const service = injector.get(ThemingService);\n service.initialize(location, injector);\n }\n\n /**\n * Creates the theming service.\n *\n * @param defaultTheme An optional default theme.\n */\n constructor(@Optional() @Inject(DEFAULT_THEME) defaultTheme: string | null) {\n this.defaultTheme = this.theme = defaultTheme ?? '';\n }\n\n /**\n * Get the currently active theme.\n */\n getTheme(): string {\n return this.theme;\n }\n\n /**\n * Sets the currently active theme.\n *\n * @param theme The new theme class.\n */\n setTheme(theme: string): void {\n if (theme === this.theme) {\n return;\n }\n this.applyThemeClass(this.theme, 'remove');\n this.applyThemeClass(theme);\n this.theme = theme;\n }\n\n /**\n * Resets the theme to the default.\n */\n resetTheme(): void {\n this.setTheme(this.defaultTheme);\n }\n\n\n /**\n * Binds theming service to a component.\n *\n * @param component The top level component.\n * @throws {Error} If the theming service has already been initialized.\n */\n initialize(element: ElementRef, injector: Injector): void {\n this.element = element;\n this.injector = injector;\n this.applyThemeClass(this.getTheme());\n }\n\n /**\n * Adds or removes a theme class from the necessary components.\n *\n * @param cls The theme class.\n * @param method Whether to add or remove the theme.\n */\n private applyThemeClass(cls: string, method: 'add' | 'remove' = 'add'): void {\n const { element, injector } = this;\n if (!cls || !element || !injector) {\n return;\n }\n\n const renderer = injector.get(Renderer2, null);\n if (!renderer) {\n return;\n }\n\n const root = element.nativeElement as HTMLElement;\n const overlay = injector.get(OverlayContainer, null)?.getContainerElement();\n const methodName = method === 'add' ? 'addClass' : 'removeClass';\n\n renderer[methodName](root, cls);\n if (overlay) {\n renderer[methodName](overlay, cls);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ToggleButtonComponent.html":{"url":"components/ToggleButtonComponent.html","title":"component - ToggleButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ToggleButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n\n\n\n \n Description\n \n \n Implements open/close button for the side drawers.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-toggle-button\n \n\n \n styleUrls\n ./toggle-button.component.scss\n \n\n\n\n \n templateUrl\n ./toggle-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Private\n opened\n \n \n Private\n position\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n toggle\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n icon\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(drawer: DrawerComponent, messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Creates an instance of toggle button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n drawer\n \n \n DrawerComponent\n \n \n \n No\n \n \n \n The owning side drawer.\n\n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-toggle-button\"\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n\n \n \n Whether this button is attach to a drawer in position 'end'.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleMessage\n \n \n \n \n \n \nhandleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:85\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:65\n \n \n\n\n \n \n Initializes this component.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:75\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggle\n \n \n \n \n \n \ntoggle()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:97\n \n \n\n\n \n \n Updates the drawer state.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n opened\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:40\n \n \n\n \n \n Whether the owning drawer is opened.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n position\n \n \n \n \n \n \n Type : \"start\" | \"end\"\n\n \n \n \n \n Default value : 'start'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:38\n \n \n\n \n \n Position of the owning side drawer.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n\n \n \n getclassEnd()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n \n \n Whether this button is attach to a drawer in position 'end'.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n \n \n \n \n \n icon\n \n \n\n \n \n geticon()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:27\n \n \n \n \n Gets the name of the icon to display.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Implements open/close button for the side drawers.\n */\n@Component({\n selector: 'ccf-drawer-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButtonComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-toggle-button';\n /** Whether this button is attach to a drawer in position 'end'. */\n @HostBinding('class.ccf-drawer-toggle-button-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Gets the name of the icon to display. */\n get icon(): string {\n let expand = 'arrow_right';\n let collapse = 'arrow_left';\n if (this.position === 'end') {\n ([expand, collapse] = [collapse, expand]);\n }\n\n return this.opened ? collapse : expand;\n }\n\n /** Position of the owning side drawer. */\n private position: 'start' | 'end' = 'start';\n /** Whether the owning drawer is opened. */\n private opened = false;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of toggle button component.\n *\n * @param drawer The owning side drawer.\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(private drawer: DrawerComponent,\n messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n const channel = messageService.connect(this);\n this.subscriptions.add(channel.getMessagesFromSource(drawer).subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.position = this.drawer.position;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to be run.\n */\n handleMessage(msg: Message): boolean {\n if (msg.payload.type === 'drawer-toggled') {\n this.opened = msg.payload.opened;\n return true;\n }\n\n return false;\n }\n\n /**\n * Updates the drawer state.\n */\n toggle(): void {\n const drawer = this.drawer;\n const { opened, expanded } = drawer;\n if (opened) {\n if (expanded) {\n drawer.closeExpanded();\n } else {\n drawer.close();\n }\n } else {\n drawer.open();\n }\n }\n}\n\n \n\n \n \n arrow_right\n\n\n arrow_left\n\n \n\n \n \n ./toggle-button.component.scss\n \n :host {\n position: absolute;\n top: calc(50% - 2.0625rem);\n right: -1.0625rem;\n width: 1.0625rem;\n height: 3rem;\n border-radius: 0rem 0.25rem 0.25rem 0rem;\n cursor: pointer;\n transition: .25s;\n\n &.ccf-drawer-toggle-button-end {\n right: unset;\n left: calc(-1rem - 1px);\n border-radius: 0.25rem 0rem 0rem 0.25rem;\n }\n\n .expand-collapse-icon {\n position: absolute;\n right: 0rem;\n transition: .6s;\n padding-left: .15rem;\n\n &.hidden {\n opacity: 0;\n }\n }\n\n &.ccf-drawer-toggle-button-end .expand-collapse-icon {\n right: unset;\n left: -0.25rem;\n }\n}\n\n.mat-icon {\n right: 0.3rem;\n top: .675rem;\n padding-top: .05rem;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' arrow_right arrow_left'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ToggleButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/User.html":{"url":"interfaces/User.html","title":"interface - User","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserName.html":{"url":"interfaces/UserName.html","title":"interface - UserName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n\n\n \n Description\n \n \n User name data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's first name\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's last name\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalComponent.html":{"url":"components/VideoModalComponent.html","title":"component - VideoModalComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n\n\n\n \n Description\n \n \n Component for displaying a youtube video inside of an angular material modal.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal\n \n\n \n styleUrls\n ./video-modal.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n loadYoutubePlayerAPI\n \n \n ngOnInit\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(renderer2: Renderer2, dialogRef: MatDialogRef, data, document: Document)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n Creates an instance of video modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n renderer2\n \n \n Renderer2\n \n \n \n No\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n data\n \n \n \n \n \n No\n \n \n \n \n document\n \n \n Document\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal\"\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:46\n \n \n\n\n \n \n Closes the video modal component\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n loadYoutubePlayerAPI\n \n \n \n \n \n \nloadYoutubePlayerAPI()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:37\n \n \n\n\n \n \n loads the IFrame Player API code asynchronously from YouTube.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:30\n \n \n\n\n \n \n load the youtube player api in on init\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:22\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, OnInit, HostBinding, Inject, Renderer2 } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Component for displaying a youtube video inside of an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal',\n templateUrl: './video-modal.component.html',\n styleUrls: ['./video-modal.component.scss']\n})\nexport class VideoModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal';\n\n /**\n * Creates an instance of video modal component.\n */\n constructor(\n private renderer2: Renderer2,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: unknown,\n @Inject(DOCUMENT) private document: Document\n ) { }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n this.loadYoutubePlayerAPI();\n }\n\n /**\n * loads the IFrame Player API code asynchronously from YouTube.\n */\n loadYoutubePlayerAPI(): void {\n const script = this.renderer2.createElement('script') as HTMLScriptElement;\n script.src = 'https://www.youtube.com/iframe_api';\n this.renderer2.appendChild(this.document.body, script);\n }\n\n /**\n * Closes the video modal component\n */\n close(): void {\n this.dialogRef.close();\n }\n}\n\n \n\n \n \n \n clear\n \n \n \n \n \n \n\n\n \n\n \n \n ./video-modal.component.scss\n \n ::ng-deep {\n .mat-dialog-container {\n padding: 0;\n }\n\n .mat-dialog-content {\n display: block;\n margin: auto;\n padding: 0;\n max-height: 65vh;\n overflow: auto;\n width: fit-content;\n }\n}\n\n:host {\n .video-modal.wrapper {\n width: fit-content;\n\n .container {\n position: relative;\n\n .content {\n padding: 0.5rem;\n padding-top: 3rem;\n width: fit-content;\n border-radius: .5rem;\n }\n\n .close-icon {\n cursor: pointer;\n position: absolute;\n right: 0rem;\n font-size: 2.5rem;\n width: 2.5rem;\n height: 2.5rem;\n transition: .5s color;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalLauncherComponent.html":{"url":"components/VideoModalLauncherComponent.html","title":"component - VideoModalLauncherComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalLauncherComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n\n\n\n \n Description\n \n \n Component for launching an angular material modal.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal-launcher\n \n\n \n styleUrls\n ./video-modal-launcher.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal-launcher.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n visible\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n\n \n \n Creates an instance of video modal launcher component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n \n \n Input used to toggle the launcher on and off.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal-launcher\"\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n \n \nlaunchVideoModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:32\n \n \n\n\n \n \n Launches the video modal component.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { VideoModalComponent } from '../video-modal/video-modal.component';\n\n/**\n * Component for launching an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal-launcher',\n templateUrl: './video-modal-launcher.component.html',\n styleUrls: ['./video-modal-launcher.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VideoModalLauncherComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal-launcher';\n\n /**\n * Input used to toggle the launcher on and off.\n */\n @Input() visible = true;\n\n /**\n * Creates an instance of video modal launcher component.\n */\n constructor(private readonly dialog: MatDialog) { }\n\n /**\n * Launches the video modal component.\n */\n launchVideoModal(): void {\n this.dialog.open(VideoModalComponent, {\n width: '46rem',\n data: {}\n });\n }\n}\n\n \n\n \n \n WATCH\n \"How to use the HuBMAP Registration User Interface\"\n\n\n play_circle_outline\n\n \n\n \n \n ./video-modal-launcher.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n\n .video-description {\n margin-bottom: 1.5rem;\n text-align: center;\n width: 30rem;\n\n .title {\n margin-bottom: 1rem;\n }\n }\n\n .play-icon-button {\n cursor: pointer;\n font-size: 5rem;\n width: 5rem;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' WATCH \"How to use the HuBMAP Registration User Interface\" play_circle_outline'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalLauncherComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalLauncherModule.html":{"url":"modules/VideoModalLauncherModule.html","title":"module - VideoModalLauncherModule","body":"\n \n\n\n\n\n Modules\n VideoModalLauncherModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalLauncherComponent\n \n \n \n \n Exports\n \n \n VideoModalLauncherComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalLauncherComponent } from './video-modal-launcher.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalLauncherComponent ],\n imports: [\n CommonModule,\n MatIconModule\n ],\n exports: [ VideoModalLauncherComponent ]\n})\nexport class VideoModalLauncherModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalModule.html":{"url":"modules/VideoModalModule.html","title":"module - VideoModalModule","body":"\n \n\n\n\n\n Modules\n VideoModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalComponent\n \n \n \n \n Exports\n \n \n VideoModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalComponent } from './video-modal.component';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalComponent ],\n imports: [\n CommonModule,\n YouTubePlayerModule,\n MatIconModule,\n MatDialogModule\n ],\n exports: [ VideoModalComponent ]\n})\nexport class VideoModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/VisibilityItem.html":{"url":"interfaces/VisibilityItem.html","title":"interface - VisibilityItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n VisibilityItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n\n\n \n Description\n \n \n Interface for visibility item data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n tooltip\n \n \n \n \n visible\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Id of the item\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the item\n\n \n \n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Opacity value\n\n \n \n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Tooltip text to be displayed in the stage\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n \n \n \n \n visible: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the item is currently highlighted\n\n \n \n \n \n \n \n\n\n \n export interface VisibilityItem {\n /**\n * Id of the item\n */\n id: string | number;\n\n /**\n * Name of the item\n */\n name: string;\n\n /**\n * Whether the item is currently highlighted\n */\n visible: boolean;\n\n /**\n * Opacity value\n */\n opacity?: number;\n\n /**\n * Tooltip text to be displayed in the stage\n */\n tooltip?: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityMenuComponent.html":{"url":"components/VisibilityMenuComponent.html","title":"component - VisibilityMenuComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityMenuComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n\n\n\n \n Description\n \n \n Menu for displaying visibility options\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-menu\n \n\n \n styleUrls\n ./visibility-menu.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-menu.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getId\n \n \n mouseOut\n \n \n mouseOver\n \n \n resetItem\n \n \n setAllOpacity\n \n \n toggleVisibility\n \n \n updateOpacity\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n items\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n hover\n \n \n itemsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n\n \n \n Creates an instance of visibility menu component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n items\n \n \n \n \n Type : VisibilityItem[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:26\n \n \n \n \n Items to be displayed in the visibility menu\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : VisibilityItem | undefined\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:31\n \n \n \n \n The currently selected item\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n hover\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:36\n \n \n \n \n Emits the currently hovered item\n\n \n \n \n \n \n \n \n \n \n itemsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n \n \n Emits whenever there is a change to one or more items.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-menu\"\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId(_index: number, item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:132\n \n \n\n\n \n \n Returns the id of an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n The item to get an id for\n\n \n \n \n \n \n \n \n \n Returns : string | number\n\n \n \n id Id of the item\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOut\n \n \n \n \n \n \nmouseOut()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:80\n \n \n\n\n \n \n Clears current selection and emits undefined in response to mouse out\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOver\n \n \n \n \n \n \nmouseOver(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:70\n \n \n\n\n \n \n Changes current selection to hovered over item and emits the item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetItem\n \n \n \n \n \n \nresetItem()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:104\n \n \n\n\n \n \n Resets item to opacity 20 and visible\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setAllOpacity\n \n \n \n \n \n \nsetAllOpacity(value: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:119\n \n \n\n\n \n \n Sets all items to the same opacity and makes them visible\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:55\n \n \n\n\n \n \n Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateOpacity\n \n \n \n \n \n \nupdateOpacity(value: number | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:90\n \n \n\n\n \n \n Updates opacity of the currently selected item (if one is selected) and emits the new items\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number | undefined\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { VisibilityItem } from '../../../core/models/visibility-item';\n\n\n/**\n * Menu for displaying visibility options\n */\n@Component({\n selector: 'ccf-visibility-menu',\n templateUrl: './visibility-menu.component.html',\n styleUrls: ['./visibility-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityMenuComponent {\n\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-menu';\n\n /**\n * Items to be displayed in the visibility menu\n */\n @Input() items: VisibilityItem[];\n\n /**\n * The currently selected item\n */\n @Input() selection: VisibilityItem | undefined;\n\n /**\n * Emits the currently hovered item\n */\n @Output() readonly hover = new EventEmitter();\n\n /**\n * Emits whenever there is a change to one or more items.\n */\n @Output() readonly itemsChange = new EventEmitter();\n\n /**\n * Creates an instance of visibility menu component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n *\n * @param item Menu item\n */\n toggleVisibility(item: VisibilityItem): void {\n item = { ...item, visible: !item.visible };\n if (this.selection && item.id === this.selection.id) {\n this.selection = { ...this.selection, visible: item.visible };\n }\n\n this.ga.event('visibility_toggled', 'visibility_menu', '' + item.id, +item.visible);\n this.updateOpacity(item.opacity);\n }\n\n /**\n * Changes current selection to hovered over item and emits the item\n *\n * @param item Menu item\n */\n mouseOver(item: VisibilityItem): void {\n this.selection = item === this.selection ? undefined : item;\n this.hover.emit(item);\n }\n\n /**\n * Clears current selection and emits undefined in response to mouse out\n *\n * @param item Menu item\n */\n mouseOut(): void {\n this.selection = undefined;\n this.hover.emit(undefined);\n }\n\n /**\n * Updates opacity of the currently selected item (if one is selected) and emits the new items\n *\n * @param value Updated opacity value\n */\n updateOpacity(value: number | undefined): void {\n if (!this.selection) {\n return;\n }\n const updatedSelection = { ...this.selection, opacity: value };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('opacity_update', 'visibility_menu', '' + updatedSelection.id, updatedSelection.opacity);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Resets item to opacity 20 and visible\n */\n resetItem(): void {\n if (this.selection) {\n const updatedSelection = { ...this.selection, opacity: 20, visible: true };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('item_reset', 'visibility_menu', '' + updatedSelection.id);\n this.itemsChange.emit(this.items);\n }\n }\n\n /**\n * Sets all items to the same opacity and makes them visible\n *\n * @param value Updated opacity value\n */\n setAllOpacity(value: number): void {\n this.items = this.items.map(i => ({ ...i, opacity: value, visible: true }));\n this.ga.event('all_items_opacity_update', 'visibility_menu', undefined, value);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Returns the id of an item\n *\n * @param index Index of item in items array\n * @param item The item to get an id for\n * @returns id Id of the item\n */\n getId(_index: number, item: VisibilityItem): string | number {\n return item.id;\n }\n}\n\n \n\n \n refresh\n\n\n \n {{ item.name }}\n\n \n \n \n \n\n\n \n\n \n \n ./visibility-menu.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n margin-right: 0;\n margin-left: 0;\n max-height: 18rem;\n overflow-y: auto;\n scrollbar-width: thin;\n\n .icon {\n padding: 0.25rem;\n border-radius: 0.25rem;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n position: absolute;\n top: 3rem;\n \n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-entry {\n display: flex;\n height: 2.25rem;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n\n .opacity {\n cursor: pointer;\n }\n\n .opacity-icon {\n z-index: 1;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-name {\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 0.5rem;\n opacity: 1;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n max-width: calc(100% - 2.5rem);\n\n &.hidden {\n opacity: 0;\n }\n }\n\n .slider {\n width: calc(100% - 2rem);\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n left: 2rem;\n position: absolute;\n opacity: 1;\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.1s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'refresh {{ item.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityMenuComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityMenuModule.html":{"url":"modules/VisibilityMenuModule.html","title":"module - VisibilityMenuModule","body":"\n \n\n\n\n\n Modules\n VisibilityMenuModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityMenuComponent\n \n \n \n \n Exports\n \n \n VisibilityMenuComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { VisibilityMenuComponent } from './visibility-menu.component';\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatRippleModule, OpacitySliderModule],\n declarations: [VisibilityMenuComponent],\n exports: [VisibilityMenuComponent]\n})\nexport class VisibilityMenuModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityToggleComponent.html":{"url":"components/VisibilityToggleComponent.html","title":"component - VisibilityToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n\n\n\n \n Description\n \n \n Component for easily adding a visibility toggle with customizable label and\npre set up emitter.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-toggle\n \n\n \n styleUrls\n ./visibility-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n toggleLabel\n \n \n visible\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n visibilityChanged\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n\n \n \n Creates an instance of visibility toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n toggleLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:29\n \n \n \n \n Input that allows the label to be set from outside the component,\nmaking it more reusable.\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:23\n \n \n \n \n Keeps track of the current visibility state of the toggle.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n visibilityChanged\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n \n \n Outputs the new visibility state whenever toggleVisibility()\nchanges it.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-toggle\"\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:52\n \n \n\n\n \n \n Toggles visibility and emits the new value.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Component for easily adding a visibility toggle with customizable label and\n * pre set up emitter.\n */\n@Component({\n selector: 'ccf-visibility-toggle',\n templateUrl: './visibility-toggle.component.html',\n styleUrls: ['./visibility-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-toggle';\n\n /**\n * Keeps track of the current visibility state of the toggle.\n */\n @Input() visible = false;\n\n /**\n * Input that allows the label to be set from outside the component,\n * making it more reusable.\n */\n @Input() toggleLabel = '';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Outputs the new visibility state whenever toggleVisibility()\n * changes it.\n */\n @Output() readonly visibilityChanged = new EventEmitter();\n\n /**\n * Creates an instance of visibility toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility and emits the new value.\n */\n toggleVisibility(): void {\n this.visible = !this.visible;\n\n this.ga.event('visibility_toggled', 'visibility_toggle', '' + this.visible);\n this.visibilityChanged.emit(this.visible);\n }\n}\n\n \n\n \n \n \n \n \n done\n \n \n {{ toggleLabel }}\n \n\n \n\n \n \n ./visibility-toggle.component.scss\n \n :host {\n height: 3rem;\n display: flex;\n align-items: center;\n \n ::ng-deep .mat-chip {\n padding: 0 !important;\n\n &.disabled {\n cursor: not-allowed !important;\n }\n }\n\n .toggle-div {\n width: 100%;\n display: flex;\n justify-content: center;\n padding-top: 1.5rem;\n\n .toggle-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n display: flex;\n padding-left: .5rem;\n cursor: pointer;\n align-items: center;\n position: relative;\n border-width: 0.075rem;\n border-style: solid;\n height: 2.25rem;\n border-radius: 1.5rem;\n transition: background-color 0.2s ease-in-out;\n\n .icon-background {\n border-radius: 1.5rem;\n height: 2.06rem;\n width: 2.06rem;\n display: flex;\n align-items: center;\n justify-content: center;\n .icon {\n transition: .6s;\n position: absolute;\n &.block {\n width: 1.125rem;\n }\n &.hidden {\n opacity: 0;\n }\n }\n }\n \n .toggle-label {\n font-weight: bold;\n margin-left: 0.5rem;\n padding-right: 1.25rem;\n padding-left: 0.25rem;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' done {{ toggleLabel }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityToggleModule.html":{"url":"modules/VisibilityToggleModule.html","title":"module - VisibilityToggleModule","body":"\n \n\n\n\n\n Modules\n VisibilityToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityToggleComponent\n \n \n \n \n Exports\n \n \n VisibilityToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VisibilityToggleComponent } from './visibility-toggle.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatChipsModule } from '@angular/material/chips';\n\n@NgModule({\n declarations: [VisibilityToggleComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule\n ],\n exports: [ VisibilityToggleComponent ]\n})\nexport class VisibilityToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XYZTriplet.html":{"url":"interfaces/XYZTriplet.html","title":"interface - XYZTriplet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XYZTriplet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n A object with x, y, and z channels of the same type.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n X channel\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Y channel\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Z channel\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Common Coordinate Framework (CCF) User Interfaces\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-rui/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n component\n AppComponent\n \n 54 %\n (12/22)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n AppOptions\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n User\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n Tag\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n TagSearchResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n interface\n DocumentationContent\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n interface\n ExtractionSet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n interface\n MetaDataField\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n interface\n VisibilityItem\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n function\n globalConfigFactory\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n GLOBAL_CONFIG\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n ruiConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n injectable\n ThemingService\n \n 83 %\n (10/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n variable\n DEFAULT_THEME\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n injectable\n AnatomicalStructureTagState\n \n 58 %\n (7/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n interface\n AnatomicalStructureTagStateModel\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n interface\n DefaultIconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n variable\n DEFAULT_ICONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n injectable\n IconRegistryState\n \n 85 %\n (6/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n interface\n IconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n injectable\n ModelState\n \n 89 %\n (34/38)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n ModelStateModel\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n XYZTriplet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n variable\n RUI_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n injectable\n PageState\n \n 50 %\n (7/14)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n PageStateModel\n \n 42 %\n (3/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n Person\n \n 33 %\n (1/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n injectable\n ReferenceDataState\n \n 57 %\n (4/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n OrganData\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n ReferenceDataStateModel\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n injectable\n RegistrationState\n \n 82 %\n (14/17)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n interface\n RegistrationStateModel\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n injectable\n SceneState\n \n 50 %\n (4/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n interface\n SceneStateModel\n \n 50 %\n (1/2)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n function\n getNodeBbox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/content.component.ts\n \n component\n ContentComponent\n \n 81 %\n (13/16)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n component\n StageNavComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n \n component\n VideoModalLauncherComponent\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n \n component\n VideoModalComponent\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/header/header.component.ts\n \n component\n HeaderComponent\n \n 66 %\n (4/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n \n component\n LeftSidebarComponent\n \n 61 %\n (11/18)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n \n component\n RegistrationContentComponent\n \n 94 %\n (16/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n \n component\n RegistrationModalComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n \n component\n ReviewButtonComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n component\n ReviewModalComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n interface\n ReviewModalData\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n \n component\n RightSidebarComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n component\n BlockSizeInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n interface\n BlockSize\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n variable\n DEFAULT_BLOCK_SIZE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n \n component\n DetailsLabelComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n component\n ContainerComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n function\n throwDuplicateDrawersError\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n \n component\n ContentComponent\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n component\n DrawerComponent\n \n 95 %\n (42/44)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n class\n InitializationState\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n variable\n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n ContentContainerChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerContainersChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerInitialized\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerToggled\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n variable\n MessageService\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n \n component\n ToggleButtonComponent\n \n 100 %\n (12/12)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n \n component\n ExtractionSetDropdownComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n \n component\n JsonFileReaderComponent\n \n 88 %\n (8/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n \n component\n LabeledSlideToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n component\n NameInputComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n interface\n UserName\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n component\n RotationSliderComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n interface\n Rotation\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n variable\n DEFAULT_ROTATION\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n component\n SlicesInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n variable\n DEFAULT_SLICES_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n \n component\n TagListComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n component\n TagSearchComponent\n \n 100 %\n (29/29)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_LIMIT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_THROTTLE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n EMPTY_RESULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n \n component\n VisibilityMenuComponent\n \n 100 %\n (15/15)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n \n component\n VisibilityToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n class\n MessageChannel\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n injectable\n MessageService\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n Message\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n MessageServiceConfig\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n applySpatialPlacement   (projects/.../reference-data.state.ts)\n \n \n getNodeBbox   (projects/.../scene.state.ts)\n \n \n globalConfigFactory   (projects/.../config.ts)\n \n \n throwDuplicateDrawersError   (projects/.../container.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n \n \n \n \n \n \n applySpatialPlacement\n \n \n \n \n \n \napplySpatialPlacement(tx, placement)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n tx\n\n \n No\n \n\n\n \n \n placement\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n \n \n \n \n \n \n getNodeBbox\n \n \n \n \n \n \ngetNodeBbox(model)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n model\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : AABB\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n globalConfigFactory\n \n \n \n \n \n \nglobalConfigFactory(globals)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n globals\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : GlobalConfig\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n \n \n \n \n \n \n throwDuplicateDrawersError\n \n \n \n \n \n \nthrowDuplicateDrawersError(position)\n \n \n\n\n\n\n \n \n Helper function for creating drawer errors.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n position\n\n \n No\n \n\n\n \n The position of the drawer.\n\n \n \n \n \n \n \n \n \n Returns : never\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nCommon Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://ccf-api--staging.herokuapp.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\n\nBackground and More Information\nFor more information about the Common Coordinate Framework (CCF), see the HuBMAP CCF Portal at https://hubmapconsortium.github.io/ccf/.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BlockSizeInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ConfigModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DetailsLabelModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DrawerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ExtractionSetDropdownModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n HeaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n JsonFileReaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LabeledSlideToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LeftSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n NameInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewButtonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RightSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RotationSliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SlicesInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StageNavModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n TagListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TagSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThemingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalLauncherModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityMenuModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_declarations\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_declarations\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\nContentComponent\n\nContentComponent\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\nConfigModule\n\nConfigModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\nContainerComponent\n\nContainerComponent\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nTagListComponent\n\nTagListComponent\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nThemingService\n\nThemingService\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 29 Modules\n \n \n \n \n \n \n \n \n 29 Components\n \n \n \n \n \n \n \n 9 Injectables\n \n \n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 32 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n CancelRegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n ContainerPayload   (projects/.../messages.ts)\n \n \n DrawerPayload   (projects/.../messages.ts)\n \n \n ExpandedState   (projects/.../drawer.component.ts)\n \n \n ExpandedState2   (projects/.../drawer.component.ts)\n \n \n FetchPreviousRegistrationsCallback   (projects/.../app-web-component.component.ts)\n \n \n Message   (projects/.../messages.ts)\n \n \n MessageChannel   (projects/.../messages.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n MetaData   (projects/.../meta-data.ts)\n \n \n OpenedState   (projects/.../drawer.component.ts)\n \n \n Organ   (projects/.../app-web-component.component.ts)\n \n \n Payload   (projects/.../messages.ts)\n \n \n RegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n Side   (projects/.../stage-nav.component.ts)\n \n \n TagId   (projects/.../anatomical-structure-tag.ts)\n \n \n User   (projects/.../app-web-component.component.ts)\n \n \n ViewSide   (projects/.../model.state.ts)\n \n \n ViewType   (projects/.../model.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n \n \n \n \n \n \n CancelRegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n FetchPreviousRegistrationsCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n Organ\n \n \n \n \n NonNullable<>\n\n \n \n \n \n \n \n \n \n \n RegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n User\n \n \n \n \n NonNullable<>\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n ContainerPayload\n \n \n \n \n Payload types for messages sent from the drawer container.\n\n \n \n \n \n ContentContainerChanged | DrawerContainersChanged\n\n \n \n \n \n \n \n \n \n \n DrawerPayload\n \n \n \n \n Payload types for messages sent from the drawers.\n\n \n \n \n \n DrawerToggled | DrawerInitialized\n\n \n \n \n \n \n \n \n \n \n Message\n \n \n \n \n Specific message type.\n\n \n \n \n \n GenericMessage\n\n \n \n \n \n \n \n \n \n \n MessageChannel\n \n \n \n \n Specific channel type.\n\n \n \n \n \n GenericMessageChannel\n\n \n \n \n \n \n \n \n \n \n MessageService\n \n \n \n \n Specific service type.\n\n \n \n \n \n GenericMessageService\n\n \n \n \n \n \n \n \n \n \n Payload\n \n \n \n \n Combined payload type for all drawer sub components.\n\n \n \n \n \n ContainerPayload | DrawerPayload\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n ExpandedState\n \n \n \n \n Expanded/collapsed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n \n \n \n \n \n ExpandedState2\n \n \n \n \n Expanded state relative to an opposite drawer.\n\n \n \n \n \n \"collapsed\" | \"half\" | \"extended\" | \"full\"\n\n \n \n \n \n \n \n \n \n \n OpenedState\n \n \n \n \n Opened/closed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n \n \n \n \n \n MetaData\n \n \n \n \n MetaDataField[]\n\n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n \n \n \n \n \n Side\n \n \n \n \n Valid values for side.\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\" | \"3D\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n \n \n \n \n \n TagId\n \n \n \n \n Type for tag identifiers\n\n \n \n \n \n string | number\n\n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n ViewSide\n \n \n \n \n Side which the model is viewed from\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\"\n\n \n \n \n \n \n \n \n \n \n ViewType\n \n \n \n \n Model view type\n\n \n \n \n \n \"register\" | \"3d\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE   (projects/.../block-size-input.component.ts)\n \n \n DEFAULT_ICONS   (projects/.../default-icons.ts)\n \n \n DEFAULT_ROTATION   (projects/.../rotation-slider.component.ts)\n \n \n DEFAULT_SEARCH_LIMIT   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SEARCH_THROTTLE   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SLICES_CONFIG   (projects/.../slices-input.component.ts)\n \n \n DEFAULT_THEME   (projects/.../theming.service.ts)\n \n \n EMPTY_RESULT   (projects/.../tag-search.component.ts)\n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT   (projects/.../drawer.component.ts)\n \n \n GLOBAL_CONFIG   (projects/.../config.ts)\n \n \n MESSAGE_SERVICE_CONFIG   (projects/.../message.service.ts)\n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG   (projects/.../message.service.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n RUI_ORGANS   (projects/.../model.state.ts)\n \n \n ruiConfig   (projects/.../config.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE\n \n \n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : {\n x: 10,\n y: 10,\n z: 10\n}\n \n \n\n \n \n Defaults for block sizes.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n \n \n \n \n \n \n DEFAULT_ICONS\n \n \n \n \n \n \n Type : DefaultIconDefinition[]\n\n \n \n \n \n Default value : [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n]\n \n \n\n \n \n Icons registered at startup.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n \n \n \n \n \n \n DEFAULT_ROTATION\n \n \n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : {\n x: 0,\n y: 0,\n z: 0\n}\n \n \n\n \n \n Default values for rotation.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n \n \n \n \n \n \n DEFAULT_SEARCH_LIMIT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 5\n \n \n\n \n \n Default search results limit\n\n \n \n\n \n \n \n \n \n \n \n \n DEFAULT_SEARCH_THROTTLE\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n\n \n \n Default search throttle time in ms\n\n \n \n\n \n \n \n \n \n \n \n \n EMPTY_RESULT\n \n \n \n \n \n \n Type : TagSearchResult\n\n \n \n \n \n Default value : { totalCount: 0, results: [] }\n \n \n\n \n \n Empty search result object\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_SLICES_CONFIG\n \n \n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : {\n thickness: NaN,\n numSlices: NaN\n}\n \n \n\n \n \n Default values for slices config.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n \n \n \n \n \n \n DEFAULT_THEME\n \n \n \n \n \n \n Default value : new InjectionToken('Default theme class')\n \n \n\n \n \n Token for specifying the default theme class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n}\n \n \n\n \n \n Default animation parameters.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n GLOBAL_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Global configuration object'\n)\n \n \n\n\n \n \n \n \n \n \n \n \n ruiConfig\n \n \n \n \n \n \n Type : GlobalConfig\n\n \n \n\n\n \n \n\n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n \n \n \n \n \n \n MESSAGE_SERVICE_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n)\n \n \n\n \n \n Token for specifying the message service configuration.\n\n \n \n\n \n \n \n \n \n \n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n \n \n \n \n \n Type : MessageServiceConfig\n\n \n \n \n \n Default value : {\n isolated: true\n}\n \n \n\n \n \n Default message service configuration.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n \n MessageService\n \n \n \n \n \n \n Default value : GenericMessageService\n \n \n\n \n \n Reference to the service class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n \n RUI_ORGANS\n \n \n \n \n \n \n Default value : ALL_ORGANS\n \n \n\n \n \n All organs to be displayed\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/index.html b/index.html index 8d222fb62..545ca38d3 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ - + diff --git a/main-es2015.js b/main-es2015.js index 8445dc79f..7ea359c53 100644 --- a/main-es2015.js +++ b/main-es2015.js @@ -1 +1 @@ -var W6e=Object.defineProperty,Y6e=Object.defineProperties,X6e=Object.getOwnPropertyDescriptors,XM=Object.getOwnPropertySymbols,yZ=Object.prototype.hasOwnProperty,bZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,wZ=(t,e,n)=>e in t?W6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e)=>{for(var n in e||(e={}))yZ.call(e,n)&&wZ(t,n,e[n]);if(XM)for(var n of XM(e))bZ.call(e,n)&&wZ(t,n,e[n]);return t},Un=(t,e)=>Y6e(t,X6e(e)),SZ=(t,e)=>{var n={};for(var i in t)yZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&XM)for(var i of XM(t))e.indexOf(i)<0&&bZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(Un(vt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(Un(vt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(Un(vt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(Un(vt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(Un(vt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=SZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=vt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=vt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=vt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=vt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=vt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},X=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Y(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:Y;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){X.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Xt),Kt(Yt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Xt,$t.MultiUndirectedGraph=Yt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Y(l,c),e.distance=X(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return X(e[0],e[1],z)/X(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return Y(e[1],e[0],z)+Y(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function X(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function Y(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),X=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Xt=RegExp("['\u2019]","g"),Yt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Ye,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Yo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Xi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Ye,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Yo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Xo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Yo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Yr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Xe(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Xa(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Yt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Xa(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xa=Ar("toUpperCase");function Ya(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Xo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Yo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Yo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Xe(t,Aa(t))},Ln.without=io,Ln.words=Ya,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Xi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Xa,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,Y)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,Y))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,X)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
    '+(n?t:J(t,!0))+"
    \n":"
    "+(n?t:J(t,!0))+"
    \n"},e.blockquote=function(t){return"
    \n"+t+"
    \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,e){return e&&(e="
    "+e+""),"
    - Default value : 50 + Default value : 250
    \n\n"+t+"\n"+e+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

    "+mt(l.message+"",!0)+"
    ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

    "+mt(i.message+"",!0)+"
    ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new X(t,this.project,this.concurrent))}}class X extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Y(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function yt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${yt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Xt=lt({"\u0275mod":lt}),Yt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Xt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Xe(){return Ve.lFrame.isParent}function Ye(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=zn(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function zn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Xn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?zn(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Yn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Xn(){return new ti(Ge(),Ue())}function Yn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(yt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Xi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Xi(t){return t instanceof Vi&&t.getTypeName()||null}class Yi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nr(sr,er("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Yi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Ys(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Xa(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Xo(r,o,e)&&Ya(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Xo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Yo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Xo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Xo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Xl(){return new Yl([new Fl])}let Yl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Xl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Xl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Yl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=zn(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Xs(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Yt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Yo(t,e,n,i);return Xo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Xo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Yo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Xu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Xu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Xu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Xu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Yu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Yl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Yl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Xh(t){return t===qh}class Yh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Xi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Yu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Yh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Xd(t,this.compare,this.keySelector))}}class Xd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Yd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Yd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Yd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return Y(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Xh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Xp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Yp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Xp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Yp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Xp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Xp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Xf;function Yf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Xf){const t=Element.prototype;Xf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Xf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Yd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Xg=new Ll("12.2.5");class Yg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Xm(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Ym(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Xm(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Xm(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Ym(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Ym(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Ym(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Ym(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Yb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Yb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Xb{constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Yb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Yb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Xb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Yg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Yg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Xg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Xg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Xy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Yy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Xv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Yv extends Xv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Yv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Xv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Xv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Yv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Yh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Xy(qy(Yy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let X_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Y_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(Y_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function Y_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Xp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(X_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(X_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(X_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Xw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Yw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Yw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Yw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Yw.level=Math.max(Yw.level,1)):Yw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Xx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Yx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Xx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Yw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Yw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Xx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Yw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Yx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Xx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Xx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Xx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Xx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Xx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Xx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Yw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Yw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Yw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Yw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Yw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Xx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Xx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Yw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Xx(i,"Could not deduced texture size"),Xx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Xx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Xx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Xx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Xx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Xx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Yw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Xx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Xx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Xx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Xx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Xx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Yw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Xx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Xx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Yw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Yw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Yw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Yw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Yw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Yw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Yw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Yw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Xx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Xx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Xx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Xx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Xx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Xx(!1);return i}(t,e)),t.luma.caps[e]||Yw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,XS={};function YS(t,{precision:e=XS.precision||4}={}){return t=function(t){return Math.round(t/XS.EPSILON)*XS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=XS.EPSILON;n&&(XS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+YS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",vt(vt(vt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function XC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function YC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Yw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Xx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Xx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Xx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function XE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function YE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Yw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Xx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Yw.error(`GLSL compilation errors in ${e}\n${n}`)(),Yw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Xx(this.vs instanceof bO),Xx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Yw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Yw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Yw.log(t,r)()}return Xx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Xx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Yw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Yw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Yw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Yw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:XE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:XE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:YE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Xx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Xx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Xx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Yw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Xx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Yw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Xx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Xx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Xx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Xx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Xx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Xx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=vt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Xx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Yw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Yw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Yw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Yw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Xx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Xx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Yw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Yw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Yw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Yw.table(t,r)(),Yw.table(t,s)(),Yw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Yw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Xx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Xx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function XO(){}const YO={onStart:XO,onUpdate:XO,onInterrupt:XO,onEnd:XO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=vt(vt({},YO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=XC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;YC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,Un(vt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=XC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),YC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(Un(vt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=vt(vt({},t),e);if("defines"in e&&(n.defines=vt(vt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=vt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(XS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(Un(vt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(Un(vt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(vt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,Un(vt({},e),{parameters:vt(vt(vt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(vt(vt(vt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Xk=t=>qk(t)&&t.constructor==={}.constructor,Yk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=Un(vt({},t=t[0]),{options:vt(vt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||vt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=vt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Xk(e[n])&&Xk(t[n])?vt(vt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),XP=(qP&&parseFloat(qP[1]),new Map);function YP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=XP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?YP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),XP.set(t.url,e)),t.source&&(e=YP(t.source),XP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=vt(vt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=vt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=vt(vt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Yk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=vt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,Un(vt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=Un(vt({},r),{fetch:Un(vt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:XA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):XA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=vt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=vt(vt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=Un(vt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=vt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),vt(vt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(vt(vt(vt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=vt(vt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=vt(vt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=vt(vt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(vt(vt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(vt(vt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,Un(vt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&Un(vt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=vt(vt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,Un(vt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,Un(vt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?Un(vt({},e),{transitionInterpolator:new pM(Un(vt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(Un(vt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(vt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(vt(vt(vt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(Un(vt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(Un(vt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(Un(vt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=vt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=vt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=XM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||XM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class YM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(Un(vt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=XA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=Un(vt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(vt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=Un(vt(vt(vt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(Un(vt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(Un(vt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(vt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(vt(vt(vt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,Un(vt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:Un(vt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return vt(vt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(Un(vt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=vt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?vt(vt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function XI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function YI(t){switch(XI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=YI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Xx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Yw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Xx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Yw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Yw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Yw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:XD}=FD,YD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=XD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===YD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:YD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=vt(vt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](vt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(Un(vt(vt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Xw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(vt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=Un(vt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Xw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=vt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?vt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Xx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Xx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Xx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Xx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Xx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,XA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return Un(vt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=Un(vt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(vt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let XR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const YR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(Un(vt(vt({},YR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,Un(vt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Xx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Xx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Xx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Xx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Yw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Yw.warn(`Bad animation path ${s}`)()}Xx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){YN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,vt({id:t.name||t.id,parameters:vt(vt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Yw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Yw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Yw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Yw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return Un(vt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let XL;function YL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return XL=e.draco3d?XL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):XL||QL(t),yield XL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(Un(vt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=Un(vt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield YL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:vt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Xj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Yj(t,e={}){return(new Xj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=vt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=vt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=vt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=vt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=vt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=vt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=vt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Yj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=vt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:vt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let XF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class YF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return YF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return YF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends XF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:XF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=XF.types.SPHERE,wB=XF.types.PLANE,xB=XF.types.BOX,SB=XF.types.CYLINDER,CB=XF.types.CONVEXPOLYHEDRON,EB=XF.types.HEIGHTFIELD,OB=XF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=XB,d=YB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),YF.vectorToLocalFrame(n,e,y,u),YF.pointToLocalFrame(n,e,m,h),YF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(YF.vectorToWorldFrame(e,o,f),YF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield XA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"}),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),XV=new oi("Internals.StateFactory");function YV(t,e){return e?n=>n.pipe(YV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(YV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Xz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Yz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Yz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Xz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Xz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:XV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Xz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Xz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Xz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function XU(t){return(ZU(t)?t.validators:t)||null}function YU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=YU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=YU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(XU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const XH=Xy(class{constructor(t){this._elementRef=t}},"primary"),YH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends XH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Yd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Yy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Xp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Xy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),X$=0;class Y${constructor(t,e,n="mat-dialog-"+X$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Xp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,Y$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Xp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Xh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Xh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Xh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Xh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Xh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?XG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{XG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(YG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(YG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(YG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function XG(t){return"getPlayerStatus"in t}function YG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(XV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Xh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),XW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),YW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new YW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||YW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||YW.cacheHasher||XW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||YW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||YW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||YW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||YW.maxCacheCount)||1===(t.maxCacheCount||YW.maxCacheCount)||(t.maxCacheCount||YW.maxCacheCount)&&(t.maxCacheCount||YW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(71440);const lq="Unknown Euler angle order",cq=.99999;class uq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return uq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return uq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=uq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new uq(c,u,h,uq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(lq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,uq.ZYX)}fromRotationMatrix(t,e=uq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case uq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case uq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case uq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case uq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case uq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case uq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(lq)}}_fromRotationMatrix(t,e=uq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case uq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(_q[t[e+0]]+_q[t[e+1]]+_q[t[e+2]]+_q[t[e+3]]+"-"+_q[t[e+4]]+_q[t[e+5]]+"-"+_q[t[e+6]]+_q[t[e+7]]+"-"+_q[t[e+8]]+_q[t[e+9]]+"-"+_q[t[e+10]]+_q[t[e+11]]+_q[t[e+12]]+_q[t[e+13]]+_q[t[e+14]]+_q[t[e+15]]).toLowerCase();if(!vq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Sq=n(31609);const Cq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Eq=(Math,Math,{});function Oq(t,{precision:e=Eq.precision||4}={}){return t=function(t){return Math.round(t/Eq.EPSILON)*Eq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Tq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kq(t,e,n){const i=Eq.EPSILON;n&&(Eq.EPSILON=n);try{if(t===e)return!0;if(Tq(t)&&Tq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+Oq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Vq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Vq),this.radius=o,this}expand(t){const e=(t=Bq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(Bq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=Bq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Cq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Xq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Iq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Kq=new Fq,Qq=new Fq,Zq=new Fq,Jq=new Fq,tX=new Fq,eX=new Fq,nX=new Fq;class iX{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Fq).from(t),this.halfAxes=new qq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Fq(t).len(),new Fq(e).len(),new Fq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Fq(t).normalize(),r=new Fq(e).normalize(),s=new Fq(n).normalize();return(new Yq).fromMatrix3(new qq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Yq(n),r=(new qq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Fq).from(t),this.halfAxes=r,this}clone(){return new iX(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new zq){const e=this.halfAxes,n=e.getColumn(0,Zq),i=e.getColumn(1,Jq),r=e.getColumn(2,tX),s=Kq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Cq.OUTSIDE:l>=a?Cq.INSIDE:Cq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Qq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Zq),r=n.getColumn(1,Jq),s=n.getColumn(2,tX),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,Zq),l=o.getColumn(1,Jq),c=o.getColumn(2,tX),u=eX.copy(a).add(l).add(c).add(s),h=nX.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,Zq);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,Jq);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,tX);return i.transformAsPoint(t),this.halfAxes=new qq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const rX=new Fq,sX=new Fq;class oX{constructor(t=[0,0,1],e=0){this.normal=new Fq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Pq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=rX.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Pq(kq(this.normal.len(),1)),this.distance=i,this}clone(t){return new oX(this.normal,this.distance)}equals(t){return kq(this.distance,t.distance)&&kq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=sX.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=rX.from(t);const n=this.getPointDistance(t),i=sX.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*aX(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,aq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Sq.fromRdf)(n.object):n.object.id;yield[r,t]}}function lX(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,aq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Sq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Fq([1,0,0]),new Fq([0,1,0]),new Fq([0,0,1]),new Fq,new Fq,new oX(new Fq(1,0,0),0),new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,Math,new qq,new qq,new qq,new qq,new qq,new Fq,new Fq,new Fq,new Fq,new Fq,new qq,new qq,new qq;const cX=aq.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},aq.DataFactory),uX={x:cX("rdf"),type:cX("rdf")("type")},hX={x:cX("rdfs"),label:cX("rdfs")("label"),comment:cX("rdfs")("comment"),isDefinedBy:cX("rdfs")("isDefinedBy"),seeAlso:cX("rdfs")("seeAlso")},dX={x:cX("entity"),id:cX("entity")("id"),label:hX.label,description:hX.comment,link:hX.seeAlso,sex:cX("entity")("sex"),age:cX("entity")("age"),bmi:cX("entity")("bmi"),Male:aq.DataFactory.literal("Male"),Female:aq.DataFactory.literal("Female"),consortiumName:cX("entity")("consortium_name"),providerName:cX("entity")("provider_name"),providerUUID:cX("entity")("provider_uuid"),donor:cX("entity")("has_donor"),sections:cX("entity")("has_tissue_section"),datasets:cX("entity")("has_dataset"),sampleType:cX("entity")("sample_type"),TissueBlock:aq.DataFactory.literal("Tissue Block"),TissueSection:aq.DataFactory.literal("Tissue Section"),NonStandard:aq.DataFactory.literal("Non-standard"),sectionCount:cX("entity")("section_count"),sectionSize:cX("entity")("section_size"),sectionUnits:cX("entity")("section_units"),sectionNumber:cX("entity")("section_number"),spatialEntity:cX("entity")("has_spatial_entity"),ontologyTerms:cX("entity")("has_ontology_term"),cellTypeTerms:cX("entity")("has_cell_type_term"),technology:cX("entity")("technology"),thumbnail:cX("entity")("has_thumbnail")},pX=cX("ccf"),fX={x:pX,ontologyNode:{label:pX("ccf_preferred_label"),parent:pX("ccf_part_of"),children:pX("ccf_part_of"),rui_rank:pX("ccf_rui_rank"),synonymLabels:aq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:pX("ccf_part_of"),ct_is_a:pX("ct_is_a"),located_in:pX("located_in"),characterizes:pX("characterizes")},spatial:{Female:pX("VHFemale"),Male:pX("VHMale"),BothSexes:pX("VHBothSexes"),FemaleOrgans:pX("VHFemaleOrgans"),MaleOrgans:pX("VHMaleOrgans")},SpatialObjectReference:pX("SpatialObjectReference"),SpatialEntity:pX("SpatialEntity"),SpatialPlacement:pX("SpatialPlacement"),spatialObjectReference:{file:pX("has_object_file"),file_format:pX("has_object_file_format"),file_subpath:pX("has_object_file_subpath")},extractionSet:{label:hX.label,rui_rank:pX("ccf_rui_rank")},spatialEntity:{label:hX.label,comment:hX.comment,creator:cX("dc")("creator"),creator_first_name:pX("creator_first_name"),creator_last_name:pX("creator_last_name"),creator_orcid:pX("creator_orcid"),creation_date:pX("creation_date"),updated_date:pX("updated_date"),ccf_annotations:pX("ccf_annotation"),representation_of:pX("ccf_representation_of"),reference_organ:pX("anatomical_structure_of"),extraction_set_for:pX("extraction_set_for"),extraction_set:pX("extraction_site_for"),sex:pX("has_sex"),side:pX("has_side"),rui_rank:pX("ccf_rui_rank"),slice_thickness:pX("ccf_slice_thickness"),slice_count:pX("ccf_slice_count"),x_dimension:pX("has_x_dimension"),y_dimension:pX("has_y_dimension"),z_dimension:pX("has_z_dimension"),dimension_units:pX("has_dimension_units"),object:pX("has_object_reference")},spatialPlacement:{source:pX("has_placement_source"),target:pX("has_placement_target"),placement_date:pX("has_placement_date"),x_scaling:pX("has_x_scaling"),y_scaling:pX("has_y_scaling"),z_scaling:pX("has_z_scaling"),scaling_units:pX("has_scaling_units"),x_rotation:pX("has_x_rotation"),y_rotation:pX("has_y_rotation"),z_rotation:pX("has_z_rotation"),w_rotation:pX("has_theta_rotation"),rotation_order:pX("has_rotation_order"),rotation_units:pX("has_rotation_units"),x_translation:pX("has_x_translation"),y_translation:pX("has_y_translation"),z_translation:pX("has_z_translation"),translation_units:pX("has_translation_units")}},gX={x:cX("uberon"),body:cX("uberon")("0013702")},mX={x:cX("cl"),cell:cX("cl")("0000000")},bX={x:cX("fma")},yX=(cX("lmha"),{body:gX.body,cell:mX.cell,respiratory_system:gX.x("0001004"),colon:gX.x("0001155"),left_lung:gX.x("0002168"),right_lung:gX.x("0002167"),left_bronchus:gX.x("0002178"),right_bronchus:gX.x("0002177"),kidney:gX.x("0002113"),ureter:gX.x("0000056"),eye:gX.x("0000970"),fallopian_tube:gX.x("0003889"),knee:gX.x("0001465"),ovary:gX.x("0000992"),trachea:gX.x("0003126"),aorta:gX.x("0000947"),blood:gX.x("0000178"),bone_marrow:gX.x("0002371"),male_reproductive_system:gX.x("0000079"),lymph_node:gX.x("0000029"),blood_vasculature:gX.x("0004537"),brain:gX.x("0000955"),eye_left:gX.x("0004548"),eye_right:bX.x("54449"),fallopian_tube_left:gX.x("0001303"),fallopian_tube_right:gX.x("0001302"),heart:gX.x("0000948"),kidney_left:gX.x("0004538"),kidney_right:gX.x("0004539"),knee_left:bX.x("24978"),knee_right:bX.x("24977"),large_intestine:gX.x("0000059"),liver:gX.x("0002107"),lungs:gX.x("0002048"),mesenteric_lymph_node:gX.x("0002509"),ovary_left:bX.x("7214"),ovary_right:bX.x("7213"),pancreas:gX.x("0001264"),pelvis:gX.x("0001270"),prostate_gland:gX.x("0002367"),skin:gX.x("0002097"),small_intestine:gX.x("0002108"),spleen:gX.x("0002106"),thymus:gX.x("0002370"),ureter_left:gX.x("0001223"),ureter_right:gX.x("0001222"),urinary_bladder:gX.x("0001255"),uterus:gX.x("0000995")});function vX(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const _X={spatialObjectReference:vX(fX.spatialObjectReference),spatialEntity:vX(fX.spatialEntity),spatialPlacement:vX(fX.spatialPlacement)};function wX(t,e){const n=lX(t,e,"ExtractionSet",_X.spatialEntity);return n.extractionSites=(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set,e,null).map(e=>xX(t,e.id)),["rui_rank"]),n}function xX(t,e){const n=lX(t,e,"SpatialEntity",_X.spatialEntity);return n.object&&(n.object=function(t,e){return lX(t,e,"SpatialObjectReference",_X.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,fX.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,dX.spatialEntity,e,null),n}function SX(t,e){const n=lX(t,e,"SpatialPlacement",_X.spatialPlacement);return n.source&&(n.source=xX(t,n.source)),n.target&&(n.target=xX(t,n.target)),n}function CX(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class EX{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new dq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},uX.type,fX.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},uX.type,fX.SpatialEntity,null);const e={};for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=fq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&CX(i,SX(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,gq.get)(t,"placement[0]",(0,gq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=CX(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new uq).fromRotationMatrix(r,uq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${xq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class OX{constructor(t){this.db=t}getSpatialEntity(t){return xX(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set_for,e,null).map(e=>wX(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return wX(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.reference_organ,e,null).map(e=>xX(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(xX(t,n.subject.id))},null,fX.spatialEntity.reference_organ,null,null),(0,gq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=fX.spatial.Male.id;break;case"Female":e=fX.spatial.Female.id;break;case"Both":default:e=fX.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(fX.x("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const TX="https://entity.api.hubmapconsortium.org/entities/",kX=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),PX={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},AX={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},MX={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class IX{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,AX[t.group_uuid]||(AX[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=AX[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=TX+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,gq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${t.specimen_type}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":TX+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${AX[t.group_uuid]||t.group_name}`,description:`${e.specimen_type}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=AX[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,gq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":TX+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,gq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>kX.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(kX.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=PX[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,gq.toNumber)(r[1]));for(const u of(0,gq.get)(t,"metadata.organ_donor_data",[]))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,gq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,gq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=AX[t.group_uuid]||t.group_name;return{"@id":TX+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r)),i){const t=null!==(n=(0,gq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,gq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,gq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,gq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const DX=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],RX={exists:{field:"rui_location"}};function NX(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:RX,_source:{includes:DX}})}function LX(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e);return n.ok?yield n.json():void 0}catch(n){return}})}function jX(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield LX(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),r=NX(0,50,n),s=yield LX(t,{method:"POST",headers:i,body:r});if(!s)return;const o=s.hits.total.value;if(o<=50)return s;const a=[];for(let e=50;e!t))return;const c=l.map(t=>t.hits.hits);return Object.assign(Object.assign({},s),{hits:Object.assign(Object.assign({},s.hits),{hits:s.hits.hits.concat(...c)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,gq.get)(t,"hits.hits",[]).map(t=>(0,gq.get)(t,"_source",{})).map(t=>new IX(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":MX},t)))),{"@context":MX,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function FX(t,e,n){const i=new Set;for(const r of e)for(const e of(0,aq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const BX={[fX.spatialEntity.x_dimension.id]:"x",[fX.spatialEntity.y_dimension.id]:"y",[fX.spatialEntity.z_dimension.id]:"z"};function VX(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=lX(t,e,"Dimensions",BX);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new uq).fromRotationMatrix(r,uq.XYZ).toQuaternion().normalize().calculateW();s=(new iX).fromCenterHalfSizeQuaternion(e,i,o)}return s}function zX(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=VX(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function UX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function HX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function $X(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function GX(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.namedNode(r);t.forSubjects($X(e,i),fX.spatialEntity.ccf_annotations,n,null)}return i}function WX(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,aq.readQuads)(e,i,dX.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,aq.readQuads)(e,r,fX.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function qX(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[fX.ontologyNode.label.id]:"label",[n]:"parent",[fX.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of aX(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function XX(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,aq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=qX(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,r}const YX=(0,gq.memoize)(function(t){const e=XX(t,yX.body.id,"body",fX.asctb.part_of.id);return e.nodes[yX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),KX={[dX.label.id]:"label",[dX.description.id]:"description",[dX.link.id]:"link"},QX=Object.assign(Object.assign({},KX),{[dX.providerName.id]:"providerName"}),ZX=Object.assign(Object.assign({},KX),{[dX.technology.id]:"technology",[dX.thumbnail.id]:"thumbnail"}),JX=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionNumber.id]:"sectionNumber",[dX.datasets.id]:"datasets"}),tY=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionCount.id]:"sectionCount",[dX.sectionSize.id]:"sectionSize",[dX.sectionUnits.id]:"sectionUnits",[dX.donor.id]:"donor",[dX.spatialEntity.id]:"spatialEntityId",[dX.sections.id]:"sections",[dX.datasets.id]:"datasets"});function eY(t,e){return lX(t,e,"Donor",QX)}function nY(t,e){return lX(t,e,"Dataset",ZX)}function iY(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of aX(t,e,JX))if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]=r;return n}class rY{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const sY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class oY{constructor(t=sY){this.options=t,this.store=new aq.Store(void 0,{factory:aq.DataFactory}),this.graph=new EX(this),this.scene=new OX(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e="ccf-database.last_modified",n="ccf-database",i=yield oq(e).catch(()=>{});let r;i&&t-new Date(+i).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([n,e]).catch(()=>{}):r=yield oq(n).catch(()=>{}),r?yield this.deserialize(r):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[n,this.serialize()],[e,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,aq.deserializeN3Store)(r,aq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(jX(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?t.endsWith("jsonld")?yield(0,aq.addJsonLdToStore)(t,n):t.endsWith("n3")?yield(0,aq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,aq.addRdfXmlToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n)}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=YX(t),s=new Map;for(const{subject:o,object:a}of(0,aq.readQuads)(t,null,fX.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>aq.DataFactory.namedNode(t)))}for(const{object:o}of(0,aq.readQuads)(t,null,dX.spatialEntity,null,null))for(const{subject:e}of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,o,null))for(const{object:n}of(0,aq.readQuads)(t,e,fX.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(aq.DataFactory.namedNode(o.id),fX.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,aq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory),this.graph=new EX(this),this.scene=new OX(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),dX.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects($X(e,i),dX.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=UX(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects($X(e,i),dX.sex,dX[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=UX(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,aq.readQuads)(t,u,dX.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,aq.readQuads)(t,u,dX.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=HX(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)zX(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(yX.body.id)&&(u=HX(t,u,n=>GX(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(yX.cell.id)&&(u=HX(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,fX.asctb.located_in,null),r===yX.cell.id&&i.add(yX.body.id);return GX(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,gq.isFinite)(n.ageRange[0])&&(0,gq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.age,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,gq.isFinite)(n.bmiRange[0])&&(0,gq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.bmi,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(aq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(aq.DataFactory.namedNode(e),dX.spatialEntity,null);if(n.length>0)return xX(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new rY(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of aX(t,e,tY))if("sections"===i){const e=iY(t,r);n[i].push(e)}else if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]="donor"===i?eY(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=FX(e,t,dX.donor.id),i=FX(e,n,dX.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,aq.readQuads)(e,a,dX.spatialEntity,null,null))r.add(t.subject.id);const s=FX(e,r,dX.sections.id),o=new Set([...FX(e,r,dX.datasets.id),...FX(e,s,dX.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return WX(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=WX(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,aq.readQuads)(e,null,fX.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[yX.cell.id]=null!==(i=null===(n=r.get(yX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return YX(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return XX(t,yX.cell.id,"cell",fX.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const aY=[240,183,98,255],lY=[213,0,0,255],cY=[29,204,101,255],uY=[41,121,255,255],hY=[204,204,204,255],dY=[213,0,0,255],pY=[29,204,101,255],fY=[41,121,255,255];function gY(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:fY}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const mY=Symbol("Comlink.proxy"),bY=Symbol("Comlink.endpoint"),yY=Symbol("Comlink.releaseProxy"),vY=Symbol("Comlink.thrown"),_Y=t=>"object"==typeof t&&null!==t||"function"==typeof t,wY=new Map([["proxy",{canHandle:t=>_Y(t)&&t[mY],serialize(t){const{port1:e,port2:n}=new MessageChannel;return xY(t,e),[n,[n]]},deserialize:t=>(t.start(),CY(t))}],["throw",{canHandle:t=>_Y(t)&&vY in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function xY(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(MY);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=MY(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[mY]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;xY(t,n),l=function(t,e){return PY.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[vY]:0}}Promise.resolve(l).catch(t=>({value:t,[vY]:0})).then(t=>{const[i,o]=AY(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),SY(e))})}),e.start&&e.start()}function SY(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function CY(t,e){return OY(t,[],e)}function EY(t){if(t)throw new Error("Proxy has been released and is not useable")}function OY(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(EY(i),s===yY)return()=>IY(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{SY(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=IY(t,{type:"GET",path:e.map(t=>t.toString())}).then(MY);return n.then.bind(n)}return OY(t,[...e,s])},set(n,r,s){EY(i);const[o,a]=AY(s);return IY(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(MY)},apply(n,r,s){EY(i);const o=e[e.length-1];if(o===bY)return IY(t,{type:"ENDPOINT"}).then(MY);if("bind"===o)return OY(t,e.slice(0,-1));const[a,l]=kY(s);return IY(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(MY)},construct(n,r){EY(i);const[s,o]=kY(r);return IY(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(MY)}});return r}function TY(t){return Array.prototype.concat.apply([],t)}function kY(t){const e=t.map(AY);return[e.map(t=>t[0]),TY(e.map(t=>t[1]))]}const PY=new WeakMap;function AY(t){for(const[e,n]of wY)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},PY.get(t)||[]]}function MY(t){switch(t.type){case"HANDLER":return wY.get(t.name).deserialize(t.value);case"RAW":return t.value}}function IY(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class DY extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let RY=null;function NY(t){RY=t}function LY(){if(null===RY)throw new DY;return RY.get(qz)}function jY(){if(null===RY)throw new DY;return RY.get(Tu)}function FY(t,e,n){e.run(()=>t.dispatch(n))}function BY(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(FY(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>FY(t,e,n)}),n}(t,e,n,i):(FY(t,e,n),n)}class VY{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const zY="\u0275fac",UY=Symbol("InjectorInstance"),HY=Symbol("FactoryHasBeenDecorated");function $Y(t,e){const n=t[UY];return n?n.get(e):null}const GY={cancelUncompleted:!1};function WY(t=GY){return(e,n,i)=>{let r;const s=function(t){return t?new VY:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=$Y(this,qz)||LY(),e=$Y(this,Tu)||jY(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>BY(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(HY in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[zY]&&function(t){const e=t[zY];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[UY]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,zY,{get:()=>i})}(e),t.constructor.prototype[HY]=!0}(e)}}let qY=(()=>{class t{constructor(t){NY(t.injector),t.onDestroy(()=>{NY(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),XY=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),YY=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const KY=["*"],QY=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],ZY=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],JY=qy(Yy(class{})),tK=Yy(class{}),eK=new oi("MatList"),nK=new oi("MatNavList");let iK=(()=>{class t extends JY{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:eK,useExisting:t}]),jo,ye],ngContentSelectors:KY,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),rK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),sK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),oK=(()=>{class t extends tK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(nK,8),ea(eK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,rK,5),Jc(n,sK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:ZY,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(QY),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),aK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,YY]}),t})();const lK=["input"],cK=function(t){return{enterDuration:t}},uK=["*"],hK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:dK});function dK(){return{color:"accent",clickAction:"check-indeterminate"}}let pK=0;const fK=dK(),gK={provide:aU,useExisting:pt(()=>yK),multi:!0};class mK{}const bK=Ky(Xy(Yy(qy(class{constructor(t){this._elementRef=t}}))));let yK=(()=>{class t extends bK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++pK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||fK,this.color=this.defaultColor=this._options.color||fK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new mK;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(hK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(lK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([gK]),jo],ngContentSelectors:uK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,cK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),vK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),_K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,vK],Wy,vK]}),t})();const wK=["bodyCanvas"];let xK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(wK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),SK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const CK=["carouselContainer"],EK=["itemlist"],OK=["itemcontainer"];function TK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function kK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function PK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,kK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function AK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const MK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),IK=MK.filter(t=>!0!==t.disabled);let DK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=IK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(CK,7),Zc(EK,7),Zc(OK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,TK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,PK,6,7,"div",7),sa(),sa(),Jo(8,AK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),RK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),NK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),LK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function jK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function FK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,jK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function BK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,FK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let VK=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,BK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),zK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),UK=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),HK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea(UK))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),$K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,zK,k_,d_]]}),t})(),GK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),WK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let qK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Yd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function XK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function YK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let KK=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,XK,2,1,"button",0),Jo(3,YK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),QK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class ZK extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let JK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const tQ=new A,eQ={cacheBusterObserver:tQ},nQ={cacheBusterObserver:tQ,maxCacheCount:4};function iQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let sQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(tQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},rQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},rQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:iQ(null==t?void 0:t.ageRange,1,110),bmi:iQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(eQ)],t.prototype,"getProviderNames",null),vw([QW(eQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(eQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(eQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(eQ)],t.prototype,"getReferenceOrgans",null),vw([QW(nQ)],t.prototype,"getTissueBlockResults",null),vw([QW(nQ)],t.prototype,"getAggregateResults",null),vw([QW(nQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(nQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(nQ)],t.prototype,"getScene",null),vw([QW(nQ)],t.prototype,"getReferenceOrganScene",null),t})(),oQ=(()=>{class t extends ZK{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),aQ=(()=>{class t extends oQ{createDatabase(t){return{database:new oY(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),lQ=(()=>{class t extends oQ{createDatabase(t){const e=this.createWorker(t),n=CY(e);return{database:n,unsubscribe:()=>{n[yY](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),cQ=(()=>{class t extends ZK{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),uQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),hQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),dQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var pQ;class fQ{get length(){var t,e;return null!==(e=null===(t=fQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=fQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=fQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=fQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=fQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=fQ.storage)||void 0===t||t.clear()}}fQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),fQ.\u0275fac=function(t){return new(t||fQ)},fQ.\u0275prov=xt({token:fQ,factory:fQ.\u0275fac,providedIn:"root"});const gQ="callToActionPopupShown";let mQ=pQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(gQ,`${n}`),r=pQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new hQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(yQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(gQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};mQ.\u0275fac=function(t){return new(t||mQ)(Ei(nG),Ei(jW),Ei(fQ),Ei(UK),Ei(Jv))},mQ.\u0275prov=xt({token:mQ,factory:mQ.\u0275fac}),vw([eU(uQ)],mQ.prototype,"learnMore",null),vw([eU(hQ)],mQ.prototype,"open",null),vw([eU(dQ)],mQ.prototype,"close",null),mQ=pQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],mQ);let bQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([mQ])],t,"title",null),vw([rU([mQ])],t,"message",null),vw([rU([mQ])],t,"callToAction",null),vw([rU([mQ])],t,"imageUrl",null),vw([rU([mQ])],t,"expirationDate",null),vw([rU([mQ])],t,"popupShown",null),t})(),yQ=(()=>{class t{constructor(){this.close=()=>new dQ,this.learnMore=()=>new uQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[GK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(bQ.title)],t.prototype,"title$",void 0),vw([iU(bQ.message)],t.prototype,"message$",void 0),vw([iU(bQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(bQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([WY()],t.prototype,"close",void 0),vw([WY()],t.prototype,"learnMore",void 0),t})();function vQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function _Q(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let wQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,vQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,_Q,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,iK,kh,oK,yK,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),xQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,_K,k_,aK]]}),t})(),SQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),CQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const EQ=new oi("Default theme class");let OQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(EQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const TQ={initialConfig:{},parse:{},rename:{}};class kQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},TQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let PQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new kQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const AQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var MQ;const IQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(MQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==MQ?MQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function DQ(t){return(...e)=>new t(...e)}function RQ(t,e){return n=>n.lift(new NQ(t,e))}class NQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new LQ(t,this.keySelector,this.flushes))}}class LQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class jQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new FQ(t,this.count,this.source))}}class FQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let BQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const VQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var zQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(zQ||(zQ={})),zQ))();function UQ(t){return()=>t.next(zQ.Completed)}function HQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let $Q=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),RQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(HQ(this.tissueBlockData,UQ(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(HQ(this.aggregateData,UQ(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(HQ(this.ontologyTermOccurencesData,UQ(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(HQ(this.cellTypeTermOccurencesData,UQ(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(HQ(this.sceneData,UQ(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(HQ(this.technologyFilterData,UQ(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(HQ(this.providerFilterData,UQ(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(RQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(RQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(RQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(RQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(RQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(RQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(RQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===zQ.Completed)}(t)?zQ.Completed:zQ.Running),RQ()),this._tissueBlockDataQueryStatus$.next(zQ.Completed),this._aggregateDataQueryStatus$.next(zQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Completed),this._sceneDataQueryStatus$.next(zQ.Completed),this._technologyFilterQueryStatus$.next(zQ.Completed),this._providerFilterQueryStatus$.next(zQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===VQ?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new jQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};$Q.\u0275fac=function(t){return new(t||$Q)(Ei(JK))},$Q.\u0275prov=xt({token:$Q,factory:$Q.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],$Q.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],$Q.prototype,"updateFilter",null),vw([eU(BQ)],$Q.prototype,"updateFilterHandler",null),vw([PV.ak],$Q.prototype,"tissueBlockData",null),vw([PV.ak],$Q.prototype,"aggregateData",null),vw([PV.ak],$Q.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],$Q.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],$Q.prototype,"sceneData",null),vw([PV.ak],$Q.prototype,"technologyFilterData",null),vw([PV.ak],$Q.prototype,"providerFilterData",null),$Q=vw([kW(),nU({name:"data",defaults:{filter:VQ,status:"Loading",statusMessage:"Loading database"}})],$Q);class GQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([$Q])],GQ,"filter",null),vw([rU([$Q])],GQ,"anatomicalStructuresTreeModel",null),vw([rU([$Q])],GQ,"cellTypesTreeModel",null);let WQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),qQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),XQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let YQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};YQ.\u0275fac=function(t){return new(t||YQ)},YQ.\u0275prov=xt({token:YQ,factory:YQ.\u0275fac}),vw([eU(WQ)],YQ.prototype,"addSearch",null),vw([eU(qQ)],YQ.prototype,"removeSearch",null),vw([eU(XQ)],YQ.prototype,"setSelectedSearches",null),YQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],YQ);class KQ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([YQ])],KQ,"items",null),vw([rU([KQ.items])],KQ,"searches",null),vw([rU([KQ.items])],KQ,"selectedSearches",null);const QQ=new RegExp("[^#a-f\\d]","gi"),ZQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),JQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||QQ.test(t)||!ZQ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let tZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};tZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(tZ)))(e||tZ)}}(),tZ.\u0275prov=xt({token:tZ,factory:tZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],tZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],tZ.prototype,"unassignColor",null),tZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:JQ.concat(),colorsAvailable:JQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],tZ);let eZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,gq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};eZ.\u0275fac=function(t){return new(t||eZ)(Ei(JK),Ei(No))},eZ.\u0275prov=xt({token:eZ,factory:eZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],eZ.prototype,"setListResults",null),eZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],eZ);const nZ=new Set(["Skin","Heart","Kidney","Spleen"]);let iZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),this.listResults=this.injector.get(eZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return MK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>nZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function rZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function sZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function oZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function aZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}iZ.\u0275fac=function(t){return new(t||iZ)(Ei(JK),Ei(No))},iZ.\u0275prov=xt({token:iZ,factory:iZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],iZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],iZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],iZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],iZ.prototype,"setScene",null),vw([rU()],iZ,"referenceOrgans",null),vw([rU()],iZ,"referenceOrganEntities",null),iZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],iZ);const lZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",cZ=Xy(class{constructor(t){this._elementRef=t}},"primary"),uZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class hZ extends cZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=hZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=hZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}hZ.\u0275fac=function(t){return new(t||hZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},hZ.\u0275cmp=Jt({type:hZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,rZ,1,9,"circle",1),Jo(2,sZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),hZ._diameters=new WeakMap;let dZ=(()=>{class t extends hZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,oZ,1,9,"circle",1),Jo(2,aZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),t})(),pZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),fZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[dZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const gZ={isolated:!0},mZ=new oi("Message service configuration",{providedIn:"root",factory:()=>gZ});let bZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const yZ=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(Y())}ngOnDestroy(){this.channel.complete()}connect(t){return new bZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(mZ),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),vZ=["*"];let _Z=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:vZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const wZ=["*"],xZ={params:{width:0,margin:0,margin2:0}};class SZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let CZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new SZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:wZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),xZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),xZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),xZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function EZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const OZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],TZ=["ccf-drawer","ccf-drawer-content","*"];function kZ(t){throw new Error(`Multiple drawers in position ${t}`)}let PZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&kZ("start"),n.length>1&&kZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,CZ,5),Jc(n,_Z,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(_Z,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([yZ])],ngContentSelectors:TZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(OZ),xa(0),xa(1,1),Jo(2,EZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,_Z],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),AZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),MZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),IZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),DZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),RZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),NZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),LZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),jZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),FZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),VZ=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const zZ=["trigger"],UZ=["panel"];function HZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function $Z(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function GZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function WZ(t,e){1&t&&(ra(0,"span",9),Jo(1,$Z,2,1,"span",10),Jo(2,GZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function qZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const XZ=[[["mat-select-trigger"]],"*"],YZ=["mat-select-trigger","*"],KZ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let QZ=0;const ZZ=new oi("mat-select-scroll-strategy"),JZ=new oi("MAT_SELECT_CONFIG"),tJ={provide:ZZ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class eJ{constructor(t,e){this.source=t,this.value=e}}const nJ=Yy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),iJ=new oi("MatSelectTrigger");let rJ=(()=>{class t extends nJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+QZ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+QZ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(ZZ),ea(Bg),ea(JZ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(zZ,5),Zc(UZ,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),sJ=(()=>{class t extends rJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new eJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,iJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:YZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(XZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,HZ,2,1,"span",3),Jo(5,WZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,qZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[KZ.transformPanelWrap,KZ.transformPanel]},changeDetection:0}),t})(),oJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[tJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function aJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let lJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,aJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,sJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var cJ=n(25430),uJ=n(39053),hJ=n(26202);const dJ=["tooltipTemplate"],pJ=["leftOuterSelectionBar"],fJ=["rightOuterSelectionBar"],gJ=["fullBar"],mJ=["selectionBar"],bJ=["minHandle"],yJ=["maxHandle"],vJ=["floorLabel"],_J=["ceilLabel"],wJ=["minHandleLabel"],xJ=["maxHandleLabel"],SJ=["combinedLabel"],CJ=["ticksElement"];function EJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function OJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const TJ=function(t){return{"ng5-slider-selected":t}};function kJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,EJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,OJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,TJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function PJ(t,e){}function AJ(t,e){1&t&&Jo(0,PJ,0,0,"ng-template")}const MJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function IJ(t,e){if(1&t&&(aa(0),Jo(1,AJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,MJ,t.tooltip,t.placement,t.content))}}function DJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const RJ={Min:0,Max:1};RJ[RJ.Min]="Min",RJ[RJ.Max]="Max";const NJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};NJ[NJ.Low]="Low",NJ[NJ.High]="High",NJ[NJ.Floor]="Floor",NJ[NJ.Ceil]="Ceil",NJ[NJ.TickValue]="TickValue";class LJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class jJ{}class FJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){FJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),FJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),FJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new zJ;return r.eventName=e,r.events=new cJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let HJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new UJ(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;FJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return FJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),$J=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),GJ=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(FJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class WJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class qJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class YJ extends XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const KJ={provide:aU,useExisting:pt(()=>QJ),multi:!0};let QJ=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new LJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new cJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new cJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new LJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new qJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new UJ(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!FJ.isNullOrUndefined(this.value)&&!FJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){FJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!FJ.isNullOrUndefined(t.value)||!FJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),(0,uJ.filter)(t=>!t.forceChange&&!t.internalChange),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){BJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){BJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){FJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){FJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){FJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){FJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){FJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){FJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===RJ.Min?this.minHandleElement:t===RJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===RJ.Min?this.viewLowValue:this.currentTrackingPointer===RJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return FJ.isNullOrUndefined(t)?NaN:FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:FJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return FJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!XJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),FJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),FJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new XJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!FJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=VJ.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=VJ.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);XJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!FJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!FJ.isNullOrUndefined(this.viewOptions.tickStep)||!FJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),FJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),FJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(FJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),FJ.isNullOrUndefined(this.viewOptions.ceil)||FJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==RJ.Min&&t!==RJ.Max&&(t=RJ.Min),t===RJ.Min?this.minHandleElement.focus():this.range&&t===RJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){FJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),FJ.isNullOrUndefined(this.viewOptions.ariaLabel)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",FJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,NJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,NJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){FJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,FJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=FJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new WJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),FJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,NJ.TickValue),FJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!FJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);FJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(FJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,NJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,NJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===RJ.Min?this.updateLowHandle(e):t===RJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===RJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===RJ.Min||!this.viewOptions.rightToLeft&&t===RJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,NJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Min,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(RJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,NJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Max,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(RJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!FJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===RJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,NJ.Low),e=this.getDisplayValue(this.viewHighValue,NJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!FJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=FJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=VJ.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,VJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=FJ.linearValueToPosition;FJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=FJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=VJ.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=FJ.linearPositionToValue;FJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=FJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!FJ.isNullOrUndefined(e))for(let r=0;ri?RJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?RJ.Min:RJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(RJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(RJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!BJ.isTouchEvent(e)||!hJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),FJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),BJ.isTouchEvent(e)&&!FJ.isNullOrUndefined(e.changedTouches)&&FJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(BJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!FJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){BJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,FJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=FJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(FJ.isNullOrUndefined(i)||FJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=VJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===RJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===RJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!FJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=VJ.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(t)),this.updateHandles(RJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===RJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===RJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(RJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=RJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===RJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===RJ.Min?this.viewHighValue:this.viewLowValue));if(!FJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===RJ.Min)return VJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===RJ.Max)return VJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===RJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=FJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===RJ.Min?(this.viewHighValue=VJ.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===RJ.Max&&(this.viewLowValue=VJ.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new jJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,dJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(pJ,5,HJ),Zc(fJ,5,HJ),Zc(gJ,5,HJ),Zc(mJ,5,HJ),Zc(bJ,5,$J),Zc(yJ,5,$J),Zc(vJ,5,GJ),Zc(_J,5,GJ),Zc(wJ,5,GJ),Zc(xJ,5,GJ),Zc(SJ,5,GJ),Zc(CJ,5,HJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([KJ]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,kJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[HJ,jh,$J,GJ,kh,Oh,ZJ,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),ZJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,IJ,2,6,"ng-container",0),Jo(1,DJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),JJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const t0=["popover"];function e0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let n0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(t0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,e0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,sJ,QJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function i0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let r0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,i0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,yK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var s0;let o0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),a0=s0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(FZ),rg(500),eg(()=>e.dispatch(o0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new MZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(GQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(iZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new IZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(s0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(GQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:gY(r).concat(e)})}),W(()=>t.dispatch(new FZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new DZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new FZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new FZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(s0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(GQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(s0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new WQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(KQ.selectedSearches);s.push(new BQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(iZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};a0.\u0275fac=function(t){return new(t||a0)(Ei(JK),Ei(qz),Ei(Az),Ei(jW))},a0.\u0275prov=xt({token:a0,factory:a0.\u0275fac}),vw([eU(AZ)],a0.prototype,"startSpatialSearchFlow",null),vw([eU(MZ)],a0.prototype,"setSex",null),vw([eU(IZ)],a0.prototype,"setOrgan",null),vw([eU(DZ)],a0.prototype,"setPosition",null),vw([eU(NZ)],a0.prototype,"resetPosition",null),vw([eU(RZ)],a0.prototype,"moveToNode",null),vw([eU(LZ)],a0.prototype,"setRadius",null),vw([eU(jZ)],a0.prototype,"resetRadius",null),vw([eU(o0)],a0.prototype,"updateSpatialSearch",null),vw([eU(BZ)],a0.prototype,"generateSpatialSearch",null),vw([eU(VZ)],a0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([s0,iZ.referenceOrganEntities])],a0,"organEntity",null),a0=s0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],a0);class l0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:aY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:uY}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function c0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}l0.organEntity=a0.organEntity,vw([rU([a0])],l0,"sex",null),vw([rU([a0])],l0,"referenceOrgans",null),vw([rU([a0])],l0,"organId",null),vw([rU([l0.organId,l0.referenceOrgans])],l0,"organ",null),vw([rU([l0.sex,l0.referenceOrgans])],l0,"organs",null),vw([rU([a0])],l0,"position",null),vw([rU([a0])],l0,"defaultPosition",null),vw([rU([a0])],l0,"radius",null),vw([rU([a0])],l0,"radiusSettings",null),vw([rU([a0,a0.organEntity,l0.position,l0.radius])],l0,"scene",null),vw([rU([a0.organEntity])],l0,"sceneBounds",null),vw([rU([a0.organEntity])],l0,"sceneTarget",null),vw([rU([a0])],l0,"tissueBlocks",null),vw([rU([a0,GQ.anatomicalStructuresTreeModel])],l0,"anatomicalStructures",null),vw([rU([a0,GQ.cellTypesTreeModel])],l0,"cellTypes",null);let u0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,c0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function h0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let d0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,h0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function p0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function f0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let g0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,p0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,f0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),m0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[g0],encapsulation:2,changeDetection:0}),t})(),b0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,XY,F$,u0,d0,xK,m0,SQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function y0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class v0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=DQ(DZ),this.resetPosition=DQ(NZ),this.moveToNode=DQ(RZ),this.updateRadius=DQ(LZ),this.resetRadius=DQ(jZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new BZ}openSpatialSearchConfig(){this.close(),this.dialog.open(j0)}}v0.\u0275fac=function(t){return new(t||v0)(ea(Y$),ea(nG),ea(UK))},v0.\u0275cmp=Jt({type:v0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,y0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,b0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.scene)],v0.prototype,"scene$",void 0),vw([iU(l0.sceneBounds)],v0.prototype,"sceneBounds$",void 0),vw([iU(l0.sceneTarget)],v0.prototype,"sceneTarget$",void 0),vw([iU(l0.sex)],v0.prototype,"sex$",void 0),vw([iU(l0.organ)],v0.prototype,"organ$",void 0),vw([iU(l0.position)],v0.prototype,"position$",void 0),vw([iU(l0.defaultPosition)],v0.prototype,"defaultPosition$",void 0),vw([iU(l0.radius)],v0.prototype,"radius$",void 0),vw([iU(l0.radiusSettings)],v0.prototype,"radiusSettings$",void 0),vw([iU(l0.tissueBlocks)],v0.prototype,"tissueBlocks$",void 0),vw([iU(l0.anatomicalStructures)],v0.prototype,"anatomicalStructures$",void 0),vw([iU(l0.cellTypes)],v0.prototype,"cellTypes$",void 0),vw([WY()],v0.prototype,"updatePosition",void 0),vw([WY()],v0.prototype,"resetPosition",void 0),vw([WY()],v0.prototype,"moveToNode",void 0),vw([WY()],v0.prototype,"updateRadius",void 0),vw([WY()],v0.prototype,"resetRadius",void 0),vw([WY()],v0.prototype,"addSpatialSearch",null);const _0=["input"],w0=function(t){return{enterDuration:t}},x0=["*"],S0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let C0=0;const E0={provide:aU,useExisting:pt(()=>P0),multi:!0};class O0{constructor(t,e){this.source=t,this.value=e}}const T0=new oi("MatRadioGroup");let k0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+C0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new O0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),P0=(()=>{class t extends k0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([E0,{provide:T0,useExisting:t}]),jo]}),t})();class A0{constructor(t){this._elementRef=t}}const M0=Yy(Ky(A0));let I0=(()=>{class t extends M0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++C0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new O0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(k0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(_0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),D0=(()=>{class t extends I0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(T0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(S0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:x0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,w0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function R0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function N0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let L0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,R0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,N0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,P0,MU,lH,D0,QH,Ah,sJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class j0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=DQ(MZ),this.updateOrgan=DQ(IZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(v0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}j0.\u0275fac=function(t){return new(t||j0)(ea(nG),ea(Y$),ea(nG),ea(UK))},j0.\u0275cmp=Jt({type:j0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[L0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.sex)],j0.prototype,"sex$",void 0),vw([iU(l0.organ)],j0.prototype,"selectedOrgan$",void 0),vw([iU(l0.organs)],j0.prototype,"organs$",void 0),vw([WY()],j0.prototype,"updateSex",void 0),vw([WY()],j0.prototype,"updateOrgan",void 0);let F0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new AZ).pipe(rf(1),eg(()=>this.dialog.open(j0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function B0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const V0=function(){return["Both","Male","Female"]},z0=function(){return[1,110]},U0=function(){return[13,83]};let H0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify(VQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,B0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,V0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,z0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,U0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[lJ,n0,r0,Ah,F0,R_,T_,wQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function $0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function G0(t,e){1&t&&oa(0,"mat-icon",8)}class W0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new VZ(!1)}removeBox(){return this.filtersVisible=!1,new VZ(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}W0.\u0275fac=function(t){return new(t||W0)},W0.\u0275cmp=Jt({type:W0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,$0,3,0,"div",2),Jo(3,G0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,H0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([WY()],W0.prototype,"toggleFilterVisible",null),vw([WY()],W0.prototype,"removeBox",null);class q0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,gq.at)(i,t.children)}}q0.\u0275fac=function(t){return new(t||q0)},q0.\u0275prov=xt({token:q0,factory:q0.\u0275fac}),vw([PV.ak],q0.prototype,"getChildren",null);class X0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const Y0=new oi("CDK_TREE_NODE_OUTLET_NODE");let K0=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class Q0{constructor(t){this.$implicit=t}}let Z0=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),J0=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new Q0(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),t1.mostRecentTreeNode&&(t1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,Z0,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(K0,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[K0],encapsulation:2}),t})(),t1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!e1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function e1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const n1=/([A-Za-z%]+)$/;let i1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(n1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(t1),ea(J0),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),r1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(J0),ea(t1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),s1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const o1=Ky(qy(t1));let a1=(()=>{class t extends o1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:t1,useExisting:t}]),jo]}),t})(),l1=(()=>{class t extends Z0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:Z0,useExisting:t}]),jo]}),t})(),c1=(()=>{class t extends i1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:i1,useExisting:t}]),jo]}),t})(),u1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:K0,useExisting:t}])]}),t})(),h1=(()=>{class t extends J0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(u1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:J0,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[u1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),d1=(()=>{class t extends r1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:r1,useExisting:t}]),jo]}),t})(),p1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[s1,Wy],Wy]}),t})();class f1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class g1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class m1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new m1(t,e)}}function b1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function y1(t,e){1&t&&ca(0)}const v1=function(t){return{node:t}};function _1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,y1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function w1(t,e){1&t&&ca(0)}function x1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,w1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const S1=(0,gq.property)("level"),C1=(0,gq.property)("expandable");let E1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new X0(S1,C1),this.flattener=new f1(m1.create,S1,C1,gq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new g1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,gq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,b1,2,9,"ng-template",null,1,ru),Jo(3,_1,10,20,"mat-tree-node",2),Jo(4,x1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[h1,l1,a1,c1,T_,NK,Fh,R_,d1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function O1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let T1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,gq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,gq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(q0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,O1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const k1=function(t){return[t]};function P1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,k1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let A1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(q0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(E1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([q0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,P1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[T1,Ah,E1],pipes:[$h],styles:[""],changeDetection:0}),t})(),M1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(CZ),ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function I1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function D1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let R1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,I1,4,0,"div",5),Jo(10,D1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,dZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function N1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const L1=function(){return[]};let j1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,N1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,L1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function F1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function B1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:F1(e[n])&&F1(t[n])&&Object.keys(e[n]).length>0&&B1(t[n],e[n])})}var V1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function z1(){var t="undefined"!=typeof document?document:{};return B1(t,V1),t}var U1={document:V1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function H1(){var t="undefined"!=typeof window?window:{};return B1(t,U1),t}function $1(t){return($1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function G1(t,e){return(G1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function W1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function q1(t,e,n){return(q1=W1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&G1(r,n.prototype),r}).apply(null,arguments)}function X1(t){var e="function"==typeof Map?new Map:void 0;return(X1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return q1(t,arguments,$1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G1(n,t)})(t)}var Y1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(X1(Array));function K1(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,K1(t)):e.push(t)}),e}function Q1(t,e){return Array.prototype.filter.call(t,e)}function Z1(t,e){var n=H1(),i=z1(),r=[];if(!e&&t instanceof Y1)return t;if(!t)return new Y1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=H1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=H1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=H1(),e=z1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=H1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return Z1([]);if(t<0){var n=e+t;return Z1(n<0?[]:[this[n]])}return Z1([this[t]])},append:function(){for(var t,e=z1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof Y1)for(n=0;n0?t?this[0].nextElementSibling&&Z1(this[0].nextElementSibling).is(t)?Z1([this[0].nextElementSibling]):Z1([]):Z1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):Z1([])},nextAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&Z1(e.previousElementSibling).is(t)?Z1([e.previousElementSibling]):Z1([]):Z1(e.previousElementSibling?[e.previousElementSibling]:[])}return Z1([])},prevAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),n2}function p2(t){return void 0===t&&(t={}),i2||(i2=function(t){var e=(void 0===t?{}:t).userAgent,n=d2(),i=H1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),i2}function f2(){return r2||(r2=function(){var t,e=H1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),r2}var g2={name:"resize",create:function(){var t=this;u2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=H1();t.params.resizeObserver&&void 0!==H1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=H1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function m2(){return(m2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=s2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==z1()&&n!==H1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(u2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=a2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&s2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function _2(t){var e=z1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(u2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=a2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&s2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:a2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function w2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=a2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=a2(),o2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||a2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function x2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function S2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function C2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var E2=!1;function O2(){}var T2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function k2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var X=I[0];T=U+H+$+G+W+(X.offsetWidth-X.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var Y=0;Y1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=s2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),u2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);u2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=s2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(s2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=z1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=s2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(s2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),u2(t.params,u);var m=t.params.enabled;u2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=H1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=H1();function l(){s&&s()}s2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return s2(n.el).each(function(e){var i=u2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=d2(),a.device=p2({userAgent:n.userAgent}),a.browser=f2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=u2({},T2);return a.useParams(u),a.params=u2({},u,A2,n),a.originalParams=u2({},a.params),a.passedParams=u2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=s2,u2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:s2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:a2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=s2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=s2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=z1().createElement("div");r=s2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return u2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){u2(A2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+a2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&k2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return A2}},{key:"defaults",get:function(){return T2}}]),t}();Object.keys(P2).forEach(function(t){Object.keys(P2[t]).forEach(function(e){M2.prototype[e]=P2[t][e]})}),M2.use([g2,y2]);var I2=M2;const D2=["prevElRef"],R2=["nextElRef"],N2=["scrollbarElRef"],L2=["paginationElRef"];function j2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function F2(t,e){1&t&&oa(0,"div",10,11)}function B2(t,e){1&t&&oa(0,"div",12,13)}function V2(t,e){}function z2(t,e){1&t&&Jo(0,V2,0,0,"ng-template")}function U2(t,e){}function H2(t,e){1&t&&Jo(0,U2,0,0,"ng-template")}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}const q2=function(t){return{$implicit:t}};function X2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,W2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,q2,t.slideData))}}function Y2(t,e){}function K2(t,e){if(1&t&&(aa(0),Jo(1,Y2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,q2,t.slideData))}}function Q2(t,e){if(1&t&&(ra(0,"div",15),Jo(1,X2,2,5,"div",16),Jo(2,K2,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function Z2(t,e){1&t&&(Jo(0,Q2,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const J2=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],t3=function(t){return{loopSlides:t,key:"prepend"}},e3=function(t){return{loopSlides:t,key:""}},n3=function(t){return{loopSlides:t,key:"append"}},i3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function r3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function s3(t,e,n){return!0===a3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function o3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(r3(e[n])&&r3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:o3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function a3(t){return null!=t&&"false"!=`${t}`}const l3=["pagination","navigation","scrollbar","virtual"];function c3(t,e={}){return r3(t)?t:!0===a3(t)&&e}const u3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function h3(t={}){const e={on:{}},n={};o3(e,I2.defaults),o3(e,I2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(u3.indexOf(s)>=0?r3(t[s])?(e[s]={},n[s]={},o3(e[s],t[s]),o3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let d3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=a3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),p3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=c3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==a3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=c3(t,{el:n||null}),this.showPagination=s3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=c3(t,{el:n||null}),this.showScrollbar=s3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=c3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=h3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=h3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=h3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new I2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};o3(e.params.virtual,t),o3(e.originalParams.virtual,t)}Xh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(l3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=I2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=r3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?o3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&r3(e)?o3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,d3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(D2,5),Zc(R2,5),Zc(N2,5),Zc(L2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:i3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(J2),xa(0),Jo(1,j2,5,0,"ng-container",0),Jo(2,F2,2,0,"div",1),Jo(3,B2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,z2,1,0,void 0,4),Jo(7,H2,1,0,void 0,4),Jo(8,G2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,Z2,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,t3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,e3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,n3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),f3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function g3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function m3(t,e){1&t&&(aa(0),Jo(1,g3,7,3,"ng-template",6),la())}const b3=(()=>{let t=-1;return()=>(t+=1,t)})();let y3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=b3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,m3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,p3,kh,d3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function v3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function _3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function w3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function x3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function S3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,x3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function C3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,_3,1,2,"ccf-tissue-section-vis",18),Jo(16,w3,2,1,"ng-container",13),sa(),Jo(17,S3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const E3=function(t){return{"background-color":t}};let O3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,v3,2,1,"mat-icon",12),sa(),sa(),Jo(18,C3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,E3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,yK,T_,Ah,kh,j1,y3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function T3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function k3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let P3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,T3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,k3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,O3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const A3=["*",[["mat-toolbar-row"]]],M3=["*","mat-toolbar-row"],I3=Xy(class{constructor(t){this._elementRef=t}});let D3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),R3=(()=>{class t extends I3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:M3,decls:2,vars:0,template:function(t,e){1&t&&(wa(A3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),N3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function L3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function j3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let F3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,L3,2,3,"a",4),Jo(5,j3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[R3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const B3=["bodyUI"];function V3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function z3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function U3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const H3=function(){return{}},$3=function(){return{x:2.2,y:2,z:.4}};class G3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=DQ(XQ),this.removeSpatialSearch=DQ(qQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=IQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===zQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(KK,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function W3(t,e){1&t&&oa(0,"ccf-root")}function q3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=AQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}G3.\u0275fac=function(t){return new(t||G3)(ea(Al),ea(No),ea($Q),ea(OQ),ea(iZ),ea(eZ),ea(VW),ea(aw),ea(CQ),ea(JK),ea(WK),ea(nc))},G3.\u0275cmp=Jt({type:G3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(B3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,V3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,z3,3,1,"div",31),Jo(78,U3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,H3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,$3))}},directives:[fZ,Ah,PZ,CZ,W0,A1,M1,R1,gw,T_,HK,P3,_Z,DK,F0,xK,F3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(GQ.cellTypesTreeModel)],G3.prototype,"cellTypeTreeModel$",void 0),vw([iU(GQ.anatomicalStructuresTreeModel)],G3.prototype,"ontologyTreeModel$",void 0),vw([iU(KQ.items)],G3.prototype,"selectableSearches$",void 0),vw([WY()],G3.prototype,"setSelectedSearches",void 0),vw([WY()],G3.prototype,"removeSpatialSearch",void 0);let X3=(()=>{class t extends PQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},IQ.dbOptions),globalThis.dbOptions),IQ.customization),parse:{dataSources:q3,useRemoteApi:AQ.boolean,header:AQ.boolean,loginDisabled:AQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(WK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,W3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,G3],encapsulation:2,changeDetection:0}),t})(),Y3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,N3,yw]]}),t})(),K3=(()=>{class t extends lQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Q3=(()=>{class t extends cQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?sQ:"undefined"==typeof Worker||IQ.disableDbWorker?aQ:K3}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Z3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:OQ.initialize,multi:!0},OQ]}),t})(),J3=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const t5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class e5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return t5(t.getHours(),2)+":"+t5(t.getMinutes(),2)+":"+t5(t.getSeconds(),2)+"."+t5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class n5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const i5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let r5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new n5(this._options),this._store=this._store||this._injector.get(qz);const i=new e5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(i5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s5=new oi("LOGGER_USER_OPTIONS");function o5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let a5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:r5,multi:!0},{provide:s5,useValue:e},{provide:i5,useFactory:o5,deps:[s5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function l5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function c5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let u5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:l5(null!==(n=t.start)&&void 0!==n?n:0,e),end:l5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,c5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function h5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const d5=[[["","matPrefix",""]],[["","matSuffix",""]]],p5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class f5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}f5.\u0275fac=function(t){return new(t||f5)(ea(p5))},f5.\u0275cmp=Jt({type:f5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(d5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,h5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,u5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],f5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let g5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};g5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(g5)))(e||g5)}}(),g5.\u0275prov=xt({token:g5,factory:g5.\u0275fac}),vw([CW()],g5.prototype,"config$",null),g5=vw([kW(),nU({name:"globalConfig",defaults:null})],g5);const m5="ALLOW_TELEMETRY",b5=y5();function y5(){const t=localStorage.getItem(m5);return null===t?void 0:"true"===t.toLowerCase()}let v5=class extends MW{setAllowTelemetry(t){const e=y5();localStorage.setItem(m5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};v5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(v5)))(e||v5)}}(),v5.\u0275prov=xt({token:v5,factory:v5.\u0275fac}),vw([OW()],v5.prototype,"setAllowTelemetry",null),v5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:b5}})],v5);const _5=new A,w5={cacheBusterObserver:_5},x5={cacheBusterObserver:_5,maxCacheCount:4};function S5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class E5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(_5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},C5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},C5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:S5(null==t?void 0:t.ageRange,1,110),bmi:S5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}E5.\u0275fac=function(t){return new(t||E5)(Ei(eq),Ei(g5))},E5.\u0275prov=xt({token:E5,factory:E5.\u0275fac,providedIn:"root"}),vw([QW(w5)],E5.prototype,"getProviderNames",null),vw([QW(w5)],E5.prototype,"getDatasetTechnologyNames",null),vw([QW(w5)],E5.prototype,"getOntologyTreeModel",null),vw([QW(w5)],E5.prototype,"getCellTypeTreeModel",null),vw([QW(w5)],E5.prototype,"getReferenceOrgans",null),vw([QW(x5)],E5.prototype,"getTissueBlockResults",null),vw([QW(x5)],E5.prototype,"getAggregateResults",null),vw([QW(x5)],E5.prototype,"getOntologyTermOccurences",null),vw([QW(x5)],E5.prototype,"getCellTypeTermOccurences",null),vw([QW(x5)],E5.prototype,"getScene",null),vw([QW(x5)],E5.prototype,"getReferenceOrganScene",null);let O5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),T5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),k5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function P5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function A5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,P5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function M5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,A5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let I5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,M5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class D5{get length(){var t,e;return null!==(e=null===(t=D5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=D5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=D5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=D5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=D5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=D5.storage)||void 0===t||t.clear()}}D5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),D5.\u0275fac=function(t){return new(t||D5)},D5.\u0275prov=xt({token:D5,factory:D5.\u0275fac,providedIn:"root"});let R5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var N5;const L5="callToActionPopupShown";let j5=N5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(L5,`${n}`),r=N5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new T5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(I5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(V5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(L5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};j5.\u0275fac=function(t){return new(t||j5)(Ei(nG),Ei(jW),Ei(D5),Ei(R5),Ei(Jv))},j5.\u0275prov=xt({token:j5,factory:j5.\u0275fac}),vw([eU(O5)],j5.prototype,"learnMore",null),vw([eU(T5)],j5.prototype,"open",null),vw([eU(k5)],j5.prototype,"close",null),j5=N5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],j5);class F5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([j5])],F5,"title",null),vw([rU([j5])],F5,"message",null),vw([rU([j5])],F5,"callToAction",null),vw([rU([j5])],F5,"imageUrl",null),vw([rU([j5])],F5,"expirationDate",null),vw([rU([j5])],F5,"popupShown",null);let B5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class V5{constructor(){this.close=()=>new k5,this.learnMore=()=>new O5}}V5.\u0275fac=function(t){return new(t||V5)},V5.\u0275cmp=Jt({type:V5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[B5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(F5.title)],V5.prototype,"title$",void 0),vw([iU(F5.message)],V5.prototype,"message$",void 0),vw([iU(F5.callToAction)],V5.prototype,"callToAction$",void 0),vw([iU(F5.imageUrl)],V5.prototype,"imageUrl$",void 0),vw([WY()],V5.prototype,"close",void 0),vw([WY()],V5.prototype,"learnMore",void 0);const z5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let U5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of z5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};U5.\u0275fac=function(t){return new(t||U5)(Ei(y_,8),Ei(Sd))},U5.\u0275prov=xt({token:U5,factory:U5.\u0275fac}),vw([OW()],U5.prototype,"registerIcon",null),U5=vw([kW(),nU({name:"iconRegistry"})],U5);const H5=[WK,tZ,U5,eZ,$Q,iZ,j5,a0,YQ];let $5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[J3.forRoot(),tU.forRoot(H5,{developmentMode:!IQ.production,selectorOptions:{injectContainerState:!1}}),qY.forRoot(),a5.forRoot({disabled:IQ.production})]]}),t})(),G5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:JK,useExisting:Q3}],imports:[[d_,GW.forRoot({gaToken:IQ.googleAnalyticsToken,appName:"eui"}),qK,nq.forRoot(()=>new tq({basePath:IQ.dbOptions.remoteApiEndpoint})),Y3,$5,Z3],Y3]}),t})(),W5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K]]}),t})(),q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,oJ]]}),t})(),X5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,oJ,JJ]]}),t})(),Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,W5,q5,X5,xQ,Y5]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,K5]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,p1,LK]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5,t4],Z5,J5,t4]}),t})();function n4(){return(n4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=z1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=s2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=s2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),u2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},r4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){h2(this,{navigation:n4({},i4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!s2(s).is(r)&&!s2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let s4=(()=>{class t{constructor(){I2.use([r4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,f3]]}),t})(),o4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),a4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K,k_,s4,o4]]}),t})(),l4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,a4]]}),t})(),c4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:mZ,useValue:gZ}],imports:[[Td,By,k_]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,pZ]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,pZ]]}),t})(),d4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(X3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:EQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:CQ}],imports:[[By,Td,G5,c4,Q5,e4,k_,X5,l4,u4,SK,RK,$K,yw,h4,QK,sw,Y5]]}),t})();IQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(d4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file +var W6e=Object.defineProperty,Y6e=Object.defineProperties,X6e=Object.getOwnPropertyDescriptors,XM=Object.getOwnPropertySymbols,yZ=Object.prototype.hasOwnProperty,bZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,wZ=(t,e,n)=>e in t?W6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e)=>{for(var n in e||(e={}))yZ.call(e,n)&&wZ(t,n,e[n]);if(XM)for(var n of XM(e))bZ.call(e,n)&&wZ(t,n,e[n]);return t},Un=(t,e)=>Y6e(t,X6e(e)),SZ=(t,e)=>{var n={};for(var i in t)yZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&XM)for(var i of XM(t))e.indexOf(i)<0&&bZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(Un(vt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(Un(vt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(Un(vt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(Un(vt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(Un(vt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=SZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=vt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=vt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=vt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=vt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=vt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},X=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Y(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:Y;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){X.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Xt),Kt(Yt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Xt,$t.MultiUndirectedGraph=Yt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Y(l,c),e.distance=X(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return X(e[0],e[1],z)/X(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return Y(e[1],e[0],z)+Y(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function X(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function Y(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),X=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Xt=RegExp("['\u2019]","g"),Yt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Ye,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Yo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Xi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Ye,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Yo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Xo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Yo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Yr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Xe(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Xa(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Yt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Xa(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xa=Ar("toUpperCase");function Ya(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Xo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Yo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Yo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Xe(t,Aa(t))},Ln.without=io,Ln.words=Ya,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Xi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Xa,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,Y)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,Y))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,X)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
    '+(n?t:J(t,!0))+"
    \n":"
    "+(n?t:J(t,!0))+"
    \n"},e.blockquote=function(t){return"
    \n"+t+"
    \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

    "+mt(l.message+"",!0)+"
    ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

    "+mt(i.message+"",!0)+"
    ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new X(t,this.project,this.concurrent))}}class X extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Y(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function yt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${yt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Xt=lt({"\u0275mod":lt}),Yt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Xt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Xe(){return Ve.lFrame.isParent}function Ye(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=zn(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function zn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Xn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?zn(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Yn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Xn(){return new ti(Ge(),Ue())}function Yn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(yt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Xi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Xi(t){return t instanceof Vi&&t.getTypeName()||null}class Yi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nr(sr,er("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Yi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Ys(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Xa(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Xo(r,o,e)&&Ya(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Xo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Yo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Xo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Xo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Xl(){return new Yl([new Fl])}let Yl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Xl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Xl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Yl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=zn(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Xs(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Yt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Yo(t,e,n,i);return Xo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Xo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Yo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Xu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Xu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Xu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Xu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Yu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Yl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Yl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Xh(t){return t===qh}class Yh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Xi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Yu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Yh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Xd(t,this.compare,this.keySelector))}}class Xd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Yd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Yd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Yd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return Y(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Xh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Xp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Yp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Xp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Yp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Xp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Xp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Xf;function Yf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Xf){const t=Element.prototype;Xf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Xf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Yd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Xg=new Ll("12.2.5");class Yg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Xm(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Ym(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Xm(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Xm(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Ym(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Ym(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Ym(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Ym(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Yb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Yb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Xb{constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Yb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Yb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Xb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Yg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Yg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Xg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Xg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Xy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Yy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Xv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Yv extends Xv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Yv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Xv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Xv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Yv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Yh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Xy(qy(Yy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let X_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Y_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(Y_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function Y_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Xp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(X_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(X_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(X_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Xw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Yw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Yw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Yw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Yw.level=Math.max(Yw.level,1)):Yw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Xx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Yx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Xx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Yw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Yw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Xx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Yw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Yx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Xx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Xx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Xx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Xx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Xx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Xx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Yw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Yw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Yw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Yw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Yw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Xx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Xx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Yw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Xx(i,"Could not deduced texture size"),Xx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Xx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Xx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Xx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Xx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Xx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Yw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Xx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Xx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Xx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Xx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Xx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Yw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Xx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Xx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Yw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Yw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Yw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Yw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Yw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Yw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Yw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Yw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Xx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Xx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Xx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Xx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Xx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Xx(!1);return i}(t,e)),t.luma.caps[e]||Yw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,XS={};function YS(t,{precision:e=XS.precision||4}={}){return t=function(t){return Math.round(t/XS.EPSILON)*XS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=XS.EPSILON;n&&(XS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+YS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",vt(vt(vt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function XC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function YC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Yw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Xx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Xx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Xx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function XE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function YE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Yw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Xx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Yw.error(`GLSL compilation errors in ${e}\n${n}`)(),Yw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Xx(this.vs instanceof bO),Xx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Yw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Yw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Yw.log(t,r)()}return Xx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Xx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Yw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Yw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Yw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Yw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:XE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:XE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:YE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Xx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Xx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Xx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Yw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Xx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Yw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Xx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Xx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Xx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Xx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Xx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Xx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=vt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Xx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Yw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Yw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Yw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Yw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Xx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Xx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Yw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Yw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Yw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Yw.table(t,r)(),Yw.table(t,s)(),Yw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Yw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Xx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Xx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function XO(){}const YO={onStart:XO,onUpdate:XO,onInterrupt:XO,onEnd:XO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=vt(vt({},YO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=XC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;YC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,Un(vt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=XC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),YC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(Un(vt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=vt(vt({},t),e);if("defines"in e&&(n.defines=vt(vt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=vt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(XS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(Un(vt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(Un(vt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(vt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,Un(vt({},e),{parameters:vt(vt(vt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(vt(vt(vt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Xk=t=>qk(t)&&t.constructor==={}.constructor,Yk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=Un(vt({},t=t[0]),{options:vt(vt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||vt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=vt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Xk(e[n])&&Xk(t[n])?vt(vt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),XP=(qP&&parseFloat(qP[1]),new Map);function YP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=XP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?YP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),XP.set(t.url,e)),t.source&&(e=YP(t.source),XP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=vt(vt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=vt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=vt(vt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Yk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=vt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,Un(vt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=Un(vt({},r),{fetch:Un(vt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:XA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):XA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=vt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=vt(vt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=Un(vt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=vt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),vt(vt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(vt(vt(vt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=vt(vt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=vt(vt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=vt(vt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(vt(vt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(vt(vt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,Un(vt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&Un(vt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=vt(vt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,Un(vt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,Un(vt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?Un(vt({},e),{transitionInterpolator:new pM(Un(vt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(Un(vt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(vt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(vt(vt(vt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(Un(vt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(Un(vt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(Un(vt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=vt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=vt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=XM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||XM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class YM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(Un(vt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=XA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=Un(vt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(vt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=Un(vt(vt(vt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(Un(vt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(Un(vt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(vt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(vt(vt(vt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,Un(vt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:Un(vt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return vt(vt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(Un(vt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=vt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?vt(vt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function XI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function YI(t){switch(XI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=YI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Xx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Yw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Xx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Yw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Yw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Yw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:XD}=FD,YD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=XD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===YD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:YD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=vt(vt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](vt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(Un(vt(vt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Xw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(vt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=Un(vt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Xw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=vt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?vt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Xx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Xx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Xx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Xx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Xx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,XA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return Un(vt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=Un(vt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(vt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let XR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const YR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(Un(vt(vt({},YR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,Un(vt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Xx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Xx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Xx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Xx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Yw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Yw.warn(`Bad animation path ${s}`)()}Xx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){YN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,vt({id:t.name||t.id,parameters:vt(vt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Yw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Yw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Yw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Yw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return Un(vt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let XL;function YL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return XL=e.draco3d?XL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):XL||QL(t),yield XL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(Un(vt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=Un(vt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield YL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:vt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Xj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Yj(t,e={}){return(new Xj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=vt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=vt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=vt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=vt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=vt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=vt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=vt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Yj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=vt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:vt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let XF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class YF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return YF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return YF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends XF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:XF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=XF.types.SPHERE,wB=XF.types.PLANE,xB=XF.types.BOX,SB=XF.types.CYLINDER,CB=XF.types.CONVEXPOLYHEDRON,EB=XF.types.HEIGHTFIELD,OB=XF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=XB,d=YB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),YF.vectorToLocalFrame(n,e,y,u),YF.pointToLocalFrame(n,e,m,h),YF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(YF.vectorToWorldFrame(e,o,f),YF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield XA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"}),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),XV=new oi("Internals.StateFactory");function YV(t,e){return e?n=>n.pipe(YV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(YV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Xz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Yz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Yz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Xz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Xz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:XV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Xz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Xz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Xz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function XU(t){return(ZU(t)?t.validators:t)||null}function YU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=YU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=YU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(XU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const XH=Xy(class{constructor(t){this._elementRef=t}},"primary"),YH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends XH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Yd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Yy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Xp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Xy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),X$=0;class Y${constructor(t,e,n="mat-dialog-"+X$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Xp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,Y$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Xp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Xh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Xh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Xh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Xh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Xh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?XG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{XG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(YG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(YG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(YG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function XG(t){return"getPlayerStatus"in t}function YG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(XV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Xh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),XW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),YW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new YW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||YW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||YW.cacheHasher||XW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||YW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||YW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||YW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||YW.maxCacheCount)||1===(t.maxCacheCount||YW.maxCacheCount)||(t.maxCacheCount||YW.maxCacheCount)&&(t.maxCacheCount||YW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(71440);const lq="Unknown Euler angle order",cq=.99999;class uq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return uq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return uq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=uq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new uq(c,u,h,uq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(lq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,uq.ZYX)}fromRotationMatrix(t,e=uq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case uq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case uq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case uq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case uq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case uq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case uq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(lq)}}_fromRotationMatrix(t,e=uq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case uq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(_q[t[e+0]]+_q[t[e+1]]+_q[t[e+2]]+_q[t[e+3]]+"-"+_q[t[e+4]]+_q[t[e+5]]+"-"+_q[t[e+6]]+_q[t[e+7]]+"-"+_q[t[e+8]]+_q[t[e+9]]+"-"+_q[t[e+10]]+_q[t[e+11]]+_q[t[e+12]]+_q[t[e+13]]+_q[t[e+14]]+_q[t[e+15]]).toLowerCase();if(!vq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Sq=n(31609);const Cq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Eq=(Math,Math,{});function Oq(t,{precision:e=Eq.precision||4}={}){return t=function(t){return Math.round(t/Eq.EPSILON)*Eq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Tq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kq(t,e,n){const i=Eq.EPSILON;n&&(Eq.EPSILON=n);try{if(t===e)return!0;if(Tq(t)&&Tq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+Oq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Vq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Vq),this.radius=o,this}expand(t){const e=(t=Bq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(Bq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=Bq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Cq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Xq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Iq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Kq=new Fq,Qq=new Fq,Zq=new Fq,Jq=new Fq,tX=new Fq,eX=new Fq,nX=new Fq;class iX{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Fq).from(t),this.halfAxes=new qq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Fq(t).len(),new Fq(e).len(),new Fq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Fq(t).normalize(),r=new Fq(e).normalize(),s=new Fq(n).normalize();return(new Yq).fromMatrix3(new qq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Yq(n),r=(new qq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Fq).from(t),this.halfAxes=r,this}clone(){return new iX(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new zq){const e=this.halfAxes,n=e.getColumn(0,Zq),i=e.getColumn(1,Jq),r=e.getColumn(2,tX),s=Kq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Cq.OUTSIDE:l>=a?Cq.INSIDE:Cq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Qq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Zq),r=n.getColumn(1,Jq),s=n.getColumn(2,tX),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,Zq),l=o.getColumn(1,Jq),c=o.getColumn(2,tX),u=eX.copy(a).add(l).add(c).add(s),h=nX.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,Zq);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,Jq);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,tX);return i.transformAsPoint(t),this.halfAxes=new qq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const rX=new Fq,sX=new Fq;class oX{constructor(t=[0,0,1],e=0){this.normal=new Fq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Pq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=rX.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Pq(kq(this.normal.len(),1)),this.distance=i,this}clone(t){return new oX(this.normal,this.distance)}equals(t){return kq(this.distance,t.distance)&&kq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=sX.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=rX.from(t);const n=this.getPointDistance(t),i=sX.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*aX(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,aq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Sq.fromRdf)(n.object):n.object.id;yield[r,t]}}function lX(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,aq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Sq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Fq([1,0,0]),new Fq([0,1,0]),new Fq([0,0,1]),new Fq,new Fq,new oX(new Fq(1,0,0),0),new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,Math,new qq,new qq,new qq,new qq,new qq,new Fq,new Fq,new Fq,new Fq,new Fq,new qq,new qq,new qq;const cX=aq.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},aq.DataFactory),uX={x:cX("rdf"),type:cX("rdf")("type")},hX={x:cX("rdfs"),label:cX("rdfs")("label"),comment:cX("rdfs")("comment"),isDefinedBy:cX("rdfs")("isDefinedBy"),seeAlso:cX("rdfs")("seeAlso")},dX={x:cX("entity"),id:cX("entity")("id"),label:hX.label,description:hX.comment,link:hX.seeAlso,sex:cX("entity")("sex"),age:cX("entity")("age"),bmi:cX("entity")("bmi"),Male:aq.DataFactory.literal("Male"),Female:aq.DataFactory.literal("Female"),consortiumName:cX("entity")("consortium_name"),providerName:cX("entity")("provider_name"),providerUUID:cX("entity")("provider_uuid"),donor:cX("entity")("has_donor"),sections:cX("entity")("has_tissue_section"),datasets:cX("entity")("has_dataset"),sampleType:cX("entity")("sample_type"),TissueBlock:aq.DataFactory.literal("Tissue Block"),TissueSection:aq.DataFactory.literal("Tissue Section"),NonStandard:aq.DataFactory.literal("Non-standard"),sectionCount:cX("entity")("section_count"),sectionSize:cX("entity")("section_size"),sectionUnits:cX("entity")("section_units"),sectionNumber:cX("entity")("section_number"),spatialEntity:cX("entity")("has_spatial_entity"),ontologyTerms:cX("entity")("has_ontology_term"),cellTypeTerms:cX("entity")("has_cell_type_term"),technology:cX("entity")("technology"),thumbnail:cX("entity")("has_thumbnail")},pX=cX("ccf"),fX={x:pX,ontologyNode:{label:pX("ccf_preferred_label"),parent:pX("ccf_part_of"),children:pX("ccf_part_of"),rui_rank:pX("ccf_rui_rank"),synonymLabels:aq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:pX("ccf_part_of"),ct_is_a:pX("ct_is_a"),located_in:pX("located_in"),characterizes:pX("characterizes")},spatial:{Female:pX("VHFemale"),Male:pX("VHMale"),BothSexes:pX("VHBothSexes"),FemaleOrgans:pX("VHFemaleOrgans"),MaleOrgans:pX("VHMaleOrgans")},SpatialObjectReference:pX("SpatialObjectReference"),SpatialEntity:pX("SpatialEntity"),SpatialPlacement:pX("SpatialPlacement"),spatialObjectReference:{file:pX("has_object_file"),file_format:pX("has_object_file_format"),file_subpath:pX("has_object_file_subpath")},extractionSet:{label:hX.label,rui_rank:pX("ccf_rui_rank")},spatialEntity:{label:hX.label,comment:hX.comment,creator:cX("dc")("creator"),creator_first_name:pX("creator_first_name"),creator_last_name:pX("creator_last_name"),creator_orcid:pX("creator_orcid"),creation_date:pX("creation_date"),updated_date:pX("updated_date"),ccf_annotations:pX("ccf_annotation"),representation_of:pX("ccf_representation_of"),reference_organ:pX("anatomical_structure_of"),extraction_set_for:pX("extraction_set_for"),extraction_set:pX("extraction_site_for"),sex:pX("has_sex"),side:pX("has_side"),rui_rank:pX("ccf_rui_rank"),slice_thickness:pX("ccf_slice_thickness"),slice_count:pX("ccf_slice_count"),x_dimension:pX("has_x_dimension"),y_dimension:pX("has_y_dimension"),z_dimension:pX("has_z_dimension"),dimension_units:pX("has_dimension_units"),object:pX("has_object_reference")},spatialPlacement:{source:pX("has_placement_source"),target:pX("has_placement_target"),placement_date:pX("has_placement_date"),x_scaling:pX("has_x_scaling"),y_scaling:pX("has_y_scaling"),z_scaling:pX("has_z_scaling"),scaling_units:pX("has_scaling_units"),x_rotation:pX("has_x_rotation"),y_rotation:pX("has_y_rotation"),z_rotation:pX("has_z_rotation"),w_rotation:pX("has_theta_rotation"),rotation_order:pX("has_rotation_order"),rotation_units:pX("has_rotation_units"),x_translation:pX("has_x_translation"),y_translation:pX("has_y_translation"),z_translation:pX("has_z_translation"),translation_units:pX("has_translation_units")}},gX={x:cX("uberon"),body:cX("uberon")("0013702")},mX={x:cX("cl"),cell:cX("cl")("0000000")},bX={x:cX("fma")},yX=(cX("lmha"),{body:gX.body,cell:mX.cell,respiratory_system:gX.x("0001004"),colon:gX.x("0001155"),left_lung:gX.x("0002168"),right_lung:gX.x("0002167"),left_bronchus:gX.x("0002178"),right_bronchus:gX.x("0002177"),kidney:gX.x("0002113"),ureter:gX.x("0000056"),eye:gX.x("0000970"),fallopian_tube:gX.x("0003889"),knee:gX.x("0001465"),ovary:gX.x("0000992"),trachea:gX.x("0003126"),aorta:gX.x("0000947"),blood:gX.x("0000178"),bone_marrow:gX.x("0002371"),male_reproductive_system:gX.x("0000079"),lymph_node:gX.x("0000029"),blood_vasculature:gX.x("0004537"),brain:gX.x("0000955"),eye_left:gX.x("0004548"),eye_right:bX.x("54449"),fallopian_tube_left:gX.x("0001303"),fallopian_tube_right:gX.x("0001302"),heart:gX.x("0000948"),kidney_left:gX.x("0004538"),kidney_right:gX.x("0004539"),knee_left:bX.x("24978"),knee_right:bX.x("24977"),large_intestine:gX.x("0000059"),liver:gX.x("0002107"),lungs:gX.x("0002048"),mesenteric_lymph_node:gX.x("0002509"),ovary_left:bX.x("7214"),ovary_right:bX.x("7213"),pancreas:gX.x("0001264"),pelvis:gX.x("0001270"),prostate_gland:gX.x("0002367"),skin:gX.x("0002097"),small_intestine:gX.x("0002108"),spleen:gX.x("0002106"),thymus:gX.x("0002370"),ureter_left:gX.x("0001223"),ureter_right:gX.x("0001222"),urinary_bladder:gX.x("0001255"),uterus:gX.x("0000995")});function vX(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const _X={spatialObjectReference:vX(fX.spatialObjectReference),spatialEntity:vX(fX.spatialEntity),spatialPlacement:vX(fX.spatialPlacement)};function wX(t,e){const n=lX(t,e,"ExtractionSet",_X.spatialEntity);return n.extractionSites=(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set,e,null).map(e=>xX(t,e.id)),["rui_rank"]),n}function xX(t,e){const n=lX(t,e,"SpatialEntity",_X.spatialEntity);return n.object&&(n.object=function(t,e){return lX(t,e,"SpatialObjectReference",_X.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,fX.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,dX.spatialEntity,e,null),n}function SX(t,e){const n=lX(t,e,"SpatialPlacement",_X.spatialPlacement);return n.source&&(n.source=xX(t,n.source)),n.target&&(n.target=xX(t,n.target)),n}function CX(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class EX{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new dq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},uX.type,fX.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},uX.type,fX.SpatialEntity,null);const e={};for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=fq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&CX(i,SX(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,gq.get)(t,"placement[0]",(0,gq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=CX(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new uq).fromRotationMatrix(r,uq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${xq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class OX{constructor(t){this.db=t}getSpatialEntity(t){return xX(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set_for,e,null).map(e=>wX(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return wX(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.reference_organ,e,null).map(e=>xX(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(xX(t,n.subject.id))},null,fX.spatialEntity.reference_organ,null,null),(0,gq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=fX.spatial.Male.id;break;case"Female":e=fX.spatial.Female.id;break;case"Both":default:e=fX.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(fX.x("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const TX="https://entity.api.hubmapconsortium.org/entities/",kX=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),PX={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},AX={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},MX={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class IX{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,AX[t.group_uuid]||(AX[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=AX[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=TX+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,gq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${t.specimen_type}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":TX+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${AX[t.group_uuid]||t.group_name}`,description:`${e.specimen_type}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=AX[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,gq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":TX+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,gq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>kX.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(kX.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=PX[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,gq.toNumber)(r[1]));for(const u of(0,gq.get)(t,"metadata.organ_donor_data",[]))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,gq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,gq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=AX[t.group_uuid]||t.group_name;return{"@id":TX+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r)),i){const t=null!==(n=(0,gq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,gq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,gq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,gq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const DX=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],RX={exists:{field:"rui_location"}};function NX(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:RX,_source:{includes:DX}})}function LX(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e);return n.ok?yield n.json():void 0}catch(n){return}})}function jX(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield LX(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=250,r=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),s=NX(0,i,n),o=yield LX(t,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let e=i;e!t))return;const u=c.map(t=>t.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,gq.get)(t,"hits.hits",[]).map(t=>(0,gq.get)(t,"_source",{})).map(t=>new IX(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":MX},t)))),{"@context":MX,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function FX(t,e,n){const i=new Set;for(const r of e)for(const e of(0,aq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const BX={[fX.spatialEntity.x_dimension.id]:"x",[fX.spatialEntity.y_dimension.id]:"y",[fX.spatialEntity.z_dimension.id]:"z"};function VX(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=lX(t,e,"Dimensions",BX);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new uq).fromRotationMatrix(r,uq.XYZ).toQuaternion().normalize().calculateW();s=(new iX).fromCenterHalfSizeQuaternion(e,i,o)}return s}function zX(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=VX(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function UX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function HX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function $X(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function GX(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.namedNode(r);t.forSubjects($X(e,i),fX.spatialEntity.ccf_annotations,n,null)}return i}function WX(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,aq.readQuads)(e,i,dX.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,aq.readQuads)(e,r,fX.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function qX(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[fX.ontologyNode.label.id]:"label",[n]:"parent",[fX.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of aX(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function XX(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,aq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=qX(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,r}const YX=(0,gq.memoize)(function(t){const e=XX(t,yX.body.id,"body",fX.asctb.part_of.id);return e.nodes[yX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),KX={[dX.label.id]:"label",[dX.description.id]:"description",[dX.link.id]:"link"},QX=Object.assign(Object.assign({},KX),{[dX.providerName.id]:"providerName"}),ZX=Object.assign(Object.assign({},KX),{[dX.technology.id]:"technology",[dX.thumbnail.id]:"thumbnail"}),JX=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionNumber.id]:"sectionNumber",[dX.datasets.id]:"datasets"}),tY=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionCount.id]:"sectionCount",[dX.sectionSize.id]:"sectionSize",[dX.sectionUnits.id]:"sectionUnits",[dX.donor.id]:"donor",[dX.spatialEntity.id]:"spatialEntityId",[dX.sections.id]:"sections",[dX.datasets.id]:"datasets"});function eY(t,e){return lX(t,e,"Donor",QX)}function nY(t,e){return lX(t,e,"Dataset",ZX)}function iY(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of aX(t,e,JX))if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]=r;return n}class rY{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const sY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class oY{constructor(t=sY){this.options=t,this.store=new aq.Store(void 0,{factory:aq.DataFactory}),this.graph=new EX(this),this.scene=new OX(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e="ccf-database.last_modified",n="ccf-database",i=yield oq(e).catch(()=>{});let r;i&&t-new Date(+i).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([n,e]).catch(()=>{}):r=yield oq(n).catch(()=>{}),r?yield this.deserialize(r):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[n,this.serialize()],[e,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,aq.deserializeN3Store)(r,aq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(jX(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?t.endsWith("jsonld")?yield(0,aq.addJsonLdToStore)(t,n):t.endsWith("n3")?yield(0,aq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,aq.addRdfXmlToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n)}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=YX(t),s=new Map;for(const{subject:o,object:a}of(0,aq.readQuads)(t,null,fX.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>aq.DataFactory.namedNode(t)))}for(const{object:o}of(0,aq.readQuads)(t,null,dX.spatialEntity,null,null))for(const{subject:e}of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,o,null))for(const{object:n}of(0,aq.readQuads)(t,e,fX.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(aq.DataFactory.namedNode(o.id),fX.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,aq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory),this.graph=new EX(this),this.scene=new OX(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),dX.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects($X(e,i),dX.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=UX(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects($X(e,i),dX.sex,dX[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=UX(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,aq.readQuads)(t,u,dX.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,aq.readQuads)(t,u,dX.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=HX(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)zX(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(yX.body.id)&&(u=HX(t,u,n=>GX(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(yX.cell.id)&&(u=HX(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,fX.asctb.located_in,null),r===yX.cell.id&&i.add(yX.body.id);return GX(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,gq.isFinite)(n.ageRange[0])&&(0,gq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.age,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,gq.isFinite)(n.bmiRange[0])&&(0,gq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.bmi,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(aq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(aq.DataFactory.namedNode(e),dX.spatialEntity,null);if(n.length>0)return xX(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new rY(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of aX(t,e,tY))if("sections"===i){const e=iY(t,r);n[i].push(e)}else if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]="donor"===i?eY(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=FX(e,t,dX.donor.id),i=FX(e,n,dX.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,aq.readQuads)(e,a,dX.spatialEntity,null,null))r.add(t.subject.id);const s=FX(e,r,dX.sections.id),o=new Set([...FX(e,r,dX.datasets.id),...FX(e,s,dX.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return WX(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=WX(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,aq.readQuads)(e,null,fX.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[yX.cell.id]=null!==(i=null===(n=r.get(yX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return YX(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return XX(t,yX.cell.id,"cell",fX.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const aY=[240,183,98,255],lY=[213,0,0,255],cY=[29,204,101,255],uY=[41,121,255,255],hY=[204,204,204,255],dY=[213,0,0,255],pY=[29,204,101,255],fY=[41,121,255,255];function gY(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:fY}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const mY=Symbol("Comlink.proxy"),bY=Symbol("Comlink.endpoint"),yY=Symbol("Comlink.releaseProxy"),vY=Symbol("Comlink.thrown"),_Y=t=>"object"==typeof t&&null!==t||"function"==typeof t,wY=new Map([["proxy",{canHandle:t=>_Y(t)&&t[mY],serialize(t){const{port1:e,port2:n}=new MessageChannel;return xY(t,e),[n,[n]]},deserialize:t=>(t.start(),CY(t))}],["throw",{canHandle:t=>_Y(t)&&vY in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function xY(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(MY);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=MY(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[mY]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;xY(t,n),l=function(t,e){return PY.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[vY]:0}}Promise.resolve(l).catch(t=>({value:t,[vY]:0})).then(t=>{const[i,o]=AY(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),SY(e))})}),e.start&&e.start()}function SY(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function CY(t,e){return OY(t,[],e)}function EY(t){if(t)throw new Error("Proxy has been released and is not useable")}function OY(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(EY(i),s===yY)return()=>IY(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{SY(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=IY(t,{type:"GET",path:e.map(t=>t.toString())}).then(MY);return n.then.bind(n)}return OY(t,[...e,s])},set(n,r,s){EY(i);const[o,a]=AY(s);return IY(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(MY)},apply(n,r,s){EY(i);const o=e[e.length-1];if(o===bY)return IY(t,{type:"ENDPOINT"}).then(MY);if("bind"===o)return OY(t,e.slice(0,-1));const[a,l]=kY(s);return IY(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(MY)},construct(n,r){EY(i);const[s,o]=kY(r);return IY(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(MY)}});return r}function TY(t){return Array.prototype.concat.apply([],t)}function kY(t){const e=t.map(AY);return[e.map(t=>t[0]),TY(e.map(t=>t[1]))]}const PY=new WeakMap;function AY(t){for(const[e,n]of wY)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},PY.get(t)||[]]}function MY(t){switch(t.type){case"HANDLER":return wY.get(t.name).deserialize(t.value);case"RAW":return t.value}}function IY(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class DY extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let RY=null;function NY(t){RY=t}function LY(){if(null===RY)throw new DY;return RY.get(qz)}function jY(){if(null===RY)throw new DY;return RY.get(Tu)}function FY(t,e,n){e.run(()=>t.dispatch(n))}function BY(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(FY(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>FY(t,e,n)}),n}(t,e,n,i):(FY(t,e,n),n)}class VY{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const zY="\u0275fac",UY=Symbol("InjectorInstance"),HY=Symbol("FactoryHasBeenDecorated");function $Y(t,e){const n=t[UY];return n?n.get(e):null}const GY={cancelUncompleted:!1};function WY(t=GY){return(e,n,i)=>{let r;const s=function(t){return t?new VY:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=$Y(this,qz)||LY(),e=$Y(this,Tu)||jY(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>BY(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(HY in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[zY]&&function(t){const e=t[zY];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[UY]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,zY,{get:()=>i})}(e),t.constructor.prototype[HY]=!0}(e)}}let qY=(()=>{class t{constructor(t){NY(t.injector),t.onDestroy(()=>{NY(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),XY=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),YY=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const KY=["*"],QY=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],ZY=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],JY=qy(Yy(class{})),tK=Yy(class{}),eK=new oi("MatList"),nK=new oi("MatNavList");let iK=(()=>{class t extends JY{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:eK,useExisting:t}]),jo,ye],ngContentSelectors:KY,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),rK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),sK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),oK=(()=>{class t extends tK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(nK,8),ea(eK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,rK,5),Jc(n,sK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:ZY,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(QY),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),aK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,YY]}),t})();const lK=["input"],cK=function(t){return{enterDuration:t}},uK=["*"],hK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:dK});function dK(){return{color:"accent",clickAction:"check-indeterminate"}}let pK=0;const fK=dK(),gK={provide:aU,useExisting:pt(()=>yK),multi:!0};class mK{}const bK=Ky(Xy(Yy(qy(class{constructor(t){this._elementRef=t}}))));let yK=(()=>{class t extends bK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++pK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||fK,this.color=this.defaultColor=this._options.color||fK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new mK;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(hK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(lK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([gK]),jo],ngContentSelectors:uK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,cK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),vK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),_K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,vK],Wy,vK]}),t})();const wK=["bodyCanvas"];let xK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(wK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),SK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const CK=["carouselContainer"],EK=["itemlist"],OK=["itemcontainer"];function TK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function kK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function PK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,kK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function AK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const MK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),IK=MK.filter(t=>!0!==t.disabled);let DK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=IK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(CK,7),Zc(EK,7),Zc(OK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,TK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,PK,6,7,"div",7),sa(),sa(),Jo(8,AK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),RK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),NK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),LK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function jK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function FK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,jK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function BK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,FK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let VK=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,BK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),zK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),UK=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),HK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea(UK))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),$K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,zK,k_,d_]]}),t})(),GK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),WK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let qK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Yd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function XK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function YK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let KK=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,XK,2,1,"button",0),Jo(3,YK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),QK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class ZK extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let JK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const tQ=new A,eQ={cacheBusterObserver:tQ},nQ={cacheBusterObserver:tQ,maxCacheCount:4};function iQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let sQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(tQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},rQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},rQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:iQ(null==t?void 0:t.ageRange,1,110),bmi:iQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(eQ)],t.prototype,"getProviderNames",null),vw([QW(eQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(eQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(eQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(eQ)],t.prototype,"getReferenceOrgans",null),vw([QW(nQ)],t.prototype,"getTissueBlockResults",null),vw([QW(nQ)],t.prototype,"getAggregateResults",null),vw([QW(nQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(nQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(nQ)],t.prototype,"getScene",null),vw([QW(nQ)],t.prototype,"getReferenceOrganScene",null),t})(),oQ=(()=>{class t extends ZK{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),aQ=(()=>{class t extends oQ{createDatabase(t){return{database:new oY(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),lQ=(()=>{class t extends oQ{createDatabase(t){const e=this.createWorker(t),n=CY(e);return{database:n,unsubscribe:()=>{n[yY](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),cQ=(()=>{class t extends ZK{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),uQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),hQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),dQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var pQ;class fQ{get length(){var t,e;return null!==(e=null===(t=fQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=fQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=fQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=fQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=fQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=fQ.storage)||void 0===t||t.clear()}}fQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),fQ.\u0275fac=function(t){return new(t||fQ)},fQ.\u0275prov=xt({token:fQ,factory:fQ.\u0275fac,providedIn:"root"});const gQ="callToActionPopupShown";let mQ=pQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(gQ,`${n}`),r=pQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new hQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(yQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(gQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};mQ.\u0275fac=function(t){return new(t||mQ)(Ei(nG),Ei(jW),Ei(fQ),Ei(UK),Ei(Jv))},mQ.\u0275prov=xt({token:mQ,factory:mQ.\u0275fac}),vw([eU(uQ)],mQ.prototype,"learnMore",null),vw([eU(hQ)],mQ.prototype,"open",null),vw([eU(dQ)],mQ.prototype,"close",null),mQ=pQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],mQ);let bQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([mQ])],t,"title",null),vw([rU([mQ])],t,"message",null),vw([rU([mQ])],t,"callToAction",null),vw([rU([mQ])],t,"imageUrl",null),vw([rU([mQ])],t,"expirationDate",null),vw([rU([mQ])],t,"popupShown",null),t})(),yQ=(()=>{class t{constructor(){this.close=()=>new dQ,this.learnMore=()=>new uQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[GK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(bQ.title)],t.prototype,"title$",void 0),vw([iU(bQ.message)],t.prototype,"message$",void 0),vw([iU(bQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(bQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([WY()],t.prototype,"close",void 0),vw([WY()],t.prototype,"learnMore",void 0),t})();function vQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function _Q(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let wQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,vQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,_Q,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,iK,kh,oK,yK,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),xQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,_K,k_,aK]]}),t})(),SQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),CQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const EQ=new oi("Default theme class");let OQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(EQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const TQ={initialConfig:{},parse:{},rename:{}};class kQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},TQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let PQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new kQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const AQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var MQ;const IQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(MQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==MQ?MQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function DQ(t){return(...e)=>new t(...e)}function RQ(t,e){return n=>n.lift(new NQ(t,e))}class NQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new LQ(t,this.keySelector,this.flushes))}}class LQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class jQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new FQ(t,this.count,this.source))}}class FQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let BQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const VQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var zQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(zQ||(zQ={})),zQ))();function UQ(t){return()=>t.next(zQ.Completed)}function HQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let $Q=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),RQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(HQ(this.tissueBlockData,UQ(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(HQ(this.aggregateData,UQ(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(HQ(this.ontologyTermOccurencesData,UQ(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(HQ(this.cellTypeTermOccurencesData,UQ(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(HQ(this.sceneData,UQ(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(HQ(this.technologyFilterData,UQ(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(HQ(this.providerFilterData,UQ(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(RQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(RQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(RQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(RQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(RQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(RQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(RQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===zQ.Completed)}(t)?zQ.Completed:zQ.Running),RQ()),this._tissueBlockDataQueryStatus$.next(zQ.Completed),this._aggregateDataQueryStatus$.next(zQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Completed),this._sceneDataQueryStatus$.next(zQ.Completed),this._technologyFilterQueryStatus$.next(zQ.Completed),this._providerFilterQueryStatus$.next(zQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===VQ?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new jQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};$Q.\u0275fac=function(t){return new(t||$Q)(Ei(JK))},$Q.\u0275prov=xt({token:$Q,factory:$Q.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],$Q.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],$Q.prototype,"updateFilter",null),vw([eU(BQ)],$Q.prototype,"updateFilterHandler",null),vw([PV.ak],$Q.prototype,"tissueBlockData",null),vw([PV.ak],$Q.prototype,"aggregateData",null),vw([PV.ak],$Q.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],$Q.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],$Q.prototype,"sceneData",null),vw([PV.ak],$Q.prototype,"technologyFilterData",null),vw([PV.ak],$Q.prototype,"providerFilterData",null),$Q=vw([kW(),nU({name:"data",defaults:{filter:VQ,status:"Loading",statusMessage:"Loading database"}})],$Q);class GQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([$Q])],GQ,"filter",null),vw([rU([$Q])],GQ,"anatomicalStructuresTreeModel",null),vw([rU([$Q])],GQ,"cellTypesTreeModel",null);let WQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),qQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),XQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let YQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};YQ.\u0275fac=function(t){return new(t||YQ)},YQ.\u0275prov=xt({token:YQ,factory:YQ.\u0275fac}),vw([eU(WQ)],YQ.prototype,"addSearch",null),vw([eU(qQ)],YQ.prototype,"removeSearch",null),vw([eU(XQ)],YQ.prototype,"setSelectedSearches",null),YQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],YQ);class KQ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([YQ])],KQ,"items",null),vw([rU([KQ.items])],KQ,"searches",null),vw([rU([KQ.items])],KQ,"selectedSearches",null);const QQ=new RegExp("[^#a-f\\d]","gi"),ZQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),JQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||QQ.test(t)||!ZQ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let tZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};tZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(tZ)))(e||tZ)}}(),tZ.\u0275prov=xt({token:tZ,factory:tZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],tZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],tZ.prototype,"unassignColor",null),tZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:JQ.concat(),colorsAvailable:JQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],tZ);let eZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,gq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};eZ.\u0275fac=function(t){return new(t||eZ)(Ei(JK),Ei(No))},eZ.\u0275prov=xt({token:eZ,factory:eZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],eZ.prototype,"setListResults",null),eZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],eZ);const nZ=new Set(["Skin","Heart","Kidney","Spleen"]);let iZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),this.listResults=this.injector.get(eZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return MK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>nZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function rZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function sZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function oZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function aZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}iZ.\u0275fac=function(t){return new(t||iZ)(Ei(JK),Ei(No))},iZ.\u0275prov=xt({token:iZ,factory:iZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],iZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],iZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],iZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],iZ.prototype,"setScene",null),vw([rU()],iZ,"referenceOrgans",null),vw([rU()],iZ,"referenceOrganEntities",null),iZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],iZ);const lZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",cZ=Xy(class{constructor(t){this._elementRef=t}},"primary"),uZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class hZ extends cZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=hZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=hZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}hZ.\u0275fac=function(t){return new(t||hZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},hZ.\u0275cmp=Jt({type:hZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,rZ,1,9,"circle",1),Jo(2,sZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),hZ._diameters=new WeakMap;let dZ=(()=>{class t extends hZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,oZ,1,9,"circle",1),Jo(2,aZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),t})(),pZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),fZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[dZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const gZ={isolated:!0},mZ=new oi("Message service configuration",{providedIn:"root",factory:()=>gZ});let bZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const yZ=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(Y())}ngOnDestroy(){this.channel.complete()}connect(t){return new bZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(mZ),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),vZ=["*"];let _Z=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:vZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const wZ=["*"],xZ={params:{width:0,margin:0,margin2:0}};class SZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let CZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new SZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:wZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),xZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),xZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),xZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function EZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const OZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],TZ=["ccf-drawer","ccf-drawer-content","*"];function kZ(t){throw new Error(`Multiple drawers in position ${t}`)}let PZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&kZ("start"),n.length>1&&kZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,CZ,5),Jc(n,_Z,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(_Z,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([yZ])],ngContentSelectors:TZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(OZ),xa(0),xa(1,1),Jo(2,EZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,_Z],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),AZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),MZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),IZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),DZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),RZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),NZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),LZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),jZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),FZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),VZ=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const zZ=["trigger"],UZ=["panel"];function HZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function $Z(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function GZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function WZ(t,e){1&t&&(ra(0,"span",9),Jo(1,$Z,2,1,"span",10),Jo(2,GZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function qZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const XZ=[[["mat-select-trigger"]],"*"],YZ=["mat-select-trigger","*"],KZ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let QZ=0;const ZZ=new oi("mat-select-scroll-strategy"),JZ=new oi("MAT_SELECT_CONFIG"),tJ={provide:ZZ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class eJ{constructor(t,e){this.source=t,this.value=e}}const nJ=Yy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),iJ=new oi("MatSelectTrigger");let rJ=(()=>{class t extends nJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+QZ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+QZ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(ZZ),ea(Bg),ea(JZ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(zZ,5),Zc(UZ,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),sJ=(()=>{class t extends rJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new eJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,iJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:YZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(XZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,HZ,2,1,"span",3),Jo(5,WZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,qZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[KZ.transformPanelWrap,KZ.transformPanel]},changeDetection:0}),t})(),oJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[tJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function aJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let lJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,aJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,sJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var cJ=n(25430),uJ=n(39053),hJ=n(26202);const dJ=["tooltipTemplate"],pJ=["leftOuterSelectionBar"],fJ=["rightOuterSelectionBar"],gJ=["fullBar"],mJ=["selectionBar"],bJ=["minHandle"],yJ=["maxHandle"],vJ=["floorLabel"],_J=["ceilLabel"],wJ=["minHandleLabel"],xJ=["maxHandleLabel"],SJ=["combinedLabel"],CJ=["ticksElement"];function EJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function OJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const TJ=function(t){return{"ng5-slider-selected":t}};function kJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,EJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,OJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,TJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function PJ(t,e){}function AJ(t,e){1&t&&Jo(0,PJ,0,0,"ng-template")}const MJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function IJ(t,e){if(1&t&&(aa(0),Jo(1,AJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,MJ,t.tooltip,t.placement,t.content))}}function DJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const RJ={Min:0,Max:1};RJ[RJ.Min]="Min",RJ[RJ.Max]="Max";const NJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};NJ[NJ.Low]="Low",NJ[NJ.High]="High",NJ[NJ.Floor]="Floor",NJ[NJ.Ceil]="Ceil",NJ[NJ.TickValue]="TickValue";class LJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class jJ{}class FJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){FJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),FJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),FJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new zJ;return r.eventName=e,r.events=new cJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let HJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new UJ(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;FJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return FJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),$J=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),GJ=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(FJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class WJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class qJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class YJ extends XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const KJ={provide:aU,useExisting:pt(()=>QJ),multi:!0};let QJ=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new LJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new cJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new cJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new LJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new qJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new UJ(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!FJ.isNullOrUndefined(this.value)&&!FJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){FJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!FJ.isNullOrUndefined(t.value)||!FJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),(0,uJ.filter)(t=>!t.forceChange&&!t.internalChange),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){BJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){BJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){FJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){FJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){FJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){FJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){FJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){FJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===RJ.Min?this.minHandleElement:t===RJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===RJ.Min?this.viewLowValue:this.currentTrackingPointer===RJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return FJ.isNullOrUndefined(t)?NaN:FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:FJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return FJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!XJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),FJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),FJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new XJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!FJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=VJ.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=VJ.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);XJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!FJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!FJ.isNullOrUndefined(this.viewOptions.tickStep)||!FJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),FJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),FJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(FJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),FJ.isNullOrUndefined(this.viewOptions.ceil)||FJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==RJ.Min&&t!==RJ.Max&&(t=RJ.Min),t===RJ.Min?this.minHandleElement.focus():this.range&&t===RJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){FJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),FJ.isNullOrUndefined(this.viewOptions.ariaLabel)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",FJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,NJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,NJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){FJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,FJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=FJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new WJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),FJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,NJ.TickValue),FJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!FJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);FJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(FJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,NJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,NJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===RJ.Min?this.updateLowHandle(e):t===RJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===RJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===RJ.Min||!this.viewOptions.rightToLeft&&t===RJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,NJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Min,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(RJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,NJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Max,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(RJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!FJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===RJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,NJ.Low),e=this.getDisplayValue(this.viewHighValue,NJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!FJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=FJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=VJ.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,VJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=FJ.linearValueToPosition;FJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=FJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=VJ.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=FJ.linearPositionToValue;FJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=FJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!FJ.isNullOrUndefined(e))for(let r=0;ri?RJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?RJ.Min:RJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(RJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(RJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!BJ.isTouchEvent(e)||!hJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),FJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),BJ.isTouchEvent(e)&&!FJ.isNullOrUndefined(e.changedTouches)&&FJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(BJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!FJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){BJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,FJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=FJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(FJ.isNullOrUndefined(i)||FJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=VJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===RJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===RJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!FJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=VJ.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(t)),this.updateHandles(RJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===RJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===RJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(RJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=RJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===RJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===RJ.Min?this.viewHighValue:this.viewLowValue));if(!FJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===RJ.Min)return VJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===RJ.Max)return VJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===RJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=FJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===RJ.Min?(this.viewHighValue=VJ.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===RJ.Max&&(this.viewLowValue=VJ.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new jJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,dJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(pJ,5,HJ),Zc(fJ,5,HJ),Zc(gJ,5,HJ),Zc(mJ,5,HJ),Zc(bJ,5,$J),Zc(yJ,5,$J),Zc(vJ,5,GJ),Zc(_J,5,GJ),Zc(wJ,5,GJ),Zc(xJ,5,GJ),Zc(SJ,5,GJ),Zc(CJ,5,HJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([KJ]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,kJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[HJ,jh,$J,GJ,kh,Oh,ZJ,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),ZJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,IJ,2,6,"ng-container",0),Jo(1,DJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),JJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const t0=["popover"];function e0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let n0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(t0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,e0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,sJ,QJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function i0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let r0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,i0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,yK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var s0;let o0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),a0=s0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(FZ),rg(500),eg(()=>e.dispatch(o0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new MZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(GQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(iZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new IZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(s0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(GQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:gY(r).concat(e)})}),W(()=>t.dispatch(new FZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new DZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new FZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new FZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(s0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(GQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(s0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new WQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(KQ.selectedSearches);s.push(new BQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(iZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};a0.\u0275fac=function(t){return new(t||a0)(Ei(JK),Ei(qz),Ei(Az),Ei(jW))},a0.\u0275prov=xt({token:a0,factory:a0.\u0275fac}),vw([eU(AZ)],a0.prototype,"startSpatialSearchFlow",null),vw([eU(MZ)],a0.prototype,"setSex",null),vw([eU(IZ)],a0.prototype,"setOrgan",null),vw([eU(DZ)],a0.prototype,"setPosition",null),vw([eU(NZ)],a0.prototype,"resetPosition",null),vw([eU(RZ)],a0.prototype,"moveToNode",null),vw([eU(LZ)],a0.prototype,"setRadius",null),vw([eU(jZ)],a0.prototype,"resetRadius",null),vw([eU(o0)],a0.prototype,"updateSpatialSearch",null),vw([eU(BZ)],a0.prototype,"generateSpatialSearch",null),vw([eU(VZ)],a0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([s0,iZ.referenceOrganEntities])],a0,"organEntity",null),a0=s0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],a0);class l0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:aY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:uY}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function c0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}l0.organEntity=a0.organEntity,vw([rU([a0])],l0,"sex",null),vw([rU([a0])],l0,"referenceOrgans",null),vw([rU([a0])],l0,"organId",null),vw([rU([l0.organId,l0.referenceOrgans])],l0,"organ",null),vw([rU([l0.sex,l0.referenceOrgans])],l0,"organs",null),vw([rU([a0])],l0,"position",null),vw([rU([a0])],l0,"defaultPosition",null),vw([rU([a0])],l0,"radius",null),vw([rU([a0])],l0,"radiusSettings",null),vw([rU([a0,a0.organEntity,l0.position,l0.radius])],l0,"scene",null),vw([rU([a0.organEntity])],l0,"sceneBounds",null),vw([rU([a0.organEntity])],l0,"sceneTarget",null),vw([rU([a0])],l0,"tissueBlocks",null),vw([rU([a0,GQ.anatomicalStructuresTreeModel])],l0,"anatomicalStructures",null),vw([rU([a0,GQ.cellTypesTreeModel])],l0,"cellTypes",null);let u0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,c0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function h0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let d0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,h0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function p0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function f0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let g0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,p0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,f0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),m0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[g0],encapsulation:2,changeDetection:0}),t})(),b0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,XY,F$,u0,d0,xK,m0,SQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function y0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class v0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=DQ(DZ),this.resetPosition=DQ(NZ),this.moveToNode=DQ(RZ),this.updateRadius=DQ(LZ),this.resetRadius=DQ(jZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new BZ}openSpatialSearchConfig(){this.close(),this.dialog.open(j0)}}v0.\u0275fac=function(t){return new(t||v0)(ea(Y$),ea(nG),ea(UK))},v0.\u0275cmp=Jt({type:v0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,y0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,b0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.scene)],v0.prototype,"scene$",void 0),vw([iU(l0.sceneBounds)],v0.prototype,"sceneBounds$",void 0),vw([iU(l0.sceneTarget)],v0.prototype,"sceneTarget$",void 0),vw([iU(l0.sex)],v0.prototype,"sex$",void 0),vw([iU(l0.organ)],v0.prototype,"organ$",void 0),vw([iU(l0.position)],v0.prototype,"position$",void 0),vw([iU(l0.defaultPosition)],v0.prototype,"defaultPosition$",void 0),vw([iU(l0.radius)],v0.prototype,"radius$",void 0),vw([iU(l0.radiusSettings)],v0.prototype,"radiusSettings$",void 0),vw([iU(l0.tissueBlocks)],v0.prototype,"tissueBlocks$",void 0),vw([iU(l0.anatomicalStructures)],v0.prototype,"anatomicalStructures$",void 0),vw([iU(l0.cellTypes)],v0.prototype,"cellTypes$",void 0),vw([WY()],v0.prototype,"updatePosition",void 0),vw([WY()],v0.prototype,"resetPosition",void 0),vw([WY()],v0.prototype,"moveToNode",void 0),vw([WY()],v0.prototype,"updateRadius",void 0),vw([WY()],v0.prototype,"resetRadius",void 0),vw([WY()],v0.prototype,"addSpatialSearch",null);const _0=["input"],w0=function(t){return{enterDuration:t}},x0=["*"],S0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let C0=0;const E0={provide:aU,useExisting:pt(()=>P0),multi:!0};class O0{constructor(t,e){this.source=t,this.value=e}}const T0=new oi("MatRadioGroup");let k0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+C0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new O0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),P0=(()=>{class t extends k0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([E0,{provide:T0,useExisting:t}]),jo]}),t})();class A0{constructor(t){this._elementRef=t}}const M0=Yy(Ky(A0));let I0=(()=>{class t extends M0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++C0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new O0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(k0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(_0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),D0=(()=>{class t extends I0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(T0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(S0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:x0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,w0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function R0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function N0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let L0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,R0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,N0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,P0,MU,lH,D0,QH,Ah,sJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class j0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=DQ(MZ),this.updateOrgan=DQ(IZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(v0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}j0.\u0275fac=function(t){return new(t||j0)(ea(nG),ea(Y$),ea(nG),ea(UK))},j0.\u0275cmp=Jt({type:j0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[L0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.sex)],j0.prototype,"sex$",void 0),vw([iU(l0.organ)],j0.prototype,"selectedOrgan$",void 0),vw([iU(l0.organs)],j0.prototype,"organs$",void 0),vw([WY()],j0.prototype,"updateSex",void 0),vw([WY()],j0.prototype,"updateOrgan",void 0);let F0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new AZ).pipe(rf(1),eg(()=>this.dialog.open(j0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function B0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const V0=function(){return["Both","Male","Female"]},z0=function(){return[1,110]},U0=function(){return[13,83]};let H0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify(VQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,B0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,V0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,z0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,U0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[lJ,n0,r0,Ah,F0,R_,T_,wQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function $0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function G0(t,e){1&t&&oa(0,"mat-icon",8)}class W0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new VZ(!1)}removeBox(){return this.filtersVisible=!1,new VZ(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}W0.\u0275fac=function(t){return new(t||W0)},W0.\u0275cmp=Jt({type:W0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,$0,3,0,"div",2),Jo(3,G0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,H0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([WY()],W0.prototype,"toggleFilterVisible",null),vw([WY()],W0.prototype,"removeBox",null);class q0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,gq.at)(i,t.children)}}q0.\u0275fac=function(t){return new(t||q0)},q0.\u0275prov=xt({token:q0,factory:q0.\u0275fac}),vw([PV.ak],q0.prototype,"getChildren",null);class X0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const Y0=new oi("CDK_TREE_NODE_OUTLET_NODE");let K0=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class Q0{constructor(t){this.$implicit=t}}let Z0=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),J0=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new Q0(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),t1.mostRecentTreeNode&&(t1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,Z0,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(K0,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[K0],encapsulation:2}),t})(),t1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!e1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function e1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const n1=/([A-Za-z%]+)$/;let i1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(n1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(t1),ea(J0),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),r1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(J0),ea(t1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),s1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const o1=Ky(qy(t1));let a1=(()=>{class t extends o1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:t1,useExisting:t}]),jo]}),t})(),l1=(()=>{class t extends Z0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:Z0,useExisting:t}]),jo]}),t})(),c1=(()=>{class t extends i1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:i1,useExisting:t}]),jo]}),t})(),u1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:K0,useExisting:t}])]}),t})(),h1=(()=>{class t extends J0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(u1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:J0,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[u1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),d1=(()=>{class t extends r1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:r1,useExisting:t}]),jo]}),t})(),p1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[s1,Wy],Wy]}),t})();class f1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class g1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class m1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new m1(t,e)}}function b1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function y1(t,e){1&t&&ca(0)}const v1=function(t){return{node:t}};function _1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,y1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function w1(t,e){1&t&&ca(0)}function x1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,w1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const S1=(0,gq.property)("level"),C1=(0,gq.property)("expandable");let E1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new X0(S1,C1),this.flattener=new f1(m1.create,S1,C1,gq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new g1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,gq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,b1,2,9,"ng-template",null,1,ru),Jo(3,_1,10,20,"mat-tree-node",2),Jo(4,x1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[h1,l1,a1,c1,T_,NK,Fh,R_,d1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function O1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let T1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,gq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,gq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(q0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,O1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const k1=function(t){return[t]};function P1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,k1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let A1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(q0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(E1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([q0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,P1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[T1,Ah,E1],pipes:[$h],styles:[""],changeDetection:0}),t})(),M1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(CZ),ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function I1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function D1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let R1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,I1,4,0,"div",5),Jo(10,D1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,dZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function N1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const L1=function(){return[]};let j1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,N1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,L1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function F1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function B1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:F1(e[n])&&F1(t[n])&&Object.keys(e[n]).length>0&&B1(t[n],e[n])})}var V1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function z1(){var t="undefined"!=typeof document?document:{};return B1(t,V1),t}var U1={document:V1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function H1(){var t="undefined"!=typeof window?window:{};return B1(t,U1),t}function $1(t){return($1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function G1(t,e){return(G1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function W1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function q1(t,e,n){return(q1=W1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&G1(r,n.prototype),r}).apply(null,arguments)}function X1(t){var e="function"==typeof Map?new Map:void 0;return(X1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return q1(t,arguments,$1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G1(n,t)})(t)}var Y1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(X1(Array));function K1(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,K1(t)):e.push(t)}),e}function Q1(t,e){return Array.prototype.filter.call(t,e)}function Z1(t,e){var n=H1(),i=z1(),r=[];if(!e&&t instanceof Y1)return t;if(!t)return new Y1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=H1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=H1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=H1(),e=z1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=H1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return Z1([]);if(t<0){var n=e+t;return Z1(n<0?[]:[this[n]])}return Z1([this[t]])},append:function(){for(var t,e=z1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof Y1)for(n=0;n0?t?this[0].nextElementSibling&&Z1(this[0].nextElementSibling).is(t)?Z1([this[0].nextElementSibling]):Z1([]):Z1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):Z1([])},nextAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&Z1(e.previousElementSibling).is(t)?Z1([e.previousElementSibling]):Z1([]):Z1(e.previousElementSibling?[e.previousElementSibling]:[])}return Z1([])},prevAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),n2}function p2(t){return void 0===t&&(t={}),i2||(i2=function(t){var e=(void 0===t?{}:t).userAgent,n=d2(),i=H1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),i2}function f2(){return r2||(r2=function(){var t,e=H1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),r2}var g2={name:"resize",create:function(){var t=this;u2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=H1();t.params.resizeObserver&&void 0!==H1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=H1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function m2(){return(m2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=s2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==z1()&&n!==H1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(u2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=a2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&s2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function _2(t){var e=z1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(u2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=a2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&s2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:a2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function w2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=a2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=a2(),o2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||a2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function x2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function S2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function C2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var E2=!1;function O2(){}var T2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function k2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var X=I[0];T=U+H+$+G+W+(X.offsetWidth-X.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var Y=0;Y1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=s2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),u2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);u2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=s2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(s2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=z1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=s2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(s2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),u2(t.params,u);var m=t.params.enabled;u2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=H1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=H1();function l(){s&&s()}s2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return s2(n.el).each(function(e){var i=u2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=d2(),a.device=p2({userAgent:n.userAgent}),a.browser=f2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=u2({},T2);return a.useParams(u),a.params=u2({},u,A2,n),a.originalParams=u2({},a.params),a.passedParams=u2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=s2,u2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:s2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:a2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=s2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=s2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=z1().createElement("div");r=s2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return u2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){u2(A2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+a2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&k2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return A2}},{key:"defaults",get:function(){return T2}}]),t}();Object.keys(P2).forEach(function(t){Object.keys(P2[t]).forEach(function(e){M2.prototype[e]=P2[t][e]})}),M2.use([g2,y2]);var I2=M2;const D2=["prevElRef"],R2=["nextElRef"],N2=["scrollbarElRef"],L2=["paginationElRef"];function j2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function F2(t,e){1&t&&oa(0,"div",10,11)}function B2(t,e){1&t&&oa(0,"div",12,13)}function V2(t,e){}function z2(t,e){1&t&&Jo(0,V2,0,0,"ng-template")}function U2(t,e){}function H2(t,e){1&t&&Jo(0,U2,0,0,"ng-template")}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}const q2=function(t){return{$implicit:t}};function X2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,W2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,q2,t.slideData))}}function Y2(t,e){}function K2(t,e){if(1&t&&(aa(0),Jo(1,Y2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,q2,t.slideData))}}function Q2(t,e){if(1&t&&(ra(0,"div",15),Jo(1,X2,2,5,"div",16),Jo(2,K2,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function Z2(t,e){1&t&&(Jo(0,Q2,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const J2=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],t3=function(t){return{loopSlides:t,key:"prepend"}},e3=function(t){return{loopSlides:t,key:""}},n3=function(t){return{loopSlides:t,key:"append"}},i3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function r3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function s3(t,e,n){return!0===a3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function o3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(r3(e[n])&&r3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:o3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function a3(t){return null!=t&&"false"!=`${t}`}const l3=["pagination","navigation","scrollbar","virtual"];function c3(t,e={}){return r3(t)?t:!0===a3(t)&&e}const u3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function h3(t={}){const e={on:{}},n={};o3(e,I2.defaults),o3(e,I2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(u3.indexOf(s)>=0?r3(t[s])?(e[s]={},n[s]={},o3(e[s],t[s]),o3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let d3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=a3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),p3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=c3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==a3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=c3(t,{el:n||null}),this.showPagination=s3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=c3(t,{el:n||null}),this.showScrollbar=s3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=c3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=h3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=h3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=h3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new I2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};o3(e.params.virtual,t),o3(e.originalParams.virtual,t)}Xh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(l3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=I2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=r3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?o3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&r3(e)?o3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,d3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(D2,5),Zc(R2,5),Zc(N2,5),Zc(L2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:i3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(J2),xa(0),Jo(1,j2,5,0,"ng-container",0),Jo(2,F2,2,0,"div",1),Jo(3,B2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,z2,1,0,void 0,4),Jo(7,H2,1,0,void 0,4),Jo(8,G2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,Z2,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,t3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,e3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,n3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),f3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function g3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function m3(t,e){1&t&&(aa(0),Jo(1,g3,7,3,"ng-template",6),la())}const b3=(()=>{let t=-1;return()=>(t+=1,t)})();let y3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=b3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,m3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,p3,kh,d3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function v3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function _3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function w3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function x3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function S3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,x3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function C3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,_3,1,2,"ccf-tissue-section-vis",18),Jo(16,w3,2,1,"ng-container",13),sa(),Jo(17,S3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const E3=function(t){return{"background-color":t}};let O3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,v3,2,1,"mat-icon",12),sa(),sa(),Jo(18,C3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,E3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,yK,T_,Ah,kh,j1,y3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function T3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function k3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let P3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,T3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,k3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,O3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const A3=["*",[["mat-toolbar-row"]]],M3=["*","mat-toolbar-row"],I3=Xy(class{constructor(t){this._elementRef=t}});let D3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),R3=(()=>{class t extends I3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:M3,decls:2,vars:0,template:function(t,e){1&t&&(wa(A3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),N3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function L3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function j3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let F3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,L3,2,3,"a",4),Jo(5,j3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[R3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const B3=["bodyUI"];function V3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function z3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function U3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const H3=function(){return{}},$3=function(){return{x:2.2,y:2,z:.4}};class G3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=DQ(XQ),this.removeSpatialSearch=DQ(qQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=IQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===zQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(KK,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function W3(t,e){1&t&&oa(0,"ccf-root")}function q3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=AQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}G3.\u0275fac=function(t){return new(t||G3)(ea(Al),ea(No),ea($Q),ea(OQ),ea(iZ),ea(eZ),ea(VW),ea(aw),ea(CQ),ea(JK),ea(WK),ea(nc))},G3.\u0275cmp=Jt({type:G3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(B3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,V3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,z3,3,1,"div",31),Jo(78,U3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,H3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,$3))}},directives:[fZ,Ah,PZ,CZ,W0,A1,M1,R1,gw,T_,HK,P3,_Z,DK,F0,xK,F3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(GQ.cellTypesTreeModel)],G3.prototype,"cellTypeTreeModel$",void 0),vw([iU(GQ.anatomicalStructuresTreeModel)],G3.prototype,"ontologyTreeModel$",void 0),vw([iU(KQ.items)],G3.prototype,"selectableSearches$",void 0),vw([WY()],G3.prototype,"setSelectedSearches",void 0),vw([WY()],G3.prototype,"removeSpatialSearch",void 0);let X3=(()=>{class t extends PQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},IQ.dbOptions),globalThis.dbOptions),IQ.customization),parse:{dataSources:q3,useRemoteApi:AQ.boolean,header:AQ.boolean,loginDisabled:AQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(WK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,W3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,G3],encapsulation:2,changeDetection:0}),t})(),Y3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,N3,yw]]}),t})(),K3=(()=>{class t extends lQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Q3=(()=>{class t extends cQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?sQ:"undefined"==typeof Worker||IQ.disableDbWorker?aQ:K3}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Z3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:OQ.initialize,multi:!0},OQ]}),t})(),J3=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const t5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class e5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return t5(t.getHours(),2)+":"+t5(t.getMinutes(),2)+":"+t5(t.getSeconds(),2)+"."+t5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class n5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const i5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let r5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new n5(this._options),this._store=this._store||this._injector.get(qz);const i=new e5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(i5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s5=new oi("LOGGER_USER_OPTIONS");function o5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let a5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:r5,multi:!0},{provide:s5,useValue:e},{provide:i5,useFactory:o5,deps:[s5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function l5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function c5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let u5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:l5(null!==(n=t.start)&&void 0!==n?n:0,e),end:l5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,c5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function h5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const d5=[[["","matPrefix",""]],[["","matSuffix",""]]],p5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class f5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}f5.\u0275fac=function(t){return new(t||f5)(ea(p5))},f5.\u0275cmp=Jt({type:f5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(d5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,h5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,u5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],f5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let g5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};g5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(g5)))(e||g5)}}(),g5.\u0275prov=xt({token:g5,factory:g5.\u0275fac}),vw([CW()],g5.prototype,"config$",null),g5=vw([kW(),nU({name:"globalConfig",defaults:null})],g5);const m5="ALLOW_TELEMETRY",b5=y5();function y5(){const t=localStorage.getItem(m5);return null===t?void 0:"true"===t.toLowerCase()}let v5=class extends MW{setAllowTelemetry(t){const e=y5();localStorage.setItem(m5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};v5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(v5)))(e||v5)}}(),v5.\u0275prov=xt({token:v5,factory:v5.\u0275fac}),vw([OW()],v5.prototype,"setAllowTelemetry",null),v5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:b5}})],v5);const _5=new A,w5={cacheBusterObserver:_5},x5={cacheBusterObserver:_5,maxCacheCount:4};function S5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class E5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(_5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},C5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},C5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:S5(null==t?void 0:t.ageRange,1,110),bmi:S5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}E5.\u0275fac=function(t){return new(t||E5)(Ei(eq),Ei(g5))},E5.\u0275prov=xt({token:E5,factory:E5.\u0275fac,providedIn:"root"}),vw([QW(w5)],E5.prototype,"getProviderNames",null),vw([QW(w5)],E5.prototype,"getDatasetTechnologyNames",null),vw([QW(w5)],E5.prototype,"getOntologyTreeModel",null),vw([QW(w5)],E5.prototype,"getCellTypeTreeModel",null),vw([QW(w5)],E5.prototype,"getReferenceOrgans",null),vw([QW(x5)],E5.prototype,"getTissueBlockResults",null),vw([QW(x5)],E5.prototype,"getAggregateResults",null),vw([QW(x5)],E5.prototype,"getOntologyTermOccurences",null),vw([QW(x5)],E5.prototype,"getCellTypeTermOccurences",null),vw([QW(x5)],E5.prototype,"getScene",null),vw([QW(x5)],E5.prototype,"getReferenceOrganScene",null);let O5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),T5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),k5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function P5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function A5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,P5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function M5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,A5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let I5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,M5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class D5{get length(){var t,e;return null!==(e=null===(t=D5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=D5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=D5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=D5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=D5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=D5.storage)||void 0===t||t.clear()}}D5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),D5.\u0275fac=function(t){return new(t||D5)},D5.\u0275prov=xt({token:D5,factory:D5.\u0275fac,providedIn:"root"});let R5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var N5;const L5="callToActionPopupShown";let j5=N5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(L5,`${n}`),r=N5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new T5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(I5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(V5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(L5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};j5.\u0275fac=function(t){return new(t||j5)(Ei(nG),Ei(jW),Ei(D5),Ei(R5),Ei(Jv))},j5.\u0275prov=xt({token:j5,factory:j5.\u0275fac}),vw([eU(O5)],j5.prototype,"learnMore",null),vw([eU(T5)],j5.prototype,"open",null),vw([eU(k5)],j5.prototype,"close",null),j5=N5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],j5);class F5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([j5])],F5,"title",null),vw([rU([j5])],F5,"message",null),vw([rU([j5])],F5,"callToAction",null),vw([rU([j5])],F5,"imageUrl",null),vw([rU([j5])],F5,"expirationDate",null),vw([rU([j5])],F5,"popupShown",null);let B5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class V5{constructor(){this.close=()=>new k5,this.learnMore=()=>new O5}}V5.\u0275fac=function(t){return new(t||V5)},V5.\u0275cmp=Jt({type:V5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[B5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(F5.title)],V5.prototype,"title$",void 0),vw([iU(F5.message)],V5.prototype,"message$",void 0),vw([iU(F5.callToAction)],V5.prototype,"callToAction$",void 0),vw([iU(F5.imageUrl)],V5.prototype,"imageUrl$",void 0),vw([WY()],V5.prototype,"close",void 0),vw([WY()],V5.prototype,"learnMore",void 0);const z5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let U5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of z5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};U5.\u0275fac=function(t){return new(t||U5)(Ei(y_,8),Ei(Sd))},U5.\u0275prov=xt({token:U5,factory:U5.\u0275fac}),vw([OW()],U5.prototype,"registerIcon",null),U5=vw([kW(),nU({name:"iconRegistry"})],U5);const H5=[WK,tZ,U5,eZ,$Q,iZ,j5,a0,YQ];let $5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[J3.forRoot(),tU.forRoot(H5,{developmentMode:!IQ.production,selectorOptions:{injectContainerState:!1}}),qY.forRoot(),a5.forRoot({disabled:IQ.production})]]}),t})(),G5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:JK,useExisting:Q3}],imports:[[d_,GW.forRoot({gaToken:IQ.googleAnalyticsToken,appName:"eui"}),qK,nq.forRoot(()=>new tq({basePath:IQ.dbOptions.remoteApiEndpoint})),Y3,$5,Z3],Y3]}),t})(),W5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K]]}),t})(),q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,oJ]]}),t})(),X5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,oJ,JJ]]}),t})(),Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,W5,q5,X5,xQ,Y5]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,K5]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,p1,LK]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5,t4],Z5,J5,t4]}),t})();function n4(){return(n4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=z1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=s2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=s2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),u2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},r4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){h2(this,{navigation:n4({},i4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!s2(s).is(r)&&!s2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let s4=(()=>{class t{constructor(){I2.use([r4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,f3]]}),t})(),o4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),a4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K,k_,s4,o4]]}),t})(),l4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,a4]]}),t})(),c4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:mZ,useValue:gZ}],imports:[[Td,By,k_]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,pZ]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,pZ]]}),t})(),d4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(X3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:EQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:CQ}],imports:[[By,Td,G5,c4,Q5,e4,k_,X5,l4,u4,SK,RK,$K,yw,h4,QK,sw,Y5]]}),t})();IQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(d4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file diff --git a/main-es5.js b/main-es5.js index b43f44866..5fc85a9d1 100644 --- a/main-es5.js +++ b/main-es5.js @@ -1 +1 @@ -!function(){function e(t,n,i){return(e="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(n):r.value}})(t,n,i||t)}function t(e,t){return r(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var i,r,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(i=n.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(u){s=!0,r=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return o}(e,t)||w(e,t)||i()}function n(e){return r(e)||g(e)||w(e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e){if(Array.isArray(e))return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}function s(e){var t=d();return function(){var n,i=p(e);if(t){var r=p(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return u(this,n)}}function u(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return h(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),f(i,e)})(e)}function h(e,t,n){return(h=d()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&f(r,n.prototype),r}).apply(null,arguments)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){return function(e){if(Array.isArray(e))return k(e)}(e)||g(e)||w(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0?a-4:a;for(n=0;n>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,u[l++]=255&t),1===s&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},n.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],a=16383,s=0,u=n-r;su?u:s+a));return 1===r?o.push(i[(t=e[n-1])>>2]+i[t<<4&63]+"=="):2===r&&o.push(i[(t=(e[n-2]<<8)+e[n-1])>>10]+i[t>>4&63]+i[t<<2&63]+"="),o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e){return i[e>>18&63]+i[e>>12&63]+i[e>>6&63]+i[63&e]}function h(e,t,n){for(var i=[],r=t;r>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}n.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(e.lastNeed=r-1),r):--i=0?(r>0&&(e.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":4}],6:[function(e,t,n){(function(t){(function(){"use strict";var t=e("base64-js"),i=e("ieee754");n.Buffer=a,n.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function o(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=a.prototype,t}function a(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,n)}function s(e,t,n){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|d(e,t),i=o(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(B(e,ArrayBuffer)||e&&B(e.buffer,ArrayBuffer))return function(e,t,n){if(t<0||e.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function d(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||B(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return i?-1:L(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function p(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=a.from(t,i)),a.isBuffer(t))return 0===t.length?-1:g(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):g(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function g(e,t,n,i,r){var o,a=1,s=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var l=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r.push(n%256),r.push(i);return r}(t,e.length-n),e,n,i)}function x(e,n,i){return t.fromByteArray(0===n&&i===e.length?e:e.slice(n,i))}function S(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[r+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:a=e[r+2],128==(192&(o=e[r+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[r+2],s=e[r+3],128==(192&(o=e[r+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(i.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,n,i,r,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function M(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function R(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,8),i.write(e,t,n,r,52,8),n+8}n.kMaxLength=r,!(a.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(t){return!1}}())&&"undefined"!=typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(e,t,n){return s(e,t,n)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(e,t,n){return function(e,t,n){return u(e),e<=0?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)}(e,t,n)},a.allocUnsafe=function(e){return c(e)},a.allocUnsafeSlow=function(e){return c(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);rt&&(e+=" ... "),""},a.prototype.compare=function(e,t,n,i,r){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),u=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},a.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||A(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||A(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,i){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),t);return r},a.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!a.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var r=e.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(e=r)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function B(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}}).call(this)}).call(this,e("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(e,t,n){"use strict";t.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(function(t,n,i){return t+(0===i?"":",")+e(void 0===n||"symbol"==typeof n?null:n)},"")+"]":"{"+Object.keys(t).sort().reduce(function(n,i,r){return void 0===t[i]||"symbol"==typeof t[i]?n:n+(0===n.length?"":",")+e(i)+":"+e(t[i])},"")+"}"}},{}],8:[function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(e,t){return new Promise(function(n,i){function r(n){e.removeListener(t,o),i(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,r)})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var u=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var r,o,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(r=l(e))>0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=g(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},s.prototype.listenerCount=v,s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(e,t,n){n.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,d=n?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+e[t+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=i;l>0;a=256*a+e[t+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,i),o-=c}return(f?-1:1)*a*Math.pow(2,o-i)},n.write=function(e,t,n,i,r,o){var a,s,u,c=8*o-r-1,l=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(t*u-1)*Math.pow(2,r),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&s,f+=p,s/=256,r-=8);for(a=a<0;e[n+f]=255&a,f+=p,a/=256,c-=8);e[n+f-p]|=128*v}},{}],10:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],11:[function(e,t,n){"use strict";var i=e("./types"),r=i.isArray,o=i.isObject,a=i.isString,s=e("./util").asArray,u=e("./url").prependBase,c=e("./JsonLdError"),l=e("./ResolvedContext");function d(e){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:e})}function f(e){var t=e.context,n=e.base;if(t){var i=t["@context"];if(a(i))t["@context"]=u(n,i);else if(r(i))for(var s=0;s10)){e.next=2;break}throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});case 2:if(!s.has(n)){e.next=4;break}throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:n});case 4:return s.add(n),e.prev=5,e.next=8,i(n);case 8:l=e.sent,u=l.document||null,a(u)&&(u=JSON.parse(u)),e.next=16;break;case 13:throw e.prev=13,e.t0=e.catch(5),new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:n,cause:e.t0});case 16:if(o(u)){e.next=18;break}throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:n});case 18:return e.abrupt("return",(u="@context"in u?{"@context":u["@context"]}:{"@context":{}},l.contextUrl&&(r(u["@context"])||(u["@context"]=[u["@context"]]),u["@context"].push(l.contextUrl)),{context:u,remoteDoc:l}));case 19:case"end":return e.stop()}},e,null,[[5,13]])}))()}}]),e}()},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(e,t,n){"use strict";t.exports=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"An unspecified JSON-LD error occurred.",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jsonld.Error",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return m(this,n),(e=t.call(this,i)).name=r,e.message=i,e.details=o,e}return n}(l(Error))},{}],13:[function(e,t,n){"use strict";t.exports=function(e){var t=function(){function e(){m(this,e)}return b(e,[{key:"toString",value:function(){return"[object JsonLdProcessor]"}}]),e}();return Object.defineProperty(t,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(t.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:t}),t.compact=function(t,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):e.compact(t,n)},t.expand=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):e.expand(t)},t.flatten=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):e.flatten(t)},t}},{}],14:[function(e,t,n){"use strict";t.exports=e("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(e,t,n){"use strict";t.exports=function(){function e(){m(this,e),this._requests={}}return b(e,[{key:"wrapLoader",value:function(e){var t=this;return t._loader=e,function(){return t.add.apply(t,arguments)}}},{key:"add",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!(i=t._requests[e])){n.next=3;break}return n.abrupt("return",Promise.resolve(i));case 3:return i=t._requests[e]=t._loader(e),n.prev=4,n.next=7,i;case 7:return n.abrupt("return",n.sent);case 8:return n.prev=8,delete t._requests[e],n.finish(8);case 11:case"end":return n.stop()}},n,null,[[4,,8,11]])}))()}}]),e}()},{}],16:[function(e,t,n){"use strict";var i=e("lru-cache");t.exports=function(){function e(t){var n=t.document;m(this,e),this.document=n,this.cache=new i({max:10})}return b(e,[{key:"getProcessed",value:function(e){return this.cache.get(e)}},{key:"setProcessed",value:function(e,t){this.cache.set(e,t)}}]),e}()},{"lru-cache":33}],17:[function(e,i,r){"use strict";var a,s=e("./JsonLdError"),u=e("./types"),c=u.isArray,l=u.isObject,d=u.isString,f=u.isUndefined,p=e("./graphTypes"),v=p.isList,g=p.isValue,m=p.isGraph,y=p.isSimpleGraph,b=p.isSubjectReference,w=e("./context"),k=w.expandIri,x=w.getContextValue,S=w.isKeyword,C=w.process,E=w.processingMode,O=e("./url"),T=O.removeBase,P=O.prependBase,A=e("./util"),M=A.addValue,I=A.asArray,R=A.compareShortestLeast,D={};function N(e,t,n){if("@nest"!==k(e,t,{vocab:!0},n))throw new s("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}i.exports=D,D.compact=(a=h(regeneratorRuntime.mark(function e(t){var i,r,a,u,h,p,w,k,O,T,P,A,R;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.activeCtx,r=t.activeProperty,a=void 0===r?null:r,u=t.element,h=t.options,p=void 0===h?{}:h,w=t.compactionMap,k=void 0===w?function(){}:w,!c(u)){e.next=21;break}O=[],T=0;case 4:if(!(T1&&(L=Array.from(L).sort()),j=i,F=_(L),e.prev=27,F.s();case 29:if((B=F.n()).done){e.next=39;break}if(V=B.value,z=D.compactIri({activeCtx:j,iri:V,relativeTo:{vocab:!0}}),U=x(A,z,"@context"),e.t1=f(U),e.t1){e.next=37;break}return e.next=36,C({activeCtx:i,localCtx:U,options:p,propagate:!1});case 36:i=e.sent;case 37:e.next=29;break;case 39:e.next=44;break;case 41:e.prev=41,e.t2=e.catch(27),F.e(e.t2);case 44:return e.prev=44,F.f(),e.finish(44);case 47:H=Object.keys(u).sort(),G=_(H),e.prev=49,G.s();case 51:if((W=G.n()).done){e.next=184;break}if(q=W.value,X=u[q],"@id"===q){e.next=180;break}if("@type"===q){e.next=174;break}if("@reverse"===q){e.next=167;break}if("@preserve"===q){e.next=161;break}if("@index"===q){e.next=155;break}if("@graph"===q||"@list"===q||"@included"===q||!S(q)){e.next=64;break}Y=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,Y,X),e.next=153;break;case 64:if(c(X)){e.next=66;break}throw new s("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");case 66:0===X.length&&(K=D.compactIri({activeCtx:i,iri:q,value:X,relativeTo:{vocab:!0},reverse:T}),$=i.mappings.has(K)?i.mappings.get(K)["@nest"]:null,Q=P,$&&(N(i,$,p),l(P[$])||(P[$]={}),Q=P[$]),M(Q,K,X,{propertyIsArray:!0})),Z=_(X),e.prev=68,Z.s();case 70:if((J=Z.n()).done){e.next=145;break}return ee=J.value,te=D.compactIri({activeCtx:i,iri:q,value:ee,relativeTo:{vocab:!0},reverse:T}),ne=i.mappings.has(te)?i.mappings.get(te)["@nest"]:null,ie=P,ne&&(N(i,ne,p),l(P[ne])||(P[ne]={}),ie=P[ne]),re=x(i,te,"@container")||[],oe=m(ee),ae=v(ee),se=void 0,ae?se=ee["@list"]:oe&&(se=ee["@graph"]),e.next=80,D.compact({activeCtx:i,activeProperty:te,element:ae||oe?se:ee,options:p,compactionMap:k});case 80:if(ue=e.sent,!ae){e.next=86;break}if(c(ue)||(ue=[ue]),!re.includes("@list")){e.next=85;break}return M(ie,te,ue,{valueIsArray:!0,allowDuplicate:!0}),e.abrupt("continue",143);case 85:ue=o({},D.compactIri({activeCtx:i,iri:"@list",relativeTo:{vocab:!0}}),ue),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]);case 86:if(!oe){e.next=90;break}re.includes("@graph")&&(re.includes("@id")||re.includes("@index")&&y(ee))?(ce=void 0,ie.hasOwnProperty(te)?ce=ie[te]:ie[te]=ce={},le=(re.includes("@id")?ee["@id"]:ee["@index"])||D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}}),M(ce,le,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):re.includes("@graph")&&y(ee)?(c(ue)&&ue.length>1&&(ue={"@included":ue}),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):(c(ue)&&1===ue.length&&p.compactArrays&&(ue=ue[0]),ue=o({},D.compactIri({activeCtx:i,iri:"@graph",relativeTo:{vocab:!0}}),ue),"@id"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=ee["@id"]),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})),e.next=143;break;case 90:if(!(re.includes("@language")||re.includes("@index")||re.includes("@id")||re.includes("@type"))){e.next=141;break}if(he=void 0,de=void 0,ie.hasOwnProperty(te)?he=ie[te]:ie[te]=he={},!re.includes("@language")){e.next=96;break}g(ue)&&(ue=ue["@value"]),de=ee["@language"],e.next=138;break;case 96:if(!re.includes("@index")){e.next=117;break}if(fe=x(i,te,"@index")||"@index",pe=D.compactIri({activeCtx:i,iri:fe,relativeTo:{vocab:!0}}),"@index"!==fe){e.next=102;break}de=ee["@index"],delete ue[pe],e.next=115;break;case 102:if(me=void 0,ve=I(ue[fe]||[]),ge=n(ve),de=ge[0],me=ge.slice(1),!d(de)){e.next=114;break}e.t3=me.length,e.next=0===e.t3?107:1===e.t3?109:111;break;case 107:return delete ue[fe],e.abrupt("break",112);case 109:return ue[fe]=me[0],e.abrupt("break",112);case 111:ue[fe]=me;case 112:e.next=115;break;case 114:de=null;case 115:e.next=138;break;case 117:if(!re.includes("@id")){e.next=122;break}ye=D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}}),de=ue[ye],delete ue[ye],e.next=138;break;case 122:if(!re.includes("@type")){e.next=138;break}be=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),_e=void 0,e.t4=(t=I(ue[be]||[]),r=n(t),de=r[0],(_e=r.slice(1)).length),e.next=0===e.t4?128:1===e.t4?130:132;break;case 128:return delete ue[be],e.abrupt("break",133);case 130:return ue[be]=_e[0],e.abrupt("break",133);case 132:ue[be]=_e;case 133:if(e.t5=1===Object.keys(ue).length&&"@id"in ee,!e.t5){e.next=138;break}return e.next=137,D.compact({activeCtx:i,activeProperty:te,element:{"@id":ee["@id"]},options:p,compactionMap:k});case 137:ue=e.sent;case 138:de||(de=D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}})),M(he,de,ue,{propertyIsArray:re.includes("@set")}),e.next=143;break;case 141:we=!p.compactArrays||re.includes("@set")||re.includes("@list")||c(ue)&&0===ue.length||"@list"===q||"@graph"===q,M(ie,te,ue,{propertyIsArray:we});case 143:e.next=70;break;case 145:e.next=150;break;case 147:e.prev=147,e.t6=e.catch(68),Z.e(e.t6);case 150:return e.prev=150,Z.f(),e.finish(150);case 153:e.next=159;break;case 155:if(!(x(i,a,"@container")||[]).includes("@index")){e.next=157;break}return e.abrupt("continue",182);case 157:ke=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,ke,X);case 159:e.next=165;break;case 161:return e.next=163,D.compact({activeCtx:i,activeProperty:a,element:X,options:p,compactionMap:k});case 163:xe=e.sent,c(xe)&&0===xe.length||M(P,q,xe);case 165:e.next=172;break;case 167:return e.next=169,D.compact({activeCtx:i,activeProperty:"@reverse",element:X,options:p,compactionMap:k});case 169:for(Ce in Se=e.sent)i.mappings.has(Ce)&&i.mappings.get(Ce).reverse&&(Ee=Se[Ce],Oe=(x(i,Ce,"@container")||[]).includes("@set")||!p.compactArrays,M(P,Ce,Ee,{propertyIsArray:Oe}),delete Se[Ce]);Object.keys(Se).length>0&&(Te=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,Te,Se));case 172:e.next=178;break;case 174:1===(Pe=I(X).map(function(e){return D.compactIri({activeCtx:A,iri:e,relativeTo:{vocab:!0}})})).length&&(Pe=Pe[0]),Ae=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),Me=(x(i,Ae,"@container")||[]).includes("@set")&&E(i,1.1)||c(Pe)&&0===X.length,M(P,Ae,Pe,{propertyIsArray:Me});case 178:e.next=182;break;case 180:1===(Ie=I(X).map(function(e){return D.compactIri({activeCtx:i,iri:e,relativeTo:{vocab:!1},base:p.base})})).length&&(Ie=Ie[0]),P[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=Ie;case 182:e.next=51;break;case 184:e.next=189;break;case 186:e.prev=186,e.t7=e.catch(49),G.e(e.t7);case 189:return e.prev=189,G.f(),e.finish(189);case 192:return e.abrupt("return",{v:P});case 193:case"end":return e.stop()}},e,null,[[27,41,44,47],[49,186,189,192],[68,147,150,153]])})(),"t3",29);case 29:if("object"!=typeof(R=e.t3)){e.next=32;break}return e.abrupt("return",R.v);case 32:return e.abrupt("return",u);case 33:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)}),D.compactIri=function(e){var n=e.activeCtx,i=e.iri,r=e.value,o=void 0===r?null:r,a=e.relativeTo,u=void 0===a?{vocab:!1}:a,c=e.reverse,h=void 0!==c&&c,d=e.base,f=void 0===d?null:d;if(null===i)return i;n.isPropertyTermScoped&&n.previousContext&&(n=n.previousContext);var p=n.getInverse();if(S(i)&&i in p&&"@none"in p[i]&&"@type"in p[i]["@none"]&&"@none"in p[i]["@none"]["@type"])return p[i]["@none"]["@type"]["@none"];if(u.vocab&&i in p){var y=n["@language"]||"@none",b=[];l(o)&&"@index"in o&&!("@graph"in o)&&b.push("@index","@index@set"),l(o)&&"@preserve"in o&&(o=o["@preserve"][0]),m(o)?("@index"in o&&b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o&&b.push("@graph@id","@graph@id@set"),b.push("@graph","@graph@set","@set"),"@index"in o||b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o||b.push("@graph@id","@graph@id@set")):l(o)&&!g(o)&&b.push("@id","@id@set","@type","@set@type");var w="@language",k="@null";if(h)w="@type",k="@reverse",b.push("@set");else if(v(o)){"@index"in o||b.push("@list");var x=o["@list"];if(0===x.length)w="@any",k="@none";else{for(var C=0===x.length?y:null,E=null,O=0;O=0;--G){var W,q=V[G],X=_(q.terms);try{for(X.s();!(W=X.n()).done;){var Y=W.value,K=Y+":"+i.substr(q.iri.length);n.mappings.get(Y)._prefix&&(!n.mappings.has(K)||null===o&&n.mappings.get(K)["@id"]===i)&&(null===B||R(K,B)<0)&&(B=K)}}catch(te){X.e(te)}finally{X.f()}}if(null!==B)return B;var $,Q=_(n.mappings);try{for(Q.s();!($=Q.n()).done;){var Z=t($.value,2),J=Z[0],ee=Z[1];if(ee&&ee._prefix&&i.startsWith(J+":"))throw new s('Absolute IRI "'.concat(i,'" confused with prefix "').concat(J,'".'),"jsonld.SyntaxError",{code:"IRI confused with prefix",context:n})}}catch(te){Q.e(te)}finally{Q.f()}return u.vocab?i:"@base"in n?n["@base"]?T(P(f,n["@base"]),i):i:T(f,i)},D.compactValue=function(e){var t=e.activeCtx,n=e.activeProperty,i=e.value,r=e.options;if(g(i)){var a=x(t,n,"@type"),s=x(t,n,"@language"),u=x(t,n,"@direction"),c=x(t,n,"@container")||[],l="@index"in i&&!c.includes("@index");if(!l&&"@none"!==a&&(i["@type"]===a||"@language"in i&&i["@language"]===s&&"@direction"in i&&i["@direction"]===u||"@language"in i&&i["@language"]===s||"@direction"in i&&i["@direction"]===u))return i["@value"];var h=Object.keys(i).length,f=1===h||2===h&&"@index"in i&&!l,p="@language"in t,v=d(i["@value"]),m=t.mappings.has(n)&&null===t.mappings.get(n)["@language"];if(f&&"@none"!==a&&(!p||!v||m))return i["@value"];var y={};return l&&(y[D.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=i["@index"]),"@type"in i?y[D.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=D.compactIri({activeCtx:t,iri:i["@type"],relativeTo:{vocab:!0}}):"@language"in i&&(y[D.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=i["@language"]),"@direction"in i&&(y[D.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=i["@direction"]),y[D.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=i["@value"],y}var b=k(t,n,{vocab:!0},r),_=x(t,n,"@type"),w=D.compactIri({activeCtx:t,iri:i["@id"],relativeTo:{vocab:"@vocab"===_},base:r.base});return"@id"===_||"@vocab"===_||"@graph"===b?w:o({},D.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}}),w)}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(e,t,n){"use strict";var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";t.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(e,n,i){"use strict";var r,o=e("./util"),a=e("./JsonLdError"),s=e("./types"),u=s.isArray,c=s.isObject,l=s.isString,d=s.isUndefined,f=e("./url"),p=f.isAbsolute,g=f.isRelative,m=f.prependBase,y=e("./util"),b=y.asArray,w=y.compareShortestLeast,k=new Map,x=/^@[a-zA-Z]+$/,S={};function C(e,t,n,i,r,o){if(null===t||!l(t)||S.isKeyword(t))return t;if(t.match(x))return null;if(i&&i.hasOwnProperty(t)&&!0!==r.get(t)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:t,defined:r,options:o}),(n=n||{}).vocab){var a=e.mappings.get(t);if(null===a)return null;if(c(a)&&"@id"in a)return a["@id"]}var s=t.indexOf(":");if(s>0){var u=t.substr(0,s),h=t.substr(s+1);if("_"===u||0===h.indexOf("//"))return t;i&&i.hasOwnProperty(u)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:u,defined:r,options:o});var d=e.mappings.get(u);if(d&&d._prefix)return d["@id"]+h;if(p(t))return t}if(n.vocab&&"@vocab"in e)return e["@vocab"]+t;if(n.base&&"@base"in e){if(e["@base"])return m(m(o.base,e["@base"]),t)}else if(n.base)return m(o.base,t);return t}function E(e,t){if(!e||"object"!=typeof e||!t||"object"!=typeof t)return e===t;var n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(var i=0;i0,"@reverse"in t){if("@id"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});if("@nest"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});var k=t["@reverse"];if(!l(k))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(!S.isKeyword(k)&&k.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:k}),void(g?n.mappings.set(r,g):n.mappings.delete(r));var O=C(n,k,{vocab:!0,base:!1},i,o,s);if(!p(O))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=O,y.reverse=!0}else if("@id"in t){var T=t["@id"];if(T&&!l(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(null===T)y["@id"]=null;else{if(!S.isKeyword(T)&&T.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:T}),void(g?n.mappings.set(r,g):n.mappings.delete(r));if(T!==r){if(T=C(n,T,{vocab:!0,base:!1},i,o,s),!p(T)&&!S.isKeyword(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(r.match(/(?::[^:])|\//)&&C(n,r,{vocab:!0,base:!1},i,new Map(o).set(r,!0),s)!==T)throw new a("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=T,y._prefix=m&&!y._termHasColon&&T.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in y))if(y._termHasColon){var P=r.substr(0,w);if(i.hasOwnProperty(P)&&S.createTermDefinition({activeCtx:n,localCtx:i,term:P,defined:o,options:s}),n.mappings.has(P)){var A=r.substr(w+1);y["@id"]=n.mappings.get(P)["@id"]+A}else y["@id"]=r}else if("@type"===r)y["@id"]=r;else{if(!("@vocab"in n))throw new a("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i,term:r});y["@id"]=n["@vocab"]+r}if((!0===t["@protected"]||!0===o.get("@protected")&&!1!==t["@protected"])&&(n.protected[r]=!0,y.protected=!0),o.set(r,!0),"@type"in t){var M=t["@type"];if(!l(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if("@json"===M||"@none"===M){if(S.processingMode(n,1))throw new a('Invalid JSON-LD syntax; an @context @type value must not be "'.concat(M,'" in JSON-LD 1.0 mode.'),"jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else if("@id"!==M&&"@vocab"!==M){if(M=C(n,M,{vocab:!0,base:!1},i,o,s),!p(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if(0===M.indexOf("_:"))throw new a("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}y["@type"]=M}if("@container"in t){var I=l(t["@container"])?[t["@container"]]:t["@container"]||[],R=["@list","@set","@index","@language"],D=!0,N=I.includes("@set");if(S.processingMode(n,1.1)){if(R.push("@graph","@id","@type"),I.includes("@list")){if(1!==I.length)throw new a("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else if(I.includes("@graph")){if(I.some(function(e){return"@graph"!==e&&"@id"!==e&&"@index"!==e&&"@set"!==e}))throw new a("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else D&=I.length<=(N?2:1);if(I.includes("@type")&&(y["@type"]=y["@type"]||"@id",!["@id","@vocab"].includes(y["@type"])))throw new a("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else D&=!u(t["@container"]),D&=I.length<=1;if(D&=I.every(function(e){return R.includes(e)}),!(D&=!(N&&I.includes("@list"))))throw new a("Invalid JSON-LD syntax; @context @container value must be one of the following: "+R.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:i});if(y.reverse&&!I.every(function(e){return["@index","@set"].includes(e)}))throw new a("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});y["@container"]=I}if("@index"in t){if(!("@container"in t)||!y["@container"].includes("@index"))throw new a('Invalid JSON-LD syntax; @index without @index in @container: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});if(!l(t["@index"])||0===t["@index"].indexOf("@"))throw new a('Invalid JSON-LD syntax; @index must expand to an IRI: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});y["@index"]=t["@index"]}if("@context"in t&&(y["@context"]=t["@context"]),"@language"in t&&!("@type"in t)){var L=t["@language"];if(null!==L&&!l(L))throw new a("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:i});null!==L&&(L=L.toLowerCase()),y["@language"]=L}if("@prefix"in t){if(r.match(/:|\//))throw new a("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:i});if(S.isKeyword(y["@id"]))throw new a("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:i});if("boolean"!=typeof t["@prefix"])throw new a("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:i});y._prefix=!0===t["@prefix"]}if("@direction"in t){var j=t["@direction"];if(null!==j&&"ltr"!==j&&"rtl"!==j)throw new a('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:i});y["@direction"]=j}if("@nest"in t){var F=t["@nest"];if(!l(F)||"@nest"!==F&&0===F.indexOf("@"))throw new a("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:i});y["@nest"]=F}var B=y["@id"];if("@context"===B||"@preserve"===B)throw new a("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:i});if(g&&g.protected&&!d&&(n.protected[r]=!0,y.protected=!0,!E(g,y))){var V=s&&s.protectedMode||"error";if("error"===V)throw new a('Invalid JSON-LD syntax; tried to redefine "'.concat(r,'" which is a protected term.'),"jsonld.SyntaxError",{code:"protected term redefinition",context:i,term:r});if("warn"===V)return void console.warn("WARNING: protected term redefinition",{term:r});throw new a("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:i,term:r,protectedMode:V})}},S.expandIri=function(e,t,n,i){return C(e,t,n,void 0,void 0,i)},S.getInitialContext=function(e){var t=JSON.stringify({processingMode:e.processingMode}),n=k.get(t);if(n)return n;var i={processingMode:e.processingMode,mappings:new Map,inverse:null,getInverse:function(){var e=this;if(e.inverse)return e.inverse;var t,n=e.inverse={},i=e.fastCurieMap={},o={},s=(e["@language"]||"@none").toLowerCase(),u=e["@direction"],c=e.mappings,l=_(v(c.keys()).sort(w));try{for(l.s();!(t=l.n()).done;){var h=t.value,d=c.get(h);if(null!==d){var f=d["@container"]||"@none";if(f=[].concat(f).sort().join(""),null!==d["@id"]){var p,g=_(b(d["@id"]));try{for(g.s();!(p=g.n()).done;){var m=p.value,y=n[m],k=S.isKeyword(m);if(y)!k&&!d._termHasColon&&o[m].push(h);else if(n[m]=y={},!k&&!d._termHasColon){o[m]=[h];var x={iri:m,terms:o[m]};m[0]in i?i[m[0]].push(x):i[m[0]]=[x]}if(y[f]||(y[f]={"@language":{},"@type":{},"@any":{}}),a(h,(y=y[f])["@any"],"@none"),d.reverse)a(h,y["@type"],"@reverse");else if("@none"===d["@type"])a(h,y["@any"],"@none"),a(h,y["@language"],"@none"),a(h,y["@type"],"@none");else if("@type"in d)a(h,y["@type"],d["@type"]);else if("@language"in d&&"@direction"in d){var C=d["@language"],E=d["@direction"];a(h,y["@language"],C&&E?"".concat(C,"_").concat(E).toLowerCase():C?C.toLowerCase():E?"_".concat(E):"@null")}else"@language"in d?a(h,y["@language"],(d["@language"]||"@null").toLowerCase()):"@direction"in d?a(h,y["@language"],d["@direction"]?"_".concat(d["@direction"]):"@none"):u?(a(h,y["@language"],"_".concat(u)),a(h,y["@language"],"@none"),a(h,y["@type"],"@none")):(a(h,y["@language"],s),a(h,y["@language"],"@none"),a(h,y["@type"],"@none"))}}catch(T){g.e(T)}finally{g.f()}}}}}catch(T){l.e(T)}finally{l.f()}for(var O in i)r(i,O,1);return n},clone:function(){var e={};return e.mappings=o.clone(this.mappings),e.clone=this.clone,e.inverse=null,e.getInverse=this.getInverse,e.protected=o.clone(this.protected),this.previousContext&&(e.previousContext=this.previousContext.clone()),e.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(e["@base"]=this["@base"]),"@language"in this&&(e["@language"]=this["@language"]),"@vocab"in this&&(e["@vocab"]=this["@vocab"]),e},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===k.size&&k.clear(),k.set(t,i),i;function r(e,t,n){var i,o,a,s=e[t],u=e[t]={},c=_(s);try{for(c.s();!(a=c.n()).done;){var l=a.value;(o=n>=(i=l.iri).length?"":i[n])in u?u[o].push(l):u[o]=[l]}}catch(d){c.e(d)}finally{c.f()}for(var h in u)""!==h&&r(u,h,n+1)}function a(e,t,n){t.hasOwnProperty(n)||(t[n]=e)}},S.getContextValue=function(e,t,n){if(null===t)return"@context"===n?void 0:null;if(e.mappings.has(t)){var i=e.mappings.get(t);if(d(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in e||"@direction"===n&&n in e?e[n]:"@context"!==n?null:void 0},S.processingMode=function(e,t){return t.toString()>="1.1"?!e.processingMode||e.processingMode>="json-ld-"+t.toString():"json-ld-1.0"===e.processingMode},S.isKeyword=function(e){if(!l(e)||"@"!==e[0])return!1;switch(e){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(e,t,n){"use strict";var i=e("../util"),r=i.parseLinkHeader,o=i.buildHeaders,a=e("../constants").LINK_HEADER_CONTEXT,s=e("../JsonLdError"),u=e("../RequestQueue"),c=e("../url").prependBase,l=/(^|(\r\n))link:/i;function d(e,t,n){var i=new(e=e||XMLHttpRequest);return new Promise(function(e,r){for(var o in i.onload=function(){return e(i)},i.onerror=function(e){return r(e)},i.open("GET",t,!0),n)i.setRequestHeader(o,n[o]);i.send()})}t.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{headers:{}},t=e.secure,n=e.headers,i=void 0===n?{}:n,f=e.xhr;return i=o(i),(new u).wrapLoader(p);function p(e){return v.apply(this,arguments)}function v(){return(v=h(regeneratorRuntime.mark(function e(n){var o,u,h,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0===n.indexOf("http:")||0===n.indexOf("https:")){e.next=2;break}throw new s('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 2:if(!t||0===n.indexOf("https")){e.next=4;break}throw new s('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 4:return e.prev=4,e.next=7,d(f,n,i);case 7:o=e.sent,e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(4),new s("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:n,cause:e.t0});case 13:if(!(o.status>=400)){e.next=15;break}throw new s("URL could not be dereferenced: "+o.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:n,httpStatusCode:o.status});case 15:if(u={contextUrl:null,documentUrl:n,document:o.response},h=null,v=o.getResponseHeader("Content-Type"),l.test(o.getAllResponseHeaders())&&(g=o.getResponseHeader("Link")),!g||"application/ld+json"===v){e.next=28;break}if(m=r(g),y=m[a],!Array.isArray(y)){e.next=21;break}throw new s("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:n});case 21:if(y&&(u.contextUrl=y.target),h=m.alternate,e.t1=h&&"application/ld+json"==h.type&&!(v||"").match(/^application\/(\w*\+)?json$/),!e.t1){e.next=28;break}return e.next=27,p(c(n,h.target));case 27:u=e.sent;case 28:return e.abrupt("return",u);case 29:case"end":return e.stop()}},e,null,[[4,10]])}))).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(e,n,i){"use strict";var r=e("./JsonLdError"),o=e("./types"),a=o.isArray,s=o.isObject,u=o.isEmptyObject,c=o.isString,l=o.isUndefined,d=e("./graphTypes"),f=d.isList,p=d.isValue,v=d.isGraph,g=d.isSubject,m=e("./context"),y=m.expandIri,b=m.getContextValue,w=m.isKeyword,k=m.process,x=m.processingMode,S=e("./url").isAbsolute,C=e("./util"),E=C.addValue,O=C.asArray,T=C.getValues,P=C.validateTypeValue,A={};n.exports=A;var M,I=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function R(e){return D.apply(this,arguments)}function D(){return(D=h(regeneratorRuntime.mark(function e(n){var i,o,h,d,v,m,C,T,M,D,N,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se,ue,ce,le,he,de,fe,pe,ve,ge,me,ye,be,_e,we,ke,xe,Se,Ce;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.activeCtx,o=n.activeProperty,h=n.expandedActiveProperty,d=n.element,v=n.expandedParent,m=n.options,C=void 0===m?{}:m,T=n.insideList,M=n.typeKey,D=n.typeScopedContext,N=n.expansionMap,F=Object.keys(d).sort(),B=[],z=d[M]&&"@json"===y(i,a(d[M])?d[M][0]:d[M],{vocab:!0},C),U=_(F),e.prev=4,U.s();case 6:if((H=U.n()).done){e.next=187;break}if(G=H.value,W=void 0,q=d[G],"@context"!==G){e.next=11;break}return e.abrupt("continue",185);case 11:if(null!==(X=y(i,G,{vocab:!0},C))&&(S(X)||w(X))||void 0!==(X=N({unmappedProperty:G,activeCtx:i,activeProperty:o,parent:d,options:C,insideList:T,value:q,expandedParent:v}))){e.next=14;break}return e.abrupt("continue",185);case 14:if(!w(X)){e.next=19;break}if("@reverse"!==h){e.next=17;break}throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});case 17:if(!(X in v)||"@included"===X||"@type"===X){e.next=19;break}throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:X});case 19:if("@id"!==X){e.next=34;break}if(c(q)){e.next=32;break}if(C.isFrame){e.next=23;break}throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 23:if(!s(q)){e.next=28;break}if(u(q)){e.next=26;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 26:e.next=32;break;case 28:if(a(q)){e.next=30;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 30:if(q.every(function(e){return c(e)})){e.next=32;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 32:return E(v,"@id",O(q).map(function(e){return c(e)?y(i,e,{base:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 34:if("@type"!==X){e.next=37;break}return s(q)&&(q=Object.fromEntries(Object.entries(q).map(function(e){var n=t(e,2),i=n[0],r=n[1];return[y(D,i,{vocab:!0}),O(r).map(function(e){return y(D,e,{base:!0,vocab:!0})})]}))),P(q,C.isFrame),E(v,"@type",O(q).map(function(e){return c(e)?y(D,e,{base:!0,vocab:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 37:if("@included"!==X||!x(i,1.1)){e.next=47;break}return e.t0=O,e.next=41,A.expand({activeCtx:i,activeProperty:o,element:q,options:C,expansionMap:N});case 41:if(e.t1=e.sent,(Y=(0,e.t0)(e.t1)).every(function(e){return g(e)})){e.next=45;break}throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});case 45:return E(v,"@included",Y,{propertyIsArray:!0}),e.abrupt("continue",185);case 47:if("@graph"!==X||s(q)||a(q)){e.next=49;break}throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});case 49:if("@value"!==X){e.next=52;break}return V=q,z&&x(i,1.1)?v["@value"]=q:E(v,"@value",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 52:if("@language"!==X){e.next=62;break}if(null!==q){e.next=55;break}return e.abrupt("continue",185);case 55:if(c(q)||C.isFrame){e.next=57;break}throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});case 57:q=O(q).map(function(e){return c(e)?e.toLowerCase():e}),K=_(q);try{for(K.s();!($=K.n()).done;)Q=$.value,c(Q)&&!Q.match(I)&&console.warn("@language must be valid BCP47: ".concat(Q))}catch(Ee){K.e(Ee)}finally{K.f()}return E(v,"@language",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 62:if("@direction"!==X){e.next=85;break}if(c(q)||C.isFrame){e.next=65;break}throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 65:q=O(q),Z=_(q),e.prev=67,Z.s();case 69:if((J=Z.n()).done){e.next=75;break}if(ee=J.value,!c(ee)||"ltr"===ee||"rtl"===ee){e.next=73;break}throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 73:e.next=69;break;case 75:e.next=80;break;case 77:e.prev=77,e.t2=e.catch(67),Z.e(e.t2);case 80:return e.prev=80,Z.f(),e.finish(80);case 83:return E(v,"@direction",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 85:if("@index"!==X){e.next=90;break}if(c(q)){e.next=88;break}throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});case 88:return E(v,"@index",q),e.abrupt("continue",185);case 90:if("@reverse"!==X){e.next=118;break}if(s(q)){e.next=93;break}throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});case 93:return e.next=95,A.expand({activeCtx:i,activeProperty:"@reverse",element:q,options:C,expansionMap:N});case 95:if(!("@reverse"in(W=e.sent))){e.next=98;break}for(te in W["@reverse"])E(v,te,W["@reverse"][te],{propertyIsArray:!0});case 98:ne=v["@reverse"]||null,e.t3=regeneratorRuntime.keys(W);case 100:if((e.t4=e.t3()).done){e.next=117;break}if("@reverse"!==(ie=e.t4.value)){e.next=104;break}return e.abrupt("continue",100);case 104:null===ne&&(ne=v["@reverse"]={}),E(ne,ie,[],{propertyIsArray:!0}),re=W[ie],oe=0;case 107:if(!(oe1?$.slice().sort():$:[$],Z=_(Q),e.prev=81,Z.s();case 83:if((J=Z.n()).done){e.next=93;break}if(ee=J.value,te=b(C,ee,"@context"),e.t5=l(te),e.t5){e.next=91;break}return e.next=90,k({activeCtx:n,localCtx:te,options:f,propagate:!1});case 90:n=e.sent;case 91:e.next=83;break;case 93:e.next=98;break;case 95:e.prev=95,e.t6=e.catch(81),Z.e(e.t6);case 98:return e.prev=98,Z.f(),e.finish(98);case 101:e.next=75;break;case 103:e.next=108;break;case 105:e.prev=105,e.t7=e.catch(73),X.e(e.t7);case 108:return e.prev=108,X.f(),e.finish(108);case 111:return ne={},e.next=114,R({activeCtx:n,activeProperty:o,expandedActiveProperty:F,element:h,expandedParent:ne,options:f,insideList:v,typeKey:q,typeScopedContext:C,expansionMap:P});case 114:if(V=Object.keys(ne),ie=V.length,!("@value"in ne)){e.next=137;break}if(!("@type"in ne)||!("@language"in ne)&&!("@direction"in ne)){e.next=119;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 119:if(re=ie-1,"@type"in ne&&(re-=1),"@index"in ne&&(re-=1),"@language"in ne&&(re-=1),"@direction"in ne&&(re-=1),0===re){e.next=122;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 122:if(oe=null===ne["@value"]?[]:O(ne["@value"]),ae=T(ne,"@type"),x(n,1.1)&&ae.includes("@json")&&1===ae.length){e.next=135;break}if(0!==oe.length){e.next=131;break}return e.next=127,P({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 127:se=e.sent,ne=void 0!==se?se:null,e.next=135;break;case 131:if(oe.every(function(e){return c(e)||u(e)})||!("@language"in ne)){e.next=133;break}throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ne});case 133:if(ae.every(function(e){return S(e)&&!(c(e)&&0===e.indexOf("_:"))||u(e)})){e.next=135;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ne});case 135:e.next=152;break;case 137:if(!("@type"in ne)||a(ne["@type"])){e.next=141;break}ne["@type"]=[ne["@type"]],e.next=152;break;case 141:if(!("@set"in ne)&&!("@list"in ne)){e.next=147;break}if(!(ie>1)||2===ie&&"@index"in ne){e.next=144;break}throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ne});case 144:"@set"in ne&&(ne=ne["@set"],V=Object.keys(ne),ie=V.length),e.next=152;break;case 147:if(1!==ie||!("@language"in ne)){e.next=152;break}return e.next=150,P(ne,{unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 150:ue=e.sent,ne=void 0!==ue?ue:null;case 152:if(!s(ne)||f.keepFreeFloatingNodes||v||null!==o&&"@graph"!==F||!(0===ie||"@value"in ne||"@list"in ne||1===ie&&"@id"in ne)){e.next=157;break}return e.next=155,P({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 155:ce=e.sent,ne=void 0!==ce?ce:null;case 157:return e.abrupt("return",ne);case 158:case"end":return e.stop()}},e,null,[[38,53,56,59],[73,105,108,111],[81,95,98,101]])})),function(e){return M.apply(this,arguments)})},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(e,t,n){"use strict";var i=e("./graphTypes").isSubjectReference,r=e("./nodeMap").createMergedNodeMap,o={};t.exports=o,o.flatten=function(e){for(var t=r(e),n=[],o=Object.keys(t).sort(),a=0;a=0;--i){var r=n[i];if(r.graph===t&&r.subject["@id"]===e["@id"])return!0}return!1}function g(e,t,n){var i="@"+n,r=i in e?e[i][0]:t[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:e});return r}function m(e){if(!a.isArray(e)||1!==e.length||!a.isObject(e[0]))throw new c("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:e});if("@id"in e[0]){var t,n=_(s.asArray(e[0]["@id"]));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(!a.isObject(i)&&!u.isAbsolute(i)||a.isString(i)&&0===i.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){n.e(h)}finally{n.f()}}if("@type"in e[0]){var r,o=_(s.asArray(e[0]["@type"]));try{for(o.s();!(r=o.n()).done;){var l=r.value;if(!a.isObject(l)&&!u.isAbsolute(l)||a.isString(l)&&0===l.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){o.e(h)}finally{o.f()}}}function y(e,t,n,o){var u=!0,c=!1;for(var l in n){var h=!1,d=s.getValues(t,l),f=0===s.getValues(n,l).length;if("@id"===l){if(a.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!o.requireAll)return h}else if("@type"===l){if(u=!1,f){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&a.isEmptyObject(n["@type"][0]))h=d.length>0;else{var p,v=_(n["@type"]);try{var g=function(){var e=p.value;h=!(!a.isObject(e)||!("@default"in e))||h||d.some(function(t){return t===e})};for(v.s();!(p=v.n()).done;)g()}catch(b){v.e(b)}finally{v.f()}}if(!o.requireAll)return h}else{if(i(l))continue;var y=function(){var t=s.getValues(n,l)[0],i=!1;if(t&&(m([t]),i="@default"in t),u=!1,0===d.length&&i)return"continue";if(d.length>0&&f)return{v:!1};if(void 0===t){if(d.length>0)return{v:!1};h=!0}else if(r.isList(t)){var c=t["@list"][0];if(r.isList(d[0])){var p=d[0]["@list"];r.isValue(c)?h=p.some(function(e){return S(c,e)}):(r.isSubject(c)||r.isSubjectReference(c))&&(h=p.some(function(t){return x(e,c,t,o)}))}}else h=r.isValue(t)?d.some(function(e){return S(t,e)}):r.isSubjectReference(t)?d.some(function(n){return x(e,t,n,o)}):!!a.isObject(t)&&d.length>0}();if("continue"===y)continue;if("object"==typeof y)return y.v}if(!h&&o.requireAll)return!1;c=c||h}return u||c}function b(e,t){var n=e.uniqueEmbeds[e.graph],i=n[t],r=i.parent,o=i.property,u={"@id":t};if(a.isArray(r)){for(var c=0;c4&&void 0!==arguments[4]?arguments[4]:null;m(n);var h=e.options,d={embed:g(n=n[0],h,"embed"),explicit:g(n,h,"explicit"),requireAll:g(n,h,"requireAll")};e.link.hasOwnProperty(e.graph)||(e.link[e.graph]={});var w,x=e.link[e.graph],C=function(e,t,n,i){var r,o={},a=_(t);try{for(a.s();!(r=a.n()).done;){var s=r.value,u=e.graphMap[e.graph][s];y(e,u,n,i)&&(o[s]=u)}}catch(c){a.e(c)}finally{a.f()}return o}(e,t,n,d),E=Object.keys(C).sort(),O=_(E);try{var T=function(){var m=w.value,y=C[m];if(null===l?e.uniqueEmbeds=o({},e.graph,{}):e.uniqueEmbeds[e.graph]=e.uniqueEmbeds[e.graph]||{},"@link"===d.embed&&m in x)return k(u,l,x[m]),"continue";var E={"@id":m};if(0===m.indexOf("_:")&&s.addValue(e.bnodeMap,m,E,{propertyIsArray:!0}),x[m]=E,("@first"===d.embed||"@last"===d.embed)&&e.is11)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(e.embedded||!e.uniqueEmbeds[e.graph].hasOwnProperty(m)){if(e.embedded&&("@never"===d.embed||v(y,e.graph,e.subjectStack)))return k(u,l,E),"continue";if(e.embedded&&("@first"==d.embed||"@once"==d.embed)&&e.uniqueEmbeds[e.graph].hasOwnProperty(m))return k(u,l,E),"continue";if("@last"===d.embed&&m in e.uniqueEmbeds[e.graph]&&b(e,m),e.uniqueEmbeds[e.graph][m]={parent:u,property:l},e.subjectStack.push({subject:y,graph:e.graph}),m in e.graphMap){var O=!1,T=null;"@graph"in n?(T=n["@graph"][0],O=!("@merged"===m||"@default"===m),a.isObject(T)||(T={})):(O="@merged"!==e.graph,T={}),O&&f.frame(I(M({},e),{graph:m,embedded:!1}),Object.keys(e.graphMap[m]).sort(),[T],E,"@graph")}"@included"in n&&f.frame(I(M({},e),{embedded:!1}),t,n["@included"],E,"@included");var P,A=_(Object.keys(y).sort());try{for(A.s();!(P=A.n()).done;){var R=P.value;if(i(R)){if(E[R]=s.clone(y[R]),"@type"===R){var D,N=_(y["@type"]);try{for(N.s();!(D=N.n()).done;){var L=D.value;0===L.indexOf("_:")&&s.addValue(e.bnodeMap,L,E,{propertyIsArray:!0})}}catch(re){N.e(re)}finally{N.f()}}}else if(!d.explicit||R in n){var j,F=_(y[R]);try{for(F.s();!(j=F.n()).done;){var B=j.value,V=R in n?n[R]:p(d);if(r.isList(B)){var z=n[R]&&n[R][0]&&n[R][0]["@list"]?n[R][0]["@list"]:p(d),U={"@list":[]};k(E,R,U);var H,G=_(B["@list"]);try{for(G.s();!(H=G.n()).done;){var W=H.value;r.isSubjectReference(W)?f.frame(I(M({},e),{embedded:!0}),[W["@id"]],z,U,"@list"):k(U,"@list",s.clone(W))}}catch(re){G.e(re)}finally{G.f()}}else r.isSubjectReference(B)?f.frame(I(M({},e),{embedded:!0}),[B["@id"]],V,E,R):S(V[0],B)&&k(E,R,s.clone(B))}}catch(re){F.e(re)}finally{F.f()}}}}catch(re){A.e(re)}finally{A.f()}var q,X=_(Object.keys(n).sort());try{for(X.s();!(q=X.n()).done;){var Y=q.value;if("@type"===Y){if(!a.isObject(n[Y][0])||!("@default"in n[Y][0]))continue}else if(i(Y))continue;var K=n[Y][0]||{};if(!g(K,h,"omitDefault")&&!(Y in E)){var $="@null";"@default"in K&&($=s.clone(K["@default"])),a.isArray($)||($=[$]),E[Y]=[{"@preserve":$}]}}}catch(re){X.e(re)}finally{X.f()}var Q,Z=_(Object.keys(n["@reverse"]||{}).sort());try{for(Z.s();!(Q=Z.n()).done;)for(var J=Q.value,ee=n["@reverse"][J],te=0,ne=Object.keys(e.subjects);te0&&(r["@language"]=l,l.match(k)||console.warn("@language must be valid BCP47: ".concat(l))),r["@direction"]=h}else a!==w&&(r["@type"]=a)}return r}n.exports=x,x.fromRDF=(r=h(regeneratorRuntime.mark(function e(t,n){var i,r,o,c,h,g,m,y,b,w,k,x,C,E,O,T,P,A,M,I,R,D,N,L,j,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.useRdfType,r=void 0!==i&&i,o=n.useNativeTypes,c=void 0!==o&&o,h=n.rdfDirection,g=void 0===h?null:h,y={"@default":m={}},b={},w=_(t),e.prev=3,w.s();case 5:if((k=w.n()).done){e.next=19;break}if(x=k.value,(C="DefaultGraph"===x.graph.termType?"@default":x.graph.value)in y||(y[C]={}),"@default"!==C&&!(C in m)&&(m[C]={"@id":C}),E=y[C],O=x.subject.value,T=x.predicate.value,P=x.object,O in E||(E[O]={"@id":O}),A=E[O],(M=P.termType.endsWith("Node"))&&!(P.value in E)&&(E[P.value]={"@id":P.value}),T!==v||r||!M){e.next=15;break}return u.addValue(A,"@type",P.value,{propertyIsArray:!0}),e.abrupt("continue",17);case 15:I=S(P,c,g),u.addValue(A,T,I,{propertyIsArray:!0}),M&&(P.value===p?("usages"in(R=E[P.value])||(R.usages=[]),R.usages.push({node:A,property:T,value:I})):b[P.value]=!(P.value in b)&&{node:A,property:T,value:I});case 17:e.next=5;break;case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(3),w.e(e.t0);case 24:return e.prev=24,w.f(),e.finish(24);case 27:e.t1=regeneratorRuntime.keys(y);case 28:if((e.t2=e.t1()).done){e.next=37;break}if(D=e.t2.value,N=y[D],p in N){e.next=33;break}return e.abrupt("continue",28);case 33:if((L=N[p]).usages){j=_(L.usages);try{for(j.s();!(F=j.n()).done;){for(B=F.value,V=B.node,z=B.property,U=B.value,H=[],G=[],W=Object.keys(V).length;z===f&&s.isObject(b[V["@id"]])&&s.isArray(V[d])&&1===V[d].length&&s.isArray(V[f])&&1===V[f].length&&(3===W||4===W&&s.isArray(V["@type"])&&1===V["@type"].length&&V["@type"][0]===l)&&(H.push(V[d][0]),G.push(V["@id"]),B=b[V["@id"]],V=B.node,z=B.property,U=B.value,W=Object.keys(V).length,a.isBlankNode(V)););for(delete U["@id"],U["@list"]=H.reverse(),q=0,X=G;q1||!("@id"in e))},r.isSubjectReference=function(e){return i.isObject(e)&&1===Object.keys(e).length&&"@id"in e},r.isValue=function(e){return i.isObject(e)&&"@value"in e},r.isList=function(e){return i.isObject(e)&&"@list"in e},r.isGraph=function(e){return i.isObject(e)&&"@graph"in e&&1===Object.keys(e).filter(function(e){return"@id"!==e&&"@index"!==e}).length},r.isSimpleGraph=function(e){return r.isGraph(e)&&!("@id"in e)},r.isBlankNode=function(e){return!!i.isObject(e)&&("@id"in e?0===e["@id"].indexOf("_:"):0===Object.keys(e).length||!("@value"in e||"@set"in e||"@list"in e))}},{"./types":30}],26:[function(e,t,n){var i=e("rdf-canonize"),r=e("./platform"),o=e("./util"),a=e("./ContextResolver"),s=o.IdentifierIssuer,u=e("./JsonLdError"),c=e("lru-cache"),l=e("./NQuads"),d=e("./expand").expand,f=e("./flatten").flatten,p=e("./fromRdf").fromRDF,v=e("./toRdf").toRDF,g=e("./frame"),m=g.frameMergedOrDefault,y=g.cleanupNull,b=e("./types"),w=b.isArray,k=b.isObject,x=b.isString,S=e("./graphTypes").isSubjectReference,C=e("./context"),P=C.expandIri,A=C.getInitialContext,I=C.process,R=C.processingMode,D=e("./compact"),N=D.compact,L=D.compactIri,j=e("./nodeMap"),F=j.createNodeMap,B=j.createMergedNodeMap,V=j.mergeNodeMaps,z=function(t){var n,g={},b=new c({max:100});function C(e,n){var i=n,r=i.documentLoader,o=void 0===r?t.documentLoader:r,a=function(e,t){var n={};for(var i in e)O.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&E){var r,o=_(E(e));try{for(o.s();!(r=o.n()).done;)i=r.value,t.indexOf(i)<0&&T.call(e,i)&&(n[i]=e[i])}catch(a){o.e(a)}finally{o.f()}}return n}(i,["documentLoader"]);return Object.assign({},{documentLoader:o},a,e)}return t.compact=(n=h(regeneratorRuntime.mark(function e(n,i,r){var c,l,h,d,f,p,v,g,m,y,_=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(_.length<2)){e.next=2;break}throw new TypeError("Could not compact, too few arguments.");case 2:if(null!==i){e.next=4;break}throw new u("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});case 4:if(null!==n){e.next=6;break}return e.abrupt("return",null);case 6:if((r=C(r,{base:x(n)?n:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new s("_:b"),contextResolver:new a({sharedCache:b})})).link&&(r.skipExpansion=!0),r.compactToRelative||delete r.base,!r.skipExpansion){e.next=12;break}e.t0=n,e.next=15;break;case 12:return e.next=14,t.expand(n,r);case 14:e.t0=e.sent;case 15:return c=e.t0,e.next=18,t.processContext(A(r),i,r);case 18:return l=e.sent,e.next=21,N({activeCtx:l,element:c,options:r,compactionMap:r.compactionMap});case 21:h=e.sent,r.compactArrays&&!r.graph&&w(h)?1===h.length?h=h[0]:0===h.length&&(h={}):r.graph&&k(h)&&(h=[h]),k(i)&&"@context"in i&&(i=i["@context"]),i=o.clone(i),w(i)||(i=[i]),d=i,i=[];for(f=0;f0)&&i.push(d[f]);if(p=i.length>0,1===i.length&&(i=i[0]),w(h))v=L({activeCtx:l,iri:"@graph",relativeTo:{vocab:!0}}),g=h,h={},p&&(h["@context"]=i),h[v]=g;else if(k(h)&&p)for(y in m=h,h={"@context":i},m)h[y]=m[y];return e.abrupt("return",h);case 29:case"end":return e.stop()}},e)})),function(e,t,i){return n.apply(this,arguments)}),t.expand=function(){var e=h(regeneratorRuntime.mark(function e(n,i){var r,s,u,c,l,h,f,p,v,g,m=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(m.length<1)){e.next=2;break}throw new TypeError("Could not expand, too few arguments.");case 2:if(!1===(i=C(i,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:b})})).expansionMap&&(i.expansionMap=void 0),r={},s=[],"expandContext"in i&&(u=o.clone(i.expandContext),r.expandContext=k(u)&&"@context"in u?u:{"@context":u},s.push(r.expandContext)),!x(n)){e.next=12;break}return e.next=8,t.get(n,i);case 8:l=e.sent,c=l.documentUrl,r.input=l.document,l.contextUrl&&(r.remoteContext={"@context":l.contextUrl},s.push(r.remoteContext)),e.next=13;break;case 12:r.input=o.clone(n);case 13:"base"in i||(i.base=c||""),h=A(i),f=0,p=s;case 16:if(!(f=1e21)},i.isEmptyObject=function(e){return i.isObject(e)&&0===Object.keys(e).length},i.isNumber=function(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)},i.isNumeric=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},i.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},i.isString=function(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)},i.isUndefined=function(e){return void 0===e}},{}],31:[function(e,t,n){"use strict";var i=e("./types"),r={};t.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=function(e,t){for(var n={},i=r.parsers[t||"full"],o=i.regex.exec(e),a=i.keys.length;a--;)n[i.keys[a]]=void 0===o[a]?null:o[a];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=function(e,t){if(null===e||r.isAbsolute(t))return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n=r.parse(t),o={protocol:e.protocol||""};if(null!==n.authority)o.authority=n.authority,o.path=n.path,o.query=n.query;else if(o.authority=e.authority,""===n.path)o.path=e.path,o.query=null!==n.query?n.query:e.query;else{if(0===n.path.indexOf("/"))o.path=n.path;else{var a=e.path;((a=a.substr(0,a.lastIndexOf("/")+1)).length>0||e.authority)&&"/"!==a.substr(-1)&&(a+="/"),a+=n.path,o.path=a}o.query=n.query}""!==n.path&&(o.path=r.removeDotSegments(o.path));var s=o.protocol;return null!==o.authority&&(s+="//"+o.authority),s+=o.path,null!==o.query&&(s+="?"+o.query),null!==n.fragment&&(s+="#"+n.fragment),""===s&&(s="./"),s},r.removeBase=function(e,t){if(null===e)return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n="";if(""!==e.href?n+=(e.protocol||"")+"//"+(e.authority||""):t.indexOf("//")&&(n+="//"),0!==t.indexOf(n))return t;for(var o=r.parse(t.substr(n.length)),a=e.normalizedPath.split("/"),s=o.normalizedPath.split("/"),u=o.fragment||o.query?0:1;a.length>0&&s.length>u&&a[0]===s[0];)a.shift(),s.shift();var c="";if(a.length>0){a.pop();for(var l=0;l0;){var i=t.shift(),r=0===t.length;"."!==i?".."!==i?n.push(i):(n.pop(),r&&n.push("")):r&&n.push("")}return"/"===e[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};var o=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=function(e){return i.isString(e)&&o.test(e)},r.isRelative=function(e){return i.isString(e)}},{"./types":30}],32:[function(e,n,i){"use strict";var r=e("./graphTypes"),o=e("./types"),a=e("rdf-canonize").IdentifierIssuer,s=e("./JsonLdError"),u=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,c=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,l=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,h="application/ld+json, application/json",d={};function f(e,t){if(o.isArray(t))for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};if(Object.keys(e).some(function(e){return"accept"===e.toLowerCase()}))throw new RangeError('Accept header may not be specified; only "'+h+'" is supported.');return Object.assign({Accept:h},e)},d.parseLinkHeader=function(e){for(var t={},n=e.match(u),i=0;i0}return!1},d.hasValue=function(e,t,n){if(d.hasProperty(e,t)){var i=e[t],a=r.isList(i);if(o.isArray(i)||a){a&&(i=i["@list"]);for(var s=0;st.maxAge:e[u]&&n>e[u]},y=function(e){if(e[o]>e[r])for(var t=e[h].tail;e[o]>e[r]&&null!==t;){var n=t.prev;_(e,t),t=n}},_=function(e,t){if(t){var n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[d].delete(n.key),e[h].removeNode(t)}},w=function e(t,n,i,r,o){m(this,e),this.key=t,this.value=n,this.length=i,this.now=r,this.maxAge=o||0},k=function(e,t,n,i){var r=n.value;g(e,r)&&(_(e,n),e[s]||(r=void 0)),r&&t.call(i,r.value,r.key,e)};t.exports=function(){function e(t){if(m(this,e),"number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;var n=t.length||p;if(this[a]="function"!=typeof n?p:n,this[s]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[u]=t.maxAge||0,this[c]=t.dispose,this[l]=t.noDisposeOnSet||!1,this[f]=t.updateAgeOnGet||!1,this.reset()}return b(e,[{key:"max",get:function(){return this[r]},set:function(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,y(this)}},{key:"allowStale",get:function(){return this[s]},set:function(e){this[s]=!!e}},{key:"maxAge",get:function(){return this[u]},set:function(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[u]=e,y(this)}},{key:"lengthCalculator",get:function(){return this[a]},set:function(e){var t=this;"function"!=typeof e&&(e=p),e!==this[a]&&(this[a]=e,this[o]=0,this[h].forEach(function(e){e.length=t[a](e.value,e.key),t[o]+=e.length})),y(this)}},{key:"length",get:function(){return this[o]}},{key:"itemCount",get:function(){return this[h].length}},{key:"rforEach",value:function(e,t){t=t||this;for(var n=this[h].tail;null!==n;){var i=n.prev;k(this,e,n,t),n=i}}},{key:"forEach",value:function(e,t){t=t||this;for(var n=this[h].head;null!==n;){var i=n.next;k(this,e,n,t),n=i}}},{key:"keys",value:function(){return this[h].toArray().map(function(e){return e.key})}},{key:"values",value:function(){return this[h].toArray().map(function(e){return e.value})}},{key:"reset",value:function(){var e=this;this[c]&&this[h]&&this[h].length&&this[h].forEach(function(t){return e[c](t.key,t.value)}),this[d]=new Map,this[h]=new i,this[o]=0}},{key:"dump",value:function(){var e=this;return this[h].map(function(t){return!g(e,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}}).toArray().filter(function(e){return e})}},{key:"dumpLru",value:function(){return this[h]}},{key:"set",value:function(e,t,n){if((n=n||this[u])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");var i=n?Date.now():0,s=this[a](t,e);if(this[d].has(e)){if(s>this[r])return _(this,this[d].get(e)),!1;var f=this[d].get(e).value;return this[c]&&(this[l]||this[c](e,f.value)),f.now=i,f.maxAge=n,f.value=t,this[o]+=s-f.length,f.length=s,this.get(e),y(this),!0}var p=new w(e,t,s,i,n);return p.length>this[r]?(this[c]&&this[c](e,t),!1):(this[o]+=p.length,this[h].unshift(p),this[d].set(e,this[h].head),y(this),!0)}},{key:"has",value:function(e){if(!this[d].has(e))return!1;var t=this[d].get(e).value;return!g(this,t)}},{key:"get",value:function(e){return v(this,e,!0)}},{key:"peek",value:function(e){return v(this,e,!1)}},{key:"pop",value:function(){var e=this[h].tail;return e?(_(this,e),e.value):null}},{key:"del",value:function(e){_(this,this[d].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var i=e[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{var o=r-t;o>0&&this.set(i.k,i.v,o)}}}},{key:"prune",value:function(){var e=this;this[d].forEach(function(t,n){return v(e,n,!1)})}}]),e}()},{yallist:92}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",o="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:"".concat(r,"decimal"),boolean:"".concat(r,"boolean"),double:"".concat(r,"double"),integer:"".concat(r,"integer"),string:"".concat(r,"string")},rdf:{type:"".concat(i,"type"),nil:"".concat(i,"nil"),first:"".concat(i,"first"),rest:"".concat(i,"rest"),langString:"".concat(i,"langString")},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:"".concat(o,"reify#forSome"),forAll:"".concat(o,"reify#forAll")},log:{implies:"".concat(o,"log#implies")}}},{}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=O,n.termFromId=function e(t,n){if(n=n||y,!t)return n.defaultGraph();switch(t[0]){case"?":return n.variable(t.substr(1));case"_":return n.blankNode(t.substr(2));case'"':if(n===y)return new k(t);if('"'===t[t.length-1])return n.literal(t.substr(1,t.length-2));var i=t.lastIndexOf('"',t.length-1);return n.literal(t.substr(1,i-1),"@"===t[i+1]?t.substr(i+2):n.namedNode(t.substr(i+3)));case"<":var r=g.exec(t);return n.quad(e(T(r[1]),n),e(T(r[2]),n),e(T(r[3]),n),r[4]&&e(T(r[4]),n));default:return n.namedNode(t)}},n.termToId=function e(t){if("string"==typeof t)return t;if(t instanceof _&&"Quad"!==t.termType)return t.id;if(!t)return r.id;switch(t.termType){case"NamedNode":return t.value;case"BlankNode":return"_:".concat(t.value);case"Variable":return"?".concat(t.value);case"DefaultGraph":return"";case"Literal":return'"'.concat(t.value,'"').concat(t.language?"@".concat(t.language):t.datatype&&t.datatype.value!==f.string?"^^".concat(t.datatype.value):"");case"Quad":return"<<".concat(O(e(t.subject))," ").concat(O(e(t.predicate))," ").concat(O(e(t.object))).concat((0,l.isDefaultGraph)(t.graph)?"":" ".concat(e(t.graph)),">>");default:throw new Error("Unexpected termType: ".concat(t.termType))}},n.unescapeQuotes=T;var i,r,o=(i=e("./IRIs"))&&i.__esModule?i:{default:i},l=e("./N3Util"),h=o.default,d=h.rdf,f=h.xsd,p=0,v=/^"(.*".*)(?="[^"]*$)/,g=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(e){return new w(e)},blankNode:function(e){return new x(e||"n3-"+p++)},variable:function(e){return new S(e)},literal:function(e,t){if("string"==typeof t)return new k('"'.concat(e,'"@').concat(t.toLowerCase()));var n=t?t.value:"";return""===n&&("boolean"==typeof e?n=f.boolean:"number"==typeof e&&(Number.isFinite(e)?n=Number.isInteger(e)?f.integer:f.double:(n=f.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),new k(""===n||n===f.string?'"'.concat(e,'"'):'"'.concat(e,'"^^').concat(n))},defaultGraph:function(){return r},quad:P,triple:P};n.default=y;var _=function(){function e(t){m(this,e),this.id=t}return b(e,[{key:"value",get:function(){return this.id}},{key:"equals",value:function(t){return t instanceof e?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}},{key:"hashCode",value:function(){return 0}},{key:"toJSON",value:function(){return{termType:this.termType,value:this.value}}}]),e}();n.Term=_;var w=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"NamedNode"}}]),n}(_);n.NamedNode=w;var k=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"Literal"}},{key:"value",get:function(){return this.id.substring(1,this.id.lastIndexOf('"'))}},{key:"language",get:function(){var e=this.id,t=e.lastIndexOf('"')+1;return t\\"\{\}\|\^\`]/,l={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=function(){function e(t){if(m(this,e),this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode)for(var n in this._n3Mode=!1,this)!(n in l)&&this[n]instanceof RegExp&&(this[n]=h);else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}return b(e,[{key:"_tokenizeToEnd",value:function(e,t){for(var n,i=this._input,r=i.length;;){for(var o=void 0,s=void 0;o=this._newline.exec(i);)this._comments&&(s=this._comment.exec(o[0]))&&_("comment",s[1],"",this._line,o[0].length),i=i.substr(o[0].length,i.length),r=i.length,this._line++;if(!o&&(o=this._whitespace.exec(i))&&(i=i.substr(o[0].length,i.length)),this._endOfFile.test(i))return t&&(this._comments&&(s=this._comment.exec(i))&&_("comment",s[1],"",this._line,i.length),i=null,_("eof","","",this._line,0)),this._input=i;var u=this._line,l=i[0],h="",d="",f="",p=null,v=0,g=!1;switch(l){case"^":if(i.length<3)break;if("^"!==i[1]){this._n3Mode&&(v=1,h="^");break}if(this._previousMarker="^^","<"!==(i=i.substr(2))[0]){g=!0;break}case"<":if(p=this._unescapedIri.exec(i))h="IRI",d=p[1];else if(p=this._iri.exec(i)){if(null===(d=this._unescape(p[1]))||c.test(d))return w(this);h="IRI"}else i.length>1&&"<"===i[1]?(h="<<",v=2):this._n3Mode&&i.length>1&&"="===i[1]&&(h="inverse",v=2,d=">");break;case">":i.length>1&&">"===i[1]&&(h=">>",v=2);break;case"_":((p=this._blank.exec(i))||t&&(p=this._blank.exec("".concat(i," "))))&&(h="blank",f="_",d=p[1]);break;case'"':if(p=this._simpleQuotedString.exec(i))d=p[1];else if(d=(n=this._parseLiteral(i)).value,v=n.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){var m;if(p=this._simpleApostropheString.exec(i))d=p[1];else if(d=(m=this._parseLiteral(i)).value,v=m.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(p=this._variable.exec(i))&&(h="var",d=p[0]);break;case"@":"literal"===this._previousMarker&&(p=this._langcode.exec(i))?(h="langcode",d=p[1]):(p=this._keyword.exec(i))&&(h=p[0]);break;case".":if(1===i.length?t:i[1]<"0"||i[1]>"9"){h=".",v=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(p=this._number.exec(i)||t&&(p=this._number.exec("".concat(i," "))))&&(h="literal",d=p[0],f="string"==typeof p[1]?a.double:"string"==typeof p[2]?a.decimal:a.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(p=this._sparqlKeyword.exec(i))?h=p[0].toUpperCase():g=!0;break;case"f":case"t":(p=this._boolean.exec(i))?(h="literal",d=p[0],f=a.boolean):g=!0;break;case"a":(p=this._shortPredicates.exec(i))?(h="abbreviation",d="a"):g=!0;break;case"=":this._n3Mode&&i.length>1&&(h="abbreviation",">"!==i[1]?(v=1,d="="):(v=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(v=1,h=l);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(p=this._prefix.exec(i))?((p=this._prefixed.exec(i))||t&&(p=this._prefixed.exec("".concat(i," "))))&&(h="prefixed",f=p[1]||"",d=this._unescape(p[2])):(h="prefix",d=p[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return t||!/^'''|^"""/.test(i)&&/\n|\r/.test(i)?w(this):this._input=i;var y=v||p[0].length,b=_(h,d,f,u,y);this.previousToken=b,this._previousMarker=h,i=i.substr(y,i.length)}function _(t,n,o,a,s){var u=i?r-i.length:r,c={type:t,value:n,prefix:o,line:a,start:u,end:u+s};return e(null,c),c}function w(t){e(t._syntaxError(/^\S*/.exec(i)[0]))}}},{key:"_unescape",value:function(e){var t=!1,n=e.replace(s,function(e,n,i,r){if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){var o=Number.parseInt(i,16);return o<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((o-=65536)>>10),56320+(1023&o))}return r in u?u[r]:(t=!0,"")});return t?null:n}},{key:"_parseLiteral",value:function(e){if(e.length>=3){for(var t=e.match(/^(?:"""|"|'''|'|)/)[0],n=t.length,i=Math.max(this._literalClosingPos,n);(i=e.indexOf(t,i))>0;){for(var r=0;"\\"===e[i-r-1];)r++;if(r%2==0){var o=e.substring(n,i),a=o.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==a||3===n&&this._lineMode)break;return this._line+=a,{value:this._unescape(o),matchLength:s}}i++}this._literalClosingPos=e.length-n+1}return{value:"",matchLength:0}}},{key:"_syntaxError",value:function(e){this._input=null;var t=new Error('Unexpected "'.concat(e,'" on line ').concat(this._line,"."));return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}},{key:"_readStartingBom",value:function(e){return e.startsWith("\ufeff")?e.substr(1):e}},{key:"tokenize",value:function(e,n){var i=this;if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof n){var o,a=[];if(this._tokenizeToEnd(function(e,t){return e?o=e:a.push(t)},!0),o)throw o;return a}(0,r.default)(function(){return i._tokenizeToEnd(n,!0)})}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",function(e){null!==i._input&&0!==e.length&&(i._pendingBuffer&&(e=t.concat([i._pendingBuffer,e]),i._pendingBuffer=null),128&e[e.length-1]?i._pendingBuffer=e:(void 0===i._input?i._input=i._readStartingBom("string"==typeof e?e:e.toString()):i._input+=e,i._tokenizeToEnd(n,!1)))}),e.on("end",function(){"string"==typeof i._input&&i._tokenizeToEnd(n,!0)}),e.on("error",n)}}]),e}()}).call(this)}).call(this,e("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=a(e("./N3Lexer")),r=a(e("./N3DataFactory")),o=a(e("./IRIs"));function a(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){function e(t){m(this,e),this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&l(this,t.factory);var n="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",r=/turtle/.test(n),o=/trig/.test(n),a=/triple/.test(n),s=/quad/.test(n),u=this._n3Mode=/n3/.test(n),c=a||s;(this._supportsNamedGraphs=!(r||u))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(r||o||a||u),this._supportsRDFStar=""===n||/star|\*$/.test(n),c&&(this._resolveRelativeIRI=function(e){return null}),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:c,n3:u}),this._explicitQuantifiers=!!t.explicitQuantifiers}return b(e,[{key:"_setBase",value:function(e){if(e){var t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}},{key:"_saveContext",value:function(e,t,n,i,r){var o=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:t,type:e,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?"".concat(this._graph.id.substr(2),"."):".",this._quantified=Object.create(this._quantified))}},{key:"_restoreContext",value:function(){var e=this._contextStack.pop(),t=this._n3Mode;this._subject=e.subject,this._predicate=e.predicate,this._object=e.object,this._graph=e.graph,t&&(this._inversePredicate=e.inverse,this._prefixes._=e.blankPrefix,this._quantified=e.quantified)}},{key:"_readInTopContext",value:function(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}},{key:"_readEntity",value:function(e,t){var n;switch(e.type){case"IRI":case"typeIRI":var i=this._resolveIRI(e.value);if(null===i)return this._error("Invalid IRI",e);n=this._namedNode(i);break;case"type":case"prefixed":var r=this._prefixes[e.prefix];if(void 0===r)return this._error('Undefined prefix "'.concat(e.prefix,':"'),e);n=this._namedNode(r+e.value);break;case"blank":n=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":n=this._variable(e.value.substr(1));break;default:return this._error("Expected entity but got ".concat(e.type),e)}return!t&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}},{key:"_readSubject",value:function(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}},{key:"_readPredicate",value:function(e){var t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error("Unexpected ".concat(t),e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}},{key:"_readObject",value:function(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}},{key:"_readPredicateOrNamedGraph",value:function(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}},{key:"_readGraph",value:function(e){return"{"!==e.type?this._error("Expected graph but got ".concat(e.type),e):(this._graph=this._subject,this._subject=null,this._readSubject)}},{key:"_readBlankNodeHead",value:function(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}},{key:"_readBlankNodeTail",value:function(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);var t=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}},{key:"_readPredicateAfterBlank",value:function(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}},{key:"_readListItem",value:function(e){var t=null,n=null,i=this._readListItem,r=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,i=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===a.predicate?a.subject=n:a.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,t,this._graph)}return i}},{key:"_readDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!1)}},{key:"_readListItemDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!0)}},{key:"_completeLiteral",value:function(e){var t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":var n=this._readEntity(e);if(void 0===n)return;t=this._literal(this._literalValue,n),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}},{key:"_completeSubjectLiteral",value:function(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}},{key:"_completeObjectLiteral",value:function(e,t){var n=this._completeLiteral(e);if(n)return this._object=n.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}},{key:"_readFormulaTail",value:function(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}},{key:"_readPunctuation",value:function(e){var t,n=this._graph,i=this._subject,r=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}if(null!==i){var o=this._predicate,a=this._object;r?this._emit(a,o,i,n):this._emit(i,o,a,n)}return t}},{key:"_readBlankNodePunctuation",value:function(e){var t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}},{key:"_readQuadPunctuation",value:function(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}},{key:"_readPrefix",value:function(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}},{key:"_readPrefixIRI",value:function(e){if("IRI"!==e.type)return this._error('Expected IRI to follow prefix "'.concat(this._prefix,':"'),e);var t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}},{key:"_readBaseIRI",value:function(e){var t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}},{key:"_readNamedGraphLabel",value:function(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}},{key:"_readNamedGraphBlankLabel",value:function(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}},{key:"_readDeclarationPunctuation",value:function(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}},{key:"_readQuantifierList",value:function(e){var t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error("Unexpected ".concat(e.type),e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}},{key:"_readQuantifierPunctuation",value:function(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}},{key:"_getPathReader",value:function(e){return this._afterPath=e,this._readPath}},{key:"_readPath",value:function(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:var t=this._contextStack,n=t.length&&t[t.length-1];if(n&&"item"===n.type){var i=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,i,this._graph)}return this._afterPath(e)}}},{key:"_readForwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=i):(t=this._object,this._object=i),this._emit(t,n,i,this._graph),this._readPath}},{key:"_readBackwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(t=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=i):(n=this._object,this._object=i),this._emit(i,t,n,this._graph),this._readPath}},{key:"_readRDFStarTailOrGraph",value:function(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error('Expected >> to follow "'.concat(this._object.id,'"'),e):this._readRDFStarTail(e)}},{key:"_readRDFStarTail",value:function(e){if(">>"!==e.type)return this._error("Expected >> but got ".concat(e.type),e);var t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}},{key:"_getContextEndReader",value:function(){var e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}},{key:"_emit",value:function(e,t,n,i){this._callback(null,this._quad(e,t,n,i||this.DEFAULTGRAPH))}},{key:"_error",value:function(e,t){var n=new Error("".concat(e," on line ").concat(t.line,"."));n.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}},{key:"_resolveIRI",value:function(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}},{key:"_resolveRelativeIRI",value:function(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}},{key:"_removeDotSegments",value:function(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;for(var t=e.length,n="",i=-1,r=-1,o=0,a="/";i=r&&(n=n.substr(0,o)),"/"!==a)return"".concat(n,"/").concat(e.substr(i+1));o=i+1}}}a=e[++i]}return n+e.substring(o)}},{key:"parse",value:function(e,t,n){var i=this;if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):"b".concat(s++,"_"),this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!t){var r,o=[];if(this._callback=function(e,t){e?r=e:t&&o.push(t)},this._lexer.tokenize(e).every(function(e){return i._readCallback=i._readCallback(e)}),r)throw r;return o}this._callback=t,this._lexer.tokenize(e,function(e,t){null!==e?(i._callback(e),i._callback=c):i._readCallback&&(i._readCallback=i._readCallback(t))})}}],[{key:"_resetBlankNodePrefix",value:function(){s=0}}]),e}();function c(){}function l(e,t){var n=t.namedNode;e._namedNode=n,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=n(o.default.rdf.first),e.RDF_REST=n(o.default.rdf.rest),e.RDF_NIL=n(o.default.rdf.nil),e.N3_FORALL=n(o.default.r.forAll),e.N3_FORSOME=n(o.default.r.forSome),e.ABBREVIATIONS={a:n(o.default.rdf.type),"=":n(o.default.owl.sameAs),">":n(o.default.log.implies)},e.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=u,l(u.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(i,o,a):i[o]=e[o]}return i.default=e,n&&n.set(e,i),i}(e("./N3DataFactory")),o=e("readable-stream"),u=(i=e("./IRIs"))&&i.__esModule?i:{default:i};function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}var h=function(e){function t(e,n){m(this,t),this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!n&&e&&!e[0]&&(n=e,e=null),this._factory=(n=n||{}).factory||r.default,e&&this.addQuads(e)}return b(t,[{key:"size",get:function(){var e=this._size;if(null!==e)return e;e=0;var t,n,i=this._graphs;for(var r in i)for(var o in t=i[r].subjects)for(var a in n=t[o])e+=Object.keys(n[a]).length;return this._size=e}},{key:"_addToIndex",value:function(e,t,n,i){var r=e[t]||(e[t]={}),o=r[n]||(r[n]={}),a=i in o;return a||(o[i]=null),!a}},{key:"_removeFromIndex",value:function(e,t,n,i){var r=e[t],o=r[n];for(var a in delete o[i],o)return;for(var s in delete r[n],r)return;delete e[t]}},{key:"_findInIndex",value:regeneratorRuntime.mark(function e(t,n,i,o,a,s,u,c){var l,h,d,f,p,v,g,m,y,b,_,w;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:f=!n+!i+!o>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(c,this._factory),n&&((l=t,t={})[n]=l[n]),e.t0=regeneratorRuntime.keys(t);case 3:if((e.t1=e.t0()).done){e.next=29;break}if(v=e.t1.value,g=f[v],!(h=t[v])){e.next=27;break}i&&((l=h,h={})[i]=l[i]),e.t2=regeneratorRuntime.keys(h);case 9:if((e.t3=e.t2()).done){e.next=27;break}if(m=e.t3.value,y=f[m],!(d=h[m])){e.next=25;break}b=o?o in d?[o]:[]:Object.keys(d),_=0;case 15:if(!(_0&&void 0!==arguments[0]?arguments[0]:{},n=t.remove,i=void 0!==n&&n,r=t.ignoreErrors,o=void 0!==r&&r,a={},s=o?function(){return!0}:function(e,t){throw new Error("".concat(e.value," ").concat(t))},c=this.getQuads(null,u.default.rdf.rest,u.default.rdf.nil,null),l=i?v(c):[];return c.forEach(function(t){for(var n,r,o=[],c=!1,h=t.graph,d=t.subject;d&&!c;){for(var f=e.getQuads(null,null,d,null),p=e.getQuads(d,null,null,null),v=void 0,g=null,m=null,y=null,b=0;b")}},{key:"_encodeLiteral",value:function(e){var t=e.value;if(p.test(t)&&(t=t.replace(v,_)),e.language)return'"'.concat(t,'"@').concat(e.language);if(this._lineMode){if(e.datatype.value===f.string)return'"'.concat(t,'"')}else switch(e.datatype.value){case f.string:return'"'.concat(t,'"');case f.boolean:if("true"===t||"false"===t)return t;break;case f.integer:if(/^[+-]?\d+$/.test(t))return t;break;case f.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case f.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return'"'.concat(t,'"^^').concat(this._encodeIriOrBlank(e.datatype))}},{key:"_encodePredicate",value:function(e){return e.value===d.type?"a":this._encodeIriOrBlank(e)}},{key:"_encodeObject",value:function(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}},{key:"_encodeQuad",value:function(e){var t=e.subject,n=e.predicate,i=e.object,r=e.graph;return"<<".concat(this._encodeSubject(t)," ").concat(this._encodePredicate(n)," ").concat(this._encodeObject(i)).concat((0,u.isDefaultGraph)(r)?"":" ".concat(this._encodeIriOrBlank(r)),">>")}},{key:"_blockedWrite",value:function(){throw new Error("Cannot write because the writer has been closed.")}},{key:"addQuad",value:function(e,t,n,i,r){void 0===n?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof i?this._writeQuad(e,t,n,l,i):this._writeQuad(e,t,n,i||l,r)}},{key:"addQuads",value:function(e){for(var t=0;t.\n"))}if(n){var o="",a="";for(var s in this._prefixIRIs)o+=o?"|".concat(s):s,a+=(a?"|":"")+this._prefixIRIs[s];o=w(o),this._prefixRegex=new RegExp("^(?:".concat(a,")[^/]*$|^(").concat(o,")([a-zA-Z][\\-_a-zA-Z0-9]*)$"))}this._write(n?"\n":"",t)}},{key:"blank",value:function(e,t){var n,i,r=e;switch(void 0===e?r=[]:e.termType?r=[{predicate:e,object:t}]:"length"in e||(r=[e]),i=r.length){case 0:return new y("[]");case 1:if(!((n=r[0]).object instanceof y))return new y("[ ".concat(this._encodePredicate(n.predicate)," ").concat(this._encodeObject(n.object)," ]"));default:for(var o="[",a=0;a1)for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:new Map,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.prefix=t,this._existing=n,this.counter=i}return b(e,[{key:"clone",value:function(){var t=this.prefix,n=this._existing,i=this.counter;return new e(t,new Map(n),i)}},{key:"getId",value:function(e){var t=e&&this._existing.get(e);if(t)return t;var n=this.prefix+this.counter;return this.counter++,e&&this._existing.set(e,n),n}},{key:"hasId",value:function(e){return this._existing.has(e)}},{key:"getOldIds",value:function(){return v(this._existing.keys())}}]),e}()},{}],48:[function(e,t,n){"use strict";e("setimmediate");var i=self.crypto||self.msCrypto;t.exports=function(){function e(t){if(m(this,e),!i||!i.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error('Unsupport algorithm "'.concat(t,'".'));this.algorithm={name:"SHA-1"}}this._content=""}return b(e,[{key:"update",value:function(e){this._content+=e}},{key:"digest",value:function(){var e=this;return h(regeneratorRuntime.mark(function t(){var n,r,o,a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=(new TextEncoder).encode(e._content),t.t0=Uint8Array,t.next=4,i.subtle.digest(e.algorithm,n);case 4:for(t.t1=t.sent,r=new t.t0(t.t1),o="",a=0;a]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),t.exports=function(){function e(){m(this,e)}return b(e,null,[{key:"parse",value:function(e){var t,n=[],h={},f=0,p=_(e.split(c.eoln));try{for(p.s();!(t=p.n()).done;){var v=t.value;if(f++,!c.empty.test(v)){var g=v.match(c.quad);if(null===g)throw new Error("N-Quads parse error on line "+f+".");var m={subject:null,predicate:null,object:null,graph:null};if(m.subject=void 0!==g[1]?{termType:o,value:g[1]}:{termType:a,value:g[2]},m.predicate={termType:o,value:g[3]},void 0!==g[4]?m.object={termType:o,value:g[4]}:void 0!==g[5]?m.object={termType:a,value:g[5]}:(m.object={termType:s,value:void 0,datatype:{termType:o}},void 0!==g[7]?m.object.datatype.value=g[7]:void 0!==g[8]?(m.object.datatype.value=i,m.object.language=g[8]):m.object.datatype.value=r,m.object.value=g[6].replace(d,function(e,t,n,i){if(t)switch(t){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),m.graph=void 0!==g[9]?{termType:o,value:g[9]}:void 0!==g[10]?{termType:a,value:g[10]}:{termType:u,value:""},m.graph.value in h){var y,b=!0,w=h[m.graph.value],k=_(w);try{for(k.s();!(y=k.n()).done;){if(l(y.value,m)){b=!1;break}}}catch(x){k.e(x)}finally{k.f()}b&&(w.push(m),n.push(m))}else h[m.graph.value]=[m],n.push(m)}}}catch(x){p.e(x)}finally{p.f()}return n}},{key:"serialize",value:function(t){Array.isArray(t)||(t=e.legacyDatasetToQuads(t));var n,i=[],r=_(t);try{for(r.s();!(n=r.n()).done;){var o=n.value;i.push(e.serializeQuad(o))}}catch(a){r.e(a)}finally{r.f()}return i.sort().join("")}},{key:"serializeQuad",value:function(e){var t=e.subject,n=e.object,s=e.graph,u="";return u+=t.termType===o?"<".concat(t.value,">"):"".concat(t.value),u+=" <".concat(e.predicate.value,"> "),n.termType===o?u+="<".concat(n.value,">"):n.termType===a?u+=n.value:(u+='"'.concat(n.value.replace(h,function(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}}),'"'),n.datatype.value===i?n.language&&(u+="@".concat(n.language)):n.datatype.value!==r&&(u+="^^<".concat(n.datatype.value,">"))),s.termType===o?u+=" <".concat(s.value,">"):s.termType===a&&(u+=" ".concat(s.value)),u+=" .\n"}},{key:"legacyDatasetToQuads",value:function(e){var t=[],n={"blank node":a,IRI:o,literal:s},c=function(c){e[c].forEach(function(e){var l={};for(var h in e){var d=e[h],f={termType:n[d.type],value:d.value};f.termType===s&&(f.datatype={termType:o},"datatype"in d&&(f.datatype.value=d.datatype),"language"in d?("datatype"in d||(f.datatype.value=i),f.language=d.language):"datatype"in d||(f.datatype.value=r)),l[h]=f}l.graph="@default"===c?{termType:u,value:""}:{termType:c.startsWith("_:")?a:o,value:c},t.push(l)})};for(var l in e)c(l);return t}}]),e}();var h=/["\\\n\r]/g,d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(e,t,n){"use strict";t.exports=function(){function e(t){m(this,e),this.current=t.sort(),this.done=!1,this.dir=new Map;for(var n=0;ni)&&(u&&a>0&&s>e[a-1]||!u&&ae[a+1])&&(i=s,r=a)}if(null===i)this.done=!0;else{var c=t.get(i)?r-1:r+1;e[r]=e[c],e[c]=i;var l,h=_(e);try{for(h.s();!(l=h.n()).done;){var d=l.value;d>i&&t.set(d,!t.get(d))}}catch(f){h.e(f)}finally{h.f()}}return n}}]),e}()},{}],51:[function(e,t,n){(function(n){(function(){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var r,o,u,c,l,h,d,f,p,g,m,y,b,w,k,x,S,C,E,O,T,P,A,I,R,D,N,L,j,F,B,V,z,U,H,G;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:t.quads=e,r=_(e);try{for(r.s();!(o=r.n()).done;)u=o.value,t._addBlankNodeQuadInfo({quad:u,component:u.subject}),t._addBlankNodeQuadInfo({quad:u,component:u.object}),t._addBlankNodeQuadInfo({quad:u,component:u.graph})}catch(W){r.e(W)}finally{r.f()}c=new Map,l=v(t.blankNodeInfo.keys()),h=0,d=_(l),n.prev=6,d.s();case 8:if((f=d.n()).done){n.next=18;break}if(p=f.value,n.t0=++h%100==0,!n.t0){n.next=14;break}return n.next=14,t._yield();case 14:return n.next=16,t._hashAndTrackBlankNode({id:p,hashToBlankNodes:c});case 16:n.next=8;break;case 18:n.next=23;break;case 20:n.prev=20,n.t1=n.catch(6),d.e(n.t1);case 23:return n.prev=23,d.f(),n.finish(23);case 26:g=v(c.keys()).sort(),m=[],y=_(g);try{for(y.s();!(b=y.n()).done;)w=b.value,(k=c.get(w)).length>1?m.push(k):t.canonicalIssuer.getId(k[0])}catch(W){y.e(W)}finally{y.f()}x=0,S=m;case 30:if(!(xf)){i.next=31;break}return k=!0,i.abrupt("break",33);case 31:i.next=26;break;case 33:i.next=38;break;case 35:i.prev=35,i.t1=i.catch(24),x.e(i.t1);case 38:return i.prev=38,x.f(),i.finish(38);case 41:if(k){i.next=64;break}E=_(w),i.prev=43,E.s();case 45:if((O=E.n()).done){i.next=55;break}return T=O.value,i.next=49,n.hashNDegreeQuads(T,y);case 49:if(P=i.sent,b+=y.getId(T),b+="<".concat(P.hash,">"),y=P.issuer,!(0!==f.length&&b>f)){i.next=53;break}return k=!0,i.abrupt("break",55);case 53:i.next=45;break;case 55:i.next=60;break;case 57:i.prev=57,i.t2=i.catch(43),E.e(i.t2);case 60:return i.prev=60,E.f(),i.finish(60);case 63:k||(0===f.length||b")}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=15;break}if(c=u.value,i.t0=++a%100==0,!i.t0){i.next=11;break}return i.next=11,n._yield();case 11:return i.next=13,Promise.all([n._addRelatedBlankNodeHash({quad:c,component:c.subject,position:"s",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.object,position:"o",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.graph,position:"g",id:e,issuer:t,hashToRelated:r})]);case 13:i.next=5;break;case 15:i.next=20;break;case 17:i.prev=17,i.t1=i.catch(3),s.e(i.t1);case 20:return i.prev=20,s.f(),i.finish(20);case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},i,null,[[3,17,20,23]])}))()}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this;return h(regeneratorRuntime.mark(function e(){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.hashFirstDegreeQuads(t);case 2:r=e.sent,(o=n.get(r))?o.push(t):n.set(r,[t]);case 5:case"end":return e.stop()}},e)}))()}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated,s=this;return h(regeneratorRuntime.mark(function e(){var u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("BlankNode"===n.termType&&n.value!==r){e.next=2;break}return e.abrupt("return");case 2:return u=n.value,e.next=5,s.hashRelatedBlankNode(u,t,o,i);case 5:c=e.sent,(l=a.get(c))?l.push(u):a.set(c,[u]);case 8:case"end":return e.stop()}},e)}))()}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}},{key:"_yield",value:function(){return h(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){return n(e)}));case 1:case"end":return e.stop()}},e)}))()}}]),e}()}).call(this)}).call(this,e("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(e,t,n){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){this.quads=e;var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this._addBlankNodeQuadInfo({quad:r,component:r.subject}),this._addBlankNodeQuadInfo({quad:r,component:r.object}),this._addBlankNodeQuadInfo({quad:r,component:r.graph})}}catch(j){n.e(j)}finally{n.f()}var o,u=new Map,c=_(v(this.blankNodeInfo.keys()));try{for(c.s();!(o=c.n()).done;){var l=o.value;this._hashAndTrackBlankNode({id:l,hashToBlankNodes:u})}}catch(j){c.e(j)}finally{c.f()}var h,d=[],f=_(v(u.keys()).sort());try{for(f.s();!(h=f.n()).done;){var p=h.value,g=u.get(p);g.length>1?d.push(g):this.canonicalIssuer.getId(g[0])}}catch(j){f.e(j)}finally{f.f()}for(var m=0,y=d;ml){y=!0;break}}}catch(E){b.e(E)}finally{b.f()}if(!y){var k,x=_(m);try{for(x.s();!(k=x.n()).done;){var S=k.value,C=this.hashNDegreeQuads(S,p);if(g+=p.getId(S),g+="<".concat(C.hash,">"),p=C.issuer,0!==l.length&&g>l){y=!0;break}}}catch(E){x.e(E)}finally{x.f()}y||(0===l.length||g")}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value;this._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:e,issuer:t,hashToRelated:i})}}catch(a){r.e(a)}finally{r.f()}return i}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this.hashFirstDegreeQuads(t),r=n.get(i);r?r.push(t):n.set(i,[t])}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated;if("BlankNode"===n.termType&&n.value!==r){var s=n.value,u=this.hashRelatedBlankNode(s,t,o,i),c=a.get(u);c?c.push(s):a.set(u,[s])}}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}]),e}()},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(e,t,n){"use strict";var i=e("./URDNA2015");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=26;break}if(c=u.value,l=void 0,h=void 0,"BlankNode"!==c.subject.termType||c.subject.value===e){i.next=12;break}h=c.subject.value,l="p",i.next=15;break;case 12:if("BlankNode"===c.object.termType&&c.object.value!==e){i.next=14;break}return i.abrupt("continue",24);case 14:h=c.object.value,l="r";case 15:if(i.t0=++a%100==0,!i.t0){i.next=19;break}return i.next=19,n._yield();case 19:return i.next=21,n.hashRelatedBlankNode(h,c,t,l);case 21:d=i.sent,(f=r.get(d))?f.push(h):r.set(d,[h]);case 24:i.next=5;break;case 26:i.next=31;break;case 28:i.prev=28,i.t1=i.catch(3),s.e(i.t1);case 31:return i.prev=31,s.f(),i.finish(31);case 34:return i.abrupt("return",r);case 35:case"end":return i.stop()}},i,null,[[3,28,31,34]])}))()}}]),n}(i)},{"./URDNA2015":51}],54:[function(e,t,n){"use strict";var i=e("./URDNA2015Sync");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value,a=void 0,s=void 0;if("BlankNode"===o.subject.termType&&o.subject.value!==e)s=o.subject.value,a="p";else{if("BlankNode"!==o.object.termType||o.object.value===e)continue;s=o.object.value,a="r"}var u=this.hashRelatedBlankNode(s,o,t,a),c=i.get(u);c?c.push(s):i.set(u,[s])}}catch(l){r.e(l)}finally{r.f()}return i}}]),n}(i)},{"./URDNA2015Sync":52}],55:[function(e,t,n){"use strict";var i,r=e("./URDNA2015"),o=e("./URGNA2012"),a=e("./URDNA2015Sync"),s=e("./URGNA2012Sync");try{i=e("rdf-canonize-native")}catch(u){}var u,c={};t.exports=c,c.NQuads=e("./NQuads"),c.IdentifierIssuer=e("./IdentifierIssuer"),c._rdfCanonizeNative=function(e){return e&&(i=e),i},c.canonize=(u=h(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),!n.useNative){e.next=4;break}if(i){e.next=3;break}throw new Error("rdf-canonize-native not available");case 3:return e.abrupt("return",new Promise(function(e,r){return i.canonize(t,n,function(t,n){return t?r(t):e(n)})}));case 4:if("URDNA2015"!==n.algorithm){e.next=6;break}return e.abrupt("return",new r(n).main(t));case 6:if("URGNA2012"!==n.algorithm){e.next=8;break}return e.abrupt("return",new o(n).main(t));case 8:throw"algorithm"in n?new Error("Invalid RDF Dataset Canonicalization algorithm: "+n.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.");case 9:case"end":return e.stop()}},e)})),function(e,t){return u.apply(this,arguments)}),c._canonizeSync=function(e,t){if(Array.isArray(e)||(e=c.NQuads.legacyDatasetToQuads(e)),t.useNative){if(i)return i.canonizeSync(e,t);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===t.algorithm)return new a(t).main(e);if("URGNA2012"===t.algorithm)return new s(t).main(e);throw"algorithm"in t?new Error("Invalid RDF Dataset Canonicalization algorithm: "+t.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/BlankNode"),n),r(e("./lib/DataFactory"),n),r(e("./lib/DefaultGraph"),n),r(e("./lib/Literal"),n),r(e("./lib/NamedNode"),n),r(e("./lib/Quad"),n),r(e("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0,n.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},{}],58:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;var i=e("./BlankNode"),r=e("./DefaultGraph"),o=e("./Literal"),a=e("./NamedNode"),s=e("./Quad"),u=e("./Variable"),c=0;n.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;var i=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;var i=e("./NamedNode"),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0,n.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},{}],62:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0,n.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},{}],63:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0,n.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},{}],64:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;var i=function(e){a(n,e);var t=s(n);function n(e,i){m(this,n);var r=e.saxStream._parser;return t.call(this,e.trackPosition?"Line ".concat(r.line+1," column ").concat(r.column+1,": ").concat(i):i)}return n}(l(Error));n.ParseError=i},{}],66:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;var i,r,o=e("relative-to-absolute-iri"),u=e("sax"),l=e("stream"),h=e("./ParseError"),d=e("rdf-data-factory"),f=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{readableObjectMode:!0})).activeTagStack=[],i.nodeIds={},e&&(Object.assign(c(i),e),i.options=e),i.dataFactory||(i.dataFactory=new d.DataFactory),i.baseIRI||(i.baseIRI=""),i.defaultGraph||(i.defaultGraph=i.dataFactory.defaultGraph()),i.saxStream=u.createStream(i.strict,{xmlns:!1,position:i.trackPosition}),i.strict||(i.saxStream._parser.looseCase="toString"),i.attachSaxListeners(),i}return b(n,[{key:"import",value:function(e){var t=new l.PassThrough({readableObjectMode:!0});e.on("error",function(e){return i.emit("error",e)}),e.on("data",function(e){return t.push(e)}),e.on("end",function(){return t.push(null)});var i=t.pipe(new n(this.options));return i}},{key:"_transform",value:function(e,t,n){try{this.saxStream.write(e,t)}catch(i){return n(i)}n()}},{key:"newParseError",value:function(e){return new h.ParseError(this,e)}},{key:"valueToUri",value:function(e,t){return this.uriToNamedNode(o.resolve(e,t.baseIRI))}},{key:"uriToNamedNode",value:function(e){if(!n.isValidIri(e))throw this.newParseError("Invalid URI: ".concat(e));return this.dataFactory.namedNode(e)}},{key:"validateNcname",value:function(e){if(!n.NCNAME_MATCHER.test(e))throw this.newParseError("Not a valid NCName: ".concat(e))}},{key:"attachSaxListeners",value:function(){var e=this;this.saxStream.on("error",function(t){return e.emit("error",t)}),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}},{key:"onTag",value:function(e){var t=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null,r=i.RESOURCE;if(t&&(t.hadChildren=!0,r=t.childrenParseType),t&&t.childrenStringTags){var o=e.name,a="";for(var s in e.attributes)a+=" ".concat(s,'="').concat(e.attributes[s],'"');t.childrenStringTags.push("<".concat(o).concat(a,">"));var u={childrenStringTags:t.childrenStringTags};return u.childrenStringEmitClosingTag=""),void this.activeTagStack.push(u)}var c={};t?(c.language=t.language,c.baseIRI=t.baseIRI):c.baseIRI=this.baseIRI,this.activeTagStack.push(c),c.ns=n.parseNamespace(e,t),r===i.RESOURCE?this.onTagResource(e,c,t,!t):this.onTagProperty(e,c,t)}},{key:"onTagResource",value:function(e,t,r,a){var s=n.expandPrefixedTerm(e.name,t.ns,this);t.childrenParseType=i.PROPERTY;var u=!0;if(s.uri===n.RDF){if(!a&&n.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError("Illegal node element name: ".concat(s.local));switch(s.local){case"RDF":t.childrenParseType=i.RESOURCE;case"Description":u=!1}}var c=[],l=[],h=null,d=!1,f=!1,p=null;for(var v in e.attributes){var g=e.attributes[v],m=n.expandPrefixedTerm(v,t.ns,this);if(r&&m.uri===n.RDF)switch(m.local){case"about":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));h=g;continue;case"ID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h="#"+g,d=!0;continue;case"nodeID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h=g,f=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":p=g;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(m.uri===n.XML){if("lang"===m.local){t.language=""===g?null:g.toLowerCase();continue}if("base"===m.local){t.baseIRI=o.resolve(g,t.baseIRI);continue}}"xml"!==m.prefix&&m.uri&&(c.push(this.uriToNamedNode(m.uri+m.local)),l.push(g))}if(null!==h&&(t.subject=f?this.dataFactory.blankNode(h):this.valueToUri(h,t),d&&this.claimNodeId(t.subject)),t.subject||(t.subject=this.dataFactory.blankNode()),u){var y=this.uriToNamedNode(s.uri+s.local);this.emitTriple(t.subject,this.dataFactory.namedNode(n.RDF+"type"),y,r?r.reifiedStatementId:null)}if(r){if(r.predicate)if(r.childrenCollectionSubject){var b=this.dataFactory.blankNode();this.emitTriple(r.childrenCollectionSubject,r.childrenCollectionPredicate,b,r.reifiedStatementId),this.emitTriple(b,this.dataFactory.namedNode(n.RDF+"first"),t.subject,t.reifiedStatementId),r.childrenCollectionSubject=b,r.childrenCollectionPredicate=this.dataFactory.namedNode(n.RDF+"rest")}else{this.emitTriple(r.subject,r.predicate,t.subject,r.reifiedStatementId);for(var _=0;_=0)throw this.newParseError("Illegal property element name: ".concat(o.local));t.predicateSubPredicates=[],t.predicateSubObjects=[];var a=!1,s=!1,u=null,c=!0,l=[],h=[];for(var d in e.attributes){var f=e.attributes[d],p=n.expandPrefixedTerm(d,t.ns,this);if(p.uri===n.RDF)switch(p.local){case"resource":if(u)throw this.newParseError("Found both rdf:resource (".concat(f,") and rdf:nodeID (").concat(u,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:resource (".concat(f,")"));t.hadChildren=!0,u=f,c=!1;continue;case"datatype":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:datatype (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(f,")"));t.datatype=this.valueToUri(f,t);continue;case"nodeID":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:nodeID (".concat(f,")."));if(t.hadChildren)throw this.newParseError("Found both rdf:resource and rdf:nodeID (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID (".concat(f,")"));this.validateNcname(f),t.hadChildren=!0,u=f,c=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(t.datatype)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(t.datatype.value,")"));if(u)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (".concat(u,")"));if("Resource"===f){a=!0,t.childrenParseType=i.PROPERTY;var v=this.dataFactory.blankNode();this.emitTriple(t.subject,t.predicate,v,t.reifiedStatementId),t.subject=v,t.predicate=null}else"Collection"===f?(a=!0,t.hadChildren=!0,t.childrenCollectionSubject=t.subject,t.childrenCollectionPredicate=t.predicate,c=!1):"Literal"===f&&(a=!0,t.childrenTagsToString=!0,t.childrenStringTags=[]);continue;case"ID":this.validateNcname(f),t.reifiedStatementId=this.valueToUri("#"+f,t),this.claimNodeId(t.reifiedStatementId);continue}else if(p.uri===n.XML&&"lang"===p.local){t.language=""===f?null:f.toLowerCase();continue}if("xml"!==p.prefix&&"xmlns"!==p.prefix&&p.uri){if(a||t.datatype)throw this.newParseError("Found illegal rdf:* properties on property element with attribute: ".concat(f));t.hadChildren=!0,s=!0,l.push(this.uriToNamedNode(p.uri+p.local)),h.push(this.dataFactory.literal(f,t.datatype||t.language))}}if(null!==u){var g=t.subject;t.subject=c?this.dataFactory.blankNode(u):this.valueToUri(u,t),this.emitTriple(g,t.predicate,t.subject,t.reifiedStatementId);for(var m=0;m/g,function(e,n,i){return t.saxStream._parser.ENTITIES[n]=i,""})}}],[{key:"parseNamespace",value:function(e,t){var i={},r=!1;for(var o in e.attributes)o.startsWith("xmlns")&&(5===o.length?(r=!0,i[""]=e.attributes[o]):":"===o.charAt(5)&&(r=!0,i[o.substr(6)]=e.attributes[o]));var a=t&&t.ns?t.ns:[n.DEFAULT_NS];return r?a.concat([i]):a}},{key:"expandPrefixedTerm",value:function(e,t,n){var i,r,o=e.indexOf(":");o>=0?(i=e.substr(0,o),r=e.substr(o+1)):(i="",r=e);for(var a=null,s=null,u=t.length-1;u>=0;u--){var c=t[u][i];if(c){a=c;break}s||(s=t[u][""])}if(!a){if(i&&"xmlns"!==i)throw new h.ParseError(n,"The prefix '".concat(i,"' in term '").concat(e,"' was not bound."));a=s||""}return{prefix:i,local:r,uri:a}}},{key:"isValidIri",value:function(e){return n.IRI_REGEX.test(e)}}]),n}(l.Transform);n.RdfXmlParser=f,f.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,f.MIME_TYPE="application/rdf+xml",f.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",f.XML="http://www.w3.org/XML/1998/namespace",f.XMLNS="http://www.w3.org/2000/xmlns/",f.DEFAULT_NS={xml:f.XML},f.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],f.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],f.NCNAME_MATCHER=/^((?:[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))((?:[#\x2D\.0-9A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))*$/,(r=i=n.ParseType||(n.ParseType={}))[r.RESOURCE=0]="RESOURCE",r[r.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(e,t,n){"use strict";var i={};function r(e,t,n){n||(n=Error);var r=function(e){function n(n,i,r){return e.call(this,function(e,n,i){return"string"==typeof t?t:t(e,n,i)}(n,i,r))||this}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(n,e),n}(n);r.prototype.name=n.name,r.prototype.code=e,i[e]=r}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}r("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(e,t,n){var i,r;if("string"==typeof t&&function(e,t,n){return e.substr(0,t.length)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))r="The ".concat(e," ").concat(i," ").concat(o(t,"type"));else{var a=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+".".length>e.length)&&-1!==e.indexOf(".",n)}(e)?"property":"argument";r='The "'.concat(e,'" ').concat(a," ").concat(i," ").concat(o(t,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},{}],68:[function(e,t,n){(function(n){(function(){"use strict";var i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=e("./_stream_readable"),o=e("./_stream_writable");e("inherits")(c,r);for(var a=i(o.prototype),s=0;s0)if("string"!=typeof t&&!s.objectMode&&Object.getPrototypeOf(t)!==u.prototype&&(t=function(e){return u.from(e)}(t)),i)s.endEmitted?k(e,new w):O(e,s,t,!0);else if(s.ended)k(e,new b);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?O(e,s,t,!1):I(e,s)):O(e,s,t,!1)}else i||(s.reading=!1,I(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=T?e=T:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;o("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(M,e))}function M(e){var t=e._readableState;o("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function I(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(R,e,t))}function R(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){o("readable nexttick read 0"),e.read(0)}function L(e,t){o("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(o("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function B(e){var t=e._readableState;o("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(V,t,e))}function V(e,t){if(o("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function z(e,t){for(var n=0,i=e.length;n=t.highWaterMark:t.length>0)||t.ended))return o("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?B(this):A(this),null;if(0===(e=P(e,t))&&t.ended)return 0===t.length&&B(this),null;var i,r=t.needReadable;return o("need readable",r),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&B(this)),null!==i&&this.emit("data",i),i},C.prototype._read=function(e){k(this,new _("_read()"))},C.prototype.pipe=function(e,t){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,o("pipe count=%d opts=%j",r.pipesCount,t);var s=t&&!1===t.end||e===n.stdout||e===n.stderr?v:u;function u(){o("onend"),e.end()}r.endEmitted?n.nextTick(s):i.once("end",s),e.on("unpipe",function t(n,a){o("onunpipe"),n===i&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,o("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",t),i.removeListener("end",u),i.removeListener("end",v),i.removeListener("data",h),l=!0,r.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c())});var c=function(e){return function(){var t=e._readableState;o("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,j(e))}}(i);e.on("drain",c);var l=!1;function h(t){o("ondata");var n=e.write(t);o("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==z(r.pipes,e))&&!l&&(o("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function d(t){o("onerror",t),v(),e.removeListener("error",d),0===a(e,"error")&&k(e,t)}function f(){e.removeListener("finish",p),v()}function p(){o("onfinish"),e.removeListener("close",f),v()}function v(){o("unpipe"),i.unpipe(e)}return i.on("data",h),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",i),r.flowing||(o("pipe resume"),i.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===e&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,o("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},C.prototype.removeListener=function(e,t){var i=s.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(D,this),i},C.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&n.nextTick(D,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(o("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(L,e,t))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(o("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){o("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||t.push(r)||(i=!0,e.pause())}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var a=0;a-1))throw new w(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,n){n(new v("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,i){var r=this._writableState;return"function"==typeof e?(i=e,e=null,t=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,i){t.ending=!0,M(e,t),i&&(t.finished?n.nextTick(i):e.once("finish",i)),t.ended=!0,e.writable=!1}(this,r,i),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}}),C.prototype.destroy=h.destroy,C.prototype._undestroy=h.undestroy,C.prototype._destroy=function(e,t){t(e)}}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(e,t,n){(function(n){(function(){"use strict";var i;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=e("./end-of-stream"),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function f(e,t){return{value:e,done:t}}function p(e){var t=e[a];if(null!==t){var n=e[d].read();null!==n&&(e[l]=null,e[a]=null,e[s]=null,t(f(n,!1)))}}function v(e){n.nextTick(p,e)}var g=Object.getPrototypeOf(function(){}),m=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(t,i){n.nextTick(function(){e[u]?i(e[u]):t(f(void 0,!0))})});var i,r=this[l];if(r)i=new Promise(function(e,t){return function(n,i){e.then(function(){t[c]?n(f(void 0,!0)):t[h](n,i)},i)}}(r,this));else{var o=this[d].read();if(null!==o)return Promise.resolve(f(o,!1));i=new Promise(this[h])}return this[l]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var e=this;return new Promise(function(t,n){e[d].destroy(null,function(e){e?n(e):t(f(void 0,!0))})})}),i),g);t.exports=function(e){var t,n=Object.create(m,(r(t={},d,{value:e,writable:!0}),r(t,a,{value:null,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,u,{value:null,writable:!0}),r(t,c,{value:e._readableState.endEmitted,writable:!0}),r(t,h,{value:function(e,t){var i=n[d].read();i?(n[l]=null,n[a]=null,n[s]=null,e(f(i,!1))):(n[a]=e,n[s]=t)},writable:!0}),t));return n[l]=null,o(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[s];return null!==t&&(n[l]=null,n[a]=null,n[s]=null,t(e)),void(n[u]=e)}var i=n[a];null!==i&&(n[l]=null,n[a]=null,n[s]=null,i(f(void 0,!0))),n[c]=!0}),e.on("readable",v.bind(null,n)),n}}).call(this)}).call(this,e("_process"))},{"./end-of-stream":76,_process:44}],74:[function(e,t,n){"use strict";function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),n=this.head,i=0;n;)c(n.data,t,i),i+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return er.length?r.length:e;if(i+=o===r.length?r:r.slice(0,e),0==(e-=o)){o===r.length?(++n,this.head=t.next?t.next:this.tail=null):(this.head=t,t.data=r.slice(o));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),n=this.head,i=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var r=n.data,o=e>r.length?r.length:e;if(r.copy(t,t.length-e,0,o),0==(e-=o)){o===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(o));break}++i}return this.length-=i,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t0,function(e){r||(r=e),e&&a.forEach(c),!o&&(a.forEach(c),i(r))})});return t.reduce(l)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(e,t,n){"use strict";var i=e("../../../errors").codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,r){var o=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new i(r?n:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},{"../../../errors":67}],80:[function(e,t,n){t.exports=e("events").EventEmitter},{events:8}],81:[function(e,t,n){(n=t.exports=e("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=e("./lib/_stream_writable.js"),n.Duplex=e("./lib/_stream_duplex.js"),n.Transform=e("./lib/_stream_transform.js"),n.PassThrough=e("./lib/_stream_passthrough.js"),n.finished=e("./lib/internal/streams/end-of-stream.js"),n.pipeline=e("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}(e("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(e,t,n){"use strict";function i(e){for(var t=[],n=0;n=0?"/"===e[t+1]&&"/"===e[t+2]&&(n=t+3):"/"===e[0]&&"/"===e[1]&&(n=2);var r=e.indexOf("/",n);return r<0?e:e.substr(0,r)+i(e.substr(r))}function o(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(e,t){var n=(t=t||"").indexOf("#");if(n>0&&(t=t.substr(0,n)),!e.length){if(t.indexOf(":")<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));return t}if(e.startsWith("?")){var o=t.indexOf("?");return o>0&&(t=t.substr(0,o)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){var a=e.indexOf(":");if(a<0)throw new Error("Found invalid relative IRI '".concat(e,"' for a missing baseIRI"));return r(e,a)}var s=e.indexOf(":");if(s>=0)return r(e,s);var u=t.indexOf(":");if(u<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));var c,l=t.substr(0,u+1);if(0===e.indexOf("//"))return l+r(e,s);if(t.indexOf("//",u)===u+1){if((c=t.indexOf("/",u+3))<0)return t.length>u+3?t+"/"+r(e,s):l+r(e,s)}else if((c=t.indexOf("/",u+1))<0)return l+r(e,s);if(0===e.indexOf("/"))return t.substr(0,c)+i(e);var h=t.substr(c),d=h.lastIndexOf("/");return d>=0&&d"===o?(E(t,"onsgmldeclaration",t.sgmlDecl),t.sgmlDecl="",t.state=x.TEXT):(g(o)&&(t.state=x.SGML_DECL_QUOTED),t.sgmlDecl+=o);continue;case x.SGML_DECL_QUOTED:o===t.q&&(t.state=x.SGML_DECL,t.q=""),t.sgmlDecl+=o;continue;case x.DOCTYPE:">"===o?(t.state=x.TEXT,E(t,"ondoctype",t.doctype),t.doctype=!0):(t.doctype+=o,"["===o?t.state=x.DOCTYPE_DTD:g(o)&&(t.state=x.DOCTYPE_QUOTED,t.q=o));continue;case x.DOCTYPE_QUOTED:t.doctype+=o,o===t.q&&(t.q="",t.state=x.DOCTYPE);continue;case x.DOCTYPE_DTD:t.doctype+=o,"]"===o?t.state=x.DOCTYPE:g(o)&&(t.state=x.DOCTYPE_DTD_QUOTED,t.q=o);continue;case x.DOCTYPE_DTD_QUOTED:t.doctype+=o,o===t.q&&(t.state=x.DOCTYPE_DTD,t.q="");continue;case x.COMMENT:"-"===o?t.state=x.COMMENT_ENDING:t.comment+=o;continue;case x.COMMENT_ENDING:"-"===o?(t.state=x.COMMENT_ENDED,t.comment=T(t.opt,t.comment),t.comment&&E(t,"oncomment",t.comment),t.comment=""):(t.comment+="-"+o,t.state=x.COMMENT);continue;case x.COMMENT_ENDED:">"!==o?(M(t,"Malformed comment"),t.comment+="--"+o,t.state=x.COMMENT):t.state=x.TEXT;continue;case x.CDATA:"]"===o?t.state=x.CDATA_ENDING:t.cdata+=o;continue;case x.CDATA_ENDING:"]"===o?t.state=x.CDATA_ENDING_2:(t.cdata+="]"+o,t.state=x.CDATA);continue;case x.CDATA_ENDING_2:">"===o?(t.cdata&&E(t,"oncdata",t.cdata),E(t,"onclosecdata"),t.cdata="",t.state=x.TEXT):"]"===o?t.cdata+="]":(t.cdata+="]]"+o,t.state=x.CDATA);continue;case x.PROC_INST:"?"===o?t.state=x.PROC_INST_ENDING:v(o)?t.state=x.PROC_INST_BODY:t.procInstName+=o;continue;case x.PROC_INST_BODY:if(!t.procInstBody&&v(o))continue;"?"===o?t.state=x.PROC_INST_ENDING:t.procInstBody+=o;continue;case x.PROC_INST_ENDING:">"===o?(E(t,"onprocessinginstruction",{name:t.procInstName,body:t.procInstBody}),t.procInstName=t.procInstBody="",t.state=x.TEXT):(t.procInstBody+="?"+o,t.state=x.PROC_INST_BODY);continue;case x.OPEN_TAG:y(d,o)?t.tagName+=o:(I(t),">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:(v(o)||M(t,"Invalid character in tag name"),t.state=x.ATTRIB));continue;case x.OPEN_TAG_SLASH:">"===o?(N(t,!0),L(t)):(M(t,"Forward-slash in opening tag not followed by >"),t.state=x.ATTRIB);continue;case x.ATTRIB:if(v(o))continue;">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME:"="===o?t.state=x.ATTRIB_VALUE:">"===o?(M(t,"Attribute without value"),t.attribValue=t.attribName,D(t),N(t)):v(o)?t.state=x.ATTRIB_NAME_SAW_WHITE:y(d,o)?t.attribName+=o:M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME_SAW_WHITE:if("="===o)t.state=x.ATTRIB_VALUE;else{if(v(o))continue;M(t,"Attribute without value"),t.tag.attributes[t.attribName]="",t.attribValue="",E(t,"onattribute",{name:t.attribName,value:""}),t.attribName="",">"===o?N(t):y(h,o)?(t.attribName=o,t.state=x.ATTRIB_NAME):(M(t,"Invalid attribute name"),t.state=x.ATTRIB)}continue;case x.ATTRIB_VALUE:if(v(o))continue;g(o)?(t.q=o,t.state=x.ATTRIB_VALUE_QUOTED):(M(t,"Unquoted attribute value"),t.state=x.ATTRIB_VALUE_UNQUOTED,t.attribValue=o);continue;case x.ATTRIB_VALUE_QUOTED:if(o!==t.q){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_Q:t.attribValue+=o;continue}D(t),t.q="",t.state=x.ATTRIB_VALUE_CLOSED;continue;case x.ATTRIB_VALUE_CLOSED:v(o)?t.state=x.ATTRIB:">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(M(t,"No whitespace between attributes"),t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_VALUE_UNQUOTED:if(!m(o)){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_U:t.attribValue+=o;continue}D(t),">"===o?N(t):t.state=x.ATTRIB;continue;case x.CLOSE_TAG:if(t.tagName)">"===o?L(t):y(d,o)?t.tagName+=o:t.script?(t.script+=""===o?L(t):M(t,"Invalid characters in closing tag");continue;case x.TEXT_ENTITY:case x.ATTRIB_VALUE_ENTITY_Q:case x.ATTRIB_VALUE_ENTITY_U:var s,u;switch(t.state){case x.TEXT_ENTITY:s=x.TEXT,u="textNode";break;case x.ATTRIB_VALUE_ENTITY_Q:s=x.ATTRIB_VALUE_QUOTED,u="attribValue";break;case x.ATTRIB_VALUE_ENTITY_U:s=x.ATTRIB_VALUE_UNQUOTED,u="attribValue"}";"===o?(t[u]+=j(t),t.entity="",t.state=s):y(t.entity.length?p:f,o)?t.entity+=o:(M(t,"Invalid character in entity name"),t[u]+="&"+t.entity+o,t.entity="",t.state=s);continue;default:throw new Error(t,"Unknown state: "+t.state)}return t.position>=t.bufferCheckPosition&&function(e){for(var t=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,o=0,a=r.length;ot)switch(r[o]){case"textNode":O(e);break;case"cdata":E(e,"oncdata",e.cdata),e.cdata="";break;case"script":E(e,"onscript",e.script),e.script="";break;default:P(e,"Max buffer length exceeded: "+r[o])}i=Math.max(i,s)}e.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+e.position}(t),t},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(e){O(e),""!==e.cdata&&(E(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(E(e,"onscript",e.script),e.script="")}(this)}};try{i=e("stream").Stream}catch(_){i=function(){}}var a=n.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function s(e,t){if(!(this instanceof s))return new s(e,t);i.apply(this),this._parser=new o(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,a.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}(s.prototype=Object.create(i.prototype,{constructor:{value:s}})).write=function(n){if("function"==typeof t&&"function"==typeof t.isBuffer&&t.isBuffer(n)){if(!this._decoder){var i=e("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},s.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},s.prototype.on=function(e,t){var n=this;return!n._parser["on"+e]&&-1!==a.indexOf(e)&&(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),i.prototype.on.call(n,e,t)};var u="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",l={xml:u,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function g(e){return'"'===e||"'"===e}function m(e){return">"===e||v(e)}function y(e,t){return e.test(t)}function b(e,t){return!y(e,t)}var _,w,k,x=0;for(var S in n.STATE={BEGIN:x++,BEGIN_WHITESPACE:x++,TEXT:x++,TEXT_ENTITY:x++,OPEN_WAKA:x++,SGML_DECL:x++,SGML_DECL_QUOTED:x++,DOCTYPE:x++,DOCTYPE_QUOTED:x++,DOCTYPE_DTD:x++,DOCTYPE_DTD_QUOTED:x++,COMMENT_STARTING:x++,COMMENT:x++,COMMENT_ENDING:x++,COMMENT_ENDED:x++,CDATA:x++,CDATA_ENDING:x++,CDATA_ENDING_2:x++,PROC_INST:x++,PROC_INST_BODY:x++,PROC_INST_ENDING:x++,OPEN_TAG:x++,OPEN_TAG_SLASH:x++,ATTRIB:x++,ATTRIB_NAME:x++,ATTRIB_NAME_SAW_WHITE:x++,ATTRIB_VALUE:x++,ATTRIB_VALUE_QUOTED:x++,ATTRIB_VALUE_CLOSED:x++,ATTRIB_VALUE_UNQUOTED:x++,ATTRIB_VALUE_ENTITY_Q:x++,ATTRIB_VALUE_ENTITY_U:x++,CLOSE_TAG:x++,CLOSE_TAG_SAW_WHITE:x++,SCRIPT:x++,SCRIPT_ENDING:x++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(e){var t=n.ENTITIES[e],i="number"==typeof t?String.fromCharCode(t):t;n.ENTITIES[e]=i}),n.STATE)n.STATE[n.STATE[S]]=S;function C(e,t,n){e[t]&&e[t](n)}function E(e,t,n){e.textNode&&O(e),C(e,t,n)}function O(e){e.textNode=T(e.opt,e.textNode),e.textNode&&C(e,"ontext",e.textNode),e.textNode=""}function T(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function P(e,t){return O(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,C(e,"onerror",t),e}function A(e){return e.sawRoot&&!e.closedRoot&&M(e,"Unclosed root tag"),e.state!==x.BEGIN&&e.state!==x.BEGIN_WHITESPACE&&e.state!==x.TEXT&&P(e,"Unexpected end"),O(e),e.c="",e.closed=!0,C(e,"onend"),o.call(e,e.strict,e.opt),e}function M(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&P(e,t)}function I(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,E(e,"onopentagstart",n)}function R(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),i=n[0],r=n[1];return t&&"xmlns"===e&&(i="xmlns",r=""),{prefix:i,local:r}}function D(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=R(e.attribName,!0),n=t.local;if("xmlns"===t.prefix)if("xml"===n&&e.attribValue!==u)M(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==c)M(e,"xmlns: prefix must be bound to "+c+"\nActual: "+e.attribValue);else{var i=e.tag,r=e.tags[e.tags.length-1]||e;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,E(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function N(e,t){if(e.opt.xmlns){var n=e.tag,i=R(e.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=i.prefix),n.ns&&(e.tags[e.tags.length-1]||e).ns!==n.ns&&Object.keys(n.ns).forEach(function(t){E(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var r=0,o=e.attribList.length;r",e.tagName="",void(e.state=x.SCRIPT);E(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var i=n;t--&&e.tags[t].name!==i;)M(e,"Unexpected close tag");if(t<0)return M(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=x.TEXT);e.tagName=n;for(var r=e.tags.length;r-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,E(e,"onclosetag",e.tagName);var a={};for(var s in o.ns)a[s]=o.ns[s];e.opt.xmlns&&o.ns!==(e.tags[e.tags.length-1]||e).ns&&Object.keys(o.ns).forEach(function(t){E(e,"onclosenamespace",{prefix:t,uri:o.ns[t]})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=x.TEXT}function j(e){var t,n=e.entity,i=n.toLowerCase(),r="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[i]?e.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||r.toLowerCase()!==n?(M(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function F(e,t){"<"===t?(e.state=x.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(M(e,"Non-whitespace before first tag."),e.textNode=t,e.state=x.TEXT)}function B(e,t){var n="";return t1114111||w(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?t.push(o):t.push(55296+((o-=65536)>>10),o%1024+56320),(n+1===i||t.length>e)&&(r+=_.apply(null,t),t.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:k,configurable:!0,writable:!0}):String.fromCodePoint=k)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,e("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(e,t,n){(function(e,t){(function(){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},a=!1,s=t.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(t);u=u&&u.setTimeout?u:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){d(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(c="setImmediate$"+Math.random()+"$",l=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(c)&&d(+e.data.slice(c.length))},t.addEventListener?t.addEventListener("message",l,!1):t.attachEvent("onmessage",l),i=function(e){t.postMessage(c+e,"*")}):t.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){d(e.data)},i=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function(){var e=s.documentElement;i=function(t){var n=s.createElement("script");n.onreadystatechange=function(){d(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():i=function(e){setTimeout(d,0,e)},u.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n.setImmediate="function"==typeof t?t:function(e){var t=u++,i=!(arguments.length<2)&&a.call(arguments,1);return s[t]=!0,r(function(){s[t]&&(i?e.apply(null,i):e.call(null),n.clearImmediate(t))}),t},n.clearImmediate="function"==typeof i?i:function(e){delete s[e]}}).call(this)}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(e,t,n){(function(e){(function(){function n(t){try{if(!e.localStorage)return!1}catch(i){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(e,t,n){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.head;case 1:if(!t){e.next=7;break}return e.next=4,t.value;case 4:t=t.next,e.next=1;break;case 7:case"end":return e.stop()}},e,this)})}},{}],92:[function(e,t,n){"use strict";function i(e){var t=this;if(t instanceof i||(t=new i),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=e(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(e,t){var n,i=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=e(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},i.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},i.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new i;if(tthis.length&&(t=this.length);for(var r=0,o=this.head;null!==o&&rthis.length&&(t=this.length);for(var r=this.length,o=this.tail;null!==o&&r>t;r--)o=o.prev;for(;null!==o&&r>e;r--,o=o.prev)n.push(o.value);return n},i.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,i=this.head;null!==i&&n=0?1.2:1))}function i(e,t,n,i,o,a){for(var s=0;s-1);a[++c]=u,s[c]=l,s[c+1]=t}for(u=0,c=0;u is not a method!");return{configurable:i.boolTrue,get:function(){var e=n.value.bind(this);return Object.defineProperty(this,t,{value:e,configurable:i.boolTrue,writable:i.boolTrue}),e}}}t.ak=r,t.ZP=r},97266:function(e,t,n){e.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(e,t,n){"use strict";var i,r,o;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(o="function"==typeof(i=function(e){var t=function(){var t,n={},i=[];function r(e){e||(e=document.documentElement);var t=window.getComputedStyle(e,null).fontSize;return parseFloat(t)||16}function o(e,t){var n=t.split(/\d/),i=n[n.length-1];switch(t=parseFloat(t),i){case"px":return t;case"em":return t*r(e);case"rem":return t*r();case"vw":return t*document.documentElement.clientWidth/100;case"vh":return t*document.documentElement.clientHeight/100;case"vmin":case"vmax":var o=document.documentElement.clientWidth/100,a=document.documentElement.clientHeight/100;return t*(0,Math["vmin"===i?"min":"max"])(o,a);default:return t}}function a(e,t){this.element=e;var i,r,a,s,u,c,l,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in a=function(e){if(!e.getBoundingClientRect)return{width:e.offsetWidth,height:e.offsetHeight};var t=e.getBoundingClientRect();return{width:Math.round(t.width),height:Math.round(t.height)}}(this.element),c={},n[t])!n[t].hasOwnProperty(i)||(s=o(this.element,(r=n[t][i]).value),u="width"===r.property?a.width:a.height,l="","min"===r.mode&&u>=s&&(l+=r.value),"max"===r.mode&&u<=s&&(l+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),l&&-1===(" "+c[h]+" ").indexOf(" "+l+" ")&&(c[h]+=" "+l));for(var e in d)!d.hasOwnProperty(e)||(c[d[e]]?this.element.setAttribute(d[e],c[d[e]].substr(1)):this.element.removeAttribute(d[e]))}}function s(t,n){t.elementQueriesSetupInformation||(t.elementQueriesSetupInformation=new a(t,n)),t.elementQueriesSensor||(t.elementQueriesSensor=new e(t,function(){t.elementQueriesSetupInformation.call()}))}function u(e,r,o,a){if(void 0===n[e]){n[e]=[];var s=i.length;t.innerHTML+="\n"+e+" {animation: 0.1s element-queries;}",t.innerHTML+="\n"+e+" > .resize-sensor {min-width: "+s+"px;}",i.push(e)}n[e].push({mode:r,property:o,value:a})}function c(e){var t;if(document.querySelectorAll&&(t=e?e.querySelectorAll.bind(e):document.querySelectorAll.bind(document)),!t&&"undefined"!=typeof $$&&(t=$$),!t&&"undefined"!=typeof jQuery&&(t=jQuery),!t)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return t}function l(t){var n=[],i=[],r=[],o=0,a=-1,s=[];for(var u in t.children)if(t.children.hasOwnProperty(u)&&t.children[u].tagName&&"img"===t.children[u].tagName.toLowerCase()){n.push(t.children[u]);var c=t.children[u].getAttribute("min-width")||t.children[u].getAttribute("data-min-width"),l=t.children[u].getAttribute("data-src")||t.children[u].getAttribute("url");r.push(l),i.push({minWidth:c}),c?t.children[u].style.display="none":(o=n.length-1,t.children[u].style.display="block")}function h(){var e,u=!1;for(e in n)!n.hasOwnProperty(e)||i[e].minWidth&&t.offsetWidth>i[e].minWidth&&(u=e);if(u||(u=o),a!==u)if(s[u])n[a].style.display="none",n[u].style.display="block",a=u;else{var c=new Image;c.onload=function(){n[u].src=r[u],n[a].style.display="none",n[u].style.display="block",s[u]=!0,a=u},c.src=r[u]}else n[u].src=r[u]}a=o,t.resizeSensorInstance=new e(t,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function f(e){var t,n,i,r;for(e=e.replace(/'/g,'"');null!==(t=h.exec(e));)for(n=t[1]+t[3],i=t[2];null!==(r=d.exec(i));)u(n,r[1],r[2],r[3])}function p(e){var t="";if(e)if("string"==typeof e)(-1!==(e=e.toLowerCase()).indexOf("min-width")||-1!==e.indexOf("max-width"))&&f(e);else for(var n=0,i=e.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",t.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(t),v=!0);for(var r=0,o=document.styleSheets.length;r0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,console&&console.warn&&console.warn(s)}return e}function E(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=E.bind(i);return r.listener=n,i.wrapFn=r,r}function T(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=r[e];if(void 0===s)return!1;if("function"==typeof s)b(s,this,t);else{var u=s.length,c=A(s,u);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},w.prototype.listeners=function(e){return T(this,e,!0)},w.prototype.rawListeners=function(e){return T(this,e,!1)},w.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):P.call(e,t)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?g(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var e=this._next();return e.done&&(this.done=!0),e},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var e=arguments,t=e.length,n=0;return new I(function(){return n>=t?{done:!0}:{done:!1,value:e[n++]}})},I.empty=function(){var e=new I(null);return e.done=!0,e},I.is=function(e){return e instanceof I||"object"==typeof e&&null!==e&&"function"==typeof e.next};var R=I,D=function(e,t){for(var n,i=arguments.length>1?t:1/0,r=i!==1/0?new Array(i):[],o=0;;){if(o===i)return r;if((n=e.next()).done)return o!==t?r.slice(0,o):r;r[o++]=n.value}},N=function(e){function n(t,n){var i;return(i=e.call(this)||this).name="GraphError",i.message=t||"",i.data=n||{},i}return t(n,e),n}(a(Error)),L=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),j=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),F=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N);function B(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(e,t){this.key=e,this.attributes=t,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(e,t,n,i,r,o){this.key=t,this.attributes=o,this.undirected=e,this.source=i,this.target=r,this.generatedKey=n}function H(e,t,n,i,r,o,a){var s,u,c="out",l="in";if(t&&(c=l="undirected"),e.multi){if(void 0===(u=(s=o[c])[r])&&(u=new Set,s[r]=u),u.add(n),i===r&&t)return;void 0===(s=a[l])[i]&&(s[i]=u)}else{if(o[c][r]=n,i===r&&t)return;a[l][i]=n}}function G(e,t,n){var i=e.multi,r=n.source,o=n.target,a=r.key,s=o.key,u=r[t?"undirected":"out"],c=t?"undirected":"in";if(s in u)if(i){var l=u[s];1===l.size?(delete u[s],delete o[c][a]):l.delete(n)}else delete u[s];i||delete o[c][a]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var W=[{name:function(e){return"get".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(e){return"get".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+e,o=""+arguments[1];if(!(i=c(this,r,o,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(r,'" - "').concat(o,'").'))}else if(!(i=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(e){return"has".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(e){return"set".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"update".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(t,": updater should be a function."));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r(o.attributes[i]),this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"remove".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(e){return"replace".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(e){return"merge".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return u(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],q=R,X=function(){var e,t=arguments,n=-1;return new q(function i(){if(!e){if(++n>=t.length)return{done:!0};e=t[n]}var r=e.next();return r.done?(e=null,i()):r})},Y=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function K(e,t){for(var n in t)e.push(t[n].key)}function $(e,t){for(var n in t)t[n].forEach(function(t){return e.push(t.key)})}function Q(e,t,n){for(var i in e)if(i!==n){var r=e[i];t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(e,t,n){for(var i in e)i!==n&&e[i].forEach(function(e){return t(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function J(e,t,n){for(var i in e)if(i!==n){var r=e[i];if(t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function ee(e,t,n){var i,r,o,a,s;for(var u in e)if(u!==n)for(i=e[u].values();!0!==(r=i.next()).done;)if(a=(o=r.value).source,t(o.key,o.attributes,a.key,(s=o.target).key,a.attributes,s.attributes,o.undirected,o.generatedKey))return!0;return!1}function te(e,t){var n=Object.keys(e),i=n.length,r=null,o=0;return new R(function a(){var s;if(r){var u=r.next();if(u.done)return r=null,o++,a();s=u.value}else{if(o>=i)return{done:!0};var c=n[o];if(c===t)return o++,a();if((s=e[c])instanceof Set)return r=s.values(),a();o++}return{done:!1,value:[s.key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes]}})}function ne(e,t,n){var i=t[n];i&&e.push(i.key)}function ie(e,t,n){var i=t[n];i&&i.forEach(function(t){return e.push(t.key)})}function re(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function oe(e,t,n){var i=e[t];i&&i.forEach(function(e){return n(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function ae(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;return n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function se(e,t,n){var i=e[t];if(i){for(var r,o,a=i.values();!0!==(r=a.next()).done;)if(n((o=r.value).key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected,o.generatedKey))return!0;return!1}}function ue(e,t){var n=e[t];if(n instanceof Set){var i=n.values();return new R(function(){var e=i.next();if(e.done)return e;var t=e.value;return{done:!1,value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes]}})}return R.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ce(e,t){if(0===e.size)return[];if("mixed"===t||t===e.type)return"function"==typeof Array.from?Array.from(e._edges.keys()):D(e._edges.keys(),e._edges.size);for(var n,i,r=new Array("undirected"===t?e.undirectedSize:e.directedSize),o="undirected"===t,a=e._edges.values(),s=0;!0!==(n=a.next()).done;)(i=n.value).undirected===o&&(r[s++]=i.key);return r}function le(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey)}}function he(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;if(n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey))break}}function de(e,t){if(0===e.size)return R.empty();var n="mixed"!==t&&t!==e.type,i="undirected"===t,r=e._edges.values();return new R(function(){for(var e,t;;){if((e=r.next()).done)return e;if(t=e.value,!n||t.undirected===i)break}return{value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes],done:!1}})}function fe(e,t,n,i){var r=[],o=e?$:K;return"undirected"!==t&&("out"!==n&&o(r,i.in),"in"!==n&&o(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==t&&o(r,i.undirected),r}function pe(e,t,n,i,r){var o=e?Z:Q;"undirected"!==t&&("out"!==n&&o(i.in,r),"in"!==n&&o(i.out,r,n?null:i.key)),"directed"!==t&&o(i.undirected,r)}function ve(e,t,n,i,r){var o=e?ee:J;"undirected"!==t&&("out"!==n&&o(i.in,r)||"in"!==n&&o(i.out,r,n?null:i.key))||"directed"===t||o(i.undirected,r)}function ge(e,t,n){var i=R.empty();return"undirected"!==e&&("out"!==t&&void 0!==n.in&&(i=X(i,te(n.in))),"in"!==t&&void 0!==n.out&&(i=X(i,te(n.out,t?null:n.key)))),"directed"!==e&&void 0!==n.undirected&&(i=X(i,te(n.undirected))),i}function me(e,t,n,i,r){var o=t?ie:ne,a=[];return"undirected"!==e&&(void 0!==i.in&&"out"!==n&&o(a,i.in,r),void 0!==i.out&&"in"!==n&&o(a,i.out,r),!n&&i.directedSelfLoops>0&&a.splice(a.lastIndexOf(i.key),1)),"directed"!==e&&void 0!==i.undirected&&o(a,i.undirected,r),a}function ye(e,t,n,i,r,o){var a=t?oe:re;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o),i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o)),"directed"!==e&&void 0!==i.undirected&&a(i.undirected,r,o)}function be(e,t,n,i,r,o){var a=t?se:ae;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o)||i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o,n?null:i.key))||"directed"===e||void 0===i.undirected||a(i.undirected,r,o)}function _e(e,t,n,i){var r=R.empty();return"undirected"!==e&&(void 0!==n.in&&"out"!==t&&i in n.in&&(r=X(r,ue(n.in,i))),void 0!==n.out&&"in"!==t&&i in n.out&&(r=X(r,ue(n.out,i)))),"directed"!==e&&void 0!==n.undirected&&i in n.undirected&&(r=X(r,ue(n.undirected,i))),r}var we=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function ke(e,t){if(void 0!==t)for(var n in t)e.add(n)}function xe(e,t,n){if("mixed"!==e){if("undirected"===e)return Object.keys(n.undirected);if("string"==typeof t)return Object.keys(n[t])}var i=new Set;return"undirected"!==e&&("out"!==t&&ke(i,n.in),"in"!==t&&ke(i,n.out)),"directed"!==e&&ke(i,n.undirected),D(i.values(),i.size)}function Se(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;n(a.key,a.attributes)}}function Ce(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;e.has(s.key)||(e.add(s.key),i(s.key,s.attributes))}}function Ee(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;if(n(a.key,a.attributes))return!0}return!1}function Oe(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;if(!e.has(s.key)&&(e.add(s.key),i(s.key,s.attributes)))return!0}return!1}function Te(e,t){var n=Object.keys(t),i=n.length,r=0;return new R(function(){if(r>=i)return{done:!0};var o=t[n[r++]];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===e?o.target:a;return{done:!1,value:[s.key,s.attributes]}})}function Pe(e,t,n){var i=Object.keys(n),r=i.length,o=0;return new R(function a(){if(o>=r)return{done:!0};var s=n[i[o++]];s instanceof Set&&(s=s.values().next().value);var u=s.source,c=u===t?s.target:u;return e.has(c.key)?a():(e.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function Ae(e,t,n,i,r){var o=e._nodes.get(i);if("undirected"!==t){if("out"!==n&&void 0!==o.in)for(var a in o.in)if(a===r)return!0;if("in"!==n&&void 0!==o.out)for(var s in o.out)if(s===r)return!0}if("directed"!==t&&void 0!==o.undirected)for(var u in o.undirected)if(u===r)return!0;return!1}function Me(e,t,n){for(var i,r,o,a,s,u,c,l=t._nodes.values(),h=t.type;!0!==(i=l.next()).done;){if(r=i.value,"undirected"!==h)for(o in a=r.out)if(u=(s=a[o]).target,c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return;if("directed"!==h)for(o in a=r.undirected)if((u=(s=a[o]).target).key!==o&&(u=s.source),c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return}}function Ie(e,t,n){for(var i,r,o,a,s,u,c,l,h,d=t._nodes.values(),f=t.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==f)for(o in u=r.out)for(a=u[o].values();!0!==(s=a.next()).done;)if(l=(c=s.value).target,h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return;if("directed"!==f)for(o in u=r.undirected)for(a=u[o].values();!0!==(s=a.next()).done;)if((l=(c=s.value).target).key!==o&&(l=c.source),h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return}}function Re(e,t){var n={key:e};return d(t.attributes)||(n.attributes=u({},t.attributes)),n}function De(e,t){var n={source:t.source.key,target:t.target.key};return t.generatedKey||(n.key=e),d(t.attributes)||(n.attributes=u({},t.attributes)),t.undirected&&(n.undirected=!0),n}function Ne(e){return h(e)?"key"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?null:"invalid-attributes":"no-key":"not-object"}function Le(e){return h(e)?"source"in e?"target"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?"undirected"in e&&"boolean"!=typeof e.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var je=new Set(["directed","undirected","mixed"]),Fe=new Set(["domain","_events","_eventsCount","_maxListeners"]),Be={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Ve(e,t,n){var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}function ze(e,t,n,i,r,o,a,s){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s&&!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));if(o=""+o,a=""+a,s=s||{},!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var u=e._nodes.get(o),c=e._nodes.get(a);if(!u)throw new j("Graph.".concat(t,': source node "').concat(o,'" not found.'));if(!c)throw new j("Graph.".concat(t,': target node "').concat(a,'" not found.'));var l={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(l)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));if(!e.multi&&(i?void 0!==u.undirected[a]:void 0!==u.out[a]))throw new F("Graph.".concat(t,': an edge linking "').concat(o,'" to "').concat(a,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,u,c,s);return e._edges.set(r,d),o===a?i?(u.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(u.directedSelfLoops++,e._directedSelfLoopCount++):i?(u.undirectedDegree++,c.undirectedDegree++):(u.outDegree++,c.inDegree++),H(e,i,d,o,a,u,c),i?e._undirectedSize++:e._directedSize++,l.key=r,e.emit("edgeAdded",l),r}function Ue(e,t,n,i,r,o,a,s,c){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s)if(c){if("function"!=typeof s)throw new L("Graph.".concat(t,': invalid updater function. Expecting a function but got "').concat(s,'"'))}else if(!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));var l;if(o=""+o,a=""+a,c&&(l=s,s=void 0),!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,f,p=e._nodes.get(o),v=e._nodes.get(a);if(!n&&(d=e._edges.get(r))){if(d.source.key!==o||d.target.key!==a||i&&(d.source.key!==a||d.target.key!==o))throw new F("Graph.".concat(t,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(o,'" source & "').concat(a,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));f=d}if(f||e.multi||!p||(f=i?p.undirected[a]:p.out[a]),f)return(c?l:s)?(c?(f.attributes=l(f.attributes),e.emit("edgeAttributesUpdated",{type:"replace",key:f.key,attributes:f.attributes})):(u(f.attributes,s),e.emit("edgeAttributesUpdated",{type:"merge",key:f.key,attributes:f.attributes,data:s})),f.key):f.key;s=s||{},c&&l&&(s=l(s));var g={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(g)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));return p||(p=Ve(e,o,{}),o===a&&(v=p)),v||(v=Ve(e,a,{})),d=new U(i,r,n,p,v,s),e._edges.set(r,d),o===a?i?(p.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(p.directedSelfLoops++,e._directedSelfLoopCount++):i?(p.undirectedDegree++,v.undirectedDegree++):(p.outDegree++,v.inDegree++),H(e,i,d,o,a,p,v),i?e._undirectedSize++:e._directedSize++,g.key=r,e.emit("edgeAdded",g),r}var He,Ge=function(e){function n(t){var n;if(n=e.call(this)||this,(t=u({},Be,t)).edgeKeyGenerator&&"function"!=typeof t.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(t.edgeKeyGenerator,'".'));if("boolean"!=typeof t.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(t.multi,'".'));if(!je.has(t.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(t.type,'".'));if("boolean"!=typeof t.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(t.allowSelfLoops,'".'));var i,r="mixed"===t.type?B:"directed"===t.type?V:z;return f(s(n),"NodeDataClass",r),f(s(n),"_attributes",{}),f(s(n),"_nodes",new Map),f(s(n),"_edges",new Map),f(s(n),"_directedSize",0),f(s(n),"_undirectedSize",0),f(s(n),"_directedSelfLoopCount",0),f(s(n),"_undirectedSelfLoopCount",0),f(s(n),"_edgeKeyGenerator",t.edgeKeyGenerator||(i=0,function(){return i++})),f(s(n),"_options",t),Fe.forEach(function(e){return f(s(n),e,n[e])}),p(s(n),"order",function(){return n._nodes.size}),p(s(n),"size",function(){return n._edges.size}),p(s(n),"directedSize",function(){return n._directedSize}),p(s(n),"undirectedSize",function(){return n._undirectedSize}),p(s(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),p(s(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),p(s(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),p(s(n),"multi",n._options.multi),p(s(n),"type",n._options.type),p(s(n),"allowSelfLoops",n._options.allowSelfLoops),p(s(n),"implementation",function(){return"graphology"}),n}t(n,e);var i=n.prototype;return i.hasNode=function(e){return this._nodes.has(""+e)},i.hasDirectedEdge=function(e,t){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&!n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.out[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(e,t){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.undirected[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(e,t){if(1===arguments.length)return this._edges.has(""+e);if(2===arguments.length){t=""+t;var n=this._nodes.get(e=""+e);if(!n)return!1;var i=void 0!==n.out&&n.out[t];return i||(i=void 0!==n.undirected&&n.undirected[t]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(e,t){if("undirected"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.directedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(e,t){if("directed"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.undirected&&n.undirected[t]||void 0;return i?i.key:void 0}},i.edge=function(e,t){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");t=""+t;var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.edge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.edge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||n.undirected&&n.undirected[t]||void 0;if(i)return i.key},i.inDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(t?n.directedSelfLoops:0)},i.outDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(t?n.directedSelfLoops:0)},i.directedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(e,'" node in the graph.'));if("undirected"===this.type)return 0;var i=t?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(e,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(t?n.undirectedSelfLoops:0)},i.degree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.degree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.degree: could not find the "'.concat(e,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(t&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(t&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.source: could not find the "'.concat(e,'" edge in the graph.'));return t.source.key},i.target=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.target: could not find the "'.concat(e,'" edge in the graph.'));return t.target.key},i.extremities=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.extremities: could not find the "'.concat(e,'" edge in the graph.'));return[t.source.key,t.target.key]},i.opposite=function(e,t){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.opposite: could not find the "'.concat(t,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(e!==i&&e!==r)throw new j('Graph.opposite: the "'.concat(e,'" node is not attached to the "').concat(t,'" edge (').concat(i,", ").concat(r,")."));return e===i?r:i},i.hasExtremity=function(e,t){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(e,'" edge in the graph.'));return n.source.key===t||n.target.key===t},i.isUndirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isUndirected: could not find the "'.concat(e,'" edge in the graph.'));return t.undirected},i.isDirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isDirected: could not find the "'.concat(e,'" edge in the graph.'));return!t.undirected},i.isSelfLoop=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isSelfLoop: could not find the "'.concat(e,'" edge in the graph.'));return t.source===t.target},i.hasGeneratedKey=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(e,'" edge in the graph.'));return t.generatedKey},i.addNode=function(e,t){return function(e,t,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},e._nodes.has(t=""+t))throw new F('Graph.addNode: the "'.concat(t,'" node already exist in the graph.'));var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}(this,e,t).key},i.mergeNode=function(e,t){if(t&&!h(t))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(t,'"'));t=t||{};var n=this._nodes.get(e=""+e);return n?(t&&(u(n.attributes,t),this.emit("nodeAttributesUpdated",{type:"merge",key:e,attributes:n.attributes,data:t})),e):(n=new this.NodeDataClass(e,t),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:t}),e)},i.updateNode=function(e,t){if(t&&"function"!=typeof t)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(t,'"'));var n=this._nodes.get(e=""+e);if(n)return t&&(n.attributes=t(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:e,attributes:n.attributes})),e;var i=t?t({}):{};return n=new this.NodeDataClass(e,i),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:i}),e},i.dropNode=function(e){var t=this,n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(e,'" node in the graph.'));this.forEachEdge(e,function(e){t.dropEdge(e)}),this._nodes.delete(e),this.emit("nodeDropped",{key:e,attributes:n.attributes})},i.dropEdge=function(e){var t;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(t=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(t=this._edges.get(e=""+e)))throw new j('Graph.dropEdge: could not find the "'.concat(e,'" edge in the graph.'));this._edges.delete(t.key);var r=t.source,o=t.target,a=t.attributes,s=t.undirected;return r===o?s?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):s?(r.undirectedDegree--,o.undirectedDegree--):(r.outDegree--,o.inDegree--),G(this,s,t),s?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:e,attributes:a,source:r.key,target:o.key,undirected:s}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(e){return this._attributes[e]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(e){return this._attributes.hasOwnProperty(e)},i.setAttribute=function(e,t){return this._attributes[e]=t,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.updateAttribute=function(e,t){if("function"!=typeof t)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[e]=t(this._attributes[e]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.removeAttribute=function(e){return delete this._attributes[e],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:e}),this},i.replaceAttributes=function(e){if(!h(e))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=e,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(e){if(!h(e))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return u(this._attributes,e),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:e}),this},i.getNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes[t]},i.getNodeAttributes=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.getNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));return t.attributes},i.hasNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes.hasOwnProperty(t)},i.setNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[t]=n,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.updateNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,o=n(r[t]);return r[t]=o,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.removeNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return delete n.attributes[t],this.emit("nodeAttributesUpdated",{key:e,type:"remove",attributes:n.attributes,name:t}),this},i.replaceNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=t,this.emit("nodeAttributesUpdated",{key:e,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return u(n.attributes,t),this.emit("nodeAttributesUpdated",{key:e,type:"merge",attributes:n.attributes,data:t}),this},i.updateEachNodeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:t||null})},i.updateEachEdgeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:t||null})},i.forEach=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!1,this,e):Me(!1,this,e)},i.forEachUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!0,this,e):Me(!0,this,e)},i.adjacency=function(){return this.multi?(f=(u=this)._nodes.values(),p=u.type,v="outer",g=null,new R(function e(){var t;if("outer"===v)return!0===(t=f.next()).done?t:(c=t.value,v="directed",e());if("directed"===v)return"undirected"===p?(v="undirected",e()):(h=c.out,l=Object.keys(c.out),d=0,v="inner-directed",e());if("undirected"===v){if("directed"===p)return v="outer",e();h=c.undirected,l=Object.keys(c.undirected),d=0,v="inner-undirected"}if(!g&&d>=l.length)return v="inner-undirected"===v?"outer":"undirected",e();if(!g){var n=l[d++];return g=h[n].values(),e()}if((t=g.next()).done)return g=null,e();var i=t.value,r=i.target;return"inner-undirected"===v&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(o=(e=this)._nodes.values(),a=e.type,s="outer",new R(function e(){var u;if("outer"===s)return!0===(u=o.next()).done?u:(t=u.value,s="directed",e());if("directed"===s)return"undirected"===a?(s="undirected",e()):(i=t.out,n=Object.keys(t.out),r=0,s="inner-directed",e());if("undirected"===s){if("directed"===a)return s="outer",e();i=t.undirected,n=Object.keys(t.undirected),r=0,s="inner-undirected"}if(r>=n.length)return s="inner-undirected"===s?"outer":"undirected",e();var c=n[r++],l=i[c],h=l.target;return"inner-undirected"===s&&h.key===t.key&&(h=l.source),{done:!1,value:[t.key,h.key,t.attributes,h.attributes,l.key,l.attributes]}}));var e,t,n,i,r,o,a,s,u,c,l,h,d,f,p,v,g},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):D(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(t,n){e(n,t.attributes)})},i.forEachNodeUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");for(var t,n,i=this._nodes.values();!0!==(t=i.next())&&!e((n=t.value).key,n.attributes););},i.nodeEntries=function(){var e=this._nodes.values();return new R(function(){var t=e.next();if(t.done)return t;var n=t.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.exportNode: could not find the "'.concat(e,'" node in the graph.'));return Re(e,t)},i.exportEdge=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.exportEdge: could not find the "'.concat(e,'" edge in the graph.'));return De(e,t)},i.export=function(){var e=new Array(this._nodes.size),t=0;this._nodes.forEach(function(n,i){e[t++]=Re(i,n)});var n=new Array(this._edges.size);return t=0,this._edges.forEach(function(e,i){n[t++]=De(i,e)}),{attributes:this.getAttributes(),nodes:e,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ne(e);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=e.key,r=e.attributes,o=void 0===r?{}:r;return t?this.mergeNode(i,o):this.addNode(i,o),this},i.importEdge=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Le(e);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=e.source,r=e.target,o=e.attributes,a=void 0===o?{}:o,s=e.undirected,u=void 0!==s&&s;return"key"in e?(t?u?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:u?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,e.key,i,r,a):(t?u?this.mergeUndirectedEdge:this.mergeDirectedEdge:u?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,a),this},i.import=function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(l(e))return this.import(e.export(),r),this;if(!h(e))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(e.attributes){if(!h(e.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(e.attributes):this.replaceAttributes(e.attributes)}if(e.nodes){if(i=e.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(t=0,n=i.length;tn)){var a=new Set;a.add(t.undirected[o]),t.undirected[o]=a,e._nodes.get(o).undirected[n]=a}})),this;var e},i.clearIndex=function(){return this._nodes.forEach(function(e){void 0!==e.in&&(e.in={},e.out={}),void 0!==e.undirected&&(e.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var e=this,t={};this._nodes.forEach(function(e,n){t[n]=e.attributes});var n={},i={};this._edges.forEach(function(t,r){var o=t.undirected?"--":"->",a="",s="(".concat(t.source.key,")").concat(o,"(").concat(t.target.key,")");t.generatedKey?e.multi&&(void 0===i[s]?i[s]=0:i[s]++,a+="".concat(i[s],". ")):a+="[".concat(r,"]: "),n[a+=s]=t.attributes});var r={};for(var o in this)this.hasOwnProperty(o)&&!Fe.has(o)&&"function"!=typeof this[o]&&(r[o]=this[o]);return r.attributes=this._attributes,r.nodes=t,r.edges=n,f(r,"constructor",this.constructor),r},n}(m.exports.EventEmitter);"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ge.prototype.inspect),[{name:function(e){return"".concat(e,"Edge")},generateKey:!0},{name:function(e){return"".concat(e,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(e){return"".concat(e,"EdgeWithKey")}},{name:function(e){return"".concat(e,"DirectedEdgeWithKey")},type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(e){["add","merge","update"].forEach(function(t){var n=e.name(t),i="add"===t?ze:Ue;Ge.prototype[n]=e.generateKey?function(r,o,a){return i(this,n,!0,"undirected"===(e.type||this.type),null,r,o,a,"update"===t)}:function(r,o,a,s){return i(this,n,!1,"undirected"===(e.type||this.type),r,o,a,s,"update"===t)}})}),"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.iterator]=Ge.prototype.adjacency),He=Ge,W.forEach(function(e){var t=e.name,n=e.attacher;n(He,t("Edge"),"mixed"),n(He,t("DirectedEdge"),"directed"),n(He,t("UndirectedEdge"),"undirected")}),function(e){Y.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e,t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ce(this,r);if(1===arguments.length){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return fe(this.multi,"mixed"===r?this.type:r,o,n)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" target node in the graph.'));return me(r,this.multi,o,a,t)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return le(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return pe(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return ye(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return he(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return ve(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return be(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e,t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();if(!arguments.length)return de(this,n);if(1===arguments.length){var o=this._nodes.get(e=""+e);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return ge(n,i,o)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(r,': could not find the "').concat(t,'" target node in the graph.'));return _e(n,i,a,t)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(e,t)})}(Ge),function(e){we.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var t=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return Ae(this,r,o,t,n)}if(1===arguments.length){var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return xe("mixed"===r?this.type:r,o,a)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Se(n,n.undirected,i);if("string"==typeof t)return Se(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Ce(r,n,n.in,i),"in"!==t&&Ce(r,n,n.out,i)),"directed"!==e&&Ce(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Ee(n,n.undirected,i);if("string"==typeof t)return Ee(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Oe(r,n,n.in,i)||"in"!==t&&Oe(r,n,n.out,i))||"directed"===e||Oe(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();var t=this._nodes.get(e=""+e);if(void 0===t)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return function(e,t,n){if("mixed"!==e){if("undirected"===e)return Te(n,n.undirected);if("string"==typeof t)return Te(n,n[t])}var i=R.empty(),r=new Set;return"undirected"!==e&&("out"!==t&&(i=X(i,Pe(r,n,n.in))),"in"!==t&&(i=X(i,Pe(r,n,n.out)))),"directed"!==e&&(i=X(i,Pe(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,t)}}(e,t)})}(Ge);var We=function(e){function n(t){var n=u({type:"directed"},t);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),qe=function(e){function n(t){var n=u({type:"undirected"},t);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Xe=function(e){function n(t){var n=u({multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return e.call(this,n)||this}return t(n,e),n}(Ge),Ye=function(e){function n(t){var n=u({type:"directed",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Ke=function(e){function n(t){var n=u({type:"undirected",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge);function $e(e){e.from=function(t,n){var i=u({},t.options,n),r=new e(i);return r.import(t),r}}return $e(Ge),$e(We),$e(qe),$e(Xe),$e(Ye),$e(Ke),Ge.Graph=Ge,Ge.DirectedGraph=We,Ge.UndirectedGraph=qe,Ge.MultiGraph=Xe,Ge.MultiDirectedGraph=Ye,Ge.MultiUndirectedGraph=Ke,Ge.InvalidArgumentsGraphError=L,Ge.NotFoundGraphError=j,Ge.UsageGraphError=F,Ge}()},11524:function(e,t,n){var i;!function(r,o,a,s){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),h=Math.round,d=Math.abs,f=Date.now;function p(e,t,n){return setTimeout(w(e,n),t)}function v(e,t,n){return!!Array.isArray(e)&&(g(e,n[t],n),!0)}function g(e,t,n){var i;if(e)if(e.forEach)e.forEach(t,n);else if(e.length!==s)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(e===s||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n-1}function T(e){return e.trim().split(/\s+/g)}function P(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var i=0;in[t]}):i.sort()),i}function I(e,t){for(var n,i,r=t[0].toUpperCase()+t.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=G(t):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,u=a?a.center:o.center,c=t.center=W(i);t.timeStamp=f(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=K(u,c),t.distance=Y(u,c),function(e,t){var n=t.center,i=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};(1===t.eventType||4===o.eventType)&&(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=e.offsetDelta={x:n.x,y:n.y}),t.deltaX=r.x+(n.x-i.x),t.deltaY=r.y+(n.y-i.y)}(n,t),t.offsetDirection=X(t.deltaX,t.deltaY);var l=q(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=l.x,t.overallVelocityY=l.y,t.overallVelocity=d(l.x)>d(l.y)?l.x:l.y,t.scale=a?function(e,t){return Y(t[0],t[1],z)/Y(e[0],e[1],z)}(a.pointers,i):1,t.rotation=a?function(e,t){return K(t[1],t[0],z)+K(e[1],e[0],z)}(a.pointers,i):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,function(e,t){var n,i,r,o,a=e.lastInterval||t,u=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(u>25||a.velocity===s)){var c=t.deltaX-a.deltaX,l=t.deltaY-a.deltaY,h=q(u,c,l);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,o=X(c,l),e.lastInterval=t}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=i,t.velocityY=r,t.direction=o}(n,t);var h=e.element;E(t.srcEvent.target,h)&&(h=t.srcEvent.target),t.target=h}(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function G(e){for(var t=[],n=0;n=d(t)?e<0?2:4:t<0?8:16}function Y(e,t,n){n||(n=V);var i=t[n[0]]-e[n[0]],r=t[n[1]]-e[n[1]];return Math.sqrt(i*i+r*r)}function K(e,t,n){return n||(n=V),180*Math.atan2(t[n[1]]-e[n[1]],t[n[0]]-e[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(D(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(D(this.element),this.evWin,this.domHandler)}};var $={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(e){var t=$[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:B,srcEvent:e}))}});var ee={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},te={2:F,3:"pen",4:B,5:"kinect"},ne="pointerdown",ie="pointermove pointerup pointercancel";function re(){this.evEl=ne,this.evWin=ie,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(ne="MSPointerDown",ie="MSPointerMove MSPointerUp MSPointerCancel"),_(re,U,{handler:function(e){var t=this.store,n=!1,i=e.type.toLowerCase().replace("ms",""),r=ee[i],o=te[e.pointerType]||e.pointerType,a=o==F,s=P(t,e.pointerId,"pointerId");1&r&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&r&&(n=!0),!(s<0)&&(t[s]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var oe={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ae="touchstart",se="touchstart touchmove touchend touchcancel";function ue(){this.evTarget=ae,this.evWin=se,this.started=!1,U.apply(this,arguments)}function ce(e,t){var n=A(e.touches),i=A(e.changedTouches);return 12&t&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(ue,U,{handler:function(e){var t=oe[e.type];if(1===t&&(this.started=!0),this.started){var n=ce.call(this,e,t);12&t&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:e})}}});var le={touchstart:1,touchmove:2,touchend:4,touchcancel:8},he="touchstart touchmove touchend touchcancel";function de(){this.evTarget=he,this.targetIds={},U.apply(this,arguments)}function fe(e,t){var n=A(e.touches),i=this.targetIds;if(3&t&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=A(e.changedTouches),s=[],u=this.target;if(o=n.filter(function(e){return E(e.target,u)}),1===t)for(r=0;r-1&&i.splice(e,1)},2500)}}function me(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,n=this.state;function i(n){t.manager.emit(n,e)}n<8&&i(t.options.event+Te(n)),i(t.options.event),e.additionalEvent&&i(e.additionalEvent),n>=8&&i(t.options.event+Te(n))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;et.threshold&&r&t.direction},attrTest:function(e){return Me.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Pe(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),_(Re,Me,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(e.scale<1?"in":"out")),this._super.emit.call(this,e)}}),_(De,Oe,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distancet.time;if(this._input=e,!i||!n||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=p(function(){this.state=8,this.tryEmit()},t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),_(Ne,Me,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),_(Le,Me,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ie.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return 30&n?t=e.overallVelocity:6&n?t=e.overallVelocityX:24&n&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&d(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Pe(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),_(je,Oe,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[we]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distance"']/g,q=RegExp(G.source),X=RegExp(W.source),Y=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ee=/[\\^$.*+?()[\]{}|]/g,te=RegExp(ee.source),ne=/^\s+/,ie=/\s/,re=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,se=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ue=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,le=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,de=/^[-+]0x[0-9a-f]+$/i,fe=/^0b[01]+$/i,pe=/^\[object .+?Constructor\]$/,ve=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,be=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",we="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",ke="\\u2700-\\u27bf",xe="a-z\\xdf-\\xf6\\xf8-\\xff",Se="A-Z\\xc0-\\xd6\\xd8-\\xde",Ce="\\ufe0e\\ufe0f",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Oe="["+_e+"]",Te="["+Ee+"]",Pe="["+we+"]",Ae="\\d+",Me="["+ke+"]",Ie="["+xe+"]",Re="[^"+_e+Ee+Ae+ke+xe+Se+"]",De="\\ud83c[\\udffb-\\udfff]",Ne="[^"+_e+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",je="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Se+"]",Be="(?:"+Ie+"|"+Re+")",Ve="(?:"+Fe+"|"+Re+")",ze="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ue="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",He="(?:"+Pe+"|"+De+")?",Ge="["+Ce+"]?",We=Ge+He+"(?:\\u200d(?:"+[Ne,Le,je].join("|")+")"+Ge+He+")*",qe="(?:"+[Me,Le,je].join("|")+")"+We,Xe="(?:"+[Ne+Pe+"?",Pe,Le,je,Oe].join("|")+")",Ye=RegExp("['\u2019]","g"),Ke=RegExp(Pe,"g"),$e=RegExp(De+"(?="+De+")|"+Xe+We,"g"),Qe=RegExp([Fe+"?"+Ie+"+"+ze+"(?="+[Te,Fe,"$"].join("|")+")",Ve+"+"+Ue+"(?="+[Te,Fe+Be,"$"].join("|")+")",Fe+"?"+Be+"+"+ze,Fe+"+"+Ue,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ae,qe].join("|"),"g"),Ze=RegExp("[\\u200d"+_e+we+Ce+"]"),Je=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,et=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],tt=-1,nt={};nt[I]=nt[R]=nt[D]=nt[N]=nt[L]=nt[j]=nt[F]=nt[B]=nt[V]=!0,nt[p]=nt[v]=nt[A]=nt[g]=nt[M]=nt[m]=nt[y]=nt[b]=nt[w]=nt[k]=nt[x]=nt[C]=nt[E]=nt[O]=nt[P]=!1;var it={};it[p]=it[v]=it[A]=it[M]=it[g]=it[m]=it[I]=it[R]=it[D]=it[N]=it[L]=it[w]=it[k]=it[x]=it[C]=it[E]=it[O]=it[T]=it[j]=it[F]=it[B]=it[V]=!0,it[y]=it[b]=it[P]=!1;var rt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ot=parseFloat,at=parseInt,st="object"==typeof global&&global&&global.Object===Object&&global,ut="object"==typeof self&&self&&self.Object===Object&&self,ct=st||ut||Function("return this")(),lt=t&&!t.nodeType&&t,ht=lt&&e&&!e.nodeType&&e,dt=ht&&ht.exports===lt,ft=dt&&st.process,pt=function(){try{return ht&&ht.require&&ht.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),vt=pt&&pt.isArrayBuffer,gt=pt&&pt.isDate,mt=pt&&pt.isMap,yt=pt&&pt.isRegExp,bt=pt&&pt.isSet,_t=pt&&pt.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Tt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function Qt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}function Zt(e,t){for(var n=e.length,i=0;n--;)e[n]===t&&++i;return i}var Jt=Ut({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),en=Ut({"&":"&","<":"<",">":">",'"':""","'":"'"});function tn(e){return"\\"+rt[e]}function nn(e){return Ze.test(e)}function rn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function on(e,t){return function(n){return e(t(n))}}function an(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"}),dn=function e(t){var n,i=(t=null==t?ct:dn.defaults(ct.Object(),t,dn.pick(ct,et))).Array,ie=t.Date,_e=t.Error,we=t.Function,ke=t.Math,xe=t.Object,Se=t.RegExp,Ce=t.String,Ee=t.TypeError,Oe=i.prototype,Te=xe.prototype,Pe=t["__core-js_shared__"],Ae=we.prototype.toString,Me=Te.hasOwnProperty,Ie=0,Re=(n=/[^.]+$/.exec(Pe&&Pe.keys&&Pe.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=Te.toString,Ne=Ae.call(xe),Le=ct._,je=Se("^"+Ae.call(Me).replace(ee,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fe=dt?t.Buffer:r,Be=t.Symbol,Ve=t.Uint8Array,ze=Fe?Fe.allocUnsafe:r,Ue=on(xe.getPrototypeOf,xe),He=xe.create,Ge=Te.propertyIsEnumerable,We=Oe.splice,qe=Be?Be.isConcatSpreadable:r,Xe=Be?Be.iterator:r,$e=Be?Be.toStringTag:r,Ze=function(){try{var e=ao(xe,"defineProperty");return e({},"",{}),e}catch(Io){}}(),rt=t.clearTimeout!==ct.clearTimeout&&t.clearTimeout,st=ie&&ie.now!==ct.Date.now&&ie.now,ut=t.setTimeout!==ct.setTimeout&&t.setTimeout,lt=ke.ceil,ht=ke.floor,ft=xe.getOwnPropertySymbols,pt=Fe?Fe.isBuffer:r,Dt=t.isFinite,Ut=Oe.join,fn=on(xe.keys,xe),pn=ke.max,vn=ke.min,gn=ie.now,mn=t.parseInt,yn=ke.random,bn=Oe.reverse,_n=ao(t,"DataView"),wn=ao(t,"Map"),kn=ao(t,"Promise"),xn=ao(t,"Set"),Sn=ao(t,"WeakMap"),Cn=ao(xe,"create"),En=Sn&&new Sn,On={},Tn=Lo(_n),Pn=Lo(wn),An=Lo(kn),Mn=Lo(xn),In=Lo(Sn),Rn=Be?Be.prototype:r,Dn=Rn?Rn.valueOf:r,Nn=Rn?Rn.toString:r;function Ln(e){if(Ja(e)&&!Ua(e)&&!(e instanceof Vn)){if(e instanceof Bn)return e;if(Me.call(e,"__wrapped__"))return jo(e)}return new Bn(e)}var jn=function(){function e(){}return function(t){if(!Za(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Fn(){}function Bn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function ri(e,t,n,i,o,a){var s,u=1&t,c=2&t,l=4&t;if(n&&(s=o?n(e,i,o,a):n(e)),s!==r)return s;if(!Za(e))return e;var h=Ua(e);if(h){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Me.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Sr(e,s)}else{var d=co(e),f=d==b||d==_;if(qa(e))return yr(e,u);if(d==x||d==p||f&&!o){if(s=c||f?{}:ho(e),!u)return c?function(e,t){return Cr(e,uo(e),t)}(e,function(e,t){return e&&Cr(t,As(t),e)}(s,e)):function(e,t){return Cr(e,so(e),t)}(e,ei(s,e))}else{if(!it[d])return o?e:{};s=function(e,t,n){var i=e.constructor;switch(t){case A:return br(e);case g:case m:return new i(+e);case M:return function(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case I:case R:case D:case N:case L:case j:case F:case B:case V:return _r(e,n);case w:return new i;case k:case O:return new i(e);case C:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case E:return new i;case T:return function(e){return Dn?xe(Dn.call(e)):{}}(e)}}(e,d,u)}}a||(a=new Wn);var v=a.get(e);if(v)return v;a.set(e,s),rs(e)?e.forEach(function(i){s.add(ri(i,t,n,i,e,a))}):es(e)&&e.forEach(function(i,r){s.set(r,ri(i,t,n,r,e,a))});var y=h?r:(l?c?Jr:Zr:c?As:Ps)(e);return xt(y||e,function(i,r){y&&(i=e[r=i]),Qn(s,r,ri(i,t,n,r,e,a))}),s}function oi(e,t,n){var i=n.length;if(null==e)return!i;for(e=xe(e);i--;){var o=n[i],a=e[o];if(a===r&&!(o in e)||!(0,t[o])(a))return!1}return!0}function ai(e,t,n){if("function"!=typeof e)throw new Ee(o);return Oo(function(){e.apply(r,n)},t)}function si(e,t,n,i){var r=-1,o=Ot,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=Pt(t,Xt(n))),i?(o=Tt,a=!1):t.length>=200&&(o=Kt,a=!1,t=new Gn(t));e:for(;++r-1},Un.prototype.set=function(e,t){var n=this.__data__,i=Zn(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(e){var t=ro(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return ro(this,e).get(e)},Hn.prototype.has=function(e){return ro(this,e).has(e)},Hn.prototype.set=function(e,t){var n=ro(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Gn.prototype.add=Gn.prototype.push=function(e){return this.__data__.set(e,a),this},Gn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.clear=function(){this.__data__=new Un,this.size=0},Wn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Wn.prototype.get=function(e){return this.__data__.get(e)},Wn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(e,t),this.size=n.size,this};var ui=Tr(gi),ci=Tr(mi,!0);function li(e,t){var n=!0;return ui(e,function(e,i,r){return n=!!t(e,i,r)}),n}function hi(e,t,n){for(var i=-1,o=e.length;++i0&&n(s)?t>1?fi(s,t-1,n,i,r):At(r,s):i||(r[r.length]=s)}return r}var pi=Pr(),vi=Pr(!0);function gi(e,t){return e&&pi(e,t,Ps)}function mi(e,t){return e&&vi(e,t,Ps)}function yi(e,t){return Et(t,function(t){return Ka(e[t])})}function bi(e,t){for(var n=0,i=(t=pr(t,e)).length;null!=e&&nt}function xi(e,t){return null!=e&&Me.call(e,t)}function Si(e,t){return null!=e&&t in xe(e)}function Ci(e,t,n){for(var o=n?Tt:Ot,a=e[0].length,s=e.length,u=s,c=i(s),l=1/0,h=[];u--;){var d=e[u];u&&t&&(d=Pt(d,Xt(t))),l=vn(d.length,l),c[u]=!n&&(t||a>=120&&d.length>=120)?new Gn(u&&d):r}d=e[0];var f=-1,p=c[0];e:for(;++f=s?u:u*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)});i--;)e[i]=e[i].value;return e}(Di(e,function(e,n,r){return{criteria:Pt(t,function(t){return t(e)}),index:++i,value:e}}))}function Vi(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)s!==e&&We.call(s,u,1),We.call(e,u,1);return e}function Ui(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;po(r)?We.call(e,r,1):ar(e,r)}}return e}function Hi(e,t){return e+ht(yn()*(t-e+1))}function Gi(e,t){var n="";if(!e||t<1||t>h)return n;do{t%2&&(n+=e),(t=ht(t/2))&&(e+=e)}while(t);return n}function Wi(e,t){return To(ko(e,t,tu),e+"")}function qi(e){return Xn(Fs(e))}function Xi(e,t){var n=Fs(e);return Mo(n,ii(t,0,n.length))}function Yi(e,t,n,i){if(!Za(e))return e;for(var o=-1,a=(t=pr(t,e)).length,s=a-1,u=e;null!=u&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=i(o);++r>>1,a=e[o];null!==a&&!as(a)&&(n?a<=t:a=200){var c=t?null:Gr(e);if(c)return sn(c);a=!1,r=Kt,u=new Gn}else u=t?[]:s;e:for(;++i=i?e:Zi(e,t,n)}var mr=rt||function(e){return ct.clearTimeout(e)};function yr(e,t){if(t)return e.slice();var n=e.length,i=ze?ze(n):new e.constructor(n);return e.copy(i),i}function br(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function _r(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,a=as(e),s=t!==r,u=null===t,c=t==t,l=as(t);if(!u&&!l&&!a&&e>t||a&&s&&c&&!u&&!l||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!l&&e1?n[o-1]:r,s=o>2?n[2]:r;for(a=e.length>3&&"function"==typeof a?(o--,a):r,s&&vo(n[0],n[1],s)&&(a=o<3?r:a,o=1),t=xe(t);++i-1?o[a?t[s]:s]:r}}function Dr(e){return Qr(function(t){var n=t.length,i=n,a=Bn.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new Ee(o);if(a&&!u&&"wrapper"==to(s))var u=new Bn([],!0)}for(i=u?i:n;++i1&&b.reverse(),f&&hu))return!1;var l=a.get(e),h=a.get(t);if(l&&h)return l==t&&h==e;var d=-1,f=!0,p=2&n?new Gn:r;for(a.set(e,t),a.set(t,e);++d-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(re,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return xt(f,function(n){var i="_."+n[0];t&n[1]&&!Ot(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ae):[]}(i),n)))}function Ao(e){var t=0,n=0;return function(){var i=gn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Mo(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,ia(e,n)});function la(e){var t=Ln(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var da=Qr(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ni(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Vn&&po(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:r}),new Bn(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(r),e})):this.thru(o)}),fa=Er(function(e,t,n){Me.call(e,n)?++e[n]:ti(e,n,1)}),pa=Rr(zo),va=Rr(Uo);function ga(e,t){return(Ua(e)?xt:ui)(e,io(t,3))}function ma(e,t){return(Ua(e)?St:ci)(e,io(t,3))}var ya=Er(function(e,t,n){Me.call(e,n)?e[n].push(t):ti(e,n,[t])}),ba=Wi(function(e,t,n){var r=-1,o="function"==typeof t,a=Ga(e)?i(e.length):[];return ui(e,function(e){a[++r]=o?wt(t,e,n):Ei(e,t,n)}),a}),_a=Er(function(e,t,n){ti(e,n,t)});function wa(e,t){return(Ua(e)?Pt:Di)(e,io(t,3))}var ka=Er(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),xa=Wi(function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Bi(e,fi(t,1),[])}),Sa=st||function(){return ct.Date.now()};function Ca(e,t,n){return t=n?r:t,qr(e,c,r,r,r,r,t=e&&null==t?e.length:t)}function Ea(e,t){var n;if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Oa=Wi(function(e,t,n){var i=1;if(n.length){var r=an(n,no(Oa));i|=u}return qr(e,i,t,n,r)}),Ta=Wi(function(e,t,n){var i=3;if(n.length){var r=an(n,no(Ta));i|=u}return qr(t,i,e,n,r)});function Pa(e,t,n){var i,a,s,u,c,l,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new Ee(o);function v(t){var n=i,o=a;return i=a=r,h=t,u=e.apply(o,n)}function g(e){return h=e,c=Oo(y,t),d?v(e):u}function m(e){var n=e-l;return l===r||n>=t||n<0||f&&e-h>=s}function y(){var e=Sa();if(m(e))return b(e);c=Oo(y,function(e){var n=t-(e-l);return f?vn(n,s-(e-h)):n}(e))}function b(e){return c=r,p&&i?v(e):(i=a=r,u)}function _(){var e=Sa(),n=m(e);if(i=arguments,a=this,l=e,n){if(c===r)return g(l);if(f)return mr(c),c=Oo(y,t),v(l)}return c===r&&(c=Oo(y,t)),u}return t=ps(t)||0,Za(n)&&(d=!!n.leading,s=(f="maxWait"in n)?pn(ps(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),_.cancel=function(){c!==r&&mr(c),h=0,i=l=a=c=r},_.flush=function(){return c===r?u:b(Sa())},_}var Aa=Wi(function(e,t){return ai(e,1,t)}),Ma=Wi(function(e,t,n){return ai(e,ps(t)||0,n)});function Ia(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Ee(o);var n=function n(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=e.apply(this,i);return n.cache=o.set(r,a)||o,a};return n.cache=new(Ia.Cache||Hn),n}function Ra(e){if("function"!=typeof e)throw new Ee(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ia.Cache=Hn;var Da=vr(function(e,t){var n=(t=1==t.length&&Ua(t[0])?Pt(t[0],Xt(io())):Pt(fi(t,1),Xt(io()))).length;return Wi(function(i){for(var r=-1,o=vn(i.length,n);++r=t}),za=Oi(function(){return arguments}())?Oi:function(e){return Ja(e)&&Me.call(e,"callee")&&!Ge.call(e,"callee")},Ua=i.isArray,Ha=vt?Xt(vt):function(e){return Ja(e)&&wi(e)==A};function Ga(e){return null!=e&&Qa(e.length)&&!Ka(e)}function Wa(e){return Ja(e)&&Ga(e)}var qa=pt||pu,Xa=gt?Xt(gt):function(e){return Ja(e)&&wi(e)==m};function Ya(e){if(!Ja(e))return!1;var t=wi(e);return t==y||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!ns(e)}function Ka(e){if(!Za(e))return!1;var t=wi(e);return t==b||t==_||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $a(e){return"number"==typeof e&&e==ds(e)}function Qa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function Za(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ja(e){return null!=e&&"object"==typeof e}var es=mt?Xt(mt):function(e){return Ja(e)&&co(e)==w};function ts(e){return"number"==typeof e||Ja(e)&&wi(e)==k}function ns(e){if(!Ja(e)||wi(e)!=x)return!1;var t=Ue(e);if(null===t)return!0;var n=Me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ae.call(n)==Ne}var is=yt?Xt(yt):function(e){return Ja(e)&&wi(e)==C},rs=bt?Xt(bt):function(e){return Ja(e)&&co(e)==E};function os(e){return"string"==typeof e||!Ua(e)&&Ja(e)&&wi(e)==O}function as(e){return"symbol"==typeof e||Ja(e)&&wi(e)==T}var ss=_t?Xt(_t):function(e){return Ja(e)&&Qa(e.length)&&!!nt[wi(e)]},us=zr(Ri),cs=zr(function(e,t){return e<=t});function ls(e){if(!e)return[];if(Ga(e))return os(e)?cn(e):Sr(e);if(Xe&&e[Xe])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Xe]());var t=co(e);return(t==w?rn:t==E?sn:Fs)(e)}function hs(e){return e?(e=ps(e))===l||e===-l?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ds(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function fs(e){return e?ii(ds(e),0,d):0}function ps(e){if("number"==typeof e)return e;if(as(e))return NaN;if(Za(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Za(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=qt(e);var n=fe.test(e);return n||ve.test(e)?at(e.slice(2),n?2:8):de.test(e)?NaN:+e}function vs(e){return Cr(e,As(e))}function gs(e){return null==e?"":rr(e)}var ms=Or(function(e,t){if(bo(t)||Ga(t))Cr(t,Ps(t),e);else for(var n in t)Me.call(t,n)&&Qn(e,n,t[n])}),ys=Or(function(e,t){Cr(t,As(t),e)}),bs=Or(function(e,t,n,i){Cr(t,As(t),e,i)}),_s=Or(function(e,t,n,i){Cr(t,Ps(t),e,i)}),ws=Qr(ni),ks=Wi(function(e,t){e=xe(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&vo(t[0],t[1],o)&&(i=1);++n1),t}),Cr(e,Jr(e),n),i&&(n=ri(n,7,Kr));for(var r=t.length;r--;)ar(n,t[r]);return n}),Ds=Qr(function(e,t){return null==e?{}:function(e,t){return Vi(e,t,function(t,n){return Cs(e,n)})}(e,t)});function Ns(e,t){if(null==e)return{};var n=Pt(Jr(e),function(e){return[e]});return t=io(t),Vi(e,n,function(e,n){return t(e,n[0])})}var Ls=Wr(Ps),js=Wr(As);function Fs(e){return null==e?[]:Yt(e,Ps(e))}var Bs=Mr(function(e,t,n){return t=t.toLowerCase(),e+(n?Vs(t):t)});function Vs(e){return Ys(gs(e).toLowerCase())}function zs(e){return(e=gs(e))&&e.replace(me,Jt).replace(Ke,"")}var Us=Mr(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Hs=Mr(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Gs=Ar("toLowerCase"),Ws=Mr(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),qs=Mr(function(e,t,n){return e+(n?" ":"")+Ys(t)}),Xs=Mr(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Ys=Ar("toUpperCase");function Ks(e,t,n){return e=gs(e),(t=n?r:t)===r?function(e){return Je.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(se)||[]}(e):e.match(t)||[]}var $s=Wi(function(e,t){try{return wt(e,r,t)}catch(Ro){return Ya(Ro)?Ro:new _e(Ro)}}),Qs=Qr(function(e,t){return xt(t,function(t){t=No(t),ti(e,t,Oa(e[t],e))}),e});function Zs(e){return function(){return e}}var Js=Dr(),eu=Dr(!0);function tu(e){return e}function nu(e){return Mi("function"==typeof e?e:ri(e,1))}var iu=Wi(function(e,t){return function(n){return Ei(n,e,t)}}),ru=Wi(function(e,t){return function(n){return Ei(e,n,t)}});function ou(e,t,n){var i=Ps(t),r=yi(t,i);null==n&&(!Za(t)||!r.length&&i.length)&&(n=t,t=e,e=this,r=yi(t,Ps(t)));var o=!(Za(n)&&"chain"in n&&!n.chain),a=Ka(e);return xt(r,function(n){var i=t[n];e[n]=i,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),r=n.__actions__=Sr(this.__actions__);return r.push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,At([this.value()],arguments))})}),e}function au(){}var su=Fr(Pt),uu=Fr(Ct),cu=Fr(Rt);function lu(e){return go(e)?zt(No(e)):function(e){return function(t){return bi(t,e)}}(e)}var hu=Vr(),du=Vr(!0);function fu(){return[]}function pu(){return!1}var vu=jr(function(e,t){return e+t},0),gu=Hr("ceil"),mu=jr(function(e,t){return e/t},1),yu=Hr("floor"),bu=jr(function(e,t){return e*t},1),_u=Hr("round"),wu=jr(function(e,t){return e-t},0);return Ln.after=function(e,t){if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){if(--e<1)return t.apply(this,arguments)}},Ln.ary=Ca,Ln.assign=ms,Ln.assignIn=ys,Ln.assignInWith=bs,Ln.assignWith=_s,Ln.at=ws,Ln.before=Ea,Ln.bind=Oa,Ln.bindAll=Qs,Ln.bindKey=Ta,Ln.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Ln.chain=la,Ln.chunk=function(e,t,n){t=(n?vo(e,t,n):t===r)?1:pn(ds(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,u=i(lt(o/t));ao?0:o+n),(i=i===r||i>o?o:ds(i))<0&&(i+=o),i=n>i?0:fs(i);n>>0)?(e=gs(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=rr(t))&&nn(e)?gr(cn(e),0,n):e.split(t,n):[]},Ln.spread=function(e,t){if("function"!=typeof e)throw new Ee(o);return t=null==t?0:pn(ds(t),0),Wi(function(n){var i=n[t],r=gr(n,0,t);return i&&At(r,i),wt(e,this,r)})},Ln.tail=function(e){var t=null==e?0:e.length;return t?Zi(e,1,t):[]},Ln.take=function(e,t,n){return e&&e.length?Zi(e,0,(t=n||t===r?1:ds(t))<0?0:t):[]},Ln.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Zi(e,(t=i-(t=n||t===r?1:ds(t)))<0?0:t,i):[]},Ln.takeRightWhile=function(e,t){return e&&e.length?ur(e,io(t,3),!1,!0):[]},Ln.takeWhile=function(e,t){return e&&e.length?ur(e,io(t,3)):[]},Ln.tap=function(e,t){return t(e),e},Ln.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Ee(o);return Za(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Pa(e,t,{leading:i,maxWait:t,trailing:r})},Ln.thru=ha,Ln.toArray=ls,Ln.toPairs=Ls,Ln.toPairsIn=js,Ln.toPath=function(e){return Ua(e)?Pt(e,No):as(e)?[e]:Sr(Do(gs(e)))},Ln.toPlainObject=vs,Ln.transform=function(e,t,n){var i=Ua(e),r=i||qa(e)||ss(e);if(t=io(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Za(e)&&Ka(o)?jn(Ue(e)):{}}return(r?xt:gi)(e,function(e,i,r){return t(n,e,i,r)}),n},Ln.unary=function(e){return Ca(e,1)},Ln.union=Jo,Ln.unionBy=ea,Ln.unionWith=ta,Ln.uniq=function(e){return e&&e.length?or(e):[]},Ln.uniqBy=function(e,t){return e&&e.length?or(e,io(t,2)):[]},Ln.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?or(e,r,t):[]},Ln.unset=function(e,t){return null==e||ar(e,t)},Ln.unzip=na,Ln.unzipWith=ia,Ln.update=function(e,t,n){return null==e?e:sr(e,t,fr(n))},Ln.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:sr(e,t,fr(n),i)},Ln.values=Fs,Ln.valuesIn=function(e){return null==e?[]:Yt(e,As(e))},Ln.without=ra,Ln.words=Ks,Ln.wrap=function(e,t){return Na(fr(t),e)},Ln.xor=oa,Ln.xorBy=aa,Ln.xorWith=sa,Ln.zip=ua,Ln.zipObject=function(e,t){return hr(e||[],t||[],Qn)},Ln.zipObjectDeep=function(e,t){return hr(e||[],t||[],Yi)},Ln.zipWith=ca,Ln.entries=Ls,Ln.entriesIn=js,Ln.extend=ys,Ln.extendWith=bs,ou(Ln,Ln),Ln.add=vu,Ln.attempt=$s,Ln.camelCase=Bs,Ln.capitalize=Vs,Ln.ceil=gu,Ln.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=ps(n))==n?n:0),t!==r&&(t=(t=ps(t))==t?t:0),ii(ps(e),t,n)},Ln.clone=function(e){return ri(e,4)},Ln.cloneDeep=function(e){return ri(e,5)},Ln.cloneDeepWith=function(e,t){return ri(e,5,t="function"==typeof t?t:r)},Ln.cloneWith=function(e,t){return ri(e,4,t="function"==typeof t?t:r)},Ln.conformsTo=function(e,t){return null==t||oi(e,t,Ps(t))},Ln.deburr=zs,Ln.defaultTo=function(e,t){return null==e||e!=e?t:e},Ln.divide=mu,Ln.endsWith=function(e,t,n){e=gs(e),t=rr(t);var i=e.length,o=n=n===r?i:ii(ds(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},Ln.eq=Fa,Ln.escape=function(e){return(e=gs(e))&&X.test(e)?e.replace(W,en):e},Ln.escapeRegExp=function(e){return(e=gs(e))&&te.test(e)?e.replace(ee,"\\$&"):e},Ln.every=function(e,t,n){var i=Ua(e)?Ct:li;return n&&vo(e,t,n)&&(t=r),i(e,io(t,3))},Ln.find=pa,Ln.findIndex=zo,Ln.findKey=function(e,t){return Nt(e,io(t,3),gi)},Ln.findLast=va,Ln.findLastIndex=Uo,Ln.findLastKey=function(e,t){return Nt(e,io(t,3),mi)},Ln.floor=yu,Ln.forEach=ga,Ln.forEachRight=ma,Ln.forIn=function(e,t){return null==e?e:pi(e,io(t,3),As)},Ln.forInRight=function(e,t){return null==e?e:vi(e,io(t,3),As)},Ln.forOwn=function(e,t){return e&&gi(e,io(t,3))},Ln.forOwnRight=function(e,t){return e&&mi(e,io(t,3))},Ln.get=Ss,Ln.gt=Ba,Ln.gte=Va,Ln.has=function(e,t){return null!=e&&lo(e,t,xi)},Ln.hasIn=Cs,Ln.head=Go,Ln.identity=tu,Ln.includes=function(e,t,n,i){e=Ga(e)?e:Fs(e),n=n&&!i?ds(n):0;var r=e.length;return n<0&&(n=pn(r+n,0)),os(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&jt(e,t,n)>-1},Ln.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:ds(n);return r<0&&(r=pn(i+r,0)),jt(e,t,r)},Ln.inRange=function(e,t,n){return t=hs(t),n===r?(n=t,t=0):n=hs(n),function(e,t,n){return e>=vn(t,n)&&e=-h&&e<=h},Ln.isSet=rs,Ln.isString=os,Ln.isSymbol=as,Ln.isTypedArray=ss,Ln.isUndefined=function(e){return e===r},Ln.isWeakMap=function(e){return Ja(e)&&co(e)==P},Ln.isWeakSet=function(e){return Ja(e)&&"[object WeakSet]"==wi(e)},Ln.join=function(e,t){return null==e?"":Ut.call(e,t)},Ln.kebabCase=Us,Ln.last=Yo,Ln.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=ds(n))<0?pn(i+o,0):vn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):Lt(e,Bt,o,!0)},Ln.lowerCase=Hs,Ln.lowerFirst=Gs,Ln.lt=us,Ln.lte=cs,Ln.max=function(e){return e&&e.length?hi(e,tu,ki):r},Ln.maxBy=function(e,t){return e&&e.length?hi(e,io(t,2),ki):r},Ln.mean=function(e){return Vt(e,tu)},Ln.meanBy=function(e,t){return Vt(e,io(t,2))},Ln.min=function(e){return e&&e.length?hi(e,tu,Ri):r},Ln.minBy=function(e,t){return e&&e.length?hi(e,io(t,2),Ri):r},Ln.stubArray=fu,Ln.stubFalse=pu,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=bu,Ln.nth=function(e,t){return e&&e.length?Fi(e,ds(t)):r},Ln.noConflict=function(){return ct._===this&&(ct._=Le),this},Ln.noop=au,Ln.now=Sa,Ln.pad=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Br(ht(r),n)+e+Br(lt(r),n)},Ln.padEnd=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var o=yn();return vn(e+o*(t-e+ot("1e-"+((o+"").length-1))),t)}return Hi(e,t)},Ln.reduce=function(e,t,n){var i=Ua(e)?Mt:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ui)},Ln.reduceRight=function(e,t,n){var i=Ua(e)?It:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ci)},Ln.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===r)?1:ds(t),Gi(gs(e),t)},Ln.replace=function(){var e=arguments,t=gs(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Ln.result=function(e,t,n){var i=-1,o=(t=pr(t,e)).length;for(o||(o=1,e=r);++ih)return[];var n=d,i=vn(e,d);t=io(t),e-=d;for(var r=Wt(i,t);++n=a)return e;var u=n-un(i);if(u<1)return i;var c=s?gr(s,0,u).join(""):e.slice(0,u);if(o===r)return c+i;if(s&&(u+=c.length-u),is(o)){if(e.slice(u).search(o)){var l,h=c;for(o.global||(o=Se(o.source,gs(he.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var d=l.index;c=c.slice(0,d===r?u:d)}}else if(e.indexOf(rr(o),u)!=u){var f=c.lastIndexOf(o);f>-1&&(c=c.slice(0,f))}return c+i},Ln.unescape=function(e){return(e=gs(e))&&q.test(e)?e.replace(G,hn):e},Ln.uniqueId=function(e){var t=++Ie;return gs(e)+t},Ln.upperCase=Xs,Ln.upperFirst=Ys,Ln.each=ga,Ln.eachRight=ma,Ln.first=Go,ou(Ln,function(){var e={};return gi(Ln,function(t,n){Me.call(Ln.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),Ln.VERSION="4.17.21",xt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){Ln[e].placeholder=Ln}),xt(["drop","take"],function(e,t){Vn.prototype[e]=function(n){n=n===r?1:pn(ds(n),0);var i=this.__filtered__&&!t?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=vn(n,i.__takeCount__):i.__views__.push({size:vn(n,d),type:e+(i.__dir__<0?"Right":"")}),i},Vn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),xt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=1==n||3==n;Vn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:io(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),xt(["head","last"],function(e,t){var n="take"+(t?"Right":"");Vn.prototype[e]=function(){return this[n](1).value()[0]}}),xt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");Vn.prototype[e]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(tu)},Vn.prototype.find=function(e){return this.filter(e).head()},Vn.prototype.findLast=function(e){return this.reverse().find(e)},Vn.prototype.invokeMap=Wi(function(e,t){return"function"==typeof e?new Vn(this):this.map(function(n){return Ei(n,e,t)})}),Vn.prototype.reject=function(e){return this.filter(Ra(io(e)))},Vn.prototype.slice=function(e,t){e=ds(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Vn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=ds(t))<0?n.dropRight(-t):n.take(t-e)),n)},Vn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vn.prototype.toArray=function(){return this.take(d)},gi(Vn.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=Ln[i?"take"+("last"==t?"Right":""):t],a=i||/^find/.test(t);!o||(Ln.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,u=t instanceof Vn,c=s[0],l=u||Ua(t),h=function(e){var t=o.apply(Ln,At([e],s));return i&&d?t[0]:t};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var d=this.__chain__,f=!!this.__actions__.length,p=a&&!d,v=u&&!f;if(!a&&l){t=v?t:new Vn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[h],thisArg:r}),new Bn(g,d)}return p&&v?e.apply(this,s):(g=this.thru(h),p?i?g.value()[0]:g.value():g)})}),xt(["pop","push","shift","sort","splice","unshift"],function(e){var t=Oe[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);Ln.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(Ua(r)?r:[],e)}return this[n](function(n){return t.apply(Ua(n)?n:[],e)})}}),gi(Vn.prototype,function(e,t){var n=Ln[t];if(n){var i=n.name+"";Me.call(On,i)||(On[i]=[]),On[i].push({name:t,func:n})}}),On[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var e=new Vn(this.__wrapped__);return e.__actions__=Sr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sr(this.__views__),e},Vn.prototype.reverse=function(){if(this.__filtered__){var e=new Vn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(e){for(var t,n=this;n instanceof Fn;){var i=jo(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},Ln.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vn){var t=e;return this.__actions__.length&&(t=new Vn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Zo],thisArg:r}),new Bn(t,this.__chain__)}return this.thru(Zo)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,Xe&&(Ln.prototype[Xe]=function(){return this}),Ln}();ct._=dn,(i=(function(){return dn}).call(t,n,t,e))!==r&&(e.exports=i)}).call(this)},5478:function(e){e.exports=function(){"use strict";function e(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:function(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},changeDefaults:function(e){i.exports.defaults=e}};var r=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,s=/[<>"']|&(?!#?\w+;)/g,u={"&":"&","<":"<",">":">",'"':""","'":"'"},c=function(e){return u[e]},l=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(l,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var d=/(^|[^\[])\^/g,f=/[^\w:]/g,p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,v={},g=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,y=/^([^:]+:\/*[^/]*)[\s\S]*$/;function b(e,t,n){var i=e.length;if(0===i)return"";for(var r=0;r=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.length1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:S(n,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map(function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=S(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:C(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,i,r,o,a,s,u,c,l,h=t[0],d=t[2],f=d.length>1,p={type:"list",raw:h,ordered:f,start:f?+d.slice(0,-1):"",loose:!1,items:[]},v=t[0].match(this.rules.block.item),g=!1,m=v.length;r=this.rules.block.listItemStart.exec(v[0]);for(var y=0;yr[1].length:o[1].length>=r[0].length||o[1].length>3){v.splice(y,2,v[y]+(!this.options.pedantic&&o[1].length/i.test(i[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):E(i[0]):i[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=S(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,r=0;r-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,o).trim(),t[3]=""}}var a=t[2],s="";if(this.options.pedantic){var u=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);u&&(a=u[1],s=u[3])}else s=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),O(t,{href:a&&a.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return O(n,i,n[0])}},t.emStrong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(e);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,s=i[0].length-1,u=s,c=0,l="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+s);null!=(i=l.exec(t));)if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(a=o.length,i[3]||i[4]){u+=a;continue}if((i[5]||i[6])&&s%3&&!((s+a)%3)){c+=a;continue}if(!((u-=a)>0))return a=Math.min(a,a+u+c),Math.min(s,a)%2?{type:"em",raw:e.slice(0,s+i.index+a+1),text:e.slice(1,s+i.index+a)}:{type:"strong",raw:e.slice(0,s+i.index+a+1),text:e.slice(2,s+i.index+a-1)}}}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=E(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var n,i,r=this.rules.inline.autolink.exec(e);if(r)return i="@"===r[2]?"mailto:"+(n=E(this.options.mangle?t(r[1]):r[1])):n=E(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},t.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,r;if("@"===n[2])r="mailto:"+(i=E(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);i=E(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},t.inlineText=function(e,t,n){var i,r=this.rules.inline.text.exec(e);if(r)return i=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):E(r[0]):r[0]:E(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},e}(),P={exec:function(){}},A=function(e,t){e=e.source||e,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(d,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n},M=k,I={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:P,table:P,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};I.def=A(I.def).replace("label",I._label).replace("title",I._title).getRegex(),I.bullet=/(?:[*+-]|\d{1,9}[.)])/,I.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,I.item=A(I.item,"gm").replace(/bull/g,I.bullet).getRegex(),I.listItemStart=A(/^( *)(bull) */).replace("bull",I.bullet).getRegex(),I.list=A(I.list).replace(/bull/g,I.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+I.def.source+")").getRegex(),I._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",I._comment=/|$)/,I.html=A(I.html,"i").replace("comment",I._comment).replace("tag",I._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),I.paragraph=A(I._paragraph).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.blockquote=A(I.blockquote).replace("paragraph",I.paragraph).getRegex(),I.normal=M({},I),I.gfm=M({},I.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),I.gfm.nptable=A(I.gfm.nptable).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.gfm.table=A(I.gfm.table).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.pedantic=M({},I.normal,{html:A("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",I._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:P,paragraph:A(I.normal._paragraph).replace("hr",I.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",I.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:P,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:P,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};R.punctuation=A(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=A(I._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=A(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=A(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=A(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,R.autolink=A(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=A(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=A(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=A(R.reflink).replace("label",R._label).getRegex(),R.reflinkSearch=A(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=M({},R),R.pedantic=M({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:A(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:A(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=M({},R.normal,{escape:A(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1;)1&t&&(n+=e),t>>=1,e+=e;return n+e};function V(e){return e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026")}function z(e){var t,n,i="",r=e.length;for(t=0;t.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var U=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||L,this.options.tokenizer=this.options.tokenizer||new N,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:j.normal,inline:F.normal};this.options.pedantic?(t.block=j.pedantic,t.inline=F.pedantic):this.options.gfm&&(t.block=j.gfm,t.inline=this.options.breaks?F.breaks:F.gfm),this.tokenizer.rules=t}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n=t.prototype;return n.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(e,t,n){var i,r,o,a,s,u,c=this;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)}))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.type&&t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.nptable(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),t.push(i);continue}if(i=this.tokenizer.list(e)){for(e=e.substring(i.raw.length),o=i.items.length,r=0;r=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),n&&(i=this.tokenizer.paragraph(s))){a=t[t.length-1],u&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i),u=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"text"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}}return t},n.inline=function(e){var t,n,i,r,o,a,s=e.length;for(t=0;t0)for(;null!=(u=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(u[0].slice(u[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(u=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(u=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,u.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(c||(l=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(o=n.call(r,e,t))&&(e=e.substring(o.raw.length),t.push(o),!0)}))){if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e,n,i)){e=e.substring(o.raw.length),n=o.inLink,i=o.inRawBlock,(a=t[t.length-1])&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,i)),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length),a=t[t.length-1],"link"===o.type?(o.tokens=this.inlineTokens(o.text,[],!0,i),t.push(o)):a&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,h,l)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.autolink(e,z)){e=e.substring(o.raw.length),t.push(o);continue}if(!n&&(o=this.tokenizer.url(e,z))){e=e.substring(o.raw.length),t.push(o);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(e){"number"==typeof(i=e.call(this,n))&&i>=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),o=this.tokenizer.inlineText(s,i,V)){e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(l=o.raw.slice(-1)),c=!0,(a=t[t.length-1])&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}return t},function(t,n,i){i&&e(t,i)}(t,0,[{key:"rules",get:function(){return{block:j,inline:F}}}]),t}(),H=i.exports.defaults,G=function(e,t,n){if(e){var i;try{i=decodeURIComponent(h(n)).replace(f,"").toLowerCase()}catch(r){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!p.test(n)&&(n=function(e,t){v[" "+e]||(v[" "+e]=g.test(e)?e+"/":b(e,"/",!0));var n=-1===(e=v[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(y,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(r){return null}return n},W=_,q=function(){function e(e){this.options=e||H}var t=e.prototype;return t.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",i?'
    '+(n?e:W(e,!0))+"
    \n":"
    "+(n?e:W(e,!0))+"
    \n"},t.blockquote=function(e){return"
    \n"+e+"
    \n"},t.html=function(e){return e},t.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},t.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},t.image=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">")},t.text=function(e){return e},e}(),X=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),Y=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),K=q,$=X,Q=Y,Z=i.exports.defaults,J=w,ee=U,te=function(){function e(e){this.options=e||Z,this.options.renderer=this.options.renderer||new K,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new $,this.slugger=new Q}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var n,i,r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w="",k=e.length;for(n=0;n0&&"text"===g.tokens[0].type?(g.tokens[0].text=b+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=b+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:b}):v+=b),v+=this.parse(g.tokens,p),l+=this.renderer.listitem(v,y,m);w+=this.renderer.list(l,d,f);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(l=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

    "+ue(u.message+"",!0)+"
    ";throw u}}return de.options=de.setOptions=function(e){return ae(de.defaults,e),le(de.defaults),de},de.getDefaults=ce,de.defaults=he,de.use=function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;iAn error occurred:

    "+ue(i.message+"",!0)+"
    ";throw i}},de.Parser=te,de.parser=te.parse,de.Renderer=ie,de.TextRenderer=re,de.Lexer=ee,de.lexer=ee.lex,de.Tokenizer=ne,de.Slugger=oe,de.parse=de,de}()},29369:function(e,t,n){var i=n(56284),r=n(67830);function o(){this.clear()}o.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},o.prototype.enqueue=function(e){return this.items.push(e),++this.size},o.prototype.dequeue=function(){if(this.size){var e=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,e}},o.prototype.peek=function(){if(this.size)return this.items[this.offset]},o.prototype.forEach=function(e,t){t=arguments.length>1?t:this;for(var n=this.offset,i=0,r=this.items.length;n=e.length)return{done:!0};var n=e[t];return t++,{value:n,done:!1}})},o.prototype.entries=function(){var e=this.items,t=this.offset,n=0;return new i(function(){if(t>=e.length)return{done:!0};var i=e[t];return t++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var e=this.toArray();return Object.defineProperty(e,"constructor",{value:o,enumerable:!1}),e},"undefined"!=typeof Symbol&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(e){var t=new o;return r(e,function(e){t.enqueue(e)}),t},o.of=function(){return o.from(arguments)},e.exports=o},65593:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=function(e){function t(){e.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(t,e),t.prototype._subscribe=function(t){return this.hasError?(t.error(this.thrownError),o.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),o.Subscription.EMPTY):e.prototype._subscribe.call(this,t)},t.prototype.next=function(e){this.hasCompleted||(this.value=e,this.hasNext=!0)},t.prototype.error=function(t){this.hasCompleted||e.prototype.error.call(this,t)},t.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&e.prototype.next.call(this,this.value),e.prototype.complete.call(this)},t}(r.Subject);t.AsyncSubject=a},73907:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(6594),a=function(e){function t(t){e.call(this),this._value=t}return i(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return n&&!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(r.Subject);t.BehaviorSubject=a},36888:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n,i){e.call(this),this.parent=t,this.outerValue=n,this.outerIndex=i,this.index=0}return i(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(42109).Subscriber);t.InnerSubscriber=r},94429:function(e,t,n){"use strict";var i=n(18705),r=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();t.Notification=r},18705:function(e,t,n){"use strict";var i=n(80019),r=n(18154),o=n(45783),a=n(10142),s=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var i=this.operator,o=r.toSubscriber(e,t,n);if(i?i.call(o,this.source):o.add(this.source||!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.syncErrorThrown=!0,e.syncErrorValue=t,e.error(t)}},e.prototype.forEach=function(e,t){var n=this;if(t||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?t=i.root.Rx.config.Promise:i.root.Promise&&(t=i.root.Promise)),!t)throw new Error("no Promise impl found");return new t(function(t,i){var r;r=n.subscribe(function(t){if(r)try{e(t)}catch(n){i(n),r.unsubscribe()}else e(t)},i,t)})},e.prototype._subscribe=function(e){return this.source.subscribe(e)},e.prototype[o.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;tt&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i},t}(r.Subject);t.ReplaySubject=l;var h=function(e,t){this.time=e,this.value=t}},25430:function(e,t,n){"use strict";var i=n(2369);t.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353),n(55298),n(10142),n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783),n(39053)},11965:function(e,t){"use strict";var n=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=Date.now?Date.now:function(){return+new Date},e}();t.Scheduler=n},2369:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(42109),a=n(72293),s=n(6594),u=n(9060),c=n(28592),l=function(e){function t(t){e.call(this,t),this.destination=t}return i(t,e),t}(o.Subscriber);t.SubjectSubscriber=l;var h=function(e){function t(){e.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(t,e),t.prototype[c.rxSubscriber]=function(){return new l(this)},t.prototype.lift=function(e){var t=new d(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.ObjectUnsubscribedError;if(!this.isStopped)for(var t=this.observers,n=t.length,i=t.slice(),r=0;r=e.length)return void i.complete();i.next(t[n]),e.index=n+1,this.schedule(e)}},t.prototype._subscribe=function(e){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(t.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:e});for(var o=0;o1?new t(e,i):1===r?new o.ScalarObservable(e[0],i):new a.EmptyObservable(i)},t.dispatch=function(e){var t=e.array,n=e.index,i=e.subscriber;n>=e.count?i.complete():(i.next(t[n]),!i.closed&&(e.index=n+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(t.dispatch,0,{array:n,index:0,count:i,subscriber:e});for(var o=0;o1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(a.Subscriber)},34078:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t){e.call(this),this.observableFactory=t}return i(t,e),t.create=function(e){return new t(e)},t.prototype._subscribe=function(e){return new u(e,this.observableFactory)},t}(r.Observable);t.DeferObservable=s;var u=function(e){function t(t,n){e.call(this,t),this.factory=n,this.tryDefer()}return i(t,e),t.prototype.tryDefer=function(){try{this._callFactory()}catch(e){this._error(e)}},t.prototype._callFactory=function(){var e=this.factory();e&&this.add(o.subscribeToResult(this,e))},t}(a.OuterSubscriber)},70481:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t){e.call(this),this.scheduler=t}return i(t,e),t.create=function(e){return new t(e)},t.dispatch=function(e){e.subscriber.complete()},t.prototype._subscribe=function(e){var n=this.scheduler;if(n)return n.schedule(t.dispatch,0,{subscriber:e});e.complete()},t}(n(18705).Observable);t.EmptyObservable=r},72210:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.error=t,this.scheduler=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){e.subscriber.error(e.error)},t.prototype._subscribe=function(e){var n=this.error,i=this.scheduler;if(e.syncErrorThrowable=!0,i)return i.schedule(t.dispatch,0,{error:n,subscriber:e});e.error(n)},t}(n(18705).Observable);t.ErrorObservable=r},56064:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(70481),a=n(48242),s=n(93658),u=n(84308),c=function(e){function t(t,n){e.call(this),this.sources=t,this.resultSelector=n}return i(t,e),t.create=function(){for(var e=[],n=0;nl?l:t:t}(e)),this.arr=e,this.idx=t,this.len=n}return e.prototype[a.iterator]=function(){return this},e.prototype.next=function(){return this.idx=e.count?i.complete():(i.next(t),!i.closed&&(e.index=n+1,e.start=t+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=0,i=this.start,r=this._count,o=this.scheduler;if(o)return o.schedule(t.dispatch,0,{index:n,count:r,start:i,subscriber:e});for(;;){if(n++>=r){e.complete();break}if(e.next(i++),e.closed)break}},t}(n(18705).Observable);t.RangeObservable=r},80478:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.value=t,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){var t=e.value,n=e.subscriber;e.done?n.complete():(n.next(t),!n.closed&&(e.done=!0,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.value,i=this.scheduler;if(i)return i.schedule(t.dispatch,0,{done:!1,value:n,subscriber:e});e.next(n),e.closed||e.complete()},t}(n(18705).Observable);t.ScalarObservable=r},82966:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(85522),a=n(39479),s=function(e){function t(t,n,i){void 0===n&&(n=0),void 0===i&&(i=o.asap),e.call(this),this.source=t,this.delayTime=n,this.scheduler=i,(!a.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=o.asap)}return i(t,e),t.create=function(e,n,i){return void 0===n&&(n=0),void 0===i&&(i=o.asap),new t(e,n,i)},t.dispatch=function(e){return this.add(e.source.subscribe(e.subscriber))},t.prototype._subscribe=function(e){return this.scheduler.schedule(t.dispatch,this.delayTime,{source:this.source,subscriber:e})},t}(r.Observable);t.SubscribeOnObservable=s},92870:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(39479),o=n(18705),a=n(90680),s=n(41503),u=n(783),c=function(e){function t(t,n,i){void 0===t&&(t=0),e.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):s.isScheduler(n)&&(i=n),s.isScheduler(i)||(i=a.async),this.scheduler=i,this.dueTime=u.isDate(t)?+t-this.scheduler.now():t}return i(t,e),t.create=function(e,n,i){return void 0===e&&(e=0),new t(e,n,i)},t.dispatch=function(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}},t.prototype._subscribe=function(e){var n=this;return n.scheduler.schedule(t.dispatch,n.dueTime,{index:0,period:n.period,subscriber:e})},t}(o.Observable);t.TimerObservable=c},16196:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t,n){e.call(this),this.resourceFactory=t,this.observableFactory=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.prototype._subscribe=function(e){var t,n=this.resourceFactory,i=this.observableFactory;try{return t=n(),new u(e,t,i)}catch(r){e.error(r)}},t}(r.Observable);t.UsingObservable=s;var u=function(e){function t(t,n,i){e.call(this,t),this.resource=n,this.observableFactory=i,t.add(n),this.tryUse()}return i(t,e),t.prototype.tryUse=function(){try{var e=this.observableFactory.call(this,this.resource);e&&this.add(o.subscribeToResult(this,e))}catch(t){this._error(t)}},t}(a.OuterSubscriber)},59246:function(e,t,n){"use strict";var i=n(19183);t.bindCallback=i.BoundCallbackObservable.create},65571:function(e,t,n){"use strict";var i=n(78655);t.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(e,t,n){"use strict";var i=n(41503),r=n(48242),o=n(96177),a=n(49134);t.combineLatest=function(){for(var e=[],t=0;t1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof u&&(n=e.pop()),null===s&&1===e.length&&e[0]instanceof i.Observable?e[0]:a.mergeAll(n)(new r.ArrayObservable(e,s))}},94503:function(e,t,n){"use strict";var i=n(20143);t.never=i.NeverObservable.create},69657:function(e,t,n){"use strict";var i=n(96177);t.of=i.ArrayObservable.of},61395:function(e,t,n){"use strict";var i=n(46243);t.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(e,t,n){"use strict";var i=n(19770);t.pairs=i.PairsObservable.create},24330:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(48242),o=n(96177),a=n(84308),s=n(93658);t.race=function(){for(var e=[],t=0;t=2&&(a=arguments[1]);var s=Number.POSITIVE_INFINITY;return t>=3&&(s=arguments[2]),o.bufferTime(e,a,s,n)(this)}},92523:function(e,t,n){"use strict";var i=n(15440);t.bufferToggle=function(e,t){return i.bufferToggle(e,t)(this)}},49436:function(e,t,n){"use strict";var i=n(51786);t.bufferWhen=function(e){return i.bufferWhen(e)(this)}},64731:function(e,t,n){"use strict";var i=n(93017);t._catch=function(e){return i.catchError(e)(this)}},92273:function(e,t,n){"use strict";var i=n(17054);t.combineAll=function(e){return i.combineAll(e)(this)}},8709:function(e,t,n){"use strict";var i=n(49134);t.combineLatest=function(){for(var e=[],t=0;t=2?i.reduce(e,t)(this):i.reduce(e)(this)}},12931:function(e,t,n){"use strict";var i=n(15329);t.repeat=function(e){return void 0===e&&(e=-1),i.repeat(e)(this)}},68816:function(e,t,n){"use strict";var i=n(63964);t.repeatWhen=function(e){return i.repeatWhen(e)(this)}},17144:function(e,t,n){"use strict";var i=n(40241);t.retry=function(e){return void 0===e&&(e=-1),i.retry(e)(this)}},82766:function(e,t,n){"use strict";var i=n(23896);t.retryWhen=function(e){return i.retryWhen(e)(this)}},62068:function(e,t,n){"use strict";var i=n(92043);t.sample=function(e){return i.sample(e)(this)}},97013:function(e,t,n){"use strict";var i=n(90680),r=n(71239);t.sampleTime=function(e,t){return void 0===t&&(t=i.async),r.sampleTime(e,t)(this)}},98996:function(e,t,n){"use strict";var i=n(64949);t.scan=function(e,t){return arguments.length>=2?i.scan(e,t)(this):i.scan(e)(this)}},77033:function(e,t,n){"use strict";var i=n(88948);t.sequenceEqual=function(e,t){return i.sequenceEqual(e,t)(this)}},10377:function(e,t,n){"use strict";var i=n(35473);t.share=function(){return i.share()(this)}},71623:function(e,t,n){"use strict";var i=n(62704);t.shareReplay=function(e,t,n){return i.shareReplay(e,t,n)(this)}},91956:function(e,t,n){"use strict";var i=n(92223);t.single=function(e){return i.single(e)(this)}},72355:function(e,t,n){"use strict";var i=n(11189);t.skip=function(e){return i.skip(e)(this)}},69329:function(e,t,n){"use strict";var i=n(73346);t.skipLast=function(e){return i.skipLast(e)(this)}},68481:function(e,t,n){"use strict";var i=n(12928);t.skipUntil=function(e){return i.skipUntil(e)(this)}},587:function(e,t,n){"use strict";var i=n(69415);t.skipWhile=function(e){return i.skipWhile(e)(this)}},49292:function(e,t,n){"use strict";var i=n(30673);t.startWith=function(){for(var e=[],t=0;t0&&this.destination.next(t),e.prototype._complete.call(this)},t}(r.Subscriber),s=function(e){function t(t,n,i){e.call(this,t),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(t,e),t.prototype._next=function(e){var t=this,n=t.bufferSize,i=t.startBufferEvery,r=t.buffers,o=t.count;this.count++,o%i==0&&r.push([]);for(var a=r.length;a--;){var s=r[a];s.push(e),s.length===n&&(r.splice(a,1),this.destination.next(s))}},t.prototype._complete=function(){for(var t=this.buffers,n=this.destination;t.length>0;){var i=t.shift();i.length>0&&n.next(i)}e.prototype._complete.call(this)},t}(r.Subscriber)},6489:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(90680),o=n(42109),a=n(41503);t.bufferTime=function(e){var t=arguments.length,n=r.async;a.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],t--);var i=null;t>=2&&(i=arguments[1]);var o=Number.POSITIVE_INFINITY;return t>=3&&(o=arguments[2]),function(t){return t.lift(new s(e,i,o,n))}};var s=function(){function e(e,t,n,i){this.bufferTimeSpan=e,this.bufferCreationInterval=t,this.maxBufferSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},e}(),u=function(){this.buffer=[]},c=function(e){function t(t,n,i,r,o){e.call(this,t),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=o,this.contexts=[];var a=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(a.closeAction=o.schedule(l,n,{subscriber:this,context:a,bufferTimeSpan:n}));else{var s={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:o};this.add(a.closeAction=o.schedule(d,n,{subscriber:this,context:a})),this.add(o.schedule(h,i,s))}}return i(t,e),t.prototype._next=function(e){for(var t,n=this.contexts,i=n.length,r=0;r0;){var i=t.shift();n.next(i.buffer)}e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.contexts=null},t.prototype.onBufferFull=function(e){this.closeContext(e);var t=e.closeAction;if(t.unsubscribe(),this.remove(t),!this.closed&&this.timespanOnly){e=this.openContext();var n=this.bufferTimeSpan;this.add(e.closeAction=this.scheduler.schedule(l,n,{subscriber:this,context:e,bufferTimeSpan:n}))}},t.prototype.openContext=function(){var e=new u;return this.contexts.push(e),e},t.prototype.closeContext=function(e){this.destination.next(e.buffer);var t=this.contexts;(t?t.indexOf(e):-1)>=0&&t.splice(t.indexOf(e),1)},t}(o.Subscriber);function l(e){var t=e.subscriber,n=e.context;n&&t.closeContext(n),t.closed||(e.context=t.openContext(),e.context.closeAction=this.schedule(e,e.bufferTimeSpan))}function h(e){var t=e.bufferCreationInterval,n=e.bufferTimeSpan,i=e.subscriber,r=e.scheduler,o=i.openContext();i.closed||(i.add(o.closeAction=r.schedule(d,n,{subscriber:i,context:o})),this.schedule(e,t))}function d(e){e.subscriber.closeContext(e.context)}},15440:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(93658),a=n(84308);t.bufferToggle=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.openings,this.closingSelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(o.subscribeToResult(this,n))}return i(t,e),t.prototype._next=function(e){for(var t=this.contexts,n=t.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,e.prototype._error.call(this,t)},t.prototype._complete=function(){for(var t=this.contexts;t.length>0;){var n=t.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){e?this.closeBuffer(e):this.openBuffer(t)},t.prototype.notifyComplete=function(e){this.closeBuffer(e.context)},t.prototype.openBuffer=function(e){try{var t=this.closingSelector.call(this,e);t&&this.trySubscribe(t)}catch(n){this._error(n)}},t.prototype.closeBuffer=function(e){var t=this.contexts;if(t&&e){var n=e.subscription;this.destination.next(e.buffer),t.splice(t.indexOf(e),1),this.remove(n),n.unsubscribe()}},t.prototype.trySubscribe=function(e){var t=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};t.push(i);var a=o.subscribeToResult(this,e,i);!a||a.closed?this.closeBuffer(i):(a.context=i,this.add(a),n.add(a))},t}(a.OuterSubscriber)},51786:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.bufferWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.closingSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.closingSelector))},e}(),l=function(e){function t(t,n){e.call(this,t),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(t,e),t.prototype._next=function(e){this.buffer.push(e)},t.prototype._complete=function(){var t=this.buffer;t&&this.destination.next(t),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},t.prototype.notifyNext=function(e,t,n,i,r){this.openBuffer()},t.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},t.prototype.openBuffer=function(){var e=this.closingSubscription;e&&(this.remove(e),e.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var t=o.tryCatch(this.closingSelector)();t===a.errorObject?this.error(a.errorObject.e):(e=new r.Subscription,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(u.subscribeToResult(this,t)),this.subscribing=!1)},t}(s.OuterSubscriber)},93017:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.catchError=function(e){return function(t){var n=new a(e),i=t.lift(n);return n.caught=i}};var a=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.selector,this.caught))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.selector=n,this.caught=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(i){return void e.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(o.subscribeToResult(this,n))}},t}(r.OuterSubscriber)},17054:function(e,t,n){"use strict";var i=n(49134);t.combineAll=function(e){return function(t){return t.lift(new i.CombineLatestOperator(e))}}},49134:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(84308),s=n(93658),u={};t.combineLatest=function(){for(var e=[],t=0;t0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new l(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(s.Notification.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e)},t.prototype._complete=function(){this.scheduleNotification(s.Notification.createComplete())},t}(a.Subscriber),l=function(e,t){this.time=e,this.notification=t}},22944:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(18705),a=n(84308),s=n(93658);t.delayWhen=function(e,t){return t?function(n){return new l(n,t).lift(new u(e))}:function(t){return t.lift(new u(e))}};var u=function(){function e(e){this.delayDurationSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.delayDurationSelector))},e}(),c=function(e){function t(t,n){e.call(this,t),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.destination.next(e),this.removeSubscription(r),this.tryComplete()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype.notifyComplete=function(e){var t=this.removeSubscription(e);t&&this.destination.next(t),this.tryComplete()},t.prototype._next=function(e){try{var t=this.delayDurationSelector(e);t&&this.tryDelay(t,e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){this.completed=!0,this.tryComplete()},t.prototype.removeSubscription=function(e){e.unsubscribe();var t=this.delayNotifierSubscriptions.indexOf(e),n=null;return-1!==t&&(n=this.values[t],this.delayNotifierSubscriptions.splice(t,1),this.values.splice(t,1)),n},t.prototype.tryDelay=function(e,t){var n=s.subscribeToResult(this,e,t);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(t)},t.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},t}(a.OuterSubscriber),l=function(e){function t(t,n){e.call(this),this.source=t,this.subscriptionDelay=n}return i(t,e),t.prototype._subscribe=function(e){this.subscriptionDelay.subscribe(new h(e,this.source))},t}(o.Observable),h=function(e){function t(t,n){e.call(this),this.parent=t,this.source=n,this.sourceSubscribed=!1}return i(t,e),t.prototype._next=function(e){this.subscribeToSource()},t.prototype._error=function(e){this.unsubscribe(),this.parent.error(e)},t.prototype._complete=function(){this.subscribeToSource()},t.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},t}(r.Subscriber)},95591:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.dematerialize=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){e.observe(this.destination)},t}(r.Subscriber)},25753:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658),a=n(40317);t.distinct=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.keySelector=e,this.flushes=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.keySelector,this.flushes))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=n,this.values=new a.Set,i&&this.add(o.subscribeToResult(this,i))}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.values.clear()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype._next=function(e){this.keySelector?this._useKeySelector(e):this._finalizeNext(e,e)},t.prototype._useKeySelector=function(e){var t,n=this.destination;try{t=this.keySelector(e)}catch(i){return void n.error(i)}this._finalizeNext(t,e)},t.prototype._finalizeNext=function(e,t){var n=this.values;n.has(e)||(n.add(e),this.destination.next(t))},t}(r.OuterSubscriber);t.DistinctSubscriber=u},65608:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.distinctUntilChanged=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compare=e,this.keySelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compare,this.keySelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(t,e),t.prototype.compare=function(e,t){return e===t},t.prototype._next=function(e){var t=e;if(this.keySelector&&(t=o.tryCatch(this.keySelector)(e))===a.errorObject)return this.destination.error(a.errorObject.e);var n=!1;if(this.hasKey){if((n=o.tryCatch(this.compare)(this.key,t))===a.errorObject)return this.destination.error(a.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=t,this.destination.next(e))},t}(r.Subscriber)},8330:function(e,t,n){"use strict";var i=n(65608);t.distinctUntilKeyChanged=function(e,t){return i.distinctUntilChanged(function(n,i){return t?t(n[e],i[e]):n[e]===i[e]})}},29264:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.elementAt=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){if(this.index=e,this.defaultValue=t,e<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.index,this.defaultValue))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.index=n,this.defaultValue=i}return i(t,e),t.prototype._next=function(e){0==this.index--&&(this.destination.next(e),this.destination.complete())},t.prototype._complete=function(){var e=this.destination;this.index>=0&&(void 0!==this.defaultValue?e.next(this.defaultValue):e.error(new o.ArgumentOutOfRangeError)),e.complete()},t}(r.Subscriber)},26285:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.every=function(e,t){return function(n){return n.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg,this.source))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},93229:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaust=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t),this.hasCompleted=!1,this.hasSubscription=!1}return i(t,e),t.prototype._next=function(e){this.hasSubscription||(this.hasSubscription=!0,this.add(o.subscribeToResult(this,e)))},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},15758:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaustMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(t,e),t.prototype._next=function(e){this.hasSubscription||this.tryNext(e)},t.prototype.tryNext=function(e){var t=this.index++,n=this.destination;try{var i=this.project(e,t);this.hasSubscription=!0,this.add(o.subscribeToResult(this,i,e,t))}catch(r){n.error(r)}},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.trySelectResult(e,t,n,i):o.next(t)},t.prototype.trySelectResult=function(e,t,n,i){var r=this.resultSelector,o=this.destination;try{var a=r(e,t,n,i);o.next(a)}catch(s){o.error(s)}},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},55364:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(84308),s=n(93658);t.expand=function(e,t,n){return void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),t=(t||0)<1?Number.POSITIVE_INFINITY:t,function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.project=e,this.concurrent=t,this.scheduler=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.project,this.concurrent,this.scheduler))},e}();t.ExpandOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(t.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},t}(a.OuterSubscriber);t.ExpandSubscriber=c},27015:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.filter=function(e,t){return function(n){return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.thisArg=i,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)},t}(r.Subscriber)},94367:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293);t.finalize=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.callback))},e}(),s=function(e){function t(t,n){e.call(this,t),this.add(new o.Subscription(n))}return i(t,e),t}(r.Subscriber)},16700:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.find=function(e,t){if("function"!=typeof e)throw new TypeError("predicate is not a function");return function(n){return n.lift(new o(e,n,!1,t))}};var o=function(){function e(e,t,n,i){this.predicate=e,this.source=t,this.yieldIndex=n,this.thisArg=i}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.source,this.yieldIndex,this.thisArg))},e}();t.FindValueOperator=o;var a=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=o,this.index=0}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){var t=this.predicate,n=this.thisArg,i=this.index++;try{t.call(n||this,e,i,this.source)&&this.notifyComplete(this.yieldIndex?i:e)}catch(r){this.destination.error(r)}},t.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},t}(r.Subscriber);t.FindValueSubscriber=a},86452:function(e,t,n){"use strict";var i=n(16700);t.findIndex=function(e,t){return function(n){return n.lift(new i.FindValueOperator(e,n,!0,t))}}},12309:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.first=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(t,e),t.prototype._next=function(e){var t=this.index++;this.predicate?this._tryPredicate(e,t):this._emit(e,t)},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(e,t)},t.prototype._emit=function(e,t){this.resultSelector?this._tryResultSelector(e,t):this._emitFinal(e)},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},t.prototype._emitFinal=function(e){var t=this.destination;this._emitted||(this._emitted=!0,t.next(e),t.complete(),this.hasCompleted=!0)},t.prototype._complete=function(){var e=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||e.error(new o.EmptyError):(e.next(this.defaultValue),e.complete())},t}(r.Subscriber)},92577:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293),a=n(18705),s=n(2369),u=n(49754),c=n(30764);t.groupBy=function(e,t,n,i){return function(r){return r.lift(new l(e,t,n,i))}};var l=function(){function e(e,t,n,i){this.keySelector=e,this.elementSelector=t,this.durationSelector=n,this.subjectSelector=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},e}(),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=o,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.keySelector(e)}catch(n){return void this.error(n)}this._group(e,t)},t.prototype._group=function(e,t){var n=this.groups;n||(n=this.groups="string"==typeof t?new c.FastMap:new u.Map);var i,r=n.get(t);if(this.elementSelector)try{i=this.elementSelector(e)}catch(l){this.error(l)}else i=e;if(!r){r=this.subjectSelector?this.subjectSelector():new s.Subject,n.set(t,r);var o=new f(t,r,this);if(this.destination.next(o),this.durationSelector){var a=void 0;try{a=this.durationSelector(new f(t,r))}catch(l){return void this.error(l)}this.add(a.subscribe(new d(t,r,this)))}}r.closed||r.next(i)},t.prototype._error=function(e){var t=this.groups;t&&(t.forEach(function(t,n){t.error(e)}),t.clear()),this.destination.error(e)},t.prototype._complete=function(){var e=this.groups;e&&(e.forEach(function(e,t){e.complete()}),e.clear()),this.destination.complete()},t.prototype.removeGroup=function(e){this.groups.delete(e)},t.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&e.prototype.unsubscribe.call(this))},t}(r.Subscriber),d=function(e){function t(t,n,i){e.call(this,n),this.key=t,this.group=n,this.parent=i}return i(t,e),t.prototype._next=function(e){this.complete()},t.prototype._unsubscribe=function(){var e=this.parent,t=this.key;this.key=this.parent=null,e&&e.removeGroup(t)},t}(r.Subscriber),f=function(e){function t(t,n,i){e.call(this),this.key=t,this.groupSubject=n,this.refCountSubscription=i}return i(t,e),t.prototype._subscribe=function(e){var t=new o.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&t.add(new p(n)),t.add(i.subscribe(e)),t},t}(a.Observable);t.GroupedObservable=f;var p=function(e){function t(t){e.call(this),this.parent=t,t.count++}return i(t,e),t.prototype.unsubscribe=function(){var t=this.parent;!t.closed&&!this.closed&&(e.prototype.unsubscribe.call(this),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())},t}(o.Subscription)},86898:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(68668);t.ignoreElements=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype._next=function(e){o.noop()},t}(r.Subscriber)},89121:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.isEmpty=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},4636:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.last=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(t,e),t.prototype._next=function(e){var t=this.index++;if(this.predicate)this._tryPredicate(e,t);else{if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},t.prototype._complete=function(){var e=this.destination;this.hasValue?(e.next(this.lastValue),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},40119:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.map=function(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.project,this.thisArg))},e}();t.MapOperator=o;var a=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.count=0,this.thisArg=i||this}return i(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.Subscriber)},23491:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.mapTo=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.value=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.value))},e}(),a=function(e){function t(t,n){e.call(this,t),this.value=n}return i(t,e),t.prototype._next=function(e){this.destination.next(this.value)},t}(r.Subscriber)},71177:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(94429);t.materialize=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){this.destination.next(o.Notification.createNext(e))},t.prototype._error=function(e){var t=this.destination;t.next(o.Notification.createError(e)),t.complete()},t.prototype._complete=function(){var e=this.destination;e.next(o.Notification.createComplete()),e.complete()},t}(r.Subscriber)},33499:function(e,t,n){"use strict";var i=n(97369);t.max=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})}},56098:function(e,t,n){"use strict";var i=n(38781),r=n(38781);t.mergeStatic=r.merge,t.merge=function(){for(var e=[],t=0;t0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(o.OuterSubscriber);t.MergeMapSubscriber=s},6693:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.mergeMapTo=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof t&&(n=t,t=null),function(i){return i.lift(new a(e,t,n))}};var a=function(){function e(e,t,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=e,this.resultSelector=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.ish,this.resultSelector,this.concurrent))},e}();t.MergeMapToOperator=a;var s=function(e){function t(t,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),e.call(this,t),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber);t.MergeMapToSubscriber=s},7550:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(93658),s=n(84308);t.mergeScan=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.accumulator=e,this.seed=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.accumulator,this.seed,this.concurrent))},e}();t.MergeScanOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},t}(s.OuterSubscriber);t.MergeScanSubscriber=c},51213:function(e,t,n){"use strict";var i=n(97369);t.min=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e=2?function(n){return a.pipe(i.scan(e,t),r.takeLast(1),o.defaultIfEmpty(t))(n)}:function(t){return a.pipe(i.scan(function(t,n,i){return e(t,n,i+1)}),r.takeLast(1))(t)}}},1694:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.refCount=function(){return function(e){return e.lift(new o(e))}};var o=function(){function e(e){this.connectable=e}return e.prototype.call=function(e,t){var n=this.connectable;n._refCount++;var i=new a(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r},e}(),a=function(e){function t(t,n){e.call(this,t),this.connectable=n}return i(t,e),t.prototype._unsubscribe=function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},t}(r.Subscriber)},15329:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(70481);t.repeat=function(e){return void 0===e&&(e=-1),function(t){return 0===e?new o.EmptyObservable:t.lift(new a(e<0?-1:e-1,t))}};var a=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.count,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.complete=function(){if(!this.isStopped){var t=this.source,n=this.count;if(0===n)return e.prototype.complete.call(this);n>-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},63964:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.repeatWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,t))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},t.prototype.notifyComplete=function(t){if(!1===this.sourceIsBeingSubscribedTo)return e.prototype.complete.call(this)},t.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return e.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},t.prototype._unsubscribe=function(){var e=this.notifications,t=this.retriesSubscription;e&&(e.unsubscribe(),this.notifications=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype._unsubscribeAndRecycle=function(){var t=this,n=t.notifications,i=t.retries,r=t.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,e.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},t.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var t=o.tryCatch(this.notifier)(this.notifications);if(t===a.errorObject)return e.prototype.complete.call(this);this.retries=t,this.retriesSubscription=u.subscribeToResult(this,t)},t}(s.OuterSubscriber)},40241:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.retry=function(e){return void 0===e&&(e=-1),function(t){return t.lift(new o(e,t))}};var o=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.count,this.source))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return e.prototype.error.call(this,t);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},23896:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.retryWhen=function(e){return function(t){return t.lift(new c(e,t))}};var c=function(){function e(e,t){this.notifier=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,this.source))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.errors,i=this.retries,s=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=o.tryCatch(this.notifier)(n))===a.errorObject)return e.prototype.error.call(this,a.errorObject.e);s=u.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=s,n.next(t)}},t.prototype._unsubscribe=function(){var e=this.errors,t=this.retriesSubscription;e&&(e.unsubscribe(),this.errors=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype.notifyNext=function(e,t,n,i,r){var o=this,a=o.errors,s=o.retries,u=o.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=a,this.retries=s,this.retriesSubscription=u,this.source.subscribe(this)},t}(s.OuterSubscriber)},92043:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.sample=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new s(e),i=t.subscribe(n);return i.add(o.subscribeToResult(n,this.notifier)),i},e}(),s=function(e){function t(){e.apply(this,arguments),this.hasValue=!1}return i(t,e),t.prototype._next=function(e){this.value=e,this.hasValue=!0},t.prototype.notifyNext=function(e,t,n,i,r){this.emitValue()},t.prototype.notifyComplete=function(){this.emitValue()},t.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},t}(r.OuterSubscriber)},71239:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(90680);t.sampleTime=function(e,t){return void 0===t&&(t=o.async),function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.period=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.period,this.scheduler))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(u,n,{subscriber:this,period:n}))}return i(t,e),t.prototype._next=function(e){this.lastValue=e,this.hasValue=!0},t.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},t}(r.Subscriber);function u(e){var t=e.period;e.subscriber.notifyNext(),this.schedule(e,t)}},64949:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.scan=function(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.accumulator,this.seed,this.hasSeed))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)},t}(r.Subscriber)},88948:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.sequenceEqual=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compareTo=e,this.comparor=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compareTo,this.comparor))},e}();t.SequenceEqualOperator=s;var u=function(e){function t(t,n,i){e.call(this,t),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(t,this)))}return i(t,e),t.prototype._next=function(e){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(e),this.checkValues())},t.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},t.prototype.checkValues=function(){for(var e=this,t=e._a,n=e._b,i=e.comparor;t.length>0&&n.length>0;){var r=t.shift(),s=n.shift(),u=!1;i?(u=o.tryCatch(i)(r,s))===a.errorObject&&this.destination.error(a.errorObject.e):u=r===s,u||this.emit(!1)}},t.prototype.emit=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype.nextB=function(e){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(e),this.checkValues())},t}(r.Subscriber);t.SequenceEqualSubscriber=u;var c=function(e){function t(t,n){e.call(this,t),this.parent=n}return i(t,e),t.prototype._next=function(e){this.parent.nextB(e)},t.prototype._error=function(e){this.parent.error(e)},t.prototype._complete=function(){this.parent._complete()},t}(r.Subscriber)},35473:function(e,t,n){"use strict";var i=n(27372),r=n(1694),o=n(2369);function a(){return new o.Subject}t.share=function(){return function(e){return r.refCount()(i.multicast(a)(e))}}},62704:function(e,t,n){"use strict";var i=n(81959);t.shareReplay=function(e,t,n){return function(r){return r.lift(function(e,t,n){var r,o,a=0,s=!1,u=!1;return function(c){a++,(!r||s)&&(s=!1,r=new i.ReplaySubject(e,t,n),o=c.subscribe({next:function(e){r.next(e)},error:function(e){s=!0,r.error(e)},complete:function(){u=!0,r.complete()}}));var l=r.subscribe(this);return function(){a--,l.unsubscribe(),o&&0===a&&u&&o.unsubscribe()}}}(e,t,n))}}},92223:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.single=function(e){return function(t){return t.lift(new a(e,t))}};var a=function(){function e(e,t){this.predicate=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(t,e),t.prototype.applySingleValue=function(e){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=e)},t.prototype._next=function(e){var t=this.index++;this.predicate?this.tryNext(e,t):this.applySingleValue(e)},t.prototype.tryNext=function(e,t){try{this.predicate(e,t,this.source)&&this.applySingleValue(e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){var e=this.destination;this.index>0?(e.next(this.seenValue?this.singleValue:void 0),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},11189:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.skip=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.total))},e}(),a=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},t}(r.Subscriber)},73346:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.skipLast=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){if(this._skipCount=e,this._skipCount<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(0===this._skipCount?new r.Subscriber(e):new s(e,this._skipCount))},e}(),s=function(e){function t(t,n){e.call(this,t),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(t,e),t.prototype._next=function(e){var t=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(e,n):new o.EmptyObservable(n),t)}}},10118:function(e,t,n){"use strict";var i=n(82966);t.subscribeOn=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new r(e,t))}};var r=function(){function e(e,t){this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return new i.SubscribeOnObservable(t,this.delay,this.scheduler).subscribe(e)},e}()},77243:function(e,t,n){"use strict";var i=n(18483),r=n(5027);t.switchAll=function(){return i.switchMap(r.identity)}},18483:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,e,t,n))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){this.resultSelector?this._tryNotifyNext(e,t,n,i):this.destination.next(t)},t.prototype._tryNotifyNext=function(e,t,n,i){var r;try{r=this.resultSelector(e,t,n,i)}catch(o){return void this.destination.error(o)}this.destination.next(r)},t}(r.OuterSubscriber)},10684:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMapTo=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.observable=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.observable,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.inner=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t=this.innerSubscription;t&&t.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,this.inner,e,this.index++))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.tryResultSelector(e,t,n,i):o.next(t)},t.prototype.tryResultSelector=function(e,t,n,i){var r,o=this.resultSelector,a=this.destination;try{r=o(e,t,n,i)}catch(s){return void a.error(s)}a.next(r)},t}(r.OuterSubscriber)},44396:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.take=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(r.Subscriber)},73935:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.takeLast=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.ring=new Array,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.ring,n=this.total,i=this.count++;t.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,a=r.length,s=0;s=0&&u%t==0&&!this.closed&&r.shift().complete(),++this.count%t==0&&!this.closed){var c=new o.Subject;r.push(c),n.next(c)}},t.prototype._error=function(e){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().complete();this.destination.complete()},t.prototype._unsubscribe=function(){this.count=0,this.windows=null},t}(r.Subscriber)},42603:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(90680),a=n(42109),s=n(39479),u=n(41503);t.windowTime=function(e){var t=o.async,n=null,i=Number.POSITIVE_INFINITY;return u.isScheduler(arguments[3])&&(t=arguments[3]),u.isScheduler(arguments[2])?t=arguments[2]:s.isNumeric(arguments[2])&&(i=arguments[2]),u.isScheduler(arguments[1])?t=arguments[1]:s.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(e,n,i,t))}};var c=function(){function e(e,t,n,i){this.windowTimeSpan=e,this.windowCreationInterval=t,this.maxWindowSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},e}(),l=function(e){function t(){e.apply(this,arguments),this._numberOfNextedValues=0}return i(t,e),t.prototype.next=function(t){this._numberOfNextedValues++,e.prototype.next.call(this,t)},Object.defineProperty(t.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),t}(r.Subject),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.destination=t,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=o,this.windows=[];var a=this.openWindow();if(null!==i&&i>=0){var s={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:o};this.add(o.schedule(p,n,{subscriber:this,window:a,context:null})),this.add(o.schedule(f,i,s))}else this.add(o.schedule(d,n,{subscriber:this,window:a,windowTimeSpan:n}))}return i(t,e),t.prototype._next=function(e){for(var t=this.windows,n=t.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},t.prototype._error=function(e){for(var t=this.windows;t.length>0;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){for(var e=this.windows;e.length>0;){var t=e.shift();t.closed||t.complete()}this.destination.complete()},t.prototype.openWindow=function(){var e=new l;return this.windows.push(e),this.destination.next(e),e},t.prototype.closeWindow=function(e){e.complete();var t=this.windows;t.splice(t.indexOf(e),1)},t}(a.Subscriber);function d(e){var t=e.subscriber,n=e.windowTimeSpan,i=e.window;i&&t.closeWindow(i),e.window=t.openWindow(),this.schedule(e,n)}function f(e){var t=e.windowTimeSpan,n=e.subscriber,i=e.scheduler,r=e.windowCreationInterval,o=n.openWindow(),a=this,s={action:a,subscription:null};s.subscription=i.schedule(p,t,{subscriber:n,window:o,context:s}),a.add(s.subscription),a.schedule(e,r)}function p(e){var t=e.subscriber,n=e.window,i=e.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),t.closeWindow(n)}},59048:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=n(33463),s=n(85814),u=n(84308),c=n(93658);t.windowToggle=function(e,t){return function(n){return n.lift(new l(e,t))}};var l=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.openings,this.closingSelector))},e}(),h=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(t,e),t.prototype._next=function(e){var t=this.contexts;if(t)for(var n=t.length,i=0;i0){var a=o.indexOf(n);-1!==a&&o.splice(a,1)}},t.prototype.notifyComplete=function(){},t.prototype._next=function(e){if(0===this.toRespond.length){var t=[e].concat(this.values);this.project?this._tryProject(t):this.destination.next(t)}},t.prototype._tryProject=function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.OuterSubscriber)},9477:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(42109),s=n(84308),u=n(93658),c=n(72121);function l(){for(var e=[],t=0;tthis.index},e.prototype.hasCompleted=function(){return this.array.length===this.index},e}(),v=function(e){function t(t,n,i){e.call(this,t),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(t,e),t.prototype[c.iterator]=function(){return this},t.prototype.next=function(){var e=this.buffer;return 0===e.length&&this.isComplete?{value:null,done:!0}:{value:e.shift(),done:!1}},t.prototype.hasValue=function(){return this.buffer.length>0},t.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},t.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){this.buffer.push(t),this.parent.checkIterators()},t.prototype.subscribe=function(e,t){return u.subscribeToResult(this,this.observable,this,t)},t}(s.OuterSubscriber)},33310:function(e,t,n){"use strict";var i=n(9477);t.zipAll=function(e){return function(t){return t.lift(new i.ZipOperator(e))}}},28101:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this)}return i(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(72293).Subscription);t.Action=r},67529:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=n(95018),a=function(e){function t(t,n){e.call(this,t,n),this.scheduler=t,this.work=n}return i(t,e),t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=o.AnimationFrame.requestAnimationFrame(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(o.AnimationFrame.cancelAnimationFrame(n),t.scheduled=void 0)},t}(r.AsyncAction);t.AnimationFrameAction=a},68909:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=r.Immediate.setImmediate(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(r.Immediate.clearImmediate(n),t.scheduled=void 0)},t}(n(12624).AsyncAction);t.AsapAction=o},25766:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,i):t.flush(this)},t}(n(12624).AsyncAction);t.QueueAction=r},77373:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t}(n(42704).AsyncScheduler);t.QueueScheduler=r},18353:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=function(e){function t(t,n){var i=this;void 0===t&&(t=a),void 0===n&&(n=Number.POSITIVE_INFINITY),e.call(this,t,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,i=this.maxFrames;(t=n.shift())&&(this.frame=t.delay)<=i&&!(e=t.execute(t.state,t.delay)););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(n(42704).AsyncScheduler);t.VirtualTimeScheduler=o;var a=function(e){function t(t,n,i){void 0===i&&(i=t.index+=1),e.call(this,t,n),this.scheduler=t,this.work=n,this.index=i,this.active=!0,this.index=t.index=i}return i(t,e),t.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return e.prototype.schedule.call(this,n,i);this.active=!1;var r=new t(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},t.prototype.requestAsyncId=function(e,n,i){void 0===i&&(i=0),this.delay=e.frame+i;var r=e.actions;return r.push(this),r.sort(t.sortActions),!0},t.prototype.recycleAsyncId=function(e,t,n){void 0===n&&(n=0)},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(r.AsyncAction);t.VirtualAction=a},12948:function(e,t,n){"use strict";var i=n(67529),r=n(68909);t.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(e,t,n){"use strict";var i=n(3496),r=n(25766);t.asap=new r.AsapScheduler(i.AsapAction)},90680:function(e,t,n){"use strict";var i=n(12624),r=n(42704);t.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(e,t,n){"use strict";var i=n(7100),r=n(77373);t.queue=new r.QueueScheduler(i.QueueAction)},72121:function(e,t,n){"use strict";var i=n(80019);function r(e){var t=e.Symbol;if("function"==typeof t)return t.iterator||(t.iterator=t("iterator polyfill")),t.iterator;var n=e.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=e.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),o=0;o0;)t.shift().setup();e.prototype.flush.call(this);for(var n=this.flushTests.filter(function(e){return e.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},t.parseMarblesAsSubscriptions=function(e){if("string"!=typeof e)return new u.SubscriptionLog(Number.POSITIVE_INFINITY);for(var t=e.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=0;o-1?n:a;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:a;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+s+"'.")}}return r<0?new u.SubscriptionLog(i):new u.SubscriptionLog(i,r)},t.parseMarbles=function(e,t,n,i){if(void 0===i&&(i=!1),-1!==e.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=e.length,s=[],u=e.indexOf("^"),c=-1===u?0:u*-this.frameTimeFactor,l="object"!=typeof t?function(e){return e}:function(e){return i&&t[e]instanceof a.ColdObservable?t[e].messages:t[e]},h=-1,d=0;d-1?h:f,notification:p})}return s},t}(c.VirtualTimeScheduler);t.TestScheduler=l},95018:function(e,t,n){"use strict";var i=n(80019),r=function(e){e.requestAnimationFrame?(this.cancelAnimationFrame=e.cancelAnimationFrame.bind(e),this.requestAnimationFrame=e.requestAnimationFrame.bind(e)):e.mozRequestAnimationFrame?(this.cancelAnimationFrame=e.mozCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.mozRequestAnimationFrame.bind(e)):e.webkitRequestAnimationFrame?(this.cancelAnimationFrame=e.webkitCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.webkitRequestAnimationFrame.bind(e)):e.msRequestAnimationFrame?(this.cancelAnimationFrame=e.msCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.msRequestAnimationFrame.bind(e)):e.oRequestAnimationFrame?(this.cancelAnimationFrame=e.oCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.oRequestAnimationFrame.bind(e)):(this.cancelAnimationFrame=e.clearTimeout.bind(e),this.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)})};t.RequestAnimationFrameDefinition=r,t.AnimationFrame=new r(i.root)},11758:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"argument out of range");this.name=t.name="ArgumentOutOfRangeError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.ArgumentOutOfRangeError=i},44640:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"no elements in sequence");this.name=t.name="EmptyError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.EmptyError=i},30764:function(e,t){"use strict";var n=function(){function e(){this.values={}}return e.prototype.delete=function(e){return this.values[e]=null,!0},e.prototype.set=function(e,t){return this.values[e]=t,this},e.prototype.get=function(e){return this.values[e]},e.prototype.forEach=function(e,t){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&e.call(t,n[i],i)},e.prototype.clear=function(){this.values={}},e}();t.FastMap=n},42982:function(e,t,n){"use strict";var i=n(80019),r=function(){function e(e){if(this.root=e,e.setImmediate&&"function"==typeof e.setImmediate)this.setImmediate=e.setImmediate.bind(e),this.clearImmediate=e.clearImmediate.bind(e);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var t=function e(t){delete e.instance.tasksByHandle[t]};t.instance=this,this.clearImmediate=t}}return e.prototype.identify=function(e){return this.root.Object.prototype.toString.call(e)},e.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},e.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},e.prototype.canUseReadyStateChange=function(){var e=this.root.document;return Boolean(e&&"onreadystatechange"in e.createElement("script"))},e.prototype.canUsePostMessage=function(){var e=this.root;if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}return!1},e.prototype.partiallyApplied=function(e){for(var t=[],n=1;n=0}},1856:function(e,t){"use strict";t.isObject=function(e){return null!=e&&"object"==typeof e}},35130:function(e,t){"use strict";t.isPromise=function(e){return e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}},41503:function(e,t){"use strict";t.isScheduler=function(e){return e&&"function"==typeof e.schedule}},68668:function(e,t){"use strict";t.noop=function(){}},67239:function(e,t){"use strict";t.not=function(e,t){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=e,n.thisArg=t,n}},10142:function(e,t,n){"use strict";var i=n(68668);function r(e){return e?1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}:i.noop}t.pipe=function(){for(var e=[],t=0;t=n?{done:!0}:{done:!1,value:e[i++]}})},t.empty=function(){var e=new t(null);return e.done=!0,e},t.is=function(e){return e instanceof t||"object"==typeof e&&null!==e&&"function"==typeof e.next},e.exports=t},97310:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=function(){return void 0!==r.window.orientation},t.default=function(e){if(!e&&!(0,o.default)())return"Node";if((0,a.default)(e))return"Electron";var t="undefined"!=typeof navigator?navigator:{},n=e||t.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),s=-1!==n.indexOf("Trident/");return i||s?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),o=i(n(61602)),a=i(n(22344))},41151:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var r=i(n(34321)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};t.self=o.self||o.window||o.global,t.window=o.window||o.self||o.global,t.global=o.global||o.self||o.window,t.document=o.document||{},t.process=o.process||{};var a=console;t.console=a},84761:function(e,t,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(t,"CO",{enumerable:!0,get:function(){return o.global}}),Object.defineProperty(t,"qs",{enumerable:!0,get:function(){return a.default}});var o=n(41151),a=(u(n(61602)),u(n(97310)));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=o?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(i,a,u):i[a]=e[a]}return i.default=e,n&&n.set(e,i),i}i(n(22344))},61602:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=a,t.isBrowserMainThread=function(){return a()&&"undefined"!=typeof document};var r=i(n(34321)),o=i(n(22344));function a(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,o.default)()}},22344:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(14180),t),r(n(75103),t),r(n(48965),t),r(n(32595),t),r(n(82417),t),r(n(92451),t),r(n(17735),t)},14180:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0,t.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},75103:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;var i=n(14180),r=n(48965),o=n(32595),a=n(82417),s=n(92451),u=n(17735),c=0;t.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},48965:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;var n=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();t.DefaultGraph=n,n.INSTANCE=new n},32595:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;var i=n(82417),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();t.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0,t.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},92451:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0,t.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},17735:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0,t.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},31609:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedJavaScriptPrimitives=t.getSupportedRdfDatatypes=t.getTermRaw=t.toRdf=t.fromRdf=void 0;var o=n(86991),a=n(9938),s=n(66060);r(n(9938),t),r(n(88871),t),r(n(66060),t);var u=new o.DataFactory,c=new s.Translator;function l(e,t){return c.fromRdf(e,t)}c.registerHandler(new a.TypeHandlerString,a.TypeHandlerString.TYPES.map(function(e){return u.namedNode(e)}),["string"]),c.registerHandler(new a.TypeHandlerBoolean,[a.TypeHandlerBoolean.TYPE].map(function(e){return u.namedNode(e)}),["boolean"]),c.registerHandler(new a.TypeHandlerNumberDouble,a.TypeHandlerNumberDouble.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerNumberInteger,a.TypeHandlerNumberInteger.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerDate,a.TypeHandlerDate.TYPES.map(function(e){return u.namedNode(e)}),["object"]),t.fromRdf=l,t.toRdf=function(e,t){return t&&"namedNode"in t&&(t={dataFactory:t}),(t=t||{})&&!t.dataFactory&&(t.dataFactory=u),c.toRdf(e,t)},t.getTermRaw=function(e,t){return"Literal"===e.termType?l(e,t):e.value},t.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},t.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},66060:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0,t.Translator=function(){function e(){m(this,e),this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}return b(e,[{key:"registerHandler",value:function(e,t,n){var i,r=_(t);try{for(r.s();!(i=r.n()).done;){var o=i.value;this.supportedRdfDatatypes.push(o),this.fromRdfHandlers[o.value]=e}}catch(l){r.e(l)}finally{r.f()}var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value,c=this.toRdfHandlers[u];c||(this.toRdfHandlers[u]=c=[]),c.push(e)}}catch(l){s.e(l)}finally{s.f()}}},{key:"fromRdf",value:function(e,t){var n=this.fromRdfHandlers[e.datatype.value];return n?n.fromRdf(e,t):e.value}},{key:"toRdf",value:function(e,t){var n=this.toRdfHandlers[typeof e];if(n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=i.value.toRdf(e,t);if(o)return o}}catch(a){r.e(a)}finally{r.f()}}throw new Error("Invalid JavaScript value: '".concat(e,"'"))}},{key:"getSupportedRdfDatatypes",value:function(){return this.supportedRdfDatatypes}},{key:"getSupportedJavaScriptPrimitives",value:function(){return Object.keys(this.toRdfHandlers)}}],[{key:"incorrectRdfDataType",value:function(e){throw new Error("Invalid RDF ".concat(e.datatype.value," value: '").concat(e.value,"'"))}}]),e}()},80727:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerBoolean=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){switch(e.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return t&&i.Translator.incorrectRdfDataType(e),!1}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(t?"true":"false",i||r.namedNode(e.TYPE))}}]),e}();t.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerDate=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(t,n){switch(n&&!t.value.match(e.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":var r=t.value.split("-");return new Date(0,parseInt(r[0],10)-1,parseInt(r[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;if(i=i||r.namedNode(e.TYPES[0]),!(t instanceof Date))return null;var o,a=t;switch(i.value){case"http://www.w3.org/2001/XMLSchema#gDay":o=String(a.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":o=a.getUTCMonth()+1+"-"+a.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":o=String(a.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":o=a.getUTCFullYear()+"-"+(a.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":o=a.toISOString().replace(/T.*$/,"");break;default:o=a.toISOString()}return r.literal(o,i)}}]),e}();t.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberDouble=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseFloat(e.value);return t&&isNaN(n)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return i=i||r.namedNode(e.TYPES[0]),isNaN(t)?r.literal("NaN",i):isFinite(t)?t%1==0?null:r.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),i):r.literal(t>0?"INF":"-INF",i)}}]),e}();t.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberInteger=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseInt(e.value,10);return t&&(isNaN(n)||e.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(String(t),i||r.namedNode(t<=e.MAX_INT&&t>=e.MIN_INT?e.TYPES[0]:e.TYPES[1]))}}]),e}();t.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerString=void 0;var n=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e){return e.value}},{key:"toRdf",value:function(e,t){var n=t.datatype;return t.dataFactory.literal(e,n)}}]),e}();t.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(80727),t),r(n(52525),t),r(n(38554),t),r(n(37750),t),r(n(14608),t)},51316:function(n,i,r){"use strict";var d,f,g,y,w,k,x,S,C,E,O,T=regeneratorRuntime.mark(Mj),A=regeneratorRuntime.mark(zX),R={};r.r(R),r.d(R,{decode:function(){return Sj},encode:function(){return Ej}});var D={};r.r(D),r.d(D,{decode:function(){return Ij},encode:function(){return Dj}});var N={};r.r(N),r.d(N,{decode:function(){return Nj},encode:function(){return jj}});var L={};function j(e){return"function"==typeof e}r.r(L),r.d(L,{decode:function(){return Bj},encode:function(){return zj}});var F=!1,B={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){var t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else F&&console.log("RxJS: Back to a better error behavior. Thank you. <3");F=e},get useDeprecatedSynchronousErrorHandling(){return F}};function V(e){setTimeout(function(){throw e},0)}var z={closed:!0,next:function(e){},error:function(e){if(B.useDeprecatedSynchronousErrorHandling)throw e;V(e)},complete:function(){}},U=Array.isArray||function(e){return e&&"number"==typeof e.length};function H(e){return null!==e&&"object"==typeof e}var G,W=function(){function e(e){return Error.call(this),this.message=e?"".concat(e.length," errors occurred during unsubscription:\n").concat(e.map(function(e,t){return"".concat(t+1,") ").concat(e.toString())}).join("\n ")):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),q=function(){function e(t){m(this,e),this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return b(e,[{key:"unsubscribe",value:function(){var t;if(!this.closed){var n=this._parentOrParents,i=this._ctorUnsubscribe,r=this._unsubscribe,o=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return"function"==typeof t?function(i){return i.pipe(ke(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))},n))}:("number"==typeof t&&(n=t),function(t){return t.lift(new xe(e,n))})}var xe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY;m(this,e),this.project=t,this.concurrent=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Se(e,this.project,this.concurrent))}}]),e}(),Se=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return m(this,n),(r=t.call(this,e)).project=i,r.concurrent=o,r.hasCompleted=!1,r.buffer=[],r.active=0,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}]),n}(_e);function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;return ke(Z,e)}function Ee(e,t){return t?me(e,t):new te(de(e))}function Oe(){for(var e=arguments.length,t=new Array(e),n=0;n1&&"number"==typeof t[t.length-1]&&(i=t.pop())):"number"==typeof o&&(i=t.pop()),null===r&&1===t.length&&t[0]instanceof te?t[0]:Ce(i)(Ee(t,r))}function Te(){return function(e){return e.lift(new Pe(e))}}var Pe=function(){function e(t){m(this,e),this.connectable=t}return b(e,[{key:"call",value:function(e,t){var n=this.connectable;n._refCount++;var i=new Ae(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r}}]),e}(),Ae=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).connectable=i,r}return b(n,[{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}]),n}(K),Me=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).source=e,r.subjectFactory=i,r._refCount=0,r._isComplete=!1,r}return b(n,[{key:"_subscribe",value:function(e){return this.getSubject().subscribe(e)}},{key:"getSubject",value:function(){var e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}},{key:"connect",value:function(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new q).add(this.source.subscribe(new Re(this.getSubject(),this))),e.closed&&(this._connection=null,e=q.EMPTY)),e}},{key:"refCount",value:function(){return Te()(this)}}]),n}(te),Ie=function(){var e=Me.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),Re=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e)).connectable=t,r}return b(i,[{key:"_error",value:function(t){this._unsubscribe(),e(p(i.prototype),"_error",this).call(this,t)}},{key:"_complete",value:function(){this.connectable._isComplete=!0,this._unsubscribe(),e(p(i.prototype),"_complete",this).call(this)}},{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}]),i}(oe);function De(e,t){return function(n){var i;if(i="function"==typeof e?e:function(){return e},"function"==typeof t)return n.lift(new Ne(i,t));var r=Object.create(n,Ie);return r.source=n,r.subjectFactory=i,r}}var Ne=function(){function e(t,n){m(this,e),this.subjectFactory=t,this.selector=n}return b(e,[{key:"call",value:function(e,t){var n=this.selector,i=this.subjectFactory(),r=n(i).subscribe(e);return r.add(t.subscribe(i)),r}}]),e}();function Le(){return new ae}function je(){return function(e){return Te()(De(Le)(e))}}function Fe(e){for(var t in e)if(e[t]===Fe)return t;throw Error("Could not find renamed property on target object.")}function Be(e,t){for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Ve(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ve).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return"".concat(e.overriddenName);if(e.name)return"".concat(e.name);var t=e.toString();if(null==t)return""+t;var n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function ze(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}var Ue=Fe({__forward_ref__:Fe});function He(e){return e.__forward_ref__=He,e.toString=function(){return Ve(this())},e}function Ge(e){return We(e)?e():e}function We(e){return"function"==typeof e&&e.hasOwnProperty(Ue)&&e.__forward_ref__===He}var qe=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,function(e,t){return"".concat(e?"NG0".concat(e,": "):"").concat(t)}(e,i))).code=e,r}return n}(l(Error));function Xe(e){return"string"==typeof e?e:null==e?"":String(e)}function Ye(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Xe(e)}function Ke(e,t){var n=t?" in ".concat(t):"";throw new qe("201","No provider for ".concat(Ye(e)," found").concat(n))}function $e(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Qe(e){return{providers:e.providers||[],imports:e.imports||[]}}function Ze(e){return Je(e,nt)||Je(e,rt)}function Je(e,t){return e.hasOwnProperty(t)?e[t]:null}function et(e){return e&&(e.hasOwnProperty(it)||e.hasOwnProperty(ot))?e[it]:null}var tt,nt=Fe({"\u0275prov":Fe}),it=Fe({"\u0275inj":Fe}),rt=Fe({ngInjectableDef:Fe}),ot=Fe({ngInjectorDef:Fe}),at=((at=at||{})[at.Default=0]="Default",at[at.Host=1]="Host",at[at.Self=2]="Self",at[at.SkipSelf=4]="SkipSelf",at[at.Optional=8]="Optional",at);function st(e){var t=tt;return tt=e,t}function ut(e,t,n){var i=Ze(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&at.Optional?null:void 0!==t?t:void Ke(Ve(e),"Injector")}function ct(e){return{toString:e}.toString()}var lt=((lt=lt||{})[lt.OnPush=0]="OnPush",lt[lt.Default=1]="Default",lt),ht=((ht=ht||{})[ht.Emulated=0]="Emulated",ht[ht.None=2]="None",ht[ht.ShadowDom=3]="ShadowDom",ht),dt="undefined"!=typeof globalThis&&globalThis,ft="undefined"!=typeof window&&window,pt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,vt="undefined"!=typeof global&&global,gt=dt||vt||ft||pt,mt={},yt=[],bt=Fe({"\u0275cmp":Fe}),_t=Fe({"\u0275dir":Fe}),wt=Fe({"\u0275pipe":Fe}),kt=Fe({"\u0275mod":Fe}),xt=Fe({"\u0275loc":Fe}),St=Fe({"\u0275fac":Fe}),Ct=Fe({__NG_ELEMENT_ID__:Fe}),Et=0;function Ot(e){return ct(function(){var t={},n={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors||yt,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||ht.Emulated,id:"c",styles:e.styles||yt,_:null,setInput:null,schemas:e.schemas||null,tView:null},i=e.directives,r=e.features,o=e.pipes;return n.id+=Et++,n.inputs=It(e.inputs,t),n.outputs=It(e.outputs),r&&r.forEach(function(e){return e(n)}),n.directiveDefs=i?function(){return("function"==typeof i?i():i).map(Tt)}:null,n.pipeDefs=o?function(){return("function"==typeof o?o():o).map(Pt)}:null,n})}function Tt(e){return Nt(e)||function(e){return e[_t]||null}(e)}function Pt(e){return function(e){return e[wt]||null}(e)}var At={};function Mt(e){return ct(function(){var t={type:e.type,bootstrap:e.bootstrap||yt,declarations:e.declarations||yt,imports:e.imports||yt,exports:e.exports||yt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null};return null!=e.id&&(At[e.id]=e.type),t})}function It(e,t){if(null==e)return mt;var n={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}var Rt=Ot;function Dt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,onDestroy:e.type.prototype.ngOnDestroy||null}}function Nt(e){return e[bt]||null}function Lt(e,t){var n=e[kt]||null;if(!n&&!0===t)throw new Error("Type ".concat(Ve(e)," does not have '\u0275mod' property."));return n}function jt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Ft(e){return Array.isArray(e)&&!0===e[1]}function Bt(e){return 0!=(8&e.flags)}function Vt(e){return 2==(2&e.flags)}function zt(e){return 1==(1&e.flags)}function Ut(e){return null!==e.template}function Ht(e){return 0!=(512&e[2])}function Gt(e,t){return e.hasOwnProperty(St)?e[St]:null}var Wt=function(){function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i}return b(e,[{key:"isFirstChange",value:function(){return this.firstChange}}]),e}();function qt(){return Xt}function Xt(e){return e.type.prototype.ngOnChanges&&(e.setInput=Kt),Yt}function Yt(){var e=Qt(this),t=null==e?void 0:e.current;if(t){var n=e.previous;if(n===mt)e.previous=t;else for(var i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Kt(e,t,n,i){var r=Qt(e)||function(e,t){return e[$t]=t}(e,{previous:mt,current:null}),o=r.current||(r.current={}),a=r.previous,s=this.declaredInputs[n],u=a[s];o[s]=new Wt(u&&u.currentValue,t,a===mt),e[i]=t}qt.ngInherit=!0;var $t="__ngSimpleChanges__";function Qt(e){return e[$t]||null}var Zt,Jt="http://www.w3.org/2000/svg";function en(){return void 0!==Zt?Zt:"undefined"!=typeof document?document:void 0}function tn(e){return!!e.listen}var nn={createRenderer:function(e,t){return en()}};function rn(e){for(;Array.isArray(e);)e=e[0];return e}function on(e,t){return rn(t[e])}function an(e,t){return rn(t[e.index])}function sn(e,t){return e.data[t]}function un(e,t){return e[t]}function cn(e,t){var n=t[e];return jt(n)?n:n[0]}function ln(e){return 4==(4&e[2])}function hn(e){return 128==(128&e[2])}function dn(e,t){return null==t?null:e[t]}function fn(e){e[18]=0}function pn(e,t){e[5]+=t;for(var n=e,i=e[3];null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}var vn={lFrame:Vn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gn(){return vn.bindingsEnabled}function mn(){return vn.lFrame.lView}function yn(){return vn.lFrame.tView}function bn(e){return vn.lFrame.contextLView=e,e[8]}function _n(){for(var e=wn();null!==e&&64===e.type;)e=e.parent;return e}function wn(){return vn.lFrame.currentTNode}function kn(e,t){var n=vn.lFrame;n.currentTNode=e,n.isParent=t}function xn(){return vn.lFrame.isParent}function Sn(){vn.lFrame.isParent=!1}function Cn(){return vn.isInCheckNoChangesMode}function En(e){vn.isInCheckNoChangesMode=e}function On(){var e=vn.lFrame,t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Tn(){return vn.lFrame.bindingIndex}function Pn(){return vn.lFrame.bindingIndex++}function An(e){var t=vn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Mn(e,t){var n=vn.lFrame;n.bindingIndex=n.bindingRootIndex=e,In(t)}function In(e){vn.lFrame.currentDirectiveIndex=e}function Rn(e){var t=vn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}function Dn(){return vn.lFrame.currentQueryIndex}function Nn(e){vn.lFrame.currentQueryIndex=e}function Ln(e){var t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function jn(e,t,n){if(n&at.SkipSelf){for(var i=t,r=e;!(null!==(i=i.parent)||n&at.Host||(i=Ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;t=i,e=r}var o=vn.lFrame=Bn();return o.currentTNode=t,o.lView=e,!0}function Fn(e){var t=Bn(),n=e[1];vn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Bn(){var e=vn.lFrame,t=null===e?null:e.child;return null===t?Vn(e):t}function Vn(e){var t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function zn(){var e=vn.lFrame;return vn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Un=zn;function Hn(){var e=zn();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Gn(){return vn.lFrame.selectedIndex}function Wn(e){vn.lFrame.selectedIndex=e}function qn(){var e=vn.lFrame;return sn(e.tView,e.selectedIndex)}function Xn(){vn.lFrame.currentNamespace=Jt}function Yn(e,t){for(var n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[s]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}var ei=function e(t,n,i){m(this,e),this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i};function ti(e,t,n){for(var i=tn(e),r=0;rt){a=o-1;break}}}for(;o>16}(e),i=t;n>0;)i=i[15],n--;return i}var ci=!0;function li(e){var t=ci;return ci=e,t}var hi=0;function di(e,t){var n=pi(e,t);if(-1!==n)return n;var i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,fi(i.data,e),fi(t,null),fi(i.blueprint,null));var r=vi(e,t),o=e.injectorIndex;if(ai(r))for(var a=si(r),s=ui(r,t),u=s[1].data,c=0;c<8;c++)t[o+c]=s[a+c]|u[a+c];return t[o+8]=r,o}function fi(e,t){e.push(0,0,0,0,0,0,0,0,t)}function pi(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function vi(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;for(var n=0,i=null,r=t;null!==r;){var o=r[1],a=o.type;if(null===(i=2===a?o.declTNode:1===a?r[6]:null))return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function gi(e,t,n){!function(e,t,n){var i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Ct)&&(i=n[Ct]),null==i&&(i=n[Ct]=hi++);var r=255&i;t.data[e+(r>>5)]|=1<3&&void 0!==arguments[3]?arguments[3]:at.Default,r=arguments.length>4?arguments[4]:void 0;if(null!==e){var o=function(e){if("string"==typeof e)return e.charCodeAt(0)||0;var t=e.hasOwnProperty(Ct)?e[Ct]:void 0;return"number"==typeof t?t>=0?255&t:wi:t}(n);if("function"==typeof o){if(!jn(t,e,i))return i&at.Host?mi(r,n,i):yi(t,n,i,r);try{var a=o(i);if(null!=a||i&at.Optional)return a;Ke(n)}finally{Un()}}else if("number"==typeof o){var s=null,u=pi(e,t),c=-1,l=i&at.Host?t[16][6]:null;for((-1===u||i&at.SkipSelf)&&(-1!==(c=-1===u?vi(e,t):t[u+8])&&Ei(i,!1)?(s=t[1],u=si(c),t=ui(c,t)):u=-1);-1!==u;){var h=t[1];if(Ci(o,u,h.data)){var d=ki(u,t,n,s,i,l);if(d!==_i)return d}-1!==(c=t[u+8])&&Ei(i,t[1].data[u+8]===l)&&Ci(o,u,t)?(s=h,u=si(c),t=ui(c,t)):u=-1}}}return yi(t,n,i,r)}var _i={};function wi(){return new Oi(_n(),mn())}function ki(e,t,n,i,r,o){var a=t[1],s=a.data[e+8],u=xi(s,a,n,null==i?Vt(s)&&ci:i!=a&&0!=(3&s.type),r&at.Host&&o===s);return null!==u?Si(t,a,u,s):_i}function xi(e,t,n,i,r){for(var o=e.providerIndexes,a=t.data,s=1048575&o,u=e.directiveStart,c=o>>20,l=r?s+c:e.directiveEnd,h=i?s:s+c;h=u&&d.type===n)return h}if(r){var f=a[u];if(f&&Ut(f)&&f.type===n)return u}return null}function Si(e,t,n,i){var r=e[n],o=t.data;if(function(e){return e instanceof ei}(r)){var a=r;a.resolving&&function(e,t){throw new qe("200","Circular dependency in DI detected for ".concat(e))}(Ye(o[n]));var s=li(a.canSeeViewProviders);a.resolving=!0;var u=a.injectImpl?st(a.injectImpl):null;jn(e,i,at.Default);try{r=e[n]=a.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function(e,t,n){var i=t.type.prototype,r=i.ngOnChanges,o=i.ngOnInit,a=i.ngDoCheck;if(r){var s=Xt(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}o&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,o),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,a))}(n,o[n],t)}finally{null!==u&&st(u),li(s),a.resolving=!1,Un()}}return r}function Ci(e,t,n){return!!(n[t+(e>>5)]&1<=e.length?e.push(n):e.splice(t,0,n)}function Fi(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Bi(e,t){for(var n=[],i=0;i=0?e[1|i]=n:function(e,t,n,i){var r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i=~i,t,n),i}function zi(e,t){var n=Ui(e,t);if(n>=0)return e[1|n]}function Ui(e,t){return function(e,t,n){for(var i=0,r=e.length>>1;r!==i;){var o=i+(r-i>>1),a=e[o<<1];if(t===a)return o<<1;a>t?r=o:i=o+1}return~(r<<1)}(e,t)}var Hi,Gi={},Wi="__NG_DI_FLAG__",qi="ngTempTokenPath",Xi=/\n/gm,Yi="__source",Ki=Fe({provide:String,useValue:Fe});function $i(e){var t=Hi;return Hi=e,t}function Qi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;if(void 0===Hi)throw new Error("inject() must be called from an injection context");return null===Hi?ut(e,void 0,t):Hi.get(e,t&at.Optional?null:void 0,t)}function Zi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;return(tt||Qi)(Ge(e),t)}var Ji=Zi;function er(e){for(var t=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:null;e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.substr(2):e;var r=Ve(t);if(Array.isArray(t))r=t.map(Ve).join(" -> ");else if("object"==typeof t){var o=[];for(var a in t)if(t.hasOwnProperty(a)){var s=t[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):Ve(s)))}r="{".concat(o.join(", "),"}")}return"".concat(n).concat(i?"("+i+")":"","[").concat(r,"]: ").concat(e.replace(Xi,"\n "))}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[qi]=null,e}var rr,or,ar=tr(Ii("Inject",function(e){return{token:e}}),-1),sr=tr(Ii("Optional"),8),ur=tr(Ii("SkipSelf"),4);function cr(e){var t;return(null===(t=function(){if(void 0===rr&&(rr=null,gt.trustedTypes))try{rr=gt.trustedTypes.createPolicy("angular",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(e){}return rr}())||void 0===t?void 0:t.createHTML(e))||e}function lr(){if(void 0===or&&(or=null,gt.trustedTypes))try{or=gt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(G){}return or}function hr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createHTML(e))||e}function dr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createScriptURL(e))||e}var fr=function(){function e(t){m(this,e),this.changingThisBreaksApplicationSecurity=t}return b(e,[{key:"toString",value:function(){return"SafeValue must use [property]=binding: ".concat(this.changingThisBreaksApplicationSecurity," (see https://g.co/ng/security#xss)")}}]),e}(),pr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"HTML"}}]),n}(fr),vr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Style"}}]),n}(fr),gr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Script"}}]),n}(fr),mr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"URL"}}]),n}(fr),yr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"ResourceURL"}}]),n}(fr);function br(e){return e instanceof fr?e.changingThisBreaksApplicationSecurity:e}function _r(e,t){var n=wr(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error("Required a safe ".concat(t,", got a ").concat(n," (see https://g.co/ng/security#xss)"))}return n===t}function wr(e){return e instanceof fr&&e.getTypeName()||null}var kr=function(){function e(t){m(this,e),this.inertDocumentHelper=t}return b(e,[{key:"getInertBodyElement",value:function(e){e=""+e;try{var t=(new window.DOMParser).parseFromString(cr(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}]),e}(),xr=function(){function e(t){if(m(this,e),this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){var n=this.inertDocument.createElement("html");this.inertDocument.appendChild(n);var i=this.inertDocument.createElement("body");n.appendChild(i)}}return b(e,[{key:"getInertBodyElement",value:function(e){var t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=cr(e),t;var n=this.inertDocument.createElement("body");return n.innerHTML=cr(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}},{key:"stripCustomNsAttrs",value:function(e){for(var t=e.attributes,n=t.length-1;0"),!0}},{key:"endElement",value:function(e){var t=e.nodeName.toLowerCase();Dr.hasOwnProperty(t)&&!Mr.hasOwnProperty(t)&&(this.buf.push(""))}},{key:"chars",value:function(e){this.buf.push(Ur(e))}},{key:"checkClobberedElement",value:function(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: ".concat(e.outerHTML));return t}}]),e}(),Vr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zr=/([^\#-~ |!])/g;function Ur(e){return e.replace(/&/g,"&").replace(Vr,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(zr,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}function Hr(e,t){var n=null;try{Ar=Ar||function(e){var t=new xr(e);return function(){try{return!!(new window.DOMParser).parseFromString(cr(""),"text/html")}catch(e){return!1}}()?new kr(t):t}(e);var i=t?String(t):"";n=Ar.getInertBodyElement(i);var r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=n.innerHTML,n=Ar.getInertBodyElement(i)}while(i!==o);return cr((new Br).sanitizeChildren(Gr(n)||n))}finally{if(n)for(var a=Gr(n)||n;a.firstChild;)a.removeChild(a.firstChild)}}function Gr(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Wr=((Wr=Wr||{})[Wr.NONE=0]="NONE",Wr[Wr.HTML=1]="HTML",Wr[Wr.STYLE=2]="STYLE",Wr[Wr.SCRIPT=3]="SCRIPT",Wr[Wr.URL=4]="URL",Wr[Wr.RESOURCE_URL=5]="RESOURCE_URL",Wr);function qr(e){var t=Kr();return t?hr(t.sanitize(Wr.HTML,e)||""):_r(e,"HTML")?hr(br(e)):Hr(en(),Xe(e))}function Xr(e){var t=Kr();return t?t.sanitize(Wr.URL,e)||"":_r(e,"URL")?br(e):Er(Xe(e))}function Yr(e){var t=Kr();if(t)return dr(t.sanitize(Wr.RESOURCE_URL,e)||"");if(_r(e,"ResourceURL"))return dr(br(e));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function Kr(){var e=mn();return e&&e[12]}var $r="__ngContext__";function Qr(e,t){e[$r]=t}function Zr(e){var t=function(e){return e[$r]||null}(e);return t?Array.isArray(t)?t:t.lView:null}function Jr(e){return e.ngOriginalError}function eo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&(e[n-1][4]=i[4]);var o=Fi(e,10+t);!function(e,t){Mo(e,t,t[11],2,null,null),t[0]=null,t[6]=null}(i[1],i);var a=o[19];null!==a&&a.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}}function mo(e,t){if(!(256&t[2])){var n=t[11];tn(n)&&n.destroyNode&&Mo(e,t,n,3,null,null),function(e){var t=e[13];if(!t)return yo(e[1],e);for(;t;){var n=null;if(jt(t))n=t[13];else{var i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)jt(t)&&yo(t[1],t),t=t[3];null===t&&(t=e),jt(t)&&yo(t[1],t),n=t&&t[4]}t=n}}(t)}}function yo(e,t){if(!(256&t[2])){t[2]&=-129,t[2]|=256,function(e,t){var n;if(null!=e&&null!=(n=e.destroyHooks))for(var i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),o+=2}else{var l=i[r=n[o+1]];n[o].call(l)}if(null!==i){for(var h=r+1;ho?"":r[l+1].toLowerCase();var d=8&i?h:null;if(d&&-1!==No(d,c,0)||2&i&&c!==h){if(zo(i))return!1;a=!0}}}}else{if(!a&&!zo(i)&&!zo(u))return!1;if(a&&zo(u))continue;a=!1,i=u|1&i}}return zo(i)||a}function zo(e){return 0==(1&e)}function Uo(e,t,n,i){if(null===t)return-1;var r=0;if(i||!n){for(var o=!1;r-1)for(n++;n2&&void 0!==arguments[2]&&arguments[2],i=0;i0?'="'+s+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!zo(a)&&(t+=Wo(o,r),r=""),i=a,o=o||!zo(i);n++}return""!==r&&(t+=Wo(o,r)),t}var Xo={};function Yo(e){Ko(yn(),mn(),Gn()+e,Cn())}function Ko(e,t,n,i){if(!i)if(3==(3&t[2])){var r=e.preOrderCheckHooks;null!==r&&Kn(t,r,n)}else{var o=e.preOrderHooks;null!==o&&$n(t,o,0,n)}Wn(n)}function $o(e,t){return e<<17|t<<2}function Qo(e){return e>>17&32767}function Zo(e){return 2|e}function Jo(e){return(131068&e)>>2}function ea(e,t){return-131069&e|t<<2}function ta(e){return 1|e}function na(e,t){var n=e.contentQueries;if(null!==n)for(var i=0;i20&&Ko(e,t,20,Cn()),n(i,r)}finally{Wn(o)}}function la(e,t,n){if(Bt(t))for(var i=t.directiveEnd,r=t.directiveStart;r2&&void 0!==arguments[2]?arguments[2]:an,i=t.localNames;if(null!==i)for(var r=t.index+1,o=0;o0;){var n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=u&&s.push(u),s.push(i,r,a)}}function _a(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function wa(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function ka(e,t,n){if(n){if(t.exportAs)for(var i=0;i0&&Ma(n)}}function Ma(e){for(var t=co(e);null!==t;t=lo(t))for(var n=10;n0&&Ma(i)}var o=e[1].components;if(null!==o)for(var a=0;a0&&Ma(s)}}function Ia(e,t){var n=cn(t,e),i=n[1];(function(e,t){for(var n=t.length;n1&&void 0!==arguments[1]?arguments[1]:Gi;if(t===Gi){var n=new Error("NullInjectorError: No provider for ".concat(Ve(e),"!"));throw n.name="NullInjectorError",n}return t}}]),e}(),Ka=new Ri("Set Injector scope."),$a={},Qa={};function Za(){return void 0===qa&&(qa=new Ya),qa}function Ja(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0;return new es(e,n,t||Za(),i)}var es=function(){function e(t,n,i){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;m(this,e),this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;var a=[];n&&Li(n,function(e){return r.processProvider(e,t,n)}),Li([t],function(e){return r.processInjectorType(e,[],a)}),this.records.set(Xa,is(void 0,this));var s=this.records.get(Ka);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof t?null:Ve(t))}return b(e,[{key:"destroyed",get:function(){return this._destroyed}},{key:"destroy",value:function(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(function(e){return e.ngOnDestroy()})}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gi,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;this.assertNotDestroyed();var i=$i(this),r=st(void 0);try{if(!(n&at.SkipSelf)){var o=this.records.get(e);if(void 0===o){var a=function(e){return"function"==typeof e||"object"==typeof e&&e instanceof Ri}(e)&&Ze(e);o=a&&this.injectableDefInScope(a)?is(ts(e),$a):null,this.records.set(e,o)}if(null!=o)return this.hydrate(e,o)}return(n&at.Self?Za():this.parent).get(e,t=n&at.Optional&&t===Gi?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[qi]=s[qi]||[]).unshift(Ve(e)),i)throw s;return ir(s,e,"R3InjectorError",this.source)}throw s}finally{st(r),$i(i)}}},{key:"_resolveInjectorDefTypes",value:function(){var e=this;this.injectorDefTypes.forEach(function(t){return e.get(t)})}},{key:"toString",value:function(){var e=[];return this.records.forEach(function(t,n){return e.push(Ve(n))}),"R3Injector[".concat(e.join(", "),"]")}},{key:"assertNotDestroyed",value:function(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}},{key:"processInjectorType",value:function(e,t,n){var i=this;if(!(e=Ge(e)))return!1;var r=et(e),o=null==r&&e.ngModule||void 0,a=void 0===o?e:o,s=-1!==n.indexOf(a);if(void 0!==o&&(r=et(o)),null==r)return!1;if(null!=r.imports&&!s){var u;n.push(a);try{Li(r.imports,function(e){i.processInjectorType(e,t,n)&&(void 0===u&&(u=[]),u.push(e))})}finally{}if(void 0!==u)for(var c=function(e){var t=u[e],n=t.ngModule,r=t.providers;Li(r,function(e){return i.processProvider(e,n,r||yt)})},l=0;l0){var n=Bi(t,"?");throw new Error("Can't resolve all parameters for ".concat(Ve(e),": (").concat(n.join(", "),")."))}var i=function(e){var t=e&&(e[nt]||e[rt]);if(t){var n=function(e){if(e.hasOwnProperty("name"))return e.name;var t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn('DEPRECATED: DI is instantiating a token "'.concat(n,'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "').concat(n,'" class.')),t}return null}(e);return null!==i?function(){return i.factory(e)}:function(){return new e}}(e);throw new Error("unreachable")}function ns(e,t,n){var i;if(os(e)){var r=Ge(e);return Gt(r)||ts(r)}if(rs(e))i=function(){return Ge(e.useValue)};else if(function(e){return!(!e||!e.useFactory)}(e))i=function(){return e.useFactory.apply(e,v(er(e.deps||[])))};else if(function(e){return!(!e||!e.useExisting)}(e))i=function(){return Zi(Ge(e.useExisting))};else{var o=Ge(e&&(e.useClass||e.provide));if(!function(e){return!!e.deps}(e))return Gt(o)||ts(o);i=function(){return h(o,v(er(e.deps)))}}return i}function is(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{factory:e,value:t,multi:n?[]:void 0}}function rs(e){return null!==e&&"object"==typeof e&&Ki in e}function os(e){return"function"==typeof e}var as=function(e,t,n){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,r=Ja(e,t,n,i);return r._resolveInjectorDefTypes(),r}({name:n},t,e,n)},ss=function(){function e(){m(this,e)}return b(e,null,[{key:"create",value:function(e,t){return Array.isArray(e)?as(e,t,""):as(e.providers,e.parent,e.name||"")}}]),e}();function us(e,t){Yn(Zr(e)[1],_n())}function cs(e){for(var t=function(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),n=!0,i=[e];t;){var r=void 0;if(Ut(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new Error("Directives cannot inherit Components");r=t.\u0275dir}if(r){if(n){i.push(r);var o=e;o.inputs=ls(e.inputs),o.declaredInputs=ls(e.declaredInputs),o.outputs=ls(e.outputs);var a=r.hostBindings;a&&fs(e,a);var s=r.viewQuery,u=r.contentQueries;if(s&&hs(e,s),u&&ds(e,u),Be(e.inputs,r.inputs),Be(e.declaredInputs,r.declaredInputs),Be(e.outputs,r.outputs),Ut(r)&&r.data.animation){var c=e.data;c.animation=(c.animation||[]).concat(r.data.animation)}}var l=r.features;if(l)for(var h=0;h=0;i--){var r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ri(r.hostAttrs,n=ri(n,r.hostAttrs))}}(i)}function ls(e){return e===mt?{}:e===yt?[]:e}function hs(e,t){var n=e.viewQuery;e.viewQuery=n?function(e,i){t(e,i),n(e,i)}:t}function ds(e,t){var n=e.contentQueries;e.contentQueries=n?function(e,i,r){t(e,i,r),n(e,i,r)}:t}function fs(e,t){var n=e.hostBindings;e.hostBindings=n?function(e,i){t(e,i),n(e,i)}:t}ss.THROW_IF_NOT_FOUND=Gi,ss.NULL=new Ya,ss.\u0275prov=$e({token:ss,providedIn:"any",factory:function(){return Zi(Xa)}}),ss.__NG_ELEMENT_ID__=-1;var ps=null;function vs(){if(!ps){var e=gt.Symbol;if(e&&e.iterator)ps=e.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),n=0;n1&&void 0!==arguments[1]?arguments[1]:at.Default,n=mn();return null===n?Zi(e,t):bi(_n(),n,Ge(e),t)}function Ts(e,t,n){var i=mn();return _s(i,Pn(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!1),Ts}function Ps(e,t,n,i,r){var o=r?"class":"style";Ha(e,n,t.inputs[o],o,i)}function As(e,t,n,i){var r=mn(),o=yn(),a=20+e,s=r[11],u=r[a]=po(s,t,vn.lFrame.currentNamespace),c=o.firstCreatePass?function(e,t,n,i,r,o,a){var s=t.consts,u=ra(t,e,2,r,dn(s,o));return ya(t,n,u,dn(s,a)),null!==u.attrs&&Wa(u,u.attrs,!1),null!==u.mergedAttrs&&Wa(u,u.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,u),u}(a,o,r,0,t,n,i):o.data[a];kn(c,!0);var l=c.mergedAttrs;null!==l&&ti(s,u,l);var h=c.classes;null!==h&&Do(s,u,h);var d=c.styles;null!==d&&Ro(s,u,d),64!=(64&c.flags)&&Eo(o,r,u,c),0===vn.lFrame.elementDepthCount&&Qr(u,r),vn.lFrame.elementDepthCount++,zt(c)&&(ha(o,r,c),la(o,c,r)),null!==i&&da(r,c)}function Ms(){var e=_n();xn()?Sn():kn(e=e.parent,!1);var t=e;vn.lFrame.elementDepthCount--;var n=yn();n.firstCreatePass&&(Yn(n,e),Bt(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(t)&&Ps(n,t,mn(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function(e){return 0!=(32&e.flags)}(t)&&Ps(n,t,mn(),t.stylesWithoutHost,!1)}function Is(e,t,n,i){As(e,t,n,i),Ms()}function Rs(e,t,n){var i=mn(),r=yn(),o=e+20,a=r.firstCreatePass?function(e,t,n,i,r){var o=t.consts,a=dn(o,i),s=ra(t,e,8,"ng-container",a);return null!==a&&Wa(s,a,!0),ya(t,n,s,dn(o,r)),null!==t.queries&&t.queries.elementStart(t,s),s}(o,r,i,t,n):r.data[o];kn(a,!0);var s=i[o]=i[11].createComment("");Eo(r,i,s,a),Qr(s,i),zt(a)&&(ha(r,i,a),la(r,a,i)),null!=n&&da(i,a)}function Ds(){var e=_n(),t=yn();xn()?Sn():kn(e=e.parent,!1),t.firstCreatePass&&(Yn(t,e),Bt(e)&&t.queries.elementEnd(e))}function Ns(e,t,n){Rs(e,t,n),Ds()}function Ls(){return mn()}function js(e){return!!e&&"function"==typeof e.then}function Fs(e){return!!e&&"function"==typeof e.subscribe}var Bs=Fs;function Vs(e,t,n,i){var r=mn(),o=yn(),a=_n();return Us(o,r,r[11],a,e,t,!!n,i),Vs}function zs(e,t){var n=_n(),i=mn(),r=yn();return Us(r,i,za(Rn(r.data),n,i),n,e,t,!1),zs}function Us(e,t,n,i,r,o,a,s){var u=zt(i),c=e.firstCreatePass&&Va(e),l=t[8],h=Ba(t),d=!0;if(3&i.type||s){var f=an(i,t),p=s?s(f):f,v=h.length,g=s?function(e){return s(rn(e[i.index]))}:i.index;if(tn(n)){var m=null;if(!s&&u&&(m=function(e,t,n,i){var r=e.cleanup;if(null!=r)for(var o=0;ou?s[u]:null}"string"==typeof a&&(o+=2)}return null}(e,t,r,i.index)),null!==m)(m.__ngLastListenerFn__||m).__ngNextListenerFn__=o,m.__ngLastListenerFn__=o,d=!1;else{o=Gs(i,t,l,o,!1);var y=n.listen(p,r,o);h.push(o,y),c&&c.push(r,g,v,v+1)}}else o=Gs(i,t,l,o,!0),p.addEventListener(r,o,a),h.push(o),c&&c.push(r,g,v,a)}else o=Gs(i,t,l,o,!1);var b,_=i.outputs;if(d&&null!==_&&(b=_[r])){var w=b.length;if(w)for(var k=0;k0&&void 0!==arguments[0]?arguments[0]:1;return function(e){return(vn.lFrame.contextLView=function(e,t){for(;e>0;)t=t[15],e--;return t}(e,vn.lFrame.contextLView))[8]}(e)}function qs(e,t){for(var n=null,i=function(e){var t=e.attrs;if(null!=t){var n=t.indexOf(5);if(0==(1&n))return t[n+1]}return null}(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,i=mn(),r=yn(),o=ra(r,20+e,16,null,n||null);null===o.projection&&(o.projection=t),Sn(),64!=(64&o.flags)&&function(e,t,n){Io(t[11],0,t,n,bo(e,n,t),So(n.parent||t[6],n,t))}(r,i,o)}function Ks(e,t,n){return $s(e,"",t,"",n),Ks}function $s(e,t,n,i,r){var o=mn(),a=xs(o,t,n,i);return a!==Xo&&ma(yn(),qn(),o,e,a,o[11],r,!1),$s}function Qs(e,t,n,i,r){for(var o=e[n+1],a=null===t,s=i?Qo(o):Jo(o),u=!1;0!==s&&(!1===u||a);){var c=e[s+1];Zs(e[s],t)&&(u=!0,e[s+1]=i?ta(c):Zo(c)),s=i?Qo(c):Jo(c)}u&&(e[n+1]=i?Zo(o):ta(o))}function Zs(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ui(e,t)>=0}var Js={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function eu(e){return e.substring(Js.key,Js.keyEnd)}function tu(e){return e.substring(Js.value,Js.valueEnd)}function nu(e,t){var n=Js.textEnd;return n===t?-1:(t=Js.keyEnd=function(e,t,n){for(;t32;)t++;return t}(e,Js.key=t,n),ou(e,t,n))}function iu(e,t){var n=Js.textEnd,i=Js.key=ou(e,t,n);return n===i?-1:(i=Js.keyEnd=function(e,t,n){for(var i;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(e,i,n),i=au(e,i,n),i=Js.value=ou(e,i,n),i=Js.valueEnd=function(e,t,n){for(var i=-1,r=-1,o=-1,a=t,s=a;a32&&(s=a),o=r,r=i,i=-33&u}return s}(e,i,n),au(e,i,n))}function ru(e){Js.key=0,Js.keyEnd=0,Js.value=0,Js.valueEnd=0,Js.textEnd=e.length}function ou(e,t,n){for(;t=0;n=iu(t,n))_u(e,eu(t),tu(t))}function du(e){vu(Vi,fu,e,!0)}function fu(e,t){for(var n=function(e){return ru(e),nu(e,ou(e,0,Js.textEnd))}(t);n>=0;n=nu(t,n))Vi(e,eu(t),!0)}function pu(e,t,n,i){var r=mn(),o=yn(),a=An(2);o.firstUpdatePass&&mu(o,e,a,i),t!==Xo&&_s(r,a,t)&&wu(o,o.data[Gn()],r,r[11],e,r[a+1]=function(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ve(br(e)))),e}(t,n),i,a)}function vu(e,t,n,i){var r=yn(),o=An(2);r.firstUpdatePass&&mu(r,null,o,i);var a=mn();if(n!==Xo&&_s(a,o,n)){var s=r.data[Gn()];if(Su(s,i)&&!gu(r,o)){var u=i?s.classesWithoutHost:s.stylesWithoutHost;null!==u&&(n=ze(u,n||"")),Ps(r,s,a,n,i)}else!function(e,t,n,i,r,o,a,s){r===Xo&&(r=yt);for(var u=0,c=0,l=0=e.expandoStartIndex}function mu(e,t,n,i){var r=e.data;if(null===r[n+1]){var o=r[Gn()],a=gu(e,n);Su(o,i)&&null===t&&!a&&(t=!1),t=function(e,t,n,i){var r=Rn(e),o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=bu(n=yu(null,e,t,n,i),t.attrs,i),o=null);else{var a=t.directiveStylingLast;if(-1===a||e[a]!==r)if(n=yu(r,e,t,n,i),null===o){var s=function(e,t,n){var i=n?t.classBindings:t.styleBindings;if(0!==Jo(i))return e[Qo(i)]}(e,t,i);void 0!==s&&Array.isArray(s)&&function(e,t,n,i){e[Qo(n?t.classBindings:t.styleBindings)]=i}(e,t,i,s=bu(s=yu(null,e,t,s[1],i),t.attrs,i))}else o=function(e,t,n){for(var i,r=t.directiveEnd,o=1+t.directiveStylingLast;o0)&&(l=!0)}else c=n;if(r)if(0!==u){var d=Qo(e[s+1]);e[i+1]=$o(d,s),0!==d&&(e[d+1]=ea(e[d+1],i)),e[s+1]=function(e,t){return 131071&e|t<<17}(e[s+1],i)}else e[i+1]=$o(s,0),0!==s&&(e[s+1]=ea(e[s+1],i)),s=i;else e[i+1]=$o(u,0),0===s?s=i:e[u+1]=ea(e[u+1],i),u=i;l&&(e[i+1]=Zo(e[i+1])),Qs(e,c,i,!0),Qs(e,c,i,!1),function(e,t,n,i,r){var o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Ui(o,t)>=0&&(n[i+1]=ta(n[i+1]))}(t,c,e,i,o),a=$o(s,u),o?t.classBindings=a:t.styleBindings=a}(r,o,t,n,a,i)}}function yu(e,t,n,i,r){var o=null,a=n.directiveEnd,s=n.directiveStylingLast;for(-1===s?s=n.directiveStart:s++;s0;){var u=e[r],c=Array.isArray(u),l=c?u[1]:u,h=null===l,d=n[r+1];d===Xo&&(d=h?yt:void 0);var f=h?zi(d,i):l===i?d:void 0;if(c&&!xu(f)&&(f=zi(u,i)),xu(f)&&(a=f,s))return a;var p=e[r+1];r=s?Qo(p):Jo(p)}if(null!==t){var v=o?t.residualClasses:t.residualStyles;null!=v&&(a=zi(v,i))}return a}function xu(e){return void 0!==e}function Su(e,t){return 0!=(e.flags&(t?16:32))}function Cu(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=mn(),i=yn(),r=e+20,o=i.firstCreatePass?ra(i,r,1,t,null):i.data[r],a=n[r]=function(e,t){return tn(e)?e.createText(t):e.createTextNode(t)}(n[11],t);Eo(i,n,a,o),kn(o,!1)}function Eu(e){return Ou("",e,""),Eu}function Ou(e,t,n){var i=mn(),r=xs(i,e,t,n);return r!==Xo&&Ga(i,Gn(),r),Ou}function Tu(e,t,n,i,r){var o=mn(),a=function(e,t,n,i,r,o){var a=ws(e,Tn(),n,r);return An(2),a?t+Xe(n)+i+Xe(r)+o:Xo}(o,e,t,n,i,r);return a!==Xo&&Ga(o,Gn(),a),Tu}function Pu(e,t,n){vu(Vi,fu,xs(mn(),e,t,n),!0)}function Au(e,t,n){var i=mn();return _s(i,Pn(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!0),Au}function Mu(e,t,n){var i=mn();if(_s(i,Pn(),t)){var r=yn(),o=qn();ma(r,o,i,e,t,za(Rn(r.data),o,i),n,!0)}return Mu}var Iu=void 0,Ru=["en",[["a","p"],["AM","PM"],Iu],[["AM","PM"],Iu,Iu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Iu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Iu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Iu,"{1} 'at' {0}",Iu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(e){var t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===n?1:5}],Du={};function Nu(e){var t=function(e){return e.toLowerCase().replace(/_/g,"-")}(e),n=Lu(t);if(n)return n;var i=t.split("-")[0];if(n=Lu(i))return n;if("en"===i)return Ru;throw new Error('Missing locale data for the locale "'.concat(e,'".'))}function Lu(e){return e in Du||(Du[e]=gt.ng&>.ng.common&>.ng.common.locales&>.ng.common.locales[e]),Du[e]}var ju=((ju=ju||{})[ju.LocaleId=0]="LocaleId",ju[ju.DayPeriodsFormat=1]="DayPeriodsFormat",ju[ju.DayPeriodsStandalone=2]="DayPeriodsStandalone",ju[ju.DaysFormat=3]="DaysFormat",ju[ju.DaysStandalone=4]="DaysStandalone",ju[ju.MonthsFormat=5]="MonthsFormat",ju[ju.MonthsStandalone=6]="MonthsStandalone",ju[ju.Eras=7]="Eras",ju[ju.FirstDayOfWeek=8]="FirstDayOfWeek",ju[ju.WeekendRange=9]="WeekendRange",ju[ju.DateFormat=10]="DateFormat",ju[ju.TimeFormat=11]="TimeFormat",ju[ju.DateTimeFormat=12]="DateTimeFormat",ju[ju.NumberSymbols=13]="NumberSymbols",ju[ju.NumberFormats=14]="NumberFormats",ju[ju.CurrencyCode=15]="CurrencyCode",ju[ju.CurrencySymbol=16]="CurrencySymbol",ju[ju.CurrencyName=17]="CurrencyName",ju[ju.Currencies=18]="Currencies",ju[ju.Directionality=19]="Directionality",ju[ju.PluralCase=20]="PluralCase",ju[ju.ExtraData=21]="ExtraData",ju),Fu="en-US";function Bu(e){(function(e,t){null==e&&function(e,t,n,i){throw new Error("ASSERTION ERROR: ".concat(e)+" [Expected=> ".concat(null," ").concat("!="," ").concat(t," <=Actual]"))}(t,e)})(e,"Expected localeId to be defined"),"string"==typeof e&&e.toLowerCase().replace(/_/g,"-")}function Vu(e,t,n,i,r){if(e=Ge(e),Array.isArray(e))for(var o=0;o>20;if(os(e)||!e.multi){var p=new ei(c,r,Os),v=Hu(u,t,r?h:h+f,d);-1===v?(gi(di(l,s),a,u),zu(a,e,t.length),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(p),s.push(p)):(n[v]=p,s[v]=p)}else{var g=Hu(u,t,h+f,d),m=Hu(u,t,h,h+f),y=g>=0&&n[g],b=m>=0&&n[m];if(r&&!b||!r&&!y){gi(di(l,s),a,u);var _=function(e,t,n,i,r){var o=new ei(e,n,Os);return o.multi=[],o.index=t,o.componentProviders=0,Uu(o,r,i&&!n),o}(r?Wu:Gu,n.length,r,i,c);!r&&b&&(n[m].providerFactory=_),zu(a,e,t.length,0),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(_),s.push(_)}else zu(a,e,g>-1?g:m,Uu(n[r?m:g],c,!r&&i));!r&&i&&b&&n[m].componentProviders++}}}function zu(e,t,n,i){var r=os(t);if(r||function(e){return!!e.useClass}(t)){var o=(t.useClass||t).prototype.ngOnDestroy;if(o){var a=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){var s=a.indexOf(n);-1===s?a.push(n,[i,o]):a[s+1].push(i,o)}else a.push(n,o)}}}function Uu(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Hu(e,t,n,i){for(var r=n;r1&&void 0!==arguments[1]?arguments[1]:[];return function(n){n.providersResolver=function(n,i){return function(e,t,n){var i=yn();if(i.firstCreatePass){var r=Ut(e);Vu(n,i.data,i.blueprint,r,!0),Vu(t,i.data,i.blueprint,r,!1)}}(n,i?i(e):e,t)}}}var Yu=function e(){m(this,e)},Ku=function e(){m(this,e)};function $u(){}function Qu(e,t){return new Ju(an(e,t))}Ku.NULL=new(function(){function e(){m(this,e)}return b(e,[{key:"resolveComponentFactory",value:function(e){throw function(e){var t=Error("No component factory found for ".concat(Ve(e),". Did you add it to @NgModule.entryComponents?"));return t.ngComponent=e,t}(e)}}]),e}());var Zu=function(){return Qu(_n(),mn())},Ju=function(){var e=function e(t){m(this,e),this.nativeElement=t};return e.__NG_ELEMENT_ID__=Zu,e}();function ec(e){return e instanceof Ju?e.nativeElement:e}var tc=function e(){m(this,e)},nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=function(){return ic()},e}(),ic=function(){var e=mn(),t=cn(_n().index,e);return function(e){return e[11]}(jt(t)?t:e)},rc=function(){var e=function e(){m(this,e)};return e.\u0275prov=$e({token:e,providedIn:"root",factory:function(){return null}}),e}(),oc=function e(t){m(this,e),this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")},ac=new oc("12.2.5"),sc=function(){function e(){m(this,e)}return b(e,[{key:"supports",value:function(e){return ms(e)}},{key:"create",value:function(e){return new cc(e)}}]),e}(),uc=function(e,t){return t},cc=function(){function e(t){m(this,e),this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||uc}return b(e,[{key:"forEachItem",value:function(e){var t;for(t=this._itHead;null!==t;t=t._next)e(t)}},{key:"forEachOperation",value:function(e){for(var t=this._itHead,n=this._removalsHead,i=0,r=null;t||n;){var o=!n||t&&t.currentIndex4&&void 0!==arguments[4]&&arguments[4];null!==n;){var o=t[n.index];if(null!==o&&i.push(rn(o)),Ft(o))for(var a=10;a-1&&(go(e,n),Fi(t,n))}this._attachedToViewContainer=!1}mo(this._lView[1],this._lView)}},{key:"onDestroy",value:function(e){va(this._lView[1],this._lView,null,e)}},{key:"markForCheck",value:function(){Da(this._cdRefInjectingView||this._lView)}},{key:"detach",value:function(){this._lView[2]&=-129}},{key:"reattach",value:function(){this._lView[2]|=128}},{key:"detectChanges",value:function(){Na(this._lView[1],this._lView,this.context)}},{key:"checkNoChanges",value:function(){!function(e,t,n){En(!0);try{Na(e,t,n)}finally{En(!1)}}(this._lView[1],this._lView,this.context)}},{key:"attachToViewContainerRef",value:function(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}},{key:"detachFromAppRef",value:function(){this._appRef=null,function(e,t){Mo(e,t,t[11],2,null,null)}(this._lView[1],this._lView)}},{key:"attachToAppRef",value:function(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}]),e}(),xc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e))._view=e,i}return b(n,[{key:"detectChanges",value:function(){La(this._view)}},{key:"checkNoChanges",value:function(){!function(e){En(!0);try{La(e)}finally{En(!1)}}(this._view)}},{key:"context",get:function(){return null}}]),n}(kc),Sc=function(e){return function(e,t,n){if(Vt(e)&&!n){var i=cn(e.index,t);return new kc(i,i)}return 47&e.type?new kc(t[16],t):null}(_n(),mn(),16==(16&e))},Cc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Sc,e}(),Ec=[new pc],Oc=new yc([new sc]),Tc=new _c(Ec),Pc=function(){return Ic(_n(),mn())},Ac=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Pc,e}(),Mc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._declarationLView=e,o._declarationTContainer=i,o.elementRef=r,o}return b(n,[{key:"createEmbeddedView",value:function(e){var t=this._declarationTContainer.tViews,n=ia(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];var i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(t)),aa(t,n,e),new kc(n)}}]),n}(Ac);function Ic(e,t){return 4&e.type?new Mc(t,e,Qu(e,t)):null}var Rc=function e(){m(this,e)},Dc=function(){return Bc(_n(),mn())},Nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Dc,e}(),Lc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._lContainer=e,o._hostTNode=i,o._hostLView=r,o}return b(n,[{key:"element",get:function(){return Qu(this._hostTNode,this._hostLView)}},{key:"injector",get:function(){return new Oi(this._hostTNode,this._hostLView)}},{key:"parentInjector",get:function(){var e=vi(this._hostTNode,this._hostLView);if(ai(e)){var t=ui(e,this._hostLView),n=si(e);return new Oi(t[1].data[n+8],t)}return new Oi(null,this._hostLView)}},{key:"clear",value:function(){for(;this.length>0;)this.remove(this.length-1)}},{key:"get",value:function(e){var t=jc(this._lContainer);return null!==t&&t[e]||null}},{key:"length",get:function(){return this._lContainer.length-10}},{key:"createEmbeddedView",value:function(e,t,n){var i=e.createEmbeddedView(t||{});return this.insert(i,n),i}},{key:"createComponent",value:function(e,t,n,i,r){var o=n||this.parentInjector;if(!r&&null==e.ngModule&&o){var a=o.get(Rc,null);a&&(r=a)}var s=e.create(o,i,void 0,r);return this.insert(s.hostView,t),s}},{key:"insert",value:function(e,t){var i=e._lView,r=i[1];if(function(e){return Ft(e[3])}(i)){var o=this.indexOf(e);if(-1!==o)this.detach(o);else{var a=i[3],s=new n(a,a[6],a[3]);s.detach(s.indexOf(e))}}var u=this._adjustIndex(t),c=this._lContainer;!function(e,t,n,i){var r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i1&&void 0!==arguments[1]?arguments[1]:0;return null==e?this.length+t:e}}]),n}(Nc);function jc(e){return e[8]}function Fc(e){return e[8]||(e[8]=[])}function Bc(e,t){var n,i=t[e.index];if(Ft(i))n=i;else{var r;if(8&e.type)r=rn(i);else{var o=t[11];r=o.createComment("");var a=an(e,t);_o(o,xo(o,a),r,function(e,t){return tn(e)?e.nextSibling(t):t.nextSibling}(o,a),!1)}t[e.index]=n=Pa(i,t,r,e),Ra(t,n)}return new Lc(n,e,t)}var Vc={},zc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).ngModule=e,i}return b(n,[{key:"resolveComponentFactory",value:function(e){var t=Nt(e);return new Gc(t,this.ngModule)}}]),n}(Ku);function Uc(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}var Hc=new Ri("SCHEDULER_TOKEN",{providedIn:"root",factory:function(){return no}}),Gc=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).componentDef=e,r.ngModule=i,r.componentType=e.type,r.selector=function(e){return e.map(qo).join(",")}(e.selectors),r.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],r.isBoundToModule=!!i,r}return b(n,[{key:"inputs",get:function(){return Uc(this.componentDef.inputs)}},{key:"outputs",get:function(){return Uc(this.componentDef.outputs)}},{key:"create",value:function(e,t,n,i){var r,o,a=(i=i||this.ngModule)?function(e,t){return{get:function(n,i,r){var o=e.get(n,Vc,r);return o!==Vc||i===Vc?o:t.get(n,i,r)}}}(e,i.injector):e,s=a.get(tc,nn),u=a.get(rc,null),c=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",h=n?function(e,t,n){if(tn(e))return e.selectRootElement(t,n===ht.ShadowDom);var i="string"==typeof t?e.querySelector(t):t;return i.textContent="",i}(c,n,this.componentDef.encapsulation):po(s.createRenderer(null,this.componentDef),l,function(e){var t=e.toLowerCase();return"svg"===t?Jt:"math"===t?"http://www.w3.org/1998/MathML/":null}(l)),d=this.componentDef.onPush?576:528,f={components:[],scheduler:no,clean:Fa,playerHandler:null,flags:0},p=pa(0,null,null,1,0,null,null,null,null,null),v=ia(null,p,f,d,null,null,s,c,u,a);Fn(v);try{var g=function(e,t,n,i,r,o){var a=n[1];n[20]=e;var s=ra(a,20,2,"#host",null),u=s.mergedAttrs=t.hostAttrs;null!==u&&(Wa(s,u,!0),null!==e&&(ti(r,e,u),null!==s.classes&&Do(r,e,s.classes),null!==s.styles&&Ro(r,e,s.styles)));var c=i.createRenderer(e,t),l=ia(n,fa(t),null,t.onPush?64:16,n[20],s,i,c,null,null);return a.firstCreatePass&&(gi(di(s,n),a,t.type),wa(a,s),xa(s,n.length,1)),Ra(n,l),n[20]=l}(h,this.componentDef,v,s,c);if(h)if(n)ti(c,h,["ng-version",ac.full]);else{var m=function(e){for(var t=[],n=[],i=1,r=2;i0&&Do(c,h,b.join(" "))}if(o=sn(p,20),void 0!==t)for(var _=o.projection=[],w=0;w1&&void 0!==arguments[1]?arguments[1]:ss.THROW_IF_NOT_FOUND,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;return e===ss||e===Rc||e===Xa?this:this._r3Injector.get(e,t,n)}},{key:"destroy",value:function(){var e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(function(e){return e()}),this.destroyCbs=null}},{key:"onDestroy",value:function(e){this.destroyCbs.push(e)}}]),n}(Rc),Yc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).moduleType=e,null!==Lt(e)&&function(e){var t=new Set;!function e(n){var i=Lt(n,!0),r=i.id;null!==r&&(function(e,t,n){if(t&&t!==n)throw new Error("Duplicate module registered for ".concat(e," - ").concat(Ve(t)," vs ").concat(Ve(t.name)))}(r,qc.get(r),n),qc.set(r,n));var o,a=_(oo(i.imports));try{for(a.s();!(o=a.n()).done;){var s=o.value;t.has(s)||(t.add(s),e(s))}}catch(u){a.e(u)}finally{a.f()}}(e)}(e),i}return b(n,[{key:"create",value:function(e){return new Xc(this.moduleType,e)}}]),n}(function(){return function e(){m(this,e)}}());function Kc(e,t,n){var i=On()+e,r=mn();return r[i]===Xo?bs(r,i,n?t.call(n):t()):function(e,t){return e[t]}(r,i)}function $c(e,t,n,i){return Zc(mn(),On(),e,t,n,i)}function Qc(e,t){var n=e[t];return n===Xo?void 0:n}function Zc(e,t,n,i,r,o){var a=t+n;return _s(e,a,r)?bs(e,a+1,o?i.call(o,r):i(r)):Qc(e,a+1)}function Jc(e,t){var n,i=yn(),r=e+20;i.firstCreatePass?(n=function(e,t){if(t)for(var n=t.length-1;n>=0;n--){var i=t[n];if(e===i.name)return i}throw new qe("302","The pipe '".concat(e,"' could not be found!"))}(t,i.pipeRegistry),i.data[r]=n,n.onDestroy&&(i.destroyHooks||(i.destroyHooks=[])).push(r,n.onDestroy)):n=i.data[r];var o=n.factory||(n.factory=Gt(n.type)),a=st(Os);try{var s=li(!1),u=o();return li(s),function(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(i,mn(),r,u),u}finally{st(a)}}function el(e,t,n){var i=e+20,r=mn(),o=un(r,i);return il(r,nl(r,i)?Zc(r,On(),t,o.transform,n,o):o.transform(n))}function tl(e,t,n,i){var r=e+20,o=mn(),a=un(o,r);return il(o,nl(o,r)?function(e,t,n,i,r,o,a){var s=t+n;return ws(e,s,r,o)?bs(e,s+2,a?i.call(a,r,o):i(r,o)):Qc(e,s+2)}(o,On(),t,a.transform,n,i,a):a.transform(n,i))}function nl(e,t){return e[1].data[t].pure}function il(e,t){return gs.isWrapped(t)&&(t=gs.unwrap(t),e[Tn()]=Xo),t}function rl(e){return function(t){setTimeout(e,void 0,t)}}var ol=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return m(this,i),(e=n.call(this)).__isAsync=t,e}return b(i,[{key:"emit",value:function(t){e(p(i.prototype),"next",this).call(this,t)}},{key:"subscribe",value:function(t,n,r){var o,a,s,u=t,c=n||function(){return null},l=r;if(t&&"object"==typeof t){var h=t;u=null===(o=h.next)||void 0===o?void 0:o.bind(h),c=null===(a=h.error)||void 0===a?void 0:a.bind(h),l=null===(s=h.complete)||void 0===s?void 0:s.bind(h)}this.__isAsync&&(c=rl(c),u&&(u=rl(u)),l&&(l=rl(l)));var d=e(p(i.prototype),"subscribe",this).call(this,{next:u,error:c,complete:l});return t instanceof q&&t.add(d),d}}]),i}(ae);function al(){return this._results[vs()]()}var sl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];m(this,e),this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;var n=vs(),i=e.prototype;i[n]||(i[n]=al)}return b(e,[{key:"changes",get:function(){return this._changes||(this._changes=new ol)}},{key:"get",value:function(e){return this._results[e]}},{key:"map",value:function(e){return this._results.map(e)}},{key:"filter",value:function(e){return this._results.filter(e)}},{key:"find",value:function(e){return this._results.find(e)}},{key:"reduce",value:function(e,t){return this._results.reduce(e,t)}},{key:"forEach",value:function(e){this._results.forEach(e)}},{key:"some",value:function(e){return this._results.some(e)}},{key:"toArray",value:function(){return this._results.slice()}},{key:"toString",value:function(){return this._results.toString()}},{key:"reset",value:function(e,t){var n=this;n.dirty=!1;var i=Ni(e);(this._changesDetected=!function(e,t,n){if(e.length!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"createEmbeddedView",value:function(t){var n=t.queries;if(null!==n){for(var i=null!==t.contentQueries?t.contentQueries[0]:n.length,r=[],o=0;o2&&void 0!==arguments[2]?arguments[2]:null;m(this,e),this.predicate=t,this.flags=n,this.read=i},hl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"elementStart",value:function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:-1;m(this,e),this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=n}return b(e,[{key:"elementStart",value:function(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}},{key:"elementEnd",value:function(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}},{key:"template",value:function(e,t){this.elementStart(e,t)}},{key:"embeddedTView",value:function(t,n){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,n),new e(this.metadata)):null}},{key:"isApplyingToNode",value:function(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){for(var t=this._declarationNodeIndex,n=e.parent;null!==n&&8&n.type&&n.index!==t;)n=n.parent;return t===(null!==n?n.index:-1)}return this._appliesToNextNode}},{key:"matchTNode",value:function(e,t){var n=this.metadata.predicate;if(Array.isArray(n))for(var i=0;i0)i.push(a[s/2]);else{for(var c=o[s+1],l=t[-u],h=10;h0&&(r=setTimeout(function(){i._callbacks=i._callbacks.filter(function(e){return e.timeoutId!==r}),e(i._didWork,i.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:n})}},{key:"whenStable",value:function(e,t,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,t,n),this._runCallbacksIfReady()}},{key:"getPendingRequestCount",value:function(){return this._pendingCount}},{key:"findProviders",value:function(e,t,n){return[]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),nh=function(){var e=function(){function e(){m(this,e),this._applications=new Map,ih.addToWindow(this)}return b(e,[{key:"registerApplication",value:function(e,t){this._applications.set(e,t)}},{key:"unregisterApplication",value:function(e){this._applications.delete(e)}},{key:"unregisterAllApplications",value:function(){this._applications.clear()}},{key:"getTestability",value:function(e){return this._applications.get(e)||null}},{key:"getAllTestabilities",value:function(){return Array.from(this._applications.values())}},{key:"getAllRootElements",value:function(){return Array.from(this._applications.keys())}},{key:"findTestabilityInTree",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ih.findTestabilityInTree(this,e,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),ih=new(function(){function e(){m(this,e)}return b(e,[{key:"addToWindow",value:function(e){}},{key:"findTestabilityInTree",value:function(e,t,n){return null}}]),e}()),rh=!0,oh=!1;function ah(){return oh=!0,rh}var sh=new Ri("AllowMultipleToken");function uh(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i="Platform: ".concat(t),r=new Ri(i);return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=ch();if(!o||o.injector.get(sh,!1))if(e)e(n.concat(t).concat({provide:r,useValue:!0}));else{var a=n.concat(t).concat({provide:r,useValue:!0},{provide:Ka,useValue:"platform"});!function(e){if(Jl&&!Jl.destroyed&&!Jl.injector.get(sh,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Jl=e.get(lh);var t=e.get(Al,null);t&&t.forEach(function(e){return e()})}(ss.create({providers:a,name:i}))}return function(e){var t=ch();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}(r)}}function ch(){return Jl&&!Jl.destroyed?Jl:null}var lh=function(){var e=function(){function e(t){m(this,e),this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return b(e,[{key:"bootstrapModuleFactory",value:function(e,t){var n=this,i=function(e,t){return"noop"===e?new eh:("zone.js"===e?void 0:e)||new Xl({enableLongStackTrace:ah(),shouldCoalesceEventChangeDetection:!!(null==t?void 0:t.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==t?void 0:t.ngZoneRunCoalescing)})}(t?t.ngZone:void 0,{ngZoneEventCoalescing:t&&t.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:t&&t.ngZoneRunCoalescing||!1}),r=[{provide:Xl,useValue:i}];return i.run(function(){var o=ss.create({providers:r,parent:n.injector,name:e.moduleType.name}),a=e.create(o),s=a.injector.get(to,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(function(){var e=i.onError.subscribe({next:function(e){s.handleError(e)}});a.onDestroy(function(){fh(n._modules,a),e.unsubscribe()})}),function(e,i,r){try{var o=function(){var e=a.injector.get(El);return e.runInitializers(),e.donePromise.then(function(){return Bu(a.injector.get(Dl,Fu)||Fu),n._moduleDoBootstrap(a),a})}();return js(o)?o.catch(function(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}):o}catch(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}}(s,i)})}},{key:"bootstrapModule",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=hh({},n);return function(e,t,n){var i=new Yc(n);return Promise.resolve(i)}(0,0,e).then(function(e){return t.bootstrapModuleFactory(e,i)})}},{key:"_moduleDoBootstrap",value:function(e){var t=e.injector.get(dh);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(e){return t.bootstrap(e)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module ".concat(Ve(e.instance.constructor),' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.'));e.instance.ngDoBootstrap(t)}this._modules.push(e)}},{key:"onDestroy",value:function(e){this._destroyListeners.push(e)}},{key:"injector",get:function(){return this._injector}},{key:"destroy",value:function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(e){return e.destroy()}),this._destroyListeners.forEach(function(e){return e()}),this._destroyed=!0}},{key:"destroyed",get:function(){return this._destroyed}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function hh(e,t){return Array.isArray(t)?t.reduce(hh,e):Object.assign(Object.assign({},e),t)}var dh=function(){var e=function(){function e(t,n,i,r,o){var a=this;m(this,e),this._zone=t,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=r,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:function(){a._zone.run(function(){a.tick()})}});var s=new te(function(e){a._stable=a._zone.isStable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks,a._zone.runOutsideAngular(function(){e.next(a._stable),e.complete()})}),u=new te(function(e){var t;a._zone.runOutsideAngular(function(){t=a._zone.onStable.subscribe(function(){Xl.assertNotInAngularZone(),ql(function(){!a._stable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks&&(a._stable=!0,e.next(!0))})})});var n=a._zone.onUnstable.subscribe(function(){Xl.assertInAngularZone(),a._stable&&(a._stable=!1,a._zone.runOutsideAngular(function(){e.next(!1)}))});return function(){t.unsubscribe(),n.unsubscribe()}});this.isStable=Oe(s,u.pipe(je()))}return b(e,[{key:"bootstrap",value:function(e,t){var n,i=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=e instanceof Yu?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);var r=function(e){return e.isBoundToModule}(n)?void 0:this._injector.get(Rc),o=n.create(ss.NULL,[],t||n.selector,r),a=o.location.nativeElement,s=o.injector.get(th,null),u=s&&o.injector.get(nh);return s&&u&&u.registerApplication(a,s),o.onDestroy(function(){i.detachView(o.hostView),fh(i.components,o),u&&u.unregisterApplication(a)}),this._loadComponent(o),o}},{key:"tick",value:function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;var t,n=_(this._views);try{for(n.s();!(t=n.n()).done;){var i;t.value.detectChanges()}}catch(r){n.e(r)}finally{n.f()}}catch(i){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(i)})}finally{this._runningTick=!1}}},{key:"attachView",value:function(e){var t=e;this._views.push(t),t.attachToAppRef(this)}},{key:"detachView",value:function(e){var t=e;fh(this._views,t),t.detachFromAppRef()}},{key:"_loadComponent",value:function(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Il,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})}},{key:"ngOnDestroy",value:function(){this._views.slice().forEach(function(e){return e.destroy()}),this._onMicrotaskEmptySubscription.unsubscribe()}},{key:"viewCount",get:function(){return this._views.length}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(ss),Zi(to),Zi(Ku),Zi(El))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function fh(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var ph=uh(null,"core",[{provide:Ml,useValue:"unknown"},{provide:lh,deps:[ss]},{provide:nh,deps:[]},{provide:Rl,deps:[]}]),vh=[{provide:dh,useClass:dh,deps:[Xl,ss,to,Ku,El]},{provide:Hc,deps:[Xl],useFactory:function(e){var t=[];return e.onStable.subscribe(function(){for(;t.length;)t.pop()()}),function(e){t.push(e)}}},{provide:El,useClass:El,deps:[[new sr,Cl]]},{provide:Hl,useClass:Hl,deps:[]},Tl,{provide:yc,useFactory:function(){return Oc},deps:[]},{provide:_c,useFactory:function(){return Tc},deps:[]},{provide:Dl,useFactory:function(e){return Bu(e=e||"undefined"!=typeof $localize&&$localize.locale||Fu),e},deps:[[new ar(Dl),new sr,new ur]]},{provide:Nl,useValue:"USD"}],gh=function(){var e=function e(t){m(this,e)};return e.\u0275fac=function(t){return new(t||e)(Zi(dh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:vh}),e}(),mh=null;function yh(){return mh}var bh=new Ri("DocumentToken"),_h=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:wh,token:e,providedIn:"platform"}),e}();function wh(){return Zi(kh)}var kh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i._init(),i}return b(n,[{key:"_init",value:function(){this.location=window.location,this._history=window.history}},{key:"getBaseHrefFromDOM",value:function(){return yh().getBaseHref(this._doc)}},{key:"onPopState",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("popstate",e,!1),function(){return t.removeEventListener("popstate",e)}}},{key:"onHashChange",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("hashchange",e,!1),function(){return t.removeEventListener("hashchange",e)}}},{key:"href",get:function(){return this.location.href}},{key:"protocol",get:function(){return this.location.protocol}},{key:"hostname",get:function(){return this.location.hostname}},{key:"port",get:function(){return this.location.port}},{key:"pathname",get:function(){return this.location.pathname},set:function(e){this.location.pathname=e}},{key:"search",get:function(){return this.location.search}},{key:"hash",get:function(){return this.location.hash}},{key:"pushState",value:function(e,t,n){xh()?this._history.pushState(e,t,n):this.location.hash=n}},{key:"replaceState",value:function(e,t,n){xh()?this._history.replaceState(e,t,n):this.location.hash=n}},{key:"forward",value:function(){this._history.forward()}},{key:"back",value:function(){this._history.back()}},{key:"historyGo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._history.go(e)}},{key:"getState",value:function(){return this._history.state}}]),n}(_h);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:Sh,token:e,providedIn:"platform"}),e}();function xh(){return!!window.history.pushState}function Sh(){return new kh(Zi(bh))}function Ch(e,t){if(0==e.length)return t;if(0==t.length)return e;var n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Eh(e){var t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Oh(e){return e&&"?"!==e[0]?"?"+e:e}var Th=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:Ph,token:e,providedIn:"root"}),e}();function Ph(e){var t=Zi(bh).location;return new Mh(Zi(_h),t&&t.origin||"")}var Ah=new Ri("appBaseHref"),Mh=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;if(m(this,n),(r=t.call(this))._platformLocation=e,r._removeListenerFns=[],null==i&&(i=r._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=i,u(r)}return b(n,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"prepareExternalUrl",value:function(e){return Ch(this._baseHref,e)}},{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._platformLocation.pathname+Oh(this._platformLocation.search),n=this._platformLocation.hash;return n&&e?"".concat(t).concat(n):t}},{key:"pushState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.pushState(e,t,r)}},{key:"replaceState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.replaceState(e,t,r)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformLocation).historyGo)||void 0===t||t.call(e,n)}}]),n}(Th);return e.\u0275fac=function(t){return new(t||e)(Zi(_h),Zi(Ah,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ih=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._subject=new ol,this._urlChangeListeners=[],this._platformStrategy=t;var r=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=Eh(Dh(r)),this._platformStrategy.onPopState(function(e){i._subject.emit({url:i.path(!0),pop:!0,state:e.state,type:e.type})})}return b(e,[{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.normalize(this._platformStrategy.path(e))}},{key:"getState",value:function(){return this._platformLocation.getState()}},{key:"isCurrentPathEqualTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.path()==this.normalize(e+Oh(t))}},{key:"normalize",value:function(t){return e.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Dh(t)))}},{key:"prepareExternalUrl",value:function(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}},{key:"go",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"replaceState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"forward",value:function(){this._platformStrategy.forward()}},{key:"back",value:function(){this._platformStrategy.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformStrategy).historyGo)||void 0===t||t.call(e,n)}},{key:"onUrlChange",value:function(e){var t=this;this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(function(e){t._notifyUrlChangeListeners(e.url,e.state)}))}},{key:"_notifyUrlChangeListeners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;this._urlChangeListeners.forEach(function(n){return n(e,t)})}},{key:"subscribe",value:function(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Th),Zi(_h))},e.normalizeQueryParams=Oh,e.joinWithSlash=Ch,e.stripTrailingSlash=Eh,e.\u0275prov=$e({factory:Rh,token:e,providedIn:"root"}),e}();function Rh(){return new Ih(Zi(Th),Zi(_h))}function Dh(e){return e.replace(/\/index.html$/,"")}var Nh=((Nh=Nh||{})[Nh.Decimal=0]="Decimal",Nh[Nh.Percent=1]="Percent",Nh[Nh.Currency=2]="Currency",Nh[Nh.Scientific=3]="Scientific",Nh),Lh=((Lh=Lh||{})[Lh.Zero=0]="Zero",Lh[Lh.One=1]="One",Lh[Lh.Two=2]="Two",Lh[Lh.Few=3]="Few",Lh[Lh.Many=4]="Many",Lh[Lh.Other=5]="Other",Lh),jh=((jh=jh||{})[jh.Decimal=0]="Decimal",jh[jh.Group=1]="Group",jh[jh.List=2]="List",jh[jh.PercentSign=3]="PercentSign",jh[jh.PlusSign=4]="PlusSign",jh[jh.MinusSign=5]="MinusSign",jh[jh.Exponential=6]="Exponential",jh[jh.SuperscriptingExponent=7]="SuperscriptingExponent",jh[jh.PerMille=8]="PerMille",jh[jh.Infinity=9]="Infinity",jh[jh.NaN=10]="NaN",jh[jh.TimeSeparator=11]="TimeSeparator",jh[jh.CurrencyDecimal=12]="CurrencyDecimal",jh[jh.CurrencyGroup=13]="CurrencyGroup",jh);function Fh(e,t){var n=Nu(e),i=n[ju.NumberSymbols][t];if(void 0===i){if(t===jh.CurrencyDecimal)return n[ju.NumberSymbols][jh.Decimal];if(t===jh.CurrencyGroup)return n[ju.NumberSymbols][jh.Group]}return i}var Bh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Vh(e){var t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var zh=function e(){m(this,e)},Uh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).locale=e,i}return b(n,[{key:"getPluralCategory",value:function(e,t){switch(function(e){return Nu(e)[ju.PluralCase]}(t||this.locale)(e)){case Lh.Zero:return"zero";case Lh.One:return"one";case Lh.Two:return"two";case Lh.Few:return"few";case Lh.Many:return"many";default:return"other"}}}]),n}(zh);return e.\u0275fac=function(t){return new(t||e)(Zi(Dl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function Hh(e,n){n=encodeURIComponent(n);var i,r=_(e.split(";"));try{for(r.s();!(i=r.n()).done;){var o=i.value,a=o.indexOf("="),s=t(-1==a?[o,""]:[o.slice(0,a),o.slice(a+1)],2),u=s[0],c=s[1];if(u.trim()===n)return decodeURIComponent(c)}}catch(l){r.e(l)}finally{r.f()}return null}var Gh=function(){var e=function(){function e(t,n,i,r){m(this,e),this._iterableDiffers=t,this._keyValueDiffers=n,this._ngEl=i,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return b(e,[{key:"klass",set:function(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}},{key:"ngClass",set:function(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(ms(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}},{key:"ngDoCheck",value:function(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}},{key:"_applyKeyValueChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){e.previousValue&&t._toggleClass(e.key,!1)})}},{key:"_applyIterableChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){if("string"!=typeof e.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got ".concat(Ve(e.item)));t._toggleClass(e.item,!0)}),e.forEachRemovedItem(function(e){return t._toggleClass(e.item,!1)})}},{key:"_applyClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!0)}):Object.keys(e).forEach(function(n){return t._toggleClass(n,!!e[n])}))}},{key:"_removeClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!1)}):Object.keys(e).forEach(function(e){return t._toggleClass(e,!1)}))}},{key:"_toggleClass",value:function(e,t){var n=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(e){t?n._renderer.addClass(n._ngEl.nativeElement,e):n._renderer.removeClass(n._ngEl.nativeElement,e)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(_c),Os(Ju),Os(nc))},e.\u0275dir=Rt({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e}(),Wh=function(){function e(t,n,i,r){m(this,e),this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}return b(e,[{key:"first",get:function(){return 0===this.index}},{key:"last",get:function(){return this.index===this.count-1}},{key:"even",get:function(){return this.index%2==0}},{key:"odd",get:function(){return!this.even}}]),e}(),qh=function(){var e=function(){function e(t,n,i){m(this,e),this._viewContainer=t,this._template=n,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return b(e,[{key:"ngForOf",set:function(e){this._ngForOf=e,this._ngForOfDirty=!0}},{key:"ngForTrackBy",get:function(){return this._trackByFn},set:function(e){this._trackByFn=e}},{key:"ngForTemplate",set:function(e){e&&(this._template=e)}},{key:"ngDoCheck",value:function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(n){throw new Error("Cannot find a differ supporting object '".concat(e,"' of type '").concat(function(e){return e.name||typeof e}(e),"'. NgFor only supports binding to Iterables such as Arrays."))}}if(this._differ){var t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}},{key:"_applyChanges",value:function(e){var t=this,n=[];e.forEachOperation(function(e,i,r){if(null==e.previousIndex){var o=t._viewContainer.createEmbeddedView(t._template,new Wh(null,t._ngForOf,-1,-1),null===r?void 0:r),a=new Xh(e,o);n.push(a)}else if(null==r)t._viewContainer.remove(null===i?void 0:i);else if(null!==i){var s=t._viewContainer.get(i);t._viewContainer.move(s,r);var u=new Xh(e,s);n.push(u)}});for(var i=0;i6&&void 0!==arguments[6]&&arguments[6],s="",u=!1;if(isFinite(e)){var c=function(e){var t,n,i,r,o,a=Math.abs(e)+"",s=0;for((n=a.indexOf("."))>-1&&(a=a.replace(".","")),(i=a.search(/e/i))>0?(n<0&&(n=i),n+=+a.slice(i+1),a=a.substring(0,i)):n<0&&(n=a.length),i=0;"0"===a.charAt(i);i++);if(i===(o=a.length))t=[0],n=1;else{for(o--;"0"===a.charAt(o);)o--;for(n-=i,t=[],r=0;i<=o;i++,r++)t[r]=Number(a.charAt(i))}return n>22&&(t=t.splice(0,21),s=n-1,n=1),{digits:t,exponent:s,integerLen:n}}(e);a&&(c=function(e){if(0===e.digits[0])return e;var t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(c));var l=t.minInt,h=t.minFrac,d=t.maxFrac;if(o){var f=o.match(Bh);if(null===f)throw new Error("".concat(o," is not a valid digit info"));var p=f[1],v=f[3],g=f[5];null!=p&&(l=Vh(p)),null!=v&&(h=Vh(v)),null!=g?d=Vh(g):null!=v&&h>d&&(d=h)}!function(e,t,n){if(t>n)throw new Error("The minimum number of digits after fraction (".concat(t,") is higher than the maximum (").concat(n,")."));var i=e.digits,r=i.length-e.integerLen,o=Math.min(Math.max(t,r),n),a=o+e.integerLen,s=i[a];if(a>0){i.splice(Math.max(e.integerLen,a));for(var u=a;u=5)if(a-1<0){for(var l=0;l>a;l--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[a-1]++;for(;r=d?i.pop():h=!1),t>=10?1:0},0);f&&(i.unshift(f),e.integerLen++)}(c,h,d);var m=c.digits,y=c.integerLen,b=c.exponent,_=[];for(u=m.every(function(e){return!e});y0?_=m.splice(y,m.length):(_=m,m=[0]);var w=[];for(m.length>=t.lgSize&&w.unshift(m.splice(-t.lgSize,m.length).join(""));m.length>t.gSize;)w.unshift(m.splice(-t.gSize,m.length).join(""));m.length&&w.unshift(m.join("")),s=w.join(Fh(n,i)),_.length&&(s+=Fh(n,r)+_.join("")),b&&(s+=Fh(n,jh.Exponential)+"+"+b)}else s=Fh(n,jh.Infinity);return s=e<0&&!u?t.negPre+s+t.negSuf:t.posPre+s+t.posSuf}(e,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],a=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],s=a[0],u=a[1]||"";n.posPre=s.substr(0,s.indexOf("#"));for(var c=0;c1&&void 0!==arguments[1])||arguments[1],i=e.findTestabilityInTree(t,n);if(null==i)throw new Error("Could not find testability for element.");return i},gt.getAllAngularTestabilities=function(){return e.getAllTestabilities()},gt.getAllAngularRootElements=function(){return e.getAllRootElements()},gt.frameworkStabilizers||(gt.frameworkStabilizers=[]),gt.frameworkStabilizers.push(function(e){var t=gt.getAllAngularTestabilities(),n=t.length,i=!1,r=function(t){i=i||t,0==--n&&e(i)};t.forEach(function(e){e.whenStable(r)})})}},{key:"findTestabilityInTree",value:function(e,t,n){if(null==t)return null;var i=e.getTestability(t);return null!=i?i:n?yh().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}],[{key:"init",value:function(){!function(e){ih=e}(new e)}}]),e}(),bd=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"build",value:function(){return new XMLHttpRequest}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),_d=new Ri("EventManagerPlugins"),wd=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._zone=n,this._eventNameToPlugin=new Map,t.forEach(function(e){return e.manager=i}),this._plugins=t.slice().reverse()}return b(e,[{key:"addEventListener",value:function(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)}},{key:"addGlobalEventListener",value:function(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)}},{key:"getZone",value:function(){return this._zone}},{key:"_findPluginFor",value:function(e){var t=this._eventNameToPlugin.get(e);if(t)return t;for(var n=this._plugins,i=0;i-1&&(t.splice(n,1),o+=e+".")}),o+=r,0!=t.length||0===r.length)return null;var a={};return a.domEventName=i,a.fullKey=o,a}},{key:"getEventFullKey",value:function(e){var t="",n=function(e){var t=e.key;if(null==t){if(null==(t=e.keyIdentifier))return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),3===e.location&&jd.hasOwnProperty(t)&&(t=jd[t]))}return Ld[t]||t}(e);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Nd.forEach(function(i){i!=n&&Fd[i](e)&&(t+=i+".")}),t+=n}},{key:"eventCallback",value:function(e,t,i){return function(r){n.getEventFullKey(r)===e&&i.runGuarded(function(){return t(r)})}}},{key:"_normalizeKey",value:function(e){switch(e){case"esc":return"escape";default:return e}}}]),n}(kd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vd=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return Zi(zd)},token:e,providedIn:"root"}),e}(),zd=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i}return b(n,[{key:"sanitize",value:function(e,t){if(null==t)return null;switch(e){case Wr.NONE:return t;case Wr.HTML:return _r(t,"HTML")?br(t):Hr(this._doc,String(t)).toString();case Wr.STYLE:return _r(t,"Style")?br(t):t;case Wr.SCRIPT:if(_r(t,"Script"))return br(t);throw new Error("unsafe value used in a script context");case Wr.URL:return wr(t),_r(t,"URL")?br(t):Er(String(t));case Wr.RESOURCE_URL:if(_r(t,"ResourceURL"))return br(t);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext ".concat(e," (see https://g.co/ng/security#xss)"))}}},{key:"bypassSecurityTrustHtml",value:function(e){return function(e){return new pr(e)}(e)}},{key:"bypassSecurityTrustStyle",value:function(e){return function(e){return new vr(e)}(e)}},{key:"bypassSecurityTrustScript",value:function(e){return function(e){return new gr(e)}(e)}},{key:"bypassSecurityTrustUrl",value:function(e){return function(e){return new mr(e)}(e)}},{key:"bypassSecurityTrustResourceUrl",value:function(e){return function(e){return new yr(e)}(e)}}]),n}(Vd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return function(e){return new zd(e.get(bh))}(Zi(Xa))},token:e,providedIn:"root"}),e}(),Ud=uh(ph,"browser",[{provide:Ml,useValue:ld},{provide:Al,useValue:function(){pd.makeCurrent(),yd.init()},multi:!0},{provide:bh,useFactory:function(){return function(e){Zt=e}(document),document},deps:[]}]),Hd=[[],{provide:Ka,useValue:"root"},{provide:to,useFactory:function(){return new to},deps:[]},{provide:_d,useClass:Dd,multi:!0,deps:[bh,Xl,Ml]},{provide:_d,useClass:Bd,multi:!0,deps:[bh]},[],{provide:Ad,useClass:Ad,deps:[wd,Sd,Ol]},{provide:tc,useExisting:Ad},{provide:xd,useExisting:Sd},{provide:Sd,useClass:Sd,deps:[bh]},{provide:th,useClass:th,deps:[Xl]},{provide:wd,useClass:wd,deps:[_d,Xl]},{provide:fd,useClass:bd,deps:[]},[]],Gd=function(){var e=function(){function e(t){if(m(this,e),t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return b(e,null,[{key:"withServerTransition",value:function(t){return{ngModule:e,providers:[{provide:Ol,useValue:t.appId},{provide:gd,useExisting:Ol},md]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:Hd,imports:[cd,gh]}),e}();function Wd(e){return null!=e&&"false"!="".concat(e)}function qd(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}(e)?Number(e):t}function Xd(e){return Array.isArray(e)?e:[e]}function Yd(e){return null==e?"":"string"==typeof e?e:"".concat(e,"px")}function Kd(e){return e instanceof Ju?e.nativeElement:e}function $d(){for(var e=arguments.length,t=new Array(e),n=0;n1?Array.prototype.slice.call(arguments):e)},i,n)})}function Zd(e,t,n,i,r){var o;if(function(e){return e&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener}(e)){var a=e;e.addEventListener(t,n,r),o=function(){return a.removeEventListener(t,n,r)}}else if(function(e){return e&&"function"==typeof e.on&&"function"==typeof e.off}(e)){var s=e;e.on(t,n),o=function(){return s.off(t,n)}}else if(function(e){return e&&"function"==typeof e.addListener&&"function"==typeof e.removeListener}(e)){var u=e;e.addListener(t,n),o=function(){return u.removeListener(t,n)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var c=0,l=e.length;c1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=e;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(i,this.id,t),this}},{key:"requestAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(e.flush.bind(e,this),n)}},{key:"recycleAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)}},{key:"execute",value:function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(e,t){var n,i=!1;try{this.work(e)}catch(r){i=!0,n=!!r&&r||new Error(r)}if(i)return this.unsubscribe(),n}},{key:"_unsubscribe",value:function(){var e=this.id,t=this.scheduler,n=t.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}]),n}(function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this)}return b(n,[{key:"schedule",value:function(e){return this}}]),n}(q)),ef=function(){var e=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.now;m(this,e),this.SchedulerAction=t,this.now=n}return b(e,[{key:"schedule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return new this.SchedulerAction(this,e).schedule(n,t)}}]),e}();return e.now=function(){return Date.now()},e}(),tf=function(t){a(i,t);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ef.now;return m(this,i),(t=n.call(this,e,function(){return i.delegate&&i.delegate!==c(t)?i.delegate.now():r()})).actions=[],t.active=!1,t.scheduled=void 0,t}return b(i,[{key:"schedule",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return i.delegate&&i.delegate!==this?i.delegate.schedule(t,n,r):e(p(i.prototype),"schedule",this).call(this,t,n,r)}},{key:"flush",value:function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}}}]),i}(ef);new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)}}]),i}(Jd));var nf=1,rf=Promise.resolve(),of={};function af(e){return e in of&&(delete of[e],!0)}var sf=function(e){var t=nf++;return of[t]=!0,rf.then(function(){return af(t)&&e()}),t},uf=function(e){af(e)};function cf(e){return!!e&&(e instanceof te||"function"==typeof e.lift&&"function"==typeof e.subscribe)}function lf(e,t){return function(n){return n.lift(new hf(e,t))}}new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=sf(t.flush.bind(t,null))))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(uf(n),t.scheduled=void 0)}}]),i}(Jd));var hf=function(){function e(t,n){m(this,e),this.compare=t,this.keySelector=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new df(e,this.compare,this.keySelector))}}]),e}(),df=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).keySelector=r,o.hasKey=!1,"function"==typeof i&&(o.compare=i),o}return b(n,[{key:"compare",value:function(e,t){return e===t}},{key:"_next",value:function(e){var t;try{var n=this.keySelector;t=n?n(e):e}catch(n){return this.destination.error(n)}var i=!1;if(this.hasKey)try{i=(0,this.compare)(this.key,t)}catch(n){return this.destination.error(n)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}]),n}(K),ff=new tf(Jd),pf=function(){function e(t){m(this,e),this.durationSelector=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new vf(e,this.durationSelector))}}]),e}(),vf=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).durationSelector=i,r.hasValue=!1,r}return b(n,[{key:"_next",value:function(e){if(this.value=e,this.hasValue=!0,!this.throttled){var t;try{var n;t=(0,this.durationSelector)(e)}catch(n){return this.destination.error(n)}var i=we(t,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}},{key:"clearThrottle",value:function(){var e=this.value,t=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}},{key:"notifyNext",value:function(){this.clearThrottle()}},{key:"notifyComplete",value:function(){this.clearThrottle()}}]),n}(_e);function gf(e){return!U(e)&&e-parseFloat(e)+1>=0}function mf(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}}function yf(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ff;return function(e){return function(t){return t.lift(new pf(e))}}(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=-1;return gf(t)?i=Number(t)<1?1:Number(t):ue(t)&&(n=t),ue(n)||(n=ff),new te(function(t){var r=gf(e)?e:+e-n.now();return n.schedule(mf,r,{index:0,period:i,subscriber:t})})}(e,t)})}function bf(e,t){return function(n){return n.lift(new _f(e,t))}}var _f=function(){function e(t,n){m(this,e),this.predicate=t,this.thisArg=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new wf(e,this.predicate,this.thisArg))}}]),e}(),wf=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.thisArg=r,o.count=0,o}return b(n,[{key:"_next",value:function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)}}]),n}(K);function kf(e){return function(t){return t.lift(new xf(e))}}var xf=function(){function e(t){m(this,e),this.notifier=t}return b(e,[{key:"call",value:function(e,t){var n=new Sf(e),i=we(this.notifier,new be(n));return i&&!n.seenValue?(n.add(i),t.subscribe(n)):n}}]),e}(),Sf=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e)).seenValue=!1,i}return b(n,[{key:"notifyNext",value:function(){this.seenValue=!0,this.complete()}},{key:"notifyComplete",value:function(){}}]),n}(_e);function Cf(){return Ce(1)($d.apply(void 0,arguments))}function Ef(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:0;return n>0?e(p(i.prototype),"schedule",this).call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)}},{key:"execute",value:function(t,n){return n>0||this.closed?e(p(i.prototype),"execute",this).call(this,t,n):this._execute(t,n)}},{key:"requestAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0||null===r&&this.delay>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):t.flush(this)}}]),i}(Jd)),Mf=new te(function(e){return e.complete()});function If(e){return e?function(e){return new te(function(t){return e.schedule(function(){return t.complete()})})}(e):Mf}function Rf(e,t){return new te(t?function(n){return t.schedule(Df,0,{error:e,subscriber:n})}:function(t){return t.error(e)})}function Df(e){var t=e.error;e.subscriber.error(t)}var Nf=function(){function e(t,n,i){m(this,e),this.kind=t,this.value=n,this.error=i,this.hasValue="N"===t}return b(e,[{key:"observe",value:function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}},{key:"do",value:function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}}},{key:"accept",value:function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)}},{key:"toObservable",value:function(){switch(this.kind){case"N":return $d(this.value);case"E":return Rf(this.error);case"C":return If()}throw new Error("unexpected notification kind value")}}],[{key:"createNext",value:function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification}},{key:"createError",value:function(t){return new e("E",void 0,t)}},{key:"createComplete",value:function(){return e.completeNotification}}]),e}();Nf.completeNotification=new Nf("C"),Nf.undefinedValueNotification=new Nf("N",void 0);var Lf,jf=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),(r=t.call(this,e)).scheduler=i,r.delay=o,r}return b(n,[{key:"scheduleMessage",value:function(e){this.destination.add(this.scheduler.schedule(n.dispatch,this.delay,new Ff(e,this.destination)))}},{key:"_next",value:function(e){this.scheduleMessage(Nf.createNext(e))}},{key:"_error",value:function(e){this.scheduleMessage(Nf.createError(e)),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleMessage(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()}}]),n}(K),Ff=function e(t,n){m(this,e),this.notification=t,this.destination=n},Bf=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY,o=arguments.length>2?arguments[2]:void 0;return m(this,i),(e=n.call(this)).scheduler=o,e._events=[],e._infiniteTimeWindow=!1,e._bufferSize=t<1?1:t,e._windowTime=r<1?1:r,r===Number.POSITIVE_INFINITY?(e._infiniteTimeWindow=!0,e.next=e.nextInfiniteTimeWindow):e.next=e.nextTimeWindow,e}return b(i,[{key:"nextInfiniteTimeWindow",value:function(t){if(!this.isStopped){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift()}e(p(i.prototype),"next",this).call(this,t)}},{key:"nextTimeWindow",value:function(t){this.isStopped||(this._events.push(new Vf(this._getNow(),t)),this._trimBufferThenGetEvents()),e(p(i.prototype),"next",this).call(this,t)}},{key:"_subscribe",value:function(e){var t,n=this._infiniteTimeWindow,i=n?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;if(this.closed)throw new ie;if(this.isStopped||this.hasError?t=q.EMPTY:(this.observers.push(e),t=new re(this,e)),r&&e.add(e=new jf(e,r)),n)for(var a=0;at&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i}}]),i}(ae),Vf=function e(t,n){m(this,e),this.time=t,this.value=n};function zf(e,t,n){var i;return i=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift(function(e){var t,n,i=e.bufferSize,r=void 0===i?Number.POSITIVE_INFINITY:i,o=e.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=e.refCount,u=e.scheduler,c=0,l=!1,h=!1;return function(e){var i;c++,!t||l?(l=!1,t=new Bf(r,a,u),i=t.subscribe(this),n=e.subscribe({next:function(e){t.next(e)},error:function(e){l=!0,t.error(e)},complete:function(){h=!0,n=void 0,t.complete()}}),h&&(n=void 0)):i=t.subscribe(this),this.add(function(){c--,i.unsubscribe(),i=void 0,n&&!h&&s&&0===c&&(n.unsubscribe(),n=void 0,t=void 0)})}}(i))}}try{Lf="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(G){Lf=!1}var Uf,Hf,Gf,Wf,qf=function(){var e=function e(t){m(this,e),this._platformId=t,this.isBrowser=this._platformId?hd(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Lf)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT};return e.\u0275fac=function(t){return new(t||e)(Zi(Ml))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ml))},token:e,providedIn:"root"}),e}(),Xf=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Yf=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Kf(){if(Uf)return Uf;if("object"!=typeof document||!document)return Uf=new Set(Yf);var e=document.createElement("input");return Uf=new Set(Yf.filter(function(t){return e.setAttribute("type",t),e.type===t}))}function $f(e){return function(){if(null==Hf&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Hf=!0}}))}finally{Hf=Hf||!1}return Hf}()?e:!!e.capture}function Qf(e){if(function(){if(null==Wf){var e="undefined"!=typeof document?document.head:null;Wf=!(!e||!e.createShadowRoot&&!e.attachShadow)}return Wf}()){var t=e.getRootNode?e.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&t instanceof ShadowRoot)return t}return null}function Zf(){for(var e="undefined"!=typeof document&&document?document.activeElement:null;e&&e.shadowRoot;){var t=e.shadowRoot.activeElement;if(t===e)break;e=t}return e}function Jf(e){return e.composedPath?e.composedPath()[0]:e.target}var ep=new Ri("cdk-dir-doc",{providedIn:"root",factory:function(){return Ji(bh)}}),tp=function(){var e=function(){function e(t){if(m(this,e),this.value="ltr",this.change=new ol,t){var n=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||n;this.value="ltr"===i||"rtl"===i?i:"ltr"}}return b(e,[{key:"ngOnDestroy",value:function(){this.change.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ep,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(ep,8))},token:e,providedIn:"root"}),e}(),np=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),ip=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1?arguments[1]:void 0,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];m(this,e),this._multiple=n,this._emitChanges=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ae,i&&i.length&&(n?i.forEach(function(e){return t._markSelected(e)}):this._markSelected(i[0]),this._selectedToEmit.length=0)}return b(e,[{key:"selected",get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}},{key:"select",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:20;return this._platform.isBrowser?new te(function(n){e._globalSubscription||e._addGlobalListener();var i=t>0?e._scrolled.pipe(yf(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){i.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):$d()}},{key:"ngOnDestroy",value:function(){var e=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(t,n){return e.deregister(n)}),this._scrolled.complete()}},{key:"ancestorScrolled",value:function(e,t){var n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(bf(function(e){return!e||n.indexOf(e)>-1}))}},{key:"getAncestorScrollContainers",value:function(e){var t=this,n=[];return this.scrollContainers.forEach(function(i,r){t._scrollableContainsElement(r,e)&&n.push(r)}),n}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_scrollableContainsElement",value:function(e,t){var n=Kd(t),i=e.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}},{key:"_addGlobalListener",value:function(){var e=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return Qd(e._getWindow().document,"scroll").subscribe(function(){return e._scrolled.next()})})}},{key:"_removeGlobalListener",value:function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(bh,8))},token:e,providedIn:"root"}),e}(),ap=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this._platform=t,this._change=new ae,this._changeListener=function(e){r._change.next(e)},this._document=i,n.runOutsideAngular(function(){if(t.isBrowser){var e=r._getWindow();e.addEventListener("resize",r._changeListener),e.addEventListener("orientationchange",r._changeListener)}r.change().subscribe(function(){return r._viewportSize=null})})}return b(e,[{key:"ngOnDestroy",value:function(){if(this._platform.isBrowser){var e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}},{key:"getViewportSize",value:function(){this._viewportSize||this._updateViewportSize();var e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}},{key:"getViewportRect",value:function(){var e=this.getViewportScrollPosition(),t=this.getViewportSize(),n=t.width,i=t.height;return{top:e.top,left:e.left,bottom:e.top+i,right:e.left+n,height:i,width:n}}},{key:"getViewportScrollPosition",value:function(){if(!this._platform.isBrowser)return{top:0,left:0};var e=this._document,t=this._getWindow(),n=e.documentElement,i=n.getBoundingClientRect();return{top:-i.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,left:-i.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0}}},{key:"change",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return e>0?this._change.pipe(yf(e)):this._change}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_updateViewportSize",value:function(){var e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh,8))},token:e,providedIn:"root"}),e}(),sp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),up=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np,Xf,sp],np,sp]}),e}(),cp=function(){function e(){m(this,e)}return b(e,[{key:"attach",value:function(e){return this._attachedHost=e,e.attach(this)}},{key:"detach",value:function(){var e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}},{key:"isAttached",get:function(){return null!=this._attachedHost}},{key:"setAttachedHost",value:function(e){this._attachedHost=e}}]),e}(),lp=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).component=e,a.viewContainerRef=i,a.injector=r,a.componentFactoryResolver=o,a}return n}(cp),hp=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this)).templateRef=e,o.viewContainerRef=t,o.context=r,o}return b(i,[{key:"origin",get:function(){return this.templateRef.elementRef}},{key:"attach",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context;return this.context=n,e(p(i.prototype),"attach",this).call(this,t)}},{key:"detach",value:function(){return this.context=void 0,e(p(i.prototype),"detach",this).call(this)}}]),i}(cp),dp=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).element=e instanceof Ju?e.nativeElement:e,i}return n}(cp),fp=function(){function e(){m(this,e),this._isDisposed=!1,this.attachDomPortal=null}return b(e,[{key:"hasAttached",value:function(){return!!this._attachedPortal}},{key:"attach",value:function(e){return e instanceof lp?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof hp?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof dp?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}},{key:"detach",value:function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}},{key:"dispose",value:function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}},{key:"setDisposeFn",value:function(e){this._disposeFn=e}},{key:"_invokeDisposeFn",value:function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}]),e}(),pp=function(t){a(i,t);var n=s(i);function i(t,r,o,a,s){var u,l;return m(this,i),(l=n.call(this)).outletElement=t,l._componentFactoryResolver=r,l._appRef=o,l._defaultInjector=a,l.attachDomPortal=function(t){var n=t.element,r=l._document.createComment("dom-portal");n.parentNode.insertBefore(r,n),l.outletElement.appendChild(n),l._attachedPortal=t,e((u=c(l),p(i.prototype)),"setDisposeFn",u).call(u,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},l._document=s,l}return b(i,[{key:"attachComponentPortal",value:function(e){var t,n=this,i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);return e.viewContainerRef?(t=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(function(){return t.destroy()})):(t=i.create(e.injector||this._defaultInjector),this._appRef.attachView(t.hostView),this.setDisposeFn(function(){n._appRef.detachView(t.hostView),t.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(t)),this._attachedPortal=e,t}},{key:"attachTemplatePortal",value:function(e){var t=this,n=e.viewContainerRef,i=n.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(function(e){return t.outletElement.appendChild(e)}),i.detectChanges(),this.setDisposeFn(function(){var e=n.indexOf(i);-1!==e&&n.remove(e)}),this._attachedPortal=e,i}},{key:"dispose",value:function(){e(p(i.prototype),"dispose",this).call(this),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}},{key:"_getComponentRootNode",value:function(e){return e.hostView.rootNodes[0]}}]),i}(fp),vp=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i)}return n}(hp);return e.\u0275fac=function(t){return new(t||e)(Os(Ac),Os(Nc))},e.\u0275dir=Rt({type:e,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[cs]}),e}(),gp=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(vp);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[Xu([{provide:vp,useExisting:t}]),cs]}),t}(),mp=function(){var t=function(t){a(i,t);var n=s(i);function i(t,r,o){var a,s;return m(this,i),(s=n.call(this))._componentFactoryResolver=t,s._viewContainerRef=r,s._isInitialized=!1,s.attached=new ol,s.attachDomPortal=function(t){var n=t.element,r=s._document.createComment("dom-portal");t.setAttachedHost(c(s)),n.parentNode.insertBefore(r,n),s._getRootNode().appendChild(n),s._attachedPortal=t,e((a=c(s),p(i.prototype)),"setDisposeFn",a).call(a,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},s._document=o,s}return b(i,[{key:"portal",get:function(){return this._attachedPortal},set:function(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&e(p(i.prototype),"detach",this).call(this),t&&e(p(i.prototype),"attach",this).call(this,t),this._attachedPortal=t)}},{key:"attachedRef",get:function(){return this._attachedRef}},{key:"ngOnInit",value:function(){this._isInitialized=!0}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"dispose",this).call(this),this._attachedPortal=null,this._attachedRef=null}},{key:"attachComponentPortal",value:function(t){t.setAttachedHost(this);var n=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,r=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=n.createComponent(r,n.length,t.injector||n.injector);return n!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),e(p(i.prototype),"setDisposeFn",this).call(this,function(){return o.destroy()}),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}},{key:"attachTemplatePortal",value:function(t){var n=this;t.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return e(p(i.prototype),"setDisposeFn",this).call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=t,this._attachedRef=r,this.attached.emit(r),r}},{key:"_getRootNode",value:function(){var e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}]),i}(fp);return t.\u0275fac=function(e){return new(e||t)(Os(Ku),Os(Nc),Os(bh))},t.\u0275dir=Rt({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[cs]}),t}(),yp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),bp=function(){function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e}();function _p(e){return function(t){return 0===e?If():t.lift(new wp(e))}}var wp=function(){function e(t){if(m(this,e),this.total=t,this.total<0)throw new bp}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kp(e,this.total))}}]),e}(),kp=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))}}]),n}(K);function xp(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){return n.lift(new Sp(e,t))}}var Sp=function(){function e(t,n){m(this,e),this.predicate=t,this.inclusive=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Cp(e,this.predicate,this.inclusive))}}]),e}(),Cp=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.inclusive=r,o.index=0,o}return b(n,[{key:"_next",value:function(e){var t,n=this.destination;try{t=this.predicate(e,this.index++)}catch(i){return void n.error(i)}this.nextOrComplete(e,t)}},{key:"nextOrComplete",value:function(e,t){var n=this.destination;Boolean(t)?n.next(e):(this.inclusive&&n.next(e),n.complete())}}]),n}(K);function Ep(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it.height||e.scrollWidth>t.width}}]),e}(),Pp=function(){function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._ngZone=n,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=function(){o.disable(),o._overlayRef.hasAttached()&&o._ngZone.run(function(){return o._overlayRef.detach()})}}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;if(!this._scrollSubscription){var t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(function(){var t=e._viewportRuler.getViewportScrollPosition().top;Math.abs(t-e._initialScrollPosition)>e._config.threshold?e._detach():e._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Ap=function(){function e(){m(this,e)}return b(e,[{key:"enable",value:function(){}},{key:"disable",value:function(){}},{key:"attach",value:function(){}}]),e}();function Mp(e,t){return t.some(function(t){return e.bottomt.bottom||e.rightt.right})}function Ip(e,t){return t.some(function(t){return e.topt.bottom||e.leftt.right})}var Rp=function(){function e(t,n,i,r){m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this._config=r,this._scrollSubscription=null}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(e._overlayRef.updatePosition(),e._config&&e._config.autoClose){var t=e._overlayRef.overlayElement.getBoundingClientRect(),n=e._viewportRuler.getViewportSize(),i=n.width,r=n.height;Mp(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(e.disable(),e._ngZone.run(function(){return e._overlayRef.detach()}))}}))}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Dp=function(){var e=function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this.noop=function(){return new Ap},this.close=function(e){return new Pp(o._scrollDispatcher,o._ngZone,o._viewportRuler,e)},this.block=function(){return new Tp(o._viewportRuler,o._document)},this.reposition=function(e){return new Rp(o._scrollDispatcher,o._viewportRuler,o._ngZone,e)},this._document=r};return e.\u0275fac=function(t){return new(t||e)(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}(),Np=function e(t){if(m(this,e),this.scrollStrategy=new Ap,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t)for(var n=0,i=Object.keys(t);n-1&&this._attachedOverlays.splice(t,1),0===this._attachedOverlays.length&&this.detach()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(bh))},token:e,providedIn:"root"}),e}(),Bp=function(){var t=function(t){a(i,t);var n=s(i);function i(e){var t;return m(this,i),(t=n.call(this,e))._keydownListener=function(e){for(var n=t._attachedOverlays,i=n.length-1;i>-1;i--)if(n[i]._keydownEvents.observers.length>0){n[i]._keydownEvents.next(e);break}},t}return b(i,[{key:"add",value:function(t){e(p(i.prototype),"add",this).call(this,t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}},{key:"detach",value:function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh))},token:t,providedIn:"root"}),t}(),Vp=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e))._platform=t,r._cursorStyleIsSet=!1,r._clickListener=function(e){for(var t=Jf(e),n=r._attachedOverlays.slice(),i=n.length-1;i>-1;i--){var o=n[i];if(!(o._outsidePointerEvents.observers.length<1)&&o.hasAttached()){if(o.overlayElement.contains(t))break;o._outsidePointerEvents.next(e)}}},r}return b(i,[{key:"add",value:function(t){if(e(p(i.prototype),"add",this).call(this,t),!this._isAttached){var n=this._document.body;n.addEventListener("click",this._clickListener,!0),n.addEventListener("auxclick",this._clickListener,!0),n.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=n.style.cursor,n.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}},{key:"detach",value:function(){if(this._isAttached){var e=this._document.body;e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh),Zi(qf))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh),Zi(qf))},token:t,providedIn:"root"}),t}(),zp="undefined"!=typeof window?window:{},Up=void 0!==zp.__karma__&&!!zp.__karma__||void 0!==zp.jasmine&&!!zp.jasmine||void 0!==zp.jest&&!!zp.jest||void 0!==zp.Mocha&&!!zp.Mocha,Hp=function(){var e=function(){function e(t,n){m(this,e),this._platform=n,this._document=t}return b(e,[{key:"ngOnDestroy",value:function(){var e=this._containerElement;e&&e.parentNode&&e.parentNode.removeChild(e)}},{key:"getContainerElement",value:function(){return this._containerElement||this._createContainer(),this._containerElement}},{key:"_createContainer",value:function(){var e="cdk-overlay-container";if(this._platform.isBrowser||Up)for(var t=this._document.querySelectorAll(".".concat(e,'[platform="server"], .').concat(e,'[platform="test"]')),n=0;nf&&(f=g,d=v)}}catch(m){p.e(m)}finally{p.f()}return this._isPushed=!1,void this._applyPosition(d.position,d.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(e.position,e.originPoint);this._applyPosition(e.position,e.originPoint)}}},{key:"detach",value:function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}},{key:"dispose",value:function(){this._isDisposed||(this._boundingBox&&Yp(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Wp),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}},{key:"reapplyLastPosition",value:function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}},{key:"withScrollableContainers",value:function(e){return this._scrollables=e,this}},{key:"withPositions",value:function(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}},{key:"withViewportMargin",value:function(e){return this._viewportMargin=e,this}},{key:"withFlexibleDimensions",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._hasFlexibleDimensions=e,this}},{key:"withGrowAfterOpen",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._growAfterOpen=e,this}},{key:"withPush",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._canPush=e,this}},{key:"withLockedPosition",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._positionLocked=e,this}},{key:"setOrigin",value:function(e){return this._origin=e,this}},{key:"withDefaultOffsetX",value:function(e){return this._offsetX=e,this}},{key:"withDefaultOffsetY",value:function(e){return this._offsetY=e,this}},{key:"withTransformOriginOn",value:function(e){return this._transformOriginSelector=e,this}},{key:"_getOriginPoint",value:function(e,t){var n;if("center"==t.originX)n=e.left+e.width/2;else{var i=this._isRtl()?e.right:e.left,r=this._isRtl()?e.left:e.right;n="start"==t.originX?i:r}return{x:n,y:"center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom}}},{key:"_getOverlayPoint",value:function(e,t,n){var i,r;return i="center"==n.overlayX?-t.width/2:"start"===n.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,r="center"==n.overlayY?-t.height/2:"top"==n.overlayY?0:-t.height,{x:e.x+i,y:e.y+r}}},{key:"_getOverlayFit",value:function(e,t,n,i){var r=$p(t),o=e.x,a=e.y,s=this._getOffset(i,"x"),u=this._getOffset(i,"y");s&&(o+=s),u&&(a+=u);var c=0-a,l=a+r.height-n.height,h=this._subtractOverflows(r.width,0-o,o+r.width-n.width),d=this._subtractOverflows(r.height,c,l),f=h*d;return{visibleArea:f,isCompletelyWithinViewport:r.width*r.height===f,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}},{key:"_canFitWithFlexibleDimensions",value:function(e,t,n){if(this._hasFlexibleDimensions){var i=n.bottom-t.y,r=n.right-t.x,o=Kp(this._overlayRef.getConfig().minHeight),a=Kp(this._overlayRef.getConfig().minWidth),s=e.fitsInViewportHorizontally||null!=a&&a<=r;return(e.fitsInViewportVertically||null!=o&&o<=i)&&s}return!1}},{key:"_pushOverlayOnScreen",value:function(e,t,n){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};var i,r,o=$p(t),a=this._viewportRect,s=Math.max(e.x+o.width-a.width,0),u=Math.max(e.y+o.height-a.height,0),c=Math.max(a.top-n.top-e.y,0),l=Math.max(a.left-n.left-e.x,0);return i=o.width<=a.width?l||-s:e.xh&&!this._isInitialRender&&!this._growAfterOpen&&(i=e.y-h/2)}if("end"===t.overlayX&&!c||"start"===t.overlayX&&c)s=u.width-e.x+this._viewportMargin,o=e.x-this._viewportMargin;else if("start"===t.overlayX&&!c||"end"===t.overlayX&&c)a=e.x,o=u.right-e.x;else{var d=Math.min(u.right-e.x+u.left,e.x),f=this._lastBoundingBoxSize.width;o=2*d,a=e.x-d,o>f&&!this._isInitialRender&&!this._growAfterOpen&&(a=e.x-f/2)}return{top:i,left:a,bottom:r,right:s,width:o,height:n}}},{key:"_setBoundingBoxStyles",value:function(e,t){var n=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{var r=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;i.height=Yd(n.height),i.top=Yd(n.top),i.bottom=Yd(n.bottom),i.width=Yd(n.width),i.left=Yd(n.left),i.right=Yd(n.right),i.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",i.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",r&&(i.maxHeight=Yd(r)),o&&(i.maxWidth=Yd(o))}this._lastBoundingBoxSize=n,Yp(this._boundingBox.style,i)}},{key:"_resetBoundingBoxStyles",value:function(){Yp(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}},{key:"_resetOverlayElementStyles",value:function(){Yp(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}},{key:"_setOverlayElementStyles",value:function(e,t){var n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(i){var a=this._viewportRuler.getViewportScrollPosition();Yp(n,this._getExactOverlayY(t,e,a)),Yp(n,this._getExactOverlayX(t,e,a))}else n.position="static";var s="",u=this._getOffset(t,"x"),c=this._getOffset(t,"y");u&&(s+="translateX(".concat(u,"px) ")),c&&(s+="translateY(".concat(c,"px)")),n.transform=s.trim(),o.maxHeight&&(i?n.maxHeight=Yd(o.maxHeight):r&&(n.maxHeight="")),o.maxWidth&&(i?n.maxWidth=Yd(o.maxWidth):r&&(n.maxWidth="")),Yp(this._pane.style,n)}},{key:"_getExactOverlayY",value:function(e,t,n){var i={top:"",bottom:""},r=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));var o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=o,"bottom"===e.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Yd(r.y),i}},{key:"_getExactOverlayX",value:function(e,t,n){var i={left:"",right:""},r=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n)),"right"===(this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left")?i.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":i.left=Yd(r.x),i}},{key:"_getScrollVisibility",value:function(){var e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),n=this._scrollables.map(function(e){return e.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:Ip(e,n),isOriginOutsideView:Mp(e,n),isOverlayClipped:Ip(t,n),isOverlayOutsideView:Mp(t,n)}}},{key:"_subtractOverflows",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"";return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}},{key:"left",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}},{key:"bottom",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}},{key:"right",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}},{key:"width",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}},{key:"height",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}},{key:"centerHorizontally",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.left(e),this._justifyContent="center",this}},{key:"centerVertically",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.top(e),this._alignItems="center",this}},{key:"apply",value:function(){if(this._overlayRef&&this._overlayRef.hasAttached()){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),i=n.width,r=n.height,o=n.maxWidth,a=n.maxHeight,s=!("100%"!==i&&"100vw"!==i||o&&"100%"!==o&&"100vw"!==o),u=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=s?"0":this._leftOffset,e.marginTop=u?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,s?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=u?"flex-start":this._alignItems}}},{key:"dispose",value:function(){if(!this._isDisposed&&this._overlayRef){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,n=t.style;t.classList.remove(Jp),n.justifyContent=n.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}}]),e}(),tv=function(){var e=function(){function e(t,n,i,r){m(this,e),this._viewportRuler=t,this._document=n,this._platform=i,this._overlayContainer=r}return b(e,[{key:"global",value:function(){return new ev}},{key:"connectedTo",value:function(e,t,n){return new Zp(t,n,e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}},{key:"flexibleConnectedTo",value:function(e){return new Xp(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},e.\u0275prov=$e({factory:function(){return new e(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},token:e,providedIn:"root"}),e}(),nv=0,iv=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){m(this,e),this.scrollStrategies=t,this._overlayContainer=n,this._componentFactoryResolver=i,this._positionBuilder=r,this._keyboardDispatcher=o,this._injector=a,this._ngZone=s,this._document=u,this._directionality=c,this._location=l,this._outsideClickDispatcher=h}return b(e,[{key:"create",value:function(e){var t=this._createHostElement(),n=this._createPaneElement(t),i=this._createPortalOutlet(n),r=new Np(e);return r.direction=r.direction||this._directionality.value,new Gp(i,t,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}},{key:"position",value:function(){return this._positionBuilder}},{key:"_createPaneElement",value:function(e){var t=this._document.createElement("div");return t.id="cdk-overlay-"+nv++,t.classList.add("cdk-overlay-pane"),e.appendChild(t),t}},{key:"_createHostElement",value:function(){var e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}},{key:"_createPortalOutlet",value:function(e){return this._appRef||(this._appRef=this._injector.get(dh)),new pp(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Dp),Zi(Hp),Zi(Ku),Zi(tv),Zi(Bp),Zi(ss),Zi(Xl),Zi(bh),Zi(tp),Zi(Ih),Zi(Vp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),rv=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],ov=new Ri("cdk-connected-overlay-scroll-strategy"),av=function(){var e=function e(t){m(this,e),this.elementRef=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),e}(),sv=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=q.EMPTY,this._attachSubscription=q.EMPTY,this._detachSubscription=q.EMPTY,this._positionSubscription=q.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ol,this.positionChange=new ol,this.attach=new ol,this.detach=new ol,this.overlayKeydown=new ol,this.overlayOutsideClick=new ol,this._templatePortal=new hp(n,i),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}return b(e,[{key:"offsetX",get:function(){return this._offsetX},set:function(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"offsetY",get:function(){return this._offsetY},set:function(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"hasBackdrop",get:function(){return this._hasBackdrop},set:function(e){this._hasBackdrop=Wd(e)}},{key:"lockPosition",get:function(){return this._lockPosition},set:function(e){this._lockPosition=Wd(e)}},{key:"flexibleDimensions",get:function(){return this._flexibleDimensions},set:function(e){this._flexibleDimensions=Wd(e)}},{key:"growAfterOpen",get:function(){return this._growAfterOpen},set:function(e){this._growAfterOpen=Wd(e)}},{key:"push",get:function(){return this._push},set:function(e){this._push=Wd(e)}},{key:"overlayRef",get:function(){return this._overlayRef}},{key:"dir",get:function(){return this._dir?this._dir.value:"ltr"}},{key:"ngOnDestroy",value:function(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}},{key:"ngOnChanges",value:function(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}},{key:"_createOverlay",value:function(){var e=this;(!this.positions||!this.positions.length)&&(this.positions=rv);var t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(function(){return e.attach.emit()}),this._detachSubscription=t.detachments().subscribe(function(){return e.detach.emit()}),t.keydownEvents().subscribe(function(t){e.overlayKeydown.next(t),27===t.keyCode&&!e.disableClose&&!Ep(t)&&(t.preventDefault(),e._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(function(t){e.overlayOutsideClick.next(t)})}},{key:"_buildConfig",value:function(){var e=this._position=this.positionStrategy||this._createPositionStrategy(),t=new Np({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(t.width=this.width),(this.height||0===this.height)&&(t.height=this.height),(this.minWidth||0===this.minWidth)&&(t.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(t.minHeight=this.minHeight),this.backdropClass&&(t.backdropClass=this.backdropClass),this.panelClass&&(t.panelClass=this.panelClass),t}},{key:"_updatePositionStrategy",value:function(e){var t=this,n=this.positions.map(function(e){return{originX:e.originX,originY:e.originY,overlayX:e.overlayX,overlayY:e.overlayY,offsetX:e.offsetX||t.offsetX,offsetY:e.offsetY||t.offsetY,panelClass:e.panelClass||void 0}});return e.setOrigin(this.origin.elementRef).withPositions(n).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}},{key:"_createPositionStrategy",value:function(){var e=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(e),e}},{key:"_attachOverlay",value:function(){var e=this;this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(function(t){e.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(xp(function(){return e.positionChange.observers.length>0})).subscribe(function(t){e.positionChange.emit(t),0===e.positionChange.observers.length&&e._positionSubscription.unsubscribe()}))}},{key:"_detachOverlay",value:function(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ac),Os(Nc),Os(ov),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[qt]}),e}(),uv={provide:ov,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},cv=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[iv,uv],imports:[[np,yp,up],up]}),e}(),lv={schedule:function(e,t){var n=setTimeout(e,t);return function(){return clearTimeout(n)}},scheduleBeforeRender:function(e){if("undefined"==typeof window)return lv.schedule(e,0);if(void 0===window.requestAnimationFrame)return lv.schedule(e,16);var t=window.requestAnimationFrame(e);return function(){return window.cancelAnimationFrame(t)}}};function hv(e,t,n){var i=n;return function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE}(e)&&t.some(function(t,n){return!("*"===t||!function(e,t){if(!Qp){var n=Element.prototype;Qp=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}return e.nodeType===Node.ELEMENT_NODE&&Qp.call(e,t)}(e,t)||(i=n,0))}),i}var dv=function(){function e(t,n){m(this,e),this.componentFactory=n.get(Ku).resolveComponentFactory(t)}return b(e,[{key:"create",value:function(e){return new fv(this.componentFactory,e)}}]),e}(),fv=function(){function e(t,n){m(this,e),this.componentFactory=t,this.injector=n,this.eventEmitters=new Bf(1),this.events=this.eventEmitters.pipe(Of(function(e){return Oe.apply(void 0,v(e))})),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(function(e){return e.propName})),this.ngZone=this.injector.get(Xl),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(function(){return Zone.current})}return b(e,[{key:"connect",value:function(e){var t=this;this.runInZone(function(){if(null!==t.scheduledDestroyFn)return t.scheduledDestroyFn(),void(t.scheduledDestroyFn=null);null===t.componentRef&&t.initializeComponent(e)})}},{key:"disconnect",value:function(){var e=this;this.runInZone(function(){null===e.componentRef||null!==e.scheduledDestroyFn||(e.scheduledDestroyFn=lv.schedule(function(){null!==e.componentRef&&(e.componentRef.destroy(),e.componentRef=null,e.viewChangeDetectorRef=null)},10))})}},{key:"getInputValue",value:function(e){var t=this;return this.runInZone(function(){return null===t.componentRef?t.initialInputValues.get(e):t.componentRef.instance[e]})}},{key:"setInputValue",value:function(e,t){var n=this;this.runInZone(function(){null!==n.componentRef?function(e,t){return e===t||e!=e&&t!=t}(t,n.getInputValue(e))&&(void 0!==t||!n.unchangedInputs.has(e))||(n.recordInputChange(e,t),n.unchangedInputs.delete(e),n.hasInputChanges=!0,n.componentRef.instance[e]=t,n.scheduleDetectChanges()):n.initialInputValues.set(e,t)})}},{key:"initializeComponent",value:function(e){var t=ss.create({providers:[],parent:this.injector}),n=function(e,t){var n=e.childNodes,i=t.map(function(){return[]}),r=-1;t.some(function(e,t){return"*"===e&&(r=t,!0)});for(var o=0,a=n.length;o1&&void 0!==arguments[1]?arguments[1]:ff;return function(n){return n.lift(new wv(e,t))}}var wv=function(){function e(t,n){m(this,e),this.dueTime=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kv(e,this.dueTime,this.scheduler))}}]),e}(),kv=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).dueTime=i,o.scheduler=r,o.debouncedSubscription=null,o.lastValue=null,o.hasValue=!1,o}return b(n,[{key:"_next",value:function(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xv,this.dueTime,this))}},{key:"_complete",value:function(){this.debouncedNext(),this.destination.complete()}},{key:"debouncedNext",value:function(){if(this.clearDebounce(),this.hasValue){var e=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}},{key:"clearDebounce",value:function(){var e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}]),n}(K);function xv(e){e.debouncedNext()}function Sv(e){return function(t){return t.lift(new Cv(e))}}var Cv=function(){function e(t){m(this,e),this.total=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Ev(e,this.total))}}]),e}(),Ev=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){++this.count>this.total&&this.destination.next(e)}}]),n}(K),Ov=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"create",value:function(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Tv=function(){var e=function(){function e(t){m(this,e),this._mutationObserverFactory=t,this._observedElements=new Map}return b(e,[{key:"ngOnDestroy",value:function(){var e=this;this._observedElements.forEach(function(t,n){return e._cleanupObserver(n)})}},{key:"observe",value:function(e){var t=this,n=Kd(e);return new te(function(e){var i=t._observeElement(n).subscribe(e);return function(){i.unsubscribe(),t._unobserveElement(n)}})}},{key:"_observeElement",value:function(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{var t=new ae,n=this._mutationObserverFactory.create(function(e){return t.next(e)});n&&n.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:n,stream:t,count:1})}return this._observedElements.get(e).stream}},{key:"_unobserveElement",value:function(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}},{key:"_cleanupObserver",value:function(e){if(this._observedElements.has(e)){var t=this._observedElements.get(e),n=t.observer,i=t.stream;n&&n.disconnect(),i.complete(),this._observedElements.delete(e)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ov))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ov))},token:e,providedIn:"root"}),e}(),Pv=function(){var e=function(){function e(t,n,i){m(this,e),this._contentObserver=t,this._elementRef=n,this._ngZone=i,this.event=new ol,this._disabled=!1,this._currentSubscription=null}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this._unsubscribe():this._subscribe()}},{key:"debounce",get:function(){return this._debounce},set:function(e){this._debounce=qd(e),this._subscribe()}},{key:"ngAfterContentInit",value:function(){!this._currentSubscription&&!this.disabled&&this._subscribe()}},{key:"ngOnDestroy",value:function(){this._unsubscribe()}},{key:"_subscribe",value:function(){var e=this;this._unsubscribe();var t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){e._currentSubscription=(e.debounce?t.pipe(_v(e.debounce)):t).subscribe(e.event)})}},{key:"_unsubscribe",value:function(){var e;null===(e=this._currentSubscription)||void 0===e||e.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Tv),Os(Ju),Os(Xl))},e.\u0275dir=Rt({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),e}(),Av=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Ov]}),e}();function Mv(e,t){return(e.getAttribute(t)||"").match(/\S+/g)||[]}var Iv="cdk-describedby-message-container",Rv="cdk-describedby-message",Dv="cdk-describedby-host",Nv=0,Lv=new Map,jv=null,Fv=function(){var e=function(){function e(t){m(this,e),this._document=t}return b(e,[{key:"describe",value:function(e,t,n){if(this._canBeDescribed(e,t)){var i=Bv(t,n);"string"!=typeof t?(Vv(t),Lv.set(i,{messageElement:t,referenceCount:0})):Lv.has(i)||this._createMessageElement(t,n),this._isElementDescribedByMessage(e,i)||this._addMessageReference(e,i)}}},{key:"removeDescription",value:function(e,t,n){if(t&&this._isElementNode(e)){var i=Bv(t,n);if(this._isElementDescribedByMessage(e,i)&&this._removeMessageReference(e,i),"string"==typeof t){var r=Lv.get(i);r&&0===r.referenceCount&&this._deleteMessageElement(i)}jv&&0===jv.childNodes.length&&this._deleteMessagesContainer()}}},{key:"ngOnDestroy",value:function(){for(var e=this._document.querySelectorAll("[".concat(Dv,"]")),t=0;t-1&&t!==n._activeItemIndex&&(n._activeItemIndex=t)}})}return b(e,[{key:"skipPredicate",value:function(e){return this._skipPredicateFn=e,this}},{key:"withWrap",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._wrap=e,this}},{key:"withVerticalOrientation",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._vertical=e,this}},{key:"withHorizontalOrientation",value:function(e){return this._horizontal=e,this}},{key:"withAllowedModifierKeys",value:function(e){return this._allowedModifierKeys=e,this}},{key:"withTypeAhead",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(mv(function(t){return e._pressedLetters.push(t)}),_v(t),bf(function(){return e._pressedLetters.length>0}),ce(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._getItemsArray(),i=1;i0&&void 0!==arguments[0])||arguments[0];return this._homeAndEnd=e,this}},{key:"setActiveItem",value:function(e){var t=this._activeItem;this.updateActiveItem(e),this._activeItem!==t&&this.change.next(this._activeItemIndex)}},{key:"onKeydown",value:function(e){var t=this,n=e.keyCode,i=["altKey","ctrlKey","metaKey","shiftKey"].every(function(n){return!e[n]||t._allowedModifierKeys.indexOf(n)>-1});switch(n){case 9:return void this.tabOut.next();case 40:if(this._vertical&&i){this.setNextItemActive();break}return;case 38:if(this._vertical&&i){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&i){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&i){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&i){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&i){this.setLastItemActive();break}return;default:return void((i||Ep(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(n>=65&&n<=90||n>=48&&n<=57)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],e.preventDefault()}},{key:"activeItemIndex",get:function(){return this._activeItemIndex}},{key:"activeItem",get:function(){return this._activeItem}},{key:"isTyping",value:function(){return this._pressedLetters.length>0}},{key:"setFirstItemActive",value:function(){this._setActiveItemByIndex(0,1)}},{key:"setLastItemActive",value:function(){this._setActiveItemByIndex(this._items.length-1,-1)}},{key:"setNextItemActive",value:function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}},{key:"setPreviousItemActive",value:function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}},{key:"updateActiveItem",value:function(e){var t=this._getItemsArray(),n="number"==typeof e?e:t.indexOf(e),i=t[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}},{key:"_setActiveItemByDelta",value:function(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}},{key:"_setActiveInWrapMode",value:function(e){for(var t=this._getItemsArray(),n=1;n<=t.length;n++){var i=(this._activeItemIndex+e*n+t.length)%t.length;if(!this._skipPredicateFn(t[i]))return void this.setActiveItem(i)}}},{key:"_setActiveInDefaultMode",value:function(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}},{key:"_setActiveItemByIndex",value:function(e,t){var n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(!n[e+=t])return;this.setActiveItem(e)}}},{key:"_getItemsArray",value:function(){return this._items instanceof sl?this._items.toArray():this._items}}]),e}()),Uv=function(){var e=function(){function e(t){m(this,e),this._platform=t}return b(e,[{key:"isDisabled",value:function(e){return e.hasAttribute("disabled")}},{key:"isVisible",value:function(e){return function(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}},{key:"isTabbable",value:function(e){if(!this._platform.isBrowser)return!1;var t=function(e){try{return e.frameElement}catch(t){return null}}(function(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}(e));if(t&&(-1===Gv(t)||!this.isVisible(t)))return!1;var n=e.nodeName.toLowerCase(),i=Gv(e);return e.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(e){var t=e.nodeName.toLowerCase(),n="input"===t&&e.type;return"text"===n||"password"===n||"select"===t||"textarea"===t}(e))&&("audio"===n?!!e.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}},{key:"isFocusable",value:function(e,t){return function(e){return!function(e){return function(e){return"input"==e.nodeName.toLowerCase()}(e)&&"hidden"==e.type}(e)&&(function(e){var t=e.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}(e)||function(e){return function(e){return"a"==e.nodeName.toLowerCase()}(e)&&e.hasAttribute("href")}(e)||e.hasAttribute("contenteditable")||Hv(e))}(e)&&!this.isDisabled(e)&&((null==t?void 0:t.ignoreVisibility)||this.isVisible(e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf))},token:e,providedIn:"root"}),e}();function Hv(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;var t=e.getAttribute("tabindex");return"-32768"!=t&&!(!t||isNaN(parseInt(t,10)))}function Gv(e){if(!Hv(e))return null;var t=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t}var Wv=function(){function e(t,n,i,r){var o=this,a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];m(this,e),this._element=t,this._checker=n,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=function(){return o.focusLastTabbableElement()},this.endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,a||this.attachAnchors()}return b(e,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"destroy",value:function(){var e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}},{key:"attachAnchors",value:function(){var e=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular(function(){e._startAnchor||(e._startAnchor=e._createAnchor(),e._startAnchor.addEventListener("focus",e.startAnchorListener)),e._endAnchor||(e._endAnchor=e._createAnchor(),e._endAnchor.addEventListener("focus",e.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}},{key:"focusInitialElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusInitialElement(e))})})}},{key:"focusFirstTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusFirstTabbableElement(e))})})}},{key:"focusLastTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusLastTabbableElement(e))})})}},{key:"_getRegionBoundary",value:function(e){for(var t=this._element.querySelectorAll("[cdk-focus-region-".concat(e,"], [cdkFocusRegion").concat(e,"], [cdk-focus-").concat(e,"]")),n=0;n=0;n--){var i=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(i)return i}return null}},{key:"_createAnchor",value:function(){var e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}},{key:"_toggleAnchorTabIndex",value:function(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}},{key:"toggleAnchors",value:function(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"_executeOnStable",value:function(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(_p(1)).subscribe(e)}}]),e}(),qv=function(){var e=function(){function e(t,n,i){m(this,e),this._checker=t,this._ngZone=n,this._document=i}return b(e,[{key:"create",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Wv(e,this._checker,this._ngZone,this._document,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Uv),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(Uv),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}();function Xv(e){return 0===e.offsetX&&0===e.offsetY}function Yv(e){var t=e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0];return!(!t||-1!==t.identifier||null!=t.radiusX&&1!==t.radiusX||null!=t.radiusY&&1!==t.radiusY)}"undefined"!=typeof Element&∈var Kv=new Ri("cdk-input-modality-detector-options"),$v={ignoreKeys:[18,17,224,91,16]},Qv=$f({passive:!0,capture:!0}),Zv=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._platform=t,this._mostRecentTarget=null,this._modality=new vv(null),this._lastTouchMs=0,this._onKeydown=function(e){var t,n;(null===(n=null===(t=o._options)||void 0===t?void 0:t.ignoreKeys)||void 0===n?void 0:n.some(function(t){return t===e.keyCode}))||(o._modality.next("keyboard"),o._mostRecentTarget=Jf(e))},this._onMousedown=function(e){Date.now()-o._lastTouchMs<650||(o._modality.next(Xv(e)?"keyboard":"mouse"),o._mostRecentTarget=Jf(e))},this._onTouchstart=function(e){Yv(e)?o._modality.next("keyboard"):(o._lastTouchMs=Date.now(),o._modality.next("touch"),o._mostRecentTarget=Jf(e))},this._options=Object.assign(Object.assign({},$v),r),this.modalityDetected=this._modality.pipe(Sv(1)),this.modalityChanged=this.modalityDetected.pipe(lf()),t.isBrowser&&n.runOutsideAngular(function(){i.addEventListener("keydown",o._onKeydown,Qv),i.addEventListener("mousedown",o._onMousedown,Qv),i.addEventListener("touchstart",o._onTouchstart,Qv)})}return b(e,[{key:"mostRecentModality",get:function(){return this._modality.value}},{key:"ngOnDestroy",value:function(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Qv),document.removeEventListener("mousedown",this._onMousedown,Qv),document.removeEventListener("touchstart",this._onTouchstart,Qv))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},token:e,providedIn:"root"}),e}(),Jv=new Ri("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),eg=new Ri("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),tg=function(){var e=function(){function e(t,n,i,r){m(this,e),this._ngZone=n,this._defaultOptions=r,this._document=i,this._liveElement=t||this._createLiveElement()}return b(e,[{key:"announce",value:function(e){for(var n,i,r,o=this,a=this._defaultOptions,s=arguments.length,u=new Array(s>1?s-1:0),c=1;c1&&void 0!==arguments[1]&&arguments[1],n=Kd(e);if(!this._platform.isBrowser||1!==n.nodeType)return $d(null);var i=Qf(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return t&&(r.checkChildren=!0),r.subject;var o={checkChildren:t,subject:new ae,rootNode:i};return this._elementInfo.set(n,o),this._registerGlobalListeners(o),o.subject}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._elementInfo.get(t);n&&(n.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._removeGlobalListeners(n))}},{key:"focusVia",value:function(e,n,i){var r=this,o=Kd(e);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(function(e){var i=t(e,2),o=i[0],a=i[1];return r._originChanged(o,n,a)}):(this._setOrigin(n),"function"==typeof o.focus&&o.focus(i))}},{key:"ngOnDestroy",value:function(){var e=this;this._elementInfo.forEach(function(t,n){return e.stopMonitoring(n)})}},{key:"_getDocument",value:function(){return this._document||document}},{key:"_getWindow",value:function(){return this._getDocument().defaultView||window}},{key:"_toggleClass",value:function(e,t,n){n?e.classList.add(t):e.classList.remove(t)}},{key:"_getFocusOrigin",value:function(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}},{key:"_shouldBeAttributedToTouch",value:function(e){return 1===this._detectionMode||!!(null==e?void 0:e.contains(this._inputModalityDetector._mostRecentTarget))}},{key:"_setClasses",value:function(e,t){this._toggleClass(e,"cdk-focused",!!t),this._toggleClass(e,"cdk-touch-focused","touch"===t),this._toggleClass(e,"cdk-keyboard-focused","keyboard"===t),this._toggleClass(e,"cdk-mouse-focused","mouse"===t),this._toggleClass(e,"cdk-program-focused","program"===t)}},{key:"_setOrigin",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._ngZone.runOutsideAngular(function(){t._origin=e,t._originFromTouchInteraction="touch"===e&&n,0===t._detectionMode&&(clearTimeout(t._originTimeoutId),t._originTimeoutId=setTimeout(function(){return t._origin=null},t._originFromTouchInteraction?650:1))})}},{key:"_onFocus",value:function(e,t){var n=this._elementInfo.get(t),i=Jf(e);!n||!n.checkChildren&&t!==i||this._originChanged(t,this._getFocusOrigin(i),n)}},{key:"_onBlur",value:function(e,t){var n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget)||(this._setClasses(t),this._emitOrigin(n.subject,null))}},{key:"_emitOrigin",value:function(e,t){this._ngZone.run(function(){return e.next(t)})}},{key:"_registerGlobalListeners",value:function(e){var t=this;if(this._platform.isBrowser){var n=e.rootNode,i=this._rootNodeFocusListenerCount.get(n)||0;i||this._ngZone.runOutsideAngular(function(){n.addEventListener("focus",t._rootNodeFocusAndBlurListener,ig),n.addEventListener("blur",t._rootNodeFocusAndBlurListener,ig)}),this._rootNodeFocusListenerCount.set(n,i+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(function(){t._getWindow().addEventListener("focus",t._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(kf(this._stopInputModalityDetector)).subscribe(function(e){t._setOrigin(e,!0)}))}}},{key:"_removeGlobalListeners",value:function(e){var t=e.rootNode;if(this._rootNodeFocusListenerCount.has(t)){var n=this._rootNodeFocusListenerCount.get(t);n>1?this._rootNodeFocusListenerCount.set(t,n-1):(t.removeEventListener("focus",this._rootNodeFocusAndBlurListener,ig),t.removeEventListener("blur",this._rootNodeFocusAndBlurListener,ig),this._rootNodeFocusListenerCount.delete(t))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}},{key:"_originChanged",value:function(e,t,n){this._setClasses(e,t),this._emitOrigin(n.subject,t),this._lastFocusOrigin=t}},{key:"_getClosestElementsInfo",value:function(e){var t=[];return this._elementInfo.forEach(function(n,i){(i===e||n.checkChildren&&i.contains(e))&&t.push([i,n])}),t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},token:e,providedIn:"root"}),e}(),og="cdk-high-contrast-black-on-white",ag="cdk-high-contrast-white-on-black",sg="cdk-high-contrast-active",ug=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._document=n}return b(e,[{key:"getHighContrastMode",value:function(){if(!this._platform.isBrowser)return 0;var e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);var t=this._document.defaultView||window,n=t&&t.getComputedStyle?t.getComputedStyle(e):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(e),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}},{key:"_applyBodyHighContrastModeCssClasses",value:function(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){var e=this._document.body.classList;e.remove(sg),e.remove(og),e.remove(ag),this._hasCheckedHighContrastMode=!0;var t=this.getHighContrastMode();1===t?(e.add(sg),e.add(og)):2===t&&(e.add(sg),e.add(ag))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(bh))},token:e,providedIn:"root"}),e}(),cg=function(){var e=function e(t){m(this,e),t._applyBodyHighContrastModeCssClasses()};return e.\u0275fac=function(t){return new(t||e)(Zi(ug))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf,Av]]}),e}(),lg=new oc("12.2.5"),hg=function e(){m(this,e)},dg="*";function fg(e,t){return{type:7,name:e,definitions:t,options:{}}}function pg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:t,timings:e}}function vg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:2,steps:e,options:t}}function gg(e){return{type:6,styles:e,offset:null}}function mg(e,t,n){return{type:0,name:e,styles:t,options:n}}function yg(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:1,expr:e,animation:t,options:n}}function bg(e){Promise.resolve(null).then(e)}var _g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+n}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"init",value:function(){}},{key:"play",value:function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}},{key:"triggerMicrotask",value:function(){var e=this;bg(function(){return e._onFinish()})}},{key:"_onStart",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"pause",value:function(){}},{key:"restart",value:function(){}},{key:"finish",value:function(){this._onFinish()}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this._started=!1}},{key:"setPosition",value:function(e){this._position=this.totalTime?e*this.totalTime:1}},{key:"getPosition",value:function(){return this.totalTime?this._position/this.totalTime:1}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),wg=function(){function e(t){var n=this;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var i=0,r=0,o=0,a=this.players.length;0==a?bg(function(){return n._onFinish()}):this.players.forEach(function(e){e.onDone(function(){++i==a&&n._onFinish()}),e.onDestroy(function(){++r==a&&n._onDestroy()}),e.onStart(function(){++o==a&&n._onStart()})}),this.totalTime=this.players.reduce(function(e,t){return Math.max(e,t.totalTime)},0)}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this.players.forEach(function(e){return e.init()})}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"_onStart",value:function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[])}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"play",value:function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(e){return e.play()})}},{key:"pause",value:function(){this.players.forEach(function(e){return e.pause()})}},{key:"restart",value:function(){this.players.forEach(function(e){return e.restart()})}},{key:"finish",value:function(){this._onFinish(),this.players.forEach(function(e){return e.finish()})}},{key:"destroy",value:function(){this._onDestroy()}},{key:"_onDestroy",value:function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(e){return e.destroy()}),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this.players.forEach(function(e){return e.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"setPosition",value:function(e){var t=e*this.totalTime;this.players.forEach(function(e){var n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}},{key:"getPosition",value:function(){var e=this.players.reduce(function(e,t){return null===e||t.totalTime>e.totalTime?t:e},null);return null!=e?e.getPosition():0}},{key:"beforeDestroy",value:function(){this.players.forEach(function(e){e.beforeDestroy&&e.beforeDestroy()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}();function kg(){return"undefined"!=typeof window&&void 0!==window.document}function xg(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function Sg(e){switch(e.length){case 0:return new _g;case 1:return e[0];default:return new wg(e)}}function Cg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=[],s=[],u=-1,c=null;if(i.forEach(function(e){var n=e.offset,i=n==u,l=i&&c||{};Object.keys(e).forEach(function(n){var i=n,s=e[n];if("offset"!==n)switch(i=t.normalizePropertyName(i,a),s){case"!":s=r[n];break;case dg:s=o[n];break;default:s=t.normalizeStyleValue(n,i,s,a)}l[i]=s}),i||s.push(l),c=l,u=n}),a.length){var l="\n - ";throw new Error("Unable to animate due to the following errors:".concat(l).concat(a.join(l)))}return s}function Eg(e,t,n,i){switch(t){case"start":e.onStart(function(){return i(n&&Og(n,"start",e))});break;case"done":e.onDone(function(){return i(n&&Og(n,"done",e))});break;case"destroy":e.onDestroy(function(){return i(n&&Og(n,"destroy",e))})}}function Og(e,t,n){var i=n.totalTime,r=Tg(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==i?e.totalTime:i,!!n.disabled),o=e._data;return null!=o&&(r._data=o),r}function Tg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=arguments.length>6?arguments[6]:void 0;return{element:e,triggerName:t,fromState:n,toState:i,phaseName:r,totalTime:o,disabled:!!a}}function Pg(e,t,n){var i;return e instanceof Map?(i=e.get(t))||e.set(t,i=n):(i=e[t])||(i=e[t]=n),i}function Ag(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var Mg=function(e,t){return!1},Ig=function(e,t){return!1},Rg=function(e,t,n){return[]},Dg=xg();(Dg||"undefined"!=typeof Element)&&(Mg=kg()?function(e,t){for(;t&&t!==document.documentElement;){if(t===e)return!0;t=t.parentNode||t.host}return!1}:function(e,t){return e.contains(t)},Ig=function(){if(Dg||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:Ig}(),Rg=function(e,t,n){var i=[];if(n)for(var r=e.querySelectorAll(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function em(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t)for(var i in e)n[i]=e[i];else Jg(e,n);return n}function tm(e,t,n){return n?t+":"+n+";":""}function nm(e){for(var t="",n=0;n *";case":leave":return"* => void";case":increment":return function(e,t){return parseFloat(t)>parseFloat(e)};case":decrement":return function(e,t){return parseFloat(t) *"}}(e,n);if("function"==typeof i)return void t.push(i);e=i}var r=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==r||r.length<4)return n.push('The provided transition expression "'.concat(e,'" is not supported')),t;var o=r[1],a=r[2],s=r[3];t.push(_m(o,s)),"<"==a[0]&&("*"!=o||"*"!=s)&&t.push(_m(s,o))}(e,n,t)}):n.push(e),n}var ym=new Set(["true","1"]),bm=new Set(["false","0"]);function _m(e,t){var n=ym.has(e)||bm.has(e),i=ym.has(t)||bm.has(t);return function(r,o){var a="*"==e||e==r,s="*"==t||t==o;return!a&&n&&"boolean"==typeof r&&(a=r?ym.has(e):bm.has(e)),!s&&i&&"boolean"==typeof o&&(s=o?ym.has(t):bm.has(t)),a&&s}}var wm=new RegExp("s*:selfs*,?","g");function km(e,t,n){return new xm(e).build(t,n)}var xm=function(){function e(t){m(this,e),this._driver=t}return b(e,[{key:"build",value:function(e,t){var n=new Sm(t);return this._resetContextStyleTimingState(n),vm(this,om(e),n)}},{key:"_resetContextStyleTimingState",value:function(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}},{key:"visitTrigger",value:function(e,t){var n=this,i=t.queryCount=0,r=t.depCount=0,o=[],a=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(function(e){if(n._resetContextStyleTimingState(t),0==e.type){var s=e,u=s.name;u.toString().split(/\s*,\s*/).forEach(function(e){s.name=e,o.push(n.visitState(s,t))}),s.name=u}else if(1==e.type){var c=n.visitTransition(e,t);i+=c.queryCount,r+=c.depCount,a.push(c)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:o,transitions:a,queryCount:i,depCount:r,options:null}}},{key:"visitState",value:function(e,t){var n=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(n.containsDynamicStyles){var r=new Set,o=i||{};if(n.styles.forEach(function(e){if(Cm(e)){var t=e;Object.keys(t).forEach(function(e){sm(t[e]).forEach(function(e){o.hasOwnProperty(e)||r.add(e)})})}}),r.size){var a=cm(r.values());t.errors.push('state("'.concat(e.name,'", ...) must define default values for all the following style substitutions: ').concat(a.join(", ")))}}return{type:0,name:e.name,style:n,options:i?{params:i}:null}}},{key:"visitTransition",value:function(e,t){t.queryCount=0,t.depCount=0;var n=vm(this,om(e.animation),t);return{type:1,matchers:mm(e.expr,t.errors),animation:n,queryCount:t.queryCount,depCount:t.depCount,options:Em(e.options)}}},{key:"visitSequence",value:function(e,t){var n=this;return{type:2,steps:e.steps.map(function(e){return vm(n,e,t)}),options:Em(e.options)}}},{key:"visitGroup",value:function(e,t){var n=this,i=t.currentTime,r=0,o=e.steps.map(function(e){t.currentTime=i;var o=vm(n,e,t);return r=Math.max(r,t.currentTime),o});return t.currentTime=r,{type:3,steps:o,options:Em(e.options)}}},{key:"visitAnimate",value:function(e,t){var n=function(e,t){var n=null;if(e.hasOwnProperty("duration"))n=e;else if("number"==typeof e)return Om(Zg(e,t).duration,0,"");var i=e;if(i.split(/\s+/).some(function(e){return"{"==e.charAt(0)&&"{"==e.charAt(1)})){var r=Om(0,0,"");return r.dynamic=!0,r.strValue=i,r}return Om((n=n||Zg(i,t)).duration,n.delay,n.easing)}(e.timings,t.errors);t.currentAnimateTimings=n;var i,r=e.styles?e.styles:gg({});if(5==r.type)i=this.visitKeyframes(r,t);else{var o=e.styles,a=!1;if(!o){a=!0;var s={};n.easing&&(s.easing=n.easing),o=gg(s)}t.currentTime+=n.duration+n.delay;var u=this.visitStyle(o,t);u.isEmptyStep=a,i=u}return t.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}},{key:"visitStyle",value:function(e,t){var n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}},{key:"_makeStyleAst",value:function(e,t){var n=[];Array.isArray(e.styles)?e.styles.forEach(function(e){"string"==typeof e?e==dg?n.push(e):t.errors.push("The provided style string value ".concat(e," is not allowed.")):n.push(e)}):n.push(e.styles);var i=!1,r=null;return n.forEach(function(e){if(Cm(e)){var t=e,n=t.easing;if(n&&(r=n,delete t.easing),!i)for(var o in t)if(t[o].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:e.offset,containsDynamicStyles:i,options:null}}},{key:"_validateStyleAst",value:function(e,t){var n=this,i=t.currentAnimateTimings,r=t.currentTime,o=t.currentTime;i&&o>0&&(o-=i.duration+i.delay),e.styles.forEach(function(e){"string"!=typeof e&&Object.keys(e).forEach(function(i){if(n._driver.validateStyleProperty(i)){var a=t.collectedStyles[t.currentQuerySelector],s=a[i],u=!0;s&&(o!=r&&o>=s.startTime&&r<=s.endTime&&(t.errors.push('The CSS property "'.concat(i,'" that exists between the times of "').concat(s.startTime,'ms" and "').concat(s.endTime,'ms" is also being animated in a parallel animation between the times of "').concat(o,'ms" and "').concat(r,'ms"')),u=!1),o=s.startTime),u&&(a[i]={startTime:o,endTime:r}),t.options&&function(e,t,n){var i=t.params||{},r=sm(e);r.length&&r.forEach(function(e){i.hasOwnProperty(e)||n.push("Unable to resolve the local animation param ".concat(e," in the given list of values"))})}(e[i],t.options,t.errors)}else t.errors.push('The provided animation property "'.concat(i,'" is not a supported CSS property for animations'))})})}},{key:"visitKeyframes",value:function(e,t){var n=this,i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;var r=0,o=[],a=!1,s=!1,u=0,c=e.steps.map(function(e){var i=n._makeStyleAst(e,t),c=null!=i.offset?i.offset:function(e){if("string"==typeof e)return null;var t=null;if(Array.isArray(e))e.forEach(function(e){if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}});else if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}return t}(i.styles),l=0;return null!=c&&(r++,l=i.offset=c),s=s||l<0||l>1,a=a||l0&&r0?r==d?1:h*r:o[r],s=a*v;t.currentTime=f+p.delay+s,p.duration=s,n._validateStyleAst(e,t),e.offset=a,i.styles.push(e)}),i}},{key:"visitReference",value:function(e,t){return{type:8,animation:vm(this,om(e.animation),t),options:Em(e.options)}}},{key:"visitAnimateChild",value:function(e,t){return t.depCount++,{type:9,options:Em(e.options)}}},{key:"visitAnimateRef",value:function(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:Em(e.options)}}},{key:"visitQuery",value:function(e,n){var i=n.currentQuerySelector,r=e.options||{};n.queryCount++,n.currentQuery=e;var o=t(function(e){var t=!!e.split(/\s*,\s*/).find(function(e){return":self"==e});return t&&(e=e.replace(wm,"")),[e=e.replace(/@\*/g,Xg).replace(/@\w+/g,function(e){return Xg+"-"+e.substr(1)}).replace(/:animating/g,Kg),t]}(e.selector),2),a=o[0],s=o[1];n.currentQuerySelector=i.length?i+" "+a:a,Pg(n.collectedStyles,n.currentQuerySelector,{});var u=vm(this,om(e.animation),n);return n.currentQuery=null,n.currentQuerySelector=i,{type:11,selector:a,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:u,originalSelector:e.selector,options:Em(e.options)}}},{key:"visitStagger",value:function(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");var n="full"===e.timings?{duration:0,delay:0,easing:"full"}:Zg(e.timings,t.errors,!0);return{type:12,animation:vm(this,om(e.animation),t),timings:n,options:null}}}]),e}(),Sm=function e(t){m(this,e),this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function Cm(e){return!Array.isArray(e)&&"object"==typeof e}function Em(e){return e?(e=Jg(e)).params&&(e.params=function(e){return e?Jg(e):null}(e.params)):e={},e}function Om(e,t,n){return{duration:e,delay:t,easing:n}}function Tm(e,t,n,i,r,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];return{type:1,element:e,keyframes:t,preStyleProps:n,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:a,subTimeline:s}}var Pm=function(){function e(){m(this,e),this._map=new Map}return b(e,[{key:"consume",value:function(e){var t=this._map.get(e);return t?this._map.delete(e):t=[],t}},{key:"append",value:function(e,t){var n,i=this._map.get(e);i||this._map.set(e,i=[]),(n=i).push.apply(n,v(t))}},{key:"has",value:function(e){return this._map.has(e)}},{key:"clear",value:function(){this._map.clear()}}]),e}(),Am=new RegExp(":enter","g"),Mm=new RegExp(":leave","g");function Im(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];return(new Rm).buildKeyframes(e,t,n,i,r,o,a,s,u,c)}var Rm=function(){function e(){m(this,e)}return b(e,[{key:"buildKeyframes",value:function(e,t,n,i,r,o,a,s,u){var c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];u=u||new Pm;var l=new Nm(e,t,u,i,r,c,[]);l.options=s,l.currentTimeline.setStyles([o],null,l.errors,s),vm(this,n,l);var h=l.timelines.filter(function(e){return e.containsAnimation()});if(h.length&&Object.keys(a).length){var d=h[h.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,l.errors,s)}return h.length?h.map(function(e){return e.buildKeyframes()}):[Tm(t,[],[],[],0,0,"",!1)]}},{key:"visitTrigger",value:function(e,t){}},{key:"visitState",value:function(e,t){}},{key:"visitTransition",value:function(e,t){}},{key:"visitAnimateChild",value:function(e,t){var n=t.subInstructions.consume(t.element);if(n){var i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}},{key:"visitAnimateRef",value:function(e,t){var n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}},{key:"_visitSubInstructions",value:function(e,t,n){var i=t.currentTimeline.currentTime,r=null!=n.duration?$g(n.duration):null,o=null!=n.delay?$g(n.delay):null;return 0!==r&&e.forEach(function(e){var n=t.appendInstructionToTimeline(e,r,o);i=Math.max(i,n.duration+n.delay)}),i}},{key:"visitReference",value:function(e,t){t.updateOptions(e.options,!0),vm(this,e.animation,t),t.previousNode=e}},{key:"visitSequence",value:function(e,t){var n=this,i=t.subContextCount,r=t,o=e.options;if(o&&(o.params||o.delay)&&((r=t.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Dm);var a=$g(o.delay);r.delayNextStep(a)}e.steps.length&&(e.steps.forEach(function(e){return vm(n,e,r)}),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}},{key:"visitGroup",value:function(e,t){var n=this,i=[],r=t.currentTimeline.currentTime,o=e.options&&e.options.delay?$g(e.options.delay):0;e.steps.forEach(function(a){var s=t.createSubContext(e.options);o&&s.delayNextStep(o),vm(n,a,s),r=Math.max(r,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(function(e){return t.currentTimeline.mergeTimelineCollectedStyles(e)}),t.transformIntoNewTimeline(r),t.previousNode=e}},{key:"_visitTiming",value:function(e,t){if(e.dynamic){var n=e.strValue;return Zg(t.params?um(n,t.params,t.errors):n,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}},{key:"visitAnimate",value:function(e,t){var n=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),i.snapshotCurrentStyles());var r=e.style;5==r.type?this.visitKeyframes(r,t):(t.incrementTime(n.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}},{key:"visitStyle",value:function(e,t){var n=t.currentTimeline,i=t.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();var r=i&&i.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(r):n.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}},{key:"visitKeyframes",value:function(e,t){var n=t.currentAnimateTimings,i=t.currentTimeline.duration,r=n.duration,o=t.createSubContext().currentTimeline;o.easing=n.easing,e.styles.forEach(function(e){o.forwardTime((e.offset||0)*r),o.setStyles(e.styles,e.easing,t.errors,t.options),o.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(o),t.transformIntoNewTimeline(i+r),t.previousNode=e}},{key:"visitQuery",value:function(e,t){var n=this,i=t.currentTimeline.currentTime,r=e.options||{},o=r.delay?$g(r.delay):0;o&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Dm);var a=i,s=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=s.length;var u=null;s.forEach(function(i,r){t.currentQueryIndex=r;var s=t.createSubContext(e.options,i);o&&s.delayNextStep(o),i===t.element&&(u=s.currentTimeline),vm(n,e.animation,s),s.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,s.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),u&&(t.currentTimeline.mergeTimelineCollectedStyles(u),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}},{key:"visitStagger",value:function(e,t){var n=t.parentContext,i=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),s=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var u=t.currentTimeline;s&&u.delayNextStep(s);var c=u.currentTime;vm(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}]),e}(),Dm={},Nm=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this._driver=t,this.element=n,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=a,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Dm,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=u||new Lm(this._driver,n,0),s.push(this.currentTimeline)}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"updateOptions",value:function(e,t){var n=this;if(e){var i=e,r=this.options;null!=i.duration&&(r.duration=$g(i.duration)),null!=i.delay&&(r.delay=$g(i.delay));var o=i.params;if(o){var a=r.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(e){(!t||!a.hasOwnProperty(e))&&(a[e]=um(o[e],a,n.errors))})}}}},{key:"_copyOptions",value:function(){var e={};if(this.options){var t=this.options.params;if(t){var n=e.params={};Object.keys(t).forEach(function(e){n[e]=t[e]})}}return e}},{key:"createSubContext",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0,r=n||this.element,o=new e(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}},{key:"transformIntoNewTimeline",value:function(e){return this.previousNode=Dm,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"appendInstructionToTimeline",value:function(e,t,n){var i={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+e.delay,easing:""},r=new jm(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}},{key:"incrementTime",value:function(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}},{key:"delayNextStep",value:function(e){e>0&&this.currentTimeline.delayNextStep(e)}},{key:"invokeQuery",value:function(e,t,n,i,r,o){var a=[];if(i&&a.push(this.element),e.length>0){e=(e=e.replace(Am,"."+this._enterClassName)).replace(Mm,"."+this._leaveClassName);var s=this._driver.query(this.element,e,1!=n);0!==n&&(s=n<0?s.slice(s.length+n,s.length):s.slice(0,n)),a.push.apply(a,v(s))}return!r&&0==a.length&&o.push('`query("'.concat(t,'")` returned zero elements. (Use `query("').concat(t,'", { optional: true })` if you wish to allow this.)')),a}}]),e}(),Lm=function(){function e(t,n,i,r){m(this,e),this._driver=t,this.element=n,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(n),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(n,this._localTimelineStyles)),this._loadKeyframe()}return b(e,[{key:"containsAnimation",value:function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}},{key:"getCurrentStyleProperties",value:function(){return Object.keys(this._currentKeyframe)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"delayNextStep",value:function(e){var t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}},{key:"fork",value:function(t,n){return this.applyStylesToKeyframe(),new e(this._driver,t,n||this.currentTime,this._elementTimelineStylesLookup)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration+=1,this._loadKeyframe()}},{key:"forwardTime",value:function(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}},{key:"_updateStyle",value:function(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}},{key:"allowOnlyTimelineStyles",value:function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}},{key:"applyEmptyStep",value:function(e){var t=this;e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(function(e){t._backFill[e]=t._globalTimelineStyles[e]||dg,t._currentKeyframe[e]=dg}),this._currentEmptyStepKeyframe=this._currentKeyframe}},{key:"setStyles",value:function(e,t,n,i){var r=this;t&&(this._previousKeyframe.easing=t);var o=i&&i.params||{},a=function(e,t){var n,i={};return e.forEach(function(e){"*"===e?(n=n||Object.keys(t)).forEach(function(e){i[e]=dg}):em(e,!1,i)}),i}(e,this._globalTimelineStyles);Object.keys(a).forEach(function(e){var t=um(a[e],o,n);r._pendingStyles[e]=t,r._localTimelineStyles.hasOwnProperty(e)||(r._backFill[e]=r._globalTimelineStyles.hasOwnProperty(e)?r._globalTimelineStyles[e]:dg),r._updateStyle(e,t)})}},{key:"applyStylesToKeyframe",value:function(){var e=this,t=this._pendingStyles,n=Object.keys(t);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){e._currentKeyframe[n]=t[n]}),Object.keys(this._localTimelineStyles).forEach(function(t){e._currentKeyframe.hasOwnProperty(t)||(e._currentKeyframe[t]=e._localTimelineStyles[t])}))}},{key:"snapshotCurrentStyles",value:function(){var e=this;Object.keys(this._localTimelineStyles).forEach(function(t){var n=e._localTimelineStyles[t];e._pendingStyles[t]=n,e._updateStyle(t,n)})}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"properties",get:function(){var e=[];for(var t in this._currentKeyframe)e.push(t);return e}},{key:"mergeTimelineCollectedStyles",value:function(e){var t=this;Object.keys(e._styleSummary).forEach(function(n){var i=t._styleSummary[n],r=e._styleSummary[n];(!i||r.time>i.time)&&t._updateStyle(n,r.value)})}},{key:"buildKeyframes",value:function(){var e=this;this.applyStylesToKeyframe();var t=new Set,n=new Set,i=1===this._keyframes.size&&0===this.duration,r=[];this._keyframes.forEach(function(o,a){var s=em(o,!0);Object.keys(s).forEach(function(e){var i=s[e];"!"==i?t.add(e):i==dg&&n.add(e)}),i||(s.offset=a/e.duration),r.push(s)});var o=t.size?cm(t.values()):[],a=n.size?cm(n.values()):[];if(i){var s=r[0],u=Jg(s);s.offset=0,u.offset=1,r=[s,u]}return Tm(this.element,r,o,a,this.duration,this.startTime,this.easing,!1)}}]),e}(),jm=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];return m(this,n),(u=t.call(this,e,i,s.delay)).keyframes=r,u.preStyleProps=o,u.postStyleProps=a,u._stretchStartingKeyframe=c,u.timings={duration:s.duration,delay:s.delay,easing:s.easing},u}return b(n,[{key:"containsAnimation",value:function(){return this.keyframes.length>1}},{key:"buildKeyframes",value:function(){var e=this.keyframes,t=this.timings,n=t.delay,i=t.duration,r=t.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=i+n,s=n/a,u=em(e[0],!1);u.offset=0,o.push(u);var c=em(e[0],!1);c.offset=Fm(s),o.push(c);for(var l=e.length-1,h=1;h<=l;h++){var d=em(e[h],!1);d.offset=Fm((n+d.offset*i)/a),o.push(d)}i=a,n=0,r="",e=o}return Tm(this.element,e,this.preStyleProps,this.postStyleProps,i,n,r,!0)}}]),n}(Lm);function Fm(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=Math.pow(10,t-1);return Math.round(e*n)/n}var Bm=function e(){m(this,e)},Vm=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"normalizePropertyName",value:function(e,t){return hm(e)}},{key:"normalizeStyleValue",value:function(e,t,n,i){var r="",o=n.toString().trim();if(zm[t]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&i.push("Please provide a CSS unit value for ".concat(e,":").concat(n))}return o+r}}]),n}(Bm),zm=function(e){var t={};return e.forEach(function(e){return t[e]=!0}),t}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","));function Um(e,t,n,i,r,o,a,s,u,c,l,h,d){return{type:0,element:e,triggerName:t,isRemovalTransition:r,fromState:n,fromStyles:o,toState:i,toStyles:a,timelines:s,queriedElements:u,preStyleProps:c,postStyleProps:l,totalTime:h,errors:d}}var Hm={},Gm=function(){function e(t,n,i){m(this,e),this._triggerName=t,this.ast=n,this._stateStyles=i}return b(e,[{key:"match",value:function(e,t,n,i){return function(e,t,n,i,r){return e.some(function(e){return e(t,n,i,r)})}(this.ast.matchers,e,t,n,i)}},{key:"buildStyles",value:function(e,t,n){var i=this._stateStyles["*"],r=this._stateStyles[e],o=i?i.buildStyles(t,n):{};return r?r.buildStyles(t,n):o}},{key:"build",value:function(e,t,n,i,r,o,a,s,u,c){var l=[],h=this.ast.options&&this.ast.options.params||Hm,d=this.buildStyles(n,a&&a.params||Hm,l),f=s&&s.params||Hm,p=this.buildStyles(i,f,l),v=new Set,g=new Map,m=new Map,y="void"===i,b={params:Object.assign(Object.assign({},h),f)},_=c?[]:Im(e,t,this.ast.animation,r,o,d,p,b,u,l),w=0;if(_.forEach(function(e){w=Math.max(e.duration+e.delay,w)}),l.length)return Um(t,this._triggerName,n,i,y,d,p,[],[],g,m,w,l);_.forEach(function(e){var n=e.element,i=Pg(g,n,{});e.preStyleProps.forEach(function(e){return i[e]=!0});var r=Pg(m,n,{});e.postStyleProps.forEach(function(e){return r[e]=!0}),n!==t&&v.add(n)});var k=cm(v.values());return Um(t,this._triggerName,n,i,y,d,p,_,k,g,m,w)}}]),e}(),Wm=function(){function e(t,n,i){m(this,e),this.styles=t,this.defaultParams=n,this.normalizer=i}return b(e,[{key:"buildStyles",value:function(e,t){var n=this,i={},r=Jg(this.defaultParams);return Object.keys(e).forEach(function(t){var n=e[t];null!=n&&(r[t]=n)}),this.styles.styles.forEach(function(e){if("string"!=typeof e){var o=e;Object.keys(o).forEach(function(e){var a=o[e];a.length>1&&(a=um(a,r,t));var s=n.normalizer.normalizePropertyName(e,t);a=n.normalizer.normalizeStyleValue(e,s,a,t),i[s]=a})}}),i}}]),e}(),qm=function(){function e(t,n,i){var r=this;m(this,e),this.name=t,this.ast=n,this._normalizer=i,this.transitionFactories=[],this.states={},n.states.forEach(function(e){r.states[e.name]=new Wm(e.style,e.options&&e.options.params||{},i)}),Xm(this.states,"true","1"),Xm(this.states,"false","0"),n.transitions.forEach(function(e){r.transitionFactories.push(new Gm(t,e,r.states))}),this.fallbackTransition=function(e,t,n){return new Gm(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(e,t){return!0}],options:null,queryCount:0,depCount:0},t)}(t,this.states)}return b(e,[{key:"containsQueries",get:function(){return this.ast.queryCount>0}},{key:"matchTransition",value:function(e,t,n,i){return this.transitionFactories.find(function(r){return r.match(e,t,n,i)})||null}},{key:"matchStyles",value:function(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}}]),e}();function Xm(e,t,n){e.hasOwnProperty(t)?e.hasOwnProperty(n)||(e[n]=e[t]):e.hasOwnProperty(n)&&(e[t]=e[n])}var Ym=new Pm,Km=function(){function e(t,n,i){m(this,e),this.bodyNode=t,this._driver=n,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}return b(e,[{key:"register",value:function(e,t){var n=[],i=km(this._driver,t,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: ".concat(n.join("\n")));this._animations[e]=i}},{key:"_buildPlayer",value:function(e,t,n){var i=e.element,r=Cg(0,this._normalizer,0,e.keyframes,t,n);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}},{key:"create",value:function(e,t){var n,i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=[],a=this._animations[e],s=new Map;if(a?(n=Im(this._driver,t,a,Gg,Wg,{},{},r,Ym,o)).forEach(function(e){var t=Pg(s,e.element,{});e.postStyleProps.forEach(function(e){return t[e]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),n=[]),o.length)throw new Error("Unable to create the animation due to the following errors: ".concat(o.join("\n")));s.forEach(function(e,t){Object.keys(e).forEach(function(n){e[n]=i._driver.computeStyle(t,n,dg)})});var u=Sg(n.map(function(e){var t=s.get(e.element);return i._buildPlayer(e,{},t)}));return this._playersById[e]=u,u.onDestroy(function(){return i.destroy(e)}),this.players.push(u),u}},{key:"destroy",value:function(e){var t=this._getPlayer(e);t.destroy(),delete this._playersById[e];var n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}},{key:"_getPlayer",value:function(e){var t=this._playersById[e];if(!t)throw new Error("Unable to find the timeline player referenced by ".concat(e));return t}},{key:"listen",value:function(e,t,n,i){var r=Tg(t,"","","");return Eg(this._getPlayer(e),n,r,i),function(){}}},{key:"command",value:function(e,t,n,i){if("register"!=n)if("create"!=n){var r=this._getPlayer(e);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e)}}else this.create(e,t,i[0]||{});else this.register(e,i[0])}}]),e}(),$m="ng-animate-queued",Qm="ng-animate-disabled",Zm=".ng-animate-disabled",Jm=[],ey={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},ty={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ny="__ng_removed",iy=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";m(this,e),this.namespaceId=n;var i=t&&t.hasOwnProperty("value");if(this.value=function(e){return null!=e?e:null}(i?t.value:t),i){var r=Jg(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"absorbOptions",value:function(e){var t=e.params;if(t){var n=this.options.params;Object.keys(t).forEach(function(e){null==n[e]&&(n[e]=t[e])})}}}]),e}(),ry="void",oy=new iy(ry),ay=function(){function e(t,n,i){m(this,e),this.id=t,this.hostElement=n,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,py(n,this._hostClassName)}return b(e,[{key:"listen",value:function(e,t,n,i){var r=this;if(!this._triggers.hasOwnProperty(t))throw new Error('Unable to listen on the animation trigger event "'.concat(n,'" because the animation trigger "').concat(t,"\" doesn't exist!"));if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'.concat(t,'" because the provided event is undefined!'));if(!function(e){return"start"==e||"done"==e}(n))throw new Error('The provided animation trigger event "'.concat(n,'" for the animation trigger "').concat(t,'" is not supported!'));var o=Pg(this._elementListeners,e,[]),a={name:t,phase:n,callback:i};o.push(a);var s=Pg(this._engine.statesByElement,e,{});return s.hasOwnProperty(t)||(py(e,qg),py(e,qg+"-"+t),s[t]=oy),function(){r._engine.afterFlush(function(){var e=o.indexOf(a);e>=0&&o.splice(e,1),r._triggers[t]||delete s[t]})}}},{key:"register",value:function(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}},{key:"_getTrigger",value:function(e){var t=this._triggers[e];if(!t)throw new Error('The provided animation trigger "'.concat(e,'" has not been registered!'));return t}},{key:"trigger",value:function(e,t,n){var i=this,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this._getTrigger(t),a=new uy(this.id,t,e),s=this._engine.statesByElement.get(e);s||(py(e,qg),py(e,qg+"-"+t),this._engine.statesByElement.set(e,s={}));var u=s[t],c=new iy(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&u&&c.absorbOptions(u.options),s[t]=c,u||(u=oy),c.value===ry||u.value!==c.value){var l=Pg(this._engine.playersByElement,e,[]);l.forEach(function(e){e.namespaceId==i.id&&e.triggerName==t&&e.queued&&e.destroy()});var h=o.matchTransition(u.value,c.value,e,c.params),d=!1;if(!h){if(!r)return;h=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:h,fromState:u,toState:c,player:a,isFallbackTransition:d}),d||(py(e,$m),a.onStart(function(){vy(e,$m)})),a.onDone(function(){var t=i.players.indexOf(a);t>=0&&i.players.splice(t,1);var n=i._engine.playersByElement.get(e);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),l.push(a),a}if(!function(e,t){var n=Object.keys(e),i=Object.keys(t);if(n.length!=i.length)return!1;for(var r=0;r=0){for(var i=!1,r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,t)){this._namespaceList.splice(r+1,0,e),i=!0;break}i||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}},{key:"register",value:function(e,t){var n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}},{key:"registerTrigger",value:function(e,t,n){var i=this._namespaceLookup[e];i&&i.register(t,n)&&this.totalAnimations++}},{key:"destroy",value:function(e,t){var n=this;if(e){var i=this._fetchNamespace(e);this.afterFlush(function(){n.namespacesByHostElement.delete(i.hostElement),delete n._namespaceLookup[e];var t=n._namespaceList.indexOf(i);t>=0&&n._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(function(){return i.destroy(t)})}}},{key:"_fetchNamespace",value:function(e){return this._namespaceLookup[e]}},{key:"fetchNamespacesByElement",value:function(e){var t=new Set,n=this.statesByElement.get(e);if(n)for(var i=Object.keys(n),r=0;r=0&&this.collectedLeaveElements.splice(o,1)}if(e){var a=this._fetchNamespace(e);a&&a.insertNode(t,n)}i&&this.collectEnterElement(t)}}},{key:"collectEnterElement",value:function(e){this.collectedEnterElements.push(e)}},{key:"markElementAsDisabled",value:function(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),py(e,Qm)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),vy(e,Qm))}},{key:"removeNode",value:function(e,t,n,i){if(cy(t)){var r=e?this._fetchNamespace(e):null;if(r?r.removeNode(t,i):this.markElementAsRemoved(e,t,!1,i),n){var o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,i)}}else this._onRemovalComplete(t,i)}},{key:"markElementAsRemoved",value:function(e,t,n,i){this.collectedLeaveElements.push(t),t[ny]={namespaceId:e,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}},{key:"listen",value:function(e,t,n,i,r){return cy(t)?this._fetchNamespace(e).listen(t,n,i,r):function(){}}},{key:"_buildInstruction",value:function(e,t,n,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,i,e.fromState.options,e.toState.options,t,r)}},{key:"destroyInnerAnimations",value:function(e){var t=this,n=this.driver.query(e,Xg,!0);n.forEach(function(e){return t.destroyActiveAnimationsForElement(e)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(e,Kg,!0)).forEach(function(e){return t.finishActiveQueriedAnimationOnElement(e)})}},{key:"destroyActiveAnimationsForElement",value:function(e){var t=this.playersByElement.get(e);t&&t.forEach(function(e){e.queued?e.markedForDestroy=!0:e.destroy()})}},{key:"finishActiveQueriedAnimationOnElement",value:function(e){var t=this.playersByQueriedElement.get(e);t&&t.forEach(function(e){return e.finish()})}},{key:"whenRenderingDone",value:function(){var e=this;return new Promise(function(t){if(e.players.length)return Sg(e.players).onDone(function(){return t()});t()})}},{key:"processLeaveNode",value:function(e){var t=this,n=e[ny];if(n&&n.setForRemoval){if(e[ny]=ey,n.namespaceId){this.destroyInnerAnimations(e);var i=this._fetchNamespace(n.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,n.setForRemoval)}this.driver.matchesElement(e,Zm)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Zm,!0).forEach(function(e){t.markElementAsDisabled(e,!1)})}},{key:"flush",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,n){return e._balanceNamespaceList(t,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var i=0;i=0;O--)this._namespaceList[O].drainQueuedTransitions(t).forEach(function(e){var t=e.player,o=e.element;if(C.push(t),n.collectedEnterElements.length){var l=o[ny];if(l&&l.setForMove)return void t.destroy()}var d=!h||!n.driver.containsElement(h,o),f=x.get(o),v=p.get(o),g=n._buildInstruction(e,i,v,f,d);if(g.errors&&g.errors.length)E.push(g);else{if(d)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);if(e.isFallbackTransition)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);g.timelines.forEach(function(e){return e.stretchStartingKeyframe=!0}),i.append(o,g.timelines),a.push({instruction:g,player:t,element:o}),g.queriedElements.forEach(function(e){return Pg(s,e,[]).push(t)}),g.preStyleProps.forEach(function(e,t){var n=Object.keys(e);if(n.length){var i=u.get(t);i||u.set(t,i=new Set),n.forEach(function(e){return i.add(e)})}}),g.postStyleProps.forEach(function(e,t){var n=Object.keys(e),i=c.get(t);i||c.set(t,i=new Set),n.forEach(function(e){return i.add(e)})})}});if(E.length){var T=[];E.forEach(function(e){T.push("@".concat(e.triggerName," has failed due to:\n")),e.errors.forEach(function(e){return T.push("- ".concat(e,"\n"))})}),C.forEach(function(e){return e.destroy()}),this.reportError(T)}var P=new Map,A=new Map;a.forEach(function(e){var t=e.element;i.has(t)&&(A.set(t,t),n._beforeAnimationBuild(e.player.namespaceId,e.instruction,P))}),r.forEach(function(e){var t=e.element;n._getPreviousPlayers(t,!1,e.namespaceId,e.triggerName,null).forEach(function(e){Pg(P,t,[]).push(e),e.destroy()})});var M=m.filter(function(e){return yy(e,u,c)}),I=new Map;hy(I,this.driver,b,c,dg).forEach(function(e){yy(e,u,c)&&M.push(e)});var R=new Map;f.forEach(function(e,t){hy(R,n.driver,new Set(e),u,"!")}),M.forEach(function(e){var t=I.get(e),n=R.get(e);I.set(e,Object.assign(Object.assign({},t),n))});var D=[],N=[],L={};a.forEach(function(e){var t=e.element,a=e.player,s=e.instruction;if(i.has(t)){if(l.has(t))return a.onDestroy(function(){return im(t,s.toStyles)}),a.disabled=!0,a.overrideTotalTime(s.totalTime),void r.push(a);var u=L;if(A.size>1){for(var c=t,h=[];c=c.parentNode;){var d=A.get(c);if(d){u=d;break}h.push(c)}h.forEach(function(e){return A.set(e,u)})}var f=n._buildAnimation(a.namespaceId,s,P,o,R,I);if(a.setRealPlayer(f),u===L)D.push(a);else{var p=n.playersByElement.get(u);p&&p.length&&(a.parentPlayer=Sg(p)),r.push(a)}}else rm(t,s.fromStyles),a.onDestroy(function(){return im(t,s.toStyles)}),N.push(a),l.has(t)&&r.push(a)}),N.forEach(function(e){var t=o.get(e.element);if(t&&t.length){var n=Sg(t);e.setRealPlayer(n)}}),r.forEach(function(e){e.parentPlayer?e.syncPlayerEvents(e.parentPlayer):e.destroy()});for(var j=0;j0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new _g(e.duration,e.delay)}}]),e}(),uy=function(){function e(t,n,i){m(this,e),this.namespaceId=t,this.triggerName=n,this.element=i,this._player=new _g,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return b(e,[{key:"setRealPlayer",value:function(e){var t=this;this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(function(n){t._queuedCallbacks[n].forEach(function(t){return Eg(e,n,void 0,t)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}},{key:"getRealPlayer",value:function(){return this._player}},{key:"overrideTotalTime",value:function(e){this.totalTime=e}},{key:"syncPlayerEvents",value:function(e){var t=this,n=this._player;n.triggerCallback&&e.onStart(function(){return n.triggerCallback("start")}),e.onDone(function(){return t.finish()}),e.onDestroy(function(){return t.destroy()})}},{key:"_queueEvent",value:function(e,t){Pg(this._queuedCallbacks,e,[]).push(t)}},{key:"onDone",value:function(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}},{key:"onStart",value:function(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}},{key:"onDestroy",value:function(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}},{key:"init",value:function(){this._player.init()}},{key:"hasStarted",value:function(){return!this.queued&&this._player.hasStarted()}},{key:"play",value:function(){!this.queued&&this._player.play()}},{key:"pause",value:function(){!this.queued&&this._player.pause()}},{key:"restart",value:function(){!this.queued&&this._player.restart()}},{key:"finish",value:function(){this._player.finish()}},{key:"destroy",value:function(){this.destroyed=!0,this._player.destroy()}},{key:"reset",value:function(){!this.queued&&this._player.reset()}},{key:"setPosition",value:function(e){this.queued||this._player.setPosition(e)}},{key:"getPosition",value:function(){return this.queued?0:this._player.getPosition()}},{key:"triggerCallback",value:function(e){var t=this._player;t.triggerCallback&&t.triggerCallback(e)}}]),e}();function cy(e){return e&&1===e.nodeType}function ly(e,t){var n=e.style.display;return e.style.display=null!=t?t:"none",n}function hy(e,t,n,i,r){var o=[];n.forEach(function(e){return o.push(ly(e))});var a=[];i.forEach(function(n,i){var o={};n.forEach(function(e){var n=o[e]=t.computeStyle(i,e,r);(!n||0==n.length)&&(i[ny]=ty,a.push(i))}),e.set(i,o)});var s=0;return n.forEach(function(e){return ly(e,o[s++])}),a}function dy(e,t){var n=new Map;if(e.forEach(function(e){return n.set(e,[])}),0==t.length)return n;var i=new Set(t),r=new Map;function o(e){if(!e)return 1;var t=r.get(e);if(t)return t;var a=e.parentNode;return t=n.has(a)?a:i.has(a)?1:o(a),r.set(e,t),t}return t.forEach(function(e){var t=o(e);1!==t&&n.get(t).push(e)}),n}var fy="$$classes";function py(e,t){if(e.classList)e.classList.add(t);else{var n=e[fy];n||(n=e[fy]={}),n[t]=!0}}function vy(e,t){if(e.classList)e.classList.remove(t);else{var n=e[fy];n&&delete n[t]}}function gy(e,t,n){Sg(n).onDone(function(){return e.processLeaveNode(t)})}function my(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:-1;this._transitionEngine.flush(e)}},{key:"players",get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)}},{key:"whenRenderingDone",value:function(){return this._transitionEngine.whenRenderingDone()}}]),e}();function _y(e,t){var n=null,i=null;return Array.isArray(t)&&t.length?(n=ky(t[0]),t.length>1&&(i=ky(t[t.length-1]))):t&&(n=ky(t)),n||i?new wy(e,n,i):null}var wy=function(){function e(t,n,i){m(this,e),this._element=t,this._startStyles=n,this._endStyles=i,this._state=0;var r=e.initialStylesByElement.get(t);r||e.initialStylesByElement.set(t,r={}),this._initialStyles=r}return b(e,[{key:"start",value:function(){this._state<1&&(this._startStyles&&im(this._element,this._startStyles,this._initialStyles),this._state=1)}},{key:"finish",value:function(){this.start(),this._state<2&&(im(this._element,this._initialStyles),this._endStyles&&(im(this._element,this._endStyles),this._endStyles=null),this._state=1)}},{key:"destroy",value:function(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(rm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(rm(this._element,this._endStyles),this._endStyles=null),im(this._element,this._initialStyles),this._state=3)}}]),e}();function ky(e){for(var t=null,n=Object.keys(e),i=0;i=this._delay&&n>=this._duration&&this.finish()}},{key:"finish",value:function(){this._finished||(this._finished=!0,this._onDoneFn(),Ay(this._element,this._eventFn,!0))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,t){var n=Iy(e,"").split(","),i=Py(n,t);i>=0&&(n.splice(i,1),My(e,"",n.join(",")))}(this._element,this._name))}}]),e}();function Oy(e,t,n){My(e,"PlayState",n,Ty(e,t))}function Ty(e,t){var n=Iy(e,"");return n.indexOf(",")>0?Py(n.split(","),t):Py([n],t)}function Py(e,t){for(var n=0;n=0)return n;return-1}function Ay(e,t,n){n?e.removeEventListener(Cy,t):e.addEventListener(Cy,t)}function My(e,t,n,i){var r=Sy+t;if(null!=i){var o=e.style[r];if(o.length){var a=o.split(",");a[i]=n,n=a.join(",")}}e.style[r]=n}function Iy(e,t){return e.style[Sy+t]||""}var Ry=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this.element=t,this.keyframes=n,this.animationName=i,this._duration=r,this._delay=o,this._finalStyles=s,this._specialStyles=u,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=a||"linear",this.totalTime=r+o,this._buildStyler()}return b(e,[{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"destroy",value:function(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"_flushDoneFns",value:function(){this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[]}},{key:"_flushStartFns",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"finish",value:function(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}},{key:"setPosition",value:function(e){this._styler.setPosition(e)}},{key:"getPosition",value:function(){return this._styler.getPosition()}},{key:"hasStarted",value:function(){return this._state>=2}},{key:"init",value:function(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}},{key:"pause",value:function(){this.init(),this._styler.pause()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"reset",value:function(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}},{key:"_buildStyler",value:function(){var e=this;this._styler=new Ey(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return e.finish()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}},{key:"beforeDestroy",value:function(){var e=this;this.init();var t={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(i){"offset"!=i&&(t[i]=n?e._finalStyles[i]:gm(e.element,i))})}this.currentSnapshot=t}}]),e}(),Dy=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this)).element=e,r._startingStyles={},r.__initialized=!1,r._styles=zg(t),r}return b(i,[{key:"init",value:function(){var t=this;this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(function(e){t._startingStyles[e]=t.element.style[e]}),e(p(i.prototype),"init",this).call(this))}},{key:"play",value:function(){var t=this;!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(function(e){return t.element.style.setProperty(e,t._styles[e])}),e(p(i.prototype),"play",this).call(this))}},{key:"destroy",value:function(){var t=this;!this._startingStyles||(Object.keys(this._startingStyles).forEach(function(e){var n=t._startingStyles[e];n?t.element.style.setProperty(e,n):t.element.style.removeProperty(e)}),this._startingStyles=null,e(p(i.prototype),"destroy",this).call(this))}}]),i}(_g),Ny=function(){function e(){m(this,e),this._count=0}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"buildKeyframeElement",value:function(e,t,n){n=n.map(function(e){return zg(e)});var i="@keyframes ".concat(t," {\n"),r="";n.forEach(function(e){r=" ";var t=parseFloat(e.offset);i+="".concat(r).concat(100*t,"% {\n"),r+=" ",Object.keys(e).forEach(function(t){var n=e[t];switch(t){case"offset":return;case"easing":return void(n&&(i+="".concat(r,"animation-timing-function: ").concat(n,";\n")));default:return void(i+="".concat(r).concat(t,": ").concat(n,";\n"))}}),i+="".concat(r,"}\n")}),i+="}\n";var o=document.createElement("style");return o.textContent=i,o}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=o.filter(function(e){return e instanceof Ry}),s={};fm(n,i)&&a.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return s[e]=t[e]})});var u=function(e){var t={};return e&&(Array.isArray(e)?e:[e]).forEach(function(e){Object.keys(e).forEach(function(n){"offset"==n||"easing"==n||(t[n]=e[n])})}),t}(t=pm(e,t,s));if(0==n)return new Dy(e,u);var c="gen_css_kf_"+this._count++,l=this.buildKeyframeElement(e,c,t);(function(e){var t,n=null===(t=e.getRootNode)||void 0===t?void 0:t.call(e);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(e).appendChild(l);var h=_y(e,t),d=new Ry(e,t,c,n,i,r,u,h);return d.onDestroy(function(){return function(e){e.parentNode.removeChild(e)}(l)}),d}}]),e}(),Ly=function(){function e(t,n,i,r){m(this,e),this.element=t,this.keyframes=n,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this._buildPlayer(),this._preparePlayerBeforeStart()}},{key:"_buildPlayer",value:function(){var e=this;if(!this._initialized){this._initialized=!0;var t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",function(){return e._onFinish()})}}},{key:"_preparePlayerBeforeStart",value:function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}},{key:"_triggerWebAnimation",value:function(e,t,n){return e.animate(t,n)}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"play",value:function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}},{key:"pause",value:function(){this.init(),this.domPlayer.pause()}},{key:"finish",value:function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this.domPlayer&&this.domPlayer.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}},{key:"getPosition",value:function(){return this.domPlayer.currentTime/this.time}},{key:"totalTime",get:function(){return this._delay+this._duration}},{key:"beforeDestroy",value:function(){var e=this,t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(t[n]=e._finished?e._finalKeyframe[n]:gm(e.element,n))}),this.currentSnapshot=t}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),jy=function(){function e(){m(this,e),this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Fy().toString()),this._cssKeyframesDriver=new Ny}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"overrideWebAnimationsSupport",value:function(e){this._isNativeImpl=e}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=arguments.length>6?arguments[6]:void 0;if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,n,i,r,o);var s={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(s.easing=r);var u={},c=o.filter(function(e){return e instanceof Ly});fm(n,i)&&c.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return u[e]=t[e]})});var l=_y(e,t=pm(e,t=t.map(function(e){return em(e,!1)}),u));return new Ly(e,t,s,l)}}]),e}();function Fy(){return kg()&&Element.prototype.animate||{}}var By=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._nextAnimationId=0,r._renderer=e.createRenderer(i.body,{id:"0",encapsulation:ht.None,styles:[],data:{animation:[]}}),r}return b(n,[{key:"build",value:function(e){var t=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(e)?vg(e):e;return Uy(this._renderer,null,t,"register",[n]),new Vy(t,this._renderer)}}]),n}(hg);return e.\u0275fac=function(t){return new(t||e)(Zi(tc),Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vy=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._id=e,r._renderer=i,r}return b(n,[{key:"create",value:function(e,t){return new zy(this._id,e,t||{},this._renderer)}}]),n}(function(){return function e(){m(this,e)}}()),zy=function(){function e(t,n,i,r){m(this,e),this.id=t,this.element=n,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}return b(e,[{key:"_listen",value:function(e,t){return this._renderer.listen(this.element,"@@".concat(this.id,":").concat(e),t)}},{key:"_command",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i=0&&e3&&void 0!==arguments[3])||arguments[3];this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,i)}},{key:"removeChild",value:function(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate,n)}},{key:"selectRootElement",value:function(e,t){return this.delegate.selectRootElement(e,t)}},{key:"parentNode",value:function(e){return this.delegate.parentNode(e)}},{key:"nextSibling",value:function(e){return this.delegate.nextSibling(e)}},{key:"setAttribute",value:function(e,t,n,i){this.delegate.setAttribute(e,t,n,i)}},{key:"removeAttribute",value:function(e,t,n){this.delegate.removeAttribute(e,t,n)}},{key:"addClass",value:function(e,t){this.delegate.addClass(e,t)}},{key:"removeClass",value:function(e,t){this.delegate.removeClass(e,t)}},{key:"setStyle",value:function(e,t,n,i){this.delegate.setStyle(e,t,n,i)}},{key:"removeStyle",value:function(e,t,n){this.delegate.removeStyle(e,t,n)}},{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)&&t==Hy?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}},{key:"setValue",value:function(e,t){this.delegate.setValue(e,t)}},{key:"listen",value:function(e,t,n){return this.delegate.listen(e,t,n)}},{key:"disableAnimations",value:function(e,t){this.engine.disableAnimations(e,t)}}]),e}(),qy=function(e){a(i,e);var n=s(i);function i(e,t,r,o){var a;return m(this,i),(a=n.call(this,t,r,o)).factory=e,a.namespaceId=t,a}return b(i,[{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)?"."==t.charAt(1)&&t==Hy?this.disableAnimations(e,n=void 0===n||!!n):this.engine.process(this.namespaceId,e,t.substr(1),n):this.delegate.setProperty(e,t,n)}},{key:"listen",value:function(e,n,i){var r=this;if("@"==n.charAt(0)){var o,a=function(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(e),s=n.substr(1),u="";return"@"!=s.charAt(0)&&(s=(o=t(function(e){var t=e.indexOf(".");return[e.substring(0,t),e.substr(t+1)]}(s),2))[0],u=o[1]),this.engine.listen(this.namespaceId,a,s,u,function(e){r.factory.scheduleListenerCallback(e._data||-1,i,e)})}return this.delegate.listen(e,n,i)}}]),i}(Wy),Xy=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){return m(this,n),t.call(this,e.body,i,r)}return b(n,[{key:"ngOnDestroy",value:function(){this.flush()}}]),n}(by);return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Hg),Zi(Bm))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Yy=new Ri("AnimationModuleType"),Ky=[{provide:hg,useClass:By},{provide:Bm,useFactory:function(){return new Vm}},{provide:by,useClass:Xy},{provide:tc,useFactory:function(e,t,n){return new Gy(e,t,n)},deps:[Ad,by,Xl]}],$y=[{provide:Hg,useFactory:function(){return"function"==typeof Fy()?new jy:new Ny}},{provide:Yy,useValue:"BrowserAnimations"}].concat(Ky),Qy=[{provide:Hg,useClass:Ug},{provide:Yy,useValue:"NoopAnimations"}].concat(Ky),Zy=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:t.disableAnimations?Qy:$y}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:$y,imports:[Gd]}),e}();function Jy(e,t){if(1&e&&Is(0,"mat-pseudo-checkbox",4),2&e){var n=Ws();Ts("state",n.selected?"checked":"unchecked")("disabled",n.disabled)}}function eb(e,t){if(1&e&&(As(0,"span",5),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou("(",n.group.label,")")}}var tb=["*"],nb=new oc("12.2.5"),ib=new Ri("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}),rb=function(){var e=function(){function e(t,n,i){m(this,e),this._hasDoneGlobalChecks=!1,this._document=i,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=n,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}return b(e,[{key:"_getWindow",value:function(){var e=this._document.defaultView||window;return"object"==typeof e&&e?e:null}},{key:"_checkIsEnabled",value:function(e){return!(!ah()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}},{key:"_isTestEnv",value:function(){var e=this._getWindow();return e&&(e.__karma__||e.jasmine)}},{key:"_checkDoctypeIsDefined",value:function(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}},{key:"_checkThemeIsPresent",value:function(){if(this._checkIsEnabled("theme")&&this._document.body&&"function"==typeof getComputedStyle){var e=this._document.createElement("div");e.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(e);var t=getComputedStyle(e);t&&"none"!==t.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(e)}}},{key:"_checkCdkVersionMatch",value:function(){this._checkIsEnabled("version")&&nb.full!==lg.full&&console.warn("The Angular Material version ("+nb.full+") does not match the Angular CDK version ("+lg.full+").\nPlease ensure the versions of these two packages exactly match.")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ug),Zi(ib,8),Zi(bh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np],np]}),e}();function ob(e){return function(e){a(n,e);var t=s(n);function n(){var e;m(this,n);for(var i=arguments.length,r=new Array(i),o=0;o1&&void 0!==arguments[1]?arguments[1]:0;return function(e){a(i,e);var n=s(i);function i(){var e;m(this,i);for(var r=arguments.length,o=new Array(r),a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=Object.assign(Object.assign({},vb),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);var a=i.radius||function(e,t,n){var i=Math.max(Math.abs(e-n.left),Math.abs(e-n.right)),r=Math.max(Math.abs(t-n.top),Math.abs(t-n.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),s=e-r.left,u=t-r.top,c=o.enterDuration,l=document.createElement("div");l.classList.add("mat-ripple-element"),l.style.left=s-a+"px",l.style.top=u-a+"px",l.style.height=2*a+"px",l.style.width=2*a+"px",null!=i.color&&(l.style.backgroundColor=i.color),l.style.transitionDuration="".concat(c,"ms"),this._containerElement.appendChild(l),function(e){window.getComputedStyle(e).getPropertyValue("opacity")}(l),l.style.transform="scale(1)";var h=new pb(this,l,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(function(){var e=h===n._mostRecentTransientRipple;h.state=1,!i.persistent&&(!e||!n._isPointerDown)&&h.fadeOut()},c),h}},{key:"fadeOutRipple",value:function(e){var t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),t){var n=e.element,i=Object.assign(Object.assign({},vb),e.config.animation);n.style.transitionDuration="".concat(i.exitDuration,"ms"),n.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(function(){e.state=3,n.parentNode.removeChild(n)},i.exitDuration)}}},{key:"fadeOutAll",value:function(){this._activeRipples.forEach(function(e){return e.fadeOut()})}},{key:"fadeOutAllNonPersistent",value:function(){this._activeRipples.forEach(function(e){e.config.persistent||e.fadeOut()})}},{key:"setupTriggerEvents",value:function(e){var t=Kd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(mb))}},{key:"handleEvent",value:function(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(yb),this._pointerUpEventsRegistered=!0)}},{key:"_onMousedown",value:function(e){var t=Xv(e),n=this._lastTouchStartEvent&&Date.now()1&&void 0!==arguments[1]?arguments[1]:0;this._ngZone.runOutsideAngular(function(){return setTimeout(e,t)})}},{key:"_registerEvents",value:function(e){var t=this;this._ngZone.runOutsideAngular(function(){e.forEach(function(e){t._triggerElement.addEventListener(e,t,gb)})})}},{key:"_removeTriggerEvents",value:function(){var e=this;this._triggerElement&&(mb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}),this._pointerUpEventsRegistered&&yb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}))}}]),e}(),_b=new Ri("mat-ripple-global-options"),wb=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=r||{},this._rippleRenderer=new bb(this,n,t,i)}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}},{key:"trigger",get:function(){return this._trigger||this._elementRef.nativeElement},set:function(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}},{key:"ngOnInit",value:function(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}},{key:"ngOnDestroy",value:function(){this._rippleRenderer._removeTriggerEvents()}},{key:"fadeOutAll",value:function(){this._rippleRenderer.fadeOutAll()}},{key:"fadeOutAllNonPersistent",value:function(){this._rippleRenderer.fadeOutAllNonPersistent()}},{key:"rippleConfig",get:function(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}},{key:"rippleDisabled",get:function(){return this.disabled||!!this._globalOptions.disabled}},{key:"_setupTriggerEventsIfEnabled",value:function(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}},{key:"launch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,t,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Xl),Os(qf),Os(_b,8),Os(Yy,8))},e.\u0275dir=Rt({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,t){2&e&&cu("mat-ripple-unbounded",t.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),e}(),kb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,Xf],rb]}),e}(),xb=function(){var e=function e(t){m(this,e),this._animationMode=t,this.state="unchecked",this.disabled=!1};return e.\u0275fac=function(t){return new(t||e)(Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,t){2&e&&cu("mat-pseudo-checkbox-indeterminate","indeterminate"===t.state)("mat-pseudo-checkbox-checked","checked"===t.state)("mat-pseudo-checkbox-disabled",t.disabled)("_mat-animation-noopable","NoopAnimations"===t._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,t){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),e}(),Sb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb]]}),e}(),Cb=new Ri("MAT_OPTION_PARENT_COMPONENT"),Eb=ob(function(){return function e(){m(this,e)}}()),Ob=0,Tb=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i,r;return m(this,n),(i=t.call(this))._labelId="mat-optgroup-label-"+Ob++,i._inert=null!==(r=null==e?void 0:e.inertGroups)&&void 0!==r&&r,i}return n}(Eb);return e.\u0275fac=function(t){return new(t||e)(Os(Cb,8))},e.\u0275dir=Rt({type:e,inputs:{label:"label"},features:[cs]}),e}(),Pb=new Ri("MatOptgroup"),Ab=0,Mb=function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];m(this,e),this.source=t,this.isUserInput=n},Ib=function(){var e=function(){function e(t,n,i,r){m(this,e),this._element=t,this._changeDetectorRef=n,this._parent=i,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Ab++,this.onSelectionChange=new ol,this._stateChanges=new ae}return b(e,[{key:"multiple",get:function(){return this._parent&&this._parent.multiple}},{key:"selected",get:function(){return this._selected}},{key:"disabled",get:function(){return this.group&&this.group.disabled||this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"disableRipple",get:function(){return this._parent&&this._parent.disableRipple}},{key:"active",get:function(){return this._active}},{key:"viewValue",get:function(){return(this._getHostElement().textContent||"").trim()}},{key:"select",value:function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"deselect",value:function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"focus",value:function(e,t){var n=this._getHostElement();"function"==typeof n.focus&&n.focus(t)}},{key:"setActiveStyles",value:function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}},{key:"setInactiveStyles",value:function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}},{key:"getLabel",value:function(){return this.viewValue}},{key:"_handleKeydown",value:function(e){(13===e.keyCode||32===e.keyCode)&&!Ep(e)&&(this._selectViaInteraction(),e.preventDefault())}},{key:"_selectViaInteraction",value:function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}},{key:"_getAriaSelected",value:function(){return this.selected||!this.multiple&&null}},{key:"_getTabIndex",value:function(){return this.disabled?"-1":"0"}},{key:"_getHostElement",value:function(){return this._element.nativeElement}},{key:"ngAfterViewChecked",value:function(){if(this._selected){var e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue=e,this._stateChanges.next())}}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}},{key:"_emitSelectionChangeEvent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.onSelectionChange.emit(new Mb(this,e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(void 0),Os(Tb))},e.\u0275dir=Rt({type:e,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),e}(),Rb=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){return m(this,n),t.call(this,e,i,r,o)}return n}(Ib);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(Cb,8),Os(Pb,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._selectViaInteraction()})("keydown",function(e){return t._handleKeydown(e)}),2&e&&(Au("id",t.id),ks("tabindex",t._getTabIndex())("aria-selected",t._getAriaSelected())("aria-disabled",t.disabled.toString()),cu("mat-selected",t.selected)("mat-option-multiple",t.multiple)("mat-active",t.active)("mat-option-disabled",t.disabled))},exportAs:["matOption"],features:[cs],ngContentSelectors:tb,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,t){1&e&&(Xs(),Cs(0,Jy,1,2,"mat-pseudo-checkbox",0),As(1,"span",1),Ys(2),Ms(),Cs(3,eb,2,1,"span",2),Is(4,"div",3)),2&e&&(Ts("ngIf",t.multiple),Yo(3),Ts("ngIf",t.group&&t.group._inert),Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t.disabled||t.disableRipple))},directives:[Yh,wb,xb],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),e}();function Db(e,t,n){if(n.length){for(var i=t.toArray(),r=n.toArray(),o=0,a=0;an+i?Math.max(0,e-i+t):n}var Lb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,cd,rb,Sb]]}),e}();function jb(){for(var e=arguments.length,t=new Array(e),n=0;n0){var i=e.slice(0,t),r=i.toLowerCase(),o=e.slice(t+1).trim();n.maybeSetNormalizedName(i,r),n.headers.has(r)?n.headers.get(r).push(o):n.headers.set(r,[o])}})}:function(){n.headers=new Map,Object.keys(t).forEach(function(e){var i=t[e],r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(n.headers.set(r,i),n.maybeSetNormalizedName(e,r))})}:this.headers=new Map}return b(e,[{key:"has",value:function(e){return this.init(),this.headers.has(e.toLowerCase())}},{key:"get",value:function(e){this.init();var t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}},{key:"keys",value:function(){return this.init(),Array.from(this.normalizedNames.values())}},{key:"getAll",value:function(e){return this.init(),this.headers.get(e.toLowerCase())||null}},{key:"append",value:function(e,t){return this.clone({name:e,value:t,op:"a"})}},{key:"set",value:function(e,t){return this.clone({name:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({name:e,value:t,op:"d"})}},{key:"maybeSetNormalizedName",value:function(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}},{key:"init",value:function(){var t=this;this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(e){return t.applyUpdate(e)}),this.lazyUpdate=null))}},{key:"copyFrom",value:function(e){var t=this;e.init(),Array.from(e.headers.keys()).forEach(function(n){t.headers.set(n,e.headers.get(n)),t.normalizedNames.set(n,e.normalizedNames.get(n))})}},{key:"clone",value:function(t){var n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}},{key:"applyUpdate",value:function(e){var t=e.name.toLowerCase();switch(e.op){case"a":case"s":var n=e.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(e.name,t);var i=("a"===e.op?this.headers.get(t):void 0)||[];i.push.apply(i,v(n)),this.headers.set(t,i);break;case"d":var r=e.value;if(r){var o=this.headers.get(t);if(!o)return;0===(o=o.filter(function(e){return-1===r.indexOf(e)})).length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}},{key:"forEach",value:function(e){var t=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return e(t.normalizedNames.get(n),t.headers.get(n))})}}]),e}(),Yb=function(){function e(){m(this,e)}return b(e,[{key:"encodeKey",value:function(e){return Qb(e)}},{key:"encodeValue",value:function(e){return Qb(e)}},{key:"decodeKey",value:function(e){return decodeURIComponent(e)}},{key:"decodeValue",value:function(e){return decodeURIComponent(e)}}]),e}(),Kb=/%(\d[a-f0-9])/gi,$b={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Qb(e){return encodeURIComponent(e).replace(Kb,function(e,t){var n;return null!==(n=$b[t])&&void 0!==n?n:e})}function Zb(e){return"".concat(e)}var Jb=function(){function e(){var n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(m(this,e),this.updates=null,this.cloneFrom=null,this.encoder=i.encoder||new Yb,i.fromString){if(i.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(e,n){var i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(function(e){var r=e.indexOf("="),o=t(-1==r?[n.decodeKey(e),""]:[n.decodeKey(e.slice(0,r)),n.decodeValue(e.slice(r+1))],2),a=o[0],s=o[1],u=i.get(a)||[];u.push(s),i.set(a,u)}),i}(i.fromString,this.encoder)}else i.fromObject?(this.map=new Map,Object.keys(i.fromObject).forEach(function(e){var t=i.fromObject[e];n.map.set(e,Array.isArray(t)?t:[t])})):this.map=null}return b(e,[{key:"has",value:function(e){return this.init(),this.map.has(e)}},{key:"get",value:function(e){this.init();var t=this.map.get(e);return t?t[0]:null}},{key:"getAll",value:function(e){return this.init(),this.map.get(e)||null}},{key:"keys",value:function(){return this.init(),Array.from(this.map.keys())}},{key:"append",value:function(e,t){return this.clone({param:e,value:t,op:"a"})}},{key:"appendAll",value:function(e){var t=[];return Object.keys(e).forEach(function(n){var i=e[n];Array.isArray(i)?i.forEach(function(e){t.push({param:n,value:e,op:"a"})}):t.push({param:n,value:i,op:"a"})}),this.clone(t)}},{key:"set",value:function(e,t){return this.clone({param:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({param:e,value:t,op:"d"})}},{key:"toString",value:function(){var e=this;return this.init(),this.keys().map(function(t){var n=e.encoder.encodeKey(t);return e.map.get(t).map(function(t){return n+"="+e.encoder.encodeValue(t)}).join("&")}).filter(function(e){return""!==e}).join("&")}},{key:"clone",value:function(t){var n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}},{key:"init",value:function(){var e=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(t){return e.map.set(t,e.cloneFrom.map.get(t))}),this.updates.forEach(function(t){switch(t.op){case"a":case"s":var n=("a"===t.op?e.map.get(t.param):void 0)||[];n.push(Zb(t.value)),e.map.set(t.param,n);break;case"d":if(void 0===t.value){e.map.delete(t.param);break}var i=e.map.get(t.param)||[],r=i.indexOf(Zb(t.value));-1!==r&&i.splice(r,1),i.length>0?e.map.set(t.param,i):e.map.delete(t.param)}}),this.cloneFrom=this.updates=null)}}]),e}(),e_=function(){function e(){m(this,e),this.map=new Map}return b(e,[{key:"set",value:function(e,t){return this.map.set(e,t),this}},{key:"get",value:function(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}},{key:"delete",value:function(e){return this.map.delete(e),this}},{key:"keys",value:function(){return this.map.keys()}}]),e}();function t_(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer}function n_(e){return"undefined"!=typeof Blob&&e instanceof Blob}function i_(e){return"undefined"!=typeof FormData&&e instanceof FormData}var r_=function(){function e(t,n,i,r){var o;if(m(this,e),this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new Xb),this.context||(this.context=new e_),this.params){var a=this.params.toString();if(0===a.length)this.urlWithParams=n;else{var s=n.indexOf("?");this.urlWithParams=n+(-1===s?"?":s0&&void 0!==arguments[0]?arguments[0]:{},i=n.method||this.method,r=n.url||this.url,o=n.responseType||this.responseType,a=void 0!==n.body?n.body:this.body,s=void 0!==n.withCredentials?n.withCredentials:this.withCredentials,u=void 0!==n.reportProgress?n.reportProgress:this.reportProgress,c=n.headers||this.headers,l=n.params||this.params,h=null!==(t=n.context)&&void 0!==t?t:this.context;return void 0!==n.setHeaders&&(c=Object.keys(n.setHeaders).reduce(function(e,t){return e.set(t,n.setHeaders[t])},c)),n.setParams&&(l=Object.keys(n.setParams).reduce(function(e,t){return e.set(t,n.setParams[t])},l)),new e(i,r,a,{params:l,headers:c,context:h,reportProgress:u,responseType:o,withCredentials:s})}}]),e}(),o_=((o_=o_||{})[o_.Sent=0]="Sent",o_[o_.UploadProgress=1]="UploadProgress",o_[o_.ResponseHeader=2]="ResponseHeader",o_[o_.DownloadProgress=3]="DownloadProgress",o_[o_.Response=4]="Response",o_[o_.User=5]="User",o_),a_=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"OK";m(this,e),this.headers=t.headers||new Xb,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300},s_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.ResponseHeader,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),u_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.Response,e.body=void 0!==i.body?i.body:null,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),c_=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e,0,"Unknown Error")).name="HttpErrorResponse",i.ok=!1,i.message=i.status>=200&&i.status<300?"Http failure during parsing for ".concat(e.url||"(unknown url)"):"Http failure response for ".concat(e.url||"(unknown url)",": ").concat(e.status," ").concat(e.statusText),i.error=e.error||null,i}return n}(a_);function l_(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}var h_=function(){var e=function(){function e(t){m(this,e),this.handler=t}return b(e,[{key:"request",value:function(e,t){var n,i,r,o=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof r_?n=e:(i=a.headers instanceof Xb?a.headers:new Xb(a.headers),a.params&&(r=a.params instanceof Jb?a.params:new Jb({fromObject:a.params})),n=new r_(e,t,void 0!==a.body?a.body:null,{headers:i,context:a.context,params:r,reportProgress:a.reportProgress,responseType:a.responseType||"json",withCredentials:a.withCredentials}));var s=$d(n).pipe(ke(function(e){return o.handler.handle(e)},void 0,1));if(e instanceof r_||"events"===a.observe)return s;var u=s.pipe(bf(function(e){return e instanceof u_}));switch(a.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return e.body}));case"blob":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof Blob))throw new Error("Response is not a Blob.");return e.body}));case"text":return u.pipe(ce(function(e){if(null!==e.body&&"string"!=typeof e.body)throw new Error("Response is not a string.");return e.body}));case"json":default:return u.pipe(ce(function(e){return e.body}))}case"response":return u;default:throw new Error("Unreachable: unhandled observe type ".concat(a.observe,"}"))}}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",e,t)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("GET",e,t)}},{key:"head",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("HEAD",e,t)}},{key:"jsonp",value:function(e,t){return this.request("JSONP",e,{params:(new Jb).append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}},{key:"options",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("OPTIONS",e,t)}},{key:"patch",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",e,l_(n,t))}},{key:"post",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",e,l_(n,t))}},{key:"put",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",e,l_(n,t))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Wb))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),d_=function(){function e(t,n){m(this,e),this.next=t,this.interceptor=n}return b(e,[{key:"handle",value:function(e){return this.interceptor.intercept(e,this.next)}}]),e}(),f_=new Ri("HTTP_INTERCEPTORS"),p_=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"intercept",value:function(e,t){return t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),v_=/^\)\]\}',?\n/,g_=function(){var e=function(){function e(t){m(this,e),this.xhrFactory=t}return b(e,[{key:"handle",value:function(e){var t=this;if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new te(function(n){var i=t.xhrFactory.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach(function(e,t){return i.setRequestHeader(e,t.join(","))}),e.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){var r=e.detectContentTypeHeader();null!==r&&i.setRequestHeader("Content-Type",r)}if(e.responseType){var o=e.responseType.toLowerCase();i.responseType="json"!==o?o:"text"}var a=e.serializeBody(),s=null,u=function(){if(null!==s)return s;var t=1223===i.status?204:i.status,n=i.statusText||"OK",r=new Xb(i.getAllResponseHeaders()),o=function(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(i)||e.url;return s=new s_({headers:r,status:t,statusText:n,url:o})},c=function(){var t=u(),r=t.headers,o=t.status,a=t.statusText,s=t.url,c=null;204!==o&&(c=void 0===i.response?i.responseText:i.response),0===o&&(o=c?200:0);var l=o>=200&&o<300;if("json"===e.responseType&&"string"==typeof c){var h=c;c=c.replace(v_,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=h,l&&(l=!1,c={error:d,text:c})}}l?(n.next(new u_({body:c,headers:r,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new c_({error:c,headers:r,status:o,statusText:a,url:s||void 0}))},l=function(e){var t=u().url,r=new c_({error:e,status:i.status||0,statusText:i.statusText||"Unknown Error",url:t||void 0});n.error(r)},h=!1,d=function(t){h||(n.next(u()),h=!0);var r={type:o_.DownloadProgress,loaded:t.loaded};t.lengthComputable&&(r.total=t.total),"text"===e.responseType&&!!i.responseText&&(r.partialText=i.responseText),n.next(r)},f=function(e){var t={type:o_.UploadProgress,loaded:e.loaded};e.lengthComputable&&(t.total=e.total),n.next(t)};return i.addEventListener("load",c),i.addEventListener("error",l),i.addEventListener("timeout",l),i.addEventListener("abort",l),e.reportProgress&&(i.addEventListener("progress",d),null!==a&&i.upload&&i.upload.addEventListener("progress",f)),i.send(a),n.next({type:o_.Sent}),function(){i.removeEventListener("error",l),i.removeEventListener("abort",l),i.removeEventListener("load",c),i.removeEventListener("timeout",l),e.reportProgress&&(i.removeEventListener("progress",d),null!==a&&i.upload&&i.upload.removeEventListener("progress",f)),i.readyState!==i.DONE&&i.abort()}})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(fd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),m_=new Ri("XSRF_COOKIE_NAME"),y_=new Ri("XSRF_HEADER_NAME"),b_=function e(){m(this,e)},__=function(){var e=function(){function e(t,n,i){m(this,e),this.doc=t,this.platform=n,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return b(e,[{key:"getToken",value:function(){if("server"===this.platform)return null;var e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Hh(e,this.cookieName),this.lastCookieString=e),this.lastToken}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Ml),Zi(m_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),w_=function(){var e=function(){function e(t,n){m(this,e),this.tokenService=t,this.headerName=n}return b(e,[{key:"intercept",value:function(e,t){var n=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t.handle(e);var i=this.tokenService.getToken();return null!==i&&!e.headers.has(this.headerName)&&(e=e.clone({headers:e.headers.set(this.headerName,i)})),t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(b_),Zi(y_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),k_=function(){var e=function(){function e(t,n){m(this,e),this.backend=t,this.injector=n,this.chain=null}return b(e,[{key:"handle",value:function(e){if(null===this.chain){var t=this.injector.get(f_,[]);this.chain=t.reduceRight(function(e,t){return new d_(e,t)},this.backend)}return this.chain.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qb),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),x_=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"disable",value:function(){return{ngModule:e,providers:[{provide:w_,useClass:p_}]}}},{key:"withOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{ngModule:e,providers:[t.cookieName?{provide:m_,useValue:t.cookieName}:[],t.headerName?{provide:y_,useValue:t.headerName}:[]]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[w_,{provide:f_,useExisting:w_,multi:!0},{provide:b_,useClass:__},{provide:m_,useValue:"XSRF-TOKEN"},{provide:y_,useValue:"X-XSRF-TOKEN"}]}),e}(),S_=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[h_,{provide:Wb,useClass:k_},g_,{provide:qb,useExisting:g_}],imports:[[x_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),e}(),C_=["*"];function E_(e){return Error('Unable to find icon with the name "'.concat(e,'"'))}function O_(e){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \"".concat(e,'".'))}function T_(e){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \"".concat(e,'".'))}var P_=function e(t,n,i){m(this,e),this.url=t,this.svgText=n,this.options=i},A_=function(){var e=function(){function e(t,n,i,r){m(this,e),this._httpClient=t,this._sanitizer=n,this._errorHandler=r,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=i}return b(e,[{key:"addSvgIcon",value:function(e,t,n){return this.addSvgIconInNamespace("",e,t,n)}},{key:"addSvgIconLiteral",value:function(e,t,n){return this.addSvgIconLiteralInNamespace("",e,t,n)}},{key:"addSvgIconInNamespace",value:function(e,t,n,i){return this._addSvgIconConfig(e,t,new P_(n,null,i))}},{key:"addSvgIconResolver",value:function(e){return this._resolvers.push(e),this}},{key:"addSvgIconLiteralInNamespace",value:function(e,t,n,i){var r=this._sanitizer.sanitize(Wr.HTML,n);if(!r)throw T_(n);return this._addSvgIconConfig(e,t,new P_("",r,i))}},{key:"addSvgIconSet",value:function(e,t){return this.addSvgIconSetInNamespace("",e,t)}},{key:"addSvgIconSetLiteral",value:function(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}},{key:"addSvgIconSetInNamespace",value:function(e,t,n){return this._addSvgIconSetConfig(e,new P_(t,null,n))}},{key:"addSvgIconSetLiteralInNamespace",value:function(e,t,n){var i=this._sanitizer.sanitize(Wr.HTML,t);if(!i)throw T_(t);return this._addSvgIconSetConfig(e,new P_("",i,n))}},{key:"registerFontClassAlias",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return this._fontCssClassesByAlias.set(e,t),this}},{key:"classNameForFontAlias",value:function(e){return this._fontCssClassesByAlias.get(e)||e}},{key:"setDefaultFontSetClass",value:function(e){return this._defaultFontSetClass=e,this}},{key:"getDefaultFontSetClass",value:function(){return this._defaultFontSetClass}},{key:"getSvgIconFromUrl",value:function(e){var t=this,n=this._sanitizer.sanitize(Wr.RESOURCE_URL,e);if(!n)throw O_(e);var i=this._cachedIconsByUrl.get(n);return i?$d(M_(i)):this._loadSvgIconFromConfig(new P_(e,null)).pipe(mv(function(e){return t._cachedIconsByUrl.set(n,e)}),ce(function(e){return M_(e)}))}},{key:"getNamedSvgIcon",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=I_(t,e),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(t,e))return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);var r=this._iconSetConfigs.get(t);return r?this._getSvgFromIconSetConfigs(e,r):Rf(E_(n))}},{key:"ngOnDestroy",value:function(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}},{key:"_getSvgFromConfig",value:function(e){return e.svgText?$d(M_(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ce(function(e){return M_(e)}))}},{key:"_getSvgFromIconSetConfigs",value:function(e,t){var n=this,i=this._extractIconWithNameFromAnySet(e,t);return i?$d(i):jb(t.filter(function(e){return!e.svgText}).map(function(e){return n._loadSvgIconSetFromConfig(e).pipe(Bb(function(t){var i="Loading icon set URL: ".concat(n._sanitizer.sanitize(Wr.RESOURCE_URL,e.url)," failed: ").concat(t.message);return n._errorHandler.handleError(new Error(i)),$d(null)}))})).pipe(ce(function(){var i=n._extractIconWithNameFromAnySet(e,t);if(!i)throw E_(e);return i}))}},{key:"_extractIconWithNameFromAnySet",value:function(e,t){for(var n=t.length-1;n>=0;n--){var i=t[n];if(i.svgText&&i.svgText.indexOf(e)>-1){var r=this._svgElementFromConfig(i),o=this._extractSvgIconFromSet(r,e,i.options);if(o)return o}}return null}},{key:"_loadSvgIconFromConfig",value:function(e){var t=this;return this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}),ce(function(){return t._svgElementFromConfig(e)}))}},{key:"_loadSvgIconSetFromConfig",value:function(e){return e.svgText?$d(null):this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}))}},{key:"_extractSvgIconFromSet",value:function(e,t,n){var i=e.querySelector('[id="'.concat(t,'"]'));if(!i)return null;var r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);var o=this._svgElementFromString("");return o.appendChild(r),this._setSvgAttributes(o,n)}},{key:"_svgElementFromString",value:function(e){var t=this._document.createElement("DIV");t.innerHTML=e;var n=t.querySelector("svg");if(!n)throw Error(" tag not found");return n}},{key:"_toSvgElement",value:function(e){for(var t=this._svgElementFromString(""),n=e.attributes,i=0;i*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",G_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],W_=ab(ob(sb(function(){return function e(t){m(this,e),this._elementRef=t}}()))),q_=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;m(this,n),(o=t.call(this,e))._focusMonitor=i,o._animationMode=r,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");var a,s=_(G_);try{for(s.s();!(a=s.n()).done;){var u=a.value;o._hasHostAttributes(u)&&o._getHostElement().classList.add(u)}}catch(c){s.e(c)}finally{s.f()}return e.nativeElement.classList.add("mat-button-base"),o.isRoundButton&&(o.color="accent"),o}return b(n,[{key:"ngAfterViewInit",value:function(){this._focusMonitor.monitor(this._elementRef,!0)}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t)}},{key:"_getHostElement",value:function(){return this._elementRef.nativeElement}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_hasHostAttributes",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i4&&void 0!==arguments[4]?arguments[4]:new $_(e,n,i);if(!r.closed)return t instanceof te?t.subscribe(r):ge(t)(r)}var Z_={};function J_(){for(var e=arguments.length,t=new Array(e),n=0;n visible",pg("150ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void, * => hidden",pg("75ms cubic-bezier(0.4, 0.0, 1, 1)",gg({opacity:0})))])},gw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this))._ngZone=e,s._elementRef=i,s._changeDetectorRef=r,s._platform=o,s.snackBarConfig=a,s._announceDelay=150,s._destroyed=!1,s._onAnnounce=new ae,s._onExit=new ae,s._onEnter=new ae,s._animationState="void",s.attachDomPortal=function(e){return s._assertNotAttached(),s._applySnackBarClasses(),s._portalOutlet.attachDomPortal(e)},s._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",s._platform.FIREFOX&&("polite"===s._live&&(s._role="status"),"assertive"===s._live&&(s._role="alert")),s}return b(n,[{key:"attachComponentPortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}},{key:"onAnimationEnd",value:function(e){var t=e.fromState,n=e.toState;if(("void"===n&&"void"!==t||"hidden"===n)&&this._completeExit(),"visible"===n){var i=this._onEnter;this._ngZone.run(function(){i.next(),i.complete()})}}},{key:"enter",value:function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}},{key:"exit",value:function(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}},{key:"ngOnDestroy",value:function(){this._destroyed=!0,this._completeExit()}},{key:"_completeExit",value:function(){var e=this;this._ngZone.onMicrotaskEmpty.pipe(_p(1)).subscribe(function(){e._onExit.next(),e._onExit.complete()})}},{key:"_applySnackBarClasses",value:function(){var e=this._elementRef.nativeElement,t=this.snackBarConfig.panelClass;t&&(Array.isArray(t)?t.forEach(function(t){return e.classList.add(t)}):e.classList.add(t)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}},{key:"_assertNotAttached",value:function(){this._portalOutlet.hasAttached()}},{key:"_screenReaderAnnounce",value:function(){var e=this;this._announceTimeoutId||this._ngZone.runOutsideAngular(function(){e._announceTimeoutId=setTimeout(function(){var t=e._elementRef.nativeElement.querySelector("[aria-hidden]"),n=e._elementRef.nativeElement.querySelector("[aria-live]");if(t&&n){var i=null;e._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(i=document.activeElement),t.removeAttribute("aria-hidden"),n.appendChild(t),null==i||i.focus(),e._onAnnounce.next(),e._onAnnounce.complete()}},e._announceDelay)})}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(qf),Os(hw))},e.\u0275cmp=Ot({type:e,selectors:[["snack-bar-container"]],viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,t){1&e&&zs("@state.done",function(e){return t.onAnimationEnd(e)}),2&e&&Mu("@state",t._animationState)},features:[cs],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,t){1&e&&(As(0,"div",0),Cs(1,cw,0,0,"ng-template",1),Ms(),Is(2,"div")),2&e&&(Yo(2),ks("aria-live",t._live)("role",t._role))},directives:[mp],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[vw.snackBarState]}}),e}(),mw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cv,yp,cd,Y_,rb],rb]}),e}(),yw=new Ri("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hw}}),bw=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._overlay=t,this._live=n,this._injector=i,this._breakpointObserver=r,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=pw,this.snackBarContainerComponent=gw,this.handsetCssClass="mat-snack-bar-handset"}return b(e,[{key:"_openedSnackBarRef",get:function(){var e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}},{key:"openFromComponent",value:function(e,t){return this._attach(e,t)}},{key:"openFromTemplate",value:function(e,t){return this._attach(e,t)}},{key:"open",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:e,action:t},i.announcementMessage===e&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}},{key:"dismiss",value:function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}},{key:"ngOnDestroy",value:function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}},{key:"_attachSnackBarContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:hw,useValue:t}]}),i=new lp(this.snackBarContainerComponent,t.viewContainerRef,n),r=e.attach(i);return r.instance.snackBarConfig=t,r.instance}},{key:"_attach",value:function(e,t){var n=this,i=Object.assign(Object.assign(Object.assign({},new hw),this._defaultConfig),t),r=this._createOverlay(i),o=this._attachSnackBarContainer(r,i),a=new fw(o,r);if(e instanceof Ac){var s=new hp(e,null,{$implicit:i.data,snackBarRef:a});a.instance=o.attachTemplatePortal(s)}else{var u=this._createInjector(i,a),c=new lp(e,void 0,u),l=o.attachComponentPortal(c);a.instance=l.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(kf(r.detachments())).subscribe(function(e){var t=r.overlayElement.classList;e.matches?t.add(n.handsetCssClass):t.remove(n.handsetCssClass)}),i.announcementMessage&&o._onAnnounce.subscribe(function(){n._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(a,i),this._openedSnackBarRef=a,this._openedSnackBarRef}},{key:"_animateSnackBar",value:function(e,t){var n=this;e.afterDismissed().subscribe(function(){n._openedSnackBarRef==e&&(n._openedSnackBarRef=null),t.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),t.duration&&t.duration>0&&e.afterOpened().subscribe(function(){return e._dismissAfter(t.duration)})}},{key:"_createOverlay",value:function(e){var t=new Np;t.direction=e.direction;var n=this._overlay.position().global(),i="rtl"===e.direction,r="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!i||"end"===e.horizontalPosition&&i,o=!r&&"center"!==e.horizontalPosition;return r?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===e.verticalPosition?n.top("0"):n.bottom("0"),t.positionStrategy=n,this._overlay.create(t)}},{key:"_createInjector",value:function(e,t){return ss.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:fw,useValue:t},{provide:lw,useValue:e.data}]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(tg),Zi(ss),Zi(aw),Zi(e,12),Zi(yw))},e.\u0275prov=$e({factory:function(){return new e(Zi(iv),Zi(tg),Zi(Xa),Zi(aw),Zi(e,12),Zi(yw))},token:e,providedIn:mw}),e}(),_w={tooltipState:fg("state",[mg("initial, void, hidden",gg({opacity:0,transform:"scale(0)"})),mg("visible",gg({transform:"scale(1)"})),yg("* => visible",pg("200ms cubic-bezier(0, 0, 0.2, 1)",function(e){return{type:5,steps:e}}([gg({opacity:0,transform:"scale(0)",offset:0}),gg({opacity:.5,transform:"scale(0.99)",offset:.5}),gg({opacity:1,transform:"scale(1)",offset:1})]))),yg("* => hidden",pg("100ms cubic-bezier(0, 0, 0.2, 1)",gg({opacity:0})))])},ww="tooltip-panel",kw=$f({passive:!0}),xw=new Ri("mat-tooltip-scroll-strategy"),Sw={provide:xw,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition({scrollThrottle:20})}}},Cw=new Ri("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),Ew=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h,d){var f=this;m(this,e),this._overlay=t,this._elementRef=n,this._scrollDispatcher=i,this._viewContainerRef=r,this._ngZone=o,this._platform=a,this._ariaDescriber=s,this._focusMonitor=u,this._dir=l,this._defaultOptions=h,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new ae,this._handleKeydown=function(e){f._isTooltipVisible()&&27===e.keyCode&&!Ep(e)&&(e.preventDefault(),e.stopPropagation(),f._ngZone.run(function(){return f.hide(0)}))},this._scrollStrategy=c,this._document=d,h&&(h.position&&(this.position=h.position),h.touchGestures&&(this.touchGestures=h.touchGestures)),l.change.pipe(kf(this._destroyed)).subscribe(function(){f._overlayRef&&f._updatePosition(f._overlayRef)}),o.runOutsideAngular(function(){n.nativeElement.addEventListener("keydown",f._handleKeydown)})}return b(e,[{key:"position",get:function(){return this._position},set:function(e){var t;e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(t=this._tooltipInstance)||void 0===t||t.show(0),this._overlayRef.updatePosition()))}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}},{key:"message",get:function(){return this._message},set:function(e){var t=this;this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(function(){Promise.resolve().then(function(){t._ariaDescriber.describe(t._elementRef.nativeElement,t.message,"tooltip")})}))}},{key:"tooltipClass",get:function(){return this._tooltipClass},set:function(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}},{key:"ngAfterViewInit",value:function(){var e=this;this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(kf(this._destroyed)).subscribe(function(t){t?"keyboard"===t&&e._ngZone.run(function(){return e.show()}):e._ngZone.run(function(){return e.hide(0)})})}},{key:"ngOnDestroy",value:function(){var e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),e.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(function(n){var i=t(n,2),r=i[0],o=i[1];e.removeEventListener(r,o,kw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}},{key:"show",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.showDelay;if(!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new lp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}}},{key:"hide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hideDelay;this._tooltipInstance&&this._tooltipInstance.hide(e)}},{key:"toggle",value:function(){this._isTooltipVisible()?this.hide():this.show()}},{key:"_isTooltipVisible",value:function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}},{key:"_createOverlay",value:function(){var e=this;if(this._overlayRef)return this._overlayRef;var t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".".concat(this._cssClassPrefix,"-tooltip")).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return n.positionChanges.pipe(kf(this._destroyed)).subscribe(function(t){e._updateCurrentPositionClass(t.connectionPair),e._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&e._tooltipInstance.isVisible()&&e._ngZone.run(function(){return e.hide(0)})}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"".concat(this._cssClassPrefix,"-").concat(ww),scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._overlayRef.outsidePointerEvents().pipe(kf(this._destroyed)).subscribe(function(){var t;return null===(t=e._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}},{key:"_detach",value:function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}},{key:"_updatePosition",value:function(e){var t=e.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();t.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}},{key:"_addOffset",value:function(e){return e}},{key:"_getOrigin",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n||"below"==n?e={originX:"center",originY:"above"==n?"top":"bottom"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={originX:"start",originY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={originX:"end",originY:"center"});var i=this._invertPosition(e.originX,e.originY);return{main:e,fallback:{originX:i.x,originY:i.y}}}},{key:"_getOverlayPosition",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n?e={overlayX:"center",overlayY:"bottom"}:"below"==n?e={overlayX:"center",overlayY:"top"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={overlayX:"end",overlayY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={overlayX:"start",overlayY:"center"});var i=this._invertPosition(e.overlayX,e.overlayY);return{main:e,fallback:{overlayX:i.x,overlayY:i.y}}}},{key:"_updateTooltipMessage",value:function(){var e=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(_p(1),kf(this._destroyed)).subscribe(function(){e._tooltipInstance&&e._overlayRef.updatePosition()}))}},{key:"_setTooltipClass",value:function(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}},{key:"_invertPosition",value:function(e,t){return"above"===this.position||"below"===this.position?"top"===t?t="bottom":"bottom"===t&&(t="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:t}}},{key:"_updateCurrentPositionClass",value:function(e){var t,n=e.overlayY,i=e.originX,r=e.originY;if((t="center"===n?this._dir&&"rtl"===this._dir.value?"end"===i?"left":"right":"start"===i?"left":"right":"bottom"===n&&"top"===r?"above":"below")!==this._currentPosition){var o=this._overlayRef;if(o){var a="".concat(this._cssClassPrefix,"-").concat(ww,"-");o.removePanelClass(a+this._currentPosition),o.addPanelClass(a+t)}this._currentPosition=t}}},{key:"_setupPointerEnterEventsIfNeeded",value:function(){var e=this;this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",function(){e._setupPointerExitEventsIfNeeded(),e.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",function(){e._setupPointerExitEventsIfNeeded(),clearTimeout(e._touchstartTimeout),e._touchstartTimeout=setTimeout(function(){return e.show()},500)}])),this._addListeners(this._passiveListeners))}},{key:"_setupPointerExitEventsIfNeeded",value:function(){var e,t=this;if(!this._pointerExitEventsInitialized){this._pointerExitEventsInitialized=!0;var n=[];if(this._platformSupportsMouseEvents())n.push(["mouseleave",function(){return t.hide()}],["wheel",function(e){return t._wheelListener(e)}]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();var i=function(){clearTimeout(t._touchstartTimeout),t.hide(t._defaultOptions.touchendHideDelay)};n.push(["touchend",i],["touchcancel",i])}this._addListeners(n),(e=this._passiveListeners).push.apply(e,n)}}},{key:"_addListeners",value:function(e){var n=this;e.forEach(function(e){var i=t(e,2),r=i[0],o=i[1];n._elementRef.nativeElement.addEventListener(r,o,kw)})}},{key:"_platformSupportsMouseEvents",value:function(){return!this._platform.IOS&&!this._platform.ANDROID}},{key:"_wheelListener",value:function(e){if(this._isTooltipVisible()){var t=this._document.elementFromPoint(e.clientX,e.clientY),n=this._elementRef.nativeElement;t!==n&&!n.contains(t)&&this.hide()}}},{key:"_disableNativeGesturesIfNecessary",value:function(){var e=this.touchGestures;if("off"!==e){var t=this._elementRef.nativeElement,n=t.style;("on"===e||"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===e||!t.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(void 0),Os(tp),Os(void 0),Os(bh))},e.\u0275dir=Rt({type:e,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),e}(),Ow=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h,d,f){var p;return m(this,n),(p=t.call(this,e,i,r,o,a,s,u,c,l,h,d,f))._tooltipComponent=Pw,p}return n}(Ew);return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(xw),Os(tp,8),Os(Cw,8),Os(bh))},e.\u0275dir=Rt({type:e,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[cs]}),e}(),Tw=function(){var e=function(){function e(t){m(this,e),this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new ae}return b(e,[{key:"show",value:function(e){var t=this;clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(function(){t._visibility="visible",t._showTimeoutId=void 0,t._onShow(),t._markForCheck()},e)}},{key:"hide",value:function(e){var t=this;clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(function(){t._visibility="hidden",t._hideTimeoutId=void 0,t._markForCheck()},e)}},{key:"afterHidden",value:function(){return this._onHide}},{key:"isVisible",value:function(){return"visible"===this._visibility}},{key:"ngOnDestroy",value:function(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}},{key:"_animationStart",value:function(){this._closeOnInteraction=!1}},{key:"_animationDone",value:function(e){var t=e.toState;"hidden"===t&&!this.isVisible()&&this._onHide.next(),("visible"===t||"hidden"===t)&&(this._closeOnInteraction=!0)}},{key:"_handleBodyInteraction",value:function(){this._closeOnInteraction&&this.hide(0)}},{key:"_markForCheck",value:function(){this._changeDetectorRef.markForCheck()}},{key:"_onShow",value:function(){}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e}),e}(),Pw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e))._breakpointObserver=i,r._isHandset=r._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)"),r}return n}(Tw);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(aw))},e.\u0275cmp=Ot({type:e,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,t){2&e&&uu("zoom","visible"===t._visibility?1:null)},features:[cs],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(e,t){var n;(1&e&&(As(0,"div",0),Vs("@state.start",function(){return t._animationStart()})("@state.done",function(e){return t._animationDone(e)}),Jc(1,"async"),Cu(2),Ms()),2&e)&&(cu("mat-tooltip-handset",null==(n=el(1,5,t._isHandset))?null:n.matches),Ts("ngClass",t.tooltipClass)("@state",t._visibility),Yo(2),Eu(t.message))},directives:[Gh],pipes:[sd],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[_w.tooltipState]},changeDetection:0}),e}(),Aw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Sw],imports:[[cg,cd,cv,rb],rb,sp]}),e}();function Mw(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function Iw(e,t){return function(n,i){t(n,i,e)}}function Rw(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Dw(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{u(i.next(e))}catch(t){o(t)}}function s(e){try{u(i.throw(e))}catch(t){o(t)}}function u(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(a,s)}u((i=i.apply(e,t||[])).next())})}function Nw(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)}function Lw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Nw()}var jw="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Fw=Lw(),Bw=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";m(this,e),this.storage=function(e){try{var n=window[e],i="__storage_test__";return n.setItem(i,i),n.removeItem(i),n}catch(t){return null}}(i),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return b(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function Vw(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(n=Math.min(n,i/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var zw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Uw(e){return"string"==typeof e?zw[e.toUpperCase()]||zw.WHITE:e}function Hw(e,t){if(!e)throw new Error(t||"Assertion failed")}var Gw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Ww=Gw.window||Gw.self||Gw.global,qw=Gw.process||{};function Xw(){var e;if(Fw&&Ww.performance)e=Ww.performance.now();else if(qw.hrtime){var t=qw.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}console;var Yw={debug:Fw&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Kw={enabled:!0,level:0};function $w(){}var Qw={},Zw={once:!0};function Jw(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var ek=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;m(this,e),this.id=n,this.VERSION=jw,this._startTs=Xw(),this._deltaTs=Xw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Bw("__probe-".concat(this.id,"__"),Kw),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],i=Object.getPrototypeOf(e),r=Object.getOwnPropertyNames(i),o=_(r);try{var a=function(){var i=t.value;"function"==typeof e[i]&&(n.find(function(e){return i===e})||(e[i]=e[i].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(s){o.e(s)}finally{o.f()}}(this),Object.seal(this)}return b(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((Xw()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((Xw()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){Hw(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,Yw.warn,arguments,Zw)}},{key:"error",value:function(e){return this._getLogFunction(0,e,Yw.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,Yw.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,Yw.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,Yw.debug||Yw.info,arguments,Zw)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||$w,n&&[n],{tag:Jw(t)}):$w}},{key:"image",value:function(e){var t=e.logLevel,n=e.priority,i=e.image,o=e.message,a=void 0===o?"":o,s=e.scale,u=void 0===s?1:s;return this._shouldLog(t||n)?Fw?function(e){var t,n=e.image,i=e.message,r=void 0===i?"":i,o=e.scale,a=void 0===o?1:o;if("string"==typeof n){var s=new Image;return s.onload=function(){var e,t=Vw(s,r,a);(e=console).log.apply(e,v(t))},s.src=n,$w}var u=n.nodeName||"";if("img"===u.toLowerCase())return(t=console).log.apply(t,v(Vw(n,r,a))),$w;if("canvas"===u.toLowerCase()){var c=new Image;return c.onload=function(){var e;return(e=console).log.apply(e,v(Vw(c,r,a)))},c.src=n.toDataURL(),$w}return $w}({image:i,message:a,scale:u}):function(e){var t=e.image,n=e.scale,o=void 0===n?1:n,a=null;try{a=r(75307)}catch(i){}return a?function(){return a(t,{fit:"box",width:"".concat(Math.round(80*o),"%")}).then(function(e){return console.log(e)})}:$w}({image:i,message:a,scale:u}):$w}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(o({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||$w)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},i=n=nk({logLevel:e,message:t,opts:n}),r=i.collapsed;return n.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||$w)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=tk(e)}},{key:"_getLogFunction",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;r=nk({logLevel:e,message:t,args:i,opts:r}),Hw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Xw();var a=r.tag||r.message;if(r.once){if(Qw[a])return $w;Qw[a]=Xw()}return t=function(e,t,n){if("string"==typeof t){var i=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}(function(e){return e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s")}(n.total)):"";t=function(e,t,n){return!Fw&&"string"==typeof e&&(t&&(t=Uw(t),e="\x1b[".concat(t,"m").concat(e,"\x1b[39m")),n&&(t=Uw(n),e="\x1b[".concat(n+10,"m").concat(e,"\x1b[49m"))),e}(t=n.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}return t}(this.id,r.message,r),(o=n).bind.apply(o,[console,t].concat(v(r.args)))}return $w}}]),e}();return e.VERSION=jw,e}();function tk(e){if(!e)return 0;var t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Hw(Number.isFinite(t)&&t>=0),t}function nk(e){var t=e.logLevel,n=e.message;e.logLevel=tk(t);for(var i=e.args?Array.from(e.args):[];i.length&&i.shift()!==n;);switch(e.args=i,typeof t){case"string":case"function":void 0!==n&&i.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var r=typeof e.message;return Hw("string"===r||"object"===r),Object.assign(e,e.opts)}var ik=new ek({id:"deck"}),rk={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(rk,"IDENTITY",{get:function(){return ik.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var ok={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},ak={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},sk=new ek({id:"luma.gl"});function uk(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ck(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version))}function lk(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}function hk(e){return uk(ck(e),"Invalid WebGLRenderingContext"),e}function dk(e){return uk(lk(e),"Requires WebGL2"),e}var fk={},pk=function e(t){var n=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{},i=n.copyState,r=void 0!==i&&i,o=n.log,a=void 0===o?function(){}:o;m(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?function(e,t){if("number"==typeof(t=t||Sk)){var n=t,i=Dk[n];return i?i(e,n):e.getParameter(n)}var r,o={},a=_(Array.isArray(t)?t:Object.keys(t));try{for(a.s();!(r=a.n()).done;){var s=r.value,u=Dk[s];o[s]=u?u(e,Number(s)):e.getParameter(Number(s))}}catch(c){a.e(c)}finally{a.f()}return o}(t):Object.assign({},Sk),this.log=a,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return b(e,[{key:"push",value:function(){this.stateStack.push({})}},{key:"pop",value:function(){uk(this.stateStack.length>0),Uk(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,n=!1,i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var r in e){uk(void 0!==r);var o=e[r],a=this.cache[r];Lk(o,a)||(n=!0,t=a,i&&!(r in i)&&(i[r]=a),this.cache[r]=o)}return{valueChanged:n,oldValue:t}}}]),e}();function Vk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.enable,i=void 0===n||n,r=t.copyState;if(uk(void 0!==r),!e.state){var o=globalThis.polyfillContext;for(var a in o&&o(e),e.state=new Bk(e,{copyState:r}),function(e){var t=e.useProgram.bind(e);e.useProgram=function(n){e.state.program!==n&&(t(n),e.state.program=n)}}(e),Ik)Fk(e,a,Ik[a]);jk(e,"getParameter"),jk(e,"isEnabled")}return e.state.enable=i,e}function zk(e){uk(e.state),e.state.pop()}function Uk(e,t){if(uk(ck(e),"setParameters requires a WebGL context"),!Nk(t)){var n={};for(var i in t){var r=Number(i),o=Pk[i];o&&("string"==typeof o?n[o]=!0:o(e,t[i],r))}var a=e.state&&e.state.cache;if(a)for(var s in n)Mk[s](e,t,a)}}function Hk(e,t,n){if(Nk(t))return n(e);var i,r=t.nocatch,o=void 0===r||r;if(function(e){e.state||Vk(e,{copyState:!1}),e.state.push()}(e),Uk(e,t),o)i=n(e),zk(e);else try{i=n(e)}finally{zk(e)}return i}function Gk(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}()}function Wk(e){var t=e.luma;if(e.canvas&&t){var n=t.canvasSizeInfo.clientWidth;return n?e.drawingBufferWidth/n:1}return 1}function qk(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(e,t,n,i,r){var o,a=Xk(e[0],t,n),s=Yk(e[1],t,i,r),u=Xk(e[0]+1,t,n),c=u===n-1?u:u-1;return u=Yk(e[1]+1,t,i,r),r?(o=s,s=u=0===u?u:u+1):o=u===i-1?u:u-1,{x:a,y:s,width:Math.max(c-a+1,1),height:Math.max(o-s+1,1)}}(t,Wk(e),e.drawingBufferWidth,e.drawingBufferHeight,n)}function Xk(e,t,n){return Math.min(Math.round(e*t),n-1)}function Yk(e,t,n,i){return i?Math.max(0,n-1-Math.round(e*t)):Math.min(Math.round(e*t),n-1)}var Kk=Gk(),$k=Kk&&"undefined"!=typeof document,Qk={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Zk(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};uk(Kk,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,n=e=Object.assign({},Qk,e),i=n.width,r=n.height;function o(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=o;var a=e,s=a.canvas,u=function(e){var t,n=e.canvas,i=e.width,r=void 0===i?800:i,o=e.height,a=void 0===o?600:o,s=e.onError;return"string"==typeof n?($k&&"complete"===document.readyState||s("createGLContext called on canvas '".concat(n,"' before page was loaded")),t=document.getElementById(n)):n?t=n:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",t.style.height=Number.isFinite(a)?"".concat(a,"px"):"100%",document.body.insertBefore(t,document.body.firstChild)),t}({canvas:s,width:i,height:r,onError:o});return(t=function(e,t){var n=t.onError,i=null,r=function(e){return i=e.statusMessage||i};e.addEventListener("webglcontextcreationerror",r,!1);var o=t.webgl1,a=void 0===o||o,s=t.webgl2,u=void 0===s||s,c=null;return u&&(c=(c=c||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),a&&(c=(c=c||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",r,!1),c?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),c):n("Failed to create ".concat(u&&!a?"WebGL2":"WebGL"," context: ").concat(i||"Unknown error"))}(u,e))?(function(e){var t=lk(e)?"WebGL2":"WebGL1",n=function(e){var t=e.getParameter(7936),n=e.getParameter(7937),i=e.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&e.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:i&&e.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:t,rendererMasked:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e);sk.info(1,"".concat(t).concat(e.debug?" debug":""," context ").concat(n?"(".concat(n.vendor,",").concat(n.renderer,")"):""))()}(t=Jk(t,e)),t):null}function Jk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var n=t=Object.assign({},Qk,t),i=n.manageState,r=n.debug;return i&&Vk(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),n=0;n0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),nx=function(){function e(t){var n=t.id,i=t.stats;m(this,e),this.id=n,this.stats={},this._initializeStats(i),Object.seal(this)}return b(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach(function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach(function(t){return e._getOrCreate(t)})}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof tx?e:new tx(t,n)),this.stats[t]}}]),e}(),ix="8.5.12",rx=new(function(){function e(){m(this,e),this.stats=new Map}return b(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new nx({id:e})),this.stats.get(e)}}]),e}());if(globalThis.luma&&globalThis.luma.VERSION!==ix)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(ix));function ox(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ax(e,t){if("string"!=typeof t)return t;var n=Number(t);if(!isNaN(n))return n;var i=e[t=t.replace(/^.*\./,"")];return ox(void 0!==i,"Accessing undefined constant GL.".concat(t)),i}function sx(e,t){for(var n in t=Number(t),e)if(e[n]===t)return"GL.".concat(n);return String(t)}globalThis.luma||(Gk()&&sk.log(1,"luma.gl ".concat(ix," - set luma.log.level=1 (or higher) to trace rendering"))(),globalThis.luma=globalThis.luma||{VERSION:ix,version:ix,log:sk,stats:rx,globals:{modules:{},nodeIO:{}}}),globalThis;var ux={};function cx(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return ux[e]=ux[e]||1,"".concat(e,"-").concat(ux[e]++)}function lx(e){return ox("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function hx(e){var t=!0;for(var n in e){t=!1;break}return t}function dx(e,t,n,i){var r="See luma.gl ".concat(n," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);i.forEach(function(e){o.methodName||(o[e]=function(){throw sk.removed("Calling removed method ".concat(t,".").concat(e,": "),r)(),new Error(e)})})}var fx="Resource subclass must define virtual methods",px=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,t),hk(e);var i=n.id,r=n.userData,o=void 0===r?{}:r;this.gl=e,this.gl2=e,this.id=i||cx(this[Symbol.toStringTag]),this.userData=o,this._bound=!1,this._handle=n.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return b(t,[{key:Symbol.toStringTag,get:function(){return"Resource"}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,n=void 0!==t&&t,i=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,i&&n&&i.filter(Boolean).forEach(function(e){return e.delete()}),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension)){var r=n.webgl1,o="webgl2"in n?n.webgl2:n.webgl1;return i?o:r}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parameters,i=t.keys,r=this.constructor.PARAMETERS||{},o=lk(this.gl),a={},s=n||Object.keys(r),u=_(s);try{for(u.s();!(e=u.n()).done;){var c=e.value,l=r[c];if(l&&(!("webgl2"in l)||o)&&(!("extension"in l)||this.gl.getExtension(l.extension))){var h=i?sx(this.gl,c):c;a[h]=this.getParameter(c,t),i&&"GLenum"===l.type&&(a[h]=sx(this.gl,a[h]))}}}catch(d){u.e(d)}finally{u.f()}return a}},{key:"setParameter",value:function(e,t){ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(t=ax(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,n){return dx(this,e,t,n)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(fx)}},{key:"_deleteHandle",value:function(){throw new Error(fx)}},{key:"_bindHandle",value:function(e){throw new Error(fx)}},{key:"_getOptsFromHandle",value:function(){throw new Error(fx)}},{key:"_getParameter",value:function(e,t){throw new Error(fx)}},{key:"_setParameter",value:function(e,t){throw new Error(fx)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this[Symbol.toStringTag],t=rx.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this[Symbol.toStringTag];rx.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this[Symbol.toStringTag],n=rx.get("Memory Usage");n.get("GPU Memory").addCount(e),n.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this[Symbol.toStringTag],t=rx.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}}]),t}();function vx(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function gx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.clamped,i=void 0===n||n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function mx(e){for(var t=e.data,n=e.width,i=e.height,r=Math.round(n/2),o=Math.round(i/2),a=new Uint8Array(r*o*4),s=0;s0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=yx("Accessor",e,_x)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}],[{key:"getBytesPerElement",value:function(e){return gx(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return ox(e.size),gx(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),t.target=r.target||(t.gl.webgl2?36662:34962),t.initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Buffer"}},{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=yx("Buffer",e,xx),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=yx("Buffer",e,Sx))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new wx(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,n=t.data,i=t.offset,r=void 0===i?0:i,o=t.srcOffset,a=void 0===o?0:o,s=e.byteLength||e.length;ox(n);var u=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(u,this.handle),0!==a||void 0!==s?(dk(this.gl),this.gl.bufferSubData(this.target,r,n,a,s)):this.gl.bufferSubData(u,r,n),this.gl.bindBuffer(u,null),this.debugData=null,this._inferType(n),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,n=e.readOffset,i=void 0===n?0:n,r=e.writeOffset,o=void 0===r?0:r,a=e.size,s=this.gl;return dk(s),s.bindBuffer(36662,t.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,i,o,a),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,n=void 0===t?null:t,i=e.srcByteOffset,r=void 0===i?0:i,o=e.dstOffset,a=void 0===o?0:o,s=e.length,u=void 0===s?0:s;dk(this.gl);var c,l,h=gx(this.accessor.type||5126,{clamped:!1}),d=this._getAvailableElementCount(r),f=a;n?c=(l=n.length)-f:l=f+(c=Math.min(d,u||d));var p=Math.min(d,c);return ox((u=u||p)<=p),n=n||new h(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,n,a,u),this.gl.bindBuffer(36662,null),n}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i,o=e.offset,a=void 0===o?0:o,s=e.size;return 35345===n||35982===n?void 0!==s?this.gl.bindBufferRange(n,r,this.handle,a,s):(ox(0===a),this.gl.bindBufferBase(n,r,this.handle)):this.gl.bindBuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i;return 35345===n||35982===n?this.gl.bindBufferBase(n,r,null):this.gl.bindBuffer(n,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;ox(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,t,e),this.gl.bindBuffer(i,null),this.debugData=e.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);var r=vx(e);return ox(r),this.setAccessor(new wx(this.accessor,{type:r})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;ox(e>=0),this._trackDeallocatedMemory();var n=e;0===e&&(n=new Float32Array(0));var i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,t),this.gl.bindBuffer(i,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/gx(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new wx(this.accessor,{type:vx(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return sk.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return sk.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}},{key:"setByteLength",value:function(e){return sk.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return sk.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new wx(this.accessor,e),this}}]),i}(px,Symbol.toStringTag),Ex={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},Ox={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},Tx={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Px=[9729,9728],Ax=globalThis.WebGLBuffer||function(){},Mx=function(e,n){a(r,e);var i=s(r);function r(e,t){var n;m(this,r);var o=t.id,a=void 0===o?cx("texture"):o,s=t.handle,u=t.target;return(n=i.call(this,e,{id:a,handle:s})).target=u,n.textureUnit=void 0,n.loaded=!1,n.width=void 0,n.height=void 0,n.depth=void 0,n.format=void 0,n.type=void 0,n.dataFormat=void 0,n.border=void 0,n.textureUnit=void 0,n.mipmaps=void 0,n}return b(r,[{key:n,get:function(){return"Texture"}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e,t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.data;if(i instanceof Promise)return i.then(function(e){return t.initialize(Object.assign({},n,{pixels:e,data:e}))}),this;var r="undefined"!=typeof HTMLVideoElement&&i instanceof HTMLVideoElement;if(r&&i.readyState=HTMLVideoElement.HAVE_CURRENT_DATA?i.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,n=e.parameters;if(e.lastTime===t.currentTime||t.readyState0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(sk.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Hk(this.gl,t,function(){e.gl.generateMipmap(e.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){var n;this._trackDeallocatedMemory("Texture");var i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.level,u=void 0===s?0:s,c=e.format,l=void 0===c?this.format:c,h=e.border,d=void 0===h?this.border:h,f=e.offset,p=void 0===f?0:f,v=e.parameters,g=void 0===v?{}:v,m=e.data,y=void 0===m?null:m,b=e.type,w=void 0===b?this.type:b,k=e.width,x=void 0===k?this.width:k,S=e.height,C=void 0===S?this.height:S,E=e.dataFormat,O=void 0===E?this.dataFormat:E,T=e.compressed,P=void 0!==T&&T;y||(y=a),n=this._deduceParameters({format:l,type:w,dataFormat:O,compressed:P,data:y,width:x,height:C}),w=n.type,O=n.dataFormat,P=n.compressed,x=n.width,C=n.height;var A=this.gl;A.bindTexture(this.target,this.handle);var M,I=this._getDataType({data:y,compressed:P});y=I.data,M=I.dataType;var R,D=0;return Hk(this.gl,g,function(){switch(M){case"null":A.texImage2D(r,u,l,x,C,d,O,w,y);break;case"typed-array":A.texImage2D(r,u,l,x,C,d,O,w,y,p);break;case"buffer":(R=dk(A)).bindBuffer(35052,y.handle||y),R.texImage2D(r,u,l,x,C,d,O,w,p),R.bindBuffer(35052,null);break;case"browser-object":lk(A)?A.texImage2D(r,u,l,x,C,d,O,w,y):A.texImage2D(r,u,l,O,w,y);break;case"compressed":var e,n=_(y.entries());try{for(n.s();!(e=n.n()).done;){var i=t(e.value,2),o=i[0],a=i[1];A.compressedTexImage2D(r,o,a.format,a.width,a.height,d,a.data),D+=a.levelSize}}catch(s){n.e(s)}finally{n.f()}break;default:ox(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===M?D:y&&y.byteLength?y.byteLength:this.width*this.height*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t,n=this,i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.data,u=void 0===s?null:s,c=e.x,l=void 0===c?0:c,h=e.y,d=void 0===h?0:h,f=e.width,p=void 0===f?this.width:f,v=e.height,g=void 0===v?this.height:v,m=e.level,y=void 0===m?0:m,b=e.format,_=void 0===b?this.format:b,w=e.type,k=void 0===w?this.type:w,x=e.dataFormat,S=void 0===x?this.dataFormat:x,C=e.compressed,E=void 0!==C&&C,O=e.offset,T=void 0===O?0:O,P=e.border,A=(void 0===P&&this.border,e.parameters),M=void 0===A?{}:A;if(t=this._deduceParameters({format:_,type:k,dataFormat:S,compressed:E,data:u,width:p,height:g}),k=t.type,S=t.dataFormat,E=t.compressed,p=t.width,g=t.height,ox(0===this.depth,"texSubImage not supported for 3D textures"),u||(u=a),u&&u.data){var I=u;u=I.data,p=I.shape[0],g=I.shape[1]}u instanceof Cx&&(u=u.handle),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,M,function(){if(E)n.gl.compressedTexSubImage2D(r,y,l,d,p,g,_,u);else if(null===u)n.gl.texSubImage2D(r,y,l,d,p,g,S,k,null);else if(ArrayBuffer.isView(u))n.gl.texSubImage2D(r,y,l,d,p,g,S,k,u,T);else if(u instanceof Ax){var e=dk(n.gl);e.bindBuffer(35052,u),e.texSubImage2D(r,y,l,d,p,g,S,k,T),e.bindBuffer(35052,null)}else lk(n.gl)?dk(n.gl).texSubImage2D(r,y,l,d,p,g,S,k,u):n.gl.texSubImage2D(r,y,l,d,S,k,u)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){return sk.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,n=e.compressed;return void 0!==n&&n?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof Cx?{data:t.handle,dataType:"buffer"}:t instanceof Ax?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t,n=e.format,i=e.data,r=e.width,o=e.height,a=e.dataFormat,s=e.type,u=e.compressed,c=Ex[n];return{dataFormat:a=a||c&&c.dataFormat,type:s=s||c&&c.types[0],compressed:u=u||c&&c.compressed,width:r=(t=this._deduceImageSize(i,r,o)).width,height:o=t.height,format:n,data:i}}},{key:"_deduceImageSize",value:function(e,t,n){var i;return ox(i="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:n}:{width:t>=0?t:1,height:n>=0?n:1},"Could not deduced texture size"),ox(void 0===t||i.width===t,"Deduced texture width does not match supplied width"),ox(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:ox(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!(lk(this.gl)||!this.width||!this.height||lx(this.width)&&lx(this.height))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===Px.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.format,i=t.linearFiltering,r=!0;return n&&(r=(r=r&&function(e,t){var n=Ex[t];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;var i=lk(e)&&n.gl2||n.gl1;return"string"==typeof i?e.getExtension(i):i}(e,n))&&(!i||function(e,t){var n=Ex[t];switch(n&&n.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}(e,n))),r}}]),r}(px,Symbol.toStringTag);function Ix(e,t){return ox("string"==typeof e),e=""+e,new Promise(function(n,i){try{var r=new Image;r.onload=function(){return n(r)},r.onerror=function(){return i(new Error("Could not load image ".concat(e,".")))},r.crossOrigin=t&&t.crossOrigin||"anonymous",r.src=e}catch(r){i(r)}})}var Rx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(r instanceof Promise||"string"==typeof r)&&(r={data:r}),"string"==typeof r.data&&(r=Object.assign({},r,{data:Ix(r.data)})),(t=n.call(this,e,Object.assign({},r,{target:3553}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture2D"}}],[{key:"isSupported",value:function(e,t){return Mx.isSupported(e,t)}}]),i}(Mx,Symbol.toStringTag),Dx="EXT_color_buffer_float",Nx={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Dx,bpp:2},33327:{gl2:Dx,bpp:4},34842:{gl2:Dx,bpp:8},33326:{gl2:Dx,bpp:4},33328:{gl2:Dx,bpp:8},34836:{gl2:Dx,bpp:16},35898:{gl2:Dx,bpp:4}},Lx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Renderbuffer"}},{key:"initialize",value:function(e){var t=e.format,n=e.width,i=void 0===n?1:n,r=e.height,o=void 0===r?1:r,a=e.samples,s=void 0===a?0:a;return ox(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==s&&lk(this.gl)?this.gl.renderbufferStorageMultisample(36161,s,t,i,o):this.gl.renderbufferStorage(36161,t,i,o),this.format=t,this.width=i,this.height=o,this.samples=s,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*Nx[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,n=e.height;return t!==this.width||n!==this.height?this.initialize({width:t,height:n,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},n=t.format;return!n||function(e,t,n){var i=n[t];if(!i)return!1;var r=lk(e)&&i.gl2||i.gl1;return"string"==typeof r?e.getExtension(r):r}(e,n,Nx)}},{key:"getSamplesForFormat",value:function(e,t){var n=t.format;return e.getInternalformatParameter(36161,n,32937)}}]),i}(px,Symbol.toStringTag),jx="clear: bad arguments";function Fx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,i=void 0===n?null:n,r=t.color,o=void 0===r?null:r,a=t.depth,s=void 0===a?null:a,u=t.stencil,c=void 0===u?null:u,l={};i&&(l.framebuffer=i);var h=0;o&&(h|=16384,!0!==o&&(l.clearColor=o)),s&&(h|=256,!0!==s&&(l.clearDepth=s)),c&&(h|=1024,!0!==s&&(l.clearStencil=s)),ox(0!==h,jx),Hk(e,l,function(){e.clear(h)})}function Bx(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}function Vx(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(e){Bx(o,i,r,a,s,"next",e)}function s(e){Bx(o,i,r,a,s,"throw",e)}a(void 0)})}}var zx=[34069,34070,34071,34072,34073,34074],Ux=function(){var e=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(t=n.call(this,e,Object.assign({},r,{target:34067}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TextureCube"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mipmaps,i=void 0===n||n,r=t.parameters,o=void 0===r?{}:r;return this.opts=t,this.setCubeMapImageData(t).then(function(){e.loaded=!0,i&&e.generateMipmap(t),e.setParameters(o)}),this}},{key:"subImage",value:function(e){var t=e.face,n=e.data,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.mipmapLevel,u=void 0===s?0:s;return this._subImage({target:t,data:n,x:r,y:a,mipmapLevel:u})}},{key:"setCubeMapImageData",value:function(e){var t=e.width,n=e.height,i=e.pixels,r=e.data,o=e.border,a=void 0===o?0:o,s=e.format,u=void 0===s?6408:s,c=e.type,l=void 0===c?5121:c,h=this;return Vx(regeneratorRuntime.mark(function e(){var o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=h.gl,s=i||r,e.next=4,Promise.all(zx.map(function(e){var t=s[e];return Promise.all(Array.isArray(t)?t:[t])}));case 4:c=e.sent,h.bind(),zx.forEach(function(e,i){c[i].length>1&&!1!==h.opts.mipmaps&&sk.warn("".concat(h.id," has mipmap and multiple LODs."))(),c[i].forEach(function(i,r){t&&n?o.texImage2D(e,r,u,t,n,a,u,l,i):o.texImage2D(e,r,u,u,l,i)})}),h.unbind();case 6:case"end":return e.stop()}},e)}))()}},{key:"setImageDataForFace",value:function(e){var t=this,n=e.face,i=e.width,r=e.height,o=e.pixels,a=e.data,s=e.border,u=void 0===s?0:s,c=e.format,l=void 0===c?6408:c,h=e.type,d=void 0===h?5121:h,f=this.gl,p=o||a;return this.bind(),p instanceof Promise?p.then(function(i){return t.setImageDataForFace(Object.assign({},e,{face:n,data:i,pixels:i}))}):this.width||this.height?f.texImage2D(n,0,l,i,r,u,l,d,p):f.texImage2D(n,0,l,l,d,p),this}}]),i}(Mx,Symbol.toStringTag);return e.FACES=zx,e}(),Hx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture3D"}},{key:"setImageData",value:function(e){var t=this,n=e.level,i=void 0===n?0:n,r=e.dataFormat,o=void 0===r?6408:r,a=e.width,s=e.height,u=e.depth,c=void 0===u?1:u,l=e.border,h=void 0===l?0:l,d=e.format,f=e.type,p=void 0===f?5121:f,v=e.offset,g=void 0===v?0:v,m=e.data,y=e.parameters,b=void 0===y?{}:y;return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,b,function(){ArrayBuffer.isView(m)&&t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,m),m instanceof Cx&&(t.gl.bindBuffer(35052,m.handle),t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,g))}),this._trackAllocatedMemory(m&&m.byteLength?m.byteLength:this.width*this.height*this.depth*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(Mx,Symbol.toStringTag);function Gx(e,t){ox(e instanceof Rx||e instanceof Ux||e instanceof Hx);var n=e.constructor,i=e.gl,r=e.width,o=e.height,a=e.format,s=e.type,u=e.dataFormat,c=e.border,l=e.mipmaps;return new n(i,Object.assign({width:r,height:o,format:a,type:s,dataFormat:u,border:c,mipmaps:l},t))}function Wx(e,t){var n=e.gl,i=e.width,r=e.height,o=e.id;return new $x(n,Object.assign({},t,{id:"framebuffer-for-".concat(o),width:i,height:r,attachments:{36064:e}}))}function qx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceX,i=void 0===n?0:n,r=t.sourceY,o=void 0===r?0:r,a=t.sourceFormat,s=void 0===a?6408:a,u=t.sourceAttachment,c=void 0===u?36064:u,l=t.target,h=void 0===l?null:l,d=t.sourceWidth,f=t.sourceHeight,p=t.sourceType,v=Yx(e),g=v.framebuffer,m=v.deleteFramebuffer;ox(g);var y=g.gl,b=g.handle,_=g.attachments;d=d||g.width,f=f||g.height,36064===c&&null===b&&(c=1028),ox(_[c]),h=function(e,t,n,i,r){return e||new(gx(t=t||5121,{clamped:!1}))(i*r*function(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ox(!1),0}}(n))}(h,p=p||_[c].type,s,d,f),p=p||vx(h);var w=y.bindFramebuffer(36160,b);return y.readPixels(i,o,d,f,s,p,h),y.bindFramebuffer(36160,w||null),m&&g.delete(),h}function Xx(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceAttachment,i=void 0===n?36064:n,r=t.targetMaxHeight,o=void 0===r?Number.MAX_SAFE_INTEGER:r,a=qx(e,{sourceAttachment:i}),s=e.width,u=e.height;u>o;){var c=mx({data:a,width:s,height:u});a=c.data,s=c.width,u=c.height}!function(e){var t=e.data,n=e.height,i=e.bytesPerPixel,r=e.temp,o=e.width*(void 0===i?4:i);r=r||new Uint8Array(o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:{};return m(this,o),(t=r.call(this,e,n)).width=null,t.height=null,t.attachments={},t.readBuffer=36064,t.drawBuffers=[36064],t.ownResources=[],t.initialize(n),Object.seal(c(t)),t}return b(o,[{key:i,get:function(){return"Framebuffer"}},{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}},{key:"initialize",value:function(e){var t=e.width,n=void 0===t?1:t,i=e.height,r=void 0===i?1:i,o=e.attachments,a=void 0===o?null:o,s=e.color,u=void 0===s||s,c=e.depth,l=void 0===c||c,h=e.stencil,d=void 0!==h&&h,f=e.check,p=void 0===f||f,v=e.readBuffer,g=e.drawBuffers;if(ox(n>=0&&r>=0,"Width and height need to be integers"),this.width=n,this.height=r,a)for(var m in a){var y=a[m];(Array.isArray(y)?y[0]:y).resize({width:n,height:r})}else a=this._createDefaultAttachments(u,l,d,n,r);this.update({clearAttachments:!0,attachments:a,readBuffer:v,drawBuffers:g}),a&&p&&this.checkStatus()}},{key:"delete",value:function(){var t,n=_(this.ownResources);try{for(n.s();!(t=n.n()).done;){t.value.delete()}}catch(i){n.e(i)}finally{n.f()}return e(p(o.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,n=void 0===t?{}:t,i=e.readBuffer,r=e.drawBuffers,o=e.clearAttachments,a=void 0!==o&&o,s=e.resizeAttachments,u=void 0===s||s;this.attach(n,{clearAttachments:a,resizeAttachments:u});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),r&&this._setDrawBuffers(r),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=e.height;if(null===this.handle)return ox(void 0===t&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var i in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),t!==this.width&&n!==this.height&&sk.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(n))(),this.attachments)this.attachments[i].resize({width:t,height:n});return this.width=t,this.height=n,this}},{key:"attach",value:function(e){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=i.clearAttachments,o=void 0!==r&&r,a=i.resizeAttachments,s=void 0===a||a,u={};o&&Object.keys(this.attachments).forEach(function(e){u[e]=null}),Object.assign(u,e);var c=this.gl.bindFramebuffer(36160,this.handle);for(var l in u){ox(void 0!==l,"Misspelled framebuffer binding point?");var h=Number(l),d=u[h],f=d;if(f)if(f instanceof Lx)this._attachRenderbuffer({attachment:h,renderbuffer:f});else if(Array.isArray(d)){var p=t(d,3),v=p[0],g=p[1],m=void 0===g?0:g,y=p[2],b=void 0===y?0:y;f=v,this._attachTexture({attachment:h,texture:v,layer:m,level:b})}else this._attachTexture({attachment:h,texture:f,layer:0,level:0});else this._unattach(h);s&&f&&f.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,c||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(function(e){return!n.attachments[e]}).forEach(function(e){delete n.attachments[e]})}},{key:"checkStatus",value:function(){var e=this.getStatus();if(36053!==e)throw new Error(function(e){return(o.STATUS||{})[e]||"Framebuffer error ".concat(e)}(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),n=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),n}},{key:"clear",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.color,r=n.depth,o=n.stencil,a=n.drawBuffers,s=void 0===a?[]:a,u=this.gl.bindFramebuffer(36160,this.handle);return(i||r||o)&&Fx(this.gl,{color:i,depth:r,stencil:o}),s.forEach(function(n,i){!function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.framebuffer,r=void 0===i?null:i,o=n.buffer,a=void 0===o?6144:o,s=n.drawBuffer,u=void 0===s?0:s,c=n.value,l=void 0===c?[0,0,0,0]:c;dk(e),Hk(e,{framebuffer:r},function(){switch(a){case 6144:switch(l.constructor){case Int32Array:e.clearBufferiv(a,u,l);break;case Uint32Array:e.clearBufferuiv(a,u,l);break;case Float32Array:default:e.clearBufferfv(a,u,l)}break;case 6145:e.clearBufferfv(6145,0,[l]);break;case 6146:e.clearBufferiv(6146,0,[l]);break;case 34041:var n=t(l,2),i=n[0],r=n[1];e.clearBufferfi(34041,0,i,r);break;default:ox(!1,jx)}})}(e.gl,{drawBuffer:i,value:n})}),this.gl.bindFramebuffer(36160,u||null),this}},{key:"readPixels",value:function(){return sk.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){return sk.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){return sk.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){return sk.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){return sk.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){return sk.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,n=void 0===t?[]:t,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.width,u=e.height,c=dk(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===r&&0===a&&void 0===s&&void 0===u?c.invalidateFramebuffer(36008,n):c.invalidateFramebuffer(36008,n,r,a,s,u),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,n){var i=this._getAttachmentParameterFallback(t);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=sx(this.gl,i)),i}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],r={},o=_(i);try{for(o.s();!(e=o.n()).done;){var a=e.value;r[n?sx(this.gl,a):a]=this.getAttachmentParameter(t,a,n)}}catch(s){o.e(s)}finally{o.f()}return r}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),n={},i=0,r=t;i0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>sk.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var n=Xx(this,{targetMaxHeight:100});return sk.image({logLevel:e,message:t,image:n},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,null),this}},{key:"_createDefaultAttachments",value:function(e,t,n,i,r){var o=null;return e&&((o=o||{})[36064]=new Rx(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&n?((o=o||{})[33306]=new Lx(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:i,height:111}),this.ownResources.push(o[33306])):t?((o=o||{})[36096]=new Lx(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:i,height:r}),this.ownResources.push(o[36096])):n&&ox(!1),o}},{key:"_unattach",value:function(e){var t=this.attachments[e];!t||(t instanceof Lx?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,n,36161,i.handle),this.attachments[n]=i}},{key:"_attachTexture",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.texture,r=e.layer,o=e.level,a=this.gl;switch(a.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:dk(a).framebufferTextureLayer(36160,n,i.target,o,r);break;case 34067:var s=function(e){return e<34069?e+34069:e}(r);a.framebufferTexture2D(36160,n,s,i.handle,o);break;case 3553:a.framebufferTexture2D(36160,n,3553,i.handle,o);break;default:ox(!1,"Illegal texture type")}a.bindTexture(i.target,null),this.attachments[n]=i}},{key:"_setReadBuffer",value:function(e){var t=function(e){return lk(e)?e:null}(this.gl);t?t.readBuffer(e):ox(36064===e||1029===e,Kx),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,n=dk(t);if(n)n.drawBuffers(e);else{var i=t.getExtension("WEBGL_draw_buffers");i?i.drawBuffersWEBGL(e):ox(1===e.length&&(36064===e[0]||1029===e[0]),Kx)}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=function(e){for(var t in e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},Qx)void 0===e.luma.caps[t]&&(e.luma.caps[t]=eS(e,t));return e.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.colorBufferFloat,i=t.colorBufferHalfFloat,r=!0;return n&&(r=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),i&&(r=r&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),r}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new o(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),o}(px,Symbol.toStringTag);$x.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var Qx={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(e){var t=new Rx(e,{format:6408,type:5126,dataFormat:6408}),n=new $x(e,{id:"test-framebuffer",check:!1,attachments:{36064:t}}),i=n.getStatus();return t.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function Zx(e,t){return Jx(e,t)}function Jx(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return eS(e,t)})}function eS(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},void 0===e.luma.caps[t]&&(e.luma.caps[t]=function(e,t){var n,i=Qx[t];ox(i,t);var r=lk(e)&&i[1]||i[0];if("function"==typeof r)n=r(e);else if(Array.isArray(r)){n=!0;var o,a=_(r);try{for(a.s();!(o=a.n()).done;){var s=o.value;n=n&&Boolean(e.getExtension(s))}}catch(u){a.e(u)}finally{a.f()}}else"string"==typeof r?n=Boolean(e.getExtension(r)):"boolean"==typeof r?n=r:ox(!1);return n}(e,t)),e.luma.caps[t]||sk.log(2,"Feature: ".concat(t," not supported"))(),e.luma.caps[t]}var tS=function(){function e(t,n){m(this,e),this.opts=n,this.source=t}return b(e,[{key:"value",get:function(){return this.source.value}},{key:"getValue",value:function(){var e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];var n=this.source.value,i=t.size,r=n;if(n&&n.length!==i){r=new Float32Array(i);for(var o=t.elementOffset||0,a=0;ai&&(r=i);var o=this._pool,a=e.BYTES_PER_ELEMENT*r,s=o.findIndex(function(e){return e.byteLength>=a});if(s>=0){var u=new e(o.splice(s,1)[0],0,r);return n&&u.fill(0),u}return new e(r)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,n=e.buffer,i=n.byteLength,r=t.findIndex(function(e){return e.byteLength>=i});r<0?t.push(n):(r>0||t.lengththis.props.poolSize&&t.shift()}}}]),e}()),iS=1/Math.PI*180,rS=1/180*Math.PI,oS={};function aS(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?oS.precision||4:n;return e=function(e){return Math.round(e/oS.EPSILON)*oS.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function sS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uS(e,t,n){if(sS(e)){n=n||function(e){return e.clone?e.clone():new Array(e.length)}(e);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+aS(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(oS.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&sS(i)?e.copy(i):(oS.debug&&(gS(i),gS(r),gS(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return oS.debug&&(gS(e.x),gS(e.y),gS(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return AS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?LS:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return DS(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return PS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return jS.ZERO=jS.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(_S),BS=new FS;function VS(e,t,n,i){BS.set(e,t,n);var r=BS.len();return{distance:i/r,normal:new FS(-e/r,-t/r,-n/r)}}function zS(e){return e-Math.fround(e)}function US(e,t){var n=t.size,i=void 0===n?1:n,r=t.startIndex,o=void 0===r?0:r,a=t.endIndex;Number.isFinite(a)||(a=e.length);var s=(a-o)/i;NS=nS.allocate(NS,s,{type:Float32Array,size:2*i});for(var u=o,c=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=qS,r={index:-1,data:e,target:[]};return e?"function"==typeof e[Symbol.iterator]?i=e:e.length>0&&(XS.length=e.length,i=XS):i=qS,(t>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,n),r.index=t-1),{iterable:i,objectInfo:r}}function KS(e){return e&&e[Symbol.asyncIterator]}function $S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?QS(e,t,[]):t(e)?[e]:[]}function QS(e,t,n){for(var i=-1;++ic)n.set(t.subarray(0,c),r);else if(n.set(t,r),s)for(var l=u;l=f)){var v=p?i.value:i.getBuffer().getData({srcByteOffset:l});if(i.settings.normalized&&!p){var g=s;s=function(e,t){return i._normalizeConstant(g(e,t))}}var m=p?function(e,t){return s(v,t)}:function(e,t){return s(v.subarray(e,e+c),t)},y=t.getData({length:r}),b=new Float32Array(f);(function(e){var t=e.source,n=e.target,i=e.size,r=e.getData,o=e.sourceStartIndices,a=e.targetStartIndices;if(!Array.isArray(a))return tC({source:t,target:n,size:i,getData:r}),n;for(var s=0,u=0,c=r&&function(e,t){return r(e+u,t)},l=Math.min(o.length,a.length),h=1;h1&&void 0!==arguments[1]?arguments[1]:{};m(this,r),t=i.call(this,e,n);var o=n.transition,a=void 0!==o&&o,s=n.noAlloc,u=void 0!==s&&s,c=n.update,l=void 0===c?null:c,h=n.accessor,d=void 0===h?null:h,f=n.transform,p=void 0===f?null:f,v=n.startIndices,g=void 0===v?null:v;return Object.assign(t.settings,{transition:a,noAlloc:u,update:l||d&&t._autoUpdater,accessor:d,transform:p}),Object.assign(t.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:eC,startIndices:g}),Object.seal(t.settings),Object.seal(t.state),t._validateAttributeUpdaters(),t}return b(r,[{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}},{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,n=void 0!==t&&t,i=this.state.needsRedraw;return this.state.needsRedraw=i&&!n,i}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!=typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,n=this.settings.transition;return iC(Array.isArray(t)?e[t.find(function(t){return e[t]})]:e[t],n)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var n=t.startRow,i=void 0===n?0:n,r=t.endRow,o=void 0===r?1/0:r;this.state.updateRanges=function(e,t){if(e===eC||(t[0]<0&&(t[0]=0),t[0]>=t[1]))return e;for(var n=[],i=e.length,r=0,o=0;ot[1]?n.push(a):t=[Math.min(a[0],t[0]),Math.max(a[1],t[1])]}return n.splice(r,0,t),n}(this.state.updateRanges,[i,o])}else this.state.updateRanges=eC}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=JS}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(t){var n=this.state,i=this.settings;return!i.noAlloc&&!!i.update&&(e(p(r.prototype),"allocate",this).call(this,{numInstances:t,copy:n.updateRanges!==eC}),!0)}},{key:"updateBuffer",value:function(n){var i=n.numInstances,o=n.data,a=n.props,s=n.context;if(!this.needsUpdate())return!1;var u=this.state.updateRanges,c=this.settings,l=c.update,h=c.noAlloc,d=!0;if(l){var f,v=_(u);try{for(v.s();!(f=v.n()).done;){var g=t(f.value,2),m=g[0],y=g[1];l.call(s,this,{data:o,startRow:m,endRow:y,props:a,numInstances:i})}}catch(O){v.e(O)}finally{v.f()}if(this.value)if(this.constant||this.buffer.byteLength1&&void 0!==arguments[1]?arguments[1]:null,n=this.state,i=this.settings;return e?!(i.noAlloc||(n.binaryValue===e?(this.clearNeedsUpdate(),0):(n.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e}),i.transform||t!==this.startIndices?(WS(ArrayBuffer.isView(e.value),"invalid ".concat(i.accessor)),n.binaryAccessor=function(e,t){var n=t.size,i=t.stride,r=t.offset,o=t.startIndices,a=t.nested,s=e.BYTES_PER_ELEMENT,u=i?i/s:n,c=r?r/s:0,l=Math.floor((e.length-c)/u);return function(t,i){var r=i.index,s=i.target;if(!o){for(var h=r*u+c,d=0;dl?c.set(x,g):(e._normalizeValue(x,b.target,0),ZS({target:c,source:b.target,start:g,count:S}));g+=S*l}else e._normalizeValue(x,c,g),g+=l}}catch(P){w.e(P)}finally{w.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var n=!0;switch(t){case 4:n=n&&Number.isFinite(e[3]);case 3:n=n&&Number.isFinite(e[2]);case 2:n=n&&Number.isFinite(e[1]);case 1:n=n&&Number.isFinite(e[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}]),r}(function(){function e(t,n){m(this,e),this.gl=t,this.id=n.id,this.size=n.size;var i=n.logicalType||n.type,r=5130===i,o=n.defaultValue;o=Number.isFinite(o)?[o]:o||new Array(this.size).fill(0),n.defaultValue=o;var a=i;r?a=5126:!a&&n.isIndexed?a=t&&Zx(t,"ELEMENT_INDEX_UINT32")?5125:5123:a||(a=5126),n.logicalType=i,n.type=a;var s=function(e){switch(e){case 5126:return Float32Array;case 5130:return Float64Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return Uint8ClampedArray;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Unknown GL type")}}(i||a||5126);this.shaderAttributes={},this.doublePrecision=r,r&&!1===n.fp64&&(s=Float32Array),n.bytesPerElement=s.BYTES_PER_ELEMENT,this.defaultType=s,this.value=null,this.settings=n,this.state={externalBuffer:null,bufferAccessor:n,allocatedValue:null,constant:!1},this._buffer=null,this.setData(n)}return b(e,[{key:"buffer",get:function(){if(!this._buffer){var e=this.settings,t=e.isIndexed,n=e.type;this._buffer=new Cx(this.gl,{id:this.id,target:t?34963:34962,accessor:{type:n}})}return this._buffer}},{key:"byteOffset",get:function(){var e=this.getAccessor();return e.vertexOffset?e.vertexOffset*HS(e):0}},{key:"delete",value:function(){this._buffer&&(this._buffer.delete(),this._buffer=null),nS.release(this.state.allocatedValue)}},{key:"getShaderAttributes",value:function(e,t){if(this.doublePrecision){var n={},i=this.value instanceof Float64Array,r=function(e,t){var n=GS(e,t);return{high:n,low:I(M({},n),{offset:n.offset+4*e.size})}}(this.getAccessor(),t||{});return n[e]=new tS(this,r.high),n["".concat(e,"64Low")]=i?new tS(this,r.low):new Float32Array(this.size),n}if(t){var a=GS(this.getAccessor(),t);return o({},e,new tS(this,a))}return o({},e,this)}},{key:"getBuffer",value:function(){return this.state.constant?null:this.state.externalBuffer||this._buffer}},{key:"getValue",value:function(){return this.state.constant?this.value:[this.getBuffer(),this.getAccessor()]}},{key:"getAccessor",value:function(){return this.state.bufferAccessor}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof Cx&&(e={buffer:e});var n=M(M({},this.settings),e);if(t.bufferAccessor=n,e.constant){var i=e.value;if(i=this._normalizeValue(i,[],0),this.settings.normalized&&(i=this._normalizeConstant(i)),t.constant&&this._areValuesEqual(i,this.value))return!1;t.externalBuffer=null,t.constant=!0,this.value=i}else if(e.buffer){var r=e.buffer;t.externalBuffer=r,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;n.type=e.type||r.accessor.type,n.bytesPerElement=r.accessor.BYTES_PER_ELEMENT*(o?2:1),n.stride=HS(n)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,n.bytesPerElement=a.BYTES_PER_ELEMENT,n.stride=HS(n);var s=this.buffer,u=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=US(a,n));var c=a.byteLength+u+2*n.stride;s.byteLength0&&void 0!==arguments[0]?arguments[0]:{},t=this.value,n=e.startOffset,i=void 0===n?0:n,r=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?US(t,{size:this.size,startIndex:i,endIndex:r}):t.subarray(i,r),offset:i*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,n=e.copy,i=void 0!==n&&n,r=this.state,o=r.allocatedValue,a=nS.allocate(o,t+1,{size:this.size,type:this.defaultType,copy:i});this.value=a;var s=this.buffer,u=this.byteOffset;return s.byteLength=0;)t[n+a]=Number.isFinite(e[a])?e[a]:r[a]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var n=this.size,i=0;i0&&lC[e]&&(t=lC[e]).call.apply(t,arguments)}function dC(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}var fC="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",pC="#version 300 es\n".concat(fC);function vC(e,n){n=Array.isArray(n)?n:[n];var i=t(e.replace(/^\s+/,"").split(/\s+/),3),r=i[0],o=i[1],a=i[2];return n.includes(r)&&o&&a?{qualifier:r,type:o,name:a.split(";")[0]}:null}function gC(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=void 0===t?100:t,i=e.input,r=e.inputType,o=e.output;if(!i)return 300===n?pC:n>300?"#version ".concat(n,"\n").concat(fC):"void main() {gl_FragColor = vec4(0);}";var a=function(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return dC(!1),null}}(i,r);return n>=300?"#version ".concat(n," ").concat(300===n?"es":"","\nin ").concat(r," ").concat(i,";\nout vec4 ").concat(o,";\nvoid main() {\n ").concat(o," = ").concat(a,";\n}"):"varying ".concat(r," ").concat(i,";\nvoid main() {\n gl_FragColor = ").concat(a,";\n}")}var mC=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r)).initialize(r),t.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TransformFeedback"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,hx(this.buffers)||this.bind(function(){return e._unbindBuffers()}),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind(function(){for(var n in t)e.setBuffer(n,t[n])}),this}},{key:"setBuffer",value:function(e,t){var n=this,i=this._getVaryingIndex(e),r=this._getBufferParams(t),o=r.buffer,a=r.byteSize,s=r.byteOffset;return i<0?(this.unused[e]=o,sk.warn(function(){return"".concat(n.id," unused varying buffer ").concat(e)})(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,o,s,a),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,n,i;return e instanceof Cx?i=e:(i=e.buffer,n=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==n)&&(t=t||0,n=n||i.byteLength-t),{buffer:i,byteOffset:t,byteSize:n}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),n=t.buffer,i=t.byteSize,r=t.byteOffset;this._bindBuffer(e,n,r,i)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0,r=t&&t.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,e,r,n,i):this.gl.bindBufferBase(35982,e,r),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(px,Symbol.toStringTag),yC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"setupResources",value:function(e){var t,n=_(this.bindings);try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setupTransformFeedback(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.transformFeedback;return{attributes:Object.assign({},n,e.attributes),transformFeedback:i}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,n=e?t[e]:null;return n?n instanceof Cx?n:n.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,n=this.getBuffer(t);return n?n.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ox(lk(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,n=void 0===t?{}:t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var r in this.feedbackMap){var o=this.feedbackMap[r];r in n&&(i[o]=r)}for(var a in Object.assign(i,e.feedbackBuffers),i){var s=i[a];if("string"==typeof s){var u=n[s],c=u.byteLength,l=u.usage,h=u.accessor;i[a]=this._createNewBuffer(a,{byteLength:c,usage:l,accessor:h})}}return i}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:n,feedbackBuffers:i})}},{key:"_setupTransformFeedback",value:function(e,t){var n=t.model.program;e.transformFeedback=new mC(this.gl,{program:n,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),n=t.sourceBuffers,i=t.feedbackBuffers,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:n,feedbackBuffers:i})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),n=Object.assign({},e.feedbackBuffers);for(var i in this.feedbackMap){var r=this.feedbackMap[i];t[i]=e.feedbackBuffers[r],n[r]=e.sourceBuffers[i],ox(n[r]instanceof Cx)}return{sourceBuffers:t,feedbackBuffers:n}}},{key:"_createNewBuffer",value:function(e,t){var n=new Cx(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}();function bC(e){var t=100,n=e.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){var i=parseInt(n[1],10);Number.isFinite(i)&&(t=i)}return t}var _C="vs",wC=(o(f={},_C,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),o(f,"fs","#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),f),kC="__LUMA_INJECT_DECLARATIONS__",xC=/void\s+main\s*\([^)]*\)\s*\{\n?/,SC=/}\n?[^{}]*$/,CC=[];function EC(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=t===_C,o=function(t){var i=n[t];i.sort(function(e,t){return e.order-t.order}),CC.length=i.length;for(var o=0,a=i.length;o1),e.forEach(function(e){for(var n in e)t[n]=t[n]?"".concat(t[n],"\n").concat(e[n]):e[n]}),t}var TC={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},PC="transform_uSize_",AC="transform_position",MC={10241:9728,10240:9728,10242:33071,10243:33071},IC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.sourceTextures,r=t.framebuffer,o=t.targetTexture,a=Object.assign({},n,e.attributes),s=Object.assign({},e.uniforms),u=Object.assign({},e.parameters),c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var l in a.transform_elementID=this.elementIDBuffer,this.samplerTextureMap)s[l]=i[this.samplerTextureMap[l]];this._setSourceTextureParameters();var h=function(e){var t,n,i,r=e.sourceTextureMap,o=e.targetTextureVarying,a=e.targetTexture,s={};for(var u in o&&(n=(t=a).width,i=t.height,s["".concat(PC).concat(o)]=[n,i]),r){var c;n=(c=r[u]).width,i=c.height,s["".concat(PC).concat(u)]=[n,i]}return s}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:o});Object.assign(s,h)}return this.hasTargetTexture&&(c=!1,u.viewport=[0,0,r.width,r.height]),{attributes:a,framebuffer:r,uniforms:s,discard:c,parameters:u}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,n=void 0!==t&&t,i=this.bindings[this.currentIndex].framebuffer,r=qx(i);if(!n)return r;for(var o=r.constructor,a=function(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return dC(!1),null}}(this.targetTextureType),s=new o(r.length*a/4),u=0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,n=e._swapTexture;this._swapTexture=n,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,n=e.textureOrReference;if(n instanceof Rx)return n;var i=t[n];return i?(this._targetRefTexName=n,this._createNewTexture(i)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=e._sourceTextures,i=void 0===n?{}:n,r=e._targetTexture,o=this._createTargetTexture({sourceTextures:i,textureOrReference:r});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:o}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!=typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach(function(e,t,n){n[t]=t}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Cx(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),n=t.sourceTextures,i=t.targetTexture,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:n,targetTexture:i})}}},{key:"_updateBinding",value:function(e,t){var n=t.sourceBuffers,i=t.sourceTextures,r=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,i),Object.assign(e.sourceBuffers,n),r){e.targetTexture=r;var o=r.width,a=r.height,s=e.framebuffer;s?(s.update({attachments:{36064:r},resizeAttachments:!1}),s.resize({width:o,height:a})):e.framebuffer=new $x(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:r}})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var n in t)t[n].setParameters(MC)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t=Gx(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceTextures,i=t.targetTexture,r=function(e){var t=e.vs,n=e.sourceTextureMap,i=e.targetTextureVarying,r=e.targetTexture,o=Object.keys(n).length,a=null,s={},u=t,c={};if(o>0||i){var l=u.split("\n"),h=l.slice();if(l.forEach(function(e,t,r){if(o>0){var u=function(e,t){var n={},i=function(e){return vC(e,["attribute","in"])}(e);if(!i)return null;var r=i.type,o=i.name;if(o&&t[o]){var a="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="transform_uSampler_".concat(e),n="".concat(PC).concat(e);return{samplerName:t,sizeName:n,uniformDeclerations:" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(n,";")}}(o),u=s.samplerName,c=s.sizeName,l=s.uniformDeclerations,h=" ".concat(r," ").concat(o," = transform_getInput(").concat(u,", ").concat(c,").").concat(function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return dC(!1),null}}(r),";\n");return n[u]=o,{updatedLine:a,inject:{"vs:#decl":l,"vs:#main-start":h},samplerTextureMap:n}}return null}(e,n);if(u){var l=u.updatedLine,d=u.inject;h[t]=l,c=OC([c,d]),Object.assign(s,u.samplerTextureMap),o--}}i&&!a&&(a=function(e,t){var n=vC(e,["varying","out"]);return n&&n.name===t?n.type:null}(e,i))}),i){ox(r);var d="".concat(PC).concat(i);c=OC([c,{"vs:#decl":"uniform vec2 ".concat(d,";\n"),"vs:#main-start":" vec2 ".concat(AC," = transform_getPos(").concat(d,");\n gl_Position = vec4(").concat(AC,", 0, 1.);\n")}])}u=h.join("\n")}return{vs:u,targetTextureType:a,inject:c,samplerTextureMap:s}}({vs:e.vs,sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),o=r.vs,a=r.uniforms,s=r.targetTextureType,u=r.inject,c=r.samplerTextureMap,l=OC([e.inject||{},u]);return this.targetTextureType=s,this.samplerTextureMap=c,{vs:o,fs:e._fs||gC({version:bC(o),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[TC].concat(e.modules||[]):e.modules,uniforms:a,inject:l}}}]),e}(),RC={number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function DC(e){var t=NC(e);return"object"===t?e?"type"in e?Object.assign({},e,RC[e.type]):"value"in e?(t=NC(e.value),Object.assign({type:t},e,RC[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},RC[t])}function NC(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":typeof e}var LC=function(){function e(t){var n=t.name,i=t.vs,r=t.fs,o=t.dependencies,a=void 0===o?[]:o,s=t.uniforms,u=t.getUniforms,c=t.deprecations,l=void 0===c?[]:c,h=t.defines,d=void 0===h?{}:h,f=t.inject,p=void 0===f?{}:f,v=t.vertexShader,g=t.fragmentShader;m(this,e),dC("string"==typeof n),this.name=n,this.vs=i||v,this.fs=r||g,this.getModuleUniforms=u,this.dependencies=a,this.deprecations=this._parseDeprecationDefinitions(l),this.defines=d,this.injections=function(e){var t={vs:{},fs:{}};for(var n in e){var i=e[n];"string"==typeof i&&(i={order:0,injection:i}),t[n.slice(0,2)][n]=i}return t}(p),s&&(this.uniforms=function(e){var t={};for(var n in e){var i=DC(e[n]);t[n]=i}return t}(s))}return b(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:dC(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach(function(n){n.regex.test(e)&&(n.deprecated?t.deprecated(n.old,n.new)():t.removed(n.old,n.new)())})}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach(function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}}),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=this.uniforms;for(var i in n){var r=n[i];i in e&&!r.private?(r.validate&&dC(r.validate(e[i],r),"".concat(this.name,": invalid ").concat(i)),t[i]=e[i]):t[i]=r.value}return t}}]),e}();function jC(e){return function(e){var t={},n={};return FC({modules:e,level:0,moduleMap:t,moduleDepth:n}),Object.keys(n).sort(function(e,t){return n[t]-n[e]}).map(function(e){return t[e]})}(BC(e))}function FC(e){var t=e.modules,n=e.level,i=e.moduleMap,r=e.moduleDepth;if(n>=5)throw new Error("Possible loop in shader dependency graph");var o,a=_(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;i[s.name]=s,(void 0===r[s.name]||r[s.name]2&&void 0!==arguments[2]?arguments[2]:{},i=VC[t];if(dC(i,t),!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},n=e.userAgent||t.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(t in HC)return HC[t];var r="#extension GL_".concat(i[0]," : ").concat(n.behavior||"enable","\nvoid main(void) {}"),o=e.createShader(35633);e.shaderSource(o,r),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),HC[t]=a,a}function WC(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return function(e,t){var n=VC[t];dC(n,t);var i=function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&n[1]||n[0],r="string"==typeof i?Boolean(e.getExtension(i)):i;return dC(!1===r||!0===r),r}(e,t)})}function qC(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var XC=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],YC=[].concat(XC,[[qC("attribute"),"in $1"],[qC("varying"),"out $1"]]),KC=[].concat(XC,[[qC("varying"),"in $1"]]),$C=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],QC=[].concat($C,[[qC("in"),"attribute $1"],[qC("out"),"varying $1"]]),ZC=[].concat($C,[[qC("in"),"varying $1"]]),JC="gl_FragColor",eE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,tE=/void\s+main\s*\([^)]*\)\s*\{\n?/;function nE(e,n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=t(i.value,2),a=o[0],s=o[1];e=e.replace(a,s)}}catch(u){r.e(u)}finally{r.f()}return e}var iE="\n\n".concat(kC,"\n\n"),rE=(o(g={},_C,"vertex"),o(g,"fs","fragment"),g);function oE(e,n){var i=n.id,r=n.source,o=n.type,a=n.modules,s=n.defines,u=void 0===s?{}:s,c=n.hookFunctions,l=void 0===c?[]:c,h=n.inject,d=void 0===h?{}:h,f=n.transpileToGLSL100,p=void 0!==f&&f,v=n.prologue,g=void 0===v||v,m=n.log;dC("string"==typeof r,"shader source must be a string");var y=o===_C,b=r.split("\n"),w=100,k="",x=r;0===b[0].indexOf("#version ")?(w=300,k=b[0],x=b.slice(1).join("\n")):k="#version ".concat(w);var S={};a.forEach(function(e){Object.assign(S,e.getDefines())}),Object.assign(S,u);var C,E=g?"".concat(k,"\n").concat(function(e){var t=e.id,n=e.type;return t&&"string"==typeof t&&-1===e.source.indexOf("SHADER_NAME")?"\n#define SHADER_NAME ".concat(t,"_").concat(rE[n],"\n\n"):""}({id:i,source:r,type:o}),"\n").concat((C={type:o},"\n#define SHADER_TYPE_".concat(rE[C.type].toUpperCase(),"\n")),"\n").concat(function(e){switch(function(e){var t=e.getExtension("WEBGL_debug_renderer_info"),n=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||7936),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:UC(n,i),vendor:n,renderer:i,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(e),"\n").concat(function(e,t,n){var i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return WC(e,zC.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),WC(e,zC.GLSL_DERIVATIVES)&&GC(e,zC.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),WC(e,zC.GLSL_FRAG_DATA)&&GC(e,zC.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),WC(e,zC.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(e),"\n").concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=0,n="";for(var i in e){0===t&&(n+="\n// APPLICATION DEFINES\n"),t++;var r=e[i];(r||Number.isFinite(r))&&(n+="#define ".concat(i.toUpperCase()," ").concat(e[i],"\n"))}return 0===t&&(n+="\n"),n}(S),"\n").concat(y?"":"precision highp float;\n\n","\n"):"".concat(k,"\n"),O=function(e){var n={vs:{},fs:{}};return e.forEach(function(e){var i;"string"!=typeof e?e=(i=e).hook:i={};var r=t((e=e.trim()).split(":"),2),o=r[0],a=r[1],s=e.replace(/\(.+/,"");n[o][s]=Object.assign(i,{signature:a})}),n}(l),T={},P={},A={};for(var M in d){var I="string"==typeof d[M]?{injection:d[M],order:0}:d[M],R=M.match(/^(v|f)s:(#)?([\w-]+)$/);if(R){var D=R[3];R[2]?"decl"===D?P[M]=[I]:A[M]=[I]:T[M]=[I]}else A[M]=[I]}var N,L=_(a);try{for(L.s();!(N=L.n()).done;){var j=N.value;m&&j.checkDeprecations(x,m),E+=j.getModuleSource(o,w);var F=j.injections[o];for(var B in F){var V=B.match(/^(v|f)s:#([\w-]+)$/);if(V){var z="decl"===V[2]?P:A;z[B]=z[B]||[],z[B].push(F[B])}else T[B]=T[B]||[],T[B].push(F[B])}}}catch(U){L.e(U)}finally{L.f()}return E=EC(E+=iE,o,P),E+=function(e,t){var n="";for(var i in e){var r=e[i];if(n+="void ".concat(r.signature," {\n"),r.header&&(n+=" ".concat(r.header)),t[i]){var o=t[i];o.sort(function(e,t){return e.order-t.order});var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;n+=" ".concat(u.injection,"\n")}}catch(U){s.e(U)}finally{s.f()}}r.footer&&(n+=" ".concat(r.footer)),n+="}\n"}return n}(O[o],T),E=function(e,t,n){switch(t){case 300:return n?nE(e,YC):function(e){var t=(e=nE(e,KC)).match(eE);if(t){var n=t[1];e=e.replace(new RegExp("\\b".concat(JC,"\\b"),"g"),n)}else{var i="fragmentColor";e=e.replace(tE,function(e){return"out vec4 ".concat(i,";\n").concat(e)}).replace(new RegExp("\\b".concat(JC,"\\b"),"g"),i)}return e}(e);case 100:return n?nE(e,QC):function(e){var t=(e=nE(e,ZC)).match(eE);if(t){var n=t[1];e=e.replace(eE,"").replace(new RegExp("\\b".concat(n,"\\b"),"g"),JC)}return e}(e);default:throw new Error("unknown GLSL version ".concat(t))}}(E=EC(E+=x,o,A),p?100:w,y)}function aE(e){return function(t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value.getUniforms(t,i);Object.assign(i,o)}}catch(a){r.e(a)}finally{r.f()}return i}}var sE=(o(y={5126:wE.bind(null,"uniform1fv",fE,1,kE),35664:wE.bind(null,"uniform2fv",fE,2,kE),35665:wE.bind(null,"uniform3fv",fE,3,kE),35666:wE.bind(null,"uniform4fv",fE,4,kE),5124:wE.bind(null,"uniform1iv",pE,1,kE),35667:wE.bind(null,"uniform2iv",pE,2,kE),35668:wE.bind(null,"uniform3iv",pE,3,kE),35669:wE.bind(null,"uniform4iv",pE,4,kE),35670:wE.bind(null,"uniform1iv",pE,1,kE),35671:wE.bind(null,"uniform2iv",pE,2,kE),35672:wE.bind(null,"uniform3iv",pE,3,kE),35673:wE.bind(null,"uniform4iv",pE,4,kE),35674:wE.bind(null,"uniformMatrix2fv",fE,4,xE),35675:wE.bind(null,"uniformMatrix3fv",fE,9,xE),35676:wE.bind(null,"uniformMatrix4fv",fE,16,xE),35678:_E,35680:_E,5125:wE.bind(null,"uniform1uiv",vE,1,kE),36294:wE.bind(null,"uniform2uiv",vE,2,kE),36295:wE.bind(null,"uniform3uiv",vE,3,kE),36296:wE.bind(null,"uniform4uiv",vE,4,kE),35685:wE.bind(null,"uniformMatrix2x3fv",fE,6,xE),35686:wE.bind(null,"uniformMatrix2x4fv",fE,8,xE),35687:wE.bind(null,"uniformMatrix3x2fv",fE,6,xE),35688:wE.bind(null,"uniformMatrix3x4fv",fE,12,xE),35689:wE.bind(null,"uniformMatrix4x2fv",fE,8,xE),35690:wE.bind(null,"uniformMatrix4x3fv",fE,12,xE)},"35678",_E),o(y,"35680",_E),o(y,35679,_E),o(y,35682,_E),o(y,36289,_E),o(y,36292,_E),o(y,36293,_E),o(y,36298,_E),o(y,36299,_E),o(y,36300,_E),o(y,36303,_E),o(y,36306,_E),o(y,36307,_E),o(y,36308,_E),o(y,36311,_E),y),uE={},cE={},lE={},hE=[0];function dE(e,t,n,i){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(hE[0]=e,e=hE);var r=e.length;if(r%t&&sk.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof n)return e;var o=i[r];o||(o=new n(r),i[r]=o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"unnamed",n=e.match(/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/);return n?n[1]:t}function CE(e,t){for(var n="",i=0;i0&&void 0!==arguments[0]?arguments[0]:this.source;if(e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){var t=this.gl.getShaderInfoLog(this.handle),n=function(e,t,n,i){for(var r=e.split(/\r?\n/),o={},a={},s=i||SE(t)||"(unnamed)",u="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(n)," shader ").concat(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",i=e.split(/\r?\n/),r=String(i.length+t-1).length;return i.map(function(e,i){var o=String(i+t);return EE(o,r-o.length)+n+e})}(t);return{shaderName:u,errors:CE(o,p),warnings:CE(a,p)}}(t,this.source,this.shaderType,this.id),i=n.shaderName,r=n.errors,o=n.warnings;throw sk.error("GLSL compilation errors in ".concat(i,"\n").concat(r))(),sk.warn("GLSL compilation warnings in ".concat(i,"\n").concat(o))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}],[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return ox(!1),"unknown"}}}]),i}(px,Symbol.toStringTag),TE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35633}))}return b(i,[{key:t,get:function(){return"VertexShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),i}(OE,Symbol.toStringTag),PE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35632}))}return b(i,[{key:t,get:function(){return"FragmentShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),i}(OE,Symbol.toStringTag),AE=5126,ME=5124,IE=5125,RE=(o(w={},AE,[AE,1,"float"]),o(w,35664,[AE,2,"vec2"]),o(w,35665,[AE,3,"vec3"]),o(w,35666,[AE,4,"vec4"]),o(w,ME,[ME,1,"int"]),o(w,35667,[ME,2,"ivec2"]),o(w,35668,[ME,3,"ivec3"]),o(w,35669,[ME,4,"ivec4"]),o(w,IE,[IE,1,"uint"]),o(w,36294,[IE,2,"uvec2"]),o(w,36295,[IE,3,"uvec3"]),o(w,36296,[IE,4,"uvec4"]),o(w,35670,[AE,1,"bool"]),o(w,35671,[AE,2,"bvec2"]),o(w,35672,[AE,3,"bvec3"]),o(w,35673,[AE,4,"bvec4"]),o(w,35674,[AE,8,"mat2"]),o(w,35685,[AE,8,"mat2x3"]),o(w,35686,[AE,8,"mat2x4"]),o(w,35675,[AE,12,"mat3"]),o(w,35687,[AE,12,"mat3x2"]),o(w,35688,[AE,12,"mat3x4"]),o(w,35676,[AE,16,"mat4"]),o(w,35689,[AE,16,"mat4x2"]),o(w,35690,[AE,16,"mat4x3"]),w);function DE(e){var n=RE[e];if(!n)return null;var i=t(n,2);return{type:i[0],components:i[1]}}function NE(e,n){switch(e){case 5120:case 5121:case 5122:case 5123:e=AE}for(var i in RE){var r=t(RE[i],3),o=r[0],a=r[1],s=r[2];if(o===e&&a===n)return{glType:i,name:s}}return null}var LE=function(){function e(t){m(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return b(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,n=t.getProgramParameter(e.handle,35721),i=0;i=0&&this._addAttribute(u,o,a,s)}this.attributeInfos.sort(function(e,t){return e.location-t.location})}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(lk(t)){for(var n=t.getProgramParameter(e.handle,35971),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,n)).stubRemovedMethods("Program","v6.0",jE),t._isCached=!1,t.initialize(n),Object.seal(c(t)),t._setId(n.id),t}return b(r,[{key:n,get:function(){return"Program"}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,n=e.vs,i=e.fs,r=e.varyings,o=e.bufferMode,a=void 0===o?35981:o;return this.hash=t||"",this.vs="string"==typeof n?new TE(this.gl,{id:"".concat(e.id,"-vs"),source:n}):n,this.fs="string"==typeof i?new PE(this.gl,{id:"".concat(e.id,"-fs"),source:i}):i,ox(this.vs instanceof TE),ox(this.fs instanceof PE),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(dk(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,a)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new LE(this),this.setProps(e)}},{key:"delete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:e(p(r.prototype),"delete",this).call(this,t)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,n=e.logPriority,i=e.drawMode,r=void 0===i?4:i,o=e.vertexCount,a=e.offset,s=void 0===a?0:a,u=e.start,c=e.end,l=e.isIndexed,h=void 0!==l&&l,d=e.indexType,f=void 0===d?5123:d,p=e.instanceCount,v=void 0===p?0:p,g=e.isInstanced,m=void 0===g?v>0:g,y=e.vertexArray,b=void 0===y?null:y,_=e.transformFeedback,w=e.framebuffer,k=e.parameters,x=void 0===k?{}:k,S=e.uniforms,C=e.samplers;if((S||C)&&(sk.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(S||{})),sk.priority>=n){var E=w?w.id:"default",O="mode=".concat(sx(this.gl,r)," verts=").concat(o," instances=").concat(v," indexType=").concat(sx(this.gl,f)," isInstanced=").concat(m," isIndexed=").concat(h," Framebuffer=").concat(E);sk.log(n,O)()}return ox(b),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===o||m&&0===v||(b.bindForDraw(o,v,function(){if(void 0!==w&&(x=Object.assign({},x,{framebuffer:w})),_){var e=function(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return ox(!1),0}}(r);_.begin(e)}t._bindTextures(),Hk(t.gl,x,function(){h&&m?t.gl2.drawElementsInstanced(r,o,f,s,v):h&&lk(t.gl)&&!isNaN(u)&&!isNaN(c)?t.gl2.drawRangeElements(r,u,c,o,f,s):h?t.gl.drawElements(r,o,f,s):m?t.gl2.drawArraysInstanced(r,s,o,v):t.gl.drawArrays(r,s,o)}),_&&_.end()}),0))}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in sk.priority>=2&&function(e,t,n){for(var i in e){var r=e[i];if((!n||Boolean(n[i]))&&!yE(r))throw t=t?"".concat(t," "):"",console.error("".concat(t," Bad uniform ").concat(i),r),new Error("".concat(t," Bad uniform ").concat(i))}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var n=e[t],i=this._uniformSetters[t];if(i){var r=n,o=!1;if(r instanceof $x&&(r=r.texture),r instanceof Mx)if(o=this.uniforms[t]!==n){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);var a=r,s=i.textureIndex;a.bind(s),r=s,this._textureUniforms[t]=a}else r=i.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(i(r)||o)&&bE(this.uniforms,t,n)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var n=this._textureUniforms[t];n.update(),e=e&&n.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,n={},i=_(this.gl.getAttachedShaders(e));try{for(i.s();!(t=i.n()).done;){var r=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new TE({handle:r});break;case 35632:n.fs=new PE({handle:r})}}}catch(o){i.e(o)}finally{i.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=cx(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),sk.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),sk.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||sk.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t1)for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{},i=n.vs,r=void 0===i?"":i,o=n.fs,a=void 0===o?"":o,s=n.defines,u=void 0===s?{}:s,c=n.inject,l=void 0===c?{}:c,h=n.varyings,d=void 0===h?[]:h,f=n.bufferMode,p=void 0===f?35981:f,v=n.transpileToGLSL100,g=void 0!==v&&v,m=this._getModuleList(n.modules),y=this._getHash(r),b=this._getHash(a),w=m.map(function(e){return t._getHash(e.name)}).sort(),k=d.map(function(e){return t._getHash(e)}),x=Object.keys(u).sort(),S=Object.keys(l).sort(),C=[],E=[],O=_(x);try{for(O.s();!(e=O.n()).done;){var T=e.value;C.push(this._getHash(T)),C.push(this._getHash(u[T]))}}catch(D){O.e(D)}finally{O.f()}var P,A=_(S);try{for(A.s();!(P=A.n()).done;){var M=P.value;E.push(this._getHash(M)),E.push(this._getHash(l[M]))}}catch(D){A.e(D)}finally{A.f()}var I="".concat(y,"/").concat(b,"D").concat(C.join("/"),"M").concat(w.join("/"),"I").concat(E.join("/"),"V").concat(k.join("/"),"H").concat(this.stateHash,"B").concat(p).concat(g?"T":"");if(!this._programCache[I]){var R=function(e,t){var n=t.vs,i=t.fs,r=jC(t.modules||[]);return{gl:e,vs:oE(e,Object.assign({},t,{source:n,type:_C,modules:r})),fs:oE(e,Object.assign({},t,{source:i,type:"fs",modules:r})),getUniforms:aE(r)}}(this.gl,{vs:r,fs:a,modules:m,inject:l,defines:u,hookFunctions:this._hookFunctions,transpileToGLSL100:g});this._programCache[I]=new FE(this.gl,{hash:I,vs:R.vs,fs:R.fs,varyings:d,bufferMode:p}),this._getUniforms[I]=R.getUniforms||function(e){},this._useCounts[I]=0}return this._useCounts[I]++,this._programCache[I]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),n={},i=0,r=0,o=this._defaultModules.length;r1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,Object.assign({},n,{id:n.id||n.program&&n.program.id}))).buffer=null,t.bufferValue=null,t.isDefaultArray=n.isDefaultArray||!1,t.gl2=e,t.initialize(n),Object.seal(c(t)),t}return b(r,[{key:n,get:function(){return"VertexArrayObject"}},{key:"delete",value:function(){return e(p(r.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"MAX_ATTRIBUTES",get:function(){return r.getMaxAttributes(this.gl)}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return ox(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(function(){e.gl.bindBuffer(34963,t?t.handle:null)}),this}},{key:"setBuffer",value:function(e,t,n){if(34963===t.target)return this.setElementBuffer(t,n);var i=n.size,r=n.type,o=n.stride,a=n.offset,s=n.normalized,u=n.integer,c=n.divisor,l=this.gl,h=this.gl2;return e=Number(e),this.bind(function(){l.bindBuffer(34962,t.handle),u?(ox(lk(l)),h.vertexAttribIPointer(e,i,r,o,a)):l.vertexAttribPointer(e,i,r,s,o,a),l.enableVertexAttribArray(e),h.vertexAttribDivisor(e,c||0)}),this}},{key:"enable",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!n&&0===e&&!r.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(function(){return n?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)})),this}},{key:"getConstantBuffer",value:function(e,t){var n=this._normalizeConstantArrayValue(t),i=n.byteLength*e,r=n.length*e,o=!this.buffer;if(this.buffer=this.buffer||new Cx(this.gl,i),o=(o=o||this.buffer.reallocate(i))||!this._compareConstantArrayValues(n,this.bufferValue)){var a=function(e,t){return new e(function(e){return(!VE||VE.byteLength1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||lk(e)||"Chrome"===function(e){if(!Lw())return"Node";if(Nw(void 0))return"Electron";var t=("undefined"!=typeof navigator?navigator:{}).userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";var n=-1!==t.indexOf("MSIE "),i=-1!==t.indexOf("Trident/");return n||i?"IE":Ww.chrome?"Chrome":Ww.safari?"Safari":Ww.mozInnerScreenX?"Firefox":"Unknown"}()}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new r(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return r.MAX_ATTRIBUTES=r.MAX_ATTRIBUTES||e.getParameter(34921),r.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,n){switch(n.constructor){case Float32Array:r._setConstantFloatArray(e,t,n);break;case Int32Array:r._setConstantIntArray(e,t,n);break;case Uint32Array:r._setConstantUintArray(e,t,n);break;default:ox(!1)}}},{key:"_setConstantFloatArray",value:function(e,t,n){switch(n.length){case 1:e.vertexAttrib1fv(t,n);break;case 2:e.vertexAttrib2fv(t,n);break;case 3:e.vertexAttrib3fv(t,n);break;case 4:e.vertexAttrib4fv(t,n);break;default:ox(!1)}}},{key:"_setConstantIntArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1iv(t,n);break;case 2:e.vertexAttribI2iv(t,n);break;case 3:e.vertexAttribI3iv(t,n);break;case 4:e.vertexAttribI4iv(t,n);break;default:ox(!1)}}},{key:"_setConstantUintArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1uiv(t,n);break;case 2:e.vertexAttribI2uiv(t,n);break;case 3:e.vertexAttribI3uiv(t,n);break;case 4:e.vertexAttribI4uiv(t,n);break;default:ox(!1)}}}]),r}(px,Symbol.toStringTag),UE=/^(.+)__LOCATION_([0-9]+)$/,HE=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],GE=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.id=n.id||n.program&&n.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new zE(t),dx(this,"VertexArray","v6.0",HE),this.initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind(function(){for(var n in e)t._setAttribute(n,e[n]);t.gl.bindBuffer(34962,null)}),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,n);var i=this._resolveLocationAndAccessor(e,t,t.accessor,n),r=i.location,o=i.accessor;return r>=0&&(this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,o)),this}},{key:"setConstant",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},n)),r=i.location,o=i.accessor;return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind(function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new Cx(e.gl,{accessor:{size:4}});for(var t=0;t0;if(e.isInstanced=e.isInstanced||r,n instanceof Cx){var o=n;if(r){var a=o.getVertexCount(i);e.instanceCount=Math.min(e.instanceCount,a)}else{var s=o.getVertexCount(i);e.vertexCount=Math.min(e.vertexCount,s)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sk.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}();function WE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isInteger,i=void 0!==n&&n;if(Array.isArray(e)||ArrayBuffer.isView(e))return function(e,t){for(var n=t.maxElts,i=void 0===n?16:n,r=t.size,o=void 0===r?1:r,a="[",s=0;s0&&(a+=","+(s%o==0?" ":"")),a+=WE(e[s],t);return"".concat(a).concat(e.length>i?"...":"]")}(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)<1e-16)return i?"0":"0.";if(i||Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var r=e.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function qE(e,t,n,i){var r,a,s=e.gl;if(!t)return o(r={},i,"null"),o(r,"Format ","N/A"),r;var u,c,l,h="NOT PROVIDED",d=1,f=0,p=0;if(n&&(h=n.type,d=n.size,u=-1!==(h=String(h).replace("Array","")).indexOf("nt")),t instanceof Cx){var v,g,m=t,y=m.getDebugData(),b=y.data;return c=y.changed?"*":"",l=b,f=(p=m.byteLength)/b.BYTES_PER_ELEMENT/d,n?g="".concat(n.divisor>0?"I ":"P "," ").concat(f," (x").concat(d,"=").concat(p," bytes ").concat(sx(s,h),")"):(u=!0,g="".concat(p," bytes")),o(v={},i,"".concat(c).concat(WE(l,{size:d,isInteger:u}))),o(v,"Format ",g),v}return l=t,d=t.length,u=-1!==(h=String(t.constructor.name).replace("Array","")).indexOf("nt"),o(a={},i,"".concat(WE(l,{size:d,isInteger:u})," (constant)")),o(a,"Format ","".concat(d,"x").concat(h," (constant)")),a}function XE(e,t){var n=NE(t.type,t.size);return n?"".concat(e," (").concat(n.name,")"):e}function YE(e){var t=e.header,n=void 0===t?"Uniforms":t,i=e.program,r=e.uniforms,a=e.undefinedOnly,s=void 0!==a&&a;ox(i);var u,c=".*Matrix",l={},h=Object.keys(i._uniformSetters).sort(),d=0,f=_(h);try{for(f.s();!(u=f.n()).done;){var p=u.value;!p.match(".*_.*")&&!p.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:p,undefinedOnly:s})&&d++}}catch(E){f.e(E)}finally{f.f()}var v,g=_(h);try{for(g.s();!(v=g.n()).done;){var m=v.value;m.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:m,undefinedOnly:s})&&d++}}catch(E){g.e(E)}finally{g.f()}var y,b=_(h);try{for(b.s();!(y=b.n()).done;){var w=y.value;l[w]||KE({table:l,header:n,uniforms:r,uniformName:w,undefinedOnly:s})&&d++}}catch(E){b.e(E)}finally{b.f()}var k=0,x={};if(!s)for(var S in r){var C=r[S];l[S]||(k++,x[S]=o({Type:"NOT USED: ".concat(C)},n,WE(C)))}return{table:l,count:d,unusedTable:x,unusedCount:k}}function KE(e){var t,n=e.table,i=e.header,r=e.uniforms,a=e.uniformName,s=e.undefinedOnly,u=r[a],c=function(e){return null!=e}(u);return!(s&&c||(n[a]=(t={},o(t,i,c?WE(u):"N/A"),o(t,"Uniform Type",c?u:"NOT PROVIDED"),t),0))}function $E(e){var t=e.accessor,n=NE(t.type,t.size);return n?"".concat(n.name," ").concat(e.name):e.name}var QE={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ZE(e,t){var n=(t||{}).attributeMap,i=void 0===n?QE:n;return i&&i[e]||e}function JE(e,t){var n;switch(e){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":t.size=t.size||3;break;case"uvs":t.size=t.size||2}ox(Number.isFinite(t.size),"attribute ".concat(e," needs size"))}var eO=function(){},tO={},nO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?cx("model"):i;ox(ck(t)),this.id=r,this.gl=t,this.id=n.id||cx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(n)}return b(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||BE.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,n=void 0===t?null:t,i=e.vs,r=e.fs,o=e.modules,a=e.defines,s=e.inject,u=e.varyings,c=e.bufferMode,l=e.transpileToGLSL100;this.programProps={program:n,vs:i,fs:r,modules:o,defines:a,inject:s,varyings:u,bufferMode:c,transpileToGLSL100:l},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},ox(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,n=e.vs,i=e.fs,r=e.modules,o=e.defines,a=e.inject,s=e.varyings,u=e.bufferMode,c=e.transpileToGLSL100;this.programProps={program:t,vs:n,fs:i,modules:r,defines:o,inject:a,varyings:s,bufferMode:u,transpileToGLSL100:c},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return ox(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return ox(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,n){var i={},r=t.indices;for(var o in t.attributes){var a=t.attributes[o],s=ZE(o,void 0);if("indices"===o)r=a;else if(a.constant)i[s]=a.value;else{var u=a.value,c=M({},a);delete c.value,i[s]=[new Cx(e,u),c],JE(o,c)}}if(r){var l=r.value||r;ox(l instanceof Uint16Array||l instanceof Uint32Array,'attribute array for "indices" must be of integer type');var h={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Cx(e,{data:l,target:34963}),h]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t={};for(var n in e){var i=e[n];t[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Fx(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,n=e.moduleSettings,i=void 0===n?null:n,r=e.framebuffer,o=e.uniforms,a=void 0===o?{}:o,s=e.attributes,u=void 0===s?{}:s,c=e.transformFeedback,l=void 0===c?this.transformFeedback:c,h=e.parameters,d=void 0===h?{}:h,f=e.vertexArray,p=void 0===f?this.vertexArray:f;this.setAttributes(u),this.updateModuleSettings(i),this.setUniforms(a),sk.priority>=2&&(t=this._logDrawCallStart(2));var v=this.vertexArray.getDrawParams(),g=this.props,m=g.isIndexed,y=void 0===m?v.isIndexed:m,b=g.indexType,_=void 0===b?v.indexType:b,w=g.indexOffset,k=void 0===w?v.indexOffset:w,x=g.vertexArrayInstanced,S=void 0===x?v.isInstanced:x;S&&!this.isInstanced&&sk.warn("Found instanced attributes on non-instanced model",this.id)();var C=this.isInstanced,E=this.instanceCount,O=this.props,T=O.onBeforeRender,P=void 0===T?eO:T,A=O.onAfterRender,M=void 0===A?eO:A;P(),this.program.setUniforms(this.uniforms);var I=this.program.draw(Object.assign(tO,e,{logPriority:t,uniforms:null,framebuffer:r,parameters:d,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:p,transformFeedback:l,isIndexed:y,indexType:_,isInstanced:C,instanceCount:E,offset:y?k:0}));return M(),sk.priority>=2&&this._logDrawCallEnd(t,p,r),I}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,n=void 0===t||t,i=e.feedbackBuffers,r=e.unbindModels,o=void 0===r?[]:r,a=e.parameters;i&&this._setFeedbackBuffers(i),n&&(a=Object.assign({},a,{35977:n})),o.forEach(function(e){return e.vertexArray.unbindBuffers()});try{this.draw(Object.assign({},e,{parameters:a}))}finally{o.forEach(function(e){return e.vertexArray.bindBuffers()})}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return sk.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,n=t.vs,i=t.fs,r=t.modules,o=t.inject,a=t.defines,s=t.varyings,u=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:n,fs:i,modules:r,inject:o,defines:a,varyings:s,bufferMode:u,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ox(e instanceof FE,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new GE(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Cx&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&ox(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new mC(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ".concat(this.id),{collapsed:sk.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,n,i){if(void 0!==e){var r=function(e){var t=e.vertexArray,n=e.header,i=void 0===n?"Attributes":n;if(!t.configuration)return{};var r={};t.elements&&(r.ELEMENT_ARRAY_BUFFER=qE(t,t.elements,null,i));var o=t.values;for(var a in o){var s=t._getAttributeInfo(a);if(s){var u="".concat(a,": ").concat(s.name),c=t.accessors[s.location];c&&(u="".concat(a,": ").concat(XE(s.name,c))),r[u]=qE(t,o[a],c,i)}}return r}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),s=a.table,u=a.unusedTable,c=a.unusedCount,l=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0}),h=l.table;l.count>0&&sk.log("MISSING UNIFORMS",Object.keys(h))(),c>0&&sk.log("UNUSED UNIFORMS",Object.keys(u))();var d=function(e){var t,n={},i="Accessors for ".concat(e.id),r=_(e.attributeInfos);try{for(r.s();!(t=r.n()).done;){var a=t.value;a&&(n["in ".concat($E(a))]=o({},i,JSON.stringify(a.accessor)))}}catch(l){r.e(l)}finally{r.f()}var s,u=_(e.varyingInfos);try{for(u.s();!(s=u.n()).done;){var c=s.value;c&&(n["out ".concat($E(c))]=o({},i,JSON.stringify(c.accessor)))}}catch(l){u.e(l)}finally{u.f()}return n}(this.vertexArray.configuration);sk.table(e,r)(),sk.table(e,s)(),sk.table(e+1,d)(),i&&i.log({logLevel:2,message:"Rendered to ".concat(i.id)}),sk.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}(),iO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,n=this.textureTransform;e&&e.delete(),t&&t.delete(),n&&n.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,n=void 0===t||t,i=this._updateDrawOptions(e);n&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}},{key:"swap",value:function(){var e,t=!1,n=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(n.s();!(e=n.n()).done;){var i=e.value;t=t||i.swap()}}catch(r){n.e(r)}finally{n.f()}ox(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(e=i.n()).done;){var r=e.value,o=r.getData(t);if(o)return o}}catch(a){i.e(a)}finally{i.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(t=i.n()).done;){var r=t.value;r.update(e)}}catch(o){i.e(o)}finally{i.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new nO(t,Object.assign({},e,{fs:e.fs||gC({version:bC(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){n=t.value.updateModelProps(n)}}catch(r){i.e(r)}finally{i.f()}return n}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){return!(hx(e.feedbackBuffers)&&hx(e.feedbackMap)&&!(e.varyings&&e.varyings.length>0))})(t)&&(this.bufferTransform=new yC(e,t)),function(e){return!(hx(e._sourceTextures)&&!e._targetTexture&&!e._targetTextureVarying)}(t)&&(this.textureTransform=new IC(e,t)),ox(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){var r=t.value;n=Object.assign(n,r.getDrawOptions(n))}}catch(o){i.e(o)}finally{i.f()}return n}}],[{key:"isSupported",value:function(e){return lk(e)}}]),e}();function rO(){}var oO={onStart:rO,onUpdate:rO,onInterrupt:rO,onEnd:rO},aO=function(){function e(t){m(this,e),this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}return b(e,[{key:"inProgress",get:function(){return this._inProgress}},{key:"start",value:function(e){this.cancel(),this.settings=M(M({},oO),e),this._inProgress=!0,this.settings.onStart(this)}},{key:"end",value:function(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}},{key:"cancel",value:function(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}},{key:"update",value:function(){if(!this._inProgress)return!1;if(null===this._handle){var e=this.timeline,t=this.settings;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}},{key:"_onUpdate",value:function(){}}]),e}(),sO={interpolation:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="interpolation",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,i.settings),this.currentStartIndices=i.startIndices,this.currentLength=0,this.transform=function(e,t){var n=oC(t.size);return new iO(e,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(n,i);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){if(e.duration<=0)this.transition.cancel();else{var n=this.buffers,i=this.attribute;aC(n);var r,o={numInstances:t,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(n);try{for(a.s();!(r=a.n()).done;){var s=r.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=i.startIndices,this.currentLength=sC(i,t),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:rC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}}},{key:"update",value:function(){var e=this.transition.update();if(e){var t=this.transition,n=t.time,i=t.settings,r=i.duration,o=(0,i.easing)(n/r);this.transform.run({uniforms:{time:o}})}return e}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}}]),e}(),spring:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="spring",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,I(M({},i.settings),{normalized:!1})),this.currentStartIndices=i.startIndices,this.currentLength=0,this.texture=function(e){return new Rx(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(n),this.framebuffer=function(e,t){return new $x(e,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:t}})}(n,this.texture),this.transform=function(e,t,n){var i=oC(t.size);return new iO(e,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(n,i,this.framebuffer);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){var n,i=this.buffers,r=this.attribute,o={numInstances:t,attribute:r,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(i);try{for(a.s();!(n=a.n()).done;){var s=n.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=r.startIndices,this.currentLength=sC(r,t),this.attributeInTransition.update({buffer:i[1],value:r.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/r.size),sourceBuffers:{aTo:rC(0,r)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,n=this.framebuffer,i=this.transition;return!!i.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),aC(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),qx(n)[0]>0||i.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}]),e}()},uO=function(){function e(t,n){var i=n.id,r=n.timeline;m(this,e),this.id=i,this.gl=t,this.timeline=r,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=iO.isSupported(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,n=e.transitions,i=e.numInstances;for(var r in this.numInstances=i||1,t){var o=t[r],a=o.getTransitionSetting(n);!a||this._updateAttribute(r,o,a)}for(var s in this.transitions){var u=t[s];(!u||!u.getTransitionSetting(n))&&this._removeTransition(s)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var n=this.transitions[t];n.inProgress&&(e[t]=n.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,n){var i=this.transitions[e],r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void ik.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();i&&this._removeTransition(e);var o=sO[n.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(ik.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(n,this.numInstances))}}]),e}(),cO="attributeManager.invalidate",lO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.id,r=void 0===i?"attribute-manager":i,o=n.stats,a=n.timeline;m(this,e),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new uO(t,{id:"".concat(r,"-transitions"),timeline:a}),Object.seal(this)}return b(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=e.numInstances,i=e.startIndices,r=void 0===i?null:i,o=e.transitions,a=e.props,s=void 0===a?{}:a,u=e.buffers,c=void 0===u?{}:u,l=e.context,h=void 0===l?{}:l,d=!1;for(var f in hC("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var p=this.attributes[f],v=p.settings.accessor;p.startIndices=r,s[f]&&ik.removed("props.".concat(f),"data.attributes.".concat(f))(),p.setExternalBuffer(c[f])||p.setBinaryValue(c[v],t.startIndices)||!c[v]&&p.setConstantValue(s[v])||p.needsUpdate()&&(d=!0,this._updateAttribute({attribute:p,numInstances:n,data:t,props:s,context:h})),this.needsRedraw|=p.needsRedraw()}d&&hC("attributeManager.updateEnd",this,n),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:n,transitions:o})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,n=this.attributeTransitionManager,i=M({},n.getAttributes());for(var r in t){var o=t[r];o.needsRedraw(e)&&!n.hasAttribute(r)&&(i[r]=o)}return i}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var n={};for(var i in e)t[i]||Object.assign(n,e[i].getShaderAttributes());return n}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var i in t&&ik.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e)this.attributes[i]=this._createAttribute(i,e[i],n);this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,n){var i=I(M({},t),{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||n.instanced?1:t.divisor||0});return new cC(this.gl,i)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},n=function(n){e.attributes[n].getUpdateTriggers().forEach(function(e){t[e]||(t[e]=[]),t[e].push(n)})};for(var i in this.attributes)n(i);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var n=this.attributes,i=this.updateTriggers[e];return i&&i.forEach(function(e){var i=n[e];i&&i.setNeedsUpdate(i.id,t)}),i}},{key:"_updateAttribute",value:function(e){var t=e.attribute,n=e.numInstances;hC("attribute.updateStart",t),t.allocate(n)&&hC("attribute.allocate",t,n),t.updateBuffer(e)&&(this.needsRedraw=!0,hC("attribute.updateEnd",t,n))}}]),e}();function hO(e,t,n,i,r){var o=t-e;return(n-t)*r+-o*i+o+t}function dO(e,t){if(Array.isArray(e)){for(var n=0,i=0;i0}},{key:"add",value:function(e,t,n,i){var r=this.transitions;if(r.has(e)){var o=r.get(e),a=o.value;t=void 0===a?o.settings.fromValue:a,this.remove(e)}if(i=iC(i)){var s=fO[i.type];if(s){var u=new s(this.timeline);u.start(I(M({},i),{fromValue:t,toValue:n})),r.set(e,u)}else ik.error("unsupported transition type '".concat(i.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,n={},i=_(this.transitions);try{for(i.s();!(e=i.n()).done;){var r=t(e.value,2),o=r[0],a=r[1];a.update(),n[o]=a.value,a.inProgress||this.remove(o)}}catch(s){i.e(s)}finally{i.f()}return n}},{key:"clear",value:function(){var e,t=_(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value;this.remove(n)}}catch(i){t.e(i)}finally{t.f()}}}]),e}(),vO={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},gO=vO.COMPONENT;function mO(e,t){if(!e.transitions)return null;var n={},i=kO(e);for(var r in e.transitions){var o=i[r],a=o&&o.type;("number"===a||"color"===a||"array"===a)&&bO(e[r],t[r],o)&&(n[r]=!0)}return n}function yO(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.newProps,n=e.oldProps,i=e.ignoreProps,r=void 0===i?{}:i,o=e.propTypes,a=void 0===o?{}:o,s=e.triggerName,u=void 0===s?"props":s;if(n===t)return null;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return"".concat(u," changed shallowly");for(var c=0,l=Object.keys(t);c=0&&n.modules.splice(i,1)}if("inject"in t)if(e.inject){var r=M({},e.inject);for(var o in t.inject)r[o]=(r[o]||"")+t.inject[o];n.inject=r}else n.inject=t.inject;return n}function EO(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],h=t[9],d=t[10],f=t[11],p=t[12],v=t[13],g=t[14],m=t[15],y=n*s-i*a,b=n*u-r*a,_=n*c-o*a,w=i*u-r*s,k=i*c-o*s,x=r*c-o*u,S=l*v-h*p,C=l*g-d*p,E=l*m-f*p,O=h*g-d*v,T=h*m-f*v,P=d*m-f*g,A=y*P-b*T+_*O+w*E-k*C+x*S;return A?(e[0]=(s*P-u*T+c*O)*(A=1/A),e[1]=(r*T-i*P-o*O)*A,e[2]=(v*x-g*k+m*w)*A,e[3]=(d*k-h*x-f*w)*A,e[4]=(u*E-a*P-c*C)*A,e[5]=(n*P-r*E+o*C)*A,e[6]=(g*_-p*x-m*b)*A,e[7]=(l*x-d*_+f*b)*A,e[8]=(a*T-s*E+c*S)*A,e[9]=(i*E-n*T-o*S)*A,e[10]=(p*k-v*_+m*y)*A,e[11]=(h*_-l*k-f*y)*A,e[12]=(s*C-a*O-u*S)*A,e[13]=(n*O-i*C+r*S)*A,e[14]=(v*b-p*w-g*y)*A,e[15]=(l*w-h*b+d*y)*A,e):null}function OO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],v=t[12],g=t[13],m=t[14],y=t[15],b=n[0],_=n[1],w=n[2],k=n[3];return e[0]=b*i+_*s+w*h+k*v,e[1]=b*r+_*u+w*d+k*g,e[2]=b*o+_*c+w*f+k*m,e[3]=b*a+_*l+w*p+k*y,e[4]=(b=n[4])*i+(_=n[5])*s+(w=n[6])*h+(k=n[7])*v,e[5]=b*r+_*u+w*d+k*g,e[6]=b*o+_*c+w*f+k*m,e[7]=b*a+_*l+w*p+k*y,e[8]=(b=n[8])*i+(_=n[9])*s+(w=n[10])*h+(k=n[11])*v,e[9]=b*r+_*u+w*d+k*g,e[10]=b*o+_*c+w*f+k*m,e[11]=b*a+_*l+w*p+k*y,e[12]=(b=n[12])*i+(_=n[13])*s+(w=n[14])*h+(k=n[15])*v,e[13]=b*r+_*u+w*d+k*g,e[14]=b*o+_*c+w*f+k*m,e[15]=b*a+_*l+w*p+k*y,e}function TO(e,t,n){var i,r,o,a,s,u,c,l,h,d,f,p,v=n[0],g=n[1],m=n[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],e[0]=i=t[0],e[1]=r,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=h,e[9]=d,e[10]=f,e[11]=p,e[12]=i*v+s*g+h*m+t[12],e[13]=r*v+u*g+d*m+t[13],e[14]=o*v+c*g+f*m+t[14],e[15]=a*v+l*g+p*m+t[15]),e}function PO(e,t,n){var i=n[0],r=n[1],o=n[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function AO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],h=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=o*r+c*i,e[5]=a*r+l*i,e[6]=s*r+h*i,e[7]=u*r+d*i,e[8]=c*r-o*i,e[9]=l*r-a*i,e[10]=h*r-s*i,e[11]=d*r-u*i,e}function MO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[4],l=t[5],h=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r+c*i,e[1]=a*r+l*i,e[2]=s*r+h*i,e[3]=u*r+d*i,e[4]=c*r-o*i,e[5]=l*r-a*i,e[6]=h*r-s*i,e[7]=d*r-u*i,e}function IO(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function RO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3];return e[0]=n[0]*i+n[4]*r+n[8]*o+n[12]*a,e[1]=n[1]*i+n[5]*r+n[9]*o+n[13]*a,e[2]=n[2]*i+n[6]*r+n[10]*o+n[14]*a,e[3]=n[3]*i+n[7]*r+n[11]*o+n[15]*a,e}function DO(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*i+s*o-u*r,h=c*r+u*i-a*o,d=c*o+a*r-s*i,f=-a*i-s*r-u*o;return e[0]=l*c+f*-a+h*-u-d*-s,e[1]=h*c+f*-s+d*-a-l*-u,e[2]=d*c+f*-u+l*-s-h*-a,e[3]=t[3],e}!function(){var e=new kS(4);kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var NO=[0,0,0,0],LO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],jO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],FO=[0,0,0],BO=[0,0,0],VO=SO(function(e){var t=e.viewport,n=e.devicePixelRatio,i=e.coordinateSystem,r=function(e,t,n){var i=e.viewMatrixUncentered,r=e.projectionMatrix,o=e.viewMatrix,a=e.viewProjectionMatrix,s=NO,u=NO,c=e.cameraPosition,l=zO(e,t,n),h=l.geospatialOrigin,d=l.shaderCoordinateOrigin;return l.offsetMode&&(u=e.projectPosition(h||d),c=[c[0]-u[0],c[1]-u[1],c[2]-u[2]],u[3]=1,s=RO([],u,a),a=OO([],r,o=i||o),a=OO([],a,LO)),{viewMatrix:o,viewProjectionMatrix:a,projectionCenter:s,originCommon:u,cameraPosCommon:c,shaderCoordinateOrigin:d,geospatialOrigin:h}}(t,i,e.coordinateOrigin),o=r.projectionCenter,a=r.viewProjectionMatrix,s=r.originCommon,u=r.cameraPosCommon,c=r.shaderCoordinateOrigin,l=r.geospatialOrigin,h=t.getDistanceScales(),d=[t.width*n,t.height*n],f=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:i,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:c,project_uCommonOrigin:s.slice(0,3),project_uCenter:o,project_uViewportSize:d,project_uDevicePixelRatio:n,project_uFocalDistance:f,project_uCommonUnitsPerMeter:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:FO,project_uScale:t.scale,project_uViewProjectionMatrix:a,project_uCameraPosition:u};if(l){var v=t.getDistanceScales(l);switch(i){case rk.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerMeter2;break;case rk.LNGLAT:case rk.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerDegree2;break;case rk.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,v.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,v.unitsPerMeter2[2]]}}return p});function zO(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:BO,r=i,o=!0;switch(n=t===rk.LNGLAT_OFFSETS||t===rk.METER_OFFSETS?i:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case ok.WEB_MERCATOR:(t===rk.LNGLAT||t===rk.CARTESIAN)&&(o=!1);break;case ok.WEB_MERCATOR_AUTO_OFFSET:t===rk.LNGLAT?r=n:t===rk.CARTESIAN&&(r=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],n=e.unprojectPosition(r),r[0]-=i[0],r[1]-=i[1],r[2]-=i[2]);break;case ok.IDENTITY:r=e.position.map(Math.fround);break;case ok.GLOBE:o=!1,n=null;break;default:o=!1}return r[2]=r[2]||0,{geospatialOrigin:n,shaderCoordinateOrigin:r,offsetMode:o}}var UO=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return pS(!1),0}},{key:"RANK",get:function(){return pS(!1),0}},{key:"toString",value:function(){var e="[";if(oS.printRowMajor){e+="row-major:";for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i2*Math.PI)throw Error("radians");var d=s*Math.tan(n/2),f=d*o;return(new i).ortho({left:-f,right:f,bottom:-d,top:d,near:c,far:h})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,n=e.fov,i=void 0===n?45*Math.PI/180:n,r=e.aspect,o=void 0===r?1:r,a=e.near,s=void 0===a?.1:a,u=e.far,c=void 0===u?500:u;if((t=t||i)>2*Math.PI)throw Error("radians");return function(e,t,n,i,r){var o,a=1/Math.tan(t/2);e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(e[10]=(r+i)*(o=1/(i-r)),e[14]=2*r*i*o):(e[10]=-1,e[14]=-2*i)}(this,t,o,s,c),this.check()}},{key:"determinant",value:function(){return function(e){var t=e[0],n=e[1],i=e[2],r=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],h=e[10],d=e[11],f=e[12],p=e[13],v=e[14],g=e[15];return(t*a-n*o)*(h*g-d*v)-(t*s-i*o)*(l*g-d*p)+(t*u-r*o)*(l*v-h*p)+(n*s-i*a)*(c*g-d*f)-(n*u-r*a)*(c*v-h*f)+(i*u-r*s)*(c*p-l*f)}(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*r,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*r,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=this[4]*i,e[4]=this[5]*r,e[5]=this[6]*o,e[6]=this[8]*i,e[7]=this[9]*r,e[8]=this[10]*o,e}},{key:"transpose",value:function(){return function(e,t){if(e===t){var n=t[1],i=t[2],r=t[3],o=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=o,e[11]=t[14],e[12]=r,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15]}(this,this),this.check()}},{key:"invert",value:function(){return EO(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return OO(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return OO(this,this,e),this.check()}},{key:"rotateX",value:function(e){return AO(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[8],l=t[9],h=t[10],d=t[11];t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r-c*i,e[1]=a*r-l*i,e[2]=s*r-h*i,e[3]=u*r-d*i,e[8]=o*i+c*r,e[9]=a*i+l*r,e[10]=s*i+h*r,e[11]=u*i+d*r}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return MO(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return this.rotateX(i).rotateY(r).rotateZ(o)}},{key:"rotateAxis",value:function(e,t){return function(e,t,n,i){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w,k,x,S,C,E,O,T=i[0],P=i[1],A=i[2],M=Math.hypot(T,P,A);Mn?n:e}var eT=Math.log2||function(e){return Math.log(e)*Math.LOG2E};function tT(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var nT=Math.PI,iT=nT/4,rT=nT/180,oT=180/nT,aT=4003e4,sT=85.051129;function uT(e){var n=t(e,2),i=n[0],r=n[1];return tT(Number.isFinite(i)),tT(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude"),[512*(i*rT+nT)/(2*nT),512*(nT+Math.log(Math.tan(iT+r*rT*.5)))/(2*nT)]}function cT(e){var n=t(e,2),i=n[0],r=n[1],o=i/512*(2*nT)-nT,a=2*(Math.atan(Math.exp(r/512*(2*nT)-nT))-iT);return[o*oT,a*oT]}function lT(e){var t=e.latitude,n=e.longitude,i=e.highPrecision,r=void 0!==i&&i;tT(Number.isFinite(t)&&Number.isFinite(n));var o={},a=Math.cos(t*rT),s=512/360,u=s/a,c=512/aT/a;if(o.unitsPerMeter=[c,c,c],o.metersPerUnit=[1/c,1/c,1/c],o.unitsPerDegree=[s,u,c],o.degreesPerUnit=[1/s,1/u,1/c],r){var l=rT*Math.tan(t*rT)/a,h=512/aT*l,d=h/u*c;o.unitsPerDegree2=[0,s*l/2,h],o.unitsPerMeter2=[d,0,d]}return o}function hT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=t(n,3),u=s[0],c=s[1],l=s[2],h=lT({longitude:r,latitude:o,highPrecision:!0}),d=h.unitsPerMeter,f=h.unitsPerMeter2,p=uT(e);p[0]+=u*(d[0]+f[0]*c),p[1]+=c*(d[1]+f[1]*c);var v=cT(p),g=(a||0)+(l||0);return Number.isFinite(a)||Number.isFinite(l)?[v[0],v[1],g]:v}function dT(e){return 2*Math.atan(.5/e)*oT}function fT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=void 0===a?0:a;return tT(Number.isFinite(r)&&Number.isFinite(o)&&Number.isFinite(s)),QO(n,[r,o,s,1])}function pT(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t(e,3),o=r[0],a=r[1],s=r[2];if(tT(Number.isFinite(o)&&Number.isFinite(a),"invalid pixel coordinate"),Number.isFinite(s))return QO(n,[o,a,s,1]);var u=QO(n,[o,a,0,1]),c=QO(n,[o,a,1,1]),l=u[2],h=c[2];return WO([],u,c,l===h?0:((i||0)-l)/(h-l))}var vT=Math.PI/180;function gT(e,t,n){var i=e.pixelUnprojectionMatrix,r=QO(i,[t,0,1,1]),o=QO(i,[t,e.height,1,1]),a=cT(WO([],r,o,(n*e.distanceScales.unitsPerMeter[2]-r[2])/(o[2]-r[2])));return a[2]=n,a}var mT=Math.PI/180,yT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],bT=[0,0,0],_T={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]},wT=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?1:u,l=t.height,h=void 0===l?1:l;this.id=i||this.constructor.displayName||"viewport",this.x=o,this.y=s,this.width=c||1,this.height=h||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return b(e,[{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?ok.WEB_MERCATOR:ok.WEB_MERCATOR_AUTO_OFFSET:ok.IDENTITY}},{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&fS(t.projectionMatrix,this.projectionMatrix)&&fS(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=fT(this.projectPosition(e),this.pixelProjectionMatrix),a=t(o,2),s=a[0],u=a[1],c=r?u:this.height-u;return 2===e.length?[s,c]:[s,c,o[2]]}},{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=n.targetZ,a=t(e,3),s=a[0],u=a[1],c=a[2],l=pT([s,r?u:this.height-u,c],this.pixelUnprojectionMatrix,o&&o*this.distanceScales.unitsPerMeter[2]),h=this.unprojectPosition(l),d=t(h,3),f=d[0],p=d[1],v=d[2];return Number.isFinite(c)?[f,p,v]:Number.isFinite(o)?[f,p,o]:[f,p]}},{key:"projectPosition",value:function(e){var n=t(this.projectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var n=t(this.unprojectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){return this.isGeospatial?uT(e):e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?cT(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,0],t),i=this.unproject([this.width,0],t),r=this.unproject([0,this.height],t),o=this.unproject([this.width,this.height],t);return[Math.min(n[0],i[0],r[0],o[0]),Math.min(n[1],i[1],r[1],o[1]),Math.max(n[0],i[0],r[0],o[0]),Math.max(n[1],i[1],r[1],o[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?lT({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,n=e.y,i=e.width,r=void 0===i?1:i,o=e.height,a=void 0===o?1:o;return t0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t.latitude,o=void 0===r?0:r,a=t.longitude,s=void 0===a?0:a,u=t.zoom,l=void 0===u?11:u,h=t.pitch,d=void 0===h?0:h,f=t.bearing,p=void 0===f?0:f,v=t.nearZMultiplier,g=void 0===v?.1:v,y=t.farZMultiplier,b=void 0===y?1.01:y,_=t.orthographic,w=void 0!==_&&_,k=t.repeat,x=void 0!==k&&k,S=t.worldOffset,C=void 0===S?0:S,E=t.width,O=t.height,T=t.altitude,P=void 0===T?1.5:T,A=Math.pow(2,l),R=function(e){var t=e.width,n=e.height,i=e.fovy,r=void 0===i?dT(1.5):i,o=e.altitude,a=e.pitch,s=void 0===a?0:a,u=e.nearZMultiplier,c=void 0===u?1:u,l=e.farZMultiplier,h=void 0===l?1:l;void 0!==o&&(r=dT(o));var d=.5*r*rT,f=function(e){return.5/Math.tan(.5*e*rT)}(r),p=s*rT,v=Math.sin(d)*f/Math.sin(Math.min(Math.max(Math.PI/2-p-d,.01),Math.PI-.01));return{fov:2*d,aspect:t/n,focalDistance:f,near:c,far:(Math.sin(p)*v+f)*h}}({width:E=E||1,height:O=O||1,pitch:d,altitude:P=Math.max(.75,P),nearZMultiplier:g,farZMultiplier:b}),D=R.fov,N=R.aspect,L=R.focalDistance,j=R.near,F=R.far,B=function(e){var t=e.height,n=e.pitch,i=e.bearing,r=e.scale,o=e.center,a=void 0===o?null:o,s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return TO(s,s,[0,0,-e.altitude]),AO(s,s,-n*rT),MO(s,s,i*rT),PO(s,s,[r/=t,r,r]),a&&TO(s,s,function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}([],a)),s}({height:O,pitch:d,bearing:p,scale:A,altitude:P});return C&&(B=(new $O).translate([512*C,0,0]).multiplyLeft(B)),(e=n.call(this,I(M({},t),{width:E,height:O,viewMatrix:B,longitude:s,latitude:o,zoom:l,orthographic:w,fovyRadians:D,aspect:N,focalDistance:L,near:j,far:F}))).latitude=o,e.longitude=s,e.zoom=l,e.pitch=d,e.bearing=p,e.altitude=P,e.orthographic=w,e._subViewports=x?[]:null,Object.freeze(c(e)),e}return b(i,[{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),n=Math.ceil((e[2]-180)/360),r=t;r<=n;r++){var o=r?new i(I(M({},this),{worldOffset:r})):this;this._subViewports.push(o)}return this._subViewports}},{key:"addMetersToLngLat",value:function(e,t){return hT(e,t)}},{key:"panByPosition",value:function(e,n){var i=pT(n,this.pixelUnprojectionMatrix),r=HO([],this.projectFlat(e),GO([],i)),o=HO([],this.center,r),a=t(this.unprojectFlat(o),2);return{longitude:a[0],latitude:a[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.width,o=e.height,a=e.unproject,s={targetZ:i},u=a([0,o],s),c=a([r,o],s);return(e.fovy?.5*e.fovy*vT:Math.atan(.5/e.altitude))>(90-e.pitch)*vT-.01?(t=gT(e,0,i),n=gT(e,r,i)):(t=a([0,0],s),n=a([r,0],s)),[u,c,n,t]}(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,o=this.height,a=function(e){var n=e.width,i=e.height,r=e.bounds,o=e.minExtent,a=void 0===o?0:o,s=e.maxZoom,u=void 0===s?24:s,c=e.padding,l=void 0===c?0:c,h=e.offset,d=void 0===h?[0,0]:h,f=t(r,2),p=t(f[0],2),v=p[0],g=p[1],m=t(f[1],2),y=m[0],b=m[1];Number.isFinite(l)?l={top:l,bottom:l,left:l,right:l}:tT(Number.isFinite(l.top)&&Number.isFinite(l.bottom)&&Number.isFinite(l.left)&&Number.isFinite(l.right));var _=uT([v,JO(b,-sT,sT)]),w=uT([y,JO(g,-sT,sT)]),k=[Math.max(Math.abs(w[0]-_[0]),a),Math.max(Math.abs(w[1]-_[1]),a)],x=[n-l.left-l.right-2*Math.abs(d[0]),i-l.top-l.bottom-2*Math.abs(d[1])];tT(x[0]>0&&x[1]>0);var S=x[0]/k[0],C=x[1]/k[1],E=cT([(w[0]+_[0])/2+(l.right-l.left)/2/S,(w[1]+_[1])/2+(l.bottom-l.top)/2/C]),O=Math.min(u,eT(Math.abs(Math.min(S,C))));return tT(Number.isFinite(O)),{longitude:E[0],latitude:E[1],zoom:O}}(M({width:r,height:o,bounds:e},n)),s=a.longitude,u=a.latitude,c=a.zoom;return new i({width:r,height:o,longitude:s,latitude:u,zoom:c})}}]),i}(wT);return e.displayName="WebMercatorViewport",e}();function xT(e,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=n.projectPosition(e);if(i&&n instanceof kT){var o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?0:u,l=n.getDistanceScales([a,s]);r[2]=c*l.unitsPerMeter[2]}return r}function ST(e,n){var i,r=n.viewport,o=n.modelMatrix,a=n.coordinateSystem,s=n.coordinateOrigin,u=n.offsetMode,c=t(e,3),l=c[0],h=c[1],d=c[2],f=void 0===d?0:d;switch(o&&(l=(i=t(RO([],[l,h,f,1],o),3))[0],h=i[1],f=i[2]),a){case rk.LNGLAT:return xT([l,h,f],r,u);case rk.LNGLAT_OFFSETS:return xT([l+s[0],h+s[1],f+(s[2]||0)],r,u);case rk.METER_OFFSETS:return xT(hT(s,[l,h,f]),r,u);case rk.CARTESIAN:default:return r.isGeospatial?[l+s[0],h+s[1],f+s[2]]:r.projectPosition([l,h,f])}}var CT={10241:9987,10240:9729,10242:33071,10243:33071},ET={},OT={boolean:{validate:function(e,t){return!0},equal:function(e,t,n){return Boolean(e)===Boolean(t)}},number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},color:{validate:function(e,t){return t.optional&&!e||MT(e)&&(3===e.length||4===e.length)},equal:function(e,t,n){return TT(e,t)}},accessor:{validate:function(e,t){var n=IT(e);return"function"===n||n===IT(t.value)},equal:function(e,t,n){return"function"==typeof t||TT(e,t)}},array:{validate:function(e,t){return t.optional&&!e||MT(e)},equal:function(e,t,n){return n.compare?TT(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"==typeof e},equal:function(e,t,n){return!n.compare||e===t}},data:{transform:function(e,t,n){var i=(n?n.props:{}).dataTransform;return i&&e?i(e):e}},image:{transform:function(e,t,n){return function(e,t){var n=e.context&&e.context.gl;if(!n||!t)return null;if(t instanceof Rx)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var i=null;t.compressed&&(i={10241:t.data.length>1?9985:9729});var r=new Rx(n,I(M({},t),{parameters:M(M(M({},CT),i),e.props.textureParameters)}));return ET[r.id]=!0,r}(n,e)},release:function(e){!function(e){!e||!(e instanceof Rx)||ET[e.id]&&(e.delete(),delete ET[e.id])}(e)}}};function TT(e,t){if(e===t)return!0;if(!MT(e)||!MT(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;m(this,e),this.component=t,this.asyncProps={},this.onAsyncPropUpdated=function(){},this.oldProps=qT,this.oldAsyncProps=null}return b(e,[{key:"finalize",value:function(){for(var e in this.asyncProps){var t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}},{key:"getOldProps",value:function(){return this.oldAsyncProps||this.oldProps}},{key:"resetOldProps",value:function(){this.oldAsyncProps=null,this.oldProps=this.component.props}},{key:"freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps)for(var e in this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"hasAsyncProp",value:function(e){return e in this.asyncProps}},{key:"getAsyncProp",value:function(e){var t=this.asyncProps[e];return t&&t.resolvedValue}},{key:"isAsyncPropLoading",value:function(e){if(e){var t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var n in this.asyncProps)if(this.isAsyncPropLoading(n))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[GT]||{},n=e[HT]||e,i=e[WT]||{};for(var r in t){var o=t[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,o),t[r]=this.getAsyncProp(r)}for(var a in n){var s=n[a];this._createAsyncPropData(a,i[a]),this._updateAsyncProp(a,s)}}},{key:"_updateAsyncProp",value:function(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var n,i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(t=i(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(KS(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}},{key:"_didAsyncInputValueChange",value:function(e,t){var n=this.asyncProps[e];return t!==n.resolvedValue&&t!==n.lastValue&&(n.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){var n=this.asyncProps[e];t=this._postProcessValue(n,t),n.resolvedValue=t,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}},{key:"_setAsyncPropValue",value:function(e,t,n){var i=this.asyncProps[e];i&&n>=i.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),i.resolvedValue=t,i.resolvedLoadCount=n,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var n=this,i=this.asyncProps[e];i.pendingLoadCount++;var r=i.pendingLoadCount;t.then(function(t){var o;t=n._postProcessValue(i,t),n._setAsyncPropValue(e,t,r);var a=null===(o=n.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(t,{propName:e,layer:n.layer})}).catch(function(t){var i;null===(i=n.layer)||void 0===i||i.raiseError(t,"loading ".concat(e," of ").concat(n.layer))})}},{key:"_resolveAsyncIterable",value:function(e,t){var n=this;return Vx(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:"data"!==e&&n._setPropValue(e,t),(o=n.asyncProps[e]).pendingLoadCount++,a=o.pendingLoadCount,s=[],u=0,l=!0,h=!1,i.prev=6,p=UT(t);case 8:return i.next=10,p.next();case 10:return l=(d=i.sent).done,i.next=13,d.value;case 13:if(f=i.sent,l){i.next=20;break}v=f,g=n.component?n.component.props:{},m=g.dataTransform,s=m?m(v,s):s.concat(v),Object.defineProperty(s,"__diff",{enumerable:!1,value:[{startRow:u,endRow:s.length}]}),u=s.length,n._setAsyncPropValue(e,s,a);case 17:l=!0,i.next=8;break;case 20:i.next=25;break;case 22:i.prev=22,i.t0=i.catch(6),h=!0,c=i.t0;case 25:if(i.prev=25,i.prev=26,i.t1=!l&&null!=p.return,!i.t1){i.next=31;break}return i.next=31,p.return();case 31:if(i.prev=31,!h){i.next=34;break}throw c;case 34:return i.finish(31);case 35:return i.finish(25);case 36:(y=null===(r=n.layer)||void 0===r?void 0:r.props.onDataLoad)&&y(s,{propName:e,layer:n.layer});case 38:case"end":return i.stop()}},i,null,[[6,22,25,36],[26,,31,35]])}))()}},{key:"_postProcessValue",value:function(e,t){var n=e.type;return n&&(n.release&&n.release(e.resolvedValue,n,this.component),n.transform)?n.transform(t,n,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var n=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:n&&n[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}(),KT=vO.ASYNC_ORIGINAL,$T=vO.ASYNC_RESOLVED,QT=vO.ASYNC_DEFAULTS,ZT={},JT=0,eP=function(){var e=function(){function e(){m(this,e),this.props=jT.apply(this,arguments),this.id=this.props.id,this.count=JT++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}return b(e,[{key:"clone",value:function(e){var t=this.props,n={};for(var i in t[QT])i in t[$T]?n[i]=t[$T][i]:i in t[KT]&&(n[i]=t[KT][i]);return new this.constructor(M(M(M({},t),n),e))}},{key:"stats",get:function(){return this.internalState.stats}},{key:"_initState",value:function(){this.internalState=new XT({})}}]),e}();return e.componentName="Component",e.defaultProps=ZT,e}(),tP=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.attributeManager,o=e.layer;return m(this,n),(i=t.call(this,o)).attributeManager=r,i.model=null,i.needsRedraw=!0,i.subLayers=null,i.usesPickingColorCache=!1,i}return b(n,[{key:"layer",get:function(){return this.component},set:function(e){this.component=e}}]),n}(XT),nP=function(e){return"function"==typeof e},iP=function(e){return null!==e&&"object"==typeof e},rP=function(e){return iP(e)&&e.constructor==={}.constructor},oP=function(e){return e&&"function"==typeof e[Symbol.iterator]},aP=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},sP=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},uP=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},cP=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||iP(e)&&nP(e.tee)&&nP(e.cancel)&&nP(e.getReader)}(e)||function(e){return iP(e)&&nP(e.read)&&nP(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)};function lP(e,t){if(!e)throw new Error(t||"loader assertion failed.")}function hP(e){var t;return!!e&&(Array.isArray(e)&&(e=e[0]),Array.isArray(null===(t=e)||void 0===t?void 0:t.extensions))}function dP(e){var t,n,i;return lP(e,"null loader"),lP(hP(e),"invalid loader"),Array.isArray(e)&&(i=e[1],e=I(M({},e=e[0]),{options:M(M({},e.options),i)})),(null!==(t=e)&&void 0!==t&&t.parseTextSync||null!==(n=e)&&void 0!==n&&n.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var fP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},pP=fP.global||fP.self||fP.window||{},vP="object"!=typeof process||"[object process]"!==String(process)||process.browser,gP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);gP&&parseFloat(gP[1]);var mP={};function yP(e){for(var t in mP)e.startsWith(t)&&(e=e.replace(t,mP[t]));return!e.startsWith("http://")&&!e.startsWith("https://")&&(e="".concat(e)),e}var bP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,_P=/^([-\w.]+\/[-\w.+]+)/;function wP(e){var t=_P.exec(e);return t?t[1]:e}function kP(e){var t=bP.exec(e);return t?t[1]:""}var xP=/\?.*/;function SP(e){if(sP(e)){var t=EP(e.url||"");return{url:t,type:wP(e.headers.get("content-type")||"")||kP(t)}}return uP(e)?{url:EP(e.name||""),type:e.type||""}:"string"==typeof e?{url:EP(e),type:kP(e)}:{url:"",type:""}}function CP(e){return sP(e)?e.headers["content-length"]||-1:uP(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function EP(e){return e.replace(xP,"")}function OP(e){return TP.apply(this,arguments)}function TP(){return(TP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!sP(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(i=CP(t))>=0&&(n["content-length"]=String(i)),r=SP(t),o=r.url,(a=r.type)&&(n["content-type"]=a),e.next=8,RP(t);case 8:return(s=e.sent)&&(n["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),e.abrupt("return",(Object.defineProperty(u,"url",{value:o}),u));case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function PP(e){return AP.apply(this,arguments)}function AP(){return(AP=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,MP(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function MP(e){return IP.apply(this,arguments)}function IP(){return(IP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,i=t.headers.get("Content-Type"),r=t.statusText,e.t0=i.includes("application/json"),!e.t0){e.next=12;break}return e.t1=r,e.t2=" ",e.next=10,t.text();case 10:e.t3=e.sent,r=e.t1+=e.t2.concat.call(e.t2,e.t3);case 12:n=(n+=r).length>60?"".concat(n.slice(60),"..."):n,e.next=18;break;case 16:e.prev=16,e.t4=e.catch(1);case 18:return e.abrupt("return",n);case 19:case"end":return e.stop()}},e,null,[[1,16]])}))).apply(this,arguments)}function RP(e){return DP.apply(this,arguments)}function DP(){return(DP=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=2;break}return e.abrupt("return","data:,".concat(t.slice(0,5)));case 2:if(!(t instanceof Blob)){e.next=7;break}return n=t.slice(0,5),e.next=6,new Promise(function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(n)});case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",t instanceof ArrayBuffer?"data:base64,".concat(NP(t.slice(0,5))):null);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function NP(e){for(var t="",n=new Uint8Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:"3.0.12";return $P(e,"no worker provided"),!(!t||!e.version)}var ZP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},JP=ZP.global||ZP.self||ZP.window||{},eA="object"!=typeof process||"[object process]"!==String(process)||process.browser,tA="function"==typeof importScripts,nA="undefined"!=typeof window&&void 0!==window.orientation,iA="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),rA=(iA&&parseFloat(iA[1]),new Map);function oA(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function aA(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=n||new Set;if(e)if(sA(e))i.add(e);else if(sA(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)&&t&&"object"==typeof e)for(var r in e)aA(e[r],t,i);return void 0===n?Array.from(i):[]}function sA(e){return!!e&&(e instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&e instanceof MessagePort||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)}var uA=function(){},cA=function(){function e(t){m(this,e),FP(this,"name",void 0),FP(this,"source",void 0),FP(this,"url",void 0),FP(this,"terminated",!1),FP(this,"worker",void 0),FP(this,"onMessage",void 0),FP(this,"onError",void 0),FP(this,"_loadableURL","");var n=t.name,i=t.source,r=t.url;$P(i||r),this.name=n,this.source=i,this.url=r,this.onMessage=uA,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return b(e,[{key:"destroy",value:function(){this.onMessage=uA,this.onError=uA,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||aA(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=function(e){$P(e.source&&!e.url||!e.source&&e.url);var t=rA.get(e.source||e.url);return t||(e.url&&(t=function(e){return e.startsWith("http")?oA(function(e){return"try {\n importScripts('".concat(e,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")}(e)):e}(e.url),rA.set(e.url,t)),e.source&&(t=oA(e.source),rA.set(e.source,t))),$P(t),t}({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker}}]),e}(),lA=function(){function e(t,n){var i=this;m(this,e),FP(this,"name",void 0),FP(this,"workerThread",void 0),FP(this,"isRunning",void 0),FP(this,"result",void 0),FP(this,"_resolve",void 0),FP(this,"_reject",void 0),this.name=t,this.workerThread=n,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise(function(e,t){i._resolve=e,i._reject=t})}return b(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){$P(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){$P(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}(),hA=function(){function e(t){m(this,e),FP(this,"name","unnamed"),FP(this,"source",void 0),FP(this,"url",void 0),FP(this,"maxConcurrency",1),FP(this,"maxMobileConcurrency",1),FP(this,"onDebug",function(){}),FP(this,"reuseWorkers",!0),FP(this,"props",{}),FP(this,"jobQueue",[]),FP(this,"idleQueue",[]),FP(this,"count",0),FP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}return b(e,[{key:"destroy",value:function(){this.idleQueue.forEach(function(e){return e.destroy()}),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=M(M({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t,n){return e.done(n)},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e,t){return e.error(t)},i=this;return Vx(regeneratorRuntime.mark(function r(){var o;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return o=new Promise(function(r){return i.jobQueue.push({name:e,onMessage:t,onError:n,onStart:r}),i}),i._startQueuedJob(),r.next=4,o;case 4:return r.abrupt("return",r.sent);case 5:case"end":return r.stop()}},r)}))()}},{key:"_startQueuedJob",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){var n,i,r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.jobQueue.length){t.next=2;break}return t.abrupt("return");case 2:if(n=e._getAvailableWorker()){t.next=5;break}return t.abrupt("return");case 5:if(!(i=e.jobQueue.shift())){t.next=16;break}return e.onDebug({message:"Starting job",name:i.name,workerThread:n,backlog:e.jobQueue.length}),r=new lA(i.name,n),n.onMessage=function(e){return i.onMessage(r,e.type,e.payload)},n.onError=function(e){return i.onError(r,e)},i.onStart(r),t.prev=10,t.next=13,r.result;case 13:return t.prev=13,e.returnWorkerToQueue(n),t.finish(13);case 16:case"end":return t.stop()}},t,null,[[10,,13,16]])}))()}},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();function pA(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="".concat(e.id,"-worker.js"),i=(t[e.id]||{}).workerUrl;if("test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(n)),!i){var r=e.version;"latest"===r&&(r="latest"),i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(r?"@".concat(r):"","/dist/").concat(n)}return $P(i),i}function vA(e,t){return!!fA.isSupported()&&e.worker&&(null==t?void 0:t.worker)}function gA(e,t,n,i,r){return mA.apply(this,arguments)}function mA(){return(mA=Vx(regeneratorRuntime.mark(function e(t,n,i,r,o){var a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.id,s=pA(t,i),u=fA.getWorkerFarm(i).getWorkerPool({name:a,url:s}),i=JSON.parse(JSON.stringify(i)),e.next=4,u.startJob("process-on-worker",yA.bind(null,o));case 4:return(c=e.sent).postMessage("process",{input:n,options:i}),e.next=8,c.result;case 8:return e.next=10,e.sent.result;case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}},e)}))).apply(this,arguments)}function yA(e,t,n,i){return bA.apply(this,arguments)}function bA(){return(bA=Vx(regeneratorRuntime.mark(function e(t,n,i,r){var o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=i,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(r),e.abrupt("break",21);case 5:return n.error(r.error),e.abrupt("break",21);case 7:return o=r.id,a=r.input,s=r.options,e.prev=8,e.next=11,t(a,s);case 11:u=e.sent,n.postMessage("done",{id:o,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:o,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(i));case 21:case"end":return e.stop()}},e,null,[[8,15]])}))).apply(this,arguments)}FP(fA,"_workerFarm",void 0);var _A=r(9521);function wA(e){if(function(e){return e&&"object"==typeof e&&e.isBuffer}(e)&&(e=function(e){return _A.toArrayBuffer?_A.toArrayBuffer(e):e}(e)),e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var t=e;return(new TextEncoder).encode(t).buffer}if(e&&"object"==typeof e&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function kA(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==c[1]?c[1]:{},i=n.chunkSize,r=void 0===i?EA:i,o=0;case 3:if(!(o2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var i=M({fetch:qP(t,e)},e);return Array.isArray(i.loaders)||(i.loaders=null),i}function zA(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var i=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(v(n),v(i)):i}return n&&n.length?n:null}var UA=function(){var e=HP();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function HA(e){var t,n=UA(),i=_(e=Array.isArray(e)?e:[e]);try{var r=function(){var e=dP(t.value);n.find(function(t){return e===t})||n.unshift(e)};for(i.s();!(t=i.n()).done;)r()}catch(o){i.e(o)}finally{i.f()}}var GA=/\.([^.]+)$/;function WA(e){return qA.apply(this,arguments)}function qA(){return(qA=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]?a[1]:[],i=a.length>2?a[2]:void 0,r=a.length>3?a[3]:void 0,YA(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(o=XA(t,n,I(M({},i),{nothrow:!0}),r))){e.next=8;break}return e.abrupt("return",o);case 8:if(e.t0=uP(t),!e.t0){e.next=18;break}return e.t1=XA,e.next=13,t.slice(0,10).arrayBuffer();case 13:e.t2=t=e.sent,e.t3=n,e.t4=i,e.t5=r,o=(0,e.t1)(e.t2,e.t3,e.t4,e.t5);case 18:if(o||null!=i&&i.nothrow){e.next=20;break}throw new Error(KA(t));case 20:return e.abrupt("return",o);case 21:case"end":return e.stop()}},e)}))).apply(this,arguments)}function XA(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!YA(e))return null;if(n&&!Array.isArray(n))return dP(n);var o=[];n&&(o=o.concat(n)),null!=i&&i.ignoreRegisteredLoaders||(t=o).push.apply(t,v(UA())),function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){dP(t.value)}}catch(i){n.e(i)}finally{n.f()}}(o);var a=function(e,t,n,i){var r=SP(e),o=r.url,a=r.type,s=o||(null==i?void 0:i.url),u=null;return null!=n&&n.mimeType&&(u=$A(t,null==n?void 0:n.mimeType)),u=(u=(u=(u=u||function(e,t){var n=t&&GA.exec(t),i=n&&n[1];return i?function(e,t){t=t.toLowerCase();var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r,o=n.value,a=_(o.extensions);try{for(a.s();!(r=a.n()).done;){if(r.value.toLowerCase()===t)return o}}catch(s){a.e(s)}finally{a.f()}}}catch(s){i.e(s)}finally{i.f()}return null}(e,i):null}(t,s))||$A(t,a))||function(e,t){if(!t)return null;var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if("string"==typeof t){if(QA(t,r))return r}else if(ArrayBuffer.isView(t)){if(ZA(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&ZA(t,0,r))return r}}catch(o){i.e(o)}finally{i.f()}return null}(t,e))||$A(t,null==n?void 0:n.fallbackMimeType)}(e,o,i,r);if(!(a||null!=i&&i.nothrow))throw new Error(KA(e));return a}function YA(e){return!(e instanceof Response&&204===e.status)}function KA(e){var t=SP(e),n=t.url,i=t.type,r="No valid loader found";return e&&(r+=' data: "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?JA(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?JA(e,0,t):""}(e),'", contentType: "').concat(i,'"')),n&&(r+=" url: ".concat(n)),r}function $A(e,t){var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if(r.mimeTypes&&r.mimeTypes.includes(t)||t==="application/x.".concat(r.id))return r}}catch(o){i.e(o)}finally{i.f()}return null}function QA(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(function(t){return e.startsWith(t)})}function ZA(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(function(i){return function(e,t,n,i){if(i instanceof ArrayBuffer)return function(e,t,n){if(e.byteLength<(n=n||e.byteLength)||t.byteLength0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var n=this.context.viewport,i=t(fT(ST(e,{viewport:n,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),n.pixelProjectionMatrix),3),r=i[0],o=i[1],a=i[2];return 2===e.length?[r,o]:[r,o,a]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e){return function(e,t){var n=function(e){var t=M({},e),n=e.coordinateSystem,i=e.coordinateOrigin,r=e.fromCoordinateSystem,o=e.fromCoordinateOrigin;return n===rk.DEFAULT&&(n=e.viewport.isGeospatial?rk.LNGLAT:rk.CARTESIAN),void 0===r&&(t.fromCoordinateSystem=n),void 0===o&&(t.fromCoordinateOrigin=i),t.coordinateSystem=n,t}(t),i=n.viewport,r=n.coordinateSystem,o=n.coordinateOrigin,a=n.modelMatrix,s=n.fromCoordinateSystem,u=n.fromCoordinateOrigin,c=zO(i,r,o),l=c.geospatialOrigin,h=c.shaderCoordinateOrigin,d=c.offsetMode,f=ST(e,{viewport:i,modelMatrix:a,coordinateSystem:s,coordinateOrigin:u,offsetMode:d});return d&&function(e,t,n){e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2]}(f,f,i.projectPosition(l||h)),f}(e,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===rk.DEFAULT||e===rk.LNGLAT||e===rk.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){WS(e instanceof Uint8Array);var n=t(e,3);return n[0]+256*n[1]+65536*n[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,n=_(this.props.extensions);try{for(n.s();!(t=n.n()).done;){var i=t.value;e=CO(e,i.getShaders.call(this,i))}}catch(r){n.e(r)}finally{n.f()}return e}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,i=e.changeFlags,r=this.getAttributeManager();if(i.dataChanged&&r){var o=i.dataChanged;if(Array.isArray(o)){var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;r.invalidateAll(u)}}catch(p){s.e(p)}finally{s.f()}}else r.invalidateAll()}var c=n.highlightedObjectIndex>=0||n.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==c&&r){var l=r.attributes,h=l.pickingColors,d=l.instancePickingColors,f=h||d;f&&(c&&f.constant&&(f.constant=!1,r.invalidate(f.id)),!f.value&&!c&&(f.constant=!0,f.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=_(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(i){t.e(i)}finally{t.f()}var n=this.getAttributeManager();n&&n.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){t.value.draw(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.index;return n>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[n]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,(!t||!uM({oldViewport:t,viewport:e}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=this.getAttributeManager();!t||("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setModelAttributes(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var n=this.getNumInstances(e),i=this.getStartIndices(e);t.update({data:e.data,numInstances:n,startIndices:i,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var r=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),n=Object.create(this.props);for(var i in t)Object.defineProperty(n,i,{value:t[i]});return n}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var n=t.numInstances;if(!e.constant){var i=Math.floor(cM.length/3);if(this.internalState.usesPickingColorCache=!0,iaM&&ik.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),cM=nS.allocate(cM,n,{size:3,copy:!0,maxCount:Math.max(n,aM)});for(var r=Math.floor(cM.length/3),o=[],a=i;a=0?this.encodePickingColor(o):null),this.setModuleParameters(s)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(e);return t=t||i}},{key:"_getAttributeManager",value:function(){return new lO(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){WS(!this.internalState&&!this.state),WS(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tP({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return ik.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new pO(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){hC("layer.matched",this,this===e);var t=e.state,n=e.internalState;this!==e&&(this.internalState=n,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}]),i}(eP);return e.layerName="Layer",e.defaultProps=lM,e}(),dM=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"isComposite",get:function(){return!0}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.getSubLayers().every(function(e){return e.isLoaded})}},{key:"getSubLayers",value:function(){return this.internalState&&this.internalState.subLayers||[]}},{key:"initializeState",value:function(){}},{key:"setState",value:function(t){e(p(i.prototype),"setState",this).call(this,t),this.setNeedsUpdate()}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.object;return n&&n.__source&&n.__source.parent&&n.__source.parent.id===this.id&&(t.object=n.__source.object,t.index=n.__source.index),t}},{key:"renderLayers",value:function(){return null}},{key:"filterSubLayer",value:function(e){return!0}},{key:"shouldRenderSubLayer",value:function(e,t){return t&&t.length}},{key:"getSubLayerClass",value:function(e,t){var n=this.props._subLayerProps;return n&&n[e]&&n[e].type||t}},{key:"getSubLayerRow",value:function(e,t,n){return e.__source={parent:this,object:t,index:n},e}},{key:"getSubLayerAccessor",value:function(e){if("function"==typeof e){var t={data:this.props.data,target:[]};return function(n,i){return n&&n.__source?(t.index=n.__source.index,e(n.__source.object,t)):e(n,i)}}return e}},{key:"getSubLayerProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,n=t.opacity,i=t.pickable,r=t.visible,o=t.parameters,a=t.getPolygonOffset,s=t.highlightedObjectIndex,u=t.autoHighlight,c=t.highlightColor,l=t.coordinateSystem,h=t.coordinateOrigin,d=t.wrapLongitude,f=t.positionFormat,p=t.modelMatrix,v=t.extensions,g=t.fetch,m=t._subLayerProps,y={opacity:n,pickable:i,visible:r,parameters:o,getPolygonOffset:a,highlightedObjectIndex:s,autoHighlight:u,highlightColor:c,coordinateSystem:l,coordinateOrigin:h,wrapLongitude:d,positionFormat:f,modelMatrix:p,extensions:v,fetch:g},b=m&&m[e.id],w=b&&b.updateTriggers,k=e.id||"sublayer";if(b){var x=this.constructor._propTypes,S=e.type?e.type._propTypes:{};for(var C in b){var E=S[C]||x[C];E&&"accessor"===E.type&&(b[C]=this.getSubLayerAccessor(b[C]))}}Object.assign(y,e,b),y.id="".concat(this.props.id,"-").concat(k),y.updateTriggers=M(M({all:this.props.updateTriggers.all},e.updateTriggers),w);var O,T=_(v);try{for(T.s();!(O=T.n()).done;){var P=O.value,A=P.getSubLayerProps.call(this,P);A&&Object.assign(y,A,{updateTriggers:Object.assign(y.updateTriggers,A.updateTriggers)})}}catch(I){T.e(I)}finally{T.f()}return y}},{key:"_updateAutoHighlight",value:function(e){var t,n=_(this.getSubLayers());try{for(n.s();!(t=n.n()).done;){t.value.updateAutoHighlight(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=$S(e=this.renderLayers(),Boolean),this.internalState.subLayers=e),hC("compositeLayer.renderLayers",this,t,e);var n,i=_(e);try{for(i.s();!(n=i.n()).done;){n.value.parent=this}}catch(r){i.e(r)}finally{i.f()}}}]),i}(hM);return t.layerName="CompositeLayer",t}(),fM=/([0-9]+\.?[0-9]*)(%|px)/;function pM(e){switch(typeof e){case"number":return{position:e,relative:!1};case"string":var t=e.match(fM);if(t&&t.length>=3){var n="%"===t[2],i=parseFloat(t[1]);return{position:n?i/100:i,relative:n}}default:throw new Error("Could not parse position string ".concat(e))}}function vM(e,t){return e.relative?Math.round(e.position*t):e.position}function gM(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var n in e){var i=e[n],r=t[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&gM(i,r)))return!1}return!0}var mM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?"100%":u,l=t.height,h=void 0===l?"100%":l,d=t.projectionMatrix,f=void 0===d?null:d,p=t.fovy,v=void 0===p?50:p,g=t.near,y=void 0===g?.1:g,b=t.far,_=void 0===b?1e3:b,w=t.modelMatrix,k=void 0===w?null:w,x=t.viewportInstance,S=void 0===x?null:x,C=t.type,E=void 0===C?wT:C;WS(!S||S instanceof wT),this.viewportInstance=S,this.id=i||this.constructor.displayName||"view",this.type=E,this.props=I(M({},t),{id:this.id,projectionMatrix:f,fovy:v,near:y,far:_,modelMatrix:k}),this._parseDimensions({x:o,y:s,width:c,height:h}),this.equals=this.equals.bind(this),Object.seal(this)}return b(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):gM(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,n=e.height,i=e.viewState;if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);var r=this.getDimensions({width:t,height:n});return this._getViewport(i,r)}},{key:"getViewStateId",value:function(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;var t=M({},e);for(var n in this.props.viewState)"id"!==n&&(t[n]=this.props.viewState[n]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,n=e.height;return{x:vM(this._x,t),y:vM(this._y,n),width:vM(this._width,t),height:vM(this._height,n)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),M(M({},e),t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(M(M(M({},e),this.props),t))}},{key:"_parseDimensions",value:function(e){var t=e.x,n=e.y,i=e.width,r=e.height;this._x=pM(t),this._y=pM(n),this._width=pM(i),this._height=pM(r)}}]),e}(),yM=function(){},bM={transitionEasing:function(e){return e},transitionInterruption:1,onTransitionStart:yM,onTransitionInterrupt:yM,onTransitionEnd:yM},_M=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.props=M(M({},bM),n),this.propsInTransition=null,this.transition=new aO(n.timeline),this.onViewStateChange=n.onViewStateChange||yM,this.onStateChange=n.onStateChange||yM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}return b(e,[{key:"finalize",value:function(){this.transition.cancel()}},{key:"getViewportInTransition",value:function(){return this.propsInTransition}},{key:"processViewStateChange",value:function(e){var t=!1,n=this.props;if(e=M(M({},bM),e),this.props=e,this._shouldIgnoreViewportChange(n,e))return t;if(this._isTransitionEnabled(e)){var i=this.transition.settings,r=i.interruption,o=i.endProps,a=M(M({},n),2===r?o:this.propsInTransition||n);this._triggerTransition(a,e),t=!0}else this.transition.cancel();return t}},{key:"updateTransition",value:function(){this.transition.update()}},{key:"_isTransitionEnabled",value:function(e){var t=e.transitionDuration,n=e.transitionInterpolator;return(t>0||"auto"===t)&&Boolean(n)}},{key:"_isUpdateDueToCurrentTransition",value:function(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}},{key:"_shouldIgnoreViewportChange",value:function(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}},{key:"_triggerTransition",value:function(e,t){var n=new this.ControllerState(e),i=new this.ControllerState(t).shortestPathFrom(n),r=t.transitionInterpolator,o=r.getDuration?r.getDuration(e,t):t.transitionDuration;if(0!==o){var a=t.transitionInterpolator.initializeProps(e,i);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}}},{key:"_onTransitionEnd",value:function(e){var t=this;return function(n){t.propsInTransition=null,t.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(n)}}},{key:"_onTransitionUpdate",value:function(e){var t=e.time,n=e.settings,i=n.interpolator,r=n.startProps,o=n.endProps,a=n.duration,s=(0,n.easing)(t/a),u=i.interpolateProps(r,o,s);this.propsInTransition=new this.ControllerState(M(M({},this.props),u)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}]),e}(),wM=["longitude","latitude","zoom","bearing","pitch"],kM=["longitude","latitude","zoom"],xM=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,i),(e=n.call(this,(Array.isArray(t)?t:t.transitionProps)||{compare:wM,extract:wM,required:kM})).opts=t,e}return b(i,[{key:"initializeProps",value:function(t,n){var r=e(p(i.prototype),"initializeProps",this).call(this,t,n),o=this.opts,a=o.makeViewport,s=o.around;if(a&&s){var u=a(t),c=a(n),l=u.unproject(s);r.start.around=s,Object.assign(r.end,{around:c.project(l),aroundPosition:l,width:n.width,height:n.height})}return r}},{key:"interpolateProps",value:function(e,t,n){var i,r={},o=_(this._propsToExtract);try{for(o.s();!(i=o.n()).done;){var a=i.value;r[a]=dS(e[a]||0,t[a]||0,n)}}catch(u){o.e(u)}finally{o.f()}if(t.aroundPosition){var s=this.opts.makeViewport(M(M({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,dS(e.around,t.around,n)))}return r}}]),i}(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var n=t,i=n.compare,r=n.extract,o=n.required;this._propsToCompare=i,this._propsToExtract=r,this._requiredProps=o}return b(e,[{key:"arePropsEqual",value:function(e,t){var n,i=_(this._propsToCompare||Object.keys(t));try{for(i.s();!(n=i.n()).done;){var r=n.value;if(!(r in e)||!(r in t)||!fS(e[r],t[r]))return!1}}catch(o){i.e(o)}finally{i.f()}return!0}},{key:"initializeProps",value:function(e,t){var n;if(this._propsToExtract){var i,r={},o={},a=_(this._propsToExtract);try{for(a.s();!(i=a.n()).done;){var s=i.value;r[s]=e[s],o[s]=t[s]}}catch(u){a.e(u)}finally{a.f()}n={start:r,end:o}}else n={start:e,end:t};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}},{key:"interpolateProps",value:function(e,t,n){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){!this._requiredProps||this._requiredProps.forEach(function(t){var n=e[t];WS(Number.isFinite(n)||Array.isArray(n),"".concat(t," is required for transition"))})}}]),e}()),SM={transitionDuration:0},CM={transitionDuration:300,transitionEasing:function(e){return e},transitionInterruption:1},EM=function(e){return 1-(1-e)*(1-e)},OM=["wheel"],TM=["panstart","panmove","panend"],PM=["pinchstart","pinchmove","pinchend"],AM=["tripanstart","tripanmove","tripanend"],MM=["doubletap"],IM=["keydown"],RM=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new _M(t,I(M({},n),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var i=this.linearTransitionProps;this._transition=i&&I(M({},CM),{transitionInterpolator:new xM({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(n)}return b(e,[{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}},{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state));var n=this._eventStartBlocked;switch(e.type){case"panstart":return!n&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!n&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!n&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,n=t.x,i=t.y,r=e.offsetCenter;return[r.x-n,r.y-i]}},{key:"isPointInBounds",value:function(e,t){var n=this.controllerStateProps,i=n.width,r=n.height;if(t&&t.handled)return!1;var o=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return o&&t&&t.stopPropagation(),o}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,n=setTimeout(function(){t._eventStartBlocked===n&&(t._eventStartBlocked=null)},e);this._eventStartBlocked=n}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var n=e.scrollZoom,i=void 0===n||n,r=e.dragPan,o=void 0===r||r,a=e.dragRotate,s=void 0===a||a,u=e.doubleClickZoom,c=void 0===u||u,l=e.touchZoom,h=void 0===l||l,d=e.touchRotate,f=void 0!==d&&d,p=e.keyboard,v=void 0===p||p,g=Boolean(this.onViewStateChange);this.toggleEvents(OM,g&&i),this.toggleEvents(TM,g&&(o||s)),this.toggleEvents(PM,g&&(h||f)),this.toggleEvents(AM,g&&f),this.toggleEvents(MM,g&&c),this.toggleEvents(IM,g&&v),this.scrollZoom=i,this.dragPan=o,this.dragRotate=s,this.doubleClickZoom=c,this.touchZoom=h,this.touchRotate=f,this.keyboard=v}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var n=this;this.eventManager&&e.forEach(function(e){n._events[e]!==t&&(n._events[e]=t,t?n.eventManager.on(e,n.handleEvent):n.eventManager.off(e,n.handleEvent))})}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=M(M({},e.getViewportProps()),t),r=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(n),r){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);var i=this.controllerState[n?"panStart":"rotateStart"]({pos:t});return this._panMove=n,this.updateViewport(i,SM,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),n=this.controllerState.pan({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.pan({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:!0})}else{var r=this.controllerState.panEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.rotate({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0})}else{var r=this.controllerState.rotateEnd();this.updateViewport(r,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.scrollZoom,i=n.speed,r=void 0===i?.01:i,o=n.smooth,a=void 0!==o&&o,s=e.delta,u=2/(1+Math.exp(-Math.abs(s*r)));s<0&&0!==u&&(u=1/u);var c=this.controllerState.zoom({pos:t,scale:u});return this.updateViewport(c,I(M({},this._getTransitionProps({around:t})),{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.rotateStart({pos:t});return this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate||!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var n=this.getCenter(e),i=[n[0],n[1]+=e.velocityY*t/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var n=e.scale,i=this.getCenter(e);t=t.zoom({pos:i,scale:n})}if(this.touchRotate){var r=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-r})}return this.updateViewport(t,SM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,n=this._lastPinchEvent;if(this.touchZoom&&t&&n&&e.scale!==n.scale){var i=this.getCenter(e),r=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),s=Math.pow(2,o+a*t/2);r=r.zoom({pos:i,scale:s}).zoomEnd(),this.updateViewport(r,I(M({},this._getTransitionProps({around:i})),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var u=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(u,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e),i=this.controllerState.zoom({pos:t,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,n=this.isFunctionKeyPressed(e),i=this.keyboard,r=i.zoomSpeed,o=i.moveSpeed,a=i.rotateSpeedX,s=i.rotateSpeedY,u=this.controllerState,c={};switch(e.srcEvent.code){case"Minus":t=n?u.zoomOut(r).zoomOut(r):u.zoomOut(r),c.isZooming=!0;break;case"Equal":t=n?u.zoomIn(r).zoomIn(r):u.zoomIn(r),c.isZooming=!0;break;case"ArrowLeft":n?(t=u.rotateLeft(a),c.isRotating=!0):(t=u.moveLeft(o),c.isPanning=!0);break;case"ArrowRight":n?(t=u.rotateRight(a),c.isRotating=!0):(t=u.moveRight(o),c.isPanning=!0);break;case"ArrowUp":n?(t=u.rotateUp(s),c.isRotating=!0):(t=u.moveUp(o),c.isPanning=!0);break;case"ArrowDown":n?(t=u.rotateDown(s),c.isRotating=!0):(t=u.moveDown(o),c.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),c),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?I(M({},t),{transitionInterpolator:new xM(I(M({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:SM}}]),e}(),DM=function(){function e(t){m(this,e),this._viewportProps=this._applyConstraints(t)}return b(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}(),NM=[0,0,0],LM=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.makeViewport,o=e.width,a=e.height,s=e.rotationX,u=void 0===s?0:s,c=e.rotationOrbit,l=void 0===c?0:c,h=e.target,d=void 0===h?NM:h,f=e.zoom,p=void 0===f?0:f,v=e.minRotationX,g=void 0===v?-90:v,y=e.maxRotationX,b=void 0===y?90:y,_=e.minZoom,w=void 0===_?-1/0:_,k=e.maxZoom,x=void 0===k?1/0:k,S=e.startPanPosition,C=e.startRotatePos,E=e.startRotationX,O=e.startRotationOrbit,T=e.startZoomPosition,P=e.startZoom;return m(this,n),(i=t.call(this,{width:o,height:a,rotationX:u,rotationOrbit:l,target:d,zoom:p,minRotationX:g,maxRotationX:b,minZoom:w,maxZoom:x}))._state={startPanPosition:S,startRotatePos:C,startRotationX:E,startRotationOrbit:O,startZoomPosition:T,startZoom:P},i.makeViewport=r,i}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanPosition:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPosition,i=this._state.startPanPosition||n;if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanPosition:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startRotationX,l=s.startRotationOrbit,h=this._viewportProps,d=h.width,f=h.height;if(!u||!Number.isFinite(c)||!Number.isFinite(l))return this;if(n){var p=(n[0]-u[0])/d;(c<-90||c>90)&&(p*=-1),t={rotationX:c+(n[1]-u[1])/f*180,rotationOrbit:l+180*p}}else t={rotationX:c+a,rotationOrbit:l+r};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.rotationOrbit;return Math.abs(i-t.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=r,s=this._unproject(n)||this._unproject(t));var u=this._calculateNewZoom({scale:i,startZoom:a}),c=this.makeViewport(I(M({},this._viewportProps),{zoom:u}));return this._getUpdatedState(M({zoom:u},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return Number.isFinite(n)||(n=this._viewportProps.zoom),hS(n+Math.log2(t),o,r)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height,r=t.target;return this.pan({startPosition:r,pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new n(M(M(M({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom,r=e.maxRotationX,o=e.minRotationX,a=e.rotationOrbit;return e.zoom=hS(i,n,t),e.rotationX=hS(e.rotationX,o,r),(a<-180||a>180)&&(e.rotationOrbit=function(e,t){var n=e%360;return n<0?360+n:n}(a+180)-180),e}}]),n}(DM),jM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,LM,e)}return b(n,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),n}(RM),FM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),e.dragMode=e.dragMode||"pan",t.call(this,LM,e)}return b(n,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),n}(RM),BM=(new $O).lookAt({eye:[0,0,1]});function VM(e){var t=e.width,n=e.height,i=e.near,r=e.far;return t=t||1,n=n||1,(new $O).ortho({left:-t/2,right:t/2,bottom:-n/2,top:n/2,near:i,far:r})}var zM=function(e){a(n,e);var t=s(n);function n(e){m(this,n);var i=e.width,r=e.height,o=e.near,a=void 0===o?.1:o,s=e.far,u=void 0===s?1e3:s,c=e.zoom,l=void 0===c?0:c,h=e.target,d=void 0===h?[0,0,0]:h,f=e.flipY,p=void 0===f||f,v=Math.pow(2,l);return t.call(this,I(M({},e),{longitude:null,position:d,viewMatrix:BM.clone().scale([v,v*(p?-1:1),v]),projectionMatrix:VM({width:i,height:r,near:a,far:u}),zoom:l}))}return b(n,[{key:"panByPosition",value:function(e,t){var n=HO([],e,GO([],pT(t,this.pixelUnprojectionMatrix)));return{target:HO([],this.center,n)}}}]),n}(wT),UM=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:zM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:FM})}}]),n}(mM);return e.displayName="OrthographicView",e}(),HM=Math.PI/180;function GM(e){var t=e.height,n=e.fovy,i=e.orbitAxis,r=e.rotationX,o=e.rotationOrbit,a=e.zoom,s=.5/Math.tan(n*HM/2),u="Z"===i?[0,0,1]:[0,1,0],c="Z"===i?[0,-s,0]:[0,0,s],l=(new $O).lookAt({eye:c,up:u});l.rotateX(r*HM),"Z"===i?l.rotateZ(o*HM):l.rotateY(o*HM);var h=Math.pow(2,a)/(t||1);return l.scale(h),l}var WM=function(e){a(i,e);var n=s(i);function i(e){var t;m(this,i);var r=e.height,o=e.fovy,a=e.orbitAxis,s=e.target,u=void 0===s?[0,0,0]:s,c=e.rotationX,l=void 0===c?0:c,h=e.rotationOrbit,d=void 0===h?0:h,f=e.zoom,p=void 0===f?0:f;return(t=n.call(this,I(M({},e),{longitude:null,viewMatrix:GM({height:r,fovy:o,orbitAxis:a,rotationX:l,rotationOrbit:d,zoom:p}),fovy:o,position:u,zoom:p}))).projectedCenter=t.project(t.center),t}return b(i,[{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?this.projectedCenter[2]:u,l=r?s:this.height-s,h=pT([a,l,c],this.pixelUnprojectionMatrix),d=t(h,3),f=d[0],p=d[1],v=d[2];return[f,p,v]}},{key:"panByPosition",value:function(e,t){var n=this.project(e);return{target:this.unproject([this.width/2+n[0]-t[0],this.height/2+n[1]-t[1],this.projectedCenter[2]])}}}]),i}(wT),qM=function(){var e=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.orbitAxis,r=void 0===i?"Z":i;return t.call(this,I(M({},e),{orbitAxis:r,type:WM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:jM})}}]),n}(mM);return e.displayName="OrbitView",e}(),XM=[255,255,255],YM=0,KM=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?XM:n,r=t.intensity,o=void 0===r?1:r;this.id=t.id||"ambient-".concat(YM++),this.color=i,this.intensity=o,this.type="ambient"},$M=[255,255,255],QM=[0,0,-1],ZM=0,JM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?$M:n,r=t.intensity,o=void 0===r?1:r,a=t.direction,s=void 0===a?QM:a,u=t._shadow,c=void 0!==u&&u;this.id=t.id||"directional-".concat(ZM++),this.color=i,this.intensity=o,this.type="directional",this.direction=new FS(s).normalize().toArray(),this.shadow=c}return b(e,[{key:"getProjectedLight",value:function(){return this}}]),e}(),eI=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?"effect":n;this.id=i,this.props=M({},t)}return b(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(){}},{key:"cleanup",value:function(){}}]),e}(),tI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"render",value:function(e){return Uk(this.gl,{framebuffer:e.target}),this._drawLayers(e)}},{key:"_drawLayers",value:function(e){var t=e.viewports,n=e.views,i=e.onViewportActive,r=e.clearCanvas,o=void 0===r||r;e.pass=e.pass||"unknown";var a=this.gl;o&&function(e){Uk(e,{viewport:[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}),e.clear(16640)}(a);var s,u=[],c=_(t);try{for(c.s();!(s=c.n()).done;){var l=s.value,h=l.viewport||l,d=n&&n[h.id];i(h);var f=this._getDrawLayerParams(h,e);e.view=d;var p,v=_(h.subViewports||[h]);try{for(v.s();!(p=v.n()).done;){var g=p.value;e.viewport=g;var m=this._drawLayersInViewport(a,e,f);u.push(m)}}catch(y){v.e(y)}finally{v.f()}}}catch(y){c.e(y)}finally{c.f()}return u}},{key:"_getDrawLayerParams",value:function(e,t){for(var n=t.layers,i=t.pass,r=t.layerFilter,o=t.effects,a=t.moduleParameters,s=[],u=nI(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i},l=0;l1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?"pass":i;this.id=r,this.gl=t,this.props=M({},n)}return b(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(){}},{key:"cleanup",value:function(){}}]),e}());function nI(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},i=function i(r,o){var a,s=r.props._offset,u=r.id,c=r.parent&&r.parent.id;if(c&&!(c in t)&&i(r.parent,!1),c in n){var l=n[c]=n[c]||nI(t[c],t);a=l(r,o),n[u]=l}else Number.isFinite(s)?(a=s+(t[c]||0),n[u]=null):a=e;return o&&a>=e&&(e=a+1),t[u]=a,a};return i}var iI=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e,t)).shadowMap=new Rx(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),r.depthBuffer=new Lx(e,{format:33189,width:1,height:1}),r.fbo=new $x(e,{id:"shadowmap",width:1,height:1,attachments:{36064:r.shadowMap,36096:r.depthBuffer}}),r}return b(i,[{key:"render",value:function(t){var n=this,r=this.fbo;Hk(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},function(){var o=t.viewports[0],a=Wk(n.gl),s=o.width*a,u=o.height*a;(s!==r.width||u!==r.height)&&r.resize({width:s,height:u}),e(p(i.prototype),"render",n).call(n,I(M({},t),{target:r,pass:"shadow"}))})}},{key:"shouldDrawLayer",value:function(e){return!1!==e.props.shadowEnabled}},{key:"getModuleParameters",value:function(){return{drawToShadowMap:!0}}},{key:"delete",value:function(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}]),i}(tI),rI=Object.keys(rk).map(function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(rk[e],";")}).join(""),oI=Object.keys(ok).map(function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(ok[e],";")}).join(""),aI="".concat(rI,"\n").concat(oI,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),sI={},uI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:aI,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sI;return e.viewport?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,n=e.devicePixelRatio,i=void 0===n?1:n,r=e.modelMatrix,o=void 0===r?null:r,a=e.coordinateSystem,s=void 0===a?rk.DEFAULT:a,u=e.coordinateOrigin,c=e.autoWrapLongitude,l=void 0!==c&&c;s===rk.DEFAULT&&(s=t.isGeospatial?rk.LNGLAT:rk.CARTESIAN);var h=VO({viewport:t,devicePixelRatio:i,coordinateSystem:s,coordinateOrigin:u});return h.project_uWrapLongitude=l,h.project_uModelMatrix=o||jO,h}(e):{}}},cI=SO(function(e){var t=e.viewport,n=e.center;return new $O(t.viewProjectionMatrix).invert().transform(n)}),lI=SO(function(e){var n,i=e.viewport,r=e.shadowMatrices,o=[],a=i.pixelUnprojectionMatrix,s=i.isGeospatial?void 0:1,u=[[0,0,s],[i.width,0,s],[0,i.height,s],[i.width,i.height,s],[0,0,-1],[i.width,0,-1],[0,i.height,-1],[i.width,i.height,-1]].map(function(e){return function(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=pT([r,o,a],n);return Number.isFinite(a)?s:[s[0],s[1],0]}(e,a)}),c=_(r);try{var l=function(){var e=n.value,t=e.clone().translate(new FS(i.center).negate()),r=u.map(function(e){return t.transform(e)}),a=(new $O).ortho({left:Math.min.apply(Math,v(r.map(function(e){return e[0]}))),right:Math.max.apply(Math,v(r.map(function(e){return e[0]}))),bottom:Math.min.apply(Math,v(r.map(function(e){return e[1]}))),top:Math.max.apply(Math,v(r.map(function(e){return e[1]}))),near:Math.min.apply(Math,v(r.map(function(e){return-e[2]}))),far:Math.max.apply(Math,v(r.map(function(e){return-e[2]})))});o.push(a.multiplyRight(e))};for(c.s();!(n=c.n()).done;)l()}catch(h){c.e(h)}finally{c.f()}return o}),hI=[0,0,0,1],dI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fI={name:"shadow",dependencies:[uI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var n=e.shadowEnabled,i=void 0===n||n;return i&&e.shadowMatrices&&e.shadowMatrices.length>0?function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||hI,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},i=cI({viewport:e.viewport,center:t.project_uCenter}),r=[],o=lI({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a0?e.shadowMaps[c]:e.dummyShadowMap;return n}(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},pI={color:[255,255,255],intensity:1},vI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],gI=[0,0,0,200/255],mI=function(e){a(n,e);var t=s(n);function n(e){var i;for(var r in m(this,n),(i=t.call(this,e)).ambientLight=null,i.directionalLights=[],i.pointLights=[],i.shadowColor=gI,i.shadowPasses=[],i.shadowMaps=[],i.dummyShadowMap=null,i.shadow=!1,i.programManager=null,e){var o=e[r];switch(o.type){case"ambient":i.ambientLight=o;break;case"directional":i.directionalLights.push(o);break;case"point":i.pointLights.push(o)}}return i._applyDefaultLights(),i.shadow=i.directionalLights.some(function(e){return e.shadow}),i}return b(n,[{key:"preRender",value:function(e,t){var n=t.layers,i=t.layerFilter,r=t.viewports,o=t.onViewportActive,a=t.views;if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=BE.getDefaultProgramManager(e),fI&&this.programManager.addDefaultModule(fI)),this.dummyShadowMap||(this.dummyShadowMap=new Rx(e,{width:1,height:1}));for(var s=0;s=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,n=_(this.channels.values());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setChannelTime(i,this.time)}}catch(c){n.e(c)}finally{n.f()}var r,o=_(this.animations.values());try{for(o.s();!(r=o.n()).done;){var a=r.value,s=a.animation,u=a.channel;s.setTime(this.getTime(u))}}catch(c){o.e(c)}finally{o.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var n=bI++;return this.animations.set(n,{animation:e,channel:t}),e.setTime(this.getTime(t)),n}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var n=t-e.delay;n>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,n)%e.duration,e.time*=e.rate)}}]),e}(),wI=function(){function e(t,n,i){m(this,e),this.id=t,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(n)}return b(e,[{key:"subscribe",value:function(e){this._subscribers.add(e)}},{key:"unsubscribe",value:function(e){this._subscribers.delete(e)}},{key:"inUse",value:function(){return this._subscribers.size>0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(function(){return e.getData()})}},{key:"setData",value:function(e,t){var n=this;if(e!==this._data||t){this._data=e;var i=++this._loadCount,r=e;"string"==typeof e&&(r=rM(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=null,n._content=e)}).catch(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=e||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=_(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(s){a.e(s)}finally{a.f()}}}}]),e}(),kI=function(){function e(t){var n=t.gl,i=t.protocol;m(this,e),this.protocol=i||"resource://",this._context={gl:n,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return b(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,n=e.data,i=e.forceUpdate,r=void 0!==i&&i,o=e.persistent,a=void 0===o||o,s=this._resources[t];s?s.setData(n,r):(s=new wI(t,n,this._context),this._resources[t]=s),s.persistent=a}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,n=this._consumers[t];if(n){for(var i in n){var r=n[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,n=e.onChange,i=e.consumerId,r=e.requestId,o=void 0===r?"default":r,a=this._resources,s=this.protocol;t.startsWith(s)&&(a[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));var u=a[t];if(this._track(i,o,u,n),u)return u.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout(function(){return e._prune()},0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,n,i){var r=this._consumers,o=r[e]=r[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),n&&(o[t]=a,a.onChange=i,a.resource=n,n.subscribe(a))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e1&&void 0!==arguments[1]?arguments[1]:{},i=n.deck,r=n.stats,o=n.viewport,a=n.timeline;m(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new kI({gl:t,protocol:"deck://"}),this.context=I(M({},EI),{layerManager:this,gl:t,deck:i,programManager:t&&CI(t),stats:r||new nx({id:"deck.gl"}),viewport:o||new wT({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:a||new _I,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return b(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=_(this.layers);try{for(t.s();!(e=t.n()).done;){var n=e.value;this._finalizeLayer(n)}}catch(i){t.e(i)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n,i=_(this.layers);try{for(i.s();!(n=i.n()).done;){var r=n.value,o=r.getNeedsRedraw(e);t=t||o}}catch(a){i.e(a)}finally{i.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,n=void 0===t?null:t;return n?this.layers.filter(function(e){return n.find(function(t){return 0===e.id.indexOf(t)})}):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){hC("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e;var n,i=_(e=$S(e,Boolean));try{for(i.s();!(n=i.n()).done;){n.value.context=this.context}}catch(r){i.e(r)}finally{i.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return hC("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,n){n.raiseError(t,"".concat(e," of ").concat(n))}},{key:"_updateLayers",value:function(e,t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;i[o.id]?ik.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o}}catch(l){r.e(l)}finally{r.f()}var a=[];this._updateSublayersRecursively(t,i,a),this._finalizeOldLayers(i);for(var s=!1,u=0,c=a;u0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter(function(t){return t.containsPixel(e)}):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach(function(t){e[t.id]=t}),e}},{key:"getView",value:function(e){return"string"==typeof e?this.views.find(function(t){return t.id===e}):e}},{key:"getViewState",value:function(e){var t=this.getView(e),n=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(n):n}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var n=this.getViewports(),i={x:e[0],y:e[1]},r=n.length-1;r>=0;--r){var o=n[r];if(o.containsPixel(i)){var a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=$S(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!gM(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):ik.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(M({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,n,i){var r=e.controller;return r?(r=I(M(M(M({},t),e.props),r),{id:e.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(e,r),i):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,n=this.views,i=this.controllers;this._viewports=[],this.controllers={};for(var r=!1,o=n.length;o--;){var a=n[o],s=this.getViewState(a),u=a.makeViewport({width:e,height:t,viewState:s}),c=i[a.id];a.controller&&!c&&(r=!0),(r||!a.controller)&&c&&(c.finalize(),c=null),this.controllers[a.id]=this._updateController(a,s,u,c),this._viewports.unshift(u)}for(var l in i)i[l]&&!this.controllers[l]&&i[l].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach(function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)})}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some(function(n,i){return!e[i].equals(t[i])})}}]),e}(),PI=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.makeViewport,o=i.width,a=i.height,s=i.latitude,u=i.longitude,c=i.zoom,l=i.bearing,h=void 0===l?0:l,d=i.pitch,f=void 0===d?0:d,p=i.altitude,v=void 0===p?1.5:p,g=i.maxZoom,y=void 0===g?20:g,b=i.minZoom,_=void 0===b?0:b,w=i.maxPitch,k=void 0===w?60:w,x=i.minPitch,S=void 0===x?0:x,C=i.startPanLngLat,E=i.startZoomLngLat,O=i.startRotatePos,T=i.startBearing,P=i.startPitch,A=i.startZoom,M=i.normalize;return m(this,n),WS(Number.isFinite(u)),WS(Number.isFinite(s)),WS(Number.isFinite(c)),(e=t.call(this,{width:o,height:a,latitude:s,longitude:u,zoom:c,bearing:h,pitch:f,altitude:v,maxZoom:y,minZoom:_,maxPitch:k,minPitch:S,normalize:M}))._state={startPanLngLat:C,startZoomLngLat:E,startRotatePos:O,startBearing:T,startPitch:P,startZoom:A},e.makeViewport=r,e}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanLngLat:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPos,i=this._state.startPanLngLat||this._unproject(n);if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanLngLat:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startBearing,l=s.startPitch;return u&&Number.isFinite(c)&&Number.isFinite(l)?(t=n?this._calculateNewPitchAndBearing(I(M({},this._getRotationParams(n,u)),{startBearing:c,startPitch:l})):{bearing:c+r,pitch:l+a},this._getUpdatedState(t)):this}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._state,o=r.startZoom,a=r.startZoomLngLat;Number.isFinite(o)||(o=this._viewportProps.zoom,a=this._unproject(n)||this._unproject(t));var s=this._calculateNewZoom({scale:i,startZoom:o}),u=this.makeViewport(I(M({},this._viewportProps),{zoom:s}));return this._getUpdatedState(M({zoom:s},u.panByPosition(a,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.bearing,r=n.longitude;return Math.abs(i-t.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-t.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.zoom({pos:[n/2,i/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.pan({startPos:[n/2,i/2],pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(M(M(M({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom;e.zoom=hS(i,n,t);var r=e.maxPitch,o=e.minPitch,a=e.pitch;e.pitch=hS(a,o,r);var s=e.normalize;return(void 0===s||s)&&Object.assign(e,function(e){var t=e.width,n=e.height,i=e.longitude,r=e.latitude,o=e.zoom,a=e.pitch,s=void 0===a?0:a,u=e.bearing,c=void 0===u?0:u;(i<-180||i>180)&&(i=ZO(i+180,360)-180),(c<-180||c>180)&&(c=ZO(c+180,360)-180);var l=eT(n/512);if(o<=l)o=l,r=0;else{var h=n/2/Math.pow(2,o),d=cT([0,h])[1];if(rf&&(r=f)}}return{width:t,height:n,longitude:i,latitude:r,zoom:o,pitch:s,bearing:c}}(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return hS(n+Math.log2(t),o,r)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,n=e.deltaScaleY,i=e.startBearing,r=e.startPitch;n=hS(n,-1,1);var o=this._viewportProps,a=o.minPitch,s=o.maxPitch,u=r;return n>0?u=r+n*(s-r):n<0&&(u=r-n*(a-r)),{pitch:u,bearing:i+180*t}}},{key:"_getRotationParams",value:function(e,t){var n=e[0]-t[0],i=e[1]-t[1],r=e[1],o=t[1],a=this._viewportProps,s=a.width,u=a.height,c=n/s,l=0;return i>0?Math.abs(u-o)>5&&(l=i/(o-u)*1.2):i<0&&o>5&&(l=1-r/o),{deltaScaleX:c,deltaScaleY:l=Math.min(1,Math.max(-1,l))}}}]),n}(DM),AI=function(t){a(i,t);var n=s(i);function i(e){return m(this,i),e.dragMode=e.dragMode||"pan",n.call(this,PI,e)}return b(i,[{key:"setProps",value:function(t){var n=this.controllerStateProps;e(p(i.prototype),"setProps",this).call(this,t),(!n||n.height!==t.height)&&this.updateViewport(new this.ControllerState(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch"]}}]),i}(RM),MI=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:kT}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:AI})}}]),n}(mM);return e.displayName="MapView",e}(),II=new mI,RI=function(){function e(){m(this,e),this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}return b(e,[{key:"setProps",value:function(e){"effects"in e&&(e.effects.length!==this.effects.length||!gM(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._createInternalEffects()}},{key:"cleanup",value:function(){var e,t=_(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(r){t.e(r)}finally{t.f()}var n,i=_(this._internalEffects);try{for(i.s();!(n=i.n()).done;){n.value.cleanup()}}catch(r){i.e(r)}finally{i.f()}this.effects.length=0,this._internalEffects.length=0}},{key:"_createInternalEffects",value:function(){this._internalEffects=this.effects.slice(),this.effects.some(function(e){return e instanceof mI})||this._internalEffects.push(II)}}]),e}(),DI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(tI),NI={blendFunc:[1,0,32771,0],blendEquation:32774},LI=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"render",value:function(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,e(p(i.prototype),"render",this).call(this,t))}},{key:"_drawPickingBuffer",value:function(t){var n=this,r=t.layers,o=t.layerFilter,a=t.views,s=t.viewports,u=t.onViewportActive,c=t.pickingFBO,l=t.deviceRect,h=l.x,d=l.y,f=l.width,v=l.height,g=t.pass,m=void 0===g?"picking":g,y=t.redrawReason,b=t.pickZ,_=this.gl;return this.pickZ=b,Hk(_,I(M({scissorTest:!0,scissor:[h,d,f,v],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},NI),{blend:!b}),function(){e(p(i.prototype),"render",n).call(n,{target:c,layers:r,layerFilter:o,views:a,viewports:s,onViewportActive:u,pass:m,redrawReason:y})})}},{key:"shouldDrawLayer",value:function(e){return e.props.pickable}},{key:"getModuleParameters",value:function(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}},{key:"getLayerParameters",value:function(e,t){var n=this.pickZ?{blend:!1}:I(M({},NI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return M(M({},e.props.parameters),n)}}]),i}(tI),jI=function(){function e(t){m(this,e),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new DI(t),this.pickLayersPass=new LI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}},{key:"renderLayers",value:function(e){var t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||$x.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);var n=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,i=t.render(I(M({},e),{target:n}));this._postRender(e.effects,e),this.renderCount++,hC("deckRenderer.renderLayers",this,i,e)}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,n=_(t);try{for(n.s();!(e=n.n()).done;){e.value.delete()}}catch(i){n.e(i)}finally{n.f()}t.length=0}},{key:"_preRender",value:function(e,t){var n,i=null,r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.preRender(this.gl,t),o.postRender&&(i=o)}}catch(a){r.e(a)}finally{r.f()}i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new $x(this.gl),new $x(this.gl));var t,n=_(e);try{for(n.s();!(t=n.n()).done;){t.value.resize()}}catch(i){n.e(i)}finally{n.f()}}},{key:"_postRender",value:function(e,t){var n,i=this.renderBuffers,r={inputBuffer:i[0],swapBuffer:i[1],target:null},o=_(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.postRender){if(a===this.lastPostProcessEffect){r.target=t.target,a.postRender(this.gl,r);break}var s=a.postRender(this.gl,r);r.inputBuffer=s,r.swapBuffer=s===i[0]?i[1]:i[0]}}}catch(u){o.e(u)}finally{o.f()}}}]),e}(),FI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function BI(e){var t=e.pickedColors,n=e.layers,i=e.deviceX,r=e.deviceY,o=e.deviceRadius,a=e.deviceRect;if(t){for(var s=a.x,u=a.y,c=a.width,l=a.height,h=o*o,d=-1,f=0,p=0;ph)f+=4*c;else for(var m=0;m=0){var y=m+s-i,b=y*y+g;b<=h&&(h=b,d=f)}f+=4}}if(d>=0){var _=t[d+3]-1,w=t.slice(d,d+4),k=n[_];if(k){var x=k.decodePickingColor(w),S=Math.floor(d/4/c);return{pickedColor:w,pickedLayer:k,pickedObjectIndex:x,pickedX:s+(d/4-S*c),pickedY:u+S}}ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return FI}function VI(e){var t=e.pickInfo,n=e.mode,i=e.viewports,r=e.layerFilter,o=e.pixelRatio,a=e.x,s=e.y,u=e.z,c=t&&t.pickedLayer,l=function(e,t,n){for(var i=e.length-1;i>=0;i--){var r=e[i];if(r.containsPixel(t)&&(!n||n(r)))return r}return e[0]}(i,{x:a,y:s},r&&c&&function(e){return r({layer:c,viewport:e,isPicking:!0,renderPass:"picking:".concat(n)})}),h=l&&l.unproject([a-l.x,s-l.y],{targetZ:u});return{color:null,layer:null,viewport:l,index:-1,picked:!1,x:a,y:s,pixel:[a,s],coordinate:h,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:o}}function zI(e){var t=e.pickInfo,n=e.lastPickedInfo,i=e.mode,r=e.layers,o=t.pickedColor,a=t.pickedLayer,s=t.pickedObjectIndex,u=a?[a]:[];if("hover"===i){var c=n.index,l=n.layerId,h=a&&a.props.id;if(h!==l||s!==c){if(h!==l){var d=r.find(function(e){return e.props.id===l});d&&u.unshift(d)}n.layerId=h,n.index=s,n.info=null}}var f=VI(e),p=new Map;return p.set(null,f),u.forEach(function(e){var t=M({},f);e===a&&(t.color=o,t.index=s,t.picked=!0),t=UI({layer:e,info:t,mode:i}),e===a&&"hover"===i&&(n.info=t),p.set(t.layer.id,t),"hover"===i&&t.layer.updateAutoHighlight(t)}),p}function UI(e){for(var t=e.layer,n=e.info,i=e.mode;t&&n;){var r=n.layer||null;n.sourceLayer=r,n.layer=t,n=t.getPickingInfo({info:n,mode:i,sourceLayer:r}),t=t.parent}return n}var HI=function(){function e(t){m(this,e),this.gl=t,this.pickingFBO=null,this.pickLayersPass=new LI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}},{key:"finalize",value:function(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}},{key:"pickObject",value:function(e){return this._pickClosestObject(e)}},{key:"pickObjects",value:function(e){return this._pickVisibleObjects(e)}},{key:"getLastPickedObject",value:function(e){var t=e.x,n=e.y,i=e.layers,r=e.viewports,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,u=a?i.find(function(e){return e.id===a}):null,c=s&&r.find(function(e){return e.id===s})||r[0],l=c&&c.unproject([t-c.x,n-c.y]),h={x:t,y:n,viewport:c,coordinate:l,layer:u};return u?M(M({},o),h):Object.assign(h,{color:null,object:null,index:-1})}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new $x(e),$x.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new $x(e),this.depthFBO.attach({36064:new Rx(e,{format:lk(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter(function(e){return e.isPickable()&&!e.isComposite});return t.length>255?(ik.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.x,o=e.y,a=e.radius,s=void 0===a?0:a,u=e.depth,c=void 0===u?1:u,l=e.mode,h=void 0===l?"query":l,d=e.unproject3D,f=e.onViewportActive;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:VI({viewports:i,x:r,y:o})};this._resizeBuffer();for(var p,v=Wk(this.gl),g=qk(this.gl,[r,o],!0),m=[g.x+Math.floor(g.width/2),g.y+Math.floor(g.height/2)],y=Math.round(s*v),b=this.pickingFBO,w=b.width,k=b.height,x=this._getPickingRect({deviceX:m[0],deviceY:m[1],deviceRadius:y,deviceWidth:w,deviceHeight:k}),S=[],C={},E=0;E=0){var a=t.slice(r,r+4),s=a.join(",");if(!i.has(s)){var u=n[o];u?i.set(s,{pickedColor:a,pickedLayer:u,pickedObjectIndex:u.decodePickingColor(a)}):ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(i.values())}({pickedColors:this._drawAndSample({layers:t,views:n,viewports:i,onViewportActive:p,deviceRect:{x:m,y:_,width:b.x+b.width-m,height:y-_},pass:"picking:".concat(h),redrawReason:h}),layers:t}),k=new Map,x=Number.isFinite(f),S=0;S=f);S++){var C=w[S],E={color:C.pickedColor,layer:null,index:C.pickedObjectIndex,picked:!0,x:r,y:o,width:s,height:c,pixelRatio:v};E=UI({layer:C.pickedLayer,info:E,mode:h}),k.has(E.object)||k.set(E.object,E)}return Array.from(k.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.onViewportActive,o=e.deviceRect,a=e.pass,s=e.redrawReason,u=e.pickZ;if(t.length<1)return null;var c=u?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:n,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:o,pass:a,redrawReason:s,pickZ:u});var l=o.x,h=o.y,d=o.width,f=o.height,p=new(u?Float32Array:Uint8Array)(d*f*4);return qx(c,{sourceX:l,sourceY:h,sourceWidth:d,sourceHeight:f,target:p}),p}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,n=e.deviceY,i=e.deviceRadius,r=e.deviceWidth,o=e.deviceHeight,a=Math.max(0,t-i),s=Math.max(0,n-i),u=Math.min(r,t+i+1)-a,c=Math.min(o,n+i+1)-s;return u<=0||c<=0?null:{x:a,y:s,width:u,height:c}}}]),e}(),GI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},WI=function(){function e(t){m(this,e);var n=t.parentElement;n&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,GI),n.appendChild(this.el)),this.isVisible=!1}return b(e,[{key:"setTooltip",value:function(e,t,n){var i=this.el;if("string"==typeof e)i.innerText=e;else{if(!e)return this.isVisible=!1,void(i.style.display="none");"text"in e&&(i.innerText=e.text),"html"in e&&(i.innerHTML=e.html),"className"in e&&(i.className=e.className),Object.assign(i.style,e.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(t,"px, ").concat(n,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}();function qI(e,t){if(!e)throw new Error(t)}var XI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},YI=XI.global||XI.self||XI.window,KI="object"!=typeof process||"[object process]"!==String(process)||process.browser,$I="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),QI=($I&&parseFloat($I[1]),YI)._parseImageNode,ZI="undefined"!=typeof Image,JI="undefined"!=typeof ImageBitmap,eR=Boolean(QI),tR=!!KI||eR;function nR(e){switch(function(e){var t=function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"image":e&&"object"==typeof e&&e.data&&e.width&&e.height?"data":null}(e);if(!t)throw new Error("Not an image");return t}(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}var iR=/^data:image\/svg\+xml/,rR=/\.svg((\?|#).*)?$/;function oR(e){return e&&(iR.test(e)||rR.test(e))}function aR(e,t){if(oR(t)){var n=(new TextDecoder).decode(e);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return"data:image/svg+xml;base64,".concat(btoa(n))}return sR(e,t)}function sR(e,t){if(oR(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function uR(e,t,n){return cR.apply(this,arguments)}function cR(){return(cR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=aR(t,i),o=self.URL||self.webkitURL,a="string"!=typeof r&&o.createObjectURL(r),e.prev=1,e.next=4,lR(a||r,n);case 4:return e.abrupt("return",e.sent);case 5:return e.prev=5,a&&o.revokeObjectURL(a),e.finish(5);case 8:case"end":return e.stop()}},e,null,[[1,,5,8]])}))).apply(this,arguments)}function lR(e,t){return hR.apply(this,arguments)}function hR(){return(hR=Vx(regeneratorRuntime.mark(function e(t,n){var i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((i=new Image).src=t,!(n.image&&n.image.decode&&i.decode)){e.next=8;break}return e.next=5,i.decode();case 5:e.t0=i,e.next=11;break;case 8:return e.next=10,new Promise(function(e,n){try{i.onload=function(){return e(i)},i.onerror=function(e){return n(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(r){n(r)}});case 10:e.t0=e.sent;case 11:return e.abrupt("return",e.t0);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var dR={},fR=!0;function pR(e,t,n){return vR.apply(this,arguments)}function vR(){return(vR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!oR(i)){e.next=6;break}return e.next=3,uR(t,n,i);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=sR(t,i);case 7:return r=e.t0,o=n&&n.imagebitmap,e.next=11,gR(r,o);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function gR(e){return mR.apply(this,arguments)}function mR(){return(mR=Vx(regeneratorRuntime.mark(function e(t){var n,i=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((yR(n=i.length>1&&void 0!==i[1]?i[1]:null)||!fR)&&(n=null),!n){e.next=11;break}return e.prev=2,e.next=5,createImageBitmap(t,n);case 5:return e.abrupt("return",e.sent);case 8:e.prev=8,e.t0=e.catch(2),console.warn(e.t0),fR=!1;case 11:return e.next=13,createImageBitmap(t);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}},e,null,[[2,8]])}))).apply(this,arguments)}function yR(e){for(var t in e||dR)return!1;return!0}var bR=!1,_R=!0;function wR(e){var t=kR(e);return function(e){var t=kR(e);return t.byteLength>=24&&2303741511===t.getUint32(0,bR)?{mimeType:"image/png",width:t.getUint32(16,bR),height:t.getUint32(20,bR)}:null}(t)||function(e){var t=kR(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,bR)&&255===t.getUint8(2)))return null;for(var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}(),i=n.tableMarkers,r=n.sofMarkers,o=2;o+9=10&&1195984440===t.getUint32(0,bR)?{mimeType:"image/gif",width:t.getUint16(6,_R),height:t.getUint16(8,_R)}:null}(t)||function(e){var t=kR(e);return t.byteLength>=14&&16973===t.getUint16(0,bR)&&t.getUint32(2,_R)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,_R),height:t.getUint32(22,_R)}:null}(t)}function kR(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function xR(e,t){var n=(wR(e)||{}).mimeType,i=YI._parseImageNode;return qI(i),i(e,n,t)}function SR(){return(SR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=((n=n||{}).image||{}).type||"auto",o=(i||{}).url,e.t0=CR(r),e.next="imagebitmap"===e.t0?4:"image"===e.t0?8:"data"===e.t0?12:16;break;case 4:return e.next=6,pR(t,n,o);case 6:return a=e.sent,e.abrupt("break",17);case 8:return e.next=10,uR(t,n,o);case 10:return a=e.sent,e.abrupt("break",17);case 12:return e.next=14,xR(t,n);case 14:return a=e.sent,e.abrupt("break",17);case 16:qI(!1);case 17:return e.abrupt("return",("data"===r&&(a=nR(a)),a));case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function CR(e){switch(e){case"auto":case"data":return function(){if(JI)return"imagebitmap";if(ZI)return"image";if(tR)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return JI||ZI||tR;case"imagebitmap":return JI;case"image":return ZI;case"data":return tR;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ER={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return SR.apply(this,arguments)},tests:[function(e){return Boolean(wR(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},OR=r(84761),TR={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],n=e[e.length-1];return"{"===t&&"}"===n||"["===t&&"]"===n},parseTextSync:JSON.parse},PR="8.5.8",AR=OR.CO.deck&&OR.CO.deck.VERSION;if(AR&&AR!==PR)throw new Error("deck.gl - multiple versions detected: ".concat(AR," vs ").concat(PR));AR||(ik.log(1,"deck.gl ".concat(PR))(),OR.CO.deck=Object.assign(OR.CO.deck||{},{VERSION:PR,version:PR,log:ik,_registerLoggers:function(e){lC=e}}),HA([TR,[ER,{imagebitmap:{premultiplyAlpha:"none"}}]]));var MR=OR.CO.deck,IR=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).target=null,t._queryPending=!1,t._pollingPromise=null,Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Query"}},{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,n=void 0!==t&&t;return this.begin(n?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}},{key:"end",value:function(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var n=0;return this._pollingPromise=new Promise(function(i,r){requestAnimationFrame(function o(){e.isResultAvailable()?(i(e.getResult()),e._pollingPromise=null):n++>t?(r("Timed out"),e._pollingPromise=null):requestAnimationFrame(o)})}),this._pollingPromise}},{key:"_createHandle",value:function(){return i.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}],[{key:"isSupported",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=lk(e),r=Jx(e,"TIMER_QUERY"),o=i||r,a=_(n);try{for(a.s();!(t=a.n()).done;){var s=t.value;switch(s){case"queries":o=o&&i;break;case"timers":o=o&&r;break;default:ox(!1)}}}catch(u){a.e(u)}finally{a.f()}return o}}]),i}(px,Symbol.toStringTag),RR=Gk()&&"undefined"!=typeof document,DR=0,NR=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.onCreateContext,i=void 0===n?function(e){return Zk(e)}:n,r=t.onAddHTML,o=void 0===r?null:r,a=t.onInitialize,s=void 0===a?function(){}:a,u=t.onRender,c=void 0===u?function(){}:u,l=t.onFinalize,h=void 0===l?function(){}:l,d=t.onError,f=t.gl,p=void 0===f?null:f,v=t.glOptions,g=void 0===v?{}:v,y=t.debug,b=void 0!==y&&y,_=t.createFramebuffer,w=void 0!==_&&_,k=t.autoResizeViewport,x=void 0===k||k,S=t.autoResizeDrawingBuffer,C=void 0===S||S,E=t.stats,O=void 0===E?rx.get("animation-loop-"+DR++):E,T=t.useDevicePixels,P=void 0===T||T;"useDevicePixelRatio"in t&&(sk.deprecated("useDevicePixelRatio","useDevicePixels")(),P=t.useDevicePixelRatio),this.props={onCreateContext:i,onAddHTML:o,onInitialize:s,onRender:c,onFinalize:h,onError:d,gl:p,glOptions:g,debug:b,createFramebuffer:w},this.gl=p,this.needsRedraw=null,this.timeline=null,this.stats=O,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:x,autoResizeDrawingBuffer:C,useDevicePixels:P}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return b(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return ox("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var n=this._getPageLoadPromise().then(function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=IR.isSupported(e.gl,["timers"])?new IR(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))}).then(function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())});return this.props.onError&&n.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(function(t){e._resolveNextFrame=t})),this._nextFramePromise}},{key:"toDataURL",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.setNeedsRedraw("toDataURL"),t.next=3,e.waitForRender();case 3:return t.abrupt("return",e.gl.canvas.toDataURL());case 4:case"end":return t.stop()}},t)}))()}},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=document.getElementById(e);return n?Number(n.value):t}},{key:"setViewParameters",value:function(){return sk.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(function t(){!e._running||(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))})}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=RR?new Promise(function(e,t){RR&&"complete"===document.readyState?e(document):window.addEventListener("load",function(){e(document)})}):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}(e)}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}(e)}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,n=e.height,i=e.aspect;(t!==this.animationProps.width||n!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=n,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Jk(this.props.gl,e):this.onCreateContext(e),!ck(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(e){Uk(e,Sk)})(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var n=this.props.onAddHTML(t);n&&(t.innerHTML=n)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,n=1,i=this.gl.canvas;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:e>0&&t>0&&(n=e/t),{width:e,height:t,aspect:n}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas)!function(e,t,n){var i="width"in n?n.width:e.canvas.clientWidth,r="height"in n?n.height:e.canvas.clientHeight;(!i||!r)&&(sk.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,r=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var o=e.luma.canvasSizeInfo;if(o.clientWidth!==i||o.clientHeight!==r||o.devicePixelRatio!==t){var a=t,s=Math.floor(i*a),u=Math.floor(r*a);e.canvas.width=s,e.canvas.height=u,(e.drawingBufferWidth!==s||e.drawingBufferHeight!==u)&&(sk.warn("Device pixel ratio clamped")(),a=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/r),e.canvas.width=Math.floor(i*a),e.canvas.height=Math.floor(r*a)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:t})}}(e,function(e){var t="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}(t.useDevicePixels),t);else{var n=e.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in t&&"height"in t&&n.resize(t.width,t.height)}}(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new $x(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}(),LR=r(11524),jR=r.n(LR),FR={mousedown:1,mousemove:2,mouseup:4};(function(e){var t=e.prototype.handler;e.prototype.handler=function(e){var n=this.store;e.button>0&&"pointerdown"===e.type&&(function(t,n){for(var i=0;i=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}}(jR().MouseInput);var BR=jR().Manager,VR=jR(),zR=VR?[[VR.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[VR.Rotate,{enable:!1}],[VR.Pinch,{enable:!1}],[VR.Swipe,{enable:!1}],[VR.Pan,{threshold:0,enable:!1}],[VR.Press,{enable:!1}],[VR.Tap,{event:"doubletap",taps:2,enable:!1}],[VR.Tap,{event:"anytap",enable:!1}],[VR.Tap,{enable:!1}]]:null,UR={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},HR={doubletap:["tap"]},GR={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},WR=["keydown","keyup"],qR=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],XR=["wheel","mousewheel"],YR={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},KR={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},$R="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",QR="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;var ZR=!1;try{var JR={get passive(){return ZR=!0,!0}};QR.addEventListener("test",JR,JR),QR.removeEventListener("test",JR,JR)}catch(G){}var eD=-1!==$R.indexOf("firefox"),tD=XR,nD=4.000244140625,iD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.events=tD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent,!!ZR&&{passive:!1})})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;QR.WheelEvent&&(eD&&e.deltaMode===QR.WheelEvent.DOM_DELTA_PIXEL&&(t/=QR.devicePixelRatio),e.deltaMode===QR.WheelEvent.DOM_DELTA_LINE&&(t*=40));var n={x:e.clientX,y:e.clientY};0!==t&&t%nD==0&&(t=Math.floor(t/nD)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,n)}}},{key:"_onWheel",value:function(e,t,n){this.callback({type:"wheel",center:n,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),rD=qR,oD="pointermove",aD="pointerover",sD="pointerout",uD="pointerleave",cD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.pressed=!1,this.options=Object.assign({enable:!0},r),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=rD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===oD&&(this.enableMoveEvent=t),e===aD&&(this.enableOverEvent=t),e===sD&&(this.enableOutEvent=t),e===uD&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:aD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:sD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:uD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:oD,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),lD=WR,hD="keydown",dD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=lD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=r.tabIndex||0,t.style.outline="none",this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===hD&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:hD,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),fD="contextmenu",pD=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return b(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){e===fD&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){!this.options.enable||this.callback({type:fD,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),vD={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},gD={srcElement:"root",priority:0},mD=function(){function e(t){m(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return b(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.handlers,a=this.handlersByElement;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},gD,n):gD;var s=a.get(n.srcElement);s||(s=[],a.set(n.srcElement,s));var u={type:e,handler:t,srcElement:n.srcElement,priority:n.priority};i&&(u.once=!0),r&&(u.passive=!0),o.push(u),this._active=this._active||!u.passive;for(var c=s.length-1;c>=0&&!(s[c].priority>=u.priority);)c--;s.splice(c+1,0,u)}},{key:"remove",value:function(e,t){for(var n=this.handlers,i=this.handlersByElement,r=n.length-1;r>=0;r--){var o=n[r];if(o.type===e&&o.handler===t){n.splice(r,1);var a=i.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&i.delete(o.srcElement)}}this._active=n.some(function(e){return!e.passive})}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),n=e.srcEvent.target;n&&n!==t.rootElement;){if(this._emit(t,n),t.handled)return;n=n.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var n=this.handlersByElement.get(t);if(n){for(var i=!1,r=function(){e.handled=!0},o=function(){e.handled=!0,i=!0},a=[],s=0;s0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.options=Object.assign({},yD,n),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var i=n.events;i&&this.on(i)}return b(e,[{key:"setElement",value:function(e){var n=this;if(this.element&&this.destroy(),this.element=e,e){var i=this.options;for(var r in this.manager=new(0,i.Manager)(e,{touchAction:i.touchAction,recognizers:i.recognizers||zR}).on("hammer.input",this._onBasicInput),i.recognizers||Object.keys(UR).forEach(function(e){var t=n.manager.get(e);t&&UR[e].forEach(function(e){t.recognizeWith(e)})}),i.recognizerOptions){var o=this.manager.get(r);if(o){var a=i.recognizerOptions[r];delete a.enable,o.set(a)}}this.wheelInput=new iD(e,this._onOtherEvent,{enable:!1}),this.moveInput=new cD(e,this._onOtherEvent,{enable:!1}),this.keyInput=new dD(e,this._onOtherEvent,{enable:!1,tabIndex:i.tabIndex}),this.contextmenuInput=new pD(e,this._onOtherEvent,{enable:!1});var s,u=_(this.events);try{for(u.s();!(s=u.n()).done;){var c=t(s.value,2),l=c[0],h=c[1];h.isEmpty()||(this._toggleRecognizer(h.recognizerName,!0),this.manager.on(l,h.handleEvent))}}catch(d){u.e(d)}finally{u.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,n){this._addEventHandler(e,t,n,!1)}},{key:"once",value:function(e,t,n){this._addEventHandler(e,t,n,!0)}},{key:"watch",value:function(e,t,n){this._addEventHandler(e,t,n,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var n=this.manager;if(n){var i=n.get(e);if(i&&i.options.enable!==t){i.set({enable:t});var r=HR[e];r&&!this.options.recognizers&&r.forEach(function(r){var o=n.get(r);t?(o.requireFailure(e),i.dropRequireFailure(r)):o.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,n,i,r){if("string"==typeof e){var o=this.manager,a=this.events,s=KR[e]||e,u=a.get(s);u||(u=new mD(this),a.set(s,u),u.recognizerName=YR[s]||s,o&&o.on(s,u.handleEvent)),u.add(e,t,n,i,r),u.isEmpty()||this._toggleRecognizer(u.recognizerName,!0)}else for(var c in n=t,e)this._addEventHandler(c,e[c],n,i,r)}},{key:"_removeEventHandler",value:function(e,t){if("string"==typeof e){var n=this.events,i=n.get(KR[e]||e);if(i&&(i.remove(e,t),i.isEmpty())){var r,o=i.recognizerName,a=!1,s=_(n.values());try{for(s.s();!(r=s.n()).done;){var u=r.value;if(u.recognizerName===o&&!u.isEmpty()){a=!0;break}}}catch(l){s.e(l)}finally{s.f()}a||this._toggleRecognizer(o,!1)}}else for(var c in e)this._removeEventHandler(c,e[c])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,n=GR[t.type];n&&this.manager.emit(n,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}();function _D(){}var wD={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:_D,onResize:_D,onViewStateChange:_D,onInteractionStateChange:_D,onBeforeRender:_D,onAfterRender:_D,onLoad:_D,onError:function(e,t){return ik.error(e)()},_onMetrics:null,getCursor:function(e){return e.isDragging?"grabbing":"grab"},debug:!1,drawPickingColors:!1},kD=function(){function e(t){m(this,e),t=M(M({},wD),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&ik.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,OR.qs)()&&ik.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new nx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&nS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return b(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&ik.removed("onLayerHover","onHover")(),"onLayerClick"in e&&ik.removed("onLayerClick","onClick")(),e.initialViewState&&!gM(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n=this.viewManager.needsRedraw(e),i=this.layerManager.needsRedraw(e),r=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||n||i||r||o}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in e)this.layerManager.resourceManager.add({resourceId:n,data:e[n],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value;this.layerManager.resourceManager.remove(i)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_pick",value:function(e,t,n){var i=this.stats;i.get("Pick Count").incrementCount(),i.get(t).timeStart();var r=this.deckPicker[e](M({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(t).timeEnd(),r}},{key:"_createCanvas",value:function(e){var t=e.canvas;return"string"==typeof t&&WS(t=document.getElementById(t)),t||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,n=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,n=e.clientHeight||e.height;return(t!==this.width||n!==this.height)&&(this.width=t,this.height=n,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,n=e.width,i=e.height,r=e.gl,o=e.glOptions,a=e.debug,s=e.onError,u=e.onBeforeRender,c=e.onAfterRender,l=e.useDevicePixels,h=e.autoResizeDrawingBuffer;return new NR({width:n,height:i,useDevicePixels:l,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:function(e){return Zk(I(M(M({},o),e),{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:u,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new MI({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var n=e.offsetCenter;if(!n)return;t.x=n.x,t.y=n.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),n=t.result,i=t.emptyInfo;this.interactiveState.isHovering=n.length>0;var r,o=i,a=!1,s=_(n);try{for(s.s();!(r=s.n()).done;){var u=r.value;o=u,a=u.layer.onHover(u,e.event)}}catch(l){s.e(l)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Jk(e,{enable:!0,copyState:!0})),this.tooltip=new WI(this.canvas),Uk(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new _I;for(var n in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bD(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),ak)this.eventManager.on(n,this._onEvent);this.viewManager=new TI({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var i=this.viewManager.getViewports()[0];this.layerManager=new OI(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new RI,this.deckRenderer=new jI(e),this.deckPicker=new HI(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var n=this.layerManager.context.gl;Uk(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(M({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:n})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),ik.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=I(M({},this.viewState),o({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=ak[e.type],n=e.offsetCenter;if(t&&n){var i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),o=r.layer,a=o&&(o[t.handler]||o.props[t.handler]),s=this.props[t.handler],u=!1;a&&(u=a.call(o,r,e)),!u&&s&&s(r,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var n=rx.get("Memory Usage");e.bufferMemory=n.get("Buffer Memory").count,e.textureMemory=n.get("Texture Memory").count,e.renderbufferMemory=n.get("Renderbuffer Memory").count,e.gpuMemory=n.get("GPU Memory").count}}]),e}();kD.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(eI)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},kD.defaultProps=wD,kD.VERSION=MR.VERSION;var xD={name:"project32",dependencies:[uI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},SD={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},CD=M({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:SD,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var n=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=n}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var i=Array.from(e.pickingHighlightColor,function(e){return e/255});Number.isFinite(i[3])||(i[3]=1),t.picking_uHighlightColor=i}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}}),ED={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},OD=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?cx("geometry"):n,r=t.drawMode,o=void 0===r?ED.TRIANGLES:r,a=t.attributes,s=void 0===a?{}:a,u=t.indices,c=void 0===u?null:u,l=t.vertexCount,h=void 0===l?null:l;this.id=i,this.drawMode=0|o,this.attributes={},this.userData={},this._setAttributes(s,c),this.vertexCount=h||this._calculateVertexCount(this.attributes,this.indices)}return b(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?M({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(e){return"Geometry ".concat(this.id," attribute ").concat(e)}},{key:"_setAttributes",value:function(e,t){for(var n in t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t),e){var i=e[n];i=ArrayBuffer.isView(i)?{value:i}:i,ox(ArrayBuffer.isView(i.value),"".concat(this._print(n),": must be typed array or object with value as typed array")),("POSITION"===n||"positions"===n)&&!i.size&&(i.size=3),"indices"===n?(ox(!this.indices),this.indices=i):this.attributes[n]=i}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}},{key:"_calculateVertexCount",value:function(e,t){if(t)return t.value.length;var n=1/0;for(var i in e){var r=e[i],o=r.value,a=r.size;!r.constant&&o&&a>=1&&(n=Math.min(n,o.length/a))}return ox(Number.isFinite(n)),n}}],[{key:"DRAW_MODE",get:function(){return ED}}]),e}(),TD=function(){},PD={10241:9987,10240:9729,10242:33071,10243:33071};function AD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function MD(e){return e&&(e.id||e.url)}function ID(e,t,n){for(var i=0;i0){var n=function(e){for(var t=e.icons,n=e.buffer,i=e.mapping,r=void 0===i?{}:i,o=e.xOffset,a=void 0===o?0:o,s=e.yOffset,u=void 0===s?0:s,c=e.rowHeight,l=void 0===c?0:c,h=e.canvasWidth,d=[],f=0;fh&&(ID(r,d,u),a=0,u=l+u+n,l=0,d=[]),d.push({icon:p,xOffset:a}),a=a+g+n,l=Math.max(l,v)}}return d.length>0&&ID(r,d,u),{mapping:r,rowHeight:l,xOffset:a,yOffset:u,canvasWidth:h,canvasHeight:AD(l+u+n)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),i=n.mapping,r=n.xOffset,o=n.yOffset,a=n.rowHeight,s=n.canvasHeight;this._rowHeight=a,this._mapping=i,this._xOffset=r,this._yOffset=o,this._canvasHeight=s,this._texture||(this._texture=new Rx(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:PD})),this._texture.height!==this._canvasHeight&&(this._texture=function(e,t,n,i){var r=t.width,o=t.height,a=Gx(t,{width:n,height:i});return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.sourceX,r=void 0===i?0:i,o=n.sourceY,a=void 0===o?0:o,s=n.targetMipmaplevel,u=void 0===s?0:s,c=n.targetInternalFormat,l=void 0===c?6408:c,h=n.targetX,d=n.targetY,f=n.targetZ,p=n.width,v=n.height,g=Yx(e),m=g.framebuffer,y=g.deleteFramebuffer;ox(m);var b=m.gl,_=m.handle,w=void 0!==h||void 0!==d||void 0!==f;h=h||0,d=d||0,f=f||0;var k=b.bindFramebuffer(36160,_);ox(t);var x=null;if(t instanceof Mx&&(x=t,p=Number.isFinite(p)?p:x.width,v=Number.isFinite(v)?v:x.height,x.bind(0),t=x.target),w)switch(t){case 3553:case 34067:b.copyTexSubImage2D(t,u,h,d,r,a,p,v);break;case 35866:case 32879:dk(b).copyTexSubImage3D(t,u,h,d,f,r,a,p,v)}else b.copyTexImage2D(t,u,l,r,a,p,v,0);x&&x.unbind(),b.bindFramebuffer(36160,k||null),y&&m.delete()}(t,a,{targetY:0,width:r,height:o}),t.delete(),a}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}},{key:"_loadIcons",value:function(e){var t,n=this,i=this._canvas.getContext("2d"),r=_(e);try{var o=function(){var e=t.value;n._pendingCount++,rM(e.url,ER,n._loadOptions).then(function(t){var r=MD(e),o=n._mapping[r],a=o.x,s=o.y,u=o.width,c=o.height,l=function(e,t,n,i){return n===t.width&&i===t.height?t:(e.canvas.height=i,e.canvas.width=n,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,n,i),e.canvas)}(i,t,u,c);n._texture.setSubImageData({data:l,x:a,y:s,width:u,height:c}),n._texture.generateMipmap(),n.onUpdate()}).catch(function(t){n.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:n._loadOptions,error:t})}).finally(function(){n._pendingCount--})};for(r.s();!(t=r.n()).done;)o()}catch(a){r.e(a)}finally{r.f()}}}]),e}(),DD=[0,0,0,255],ND={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:function(e){return e.position}},getIcon:{type:"accessor",value:function(e){return e.icon}},getColor:{type:"accessor",value:DD},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}},LD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.state={iconManager:new RD(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:DD},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}},{key:"updateState",value:function(t){var n=t.oldProps,r=t.props,o=t.changeFlags;e(p(i.prototype),"updateState",this).call(this,{props:r,oldProps:n,changeFlags:o});var a=this.getAttributeManager(),s=r.iconAtlas,u=r.iconMapping,c=r.data,l=r.getIcon,h=this.state.iconManager;h.setProps({loadOptions:r.loadOptions});var d=!1;if(s||this.internalState.isAsyncPropLoading("iconAtlas")?(n.iconAtlas!==r.iconAtlas&&h.setProps({iconAtlas:s,autoPacking:!1}),n.iconMapping!==r.iconMapping&&(h.setProps({iconMapping:u}),d=!0)):h.setProps({autoPacking:!0}),(o.dataChanged||o.updateTriggersChanged&&(o.updateTriggersChanged.all||o.updateTriggersChanged.getIcon))&&h.setProps({data:c,getIcon:l}),d&&(a.invalidate("instanceOffsets"),a.invalidate("instanceIconFrames"),a.invalidate("instanceColorModes")),o.extensionsChanged){var f,v=this.context.gl;null===(f=this.state.model)||void 0===f||f.delete(),this.state.model=this._getModel(v),a.invalidateAll()}}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.state.iconManager.isLoaded}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.iconManager.finalize()}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,i=n.sizeScale,r=n.sizeMinPixels,o=n.sizeMaxPixels,a=n.sizeUnits,s=n.billboard,u=n.alphaCutoff,c=this.state.iconManager,l=this.context.viewport,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===a?l.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:o,billboard:s,alphaCutoff:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}},{key:"_onUpdate",value:function(){this.setNeedsRedraw()}},{key:"_onError",value:function(e){var t=this.getCurrentLayer().props.onIconError;t?t(e):ik.error(e.error)()}},{key:"getInstanceOffset",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.width/2-t.anchorX||0,t.height/2-t.anchorY||0]}},{key:"getInstanceColorMode",value:function(e){return this.state.iconManager.getIconMapping(e).mask?1:0}},{key:"getInstanceIconFrame",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.x||0,t.y||0,t.width||0,t.height||0]}}]),i}(hM);return t.layerName="IconLayer",t.defaultProps=ND,t}(),jD=[],FD={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}},BD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return I(M({},e(p(i.prototype),"getShaders",this).call(this)),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var t=this;e(p(i.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(e,n){var i=n.index,r=n.target;return t.encodePickingColor(i,r)}}})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps,o=n.outlineColor;o!==r.outlineColor&&((o=o.map(function(e){return e/255}))[3]=Number.isFinite(o[3])?o[3]:1,this.setState({outlineColor:o})),!n.sdf&&n.outlineWidth&&ik.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(t){var n=this.props,r=n.sdf,o=n.smoothing,a=n.outlineWidth,s=this.state.outlineColor;t.uniforms=I(M({},t.uniforms),{buffer:.75,outlineBuffer:a?Math.max(o,.75*(1-a)):-1,gamma:o,sdf:Boolean(r),outlineColor:s}),e(p(i.prototype),"draw",this).call(this,t)}},{key:"getInstanceOffset",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceOffset",n).call(n,t)}):jD}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceIconFrame",n).call(n,t)}):jD}}]),i}(LD);return t.layerName="MultiIconLayer",t.defaultProps=FD,t}(),VD=r(51002),zD=r.n(VD),UD=[];function HD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function GD(e,t,n,i){for(var r=0,o=t;oi&&(a4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;void 0===o&&(o=e.length);var a=[];return"break-all"===t?WD(e,r,o,n,i,a):function(e,t,n,i,r,o){for(var a=t,s=t,u=t,c=0,l=t;ls){var h=GD(e,s,u,r);c+h>i&&(ai&&(h=WD(e,s,u,i,r,o),a=o[o.length-1])),s=u,c+=h}}(e,r,o,n,i,a),a}function XD(e,t,n,i,r,o){for(var a=0,s=0,u=t;u0,l=[0,0],h=[],d=0,f=0,p=0,v=0;v<=o;v++){var g=e[v];if(("\n"===g||v===o)&&(p=v),p>f){for(var m=c?qD(e,n,i,r,f,p):UD,y=0;y<=m.length;y++){var b=0===y?f:m[y-1],_=y0&&void 0!==arguments[0]?arguments[0]:5;m(this,e),this.limit=t,this.clear()}return b(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex(function(t){return t===e});t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}())(3),ZD=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function JD(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};ZD.forEach(function(n){n in t&&(e.props[n]=t[n])});var n=this._key;this._key=this._getKey();var i=function(e,t){var n=QD.get(e);if(!n)return t;var i=[],r=Object.keys(n.mapping);r=new Set(r);var o=t;return o instanceof Array&&(o=new Set(o)),o.forEach(function(e){r.has(e)||i.push(e)}),i}(this._key,this.props.characterSet),r=QD.get(this._key);if(r&&0===i.length)this._key!==n&&(this._atlas=r);else{var o=this._generateFontAtlas(this._key,i,r);this._atlas=o,QD.set(this._key,o)}}},{key:"_generateFontAtlas",value:function(e,t,n){var i=this.props,r=i.fontFamily,o=i.fontWeight,a=i.fontSize,s=i.buffer,u=i.sdf,c=i.radius,l=i.cutoff,h=n&&n.data;h||((h=document.createElement("canvas")).width=1024);var d=h.getContext("2d");eN(d,r,a,o);var f=function(e){var t,n=e.characterSet,i=e.getFontWidth,r=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,u=void 0===s?{}:s,c=e.xOffset,l=void 0===c?0:c,h=e.yOffset,d=void 0===h?0:h,f=0,p=l,v=0,g=_(n);try{for(g.s();!(t=g.n()).done;){var m=t.value;if(!u[m]){var y=i(m,v++);p+y+2*o>a&&(p=0,f++),u[m]={x:p+o,y:d+f*(r+2*o)+o,width:y,height:r},p+=y+2*o}}}catch(w){g.e(w)}finally{g.f()}var b=r+2*o;return{mapping:u,xOffset:p,yOffset:d+f*b,canvasHeight:HD(d+(f+1)*b)}}(M({getFontWidth:function(e){return d.measureText(e).width},fontHeight:1.2*a,buffer:s,characterSet:t,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset})),p=f.mapping,v=f.canvasHeight,g=f.xOffset,m=f.yOffset;if(h.height!==v){var y=d.getImageData(0,0,h.width,h.height);h.height=v,d.putImageData(y,0,0)}if(eN(d,r,a,o),u){var b,w=new(zD())(a,s,c,l,r,o),k=d.getImageData(0,0,w.size,w.size),x=_(t);try{for(x.s();!(b=x.n()).done;){var S=b.value;JD(w.draw(S),k),d.putImageData(k,p[S].x-s,p[S].y+s)}}catch(T){x.e(T)}finally{x.f()}}else{var C,E=_(t);try{for(E.s();!(C=E.n()).done;){var O=C.value;d.fillText(O,p[O].x,p[O].y+.9*a)}}catch(T){E.e(T)}finally{E.f()}}return{xOffset:g,yOffset:m,mapping:p,data:h,width:h.width,height:h.height}}},{key:"_getKey",value:function(){var e=this.props,t=e.fontFamily,n=e.fontWeight,i=e.fontSize,r=e.buffer,o=e.sdf,a=e.radius,s=e.cutoff;return o?"".concat(t," ").concat(n," ").concat(i," ").concat(r," ").concat(a," ").concat(s):"".concat(t," ").concat(n," ").concat(i," ").concat(r)}}]),e}(),nN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:function(e){return e.position}},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}},iN=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),o.extensionsChanged){var a,s=this.context.gl;null===(a=this.state.model)||void 0===a||a.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.context.viewport,i=this.props,r=i.billboard,o=i.sizeScale,a=i.sizeUnits,s=i.sizeMinPixels,u=i.sizeMaxPixels,c=i.getLineWidth,l=this.props.padding,h="pixels"===a?n.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:l,sizeScale:o*h,sizeMinPixels:s,sizeMaxPixels:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}]),i}(hM);return t.layerName="TextBackgroundLayer",t.defaultProps=nN,t}(),rN={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},oN={start:1,middle:0,end:-1},aN={top:1,center:0,bottom:-1},sN=[0,0,0,255],uN=["fontSize","buffer","sdf","radius","cutoff"],cN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:sN},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:KD},fontFamily:$D,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:sN},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:function(e){return e.text}},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:sN},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}},lN=function(){var e=function(e){a(i,e);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"initializeState",value:function(){this.state={styleVersion:0,fontAtlasManager:new tN}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,i=e.changeFlags,r=this.state.characterSet;(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getText))&&this._updateText();var o=r!==this.state.characterSet||this._fontChanged(n,t);o&&this._updateFontAtlas(n,t),(o||t.lineHeight!==n.lineHeight||t.wordBreak!==n.wordBreak||t.maxWidth!==n.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}},{key:"getPickingInfo",value:function(e){var t=e.info;return t.object=t.index>=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var n=t.fontSettings,i=t.fontFamily,r=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(I(M(M({},rN),n),{characterSet:s,fontFamily:i,fontWeight:r}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var n=e.fontSettings||{},i=t.fontSettings||{};return uN.some(function(e){return n[e]!==i[e]})}},{key:"_updateText",value:function(){var e,t=this.props,n=t.data,i=t.characterSet,r=n.attributes&&n.attributes.getText,o=this.props.getText,a=n.startIndices,s="auto"===i&&new Set;if(r&&a){var u=function(e){var t=e.value,n=e.length,i=e.stride,r=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,u=i?i/s:1,c=r?r/s:0,l=o[n]||Math.ceil((t.length-c)/u),h=a&&new Set,d=new Array(n),f=t;if(u>1||c>0){f=new t.constructor(l);for(var p=0;p0&&void 0!==arguments[0]?arguments[0]:{},t=e.color,n=void 0===t?[0,0,0]:t,i=e.intensity,r=void 0===i?1:i;return n.map(function(e){return e*r/255})}var pN={name:"lights",vs:hN,fs:hN,getUniforms:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dN;if("lightSources"in t){var n=t.lightSources||{},i=n.ambientLight,r=n.pointLights,o=n.directionalLights;return i||r&&r.length>0||o&&o.length>0?Object.assign({},function(e){var t=e.ambientLight,n=e.pointLights,i=void 0===n?[]:n,r=e.directionalLights,o=void 0===r?[]:r,a={};return a["lighting_uAmbientLight.color"]=t?fN(t):[0,0,0],i.forEach(function(e,t){a["lighting_uPointLight[".concat(t,"].color")]=fN(e),a["lighting_uPointLight[".concat(t,"].position")]=e.position,a["lighting_uPointLight[".concat(t,"].attenuation")]=e.attenuation||[1,0,0]}),a.lighting_uPointLightCount=i.length,o.forEach(function(e,t){a["lighting_uDirectionalLight[".concat(t,"].color")]=fN(e),a["lighting_uDirectionalLight[".concat(t,"].direction")]=e.direction}),a.lighting_uDirectionalLightCount=o.length,a}({ambientLight:i,pointLights:r,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in t){var a,s={pointLights:[],directionalLights:[]},u=_(t.lights||[]);try{for(u.s();!(a=u.n()).done;){var c=a.value;switch(c.type){case"ambient":s.ambientLight=c;break;case"directional":s.directionalLights.push(c);break;case"point":s.pointLights.push(c)}}}catch(l){u.e(l)}finally{u.f()}return e({lightSources:s})}return{}},defines:{MAX_LIGHTS:3}},vN={},gN={name:"phong-lighting",dependencies:[pN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:vN;if(!("material"in e))return{};var t=e.material;return t?function(e){var t=e.ambient,n=void 0===t?.35:t,i=e.diffuse,r=void 0===i?.6:i,o=e.shininess,a=void 0===o?32:o,s=e.specularColor;return{lighting_uAmbient:n,lighting_uDiffuse:r,lighting_uShininess:a,lighting_uSpecularColor:(void 0===s?[30,30,30]:s).map(function(e){return e/255})}}(t):{lighting_uEnabled:!1}}},mN=Math.PI/180,yN=new Float32Array(16),bN=new Float32Array(12);function _N(e,t,n){var i=t[0]*mN,r=t[1]*mN,o=t[2]*mN,a=Math.sin(o),s=Math.sin(i),u=Math.sin(r),c=Math.cos(o),l=Math.cos(i),h=Math.cos(r),d=n[0],f=n[1],p=n[2];e[0]=d*h*l,e[1]=d*u*l,e[2]=d*-s,e[3]=f*(-u*c+h*s*a),e[4]=f*(h*c+u*s*a),e[5]=f*l*a,e[6]=p*(u*a+h*s*c),e[7]=p*(-h*a+u*s*c),e[8]=p*l*c}function wN(e){return e[0]=e[0],e[1]=e[1],e[2]=e[2],e[3]=e[4],e[4]=e[5],e[5]=e[6],e[6]=e[8],e[7]=e[9],e[8]=e[10],e[9]=e[12],e[10]=e[13],e[11]=e[14],e.subarray(0,12)}var kN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update:function(e,t){var n=t.startRow,i=t.endRow,r=this.props,o=r.data,a=r.getOrientation,s=r.getScale,u=r.getTranslation,c=r.getTransformMatrix,l=Array.isArray(c),h=l&&16===c.length,d=Array.isArray(s),f=Array.isArray(a),p=Array.isArray(u),v=h||!l&&Boolean(c(o[0]));e.constant=v?h:f&&d&&p;var g=e.value;if(e.constant){var m;v?(yN.set(c),m=wN(yN)):(_N(m=bN,a,s),m.set(u,9)),e.value=new Float32Array(m)}else{var y,b=n*e.size,w=YS(o,n,i),k=w.iterable,x=w.objectInfo,S=_(k);try{for(S.s();!(y=S.n()).done;){var C=y.value,E=void 0;x.index++,v?(yN.set(h?c:c(C,x)),E=wN(yN)):(_N(E=bN,f?a:a(C,x),d?s:s(C,x)),E.set(p?u:u(C,x),9)),g[b++]=E[0],g[b++]=E[1],g[b++]=E[2],g[b++]=E[3],g[b++]=E[4],g[b++]=E[5],g[b++]=E[6],g[b++]=E[7],g[b++]=E[8],g[b++]=E[9],g[b++]=E[10],g[b++]=E[11]}}catch(O){S.e(O)}finally{S.f()}}}};function xN(e,t){return t===rk.CARTESIAN||t===rk.METER_OFFSETS||t===rk.DEFAULT&&!e.isGeospatial}function SN(e,t){(e.COLOR_0||e.colors)&&t||(e.colors={constant:!0,value:new Float32Array([1,1,1])}),ik.assert(e.positions||e.POSITION,'no "postions" or "POSITION" attribute in mesh')}function CN(e,t){if(e.attributes)return SN(e.attributes,t),e instanceof OD?e:new OD(e);if(e.positions||e.POSITION)return SN(e,t),new OD({attributes:e});throw Error("Invalid mesh")}var EN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}},ON=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var t=!lk(this.context.gl),n={};return Zx(this.context.gl,"GLSL_DERIVATIVES")&&(n.DERIVATIVES_AVAILABLE=1),e(p(i.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[xD,gN,CD],transpileToGLSL100:t,defines:n})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:kN}),this.setState({emptyTexture:new Rx(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),n.mesh!==r.mesh||o.extensionsChanged){var a;if(null===(a=this.state.model)||void 0===a||a.delete(),n.mesh){this.state.model=this.getModel(n.mesh);var s=n.mesh.attributes||n.mesh;this.setState({hasNormals:Boolean(s.NORMAL||s.normals)})}this.getAttributeManager().invalidateAll()}n.texture!==r.texture&&this.setTexture(n.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.emptyTexture.delete()}},{key:"draw",value:function(e){var t=e.uniforms;if(this.state.model){var n=this.context.viewport,i=this.props,r=i.sizeScale,o=i.coordinateSystem,a=i._instanced;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!a||xN(n,o),flatShading:!this.state.hasNormals}).draw()}}},{key:"getModel",value:function(e){var t=new nO(this.context.gl,I(M({},this.getShaders()),{id:this.props.id,geometry:CN(e,this.props._useMeshColors),isInstanced:!0})),n=this.props.texture,i=this.state.emptyTexture;return t.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),t}},{key:"setTexture",value:function(e){var t=this.state,n=t.emptyTexture,i=t.model;null==i||i.setUniforms({sampler:e||n,hasTexture:Boolean(e)})}}]),i}(hM);return t.layerName="SimpleMeshLayer",t.defaultProps=EN,t}(),TN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[pN]},PN=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id;this.id=n||cx(this.constructor.name),this.display=!0,this.position=new FS,this.rotation=new FS,this.scale=new FS(1,1,1),this.matrix=new $O,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return b(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return ox(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return ox(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return ox(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,n=e.rotation,i=e.scale,r=e.update,o=void 0===r||r;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),o&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(n),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,n=e.rotation,i=e.scale;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){ox(e),t=t||this.matrix;var n=new $O(e).multiplyRight(t),i=n.invert(),r=i.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),AN=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t=Array.isArray(t)?{children:t}:t,o=r.children,a=void 0===o?[]:o;return sk.assert(a.every(function(e){return e instanceof PN}),"every child must an instance of ScenegraphNode"),(e=n.call(this,t)).children=a,e}return b(i,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n-1&&t.splice(n,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach(function(e){return e.delete()}),this.removeAll(),e(p(i.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.worldMatrix,o=void 0===r?new $O:r,a=new $O(o).multiplyRight(this.matrix),s=_(this.children);try{for(s.s();!(t=s.n()).done;){var u=t.value;u instanceof i?u.traverse(e,{worldMatrix:a}):e(u,{worldMatrix:a})}}catch(c){s.e(c)}finally{s.f()}}}]),i}(PN);function MN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=n[0],f=n[1],p=n[2],v=n[3],g=n[4],m=n[5],y=n[6],b=n[7],_=n[8];return e[0]=d*i+f*a+p*c,e[1]=d*r+f*s+p*l,e[2]=d*o+f*u+p*h,e[3]=v*i+g*a+m*c,e[4]=v*r+g*s+m*l,e[5]=v*o+g*u+m*h,e[6]=y*i+b*a+_*c,e[7]=y*r+b*s+_*l,e[8]=y*o+b*u+_*h,e}function IN(e,t,n){var i=n[0],r=n[1];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=r*t[3],e[4]=r*t[4],e[5]=r*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function RN(){var e=new kS(4);return kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function DN(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function NN(e,t,n){n*=.5;var i=Math.sin(n);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(n),e}function LN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=n[0],u=n[1],c=n[2],l=n[3];return e[0]=i*l+a*s+r*c-o*u,e[1]=r*l+a*u+o*s-i*c,e[2]=o*l+a*c+i*u-r*s,e[3]=a*l-i*s-r*u-o*c,e}function jN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+a*s,e[1]=r*u+o*s,e[2]=o*u-r*s,e[3]=a*u-i*s,e}function FN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u-o*s,e[1]=r*u+a*s,e[2]=o*u+i*s,e[3]=a*u-r*s,e}function BN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+r*s,e[1]=r*u-i*s,e[2]=o*u+a*s,e[3]=a*u-o*s,e}function VN(e,t){var n=t[0],i=t[1],r=t[2];return e[0]=n,e[1]=i,e[2]=r,e[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),e}function zN(e,t,n,i){var r,o,a,s,u,c=t[0],l=t[1],h=t[2],d=t[3],f=n[0],p=n[1],v=n[2],g=n[3];return(o=c*f+l*p+h*v+d*g)<0&&(o=-o,f=-f,p=-p,v=-v,g=-g),1-o>wS?(r=Math.acos(o),a=Math.sin(r),s=Math.sin((1-i)*r)/a,u=Math.sin(i*r)/a):(s=1-i,u=i),e[0]=s*c+u*f,e[1]=s*l+u*p,e[2]=s*h+u*v,e[3]=s*d+u*g,e}function UN(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o,s=a?1/a:0;return e[0]=-n*s,e[1]=-i*s,e[2]=-r*s,e[3]=o*s,e}function HN(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function GN(e,t){var n,i=t[0]+t[4]+t[8];if(i>0)n=Math.sqrt(i+1),e[3]=.5*n,e[0]=(t[5]-t[7])*(n=.5/n),e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{var r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);var o=(r+1)%3,a=(r+2)%3;n=Math.sqrt(t[3*r+r]-t[3*o+o]-t[3*a+a]+1),e[r]=.5*n,e[3]=(t[3*o+a]-t[3*a+o])*(n=.5/n),e[o]=(t[3*o+r]+t[3*r+o])*n,e[a]=(t[3*a+r]+t[3*r+a])*n}return e}var WN=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e},qN=IO,XN=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},YN=function(e,t,n,i){var r=t[0],o=t[1],a=t[2],s=t[3];return e[0]=r+i*(n[0]-r),e[1]=o+i*(n[1]-o),e[2]=a+i*(n[2]-a),e[3]=s+i*(n[3]-s),e},KN=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},$N=function(e){var t=e[0],n=e[1],i=e[2],r=e[3];return t*t+n*n+i*i+r*r},QN=function(){var e=xS(),t=SS(1,0,0),n=SS(0,1,0);return function(i,r,o){var a=CS(r,o);return a<-.999999?(ES(e,t,r),function(e){return Math.hypot(e[0],e[1],e[2])}(e)<1e-6&&ES(e,n,r),function(e,t){var n=t[0],i=t[1],r=t[2],o=n*n+i*i+r*r;o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o}(e,e),NN(i,e,Math.PI),i):a>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(ES(e,r,o),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+a,function(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=n*a,e[1]=i*a,e[2]=r*a,e[3]=o*a,e}(i,i))}}();RN(),RN(),function(){var e=new kS(9);kS!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1}();var ZN=[0,0,0,1],JN=function(e){a(i,e);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=gS(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return pS(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return pS(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?ZN:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),mS(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(vS),eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tL={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function nL(e){if(!e._animation){var t=tL[e.componentType],n=eL[e.type],i=n*e.count,r=e.bufferView.data,o=new t(r.buffer,r.byteOffset+(e.byteOffset||0),i);if(1===n)e._animation=Array.from(o);else{for(var a=[],s=0;s=s}),c=Math.max(0,u-1);if(!Array.isArray(n[i]))switch(i){case"translation":n[i]=[0,0,0];break;case"rotation":n[i]=[0,0,0,1];break;case"scale":n[i]=[1,1,1];break;default:sk.warn("Bad animation path ".concat(i))()}ox(n[i].length===a[c].length);var l=r[c],h=r[u];switch(o){case"STEP":!function(e,t,n){for(var i=0;il&&function(e,t,n,i,r){if("rotation"===t){rL.slerp({start:n,target:i,ratio:r});for(var o=0;ol&&function(e,t,n){for(var i=n.p0,r=n.outTangent0,o=n.inTangent1,a=n.p1,s=n.tDiff,u=n.ratio,c=0;c1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,r)).onBeforeRender=null,t.AfterRender=null,e instanceof nO?(t.model=e,t._setModelNodeProps(r)):t.model=new nO(e,r),t.managedResources=r.managedResources||[],t}return b(i,[{key:"setProps",value:function(t){return e(p(i.prototype),"setProps",this).call(this,t),this._setModelNodeProps(t),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(function(e){return e.delete()}),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),i}(PN),uL=function(){function e(t,n){var i=n.attributes,r=n.material,o=n.pbrDebug,a=n.imageBasedLightingEnvironment,s=n.lights,u=n.useTangents;m(this,e),this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},Zx(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],a&&(this.uniforms.u_DiffuseEnvSampler=a.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=a.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=a.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),o&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(i.NORMAL,"HAS_NORMALS"),this.defineIfPresent(i.TANGENT&&u,"HAS_TANGENTS"),this.defineIfPresent(i.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(a,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(o,"PBR_DEBUG"),r&&this.parseMaterial(r)}return b(e,[{key:"defineIfPresent",value:function(e,t){e&&(this.defines[t]=1)}},{key:"parseTexture",value:function(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.texture.source.image,a={};r.compressed?(n=r,a=o({},this.gl.TEXTURE_MIN_FILTER,r.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):n={data:r};var s=new Rx(this.gl,M({id:e.name||e.id,parameters:M(M({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:o({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},n));this.uniforms[t]=s,this.defineIfPresent(i,i),this.generatedTextures.push(s)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,n=void 0===t?1:t,i=e.roughnessFactor,r=void 0===i?1:i;this.uniforms.u_MetallicRoughnessValues=[n,r]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,n=void 0===t?1:t;this.uniforms.u_NormalScale=n}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var i=e.occlusionTexture.strength,r=void 0===i?1:i;this.uniforms.u_OcclusionStrength=r}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var o=e.alphaCutoff,a=void 0===o?.5:o;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=a}else"BLEND"===e.alphaMode&&(sk.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}();function cL(e,t){return lk(e)?"#version 300 es\n".concat(t):t}var lL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},dL=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.options=Object.assign({},hL,n)}return b(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map(function(e){return t.createScene(e)})}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new aL(this.gltf):null}},{key:"createScene",value:function(e){var t=this,n=(e.nodes||[]).map(function(e){return t.createNode(e)});return new AN({id:e.name||e.id,children:n})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var n=(e.children||[]).map(function(e){return t.createNode(e)});e.mesh&&n.push(this.createMesh(e.mesh));var i=new AN({id:e.name||e.id,children:n});if(e.matrix)i.setMatrix(e.matrix);else{if(i.matrix.identity(),e.translation&&i.matrix.translate(e.translation),e.rotation){var r=(new $O).fromQuaternion(e.rotation);i.matrix.multiplyRight(r)}e.scale&&i.matrix.scale(e.scale)}e._node=i}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var n=(e.primitives||[]).map(function(n,i){return t.createPrimitive(n,i,e)}),i=new AN({id:e.name||e.id,children:n});e._mesh=i}return e._mesh}},{key:"getVertexCount",value:function(e){sk.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,n){return function(e,t){var n=t.id,i=t.drawMode,r=t.vertexCount,o=t.attributes,a=t.modelOptions,s=new uL(e,t);sk.info(4,"createGLTFModel defines: ",s.defines)();var u=[];u.push.apply(u,v(s.generatedTextures)),u.push.apply(u,v(Object.values(o).map(function(e){return e.buffer})));var c=new sL(e,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[TN],defines:s.defines,parameters:s.parameters,vs:cL(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:cL(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:u},a));return c.setProps({attributes:o}),c.setUniforms(s.uniforms),c}(this.gl,Object.assign({id:e.name||"".concat(n.name||n.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var n=this,i={};return Object.keys(e).forEach(function(t){i[t]=n.createAccessor(e[t],n.createBuffer(e[t],n.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),sk.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var n=e.bufferView;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[t]||(n.lumaBuffers[t]=new Cx(this.gl,{id:"from-".concat(n.id),data:n.data||e.value,target:t})),n.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new wx({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:lL[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();function fL(e,t,n){if(e.byteLength<=t+n)return"";for(var i=new DataView(e),r="",o=0;o")}}]),i}(wL,Symbol.toStringTag),RL=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;m(this,e),FP(this,"name",void 0),FP(this,"type",void 0),FP(this,"nullable",void 0),FP(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=i,this.metadata=r}return b(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();function DL(e,t,n){var i=n?NL(n.metadata):void 0,r=function(e){switch(e.constructor){case Int8Array:return new xL;case Uint8Array:return new EL;case Int16Array:return new SL;case Uint16Array:return new OL;case Int32Array:return new CL;case Uint32Array:return new TL;case Float32Array:return new AL;case Float64Array:return new ML;default:throw new Error("array type not supported")}}(t.value);return new RL(e,new IL(t.size,new RL("value",r)),!1,i)}function NL(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var LL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},jL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},FL=function(){function e(t){m(this,e),FP(this,"draco",void 0),FP(this,"decoder",void 0),FP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return b(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!r.ptr){var a="DRACO decompression failed: ".concat(o.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(r,i,t),u=this._getMeshData(r,s,t),c=function(e){for(var t=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length,c=0;cr?l:r,o=h>o?h:o,a=d>a?d:a}return[[t,n,i],[r,o,a]]}(u.attributes),l=function(e,t,n){var i=NL(t.metadata),r=[],o=function(e){var t={};for(var n in e){var i=e[n];t[i.name||"undefined"]=i}return t}(t.attributes);for(var a in e){var s=DL(a,e[a],o[a]);r.push(s)}if(n){var u=DL("indices",n);r.push(u)}return new bL(r,i)}(u.attributes,s,u.indices);return I(M({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:c}},u),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var i=this._getTopLevelMetadata(e),r=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:r}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},i=0;i1&&void 0!==r[1]?r[1]:null,i=r.length>2&&void 0!==r[2]?r[2]:{},n&&(t=HL(t,n,i)),VL[t]=VL[t]||GL(t),e.next=6,VL[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function HL(e,t,n){if(e.startsWith("http"))return e;var i=n.modules||{};return i[e]?i[e]:eA?n.CDN?($P(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@3.0.12/dist/libs/").concat(e)):tA?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function GL(e){return WL.apply(this,arguments)}function WL(){return(WL=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=8;break}return e.next=3,fetch(t);case 3:return e.next=5,e.sent.arrayBuffer();case 5:e.t0=e.sent,e.next=31;break;case 8:if(!eA){e.next=24;break}if(!tA){e.next=13;break}e.t2=importScripts(t),e.next=21;break;case 13:return e.t3=qL,e.next=16,fetch(t);case 16:return e.next=18,e.sent.text();case 18:e.t4=e.sent,e.t5=t,e.t2=(0,e.t3)(e.t4,e.t5);case 21:e.t1=e.t2,e.next=30;break;case 24:if(e.t6=BL.requireFromFile,!e.t6){e.next=29;break}return e.next=28,BL.requireFromFile(t);case 28:e.t6=e.sent;case 29:e.t1=e.t6;case 30:e.t0=e.t1;case 31:return e.abrupt("return",e.t0);case 32:case"end":return e.stop()}},e)}))).apply(this,arguments)}function qL(e,t){if(!eA)return BL.requireFromString&&BL.requireFromString(e,t);if(tA)return eval.call(JP,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(i){n.text=e}return document.body.appendChild(n),null}var XL,YL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",KL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",$L="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";function QL(e){return ZL.apply(this,arguments)}function ZL(){return(ZL=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.modules||{},XL=n.draco3d?XL||n.draco3d.createDecoderModule({}).then(function(e){return{draco:e}}):XL||JL(t),e.next=4,XL;case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function JL(e){return ej.apply(this,arguments)}function ej(){return(ej=Vx(regeneratorRuntime.mark(function e(n){var i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=n.draco&&n.draco.decoderType,e.next="js"===e.t0?3:(e.t0,7);break;case 3:return e.next=5,zL(YL,"draco",n);case 5:return i=e.sent,e.abrupt("break",21);case 7:return e.t1=Promise,e.next=10,zL(KL,"draco",n);case 10:return e.t2=e.sent,e.next=13,zL($L,"draco",n);case 13:return e.t3=e.sent,e.t4=[e.t2,e.t3],e.next=17,e.t1.all.call(e.t1,e.t4);case 17:o=e.sent,a=t(o,2),i=a[0],r=a[1];case 21:return i=i||globalThis.DracoDecoderModule,e.next=24,tj(i,r);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}},e)}))).apply(this,arguments)}function tj(e,t){var n={};return t&&(n.wasmBinary=t),new Promise(function(t){e(I(M({},n),{onModuleLoaded:function(e){return t({draco:e})}}))})}var nj=I(M({},yL),{parse:function(e,t){return ij.apply(this,arguments)}});function ij(){return(ij=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,QL(n);case 2:return i=e.sent,r=i.draco,o=new FL(r),e.prev=5,e.abrupt("return",o.parseSync(t,null==n?void 0:n.draco));case 7:return e.prev=7,o.destroy(),e.finish(7);case 10:case"end":return e.stop()}},e,null,[[5,,7,10]])}))).apply(this,arguments)}function rj(e,t){return lP(e>=0),lP(t>0),e+(t-1)&~(t-1)}function oj(e,t,n){var i;return i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer||e.arrayBuffer,e.byteOffset,e.byteLength),t.set(i,n),n+rj(i.byteLength,4)}var aj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],uj=new Map(sj),cj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},hj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function dj(e){return aj[e-1]||aj[0]}function fj(e){var t=uj.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function pj(e,t){var n=hj[e.componentType],i=cj[e.type],r=e.count*i,o=e.count*i*lj[e.componentType];return pL(o>=0&&o<=t.byteLength),{ArrayType:n,length:r,byteLength:o}}var vj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},gj=function(){function e(t){m(this,e),FP(this,"gltf",void 0),FP(this,"sourceBuffers",void 0),FP(this,"byteLength",void 0),this.gltf=t||{json:M({},vj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return b(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){return this.getUsedExtensions().find(function(t){return t===e})?(this.json.extensions||{})[e]||!0:null}},{key:"getRequiredExtension",value:function(e){return this.getRequiredExtensions().find(function(t){return t===e})?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){e=this.getBufferView(e);var t=this.gltf.buffers[e.buffer];return pL(t),new Uint8Array(t.arrayBuffer,(e.byteOffset||0)+t.byteOffset,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,i=pj(e,t),r=i.ArrayType,o=i.length;return new r(n,t.byteOffset+e.byteOffset,o)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data;return new Uint8Array(n,t.byteOffset||0,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},i=n[t];return delete n[t],i}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(function(t){return t===e})||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(function(t){return t===e})||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,i=e.material,r=e.mode,o=void 0===r?4:r,a={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){var s=this._addIndices(n);a.primitives[0].indices=s}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=wR(e),i=t||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;pL(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rj(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:dj(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,t.size));var r={size:t.size,componentType:fj(e),count:Math.round(e.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,i=this.byteLength,r=new ArrayBuffer(i),o=new Uint8Array(r),a=0,s=_(this.sourceBuffers||[]);try{for(s.s();!(n=s.n()).done;){a=oj(n.value,o,a)}}catch(u){s.e(u)}finally{s.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var i=e.indexOf(t);i>-1?e.splice(i,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var i=e[n],r=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);t[r]=o}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length2&&void 0!==arguments[2]&&arguments[2];return e?Array.isArray(e)?new t(e):!n||e instanceof t?e:new t(e):null}(t,Float32Array)),i=t.length/n),{buffer:t,size:n,count:i}}(e),n=t.buffer,i=t.size;return{value:n,size:i,byteOffset:0,count:t.count,type:dj(i),componentType:fj(n)}}function Sj(e,t,n){return Cj.apply(this,arguments)}function Cj(){return(Cj=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(r=n.gltf)&&void 0!==r&&r.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:o=new gj(t),a=[],s=_(Mj(o));try{for(s.s();!(u=s.n()).done;)c=u.value,o.getObjectExtension(c,yj)&&a.push(Oj(o,c,n,i))}catch(l){s.e(l)}finally{s.f()}return e.next=7,Promise.all(a);case 7:o.removeExtension(yj);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ej(e){var t,n=new gj(e),i=_(n.json.meshes||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;Pj(r),n.addRequiredExtension(yj)}}catch(o){i.e(o)}finally{i.f()}}function Oj(e,t,n,i){return Tj.apply(this,arguments)}function Tj(){return(Tj=Vx(regeneratorRuntime.mark(function e(n,i,r,o){var a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.getObjectExtension(i,yj)){e.next=3;break}return e.abrupt("return");case 3:return s=n.getTypedArrayForBufferView(a.bufferView),u=xA(s.buffer,s.byteOffset),c=o.parse,delete(l=M({},r))["3d-tiles"],e.next=7,c(u,nj,l,o);case 7:for(h=e.sent,d=kj(h.attributes),f=0,p=Object.entries(d);f2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!r.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var s=r.DracoWriter.encodeSync({attributes:e}),u=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),c=r._addFauxAttributes(u.attributes),l=r.addBufferView(s);return{primitives:[{attributes:c,mode:i,extensions:o({},yj,{bufferView:l,attributes:c})}]}}function Aj(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function Mj(e){var t,n,i,r,o,a;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:t=_(e.json.meshes||[]),s.prev=1,t.s();case 3:if((n=t.n()).done){s.next=24;break}i=n.value,r=_(i.primitives),s.prev=6,r.s();case 8:if((o=r.n()).done){s.next=14;break}return a=o.value,s.next=12,a;case 12:s.next=8;break;case 14:s.next=19;break;case 16:s.prev=16,s.t0=s.catch(6),r.e(s.t0);case 19:return s.prev=19,r.f(),s.finish(19);case 22:s.next=3;break;case 24:s.next=29;break;case 26:s.prev=26,s.t1=s.catch(1),t.e(s.t1);case 29:return s.prev=29,t.f(),s.finish(29);case 32:case"end":return s.stop()}},T,null,[[1,26,29,32],[6,16,19,22]])}function Ij(e){return Rj.apply(this,arguments)}function Rj(){return(Rj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,n.removeExtension(_j),r=_(i.materials||[]);try{for(r.s();!(o=r.n()).done;)(a=o.value).extensions&&a.extensions.KHR_materials_unlit&&(a.unlit=!0),n.removeObjectExtension(a,_j)}catch(s){r.e(s)}finally{r.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Dj(e){var t=new gj(e),n=t.json;if(t.materials){var i,r=_(n.materials||[]);try{for(r.s();!(i=r.n()).done;){var o=i.value;o.unlit&&(delete o.unlit,t.addObjectExtension(o,_j,{}),t.addExtension(_j))}}catch(a){r.e(a)}finally{r.f()}}}function Nj(e){return Lj.apply(this,arguments)}function Lj(){return(Lj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,(r=n.getExtension(bj))&&(n.json.lights=r.lights,n.removeExtension(bj)),o=_(i.nodes||[]);try{for(o.s();!(a=o.n()).done;)s=a.value,(u=n.getObjectExtension(s,bj))&&(s.light=u.light),n.removeObjectExtension(s,bj)}catch(c){o.e(c)}finally{o.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function jj(e){return Fj.apply(this,arguments)}function Fj(){return(Fj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),(i=n.json).lights&&(pL(!(r=n.addExtension(bj)).lights),r.lights=i.lights,delete i.lights),n.json.lights){o=_(n.json.lights);try{for(o.s();!(a=o.n()).done;)s=a.value,n.addObjectExtension(s.node,bj,s)}catch(u){o.e(u)}finally{o.f()}delete n.json.lights}case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Bj(e){return Vj.apply(this,arguments)}function Vj(){return(Vj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),i=n.json,r=n.getExtension(wj)){o=Hj(r,n),a=_(i.materials||[]);try{for(a.s();!(s=a.n()).done;)u=s.value,(c=n.getObjectExtension(u,wj))&&(u.technique=Object.assign({},c,o[c.technique]),u.technique.values=Gj(u.technique,n)),n.removeObjectExtension(u,wj)}catch(l){a.e(l)}finally{a.f()}n.removeExtension(wj)}case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function zj(e,t){return Uj.apply(this,arguments)}function Uj(){return(Uj=Vx(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Hj(e,t){var n=e.programs,i=void 0===n?[]:n,r=e.shaders,o=void 0===r?[]:r,a=e.techniques,s=void 0===a?[]:a,u=new TextDecoder;return o.forEach(function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=u.decode(t.getTypedArrayForBufferView(e.bufferView))}),i.forEach(function(e){e.fragmentShader=o[e.fragmentShader],e.vertexShader=o[e.vertexShader]}),s.forEach(function(e){e.program=i[e.program]}),s}function Gj(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)}),Object.keys(n).forEach(function(e){"object"==typeof n[e]&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))}),n}var Wj={KHR_draco_mesh_compression:R,KHR_materials_unlit:D,KHR_lights_punctual:N,KHR_techniques_webgl:L};function qj(e){return Xj.apply(this,arguments)}function Xj(){return(Xj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=s.length>1&&void 0!==s[1]?s[1]:{},i=s.length>2?s[2]:void 0,e.t0=regeneratorRuntime.keys(Wj);case 3:if((e.t1=e.t0()).done){e.next=12;break}if(r=e.t1.value,a=(null==n||null===(o=n.gltf)||void 0===o?void 0:o.excludeExtensions)||{},e.t2=r in a&&!a[r],e.t2){e.next=10;break}return e.next=10,Wj[r].decode(t,n,i);case 10:e.next=3;break;case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Yj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Kj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},$j=function(){function e(t){m(this,e),this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}return b(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new gj(e),i=n.json,r=_(i.images||[]);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=n.removeObjectExtension(o,mj);a&&Object.assign(o,a)}}catch(s){r.e(s)}finally{r.f()}i.buffers&&i.buffers[0]&&delete i.buffers[0].uri,n.removeExtension(mj)}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in Yj)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var i in e[t]=[],n){var r=n[i];r.id=r.id||i;var o=e[t].length;e[t].push(r),this.idToIndexMap[t][i]=o}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in Yj)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,i=_(e.textures);try{for(i.s();!(n=i.n()).done;){var r=n.value;this._convertTextureIds(r)}}catch(p){i.e(p)}finally{i.f()}var o,a=_(e.meshes);try{for(a.s();!(o=a.n()).done;){var s=o.value;this._convertMeshIds(s)}}catch(p){a.e(p)}finally{a.f()}var u,c=_(e.nodes);try{for(c.s();!(u=c.n()).done;){var l=u.value;this._convertNodeIds(l)}}catch(p){c.e(p)}finally{c.f()}var h,d=_(e.scenes);try{for(d.s();!(h=d.n()).done;){var f=h.value;this._convertSceneIds(f)}}catch(p){d.e(p)}finally{d.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=_(e.primitives);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.attributes,o=i.indices,a=i.material;for(var s in r)r[s]=this._convertIdToIndex(r[s],"accessor");o&&(i.indices=this._convertIdToIndex(o,"accessor")),a&&(i.material=this._convertIdToIndex(a,"material"))}}catch(u){n.e(u)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map(function(e){return t._convertIdToIndex(e,"node")})),e.meshes&&(e.meshes=e.meshes.map(function(e){return t._convertIdToIndex(e,"mesh")}))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map(function(e){return t._convertIdToIndex(e,"node")}))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,i=_(e[t]);try{for(i.s();!(n=i.n()).done;){var r=n.value;for(var o in r){var a=this._convertIdToIndex(r[o],o);r[o]=a}}}catch(s){i.e(s)}finally{i.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=Kj[t];if(n in this.idToIndexMap){var i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return i}return e}},{key:"_updateObjects",value:function(e){var t,n=_(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(i){n.e(i)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=_(e.materials);try{var i=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var i=n.values&&n.values.tex,r=e.textures.findIndex(function(e){return e.id===i});-1!==r&&(n.pbrMetallicRoughness.baseColorTexture={index:r})};for(n.s();!(t=n.n()).done;)i()}catch(r){n.e(r)}finally{n.f()}}}]),e}();function Qj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new $j).normalize(e,t)}var Zj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Jj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},eF={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},tF={magFilter:eF.TEXTURE_MAG_FILTER,minFilter:eF.TEXTURE_MIN_FILTER,wrapS:eF.TEXTURE_WRAP_S,wrapT:eF.TEXTURE_WRAP_T},nF=(o(k={},eF.TEXTURE_MAG_FILTER,eF.LINEAR),o(k,eF.TEXTURE_MIN_FILTER,eF.NEAREST_MIPMAP_LINEAR),o(k,eF.TEXTURE_WRAP_S,eF.REPEAT),o(k,eF.TEXTURE_WRAP_,eF.REPEAT),k),iF=function(){function e(){m(this,e)}return b(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,i=e.buffers,r=void 0===i?[]:i,o=e.images,a=void 0===o?[]:o,s=e.baseUri,u=void 0===s?"":s;return pL(n),this.baseUri=u,this.json=n,this.buffers=r,this.images=a,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map(function(e,n){return t._resolveBufferView(e,n)})),e.images&&(e.images=e.images.map(function(e,n){return t._resolveImage(e,n)})),e.samplers&&(e.samplers=e.samplers.map(function(e,n){return t._resolveSampler(e,n)})),e.textures&&(e.textures=e.textures.map(function(e,n){return t._resolveTexture(e,n)})),e.accessors&&(e.accessors=e.accessors.map(function(e,n){return t._resolveAccessor(e,n)})),e.materials&&(e.materials=e.materials.map(function(e,n){return t._resolveMaterial(e,n)})),e.meshes&&(e.meshes=e.meshes.map(function(e,n){return t._resolveMesh(e,n)})),e.nodes&&(e.nodes=e.nodes.map(function(e,n){return t._resolveNode(e,n)})),e.skins&&(e.skins=e.skins.map(function(e,n){return t._resolveSkin(e,n)})),e.scenes&&(e.scenes=e.scenes.map(function(e,n){return t._resolveScene(e,n)})),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map(function(e){return n.getNode(e)}),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map(function(e){return n.getNode(e)})),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce(function(e,t){var i=n.getMesh(t);return e.id=i.id,e.primitives=e.primitives.concat(i.primitives),e},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map(function(e){var t=(e=M({},e)).attributes;for(var i in e.attributes={},t)e.attributes[i]=n.getAccessor(t[i]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e})),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=M({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=M({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=M({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=M({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=M({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=M({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(e){return Jj[e]}(e.componentType),e.components=function(e){return Zj[e]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var n=e.bufferView.buffer,i=pj(e,e.bufferView),r=i.ArrayType,o=i.byteLength,a=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+n.byteOffset,s=n.arrayBuffer.slice(a,a+o);e.value=new r(s)}return e}},{key:"_resolveTexture",value:function(e,t){return e.id=e.id||"texture-".concat(t),e.sampler="sampler"in e?this.getSampler(e.sampler):nF,e.source=this.getImage(e.source),e}},{key:"_resolveSampler",value:function(e,t){for(var n in e.id=e.id||"sampler-".concat(t),e.parameters={},e){var i=this._enumSamplerParameter(n);void 0!==i&&(e.parameters[i]=e[n])}return e}},{key:"_enumSamplerParameter",value:function(e){return tF[e]}},{key:"_resolveImage",value:function(e,t){e.id=e.id||"image-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));var n=this.images[t];return n&&(e.image=n),e}},{key:"_resolveBufferView",value:function(e,t){e.id=e.id||"bufferView-".concat(t);var n=e.buffer;e.buffer=this.buffers[n];var i=this.buffers[n].byteOffset||0;return"byteOffset"in e&&(i+=e.byteOffset),e.data=new Uint8Array(this.buffers[n].arrayBuffer,i,e.byteLength),e}},{key:"_resolveCamera",value:function(e,t){return e.id=e.id||"camera-".concat(t),e}}]),e}();function rF(e,t){return(new iF).postProcess(e,t)}var oF=1735152710,aF=!0;function sF(e,t,n,i){var r=new Uint8Array(t.buffer,n,i),o=new TextDecoder("utf8").decode(r);return e.json=JSON.parse(o),rj(i,4)}function uF(e,t,n,i){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:t.buffer}),rj(i,4)}function cF(e,t){return lF.apply(this,arguments)}function lF(){return(lF=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o,a,s,u,c,l,h,d,f=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=f.length>2&&void 0!==f[2]?f[2]:0,r=f.length>3?f[3]:void 0,o=f.length>4?f[4]:void 0,hF(t,n,i,r),Qj(t,{normalize:null==r||null===(a=r.gltf)||void 0===a?void 0:a.normalize}),l=[],e.t0=null!=r&&null!==(s=r.gltf)&&void 0!==s&&s.loadBuffers&&t.json.buffers,!e.t0){e.next=9;break}return e.next=9,dF(t,r,o);case 9:if(null==r||null===(u=r.gltf)||void 0===u||!u.loadImages){e.next=12;break}h=pF(t,r,o),l.push(h);case 12:return d=qj(t,r,o),l.push(d),e.next=16,Promise.all(l);case 16:return e.abrupt("return",null!=r&&null!==(c=r.gltf)&&void 0!==c&&c.postProcess?rF(t,r):t);case 17:case"end":return e.stop()}},e)}))).apply(this,arguments)}function hF(e,t,n,i){if(i.uri&&(e.baseUri=i.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new DataView(e),r=n.magic,o=void 0===r?oF:r,a=i.getUint32(t,!1);return a===o||a===oF}(t,n,i)&&(t=(new TextDecoder).decode(t)),"string"==typeof t)e.json=function(e){try{return JSON.parse(e)}catch(t){throw new Error('Failed to parse JSON from data starting with "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?fL(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?fL(e,0,t):""}(e),'"'))}}(t);else if(t instanceof ArrayBuffer){var r={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new DataView(t),r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}(i,n+0),o=i.getUint32(n+4,aF),a=i.getUint32(n+8,aF);switch(Object.assign(e,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:r,version:o,json:{},binChunks:[]}),n+=12,e.version){case 1:return function(e,t,n){lP(e.header.byteLength>20);var i=t.getUint32(n+0,aF),r=t.getUint32(n+4,aF);return n+=8,lP(0===r),sF(e,t,n,i),(n+=i)+uF(e,t,n,e.header.byteLength)}(e,i,n);case 2:return function(e,t,n,i){return lP(e.header.byteLength>20),function(e,t,n,i){for(;n+8<=e.header.byteLength;){var r=t.getUint32(n+0,aF),o=t.getUint32(n+4,aF);switch(n+=8,o){case 1313821514:sF(e,t,n,r);break;case 5130562:uF(e,t,n,r);break;case 0:i.strict||sF(e,t,n,r);break;case 1:i.strict||uF(e,t,n,r)}n+=rj(r,4)}}(e,t,n,{}),n+e.header.byteLength}(e,i,n);default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(r,t,n,i.glb),pL("glTF"===r.type,"Invalid GLB magic string ".concat(r.type)),e._glb=r,e.json=r.json}else pL(!1,"GLTF: must be ArrayBuffer or string");if(e.buffers=new Array((e.json.buffers||[]).length).fill(null),e._glb&&e._glb.header.hasBinChunk){var o=e._glb.binChunks;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}e.images=new Array((e.json.images||[]).length).fill({})}function dF(e,t,n){return fF.apply(this,arguments)}function fF(){return(fF=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=0;case 1:if(!(r1&&void 0!==a[1]?a[1]:{},i=a.length>2?a[2]:void 0,(n=M(M({},yF.options),n)).gltf=M(M({},yF.options.gltf),n.gltf),r=n.byteOffset,o=void 0===r?0:r,e.next=6,cF({},t,o,n,i);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _F(){return(_F=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],t.scenes.forEach(function(e){e.traverse(function(e){Object.values(e.model.getUniforms()).forEach(function(e){!1===e.loaded&&n.push(e)})})}),e.next=4,wF(function(){return n.some(function(e){return!e.loaded})});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function wF(e){return kF.apply(this,arguments)}function kF(){return(kF=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise(function(e){return requestAnimationFrame(e)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var xF=[255,255,255,255],SF={scenegraph:{type:"object",value:null,async:!0},getScene:function(e){return e&&e.scenes?"object"==typeof e.scene?e.scene:e.scenes[e.scene||0]:e},getAnimator:function(e){return e&&e.animator},_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:xF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[yF]},CF=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var e=[xD,CD];return"pbr"===this.props._lighting&&e.push(TN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:e}}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:xF,transition:!0},instanceModelMatrix:kN})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps;n.scenegraph!==r.scenegraph?this._updateScenegraph(n):n._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,n._animations)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this._deleteScenegraph()}},{key:"_updateScenegraph",value:function(e){var t=this,n=this.context.gl,i=null;if(e.scenegraph instanceof PN)i={scenes:[e.scenegraph]};else if(e.scenegraph&&!e.scenegraph.gltf){var r=e.scenegraph,o=function(e,t,n){var i=new dL(e,n);return{scenes:i.instantiate(t),animator:i.createAnimator()}}(n,r,this._getModelOptions());i=M({gltf:r},o),function(e){return _F.apply(this,arguments)}(o).then(function(){return t.setNeedsRedraw()})}else e.scenegraph&&(ik.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),i=e.scenegraph);var a={layer:this,gl:n},s=e.getScene(i,a),u=e.getAnimator(i,a);s instanceof PN?(this._deleteScenegraph(),this._applyAllAttributes(s),this._applyAnimationsProp(s,u,e._animations),this.setState({scenegraph:s,animator:u})):null!==s&&ik.warn("invalid scenegraph:",s)()}},{key:"_applyAllAttributes",value:function(e){var t=this;if(this.state.attributesAvailable){var n=this.getAttributeManager().getAttributes();e.traverse(function(e){t._setModelAttributes(e.model,n)})}}},{key:"_applyAnimationsProp",value:function(e,t,n){if(e&&t&&n){var i=t.getAnimations();Object.keys(n).sort().forEach(function(e){var t=n[e];if("*"===e)i.forEach(function(e){Object.assign(e,t)});else if(Number.isFinite(Number(e))){var r=Number(e);r>=0&&r0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("sphere-geometry"):i,o=function(e){var t=e.nlat,n=void 0===t?10:t,i=e.nlong,r=void 0===i?10:i,o=e.radius,a=void 0===o?1:o,s=Math.PI-0,u=2*Math.PI-0,c=(n+1)*(r+1);if("number"==typeof a){var l=a;a=function(e,t,n,i,r){return l}}for(var h=new Float32Array(3*c),d=new Float32Array(3*c),f=new Float32Array(2*c),p=new(c>65535?Uint32Array:Uint16Array)(n*r*6),v=0;v<=n;v++)for(var g=0;g<=r;g++){var m=g/r,y=v/n,b=g+v*(r+1),_=2*b,w=3*b,k=u*m,x=s*y,S=Math.sin(k),C=Math.cos(k),E=Math.sin(x),O=C*E,T=Math.cos(x),P=S*E,A=a(O,T,P,m,y);h[w+0]=A*O,h[w+1]=A*T,h[w+2]=A*P,d[w+0]=O,d[w+1]=T,d[w+2]=P,f[_+0]=m,f[_+1]=1-y}for(var M=r+1,I=0;I0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("truncated-code-geometry"):i,o=function(e){for(var t=e.bottomRadius,n=void 0===t?0:t,i=e.topRadius,r=void 0===i?0:i,o=e.height,a=void 0===o?1:o,s=e.nradial,u=void 0===s?10:s,c=e.nvertical,l=void 0===c?10:c,h=e.verticalAxis,d=void 0===h?"y":h,f=e.topCap,p=void 0!==f&&f,v=e.bottomCap,g=void 0!==v&&v,m=(p?2:0)+(g?2:0),y=(u+1)*(l+1+m),b=Math.atan2(n-r,a),_=Math.sin,w=Math.cos,k=Math.PI,x=w(b),S=_(b),C=p?-2:0,E=l+(g?2:0),O=u+1,T=new Uint16Array(u*(l+m)*6),P=OF[d],A=new Float32Array(3*y),M=new Float32Array(3*y),I=new Float32Array(2*y),R=0,D=0,N=C;N<=E;N++){var L=void 0,j=N/l,F=a*j;N<0?(F=0,j=1,L=n):N>l?(F=a,j=1,L=r):L=n+N/l*(r-n),(-2===N||N===l+2)&&(L=0,j=0),F-=a/2;for(var B=0;Bl?0:V*x,M[R+P[1]]=N<0?-1:N>l?1:S,M[R+P[2]]=N<0||N>l?0:z*x,I[D+0]=B/u,I[D+1]=j,D+=2,R+=3}}for(var U=0;U0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cone-geometry"):i,o=e.radius,a=void 0===o?1:o,s=e.cap,u=void 0===s||s;return t.call(this,I(M({},e),{id:r,topRadius:0,topCap:Boolean(u),bottomCap:Boolean(u),bottomRadius:a}))}return n}(TF),AF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cylinder-geometry"):i,o=e.radius,a=void 0===o?1:o;return t.call(this,I(M({},e),{id:r,bottomRadius:a,topRadius:a}))}return n}(TF),MF=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),IF=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),RF=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),DF=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),NF={POSITION:{size:3,value:new Float32Array(IF)},NORMAL:{size:3,value:new Float32Array(RF)},TEXCOORD_0:{size:2,value:new Float32Array(DF)}},LF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cube-geometry"):i;return t.call(this,I(M({},e),{id:r,indices:{size:1,value:new Uint16Array(MF)},attributes:M(M({},NF),e.attributes)}))}return n}(OD),jF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0,0,0,0,0,0];m(this,e),this.elements=void 0,this.elements=t}return b(e,[{key:"identity",value:function(){var e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}},{key:"setZero",value:function(){var e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}},{key:"setTrace",value:function(e){var t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}},{key:"getTrace",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=this.elements,i=e.x,r=e.y,o=e.z;return t.x=n[0]*i+n[1]*r+n[2]*o,t.y=n[3]*i+n[4]*r+n[5]*o,t.z=n[6]*i+n[7]*r+n[8]*o,t}},{key:"smult",value:function(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=t.elements,o=n.elements,a=i[0],s=i[1],u=i[2],c=i[3],l=i[4],h=i[5],d=i[6],f=i[7],p=i[8],v=r[0],g=r[1],m=r[2],y=r[3],b=r[4],_=r[5],w=r[6],k=r[7],x=r[8];return o[0]=a*v+s*y+u*w,o[1]=a*g+s*b+u*k,o[2]=a*m+s*_+u*x,o[3]=c*v+l*y+h*w,o[4]=c*g+l*b+h*k,o[5]=c*m+l*_+h*x,o[6]=d*v+f*y+p*w,o[7]=d*g+f*b+p*k,o[8]=d*m+f*_+p*x,n}},{key:"scale",value:function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=n.elements,o=0;3!==o;o++)r[3*o+0]=t.x*i[3*o+0],r[3*o+1]=t.y*i[3*o+1],r[3*o+2]=t.z*i[3*o+2];return n}},{key:"solve",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,r=[];for(t=0;t<12;t++)r.push(0);for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+4*n]=this.elements[t+3*n];r[3]=e.x,r[7]=e.y,r[11]=e.z;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+4*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,r=FF;for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+6*n]=this.elements[t+3*n];r[3]=1,r[9]=0,r[15]=0,r[4]=0,r[10]=1,r[16]=0,r[5]=0,r[11]=0,r[17]=1;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+6*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,i=this.elements,r=n.elements;return r[0]=i[0],r[4]=i[4],r[8]=i[8],t=i[1],r[1]=i[3],r[3]=t,t=i[2],r[2]=i[6],r[6]=t,t=i[5],r[5]=i[7],r[7]=t,n}}]),e}(),FF=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],BF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.x=t,this.y=n,this.z=i}return b(e,[{key:"cross",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=t.x,r=t.y,o=t.z,a=this.x,s=this.y,u=this.z;return n.x=s*o-u*r,n.y=u*i-a*o,n.z=a*r-s*i,n}},{key:"set",value:function(e,t,n){return this.x=e,this.y=t,this.z=n,this}},{key:"setZero",value:function(){this.x=this.y=this.z=0}},{key:"vadd",value:function(t,n){if(!n)return new e(this.x+t.x,this.y+t.y,this.z+t.z);n.x=t.x+this.x,n.y=t.y+this.y,n.z=t.z+this.z}},{key:"vsub",value:function(t,n){if(!n)return new e(this.x-t.x,this.y-t.y,this.z-t.z);n.x=this.x-t.x,n.y=this.y-t.y,n.z=this.z-t.z}},{key:"crossmat",value:function(){return new jF([0,-this.z,this.y,this.z,0,-this.x,-this.y,this.x,0])}},{key:"normalize",value:function(){var e=this.x,t=this.y,n=this.z,i=Math.sqrt(e*e+t*t+n*n);if(i>0){var r=1/i;this.x*=r,this.y*=r,this.z*=r}else this.x=0,this.y=0,this.z=0;return i}},{key:"unit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=Math.sqrt(n*n+i*i+r*r);return o>0?(o=1/o,t.x=n*o,t.y=i*o,t.z=r*o):(t.x=1,t.y=0,t.z=0),t}},{key:"length",value:function(){var e=this.x,t=this.y,n=this.z;return Math.sqrt(e*e+t*t+n*n)}},{key:"lengthSquared",value:function(){return this.dot(this)}},{key:"distanceTo",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return Math.sqrt((r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i))}},{key:"distanceSquared",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return(r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i)}},{key:"scale",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.y,r=this.z;return n.x=t*this.x,n.y=t*i,n.z=t*r,n}},{key:"vmul",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e;return n.x=t.x*this.x,n.y=t.y*this.y,n.z=t.z*this.z,n}},{key:"addScaledVector",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e;return i.x=this.x+t*n.x,i.y=this.y+t*n.y,i.z=this.z+t*n.z,i}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y+this.z*e.z}},{key:"isZero",value:function(){return 0===this.x&&0===this.y&&0===this.z}},{key:"negate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}},{key:"tangents",value:function(e,t){var n=this.length();if(n>0){var i=VF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);var o=zF;Math.abs(i.x)<.9?(o.set(1,0,0),i.cross(o,e)):(o.set(0,1,0),i.cross(o,e)),i.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z}},{key:"toArray",value:function(){return[this.x,this.y,this.z]}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}},{key:"lerp",value:function(e,t,n){var i=this.x,r=this.y,o=this.z;n.x=i+(e.x-i)*t,n.y=r+(e.y-r)*t,n.z=o+(e.z-o)*t}},{key:"almostEquals",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-6;return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}},{key:"almostZero",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e-6;return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}},{key:"isAntiparallelTo",value:function(e,t){return this.negate(UF),UF.almostEquals(e,t)}},{key:"clone",value:function(){return new e(this.x,this.y,this.z)}}]),e}();BF.ZERO=void 0,BF.UNIT_X=void 0,BF.UNIT_Y=void 0,BF.UNIT_Z=void 0,BF.ZERO=new BF(0,0,0),BF.UNIT_X=new BF(1,0,0),BF.UNIT_Y=new BF(0,1,0),BF.UNIT_Z=new BF(0,0,1);var VF=new BF,zF=new BF,UF=new BF,HF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new BF,this.upperBound=new BF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}return b(e,[{key:"setFromPoints",value:function(e,t,n,i){var r=this.lowerBound,o=this.upperBound,a=n;r.copy(e[0]),a&&a.vmult(r,r),o.copy(r);for(var s=1;so.x&&(o.x=u.x),u.xo.y&&(o.y=u.y),u.yo.z&&(o.z=u.z),u.z=r.x&&t.y<=i.y&&n.y>=r.y&&t.z<=i.z&&n.z>=r.z}},{key:"getCorners",value:function(e,t,n,i,r,o,a,s){var u=this.lowerBound,c=this.upperBound;e.copy(u),t.set(c.x,u.y,u.z),n.set(c.x,c.y,u.z),i.set(u.x,c.y,c.z),r.set(c.x,u.y,c.z),o.set(u.x,c.y,u.z),a.set(u.x,u.y,c.z),s.copy(c)}},{key:"toLocalFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToLocal(r,r)}return t.setFromPoints(n)}},{key:"toWorldFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToWorld(r,r)}return t.setFromPoints(n)}},{key:"overlapsRay",value:function(e){var t=e.direction,n=e.from,i=1/t.x,r=1/t.y,o=1/t.z,a=(this.lowerBound.x-n.x)*i,s=(this.upperBound.x-n.x)*i,u=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,l=(this.lowerBound.z-n.z)*o,h=(this.upperBound.z-n.z)*o,d=Math.max(Math.max(Math.min(a,s),Math.min(u,c)),Math.min(l,h)),f=Math.min(Math.min(Math.max(a,s),Math.max(u,c)),Math.max(l,h));return!(f<0||d>f)}}]),e}(),GF=new BF,WF=[new BF,new BF,new BF,new BF,new BF,new BF,new BF,new BF],qF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=n,this.z=i,this.w=r}return b(e,[{key:"set",value:function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z+","+this.w}},{key:"toArray",value:function(){return[this.x,this.y,this.z,this.w]}},{key:"setFromAxisAngle",value:function(e,t){var n=Math.sin(.5*t);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(.5*t),this}},{key:"toAxisAngle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF;this.normalize();var t=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/n,e.y=this.y/n,e.z=this.z/n),[e,t]}},{key:"setFromVectors",value:function(e,t){if(e.isAntiparallelTo(t)){var n=XF;e.tangents(n,YF),this.setFromAxisAngle(n,Math.PI)}else{var i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(P(e.length(),2)*P(t.length(),2))+e.dot(t),this.normalize()}return this}},{key:"mult",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.x,r=this.y,o=this.z,a=this.w,s=t.x,u=t.y,c=t.z,l=t.w;return n.x=i*l+a*s+r*c-o*u,n.y=r*l+a*u+o*s-i*c,n.z=o*l+a*c+i*u-r*s,n.w=a*l-i*s-r*u-o*c,n}},{key:"inverse",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=this.w;this.conjugate(t);var a=1/(n*n+i*i+r*r+o*o);return t.x*=a,t.y*=a,t.z*=a,t.w*=a,t}},{key:"conjugate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}},{key:"normalize",value:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"normalizeFast",value:function(){var e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=e.x,i=e.y,r=e.z,o=this.x,a=this.y,s=this.z,u=this.w,c=u*n+a*r-s*i,l=u*i+s*n-o*r,h=u*r+o*i-a*n,d=-o*n-a*i-s*r;return t.x=c*u+d*-o+l*-s-h*-a,t.y=l*u+d*-a+h*-o-c*-s,t.z=h*u+d*-s+c*-a-l*-o,t}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}},{key:"toEuler",value:function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YZX",o=this.x,a=this.y,s=this.z,u=this.w;switch(r){case"YZX":var c=o*a+s*u;if(c>.499&&(t=2*Math.atan2(o,u),n=Math.PI/2,i=0),c<-.499&&(t=-2*Math.atan2(o,u),n=-Math.PI/2,i=0),void 0===t){var l=o*o,h=s*s;t=Math.atan2(2*a*u-2*o*s,1-a*a*2-2*h),n=Math.asin(2*c),i=Math.atan2(2*o*u-2*a*s,1-2*l-2*h)}break;default:throw new Error("Euler order "+r+" not supported yet.")}e.y=t,e.z=n,e.x=i}},{key:"setFromEuler",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"XYZ",r=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(n/2),s=Math.sin(e/2),u=Math.sin(t/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"YXZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"ZXY"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"ZYX"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"YZX"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a-s*u*c):"XZY"===i&&(this.x=s*o*a-r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a+s*u*c),this}},{key:"clone",value:function(){return new e(this.x,this.y,this.z,this.w)}},{key:"slerp",value:function(t,n){var i,r,o,a,s,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e,c=this.x,l=this.y,h=this.z,d=this.w,f=t.x,p=t.y,v=t.z,g=t.w;return(r=c*f+l*p+h*v+d*g)<0&&(r=-r,f=-f,p=-p,v=-v,g=-g),1-r>1e-6?(i=Math.acos(r),o=Math.sin(i),a=Math.sin((1-n)*i)/o,s=Math.sin(n*i)/o):(a=1-n,s=n),u.x=a*c+s*f,u.y=a*l+s*p,u.z=a*h+s*v,u.w=a*d+s*g,u}},{key:"integrate",value:function(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new e,o=t.x*i.x,a=t.y*i.y,s=t.z*i.z,u=this.x,c=this.y,l=this.z,h=this.w,d=.5*n;return r.x+=d*(o*h+a*l-s*c),r.y+=d*(a*h+s*u-o*l),r.z+=d*(s*h+o*c-a*u),r.w+=d*(-o*u-a*c-s*l),r}}]),e}(),XF=new BF,YF=new BF,KF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256},$F=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=e.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}return b(e,[{key:"updateBoundingSphereRadius",value:function(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}},{key:"volume",value:function(){throw"volume() not implemented for shape type "+this.type}},{key:"calculateLocalInertia",value:function(e,t){throw"calculateLocalInertia() not implemented for shape type "+this.type}},{key:"calculateWorldAABB",value:function(e,t,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}]),e}();return e.idCounter=0,e.types=KF,e}(),QF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.position=void 0,this.quaternion=void 0,this.position=new BF,this.quaternion=new qF,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}return b(e,[{key:"pointToLocal",value:function(t,n){return e.pointToLocalFrame(this.position,this.quaternion,t,n)}},{key:"pointToWorld",value:function(t,n){return e.pointToWorldFrame(this.position,this.quaternion,t,n)}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}}],[{key:"pointToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return n.vsub(e,i),t.conjugate(ZF),ZF.vmult(i,i),i}},{key:"pointToWorldFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.vmult(n,i),i.vadd(e,i),i}},{key:"vectorToWorldFrame",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new BF;return e.vmult(t,n),n}},{key:"vectorToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.w*=-1,t.vmult(n,i),t.w*=-1,i}}]),e}(),ZF=new qF,JF=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var r=i.vertices,o=void 0===r?[]:r,a=i.faces,s=void 0===a?[]:a,u=i.normals,c=void 0===u?[]:u,l=i.axes,h=i.boundingSphereRadius;return(e=t.call(this,{type:$F.types.CONVEXPOLYHEDRON})).vertices=void 0,e.faces=void 0,e.faceNormals=void 0,e.worldVertices=void 0,e.worldVerticesNeedsUpdate=void 0,e.worldFaceNormals=void 0,e.worldFaceNormalsNeedsUpdate=void 0,e.uniqueAxes=void 0,e.uniqueEdges=void 0,e.vertices=o,e.faces=s,e.faceNormals=c,0===e.faceNormals.length&&e.computeNormals(),h?e.boundingSphereRadius=h:e.updateBoundingSphereRadius(),e.worldVertices=[],e.worldVerticesNeedsUpdate=!0,e.worldFaceNormals=[],e.worldFaceNormalsNeedsUpdate=!0,e.uniqueAxes=l?l.slice():null,e.uniqueEdges=[],e.computeEdges(),e}return b(n,[{key:"computeEdges",value:function(){var e=this.faces,t=this.vertices,n=this.uniqueEdges;n.length=0;for(var i=new BF,r=0;r!==e.length;r++)for(var o=e[r],a=o.length,s=0;s!==a;s++){t[o[s]].vsub(t[o[(s+1)%a]],i),i.normalize();for(var u=!1,c=0;c!==n.length;c++)if(n[c].almostEquals(i)||n[c].almostEquals(i)){u=!0;break}u||n.push(i.clone())}}},{key:"computeNormals",value:function(){this.faceNormals.length=this.faces.length;for(var e=0;eh&&(h=f,l=d)}for(var p=[],v=0;v=0&&this.clipFaceAgainstHull(o,e,t,p,a,s,u)}},{key:"findSeparatingAxis",value:function(e,t,n,i,r,o,a,s){var u=new BF,c=new BF,l=new BF,h=new BF,d=new BF,f=new BF,p=Number.MAX_VALUE,v=this;if(v.uniqueAxes)for(var g=0;g!==v.uniqueAxes.length;g++){n.vmult(v.uniqueAxes[g],u);var m=v.testSepAxis(u,e,t,n,i,r);if(!1===m)return!1;m0&&o.negate(o),!0}},{key:"testSepAxis",value:function(e,t,i,r,o,a){n.project(this,e,i,r,eB),n.project(t,e,o,a,tB);var s=eB[0],u=eB[1],c=tB[0],l=tB[1];if(st.x&&(t.x=r.x),r.yt.y&&(t.y=r.y),r.zt.z&&(t.z=r.z)}}},{key:"computeWorldFaceNormals",value:function(e){for(var t=this.faceNormals.length;this.worldFaceNormals.lengthe&&(e=i)}this.boundingSphereRadius=Math.sqrt(e)}},{key:"calculateWorldAABB",value:function(e,t,n,i){for(var r,o,a,s,u,c,l=this.vertices,h=new BF,d=0;ds)&&(s=f.x),(void 0===o||f.yu)&&(u=f.y),(void 0===a||f.zc)&&(c=f.z)}n.set(r,o,a),i.set(s,u,c)}},{key:"volume",value:function(){return 4*Math.PI*this.boundingSphereRadius/3}},{key:"getAveragePointLocal",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.vertices,n=0;n0||c>0&&h<0)return!1}return-1}}],[{key:"computeNormal",value:function(e,t,n,i){var r=new BF,o=new BF;t.vsub(e,o),n.vsub(t,r),r.cross(o,i),i.isZero()||i.normalize()}},{key:"project",value:function(e,t,n,i,r){var o=e.vertices.length,a=nB,s=0,u=0,c=iB,l=e.vertices;c.setZero(),QF.vectorToLocalFrame(n,i,t,a),QF.pointToLocalFrame(n,i,c,c);var h=c.dot(a);u=s=l[0].dot(a);for(var d=1;ds&&(s=f),f(s-=h)){var p=u;u=s,s=p}r[0]=s,r[1]=u}}]),n}($F),eB=[],tB=[],nB=new BF,iB=new BF,rB=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{type:$F.types.BOX})).halfExtents=void 0,i.convexPolyhedronRepresentation=void 0,i.halfExtents=e,i.convexPolyhedronRepresentation=null,i.updateConvexPolyhedronRepresentation(),i.updateBoundingSphereRadius(),i}return b(n,[{key:"updateConvexPolyhedronRepresentation",value:function(){var e=this.halfExtents.x,t=this.halfExtents.y,n=this.halfExtents.z,i=BF,r=[new i(-e,-t,-n),new i(e,-t,-n),new i(e,t,-n),new i(-e,t,-n),new i(-e,-t,n),new i(e,-t,n),new i(e,t,n),new i(-e,t,n)],o=[new i(0,0,1),new i(0,1,0),new i(1,0,0)],a=new JF({vertices:r,faces:[[3,2,1,0],[4,5,6,7],[5,4,0,1],[2,3,7,6],[0,4,7,3],[1,2,6,5]],axes:o});this.convexPolyhedronRepresentation=a,a.material=this.material}},{key:"calculateLocalInertia",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return n.calculateInertia(this.halfExtents,e,t),t}},{key:"getSideNormals",value:function(e,t){var n=e,i=this.halfExtents;if(n[0].set(i.x,0,0),n[1].set(0,i.y,0),n[2].set(0,0,i.z),n[3].set(-i.x,0,0),n[4].set(0,-i.y,0),n[5].set(0,0,-i.z),void 0!==t)for(var r=0;r!==n.length;r++)t.vmult(n[r],n[r]);return n}},{key:"volume",value:function(){return 8*this.halfExtents.x*this.halfExtents.y*this.halfExtents.z}},{key:"updateBoundingSphereRadius",value:function(){this.boundingSphereRadius=this.halfExtents.length()}},{key:"forEachWorldCorner",value:function(e,t,n){for(var i=this.halfExtents,r=[[i.x,i.y,i.z],[-i.x,i.y,i.z],[-i.x,-i.y,i.z],[-i.x,-i.y,-i.z],[i.x,-i.y,-i.z],[i.x,i.y,-i.z],[-i.x,i.y,-i.z],[i.x,-i.y,i.z]],o=0;oi.x&&(i.x=u),c>i.y&&(i.y=c),l>i.z&&(i.z=l),u0&&void 0!==arguments[0]?arguments[0]:{};m(this,n),(e=t.call(this)).id=void 0,e.index=void 0,e.world=void 0,e.preStep=void 0,e.postStep=void 0,e.vlambda=void 0,e.collisionFilterGroup=void 0,e.collisionFilterMask=void 0,e.collisionResponse=void 0,e.position=void 0,e.previousPosition=void 0,e.interpolatedPosition=void 0,e.initPosition=void 0,e.velocity=void 0,e.initVelocity=void 0,e.force=void 0,e.mass=void 0,e.invMass=void 0,e.material=void 0,e.linearDamping=void 0,e.type=void 0,e.allowSleep=void 0,e.sleepState=void 0,e.sleepSpeedLimit=void 0,e.sleepTimeLimit=void 0,e.timeLastSleepy=void 0,e.wakeUpAfterNarrowphase=void 0,e.torque=void 0,e.quaternion=void 0,e.initQuaternion=void 0,e.previousQuaternion=void 0,e.interpolatedQuaternion=void 0,e.angularVelocity=void 0,e.initAngularVelocity=void 0,e.shapes=void 0,e.shapeOffsets=void 0,e.shapeOrientations=void 0,e.inertia=void 0,e.invInertia=void 0,e.invInertiaWorld=void 0,e.invMassSolve=void 0,e.invInertiaSolve=void 0,e.invInertiaWorldSolve=void 0,e.fixedRotation=void 0,e.angularDamping=void 0,e.linearFactor=void 0,e.angularFactor=void 0,e.aabb=void 0,e.aabbNeedsUpdate=void 0,e.boundingRadius=void 0,e.wlambda=void 0,e.isTrigger=void 0,e.id=n.idCounter++,e.index=-1,e.world=null,e.preStep=null,e.postStep=null,e.vlambda=new BF,e.collisionFilterGroup="number"==typeof i.collisionFilterGroup?i.collisionFilterGroup:1,e.collisionFilterMask="number"==typeof i.collisionFilterMask?i.collisionFilterMask:-1,e.collisionResponse="boolean"!=typeof i.collisionResponse||i.collisionResponse,e.position=new BF,e.previousPosition=new BF,e.interpolatedPosition=new BF,e.initPosition=new BF,i.position&&(e.position.copy(i.position),e.previousPosition.copy(i.position),e.interpolatedPosition.copy(i.position),e.initPosition.copy(i.position)),e.velocity=new BF,i.velocity&&e.velocity.copy(i.velocity),e.initVelocity=new BF,e.force=new BF;var r="number"==typeof i.mass?i.mass:0;return e.mass=r,e.invMass=r>0?1/r:0,e.material=i.material||null,e.linearDamping="number"==typeof i.linearDamping?i.linearDamping:.01,e.type=r<=0?n.STATIC:n.DYNAMIC,typeof i.type==typeof n.STATIC&&(e.type=i.type),e.allowSleep=void 0===i.allowSleep||i.allowSleep,e.sleepState=n.AWAKE,e.sleepSpeedLimit=void 0!==i.sleepSpeedLimit?i.sleepSpeedLimit:.1,e.sleepTimeLimit=void 0!==i.sleepTimeLimit?i.sleepTimeLimit:1,e.timeLastSleepy=0,e.wakeUpAfterNarrowphase=!1,e.torque=new BF,e.quaternion=new qF,e.initQuaternion=new qF,e.previousQuaternion=new qF,e.interpolatedQuaternion=new qF,i.quaternion&&(e.quaternion.copy(i.quaternion),e.initQuaternion.copy(i.quaternion),e.previousQuaternion.copy(i.quaternion),e.interpolatedQuaternion.copy(i.quaternion)),e.angularVelocity=new BF,i.angularVelocity&&e.angularVelocity.copy(i.angularVelocity),e.initAngularVelocity=new BF,e.shapes=[],e.shapeOffsets=[],e.shapeOrientations=[],e.inertia=new BF,e.invInertia=new BF,e.invInertiaWorld=new jF,e.invMassSolve=0,e.invInertiaSolve=new BF,e.invInertiaWorldSolve=new jF,e.fixedRotation=void 0!==i.fixedRotation&&i.fixedRotation,e.angularDamping=void 0!==i.angularDamping?i.angularDamping:.01,e.linearFactor=new BF(1,1,1),i.linearFactor&&e.linearFactor.copy(i.linearFactor),e.angularFactor=new BF(1,1,1),i.angularFactor&&e.angularFactor.copy(i.angularFactor),e.aabb=new HF,e.aabbNeedsUpdate=!0,e.boundingRadius=0,e.wlambda=new BF,e.isTrigger=Boolean(i.isTrigger),i.shape&&e.addShape(i.shape),e.updateMassProperties(),e}return b(n,[{key:"wakeUp",value:function(){var e=this.sleepState;this.sleepState=n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===n.SLEEPING&&this.dispatchEvent(n.wakeupEvent)}},{key:"sleep",value:function(){this.sleepState=n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}},{key:"sleepTick",value:function(e){if(this.allowSleep){var t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=P(this.sleepSpeedLimit,2);t===n.AWAKE&&ir?this.wakeUp():t===n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(n.sleepEvent))}}},{key:"updateSolveMassProperties",value:function(){this.sleepState===n.SLEEPING||this.type===n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}},{key:"pointToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}},{key:"vectorToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.conjugate().vmult(e,t),t}},{key:"pointToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}},{key:"addShape",value:function(e,t,n){var i=new BF,r=new qF;return t&&i.copy(t),n&&r.copy(n),this.shapes.push(e),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}},{key:"removeShape",value:function(e){var t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}},{key:"updateBoundingRadius",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=e.length,i=0,r=0;r!==n;r++){var o=e[r];o.updateBoundingSphereRadius();var a=t[r].length(),s=o.boundingSphereRadius;a+s>i&&(i=a+s)}this.boundingRadius=i}},{key:"updateAABB",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=this.shapeOrientations,i=e.length,r=uB,o=cB,a=this.quaternion,s=this.aabb,u=lB,c=0;c!==i;c++){var l=e[c];a.vmult(t[c],r),r.vadd(this.position,r),a.mult(n[c],o),l.calculateWorldAABB(r,o,u.lowerBound,u.upperBound),0===c?s.copy(u):s.extend(u)}this.aabbNeedsUpdate=!1}},{key:"updateInertiaWorld",value:function(e){var t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){var n=hB,i=dB;n.setRotationFromQuaternion(this.quaternion),n.transpose(i),n.scale(t,n),n.mmult(i,this.invInertiaWorld)}}},{key:"applyForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=fB;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}}},{key:"applyLocalForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=pB,r=vB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}}},{key:"applyTorque",value:function(e){this.type===n.DYNAMIC&&(this.sleepState===n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}},{key:"applyImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=t,r=gB;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);var o=mB;i.cross(e,o),this.invInertiaWorld.vmult(o,o),this.angularVelocity.vadd(o,this.angularVelocity)}}},{key:"applyLocalImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=yB,r=bB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}}},{key:"updateMassProperties",value:function(){var e=_B;this.invMass=this.mass>0?1/this.mass:0;var t=this.inertia,n=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),rB.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!n?1/t.x:0,t.y>0&&!n?1/t.y:0,t.z>0&&!n?1/t.z:0),this.updateInertiaWorld(!0)}},{key:"getVelocityAtWorldPoint",value:function(e,t){var n=new BF;return e.vsub(this.position,n),this.angularVelocity.cross(n,t),this.velocity.vadd(t,t),t}},{key:"integrate",value:function(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),(this.type===n.DYNAMIC||this.type===n.KINEMATIC)&&this.sleepState!==n.SLEEPING){var r=this.velocity,o=this.angularVelocity,a=this.position,s=this.force,u=this.torque,c=this.quaternion,l=this.invInertiaWorld,h=this.linearFactor,d=this.invMass*e;r.x+=s.x*d*h.x,r.y+=s.y*d*h.y,r.z+=s.z*d*h.z;var f=l.elements,p=this.angularFactor,v=u.x*p.x,g=u.y*p.y,m=u.z*p.z;o.x+=e*(f[0]*v+f[1]*g+f[2]*m),o.y+=e*(f[3]*v+f[4]*g+f[5]*m),o.z+=e*(f[6]*v+f[7]*g+f[8]*m),a.x+=r.x*e,a.y+=r.y*e,a.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}}]),n}(function(){function e(){m(this,e),this._listeners=void 0}return b(e,[{key:"addEventListener",value:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;return void 0===n[e]&&(n[e]=[]),n[e].includes(t)||n[e].push(t),this}},{key:"hasEventListener",value:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return!(void 0===n[e]||!n[e].includes(t))}},{key:"hasAnyEventListener",value:function(e){return void 0!==this._listeners&&void 0!==this._listeners[e]}},{key:"removeEventListener",value:function(e,t){if(void 0===this._listeners)return this;var n=this._listeners;if(void 0===n[e])return this;var i=n[e].indexOf(t);return-1!==i&&n[e].splice(i,1),this}},{key:"dispatchEvent",value:function(e){if(void 0===this._listeners)return this;var t=this._listeners[e.type];if(void 0!==t){e.target=this;for(var n=0,i=t.length;n0&&void 0!==arguments[0]?arguments[0]:new BF,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;m(this,s),this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new BF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=s.ANY,this.result=new wB,this.hasHit=!1,this.callback=function(e){}}return b(s,[{key:e,get:function(){return this._intersectSphere}},{key:t,get:function(){return this._intersectPlane}},{key:n,get:function(){return this._intersectBox}},{key:i,get:function(){return this._intersectConvex}},{key:r,get:function(){return this._intersectConvex}},{key:o,get:function(){return this._intersectHeightfield}},{key:a,get:function(){return this._intersectTrimesh}},{key:"intersectWorld",value:function(e,t){return this.mode=t.mode||s.ANY,this.result=t.result||new wB,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||function(){},this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(xB),SB.length=0,e.broadphase.aabbQuery(e,xB,SB),this.intersectBodies(SB),this.hasHit}},{key:"intersectBody",value:function(e,t){t&&(this.result=t,this.updateDirection());var n=this.checkCollisionResponse;if((!n||e.collisionResponse)&&0!=(this.collisionFilterGroup&e.collisionFilterMask)&&0!=(e.collisionFilterGroup&this.collisionFilterMask))for(var i=OB,r=TB,o=0,a=e.shapes.length;oe.boundingSphereRadius)){var r=this[e.type];r&&r.call(this,e,t,n,i,e)}}},{key:"_intersectBox",value:function(e,t,n,i,r){return this._intersectConvex(e.convexPolyhedronRepresentation,t,n,i,r)}},{key:"_intersectPlane",value:function(e,t,n,i,r){var o=this.from,a=this.to,s=this.direction,u=new BF(0,0,1);t.vmult(u,u);var c=new BF;o.vsub(n,c);var l=c.dot(u);if(a.vsub(n,c),!(l*c.dot(u)>0||o.distanceTo(a)=0&&p<=1&&(o.lerp(a,p,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1))}}},{key:"_intersectConvex",value:function(e,t,n,i,r,o){for(var a=BB,u=VB,c=o&&o.faceList||null,l=e.faces,h=e.vertices,d=e.faceNormals,f=this.direction,p=this.from,v=p.distanceTo(this.to),g=c?c.length:l.length,m=this.result,y=0;!m.shouldStop&&yv||this.reportIntersection(a,PB,r,i,b)}}}}}},{key:"_intersectTrimesh",value:function(e,t,n,i,r,o){var a=zB,u=XB,c=YB,l=VB,h=UB,d=HB,f=GB,p=qB,v=WB,g=e.indices,m=this.from,y=this.to,b=this.direction;c.position.copy(n),c.quaternion.copy(t),QF.vectorToLocalFrame(n,t,b,h),QF.pointToLocalFrame(n,t,m,d),QF.pointToLocalFrame(n,t,y,f),f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,d.x*=e.scale.x,d.y*=e.scale.y,d.z*=e.scale.z,f.vsub(d,h),h.normalize();var _=d.distanceSquared(f);e.tree.rayQuery(this,c,u);for(var w=0,k=u.length;!this.result.shouldStop&&w!==k;w++){var x=u[w];e.getNormal(x,a),e.getVertex(g[3*x],AB),AB.vsub(d,l);var S=h.dot(a),C=a.dot(l)/S;if(!(C<0)){h.scale(C,PB),PB.vadd(d,PB),e.getVertex(g[3*x+1],MB),e.getVertex(g[3*x+2],IB);var E=PB.distanceSquared(d);!s.pointInTriangle(PB,MB,AB,IB)&&!s.pointInTriangle(PB,AB,MB,IB)||E>_||(QF.vectorToWorldFrame(t,a,v),QF.pointToWorldFrame(n,t,PB,p),this.reportIntersection(v,p,r,i,x))}}u.length=0}},{key:"reportIntersection",value:function(e,t,n,i,r){var o=this.from,a=this.to,u=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==r?r:-1,this.mode){case s.ALL:this.hasHit=!0,c.set(o,a,e,t,n,i,u),c.hasHit=!0,this.callback(c);break;case s.CLOSEST:(u=0&&(o=a*l-s*u)>=0&&r+o0){var o,a=_(e.mesh.primitives);try{for(a.s();!(o=a.n()).done;){var s=o.value;s.attributes.POSITION&&s.attributes.POSITION.min&&function(){var o=r.transformAsPoint(s.attributes.POSITION.min,[]),a=r.transformAsPoint(s.attributes.POSITION.max,[]);i.push({"@id":t["@id"],name:e.name,entityId:t.entityId,bbox:new HF({lowerBound:h(BF,v(o.map(function(e,t){return Math.min(e,a[t])}))),upperBound:h(BF,v(a.map(function(e,t){return Math.max(e,o[t])})))}),gltf:n})}()}}catch(E){a.e(E)}finally{a.f()}}return!0})}catch(E){r.e(E)}finally{r.f()}case 6:case"end":return e.stop()}},e)}),r.s();case 6:if((o=r.n()).done){t.next=10;break}return t.delegateYield(a(),"t0",8);case 8:t.next=6;break;case 10:t.next=15;break;case 12:t.prev=12,t.t1=t.catch(3),r.e(t.t1);case 15:return t.prev=15,r.f(),t.finish(15);case 18:s=[],u=[],c=_(n);try{for(c.s();!(l=c.n()).done;){d=l.value,f=[],p=_(i);try{for(p.s();!(g=p.n()).done;)m=g.value,d.bbox.overlaps(m.bbox)&&f.push({"@id":m["@id"],name:m.name})}catch(E){p.e(E)}finally{p.f()}f.length>0?s.push({"@id":d.entityId,name:d.name,hits:f}):u.push(d)}}catch(E){c.e(E)}finally{c.f()}for(console.log({sourceBoxes:n,targetBoxes:i,report:s,sad:u,maxHits:Math.max.apply(Math,v(s.map(function(e){return e.hits.length})))}),y=[],b=0,w=s;b1&&void 0!==arguments[1]?arguments[1]:[],i=_(e.nodes||e.children||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;n.push(r.name),cV(r,n)}}catch(o){i.e(o)}finally{i.f()}return n}var lV=function(){var e=function(){function e(t){var n,i,r,o,a,s=this;m(this,e),this.deckProps=t,this.bodyUILayer=new uV({}),this.nodeClickSubject=new ae,this.nodeHoverStartSubject=new ae,this.nodeHoverStopSubject=new ae,this.sceneRotationSubject=new vv([0,0]),this.nodeDragStartSubject=new ae,this.nodeDragSubject=new ae,this.nodeDragEndSubject=new ae,this.nodeClick$=this.nodeClickSubject.pipe(je()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(je()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(je()),this.sceneRotation$=this.sceneRotationSubject.pipe(je()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(je()),this.nodeDrag$=this.nodeDragSubject.pipe(je()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(je());var u=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new UM({flipY:!1,near:-1e3}):new qM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:function(e){var t;return null!==(t=s.cursor)&&void 0!==t?t:e.isDragging?"grabbing":"grab"}});t.legacyLighting&&(u.effects=[new mI({ambientLight:new KM({color:[255,255,255],intensity:10})})]),this.deck=new kD(u),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(n=t.minRotationX)&&void 0!==n?n:-15,maxRotationX:null!==(i=t.maxRotationX)&&void 0!==i?i:15,target:null!==(r=t.target)&&void 0!==r?r:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}return b(e,[{key:"initialize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.bodyUILayer.state){e.next=5;break}return e.next=3,new Promise(function(e){setTimeout(e,200)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e,this)}))}},{key:"finalize",value:function(){this.deck.finalize()}},{key:"setScene",value:function(e){if((null==e?void 0:e.length)>0){var t,n=this.bodyUILayer.state.zoomOpacity,i=!1,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.zoomToOnLoad&&(this.zoomTo(o),i=!0)}}catch(a){r.e(a)}finally{r.f()}n=i?.05:n,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(e,n):this.bodyUILayer.setState({data:e,zoomOpacity:n})}}},{key:"debugSceneNodeProcessing",value:function(e,t){var n=this,i="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",r=new $O([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(e,t,n){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s,u,c,l,d,f,p,g,m,y,b,w,k,x,S,C;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return nV(),n.next=3,rV({scenegraph:e,scenegraphNode:"VHF_Kidney_L_Low1"});case 3:i=n.sent,r={},o=[],a=_(i.scenes);try{for(a.s();!(s=a.n()).done;)tV(s.value,t=new $O(t||$O.IDENTITY),function(n,i){var a={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new $O(i),geometry:"wireframe",node:n};if(o.push({"@id":"GLTF:".concat(a["@id"]),"@type":"GLTFNode",scenegraph:e,scenegraphNode:a["@id"],transformMatrix:new $O(t||$O.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0){var s,u=_(n.mesh.primitives);try{for(u.s();!(s=u.n()).done;){var c=s.value;c.attributes.POSITION&&c.attributes.POSITION.min&&function(){var e=i.transformAsPoint(c.attributes.POSITION.min,[]),t=i.transformAsPoint(c.attributes.POSITION.max,[]);a.bbox=new HF({lowerBound:h(BF,v(e.map(function(e,n){return Math.min(e,t[n])}))),upperBound:h(BF,v(t.map(function(t,n){return Math.max(t,e[n])})))})}()}}catch(l){u.e(l)}finally{u.f()}}return r[a["@id"]]=a,!0})}catch(E){a.e(E)}finally{a.f()}u=_(Object.values(r).filter(function(e){return!e.bbox}));try{for(u.s();!(c=u.n()).done;){l=c.value,d=_(cV(l.node).map(function(e){return r[e]}).filter(function(e){return e.bbox}));try{for(d.s();!(f=d.n()).done;)p=f.value,l.bbox?l.bbox.extend(p.bbox):l.bbox=p.bbox.clone()}catch(E){d.e(E)}finally{d.f()}l.bbox||delete r[l["@id"]]}}catch(E){u.e(E)}finally{u.f()}for(g=0,m=Object.values(r);g1&&void 0!==arguments[1]?arguments[1]:hV,n=null,i=null;function r(){return dV(t,n,arguments)||(i=e.apply(null,arguments)),n=arguments,i}return r.reset=function(){n=null,i=null},r}var pV=fV(function(){var e=ch();if(!e)return!1;var t=e.injector.get(Gl,null);return!!t&&t.some(function(e){return(e&&e.providers||[]).some(function(e){return e&&e.provide&&"MockNgModuleResolver"===e.provide.name||!1})})}),vV=function(){var e=function(){function e(){m(this,e),this.bootstrap$=new Bf(1)}return b(e,[{key:"appBootstrapped$",get:function(){return this.bootstrap$.asObservable()}},{key:"bootstrap",value:function(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gV=new Ri("INITIAL_STATE_TOKEN"),mV=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"set",value:function(e){this.value=e}},{key:"pop",value:function(){var e=this.value;return this.value={},e}}]),e}();return e.value={},e}(),yV=new Ri("Internals.StateContextFactory"),bV=new Ri("Internals.StateFactory");function _V(e,t){return t?function(n){return n.pipe(_V(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))}))}:function(t){return t.lift(new wV(e))}}var wV=function(){function e(t){m(this,e),this.project=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kV(e,this.project))}}]),e}(),kV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).project=i,r.hasSubscription=!1,r.hasCompleted=!1,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.hasSubscription||this.tryNext(e)}},{key:"tryNext",value:function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(t)}},{key:"_innerSub",value:function(e){var t=new be(this),n=this.destination;n.add(t);var i=we(e,t);i!==t&&n.add(i)}},{key:"_complete",value:function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}},{key:"notifyNext",value:function(e){this.destination.next(e)}},{key:"notifyError",value:function(e){this.destination.error(e)}},{key:"notifyComplete",value:function(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}]),n}(_e);function xV(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(t){return t.lift(new SV(e))}}var SV=function(){function e(t){m(this,e),this.defaultValue=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CV(e,this.defaultValue))}}]),e}(),CV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).defaultValue=i,r.isEmpty=!0,r}return b(n,[{key:"_next",value:function(e){this.isEmpty=!1,this.destination.next(e)}},{key:"_complete",value:function(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}]),n}(K),EV=function(e){return"".concat(e," is not a valid state name. It needs to be a valid object property name.")},OV=function(){return"States must register a 'name' property"},TV=function(e,t,n){return"State name '".concat(e,"' from ").concat(t," already exists in ").concat(n)},PV=function(){return"States must be decorated with @State() decorator"},AV=function(){return"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},MV=function(){return"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},IV=function(){return"You have forgotten to import the NGXS module!"},RV=function(){return"@Action() decorator cannot be used with static methods"},DV=function(){return"Selectors only work on methods"},NV=function(){return"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })"},LV=function(){return"Patching arrays is not supported."},jV=function(){return"Patching primitives is not supported."},FV=function(e){return"'".concat(e,"' class should be decorated with @Injectable() right after the @State() decorator")},BV=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._platformId=n,this.verifyZoneIsNotNooped(this._ngZone)}return b(e,[{key:"enter",value:function(e){return function(e){return"server"===e}(this._platformId)?this.runInsideAngular(e):this.runOutsideAngular(e)}},{key:"leave",value:function(e){return this.runInsideAngular(e)}},{key:"runInsideAngular",value:function(e){return Xl.isInAngularZone()?e():this._ngZone.run(e)}},{key:"runOutsideAngular",value:function(e){return Xl.isInAngularZone()?this._ngZone.runOutsideAngular(e):e()}},{key:"verifyZoneIsNotNooped",value:function(e){e instanceof Xl||console.warn(NV())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(Ml))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),VV=new Ri("ROOT_STATE_TOKEN"),zV=new Ri("FEATURE_STATE_TOKEN"),UV=new Ri("NGXS_PLUGINS"),HV=new Ri("NG_TEST_MODE"),GV=new Ri("NG_DEV_MODE"),WV="NGXS_META",qV="NGXS_OPTIONS_META",XV="NGXS_SELECTOR_META",YV=function(){var e=function e(){m(this,e),this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=BV};return e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)}}),e}(),KV=function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i},$V=new Ri("NGXS_EXECUTION_STRATEGY");function QV(e){return e.constructor&&e.constructor.type?e.constructor.type:e.type}var ZV=function(e,t,n){e=Object.assign({},e);var i=t.split("."),r=i.length-1;return i.reduce(function(e,t,i){return e[t]=i===r?n:Array.isArray(e[t])?e[t].slice():Object.assign({},e[t]),e&&e[t]},e),e},JV=function(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)},ez=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},tz=function e(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:uz,i=function(e){return e.reduce(function(e,t){return e[QV(t)]=!0,e},{})}(e),r=t&&function(e){return e.reduce(function(e,t){return e[t]=!0,e},{})}(t);return function(e){return e.pipe(function(e,t){return bf(function(n){var i=QV(n.action);return e[i]&&(!t||t[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function uz(){return ce(function(e){return e.action})}function cz(e){return function(t){return new te(function(n){return t.subscribe({next:function(t){e.leave(function(){return n.next(t)})},error:function(t){e.leave(function(){return n.error(t)})},complete:function(){e.leave(function(){return n.complete()})}})})}}var lz=function(){var e=function(){function e(t){m(this,e),this._executionStrategy=t}return b(e,[{key:"enter",value:function(e){return this._executionStrategy.enter(e)}},{key:"leave",value:function(e){return this._executionStrategy.leave(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi($V))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),hz=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._itemQueue=[],e._busyPushingNext=!1,e}return b(i,[{key:"next",value:function(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,e(p(i.prototype),"next",this).call(this,t);this._itemQueue.length>0;){var n=this._itemQueue.pop();e(p(i.prototype),"next",this).call(this,n)}this._busyPushingNext=!1}}}]),i}(ae),dz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(hz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),fz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,function(t){var n=e.pipe(cz(i)).subscribe({next:function(e){return t.next(e)},error:function(e){return t.error(e)},complete:function(){return t.complete()}});t.add(n)})}return n}(te);return e.\u0275fac=function(t){return new(t||e)(Zi(dz),Zi(lz))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),pz=function e(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(o)||(o=[]),o.push(r),n[r]=!0,e[r].forEach(function(e){if(o.indexOf(e)>=0)throw new Error("Circular dependency '".concat(e,"' is required by '").concat(r,"': ").concat(o.join(" -> ")));n[e]||i(e,o.slice(0))}),t.indexOf(r)<0&&t.push(r)};return Object.keys(e).forEach(function(e){return i(e)}),t.reverse()}(r),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function e(t,n){for(var i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(n)>=0){var r=e(t,i);return null!==r?"".concat(r,".").concat(i):i}return null};for(var i in e)if(e.hasOwnProperty(i)){var r=n(e,i);t[i]=r?"".concat(r,".").concat(i):i}return t}(r),s=function(e){return e.reduce(function(e,t){return e[t[WV].name]=t,e},{})}(n),u=[],c=_(o);try{for(c.s();!(i=c.n()).done;){var l=i.value,h=s[l],d=a[l],f=h[WV];this.addRuntimeInfoToMeta(f,d);var p={name:l,path:d,isInitialised:!1,actions:f.actions,instance:this._injector.get(h),defaults:e.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(l,d)||u.push(p),this.states.push(p)}}catch(v){c.e(v)}finally{c.f()}return u}},{key:"addAndReturnDefaults",value:function(e){var t=this.add(e||[]);return{defaults:t.reduce(function(e,t){return ZV(e,t.path,t.defaults)},{}),states:t}}},{key:"connectActionHandlers",value:function(){var e=this;null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(bf(function(e){return"DISPATCHED"===e.status}),ke(function(t){var n=t.action;return e.invokeActions(e._actions,n).pipe(ce(function(){return{action:n,status:"SUCCESSFUL"}}),xV({action:n,status:"CANCELED"}),Bb(function(e){return $d({action:n,status:"ERRORED",error:e})}))})).subscribe(function(t){return e._actionResults.next(t)}))}},{key:"invokeActions",value:function(e,t){var n,i=QV(t),r=[],o=_(this.states);try{for(o.s();!(n=o.n()).done;){var a=n.value,s=a.actions[i];if(s){var u,c=_(s);try{for(c.s();!(u=c.n()).done;){var l=u.value,h=this._stateContextFactory.createStateContext(a);try{var d=a.instance[l.fn](h,t);d instanceof Promise&&(d=ye(d)),d instanceof te?(d=d.pipe(xV({})),l.options.cancelUncompleted&&(d=d.pipe(kf(e.pipe(sz(t)))))):d=$d({}).pipe(zf()),r.push(d)}catch(d){r.push(Rf(d))}}}catch(f){c.e(f)}finally{c.f()}}}}catch(f){o.e(f)}finally{o.f()}return r.length||r.push($d({})),jb(r)}},{key:"addToStatesMap",value:function(e){var t,n=[],i=this.statesByName,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=Sz.checkStateNameIsUnique(o,i);!i[a]&&(n.push(o),i[a]=o)}}catch(s){r.e(s)}finally{r.f()}return{newStates:n}}},{key:"addRuntimeInfoToMeta",value:function(e,t){this.statePaths[e.name]=t,e.path=t}},{key:"hasBeenMountedAndBootstrapped",value:function(e,t){var n=void 0!==JV(this._initialState,t);return this.statesByName[e]&&n}}],[{key:"cloneDefaults",value:function(e){return Array.isArray(e)?e.slice():function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e)?Object.assign({},e):void 0===e?{}:e}},{key:"checkStatesAreValid",value:function(e){e.forEach(Sz.getValidStateMeta)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(YV),Zi(e,12),Zi(dz),Zi(mz),Zi(xz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ez=function(){var e=function(){function e(t,n,i){m(this,e),this.internalStateOperations=t,this.stateContextFactory=n,this.bootstrapper=i}return b(e,[{key:"ngxsBootstrap",value:function(e,t){var n=this;this.internalStateOperations.getRootStateOperations().dispatch(e).pipe(bf(function(){return!!t}),mv(function(){return n.invokeInit(t.states)}),ke(function(){return n.bootstrapper.appBootstrapped$}),bf(function(e){return!!e})).subscribe(function(){return n.invokeBootstrap(t.states)})}},{key:"invokeInit",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;if(r.ngxsOnChanges){var o=az(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(o)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}catch(a){n.e(a)}finally{n.f()}}},{key:"invokeBootstrap",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}catch(o){n.e(o)}finally{n.f()}}},{key:"getStateContext",value:function(e){return this.stateContextFactory.createStateContext(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(kz),Zi(xz),Zi(vV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Oz=function(e){return e&&e.NGXS_SELECTOR_OPTIONS_META||{}};function Tz(e){var t=rz(e)||iz(e);return t&&t.makeRootSelector||function(){return e}}var Pz=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._stateStream=t,this._internalStateOperations=n,this._config=i,this._internalExecutionStrategy=r,this._stateFactory=o,this.initStateStream(a)}return b(e,[{key:"dispatch",value:function(e){return this._internalStateOperations.getRootStateOperations().dispatch(e)}},{key:"select",value:function(e){var t=this,n=this.getStoreBoundSelectorFn(e);return this._stateStream.pipe(ce(n),Bb(function(e){var n=t._config.selectorOptions.suppressErrors;return e instanceof TypeError&&n?$d(void 0):Rf(e)}),lf(),cz(this._internalExecutionStrategy))}},{key:"selectOnce",value:function(e){return this.select(e).pipe(_p(1))}},{key:"selectSnapshot",value:function(e){return this.getStoreBoundSelectorFn(e)(this._stateStream.getValue())}},{key:"subscribe",value:function(e){return this._stateStream.pipe(cz(this._internalExecutionStrategy)).subscribe(e)}},{key:"snapshot",value:function(){return this._internalStateOperations.getRootStateOperations().getState()}},{key:"reset",value:function(e){return this._internalStateOperations.getRootStateOperations().setState(e)}},{key:"getStoreBoundSelectorFn",value:function(e){return Tz(e)(this._stateFactory.getRuntimeSelectorContext())}},{key:"initStateStream",value:function(e){var t=this._stateStream.value;if(!t||0===Object.keys(t).length){var n=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,e):e;this._stateStream.next(n)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(vz),Zi(kz),Zi(YV),Zi(lz),Zi(Cz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Az=function(){var e=function(){function e(t,n){m(this,e),e.store=t,e.config=n}return b(e,[{key:"ngOnDestroy",value:function(){e.store=null,e.config=null}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz),Zi(YV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e.store=null,e.config=null,e}(),Mz=function(){function e(){m(this,e)}return b(e,null,[{key:"type",get:function(){return"@@INIT"}}]),e}(),Iz=function(){function e(t){m(this,e),this.addedStates=t}return b(e,null,[{key:"type",get:function(){return"@@UPDATE_STATE"}}]),e}(),Rz=new Bf(1),Dz=function(){var e=function e(t,n,i,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;m(this,e),function(){try{var t=window.ng,n=!(t.probe&&t.coreTokens)&&ah();Rz.next(n)}catch(e){Rz.next(!1)}finally{Rz.complete()}}();var s=t.addAndReturnDefaults(o);n.setStateToTheCurrentWithNew(s),t.connectActionHandlers(),a.ngxsBootstrap(new Mz,s)};return e.\u0275fac=function(t){return new(t||e)(Zi(Cz),Zi(kz),Zi(Pz),Zi(Az),Zi(VV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Nz=function(){var e=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;m(this,e);var a=e.flattenStates(r),s=i.addAndReturnDefaults(a);s.states.length&&(n.setStateToTheCurrentWithNew(s),o.ngxsBootstrap(new Iz(s.defaults),s))}return b(e,null,[{key:"flattenStates",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce(function(e,t){return e.concat(t)},[])}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz),Zi(kz),Zi(Cz),Zi(zV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Lz=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{ngModule:Dz,providers:[Cz,xz,fz,dz,vV,wz,_z,Ez,yz,mz,kz,lz,Pz,vz,Az,gz].concat(v(t),v(e.ngxsTokenProviders(t,n)))}}},{key:"forFeature",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:Nz,providers:[Cz,gz].concat(v(e),[{provide:zV,multi:!0,useValue:e}])}}},{key:"ngxsTokenProviders",value:function(t,n){return[{provide:HV,useValue:pV},{provide:GV,useValue:ah},{provide:$V,useClass:n.executionStrategy||BV},{provide:VV,useValue:t},{provide:e.ROOT_OPTIONS,useValue:n},{provide:YV,useFactory:e.ngxsConfigFactory,deps:[e.ROOT_OPTIONS]},{provide:Il,useFactory:e.appBootstrapListenerFactory,multi:!0,deps:[vV]},{provide:gV,useFactory:e.getInitialState},{provide:yV,useExisting:xz},{provide:bV,useExisting:Cz}]}},{key:"ngxsConfigFactory",value:function(e){return tz(new YV,e)}},{key:"appBootstrapListenerFactory",value:function(e){return function(){return e.bootstrap()}}},{key:"getInitialState",value:function(){return mV.pop()}}]),e}();function jz(e,t){return function(n,i){if(n.hasOwnProperty("prototype"))throw new Error(RV());var r=nz(n.constructor);Array.isArray(e)||(e=[e]);var o,a=_(e);try{for(a.s();!(o=a.n()).done;){var s=o.value.type;r.actions[s]||(r.actions[s]=[]),r.actions[s].push({fn:i,options:t||{},type:s})}}catch(u){a.e(u)}finally{a.f()}}}function Fz(e){return function(t){!function(e){Rz.subscribe(function(t){t&&(e.\u0275prov||console.warn(FV(e.name)))})}(t);var n=t,i=nz(n),r=Object.getPrototypeOf(n),o=function(t){return Object.assign({},t[qV]||{},e)}(r);(function(e){var t=e.meta,n=e.inheritedStateClass,i=e.optionsWithInheritance,r=i.children,o=i.defaults,a=i.name,s="string"==typeof a?a:a&&a.getName()||null;Sz.checkCorrectStateName(s),n.hasOwnProperty(WV)&&(t.actions=Object.assign({},t.actions,(n[WV]||{}).actions)),t.children=r,t.defaults=o,t.name=s})({meta:i,inheritedStateClass:r,optionsWithInheritance:o}),n[qV]=o}}function Bz(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:[];return"string"==typeof(t=t||function(e){var t=e.length-1;return 36===e.charCodeAt(t)?e.slice(0,t):e}(e))?oz(n.length?[t].concat(v(n)):t.split("."),Az.config):t}(a,e,n);Object.defineProperties(t,(o(r={},s,{writable:!0,enumerable:!1,configurable:!0}),o(r,a,{enumerable:!0,configurable:!0,get:function(){return this[s]||(this[s]=function(e){if(!Az.store)throw new Error(IV());return Az.store.select(e)}(u))}}),r))}}function Vz(e){return function(t,n,i){if(!i||null===i.value)throw new Error(DV());var r=i.value,o=function(e,t,n){var i=n&&n.containerClass,r=fV(function(){for(var e=arguments.length,n=new Array(e),r=0;r2&&void 0!==arguments[2]?arguments[2]:[],i=t.getSelectorOptions(),r=e.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=[];return n&&(0===e.length||t.injectContainerState)&&iz(n)&&i.push(n),e&&i.push.apply(i,v(e)),i}(n,r,t.containerClass).map(function(t){return Tz(t)(e)})}}(t,o,e),i=n.argumentSelectorFunctions,a=n.selectorOptions;return function(e){var t=i.map(function(t){return t(e)});try{return r.apply(void 0,v(t))}catch(n){if(n instanceof TypeError&&a.suppressErrors)return;throw n}}},r}(e,r,{containerClass:t,selectorName:n.toString(),getSelectorOptions:function(){return{}}}),a={configurable:!0,get:function(){return o}};return a.originalFn=r,a}}Lz.\u0275fac=function(e){return new(e||Lz)},Lz.\u0275mod=Mt({type:Lz}),Lz.\u0275inj=Qe({}),Lz.ROOT_OPTIONS=new Ri("ROOT_OPTIONS");var zz=function(){var e=function(){function e(t,n){m(this,e),this._renderer=t,this._elementRef=n,this.onChange=function(e){},this.onTouched=function(){}}return b(e,[{key:"setProperty",value:function(e,t){this._renderer.setProperty(this._elementRef.nativeElement,e,t)}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"registerOnChange",value:function(e){this.onChange=e}},{key:"setDisabledState",value:function(e){this.setProperty("disabled",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju))},e.\u0275dir=Rt({type:e}),e}(),Uz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(zz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),Hz=new Ri("NgValueAccessor"),Gz={provide:Hz,useExisting:He(function(){return qz}),multi:!0},Wz=new Ri("CompositionEventMode"),qz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e,i))._compositionMode=r,o._composing=!1,null==o._compositionMode&&(o._compositionMode=!function(){var e=yh()?yh().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}()),o}return b(n,[{key:"writeValue",value:function(e){this.setProperty("value",null==e?"":e)}},{key:"_handleInput",value:function(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}},{key:"_compositionStart",value:function(){this._composing=!0}},{key:"_compositionEnd",value:function(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}]),n}(zz);return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Wz,8))},e.\u0275dir=Rt({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(e,t){1&e&&Vs("input",function(e){return t._handleInput(e.target.value)})("blur",function(){return t.onTouched()})("compositionstart",function(){return t._compositionStart()})("compositionend",function(e){return t._compositionEnd(e.target.value)})},features:[Xu([Gz]),cs]}),e}(),Xz=new Ri("NgValidators"),Yz=new Ri("NgAsyncValidators");function Kz(e){return null!=e}function $z(e){var t=js(e)?ye(e):e;return Bs(t),t}function Qz(e){var t={};return e.forEach(function(e){t=null!=e?Object.assign(Object.assign({},t),e):t}),0===Object.keys(t).length?null:t}function Zz(e,t){return t.map(function(t){return t(e)})}function Jz(e){return e.map(function(e){return function(e){return!e.validate}(e)?e:function(t){return e.validate(t)}})}function eU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return Qz(Zz(e,t))}}(Jz(e)):null}function tU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return jb(Zz(e,t).map($z)).pipe(ce(Qz))}}(Jz(e)):null}function nU(e,t){return null===e?[t]:Array.isArray(e)?[].concat(v(e),[t]):[e,t]}function iU(e){return e._rawValidators}function rU(e){return e._rawAsyncValidators}function oU(e){return e?Array.isArray(e)?e:[e]:[]}function aU(e,t){return Array.isArray(e)?e.includes(t):e===t}function sU(e,t){var n=oU(t);return oU(e).forEach(function(e){aU(n,e)||n.push(e)}),n}function uU(e,t){return oU(t).filter(function(t){return!aU(e,t)})}var cU=function(){var e=function(){function e(){m(this,e),this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}return b(e,[{key:"value",get:function(){return this.control?this.control.value:null}},{key:"valid",get:function(){return this.control?this.control.valid:null}},{key:"invalid",get:function(){return this.control?this.control.invalid:null}},{key:"pending",get:function(){return this.control?this.control.pending:null}},{key:"disabled",get:function(){return this.control?this.control.disabled:null}},{key:"enabled",get:function(){return this.control?this.control.enabled:null}},{key:"errors",get:function(){return this.control?this.control.errors:null}},{key:"pristine",get:function(){return this.control?this.control.pristine:null}},{key:"dirty",get:function(){return this.control?this.control.dirty:null}},{key:"touched",get:function(){return this.control?this.control.touched:null}},{key:"status",get:function(){return this.control?this.control.status:null}},{key:"untouched",get:function(){return this.control?this.control.untouched:null}},{key:"statusChanges",get:function(){return this.control?this.control.statusChanges:null}},{key:"valueChanges",get:function(){return this.control?this.control.valueChanges:null}},{key:"path",get:function(){return null}},{key:"_setValidators",value:function(e){this._rawValidators=e||[],this._composedValidatorFn=eU(this._rawValidators)}},{key:"_setAsyncValidators",value:function(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=tU(this._rawAsyncValidators)}},{key:"validator",get:function(){return this._composedValidatorFn||null}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn||null}},{key:"_registerOnDestroy",value:function(e){this._onDestroyCallbacks.push(e)}},{key:"_invokeOnDestroyCallbacks",value:function(){this._onDestroyCallbacks.forEach(function(e){return e()}),this._onDestroyCallbacks=[]}},{key:"reset",value:function(e){this.control&&this.control.reset(e)}},{key:"hasError",value:function(e,t){return!!this.control&&this.control.hasError(e,t)}},{key:"getError",value:function(e,t){return this.control?this.control.getError(e,t):null}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),lU=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"formDirective",get:function(){return null}},{key:"path",get:function(){return null}}]),n}(cU);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),hU=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._parent=null,e.name=null,e.valueAccessor=null,e}return n}(cU),dU=function(){function e(t){m(this,e),this._cd=t}return b(e,[{key:"is",value:function(e){var t,n,i;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[e])}}]),e}(),fU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(hU,2))},e.\u0275dir=Rt({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))},features:[cs]}),e}(),pU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))("ng-submitted",t.is("submitted"))},features:[cs]}),e}();function vU(e,t){yU(e,t),t.valueAccessor.writeValue(e.value),function(e,t){t.valueAccessor.registerOnChange(function(n){e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&_U(e,t)})}(e,t),function(e,t){var n=function(e,n){t.valueAccessor.writeValue(e),n&&t.viewToModelUpdate(e)};e.registerOnChange(n),t._registerOnDestroy(function(){e._unregisterOnChange(n)})}(e,t),function(e,t){t.valueAccessor.registerOnTouched(function(){e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&_U(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function(e,t){if(t.valueAccessor.setDisabledState){var n=function(e){t.valueAccessor.setDisabledState(e)};e.registerOnDisabledChange(n),t._registerOnDestroy(function(){e._unregisterOnDisabledChange(n)})}}(e,t)}function gU(e,t){var n=function(){};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),bU(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(function(){}))}function mU(e,t){e.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function yU(e,t){var n=iU(e);null!==t.validator?e.setValidators(nU(n,t.validator)):"function"==typeof n&&e.setValidators([n]);var i=rU(e);null!==t.asyncValidator?e.setAsyncValidators(nU(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);var r=function(){return e.updateValueAndValidity()};mU(t._rawValidators,r),mU(t._rawAsyncValidators,r)}function bU(e,t){var n=!1;if(null!==e){if(null!==t.validator){var i=iU(e);if(Array.isArray(i)&&i.length>0){var r=i.filter(function(e){return e!==t.validator});r.length!==i.length&&(n=!0,e.setValidators(r))}}if(null!==t.asyncValidator){var o=rU(e);if(Array.isArray(o)&&o.length>0){var a=o.filter(function(e){return e!==t.asyncValidator});a.length!==o.length&&(n=!0,e.setAsyncValidators(a))}}}var s=function(){};return mU(t._rawValidators,s),mU(t._rawAsyncValidators,s),n}function _U(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function wU(e,t){yU(e,t)}function kU(e,t){if(!e.hasOwnProperty("model"))return!1;var n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}function xU(e,t){e._syncPendingControls(),t.forEach(function(e){var t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)})}function SU(e,t){return t?(Array.isArray(t),t.forEach(function(e){e.constructor===qz?n=e:function(e){return Object.getPrototypeOf(e.constructor)===Uz}(e)?i=e:r=e}),r||i||n||null):null;var n,i,r}function CU(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var EU="VALID",OU="INVALID",TU="PENDING",PU="DISABLED";function AU(e){return(DU(e)?e.validators:e)||null}function MU(e){return Array.isArray(e)?eU(e):e||null}function IU(e,t){return(DU(t)?t.asyncValidators:e)||null}function RU(e){return Array.isArray(e)?tU(e):e||null}function DU(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var NU=function(){function e(t,n){m(this,e),this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=MU(this._rawValidators),this._composedAsyncValidatorFn=RU(this._rawAsyncValidators)}return b(e,[{key:"validator",get:function(){return this._composedValidatorFn},set:function(e){this._rawValidators=this._composedValidatorFn=e}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn},set:function(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}},{key:"parent",get:function(){return this._parent}},{key:"valid",get:function(){return this.status===EU}},{key:"invalid",get:function(){return this.status===OU}},{key:"pending",get:function(){return this.status==TU}},{key:"disabled",get:function(){return this.status===PU}},{key:"enabled",get:function(){return this.status!==PU}},{key:"dirty",get:function(){return!this.pristine}},{key:"untouched",get:function(){return!this.touched}},{key:"updateOn",get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"setValidators",value:function(e){this._rawValidators=e,this._composedValidatorFn=MU(e)}},{key:"setAsyncValidators",value:function(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=RU(e)}},{key:"addValidators",value:function(e){this.setValidators(sU(e,this._rawValidators))}},{key:"addAsyncValidators",value:function(e){this.setAsyncValidators(sU(e,this._rawAsyncValidators))}},{key:"removeValidators",value:function(e){this.setValidators(uU(e,this._rawValidators))}},{key:"removeAsyncValidators",value:function(e){this.setAsyncValidators(uU(e,this._rawAsyncValidators))}},{key:"hasValidator",value:function(e){return aU(this._rawValidators,e)}},{key:"hasAsyncValidator",value:function(e){return aU(this._rawAsyncValidators,e)}},{key:"clearValidators",value:function(){this.validator=null}},{key:"clearAsyncValidators",value:function(){this.asyncValidator=null}},{key:"markAsTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}},{key:"markAllAsTouched",value:function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(e){return e.markAllAsTouched()})}},{key:"markAsUntouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(e){e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"markAsDirty",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}},{key:"markAsPristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(e){e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"markAsPending",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.status=TU,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}},{key:"disable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=PU,this.errors=null,this._forEachChild(function(t){t.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!0)})}},{key:"enable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=EU,this._forEachChild(function(t){t.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!1)})}},{key:"_updateAncestors",value:function(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}},{key:"setParent",value:function(e){this._parent=e}},{key:"updateValueAndValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===EU||this.status===TU)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}},{key:"_updateTreeValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{emitEvent:!0};this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}},{key:"_setInitialStatus",value:function(){this.status=this._allControlsDisabled()?PU:EU}},{key:"_runValidator",value:function(){return this.validator?this.validator(this):null}},{key:"_runAsyncValidator",value:function(e){var t=this;if(this.asyncValidator){this.status=TU,this._hasOwnPendingAsyncValidator=!0;var n=$z(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){t._hasOwnPendingAsyncValidator=!1,t.setErrors(n,{emitEvent:e})})}}},{key:"_cancelExistingSubscription",value:function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}},{key:"setErrors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}},{key:"get",value:function(e){return function(e,t,n){if(null==t||(Array.isArray(t)||(t=t.split(".")),Array.isArray(t)&&0===t.length))return null;var i=e;return t.forEach(function(e){i=i instanceof jU?i.controls.hasOwnProperty(e)?i.controls[e]:null:i instanceof FU&&i.at(e)||null}),i}(this,e)}},{key:"getError",value:function(e,t){var n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}},{key:"hasError",value:function(e,t){return!!this.getError(e,t)}},{key:"root",get:function(){for(var e=this;e._parent;)e=e._parent;return e}},{key:"_updateControlsErrors",value:function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}},{key:"_initObservables",value:function(){this.valueChanges=new ol,this.statusChanges=new ol}},{key:"_calculateStatus",value:function(){return this._allControlsDisabled()?PU:this.errors?OU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(TU)?TU:this._anyControlsHaveStatus(OU)?OU:EU}},{key:"_anyControlsHaveStatus",value:function(e){return this._anyControls(function(t){return t.status===e})}},{key:"_anyControlsDirty",value:function(){return this._anyControls(function(e){return e.dirty})}},{key:"_anyControlsTouched",value:function(){return this._anyControls(function(e){return e.touched})}},{key:"_updatePristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"_updateTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"_isBoxedValue",value:function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}},{key:"_registerOnCollectionChange",value:function(e){this._onCollectionChange=e}},{key:"_setUpdateStrategy",value:function(e){DU(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}},{key:"_parentMarkedDirty",value:function(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}]),e}(),LU=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0;return m(this,n),(e=t.call(this,AU(r),IU(o,r)))._onChange=[],e._applyFormState(i),e._setUpdateStrategy(r),e._initObservables(),e.updateValueAndValidity({onlySelf:!0,emitEvent:!!e.asyncValidator}),e}return b(n,[{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.value=this._pendingValue=e,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(function(e){return e(t.value,!1!==n.emitViewToModelChange)}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.setValue(e,t)}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}},{key:"_updateValue",value:function(){}},{key:"_anyControls",value:function(e){return!1}},{key:"_allControlsDisabled",value:function(){return this.disabled}},{key:"registerOnChange",value:function(e){this._onChange.push(e)}},{key:"_unregisterOnChange",value:function(e){CU(this._onChange,e)}},{key:"registerOnDisabledChange",value:function(e){this._onDisabledChange.push(e)}},{key:"_unregisterOnDisabledChange",value:function(e){CU(this._onDisabledChange,e)}},{key:"_forEachChild",value:function(e){}},{key:"_syncPendingControls",value:function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}},{key:"_applyFormState",value:function(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}]),n}(NU),jU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,AU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"registerControl",value:function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}},{key:"addControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"removeControl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"contains",value:function(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),Object.keys(e).forEach(function(i){t._throwIfControlMissing(i),t.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(Object.keys(e).forEach(function(i){t.controls[i]&&t.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this._reduceChildren({},function(e,t,n){return e[n]=t instanceof LU?t.value:t.getRawValue(),e})}},{key:"_syncPendingControls",value:function(){var e=this._reduceChildren(!1,function(e,t){return!!t._syncPendingControls()||e});return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error("Cannot find form control with name: ".concat(e,"."))}},{key:"_forEachChild",value:function(e){var t=this;Object.keys(this.controls).forEach(function(n){var i=t.controls[n];i&&e(i,n)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})}},{key:"_updateValue",value:function(){this.value=this._reduceValue()}},{key:"_anyControls",value:function(e){for(var t=0,n=Object.keys(this.controls);t0||this.disabled}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '".concat(n,"'."))})}}]),n}(NU),FU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,AU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"at",value:function(e){return this.controls[e]}},{key:"push",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"insert",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:n.emitEvent})}},{key:"removeAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"length",get:function(){return this.controls.length}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),e.forEach(function(e,i){t._throwIfControlMissing(i),t.at(i).setValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(e.forEach(function(e,i){t.at(i)&&t.at(i).patchValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this.controls.map(function(e){return e instanceof LU?e.value:e.getRawValue()})}},{key:"clear",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.controls.length<1||(this._forEachChild(function(e){return e._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}},{key:"_syncPendingControls",value:function(){var e=this.controls.reduce(function(e,t){return!!t._syncPendingControls()||e},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error("Cannot find form control at index ".concat(e))}},{key:"_forEachChild",value:function(e){this.controls.forEach(function(t,n){e(t,n)})}},{key:"_updateValue",value:function(){var e=this;this.value=this.controls.filter(function(t){return t.enabled||e.disabled}).map(function(e){return e.value})}},{key:"_anyControls",value:function(e){return this.controls.some(function(t){return t.enabled&&e(t)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: ".concat(n,"."))})}},{key:"_allControlsDisabled",value:function(){var e,t=_(this.controls);try{for(t.s();!(e=t.n()).done;){if(e.value.enabled)return!1}}catch(n){t.e(n)}finally{t.f()}return this.controls.length>0||this.disabled}},{key:"_registerControl",value:function(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}]),n}(NU),BU={provide:lU,useExisting:He(function(){return zU})},VU=Promise.resolve(null),zU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).submitted=!1,r._directives=[],r.ngSubmit=new ol,r.form=new jU({},eU(e),tU(i)),r}return b(n,[{key:"ngAfterViewInit",value:function(){this._setUpdateStrategy()}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"controls",get:function(){return this.form.controls}},{key:"addControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);e.control=n.registerControl(e.name,e.control),vU(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),t._directives.push(e)})}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name),CU(t._directives,e)})}},{key:"addFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path),i=new jU({});wU(i,e),n.registerControl(e.name,i),i.updateValueAndValidity({emitEvent:!1})})}},{key:"removeFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name)})}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){var n=this;VU.then(function(){n.form.get(e.path).setValue(t)})}},{key:"setValue",value:function(e){this.control.setValue(e)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this._directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}},{key:"_findContainer",value:function(e){return e.pop(),e.length?this.form.get(e):this.form}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([BU]),cs]}),e}(),UU={provide:hU,useExisting:He(function(){return GU})},HU=Promise.resolve(null),GU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).control=new LU,a._registered=!1,a.update=new ol,a._parent=e,a._setValidators(i),a._setAsyncValidators(r),a.valueAccessor=SU(0,o),a}return b(n,[{key:"ngOnChanges",value:function(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),kU(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"path",get:function(){return this._parent?function(e,t){return[].concat(v(t.path),[e])}(this.name,this._parent):[this.name]}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_setUpControl",value:function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}},{key:"_isStandalone",value:function(){return!this._parent||!(!this.options||!this.options.standalone)}},{key:"_setUpStandalone",value:function(){vU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}},{key:"_checkForErrors",value:function(){this._isStandalone()||this._checkParentType(),this._checkName()}},{key:"_checkParentType",value:function(){}},{key:"_checkName",value:function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}},{key:"_updateValue",value:function(e){var t=this;HU.then(function(){t.control.setValue(e,{emitViewToModelChange:!1})})}},{key:"_updateDisabled",value:function(e){var t=this,n=e.isDisabled.currentValue,i=""===n||n&&"false"!==n;HU.then(function(){i&&!t.control.disabled?t.control.disable():!i&&t.control.disabled&&t.control.enable()})}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,9),Os(Xz,10),Os(Yz,10),Os(Hz,10))},e.\u0275dir=Rt({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Xu([UU]),cs,qt]}),e}(),WU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e}(),qU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XU=new Ri("NgModelWithFormControlWarning"),YU={provide:hU,useExisting:He(function(){return KU})},KU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._ngModelWarningConfig=o,a.update=new ol,a._ngModelWarningSent=!1,a._setValidators(e),a._setAsyncValidators(i),a.valueAccessor=SU(0,r),a}return b(n,[{key:"isDisabled",set:function(e){}},{key:"ngOnChanges",value:function(e){if(this._isControlChanged(e)){var t=e.form.previousValue;t&&gU(t,this,!1),vU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}kU(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.form&&gU(this.form,this,!1)}},{key:"path",get:function(){return[]}},{key:"control",get:function(){return this.form}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_isControlChanged",value:function(e){return e.hasOwnProperty("form")}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10),Os(Hz,10),Os(XU,8))},e.\u0275dir=Rt({type:e,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Xu([YU]),cs,qt]}),e._ngModelWarningSentOnce=!1,e}(),$U={provide:lU,useExisting:He(function(){return QU})},QU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).validators=e,r.asyncValidators=i,r.submitted=!1,r._onCollectionChange=function(){return r._updateDomValue()},r.directives=[],r.form=null,r.ngSubmit=new ol,r._setValidators(e),r._setAsyncValidators(i),r}return b(n,[{key:"ngOnChanges",value:function(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}},{key:"ngOnDestroy",value:function(){this.form&&(bU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(function(){}))}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"addControl",value:function(e){var t=this.form.get(e.path);return vU(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),t}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){gU(e.control||null,e,!1),CU(this.directives,e)}},{key:"addFormGroup",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormGroup",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"addFormArray",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormArray",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormArray",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){this.form.get(e.path).setValue(t)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this.directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_updateDomValue",value:function(){var e=this;this.directives.forEach(function(t){var n=t.control,i=e.form.get(t.path);n!==i&&(gU(n||null,t),i instanceof LU&&(vU(i,t),t.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}},{key:"_setUpFormContainer",value:function(e){var t=this.form.get(e.path);wU(t,e),t.updateValueAndValidity({emitEvent:!1})}},{key:"_cleanUpFormContainer",value:function(e){if(this.form){var t=this.form.get(e.path);t&&function(e,t){return bU(e,t)}(t,e)&&t.updateValueAndValidity({emitEvent:!1})}}},{key:"_updateRegistrations",value:function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){})}},{key:"_updateValidators",value:function(){yU(this.form,this),this._oldForm&&bU(this._oldForm,this)}},{key:"_checkFormPresent",value:function(){}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroup",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([$U]),cs,qt]}),e}(),ZU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[qU]]}),e}(),JU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}(),eH=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:[{provide:XU,useValue:t.warnOnNgModelWithFormControl}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}();function tH(e){return new te(function(t){var n;try{n=e()}catch(i){return void t.error(i)}return(n?ye(n):If()).subscribe(t)})}var nH=["underline"],iH=["connectionContainer"],rH=["inputContainer"],oH=["label"];function aH(e,t){1&e&&(Rs(0),As(1,"div",14),Is(2,"div",15),Is(3,"div",16),Is(4,"div",17),Ms(),As(5,"div",18),Is(6,"div",15),Is(7,"div",16),Is(8,"div",17),Ms(),Ds())}function sH(e,t){1&e&&(As(0,"div",19),Ys(1,1),Ms())}function uH(e,t){if(1&e&&(Rs(0),Ys(1,2),As(2,"span"),Cu(3),Ms(),Ds()),2&e){var n=Ws(2);Yo(3),Eu(n._control.placeholder)}}function cH(e,t){1&e&&Ys(0,3,["*ngSwitchCase","true"])}function lH(e,t){1&e&&(As(0,"span",23),Cu(1," *"),Ms())}function hH(e,t){if(1&e){var n=Ls();As(0,"label",20,21),Vs("cdkObserveContent",function(){return bn(n),Ws().updateOutlineGap()}),Cs(2,uH,4,1,"ng-container",12),Cs(3,cH,1,0,"ng-content",12),Cs(4,lH,2,0,"span",22),Ms()}if(2&e){var i=Ws();cu("mat-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-form-field-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-accent","accent"==i.color)("mat-warn","warn"==i.color),Ts("cdkObserveContentDisabled","outline"!=i.appearance)("id",i._labelId)("ngSwitch",i._hasLabel()),ks("for",i._control.id)("aria-owns",i._control.id),Yo(2),Ts("ngSwitchCase",!1),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngIf",!i.hideRequiredMarker&&i._control.required&&!i._control.disabled)}}function dH(e,t){1&e&&(As(0,"div",24),Ys(1,4),Ms())}function fH(e,t){if(1&e&&(As(0,"div",25,26),Is(2,"span",27),Ms()),2&e){var n=Ws();Yo(2),cu("mat-accent","accent"==n.color)("mat-warn","warn"==n.color)}}function pH(e,t){1&e&&(As(0,"div"),Ys(1,5),Ms()),2&e&&Ts("@transitionMessages",Ws()._subscriptAnimationState)}function vH(e,t){if(1&e&&(As(0,"div",31),Cu(1),Ms()),2&e){var n=Ws(2);Ts("id",n._hintLabelId),Yo(1),Eu(n.hintLabel)}}function gH(e,t){if(1&e&&(As(0,"div",28),Cs(1,vH,2,2,"div",29),Ys(2,6),Is(3,"div",30),Ys(4,7),Ms()),2&e){var n=Ws();Ts("@transitionMessages",n._subscriptAnimationState),Yo(1),Ts("ngIf",n.hintLabel)}}var mH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],yH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],bH=new Ri("MatError"),_H={transitionMessages:fg("transitionMessages",[mg("enter",gg({opacity:1,transform:"translateY(0%)"})),yg("void => enter",[gg({opacity:0,transform:"translateY(-5px)"}),pg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},wH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),kH=new Ri("MatHint"),xH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-label"]]}),e}(),SH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-placeholder"]]}),e}(),CH=new Ri("MatPrefix"),EH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matPrefix",""]],features:[Xu([{provide:CH,useExisting:e}])]}),e}(),OH=new Ri("MatSuffix"),TH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matSuffix",""]],features:[Xu([{provide:OH,useExisting:e}])]}),e}(),PH=0,AH=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),MH=new Ri("MAT_FORM_FIELD_DEFAULT_OPTIONS"),IH=new Ri("MatFormField"),RH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,e))._changeDetectorRef=i,l._dir=o,l._defaults=a,l._platform=s,l._ngZone=u,l._outlineGapCalculationNeededImmediately=!1,l._outlineGapCalculationNeededOnStable=!1,l._destroyed=new ae,l._showAlwaysAnimate=!1,l._subscriptAnimationState="",l._hintLabel="",l._hintLabelId="mat-hint-"+PH++,l._labelId="mat-form-field-label-"+PH++,l.floatLabel=l._getDefaultFloatLabelState(),l._animationsEnabled="NoopAnimations"!==c,l.appearance=a&&a.appearance?a.appearance:"legacy",l._hideRequiredMarker=!(!a||null==a.hideRequiredMarker)&&a.hideRequiredMarker,l}return b(n,[{key:"appearance",get:function(){return this._appearance},set:function(e){var t=this._appearance;this._appearance=e||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&t!==e&&(this._outlineGapCalculationNeededOnStable=!0)}},{key:"hideRequiredMarker",get:function(){return this._hideRequiredMarker},set:function(e){this._hideRequiredMarker=Wd(e)}},{key:"_shouldAlwaysFloat",value:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}},{key:"_canLabelFloat",value:function(){return"never"!==this.floatLabel}},{key:"hintLabel",get:function(){return this._hintLabel},set:function(e){this._hintLabel=e,this._processHints()}},{key:"floatLabel",get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(e){e!==this._floatLabel&&(this._floatLabel=e||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}},{key:"_control",get:function(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic},set:function(e){this._explicitFormFieldControl=e}},{key:"getLabelId",value:function(){return this._hasFloatingLabel()?this._labelId:null}},{key:"getConnectedOverlayOrigin",value:function(){return this._connectionContainerRef||this._elementRef}},{key:"ngAfterContentInit",value:function(){var e=this;this._validateControlChild();var t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-".concat(t.controlType)),t.stateChanges.pipe(Ef(null)).subscribe(function(){e._validatePlaceholders(),e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(kf(this._destroyed)).subscribe(function(){return e._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(function(){e._ngZone.onStable.pipe(kf(e._destroyed)).subscribe(function(){e._outlineGapCalculationNeededOnStable&&e.updateOutlineGap()})}),Oe(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){e._outlineGapCalculationNeededOnStable=!0,e._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Ef(null)).subscribe(function(){e._processHints(),e._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Ef(null)).subscribe(function(){e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(kf(this._destroyed)).subscribe(function(){"function"==typeof requestAnimationFrame?e._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){return e.updateOutlineGap()})}):e.updateOutlineGap()})}},{key:"ngAfterContentChecked",value:function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}},{key:"ngAfterViewInit",value:function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_shouldForward",value:function(e){var t=this._control?this._control.ngControl:null;return t&&t[e]}},{key:"_hasPlaceholder",value:function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}},{key:"_hasLabel",value:function(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}},{key:"_shouldLabelFloat",value:function(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}},{key:"_hideControlPlaceholder",value:function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}},{key:"_hasFloatingLabel",value:function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}},{key:"_getDisplayedMessages",value:function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}},{key:"_animateAndLockLabel",value:function(){var e=this;this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Qd(this._label.nativeElement,"transitionend").pipe(_p(1)).subscribe(function(){e._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}},{key:"_validatePlaceholders",value:function(){}},{key:"_processHints",value:function(){this._validateHints(),this._syncDescribedByIds()}},{key:"_validateHints",value:function(){}},{key:"_getDefaultFloatLabelState",value:function(){return this._defaults&&this._defaults.floatLabel||"auto"}},{key:"_syncDescribedByIds",value:function(){if(this._control){var e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push.apply(e,v(this._control.userAriaDescribedBy.split(" "))),"hint"===this._getDisplayedMessages()){var t=this._hintChildren?this._hintChildren.find(function(e){return"start"===e.align}):null,n=this._hintChildren?this._hintChildren.find(function(e){return"end"===e.align}):null;t?e.push(t.id):this._hintLabel&&e.push(this._hintLabelId),n&&e.push(n.id)}else this._errorChildren&&e.push.apply(e,v(this._errorChildren.map(function(e){return e.id})));this._control.setDescribedByIds(e)}}},{key:"_validateControlChild",value:function(){}},{key:"updateOutlineGap",value:function(){var e=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&e&&e.children.length&&e.textContent.trim()&&this._platform.isBrowser)if(this._isAttachedToDOM()){var t=0,n=0,i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),o=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=i.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),u=e.children,c=this._getStartEnd(u[0].getBoundingClientRect()),l=0,h=0;h0?.75*l+10:0}for(var d=0;d1&&void 0!==arguments[1]?arguments[1]:ff,n=function(e){return e instanceof Date&&!isNaN(+e)}(e)?+e-t.now():Math.abs(e);return function(e){return e.lift(new LH(n,t))}}var LH=function(){function e(t,n){m(this,e),this.delay=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new jH(e,this.delay,this.scheduler))}}]),e}(),jH=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).delay=i,o.scheduler=r,o.queue=[],o.active=!1,o.errored=!1,o}return b(n,[{key:"_schedule",value:function(e){this.active=!0,this.destination.add(e.schedule(n.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}},{key:"scheduleNotification",value:function(e){if(!0!==this.errored){var t=this.scheduler,n=new FH(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}}},{key:"_next",value:function(e){this.scheduleNotification(Nf.createNext(e))}},{key:"_error",value:function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleNotification(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){for(var t=e.source,n=t.queue,i=e.scheduler,r=e.destination;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}}]),n}(K),FH=function e(t,n){m(this,e),this.time=t,this.notification=n},BH=["panel"];function VH(e,t){if(1&e&&(As(0,"div",0,1),Ys(2),Ms()),2&e){var n=t.id,i=Ws();Ts("id",i.id)("ngClass",i._classList),ks("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(n))}}var zH=["*"],UH=0,HH=function e(t,n){m(this,e),this.source=t,this.option=n},GH=sb(function(){return function e(){m(this,e)}}()),WH=new Ri("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}}),qH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._changeDetectorRef=e,a._elementRef=i,a._activeOptionChanges=q.EMPTY,a.showPanel=!1,a._isOpen=!1,a.displayWith=null,a.optionSelected=new ol,a.opened=new ol,a.closed=new ol,a.optionActivated=new ol,a._classList={},a.id="mat-autocomplete-"+UH++,a.inertGroups=(null==o?void 0:o.SAFARI)||!1,a._autoActiveFirstOption=!!r.autoActiveFirstOption,a}return b(n,[{key:"isOpen",get:function(){return this._isOpen&&this.showPanel}},{key:"autoActiveFirstOption",get:function(){return this._autoActiveFirstOption},set:function(e){this._autoActiveFirstOption=Wd(e)}},{key:"classList",set:function(e){this._classList=e&&e.length?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:/\s+/,n=[];if(null!=e){var i,r=Array.isArray(e)?e:"".concat(e).split(t),o=_(r);try{for(o.s();!(i=o.n()).done;){var a=i.value,s="".concat(a).trim();s&&n.push(s)}}catch(u){o.e(u)}finally{o.f()}}return n}(e).reduce(function(e,t){return e[t]=!0,e},{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}},{key:"ngAfterContentInit",value:function(){var e=this;this._keyManager=new zv(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(function(t){e.isOpen&&e.optionActivated.emit({source:e,option:e.options.toArray()[t]||null})}),this._setVisibility()}},{key:"ngOnDestroy",value:function(){this._activeOptionChanges.unsubscribe()}},{key:"_setScrollTop",value:function(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}},{key:"_getScrollTop",value:function(){return this.panel?this.panel.nativeElement.scrollTop:0}},{key:"_setVisibility",value:function(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}},{key:"_emitSelectEvent",value:function(e){var t=new HH(this,e);this.optionSelected.emit(t)}},{key:"_getPanelAriaLabelledby",value:function(e){return this.ariaLabel?null:this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}},{key:"_setVisibilityClasses",value:function(e){e[this._visibleClass]=this.showPanel,e[this._hiddenClass]=!this.showPanel}}]),n}(GH);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(Ju),Os(WH),Os(qf))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(Ac,7),yl(BH,5)),2&e)&&(ml(n=_l())&&(t.template=n.first),ml(n=_l())&&(t.panel=n.first))},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[cs]}),e}(),XH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._visibleClass="mat-autocomplete-visible",e._hiddenClass="mat-autocomplete-hidden",e}return n}(qH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,Pb,5),bl(n,Rb,5)),2&e)&&(ml(i=_l())&&(t.optionGroups=i),ml(i=_l())&&(t.options=i))},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[Xu([{provide:Cb,useExisting:t}]),cs],ngContentSelectors:zH,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(e,t){1&e&&(Xs(),Cs(0,VH,3,4,"ng-template"))},directives:[Gh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t}(),YH=new Ri("mat-autocomplete-scroll-strategy"),KH={provide:YH,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},$H={provide:Hz,useExisting:He(function(){return ZH}),multi:!0},QH=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){var d=this;m(this,e),this._element=t,this._overlay=n,this._viewContainerRef=i,this._zone=r,this._changeDetectorRef=o,this._dir=s,this._formField=u,this._document=c,this._viewportRuler=l,this._defaults=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=q.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new ae,this._windowBlurHandler=function(){d._canOpenOnNextFocus=d._document.activeElement!==d._element.nativeElement||d.panelOpen},this._onChange=function(){},this._onTouched=function(){},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=tH(function(){return d.autocomplete&&d.autocomplete.options?Oe.apply(void 0,v(d.autocomplete.options.map(function(e){return e.onSelectionChange}))):d._zone.onStable.pipe(_p(1),Of(function(){return d.optionSelections}))}),this._scrollStrategy=a}return b(e,[{key:"autocompleteDisabled",get:function(){return this._autocompleteDisabled},set:function(e){this._autocompleteDisabled=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this,t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(function(){return t.addEventListener("blur",e._windowBlurHandler)})}},{key:"ngOnChanges",value:function(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}},{key:"ngOnDestroy",value:function(){var e=this._getWindow();void 0!==e&&e.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}},{key:"panelOpen",get:function(){return this._overlayAttached&&this.autocomplete.showPanel}},{key:"openPanel",value:function(){this._attachOverlay(),this._floatLabel()}},{key:"closePanel",value:function(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}},{key:"updatePosition",value:function(){this._overlayAttached&&this._overlayRef.updatePosition()}},{key:"panelClosingActions",get:function(){var e=this;return Oe(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(bf(function(){return e._overlayAttached})),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(bf(function(){return e._overlayAttached})):$d()).pipe(ce(function(e){return e instanceof Mb?e:null}))}},{key:"activeOption",get:function(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}},{key:"_getOutsideClickStream",value:function(){var e=this;return Oe(Qd(this._document,"click"),Qd(this._document,"auxclick"),Qd(this._document,"touchend")).pipe(bf(function(t){var n=Jf(t),i=e._formField?e._formField._elementRef.nativeElement:null,r=e.connectedTo?e.connectedTo.elementRef.nativeElement:null;return e._overlayAttached&&n!==e._element.nativeElement&&(!i||!i.contains(n))&&(!r||!r.contains(n))&&!!e._overlayRef&&!e._overlayRef.overlayElement.contains(n)}))}},{key:"writeValue",value:function(e){var t=this;Promise.resolve(null).then(function(){return t._setTriggerValue(e)})}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this._element.nativeElement.disabled=e}},{key:"_handleKeydown",value:function(e){var t=e.keyCode;if(27===t&&!Ep(e)&&e.preventDefault(),this.activeOption&&13===t&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){var n=this.autocomplete._keyManager.activeItem,i=38===t||40===t;this.panelOpen||9===t?this.autocomplete._keyManager.onKeydown(e):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}},{key:"_handleInput",value:function(e){var t=e.target,n=t.value;"number"===t.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===e.target&&this.openPanel())}},{key:"_handleFocus",value:function(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}},{key:"_floatLabel",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._formField&&"auto"===this._formField.floatLabel&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}},{key:"_resetLabel",value:function(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}},{key:"_subscribeToClosingActions",value:function(){var e=this;return Oe(this._zone.onStable.pipe(_p(1)),this.autocomplete.options.changes.pipe(mv(function(){return e._positionStrategy.reapplyLastPosition()}),NH(0))).pipe(Of(function(){var t=e.panelOpen;return e._resetActiveItem(),e.autocomplete._setVisibility(),e.panelOpen&&(e._overlayRef.updatePosition(),t!==e.panelOpen&&e.autocomplete.opened.emit()),e.panelClosingActions}),_p(1)).subscribe(function(t){return e._setValueAndClose(t)})}},{key:"_destroyPanel",value:function(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}},{key:"_setTriggerValue",value:function(e){var t=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(e):e,n=null!=t?t:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}},{key:"_setValueAndClose",value:function(e){e&&e.source&&(this._clearPreviousSelectedOption(e.source),this._setTriggerValue(e.source.value),this._onChange(e.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(e.source)),this.closePanel()}},{key:"_clearPreviousSelectedOption",value:function(e){this.autocomplete.options.forEach(function(t){t!==e&&t.selected&&t.deselect()})}},{key:"_attachOverlay",value:function(){var e,t=this,n=this._overlayRef;n?(this._positionStrategy.setOrigin(this._getConnectedElement()),n.updateSize({width:this._getPanelWidth()})):(this._portal=new hp(this.autocomplete.template,this._viewContainerRef,{id:null===(e=this._formField)||void 0===e?void 0:e.getLabelId()}),n=this._overlay.create(this._getOverlayConfig()),this._overlayRef=n,n.keydownEvents().subscribe(function(e){(27===e.keyCode&&!Ep(e)||38===e.keyCode&&Ep(e,"altKey"))&&(t._closeKeyEventStream.next(),t._resetActiveItem(),e.stopPropagation(),e.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(function(){t.panelOpen&&n&&n.updateSize({width:t._getPanelWidth()})})),n&&!n.hasAttached()&&(n.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());var i=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&i!==this.panelOpen&&this.autocomplete.opened.emit()}},{key:"_getOverlayConfig",value:function(){var e;return new Np({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(e=this._defaults)||void 0===e?void 0:e.overlayPanelClass})}},{key:"_getOverlayPosition",value:function(){var e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}},{key:"_setStrategyPositions",value:function(e){var t,n=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}];t="above"===this.position?r:"below"===this.position?n:[].concat(n,r),e.withPositions(t)}},{key:"_getConnectedElement",value:function(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}},{key:"_getPanelWidth",value:function(){return this.autocomplete.panelWidth||this._getHostWidth()}},{key:"_getHostWidth",value:function(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}},{key:"_resetActiveItem",value:function(){var e=this.autocomplete;e.autoActiveFirstOption?e._keyManager.setFirstItemActive():e._keyManager.setActiveItem(-1)}},{key:"_canOpen",value:function(){var e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this._autocompleteDisabled}},{key:"_getWindow",value:function(){var e;return(null===(e=this._document)||void 0===e?void 0:e.defaultView)||window}},{key:"_scrollToOption",value:function(e){var t=this.autocomplete,n=Db(e,t.options,t.optionGroups);if(0===e&&1===n)t._setScrollTop(0);else if(t.panel){var i=t.options.toArray()[e];if(i){var r=i._getHostElement(),o=Nb(r.offsetTop,r.offsetHeight,t._getScrollTop(),t.panel.nativeElement.offsetHeight);t._setScrollTop(o)}}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(iv),Os(Nc),Os(Xl),Os(Cc),Os(YH),Os(tp,8),Os(IH,9),Os(bh,8),Os(ap),Os(WH,8))},e.\u0275dir=Rt({type:e,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[qt]}),e}(),ZH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._aboveClass="mat-autocomplete-panel-above",e}return n}(QH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(e,t){1&e&&Vs("focusin",function(){return t._handleFocus()})("blur",function(){return t._onTouched()})("input",function(e){return t._handleInput(e)})("keydown",function(e){return t._handleKeydown(e)}),2&e&&ks("autocomplete",t.autocompleteAttribute)("role",t.autocompleteDisabled?null:"combobox")("aria-autocomplete",t.autocompleteDisabled?null:"list")("aria-activedescendant",t.panelOpen&&t.activeOption?t.activeOption.id:null)("aria-expanded",t.autocompleteDisabled?null:t.panelOpen.toString())("aria-owns",t.autocompleteDisabled||!t.panelOpen||null==t.autocomplete?null:t.autocomplete.id)("aria-haspopup",!t.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[Xu([$H]),cs]}),t}(),JH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[KH],imports:[[cv,Lb,rb,cd],sp,Lb,rb]}),e}(),eG=$f({passive:!0}),tG=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._ngZone=n,this._monitoredElements=new Map}return b(e,[{key:"monitor",value:function(e){var t=this;if(!this._platform.isBrowser)return Mf;var n=Kd(e),i=this._monitoredElements.get(n);if(i)return i.subject;var r=new ae,o="cdk-text-field-autofilled",a=function(e){"cdk-text-field-autofill-start"!==e.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===e.animationName&&n.classList.contains(o)&&(n.classList.remove(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!1})})):(n.classList.add(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!0})}))};return this._ngZone.runOutsideAngular(function(){n.addEventListener("animationstart",a,eG),n.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(n,{subject:r,unlisten:function(){n.removeEventListener("animationstart",a,eG)}}),r}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._monitoredElements.get(t);n&&(n.unlisten(),n.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}},{key:"ngOnDestroy",value:function(){var e=this;this._monitoredElements.forEach(function(t,n){return e.stopMonitoring(n)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl))},token:e,providedIn:"root"}),e}(),nG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf]]}),e}(),iG=new Ri("MAT_INPUT_VALUE_ACCESSOR"),rG=["button","checkbox","file","hidden","image","radio","range","reset","submit"],oG=0,aG=cb(function(){return function e(t,n,i,r){m(this,e),this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}}()),sG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h){var d;m(this,n),(d=t.call(this,s,o,a,r))._elementRef=e,d._platform=i,d._autofillMonitor=c,d._formField=h,d._uid="mat-input-"+oG++,d.focused=!1,d.stateChanges=new ae,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(function(e){return Kf().has(e)});var f=d._elementRef.nativeElement,p=f.nodeName.toLowerCase();return d._inputValueAccessor=u||f,d._previousNativeValue=d.value,d.id=d.id,i.IOS&&l.runOutsideAngular(function(){e.nativeElement.addEventListener("keyup",function(e){var t=e.target;!t.value&&0===t.selectionStart&&0===t.selectionEnd&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))})}),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===p,d._isTextarea="textarea"===p,d._isInFormField=!!h,d._isNativeSelect&&(d.controlType=f.multiple?"mat-native-select-multiple":"mat-native-select"),d}return b(n,[{key:"disabled",get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(e){this._disabled=Wd(e),this.focused&&(this.focused=!1,this.stateChanges.next())}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"type",get:function(){return this._type},set:function(e){this._type=e||"text",this._validateType(),!this._isTextarea&&Kf().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}},{key:"value",get:function(){return this._inputValueAccessor.value},set:function(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}},{key:"readonly",get:function(){return this._readonly},set:function(e){this._readonly=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function(t){e.autofilled=t.isAutofilled,e.stateChanges.next()})}},{key:"ngOnChanges",value:function(){this.stateChanges.next()}},{key:"ngOnDestroy",value:function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}},{key:"ngDoCheck",value:function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_focusChanged",value:function(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}},{key:"_onInput",value:function(){}},{key:"_dirtyCheckPlaceholder",value:function(){var e,t,n=(null===(t=null===(e=this._formField)||void 0===e?void 0:e._hideControlPlaceholder)||void 0===t?void 0:t.call(e))?null:this.placeholder;if(n!==this._previousPlaceholder){var i=this._elementRef.nativeElement;this._previousPlaceholder=n,n?i.setAttribute("placeholder",n):i.removeAttribute("placeholder")}}},{key:"_dirtyCheckNativeValue",value:function(){var e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}},{key:"_validateType",value:function(){rG.indexOf(this._type)}},{key:"_isNeverEmpty",value:function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}},{key:"_isBadInput",value:function(){var e=this._elementRef.nativeElement.validity;return e&&e.badInput}},{key:"empty",get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}},{key:"shouldLabelFloat",get:function(){if(this._isNativeSelect){var e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}return this.focused||!this.empty}},{key:"setDescribedByIds",value:function(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}},{key:"onContainerClick",value:function(){this.focused||this.focus()}}]),n}(aG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(hU,10),Os(zU,8),Os(QU,8),Os(lb),Os(iG,10),Os(tG),Os(Xl),Os(IH,8))},e.\u0275dir=Rt({type:e,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._focusChanged(!0)})("blur",function(){return t._focusChanged(!1)})("input",function(){return t._onInput()}),2&e&&(Au("disabled",t.disabled)("required",t.required),ks("id",t.id)("data-placeholder",t.placeholder)("readonly",t.readonly&&!t._isNativeSelect||null)("aria-invalid",t.empty&&t.required?null:t.errorState)("aria-required",t.required),cu("mat-input-server",t._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Xu([{provide:wH,useExisting:e}]),cs,qt]}),e}(),uG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[lb],imports:[[nG,DH,rb],nG,DH]}),e}();function cG(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:this.value,t=new yG;return t.source=this,t.value=e,t}},{key:"_calculatePercentage",value:function(e){return((e||0)-this.min)/(this.max-this.min)}},{key:"_calculateValue",value:function(e){return this.min+e*(this.max-this.min)}},{key:"_clamp",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.max(t,Math.min(e,n))}},{key:"_getSliderDimensions",value:function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}},{key:"_focusHostElement",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_blurHostElement",value:function(){this._elementRef.nativeElement.blur()}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}}]),n}(bG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(rg),Os(Cc),Os(tp,8),Ai("tabindex"),Os(Xl),Os(bh),Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-slider"]],viewQuery:function(e,t){var n;(1&e&&yl(vG,5),2&e)&&(ml(n=_l())&&(t._sliderWrapper=n.first))},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()})("keydown",function(e){return t._onKeydown(e)})("keyup",function(){return t._onKeyup()})("mouseenter",function(){return t._onMouseenter()})("selectstart",function(e){return e.preventDefault()}),2&e&&(Au("tabIndex",t.tabIndex),ks("aria-disabled",t.disabled)("aria-valuemax",t.max)("aria-valuemin",t.min)("aria-valuenow",t.value)("aria-valuetext",null==t.valueText?t.displayValue:t.valueText)("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-slider-disabled",t.disabled)("mat-slider-has-ticks",t.tickInterval)("mat-slider-horizontal",!t.vertical)("mat-slider-axis-inverted",t._shouldInvertAxis())("mat-slider-invert-mouse-coords",t._shouldInvertMouseCoords())("mat-slider-sliding",t._isSliding)("mat-slider-thumb-label-showing",t.thumbLabel)("mat-slider-vertical",t.vertical)("mat-slider-min-value",t._isMinValue())("mat-slider-hide-last-tick",t.disabled||t._isMinValue()&&t._getThumbGap()&&t._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Xu([mG]),cs],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(e,t){1&e&&(As(0,"div",0,1),As(2,"div",2),Is(3,"div",3),Is(4,"div",4),Ms(),As(5,"div",5),Is(6,"div",6),Ms(),As(7,"div",7),Is(8,"div",8),Is(9,"div",9),As(10,"div",10),As(11,"span",11),Cu(12),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(3),Ts("ngStyle",t._getTrackBackgroundStyles()),Yo(1),Ts("ngStyle",t._getTrackFillStyles()),Yo(1),Ts("ngStyle",t._getTicksContainerStyles()),Yo(1),Ts("ngStyle",t._getTicksStyles()),Yo(1),Ts("ngStyle",t._getThumbContainerStyles()),Yo(5),Eu(t.displayValue))},directives:[td],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),e}();function wG(e){return"t"===e.type[0]}function kG(e,t){var n;return(n=wG(e)?"number"==typeof t?xG(e.touches,t)||xG(e.changedTouches,t):e.touches[0]||e.changedTouches[0]:e)?{x:n.clientX,y:n.clientY}:void 0}function xG(e,t){for(var n=0;n enter",pg("150ms cubic-bezier(0, 0, 0.2, 1)",gg({transform:"none",opacity:1}))),yg("* => void, * => exit",pg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",gg({opacity:0})))])},TG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u;return m(this,n),(u=t.call(this))._elementRef=e,u._focusTrapFactory=i,u._changeDetectorRef=r,u._config=a,u._focusMonitor=s,u._animationStateChanged=new ol,u._elementFocusedBeforeDialogWasOpened=null,u._closeInteractionType=null,u.attachDomPortal=function(e){return u._portalOutlet.hasAttached(),u._portalOutlet.attachDomPortal(e)},u._ariaLabelledBy=a.ariaLabelledBy||null,u._document=o,u}return b(n,[{key:"_initializeWithAttachedContent",value:function(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}},{key:"attachComponentPortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(e)}},{key:"_recaptureFocus",value:function(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}},{key:"_trapFocus",value:function(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}},{key:"_restoreFocus",value:function(){var e=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&e&&"function"==typeof e.focus){var t=Zf(),n=this._elementRef.nativeElement;(!t||t===this._document.body||t===n||n.contains(t))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}},{key:"_setupFocusTrap",value:function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}},{key:"_capturePreviouslyFocusedElement",value:function(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zf())}},{key:"_focusDialogContainer",value:function(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}},{key:"_containsFocus",value:function(){var e=this._elementRef.nativeElement,t=Zf();return e===t||e.contains(t)}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qv),Os(Cc),Os(bh,8),Os(EG),Os(rg))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},features:[cs]}),e}(),PG=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._state="enter",e}return b(n,[{key:"_onAnimationDone",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:n})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:n}))}},{key:"_onAnimationStart",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:n}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:n})}},{key:"_startExitAnimation",value:function(){this._state="exit",this._changeDetectorRef.markForCheck()}}]),n}(TG);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(e,t){1&e&&zs("@dialogContainer.start",function(e){return t._onAnimationStart(e)})("@dialogContainer.done",function(e){return t._onAnimationDone(e)}),2&e&&(Au("id",t._id),ks("role",t._config.role)("aria-labelledby",t._config.ariaLabel?null:t._ariaLabelledBy)("aria-label",t._config.ariaLabel)("aria-describedby",t._config.ariaDescribedBy||null),Mu("@dialogContainer",t._state))},features:[cs],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,t){1&e&&Cs(0,CG,0,0,"ng-template",0)},directives:[mp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[OG.dialogContainer]}}),t}(),AG=0,MG=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat-dialog-"+AG++;m(this,e),this._overlayRef=t,this._containerInstance=n,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new ae,this._afterClosed=new ae,this._beforeClosed=new ae,this._state=0,n._id=r,n._animationStateChanged.pipe(bf(function(e){return"opened"===e.state}),_p(1)).subscribe(function(){i._afterOpened.next(),i._afterOpened.complete()}),n._animationStateChanged.pipe(bf(function(e){return"closed"===e.state}),_p(1)).subscribe(function(){clearTimeout(i._closeFallbackTimeout),i._finishDialogClose()}),t.detachments().subscribe(function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()}),t.keydownEvents().pipe(bf(function(e){return 27===e.keyCode&&!i.disableClose&&!Ep(e)})).subscribe(function(e){e.preventDefault(),IG(i,"keyboard")}),t.backdropClick().subscribe(function(){i.disableClose?i._containerInstance._recaptureFocus():IG(i,"mouse")})}return b(e,[{key:"close",value:function(e){var t=this;this._result=e,this._containerInstance._animationStateChanged.pipe(bf(function(e){return"closing"===e.state}),_p(1)).subscribe(function(n){t._beforeClosed.next(e),t._beforeClosed.complete(),t._overlayRef.detachBackdrop(),t._closeFallbackTimeout=setTimeout(function(){return t._finishDialogClose()},n.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}},{key:"afterOpened",value:function(){return this._afterOpened}},{key:"afterClosed",value:function(){return this._afterClosed}},{key:"beforeClosed",value:function(){return this._beforeClosed}},{key:"backdropClick",value:function(){return this._overlayRef.backdropClick()}},{key:"keydownEvents",value:function(){return this._overlayRef.keydownEvents()}},{key:"updatePosition",value:function(e){var t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}},{key:"updateSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}},{key:"addPanelClass",value:function(e){return this._overlayRef.addPanelClass(e),this}},{key:"removePanelClass",value:function(e){return this._overlayRef.removePanelClass(e),this}},{key:"getState",value:function(){return this._state}},{key:"_finishDialogClose",value:function(){this._state=2,this._overlayRef.dispose()}},{key:"_getPositionStrategy",value:function(){return this._overlayRef.getConfig().positionStrategy}}]),e}();function IG(e,t,n){return void 0!==e._containerInstance&&(e._containerInstance._closeInteractionType=t),e.close(n)}var RG=new Ri("MatDialogData"),DG=new Ri("mat-dialog-default-options"),NG=new Ri("mat-dialog-scroll-strategy"),LG={provide:NG,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.block()}}},jG=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c){var l=this;m(this,e),this._overlay=t,this._injector=n,this._defaultOptions=i,this._parentDialog=r,this._overlayContainer=o,this._dialogRefConstructor=s,this._dialogContainerType=u,this._dialogDataToken=c,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ae,this._afterOpenedAtThisLevel=new ae,this._ariaHiddenElements=new Map,this.afterAllClosed=tH(function(){return l.openDialogs.length?l._getAfterAllClosed():l._getAfterAllClosed().pipe(Ef(void 0))}),this._scrollStrategy=a}return b(e,[{key:"openDialogs",get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}},{key:"afterOpened",get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}},{key:"_getAfterAllClosed",value:function(){var e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}},{key:"open",value:function(e,t){var n=this;(t=function(e,t){return Object.assign(Object.assign({},t),e)}(t,this._defaultOptions||new EG)).id&&this.getDialogById(t.id);var i=this._createOverlay(t),r=this._attachDialogContainer(i,t),o=this._attachDialogContent(e,r,i,t);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(function(){return n._removeOpenDialog(o)}),this.afterOpened.next(o),r._initializeWithAttachedContent(),o}},{key:"closeAll",value:function(){this._closeDialogs(this.openDialogs)}},{key:"getDialogById",value:function(e){return this.openDialogs.find(function(t){return t.id===e})}},{key:"ngOnDestroy",value:function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}},{key:"_createOverlay",value:function(e){var t=this._getOverlayConfig(e);return this._overlay.create(t)}},{key:"_getOverlayConfig",value:function(e){var t=new Np({positionStrategy:this._overlay.position().global(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(t.backdropClass=e.backdropClass),t}},{key:"_attachDialogContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:EG,useValue:t}]}),i=new lp(this._dialogContainerType,t.viewContainerRef,n,t.componentFactoryResolver);return e.attach(i).instance}},{key:"_attachDialogContent",value:function(e,t,n,i){var r=new this._dialogRefConstructor(n,t,i.id);if(e instanceof Ac)t.attachTemplatePortal(new hp(e,null,{$implicit:i.data,dialogRef:r}));else{var o=this._createInjector(i,r,t),a=t.attachComponentPortal(new lp(e,i.viewContainerRef,o));r.componentInstance=a.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}},{key:"_createInjector",value:function(e,t,n){var i=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:e.data},{provide:this._dialogRefConstructor,useValue:t}];return e.direction&&(!i||!i.get(tp,null,at.Optional))&&r.push({provide:tp,useValue:{value:e.direction,change:$d()}}),ss.create({parent:i||this._injector,providers:r})}},{key:"_removeOpenDialog",value:function(e){var t=this.openDialogs.indexOf(e);t>-1&&(this.openDialogs.splice(t,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(e,t){e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}},{key:"_hideNonDialogContentFromAssistiveTechnology",value:function(){var e=this._overlayContainer.getContainerElement();if(e.parentElement)for(var t=e.parentElement.children,n=t.length-1;n>-1;n--){var i=t[n];i!==e&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}},{key:"_closeDialogs",value:function(e){for(var t=e.length;t--;)e[t].close()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(ss),Os(void 0),Os(void 0),Os(Hp),Os(void 0),Os(Di),Os(Di),Os(Ri))},e.\u0275dir=Rt({type:e}),e}(),FG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){return m(this,n),t.call(this,e,i,o,s,u,a,MG,PG,RG)}return n}(jG);return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(ss),Zi(Ih,8),Zi(DG,8),Zi(NG),Zi(e,12),Zi(Hp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),BG=0,VG=function(){var e=function(){function e(t,n,i){m(this,e),this._dialogRef=t,this._elementRef=n,this._dialog=i,this.id="mat-dialog-title-"+BG++}return b(e,[{key:"ngOnInit",value:function(){var e=this;this._dialogRef||(this._dialogRef=function(e,t){for(var n=e.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?t.find(function(e){return e.id===n.id}):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(function(){var t=e._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=e.id)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG,8),Os(Ju),Os(FG))},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(e,t){2&e&&Au("id",t.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),e}(),zG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),e}(),UG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[FG,LG],imports:[[cv,yp,rb],rb]}),e}(),HG=new Ri("CdkAccordion"),GG=0,WG=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.accordion=t,this._changeDetectorRef=n,this._expansionDispatcher=i,this._openCloseAllSubscription=q.EMPTY,this.closed=new ol,this.opened=new ol,this.destroyed=new ol,this.expandedChange=new ol,this.id="cdk-accordion-child-"+GG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=i.listen(function(e,t){r.accordion&&!r.accordion.multi&&r.accordion.id===t&&r.id!==e&&(r.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}return b(e,[{key:"expanded",get:function(){return this._expanded},set:function(e){e=Wd(e),this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"ngOnDestroy",value:function(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}},{key:"toggle",value:function(){this.disabled||(this.expanded=!this.expanded)}},{key:"close",value:function(){this.disabled||(this.expanded=!1)}},{key:"open",value:function(){this.disabled||(this.expanded=!0)}},{key:"_subscribeToOpenCloseAllActions",value:function(){var e=this;return this.accordion._openCloseAllActions.subscribe(function(t){e.disabled||(e.expanded=t)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(HG,12),Os(Cc),Os(rp))},e.\u0275dir=Rt({type:e,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Xu([{provide:HG,useValue:void 0}])]}),e}(),qG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XG=["body"];function YG(e,t){}var KG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$G=["mat-expansion-panel-header","*","mat-action-row"];function QG(e,t){1&e&&Is(0,"span",2),2&e&&Ts("@indicatorRotate",Ws()._getExpandedState())}var ZG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],JG=["mat-panel-title","mat-panel-description","*"],eW=new Ri("MAT_ACCORDION"),tW="225ms cubic-bezier(0.4,0.0,0.2,1)",nW={indicatorRotate:fg("indicatorRotate",[mg("collapsed, void",gg({transform:"rotate(0deg)"})),mg("expanded",gg({transform:"rotate(180deg)"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))]),bodyExpansion:fg("bodyExpansion",[mg("collapsed, void",gg({height:"0px",visibility:"hidden"})),mg("expanded",gg({height:"*",visibility:"visible"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))])},iW=function(){var e=function e(t){m(this,e),this._template=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ac))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","matExpansionPanelContent",""]]}),e}(),rW=0,oW=new Ri("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),aW=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r,o,a,s,u){var c;return m(this,i),(c=n.call(this,e,t,r))._viewContainerRef=o,c._animationMode=s,c._hideToggle=!1,c.afterExpand=new ol,c.afterCollapse=new ol,c._inputChanges=new ae,c._headerId="mat-expansion-panel-header-"+rW++,c._bodyAnimationDone=new ae,c.accordion=e,c._document=a,c._bodyAnimationDone.pipe(lf(function(e,t){return e.fromState===t.fromState&&e.toState===t.toState})).subscribe(function(e){"void"!==e.fromState&&("expanded"===e.toState?c.afterExpand.emit():"collapsed"===e.toState&&c.afterCollapse.emit())}),u&&(c.hideToggle=u.hideToggle),c}return b(i,[{key:"hideToggle",get:function(){return this._hideToggle||this.accordion&&this.accordion.hideToggle},set:function(e){this._hideToggle=Wd(e)}},{key:"togglePosition",get:function(){return this._togglePosition||this.accordion&&this.accordion.togglePosition},set:function(e){this._togglePosition=e}},{key:"_hasSpacing",value:function(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}},{key:"_getExpandedState",value:function(){return this.expanded?"expanded":"collapsed"}},{key:"toggle",value:function(){this.expanded=!this.expanded}},{key:"close",value:function(){this.expanded=!1}},{key:"open",value:function(){this.expanded=!0}},{key:"ngAfterContentInit",value:function(){var e=this;this._lazyContent&&this.opened.pipe(Ef(null),bf(function(){return e.expanded&&!e._portal}),_p(1)).subscribe(function(){e._portal=new hp(e._lazyContent._template,e._viewContainerRef)})}},{key:"ngOnChanges",value:function(e){this._inputChanges.next(e)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this),this._bodyAnimationDone.complete(),this._inputChanges.complete()}},{key:"_containsFocus",value:function(){if(this._body){var e=this._document.activeElement,t=this._body.nativeElement;return e===t||t.contains(e)}return!1}}]),i}(WG);return t.\u0275fac=function(e){return new(e||t)(Os(eW,12),Os(Cc),Os(rp),Os(Nc),Os(bh),Os(Yy,8),Os(oW,8))},t.\u0275cmp=Ot({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,iW,5),2&e)&&(ml(i=_l())&&(t._lazyContent=i.first))},viewQuery:function(e,t){var n;(1&e&&yl(XG,5),2&e)&&(ml(n=_l())&&(t._body=n.first))},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-expanded",t.expanded)("_mat-animation-noopable","NoopAnimations"===t._animationMode)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Xu([{provide:eW,useValue:void 0}]),cs,qt],ngContentSelectors:$G,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(e,t){1&e&&(Xs(KG),Ys(0),As(1,"div",0,1),Vs("@bodyExpansion.done",function(e){return t._bodyAnimationDone.next(e)}),As(3,"div",2),Ys(4,1),Cs(5,YG,0,0,"ng-template",3),Ms(),Ys(6,2),Ms()),2&e&&(Yo(1),Ts("@bodyExpansion",t._getExpandedState())("id",t.id),ks("aria-labelledby",t._headerId),Yo(4),Ts("cdkPortalOutlet",t._portal))},directives:[mp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[nW.bodyExpansion]},changeDetection:0}),t}(),sW=ub(function e(){m(this,e)}),uW=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;m(this,n),(c=t.call(this)).panel=e,c._element=i,c._focusMonitor=r,c._changeDetectorRef=o,c._animationMode=s,c._parentChangeSubscription=q.EMPTY;var l=e.accordion?e.accordion._stateChanges.pipe(bf(function(e){return!(!e.hideToggle&&!e.togglePosition)})):Mf;return c.tabIndex=parseInt(u||"")||0,c._parentChangeSubscription=Oe(e.opened,e.closed,l,e._inputChanges.pipe(bf(function(e){return!!(e.hideToggle||e.disabled||e.togglePosition)}))).subscribe(function(){return c._changeDetectorRef.markForCheck()}),e.closed.pipe(bf(function(){return e._containsFocus()})).subscribe(function(){return r.focusVia(i,"program")}),a&&(c.expandedHeight=a.expandedHeight,c.collapsedHeight=a.collapsedHeight),c}return b(n,[{key:"disabled",get:function(){return this.panel.disabled}},{key:"_toggle",value:function(){this.disabled||this.panel.toggle()}},{key:"_isExpanded",value:function(){return this.panel.expanded}},{key:"_getExpandedState",value:function(){return this.panel._getExpandedState()}},{key:"_getPanelId",value:function(){return this.panel.id}},{key:"_getTogglePosition",value:function(){return this.panel.togglePosition}},{key:"_showToggle",value:function(){return!this.panel.hideToggle&&!this.panel.disabled}},{key:"_getHeaderHeight",value:function(){var e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}},{key:"_keydown",value:function(e){switch(e.keyCode){case 32:case 13:Ep(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._element).subscribe(function(t){t&&e.panel.accordion&&e.panel.accordion._handleHeaderFocus(e)})}},{key:"ngOnDestroy",value:function(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}]),n}(sW);return e.\u0275fac=function(t){return new(t||e)(Os(aW,1),Os(Ju),Os(rg),Os(Cc),Os(oW,8),Os(Yy,8),Ai("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._toggle()})("keydown",function(e){return t._keydown(e)}),2&e&&(ks("id",t.panel._headerId)("tabindex",t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),uu("height",t._getHeaderHeight()),cu("mat-expanded",t._isExpanded())("mat-expansion-toggle-indicator-after","after"===t._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===t._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[cs],ngContentSelectors:JG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(e,t){1&e&&(Xs(ZG),As(0,"span",0),Ys(1),Ys(2,1),Ys(3,2),Ms(),Cs(4,QG,1,1,"span",1)),2&e&&(Yo(4),Ts("ngIf",t._showToggle()))},directives:[Yh],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[nW.indicatorRotate]},changeDetection:0}),e}(),cW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,rb,qG,yp]]}),e}(),lW=r(5478);Object.create(Error.prototype);var hW=["*"],dW=(function(e){e.LineHighlight="line-highlight",e.LineNumbers="line-numbers"}(dW||(dW={})),dW),fW=function e(){m(this,e)},pW=new Ri("SECURITY_CONTEXT"),vW=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this.platform=t,this.securityContext=n,this.http=i,this.sanitizer=o,this.initialMarkedOptions={renderer:new lW.Renderer},this.options=r}return b(e,[{key:"options",get:function(){return this._options},set:function(e){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),e)}},{key:"renderer",get:function(){return this.options.renderer},set:function(e){this.options.renderer=e}},{key:"compile",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options,r=this.trimIndentation(e),o=t?this.decodeHtml(r):r,a=n?this.renderEmoji(o):o,s=lW.parse(a,i);return this.sanitizer.sanitize(this.securityContext,s)||""}},{key:"getSource",value:function(e){var t=this;if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(e,{responseType:"text"}).pipe(ce(function(n){return t.handleExtension(e,n)}))}},{key:"highlight",value:function(e){if(hd(this.platform)&&"undefined"!=typeof Prism){e||(e=document);var t=e.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(t,function(e){return e.classList.add("language-none")}),Prism.highlightAllUnder(e)}}},{key:"renderKatex",value:function(e,t){if(!hd(this.platform))return e;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return e.replace(/\$([^\s][^$]*?[^\s])\$/gm,function(e,n){return katex.renderToString(n,t)})}},{key:"decodeHtml",value:function(e){if(!hd(this.platform))return e;var t=document.createElement("textarea");return t.innerHTML=e,t.value}},{key:"handleExtension",value:function(e,t){var n=e?e.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+t+"\n```":t}},{key:"renderEmoji",value:function(e){if(!hd(this.platform))return e;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(e)}},{key:"trimIndentation",value:function(e){return e?e.split("\n").map(function(e){var n=t;return e.length>0&&(n=isNaN(n)?e.search(/\S|$/):Math.min(e.search(/\S|$/),n)),isNaN(t)&&(t=n),n?e.substring(n):e}).join("\n"):"";var t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ml),Zi(pW),Zi(h_,8),Zi(fW,8),Zi(Vd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gW=function(){var e=function(){function e(t,n){m(this,e),this.element=t,this.markdownService=n,this.error=new ol,this.load=new ol,this.ready=new ol,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}return b(e,[{key:"emoji",get:function(){return this._emoji},set:function(e){this._emoji=this.coerceBooleanProperty(e)}},{key:"katex",get:function(){return this._katex},set:function(e){this._katex=this.coerceBooleanProperty(e)}},{key:"lineHighlight",get:function(){return this._lineHighlight},set:function(e){this._lineHighlight=this.coerceBooleanProperty(e)}},{key:"lineNumbers",get:function(){return this._lineNumbers},set:function(e){this._lineNumbers=this.coerceBooleanProperty(e)}},{key:"ngOnChanges",value:function(){null==this.data?null==this.src||this.handleSrc():this.handleData()}},{key:"ngAfterViewInit",value:function(){!this.data&&!this.src&&this.handleTransclusion()}},{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.markdownService.compile(e,t,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}},{key:"coerceBooleanProperty",value:function(e){return null!=e&&"false"!="".concat(String(e))}},{key:"handleData",value:function(){this.render(this.data)}},{key:"handleSrc",value:function(){var e=this;this.markdownService.getSource(this.src).subscribe(function(t){e.render(t),e.load.emit(t)},function(t){return e.error.emit(t)})}},{key:"handleTransclusion",value:function(){this.render(this.element.nativeElement.innerHTML,!0)}},{key:"handlePlugins",value:function(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,dW.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}},{key:"setPluginClass",value:function(e,t){for(var n=e.querySelectorAll("pre"),i=0;i0){var r=i.indexOf(n);-1!==r&&i.splice(r,1)}}},{key:"notifyComplete",value:function(){}},{key:"_next",value:function(e){if(0===this.toRespond.length){var t=[e].concat(v(this.values));this.project?this._tryProject(t):this.destination.next(t)}}},{key:"_tryProject",value:function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}]),n}(K_),kW=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];m(this,e),this.accumulator=t,this.seed=n,this.hasSeed=i}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new xW(e,this.accumulator,this.seed,this.hasSeed))}}]),e}(),xW=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this,e)).accumulator=i,a._seed=r,a.hasSeed=o,a.index=0,a}return b(n,[{key:"seed",get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e}},{key:"_next",value:function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}},{key:"_tryNext",value:function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)}}]),n}(K),SW=function(){function e(t){m(this,e),this.predicate=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CW(e,this.predicate))}}]),e}(),CW=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).predicate=i,r.skipping=!0,r.index=0,r}return b(n,[{key:"_next",value:function(e){var t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}},{key:"tryCallPredicate",value:function(e){try{var t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}]),n}(K),EW=["youtubeContainer"],OW=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._youtubeContainer=new ae,this._destroyed=new ae,this._playerChanges=new vv(void 0),this._videoId=new vv(void 0),this._height=new vv(390),this._width=new vv(640),this._startSeconds=new vv(void 0),this._endSeconds=new vv(void 0),this._suggestedQuality=new vv(void 0),this._playerVars=new vv(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=hd(n)}return b(e,[{key:"videoId",get:function(){return this._videoId.value},set:function(e){this._videoId.next(e)}},{key:"height",get:function(){return this._height.value},set:function(e){this._height.next(e||390)}},{key:"width",get:function(){return this._width.value},set:function(e){this._width.next(e||640)}},{key:"startSeconds",set:function(e){this._startSeconds.next(e)}},{key:"endSeconds",set:function(e){this._endSeconds.next(e)}},{key:"suggestedQuality",set:function(e){this._suggestedQuality.next(e)}},{key:"playerVars",get:function(){return this._playerVars.value},set:function(e){this._playerVars.next(e)}},{key:"ngOnInit",value:function(){var e=this;if(this._isBrowser){var n=$d(!0);if(!window.YT||!window.YT.Player){var i=new ae;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=function(){e._existingApiReadyCallback&&e._existingApiReadyCallback(),e._ngZone.run(function(){return i.next(!0)})},n=i.pipe(_p(1),Ef(!1))}var r=function(e,n,i,r,o,a,s){var u=J_([n,a]).pipe(bW(J_([r,o])),ce(function(e){var n=t(e,2),i=n[0],r=n[1],o=t(i,2),a=o[0],s=o[1],u=t(r,2),c=u[0],l=u[1];return a?{videoId:a,playerVars:s,width:c,height:l}:void 0}));return J_([e,u,$d(s)]).pipe(function(e){return J(function(){for(var e=arguments.length,t=new Array(e),n=0;n=2&&(n=!0),function(i){return i.lift(new kW(e,t,n))}}(TW,void 0),lf())}(this._youtubeContainer,this._videoId,n,this._width,this._height,this._playerVars,this._ngZone).pipe(mv(function(t){e._playerChanges.next(t)}),ke(function(e){return e?PW(e)?$d(e):new te(function(t){var n=!1,i=!1;return e.addEventListener("onReady",function e(r){i=!0,n||(r.target.removeEventListener("onReady",e),t.next(r.target))}),function(){n=!0,i||function(e){PW(e)||e.destroy()}(e)}}).pipe(_p(1),Ef(void 0)):$d(void 0)}),kf(this._destroyed),De(new ae));r.subscribe(function(t){e._player=t,t&&e._pendingPlayerState&&e._initializePlayer(t,e._pendingPlayerState),e._pendingPlayerState=void 0}),function(e,n,i){J_([e,n,i]).subscribe(function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return i&&i.setSize(r,o)})}(r,this._width,this._height),function(e,n){J_([e,n]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];return i&&r&&i.setPlaybackQuality(r)})}(r,this._suggestedQuality),function(e,n,i,r,o,a){var s=J_([i,r]).pipe(ce(function(e){var n=t(e,2);return{startSeconds:n[0],endSeconds:n[1]}})),u=s.pipe(AW(e,function(e){return!!e&&!function(e){var t=e.getPlayerState();return t!==YT.PlayerState.UNSTARTED&&t!==YT.PlayerState.CUED}(e)})),c=n.pipe(AW(e,function(e,t){return!!e&&e.videoId!==t}));Oe(e.pipe(AW(J_([n,s]),function(e,n){var i=t(e,2),r=i[0],o=i[1];return!(!n||r==n.videoId&&!o.startSeconds&&!o.endSeconds)})),c,u).pipe(bW(J_([e,n,s,o])),ce(function(e){var n=t(e,2);n[0];return n[1]}),kf(a)).subscribe(function(e){var n=t(e,4),i=n[0],r=n[1],o=n[2],a=n[3];!r||!i||(i.videoId=r,i.cueVideoById(Object.assign({videoId:r,suggestedQuality:a},o)))})}(r,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),r.connect()}}},{key:"createEventsBoundInZone",value:function(){return{}}},{key:"ngAfterViewInit",value:function(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}},{key:"ngOnDestroy",value:function(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"playVideo",value:function(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}},{key:"pauseVideo",value:function(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}},{key:"stopVideo",value:function(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}},{key:"seekTo",value:function(e,t){this._player?this._player.seekTo(e,t):this._getPendingState().seek={seconds:e,allowSeekAhead:t}}},{key:"mute",value:function(){this._player?this._player.mute():this._getPendingState().muted=!0}},{key:"unMute",value:function(){this._player?this._player.unMute():this._getPendingState().muted=!1}},{key:"isMuted",value:function(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}},{key:"setVolume",value:function(e){this._player?this._player.setVolume(e):this._getPendingState().volume=e}},{key:"getVolume",value:function(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}},{key:"setPlaybackRate",value:function(e){if(this._player)return this._player.setPlaybackRate(e);this._getPendingState().playbackRate=e}},{key:"getPlaybackRate",value:function(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}},{key:"getAvailablePlaybackRates",value:function(){return this._player?this._player.getAvailablePlaybackRates():[]}},{key:"getVideoLoadedFraction",value:function(){return this._player?this._player.getVideoLoadedFraction():0}},{key:"getPlayerState",value:function(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}},{key:"getCurrentTime",value:function(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}},{key:"getPlaybackQuality",value:function(){return this._player?this._player.getPlaybackQuality():"default"}},{key:"getAvailableQualityLevels",value:function(){return this._player?this._player.getAvailableQualityLevels():[]}},{key:"getDuration",value:function(){return this._player?this._player.getDuration():0}},{key:"getVideoUrl",value:function(){return this._player?this._player.getVideoUrl():""}},{key:"getVideoEmbedCode",value:function(){return this._player?this._player.getVideoEmbedCode():""}},{key:"_getPendingState",value:function(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}},{key:"_initializePlayer",value:function(e,t){var n=t.playbackState,i=t.playbackRate,r=t.volume,o=t.muted,a=t.seek;switch(n){case YT.PlayerState.PLAYING:e.playVideo();break;case YT.PlayerState.PAUSED:e.pauseVideo();break;case YT.PlayerState.CUED:e.stopVideo()}null!=i&&e.setPlaybackRate(i),null!=r&&e.setVolume(r),null!=o&&(o?e.mute():e.unMute()),null!=a&&e.seekTo(a.seconds,a.allowSeekAhead)}},{key:"_getLazyEmitter",value:function(e){var t=this;return this._playerChanges.pipe(Of(function(t){return t?yW(function(n){t.addEventListener(e,n)},function(n){try{t.removeEventListener&&t.removeEventListener(e,n)}catch(i){}}):$d()}),function(e){return new te(function(n){return e.subscribe({next:function(e){return t._ngZone.run(function(){return n.next(e)})},error:function(e){return n.error(e)},complete:function(){return n.complete()}})})},kf(this._destroyed))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["youtube-player"]],viewQuery:function(e,t){var n;(1&e&&yl(EW,5),2&e)&&(ml(n=_l())&&(t.youtubeContainer=n.first))},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(e,t){1&e&&Is(0,"div",null,0)},encapsulation:2,changeDetection:0}),e}();function TW(e,n){var i=t(n,3),r=i[0],o=i[1],a=i[2];if(e&&o&&e.playerVars!==o.playerVars)e.destroy();else{if(!o)return void(e&&e.destroy());if(e)return e}var s=a.runOutsideAngular(function(){return new YT.Player(r,o)});return s.videoId=o.videoId,s.playerVars=o.playerVars,s}function PW(e){return"getPlayerStatus"in e}function AW(e,n){return J(bW(e),bf(function(e){var i=t(e,2),r=i[0],o=i[1];return n(o,r)}),ce(function(e){return t(e,1)[0]}))}var MW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),IW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),e}();function RW(e){return!0===e}function DW(e){return null==e}function NW(e){return!DW(e)}function LW(e){return Boolean(e)}function jW(e){return DW(e)?e:JSON.parse(JSON.stringify(e))}var FW=function e(t){var n=t instanceof Date;if("object"!=typeof t||null===t||n)return t;Object.freeze(t);var i="function"==typeof t,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(n){r.call(t,n)&&(!i||"caller"!==n&&"callee"!==n&&"arguments"!==n)&&null!==t[n]&&("object"==typeof t[n]||"function"==typeof t[n])&&!Object.isFrozen(t[n])&&e(t[n])}),t};function BW(e){return NW(e)&&"object"==typeof e&&function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e)}var VW="NGXS_DATA_META",zW="NGXS_META",UW="NGXS_ARGUMENT_REGISTRY_META",HW=function(){var e=function(){function e(t){var n=this;m(this,e),this.sequence$=new vv(0),this.subscription=null,t&&(this.subscription=t.subscribe(function(){return n.updateSequence()}))}return b(e,[{key:"sequenceValue",get:function(){return this.sequence$.getValue()}},{key:"ngOnDestroy",value:function(){var e;this.sequence$.next(0),null===(e=this.subscription)||void 0===e||e.unsubscribe()}},{key:"updateSequence",value:function(){this.sequence$.next(this.sequenceValue+1)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function GW(e){return e[VW]}var WW=function(){var e=function e(t,n,i){m(this,e),e.store=t.get(Pz),e.ngZone=t.get(Xl),e.factory=n,e.context=i,e.computed=t.get(HW)};return e.store=null,e.computed=null,e.context=null,e.factory=null,e.ngZone=null,e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(bV),Zi(yV))}}),e}(),qW=function(){function e(){m(this,e),e.statesCachedMeta.clear()}return b(e,null,[{key:"createStateContext",value:function(e){return WW.context.createStateContext(e)}},{key:"ensureMappedState",value:function(t){if(DW(WW.factory)||DW(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(NW(t.name)?e.statesCachedMeta.get(t.name):null)||e.ensureMeta(t)}},{key:"getRepositoryByInstance",value:function(t){var n,i=null!==(n=GW(e.getStateClassByInstance(t)))&&void 0!==n?n:null;if(DW(i))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return i}},{key:"getStateClassByInstance",value:function(e){return(null!=e?e:{}).constructor}},{key:"clearMetaByInstance",value:function(t){var n=e.getRepositoryByInstance(t);n.stateMeta.actions={},n.operations={}}},{key:"createPayload",value:function(e,t){for(var n={},i=Array.from(e),r=0;r0?n:null}},{key:"createAction",value:function(t,n,i){var r=e.createPayload(n,i);return new(function(e){return function(){function t(e){var n=this;m(this,t),e&&Object.keys(e).forEach(function(t){n[t]=e[t]})}return b(t,null,[{key:"type",get:function(){return e}}]),t}()}(t.type))(r)}},{key:"ensureMeta",value:function(t){var n,i=NW(t.name)?null===(n=WW.factory.states)||void 0===n?void 0:n.find(function(e){return e.name===t.name}):null;return NW(i)&&NW(t.name)&&e.statesCachedMeta.set(t.name,i),i}}]),e}();qW.statesCachedMeta=new Map,qW.\u0275fac=function(e){return new(e||qW)},qW.\u0275prov=$e({token:qW,factory:qW.\u0275fac}),new Bf(1);var XW=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,"Child states can only be added to an object. Cannot convert ".concat(NW(null==e?void 0:e.constructor)?e.constructor.name:e," to PlainObject"))}return n}(l(Error));function YW(e){var t;return null!==(t=e.NGXS_OPTIONS_META)&&void 0!==t?t:{name:""}}function KW(e){var t,n=YW(e),i=null!==(t=n.children)&&void 0!==t?t:[],r=jW(void 0===n.defaults?{}:n.defaults);if(i.length){if(BW(r))return function(e,t){return t.reduce(function(e,t){var n=YW(t);if(function(e){var t="string"==typeof e?e.trim():e;return[void 0,null,NaN,"",1/0].includes(t)}(n.name))throw new Error("State name not provided in class");return e[n.name.toString()]=KW(t),e},null!=e?e:{})}(r,i);throw new XW(r)}return r}function $W(e){var t;return null!==(t=e.__NGXS_COMPUTED_OPTION__)&&void 0!==t?t:null}function QW(){var e,t;return null!==(t=null===(e=null==WW?void 0:WW.computed)||void 0===e?void 0:e.sequenceValue)&&void 0!==t?t:0}function ZW(e){var t=!1;return cf(e)&&(t=!0),t}function JW(e){return e[UW]}var eq=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,"An argument with the name '".concat(e,"' already exists in the method '").concat(i,"'"))}return n}(l(Error)),tq=function(){function e(){m(this,e),this.payloadMap=new Map,this.argumentMap=new Map}return b(e,[{key:"getPayloadTypeByIndex",value:function(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}},{key:"getArgumentNameByIndex",value:function(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}},{key:"createPayloadType",value:function(e,t,n){this.checkDuplicateName(e,t),this.payloadMap.set(n,e),this.payloadMap.set(e,e)}},{key:"createArgumentName",value:function(e,t,n){this.checkDuplicateName(e,t),this.argumentMap.set(n,e),this.argumentMap.set(e,e)}},{key:"checkDuplicateName",value:function(e,t){if(LW(this.argumentMap.has(e))||LW(this.payloadMap.has(e)))throw new eq(e,t)}}]),e}();function nq(e){return ah()?FW(e):e}function iq(e){return{enumerable:!0,configurable:!0,get:function(){var t=GW(e),n=qW.ensureMappedState(t.stateMeta);return qW.createStateContext(n)}}}function rq(e){if(!e)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},e),{getState:function(){return ah()?FW(e.getState()):e.getState()},setState:function(t){e.setState(t)},patchState:function(t){e.patchState(t)}})}function oq(){return function(e,t,n){!function(e,t){if(!function(e,t){var n,i=e,r=!1;if(BW(i))for(;null!==i;){if(RW(null==i?void 0:i.hasOwnProperty(t))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,t))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(e,null==t?void 0:t.toString()))throw new Error("The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ".concat(t.toString(),"() { \n\t .. \n}"))}(e,t);var i=n.get;return n.get=function(){var e=function(e){return DW($W(e))&&Object.defineProperties(e,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),$W(e)}(this),t=null==e?void 0:e.get(i);if(RW(null==t?void 0:t.isObservable))return null==t?void 0:t.value;if(DW(t)||t.sequenceId!==QW()){e.delete(i);for(var n=arguments.length,r=new Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:aq;return function(t,n,i){!function(e,t){if(e.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===t)throw new Error("@DataAction() can only decorate a method implementation")}(t,i);var r=i.value,o=n.toString();return i.value=function(){for(var t=arguments.length,n=new Array(t),i=0;i0?Array.from(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return Object.defineProperty(e,r,{value:o,enumerable:!0})},{}):void 0}},{key:"gtag",value:function(){try{for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return{ngModule:e,providers:[{provide:pq,useValue:{trackingCode:t,initCommands:n,uri:i,enableTracing:r,nonce:o}},bq]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[]]}),e}(),wq=function(){var e=function(){function e(){m(this,e),this.consent="not-set",this.consentChange=new Bf(1),this.consentChange.next(this.consent)}return b(e,[{key:"ngOnDestroy",value:function(){this.consentChange.complete()}},{key:"setConsent",value:function(e){this.consent!==e&&(this.consent=e,this.consentChange.next(e))}},{key:"unsetConsent",value:function(){this.setConsent("not-set")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),kq=function(){var e=function(){function e(t,n,i){var r=this,o=i.trackingCode;m(this,e),this.window=n,this.subscriptions=new q,this.token=o,this.subscriptions.add(t.consentChange.subscribe(function(e){return r.toggleGoogleAnalytics("rescinded"===e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"toggleGoogleAnalytics",value:function(e){this.window&&(this.window["ga-disable-".concat(this.token)]=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(vq),Zi(pq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),xq=new Ri("Key under which consent is stored",{providedIn:"root",factory:function(){return"ALLOW_TELEMETRY"}}),Sq=[wq,kq,function(){var e=function(){function e(t,n){var i=this;m(this,e),this.key=n,this.subscriptions=new q;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(function(e){return i.saveConsent(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"loadConsent",value:function(){var e,t,n=null===(t=null===(e=this.storage)||void 0===e?void 0:e.getItem)||void 0===t?void 0:t.call(e,this.key);if(null==n)return"not-set";var i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}},{key:"saveConsent",value:function(e){var t,n;null===(n=null===(t=this.storage)||void 0===t?void 0:t.setItem)||void 0===n||n.call(t,this.key,e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(xq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}()];function Cq(e){return Object.entries(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return null!=o&&(e[r]="".concat(o)),e},{})}var Eq=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){var n=_q.forRoot(t.gaToken,function(e){return[{command:"set",values:[Cq({appName:e.appName,projectName:e.projectName,developmentMode:e.developmentMode})]}]}(t)).providers;return{ngModule:e,providers:void 0===n?[]:n}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[].concat(Sq,[{provide:Cl,multi:!0,useFactory:function(){return function(){}},deps:Sq}]),imports:[[_q]]}),e}();function Oq(e,t,n,i){n&&"function"!=typeof n&&(i=n);var r="function"==typeof n?n:void 0,o=new Bf(e,t,i);return function(e){return De(function(){return o},r)(e)}}var Tq=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},Pq=function(e){return e.map(function(e){return void 0!==e?JSON.parse(JSON.stringify(e)):e})},Aq={storageStrategy:function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).cachePairs=[],e}return b(n,[{key:"add",value:function(e,t,n){this.cachePairs.push(e)}},{key:"addMany",value:function(e){this.cachePairs=e}},{key:"updateAtIndex",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"update",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"getAll",value:function(){return this.cachePairs}},{key:"removeAtIndex",value:function(e){this.cachePairs.splice(e,1)}},{key:"remove",value:function(e){this.cachePairs.splice(e,1)}},{key:"removeAll",value:function(){this.cachePairs.length=0}}]),n}(function(){return function e(){m(this,e)}}()),globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},Mq=new ae;function Iq(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n,i){var r=this,o=e.cacheKey||t.constructor.name+"#"+n,a=i.value;if(i&&i.value){var s=e.storageStrategy?new e.storageStrategy:new Aq.storageStrategy,u=[];e.cacheModifier&&e.cacheModifier.subscribe(function(e){return s.addMany(e(s.getAll(o,r)),o,r)}),Oe(Mq.asObservable(),e.cacheBusterObserver?e.cacheBusterObserver:If()).subscribe(function(e){s.removeAll(o,r),u.length=0}),e.cacheResolver=e.cacheResolver||Aq.cacheResolver||Tq,e.cacheHasher=e.cacheHasher||Aq.cacheHasher||Pq,i.value=function(){for(var t=this,n=s.getAll(o,this),i=arguments.length,r=new Array(i),c=0;c(e.maxAge||Aq.maxAge)?(s.remove?s.remove(n.indexOf(h),h,o,this):s.removeAtIndex(n.indexOf(h),o,this),h=null):(e.slidingExpiration||Aq.slidingExpiration)&&(h.created=new Date,s.update?s.update(n.indexOf(h),h,o,this):s.updateAtIndex(n.indexOf(h),h,o,this))),h){var f=$d(h.response);return e.async?f.pipe(NH(0)):f}if(d)return d.response;var p=a.call.apply(a,[this].concat(r)).pipe(Ub(function(){var t=u.find(function(t){return e.cacheResolver(t.parameters,l)});u.splice(u.indexOf(t),1)}),mv(function(i){(!e.shouldCacheDecider||e.shouldCacheDecider(i))&&((!(e.maxCacheCount||Aq.maxCacheCount)||1===(e.maxCacheCount||Aq.maxCacheCount)||(e.maxCacheCount||Aq.maxCacheCount)&&(e.maxCacheCount||Aq.maxCacheCount)0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.apiKeys=t.apiKeys,this.username=t.username,this.password=t.password,this.accessToken=t.accessToken,this.basePath=t.basePath,this.withCredentials=t.withCredentials,this.encoder=t.encoder,this.credentials=t.credentials?t.credentials:{}}return b(e,[{key:"selectHeaderContentType",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"selectHeaderAccept",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"isJsonMime",value:function(e){var t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}},{key:"lookupCredential",value:function(e){var t=this.credentials[e];return"function"==typeof t?t():t}}]),e}(),jq=function(){var e=function(){function e(t,n,i){m(this,e),this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Xb,this.configuration=new Lq,i&&(this.configuration=i),"string"!=typeof this.configuration.basePath&&("string"!=typeof n&&(n=this.basePath),this.configuration.basePath=n),this.encoder=this.configuration.encoder||new Dq}return b(e,[{key:"addToHttpParams",value:function(e,t,n){return this.addToHttpParamsRecursive(e,t,n)}},{key:"addToHttpParamsRecursive",value:function(e,t,n){var i=this;if(null==t)return e;if("object"==typeof t)if(Array.isArray(t))t.forEach(function(t){return e=i.addToHttpParamsRecursive(e,t,n)});else if(t instanceof Date){if(null==n)throw Error("key may not be null if value is Date");e=e.append(n,t.toISOString().substr(0,10))}else Object.keys(t).forEach(function(r){return e=i.addToHttpParamsRecursive(e,t[r],null!=n?"".concat(n,".").concat(r):r)});else{if(null==n)throw Error("key may not be null if value is not object or array");e=e.append(n,t)}return e}},{key:"aggregateResults",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/aggregate-results"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"dbStatus",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.token,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"token"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/db-status"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"getSpatialPlacement",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");var o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));var s=i&&i.context;void 0===s&&(s=new e_);var u=this.configuration.selectHeaderContentType(["application/json"]);void 0!==u&&(o=o.set("Content-Type",u));var c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/get-spatial-placement"),r,{context:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:t,reportProgress:n})}},{key:"gtexRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/gtex/rui_locations.jsonld"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"hubmapRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/hubmap/rui_locations.jsonld"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"ontologyTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"ontologyTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"providerNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/provider-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"referenceOrganScene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");var a=e.age,s=e.ageRange,u=e.bmi,c=e.bmiRange,l=e.cache,h=e.ontologyTerms,d=e.cellTypeTerms,f=e.providers,p=e.sex,v=e.spatial,g=e.technologies,m=e.token,y=new Jb({encoder:this.encoder});null!=a&&(y=this.addToHttpParams(y,a,"age")),null!=s&&(y=this.addToHttpParams(y,s,"age-range")),null!=u&&(y=this.addToHttpParams(y,u,"bmi")),null!=c&&(y=this.addToHttpParams(y,c,"bmi-range")),null!=l&&(y=this.addToHttpParams(y,l,"cache")),h&&h.forEach(function(e){y=t.addToHttpParams(y,e,"ontology-terms")}),d&&d.forEach(function(e){y=t.addToHttpParams(y,e,"cell-type-terms")}),null!=o&&(y=this.addToHttpParams(y,o,"organ-iri")),f&&f.forEach(function(e){y=t.addToHttpParams(y,e,"providers")}),null!=p&&(y=this.addToHttpParams(y,p,"sex")),v&&v.forEach(function(e){y=t.addToHttpParams(y,e,"spatial")}),g&&g.forEach(function(e){y=t.addToHttpParams(y,e,"technologies")}),null!=m&&(y=this.addToHttpParams(y,m,"token"));var b=this.defaultHeaders,_=r&&r.httpHeaderAccept;void 0===_&&(_=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_&&(b=b.set("Accept",_));var w=r&&r.context;void 0===w&&(w=new e_);var k="json";return _&&(k=_.startsWith("text")?"text":this.configuration.isJsonMime(_)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organ-scene"),{context:w,params:y,responseType:k,withCredentials:this.configuration.withCredentials,headers:b,observe:n,reportProgress:i})}},{key:"referenceOrgans",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organs"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"scene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/scene"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"sparql",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"query")),null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/sparql"),{context:l,params:s,responseType:h,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"sparqlPost",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(u=u.set("Content-Type",h));var d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/sparql"),r,{context:l,params:s,responseType:d,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"technologyNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/technology-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"tissueBlocks",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/tissue-blocks"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_),Zi(Nq,8),Zi(Lq,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(h_),Zi(Nq,8),Zi(Lq,8))},token:e,providedIn:"root"}),e}(),Fq=function(){var e=function(){function e(t,n){if(m(this,e),t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!n)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:Lq,useFactory:t}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12),Zi(h_,8))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[],imports:[[]]}),e}();function Bq(e){return new Promise(function(t,n){e.oncomplete=e.onsuccess=function(){return t(e.result)},e.onabort=e.onerror=function(){return n(e.error)}})}function Vq(){return Rq||(e="keyval",t=function(){return navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases?Promise.resolve():new Promise(function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)});var e}().then(function(){var t=indexedDB.open("keyval-store");return t.onupgradeneeded=function(){return t.result.createObjectStore(e)},Bq(t)}),Rq=function(n,i){return t.then(function(t){return i(t.transaction(e,n).objectStore(e))})}),Rq;var e,t}function zq(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readonly",function(t){return Bq(t.get(e))})}var Uq,Hq=r(71440),Gq="Unknown Euler angle order",Wq=.99999,qq=function(e){a(i,e);var n=s(i);function i(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i.DefaultOrder;return m(this,i),t=n.call(this,-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?(e=t).fromVector3.apply(e,arguments):t.set(r,o,a,s),t}return b(i,[{key:"ELEMENTS",get:function(){return 4}},{key:"fromQuaternion",value:function(e){var n=t(e,4),r=n[0],o=n[1],a=n[2],s=n[3],u=o*o,c=-2*(u+a*a)+1,l=2*(r*o+s*a),h=-2*(r*a-s*o);return h=(h=h>1?1:h)<-1?-1:h,new i(Math.atan2(2*(o*a+s*r),-2*(r*r+u)+1),Math.asin(h),Math.atan2(l,c),i.RollPitchYaw)}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;return this[0]=e,this[1]=t,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}},{key:"validate",value:function(){return function(e){return e>=0&&e<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}},{key:"toArray4",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}},{key:"toVector3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"alpha",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"beta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"gamma",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"phi",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"theta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"psi",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"roll",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"pitch",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"yaw",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"order",get:function(){return this[3]},set:function(e){this[3]=function(e){if(e<0&&e>=6)throw new Error(Gq);return e}(e)}},{key:"fromVector3",value:function(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}},{key:"fromRollPitchYaw",value:function(e,t,n){return this.set(e,t,n,i.ZYX)}},{key:"fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder;return this._fromRotationMatrix(e,t),this.check()}},{key:"getRotationMatrix",value:function(e){return this._getRotationMatrix(e)}},{key:"getQuaternion",value:function(){var e=new JN;switch(this[4]){case i.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case i.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case i.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case i.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case i.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case i.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(Gq)}}},{key:"_fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder,n=e.elements,r=n[0],o=n[4],a=n[8],s=n[1],u=n[5],c=n[9],l=n[2],h=n[6],d=n[10];switch(t=t||this[3]){case i.XYZ:this[1]=Math.asin(hS(a,-1,1)),Math.abs(a)1&&void 0!==arguments[1]?arguments[1]:0,n=(tX[e[t+0]]+tX[e[t+1]]+tX[e[t+2]]+tX[e[t+3]]+"-"+tX[e[t+4]]+tX[e[t+5]]+"-"+tX[e[t+6]]+tX[e[t+7]]+"-"+tX[e[t+8]]+tX[e[t+9]]+"-"+tX[e[t+10]]+tX[e[t+11]]+tX[e[t+12]]+tX[e[t+13]]+tX[e[t+14]]+tX[e[t+15]]).toLowerCase();if(!eX(n))throw TypeError("Stringified UUID is invalid");return n}(i)},rX=r(31609),oX=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),aX=(Math,Math,{});function sX(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?aX.precision||4:n;return e=function(e){return Math.round(e/aX.EPSILON)*aX.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function uX(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cX(e,t,n){var i=aX.EPSILON;n&&(aX.EPSILON=n);try{if(e===t)return!0;if(uX(e)&&uX(t)){if(e.length!==t.length)return!1;for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+sX(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(aX.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&uX(i)?e.copy(i):(aX.debug&&(dX(i),dX(r),dX(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return aX.debug&&(dX(e.x),dX(e.y),dX(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=dX(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return AS(this,this,void 0===n?gX:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?gX:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?gX:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return function(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[3]*i+n[7]*r+n[11]*o||1;e[0]=(n[0]*i+n[4]*r+n[8]*o)/a,e[1]=(n[1]*i+n[5]*r+n[9]*o)/a,e[2]=(n[2]*i+n[6]*r+n[10]*o)/a}(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return PS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return mX.ZERO=mX.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return lX(!1),0}},{key:"copy",value:function(e){return lX(!1),this}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=dX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=dX(e)}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.radius=-0,this.center=new yX,this.fromCenterRadius(t,n)}return b(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=bX.from(t),this.center=(new yX).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,n=this.radius,i=e.radius,r=bX.copy(e.center).subtract(t),o=r.magnitude();if(n>=o+i)return this.clone();if(i>=o+n)return e.clone();var a=.5*(n+o+i);return _X.copy(r).scale((-n+a)/o).add(t),this.center.copy(_X),this.radius=a,this}},{key:"expand",value:function(e){var t=(e=bX.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=function(e,t){var n=t[4],i=t[5],r=t[6],o=t[8],a=t[9],s=t[10];return e[0]=Math.hypot(t[0],t[1],t[2]),e[1]=Math.hypot(n,i,r),e[2]=Math.hypot(o,a,s),e}(bX,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=bX.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.radius,n=e.normal.dot(this.center)+e.distance;return n<-t?oX.OUTSIDE:n1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=dX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=dX(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=dX(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=dX(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return lX(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return lX(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?TX:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),fX(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(hX),AX=new yX,MX=new yX,IX=new yX,RX=new yX,DX=new yX,NX=new yX,LX=new yX,jX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];m(this,e),this.center=(new yX).from(t),this.halfAxes=new OX(n)}return b(e,[{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new yX(e).len(),new yX(t).len(),new yX(n).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new yX(e).normalize(),r=new yX(t).normalize(),o=new yX(n).normalize();return(new PX).fromMatrix3(new OX([].concat(v(i),v(r),v(o))))}},{key:"fromCenterHalfSizeQuaternion",value:function(e,t,n){var i=new PX(n),r=(new OX).fromQuaternion(i);return r[0]=r[0]*t[0],r[1]=r[1]*t[0],r[2]=r[2]*t[0],r[3]=r[3]*t[1],r[4]=r[4]*t[1],r[5]=r[5]*t[1],r[6]=r[6]*t[2],r[7]=r[7]*t[2],r[8]=r[8]*t[2],this.center=(new yX).from(e),this.halfAxes=r,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new wX,t=this.halfAxes,n=t.getColumn(0,IX),i=t.getColumn(1,RX),r=t.getColumn(2,DX),o=AX.copy(n).add(i).add(r);return e.center.copy(this.center),e.radius=o.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,n=e.normal,i=this.halfAxes,r=n.x,o=n.y,a=n.z,s=Math.abs(r*i[0]+o*i[1]+a*i[2])+Math.abs(r*i[3]+o*i[4]+a*i[5])+Math.abs(r*i[6]+o*i[7]+a*i[8]),u=n.dot(t)+e.distance;return u<=-s?oX.OUTSIDE:u>=s?oX.INSIDE:oX.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=MX.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,IX),r=n.getColumn(1,RX),o=n.getColumn(2,DX),a=i.magnitude(),s=r.magnitude(),u=o.magnitude();i.normalize(),r.normalize(),o.normalize();var c,l=0;return(c=Math.abs(t.dot(i))-a)>0&&(l+=c*c),(c=Math.abs(t.dot(r))-s)>0&&(l+=c*c),(c=Math.abs(t.dot(o))-u)>0&&(l+=c*c),l}},{key:"computePlaneDistances",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,s=a.getColumn(0,IX),u=a.getColumn(1,RX),c=a.getColumn(2,DX),l=NX.copy(s).add(u).add(c).add(o),h=LX.copy(l).subtract(e),d=t.dot(h);return i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,IX);t.transformAsPoint(e);var n=this.halfAxes.getColumn(1,RX);n.transformAsPoint(e);var i=this.halfAxes.getColumn(2,DX);return i.transformAsPoint(e),this.halfAxes=new OX([].concat(v(t),v(n),v(i))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}}]),e}(),FX=new yX,BX=new yX,VX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.normal=new yX,this.distance=-0,this.fromNormalDistance(t,n)}return b(e,[{key:"fromNormalDistance",value:function(e,t){return lX(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=FX.from(e),this.normal.from(t).normalize();var n=-this.normal.dot(e);return this.distance=n,this}},{key:"fromCoefficients",value:function(e,t,n,i){return this.normal.set(e,t,n),lX(cX(this.normal.len(),1)),this.distance=i,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return cX(this.distance,e.distance)&&cX(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=BX.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=FX.from(e);var n=this.getPointDistance(e),i=BX.copy(this.normal).scale(n);return e.subtract(i).to(t)}}]),e}();function zX(e,n,i){var r,o,a,s,u,c,l,h,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:r=0,o=Object.entries(i);case 1:if(!(r0){r.reverse();var o,a="",s=_(r);try{for(s.s();!(o=s.n()).done;){var u=o.value;a&&rY(i,iY(n,this.graph.getEdgeAttribute(u,a,"id"))),a=u}}catch(c){s.e(c)}finally{s.f()}return i}}}},{key:"getSpatialPlacement",value:function(e,t){var n,i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,$q.get)(e,"placement[0]",(0,$q.get)(e,"placement",void 0));if(r&&this.graph.hasNode(r.target)?(n=this.getTransformationMatrix(r.target,t))&&(n=rY(n,r)):i&&(n=this.getTransformationMatrix(i,t)),n){var o=(new qq).fromRotationMatrix(n,qq.XYZ),a=n.getTranslation().map(function(e){return 1e3*e}),s=o.toVector3().map(lS),u=n.getScale().map(function(e){return e<1&&e>.999999?1:e});return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":"http://purl.org/ccf/1.5/".concat(iX(),"_placement"),"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:u[0],y_scaling:u[1],z_scaling:u[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}]),e}(),aY=function(){function e(t){m(this,e),this.db=t}return b(e,[{key:"getSpatialEntity",value:function(e){return nY(this.db.store,e)}},{key:"getExtractionSets",value:function(e){return function(e,t){return(0,$q.sortBy)(e.getSubjects(YX.spatialEntity.extraction_set_for,t,null).map(function(t){return tY(e,t.id)}),["rui_rank"])}(this.db.store,e)}},{key:"getExtractionSet",value:function(e){return tY(this.db.store,e)}},{key:"getAnatomicalStructures",value:function(e){return function(e,t){return(0,$q.sortBy)(e.getSubjects(YX.spatialEntity.reference_organ,t,null).map(function(t){return nY(e,t.id)}).filter(function(e){return e["@id"]!==t}),["rui_rank"])}(this.db.store,e)}},{key:"getReferenceOrgans",value:function(){return function(e){var t=[];return e.forEach(function(n){n.subject.id===n.object.id&&t.push(nY(e,n.subject.id))},null,YX.spatialEntity.reference_organ,null,null),(0,$q.sortBy)(t,["rui_rank"])}(this.db.store)}},{key:"getReferenceBody",value:function(e){var t;switch(null==e?void 0:e.sex){case"Male":t=YX.spatial.Male.id;break;case"Female":t=YX.spatial.Female.id;break;case"Both":default:t=YX.spatial.BothSexes.id}return this.getSpatialEntity(t)}},{key:"getReferenceOrganSets",value:function(e){var n=this,i=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":i=i.filter(function(e){return"Male"===e.sex});break;case"Female":i=i.filter(function(e){return"Female"===e.sex})}return(null==e?void 0:e.debug)&&(i=i.map(function(e){return[[e],n.getAnatomicalStructures(e["@id"])]}).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return e.concat(o.length>0?o:r)},[])),i}},{key:"getReferenceSceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e),i=[],r=v(this.getReferenceOrganSets(e).map(function(e){var r="http://purl.obolibrary.org/obo/UBERON_0002097"===e.representation_of,o=t.getSceneNode(e,n,{color:[255,255,255,255],opacity:r?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!r});return r&&o?void i.push(o):o}));return i.length>0&&(r=[].concat(i,v(r))),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(YX.x("VHRightKidney").id),n,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHLeftKidney").id),n,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHSpleenCC1").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHSpleenCC2").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHSpleenCC3").id),n,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(function(e){return void 0!==e})}},{key:"getReferenceOrganScene",value:function(e,t){var n,i,r=this,o=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(n=null==t?void 0:t.sex)||void 0===n?void 0:n.toLowerCase()),a=this.getReferenceOrgans().filter(function(n){return n.representation_of===e&&(!o||n.sex===(null==t?void 0:t.sex))});if(a.length>0){var s=a[0],u=this.getSceneNode(s,s,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),c=(null!==(i=this.db.getSpatialEntities(t))&&void 0!==i?i:[]).map(function(e){return r.getSceneNode(e,s,{color:[255,255,255,229.5]})});return[u].concat(c).filter(function(e){return void 0!==e})}return[]}},{key:"getEntitySceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(function(e){return t.getSceneNode(e,n,{color:[255,255,255,229.5]})}).filter(function(e){return void 0!==e})}},{key:"getSceneNode",value:function(e,t){var n,i,r,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=null===(i=null===(n=null==e?void 0:e.object)||void 0===n?void 0:n.file_format)||void 0===i?void 0:i.startsWith("model/gltf"),u=this.db.graph.getTransformationMatrix(s&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(s)u=new $O($O.IDENTITY).rotateX(cS(90)).multiplyLeft(u);else{var c;switch(e.dimension_units){case"centimeter":c=.01;break;case"millimeter":c=.001;break;case"meter":default:c=1}var l=[e.x_dimension,e.y_dimension,e.z_dimension].map(function(e){return e*c/2});u.scale(l)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:s?null===(r=e.object)||void 0===r?void 0:r.file:void 0,scenegraphNode:s?null===(o=e.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:u,tooltip:e.label},a)}}},{key:"getScene",value:function(e){return[].concat(v(this.getReferenceSceneNodes(e)),v(this.getEntitySceneNodes(e)))}}]),e}(),sY="https://entity.api.hubmapconsortium.org/entities/",uY=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),cY={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},lY={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},hY={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}},dY=function(){function e(t){var n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3?arguments[3]:void 0;if(m(this,e),this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"===this.data.entity_type){var s=this.data.descendants||[],u=(this.data.ancestors||[]).find(function(e){return"Donor"===e.entity_type});this.donor=this.getDonor(u,o);var c=this.getRuiLocation(t,this.donor);c?this.rui_location=c:this.bad=!0,lY[t.group_uuid]||(lY[t.group_uuid]=t.group_name);var l=new Date(t.last_modified_timestamp).toLocaleDateString(),h=lY[t.group_uuid]||t.group_name,d=t.created_by_user_displayname;this["@id"]=sY+t.uuid,this.label="Registered ".concat(l,", ").concat(d,", ").concat(h),this.link="".concat(o,"browse/sample/").concat(t.uuid);var f={},p=[];this.sections=p;var v=[];this.datasets=v;var g,y=_(s.filter(function(e){return"Sample"===e.entity_type}));try{for(y.s();!(g=y.n()).done;){var b=g.value,w=this.getSection(b,t,o);f[b.submission_id]=w,p.push(w),w.section_number=null!==(n=w.section_number)&&void 0!==n?n:p.length}}catch(M){y.e(M)}finally{y.f()}var k,x=_(s);try{for(x.s();!(k=x.n()).done;){var S=k.value;if("Dataset"===S.entity_type){var C=this.getDataset(S,r,o,a),E=(0,$q.get)(S,["ingest_metadata","metadata","tissue_id"]);f[E]?null===(i=f[E].datasets)||void 0===i||i.push(C):v.push(C)}}}catch(M){x.e(M)}finally{x.f()}var O=null!=c?c:{},T="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(O.z_dimension," ").concat(O.dimension_units);this.section_count=O.slice_count||p.length;var P=parseFloat((O.slice_thickness||(O.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=P;var A=O.dimension_units||"millimeter";this.section_units=A,this.description="".concat(T,", ").concat(P," ").concat(A,", ").concat(t.specimen_type,", ").concat(this.section_count," Sections"),p.forEach(function(e,t){e.description="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(P," ").concat(A,", ").concat(P," ").concat(A,", ").concat(e.description),e.section_number=t+1})}else this.bad=!0}return b(e,[{key:"getSection",value:function(e,t,n){var i=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":sY+e.uuid,"@type":"Sample",label:"Registered ".concat(i,", ").concat(e.created_by_user_displayname,", ").concat(lY[e.group_uuid]||e.group_name),description:"".concat(t.specimen_type),link:"".concat(n,"browse/sample/").concat(e.uuid),sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}},{key:"getDataset",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3?arguments[3]:void 0,a=new Date(e.last_modified_timestamp).toLocaleDateString(),s=lY[e.group_uuid]||e.group_name,u=e.created_by_user_displayname,c=[].concat(v(e.data_types),[(0,$q.get)(e,["ingest_metadata","metadata","assay_type"],"")]),l=c.join("|").toLowerCase(),h="assets/icons/ico-unknown.svg";return-1!==l.indexOf("10x")?(n="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==l.indexOf("af")?(n="AF",h="assets/icons/ico-spatial-af.svg"):-1!==l.indexOf("codex")?(n="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==l.indexOf("imc")?(n="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==l.indexOf("lc")&&-1===l.indexOf("af")?(n="LC",h="assets/icons/ico-bulk-lc.svg"):n=-1!==l.indexOf("maldi")?"MALDI":-1!==l.indexOf("pas")?"PAS":"OTHER",h=null!==(t=this.getDatasetThumbnail(e,i,o))&&void 0!==t?t:h,{"@id":sY+e.uuid,"@type":"Dataset",label:"Registered ".concat(a,", ").concat(u,", ").concat(s),description:"Data/Assay Types: ".concat(c.join(", ")),link:"".concat(r,"browse/dataset/").concat(e.uuid),technology:n,thumbnail:h}}},{key:"getDatasetThumbnail",value:function(e,t,n){if(e.thumbnail_file){var i=e.thumbnail_file;return"".concat(t,"/").concat(i.file_uuid,"/").concat(i.filename)+(n?"?token=".concat(n):"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){var r=(0,$q.get)(e,"metadata.files",[]).filter(function(e){return/\.(ome\.tif|ome\.tiff)$/.test(e.rel_path)}).filter(function(e){return!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(e.rel_path)}).filter(function(e){return uY.has(e.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))}).map(function(i){return"".concat(t,"/").concat(e.uuid,"/").concat(i.rel_path)+(n?"?token=".concat(n):"")});if(r.length>0){var o=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(uY.has(o))return"assets/thumbnails/TMC-Vanderbilt/DR1/".concat(o)}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){var a=cY[e.hubmap_id];if(a)return"assets/thumbnails/TMC-Florida/".concat(a)}}},{key:"getDonor",value:function(e,t){var n,i=(e.description||"").toLowerCase();i.includes("female")?n="Female":i.includes("male")&&(n="Male");var r,o,a=i.match(/age ([0-9]+)/);a&&(r=(0,$q.toNumber)(a[1]));var s,u=_((0,$q.get)(e,"metadata.organ_donor_data",[]));try{for(u.s();!(s=u.n()).done;){var c=s.value;"Feminine gender"===c.preferred_term||"Female"===c.preferred_term?n="Female":"Masculine gender"===c.preferred_term||"Male"===c.preferred_term?n="Male":"Current chronological age"===c.preferred_term||"Age"===c.preferred_term?r=(0,$q.toNumber)(c.data_value):"Body mass index"===c.preferred_term&&(o=(0,$q.toNumber)(c.data_value))}}catch(f){u.e(f)}finally{u.f()}var l="";n&&r&&(l+="".concat(n,", Age ").concat(r),o&&(l+=", BMI ".concat(o.toFixed(1))));var h=new Date(e.last_modified_timestamp).toLocaleDateString(),d=lY[e.group_uuid]||e.group_name;return{"@id":sY+e.uuid,"@type":"Donor",label:l,description:"Entered ".concat(h,", ").concat(e.created_by_user_displayname,", ").concat(d),link:"".concat(t,"browse/donor/").concat(e.uuid),age:r,sex:n,bmi:o,consortium_name:"HuBMAP",provider_name:d,provider_uuid:e.group_uuid,samples:[]}}},{key:"getRuiLocation",value:function(e,t){var n,i,r=e.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):r["@id"]&&(i=r)),i){var o=null!==(n=(0,$q.get)(i,["placement","target"]))&&void 0!==n?n:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,$q.set)(i,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,$q.set)(i,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return i}},{key:"getTissueBlock",value:function(){return(0,$q.omit)(Object.assign({},this),["data","bad","donor"])}},{key:"toJsonLd",value:function(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}]),e}(),fY=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],pY={exists:{field:"rui_location"}};function vY(e,t,n){return JSON.stringify({version:!0,from:e,size:t,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:pY,_source:{includes:fY}})}function gY(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,fetch(e,t);case 3:if(!(i=n.sent).ok){n.next=10;break}return n.next=7,i.json();case 7:n.t0=n.sent,n.next=11;break;case 10:n.t0=void 0;case 11:return n.abrupt("return",n.t0);case 14:return n.prev=14,n.t1=n.catch(0),n.abrupt("return");case 17:case"end":return n.stop()}},n,null,[[0,14]])}))}function mY(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"";return Dw(this,void 0,void 0,regeneratorRuntime.mark(function a(){var s;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("static"!==t){a.next=6;break}return a.next=3,gY(e);case 3:s=a.sent,a.next=11;break;case 6:if(a.t0="search-api"===t,!a.t0){a.next=11;break}return a.next=10,function(e,t,n){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return o=function(e){var t=new Headers;return t.append("Content-type","application/json"),e&&t.append("Authorization","Bearer ".concat(e)),t}(t),a=vY(0,50,n),i.next=4,gY(e,{method:"POST",headers:o,body:a});case 4:if(s=i.sent){i.next=7;break}return i.abrupt("return");case 7:if(!((u=s.hits.total.value)<=50)){i.next=10;break}return i.abrupt("return",s);case 10:for(c=[],l=50;l1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={},s=(0,$q.get)(e,"hits.hits",[]).map(function(e){return(0,$q.get)(e,"_source",{})}).map(function(e){return new dY(e,n,i,r).toJsonLd()}),u=_(s);try{for(u.s();!(t=u.n()).done;){var c=t.value,l=c["@id"];a[l]?a[l].samples.push(c.samples[0]):a[l]=c}}catch(d){u.e(d)}finally{u.f()}var h=Object.values(a);return o&&(function(e){var t,n=[],i=0,r=_(e.filter(function(e){return e.samples.length>1}));try{for(r.s();!(t=r.n()).done;){for(var o=t.value,a=o.samples,s=function(e){var t=a[e]["@id"];n=n.concat(a[e].datasets);var r,o=_(a[e].sections);try{for(o.s();!(r=o.n()).done;){var s=r.value;n=n.concat(s.datasets)}}catch(d){o.e(d)}finally{o.f()}for(var u=e+1;u0&&console.log("\u26a0 ".concat(i," sections identified as blocks"))}(h),console.log(h.map(function(e){return Object.assign({"@context":hY},e)}))),{"@context":hY,"@graph":h}}(s,r,o,i));case 13:console.warn("Unable to load ".concat(e," as HuBMAP Data"));case 14:case"end":return a.stop()}},a)}))}function yY(e,t,n){var i,r=new Set,o=_(t);try{for(o.s();!(i=o.n()).done;){var a,s=i.value,u=_((0,Hq.readQuads)(e,s,n,null,null));try{for(u.s();!(a=u.n()).done;){var c=a.value;r.add(c.object.id)}}catch(l){u.e(l)}finally{u.f()}}}catch(l){o.e(l)}finally{o.f()}return r}var bY=(o(x={},YX.spatialEntity.x_dimension.id,"x"),o(x,YX.spatialEntity.y_dimension.id,"y"),o(x,YX.spatialEntity.z_dimension.id,"z"),x);function _Y(e,t,n,i){var r,o=t.getTransformationMatrix(n,i);if(o){var a=o.getTranslation(),s=function(e,t){var n=UX(e,t,"Dimensions",bY);return[n.x,n.y,n.z]}(e,n).map(function(e){return e/1e3/2}),u=(new qq).fromRotationMatrix(o,qq.XYZ).toQuaternion().normalize().calculateW();r=(new jX).fromCenterHalfSizeQuaternion(a,s,u)}return r}function wY(e,t,n,i){var r,o=i.x,a=i.y,s=i.z,u=i.radius,c=i.target,l=new Set,h=u/1e3*(u/1e3),d=_(n);try{for(d.s();!(r=d.n()).done;){var f=r.value,p=_Y(e,t,f,c);p&&p.distanceSquaredTo([o,a,s].map(function(e){return e/1e3}))<=h&&l.add(f)}}catch(v){d.e(v)}finally{d.f()}return l}function kY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Hq.readQuads)(e,l,qX.donor,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function xY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Hq.readQuads)(e,l,qX.spatialEntity,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function SY(e,t){return function(n){e.has(n.id)&&t.add(n.id)}}function CY(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.namedNode(a);e.forSubjects(SY(t,r),YX.spatialEntity.ccf_annotations,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}function EY(e,t){var n,i=function(e,t){var n,i=new Map,r=_(e);try{for(r.s();!(n=r.n()).done;){var o,a=n.value,s=_((0,Hq.readQuads)(t,a,qX.spatialEntity,null,null));try{for(s.s();!(o=s.n()).done;){var u=o.value;i.has(u.object.id)?i.get(u.object.id).add(a):i.set(u.object.id,new Set([a]))}}catch(c){s.e(c)}finally{s.f()}}}catch(c){r.e(c)}finally{r.f()}return i}(e,t),r=new Map,o=_(i.keys());try{for(o.s();!(n=o.n()).done;){var a,s=n.value,u=i.get(s),c=_((0,Hq.readQuads)(t,s,YX.spatialEntity.ccf_annotations,null,null));try{for(c.s();!(a=c.n()).done;){var l=a.value;r.has(l.object.id)?function(){var e=r.get(l.object.id);u.forEach(function(t){return e.add(t)})}():r.set(l.object.id,new Set(u))}}catch(h){c.e(h)}finally{c.f()}}}catch(h){o.e(h)}finally{o.f()}return r}function OY(e,n,i){var r,a,s={"@id":n,"@type":"OntologyTreeNode",id:n,parent:"",children:[],synonymLabels:[],label:""},u=_(zX(e,n,(o(r={},YX.ontologyNode.label.id,"label"),o(r,i,"parent"),o(r,YX.ontologyNode.synonymLabels.id,"synonymLabels"),r)));try{for(u.s();!(a=u.n()).done;){var c=t(a.value,2),l=c[0],h=c[1];"synonymLabels"===l?s.synonymLabels.push(h):s[l]=h}}catch(d){u.e(d)}finally{u.f()}return s.children=e.getSubjects(i,n,null).map(function(e){return e.id}),s}function TY(e,t,n,i){var r,o={root:t,nodes:{}},a=new Set,s=_((0,Hq.readQuads)(e,null,i,null,null));try{for(s.s();!(r=s.n()).done;){var u=r.value;a.add(u.subject.id),a.add(u.object.id)}}catch(f){s.e(f)}finally{s.f()}var c,l=_(a);try{for(l.s();!(c=l.n()).done;){var h=c.value;o.nodes[h]=OY(e,h,i)}}catch(f){l.e(f)}finally{l.f()}o.nodes[t]||(o.nodes[t]={"@id":t,"@type":"OntologyTreeNode",id:t,label:n,children:[],synonymLabels:[]});var d=e.getSubjects(i,t,null).map(function(e){return e.id}).sort(function(e,t){return o.nodes[e].label.localeCompare(o.nodes[t].label)});return o.nodes[t].children=d,o}var PY=(0,$q.memoize)(function(e){var t=TY(e,ZX.body.id,"body",YX.asctb.part_of.id);return t.nodes[ZX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(function(e){return e in t.nodes}),t},function(){return""}),AY=(o(S={},qX.label.id,"label"),o(S,qX.description.id,"description"),o(S,qX.link.id,"link"),S),MY=Object.assign(Object.assign({},AY),o({},qX.providerName.id,"providerName")),IY=Object.assign(Object.assign({},AY),(o(C={},qX.technology.id,"technology"),o(C,qX.thumbnail.id,"thumbnail"),C)),RY=Object.assign(Object.assign({},AY),(o(E={},qX.sampleType.id,"sampleType"),o(E,qX.sectionNumber.id,"sectionNumber"),o(E,qX.datasets.id,"datasets"),E)),DY=Object.assign(Object.assign({},AY),(o(O={},qX.sampleType.id,"sampleType"),o(O,qX.sectionCount.id,"sectionCount"),o(O,qX.sectionSize.id,"sectionSize"),o(O,qX.sectionUnits.id,"sectionUnits"),o(O,qX.donor.id,"donor"),o(O,qX.spatialEntity.id,"spatialEntityId"),o(O,qX.sections.id,"sections"),o(O,qX.datasets.id,"datasets"),O));function NY(e,t){return UX(e,t,"Donor",MY)}function LY(e,t){return UX(e,t,"Dataset",IY)}function jY(e,n){var i,r={"@id":n,"@type":"Sample",datasets:[]},o=_(zX(e,n,RY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("datasets"===s){var c=LY(e,u);r[s].push(c)}else r[s]=u}}catch(l){o.e(l)}finally{o.f()}return r}var FY=function(){function e(t){m(this,e),this.database=t,this.connect()}return b(e,[{key:"toJson",value:function(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}},{key:"connect",value:function(){var e=this;this.status="Loading",this.message="Loading database";var t=Date.now();return this.database.connect().then(function(t){return Dw(e,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=14;break}return this.message="Building scene",e.next=4,this.database.getScene();case 4:return this.message="Building tissue block results",e.next=7,this.database.getTissueBlockResults();case 7:return this.message="Aggregating results",e.next=10,this.database.getAggregateResults();case 10:this.status="Ready",this.message="Database successfully loaded",e.next=15;break;case 14:this.status="Error",this.message="Unknown error while loading database";case 15:case"end":return e.stop()}},e,this)}))}).catch(function(t){var n;e.status="Error",e.message=null!==(n=null==t?void 0:t.message)&&void 0!==n?n:"Unknown error while loading database"}).finally(function(){e.loadTime=Date.now()-t})}}]),e}(),BY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"},VY=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:BY;m(this,e),this.options=t,this.store=new Hq.Store(void 0,{factory:Hq.DataFactory}),this.graph=new oY(this),this.scene=new aY(this)}return b(e,[{key:"connect",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),n.next=4,this.initializing;case 4:return n.abrupt("return",this.store.size>0);case 5:case"end":return n.stop()}},n,this)}))}},{key:"cachedConnect",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){var t,n,i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=(new Date).getTime(),n="ccf-database.last_modified",i="ccf-database",e.next=5,zq(n).catch(function(){});case 5:if(!((r=e.sent)&&t-new Date(+r).getTime()>36e5)){e.next=11;break}return e.next=9,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.delete(e)}),Bq(t.transaction)})}([i,n]).catch(function(){});case 9:e.next=14;break;case 11:return e.next=13,zq(i).catch(function(){});case 13:o=e.sent;case 14:if(!o){e.next=19;break}return e.next=17,this.deserialize(o);case 17:e.next=22;break;case 19:return e.next=21,this.doConnect();case 21:(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.put(e[1],e[0])}),Bq(t.transaction)})})([[i,this.serialize()],[n,""+t]]).catch(function(){});case 22:case"end":return e.stop()}},e,this)}))}},{key:"doConnect",value:function(){var e,t;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],!(o=this.options.ccfOwlUrl).startsWith("{")){n.next=5;break}this.store=(0,Hq.deserializeN3Store)(o,Hq.DataFactory),n.next=13;break;case 5:if(!o.endsWith(".n3store.json")){n.next=12;break}return n.next=8,fetch(o).then(function(e){return e.text()}).catch(function(){return console.log("Couldn't locate serialized store.")});case 8:(a=n.sent)&&(this.store=(0,Hq.deserializeN3Store)(a,Hq.DataFactory)),n.next=13;break;case 12:(null==o?void 0:o.length)>0&&r.push(o);case 13:return this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(mY(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(function(e){if(e)return s.addDataSources([e])}))),i.push(this.addDataSources(r)),n.next=17,Promise.all(i);case 17:return n.next=19,this.synchronize();case 19:case"end":return n.stop()}},n,this)}))}},{key:"addDataSources",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=null!=t?t:this.store,n.next=3,Promise.all(e.map(function(e){return Dw(r,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("string"!=typeof e){t.next=20;break}if(!e.endsWith("jsonld")){t.next=6;break}return t.next=4,(0,Hq.addJsonLdToStore)(e,i);case 4:t.next=18;break;case 6:if(!e.endsWith("n3")){t.next=11;break}return t.next=9,(0,Hq.addN3ToStore)(e,i);case 9:t.next=18;break;case 11:if(!(e.endsWith("rdf")||e.endsWith("owl")||e.endsWith("xml"))){t.next=16;break}return t.next=14,(0,Hq.addRdfXmlToStore)(e,i);case 14:t.next=18;break;case 16:return t.next=18,(0,Hq.addJsonLdToStore)(e,i);case 18:t.next=22;break;case 20:return t.next=22,(0,Hq.addJsonLdToStore)(e,i);case 22:case"end":return t.stop()}},t)}))}));case 3:return n.abrupt("return",this);case 4:case"end":return n.stop()}},n,this)}))}},{key:"synchronize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise(function(e){setTimeout(e,500)});case 2:return this.graph.createGraph(),function(e){var t,n,i,r,o=PY(e),a=new Map,s=_((0,Hq.readQuads)(e,null,YX.spatialEntity.representation_of,null,null));try{for(s.s();!(r=s.n()).done;){for(var u=r.value,c=u.subject,l=u.object,h=new Set([l.id]),d=null===(t=o.nodes[l.id])||void 0===t?void 0:t.parent;d&&!h.has(d);)h.add(d),d=null===(n=o.nodes[d])||void 0===n?void 0:n.parent;a.set(c.id,v(h).map(function(e){return Hq.DataFactory.namedNode(e)}))}}catch(O){s.e(O)}finally{s.f()}var f,p=_((0,Hq.readQuads)(e,null,qX.spatialEntity,null,null));try{for(p.s();!(f=p.n()).done;){var g,m=f.value.object,y=_((0,Hq.readQuads)(e,null,YX.spatialPlacement.source,m,null));try{for(y.s();!(g=y.n()).done;){var b,w=g.value.subject,k=_((0,Hq.readQuads)(e,w,YX.spatialPlacement.target,null,null));try{for(k.s();!(b=k.n()).done;){var x,S=b.value.object,C=_(null!==(i=a.get(S.id))&&void 0!==i?i:[]);try{for(C.s();!(x=C.n()).done;){var E=x.value;e.addQuad(Hq.DataFactory.namedNode(m.id),YX.spatialEntity.ccf_annotations,E)}}catch(O){C.e(O)}finally{C.f()}}}catch(O){k.e(O)}finally{k.f()}}}catch(O){y.e(O)}finally{y.f()}}}catch(O){p.e(O)}finally{p.f()}}(this.store),e.abrupt("return",this);case 5:case"end":return e.stop()}},e,this)}))}},{key:"serialize",value:function(){return(0,Hq.serializeN3Store)(this.store)}},{key:"deserialize",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.store=(0,Hq.deserializeN3Store)(e,Hq.DataFactory),this.graph=new oY(this),this.scene=new aY(this),t.next=5,new Promise(function(e){setTimeout(e,10)});case 5:case"end":return t.stop()}},t,this)}))}},{key:"getIds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,t,n){var i,r,o,a,s,u,c,l=function(e){var t=new Set;return e.forSubjects(function(e){return t.add(e.id)},qX.spatialEntity,null,null),t}(e);if(l.size>0&&(l=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=new Set;if(e.forSubjects(SY(t,i),qX.spatialEntity,null,null),!n){var r=new Set;return t.forEach(function(e){return i.has(e)?void 0:r.add(e)}),r}return i}(e,l)),l.size>0&&("Male"===n.sex||"Female"===n.sex)){var h=n.sex;l=kY(e,l,function(t){return function(e,t,n){var i=new Set;return e.forSubjects(SY(t,i),qX.sex,qX[n],null),i}(e,t,h)})}if(l.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(l=kY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.literal(a);e.forSubjects(SY(t,r),qX.providerName,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.tmc)})),l.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(l=function(e,t,n){var i,r,o,a=new Map,s=new Set,u=new Set(t),c=_(t);try{for(c.s();!(o=c.n()).done;){var l,h=o.value,d=_((0,Hq.readQuads)(e,h,qX.sections,null,null));try{for(d.s();!(l=d.n()).done;){var f=l.value;u.add(f.object.id)}}catch(P){d.e(P)}finally{d.f()}}}catch(P){c.e(P)}finally{c.f()}var p,v=_(u);try{for(v.s();!(p=v.n()).done;){var g,m=p.value,y=_((0,Hq.readQuads)(e,m,qX.datasets,null,null));try{for(y.s();!(g=y.n()).done;){var b=g.value;s.add(b.object.id),a.has(b.object.id)?null===(i=a.get(b.object.id))||void 0===i||i.push(m):a.set(b.object.id,[m])}}catch(P){y.e(P)}finally{y.f()}}}catch(P){v.e(P)}finally{v.f()}var w,k=n(s),x=new Set,S=_(k);try{for(S.s();!(w=S.n()).done;){var C,E=w.value,O=_(null!==(r=a.get(E))&&void 0!==r?r:[]);try{for(O.s();!(C=O.n()).done;){var T=C.value;x.add(T)}}catch(P){O.e(P)}finally{O.f()}}}catch(P){S.e(P)}finally{S.f()}return x}(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.literal(a);e.forSubjects(SY(t,r),qX.technology,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.technologies)})),l.size>0&&(null===(o=n.spatialSearches)||void 0===o?void 0:o.length)>0&&(l=xY(e,l,function(i){return function(e,t,n,i){var r,o=new Set,a=_(i);try{for(a.s();!(r=a.n()).done;){wY(e,t,n,r.value).forEach(function(e){return o.add(e)})}}catch(s){a.e(s)}finally{a.f()}return o}(e,t,i,n.spatialSearches)})),l.size>0&&(null===(a=n.ontologyTerms)||void 0===a?void 0:a.length)>0){var d=n.ontologyTerms;-1===d.indexOf(ZX.body.id)&&(l=xY(e,l,function(t){return CY(e,t,d)}))}if(l.size>0&&(null===(s=n.cellTypeTerms)||void 0===s?void 0:s.length)>0){var f=n.cellTypeTerms;-1===f.indexOf(ZX.cell.id)&&(l=xY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;e.forObjects(function(e){r.add(e.id)},a,YX.asctb.located_in,null),a===ZX.cell.id&&r.add(ZX.body.id)}}catch(s){o.e(s)}finally{o.f()}return CY(e,t,v(r))}(e,t,f)}))}if(l.size>0&&2===(null===(u=n.ageRange)||void 0===u?void 0:u.length)&&(0,$q.isFinite)(n.ageRange[0])&&(0,$q.isFinite)(n.ageRange[1])){var p=Math.max.apply(Math,v(n.ageRange)),g=Math.min.apply(Math,v(n.ageRange));1===g&&110===p||(l=kY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Hq.readQuads)(e,u,qX.age,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,rX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,g,p)}))}if(l.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,$q.isFinite)(n.bmiRange[0])&&(0,$q.isFinite)(n.bmiRange[1])){var m=Math.max.apply(Math,v(n.bmiRange)),y=Math.min.apply(Math,v(n.bmiRange));13===y&&83===m||(l=kY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Hq.readQuads)(e,u,qX.bmi,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,rX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,y,m)}))}return l}(this.store,this.graph,e)}},{key:"get",value:function(e){return this.store.getQuads(Hq.DataFactory.namedNode(e),null,null,null)}},{key:"search",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return v(this.getIds(t)).map(function(t){return e.get(t)})}},{key:"getSpatialEntities",value:function(e){var t=this;return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,t){var n=e.getObjects(Hq.DataFactory.namedNode(t),qX.spatialEntity,null);if(n.length>0)return nY(e,n[0].id)}(t.store,e)})}},{key:"getDatabaseStatus",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(this.status||(this.status=new FY(this)),this.status.toJson()));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getDatasetTechnologyNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Hq.readQuads)(e,null,qX.technology,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getProviderNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Hq.readQuads)(e,null,qX.providerName,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getTissueBlockResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,n){var i,r={"@id":n,"@type":"Sample",sections:[],datasets:[]},o=_(zX(e,n,DY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("sections"===s){var c=jY(e,u);r[s].push(c)}else if("datasets"===s){var l=LY(e,u);r[s].push(l)}else r[s]="donor"===s?NY(e,u):u}}catch(h){o.e(h)}finally{o.f()}return r}(i.store,e)})));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getAggregateResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",function(e,n){var i,r=yY(n,e,qX.donor.id),o=yY(n,r,qX.providerUUID.id),a=new Set,s=_(e);try{for(s.s();!(i=s.n()).done;){var u,c=i.value,l=_((0,Hq.readQuads)(n,c,qX.spatialEntity,null,null));try{for(l.s();!(u=l.n()).done;){var h=u.value;a.add(h.subject.id)}}catch(p){l.e(p)}finally{l.f()}}}catch(p){s.e(p)}finally{s.f()}var d=yY(n,a,qX.sections.id),f=new Set([].concat(v(yY(n,a,qX.datasets.id)),v(yY(n,d,qX.datasets.id))));return Object.entries({"Tissue Data Providers":o.size,Donors:r.size,"Tissue Blocks":a.size,"Tissue Sections":d.size,"Tissue Datasets":f.size}).map(function(e){var n=t(e,2);return{label:n[0],count:n[1]}})}(this.getIds(e),this.store));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getOntologyTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n={};return EY(e,t).forEach(function(e,t){n[t]=e.size}),n}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getCellTypeTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n,i,r,o=EY(e,t),a=new Map,s=_(o.keys());try{for(s.s();!(r=s.n()).done;){var u,c=r.value,l=o.get(c),h=_((0,Hq.readQuads)(t,null,YX.asctb.located_in,c,null));try{for(h.s();!(u=h.n()).done;){var d=u.value.subject.id;a.has(d)?function(){var e=a.get(d);l.forEach(function(t){return e.add(t)})}():a.set(d,new Set(l))}}catch(p){h.e(p)}finally{h.f()}}}catch(p){s.e(p)}finally{s.f()}var f={};return a.forEach(function(e,t){f[t]=e.size}),f[ZX.cell.id]=null!==(i=null===(n=o.get(ZX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,f}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getOntologyTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",PY(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getCellTypeTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){return TY(e,ZX.cell.id,"cell",YX.asctb.ct_is_a.id)}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getReferenceOrgans",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.scene.getReferenceOrgans());case 1:case"end":return e.stop()}},e,this)}))}},{key:"getScene",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",(this.graph.createGraph(),this.scene.getScene(e)));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getReferenceOrganScene",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getSpatialPlacement",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.graph.getSpatialPlacement(e,t));case 1:case"end":return n.stop()}},n,this)}))}}]),e}(),zY=[240,183,98,255],UY=[213,0,0,255],HY=[29,204,101,255],GY=[41,121,255,255],WY=[204,204,204,255],qY=[213,0,0,255],XY=[29,204,101,255],YY=[41,121,255,255];function KY(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.x_dimension/1e3,i=e.y_dimension/1e3,r=e.z_dimension/1e3,o=.05*Math.max(n,i,r),a=.1*o;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).scale(o),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([n/2,0,0]).rotateZ(cS(-90)).scale([a,n,a]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([n,0,0]).rotateZ(cS(-90)).scale([o,3*o,o]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([2*-o,0,0]).scale(o),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([n+2*o,0,0]).scale(o),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,i/2,0]).scale([a,i,a]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,i,0]).scale([o,3*o,o]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*o,0]).scale(o),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([0,i+2*o,0]).scale(o),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,0,r/2]).rotateX(cS(90)).scale([a,r,a]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,0,r]).rotateX(cS(90)).scale([o,3*o,o]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*-o,0]).scale(o),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([0,0,r+2*o]).scale(o),color:YY}].filter(function(e){return t&&"text"===e.geometry&&e.text||!e.text})}var $Y=Symbol("Comlink.proxy"),QY=Symbol("Comlink.endpoint"),ZY=Symbol("Comlink.releaseProxy"),JY=Symbol("Comlink.thrown"),eK=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},tK=new Map([["proxy",{canHandle:function(e){return eK(e)&&e[$Y]},serialize:function(e){var t=new MessageChannel,n=t.port1,i=t.port2;return nK(e,n),[i,[i]]},deserialize:function(e){return e.start(),rK(e)}}],["throw",{canHandle:function(e){return eK(e)&&JY in e},serialize:function(e){var t=e.value;return[t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[]]},deserialize:function(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}}]]);function nK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:self;n.addEventListener("message",function i(r){if(r&&r.data){var a,s=Object.assign({path:[]},r.data),u=s.id,c=s.type,l=s.path,d=(r.data.argumentList||[]).map(hK);try{var f=l.slice(0,-1).reduce(function(e,t){return e[t]},e),p=l.reduce(function(e,t){return e[t]},e);switch(c){case"GET":a=p;break;case"SET":f[l.slice(-1)[0]]=hK(r.data.value),a=!0;break;case"APPLY":a=p.apply(f,d);break;case"CONSTRUCT":a=function(e){return Object.assign(e,o({},$Y,!0))}(h(p,v(d)));break;case"ENDPOINT":var g=new MessageChannel,m=g.port1,y=g.port2;nK(e,y),a=function(e,t){return cK.set(e,t),e}(m,[m]);break;case"RELEASE":a=void 0;break;default:return}}catch(f){a=o({value:f},JY,0)}Promise.resolve(a).catch(function(e){return o({value:e},JY,0)}).then(function(e){var r=t(lK(e),2),o=r[0],a=r[1];n.postMessage(Object.assign(Object.assign({},o),{id:u}),a),"RELEASE"===c&&(n.removeEventListener("message",i),iK(n))})}}),n.start&&n.start()}function iK(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function rK(e,t){return aK(e,[],t)}function oK(e){if(e)throw new Error("Proxy has been released and is not useable")}function aK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=!1,o=new Proxy(i,{get:function(t,i){if(oK(r),i===ZY)return function(){return dK(e,{type:"RELEASE",path:n.map(function(e){return e.toString()})}).then(function(){iK(e),r=!0})};if("then"===i){if(0===n.length)return{then:function(){return o}};var a=dK(e,{type:"GET",path:n.map(function(e){return e.toString()})}).then(hK);return a.then.bind(a)}return aK(e,[].concat(v(n),[i]))},set:function(i,o,a){oK(r);var s=t(lK(a),2),u=s[0],c=s[1];return dK(e,{type:"SET",path:[].concat(v(n),[o]).map(function(e){return e.toString()}),value:u},c).then(hK)},apply:function(i,o,a){oK(r);var s=n[n.length-1];if(s===QY)return dK(e,{type:"ENDPOINT"}).then(hK);if("bind"===s)return aK(e,n.slice(0,-1));var u=t(uK(a),2),c=u[0],l=u[1];return dK(e,{type:"APPLY",path:n.map(function(e){return e.toString()}),argumentList:c},l).then(hK)},construct:function(i,o){oK(r);var a=t(uK(o),2),s=a[0],u=a[1];return dK(e,{type:"CONSTRUCT",path:n.map(function(e){return e.toString()}),argumentList:s},u).then(hK)}});return o}function sK(e){return Array.prototype.concat.apply([],e)}function uK(e){var t=e.map(lK);return[t.map(function(e){return e[0]}),sK(t.map(function(e){return e[1]}))]}var cK=new WeakMap;function lK(e){var n,i=_(tK);try{for(i.s();!(n=i.n()).done;){var r=t(n.value,2),o=r[0],a=r[1];if(a.canHandle(e)){var s=t(a.serialize(e),2);return[{type:"HANDLER",name:o,value:s[0]},s[1]]}}}catch(u){i.e(u)}finally{i.f()}return[{type:"RAW",value:e},cK.get(e)||[]]}function hK(e){switch(e.type){case"HANDLER":return tK.get(e.name).deserialize(e.value);case"RAW":return e.value}}function dK(e,t,n){return new Promise(function(i){var r=new Array(4).fill(0).map(function(){return Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)}).join("-");e.addEventListener("message",function t(n){!n.data||!n.data.id||n.data.id!==r||(e.removeEventListener("message",t),i(n.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:r},t),n)})}var fK=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).message="NgxsDispatchPluginModule is not imported",e}return n}(l(Error)),pK=null;function vK(e){pK=e}function gK(){if(null===pK)throw new fK;return pK.get(Pz)}function mK(){if(null===pK)throw new fK;return pK.get(Xl)}function yK(e,t,n){t.run(function(){return e.dispatch(n)})}function bK(e,t,n,i){return js(n)?function(e,t,n){return n.then(function(n){return yK(e,t,n),n})}(e,t,n):cf(n)?function(e,t,n,i){return null!==i&&(n=n.pipe(kf(i.cancelUncompleted$))),n.subscribe({next:function(n){return yK(e,t,n)}}),n}(e,t,n,i):(yK(e,t,n),n)}var _K=function(){function e(){m(this,e),this.cancelUncompleted$=new ae}return b(e,[{key:"cancelPreviousAction",value:function(){this.cancelUncompleted$.next()}}]),e}(),wK="\u0275fac",kK=Symbol("InjectorInstance"),xK=Symbol("FactoryHasBeenDecorated");function SK(e,t){var n=e[kK];return n?n.get(t):null}var CK={cancelUncompleted:!1};function EK(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:CK;return function(t,n,i){var r,o=function(e){return e?new _K:null}(e.cancelUncompleted);function a(){null!==o&&o.cancelPreviousAction();var e=SK(this,Pz)||gK(),t=SK(this,Xl)||mK(),n=r.apply(this,arguments);return t.runOutsideAngular(function(){return bK(e,t,n,o)})}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=a):Object.defineProperty(t,n,{set:function(e){return r=e},get:function(){return a}}),function(e){if(!(xK in e.constructor.prototype)){var t=e.constructor;"function"==typeof t[wK]&&function(e){var t=e[wK];if("function"==typeof t){var n=e.\u0275prov||e.\u0275pipe||e.\u0275cmp||e.\u0275dir,i=function(){var e=t();return e[kK]=Os(Xa),e};n&&(n.factory=i),Object.defineProperty(e,wK,{get:function(){return i}})}}(t),e.constructor.prototype[xK]=!0}}(t)}}var OK=function(){var e=function(){function e(t){m(this,e),vK(t.injector),t.onDestroy(function(){vK(null)})}return b(e,null,[{key:"forRoot",value:function(){return{ngModule:e}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Rc))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),TK=function(){var e=function(){function e(){m(this,e),this._vertical=!1,this._inset=!1}return b(e,[{key:"vertical",get:function(){return this._vertical},set:function(e){this._vertical=Wd(e)}},{key:"inset",get:function(){return this._inset},set:function(e){this._inset=Wd(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,t){2&e&&(ks("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-divider-vertical",t.vertical)("mat-divider-horizontal",!t.vertical)("mat-divider-inset",t.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,t){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),e}(),PK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}(),AK=["*"],MK=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],IK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],RK=ob(sb(function(){return function e(){m(this,e)}}())),DK=sb(function(){return function e(){m(this,e)}}()),NK=new Ri("MatList"),LK=new Ri("MatNavList"),jK=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._elementRef=e,i._stateChanges=new ae,"action-list"===i._getListType()&&e.nativeElement.classList.add("mat-action-list"),i}return b(n,[{key:"_getListType",value:function(){var e=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===e?"list":"mat-action-list"===e?"action-list":null}},{key:"ngOnChanges",value:function(){this._stateChanges.next()}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}}]),n}(RK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[Xu([{provide:NK,useExisting:e}]),cs,qt],ngContentSelectors:AK,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),e}(),FK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),e}(),BK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),e}(),VK=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;m(this,n),(a=t.call(this))._element=e,a._isInteractiveList=!1,a._destroyed=new ae,a._disabled=!1,a._isInteractiveList=!!(r||o&&"action-list"===o._getListType()),a._list=r||o;var s=a._getHostElement();return"button"===s.nodeName.toLowerCase()&&!s.hasAttribute("type")&&s.setAttribute("type","button"),a._list&&a._list._stateChanges.pipe(kf(a._destroyed)).subscribe(function(){i.markForCheck()}),a}return b(n,[{key:"disabled",get:function(){return this._disabled||!(!this._list||!this._list.disabled)},set:function(e){this._disabled=Wd(e)}},{key:"ngAfterContentInit",value:function(){!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat";e.changes.pipe(Ef(e)).subscribe(function(e){var i=e.length;db(t,"".concat(n,"-2-line"),!1),db(t,"".concat(n,"-3-line"),!1),db(t,"".concat(n,"-multi-line"),!1),2===i||3===i?db(t,"".concat(n,"-").concat(i,"-line"),!0):i>3&&db(t,"".concat(n,"-multi-line"),!0)})}(this._lines,this._element)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_isRippleDisabled",value:function(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}},{key:"_getHostElement",value:function(){return this._element.nativeElement}}]),n}(DK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(LK,8),Os(NK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,FK,5),bl(n,BK,5),bl(n,hb,5)),2&e)&&(ml(i=_l())&&(t._avatar=i.first),ml(i=_l())&&(t._icon=i.first),ml(i=_l())&&(t._lines=i))},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-list-item-disabled",t.disabled)("mat-list-item-avatar",t._avatar||t._icon)("mat-list-item-with-avatar",t._avatar||t._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[cs],ngContentSelectors:IK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(e,t){1&e&&(Xs(MK),As(0,"div",0),Is(1,"div",1),Ys(2),As(3,"div",2),Ys(4,1),Ms(),Ys(5,2),Ms()),2&e&&(Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t._isRippleDisabled()))},directives:[wb],encapsulation:2,changeDetection:0}),e}(),zK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[fb,kb,rb,Sb,cd],fb,rb,Sb,PK]}),e}(),UK=["input"],HK=function(e){return{enterDuration:e}},GK=["*"],WK=new Ri("mat-checkbox-default-options",{providedIn:"root",factory:qK});function qK(){return{color:"accent",clickAction:"check-indeterminate"}}var XK=0,YK={color:"accent",clickAction:"check-indeterminate"},KK={provide:Hz,useExisting:He(function(){return ZK}),multi:!0},$K=function e(){m(this,e)},QK=ub(ab(sb(ob(function(){return function e(t){m(this,e),this._elementRef=t}}())))),ZK=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;return m(this,n),(c=t.call(this,e))._changeDetectorRef=i,c._focusMonitor=r,c._ngZone=o,c._animationMode=s,c._options=u,c.ariaLabel="",c.ariaLabelledby=null,c._uniqueId="mat-checkbox-"+ ++XK,c.id=c._uniqueId,c.labelPosition="after",c.name=null,c.change=new ol,c.indeterminateChange=new ol,c._onTouched=function(){},c._currentAnimationClass="",c._currentCheckState=0,c._controlValueAccessorChangeFn=function(){},c._checked=!1,c._disabled=!1,c._indeterminate=!1,c._options=c._options||YK,c.color=c.defaultColor=c._options.color||YK.color,c.tabIndex=parseInt(a)||0,c}return b(n,[{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){t||Promise.resolve().then(function(){e._onTouched(),e._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}},{key:"ngAfterViewChecked",value:function(){}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"checked",get:function(){return this._checked},set:function(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){var t=Wd(e);t!==this.disabled&&(this._disabled=t,this._changeDetectorRef.markForCheck())}},{key:"indeterminate",get:function(){return this._indeterminate},set:function(e){var t=e!=this._indeterminate;this._indeterminate=Wd(e),t&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onLabelTextChange",value:function(){this._changeDetectorRef.detectChanges()}},{key:"writeValue",value:function(e){this.checked=!!e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}},{key:"_getAriaChecked",value:function(){return this.checked?"true":this.indeterminate?"mixed":"false"}},{key:"_transitionCheckState",value:function(e){var t=this._currentCheckState,n=this._elementRef.nativeElement;if(t!==e&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);var i=this._currentAnimationClass;this._ngZone.runOutsideAngular(function(){setTimeout(function(){n.classList.remove(i)},1e3)})}}},{key:"_emitChangeEvent",value:function(){var e=new $K;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}},{key:"toggle",value:function(){this.checked=!this.checked}},{key:"_onInputClick",value:function(e){var t,n=this,i=null===(t=this._options)||void 0===t?void 0:t.clickAction;e.stopPropagation(),this.disabled||"noop"===i?!this.disabled&&"noop"===i&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==i&&Promise.resolve().then(function(){n._indeterminate=!1,n.indeterminateChange.emit(n._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}},{key:"_onInteractionEvent",value:function(e){e.stopPropagation()}},{key:"_getAnimationClassForCheckStateTransition",value:function(e,t){if("NoopAnimations"===this._animationMode)return"";var n="";switch(e){case 0:if(1===t)n="unchecked-checked";else{if(3!=t)return"";n="unchecked-indeterminate"}break;case 2:n=1===t?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===t?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===t?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-".concat(n)}},{key:"_syncIndeterminate",value:function(e){var t=this._inputElement;t&&(t.nativeElement.indeterminate=e)}}]),n}(QK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(rg),Os(Xl),Ai("tabindex"),Os(Yy,8),Os(WK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-checkbox"]],viewQuery:function(e,t){var n;(1&e&&(yl(UK,5),yl(wb,5)),2&e)&&(ml(n=_l())&&(t._inputElement=n.first),ml(n=_l())&&(t.ripple=n.first))},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(e,t){2&e&&(Au("id",t.id),ks("tabindex",null),cu("mat-checkbox-indeterminate",t.indeterminate)("mat-checkbox-checked",t.checked)("mat-checkbox-disabled",t.disabled)("mat-checkbox-label-before","before"==t.labelPosition)("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Xu([KK]),cs],ngContentSelectors:GK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),As(0,"label",0,1),As(2,"span",2),As(3,"input",3,4),Vs("change",function(e){return t._onInteractionEvent(e)})("click",function(e){return t._onInputClick(e)}),Ms(),As(5,"span",5),Is(6,"span",6),Ms(),Is(7,"span",7),As(8,"span",8),Xn(),As(9,"svg",9),Is(10,"path",10),Ms(),vn.lFrame.currentNamespace=null,Is(11,"span",11),Ms(),Ms(),As(12,"span",12,13),Vs("cdkObserveContent",function(){return t._onLabelTextChange()}),As(14,"span",14),Cu(15,"\xa0"),Ms(),Ys(16),Ms(),Ms()),2&e){var n=Es(1),i=Es(13);ks("for",t.inputId),Yo(2),cu("mat-checkbox-inner-container-no-side-margin",!i.textContent||!i.textContent.trim()),Yo(1),Ts("id",t.inputId)("required",t.required)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex),ks("value",t.value)("name",t.name)("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby)("aria-checked",t._getAriaChecked())("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",$c(19,HK,"NoopAnimations"===t._animationMode?0:150))}},directives:[wb,Pv],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),e}(),JK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),e$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,rb,Av,JK],rb,JK]}),e}(),t$=["bodyCanvas"],n$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-body-ui",this.rotationChange=new ol,this.nodeDrag=new ol,this.nodeClick=new ol,this.nodeHoverStart=new ol,this.nodeHoverStop=new ol,this.initialized=new ol,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}return b(e,[{key:"scene",get:function(){return this._scene},set:function(e){var t;this._scene=e,null===(t=this.bodyUI)||void 0===t||t.setScene(e)}},{key:"rotation",get:function(){return this._rotation},set:function(e){var t;this._rotation=e,null===(t=this.bodyUI)||void 0===t||t.setRotation(e)}},{key:"rotationX",get:function(){return this._rotationX},set:function(e){var t;this._rotationX=e,null===(t=this.bodyUI)||void 0===t||t.setRotationX(e)}},{key:"zoom",get:function(){return this._zoom},set:function(e){var t;this._zoom=e,null===(t=this.bodyUI)||void 0===t||t.setZoom(e)}},{key:"target",get:function(){return this._target},set:function(e){var t;this._target=e,null===(t=this.bodyUI)||void 0===t||t.setTarget(e)}},{key:"bounds",get:function(){return this._bounds},set:function(e){this._bounds=e,this.zoomToBounds(e)}},{key:"camera",get:function(){return this._camera},set:function(e){this._camera=e}},{key:"interactive",get:function(){return this._interactive},set:function(e){this._interactive=e,this.bodyUI&&this.recreateBodyUI()}},{key:"ngAfterViewInit",value:function(){this.setupBodyUI()}},{key:"zoomToBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{x:48,y:48};if(this.bodyCanvas){var n=this.bodyCanvas.nativeElement,i=n.width,r=n.height,o=window.devicePixelRatio,a=Math.min(Math.log2((i-t.x)/o/e.x),Math.log2((r-t.y)/o/e.y));this.zoom=a}}},{key:"setupBodyUI",value:function(){var e;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,i,r=this;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.bodyCanvas.nativeElement,i=new lV({id:"body-ui",canvas:n,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera}),n.addEventListener("contextmenu",function(e){return e.preventDefault()}),t.next=4,i.initialize();case 4:this.bodyUI=i,window.bodyUI=i,(null===(e=this.scene)||void 0===e?void 0:e.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(function(e){return r.rotationChange.next(e)}),this.bodyUI.nodeDrag$.subscribe(function(e){return r.nodeDrag.emit(e)}),this.bodyUI.nodeClick$.subscribe(function(e){return r.nodeClick.emit(e)}),this.bodyUI.nodeHoverStart$.subscribe(function(e){return r.nodeHoverStart.emit(e)}),this.bodyUI.nodeHoverStop$.subscribe(function(e){return r.nodeHoverStop.emit(e)})],this.initialized.emit();case 11:case"end":return t.stop()}},t,this)}))}},{key:"recreateBodyUI",value:function(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}},{key:"clearSubscriptions",value:function(){this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions=[]}},{key:"ngOnDestroy",value:function(){this.clearSubscriptions()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-body-ui"]],viewQuery:function(e,t){var n;(1&e&&yl(t$,5,Ju),2&e)&&(ml(n=_l())&&(t.bodyCanvas=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(e,t){1&e&&Is(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),e}(),i$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();new Ri("Maximum number of autocomplete options displayed",{providedIn:"root",factory:function(){return 10}});var r$=["carouselContainer"],o$=["itemlist"],a$=["itemcontainer"];function s$(e,t){if(1&e){var n=Ls();As(0,"mat-icon",9),Vs("touchstart",function(){return bn(n),Ws().scroll("left")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("left")})("mousedown",function(){return bn(n),Ws().scroll("left")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_left"),Ms()}2&e&&cu("disabled",Ws().onLeft)}function u$(e,t){if(1&e&&(As(0,"div",15),Cu(1),Ms()),2&e){var n=Ws().$implicit,i=Ws();Yo(1),Eu(i.occurenceData[n.id]||0)}}function c$(e,t){if(1&e){var n=Ls();As(0,"div",10),Vs("click",function(){var e=bn(n).$implicit;return Ws().selectOrgan(e)}),Is(1,"mat-icon",11),As(2,"div",12),As(3,"div",13),Cu(4),Ms(),Cs(5,u$,2,1,"div",14),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();cu("disabled",i.disabled)("selected",r.isSelected(i)),Yo(1),Ks("svgIcon",i.src),Yo(3),Eu(i.name),Yo(1),Ts("ngIf",void 0!==i.numResults)}}function l$(e,t){if(1&e){var n=Ls();As(0,"mat-icon",16),Vs("touchstart",function(){return bn(n),Ws().scroll("right")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("right")})("mousedown",function(){return bn(n),Ws().scroll("right")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_right"),Ms()}2&e&&cu("disabled",Ws().onRight)}var h$=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort(function(e,t){return e.name.localeCompare(t.name)}),d$=h$.filter(function(e){return!0!==e.disabled}),f$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=d$,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new ol,this.onLeft=!0,this.onRight=!1,this.step=72}return b(e,[{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e}},{key:"ngAfterViewInit",value:function(){var e=this,t=this.carouselContainer;this.sensor=new pG.ResizeSensor(t.nativeElement,function(){e.set()})}},{key:"ngOnChanges",value:function(e){"organList"in e&&this.set()}},{key:"ngOnDestroy",value:function(){this.sensor.detach()}},{key:"error",get:function(){return!(!this.displayErrors||0===this.selectedOrgans.length)}},{key:"shift",value:function(e){var t=this.itemList,n=parseInt(t.nativeElement.style.left,10)||0;this.onLeft&&"left"===e||this.onRight&&"right"===e||(n="right"===e?n-this.step:n+this.step,t.nativeElement.style.left=n+"px",this.setLeftRight(n))}},{key:"scroll",value:function(e){var t=this;this.timeoutHandler=setInterval(function(){t.shift(e)},200)}},{key:"stopScroll",value:function(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}},{key:"selectOrgan",value:function(e){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(e)?this.selectedOrgans.filter(function(t){return e!==t}):this.selectedOrgans.concat([e]):[e],this.organsChanged.emit(this.selectedOrgans)}},{key:"isSelected",value:function(e){return!!this.selectedOrgans.includes(e)}},{key:"set",value:function(){var e=this.itemList,t=this.itemContainer,n=this.carouselContainer,i=parseInt(e.nativeElement.style.left,10)||0;if(e.nativeElement.offsetWidth>=this.organList.length*this.step)e.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);var r=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width="".concat(r,"px")}}},{key:"setWidth",value:function(){var e=this.itemContainer,t=this.carouselContainer,n=this.step*Math.floor(t.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width="".concat(n,"px")}},{key:"setLeftRight",value:function(e){var t=this.itemContainer;this.onLeft=0===e,this.onRight=e<=t.nativeElement.offsetWidth-this.organList.length*this.step}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-organ-selector"]],viewQuery:function(e,t){var n;(1&e&&(yl(r$,7),yl(o$,7),yl(a$,7)),2&e)&&(ml(n=_l())&&(t.carouselContainer=n.first),ml(n=_l())&&(t.itemList=n.first),ml(n=_l())&&(t.itemContainer=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[qt],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(e,t){1&e&&(As(0,"div",0,1),Cs(2,s$,2,2,"mat-icon",2),As(3,"div",3,4),As(5,"div",5,6),Cs(7,c$,6,7,"div",7),Ms(),Ms(),Cs(8,l$,2,2,"mat-icon",8),Ms()),2&e&&(cu("expanded",t.expanded)("error",t.error),Ts("matTooltipDisabled",t.multiselect),Yo(2),Ts("ngIf",!t.expanded),Yo(5),Ts("ngForOf",t.organList),Yo(1),Ts("ngIf",!t.expanded))},directives:[Ow,Yh,qh,B_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),e}(),p$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,Aw]]}),e}(),v$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new ol,this.visibilityToggle=new ol,this.opacityReset=new ol}return b(e,[{key:"ngOnInit",value:function(){this.prevOpacity=this.visible?0:20}},{key:"reset",value:function(){this.prevOpacity=20}},{key:"changeOpacity",value:function(e){this.opacity=parseInt(e,10),this.opacityChange.emit(this.opacity)}},{key:"toggleVisibility",value:function(){var e=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=e,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}},{key:"resetOpacity",value:function(){this.prevOpacity=0,this.opacityReset.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"mat-slider",2),Vs("input",function(e){return t.changeOpacity(e.value)}),Ms(),As(3,"span",3),Cu(4),Ms(),Ms(),As(5,"div",4),As(6,"mat-icon",5),Vs("click",function(){return t.toggleVisibility()}),Ms(),As(7,"mat-icon",6),Vs("click",function(){return t.toggleVisibility()}),Ms(),As(8,"mat-icon",7),Vs("click",function(){return t.resetOpacity()}),Cu(9,"refresh"),Ms(),Ms(),Ms()),2&e&&(Yo(2),cu("disabled",!t.visible),Ts("step",1)("min",0)("max",100)("value",t.opacity),Yo(2),Ou("",t.opacity,"%"),Yo(2),cu("hidden",t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),cu("hidden",!t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),Ts("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[_G,B_,wb],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),g$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,SG,kb]]}),e}();function m$(e,t){if(1&e&&(As(0,"div",16),Is(1,"youtube-player",17),Ms()),2&e){var n=Ws(3);Yo(1),Ks("videoId",n.videoID)}}function y$(e,t){if(1&e&&(As(0,"mat-expansion-panel",11),As(1,"mat-expansion-panel-header"),As(2,"h2",12),Cu(3),Ms(),Ms(),As(4,"div",13),Is(5,"markdown",14),Cs(6,m$,2,1,"div",15),Ms(),Ms()),2&e){var n=Ws(),i=n.index,r=n.$implicit;Ts("expanded",0===i),Yo(3),Eu(r.title),Yo(2),cu("first",0===i),Ts("data",r.content),Yo(1),Ts("ngIf",0===i)}}function b$(e,t){if(1&e&&(As(0,"div",9),Cs(1,y$,7,6,"mat-expansion-panel",10),Ms()),2&e){var n=t.$implicit;Yo(1),Ts("ngIf",n)}}var _$=function(){var e=function(){function e(t,n){m(this,e),this.dialogRef=t,this.data=n,this.documentationContents=n.content||[],this.infoTitle=n.title||"",this.videoID=n.videoID}return b(e,[{key:"ngOnInit",value:function(){var e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",document.body.appendChild(e)}},{key:"close",value:function(){var e,t=this;null===(e=document.getElementsByClassName("modal-animated")[0])||void 0===e||e.classList.add("modal-animate-fade-out"),setTimeout(function(){t.dialogRef.close()},250)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG),Os(RG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"h2",4),Cu(5),Ms(),As(6,"div",5),As(7,"mat-icon",6),Vs("click",function(){return t.close()}),Cu(8,"clear"),Ms(),Ms(),Ms(),As(9,"mat-dialog-content",7),Cs(10,b$,2,1,"div",8),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(5),Ts("ngForOf",t.documentationContents))},directives:[VG,B_,zG,qh,Yh,aW,uW,gW,OW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),e}(),w$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,UG,V_,cW,MW,mW.forRoot({})]]}),e}(),k$=function(){var e=function(){function e(t){m(this,e),this.http=t,this.panelContent=new vv({content:[],infoTitle:"",videoID:""})}return b(e,[{key:"updateData",value:function(e,t,n){var i=this;this.http.get(e,{responseType:"text"}).subscribe(function(e){var r={content:i.parseMarkdown(e),infoTitle:n,videoID:t};i.panelContent.next(r)})}},{key:"parseMarkdown",value:function(e){var t,n=[],i=_(e.split("# "));try{for(i.s();!(t=i.n()).done;){var r=t.value;if(r.length){var o=r.includes("\n\n")?"\n\n":"\r\n\r\n",a=r.split(o);n.push({title:a[0],content:a.splice(1).join(o)})}}}catch(s){i.e(s)}finally{i.f()}return n}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),x$=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.dialog=t,this.infoButtonService=n,this.infoTitle="",this.subscriptions=new q,this.subscriptions.add(n.panelContent.subscribe(function(e){e.content.length&&i.launchInfoDialog(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"launchInfoDialog",value:function(e){0==this.dialog.openDialogs.length&&this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(FG),Os(k$))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"mat-icon",1),Vs("click",function(){return t.onDialogButtonClick()}),Cu(2," info "),Ms(),Ms())},directives:[B_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),e}(),S$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,w$,V_,S_]]}),e}(),C$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"p",4),Cu(5),Ms(),As(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),As(9,"mat-dialog-content",7),As(10,"div",8),Cu(11),Ms(),As(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),E$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).optionCache=new Map,e}return b(n,[{key:"config$",get:function(){return this.state$.pipe(fq(),zf(1))}},{key:"setConfig",value:function(e){this.setState(e)}},{key:"patchConfig",value:function(e){this.patchState(e)}},{key:"getProperty",value:function(e){return this.config$.pipe(cG.apply(void 0,v(e)),lf(),zf(1))}},{key:"getOption",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:ff,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:lG;return function(i){return i.lift(new hG(e,t,n.leading,n.trailing))}}(1e3),ce(function(t){var n=e.clientWidth,i=e.clientHeight;return[t.clientX,t.clientY,n,i].join("_")})).subscribe(function(e){return t.event("webpage","mousemove",e)})}(t.body,n)};return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(yq))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function T$(e,t){if(1&e){var n=Ls();As(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!0)}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Ou(" ","not-set"===i.allowTelemetry?"I understand":"Opt in","\n")}}function P$(e,t){if(1&e){var n=Ls();As(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!1)}),Cu(1,"Opt out"),Ms()}}var A$=function(){var e=function(){function e(t,n,i){m(this,e),this.consentService=n,this.data=i,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}return b(e,[{key:"allowTelemetry",get:function(){return this.consentService.consent}},{key:"dismiss",value:function(){this.data.preClose()}},{key:"submit",value:function(e){this.consentService.setConsent(e?"given":"rescinded"),this.dismiss()}},{key:"showButton",value:function(e){var t=this.allowTelemetry;return"not-set"===t||("opt-in"===e?"rescinded"===t:"given"===t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(wq),Os(lw))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(e,t){1&e&&(As(0,"p"),Cu(1,"We log usage to improve this service."),Ms(),Cs(2,T$,2,1,"button",0),Cs(3,P$,2,0,"button",0)),2&e&&(Yo(2),Ts("ngIf",t.showButton("opt-in")),Yo(1),Ts("ngIf",t.showButton("opt-out")))},directives:[Yh,q_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),e}(),M$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_]]}),e}(),I$=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"forwardCall",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it?e[0]:void 0,max:e[1]0}),Of(function(e){return function(e,t){return new te(function(n){var i,r;try{i=e()}catch(a){return void n.error(a)}try{r=t(i)}catch(a){return void n.error(a)}var o=(r?ye(r):Mf).subscribe(n);return function(){o.unsubscribe(),i&&i.unsubscribe()}})}(function(){return i.createDatabase(e)},function(t){return i.connectDatabase(t,e)})}),ce(function(e){return e.database}),zf(1)),i}return b(n,[{key:"connectDatabase",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=!ah(),n.next=3,e.database.connect(t,i);case 3:return n.abrupt("return",e);case 4:case"end":return n.stop()}},n)}))}}]),n}(I$);return e.\u0275fac=function(t){return new(t||e)(Zi(E$))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),U$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){return{database:new VY(e),unsubscribe:function(){}}}}]),n}(z$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),H$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){var t=this.createWorker(e),n=rK(t);return{database:n,unsubscribe:function(){n[ZY](),t.terminate()}}}}]),n}(z$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),G$=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).impl$=e.config$.pipe(function(e){return e},ce(function(e){return r.selectToken(e)}),lf(),ce(function(e){return i.get(e)}),zf(1)),r}return n}(I$);return e.\u0275fac=function(t){return new(t||e)(Zi(E$),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),W$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Learn More",e}(),q$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Open Dialog",e}(),X$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Close Dialog",e}(),Y$=function(){function e(){m(this,e)}return b(e,[{key:"length",get:function(){var t,n;return null!==(n=null===(t=e.storage)||void 0===t?void 0:t.length)&&void 0!==n?n:0}},{key:"key",value:function(t){var n,i;return null!==(i=null===(n=e.storage)||void 0===n?void 0:n.key(t))&&void 0!==i?i:null}},{key:"getItem",value:function(t,n){var i,r,o;return null!==(o=null!==(r=null===(i=e.storage)||void 0===i?void 0:i.getItem(t))&&void 0!==r?r:n)&&void 0!==o?o:null}},{key:"setItem",value:function(t,n){var i;try{return null===(i=e.storage)||void 0===i||i.setItem(t,n),!0}catch(r){return!1}}},{key:"removeItem",value:function(t){var n;null===(n=e.storage)||void 0===n||n.removeItem(t)}},{key:"clear",value:function(){var t;null===(t=e.storage)||void 0===t||t.clear()}}]),e}();Y$.storage=function(){var e;try{e=window.localStorage;var t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||"QuotaExceededError"===t.name||"NS_ERROR_DOM_QUOTA_REACHED"===t.name)&&e&&0!==e.length?e:void 0}}(),Y$.\u0275fac=function(e){return new(e||Y$)},Y$.\u0275prov=$e({token:Y$,factory:Y$.\u0275fac,providedIn:"root"});var K$="callToActionPopupShown",$$=B$=function(){function e(t,n,i,r,o){m(this,e),this.dialog=t,this.ga=n,this.storage=i,this.infoService=r,this.http=o}return b(e,[{key:"ngxsOnInit",value:function(e){var t=e.getState(),n=t.expirationDate,i=t.popupShown,r=this.storage.getItem(K$,"".concat(i)),o=B$.ctaDatePassed(n);"true"!==r&&!o&&e.dispatch(new q$)}},{key:"getDialogData",value:function(){var e=this;return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(ce(function(t){return e.infoService.parseMarkdown(t)}))}},{key:"launchLearnMore",value:function(e){this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}},{key:"learnMore",value:function(e){var t=this;return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(mv(function(e){return t.launchLearnMore(e)}))}},{key:"open",value:function(e){this.dialog.open(Z$,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(K$,"true"),e.patchState({popupShown:!0})}},{key:"close",value:function(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}}],[{key:"ctaDatePassed",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();$$.\u0275fac=function(e){return new(e||$$)(Zi(FG),Zi(yq),Zi(Y$),Zi(k$),Zi(h_))},$$.\u0275prov=$e({token:$$,factory:$$.\u0275fac}),Mw([jz(W$)],$$.prototype,"learnMore",null),Mw([jz(q$)],$$.prototype,"open",null),Mw([jz(X$)],$$.prototype,"close",null),$$=B$=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],$$);var Q$=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();return Mw([Vz([$$])],e,"title",null),Mw([Vz([$$])],e,"message",null),Mw([Vz([$$])],e,"callToAction",null),Mw([Vz([$$])],e,"imageUrl",null),Mw([Vz([$$])],e,"expirationDate",null),Mw([Vz([$$])],e,"popupShown",null),e}(),Z$=function(){var e=function e(){m(this,e),this.close=function(){return new X$},this.learnMore=function(){return new W$}};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(As(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[C$],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(Q$.title)],e.prototype,"title$",void 0),Mw([Bz(Q$.message)],e.prototype,"message$",void 0),Mw([Bz(Q$.callToAction)],e.prototype,"callToAction$",void 0),Mw([Bz(Q$.imageUrl)],e.prototype,"imageUrl$",void 0),Mw([EK()],e.prototype,"close",void 0),Mw([EK()],e.prototype,"learnMore",void 0),e}();function J$(e,t){if(1&e&&(As(0,"div",3),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou(" ",n.label,"\n")}}function eQ(e,t){if(1&e){var n=Ls();As(0,"mat-list-item",4),As(1,"div",5),As(2,"mat-checkbox",6),Vs("change",function(e){var t=bn(n).index;return Ws().updateItemSelection(t,e.checked)}),Cu(3),Ms(),Is(4,"div",7),As(5,"button",8),Vs("click",function(){var e=bn(n).index;return Ws().removeItem(e)}),As(6,"mat-icon"),Cu(7,"delete_outlined"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i=t.$implicit;Yo(2),Ts("checked",i.selected),Yo(1),Ou(" ",i.description," ")}}var tQ,nQ=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new ol,this.itemRemoved=new ol}return b(e,[{key:"itemId",value:function(e,t){return t.description}},{key:"updateItemSelection",value:function(e,t){var n=this.items=v(this.items);n[e]=Object.assign(Object.assign({},n[e]),{selected:t});var i=n.filter(function(e){return e.selected});this.selectionChanged.emit(i)}},{key:"removeItem",value:function(e){var n=t((this.items=v(this.items)).splice(e,1),1)[0];this.itemRemoved.emit(n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(e,t){1&e&&(Cs(0,J$,2,1,"div",0),As(1,"mat-list",1),Cs(2,eQ,8,2,"mat-list-item",2),Ms()),2&e&&(Ts("ngIf",t.label),Yo(2),Ts("ngForOf",t.items)("ngForTrackBy",t.itemId))},directives:[Yh,jK,qh,VK,ZK,q_,B_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),e}(),iQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,e$,V_,zK]]}),e}(),rQ=function(){var e=function e(){m(this,e),this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(e,t){1&e&&(As(0,"span",0),Cu(1),Jc(2,"number"),Ms(),As(3,"span",0),Cu(4),Jc(5,"number"),Ms(),As(6,"span",0),Cu(7),Jc(8,"number"),Ms()),2&e&&(Yo(1),Ou("X: ",tl(2,3,t.x,t.format),""),Yo(3),Ou("Y: ",tl(5,6,t.y,t.format),""),Yo(3),Ou("Z: ",tl(8,9,t.z,t.format),""))},pipes:[ud],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),e}(),oQ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments)).attached=!1,e}return b(i,[{key:"setRootElement",value:function(e){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=e,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}},{key:"_createContainer",value:function(){e(p(i.prototype),"_createContainer",this).call(this),this.appendToRoot()}},{key:"appendToRoot",value:function(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}]),i}(Hp);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275prov=$e({token:n,factory:n.\u0275fac,providedIn:"root"}),n}(),aQ=new Ri("Default theme class"),sQ=function(){var e=function(){function e(t){m(this,e),this.defaultTheme=this.theme=null!=t?t:""}return b(e,[{key:"getTheme",value:function(){return this.theme}},{key:"setTheme",value:function(e){e!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(e),this.theme=e)}},{key:"resetTheme",value:function(){this.setTheme(this.defaultTheme)}},{key:"initialize",value:function(e,t){this.element=e,this.injector=t,this.applyThemeClass(this.getTheme())}},{key:"applyThemeClass",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"add",i=this.element,r=this.injector;if(e&&i&&r){var o=r.get(nc,null);if(o){var a=i.nativeElement,s=null===(t=r.get(Hp,null))||void 0===t?void 0:t.getContainerElement(),u="add"===n?"addClass":"removeClass";o[u](a,e),s&&o[u](s,e)}}}}],[{key:"initialize",value:function(t){var n=t.injector,i=t.location;n.get(e).initialize(i,n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(aQ,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),uQ={initialConfig:{},parse:{},rename:{}},cQ=function(){function e(t,n){m(this,e),this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},uQ),n)}return b(e,[{key:"addChanges",value:function(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}},{key:"applyChanges",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};void 0===e&&(e=this.storedChanges,this.storedChanges={});for(var i=this.configState,r=this.options.initialConfig,o=i.snapshot,a=Object.assign(Object.assign(Object.assign({},r),o),n),s=0,u=Object.entries(e);s-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}}}]),i}(K),bQ=function(){var e=function e(t){m(this,e),this.filter=t};return e.type="[DataState] Update filter",e}(),_Q={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]},wQ=(function(e){e.Running="running",e.Completed="completed"}(wQ||(wQ={})),wQ);function kQ(e){return function(){return e.next(wQ.Completed)}}function xQ(e,t){return function(n){return n.pipe(Of(e),mv(t),Oq(1),Te())}}var SQ=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).source=e,i.databaseReady$=i.state$.pipe(cG("status"),pQ(),bf(function(e){return"Ready"===e})),i._tissueBlockDataQueryStatus$=new Bf(1),i._aggregateDataQueryStatus$=new Bf(1),i._ontologyTermOccurencesDataQueryStatus$=new Bf(1),i._cellTypeTermOccurencesDataQueryStatus$=new Bf(1),i._sceneDataQueryStatus$=new Bf(1),i._technologyFilterQueryStatus$=new Bf(1),i._providerFilterQueryStatus$=new Bf(1),i.ontologyTermsFullData$=new Bf(1),i.cellTypeTermsFullData$=new Bf(1),i.filter$=i.state$.pipe(cG("filter")),i.tissueBlockData$=i.filter$.pipe(xQ(i.tissueBlockData,kQ(i._tissueBlockDataQueryStatus$))),i.aggregateData$=i.filter$.pipe(xQ(i.aggregateData,kQ(i._aggregateDataQueryStatus$))),i.ontologyTermOccurencesData$=i.filter$.pipe(xQ(i.ontologyTermOccurencesData,kQ(i._ontologyTermOccurencesDataQueryStatus$))),i.cellTypeTermOccurencesData$=i.filter$.pipe(xQ(i.cellTypeTermOccurencesData,kQ(i._cellTypeTermOccurencesDataQueryStatus$))),i.sceneData$=i.filter$.pipe(xQ(i.sceneData,kQ(i._sceneDataQueryStatus$))),i.technologyFilterData$=i.filter$.pipe(xQ(i.technologyFilterData,kQ(i._technologyFilterQueryStatus$))),i.providerFilterData$=i.filter$.pipe(xQ(i.providerFilterData,kQ(i._providerFilterQueryStatus$))),i.tissueBlockDataQueryStatus$=i._tissueBlockDataQueryStatus$.pipe(pQ()),i.aggregateDataQueryStatus$=i._aggregateDataQueryStatus$.pipe(pQ()),i.ontologyTermOccurencesDataQueryStatus$=i._ontologyTermOccurencesDataQueryStatus$.pipe(pQ()),i.cellTypeTermOccurencesDataQueryStatus$=i._cellTypeTermOccurencesDataQueryStatus$.pipe(pQ()),i.sceneDataQueryStatus$=i._sceneDataQueryStatus$.pipe(pQ()),i.technologyFilterQueryStatus$=i._technologyFilterQueryStatus$.pipe(pQ()),i.providerFilterQueryStatus$=i._providerFilterQueryStatus$.pipe(pQ()),i.queryStatus$=J_([i.tissueBlockDataQueryStatus$,i.aggregateDataQueryStatus$,i.ontologyTermOccurencesDataQueryStatus$,i.cellTypeTermOccurencesDataQueryStatus$,i.sceneDataQueryStatus$,i.technologyFilterQueryStatus$,i.providerFilterQueryStatus$]).pipe(ce(function(e){return function(e){return e.every(function(e){return e===wQ.Completed})}(e)?wQ.Completed:wQ.Running}),pQ()),i._tissueBlockDataQueryStatus$.next(wQ.Completed),i._aggregateDataQueryStatus$.next(wQ.Completed),i._ontologyTermOccurencesDataQueryStatus$.next(wQ.Completed),i._cellTypeTermOccurencesDataQueryStatus$.next(wQ.Completed),i._sceneDataQueryStatus$.next(wQ.Completed),i._technologyFilterQueryStatus$.next(wQ.Completed),i._providerFilterQueryStatus$.next(wQ.Completed),i}return b(n,[{key:"ngxsOnInit",value:function(){var e=this,t=this.ontologyTermsFullData$,n=this.ontologyTermOccurencesData$,i=this.cellTypeTermsFullData$,r=this.cellTypeTermOccurencesData$,o=this.source;this.snapshot.filter===_Q?(n.pipe(_p(1)).subscribe(t),r.pipe(_p(1)).subscribe(i)):(o.getOntologyTermOccurences().pipe(_p(1)).subscribe(t),o.getCellTypeTermOccurences().pipe(_p(1)).subscribe(i)),this.source.getOntologyTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateAnatomicalStructuresTreeModel(t)}),this.source.getCellTypeTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateCellTypesTreeModel(t)}),this.warmUpDatabase()}},{key:"warmUpDatabase",value:function(){var e=this;tH(function(){return e.source.getDatabaseStatus()}).pipe(mv(function(t){return e.updateStatus(t)}),NH(2e3),_p(1)).pipe(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return function(t){return 0===e?If():t.lift(new mQ(e<0?-1:e-1,t))}}(1e3),xp(function(e){return"Loading"===e.status})).subscribe(),this.databaseReady$.pipe(_p(1),mv(function(){e.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}},{key:"updateAnatomicalStructuresTreeModel",value:function(e){this.ctx.patchState({anatomicalStructuresTreeModel:e})}},{key:"updateCellTypesTreeModel",value:function(e){this.ctx.patchState({cellTypesTreeModel:e})}},{key:"updateStatus",value:function(e){this.ctx.patchState({status:e.status,statusMessage:e.message})}},{key:"updateFilter",value:function(e){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),e)})}},{key:"updateFilterHandler",value:function(e,t){var n=t.filter;this.updateFilter(n)}},{key:"tissueBlockData",value:function(e){var t=this;return this._tissueBlockDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getTissueBlockResults(e)}))}},{key:"aggregateData",value:function(e){var t=this;return this._aggregateDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getAggregateResults(e)}))}},{key:"ontologyTermOccurencesData",value:function(e){var t=this;return this._ontologyTermOccurencesDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getOntologyTermOccurences(e)}))}},{key:"cellTypeTermOccurencesData",value:function(e){var t=this;return this._cellTypeTermOccurencesDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getCellTypeTermOccurences(e)}))}},{key:"sceneData",value:function(e){var t=this;return this._sceneDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getScene(e)}))}},{key:"technologyFilterData",value:function(){var e=this;return this._technologyFilterQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getDatasetTechnologyNames()}))}},{key:"providerFilterData",value:function(){var e=this;return this._providerFilterQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getProviderNames()}))}}]),n}(hq);SQ.\u0275fac=function(e){return new(e||SQ)(Zi(R$))},SQ.\u0275prov=$e({token:SQ,factory:SQ.\u0275fac}),Mw([sq(),Iw(0,uq("treeModel"))],SQ.prototype,"updateAnatomicalStructuresTreeModel",null),Mw([sq(),Iw(0,uq("treeModel"))],SQ.prototype,"updateCellTypesTreeModel",null),Mw([sq(),Iw(0,uq("status"))],SQ.prototype,"updateStatus",null),Mw([sq(),Iw(0,uq("filter"))],SQ.prototype,"updateFilter",null),Mw([jz(bQ)],SQ.prototype,"updateFilterHandler",null),Mw([eV.ak],SQ.prototype,"tissueBlockData",null),Mw([eV.ak],SQ.prototype,"aggregateData",null),Mw([eV.ak],SQ.prototype,"ontologyTermOccurencesData",null),Mw([eV.ak],SQ.prototype,"cellTypeTermOccurencesData",null),Mw([eV.ak],SQ.prototype,"sceneData",null),Mw([eV.ak],SQ.prototype,"technologyFilterData",null),Mw([eV.ak],SQ.prototype,"providerFilterData",null),SQ=Mw([cq(),Fz({name:"data",defaults:{filter:_Q,status:"Loading",statusMessage:"Loading database"}})],SQ);var CQ=function(){function e(){m(this,e)}return b(e,null,[{key:"filter",value:function(e){return e.filter}},{key:"anatomicalStructuresTreeModel",value:function(e){var t;return null!==(t=e.anatomicalStructuresTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}},{key:"cellTypesTreeModel",value:function(e){var t;return null!==(t=e.cellTypesTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}}]),e}();Mw([Vz([SQ])],CQ,"filter",null),Mw([Vz([SQ])],CQ,"anatomicalStructuresTreeModel",null),Mw([Vz([SQ])],CQ,"cellTypesTreeModel",null);var EQ=function(){var e=function e(t,n,i){m(this,e),this.sex=t,this.organName=n,this.search=i};return e.type="[Spatial Search Filter] Add",e}(),OQ=function(){var e=function e(t){m(this,e),this.id=t};return e.type="[Spatial Search Filter] Remove",e}(),TQ=function(){var e=function e(t){m(this,e),this.items=t};return e.type="[Spatial Search Filter] Set selected searches",e}(),PQ=function(){function e(){m(this,e)}return b(e,[{key:"addSearch",value:function(e,t){var n=t.sex,i=t.organName,r=t.search;e.setState(function(e){return function(t){return e&&e.length||!t?Array.isArray(t)?t.concat(e):e:t}}([this.createItem(n,i,r)]))}},{key:"removeSearch",value:function(e,t){var n=t.id;e.setState(function(e){return function(t){var n=-1;if(function(e){return"function"==typeof e}(e)?n=t.findIndex(e):function(e){return"number"==typeof e}(e)&&(n=e),function(e){return Number.isNaN(e)||-1===e}(n))return t;var i=t.slice();return i.splice(n,1),i}}(function(e){return(null==e?void 0:e.id)===n}))}},{key:"setSelectedSearches",value:function(e,t){var n=t.items,i=new Map(n.map(function(e){return[e.id,e]})),r=e.getState().map(function(e){var t;return null!==(t=i.get(e.id))&&void 0!==t?t:e.selected?Object.assign(Object.assign({},e),{selected:!1}):e});e.setState(r)}},{key:"createItem",value:function(e,t,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(e,t,n),sex:e,search:n}}},{key:"createItemId",value:function(e){var t=e.x,n=e.y,i=e.z,r=e.radius,o=e.target;return"".concat(o,"-").concat(r,"-").concat(t,",").concat(n,",").concat(i)}},{key:"createItemDescription",value:function(e,t,n){var i=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},r=n.x,o=n.y,a=n.z,s=n.radius;return"".concat(i(e),", ").concat(i(t),", ").concat(s.toFixed(1)," mm, X: ").concat(r.toFixed(1),", Y: ").concat(o.toFixed(1),", Z: ").concat(a.toFixed(1))}}]),e}();PQ.\u0275fac=function(e){return new(e||PQ)},PQ.\u0275prov=$e({token:PQ,factory:PQ.\u0275fac}),Mw([jz(EQ)],PQ.prototype,"addSearch",null),Mw([jz(OQ)],PQ.prototype,"removeSearch",null),Mw([jz(TQ)],PQ.prototype,"setSelectedSearches",null),PQ=Mw([Fz({name:"spatialSearchFilter",defaults:[]})],PQ);var AQ=function(){function e(){m(this,e)}return b(e,null,[{key:"items",value:function(e){return e}},{key:"searches",value:function(e){return e.map(function(e){return e.search})}},{key:"selectedSearches",value:function(e){return e.filter(function(e){return e.selected}).map(function(e){return e.search})}}]),e}();Mw([Vz([PQ])],AQ,"items",null),Mw([Vz([AQ.items])],AQ,"searches",null),Mw([Vz([AQ.items])],AQ,"selectedSearches",null);var MQ=new RegExp("[^#a-f\\d]","gi"),IQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),RQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map(function(e,t){var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e||MQ.test(e)||!IQ.test(e))throw new TypeError("Expected a valid hex string");var n=1;8===(e=e.replace(/^#/,"")).length&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),4===e.length&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var i=Number.parseInt(e,16),r=i>>16,o=i>>8&255,a=255&i,s="number"==typeof t.alpha?t.alpha:n;return"array"===t.format?[r,o,a,s]:"css"===t.format?"rgb(".concat(r," ").concat(o," ").concat(a).concat(1===s?"":" / ".concat(Number((100*s).toFixed(2)),"%"),")"):{red:r,green:o,blue:a,alpha:s}}(e,{format:"array"});return n[3]=255,{color:e,rgba:n,rank:t}}),DQ=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).forcedUnassignment=new ae,e.forcedUnassignment$=e.forcedUnassignment.asObservable(),e.colorAssignments$=e.state$.pipe(cG("colorAssignments"),lf()),e.colorAssignmentsList$=e.state$.pipe(cG("colorAssignmentsList"),lf()),e}return b(n,[{key:"getColor",value:function(e){return this.snapshot.colorAssignments[e]}},{key:"assignColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.snapshot,i=n.colorAssignments,r=n.colorAssignmentsList,o=n.colorsAvailable;t&&(o=this.snapshot.colorPalette.concat(),r=[],i={});var a=i[e];return a||(o.length>0?a=o[0]:(a=r[r.length-1].color,r=r.slice(0,-1),this.forcedUnassignment.next()),o=o.filter(function(e){return e.color!==a.color}),i=(r=[{color:a,key:e}].concat(r)).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:o,colorAssignments:i,colorAssignmentsList:r})),a}},{key:"unassignColor",value:function(e){var t=this.snapshot,n=t.colorAssignments,i=t.colorAssignmentsList,r=t.colorsAvailable,o=n[e];o&&(r=[o].concat(r),n=(i=i.filter(function(e){return e.color.color!==o.color})).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i}))}}]),n}(dq);DQ.\u0275fac=function(){var e;return function(t){return(e||(e=Ti(DQ)))(t||DQ)}}(),DQ.\u0275prov=$e({token:DQ,factory:DQ.\u0275fac}),Mw([sq(),Iw(0,uq("key")),Iw(1,uq("doReset"))],DQ.prototype,"assignColor",null),Mw([sq(),Iw(0,uq("key"))],DQ.prototype,"unassignColor",null),DQ=Mw([cq(),Fz({name:"colors",defaults:{colorPalette:RQ.concat(),colorsAvailable:RQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],DQ);var NQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.listResults$=n.state$.pipe(cG("listResults"),lf()),n.highlightedNodeId$=n.state$.pipe(cG("highlightedNodeId"),lf()),n}return b(r,[{key:"setListResults",value:function(e){this.ctx.patchState({listResults:e})}},{key:"selectListResult",value:function(e){this.colorAssignments.assignColor(e.tissueBlock.spatialEntityId)}},{key:"deselectListResult",value:function(e){this.colorAssignments.unassignColor(e.tissueBlock.spatialEntityId)}},{key:"highlightNode",value:function(e){this.ctx.patchState({highlightedNodeId:e})}},{key:"unHighlightNode",value:function(){this.ctx.patchState({highlightedNodeId:void 0})}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(SQ),this.colorAssignments=this.injector.get(DQ),J_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(ce(function(e){var n,i=t(e,2),r=i[0],o=i[1],a=[],s=[],u=_(r);try{for(u.s();!(n=u.n()).done;){var c=n.value,l=o[c.spatialEntityId];l?a.push({selected:!0,color:l.color,tissueBlock:c,rank:l.rank}):s.push({selected:!1,tissueBlock:c})}}catch(h){u.e(h)}finally{u.f()}return(0,$q.sortBy)(a,["rank"]).concat(s)}),mv(function(e){return n.setListResults(e)})).subscribe()}}]),r}(dq);NQ.\u0275fac=function(e){return new(e||NQ)(Zi(R$),Zi(ss))},NQ.\u0275prov=$e({token:NQ,factory:NQ.\u0275fac}),Mw([sq(),Iw(0,uq("listResults"))],NQ.prototype,"setListResults",null),NQ=Mw([cq(),Fz({name:"listResults",defaults:{listResults:[]}})],NQ);var LQ=new Set(["Skin","Heart","Kidney","Spleen"]),jQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.referenceOrgans$=n.state$.pipe(cG("referenceOrgans"),lf()),n.selectedReferenceOrgans$=n.state$.pipe(cG("selectedReferenceOrgans"),lf()),n.scene$=n.state$.pipe(cG("scene"),lf()),n.highlightedId$=n.state$.pipe(cG("highlightedId"),lf()),n}return b(r,[{key:"setSelectedReferenceOrgans",value:function(e){this.ctx.patchState({selectedReferenceOrgans:e})}},{key:"setReferenceOrgans",value:function(e){this.ctx.patchState({referenceOrgans:e})}},{key:"setReferenceOrganEntities",value:function(e){this.ctx.patchState({referenceOrganEntities:e})}},{key:"setScene",value:function(e){this.ctx.patchState({scene:e})}},{key:"sceneNodeClicked",value:function(e){var t=e.node,n=e.ctrlClick;t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!n)}},{key:"sceneNodeHovered",value:function(e){this.listResults.highlightNode(e["@id"])}},{key:"sceneNodeUnhover",value:function(){this.listResults.unHighlightNode()}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(SQ),this.colorAssignments=this.injector.get(DQ),this.listResults=this.injector.get(NQ),this.dataService.getReferenceOrgans().pipe(mv(function(e){return n.setReferenceOrganEntities(e)}),ce(function(e){var t=new Set(e.map(function(e){return e.representation_of}));return h$.filter(function(e){return t.has(e.id)}).map(function(e){return Object.assign(Object.assign({},e),{disabled:!1,numResults:0})})}),_p(1),mv(function(e){n.setReferenceOrgans(e),n.setSelectedReferenceOrgans(e.filter(function(e){return LQ.has(e.organ)}))})).subscribe(),J_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(ce(function(e){var n=t(e,5),i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],u=new Set(r.map(function(e){return e.id})),c=new Set(a.filter(function(e){return u.has(e.representation_of)}).map(function(e){return e["@id"]}));return i.filter(function(e){var t,n;return(null===(n=null===(t=e.ccf_annotations)||void 0===t?void 0:t.some)||void 0===n?void 0:n.call(t,function(e){return u.has(e)}))||e.reference_organ&&c.has(e.reference_organ)}).map(function(e){return e.entityId&&(Object.prototype.hasOwnProperty.call(o,e["@id"])||s===e["@id"])?Object.assign(Object.assign({},e),{color:s===e["@id"]?[30,136,229,255]:o[e["@id"]].rgba}):e})}),mv(function(e){return n.setScene(e)})).subscribe()}}],[{key:"referenceOrgans",value:function(e){return e.referenceOrgans}},{key:"referenceOrganEntities",value:function(e){return e.referenceOrganEntities}}]),r}(dq);function FQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function BQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function VQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function zQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}jQ.\u0275fac=function(e){return new(e||jQ)(Zi(R$),Zi(ss))},jQ.\u0275prov=$e({token:jQ,factory:jQ.\u0275fac}),Mw([sq(),Iw(0,uq("selectedReferenceOrgans"))],jQ.prototype,"setSelectedReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrgans"))],jQ.prototype,"setReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrganEntities"))],jQ.prototype,"setReferenceOrganEntities",null),Mw([sq(),Iw(0,uq("scene"))],jQ.prototype,"setScene",null),Mw([Vz()],jQ,"referenceOrgans",null),Mw([Vz()],jQ,"referenceOrganEntities",null),jQ=Mw([cq(),Fz({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],jQ);var UQ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",HQ=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),GQ=new Ri("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}}),WQ=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;m(this,n),(s=t.call(this,e))._document=r,s._diameter=100,s._value=0,s._fallbackAnimation=!1,s.mode="determinate";var u=n._diameters;return s._spinnerAnimationLabel=s._getSpinnerAnimationLabel(),u.has(r.head)||u.set(r.head,new Set([100])),s._fallbackAnimation=i.EDGE||i.TRIDENT,s._noopAnimations="NoopAnimations"===o&&!!a&&!a._forceAnimations,a&&(a.diameter&&(s.diameter=a.diameter),a.strokeWidth&&(s.strokeWidth=a.strokeWidth)),s}return b(n,[{key:"diameter",get:function(){return this._diameter},set:function(e){this._diameter=qd(e),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}},{key:"strokeWidth",get:function(){return this._strokeWidth||this.diameter/10},set:function(e){this._strokeWidth=qd(e)}},{key:"value",get:function(){return"determinate"===this.mode?this._value:0},set:function(e){this._value=Math.max(0,Math.min(100,qd(e)))}},{key:"ngOnInit",value:function(){var e=this._elementRef.nativeElement;this._styleRoot=Qf(e)||this._document.head,this._attachStyleNode(),e.classList.add("mat-progress-spinner-indeterminate".concat(this._fallbackAnimation?"-fallback":"","-animation"))}},{key:"_getCircleRadius",value:function(){return(this.diameter-10)/2}},{key:"_getViewBox",value:function(){var e=2*this._getCircleRadius()+this.strokeWidth;return"0 0 ".concat(e," ").concat(e)}},{key:"_getStrokeCircumference",value:function(){return 2*Math.PI*this._getCircleRadius()}},{key:"_getStrokeDashOffset",value:function(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}},{key:"_getCircleStrokeWidth",value:function(){return this.strokeWidth/this.diameter*100}},{key:"_attachStyleNode",value:function(){var e=this._styleRoot,t=this._diameter,i=n._diameters,r=i.get(e);if(!r||!r.has(t)){var o=this._document.createElement("style");o.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),o.textContent=this._getAnimationText(),e.appendChild(o),r||(r=new Set,i.set(e,r)),r.add(t)}}},{key:"_getAnimationText",value:function(){var e=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*e).replace(/END_VALUE/g,""+.2*e).replace(/DIAMETER/g,"".concat(this._spinnerAnimationLabel))}},{key:"_getSpinnerAnimationLabel",value:function(){return this.diameter.toString().replace(".","_")}}]),n}(HQ);WQ.\u0275fac=function(e){return new(e||WQ)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(GQ))},WQ.\u0275cmp=Ot({type:WQ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(e,t){2&e&&(ks("aria-valuemin","determinate"===t.mode?0:null)("aria-valuemax","determinate"===t.mode?100:null)("aria-valuenow","determinate"===t.mode?t.value:null)("mode",t.mode),uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),As(0,"svg",0),Cs(1,FQ,1,9,"circle",1),Cs(2,BQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[UQ],encapsulation:2,changeDetection:0}),WQ._diameters=new WeakMap;var qQ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this,e,i,r,o,a)).mode="indeterminate",s}return n}(WQ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(GQ))},e.\u0275cmp=Ot({type:e,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(e,t){2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color"},features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),As(0,"svg",0),Cs(1,VQ,1,9,"circle",1),Cs(2,zQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[UQ],encapsulation:2,changeDetection:0}),e}(),XQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,cd],rb]}),e}(),YQ=function(){var e=function e(){m(this,e),this.className="ccf-spinner-overlay",this.active=!1};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("active",t.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(e,t){1&e&&(Is(0,"mat-spinner"),As(1,"div",0),Cu(2),Ms()),2&e&&(Yo(2),Eu(t.text))},directives:[qQ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),e}(),KQ={isolated:!0},$Q=new Ri("Message service configuration",{providedIn:"root",factory:function(){return KQ}}),QQ=function(){var e=function(){function e(t,n,i){m(this,e),this.source=t,this.channel=n,this.messages=i}return b(e,[{key:"sendMessage",value:function(e){this.channel.next({id:this.nextMessageId(),source:this.source,payload:e})}},{key:"getMessages",value:function(){var e=this;return this.messages.pipe(bf(function(t){return t.source!==e.source}))}},{key:"getMessagesFromSource",value:function(e){return this.getMessages().pipe(bf(function(t){return t.source===e}))}},{key:"getMessagesFromSources",value:function(e){return this.getMessages().pipe(bf(function(t){return e.includes(t.source)}))}},{key:"nextMessageId",value:function(){return e.counter++}}]),e}();return e.counter=0,e}(),ZQ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.config=t,this.parent=n,this.channel=new ae,this.messages=t.isolated||!n?this.channel.asObservable():ye([this.channel,n.messages.pipe(xp(function(){return!i.channel.closed}))]).pipe(Ce())}return b(e,[{key:"ngOnDestroy",value:function(){this.channel.complete()}},{key:"connect",value:function(e){return new QQ(e,this.channel,this.messages)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi($Q),Zi(e,12))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),JQ=["*"],eZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new q;var r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-containers-changed":return this.drawers=e.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":var t=e.source.position,n=e.payload,i=n.opened,r=n.width,o=n.margin;return this.updateMargin(t,i,r,o),this.updateFaded(),!0;default:return!1}}},{key:"updateMargin",value:function(e,t,n,i){var r=t?n+i:i;"start"===e?this.leftMargin=r:this.rightMargin=r}},{key:"updateFaded",value:function(){var e=t(this.drawers,2),n=e[0],i=e[1];this.faded=(null==n?void 0:n.opened)&&(null==n?void 0:n.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(ZQ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(e,t){2&e&&(Mu("@fadeInOut",t.faded),du(t.className),uu("margin-left",t.leftMargin,"px")("margin-right",t.rightMargin,"px"),cu("cff-drawer-content-animations",t.animationsEnabled))},ngContentSelectors:JQ,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[fg("fadeInOut",[mg("false",gg({opacity:1})),mg("true",gg({opacity:0})),yg("false <=> true",pg("1s"))])]},changeDetection:0}),e}(),tZ=["*"],nZ={params:{width:0,margin:0,margin2:0}},iZ=function(){function e(){var t=this;m(this,e),this.initialized=!1,this.deferred=new Promise(function(e){t.resolve=e})}return b(e,[{key:"set",value:function(){this.initialized=!0,this.resolve()}},{key:"wait",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.deferred);case 1:case"end":return e.stop()}},e,this)}))}},{key:"valueOf",value:function(){return this.initialized}}]),e}(),rZ=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.element=i,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new ol(!0),this.expandedChange=new ol(!0),this.stateChange=new ol(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new iZ,this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){r.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"position",get:function(){return this._position},set:function(e){this._position=e||"start"}},{key:"opened",get:function(){return this._opened},set:function(e){this.toggle(Wd(e))}},{key:"expanded",get:function(){return this._expanded},set:function(e){this.toggleExpanded(Wd(e))}},{key:"expandedStateObj",get:function(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}},{key:"measuredWidth",get:function(){if(this._measuredWidth>0)return this._measuredWidth;var e=this.element.nativeElement;if(!e)return 0;var t=e.getBoundingClientRect(),n=t.right-t.left;return 0===n?0:(this._measuredWidth=n,n)}},{key:"measuredMargin",get:function(){if(this._measuredMargin>0)return this._measuredMargin;var e=this.element.nativeElement;if(!e)return 0;var t=globalThis.getComputedStyle(e).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(t.slice(0,-2));return this._measuredMargin=n,n}},{key:"ngAfterViewInit",value:function(){var e=this;this.initialized.set(),setTimeout(function(){return e.channel.sendMessage({type:"drawer-initialized"})})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"open",value:function(){this.toggle(!0)}},{key:"close",value:function(){this.toggle(!1)}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.opened;this.opened!==e&&(e?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=e,this.sendToggle())}},{key:"openExpanded",value:function(){this.toggleExpanded(!0)}},{key:"closeExpanded",value:function(){this.toggleExpanded(!1)}},{key:"toggleExpanded",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.expanded;this.expanded!==e&&(e?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=e,this.sendToggle())}},{key:"closeOpenDone",value:function(){this.openedChange.emit(this.opened)}},{key:"expandCollapseDone",value:function(){this.expandedChange.emit(this.expanded)}},{key:"sendToggle",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.initialized.wait();case 2:this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit();case 4:case"end":return e.stop()}},e,this)}))}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-toggled":return this.syncExpanded(e.source),!0;default:return!1}}},{key:"syncExpanded",value:function(e){(this.expanded||e.expanded)&&(this.expanded&&e.expanded?this.expandedState2=e.expandedState2="half":this.expanded?e.opened?(this.expandedState2="extended",this.width=e.measuredWidth+e.measuredMargin):(this.expandedState2="full",this.margin2=e.measuredMargin):this.opened?(e.expandedState2="extended",e.width=this.measuredWidth+this.measuredMargin):(e.expandedState2="full",e.margin2=this.measuredMargin))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(ZQ),Os(Cc),Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(e,t){1&e&&zs("@openClose.done",function(){return t.closeOpenDone()})("@expandCollapse.done",function(){return t.expandCollapseDone()}),2&e&&(Mu("@openClose",t.openedState)("@expandCollapse",t.expandedStateObj),du(t.className),cu("ccf-drawer-end",t.classEnd)("ccf-drawer-opened",t.opened)("ccf-drawer-expanded",t.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:tZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(e,t){1&e&&(Xs(),As(0,"div",0),Ys(1),Ms())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[fg("openClose",[mg("open, open-instant",gg({transform:"none"})),mg("closed",gg({})),yg("closed => open-instant",pg(0)),yg("closed <=> open, open-instant => closed",pg(".5s ease-in-out"))]),fg("expandCollapse",[mg("collapsed",gg({})),mg("half",gg({width:"calc(50% - {{ margin }}px)"}),nZ),mg("extended",gg({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),nZ),mg("full",gg({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),nZ),yg("* <=> *",pg(".5s ease-in-out"))])]},changeDetection:0}),e}();function oZ(e,t){1&e&&(As(0,"ccf-drawer-content"),Ys(1,2),Ms())}var aZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],sZ=["ccf-drawer","ccf-drawer-content","*"];function uZ(e){throw new Error("Multiple drawers in position ".concat(e))}var cZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.cdr=n,this.className="ccf-drawer-container",this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"content",get:function(){var e;return null!==(e=this.content1.first)&&void 0!==e?e:this.content2.first}},{key:"hasWrappedContent",get:function(){return 0!==this.content1.length}},{key:"ngAfterViewInit",value:function(){var e=this;this.drawers.changes.pipe(Ef(null)).subscribe(function(){var t=e.validateDrawers();e.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),e.cdr.markForCheck()}),this.content1.changes.pipe(Ef(null)).subscribe(function(){e.channel.sendMessage({type:"content-container-changed",content:e.content}),e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return!0}},{key:"validateDrawers",value:function(){var e=this.drawers.toArray(),t=e.filter(function(e){return"start"===e.position}),n=e.filter(function(e){return"end"===e.position});return t.length>1&&uZ("start"),n.length>1&&uZ("end"),[t[0],n[0]]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(ZQ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-container"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,rZ,5),bl(n,eZ,5)),2&e)&&(ml(i=_l())&&(t.drawers=i),ml(i=_l())&&(t.content1=i))},viewQuery:function(e,t){var n;(1&e&&yl(eZ,5),2&e)&&(ml(n=_l())&&(t.content2=n))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},exportAs:["ccfDrawerContainer"],features:[Xu([ZQ])],ngContentSelectors:sZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&(Xs(aZ),Ys(0),Ys(1,1),Cs(2,oZ,2,0,"ccf-drawer-content",0)),2&e&&(Yo(2),Ts("ngIf",!t.hasWrappedContent))},directives:[Yh,eZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),e}(),lZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Start the Spatial Search flow",e}(),hZ=function(){var e=function e(t){m(this,e),this.sex=t};return e.type="[SpatialSearchUi] Set sex",e}(),dZ=function(){var e=function e(t){m(this,e),this.organId=t};return e.type="[SpatialSearchUi] Set organ",e}(),fZ=function(){var e=function e(t){m(this,e),this.position=t};return e.type="[SpatialSearchUi] Set position",e}(),pZ=function(){var e=function e(t){m(this,e),this.node=t};return e.type="[SpatialSearchUi] Start moving the position to a scene node",e}(),vZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset position",e}(),gZ=function(){var e=function e(t){m(this,e),this.radius=t};return e.type="[SpatialSearchUi] Set radius",e}(),mZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset radius",e}(),yZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Update spatial search data",e}(),bZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Generate and add a spatial search",e}(),_Z=function(){var e=function e(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];m(this,e),this.execute=t};return e.type="[SpatialSearchUi] Set execute search on generate",e}(),wZ=["trigger"],kZ=["panel"];function xZ(e,t){if(1&e&&(As(0,"span",8),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Eu(n.placeholder)}}function SZ(e,t){if(1&e&&(As(0,"span",12),Cu(1),Ms()),2&e){var n=Ws(2);Yo(1),Eu(n.triggerValue)}}function CZ(e,t){1&e&&Ys(0,0,["*ngSwitchCase","true"])}function EZ(e,t){1&e&&(As(0,"span",9),Cs(1,SZ,2,1,"span",10),Cs(2,CZ,1,0,"ng-content",11),Ms()),2&e&&(Ts("ngSwitch",!!Ws().customTrigger),Yo(2),Ts("ngSwitchCase",!0))}function OZ(e,t){if(1&e){var n=Ls();As(0,"div",13),As(1,"div",14,15),Vs("@transformPanel.done",function(e){return bn(n),Ws()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return bn(n),Ws()._handleKeydown(e)}),Ys(3,1),Ms(),Ms()}if(2&e){var i=Ws();Ts("@transformPanelWrap",void 0),Yo(1),Pu("mat-select-panel ",i._getPanelTheme(),""),uu("transform-origin",i._transformOrigin)("font-size",i._triggerFontSize,"px"),Ts("ngClass",i.panelClass)("@transformPanel",i.multiple?"showing-multiple":"showing"),ks("id",i.id+"-panel")("aria-multiselectable",i.multiple)("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby())}}var TZ=[[["mat-select-trigger"]],"*"],PZ=["mat-select-trigger","*"],AZ={transformPanelWrap:fg("transformPanelWrap",[yg("* => void",function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:11,selector:e,animation:t,options:n}}("@transformPanel",[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{type:9,options:e}}()],{optional:!0}))]),transformPanel:fg("transformPanel",[mg("void",gg({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),mg("showing",gg({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),mg("showing-multiple",gg({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),yg("void => *",pg("120ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void",pg("100ms 25ms linear",gg({opacity:0})))])},MZ=0,IZ=new Ri("mat-select-scroll-strategy"),RZ=new Ri("MAT_SELECT_CONFIG"),DZ={provide:IZ,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},NZ=function e(t,n){m(this,e),this.source=t,this.value=n},LZ=sb(ub(ob(cb(function(){return function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=i,this._parentFormGroup=r,this.ngControl=o}}())))),jZ=new Ri("MatSelectTrigger"),FZ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,l,h,d,f,p,g,y){var b,_,w,k;return m(this,n),(b=t.call(this,a,o,u,l,d))._viewportRuler=e,b._changeDetectorRef=i,b._ngZone=r,b._dir=s,b._parentFormField=h,b._liveAnnouncer=g,b._defaultOptions=y,b._panelOpen=!1,b._compareWith=function(e,t){return e===t},b._uid="mat-select-"+MZ++,b._triggerAriaLabelledBy=null,b._destroy=new ae,b._onChange=function(){},b._onTouched=function(){},b._valueId="mat-select-value-"+MZ++,b._panelDoneAnimatingStream=new ae,b._overlayPanelClass=(null===(_=b._defaultOptions)||void 0===_?void 0:_.overlayPanelClass)||"",b._focused=!1,b.controlType="mat-select",b._required=!1,b._multiple=!1,b._disableOptionCentering=null!==(k=null===(w=b._defaultOptions)||void 0===w?void 0:w.disableOptionCentering)&&void 0!==k&&k,b.ariaLabel="",b.optionSelectionChanges=tH(function(){var e=b.options;return e?e.changes.pipe(Ef(e),Of(function(){return Oe.apply(void 0,v(e.map(function(e){return e.onSelectionChange})))})):b._ngZone.onStable.pipe(_p(1),Of(function(){return b.optionSelectionChanges}))}),b.openedChange=new ol,b._openedStream=b.openedChange.pipe(bf(function(e){return e}),ce(function(){})),b._closedStream=b.openedChange.pipe(bf(function(e){return!e}),ce(function(){})),b.selectionChange=new ol,b.valueChange=new ol,b.ngControl&&(b.ngControl.valueAccessor=c(b)),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(b._typeaheadDebounceInterval=y.typeaheadDebounceInterval),b._scrollStrategyFactory=p,b._scrollStrategy=b._scrollStrategyFactory(),b.tabIndex=parseInt(f)||0,b.id=b.id,b}return b(n,[{key:"focused",get:function(){return this._focused||this._panelOpen}},{key:"placeholder",get:function(){return this._placeholder},set:function(e){this._placeholder=e,this.stateChanges.next()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this.stateChanges.next()}},{key:"multiple",get:function(){return this._multiple},set:function(e){this._multiple=Wd(e)}},{key:"disableOptionCentering",get:function(){return this._disableOptionCentering},set:function(e){this._disableOptionCentering=Wd(e)}},{key:"compareWith",get:function(){return this._compareWith},set:function(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}},{key:"value",get:function(){return this._value},set:function(e){(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e)}},{key:"typeaheadDebounceInterval",get:function(){return this._typeaheadDebounceInterval},set:function(e){this._typeaheadDebounceInterval=qd(e)}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid,this.stateChanges.next()}},{key:"ngOnInit",value:function(){var e=this;this._selectionModel=new ip(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(lf(),kf(this._destroy)).subscribe(function(){return e._panelDoneAnimating(e.panelOpen)})}},{key:"ngAfterContentInit",value:function(){var e=this;this._initKeyManager(),this._selectionModel.changed.pipe(kf(this._destroy)).subscribe(function(e){e.added.forEach(function(e){return e.select()}),e.removed.forEach(function(e){return e.deselect()})}),this.options.changes.pipe(Ef(null),kf(this._destroy)).subscribe(function(){e._resetOptions(),e._initializeSelection()})}},{key:"ngDoCheck",value:function(){var e=this._getTriggerAriaLabelledby();if(e!==this._triggerAriaLabelledBy){var t=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?t.setAttribute("aria-labelledby",e):t.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}},{key:"ngOnChanges",value:function(e){e.disabled&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}},{key:"ngOnDestroy",value:function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}},{key:"toggle",value:function(){this.panelOpen?this.close():this.open()}},{key:"open",value:function(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}},{key:"close",value:function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}},{key:"panelOpen",get:function(){return this._panelOpen}},{key:"selected",get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}},{key:"triggerValue",get:function(){if(this.empty)return"";if(this._multiple){var e=this._selectionModel.selected.map(function(e){return e.viewValue});return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}},{key:"_isRtl",value:function(){return!!this._dir&&"rtl"===this._dir.value}},{key:"_handleKeydown",value:function(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}},{key:"_handleClosedKeydown",value:function(e){var t=e.keyCode,n=40===t||38===t||37===t||39===t,i=13===t||32===t,r=this._keyManager;if(!r.isTyping()&&i&&!Ep(e)||(this.multiple||e.altKey)&&n)e.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;r.onKeydown(e);var a=this.selected;a&&o!==a&&this._liveAnnouncer.announce(a.viewValue,1e4)}}},{key:"_handleOpenKeydown",value:function(e){var t=this._keyManager,n=e.keyCode,i=40===n||38===n,r=t.isTyping();if(i&&e.altKey)e.preventDefault(),this.close();else if(r||13!==n&&32!==n||!t.activeItem||Ep(e))if(!r&&this._multiple&&65===n&&e.ctrlKey){e.preventDefault();var o=this.options.some(function(e){return!e.disabled&&!e.selected});this.options.forEach(function(e){e.disabled||(o?e.select():e.deselect())})}else{var a=t.activeItemIndex;t.onKeydown(e),this._multiple&&i&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==a&&t.activeItem._selectViaInteraction()}else e.preventDefault(),t.activeItem._selectViaInteraction()}},{key:"_onFocus",value:function(){this.disabled||(this._focused=!0,this.stateChanges.next())}},{key:"_onBlur",value:function(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}},{key:"_onAttached",value:function(){var e=this;this._overlayDir.positionChange.pipe(_p(1)).subscribe(function(){e._changeDetectorRef.detectChanges(),e._positioningSettled()})}},{key:"_getPanelTheme",value:function(){return this._parentFormField?"mat-".concat(this._parentFormField.color):""}},{key:"empty",get:function(){return!this._selectionModel||this._selectionModel.isEmpty()}},{key:"_initializeSelection",value:function(){var e=this;Promise.resolve().then(function(){e._setSelectionByValue(e.ngControl?e.ngControl.value:e._value),e.stateChanges.next()})}},{key:"_setSelectionByValue",value:function(e){var t=this;if(this._selectionModel.selected.forEach(function(e){return e.setInactiveStyles()}),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(function(e){return t._selectValue(e)}),this._sortValues();else{var n=this._selectValue(e);n?this._keyManager.updateActiveItem(n):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}},{key:"_selectValue",value:function(e){var t=this,n=this.options.find(function(n){if(t._selectionModel.isSelected(n))return!1;try{return null!=n.value&&t._compareWith(n.value,e)}catch(i){return!1}});return n&&this._selectionModel.select(n),n}},{key:"_initKeyManager",value:function(){var e=this;this._keyManager=new zv(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(kf(this._destroy)).subscribe(function(){e.panelOpen&&(!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction(),e.focus(),e.close())}),this._keyManager.change.pipe(kf(this._destroy)).subscribe(function(){e._panelOpen&&e.panel?e._scrollOptionIntoView(e._keyManager.activeItemIndex||0):!e._panelOpen&&!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction()})}},{key:"_resetOptions",value:function(){var e=this,t=Oe(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(kf(t)).subscribe(function(t){e._onSelect(t.source,t.isUserInput),t.isUserInput&&!e.multiple&&e._panelOpen&&(e.close(),e.focus())}),Oe.apply(void 0,v(this.options.map(function(e){return e._stateChanges}))).pipe(kf(t)).subscribe(function(){e._changeDetectorRef.markForCheck(),e.stateChanges.next()})}},{key:"_onSelect",value:function(e,t){var n=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(n!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),n!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}},{key:"_sortValues",value:function(){var e=this;if(this.multiple){var t=this.options.toArray();this._selectionModel.sort(function(n,i){return e.sortComparator?e.sortComparator(n,i,t):t.indexOf(n)-t.indexOf(i)}),this.stateChanges.next()}}},{key:"_propagateChanges",value:function(e){var t;t=this.multiple?this.selected.map(function(e){return e.value}):this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck()}},{key:"_highlightCorrectOption",value:function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}},{key:"_canOpen",value:function(){var e;return!this._panelOpen&&!this.disabled&&(null===(e=this.options)||void 0===e?void 0:e.length)>0}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_getPanelAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();return this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}},{key:"_getAriaActiveDescendant",value:function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}},{key:"_getTriggerAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId(),n=(t?t+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}},{key:"_panelDoneAnimating",value:function(e){this.openedChange.emit(e)}},{key:"setDescribedByIds",value:function(e){this._ariaDescribedby=e.join(" ")}},{key:"onContainerClick",value:function(){this.focus(),this.open()}},{key:"shouldLabelFloat",get:function(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}]),n}(LZ);return e.\u0275fac=function(t){return new(t||e)(Os(ap),Os(Cc),Os(Xl),Os(lb),Os(Ju),Os(tp,8),Os(zU,8),Os(QU,8),Os(IH,8),Os(hU,10),Ai("tabindex"),Os(IZ),Os(tg),Os(RZ,8))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(wZ,5),yl(kZ,5),yl(sv,5)),2&e)&&(ml(n=_l())&&(t.trigger=n.first),ml(n=_l())&&(t.panel=n.first),ml(n=_l())&&(t._overlayDir=n.first))},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[cs,qt]}),e}(),BZ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._scrollTop=0,e._triggerFontSize=0,e._transformOrigin="top",e._offsetY=0,e._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],e}return b(i,[{key:"_calculateOverlayScroll",value:function(e,t,n){var i=this._getItemHeight();return Math.min(Math.max(0,i*e-t+i/2),n)}},{key:"ngOnInit",value:function(){var t=this;e(p(i.prototype),"ngOnInit",this).call(this),this._viewportRuler.change().pipe(kf(this._destroy)).subscribe(function(){t.panelOpen&&(t._triggerRect=t.trigger.nativeElement.getBoundingClientRect(),t._changeDetectorRef.markForCheck())})}},{key:"open",value:function(){var t=this;e(p(i.prototype),"_canOpen",this).call(this)&&(e(p(i.prototype),"open",this).call(this),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(_p(1)).subscribe(function(){t._triggerFontSize&&t._overlayDir.overlayRef&&t._overlayDir.overlayRef.overlayElement&&(t._overlayDir.overlayRef.overlayElement.style.fontSize="".concat(t._triggerFontSize,"px"))}))}},{key:"_scrollOptionIntoView",value:function(e){var t=Db(e,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===e&&1===t?0:Nb((e+t)*n,n,this.panel.nativeElement.scrollTop,256)}},{key:"_positioningSettled",value:function(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}},{key:"_panelDoneAnimating",value:function(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),e(p(i.prototype),"_panelDoneAnimating",this).call(this,t)}},{key:"_getChangeEvent",value:function(e){return new NZ(this,e)}},{key:"_calculateOverlayOffsetX",value:function(){var e,t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),i=this._isRtl(),r=this.multiple?56:32;if(this.multiple)e=40;else if(this.disableOptionCentering)e=16;else{var o=this._selectionModel.selected[0]||this.options.first;e=o&&o.group?32:16}i||(e*=-1);var a=0-(t.left+e-(i?r:0)),s=t.right+e-n.width+(i?0:r);a>0?e+=a+8:s>0&&(e-=s+8),this._overlayDir.offsetX=Math.round(e),this._overlayDir.overlayRef.updatePosition()}},{key:"_calculateOverlayOffsetY",value:function(e,t,n){var i,r=this._getItemHeight(),o=(r-this._triggerRect.height)/2,a=Math.floor(256/r);return this.disableOptionCentering?0:(i=0===this._scrollTop?e*r:this._scrollTop===n?(e-(this._getItemCount()-a))*r+(r-(this._getItemCount()*r-256)%r):t-r/2,Math.round(-1*i-o))}},{key:"_checkOverlayWithinViewport",value:function(e){var t=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*t,256)-o-this._triggerRect.height;a>r?this._adjustPanelUp(a,r):o>i?this._adjustPanelDown(o,i,e):this._transformOrigin=this._getOriginBasedOnOption()}},{key:"_adjustPanelUp",value:function(e,t){var n=Math.round(e-t);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}},{key:"_adjustPanelDown",value:function(e,t,n){var i=Math.round(e-t);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}},{key:"_calculateOverlayPosition",value:function(){var e,t=this._getItemHeight(),n=this._getItemCount(),i=Math.min(n*t,256),r=n*t-i;e=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),e+=Db(e,this.options,this.optionGroups);var o=i/2;this._scrollTop=this._calculateOverlayScroll(e,o,r),this._offsetY=this._calculateOverlayOffsetY(e,o,r),this._checkOverlayWithinViewport(r)}},{key:"_getOriginBasedOnOption",value:function(){var e=this._getItemHeight(),t=(e-this._triggerRect.height)/2;return"50% ".concat(Math.abs(this._offsetY)-t+e/2,"px 0px")}},{key:"_getItemHeight",value:function(){return 3*this._triggerFontSize}},{key:"_getItemCount",value:function(){return this.options.length+this.optionGroups.length}}]),i}(FZ);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275cmp=Ot({type:n,selectors:[["mat-select"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,jZ,5),bl(n,Rb,5),bl(n,Pb,5)),2&e)&&(ml(i=_l())&&(t.customTrigger=i.first),ml(i=_l())&&(t.options=i),ml(i=_l())&&(t.optionGroups=i))},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t._handleKeydown(e)})("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()}),2&e&&(ks("id",t.id)("tabindex",t.tabIndex)("aria-controls",t.panelOpen?t.id+"-panel":null)("aria-expanded",t.panelOpen)("aria-label",t.ariaLabel||null)("aria-required",t.required.toString())("aria-disabled",t.disabled.toString())("aria-invalid",t.errorState)("aria-describedby",t._ariaDescribedby||null)("aria-activedescendant",t._getAriaActiveDescendant()),cu("mat-select-disabled",t.disabled)("mat-select-invalid",t.errorState)("mat-select-required",t.required)("mat-select-empty",t.empty)("mat-select-multiple",t.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Xu([{provide:wH,useExisting:n},{provide:Cb,useExisting:n}]),cs],ngContentSelectors:PZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,t){if(1&e&&(Xs(TZ),As(0,"div",0,1),Vs("click",function(){return t.toggle()}),As(3,"div",2),Cs(4,xZ,2,1,"span",3),Cs(5,EZ,3,2,"span",4),Ms(),As(6,"div",5),Is(7,"div",6),Ms(),Ms(),Cs(8,OZ,4,14,"ng-template",7),Vs("backdropClick",function(){return t.close()})("attach",function(){return t._onAttached()})("detach",function(){return t.close()})),2&e){var n=Es(1);ks("aria-owns",t.panelOpen?t.id+"-panel":null),Yo(3),Ts("ngSwitch",t.empty),ks("id",t._valueId),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1),Yo(3),Ts("cdkConnectedOverlayPanelClass",t._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",t._scrollStrategy)("cdkConnectedOverlayOrigin",n)("cdkConnectedOverlayOpen",t.panelOpen)("cdkConnectedOverlayPositions",t._positions)("cdkConnectedOverlayMinWidth",null==t._triggerRect?null:t._triggerRect.width)("cdkConnectedOverlayOffsetY",t._offsetY)}},directives:[av,Zh,Jh,sv,ed,Gh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[AZ.transformPanelWrap,AZ.transformPanel]},changeDetection:0}),n}(),VZ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[DZ],imports:[[cd,cv,Lb,rb],sp,DH,Lb,rb]}),e}();function zZ(e,t){if(1&e&&(As(0,"mat-option",6),As(1,"div"),Cu(2),Ms(),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("value",n),Yo(1),du(i.optionsVisible),Yo(1),Ou(" ",n," ")}}var UZ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selectionChange=new ol,this.optionsVisible="invisible"}return b(e,[{key:"toggleOptions",value:function(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}},{key:"selectionChanged",value:function(e){this.selection=e,this.ga.event("selection_change","dropdown","".concat(this.label,":").concat(e)),this.selectionChange.emit(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"mat-form-field",2),As(3,"div",3),Cu(4),Ms(),As(5,"mat-select",4),Vs("selectionChange",function(e){return t.selectionChanged(e.value)})("openedChange",function(){return t.toggleOptions()}),Cs(6,zZ,3,5,"mat-option",5),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(4),Ou(" ",t.label," "),Yo(1),Ts("value",t.selection),Yo(1),Ts("ngForOf",t.options))},directives:[RH,BZ,qh,Rb],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),e}(),HZ=r(25430),GZ=r(39053),WZ=r(26202),qZ=["tooltipTemplate"],XZ=["leftOuterSelectionBar"],YZ=["rightOuterSelectionBar"],KZ=["fullBar"],$Z=["selectionBar"],QZ=["minHandle"],ZZ=["maxHandle"],JZ=["floorLabel"],eJ=["ceilLabel"],tJ=["minHandleLabel"],nJ=["maxHandleLabel"],iJ=["combinedLabel"],rJ=["ticksElement"];function oJ(e,t){if(1&e&&Is(0,"ng5-slider-tooltip-wrapper",31),2&e){var n=Ws().$implicit;Ts("template",Ws().tooltipTemplate)("tooltip",n.valueTooltip)("placement",n.valueTooltipPlacement)("content",n.value)}}function aJ(e,t){1&e&&Is(0,"span",32),2&e&&Ts("innerHTML",Ws().$implicit.legend,qr)}var sJ=function(e){return{"ng5-slider-selected":e}};function uJ(e,t){if(1&e&&(As(0,"span",27),Is(1,"ng5-slider-tooltip-wrapper",28),Cs(2,oJ,1,4,"ng5-slider-tooltip-wrapper",29),Cs(3,aJ,1,1,"span",30),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("ngClass",$c(7,sJ,n.selected))("ngStyle",n.style),Yo(1),Ts("template",i.tooltipTemplate)("tooltip",n.tooltip)("placement",n.tooltipPlacement),Yo(1),Ts("ngIf",null!=n.value),Yo(1),Ts("ngIf",null!=n.legend)}}function cJ(e,t){}function lJ(e,t){1&e&&Cs(0,cJ,0,0,"ng-template")}var hJ=function(e,t,n){return{tooltip:e,placement:t,content:n}};function dJ(e,t){if(1&e&&(Rs(0),Cs(1,lJ,1,0,void 0,1),Ds()),2&e){var n=Ws();Yo(1),Ts("ngTemplateOutlet",n.template)("ngTemplateOutletContext",function(e,t,n,i,r,o){return function(e,t,n,i,r,o,a,s){var u=t+n;return function(e,t,n,i,r){var o=ws(e,t,n,i);return _s(e,t+2,r)||o}(e,u,r,o,a)?bs(e,u+3,s?i.call(s,r,o,a):i(r,o,a)):Qc(e,u+3)}(mn(),On(),e,t,n,i,r,o)}(2,hJ,n.tooltip,n.placement,n.content))}}function fJ(e,t){if(1&e&&(Rs(0),As(1,"div",2),Cu(2),Ms(),Ds()),2&e){var n=Ws();Yo(1),ks("title",n.tooltip)("data-tooltip-placement",n.placement),Yo(1),Ou(" ",n.content," ")}}var pJ={Min:0,Max:1};pJ[pJ.Min]="Min",pJ[pJ.Max]="Max";var vJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};vJ[vJ.Low]="Low",vJ[vJ.High]="High",vJ[vJ.Floor]="Floor",vJ[vJ.Ceil]="Ceil",vJ[vJ.TickValue]="TickValue";var gJ=function e(){m(this,e),this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0},mJ=function e(){m(this,e)},yJ=function(){function e(){m(this,e)}return b(e,null,[{key:"isNullOrUndefined",value:function(e){return null==e}},{key:"linearValueToPosition",value:function(e,t,n){return(e-t)/(n-t)}},{key:"logValueToPosition",value:function(e,t,n){return((e=Math.log(e))-(t=Math.log(t)))/((n=Math.log(n))-t)}},{key:"linearPositionToValue",value:function(e,t,n){return e*(n-t)+t}},{key:"logPositionToValue",value:function(e,t,n){return t=Math.log(t),n=Math.log(n),Math.exp(e*(n-t)+t)}},{key:"findStepIndex",value:function(e,t){for(var n=t.map(function(t){return Math.abs(e-t.value)}),i=0,r=0;r0&&0===this.dimension)&&(t=!0),this._value=e,this.elemRef.nativeElement.innerHTML=e,t&&this.calculateDimension()}}]),n}(xJ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(nc),Os(Cc))},e.\u0275dir=Rt({type:e,selectors:[["","ng5SliderLabel",""]],features:[cs]}),e}(),EJ=function e(){m(this,e),this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null},OJ=function e(){m(this,e),this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0},TJ=function(){function e(){m(this,e)}return b(e,null,[{key:"compare",value:function(e,t){return!(yJ.isNullOrUndefined(e)&&yJ.isNullOrUndefined(t)||yJ.isNullOrUndefined(e)!==yJ.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue}}]),e}(),PJ=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,null,[{key:"compare",value:function(e,t){return!(yJ.isNullOrUndefined(e)&&yJ.isNullOrUndefined(t)||yJ.isNullOrUndefined(e)!==yJ.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue&&e.forceChange===t.forceChange}}]),n}(TJ),AJ={provide:Hz,useExisting:He(function(){return MJ}),multi:!0},MJ=function(){var e=function(){function e(t,n,i,r){m(this,e),this.renderer=t,this.elementRef=n,this.changeDetectionRef=i,this.zone=r,this.value=null,this.valueChange=new ol,this.highValue=null,this.highValueChange=new ol,this.options=new gJ,this.userChangeStart=new ol,this.userChange=new ol,this.userChangeEnd=new ol,this.initHasRun=!1,this.inputModelChangeSubject=new HZ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new HZ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new gJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new OJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new kJ(this.renderer)}return b(e,[{key:"manualRefresh",set:function(e){var t=this;this.unsubscribeManualRefresh(),this.manualRefreshSubscription=e.subscribe(function(){setTimeout(function(){return t.calculateViewDimensionsAndDetectChanges()})})}},{key:"triggerFocus",set:function(e){var t=this;this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=e.subscribe(function(e){t.focusPointer(e)})}},{key:"range",get:function(){return!yJ.isNullOrUndefined(this.value)&&!yJ.isNullOrUndefined(this.highValue)}},{key:"showTicks",get:function(){return this.viewOptions.showTicks}},{key:"ngOnInit",value:function(){this.viewOptions=new gJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}},{key:"ngAfterViewInit",value:function(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"ngOnChanges",value:function(e){yJ.isNullOrUndefined(e.options)||this.onChangeOptions(),(!yJ.isNullOrUndefined(e.value)||!yJ.isNullOrUndefined(e.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"ngOnDestroy",value:function(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}},{key:"writeValue",value:function(e){e instanceof Array?(this.value=e[0],this.highValue=e[1]):this.value=e,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"registerOnChange",value:function(e){this.onChangeCallback=e}},{key:"registerOnTouched",value:function(e){this.onTouchedCallback=e}},{key:"setDisabledState",value:function(e){this.viewOptions.disabled=e,this.updateDisabledState()}},{key:"onResize",value:function(e){this.calculateViewDimensionsAndDetectChanges()}},{key:"subscribeInputModelChangeSubject",value:function(e){var t=this;this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,GZ.distinctUntilChanged)(PJ.compare),(0,GZ.filter)(function(e){return!e.forceChange&&!e.internalChange}),yJ.isNullOrUndefined(e)?(0,GZ.tap)(function(){}):(0,GZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.applyInputModelChange(e)})}},{key:"subscribeOutputModelChangeSubject",value:function(e){var t=this;this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,GZ.distinctUntilChanged)(PJ.compare),yJ.isNullOrUndefined(e)?(0,GZ.tap)(function(){}):(0,GZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.publishOutputModelChange(e)})}},{key:"subscribeResizeObserver",value:function(){var e=this;bJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(function(){return e.calculateViewDimensionsAndDetectChanges()}),this.resizeObserver.observe(this.elementRef.nativeElement))}},{key:"unsubscribeResizeObserver",value:function(){bJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"unsubscribeOnMove",value:function(){yJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}},{key:"unsubscribeOnEnd",value:function(){yJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}},{key:"unsubscribeInputModelChangeSubject",value:function(){yJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}},{key:"unsubscribeOutputModelChangeSubject",value:function(){yJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}},{key:"unsubscribeManualRefresh",value:function(){yJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}},{key:"unsubscribeTriggerFocus",value:function(){yJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}},{key:"getPointerElement",value:function(e){return e===pJ.Min?this.minHandleElement:e===pJ.Max?this.maxHandleElement:null}},{key:"getCurrentTrackingValue",value:function(){return this.currentTrackingPointer===pJ.Min?this.viewLowValue:this.currentTrackingPointer===pJ.Max?this.viewHighValue:null}},{key:"modelValueToViewValue",value:function(e){return yJ.isNullOrUndefined(e)?NaN:yJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+e:yJ.findStepIndex(+e,this.viewOptions.stepsArray)}},{key:"viewValueToModelValue",value:function(e){return yJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?e:this.getStepValue(e)}},{key:"getStepValue",value:function(e){var t=this.viewOptions.stepsArray[e];return yJ.isNullOrUndefined(t)?NaN:t.value}},{key:"applyViewChange",value:function(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}},{key:"applyInputModelChange",value:function(e){var t=this.normaliseModelValues(e),n=!TJ.compare(e,t);n&&(this.value=t.value,this.highValue=t.highValue),this.viewLowValue=this.modelValueToViewValue(t.value),this.viewHighValue=this.range?this.modelValueToViewValue(t.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:t.value,highValue:t.highValue,forceChange:n,userEventInitiated:!1})}},{key:"publishOutputModelChange",value:function(e){var t=this,n=function(){t.valueChange.emit(e.value),t.range&&t.highValueChange.emit(e.highValue),yJ.isNullOrUndefined(t.onChangeCallback)||t.onChangeCallback(t.range?[e.value,e.highValue]:e.value),yJ.isNullOrUndefined(t.onTouchedCallback)||t.onTouchedCallback(t.range?[e.value,e.highValue]:e.value)};e.userEventInitiated?(n(),this.userChange.emit(this.getChangeContext())):setTimeout(function(){n()})}},{key:"normaliseModelValues",value:function(e){var t=new TJ;if(t.value=e.value,t.highValue=e.highValue,this.viewOptions.enforceStep&&(t.value=this.roundStep(t.value),this.range&&(t.highValue=this.roundStep(t.highValue))),!yJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return t;if(t.value=_J.clampToRange(t.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(t.highValue=_J.clampToRange(t.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&e.value>e.highValue)if(this.viewOptions.noSwitching)t.value=t.highValue;else{var n=e.value;t.value=e.highValue,t.highValue=n}return t}},{key:"renormaliseModelValues",value:function(){var e={value:this.value,highValue:this.highValue},t=this.normaliseModelValues(e);TJ.compare(t,e)||(this.value=t.value,this.highValue=t.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}},{key:"onChangeOptions",value:function(){if(this.initHasRun){var e=this.viewOptions.inputEventsInterval,t=this.viewOptions.outputEventsInterval;this.applyOptions(),e!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),t!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}}},{key:"applyOptions",value:function(){if(this.viewOptions=new gJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!yJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!yJ.isNullOrUndefined(this.viewOptions.tickStep)||!yJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!yJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),yJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),yJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=function(e,t){return e+" - "+t}),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}},{key:"applyStepsArrayOptions",value:function(){var e=this;this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,yJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(t){return String(e.viewOptions.bindIndexForStepsArray?e.getStepValue(t):t)}),this.viewOptions.getLegend=function(t){return e.viewOptions.stepsArray[t].legend}}},{key:"applyFloorCeilOptions",value:function(){if(yJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),yJ.isNullOrUndefined(this.viewOptions.ceil)||yJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,yJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(e){return String(e)})}},{key:"resetSlider",value:function(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}},{key:"focusPointer",value:function(e){e!==pJ.Min&&e!==pJ.Max&&(e=pJ.Min),e===pJ.Min?this.minHandleElement.focus():this.range&&e===pJ.Max&&this.maxHandleElement.focus()}},{key:"refocusPointerIfNeeded",value:function(){yJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}},{key:"manageElementsStyle",value:function(){var e=this;this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);var t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(function(){e.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(function(){e.sliderElementAnimateClass=e.viewOptions.animate})}},{key:"manageEventsBindings",value:function(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}},{key:"updateDisabledState",value:function(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}},{key:"updateVerticalState",value:function(){this.sliderElementVerticalClass=this.viewOptions.vertical;var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){var n=e.value;yJ.isNullOrUndefined(n)||n.setVertical(this.viewOptions.vertical)}}catch(i){t.e(i)}finally{t.f()}}},{key:"updateScale",value:function(){var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){e.value.setScale(this.viewOptions.scale)}}catch(n){t.e(n)}finally{t.f()}}},{key:"getAllSliderElements",value:function(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}},{key:"initHandles",value:function(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}},{key:"addAccessibility",value:function(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),yJ.isNullOrUndefined(this.viewOptions.ariaLabel)?yJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",yJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?yJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}},{key:"updateAriaAttributes",value:function(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,vJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,vJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}},{key:"calculateViewDimensions",value:function(){yJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);var e=this.minHandleElement.dimension;this.handleHalfDimension=e/2,yJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-e,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}},{key:"calculateViewDimensionsAndDetectChanges",value:function(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"isRefDestroyed",value:function(){return this.changeDetectionRef.destroyed}},{key:"updateTicksScale",value:function(){var e=this;if(this.viewOptions.showTicks){var t=yJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,n=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();var i=t.map(function(t){var i=e.valueToPosition(t);e.viewOptions.vertical&&(i=e.maxHandlePosition-i);var r=n+"("+Math.round(i)+"px)",o=new EJ;if(o.selected=e.isTickSelected(t),o.style={"-webkit-transform":r,"-moz-transform":r,"-o-transform":r,"-ms-transform":r,transform:r},o.selected&&!yJ.isNullOrUndefined(e.viewOptions.getSelectionBarColor)&&(o.style["background-color"]=e.getSelectionBarColor()),!o.selected&&!yJ.isNullOrUndefined(e.viewOptions.getTickColor)&&(o.style["background-color"]=e.getTickColor(t)),yJ.isNullOrUndefined(e.viewOptions.ticksTooltip)||(o.tooltip=e.viewOptions.ticksTooltip(t),o.tooltipPlacement=e.viewOptions.vertical?"right":"top"),e.viewOptions.showTicksValues&&t%e.viewOptions.tickValueStep==0&&(o.value=e.getDisplayValue(t,vJ.TickValue),yJ.isNullOrUndefined(e.viewOptions.ticksValuesTooltip)||(o.valueTooltip=e.viewOptions.ticksValuesTooltip(t),o.valueTooltipPlacement=e.viewOptions.vertical?"right":"top")),!yJ.isNullOrUndefined(e.viewOptions.getLegend)){var a=e.viewOptions.getLegend(t);yJ.isNullOrUndefined(a)||(o.legend=a)}return o});if(yJ.isNullOrUndefined(this.ticks)||this.ticks.length!==i.length)this.ticks=i;else for(var r=0;r=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&e<=this.viewLowValue)return!0}else{var t=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>t&&e>=t&&e<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&e>=this.viewLowValue&&e<=this.viewHighValue)}},{key:"updateFloorLabel",value:function(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,vJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}},{key:"updateCeilLabel",value:function(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,vJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}},{key:"updateHandles",value:function(e,t){e===pJ.Min?this.updateLowHandle(t):e===pJ.Max&&this.updateHighHandle(t),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}},{key:"getHandleLabelPos",value:function(e,t){var n=e===pJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=t-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&e===pJ.Min||!this.viewOptions.rightToLeft&&e===pJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}},{key:"updateLowHandle",value:function(e){this.minHandleElement.setPosition(e),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,vJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(pJ.Min,e)),yJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(pJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateHighHandle",value:function(e){this.maxHandleElement.setPosition(e),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,vJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(pJ.Max,e)),yJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(pJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateFloorAndCeilLabelsVisibility",value:function(){if(!this.viewOptions.hidePointerLabels){var e=!1,t=!1,n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),o=this.isLabelBelowFloorLabel(this.combinedLabelElement),a=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(e=!0,this.floorLabelElement.hide()):(e=!1,this.floorLabelElement.show()),i?(t=!0,this.ceilLabelElement.hide()):(t=!1,this.ceilLabelElement.show()),this.range){var s=this.combinedLabelElement.isVisible()?a:r,u=this.combinedLabelElement.isVisible()?o:n;s?this.ceilLabelElement.hide():t||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():e||this.floorLabelElement.show()}}}},{key:"isLabelBelowFloorLabel",value:function(e){var t=e.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?t+e.dimension>=n-2:t<=n+this.floorLabelElement.dimension+2}},{key:"isLabelAboveCeilLabel",value:function(e){var t=e.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?t<=n+this.ceilLabelElement.dimension+2:t+e.dimension>=n-2}},{key:"updateSelectionBar",value:function(){var e=0,t=0,n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)t=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),e=i;else if(yJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(t=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),e=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(t=this.minHandleElement.position+this.handleHalfDimension,e=0);else{var r=this.viewOptions.showSelectionBarFromValue,o=this.valueToPosition(r);(this.viewOptions.rightToLeft?this.viewLowValue<=r:this.viewLowValue>r)?(t=this.minHandleElement.position-o,e=o+this.handleHalfDimension):(t=o-this.minHandleElement.position,e=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(t),this.selectionBarElement.setPosition(e),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(e),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.leftOuterSelectionBarElement.setPosition(e+t)):(this.leftOuterSelectionBarElement.setDimension(e),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.rightOuterSelectionBarElement.setPosition(e+t))),yJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!yJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){var a=yJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),s=a-e>0&&!n||a-e<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?s?"bottom":"top":s?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(a+t+e+(s?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=a-e+(s?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{var u=this.getSelectionBarColor();this.barStyle={backgroundColor:u}}}},{key:"getSelectionBarColor",value:function(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}},{key:"getPointerColor",value:function(e){return this.viewOptions.getPointerColor(e===pJ.Max?this.highValue:this.value,e)}},{key:"getTickColor",value:function(e){return this.viewOptions.getTickColor(e)}},{key:"updateCombinedLabel",value:function(){if(this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position){var e=this.getDisplayValue(this.viewLowValue,vJ.Low),t=this.getDisplayValue(this.viewHighValue,vJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(t,e):this.viewOptions.combineLabels(e,t);this.combinedLabelElement.setValue(n);var i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"getDisplayValue",value:function(e,t){return!yJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(e=this.getStepValue(e)),this.viewOptions.translate(e,t)}},{key:"roundStep",value:function(e,t){var n=yJ.isNullOrUndefined(t)?this.viewOptions.step:t,i=_J.roundToPrecisionLimit((e-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,_J.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}},{key:"valueToPosition",value:function(e){var t=yJ.linearValueToPosition;yJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(t=yJ.logValueToPosition):t=this.viewOptions.customValueToPosition;var n=t(e=_J.clampToRange(e,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return yJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}},{key:"positionToValue",value:function(e){var t=e/this.maxHandlePosition;this.viewOptions.rightToLeft&&(t=1-t);var n=yJ.linearPositionToValue;yJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=yJ.logPositionToValue):n=this.viewOptions.customPositionToValue;var i=n(t,this.viewOptions.floor,this.viewOptions.ceil);return yJ.isNullOrUndefined(i)?0:i}},{key:"getEventXY",value:function(e,t){if(e instanceof MouseEvent)return this.viewOptions.vertical?e.clientY:e.clientX;var n=0,i=e.touches;if(!yJ.isNullOrUndefined(t))for(var r=0;ri?pJ.Max:this.viewOptions.rightToLeft?t>this.minHandleElement.position?pJ.Min:pJ.Max:t=this.maxHandlePosition?o=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(o=this.positionToValue(a),o=t&&!yJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(o,this.viewOptions.tickStep):this.roundStep(o)),this.positionTrackingHandle(o)}},{key:"onEnd",value:function(e){bJ.isTouchEvent(e)&&e.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}},{key:"onPointerFocus",value:function(e){var t=this,n=this.getPointerElement(e);n.on("blur",function(){return t.onPointerBlur(n)}),n.on("keydown",function(e){return t.onKeyboardEvent(e)}),n.on("keyup",function(){return t.onKeyUp()}),n.active=!0,this.currentTrackingPointer=e,this.currentFocusPointer=e,this.firstKeyDown=!0}},{key:"onKeyUp",value:function(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}},{key:"onPointerBlur",value:function(e){e.off("blur"),e.off("keydown"),e.off("keyup"),e.active=!1,yJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}},{key:"getKeyActions",value:function(e){var t=this.viewOptions.ceil-this.viewOptions.floor,n=e+this.viewOptions.step,i=e-this.viewOptions.step,r=e+t/10,o=e-t/10;this.viewOptions.reversedControls&&(n=e-this.viewOptions.step,i=e+this.viewOptions.step,r=e-t/10,o=e+t/10);var a={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:o,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(a.LEFT=n,a.RIGHT=i,this.viewOptions.vertical&&(a.UP=i,a.DOWN=n)),a}},{key:"onKeyboardEvent",value:function(e){var t=this.getCurrentTrackingValue(),n=yJ.isNullOrUndefined(e.keyCode)?e.which:e.keyCode,i=this.getKeyActions(t)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(!yJ.isNullOrUndefined(i)&&!yJ.isNullOrUndefined(this.currentTrackingPointer)){e.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));var r=_J.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),o=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){var a,s,u=this.viewHighValue-this.viewLowValue;this.currentTrackingPointer===pJ.Min?(a=o,(s=o+u)>this.viewOptions.ceil&&(a=(s=this.viewOptions.ceil)-u)):this.currentTrackingPointer===pJ.Max&&(s=o,(a=o-u)=this.maxHandlePosition-t;if(o<=n){if(0===i.position)return;a=this.getMinValue(o,!0,!1),s=this.getMaxValue(o,!0,!1)}else if(u){if(r.position===this.maxHandlePosition)return;s=this.getMaxValue(o,!0,!0),a=this.getMinValue(o,!0,!0)}else a=this.getMinValue(o,!1,!1),s=this.getMaxValue(o,!1,!1);this.positionTrackingBar(a,s)}},{key:"positionTrackingBar",value:function(e,t){!yJ.isNullOrUndefined(this.viewOptions.minLimit)&&ethis.viewOptions.maxLimit&&(e=_J.roundToPrecisionLimit((t=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=e,this.viewHighValue=t,this.applyViewChange(),this.updateHandles(pJ.Min,this.valueToPosition(e)),this.updateHandles(pJ.Max,this.valueToPosition(t))}},{key:"positionTrackingHandle",value:function(e){e=this.applyMinMaxLimit(e),this.range&&(this.viewOptions.pushRange?e=this.applyPushRange(e):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===pJ.Min&&e>this.viewHighValue?e=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===pJ.Max&&ethis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(pJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=pJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===pJ.Max&&ethis.viewOptions.maxLimit?this.viewOptions.maxLimit:e}},{key:"applyMinMaxRange",value:function(e){var t=Math.abs(e-(this.currentTrackingPointer===pJ.Min?this.viewHighValue:this.viewLowValue));if(!yJ.isNullOrUndefined(this.viewOptions.minRange)&&tthis.viewOptions.maxRange){if(this.currentTrackingPointer===pJ.Min)return _J.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===pJ.Max)return _J.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return e}},{key:"applyPushRange",value:function(e){var t=this.currentTrackingPointer===pJ.Min?this.viewHighValue-e:e-this.viewLowValue,n=yJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ti&&(this.currentTrackingPointer===pJ.Min?(this.viewHighValue=_J.roundToPrecisionLimit(e+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(pJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===pJ.Max&&(this.viewLowValue=_J.roundToPrecisionLimit(e-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(pJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),e}},{key:"getChangeContext",value:function(){var e=new mJ;return e.pointerType=this.currentTrackingPointer,e.value=+this.value,this.range&&(e.highValue=+this.highValue),e}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Cc),Os(Xl))},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,qZ,5),2&e)&&(ml(i=_l())&&(t.tooltipTemplate=i.first))},viewQuery:function(e,t){var n;(1&e&&(yl(XZ,5,xJ),yl(YZ,5,xJ),yl(KZ,5,xJ),yl($Z,5,xJ),yl(QZ,5,SJ),yl(ZZ,5,SJ),yl(JZ,5,CJ),yl(eJ,5,CJ),yl(tJ,5,CJ),yl(nJ,5,CJ),yl(iJ,5,CJ),yl(rJ,5,xJ)),2&e)&&(ml(n=_l())&&(t.leftOuterSelectionBarElement=n.first),ml(n=_l())&&(t.rightOuterSelectionBarElement=n.first),ml(n=_l())&&(t.fullBarElement=n.first),ml(n=_l())&&(t.selectionBarElement=n.first),ml(n=_l())&&(t.minHandleElement=n.first),ml(n=_l())&&(t.maxHandleElement=n.first),ml(n=_l())&&(t.floorLabelElement=n.first),ml(n=_l())&&(t.ceilLabelElement=n.first),ml(n=_l())&&(t.minHandleLabelElement=n.first),ml(n=_l())&&(t.maxHandleLabelElement=n.first),ml(n=_l())&&(t.combinedLabelElement=n.first),ml(n=_l())&&(t.ticksElement=n.first))},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(e,t){1&e&&Vs("resize",function(e){return t.onResize(e)},!1,io),2&e&&(ks("disabled",t.sliderElementDisabledAttr),cu("vertical",t.sliderElementVerticalClass)("animate",t.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[Xu([AJ]),qt],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(e,t){1&e&&(As(0,"span",0,1),Is(2,"span",2),Ms(),As(3,"span",3,4),Is(5,"span",2),Ms(),As(6,"span",5,6),Is(8,"span",2),Ms(),As(9,"span",7,8),Is(11,"span",9),Ms(),Is(12,"span",10,11),Is(14,"span",12,13),Is(16,"span",14,15),Is(18,"span",16,17),Is(20,"span",18,19),Is(22,"span",20,21),Is(24,"span",22,23),As(26,"span",24,25),Cs(28,uJ,4,9,"span",26),Ms()),2&e&&(Yo(6),cu("ng5-slider-transparent",t.fullBarTransparentClass),Yo(3),cu("ng5-slider-draggable",t.selectionBarDraggableClass),Yo(2),Ts("ngStyle",t.barStyle),Yo(1),Ts("ngStyle",t.minPointerStyle),Yo(2),uu("display",t.range?"inherit":"none"),Ts("ngStyle",t.maxPointerStyle),Yo(12),cu("ng5-slider-ticks-values-under",t.ticksUnderValuesClass),Ts("hidden",!t.showTicks),Yo(2),Ts("ngForOf",t.ticks))},directives:function(){return[xJ,td,SJ,CJ,qh,Gh,IJ,Yh]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),e}(),IJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(e,t){1&e&&(Cs(0,dJ,2,6,"ng-container",0),Cs(1,fJ,3,3,"ng-container",0)),2&e&&(Ts("ngIf",t.template),Yo(1),Ts("ngIf",!t.template))},directives:[Yh,nd],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),e}(),RJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),DJ=["popover"];function NJ(e,t){if(1&e){var n=Ls();As(0,"div",7,8),As(2,"div"),As(3,"div",9),Cu(4),Ms(),As(5,"input",10),Vs("keyup",function(e){return bn(n),Ws().onKeyLow(e)}),Ms(),Ms(),As(6,"ng5-slider",11),Vs("valueChange",function(e){return bn(n),Ws().lowValue=e})("highValueChange",function(e){return bn(n),Ws().highValue=e})("userChangeEnd",function(){return bn(n),Ws().sliderValueChanged()}),Ms(),As(7,"div"),As(8,"div",12),Cu(9),Ms(),As(10,"input",13),Vs("keyup",function(e){return bn(n),Ws().onKeyHigh(e)}),Ms(),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Pu("label min fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.floor,"> "),Yo(1),Ks("value",i.lowValue),Yo(1),Pu("slider fade-in ",i.contentsVisible,""),Ts("options",i.options)("value",i.lowValue)("highValue",i.highValue),Yo(1),Pu("label max fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.ceil," "),Yo(1),Ks("value",i.highValue)}}var LJ=function(){var e=function(){function e(t,n,i){m(this,e),this.element=n,this.ga=i,this.selectionChange=new ol,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;var r=t.position().flexibleConnectedTo(n).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:r})}return b(e,[{key:"rangeLabel",get:function(){var e=this.lowValue,t=this.highValue;return e===t?"".concat(e):"".concat(e,"-").concat(t)}},{key:"ngOnChanges",value:function(e){e.valueRange&&this.optionsChanged(),e.selection&&(this.lowValue=Math.min.apply(Math,v(this.selection)),this.highValue=Math.max.apply(Math,v(this.selection)))}},{key:"optionsChanged",value:function(){var e,t;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(e=this.options.floor)&&void 0!==e?e:0,this.highValue=null!==(t=this.options.ceil)&&void 0!==t?t:0}},{key:"ngOnDestroy",value:function(){this.overlayRef.dispose()}},{key:"closeSliderPopover",value:function(e){var t,n,i=this.element,r=this.isSliderOpen,o=this.popoverElement;r&&(i.nativeElement.contains(e)||(null===(n=null===(t=null==o?void 0:o.nativeElement)||void 0===t?void 0:t.contains)||void 0===n?void 0:n.call(t,e))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}},{key:"toggleSliderPopover",value:function(){var e=this.isSliderOpen,t=this.isSliderInitialized;t?(this.overlayRef.detach(),this.isSliderInitialized=!1):!t&&!e&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!e}},{key:"sliderValueChanged",value:function(){var e=this.lowValue,t=this.highValue;this.selection=[e,t],this.ga.event("slider_range_change","dual_slider","".concat(this.label,":").concat(e,":").concat(t)),this.selectionChange.emit(this.selection)}},{key:"initializeSliderPopover",value:function(){var e=this.overlayRef,t=this.popoverPortal;e.attach(t),e.updatePosition(),this.isSliderInitialized=!0}},{key:"onKeyLow",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.lowValue=t),e.target.value=String(this.lowValue),e.target.blur(),this.sliderValueChanged())}},{key:"onKeyHigh",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.highValue=t),e.target.value=String(this.highValue),e.target.blur(),this.sliderValueChanged())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dual-slider"]],viewQuery:function(e,t){var n;(1&e&&(yl(vp,7),yl(DJ,5,Ju)),2&e)&&(ml(n=_l())&&(t.popoverPortal=n.first),ml(n=_l())&&(t.popoverElement=n.first))},hostBindings:function(e,t){1&e&&Vs("click",function(e){return t.closeSliderPopover(e.target)},!1,ro)("touchstart",function(e){return t.closeSliderPopover(e.target)},!1,ro)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[qt],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cs(2,NJ,11,16,"div",2),As(3,"mat-form-field",3),Vs("click",function(){return t.toggleSliderPopover()}),As(4,"div",4),As(5,"span",5),Cu(6),Ms(),As(7,"span",6),Cu(8),Ms(),Ms(),Is(9,"mat-select"),Ms(),Ms(),Ms()),2&e&&(Yo(3),cu("highlight",t.isSliderOpen),Yo(3),Eu(t.label),Yo(2),Eu(t.rangeLabel))},directives:[gp,RH,BZ,MJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),e}();function jJ(e,t){if(1&e){var n=Ls();As(0,"div",4),As(1,"mat-checkbox",5),Vs("change",function(e){var t=bn(n).$implicit;return Ws().filterOnChange(e,t)}),Cu(2),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("checked",null==r.selection?null:r.selection.includes(i)),Yo(1),Ou(" ",i," ")}}var FJ,BJ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new ol}return b(e,[{key:"filterOnChange",value:function(e,t){e.checked?(this.selection=[].concat(v(this.selection),[t]),this.ga.event("filter_added","filter_checkbox",t)):(this.selection=this.selection.filter(function(e){return e!==t}),this.ga.event("filter_removed","filter_checkbox",t)),this.selectionChange.emit(this.selection)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"div",2),Cs(4,jJ,3,2,"div",3),Ms(),Ms()),2&e&&(Yo(2),Eu(t.label),Yo(1),cu("three",3===t.columns)("four",4===t.columns),Yo(1),Ts("ngForOf",t.options))},directives:[qh,ZK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),e}(),VJ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Really update spatial search data",e}(),zJ=FJ=function(){function e(t,n,i,r){m(this,e),this.dataSource=t,this.store=n,this.ga=r,i.pipe(sz(yZ),_v(500),mv(function(){return n.dispatch(VJ)})).subscribe()}return b(e,[{key:"startSpatialSearchFlow",value:function(e){var t=e.getState(),n=t.sex,i=t.organId,r=null==i?void 0:i.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui","".concat(n,"_").concat(r)),e.dispatch(new hZ(n))}},{key:"setSex",value:function(e,t){var n=t.sex,i=e.getState().organId;e.patchState({sex:n}),this.ga.event("set_sex","spatial_search_ui",n),void 0!==i&&!this.organValidForSex(i,n)&&(i=void 0);var r=Object.assign(Object.assign({},this.store.selectSnapshot(CQ.filter)),{spatialSearches:[]}),o=this.store.selectSnapshot(jQ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(r).pipe(_p(1),mv(function(t){e.patchState({referenceOrgans:o.filter(function(e){return e.id&&!e.disabled&&t[e.id]>0})}),e.dispatch(new dZ(i))}))}},{key:"setOrgan",value:function(e,t){var n=t.organId,i=e.getState().sex;e.patchState({sex:i,organId:n});var r=null==n?void 0:n.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",r);var o=this.store.selectSnapshot(FJ.organEntity);if(o&&n&&o.sex){var a=o.x_dimension,s=o.y_dimension,u=o.z_dimension,c={x:Math.round(a/2),y:Math.round(s/2),z:Math.round(u/2)},l=Math.round(.07*Math.max(a,s,u)),h=this.store.selectSnapshot(CQ.filter),d=Object.assign(Object.assign({},h),{sex:o.sex,ontologyTerms:[n],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(n,d).pipe(_p(1),mv(function(t){e.patchState({position:c,radius:l,defaultPosition:c,radiusSettings:{min:Math.min(l,5),max:Math.floor(Math.max(a,s,u)/1.5),defaultValue:l},organScene:KY(o).concat(t)})}),ke(function(){return e.dispatch(new yZ)}))}}},{key:"setPosition",value:function(e,t){var n=t.position;e.patchState({position:n}),e.dispatch(new yZ);var i=n.x,r=n.y,o=n.z;this.ga.event("set_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"resetPosition",value:function(e){var t=e.getState().defaultPosition;e.patchState({position:t}),e.dispatch(new yZ);var n=null!=t?t:{x:0,y:0,z:0},i=n.x,r=n.y,o=n.z;this.ga.event("reset_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"moveToNode",value:function(e,n){var i=n.node,r=t(new $O(i.transformMatrix).getTranslation().map(function(e){return Math.round(1e3*e)}),3),o=r[0],a=r[1],s=r[2];return e.dispatch(new fZ({x:o,y:a,z:s}))}},{key:"setRadius",value:function(e,t){var n=t.radius;e.patchState({radius:n}),e.dispatch(new yZ),this.ga.event("set_radius","spatial_search_ui",n.toFixed(1))}},{key:"resetRadius",value:function(e){var t,n=e.getState().radiusSettings,i=null!==(t=null==n?void 0:n.defaultValue)&&void 0!==t?t:0;e.patchState({radius:i}),e.dispatch(new yZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}},{key:"updateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=this.store.selectSnapshot(FJ.organEntity);if(r&&n&&i&&r.representation_of){var o=this.dataSource,a=r.representation_of,s=this.store.selectSnapshot(CQ.filter),u=Object.assign(Object.assign({},s),{sex:r.sex,ontologyTerms:[a],spatialSearches:[Object.assign(Object.assign({},n),{radius:i,target:r["@id"]})]});return jb({spatialSearchScene:o.getReferenceOrganScene(a,u).pipe(_p(1)),tissueBlocks:o.getTissueBlockResults(u).pipe(_p(1)),anatomicalStructures:o.getOntologyTermOccurences(u).pipe(_p(1)),cellTypes:o.getCellTypeTermOccurences(u).pipe(_p(1))}).pipe(mv(function(t){return e.patchState(t)}))}}},{key:"generateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=t.sex,o=t.organId,a=t.referenceOrgans,s=void 0===a?[]:a,u=t.executeSearchOnGeneration,c=this.store.selectSnapshot(FJ.organEntity),l=s.find(function(e){return e.id===o});if(n&&i&&(null==c?void 0:c.representation_of)&&l){var h=Object.assign(Object.assign({},n),{radius:i,target:c["@id"]}),d=[new EQ(r,l.name,h)];if(u){var f=this.store.selectSnapshot(AQ.selectedSearches);d.push(new bQ({spatialSearches:f.concat(h)}))}return this.ga.event("generate_search","spatial_search_ui"),e.dispatch(d).pipe(mv(function(){return e.patchState({sex:"female",organId:void 0})}))}}},{key:"setExecuteSearchOnGenerate",value:function(e,t){var n=t.execute;e.patchState({executeSearchOnGeneration:n})}},{key:"organValidForSex",value:function(e,t){var n=this.store.selectSnapshot(jQ.referenceOrgans).find(function(t){return t.id===e});return n.hasSex||n.sex===t}}],[{key:"organEntity",value:function(e,t){var n=e.organId,i=e.sex;return t.find(function(e){var t;return e.representation_of===n&&(null===(t=e.sex)||void 0===t?void 0:t.toLowerCase())===i})}}]),e}();zJ.\u0275fac=function(e){return new(e||zJ)(Zi(R$),Zi(Pz),Zi(fz),Zi(yq))},zJ.\u0275prov=$e({token:zJ,factory:zJ.\u0275fac}),Mw([jz(lZ)],zJ.prototype,"startSpatialSearchFlow",null),Mw([jz(hZ)],zJ.prototype,"setSex",null),Mw([jz(dZ)],zJ.prototype,"setOrgan",null),Mw([jz(fZ)],zJ.prototype,"setPosition",null),Mw([jz(vZ)],zJ.prototype,"resetPosition",null),Mw([jz(pZ)],zJ.prototype,"moveToNode",null),Mw([jz(gZ)],zJ.prototype,"setRadius",null),Mw([jz(mZ)],zJ.prototype,"resetRadius",null),Mw([jz(VJ)],zJ.prototype,"updateSpatialSearch",null),Mw([jz(bZ)],zJ.prototype,"generateSpatialSearch",null),Mw([jz(_Z)],zJ.prototype,"setExecuteSearchOnGenerate",null),Mw([Vz([FJ,jQ.referenceOrganEntities])],zJ,"organEntity",null),zJ=FJ=Mw([Fz({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],zJ);var UJ=function(){function e(){m(this,e)}return b(e,null,[{key:"sex",value:function(e){return e.sex}},{key:"referenceOrgans",value:function(e){var t;return null!==(t=e.referenceOrgans)&&void 0!==t?t:[]}},{key:"organId",value:function(e){return e.organId}},{key:"organ",value:function(e,t){if(void 0!==e)return t.find(function(t){return t.id===e})}},{key:"organs",value:function(e,t){var n=this;return t.filter(function(t){return n.organMatchesSex(t,e)})}},{key:"organMatchesSex",value:function(e,t){return e.hasSex||e.sex===t}},{key:"position",value:function(e){var t;return null!==(t=e.position)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"defaultPosition",value:function(e){var t;return null!==(t=e.defaultPosition)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"radius",value:function(e){var t;return null!==(t=e.radius)&&void 0!==t?t:0}},{key:"radiusSettings",value:function(e){var t;return null!==(t=e.radiusSettings)&&void 0!==t?t:{min:0,max:0,defaultValue:0}}},{key:"scene",value:function(e,t,n,i){var r,o,a=function(e,t){var n,i=e.x_dimension/1e3,r=e.y_dimension/1e3,o=e.z_dimension/1e3,a=.07*Math.max(i,r,o),s=.05*a,u=2*a,c=4*s;return t=t?Object.assign(Object.assign({},t),{radius:t.radius/1e3,x:t.x/1e3,y:t.y/1e3,z:t.z/1e3}):{target:null!==(n=e.representation_of)&&void 0!==n?n:e["@id"],radius:a,x:i/2,y:r/2,z:o/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z]).scale(t.radius),color:zY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u,t.y,t.z]).rotateZ(cS(-90)).scale([c,3*c,c]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u+3*c,t.y,t.z]).scale(c),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u,t.y,t.z]).rotateZ(cS(90)).scale([c,3*c,c]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u-3.5*c,t.y,t.z]).scale(c),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u/2,t.z]).scale([s,u,s]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u,t.z]).scale([c,3*c,c]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u+3*c,t.z]).scale(c),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u/2,t.z]).scale([s,u,s]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u,t.z]).rotateZ(cS(180)).scale([c,3*c,c]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u-3.5*c,t.z]).scale(c),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u/2]).rotateX(cS(90)).scale([s,u,s]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u]).rotateX(cS(90)).scale([c,3*c,c]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u+3*c]).scale(c),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u/2]).rotateX(cS(-90)).scale([s,u,s]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u]).rotateX(cS(-90)).scale([c,3*c,c]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u-3.5*c]).scale(c),color:GY}]}(t,Object.assign(Object.assign({},n),{radius:i,target:t["@id"]})),s=new Set((null!==(r=e.tissueBlocks)&&void 0!==r?r:[]).map(function(e){return e.spatialEntityId}));return(null!==(o=e.organScene)&&void 0!==o?o:[]).map(function(e){return s.has(e["@id"])&&(e=Object.assign(Object.assign({},e),{color:[41,121,255,229.5]})),e}).concat(a)}},{key:"sceneBounds",value:function(e){var t=e.x_dimension,n=e.y_dimension,i=e.z_dimension,r=.42*Math.max(t,n,i);return{x:(r+t)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}},{key:"sceneTarget",value:function(e){return[e.x_dimension/1e3/2,e.y_dimension/1e3/2,e.z_dimension/1e3/2]}},{key:"tissueBlocks",value:function(e){var t;return null!==(t=e.tissueBlocks)&&void 0!==t?t:[]}},{key:"anatomicalStructures",value:function(e,t){return this.getTermCounts(e.anatomicalStructures,t)}},{key:"cellTypes",value:function(e,t){return this.getTermCounts(e.cellTypes,t)}},{key:"getTermCounts",value:function(e,n){return Object.entries(null!=e?e:{}).filter(function(e){var n=t(e,2);n[0];return n[1]>0}).map(function(e){var i,r,o=t(e,2),a=o[0],s=o[1];return{"@id":a,label:null!==(r=null===(i=n.nodes[a])||void 0===i?void 0:i.label)&&void 0!==r?r:a.split("/").slice(-1)[0],count:s}})}}]),e}();function HJ(e,t){if(1&e&&(As(0,"div",6),As(1,"mat-icon",7),Cu(2,"person"),Ms(),As(3,"div",8),As(4,"div",9),Cu(5),Ms(),As(6,"div",9),Cu(7),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(5),Eu(n.donor.label),Yo(2),Eu(n.donor.description)}}UJ.organEntity=zJ.organEntity,Mw([Vz([zJ])],UJ,"sex",null),Mw([Vz([zJ])],UJ,"referenceOrgans",null),Mw([Vz([zJ])],UJ,"organId",null),Mw([Vz([UJ.organId,UJ.referenceOrgans])],UJ,"organ",null),Mw([Vz([UJ.sex,UJ.referenceOrgans])],UJ,"organs",null),Mw([Vz([zJ])],UJ,"position",null),Mw([Vz([zJ])],UJ,"defaultPosition",null),Mw([Vz([zJ])],UJ,"radius",null),Mw([Vz([zJ])],UJ,"radiusSettings",null),Mw([Vz([zJ,zJ.organEntity,UJ.position,UJ.radius])],UJ,"scene",null),Mw([Vz([zJ.organEntity])],UJ,"sceneBounds",null),Mw([Vz([zJ.organEntity])],UJ,"sceneTarget",null),Mw([Vz([zJ])],UJ,"tissueBlocks",null),Mw([Vz([zJ,CQ.anatomicalStructuresTreeModel])],UJ,"anatomicalStructures",null),Mw([Vz([zJ,CQ.cellTypesTreeModel])],UJ,"cellTypes",null);var GJ=function(){var e=function e(){m(this,e),this.className="ccf-tissue-block-list",this.tissueBlocks=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"button",2),As(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),As(6,"div",4),Cs(7,HJ,8,2,"div",5),Ms()),2&e&&(Yo(2),Ou("",t.tissueBlocks.length," Tissue Blocks"),Yo(5),Ts("ngForOf",t.tissueBlocks))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function WJ(e,t){if(1&e&&(As(0,"div",6),As(1,"div",7),As(2,"div",8),Cu(3),Ms(),As(4,"div",8),Cu(5),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(3),Eu(n.label),Yo(2),Eu(n.count)}}var qJ=function(){var e=function e(){m(this,e),this.className="ccf-term-occurrence-list",this.termList=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"button",2),As(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),As(6,"div",4),Cs(7,WJ,6,2,"div",5),Ms()),2&e&&(Yo(2),Tu("",t.termList.length," ",t.title,""),Yo(2),Ks("matTooltip",t.toolTipText),Yo(3),Ts("ngForOf",t.termList))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),e}();function XJ(e,t){if(1&e&&(As(0,"mat-icon",8),Cu(1),Ms()),2&e){var n=t.$implicit;cu("active",Ws().currentKey===n.key),Yo(1),Ou("",n.direction," ")}}function YJ(e,t){1&e&&(As(0,"div",9),Cu(1,"SHIFT"),Ms())}var KJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new ol,this.keyHovered=new ol,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(e,t){1&e&&(As(0,"div",0),Cs(1,XJ,2,3,"mat-icon",1),Ms(),As(2,"div",2),As(3,"div",3),As(4,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("q")})("mouseover",function(){return t.keyHovered.emit("q")})("mouseout",function(){return t.keyHovered.emit()}),Cu(5,"Q"),Ms(),As(6,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("w")})("mouseover",function(){return t.keyHovered.emit("w")})("mouseout",function(){return t.keyHovered.emit()}),Cu(7,"W"),Ms(),As(8,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("e")})("mouseover",function(){return t.keyHovered.emit("e")})("mouseout",function(){return t.keyHovered.emit()}),Cu(9,"E"),Ms(),Ms(),As(10,"div",3),As(11,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("a")})("mouseover",function(){return t.keyHovered.emit("a")})("mouseout",function(){return t.keyHovered.emit()}),Cu(12,"A"),Ms(),As(13,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("s")})("mouseover",function(){return t.keyHovered.emit("s")})("mouseout",function(){return t.keyHovered.emit()}),Cu(14,"S"),Ms(),As(15,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("d")})("mouseover",function(){return t.keyHovered.emit("d")})("mouseout",function(){return t.keyHovered.emit()}),Cu(16,"D"),Ms(),Ms(),Cs(17,YJ,2,0,"div",7),Ms()),2&e&&(Yo(1),Ts("ngForOf",t.keyMap),Yo(3),cu("highlighted","q"===t.currentKey),Yo(2),cu("highlighted","w"===t.currentKey),Yo(2),cu("highlighted","e"===t.currentKey),Yo(3),cu("highlighted","a"===t.currentKey),Yo(2),cu("highlighted","s"===t.currentKey),Yo(2),cu("highlighted","d"===t.currentKey),Yo(2),Ts("ngIf",t.shiftPressed))},directives:[qh,Yh,B_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),e}(),$J=function(){var e=function(){function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new ol,this.shiftPressed=!1}return b(e,[{key:"updatePosition",value:function(e){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===e)this.shiftPressed=!0;else{switch(this.currentKey=e.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}},{key:"handleKey",value:function(e){e.preventDefault(),this.updatePosition(e.key)}},{key:"keyUp",value:function(e){"Shift"===e.key?this.shiftPressed=!1:this.currentKey=void 0}},{key:"keyClick",value:function(e){this.updatePosition(e)}},{key:"keyHover",value:function(e){this.currentKey=e}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t.handleKey(e)},!1,ro)("keyup",function(e){return t.keyUp(e)},!1,ro),2&e&&du(t.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(e,t){1&e&&(As(0,"ccf-spatial-search-keyboard-ui",0),Vs("keyClicked",function(e){return t.keyClick(e)})("keyHovered",function(e){return t.keyHover(e)}),Ms()),2&e&&Ts("currentKey",t.currentKey)("shiftPressed",t.shiftPressed)},directives:[KJ],encapsulation:2,changeDetection:0}),e}(),QJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-ui",this.addSpatialSearch=new ol,this.resetPosition=new ol,this.resetSphere=new ol,this.closeSpatialSearch=new ol,this.radiusChange=new ol,this.positionChange=new ol,this.editReferenceOrganClicked=new ol,this.infoClicked=new ol,this.nodeClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(e,t){if(1&e){var n=Ls();As(0,"div",0),As(1,"div",1),Cu(2,"Configure Spatial Search"),Ms(),As(3,"button",2),As(4,"mat-icon",3),Vs("click",function(){return t.infoClicked.emit()}),Cu(5,"info"),Ms(),Ms(),As(6,"button",4),As(7,"mat-icon",3),Vs("click",function(){return t.closeSpatialSearch.emit()}),Cu(8,"close"),Ms(),Ms(),Ms(),As(9,"div",5),As(10,"div",6),As(11,"div",7),As(12,"div",8),As(13,"div",9),Cu(14,"Donor Sex: "),Ms(),As(15,"div",10),Cu(16),Ms(),Ms(),As(17,"div",11),As(18,"div",9),Cu(19,"Organ: "),Ms(),As(20,"div",12),Cu(21),Ms(),Ms(),As(22,"div",13),Vs("click",function(){return t.editReferenceOrganClicked.emit()}),Cu(23,"Edit"),Ms(),Ms(),Is(24,"mat-divider"),As(25,"div",14),As(26,"div",1),Cu(27,"Probing Sphere Radius"),Ms(),As(28,"div",15),As(29,"mat-slider",16),Vs("input",function(e){return t.radiusChange.emit(e.value)}),Ms(),As(30,"span",17),Cu(31),Ms(),Ms(),As(32,"div",18),As(33,"button",19),Vs("click",function(){return t.resetSphere.emit(),t.resetPosition.emit()}),Cu(34,"Reset Probing Sphere"),Ms(),As(35,"button",20),Vs("click",function(){bn(n);var e=Es(49),i=Es(52);return e.rotation=e.rotationX=i.rotation=i.rotationX=0,e.target=i.target=t.sceneTarget,e.bounds=i.bounds=t.sceneBounds}),Cu(36,"Reset Camera View"),Ms(),Ms(),Ms(),Is(37,"mat-divider"),As(38,"div",21),Is(39,"ccf-tissue-block-list",22),Is(40,"ccf-term-occurrence-list",23),Is(41,"ccf-term-occurrence-list",24),Ms(),As(42,"button",25),Vs("click",function(){return t.addSpatialSearch.emit()}),Cu(43,"Run Spatial Search"),Ms(),Ms(),As(44,"div",26),As(45,"div",27),As(46,"div",28),Cu(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),Ms(),As(48,"ccf-body-ui",29,30),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)})("rotationChange",function(e){bn(n);var t=Es(52);return t.rotation=e[0],t.rotationX=e[1]}),Ms(),Ms(),As(50,"div",31),As(51,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)}),Ms(),As(53,"ccf-spatial-search-keyboard-ui-behavior",34),Vs("changePosition",function(e){return t.positionChange.emit(e)}),Ms(),Is(54,"ccf-xyz-position",35),Ms(),Ms(),Ms()}2&e&&(Yo(16),Eu(t.sex.charAt(0).toUpperCase()+t.sex.slice(1)),Yo(5),Eu(t.referenceOrgan.name),Yo(8),Ts("max",t.radiusSettings.max)("min",t.radiusSettings.min)("step",1)("value",t.radius),Yo(2),Ou("",t.radius," mm"),Yo(2),cu("disabled",t.radius===t.radiusSettings.defaultValue&&t.position===t.defaultPosition),Yo(6),Ts("tissueBlocks",t.tissueBlocks),Yo(1),Ts("termList",t.anatomicalStructures),Yo(1),Ts("termList",t.cellTypes),Yo(1),cu("disabled",0===(null==t.tissueBlocks?null:t.tissueBlocks.length)),Yo(6),Ts("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(3),Ts("interactive",!1)("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(2),Ts("delta",1)("shiftDelta",2)("position",t.position),Yo(1),Ts("x",t.position.x)("y",t.position.y)("z",t.position.z))},directives:[q_,B_,TK,_G,GJ,qJ,n$,$J,rQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),e}();function ZJ(e,t){if(1&e){var n=Ls();As(0,"ccf-spatial-search-ui",1),Vs("addSpatialSearch",function(){return bn(n),Ws().addSpatialSearch()})("radiusChange",function(e){return bn(n),Ws().updateRadius(e)})("resetPosition",function(){return bn(n),Ws().resetPosition()})("resetSphere",function(){return bn(n),Ws().resetRadius()})("positionChange",function(e){return bn(n),Ws().updatePosition(e)})("closeSpatialSearch",function(){return bn(n),Ws().close()})("editReferenceOrganClicked",function(){return bn(n),Ws().openSpatialSearchConfig()})("infoClicked",function(){return bn(n),Ws().onDialogButtonClick()})("nodeClicked",function(e){return bn(n),Ws().moveToNode(e)}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Jc(5,"async"),Jc(6,"async"),Jc(7,"async"),Jc(8,"async"),Jc(9,"async"),Jc(10,"async"),Jc(11,"async"),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("sex",el(1,12,r.sex$))("referenceOrgan",i)("radius",el(2,14,r.radius$))("radiusSettings",el(3,16,r.radiusSettings$))("defaultPosition",el(4,18,r.defaultPosition$))("position",el(5,20,r.position$))("scene",el(6,22,r.scene$))("sceneBounds",el(7,24,r.sceneBounds$))("sceneTarget",el(8,26,r.sceneTarget$))("tissueBlocks",el(9,28,r.tissueBlocks$))("anatomicalStructures",el(10,30,r.anatomicalStructures$))("cellTypes",el(11,32,r.cellTypes$))}}var JJ=function(){function e(t,n,i){m(this,e),this.dialogRef=t,this.dialog=n,this.infoService=i,this.updatePosition=fQ(fZ),this.resetPosition=fQ(vZ),this.moveToNode=fQ(pZ),this.updateRadius=fQ(gZ),this.resetRadius=fQ(mZ),this.subscriptions=new q}return b(e,[{key:"launchInfoDialog",value:function(e){this.subscriptions.unsubscribe(),this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"close",value:function(){this.dialogRef.close()}},{key:"addSpatialSearch",value:function(){return this.close(),new bZ}},{key:"openSpatialSearchConfig",value:function(){this.close(),this.dialog.open(g0)}}]),e}();JJ.\u0275fac=function(e){return new(e||JJ)(Os(MG),Os(FG),Os(k$))},JJ.\u0275cmp=Ot({type:JJ,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(e,t){1&e&&(Cs(0,ZJ,12,34,"ccf-spatial-search-ui",0),Jc(1,"async")),2&e&&Ts("ngIf",el(1,1,t.organ$))},directives:[Yh,QJ],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(UJ.scene)],JJ.prototype,"scene$",void 0),Mw([Bz(UJ.sceneBounds)],JJ.prototype,"sceneBounds$",void 0),Mw([Bz(UJ.sceneTarget)],JJ.prototype,"sceneTarget$",void 0),Mw([Bz(UJ.sex)],JJ.prototype,"sex$",void 0),Mw([Bz(UJ.organ)],JJ.prototype,"organ$",void 0),Mw([Bz(UJ.position)],JJ.prototype,"position$",void 0),Mw([Bz(UJ.defaultPosition)],JJ.prototype,"defaultPosition$",void 0),Mw([Bz(UJ.radius)],JJ.prototype,"radius$",void 0),Mw([Bz(UJ.radiusSettings)],JJ.prototype,"radiusSettings$",void 0),Mw([Bz(UJ.tissueBlocks)],JJ.prototype,"tissueBlocks$",void 0),Mw([Bz(UJ.anatomicalStructures)],JJ.prototype,"anatomicalStructures$",void 0),Mw([Bz(UJ.cellTypes)],JJ.prototype,"cellTypes$",void 0),Mw([EK()],JJ.prototype,"updatePosition",void 0),Mw([EK()],JJ.prototype,"resetPosition",void 0),Mw([EK()],JJ.prototype,"moveToNode",void 0),Mw([EK()],JJ.prototype,"updateRadius",void 0),Mw([EK()],JJ.prototype,"resetRadius",void 0),Mw([EK()],JJ.prototype,"addSpatialSearch",null);var e0=["input"],t0=function(e){return{enterDuration:e}},n0=["*"],i0=new Ri("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}}),r0=0,o0={provide:Hz,useExisting:He(function(){return c0}),multi:!0},a0=function e(t,n){m(this,e),this.source=t,this.value=n},s0=new Ri("MatRadioGroup"),u0=function(){var e=function(){function e(t){m(this,e),this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+r0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=function(){},this.onTouched=function(){},this.change=new ol}return b(e,[{key:"name",get:function(){return this._name},set:function(e){this._name=e,this._updateRadioButtonNames()}},{key:"labelPosition",get:function(){return this._labelPosition},set:function(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}},{key:"_checkSelectedRadioButton",value:function(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}},{key:"selected",get:function(){return this._selected},set:function(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._markRadiosForCheck()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this._markRadiosForCheck()}},{key:"ngAfterContentInit",value:function(){this._isInitialized=!0}},{key:"_touch",value:function(){this.onTouched&&this.onTouched()}},{key:"_updateRadioButtonNames",value:function(){var e=this;this._radios&&this._radios.forEach(function(t){t.name=e.name,t._markForCheck()})}},{key:"_updateSelectedRadioFromValue",value:function(){var e=this;this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(function(t){t.checked=e.value===t.value,t.checked&&(e._selected=t)}))}},{key:"_emitChangeEvent",value:function(){this._isInitialized&&this.change.emit(new a0(this._selected,this._value))}},{key:"_markRadiosForCheck",value:function(){this._radios&&this._radios.forEach(function(e){return e._markForCheck()})}},{key:"writeValue",value:function(e){this.value=e,this._changeDetector.markForCheck()}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetector.markForCheck()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),e}(),c0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(u0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["mat-radio-group"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,d0,5),2&e)&&(ml(i=_l())&&(t._radios=i))},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Xu([o0,{provide:s0,useExisting:t}]),cs]}),t}(),l0=sb(ub(function e(t){m(this,e),this._elementRef=t})),h0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,i))._changeDetector=r,l._focusMonitor=o,l._radioDispatcher=a,l._providerOverride=u,l._uniqueId="mat-radio-"+ ++r0,l.id=l._uniqueId,l.change=new ol,l._checked=!1,l._value=null,l._removeUniqueSelectionListener=function(){},l.radioGroup=e,l._noopAnimations="NoopAnimations"===s,c&&(l.tabIndex=qd(c,0)),l._removeUniqueSelectionListener=a.listen(function(e,t){e!==l.id&&t===l.name&&(l.checked=!1)}),l}return b(n,[{key:"checked",get:function(){return this._checked},set:function(e){var t=Wd(e);this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}},{key:"labelPosition",get:function(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function(e){this._labelPosition=e}},{key:"disabled",get:function(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled},set:function(e){this._setDisabled(Wd(e))}},{key:"required",get:function(){return this._required||this.radioGroup&&this.radioGroup.required},set:function(e){this._required=Wd(e)}},{key:"color",get:function(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"},set:function(e){this._color=e}},{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"focus",value:function(e,t){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}},{key:"_markForCheck",value:function(){this._changeDetector.markForCheck()}},{key:"ngOnInit",value:function(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){!t&&e.radioGroup&&e.radioGroup._touch()})}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}},{key:"_emitChangeEvent",value:function(){this.change.emit(new a0(this,this._value))}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onInputClick",value:function(e){e.stopPropagation()}},{key:"_onInputInteraction",value:function(e){if(e.stopPropagation(),!this.checked&&!this.disabled){var t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}},{key:"_setDisabled",value:function(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}}]),n}(l0);return e.\u0275fac=function(t){return new(t||e)(Os(u0),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(String),Os(void 0),Os(String))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(e0,5),2&e)&&(ml(n=_l())&&(t._inputElement=n.first))},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[cs]}),e}(),d0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){return m(this,n),t.call(this,e,i,r,o,a,s,u,c)}return n}(h0);return e.\u0275fac=function(t){return new(t||e)(Os(s0,8),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(Yy,8),Os(i0,8),Ai("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._inputElement.nativeElement.focus()}),2&e&&(ks("tabindex",null)("id",t.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),cu("mat-radio-checked",t.checked)("mat-radio-disabled",t.disabled)("_mat-animation-noopable",t._noopAnimations)("mat-primary","primary"===t.color)("mat-accent","accent"===t.color)("mat-warn","warn"===t.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[cs],ngContentSelectors:n0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),As(0,"label",0,1),As(2,"span",2),Is(3,"span",3),Is(4,"span",4),As(5,"input",5,6),Vs("change",function(e){return t._onInputInteraction(e)})("click",function(e){return t._onInputClick(e)}),Ms(),As(7,"span",7),Is(8,"span",8),Ms(),Ms(),As(9,"span",9),As(10,"span",10),Cu(11,"\xa0"),Ms(),Ys(12),Ms(),Ms()),2&e){var n=Es(1);ks("for",t.inputId),Yo(5),Ts("id",t.inputId)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex)("required",t.required),ks("name",t.name)("value",t.value)("aria-label",t.ariaLabel)("aria-labelledby",t.ariaLabelledby)("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",$c(18,t0,t._noopAnimations?0:150)),Yo(2),cu("mat-radio-label-before","before"==t.labelPosition)}},directives:[wb],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),e}();function f0(e,t){1&e&&(As(0,"div",7),Cu(1,"Organs"),Ms())}function p0(e,t){if(1&e&&(As(0,"mat-option",17),Cu(1),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(1),Ou(" ",n.name," ")}}var v0=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-config",this.updateSex=new ol,this.updateOrgan=new ol,this.buttonClicked=new ol,this.closeDialog=new ol,this.infoClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),Cu(3,"Configure Spatial Search"),Ms(),As(4,"button",3),As(5,"mat-icon",4),Vs("click",function(){return t.infoClicked.emit()}),Cu(6,"info"),Ms(),Ms(),Ms(),As(7,"button",5),As(8,"mat-icon",4),Vs("click",function(){return t.closeDialog.emit()}),Cu(9,"close"),Ms(),Ms(),Ms(),As(10,"div",6),As(11,"div",7),Cu(12,"Donor Sex: "),Ms(),As(13,"mat-radio-group",8),Vs("ngModelChange",function(e){return t.sex=e})("change",function(e){return t.updateSex.emit(e.value)}),As(14,"mat-radio-button",9),Cu(15,"Male"),Ms(),As(16,"mat-radio-button",10),Cu(17,"Female"),Ms(),Ms(),Ms(),As(18,"div",11),As(19,"div",7),Cu(20,"Select an organ"),Ms(),As(21,"mat-form-field",12),Cs(22,f0,2,0,"div",13),As(23,"mat-select",14),Vs("valueChange",function(e){return t.selectedOrgan=e})("selectionChange",function(e){return t.updateOrgan.emit(e.value)}),Cs(24,p0,2,2,"mat-option",15),Ms(),Ms(),Ms(),As(25,"button",16),Vs("click",function(){return t.buttonClicked.emit()}),Cu(26,"Continue"),Ms()),2&e&&(Yo(13),Ts("ngModel",t.sex),Yo(9),Ts("ngIf",!t.selectedOrgan),Yo(1),Ts("value",t.selectedOrgan),Yo(1),Ts("ngForOf",t.organs),Yo(1),cu("disabled",!t.selectedOrgan))},directives:[q_,B_,c0,fU,GU,d0,RH,Yh,BZ,qh,Rb],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),e}(),g0=function(){function e(t,n,i,r){m(this,e),this.dialog=t,this.dialogRef=n,this.spatialSearchDialog=i,this.infoService=r,this.updateSex=fQ(hZ),this.updateOrgan=fQ(dZ),this.subscriptions=new q,this.dialogSubs=new q}return b(e,[{key:"buttonClicked",value:function(){this.spatialSearchDialog.open(JJ),this.close()}},{key:"close",value:function(){this.dialogRef.close()}},{key:"launchInfoDialog",value:function(e){this.dialogSubs.unsubscribe(),this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}}]),e}();g0.\u0275fac=function(e){return new(e||g0)(Os(FG),Os(MG),Os(FG),Os(k$))},g0.\u0275cmp=Ot({type:g0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(e,t){1&e&&(As(0,"ccf-spatial-search-config",0),Vs("updateSex",function(e){return t.updateSex(e)})("updateOrgan",function(e){return t.updateOrgan(e.id)})("closeDialog",function(){return t.close()})("buttonClicked",function(){return t.buttonClicked()})("infoClicked",function(){return t.onDialogButtonClick()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Ms()),2&e&&Ts("sex",el(1,3,t.sex$))("organs",el(2,5,t.organs$))("selectedOrgan",el(3,7,t.selectedOrgan$))},directives:[v0],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(UJ.sex)],g0.prototype,"sex$",void 0),Mw([Bz(UJ.organ)],g0.prototype,"selectedOrgan$",void 0),Mw([Bz(UJ.organs)],g0.prototype,"organs$",void 0),Mw([EK()],g0.prototype,"updateSex",void 0),Mw([EK()],g0.prototype,"updateOrgan",void 0);var m0=function(){var e=function(){function e(t,n){m(this,e),this.store=t,this.dialog=n,this.className="ccf-run-spatial-search"}return b(e,[{key:"startSpatialSearchFlow",value:function(){var e=this;this.store.dispatch(new lZ).pipe(_p(1),mv(function(){return e.dialog.open(g0)})).subscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Pz),Os(FG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(e,t){1&e&&(As(0,"button",0),Vs("click",function(){return t.startSpatialSearchFlow()}),Cu(1," Run Spatial Search "),As(2,"mat-icon"),Cu(3,"travel_explore"),Ms(),Ms())},directives:[q_,B_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),e}();function y0(e,t){if(1&e){var n=Ls();As(0,"div",14),As(1,"ccf-spatial-search-list",15),Vs("selectionChanged",function(e){return bn(n),Ws().updateSearchSelection(e)})("itemRemoved",function(e){return bn(n),Ws().spatialSearchRemoved.emit(e.id)}),Ms(),Ms()}if(2&e){var i=Ws();cu("hidden",i.hidden),Yo(1),Ts("items",i.spatialSearchFilters)}}var b0=function(){return["Both","Male","Female"]},_0=function(){return[1,110]},w0=function(){return[13,83]},k0=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.applyFilters=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"spatialSearchFilters"in e&&this.updateSexFromSelection(this.spatialSearchFilters.filter(function(e){return e.selected}))}},{key:"updateFilter",value:function(e,t){this.filters=Object.assign(Object.assign({},this.filters),o({},t,e)),this.ga.event("filter_update","filter_content","".concat(t,":").concat(e)),this.filtersChange.emit(this.filters)}},{key:"applyButtonClick",value:function(){this.updateSearchSelection(this.spatialSearchFilters.filter(function(e){return e.selected})),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}},{key:"refreshFilters",value:function(){this.filters=JSON.parse(JSON.stringify(_Q)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}},{key:"updateSearchSelection",value:function(e){var t=e.map(function(e){return e.search});this.spatialSearchSelected.emit(e),this.updateFilter(t,"spatialSearches"),this.updateSexFromSelection(e)}},{key:"updateSexFromSelection",value:function(e){var t,n=null===(t=this.filters.sex)||void 0===t?void 0:t.toLowerCase(),i=new Set(e.map(function(e){return e.sex}));e.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[qt],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"ccf-dropdown",1),Vs("selectionChange",function(e){return t.updateFilter(e,"sex")}),Ms(),As(2,"ccf-dual-slider",2),Vs("selectionChange",function(e){return t.updateFilter(e,"ageRange")}),Ms(),As(3,"ccf-dual-slider",3),Vs("selectionChange",function(e){return t.updateFilter(e,"bmiRange")}),Ms(),Ms(),As(4,"div",4),As(5,"ccf-checkbox",5),Vs("selectionChange",function(e){return t.updateFilter(e,"technologies")}),Ms(),Ms(),As(6,"div",6),As(7,"ccf-checkbox",7),Vs("selectionChange",function(e){return t.updateFilter(e,"tmc")}),Ms(),Ms(),Cs(8,y0,2,3,"div",8),As(9,"div",9),Is(10,"ccf-run-spatial-search"),As(11,"div",10),As(12,"button",11),Vs("click",function(){return t.applyButtonClick()}),Cu(13,"APPLY FILTERS"),Ms(),As(14,"div",12),As(15,"mat-icon",13),Vs("click",function(){return t.refreshFilters()}),Cu(16,"refresh"),Ms(),Ms(),Ms(),Ms()),2&e&&(cu("hidden",t.hidden),Yo(1),Ts("options",Kc(21,b0))("selection",null==t.filters?null:t.filters.sex),Yo(1),Ts("valueRange",Kc(22,_0))("selection",null==t.filters?null:t.filters.ageRange),Yo(1),Ts("valueRange",Kc(23,w0))("selection",null==t.filters?null:t.filters.bmiRange),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",4)("options",t.technologyFilters)("selection",null==t.filters?null:t.filters.technologies),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",3)("options",t.providerFilters)("selection",null==t.filters?null:t.filters.tmc),Yo(1),Ts("ngIf",t.spatialSearchFilters.length>0),Yo(1),cu("hidden",t.hidden))},directives:[UZ,LJ,BJ,Yh,m0,q_,B_,nQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),e}();function x0(e,t){1&e&&(As(0,"div"),As(1,"mat-icon",7),Cu(2,"close"),Ms(),Ms())}function S0(e,t){1&e&&Is(0,"mat-icon",8)}var C0=function(){function e(){m(this,e),this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.filtersVisible=!1}return b(e,[{key:"toggleFilterVisible",value:function(){return this.filtersVisible=!this.filtersVisible,new _Z(!1)}},{key:"removeBox",value:function(){return this.filtersVisible=!1,new _Z(!0)}},{key:"applyFilters",value:function(e){this.filters=e,this.filtersChange.emit(e),this.removeBox()}}]),e}();C0.\u0275fac=function(e){return new(e||C0)},C0.\u0275cmp=Ot({type:C0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(e,t){if(1&e&&(As(0,"div",0),As(1,"button",1),Vs("click",function(){return t.toggleFilterVisible()}),Cs(2,x0,3,0,"div",2),Cs(3,S0,1,0,"ng-template",null,3,Sl),Ms(),As(5,"div",4),As(6,"div",5),As(7,"ccf-filters-content",6),Vs("applyFilters",function(e){return t.applyFilters(e)})("spatialSearchSelected",function(e){return t.spatialSearchSelected.emit(e)})("spatialSearchRemoved",function(e){return t.spatialSearchRemoved.emit(e)}),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(4);cu("expanded",t.drawerExpanded),Yo(1),cu("open",t.filtersVisible),Yo(1),Ts("ngIf",t.filtersVisible)("ngIfElse",n),Yo(3),cu("visible",t.filtersVisible)("hidden",!t.filtersVisible),Yo(2),Ts("technologyFilters",t.technologyFilters)("providerFilters",t.providerFilters)("spatialSearchFilters",t.spatialSearchFilters)("hidden",!t.filtersVisible)("filters",t.filters)}},directives:[Yh,k0,B_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),Mw([EK()],C0.prototype,"toggleFilterVisible",null),Mw([EK()],C0.prototype,"removeBox",null);var E0=function(){function e(){m(this,e),this.treeModel$=new Bf(1),this.nodes$=this.treeModel$.pipe(ce(function(e){return Object.values(e.nodes)})),this.rootNode$=this.treeModel$.pipe(ce(function(e){return e.nodes[e.root]}))}return b(e,[{key:"setTreeModel",value:function(e){this.treeModel$.next(e),this.treeModel=e}},{key:"filter",value:function(e){var t=this;return this.nodes$.pipe(ce(function(n){return t.lookup(n,e.toLowerCase())}))}},{key:"lookup",value:function(e,t){var n=this,i=new Map;return e&&e.forEach(function(e){if(e.label.toLowerCase().includes(t)&&!i.get(e.id))i.set(e.id,{index:n.getIndexOfMatch(e.label,t),displayLabel:n.formatLabel(e.label,t),node:e});else{var r=e.synonymLabels.find(function(e){return e.toLowerCase().includes(t)});r&&!i.get(e.id)&&i.set(e.id,{index:n.getIndexOfMatch(e.label+" ("+r+")",t),displayLabel:n.formatLabel(e.label+" ("+r+")",t),node:e})}}),Array.from(i.values())}},{key:"getIndexOfMatch",value:function(e,t){return e.toLowerCase().indexOf(t)}},{key:"formatLabel",value:function(e,t){var n=this.getIndexOfMatch(e,t);return[e.slice(0,n),e.slice(n,n+t.length),e.slice(n+t.length)]}},{key:"getChildren",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};return(0,$q.at)(i,e.children)}}]),e}();E0.\u0275fac=function(e){return new(e||E0)},E0.\u0275prov=$e({token:E0,factory:E0.\u0275fac}),Mw([eV.ak],E0.prototype,"getChildren",null);var O0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this)).getLevel=e,o.isExpandable=i,o.options=r,o.options&&(o.trackBy=o.options.trackBy),o}return b(n,[{key:"getDescendants",value:function(e){for(var t=[],n=this.dataNodes.indexOf(e)+1;n1&&void 0!==arguments[1]?arguments[1]:this._dataDiffer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._nodeOutlet.viewContainer,r=arguments.length>3?arguments[3]:void 0,o=n.diff(e);!o||(o.forEachOperation(function(n,o,a){if(null==n.previousIndex)t.insertNode(e[a],a,i,r);else if(null==a)i.remove(o),t._levels.delete(n.item);else{var s=i.get(o);i.move(s,a)}}),this._changeDetectorRef.detectChanges())}},{key:"_getNodeDef",value:function(e,t){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(function(n){return n.when&&n.when(t,e)})||this._defaultNodeDef}},{key:"insertNode",value:function(e,t,n,i){var r=this._getNodeDef(e,t),o=new A0(e);o.level=this.treeControl.getLevel?this.treeControl.getLevel(e):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(e,o.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,o,t),R0.mostRecentTreeNode&&(R0.mostRecentTreeNode.data=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["cdk-tree"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,M0,5),2&e)&&(ml(i=_l())&&(t._nodeDefs=i))},viewQuery:function(e,t){var n;(1&e&&yl(P0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[P0],encapsulation:2}),e}(),R0=function(){var e=function(){function e(t,n){m(this,e),this._elementRef=t,this._tree=n,this._destroyed=new ae,this._dataChanges=new ae,e.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}return b(e,[{key:"role",get:function(){return"treeitem"},set:function(e){this._elementRef.nativeElement.setAttribute("role",e)}},{key:"data",get:function(){return this._data},set:function(e){e!==this._data&&(this._data=e,this._setRoleFromData(),this._dataChanges.next())}},{key:"isExpanded",get:function(){return this._tree.treeControl.isExpanded(this._data)}},{key:"_setExpanded",value:function(e){this._isAriaExpanded=e,this._elementRef.nativeElement.setAttribute("aria-expanded","".concat(e))}},{key:"level",get:function(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}},{key:"ngOnInit",value:function(){this._parentNodeAriaLevel=function(e){for(var t=e.parentElement;t&&!D0(t);)t=t.parentElement;return t?t.classList.contains("cdk-nested-tree-node")?qd(t.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level","".concat(this.level+1))}},{key:"ngDoCheck",value:function(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}},{key:"ngOnDestroy",value:function(){e.mostRecentTreeNode===this&&(e.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"focus",value:function(){this._elementRef.nativeElement.focus()}},{key:"_setRoleFromData",value:function(){this.role="treeitem"}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(I0))},e.\u0275dir=Rt({type:e,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),e.mostRecentTreeNode=null,e}();function D0(e){var t=e.classList;return!(!(null==t?void 0:t.contains("cdk-nested-tree-node"))&&!(null==t?void 0:t.contains("cdk-tree")))}var N0=/([A-Za-z%]+)$/,L0=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._treeNode=t,this._tree=n,this._element=i,this._dir=r,this._destroyed=new ae,this.indentUnits="px",this._indent=40,this._setPadding(),r&&r.change.pipe(kf(this._destroyed)).subscribe(function(){return o._setPadding(!0)}),t._dataChanges.subscribe(function(){return o._setPadding()})}return b(e,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_paddingIndent",value:function(){var e=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,t=null==this._level?e:this._level;return"number"==typeof t?"".concat(t*this._indent).concat(this.indentUnits):null}},{key:"_setPadding",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._paddingIndent();if(t!==this._currentPadding||e){var n=this._element.nativeElement,i=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",r="paddingLeft"===i?"paddingRight":"paddingLeft";n.style[i]=t||"",n.style[r]="",this._currentPadding=t}}},{key:"_setLevelInput",value:function(e){this._level=qd(e,null),this._setPadding()}},{key:"_setIndentInput",value:function(e){var t=e,n="px";if("string"==typeof e){var i=e.split(N0);t=i[0],n=i[1]||n}this.indentUnits=n,this._indent=qd(t),this._setPadding()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(R0),Os(I0),Os(Ju),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),e}(),j0=function(){var e=function(){function e(t,n){m(this,e),this._tree=t,this._treeNode=n,this._recursive=!1}return b(e,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}},{key:"_toggle",value:function(e){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),e.stopPropagation()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(I0),Os(R0))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(e,t){1&e&&Vs("click",function(e){return t._toggle(e)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),e}(),F0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),B0=ub(ob(R0)),V0=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this,e,t)).tabIndex=Number(r)||0,e.nativeElement.classList.add("mat-tree-node"),o}return b(i,[{key:"ngOnInit",value:function(){e(p(i.prototype),"ngOnInit",this).call(this)}},{key:"ngDoCheck",value:function(){e(p(i.prototype),"ngDoCheck",this).call(this)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this)}}]),i}(B0);return t.\u0275fac=function(e){return new(e||t)(Os(Ju),Os(I0),Ai("tabindex"))},t.\u0275dir=Rt({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[Xu([{provide:R0,useExisting:t}]),cs]}),t}(),z0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(M0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[Xu([{provide:M0,useExisting:t}]),cs]}),t}(),U0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}}]),n}(L0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[Xu([{provide:L0,useExisting:t}]),cs]}),t}(),H0=function(){var e=function e(t,n){m(this,e),this.viewContainer=t,this._node=n};return e.\u0275fac=function(t){return new(t||e)(Os(Nc),Os(T0,8))},e.\u0275dir=Rt({type:e,selectors:[["","matTreeNodeOutlet",""]],features:[Xu([{provide:P0,useExisting:e}])]}),e}(),G0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(I0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-tree"]],viewQuery:function(e,t){var n;(1&e&&yl(H0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[Xu([{provide:I0,useExisting:t}]),cs],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[H0],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t}(),W0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}}]),n}(j0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[Xu([{provide:j0,useExisting:t}]),cs]}),t}(),q0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[F0,rb],rb]}),e}(),X0=function(){function e(t,n,i,r){m(this,e),this.transformFunction=t,this.getLevel=n,this.isExpandable=i,this.getChildren=r}return b(e,[{key:"_flattenNode",value:function(e,t,n,i){var r=this,o=this.transformFunction(e,t);if(n.push(o),this.isExpandable(o)){var a=this.getChildren(e);a&&(Array.isArray(a)?this._flattenChildren(a,t,n,i):a.pipe(_p(1)).subscribe(function(e){r._flattenChildren(e,t,n,i)}))}return n}},{key:"_flattenChildren",value:function(e,t,n,i){var r=this;e.forEach(function(o,a){var s=i.slice();s.push(a!=e.length-1),r._flattenNode(o,t+1,n,s)})}},{key:"flattenNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){return t._flattenNode(e,0,n,[])}),n}},{key:"expandFlattenedNodes",value:function(e,t){var n=this,i=[],r=[];return r[0]=!0,e.forEach(function(e){for(var o=!0,a=0;a<=n.getLevel(e);a++)o=o&&r[a];o&&i.push(e),n.isExpandable(e)&&(r[n.getLevel(e)+1]=t.isExpanded(e))}),i}}]),e}(),Y0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._treeControl=e,o._treeFlattener=i,o._flattenedData=new vv([]),o._expandedData=new vv([]),o._data=new vv([]),r&&(o.data=r),o}return b(n,[{key:"data",get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}},{key:"connect",value:function(e){var t=this;return Oe(e.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(ce(function(){return t._expandedData.next(t._treeFlattener.expandFlattenedNodes(t._flattenedData.value,t._treeControl)),t._expandedData.value}))}},{key:"disconnect",value:function(){}}]),n}(function(){return function e(){m(this,e)}}()),K0=function(){function e(t,n){m(this,e),this.original=t,this.level=n,this.visible=!0,this.opacity=20}return b(e,[{key:"label",get:function(){return this.original.label}},{key:"expandable",get:function(){return this.original.children.length>0}}],[{key:"create",value:function(t,n){return new e(t,n)}}]),e}();function $0(e,t){if(1&e){var n=Ls();As(0,"div",4),Vs("click",function(e){var t=bn(n).node,i=Ws();return i.select(e.ctrlKey,t,!0,!i.isSelected(t))}),Cu(1),Ms()}if(2&e){var i=t.node,r=Ws();cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label))("filtered-out",!r.occurenceData[i.original.id]&&!!r.termData[i.original.id])("unavailable",!r.termData[i.original.id])("selected",r.isSelected(i)),Yo(1),Eu("colon"===i.label?"large intestine":i.label)}}function Q0(e,t){1&e&&Ns(0)}var Z0=function(e){return{node:e}};function J0(e,t){if(1&e){var n=Ls();As(0,"mat-tree-node",5),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),As(1,"div"),As(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),As(3,"div",7),As(4,"ccf-opacity-slider",8,9),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),Is(6,"div",10),Cs(7,Q0,1,0,"ng-container",11),As(8,"div",12),Cu(9),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(3),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(18,Z0,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}function e1(e,t){1&e&&Ns(0)}function t1(e,t){if(1&e){var n=Ls();As(0,"mat-tree-node",13),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),As(1,"div"),As(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),As(3,"div",7),As(4,"ccf-opacity-slider",8,14),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),As(6,"button",15),As(7,"mat-icon",16),Cu(8),Ms(),Ms(),Cs(9,e1,1,0,"ng-container",11),As(10,"div",12),Cu(11),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(2),cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label)),Ss("aria-label","Toggle ",i.label,""),Yo(2),Ou(" ",r.control.isExpanded(i)?"expand_less":"expand_more"," "),Yo(1),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(22,Z0,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}var n1=(0,$q.property)("level"),i1=(0,$q.property)("expandable"),r1=function(){var e=function(){function e(t,n){m(this,e),this.cdr=t,this.ga=n,this.atScrollBottom=!1,this.nodeSelected=new ol,this.nodeChanged=new ol,this.indent="1.5rem",this.control=new O0(n1,i1),this.flattener=new X0(K0.create,n1,i1,$q.invoke.bind(void 0,this,"getChildren")),this.dataSource=new Y0(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}return b(e,[{key:"nodes",get:function(){return this._nodes},set:function(e){var t;this._nodes=e,this.control&&(this.dataSource.data=null!==(t=this._nodes)&&void 0!==t?t:[])}},{key:"getChildren",get:function(){return this._getChildren},set:function(e){var t;this._getChildren=e,this.dataSource.data=null!==(t=this.nodes)&&void 0!==t?t:[]}},{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e||{}}},{key:"termData",get:function(){return this._termData},set:function(e){this._termData=e||{}}},{key:"ngOnInit",value:function(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}},{key:"ngOnChanges",value:function(e){if(e.ontologyFilter){var t=e.ontologyFilter.currentValue;(null==t?void 0:t.length)>=0&&this.selectByIDs(t)}e.rootNode&&this.selectByIDs([e.rootNode.currentValue])}},{key:"selectByIDs",value:function(e){var t=this,n=this.control.dataNodes,i=n.filter(function(t){return e.indexOf(t.original.id)>-1});(null==i?void 0:i.length)>0&&(this.selectedNodes=i,this.ga.event("nodes_selected_by_ids","ontology_tree",i.map(function(e){return e.label}).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(function(e){t.expandAndSelect(e.original,function(e){var t;return null===(t=n.find(function(t){return t.original.id===e.parent}))||void 0===t?void 0:t.original},!0)}))}},{key:"expandAndSelect",value:function(e,t){for(var n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.cdr,o=this.control,a=new Set,s=t(e);s;)a.add(s),s=t(s);var u=(0,$q.filter)(o.dataNodes,function(e){return a.has(e.original)}),c=o.dataNodes.find(function(t){return t.original===e});i||(this.selectedNodes=[],o.collapseAll());var l,h=_(u);try{for(h.s();!(l=h.n()).done;){var d=l.value;o.expand(d)}}catch(f){h.e(f)}finally{h.f()}"body"===e.label&&(null===(n=o.dataNodes)||void 0===n?void 0:n.length)>0&&o.expand(o.dataNodes[0]),this.select(i,c,!1,!0),r.detectChanges()}},{key:"isInnerNode",value:function(e,t){return t.expandable}},{key:"isSelected",value:function(e){return(null==e?void 0:e.original.id)===this.rootNode||this.selectedNodes.filter(function(t){return(null==e?void 0:e.original.label)===(null==t?void 0:t.original.label)}).length>0}},{key:"select",value:function(e,t,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===t)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");e?i?this.selectedNodes.indexOf(t)<0&&this.selectedNodes.push(t):this.selectedNodes.splice(this.selectedNodes.indexOf(t),1):(this.selectedNodes=[],i&&this.selectedNodes.push(t)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(function(e){return e.label}).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(function(e){return null==e?void 0:e.original}))}},{key:"mouseOver",value:function(e){this.highlightedNode=e}},{key:"mouseOut",value:function(){this.highlightedNode=void 0}},{key:"updateOpacity",value:function(e,t){e.opacity=t,this.ga.event("opacity_update","ontology_tree",e.label,t),this.nodeChanged.emit(e)}},{key:"resetNode",value:function(e){e.opacity=20,e.visible=!0,this.ga.event("node_reset","ontology_tree",e.label),this.nodeChanged.emit(e)}},{key:"toggleVisibility",value:function(e){e.visible=!0!==e.visible,this.ga.event("visibility_update","ontology_tree",e.label,+e.visible),this.nodeChanged.emit(e)}},{key:"getLeftIndent",value:function(e){return-1.5*e+"rem"}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<20}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[qt],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(e,t){1&e&&(As(0,"mat-tree",0),Vs("scroll",function(e){return t.onScroll(e)}),Cs(1,$0,2,9,"ng-template",null,1,Sl),Cs(3,J0,10,20,"mat-tree-node",2),Cs(4,t1,12,24,"mat-tree-node",3),Ms()),2&e&&(cu("header-hidden",!t.header),Ts("dataSource",t.dataSource)("treeControl",t.control),Yo(4),Ts("matTreeNodeDefWhen",t.isInnerNode))},directives:[G0,z0,V0,U0,B_,v$,nd,q_,W0],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}();function o1(e,t){if(1&e&&(As(0,"mat-option",8),As(1,"span",9),Cu(2),Ms(),As(3,"span",10),Cu(4),Ms(),As(5,"span",11),Cu(6),Ms(),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(2),Eu(n.displayLabel[0]),Yo(2),Eu(n.displayLabel[1]),Yo(2),Eu(n.displayLabel[2])}}var a1=function(){var e=function(){function e(t,n){m(this,e),this.ontologyService=t,this.ga=n,this.selected=new ol,this.formControl=new LU(""),this.autoCompleteOpen=!1}return b(e,[{key:"ngOnInit",value:function(){var e=this;this.filteredResults$=this.formControl.valueChanges.pipe(bf(function(e){return"string"==typeof e}),Ef(""),Of(function(t){return e.ontologyService.filter(t)}),ce(function(t){return(0,$q.sortBy)(t,[e.sortBySynonymResult,"index",e.sortLexically])}))}},{key:"displayFormatter",value:function(e){var t;return(null!==(t=null==e?void 0:e.displayLabel)&&void 0!==t?t:[]).join("")}},{key:"sortBySynonymResult",value:function(e){return e.displayLabel.join().includes("(")?1:-1}},{key:"sortLexically",value:function(e){return e.node.label.toLowerCase()}},{key:"onSelect",value:function(e){var t=(0,$q.get)(e,["option","value","node"]);t&&(this.ga.event("search","ontology_search",t.id),this.selected.emit(t),this.formControl.reset())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(E0),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(e,t){if(1&e&&(As(0,"form",0),As(1,"mat-form-field",1),As(2,"mat-icon",2),Cu(3,"search"),Ms(),Is(4,"input",3),As(5,"mat-autocomplete",4,5),Vs("optionSelected",function(e){return t.onSelect(e)})("opened",function(){return t.autoCompleteOpen=!0})("closed",function(){return t.autoCompleteOpen=!1}),As(7,"div",6),Cs(8,o1,7,4,"mat-option",7),Jc(9,"async"),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(6);cu("autocomplete-open",t.autoCompleteOpen),Yo(4),Ts("placeholder",t.placeholderText)("formControl",t.formControl)("matAutocomplete",n),Yo(1),Ts("displayWith",t.displayFormatter),Yo(3),Ts("ngForOf",el(9,7,t.filteredResults$))}},directives:[WU,pU,zU,RH,B_,EH,sG,qz,ZH,fU,KU,XH,qh,Rb],pipes:[sd],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),e}(),s1=function(e){return[e]};function u1(e,t){if(1&e){var n=Ls();As(0,"ccf-ontology-tree",2),Vs("nodeSelected",function(e){return bn(n),Ws().ontologySelection.emit(e)}),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("nodes",$c(7,s1,i))("rootNode",i.id)("getChildren",r.ontologySearchService.getChildren)("occurenceData",r.occurenceData)("termData",r.termData)("ontologyFilter",r.ontologyFilter)("header",r.header)}}var c1=function(){var e=function(){function e(t){m(this,e),this.ontologySearchService=t,this.ontologySelection=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"treeModel"in e&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}},{key:"selected",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(e,function(e){return i[e.parent]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(E0))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-selection"]],viewQuery:function(e,t){var n;(1&e&&yl(r1,5),2&e)&&(ml(n=_l())&&(t.tree=n.first))},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[Xu([E0]),qt],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(e,t){1&e&&(As(0,"ccf-ontology-search",0),Vs("selected",function(e){return t.selected(e)}),Ms(),Cs(1,u1,1,9,"ccf-ontology-tree",1),Jc(2,"async")),2&e&&(Ts("placeholderText",t.placeholderText),Yo(1),Ts("ngIf",el(2,2,t.ontologySearchService.rootNode$)))},directives:[a1,Yh,r1],pipes:[sd],styles:[""],changeDetection:0}),e}(),l1=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.drawer=t,this.cdr=i,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new q;var o=n.connect(this);this.subscriptions.add(o.getMessagesFromSource(t).subscribe(function(e){r.handleMessage(e)&&i.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"icon",get:function(){var e,t="arrow_right",n="arrow_left";return"end"===this.position&&(t=(e=[n,t])[0],n=e[1]),this.opened?n:t}},{key:"ngAfterViewInit",value:function(){var e=this;setTimeout(function(){e.position=e.drawer.position,e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return"drawer-toggled"===e.payload.type&&(this.opened=e.payload.opened,!0)}},{key:"toggle",value:function(){var e=this.drawer,t=e.opened,n=e.expanded;t?n?e.closeExpanded():e.close():e.open()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(rZ),Os(ZQ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("ccf-drawer-toggle-button-end",t.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(e,t){1&e&&(As(0,"mat-icon",0),Vs("click",function(){return t.toggle()}),Cu(1),Ms()),2&e&&(Yo(1),Ou(" ",t.icon,"\n"))},directives:[B_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),e}();function h1(e,t){1&e&&(As(0,"div",7),Is(1,"mat-spinner",8),As(2,"span",3),Cu(3,"Loading External Site"),Ms(),Ms())}function d1(e,t){if(1&e){var n=Ls();As(0,"iframe",9),Vs("load",function(){return bn(n),Ws().loading=!1}),Ms()}2&e&&ks("src",Ws().safeUrl,Yr)}var f1=function(){var e=function(){function e(t){m(this,e),this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new ol,this.loading=!0,this.safeUrl=null}return b(e,[{key:"ngOnChanges",value:function(e){"url"in e&&this.updateUrl()}},{key:"updateUrl",value:function(){var e=this.sanitizer,t=this.url;this.safeUrl=null,t&&(this.safeUrl=e.bypassSecurityTrustResourceUrl(t),this.loading=!0)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Vd))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[qt],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"a",1),As(2,"mat-icon",2),Cu(3,"launch"),Ms(),As(4,"span",3),Cu(5,"Open in Portal"),Ms(),Ms(),As(6,"button",4),Vs("click",function(){return t.closed.emit()}),As(7,"mat-icon",2),Cu(8,"clear"),Ms(),Ms(),Ms(),Cs(9,h1,4,0,"div",5),Cs(10,d1,1,1,"iframe",6)),2&e&&(Yo(1),Ts("href",t.safeUrl,Xr)("disabled",!t.safeUrl),Yo(8),Ts("ngIf",t.loading),Yo(1),Ts("ngIf",t.safeUrl))},directives:[X_,B_,q_,Yh,qQ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),e}();function p1(e,t){if(1&e&&Is(0,"div",3),2&e){var n=t.index;cu("line-tick-visible",Ws().tissueSectionExists(n+1))}}var v1=function(){return[]},g1=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-tissue-section-vis"}return b(e,[{key:"tissueSectionExists",value:function(e){return this.tissueSections.filter(function(t){return t.sectionNumber===e}).length>0}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(e,t){1&e&&(As(0,"div"),Cu(1,"0"),Ms(),As(2,"div",0),Cs(3,p1,1,2,"div",1),Is(4,"div",2),Ms(),As(5,"div"),Cu(6),Ms()),2&e&&(Yo(3),Ts("ngForOf",Kc(2,v1).constructor(t.totalTissueSections)),Yo(3),Eu(t.totalTissueSections))},directives:[qh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),e}();function m1(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function y1(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach(function(n){void 0===e[n]?e[n]=t[n]:m1(t[n])&&m1(e[n])&&Object.keys(t[n]).length>0&&y1(e[n],t[n])})}var b1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function _1(){var e="undefined"!=typeof document?document:{};return y1(e,b1),e}var w1={document:b1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(e){return"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0)},cancelAnimationFrame:function(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function k1(){var e="undefined"!=typeof window?window:{};return y1(e,w1),e}function x1(e){return(x1=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function S1(e,t){return(S1=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(G){return!1}}function E1(e,t,n){return(E1=C1()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&S1(r,n.prototype),r}).apply(null,arguments)}function O1(e){var t="function"==typeof Map?new Map:void 0;return(O1=function(e){if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return E1(e,arguments,x1(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),S1(n,e)})(e)}var T1=function(e){function t(t){var n;return function(e){var t=e.__proto__;Object.defineProperty(e,"__proto__",{get:function(){return t},set:function(e){t.__proto__=e}})}(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n=e.call.apply(e,[this].concat(t))||this)),n}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e),t}(O1(Array));function P1(e){void 0===e&&(e=[]);var t=[];return e.forEach(function(e){Array.isArray(e)?t.push.apply(t,P1(e)):t.push(e)}),t}function A1(e,t){return Array.prototype.filter.call(e,t)}function M1(e,t){var n=k1(),i=_1(),r=[];if(!t&&e instanceof T1)return e;if(!e)return new T1(r);if("string"==typeof e){var o=e.trim();if(o.indexOf("<")>=0&&o.indexOf(">")>=0){var a="div";0===o.indexOf("0}).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),n=0;n=0;f-=1){var p=d[f];o&&p.listener===o||o&&p.listener&&p.listener.dom7proxy&&p.listener.dom7proxy===o?(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1)):o||(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1))}}return this},trigger:function(){for(var e=k1(),t=arguments.length,n=new Array(t),i=0;i0}),c.dispatchEvent(l),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(e){var t=this;return e&&t.on("transitionend",function n(i){i.target===this&&(e.call(this,i),t.off("transitionend",n))}),this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var e=k1();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var e=k1(),t=_1(),n=this[0],i=n.getBoundingClientRect(),r=t.body;return{top:i.top+(n===e?e.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===e?e.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(e,t){var n,i=k1();if(1===arguments.length){if("string"!=typeof e){for(n=0;nt-1)return M1([]);if(e<0){var n=t+e;return M1(n<0?[]:[this[n]])}return M1([this[e]])},append:function(){for(var e,t=_1(),n=0;n=0;n-=1)this[t].insertBefore(r.childNodes[n],this[t].childNodes[0])}else if(e instanceof T1)for(n=0;n0?e?this[0].nextElementSibling&&M1(this[0].nextElementSibling).is(e)?M1([this[0].nextElementSibling]):M1([]):M1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):M1([])},nextAll:function(e){var t=[],n=this[0];if(!n)return M1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;e?M1(i).is(e)&&t.push(i):t.push(i),n=i}return M1(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&M1(t.previousElementSibling).is(e)?M1([t.previousElementSibling]):M1([]):M1(t.previousElementSibling?[t.previousElementSibling]:[])}return M1([])},prevAll:function(e){var t=[],n=this[0];if(!n)return M1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;e?M1(i).is(e)&&t.push(i):t.push(i),n=i}return M1(t)},parent:function(e){for(var t=[],n=0;n=0,observer:"MutationObserver"in e||"WebkitMutationObserver"in e,passiveListener:function(){var t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassiveListener",null,n)}catch(i){}return t}(),gestures:"ongesturestart"in e}}()),N1}function q1(e){return void 0===e&&(e={}),L1||(L1=function(e){var t=(void 0===e?{}:e).userAgent,n=W1(),i=k1(),r=i.navigator.platform,o=t||i.navigator.userAgent,a={ios:!1,android:!1},s=i.screen.width,u=i.screen.height,c=o.match(/(Android);?[\s\/]+([\d.]+)?/),l=o.match(/(iPad).*OS\s([\d_]+)/),h=o.match(/(iPod)(.*OS\s([\d_]+))?/),d=!l&&o.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r,p="MacIntel"===r;return!l&&p&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(s+"x"+u)>=0&&((l=o.match(/(Version)\/([\d.]+)/))||(l=[0,1,"13_0_0"]),p=!1),c&&!f&&(a.os="android",a.android=!0),(l||d||h)&&(a.os="ios",a.ios=!0),a}(e)),L1}function X1(){return j1||(j1=function(){var e,t=k1();return{isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:(e=t.navigator.userAgent.toLowerCase(),e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)}}()),j1}var Y1={name:"resize",create:function(){var e=this;H1(e,{resize:{observer:null,createObserver:function(){!e||e.destroyed||!e.initialized||(e.resize.observer=new ResizeObserver(function(t){var n=e.width,i=e.height,r=n,o=i;t.forEach(function(t){var n=t.contentBoxSize,i=t.contentRect,a=t.target;a&&a!==e.el||(r=i?i.width:(n[0]||n).inlineSize,o=i?i.height:(n[0]||n).blockSize)}),(r!==n||o!==i)&&e.resize.resizeHandler()}),e.resize.observer.observe(e.el))},removeObserver:function(){e.resize.observer&&e.resize.observer.unobserve&&e.el&&(e.resize.observer.unobserve(e.el),e.resize.observer=null)},resizeHandler:function(){!e||e.destroyed||!e.initialized||(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){!e||e.destroyed||!e.initialized||e.emit("orientationchange")}}})},on:{init:function(e){var t=k1();e.params.resizeObserver&&void 0!==k1().ResizeObserver?e.resize.createObserver():(t.addEventListener("resize",e.resize.resizeHandler),t.addEventListener("orientationchange",e.resize.orientationChangeHandler))},destroy:function(e){var t=k1();e.resize.removeObserver(),t.removeEventListener("resize",e.resize.resizeHandler),t.removeEventListener("orientationchange",e.resize.orientationChangeHandler)}}};function K1(){return(K1=Object.assign||function(e){for(var t=1;t0)&&(!r.isTouched||!r.isMoved))){o.noSwipingClass&&""!==o.noSwipingClass&&s.target&&s.target.shadowRoot&&e.path&&e.path[0]&&(u=F1(e.path[0]));var c=o.noSwipingSelector?o.noSwipingSelector:"."+o.noSwipingClass;if(o.noSwiping&&(s.target&&s.target.shadowRoot?function(e,t){return void 0===t&&(t=this),function t(n){return n&&n!==_1()&&n!==k1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(e)||t(n.getRootNode().host)):null}(t)}(c,s.target):u.closest(c)[0]))return void(t.allowClick=!0);if(!o.swipeHandler||u.closest(o.swipeHandler)[0]){a.currentX="touchstart"===s.type?s.targetTouches[0].pageX:s.pageX,a.currentY="touchstart"===s.type?s.targetTouches[0].pageY:s.pageY;var l=a.currentX,h=a.currentY,d=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,f=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(d&&(l<=f||l>=i.innerWidth-f)){if("prevent"!==d)return;e.preventDefault()}if(H1(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=l,a.startY=h,r.touchStartTime=V1(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==s.type){var p=!0;u.is(r.focusableElements)&&(p=!1),n.activeElement&&F1(n.activeElement).is(r.focusableElements)&&n.activeElement!==u[0]&&n.activeElement.blur(),(o.touchStartForcePreventDefault||p&&t.allowTouchMove&&o.touchStartPreventDefault)&&!u[0].isContentEditable&&s.preventDefault()}t.emit("touchStart",s)}}}}function J1(e){var t=_1(),n=this,i=n.touchEventsData,r=n.params,o=n.touches,a=n.rtlTranslate;if(n.enabled){var s=e;if(s.originalEvent&&(s=s.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",s));if(!i.isTouchEvent||"touchmove"===s.type){var u="touchmove"===s.type&&s.targetTouches&&(s.targetTouches[0]||s.changedTouches[0]),c="touchmove"===s.type?u.pageX:s.pageX,l="touchmove"===s.type?u.pageY:s.pageY;if(s.preventedByNestedSwiper)return o.startX=c,void(o.startY=l);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(H1(o,{startX:c,startY:l,currentX:c,currentY:l}),i.touchStartTime=V1()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(lo.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(co.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&s.target===t.activeElement&&F1(s.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",s),!(s.targetTouches&&s.targetTouches.length>1)){o.currentX=c,o.currentY=l;var h=o.currentX-o.startX,d=o.currentY-o.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(f=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?f>r.touchAngle:90-f>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",s),void 0===i.startMoving&&(o.currentX!==o.startX||o.currentY!==o.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&s.cancelable&&s.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&s.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",s)),n.emit("sliderMove",s),i.isMoved=!0;var p=n.isHorizontal()?h:d;o.diff=p,p*=r.touchRatio,a&&(p=-p),n.swipeDirection=p>0?"prev":"next",i.currentTranslate=p+i.startTranslate;var v=!0,g=r.resistanceRatio;if(r.touchReleaseOnEdges&&(g=0),p>0&&i.currentTranslate>n.minTranslate()?(v=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+p,g))):p<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(p)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,i.currentTranslate=i.startTranslate,void(o.diff=n.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:o[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:o[n.isHorizontal()?"currentX":"currentY"],time:V1()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function e2(e){var t=this,n=t.touchEventsData,i=t.params,r=t.touches,o=t.rtlTranslate,a=t.$wrapperEl,s=t.slidesGrid,u=t.snapGrid;if(t.enabled){var c=e;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&t.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var l,h=V1(),d=h-n.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(c),t.emit("tap click",c),d<300&&h-n.lastClickTime<300&&t.emit("doubleTap doubleClick",c)),n.lastClickTime=V1(),B1(function(){t.destroyed||(t.allowClick=!0)}),!n.isTouched||!n.isMoved||!t.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,l=i.followFinger?o?t.translate:-t.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(l<-t.minTranslate())return void t.slideTo(t.activeIndex);if(l>-t.maxTranslate())return void t.slideTo(t.slides.length1){var f=n.velocities.pop(),p=n.velocities.pop(),v=f.time-p.time;t.velocity=(f.position-p.position)/v,t.velocity/=2,Math.abs(t.velocity)150||V1()-f.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var g=1e3*i.freeModeMomentumRatio,m=t.translate+t.velocity*g;o&&(m=-m);var y,b,_=!1,w=20*Math.abs(t.velocity)*i.freeModeMomentumBounceRatio;if(mt.minTranslate())i.freeModeMomentumBounce?(m-t.minTranslate()>w&&(m=t.minTranslate()+w),y=t.minTranslate(),_=!0,n.allowMomentumBounce=!0):m=t.minTranslate(),i.loop&&i.centeredSlides&&(b=!0);else if(i.freeModeSticky){for(var k,x=0;x-m){k=x;break}m=-(m=Math.abs(u[k]-m)=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses()))}for(var E=0,O=t.slidesSizesGrid[0],T=0;T=s[T]&&l=s[T]&&(E=T,O=s[s.length-1]-s[s.length-2])}var A=(l-s[E])/O,M=Ei.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&t.slideTo(A>=i.longSwipesRatio?E+M:E),"prev"===t.swipeDirection&&t.slideTo(A>1-i.longSwipesRatio?E+M:E)}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||c.target!==t.navigation.nextEl&&c.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(E+M),"prev"===t.swipeDirection&&t.slideTo(E)):t.slideTo(c.target===t.navigation.nextEl?E+M:E)}}}}function t2(){var e=this,t=e.params,n=e.el;if(!n||0!==n.offsetWidth){t.breakpoints&&e.setBreakpoint();var i=e.allowSlideNext,r=e.allowSlidePrev,o=e.snapGrid;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),e.slideTo(("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&o!==e.snapGrid&&e.checkOverflow()}}function n2(e){var t=this;!t.enabled||t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function i2(){var e=this,t=e.wrapperEl,n=e.rtlTranslate;if(e.enabled){e.previousTranslate=e.translate,e.translate=e.isHorizontal()?n?t.scrollWidth-t.offsetWidth-t.scrollLeft:-t.scrollLeft:-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();var i=e.maxTranslate()-e.minTranslate();(0===i?0:(e.translate-e.minTranslate())/i)!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}}var r2=!1;function o2(){}var a2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};var s2={modular:{useParams:function(e){var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n];i.params&&H1(e,i.params)})},useModules:function(e){void 0===e&&(e={});var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n],r=e[n]||{};i.on&&t.on&&Object.keys(i.on).forEach(function(e){t.on(e,i.on[e])}),i.create&&i.create.bind(t)(r)})}},eventsEmitter:{on:function(e,t,n){var i=this;if("function"!=typeof t)return i;var r=n?"unshift":"push";return e.split(" ").forEach(function(e){i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)}),i},once:function(e,t,n){var i=this;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var n=arguments.length,o=new Array(n),a=0;a=0&&t.eventsAnyListeners.splice(n,1),t},off:function(e,t){var n=this;return n.eventsListeners&&e.split(" ").forEach(function(e){void 0===t?n.eventsListeners[e]=[]:n.eventsListeners[e]&&n.eventsListeners[e].forEach(function(i,r){(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&n.eventsListeners[e].splice(r,1)})}),n},emit:function(){var e=this;if(!e.eventsListeners)return e;for(var t,n,i,r=arguments.length,o=new Array(r),a=0;a=0&&(b=parseFloat(b.replace("%",""))/100*o),e.virtualSize=-b,l.css(a?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(x=Math.floor(h/i.slidesPerColumn)===h/e.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(x=Math.max(x,i.slidesPerView*i.slidesPerColumn)));for(var O,T=i.slidesPerColumn,P=x/T,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var R=void 0,D=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*T*i.slidesPerGroup)/T),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":R=(D=j-N*F+L*i.slidesPerGroup)+N*x/T,"-moz-box-ordinal-group":R,"-ms-flex-order":R,"-webkit-order":R,order:R})}else"column"===i.slidesPerColumnFill?(N=M-(D=Math.floor(M/T))*T,(D>A||D===A&&N===T-1)&&(N+=1)>=T&&(N=0,D+=1)):D=M-(N=Math.floor(M/P))*P;I.css(t("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)O=e.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),G=n(B,"padding-right"),W=n(B,"margin-left"),q=n(B,"margin-right"),X=B.getPropertyValue("box-sizing");if(X&&"border-box"===X)O=U+W+q;else{var Y=I[0];O=U+H+G+W+q+(Y.offsetWidth-Y.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(O=Math.floor(O))}else O=(o-(i.slidesPerView-1)*b)/i.slidesPerView,i.roundLengths&&(O=Math.floor(O)),l[M]&&(l[M].style[t("width")]=O+"px");l[M]&&(l[M].swiperSlideSize=O),p.push(O),i.centeredSlides?(_=_+O/2+w/2+b,0===w&&0!==M&&(_=_-o/2-b),0===M&&(_=_-o/2-b),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),k%i.slidesPerGroup==0&&d.push(_),f.push(_)):(i.roundLengths&&(_=Math.floor(_)),(k-Math.min(e.params.slidesPerGroupSkip,k))%e.params.slidesPerGroup==0&&d.push(_),f.push(_),_=_+O+b),e.virtualSize+=O+b,w=O,k+=1}}if(e.virtualSize=Math.max(e.virtualSize,o)+g,a&&s&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:e.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((C={})[t("width")]=e.virtualSize+i.spaceBetween+"px",C)),i.slidesPerColumn>1&&(e.virtualSize=(O+i.spaceBetween)*x,e.virtualSize=Math.ceil(e.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((E={})[t("width")]=e.virtualSize+i.spaceBetween+"px",E)),i.centeredSlides)){S=[];for(var K=0;K1&&d.push(e.virtualSize-o)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,ee=e.isHorizontal()&&a?"marginLeft":t("marginRight");l.filter(function(e,t){return!i.cssMode||t!==l.length-1}).css(((J={})[ee]=b+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var te=0;p.forEach(function(e){te+=e+(i.spaceBetween?i.spaceBetween:0)});var ne=(te-=i.spaceBetween)-o;d=d.map(function(e){return e<0?-v:e>ne?ne+g:e})}if(i.centerInsufficientSlides){var ie=0;if(p.forEach(function(e){ie+=e+(i.spaceBetween?i.spaceBetween:0)}),(ie-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(e){i.push(e)});else for(t=0;tn.slides.length&&!r)break;i.push(a(s))}else i.push(a(n.activeIndex));for(t=0;to?u:o}o&&n.$wrapperEl.css("height",o+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t=0&&c1&&l<=t.size||c<=0&&l>=t.size)&&(t.visibleSlides.push(s),t.visibleSlidesIndexes.push(a),i.eq(a).addClass(n.slideVisibleClass))}s.progress=r?-u:u}t.visibleSlides=F1(t.visibleSlides)}},updateProgress:function(e){var t=this;void 0===e&&(e=t&&t.translate&&t.translate*(t.rtlTranslate?-1:1)||0);var n=t.params,i=t.maxTranslate()-t.minTranslate(),r=t.progress,o=t.isBeginning,a=t.isEnd,s=o,u=a;0===i?(r=0,o=!0,a=!0):(o=(r=(e-t.minTranslate())/i)<=0,a=r>=1),H1(t,{progress:r,isBeginning:o,isEnd:a}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&t.updateSlidesProgress(e),o&&!s&&t.emit("reachBeginning toEdge"),a&&!u&&t.emit("reachEnd toEdge"),(s&&!o||u&&!a)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){var e,t=this,n=t.slides,i=t.params,r=t.$wrapperEl,o=t.activeIndex,a=t.realIndex,s=t.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=s?t.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+o+'"]'):n.eq(o)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass));var u=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===u.length&&(u=n.eq(0)).addClass(i.slideNextClass);var c=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(u.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),t.emitSlidesClasses()},updateActiveIndex:function(e){var t,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,o=n.snapGrid,a=n.params,s=n.activeIndex,u=n.realIndex,c=n.snapIndex,l=e;if(void 0===l){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(l=h);a.normalizeSlideIndex&&(l<0||void 0===l)&&(l=0)}if(o.indexOf(i)>=0)t=o.indexOf(i);else{var d=Math.min(a.slidesPerGroupSkip,l);t=d+Math.floor((l-d)/a.slidesPerGroup)}if(t>=o.length&&(t=o.length-1),l!==s){var f=parseInt(n.slides.eq(l).attr("data-swiper-slide-index")||l,10);H1(n,{snapIndex:t,realIndex:f,previousIndex:s,activeIndex:l}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),u!==f&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else t!==c&&(n.snapIndex=t,n.emit("snapIndexChange"))},updateClickedSlide:function(e){var t,n=this,i=n.params,r=F1(e.target).closest("."+i.slideClass)[0],o=!1;if(r)for(var a=0;a6&&(i=i.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),r=new o.WebKitCSSMatrix("none"===i?"":i)):n=(r=a.MozTransform||a.OTransform||a.MsTransform||a.msTransform||a.transform||a.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(i=o.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===t&&(i=o.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(t.$wrapperEl[0],e);return i&&(o=-o),o||0},setTranslate:function(e,t){var n=this,i=n.rtlTranslate,r=n.params,o=n.$wrapperEl,a=n.wrapperEl,s=n.progress,u=0,c=0;n.isHorizontal()?u=i?-e:e:c=e,r.roundLengths&&(u=Math.floor(u),c=Math.floor(c)),r.cssMode?a[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-u:-c:r.virtualTranslate||o.transform("translate3d("+u+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?u:c;var l=n.maxTranslate()-n.minTranslate();(0===l?0:(e-n.minTranslate())/l)!==s&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,n,i,r){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var o=this,a=o.params,s=o.wrapperEl;if(o.animating&&a.preventInteractionOnTransition)return!1;var u,c=o.minTranslate(),l=o.maxTranslate();if(o.updateProgress(u=i&&e>c?c:i&&eo?"next":ir?"next":i=c.length&&(g=c.length-1),(d||u.initialSlide||0)===(h||0)&&n&&a.emit("beforeSlideChangeStart");var m,y=-c[g];if(a.updateProgress(y),u.normalizeSlideIndex)for(var b=0;b=w&&_=w&&_=w&&(s=b)}if(a.initialized&&s!==d&&(!a.allowSlideNext&&ya.translate&&y>a.maxTranslate()&&(d||0)!==s))return!1;if(m=s>d?"next":s=e&&(d=e)}),void 0!==d&&(c=a.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,e,t,n)},slideReset:function(e,t,n){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,n)},slideToClosest:function(e,t,n,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===i&&(i=.5);var r=this,o=r.activeIndex,a=Math.min(r.params.slidesPerGroupSkip,o),s=a+Math.floor((o-a)/r.params.slidesPerGroup),u=r.rtlTranslate?r.translate:-r.translate;if(u>=r.snapGrid[s]){var c=r.snapGrid[s];u-c>(r.snapGrid[s+1]-c)*i&&(o+=r.params.slidesPerGroup)}else{var l=r.snapGrid[s-1];u-l<=(r.snapGrid[s]-l)*i&&(o-=r.params.slidesPerGroup)}return o=Math.max(o,0),o=Math.min(o,r.slidesGrid.length-1),r.slideTo(o,e,t,n)},slideToClickedSlide:function(){var e,t=this,n=t.params,i=t.$wrapperEl,r="auto"===n.slidesPerView?t.slidesPerViewDynamic():n.slidesPerView,o=t.clickedIndex;if(n.loop){if(t.animating)return;e=parseInt(F1(t.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?ot.slides.length-t.loopedSlides+r/2?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),B1(function(){t.slideTo(o)})):t.slideTo(o):o>t.slides.length-r?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),B1(function(){t.slideTo(o)})):t.slideTo(o)}else t.slideTo(o)}},loop:{loopCreate:function(){var e=this,t=_1(),n=e.params,i=e.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var o=n.slidesPerGroup-r.length%n.slidesPerGroup;if(o!==n.slidesPerGroup){for(var a=0;ar.length&&(e.loopedSlides=r.length);var u=[],c=[];r.each(function(t,n){var i=F1(t);n=r.length-e.loopedSlides&&u.push(t),i.attr("data-swiper-slide-index",n)});for(var l=0;l=0;h-=1)i.prepend(F1(u[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var e=this;e.emit("beforeLoopFix");var t,n=e.activeIndex,i=e.slides,r=e.loopedSlides,o=e.allowSlidePrev,a=e.allowSlideNext,s=e.snapGrid,u=e.rtlTranslate;e.allowSlidePrev=!0,e.allowSlideNext=!0;var c=-s[n]-e.getTranslate();n=i.length-r&&(t=-i.length+n+r,e.slideTo(t+=r,0,!1,!0)&&0!==c&&e.setTranslate((u?-e.translate:e.translate)-c)),e.allowSlidePrev=o,e.allowSlideNext=a,e.emit("loopFix")},loopDestroy:function(){var e=this,t=e.params,n=e.slides;e.$wrapperEl.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;if(!(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var n=t.el;n.style.cursor="move",n.style.cursor=e?"-webkit-grabbing":"-webkit-grab",n.style.cursor=e?"-moz-grabbin":"-moz-grab",n.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.el.style.cursor="")}},manipulation:{appendSlide:function(e){var t=this,n=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var r=0;r=a)n.appendSlide(t);else{for(var s=o>e?o+1:o,u=[],c=a-1;c>=e;c-=1){var l=n.slides.eq(c);l.remove(),u.unshift(l)}if("object"==typeof t&&"length"in t){for(var h=0;he?o+t.length:o}else i.append(t);for(var d=0;d1,d=l.slidesPerColumn>1,f=o.enabled;h&&!d?(a.removeClass(o.containerModifierClass+"multirow "+o.containerModifierClass+"multirow-column"),e.emitContainerClasses()):!h&&d&&(a.addClass(o.containerModifierClass+"multirow"),(l.slidesPerColumnFill&&"column"===l.slidesPerColumnFill||!l.slidesPerColumnFill&&"column"===o.slidesPerColumnFill)&&a.addClass(o.containerModifierClass+"multirow-column"),e.emitContainerClasses());var p=l.direction&&l.direction!==o.direction,v=o.loop&&(l.slidesPerView!==o.slidesPerView||p);p&&n&&e.changeDirection(),H1(e.params,l);var g=e.params.enabled;H1(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),f&&!g?e.disable():!f&&g&&e.enable(),e.currentBreakpoint=u,e.emit("_beforeBreakpoint",l),v&&n&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-r+e.loopedSlides,0,!1)),e.emit("breakpoint",l)}}},getBreakpoint:function(e,t,n){if(void 0===t&&(t="window"),e&&("container"!==t||n)){var i=!1,r=k1(),o="window"===t?r.innerHeight:n.clientHeight,a=Object.keys(e).map(function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:o*t,point:e}}return{value:e,point:e}});a.sort(function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)});for(var s=0;s0&&t.slidesOffsetBefore+t.spaceBetween*(e.slides.length-1)+e.slides[0].offsetWidth*e.slides.length;e.isLocked=t.slidesOffsetBefore&&t.slidesOffsetAfter&&i?i<=e.size:1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,n!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),n&&n!==e.isLocked&&(e.isEnd=!1,e.navigation&&e.navigation.update())}},classes:{addClasses:function(){var e=this,t=e.classNames,n=e.params,i=e.$el,r=e.device,o=e.support,a=function(e,t){var n=[];return e.forEach(function(e){"object"==typeof e?Object.keys(e).forEach(function(i){e[i]&&n.push(t+i)}):"string"==typeof e&&n.push(t+e)}),n}(["initialized",n.direction,{"pointer-events":o.pointerEvents&&!o.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:e.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);t.push.apply(t,a),i.addClass([].concat(t).join(" ")),e.emitContainerClasses()},removeClasses:function(){var e=this;e.$el.removeClass(e.classNames.join(" ")),e.emitContainerClasses()}},images:{loadImage:function(e,t,n,i,r,o){var a,s=k1();function u(){o&&o()}F1(e).parent("picture")[0]||e.complete&&r||!t?u():((a=new s.Image).onload=u,a.onerror=u,i&&(a.sizes=i),n&&(a.srcset=n),t&&(a.src=t))},preloadImages:function(){var e=this;function t(){null==e||!e||e.destroyed||(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var n=0;n1){var a=[];return F1(n.el).each(function(t){var i=H1({},n,{el:t});a.push(new e(i))}),a}var s=this;s.__swiper__=!0,s.support=W1(),s.device=q1({userAgent:n.userAgent}),s.browser=X1(),s.eventsListeners={},s.eventsAnyListeners=[],void 0===s.modules&&(s.modules={}),Object.keys(s.modules).forEach(function(e){var t=s.modules[e];if(t.params){var i=Object.keys(t.params)[0],r=t.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var u,c,l=H1({},a2);return s.useParams(l),s.params=H1({},l,u2,n),s.originalParams=H1({},s.params),s.passedParams=H1({},n),s.params&&s.params.on&&Object.keys(s.params.on).forEach(function(e){s.on(e,s.params.on[e])}),s.params&&s.params.onAny&&s.onAny(s.params.onAny),s.$=F1,H1(s,{enabled:s.params.enabled,el:t,classNames:[],slides:F1(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===s.params.direction},isVertical:function(){return"vertical"===s.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev,touchEvents:(u=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],s.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),s.touchEventsTouch={start:u[0],move:u[1],end:u[2],cancel:u[3]},s.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},s.support.touch||!s.params.simulateTouch?s.touchEventsTouch:s.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:s.params.focusableElements,lastClickTime:V1(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:s.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),s.useModules(),s.emit("_swiper"),s.params.init&&s.init(),s}var t=e.prototype;return t.enable=function(){var e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))},t.disable=function(){var e=this;!e.enabled||(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))},t.setProgress=function(e,t){var n=this;e=Math.min(Math.max(e,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*e+i,void 0===t?0:t),n.updateActiveIndex(),n.updateSlidesClasses()},t.emitContainerClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=e.el.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-container")||0===t.indexOf(e.params.containerModifierClass)});e.emit("_containerClasses",t.join(" "))}},t.getSlideClasses=function(e){var t=this;return e.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)}).join(" ")},t.emitSlidesClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=[];e.slides.each(function(n){var i=e.getSlideClasses(n);t.push({slideEl:n,classNames:i}),e.emit("_slideClass",n,i)}),e.emit("_slideClasses",t)}},t.slidesPerViewDynamic=function(){var e=this,t=e.slides,n=e.slidesGrid,i=e.size,r=e.activeIndex,o=1;if(e.params.centeredSlides){for(var a,s=t[r].swiperSlideSize,u=r+1;ui&&(a=!0));for(var c=r-1;c>=0;c-=1)t[c]&&!a&&(o+=1,(s+=t[c].swiperSlideSize)>i&&(a=!0))}else for(var l=r+1;l1)&&e.isEnd&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0)||i(),n.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function i(){var t=Math.min(Math.max(e.rtlTranslate?-1*e.translate:e.translate,e.maxTranslate()),e.minTranslate());e.setTranslate(t),e.updateActiveIndex(),e.updateSlidesClasses()}},t.changeDirection=function(e,t){void 0===t&&(t=!0);var n=this,i=n.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+e),n.emitContainerClasses(),n.params.direction=e,n.slides.each(function(t){"vertical"===e?t.style.width="":t.style.height=""}),n.emit("changeDirection"),t&&n.update()),n},t.mount=function(e){var t=this;if(t.mounted)return!0;var n=F1(e||t.params.el);if(!(e=n[0]))return!1;e.swiper=t;var i=function(){return"."+(t.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(e&&e.shadowRoot&&e.shadowRoot.querySelector){var t=F1(e.shadowRoot.querySelector(i()));return t.children=function(e){return n.children(e)},t}return n.children(i())}();if(0===r.length&&t.params.createElements){var o=_1().createElement("div");r=F1(o),o.className=t.params.wrapperClass,n.append(o),n.children("."+t.params.slideClass).each(function(e){r.append(e)})}return H1(t,{$el:n,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},t.init=function(e){var t=this;return t.initialized||!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.slideTo(t.params.loop?t.params.initialSlide+t.loopedSlides:t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t},t.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var n=this,i=n.params,r=n.$el,o=n.$wrapperEl,a=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),t&&(n.removeClasses(),r.removeAttr("style"),o.removeAttr("style"),a&&a.length&&a.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(e){n.off(e)}),!1!==e&&(n.$el[0].swiper=null,function(t){var n=t;Object.keys(n).forEach(function(t){try{n[t]=null}catch(e){}try{delete n[t]}catch(e){}})}(n)),n.destroyed=!0),null},e.extendDefaults=function(e){H1(u2,e)},e.installModule=function(t){e.prototype.modules||(e.prototype.modules={});var n=t.name||Object.keys(e.prototype.modules).length+"_"+V1();e.prototype.modules[n]=t},e.use=function(t){return Array.isArray(t)?(t.forEach(function(t){return e.installModule(t)}),e):(e.installModule(t),e)},function(e,t,n){n&&function(e,t){for(var n=0;n0?t[n].__swiper__?e[n]=t[n]:F2(e[n],t[n]):e[n]=t[n]):e[n]=t[n]})}function B2(e){return null!=e&&"false"!="".concat(e)}var V2=["pagination","navigation","scrollbar","virtual"];function z2(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return L2(e)?e:!0===B2(e)&&t}var U2=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(function(e){return e.replace(/_/,"")});function H2(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={on:{}},n={};F2(t,l2.defaults),F2(t,l2.extendedDefaults),t._emitClasses=!0;var i={};return Object.keys(e).forEach(function(r){var o=r.replace(/^_/,"");void 0!==e[o]&&(U2.indexOf(o)>=0?L2(e[o])?(t[o]={},n[o]={},F2(t[o],e[o]),F2(n[o],e[o])):(t[o]=e[o],n[o]=e[o]):i[o]=e[o])}),{params:t,passedParams:n,rest:i}}var G2=function(){var e=function(){function e(t){m(this,e),this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}return b(e,[{key:"zoom",get:function(){return this._zoom},set:function(e){this._zoom=B2(e)}},{key:"classNames",get:function(){return this._classNames},set:function(e){this._classNames!==e&&(this._classNames=e,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}},{key:"_hasClass",value:function(e){var t=this;return e.some(function(e){return t._classNames.indexOf(e)>=0})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ac))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),e}(),W2=function(){var e=function(){function e(t,n,i,r){var a=this;m(this,e),this._ngZone=t,this.elementRef=n,this._changeDetectorRef=i,this._platformId=r,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new ol,this.s__containerClasses=new ol,this.s__slideClass=new ol,this.s__swiper=new ol,this.s_activeIndexChange=new ol,this.s_afterInit=new ol,this.s_autoplay=new ol,this.s_autoplayStart=new ol,this.s_autoplayStop=new ol,this.s_beforeDestroy=new ol,this.s_beforeInit=new ol,this.s_beforeLoopFix=new ol,this.s_beforeResize=new ol,this.s_beforeSlideChangeStart=new ol,this.s_beforeTransitionStart=new ol,this.s_breakpoint=new ol,this.s_changeDirection=new ol,this.s_click=new ol,this.s_doubleTap=new ol,this.s_doubleClick=new ol,this.s_destroy=new ol,this.s_fromEdge=new ol,this.s_hashChange=new ol,this.s_hashSet=new ol,this.s_imagesReady=new ol,this.s_init=new ol,this.s_keyPress=new ol,this.s_lazyImageLoad=new ol,this.s_lazyImageReady=new ol,this.s_loopFix=new ol,this.s_momentumBounce=new ol,this.s_navigationHide=new ol,this.s_navigationShow=new ol,this.s_observerUpdate=new ol,this.s_orientationchange=new ol,this.s_paginationHide=new ol,this.s_paginationRender=new ol,this.s_paginationShow=new ol,this.s_paginationUpdate=new ol,this.s_progress=new ol,this.s_reachBeginning=new ol,this.s_reachEnd=new ol,this.s_realIndexChange=new ol,this.s_resize=new ol,this.s_scroll=new ol,this.s_scrollbarDragEnd=new ol,this.s_scrollbarDragMove=new ol,this.s_scrollbarDragStart=new ol,this.s_setTransition=new ol,this.s_setTranslate=new ol,this.s_slideChange=new ol,this.s_slideChangeTransitionEnd=new ol,this.s_slideChangeTransitionStart=new ol,this.s_slideNextTransitionEnd=new ol,this.s_slideNextTransitionStart=new ol,this.s_slidePrevTransitionEnd=new ol,this.s_slidePrevTransitionStart=new ol,this.s_slideResetTransitionStart=new ol,this.s_slideResetTransitionEnd=new ol,this.s_sliderMove=new ol,this.s_sliderFirstMove=new ol,this.s_slidesLengthChange=new ol,this.s_slidesGridLengthChange=new ol,this.s_snapGridLengthChange=new ol,this.s_snapIndexChange=new ol,this.s_tap=new ol,this.s_toEdge=new ol,this.s_touchEnd=new ol,this.s_touchMove=new ol,this.s_touchMoveOpposite=new ol,this.s_touchStart=new ol,this.s_transitionEnd=new ol,this.s_transitionStart=new ol,this.s_update=new ol,this.s_zoomChange=new ol,this.s_swiper=new ol,this.indexChange=new ol,this._activeSlides=new ae,this.containerClasses="swiper-container",this.slidesChanges=function(e){a.slides=e.map(function(e,t){return e.slideIndex=t,e.classNames=a.slideClass,e}),a.loop&&!a.loopedSlides&&a.calcLoopedSlides(),a.virtual?a.swiperRef&&a.swiperRef.virtual&&a._ngZone.runOutsideAngular(function(){a.swiperRef.virtual.slides=a.slides,a.swiperRef.virtual.update(!0)}):(a.prependSlides=$d(a.slides.slice(a.slides.length-a.loopedSlides)),a.appendSlides=$d(a.slides.slice(0,a.loopedSlides))),a._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=function(e){!a.swiperRef||a.currentVirtualData&&a.currentVirtualData.from===e.from&&a.currentVirtualData.to===e.to&&a.currentVirtualData.offset===e.offset||(a.style=a.swiperRef.isHorizontal()?o({},a.swiperRef.rtlTranslate?"right":"left","".concat(e.offset,"px")):{top:"".concat(e.offset,"px")},a.currentVirtualData=e,a._activeSlides.next(e.slides),a._ngZone.run(function(){a._changeDetectorRef.detectChanges()}),a._ngZone.runOutsideAngular(function(){a.swiperRef.updateSlides(),a.swiperRef.updateProgress(),a.swiperRef.updateSlidesClasses(),a.swiperRef.lazy&&a.swiperRef.params.lazy.enabled&&a.swiperRef.lazy.load(),a.swiperRef.virtual.update(!0)}))}}return b(e,[{key:"navigation",get:function(){return this._navigation},set:function(e){var t,n,i,r="boolean"!=typeof this._navigation?null===(t=this._navigation)||void 0===t?void 0:t.nextEl:null,o="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=z2(e,{nextEl:r||null,prevEl:o||null}),this.showNavigation=!(!0!==B2(e)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}},{key:"pagination",get:function(){return this._pagination},set:function(e){var t,n="boolean"!=typeof this._pagination?null===(t=this._pagination)||void 0===t?void 0:t.el:null;this._pagination=z2(e,{el:n||null}),this.showPagination=j2(e,this._pagination,this._paginationElRef)}},{key:"scrollbar",get:function(){return this._scrollbar},set:function(e){var t,n="boolean"!=typeof this._scrollbar?null===(t=this._scrollbar)||void 0===t?void 0:t.el:null;this._scrollbar=z2(e,{el:n||null}),this.showScrollbar=j2(e,this._scrollbar,this._scrollbarElRef)}},{key:"virtual",get:function(){return this._virtual},set:function(e){this._virtual=z2(e)}},{key:"index",set:function(e){this.setIndex(e)}},{key:"config",set:function(e){this.updateSwiper(e);var t=H2(e).params;Object.assign(this,t)}},{key:"prevElRef",set:function(e){this._prevElRef=e,this._setElement(e,this.navigation,"navigation","prevEl")}},{key:"nextElRef",set:function(e){this._nextElRef=e,this._setElement(e,this.navigation,"navigation","nextEl")}},{key:"scrollbarElRef",set:function(e){this._scrollbarElRef=e,this._setElement(e,this.scrollbar,"scrollbar")}},{key:"paginationElRef",set:function(e){this._paginationElRef=e,this._setElement(e,this.pagination,"pagination")}},{key:"activeSlides",get:function(){return this.virtual?this._activeSlides:$d(this.slides)}},{key:"zoomContainerClass",get:function(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}},{key:"_setElement",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"el";if(e&&t){if(t&&e.nativeElement){if(t[i]===e.nativeElement)return;t[i]=e.nativeElement}var r={};r[n]=!0,this.updateInitSwiper(r)}}},{key:"ngOnInit",value:function(){var e=H2(this).params;Object.assign(this,e)}},{key:"ngAfterViewInit",value:function(){var e=this;this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(function(){e.s_swiper.emit(e.swiperRef)})}},{key:"childrenSlidesInit",value:function(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}},{key:"isSwiperActive",get:function(){return this.swiperRef&&!this.swiperRef.destroyed}},{key:"initSwiper",value:function(){var e=this,t=H2(this).params;Object.assign(this,t),this._ngZone.runOutsideAngular(function(){t.init=!1,t.virtual||(t.observer=!0),t.onAny=function(t){for(var n=e["s_".concat(t)],i=arguments.length,r=new Array(i>1?i-1:0),o=1;o=0)){var o=null!==(i=null===(n=e[r])||void 0===n?void 0:n.currentValue)&&void 0!==i?i:e[r];t.updateParameter(r,o)}e.allowSlideNext&&(t.swiperRef.allowSlideNext=t.allowSlideNext),e.allowSlidePrev&&(t.swiperRef.allowSlidePrev=t.allowSlidePrev),e.direction&&t.swiperRef.changeDirection(t.direction,!1),e.breakpoints&&(t.loop&&!t.loopedSlides&&t.calcLoopedSlides(),t.swiperRef.currentBreakpoint=null,t.swiperRef.setBreakpoint()),(e.thumbs||e.controller)&&t.updateInitSwiper(e),t.swiperRef.update()}})}},{key:"calcLoopedSlides",value:function(){if(this.loop){var e=this.slidesPerView;if(this.breakpoints){var t=l2.prototype.getBreakpoint(this.breakpoints),n=t in this.breakpoints?this.breakpoints[t]:void 0;n&&n.slidesPerView&&(e=n.slidesPerView)}if("auto"===e)return this.loopedSlides=this.slides.length,this.slides.length;var i=this.loopedSlides||e;return(i+=this.loopAdditionalSlides)>this.slides.length&&(i=this.slides.length),this.loopedSlides=i,i}}},{key:"updateParameter",value:function(e,t){if(this.swiperRef&&!this.swiperRef.destroyed){var n=e.replace(/^_/,""),i=L2(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){var r=this.swiperRef.modules[n].params[n];i?F2(this.swiperRef.params[n],r):this.swiperRef.params[n]=r}i&&L2(t)?F2(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}}},{key:"setIndex",value:function(e,t,n){var i=this;this.isSwiperActive?e!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(function(){i.loop?i.swiperRef.slideToLoop(e,t,!n):i.swiperRef.slideTo(e,t,!n)}):this.initialSlide=e}},{key:"ngOnDestroy",value:function(){var e=this;this._ngZone.runOutsideAngular(function(){var t;null===(t=e.swiperRef)||void 0===t||t.destroy(!0,!1)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["swiper"],["","swiper",""]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,G2,4),2&e)&&(ml(i=_l())&&(t.slidesEl=i))},viewQuery:function(e,t){var n;(1&e&&(yl(h2,5),yl(d2,5),yl(f2,5),yl(p2,5)),2&e)&&(ml(n=_l())&&(t.prevElRef=n.first),ml(n=_l())&&(t.nextElRef=n.first),ml(n=_l())&&(t.scrollbarElRef=n.first),ml(n=_l())&&(t.paginationElRef=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[qt],ngContentSelectors:N2,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(e,t){if(1&e&&(Xs(M2),Ys(0),Cs(1,v2,5,0,"ng-container",0),Cs(2,g2,2,0,"div",1),Cs(3,m2,2,0,"div",2),As(4,"div",3),Ys(5,1),Cs(6,b2,1,0,void 0,4),Cs(7,w2,1,0,void 0,4),Cs(8,x2,1,0,void 0,4),Ys(9,2),Ms(),Ys(10,3),Cs(11,A2,2,3,"ng-template",null,5,Sl)),2&e){var n=Es(12);Yo(1),Ts("ngIf",t.navigation&&t.showNavigation),Yo(1),Ts("ngIf",t.scrollbar&&t.showScrollbar),Yo(1),Ts("ngIf",t.pagination&&t.showPagination),Yo(1),Ts("ngClass",t.wrapperClass),ks("id",t.id),Yo(2),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(11,I2,t.prependSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(13,R2,t.activeSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(15,D2,t.appendSlides))}},directives:[Yh,Gh,nd,qh,Zh,Jh,ed],pipes:[sd],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),e}(),q2=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();function X2(e,t){if(1&e){var n=Ls();As(0,"div",7),As(1,"div",8),Cu(2),Ms(),As(3,"a",9),Vs("click",function(){bn(n);var e=Ws().$implicit;return Ws().linkClicked.emit(e)}),Cu(4," DATA "),As(5,"mat-icon"),Cu(6,"open_in_new"),Ms(),Ms(),Ms()}if(2&e){var i=Ws().$implicit;Yo(1),uu("background-image","url("+i.thumbnail+")"),Yo(1),Ou(" ",i.technology," ")}}function Y2(e,t){1&e&&(Rs(0),Cs(1,X2,7,3,"ng-template",6),Ds())}var K2=function(){var e=-1;return function(){return e+=1}}(),$2=function(){var e=function(){function e(){m(this,e),this.className="ccf-thumbnail-carousel",this.linkClicked=new ol,this.uid=K2(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}return b(e,[{key:"prevButtonId",get:function(){return"ccf-thumbnail-carousel-prev-button-".concat(this.uid)}},{key:"nextButtonId",get:function(){return"ccf-thumbnail-carousel-next-button-".concat(this.uid)}},{key:"itemId",value:function(e,t){return t.thumbnail}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"button",1),As(2,"mat-icon"),Cu(3,"navigate_before"),Ms(),Ms(),Ms(),As(4,"swiper",2),Cs(5,Y2,2,0,"ng-container",3),Ms(),As(6,"div",4),As(7,"button",1),Is(8,"div",5),As(9,"mat-icon"),Cu(10,"navigate_next"),Ms(),Ms(),Ms()),2&e&&(Yo(1),ks("id",t.prevButtonId),Yo(3),Ts("config",t.config)("navigation",t.navigation),Yo(1),Ts("ngForOf",t.data)("ngForTrackBy",t.itemId),Yo(2),ks("id",t.nextButtonId))},directives:[q_,B_,W2,qh,G2],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),e}();function Q2(e,t){if(1&e){var n=Ls();As(0,"mat-icon",14),Vs("click",function(){return bn(n),Ws().toggleExpansion()}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Eu(i.expanded?"expand_less":"expand_more")}}function Z2(e,t){if(1&e&&Is(0,"ccf-tissue-section-vis",20),2&e){var n=Ws(2);Ts("totalTissueSections",n.tissueBlock.sectionCount)("tissueSections",n.tissueBlock.sections)}}function J2(e,t){if(1&e){var n=Ls();Rs(0),As(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(2).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws(2);Yo(1),Ts("data",i.tissueBlock.datasets)}}function e3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(3).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws().$implicit;Yo(1),Ts("data",i.datasets)}}function t3(e,t){if(1&e){var n=Ls();As(0,"div",22),As(1,"div",23),As(2,"mat-icon",24),Cu(3,"bubble_chart"),Ms(),As(4,"div",17),As(5,"div",8),Cu(6),Ms(),As(7,"div",8),Cu(8),Ms(),Ms(),As(9,"div",9),Vs("click",function(){var e=bn(n).$implicit;return Ws(2).linkHandler(e.link)}),As(10,"div",10),Cu(11,"TISSUE SECTION"),Ms(),As(12,"mat-icon",11),Cu(13,"open_in_new"),Ms(),Ms(),Ms(),Cs(14,e3,2,1,"ng-container",13),Ms()}if(2&e){var i=t.$implicit;Yo(6),Eu(i.label),Yo(2),Eu(i.description),Yo(6),Ts("ngIf",i.datasets.length>0)}}function n3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"div",15),As(2,"div",16),As(3,"mat-icon",5),Cu(4,"bubble_chart"),Ms(),As(5,"div",17),As(6,"div",8),Cu(7),Ms(),As(8,"div",8),Cu(9),Ms(),Ms(),As(10,"div",9),Vs("click",function(){bn(n);var e=Ws();return e.linkHandler(e.tissueBlock.link)}),As(11,"div",10),Cu(12,"TISSUE BLOCK"),Ms(),As(13,"mat-icon",11),Cu(14,"open_in_new"),Ms(),Ms(),Ms(),Cs(15,Z2,1,2,"ccf-tissue-section-vis",18),Cs(16,J2,2,1,"ng-container",13),Ms(),Cs(17,t3,15,3,"div",19),Ds()}if(2&e){var i=Ws();Yo(7),Eu(i.tissueBlock.label),Yo(2),Eu(i.tissueBlock.description),Yo(6),Ts("ngIf",i.tissueBlock.sections.length>1),Yo(1),Ts("ngIf",i.tissueBlock.datasets.length>0),Yo(1),Ts("ngForOf",i.tissueBlock.sections)}}var i3=function(e){return{"background-color":e}},r3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new ol,this.linkClick=new ol,this.hoverState=""}return b(e,[{key:"handleCheckbox",value:function(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}},{key:"toggleExpansion",value:function(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}},{key:"linkHandler",value:function(e){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(e):(this.selected=!0,this.checked.emit(this.selected))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Vs("click",function(){return t.handleCheckbox()}),Is(2,"mat-checkbox",2),Ms(),As(3,"div",3),As(4,"div",4),As(5,"mat-icon",5),Cu(6,"person"),Ms(),As(7,"div",6),As(8,"div",7),Cu(9),Ms(),As(10,"div",8),Cu(11),Ms(),Ms(),Ms(),As(12,"div",9),Vs("click",function(){return t.linkHandler(t.tissueBlock.donor.link)}),As(13,"div",10),Cu(14,"DONOR"),Ms(),As(15,"mat-icon",11),Cu(16,"open_in_new"),Ms(),Ms(),Cs(17,Q2,2,1,"mat-icon",12),Ms(),Ms(),Cs(18,n3,18,5,"ng-container",13)),2&e&&(Yo(1),cu("selected",t.selected)("highlighted",t.highlighted),Ts("ngStyle",$c(18,i3,t.selected?t.color:"transparent")),Yo(1),cu("checkselected",t.selected),Ts("checked",t.selected),Yo(1),cu("hover-enabled",t.selected)("expanded",t.expanded)("highlighted",t.highlighted),Yo(6),Eu(t.tissueBlock.donor.label),Yo(2),Eu(t.tissueBlock.donor.description),Yo(6),Ts("ngIf",t.selected),Yo(1),Ts("ngIf",t.expanded))},directives:[td,ZK,B_,Yh,qh,g1,$2],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function o3(e,t){if(1&e&&(As(0,"div",7),As(1,"div",8),Cu(2),Ms(),As(3,"div",9),Cu(4),Ms(),Ms()),2&e){var n=t.$implicit;Yo(2),Eu(n.count),Yo(2),Eu(n.label)}}function a3(e,t){if(1&e){var n=Ls();As(0,"div",10),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return bn(n),Ws().handleUnhover()}),As(1,"ccf-donor-card",11),Vs("checked",function(e){var t=bn(n).$implicit;return Ws().handleSelection(t,e)})("linkClick",function(e){return bn(n),Ws().handleLinkClick(e)}),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("tissueBlock",i.tissueBlock)("selected",i.selected)("color",i.color)("highlighted",i.tissueBlock.spatialEntityId===r.highlighted)}}var s3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.linkClicked=new ol,this.listResultSelected=new ol,this.listResultDeselected=new ol,this.itemHovered=new ol,this.itemUnhovered=new ol,this.atScrollBottom=!1}return b(e,[{key:"handleSelection",value:function(e,t){this.ga.event("list_result_selected","results_browser",this.resultLabel,+t),t?this.listResultSelected.next(e):this.listResultDeselected.next(e)}},{key:"handleLinkClick",value:function(e){this.linkClicked.emit(e)}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<64}}},{key:"handleHover",value:function(e){this.itemHovered.emit(e)}},{key:"handleUnhover",value:function(){this.itemUnhovered.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),Cu(3),Ms(),Cs(4,o3,5,2,"div",3),Ms(),As(5,"div",4),Vs("scroll",function(e){return t.onScroll(e)}),Cs(6,a3,2,4,"div",5),Ms(),Is(7,"div",6),Ms()),2&e&&(Yo(3),Eu(t.resultLabel),Yo(1),Ts("ngForOf",t.aggregateData),Yo(1),cu("header-hidden",!t.header),Yo(1),Ts("ngForOf",t.listResults),Yo(1),cu("hidden",!!t.atScrollBottom))},directives:[qh,r3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),u3=["*",[["mat-toolbar-row"]]],c3=["*","mat-toolbar-row"],l3=ab(function(){return function e(t){m(this,e),this._elementRef=t}}()),h3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),e}(),d3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e))._platform=i,o._document=r,o}return b(n,[{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return e._checkToolbarMixedModes()}))}},{key:"_checkToolbarMixedModes",value:function(){}}]),n}(l3);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh))},e.\u0275cmp=Ot({type:e,selectors:[["mat-toolbar"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,h3,5),2&e)&&(ml(i=_l())&&(t._toolbarRows=i))},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(e,t){2&e&&cu("mat-toolbar-multiple-rows",t._toolbarRows.length>0)("mat-toolbar-single-row",0===t._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[cs],ngContentSelectors:c3,decls:2,vars:0,template:function(e,t){1&e&&(Xs(u3),Ys(0),Ys(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),e}(),f3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}();function p3(e,t){if(1&e&&(As(0,"a",5),Cu(1,"LOGIN"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"login",Xr)}}function v3(e,t){if(1&e&&(As(0,"a",5),Cu(1,"LOGOUT"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"logout",Xr)}}var g3=function(){var e=function e(){m(this,e),this.refreshClicked=new ol,this.downloadClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(e,t){1&e&&(As(0,"mat-toolbar",0),As(1,"a",1),Is(2,"div",2),Ms(),Is(3,"div",3),Cs(4,p3,2,3,"a",4),Cs(5,v3,2,3,"a",4),Ms()),2&e&&(Yo(1),Ts("href",t.homeUrl,Xr),Yo(1),Ts("matTooltip",t.logoTooltip),Yo(2),Ts("ngIf",!t.loggedIn),Yo(1),Ts("ngIf",t.loggedIn))},directives:[d3,Ow,Yh,X_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),m3=["bodyUI"];function y3(e,t){if(1&e&&(Is(0,"ccf-header",34),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async")),2&e){var n=Ws();cu("hide",!1===el(1,6,n.header$)),Ts("logoTooltip",el(2,8,n.logoTooltip$))("homeUrl",el(3,10,n.homeUrl$))("loggedIn",n.loggedIn)("loginDisabled",el(4,12,n.loginDisabled$))}}function b3(e,t){if(1&e){var n=Ls();As(0,"div",35),Vs("click",function(){bn(n),Ws();var e=Es(72);return e.expanded=!e.expanded}),As(1,"mat-icon",36),Cu(2),Ms(),Ms()}if(2&e){Ws();var i=Es(72);Yo(2),Ou(" ",i.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function _3(e,t){if(1&e){var n=Ls();As(0,"div",35),Vs("click",function(){bn(n);var e=Ws();return e.organListVisible=!e.organListVisible}),As(1,"mat-icon",37),Cu(2),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Ou(" ",i.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}var w3=function(){return{}},k3=function(){return{x:2.2,y:2,z:.4}},x3=function(){function e(n,i,r,o,a,s,u,c,l,h,d,f){var p=this;m(this,e),this.data=r,this.theming=o,this.scene=a,this.listResultsState=s,this.consentService=u,this.snackbar=c,this.dataSource=h,this.globalConfig=d,this.setSelectedSearches=fQ(TQ),this.removeSpatialSearch=fQ(OQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=dQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(ce(function(e){return e===wQ.Running})),this.loadingMessage$=this.data.state$.pipe(cG("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new Bf(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),o.initialize(n,i),l.setRootElement(n),r.tissueBlockData$.subscribe(),r.aggregateData$.subscribe(),r.ontologyTermOccurencesData$.subscribe(),r.cellTypeTermOccurencesData$.subscribe(),r.sceneData$.subscribe(),r.filter$.subscribe(),r.technologyFilterData$.subscribe(),r.providerFilterData$.subscribe(),this.ontologyTerms$=r.filter$.pipe(cG("ontologyTerms")),this.cellTypeTerms$=r.filter$.pipe(cG("cellTypeTerms")),J_([this.theme$,this.themeMode$]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];p.theming.setTheme("".concat(i,"-theme-").concat(r)),f.markForCheck()})}return b(e,[{key:"isLightTheme",get:function(){return this.theming.getTheme().endsWith("light")}},{key:"ngOnInit",value:function(){var e=this,t=this.snackbar.openFromComponent(A$,{data:{preClose:function(){t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(t){e.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}},{key:"reset",value:function(e,t,n){e.open(),e.closeExpanded(),t.open(),t.closeExpanded(),n.removeBox(),this.resetView()}},{key:"resetView",value:function(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}},{key:"toggleScheme",value:function(){this.themeMode$.next(this.isLightTheme?"dark":"light")}},{key:"ontologySelected",value:function(e,t){if(e)return"anatomical-structures"===t?(this.data.updateFilter({ontologyTerms:e.map(function(e){return e.id})}),this.ontologySelectionLabel=this.createSelectionLabel(e)):(this.data.updateFilter({cellTypeTerms:e.map(function(e){return e.id})}),this.cellTypeSelectionLabel=this.createSelectionLabel(e)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?"".concat(this.ontologySelectionLabel," | ").concat(this.cellTypeSelectionLabel):this.ontologySelectionLabel?"".concat(this.ontologySelectionLabel):this.cellTypeSelectionLabel?"".concat(this.cellTypeSelectionLabel):"",void(e[0]&&"body"===e[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}},{key:"createSelectionLabel",value:function(e){if(0===e.length)return"";if(1===e.length)return e[0].label;var t="";return e.forEach(function(n,i){t+=n.label,i0}}]),e}();function S3(e,t){1&e&&Is(0,"ccf-root")}function C3(e){var t=function(e){return"string"==typeof e},n=function(e){return Array.isArray(e)&&e.every(t)};if("string"==typeof e){var i=hQ.json(e);if(n(i))return i}else if(n(e))return e;throw new Error("Invalid data sources")}x3.\u0275fac=function(e){return new(e||x3)(Os(Ju),Os(ss),Os(SQ),Os(sQ),Os(jQ),Os(NQ),Os(wq),Os(bw),Os(oQ),Os(R$),Os(E$),Os(Cc))},x3.\u0275cmp=Ot({type:x3,selectors:[["ccf-root"]],viewQuery:function(e,t){var n;(1&e&&yl(m3,5),2&e)&&(ml(n=_l())&&(t.bodyUI=n.first))},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(e,t){if(1&e){var n=Ls();As(0,"div",0),Is(1,"ccf-spinner-overlay",1),Jc(2,"async"),Jc(3,"async"),Cs(4,y3,5,14,"ccf-header",2),Jc(5,"async"),As(6,"ccf-drawer-container",3),Jc(7,"async"),As(8,"ccf-drawer",4,5),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),As(10,"div"),As(11,"div",6),As(12,"ccf-filters-popover",7,8),Vs("filtersChange",function(e){return t.data.updateFilter(e)})("spatialSearchSelected",function(e){return t.setSelectedSearches(e)})("spatialSearchRemoved",function(e){return t.removeSpatialSearch(e)}),Jc(14,"async"),Jc(15,"async"),Jc(16,"async"),Jc(17,"async"),Ms(),As(18,"div",9),As(19,"div",10),Cu(20,"Sex: "),As(21,"strong"),Cu(22),Jc(23,"async"),Ms(),Ms(),As(24,"div",11),Cu(25,"Age: "),As(26,"strong"),Cu(27),Jc(28,"async"),Jc(29,"async"),Ms(),Ms(),As(30,"div",12),Cu(31,"BMI: "),As(32,"strong"),Cu(33),Jc(34,"async"),Jc(35,"async"),Ms(),Ms(),Ms(),Ms(),As(36,"ccf-ontology-selection",13),Vs("ontologySelection",function(e){return t.ontologySelected(e,"anatomical-structures")}),Jc(37,"async"),Jc(38,"async"),Jc(39,"async"),Jc(40,"async"),Ms(),As(41,"ccf-ontology-selection",14),Vs("ontologySelection",function(e){return t.ontologySelected(e,"cell-type")}),Jc(42,"async"),Jc(43,"async"),Jc(44,"async"),Jc(45,"async"),Ms(),Is(46,"ccf-drawer-toggle-button"),Ms(),Ms(),As(47,"ccf-drawer",15,16),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),As(49,"ccf-viewer",17),Vs("closed",function(){return t.viewerOpen=!1}),Ms(),As(50,"div",18),As(51,"div",19),As(52,"button",20),Vs("click",function(){bn(n);var e=Es(13),t=Es(48);return e.removeBox(),t.toggleExpanded()}),As(53,"mat-icon",21),Cu(54),Ms(),Ms(),As(55,"button",22),Vs("click",function(){return t.toggleScheme()}),As(56,"mat-icon",21),Cu(57),Ms(),Ms(),As(58,"button",23),As(59,"mat-icon",24),Vs("click",function(){bn(n);var e=Es(9),i=Es(48),r=Es(13);return t.reset(e,i,r)}),Cu(60,"refresh "),Ms(),Ms(),Ms(),Is(61,"ccf-info-button",25),Ms(),As(62,"ccf-results-browser",26),Vs("listResultSelected",function(e){return t.listResultsState.selectListResult(e)})("listResultDeselected",function(e){return t.listResultsState.deselectListResult(e)})("linkClicked",function(e){return t.openiFrameViewer(e)})("itemHovered",function(e){return t.listResultsState.highlightNode(e)})("itemUnhovered",function(){return t.listResultsState.unHighlightNode()}),Jc(63,"async"),Jc(64,"async"),Jc(65,"async"),Jc(66,"async"),Ms(),Is(67,"ccf-drawer-toggle-button"),Ms(),As(68,"ccf-drawer-content"),Jc(69,"async"),As(70,"div",27),As(71,"ccf-organ-selector",28,29),Vs("organsChanged",function(e){return t.scene.setSelectedReferenceOrgans(e)}),Jc(73,"async"),Jc(74,"async"),Jc(75,"async"),Ms(),Ms(),As(76,"div",30),Cs(77,b3,3,1,"div",31),Cs(78,_3,3,1,"div",31),Ms(),Is(79,"ccf-run-spatial-search"),As(80,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.scene.sceneNodeClicked(e)})("nodeHoverStart",function(e){return t.scene.sceneNodeHovered(e)})("nodeHoverStop",function(){return t.scene.sceneNodeUnhover()}),Jc(82,"async"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i,r,o,a,s=Es(48),u=Es(72);Yo(1),Ts("text",el(2,55,t.loadingMessage$))("active",el(3,57,t.spinnerActive$)),Yo(3),Ts("ngIf",!1===el(5,59,t.spinnerActive$)),Yo(2),cu("header-hidden",!1===el(7,61,t.header$)),Yo(6),Ts("filters",el(14,63,t.data.filter$))("drawerExpanded",s.expanded)("technologyFilters",el(15,65,t.data.technologyFilterData$))("providerFilters",el(16,67,t.data.providerFilterData$))("spatialSearchFilters",el(17,69,t.selectableSearches$)),Yo(10),Eu(null==(i=el(23,71,t.data.filter$))?null:i.sex),Yo(5),Tu("",null==(r=el(28,73,t.data.filter$))?null:r.ageRange[0],"-",null==(r=el(29,75,t.data.filter$))?null:r.ageRange[1],""),Yo(6),Tu("",null==(o=el(34,77,t.data.filter$))?null:o.bmiRange[0],"-",null==(o=el(35,79,t.data.filter$))?null:o.bmiRange[1],""),Yo(3),Ts("treeModel",el(37,81,t.ontologyTreeModel$))("termData",el(38,83,t.data.ontologyTermsFullData$))("occurenceData",el(39,85,t.data.ontologyTermOccurencesData$))("header",el(40,87,t.header$)),Yo(5),Ts("treeModel",el(42,89,t.cellTypeTreeModel$))("termData",el(43,91,t.data.cellTypeTermsFullData$))("occurenceData",el(44,93,t.data.cellTypeTermOccurencesData$))("header",el(45,95,t.header$)),Yo(8),cu("opened",t.viewerOpen),Ts("url",t.url),Yo(3),Ts("matTooltip",s.expanded?"Exit Fullscreen":"Enter Fullscreen"),Yo(2),Eu(s.expanded?"fullscreen_exit":"fullscreen"),Yo(1),Ts("matTooltip",t.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),Yo(2),Ou("",t.isLightTheme?"brightness_2":"brightness_5"," "),Yo(5),Ts("listResults",el(63,97,t.listResultsState.listResults$))("aggregateData",el(64,99,t.data.aggregateData$))("resultLabel",t.selectionLabel)("highlighted",el(65,101,t.listResultsState.highlightedNodeId$))("header",el(66,103,t.header$)),Yo(6),cu("header-hidden",!1===el(69,105,t.header$)),Yo(2),cu("closed",!t.organListVisible)("expanded",u.expanded),Yo(1),Ts("multiselect",!0)("occurenceData",null!==(a=el(73,107,t.data.ontologyTermOccurencesData$))&&void 0!==a?a:Kc(115,w3))("organList",el(74,109,t.scene.referenceOrgans$))("selectedOrgans",el(75,111,t.scene.selectedReferenceOrgans$)),Yo(5),cu("closed",!t.organListVisible),Yo(1),Ts("ngIf",t.organListVisible),Yo(1),Ts("ngIf",!u.expanded),Yo(2),cu("expanded-stage",!t.organListVisible)("selector-expanded",u.expanded),Ts("scene",el(82,113,t.scene.scene$))("bounds",Kc(116,k3))}},directives:[YQ,Yh,cZ,rZ,C0,c1,l1,f1,Ow,B_,x$,s3,eZ,f$,m0,n$,g3],pipes:[sd],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),Mw([Bz(CQ.cellTypesTreeModel)],x3.prototype,"cellTypeTreeModel$",void 0),Mw([Bz(CQ.anatomicalStructuresTreeModel)],x3.prototype,"ontologyTreeModel$",void 0),Mw([Bz(AQ.items)],x3.prototype,"selectableSearches$",void 0),Mw([EK()],x3.prototype,"setSelectedSearches",void 0),Mw([EK()],x3.prototype,"removeSpatialSearch",void 0);var E3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},dQ.dbOptions),globalThis.dbOptions),dQ.customization),parse:{dataSources:C3,useRemoteApi:hQ.boolean,header:hQ.boolean,loginDisabled:hQ.boolean}})}return n}(lQ);return e.\u0275fac=function(t){return new(t||e)(Os(E$),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[cs],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&Cs(0,S3,1,0,"ccf-root",0),2&e&&Ts("ngIf",t.initialized)},directives:[Yh,x3],encapsulation:2,changeDetection:0}),e}(),O3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,f3,Aw]]}),e}(),T3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).locator=i,r}return b(n,[{key:"createWorker",value:function(e){var t=this.getWorkerUrl(!0);return new Worker(t,{type:"module"})}},{key:"getWorkerUrl",value:function(e){if(e)return new URL(r(88509),r.b);var t=this.locator.prepareExternalUrl("0-es2015.worker.js"),n=new Blob(["importScripts('".concat(t,"')")],{type:"application/javascript"});return URL.createObjectURL(n)}}]),n}(H$);return e.\u0275fac=function(t){return new(t||e)(Zi(E$),Zi(Th))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),P3=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"selectToken",value:function(e){var t=e.useRemoteApi,n=e.remoteApiEndpoint;return t&&n?V$:"undefined"==typeof Worker||dQ.disableDbWorker?U$:T3}}]),n}(G$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),A3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:Il,useValue:sQ.initialize,multi:!0},sQ]}),e}(),M3=function(){var e=function(){function e(t,n){m(this,e),this.accessor=t,this.injector=n}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:e,providers:[qW,WW,HW].concat(v(t))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qW,2),Zi(WW,2))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),I3=function(e,t){return function(e,t){return new Array(t+1).join("0")}(0,t-e.toString().length)+e},R3=function(){function e(t,n,i){m(this,e),this.action=t,this.store=n,this.logWriter=i}return b(e,[{key:"dispatched",value:function(e){var t=QV(this.action),n=function(e){return I3(e.getHours(),2)+":"+I3(e.getMinutes(),2)+":"+I3(e.getSeconds(),2)+"."+I3(e.getMilliseconds(),3)}(new Date);this.logWriter.startGroup("action ".concat(t," @ ").concat(n)),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}},{key:"completed",value:function(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}},{key:"errored",value:function(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}},{key:"_hasPayload",value:function(e){return this._getNonEmptyProperties(e).length>0}},{key:"_getNonEmptyProperties",value:function(e){return Object.keys(e).map(function(t){return e[t]}).filter(function(e){return void 0!==e})}}]),e}(),D3=function(){function e(t){m(this,e),this.options=t,this.options=this.options||{},this.logger=t.logger||console}return b(e,[{key:"startGroup",value:function(e){var t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(n){console.log(e)}}},{key:"endGroup",value:function(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}},{key:"logGrey",value:function(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}},{key:"logGreen",value:function(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}},{key:"logRedish",value:function(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}},{key:"log",value:function(e,t,n){this.isIE()?this.logger.log(e,n):this.logger.log("%c "+e,t,n)}},{key:"isIE",value:function(){var e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"",t=!1,n=e.indexOf("MSIE "),i=e.indexOf("Trident/");return(n>-1||i>-1)&&(t=!0),t}}]),e}(),N3=new Ri("NGXS_LOGGER_PLUGIN_OPTIONS"),L3=function(){var e=function(){function e(t,n){m(this,e),this._options=t,this._injector=n}return b(e,[{key:"handle",value:function(e,t,n){if(this._options.disabled||!this._options.filter(t,e))return n(e,t);this._logWriter=this._logWriter||new D3(this._options),this._store=this._store||this._injector.get(Pz);var i=new R3(t,this._store,this._logWriter);return i.dispatched(e),n(e,t).pipe(mv(function(e){i.completed(e)}),Bb(function(e){throw i.errored(e),e}))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(N3),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),j3=new Ri("LOGGER_USER_OPTIONS");function F3(e){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:function(){return!0}},e)}var B3=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:UV,useClass:L3,multi:!0},{provide:j3,useValue:t},{provide:N3,useFactory:F3,deps:[j3]}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function V3(e,t){return e>=0&&e=t?t:e+t<0?0:e+t}function z3(e,t){if(1&e&&(As(0,"span"),Cu(1),Ms()),2&e){var n=t.$implicit;lu(n.styles),du(n.classes),Yo(1),Ou(" ",n.text,"\n")}}var U3=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-decorated-text",this.segments=[]}return b(e,[{key:"ngOnChanges",value:function(e){("text"in e||"decorations"in e)&&(this.segments=this.createSegments())}},{key:"createSegments",value:function(){var e=this.text;if(!e)return[this.makeUndecoratedSegment(e)];var t=this.getNormalizedDecorations();if(0===t.length)return[this.makeUndecoratedSegment(e)];var n=this.createStackOps(t),i=[],r=[],o=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.push(this.makeDecoratedSegment(e.slice(o,u.index),r)),o=u.index,r=this.updateStack(r,u)}}catch(c){s.e(c)}finally{s.f()}return o!==e.length&&i.push(this.makeDecoratedSegment(e.slice(o),r)),i}},{key:"createStackOps",value:function(e){var t,n={},i=function(e){var t;return null!==(t=n[e])&&void 0!==t?t:n[e]={index:e,added:[],removed:[]}},r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;i(o.start).added.push(o),i(o.end).removed.push(o)}}catch(a){r.e(a)}finally{r.f()}return Object.entries(n).sort(function(e,t){return+e[0]-+t[0]}).map(function(e){return e[1]})}},{key:"updateStack",value:function(e,t){return e.filter(function(e){return!t.removed.includes(e)}).concat(t.added)}},{key:"getNormalizedDecorations",value:function(){var e=this.decorations,t=void 0===e?[]:e,n=this.text.length;return t.map(function(e){return function(e,t){var n,i,r,o;return{start:V3(null!==(n=e.start)&&void 0!==n?n:0,t),end:V3(null!==(i=e.end)&&void 0!==i?i:t,t),classes:null!==(r=e.classes)&&void 0!==r?r:[],styles:null!==(o=e.styles)&&void 0!==o?o:{}}}(e,n)}).filter(function(e){return e.startt?e[0]:void 0,max:e[1]1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();v5.\u0275fac=function(e){return new(e||v5)(Zi(FG),Zi(yq),Zi(h5),Zi(f5),Zi(h_))},v5.\u0275prov=$e({token:v5,factory:v5.\u0275fac}),Mw([jz(r5)],v5.prototype,"learnMore",null),Mw([jz(o5)],v5.prototype,"open",null),Mw([jz(a5)],v5.prototype,"close",null),v5=d5=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],v5);var g5=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();Mw([Vz([v5])],g5,"title",null),Mw([Vz([v5])],g5,"message",null),Mw([Vz([v5])],g5,"callToAction",null),Mw([Vz([v5])],g5,"imageUrl",null),Mw([Vz([v5])],g5,"expirationDate",null),Mw([Vz([v5])],g5,"popupShown",null);var m5=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"p",4),Cu(5),Ms(),As(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),As(9,"mat-dialog-content",7),As(10,"div",8),Cu(11),Ms(),As(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),y5=function e(){m(this,e),this.close=function(){return new a5},this.learnMore=function(){return new r5}};y5.\u0275fac=function(e){return new(e||y5)},y5.\u0275cmp=Ot({type:y5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(As(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[m5],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(g5.title)],y5.prototype,"title$",void 0),Mw([Bz(g5.message)],y5.prototype,"message$",void 0),Mw([Bz(g5.callToAction)],y5.prototype,"callToAction$",void 0),Mw([Bz(g5.imageUrl)],y5.prototype,"imageUrl$",void 0),Mw([EK()],y5.prototype,"close",void 0),Mw([EK()],y5.prototype,"learnMore",void 0);var b5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}],_5=function(e){a(n,e);var t=s(n);function n(e,i){var r;m(this,n),(r=t.call(this)).registry=e;var o,a=_(b5);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=s.name,c=s.namespace,l=s.url,h=s.html,d={name:u,namespace:c,url:l&&i.bypassSecurityTrustResourceUrl(l),html:h&&i.bypassSecurityTrustHtml(h)};r.registerIconImpl(d)}}catch(f){a.e(f)}finally{a.f()}return r}return b(n,[{key:"registerIcon",value:function(e){return this.registerIconImpl(e)}},{key:"registerIconImpl",value:function(e){if(!this.registry||!e.url&&!e.html)return!1;var t=this.registry,n=t[this.getMethodName(e)],i=this.getArguments(e);if(!n)return!1;try{return n.apply(t,i),!0}catch(r){return!1}}},{key:"getMethodName",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=["addSvgIcon"];return t||r.push("Set"),i||r.push("Literal"),n&&r.push("InNamespace"),r.join("")}},{key:"getArguments",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=e.html;return[n,t,null!=i?i:r].filter(function(e){return!!e})}}]),n}(hq);_5.\u0275fac=function(e){return new(e||_5)(Zi(A_,8),Zi(Vd))},_5.\u0275prov=$e({token:_5,factory:_5.\u0275fac}),Mw([sq()],_5.prototype,"registerIcon",null),_5=Mw([cq(),Fz({name:"iconRegistry"})],_5);var w5=[E$,DQ,_5,NQ,SQ,jQ,v5,zJ,PQ],k5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[M3.forRoot(),Lz.forRoot(w5,{developmentMode:!dQ.production,selectorOptions:{injectContainerState:!1}}),OK.forRoot(),B3.forRoot({disabled:dQ.production})]]}),e}(),x5=function(){var e=function e(t){if(m(this,e),t)throw new Error("The core module should only be imported once in the root module")};return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:R$,useExisting:P3}],imports:[[S_,Eq.forRoot({gaToken:dQ.googleAnalyticsToken,appName:"eui"}),O$,Fq.forRoot(function(){return new Lq({basePath:dQ.dbOptions.remoteApiEndpoint})}),O3,k5,A3],O3]}),e}(),S5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,e$]]}),e}(),C5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,DH,VZ]]}),e}(),E5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,cv,yp,DH,VZ,RJ]]}),e}(),O5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_]]}),e}(),T5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,S5,C5,E5,iQ,O5]]}),e}(),P5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,T5]]}),e}(),A5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,JU,eH,JH,DH,uG,V_]]}),e}(),M5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,Aw,q0,g$]]}),e}(),I5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,A5,M5]]}),e}(),R5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,A5,M5,I5],A5,M5,I5]}),e}();function D5(){return(D5=Object.assign||function(e){for(var t=1;t0&&(n(o,!!e.isBeginning),e.params.watchOverflow&&e.enabled&&o[e.isLocked?"addClass":"removeClass"](t.lockClass)),r&&r.length>0&&(n(r,!!e.isEnd),e.params.watchOverflow&&e.enabled&&r[e.isLocked?"addClass":"removeClass"](t.lockClass))}},onPrevClick:function(e){var t=this;e.preventDefault(),(!t.isBeginning||t.params.loop)&&t.slidePrev()},onNextClick:function(e){var t=this;e.preventDefault(),(!t.isEnd||t.params.loop)&&t.slideNext()},init:function(){var e,t,n=this,i=n.params.navigation;n.params.navigation=function(e,t,n,i){var r=_1();return n&&Object.keys(i).forEach(function(n){if(!t[n]&&!0===t.auto){var o=r.createElement("div");o.className=i[n],e.append(o),t[n]=o}}),t}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(e=F1(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===n.$el.find(i.nextEl).length&&(e=n.$el.find(i.nextEl))),i.prevEl&&(t=F1(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===n.$el.find(i.prevEl).length&&(t=n.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",n.navigation.onNextClick),t&&t.length>0&&t.on("click",n.navigation.onPrevClick),H1(n.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}),n.enabled||(e&&e.addClass(i.lockClass),t&&t.addClass(i.lockClass)))},destroy:function(){var e=this,t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n.length&&(n.off("click",e.navigation.onNextClick),n.removeClass(e.params.navigation.disabledClass)),i&&i.length&&(i.off("click",e.navigation.onPrevClick),i.removeClass(e.params.navigation.disabledClass))}},L5={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){G1(this,{navigation:D5({},N5)})},on:{init:function(e){e.navigation.init(),e.navigation.update()},toEdge:function(e){e.navigation.update()},fromEdge:function(e){e.navigation.update()},destroy:function(e){e.navigation.destroy()},"enable disable":function(e){var t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),i&&i[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)},click:function(e,t){var n=e.navigation,i=n.$nextEl,r=n.$prevEl,o=t.target;if(e.params.navigation.hideOnClick&&!F1(o).is(r)&&!F1(o).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===o||e.pagination.el.contains(o)))return;var a;i?a=i.hasClass(e.params.navigation.hiddenClass):r&&(a=r.hasClass(e.params.navigation.hiddenClass)),e.emit(!0===a?"navigationShow":"navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),r&&r.toggleClass(e.params.navigation.hiddenClass)}}}},j5=function(){var e=function e(){m(this,e),l2.use([L5])};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,q2]]}),e}(),F5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),B5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,e$,V_,j5,F5]]}),e}(),V5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,up,B5]]}),e}(),z5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:$Q,useValue:KQ}],imports:[[Gd,Zy,V_]]}),e}(),U5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,XQ]]}),e}(),H5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,XQ]]}),e}(),G5=function(){var e=function(){function e(t){m(this,e),this.injector=t}return b(e,[{key:"ngDoBootstrap",value:function(){var e=function(e,t){var n=function(e,t){return t.get(Ku).resolveComponentFactory(e).inputs}(e,t.injector),i=t.strategyFactory||new dv(e,t.injector),r=function(e){var t={};return e.forEach(function(e){var n=e.propName,i=e.templateName;t[function(e){return e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())})}(i)]=n}),t}(n),o=function(e){a(u,e);var o=s(u);function u(e){var t;return m(this,u),(t=o.call(this)).injector=e,t}return b(u,[{key:"ngElementStrategy",get:function(){var e=this;if(!this._ngElementStrategy){var r=this._ngElementStrategy=i.create(this.injector||t.injector);n.forEach(function(t){var n=t.propName;if(e.hasOwnProperty(n)){var i=e[n];delete e[n],r.setInputValue(n,i)}})}return this._ngElementStrategy}},{key:"attributeChangedCallback",value:function(e,t,n,i){this.ngElementStrategy.setInputValue(r[e],n)}},{key:"connectedCallback",value:function(){var e=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),e=!0),this.ngElementStrategy.connect(this),e||this.subscribeToEvents()}},{key:"disconnectedCallback",value:function(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}},{key:"subscribeToEvents",value:function(){var e=this;this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(function(t){var n=function(e,t,n){if("function"!=typeof CustomEvent){var i=e.createEvent("CustomEvent");return i.initCustomEvent(t,!1,!1,n),i}return new CustomEvent(t,{bubbles:!1,cancelable:!1,detail:n})}(e.ownerDocument,t.name,t.value);e.dispatchEvent(n)})}}]),u}(pv);return o.observedAttributes=Object.keys(r),n.forEach(function(e){var t=e.propName;Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(E3,{injector:this.injector});customElements.define("ccf-eui",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:aQ,useValue:"hubmap-theme-light"},{provide:Hp,useExisting:oQ}],imports:[[Zy,Gd,x5,z5,P5,R5,V_,E5,V5,U5,i$,p$,S$,Aw,H5,M$,mw,O5]]}),e}();dQ.production&&function(){if(oh)throw new Error("Cannot enable prod mode after platform setup.");rh=!1}(),Ud().bootstrapModule(G5).catch(function(e){return console.error(e)})},91052:function(e){function t(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}e.exports=function(e){return function(){var n=this,i=arguments;return new Promise(function(r,o){var a=e.apply(n,i);function s(e){t(a,r,o,s,u,"next",e)}function u(e){t(a,r,o,s,u,"throw",e)}s(void 0)})}},e.exports.default=e.exports,e.exports.__esModule=!0},61948:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},34321:function(e){function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(n)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},91741:function(e){function t(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=function(){return[]},t.resolve=t,t.id=91741,e.exports=t},88509:function(e,t,n){"use strict";e.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(e){e(e.s=51316)}])}(); \ No newline at end of file +!function(){function e(t,n,i){return(e="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(n):r.value}})(t,n,i||t)}function t(e,t){return r(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var i,r,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(i=n.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(u){s=!0,r=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return o}(e,t)||w(e,t)||i()}function n(e){return r(e)||g(e)||w(e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e){if(Array.isArray(e))return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}function s(e){var t=d();return function(){var n,i=p(e);if(t){var r=p(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return u(this,n)}}function u(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return h(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),f(i,e)})(e)}function h(e,t,n){return(h=d()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&f(r,n.prototype),r}).apply(null,arguments)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){return function(e){if(Array.isArray(e))return k(e)}(e)||g(e)||w(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0?a-4:a;for(n=0;n>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,u[l++]=255&t),1===s&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},n.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],a=16383,s=0,u=n-r;su?u:s+a));return 1===r?o.push(i[(t=e[n-1])>>2]+i[t<<4&63]+"=="):2===r&&o.push(i[(t=(e[n-2]<<8)+e[n-1])>>10]+i[t>>4&63]+i[t<<2&63]+"="),o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e){return i[e>>18&63]+i[e>>12&63]+i[e>>6&63]+i[63&e]}function h(e,t,n){for(var i=[],r=t;r>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}n.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(e.lastNeed=r-1),r):--i=0?(r>0&&(e.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":4}],6:[function(e,t,n){(function(t){(function(){"use strict";var t=e("base64-js"),i=e("ieee754");n.Buffer=a,n.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function o(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=a.prototype,t}function a(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,n)}function s(e,t,n){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|d(e,t),i=o(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(B(e,ArrayBuffer)||e&&B(e.buffer,ArrayBuffer))return function(e,t,n){if(t<0||e.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function d(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||B(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return i?-1:L(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function p(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=a.from(t,i)),a.isBuffer(t))return 0===t.length?-1:g(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):g(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function g(e,t,n,i,r){var o,a=1,s=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var l=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r.push(n%256),r.push(i);return r}(t,e.length-n),e,n,i)}function x(e,n,i){return t.fromByteArray(0===n&&i===e.length?e:e.slice(n,i))}function S(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[r+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:a=e[r+2],128==(192&(o=e[r+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[r+2],s=e[r+3],128==(192&(o=e[r+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(i.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,n,i,r,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function M(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function R(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,8),i.write(e,t,n,r,52,8),n+8}n.kMaxLength=r,!(a.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(t){return!1}}())&&"undefined"!=typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(e,t,n){return s(e,t,n)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(e,t,n){return function(e,t,n){return u(e),e<=0?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)}(e,t,n)},a.allocUnsafe=function(e){return c(e)},a.allocUnsafeSlow=function(e){return c(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);rt&&(e+=" ... "),""},a.prototype.compare=function(e,t,n,i,r){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),u=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},a.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||A(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||A(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,i){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),t);return r},a.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!a.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var r=e.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(e=r)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function B(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}}).call(this)}).call(this,e("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(e,t,n){"use strict";t.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(function(t,n,i){return t+(0===i?"":",")+e(void 0===n||"symbol"==typeof n?null:n)},"")+"]":"{"+Object.keys(t).sort().reduce(function(n,i,r){return void 0===t[i]||"symbol"==typeof t[i]?n:n+(0===n.length?"":",")+e(i)+":"+e(t[i])},"")+"}"}},{}],8:[function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(e,t){return new Promise(function(n,i){function r(n){e.removeListener(t,o),i(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,r)})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var u=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var r,o,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(r=l(e))>0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=g(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},s.prototype.listenerCount=v,s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(e,t,n){n.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,d=n?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+e[t+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=i;l>0;a=256*a+e[t+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,i),o-=c}return(f?-1:1)*a*Math.pow(2,o-i)},n.write=function(e,t,n,i,r,o){var a,s,u,c=8*o-r-1,l=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(t*u-1)*Math.pow(2,r),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&s,f+=p,s/=256,r-=8);for(a=a<0;e[n+f]=255&a,f+=p,a/=256,c-=8);e[n+f-p]|=128*v}},{}],10:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],11:[function(e,t,n){"use strict";var i=e("./types"),r=i.isArray,o=i.isObject,a=i.isString,s=e("./util").asArray,u=e("./url").prependBase,c=e("./JsonLdError"),l=e("./ResolvedContext");function d(e){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:e})}function f(e){var t=e.context,n=e.base;if(t){var i=t["@context"];if(a(i))t["@context"]=u(n,i);else if(r(i))for(var s=0;s10)){e.next=2;break}throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});case 2:if(!s.has(n)){e.next=4;break}throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:n});case 4:return s.add(n),e.prev=5,e.next=8,i(n);case 8:l=e.sent,u=l.document||null,a(u)&&(u=JSON.parse(u)),e.next=16;break;case 13:throw e.prev=13,e.t0=e.catch(5),new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:n,cause:e.t0});case 16:if(o(u)){e.next=18;break}throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:n});case 18:return e.abrupt("return",(u="@context"in u?{"@context":u["@context"]}:{"@context":{}},l.contextUrl&&(r(u["@context"])||(u["@context"]=[u["@context"]]),u["@context"].push(l.contextUrl)),{context:u,remoteDoc:l}));case 19:case"end":return e.stop()}},e,null,[[5,13]])}))()}}]),e}()},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(e,t,n){"use strict";t.exports=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"An unspecified JSON-LD error occurred.",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jsonld.Error",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return m(this,n),(e=t.call(this,i)).name=r,e.message=i,e.details=o,e}return n}(l(Error))},{}],13:[function(e,t,n){"use strict";t.exports=function(e){var t=function(){function e(){m(this,e)}return b(e,[{key:"toString",value:function(){return"[object JsonLdProcessor]"}}]),e}();return Object.defineProperty(t,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(t.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:t}),t.compact=function(t,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):e.compact(t,n)},t.expand=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):e.expand(t)},t.flatten=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):e.flatten(t)},t}},{}],14:[function(e,t,n){"use strict";t.exports=e("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(e,t,n){"use strict";t.exports=function(){function e(){m(this,e),this._requests={}}return b(e,[{key:"wrapLoader",value:function(e){var t=this;return t._loader=e,function(){return t.add.apply(t,arguments)}}},{key:"add",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!(i=t._requests[e])){n.next=3;break}return n.abrupt("return",Promise.resolve(i));case 3:return i=t._requests[e]=t._loader(e),n.prev=4,n.next=7,i;case 7:return n.abrupt("return",n.sent);case 8:return n.prev=8,delete t._requests[e],n.finish(8);case 11:case"end":return n.stop()}},n,null,[[4,,8,11]])}))()}}]),e}()},{}],16:[function(e,t,n){"use strict";var i=e("lru-cache");t.exports=function(){function e(t){var n=t.document;m(this,e),this.document=n,this.cache=new i({max:10})}return b(e,[{key:"getProcessed",value:function(e){return this.cache.get(e)}},{key:"setProcessed",value:function(e,t){this.cache.set(e,t)}}]),e}()},{"lru-cache":33}],17:[function(e,i,r){"use strict";var a,s=e("./JsonLdError"),u=e("./types"),c=u.isArray,l=u.isObject,d=u.isString,f=u.isUndefined,p=e("./graphTypes"),v=p.isList,g=p.isValue,m=p.isGraph,y=p.isSimpleGraph,b=p.isSubjectReference,w=e("./context"),k=w.expandIri,x=w.getContextValue,S=w.isKeyword,C=w.process,E=w.processingMode,O=e("./url"),T=O.removeBase,P=O.prependBase,A=e("./util"),M=A.addValue,I=A.asArray,R=A.compareShortestLeast,D={};function N(e,t,n){if("@nest"!==k(e,t,{vocab:!0},n))throw new s("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}i.exports=D,D.compact=(a=h(regeneratorRuntime.mark(function e(t){var i,r,a,u,h,p,w,k,O,T,P,A,R;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.activeCtx,r=t.activeProperty,a=void 0===r?null:r,u=t.element,h=t.options,p=void 0===h?{}:h,w=t.compactionMap,k=void 0===w?function(){}:w,!c(u)){e.next=21;break}O=[],T=0;case 4:if(!(T1&&(L=Array.from(L).sort()),j=i,F=_(L),e.prev=27,F.s();case 29:if((B=F.n()).done){e.next=39;break}if(V=B.value,z=D.compactIri({activeCtx:j,iri:V,relativeTo:{vocab:!0}}),U=x(A,z,"@context"),e.t1=f(U),e.t1){e.next=37;break}return e.next=36,C({activeCtx:i,localCtx:U,options:p,propagate:!1});case 36:i=e.sent;case 37:e.next=29;break;case 39:e.next=44;break;case 41:e.prev=41,e.t2=e.catch(27),F.e(e.t2);case 44:return e.prev=44,F.f(),e.finish(44);case 47:H=Object.keys(u).sort(),G=_(H),e.prev=49,G.s();case 51:if((W=G.n()).done){e.next=184;break}if(q=W.value,X=u[q],"@id"===q){e.next=180;break}if("@type"===q){e.next=174;break}if("@reverse"===q){e.next=167;break}if("@preserve"===q){e.next=161;break}if("@index"===q){e.next=155;break}if("@graph"===q||"@list"===q||"@included"===q||!S(q)){e.next=64;break}Y=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,Y,X),e.next=153;break;case 64:if(c(X)){e.next=66;break}throw new s("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");case 66:0===X.length&&(K=D.compactIri({activeCtx:i,iri:q,value:X,relativeTo:{vocab:!0},reverse:T}),$=i.mappings.has(K)?i.mappings.get(K)["@nest"]:null,Q=P,$&&(N(i,$,p),l(P[$])||(P[$]={}),Q=P[$]),M(Q,K,X,{propertyIsArray:!0})),Z=_(X),e.prev=68,Z.s();case 70:if((J=Z.n()).done){e.next=145;break}return ee=J.value,te=D.compactIri({activeCtx:i,iri:q,value:ee,relativeTo:{vocab:!0},reverse:T}),ne=i.mappings.has(te)?i.mappings.get(te)["@nest"]:null,ie=P,ne&&(N(i,ne,p),l(P[ne])||(P[ne]={}),ie=P[ne]),re=x(i,te,"@container")||[],oe=m(ee),ae=v(ee),se=void 0,ae?se=ee["@list"]:oe&&(se=ee["@graph"]),e.next=80,D.compact({activeCtx:i,activeProperty:te,element:ae||oe?se:ee,options:p,compactionMap:k});case 80:if(ue=e.sent,!ae){e.next=86;break}if(c(ue)||(ue=[ue]),!re.includes("@list")){e.next=85;break}return M(ie,te,ue,{valueIsArray:!0,allowDuplicate:!0}),e.abrupt("continue",143);case 85:ue=o({},D.compactIri({activeCtx:i,iri:"@list",relativeTo:{vocab:!0}}),ue),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]);case 86:if(!oe){e.next=90;break}re.includes("@graph")&&(re.includes("@id")||re.includes("@index")&&y(ee))?(ce=void 0,ie.hasOwnProperty(te)?ce=ie[te]:ie[te]=ce={},le=(re.includes("@id")?ee["@id"]:ee["@index"])||D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}}),M(ce,le,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):re.includes("@graph")&&y(ee)?(c(ue)&&ue.length>1&&(ue={"@included":ue}),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):(c(ue)&&1===ue.length&&p.compactArrays&&(ue=ue[0]),ue=o({},D.compactIri({activeCtx:i,iri:"@graph",relativeTo:{vocab:!0}}),ue),"@id"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=ee["@id"]),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})),e.next=143;break;case 90:if(!(re.includes("@language")||re.includes("@index")||re.includes("@id")||re.includes("@type"))){e.next=141;break}if(he=void 0,de=void 0,ie.hasOwnProperty(te)?he=ie[te]:ie[te]=he={},!re.includes("@language")){e.next=96;break}g(ue)&&(ue=ue["@value"]),de=ee["@language"],e.next=138;break;case 96:if(!re.includes("@index")){e.next=117;break}if(fe=x(i,te,"@index")||"@index",pe=D.compactIri({activeCtx:i,iri:fe,relativeTo:{vocab:!0}}),"@index"!==fe){e.next=102;break}de=ee["@index"],delete ue[pe],e.next=115;break;case 102:if(me=void 0,ve=I(ue[fe]||[]),ge=n(ve),de=ge[0],me=ge.slice(1),!d(de)){e.next=114;break}e.t3=me.length,e.next=0===e.t3?107:1===e.t3?109:111;break;case 107:return delete ue[fe],e.abrupt("break",112);case 109:return ue[fe]=me[0],e.abrupt("break",112);case 111:ue[fe]=me;case 112:e.next=115;break;case 114:de=null;case 115:e.next=138;break;case 117:if(!re.includes("@id")){e.next=122;break}ye=D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}}),de=ue[ye],delete ue[ye],e.next=138;break;case 122:if(!re.includes("@type")){e.next=138;break}be=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),_e=void 0,e.t4=(t=I(ue[be]||[]),r=n(t),de=r[0],(_e=r.slice(1)).length),e.next=0===e.t4?128:1===e.t4?130:132;break;case 128:return delete ue[be],e.abrupt("break",133);case 130:return ue[be]=_e[0],e.abrupt("break",133);case 132:ue[be]=_e;case 133:if(e.t5=1===Object.keys(ue).length&&"@id"in ee,!e.t5){e.next=138;break}return e.next=137,D.compact({activeCtx:i,activeProperty:te,element:{"@id":ee["@id"]},options:p,compactionMap:k});case 137:ue=e.sent;case 138:de||(de=D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}})),M(he,de,ue,{propertyIsArray:re.includes("@set")}),e.next=143;break;case 141:we=!p.compactArrays||re.includes("@set")||re.includes("@list")||c(ue)&&0===ue.length||"@list"===q||"@graph"===q,M(ie,te,ue,{propertyIsArray:we});case 143:e.next=70;break;case 145:e.next=150;break;case 147:e.prev=147,e.t6=e.catch(68),Z.e(e.t6);case 150:return e.prev=150,Z.f(),e.finish(150);case 153:e.next=159;break;case 155:if(!(x(i,a,"@container")||[]).includes("@index")){e.next=157;break}return e.abrupt("continue",182);case 157:ke=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,ke,X);case 159:e.next=165;break;case 161:return e.next=163,D.compact({activeCtx:i,activeProperty:a,element:X,options:p,compactionMap:k});case 163:xe=e.sent,c(xe)&&0===xe.length||M(P,q,xe);case 165:e.next=172;break;case 167:return e.next=169,D.compact({activeCtx:i,activeProperty:"@reverse",element:X,options:p,compactionMap:k});case 169:for(Ce in Se=e.sent)i.mappings.has(Ce)&&i.mappings.get(Ce).reverse&&(Ee=Se[Ce],Oe=(x(i,Ce,"@container")||[]).includes("@set")||!p.compactArrays,M(P,Ce,Ee,{propertyIsArray:Oe}),delete Se[Ce]);Object.keys(Se).length>0&&(Te=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,Te,Se));case 172:e.next=178;break;case 174:1===(Pe=I(X).map(function(e){return D.compactIri({activeCtx:A,iri:e,relativeTo:{vocab:!0}})})).length&&(Pe=Pe[0]),Ae=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),Me=(x(i,Ae,"@container")||[]).includes("@set")&&E(i,1.1)||c(Pe)&&0===X.length,M(P,Ae,Pe,{propertyIsArray:Me});case 178:e.next=182;break;case 180:1===(Ie=I(X).map(function(e){return D.compactIri({activeCtx:i,iri:e,relativeTo:{vocab:!1},base:p.base})})).length&&(Ie=Ie[0]),P[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=Ie;case 182:e.next=51;break;case 184:e.next=189;break;case 186:e.prev=186,e.t7=e.catch(49),G.e(e.t7);case 189:return e.prev=189,G.f(),e.finish(189);case 192:return e.abrupt("return",{v:P});case 193:case"end":return e.stop()}},e,null,[[27,41,44,47],[49,186,189,192],[68,147,150,153]])})(),"t3",29);case 29:if("object"!=typeof(R=e.t3)){e.next=32;break}return e.abrupt("return",R.v);case 32:return e.abrupt("return",u);case 33:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)}),D.compactIri=function(e){var n=e.activeCtx,i=e.iri,r=e.value,o=void 0===r?null:r,a=e.relativeTo,u=void 0===a?{vocab:!1}:a,c=e.reverse,h=void 0!==c&&c,d=e.base,f=void 0===d?null:d;if(null===i)return i;n.isPropertyTermScoped&&n.previousContext&&(n=n.previousContext);var p=n.getInverse();if(S(i)&&i in p&&"@none"in p[i]&&"@type"in p[i]["@none"]&&"@none"in p[i]["@none"]["@type"])return p[i]["@none"]["@type"]["@none"];if(u.vocab&&i in p){var y=n["@language"]||"@none",b=[];l(o)&&"@index"in o&&!("@graph"in o)&&b.push("@index","@index@set"),l(o)&&"@preserve"in o&&(o=o["@preserve"][0]),m(o)?("@index"in o&&b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o&&b.push("@graph@id","@graph@id@set"),b.push("@graph","@graph@set","@set"),"@index"in o||b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o||b.push("@graph@id","@graph@id@set")):l(o)&&!g(o)&&b.push("@id","@id@set","@type","@set@type");var w="@language",k="@null";if(h)w="@type",k="@reverse",b.push("@set");else if(v(o)){"@index"in o||b.push("@list");var x=o["@list"];if(0===x.length)w="@any",k="@none";else{for(var C=0===x.length?y:null,E=null,O=0;O=0;--G){var W,q=V[G],X=_(q.terms);try{for(X.s();!(W=X.n()).done;){var Y=W.value,K=Y+":"+i.substr(q.iri.length);n.mappings.get(Y)._prefix&&(!n.mappings.has(K)||null===o&&n.mappings.get(K)["@id"]===i)&&(null===B||R(K,B)<0)&&(B=K)}}catch(te){X.e(te)}finally{X.f()}}if(null!==B)return B;var $,Q=_(n.mappings);try{for(Q.s();!($=Q.n()).done;){var Z=t($.value,2),J=Z[0],ee=Z[1];if(ee&&ee._prefix&&i.startsWith(J+":"))throw new s('Absolute IRI "'.concat(i,'" confused with prefix "').concat(J,'".'),"jsonld.SyntaxError",{code:"IRI confused with prefix",context:n})}}catch(te){Q.e(te)}finally{Q.f()}return u.vocab?i:"@base"in n?n["@base"]?T(P(f,n["@base"]),i):i:T(f,i)},D.compactValue=function(e){var t=e.activeCtx,n=e.activeProperty,i=e.value,r=e.options;if(g(i)){var a=x(t,n,"@type"),s=x(t,n,"@language"),u=x(t,n,"@direction"),c=x(t,n,"@container")||[],l="@index"in i&&!c.includes("@index");if(!l&&"@none"!==a&&(i["@type"]===a||"@language"in i&&i["@language"]===s&&"@direction"in i&&i["@direction"]===u||"@language"in i&&i["@language"]===s||"@direction"in i&&i["@direction"]===u))return i["@value"];var h=Object.keys(i).length,f=1===h||2===h&&"@index"in i&&!l,p="@language"in t,v=d(i["@value"]),m=t.mappings.has(n)&&null===t.mappings.get(n)["@language"];if(f&&"@none"!==a&&(!p||!v||m))return i["@value"];var y={};return l&&(y[D.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=i["@index"]),"@type"in i?y[D.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=D.compactIri({activeCtx:t,iri:i["@type"],relativeTo:{vocab:!0}}):"@language"in i&&(y[D.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=i["@language"]),"@direction"in i&&(y[D.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=i["@direction"]),y[D.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=i["@value"],y}var b=k(t,n,{vocab:!0},r),_=x(t,n,"@type"),w=D.compactIri({activeCtx:t,iri:i["@id"],relativeTo:{vocab:"@vocab"===_},base:r.base});return"@id"===_||"@vocab"===_||"@graph"===b?w:o({},D.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}}),w)}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(e,t,n){"use strict";var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";t.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(e,n,i){"use strict";var r,o=e("./util"),a=e("./JsonLdError"),s=e("./types"),u=s.isArray,c=s.isObject,l=s.isString,d=s.isUndefined,f=e("./url"),p=f.isAbsolute,g=f.isRelative,m=f.prependBase,y=e("./util"),b=y.asArray,w=y.compareShortestLeast,k=new Map,x=/^@[a-zA-Z]+$/,S={};function C(e,t,n,i,r,o){if(null===t||!l(t)||S.isKeyword(t))return t;if(t.match(x))return null;if(i&&i.hasOwnProperty(t)&&!0!==r.get(t)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:t,defined:r,options:o}),(n=n||{}).vocab){var a=e.mappings.get(t);if(null===a)return null;if(c(a)&&"@id"in a)return a["@id"]}var s=t.indexOf(":");if(s>0){var u=t.substr(0,s),h=t.substr(s+1);if("_"===u||0===h.indexOf("//"))return t;i&&i.hasOwnProperty(u)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:u,defined:r,options:o});var d=e.mappings.get(u);if(d&&d._prefix)return d["@id"]+h;if(p(t))return t}if(n.vocab&&"@vocab"in e)return e["@vocab"]+t;if(n.base&&"@base"in e){if(e["@base"])return m(m(o.base,e["@base"]),t)}else if(n.base)return m(o.base,t);return t}function E(e,t){if(!e||"object"!=typeof e||!t||"object"!=typeof t)return e===t;var n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(var i=0;i0,"@reverse"in t){if("@id"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});if("@nest"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});var k=t["@reverse"];if(!l(k))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(!S.isKeyword(k)&&k.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:k}),void(g?n.mappings.set(r,g):n.mappings.delete(r));var O=C(n,k,{vocab:!0,base:!1},i,o,s);if(!p(O))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=O,y.reverse=!0}else if("@id"in t){var T=t["@id"];if(T&&!l(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(null===T)y["@id"]=null;else{if(!S.isKeyword(T)&&T.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:T}),void(g?n.mappings.set(r,g):n.mappings.delete(r));if(T!==r){if(T=C(n,T,{vocab:!0,base:!1},i,o,s),!p(T)&&!S.isKeyword(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(r.match(/(?::[^:])|\//)&&C(n,r,{vocab:!0,base:!1},i,new Map(o).set(r,!0),s)!==T)throw new a("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=T,y._prefix=m&&!y._termHasColon&&T.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in y))if(y._termHasColon){var P=r.substr(0,w);if(i.hasOwnProperty(P)&&S.createTermDefinition({activeCtx:n,localCtx:i,term:P,defined:o,options:s}),n.mappings.has(P)){var A=r.substr(w+1);y["@id"]=n.mappings.get(P)["@id"]+A}else y["@id"]=r}else if("@type"===r)y["@id"]=r;else{if(!("@vocab"in n))throw new a("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i,term:r});y["@id"]=n["@vocab"]+r}if((!0===t["@protected"]||!0===o.get("@protected")&&!1!==t["@protected"])&&(n.protected[r]=!0,y.protected=!0),o.set(r,!0),"@type"in t){var M=t["@type"];if(!l(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if("@json"===M||"@none"===M){if(S.processingMode(n,1))throw new a('Invalid JSON-LD syntax; an @context @type value must not be "'.concat(M,'" in JSON-LD 1.0 mode.'),"jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else if("@id"!==M&&"@vocab"!==M){if(M=C(n,M,{vocab:!0,base:!1},i,o,s),!p(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if(0===M.indexOf("_:"))throw new a("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}y["@type"]=M}if("@container"in t){var I=l(t["@container"])?[t["@container"]]:t["@container"]||[],R=["@list","@set","@index","@language"],D=!0,N=I.includes("@set");if(S.processingMode(n,1.1)){if(R.push("@graph","@id","@type"),I.includes("@list")){if(1!==I.length)throw new a("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else if(I.includes("@graph")){if(I.some(function(e){return"@graph"!==e&&"@id"!==e&&"@index"!==e&&"@set"!==e}))throw new a("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else D&=I.length<=(N?2:1);if(I.includes("@type")&&(y["@type"]=y["@type"]||"@id",!["@id","@vocab"].includes(y["@type"])))throw new a("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else D&=!u(t["@container"]),D&=I.length<=1;if(D&=I.every(function(e){return R.includes(e)}),!(D&=!(N&&I.includes("@list"))))throw new a("Invalid JSON-LD syntax; @context @container value must be one of the following: "+R.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:i});if(y.reverse&&!I.every(function(e){return["@index","@set"].includes(e)}))throw new a("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});y["@container"]=I}if("@index"in t){if(!("@container"in t)||!y["@container"].includes("@index"))throw new a('Invalid JSON-LD syntax; @index without @index in @container: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});if(!l(t["@index"])||0===t["@index"].indexOf("@"))throw new a('Invalid JSON-LD syntax; @index must expand to an IRI: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});y["@index"]=t["@index"]}if("@context"in t&&(y["@context"]=t["@context"]),"@language"in t&&!("@type"in t)){var L=t["@language"];if(null!==L&&!l(L))throw new a("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:i});null!==L&&(L=L.toLowerCase()),y["@language"]=L}if("@prefix"in t){if(r.match(/:|\//))throw new a("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:i});if(S.isKeyword(y["@id"]))throw new a("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:i});if("boolean"!=typeof t["@prefix"])throw new a("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:i});y._prefix=!0===t["@prefix"]}if("@direction"in t){var j=t["@direction"];if(null!==j&&"ltr"!==j&&"rtl"!==j)throw new a('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:i});y["@direction"]=j}if("@nest"in t){var F=t["@nest"];if(!l(F)||"@nest"!==F&&0===F.indexOf("@"))throw new a("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:i});y["@nest"]=F}var B=y["@id"];if("@context"===B||"@preserve"===B)throw new a("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:i});if(g&&g.protected&&!d&&(n.protected[r]=!0,y.protected=!0,!E(g,y))){var V=s&&s.protectedMode||"error";if("error"===V)throw new a('Invalid JSON-LD syntax; tried to redefine "'.concat(r,'" which is a protected term.'),"jsonld.SyntaxError",{code:"protected term redefinition",context:i,term:r});if("warn"===V)return void console.warn("WARNING: protected term redefinition",{term:r});throw new a("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:i,term:r,protectedMode:V})}},S.expandIri=function(e,t,n,i){return C(e,t,n,void 0,void 0,i)},S.getInitialContext=function(e){var t=JSON.stringify({processingMode:e.processingMode}),n=k.get(t);if(n)return n;var i={processingMode:e.processingMode,mappings:new Map,inverse:null,getInverse:function(){var e=this;if(e.inverse)return e.inverse;var t,n=e.inverse={},i=e.fastCurieMap={},o={},s=(e["@language"]||"@none").toLowerCase(),u=e["@direction"],c=e.mappings,l=_(v(c.keys()).sort(w));try{for(l.s();!(t=l.n()).done;){var h=t.value,d=c.get(h);if(null!==d){var f=d["@container"]||"@none";if(f=[].concat(f).sort().join(""),null!==d["@id"]){var p,g=_(b(d["@id"]));try{for(g.s();!(p=g.n()).done;){var m=p.value,y=n[m],k=S.isKeyword(m);if(y)!k&&!d._termHasColon&&o[m].push(h);else if(n[m]=y={},!k&&!d._termHasColon){o[m]=[h];var x={iri:m,terms:o[m]};m[0]in i?i[m[0]].push(x):i[m[0]]=[x]}if(y[f]||(y[f]={"@language":{},"@type":{},"@any":{}}),a(h,(y=y[f])["@any"],"@none"),d.reverse)a(h,y["@type"],"@reverse");else if("@none"===d["@type"])a(h,y["@any"],"@none"),a(h,y["@language"],"@none"),a(h,y["@type"],"@none");else if("@type"in d)a(h,y["@type"],d["@type"]);else if("@language"in d&&"@direction"in d){var C=d["@language"],E=d["@direction"];a(h,y["@language"],C&&E?"".concat(C,"_").concat(E).toLowerCase():C?C.toLowerCase():E?"_".concat(E):"@null")}else"@language"in d?a(h,y["@language"],(d["@language"]||"@null").toLowerCase()):"@direction"in d?a(h,y["@language"],d["@direction"]?"_".concat(d["@direction"]):"@none"):u?(a(h,y["@language"],"_".concat(u)),a(h,y["@language"],"@none"),a(h,y["@type"],"@none")):(a(h,y["@language"],s),a(h,y["@language"],"@none"),a(h,y["@type"],"@none"))}}catch(T){g.e(T)}finally{g.f()}}}}}catch(T){l.e(T)}finally{l.f()}for(var O in i)r(i,O,1);return n},clone:function(){var e={};return e.mappings=o.clone(this.mappings),e.clone=this.clone,e.inverse=null,e.getInverse=this.getInverse,e.protected=o.clone(this.protected),this.previousContext&&(e.previousContext=this.previousContext.clone()),e.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(e["@base"]=this["@base"]),"@language"in this&&(e["@language"]=this["@language"]),"@vocab"in this&&(e["@vocab"]=this["@vocab"]),e},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===k.size&&k.clear(),k.set(t,i),i;function r(e,t,n){var i,o,a,s=e[t],u=e[t]={},c=_(s);try{for(c.s();!(a=c.n()).done;){var l=a.value;(o=n>=(i=l.iri).length?"":i[n])in u?u[o].push(l):u[o]=[l]}}catch(d){c.e(d)}finally{c.f()}for(var h in u)""!==h&&r(u,h,n+1)}function a(e,t,n){t.hasOwnProperty(n)||(t[n]=e)}},S.getContextValue=function(e,t,n){if(null===t)return"@context"===n?void 0:null;if(e.mappings.has(t)){var i=e.mappings.get(t);if(d(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in e||"@direction"===n&&n in e?e[n]:"@context"!==n?null:void 0},S.processingMode=function(e,t){return t.toString()>="1.1"?!e.processingMode||e.processingMode>="json-ld-"+t.toString():"json-ld-1.0"===e.processingMode},S.isKeyword=function(e){if(!l(e)||"@"!==e[0])return!1;switch(e){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(e,t,n){"use strict";var i=e("../util"),r=i.parseLinkHeader,o=i.buildHeaders,a=e("../constants").LINK_HEADER_CONTEXT,s=e("../JsonLdError"),u=e("../RequestQueue"),c=e("../url").prependBase,l=/(^|(\r\n))link:/i;function d(e,t,n){var i=new(e=e||XMLHttpRequest);return new Promise(function(e,r){for(var o in i.onload=function(){return e(i)},i.onerror=function(e){return r(e)},i.open("GET",t,!0),n)i.setRequestHeader(o,n[o]);i.send()})}t.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{headers:{}},t=e.secure,n=e.headers,i=void 0===n?{}:n,f=e.xhr;return i=o(i),(new u).wrapLoader(p);function p(e){return v.apply(this,arguments)}function v(){return(v=h(regeneratorRuntime.mark(function e(n){var o,u,h,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0===n.indexOf("http:")||0===n.indexOf("https:")){e.next=2;break}throw new s('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 2:if(!t||0===n.indexOf("https")){e.next=4;break}throw new s('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 4:return e.prev=4,e.next=7,d(f,n,i);case 7:o=e.sent,e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(4),new s("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:n,cause:e.t0});case 13:if(!(o.status>=400)){e.next=15;break}throw new s("URL could not be dereferenced: "+o.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:n,httpStatusCode:o.status});case 15:if(u={contextUrl:null,documentUrl:n,document:o.response},h=null,v=o.getResponseHeader("Content-Type"),l.test(o.getAllResponseHeaders())&&(g=o.getResponseHeader("Link")),!g||"application/ld+json"===v){e.next=28;break}if(m=r(g),y=m[a],!Array.isArray(y)){e.next=21;break}throw new s("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:n});case 21:if(y&&(u.contextUrl=y.target),h=m.alternate,e.t1=h&&"application/ld+json"==h.type&&!(v||"").match(/^application\/(\w*\+)?json$/),!e.t1){e.next=28;break}return e.next=27,p(c(n,h.target));case 27:u=e.sent;case 28:return e.abrupt("return",u);case 29:case"end":return e.stop()}},e,null,[[4,10]])}))).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(e,n,i){"use strict";var r=e("./JsonLdError"),o=e("./types"),a=o.isArray,s=o.isObject,u=o.isEmptyObject,c=o.isString,l=o.isUndefined,d=e("./graphTypes"),f=d.isList,p=d.isValue,v=d.isGraph,g=d.isSubject,m=e("./context"),y=m.expandIri,b=m.getContextValue,w=m.isKeyword,k=m.process,x=m.processingMode,S=e("./url").isAbsolute,C=e("./util"),E=C.addValue,O=C.asArray,T=C.getValues,P=C.validateTypeValue,A={};n.exports=A;var M,I=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function R(e){return D.apply(this,arguments)}function D(){return(D=h(regeneratorRuntime.mark(function e(n){var i,o,h,d,v,m,C,T,M,D,N,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se,ue,ce,le,he,de,fe,pe,ve,ge,me,ye,be,_e,we,ke,xe,Se,Ce;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.activeCtx,o=n.activeProperty,h=n.expandedActiveProperty,d=n.element,v=n.expandedParent,m=n.options,C=void 0===m?{}:m,T=n.insideList,M=n.typeKey,D=n.typeScopedContext,N=n.expansionMap,F=Object.keys(d).sort(),B=[],z=d[M]&&"@json"===y(i,a(d[M])?d[M][0]:d[M],{vocab:!0},C),U=_(F),e.prev=4,U.s();case 6:if((H=U.n()).done){e.next=187;break}if(G=H.value,W=void 0,q=d[G],"@context"!==G){e.next=11;break}return e.abrupt("continue",185);case 11:if(null!==(X=y(i,G,{vocab:!0},C))&&(S(X)||w(X))||void 0!==(X=N({unmappedProperty:G,activeCtx:i,activeProperty:o,parent:d,options:C,insideList:T,value:q,expandedParent:v}))){e.next=14;break}return e.abrupt("continue",185);case 14:if(!w(X)){e.next=19;break}if("@reverse"!==h){e.next=17;break}throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});case 17:if(!(X in v)||"@included"===X||"@type"===X){e.next=19;break}throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:X});case 19:if("@id"!==X){e.next=34;break}if(c(q)){e.next=32;break}if(C.isFrame){e.next=23;break}throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 23:if(!s(q)){e.next=28;break}if(u(q)){e.next=26;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 26:e.next=32;break;case 28:if(a(q)){e.next=30;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 30:if(q.every(function(e){return c(e)})){e.next=32;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 32:return E(v,"@id",O(q).map(function(e){return c(e)?y(i,e,{base:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 34:if("@type"!==X){e.next=37;break}return s(q)&&(q=Object.fromEntries(Object.entries(q).map(function(e){var n=t(e,2),i=n[0],r=n[1];return[y(D,i,{vocab:!0}),O(r).map(function(e){return y(D,e,{base:!0,vocab:!0})})]}))),P(q,C.isFrame),E(v,"@type",O(q).map(function(e){return c(e)?y(D,e,{base:!0,vocab:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 37:if("@included"!==X||!x(i,1.1)){e.next=47;break}return e.t0=O,e.next=41,A.expand({activeCtx:i,activeProperty:o,element:q,options:C,expansionMap:N});case 41:if(e.t1=e.sent,(Y=(0,e.t0)(e.t1)).every(function(e){return g(e)})){e.next=45;break}throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});case 45:return E(v,"@included",Y,{propertyIsArray:!0}),e.abrupt("continue",185);case 47:if("@graph"!==X||s(q)||a(q)){e.next=49;break}throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});case 49:if("@value"!==X){e.next=52;break}return V=q,z&&x(i,1.1)?v["@value"]=q:E(v,"@value",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 52:if("@language"!==X){e.next=62;break}if(null!==q){e.next=55;break}return e.abrupt("continue",185);case 55:if(c(q)||C.isFrame){e.next=57;break}throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});case 57:q=O(q).map(function(e){return c(e)?e.toLowerCase():e}),K=_(q);try{for(K.s();!($=K.n()).done;)Q=$.value,c(Q)&&!Q.match(I)&&console.warn("@language must be valid BCP47: ".concat(Q))}catch(Ee){K.e(Ee)}finally{K.f()}return E(v,"@language",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 62:if("@direction"!==X){e.next=85;break}if(c(q)||C.isFrame){e.next=65;break}throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 65:q=O(q),Z=_(q),e.prev=67,Z.s();case 69:if((J=Z.n()).done){e.next=75;break}if(ee=J.value,!c(ee)||"ltr"===ee||"rtl"===ee){e.next=73;break}throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 73:e.next=69;break;case 75:e.next=80;break;case 77:e.prev=77,e.t2=e.catch(67),Z.e(e.t2);case 80:return e.prev=80,Z.f(),e.finish(80);case 83:return E(v,"@direction",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 85:if("@index"!==X){e.next=90;break}if(c(q)){e.next=88;break}throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});case 88:return E(v,"@index",q),e.abrupt("continue",185);case 90:if("@reverse"!==X){e.next=118;break}if(s(q)){e.next=93;break}throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});case 93:return e.next=95,A.expand({activeCtx:i,activeProperty:"@reverse",element:q,options:C,expansionMap:N});case 95:if(!("@reverse"in(W=e.sent))){e.next=98;break}for(te in W["@reverse"])E(v,te,W["@reverse"][te],{propertyIsArray:!0});case 98:ne=v["@reverse"]||null,e.t3=regeneratorRuntime.keys(W);case 100:if((e.t4=e.t3()).done){e.next=117;break}if("@reverse"!==(ie=e.t4.value)){e.next=104;break}return e.abrupt("continue",100);case 104:null===ne&&(ne=v["@reverse"]={}),E(ne,ie,[],{propertyIsArray:!0}),re=W[ie],oe=0;case 107:if(!(oe1?$.slice().sort():$:[$],Z=_(Q),e.prev=81,Z.s();case 83:if((J=Z.n()).done){e.next=93;break}if(ee=J.value,te=b(C,ee,"@context"),e.t5=l(te),e.t5){e.next=91;break}return e.next=90,k({activeCtx:n,localCtx:te,options:f,propagate:!1});case 90:n=e.sent;case 91:e.next=83;break;case 93:e.next=98;break;case 95:e.prev=95,e.t6=e.catch(81),Z.e(e.t6);case 98:return e.prev=98,Z.f(),e.finish(98);case 101:e.next=75;break;case 103:e.next=108;break;case 105:e.prev=105,e.t7=e.catch(73),X.e(e.t7);case 108:return e.prev=108,X.f(),e.finish(108);case 111:return ne={},e.next=114,R({activeCtx:n,activeProperty:o,expandedActiveProperty:F,element:h,expandedParent:ne,options:f,insideList:v,typeKey:q,typeScopedContext:C,expansionMap:P});case 114:if(V=Object.keys(ne),ie=V.length,!("@value"in ne)){e.next=137;break}if(!("@type"in ne)||!("@language"in ne)&&!("@direction"in ne)){e.next=119;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 119:if(re=ie-1,"@type"in ne&&(re-=1),"@index"in ne&&(re-=1),"@language"in ne&&(re-=1),"@direction"in ne&&(re-=1),0===re){e.next=122;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 122:if(oe=null===ne["@value"]?[]:O(ne["@value"]),ae=T(ne,"@type"),x(n,1.1)&&ae.includes("@json")&&1===ae.length){e.next=135;break}if(0!==oe.length){e.next=131;break}return e.next=127,P({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 127:se=e.sent,ne=void 0!==se?se:null,e.next=135;break;case 131:if(oe.every(function(e){return c(e)||u(e)})||!("@language"in ne)){e.next=133;break}throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ne});case 133:if(ae.every(function(e){return S(e)&&!(c(e)&&0===e.indexOf("_:"))||u(e)})){e.next=135;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ne});case 135:e.next=152;break;case 137:if(!("@type"in ne)||a(ne["@type"])){e.next=141;break}ne["@type"]=[ne["@type"]],e.next=152;break;case 141:if(!("@set"in ne)&&!("@list"in ne)){e.next=147;break}if(!(ie>1)||2===ie&&"@index"in ne){e.next=144;break}throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ne});case 144:"@set"in ne&&(ne=ne["@set"],V=Object.keys(ne),ie=V.length),e.next=152;break;case 147:if(1!==ie||!("@language"in ne)){e.next=152;break}return e.next=150,P(ne,{unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 150:ue=e.sent,ne=void 0!==ue?ue:null;case 152:if(!s(ne)||f.keepFreeFloatingNodes||v||null!==o&&"@graph"!==F||!(0===ie||"@value"in ne||"@list"in ne||1===ie&&"@id"in ne)){e.next=157;break}return e.next=155,P({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 155:ce=e.sent,ne=void 0!==ce?ce:null;case 157:return e.abrupt("return",ne);case 158:case"end":return e.stop()}},e,null,[[38,53,56,59],[73,105,108,111],[81,95,98,101]])})),function(e){return M.apply(this,arguments)})},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(e,t,n){"use strict";var i=e("./graphTypes").isSubjectReference,r=e("./nodeMap").createMergedNodeMap,o={};t.exports=o,o.flatten=function(e){for(var t=r(e),n=[],o=Object.keys(t).sort(),a=0;a=0;--i){var r=n[i];if(r.graph===t&&r.subject["@id"]===e["@id"])return!0}return!1}function g(e,t,n){var i="@"+n,r=i in e?e[i][0]:t[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:e});return r}function m(e){if(!a.isArray(e)||1!==e.length||!a.isObject(e[0]))throw new c("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:e});if("@id"in e[0]){var t,n=_(s.asArray(e[0]["@id"]));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(!a.isObject(i)&&!u.isAbsolute(i)||a.isString(i)&&0===i.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){n.e(h)}finally{n.f()}}if("@type"in e[0]){var r,o=_(s.asArray(e[0]["@type"]));try{for(o.s();!(r=o.n()).done;){var l=r.value;if(!a.isObject(l)&&!u.isAbsolute(l)||a.isString(l)&&0===l.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){o.e(h)}finally{o.f()}}}function y(e,t,n,o){var u=!0,c=!1;for(var l in n){var h=!1,d=s.getValues(t,l),f=0===s.getValues(n,l).length;if("@id"===l){if(a.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!o.requireAll)return h}else if("@type"===l){if(u=!1,f){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&a.isEmptyObject(n["@type"][0]))h=d.length>0;else{var p,v=_(n["@type"]);try{var g=function(){var e=p.value;h=!(!a.isObject(e)||!("@default"in e))||h||d.some(function(t){return t===e})};for(v.s();!(p=v.n()).done;)g()}catch(b){v.e(b)}finally{v.f()}}if(!o.requireAll)return h}else{if(i(l))continue;var y=function(){var t=s.getValues(n,l)[0],i=!1;if(t&&(m([t]),i="@default"in t),u=!1,0===d.length&&i)return"continue";if(d.length>0&&f)return{v:!1};if(void 0===t){if(d.length>0)return{v:!1};h=!0}else if(r.isList(t)){var c=t["@list"][0];if(r.isList(d[0])){var p=d[0]["@list"];r.isValue(c)?h=p.some(function(e){return S(c,e)}):(r.isSubject(c)||r.isSubjectReference(c))&&(h=p.some(function(t){return x(e,c,t,o)}))}}else h=r.isValue(t)?d.some(function(e){return S(t,e)}):r.isSubjectReference(t)?d.some(function(n){return x(e,t,n,o)}):!!a.isObject(t)&&d.length>0}();if("continue"===y)continue;if("object"==typeof y)return y.v}if(!h&&o.requireAll)return!1;c=c||h}return u||c}function b(e,t){var n=e.uniqueEmbeds[e.graph],i=n[t],r=i.parent,o=i.property,u={"@id":t};if(a.isArray(r)){for(var c=0;c4&&void 0!==arguments[4]?arguments[4]:null;m(n);var h=e.options,d={embed:g(n=n[0],h,"embed"),explicit:g(n,h,"explicit"),requireAll:g(n,h,"requireAll")};e.link.hasOwnProperty(e.graph)||(e.link[e.graph]={});var w,x=e.link[e.graph],C=function(e,t,n,i){var r,o={},a=_(t);try{for(a.s();!(r=a.n()).done;){var s=r.value,u=e.graphMap[e.graph][s];y(e,u,n,i)&&(o[s]=u)}}catch(c){a.e(c)}finally{a.f()}return o}(e,t,n,d),E=Object.keys(C).sort(),O=_(E);try{var T=function(){var m=w.value,y=C[m];if(null===l?e.uniqueEmbeds=o({},e.graph,{}):e.uniqueEmbeds[e.graph]=e.uniqueEmbeds[e.graph]||{},"@link"===d.embed&&m in x)return k(u,l,x[m]),"continue";var E={"@id":m};if(0===m.indexOf("_:")&&s.addValue(e.bnodeMap,m,E,{propertyIsArray:!0}),x[m]=E,("@first"===d.embed||"@last"===d.embed)&&e.is11)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(e.embedded||!e.uniqueEmbeds[e.graph].hasOwnProperty(m)){if(e.embedded&&("@never"===d.embed||v(y,e.graph,e.subjectStack)))return k(u,l,E),"continue";if(e.embedded&&("@first"==d.embed||"@once"==d.embed)&&e.uniqueEmbeds[e.graph].hasOwnProperty(m))return k(u,l,E),"continue";if("@last"===d.embed&&m in e.uniqueEmbeds[e.graph]&&b(e,m),e.uniqueEmbeds[e.graph][m]={parent:u,property:l},e.subjectStack.push({subject:y,graph:e.graph}),m in e.graphMap){var O=!1,T=null;"@graph"in n?(T=n["@graph"][0],O=!("@merged"===m||"@default"===m),a.isObject(T)||(T={})):(O="@merged"!==e.graph,T={}),O&&f.frame(I(M({},e),{graph:m,embedded:!1}),Object.keys(e.graphMap[m]).sort(),[T],E,"@graph")}"@included"in n&&f.frame(I(M({},e),{embedded:!1}),t,n["@included"],E,"@included");var P,A=_(Object.keys(y).sort());try{for(A.s();!(P=A.n()).done;){var R=P.value;if(i(R)){if(E[R]=s.clone(y[R]),"@type"===R){var D,N=_(y["@type"]);try{for(N.s();!(D=N.n()).done;){var L=D.value;0===L.indexOf("_:")&&s.addValue(e.bnodeMap,L,E,{propertyIsArray:!0})}}catch(re){N.e(re)}finally{N.f()}}}else if(!d.explicit||R in n){var j,F=_(y[R]);try{for(F.s();!(j=F.n()).done;){var B=j.value,V=R in n?n[R]:p(d);if(r.isList(B)){var z=n[R]&&n[R][0]&&n[R][0]["@list"]?n[R][0]["@list"]:p(d),U={"@list":[]};k(E,R,U);var H,G=_(B["@list"]);try{for(G.s();!(H=G.n()).done;){var W=H.value;r.isSubjectReference(W)?f.frame(I(M({},e),{embedded:!0}),[W["@id"]],z,U,"@list"):k(U,"@list",s.clone(W))}}catch(re){G.e(re)}finally{G.f()}}else r.isSubjectReference(B)?f.frame(I(M({},e),{embedded:!0}),[B["@id"]],V,E,R):S(V[0],B)&&k(E,R,s.clone(B))}}catch(re){F.e(re)}finally{F.f()}}}}catch(re){A.e(re)}finally{A.f()}var q,X=_(Object.keys(n).sort());try{for(X.s();!(q=X.n()).done;){var Y=q.value;if("@type"===Y){if(!a.isObject(n[Y][0])||!("@default"in n[Y][0]))continue}else if(i(Y))continue;var K=n[Y][0]||{};if(!g(K,h,"omitDefault")&&!(Y in E)){var $="@null";"@default"in K&&($=s.clone(K["@default"])),a.isArray($)||($=[$]),E[Y]=[{"@preserve":$}]}}}catch(re){X.e(re)}finally{X.f()}var Q,Z=_(Object.keys(n["@reverse"]||{}).sort());try{for(Z.s();!(Q=Z.n()).done;)for(var J=Q.value,ee=n["@reverse"][J],te=0,ne=Object.keys(e.subjects);te0&&(r["@language"]=l,l.match(k)||console.warn("@language must be valid BCP47: ".concat(l))),r["@direction"]=h}else a!==w&&(r["@type"]=a)}return r}n.exports=x,x.fromRDF=(r=h(regeneratorRuntime.mark(function e(t,n){var i,r,o,c,h,g,m,y,b,w,k,x,C,E,O,T,P,A,M,I,R,D,N,L,j,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.useRdfType,r=void 0!==i&&i,o=n.useNativeTypes,c=void 0!==o&&o,h=n.rdfDirection,g=void 0===h?null:h,y={"@default":m={}},b={},w=_(t),e.prev=3,w.s();case 5:if((k=w.n()).done){e.next=19;break}if(x=k.value,(C="DefaultGraph"===x.graph.termType?"@default":x.graph.value)in y||(y[C]={}),"@default"!==C&&!(C in m)&&(m[C]={"@id":C}),E=y[C],O=x.subject.value,T=x.predicate.value,P=x.object,O in E||(E[O]={"@id":O}),A=E[O],(M=P.termType.endsWith("Node"))&&!(P.value in E)&&(E[P.value]={"@id":P.value}),T!==v||r||!M){e.next=15;break}return u.addValue(A,"@type",P.value,{propertyIsArray:!0}),e.abrupt("continue",17);case 15:I=S(P,c,g),u.addValue(A,T,I,{propertyIsArray:!0}),M&&(P.value===p?("usages"in(R=E[P.value])||(R.usages=[]),R.usages.push({node:A,property:T,value:I})):b[P.value]=!(P.value in b)&&{node:A,property:T,value:I});case 17:e.next=5;break;case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(3),w.e(e.t0);case 24:return e.prev=24,w.f(),e.finish(24);case 27:e.t1=regeneratorRuntime.keys(y);case 28:if((e.t2=e.t1()).done){e.next=37;break}if(D=e.t2.value,N=y[D],p in N){e.next=33;break}return e.abrupt("continue",28);case 33:if((L=N[p]).usages){j=_(L.usages);try{for(j.s();!(F=j.n()).done;){for(B=F.value,V=B.node,z=B.property,U=B.value,H=[],G=[],W=Object.keys(V).length;z===f&&s.isObject(b[V["@id"]])&&s.isArray(V[d])&&1===V[d].length&&s.isArray(V[f])&&1===V[f].length&&(3===W||4===W&&s.isArray(V["@type"])&&1===V["@type"].length&&V["@type"][0]===l)&&(H.push(V[d][0]),G.push(V["@id"]),B=b[V["@id"]],V=B.node,z=B.property,U=B.value,W=Object.keys(V).length,a.isBlankNode(V)););for(delete U["@id"],U["@list"]=H.reverse(),q=0,X=G;q1||!("@id"in e))},r.isSubjectReference=function(e){return i.isObject(e)&&1===Object.keys(e).length&&"@id"in e},r.isValue=function(e){return i.isObject(e)&&"@value"in e},r.isList=function(e){return i.isObject(e)&&"@list"in e},r.isGraph=function(e){return i.isObject(e)&&"@graph"in e&&1===Object.keys(e).filter(function(e){return"@id"!==e&&"@index"!==e}).length},r.isSimpleGraph=function(e){return r.isGraph(e)&&!("@id"in e)},r.isBlankNode=function(e){return!!i.isObject(e)&&("@id"in e?0===e["@id"].indexOf("_:"):0===Object.keys(e).length||!("@value"in e||"@set"in e||"@list"in e))}},{"./types":30}],26:[function(e,t,n){var i=e("rdf-canonize"),r=e("./platform"),o=e("./util"),a=e("./ContextResolver"),s=o.IdentifierIssuer,u=e("./JsonLdError"),c=e("lru-cache"),l=e("./NQuads"),d=e("./expand").expand,f=e("./flatten").flatten,p=e("./fromRdf").fromRDF,v=e("./toRdf").toRDF,g=e("./frame"),m=g.frameMergedOrDefault,y=g.cleanupNull,b=e("./types"),w=b.isArray,k=b.isObject,x=b.isString,S=e("./graphTypes").isSubjectReference,C=e("./context"),P=C.expandIri,A=C.getInitialContext,I=C.process,R=C.processingMode,D=e("./compact"),N=D.compact,L=D.compactIri,j=e("./nodeMap"),F=j.createNodeMap,B=j.createMergedNodeMap,V=j.mergeNodeMaps,z=function(t){var n,g={},b=new c({max:100});function C(e,n){var i=n,r=i.documentLoader,o=void 0===r?t.documentLoader:r,a=function(e,t){var n={};for(var i in e)O.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&E){var r,o=_(E(e));try{for(o.s();!(r=o.n()).done;)i=r.value,t.indexOf(i)<0&&T.call(e,i)&&(n[i]=e[i])}catch(a){o.e(a)}finally{o.f()}}return n}(i,["documentLoader"]);return Object.assign({},{documentLoader:o},a,e)}return t.compact=(n=h(regeneratorRuntime.mark(function e(n,i,r){var c,l,h,d,f,p,v,g,m,y,_=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(_.length<2)){e.next=2;break}throw new TypeError("Could not compact, too few arguments.");case 2:if(null!==i){e.next=4;break}throw new u("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});case 4:if(null!==n){e.next=6;break}return e.abrupt("return",null);case 6:if((r=C(r,{base:x(n)?n:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new s("_:b"),contextResolver:new a({sharedCache:b})})).link&&(r.skipExpansion=!0),r.compactToRelative||delete r.base,!r.skipExpansion){e.next=12;break}e.t0=n,e.next=15;break;case 12:return e.next=14,t.expand(n,r);case 14:e.t0=e.sent;case 15:return c=e.t0,e.next=18,t.processContext(A(r),i,r);case 18:return l=e.sent,e.next=21,N({activeCtx:l,element:c,options:r,compactionMap:r.compactionMap});case 21:h=e.sent,r.compactArrays&&!r.graph&&w(h)?1===h.length?h=h[0]:0===h.length&&(h={}):r.graph&&k(h)&&(h=[h]),k(i)&&"@context"in i&&(i=i["@context"]),i=o.clone(i),w(i)||(i=[i]),d=i,i=[];for(f=0;f0)&&i.push(d[f]);if(p=i.length>0,1===i.length&&(i=i[0]),w(h))v=L({activeCtx:l,iri:"@graph",relativeTo:{vocab:!0}}),g=h,h={},p&&(h["@context"]=i),h[v]=g;else if(k(h)&&p)for(y in m=h,h={"@context":i},m)h[y]=m[y];return e.abrupt("return",h);case 29:case"end":return e.stop()}},e)})),function(e,t,i){return n.apply(this,arguments)}),t.expand=function(){var e=h(regeneratorRuntime.mark(function e(n,i){var r,s,u,c,l,h,f,p,v,g,m=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(m.length<1)){e.next=2;break}throw new TypeError("Could not expand, too few arguments.");case 2:if(!1===(i=C(i,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:b})})).expansionMap&&(i.expansionMap=void 0),r={},s=[],"expandContext"in i&&(u=o.clone(i.expandContext),r.expandContext=k(u)&&"@context"in u?u:{"@context":u},s.push(r.expandContext)),!x(n)){e.next=12;break}return e.next=8,t.get(n,i);case 8:l=e.sent,c=l.documentUrl,r.input=l.document,l.contextUrl&&(r.remoteContext={"@context":l.contextUrl},s.push(r.remoteContext)),e.next=13;break;case 12:r.input=o.clone(n);case 13:"base"in i||(i.base=c||""),h=A(i),f=0,p=s;case 16:if(!(f=1e21)},i.isEmptyObject=function(e){return i.isObject(e)&&0===Object.keys(e).length},i.isNumber=function(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)},i.isNumeric=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},i.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},i.isString=function(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)},i.isUndefined=function(e){return void 0===e}},{}],31:[function(e,t,n){"use strict";var i=e("./types"),r={};t.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=function(e,t){for(var n={},i=r.parsers[t||"full"],o=i.regex.exec(e),a=i.keys.length;a--;)n[i.keys[a]]=void 0===o[a]?null:o[a];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=function(e,t){if(null===e||r.isAbsolute(t))return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n=r.parse(t),o={protocol:e.protocol||""};if(null!==n.authority)o.authority=n.authority,o.path=n.path,o.query=n.query;else if(o.authority=e.authority,""===n.path)o.path=e.path,o.query=null!==n.query?n.query:e.query;else{if(0===n.path.indexOf("/"))o.path=n.path;else{var a=e.path;((a=a.substr(0,a.lastIndexOf("/")+1)).length>0||e.authority)&&"/"!==a.substr(-1)&&(a+="/"),a+=n.path,o.path=a}o.query=n.query}""!==n.path&&(o.path=r.removeDotSegments(o.path));var s=o.protocol;return null!==o.authority&&(s+="//"+o.authority),s+=o.path,null!==o.query&&(s+="?"+o.query),null!==n.fragment&&(s+="#"+n.fragment),""===s&&(s="./"),s},r.removeBase=function(e,t){if(null===e)return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n="";if(""!==e.href?n+=(e.protocol||"")+"//"+(e.authority||""):t.indexOf("//")&&(n+="//"),0!==t.indexOf(n))return t;for(var o=r.parse(t.substr(n.length)),a=e.normalizedPath.split("/"),s=o.normalizedPath.split("/"),u=o.fragment||o.query?0:1;a.length>0&&s.length>u&&a[0]===s[0];)a.shift(),s.shift();var c="";if(a.length>0){a.pop();for(var l=0;l0;){var i=t.shift(),r=0===t.length;"."!==i?".."!==i?n.push(i):(n.pop(),r&&n.push("")):r&&n.push("")}return"/"===e[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};var o=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=function(e){return i.isString(e)&&o.test(e)},r.isRelative=function(e){return i.isString(e)}},{"./types":30}],32:[function(e,n,i){"use strict";var r=e("./graphTypes"),o=e("./types"),a=e("rdf-canonize").IdentifierIssuer,s=e("./JsonLdError"),u=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,c=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,l=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,h="application/ld+json, application/json",d={};function f(e,t){if(o.isArray(t))for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};if(Object.keys(e).some(function(e){return"accept"===e.toLowerCase()}))throw new RangeError('Accept header may not be specified; only "'+h+'" is supported.');return Object.assign({Accept:h},e)},d.parseLinkHeader=function(e){for(var t={},n=e.match(u),i=0;i0}return!1},d.hasValue=function(e,t,n){if(d.hasProperty(e,t)){var i=e[t],a=r.isList(i);if(o.isArray(i)||a){a&&(i=i["@list"]);for(var s=0;st.maxAge:e[u]&&n>e[u]},y=function(e){if(e[o]>e[r])for(var t=e[h].tail;e[o]>e[r]&&null!==t;){var n=t.prev;_(e,t),t=n}},_=function(e,t){if(t){var n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[d].delete(n.key),e[h].removeNode(t)}},w=function e(t,n,i,r,o){m(this,e),this.key=t,this.value=n,this.length=i,this.now=r,this.maxAge=o||0},k=function(e,t,n,i){var r=n.value;g(e,r)&&(_(e,n),e[s]||(r=void 0)),r&&t.call(i,r.value,r.key,e)};t.exports=function(){function e(t){if(m(this,e),"number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;var n=t.length||p;if(this[a]="function"!=typeof n?p:n,this[s]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[u]=t.maxAge||0,this[c]=t.dispose,this[l]=t.noDisposeOnSet||!1,this[f]=t.updateAgeOnGet||!1,this.reset()}return b(e,[{key:"max",get:function(){return this[r]},set:function(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,y(this)}},{key:"allowStale",get:function(){return this[s]},set:function(e){this[s]=!!e}},{key:"maxAge",get:function(){return this[u]},set:function(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[u]=e,y(this)}},{key:"lengthCalculator",get:function(){return this[a]},set:function(e){var t=this;"function"!=typeof e&&(e=p),e!==this[a]&&(this[a]=e,this[o]=0,this[h].forEach(function(e){e.length=t[a](e.value,e.key),t[o]+=e.length})),y(this)}},{key:"length",get:function(){return this[o]}},{key:"itemCount",get:function(){return this[h].length}},{key:"rforEach",value:function(e,t){t=t||this;for(var n=this[h].tail;null!==n;){var i=n.prev;k(this,e,n,t),n=i}}},{key:"forEach",value:function(e,t){t=t||this;for(var n=this[h].head;null!==n;){var i=n.next;k(this,e,n,t),n=i}}},{key:"keys",value:function(){return this[h].toArray().map(function(e){return e.key})}},{key:"values",value:function(){return this[h].toArray().map(function(e){return e.value})}},{key:"reset",value:function(){var e=this;this[c]&&this[h]&&this[h].length&&this[h].forEach(function(t){return e[c](t.key,t.value)}),this[d]=new Map,this[h]=new i,this[o]=0}},{key:"dump",value:function(){var e=this;return this[h].map(function(t){return!g(e,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}}).toArray().filter(function(e){return e})}},{key:"dumpLru",value:function(){return this[h]}},{key:"set",value:function(e,t,n){if((n=n||this[u])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");var i=n?Date.now():0,s=this[a](t,e);if(this[d].has(e)){if(s>this[r])return _(this,this[d].get(e)),!1;var f=this[d].get(e).value;return this[c]&&(this[l]||this[c](e,f.value)),f.now=i,f.maxAge=n,f.value=t,this[o]+=s-f.length,f.length=s,this.get(e),y(this),!0}var p=new w(e,t,s,i,n);return p.length>this[r]?(this[c]&&this[c](e,t),!1):(this[o]+=p.length,this[h].unshift(p),this[d].set(e,this[h].head),y(this),!0)}},{key:"has",value:function(e){if(!this[d].has(e))return!1;var t=this[d].get(e).value;return!g(this,t)}},{key:"get",value:function(e){return v(this,e,!0)}},{key:"peek",value:function(e){return v(this,e,!1)}},{key:"pop",value:function(){var e=this[h].tail;return e?(_(this,e),e.value):null}},{key:"del",value:function(e){_(this,this[d].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var i=e[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{var o=r-t;o>0&&this.set(i.k,i.v,o)}}}},{key:"prune",value:function(){var e=this;this[d].forEach(function(t,n){return v(e,n,!1)})}}]),e}()},{yallist:92}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",o="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:"".concat(r,"decimal"),boolean:"".concat(r,"boolean"),double:"".concat(r,"double"),integer:"".concat(r,"integer"),string:"".concat(r,"string")},rdf:{type:"".concat(i,"type"),nil:"".concat(i,"nil"),first:"".concat(i,"first"),rest:"".concat(i,"rest"),langString:"".concat(i,"langString")},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:"".concat(o,"reify#forSome"),forAll:"".concat(o,"reify#forAll")},log:{implies:"".concat(o,"log#implies")}}},{}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=O,n.termFromId=function e(t,n){if(n=n||y,!t)return n.defaultGraph();switch(t[0]){case"?":return n.variable(t.substr(1));case"_":return n.blankNode(t.substr(2));case'"':if(n===y)return new k(t);if('"'===t[t.length-1])return n.literal(t.substr(1,t.length-2));var i=t.lastIndexOf('"',t.length-1);return n.literal(t.substr(1,i-1),"@"===t[i+1]?t.substr(i+2):n.namedNode(t.substr(i+3)));case"<":var r=g.exec(t);return n.quad(e(T(r[1]),n),e(T(r[2]),n),e(T(r[3]),n),r[4]&&e(T(r[4]),n));default:return n.namedNode(t)}},n.termToId=function e(t){if("string"==typeof t)return t;if(t instanceof _&&"Quad"!==t.termType)return t.id;if(!t)return r.id;switch(t.termType){case"NamedNode":return t.value;case"BlankNode":return"_:".concat(t.value);case"Variable":return"?".concat(t.value);case"DefaultGraph":return"";case"Literal":return'"'.concat(t.value,'"').concat(t.language?"@".concat(t.language):t.datatype&&t.datatype.value!==f.string?"^^".concat(t.datatype.value):"");case"Quad":return"<<".concat(O(e(t.subject))," ").concat(O(e(t.predicate))," ").concat(O(e(t.object))).concat((0,l.isDefaultGraph)(t.graph)?"":" ".concat(e(t.graph)),">>");default:throw new Error("Unexpected termType: ".concat(t.termType))}},n.unescapeQuotes=T;var i,r,o=(i=e("./IRIs"))&&i.__esModule?i:{default:i},l=e("./N3Util"),h=o.default,d=h.rdf,f=h.xsd,p=0,v=/^"(.*".*)(?="[^"]*$)/,g=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(e){return new w(e)},blankNode:function(e){return new x(e||"n3-"+p++)},variable:function(e){return new S(e)},literal:function(e,t){if("string"==typeof t)return new k('"'.concat(e,'"@').concat(t.toLowerCase()));var n=t?t.value:"";return""===n&&("boolean"==typeof e?n=f.boolean:"number"==typeof e&&(Number.isFinite(e)?n=Number.isInteger(e)?f.integer:f.double:(n=f.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),new k(""===n||n===f.string?'"'.concat(e,'"'):'"'.concat(e,'"^^').concat(n))},defaultGraph:function(){return r},quad:P,triple:P};n.default=y;var _=function(){function e(t){m(this,e),this.id=t}return b(e,[{key:"value",get:function(){return this.id}},{key:"equals",value:function(t){return t instanceof e?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}},{key:"hashCode",value:function(){return 0}},{key:"toJSON",value:function(){return{termType:this.termType,value:this.value}}}]),e}();n.Term=_;var w=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"NamedNode"}}]),n}(_);n.NamedNode=w;var k=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"Literal"}},{key:"value",get:function(){return this.id.substring(1,this.id.lastIndexOf('"'))}},{key:"language",get:function(){var e=this.id,t=e.lastIndexOf('"')+1;return t\\"\{\}\|\^\`]/,l={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=function(){function e(t){if(m(this,e),this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode)for(var n in this._n3Mode=!1,this)!(n in l)&&this[n]instanceof RegExp&&(this[n]=h);else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}return b(e,[{key:"_tokenizeToEnd",value:function(e,t){for(var n,i=this._input,r=i.length;;){for(var o=void 0,s=void 0;o=this._newline.exec(i);)this._comments&&(s=this._comment.exec(o[0]))&&_("comment",s[1],"",this._line,o[0].length),i=i.substr(o[0].length,i.length),r=i.length,this._line++;if(!o&&(o=this._whitespace.exec(i))&&(i=i.substr(o[0].length,i.length)),this._endOfFile.test(i))return t&&(this._comments&&(s=this._comment.exec(i))&&_("comment",s[1],"",this._line,i.length),i=null,_("eof","","",this._line,0)),this._input=i;var u=this._line,l=i[0],h="",d="",f="",p=null,v=0,g=!1;switch(l){case"^":if(i.length<3)break;if("^"!==i[1]){this._n3Mode&&(v=1,h="^");break}if(this._previousMarker="^^","<"!==(i=i.substr(2))[0]){g=!0;break}case"<":if(p=this._unescapedIri.exec(i))h="IRI",d=p[1];else if(p=this._iri.exec(i)){if(null===(d=this._unescape(p[1]))||c.test(d))return w(this);h="IRI"}else i.length>1&&"<"===i[1]?(h="<<",v=2):this._n3Mode&&i.length>1&&"="===i[1]&&(h="inverse",v=2,d=">");break;case">":i.length>1&&">"===i[1]&&(h=">>",v=2);break;case"_":((p=this._blank.exec(i))||t&&(p=this._blank.exec("".concat(i," "))))&&(h="blank",f="_",d=p[1]);break;case'"':if(p=this._simpleQuotedString.exec(i))d=p[1];else if(d=(n=this._parseLiteral(i)).value,v=n.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){var m;if(p=this._simpleApostropheString.exec(i))d=p[1];else if(d=(m=this._parseLiteral(i)).value,v=m.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(p=this._variable.exec(i))&&(h="var",d=p[0]);break;case"@":"literal"===this._previousMarker&&(p=this._langcode.exec(i))?(h="langcode",d=p[1]):(p=this._keyword.exec(i))&&(h=p[0]);break;case".":if(1===i.length?t:i[1]<"0"||i[1]>"9"){h=".",v=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(p=this._number.exec(i)||t&&(p=this._number.exec("".concat(i," "))))&&(h="literal",d=p[0],f="string"==typeof p[1]?a.double:"string"==typeof p[2]?a.decimal:a.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(p=this._sparqlKeyword.exec(i))?h=p[0].toUpperCase():g=!0;break;case"f":case"t":(p=this._boolean.exec(i))?(h="literal",d=p[0],f=a.boolean):g=!0;break;case"a":(p=this._shortPredicates.exec(i))?(h="abbreviation",d="a"):g=!0;break;case"=":this._n3Mode&&i.length>1&&(h="abbreviation",">"!==i[1]?(v=1,d="="):(v=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(v=1,h=l);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(p=this._prefix.exec(i))?((p=this._prefixed.exec(i))||t&&(p=this._prefixed.exec("".concat(i," "))))&&(h="prefixed",f=p[1]||"",d=this._unescape(p[2])):(h="prefix",d=p[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return t||!/^'''|^"""/.test(i)&&/\n|\r/.test(i)?w(this):this._input=i;var y=v||p[0].length,b=_(h,d,f,u,y);this.previousToken=b,this._previousMarker=h,i=i.substr(y,i.length)}function _(t,n,o,a,s){var u=i?r-i.length:r,c={type:t,value:n,prefix:o,line:a,start:u,end:u+s};return e(null,c),c}function w(t){e(t._syntaxError(/^\S*/.exec(i)[0]))}}},{key:"_unescape",value:function(e){var t=!1,n=e.replace(s,function(e,n,i,r){if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){var o=Number.parseInt(i,16);return o<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((o-=65536)>>10),56320+(1023&o))}return r in u?u[r]:(t=!0,"")});return t?null:n}},{key:"_parseLiteral",value:function(e){if(e.length>=3){for(var t=e.match(/^(?:"""|"|'''|'|)/)[0],n=t.length,i=Math.max(this._literalClosingPos,n);(i=e.indexOf(t,i))>0;){for(var r=0;"\\"===e[i-r-1];)r++;if(r%2==0){var o=e.substring(n,i),a=o.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==a||3===n&&this._lineMode)break;return this._line+=a,{value:this._unescape(o),matchLength:s}}i++}this._literalClosingPos=e.length-n+1}return{value:"",matchLength:0}}},{key:"_syntaxError",value:function(e){this._input=null;var t=new Error('Unexpected "'.concat(e,'" on line ').concat(this._line,"."));return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}},{key:"_readStartingBom",value:function(e){return e.startsWith("\ufeff")?e.substr(1):e}},{key:"tokenize",value:function(e,n){var i=this;if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof n){var o,a=[];if(this._tokenizeToEnd(function(e,t){return e?o=e:a.push(t)},!0),o)throw o;return a}(0,r.default)(function(){return i._tokenizeToEnd(n,!0)})}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",function(e){null!==i._input&&0!==e.length&&(i._pendingBuffer&&(e=t.concat([i._pendingBuffer,e]),i._pendingBuffer=null),128&e[e.length-1]?i._pendingBuffer=e:(void 0===i._input?i._input=i._readStartingBom("string"==typeof e?e:e.toString()):i._input+=e,i._tokenizeToEnd(n,!1)))}),e.on("end",function(){"string"==typeof i._input&&i._tokenizeToEnd(n,!0)}),e.on("error",n)}}]),e}()}).call(this)}).call(this,e("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=a(e("./N3Lexer")),r=a(e("./N3DataFactory")),o=a(e("./IRIs"));function a(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){function e(t){m(this,e),this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&l(this,t.factory);var n="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",r=/turtle/.test(n),o=/trig/.test(n),a=/triple/.test(n),s=/quad/.test(n),u=this._n3Mode=/n3/.test(n),c=a||s;(this._supportsNamedGraphs=!(r||u))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(r||o||a||u),this._supportsRDFStar=""===n||/star|\*$/.test(n),c&&(this._resolveRelativeIRI=function(e){return null}),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:c,n3:u}),this._explicitQuantifiers=!!t.explicitQuantifiers}return b(e,[{key:"_setBase",value:function(e){if(e){var t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}},{key:"_saveContext",value:function(e,t,n,i,r){var o=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:t,type:e,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?"".concat(this._graph.id.substr(2),"."):".",this._quantified=Object.create(this._quantified))}},{key:"_restoreContext",value:function(){var e=this._contextStack.pop(),t=this._n3Mode;this._subject=e.subject,this._predicate=e.predicate,this._object=e.object,this._graph=e.graph,t&&(this._inversePredicate=e.inverse,this._prefixes._=e.blankPrefix,this._quantified=e.quantified)}},{key:"_readInTopContext",value:function(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}},{key:"_readEntity",value:function(e,t){var n;switch(e.type){case"IRI":case"typeIRI":var i=this._resolveIRI(e.value);if(null===i)return this._error("Invalid IRI",e);n=this._namedNode(i);break;case"type":case"prefixed":var r=this._prefixes[e.prefix];if(void 0===r)return this._error('Undefined prefix "'.concat(e.prefix,':"'),e);n=this._namedNode(r+e.value);break;case"blank":n=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":n=this._variable(e.value.substr(1));break;default:return this._error("Expected entity but got ".concat(e.type),e)}return!t&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}},{key:"_readSubject",value:function(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}},{key:"_readPredicate",value:function(e){var t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error("Unexpected ".concat(t),e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}},{key:"_readObject",value:function(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}},{key:"_readPredicateOrNamedGraph",value:function(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}},{key:"_readGraph",value:function(e){return"{"!==e.type?this._error("Expected graph but got ".concat(e.type),e):(this._graph=this._subject,this._subject=null,this._readSubject)}},{key:"_readBlankNodeHead",value:function(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}},{key:"_readBlankNodeTail",value:function(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);var t=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}},{key:"_readPredicateAfterBlank",value:function(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}},{key:"_readListItem",value:function(e){var t=null,n=null,i=this._readListItem,r=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,i=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===a.predicate?a.subject=n:a.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,t,this._graph)}return i}},{key:"_readDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!1)}},{key:"_readListItemDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!0)}},{key:"_completeLiteral",value:function(e){var t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":var n=this._readEntity(e);if(void 0===n)return;t=this._literal(this._literalValue,n),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}},{key:"_completeSubjectLiteral",value:function(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}},{key:"_completeObjectLiteral",value:function(e,t){var n=this._completeLiteral(e);if(n)return this._object=n.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}},{key:"_readFormulaTail",value:function(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}},{key:"_readPunctuation",value:function(e){var t,n=this._graph,i=this._subject,r=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}if(null!==i){var o=this._predicate,a=this._object;r?this._emit(a,o,i,n):this._emit(i,o,a,n)}return t}},{key:"_readBlankNodePunctuation",value:function(e){var t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}},{key:"_readQuadPunctuation",value:function(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}},{key:"_readPrefix",value:function(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}},{key:"_readPrefixIRI",value:function(e){if("IRI"!==e.type)return this._error('Expected IRI to follow prefix "'.concat(this._prefix,':"'),e);var t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}},{key:"_readBaseIRI",value:function(e){var t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}},{key:"_readNamedGraphLabel",value:function(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}},{key:"_readNamedGraphBlankLabel",value:function(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}},{key:"_readDeclarationPunctuation",value:function(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}},{key:"_readQuantifierList",value:function(e){var t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error("Unexpected ".concat(e.type),e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}},{key:"_readQuantifierPunctuation",value:function(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}},{key:"_getPathReader",value:function(e){return this._afterPath=e,this._readPath}},{key:"_readPath",value:function(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:var t=this._contextStack,n=t.length&&t[t.length-1];if(n&&"item"===n.type){var i=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,i,this._graph)}return this._afterPath(e)}}},{key:"_readForwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=i):(t=this._object,this._object=i),this._emit(t,n,i,this._graph),this._readPath}},{key:"_readBackwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(t=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=i):(n=this._object,this._object=i),this._emit(i,t,n,this._graph),this._readPath}},{key:"_readRDFStarTailOrGraph",value:function(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error('Expected >> to follow "'.concat(this._object.id,'"'),e):this._readRDFStarTail(e)}},{key:"_readRDFStarTail",value:function(e){if(">>"!==e.type)return this._error("Expected >> but got ".concat(e.type),e);var t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}},{key:"_getContextEndReader",value:function(){var e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}},{key:"_emit",value:function(e,t,n,i){this._callback(null,this._quad(e,t,n,i||this.DEFAULTGRAPH))}},{key:"_error",value:function(e,t){var n=new Error("".concat(e," on line ").concat(t.line,"."));n.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}},{key:"_resolveIRI",value:function(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}},{key:"_resolveRelativeIRI",value:function(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}},{key:"_removeDotSegments",value:function(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;for(var t=e.length,n="",i=-1,r=-1,o=0,a="/";i=r&&(n=n.substr(0,o)),"/"!==a)return"".concat(n,"/").concat(e.substr(i+1));o=i+1}}}a=e[++i]}return n+e.substring(o)}},{key:"parse",value:function(e,t,n){var i=this;if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):"b".concat(s++,"_"),this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!t){var r,o=[];if(this._callback=function(e,t){e?r=e:t&&o.push(t)},this._lexer.tokenize(e).every(function(e){return i._readCallback=i._readCallback(e)}),r)throw r;return o}this._callback=t,this._lexer.tokenize(e,function(e,t){null!==e?(i._callback(e),i._callback=c):i._readCallback&&(i._readCallback=i._readCallback(t))})}}],[{key:"_resetBlankNodePrefix",value:function(){s=0}}]),e}();function c(){}function l(e,t){var n=t.namedNode;e._namedNode=n,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=n(o.default.rdf.first),e.RDF_REST=n(o.default.rdf.rest),e.RDF_NIL=n(o.default.rdf.nil),e.N3_FORALL=n(o.default.r.forAll),e.N3_FORSOME=n(o.default.r.forSome),e.ABBREVIATIONS={a:n(o.default.rdf.type),"=":n(o.default.owl.sameAs),">":n(o.default.log.implies)},e.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=u,l(u.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(i,o,a):i[o]=e[o]}return i.default=e,n&&n.set(e,i),i}(e("./N3DataFactory")),o=e("readable-stream"),u=(i=e("./IRIs"))&&i.__esModule?i:{default:i};function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}var h=function(e){function t(e,n){m(this,t),this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!n&&e&&!e[0]&&(n=e,e=null),this._factory=(n=n||{}).factory||r.default,e&&this.addQuads(e)}return b(t,[{key:"size",get:function(){var e=this._size;if(null!==e)return e;e=0;var t,n,i=this._graphs;for(var r in i)for(var o in t=i[r].subjects)for(var a in n=t[o])e+=Object.keys(n[a]).length;return this._size=e}},{key:"_addToIndex",value:function(e,t,n,i){var r=e[t]||(e[t]={}),o=r[n]||(r[n]={}),a=i in o;return a||(o[i]=null),!a}},{key:"_removeFromIndex",value:function(e,t,n,i){var r=e[t],o=r[n];for(var a in delete o[i],o)return;for(var s in delete r[n],r)return;delete e[t]}},{key:"_findInIndex",value:regeneratorRuntime.mark(function e(t,n,i,o,a,s,u,c){var l,h,d,f,p,v,g,m,y,b,_,w;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:f=!n+!i+!o>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(c,this._factory),n&&((l=t,t={})[n]=l[n]),e.t0=regeneratorRuntime.keys(t);case 3:if((e.t1=e.t0()).done){e.next=29;break}if(v=e.t1.value,g=f[v],!(h=t[v])){e.next=27;break}i&&((l=h,h={})[i]=l[i]),e.t2=regeneratorRuntime.keys(h);case 9:if((e.t3=e.t2()).done){e.next=27;break}if(m=e.t3.value,y=f[m],!(d=h[m])){e.next=25;break}b=o?o in d?[o]:[]:Object.keys(d),_=0;case 15:if(!(_0&&void 0!==arguments[0]?arguments[0]:{},n=t.remove,i=void 0!==n&&n,r=t.ignoreErrors,o=void 0!==r&&r,a={},s=o?function(){return!0}:function(e,t){throw new Error("".concat(e.value," ").concat(t))},c=this.getQuads(null,u.default.rdf.rest,u.default.rdf.nil,null),l=i?v(c):[];return c.forEach(function(t){for(var n,r,o=[],c=!1,h=t.graph,d=t.subject;d&&!c;){for(var f=e.getQuads(null,null,d,null),p=e.getQuads(d,null,null,null),v=void 0,g=null,m=null,y=null,b=0;b")}},{key:"_encodeLiteral",value:function(e){var t=e.value;if(p.test(t)&&(t=t.replace(v,_)),e.language)return'"'.concat(t,'"@').concat(e.language);if(this._lineMode){if(e.datatype.value===f.string)return'"'.concat(t,'"')}else switch(e.datatype.value){case f.string:return'"'.concat(t,'"');case f.boolean:if("true"===t||"false"===t)return t;break;case f.integer:if(/^[+-]?\d+$/.test(t))return t;break;case f.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case f.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return'"'.concat(t,'"^^').concat(this._encodeIriOrBlank(e.datatype))}},{key:"_encodePredicate",value:function(e){return e.value===d.type?"a":this._encodeIriOrBlank(e)}},{key:"_encodeObject",value:function(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}},{key:"_encodeQuad",value:function(e){var t=e.subject,n=e.predicate,i=e.object,r=e.graph;return"<<".concat(this._encodeSubject(t)," ").concat(this._encodePredicate(n)," ").concat(this._encodeObject(i)).concat((0,u.isDefaultGraph)(r)?"":" ".concat(this._encodeIriOrBlank(r)),">>")}},{key:"_blockedWrite",value:function(){throw new Error("Cannot write because the writer has been closed.")}},{key:"addQuad",value:function(e,t,n,i,r){void 0===n?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof i?this._writeQuad(e,t,n,l,i):this._writeQuad(e,t,n,i||l,r)}},{key:"addQuads",value:function(e){for(var t=0;t.\n"))}if(n){var o="",a="";for(var s in this._prefixIRIs)o+=o?"|".concat(s):s,a+=(a?"|":"")+this._prefixIRIs[s];o=w(o),this._prefixRegex=new RegExp("^(?:".concat(a,")[^/]*$|^(").concat(o,")([a-zA-Z][\\-_a-zA-Z0-9]*)$"))}this._write(n?"\n":"",t)}},{key:"blank",value:function(e,t){var n,i,r=e;switch(void 0===e?r=[]:e.termType?r=[{predicate:e,object:t}]:"length"in e||(r=[e]),i=r.length){case 0:return new y("[]");case 1:if(!((n=r[0]).object instanceof y))return new y("[ ".concat(this._encodePredicate(n.predicate)," ").concat(this._encodeObject(n.object)," ]"));default:for(var o="[",a=0;a1)for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:new Map,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.prefix=t,this._existing=n,this.counter=i}return b(e,[{key:"clone",value:function(){var t=this.prefix,n=this._existing,i=this.counter;return new e(t,new Map(n),i)}},{key:"getId",value:function(e){var t=e&&this._existing.get(e);if(t)return t;var n=this.prefix+this.counter;return this.counter++,e&&this._existing.set(e,n),n}},{key:"hasId",value:function(e){return this._existing.has(e)}},{key:"getOldIds",value:function(){return v(this._existing.keys())}}]),e}()},{}],48:[function(e,t,n){"use strict";e("setimmediate");var i=self.crypto||self.msCrypto;t.exports=function(){function e(t){if(m(this,e),!i||!i.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error('Unsupport algorithm "'.concat(t,'".'));this.algorithm={name:"SHA-1"}}this._content=""}return b(e,[{key:"update",value:function(e){this._content+=e}},{key:"digest",value:function(){var e=this;return h(regeneratorRuntime.mark(function t(){var n,r,o,a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=(new TextEncoder).encode(e._content),t.t0=Uint8Array,t.next=4,i.subtle.digest(e.algorithm,n);case 4:for(t.t1=t.sent,r=new t.t0(t.t1),o="",a=0;a]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),t.exports=function(){function e(){m(this,e)}return b(e,null,[{key:"parse",value:function(e){var t,n=[],h={},f=0,p=_(e.split(c.eoln));try{for(p.s();!(t=p.n()).done;){var v=t.value;if(f++,!c.empty.test(v)){var g=v.match(c.quad);if(null===g)throw new Error("N-Quads parse error on line "+f+".");var m={subject:null,predicate:null,object:null,graph:null};if(m.subject=void 0!==g[1]?{termType:o,value:g[1]}:{termType:a,value:g[2]},m.predicate={termType:o,value:g[3]},void 0!==g[4]?m.object={termType:o,value:g[4]}:void 0!==g[5]?m.object={termType:a,value:g[5]}:(m.object={termType:s,value:void 0,datatype:{termType:o}},void 0!==g[7]?m.object.datatype.value=g[7]:void 0!==g[8]?(m.object.datatype.value=i,m.object.language=g[8]):m.object.datatype.value=r,m.object.value=g[6].replace(d,function(e,t,n,i){if(t)switch(t){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),m.graph=void 0!==g[9]?{termType:o,value:g[9]}:void 0!==g[10]?{termType:a,value:g[10]}:{termType:u,value:""},m.graph.value in h){var y,b=!0,w=h[m.graph.value],k=_(w);try{for(k.s();!(y=k.n()).done;){if(l(y.value,m)){b=!1;break}}}catch(x){k.e(x)}finally{k.f()}b&&(w.push(m),n.push(m))}else h[m.graph.value]=[m],n.push(m)}}}catch(x){p.e(x)}finally{p.f()}return n}},{key:"serialize",value:function(t){Array.isArray(t)||(t=e.legacyDatasetToQuads(t));var n,i=[],r=_(t);try{for(r.s();!(n=r.n()).done;){var o=n.value;i.push(e.serializeQuad(o))}}catch(a){r.e(a)}finally{r.f()}return i.sort().join("")}},{key:"serializeQuad",value:function(e){var t=e.subject,n=e.object,s=e.graph,u="";return u+=t.termType===o?"<".concat(t.value,">"):"".concat(t.value),u+=" <".concat(e.predicate.value,"> "),n.termType===o?u+="<".concat(n.value,">"):n.termType===a?u+=n.value:(u+='"'.concat(n.value.replace(h,function(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}}),'"'),n.datatype.value===i?n.language&&(u+="@".concat(n.language)):n.datatype.value!==r&&(u+="^^<".concat(n.datatype.value,">"))),s.termType===o?u+=" <".concat(s.value,">"):s.termType===a&&(u+=" ".concat(s.value)),u+=" .\n"}},{key:"legacyDatasetToQuads",value:function(e){var t=[],n={"blank node":a,IRI:o,literal:s},c=function(c){e[c].forEach(function(e){var l={};for(var h in e){var d=e[h],f={termType:n[d.type],value:d.value};f.termType===s&&(f.datatype={termType:o},"datatype"in d&&(f.datatype.value=d.datatype),"language"in d?("datatype"in d||(f.datatype.value=i),f.language=d.language):"datatype"in d||(f.datatype.value=r)),l[h]=f}l.graph="@default"===c?{termType:u,value:""}:{termType:c.startsWith("_:")?a:o,value:c},t.push(l)})};for(var l in e)c(l);return t}}]),e}();var h=/["\\\n\r]/g,d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(e,t,n){"use strict";t.exports=function(){function e(t){m(this,e),this.current=t.sort(),this.done=!1,this.dir=new Map;for(var n=0;ni)&&(u&&a>0&&s>e[a-1]||!u&&ae[a+1])&&(i=s,r=a)}if(null===i)this.done=!0;else{var c=t.get(i)?r-1:r+1;e[r]=e[c],e[c]=i;var l,h=_(e);try{for(h.s();!(l=h.n()).done;){var d=l.value;d>i&&t.set(d,!t.get(d))}}catch(f){h.e(f)}finally{h.f()}}return n}}]),e}()},{}],51:[function(e,t,n){(function(n){(function(){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var r,o,u,c,l,h,d,f,p,g,m,y,b,w,k,x,S,C,E,O,T,P,A,I,R,D,N,L,j,F,B,V,z,U,H,G;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:t.quads=e,r=_(e);try{for(r.s();!(o=r.n()).done;)u=o.value,t._addBlankNodeQuadInfo({quad:u,component:u.subject}),t._addBlankNodeQuadInfo({quad:u,component:u.object}),t._addBlankNodeQuadInfo({quad:u,component:u.graph})}catch(W){r.e(W)}finally{r.f()}c=new Map,l=v(t.blankNodeInfo.keys()),h=0,d=_(l),n.prev=6,d.s();case 8:if((f=d.n()).done){n.next=18;break}if(p=f.value,n.t0=++h%100==0,!n.t0){n.next=14;break}return n.next=14,t._yield();case 14:return n.next=16,t._hashAndTrackBlankNode({id:p,hashToBlankNodes:c});case 16:n.next=8;break;case 18:n.next=23;break;case 20:n.prev=20,n.t1=n.catch(6),d.e(n.t1);case 23:return n.prev=23,d.f(),n.finish(23);case 26:g=v(c.keys()).sort(),m=[],y=_(g);try{for(y.s();!(b=y.n()).done;)w=b.value,(k=c.get(w)).length>1?m.push(k):t.canonicalIssuer.getId(k[0])}catch(W){y.e(W)}finally{y.f()}x=0,S=m;case 30:if(!(xf)){i.next=31;break}return k=!0,i.abrupt("break",33);case 31:i.next=26;break;case 33:i.next=38;break;case 35:i.prev=35,i.t1=i.catch(24),x.e(i.t1);case 38:return i.prev=38,x.f(),i.finish(38);case 41:if(k){i.next=64;break}E=_(w),i.prev=43,E.s();case 45:if((O=E.n()).done){i.next=55;break}return T=O.value,i.next=49,n.hashNDegreeQuads(T,y);case 49:if(P=i.sent,b+=y.getId(T),b+="<".concat(P.hash,">"),y=P.issuer,!(0!==f.length&&b>f)){i.next=53;break}return k=!0,i.abrupt("break",55);case 53:i.next=45;break;case 55:i.next=60;break;case 57:i.prev=57,i.t2=i.catch(43),E.e(i.t2);case 60:return i.prev=60,E.f(),i.finish(60);case 63:k||(0===f.length||b")}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=15;break}if(c=u.value,i.t0=++a%100==0,!i.t0){i.next=11;break}return i.next=11,n._yield();case 11:return i.next=13,Promise.all([n._addRelatedBlankNodeHash({quad:c,component:c.subject,position:"s",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.object,position:"o",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.graph,position:"g",id:e,issuer:t,hashToRelated:r})]);case 13:i.next=5;break;case 15:i.next=20;break;case 17:i.prev=17,i.t1=i.catch(3),s.e(i.t1);case 20:return i.prev=20,s.f(),i.finish(20);case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},i,null,[[3,17,20,23]])}))()}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this;return h(regeneratorRuntime.mark(function e(){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.hashFirstDegreeQuads(t);case 2:r=e.sent,(o=n.get(r))?o.push(t):n.set(r,[t]);case 5:case"end":return e.stop()}},e)}))()}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated,s=this;return h(regeneratorRuntime.mark(function e(){var u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("BlankNode"===n.termType&&n.value!==r){e.next=2;break}return e.abrupt("return");case 2:return u=n.value,e.next=5,s.hashRelatedBlankNode(u,t,o,i);case 5:c=e.sent,(l=a.get(c))?l.push(u):a.set(c,[u]);case 8:case"end":return e.stop()}},e)}))()}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}},{key:"_yield",value:function(){return h(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){return n(e)}));case 1:case"end":return e.stop()}},e)}))()}}]),e}()}).call(this)}).call(this,e("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(e,t,n){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){this.quads=e;var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this._addBlankNodeQuadInfo({quad:r,component:r.subject}),this._addBlankNodeQuadInfo({quad:r,component:r.object}),this._addBlankNodeQuadInfo({quad:r,component:r.graph})}}catch(j){n.e(j)}finally{n.f()}var o,u=new Map,c=_(v(this.blankNodeInfo.keys()));try{for(c.s();!(o=c.n()).done;){var l=o.value;this._hashAndTrackBlankNode({id:l,hashToBlankNodes:u})}}catch(j){c.e(j)}finally{c.f()}var h,d=[],f=_(v(u.keys()).sort());try{for(f.s();!(h=f.n()).done;){var p=h.value,g=u.get(p);g.length>1?d.push(g):this.canonicalIssuer.getId(g[0])}}catch(j){f.e(j)}finally{f.f()}for(var m=0,y=d;ml){y=!0;break}}}catch(E){b.e(E)}finally{b.f()}if(!y){var k,x=_(m);try{for(x.s();!(k=x.n()).done;){var S=k.value,C=this.hashNDegreeQuads(S,p);if(g+=p.getId(S),g+="<".concat(C.hash,">"),p=C.issuer,0!==l.length&&g>l){y=!0;break}}}catch(E){x.e(E)}finally{x.f()}y||(0===l.length||g")}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value;this._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:e,issuer:t,hashToRelated:i})}}catch(a){r.e(a)}finally{r.f()}return i}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this.hashFirstDegreeQuads(t),r=n.get(i);r?r.push(t):n.set(i,[t])}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated;if("BlankNode"===n.termType&&n.value!==r){var s=n.value,u=this.hashRelatedBlankNode(s,t,o,i),c=a.get(u);c?c.push(s):a.set(u,[s])}}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}]),e}()},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(e,t,n){"use strict";var i=e("./URDNA2015");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=26;break}if(c=u.value,l=void 0,h=void 0,"BlankNode"!==c.subject.termType||c.subject.value===e){i.next=12;break}h=c.subject.value,l="p",i.next=15;break;case 12:if("BlankNode"===c.object.termType&&c.object.value!==e){i.next=14;break}return i.abrupt("continue",24);case 14:h=c.object.value,l="r";case 15:if(i.t0=++a%100==0,!i.t0){i.next=19;break}return i.next=19,n._yield();case 19:return i.next=21,n.hashRelatedBlankNode(h,c,t,l);case 21:d=i.sent,(f=r.get(d))?f.push(h):r.set(d,[h]);case 24:i.next=5;break;case 26:i.next=31;break;case 28:i.prev=28,i.t1=i.catch(3),s.e(i.t1);case 31:return i.prev=31,s.f(),i.finish(31);case 34:return i.abrupt("return",r);case 35:case"end":return i.stop()}},i,null,[[3,28,31,34]])}))()}}]),n}(i)},{"./URDNA2015":51}],54:[function(e,t,n){"use strict";var i=e("./URDNA2015Sync");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value,a=void 0,s=void 0;if("BlankNode"===o.subject.termType&&o.subject.value!==e)s=o.subject.value,a="p";else{if("BlankNode"!==o.object.termType||o.object.value===e)continue;s=o.object.value,a="r"}var u=this.hashRelatedBlankNode(s,o,t,a),c=i.get(u);c?c.push(s):i.set(u,[s])}}catch(l){r.e(l)}finally{r.f()}return i}}]),n}(i)},{"./URDNA2015Sync":52}],55:[function(e,t,n){"use strict";var i,r=e("./URDNA2015"),o=e("./URGNA2012"),a=e("./URDNA2015Sync"),s=e("./URGNA2012Sync");try{i=e("rdf-canonize-native")}catch(u){}var u,c={};t.exports=c,c.NQuads=e("./NQuads"),c.IdentifierIssuer=e("./IdentifierIssuer"),c._rdfCanonizeNative=function(e){return e&&(i=e),i},c.canonize=(u=h(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),!n.useNative){e.next=4;break}if(i){e.next=3;break}throw new Error("rdf-canonize-native not available");case 3:return e.abrupt("return",new Promise(function(e,r){return i.canonize(t,n,function(t,n){return t?r(t):e(n)})}));case 4:if("URDNA2015"!==n.algorithm){e.next=6;break}return e.abrupt("return",new r(n).main(t));case 6:if("URGNA2012"!==n.algorithm){e.next=8;break}return e.abrupt("return",new o(n).main(t));case 8:throw"algorithm"in n?new Error("Invalid RDF Dataset Canonicalization algorithm: "+n.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.");case 9:case"end":return e.stop()}},e)})),function(e,t){return u.apply(this,arguments)}),c._canonizeSync=function(e,t){if(Array.isArray(e)||(e=c.NQuads.legacyDatasetToQuads(e)),t.useNative){if(i)return i.canonizeSync(e,t);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===t.algorithm)return new a(t).main(e);if("URGNA2012"===t.algorithm)return new s(t).main(e);throw"algorithm"in t?new Error("Invalid RDF Dataset Canonicalization algorithm: "+t.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/BlankNode"),n),r(e("./lib/DataFactory"),n),r(e("./lib/DefaultGraph"),n),r(e("./lib/Literal"),n),r(e("./lib/NamedNode"),n),r(e("./lib/Quad"),n),r(e("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0,n.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},{}],58:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;var i=e("./BlankNode"),r=e("./DefaultGraph"),o=e("./Literal"),a=e("./NamedNode"),s=e("./Quad"),u=e("./Variable"),c=0;n.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;var i=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;var i=e("./NamedNode"),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0,n.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},{}],62:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0,n.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},{}],63:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0,n.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},{}],64:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;var i=function(e){a(n,e);var t=s(n);function n(e,i){m(this,n);var r=e.saxStream._parser;return t.call(this,e.trackPosition?"Line ".concat(r.line+1," column ").concat(r.column+1,": ").concat(i):i)}return n}(l(Error));n.ParseError=i},{}],66:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;var i,r,o=e("relative-to-absolute-iri"),u=e("sax"),l=e("stream"),h=e("./ParseError"),d=e("rdf-data-factory"),f=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{readableObjectMode:!0})).activeTagStack=[],i.nodeIds={},e&&(Object.assign(c(i),e),i.options=e),i.dataFactory||(i.dataFactory=new d.DataFactory),i.baseIRI||(i.baseIRI=""),i.defaultGraph||(i.defaultGraph=i.dataFactory.defaultGraph()),i.saxStream=u.createStream(i.strict,{xmlns:!1,position:i.trackPosition}),i.strict||(i.saxStream._parser.looseCase="toString"),i.attachSaxListeners(),i}return b(n,[{key:"import",value:function(e){var t=new l.PassThrough({readableObjectMode:!0});e.on("error",function(e){return i.emit("error",e)}),e.on("data",function(e){return t.push(e)}),e.on("end",function(){return t.push(null)});var i=t.pipe(new n(this.options));return i}},{key:"_transform",value:function(e,t,n){try{this.saxStream.write(e,t)}catch(i){return n(i)}n()}},{key:"newParseError",value:function(e){return new h.ParseError(this,e)}},{key:"valueToUri",value:function(e,t){return this.uriToNamedNode(o.resolve(e,t.baseIRI))}},{key:"uriToNamedNode",value:function(e){if(!n.isValidIri(e))throw this.newParseError("Invalid URI: ".concat(e));return this.dataFactory.namedNode(e)}},{key:"validateNcname",value:function(e){if(!n.NCNAME_MATCHER.test(e))throw this.newParseError("Not a valid NCName: ".concat(e))}},{key:"attachSaxListeners",value:function(){var e=this;this.saxStream.on("error",function(t){return e.emit("error",t)}),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}},{key:"onTag",value:function(e){var t=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null,r=i.RESOURCE;if(t&&(t.hadChildren=!0,r=t.childrenParseType),t&&t.childrenStringTags){var o=e.name,a="";for(var s in e.attributes)a+=" ".concat(s,'="').concat(e.attributes[s],'"');t.childrenStringTags.push("<".concat(o).concat(a,">"));var u={childrenStringTags:t.childrenStringTags};return u.childrenStringEmitClosingTag=""),void this.activeTagStack.push(u)}var c={};t?(c.language=t.language,c.baseIRI=t.baseIRI):c.baseIRI=this.baseIRI,this.activeTagStack.push(c),c.ns=n.parseNamespace(e,t),r===i.RESOURCE?this.onTagResource(e,c,t,!t):this.onTagProperty(e,c,t)}},{key:"onTagResource",value:function(e,t,r,a){var s=n.expandPrefixedTerm(e.name,t.ns,this);t.childrenParseType=i.PROPERTY;var u=!0;if(s.uri===n.RDF){if(!a&&n.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError("Illegal node element name: ".concat(s.local));switch(s.local){case"RDF":t.childrenParseType=i.RESOURCE;case"Description":u=!1}}var c=[],l=[],h=null,d=!1,f=!1,p=null;for(var v in e.attributes){var g=e.attributes[v],m=n.expandPrefixedTerm(v,t.ns,this);if(r&&m.uri===n.RDF)switch(m.local){case"about":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));h=g;continue;case"ID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h="#"+g,d=!0;continue;case"nodeID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h=g,f=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":p=g;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(m.uri===n.XML){if("lang"===m.local){t.language=""===g?null:g.toLowerCase();continue}if("base"===m.local){t.baseIRI=o.resolve(g,t.baseIRI);continue}}"xml"!==m.prefix&&m.uri&&(c.push(this.uriToNamedNode(m.uri+m.local)),l.push(g))}if(null!==h&&(t.subject=f?this.dataFactory.blankNode(h):this.valueToUri(h,t),d&&this.claimNodeId(t.subject)),t.subject||(t.subject=this.dataFactory.blankNode()),u){var y=this.uriToNamedNode(s.uri+s.local);this.emitTriple(t.subject,this.dataFactory.namedNode(n.RDF+"type"),y,r?r.reifiedStatementId:null)}if(r){if(r.predicate)if(r.childrenCollectionSubject){var b=this.dataFactory.blankNode();this.emitTriple(r.childrenCollectionSubject,r.childrenCollectionPredicate,b,r.reifiedStatementId),this.emitTriple(b,this.dataFactory.namedNode(n.RDF+"first"),t.subject,t.reifiedStatementId),r.childrenCollectionSubject=b,r.childrenCollectionPredicate=this.dataFactory.namedNode(n.RDF+"rest")}else{this.emitTriple(r.subject,r.predicate,t.subject,r.reifiedStatementId);for(var _=0;_=0)throw this.newParseError("Illegal property element name: ".concat(o.local));t.predicateSubPredicates=[],t.predicateSubObjects=[];var a=!1,s=!1,u=null,c=!0,l=[],h=[];for(var d in e.attributes){var f=e.attributes[d],p=n.expandPrefixedTerm(d,t.ns,this);if(p.uri===n.RDF)switch(p.local){case"resource":if(u)throw this.newParseError("Found both rdf:resource (".concat(f,") and rdf:nodeID (").concat(u,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:resource (".concat(f,")"));t.hadChildren=!0,u=f,c=!1;continue;case"datatype":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:datatype (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(f,")"));t.datatype=this.valueToUri(f,t);continue;case"nodeID":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:nodeID (".concat(f,")."));if(t.hadChildren)throw this.newParseError("Found both rdf:resource and rdf:nodeID (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID (".concat(f,")"));this.validateNcname(f),t.hadChildren=!0,u=f,c=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(t.datatype)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(t.datatype.value,")"));if(u)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (".concat(u,")"));if("Resource"===f){a=!0,t.childrenParseType=i.PROPERTY;var v=this.dataFactory.blankNode();this.emitTriple(t.subject,t.predicate,v,t.reifiedStatementId),t.subject=v,t.predicate=null}else"Collection"===f?(a=!0,t.hadChildren=!0,t.childrenCollectionSubject=t.subject,t.childrenCollectionPredicate=t.predicate,c=!1):"Literal"===f&&(a=!0,t.childrenTagsToString=!0,t.childrenStringTags=[]);continue;case"ID":this.validateNcname(f),t.reifiedStatementId=this.valueToUri("#"+f,t),this.claimNodeId(t.reifiedStatementId);continue}else if(p.uri===n.XML&&"lang"===p.local){t.language=""===f?null:f.toLowerCase();continue}if("xml"!==p.prefix&&"xmlns"!==p.prefix&&p.uri){if(a||t.datatype)throw this.newParseError("Found illegal rdf:* properties on property element with attribute: ".concat(f));t.hadChildren=!0,s=!0,l.push(this.uriToNamedNode(p.uri+p.local)),h.push(this.dataFactory.literal(f,t.datatype||t.language))}}if(null!==u){var g=t.subject;t.subject=c?this.dataFactory.blankNode(u):this.valueToUri(u,t),this.emitTriple(g,t.predicate,t.subject,t.reifiedStatementId);for(var m=0;m/g,function(e,n,i){return t.saxStream._parser.ENTITIES[n]=i,""})}}],[{key:"parseNamespace",value:function(e,t){var i={},r=!1;for(var o in e.attributes)o.startsWith("xmlns")&&(5===o.length?(r=!0,i[""]=e.attributes[o]):":"===o.charAt(5)&&(r=!0,i[o.substr(6)]=e.attributes[o]));var a=t&&t.ns?t.ns:[n.DEFAULT_NS];return r?a.concat([i]):a}},{key:"expandPrefixedTerm",value:function(e,t,n){var i,r,o=e.indexOf(":");o>=0?(i=e.substr(0,o),r=e.substr(o+1)):(i="",r=e);for(var a=null,s=null,u=t.length-1;u>=0;u--){var c=t[u][i];if(c){a=c;break}s||(s=t[u][""])}if(!a){if(i&&"xmlns"!==i)throw new h.ParseError(n,"The prefix '".concat(i,"' in term '").concat(e,"' was not bound."));a=s||""}return{prefix:i,local:r,uri:a}}},{key:"isValidIri",value:function(e){return n.IRI_REGEX.test(e)}}]),n}(l.Transform);n.RdfXmlParser=f,f.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,f.MIME_TYPE="application/rdf+xml",f.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",f.XML="http://www.w3.org/XML/1998/namespace",f.XMLNS="http://www.w3.org/2000/xmlns/",f.DEFAULT_NS={xml:f.XML},f.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],f.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],f.NCNAME_MATCHER=/^((?:[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))((?:[#\x2D\.0-9A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))*$/,(r=i=n.ParseType||(n.ParseType={}))[r.RESOURCE=0]="RESOURCE",r[r.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(e,t,n){"use strict";var i={};function r(e,t,n){n||(n=Error);var r=function(e){function n(n,i,r){return e.call(this,function(e,n,i){return"string"==typeof t?t:t(e,n,i)}(n,i,r))||this}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(n,e),n}(n);r.prototype.name=n.name,r.prototype.code=e,i[e]=r}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}r("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(e,t,n){var i,r;if("string"==typeof t&&function(e,t,n){return e.substr(0,t.length)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))r="The ".concat(e," ").concat(i," ").concat(o(t,"type"));else{var a=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+".".length>e.length)&&-1!==e.indexOf(".",n)}(e)?"property":"argument";r='The "'.concat(e,'" ').concat(a," ").concat(i," ").concat(o(t,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},{}],68:[function(e,t,n){(function(n){(function(){"use strict";var i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=e("./_stream_readable"),o=e("./_stream_writable");e("inherits")(c,r);for(var a=i(o.prototype),s=0;s0)if("string"!=typeof t&&!s.objectMode&&Object.getPrototypeOf(t)!==u.prototype&&(t=function(e){return u.from(e)}(t)),i)s.endEmitted?k(e,new w):O(e,s,t,!0);else if(s.ended)k(e,new b);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?O(e,s,t,!1):I(e,s)):O(e,s,t,!1)}else i||(s.reading=!1,I(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=T?e=T:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;o("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(M,e))}function M(e){var t=e._readableState;o("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function I(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(R,e,t))}function R(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){o("readable nexttick read 0"),e.read(0)}function L(e,t){o("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(o("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function B(e){var t=e._readableState;o("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(V,t,e))}function V(e,t){if(o("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function z(e,t){for(var n=0,i=e.length;n=t.highWaterMark:t.length>0)||t.ended))return o("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?B(this):A(this),null;if(0===(e=P(e,t))&&t.ended)return 0===t.length&&B(this),null;var i,r=t.needReadable;return o("need readable",r),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&B(this)),null!==i&&this.emit("data",i),i},C.prototype._read=function(e){k(this,new _("_read()"))},C.prototype.pipe=function(e,t){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,o("pipe count=%d opts=%j",r.pipesCount,t);var s=t&&!1===t.end||e===n.stdout||e===n.stderr?v:u;function u(){o("onend"),e.end()}r.endEmitted?n.nextTick(s):i.once("end",s),e.on("unpipe",function t(n,a){o("onunpipe"),n===i&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,o("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",t),i.removeListener("end",u),i.removeListener("end",v),i.removeListener("data",h),l=!0,r.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c())});var c=function(e){return function(){var t=e._readableState;o("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,j(e))}}(i);e.on("drain",c);var l=!1;function h(t){o("ondata");var n=e.write(t);o("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==z(r.pipes,e))&&!l&&(o("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function d(t){o("onerror",t),v(),e.removeListener("error",d),0===a(e,"error")&&k(e,t)}function f(){e.removeListener("finish",p),v()}function p(){o("onfinish"),e.removeListener("close",f),v()}function v(){o("unpipe"),i.unpipe(e)}return i.on("data",h),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",i),r.flowing||(o("pipe resume"),i.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===e&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,o("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},C.prototype.removeListener=function(e,t){var i=s.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(D,this),i},C.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&n.nextTick(D,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(o("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(L,e,t))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(o("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){o("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||t.push(r)||(i=!0,e.pause())}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var a=0;a-1))throw new w(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,n){n(new v("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,i){var r=this._writableState;return"function"==typeof e?(i=e,e=null,t=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,i){t.ending=!0,M(e,t),i&&(t.finished?n.nextTick(i):e.once("finish",i)),t.ended=!0,e.writable=!1}(this,r,i),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}}),C.prototype.destroy=h.destroy,C.prototype._undestroy=h.undestroy,C.prototype._destroy=function(e,t){t(e)}}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(e,t,n){(function(n){(function(){"use strict";var i;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=e("./end-of-stream"),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function f(e,t){return{value:e,done:t}}function p(e){var t=e[a];if(null!==t){var n=e[d].read();null!==n&&(e[l]=null,e[a]=null,e[s]=null,t(f(n,!1)))}}function v(e){n.nextTick(p,e)}var g=Object.getPrototypeOf(function(){}),m=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(t,i){n.nextTick(function(){e[u]?i(e[u]):t(f(void 0,!0))})});var i,r=this[l];if(r)i=new Promise(function(e,t){return function(n,i){e.then(function(){t[c]?n(f(void 0,!0)):t[h](n,i)},i)}}(r,this));else{var o=this[d].read();if(null!==o)return Promise.resolve(f(o,!1));i=new Promise(this[h])}return this[l]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var e=this;return new Promise(function(t,n){e[d].destroy(null,function(e){e?n(e):t(f(void 0,!0))})})}),i),g);t.exports=function(e){var t,n=Object.create(m,(r(t={},d,{value:e,writable:!0}),r(t,a,{value:null,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,u,{value:null,writable:!0}),r(t,c,{value:e._readableState.endEmitted,writable:!0}),r(t,h,{value:function(e,t){var i=n[d].read();i?(n[l]=null,n[a]=null,n[s]=null,e(f(i,!1))):(n[a]=e,n[s]=t)},writable:!0}),t));return n[l]=null,o(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[s];return null!==t&&(n[l]=null,n[a]=null,n[s]=null,t(e)),void(n[u]=e)}var i=n[a];null!==i&&(n[l]=null,n[a]=null,n[s]=null,i(f(void 0,!0))),n[c]=!0}),e.on("readable",v.bind(null,n)),n}}).call(this)}).call(this,e("_process"))},{"./end-of-stream":76,_process:44}],74:[function(e,t,n){"use strict";function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),n=this.head,i=0;n;)c(n.data,t,i),i+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return er.length?r.length:e;if(i+=o===r.length?r:r.slice(0,e),0==(e-=o)){o===r.length?(++n,this.head=t.next?t.next:this.tail=null):(this.head=t,t.data=r.slice(o));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),n=this.head,i=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var r=n.data,o=e>r.length?r.length:e;if(r.copy(t,t.length-e,0,o),0==(e-=o)){o===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(o));break}++i}return this.length-=i,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t0,function(e){r||(r=e),e&&a.forEach(c),!o&&(a.forEach(c),i(r))})});return t.reduce(l)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(e,t,n){"use strict";var i=e("../../../errors").codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,r){var o=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new i(r?n:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},{"../../../errors":67}],80:[function(e,t,n){t.exports=e("events").EventEmitter},{events:8}],81:[function(e,t,n){(n=t.exports=e("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=e("./lib/_stream_writable.js"),n.Duplex=e("./lib/_stream_duplex.js"),n.Transform=e("./lib/_stream_transform.js"),n.PassThrough=e("./lib/_stream_passthrough.js"),n.finished=e("./lib/internal/streams/end-of-stream.js"),n.pipeline=e("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}(e("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(e,t,n){"use strict";function i(e){for(var t=[],n=0;n=0?"/"===e[t+1]&&"/"===e[t+2]&&(n=t+3):"/"===e[0]&&"/"===e[1]&&(n=2);var r=e.indexOf("/",n);return r<0?e:e.substr(0,r)+i(e.substr(r))}function o(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(e,t){var n=(t=t||"").indexOf("#");if(n>0&&(t=t.substr(0,n)),!e.length){if(t.indexOf(":")<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));return t}if(e.startsWith("?")){var o=t.indexOf("?");return o>0&&(t=t.substr(0,o)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){var a=e.indexOf(":");if(a<0)throw new Error("Found invalid relative IRI '".concat(e,"' for a missing baseIRI"));return r(e,a)}var s=e.indexOf(":");if(s>=0)return r(e,s);var u=t.indexOf(":");if(u<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));var c,l=t.substr(0,u+1);if(0===e.indexOf("//"))return l+r(e,s);if(t.indexOf("//",u)===u+1){if((c=t.indexOf("/",u+3))<0)return t.length>u+3?t+"/"+r(e,s):l+r(e,s)}else if((c=t.indexOf("/",u+1))<0)return l+r(e,s);if(0===e.indexOf("/"))return t.substr(0,c)+i(e);var h=t.substr(c),d=h.lastIndexOf("/");return d>=0&&d"===o?(E(t,"onsgmldeclaration",t.sgmlDecl),t.sgmlDecl="",t.state=x.TEXT):(g(o)&&(t.state=x.SGML_DECL_QUOTED),t.sgmlDecl+=o);continue;case x.SGML_DECL_QUOTED:o===t.q&&(t.state=x.SGML_DECL,t.q=""),t.sgmlDecl+=o;continue;case x.DOCTYPE:">"===o?(t.state=x.TEXT,E(t,"ondoctype",t.doctype),t.doctype=!0):(t.doctype+=o,"["===o?t.state=x.DOCTYPE_DTD:g(o)&&(t.state=x.DOCTYPE_QUOTED,t.q=o));continue;case x.DOCTYPE_QUOTED:t.doctype+=o,o===t.q&&(t.q="",t.state=x.DOCTYPE);continue;case x.DOCTYPE_DTD:t.doctype+=o,"]"===o?t.state=x.DOCTYPE:g(o)&&(t.state=x.DOCTYPE_DTD_QUOTED,t.q=o);continue;case x.DOCTYPE_DTD_QUOTED:t.doctype+=o,o===t.q&&(t.state=x.DOCTYPE_DTD,t.q="");continue;case x.COMMENT:"-"===o?t.state=x.COMMENT_ENDING:t.comment+=o;continue;case x.COMMENT_ENDING:"-"===o?(t.state=x.COMMENT_ENDED,t.comment=T(t.opt,t.comment),t.comment&&E(t,"oncomment",t.comment),t.comment=""):(t.comment+="-"+o,t.state=x.COMMENT);continue;case x.COMMENT_ENDED:">"!==o?(M(t,"Malformed comment"),t.comment+="--"+o,t.state=x.COMMENT):t.state=x.TEXT;continue;case x.CDATA:"]"===o?t.state=x.CDATA_ENDING:t.cdata+=o;continue;case x.CDATA_ENDING:"]"===o?t.state=x.CDATA_ENDING_2:(t.cdata+="]"+o,t.state=x.CDATA);continue;case x.CDATA_ENDING_2:">"===o?(t.cdata&&E(t,"oncdata",t.cdata),E(t,"onclosecdata"),t.cdata="",t.state=x.TEXT):"]"===o?t.cdata+="]":(t.cdata+="]]"+o,t.state=x.CDATA);continue;case x.PROC_INST:"?"===o?t.state=x.PROC_INST_ENDING:v(o)?t.state=x.PROC_INST_BODY:t.procInstName+=o;continue;case x.PROC_INST_BODY:if(!t.procInstBody&&v(o))continue;"?"===o?t.state=x.PROC_INST_ENDING:t.procInstBody+=o;continue;case x.PROC_INST_ENDING:">"===o?(E(t,"onprocessinginstruction",{name:t.procInstName,body:t.procInstBody}),t.procInstName=t.procInstBody="",t.state=x.TEXT):(t.procInstBody+="?"+o,t.state=x.PROC_INST_BODY);continue;case x.OPEN_TAG:y(d,o)?t.tagName+=o:(I(t),">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:(v(o)||M(t,"Invalid character in tag name"),t.state=x.ATTRIB));continue;case x.OPEN_TAG_SLASH:">"===o?(N(t,!0),L(t)):(M(t,"Forward-slash in opening tag not followed by >"),t.state=x.ATTRIB);continue;case x.ATTRIB:if(v(o))continue;">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME:"="===o?t.state=x.ATTRIB_VALUE:">"===o?(M(t,"Attribute without value"),t.attribValue=t.attribName,D(t),N(t)):v(o)?t.state=x.ATTRIB_NAME_SAW_WHITE:y(d,o)?t.attribName+=o:M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME_SAW_WHITE:if("="===o)t.state=x.ATTRIB_VALUE;else{if(v(o))continue;M(t,"Attribute without value"),t.tag.attributes[t.attribName]="",t.attribValue="",E(t,"onattribute",{name:t.attribName,value:""}),t.attribName="",">"===o?N(t):y(h,o)?(t.attribName=o,t.state=x.ATTRIB_NAME):(M(t,"Invalid attribute name"),t.state=x.ATTRIB)}continue;case x.ATTRIB_VALUE:if(v(o))continue;g(o)?(t.q=o,t.state=x.ATTRIB_VALUE_QUOTED):(M(t,"Unquoted attribute value"),t.state=x.ATTRIB_VALUE_UNQUOTED,t.attribValue=o);continue;case x.ATTRIB_VALUE_QUOTED:if(o!==t.q){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_Q:t.attribValue+=o;continue}D(t),t.q="",t.state=x.ATTRIB_VALUE_CLOSED;continue;case x.ATTRIB_VALUE_CLOSED:v(o)?t.state=x.ATTRIB:">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(M(t,"No whitespace between attributes"),t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_VALUE_UNQUOTED:if(!m(o)){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_U:t.attribValue+=o;continue}D(t),">"===o?N(t):t.state=x.ATTRIB;continue;case x.CLOSE_TAG:if(t.tagName)">"===o?L(t):y(d,o)?t.tagName+=o:t.script?(t.script+=""===o?L(t):M(t,"Invalid characters in closing tag");continue;case x.TEXT_ENTITY:case x.ATTRIB_VALUE_ENTITY_Q:case x.ATTRIB_VALUE_ENTITY_U:var s,u;switch(t.state){case x.TEXT_ENTITY:s=x.TEXT,u="textNode";break;case x.ATTRIB_VALUE_ENTITY_Q:s=x.ATTRIB_VALUE_QUOTED,u="attribValue";break;case x.ATTRIB_VALUE_ENTITY_U:s=x.ATTRIB_VALUE_UNQUOTED,u="attribValue"}";"===o?(t[u]+=j(t),t.entity="",t.state=s):y(t.entity.length?p:f,o)?t.entity+=o:(M(t,"Invalid character in entity name"),t[u]+="&"+t.entity+o,t.entity="",t.state=s);continue;default:throw new Error(t,"Unknown state: "+t.state)}return t.position>=t.bufferCheckPosition&&function(e){for(var t=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,o=0,a=r.length;ot)switch(r[o]){case"textNode":O(e);break;case"cdata":E(e,"oncdata",e.cdata),e.cdata="";break;case"script":E(e,"onscript",e.script),e.script="";break;default:P(e,"Max buffer length exceeded: "+r[o])}i=Math.max(i,s)}e.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+e.position}(t),t},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(e){O(e),""!==e.cdata&&(E(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(E(e,"onscript",e.script),e.script="")}(this)}};try{i=e("stream").Stream}catch(_){i=function(){}}var a=n.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function s(e,t){if(!(this instanceof s))return new s(e,t);i.apply(this),this._parser=new o(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,a.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}(s.prototype=Object.create(i.prototype,{constructor:{value:s}})).write=function(n){if("function"==typeof t&&"function"==typeof t.isBuffer&&t.isBuffer(n)){if(!this._decoder){var i=e("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},s.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},s.prototype.on=function(e,t){var n=this;return!n._parser["on"+e]&&-1!==a.indexOf(e)&&(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),i.prototype.on.call(n,e,t)};var u="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",l={xml:u,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function g(e){return'"'===e||"'"===e}function m(e){return">"===e||v(e)}function y(e,t){return e.test(t)}function b(e,t){return!y(e,t)}var _,w,k,x=0;for(var S in n.STATE={BEGIN:x++,BEGIN_WHITESPACE:x++,TEXT:x++,TEXT_ENTITY:x++,OPEN_WAKA:x++,SGML_DECL:x++,SGML_DECL_QUOTED:x++,DOCTYPE:x++,DOCTYPE_QUOTED:x++,DOCTYPE_DTD:x++,DOCTYPE_DTD_QUOTED:x++,COMMENT_STARTING:x++,COMMENT:x++,COMMENT_ENDING:x++,COMMENT_ENDED:x++,CDATA:x++,CDATA_ENDING:x++,CDATA_ENDING_2:x++,PROC_INST:x++,PROC_INST_BODY:x++,PROC_INST_ENDING:x++,OPEN_TAG:x++,OPEN_TAG_SLASH:x++,ATTRIB:x++,ATTRIB_NAME:x++,ATTRIB_NAME_SAW_WHITE:x++,ATTRIB_VALUE:x++,ATTRIB_VALUE_QUOTED:x++,ATTRIB_VALUE_CLOSED:x++,ATTRIB_VALUE_UNQUOTED:x++,ATTRIB_VALUE_ENTITY_Q:x++,ATTRIB_VALUE_ENTITY_U:x++,CLOSE_TAG:x++,CLOSE_TAG_SAW_WHITE:x++,SCRIPT:x++,SCRIPT_ENDING:x++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(e){var t=n.ENTITIES[e],i="number"==typeof t?String.fromCharCode(t):t;n.ENTITIES[e]=i}),n.STATE)n.STATE[n.STATE[S]]=S;function C(e,t,n){e[t]&&e[t](n)}function E(e,t,n){e.textNode&&O(e),C(e,t,n)}function O(e){e.textNode=T(e.opt,e.textNode),e.textNode&&C(e,"ontext",e.textNode),e.textNode=""}function T(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function P(e,t){return O(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,C(e,"onerror",t),e}function A(e){return e.sawRoot&&!e.closedRoot&&M(e,"Unclosed root tag"),e.state!==x.BEGIN&&e.state!==x.BEGIN_WHITESPACE&&e.state!==x.TEXT&&P(e,"Unexpected end"),O(e),e.c="",e.closed=!0,C(e,"onend"),o.call(e,e.strict,e.opt),e}function M(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&P(e,t)}function I(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,E(e,"onopentagstart",n)}function R(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),i=n[0],r=n[1];return t&&"xmlns"===e&&(i="xmlns",r=""),{prefix:i,local:r}}function D(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=R(e.attribName,!0),n=t.local;if("xmlns"===t.prefix)if("xml"===n&&e.attribValue!==u)M(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==c)M(e,"xmlns: prefix must be bound to "+c+"\nActual: "+e.attribValue);else{var i=e.tag,r=e.tags[e.tags.length-1]||e;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,E(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function N(e,t){if(e.opt.xmlns){var n=e.tag,i=R(e.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=i.prefix),n.ns&&(e.tags[e.tags.length-1]||e).ns!==n.ns&&Object.keys(n.ns).forEach(function(t){E(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var r=0,o=e.attribList.length;r",e.tagName="",void(e.state=x.SCRIPT);E(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var i=n;t--&&e.tags[t].name!==i;)M(e,"Unexpected close tag");if(t<0)return M(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=x.TEXT);e.tagName=n;for(var r=e.tags.length;r-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,E(e,"onclosetag",e.tagName);var a={};for(var s in o.ns)a[s]=o.ns[s];e.opt.xmlns&&o.ns!==(e.tags[e.tags.length-1]||e).ns&&Object.keys(o.ns).forEach(function(t){E(e,"onclosenamespace",{prefix:t,uri:o.ns[t]})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=x.TEXT}function j(e){var t,n=e.entity,i=n.toLowerCase(),r="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[i]?e.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||r.toLowerCase()!==n?(M(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function F(e,t){"<"===t?(e.state=x.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(M(e,"Non-whitespace before first tag."),e.textNode=t,e.state=x.TEXT)}function B(e,t){var n="";return t1114111||w(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?t.push(o):t.push(55296+((o-=65536)>>10),o%1024+56320),(n+1===i||t.length>e)&&(r+=_.apply(null,t),t.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:k,configurable:!0,writable:!0}):String.fromCodePoint=k)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,e("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(e,t,n){(function(e,t){(function(){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},a=!1,s=t.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(t);u=u&&u.setTimeout?u:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){d(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(c="setImmediate$"+Math.random()+"$",l=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(c)&&d(+e.data.slice(c.length))},t.addEventListener?t.addEventListener("message",l,!1):t.attachEvent("onmessage",l),i=function(e){t.postMessage(c+e,"*")}):t.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){d(e.data)},i=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function(){var e=s.documentElement;i=function(t){var n=s.createElement("script");n.onreadystatechange=function(){d(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():i=function(e){setTimeout(d,0,e)},u.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n.setImmediate="function"==typeof t?t:function(e){var t=u++,i=!(arguments.length<2)&&a.call(arguments,1);return s[t]=!0,r(function(){s[t]&&(i?e.apply(null,i):e.call(null),n.clearImmediate(t))}),t},n.clearImmediate="function"==typeof i?i:function(e){delete s[e]}}).call(this)}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(e,t,n){(function(e){(function(){function n(t){try{if(!e.localStorage)return!1}catch(i){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(e,t,n){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.head;case 1:if(!t){e.next=7;break}return e.next=4,t.value;case 4:t=t.next,e.next=1;break;case 7:case"end":return e.stop()}},e,this)})}},{}],92:[function(e,t,n){"use strict";function i(e){var t=this;if(t instanceof i||(t=new i),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=e(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(e,t){var n,i=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=e(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},i.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},i.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new i;if(tthis.length&&(t=this.length);for(var r=0,o=this.head;null!==o&&rthis.length&&(t=this.length);for(var r=this.length,o=this.tail;null!==o&&r>t;r--)o=o.prev;for(;null!==o&&r>e;r--,o=o.prev)n.push(o.value);return n},i.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,i=this.head;null!==i&&n=0?1.2:1))}function i(e,t,n,i,o,a){for(var s=0;s-1);a[++c]=u,s[c]=l,s[c+1]=t}for(u=0,c=0;u is not a method!");return{configurable:i.boolTrue,get:function(){var e=n.value.bind(this);return Object.defineProperty(this,t,{value:e,configurable:i.boolTrue,writable:i.boolTrue}),e}}}t.ak=r,t.ZP=r},97266:function(e,t,n){e.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(e,t,n){"use strict";var i,r,o;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(o="function"==typeof(i=function(e){var t=function(){var t,n={},i=[];function r(e){e||(e=document.documentElement);var t=window.getComputedStyle(e,null).fontSize;return parseFloat(t)||16}function o(e,t){var n=t.split(/\d/),i=n[n.length-1];switch(t=parseFloat(t),i){case"px":return t;case"em":return t*r(e);case"rem":return t*r();case"vw":return t*document.documentElement.clientWidth/100;case"vh":return t*document.documentElement.clientHeight/100;case"vmin":case"vmax":var o=document.documentElement.clientWidth/100,a=document.documentElement.clientHeight/100;return t*(0,Math["vmin"===i?"min":"max"])(o,a);default:return t}}function a(e,t){this.element=e;var i,r,a,s,u,c,l,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in a=function(e){if(!e.getBoundingClientRect)return{width:e.offsetWidth,height:e.offsetHeight};var t=e.getBoundingClientRect();return{width:Math.round(t.width),height:Math.round(t.height)}}(this.element),c={},n[t])!n[t].hasOwnProperty(i)||(s=o(this.element,(r=n[t][i]).value),u="width"===r.property?a.width:a.height,l="","min"===r.mode&&u>=s&&(l+=r.value),"max"===r.mode&&u<=s&&(l+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),l&&-1===(" "+c[h]+" ").indexOf(" "+l+" ")&&(c[h]+=" "+l));for(var e in d)!d.hasOwnProperty(e)||(c[d[e]]?this.element.setAttribute(d[e],c[d[e]].substr(1)):this.element.removeAttribute(d[e]))}}function s(t,n){t.elementQueriesSetupInformation||(t.elementQueriesSetupInformation=new a(t,n)),t.elementQueriesSensor||(t.elementQueriesSensor=new e(t,function(){t.elementQueriesSetupInformation.call()}))}function u(e,r,o,a){if(void 0===n[e]){n[e]=[];var s=i.length;t.innerHTML+="\n"+e+" {animation: 0.1s element-queries;}",t.innerHTML+="\n"+e+" > .resize-sensor {min-width: "+s+"px;}",i.push(e)}n[e].push({mode:r,property:o,value:a})}function c(e){var t;if(document.querySelectorAll&&(t=e?e.querySelectorAll.bind(e):document.querySelectorAll.bind(document)),!t&&"undefined"!=typeof $$&&(t=$$),!t&&"undefined"!=typeof jQuery&&(t=jQuery),!t)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return t}function l(t){var n=[],i=[],r=[],o=0,a=-1,s=[];for(var u in t.children)if(t.children.hasOwnProperty(u)&&t.children[u].tagName&&"img"===t.children[u].tagName.toLowerCase()){n.push(t.children[u]);var c=t.children[u].getAttribute("min-width")||t.children[u].getAttribute("data-min-width"),l=t.children[u].getAttribute("data-src")||t.children[u].getAttribute("url");r.push(l),i.push({minWidth:c}),c?t.children[u].style.display="none":(o=n.length-1,t.children[u].style.display="block")}function h(){var e,u=!1;for(e in n)!n.hasOwnProperty(e)||i[e].minWidth&&t.offsetWidth>i[e].minWidth&&(u=e);if(u||(u=o),a!==u)if(s[u])n[a].style.display="none",n[u].style.display="block",a=u;else{var c=new Image;c.onload=function(){n[u].src=r[u],n[a].style.display="none",n[u].style.display="block",s[u]=!0,a=u},c.src=r[u]}else n[u].src=r[u]}a=o,t.resizeSensorInstance=new e(t,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function f(e){var t,n,i,r;for(e=e.replace(/'/g,'"');null!==(t=h.exec(e));)for(n=t[1]+t[3],i=t[2];null!==(r=d.exec(i));)u(n,r[1],r[2],r[3])}function p(e){var t="";if(e)if("string"==typeof e)(-1!==(e=e.toLowerCase()).indexOf("min-width")||-1!==e.indexOf("max-width"))&&f(e);else for(var n=0,i=e.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",t.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(t),v=!0);for(var r=0,o=document.styleSheets.length;r0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,console&&console.warn&&console.warn(s)}return e}function E(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=E.bind(i);return r.listener=n,i.wrapFn=r,r}function T(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=r[e];if(void 0===s)return!1;if("function"==typeof s)b(s,this,t);else{var u=s.length,c=A(s,u);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},w.prototype.listeners=function(e){return T(this,e,!0)},w.prototype.rawListeners=function(e){return T(this,e,!1)},w.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):P.call(e,t)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?g(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var e=this._next();return e.done&&(this.done=!0),e},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var e=arguments,t=e.length,n=0;return new I(function(){return n>=t?{done:!0}:{done:!1,value:e[n++]}})},I.empty=function(){var e=new I(null);return e.done=!0,e},I.is=function(e){return e instanceof I||"object"==typeof e&&null!==e&&"function"==typeof e.next};var R=I,D=function(e,t){for(var n,i=arguments.length>1?t:1/0,r=i!==1/0?new Array(i):[],o=0;;){if(o===i)return r;if((n=e.next()).done)return o!==t?r.slice(0,o):r;r[o++]=n.value}},N=function(e){function n(t,n){var i;return(i=e.call(this)||this).name="GraphError",i.message=t||"",i.data=n||{},i}return t(n,e),n}(a(Error)),L=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),j=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),F=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N);function B(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(e,t){this.key=e,this.attributes=t,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(e,t,n,i,r,o){this.key=t,this.attributes=o,this.undirected=e,this.source=i,this.target=r,this.generatedKey=n}function H(e,t,n,i,r,o,a){var s,u,c="out",l="in";if(t&&(c=l="undirected"),e.multi){if(void 0===(u=(s=o[c])[r])&&(u=new Set,s[r]=u),u.add(n),i===r&&t)return;void 0===(s=a[l])[i]&&(s[i]=u)}else{if(o[c][r]=n,i===r&&t)return;a[l][i]=n}}function G(e,t,n){var i=e.multi,r=n.source,o=n.target,a=r.key,s=o.key,u=r[t?"undirected":"out"],c=t?"undirected":"in";if(s in u)if(i){var l=u[s];1===l.size?(delete u[s],delete o[c][a]):l.delete(n)}else delete u[s];i||delete o[c][a]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var W=[{name:function(e){return"get".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(e){return"get".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+e,o=""+arguments[1];if(!(i=c(this,r,o,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(r,'" - "').concat(o,'").'))}else if(!(i=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(e){return"has".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(e){return"set".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"update".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(t,": updater should be a function."));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r(o.attributes[i]),this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"remove".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(e){return"replace".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(e){return"merge".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return u(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],q=R,X=function(){var e,t=arguments,n=-1;return new q(function i(){if(!e){if(++n>=t.length)return{done:!0};e=t[n]}var r=e.next();return r.done?(e=null,i()):r})},Y=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function K(e,t){for(var n in t)e.push(t[n].key)}function $(e,t){for(var n in t)t[n].forEach(function(t){return e.push(t.key)})}function Q(e,t,n){for(var i in e)if(i!==n){var r=e[i];t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(e,t,n){for(var i in e)i!==n&&e[i].forEach(function(e){return t(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function J(e,t,n){for(var i in e)if(i!==n){var r=e[i];if(t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function ee(e,t,n){var i,r,o,a,s;for(var u in e)if(u!==n)for(i=e[u].values();!0!==(r=i.next()).done;)if(a=(o=r.value).source,t(o.key,o.attributes,a.key,(s=o.target).key,a.attributes,s.attributes,o.undirected,o.generatedKey))return!0;return!1}function te(e,t){var n=Object.keys(e),i=n.length,r=null,o=0;return new R(function a(){var s;if(r){var u=r.next();if(u.done)return r=null,o++,a();s=u.value}else{if(o>=i)return{done:!0};var c=n[o];if(c===t)return o++,a();if((s=e[c])instanceof Set)return r=s.values(),a();o++}return{done:!1,value:[s.key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes]}})}function ne(e,t,n){var i=t[n];i&&e.push(i.key)}function ie(e,t,n){var i=t[n];i&&i.forEach(function(t){return e.push(t.key)})}function re(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function oe(e,t,n){var i=e[t];i&&i.forEach(function(e){return n(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function ae(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;return n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function se(e,t,n){var i=e[t];if(i){for(var r,o,a=i.values();!0!==(r=a.next()).done;)if(n((o=r.value).key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected,o.generatedKey))return!0;return!1}}function ue(e,t){var n=e[t];if(n instanceof Set){var i=n.values();return new R(function(){var e=i.next();if(e.done)return e;var t=e.value;return{done:!1,value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes]}})}return R.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ce(e,t){if(0===e.size)return[];if("mixed"===t||t===e.type)return"function"==typeof Array.from?Array.from(e._edges.keys()):D(e._edges.keys(),e._edges.size);for(var n,i,r=new Array("undirected"===t?e.undirectedSize:e.directedSize),o="undirected"===t,a=e._edges.values(),s=0;!0!==(n=a.next()).done;)(i=n.value).undirected===o&&(r[s++]=i.key);return r}function le(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey)}}function he(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;if(n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey))break}}function de(e,t){if(0===e.size)return R.empty();var n="mixed"!==t&&t!==e.type,i="undirected"===t,r=e._edges.values();return new R(function(){for(var e,t;;){if((e=r.next()).done)return e;if(t=e.value,!n||t.undirected===i)break}return{value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes],done:!1}})}function fe(e,t,n,i){var r=[],o=e?$:K;return"undirected"!==t&&("out"!==n&&o(r,i.in),"in"!==n&&o(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==t&&o(r,i.undirected),r}function pe(e,t,n,i,r){var o=e?Z:Q;"undirected"!==t&&("out"!==n&&o(i.in,r),"in"!==n&&o(i.out,r,n?null:i.key)),"directed"!==t&&o(i.undirected,r)}function ve(e,t,n,i,r){var o=e?ee:J;"undirected"!==t&&("out"!==n&&o(i.in,r)||"in"!==n&&o(i.out,r,n?null:i.key))||"directed"===t||o(i.undirected,r)}function ge(e,t,n){var i=R.empty();return"undirected"!==e&&("out"!==t&&void 0!==n.in&&(i=X(i,te(n.in))),"in"!==t&&void 0!==n.out&&(i=X(i,te(n.out,t?null:n.key)))),"directed"!==e&&void 0!==n.undirected&&(i=X(i,te(n.undirected))),i}function me(e,t,n,i,r){var o=t?ie:ne,a=[];return"undirected"!==e&&(void 0!==i.in&&"out"!==n&&o(a,i.in,r),void 0!==i.out&&"in"!==n&&o(a,i.out,r),!n&&i.directedSelfLoops>0&&a.splice(a.lastIndexOf(i.key),1)),"directed"!==e&&void 0!==i.undirected&&o(a,i.undirected,r),a}function ye(e,t,n,i,r,o){var a=t?oe:re;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o),i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o)),"directed"!==e&&void 0!==i.undirected&&a(i.undirected,r,o)}function be(e,t,n,i,r,o){var a=t?se:ae;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o)||i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o,n?null:i.key))||"directed"===e||void 0===i.undirected||a(i.undirected,r,o)}function _e(e,t,n,i){var r=R.empty();return"undirected"!==e&&(void 0!==n.in&&"out"!==t&&i in n.in&&(r=X(r,ue(n.in,i))),void 0!==n.out&&"in"!==t&&i in n.out&&(r=X(r,ue(n.out,i)))),"directed"!==e&&void 0!==n.undirected&&i in n.undirected&&(r=X(r,ue(n.undirected,i))),r}var we=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function ke(e,t){if(void 0!==t)for(var n in t)e.add(n)}function xe(e,t,n){if("mixed"!==e){if("undirected"===e)return Object.keys(n.undirected);if("string"==typeof t)return Object.keys(n[t])}var i=new Set;return"undirected"!==e&&("out"!==t&&ke(i,n.in),"in"!==t&&ke(i,n.out)),"directed"!==e&&ke(i,n.undirected),D(i.values(),i.size)}function Se(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;n(a.key,a.attributes)}}function Ce(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;e.has(s.key)||(e.add(s.key),i(s.key,s.attributes))}}function Ee(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;if(n(a.key,a.attributes))return!0}return!1}function Oe(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;if(!e.has(s.key)&&(e.add(s.key),i(s.key,s.attributes)))return!0}return!1}function Te(e,t){var n=Object.keys(t),i=n.length,r=0;return new R(function(){if(r>=i)return{done:!0};var o=t[n[r++]];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===e?o.target:a;return{done:!1,value:[s.key,s.attributes]}})}function Pe(e,t,n){var i=Object.keys(n),r=i.length,o=0;return new R(function a(){if(o>=r)return{done:!0};var s=n[i[o++]];s instanceof Set&&(s=s.values().next().value);var u=s.source,c=u===t?s.target:u;return e.has(c.key)?a():(e.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function Ae(e,t,n,i,r){var o=e._nodes.get(i);if("undirected"!==t){if("out"!==n&&void 0!==o.in)for(var a in o.in)if(a===r)return!0;if("in"!==n&&void 0!==o.out)for(var s in o.out)if(s===r)return!0}if("directed"!==t&&void 0!==o.undirected)for(var u in o.undirected)if(u===r)return!0;return!1}function Me(e,t,n){for(var i,r,o,a,s,u,c,l=t._nodes.values(),h=t.type;!0!==(i=l.next()).done;){if(r=i.value,"undirected"!==h)for(o in a=r.out)if(u=(s=a[o]).target,c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return;if("directed"!==h)for(o in a=r.undirected)if((u=(s=a[o]).target).key!==o&&(u=s.source),c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return}}function Ie(e,t,n){for(var i,r,o,a,s,u,c,l,h,d=t._nodes.values(),f=t.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==f)for(o in u=r.out)for(a=u[o].values();!0!==(s=a.next()).done;)if(l=(c=s.value).target,h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return;if("directed"!==f)for(o in u=r.undirected)for(a=u[o].values();!0!==(s=a.next()).done;)if((l=(c=s.value).target).key!==o&&(l=c.source),h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return}}function Re(e,t){var n={key:e};return d(t.attributes)||(n.attributes=u({},t.attributes)),n}function De(e,t){var n={source:t.source.key,target:t.target.key};return t.generatedKey||(n.key=e),d(t.attributes)||(n.attributes=u({},t.attributes)),t.undirected&&(n.undirected=!0),n}function Ne(e){return h(e)?"key"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?null:"invalid-attributes":"no-key":"not-object"}function Le(e){return h(e)?"source"in e?"target"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?"undirected"in e&&"boolean"!=typeof e.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var je=new Set(["directed","undirected","mixed"]),Fe=new Set(["domain","_events","_eventsCount","_maxListeners"]),Be={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Ve(e,t,n){var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}function ze(e,t,n,i,r,o,a,s){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s&&!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));if(o=""+o,a=""+a,s=s||{},!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var u=e._nodes.get(o),c=e._nodes.get(a);if(!u)throw new j("Graph.".concat(t,': source node "').concat(o,'" not found.'));if(!c)throw new j("Graph.".concat(t,': target node "').concat(a,'" not found.'));var l={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(l)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));if(!e.multi&&(i?void 0!==u.undirected[a]:void 0!==u.out[a]))throw new F("Graph.".concat(t,': an edge linking "').concat(o,'" to "').concat(a,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,u,c,s);return e._edges.set(r,d),o===a?i?(u.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(u.directedSelfLoops++,e._directedSelfLoopCount++):i?(u.undirectedDegree++,c.undirectedDegree++):(u.outDegree++,c.inDegree++),H(e,i,d,o,a,u,c),i?e._undirectedSize++:e._directedSize++,l.key=r,e.emit("edgeAdded",l),r}function Ue(e,t,n,i,r,o,a,s,c){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s)if(c){if("function"!=typeof s)throw new L("Graph.".concat(t,': invalid updater function. Expecting a function but got "').concat(s,'"'))}else if(!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));var l;if(o=""+o,a=""+a,c&&(l=s,s=void 0),!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,f,p=e._nodes.get(o),v=e._nodes.get(a);if(!n&&(d=e._edges.get(r))){if(d.source.key!==o||d.target.key!==a||i&&(d.source.key!==a||d.target.key!==o))throw new F("Graph.".concat(t,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(o,'" source & "').concat(a,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));f=d}if(f||e.multi||!p||(f=i?p.undirected[a]:p.out[a]),f)return(c?l:s)?(c?(f.attributes=l(f.attributes),e.emit("edgeAttributesUpdated",{type:"replace",key:f.key,attributes:f.attributes})):(u(f.attributes,s),e.emit("edgeAttributesUpdated",{type:"merge",key:f.key,attributes:f.attributes,data:s})),f.key):f.key;s=s||{},c&&l&&(s=l(s));var g={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(g)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));return p||(p=Ve(e,o,{}),o===a&&(v=p)),v||(v=Ve(e,a,{})),d=new U(i,r,n,p,v,s),e._edges.set(r,d),o===a?i?(p.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(p.directedSelfLoops++,e._directedSelfLoopCount++):i?(p.undirectedDegree++,v.undirectedDegree++):(p.outDegree++,v.inDegree++),H(e,i,d,o,a,p,v),i?e._undirectedSize++:e._directedSize++,g.key=r,e.emit("edgeAdded",g),r}var He,Ge=function(e){function n(t){var n;if(n=e.call(this)||this,(t=u({},Be,t)).edgeKeyGenerator&&"function"!=typeof t.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(t.edgeKeyGenerator,'".'));if("boolean"!=typeof t.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(t.multi,'".'));if(!je.has(t.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(t.type,'".'));if("boolean"!=typeof t.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(t.allowSelfLoops,'".'));var i,r="mixed"===t.type?B:"directed"===t.type?V:z;return f(s(n),"NodeDataClass",r),f(s(n),"_attributes",{}),f(s(n),"_nodes",new Map),f(s(n),"_edges",new Map),f(s(n),"_directedSize",0),f(s(n),"_undirectedSize",0),f(s(n),"_directedSelfLoopCount",0),f(s(n),"_undirectedSelfLoopCount",0),f(s(n),"_edgeKeyGenerator",t.edgeKeyGenerator||(i=0,function(){return i++})),f(s(n),"_options",t),Fe.forEach(function(e){return f(s(n),e,n[e])}),p(s(n),"order",function(){return n._nodes.size}),p(s(n),"size",function(){return n._edges.size}),p(s(n),"directedSize",function(){return n._directedSize}),p(s(n),"undirectedSize",function(){return n._undirectedSize}),p(s(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),p(s(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),p(s(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),p(s(n),"multi",n._options.multi),p(s(n),"type",n._options.type),p(s(n),"allowSelfLoops",n._options.allowSelfLoops),p(s(n),"implementation",function(){return"graphology"}),n}t(n,e);var i=n.prototype;return i.hasNode=function(e){return this._nodes.has(""+e)},i.hasDirectedEdge=function(e,t){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&!n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.out[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(e,t){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.undirected[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(e,t){if(1===arguments.length)return this._edges.has(""+e);if(2===arguments.length){t=""+t;var n=this._nodes.get(e=""+e);if(!n)return!1;var i=void 0!==n.out&&n.out[t];return i||(i=void 0!==n.undirected&&n.undirected[t]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(e,t){if("undirected"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.directedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(e,t){if("directed"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.undirected&&n.undirected[t]||void 0;return i?i.key:void 0}},i.edge=function(e,t){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");t=""+t;var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.edge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.edge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||n.undirected&&n.undirected[t]||void 0;if(i)return i.key},i.inDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(t?n.directedSelfLoops:0)},i.outDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(t?n.directedSelfLoops:0)},i.directedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(e,'" node in the graph.'));if("undirected"===this.type)return 0;var i=t?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(e,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(t?n.undirectedSelfLoops:0)},i.degree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.degree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.degree: could not find the "'.concat(e,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(t&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(t&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.source: could not find the "'.concat(e,'" edge in the graph.'));return t.source.key},i.target=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.target: could not find the "'.concat(e,'" edge in the graph.'));return t.target.key},i.extremities=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.extremities: could not find the "'.concat(e,'" edge in the graph.'));return[t.source.key,t.target.key]},i.opposite=function(e,t){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.opposite: could not find the "'.concat(t,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(e!==i&&e!==r)throw new j('Graph.opposite: the "'.concat(e,'" node is not attached to the "').concat(t,'" edge (').concat(i,", ").concat(r,")."));return e===i?r:i},i.hasExtremity=function(e,t){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(e,'" edge in the graph.'));return n.source.key===t||n.target.key===t},i.isUndirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isUndirected: could not find the "'.concat(e,'" edge in the graph.'));return t.undirected},i.isDirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isDirected: could not find the "'.concat(e,'" edge in the graph.'));return!t.undirected},i.isSelfLoop=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isSelfLoop: could not find the "'.concat(e,'" edge in the graph.'));return t.source===t.target},i.hasGeneratedKey=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(e,'" edge in the graph.'));return t.generatedKey},i.addNode=function(e,t){return function(e,t,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},e._nodes.has(t=""+t))throw new F('Graph.addNode: the "'.concat(t,'" node already exist in the graph.'));var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}(this,e,t).key},i.mergeNode=function(e,t){if(t&&!h(t))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(t,'"'));t=t||{};var n=this._nodes.get(e=""+e);return n?(t&&(u(n.attributes,t),this.emit("nodeAttributesUpdated",{type:"merge",key:e,attributes:n.attributes,data:t})),e):(n=new this.NodeDataClass(e,t),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:t}),e)},i.updateNode=function(e,t){if(t&&"function"!=typeof t)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(t,'"'));var n=this._nodes.get(e=""+e);if(n)return t&&(n.attributes=t(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:e,attributes:n.attributes})),e;var i=t?t({}):{};return n=new this.NodeDataClass(e,i),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:i}),e},i.dropNode=function(e){var t=this,n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(e,'" node in the graph.'));this.forEachEdge(e,function(e){t.dropEdge(e)}),this._nodes.delete(e),this.emit("nodeDropped",{key:e,attributes:n.attributes})},i.dropEdge=function(e){var t;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(t=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(t=this._edges.get(e=""+e)))throw new j('Graph.dropEdge: could not find the "'.concat(e,'" edge in the graph.'));this._edges.delete(t.key);var r=t.source,o=t.target,a=t.attributes,s=t.undirected;return r===o?s?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):s?(r.undirectedDegree--,o.undirectedDegree--):(r.outDegree--,o.inDegree--),G(this,s,t),s?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:e,attributes:a,source:r.key,target:o.key,undirected:s}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(e){return this._attributes[e]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(e){return this._attributes.hasOwnProperty(e)},i.setAttribute=function(e,t){return this._attributes[e]=t,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.updateAttribute=function(e,t){if("function"!=typeof t)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[e]=t(this._attributes[e]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.removeAttribute=function(e){return delete this._attributes[e],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:e}),this},i.replaceAttributes=function(e){if(!h(e))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=e,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(e){if(!h(e))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return u(this._attributes,e),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:e}),this},i.getNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes[t]},i.getNodeAttributes=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.getNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));return t.attributes},i.hasNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes.hasOwnProperty(t)},i.setNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[t]=n,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.updateNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,o=n(r[t]);return r[t]=o,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.removeNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return delete n.attributes[t],this.emit("nodeAttributesUpdated",{key:e,type:"remove",attributes:n.attributes,name:t}),this},i.replaceNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=t,this.emit("nodeAttributesUpdated",{key:e,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return u(n.attributes,t),this.emit("nodeAttributesUpdated",{key:e,type:"merge",attributes:n.attributes,data:t}),this},i.updateEachNodeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:t||null})},i.updateEachEdgeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:t||null})},i.forEach=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!1,this,e):Me(!1,this,e)},i.forEachUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!0,this,e):Me(!0,this,e)},i.adjacency=function(){return this.multi?(f=(u=this)._nodes.values(),p=u.type,v="outer",g=null,new R(function e(){var t;if("outer"===v)return!0===(t=f.next()).done?t:(c=t.value,v="directed",e());if("directed"===v)return"undirected"===p?(v="undirected",e()):(h=c.out,l=Object.keys(c.out),d=0,v="inner-directed",e());if("undirected"===v){if("directed"===p)return v="outer",e();h=c.undirected,l=Object.keys(c.undirected),d=0,v="inner-undirected"}if(!g&&d>=l.length)return v="inner-undirected"===v?"outer":"undirected",e();if(!g){var n=l[d++];return g=h[n].values(),e()}if((t=g.next()).done)return g=null,e();var i=t.value,r=i.target;return"inner-undirected"===v&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(o=(e=this)._nodes.values(),a=e.type,s="outer",new R(function e(){var u;if("outer"===s)return!0===(u=o.next()).done?u:(t=u.value,s="directed",e());if("directed"===s)return"undirected"===a?(s="undirected",e()):(i=t.out,n=Object.keys(t.out),r=0,s="inner-directed",e());if("undirected"===s){if("directed"===a)return s="outer",e();i=t.undirected,n=Object.keys(t.undirected),r=0,s="inner-undirected"}if(r>=n.length)return s="inner-undirected"===s?"outer":"undirected",e();var c=n[r++],l=i[c],h=l.target;return"inner-undirected"===s&&h.key===t.key&&(h=l.source),{done:!1,value:[t.key,h.key,t.attributes,h.attributes,l.key,l.attributes]}}));var e,t,n,i,r,o,a,s,u,c,l,h,d,f,p,v,g},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):D(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(t,n){e(n,t.attributes)})},i.forEachNodeUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");for(var t,n,i=this._nodes.values();!0!==(t=i.next())&&!e((n=t.value).key,n.attributes););},i.nodeEntries=function(){var e=this._nodes.values();return new R(function(){var t=e.next();if(t.done)return t;var n=t.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.exportNode: could not find the "'.concat(e,'" node in the graph.'));return Re(e,t)},i.exportEdge=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.exportEdge: could not find the "'.concat(e,'" edge in the graph.'));return De(e,t)},i.export=function(){var e=new Array(this._nodes.size),t=0;this._nodes.forEach(function(n,i){e[t++]=Re(i,n)});var n=new Array(this._edges.size);return t=0,this._edges.forEach(function(e,i){n[t++]=De(i,e)}),{attributes:this.getAttributes(),nodes:e,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ne(e);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=e.key,r=e.attributes,o=void 0===r?{}:r;return t?this.mergeNode(i,o):this.addNode(i,o),this},i.importEdge=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Le(e);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=e.source,r=e.target,o=e.attributes,a=void 0===o?{}:o,s=e.undirected,u=void 0!==s&&s;return"key"in e?(t?u?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:u?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,e.key,i,r,a):(t?u?this.mergeUndirectedEdge:this.mergeDirectedEdge:u?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,a),this},i.import=function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(l(e))return this.import(e.export(),r),this;if(!h(e))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(e.attributes){if(!h(e.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(e.attributes):this.replaceAttributes(e.attributes)}if(e.nodes){if(i=e.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(t=0,n=i.length;tn)){var a=new Set;a.add(t.undirected[o]),t.undirected[o]=a,e._nodes.get(o).undirected[n]=a}})),this;var e},i.clearIndex=function(){return this._nodes.forEach(function(e){void 0!==e.in&&(e.in={},e.out={}),void 0!==e.undirected&&(e.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var e=this,t={};this._nodes.forEach(function(e,n){t[n]=e.attributes});var n={},i={};this._edges.forEach(function(t,r){var o=t.undirected?"--":"->",a="",s="(".concat(t.source.key,")").concat(o,"(").concat(t.target.key,")");t.generatedKey?e.multi&&(void 0===i[s]?i[s]=0:i[s]++,a+="".concat(i[s],". ")):a+="[".concat(r,"]: "),n[a+=s]=t.attributes});var r={};for(var o in this)this.hasOwnProperty(o)&&!Fe.has(o)&&"function"!=typeof this[o]&&(r[o]=this[o]);return r.attributes=this._attributes,r.nodes=t,r.edges=n,f(r,"constructor",this.constructor),r},n}(m.exports.EventEmitter);"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ge.prototype.inspect),[{name:function(e){return"".concat(e,"Edge")},generateKey:!0},{name:function(e){return"".concat(e,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(e){return"".concat(e,"EdgeWithKey")}},{name:function(e){return"".concat(e,"DirectedEdgeWithKey")},type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(e){["add","merge","update"].forEach(function(t){var n=e.name(t),i="add"===t?ze:Ue;Ge.prototype[n]=e.generateKey?function(r,o,a){return i(this,n,!0,"undirected"===(e.type||this.type),null,r,o,a,"update"===t)}:function(r,o,a,s){return i(this,n,!1,"undirected"===(e.type||this.type),r,o,a,s,"update"===t)}})}),"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.iterator]=Ge.prototype.adjacency),He=Ge,W.forEach(function(e){var t=e.name,n=e.attacher;n(He,t("Edge"),"mixed"),n(He,t("DirectedEdge"),"directed"),n(He,t("UndirectedEdge"),"undirected")}),function(e){Y.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e,t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ce(this,r);if(1===arguments.length){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return fe(this.multi,"mixed"===r?this.type:r,o,n)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" target node in the graph.'));return me(r,this.multi,o,a,t)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return le(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return pe(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return ye(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return he(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return ve(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return be(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e,t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();if(!arguments.length)return de(this,n);if(1===arguments.length){var o=this._nodes.get(e=""+e);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return ge(n,i,o)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(r,': could not find the "').concat(t,'" target node in the graph.'));return _e(n,i,a,t)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(e,t)})}(Ge),function(e){we.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var t=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return Ae(this,r,o,t,n)}if(1===arguments.length){var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return xe("mixed"===r?this.type:r,o,a)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Se(n,n.undirected,i);if("string"==typeof t)return Se(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Ce(r,n,n.in,i),"in"!==t&&Ce(r,n,n.out,i)),"directed"!==e&&Ce(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Ee(n,n.undirected,i);if("string"==typeof t)return Ee(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Oe(r,n,n.in,i)||"in"!==t&&Oe(r,n,n.out,i))||"directed"===e||Oe(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();var t=this._nodes.get(e=""+e);if(void 0===t)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return function(e,t,n){if("mixed"!==e){if("undirected"===e)return Te(n,n.undirected);if("string"==typeof t)return Te(n,n[t])}var i=R.empty(),r=new Set;return"undirected"!==e&&("out"!==t&&(i=X(i,Pe(r,n,n.in))),"in"!==t&&(i=X(i,Pe(r,n,n.out)))),"directed"!==e&&(i=X(i,Pe(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,t)}}(e,t)})}(Ge);var We=function(e){function n(t){var n=u({type:"directed"},t);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),qe=function(e){function n(t){var n=u({type:"undirected"},t);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Xe=function(e){function n(t){var n=u({multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return e.call(this,n)||this}return t(n,e),n}(Ge),Ye=function(e){function n(t){var n=u({type:"directed",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Ke=function(e){function n(t){var n=u({type:"undirected",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge);function $e(e){e.from=function(t,n){var i=u({},t.options,n),r=new e(i);return r.import(t),r}}return $e(Ge),$e(We),$e(qe),$e(Xe),$e(Ye),$e(Ke),Ge.Graph=Ge,Ge.DirectedGraph=We,Ge.UndirectedGraph=qe,Ge.MultiGraph=Xe,Ge.MultiDirectedGraph=Ye,Ge.MultiUndirectedGraph=Ke,Ge.InvalidArgumentsGraphError=L,Ge.NotFoundGraphError=j,Ge.UsageGraphError=F,Ge}()},11524:function(e,t,n){var i;!function(r,o,a,s){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),h=Math.round,d=Math.abs,f=Date.now;function p(e,t,n){return setTimeout(w(e,n),t)}function v(e,t,n){return!!Array.isArray(e)&&(g(e,n[t],n),!0)}function g(e,t,n){var i;if(e)if(e.forEach)e.forEach(t,n);else if(e.length!==s)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(e===s||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n-1}function T(e){return e.trim().split(/\s+/g)}function P(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var i=0;in[t]}):i.sort()),i}function I(e,t){for(var n,i,r=t[0].toUpperCase()+t.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=G(t):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,u=a?a.center:o.center,c=t.center=W(i);t.timeStamp=f(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=K(u,c),t.distance=Y(u,c),function(e,t){var n=t.center,i=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};(1===t.eventType||4===o.eventType)&&(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=e.offsetDelta={x:n.x,y:n.y}),t.deltaX=r.x+(n.x-i.x),t.deltaY=r.y+(n.y-i.y)}(n,t),t.offsetDirection=X(t.deltaX,t.deltaY);var l=q(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=l.x,t.overallVelocityY=l.y,t.overallVelocity=d(l.x)>d(l.y)?l.x:l.y,t.scale=a?function(e,t){return Y(t[0],t[1],z)/Y(e[0],e[1],z)}(a.pointers,i):1,t.rotation=a?function(e,t){return K(t[1],t[0],z)+K(e[1],e[0],z)}(a.pointers,i):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,function(e,t){var n,i,r,o,a=e.lastInterval||t,u=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(u>25||a.velocity===s)){var c=t.deltaX-a.deltaX,l=t.deltaY-a.deltaY,h=q(u,c,l);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,o=X(c,l),e.lastInterval=t}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=i,t.velocityY=r,t.direction=o}(n,t);var h=e.element;E(t.srcEvent.target,h)&&(h=t.srcEvent.target),t.target=h}(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function G(e){for(var t=[],n=0;n=d(t)?e<0?2:4:t<0?8:16}function Y(e,t,n){n||(n=V);var i=t[n[0]]-e[n[0]],r=t[n[1]]-e[n[1]];return Math.sqrt(i*i+r*r)}function K(e,t,n){return n||(n=V),180*Math.atan2(t[n[1]]-e[n[1]],t[n[0]]-e[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(D(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(D(this.element),this.evWin,this.domHandler)}};var $={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(e){var t=$[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:B,srcEvent:e}))}});var ee={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},te={2:F,3:"pen",4:B,5:"kinect"},ne="pointerdown",ie="pointermove pointerup pointercancel";function re(){this.evEl=ne,this.evWin=ie,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(ne="MSPointerDown",ie="MSPointerMove MSPointerUp MSPointerCancel"),_(re,U,{handler:function(e){var t=this.store,n=!1,i=e.type.toLowerCase().replace("ms",""),r=ee[i],o=te[e.pointerType]||e.pointerType,a=o==F,s=P(t,e.pointerId,"pointerId");1&r&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&r&&(n=!0),!(s<0)&&(t[s]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var oe={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ae="touchstart",se="touchstart touchmove touchend touchcancel";function ue(){this.evTarget=ae,this.evWin=se,this.started=!1,U.apply(this,arguments)}function ce(e,t){var n=A(e.touches),i=A(e.changedTouches);return 12&t&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(ue,U,{handler:function(e){var t=oe[e.type];if(1===t&&(this.started=!0),this.started){var n=ce.call(this,e,t);12&t&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:e})}}});var le={touchstart:1,touchmove:2,touchend:4,touchcancel:8},he="touchstart touchmove touchend touchcancel";function de(){this.evTarget=he,this.targetIds={},U.apply(this,arguments)}function fe(e,t){var n=A(e.touches),i=this.targetIds;if(3&t&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=A(e.changedTouches),s=[],u=this.target;if(o=n.filter(function(e){return E(e.target,u)}),1===t)for(r=0;r-1&&i.splice(e,1)},2500)}}function me(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,n=this.state;function i(n){t.manager.emit(n,e)}n<8&&i(t.options.event+Te(n)),i(t.options.event),e.additionalEvent&&i(e.additionalEvent),n>=8&&i(t.options.event+Te(n))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;et.threshold&&r&t.direction},attrTest:function(e){return Me.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Pe(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),_(Re,Me,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(e.scale<1?"in":"out")),this._super.emit.call(this,e)}}),_(De,Oe,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distancet.time;if(this._input=e,!i||!n||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=p(function(){this.state=8,this.tryEmit()},t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),_(Ne,Me,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),_(Le,Me,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ie.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return 30&n?t=e.overallVelocity:6&n?t=e.overallVelocityX:24&n&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&d(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Pe(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),_(je,Oe,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[we]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distance"']/g,q=RegExp(G.source),X=RegExp(W.source),Y=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ee=/[\\^$.*+?()[\]{}|]/g,te=RegExp(ee.source),ne=/^\s+/,ie=/\s/,re=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,se=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ue=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,le=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,de=/^[-+]0x[0-9a-f]+$/i,fe=/^0b[01]+$/i,pe=/^\[object .+?Constructor\]$/,ve=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,be=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",we="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",ke="\\u2700-\\u27bf",xe="a-z\\xdf-\\xf6\\xf8-\\xff",Se="A-Z\\xc0-\\xd6\\xd8-\\xde",Ce="\\ufe0e\\ufe0f",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Oe="["+_e+"]",Te="["+Ee+"]",Pe="["+we+"]",Ae="\\d+",Me="["+ke+"]",Ie="["+xe+"]",Re="[^"+_e+Ee+Ae+ke+xe+Se+"]",De="\\ud83c[\\udffb-\\udfff]",Ne="[^"+_e+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",je="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Se+"]",Be="(?:"+Ie+"|"+Re+")",Ve="(?:"+Fe+"|"+Re+")",ze="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ue="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",He="(?:"+Pe+"|"+De+")?",Ge="["+Ce+"]?",We=Ge+He+"(?:\\u200d(?:"+[Ne,Le,je].join("|")+")"+Ge+He+")*",qe="(?:"+[Me,Le,je].join("|")+")"+We,Xe="(?:"+[Ne+Pe+"?",Pe,Le,je,Oe].join("|")+")",Ye=RegExp("['\u2019]","g"),Ke=RegExp(Pe,"g"),$e=RegExp(De+"(?="+De+")|"+Xe+We,"g"),Qe=RegExp([Fe+"?"+Ie+"+"+ze+"(?="+[Te,Fe,"$"].join("|")+")",Ve+"+"+Ue+"(?="+[Te,Fe+Be,"$"].join("|")+")",Fe+"?"+Be+"+"+ze,Fe+"+"+Ue,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ae,qe].join("|"),"g"),Ze=RegExp("[\\u200d"+_e+we+Ce+"]"),Je=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,et=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],tt=-1,nt={};nt[I]=nt[R]=nt[D]=nt[N]=nt[L]=nt[j]=nt[F]=nt[B]=nt[V]=!0,nt[p]=nt[v]=nt[A]=nt[g]=nt[M]=nt[m]=nt[y]=nt[b]=nt[w]=nt[k]=nt[x]=nt[C]=nt[E]=nt[O]=nt[P]=!1;var it={};it[p]=it[v]=it[A]=it[M]=it[g]=it[m]=it[I]=it[R]=it[D]=it[N]=it[L]=it[w]=it[k]=it[x]=it[C]=it[E]=it[O]=it[T]=it[j]=it[F]=it[B]=it[V]=!0,it[y]=it[b]=it[P]=!1;var rt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ot=parseFloat,at=parseInt,st="object"==typeof global&&global&&global.Object===Object&&global,ut="object"==typeof self&&self&&self.Object===Object&&self,ct=st||ut||Function("return this")(),lt=t&&!t.nodeType&&t,ht=lt&&e&&!e.nodeType&&e,dt=ht&&ht.exports===lt,ft=dt&&st.process,pt=function(){try{return ht&&ht.require&&ht.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),vt=pt&&pt.isArrayBuffer,gt=pt&&pt.isDate,mt=pt&&pt.isMap,yt=pt&&pt.isRegExp,bt=pt&&pt.isSet,_t=pt&&pt.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Tt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function Qt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}function Zt(e,t){for(var n=e.length,i=0;n--;)e[n]===t&&++i;return i}var Jt=Ut({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),en=Ut({"&":"&","<":"<",">":">",'"':""","'":"'"});function tn(e){return"\\"+rt[e]}function nn(e){return Ze.test(e)}function rn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function on(e,t){return function(n){return e(t(n))}}function an(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"}),dn=function e(t){var n,i=(t=null==t?ct:dn.defaults(ct.Object(),t,dn.pick(ct,et))).Array,ie=t.Date,_e=t.Error,we=t.Function,ke=t.Math,xe=t.Object,Se=t.RegExp,Ce=t.String,Ee=t.TypeError,Oe=i.prototype,Te=xe.prototype,Pe=t["__core-js_shared__"],Ae=we.prototype.toString,Me=Te.hasOwnProperty,Ie=0,Re=(n=/[^.]+$/.exec(Pe&&Pe.keys&&Pe.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=Te.toString,Ne=Ae.call(xe),Le=ct._,je=Se("^"+Ae.call(Me).replace(ee,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fe=dt?t.Buffer:r,Be=t.Symbol,Ve=t.Uint8Array,ze=Fe?Fe.allocUnsafe:r,Ue=on(xe.getPrototypeOf,xe),He=xe.create,Ge=Te.propertyIsEnumerable,We=Oe.splice,qe=Be?Be.isConcatSpreadable:r,Xe=Be?Be.iterator:r,$e=Be?Be.toStringTag:r,Ze=function(){try{var e=ao(xe,"defineProperty");return e({},"",{}),e}catch(Io){}}(),rt=t.clearTimeout!==ct.clearTimeout&&t.clearTimeout,st=ie&&ie.now!==ct.Date.now&&ie.now,ut=t.setTimeout!==ct.setTimeout&&t.setTimeout,lt=ke.ceil,ht=ke.floor,ft=xe.getOwnPropertySymbols,pt=Fe?Fe.isBuffer:r,Dt=t.isFinite,Ut=Oe.join,fn=on(xe.keys,xe),pn=ke.max,vn=ke.min,gn=ie.now,mn=t.parseInt,yn=ke.random,bn=Oe.reverse,_n=ao(t,"DataView"),wn=ao(t,"Map"),kn=ao(t,"Promise"),xn=ao(t,"Set"),Sn=ao(t,"WeakMap"),Cn=ao(xe,"create"),En=Sn&&new Sn,On={},Tn=Lo(_n),Pn=Lo(wn),An=Lo(kn),Mn=Lo(xn),In=Lo(Sn),Rn=Be?Be.prototype:r,Dn=Rn?Rn.valueOf:r,Nn=Rn?Rn.toString:r;function Ln(e){if(Ja(e)&&!Ua(e)&&!(e instanceof Vn)){if(e instanceof Bn)return e;if(Me.call(e,"__wrapped__"))return jo(e)}return new Bn(e)}var jn=function(){function e(){}return function(t){if(!Za(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Fn(){}function Bn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function ri(e,t,n,i,o,a){var s,u=1&t,c=2&t,l=4&t;if(n&&(s=o?n(e,i,o,a):n(e)),s!==r)return s;if(!Za(e))return e;var h=Ua(e);if(h){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Me.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Sr(e,s)}else{var d=co(e),f=d==b||d==_;if(qa(e))return yr(e,u);if(d==x||d==p||f&&!o){if(s=c||f?{}:ho(e),!u)return c?function(e,t){return Cr(e,uo(e),t)}(e,function(e,t){return e&&Cr(t,As(t),e)}(s,e)):function(e,t){return Cr(e,so(e),t)}(e,ei(s,e))}else{if(!it[d])return o?e:{};s=function(e,t,n){var i=e.constructor;switch(t){case A:return br(e);case g:case m:return new i(+e);case M:return function(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case I:case R:case D:case N:case L:case j:case F:case B:case V:return _r(e,n);case w:return new i;case k:case O:return new i(e);case C:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case E:return new i;case T:return function(e){return Dn?xe(Dn.call(e)):{}}(e)}}(e,d,u)}}a||(a=new Wn);var v=a.get(e);if(v)return v;a.set(e,s),rs(e)?e.forEach(function(i){s.add(ri(i,t,n,i,e,a))}):es(e)&&e.forEach(function(i,r){s.set(r,ri(i,t,n,r,e,a))});var y=h?r:(l?c?Jr:Zr:c?As:Ps)(e);return xt(y||e,function(i,r){y&&(i=e[r=i]),Qn(s,r,ri(i,t,n,r,e,a))}),s}function oi(e,t,n){var i=n.length;if(null==e)return!i;for(e=xe(e);i--;){var o=n[i],a=e[o];if(a===r&&!(o in e)||!(0,t[o])(a))return!1}return!0}function ai(e,t,n){if("function"!=typeof e)throw new Ee(o);return Oo(function(){e.apply(r,n)},t)}function si(e,t,n,i){var r=-1,o=Ot,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=Pt(t,Xt(n))),i?(o=Tt,a=!1):t.length>=200&&(o=Kt,a=!1,t=new Gn(t));e:for(;++r-1},Un.prototype.set=function(e,t){var n=this.__data__,i=Zn(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(e){var t=ro(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return ro(this,e).get(e)},Hn.prototype.has=function(e){return ro(this,e).has(e)},Hn.prototype.set=function(e,t){var n=ro(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Gn.prototype.add=Gn.prototype.push=function(e){return this.__data__.set(e,a),this},Gn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.clear=function(){this.__data__=new Un,this.size=0},Wn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Wn.prototype.get=function(e){return this.__data__.get(e)},Wn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(e,t),this.size=n.size,this};var ui=Tr(gi),ci=Tr(mi,!0);function li(e,t){var n=!0;return ui(e,function(e,i,r){return n=!!t(e,i,r)}),n}function hi(e,t,n){for(var i=-1,o=e.length;++i0&&n(s)?t>1?fi(s,t-1,n,i,r):At(r,s):i||(r[r.length]=s)}return r}var pi=Pr(),vi=Pr(!0);function gi(e,t){return e&&pi(e,t,Ps)}function mi(e,t){return e&&vi(e,t,Ps)}function yi(e,t){return Et(t,function(t){return Ka(e[t])})}function bi(e,t){for(var n=0,i=(t=pr(t,e)).length;null!=e&&nt}function xi(e,t){return null!=e&&Me.call(e,t)}function Si(e,t){return null!=e&&t in xe(e)}function Ci(e,t,n){for(var o=n?Tt:Ot,a=e[0].length,s=e.length,u=s,c=i(s),l=1/0,h=[];u--;){var d=e[u];u&&t&&(d=Pt(d,Xt(t))),l=vn(d.length,l),c[u]=!n&&(t||a>=120&&d.length>=120)?new Gn(u&&d):r}d=e[0];var f=-1,p=c[0];e:for(;++f=s?u:u*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)});i--;)e[i]=e[i].value;return e}(Di(e,function(e,n,r){return{criteria:Pt(t,function(t){return t(e)}),index:++i,value:e}}))}function Vi(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)s!==e&&We.call(s,u,1),We.call(e,u,1);return e}function Ui(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;po(r)?We.call(e,r,1):ar(e,r)}}return e}function Hi(e,t){return e+ht(yn()*(t-e+1))}function Gi(e,t){var n="";if(!e||t<1||t>h)return n;do{t%2&&(n+=e),(t=ht(t/2))&&(e+=e)}while(t);return n}function Wi(e,t){return To(ko(e,t,tu),e+"")}function qi(e){return Xn(Fs(e))}function Xi(e,t){var n=Fs(e);return Mo(n,ii(t,0,n.length))}function Yi(e,t,n,i){if(!Za(e))return e;for(var o=-1,a=(t=pr(t,e)).length,s=a-1,u=e;null!=u&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=i(o);++r>>1,a=e[o];null!==a&&!as(a)&&(n?a<=t:a=200){var c=t?null:Gr(e);if(c)return sn(c);a=!1,r=Kt,u=new Gn}else u=t?[]:s;e:for(;++i=i?e:Zi(e,t,n)}var mr=rt||function(e){return ct.clearTimeout(e)};function yr(e,t){if(t)return e.slice();var n=e.length,i=ze?ze(n):new e.constructor(n);return e.copy(i),i}function br(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function _r(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,a=as(e),s=t!==r,u=null===t,c=t==t,l=as(t);if(!u&&!l&&!a&&e>t||a&&s&&c&&!u&&!l||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!l&&e1?n[o-1]:r,s=o>2?n[2]:r;for(a=e.length>3&&"function"==typeof a?(o--,a):r,s&&vo(n[0],n[1],s)&&(a=o<3?r:a,o=1),t=xe(t);++i-1?o[a?t[s]:s]:r}}function Dr(e){return Qr(function(t){var n=t.length,i=n,a=Bn.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new Ee(o);if(a&&!u&&"wrapper"==to(s))var u=new Bn([],!0)}for(i=u?i:n;++i1&&b.reverse(),f&&hu))return!1;var l=a.get(e),h=a.get(t);if(l&&h)return l==t&&h==e;var d=-1,f=!0,p=2&n?new Gn:r;for(a.set(e,t),a.set(t,e);++d-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(re,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return xt(f,function(n){var i="_."+n[0];t&n[1]&&!Ot(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ae):[]}(i),n)))}function Ao(e){var t=0,n=0;return function(){var i=gn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Mo(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,ia(e,n)});function la(e){var t=Ln(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var da=Qr(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ni(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Vn&&po(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:r}),new Bn(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(r),e})):this.thru(o)}),fa=Er(function(e,t,n){Me.call(e,n)?++e[n]:ti(e,n,1)}),pa=Rr(zo),va=Rr(Uo);function ga(e,t){return(Ua(e)?xt:ui)(e,io(t,3))}function ma(e,t){return(Ua(e)?St:ci)(e,io(t,3))}var ya=Er(function(e,t,n){Me.call(e,n)?e[n].push(t):ti(e,n,[t])}),ba=Wi(function(e,t,n){var r=-1,o="function"==typeof t,a=Ga(e)?i(e.length):[];return ui(e,function(e){a[++r]=o?wt(t,e,n):Ei(e,t,n)}),a}),_a=Er(function(e,t,n){ti(e,n,t)});function wa(e,t){return(Ua(e)?Pt:Di)(e,io(t,3))}var ka=Er(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),xa=Wi(function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Bi(e,fi(t,1),[])}),Sa=st||function(){return ct.Date.now()};function Ca(e,t,n){return t=n?r:t,qr(e,c,r,r,r,r,t=e&&null==t?e.length:t)}function Ea(e,t){var n;if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Oa=Wi(function(e,t,n){var i=1;if(n.length){var r=an(n,no(Oa));i|=u}return qr(e,i,t,n,r)}),Ta=Wi(function(e,t,n){var i=3;if(n.length){var r=an(n,no(Ta));i|=u}return qr(t,i,e,n,r)});function Pa(e,t,n){var i,a,s,u,c,l,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new Ee(o);function v(t){var n=i,o=a;return i=a=r,h=t,u=e.apply(o,n)}function g(e){return h=e,c=Oo(y,t),d?v(e):u}function m(e){var n=e-l;return l===r||n>=t||n<0||f&&e-h>=s}function y(){var e=Sa();if(m(e))return b(e);c=Oo(y,function(e){var n=t-(e-l);return f?vn(n,s-(e-h)):n}(e))}function b(e){return c=r,p&&i?v(e):(i=a=r,u)}function _(){var e=Sa(),n=m(e);if(i=arguments,a=this,l=e,n){if(c===r)return g(l);if(f)return mr(c),c=Oo(y,t),v(l)}return c===r&&(c=Oo(y,t)),u}return t=ps(t)||0,Za(n)&&(d=!!n.leading,s=(f="maxWait"in n)?pn(ps(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),_.cancel=function(){c!==r&&mr(c),h=0,i=l=a=c=r},_.flush=function(){return c===r?u:b(Sa())},_}var Aa=Wi(function(e,t){return ai(e,1,t)}),Ma=Wi(function(e,t,n){return ai(e,ps(t)||0,n)});function Ia(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Ee(o);var n=function n(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=e.apply(this,i);return n.cache=o.set(r,a)||o,a};return n.cache=new(Ia.Cache||Hn),n}function Ra(e){if("function"!=typeof e)throw new Ee(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ia.Cache=Hn;var Da=vr(function(e,t){var n=(t=1==t.length&&Ua(t[0])?Pt(t[0],Xt(io())):Pt(fi(t,1),Xt(io()))).length;return Wi(function(i){for(var r=-1,o=vn(i.length,n);++r=t}),za=Oi(function(){return arguments}())?Oi:function(e){return Ja(e)&&Me.call(e,"callee")&&!Ge.call(e,"callee")},Ua=i.isArray,Ha=vt?Xt(vt):function(e){return Ja(e)&&wi(e)==A};function Ga(e){return null!=e&&Qa(e.length)&&!Ka(e)}function Wa(e){return Ja(e)&&Ga(e)}var qa=pt||pu,Xa=gt?Xt(gt):function(e){return Ja(e)&&wi(e)==m};function Ya(e){if(!Ja(e))return!1;var t=wi(e);return t==y||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!ns(e)}function Ka(e){if(!Za(e))return!1;var t=wi(e);return t==b||t==_||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $a(e){return"number"==typeof e&&e==ds(e)}function Qa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function Za(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ja(e){return null!=e&&"object"==typeof e}var es=mt?Xt(mt):function(e){return Ja(e)&&co(e)==w};function ts(e){return"number"==typeof e||Ja(e)&&wi(e)==k}function ns(e){if(!Ja(e)||wi(e)!=x)return!1;var t=Ue(e);if(null===t)return!0;var n=Me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ae.call(n)==Ne}var is=yt?Xt(yt):function(e){return Ja(e)&&wi(e)==C},rs=bt?Xt(bt):function(e){return Ja(e)&&co(e)==E};function os(e){return"string"==typeof e||!Ua(e)&&Ja(e)&&wi(e)==O}function as(e){return"symbol"==typeof e||Ja(e)&&wi(e)==T}var ss=_t?Xt(_t):function(e){return Ja(e)&&Qa(e.length)&&!!nt[wi(e)]},us=zr(Ri),cs=zr(function(e,t){return e<=t});function ls(e){if(!e)return[];if(Ga(e))return os(e)?cn(e):Sr(e);if(Xe&&e[Xe])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Xe]());var t=co(e);return(t==w?rn:t==E?sn:Fs)(e)}function hs(e){return e?(e=ps(e))===l||e===-l?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ds(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function fs(e){return e?ii(ds(e),0,d):0}function ps(e){if("number"==typeof e)return e;if(as(e))return NaN;if(Za(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Za(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=qt(e);var n=fe.test(e);return n||ve.test(e)?at(e.slice(2),n?2:8):de.test(e)?NaN:+e}function vs(e){return Cr(e,As(e))}function gs(e){return null==e?"":rr(e)}var ms=Or(function(e,t){if(bo(t)||Ga(t))Cr(t,Ps(t),e);else for(var n in t)Me.call(t,n)&&Qn(e,n,t[n])}),ys=Or(function(e,t){Cr(t,As(t),e)}),bs=Or(function(e,t,n,i){Cr(t,As(t),e,i)}),_s=Or(function(e,t,n,i){Cr(t,Ps(t),e,i)}),ws=Qr(ni),ks=Wi(function(e,t){e=xe(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&vo(t[0],t[1],o)&&(i=1);++n1),t}),Cr(e,Jr(e),n),i&&(n=ri(n,7,Kr));for(var r=t.length;r--;)ar(n,t[r]);return n}),Ds=Qr(function(e,t){return null==e?{}:function(e,t){return Vi(e,t,function(t,n){return Cs(e,n)})}(e,t)});function Ns(e,t){if(null==e)return{};var n=Pt(Jr(e),function(e){return[e]});return t=io(t),Vi(e,n,function(e,n){return t(e,n[0])})}var Ls=Wr(Ps),js=Wr(As);function Fs(e){return null==e?[]:Yt(e,Ps(e))}var Bs=Mr(function(e,t,n){return t=t.toLowerCase(),e+(n?Vs(t):t)});function Vs(e){return Ys(gs(e).toLowerCase())}function zs(e){return(e=gs(e))&&e.replace(me,Jt).replace(Ke,"")}var Us=Mr(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Hs=Mr(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Gs=Ar("toLowerCase"),Ws=Mr(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),qs=Mr(function(e,t,n){return e+(n?" ":"")+Ys(t)}),Xs=Mr(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Ys=Ar("toUpperCase");function Ks(e,t,n){return e=gs(e),(t=n?r:t)===r?function(e){return Je.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(se)||[]}(e):e.match(t)||[]}var $s=Wi(function(e,t){try{return wt(e,r,t)}catch(Ro){return Ya(Ro)?Ro:new _e(Ro)}}),Qs=Qr(function(e,t){return xt(t,function(t){t=No(t),ti(e,t,Oa(e[t],e))}),e});function Zs(e){return function(){return e}}var Js=Dr(),eu=Dr(!0);function tu(e){return e}function nu(e){return Mi("function"==typeof e?e:ri(e,1))}var iu=Wi(function(e,t){return function(n){return Ei(n,e,t)}}),ru=Wi(function(e,t){return function(n){return Ei(e,n,t)}});function ou(e,t,n){var i=Ps(t),r=yi(t,i);null==n&&(!Za(t)||!r.length&&i.length)&&(n=t,t=e,e=this,r=yi(t,Ps(t)));var o=!(Za(n)&&"chain"in n&&!n.chain),a=Ka(e);return xt(r,function(n){var i=t[n];e[n]=i,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),r=n.__actions__=Sr(this.__actions__);return r.push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,At([this.value()],arguments))})}),e}function au(){}var su=Fr(Pt),uu=Fr(Ct),cu=Fr(Rt);function lu(e){return go(e)?zt(No(e)):function(e){return function(t){return bi(t,e)}}(e)}var hu=Vr(),du=Vr(!0);function fu(){return[]}function pu(){return!1}var vu=jr(function(e,t){return e+t},0),gu=Hr("ceil"),mu=jr(function(e,t){return e/t},1),yu=Hr("floor"),bu=jr(function(e,t){return e*t},1),_u=Hr("round"),wu=jr(function(e,t){return e-t},0);return Ln.after=function(e,t){if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){if(--e<1)return t.apply(this,arguments)}},Ln.ary=Ca,Ln.assign=ms,Ln.assignIn=ys,Ln.assignInWith=bs,Ln.assignWith=_s,Ln.at=ws,Ln.before=Ea,Ln.bind=Oa,Ln.bindAll=Qs,Ln.bindKey=Ta,Ln.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Ln.chain=la,Ln.chunk=function(e,t,n){t=(n?vo(e,t,n):t===r)?1:pn(ds(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,u=i(lt(o/t));ao?0:o+n),(i=i===r||i>o?o:ds(i))<0&&(i+=o),i=n>i?0:fs(i);n>>0)?(e=gs(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=rr(t))&&nn(e)?gr(cn(e),0,n):e.split(t,n):[]},Ln.spread=function(e,t){if("function"!=typeof e)throw new Ee(o);return t=null==t?0:pn(ds(t),0),Wi(function(n){var i=n[t],r=gr(n,0,t);return i&&At(r,i),wt(e,this,r)})},Ln.tail=function(e){var t=null==e?0:e.length;return t?Zi(e,1,t):[]},Ln.take=function(e,t,n){return e&&e.length?Zi(e,0,(t=n||t===r?1:ds(t))<0?0:t):[]},Ln.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Zi(e,(t=i-(t=n||t===r?1:ds(t)))<0?0:t,i):[]},Ln.takeRightWhile=function(e,t){return e&&e.length?ur(e,io(t,3),!1,!0):[]},Ln.takeWhile=function(e,t){return e&&e.length?ur(e,io(t,3)):[]},Ln.tap=function(e,t){return t(e),e},Ln.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Ee(o);return Za(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Pa(e,t,{leading:i,maxWait:t,trailing:r})},Ln.thru=ha,Ln.toArray=ls,Ln.toPairs=Ls,Ln.toPairsIn=js,Ln.toPath=function(e){return Ua(e)?Pt(e,No):as(e)?[e]:Sr(Do(gs(e)))},Ln.toPlainObject=vs,Ln.transform=function(e,t,n){var i=Ua(e),r=i||qa(e)||ss(e);if(t=io(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Za(e)&&Ka(o)?jn(Ue(e)):{}}return(r?xt:gi)(e,function(e,i,r){return t(n,e,i,r)}),n},Ln.unary=function(e){return Ca(e,1)},Ln.union=Jo,Ln.unionBy=ea,Ln.unionWith=ta,Ln.uniq=function(e){return e&&e.length?or(e):[]},Ln.uniqBy=function(e,t){return e&&e.length?or(e,io(t,2)):[]},Ln.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?or(e,r,t):[]},Ln.unset=function(e,t){return null==e||ar(e,t)},Ln.unzip=na,Ln.unzipWith=ia,Ln.update=function(e,t,n){return null==e?e:sr(e,t,fr(n))},Ln.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:sr(e,t,fr(n),i)},Ln.values=Fs,Ln.valuesIn=function(e){return null==e?[]:Yt(e,As(e))},Ln.without=ra,Ln.words=Ks,Ln.wrap=function(e,t){return Na(fr(t),e)},Ln.xor=oa,Ln.xorBy=aa,Ln.xorWith=sa,Ln.zip=ua,Ln.zipObject=function(e,t){return hr(e||[],t||[],Qn)},Ln.zipObjectDeep=function(e,t){return hr(e||[],t||[],Yi)},Ln.zipWith=ca,Ln.entries=Ls,Ln.entriesIn=js,Ln.extend=ys,Ln.extendWith=bs,ou(Ln,Ln),Ln.add=vu,Ln.attempt=$s,Ln.camelCase=Bs,Ln.capitalize=Vs,Ln.ceil=gu,Ln.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=ps(n))==n?n:0),t!==r&&(t=(t=ps(t))==t?t:0),ii(ps(e),t,n)},Ln.clone=function(e){return ri(e,4)},Ln.cloneDeep=function(e){return ri(e,5)},Ln.cloneDeepWith=function(e,t){return ri(e,5,t="function"==typeof t?t:r)},Ln.cloneWith=function(e,t){return ri(e,4,t="function"==typeof t?t:r)},Ln.conformsTo=function(e,t){return null==t||oi(e,t,Ps(t))},Ln.deburr=zs,Ln.defaultTo=function(e,t){return null==e||e!=e?t:e},Ln.divide=mu,Ln.endsWith=function(e,t,n){e=gs(e),t=rr(t);var i=e.length,o=n=n===r?i:ii(ds(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},Ln.eq=Fa,Ln.escape=function(e){return(e=gs(e))&&X.test(e)?e.replace(W,en):e},Ln.escapeRegExp=function(e){return(e=gs(e))&&te.test(e)?e.replace(ee,"\\$&"):e},Ln.every=function(e,t,n){var i=Ua(e)?Ct:li;return n&&vo(e,t,n)&&(t=r),i(e,io(t,3))},Ln.find=pa,Ln.findIndex=zo,Ln.findKey=function(e,t){return Nt(e,io(t,3),gi)},Ln.findLast=va,Ln.findLastIndex=Uo,Ln.findLastKey=function(e,t){return Nt(e,io(t,3),mi)},Ln.floor=yu,Ln.forEach=ga,Ln.forEachRight=ma,Ln.forIn=function(e,t){return null==e?e:pi(e,io(t,3),As)},Ln.forInRight=function(e,t){return null==e?e:vi(e,io(t,3),As)},Ln.forOwn=function(e,t){return e&&gi(e,io(t,3))},Ln.forOwnRight=function(e,t){return e&&mi(e,io(t,3))},Ln.get=Ss,Ln.gt=Ba,Ln.gte=Va,Ln.has=function(e,t){return null!=e&&lo(e,t,xi)},Ln.hasIn=Cs,Ln.head=Go,Ln.identity=tu,Ln.includes=function(e,t,n,i){e=Ga(e)?e:Fs(e),n=n&&!i?ds(n):0;var r=e.length;return n<0&&(n=pn(r+n,0)),os(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&jt(e,t,n)>-1},Ln.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:ds(n);return r<0&&(r=pn(i+r,0)),jt(e,t,r)},Ln.inRange=function(e,t,n){return t=hs(t),n===r?(n=t,t=0):n=hs(n),function(e,t,n){return e>=vn(t,n)&&e=-h&&e<=h},Ln.isSet=rs,Ln.isString=os,Ln.isSymbol=as,Ln.isTypedArray=ss,Ln.isUndefined=function(e){return e===r},Ln.isWeakMap=function(e){return Ja(e)&&co(e)==P},Ln.isWeakSet=function(e){return Ja(e)&&"[object WeakSet]"==wi(e)},Ln.join=function(e,t){return null==e?"":Ut.call(e,t)},Ln.kebabCase=Us,Ln.last=Yo,Ln.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=ds(n))<0?pn(i+o,0):vn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):Lt(e,Bt,o,!0)},Ln.lowerCase=Hs,Ln.lowerFirst=Gs,Ln.lt=us,Ln.lte=cs,Ln.max=function(e){return e&&e.length?hi(e,tu,ki):r},Ln.maxBy=function(e,t){return e&&e.length?hi(e,io(t,2),ki):r},Ln.mean=function(e){return Vt(e,tu)},Ln.meanBy=function(e,t){return Vt(e,io(t,2))},Ln.min=function(e){return e&&e.length?hi(e,tu,Ri):r},Ln.minBy=function(e,t){return e&&e.length?hi(e,io(t,2),Ri):r},Ln.stubArray=fu,Ln.stubFalse=pu,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=bu,Ln.nth=function(e,t){return e&&e.length?Fi(e,ds(t)):r},Ln.noConflict=function(){return ct._===this&&(ct._=Le),this},Ln.noop=au,Ln.now=Sa,Ln.pad=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Br(ht(r),n)+e+Br(lt(r),n)},Ln.padEnd=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var o=yn();return vn(e+o*(t-e+ot("1e-"+((o+"").length-1))),t)}return Hi(e,t)},Ln.reduce=function(e,t,n){var i=Ua(e)?Mt:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ui)},Ln.reduceRight=function(e,t,n){var i=Ua(e)?It:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ci)},Ln.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===r)?1:ds(t),Gi(gs(e),t)},Ln.replace=function(){var e=arguments,t=gs(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Ln.result=function(e,t,n){var i=-1,o=(t=pr(t,e)).length;for(o||(o=1,e=r);++ih)return[];var n=d,i=vn(e,d);t=io(t),e-=d;for(var r=Wt(i,t);++n=a)return e;var u=n-un(i);if(u<1)return i;var c=s?gr(s,0,u).join(""):e.slice(0,u);if(o===r)return c+i;if(s&&(u+=c.length-u),is(o)){if(e.slice(u).search(o)){var l,h=c;for(o.global||(o=Se(o.source,gs(he.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var d=l.index;c=c.slice(0,d===r?u:d)}}else if(e.indexOf(rr(o),u)!=u){var f=c.lastIndexOf(o);f>-1&&(c=c.slice(0,f))}return c+i},Ln.unescape=function(e){return(e=gs(e))&&q.test(e)?e.replace(G,hn):e},Ln.uniqueId=function(e){var t=++Ie;return gs(e)+t},Ln.upperCase=Xs,Ln.upperFirst=Ys,Ln.each=ga,Ln.eachRight=ma,Ln.first=Go,ou(Ln,function(){var e={};return gi(Ln,function(t,n){Me.call(Ln.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),Ln.VERSION="4.17.21",xt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){Ln[e].placeholder=Ln}),xt(["drop","take"],function(e,t){Vn.prototype[e]=function(n){n=n===r?1:pn(ds(n),0);var i=this.__filtered__&&!t?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=vn(n,i.__takeCount__):i.__views__.push({size:vn(n,d),type:e+(i.__dir__<0?"Right":"")}),i},Vn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),xt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=1==n||3==n;Vn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:io(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),xt(["head","last"],function(e,t){var n="take"+(t?"Right":"");Vn.prototype[e]=function(){return this[n](1).value()[0]}}),xt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");Vn.prototype[e]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(tu)},Vn.prototype.find=function(e){return this.filter(e).head()},Vn.prototype.findLast=function(e){return this.reverse().find(e)},Vn.prototype.invokeMap=Wi(function(e,t){return"function"==typeof e?new Vn(this):this.map(function(n){return Ei(n,e,t)})}),Vn.prototype.reject=function(e){return this.filter(Ra(io(e)))},Vn.prototype.slice=function(e,t){e=ds(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Vn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=ds(t))<0?n.dropRight(-t):n.take(t-e)),n)},Vn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vn.prototype.toArray=function(){return this.take(d)},gi(Vn.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=Ln[i?"take"+("last"==t?"Right":""):t],a=i||/^find/.test(t);!o||(Ln.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,u=t instanceof Vn,c=s[0],l=u||Ua(t),h=function(e){var t=o.apply(Ln,At([e],s));return i&&d?t[0]:t};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var d=this.__chain__,f=!!this.__actions__.length,p=a&&!d,v=u&&!f;if(!a&&l){t=v?t:new Vn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[h],thisArg:r}),new Bn(g,d)}return p&&v?e.apply(this,s):(g=this.thru(h),p?i?g.value()[0]:g.value():g)})}),xt(["pop","push","shift","sort","splice","unshift"],function(e){var t=Oe[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);Ln.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(Ua(r)?r:[],e)}return this[n](function(n){return t.apply(Ua(n)?n:[],e)})}}),gi(Vn.prototype,function(e,t){var n=Ln[t];if(n){var i=n.name+"";Me.call(On,i)||(On[i]=[]),On[i].push({name:t,func:n})}}),On[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var e=new Vn(this.__wrapped__);return e.__actions__=Sr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sr(this.__views__),e},Vn.prototype.reverse=function(){if(this.__filtered__){var e=new Vn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(e){for(var t,n=this;n instanceof Fn;){var i=jo(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},Ln.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vn){var t=e;return this.__actions__.length&&(t=new Vn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Zo],thisArg:r}),new Bn(t,this.__chain__)}return this.thru(Zo)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,Xe&&(Ln.prototype[Xe]=function(){return this}),Ln}();ct._=dn,(i=(function(){return dn}).call(t,n,t,e))!==r&&(e.exports=i)}).call(this)},5478:function(e){e.exports=function(){"use strict";function e(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:function(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},changeDefaults:function(e){i.exports.defaults=e}};var r=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,s=/[<>"']|&(?!#?\w+;)/g,u={"&":"&","<":"<",">":">",'"':""","'":"'"},c=function(e){return u[e]},l=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(l,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var d=/(^|[^\[])\^/g,f=/[^\w:]/g,p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,v={},g=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,y=/^([^:]+:\/*[^/]*)[\s\S]*$/;function b(e,t,n){var i=e.length;if(0===i)return"";for(var r=0;r=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.length1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:S(n,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map(function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=S(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:C(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,i,r,o,a,s,u,c,l,h=t[0],d=t[2],f=d.length>1,p={type:"list",raw:h,ordered:f,start:f?+d.slice(0,-1):"",loose:!1,items:[]},v=t[0].match(this.rules.block.item),g=!1,m=v.length;r=this.rules.block.listItemStart.exec(v[0]);for(var y=0;yr[1].length:o[1].length>=r[0].length||o[1].length>3){v.splice(y,2,v[y]+(!this.options.pedantic&&o[1].length/i.test(i[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):E(i[0]):i[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=S(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,r=0;r-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,o).trim(),t[3]=""}}var a=t[2],s="";if(this.options.pedantic){var u=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);u&&(a=u[1],s=u[3])}else s=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),O(t,{href:a&&a.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return O(n,i,n[0])}},t.emStrong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(e);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,s=i[0].length-1,u=s,c=0,l="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+s);null!=(i=l.exec(t));)if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(a=o.length,i[3]||i[4]){u+=a;continue}if((i[5]||i[6])&&s%3&&!((s+a)%3)){c+=a;continue}if(!((u-=a)>0))return a=Math.min(a,a+u+c),Math.min(s,a)%2?{type:"em",raw:e.slice(0,s+i.index+a+1),text:e.slice(1,s+i.index+a)}:{type:"strong",raw:e.slice(0,s+i.index+a+1),text:e.slice(2,s+i.index+a-1)}}}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=E(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var n,i,r=this.rules.inline.autolink.exec(e);if(r)return i="@"===r[2]?"mailto:"+(n=E(this.options.mangle?t(r[1]):r[1])):n=E(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},t.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,r;if("@"===n[2])r="mailto:"+(i=E(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);i=E(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},t.inlineText=function(e,t,n){var i,r=this.rules.inline.text.exec(e);if(r)return i=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):E(r[0]):r[0]:E(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},e}(),P={exec:function(){}},A=function(e,t){e=e.source||e,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(d,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n},M=k,I={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:P,table:P,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};I.def=A(I.def).replace("label",I._label).replace("title",I._title).getRegex(),I.bullet=/(?:[*+-]|\d{1,9}[.)])/,I.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,I.item=A(I.item,"gm").replace(/bull/g,I.bullet).getRegex(),I.listItemStart=A(/^( *)(bull) */).replace("bull",I.bullet).getRegex(),I.list=A(I.list).replace(/bull/g,I.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+I.def.source+")").getRegex(),I._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",I._comment=/|$)/,I.html=A(I.html,"i").replace("comment",I._comment).replace("tag",I._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),I.paragraph=A(I._paragraph).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.blockquote=A(I.blockquote).replace("paragraph",I.paragraph).getRegex(),I.normal=M({},I),I.gfm=M({},I.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),I.gfm.nptable=A(I.gfm.nptable).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.gfm.table=A(I.gfm.table).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.pedantic=M({},I.normal,{html:A("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",I._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:P,paragraph:A(I.normal._paragraph).replace("hr",I.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",I.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:P,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:P,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};R.punctuation=A(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=A(I._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=A(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=A(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=A(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,R.autolink=A(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=A(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=A(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=A(R.reflink).replace("label",R._label).getRegex(),R.reflinkSearch=A(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=M({},R),R.pedantic=M({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:A(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:A(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=M({},R.normal,{escape:A(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1;)1&t&&(n+=e),t>>=1,e+=e;return n+e};function V(e){return e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026")}function z(e){var t,n,i="",r=e.length;for(t=0;t.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var U=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||L,this.options.tokenizer=this.options.tokenizer||new N,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:j.normal,inline:F.normal};this.options.pedantic?(t.block=j.pedantic,t.inline=F.pedantic):this.options.gfm&&(t.block=j.gfm,t.inline=this.options.breaks?F.breaks:F.gfm),this.tokenizer.rules=t}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n=t.prototype;return n.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(e,t,n){var i,r,o,a,s,u,c=this;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)}))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.type&&t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.nptable(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),t.push(i);continue}if(i=this.tokenizer.list(e)){for(e=e.substring(i.raw.length),o=i.items.length,r=0;r=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),n&&(i=this.tokenizer.paragraph(s))){a=t[t.length-1],u&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i),u=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"text"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}}return t},n.inline=function(e){var t,n,i,r,o,a,s=e.length;for(t=0;t0)for(;null!=(u=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(u[0].slice(u[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(u=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(u=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,u.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(c||(l=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(o=n.call(r,e,t))&&(e=e.substring(o.raw.length),t.push(o),!0)}))){if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e,n,i)){e=e.substring(o.raw.length),n=o.inLink,i=o.inRawBlock,(a=t[t.length-1])&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,i)),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length),a=t[t.length-1],"link"===o.type?(o.tokens=this.inlineTokens(o.text,[],!0,i),t.push(o)):a&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,h,l)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.autolink(e,z)){e=e.substring(o.raw.length),t.push(o);continue}if(!n&&(o=this.tokenizer.url(e,z))){e=e.substring(o.raw.length),t.push(o);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(e){"number"==typeof(i=e.call(this,n))&&i>=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),o=this.tokenizer.inlineText(s,i,V)){e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(l=o.raw.slice(-1)),c=!0,(a=t[t.length-1])&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}return t},function(t,n,i){i&&e(t,i)}(t,0,[{key:"rules",get:function(){return{block:j,inline:F}}}]),t}(),H=i.exports.defaults,G=function(e,t,n){if(e){var i;try{i=decodeURIComponent(h(n)).replace(f,"").toLowerCase()}catch(r){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!p.test(n)&&(n=function(e,t){v[" "+e]||(v[" "+e]=g.test(e)?e+"/":b(e,"/",!0));var n=-1===(e=v[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(y,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(r){return null}return n},W=_,q=function(){function e(e){this.options=e||H}var t=e.prototype;return t.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",i?'
    '+(n?e:W(e,!0))+"
    \n":"
    "+(n?e:W(e,!0))+"
    \n"},t.blockquote=function(e){return"
    \n"+e+"
    \n"},t.html=function(e){return e},t.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},t.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},t.image=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">")},t.text=function(e){return e},e}(),X=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),Y=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),K=q,$=X,Q=Y,Z=i.exports.defaults,J=w,ee=U,te=function(){function e(e){this.options=e||Z,this.options.renderer=this.options.renderer||new K,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new $,this.slugger=new Q}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var n,i,r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w="",k=e.length;for(n=0;n0&&"text"===g.tokens[0].type?(g.tokens[0].text=b+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=b+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:b}):v+=b),v+=this.parse(g.tokens,p),l+=this.renderer.listitem(v,y,m);w+=this.renderer.list(l,d,f);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(l=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

    "+ue(u.message+"",!0)+"
    ";throw u}}return de.options=de.setOptions=function(e){return ae(de.defaults,e),le(de.defaults),de},de.getDefaults=ce,de.defaults=he,de.use=function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;iAn error occurred:

    "+ue(i.message+"",!0)+"
    ";throw i}},de.Parser=te,de.parser=te.parse,de.Renderer=ie,de.TextRenderer=re,de.Lexer=ee,de.lexer=ee.lex,de.Tokenizer=ne,de.Slugger=oe,de.parse=de,de}()},29369:function(e,t,n){var i=n(56284),r=n(67830);function o(){this.clear()}o.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},o.prototype.enqueue=function(e){return this.items.push(e),++this.size},o.prototype.dequeue=function(){if(this.size){var e=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,e}},o.prototype.peek=function(){if(this.size)return this.items[this.offset]},o.prototype.forEach=function(e,t){t=arguments.length>1?t:this;for(var n=this.offset,i=0,r=this.items.length;n=e.length)return{done:!0};var n=e[t];return t++,{value:n,done:!1}})},o.prototype.entries=function(){var e=this.items,t=this.offset,n=0;return new i(function(){if(t>=e.length)return{done:!0};var i=e[t];return t++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var e=this.toArray();return Object.defineProperty(e,"constructor",{value:o,enumerable:!1}),e},"undefined"!=typeof Symbol&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(e){var t=new o;return r(e,function(e){t.enqueue(e)}),t},o.of=function(){return o.from(arguments)},e.exports=o},65593:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=function(e){function t(){e.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(t,e),t.prototype._subscribe=function(t){return this.hasError?(t.error(this.thrownError),o.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),o.Subscription.EMPTY):e.prototype._subscribe.call(this,t)},t.prototype.next=function(e){this.hasCompleted||(this.value=e,this.hasNext=!0)},t.prototype.error=function(t){this.hasCompleted||e.prototype.error.call(this,t)},t.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&e.prototype.next.call(this,this.value),e.prototype.complete.call(this)},t}(r.Subject);t.AsyncSubject=a},73907:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(6594),a=function(e){function t(t){e.call(this),this._value=t}return i(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return n&&!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(r.Subject);t.BehaviorSubject=a},36888:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n,i){e.call(this),this.parent=t,this.outerValue=n,this.outerIndex=i,this.index=0}return i(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(42109).Subscriber);t.InnerSubscriber=r},94429:function(e,t,n){"use strict";var i=n(18705),r=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();t.Notification=r},18705:function(e,t,n){"use strict";var i=n(80019),r=n(18154),o=n(45783),a=n(10142),s=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var i=this.operator,o=r.toSubscriber(e,t,n);if(i?i.call(o,this.source):o.add(this.source||!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.syncErrorThrown=!0,e.syncErrorValue=t,e.error(t)}},e.prototype.forEach=function(e,t){var n=this;if(t||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?t=i.root.Rx.config.Promise:i.root.Promise&&(t=i.root.Promise)),!t)throw new Error("no Promise impl found");return new t(function(t,i){var r;r=n.subscribe(function(t){if(r)try{e(t)}catch(n){i(n),r.unsubscribe()}else e(t)},i,t)})},e.prototype._subscribe=function(e){return this.source.subscribe(e)},e.prototype[o.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;tt&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i},t}(r.Subject);t.ReplaySubject=l;var h=function(e,t){this.time=e,this.value=t}},25430:function(e,t,n){"use strict";var i=n(2369);t.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353),n(55298),n(10142),n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783),n(39053)},11965:function(e,t){"use strict";var n=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=Date.now?Date.now:function(){return+new Date},e}();t.Scheduler=n},2369:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(42109),a=n(72293),s=n(6594),u=n(9060),c=n(28592),l=function(e){function t(t){e.call(this,t),this.destination=t}return i(t,e),t}(o.Subscriber);t.SubjectSubscriber=l;var h=function(e){function t(){e.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(t,e),t.prototype[c.rxSubscriber]=function(){return new l(this)},t.prototype.lift=function(e){var t=new d(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.ObjectUnsubscribedError;if(!this.isStopped)for(var t=this.observers,n=t.length,i=t.slice(),r=0;r=e.length)return void i.complete();i.next(t[n]),e.index=n+1,this.schedule(e)}},t.prototype._subscribe=function(e){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(t.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:e});for(var o=0;o1?new t(e,i):1===r?new o.ScalarObservable(e[0],i):new a.EmptyObservable(i)},t.dispatch=function(e){var t=e.array,n=e.index,i=e.subscriber;n>=e.count?i.complete():(i.next(t[n]),!i.closed&&(e.index=n+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(t.dispatch,0,{array:n,index:0,count:i,subscriber:e});for(var o=0;o1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(a.Subscriber)},34078:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t){e.call(this),this.observableFactory=t}return i(t,e),t.create=function(e){return new t(e)},t.prototype._subscribe=function(e){return new u(e,this.observableFactory)},t}(r.Observable);t.DeferObservable=s;var u=function(e){function t(t,n){e.call(this,t),this.factory=n,this.tryDefer()}return i(t,e),t.prototype.tryDefer=function(){try{this._callFactory()}catch(e){this._error(e)}},t.prototype._callFactory=function(){var e=this.factory();e&&this.add(o.subscribeToResult(this,e))},t}(a.OuterSubscriber)},70481:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t){e.call(this),this.scheduler=t}return i(t,e),t.create=function(e){return new t(e)},t.dispatch=function(e){e.subscriber.complete()},t.prototype._subscribe=function(e){var n=this.scheduler;if(n)return n.schedule(t.dispatch,0,{subscriber:e});e.complete()},t}(n(18705).Observable);t.EmptyObservable=r},72210:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.error=t,this.scheduler=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){e.subscriber.error(e.error)},t.prototype._subscribe=function(e){var n=this.error,i=this.scheduler;if(e.syncErrorThrowable=!0,i)return i.schedule(t.dispatch,0,{error:n,subscriber:e});e.error(n)},t}(n(18705).Observable);t.ErrorObservable=r},56064:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(70481),a=n(48242),s=n(93658),u=n(84308),c=function(e){function t(t,n){e.call(this),this.sources=t,this.resultSelector=n}return i(t,e),t.create=function(){for(var e=[],n=0;nl?l:t:t}(e)),this.arr=e,this.idx=t,this.len=n}return e.prototype[a.iterator]=function(){return this},e.prototype.next=function(){return this.idx=e.count?i.complete():(i.next(t),!i.closed&&(e.index=n+1,e.start=t+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=0,i=this.start,r=this._count,o=this.scheduler;if(o)return o.schedule(t.dispatch,0,{index:n,count:r,start:i,subscriber:e});for(;;){if(n++>=r){e.complete();break}if(e.next(i++),e.closed)break}},t}(n(18705).Observable);t.RangeObservable=r},80478:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.value=t,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){var t=e.value,n=e.subscriber;e.done?n.complete():(n.next(t),!n.closed&&(e.done=!0,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.value,i=this.scheduler;if(i)return i.schedule(t.dispatch,0,{done:!1,value:n,subscriber:e});e.next(n),e.closed||e.complete()},t}(n(18705).Observable);t.ScalarObservable=r},82966:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(85522),a=n(39479),s=function(e){function t(t,n,i){void 0===n&&(n=0),void 0===i&&(i=o.asap),e.call(this),this.source=t,this.delayTime=n,this.scheduler=i,(!a.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=o.asap)}return i(t,e),t.create=function(e,n,i){return void 0===n&&(n=0),void 0===i&&(i=o.asap),new t(e,n,i)},t.dispatch=function(e){return this.add(e.source.subscribe(e.subscriber))},t.prototype._subscribe=function(e){return this.scheduler.schedule(t.dispatch,this.delayTime,{source:this.source,subscriber:e})},t}(r.Observable);t.SubscribeOnObservable=s},92870:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(39479),o=n(18705),a=n(90680),s=n(41503),u=n(783),c=function(e){function t(t,n,i){void 0===t&&(t=0),e.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):s.isScheduler(n)&&(i=n),s.isScheduler(i)||(i=a.async),this.scheduler=i,this.dueTime=u.isDate(t)?+t-this.scheduler.now():t}return i(t,e),t.create=function(e,n,i){return void 0===e&&(e=0),new t(e,n,i)},t.dispatch=function(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}},t.prototype._subscribe=function(e){var n=this;return n.scheduler.schedule(t.dispatch,n.dueTime,{index:0,period:n.period,subscriber:e})},t}(o.Observable);t.TimerObservable=c},16196:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t,n){e.call(this),this.resourceFactory=t,this.observableFactory=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.prototype._subscribe=function(e){var t,n=this.resourceFactory,i=this.observableFactory;try{return t=n(),new u(e,t,i)}catch(r){e.error(r)}},t}(r.Observable);t.UsingObservable=s;var u=function(e){function t(t,n,i){e.call(this,t),this.resource=n,this.observableFactory=i,t.add(n),this.tryUse()}return i(t,e),t.prototype.tryUse=function(){try{var e=this.observableFactory.call(this,this.resource);e&&this.add(o.subscribeToResult(this,e))}catch(t){this._error(t)}},t}(a.OuterSubscriber)},59246:function(e,t,n){"use strict";var i=n(19183);t.bindCallback=i.BoundCallbackObservable.create},65571:function(e,t,n){"use strict";var i=n(78655);t.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(e,t,n){"use strict";var i=n(41503),r=n(48242),o=n(96177),a=n(49134);t.combineLatest=function(){for(var e=[],t=0;t1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof u&&(n=e.pop()),null===s&&1===e.length&&e[0]instanceof i.Observable?e[0]:a.mergeAll(n)(new r.ArrayObservable(e,s))}},94503:function(e,t,n){"use strict";var i=n(20143);t.never=i.NeverObservable.create},69657:function(e,t,n){"use strict";var i=n(96177);t.of=i.ArrayObservable.of},61395:function(e,t,n){"use strict";var i=n(46243);t.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(e,t,n){"use strict";var i=n(19770);t.pairs=i.PairsObservable.create},24330:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(48242),o=n(96177),a=n(84308),s=n(93658);t.race=function(){for(var e=[],t=0;t=2&&(a=arguments[1]);var s=Number.POSITIVE_INFINITY;return t>=3&&(s=arguments[2]),o.bufferTime(e,a,s,n)(this)}},92523:function(e,t,n){"use strict";var i=n(15440);t.bufferToggle=function(e,t){return i.bufferToggle(e,t)(this)}},49436:function(e,t,n){"use strict";var i=n(51786);t.bufferWhen=function(e){return i.bufferWhen(e)(this)}},64731:function(e,t,n){"use strict";var i=n(93017);t._catch=function(e){return i.catchError(e)(this)}},92273:function(e,t,n){"use strict";var i=n(17054);t.combineAll=function(e){return i.combineAll(e)(this)}},8709:function(e,t,n){"use strict";var i=n(49134);t.combineLatest=function(){for(var e=[],t=0;t=2?i.reduce(e,t)(this):i.reduce(e)(this)}},12931:function(e,t,n){"use strict";var i=n(15329);t.repeat=function(e){return void 0===e&&(e=-1),i.repeat(e)(this)}},68816:function(e,t,n){"use strict";var i=n(63964);t.repeatWhen=function(e){return i.repeatWhen(e)(this)}},17144:function(e,t,n){"use strict";var i=n(40241);t.retry=function(e){return void 0===e&&(e=-1),i.retry(e)(this)}},82766:function(e,t,n){"use strict";var i=n(23896);t.retryWhen=function(e){return i.retryWhen(e)(this)}},62068:function(e,t,n){"use strict";var i=n(92043);t.sample=function(e){return i.sample(e)(this)}},97013:function(e,t,n){"use strict";var i=n(90680),r=n(71239);t.sampleTime=function(e,t){return void 0===t&&(t=i.async),r.sampleTime(e,t)(this)}},98996:function(e,t,n){"use strict";var i=n(64949);t.scan=function(e,t){return arguments.length>=2?i.scan(e,t)(this):i.scan(e)(this)}},77033:function(e,t,n){"use strict";var i=n(88948);t.sequenceEqual=function(e,t){return i.sequenceEqual(e,t)(this)}},10377:function(e,t,n){"use strict";var i=n(35473);t.share=function(){return i.share()(this)}},71623:function(e,t,n){"use strict";var i=n(62704);t.shareReplay=function(e,t,n){return i.shareReplay(e,t,n)(this)}},91956:function(e,t,n){"use strict";var i=n(92223);t.single=function(e){return i.single(e)(this)}},72355:function(e,t,n){"use strict";var i=n(11189);t.skip=function(e){return i.skip(e)(this)}},69329:function(e,t,n){"use strict";var i=n(73346);t.skipLast=function(e){return i.skipLast(e)(this)}},68481:function(e,t,n){"use strict";var i=n(12928);t.skipUntil=function(e){return i.skipUntil(e)(this)}},587:function(e,t,n){"use strict";var i=n(69415);t.skipWhile=function(e){return i.skipWhile(e)(this)}},49292:function(e,t,n){"use strict";var i=n(30673);t.startWith=function(){for(var e=[],t=0;t0&&this.destination.next(t),e.prototype._complete.call(this)},t}(r.Subscriber),s=function(e){function t(t,n,i){e.call(this,t),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(t,e),t.prototype._next=function(e){var t=this,n=t.bufferSize,i=t.startBufferEvery,r=t.buffers,o=t.count;this.count++,o%i==0&&r.push([]);for(var a=r.length;a--;){var s=r[a];s.push(e),s.length===n&&(r.splice(a,1),this.destination.next(s))}},t.prototype._complete=function(){for(var t=this.buffers,n=this.destination;t.length>0;){var i=t.shift();i.length>0&&n.next(i)}e.prototype._complete.call(this)},t}(r.Subscriber)},6489:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(90680),o=n(42109),a=n(41503);t.bufferTime=function(e){var t=arguments.length,n=r.async;a.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],t--);var i=null;t>=2&&(i=arguments[1]);var o=Number.POSITIVE_INFINITY;return t>=3&&(o=arguments[2]),function(t){return t.lift(new s(e,i,o,n))}};var s=function(){function e(e,t,n,i){this.bufferTimeSpan=e,this.bufferCreationInterval=t,this.maxBufferSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},e}(),u=function(){this.buffer=[]},c=function(e){function t(t,n,i,r,o){e.call(this,t),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=o,this.contexts=[];var a=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(a.closeAction=o.schedule(l,n,{subscriber:this,context:a,bufferTimeSpan:n}));else{var s={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:o};this.add(a.closeAction=o.schedule(d,n,{subscriber:this,context:a})),this.add(o.schedule(h,i,s))}}return i(t,e),t.prototype._next=function(e){for(var t,n=this.contexts,i=n.length,r=0;r0;){var i=t.shift();n.next(i.buffer)}e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.contexts=null},t.prototype.onBufferFull=function(e){this.closeContext(e);var t=e.closeAction;if(t.unsubscribe(),this.remove(t),!this.closed&&this.timespanOnly){e=this.openContext();var n=this.bufferTimeSpan;this.add(e.closeAction=this.scheduler.schedule(l,n,{subscriber:this,context:e,bufferTimeSpan:n}))}},t.prototype.openContext=function(){var e=new u;return this.contexts.push(e),e},t.prototype.closeContext=function(e){this.destination.next(e.buffer);var t=this.contexts;(t?t.indexOf(e):-1)>=0&&t.splice(t.indexOf(e),1)},t}(o.Subscriber);function l(e){var t=e.subscriber,n=e.context;n&&t.closeContext(n),t.closed||(e.context=t.openContext(),e.context.closeAction=this.schedule(e,e.bufferTimeSpan))}function h(e){var t=e.bufferCreationInterval,n=e.bufferTimeSpan,i=e.subscriber,r=e.scheduler,o=i.openContext();i.closed||(i.add(o.closeAction=r.schedule(d,n,{subscriber:i,context:o})),this.schedule(e,t))}function d(e){e.subscriber.closeContext(e.context)}},15440:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(93658),a=n(84308);t.bufferToggle=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.openings,this.closingSelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(o.subscribeToResult(this,n))}return i(t,e),t.prototype._next=function(e){for(var t=this.contexts,n=t.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,e.prototype._error.call(this,t)},t.prototype._complete=function(){for(var t=this.contexts;t.length>0;){var n=t.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){e?this.closeBuffer(e):this.openBuffer(t)},t.prototype.notifyComplete=function(e){this.closeBuffer(e.context)},t.prototype.openBuffer=function(e){try{var t=this.closingSelector.call(this,e);t&&this.trySubscribe(t)}catch(n){this._error(n)}},t.prototype.closeBuffer=function(e){var t=this.contexts;if(t&&e){var n=e.subscription;this.destination.next(e.buffer),t.splice(t.indexOf(e),1),this.remove(n),n.unsubscribe()}},t.prototype.trySubscribe=function(e){var t=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};t.push(i);var a=o.subscribeToResult(this,e,i);!a||a.closed?this.closeBuffer(i):(a.context=i,this.add(a),n.add(a))},t}(a.OuterSubscriber)},51786:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.bufferWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.closingSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.closingSelector))},e}(),l=function(e){function t(t,n){e.call(this,t),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(t,e),t.prototype._next=function(e){this.buffer.push(e)},t.prototype._complete=function(){var t=this.buffer;t&&this.destination.next(t),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},t.prototype.notifyNext=function(e,t,n,i,r){this.openBuffer()},t.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},t.prototype.openBuffer=function(){var e=this.closingSubscription;e&&(this.remove(e),e.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var t=o.tryCatch(this.closingSelector)();t===a.errorObject?this.error(a.errorObject.e):(e=new r.Subscription,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(u.subscribeToResult(this,t)),this.subscribing=!1)},t}(s.OuterSubscriber)},93017:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.catchError=function(e){return function(t){var n=new a(e),i=t.lift(n);return n.caught=i}};var a=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.selector,this.caught))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.selector=n,this.caught=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(i){return void e.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(o.subscribeToResult(this,n))}},t}(r.OuterSubscriber)},17054:function(e,t,n){"use strict";var i=n(49134);t.combineAll=function(e){return function(t){return t.lift(new i.CombineLatestOperator(e))}}},49134:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(84308),s=n(93658),u={};t.combineLatest=function(){for(var e=[],t=0;t0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new l(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(s.Notification.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e)},t.prototype._complete=function(){this.scheduleNotification(s.Notification.createComplete())},t}(a.Subscriber),l=function(e,t){this.time=e,this.notification=t}},22944:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(18705),a=n(84308),s=n(93658);t.delayWhen=function(e,t){return t?function(n){return new l(n,t).lift(new u(e))}:function(t){return t.lift(new u(e))}};var u=function(){function e(e){this.delayDurationSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.delayDurationSelector))},e}(),c=function(e){function t(t,n){e.call(this,t),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.destination.next(e),this.removeSubscription(r),this.tryComplete()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype.notifyComplete=function(e){var t=this.removeSubscription(e);t&&this.destination.next(t),this.tryComplete()},t.prototype._next=function(e){try{var t=this.delayDurationSelector(e);t&&this.tryDelay(t,e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){this.completed=!0,this.tryComplete()},t.prototype.removeSubscription=function(e){e.unsubscribe();var t=this.delayNotifierSubscriptions.indexOf(e),n=null;return-1!==t&&(n=this.values[t],this.delayNotifierSubscriptions.splice(t,1),this.values.splice(t,1)),n},t.prototype.tryDelay=function(e,t){var n=s.subscribeToResult(this,e,t);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(t)},t.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},t}(a.OuterSubscriber),l=function(e){function t(t,n){e.call(this),this.source=t,this.subscriptionDelay=n}return i(t,e),t.prototype._subscribe=function(e){this.subscriptionDelay.subscribe(new h(e,this.source))},t}(o.Observable),h=function(e){function t(t,n){e.call(this),this.parent=t,this.source=n,this.sourceSubscribed=!1}return i(t,e),t.prototype._next=function(e){this.subscribeToSource()},t.prototype._error=function(e){this.unsubscribe(),this.parent.error(e)},t.prototype._complete=function(){this.subscribeToSource()},t.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},t}(r.Subscriber)},95591:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.dematerialize=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){e.observe(this.destination)},t}(r.Subscriber)},25753:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658),a=n(40317);t.distinct=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.keySelector=e,this.flushes=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.keySelector,this.flushes))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=n,this.values=new a.Set,i&&this.add(o.subscribeToResult(this,i))}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.values.clear()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype._next=function(e){this.keySelector?this._useKeySelector(e):this._finalizeNext(e,e)},t.prototype._useKeySelector=function(e){var t,n=this.destination;try{t=this.keySelector(e)}catch(i){return void n.error(i)}this._finalizeNext(t,e)},t.prototype._finalizeNext=function(e,t){var n=this.values;n.has(e)||(n.add(e),this.destination.next(t))},t}(r.OuterSubscriber);t.DistinctSubscriber=u},65608:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.distinctUntilChanged=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compare=e,this.keySelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compare,this.keySelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(t,e),t.prototype.compare=function(e,t){return e===t},t.prototype._next=function(e){var t=e;if(this.keySelector&&(t=o.tryCatch(this.keySelector)(e))===a.errorObject)return this.destination.error(a.errorObject.e);var n=!1;if(this.hasKey){if((n=o.tryCatch(this.compare)(this.key,t))===a.errorObject)return this.destination.error(a.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=t,this.destination.next(e))},t}(r.Subscriber)},8330:function(e,t,n){"use strict";var i=n(65608);t.distinctUntilKeyChanged=function(e,t){return i.distinctUntilChanged(function(n,i){return t?t(n[e],i[e]):n[e]===i[e]})}},29264:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.elementAt=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){if(this.index=e,this.defaultValue=t,e<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.index,this.defaultValue))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.index=n,this.defaultValue=i}return i(t,e),t.prototype._next=function(e){0==this.index--&&(this.destination.next(e),this.destination.complete())},t.prototype._complete=function(){var e=this.destination;this.index>=0&&(void 0!==this.defaultValue?e.next(this.defaultValue):e.error(new o.ArgumentOutOfRangeError)),e.complete()},t}(r.Subscriber)},26285:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.every=function(e,t){return function(n){return n.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg,this.source))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},93229:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaust=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t),this.hasCompleted=!1,this.hasSubscription=!1}return i(t,e),t.prototype._next=function(e){this.hasSubscription||(this.hasSubscription=!0,this.add(o.subscribeToResult(this,e)))},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},15758:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaustMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(t,e),t.prototype._next=function(e){this.hasSubscription||this.tryNext(e)},t.prototype.tryNext=function(e){var t=this.index++,n=this.destination;try{var i=this.project(e,t);this.hasSubscription=!0,this.add(o.subscribeToResult(this,i,e,t))}catch(r){n.error(r)}},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.trySelectResult(e,t,n,i):o.next(t)},t.prototype.trySelectResult=function(e,t,n,i){var r=this.resultSelector,o=this.destination;try{var a=r(e,t,n,i);o.next(a)}catch(s){o.error(s)}},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},55364:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(84308),s=n(93658);t.expand=function(e,t,n){return void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),t=(t||0)<1?Number.POSITIVE_INFINITY:t,function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.project=e,this.concurrent=t,this.scheduler=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.project,this.concurrent,this.scheduler))},e}();t.ExpandOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(t.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},t}(a.OuterSubscriber);t.ExpandSubscriber=c},27015:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.filter=function(e,t){return function(n){return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.thisArg=i,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)},t}(r.Subscriber)},94367:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293);t.finalize=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.callback))},e}(),s=function(e){function t(t,n){e.call(this,t),this.add(new o.Subscription(n))}return i(t,e),t}(r.Subscriber)},16700:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.find=function(e,t){if("function"!=typeof e)throw new TypeError("predicate is not a function");return function(n){return n.lift(new o(e,n,!1,t))}};var o=function(){function e(e,t,n,i){this.predicate=e,this.source=t,this.yieldIndex=n,this.thisArg=i}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.source,this.yieldIndex,this.thisArg))},e}();t.FindValueOperator=o;var a=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=o,this.index=0}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){var t=this.predicate,n=this.thisArg,i=this.index++;try{t.call(n||this,e,i,this.source)&&this.notifyComplete(this.yieldIndex?i:e)}catch(r){this.destination.error(r)}},t.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},t}(r.Subscriber);t.FindValueSubscriber=a},86452:function(e,t,n){"use strict";var i=n(16700);t.findIndex=function(e,t){return function(n){return n.lift(new i.FindValueOperator(e,n,!0,t))}}},12309:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.first=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(t,e),t.prototype._next=function(e){var t=this.index++;this.predicate?this._tryPredicate(e,t):this._emit(e,t)},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(e,t)},t.prototype._emit=function(e,t){this.resultSelector?this._tryResultSelector(e,t):this._emitFinal(e)},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},t.prototype._emitFinal=function(e){var t=this.destination;this._emitted||(this._emitted=!0,t.next(e),t.complete(),this.hasCompleted=!0)},t.prototype._complete=function(){var e=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||e.error(new o.EmptyError):(e.next(this.defaultValue),e.complete())},t}(r.Subscriber)},92577:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293),a=n(18705),s=n(2369),u=n(49754),c=n(30764);t.groupBy=function(e,t,n,i){return function(r){return r.lift(new l(e,t,n,i))}};var l=function(){function e(e,t,n,i){this.keySelector=e,this.elementSelector=t,this.durationSelector=n,this.subjectSelector=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},e}(),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=o,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.keySelector(e)}catch(n){return void this.error(n)}this._group(e,t)},t.prototype._group=function(e,t){var n=this.groups;n||(n=this.groups="string"==typeof t?new c.FastMap:new u.Map);var i,r=n.get(t);if(this.elementSelector)try{i=this.elementSelector(e)}catch(l){this.error(l)}else i=e;if(!r){r=this.subjectSelector?this.subjectSelector():new s.Subject,n.set(t,r);var o=new f(t,r,this);if(this.destination.next(o),this.durationSelector){var a=void 0;try{a=this.durationSelector(new f(t,r))}catch(l){return void this.error(l)}this.add(a.subscribe(new d(t,r,this)))}}r.closed||r.next(i)},t.prototype._error=function(e){var t=this.groups;t&&(t.forEach(function(t,n){t.error(e)}),t.clear()),this.destination.error(e)},t.prototype._complete=function(){var e=this.groups;e&&(e.forEach(function(e,t){e.complete()}),e.clear()),this.destination.complete()},t.prototype.removeGroup=function(e){this.groups.delete(e)},t.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&e.prototype.unsubscribe.call(this))},t}(r.Subscriber),d=function(e){function t(t,n,i){e.call(this,n),this.key=t,this.group=n,this.parent=i}return i(t,e),t.prototype._next=function(e){this.complete()},t.prototype._unsubscribe=function(){var e=this.parent,t=this.key;this.key=this.parent=null,e&&e.removeGroup(t)},t}(r.Subscriber),f=function(e){function t(t,n,i){e.call(this),this.key=t,this.groupSubject=n,this.refCountSubscription=i}return i(t,e),t.prototype._subscribe=function(e){var t=new o.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&t.add(new p(n)),t.add(i.subscribe(e)),t},t}(a.Observable);t.GroupedObservable=f;var p=function(e){function t(t){e.call(this),this.parent=t,t.count++}return i(t,e),t.prototype.unsubscribe=function(){var t=this.parent;!t.closed&&!this.closed&&(e.prototype.unsubscribe.call(this),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())},t}(o.Subscription)},86898:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(68668);t.ignoreElements=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype._next=function(e){o.noop()},t}(r.Subscriber)},89121:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.isEmpty=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},4636:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.last=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(t,e),t.prototype._next=function(e){var t=this.index++;if(this.predicate)this._tryPredicate(e,t);else{if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},t.prototype._complete=function(){var e=this.destination;this.hasValue?(e.next(this.lastValue),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},40119:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.map=function(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.project,this.thisArg))},e}();t.MapOperator=o;var a=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.count=0,this.thisArg=i||this}return i(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.Subscriber)},23491:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.mapTo=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.value=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.value))},e}(),a=function(e){function t(t,n){e.call(this,t),this.value=n}return i(t,e),t.prototype._next=function(e){this.destination.next(this.value)},t}(r.Subscriber)},71177:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(94429);t.materialize=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){this.destination.next(o.Notification.createNext(e))},t.prototype._error=function(e){var t=this.destination;t.next(o.Notification.createError(e)),t.complete()},t.prototype._complete=function(){var e=this.destination;e.next(o.Notification.createComplete()),e.complete()},t}(r.Subscriber)},33499:function(e,t,n){"use strict";var i=n(97369);t.max=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})}},56098:function(e,t,n){"use strict";var i=n(38781),r=n(38781);t.mergeStatic=r.merge,t.merge=function(){for(var e=[],t=0;t0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(o.OuterSubscriber);t.MergeMapSubscriber=s},6693:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.mergeMapTo=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof t&&(n=t,t=null),function(i){return i.lift(new a(e,t,n))}};var a=function(){function e(e,t,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=e,this.resultSelector=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.ish,this.resultSelector,this.concurrent))},e}();t.MergeMapToOperator=a;var s=function(e){function t(t,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),e.call(this,t),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber);t.MergeMapToSubscriber=s},7550:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(93658),s=n(84308);t.mergeScan=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.accumulator=e,this.seed=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.accumulator,this.seed,this.concurrent))},e}();t.MergeScanOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},t}(s.OuterSubscriber);t.MergeScanSubscriber=c},51213:function(e,t,n){"use strict";var i=n(97369);t.min=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e=2?function(n){return a.pipe(i.scan(e,t),r.takeLast(1),o.defaultIfEmpty(t))(n)}:function(t){return a.pipe(i.scan(function(t,n,i){return e(t,n,i+1)}),r.takeLast(1))(t)}}},1694:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.refCount=function(){return function(e){return e.lift(new o(e))}};var o=function(){function e(e){this.connectable=e}return e.prototype.call=function(e,t){var n=this.connectable;n._refCount++;var i=new a(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r},e}(),a=function(e){function t(t,n){e.call(this,t),this.connectable=n}return i(t,e),t.prototype._unsubscribe=function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},t}(r.Subscriber)},15329:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(70481);t.repeat=function(e){return void 0===e&&(e=-1),function(t){return 0===e?new o.EmptyObservable:t.lift(new a(e<0?-1:e-1,t))}};var a=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.count,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.complete=function(){if(!this.isStopped){var t=this.source,n=this.count;if(0===n)return e.prototype.complete.call(this);n>-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},63964:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.repeatWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,t))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},t.prototype.notifyComplete=function(t){if(!1===this.sourceIsBeingSubscribedTo)return e.prototype.complete.call(this)},t.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return e.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},t.prototype._unsubscribe=function(){var e=this.notifications,t=this.retriesSubscription;e&&(e.unsubscribe(),this.notifications=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype._unsubscribeAndRecycle=function(){var t=this,n=t.notifications,i=t.retries,r=t.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,e.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},t.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var t=o.tryCatch(this.notifier)(this.notifications);if(t===a.errorObject)return e.prototype.complete.call(this);this.retries=t,this.retriesSubscription=u.subscribeToResult(this,t)},t}(s.OuterSubscriber)},40241:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.retry=function(e){return void 0===e&&(e=-1),function(t){return t.lift(new o(e,t))}};var o=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.count,this.source))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return e.prototype.error.call(this,t);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},23896:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.retryWhen=function(e){return function(t){return t.lift(new c(e,t))}};var c=function(){function e(e,t){this.notifier=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,this.source))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.errors,i=this.retries,s=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=o.tryCatch(this.notifier)(n))===a.errorObject)return e.prototype.error.call(this,a.errorObject.e);s=u.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=s,n.next(t)}},t.prototype._unsubscribe=function(){var e=this.errors,t=this.retriesSubscription;e&&(e.unsubscribe(),this.errors=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype.notifyNext=function(e,t,n,i,r){var o=this,a=o.errors,s=o.retries,u=o.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=a,this.retries=s,this.retriesSubscription=u,this.source.subscribe(this)},t}(s.OuterSubscriber)},92043:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.sample=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new s(e),i=t.subscribe(n);return i.add(o.subscribeToResult(n,this.notifier)),i},e}(),s=function(e){function t(){e.apply(this,arguments),this.hasValue=!1}return i(t,e),t.prototype._next=function(e){this.value=e,this.hasValue=!0},t.prototype.notifyNext=function(e,t,n,i,r){this.emitValue()},t.prototype.notifyComplete=function(){this.emitValue()},t.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},t}(r.OuterSubscriber)},71239:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(90680);t.sampleTime=function(e,t){return void 0===t&&(t=o.async),function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.period=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.period,this.scheduler))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(u,n,{subscriber:this,period:n}))}return i(t,e),t.prototype._next=function(e){this.lastValue=e,this.hasValue=!0},t.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},t}(r.Subscriber);function u(e){var t=e.period;e.subscriber.notifyNext(),this.schedule(e,t)}},64949:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.scan=function(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.accumulator,this.seed,this.hasSeed))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)},t}(r.Subscriber)},88948:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.sequenceEqual=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compareTo=e,this.comparor=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compareTo,this.comparor))},e}();t.SequenceEqualOperator=s;var u=function(e){function t(t,n,i){e.call(this,t),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(t,this)))}return i(t,e),t.prototype._next=function(e){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(e),this.checkValues())},t.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},t.prototype.checkValues=function(){for(var e=this,t=e._a,n=e._b,i=e.comparor;t.length>0&&n.length>0;){var r=t.shift(),s=n.shift(),u=!1;i?(u=o.tryCatch(i)(r,s))===a.errorObject&&this.destination.error(a.errorObject.e):u=r===s,u||this.emit(!1)}},t.prototype.emit=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype.nextB=function(e){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(e),this.checkValues())},t}(r.Subscriber);t.SequenceEqualSubscriber=u;var c=function(e){function t(t,n){e.call(this,t),this.parent=n}return i(t,e),t.prototype._next=function(e){this.parent.nextB(e)},t.prototype._error=function(e){this.parent.error(e)},t.prototype._complete=function(){this.parent._complete()},t}(r.Subscriber)},35473:function(e,t,n){"use strict";var i=n(27372),r=n(1694),o=n(2369);function a(){return new o.Subject}t.share=function(){return function(e){return r.refCount()(i.multicast(a)(e))}}},62704:function(e,t,n){"use strict";var i=n(81959);t.shareReplay=function(e,t,n){return function(r){return r.lift(function(e,t,n){var r,o,a=0,s=!1,u=!1;return function(c){a++,(!r||s)&&(s=!1,r=new i.ReplaySubject(e,t,n),o=c.subscribe({next:function(e){r.next(e)},error:function(e){s=!0,r.error(e)},complete:function(){u=!0,r.complete()}}));var l=r.subscribe(this);return function(){a--,l.unsubscribe(),o&&0===a&&u&&o.unsubscribe()}}}(e,t,n))}}},92223:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.single=function(e){return function(t){return t.lift(new a(e,t))}};var a=function(){function e(e,t){this.predicate=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(t,e),t.prototype.applySingleValue=function(e){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=e)},t.prototype._next=function(e){var t=this.index++;this.predicate?this.tryNext(e,t):this.applySingleValue(e)},t.prototype.tryNext=function(e,t){try{this.predicate(e,t,this.source)&&this.applySingleValue(e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){var e=this.destination;this.index>0?(e.next(this.seenValue?this.singleValue:void 0),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},11189:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.skip=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.total))},e}(),a=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},t}(r.Subscriber)},73346:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.skipLast=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){if(this._skipCount=e,this._skipCount<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(0===this._skipCount?new r.Subscriber(e):new s(e,this._skipCount))},e}(),s=function(e){function t(t,n){e.call(this,t),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(t,e),t.prototype._next=function(e){var t=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(e,n):new o.EmptyObservable(n),t)}}},10118:function(e,t,n){"use strict";var i=n(82966);t.subscribeOn=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new r(e,t))}};var r=function(){function e(e,t){this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return new i.SubscribeOnObservable(t,this.delay,this.scheduler).subscribe(e)},e}()},77243:function(e,t,n){"use strict";var i=n(18483),r=n(5027);t.switchAll=function(){return i.switchMap(r.identity)}},18483:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,e,t,n))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){this.resultSelector?this._tryNotifyNext(e,t,n,i):this.destination.next(t)},t.prototype._tryNotifyNext=function(e,t,n,i){var r;try{r=this.resultSelector(e,t,n,i)}catch(o){return void this.destination.error(o)}this.destination.next(r)},t}(r.OuterSubscriber)},10684:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMapTo=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.observable=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.observable,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.inner=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t=this.innerSubscription;t&&t.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,this.inner,e,this.index++))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.tryResultSelector(e,t,n,i):o.next(t)},t.prototype.tryResultSelector=function(e,t,n,i){var r,o=this.resultSelector,a=this.destination;try{r=o(e,t,n,i)}catch(s){return void a.error(s)}a.next(r)},t}(r.OuterSubscriber)},44396:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.take=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(r.Subscriber)},73935:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.takeLast=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.ring=new Array,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.ring,n=this.total,i=this.count++;t.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,a=r.length,s=0;s=0&&u%t==0&&!this.closed&&r.shift().complete(),++this.count%t==0&&!this.closed){var c=new o.Subject;r.push(c),n.next(c)}},t.prototype._error=function(e){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().complete();this.destination.complete()},t.prototype._unsubscribe=function(){this.count=0,this.windows=null},t}(r.Subscriber)},42603:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(90680),a=n(42109),s=n(39479),u=n(41503);t.windowTime=function(e){var t=o.async,n=null,i=Number.POSITIVE_INFINITY;return u.isScheduler(arguments[3])&&(t=arguments[3]),u.isScheduler(arguments[2])?t=arguments[2]:s.isNumeric(arguments[2])&&(i=arguments[2]),u.isScheduler(arguments[1])?t=arguments[1]:s.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(e,n,i,t))}};var c=function(){function e(e,t,n,i){this.windowTimeSpan=e,this.windowCreationInterval=t,this.maxWindowSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},e}(),l=function(e){function t(){e.apply(this,arguments),this._numberOfNextedValues=0}return i(t,e),t.prototype.next=function(t){this._numberOfNextedValues++,e.prototype.next.call(this,t)},Object.defineProperty(t.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),t}(r.Subject),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.destination=t,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=o,this.windows=[];var a=this.openWindow();if(null!==i&&i>=0){var s={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:o};this.add(o.schedule(p,n,{subscriber:this,window:a,context:null})),this.add(o.schedule(f,i,s))}else this.add(o.schedule(d,n,{subscriber:this,window:a,windowTimeSpan:n}))}return i(t,e),t.prototype._next=function(e){for(var t=this.windows,n=t.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},t.prototype._error=function(e){for(var t=this.windows;t.length>0;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){for(var e=this.windows;e.length>0;){var t=e.shift();t.closed||t.complete()}this.destination.complete()},t.prototype.openWindow=function(){var e=new l;return this.windows.push(e),this.destination.next(e),e},t.prototype.closeWindow=function(e){e.complete();var t=this.windows;t.splice(t.indexOf(e),1)},t}(a.Subscriber);function d(e){var t=e.subscriber,n=e.windowTimeSpan,i=e.window;i&&t.closeWindow(i),e.window=t.openWindow(),this.schedule(e,n)}function f(e){var t=e.windowTimeSpan,n=e.subscriber,i=e.scheduler,r=e.windowCreationInterval,o=n.openWindow(),a=this,s={action:a,subscription:null};s.subscription=i.schedule(p,t,{subscriber:n,window:o,context:s}),a.add(s.subscription),a.schedule(e,r)}function p(e){var t=e.subscriber,n=e.window,i=e.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),t.closeWindow(n)}},59048:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=n(33463),s=n(85814),u=n(84308),c=n(93658);t.windowToggle=function(e,t){return function(n){return n.lift(new l(e,t))}};var l=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.openings,this.closingSelector))},e}(),h=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(t,e),t.prototype._next=function(e){var t=this.contexts;if(t)for(var n=t.length,i=0;i0){var a=o.indexOf(n);-1!==a&&o.splice(a,1)}},t.prototype.notifyComplete=function(){},t.prototype._next=function(e){if(0===this.toRespond.length){var t=[e].concat(this.values);this.project?this._tryProject(t):this.destination.next(t)}},t.prototype._tryProject=function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.OuterSubscriber)},9477:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(42109),s=n(84308),u=n(93658),c=n(72121);function l(){for(var e=[],t=0;tthis.index},e.prototype.hasCompleted=function(){return this.array.length===this.index},e}(),v=function(e){function t(t,n,i){e.call(this,t),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(t,e),t.prototype[c.iterator]=function(){return this},t.prototype.next=function(){var e=this.buffer;return 0===e.length&&this.isComplete?{value:null,done:!0}:{value:e.shift(),done:!1}},t.prototype.hasValue=function(){return this.buffer.length>0},t.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},t.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){this.buffer.push(t),this.parent.checkIterators()},t.prototype.subscribe=function(e,t){return u.subscribeToResult(this,this.observable,this,t)},t}(s.OuterSubscriber)},33310:function(e,t,n){"use strict";var i=n(9477);t.zipAll=function(e){return function(t){return t.lift(new i.ZipOperator(e))}}},28101:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this)}return i(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(72293).Subscription);t.Action=r},67529:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=n(95018),a=function(e){function t(t,n){e.call(this,t,n),this.scheduler=t,this.work=n}return i(t,e),t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=o.AnimationFrame.requestAnimationFrame(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(o.AnimationFrame.cancelAnimationFrame(n),t.scheduled=void 0)},t}(r.AsyncAction);t.AnimationFrameAction=a},68909:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=r.Immediate.setImmediate(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(r.Immediate.clearImmediate(n),t.scheduled=void 0)},t}(n(12624).AsyncAction);t.AsapAction=o},25766:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,i):t.flush(this)},t}(n(12624).AsyncAction);t.QueueAction=r},77373:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t}(n(42704).AsyncScheduler);t.QueueScheduler=r},18353:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=function(e){function t(t,n){var i=this;void 0===t&&(t=a),void 0===n&&(n=Number.POSITIVE_INFINITY),e.call(this,t,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,i=this.maxFrames;(t=n.shift())&&(this.frame=t.delay)<=i&&!(e=t.execute(t.state,t.delay)););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(n(42704).AsyncScheduler);t.VirtualTimeScheduler=o;var a=function(e){function t(t,n,i){void 0===i&&(i=t.index+=1),e.call(this,t,n),this.scheduler=t,this.work=n,this.index=i,this.active=!0,this.index=t.index=i}return i(t,e),t.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return e.prototype.schedule.call(this,n,i);this.active=!1;var r=new t(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},t.prototype.requestAsyncId=function(e,n,i){void 0===i&&(i=0),this.delay=e.frame+i;var r=e.actions;return r.push(this),r.sort(t.sortActions),!0},t.prototype.recycleAsyncId=function(e,t,n){void 0===n&&(n=0)},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(r.AsyncAction);t.VirtualAction=a},12948:function(e,t,n){"use strict";var i=n(67529),r=n(68909);t.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(e,t,n){"use strict";var i=n(3496),r=n(25766);t.asap=new r.AsapScheduler(i.AsapAction)},90680:function(e,t,n){"use strict";var i=n(12624),r=n(42704);t.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(e,t,n){"use strict";var i=n(7100),r=n(77373);t.queue=new r.QueueScheduler(i.QueueAction)},72121:function(e,t,n){"use strict";var i=n(80019);function r(e){var t=e.Symbol;if("function"==typeof t)return t.iterator||(t.iterator=t("iterator polyfill")),t.iterator;var n=e.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=e.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),o=0;o0;)t.shift().setup();e.prototype.flush.call(this);for(var n=this.flushTests.filter(function(e){return e.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},t.parseMarblesAsSubscriptions=function(e){if("string"!=typeof e)return new u.SubscriptionLog(Number.POSITIVE_INFINITY);for(var t=e.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=0;o-1?n:a;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:a;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+s+"'.")}}return r<0?new u.SubscriptionLog(i):new u.SubscriptionLog(i,r)},t.parseMarbles=function(e,t,n,i){if(void 0===i&&(i=!1),-1!==e.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=e.length,s=[],u=e.indexOf("^"),c=-1===u?0:u*-this.frameTimeFactor,l="object"!=typeof t?function(e){return e}:function(e){return i&&t[e]instanceof a.ColdObservable?t[e].messages:t[e]},h=-1,d=0;d-1?h:f,notification:p})}return s},t}(c.VirtualTimeScheduler);t.TestScheduler=l},95018:function(e,t,n){"use strict";var i=n(80019),r=function(e){e.requestAnimationFrame?(this.cancelAnimationFrame=e.cancelAnimationFrame.bind(e),this.requestAnimationFrame=e.requestAnimationFrame.bind(e)):e.mozRequestAnimationFrame?(this.cancelAnimationFrame=e.mozCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.mozRequestAnimationFrame.bind(e)):e.webkitRequestAnimationFrame?(this.cancelAnimationFrame=e.webkitCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.webkitRequestAnimationFrame.bind(e)):e.msRequestAnimationFrame?(this.cancelAnimationFrame=e.msCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.msRequestAnimationFrame.bind(e)):e.oRequestAnimationFrame?(this.cancelAnimationFrame=e.oCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.oRequestAnimationFrame.bind(e)):(this.cancelAnimationFrame=e.clearTimeout.bind(e),this.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)})};t.RequestAnimationFrameDefinition=r,t.AnimationFrame=new r(i.root)},11758:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"argument out of range");this.name=t.name="ArgumentOutOfRangeError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.ArgumentOutOfRangeError=i},44640:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"no elements in sequence");this.name=t.name="EmptyError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.EmptyError=i},30764:function(e,t){"use strict";var n=function(){function e(){this.values={}}return e.prototype.delete=function(e){return this.values[e]=null,!0},e.prototype.set=function(e,t){return this.values[e]=t,this},e.prototype.get=function(e){return this.values[e]},e.prototype.forEach=function(e,t){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&e.call(t,n[i],i)},e.prototype.clear=function(){this.values={}},e}();t.FastMap=n},42982:function(e,t,n){"use strict";var i=n(80019),r=function(){function e(e){if(this.root=e,e.setImmediate&&"function"==typeof e.setImmediate)this.setImmediate=e.setImmediate.bind(e),this.clearImmediate=e.clearImmediate.bind(e);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var t=function e(t){delete e.instance.tasksByHandle[t]};t.instance=this,this.clearImmediate=t}}return e.prototype.identify=function(e){return this.root.Object.prototype.toString.call(e)},e.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},e.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},e.prototype.canUseReadyStateChange=function(){var e=this.root.document;return Boolean(e&&"onreadystatechange"in e.createElement("script"))},e.prototype.canUsePostMessage=function(){var e=this.root;if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}return!1},e.prototype.partiallyApplied=function(e){for(var t=[],n=1;n=0}},1856:function(e,t){"use strict";t.isObject=function(e){return null!=e&&"object"==typeof e}},35130:function(e,t){"use strict";t.isPromise=function(e){return e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}},41503:function(e,t){"use strict";t.isScheduler=function(e){return e&&"function"==typeof e.schedule}},68668:function(e,t){"use strict";t.noop=function(){}},67239:function(e,t){"use strict";t.not=function(e,t){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=e,n.thisArg=t,n}},10142:function(e,t,n){"use strict";var i=n(68668);function r(e){return e?1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}:i.noop}t.pipe=function(){for(var e=[],t=0;t=n?{done:!0}:{done:!1,value:e[i++]}})},t.empty=function(){var e=new t(null);return e.done=!0,e},t.is=function(e){return e instanceof t||"object"==typeof e&&null!==e&&"function"==typeof e.next},e.exports=t},97310:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=function(){return void 0!==r.window.orientation},t.default=function(e){if(!e&&!(0,o.default)())return"Node";if((0,a.default)(e))return"Electron";var t="undefined"!=typeof navigator?navigator:{},n=e||t.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),s=-1!==n.indexOf("Trident/");return i||s?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),o=i(n(61602)),a=i(n(22344))},41151:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var r=i(n(34321)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};t.self=o.self||o.window||o.global,t.window=o.window||o.self||o.global,t.global=o.global||o.self||o.window,t.document=o.document||{},t.process=o.process||{};var a=console;t.console=a},84761:function(e,t,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(t,"CO",{enumerable:!0,get:function(){return o.global}}),Object.defineProperty(t,"qs",{enumerable:!0,get:function(){return a.default}});var o=n(41151),a=(u(n(61602)),u(n(97310)));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=o?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(i,a,u):i[a]=e[a]}return i.default=e,n&&n.set(e,i),i}i(n(22344))},61602:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=a,t.isBrowserMainThread=function(){return a()&&"undefined"!=typeof document};var r=i(n(34321)),o=i(n(22344));function a(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,o.default)()}},22344:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(14180),t),r(n(75103),t),r(n(48965),t),r(n(32595),t),r(n(82417),t),r(n(92451),t),r(n(17735),t)},14180:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0,t.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},75103:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;var i=n(14180),r=n(48965),o=n(32595),a=n(82417),s=n(92451),u=n(17735),c=0;t.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},48965:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;var n=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();t.DefaultGraph=n,n.INSTANCE=new n},32595:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;var i=n(82417),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();t.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0,t.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},92451:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0,t.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},17735:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0,t.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},31609:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedJavaScriptPrimitives=t.getSupportedRdfDatatypes=t.getTermRaw=t.toRdf=t.fromRdf=void 0;var o=n(86991),a=n(9938),s=n(66060);r(n(9938),t),r(n(88871),t),r(n(66060),t);var u=new o.DataFactory,c=new s.Translator;function l(e,t){return c.fromRdf(e,t)}c.registerHandler(new a.TypeHandlerString,a.TypeHandlerString.TYPES.map(function(e){return u.namedNode(e)}),["string"]),c.registerHandler(new a.TypeHandlerBoolean,[a.TypeHandlerBoolean.TYPE].map(function(e){return u.namedNode(e)}),["boolean"]),c.registerHandler(new a.TypeHandlerNumberDouble,a.TypeHandlerNumberDouble.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerNumberInteger,a.TypeHandlerNumberInteger.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerDate,a.TypeHandlerDate.TYPES.map(function(e){return u.namedNode(e)}),["object"]),t.fromRdf=l,t.toRdf=function(e,t){return t&&"namedNode"in t&&(t={dataFactory:t}),(t=t||{})&&!t.dataFactory&&(t.dataFactory=u),c.toRdf(e,t)},t.getTermRaw=function(e,t){return"Literal"===e.termType?l(e,t):e.value},t.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},t.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},66060:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0,t.Translator=function(){function e(){m(this,e),this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}return b(e,[{key:"registerHandler",value:function(e,t,n){var i,r=_(t);try{for(r.s();!(i=r.n()).done;){var o=i.value;this.supportedRdfDatatypes.push(o),this.fromRdfHandlers[o.value]=e}}catch(l){r.e(l)}finally{r.f()}var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value,c=this.toRdfHandlers[u];c||(this.toRdfHandlers[u]=c=[]),c.push(e)}}catch(l){s.e(l)}finally{s.f()}}},{key:"fromRdf",value:function(e,t){var n=this.fromRdfHandlers[e.datatype.value];return n?n.fromRdf(e,t):e.value}},{key:"toRdf",value:function(e,t){var n=this.toRdfHandlers[typeof e];if(n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=i.value.toRdf(e,t);if(o)return o}}catch(a){r.e(a)}finally{r.f()}}throw new Error("Invalid JavaScript value: '".concat(e,"'"))}},{key:"getSupportedRdfDatatypes",value:function(){return this.supportedRdfDatatypes}},{key:"getSupportedJavaScriptPrimitives",value:function(){return Object.keys(this.toRdfHandlers)}}],[{key:"incorrectRdfDataType",value:function(e){throw new Error("Invalid RDF ".concat(e.datatype.value," value: '").concat(e.value,"'"))}}]),e}()},80727:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerBoolean=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){switch(e.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return t&&i.Translator.incorrectRdfDataType(e),!1}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(t?"true":"false",i||r.namedNode(e.TYPE))}}]),e}();t.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerDate=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(t,n){switch(n&&!t.value.match(e.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":var r=t.value.split("-");return new Date(0,parseInt(r[0],10)-1,parseInt(r[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;if(i=i||r.namedNode(e.TYPES[0]),!(t instanceof Date))return null;var o,a=t;switch(i.value){case"http://www.w3.org/2001/XMLSchema#gDay":o=String(a.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":o=a.getUTCMonth()+1+"-"+a.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":o=String(a.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":o=a.getUTCFullYear()+"-"+(a.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":o=a.toISOString().replace(/T.*$/,"");break;default:o=a.toISOString()}return r.literal(o,i)}}]),e}();t.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberDouble=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseFloat(e.value);return t&&isNaN(n)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return i=i||r.namedNode(e.TYPES[0]),isNaN(t)?r.literal("NaN",i):isFinite(t)?t%1==0?null:r.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),i):r.literal(t>0?"INF":"-INF",i)}}]),e}();t.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberInteger=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseInt(e.value,10);return t&&(isNaN(n)||e.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(String(t),i||r.namedNode(t<=e.MAX_INT&&t>=e.MIN_INT?e.TYPES[0]:e.TYPES[1]))}}]),e}();t.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerString=void 0;var n=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e){return e.value}},{key:"toRdf",value:function(e,t){var n=t.datatype;return t.dataFactory.literal(e,n)}}]),e}();t.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(80727),t),r(n(52525),t),r(n(38554),t),r(n(37750),t),r(n(14608),t)},51316:function(n,i,r){"use strict";var d,f,g,y,w,k,x,S,C,E,O,T=regeneratorRuntime.mark(Mj),A=regeneratorRuntime.mark(zX),R={};r.r(R),r.d(R,{decode:function(){return Sj},encode:function(){return Ej}});var D={};r.r(D),r.d(D,{decode:function(){return Ij},encode:function(){return Dj}});var N={};r.r(N),r.d(N,{decode:function(){return Nj},encode:function(){return jj}});var L={};function j(e){return"function"==typeof e}r.r(L),r.d(L,{decode:function(){return Bj},encode:function(){return zj}});var F=!1,B={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){var t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else F&&console.log("RxJS: Back to a better error behavior. Thank you. <3");F=e},get useDeprecatedSynchronousErrorHandling(){return F}};function V(e){setTimeout(function(){throw e},0)}var z={closed:!0,next:function(e){},error:function(e){if(B.useDeprecatedSynchronousErrorHandling)throw e;V(e)},complete:function(){}},U=Array.isArray||function(e){return e&&"number"==typeof e.length};function H(e){return null!==e&&"object"==typeof e}var G,W=function(){function e(e){return Error.call(this),this.message=e?"".concat(e.length," errors occurred during unsubscription:\n").concat(e.map(function(e,t){return"".concat(t+1,") ").concat(e.toString())}).join("\n ")):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),q=function(){function e(t){m(this,e),this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return b(e,[{key:"unsubscribe",value:function(){var t;if(!this.closed){var n=this._parentOrParents,i=this._ctorUnsubscribe,r=this._unsubscribe,o=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return"function"==typeof t?function(i){return i.pipe(ke(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))},n))}:("number"==typeof t&&(n=t),function(t){return t.lift(new xe(e,n))})}var xe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY;m(this,e),this.project=t,this.concurrent=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Se(e,this.project,this.concurrent))}}]),e}(),Se=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return m(this,n),(r=t.call(this,e)).project=i,r.concurrent=o,r.hasCompleted=!1,r.buffer=[],r.active=0,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}]),n}(_e);function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;return ke(Z,e)}function Ee(e,t){return t?me(e,t):new te(de(e))}function Oe(){for(var e=arguments.length,t=new Array(e),n=0;n1&&"number"==typeof t[t.length-1]&&(i=t.pop())):"number"==typeof o&&(i=t.pop()),null===r&&1===t.length&&t[0]instanceof te?t[0]:Ce(i)(Ee(t,r))}function Te(){return function(e){return e.lift(new Pe(e))}}var Pe=function(){function e(t){m(this,e),this.connectable=t}return b(e,[{key:"call",value:function(e,t){var n=this.connectable;n._refCount++;var i=new Ae(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r}}]),e}(),Ae=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).connectable=i,r}return b(n,[{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}]),n}(K),Me=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).source=e,r.subjectFactory=i,r._refCount=0,r._isComplete=!1,r}return b(n,[{key:"_subscribe",value:function(e){return this.getSubject().subscribe(e)}},{key:"getSubject",value:function(){var e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}},{key:"connect",value:function(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new q).add(this.source.subscribe(new Re(this.getSubject(),this))),e.closed&&(this._connection=null,e=q.EMPTY)),e}},{key:"refCount",value:function(){return Te()(this)}}]),n}(te),Ie=function(){var e=Me.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),Re=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e)).connectable=t,r}return b(i,[{key:"_error",value:function(t){this._unsubscribe(),e(p(i.prototype),"_error",this).call(this,t)}},{key:"_complete",value:function(){this.connectable._isComplete=!0,this._unsubscribe(),e(p(i.prototype),"_complete",this).call(this)}},{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}]),i}(oe);function De(e,t){return function(n){var i;if(i="function"==typeof e?e:function(){return e},"function"==typeof t)return n.lift(new Ne(i,t));var r=Object.create(n,Ie);return r.source=n,r.subjectFactory=i,r}}var Ne=function(){function e(t,n){m(this,e),this.subjectFactory=t,this.selector=n}return b(e,[{key:"call",value:function(e,t){var n=this.selector,i=this.subjectFactory(),r=n(i).subscribe(e);return r.add(t.subscribe(i)),r}}]),e}();function Le(){return new ae}function je(){return function(e){return Te()(De(Le)(e))}}function Fe(e){for(var t in e)if(e[t]===Fe)return t;throw Error("Could not find renamed property on target object.")}function Be(e,t){for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Ve(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ve).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return"".concat(e.overriddenName);if(e.name)return"".concat(e.name);var t=e.toString();if(null==t)return""+t;var n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function ze(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}var Ue=Fe({__forward_ref__:Fe});function He(e){return e.__forward_ref__=He,e.toString=function(){return Ve(this())},e}function Ge(e){return We(e)?e():e}function We(e){return"function"==typeof e&&e.hasOwnProperty(Ue)&&e.__forward_ref__===He}var qe=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,function(e,t){return"".concat(e?"NG0".concat(e,": "):"").concat(t)}(e,i))).code=e,r}return n}(l(Error));function Xe(e){return"string"==typeof e?e:null==e?"":String(e)}function Ye(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Xe(e)}function Ke(e,t){var n=t?" in ".concat(t):"";throw new qe("201","No provider for ".concat(Ye(e)," found").concat(n))}function $e(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Qe(e){return{providers:e.providers||[],imports:e.imports||[]}}function Ze(e){return Je(e,nt)||Je(e,rt)}function Je(e,t){return e.hasOwnProperty(t)?e[t]:null}function et(e){return e&&(e.hasOwnProperty(it)||e.hasOwnProperty(ot))?e[it]:null}var tt,nt=Fe({"\u0275prov":Fe}),it=Fe({"\u0275inj":Fe}),rt=Fe({ngInjectableDef:Fe}),ot=Fe({ngInjectorDef:Fe}),at=((at=at||{})[at.Default=0]="Default",at[at.Host=1]="Host",at[at.Self=2]="Self",at[at.SkipSelf=4]="SkipSelf",at[at.Optional=8]="Optional",at);function st(e){var t=tt;return tt=e,t}function ut(e,t,n){var i=Ze(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&at.Optional?null:void 0!==t?t:void Ke(Ve(e),"Injector")}function ct(e){return{toString:e}.toString()}var lt=((lt=lt||{})[lt.OnPush=0]="OnPush",lt[lt.Default=1]="Default",lt),ht=((ht=ht||{})[ht.Emulated=0]="Emulated",ht[ht.None=2]="None",ht[ht.ShadowDom=3]="ShadowDom",ht),dt="undefined"!=typeof globalThis&&globalThis,ft="undefined"!=typeof window&&window,pt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,vt="undefined"!=typeof global&&global,gt=dt||vt||ft||pt,mt={},yt=[],bt=Fe({"\u0275cmp":Fe}),_t=Fe({"\u0275dir":Fe}),wt=Fe({"\u0275pipe":Fe}),kt=Fe({"\u0275mod":Fe}),xt=Fe({"\u0275loc":Fe}),St=Fe({"\u0275fac":Fe}),Ct=Fe({__NG_ELEMENT_ID__:Fe}),Et=0;function Ot(e){return ct(function(){var t={},n={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors||yt,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||ht.Emulated,id:"c",styles:e.styles||yt,_:null,setInput:null,schemas:e.schemas||null,tView:null},i=e.directives,r=e.features,o=e.pipes;return n.id+=Et++,n.inputs=It(e.inputs,t),n.outputs=It(e.outputs),r&&r.forEach(function(e){return e(n)}),n.directiveDefs=i?function(){return("function"==typeof i?i():i).map(Tt)}:null,n.pipeDefs=o?function(){return("function"==typeof o?o():o).map(Pt)}:null,n})}function Tt(e){return Nt(e)||function(e){return e[_t]||null}(e)}function Pt(e){return function(e){return e[wt]||null}(e)}var At={};function Mt(e){return ct(function(){var t={type:e.type,bootstrap:e.bootstrap||yt,declarations:e.declarations||yt,imports:e.imports||yt,exports:e.exports||yt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null};return null!=e.id&&(At[e.id]=e.type),t})}function It(e,t){if(null==e)return mt;var n={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}var Rt=Ot;function Dt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,onDestroy:e.type.prototype.ngOnDestroy||null}}function Nt(e){return e[bt]||null}function Lt(e,t){var n=e[kt]||null;if(!n&&!0===t)throw new Error("Type ".concat(Ve(e)," does not have '\u0275mod' property."));return n}function jt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Ft(e){return Array.isArray(e)&&!0===e[1]}function Bt(e){return 0!=(8&e.flags)}function Vt(e){return 2==(2&e.flags)}function zt(e){return 1==(1&e.flags)}function Ut(e){return null!==e.template}function Ht(e){return 0!=(512&e[2])}function Gt(e,t){return e.hasOwnProperty(St)?e[St]:null}var Wt=function(){function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i}return b(e,[{key:"isFirstChange",value:function(){return this.firstChange}}]),e}();function qt(){return Xt}function Xt(e){return e.type.prototype.ngOnChanges&&(e.setInput=Kt),Yt}function Yt(){var e=Qt(this),t=null==e?void 0:e.current;if(t){var n=e.previous;if(n===mt)e.previous=t;else for(var i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Kt(e,t,n,i){var r=Qt(e)||function(e,t){return e[$t]=t}(e,{previous:mt,current:null}),o=r.current||(r.current={}),a=r.previous,s=this.declaredInputs[n],u=a[s];o[s]=new Wt(u&&u.currentValue,t,a===mt),e[i]=t}qt.ngInherit=!0;var $t="__ngSimpleChanges__";function Qt(e){return e[$t]||null}var Zt,Jt="http://www.w3.org/2000/svg";function en(){return void 0!==Zt?Zt:"undefined"!=typeof document?document:void 0}function tn(e){return!!e.listen}var nn={createRenderer:function(e,t){return en()}};function rn(e){for(;Array.isArray(e);)e=e[0];return e}function on(e,t){return rn(t[e])}function an(e,t){return rn(t[e.index])}function sn(e,t){return e.data[t]}function un(e,t){return e[t]}function cn(e,t){var n=t[e];return jt(n)?n:n[0]}function ln(e){return 4==(4&e[2])}function hn(e){return 128==(128&e[2])}function dn(e,t){return null==t?null:e[t]}function fn(e){e[18]=0}function pn(e,t){e[5]+=t;for(var n=e,i=e[3];null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}var vn={lFrame:Vn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gn(){return vn.bindingsEnabled}function mn(){return vn.lFrame.lView}function yn(){return vn.lFrame.tView}function bn(e){return vn.lFrame.contextLView=e,e[8]}function _n(){for(var e=wn();null!==e&&64===e.type;)e=e.parent;return e}function wn(){return vn.lFrame.currentTNode}function kn(e,t){var n=vn.lFrame;n.currentTNode=e,n.isParent=t}function xn(){return vn.lFrame.isParent}function Sn(){vn.lFrame.isParent=!1}function Cn(){return vn.isInCheckNoChangesMode}function En(e){vn.isInCheckNoChangesMode=e}function On(){var e=vn.lFrame,t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Tn(){return vn.lFrame.bindingIndex}function Pn(){return vn.lFrame.bindingIndex++}function An(e){var t=vn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Mn(e,t){var n=vn.lFrame;n.bindingIndex=n.bindingRootIndex=e,In(t)}function In(e){vn.lFrame.currentDirectiveIndex=e}function Rn(e){var t=vn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}function Dn(){return vn.lFrame.currentQueryIndex}function Nn(e){vn.lFrame.currentQueryIndex=e}function Ln(e){var t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function jn(e,t,n){if(n&at.SkipSelf){for(var i=t,r=e;!(null!==(i=i.parent)||n&at.Host||(i=Ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;t=i,e=r}var o=vn.lFrame=Bn();return o.currentTNode=t,o.lView=e,!0}function Fn(e){var t=Bn(),n=e[1];vn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Bn(){var e=vn.lFrame,t=null===e?null:e.child;return null===t?Vn(e):t}function Vn(e){var t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function zn(){var e=vn.lFrame;return vn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Un=zn;function Hn(){var e=zn();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Gn(){return vn.lFrame.selectedIndex}function Wn(e){vn.lFrame.selectedIndex=e}function qn(){var e=vn.lFrame;return sn(e.tView,e.selectedIndex)}function Xn(){vn.lFrame.currentNamespace=Jt}function Yn(e,t){for(var n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[s]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}var ei=function e(t,n,i){m(this,e),this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i};function ti(e,t,n){for(var i=tn(e),r=0;rt){a=o-1;break}}}for(;o>16}(e),i=t;n>0;)i=i[15],n--;return i}var ci=!0;function li(e){var t=ci;return ci=e,t}var hi=0;function di(e,t){var n=pi(e,t);if(-1!==n)return n;var i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,fi(i.data,e),fi(t,null),fi(i.blueprint,null));var r=vi(e,t),o=e.injectorIndex;if(ai(r))for(var a=si(r),s=ui(r,t),u=s[1].data,c=0;c<8;c++)t[o+c]=s[a+c]|u[a+c];return t[o+8]=r,o}function fi(e,t){e.push(0,0,0,0,0,0,0,0,t)}function pi(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function vi(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;for(var n=0,i=null,r=t;null!==r;){var o=r[1],a=o.type;if(null===(i=2===a?o.declTNode:1===a?r[6]:null))return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function gi(e,t,n){!function(e,t,n){var i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Ct)&&(i=n[Ct]),null==i&&(i=n[Ct]=hi++);var r=255&i;t.data[e+(r>>5)]|=1<3&&void 0!==arguments[3]?arguments[3]:at.Default,r=arguments.length>4?arguments[4]:void 0;if(null!==e){var o=function(e){if("string"==typeof e)return e.charCodeAt(0)||0;var t=e.hasOwnProperty(Ct)?e[Ct]:void 0;return"number"==typeof t?t>=0?255&t:wi:t}(n);if("function"==typeof o){if(!jn(t,e,i))return i&at.Host?mi(r,n,i):yi(t,n,i,r);try{var a=o(i);if(null!=a||i&at.Optional)return a;Ke(n)}finally{Un()}}else if("number"==typeof o){var s=null,u=pi(e,t),c=-1,l=i&at.Host?t[16][6]:null;for((-1===u||i&at.SkipSelf)&&(-1!==(c=-1===u?vi(e,t):t[u+8])&&Ei(i,!1)?(s=t[1],u=si(c),t=ui(c,t)):u=-1);-1!==u;){var h=t[1];if(Ci(o,u,h.data)){var d=ki(u,t,n,s,i,l);if(d!==_i)return d}-1!==(c=t[u+8])&&Ei(i,t[1].data[u+8]===l)&&Ci(o,u,t)?(s=h,u=si(c),t=ui(c,t)):u=-1}}}return yi(t,n,i,r)}var _i={};function wi(){return new Oi(_n(),mn())}function ki(e,t,n,i,r,o){var a=t[1],s=a.data[e+8],u=xi(s,a,n,null==i?Vt(s)&&ci:i!=a&&0!=(3&s.type),r&at.Host&&o===s);return null!==u?Si(t,a,u,s):_i}function xi(e,t,n,i,r){for(var o=e.providerIndexes,a=t.data,s=1048575&o,u=e.directiveStart,c=o>>20,l=r?s+c:e.directiveEnd,h=i?s:s+c;h=u&&d.type===n)return h}if(r){var f=a[u];if(f&&Ut(f)&&f.type===n)return u}return null}function Si(e,t,n,i){var r=e[n],o=t.data;if(function(e){return e instanceof ei}(r)){var a=r;a.resolving&&function(e,t){throw new qe("200","Circular dependency in DI detected for ".concat(e))}(Ye(o[n]));var s=li(a.canSeeViewProviders);a.resolving=!0;var u=a.injectImpl?st(a.injectImpl):null;jn(e,i,at.Default);try{r=e[n]=a.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function(e,t,n){var i=t.type.prototype,r=i.ngOnChanges,o=i.ngOnInit,a=i.ngDoCheck;if(r){var s=Xt(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}o&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,o),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,a))}(n,o[n],t)}finally{null!==u&&st(u),li(s),a.resolving=!1,Un()}}return r}function Ci(e,t,n){return!!(n[t+(e>>5)]&1<=e.length?e.push(n):e.splice(t,0,n)}function Fi(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Bi(e,t){for(var n=[],i=0;i=0?e[1|i]=n:function(e,t,n,i){var r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i=~i,t,n),i}function zi(e,t){var n=Ui(e,t);if(n>=0)return e[1|n]}function Ui(e,t){return function(e,t,n){for(var i=0,r=e.length>>1;r!==i;){var o=i+(r-i>>1),a=e[o<<1];if(t===a)return o<<1;a>t?r=o:i=o+1}return~(r<<1)}(e,t)}var Hi,Gi={},Wi="__NG_DI_FLAG__",qi="ngTempTokenPath",Xi=/\n/gm,Yi="__source",Ki=Fe({provide:String,useValue:Fe});function $i(e){var t=Hi;return Hi=e,t}function Qi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;if(void 0===Hi)throw new Error("inject() must be called from an injection context");return null===Hi?ut(e,void 0,t):Hi.get(e,t&at.Optional?null:void 0,t)}function Zi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;return(tt||Qi)(Ge(e),t)}var Ji=Zi;function er(e){for(var t=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:null;e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.substr(2):e;var r=Ve(t);if(Array.isArray(t))r=t.map(Ve).join(" -> ");else if("object"==typeof t){var o=[];for(var a in t)if(t.hasOwnProperty(a)){var s=t[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):Ve(s)))}r="{".concat(o.join(", "),"}")}return"".concat(n).concat(i?"("+i+")":"","[").concat(r,"]: ").concat(e.replace(Xi,"\n "))}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[qi]=null,e}var rr,or,ar=tr(Ii("Inject",function(e){return{token:e}}),-1),sr=tr(Ii("Optional"),8),ur=tr(Ii("SkipSelf"),4);function cr(e){var t;return(null===(t=function(){if(void 0===rr&&(rr=null,gt.trustedTypes))try{rr=gt.trustedTypes.createPolicy("angular",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(e){}return rr}())||void 0===t?void 0:t.createHTML(e))||e}function lr(){if(void 0===or&&(or=null,gt.trustedTypes))try{or=gt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(G){}return or}function hr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createHTML(e))||e}function dr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createScriptURL(e))||e}var fr=function(){function e(t){m(this,e),this.changingThisBreaksApplicationSecurity=t}return b(e,[{key:"toString",value:function(){return"SafeValue must use [property]=binding: ".concat(this.changingThisBreaksApplicationSecurity," (see https://g.co/ng/security#xss)")}}]),e}(),pr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"HTML"}}]),n}(fr),vr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Style"}}]),n}(fr),gr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Script"}}]),n}(fr),mr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"URL"}}]),n}(fr),yr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"ResourceURL"}}]),n}(fr);function br(e){return e instanceof fr?e.changingThisBreaksApplicationSecurity:e}function _r(e,t){var n=wr(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error("Required a safe ".concat(t,", got a ").concat(n," (see https://g.co/ng/security#xss)"))}return n===t}function wr(e){return e instanceof fr&&e.getTypeName()||null}var kr=function(){function e(t){m(this,e),this.inertDocumentHelper=t}return b(e,[{key:"getInertBodyElement",value:function(e){e=""+e;try{var t=(new window.DOMParser).parseFromString(cr(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}]),e}(),xr=function(){function e(t){if(m(this,e),this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){var n=this.inertDocument.createElement("html");this.inertDocument.appendChild(n);var i=this.inertDocument.createElement("body");n.appendChild(i)}}return b(e,[{key:"getInertBodyElement",value:function(e){var t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=cr(e),t;var n=this.inertDocument.createElement("body");return n.innerHTML=cr(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}},{key:"stripCustomNsAttrs",value:function(e){for(var t=e.attributes,n=t.length-1;0"),!0}},{key:"endElement",value:function(e){var t=e.nodeName.toLowerCase();Dr.hasOwnProperty(t)&&!Mr.hasOwnProperty(t)&&(this.buf.push(""))}},{key:"chars",value:function(e){this.buf.push(Ur(e))}},{key:"checkClobberedElement",value:function(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: ".concat(e.outerHTML));return t}}]),e}(),Vr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zr=/([^\#-~ |!])/g;function Ur(e){return e.replace(/&/g,"&").replace(Vr,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(zr,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}function Hr(e,t){var n=null;try{Ar=Ar||function(e){var t=new xr(e);return function(){try{return!!(new window.DOMParser).parseFromString(cr(""),"text/html")}catch(e){return!1}}()?new kr(t):t}(e);var i=t?String(t):"";n=Ar.getInertBodyElement(i);var r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=n.innerHTML,n=Ar.getInertBodyElement(i)}while(i!==o);return cr((new Br).sanitizeChildren(Gr(n)||n))}finally{if(n)for(var a=Gr(n)||n;a.firstChild;)a.removeChild(a.firstChild)}}function Gr(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Wr=((Wr=Wr||{})[Wr.NONE=0]="NONE",Wr[Wr.HTML=1]="HTML",Wr[Wr.STYLE=2]="STYLE",Wr[Wr.SCRIPT=3]="SCRIPT",Wr[Wr.URL=4]="URL",Wr[Wr.RESOURCE_URL=5]="RESOURCE_URL",Wr);function qr(e){var t=Kr();return t?hr(t.sanitize(Wr.HTML,e)||""):_r(e,"HTML")?hr(br(e)):Hr(en(),Xe(e))}function Xr(e){var t=Kr();return t?t.sanitize(Wr.URL,e)||"":_r(e,"URL")?br(e):Er(Xe(e))}function Yr(e){var t=Kr();if(t)return dr(t.sanitize(Wr.RESOURCE_URL,e)||"");if(_r(e,"ResourceURL"))return dr(br(e));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function Kr(){var e=mn();return e&&e[12]}var $r="__ngContext__";function Qr(e,t){e[$r]=t}function Zr(e){var t=function(e){return e[$r]||null}(e);return t?Array.isArray(t)?t:t.lView:null}function Jr(e){return e.ngOriginalError}function eo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&(e[n-1][4]=i[4]);var o=Fi(e,10+t);!function(e,t){Mo(e,t,t[11],2,null,null),t[0]=null,t[6]=null}(i[1],i);var a=o[19];null!==a&&a.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}}function mo(e,t){if(!(256&t[2])){var n=t[11];tn(n)&&n.destroyNode&&Mo(e,t,n,3,null,null),function(e){var t=e[13];if(!t)return yo(e[1],e);for(;t;){var n=null;if(jt(t))n=t[13];else{var i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)jt(t)&&yo(t[1],t),t=t[3];null===t&&(t=e),jt(t)&&yo(t[1],t),n=t&&t[4]}t=n}}(t)}}function yo(e,t){if(!(256&t[2])){t[2]&=-129,t[2]|=256,function(e,t){var n;if(null!=e&&null!=(n=e.destroyHooks))for(var i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),o+=2}else{var l=i[r=n[o+1]];n[o].call(l)}if(null!==i){for(var h=r+1;ho?"":r[l+1].toLowerCase();var d=8&i?h:null;if(d&&-1!==No(d,c,0)||2&i&&c!==h){if(zo(i))return!1;a=!0}}}}else{if(!a&&!zo(i)&&!zo(u))return!1;if(a&&zo(u))continue;a=!1,i=u|1&i}}return zo(i)||a}function zo(e){return 0==(1&e)}function Uo(e,t,n,i){if(null===t)return-1;var r=0;if(i||!n){for(var o=!1;r-1)for(n++;n2&&void 0!==arguments[2]&&arguments[2],i=0;i0?'="'+s+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!zo(a)&&(t+=Wo(o,r),r=""),i=a,o=o||!zo(i);n++}return""!==r&&(t+=Wo(o,r)),t}var Xo={};function Yo(e){Ko(yn(),mn(),Gn()+e,Cn())}function Ko(e,t,n,i){if(!i)if(3==(3&t[2])){var r=e.preOrderCheckHooks;null!==r&&Kn(t,r,n)}else{var o=e.preOrderHooks;null!==o&&$n(t,o,0,n)}Wn(n)}function $o(e,t){return e<<17|t<<2}function Qo(e){return e>>17&32767}function Zo(e){return 2|e}function Jo(e){return(131068&e)>>2}function ea(e,t){return-131069&e|t<<2}function ta(e){return 1|e}function na(e,t){var n=e.contentQueries;if(null!==n)for(var i=0;i20&&Ko(e,t,20,Cn()),n(i,r)}finally{Wn(o)}}function la(e,t,n){if(Bt(t))for(var i=t.directiveEnd,r=t.directiveStart;r2&&void 0!==arguments[2]?arguments[2]:an,i=t.localNames;if(null!==i)for(var r=t.index+1,o=0;o0;){var n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=u&&s.push(u),s.push(i,r,a)}}function _a(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function wa(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function ka(e,t,n){if(n){if(t.exportAs)for(var i=0;i0&&Ma(n)}}function Ma(e){for(var t=co(e);null!==t;t=lo(t))for(var n=10;n0&&Ma(i)}var o=e[1].components;if(null!==o)for(var a=0;a0&&Ma(s)}}function Ia(e,t){var n=cn(t,e),i=n[1];(function(e,t){for(var n=t.length;n1&&void 0!==arguments[1]?arguments[1]:Gi;if(t===Gi){var n=new Error("NullInjectorError: No provider for ".concat(Ve(e),"!"));throw n.name="NullInjectorError",n}return t}}]),e}(),Ka=new Ri("Set Injector scope."),$a={},Qa={};function Za(){return void 0===qa&&(qa=new Ya),qa}function Ja(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0;return new es(e,n,t||Za(),i)}var es=function(){function e(t,n,i){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;m(this,e),this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;var a=[];n&&Li(n,function(e){return r.processProvider(e,t,n)}),Li([t],function(e){return r.processInjectorType(e,[],a)}),this.records.set(Xa,is(void 0,this));var s=this.records.get(Ka);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof t?null:Ve(t))}return b(e,[{key:"destroyed",get:function(){return this._destroyed}},{key:"destroy",value:function(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(function(e){return e.ngOnDestroy()})}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gi,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;this.assertNotDestroyed();var i=$i(this),r=st(void 0);try{if(!(n&at.SkipSelf)){var o=this.records.get(e);if(void 0===o){var a=function(e){return"function"==typeof e||"object"==typeof e&&e instanceof Ri}(e)&&Ze(e);o=a&&this.injectableDefInScope(a)?is(ts(e),$a):null,this.records.set(e,o)}if(null!=o)return this.hydrate(e,o)}return(n&at.Self?Za():this.parent).get(e,t=n&at.Optional&&t===Gi?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[qi]=s[qi]||[]).unshift(Ve(e)),i)throw s;return ir(s,e,"R3InjectorError",this.source)}throw s}finally{st(r),$i(i)}}},{key:"_resolveInjectorDefTypes",value:function(){var e=this;this.injectorDefTypes.forEach(function(t){return e.get(t)})}},{key:"toString",value:function(){var e=[];return this.records.forEach(function(t,n){return e.push(Ve(n))}),"R3Injector[".concat(e.join(", "),"]")}},{key:"assertNotDestroyed",value:function(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}},{key:"processInjectorType",value:function(e,t,n){var i=this;if(!(e=Ge(e)))return!1;var r=et(e),o=null==r&&e.ngModule||void 0,a=void 0===o?e:o,s=-1!==n.indexOf(a);if(void 0!==o&&(r=et(o)),null==r)return!1;if(null!=r.imports&&!s){var u;n.push(a);try{Li(r.imports,function(e){i.processInjectorType(e,t,n)&&(void 0===u&&(u=[]),u.push(e))})}finally{}if(void 0!==u)for(var c=function(e){var t=u[e],n=t.ngModule,r=t.providers;Li(r,function(e){return i.processProvider(e,n,r||yt)})},l=0;l0){var n=Bi(t,"?");throw new Error("Can't resolve all parameters for ".concat(Ve(e),": (").concat(n.join(", "),")."))}var i=function(e){var t=e&&(e[nt]||e[rt]);if(t){var n=function(e){if(e.hasOwnProperty("name"))return e.name;var t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn('DEPRECATED: DI is instantiating a token "'.concat(n,'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "').concat(n,'" class.')),t}return null}(e);return null!==i?function(){return i.factory(e)}:function(){return new e}}(e);throw new Error("unreachable")}function ns(e,t,n){var i;if(os(e)){var r=Ge(e);return Gt(r)||ts(r)}if(rs(e))i=function(){return Ge(e.useValue)};else if(function(e){return!(!e||!e.useFactory)}(e))i=function(){return e.useFactory.apply(e,v(er(e.deps||[])))};else if(function(e){return!(!e||!e.useExisting)}(e))i=function(){return Zi(Ge(e.useExisting))};else{var o=Ge(e&&(e.useClass||e.provide));if(!function(e){return!!e.deps}(e))return Gt(o)||ts(o);i=function(){return h(o,v(er(e.deps)))}}return i}function is(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{factory:e,value:t,multi:n?[]:void 0}}function rs(e){return null!==e&&"object"==typeof e&&Ki in e}function os(e){return"function"==typeof e}var as=function(e,t,n){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,r=Ja(e,t,n,i);return r._resolveInjectorDefTypes(),r}({name:n},t,e,n)},ss=function(){function e(){m(this,e)}return b(e,null,[{key:"create",value:function(e,t){return Array.isArray(e)?as(e,t,""):as(e.providers,e.parent,e.name||"")}}]),e}();function us(e,t){Yn(Zr(e)[1],_n())}function cs(e){for(var t=function(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),n=!0,i=[e];t;){var r=void 0;if(Ut(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new Error("Directives cannot inherit Components");r=t.\u0275dir}if(r){if(n){i.push(r);var o=e;o.inputs=ls(e.inputs),o.declaredInputs=ls(e.declaredInputs),o.outputs=ls(e.outputs);var a=r.hostBindings;a&&fs(e,a);var s=r.viewQuery,u=r.contentQueries;if(s&&hs(e,s),u&&ds(e,u),Be(e.inputs,r.inputs),Be(e.declaredInputs,r.declaredInputs),Be(e.outputs,r.outputs),Ut(r)&&r.data.animation){var c=e.data;c.animation=(c.animation||[]).concat(r.data.animation)}}var l=r.features;if(l)for(var h=0;h=0;i--){var r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ri(r.hostAttrs,n=ri(n,r.hostAttrs))}}(i)}function ls(e){return e===mt?{}:e===yt?[]:e}function hs(e,t){var n=e.viewQuery;e.viewQuery=n?function(e,i){t(e,i),n(e,i)}:t}function ds(e,t){var n=e.contentQueries;e.contentQueries=n?function(e,i,r){t(e,i,r),n(e,i,r)}:t}function fs(e,t){var n=e.hostBindings;e.hostBindings=n?function(e,i){t(e,i),n(e,i)}:t}ss.THROW_IF_NOT_FOUND=Gi,ss.NULL=new Ya,ss.\u0275prov=$e({token:ss,providedIn:"any",factory:function(){return Zi(Xa)}}),ss.__NG_ELEMENT_ID__=-1;var ps=null;function vs(){if(!ps){var e=gt.Symbol;if(e&&e.iterator)ps=e.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),n=0;n1&&void 0!==arguments[1]?arguments[1]:at.Default,n=mn();return null===n?Zi(e,t):bi(_n(),n,Ge(e),t)}function Ts(e,t,n){var i=mn();return _s(i,Pn(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!1),Ts}function Ps(e,t,n,i,r){var o=r?"class":"style";Ha(e,n,t.inputs[o],o,i)}function As(e,t,n,i){var r=mn(),o=yn(),a=20+e,s=r[11],u=r[a]=po(s,t,vn.lFrame.currentNamespace),c=o.firstCreatePass?function(e,t,n,i,r,o,a){var s=t.consts,u=ra(t,e,2,r,dn(s,o));return ya(t,n,u,dn(s,a)),null!==u.attrs&&Wa(u,u.attrs,!1),null!==u.mergedAttrs&&Wa(u,u.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,u),u}(a,o,r,0,t,n,i):o.data[a];kn(c,!0);var l=c.mergedAttrs;null!==l&&ti(s,u,l);var h=c.classes;null!==h&&Do(s,u,h);var d=c.styles;null!==d&&Ro(s,u,d),64!=(64&c.flags)&&Eo(o,r,u,c),0===vn.lFrame.elementDepthCount&&Qr(u,r),vn.lFrame.elementDepthCount++,zt(c)&&(ha(o,r,c),la(o,c,r)),null!==i&&da(r,c)}function Ms(){var e=_n();xn()?Sn():kn(e=e.parent,!1);var t=e;vn.lFrame.elementDepthCount--;var n=yn();n.firstCreatePass&&(Yn(n,e),Bt(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(t)&&Ps(n,t,mn(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function(e){return 0!=(32&e.flags)}(t)&&Ps(n,t,mn(),t.stylesWithoutHost,!1)}function Is(e,t,n,i){As(e,t,n,i),Ms()}function Rs(e,t,n){var i=mn(),r=yn(),o=e+20,a=r.firstCreatePass?function(e,t,n,i,r){var o=t.consts,a=dn(o,i),s=ra(t,e,8,"ng-container",a);return null!==a&&Wa(s,a,!0),ya(t,n,s,dn(o,r)),null!==t.queries&&t.queries.elementStart(t,s),s}(o,r,i,t,n):r.data[o];kn(a,!0);var s=i[o]=i[11].createComment("");Eo(r,i,s,a),Qr(s,i),zt(a)&&(ha(r,i,a),la(r,a,i)),null!=n&&da(i,a)}function Ds(){var e=_n(),t=yn();xn()?Sn():kn(e=e.parent,!1),t.firstCreatePass&&(Yn(t,e),Bt(e)&&t.queries.elementEnd(e))}function Ns(e,t,n){Rs(e,t,n),Ds()}function Ls(){return mn()}function js(e){return!!e&&"function"==typeof e.then}function Fs(e){return!!e&&"function"==typeof e.subscribe}var Bs=Fs;function Vs(e,t,n,i){var r=mn(),o=yn(),a=_n();return Us(o,r,r[11],a,e,t,!!n,i),Vs}function zs(e,t){var n=_n(),i=mn(),r=yn();return Us(r,i,za(Rn(r.data),n,i),n,e,t,!1),zs}function Us(e,t,n,i,r,o,a,s){var u=zt(i),c=e.firstCreatePass&&Va(e),l=t[8],h=Ba(t),d=!0;if(3&i.type||s){var f=an(i,t),p=s?s(f):f,v=h.length,g=s?function(e){return s(rn(e[i.index]))}:i.index;if(tn(n)){var m=null;if(!s&&u&&(m=function(e,t,n,i){var r=e.cleanup;if(null!=r)for(var o=0;ou?s[u]:null}"string"==typeof a&&(o+=2)}return null}(e,t,r,i.index)),null!==m)(m.__ngLastListenerFn__||m).__ngNextListenerFn__=o,m.__ngLastListenerFn__=o,d=!1;else{o=Gs(i,t,l,o,!1);var y=n.listen(p,r,o);h.push(o,y),c&&c.push(r,g,v,v+1)}}else o=Gs(i,t,l,o,!0),p.addEventListener(r,o,a),h.push(o),c&&c.push(r,g,v,a)}else o=Gs(i,t,l,o,!1);var b,_=i.outputs;if(d&&null!==_&&(b=_[r])){var w=b.length;if(w)for(var k=0;k0&&void 0!==arguments[0]?arguments[0]:1;return function(e){return(vn.lFrame.contextLView=function(e,t){for(;e>0;)t=t[15],e--;return t}(e,vn.lFrame.contextLView))[8]}(e)}function qs(e,t){for(var n=null,i=function(e){var t=e.attrs;if(null!=t){var n=t.indexOf(5);if(0==(1&n))return t[n+1]}return null}(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,i=mn(),r=yn(),o=ra(r,20+e,16,null,n||null);null===o.projection&&(o.projection=t),Sn(),64!=(64&o.flags)&&function(e,t,n){Io(t[11],0,t,n,bo(e,n,t),So(n.parent||t[6],n,t))}(r,i,o)}function Ks(e,t,n){return $s(e,"",t,"",n),Ks}function $s(e,t,n,i,r){var o=mn(),a=xs(o,t,n,i);return a!==Xo&&ma(yn(),qn(),o,e,a,o[11],r,!1),$s}function Qs(e,t,n,i,r){for(var o=e[n+1],a=null===t,s=i?Qo(o):Jo(o),u=!1;0!==s&&(!1===u||a);){var c=e[s+1];Zs(e[s],t)&&(u=!0,e[s+1]=i?ta(c):Zo(c)),s=i?Qo(c):Jo(c)}u&&(e[n+1]=i?Zo(o):ta(o))}function Zs(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ui(e,t)>=0}var Js={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function eu(e){return e.substring(Js.key,Js.keyEnd)}function tu(e){return e.substring(Js.value,Js.valueEnd)}function nu(e,t){var n=Js.textEnd;return n===t?-1:(t=Js.keyEnd=function(e,t,n){for(;t32;)t++;return t}(e,Js.key=t,n),ou(e,t,n))}function iu(e,t){var n=Js.textEnd,i=Js.key=ou(e,t,n);return n===i?-1:(i=Js.keyEnd=function(e,t,n){for(var i;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(e,i,n),i=au(e,i,n),i=Js.value=ou(e,i,n),i=Js.valueEnd=function(e,t,n){for(var i=-1,r=-1,o=-1,a=t,s=a;a32&&(s=a),o=r,r=i,i=-33&u}return s}(e,i,n),au(e,i,n))}function ru(e){Js.key=0,Js.keyEnd=0,Js.value=0,Js.valueEnd=0,Js.textEnd=e.length}function ou(e,t,n){for(;t=0;n=iu(t,n))_u(e,eu(t),tu(t))}function du(e){vu(Vi,fu,e,!0)}function fu(e,t){for(var n=function(e){return ru(e),nu(e,ou(e,0,Js.textEnd))}(t);n>=0;n=nu(t,n))Vi(e,eu(t),!0)}function pu(e,t,n,i){var r=mn(),o=yn(),a=An(2);o.firstUpdatePass&&mu(o,e,a,i),t!==Xo&&_s(r,a,t)&&wu(o,o.data[Gn()],r,r[11],e,r[a+1]=function(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ve(br(e)))),e}(t,n),i,a)}function vu(e,t,n,i){var r=yn(),o=An(2);r.firstUpdatePass&&mu(r,null,o,i);var a=mn();if(n!==Xo&&_s(a,o,n)){var s=r.data[Gn()];if(Su(s,i)&&!gu(r,o)){var u=i?s.classesWithoutHost:s.stylesWithoutHost;null!==u&&(n=ze(u,n||"")),Ps(r,s,a,n,i)}else!function(e,t,n,i,r,o,a,s){r===Xo&&(r=yt);for(var u=0,c=0,l=0=e.expandoStartIndex}function mu(e,t,n,i){var r=e.data;if(null===r[n+1]){var o=r[Gn()],a=gu(e,n);Su(o,i)&&null===t&&!a&&(t=!1),t=function(e,t,n,i){var r=Rn(e),o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=bu(n=yu(null,e,t,n,i),t.attrs,i),o=null);else{var a=t.directiveStylingLast;if(-1===a||e[a]!==r)if(n=yu(r,e,t,n,i),null===o){var s=function(e,t,n){var i=n?t.classBindings:t.styleBindings;if(0!==Jo(i))return e[Qo(i)]}(e,t,i);void 0!==s&&Array.isArray(s)&&function(e,t,n,i){e[Qo(n?t.classBindings:t.styleBindings)]=i}(e,t,i,s=bu(s=yu(null,e,t,s[1],i),t.attrs,i))}else o=function(e,t,n){for(var i,r=t.directiveEnd,o=1+t.directiveStylingLast;o0)&&(l=!0)}else c=n;if(r)if(0!==u){var d=Qo(e[s+1]);e[i+1]=$o(d,s),0!==d&&(e[d+1]=ea(e[d+1],i)),e[s+1]=function(e,t){return 131071&e|t<<17}(e[s+1],i)}else e[i+1]=$o(s,0),0!==s&&(e[s+1]=ea(e[s+1],i)),s=i;else e[i+1]=$o(u,0),0===s?s=i:e[u+1]=ea(e[u+1],i),u=i;l&&(e[i+1]=Zo(e[i+1])),Qs(e,c,i,!0),Qs(e,c,i,!1),function(e,t,n,i,r){var o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Ui(o,t)>=0&&(n[i+1]=ta(n[i+1]))}(t,c,e,i,o),a=$o(s,u),o?t.classBindings=a:t.styleBindings=a}(r,o,t,n,a,i)}}function yu(e,t,n,i,r){var o=null,a=n.directiveEnd,s=n.directiveStylingLast;for(-1===s?s=n.directiveStart:s++;s0;){var u=e[r],c=Array.isArray(u),l=c?u[1]:u,h=null===l,d=n[r+1];d===Xo&&(d=h?yt:void 0);var f=h?zi(d,i):l===i?d:void 0;if(c&&!xu(f)&&(f=zi(u,i)),xu(f)&&(a=f,s))return a;var p=e[r+1];r=s?Qo(p):Jo(p)}if(null!==t){var v=o?t.residualClasses:t.residualStyles;null!=v&&(a=zi(v,i))}return a}function xu(e){return void 0!==e}function Su(e,t){return 0!=(e.flags&(t?16:32))}function Cu(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=mn(),i=yn(),r=e+20,o=i.firstCreatePass?ra(i,r,1,t,null):i.data[r],a=n[r]=function(e,t){return tn(e)?e.createText(t):e.createTextNode(t)}(n[11],t);Eo(i,n,a,o),kn(o,!1)}function Eu(e){return Ou("",e,""),Eu}function Ou(e,t,n){var i=mn(),r=xs(i,e,t,n);return r!==Xo&&Ga(i,Gn(),r),Ou}function Tu(e,t,n,i,r){var o=mn(),a=function(e,t,n,i,r,o){var a=ws(e,Tn(),n,r);return An(2),a?t+Xe(n)+i+Xe(r)+o:Xo}(o,e,t,n,i,r);return a!==Xo&&Ga(o,Gn(),a),Tu}function Pu(e,t,n){vu(Vi,fu,xs(mn(),e,t,n),!0)}function Au(e,t,n){var i=mn();return _s(i,Pn(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!0),Au}function Mu(e,t,n){var i=mn();if(_s(i,Pn(),t)){var r=yn(),o=qn();ma(r,o,i,e,t,za(Rn(r.data),o,i),n,!0)}return Mu}var Iu=void 0,Ru=["en",[["a","p"],["AM","PM"],Iu],[["AM","PM"],Iu,Iu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Iu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Iu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Iu,"{1} 'at' {0}",Iu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(e){var t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===n?1:5}],Du={};function Nu(e){var t=function(e){return e.toLowerCase().replace(/_/g,"-")}(e),n=Lu(t);if(n)return n;var i=t.split("-")[0];if(n=Lu(i))return n;if("en"===i)return Ru;throw new Error('Missing locale data for the locale "'.concat(e,'".'))}function Lu(e){return e in Du||(Du[e]=gt.ng&>.ng.common&>.ng.common.locales&>.ng.common.locales[e]),Du[e]}var ju=((ju=ju||{})[ju.LocaleId=0]="LocaleId",ju[ju.DayPeriodsFormat=1]="DayPeriodsFormat",ju[ju.DayPeriodsStandalone=2]="DayPeriodsStandalone",ju[ju.DaysFormat=3]="DaysFormat",ju[ju.DaysStandalone=4]="DaysStandalone",ju[ju.MonthsFormat=5]="MonthsFormat",ju[ju.MonthsStandalone=6]="MonthsStandalone",ju[ju.Eras=7]="Eras",ju[ju.FirstDayOfWeek=8]="FirstDayOfWeek",ju[ju.WeekendRange=9]="WeekendRange",ju[ju.DateFormat=10]="DateFormat",ju[ju.TimeFormat=11]="TimeFormat",ju[ju.DateTimeFormat=12]="DateTimeFormat",ju[ju.NumberSymbols=13]="NumberSymbols",ju[ju.NumberFormats=14]="NumberFormats",ju[ju.CurrencyCode=15]="CurrencyCode",ju[ju.CurrencySymbol=16]="CurrencySymbol",ju[ju.CurrencyName=17]="CurrencyName",ju[ju.Currencies=18]="Currencies",ju[ju.Directionality=19]="Directionality",ju[ju.PluralCase=20]="PluralCase",ju[ju.ExtraData=21]="ExtraData",ju),Fu="en-US";function Bu(e){(function(e,t){null==e&&function(e,t,n,i){throw new Error("ASSERTION ERROR: ".concat(e)+" [Expected=> ".concat(null," ").concat("!="," ").concat(t," <=Actual]"))}(t,e)})(e,"Expected localeId to be defined"),"string"==typeof e&&e.toLowerCase().replace(/_/g,"-")}function Vu(e,t,n,i,r){if(e=Ge(e),Array.isArray(e))for(var o=0;o>20;if(os(e)||!e.multi){var p=new ei(c,r,Os),v=Hu(u,t,r?h:h+f,d);-1===v?(gi(di(l,s),a,u),zu(a,e,t.length),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(p),s.push(p)):(n[v]=p,s[v]=p)}else{var g=Hu(u,t,h+f,d),m=Hu(u,t,h,h+f),y=g>=0&&n[g],b=m>=0&&n[m];if(r&&!b||!r&&!y){gi(di(l,s),a,u);var _=function(e,t,n,i,r){var o=new ei(e,n,Os);return o.multi=[],o.index=t,o.componentProviders=0,Uu(o,r,i&&!n),o}(r?Wu:Gu,n.length,r,i,c);!r&&b&&(n[m].providerFactory=_),zu(a,e,t.length,0),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(_),s.push(_)}else zu(a,e,g>-1?g:m,Uu(n[r?m:g],c,!r&&i));!r&&i&&b&&n[m].componentProviders++}}}function zu(e,t,n,i){var r=os(t);if(r||function(e){return!!e.useClass}(t)){var o=(t.useClass||t).prototype.ngOnDestroy;if(o){var a=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){var s=a.indexOf(n);-1===s?a.push(n,[i,o]):a[s+1].push(i,o)}else a.push(n,o)}}}function Uu(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Hu(e,t,n,i){for(var r=n;r1&&void 0!==arguments[1]?arguments[1]:[];return function(n){n.providersResolver=function(n,i){return function(e,t,n){var i=yn();if(i.firstCreatePass){var r=Ut(e);Vu(n,i.data,i.blueprint,r,!0),Vu(t,i.data,i.blueprint,r,!1)}}(n,i?i(e):e,t)}}}var Yu=function e(){m(this,e)},Ku=function e(){m(this,e)};function $u(){}function Qu(e,t){return new Ju(an(e,t))}Ku.NULL=new(function(){function e(){m(this,e)}return b(e,[{key:"resolveComponentFactory",value:function(e){throw function(e){var t=Error("No component factory found for ".concat(Ve(e),". Did you add it to @NgModule.entryComponents?"));return t.ngComponent=e,t}(e)}}]),e}());var Zu=function(){return Qu(_n(),mn())},Ju=function(){var e=function e(t){m(this,e),this.nativeElement=t};return e.__NG_ELEMENT_ID__=Zu,e}();function ec(e){return e instanceof Ju?e.nativeElement:e}var tc=function e(){m(this,e)},nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=function(){return ic()},e}(),ic=function(){var e=mn(),t=cn(_n().index,e);return function(e){return e[11]}(jt(t)?t:e)},rc=function(){var e=function e(){m(this,e)};return e.\u0275prov=$e({token:e,providedIn:"root",factory:function(){return null}}),e}(),oc=function e(t){m(this,e),this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")},ac=new oc("12.2.5"),sc=function(){function e(){m(this,e)}return b(e,[{key:"supports",value:function(e){return ms(e)}},{key:"create",value:function(e){return new cc(e)}}]),e}(),uc=function(e,t){return t},cc=function(){function e(t){m(this,e),this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||uc}return b(e,[{key:"forEachItem",value:function(e){var t;for(t=this._itHead;null!==t;t=t._next)e(t)}},{key:"forEachOperation",value:function(e){for(var t=this._itHead,n=this._removalsHead,i=0,r=null;t||n;){var o=!n||t&&t.currentIndex4&&void 0!==arguments[4]&&arguments[4];null!==n;){var o=t[n.index];if(null!==o&&i.push(rn(o)),Ft(o))for(var a=10;a-1&&(go(e,n),Fi(t,n))}this._attachedToViewContainer=!1}mo(this._lView[1],this._lView)}},{key:"onDestroy",value:function(e){va(this._lView[1],this._lView,null,e)}},{key:"markForCheck",value:function(){Da(this._cdRefInjectingView||this._lView)}},{key:"detach",value:function(){this._lView[2]&=-129}},{key:"reattach",value:function(){this._lView[2]|=128}},{key:"detectChanges",value:function(){Na(this._lView[1],this._lView,this.context)}},{key:"checkNoChanges",value:function(){!function(e,t,n){En(!0);try{Na(e,t,n)}finally{En(!1)}}(this._lView[1],this._lView,this.context)}},{key:"attachToViewContainerRef",value:function(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}},{key:"detachFromAppRef",value:function(){this._appRef=null,function(e,t){Mo(e,t,t[11],2,null,null)}(this._lView[1],this._lView)}},{key:"attachToAppRef",value:function(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}]),e}(),xc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e))._view=e,i}return b(n,[{key:"detectChanges",value:function(){La(this._view)}},{key:"checkNoChanges",value:function(){!function(e){En(!0);try{La(e)}finally{En(!1)}}(this._view)}},{key:"context",get:function(){return null}}]),n}(kc),Sc=function(e){return function(e,t,n){if(Vt(e)&&!n){var i=cn(e.index,t);return new kc(i,i)}return 47&e.type?new kc(t[16],t):null}(_n(),mn(),16==(16&e))},Cc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Sc,e}(),Ec=[new pc],Oc=new yc([new sc]),Tc=new _c(Ec),Pc=function(){return Ic(_n(),mn())},Ac=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Pc,e}(),Mc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._declarationLView=e,o._declarationTContainer=i,o.elementRef=r,o}return b(n,[{key:"createEmbeddedView",value:function(e){var t=this._declarationTContainer.tViews,n=ia(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];var i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(t)),aa(t,n,e),new kc(n)}}]),n}(Ac);function Ic(e,t){return 4&e.type?new Mc(t,e,Qu(e,t)):null}var Rc=function e(){m(this,e)},Dc=function(){return Bc(_n(),mn())},Nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Dc,e}(),Lc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._lContainer=e,o._hostTNode=i,o._hostLView=r,o}return b(n,[{key:"element",get:function(){return Qu(this._hostTNode,this._hostLView)}},{key:"injector",get:function(){return new Oi(this._hostTNode,this._hostLView)}},{key:"parentInjector",get:function(){var e=vi(this._hostTNode,this._hostLView);if(ai(e)){var t=ui(e,this._hostLView),n=si(e);return new Oi(t[1].data[n+8],t)}return new Oi(null,this._hostLView)}},{key:"clear",value:function(){for(;this.length>0;)this.remove(this.length-1)}},{key:"get",value:function(e){var t=jc(this._lContainer);return null!==t&&t[e]||null}},{key:"length",get:function(){return this._lContainer.length-10}},{key:"createEmbeddedView",value:function(e,t,n){var i=e.createEmbeddedView(t||{});return this.insert(i,n),i}},{key:"createComponent",value:function(e,t,n,i,r){var o=n||this.parentInjector;if(!r&&null==e.ngModule&&o){var a=o.get(Rc,null);a&&(r=a)}var s=e.create(o,i,void 0,r);return this.insert(s.hostView,t),s}},{key:"insert",value:function(e,t){var i=e._lView,r=i[1];if(function(e){return Ft(e[3])}(i)){var o=this.indexOf(e);if(-1!==o)this.detach(o);else{var a=i[3],s=new n(a,a[6],a[3]);s.detach(s.indexOf(e))}}var u=this._adjustIndex(t),c=this._lContainer;!function(e,t,n,i){var r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i1&&void 0!==arguments[1]?arguments[1]:0;return null==e?this.length+t:e}}]),n}(Nc);function jc(e){return e[8]}function Fc(e){return e[8]||(e[8]=[])}function Bc(e,t){var n,i=t[e.index];if(Ft(i))n=i;else{var r;if(8&e.type)r=rn(i);else{var o=t[11];r=o.createComment("");var a=an(e,t);_o(o,xo(o,a),r,function(e,t){return tn(e)?e.nextSibling(t):t.nextSibling}(o,a),!1)}t[e.index]=n=Pa(i,t,r,e),Ra(t,n)}return new Lc(n,e,t)}var Vc={},zc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).ngModule=e,i}return b(n,[{key:"resolveComponentFactory",value:function(e){var t=Nt(e);return new Gc(t,this.ngModule)}}]),n}(Ku);function Uc(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}var Hc=new Ri("SCHEDULER_TOKEN",{providedIn:"root",factory:function(){return no}}),Gc=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).componentDef=e,r.ngModule=i,r.componentType=e.type,r.selector=function(e){return e.map(qo).join(",")}(e.selectors),r.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],r.isBoundToModule=!!i,r}return b(n,[{key:"inputs",get:function(){return Uc(this.componentDef.inputs)}},{key:"outputs",get:function(){return Uc(this.componentDef.outputs)}},{key:"create",value:function(e,t,n,i){var r,o,a=(i=i||this.ngModule)?function(e,t){return{get:function(n,i,r){var o=e.get(n,Vc,r);return o!==Vc||i===Vc?o:t.get(n,i,r)}}}(e,i.injector):e,s=a.get(tc,nn),u=a.get(rc,null),c=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",h=n?function(e,t,n){if(tn(e))return e.selectRootElement(t,n===ht.ShadowDom);var i="string"==typeof t?e.querySelector(t):t;return i.textContent="",i}(c,n,this.componentDef.encapsulation):po(s.createRenderer(null,this.componentDef),l,function(e){var t=e.toLowerCase();return"svg"===t?Jt:"math"===t?"http://www.w3.org/1998/MathML/":null}(l)),d=this.componentDef.onPush?576:528,f={components:[],scheduler:no,clean:Fa,playerHandler:null,flags:0},p=pa(0,null,null,1,0,null,null,null,null,null),v=ia(null,p,f,d,null,null,s,c,u,a);Fn(v);try{var g=function(e,t,n,i,r,o){var a=n[1];n[20]=e;var s=ra(a,20,2,"#host",null),u=s.mergedAttrs=t.hostAttrs;null!==u&&(Wa(s,u,!0),null!==e&&(ti(r,e,u),null!==s.classes&&Do(r,e,s.classes),null!==s.styles&&Ro(r,e,s.styles)));var c=i.createRenderer(e,t),l=ia(n,fa(t),null,t.onPush?64:16,n[20],s,i,c,null,null);return a.firstCreatePass&&(gi(di(s,n),a,t.type),wa(a,s),xa(s,n.length,1)),Ra(n,l),n[20]=l}(h,this.componentDef,v,s,c);if(h)if(n)ti(c,h,["ng-version",ac.full]);else{var m=function(e){for(var t=[],n=[],i=1,r=2;i0&&Do(c,h,b.join(" "))}if(o=sn(p,20),void 0!==t)for(var _=o.projection=[],w=0;w1&&void 0!==arguments[1]?arguments[1]:ss.THROW_IF_NOT_FOUND,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;return e===ss||e===Rc||e===Xa?this:this._r3Injector.get(e,t,n)}},{key:"destroy",value:function(){var e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(function(e){return e()}),this.destroyCbs=null}},{key:"onDestroy",value:function(e){this.destroyCbs.push(e)}}]),n}(Rc),Yc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).moduleType=e,null!==Lt(e)&&function(e){var t=new Set;!function e(n){var i=Lt(n,!0),r=i.id;null!==r&&(function(e,t,n){if(t&&t!==n)throw new Error("Duplicate module registered for ".concat(e," - ").concat(Ve(t)," vs ").concat(Ve(t.name)))}(r,qc.get(r),n),qc.set(r,n));var o,a=_(oo(i.imports));try{for(a.s();!(o=a.n()).done;){var s=o.value;t.has(s)||(t.add(s),e(s))}}catch(u){a.e(u)}finally{a.f()}}(e)}(e),i}return b(n,[{key:"create",value:function(e){return new Xc(this.moduleType,e)}}]),n}(function(){return function e(){m(this,e)}}());function Kc(e,t,n){var i=On()+e,r=mn();return r[i]===Xo?bs(r,i,n?t.call(n):t()):function(e,t){return e[t]}(r,i)}function $c(e,t,n,i){return Zc(mn(),On(),e,t,n,i)}function Qc(e,t){var n=e[t];return n===Xo?void 0:n}function Zc(e,t,n,i,r,o){var a=t+n;return _s(e,a,r)?bs(e,a+1,o?i.call(o,r):i(r)):Qc(e,a+1)}function Jc(e,t){var n,i=yn(),r=e+20;i.firstCreatePass?(n=function(e,t){if(t)for(var n=t.length-1;n>=0;n--){var i=t[n];if(e===i.name)return i}throw new qe("302","The pipe '".concat(e,"' could not be found!"))}(t,i.pipeRegistry),i.data[r]=n,n.onDestroy&&(i.destroyHooks||(i.destroyHooks=[])).push(r,n.onDestroy)):n=i.data[r];var o=n.factory||(n.factory=Gt(n.type)),a=st(Os);try{var s=li(!1),u=o();return li(s),function(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(i,mn(),r,u),u}finally{st(a)}}function el(e,t,n){var i=e+20,r=mn(),o=un(r,i);return il(r,nl(r,i)?Zc(r,On(),t,o.transform,n,o):o.transform(n))}function tl(e,t,n,i){var r=e+20,o=mn(),a=un(o,r);return il(o,nl(o,r)?function(e,t,n,i,r,o,a){var s=t+n;return ws(e,s,r,o)?bs(e,s+2,a?i.call(a,r,o):i(r,o)):Qc(e,s+2)}(o,On(),t,a.transform,n,i,a):a.transform(n,i))}function nl(e,t){return e[1].data[t].pure}function il(e,t){return gs.isWrapped(t)&&(t=gs.unwrap(t),e[Tn()]=Xo),t}function rl(e){return function(t){setTimeout(e,void 0,t)}}var ol=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return m(this,i),(e=n.call(this)).__isAsync=t,e}return b(i,[{key:"emit",value:function(t){e(p(i.prototype),"next",this).call(this,t)}},{key:"subscribe",value:function(t,n,r){var o,a,s,u=t,c=n||function(){return null},l=r;if(t&&"object"==typeof t){var h=t;u=null===(o=h.next)||void 0===o?void 0:o.bind(h),c=null===(a=h.error)||void 0===a?void 0:a.bind(h),l=null===(s=h.complete)||void 0===s?void 0:s.bind(h)}this.__isAsync&&(c=rl(c),u&&(u=rl(u)),l&&(l=rl(l)));var d=e(p(i.prototype),"subscribe",this).call(this,{next:u,error:c,complete:l});return t instanceof q&&t.add(d),d}}]),i}(ae);function al(){return this._results[vs()]()}var sl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];m(this,e),this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;var n=vs(),i=e.prototype;i[n]||(i[n]=al)}return b(e,[{key:"changes",get:function(){return this._changes||(this._changes=new ol)}},{key:"get",value:function(e){return this._results[e]}},{key:"map",value:function(e){return this._results.map(e)}},{key:"filter",value:function(e){return this._results.filter(e)}},{key:"find",value:function(e){return this._results.find(e)}},{key:"reduce",value:function(e,t){return this._results.reduce(e,t)}},{key:"forEach",value:function(e){this._results.forEach(e)}},{key:"some",value:function(e){return this._results.some(e)}},{key:"toArray",value:function(){return this._results.slice()}},{key:"toString",value:function(){return this._results.toString()}},{key:"reset",value:function(e,t){var n=this;n.dirty=!1;var i=Ni(e);(this._changesDetected=!function(e,t,n){if(e.length!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"createEmbeddedView",value:function(t){var n=t.queries;if(null!==n){for(var i=null!==t.contentQueries?t.contentQueries[0]:n.length,r=[],o=0;o2&&void 0!==arguments[2]?arguments[2]:null;m(this,e),this.predicate=t,this.flags=n,this.read=i},hl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"elementStart",value:function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:-1;m(this,e),this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=n}return b(e,[{key:"elementStart",value:function(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}},{key:"elementEnd",value:function(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}},{key:"template",value:function(e,t){this.elementStart(e,t)}},{key:"embeddedTView",value:function(t,n){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,n),new e(this.metadata)):null}},{key:"isApplyingToNode",value:function(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){for(var t=this._declarationNodeIndex,n=e.parent;null!==n&&8&n.type&&n.index!==t;)n=n.parent;return t===(null!==n?n.index:-1)}return this._appliesToNextNode}},{key:"matchTNode",value:function(e,t){var n=this.metadata.predicate;if(Array.isArray(n))for(var i=0;i0)i.push(a[s/2]);else{for(var c=o[s+1],l=t[-u],h=10;h0&&(r=setTimeout(function(){i._callbacks=i._callbacks.filter(function(e){return e.timeoutId!==r}),e(i._didWork,i.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:n})}},{key:"whenStable",value:function(e,t,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,t,n),this._runCallbacksIfReady()}},{key:"getPendingRequestCount",value:function(){return this._pendingCount}},{key:"findProviders",value:function(e,t,n){return[]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),nh=function(){var e=function(){function e(){m(this,e),this._applications=new Map,ih.addToWindow(this)}return b(e,[{key:"registerApplication",value:function(e,t){this._applications.set(e,t)}},{key:"unregisterApplication",value:function(e){this._applications.delete(e)}},{key:"unregisterAllApplications",value:function(){this._applications.clear()}},{key:"getTestability",value:function(e){return this._applications.get(e)||null}},{key:"getAllTestabilities",value:function(){return Array.from(this._applications.values())}},{key:"getAllRootElements",value:function(){return Array.from(this._applications.keys())}},{key:"findTestabilityInTree",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ih.findTestabilityInTree(this,e,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),ih=new(function(){function e(){m(this,e)}return b(e,[{key:"addToWindow",value:function(e){}},{key:"findTestabilityInTree",value:function(e,t,n){return null}}]),e}()),rh=!0,oh=!1;function ah(){return oh=!0,rh}var sh=new Ri("AllowMultipleToken");function uh(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i="Platform: ".concat(t),r=new Ri(i);return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=ch();if(!o||o.injector.get(sh,!1))if(e)e(n.concat(t).concat({provide:r,useValue:!0}));else{var a=n.concat(t).concat({provide:r,useValue:!0},{provide:Ka,useValue:"platform"});!function(e){if(Jl&&!Jl.destroyed&&!Jl.injector.get(sh,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Jl=e.get(lh);var t=e.get(Al,null);t&&t.forEach(function(e){return e()})}(ss.create({providers:a,name:i}))}return function(e){var t=ch();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}(r)}}function ch(){return Jl&&!Jl.destroyed?Jl:null}var lh=function(){var e=function(){function e(t){m(this,e),this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return b(e,[{key:"bootstrapModuleFactory",value:function(e,t){var n=this,i=function(e,t){return"noop"===e?new eh:("zone.js"===e?void 0:e)||new Xl({enableLongStackTrace:ah(),shouldCoalesceEventChangeDetection:!!(null==t?void 0:t.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==t?void 0:t.ngZoneRunCoalescing)})}(t?t.ngZone:void 0,{ngZoneEventCoalescing:t&&t.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:t&&t.ngZoneRunCoalescing||!1}),r=[{provide:Xl,useValue:i}];return i.run(function(){var o=ss.create({providers:r,parent:n.injector,name:e.moduleType.name}),a=e.create(o),s=a.injector.get(to,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(function(){var e=i.onError.subscribe({next:function(e){s.handleError(e)}});a.onDestroy(function(){fh(n._modules,a),e.unsubscribe()})}),function(e,i,r){try{var o=function(){var e=a.injector.get(El);return e.runInitializers(),e.donePromise.then(function(){return Bu(a.injector.get(Dl,Fu)||Fu),n._moduleDoBootstrap(a),a})}();return js(o)?o.catch(function(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}):o}catch(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}}(s,i)})}},{key:"bootstrapModule",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=hh({},n);return function(e,t,n){var i=new Yc(n);return Promise.resolve(i)}(0,0,e).then(function(e){return t.bootstrapModuleFactory(e,i)})}},{key:"_moduleDoBootstrap",value:function(e){var t=e.injector.get(dh);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(e){return t.bootstrap(e)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module ".concat(Ve(e.instance.constructor),' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.'));e.instance.ngDoBootstrap(t)}this._modules.push(e)}},{key:"onDestroy",value:function(e){this._destroyListeners.push(e)}},{key:"injector",get:function(){return this._injector}},{key:"destroy",value:function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(e){return e.destroy()}),this._destroyListeners.forEach(function(e){return e()}),this._destroyed=!0}},{key:"destroyed",get:function(){return this._destroyed}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function hh(e,t){return Array.isArray(t)?t.reduce(hh,e):Object.assign(Object.assign({},e),t)}var dh=function(){var e=function(){function e(t,n,i,r,o){var a=this;m(this,e),this._zone=t,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=r,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:function(){a._zone.run(function(){a.tick()})}});var s=new te(function(e){a._stable=a._zone.isStable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks,a._zone.runOutsideAngular(function(){e.next(a._stable),e.complete()})}),u=new te(function(e){var t;a._zone.runOutsideAngular(function(){t=a._zone.onStable.subscribe(function(){Xl.assertNotInAngularZone(),ql(function(){!a._stable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks&&(a._stable=!0,e.next(!0))})})});var n=a._zone.onUnstable.subscribe(function(){Xl.assertInAngularZone(),a._stable&&(a._stable=!1,a._zone.runOutsideAngular(function(){e.next(!1)}))});return function(){t.unsubscribe(),n.unsubscribe()}});this.isStable=Oe(s,u.pipe(je()))}return b(e,[{key:"bootstrap",value:function(e,t){var n,i=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=e instanceof Yu?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);var r=function(e){return e.isBoundToModule}(n)?void 0:this._injector.get(Rc),o=n.create(ss.NULL,[],t||n.selector,r),a=o.location.nativeElement,s=o.injector.get(th,null),u=s&&o.injector.get(nh);return s&&u&&u.registerApplication(a,s),o.onDestroy(function(){i.detachView(o.hostView),fh(i.components,o),u&&u.unregisterApplication(a)}),this._loadComponent(o),o}},{key:"tick",value:function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;var t,n=_(this._views);try{for(n.s();!(t=n.n()).done;){var i;t.value.detectChanges()}}catch(r){n.e(r)}finally{n.f()}}catch(i){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(i)})}finally{this._runningTick=!1}}},{key:"attachView",value:function(e){var t=e;this._views.push(t),t.attachToAppRef(this)}},{key:"detachView",value:function(e){var t=e;fh(this._views,t),t.detachFromAppRef()}},{key:"_loadComponent",value:function(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Il,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})}},{key:"ngOnDestroy",value:function(){this._views.slice().forEach(function(e){return e.destroy()}),this._onMicrotaskEmptySubscription.unsubscribe()}},{key:"viewCount",get:function(){return this._views.length}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(ss),Zi(to),Zi(Ku),Zi(El))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function fh(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var ph=uh(null,"core",[{provide:Ml,useValue:"unknown"},{provide:lh,deps:[ss]},{provide:nh,deps:[]},{provide:Rl,deps:[]}]),vh=[{provide:dh,useClass:dh,deps:[Xl,ss,to,Ku,El]},{provide:Hc,deps:[Xl],useFactory:function(e){var t=[];return e.onStable.subscribe(function(){for(;t.length;)t.pop()()}),function(e){t.push(e)}}},{provide:El,useClass:El,deps:[[new sr,Cl]]},{provide:Hl,useClass:Hl,deps:[]},Tl,{provide:yc,useFactory:function(){return Oc},deps:[]},{provide:_c,useFactory:function(){return Tc},deps:[]},{provide:Dl,useFactory:function(e){return Bu(e=e||"undefined"!=typeof $localize&&$localize.locale||Fu),e},deps:[[new ar(Dl),new sr,new ur]]},{provide:Nl,useValue:"USD"}],gh=function(){var e=function e(t){m(this,e)};return e.\u0275fac=function(t){return new(t||e)(Zi(dh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:vh}),e}(),mh=null;function yh(){return mh}var bh=new Ri("DocumentToken"),_h=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:wh,token:e,providedIn:"platform"}),e}();function wh(){return Zi(kh)}var kh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i._init(),i}return b(n,[{key:"_init",value:function(){this.location=window.location,this._history=window.history}},{key:"getBaseHrefFromDOM",value:function(){return yh().getBaseHref(this._doc)}},{key:"onPopState",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("popstate",e,!1),function(){return t.removeEventListener("popstate",e)}}},{key:"onHashChange",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("hashchange",e,!1),function(){return t.removeEventListener("hashchange",e)}}},{key:"href",get:function(){return this.location.href}},{key:"protocol",get:function(){return this.location.protocol}},{key:"hostname",get:function(){return this.location.hostname}},{key:"port",get:function(){return this.location.port}},{key:"pathname",get:function(){return this.location.pathname},set:function(e){this.location.pathname=e}},{key:"search",get:function(){return this.location.search}},{key:"hash",get:function(){return this.location.hash}},{key:"pushState",value:function(e,t,n){xh()?this._history.pushState(e,t,n):this.location.hash=n}},{key:"replaceState",value:function(e,t,n){xh()?this._history.replaceState(e,t,n):this.location.hash=n}},{key:"forward",value:function(){this._history.forward()}},{key:"back",value:function(){this._history.back()}},{key:"historyGo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._history.go(e)}},{key:"getState",value:function(){return this._history.state}}]),n}(_h);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:Sh,token:e,providedIn:"platform"}),e}();function xh(){return!!window.history.pushState}function Sh(){return new kh(Zi(bh))}function Ch(e,t){if(0==e.length)return t;if(0==t.length)return e;var n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Eh(e){var t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Oh(e){return e&&"?"!==e[0]?"?"+e:e}var Th=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:Ph,token:e,providedIn:"root"}),e}();function Ph(e){var t=Zi(bh).location;return new Mh(Zi(_h),t&&t.origin||"")}var Ah=new Ri("appBaseHref"),Mh=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;if(m(this,n),(r=t.call(this))._platformLocation=e,r._removeListenerFns=[],null==i&&(i=r._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=i,u(r)}return b(n,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"prepareExternalUrl",value:function(e){return Ch(this._baseHref,e)}},{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._platformLocation.pathname+Oh(this._platformLocation.search),n=this._platformLocation.hash;return n&&e?"".concat(t).concat(n):t}},{key:"pushState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.pushState(e,t,r)}},{key:"replaceState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.replaceState(e,t,r)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformLocation).historyGo)||void 0===t||t.call(e,n)}}]),n}(Th);return e.\u0275fac=function(t){return new(t||e)(Zi(_h),Zi(Ah,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ih=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._subject=new ol,this._urlChangeListeners=[],this._platformStrategy=t;var r=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=Eh(Dh(r)),this._platformStrategy.onPopState(function(e){i._subject.emit({url:i.path(!0),pop:!0,state:e.state,type:e.type})})}return b(e,[{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.normalize(this._platformStrategy.path(e))}},{key:"getState",value:function(){return this._platformLocation.getState()}},{key:"isCurrentPathEqualTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.path()==this.normalize(e+Oh(t))}},{key:"normalize",value:function(t){return e.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Dh(t)))}},{key:"prepareExternalUrl",value:function(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}},{key:"go",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"replaceState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"forward",value:function(){this._platformStrategy.forward()}},{key:"back",value:function(){this._platformStrategy.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformStrategy).historyGo)||void 0===t||t.call(e,n)}},{key:"onUrlChange",value:function(e){var t=this;this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(function(e){t._notifyUrlChangeListeners(e.url,e.state)}))}},{key:"_notifyUrlChangeListeners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;this._urlChangeListeners.forEach(function(n){return n(e,t)})}},{key:"subscribe",value:function(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Th),Zi(_h))},e.normalizeQueryParams=Oh,e.joinWithSlash=Ch,e.stripTrailingSlash=Eh,e.\u0275prov=$e({factory:Rh,token:e,providedIn:"root"}),e}();function Rh(){return new Ih(Zi(Th),Zi(_h))}function Dh(e){return e.replace(/\/index.html$/,"")}var Nh=((Nh=Nh||{})[Nh.Decimal=0]="Decimal",Nh[Nh.Percent=1]="Percent",Nh[Nh.Currency=2]="Currency",Nh[Nh.Scientific=3]="Scientific",Nh),Lh=((Lh=Lh||{})[Lh.Zero=0]="Zero",Lh[Lh.One=1]="One",Lh[Lh.Two=2]="Two",Lh[Lh.Few=3]="Few",Lh[Lh.Many=4]="Many",Lh[Lh.Other=5]="Other",Lh),jh=((jh=jh||{})[jh.Decimal=0]="Decimal",jh[jh.Group=1]="Group",jh[jh.List=2]="List",jh[jh.PercentSign=3]="PercentSign",jh[jh.PlusSign=4]="PlusSign",jh[jh.MinusSign=5]="MinusSign",jh[jh.Exponential=6]="Exponential",jh[jh.SuperscriptingExponent=7]="SuperscriptingExponent",jh[jh.PerMille=8]="PerMille",jh[jh.Infinity=9]="Infinity",jh[jh.NaN=10]="NaN",jh[jh.TimeSeparator=11]="TimeSeparator",jh[jh.CurrencyDecimal=12]="CurrencyDecimal",jh[jh.CurrencyGroup=13]="CurrencyGroup",jh);function Fh(e,t){var n=Nu(e),i=n[ju.NumberSymbols][t];if(void 0===i){if(t===jh.CurrencyDecimal)return n[ju.NumberSymbols][jh.Decimal];if(t===jh.CurrencyGroup)return n[ju.NumberSymbols][jh.Group]}return i}var Bh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Vh(e){var t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var zh=function e(){m(this,e)},Uh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).locale=e,i}return b(n,[{key:"getPluralCategory",value:function(e,t){switch(function(e){return Nu(e)[ju.PluralCase]}(t||this.locale)(e)){case Lh.Zero:return"zero";case Lh.One:return"one";case Lh.Two:return"two";case Lh.Few:return"few";case Lh.Many:return"many";default:return"other"}}}]),n}(zh);return e.\u0275fac=function(t){return new(t||e)(Zi(Dl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function Hh(e,n){n=encodeURIComponent(n);var i,r=_(e.split(";"));try{for(r.s();!(i=r.n()).done;){var o=i.value,a=o.indexOf("="),s=t(-1==a?[o,""]:[o.slice(0,a),o.slice(a+1)],2),u=s[0],c=s[1];if(u.trim()===n)return decodeURIComponent(c)}}catch(l){r.e(l)}finally{r.f()}return null}var Gh=function(){var e=function(){function e(t,n,i,r){m(this,e),this._iterableDiffers=t,this._keyValueDiffers=n,this._ngEl=i,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return b(e,[{key:"klass",set:function(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}},{key:"ngClass",set:function(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(ms(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}},{key:"ngDoCheck",value:function(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}},{key:"_applyKeyValueChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){e.previousValue&&t._toggleClass(e.key,!1)})}},{key:"_applyIterableChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){if("string"!=typeof e.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got ".concat(Ve(e.item)));t._toggleClass(e.item,!0)}),e.forEachRemovedItem(function(e){return t._toggleClass(e.item,!1)})}},{key:"_applyClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!0)}):Object.keys(e).forEach(function(n){return t._toggleClass(n,!!e[n])}))}},{key:"_removeClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!1)}):Object.keys(e).forEach(function(e){return t._toggleClass(e,!1)}))}},{key:"_toggleClass",value:function(e,t){var n=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(e){t?n._renderer.addClass(n._ngEl.nativeElement,e):n._renderer.removeClass(n._ngEl.nativeElement,e)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(_c),Os(Ju),Os(nc))},e.\u0275dir=Rt({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e}(),Wh=function(){function e(t,n,i,r){m(this,e),this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}return b(e,[{key:"first",get:function(){return 0===this.index}},{key:"last",get:function(){return this.index===this.count-1}},{key:"even",get:function(){return this.index%2==0}},{key:"odd",get:function(){return!this.even}}]),e}(),qh=function(){var e=function(){function e(t,n,i){m(this,e),this._viewContainer=t,this._template=n,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return b(e,[{key:"ngForOf",set:function(e){this._ngForOf=e,this._ngForOfDirty=!0}},{key:"ngForTrackBy",get:function(){return this._trackByFn},set:function(e){this._trackByFn=e}},{key:"ngForTemplate",set:function(e){e&&(this._template=e)}},{key:"ngDoCheck",value:function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(n){throw new Error("Cannot find a differ supporting object '".concat(e,"' of type '").concat(function(e){return e.name||typeof e}(e),"'. NgFor only supports binding to Iterables such as Arrays."))}}if(this._differ){var t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}},{key:"_applyChanges",value:function(e){var t=this,n=[];e.forEachOperation(function(e,i,r){if(null==e.previousIndex){var o=t._viewContainer.createEmbeddedView(t._template,new Wh(null,t._ngForOf,-1,-1),null===r?void 0:r),a=new Xh(e,o);n.push(a)}else if(null==r)t._viewContainer.remove(null===i?void 0:i);else if(null!==i){var s=t._viewContainer.get(i);t._viewContainer.move(s,r);var u=new Xh(e,s);n.push(u)}});for(var i=0;i6&&void 0!==arguments[6]&&arguments[6],s="",u=!1;if(isFinite(e)){var c=function(e){var t,n,i,r,o,a=Math.abs(e)+"",s=0;for((n=a.indexOf("."))>-1&&(a=a.replace(".","")),(i=a.search(/e/i))>0?(n<0&&(n=i),n+=+a.slice(i+1),a=a.substring(0,i)):n<0&&(n=a.length),i=0;"0"===a.charAt(i);i++);if(i===(o=a.length))t=[0],n=1;else{for(o--;"0"===a.charAt(o);)o--;for(n-=i,t=[],r=0;i<=o;i++,r++)t[r]=Number(a.charAt(i))}return n>22&&(t=t.splice(0,21),s=n-1,n=1),{digits:t,exponent:s,integerLen:n}}(e);a&&(c=function(e){if(0===e.digits[0])return e;var t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(c));var l=t.minInt,h=t.minFrac,d=t.maxFrac;if(o){var f=o.match(Bh);if(null===f)throw new Error("".concat(o," is not a valid digit info"));var p=f[1],v=f[3],g=f[5];null!=p&&(l=Vh(p)),null!=v&&(h=Vh(v)),null!=g?d=Vh(g):null!=v&&h>d&&(d=h)}!function(e,t,n){if(t>n)throw new Error("The minimum number of digits after fraction (".concat(t,") is higher than the maximum (").concat(n,")."));var i=e.digits,r=i.length-e.integerLen,o=Math.min(Math.max(t,r),n),a=o+e.integerLen,s=i[a];if(a>0){i.splice(Math.max(e.integerLen,a));for(var u=a;u=5)if(a-1<0){for(var l=0;l>a;l--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[a-1]++;for(;r=d?i.pop():h=!1),t>=10?1:0},0);f&&(i.unshift(f),e.integerLen++)}(c,h,d);var m=c.digits,y=c.integerLen,b=c.exponent,_=[];for(u=m.every(function(e){return!e});y0?_=m.splice(y,m.length):(_=m,m=[0]);var w=[];for(m.length>=t.lgSize&&w.unshift(m.splice(-t.lgSize,m.length).join(""));m.length>t.gSize;)w.unshift(m.splice(-t.gSize,m.length).join(""));m.length&&w.unshift(m.join("")),s=w.join(Fh(n,i)),_.length&&(s+=Fh(n,r)+_.join("")),b&&(s+=Fh(n,jh.Exponential)+"+"+b)}else s=Fh(n,jh.Infinity);return s=e<0&&!u?t.negPre+s+t.negSuf:t.posPre+s+t.posSuf}(e,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],a=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],s=a[0],u=a[1]||"";n.posPre=s.substr(0,s.indexOf("#"));for(var c=0;c1&&void 0!==arguments[1])||arguments[1],i=e.findTestabilityInTree(t,n);if(null==i)throw new Error("Could not find testability for element.");return i},gt.getAllAngularTestabilities=function(){return e.getAllTestabilities()},gt.getAllAngularRootElements=function(){return e.getAllRootElements()},gt.frameworkStabilizers||(gt.frameworkStabilizers=[]),gt.frameworkStabilizers.push(function(e){var t=gt.getAllAngularTestabilities(),n=t.length,i=!1,r=function(t){i=i||t,0==--n&&e(i)};t.forEach(function(e){e.whenStable(r)})})}},{key:"findTestabilityInTree",value:function(e,t,n){if(null==t)return null;var i=e.getTestability(t);return null!=i?i:n?yh().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}],[{key:"init",value:function(){!function(e){ih=e}(new e)}}]),e}(),bd=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"build",value:function(){return new XMLHttpRequest}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),_d=new Ri("EventManagerPlugins"),wd=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._zone=n,this._eventNameToPlugin=new Map,t.forEach(function(e){return e.manager=i}),this._plugins=t.slice().reverse()}return b(e,[{key:"addEventListener",value:function(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)}},{key:"addGlobalEventListener",value:function(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)}},{key:"getZone",value:function(){return this._zone}},{key:"_findPluginFor",value:function(e){var t=this._eventNameToPlugin.get(e);if(t)return t;for(var n=this._plugins,i=0;i-1&&(t.splice(n,1),o+=e+".")}),o+=r,0!=t.length||0===r.length)return null;var a={};return a.domEventName=i,a.fullKey=o,a}},{key:"getEventFullKey",value:function(e){var t="",n=function(e){var t=e.key;if(null==t){if(null==(t=e.keyIdentifier))return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),3===e.location&&jd.hasOwnProperty(t)&&(t=jd[t]))}return Ld[t]||t}(e);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Nd.forEach(function(i){i!=n&&Fd[i](e)&&(t+=i+".")}),t+=n}},{key:"eventCallback",value:function(e,t,i){return function(r){n.getEventFullKey(r)===e&&i.runGuarded(function(){return t(r)})}}},{key:"_normalizeKey",value:function(e){switch(e){case"esc":return"escape";default:return e}}}]),n}(kd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vd=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return Zi(zd)},token:e,providedIn:"root"}),e}(),zd=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i}return b(n,[{key:"sanitize",value:function(e,t){if(null==t)return null;switch(e){case Wr.NONE:return t;case Wr.HTML:return _r(t,"HTML")?br(t):Hr(this._doc,String(t)).toString();case Wr.STYLE:return _r(t,"Style")?br(t):t;case Wr.SCRIPT:if(_r(t,"Script"))return br(t);throw new Error("unsafe value used in a script context");case Wr.URL:return wr(t),_r(t,"URL")?br(t):Er(String(t));case Wr.RESOURCE_URL:if(_r(t,"ResourceURL"))return br(t);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext ".concat(e," (see https://g.co/ng/security#xss)"))}}},{key:"bypassSecurityTrustHtml",value:function(e){return function(e){return new pr(e)}(e)}},{key:"bypassSecurityTrustStyle",value:function(e){return function(e){return new vr(e)}(e)}},{key:"bypassSecurityTrustScript",value:function(e){return function(e){return new gr(e)}(e)}},{key:"bypassSecurityTrustUrl",value:function(e){return function(e){return new mr(e)}(e)}},{key:"bypassSecurityTrustResourceUrl",value:function(e){return function(e){return new yr(e)}(e)}}]),n}(Vd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return function(e){return new zd(e.get(bh))}(Zi(Xa))},token:e,providedIn:"root"}),e}(),Ud=uh(ph,"browser",[{provide:Ml,useValue:ld},{provide:Al,useValue:function(){pd.makeCurrent(),yd.init()},multi:!0},{provide:bh,useFactory:function(){return function(e){Zt=e}(document),document},deps:[]}]),Hd=[[],{provide:Ka,useValue:"root"},{provide:to,useFactory:function(){return new to},deps:[]},{provide:_d,useClass:Dd,multi:!0,deps:[bh,Xl,Ml]},{provide:_d,useClass:Bd,multi:!0,deps:[bh]},[],{provide:Ad,useClass:Ad,deps:[wd,Sd,Ol]},{provide:tc,useExisting:Ad},{provide:xd,useExisting:Sd},{provide:Sd,useClass:Sd,deps:[bh]},{provide:th,useClass:th,deps:[Xl]},{provide:wd,useClass:wd,deps:[_d,Xl]},{provide:fd,useClass:bd,deps:[]},[]],Gd=function(){var e=function(){function e(t){if(m(this,e),t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return b(e,null,[{key:"withServerTransition",value:function(t){return{ngModule:e,providers:[{provide:Ol,useValue:t.appId},{provide:gd,useExisting:Ol},md]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:Hd,imports:[cd,gh]}),e}();function Wd(e){return null!=e&&"false"!="".concat(e)}function qd(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}(e)?Number(e):t}function Xd(e){return Array.isArray(e)?e:[e]}function Yd(e){return null==e?"":"string"==typeof e?e:"".concat(e,"px")}function Kd(e){return e instanceof Ju?e.nativeElement:e}function $d(){for(var e=arguments.length,t=new Array(e),n=0;n1?Array.prototype.slice.call(arguments):e)},i,n)})}function Zd(e,t,n,i,r){var o;if(function(e){return e&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener}(e)){var a=e;e.addEventListener(t,n,r),o=function(){return a.removeEventListener(t,n,r)}}else if(function(e){return e&&"function"==typeof e.on&&"function"==typeof e.off}(e)){var s=e;e.on(t,n),o=function(){return s.off(t,n)}}else if(function(e){return e&&"function"==typeof e.addListener&&"function"==typeof e.removeListener}(e)){var u=e;e.addListener(t,n),o=function(){return u.removeListener(t,n)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var c=0,l=e.length;c1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=e;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(i,this.id,t),this}},{key:"requestAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(e.flush.bind(e,this),n)}},{key:"recycleAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)}},{key:"execute",value:function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(e,t){var n,i=!1;try{this.work(e)}catch(r){i=!0,n=!!r&&r||new Error(r)}if(i)return this.unsubscribe(),n}},{key:"_unsubscribe",value:function(){var e=this.id,t=this.scheduler,n=t.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}]),n}(function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this)}return b(n,[{key:"schedule",value:function(e){return this}}]),n}(q)),ef=function(){var e=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.now;m(this,e),this.SchedulerAction=t,this.now=n}return b(e,[{key:"schedule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return new this.SchedulerAction(this,e).schedule(n,t)}}]),e}();return e.now=function(){return Date.now()},e}(),tf=function(t){a(i,t);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ef.now;return m(this,i),(t=n.call(this,e,function(){return i.delegate&&i.delegate!==c(t)?i.delegate.now():r()})).actions=[],t.active=!1,t.scheduled=void 0,t}return b(i,[{key:"schedule",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return i.delegate&&i.delegate!==this?i.delegate.schedule(t,n,r):e(p(i.prototype),"schedule",this).call(this,t,n,r)}},{key:"flush",value:function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}}}]),i}(ef);new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)}}]),i}(Jd));var nf=1,rf=Promise.resolve(),of={};function af(e){return e in of&&(delete of[e],!0)}var sf=function(e){var t=nf++;return of[t]=!0,rf.then(function(){return af(t)&&e()}),t},uf=function(e){af(e)};function cf(e){return!!e&&(e instanceof te||"function"==typeof e.lift&&"function"==typeof e.subscribe)}function lf(e,t){return function(n){return n.lift(new hf(e,t))}}new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=sf(t.flush.bind(t,null))))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(uf(n),t.scheduled=void 0)}}]),i}(Jd));var hf=function(){function e(t,n){m(this,e),this.compare=t,this.keySelector=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new df(e,this.compare,this.keySelector))}}]),e}(),df=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).keySelector=r,o.hasKey=!1,"function"==typeof i&&(o.compare=i),o}return b(n,[{key:"compare",value:function(e,t){return e===t}},{key:"_next",value:function(e){var t;try{var n=this.keySelector;t=n?n(e):e}catch(n){return this.destination.error(n)}var i=!1;if(this.hasKey)try{i=(0,this.compare)(this.key,t)}catch(n){return this.destination.error(n)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}]),n}(K),ff=new tf(Jd),pf=function(){function e(t){m(this,e),this.durationSelector=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new vf(e,this.durationSelector))}}]),e}(),vf=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).durationSelector=i,r.hasValue=!1,r}return b(n,[{key:"_next",value:function(e){if(this.value=e,this.hasValue=!0,!this.throttled){var t;try{var n;t=(0,this.durationSelector)(e)}catch(n){return this.destination.error(n)}var i=we(t,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}},{key:"clearThrottle",value:function(){var e=this.value,t=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}},{key:"notifyNext",value:function(){this.clearThrottle()}},{key:"notifyComplete",value:function(){this.clearThrottle()}}]),n}(_e);function gf(e){return!U(e)&&e-parseFloat(e)+1>=0}function mf(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}}function yf(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ff;return function(e){return function(t){return t.lift(new pf(e))}}(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=-1;return gf(t)?i=Number(t)<1?1:Number(t):ue(t)&&(n=t),ue(n)||(n=ff),new te(function(t){var r=gf(e)?e:+e-n.now();return n.schedule(mf,r,{index:0,period:i,subscriber:t})})}(e,t)})}function bf(e,t){return function(n){return n.lift(new _f(e,t))}}var _f=function(){function e(t,n){m(this,e),this.predicate=t,this.thisArg=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new wf(e,this.predicate,this.thisArg))}}]),e}(),wf=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.thisArg=r,o.count=0,o}return b(n,[{key:"_next",value:function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)}}]),n}(K);function kf(e){return function(t){return t.lift(new xf(e))}}var xf=function(){function e(t){m(this,e),this.notifier=t}return b(e,[{key:"call",value:function(e,t){var n=new Sf(e),i=we(this.notifier,new be(n));return i&&!n.seenValue?(n.add(i),t.subscribe(n)):n}}]),e}(),Sf=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e)).seenValue=!1,i}return b(n,[{key:"notifyNext",value:function(){this.seenValue=!0,this.complete()}},{key:"notifyComplete",value:function(){}}]),n}(_e);function Cf(){return Ce(1)($d.apply(void 0,arguments))}function Ef(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:0;return n>0?e(p(i.prototype),"schedule",this).call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)}},{key:"execute",value:function(t,n){return n>0||this.closed?e(p(i.prototype),"execute",this).call(this,t,n):this._execute(t,n)}},{key:"requestAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0||null===r&&this.delay>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):t.flush(this)}}]),i}(Jd)),Mf=new te(function(e){return e.complete()});function If(e){return e?function(e){return new te(function(t){return e.schedule(function(){return t.complete()})})}(e):Mf}function Rf(e,t){return new te(t?function(n){return t.schedule(Df,0,{error:e,subscriber:n})}:function(t){return t.error(e)})}function Df(e){var t=e.error;e.subscriber.error(t)}var Nf=function(){function e(t,n,i){m(this,e),this.kind=t,this.value=n,this.error=i,this.hasValue="N"===t}return b(e,[{key:"observe",value:function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}},{key:"do",value:function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}}},{key:"accept",value:function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)}},{key:"toObservable",value:function(){switch(this.kind){case"N":return $d(this.value);case"E":return Rf(this.error);case"C":return If()}throw new Error("unexpected notification kind value")}}],[{key:"createNext",value:function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification}},{key:"createError",value:function(t){return new e("E",void 0,t)}},{key:"createComplete",value:function(){return e.completeNotification}}]),e}();Nf.completeNotification=new Nf("C"),Nf.undefinedValueNotification=new Nf("N",void 0);var Lf,jf=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),(r=t.call(this,e)).scheduler=i,r.delay=o,r}return b(n,[{key:"scheduleMessage",value:function(e){this.destination.add(this.scheduler.schedule(n.dispatch,this.delay,new Ff(e,this.destination)))}},{key:"_next",value:function(e){this.scheduleMessage(Nf.createNext(e))}},{key:"_error",value:function(e){this.scheduleMessage(Nf.createError(e)),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleMessage(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()}}]),n}(K),Ff=function e(t,n){m(this,e),this.notification=t,this.destination=n},Bf=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY,o=arguments.length>2?arguments[2]:void 0;return m(this,i),(e=n.call(this)).scheduler=o,e._events=[],e._infiniteTimeWindow=!1,e._bufferSize=t<1?1:t,e._windowTime=r<1?1:r,r===Number.POSITIVE_INFINITY?(e._infiniteTimeWindow=!0,e.next=e.nextInfiniteTimeWindow):e.next=e.nextTimeWindow,e}return b(i,[{key:"nextInfiniteTimeWindow",value:function(t){if(!this.isStopped){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift()}e(p(i.prototype),"next",this).call(this,t)}},{key:"nextTimeWindow",value:function(t){this.isStopped||(this._events.push(new Vf(this._getNow(),t)),this._trimBufferThenGetEvents()),e(p(i.prototype),"next",this).call(this,t)}},{key:"_subscribe",value:function(e){var t,n=this._infiniteTimeWindow,i=n?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;if(this.closed)throw new ie;if(this.isStopped||this.hasError?t=q.EMPTY:(this.observers.push(e),t=new re(this,e)),r&&e.add(e=new jf(e,r)),n)for(var a=0;at&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i}}]),i}(ae),Vf=function e(t,n){m(this,e),this.time=t,this.value=n};function zf(e,t,n){var i;return i=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift(function(e){var t,n,i=e.bufferSize,r=void 0===i?Number.POSITIVE_INFINITY:i,o=e.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=e.refCount,u=e.scheduler,c=0,l=!1,h=!1;return function(e){var i;c++,!t||l?(l=!1,t=new Bf(r,a,u),i=t.subscribe(this),n=e.subscribe({next:function(e){t.next(e)},error:function(e){l=!0,t.error(e)},complete:function(){h=!0,n=void 0,t.complete()}}),h&&(n=void 0)):i=t.subscribe(this),this.add(function(){c--,i.unsubscribe(),i=void 0,n&&!h&&s&&0===c&&(n.unsubscribe(),n=void 0,t=void 0)})}}(i))}}try{Lf="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(G){Lf=!1}var Uf,Hf,Gf,Wf,qf=function(){var e=function e(t){m(this,e),this._platformId=t,this.isBrowser=this._platformId?hd(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Lf)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT};return e.\u0275fac=function(t){return new(t||e)(Zi(Ml))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ml))},token:e,providedIn:"root"}),e}(),Xf=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Yf=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Kf(){if(Uf)return Uf;if("object"!=typeof document||!document)return Uf=new Set(Yf);var e=document.createElement("input");return Uf=new Set(Yf.filter(function(t){return e.setAttribute("type",t),e.type===t}))}function $f(e){return function(){if(null==Hf&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Hf=!0}}))}finally{Hf=Hf||!1}return Hf}()?e:!!e.capture}function Qf(e){if(function(){if(null==Wf){var e="undefined"!=typeof document?document.head:null;Wf=!(!e||!e.createShadowRoot&&!e.attachShadow)}return Wf}()){var t=e.getRootNode?e.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&t instanceof ShadowRoot)return t}return null}function Zf(){for(var e="undefined"!=typeof document&&document?document.activeElement:null;e&&e.shadowRoot;){var t=e.shadowRoot.activeElement;if(t===e)break;e=t}return e}function Jf(e){return e.composedPath?e.composedPath()[0]:e.target}var ep=new Ri("cdk-dir-doc",{providedIn:"root",factory:function(){return Ji(bh)}}),tp=function(){var e=function(){function e(t){if(m(this,e),this.value="ltr",this.change=new ol,t){var n=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||n;this.value="ltr"===i||"rtl"===i?i:"ltr"}}return b(e,[{key:"ngOnDestroy",value:function(){this.change.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ep,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(ep,8))},token:e,providedIn:"root"}),e}(),np=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),ip=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1?arguments[1]:void 0,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];m(this,e),this._multiple=n,this._emitChanges=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ae,i&&i.length&&(n?i.forEach(function(e){return t._markSelected(e)}):this._markSelected(i[0]),this._selectedToEmit.length=0)}return b(e,[{key:"selected",get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}},{key:"select",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:20;return this._platform.isBrowser?new te(function(n){e._globalSubscription||e._addGlobalListener();var i=t>0?e._scrolled.pipe(yf(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){i.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):$d()}},{key:"ngOnDestroy",value:function(){var e=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(t,n){return e.deregister(n)}),this._scrolled.complete()}},{key:"ancestorScrolled",value:function(e,t){var n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(bf(function(e){return!e||n.indexOf(e)>-1}))}},{key:"getAncestorScrollContainers",value:function(e){var t=this,n=[];return this.scrollContainers.forEach(function(i,r){t._scrollableContainsElement(r,e)&&n.push(r)}),n}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_scrollableContainsElement",value:function(e,t){var n=Kd(t),i=e.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}},{key:"_addGlobalListener",value:function(){var e=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return Qd(e._getWindow().document,"scroll").subscribe(function(){return e._scrolled.next()})})}},{key:"_removeGlobalListener",value:function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(bh,8))},token:e,providedIn:"root"}),e}(),ap=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this._platform=t,this._change=new ae,this._changeListener=function(e){r._change.next(e)},this._document=i,n.runOutsideAngular(function(){if(t.isBrowser){var e=r._getWindow();e.addEventListener("resize",r._changeListener),e.addEventListener("orientationchange",r._changeListener)}r.change().subscribe(function(){return r._viewportSize=null})})}return b(e,[{key:"ngOnDestroy",value:function(){if(this._platform.isBrowser){var e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}},{key:"getViewportSize",value:function(){this._viewportSize||this._updateViewportSize();var e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}},{key:"getViewportRect",value:function(){var e=this.getViewportScrollPosition(),t=this.getViewportSize(),n=t.width,i=t.height;return{top:e.top,left:e.left,bottom:e.top+i,right:e.left+n,height:i,width:n}}},{key:"getViewportScrollPosition",value:function(){if(!this._platform.isBrowser)return{top:0,left:0};var e=this._document,t=this._getWindow(),n=e.documentElement,i=n.getBoundingClientRect();return{top:-i.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,left:-i.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0}}},{key:"change",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return e>0?this._change.pipe(yf(e)):this._change}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_updateViewportSize",value:function(){var e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh,8))},token:e,providedIn:"root"}),e}(),sp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),up=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np,Xf,sp],np,sp]}),e}(),cp=function(){function e(){m(this,e)}return b(e,[{key:"attach",value:function(e){return this._attachedHost=e,e.attach(this)}},{key:"detach",value:function(){var e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}},{key:"isAttached",get:function(){return null!=this._attachedHost}},{key:"setAttachedHost",value:function(e){this._attachedHost=e}}]),e}(),lp=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).component=e,a.viewContainerRef=i,a.injector=r,a.componentFactoryResolver=o,a}return n}(cp),hp=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this)).templateRef=e,o.viewContainerRef=t,o.context=r,o}return b(i,[{key:"origin",get:function(){return this.templateRef.elementRef}},{key:"attach",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context;return this.context=n,e(p(i.prototype),"attach",this).call(this,t)}},{key:"detach",value:function(){return this.context=void 0,e(p(i.prototype),"detach",this).call(this)}}]),i}(cp),dp=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).element=e instanceof Ju?e.nativeElement:e,i}return n}(cp),fp=function(){function e(){m(this,e),this._isDisposed=!1,this.attachDomPortal=null}return b(e,[{key:"hasAttached",value:function(){return!!this._attachedPortal}},{key:"attach",value:function(e){return e instanceof lp?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof hp?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof dp?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}},{key:"detach",value:function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}},{key:"dispose",value:function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}},{key:"setDisposeFn",value:function(e){this._disposeFn=e}},{key:"_invokeDisposeFn",value:function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}]),e}(),pp=function(t){a(i,t);var n=s(i);function i(t,r,o,a,s){var u,l;return m(this,i),(l=n.call(this)).outletElement=t,l._componentFactoryResolver=r,l._appRef=o,l._defaultInjector=a,l.attachDomPortal=function(t){var n=t.element,r=l._document.createComment("dom-portal");n.parentNode.insertBefore(r,n),l.outletElement.appendChild(n),l._attachedPortal=t,e((u=c(l),p(i.prototype)),"setDisposeFn",u).call(u,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},l._document=s,l}return b(i,[{key:"attachComponentPortal",value:function(e){var t,n=this,i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);return e.viewContainerRef?(t=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(function(){return t.destroy()})):(t=i.create(e.injector||this._defaultInjector),this._appRef.attachView(t.hostView),this.setDisposeFn(function(){n._appRef.detachView(t.hostView),t.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(t)),this._attachedPortal=e,t}},{key:"attachTemplatePortal",value:function(e){var t=this,n=e.viewContainerRef,i=n.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(function(e){return t.outletElement.appendChild(e)}),i.detectChanges(),this.setDisposeFn(function(){var e=n.indexOf(i);-1!==e&&n.remove(e)}),this._attachedPortal=e,i}},{key:"dispose",value:function(){e(p(i.prototype),"dispose",this).call(this),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}},{key:"_getComponentRootNode",value:function(e){return e.hostView.rootNodes[0]}}]),i}(fp),vp=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i)}return n}(hp);return e.\u0275fac=function(t){return new(t||e)(Os(Ac),Os(Nc))},e.\u0275dir=Rt({type:e,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[cs]}),e}(),gp=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(vp);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[Xu([{provide:vp,useExisting:t}]),cs]}),t}(),mp=function(){var t=function(t){a(i,t);var n=s(i);function i(t,r,o){var a,s;return m(this,i),(s=n.call(this))._componentFactoryResolver=t,s._viewContainerRef=r,s._isInitialized=!1,s.attached=new ol,s.attachDomPortal=function(t){var n=t.element,r=s._document.createComment("dom-portal");t.setAttachedHost(c(s)),n.parentNode.insertBefore(r,n),s._getRootNode().appendChild(n),s._attachedPortal=t,e((a=c(s),p(i.prototype)),"setDisposeFn",a).call(a,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},s._document=o,s}return b(i,[{key:"portal",get:function(){return this._attachedPortal},set:function(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&e(p(i.prototype),"detach",this).call(this),t&&e(p(i.prototype),"attach",this).call(this,t),this._attachedPortal=t)}},{key:"attachedRef",get:function(){return this._attachedRef}},{key:"ngOnInit",value:function(){this._isInitialized=!0}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"dispose",this).call(this),this._attachedPortal=null,this._attachedRef=null}},{key:"attachComponentPortal",value:function(t){t.setAttachedHost(this);var n=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,r=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=n.createComponent(r,n.length,t.injector||n.injector);return n!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),e(p(i.prototype),"setDisposeFn",this).call(this,function(){return o.destroy()}),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}},{key:"attachTemplatePortal",value:function(t){var n=this;t.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return e(p(i.prototype),"setDisposeFn",this).call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=t,this._attachedRef=r,this.attached.emit(r),r}},{key:"_getRootNode",value:function(){var e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}]),i}(fp);return t.\u0275fac=function(e){return new(e||t)(Os(Ku),Os(Nc),Os(bh))},t.\u0275dir=Rt({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[cs]}),t}(),yp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),bp=function(){function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e}();function _p(e){return function(t){return 0===e?If():t.lift(new wp(e))}}var wp=function(){function e(t){if(m(this,e),this.total=t,this.total<0)throw new bp}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kp(e,this.total))}}]),e}(),kp=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))}}]),n}(K);function xp(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){return n.lift(new Sp(e,t))}}var Sp=function(){function e(t,n){m(this,e),this.predicate=t,this.inclusive=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Cp(e,this.predicate,this.inclusive))}}]),e}(),Cp=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.inclusive=r,o.index=0,o}return b(n,[{key:"_next",value:function(e){var t,n=this.destination;try{t=this.predicate(e,this.index++)}catch(i){return void n.error(i)}this.nextOrComplete(e,t)}},{key:"nextOrComplete",value:function(e,t){var n=this.destination;Boolean(t)?n.next(e):(this.inclusive&&n.next(e),n.complete())}}]),n}(K);function Ep(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it.height||e.scrollWidth>t.width}}]),e}(),Pp=function(){function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._ngZone=n,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=function(){o.disable(),o._overlayRef.hasAttached()&&o._ngZone.run(function(){return o._overlayRef.detach()})}}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;if(!this._scrollSubscription){var t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(function(){var t=e._viewportRuler.getViewportScrollPosition().top;Math.abs(t-e._initialScrollPosition)>e._config.threshold?e._detach():e._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Ap=function(){function e(){m(this,e)}return b(e,[{key:"enable",value:function(){}},{key:"disable",value:function(){}},{key:"attach",value:function(){}}]),e}();function Mp(e,t){return t.some(function(t){return e.bottomt.bottom||e.rightt.right})}function Ip(e,t){return t.some(function(t){return e.topt.bottom||e.leftt.right})}var Rp=function(){function e(t,n,i,r){m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this._config=r,this._scrollSubscription=null}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(e._overlayRef.updatePosition(),e._config&&e._config.autoClose){var t=e._overlayRef.overlayElement.getBoundingClientRect(),n=e._viewportRuler.getViewportSize(),i=n.width,r=n.height;Mp(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(e.disable(),e._ngZone.run(function(){return e._overlayRef.detach()}))}}))}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Dp=function(){var e=function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this.noop=function(){return new Ap},this.close=function(e){return new Pp(o._scrollDispatcher,o._ngZone,o._viewportRuler,e)},this.block=function(){return new Tp(o._viewportRuler,o._document)},this.reposition=function(e){return new Rp(o._scrollDispatcher,o._viewportRuler,o._ngZone,e)},this._document=r};return e.\u0275fac=function(t){return new(t||e)(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}(),Np=function e(t){if(m(this,e),this.scrollStrategy=new Ap,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t)for(var n=0,i=Object.keys(t);n-1&&this._attachedOverlays.splice(t,1),0===this._attachedOverlays.length&&this.detach()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(bh))},token:e,providedIn:"root"}),e}(),Bp=function(){var t=function(t){a(i,t);var n=s(i);function i(e){var t;return m(this,i),(t=n.call(this,e))._keydownListener=function(e){for(var n=t._attachedOverlays,i=n.length-1;i>-1;i--)if(n[i]._keydownEvents.observers.length>0){n[i]._keydownEvents.next(e);break}},t}return b(i,[{key:"add",value:function(t){e(p(i.prototype),"add",this).call(this,t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}},{key:"detach",value:function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh))},token:t,providedIn:"root"}),t}(),Vp=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e))._platform=t,r._cursorStyleIsSet=!1,r._clickListener=function(e){for(var t=Jf(e),n=r._attachedOverlays.slice(),i=n.length-1;i>-1;i--){var o=n[i];if(!(o._outsidePointerEvents.observers.length<1)&&o.hasAttached()){if(o.overlayElement.contains(t))break;o._outsidePointerEvents.next(e)}}},r}return b(i,[{key:"add",value:function(t){if(e(p(i.prototype),"add",this).call(this,t),!this._isAttached){var n=this._document.body;n.addEventListener("click",this._clickListener,!0),n.addEventListener("auxclick",this._clickListener,!0),n.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=n.style.cursor,n.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}},{key:"detach",value:function(){if(this._isAttached){var e=this._document.body;e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh),Zi(qf))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh),Zi(qf))},token:t,providedIn:"root"}),t}(),zp="undefined"!=typeof window?window:{},Up=void 0!==zp.__karma__&&!!zp.__karma__||void 0!==zp.jasmine&&!!zp.jasmine||void 0!==zp.jest&&!!zp.jest||void 0!==zp.Mocha&&!!zp.Mocha,Hp=function(){var e=function(){function e(t,n){m(this,e),this._platform=n,this._document=t}return b(e,[{key:"ngOnDestroy",value:function(){var e=this._containerElement;e&&e.parentNode&&e.parentNode.removeChild(e)}},{key:"getContainerElement",value:function(){return this._containerElement||this._createContainer(),this._containerElement}},{key:"_createContainer",value:function(){var e="cdk-overlay-container";if(this._platform.isBrowser||Up)for(var t=this._document.querySelectorAll(".".concat(e,'[platform="server"], .').concat(e,'[platform="test"]')),n=0;nf&&(f=g,d=v)}}catch(m){p.e(m)}finally{p.f()}return this._isPushed=!1,void this._applyPosition(d.position,d.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(e.position,e.originPoint);this._applyPosition(e.position,e.originPoint)}}},{key:"detach",value:function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}},{key:"dispose",value:function(){this._isDisposed||(this._boundingBox&&Yp(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Wp),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}},{key:"reapplyLastPosition",value:function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}},{key:"withScrollableContainers",value:function(e){return this._scrollables=e,this}},{key:"withPositions",value:function(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}},{key:"withViewportMargin",value:function(e){return this._viewportMargin=e,this}},{key:"withFlexibleDimensions",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._hasFlexibleDimensions=e,this}},{key:"withGrowAfterOpen",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._growAfterOpen=e,this}},{key:"withPush",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._canPush=e,this}},{key:"withLockedPosition",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._positionLocked=e,this}},{key:"setOrigin",value:function(e){return this._origin=e,this}},{key:"withDefaultOffsetX",value:function(e){return this._offsetX=e,this}},{key:"withDefaultOffsetY",value:function(e){return this._offsetY=e,this}},{key:"withTransformOriginOn",value:function(e){return this._transformOriginSelector=e,this}},{key:"_getOriginPoint",value:function(e,t){var n;if("center"==t.originX)n=e.left+e.width/2;else{var i=this._isRtl()?e.right:e.left,r=this._isRtl()?e.left:e.right;n="start"==t.originX?i:r}return{x:n,y:"center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom}}},{key:"_getOverlayPoint",value:function(e,t,n){var i,r;return i="center"==n.overlayX?-t.width/2:"start"===n.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,r="center"==n.overlayY?-t.height/2:"top"==n.overlayY?0:-t.height,{x:e.x+i,y:e.y+r}}},{key:"_getOverlayFit",value:function(e,t,n,i){var r=$p(t),o=e.x,a=e.y,s=this._getOffset(i,"x"),u=this._getOffset(i,"y");s&&(o+=s),u&&(a+=u);var c=0-a,l=a+r.height-n.height,h=this._subtractOverflows(r.width,0-o,o+r.width-n.width),d=this._subtractOverflows(r.height,c,l),f=h*d;return{visibleArea:f,isCompletelyWithinViewport:r.width*r.height===f,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}},{key:"_canFitWithFlexibleDimensions",value:function(e,t,n){if(this._hasFlexibleDimensions){var i=n.bottom-t.y,r=n.right-t.x,o=Kp(this._overlayRef.getConfig().minHeight),a=Kp(this._overlayRef.getConfig().minWidth),s=e.fitsInViewportHorizontally||null!=a&&a<=r;return(e.fitsInViewportVertically||null!=o&&o<=i)&&s}return!1}},{key:"_pushOverlayOnScreen",value:function(e,t,n){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};var i,r,o=$p(t),a=this._viewportRect,s=Math.max(e.x+o.width-a.width,0),u=Math.max(e.y+o.height-a.height,0),c=Math.max(a.top-n.top-e.y,0),l=Math.max(a.left-n.left-e.x,0);return i=o.width<=a.width?l||-s:e.xh&&!this._isInitialRender&&!this._growAfterOpen&&(i=e.y-h/2)}if("end"===t.overlayX&&!c||"start"===t.overlayX&&c)s=u.width-e.x+this._viewportMargin,o=e.x-this._viewportMargin;else if("start"===t.overlayX&&!c||"end"===t.overlayX&&c)a=e.x,o=u.right-e.x;else{var d=Math.min(u.right-e.x+u.left,e.x),f=this._lastBoundingBoxSize.width;o=2*d,a=e.x-d,o>f&&!this._isInitialRender&&!this._growAfterOpen&&(a=e.x-f/2)}return{top:i,left:a,bottom:r,right:s,width:o,height:n}}},{key:"_setBoundingBoxStyles",value:function(e,t){var n=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{var r=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;i.height=Yd(n.height),i.top=Yd(n.top),i.bottom=Yd(n.bottom),i.width=Yd(n.width),i.left=Yd(n.left),i.right=Yd(n.right),i.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",i.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",r&&(i.maxHeight=Yd(r)),o&&(i.maxWidth=Yd(o))}this._lastBoundingBoxSize=n,Yp(this._boundingBox.style,i)}},{key:"_resetBoundingBoxStyles",value:function(){Yp(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}},{key:"_resetOverlayElementStyles",value:function(){Yp(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}},{key:"_setOverlayElementStyles",value:function(e,t){var n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(i){var a=this._viewportRuler.getViewportScrollPosition();Yp(n,this._getExactOverlayY(t,e,a)),Yp(n,this._getExactOverlayX(t,e,a))}else n.position="static";var s="",u=this._getOffset(t,"x"),c=this._getOffset(t,"y");u&&(s+="translateX(".concat(u,"px) ")),c&&(s+="translateY(".concat(c,"px)")),n.transform=s.trim(),o.maxHeight&&(i?n.maxHeight=Yd(o.maxHeight):r&&(n.maxHeight="")),o.maxWidth&&(i?n.maxWidth=Yd(o.maxWidth):r&&(n.maxWidth="")),Yp(this._pane.style,n)}},{key:"_getExactOverlayY",value:function(e,t,n){var i={top:"",bottom:""},r=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));var o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=o,"bottom"===e.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Yd(r.y),i}},{key:"_getExactOverlayX",value:function(e,t,n){var i={left:"",right:""},r=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n)),"right"===(this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left")?i.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":i.left=Yd(r.x),i}},{key:"_getScrollVisibility",value:function(){var e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),n=this._scrollables.map(function(e){return e.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:Ip(e,n),isOriginOutsideView:Mp(e,n),isOverlayClipped:Ip(t,n),isOverlayOutsideView:Mp(t,n)}}},{key:"_subtractOverflows",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"";return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}},{key:"left",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}},{key:"bottom",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}},{key:"right",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}},{key:"width",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}},{key:"height",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}},{key:"centerHorizontally",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.left(e),this._justifyContent="center",this}},{key:"centerVertically",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.top(e),this._alignItems="center",this}},{key:"apply",value:function(){if(this._overlayRef&&this._overlayRef.hasAttached()){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),i=n.width,r=n.height,o=n.maxWidth,a=n.maxHeight,s=!("100%"!==i&&"100vw"!==i||o&&"100%"!==o&&"100vw"!==o),u=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=s?"0":this._leftOffset,e.marginTop=u?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,s?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=u?"flex-start":this._alignItems}}},{key:"dispose",value:function(){if(!this._isDisposed&&this._overlayRef){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,n=t.style;t.classList.remove(Jp),n.justifyContent=n.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}}]),e}(),tv=function(){var e=function(){function e(t,n,i,r){m(this,e),this._viewportRuler=t,this._document=n,this._platform=i,this._overlayContainer=r}return b(e,[{key:"global",value:function(){return new ev}},{key:"connectedTo",value:function(e,t,n){return new Zp(t,n,e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}},{key:"flexibleConnectedTo",value:function(e){return new Xp(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},e.\u0275prov=$e({factory:function(){return new e(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},token:e,providedIn:"root"}),e}(),nv=0,iv=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){m(this,e),this.scrollStrategies=t,this._overlayContainer=n,this._componentFactoryResolver=i,this._positionBuilder=r,this._keyboardDispatcher=o,this._injector=a,this._ngZone=s,this._document=u,this._directionality=c,this._location=l,this._outsideClickDispatcher=h}return b(e,[{key:"create",value:function(e){var t=this._createHostElement(),n=this._createPaneElement(t),i=this._createPortalOutlet(n),r=new Np(e);return r.direction=r.direction||this._directionality.value,new Gp(i,t,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}},{key:"position",value:function(){return this._positionBuilder}},{key:"_createPaneElement",value:function(e){var t=this._document.createElement("div");return t.id="cdk-overlay-"+nv++,t.classList.add("cdk-overlay-pane"),e.appendChild(t),t}},{key:"_createHostElement",value:function(){var e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}},{key:"_createPortalOutlet",value:function(e){return this._appRef||(this._appRef=this._injector.get(dh)),new pp(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Dp),Zi(Hp),Zi(Ku),Zi(tv),Zi(Bp),Zi(ss),Zi(Xl),Zi(bh),Zi(tp),Zi(Ih),Zi(Vp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),rv=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],ov=new Ri("cdk-connected-overlay-scroll-strategy"),av=function(){var e=function e(t){m(this,e),this.elementRef=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),e}(),sv=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=q.EMPTY,this._attachSubscription=q.EMPTY,this._detachSubscription=q.EMPTY,this._positionSubscription=q.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ol,this.positionChange=new ol,this.attach=new ol,this.detach=new ol,this.overlayKeydown=new ol,this.overlayOutsideClick=new ol,this._templatePortal=new hp(n,i),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}return b(e,[{key:"offsetX",get:function(){return this._offsetX},set:function(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"offsetY",get:function(){return this._offsetY},set:function(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"hasBackdrop",get:function(){return this._hasBackdrop},set:function(e){this._hasBackdrop=Wd(e)}},{key:"lockPosition",get:function(){return this._lockPosition},set:function(e){this._lockPosition=Wd(e)}},{key:"flexibleDimensions",get:function(){return this._flexibleDimensions},set:function(e){this._flexibleDimensions=Wd(e)}},{key:"growAfterOpen",get:function(){return this._growAfterOpen},set:function(e){this._growAfterOpen=Wd(e)}},{key:"push",get:function(){return this._push},set:function(e){this._push=Wd(e)}},{key:"overlayRef",get:function(){return this._overlayRef}},{key:"dir",get:function(){return this._dir?this._dir.value:"ltr"}},{key:"ngOnDestroy",value:function(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}},{key:"ngOnChanges",value:function(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}},{key:"_createOverlay",value:function(){var e=this;(!this.positions||!this.positions.length)&&(this.positions=rv);var t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(function(){return e.attach.emit()}),this._detachSubscription=t.detachments().subscribe(function(){return e.detach.emit()}),t.keydownEvents().subscribe(function(t){e.overlayKeydown.next(t),27===t.keyCode&&!e.disableClose&&!Ep(t)&&(t.preventDefault(),e._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(function(t){e.overlayOutsideClick.next(t)})}},{key:"_buildConfig",value:function(){var e=this._position=this.positionStrategy||this._createPositionStrategy(),t=new Np({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(t.width=this.width),(this.height||0===this.height)&&(t.height=this.height),(this.minWidth||0===this.minWidth)&&(t.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(t.minHeight=this.minHeight),this.backdropClass&&(t.backdropClass=this.backdropClass),this.panelClass&&(t.panelClass=this.panelClass),t}},{key:"_updatePositionStrategy",value:function(e){var t=this,n=this.positions.map(function(e){return{originX:e.originX,originY:e.originY,overlayX:e.overlayX,overlayY:e.overlayY,offsetX:e.offsetX||t.offsetX,offsetY:e.offsetY||t.offsetY,panelClass:e.panelClass||void 0}});return e.setOrigin(this.origin.elementRef).withPositions(n).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}},{key:"_createPositionStrategy",value:function(){var e=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(e),e}},{key:"_attachOverlay",value:function(){var e=this;this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(function(t){e.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(xp(function(){return e.positionChange.observers.length>0})).subscribe(function(t){e.positionChange.emit(t),0===e.positionChange.observers.length&&e._positionSubscription.unsubscribe()}))}},{key:"_detachOverlay",value:function(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ac),Os(Nc),Os(ov),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[qt]}),e}(),uv={provide:ov,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},cv=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[iv,uv],imports:[[np,yp,up],up]}),e}(),lv={schedule:function(e,t){var n=setTimeout(e,t);return function(){return clearTimeout(n)}},scheduleBeforeRender:function(e){if("undefined"==typeof window)return lv.schedule(e,0);if(void 0===window.requestAnimationFrame)return lv.schedule(e,16);var t=window.requestAnimationFrame(e);return function(){return window.cancelAnimationFrame(t)}}};function hv(e,t,n){var i=n;return function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE}(e)&&t.some(function(t,n){return!("*"===t||!function(e,t){if(!Qp){var n=Element.prototype;Qp=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}return e.nodeType===Node.ELEMENT_NODE&&Qp.call(e,t)}(e,t)||(i=n,0))}),i}var dv=function(){function e(t,n){m(this,e),this.componentFactory=n.get(Ku).resolveComponentFactory(t)}return b(e,[{key:"create",value:function(e){return new fv(this.componentFactory,e)}}]),e}(),fv=function(){function e(t,n){m(this,e),this.componentFactory=t,this.injector=n,this.eventEmitters=new Bf(1),this.events=this.eventEmitters.pipe(Of(function(e){return Oe.apply(void 0,v(e))})),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(function(e){return e.propName})),this.ngZone=this.injector.get(Xl),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(function(){return Zone.current})}return b(e,[{key:"connect",value:function(e){var t=this;this.runInZone(function(){if(null!==t.scheduledDestroyFn)return t.scheduledDestroyFn(),void(t.scheduledDestroyFn=null);null===t.componentRef&&t.initializeComponent(e)})}},{key:"disconnect",value:function(){var e=this;this.runInZone(function(){null===e.componentRef||null!==e.scheduledDestroyFn||(e.scheduledDestroyFn=lv.schedule(function(){null!==e.componentRef&&(e.componentRef.destroy(),e.componentRef=null,e.viewChangeDetectorRef=null)},10))})}},{key:"getInputValue",value:function(e){var t=this;return this.runInZone(function(){return null===t.componentRef?t.initialInputValues.get(e):t.componentRef.instance[e]})}},{key:"setInputValue",value:function(e,t){var n=this;this.runInZone(function(){null!==n.componentRef?function(e,t){return e===t||e!=e&&t!=t}(t,n.getInputValue(e))&&(void 0!==t||!n.unchangedInputs.has(e))||(n.recordInputChange(e,t),n.unchangedInputs.delete(e),n.hasInputChanges=!0,n.componentRef.instance[e]=t,n.scheduleDetectChanges()):n.initialInputValues.set(e,t)})}},{key:"initializeComponent",value:function(e){var t=ss.create({providers:[],parent:this.injector}),n=function(e,t){var n=e.childNodes,i=t.map(function(){return[]}),r=-1;t.some(function(e,t){return"*"===e&&(r=t,!0)});for(var o=0,a=n.length;o1&&void 0!==arguments[1]?arguments[1]:ff;return function(n){return n.lift(new wv(e,t))}}var wv=function(){function e(t,n){m(this,e),this.dueTime=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kv(e,this.dueTime,this.scheduler))}}]),e}(),kv=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).dueTime=i,o.scheduler=r,o.debouncedSubscription=null,o.lastValue=null,o.hasValue=!1,o}return b(n,[{key:"_next",value:function(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xv,this.dueTime,this))}},{key:"_complete",value:function(){this.debouncedNext(),this.destination.complete()}},{key:"debouncedNext",value:function(){if(this.clearDebounce(),this.hasValue){var e=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}},{key:"clearDebounce",value:function(){var e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}]),n}(K);function xv(e){e.debouncedNext()}function Sv(e){return function(t){return t.lift(new Cv(e))}}var Cv=function(){function e(t){m(this,e),this.total=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Ev(e,this.total))}}]),e}(),Ev=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){++this.count>this.total&&this.destination.next(e)}}]),n}(K),Ov=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"create",value:function(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Tv=function(){var e=function(){function e(t){m(this,e),this._mutationObserverFactory=t,this._observedElements=new Map}return b(e,[{key:"ngOnDestroy",value:function(){var e=this;this._observedElements.forEach(function(t,n){return e._cleanupObserver(n)})}},{key:"observe",value:function(e){var t=this,n=Kd(e);return new te(function(e){var i=t._observeElement(n).subscribe(e);return function(){i.unsubscribe(),t._unobserveElement(n)}})}},{key:"_observeElement",value:function(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{var t=new ae,n=this._mutationObserverFactory.create(function(e){return t.next(e)});n&&n.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:n,stream:t,count:1})}return this._observedElements.get(e).stream}},{key:"_unobserveElement",value:function(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}},{key:"_cleanupObserver",value:function(e){if(this._observedElements.has(e)){var t=this._observedElements.get(e),n=t.observer,i=t.stream;n&&n.disconnect(),i.complete(),this._observedElements.delete(e)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ov))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ov))},token:e,providedIn:"root"}),e}(),Pv=function(){var e=function(){function e(t,n,i){m(this,e),this._contentObserver=t,this._elementRef=n,this._ngZone=i,this.event=new ol,this._disabled=!1,this._currentSubscription=null}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this._unsubscribe():this._subscribe()}},{key:"debounce",get:function(){return this._debounce},set:function(e){this._debounce=qd(e),this._subscribe()}},{key:"ngAfterContentInit",value:function(){!this._currentSubscription&&!this.disabled&&this._subscribe()}},{key:"ngOnDestroy",value:function(){this._unsubscribe()}},{key:"_subscribe",value:function(){var e=this;this._unsubscribe();var t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){e._currentSubscription=(e.debounce?t.pipe(_v(e.debounce)):t).subscribe(e.event)})}},{key:"_unsubscribe",value:function(){var e;null===(e=this._currentSubscription)||void 0===e||e.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Tv),Os(Ju),Os(Xl))},e.\u0275dir=Rt({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),e}(),Av=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Ov]}),e}();function Mv(e,t){return(e.getAttribute(t)||"").match(/\S+/g)||[]}var Iv="cdk-describedby-message-container",Rv="cdk-describedby-message",Dv="cdk-describedby-host",Nv=0,Lv=new Map,jv=null,Fv=function(){var e=function(){function e(t){m(this,e),this._document=t}return b(e,[{key:"describe",value:function(e,t,n){if(this._canBeDescribed(e,t)){var i=Bv(t,n);"string"!=typeof t?(Vv(t),Lv.set(i,{messageElement:t,referenceCount:0})):Lv.has(i)||this._createMessageElement(t,n),this._isElementDescribedByMessage(e,i)||this._addMessageReference(e,i)}}},{key:"removeDescription",value:function(e,t,n){if(t&&this._isElementNode(e)){var i=Bv(t,n);if(this._isElementDescribedByMessage(e,i)&&this._removeMessageReference(e,i),"string"==typeof t){var r=Lv.get(i);r&&0===r.referenceCount&&this._deleteMessageElement(i)}jv&&0===jv.childNodes.length&&this._deleteMessagesContainer()}}},{key:"ngOnDestroy",value:function(){for(var e=this._document.querySelectorAll("[".concat(Dv,"]")),t=0;t-1&&t!==n._activeItemIndex&&(n._activeItemIndex=t)}})}return b(e,[{key:"skipPredicate",value:function(e){return this._skipPredicateFn=e,this}},{key:"withWrap",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._wrap=e,this}},{key:"withVerticalOrientation",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._vertical=e,this}},{key:"withHorizontalOrientation",value:function(e){return this._horizontal=e,this}},{key:"withAllowedModifierKeys",value:function(e){return this._allowedModifierKeys=e,this}},{key:"withTypeAhead",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(mv(function(t){return e._pressedLetters.push(t)}),_v(t),bf(function(){return e._pressedLetters.length>0}),ce(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._getItemsArray(),i=1;i0&&void 0!==arguments[0])||arguments[0];return this._homeAndEnd=e,this}},{key:"setActiveItem",value:function(e){var t=this._activeItem;this.updateActiveItem(e),this._activeItem!==t&&this.change.next(this._activeItemIndex)}},{key:"onKeydown",value:function(e){var t=this,n=e.keyCode,i=["altKey","ctrlKey","metaKey","shiftKey"].every(function(n){return!e[n]||t._allowedModifierKeys.indexOf(n)>-1});switch(n){case 9:return void this.tabOut.next();case 40:if(this._vertical&&i){this.setNextItemActive();break}return;case 38:if(this._vertical&&i){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&i){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&i){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&i){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&i){this.setLastItemActive();break}return;default:return void((i||Ep(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(n>=65&&n<=90||n>=48&&n<=57)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],e.preventDefault()}},{key:"activeItemIndex",get:function(){return this._activeItemIndex}},{key:"activeItem",get:function(){return this._activeItem}},{key:"isTyping",value:function(){return this._pressedLetters.length>0}},{key:"setFirstItemActive",value:function(){this._setActiveItemByIndex(0,1)}},{key:"setLastItemActive",value:function(){this._setActiveItemByIndex(this._items.length-1,-1)}},{key:"setNextItemActive",value:function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}},{key:"setPreviousItemActive",value:function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}},{key:"updateActiveItem",value:function(e){var t=this._getItemsArray(),n="number"==typeof e?e:t.indexOf(e),i=t[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}},{key:"_setActiveItemByDelta",value:function(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}},{key:"_setActiveInWrapMode",value:function(e){for(var t=this._getItemsArray(),n=1;n<=t.length;n++){var i=(this._activeItemIndex+e*n+t.length)%t.length;if(!this._skipPredicateFn(t[i]))return void this.setActiveItem(i)}}},{key:"_setActiveInDefaultMode",value:function(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}},{key:"_setActiveItemByIndex",value:function(e,t){var n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(!n[e+=t])return;this.setActiveItem(e)}}},{key:"_getItemsArray",value:function(){return this._items instanceof sl?this._items.toArray():this._items}}]),e}()),Uv=function(){var e=function(){function e(t){m(this,e),this._platform=t}return b(e,[{key:"isDisabled",value:function(e){return e.hasAttribute("disabled")}},{key:"isVisible",value:function(e){return function(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}},{key:"isTabbable",value:function(e){if(!this._platform.isBrowser)return!1;var t=function(e){try{return e.frameElement}catch(t){return null}}(function(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}(e));if(t&&(-1===Gv(t)||!this.isVisible(t)))return!1;var n=e.nodeName.toLowerCase(),i=Gv(e);return e.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(e){var t=e.nodeName.toLowerCase(),n="input"===t&&e.type;return"text"===n||"password"===n||"select"===t||"textarea"===t}(e))&&("audio"===n?!!e.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}},{key:"isFocusable",value:function(e,t){return function(e){return!function(e){return function(e){return"input"==e.nodeName.toLowerCase()}(e)&&"hidden"==e.type}(e)&&(function(e){var t=e.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}(e)||function(e){return function(e){return"a"==e.nodeName.toLowerCase()}(e)&&e.hasAttribute("href")}(e)||e.hasAttribute("contenteditable")||Hv(e))}(e)&&!this.isDisabled(e)&&((null==t?void 0:t.ignoreVisibility)||this.isVisible(e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf))},token:e,providedIn:"root"}),e}();function Hv(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;var t=e.getAttribute("tabindex");return"-32768"!=t&&!(!t||isNaN(parseInt(t,10)))}function Gv(e){if(!Hv(e))return null;var t=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t}var Wv=function(){function e(t,n,i,r){var o=this,a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];m(this,e),this._element=t,this._checker=n,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=function(){return o.focusLastTabbableElement()},this.endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,a||this.attachAnchors()}return b(e,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"destroy",value:function(){var e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}},{key:"attachAnchors",value:function(){var e=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular(function(){e._startAnchor||(e._startAnchor=e._createAnchor(),e._startAnchor.addEventListener("focus",e.startAnchorListener)),e._endAnchor||(e._endAnchor=e._createAnchor(),e._endAnchor.addEventListener("focus",e.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}},{key:"focusInitialElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusInitialElement(e))})})}},{key:"focusFirstTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusFirstTabbableElement(e))})})}},{key:"focusLastTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusLastTabbableElement(e))})})}},{key:"_getRegionBoundary",value:function(e){for(var t=this._element.querySelectorAll("[cdk-focus-region-".concat(e,"], [cdkFocusRegion").concat(e,"], [cdk-focus-").concat(e,"]")),n=0;n=0;n--){var i=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(i)return i}return null}},{key:"_createAnchor",value:function(){var e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}},{key:"_toggleAnchorTabIndex",value:function(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}},{key:"toggleAnchors",value:function(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"_executeOnStable",value:function(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(_p(1)).subscribe(e)}}]),e}(),qv=function(){var e=function(){function e(t,n,i){m(this,e),this._checker=t,this._ngZone=n,this._document=i}return b(e,[{key:"create",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Wv(e,this._checker,this._ngZone,this._document,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Uv),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(Uv),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}();function Xv(e){return 0===e.offsetX&&0===e.offsetY}function Yv(e){var t=e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0];return!(!t||-1!==t.identifier||null!=t.radiusX&&1!==t.radiusX||null!=t.radiusY&&1!==t.radiusY)}"undefined"!=typeof Element&∈var Kv=new Ri("cdk-input-modality-detector-options"),$v={ignoreKeys:[18,17,224,91,16]},Qv=$f({passive:!0,capture:!0}),Zv=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._platform=t,this._mostRecentTarget=null,this._modality=new vv(null),this._lastTouchMs=0,this._onKeydown=function(e){var t,n;(null===(n=null===(t=o._options)||void 0===t?void 0:t.ignoreKeys)||void 0===n?void 0:n.some(function(t){return t===e.keyCode}))||(o._modality.next("keyboard"),o._mostRecentTarget=Jf(e))},this._onMousedown=function(e){Date.now()-o._lastTouchMs<650||(o._modality.next(Xv(e)?"keyboard":"mouse"),o._mostRecentTarget=Jf(e))},this._onTouchstart=function(e){Yv(e)?o._modality.next("keyboard"):(o._lastTouchMs=Date.now(),o._modality.next("touch"),o._mostRecentTarget=Jf(e))},this._options=Object.assign(Object.assign({},$v),r),this.modalityDetected=this._modality.pipe(Sv(1)),this.modalityChanged=this.modalityDetected.pipe(lf()),t.isBrowser&&n.runOutsideAngular(function(){i.addEventListener("keydown",o._onKeydown,Qv),i.addEventListener("mousedown",o._onMousedown,Qv),i.addEventListener("touchstart",o._onTouchstart,Qv)})}return b(e,[{key:"mostRecentModality",get:function(){return this._modality.value}},{key:"ngOnDestroy",value:function(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Qv),document.removeEventListener("mousedown",this._onMousedown,Qv),document.removeEventListener("touchstart",this._onTouchstart,Qv))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},token:e,providedIn:"root"}),e}(),Jv=new Ri("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),eg=new Ri("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),tg=function(){var e=function(){function e(t,n,i,r){m(this,e),this._ngZone=n,this._defaultOptions=r,this._document=i,this._liveElement=t||this._createLiveElement()}return b(e,[{key:"announce",value:function(e){for(var n,i,r,o=this,a=this._defaultOptions,s=arguments.length,u=new Array(s>1?s-1:0),c=1;c1&&void 0!==arguments[1]&&arguments[1],n=Kd(e);if(!this._platform.isBrowser||1!==n.nodeType)return $d(null);var i=Qf(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return t&&(r.checkChildren=!0),r.subject;var o={checkChildren:t,subject:new ae,rootNode:i};return this._elementInfo.set(n,o),this._registerGlobalListeners(o),o.subject}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._elementInfo.get(t);n&&(n.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._removeGlobalListeners(n))}},{key:"focusVia",value:function(e,n,i){var r=this,o=Kd(e);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(function(e){var i=t(e,2),o=i[0],a=i[1];return r._originChanged(o,n,a)}):(this._setOrigin(n),"function"==typeof o.focus&&o.focus(i))}},{key:"ngOnDestroy",value:function(){var e=this;this._elementInfo.forEach(function(t,n){return e.stopMonitoring(n)})}},{key:"_getDocument",value:function(){return this._document||document}},{key:"_getWindow",value:function(){return this._getDocument().defaultView||window}},{key:"_toggleClass",value:function(e,t,n){n?e.classList.add(t):e.classList.remove(t)}},{key:"_getFocusOrigin",value:function(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}},{key:"_shouldBeAttributedToTouch",value:function(e){return 1===this._detectionMode||!!(null==e?void 0:e.contains(this._inputModalityDetector._mostRecentTarget))}},{key:"_setClasses",value:function(e,t){this._toggleClass(e,"cdk-focused",!!t),this._toggleClass(e,"cdk-touch-focused","touch"===t),this._toggleClass(e,"cdk-keyboard-focused","keyboard"===t),this._toggleClass(e,"cdk-mouse-focused","mouse"===t),this._toggleClass(e,"cdk-program-focused","program"===t)}},{key:"_setOrigin",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._ngZone.runOutsideAngular(function(){t._origin=e,t._originFromTouchInteraction="touch"===e&&n,0===t._detectionMode&&(clearTimeout(t._originTimeoutId),t._originTimeoutId=setTimeout(function(){return t._origin=null},t._originFromTouchInteraction?650:1))})}},{key:"_onFocus",value:function(e,t){var n=this._elementInfo.get(t),i=Jf(e);!n||!n.checkChildren&&t!==i||this._originChanged(t,this._getFocusOrigin(i),n)}},{key:"_onBlur",value:function(e,t){var n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget)||(this._setClasses(t),this._emitOrigin(n.subject,null))}},{key:"_emitOrigin",value:function(e,t){this._ngZone.run(function(){return e.next(t)})}},{key:"_registerGlobalListeners",value:function(e){var t=this;if(this._platform.isBrowser){var n=e.rootNode,i=this._rootNodeFocusListenerCount.get(n)||0;i||this._ngZone.runOutsideAngular(function(){n.addEventListener("focus",t._rootNodeFocusAndBlurListener,ig),n.addEventListener("blur",t._rootNodeFocusAndBlurListener,ig)}),this._rootNodeFocusListenerCount.set(n,i+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(function(){t._getWindow().addEventListener("focus",t._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(kf(this._stopInputModalityDetector)).subscribe(function(e){t._setOrigin(e,!0)}))}}},{key:"_removeGlobalListeners",value:function(e){var t=e.rootNode;if(this._rootNodeFocusListenerCount.has(t)){var n=this._rootNodeFocusListenerCount.get(t);n>1?this._rootNodeFocusListenerCount.set(t,n-1):(t.removeEventListener("focus",this._rootNodeFocusAndBlurListener,ig),t.removeEventListener("blur",this._rootNodeFocusAndBlurListener,ig),this._rootNodeFocusListenerCount.delete(t))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}},{key:"_originChanged",value:function(e,t,n){this._setClasses(e,t),this._emitOrigin(n.subject,t),this._lastFocusOrigin=t}},{key:"_getClosestElementsInfo",value:function(e){var t=[];return this._elementInfo.forEach(function(n,i){(i===e||n.checkChildren&&i.contains(e))&&t.push([i,n])}),t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},token:e,providedIn:"root"}),e}(),og="cdk-high-contrast-black-on-white",ag="cdk-high-contrast-white-on-black",sg="cdk-high-contrast-active",ug=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._document=n}return b(e,[{key:"getHighContrastMode",value:function(){if(!this._platform.isBrowser)return 0;var e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);var t=this._document.defaultView||window,n=t&&t.getComputedStyle?t.getComputedStyle(e):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(e),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}},{key:"_applyBodyHighContrastModeCssClasses",value:function(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){var e=this._document.body.classList;e.remove(sg),e.remove(og),e.remove(ag),this._hasCheckedHighContrastMode=!0;var t=this.getHighContrastMode();1===t?(e.add(sg),e.add(og)):2===t&&(e.add(sg),e.add(ag))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(bh))},token:e,providedIn:"root"}),e}(),cg=function(){var e=function e(t){m(this,e),t._applyBodyHighContrastModeCssClasses()};return e.\u0275fac=function(t){return new(t||e)(Zi(ug))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf,Av]]}),e}(),lg=new oc("12.2.5"),hg=function e(){m(this,e)},dg="*";function fg(e,t){return{type:7,name:e,definitions:t,options:{}}}function pg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:t,timings:e}}function vg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:2,steps:e,options:t}}function gg(e){return{type:6,styles:e,offset:null}}function mg(e,t,n){return{type:0,name:e,styles:t,options:n}}function yg(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:1,expr:e,animation:t,options:n}}function bg(e){Promise.resolve(null).then(e)}var _g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+n}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"init",value:function(){}},{key:"play",value:function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}},{key:"triggerMicrotask",value:function(){var e=this;bg(function(){return e._onFinish()})}},{key:"_onStart",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"pause",value:function(){}},{key:"restart",value:function(){}},{key:"finish",value:function(){this._onFinish()}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this._started=!1}},{key:"setPosition",value:function(e){this._position=this.totalTime?e*this.totalTime:1}},{key:"getPosition",value:function(){return this.totalTime?this._position/this.totalTime:1}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),wg=function(){function e(t){var n=this;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var i=0,r=0,o=0,a=this.players.length;0==a?bg(function(){return n._onFinish()}):this.players.forEach(function(e){e.onDone(function(){++i==a&&n._onFinish()}),e.onDestroy(function(){++r==a&&n._onDestroy()}),e.onStart(function(){++o==a&&n._onStart()})}),this.totalTime=this.players.reduce(function(e,t){return Math.max(e,t.totalTime)},0)}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this.players.forEach(function(e){return e.init()})}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"_onStart",value:function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[])}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"play",value:function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(e){return e.play()})}},{key:"pause",value:function(){this.players.forEach(function(e){return e.pause()})}},{key:"restart",value:function(){this.players.forEach(function(e){return e.restart()})}},{key:"finish",value:function(){this._onFinish(),this.players.forEach(function(e){return e.finish()})}},{key:"destroy",value:function(){this._onDestroy()}},{key:"_onDestroy",value:function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(e){return e.destroy()}),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this.players.forEach(function(e){return e.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"setPosition",value:function(e){var t=e*this.totalTime;this.players.forEach(function(e){var n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}},{key:"getPosition",value:function(){var e=this.players.reduce(function(e,t){return null===e||t.totalTime>e.totalTime?t:e},null);return null!=e?e.getPosition():0}},{key:"beforeDestroy",value:function(){this.players.forEach(function(e){e.beforeDestroy&&e.beforeDestroy()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}();function kg(){return"undefined"!=typeof window&&void 0!==window.document}function xg(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function Sg(e){switch(e.length){case 0:return new _g;case 1:return e[0];default:return new wg(e)}}function Cg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=[],s=[],u=-1,c=null;if(i.forEach(function(e){var n=e.offset,i=n==u,l=i&&c||{};Object.keys(e).forEach(function(n){var i=n,s=e[n];if("offset"!==n)switch(i=t.normalizePropertyName(i,a),s){case"!":s=r[n];break;case dg:s=o[n];break;default:s=t.normalizeStyleValue(n,i,s,a)}l[i]=s}),i||s.push(l),c=l,u=n}),a.length){var l="\n - ";throw new Error("Unable to animate due to the following errors:".concat(l).concat(a.join(l)))}return s}function Eg(e,t,n,i){switch(t){case"start":e.onStart(function(){return i(n&&Og(n,"start",e))});break;case"done":e.onDone(function(){return i(n&&Og(n,"done",e))});break;case"destroy":e.onDestroy(function(){return i(n&&Og(n,"destroy",e))})}}function Og(e,t,n){var i=n.totalTime,r=Tg(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==i?e.totalTime:i,!!n.disabled),o=e._data;return null!=o&&(r._data=o),r}function Tg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=arguments.length>6?arguments[6]:void 0;return{element:e,triggerName:t,fromState:n,toState:i,phaseName:r,totalTime:o,disabled:!!a}}function Pg(e,t,n){var i;return e instanceof Map?(i=e.get(t))||e.set(t,i=n):(i=e[t])||(i=e[t]=n),i}function Ag(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var Mg=function(e,t){return!1},Ig=function(e,t){return!1},Rg=function(e,t,n){return[]},Dg=xg();(Dg||"undefined"!=typeof Element)&&(Mg=kg()?function(e,t){for(;t&&t!==document.documentElement;){if(t===e)return!0;t=t.parentNode||t.host}return!1}:function(e,t){return e.contains(t)},Ig=function(){if(Dg||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:Ig}(),Rg=function(e,t,n){var i=[];if(n)for(var r=e.querySelectorAll(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function em(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t)for(var i in e)n[i]=e[i];else Jg(e,n);return n}function tm(e,t,n){return n?t+":"+n+";":""}function nm(e){for(var t="",n=0;n *";case":leave":return"* => void";case":increment":return function(e,t){return parseFloat(t)>parseFloat(e)};case":decrement":return function(e,t){return parseFloat(t) *"}}(e,n);if("function"==typeof i)return void t.push(i);e=i}var r=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==r||r.length<4)return n.push('The provided transition expression "'.concat(e,'" is not supported')),t;var o=r[1],a=r[2],s=r[3];t.push(_m(o,s)),"<"==a[0]&&("*"!=o||"*"!=s)&&t.push(_m(s,o))}(e,n,t)}):n.push(e),n}var ym=new Set(["true","1"]),bm=new Set(["false","0"]);function _m(e,t){var n=ym.has(e)||bm.has(e),i=ym.has(t)||bm.has(t);return function(r,o){var a="*"==e||e==r,s="*"==t||t==o;return!a&&n&&"boolean"==typeof r&&(a=r?ym.has(e):bm.has(e)),!s&&i&&"boolean"==typeof o&&(s=o?ym.has(t):bm.has(t)),a&&s}}var wm=new RegExp("s*:selfs*,?","g");function km(e,t,n){return new xm(e).build(t,n)}var xm=function(){function e(t){m(this,e),this._driver=t}return b(e,[{key:"build",value:function(e,t){var n=new Sm(t);return this._resetContextStyleTimingState(n),vm(this,om(e),n)}},{key:"_resetContextStyleTimingState",value:function(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}},{key:"visitTrigger",value:function(e,t){var n=this,i=t.queryCount=0,r=t.depCount=0,o=[],a=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(function(e){if(n._resetContextStyleTimingState(t),0==e.type){var s=e,u=s.name;u.toString().split(/\s*,\s*/).forEach(function(e){s.name=e,o.push(n.visitState(s,t))}),s.name=u}else if(1==e.type){var c=n.visitTransition(e,t);i+=c.queryCount,r+=c.depCount,a.push(c)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:o,transitions:a,queryCount:i,depCount:r,options:null}}},{key:"visitState",value:function(e,t){var n=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(n.containsDynamicStyles){var r=new Set,o=i||{};if(n.styles.forEach(function(e){if(Cm(e)){var t=e;Object.keys(t).forEach(function(e){sm(t[e]).forEach(function(e){o.hasOwnProperty(e)||r.add(e)})})}}),r.size){var a=cm(r.values());t.errors.push('state("'.concat(e.name,'", ...) must define default values for all the following style substitutions: ').concat(a.join(", ")))}}return{type:0,name:e.name,style:n,options:i?{params:i}:null}}},{key:"visitTransition",value:function(e,t){t.queryCount=0,t.depCount=0;var n=vm(this,om(e.animation),t);return{type:1,matchers:mm(e.expr,t.errors),animation:n,queryCount:t.queryCount,depCount:t.depCount,options:Em(e.options)}}},{key:"visitSequence",value:function(e,t){var n=this;return{type:2,steps:e.steps.map(function(e){return vm(n,e,t)}),options:Em(e.options)}}},{key:"visitGroup",value:function(e,t){var n=this,i=t.currentTime,r=0,o=e.steps.map(function(e){t.currentTime=i;var o=vm(n,e,t);return r=Math.max(r,t.currentTime),o});return t.currentTime=r,{type:3,steps:o,options:Em(e.options)}}},{key:"visitAnimate",value:function(e,t){var n=function(e,t){var n=null;if(e.hasOwnProperty("duration"))n=e;else if("number"==typeof e)return Om(Zg(e,t).duration,0,"");var i=e;if(i.split(/\s+/).some(function(e){return"{"==e.charAt(0)&&"{"==e.charAt(1)})){var r=Om(0,0,"");return r.dynamic=!0,r.strValue=i,r}return Om((n=n||Zg(i,t)).duration,n.delay,n.easing)}(e.timings,t.errors);t.currentAnimateTimings=n;var i,r=e.styles?e.styles:gg({});if(5==r.type)i=this.visitKeyframes(r,t);else{var o=e.styles,a=!1;if(!o){a=!0;var s={};n.easing&&(s.easing=n.easing),o=gg(s)}t.currentTime+=n.duration+n.delay;var u=this.visitStyle(o,t);u.isEmptyStep=a,i=u}return t.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}},{key:"visitStyle",value:function(e,t){var n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}},{key:"_makeStyleAst",value:function(e,t){var n=[];Array.isArray(e.styles)?e.styles.forEach(function(e){"string"==typeof e?e==dg?n.push(e):t.errors.push("The provided style string value ".concat(e," is not allowed.")):n.push(e)}):n.push(e.styles);var i=!1,r=null;return n.forEach(function(e){if(Cm(e)){var t=e,n=t.easing;if(n&&(r=n,delete t.easing),!i)for(var o in t)if(t[o].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:e.offset,containsDynamicStyles:i,options:null}}},{key:"_validateStyleAst",value:function(e,t){var n=this,i=t.currentAnimateTimings,r=t.currentTime,o=t.currentTime;i&&o>0&&(o-=i.duration+i.delay),e.styles.forEach(function(e){"string"!=typeof e&&Object.keys(e).forEach(function(i){if(n._driver.validateStyleProperty(i)){var a=t.collectedStyles[t.currentQuerySelector],s=a[i],u=!0;s&&(o!=r&&o>=s.startTime&&r<=s.endTime&&(t.errors.push('The CSS property "'.concat(i,'" that exists between the times of "').concat(s.startTime,'ms" and "').concat(s.endTime,'ms" is also being animated in a parallel animation between the times of "').concat(o,'ms" and "').concat(r,'ms"')),u=!1),o=s.startTime),u&&(a[i]={startTime:o,endTime:r}),t.options&&function(e,t,n){var i=t.params||{},r=sm(e);r.length&&r.forEach(function(e){i.hasOwnProperty(e)||n.push("Unable to resolve the local animation param ".concat(e," in the given list of values"))})}(e[i],t.options,t.errors)}else t.errors.push('The provided animation property "'.concat(i,'" is not a supported CSS property for animations'))})})}},{key:"visitKeyframes",value:function(e,t){var n=this,i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;var r=0,o=[],a=!1,s=!1,u=0,c=e.steps.map(function(e){var i=n._makeStyleAst(e,t),c=null!=i.offset?i.offset:function(e){if("string"==typeof e)return null;var t=null;if(Array.isArray(e))e.forEach(function(e){if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}});else if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}return t}(i.styles),l=0;return null!=c&&(r++,l=i.offset=c),s=s||l<0||l>1,a=a||l0&&r0?r==d?1:h*r:o[r],s=a*v;t.currentTime=f+p.delay+s,p.duration=s,n._validateStyleAst(e,t),e.offset=a,i.styles.push(e)}),i}},{key:"visitReference",value:function(e,t){return{type:8,animation:vm(this,om(e.animation),t),options:Em(e.options)}}},{key:"visitAnimateChild",value:function(e,t){return t.depCount++,{type:9,options:Em(e.options)}}},{key:"visitAnimateRef",value:function(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:Em(e.options)}}},{key:"visitQuery",value:function(e,n){var i=n.currentQuerySelector,r=e.options||{};n.queryCount++,n.currentQuery=e;var o=t(function(e){var t=!!e.split(/\s*,\s*/).find(function(e){return":self"==e});return t&&(e=e.replace(wm,"")),[e=e.replace(/@\*/g,Xg).replace(/@\w+/g,function(e){return Xg+"-"+e.substr(1)}).replace(/:animating/g,Kg),t]}(e.selector),2),a=o[0],s=o[1];n.currentQuerySelector=i.length?i+" "+a:a,Pg(n.collectedStyles,n.currentQuerySelector,{});var u=vm(this,om(e.animation),n);return n.currentQuery=null,n.currentQuerySelector=i,{type:11,selector:a,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:u,originalSelector:e.selector,options:Em(e.options)}}},{key:"visitStagger",value:function(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");var n="full"===e.timings?{duration:0,delay:0,easing:"full"}:Zg(e.timings,t.errors,!0);return{type:12,animation:vm(this,om(e.animation),t),timings:n,options:null}}}]),e}(),Sm=function e(t){m(this,e),this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function Cm(e){return!Array.isArray(e)&&"object"==typeof e}function Em(e){return e?(e=Jg(e)).params&&(e.params=function(e){return e?Jg(e):null}(e.params)):e={},e}function Om(e,t,n){return{duration:e,delay:t,easing:n}}function Tm(e,t,n,i,r,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];return{type:1,element:e,keyframes:t,preStyleProps:n,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:a,subTimeline:s}}var Pm=function(){function e(){m(this,e),this._map=new Map}return b(e,[{key:"consume",value:function(e){var t=this._map.get(e);return t?this._map.delete(e):t=[],t}},{key:"append",value:function(e,t){var n,i=this._map.get(e);i||this._map.set(e,i=[]),(n=i).push.apply(n,v(t))}},{key:"has",value:function(e){return this._map.has(e)}},{key:"clear",value:function(){this._map.clear()}}]),e}(),Am=new RegExp(":enter","g"),Mm=new RegExp(":leave","g");function Im(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];return(new Rm).buildKeyframes(e,t,n,i,r,o,a,s,u,c)}var Rm=function(){function e(){m(this,e)}return b(e,[{key:"buildKeyframes",value:function(e,t,n,i,r,o,a,s,u){var c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];u=u||new Pm;var l=new Nm(e,t,u,i,r,c,[]);l.options=s,l.currentTimeline.setStyles([o],null,l.errors,s),vm(this,n,l);var h=l.timelines.filter(function(e){return e.containsAnimation()});if(h.length&&Object.keys(a).length){var d=h[h.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,l.errors,s)}return h.length?h.map(function(e){return e.buildKeyframes()}):[Tm(t,[],[],[],0,0,"",!1)]}},{key:"visitTrigger",value:function(e,t){}},{key:"visitState",value:function(e,t){}},{key:"visitTransition",value:function(e,t){}},{key:"visitAnimateChild",value:function(e,t){var n=t.subInstructions.consume(t.element);if(n){var i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}},{key:"visitAnimateRef",value:function(e,t){var n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}},{key:"_visitSubInstructions",value:function(e,t,n){var i=t.currentTimeline.currentTime,r=null!=n.duration?$g(n.duration):null,o=null!=n.delay?$g(n.delay):null;return 0!==r&&e.forEach(function(e){var n=t.appendInstructionToTimeline(e,r,o);i=Math.max(i,n.duration+n.delay)}),i}},{key:"visitReference",value:function(e,t){t.updateOptions(e.options,!0),vm(this,e.animation,t),t.previousNode=e}},{key:"visitSequence",value:function(e,t){var n=this,i=t.subContextCount,r=t,o=e.options;if(o&&(o.params||o.delay)&&((r=t.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Dm);var a=$g(o.delay);r.delayNextStep(a)}e.steps.length&&(e.steps.forEach(function(e){return vm(n,e,r)}),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}},{key:"visitGroup",value:function(e,t){var n=this,i=[],r=t.currentTimeline.currentTime,o=e.options&&e.options.delay?$g(e.options.delay):0;e.steps.forEach(function(a){var s=t.createSubContext(e.options);o&&s.delayNextStep(o),vm(n,a,s),r=Math.max(r,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(function(e){return t.currentTimeline.mergeTimelineCollectedStyles(e)}),t.transformIntoNewTimeline(r),t.previousNode=e}},{key:"_visitTiming",value:function(e,t){if(e.dynamic){var n=e.strValue;return Zg(t.params?um(n,t.params,t.errors):n,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}},{key:"visitAnimate",value:function(e,t){var n=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),i.snapshotCurrentStyles());var r=e.style;5==r.type?this.visitKeyframes(r,t):(t.incrementTime(n.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}},{key:"visitStyle",value:function(e,t){var n=t.currentTimeline,i=t.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();var r=i&&i.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(r):n.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}},{key:"visitKeyframes",value:function(e,t){var n=t.currentAnimateTimings,i=t.currentTimeline.duration,r=n.duration,o=t.createSubContext().currentTimeline;o.easing=n.easing,e.styles.forEach(function(e){o.forwardTime((e.offset||0)*r),o.setStyles(e.styles,e.easing,t.errors,t.options),o.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(o),t.transformIntoNewTimeline(i+r),t.previousNode=e}},{key:"visitQuery",value:function(e,t){var n=this,i=t.currentTimeline.currentTime,r=e.options||{},o=r.delay?$g(r.delay):0;o&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Dm);var a=i,s=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=s.length;var u=null;s.forEach(function(i,r){t.currentQueryIndex=r;var s=t.createSubContext(e.options,i);o&&s.delayNextStep(o),i===t.element&&(u=s.currentTimeline),vm(n,e.animation,s),s.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,s.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),u&&(t.currentTimeline.mergeTimelineCollectedStyles(u),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}},{key:"visitStagger",value:function(e,t){var n=t.parentContext,i=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),s=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var u=t.currentTimeline;s&&u.delayNextStep(s);var c=u.currentTime;vm(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}]),e}(),Dm={},Nm=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this._driver=t,this.element=n,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=a,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Dm,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=u||new Lm(this._driver,n,0),s.push(this.currentTimeline)}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"updateOptions",value:function(e,t){var n=this;if(e){var i=e,r=this.options;null!=i.duration&&(r.duration=$g(i.duration)),null!=i.delay&&(r.delay=$g(i.delay));var o=i.params;if(o){var a=r.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(e){(!t||!a.hasOwnProperty(e))&&(a[e]=um(o[e],a,n.errors))})}}}},{key:"_copyOptions",value:function(){var e={};if(this.options){var t=this.options.params;if(t){var n=e.params={};Object.keys(t).forEach(function(e){n[e]=t[e]})}}return e}},{key:"createSubContext",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0,r=n||this.element,o=new e(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}},{key:"transformIntoNewTimeline",value:function(e){return this.previousNode=Dm,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"appendInstructionToTimeline",value:function(e,t,n){var i={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+e.delay,easing:""},r=new jm(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}},{key:"incrementTime",value:function(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}},{key:"delayNextStep",value:function(e){e>0&&this.currentTimeline.delayNextStep(e)}},{key:"invokeQuery",value:function(e,t,n,i,r,o){var a=[];if(i&&a.push(this.element),e.length>0){e=(e=e.replace(Am,"."+this._enterClassName)).replace(Mm,"."+this._leaveClassName);var s=this._driver.query(this.element,e,1!=n);0!==n&&(s=n<0?s.slice(s.length+n,s.length):s.slice(0,n)),a.push.apply(a,v(s))}return!r&&0==a.length&&o.push('`query("'.concat(t,'")` returned zero elements. (Use `query("').concat(t,'", { optional: true })` if you wish to allow this.)')),a}}]),e}(),Lm=function(){function e(t,n,i,r){m(this,e),this._driver=t,this.element=n,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(n),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(n,this._localTimelineStyles)),this._loadKeyframe()}return b(e,[{key:"containsAnimation",value:function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}},{key:"getCurrentStyleProperties",value:function(){return Object.keys(this._currentKeyframe)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"delayNextStep",value:function(e){var t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}},{key:"fork",value:function(t,n){return this.applyStylesToKeyframe(),new e(this._driver,t,n||this.currentTime,this._elementTimelineStylesLookup)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration+=1,this._loadKeyframe()}},{key:"forwardTime",value:function(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}},{key:"_updateStyle",value:function(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}},{key:"allowOnlyTimelineStyles",value:function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}},{key:"applyEmptyStep",value:function(e){var t=this;e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(function(e){t._backFill[e]=t._globalTimelineStyles[e]||dg,t._currentKeyframe[e]=dg}),this._currentEmptyStepKeyframe=this._currentKeyframe}},{key:"setStyles",value:function(e,t,n,i){var r=this;t&&(this._previousKeyframe.easing=t);var o=i&&i.params||{},a=function(e,t){var n,i={};return e.forEach(function(e){"*"===e?(n=n||Object.keys(t)).forEach(function(e){i[e]=dg}):em(e,!1,i)}),i}(e,this._globalTimelineStyles);Object.keys(a).forEach(function(e){var t=um(a[e],o,n);r._pendingStyles[e]=t,r._localTimelineStyles.hasOwnProperty(e)||(r._backFill[e]=r._globalTimelineStyles.hasOwnProperty(e)?r._globalTimelineStyles[e]:dg),r._updateStyle(e,t)})}},{key:"applyStylesToKeyframe",value:function(){var e=this,t=this._pendingStyles,n=Object.keys(t);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){e._currentKeyframe[n]=t[n]}),Object.keys(this._localTimelineStyles).forEach(function(t){e._currentKeyframe.hasOwnProperty(t)||(e._currentKeyframe[t]=e._localTimelineStyles[t])}))}},{key:"snapshotCurrentStyles",value:function(){var e=this;Object.keys(this._localTimelineStyles).forEach(function(t){var n=e._localTimelineStyles[t];e._pendingStyles[t]=n,e._updateStyle(t,n)})}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"properties",get:function(){var e=[];for(var t in this._currentKeyframe)e.push(t);return e}},{key:"mergeTimelineCollectedStyles",value:function(e){var t=this;Object.keys(e._styleSummary).forEach(function(n){var i=t._styleSummary[n],r=e._styleSummary[n];(!i||r.time>i.time)&&t._updateStyle(n,r.value)})}},{key:"buildKeyframes",value:function(){var e=this;this.applyStylesToKeyframe();var t=new Set,n=new Set,i=1===this._keyframes.size&&0===this.duration,r=[];this._keyframes.forEach(function(o,a){var s=em(o,!0);Object.keys(s).forEach(function(e){var i=s[e];"!"==i?t.add(e):i==dg&&n.add(e)}),i||(s.offset=a/e.duration),r.push(s)});var o=t.size?cm(t.values()):[],a=n.size?cm(n.values()):[];if(i){var s=r[0],u=Jg(s);s.offset=0,u.offset=1,r=[s,u]}return Tm(this.element,r,o,a,this.duration,this.startTime,this.easing,!1)}}]),e}(),jm=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];return m(this,n),(u=t.call(this,e,i,s.delay)).keyframes=r,u.preStyleProps=o,u.postStyleProps=a,u._stretchStartingKeyframe=c,u.timings={duration:s.duration,delay:s.delay,easing:s.easing},u}return b(n,[{key:"containsAnimation",value:function(){return this.keyframes.length>1}},{key:"buildKeyframes",value:function(){var e=this.keyframes,t=this.timings,n=t.delay,i=t.duration,r=t.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=i+n,s=n/a,u=em(e[0],!1);u.offset=0,o.push(u);var c=em(e[0],!1);c.offset=Fm(s),o.push(c);for(var l=e.length-1,h=1;h<=l;h++){var d=em(e[h],!1);d.offset=Fm((n+d.offset*i)/a),o.push(d)}i=a,n=0,r="",e=o}return Tm(this.element,e,this.preStyleProps,this.postStyleProps,i,n,r,!0)}}]),n}(Lm);function Fm(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=Math.pow(10,t-1);return Math.round(e*n)/n}var Bm=function e(){m(this,e)},Vm=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"normalizePropertyName",value:function(e,t){return hm(e)}},{key:"normalizeStyleValue",value:function(e,t,n,i){var r="",o=n.toString().trim();if(zm[t]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&i.push("Please provide a CSS unit value for ".concat(e,":").concat(n))}return o+r}}]),n}(Bm),zm=function(e){var t={};return e.forEach(function(e){return t[e]=!0}),t}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","));function Um(e,t,n,i,r,o,a,s,u,c,l,h,d){return{type:0,element:e,triggerName:t,isRemovalTransition:r,fromState:n,fromStyles:o,toState:i,toStyles:a,timelines:s,queriedElements:u,preStyleProps:c,postStyleProps:l,totalTime:h,errors:d}}var Hm={},Gm=function(){function e(t,n,i){m(this,e),this._triggerName=t,this.ast=n,this._stateStyles=i}return b(e,[{key:"match",value:function(e,t,n,i){return function(e,t,n,i,r){return e.some(function(e){return e(t,n,i,r)})}(this.ast.matchers,e,t,n,i)}},{key:"buildStyles",value:function(e,t,n){var i=this._stateStyles["*"],r=this._stateStyles[e],o=i?i.buildStyles(t,n):{};return r?r.buildStyles(t,n):o}},{key:"build",value:function(e,t,n,i,r,o,a,s,u,c){var l=[],h=this.ast.options&&this.ast.options.params||Hm,d=this.buildStyles(n,a&&a.params||Hm,l),f=s&&s.params||Hm,p=this.buildStyles(i,f,l),v=new Set,g=new Map,m=new Map,y="void"===i,b={params:Object.assign(Object.assign({},h),f)},_=c?[]:Im(e,t,this.ast.animation,r,o,d,p,b,u,l),w=0;if(_.forEach(function(e){w=Math.max(e.duration+e.delay,w)}),l.length)return Um(t,this._triggerName,n,i,y,d,p,[],[],g,m,w,l);_.forEach(function(e){var n=e.element,i=Pg(g,n,{});e.preStyleProps.forEach(function(e){return i[e]=!0});var r=Pg(m,n,{});e.postStyleProps.forEach(function(e){return r[e]=!0}),n!==t&&v.add(n)});var k=cm(v.values());return Um(t,this._triggerName,n,i,y,d,p,_,k,g,m,w)}}]),e}(),Wm=function(){function e(t,n,i){m(this,e),this.styles=t,this.defaultParams=n,this.normalizer=i}return b(e,[{key:"buildStyles",value:function(e,t){var n=this,i={},r=Jg(this.defaultParams);return Object.keys(e).forEach(function(t){var n=e[t];null!=n&&(r[t]=n)}),this.styles.styles.forEach(function(e){if("string"!=typeof e){var o=e;Object.keys(o).forEach(function(e){var a=o[e];a.length>1&&(a=um(a,r,t));var s=n.normalizer.normalizePropertyName(e,t);a=n.normalizer.normalizeStyleValue(e,s,a,t),i[s]=a})}}),i}}]),e}(),qm=function(){function e(t,n,i){var r=this;m(this,e),this.name=t,this.ast=n,this._normalizer=i,this.transitionFactories=[],this.states={},n.states.forEach(function(e){r.states[e.name]=new Wm(e.style,e.options&&e.options.params||{},i)}),Xm(this.states,"true","1"),Xm(this.states,"false","0"),n.transitions.forEach(function(e){r.transitionFactories.push(new Gm(t,e,r.states))}),this.fallbackTransition=function(e,t,n){return new Gm(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(e,t){return!0}],options:null,queryCount:0,depCount:0},t)}(t,this.states)}return b(e,[{key:"containsQueries",get:function(){return this.ast.queryCount>0}},{key:"matchTransition",value:function(e,t,n,i){return this.transitionFactories.find(function(r){return r.match(e,t,n,i)})||null}},{key:"matchStyles",value:function(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}}]),e}();function Xm(e,t,n){e.hasOwnProperty(t)?e.hasOwnProperty(n)||(e[n]=e[t]):e.hasOwnProperty(n)&&(e[t]=e[n])}var Ym=new Pm,Km=function(){function e(t,n,i){m(this,e),this.bodyNode=t,this._driver=n,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}return b(e,[{key:"register",value:function(e,t){var n=[],i=km(this._driver,t,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: ".concat(n.join("\n")));this._animations[e]=i}},{key:"_buildPlayer",value:function(e,t,n){var i=e.element,r=Cg(0,this._normalizer,0,e.keyframes,t,n);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}},{key:"create",value:function(e,t){var n,i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=[],a=this._animations[e],s=new Map;if(a?(n=Im(this._driver,t,a,Gg,Wg,{},{},r,Ym,o)).forEach(function(e){var t=Pg(s,e.element,{});e.postStyleProps.forEach(function(e){return t[e]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),n=[]),o.length)throw new Error("Unable to create the animation due to the following errors: ".concat(o.join("\n")));s.forEach(function(e,t){Object.keys(e).forEach(function(n){e[n]=i._driver.computeStyle(t,n,dg)})});var u=Sg(n.map(function(e){var t=s.get(e.element);return i._buildPlayer(e,{},t)}));return this._playersById[e]=u,u.onDestroy(function(){return i.destroy(e)}),this.players.push(u),u}},{key:"destroy",value:function(e){var t=this._getPlayer(e);t.destroy(),delete this._playersById[e];var n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}},{key:"_getPlayer",value:function(e){var t=this._playersById[e];if(!t)throw new Error("Unable to find the timeline player referenced by ".concat(e));return t}},{key:"listen",value:function(e,t,n,i){var r=Tg(t,"","","");return Eg(this._getPlayer(e),n,r,i),function(){}}},{key:"command",value:function(e,t,n,i){if("register"!=n)if("create"!=n){var r=this._getPlayer(e);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e)}}else this.create(e,t,i[0]||{});else this.register(e,i[0])}}]),e}(),$m="ng-animate-queued",Qm="ng-animate-disabled",Zm=".ng-animate-disabled",Jm=[],ey={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},ty={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ny="__ng_removed",iy=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";m(this,e),this.namespaceId=n;var i=t&&t.hasOwnProperty("value");if(this.value=function(e){return null!=e?e:null}(i?t.value:t),i){var r=Jg(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"absorbOptions",value:function(e){var t=e.params;if(t){var n=this.options.params;Object.keys(t).forEach(function(e){null==n[e]&&(n[e]=t[e])})}}}]),e}(),ry="void",oy=new iy(ry),ay=function(){function e(t,n,i){m(this,e),this.id=t,this.hostElement=n,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,py(n,this._hostClassName)}return b(e,[{key:"listen",value:function(e,t,n,i){var r=this;if(!this._triggers.hasOwnProperty(t))throw new Error('Unable to listen on the animation trigger event "'.concat(n,'" because the animation trigger "').concat(t,"\" doesn't exist!"));if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'.concat(t,'" because the provided event is undefined!'));if(!function(e){return"start"==e||"done"==e}(n))throw new Error('The provided animation trigger event "'.concat(n,'" for the animation trigger "').concat(t,'" is not supported!'));var o=Pg(this._elementListeners,e,[]),a={name:t,phase:n,callback:i};o.push(a);var s=Pg(this._engine.statesByElement,e,{});return s.hasOwnProperty(t)||(py(e,qg),py(e,qg+"-"+t),s[t]=oy),function(){r._engine.afterFlush(function(){var e=o.indexOf(a);e>=0&&o.splice(e,1),r._triggers[t]||delete s[t]})}}},{key:"register",value:function(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}},{key:"_getTrigger",value:function(e){var t=this._triggers[e];if(!t)throw new Error('The provided animation trigger "'.concat(e,'" has not been registered!'));return t}},{key:"trigger",value:function(e,t,n){var i=this,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this._getTrigger(t),a=new uy(this.id,t,e),s=this._engine.statesByElement.get(e);s||(py(e,qg),py(e,qg+"-"+t),this._engine.statesByElement.set(e,s={}));var u=s[t],c=new iy(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&u&&c.absorbOptions(u.options),s[t]=c,u||(u=oy),c.value===ry||u.value!==c.value){var l=Pg(this._engine.playersByElement,e,[]);l.forEach(function(e){e.namespaceId==i.id&&e.triggerName==t&&e.queued&&e.destroy()});var h=o.matchTransition(u.value,c.value,e,c.params),d=!1;if(!h){if(!r)return;h=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:h,fromState:u,toState:c,player:a,isFallbackTransition:d}),d||(py(e,$m),a.onStart(function(){vy(e,$m)})),a.onDone(function(){var t=i.players.indexOf(a);t>=0&&i.players.splice(t,1);var n=i._engine.playersByElement.get(e);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),l.push(a),a}if(!function(e,t){var n=Object.keys(e),i=Object.keys(t);if(n.length!=i.length)return!1;for(var r=0;r=0){for(var i=!1,r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,t)){this._namespaceList.splice(r+1,0,e),i=!0;break}i||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}},{key:"register",value:function(e,t){var n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}},{key:"registerTrigger",value:function(e,t,n){var i=this._namespaceLookup[e];i&&i.register(t,n)&&this.totalAnimations++}},{key:"destroy",value:function(e,t){var n=this;if(e){var i=this._fetchNamespace(e);this.afterFlush(function(){n.namespacesByHostElement.delete(i.hostElement),delete n._namespaceLookup[e];var t=n._namespaceList.indexOf(i);t>=0&&n._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(function(){return i.destroy(t)})}}},{key:"_fetchNamespace",value:function(e){return this._namespaceLookup[e]}},{key:"fetchNamespacesByElement",value:function(e){var t=new Set,n=this.statesByElement.get(e);if(n)for(var i=Object.keys(n),r=0;r=0&&this.collectedLeaveElements.splice(o,1)}if(e){var a=this._fetchNamespace(e);a&&a.insertNode(t,n)}i&&this.collectEnterElement(t)}}},{key:"collectEnterElement",value:function(e){this.collectedEnterElements.push(e)}},{key:"markElementAsDisabled",value:function(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),py(e,Qm)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),vy(e,Qm))}},{key:"removeNode",value:function(e,t,n,i){if(cy(t)){var r=e?this._fetchNamespace(e):null;if(r?r.removeNode(t,i):this.markElementAsRemoved(e,t,!1,i),n){var o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,i)}}else this._onRemovalComplete(t,i)}},{key:"markElementAsRemoved",value:function(e,t,n,i){this.collectedLeaveElements.push(t),t[ny]={namespaceId:e,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}},{key:"listen",value:function(e,t,n,i,r){return cy(t)?this._fetchNamespace(e).listen(t,n,i,r):function(){}}},{key:"_buildInstruction",value:function(e,t,n,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,i,e.fromState.options,e.toState.options,t,r)}},{key:"destroyInnerAnimations",value:function(e){var t=this,n=this.driver.query(e,Xg,!0);n.forEach(function(e){return t.destroyActiveAnimationsForElement(e)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(e,Kg,!0)).forEach(function(e){return t.finishActiveQueriedAnimationOnElement(e)})}},{key:"destroyActiveAnimationsForElement",value:function(e){var t=this.playersByElement.get(e);t&&t.forEach(function(e){e.queued?e.markedForDestroy=!0:e.destroy()})}},{key:"finishActiveQueriedAnimationOnElement",value:function(e){var t=this.playersByQueriedElement.get(e);t&&t.forEach(function(e){return e.finish()})}},{key:"whenRenderingDone",value:function(){var e=this;return new Promise(function(t){if(e.players.length)return Sg(e.players).onDone(function(){return t()});t()})}},{key:"processLeaveNode",value:function(e){var t=this,n=e[ny];if(n&&n.setForRemoval){if(e[ny]=ey,n.namespaceId){this.destroyInnerAnimations(e);var i=this._fetchNamespace(n.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,n.setForRemoval)}this.driver.matchesElement(e,Zm)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Zm,!0).forEach(function(e){t.markElementAsDisabled(e,!1)})}},{key:"flush",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,n){return e._balanceNamespaceList(t,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var i=0;i=0;O--)this._namespaceList[O].drainQueuedTransitions(t).forEach(function(e){var t=e.player,o=e.element;if(C.push(t),n.collectedEnterElements.length){var l=o[ny];if(l&&l.setForMove)return void t.destroy()}var d=!h||!n.driver.containsElement(h,o),f=x.get(o),v=p.get(o),g=n._buildInstruction(e,i,v,f,d);if(g.errors&&g.errors.length)E.push(g);else{if(d)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);if(e.isFallbackTransition)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);g.timelines.forEach(function(e){return e.stretchStartingKeyframe=!0}),i.append(o,g.timelines),a.push({instruction:g,player:t,element:o}),g.queriedElements.forEach(function(e){return Pg(s,e,[]).push(t)}),g.preStyleProps.forEach(function(e,t){var n=Object.keys(e);if(n.length){var i=u.get(t);i||u.set(t,i=new Set),n.forEach(function(e){return i.add(e)})}}),g.postStyleProps.forEach(function(e,t){var n=Object.keys(e),i=c.get(t);i||c.set(t,i=new Set),n.forEach(function(e){return i.add(e)})})}});if(E.length){var T=[];E.forEach(function(e){T.push("@".concat(e.triggerName," has failed due to:\n")),e.errors.forEach(function(e){return T.push("- ".concat(e,"\n"))})}),C.forEach(function(e){return e.destroy()}),this.reportError(T)}var P=new Map,A=new Map;a.forEach(function(e){var t=e.element;i.has(t)&&(A.set(t,t),n._beforeAnimationBuild(e.player.namespaceId,e.instruction,P))}),r.forEach(function(e){var t=e.element;n._getPreviousPlayers(t,!1,e.namespaceId,e.triggerName,null).forEach(function(e){Pg(P,t,[]).push(e),e.destroy()})});var M=m.filter(function(e){return yy(e,u,c)}),I=new Map;hy(I,this.driver,b,c,dg).forEach(function(e){yy(e,u,c)&&M.push(e)});var R=new Map;f.forEach(function(e,t){hy(R,n.driver,new Set(e),u,"!")}),M.forEach(function(e){var t=I.get(e),n=R.get(e);I.set(e,Object.assign(Object.assign({},t),n))});var D=[],N=[],L={};a.forEach(function(e){var t=e.element,a=e.player,s=e.instruction;if(i.has(t)){if(l.has(t))return a.onDestroy(function(){return im(t,s.toStyles)}),a.disabled=!0,a.overrideTotalTime(s.totalTime),void r.push(a);var u=L;if(A.size>1){for(var c=t,h=[];c=c.parentNode;){var d=A.get(c);if(d){u=d;break}h.push(c)}h.forEach(function(e){return A.set(e,u)})}var f=n._buildAnimation(a.namespaceId,s,P,o,R,I);if(a.setRealPlayer(f),u===L)D.push(a);else{var p=n.playersByElement.get(u);p&&p.length&&(a.parentPlayer=Sg(p)),r.push(a)}}else rm(t,s.fromStyles),a.onDestroy(function(){return im(t,s.toStyles)}),N.push(a),l.has(t)&&r.push(a)}),N.forEach(function(e){var t=o.get(e.element);if(t&&t.length){var n=Sg(t);e.setRealPlayer(n)}}),r.forEach(function(e){e.parentPlayer?e.syncPlayerEvents(e.parentPlayer):e.destroy()});for(var j=0;j0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new _g(e.duration,e.delay)}}]),e}(),uy=function(){function e(t,n,i){m(this,e),this.namespaceId=t,this.triggerName=n,this.element=i,this._player=new _g,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return b(e,[{key:"setRealPlayer",value:function(e){var t=this;this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(function(n){t._queuedCallbacks[n].forEach(function(t){return Eg(e,n,void 0,t)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}},{key:"getRealPlayer",value:function(){return this._player}},{key:"overrideTotalTime",value:function(e){this.totalTime=e}},{key:"syncPlayerEvents",value:function(e){var t=this,n=this._player;n.triggerCallback&&e.onStart(function(){return n.triggerCallback("start")}),e.onDone(function(){return t.finish()}),e.onDestroy(function(){return t.destroy()})}},{key:"_queueEvent",value:function(e,t){Pg(this._queuedCallbacks,e,[]).push(t)}},{key:"onDone",value:function(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}},{key:"onStart",value:function(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}},{key:"onDestroy",value:function(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}},{key:"init",value:function(){this._player.init()}},{key:"hasStarted",value:function(){return!this.queued&&this._player.hasStarted()}},{key:"play",value:function(){!this.queued&&this._player.play()}},{key:"pause",value:function(){!this.queued&&this._player.pause()}},{key:"restart",value:function(){!this.queued&&this._player.restart()}},{key:"finish",value:function(){this._player.finish()}},{key:"destroy",value:function(){this.destroyed=!0,this._player.destroy()}},{key:"reset",value:function(){!this.queued&&this._player.reset()}},{key:"setPosition",value:function(e){this.queued||this._player.setPosition(e)}},{key:"getPosition",value:function(){return this.queued?0:this._player.getPosition()}},{key:"triggerCallback",value:function(e){var t=this._player;t.triggerCallback&&t.triggerCallback(e)}}]),e}();function cy(e){return e&&1===e.nodeType}function ly(e,t){var n=e.style.display;return e.style.display=null!=t?t:"none",n}function hy(e,t,n,i,r){var o=[];n.forEach(function(e){return o.push(ly(e))});var a=[];i.forEach(function(n,i){var o={};n.forEach(function(e){var n=o[e]=t.computeStyle(i,e,r);(!n||0==n.length)&&(i[ny]=ty,a.push(i))}),e.set(i,o)});var s=0;return n.forEach(function(e){return ly(e,o[s++])}),a}function dy(e,t){var n=new Map;if(e.forEach(function(e){return n.set(e,[])}),0==t.length)return n;var i=new Set(t),r=new Map;function o(e){if(!e)return 1;var t=r.get(e);if(t)return t;var a=e.parentNode;return t=n.has(a)?a:i.has(a)?1:o(a),r.set(e,t),t}return t.forEach(function(e){var t=o(e);1!==t&&n.get(t).push(e)}),n}var fy="$$classes";function py(e,t){if(e.classList)e.classList.add(t);else{var n=e[fy];n||(n=e[fy]={}),n[t]=!0}}function vy(e,t){if(e.classList)e.classList.remove(t);else{var n=e[fy];n&&delete n[t]}}function gy(e,t,n){Sg(n).onDone(function(){return e.processLeaveNode(t)})}function my(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:-1;this._transitionEngine.flush(e)}},{key:"players",get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)}},{key:"whenRenderingDone",value:function(){return this._transitionEngine.whenRenderingDone()}}]),e}();function _y(e,t){var n=null,i=null;return Array.isArray(t)&&t.length?(n=ky(t[0]),t.length>1&&(i=ky(t[t.length-1]))):t&&(n=ky(t)),n||i?new wy(e,n,i):null}var wy=function(){function e(t,n,i){m(this,e),this._element=t,this._startStyles=n,this._endStyles=i,this._state=0;var r=e.initialStylesByElement.get(t);r||e.initialStylesByElement.set(t,r={}),this._initialStyles=r}return b(e,[{key:"start",value:function(){this._state<1&&(this._startStyles&&im(this._element,this._startStyles,this._initialStyles),this._state=1)}},{key:"finish",value:function(){this.start(),this._state<2&&(im(this._element,this._initialStyles),this._endStyles&&(im(this._element,this._endStyles),this._endStyles=null),this._state=1)}},{key:"destroy",value:function(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(rm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(rm(this._element,this._endStyles),this._endStyles=null),im(this._element,this._initialStyles),this._state=3)}}]),e}();function ky(e){for(var t=null,n=Object.keys(e),i=0;i=this._delay&&n>=this._duration&&this.finish()}},{key:"finish",value:function(){this._finished||(this._finished=!0,this._onDoneFn(),Ay(this._element,this._eventFn,!0))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,t){var n=Iy(e,"").split(","),i=Py(n,t);i>=0&&(n.splice(i,1),My(e,"",n.join(",")))}(this._element,this._name))}}]),e}();function Oy(e,t,n){My(e,"PlayState",n,Ty(e,t))}function Ty(e,t){var n=Iy(e,"");return n.indexOf(",")>0?Py(n.split(","),t):Py([n],t)}function Py(e,t){for(var n=0;n=0)return n;return-1}function Ay(e,t,n){n?e.removeEventListener(Cy,t):e.addEventListener(Cy,t)}function My(e,t,n,i){var r=Sy+t;if(null!=i){var o=e.style[r];if(o.length){var a=o.split(",");a[i]=n,n=a.join(",")}}e.style[r]=n}function Iy(e,t){return e.style[Sy+t]||""}var Ry=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this.element=t,this.keyframes=n,this.animationName=i,this._duration=r,this._delay=o,this._finalStyles=s,this._specialStyles=u,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=a||"linear",this.totalTime=r+o,this._buildStyler()}return b(e,[{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"destroy",value:function(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"_flushDoneFns",value:function(){this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[]}},{key:"_flushStartFns",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"finish",value:function(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}},{key:"setPosition",value:function(e){this._styler.setPosition(e)}},{key:"getPosition",value:function(){return this._styler.getPosition()}},{key:"hasStarted",value:function(){return this._state>=2}},{key:"init",value:function(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}},{key:"pause",value:function(){this.init(),this._styler.pause()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"reset",value:function(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}},{key:"_buildStyler",value:function(){var e=this;this._styler=new Ey(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return e.finish()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}},{key:"beforeDestroy",value:function(){var e=this;this.init();var t={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(i){"offset"!=i&&(t[i]=n?e._finalStyles[i]:gm(e.element,i))})}this.currentSnapshot=t}}]),e}(),Dy=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this)).element=e,r._startingStyles={},r.__initialized=!1,r._styles=zg(t),r}return b(i,[{key:"init",value:function(){var t=this;this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(function(e){t._startingStyles[e]=t.element.style[e]}),e(p(i.prototype),"init",this).call(this))}},{key:"play",value:function(){var t=this;!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(function(e){return t.element.style.setProperty(e,t._styles[e])}),e(p(i.prototype),"play",this).call(this))}},{key:"destroy",value:function(){var t=this;!this._startingStyles||(Object.keys(this._startingStyles).forEach(function(e){var n=t._startingStyles[e];n?t.element.style.setProperty(e,n):t.element.style.removeProperty(e)}),this._startingStyles=null,e(p(i.prototype),"destroy",this).call(this))}}]),i}(_g),Ny=function(){function e(){m(this,e),this._count=0}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"buildKeyframeElement",value:function(e,t,n){n=n.map(function(e){return zg(e)});var i="@keyframes ".concat(t," {\n"),r="";n.forEach(function(e){r=" ";var t=parseFloat(e.offset);i+="".concat(r).concat(100*t,"% {\n"),r+=" ",Object.keys(e).forEach(function(t){var n=e[t];switch(t){case"offset":return;case"easing":return void(n&&(i+="".concat(r,"animation-timing-function: ").concat(n,";\n")));default:return void(i+="".concat(r).concat(t,": ").concat(n,";\n"))}}),i+="".concat(r,"}\n")}),i+="}\n";var o=document.createElement("style");return o.textContent=i,o}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=o.filter(function(e){return e instanceof Ry}),s={};fm(n,i)&&a.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return s[e]=t[e]})});var u=function(e){var t={};return e&&(Array.isArray(e)?e:[e]).forEach(function(e){Object.keys(e).forEach(function(n){"offset"==n||"easing"==n||(t[n]=e[n])})}),t}(t=pm(e,t,s));if(0==n)return new Dy(e,u);var c="gen_css_kf_"+this._count++,l=this.buildKeyframeElement(e,c,t);(function(e){var t,n=null===(t=e.getRootNode)||void 0===t?void 0:t.call(e);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(e).appendChild(l);var h=_y(e,t),d=new Ry(e,t,c,n,i,r,u,h);return d.onDestroy(function(){return function(e){e.parentNode.removeChild(e)}(l)}),d}}]),e}(),Ly=function(){function e(t,n,i,r){m(this,e),this.element=t,this.keyframes=n,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this._buildPlayer(),this._preparePlayerBeforeStart()}},{key:"_buildPlayer",value:function(){var e=this;if(!this._initialized){this._initialized=!0;var t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",function(){return e._onFinish()})}}},{key:"_preparePlayerBeforeStart",value:function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}},{key:"_triggerWebAnimation",value:function(e,t,n){return e.animate(t,n)}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"play",value:function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}},{key:"pause",value:function(){this.init(),this.domPlayer.pause()}},{key:"finish",value:function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this.domPlayer&&this.domPlayer.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}},{key:"getPosition",value:function(){return this.domPlayer.currentTime/this.time}},{key:"totalTime",get:function(){return this._delay+this._duration}},{key:"beforeDestroy",value:function(){var e=this,t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(t[n]=e._finished?e._finalKeyframe[n]:gm(e.element,n))}),this.currentSnapshot=t}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),jy=function(){function e(){m(this,e),this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Fy().toString()),this._cssKeyframesDriver=new Ny}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"overrideWebAnimationsSupport",value:function(e){this._isNativeImpl=e}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=arguments.length>6?arguments[6]:void 0;if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,n,i,r,o);var s={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(s.easing=r);var u={},c=o.filter(function(e){return e instanceof Ly});fm(n,i)&&c.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return u[e]=t[e]})});var l=_y(e,t=pm(e,t=t.map(function(e){return em(e,!1)}),u));return new Ly(e,t,s,l)}}]),e}();function Fy(){return kg()&&Element.prototype.animate||{}}var By=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._nextAnimationId=0,r._renderer=e.createRenderer(i.body,{id:"0",encapsulation:ht.None,styles:[],data:{animation:[]}}),r}return b(n,[{key:"build",value:function(e){var t=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(e)?vg(e):e;return Uy(this._renderer,null,t,"register",[n]),new Vy(t,this._renderer)}}]),n}(hg);return e.\u0275fac=function(t){return new(t||e)(Zi(tc),Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vy=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._id=e,r._renderer=i,r}return b(n,[{key:"create",value:function(e,t){return new zy(this._id,e,t||{},this._renderer)}}]),n}(function(){return function e(){m(this,e)}}()),zy=function(){function e(t,n,i,r){m(this,e),this.id=t,this.element=n,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}return b(e,[{key:"_listen",value:function(e,t){return this._renderer.listen(this.element,"@@".concat(this.id,":").concat(e),t)}},{key:"_command",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i=0&&e3&&void 0!==arguments[3])||arguments[3];this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,i)}},{key:"removeChild",value:function(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate,n)}},{key:"selectRootElement",value:function(e,t){return this.delegate.selectRootElement(e,t)}},{key:"parentNode",value:function(e){return this.delegate.parentNode(e)}},{key:"nextSibling",value:function(e){return this.delegate.nextSibling(e)}},{key:"setAttribute",value:function(e,t,n,i){this.delegate.setAttribute(e,t,n,i)}},{key:"removeAttribute",value:function(e,t,n){this.delegate.removeAttribute(e,t,n)}},{key:"addClass",value:function(e,t){this.delegate.addClass(e,t)}},{key:"removeClass",value:function(e,t){this.delegate.removeClass(e,t)}},{key:"setStyle",value:function(e,t,n,i){this.delegate.setStyle(e,t,n,i)}},{key:"removeStyle",value:function(e,t,n){this.delegate.removeStyle(e,t,n)}},{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)&&t==Hy?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}},{key:"setValue",value:function(e,t){this.delegate.setValue(e,t)}},{key:"listen",value:function(e,t,n){return this.delegate.listen(e,t,n)}},{key:"disableAnimations",value:function(e,t){this.engine.disableAnimations(e,t)}}]),e}(),qy=function(e){a(i,e);var n=s(i);function i(e,t,r,o){var a;return m(this,i),(a=n.call(this,t,r,o)).factory=e,a.namespaceId=t,a}return b(i,[{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)?"."==t.charAt(1)&&t==Hy?this.disableAnimations(e,n=void 0===n||!!n):this.engine.process(this.namespaceId,e,t.substr(1),n):this.delegate.setProperty(e,t,n)}},{key:"listen",value:function(e,n,i){var r=this;if("@"==n.charAt(0)){var o,a=function(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(e),s=n.substr(1),u="";return"@"!=s.charAt(0)&&(s=(o=t(function(e){var t=e.indexOf(".");return[e.substring(0,t),e.substr(t+1)]}(s),2))[0],u=o[1]),this.engine.listen(this.namespaceId,a,s,u,function(e){r.factory.scheduleListenerCallback(e._data||-1,i,e)})}return this.delegate.listen(e,n,i)}}]),i}(Wy),Xy=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){return m(this,n),t.call(this,e.body,i,r)}return b(n,[{key:"ngOnDestroy",value:function(){this.flush()}}]),n}(by);return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Hg),Zi(Bm))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Yy=new Ri("AnimationModuleType"),Ky=[{provide:hg,useClass:By},{provide:Bm,useFactory:function(){return new Vm}},{provide:by,useClass:Xy},{provide:tc,useFactory:function(e,t,n){return new Gy(e,t,n)},deps:[Ad,by,Xl]}],$y=[{provide:Hg,useFactory:function(){return"function"==typeof Fy()?new jy:new Ny}},{provide:Yy,useValue:"BrowserAnimations"}].concat(Ky),Qy=[{provide:Hg,useClass:Ug},{provide:Yy,useValue:"NoopAnimations"}].concat(Ky),Zy=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:t.disableAnimations?Qy:$y}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:$y,imports:[Gd]}),e}();function Jy(e,t){if(1&e&&Is(0,"mat-pseudo-checkbox",4),2&e){var n=Ws();Ts("state",n.selected?"checked":"unchecked")("disabled",n.disabled)}}function eb(e,t){if(1&e&&(As(0,"span",5),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou("(",n.group.label,")")}}var tb=["*"],nb=new oc("12.2.5"),ib=new Ri("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}),rb=function(){var e=function(){function e(t,n,i){m(this,e),this._hasDoneGlobalChecks=!1,this._document=i,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=n,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}return b(e,[{key:"_getWindow",value:function(){var e=this._document.defaultView||window;return"object"==typeof e&&e?e:null}},{key:"_checkIsEnabled",value:function(e){return!(!ah()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}},{key:"_isTestEnv",value:function(){var e=this._getWindow();return e&&(e.__karma__||e.jasmine)}},{key:"_checkDoctypeIsDefined",value:function(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}},{key:"_checkThemeIsPresent",value:function(){if(this._checkIsEnabled("theme")&&this._document.body&&"function"==typeof getComputedStyle){var e=this._document.createElement("div");e.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(e);var t=getComputedStyle(e);t&&"none"!==t.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(e)}}},{key:"_checkCdkVersionMatch",value:function(){this._checkIsEnabled("version")&&nb.full!==lg.full&&console.warn("The Angular Material version ("+nb.full+") does not match the Angular CDK version ("+lg.full+").\nPlease ensure the versions of these two packages exactly match.")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ug),Zi(ib,8),Zi(bh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np],np]}),e}();function ob(e){return function(e){a(n,e);var t=s(n);function n(){var e;m(this,n);for(var i=arguments.length,r=new Array(i),o=0;o1&&void 0!==arguments[1]?arguments[1]:0;return function(e){a(i,e);var n=s(i);function i(){var e;m(this,i);for(var r=arguments.length,o=new Array(r),a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=Object.assign(Object.assign({},vb),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);var a=i.radius||function(e,t,n){var i=Math.max(Math.abs(e-n.left),Math.abs(e-n.right)),r=Math.max(Math.abs(t-n.top),Math.abs(t-n.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),s=e-r.left,u=t-r.top,c=o.enterDuration,l=document.createElement("div");l.classList.add("mat-ripple-element"),l.style.left=s-a+"px",l.style.top=u-a+"px",l.style.height=2*a+"px",l.style.width=2*a+"px",null!=i.color&&(l.style.backgroundColor=i.color),l.style.transitionDuration="".concat(c,"ms"),this._containerElement.appendChild(l),function(e){window.getComputedStyle(e).getPropertyValue("opacity")}(l),l.style.transform="scale(1)";var h=new pb(this,l,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(function(){var e=h===n._mostRecentTransientRipple;h.state=1,!i.persistent&&(!e||!n._isPointerDown)&&h.fadeOut()},c),h}},{key:"fadeOutRipple",value:function(e){var t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),t){var n=e.element,i=Object.assign(Object.assign({},vb),e.config.animation);n.style.transitionDuration="".concat(i.exitDuration,"ms"),n.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(function(){e.state=3,n.parentNode.removeChild(n)},i.exitDuration)}}},{key:"fadeOutAll",value:function(){this._activeRipples.forEach(function(e){return e.fadeOut()})}},{key:"fadeOutAllNonPersistent",value:function(){this._activeRipples.forEach(function(e){e.config.persistent||e.fadeOut()})}},{key:"setupTriggerEvents",value:function(e){var t=Kd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(mb))}},{key:"handleEvent",value:function(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(yb),this._pointerUpEventsRegistered=!0)}},{key:"_onMousedown",value:function(e){var t=Xv(e),n=this._lastTouchStartEvent&&Date.now()1&&void 0!==arguments[1]?arguments[1]:0;this._ngZone.runOutsideAngular(function(){return setTimeout(e,t)})}},{key:"_registerEvents",value:function(e){var t=this;this._ngZone.runOutsideAngular(function(){e.forEach(function(e){t._triggerElement.addEventListener(e,t,gb)})})}},{key:"_removeTriggerEvents",value:function(){var e=this;this._triggerElement&&(mb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}),this._pointerUpEventsRegistered&&yb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}))}}]),e}(),_b=new Ri("mat-ripple-global-options"),wb=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=r||{},this._rippleRenderer=new bb(this,n,t,i)}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}},{key:"trigger",get:function(){return this._trigger||this._elementRef.nativeElement},set:function(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}},{key:"ngOnInit",value:function(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}},{key:"ngOnDestroy",value:function(){this._rippleRenderer._removeTriggerEvents()}},{key:"fadeOutAll",value:function(){this._rippleRenderer.fadeOutAll()}},{key:"fadeOutAllNonPersistent",value:function(){this._rippleRenderer.fadeOutAllNonPersistent()}},{key:"rippleConfig",get:function(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}},{key:"rippleDisabled",get:function(){return this.disabled||!!this._globalOptions.disabled}},{key:"_setupTriggerEventsIfEnabled",value:function(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}},{key:"launch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,t,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Xl),Os(qf),Os(_b,8),Os(Yy,8))},e.\u0275dir=Rt({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,t){2&e&&cu("mat-ripple-unbounded",t.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),e}(),kb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,Xf],rb]}),e}(),xb=function(){var e=function e(t){m(this,e),this._animationMode=t,this.state="unchecked",this.disabled=!1};return e.\u0275fac=function(t){return new(t||e)(Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,t){2&e&&cu("mat-pseudo-checkbox-indeterminate","indeterminate"===t.state)("mat-pseudo-checkbox-checked","checked"===t.state)("mat-pseudo-checkbox-disabled",t.disabled)("_mat-animation-noopable","NoopAnimations"===t._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,t){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),e}(),Sb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb]]}),e}(),Cb=new Ri("MAT_OPTION_PARENT_COMPONENT"),Eb=ob(function(){return function e(){m(this,e)}}()),Ob=0,Tb=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i,r;return m(this,n),(i=t.call(this))._labelId="mat-optgroup-label-"+Ob++,i._inert=null!==(r=null==e?void 0:e.inertGroups)&&void 0!==r&&r,i}return n}(Eb);return e.\u0275fac=function(t){return new(t||e)(Os(Cb,8))},e.\u0275dir=Rt({type:e,inputs:{label:"label"},features:[cs]}),e}(),Pb=new Ri("MatOptgroup"),Ab=0,Mb=function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];m(this,e),this.source=t,this.isUserInput=n},Ib=function(){var e=function(){function e(t,n,i,r){m(this,e),this._element=t,this._changeDetectorRef=n,this._parent=i,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Ab++,this.onSelectionChange=new ol,this._stateChanges=new ae}return b(e,[{key:"multiple",get:function(){return this._parent&&this._parent.multiple}},{key:"selected",get:function(){return this._selected}},{key:"disabled",get:function(){return this.group&&this.group.disabled||this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"disableRipple",get:function(){return this._parent&&this._parent.disableRipple}},{key:"active",get:function(){return this._active}},{key:"viewValue",get:function(){return(this._getHostElement().textContent||"").trim()}},{key:"select",value:function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"deselect",value:function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"focus",value:function(e,t){var n=this._getHostElement();"function"==typeof n.focus&&n.focus(t)}},{key:"setActiveStyles",value:function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}},{key:"setInactiveStyles",value:function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}},{key:"getLabel",value:function(){return this.viewValue}},{key:"_handleKeydown",value:function(e){(13===e.keyCode||32===e.keyCode)&&!Ep(e)&&(this._selectViaInteraction(),e.preventDefault())}},{key:"_selectViaInteraction",value:function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}},{key:"_getAriaSelected",value:function(){return this.selected||!this.multiple&&null}},{key:"_getTabIndex",value:function(){return this.disabled?"-1":"0"}},{key:"_getHostElement",value:function(){return this._element.nativeElement}},{key:"ngAfterViewChecked",value:function(){if(this._selected){var e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue=e,this._stateChanges.next())}}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}},{key:"_emitSelectionChangeEvent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.onSelectionChange.emit(new Mb(this,e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(void 0),Os(Tb))},e.\u0275dir=Rt({type:e,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),e}(),Rb=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){return m(this,n),t.call(this,e,i,r,o)}return n}(Ib);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(Cb,8),Os(Pb,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._selectViaInteraction()})("keydown",function(e){return t._handleKeydown(e)}),2&e&&(Au("id",t.id),ks("tabindex",t._getTabIndex())("aria-selected",t._getAriaSelected())("aria-disabled",t.disabled.toString()),cu("mat-selected",t.selected)("mat-option-multiple",t.multiple)("mat-active",t.active)("mat-option-disabled",t.disabled))},exportAs:["matOption"],features:[cs],ngContentSelectors:tb,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,t){1&e&&(Xs(),Cs(0,Jy,1,2,"mat-pseudo-checkbox",0),As(1,"span",1),Ys(2),Ms(),Cs(3,eb,2,1,"span",2),Is(4,"div",3)),2&e&&(Ts("ngIf",t.multiple),Yo(3),Ts("ngIf",t.group&&t.group._inert),Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t.disabled||t.disableRipple))},directives:[Yh,wb,xb],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),e}();function Db(e,t,n){if(n.length){for(var i=t.toArray(),r=n.toArray(),o=0,a=0;an+i?Math.max(0,e-i+t):n}var Lb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,cd,rb,Sb]]}),e}();function jb(){for(var e=arguments.length,t=new Array(e),n=0;n0){var i=e.slice(0,t),r=i.toLowerCase(),o=e.slice(t+1).trim();n.maybeSetNormalizedName(i,r),n.headers.has(r)?n.headers.get(r).push(o):n.headers.set(r,[o])}})}:function(){n.headers=new Map,Object.keys(t).forEach(function(e){var i=t[e],r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(n.headers.set(r,i),n.maybeSetNormalizedName(e,r))})}:this.headers=new Map}return b(e,[{key:"has",value:function(e){return this.init(),this.headers.has(e.toLowerCase())}},{key:"get",value:function(e){this.init();var t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}},{key:"keys",value:function(){return this.init(),Array.from(this.normalizedNames.values())}},{key:"getAll",value:function(e){return this.init(),this.headers.get(e.toLowerCase())||null}},{key:"append",value:function(e,t){return this.clone({name:e,value:t,op:"a"})}},{key:"set",value:function(e,t){return this.clone({name:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({name:e,value:t,op:"d"})}},{key:"maybeSetNormalizedName",value:function(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}},{key:"init",value:function(){var t=this;this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(e){return t.applyUpdate(e)}),this.lazyUpdate=null))}},{key:"copyFrom",value:function(e){var t=this;e.init(),Array.from(e.headers.keys()).forEach(function(n){t.headers.set(n,e.headers.get(n)),t.normalizedNames.set(n,e.normalizedNames.get(n))})}},{key:"clone",value:function(t){var n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}},{key:"applyUpdate",value:function(e){var t=e.name.toLowerCase();switch(e.op){case"a":case"s":var n=e.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(e.name,t);var i=("a"===e.op?this.headers.get(t):void 0)||[];i.push.apply(i,v(n)),this.headers.set(t,i);break;case"d":var r=e.value;if(r){var o=this.headers.get(t);if(!o)return;0===(o=o.filter(function(e){return-1===r.indexOf(e)})).length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}},{key:"forEach",value:function(e){var t=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return e(t.normalizedNames.get(n),t.headers.get(n))})}}]),e}(),Yb=function(){function e(){m(this,e)}return b(e,[{key:"encodeKey",value:function(e){return Qb(e)}},{key:"encodeValue",value:function(e){return Qb(e)}},{key:"decodeKey",value:function(e){return decodeURIComponent(e)}},{key:"decodeValue",value:function(e){return decodeURIComponent(e)}}]),e}(),Kb=/%(\d[a-f0-9])/gi,$b={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Qb(e){return encodeURIComponent(e).replace(Kb,function(e,t){var n;return null!==(n=$b[t])&&void 0!==n?n:e})}function Zb(e){return"".concat(e)}var Jb=function(){function e(){var n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(m(this,e),this.updates=null,this.cloneFrom=null,this.encoder=i.encoder||new Yb,i.fromString){if(i.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(e,n){var i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(function(e){var r=e.indexOf("="),o=t(-1==r?[n.decodeKey(e),""]:[n.decodeKey(e.slice(0,r)),n.decodeValue(e.slice(r+1))],2),a=o[0],s=o[1],u=i.get(a)||[];u.push(s),i.set(a,u)}),i}(i.fromString,this.encoder)}else i.fromObject?(this.map=new Map,Object.keys(i.fromObject).forEach(function(e){var t=i.fromObject[e];n.map.set(e,Array.isArray(t)?t:[t])})):this.map=null}return b(e,[{key:"has",value:function(e){return this.init(),this.map.has(e)}},{key:"get",value:function(e){this.init();var t=this.map.get(e);return t?t[0]:null}},{key:"getAll",value:function(e){return this.init(),this.map.get(e)||null}},{key:"keys",value:function(){return this.init(),Array.from(this.map.keys())}},{key:"append",value:function(e,t){return this.clone({param:e,value:t,op:"a"})}},{key:"appendAll",value:function(e){var t=[];return Object.keys(e).forEach(function(n){var i=e[n];Array.isArray(i)?i.forEach(function(e){t.push({param:n,value:e,op:"a"})}):t.push({param:n,value:i,op:"a"})}),this.clone(t)}},{key:"set",value:function(e,t){return this.clone({param:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({param:e,value:t,op:"d"})}},{key:"toString",value:function(){var e=this;return this.init(),this.keys().map(function(t){var n=e.encoder.encodeKey(t);return e.map.get(t).map(function(t){return n+"="+e.encoder.encodeValue(t)}).join("&")}).filter(function(e){return""!==e}).join("&")}},{key:"clone",value:function(t){var n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}},{key:"init",value:function(){var e=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(t){return e.map.set(t,e.cloneFrom.map.get(t))}),this.updates.forEach(function(t){switch(t.op){case"a":case"s":var n=("a"===t.op?e.map.get(t.param):void 0)||[];n.push(Zb(t.value)),e.map.set(t.param,n);break;case"d":if(void 0===t.value){e.map.delete(t.param);break}var i=e.map.get(t.param)||[],r=i.indexOf(Zb(t.value));-1!==r&&i.splice(r,1),i.length>0?e.map.set(t.param,i):e.map.delete(t.param)}}),this.cloneFrom=this.updates=null)}}]),e}(),e_=function(){function e(){m(this,e),this.map=new Map}return b(e,[{key:"set",value:function(e,t){return this.map.set(e,t),this}},{key:"get",value:function(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}},{key:"delete",value:function(e){return this.map.delete(e),this}},{key:"keys",value:function(){return this.map.keys()}}]),e}();function t_(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer}function n_(e){return"undefined"!=typeof Blob&&e instanceof Blob}function i_(e){return"undefined"!=typeof FormData&&e instanceof FormData}var r_=function(){function e(t,n,i,r){var o;if(m(this,e),this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new Xb),this.context||(this.context=new e_),this.params){var a=this.params.toString();if(0===a.length)this.urlWithParams=n;else{var s=n.indexOf("?");this.urlWithParams=n+(-1===s?"?":s0&&void 0!==arguments[0]?arguments[0]:{},i=n.method||this.method,r=n.url||this.url,o=n.responseType||this.responseType,a=void 0!==n.body?n.body:this.body,s=void 0!==n.withCredentials?n.withCredentials:this.withCredentials,u=void 0!==n.reportProgress?n.reportProgress:this.reportProgress,c=n.headers||this.headers,l=n.params||this.params,h=null!==(t=n.context)&&void 0!==t?t:this.context;return void 0!==n.setHeaders&&(c=Object.keys(n.setHeaders).reduce(function(e,t){return e.set(t,n.setHeaders[t])},c)),n.setParams&&(l=Object.keys(n.setParams).reduce(function(e,t){return e.set(t,n.setParams[t])},l)),new e(i,r,a,{params:l,headers:c,context:h,reportProgress:u,responseType:o,withCredentials:s})}}]),e}(),o_=((o_=o_||{})[o_.Sent=0]="Sent",o_[o_.UploadProgress=1]="UploadProgress",o_[o_.ResponseHeader=2]="ResponseHeader",o_[o_.DownloadProgress=3]="DownloadProgress",o_[o_.Response=4]="Response",o_[o_.User=5]="User",o_),a_=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"OK";m(this,e),this.headers=t.headers||new Xb,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300},s_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.ResponseHeader,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),u_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.Response,e.body=void 0!==i.body?i.body:null,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),c_=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e,0,"Unknown Error")).name="HttpErrorResponse",i.ok=!1,i.message=i.status>=200&&i.status<300?"Http failure during parsing for ".concat(e.url||"(unknown url)"):"Http failure response for ".concat(e.url||"(unknown url)",": ").concat(e.status," ").concat(e.statusText),i.error=e.error||null,i}return n}(a_);function l_(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}var h_=function(){var e=function(){function e(t){m(this,e),this.handler=t}return b(e,[{key:"request",value:function(e,t){var n,i,r,o=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof r_?n=e:(i=a.headers instanceof Xb?a.headers:new Xb(a.headers),a.params&&(r=a.params instanceof Jb?a.params:new Jb({fromObject:a.params})),n=new r_(e,t,void 0!==a.body?a.body:null,{headers:i,context:a.context,params:r,reportProgress:a.reportProgress,responseType:a.responseType||"json",withCredentials:a.withCredentials}));var s=$d(n).pipe(ke(function(e){return o.handler.handle(e)},void 0,1));if(e instanceof r_||"events"===a.observe)return s;var u=s.pipe(bf(function(e){return e instanceof u_}));switch(a.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return e.body}));case"blob":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof Blob))throw new Error("Response is not a Blob.");return e.body}));case"text":return u.pipe(ce(function(e){if(null!==e.body&&"string"!=typeof e.body)throw new Error("Response is not a string.");return e.body}));case"json":default:return u.pipe(ce(function(e){return e.body}))}case"response":return u;default:throw new Error("Unreachable: unhandled observe type ".concat(a.observe,"}"))}}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",e,t)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("GET",e,t)}},{key:"head",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("HEAD",e,t)}},{key:"jsonp",value:function(e,t){return this.request("JSONP",e,{params:(new Jb).append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}},{key:"options",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("OPTIONS",e,t)}},{key:"patch",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",e,l_(n,t))}},{key:"post",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",e,l_(n,t))}},{key:"put",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",e,l_(n,t))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Wb))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),d_=function(){function e(t,n){m(this,e),this.next=t,this.interceptor=n}return b(e,[{key:"handle",value:function(e){return this.interceptor.intercept(e,this.next)}}]),e}(),f_=new Ri("HTTP_INTERCEPTORS"),p_=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"intercept",value:function(e,t){return t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),v_=/^\)\]\}',?\n/,g_=function(){var e=function(){function e(t){m(this,e),this.xhrFactory=t}return b(e,[{key:"handle",value:function(e){var t=this;if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new te(function(n){var i=t.xhrFactory.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach(function(e,t){return i.setRequestHeader(e,t.join(","))}),e.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){var r=e.detectContentTypeHeader();null!==r&&i.setRequestHeader("Content-Type",r)}if(e.responseType){var o=e.responseType.toLowerCase();i.responseType="json"!==o?o:"text"}var a=e.serializeBody(),s=null,u=function(){if(null!==s)return s;var t=1223===i.status?204:i.status,n=i.statusText||"OK",r=new Xb(i.getAllResponseHeaders()),o=function(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(i)||e.url;return s=new s_({headers:r,status:t,statusText:n,url:o})},c=function(){var t=u(),r=t.headers,o=t.status,a=t.statusText,s=t.url,c=null;204!==o&&(c=void 0===i.response?i.responseText:i.response),0===o&&(o=c?200:0);var l=o>=200&&o<300;if("json"===e.responseType&&"string"==typeof c){var h=c;c=c.replace(v_,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=h,l&&(l=!1,c={error:d,text:c})}}l?(n.next(new u_({body:c,headers:r,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new c_({error:c,headers:r,status:o,statusText:a,url:s||void 0}))},l=function(e){var t=u().url,r=new c_({error:e,status:i.status||0,statusText:i.statusText||"Unknown Error",url:t||void 0});n.error(r)},h=!1,d=function(t){h||(n.next(u()),h=!0);var r={type:o_.DownloadProgress,loaded:t.loaded};t.lengthComputable&&(r.total=t.total),"text"===e.responseType&&!!i.responseText&&(r.partialText=i.responseText),n.next(r)},f=function(e){var t={type:o_.UploadProgress,loaded:e.loaded};e.lengthComputable&&(t.total=e.total),n.next(t)};return i.addEventListener("load",c),i.addEventListener("error",l),i.addEventListener("timeout",l),i.addEventListener("abort",l),e.reportProgress&&(i.addEventListener("progress",d),null!==a&&i.upload&&i.upload.addEventListener("progress",f)),i.send(a),n.next({type:o_.Sent}),function(){i.removeEventListener("error",l),i.removeEventListener("abort",l),i.removeEventListener("load",c),i.removeEventListener("timeout",l),e.reportProgress&&(i.removeEventListener("progress",d),null!==a&&i.upload&&i.upload.removeEventListener("progress",f)),i.readyState!==i.DONE&&i.abort()}})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(fd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),m_=new Ri("XSRF_COOKIE_NAME"),y_=new Ri("XSRF_HEADER_NAME"),b_=function e(){m(this,e)},__=function(){var e=function(){function e(t,n,i){m(this,e),this.doc=t,this.platform=n,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return b(e,[{key:"getToken",value:function(){if("server"===this.platform)return null;var e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Hh(e,this.cookieName),this.lastCookieString=e),this.lastToken}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Ml),Zi(m_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),w_=function(){var e=function(){function e(t,n){m(this,e),this.tokenService=t,this.headerName=n}return b(e,[{key:"intercept",value:function(e,t){var n=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t.handle(e);var i=this.tokenService.getToken();return null!==i&&!e.headers.has(this.headerName)&&(e=e.clone({headers:e.headers.set(this.headerName,i)})),t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(b_),Zi(y_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),k_=function(){var e=function(){function e(t,n){m(this,e),this.backend=t,this.injector=n,this.chain=null}return b(e,[{key:"handle",value:function(e){if(null===this.chain){var t=this.injector.get(f_,[]);this.chain=t.reduceRight(function(e,t){return new d_(e,t)},this.backend)}return this.chain.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qb),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),x_=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"disable",value:function(){return{ngModule:e,providers:[{provide:w_,useClass:p_}]}}},{key:"withOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{ngModule:e,providers:[t.cookieName?{provide:m_,useValue:t.cookieName}:[],t.headerName?{provide:y_,useValue:t.headerName}:[]]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[w_,{provide:f_,useExisting:w_,multi:!0},{provide:b_,useClass:__},{provide:m_,useValue:"XSRF-TOKEN"},{provide:y_,useValue:"X-XSRF-TOKEN"}]}),e}(),S_=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[h_,{provide:Wb,useClass:k_},g_,{provide:qb,useExisting:g_}],imports:[[x_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),e}(),C_=["*"];function E_(e){return Error('Unable to find icon with the name "'.concat(e,'"'))}function O_(e){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \"".concat(e,'".'))}function T_(e){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \"".concat(e,'".'))}var P_=function e(t,n,i){m(this,e),this.url=t,this.svgText=n,this.options=i},A_=function(){var e=function(){function e(t,n,i,r){m(this,e),this._httpClient=t,this._sanitizer=n,this._errorHandler=r,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=i}return b(e,[{key:"addSvgIcon",value:function(e,t,n){return this.addSvgIconInNamespace("",e,t,n)}},{key:"addSvgIconLiteral",value:function(e,t,n){return this.addSvgIconLiteralInNamespace("",e,t,n)}},{key:"addSvgIconInNamespace",value:function(e,t,n,i){return this._addSvgIconConfig(e,t,new P_(n,null,i))}},{key:"addSvgIconResolver",value:function(e){return this._resolvers.push(e),this}},{key:"addSvgIconLiteralInNamespace",value:function(e,t,n,i){var r=this._sanitizer.sanitize(Wr.HTML,n);if(!r)throw T_(n);return this._addSvgIconConfig(e,t,new P_("",r,i))}},{key:"addSvgIconSet",value:function(e,t){return this.addSvgIconSetInNamespace("",e,t)}},{key:"addSvgIconSetLiteral",value:function(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}},{key:"addSvgIconSetInNamespace",value:function(e,t,n){return this._addSvgIconSetConfig(e,new P_(t,null,n))}},{key:"addSvgIconSetLiteralInNamespace",value:function(e,t,n){var i=this._sanitizer.sanitize(Wr.HTML,t);if(!i)throw T_(t);return this._addSvgIconSetConfig(e,new P_("",i,n))}},{key:"registerFontClassAlias",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return this._fontCssClassesByAlias.set(e,t),this}},{key:"classNameForFontAlias",value:function(e){return this._fontCssClassesByAlias.get(e)||e}},{key:"setDefaultFontSetClass",value:function(e){return this._defaultFontSetClass=e,this}},{key:"getDefaultFontSetClass",value:function(){return this._defaultFontSetClass}},{key:"getSvgIconFromUrl",value:function(e){var t=this,n=this._sanitizer.sanitize(Wr.RESOURCE_URL,e);if(!n)throw O_(e);var i=this._cachedIconsByUrl.get(n);return i?$d(M_(i)):this._loadSvgIconFromConfig(new P_(e,null)).pipe(mv(function(e){return t._cachedIconsByUrl.set(n,e)}),ce(function(e){return M_(e)}))}},{key:"getNamedSvgIcon",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=I_(t,e),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(t,e))return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);var r=this._iconSetConfigs.get(t);return r?this._getSvgFromIconSetConfigs(e,r):Rf(E_(n))}},{key:"ngOnDestroy",value:function(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}},{key:"_getSvgFromConfig",value:function(e){return e.svgText?$d(M_(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ce(function(e){return M_(e)}))}},{key:"_getSvgFromIconSetConfigs",value:function(e,t){var n=this,i=this._extractIconWithNameFromAnySet(e,t);return i?$d(i):jb(t.filter(function(e){return!e.svgText}).map(function(e){return n._loadSvgIconSetFromConfig(e).pipe(Bb(function(t){var i="Loading icon set URL: ".concat(n._sanitizer.sanitize(Wr.RESOURCE_URL,e.url)," failed: ").concat(t.message);return n._errorHandler.handleError(new Error(i)),$d(null)}))})).pipe(ce(function(){var i=n._extractIconWithNameFromAnySet(e,t);if(!i)throw E_(e);return i}))}},{key:"_extractIconWithNameFromAnySet",value:function(e,t){for(var n=t.length-1;n>=0;n--){var i=t[n];if(i.svgText&&i.svgText.indexOf(e)>-1){var r=this._svgElementFromConfig(i),o=this._extractSvgIconFromSet(r,e,i.options);if(o)return o}}return null}},{key:"_loadSvgIconFromConfig",value:function(e){var t=this;return this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}),ce(function(){return t._svgElementFromConfig(e)}))}},{key:"_loadSvgIconSetFromConfig",value:function(e){return e.svgText?$d(null):this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}))}},{key:"_extractSvgIconFromSet",value:function(e,t,n){var i=e.querySelector('[id="'.concat(t,'"]'));if(!i)return null;var r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);var o=this._svgElementFromString("");return o.appendChild(r),this._setSvgAttributes(o,n)}},{key:"_svgElementFromString",value:function(e){var t=this._document.createElement("DIV");t.innerHTML=e;var n=t.querySelector("svg");if(!n)throw Error(" tag not found");return n}},{key:"_toSvgElement",value:function(e){for(var t=this._svgElementFromString(""),n=e.attributes,i=0;i*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",G_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],W_=ab(ob(sb(function(){return function e(t){m(this,e),this._elementRef=t}}()))),q_=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;m(this,n),(o=t.call(this,e))._focusMonitor=i,o._animationMode=r,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");var a,s=_(G_);try{for(s.s();!(a=s.n()).done;){var u=a.value;o._hasHostAttributes(u)&&o._getHostElement().classList.add(u)}}catch(c){s.e(c)}finally{s.f()}return e.nativeElement.classList.add("mat-button-base"),o.isRoundButton&&(o.color="accent"),o}return b(n,[{key:"ngAfterViewInit",value:function(){this._focusMonitor.monitor(this._elementRef,!0)}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t)}},{key:"_getHostElement",value:function(){return this._elementRef.nativeElement}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_hasHostAttributes",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i4&&void 0!==arguments[4]?arguments[4]:new $_(e,n,i);if(!r.closed)return t instanceof te?t.subscribe(r):ge(t)(r)}var Z_={};function J_(){for(var e=arguments.length,t=new Array(e),n=0;n visible",pg("150ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void, * => hidden",pg("75ms cubic-bezier(0.4, 0.0, 1, 1)",gg({opacity:0})))])},gw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this))._ngZone=e,s._elementRef=i,s._changeDetectorRef=r,s._platform=o,s.snackBarConfig=a,s._announceDelay=150,s._destroyed=!1,s._onAnnounce=new ae,s._onExit=new ae,s._onEnter=new ae,s._animationState="void",s.attachDomPortal=function(e){return s._assertNotAttached(),s._applySnackBarClasses(),s._portalOutlet.attachDomPortal(e)},s._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",s._platform.FIREFOX&&("polite"===s._live&&(s._role="status"),"assertive"===s._live&&(s._role="alert")),s}return b(n,[{key:"attachComponentPortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}},{key:"onAnimationEnd",value:function(e){var t=e.fromState,n=e.toState;if(("void"===n&&"void"!==t||"hidden"===n)&&this._completeExit(),"visible"===n){var i=this._onEnter;this._ngZone.run(function(){i.next(),i.complete()})}}},{key:"enter",value:function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}},{key:"exit",value:function(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}},{key:"ngOnDestroy",value:function(){this._destroyed=!0,this._completeExit()}},{key:"_completeExit",value:function(){var e=this;this._ngZone.onMicrotaskEmpty.pipe(_p(1)).subscribe(function(){e._onExit.next(),e._onExit.complete()})}},{key:"_applySnackBarClasses",value:function(){var e=this._elementRef.nativeElement,t=this.snackBarConfig.panelClass;t&&(Array.isArray(t)?t.forEach(function(t){return e.classList.add(t)}):e.classList.add(t)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}},{key:"_assertNotAttached",value:function(){this._portalOutlet.hasAttached()}},{key:"_screenReaderAnnounce",value:function(){var e=this;this._announceTimeoutId||this._ngZone.runOutsideAngular(function(){e._announceTimeoutId=setTimeout(function(){var t=e._elementRef.nativeElement.querySelector("[aria-hidden]"),n=e._elementRef.nativeElement.querySelector("[aria-live]");if(t&&n){var i=null;e._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(i=document.activeElement),t.removeAttribute("aria-hidden"),n.appendChild(t),null==i||i.focus(),e._onAnnounce.next(),e._onAnnounce.complete()}},e._announceDelay)})}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(qf),Os(hw))},e.\u0275cmp=Ot({type:e,selectors:[["snack-bar-container"]],viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,t){1&e&&zs("@state.done",function(e){return t.onAnimationEnd(e)}),2&e&&Mu("@state",t._animationState)},features:[cs],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,t){1&e&&(As(0,"div",0),Cs(1,cw,0,0,"ng-template",1),Ms(),Is(2,"div")),2&e&&(Yo(2),ks("aria-live",t._live)("role",t._role))},directives:[mp],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[vw.snackBarState]}}),e}(),mw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cv,yp,cd,Y_,rb],rb]}),e}(),yw=new Ri("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hw}}),bw=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._overlay=t,this._live=n,this._injector=i,this._breakpointObserver=r,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=pw,this.snackBarContainerComponent=gw,this.handsetCssClass="mat-snack-bar-handset"}return b(e,[{key:"_openedSnackBarRef",get:function(){var e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}},{key:"openFromComponent",value:function(e,t){return this._attach(e,t)}},{key:"openFromTemplate",value:function(e,t){return this._attach(e,t)}},{key:"open",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:e,action:t},i.announcementMessage===e&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}},{key:"dismiss",value:function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}},{key:"ngOnDestroy",value:function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}},{key:"_attachSnackBarContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:hw,useValue:t}]}),i=new lp(this.snackBarContainerComponent,t.viewContainerRef,n),r=e.attach(i);return r.instance.snackBarConfig=t,r.instance}},{key:"_attach",value:function(e,t){var n=this,i=Object.assign(Object.assign(Object.assign({},new hw),this._defaultConfig),t),r=this._createOverlay(i),o=this._attachSnackBarContainer(r,i),a=new fw(o,r);if(e instanceof Ac){var s=new hp(e,null,{$implicit:i.data,snackBarRef:a});a.instance=o.attachTemplatePortal(s)}else{var u=this._createInjector(i,a),c=new lp(e,void 0,u),l=o.attachComponentPortal(c);a.instance=l.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(kf(r.detachments())).subscribe(function(e){var t=r.overlayElement.classList;e.matches?t.add(n.handsetCssClass):t.remove(n.handsetCssClass)}),i.announcementMessage&&o._onAnnounce.subscribe(function(){n._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(a,i),this._openedSnackBarRef=a,this._openedSnackBarRef}},{key:"_animateSnackBar",value:function(e,t){var n=this;e.afterDismissed().subscribe(function(){n._openedSnackBarRef==e&&(n._openedSnackBarRef=null),t.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),t.duration&&t.duration>0&&e.afterOpened().subscribe(function(){return e._dismissAfter(t.duration)})}},{key:"_createOverlay",value:function(e){var t=new Np;t.direction=e.direction;var n=this._overlay.position().global(),i="rtl"===e.direction,r="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!i||"end"===e.horizontalPosition&&i,o=!r&&"center"!==e.horizontalPosition;return r?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===e.verticalPosition?n.top("0"):n.bottom("0"),t.positionStrategy=n,this._overlay.create(t)}},{key:"_createInjector",value:function(e,t){return ss.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:fw,useValue:t},{provide:lw,useValue:e.data}]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(tg),Zi(ss),Zi(aw),Zi(e,12),Zi(yw))},e.\u0275prov=$e({factory:function(){return new e(Zi(iv),Zi(tg),Zi(Xa),Zi(aw),Zi(e,12),Zi(yw))},token:e,providedIn:mw}),e}(),_w={tooltipState:fg("state",[mg("initial, void, hidden",gg({opacity:0,transform:"scale(0)"})),mg("visible",gg({transform:"scale(1)"})),yg("* => visible",pg("200ms cubic-bezier(0, 0, 0.2, 1)",function(e){return{type:5,steps:e}}([gg({opacity:0,transform:"scale(0)",offset:0}),gg({opacity:.5,transform:"scale(0.99)",offset:.5}),gg({opacity:1,transform:"scale(1)",offset:1})]))),yg("* => hidden",pg("100ms cubic-bezier(0, 0, 0.2, 1)",gg({opacity:0})))])},ww="tooltip-panel",kw=$f({passive:!0}),xw=new Ri("mat-tooltip-scroll-strategy"),Sw={provide:xw,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition({scrollThrottle:20})}}},Cw=new Ri("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),Ew=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h,d){var f=this;m(this,e),this._overlay=t,this._elementRef=n,this._scrollDispatcher=i,this._viewContainerRef=r,this._ngZone=o,this._platform=a,this._ariaDescriber=s,this._focusMonitor=u,this._dir=l,this._defaultOptions=h,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new ae,this._handleKeydown=function(e){f._isTooltipVisible()&&27===e.keyCode&&!Ep(e)&&(e.preventDefault(),e.stopPropagation(),f._ngZone.run(function(){return f.hide(0)}))},this._scrollStrategy=c,this._document=d,h&&(h.position&&(this.position=h.position),h.touchGestures&&(this.touchGestures=h.touchGestures)),l.change.pipe(kf(this._destroyed)).subscribe(function(){f._overlayRef&&f._updatePosition(f._overlayRef)}),o.runOutsideAngular(function(){n.nativeElement.addEventListener("keydown",f._handleKeydown)})}return b(e,[{key:"position",get:function(){return this._position},set:function(e){var t;e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(t=this._tooltipInstance)||void 0===t||t.show(0),this._overlayRef.updatePosition()))}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}},{key:"message",get:function(){return this._message},set:function(e){var t=this;this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(function(){Promise.resolve().then(function(){t._ariaDescriber.describe(t._elementRef.nativeElement,t.message,"tooltip")})}))}},{key:"tooltipClass",get:function(){return this._tooltipClass},set:function(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}},{key:"ngAfterViewInit",value:function(){var e=this;this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(kf(this._destroyed)).subscribe(function(t){t?"keyboard"===t&&e._ngZone.run(function(){return e.show()}):e._ngZone.run(function(){return e.hide(0)})})}},{key:"ngOnDestroy",value:function(){var e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),e.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(function(n){var i=t(n,2),r=i[0],o=i[1];e.removeEventListener(r,o,kw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}},{key:"show",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.showDelay;if(!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new lp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}}},{key:"hide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hideDelay;this._tooltipInstance&&this._tooltipInstance.hide(e)}},{key:"toggle",value:function(){this._isTooltipVisible()?this.hide():this.show()}},{key:"_isTooltipVisible",value:function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}},{key:"_createOverlay",value:function(){var e=this;if(this._overlayRef)return this._overlayRef;var t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".".concat(this._cssClassPrefix,"-tooltip")).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return n.positionChanges.pipe(kf(this._destroyed)).subscribe(function(t){e._updateCurrentPositionClass(t.connectionPair),e._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&e._tooltipInstance.isVisible()&&e._ngZone.run(function(){return e.hide(0)})}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"".concat(this._cssClassPrefix,"-").concat(ww),scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._overlayRef.outsidePointerEvents().pipe(kf(this._destroyed)).subscribe(function(){var t;return null===(t=e._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}},{key:"_detach",value:function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}},{key:"_updatePosition",value:function(e){var t=e.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();t.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}},{key:"_addOffset",value:function(e){return e}},{key:"_getOrigin",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n||"below"==n?e={originX:"center",originY:"above"==n?"top":"bottom"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={originX:"start",originY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={originX:"end",originY:"center"});var i=this._invertPosition(e.originX,e.originY);return{main:e,fallback:{originX:i.x,originY:i.y}}}},{key:"_getOverlayPosition",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n?e={overlayX:"center",overlayY:"bottom"}:"below"==n?e={overlayX:"center",overlayY:"top"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={overlayX:"end",overlayY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={overlayX:"start",overlayY:"center"});var i=this._invertPosition(e.overlayX,e.overlayY);return{main:e,fallback:{overlayX:i.x,overlayY:i.y}}}},{key:"_updateTooltipMessage",value:function(){var e=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(_p(1),kf(this._destroyed)).subscribe(function(){e._tooltipInstance&&e._overlayRef.updatePosition()}))}},{key:"_setTooltipClass",value:function(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}},{key:"_invertPosition",value:function(e,t){return"above"===this.position||"below"===this.position?"top"===t?t="bottom":"bottom"===t&&(t="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:t}}},{key:"_updateCurrentPositionClass",value:function(e){var t,n=e.overlayY,i=e.originX,r=e.originY;if((t="center"===n?this._dir&&"rtl"===this._dir.value?"end"===i?"left":"right":"start"===i?"left":"right":"bottom"===n&&"top"===r?"above":"below")!==this._currentPosition){var o=this._overlayRef;if(o){var a="".concat(this._cssClassPrefix,"-").concat(ww,"-");o.removePanelClass(a+this._currentPosition),o.addPanelClass(a+t)}this._currentPosition=t}}},{key:"_setupPointerEnterEventsIfNeeded",value:function(){var e=this;this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",function(){e._setupPointerExitEventsIfNeeded(),e.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",function(){e._setupPointerExitEventsIfNeeded(),clearTimeout(e._touchstartTimeout),e._touchstartTimeout=setTimeout(function(){return e.show()},500)}])),this._addListeners(this._passiveListeners))}},{key:"_setupPointerExitEventsIfNeeded",value:function(){var e,t=this;if(!this._pointerExitEventsInitialized){this._pointerExitEventsInitialized=!0;var n=[];if(this._platformSupportsMouseEvents())n.push(["mouseleave",function(){return t.hide()}],["wheel",function(e){return t._wheelListener(e)}]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();var i=function(){clearTimeout(t._touchstartTimeout),t.hide(t._defaultOptions.touchendHideDelay)};n.push(["touchend",i],["touchcancel",i])}this._addListeners(n),(e=this._passiveListeners).push.apply(e,n)}}},{key:"_addListeners",value:function(e){var n=this;e.forEach(function(e){var i=t(e,2),r=i[0],o=i[1];n._elementRef.nativeElement.addEventListener(r,o,kw)})}},{key:"_platformSupportsMouseEvents",value:function(){return!this._platform.IOS&&!this._platform.ANDROID}},{key:"_wheelListener",value:function(e){if(this._isTooltipVisible()){var t=this._document.elementFromPoint(e.clientX,e.clientY),n=this._elementRef.nativeElement;t!==n&&!n.contains(t)&&this.hide()}}},{key:"_disableNativeGesturesIfNecessary",value:function(){var e=this.touchGestures;if("off"!==e){var t=this._elementRef.nativeElement,n=t.style;("on"===e||"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===e||!t.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(void 0),Os(tp),Os(void 0),Os(bh))},e.\u0275dir=Rt({type:e,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),e}(),Ow=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h,d,f){var p;return m(this,n),(p=t.call(this,e,i,r,o,a,s,u,c,l,h,d,f))._tooltipComponent=Pw,p}return n}(Ew);return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(xw),Os(tp,8),Os(Cw,8),Os(bh))},e.\u0275dir=Rt({type:e,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[cs]}),e}(),Tw=function(){var e=function(){function e(t){m(this,e),this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new ae}return b(e,[{key:"show",value:function(e){var t=this;clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(function(){t._visibility="visible",t._showTimeoutId=void 0,t._onShow(),t._markForCheck()},e)}},{key:"hide",value:function(e){var t=this;clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(function(){t._visibility="hidden",t._hideTimeoutId=void 0,t._markForCheck()},e)}},{key:"afterHidden",value:function(){return this._onHide}},{key:"isVisible",value:function(){return"visible"===this._visibility}},{key:"ngOnDestroy",value:function(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}},{key:"_animationStart",value:function(){this._closeOnInteraction=!1}},{key:"_animationDone",value:function(e){var t=e.toState;"hidden"===t&&!this.isVisible()&&this._onHide.next(),("visible"===t||"hidden"===t)&&(this._closeOnInteraction=!0)}},{key:"_handleBodyInteraction",value:function(){this._closeOnInteraction&&this.hide(0)}},{key:"_markForCheck",value:function(){this._changeDetectorRef.markForCheck()}},{key:"_onShow",value:function(){}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e}),e}(),Pw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e))._breakpointObserver=i,r._isHandset=r._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)"),r}return n}(Tw);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(aw))},e.\u0275cmp=Ot({type:e,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,t){2&e&&uu("zoom","visible"===t._visibility?1:null)},features:[cs],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(e,t){var n;(1&e&&(As(0,"div",0),Vs("@state.start",function(){return t._animationStart()})("@state.done",function(e){return t._animationDone(e)}),Jc(1,"async"),Cu(2),Ms()),2&e)&&(cu("mat-tooltip-handset",null==(n=el(1,5,t._isHandset))?null:n.matches),Ts("ngClass",t.tooltipClass)("@state",t._visibility),Yo(2),Eu(t.message))},directives:[Gh],pipes:[sd],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[_w.tooltipState]},changeDetection:0}),e}(),Aw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Sw],imports:[[cg,cd,cv,rb],rb,sp]}),e}();function Mw(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function Iw(e,t){return function(n,i){t(n,i,e)}}function Rw(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Dw(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{u(i.next(e))}catch(t){o(t)}}function s(e){try{u(i.throw(e))}catch(t){o(t)}}function u(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(a,s)}u((i=i.apply(e,t||[])).next())})}function Nw(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)}function Lw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Nw()}var jw="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Fw=Lw(),Bw=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";m(this,e),this.storage=function(e){try{var n=window[e],i="__storage_test__";return n.setItem(i,i),n.removeItem(i),n}catch(t){return null}}(i),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return b(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function Vw(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(n=Math.min(n,i/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var zw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Uw(e){return"string"==typeof e?zw[e.toUpperCase()]||zw.WHITE:e}function Hw(e,t){if(!e)throw new Error(t||"Assertion failed")}var Gw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Ww=Gw.window||Gw.self||Gw.global,qw=Gw.process||{};function Xw(){var e;if(Fw&&Ww.performance)e=Ww.performance.now();else if(qw.hrtime){var t=qw.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}console;var Yw={debug:Fw&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Kw={enabled:!0,level:0};function $w(){}var Qw={},Zw={once:!0};function Jw(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var ek=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;m(this,e),this.id=n,this.VERSION=jw,this._startTs=Xw(),this._deltaTs=Xw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Bw("__probe-".concat(this.id,"__"),Kw),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],i=Object.getPrototypeOf(e),r=Object.getOwnPropertyNames(i),o=_(r);try{var a=function(){var i=t.value;"function"==typeof e[i]&&(n.find(function(e){return i===e})||(e[i]=e[i].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(s){o.e(s)}finally{o.f()}}(this),Object.seal(this)}return b(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((Xw()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((Xw()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){Hw(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,Yw.warn,arguments,Zw)}},{key:"error",value:function(e){return this._getLogFunction(0,e,Yw.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,Yw.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,Yw.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,Yw.debug||Yw.info,arguments,Zw)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||$w,n&&[n],{tag:Jw(t)}):$w}},{key:"image",value:function(e){var t=e.logLevel,n=e.priority,i=e.image,o=e.message,a=void 0===o?"":o,s=e.scale,u=void 0===s?1:s;return this._shouldLog(t||n)?Fw?function(e){var t,n=e.image,i=e.message,r=void 0===i?"":i,o=e.scale,a=void 0===o?1:o;if("string"==typeof n){var s=new Image;return s.onload=function(){var e,t=Vw(s,r,a);(e=console).log.apply(e,v(t))},s.src=n,$w}var u=n.nodeName||"";if("img"===u.toLowerCase())return(t=console).log.apply(t,v(Vw(n,r,a))),$w;if("canvas"===u.toLowerCase()){var c=new Image;return c.onload=function(){var e;return(e=console).log.apply(e,v(Vw(c,r,a)))},c.src=n.toDataURL(),$w}return $w}({image:i,message:a,scale:u}):function(e){var t=e.image,n=e.scale,o=void 0===n?1:n,a=null;try{a=r(75307)}catch(i){}return a?function(){return a(t,{fit:"box",width:"".concat(Math.round(80*o),"%")}).then(function(e){return console.log(e)})}:$w}({image:i,message:a,scale:u}):$w}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(o({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||$w)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},i=n=nk({logLevel:e,message:t,opts:n}),r=i.collapsed;return n.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||$w)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=tk(e)}},{key:"_getLogFunction",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;r=nk({logLevel:e,message:t,args:i,opts:r}),Hw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Xw();var a=r.tag||r.message;if(r.once){if(Qw[a])return $w;Qw[a]=Xw()}return t=function(e,t,n){if("string"==typeof t){var i=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}(function(e){return e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s")}(n.total)):"";t=function(e,t,n){return!Fw&&"string"==typeof e&&(t&&(t=Uw(t),e="\x1b[".concat(t,"m").concat(e,"\x1b[39m")),n&&(t=Uw(n),e="\x1b[".concat(n+10,"m").concat(e,"\x1b[49m"))),e}(t=n.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}return t}(this.id,r.message,r),(o=n).bind.apply(o,[console,t].concat(v(r.args)))}return $w}}]),e}();return e.VERSION=jw,e}();function tk(e){if(!e)return 0;var t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Hw(Number.isFinite(t)&&t>=0),t}function nk(e){var t=e.logLevel,n=e.message;e.logLevel=tk(t);for(var i=e.args?Array.from(e.args):[];i.length&&i.shift()!==n;);switch(e.args=i,typeof t){case"string":case"function":void 0!==n&&i.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var r=typeof e.message;return Hw("string"===r||"object"===r),Object.assign(e,e.opts)}var ik=new ek({id:"deck"}),rk={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(rk,"IDENTITY",{get:function(){return ik.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var ok={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},ak={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},sk=new ek({id:"luma.gl"});function uk(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ck(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version))}function lk(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}function hk(e){return uk(ck(e),"Invalid WebGLRenderingContext"),e}function dk(e){return uk(lk(e),"Requires WebGL2"),e}var fk={},pk=function e(t){var n=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{},i=n.copyState,r=void 0!==i&&i,o=n.log,a=void 0===o?function(){}:o;m(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?function(e,t){if("number"==typeof(t=t||Sk)){var n=t,i=Dk[n];return i?i(e,n):e.getParameter(n)}var r,o={},a=_(Array.isArray(t)?t:Object.keys(t));try{for(a.s();!(r=a.n()).done;){var s=r.value,u=Dk[s];o[s]=u?u(e,Number(s)):e.getParameter(Number(s))}}catch(c){a.e(c)}finally{a.f()}return o}(t):Object.assign({},Sk),this.log=a,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return b(e,[{key:"push",value:function(){this.stateStack.push({})}},{key:"pop",value:function(){uk(this.stateStack.length>0),Uk(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,n=!1,i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var r in e){uk(void 0!==r);var o=e[r],a=this.cache[r];Lk(o,a)||(n=!0,t=a,i&&!(r in i)&&(i[r]=a),this.cache[r]=o)}return{valueChanged:n,oldValue:t}}}]),e}();function Vk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.enable,i=void 0===n||n,r=t.copyState;if(uk(void 0!==r),!e.state){var o=globalThis.polyfillContext;for(var a in o&&o(e),e.state=new Bk(e,{copyState:r}),function(e){var t=e.useProgram.bind(e);e.useProgram=function(n){e.state.program!==n&&(t(n),e.state.program=n)}}(e),Ik)Fk(e,a,Ik[a]);jk(e,"getParameter"),jk(e,"isEnabled")}return e.state.enable=i,e}function zk(e){uk(e.state),e.state.pop()}function Uk(e,t){if(uk(ck(e),"setParameters requires a WebGL context"),!Nk(t)){var n={};for(var i in t){var r=Number(i),o=Pk[i];o&&("string"==typeof o?n[o]=!0:o(e,t[i],r))}var a=e.state&&e.state.cache;if(a)for(var s in n)Mk[s](e,t,a)}}function Hk(e,t,n){if(Nk(t))return n(e);var i,r=t.nocatch,o=void 0===r||r;if(function(e){e.state||Vk(e,{copyState:!1}),e.state.push()}(e),Uk(e,t),o)i=n(e),zk(e);else try{i=n(e)}finally{zk(e)}return i}function Gk(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}()}function Wk(e){var t=e.luma;if(e.canvas&&t){var n=t.canvasSizeInfo.clientWidth;return n?e.drawingBufferWidth/n:1}return 1}function qk(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(e,t,n,i,r){var o,a=Xk(e[0],t,n),s=Yk(e[1],t,i,r),u=Xk(e[0]+1,t,n),c=u===n-1?u:u-1;return u=Yk(e[1]+1,t,i,r),r?(o=s,s=u=0===u?u:u+1):o=u===i-1?u:u-1,{x:a,y:s,width:Math.max(c-a+1,1),height:Math.max(o-s+1,1)}}(t,Wk(e),e.drawingBufferWidth,e.drawingBufferHeight,n)}function Xk(e,t,n){return Math.min(Math.round(e*t),n-1)}function Yk(e,t,n,i){return i?Math.max(0,n-1-Math.round(e*t)):Math.min(Math.round(e*t),n-1)}var Kk=Gk(),$k=Kk&&"undefined"!=typeof document,Qk={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Zk(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};uk(Kk,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,n=e=Object.assign({},Qk,e),i=n.width,r=n.height;function o(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=o;var a=e,s=a.canvas,u=function(e){var t,n=e.canvas,i=e.width,r=void 0===i?800:i,o=e.height,a=void 0===o?600:o,s=e.onError;return"string"==typeof n?($k&&"complete"===document.readyState||s("createGLContext called on canvas '".concat(n,"' before page was loaded")),t=document.getElementById(n)):n?t=n:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",t.style.height=Number.isFinite(a)?"".concat(a,"px"):"100%",document.body.insertBefore(t,document.body.firstChild)),t}({canvas:s,width:i,height:r,onError:o});return(t=function(e,t){var n=t.onError,i=null,r=function(e){return i=e.statusMessage||i};e.addEventListener("webglcontextcreationerror",r,!1);var o=t.webgl1,a=void 0===o||o,s=t.webgl2,u=void 0===s||s,c=null;return u&&(c=(c=c||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),a&&(c=(c=c||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",r,!1),c?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),c):n("Failed to create ".concat(u&&!a?"WebGL2":"WebGL"," context: ").concat(i||"Unknown error"))}(u,e))?(function(e){var t=lk(e)?"WebGL2":"WebGL1",n=function(e){var t=e.getParameter(7936),n=e.getParameter(7937),i=e.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&e.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:i&&e.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:t,rendererMasked:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e);sk.info(1,"".concat(t).concat(e.debug?" debug":""," context ").concat(n?"(".concat(n.vendor,",").concat(n.renderer,")"):""))()}(t=Jk(t,e)),t):null}function Jk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var n=t=Object.assign({},Qk,t),i=n.manageState,r=n.debug;return i&&Vk(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),n=0;n0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),nx=function(){function e(t){var n=t.id,i=t.stats;m(this,e),this.id=n,this.stats={},this._initializeStats(i),Object.seal(this)}return b(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach(function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach(function(t){return e._getOrCreate(t)})}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof tx?e:new tx(t,n)),this.stats[t]}}]),e}(),ix="8.5.12",rx=new(function(){function e(){m(this,e),this.stats=new Map}return b(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new nx({id:e})),this.stats.get(e)}}]),e}());if(globalThis.luma&&globalThis.luma.VERSION!==ix)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(ix));function ox(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ax(e,t){if("string"!=typeof t)return t;var n=Number(t);if(!isNaN(n))return n;var i=e[t=t.replace(/^.*\./,"")];return ox(void 0!==i,"Accessing undefined constant GL.".concat(t)),i}function sx(e,t){for(var n in t=Number(t),e)if(e[n]===t)return"GL.".concat(n);return String(t)}globalThis.luma||(Gk()&&sk.log(1,"luma.gl ".concat(ix," - set luma.log.level=1 (or higher) to trace rendering"))(),globalThis.luma=globalThis.luma||{VERSION:ix,version:ix,log:sk,stats:rx,globals:{modules:{},nodeIO:{}}}),globalThis;var ux={};function cx(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return ux[e]=ux[e]||1,"".concat(e,"-").concat(ux[e]++)}function lx(e){return ox("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function hx(e){var t=!0;for(var n in e){t=!1;break}return t}function dx(e,t,n,i){var r="See luma.gl ".concat(n," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);i.forEach(function(e){o.methodName||(o[e]=function(){throw sk.removed("Calling removed method ".concat(t,".").concat(e,": "),r)(),new Error(e)})})}var fx="Resource subclass must define virtual methods",px=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,t),hk(e);var i=n.id,r=n.userData,o=void 0===r?{}:r;this.gl=e,this.gl2=e,this.id=i||cx(this[Symbol.toStringTag]),this.userData=o,this._bound=!1,this._handle=n.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return b(t,[{key:Symbol.toStringTag,get:function(){return"Resource"}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,n=void 0!==t&&t,i=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,i&&n&&i.filter(Boolean).forEach(function(e){return e.delete()}),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension)){var r=n.webgl1,o="webgl2"in n?n.webgl2:n.webgl1;return i?o:r}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parameters,i=t.keys,r=this.constructor.PARAMETERS||{},o=lk(this.gl),a={},s=n||Object.keys(r),u=_(s);try{for(u.s();!(e=u.n()).done;){var c=e.value,l=r[c];if(l&&(!("webgl2"in l)||o)&&(!("extension"in l)||this.gl.getExtension(l.extension))){var h=i?sx(this.gl,c):c;a[h]=this.getParameter(c,t),i&&"GLenum"===l.type&&(a[h]=sx(this.gl,a[h]))}}}catch(d){u.e(d)}finally{u.f()}return a}},{key:"setParameter",value:function(e,t){ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(t=ax(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,n){return dx(this,e,t,n)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(fx)}},{key:"_deleteHandle",value:function(){throw new Error(fx)}},{key:"_bindHandle",value:function(e){throw new Error(fx)}},{key:"_getOptsFromHandle",value:function(){throw new Error(fx)}},{key:"_getParameter",value:function(e,t){throw new Error(fx)}},{key:"_setParameter",value:function(e,t){throw new Error(fx)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this[Symbol.toStringTag],t=rx.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this[Symbol.toStringTag];rx.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this[Symbol.toStringTag],n=rx.get("Memory Usage");n.get("GPU Memory").addCount(e),n.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this[Symbol.toStringTag],t=rx.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}}]),t}();function vx(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function gx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.clamped,i=void 0===n||n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function mx(e){for(var t=e.data,n=e.width,i=e.height,r=Math.round(n/2),o=Math.round(i/2),a=new Uint8Array(r*o*4),s=0;s0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=yx("Accessor",e,_x)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}],[{key:"getBytesPerElement",value:function(e){return gx(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return ox(e.size),gx(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),t.target=r.target||(t.gl.webgl2?36662:34962),t.initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Buffer"}},{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=yx("Buffer",e,xx),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=yx("Buffer",e,Sx))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new wx(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,n=t.data,i=t.offset,r=void 0===i?0:i,o=t.srcOffset,a=void 0===o?0:o,s=e.byteLength||e.length;ox(n);var u=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(u,this.handle),0!==a||void 0!==s?(dk(this.gl),this.gl.bufferSubData(this.target,r,n,a,s)):this.gl.bufferSubData(u,r,n),this.gl.bindBuffer(u,null),this.debugData=null,this._inferType(n),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,n=e.readOffset,i=void 0===n?0:n,r=e.writeOffset,o=void 0===r?0:r,a=e.size,s=this.gl;return dk(s),s.bindBuffer(36662,t.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,i,o,a),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,n=void 0===t?null:t,i=e.srcByteOffset,r=void 0===i?0:i,o=e.dstOffset,a=void 0===o?0:o,s=e.length,u=void 0===s?0:s;dk(this.gl);var c,l,h=gx(this.accessor.type||5126,{clamped:!1}),d=this._getAvailableElementCount(r),f=a;n?c=(l=n.length)-f:l=f+(c=Math.min(d,u||d));var p=Math.min(d,c);return ox((u=u||p)<=p),n=n||new h(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,n,a,u),this.gl.bindBuffer(36662,null),n}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i,o=e.offset,a=void 0===o?0:o,s=e.size;return 35345===n||35982===n?void 0!==s?this.gl.bindBufferRange(n,r,this.handle,a,s):(ox(0===a),this.gl.bindBufferBase(n,r,this.handle)):this.gl.bindBuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i;return 35345===n||35982===n?this.gl.bindBufferBase(n,r,null):this.gl.bindBuffer(n,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;ox(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,t,e),this.gl.bindBuffer(i,null),this.debugData=e.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);var r=vx(e);return ox(r),this.setAccessor(new wx(this.accessor,{type:r})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;ox(e>=0),this._trackDeallocatedMemory();var n=e;0===e&&(n=new Float32Array(0));var i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,t),this.gl.bindBuffer(i,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/gx(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new wx(this.accessor,{type:vx(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return sk.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return sk.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}},{key:"setByteLength",value:function(e){return sk.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return sk.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new wx(this.accessor,e),this}}]),i}(px,Symbol.toStringTag),Ex={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},Ox={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},Tx={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Px=[9729,9728],Ax=globalThis.WebGLBuffer||function(){},Mx=function(e,n){a(r,e);var i=s(r);function r(e,t){var n;m(this,r);var o=t.id,a=void 0===o?cx("texture"):o,s=t.handle,u=t.target;return(n=i.call(this,e,{id:a,handle:s})).target=u,n.textureUnit=void 0,n.loaded=!1,n.width=void 0,n.height=void 0,n.depth=void 0,n.format=void 0,n.type=void 0,n.dataFormat=void 0,n.border=void 0,n.textureUnit=void 0,n.mipmaps=void 0,n}return b(r,[{key:n,get:function(){return"Texture"}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e,t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.data;if(i instanceof Promise)return i.then(function(e){return t.initialize(Object.assign({},n,{pixels:e,data:e}))}),this;var r="undefined"!=typeof HTMLVideoElement&&i instanceof HTMLVideoElement;if(r&&i.readyState=HTMLVideoElement.HAVE_CURRENT_DATA?i.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,n=e.parameters;if(e.lastTime===t.currentTime||t.readyState0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(sk.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Hk(this.gl,t,function(){e.gl.generateMipmap(e.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){var n;this._trackDeallocatedMemory("Texture");var i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.level,u=void 0===s?0:s,c=e.format,l=void 0===c?this.format:c,h=e.border,d=void 0===h?this.border:h,f=e.offset,p=void 0===f?0:f,v=e.parameters,g=void 0===v?{}:v,m=e.data,y=void 0===m?null:m,b=e.type,w=void 0===b?this.type:b,k=e.width,x=void 0===k?this.width:k,S=e.height,C=void 0===S?this.height:S,E=e.dataFormat,O=void 0===E?this.dataFormat:E,T=e.compressed,P=void 0!==T&&T;y||(y=a),n=this._deduceParameters({format:l,type:w,dataFormat:O,compressed:P,data:y,width:x,height:C}),w=n.type,O=n.dataFormat,P=n.compressed,x=n.width,C=n.height;var A=this.gl;A.bindTexture(this.target,this.handle);var M,I=this._getDataType({data:y,compressed:P});y=I.data,M=I.dataType;var R,D=0;return Hk(this.gl,g,function(){switch(M){case"null":A.texImage2D(r,u,l,x,C,d,O,w,y);break;case"typed-array":A.texImage2D(r,u,l,x,C,d,O,w,y,p);break;case"buffer":(R=dk(A)).bindBuffer(35052,y.handle||y),R.texImage2D(r,u,l,x,C,d,O,w,p),R.bindBuffer(35052,null);break;case"browser-object":lk(A)?A.texImage2D(r,u,l,x,C,d,O,w,y):A.texImage2D(r,u,l,O,w,y);break;case"compressed":var e,n=_(y.entries());try{for(n.s();!(e=n.n()).done;){var i=t(e.value,2),o=i[0],a=i[1];A.compressedTexImage2D(r,o,a.format,a.width,a.height,d,a.data),D+=a.levelSize}}catch(s){n.e(s)}finally{n.f()}break;default:ox(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===M?D:y&&y.byteLength?y.byteLength:this.width*this.height*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t,n=this,i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.data,u=void 0===s?null:s,c=e.x,l=void 0===c?0:c,h=e.y,d=void 0===h?0:h,f=e.width,p=void 0===f?this.width:f,v=e.height,g=void 0===v?this.height:v,m=e.level,y=void 0===m?0:m,b=e.format,_=void 0===b?this.format:b,w=e.type,k=void 0===w?this.type:w,x=e.dataFormat,S=void 0===x?this.dataFormat:x,C=e.compressed,E=void 0!==C&&C,O=e.offset,T=void 0===O?0:O,P=e.border,A=(void 0===P&&this.border,e.parameters),M=void 0===A?{}:A;if(t=this._deduceParameters({format:_,type:k,dataFormat:S,compressed:E,data:u,width:p,height:g}),k=t.type,S=t.dataFormat,E=t.compressed,p=t.width,g=t.height,ox(0===this.depth,"texSubImage not supported for 3D textures"),u||(u=a),u&&u.data){var I=u;u=I.data,p=I.shape[0],g=I.shape[1]}u instanceof Cx&&(u=u.handle),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,M,function(){if(E)n.gl.compressedTexSubImage2D(r,y,l,d,p,g,_,u);else if(null===u)n.gl.texSubImage2D(r,y,l,d,p,g,S,k,null);else if(ArrayBuffer.isView(u))n.gl.texSubImage2D(r,y,l,d,p,g,S,k,u,T);else if(u instanceof Ax){var e=dk(n.gl);e.bindBuffer(35052,u),e.texSubImage2D(r,y,l,d,p,g,S,k,T),e.bindBuffer(35052,null)}else lk(n.gl)?dk(n.gl).texSubImage2D(r,y,l,d,p,g,S,k,u):n.gl.texSubImage2D(r,y,l,d,S,k,u)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){return sk.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,n=e.compressed;return void 0!==n&&n?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof Cx?{data:t.handle,dataType:"buffer"}:t instanceof Ax?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t,n=e.format,i=e.data,r=e.width,o=e.height,a=e.dataFormat,s=e.type,u=e.compressed,c=Ex[n];return{dataFormat:a=a||c&&c.dataFormat,type:s=s||c&&c.types[0],compressed:u=u||c&&c.compressed,width:r=(t=this._deduceImageSize(i,r,o)).width,height:o=t.height,format:n,data:i}}},{key:"_deduceImageSize",value:function(e,t,n){var i;return ox(i="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:n}:{width:t>=0?t:1,height:n>=0?n:1},"Could not deduced texture size"),ox(void 0===t||i.width===t,"Deduced texture width does not match supplied width"),ox(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:ox(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!(lk(this.gl)||!this.width||!this.height||lx(this.width)&&lx(this.height))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===Px.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.format,i=t.linearFiltering,r=!0;return n&&(r=(r=r&&function(e,t){var n=Ex[t];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;var i=lk(e)&&n.gl2||n.gl1;return"string"==typeof i?e.getExtension(i):i}(e,n))&&(!i||function(e,t){var n=Ex[t];switch(n&&n.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}(e,n))),r}}]),r}(px,Symbol.toStringTag);function Ix(e,t){return ox("string"==typeof e),e=""+e,new Promise(function(n,i){try{var r=new Image;r.onload=function(){return n(r)},r.onerror=function(){return i(new Error("Could not load image ".concat(e,".")))},r.crossOrigin=t&&t.crossOrigin||"anonymous",r.src=e}catch(r){i(r)}})}var Rx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(r instanceof Promise||"string"==typeof r)&&(r={data:r}),"string"==typeof r.data&&(r=Object.assign({},r,{data:Ix(r.data)})),(t=n.call(this,e,Object.assign({},r,{target:3553}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture2D"}}],[{key:"isSupported",value:function(e,t){return Mx.isSupported(e,t)}}]),i}(Mx,Symbol.toStringTag),Dx="EXT_color_buffer_float",Nx={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Dx,bpp:2},33327:{gl2:Dx,bpp:4},34842:{gl2:Dx,bpp:8},33326:{gl2:Dx,bpp:4},33328:{gl2:Dx,bpp:8},34836:{gl2:Dx,bpp:16},35898:{gl2:Dx,bpp:4}},Lx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Renderbuffer"}},{key:"initialize",value:function(e){var t=e.format,n=e.width,i=void 0===n?1:n,r=e.height,o=void 0===r?1:r,a=e.samples,s=void 0===a?0:a;return ox(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==s&&lk(this.gl)?this.gl.renderbufferStorageMultisample(36161,s,t,i,o):this.gl.renderbufferStorage(36161,t,i,o),this.format=t,this.width=i,this.height=o,this.samples=s,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*Nx[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,n=e.height;return t!==this.width||n!==this.height?this.initialize({width:t,height:n,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},n=t.format;return!n||function(e,t,n){var i=n[t];if(!i)return!1;var r=lk(e)&&i.gl2||i.gl1;return"string"==typeof r?e.getExtension(r):r}(e,n,Nx)}},{key:"getSamplesForFormat",value:function(e,t){var n=t.format;return e.getInternalformatParameter(36161,n,32937)}}]),i}(px,Symbol.toStringTag),jx="clear: bad arguments";function Fx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,i=void 0===n?null:n,r=t.color,o=void 0===r?null:r,a=t.depth,s=void 0===a?null:a,u=t.stencil,c=void 0===u?null:u,l={};i&&(l.framebuffer=i);var h=0;o&&(h|=16384,!0!==o&&(l.clearColor=o)),s&&(h|=256,!0!==s&&(l.clearDepth=s)),c&&(h|=1024,!0!==s&&(l.clearStencil=s)),ox(0!==h,jx),Hk(e,l,function(){e.clear(h)})}function Bx(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}function Vx(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(e){Bx(o,i,r,a,s,"next",e)}function s(e){Bx(o,i,r,a,s,"throw",e)}a(void 0)})}}var zx=[34069,34070,34071,34072,34073,34074],Ux=function(){var e=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(t=n.call(this,e,Object.assign({},r,{target:34067}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TextureCube"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mipmaps,i=void 0===n||n,r=t.parameters,o=void 0===r?{}:r;return this.opts=t,this.setCubeMapImageData(t).then(function(){e.loaded=!0,i&&e.generateMipmap(t),e.setParameters(o)}),this}},{key:"subImage",value:function(e){var t=e.face,n=e.data,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.mipmapLevel,u=void 0===s?0:s;return this._subImage({target:t,data:n,x:r,y:a,mipmapLevel:u})}},{key:"setCubeMapImageData",value:function(e){var t=e.width,n=e.height,i=e.pixels,r=e.data,o=e.border,a=void 0===o?0:o,s=e.format,u=void 0===s?6408:s,c=e.type,l=void 0===c?5121:c,h=this;return Vx(regeneratorRuntime.mark(function e(){var o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=h.gl,s=i||r,e.next=4,Promise.all(zx.map(function(e){var t=s[e];return Promise.all(Array.isArray(t)?t:[t])}));case 4:c=e.sent,h.bind(),zx.forEach(function(e,i){c[i].length>1&&!1!==h.opts.mipmaps&&sk.warn("".concat(h.id," has mipmap and multiple LODs."))(),c[i].forEach(function(i,r){t&&n?o.texImage2D(e,r,u,t,n,a,u,l,i):o.texImage2D(e,r,u,u,l,i)})}),h.unbind();case 6:case"end":return e.stop()}},e)}))()}},{key:"setImageDataForFace",value:function(e){var t=this,n=e.face,i=e.width,r=e.height,o=e.pixels,a=e.data,s=e.border,u=void 0===s?0:s,c=e.format,l=void 0===c?6408:c,h=e.type,d=void 0===h?5121:h,f=this.gl,p=o||a;return this.bind(),p instanceof Promise?p.then(function(i){return t.setImageDataForFace(Object.assign({},e,{face:n,data:i,pixels:i}))}):this.width||this.height?f.texImage2D(n,0,l,i,r,u,l,d,p):f.texImage2D(n,0,l,l,d,p),this}}]),i}(Mx,Symbol.toStringTag);return e.FACES=zx,e}(),Hx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture3D"}},{key:"setImageData",value:function(e){var t=this,n=e.level,i=void 0===n?0:n,r=e.dataFormat,o=void 0===r?6408:r,a=e.width,s=e.height,u=e.depth,c=void 0===u?1:u,l=e.border,h=void 0===l?0:l,d=e.format,f=e.type,p=void 0===f?5121:f,v=e.offset,g=void 0===v?0:v,m=e.data,y=e.parameters,b=void 0===y?{}:y;return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,b,function(){ArrayBuffer.isView(m)&&t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,m),m instanceof Cx&&(t.gl.bindBuffer(35052,m.handle),t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,g))}),this._trackAllocatedMemory(m&&m.byteLength?m.byteLength:this.width*this.height*this.depth*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(Mx,Symbol.toStringTag);function Gx(e,t){ox(e instanceof Rx||e instanceof Ux||e instanceof Hx);var n=e.constructor,i=e.gl,r=e.width,o=e.height,a=e.format,s=e.type,u=e.dataFormat,c=e.border,l=e.mipmaps;return new n(i,Object.assign({width:r,height:o,format:a,type:s,dataFormat:u,border:c,mipmaps:l},t))}function Wx(e,t){var n=e.gl,i=e.width,r=e.height,o=e.id;return new $x(n,Object.assign({},t,{id:"framebuffer-for-".concat(o),width:i,height:r,attachments:{36064:e}}))}function qx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceX,i=void 0===n?0:n,r=t.sourceY,o=void 0===r?0:r,a=t.sourceFormat,s=void 0===a?6408:a,u=t.sourceAttachment,c=void 0===u?36064:u,l=t.target,h=void 0===l?null:l,d=t.sourceWidth,f=t.sourceHeight,p=t.sourceType,v=Yx(e),g=v.framebuffer,m=v.deleteFramebuffer;ox(g);var y=g.gl,b=g.handle,_=g.attachments;d=d||g.width,f=f||g.height,36064===c&&null===b&&(c=1028),ox(_[c]),h=function(e,t,n,i,r){return e||new(gx(t=t||5121,{clamped:!1}))(i*r*function(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ox(!1),0}}(n))}(h,p=p||_[c].type,s,d,f),p=p||vx(h);var w=y.bindFramebuffer(36160,b);return y.readPixels(i,o,d,f,s,p,h),y.bindFramebuffer(36160,w||null),m&&g.delete(),h}function Xx(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceAttachment,i=void 0===n?36064:n,r=t.targetMaxHeight,o=void 0===r?Number.MAX_SAFE_INTEGER:r,a=qx(e,{sourceAttachment:i}),s=e.width,u=e.height;u>o;){var c=mx({data:a,width:s,height:u});a=c.data,s=c.width,u=c.height}!function(e){var t=e.data,n=e.height,i=e.bytesPerPixel,r=e.temp,o=e.width*(void 0===i?4:i);r=r||new Uint8Array(o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:{};return m(this,o),(t=r.call(this,e,n)).width=null,t.height=null,t.attachments={},t.readBuffer=36064,t.drawBuffers=[36064],t.ownResources=[],t.initialize(n),Object.seal(c(t)),t}return b(o,[{key:i,get:function(){return"Framebuffer"}},{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}},{key:"initialize",value:function(e){var t=e.width,n=void 0===t?1:t,i=e.height,r=void 0===i?1:i,o=e.attachments,a=void 0===o?null:o,s=e.color,u=void 0===s||s,c=e.depth,l=void 0===c||c,h=e.stencil,d=void 0!==h&&h,f=e.check,p=void 0===f||f,v=e.readBuffer,g=e.drawBuffers;if(ox(n>=0&&r>=0,"Width and height need to be integers"),this.width=n,this.height=r,a)for(var m in a){var y=a[m];(Array.isArray(y)?y[0]:y).resize({width:n,height:r})}else a=this._createDefaultAttachments(u,l,d,n,r);this.update({clearAttachments:!0,attachments:a,readBuffer:v,drawBuffers:g}),a&&p&&this.checkStatus()}},{key:"delete",value:function(){var t,n=_(this.ownResources);try{for(n.s();!(t=n.n()).done;){t.value.delete()}}catch(i){n.e(i)}finally{n.f()}return e(p(o.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,n=void 0===t?{}:t,i=e.readBuffer,r=e.drawBuffers,o=e.clearAttachments,a=void 0!==o&&o,s=e.resizeAttachments,u=void 0===s||s;this.attach(n,{clearAttachments:a,resizeAttachments:u});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),r&&this._setDrawBuffers(r),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=e.height;if(null===this.handle)return ox(void 0===t&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var i in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),t!==this.width&&n!==this.height&&sk.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(n))(),this.attachments)this.attachments[i].resize({width:t,height:n});return this.width=t,this.height=n,this}},{key:"attach",value:function(e){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=i.clearAttachments,o=void 0!==r&&r,a=i.resizeAttachments,s=void 0===a||a,u={};o&&Object.keys(this.attachments).forEach(function(e){u[e]=null}),Object.assign(u,e);var c=this.gl.bindFramebuffer(36160,this.handle);for(var l in u){ox(void 0!==l,"Misspelled framebuffer binding point?");var h=Number(l),d=u[h],f=d;if(f)if(f instanceof Lx)this._attachRenderbuffer({attachment:h,renderbuffer:f});else if(Array.isArray(d)){var p=t(d,3),v=p[0],g=p[1],m=void 0===g?0:g,y=p[2],b=void 0===y?0:y;f=v,this._attachTexture({attachment:h,texture:v,layer:m,level:b})}else this._attachTexture({attachment:h,texture:f,layer:0,level:0});else this._unattach(h);s&&f&&f.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,c||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(function(e){return!n.attachments[e]}).forEach(function(e){delete n.attachments[e]})}},{key:"checkStatus",value:function(){var e=this.getStatus();if(36053!==e)throw new Error(function(e){return(o.STATUS||{})[e]||"Framebuffer error ".concat(e)}(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),n=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),n}},{key:"clear",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.color,r=n.depth,o=n.stencil,a=n.drawBuffers,s=void 0===a?[]:a,u=this.gl.bindFramebuffer(36160,this.handle);return(i||r||o)&&Fx(this.gl,{color:i,depth:r,stencil:o}),s.forEach(function(n,i){!function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.framebuffer,r=void 0===i?null:i,o=n.buffer,a=void 0===o?6144:o,s=n.drawBuffer,u=void 0===s?0:s,c=n.value,l=void 0===c?[0,0,0,0]:c;dk(e),Hk(e,{framebuffer:r},function(){switch(a){case 6144:switch(l.constructor){case Int32Array:e.clearBufferiv(a,u,l);break;case Uint32Array:e.clearBufferuiv(a,u,l);break;case Float32Array:default:e.clearBufferfv(a,u,l)}break;case 6145:e.clearBufferfv(6145,0,[l]);break;case 6146:e.clearBufferiv(6146,0,[l]);break;case 34041:var n=t(l,2),i=n[0],r=n[1];e.clearBufferfi(34041,0,i,r);break;default:ox(!1,jx)}})}(e.gl,{drawBuffer:i,value:n})}),this.gl.bindFramebuffer(36160,u||null),this}},{key:"readPixels",value:function(){return sk.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){return sk.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){return sk.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){return sk.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){return sk.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){return sk.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,n=void 0===t?[]:t,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.width,u=e.height,c=dk(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===r&&0===a&&void 0===s&&void 0===u?c.invalidateFramebuffer(36008,n):c.invalidateFramebuffer(36008,n,r,a,s,u),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,n){var i=this._getAttachmentParameterFallback(t);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=sx(this.gl,i)),i}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],r={},o=_(i);try{for(o.s();!(e=o.n()).done;){var a=e.value;r[n?sx(this.gl,a):a]=this.getAttachmentParameter(t,a,n)}}catch(s){o.e(s)}finally{o.f()}return r}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),n={},i=0,r=t;i0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>sk.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var n=Xx(this,{targetMaxHeight:100});return sk.image({logLevel:e,message:t,image:n},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,null),this}},{key:"_createDefaultAttachments",value:function(e,t,n,i,r){var o=null;return e&&((o=o||{})[36064]=new Rx(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&n?((o=o||{})[33306]=new Lx(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:i,height:111}),this.ownResources.push(o[33306])):t?((o=o||{})[36096]=new Lx(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:i,height:r}),this.ownResources.push(o[36096])):n&&ox(!1),o}},{key:"_unattach",value:function(e){var t=this.attachments[e];!t||(t instanceof Lx?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,n,36161,i.handle),this.attachments[n]=i}},{key:"_attachTexture",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.texture,r=e.layer,o=e.level,a=this.gl;switch(a.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:dk(a).framebufferTextureLayer(36160,n,i.target,o,r);break;case 34067:var s=function(e){return e<34069?e+34069:e}(r);a.framebufferTexture2D(36160,n,s,i.handle,o);break;case 3553:a.framebufferTexture2D(36160,n,3553,i.handle,o);break;default:ox(!1,"Illegal texture type")}a.bindTexture(i.target,null),this.attachments[n]=i}},{key:"_setReadBuffer",value:function(e){var t=function(e){return lk(e)?e:null}(this.gl);t?t.readBuffer(e):ox(36064===e||1029===e,Kx),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,n=dk(t);if(n)n.drawBuffers(e);else{var i=t.getExtension("WEBGL_draw_buffers");i?i.drawBuffersWEBGL(e):ox(1===e.length&&(36064===e[0]||1029===e[0]),Kx)}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=function(e){for(var t in e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},Qx)void 0===e.luma.caps[t]&&(e.luma.caps[t]=eS(e,t));return e.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.colorBufferFloat,i=t.colorBufferHalfFloat,r=!0;return n&&(r=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),i&&(r=r&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),r}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new o(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),o}(px,Symbol.toStringTag);$x.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var Qx={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(e){var t=new Rx(e,{format:6408,type:5126,dataFormat:6408}),n=new $x(e,{id:"test-framebuffer",check:!1,attachments:{36064:t}}),i=n.getStatus();return t.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function Zx(e,t){return Jx(e,t)}function Jx(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return eS(e,t)})}function eS(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},void 0===e.luma.caps[t]&&(e.luma.caps[t]=function(e,t){var n,i=Qx[t];ox(i,t);var r=lk(e)&&i[1]||i[0];if("function"==typeof r)n=r(e);else if(Array.isArray(r)){n=!0;var o,a=_(r);try{for(a.s();!(o=a.n()).done;){var s=o.value;n=n&&Boolean(e.getExtension(s))}}catch(u){a.e(u)}finally{a.f()}}else"string"==typeof r?n=Boolean(e.getExtension(r)):"boolean"==typeof r?n=r:ox(!1);return n}(e,t)),e.luma.caps[t]||sk.log(2,"Feature: ".concat(t," not supported"))(),e.luma.caps[t]}var tS=function(){function e(t,n){m(this,e),this.opts=n,this.source=t}return b(e,[{key:"value",get:function(){return this.source.value}},{key:"getValue",value:function(){var e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];var n=this.source.value,i=t.size,r=n;if(n&&n.length!==i){r=new Float32Array(i);for(var o=t.elementOffset||0,a=0;ai&&(r=i);var o=this._pool,a=e.BYTES_PER_ELEMENT*r,s=o.findIndex(function(e){return e.byteLength>=a});if(s>=0){var u=new e(o.splice(s,1)[0],0,r);return n&&u.fill(0),u}return new e(r)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,n=e.buffer,i=n.byteLength,r=t.findIndex(function(e){return e.byteLength>=i});r<0?t.push(n):(r>0||t.lengththis.props.poolSize&&t.shift()}}}]),e}()),iS=1/Math.PI*180,rS=1/180*Math.PI,oS={};function aS(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?oS.precision||4:n;return e=function(e){return Math.round(e/oS.EPSILON)*oS.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function sS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uS(e,t,n){if(sS(e)){n=n||function(e){return e.clone?e.clone():new Array(e.length)}(e);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+aS(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(oS.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&sS(i)?e.copy(i):(oS.debug&&(gS(i),gS(r),gS(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return oS.debug&&(gS(e.x),gS(e.y),gS(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return AS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?LS:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return DS(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return PS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return jS.ZERO=jS.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(_S),BS=new FS;function VS(e,t,n,i){BS.set(e,t,n);var r=BS.len();return{distance:i/r,normal:new FS(-e/r,-t/r,-n/r)}}function zS(e){return e-Math.fround(e)}function US(e,t){var n=t.size,i=void 0===n?1:n,r=t.startIndex,o=void 0===r?0:r,a=t.endIndex;Number.isFinite(a)||(a=e.length);var s=(a-o)/i;NS=nS.allocate(NS,s,{type:Float32Array,size:2*i});for(var u=o,c=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=qS,r={index:-1,data:e,target:[]};return e?"function"==typeof e[Symbol.iterator]?i=e:e.length>0&&(XS.length=e.length,i=XS):i=qS,(t>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,n),r.index=t-1),{iterable:i,objectInfo:r}}function KS(e){return e&&e[Symbol.asyncIterator]}function $S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?QS(e,t,[]):t(e)?[e]:[]}function QS(e,t,n){for(var i=-1;++ic)n.set(t.subarray(0,c),r);else if(n.set(t,r),s)for(var l=u;l=f)){var v=p?i.value:i.getBuffer().getData({srcByteOffset:l});if(i.settings.normalized&&!p){var g=s;s=function(e,t){return i._normalizeConstant(g(e,t))}}var m=p?function(e,t){return s(v,t)}:function(e,t){return s(v.subarray(e,e+c),t)},y=t.getData({length:r}),b=new Float32Array(f);(function(e){var t=e.source,n=e.target,i=e.size,r=e.getData,o=e.sourceStartIndices,a=e.targetStartIndices;if(!Array.isArray(a))return tC({source:t,target:n,size:i,getData:r}),n;for(var s=0,u=0,c=r&&function(e,t){return r(e+u,t)},l=Math.min(o.length,a.length),h=1;h1&&void 0!==arguments[1]?arguments[1]:{};m(this,r),t=i.call(this,e,n);var o=n.transition,a=void 0!==o&&o,s=n.noAlloc,u=void 0!==s&&s,c=n.update,l=void 0===c?null:c,h=n.accessor,d=void 0===h?null:h,f=n.transform,p=void 0===f?null:f,v=n.startIndices,g=void 0===v?null:v;return Object.assign(t.settings,{transition:a,noAlloc:u,update:l||d&&t._autoUpdater,accessor:d,transform:p}),Object.assign(t.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:eC,startIndices:g}),Object.seal(t.settings),Object.seal(t.state),t._validateAttributeUpdaters(),t}return b(r,[{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}},{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,n=void 0!==t&&t,i=this.state.needsRedraw;return this.state.needsRedraw=i&&!n,i}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!=typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,n=this.settings.transition;return iC(Array.isArray(t)?e[t.find(function(t){return e[t]})]:e[t],n)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var n=t.startRow,i=void 0===n?0:n,r=t.endRow,o=void 0===r?1/0:r;this.state.updateRanges=function(e,t){if(e===eC||(t[0]<0&&(t[0]=0),t[0]>=t[1]))return e;for(var n=[],i=e.length,r=0,o=0;ot[1]?n.push(a):t=[Math.min(a[0],t[0]),Math.max(a[1],t[1])]}return n.splice(r,0,t),n}(this.state.updateRanges,[i,o])}else this.state.updateRanges=eC}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=JS}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(t){var n=this.state,i=this.settings;return!i.noAlloc&&!!i.update&&(e(p(r.prototype),"allocate",this).call(this,{numInstances:t,copy:n.updateRanges!==eC}),!0)}},{key:"updateBuffer",value:function(n){var i=n.numInstances,o=n.data,a=n.props,s=n.context;if(!this.needsUpdate())return!1;var u=this.state.updateRanges,c=this.settings,l=c.update,h=c.noAlloc,d=!0;if(l){var f,v=_(u);try{for(v.s();!(f=v.n()).done;){var g=t(f.value,2),m=g[0],y=g[1];l.call(s,this,{data:o,startRow:m,endRow:y,props:a,numInstances:i})}}catch(O){v.e(O)}finally{v.f()}if(this.value)if(this.constant||this.buffer.byteLength1&&void 0!==arguments[1]?arguments[1]:null,n=this.state,i=this.settings;return e?!(i.noAlloc||(n.binaryValue===e?(this.clearNeedsUpdate(),0):(n.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e}),i.transform||t!==this.startIndices?(WS(ArrayBuffer.isView(e.value),"invalid ".concat(i.accessor)),n.binaryAccessor=function(e,t){var n=t.size,i=t.stride,r=t.offset,o=t.startIndices,a=t.nested,s=e.BYTES_PER_ELEMENT,u=i?i/s:n,c=r?r/s:0,l=Math.floor((e.length-c)/u);return function(t,i){var r=i.index,s=i.target;if(!o){for(var h=r*u+c,d=0;dl?c.set(x,g):(e._normalizeValue(x,b.target,0),ZS({target:c,source:b.target,start:g,count:S}));g+=S*l}else e._normalizeValue(x,c,g),g+=l}}catch(P){w.e(P)}finally{w.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var n=!0;switch(t){case 4:n=n&&Number.isFinite(e[3]);case 3:n=n&&Number.isFinite(e[2]);case 2:n=n&&Number.isFinite(e[1]);case 1:n=n&&Number.isFinite(e[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}]),r}(function(){function e(t,n){m(this,e),this.gl=t,this.id=n.id,this.size=n.size;var i=n.logicalType||n.type,r=5130===i,o=n.defaultValue;o=Number.isFinite(o)?[o]:o||new Array(this.size).fill(0),n.defaultValue=o;var a=i;r?a=5126:!a&&n.isIndexed?a=t&&Zx(t,"ELEMENT_INDEX_UINT32")?5125:5123:a||(a=5126),n.logicalType=i,n.type=a;var s=function(e){switch(e){case 5126:return Float32Array;case 5130:return Float64Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return Uint8ClampedArray;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Unknown GL type")}}(i||a||5126);this.shaderAttributes={},this.doublePrecision=r,r&&!1===n.fp64&&(s=Float32Array),n.bytesPerElement=s.BYTES_PER_ELEMENT,this.defaultType=s,this.value=null,this.settings=n,this.state={externalBuffer:null,bufferAccessor:n,allocatedValue:null,constant:!1},this._buffer=null,this.setData(n)}return b(e,[{key:"buffer",get:function(){if(!this._buffer){var e=this.settings,t=e.isIndexed,n=e.type;this._buffer=new Cx(this.gl,{id:this.id,target:t?34963:34962,accessor:{type:n}})}return this._buffer}},{key:"byteOffset",get:function(){var e=this.getAccessor();return e.vertexOffset?e.vertexOffset*HS(e):0}},{key:"delete",value:function(){this._buffer&&(this._buffer.delete(),this._buffer=null),nS.release(this.state.allocatedValue)}},{key:"getShaderAttributes",value:function(e,t){if(this.doublePrecision){var n={},i=this.value instanceof Float64Array,r=function(e,t){var n=GS(e,t);return{high:n,low:I(M({},n),{offset:n.offset+4*e.size})}}(this.getAccessor(),t||{});return n[e]=new tS(this,r.high),n["".concat(e,"64Low")]=i?new tS(this,r.low):new Float32Array(this.size),n}if(t){var a=GS(this.getAccessor(),t);return o({},e,new tS(this,a))}return o({},e,this)}},{key:"getBuffer",value:function(){return this.state.constant?null:this.state.externalBuffer||this._buffer}},{key:"getValue",value:function(){return this.state.constant?this.value:[this.getBuffer(),this.getAccessor()]}},{key:"getAccessor",value:function(){return this.state.bufferAccessor}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof Cx&&(e={buffer:e});var n=M(M({},this.settings),e);if(t.bufferAccessor=n,e.constant){var i=e.value;if(i=this._normalizeValue(i,[],0),this.settings.normalized&&(i=this._normalizeConstant(i)),t.constant&&this._areValuesEqual(i,this.value))return!1;t.externalBuffer=null,t.constant=!0,this.value=i}else if(e.buffer){var r=e.buffer;t.externalBuffer=r,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;n.type=e.type||r.accessor.type,n.bytesPerElement=r.accessor.BYTES_PER_ELEMENT*(o?2:1),n.stride=HS(n)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,n.bytesPerElement=a.BYTES_PER_ELEMENT,n.stride=HS(n);var s=this.buffer,u=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=US(a,n));var c=a.byteLength+u+2*n.stride;s.byteLength0&&void 0!==arguments[0]?arguments[0]:{},t=this.value,n=e.startOffset,i=void 0===n?0:n,r=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?US(t,{size:this.size,startIndex:i,endIndex:r}):t.subarray(i,r),offset:i*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,n=e.copy,i=void 0!==n&&n,r=this.state,o=r.allocatedValue,a=nS.allocate(o,t+1,{size:this.size,type:this.defaultType,copy:i});this.value=a;var s=this.buffer,u=this.byteOffset;return s.byteLength=0;)t[n+a]=Number.isFinite(e[a])?e[a]:r[a]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var n=this.size,i=0;i0&&lC[e]&&(t=lC[e]).call.apply(t,arguments)}function dC(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}var fC="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",pC="#version 300 es\n".concat(fC);function vC(e,n){n=Array.isArray(n)?n:[n];var i=t(e.replace(/^\s+/,"").split(/\s+/),3),r=i[0],o=i[1],a=i[2];return n.includes(r)&&o&&a?{qualifier:r,type:o,name:a.split(";")[0]}:null}function gC(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=void 0===t?100:t,i=e.input,r=e.inputType,o=e.output;if(!i)return 300===n?pC:n>300?"#version ".concat(n,"\n").concat(fC):"void main() {gl_FragColor = vec4(0);}";var a=function(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return dC(!1),null}}(i,r);return n>=300?"#version ".concat(n," ").concat(300===n?"es":"","\nin ").concat(r," ").concat(i,";\nout vec4 ").concat(o,";\nvoid main() {\n ").concat(o," = ").concat(a,";\n}"):"varying ".concat(r," ").concat(i,";\nvoid main() {\n gl_FragColor = ").concat(a,";\n}")}var mC=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r)).initialize(r),t.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TransformFeedback"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,hx(this.buffers)||this.bind(function(){return e._unbindBuffers()}),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind(function(){for(var n in t)e.setBuffer(n,t[n])}),this}},{key:"setBuffer",value:function(e,t){var n=this,i=this._getVaryingIndex(e),r=this._getBufferParams(t),o=r.buffer,a=r.byteSize,s=r.byteOffset;return i<0?(this.unused[e]=o,sk.warn(function(){return"".concat(n.id," unused varying buffer ").concat(e)})(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,o,s,a),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,n,i;return e instanceof Cx?i=e:(i=e.buffer,n=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==n)&&(t=t||0,n=n||i.byteLength-t),{buffer:i,byteOffset:t,byteSize:n}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),n=t.buffer,i=t.byteSize,r=t.byteOffset;this._bindBuffer(e,n,r,i)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0,r=t&&t.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,e,r,n,i):this.gl.bindBufferBase(35982,e,r),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(px,Symbol.toStringTag),yC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"setupResources",value:function(e){var t,n=_(this.bindings);try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setupTransformFeedback(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.transformFeedback;return{attributes:Object.assign({},n,e.attributes),transformFeedback:i}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,n=e?t[e]:null;return n?n instanceof Cx?n:n.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,n=this.getBuffer(t);return n?n.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ox(lk(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,n=void 0===t?{}:t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var r in this.feedbackMap){var o=this.feedbackMap[r];r in n&&(i[o]=r)}for(var a in Object.assign(i,e.feedbackBuffers),i){var s=i[a];if("string"==typeof s){var u=n[s],c=u.byteLength,l=u.usage,h=u.accessor;i[a]=this._createNewBuffer(a,{byteLength:c,usage:l,accessor:h})}}return i}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:n,feedbackBuffers:i})}},{key:"_setupTransformFeedback",value:function(e,t){var n=t.model.program;e.transformFeedback=new mC(this.gl,{program:n,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),n=t.sourceBuffers,i=t.feedbackBuffers,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:n,feedbackBuffers:i})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),n=Object.assign({},e.feedbackBuffers);for(var i in this.feedbackMap){var r=this.feedbackMap[i];t[i]=e.feedbackBuffers[r],n[r]=e.sourceBuffers[i],ox(n[r]instanceof Cx)}return{sourceBuffers:t,feedbackBuffers:n}}},{key:"_createNewBuffer",value:function(e,t){var n=new Cx(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}();function bC(e){var t=100,n=e.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){var i=parseInt(n[1],10);Number.isFinite(i)&&(t=i)}return t}var _C="vs",wC=(o(f={},_C,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),o(f,"fs","#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),f),kC="__LUMA_INJECT_DECLARATIONS__",xC=/void\s+main\s*\([^)]*\)\s*\{\n?/,SC=/}\n?[^{}]*$/,CC=[];function EC(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=t===_C,o=function(t){var i=n[t];i.sort(function(e,t){return e.order-t.order}),CC.length=i.length;for(var o=0,a=i.length;o1),e.forEach(function(e){for(var n in e)t[n]=t[n]?"".concat(t[n],"\n").concat(e[n]):e[n]}),t}var TC={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},PC="transform_uSize_",AC="transform_position",MC={10241:9728,10240:9728,10242:33071,10243:33071},IC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.sourceTextures,r=t.framebuffer,o=t.targetTexture,a=Object.assign({},n,e.attributes),s=Object.assign({},e.uniforms),u=Object.assign({},e.parameters),c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var l in a.transform_elementID=this.elementIDBuffer,this.samplerTextureMap)s[l]=i[this.samplerTextureMap[l]];this._setSourceTextureParameters();var h=function(e){var t,n,i,r=e.sourceTextureMap,o=e.targetTextureVarying,a=e.targetTexture,s={};for(var u in o&&(n=(t=a).width,i=t.height,s["".concat(PC).concat(o)]=[n,i]),r){var c;n=(c=r[u]).width,i=c.height,s["".concat(PC).concat(u)]=[n,i]}return s}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:o});Object.assign(s,h)}return this.hasTargetTexture&&(c=!1,u.viewport=[0,0,r.width,r.height]),{attributes:a,framebuffer:r,uniforms:s,discard:c,parameters:u}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,n=void 0!==t&&t,i=this.bindings[this.currentIndex].framebuffer,r=qx(i);if(!n)return r;for(var o=r.constructor,a=function(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return dC(!1),null}}(this.targetTextureType),s=new o(r.length*a/4),u=0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,n=e._swapTexture;this._swapTexture=n,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,n=e.textureOrReference;if(n instanceof Rx)return n;var i=t[n];return i?(this._targetRefTexName=n,this._createNewTexture(i)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=e._sourceTextures,i=void 0===n?{}:n,r=e._targetTexture,o=this._createTargetTexture({sourceTextures:i,textureOrReference:r});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:o}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!=typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach(function(e,t,n){n[t]=t}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Cx(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),n=t.sourceTextures,i=t.targetTexture,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:n,targetTexture:i})}}},{key:"_updateBinding",value:function(e,t){var n=t.sourceBuffers,i=t.sourceTextures,r=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,i),Object.assign(e.sourceBuffers,n),r){e.targetTexture=r;var o=r.width,a=r.height,s=e.framebuffer;s?(s.update({attachments:{36064:r},resizeAttachments:!1}),s.resize({width:o,height:a})):e.framebuffer=new $x(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:r}})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var n in t)t[n].setParameters(MC)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t=Gx(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceTextures,i=t.targetTexture,r=function(e){var t=e.vs,n=e.sourceTextureMap,i=e.targetTextureVarying,r=e.targetTexture,o=Object.keys(n).length,a=null,s={},u=t,c={};if(o>0||i){var l=u.split("\n"),h=l.slice();if(l.forEach(function(e,t,r){if(o>0){var u=function(e,t){var n={},i=function(e){return vC(e,["attribute","in"])}(e);if(!i)return null;var r=i.type,o=i.name;if(o&&t[o]){var a="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="transform_uSampler_".concat(e),n="".concat(PC).concat(e);return{samplerName:t,sizeName:n,uniformDeclerations:" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(n,";")}}(o),u=s.samplerName,c=s.sizeName,l=s.uniformDeclerations,h=" ".concat(r," ").concat(o," = transform_getInput(").concat(u,", ").concat(c,").").concat(function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return dC(!1),null}}(r),";\n");return n[u]=o,{updatedLine:a,inject:{"vs:#decl":l,"vs:#main-start":h},samplerTextureMap:n}}return null}(e,n);if(u){var l=u.updatedLine,d=u.inject;h[t]=l,c=OC([c,d]),Object.assign(s,u.samplerTextureMap),o--}}i&&!a&&(a=function(e,t){var n=vC(e,["varying","out"]);return n&&n.name===t?n.type:null}(e,i))}),i){ox(r);var d="".concat(PC).concat(i);c=OC([c,{"vs:#decl":"uniform vec2 ".concat(d,";\n"),"vs:#main-start":" vec2 ".concat(AC," = transform_getPos(").concat(d,");\n gl_Position = vec4(").concat(AC,", 0, 1.);\n")}])}u=h.join("\n")}return{vs:u,targetTextureType:a,inject:c,samplerTextureMap:s}}({vs:e.vs,sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),o=r.vs,a=r.uniforms,s=r.targetTextureType,u=r.inject,c=r.samplerTextureMap,l=OC([e.inject||{},u]);return this.targetTextureType=s,this.samplerTextureMap=c,{vs:o,fs:e._fs||gC({version:bC(o),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[TC].concat(e.modules||[]):e.modules,uniforms:a,inject:l}}}]),e}(),RC={number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function DC(e){var t=NC(e);return"object"===t?e?"type"in e?Object.assign({},e,RC[e.type]):"value"in e?(t=NC(e.value),Object.assign({type:t},e,RC[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},RC[t])}function NC(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":typeof e}var LC=function(){function e(t){var n=t.name,i=t.vs,r=t.fs,o=t.dependencies,a=void 0===o?[]:o,s=t.uniforms,u=t.getUniforms,c=t.deprecations,l=void 0===c?[]:c,h=t.defines,d=void 0===h?{}:h,f=t.inject,p=void 0===f?{}:f,v=t.vertexShader,g=t.fragmentShader;m(this,e),dC("string"==typeof n),this.name=n,this.vs=i||v,this.fs=r||g,this.getModuleUniforms=u,this.dependencies=a,this.deprecations=this._parseDeprecationDefinitions(l),this.defines=d,this.injections=function(e){var t={vs:{},fs:{}};for(var n in e){var i=e[n];"string"==typeof i&&(i={order:0,injection:i}),t[n.slice(0,2)][n]=i}return t}(p),s&&(this.uniforms=function(e){var t={};for(var n in e){var i=DC(e[n]);t[n]=i}return t}(s))}return b(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:dC(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach(function(n){n.regex.test(e)&&(n.deprecated?t.deprecated(n.old,n.new)():t.removed(n.old,n.new)())})}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach(function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}}),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=this.uniforms;for(var i in n){var r=n[i];i in e&&!r.private?(r.validate&&dC(r.validate(e[i],r),"".concat(this.name,": invalid ").concat(i)),t[i]=e[i]):t[i]=r.value}return t}}]),e}();function jC(e){return function(e){var t={},n={};return FC({modules:e,level:0,moduleMap:t,moduleDepth:n}),Object.keys(n).sort(function(e,t){return n[t]-n[e]}).map(function(e){return t[e]})}(BC(e))}function FC(e){var t=e.modules,n=e.level,i=e.moduleMap,r=e.moduleDepth;if(n>=5)throw new Error("Possible loop in shader dependency graph");var o,a=_(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;i[s.name]=s,(void 0===r[s.name]||r[s.name]2&&void 0!==arguments[2]?arguments[2]:{},i=VC[t];if(dC(i,t),!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},n=e.userAgent||t.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(t in HC)return HC[t];var r="#extension GL_".concat(i[0]," : ").concat(n.behavior||"enable","\nvoid main(void) {}"),o=e.createShader(35633);e.shaderSource(o,r),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),HC[t]=a,a}function WC(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return function(e,t){var n=VC[t];dC(n,t);var i=function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&n[1]||n[0],r="string"==typeof i?Boolean(e.getExtension(i)):i;return dC(!1===r||!0===r),r}(e,t)})}function qC(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var XC=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],YC=[].concat(XC,[[qC("attribute"),"in $1"],[qC("varying"),"out $1"]]),KC=[].concat(XC,[[qC("varying"),"in $1"]]),$C=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],QC=[].concat($C,[[qC("in"),"attribute $1"],[qC("out"),"varying $1"]]),ZC=[].concat($C,[[qC("in"),"varying $1"]]),JC="gl_FragColor",eE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,tE=/void\s+main\s*\([^)]*\)\s*\{\n?/;function nE(e,n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=t(i.value,2),a=o[0],s=o[1];e=e.replace(a,s)}}catch(u){r.e(u)}finally{r.f()}return e}var iE="\n\n".concat(kC,"\n\n"),rE=(o(g={},_C,"vertex"),o(g,"fs","fragment"),g);function oE(e,n){var i=n.id,r=n.source,o=n.type,a=n.modules,s=n.defines,u=void 0===s?{}:s,c=n.hookFunctions,l=void 0===c?[]:c,h=n.inject,d=void 0===h?{}:h,f=n.transpileToGLSL100,p=void 0!==f&&f,v=n.prologue,g=void 0===v||v,m=n.log;dC("string"==typeof r,"shader source must be a string");var y=o===_C,b=r.split("\n"),w=100,k="",x=r;0===b[0].indexOf("#version ")?(w=300,k=b[0],x=b.slice(1).join("\n")):k="#version ".concat(w);var S={};a.forEach(function(e){Object.assign(S,e.getDefines())}),Object.assign(S,u);var C,E=g?"".concat(k,"\n").concat(function(e){var t=e.id,n=e.type;return t&&"string"==typeof t&&-1===e.source.indexOf("SHADER_NAME")?"\n#define SHADER_NAME ".concat(t,"_").concat(rE[n],"\n\n"):""}({id:i,source:r,type:o}),"\n").concat((C={type:o},"\n#define SHADER_TYPE_".concat(rE[C.type].toUpperCase(),"\n")),"\n").concat(function(e){switch(function(e){var t=e.getExtension("WEBGL_debug_renderer_info"),n=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||7936),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:UC(n,i),vendor:n,renderer:i,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(e),"\n").concat(function(e,t,n){var i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return WC(e,zC.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),WC(e,zC.GLSL_DERIVATIVES)&&GC(e,zC.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),WC(e,zC.GLSL_FRAG_DATA)&&GC(e,zC.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),WC(e,zC.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(e),"\n").concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=0,n="";for(var i in e){0===t&&(n+="\n// APPLICATION DEFINES\n"),t++;var r=e[i];(r||Number.isFinite(r))&&(n+="#define ".concat(i.toUpperCase()," ").concat(e[i],"\n"))}return 0===t&&(n+="\n"),n}(S),"\n").concat(y?"":"precision highp float;\n\n","\n"):"".concat(k,"\n"),O=function(e){var n={vs:{},fs:{}};return e.forEach(function(e){var i;"string"!=typeof e?e=(i=e).hook:i={};var r=t((e=e.trim()).split(":"),2),o=r[0],a=r[1],s=e.replace(/\(.+/,"");n[o][s]=Object.assign(i,{signature:a})}),n}(l),T={},P={},A={};for(var M in d){var I="string"==typeof d[M]?{injection:d[M],order:0}:d[M],R=M.match(/^(v|f)s:(#)?([\w-]+)$/);if(R){var D=R[3];R[2]?"decl"===D?P[M]=[I]:A[M]=[I]:T[M]=[I]}else A[M]=[I]}var N,L=_(a);try{for(L.s();!(N=L.n()).done;){var j=N.value;m&&j.checkDeprecations(x,m),E+=j.getModuleSource(o,w);var F=j.injections[o];for(var B in F){var V=B.match(/^(v|f)s:#([\w-]+)$/);if(V){var z="decl"===V[2]?P:A;z[B]=z[B]||[],z[B].push(F[B])}else T[B]=T[B]||[],T[B].push(F[B])}}}catch(U){L.e(U)}finally{L.f()}return E=EC(E+=iE,o,P),E+=function(e,t){var n="";for(var i in e){var r=e[i];if(n+="void ".concat(r.signature," {\n"),r.header&&(n+=" ".concat(r.header)),t[i]){var o=t[i];o.sort(function(e,t){return e.order-t.order});var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;n+=" ".concat(u.injection,"\n")}}catch(U){s.e(U)}finally{s.f()}}r.footer&&(n+=" ".concat(r.footer)),n+="}\n"}return n}(O[o],T),E=function(e,t,n){switch(t){case 300:return n?nE(e,YC):function(e){var t=(e=nE(e,KC)).match(eE);if(t){var n=t[1];e=e.replace(new RegExp("\\b".concat(JC,"\\b"),"g"),n)}else{var i="fragmentColor";e=e.replace(tE,function(e){return"out vec4 ".concat(i,";\n").concat(e)}).replace(new RegExp("\\b".concat(JC,"\\b"),"g"),i)}return e}(e);case 100:return n?nE(e,QC):function(e){var t=(e=nE(e,ZC)).match(eE);if(t){var n=t[1];e=e.replace(eE,"").replace(new RegExp("\\b".concat(n,"\\b"),"g"),JC)}return e}(e);default:throw new Error("unknown GLSL version ".concat(t))}}(E=EC(E+=x,o,A),p?100:w,y)}function aE(e){return function(t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value.getUniforms(t,i);Object.assign(i,o)}}catch(a){r.e(a)}finally{r.f()}return i}}var sE=(o(y={5126:wE.bind(null,"uniform1fv",fE,1,kE),35664:wE.bind(null,"uniform2fv",fE,2,kE),35665:wE.bind(null,"uniform3fv",fE,3,kE),35666:wE.bind(null,"uniform4fv",fE,4,kE),5124:wE.bind(null,"uniform1iv",pE,1,kE),35667:wE.bind(null,"uniform2iv",pE,2,kE),35668:wE.bind(null,"uniform3iv",pE,3,kE),35669:wE.bind(null,"uniform4iv",pE,4,kE),35670:wE.bind(null,"uniform1iv",pE,1,kE),35671:wE.bind(null,"uniform2iv",pE,2,kE),35672:wE.bind(null,"uniform3iv",pE,3,kE),35673:wE.bind(null,"uniform4iv",pE,4,kE),35674:wE.bind(null,"uniformMatrix2fv",fE,4,xE),35675:wE.bind(null,"uniformMatrix3fv",fE,9,xE),35676:wE.bind(null,"uniformMatrix4fv",fE,16,xE),35678:_E,35680:_E,5125:wE.bind(null,"uniform1uiv",vE,1,kE),36294:wE.bind(null,"uniform2uiv",vE,2,kE),36295:wE.bind(null,"uniform3uiv",vE,3,kE),36296:wE.bind(null,"uniform4uiv",vE,4,kE),35685:wE.bind(null,"uniformMatrix2x3fv",fE,6,xE),35686:wE.bind(null,"uniformMatrix2x4fv",fE,8,xE),35687:wE.bind(null,"uniformMatrix3x2fv",fE,6,xE),35688:wE.bind(null,"uniformMatrix3x4fv",fE,12,xE),35689:wE.bind(null,"uniformMatrix4x2fv",fE,8,xE),35690:wE.bind(null,"uniformMatrix4x3fv",fE,12,xE)},"35678",_E),o(y,"35680",_E),o(y,35679,_E),o(y,35682,_E),o(y,36289,_E),o(y,36292,_E),o(y,36293,_E),o(y,36298,_E),o(y,36299,_E),o(y,36300,_E),o(y,36303,_E),o(y,36306,_E),o(y,36307,_E),o(y,36308,_E),o(y,36311,_E),y),uE={},cE={},lE={},hE=[0];function dE(e,t,n,i){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(hE[0]=e,e=hE);var r=e.length;if(r%t&&sk.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof n)return e;var o=i[r];o||(o=new n(r),i[r]=o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"unnamed",n=e.match(/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/);return n?n[1]:t}function CE(e,t){for(var n="",i=0;i0&&void 0!==arguments[0]?arguments[0]:this.source;if(e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){var t=this.gl.getShaderInfoLog(this.handle),n=function(e,t,n,i){for(var r=e.split(/\r?\n/),o={},a={},s=i||SE(t)||"(unnamed)",u="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(n)," shader ").concat(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",i=e.split(/\r?\n/),r=String(i.length+t-1).length;return i.map(function(e,i){var o=String(i+t);return EE(o,r-o.length)+n+e})}(t);return{shaderName:u,errors:CE(o,p),warnings:CE(a,p)}}(t,this.source,this.shaderType,this.id),i=n.shaderName,r=n.errors,o=n.warnings;throw sk.error("GLSL compilation errors in ".concat(i,"\n").concat(r))(),sk.warn("GLSL compilation warnings in ".concat(i,"\n").concat(o))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}],[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return ox(!1),"unknown"}}}]),i}(px,Symbol.toStringTag),TE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35633}))}return b(i,[{key:t,get:function(){return"VertexShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),i}(OE,Symbol.toStringTag),PE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35632}))}return b(i,[{key:t,get:function(){return"FragmentShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),i}(OE,Symbol.toStringTag),AE=5126,ME=5124,IE=5125,RE=(o(w={},AE,[AE,1,"float"]),o(w,35664,[AE,2,"vec2"]),o(w,35665,[AE,3,"vec3"]),o(w,35666,[AE,4,"vec4"]),o(w,ME,[ME,1,"int"]),o(w,35667,[ME,2,"ivec2"]),o(w,35668,[ME,3,"ivec3"]),o(w,35669,[ME,4,"ivec4"]),o(w,IE,[IE,1,"uint"]),o(w,36294,[IE,2,"uvec2"]),o(w,36295,[IE,3,"uvec3"]),o(w,36296,[IE,4,"uvec4"]),o(w,35670,[AE,1,"bool"]),o(w,35671,[AE,2,"bvec2"]),o(w,35672,[AE,3,"bvec3"]),o(w,35673,[AE,4,"bvec4"]),o(w,35674,[AE,8,"mat2"]),o(w,35685,[AE,8,"mat2x3"]),o(w,35686,[AE,8,"mat2x4"]),o(w,35675,[AE,12,"mat3"]),o(w,35687,[AE,12,"mat3x2"]),o(w,35688,[AE,12,"mat3x4"]),o(w,35676,[AE,16,"mat4"]),o(w,35689,[AE,16,"mat4x2"]),o(w,35690,[AE,16,"mat4x3"]),w);function DE(e){var n=RE[e];if(!n)return null;var i=t(n,2);return{type:i[0],components:i[1]}}function NE(e,n){switch(e){case 5120:case 5121:case 5122:case 5123:e=AE}for(var i in RE){var r=t(RE[i],3),o=r[0],a=r[1],s=r[2];if(o===e&&a===n)return{glType:i,name:s}}return null}var LE=function(){function e(t){m(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return b(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,n=t.getProgramParameter(e.handle,35721),i=0;i=0&&this._addAttribute(u,o,a,s)}this.attributeInfos.sort(function(e,t){return e.location-t.location})}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(lk(t)){for(var n=t.getProgramParameter(e.handle,35971),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,n)).stubRemovedMethods("Program","v6.0",jE),t._isCached=!1,t.initialize(n),Object.seal(c(t)),t._setId(n.id),t}return b(r,[{key:n,get:function(){return"Program"}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,n=e.vs,i=e.fs,r=e.varyings,o=e.bufferMode,a=void 0===o?35981:o;return this.hash=t||"",this.vs="string"==typeof n?new TE(this.gl,{id:"".concat(e.id,"-vs"),source:n}):n,this.fs="string"==typeof i?new PE(this.gl,{id:"".concat(e.id,"-fs"),source:i}):i,ox(this.vs instanceof TE),ox(this.fs instanceof PE),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(dk(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,a)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new LE(this),this.setProps(e)}},{key:"delete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:e(p(r.prototype),"delete",this).call(this,t)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,n=e.logPriority,i=e.drawMode,r=void 0===i?4:i,o=e.vertexCount,a=e.offset,s=void 0===a?0:a,u=e.start,c=e.end,l=e.isIndexed,h=void 0!==l&&l,d=e.indexType,f=void 0===d?5123:d,p=e.instanceCount,v=void 0===p?0:p,g=e.isInstanced,m=void 0===g?v>0:g,y=e.vertexArray,b=void 0===y?null:y,_=e.transformFeedback,w=e.framebuffer,k=e.parameters,x=void 0===k?{}:k,S=e.uniforms,C=e.samplers;if((S||C)&&(sk.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(S||{})),sk.priority>=n){var E=w?w.id:"default",O="mode=".concat(sx(this.gl,r)," verts=").concat(o," instances=").concat(v," indexType=").concat(sx(this.gl,f)," isInstanced=").concat(m," isIndexed=").concat(h," Framebuffer=").concat(E);sk.log(n,O)()}return ox(b),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===o||m&&0===v||(b.bindForDraw(o,v,function(){if(void 0!==w&&(x=Object.assign({},x,{framebuffer:w})),_){var e=function(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return ox(!1),0}}(r);_.begin(e)}t._bindTextures(),Hk(t.gl,x,function(){h&&m?t.gl2.drawElementsInstanced(r,o,f,s,v):h&&lk(t.gl)&&!isNaN(u)&&!isNaN(c)?t.gl2.drawRangeElements(r,u,c,o,f,s):h?t.gl.drawElements(r,o,f,s):m?t.gl2.drawArraysInstanced(r,s,o,v):t.gl.drawArrays(r,s,o)}),_&&_.end()}),0))}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in sk.priority>=2&&function(e,t,n){for(var i in e){var r=e[i];if((!n||Boolean(n[i]))&&!yE(r))throw t=t?"".concat(t," "):"",console.error("".concat(t," Bad uniform ").concat(i),r),new Error("".concat(t," Bad uniform ").concat(i))}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var n=e[t],i=this._uniformSetters[t];if(i){var r=n,o=!1;if(r instanceof $x&&(r=r.texture),r instanceof Mx)if(o=this.uniforms[t]!==n){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);var a=r,s=i.textureIndex;a.bind(s),r=s,this._textureUniforms[t]=a}else r=i.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(i(r)||o)&&bE(this.uniforms,t,n)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var n=this._textureUniforms[t];n.update(),e=e&&n.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,n={},i=_(this.gl.getAttachedShaders(e));try{for(i.s();!(t=i.n()).done;){var r=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new TE({handle:r});break;case 35632:n.fs=new PE({handle:r})}}}catch(o){i.e(o)}finally{i.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=cx(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),sk.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),sk.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||sk.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t1)for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{},i=n.vs,r=void 0===i?"":i,o=n.fs,a=void 0===o?"":o,s=n.defines,u=void 0===s?{}:s,c=n.inject,l=void 0===c?{}:c,h=n.varyings,d=void 0===h?[]:h,f=n.bufferMode,p=void 0===f?35981:f,v=n.transpileToGLSL100,g=void 0!==v&&v,m=this._getModuleList(n.modules),y=this._getHash(r),b=this._getHash(a),w=m.map(function(e){return t._getHash(e.name)}).sort(),k=d.map(function(e){return t._getHash(e)}),x=Object.keys(u).sort(),S=Object.keys(l).sort(),C=[],E=[],O=_(x);try{for(O.s();!(e=O.n()).done;){var T=e.value;C.push(this._getHash(T)),C.push(this._getHash(u[T]))}}catch(D){O.e(D)}finally{O.f()}var P,A=_(S);try{for(A.s();!(P=A.n()).done;){var M=P.value;E.push(this._getHash(M)),E.push(this._getHash(l[M]))}}catch(D){A.e(D)}finally{A.f()}var I="".concat(y,"/").concat(b,"D").concat(C.join("/"),"M").concat(w.join("/"),"I").concat(E.join("/"),"V").concat(k.join("/"),"H").concat(this.stateHash,"B").concat(p).concat(g?"T":"");if(!this._programCache[I]){var R=function(e,t){var n=t.vs,i=t.fs,r=jC(t.modules||[]);return{gl:e,vs:oE(e,Object.assign({},t,{source:n,type:_C,modules:r})),fs:oE(e,Object.assign({},t,{source:i,type:"fs",modules:r})),getUniforms:aE(r)}}(this.gl,{vs:r,fs:a,modules:m,inject:l,defines:u,hookFunctions:this._hookFunctions,transpileToGLSL100:g});this._programCache[I]=new FE(this.gl,{hash:I,vs:R.vs,fs:R.fs,varyings:d,bufferMode:p}),this._getUniforms[I]=R.getUniforms||function(e){},this._useCounts[I]=0}return this._useCounts[I]++,this._programCache[I]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),n={},i=0,r=0,o=this._defaultModules.length;r1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,Object.assign({},n,{id:n.id||n.program&&n.program.id}))).buffer=null,t.bufferValue=null,t.isDefaultArray=n.isDefaultArray||!1,t.gl2=e,t.initialize(n),Object.seal(c(t)),t}return b(r,[{key:n,get:function(){return"VertexArrayObject"}},{key:"delete",value:function(){return e(p(r.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"MAX_ATTRIBUTES",get:function(){return r.getMaxAttributes(this.gl)}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return ox(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(function(){e.gl.bindBuffer(34963,t?t.handle:null)}),this}},{key:"setBuffer",value:function(e,t,n){if(34963===t.target)return this.setElementBuffer(t,n);var i=n.size,r=n.type,o=n.stride,a=n.offset,s=n.normalized,u=n.integer,c=n.divisor,l=this.gl,h=this.gl2;return e=Number(e),this.bind(function(){l.bindBuffer(34962,t.handle),u?(ox(lk(l)),h.vertexAttribIPointer(e,i,r,o,a)):l.vertexAttribPointer(e,i,r,s,o,a),l.enableVertexAttribArray(e),h.vertexAttribDivisor(e,c||0)}),this}},{key:"enable",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!n&&0===e&&!r.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(function(){return n?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)})),this}},{key:"getConstantBuffer",value:function(e,t){var n=this._normalizeConstantArrayValue(t),i=n.byteLength*e,r=n.length*e,o=!this.buffer;if(this.buffer=this.buffer||new Cx(this.gl,i),o=(o=o||this.buffer.reallocate(i))||!this._compareConstantArrayValues(n,this.bufferValue)){var a=function(e,t){return new e(function(e){return(!VE||VE.byteLength1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||lk(e)||"Chrome"===function(e){if(!Lw())return"Node";if(Nw(void 0))return"Electron";var t=("undefined"!=typeof navigator?navigator:{}).userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";var n=-1!==t.indexOf("MSIE "),i=-1!==t.indexOf("Trident/");return n||i?"IE":Ww.chrome?"Chrome":Ww.safari?"Safari":Ww.mozInnerScreenX?"Firefox":"Unknown"}()}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new r(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return r.MAX_ATTRIBUTES=r.MAX_ATTRIBUTES||e.getParameter(34921),r.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,n){switch(n.constructor){case Float32Array:r._setConstantFloatArray(e,t,n);break;case Int32Array:r._setConstantIntArray(e,t,n);break;case Uint32Array:r._setConstantUintArray(e,t,n);break;default:ox(!1)}}},{key:"_setConstantFloatArray",value:function(e,t,n){switch(n.length){case 1:e.vertexAttrib1fv(t,n);break;case 2:e.vertexAttrib2fv(t,n);break;case 3:e.vertexAttrib3fv(t,n);break;case 4:e.vertexAttrib4fv(t,n);break;default:ox(!1)}}},{key:"_setConstantIntArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1iv(t,n);break;case 2:e.vertexAttribI2iv(t,n);break;case 3:e.vertexAttribI3iv(t,n);break;case 4:e.vertexAttribI4iv(t,n);break;default:ox(!1)}}},{key:"_setConstantUintArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1uiv(t,n);break;case 2:e.vertexAttribI2uiv(t,n);break;case 3:e.vertexAttribI3uiv(t,n);break;case 4:e.vertexAttribI4uiv(t,n);break;default:ox(!1)}}}]),r}(px,Symbol.toStringTag),UE=/^(.+)__LOCATION_([0-9]+)$/,HE=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],GE=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.id=n.id||n.program&&n.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new zE(t),dx(this,"VertexArray","v6.0",HE),this.initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind(function(){for(var n in e)t._setAttribute(n,e[n]);t.gl.bindBuffer(34962,null)}),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,n);var i=this._resolveLocationAndAccessor(e,t,t.accessor,n),r=i.location,o=i.accessor;return r>=0&&(this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,o)),this}},{key:"setConstant",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},n)),r=i.location,o=i.accessor;return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind(function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new Cx(e.gl,{accessor:{size:4}});for(var t=0;t0;if(e.isInstanced=e.isInstanced||r,n instanceof Cx){var o=n;if(r){var a=o.getVertexCount(i);e.instanceCount=Math.min(e.instanceCount,a)}else{var s=o.getVertexCount(i);e.vertexCount=Math.min(e.vertexCount,s)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sk.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}();function WE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isInteger,i=void 0!==n&&n;if(Array.isArray(e)||ArrayBuffer.isView(e))return function(e,t){for(var n=t.maxElts,i=void 0===n?16:n,r=t.size,o=void 0===r?1:r,a="[",s=0;s0&&(a+=","+(s%o==0?" ":"")),a+=WE(e[s],t);return"".concat(a).concat(e.length>i?"...":"]")}(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)<1e-16)return i?"0":"0.";if(i||Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var r=e.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function qE(e,t,n,i){var r,a,s=e.gl;if(!t)return o(r={},i,"null"),o(r,"Format ","N/A"),r;var u,c,l,h="NOT PROVIDED",d=1,f=0,p=0;if(n&&(h=n.type,d=n.size,u=-1!==(h=String(h).replace("Array","")).indexOf("nt")),t instanceof Cx){var v,g,m=t,y=m.getDebugData(),b=y.data;return c=y.changed?"*":"",l=b,f=(p=m.byteLength)/b.BYTES_PER_ELEMENT/d,n?g="".concat(n.divisor>0?"I ":"P "," ").concat(f," (x").concat(d,"=").concat(p," bytes ").concat(sx(s,h),")"):(u=!0,g="".concat(p," bytes")),o(v={},i,"".concat(c).concat(WE(l,{size:d,isInteger:u}))),o(v,"Format ",g),v}return l=t,d=t.length,u=-1!==(h=String(t.constructor.name).replace("Array","")).indexOf("nt"),o(a={},i,"".concat(WE(l,{size:d,isInteger:u})," (constant)")),o(a,"Format ","".concat(d,"x").concat(h," (constant)")),a}function XE(e,t){var n=NE(t.type,t.size);return n?"".concat(e," (").concat(n.name,")"):e}function YE(e){var t=e.header,n=void 0===t?"Uniforms":t,i=e.program,r=e.uniforms,a=e.undefinedOnly,s=void 0!==a&&a;ox(i);var u,c=".*Matrix",l={},h=Object.keys(i._uniformSetters).sort(),d=0,f=_(h);try{for(f.s();!(u=f.n()).done;){var p=u.value;!p.match(".*_.*")&&!p.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:p,undefinedOnly:s})&&d++}}catch(E){f.e(E)}finally{f.f()}var v,g=_(h);try{for(g.s();!(v=g.n()).done;){var m=v.value;m.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:m,undefinedOnly:s})&&d++}}catch(E){g.e(E)}finally{g.f()}var y,b=_(h);try{for(b.s();!(y=b.n()).done;){var w=y.value;l[w]||KE({table:l,header:n,uniforms:r,uniformName:w,undefinedOnly:s})&&d++}}catch(E){b.e(E)}finally{b.f()}var k=0,x={};if(!s)for(var S in r){var C=r[S];l[S]||(k++,x[S]=o({Type:"NOT USED: ".concat(C)},n,WE(C)))}return{table:l,count:d,unusedTable:x,unusedCount:k}}function KE(e){var t,n=e.table,i=e.header,r=e.uniforms,a=e.uniformName,s=e.undefinedOnly,u=r[a],c=function(e){return null!=e}(u);return!(s&&c||(n[a]=(t={},o(t,i,c?WE(u):"N/A"),o(t,"Uniform Type",c?u:"NOT PROVIDED"),t),0))}function $E(e){var t=e.accessor,n=NE(t.type,t.size);return n?"".concat(n.name," ").concat(e.name):e.name}var QE={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ZE(e,t){var n=(t||{}).attributeMap,i=void 0===n?QE:n;return i&&i[e]||e}function JE(e,t){var n;switch(e){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":t.size=t.size||3;break;case"uvs":t.size=t.size||2}ox(Number.isFinite(t.size),"attribute ".concat(e," needs size"))}var eO=function(){},tO={},nO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?cx("model"):i;ox(ck(t)),this.id=r,this.gl=t,this.id=n.id||cx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(n)}return b(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||BE.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,n=void 0===t?null:t,i=e.vs,r=e.fs,o=e.modules,a=e.defines,s=e.inject,u=e.varyings,c=e.bufferMode,l=e.transpileToGLSL100;this.programProps={program:n,vs:i,fs:r,modules:o,defines:a,inject:s,varyings:u,bufferMode:c,transpileToGLSL100:l},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},ox(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,n=e.vs,i=e.fs,r=e.modules,o=e.defines,a=e.inject,s=e.varyings,u=e.bufferMode,c=e.transpileToGLSL100;this.programProps={program:t,vs:n,fs:i,modules:r,defines:o,inject:a,varyings:s,bufferMode:u,transpileToGLSL100:c},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return ox(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return ox(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,n){var i={},r=t.indices;for(var o in t.attributes){var a=t.attributes[o],s=ZE(o,void 0);if("indices"===o)r=a;else if(a.constant)i[s]=a.value;else{var u=a.value,c=M({},a);delete c.value,i[s]=[new Cx(e,u),c],JE(o,c)}}if(r){var l=r.value||r;ox(l instanceof Uint16Array||l instanceof Uint32Array,'attribute array for "indices" must be of integer type');var h={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Cx(e,{data:l,target:34963}),h]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t={};for(var n in e){var i=e[n];t[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Fx(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,n=e.moduleSettings,i=void 0===n?null:n,r=e.framebuffer,o=e.uniforms,a=void 0===o?{}:o,s=e.attributes,u=void 0===s?{}:s,c=e.transformFeedback,l=void 0===c?this.transformFeedback:c,h=e.parameters,d=void 0===h?{}:h,f=e.vertexArray,p=void 0===f?this.vertexArray:f;this.setAttributes(u),this.updateModuleSettings(i),this.setUniforms(a),sk.priority>=2&&(t=this._logDrawCallStart(2));var v=this.vertexArray.getDrawParams(),g=this.props,m=g.isIndexed,y=void 0===m?v.isIndexed:m,b=g.indexType,_=void 0===b?v.indexType:b,w=g.indexOffset,k=void 0===w?v.indexOffset:w,x=g.vertexArrayInstanced,S=void 0===x?v.isInstanced:x;S&&!this.isInstanced&&sk.warn("Found instanced attributes on non-instanced model",this.id)();var C=this.isInstanced,E=this.instanceCount,O=this.props,T=O.onBeforeRender,P=void 0===T?eO:T,A=O.onAfterRender,M=void 0===A?eO:A;P(),this.program.setUniforms(this.uniforms);var I=this.program.draw(Object.assign(tO,e,{logPriority:t,uniforms:null,framebuffer:r,parameters:d,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:p,transformFeedback:l,isIndexed:y,indexType:_,isInstanced:C,instanceCount:E,offset:y?k:0}));return M(),sk.priority>=2&&this._logDrawCallEnd(t,p,r),I}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,n=void 0===t||t,i=e.feedbackBuffers,r=e.unbindModels,o=void 0===r?[]:r,a=e.parameters;i&&this._setFeedbackBuffers(i),n&&(a=Object.assign({},a,{35977:n})),o.forEach(function(e){return e.vertexArray.unbindBuffers()});try{this.draw(Object.assign({},e,{parameters:a}))}finally{o.forEach(function(e){return e.vertexArray.bindBuffers()})}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return sk.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,n=t.vs,i=t.fs,r=t.modules,o=t.inject,a=t.defines,s=t.varyings,u=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:n,fs:i,modules:r,inject:o,defines:a,varyings:s,bufferMode:u,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ox(e instanceof FE,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new GE(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Cx&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&ox(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new mC(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ".concat(this.id),{collapsed:sk.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,n,i){if(void 0!==e){var r=function(e){var t=e.vertexArray,n=e.header,i=void 0===n?"Attributes":n;if(!t.configuration)return{};var r={};t.elements&&(r.ELEMENT_ARRAY_BUFFER=qE(t,t.elements,null,i));var o=t.values;for(var a in o){var s=t._getAttributeInfo(a);if(s){var u="".concat(a,": ").concat(s.name),c=t.accessors[s.location];c&&(u="".concat(a,": ").concat(XE(s.name,c))),r[u]=qE(t,o[a],c,i)}}return r}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),s=a.table,u=a.unusedTable,c=a.unusedCount,l=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0}),h=l.table;l.count>0&&sk.log("MISSING UNIFORMS",Object.keys(h))(),c>0&&sk.log("UNUSED UNIFORMS",Object.keys(u))();var d=function(e){var t,n={},i="Accessors for ".concat(e.id),r=_(e.attributeInfos);try{for(r.s();!(t=r.n()).done;){var a=t.value;a&&(n["in ".concat($E(a))]=o({},i,JSON.stringify(a.accessor)))}}catch(l){r.e(l)}finally{r.f()}var s,u=_(e.varyingInfos);try{for(u.s();!(s=u.n()).done;){var c=s.value;c&&(n["out ".concat($E(c))]=o({},i,JSON.stringify(c.accessor)))}}catch(l){u.e(l)}finally{u.f()}return n}(this.vertexArray.configuration);sk.table(e,r)(),sk.table(e,s)(),sk.table(e+1,d)(),i&&i.log({logLevel:2,message:"Rendered to ".concat(i.id)}),sk.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}(),iO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,n=this.textureTransform;e&&e.delete(),t&&t.delete(),n&&n.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,n=void 0===t||t,i=this._updateDrawOptions(e);n&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}},{key:"swap",value:function(){var e,t=!1,n=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(n.s();!(e=n.n()).done;){var i=e.value;t=t||i.swap()}}catch(r){n.e(r)}finally{n.f()}ox(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(e=i.n()).done;){var r=e.value,o=r.getData(t);if(o)return o}}catch(a){i.e(a)}finally{i.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(t=i.n()).done;){var r=t.value;r.update(e)}}catch(o){i.e(o)}finally{i.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new nO(t,Object.assign({},e,{fs:e.fs||gC({version:bC(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){n=t.value.updateModelProps(n)}}catch(r){i.e(r)}finally{i.f()}return n}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){return!(hx(e.feedbackBuffers)&&hx(e.feedbackMap)&&!(e.varyings&&e.varyings.length>0))})(t)&&(this.bufferTransform=new yC(e,t)),function(e){return!(hx(e._sourceTextures)&&!e._targetTexture&&!e._targetTextureVarying)}(t)&&(this.textureTransform=new IC(e,t)),ox(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){var r=t.value;n=Object.assign(n,r.getDrawOptions(n))}}catch(o){i.e(o)}finally{i.f()}return n}}],[{key:"isSupported",value:function(e){return lk(e)}}]),e}();function rO(){}var oO={onStart:rO,onUpdate:rO,onInterrupt:rO,onEnd:rO},aO=function(){function e(t){m(this,e),this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}return b(e,[{key:"inProgress",get:function(){return this._inProgress}},{key:"start",value:function(e){this.cancel(),this.settings=M(M({},oO),e),this._inProgress=!0,this.settings.onStart(this)}},{key:"end",value:function(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}},{key:"cancel",value:function(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}},{key:"update",value:function(){if(!this._inProgress)return!1;if(null===this._handle){var e=this.timeline,t=this.settings;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}},{key:"_onUpdate",value:function(){}}]),e}(),sO={interpolation:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="interpolation",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,i.settings),this.currentStartIndices=i.startIndices,this.currentLength=0,this.transform=function(e,t){var n=oC(t.size);return new iO(e,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(n,i);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){if(e.duration<=0)this.transition.cancel();else{var n=this.buffers,i=this.attribute;aC(n);var r,o={numInstances:t,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(n);try{for(a.s();!(r=a.n()).done;){var s=r.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=i.startIndices,this.currentLength=sC(i,t),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:rC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}}},{key:"update",value:function(){var e=this.transition.update();if(e){var t=this.transition,n=t.time,i=t.settings,r=i.duration,o=(0,i.easing)(n/r);this.transform.run({uniforms:{time:o}})}return e}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}}]),e}(),spring:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="spring",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,I(M({},i.settings),{normalized:!1})),this.currentStartIndices=i.startIndices,this.currentLength=0,this.texture=function(e){return new Rx(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(n),this.framebuffer=function(e,t){return new $x(e,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:t}})}(n,this.texture),this.transform=function(e,t,n){var i=oC(t.size);return new iO(e,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(n,i,this.framebuffer);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){var n,i=this.buffers,r=this.attribute,o={numInstances:t,attribute:r,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(i);try{for(a.s();!(n=a.n()).done;){var s=n.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=r.startIndices,this.currentLength=sC(r,t),this.attributeInTransition.update({buffer:i[1],value:r.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/r.size),sourceBuffers:{aTo:rC(0,r)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,n=this.framebuffer,i=this.transition;return!!i.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),aC(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),qx(n)[0]>0||i.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}]),e}()},uO=function(){function e(t,n){var i=n.id,r=n.timeline;m(this,e),this.id=i,this.gl=t,this.timeline=r,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=iO.isSupported(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,n=e.transitions,i=e.numInstances;for(var r in this.numInstances=i||1,t){var o=t[r],a=o.getTransitionSetting(n);!a||this._updateAttribute(r,o,a)}for(var s in this.transitions){var u=t[s];(!u||!u.getTransitionSetting(n))&&this._removeTransition(s)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var n=this.transitions[t];n.inProgress&&(e[t]=n.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,n){var i=this.transitions[e],r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void ik.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();i&&this._removeTransition(e);var o=sO[n.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(ik.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(n,this.numInstances))}}]),e}(),cO="attributeManager.invalidate",lO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.id,r=void 0===i?"attribute-manager":i,o=n.stats,a=n.timeline;m(this,e),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new uO(t,{id:"".concat(r,"-transitions"),timeline:a}),Object.seal(this)}return b(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=e.numInstances,i=e.startIndices,r=void 0===i?null:i,o=e.transitions,a=e.props,s=void 0===a?{}:a,u=e.buffers,c=void 0===u?{}:u,l=e.context,h=void 0===l?{}:l,d=!1;for(var f in hC("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var p=this.attributes[f],v=p.settings.accessor;p.startIndices=r,s[f]&&ik.removed("props.".concat(f),"data.attributes.".concat(f))(),p.setExternalBuffer(c[f])||p.setBinaryValue(c[v],t.startIndices)||!c[v]&&p.setConstantValue(s[v])||p.needsUpdate()&&(d=!0,this._updateAttribute({attribute:p,numInstances:n,data:t,props:s,context:h})),this.needsRedraw|=p.needsRedraw()}d&&hC("attributeManager.updateEnd",this,n),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:n,transitions:o})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,n=this.attributeTransitionManager,i=M({},n.getAttributes());for(var r in t){var o=t[r];o.needsRedraw(e)&&!n.hasAttribute(r)&&(i[r]=o)}return i}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var n={};for(var i in e)t[i]||Object.assign(n,e[i].getShaderAttributes());return n}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var i in t&&ik.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e)this.attributes[i]=this._createAttribute(i,e[i],n);this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,n){var i=I(M({},t),{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||n.instanced?1:t.divisor||0});return new cC(this.gl,i)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},n=function(n){e.attributes[n].getUpdateTriggers().forEach(function(e){t[e]||(t[e]=[]),t[e].push(n)})};for(var i in this.attributes)n(i);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var n=this.attributes,i=this.updateTriggers[e];return i&&i.forEach(function(e){var i=n[e];i&&i.setNeedsUpdate(i.id,t)}),i}},{key:"_updateAttribute",value:function(e){var t=e.attribute,n=e.numInstances;hC("attribute.updateStart",t),t.allocate(n)&&hC("attribute.allocate",t,n),t.updateBuffer(e)&&(this.needsRedraw=!0,hC("attribute.updateEnd",t,n))}}]),e}();function hO(e,t,n,i,r){var o=t-e;return(n-t)*r+-o*i+o+t}function dO(e,t){if(Array.isArray(e)){for(var n=0,i=0;i0}},{key:"add",value:function(e,t,n,i){var r=this.transitions;if(r.has(e)){var o=r.get(e),a=o.value;t=void 0===a?o.settings.fromValue:a,this.remove(e)}if(i=iC(i)){var s=fO[i.type];if(s){var u=new s(this.timeline);u.start(I(M({},i),{fromValue:t,toValue:n})),r.set(e,u)}else ik.error("unsupported transition type '".concat(i.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,n={},i=_(this.transitions);try{for(i.s();!(e=i.n()).done;){var r=t(e.value,2),o=r[0],a=r[1];a.update(),n[o]=a.value,a.inProgress||this.remove(o)}}catch(s){i.e(s)}finally{i.f()}return n}},{key:"clear",value:function(){var e,t=_(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value;this.remove(n)}}catch(i){t.e(i)}finally{t.f()}}}]),e}(),vO={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},gO=vO.COMPONENT;function mO(e,t){if(!e.transitions)return null;var n={},i=kO(e);for(var r in e.transitions){var o=i[r],a=o&&o.type;("number"===a||"color"===a||"array"===a)&&bO(e[r],t[r],o)&&(n[r]=!0)}return n}function yO(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.newProps,n=e.oldProps,i=e.ignoreProps,r=void 0===i?{}:i,o=e.propTypes,a=void 0===o?{}:o,s=e.triggerName,u=void 0===s?"props":s;if(n===t)return null;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return"".concat(u," changed shallowly");for(var c=0,l=Object.keys(t);c=0&&n.modules.splice(i,1)}if("inject"in t)if(e.inject){var r=M({},e.inject);for(var o in t.inject)r[o]=(r[o]||"")+t.inject[o];n.inject=r}else n.inject=t.inject;return n}function EO(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],h=t[9],d=t[10],f=t[11],p=t[12],v=t[13],g=t[14],m=t[15],y=n*s-i*a,b=n*u-r*a,_=n*c-o*a,w=i*u-r*s,k=i*c-o*s,x=r*c-o*u,S=l*v-h*p,C=l*g-d*p,E=l*m-f*p,O=h*g-d*v,T=h*m-f*v,P=d*m-f*g,A=y*P-b*T+_*O+w*E-k*C+x*S;return A?(e[0]=(s*P-u*T+c*O)*(A=1/A),e[1]=(r*T-i*P-o*O)*A,e[2]=(v*x-g*k+m*w)*A,e[3]=(d*k-h*x-f*w)*A,e[4]=(u*E-a*P-c*C)*A,e[5]=(n*P-r*E+o*C)*A,e[6]=(g*_-p*x-m*b)*A,e[7]=(l*x-d*_+f*b)*A,e[8]=(a*T-s*E+c*S)*A,e[9]=(i*E-n*T-o*S)*A,e[10]=(p*k-v*_+m*y)*A,e[11]=(h*_-l*k-f*y)*A,e[12]=(s*C-a*O-u*S)*A,e[13]=(n*O-i*C+r*S)*A,e[14]=(v*b-p*w-g*y)*A,e[15]=(l*w-h*b+d*y)*A,e):null}function OO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],v=t[12],g=t[13],m=t[14],y=t[15],b=n[0],_=n[1],w=n[2],k=n[3];return e[0]=b*i+_*s+w*h+k*v,e[1]=b*r+_*u+w*d+k*g,e[2]=b*o+_*c+w*f+k*m,e[3]=b*a+_*l+w*p+k*y,e[4]=(b=n[4])*i+(_=n[5])*s+(w=n[6])*h+(k=n[7])*v,e[5]=b*r+_*u+w*d+k*g,e[6]=b*o+_*c+w*f+k*m,e[7]=b*a+_*l+w*p+k*y,e[8]=(b=n[8])*i+(_=n[9])*s+(w=n[10])*h+(k=n[11])*v,e[9]=b*r+_*u+w*d+k*g,e[10]=b*o+_*c+w*f+k*m,e[11]=b*a+_*l+w*p+k*y,e[12]=(b=n[12])*i+(_=n[13])*s+(w=n[14])*h+(k=n[15])*v,e[13]=b*r+_*u+w*d+k*g,e[14]=b*o+_*c+w*f+k*m,e[15]=b*a+_*l+w*p+k*y,e}function TO(e,t,n){var i,r,o,a,s,u,c,l,h,d,f,p,v=n[0],g=n[1],m=n[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],e[0]=i=t[0],e[1]=r,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=h,e[9]=d,e[10]=f,e[11]=p,e[12]=i*v+s*g+h*m+t[12],e[13]=r*v+u*g+d*m+t[13],e[14]=o*v+c*g+f*m+t[14],e[15]=a*v+l*g+p*m+t[15]),e}function PO(e,t,n){var i=n[0],r=n[1],o=n[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function AO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],h=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=o*r+c*i,e[5]=a*r+l*i,e[6]=s*r+h*i,e[7]=u*r+d*i,e[8]=c*r-o*i,e[9]=l*r-a*i,e[10]=h*r-s*i,e[11]=d*r-u*i,e}function MO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[4],l=t[5],h=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r+c*i,e[1]=a*r+l*i,e[2]=s*r+h*i,e[3]=u*r+d*i,e[4]=c*r-o*i,e[5]=l*r-a*i,e[6]=h*r-s*i,e[7]=d*r-u*i,e}function IO(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function RO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3];return e[0]=n[0]*i+n[4]*r+n[8]*o+n[12]*a,e[1]=n[1]*i+n[5]*r+n[9]*o+n[13]*a,e[2]=n[2]*i+n[6]*r+n[10]*o+n[14]*a,e[3]=n[3]*i+n[7]*r+n[11]*o+n[15]*a,e}function DO(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*i+s*o-u*r,h=c*r+u*i-a*o,d=c*o+a*r-s*i,f=-a*i-s*r-u*o;return e[0]=l*c+f*-a+h*-u-d*-s,e[1]=h*c+f*-s+d*-a-l*-u,e[2]=d*c+f*-u+l*-s-h*-a,e[3]=t[3],e}!function(){var e=new kS(4);kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var NO=[0,0,0,0],LO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],jO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],FO=[0,0,0],BO=[0,0,0],VO=SO(function(e){var t=e.viewport,n=e.devicePixelRatio,i=e.coordinateSystem,r=function(e,t,n){var i=e.viewMatrixUncentered,r=e.projectionMatrix,o=e.viewMatrix,a=e.viewProjectionMatrix,s=NO,u=NO,c=e.cameraPosition,l=zO(e,t,n),h=l.geospatialOrigin,d=l.shaderCoordinateOrigin;return l.offsetMode&&(u=e.projectPosition(h||d),c=[c[0]-u[0],c[1]-u[1],c[2]-u[2]],u[3]=1,s=RO([],u,a),a=OO([],r,o=i||o),a=OO([],a,LO)),{viewMatrix:o,viewProjectionMatrix:a,projectionCenter:s,originCommon:u,cameraPosCommon:c,shaderCoordinateOrigin:d,geospatialOrigin:h}}(t,i,e.coordinateOrigin),o=r.projectionCenter,a=r.viewProjectionMatrix,s=r.originCommon,u=r.cameraPosCommon,c=r.shaderCoordinateOrigin,l=r.geospatialOrigin,h=t.getDistanceScales(),d=[t.width*n,t.height*n],f=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:i,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:c,project_uCommonOrigin:s.slice(0,3),project_uCenter:o,project_uViewportSize:d,project_uDevicePixelRatio:n,project_uFocalDistance:f,project_uCommonUnitsPerMeter:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:FO,project_uScale:t.scale,project_uViewProjectionMatrix:a,project_uCameraPosition:u};if(l){var v=t.getDistanceScales(l);switch(i){case rk.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerMeter2;break;case rk.LNGLAT:case rk.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerDegree2;break;case rk.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,v.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,v.unitsPerMeter2[2]]}}return p});function zO(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:BO,r=i,o=!0;switch(n=t===rk.LNGLAT_OFFSETS||t===rk.METER_OFFSETS?i:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case ok.WEB_MERCATOR:(t===rk.LNGLAT||t===rk.CARTESIAN)&&(o=!1);break;case ok.WEB_MERCATOR_AUTO_OFFSET:t===rk.LNGLAT?r=n:t===rk.CARTESIAN&&(r=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],n=e.unprojectPosition(r),r[0]-=i[0],r[1]-=i[1],r[2]-=i[2]);break;case ok.IDENTITY:r=e.position.map(Math.fround);break;case ok.GLOBE:o=!1,n=null;break;default:o=!1}return r[2]=r[2]||0,{geospatialOrigin:n,shaderCoordinateOrigin:r,offsetMode:o}}var UO=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return pS(!1),0}},{key:"RANK",get:function(){return pS(!1),0}},{key:"toString",value:function(){var e="[";if(oS.printRowMajor){e+="row-major:";for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i2*Math.PI)throw Error("radians");var d=s*Math.tan(n/2),f=d*o;return(new i).ortho({left:-f,right:f,bottom:-d,top:d,near:c,far:h})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,n=e.fov,i=void 0===n?45*Math.PI/180:n,r=e.aspect,o=void 0===r?1:r,a=e.near,s=void 0===a?.1:a,u=e.far,c=void 0===u?500:u;if((t=t||i)>2*Math.PI)throw Error("radians");return function(e,t,n,i,r){var o,a=1/Math.tan(t/2);e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(e[10]=(r+i)*(o=1/(i-r)),e[14]=2*r*i*o):(e[10]=-1,e[14]=-2*i)}(this,t,o,s,c),this.check()}},{key:"determinant",value:function(){return function(e){var t=e[0],n=e[1],i=e[2],r=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],h=e[10],d=e[11],f=e[12],p=e[13],v=e[14],g=e[15];return(t*a-n*o)*(h*g-d*v)-(t*s-i*o)*(l*g-d*p)+(t*u-r*o)*(l*v-h*p)+(n*s-i*a)*(c*g-d*f)-(n*u-r*a)*(c*v-h*f)+(i*u-r*s)*(c*p-l*f)}(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*r,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*r,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=this[4]*i,e[4]=this[5]*r,e[5]=this[6]*o,e[6]=this[8]*i,e[7]=this[9]*r,e[8]=this[10]*o,e}},{key:"transpose",value:function(){return function(e,t){if(e===t){var n=t[1],i=t[2],r=t[3],o=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=o,e[11]=t[14],e[12]=r,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15]}(this,this),this.check()}},{key:"invert",value:function(){return EO(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return OO(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return OO(this,this,e),this.check()}},{key:"rotateX",value:function(e){return AO(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[8],l=t[9],h=t[10],d=t[11];t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r-c*i,e[1]=a*r-l*i,e[2]=s*r-h*i,e[3]=u*r-d*i,e[8]=o*i+c*r,e[9]=a*i+l*r,e[10]=s*i+h*r,e[11]=u*i+d*r}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return MO(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return this.rotateX(i).rotateY(r).rotateZ(o)}},{key:"rotateAxis",value:function(e,t){return function(e,t,n,i){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w,k,x,S,C,E,O,T=i[0],P=i[1],A=i[2],M=Math.hypot(T,P,A);Mn?n:e}var eT=Math.log2||function(e){return Math.log(e)*Math.LOG2E};function tT(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var nT=Math.PI,iT=nT/4,rT=nT/180,oT=180/nT,aT=4003e4,sT=85.051129;function uT(e){var n=t(e,2),i=n[0],r=n[1];return tT(Number.isFinite(i)),tT(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude"),[512*(i*rT+nT)/(2*nT),512*(nT+Math.log(Math.tan(iT+r*rT*.5)))/(2*nT)]}function cT(e){var n=t(e,2),i=n[0],r=n[1],o=i/512*(2*nT)-nT,a=2*(Math.atan(Math.exp(r/512*(2*nT)-nT))-iT);return[o*oT,a*oT]}function lT(e){var t=e.latitude,n=e.longitude,i=e.highPrecision,r=void 0!==i&&i;tT(Number.isFinite(t)&&Number.isFinite(n));var o={},a=Math.cos(t*rT),s=512/360,u=s/a,c=512/aT/a;if(o.unitsPerMeter=[c,c,c],o.metersPerUnit=[1/c,1/c,1/c],o.unitsPerDegree=[s,u,c],o.degreesPerUnit=[1/s,1/u,1/c],r){var l=rT*Math.tan(t*rT)/a,h=512/aT*l,d=h/u*c;o.unitsPerDegree2=[0,s*l/2,h],o.unitsPerMeter2=[d,0,d]}return o}function hT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=t(n,3),u=s[0],c=s[1],l=s[2],h=lT({longitude:r,latitude:o,highPrecision:!0}),d=h.unitsPerMeter,f=h.unitsPerMeter2,p=uT(e);p[0]+=u*(d[0]+f[0]*c),p[1]+=c*(d[1]+f[1]*c);var v=cT(p),g=(a||0)+(l||0);return Number.isFinite(a)||Number.isFinite(l)?[v[0],v[1],g]:v}function dT(e){return 2*Math.atan(.5/e)*oT}function fT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=void 0===a?0:a;return tT(Number.isFinite(r)&&Number.isFinite(o)&&Number.isFinite(s)),QO(n,[r,o,s,1])}function pT(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t(e,3),o=r[0],a=r[1],s=r[2];if(tT(Number.isFinite(o)&&Number.isFinite(a),"invalid pixel coordinate"),Number.isFinite(s))return QO(n,[o,a,s,1]);var u=QO(n,[o,a,0,1]),c=QO(n,[o,a,1,1]),l=u[2],h=c[2];return WO([],u,c,l===h?0:((i||0)-l)/(h-l))}var vT=Math.PI/180;function gT(e,t,n){var i=e.pixelUnprojectionMatrix,r=QO(i,[t,0,1,1]),o=QO(i,[t,e.height,1,1]),a=cT(WO([],r,o,(n*e.distanceScales.unitsPerMeter[2]-r[2])/(o[2]-r[2])));return a[2]=n,a}var mT=Math.PI/180,yT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],bT=[0,0,0],_T={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]},wT=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?1:u,l=t.height,h=void 0===l?1:l;this.id=i||this.constructor.displayName||"viewport",this.x=o,this.y=s,this.width=c||1,this.height=h||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return b(e,[{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?ok.WEB_MERCATOR:ok.WEB_MERCATOR_AUTO_OFFSET:ok.IDENTITY}},{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&fS(t.projectionMatrix,this.projectionMatrix)&&fS(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=fT(this.projectPosition(e),this.pixelProjectionMatrix),a=t(o,2),s=a[0],u=a[1],c=r?u:this.height-u;return 2===e.length?[s,c]:[s,c,o[2]]}},{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=n.targetZ,a=t(e,3),s=a[0],u=a[1],c=a[2],l=pT([s,r?u:this.height-u,c],this.pixelUnprojectionMatrix,o&&o*this.distanceScales.unitsPerMeter[2]),h=this.unprojectPosition(l),d=t(h,3),f=d[0],p=d[1],v=d[2];return Number.isFinite(c)?[f,p,v]:Number.isFinite(o)?[f,p,o]:[f,p]}},{key:"projectPosition",value:function(e){var n=t(this.projectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var n=t(this.unprojectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){return this.isGeospatial?uT(e):e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?cT(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,0],t),i=this.unproject([this.width,0],t),r=this.unproject([0,this.height],t),o=this.unproject([this.width,this.height],t);return[Math.min(n[0],i[0],r[0],o[0]),Math.min(n[1],i[1],r[1],o[1]),Math.max(n[0],i[0],r[0],o[0]),Math.max(n[1],i[1],r[1],o[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?lT({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,n=e.y,i=e.width,r=void 0===i?1:i,o=e.height,a=void 0===o?1:o;return t0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t.latitude,o=void 0===r?0:r,a=t.longitude,s=void 0===a?0:a,u=t.zoom,l=void 0===u?11:u,h=t.pitch,d=void 0===h?0:h,f=t.bearing,p=void 0===f?0:f,v=t.nearZMultiplier,g=void 0===v?.1:v,y=t.farZMultiplier,b=void 0===y?1.01:y,_=t.orthographic,w=void 0!==_&&_,k=t.repeat,x=void 0!==k&&k,S=t.worldOffset,C=void 0===S?0:S,E=t.width,O=t.height,T=t.altitude,P=void 0===T?1.5:T,A=Math.pow(2,l),R=function(e){var t=e.width,n=e.height,i=e.fovy,r=void 0===i?dT(1.5):i,o=e.altitude,a=e.pitch,s=void 0===a?0:a,u=e.nearZMultiplier,c=void 0===u?1:u,l=e.farZMultiplier,h=void 0===l?1:l;void 0!==o&&(r=dT(o));var d=.5*r*rT,f=function(e){return.5/Math.tan(.5*e*rT)}(r),p=s*rT,v=Math.sin(d)*f/Math.sin(Math.min(Math.max(Math.PI/2-p-d,.01),Math.PI-.01));return{fov:2*d,aspect:t/n,focalDistance:f,near:c,far:(Math.sin(p)*v+f)*h}}({width:E=E||1,height:O=O||1,pitch:d,altitude:P=Math.max(.75,P),nearZMultiplier:g,farZMultiplier:b}),D=R.fov,N=R.aspect,L=R.focalDistance,j=R.near,F=R.far,B=function(e){var t=e.height,n=e.pitch,i=e.bearing,r=e.scale,o=e.center,a=void 0===o?null:o,s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return TO(s,s,[0,0,-e.altitude]),AO(s,s,-n*rT),MO(s,s,i*rT),PO(s,s,[r/=t,r,r]),a&&TO(s,s,function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}([],a)),s}({height:O,pitch:d,bearing:p,scale:A,altitude:P});return C&&(B=(new $O).translate([512*C,0,0]).multiplyLeft(B)),(e=n.call(this,I(M({},t),{width:E,height:O,viewMatrix:B,longitude:s,latitude:o,zoom:l,orthographic:w,fovyRadians:D,aspect:N,focalDistance:L,near:j,far:F}))).latitude=o,e.longitude=s,e.zoom=l,e.pitch=d,e.bearing=p,e.altitude=P,e.orthographic=w,e._subViewports=x?[]:null,Object.freeze(c(e)),e}return b(i,[{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),n=Math.ceil((e[2]-180)/360),r=t;r<=n;r++){var o=r?new i(I(M({},this),{worldOffset:r})):this;this._subViewports.push(o)}return this._subViewports}},{key:"addMetersToLngLat",value:function(e,t){return hT(e,t)}},{key:"panByPosition",value:function(e,n){var i=pT(n,this.pixelUnprojectionMatrix),r=HO([],this.projectFlat(e),GO([],i)),o=HO([],this.center,r),a=t(this.unprojectFlat(o),2);return{longitude:a[0],latitude:a[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.width,o=e.height,a=e.unproject,s={targetZ:i},u=a([0,o],s),c=a([r,o],s);return(e.fovy?.5*e.fovy*vT:Math.atan(.5/e.altitude))>(90-e.pitch)*vT-.01?(t=gT(e,0,i),n=gT(e,r,i)):(t=a([0,0],s),n=a([r,0],s)),[u,c,n,t]}(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,o=this.height,a=function(e){var n=e.width,i=e.height,r=e.bounds,o=e.minExtent,a=void 0===o?0:o,s=e.maxZoom,u=void 0===s?24:s,c=e.padding,l=void 0===c?0:c,h=e.offset,d=void 0===h?[0,0]:h,f=t(r,2),p=t(f[0],2),v=p[0],g=p[1],m=t(f[1],2),y=m[0],b=m[1];Number.isFinite(l)?l={top:l,bottom:l,left:l,right:l}:tT(Number.isFinite(l.top)&&Number.isFinite(l.bottom)&&Number.isFinite(l.left)&&Number.isFinite(l.right));var _=uT([v,JO(b,-sT,sT)]),w=uT([y,JO(g,-sT,sT)]),k=[Math.max(Math.abs(w[0]-_[0]),a),Math.max(Math.abs(w[1]-_[1]),a)],x=[n-l.left-l.right-2*Math.abs(d[0]),i-l.top-l.bottom-2*Math.abs(d[1])];tT(x[0]>0&&x[1]>0);var S=x[0]/k[0],C=x[1]/k[1],E=cT([(w[0]+_[0])/2+(l.right-l.left)/2/S,(w[1]+_[1])/2+(l.bottom-l.top)/2/C]),O=Math.min(u,eT(Math.abs(Math.min(S,C))));return tT(Number.isFinite(O)),{longitude:E[0],latitude:E[1],zoom:O}}(M({width:r,height:o,bounds:e},n)),s=a.longitude,u=a.latitude,c=a.zoom;return new i({width:r,height:o,longitude:s,latitude:u,zoom:c})}}]),i}(wT);return e.displayName="WebMercatorViewport",e}();function xT(e,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=n.projectPosition(e);if(i&&n instanceof kT){var o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?0:u,l=n.getDistanceScales([a,s]);r[2]=c*l.unitsPerMeter[2]}return r}function ST(e,n){var i,r=n.viewport,o=n.modelMatrix,a=n.coordinateSystem,s=n.coordinateOrigin,u=n.offsetMode,c=t(e,3),l=c[0],h=c[1],d=c[2],f=void 0===d?0:d;switch(o&&(l=(i=t(RO([],[l,h,f,1],o),3))[0],h=i[1],f=i[2]),a){case rk.LNGLAT:return xT([l,h,f],r,u);case rk.LNGLAT_OFFSETS:return xT([l+s[0],h+s[1],f+(s[2]||0)],r,u);case rk.METER_OFFSETS:return xT(hT(s,[l,h,f]),r,u);case rk.CARTESIAN:default:return r.isGeospatial?[l+s[0],h+s[1],f+s[2]]:r.projectPosition([l,h,f])}}var CT={10241:9987,10240:9729,10242:33071,10243:33071},ET={},OT={boolean:{validate:function(e,t){return!0},equal:function(e,t,n){return Boolean(e)===Boolean(t)}},number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},color:{validate:function(e,t){return t.optional&&!e||MT(e)&&(3===e.length||4===e.length)},equal:function(e,t,n){return TT(e,t)}},accessor:{validate:function(e,t){var n=IT(e);return"function"===n||n===IT(t.value)},equal:function(e,t,n){return"function"==typeof t||TT(e,t)}},array:{validate:function(e,t){return t.optional&&!e||MT(e)},equal:function(e,t,n){return n.compare?TT(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"==typeof e},equal:function(e,t,n){return!n.compare||e===t}},data:{transform:function(e,t,n){var i=(n?n.props:{}).dataTransform;return i&&e?i(e):e}},image:{transform:function(e,t,n){return function(e,t){var n=e.context&&e.context.gl;if(!n||!t)return null;if(t instanceof Rx)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var i=null;t.compressed&&(i={10241:t.data.length>1?9985:9729});var r=new Rx(n,I(M({},t),{parameters:M(M(M({},CT),i),e.props.textureParameters)}));return ET[r.id]=!0,r}(n,e)},release:function(e){!function(e){!e||!(e instanceof Rx)||ET[e.id]&&(e.delete(),delete ET[e.id])}(e)}}};function TT(e,t){if(e===t)return!0;if(!MT(e)||!MT(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;m(this,e),this.component=t,this.asyncProps={},this.onAsyncPropUpdated=function(){},this.oldProps=qT,this.oldAsyncProps=null}return b(e,[{key:"finalize",value:function(){for(var e in this.asyncProps){var t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}},{key:"getOldProps",value:function(){return this.oldAsyncProps||this.oldProps}},{key:"resetOldProps",value:function(){this.oldAsyncProps=null,this.oldProps=this.component.props}},{key:"freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps)for(var e in this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"hasAsyncProp",value:function(e){return e in this.asyncProps}},{key:"getAsyncProp",value:function(e){var t=this.asyncProps[e];return t&&t.resolvedValue}},{key:"isAsyncPropLoading",value:function(e){if(e){var t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var n in this.asyncProps)if(this.isAsyncPropLoading(n))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[GT]||{},n=e[HT]||e,i=e[WT]||{};for(var r in t){var o=t[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,o),t[r]=this.getAsyncProp(r)}for(var a in n){var s=n[a];this._createAsyncPropData(a,i[a]),this._updateAsyncProp(a,s)}}},{key:"_updateAsyncProp",value:function(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var n,i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(t=i(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(KS(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}},{key:"_didAsyncInputValueChange",value:function(e,t){var n=this.asyncProps[e];return t!==n.resolvedValue&&t!==n.lastValue&&(n.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){var n=this.asyncProps[e];t=this._postProcessValue(n,t),n.resolvedValue=t,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}},{key:"_setAsyncPropValue",value:function(e,t,n){var i=this.asyncProps[e];i&&n>=i.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),i.resolvedValue=t,i.resolvedLoadCount=n,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var n=this,i=this.asyncProps[e];i.pendingLoadCount++;var r=i.pendingLoadCount;t.then(function(t){var o;t=n._postProcessValue(i,t),n._setAsyncPropValue(e,t,r);var a=null===(o=n.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(t,{propName:e,layer:n.layer})}).catch(function(t){var i;null===(i=n.layer)||void 0===i||i.raiseError(t,"loading ".concat(e," of ").concat(n.layer))})}},{key:"_resolveAsyncIterable",value:function(e,t){var n=this;return Vx(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:"data"!==e&&n._setPropValue(e,t),(o=n.asyncProps[e]).pendingLoadCount++,a=o.pendingLoadCount,s=[],u=0,l=!0,h=!1,i.prev=6,p=UT(t);case 8:return i.next=10,p.next();case 10:return l=(d=i.sent).done,i.next=13,d.value;case 13:if(f=i.sent,l){i.next=20;break}v=f,g=n.component?n.component.props:{},m=g.dataTransform,s=m?m(v,s):s.concat(v),Object.defineProperty(s,"__diff",{enumerable:!1,value:[{startRow:u,endRow:s.length}]}),u=s.length,n._setAsyncPropValue(e,s,a);case 17:l=!0,i.next=8;break;case 20:i.next=25;break;case 22:i.prev=22,i.t0=i.catch(6),h=!0,c=i.t0;case 25:if(i.prev=25,i.prev=26,i.t1=!l&&null!=p.return,!i.t1){i.next=31;break}return i.next=31,p.return();case 31:if(i.prev=31,!h){i.next=34;break}throw c;case 34:return i.finish(31);case 35:return i.finish(25);case 36:(y=null===(r=n.layer)||void 0===r?void 0:r.props.onDataLoad)&&y(s,{propName:e,layer:n.layer});case 38:case"end":return i.stop()}},i,null,[[6,22,25,36],[26,,31,35]])}))()}},{key:"_postProcessValue",value:function(e,t){var n=e.type;return n&&(n.release&&n.release(e.resolvedValue,n,this.component),n.transform)?n.transform(t,n,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var n=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:n&&n[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}(),KT=vO.ASYNC_ORIGINAL,$T=vO.ASYNC_RESOLVED,QT=vO.ASYNC_DEFAULTS,ZT={},JT=0,eP=function(){var e=function(){function e(){m(this,e),this.props=jT.apply(this,arguments),this.id=this.props.id,this.count=JT++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}return b(e,[{key:"clone",value:function(e){var t=this.props,n={};for(var i in t[QT])i in t[$T]?n[i]=t[$T][i]:i in t[KT]&&(n[i]=t[KT][i]);return new this.constructor(M(M(M({},t),n),e))}},{key:"stats",get:function(){return this.internalState.stats}},{key:"_initState",value:function(){this.internalState=new XT({})}}]),e}();return e.componentName="Component",e.defaultProps=ZT,e}(),tP=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.attributeManager,o=e.layer;return m(this,n),(i=t.call(this,o)).attributeManager=r,i.model=null,i.needsRedraw=!0,i.subLayers=null,i.usesPickingColorCache=!1,i}return b(n,[{key:"layer",get:function(){return this.component},set:function(e){this.component=e}}]),n}(XT),nP=function(e){return"function"==typeof e},iP=function(e){return null!==e&&"object"==typeof e},rP=function(e){return iP(e)&&e.constructor==={}.constructor},oP=function(e){return e&&"function"==typeof e[Symbol.iterator]},aP=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},sP=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},uP=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},cP=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||iP(e)&&nP(e.tee)&&nP(e.cancel)&&nP(e.getReader)}(e)||function(e){return iP(e)&&nP(e.read)&&nP(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)};function lP(e,t){if(!e)throw new Error(t||"loader assertion failed.")}function hP(e){var t;return!!e&&(Array.isArray(e)&&(e=e[0]),Array.isArray(null===(t=e)||void 0===t?void 0:t.extensions))}function dP(e){var t,n,i;return lP(e,"null loader"),lP(hP(e),"invalid loader"),Array.isArray(e)&&(i=e[1],e=I(M({},e=e[0]),{options:M(M({},e.options),i)})),(null!==(t=e)&&void 0!==t&&t.parseTextSync||null!==(n=e)&&void 0!==n&&n.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var fP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},pP=fP.global||fP.self||fP.window||{},vP="object"!=typeof process||"[object process]"!==String(process)||process.browser,gP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);gP&&parseFloat(gP[1]);var mP={};function yP(e){for(var t in mP)e.startsWith(t)&&(e=e.replace(t,mP[t]));return!e.startsWith("http://")&&!e.startsWith("https://")&&(e="".concat(e)),e}var bP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,_P=/^([-\w.]+\/[-\w.+]+)/;function wP(e){var t=_P.exec(e);return t?t[1]:e}function kP(e){var t=bP.exec(e);return t?t[1]:""}var xP=/\?.*/;function SP(e){if(sP(e)){var t=EP(e.url||"");return{url:t,type:wP(e.headers.get("content-type")||"")||kP(t)}}return uP(e)?{url:EP(e.name||""),type:e.type||""}:"string"==typeof e?{url:EP(e),type:kP(e)}:{url:"",type:""}}function CP(e){return sP(e)?e.headers["content-length"]||-1:uP(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function EP(e){return e.replace(xP,"")}function OP(e){return TP.apply(this,arguments)}function TP(){return(TP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!sP(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(i=CP(t))>=0&&(n["content-length"]=String(i)),r=SP(t),o=r.url,(a=r.type)&&(n["content-type"]=a),e.next=8,RP(t);case 8:return(s=e.sent)&&(n["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),e.abrupt("return",(Object.defineProperty(u,"url",{value:o}),u));case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function PP(e){return AP.apply(this,arguments)}function AP(){return(AP=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,MP(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function MP(e){return IP.apply(this,arguments)}function IP(){return(IP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,i=t.headers.get("Content-Type"),r=t.statusText,e.t0=i.includes("application/json"),!e.t0){e.next=12;break}return e.t1=r,e.t2=" ",e.next=10,t.text();case 10:e.t3=e.sent,r=e.t1+=e.t2.concat.call(e.t2,e.t3);case 12:n=(n+=r).length>60?"".concat(n.slice(60),"..."):n,e.next=18;break;case 16:e.prev=16,e.t4=e.catch(1);case 18:return e.abrupt("return",n);case 19:case"end":return e.stop()}},e,null,[[1,16]])}))).apply(this,arguments)}function RP(e){return DP.apply(this,arguments)}function DP(){return(DP=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=2;break}return e.abrupt("return","data:,".concat(t.slice(0,5)));case 2:if(!(t instanceof Blob)){e.next=7;break}return n=t.slice(0,5),e.next=6,new Promise(function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(n)});case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",t instanceof ArrayBuffer?"data:base64,".concat(NP(t.slice(0,5))):null);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function NP(e){for(var t="",n=new Uint8Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:"3.0.12";return $P(e,"no worker provided"),!(!t||!e.version)}var ZP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},JP=ZP.global||ZP.self||ZP.window||{},eA="object"!=typeof process||"[object process]"!==String(process)||process.browser,tA="function"==typeof importScripts,nA="undefined"!=typeof window&&void 0!==window.orientation,iA="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),rA=(iA&&parseFloat(iA[1]),new Map);function oA(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function aA(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=n||new Set;if(e)if(sA(e))i.add(e);else if(sA(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)&&t&&"object"==typeof e)for(var r in e)aA(e[r],t,i);return void 0===n?Array.from(i):[]}function sA(e){return!!e&&(e instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&e instanceof MessagePort||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)}var uA=function(){},cA=function(){function e(t){m(this,e),FP(this,"name",void 0),FP(this,"source",void 0),FP(this,"url",void 0),FP(this,"terminated",!1),FP(this,"worker",void 0),FP(this,"onMessage",void 0),FP(this,"onError",void 0),FP(this,"_loadableURL","");var n=t.name,i=t.source,r=t.url;$P(i||r),this.name=n,this.source=i,this.url=r,this.onMessage=uA,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return b(e,[{key:"destroy",value:function(){this.onMessage=uA,this.onError=uA,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||aA(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=function(e){$P(e.source&&!e.url||!e.source&&e.url);var t=rA.get(e.source||e.url);return t||(e.url&&(t=function(e){return e.startsWith("http")?oA(function(e){return"try {\n importScripts('".concat(e,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")}(e)):e}(e.url),rA.set(e.url,t)),e.source&&(t=oA(e.source),rA.set(e.source,t))),$P(t),t}({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker}}]),e}(),lA=function(){function e(t,n){var i=this;m(this,e),FP(this,"name",void 0),FP(this,"workerThread",void 0),FP(this,"isRunning",void 0),FP(this,"result",void 0),FP(this,"_resolve",void 0),FP(this,"_reject",void 0),this.name=t,this.workerThread=n,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise(function(e,t){i._resolve=e,i._reject=t})}return b(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){$P(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){$P(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}(),hA=function(){function e(t){m(this,e),FP(this,"name","unnamed"),FP(this,"source",void 0),FP(this,"url",void 0),FP(this,"maxConcurrency",1),FP(this,"maxMobileConcurrency",1),FP(this,"onDebug",function(){}),FP(this,"reuseWorkers",!0),FP(this,"props",{}),FP(this,"jobQueue",[]),FP(this,"idleQueue",[]),FP(this,"count",0),FP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}return b(e,[{key:"destroy",value:function(){this.idleQueue.forEach(function(e){return e.destroy()}),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=M(M({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t,n){return e.done(n)},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e,t){return e.error(t)},i=this;return Vx(regeneratorRuntime.mark(function r(){var o;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return o=new Promise(function(r){return i.jobQueue.push({name:e,onMessage:t,onError:n,onStart:r}),i}),i._startQueuedJob(),r.next=4,o;case 4:return r.abrupt("return",r.sent);case 5:case"end":return r.stop()}},r)}))()}},{key:"_startQueuedJob",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){var n,i,r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.jobQueue.length){t.next=2;break}return t.abrupt("return");case 2:if(n=e._getAvailableWorker()){t.next=5;break}return t.abrupt("return");case 5:if(!(i=e.jobQueue.shift())){t.next=16;break}return e.onDebug({message:"Starting job",name:i.name,workerThread:n,backlog:e.jobQueue.length}),r=new lA(i.name,n),n.onMessage=function(e){return i.onMessage(r,e.type,e.payload)},n.onError=function(e){return i.onError(r,e)},i.onStart(r),t.prev=10,t.next=13,r.result;case 13:return t.prev=13,e.returnWorkerToQueue(n),t.finish(13);case 16:case"end":return t.stop()}},t,null,[[10,,13,16]])}))()}},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();function pA(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="".concat(e.id,"-worker.js"),i=(t[e.id]||{}).workerUrl;if("test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(n)),!i){var r=e.version;"latest"===r&&(r="latest"),i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(r?"@".concat(r):"","/dist/").concat(n)}return $P(i),i}function vA(e,t){return!!fA.isSupported()&&e.worker&&(null==t?void 0:t.worker)}function gA(e,t,n,i,r){return mA.apply(this,arguments)}function mA(){return(mA=Vx(regeneratorRuntime.mark(function e(t,n,i,r,o){var a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.id,s=pA(t,i),u=fA.getWorkerFarm(i).getWorkerPool({name:a,url:s}),i=JSON.parse(JSON.stringify(i)),e.next=4,u.startJob("process-on-worker",yA.bind(null,o));case 4:return(c=e.sent).postMessage("process",{input:n,options:i}),e.next=8,c.result;case 8:return e.next=10,e.sent.result;case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}},e)}))).apply(this,arguments)}function yA(e,t,n,i){return bA.apply(this,arguments)}function bA(){return(bA=Vx(regeneratorRuntime.mark(function e(t,n,i,r){var o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=i,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(r),e.abrupt("break",21);case 5:return n.error(r.error),e.abrupt("break",21);case 7:return o=r.id,a=r.input,s=r.options,e.prev=8,e.next=11,t(a,s);case 11:u=e.sent,n.postMessage("done",{id:o,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:o,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(i));case 21:case"end":return e.stop()}},e,null,[[8,15]])}))).apply(this,arguments)}FP(fA,"_workerFarm",void 0);var _A=r(9521);function wA(e){if(function(e){return e&&"object"==typeof e&&e.isBuffer}(e)&&(e=function(e){return _A.toArrayBuffer?_A.toArrayBuffer(e):e}(e)),e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var t=e;return(new TextEncoder).encode(t).buffer}if(e&&"object"==typeof e&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function kA(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==c[1]?c[1]:{},i=n.chunkSize,r=void 0===i?EA:i,o=0;case 3:if(!(o2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var i=M({fetch:qP(t,e)},e);return Array.isArray(i.loaders)||(i.loaders=null),i}function zA(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var i=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(v(n),v(i)):i}return n&&n.length?n:null}var UA=function(){var e=HP();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function HA(e){var t,n=UA(),i=_(e=Array.isArray(e)?e:[e]);try{var r=function(){var e=dP(t.value);n.find(function(t){return e===t})||n.unshift(e)};for(i.s();!(t=i.n()).done;)r()}catch(o){i.e(o)}finally{i.f()}}var GA=/\.([^.]+)$/;function WA(e){return qA.apply(this,arguments)}function qA(){return(qA=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]?a[1]:[],i=a.length>2?a[2]:void 0,r=a.length>3?a[3]:void 0,YA(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(o=XA(t,n,I(M({},i),{nothrow:!0}),r))){e.next=8;break}return e.abrupt("return",o);case 8:if(e.t0=uP(t),!e.t0){e.next=18;break}return e.t1=XA,e.next=13,t.slice(0,10).arrayBuffer();case 13:e.t2=t=e.sent,e.t3=n,e.t4=i,e.t5=r,o=(0,e.t1)(e.t2,e.t3,e.t4,e.t5);case 18:if(o||null!=i&&i.nothrow){e.next=20;break}throw new Error(KA(t));case 20:return e.abrupt("return",o);case 21:case"end":return e.stop()}},e)}))).apply(this,arguments)}function XA(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!YA(e))return null;if(n&&!Array.isArray(n))return dP(n);var o=[];n&&(o=o.concat(n)),null!=i&&i.ignoreRegisteredLoaders||(t=o).push.apply(t,v(UA())),function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){dP(t.value)}}catch(i){n.e(i)}finally{n.f()}}(o);var a=function(e,t,n,i){var r=SP(e),o=r.url,a=r.type,s=o||(null==i?void 0:i.url),u=null;return null!=n&&n.mimeType&&(u=$A(t,null==n?void 0:n.mimeType)),u=(u=(u=(u=u||function(e,t){var n=t&&GA.exec(t),i=n&&n[1];return i?function(e,t){t=t.toLowerCase();var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r,o=n.value,a=_(o.extensions);try{for(a.s();!(r=a.n()).done;){if(r.value.toLowerCase()===t)return o}}catch(s){a.e(s)}finally{a.f()}}}catch(s){i.e(s)}finally{i.f()}return null}(e,i):null}(t,s))||$A(t,a))||function(e,t){if(!t)return null;var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if("string"==typeof t){if(QA(t,r))return r}else if(ArrayBuffer.isView(t)){if(ZA(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&ZA(t,0,r))return r}}catch(o){i.e(o)}finally{i.f()}return null}(t,e))||$A(t,null==n?void 0:n.fallbackMimeType)}(e,o,i,r);if(!(a||null!=i&&i.nothrow))throw new Error(KA(e));return a}function YA(e){return!(e instanceof Response&&204===e.status)}function KA(e){var t=SP(e),n=t.url,i=t.type,r="No valid loader found";return e&&(r+=' data: "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?JA(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?JA(e,0,t):""}(e),'", contentType: "').concat(i,'"')),n&&(r+=" url: ".concat(n)),r}function $A(e,t){var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if(r.mimeTypes&&r.mimeTypes.includes(t)||t==="application/x.".concat(r.id))return r}}catch(o){i.e(o)}finally{i.f()}return null}function QA(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(function(t){return e.startsWith(t)})}function ZA(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(function(i){return function(e,t,n,i){if(i instanceof ArrayBuffer)return function(e,t,n){if(e.byteLength<(n=n||e.byteLength)||t.byteLength0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var n=this.context.viewport,i=t(fT(ST(e,{viewport:n,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),n.pixelProjectionMatrix),3),r=i[0],o=i[1],a=i[2];return 2===e.length?[r,o]:[r,o,a]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e){return function(e,t){var n=function(e){var t=M({},e),n=e.coordinateSystem,i=e.coordinateOrigin,r=e.fromCoordinateSystem,o=e.fromCoordinateOrigin;return n===rk.DEFAULT&&(n=e.viewport.isGeospatial?rk.LNGLAT:rk.CARTESIAN),void 0===r&&(t.fromCoordinateSystem=n),void 0===o&&(t.fromCoordinateOrigin=i),t.coordinateSystem=n,t}(t),i=n.viewport,r=n.coordinateSystem,o=n.coordinateOrigin,a=n.modelMatrix,s=n.fromCoordinateSystem,u=n.fromCoordinateOrigin,c=zO(i,r,o),l=c.geospatialOrigin,h=c.shaderCoordinateOrigin,d=c.offsetMode,f=ST(e,{viewport:i,modelMatrix:a,coordinateSystem:s,coordinateOrigin:u,offsetMode:d});return d&&function(e,t,n){e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2]}(f,f,i.projectPosition(l||h)),f}(e,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===rk.DEFAULT||e===rk.LNGLAT||e===rk.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){WS(e instanceof Uint8Array);var n=t(e,3);return n[0]+256*n[1]+65536*n[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,n=_(this.props.extensions);try{for(n.s();!(t=n.n()).done;){var i=t.value;e=CO(e,i.getShaders.call(this,i))}}catch(r){n.e(r)}finally{n.f()}return e}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,i=e.changeFlags,r=this.getAttributeManager();if(i.dataChanged&&r){var o=i.dataChanged;if(Array.isArray(o)){var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;r.invalidateAll(u)}}catch(p){s.e(p)}finally{s.f()}}else r.invalidateAll()}var c=n.highlightedObjectIndex>=0||n.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==c&&r){var l=r.attributes,h=l.pickingColors,d=l.instancePickingColors,f=h||d;f&&(c&&f.constant&&(f.constant=!1,r.invalidate(f.id)),!f.value&&!c&&(f.constant=!0,f.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=_(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(i){t.e(i)}finally{t.f()}var n=this.getAttributeManager();n&&n.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){t.value.draw(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.index;return n>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[n]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,(!t||!uM({oldViewport:t,viewport:e}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=this.getAttributeManager();!t||("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setModelAttributes(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var n=this.getNumInstances(e),i=this.getStartIndices(e);t.update({data:e.data,numInstances:n,startIndices:i,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var r=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),n=Object.create(this.props);for(var i in t)Object.defineProperty(n,i,{value:t[i]});return n}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var n=t.numInstances;if(!e.constant){var i=Math.floor(cM.length/3);if(this.internalState.usesPickingColorCache=!0,iaM&&ik.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),cM=nS.allocate(cM,n,{size:3,copy:!0,maxCount:Math.max(n,aM)});for(var r=Math.floor(cM.length/3),o=[],a=i;a=0?this.encodePickingColor(o):null),this.setModuleParameters(s)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(e);return t=t||i}},{key:"_getAttributeManager",value:function(){return new lO(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){WS(!this.internalState&&!this.state),WS(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tP({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return ik.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new pO(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){hC("layer.matched",this,this===e);var t=e.state,n=e.internalState;this!==e&&(this.internalState=n,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}]),i}(eP);return e.layerName="Layer",e.defaultProps=lM,e}(),dM=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"isComposite",get:function(){return!0}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.getSubLayers().every(function(e){return e.isLoaded})}},{key:"getSubLayers",value:function(){return this.internalState&&this.internalState.subLayers||[]}},{key:"initializeState",value:function(){}},{key:"setState",value:function(t){e(p(i.prototype),"setState",this).call(this,t),this.setNeedsUpdate()}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.object;return n&&n.__source&&n.__source.parent&&n.__source.parent.id===this.id&&(t.object=n.__source.object,t.index=n.__source.index),t}},{key:"renderLayers",value:function(){return null}},{key:"filterSubLayer",value:function(e){return!0}},{key:"shouldRenderSubLayer",value:function(e,t){return t&&t.length}},{key:"getSubLayerClass",value:function(e,t){var n=this.props._subLayerProps;return n&&n[e]&&n[e].type||t}},{key:"getSubLayerRow",value:function(e,t,n){return e.__source={parent:this,object:t,index:n},e}},{key:"getSubLayerAccessor",value:function(e){if("function"==typeof e){var t={data:this.props.data,target:[]};return function(n,i){return n&&n.__source?(t.index=n.__source.index,e(n.__source.object,t)):e(n,i)}}return e}},{key:"getSubLayerProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,n=t.opacity,i=t.pickable,r=t.visible,o=t.parameters,a=t.getPolygonOffset,s=t.highlightedObjectIndex,u=t.autoHighlight,c=t.highlightColor,l=t.coordinateSystem,h=t.coordinateOrigin,d=t.wrapLongitude,f=t.positionFormat,p=t.modelMatrix,v=t.extensions,g=t.fetch,m=t._subLayerProps,y={opacity:n,pickable:i,visible:r,parameters:o,getPolygonOffset:a,highlightedObjectIndex:s,autoHighlight:u,highlightColor:c,coordinateSystem:l,coordinateOrigin:h,wrapLongitude:d,positionFormat:f,modelMatrix:p,extensions:v,fetch:g},b=m&&m[e.id],w=b&&b.updateTriggers,k=e.id||"sublayer";if(b){var x=this.constructor._propTypes,S=e.type?e.type._propTypes:{};for(var C in b){var E=S[C]||x[C];E&&"accessor"===E.type&&(b[C]=this.getSubLayerAccessor(b[C]))}}Object.assign(y,e,b),y.id="".concat(this.props.id,"-").concat(k),y.updateTriggers=M(M({all:this.props.updateTriggers.all},e.updateTriggers),w);var O,T=_(v);try{for(T.s();!(O=T.n()).done;){var P=O.value,A=P.getSubLayerProps.call(this,P);A&&Object.assign(y,A,{updateTriggers:Object.assign(y.updateTriggers,A.updateTriggers)})}}catch(I){T.e(I)}finally{T.f()}return y}},{key:"_updateAutoHighlight",value:function(e){var t,n=_(this.getSubLayers());try{for(n.s();!(t=n.n()).done;){t.value.updateAutoHighlight(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=$S(e=this.renderLayers(),Boolean),this.internalState.subLayers=e),hC("compositeLayer.renderLayers",this,t,e);var n,i=_(e);try{for(i.s();!(n=i.n()).done;){n.value.parent=this}}catch(r){i.e(r)}finally{i.f()}}}]),i}(hM);return t.layerName="CompositeLayer",t}(),fM=/([0-9]+\.?[0-9]*)(%|px)/;function pM(e){switch(typeof e){case"number":return{position:e,relative:!1};case"string":var t=e.match(fM);if(t&&t.length>=3){var n="%"===t[2],i=parseFloat(t[1]);return{position:n?i/100:i,relative:n}}default:throw new Error("Could not parse position string ".concat(e))}}function vM(e,t){return e.relative?Math.round(e.position*t):e.position}function gM(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var n in e){var i=e[n],r=t[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&gM(i,r)))return!1}return!0}var mM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?"100%":u,l=t.height,h=void 0===l?"100%":l,d=t.projectionMatrix,f=void 0===d?null:d,p=t.fovy,v=void 0===p?50:p,g=t.near,y=void 0===g?.1:g,b=t.far,_=void 0===b?1e3:b,w=t.modelMatrix,k=void 0===w?null:w,x=t.viewportInstance,S=void 0===x?null:x,C=t.type,E=void 0===C?wT:C;WS(!S||S instanceof wT),this.viewportInstance=S,this.id=i||this.constructor.displayName||"view",this.type=E,this.props=I(M({},t),{id:this.id,projectionMatrix:f,fovy:v,near:y,far:_,modelMatrix:k}),this._parseDimensions({x:o,y:s,width:c,height:h}),this.equals=this.equals.bind(this),Object.seal(this)}return b(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):gM(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,n=e.height,i=e.viewState;if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);var r=this.getDimensions({width:t,height:n});return this._getViewport(i,r)}},{key:"getViewStateId",value:function(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;var t=M({},e);for(var n in this.props.viewState)"id"!==n&&(t[n]=this.props.viewState[n]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,n=e.height;return{x:vM(this._x,t),y:vM(this._y,n),width:vM(this._width,t),height:vM(this._height,n)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),M(M({},e),t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(M(M(M({},e),this.props),t))}},{key:"_parseDimensions",value:function(e){var t=e.x,n=e.y,i=e.width,r=e.height;this._x=pM(t),this._y=pM(n),this._width=pM(i),this._height=pM(r)}}]),e}(),yM=function(){},bM={transitionEasing:function(e){return e},transitionInterruption:1,onTransitionStart:yM,onTransitionInterrupt:yM,onTransitionEnd:yM},_M=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.props=M(M({},bM),n),this.propsInTransition=null,this.transition=new aO(n.timeline),this.onViewStateChange=n.onViewStateChange||yM,this.onStateChange=n.onStateChange||yM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}return b(e,[{key:"finalize",value:function(){this.transition.cancel()}},{key:"getViewportInTransition",value:function(){return this.propsInTransition}},{key:"processViewStateChange",value:function(e){var t=!1,n=this.props;if(e=M(M({},bM),e),this.props=e,this._shouldIgnoreViewportChange(n,e))return t;if(this._isTransitionEnabled(e)){var i=this.transition.settings,r=i.interruption,o=i.endProps,a=M(M({},n),2===r?o:this.propsInTransition||n);this._triggerTransition(a,e),t=!0}else this.transition.cancel();return t}},{key:"updateTransition",value:function(){this.transition.update()}},{key:"_isTransitionEnabled",value:function(e){var t=e.transitionDuration,n=e.transitionInterpolator;return(t>0||"auto"===t)&&Boolean(n)}},{key:"_isUpdateDueToCurrentTransition",value:function(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}},{key:"_shouldIgnoreViewportChange",value:function(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}},{key:"_triggerTransition",value:function(e,t){var n=new this.ControllerState(e),i=new this.ControllerState(t).shortestPathFrom(n),r=t.transitionInterpolator,o=r.getDuration?r.getDuration(e,t):t.transitionDuration;if(0!==o){var a=t.transitionInterpolator.initializeProps(e,i);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}}},{key:"_onTransitionEnd",value:function(e){var t=this;return function(n){t.propsInTransition=null,t.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(n)}}},{key:"_onTransitionUpdate",value:function(e){var t=e.time,n=e.settings,i=n.interpolator,r=n.startProps,o=n.endProps,a=n.duration,s=(0,n.easing)(t/a),u=i.interpolateProps(r,o,s);this.propsInTransition=new this.ControllerState(M(M({},this.props),u)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}]),e}(),wM=["longitude","latitude","zoom","bearing","pitch"],kM=["longitude","latitude","zoom"],xM=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,i),(e=n.call(this,(Array.isArray(t)?t:t.transitionProps)||{compare:wM,extract:wM,required:kM})).opts=t,e}return b(i,[{key:"initializeProps",value:function(t,n){var r=e(p(i.prototype),"initializeProps",this).call(this,t,n),o=this.opts,a=o.makeViewport,s=o.around;if(a&&s){var u=a(t),c=a(n),l=u.unproject(s);r.start.around=s,Object.assign(r.end,{around:c.project(l),aroundPosition:l,width:n.width,height:n.height})}return r}},{key:"interpolateProps",value:function(e,t,n){var i,r={},o=_(this._propsToExtract);try{for(o.s();!(i=o.n()).done;){var a=i.value;r[a]=dS(e[a]||0,t[a]||0,n)}}catch(u){o.e(u)}finally{o.f()}if(t.aroundPosition){var s=this.opts.makeViewport(M(M({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,dS(e.around,t.around,n)))}return r}}]),i}(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var n=t,i=n.compare,r=n.extract,o=n.required;this._propsToCompare=i,this._propsToExtract=r,this._requiredProps=o}return b(e,[{key:"arePropsEqual",value:function(e,t){var n,i=_(this._propsToCompare||Object.keys(t));try{for(i.s();!(n=i.n()).done;){var r=n.value;if(!(r in e)||!(r in t)||!fS(e[r],t[r]))return!1}}catch(o){i.e(o)}finally{i.f()}return!0}},{key:"initializeProps",value:function(e,t){var n;if(this._propsToExtract){var i,r={},o={},a=_(this._propsToExtract);try{for(a.s();!(i=a.n()).done;){var s=i.value;r[s]=e[s],o[s]=t[s]}}catch(u){a.e(u)}finally{a.f()}n={start:r,end:o}}else n={start:e,end:t};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}},{key:"interpolateProps",value:function(e,t,n){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){!this._requiredProps||this._requiredProps.forEach(function(t){var n=e[t];WS(Number.isFinite(n)||Array.isArray(n),"".concat(t," is required for transition"))})}}]),e}()),SM={transitionDuration:0},CM={transitionDuration:300,transitionEasing:function(e){return e},transitionInterruption:1},EM=function(e){return 1-(1-e)*(1-e)},OM=["wheel"],TM=["panstart","panmove","panend"],PM=["pinchstart","pinchmove","pinchend"],AM=["tripanstart","tripanmove","tripanend"],MM=["doubletap"],IM=["keydown"],RM=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new _M(t,I(M({},n),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var i=this.linearTransitionProps;this._transition=i&&I(M({},CM),{transitionInterpolator:new xM({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(n)}return b(e,[{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}},{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state));var n=this._eventStartBlocked;switch(e.type){case"panstart":return!n&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!n&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!n&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,n=t.x,i=t.y,r=e.offsetCenter;return[r.x-n,r.y-i]}},{key:"isPointInBounds",value:function(e,t){var n=this.controllerStateProps,i=n.width,r=n.height;if(t&&t.handled)return!1;var o=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return o&&t&&t.stopPropagation(),o}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,n=setTimeout(function(){t._eventStartBlocked===n&&(t._eventStartBlocked=null)},e);this._eventStartBlocked=n}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var n=e.scrollZoom,i=void 0===n||n,r=e.dragPan,o=void 0===r||r,a=e.dragRotate,s=void 0===a||a,u=e.doubleClickZoom,c=void 0===u||u,l=e.touchZoom,h=void 0===l||l,d=e.touchRotate,f=void 0!==d&&d,p=e.keyboard,v=void 0===p||p,g=Boolean(this.onViewStateChange);this.toggleEvents(OM,g&&i),this.toggleEvents(TM,g&&(o||s)),this.toggleEvents(PM,g&&(h||f)),this.toggleEvents(AM,g&&f),this.toggleEvents(MM,g&&c),this.toggleEvents(IM,g&&v),this.scrollZoom=i,this.dragPan=o,this.dragRotate=s,this.doubleClickZoom=c,this.touchZoom=h,this.touchRotate=f,this.keyboard=v}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var n=this;this.eventManager&&e.forEach(function(e){n._events[e]!==t&&(n._events[e]=t,t?n.eventManager.on(e,n.handleEvent):n.eventManager.off(e,n.handleEvent))})}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=M(M({},e.getViewportProps()),t),r=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(n),r){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);var i=this.controllerState[n?"panStart":"rotateStart"]({pos:t});return this._panMove=n,this.updateViewport(i,SM,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),n=this.controllerState.pan({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.pan({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:!0})}else{var r=this.controllerState.panEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.rotate({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0})}else{var r=this.controllerState.rotateEnd();this.updateViewport(r,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.scrollZoom,i=n.speed,r=void 0===i?.01:i,o=n.smooth,a=void 0!==o&&o,s=e.delta,u=2/(1+Math.exp(-Math.abs(s*r)));s<0&&0!==u&&(u=1/u);var c=this.controllerState.zoom({pos:t,scale:u});return this.updateViewport(c,I(M({},this._getTransitionProps({around:t})),{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.rotateStart({pos:t});return this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate||!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var n=this.getCenter(e),i=[n[0],n[1]+=e.velocityY*t/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var n=e.scale,i=this.getCenter(e);t=t.zoom({pos:i,scale:n})}if(this.touchRotate){var r=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-r})}return this.updateViewport(t,SM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,n=this._lastPinchEvent;if(this.touchZoom&&t&&n&&e.scale!==n.scale){var i=this.getCenter(e),r=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),s=Math.pow(2,o+a*t/2);r=r.zoom({pos:i,scale:s}).zoomEnd(),this.updateViewport(r,I(M({},this._getTransitionProps({around:i})),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var u=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(u,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e),i=this.controllerState.zoom({pos:t,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,n=this.isFunctionKeyPressed(e),i=this.keyboard,r=i.zoomSpeed,o=i.moveSpeed,a=i.rotateSpeedX,s=i.rotateSpeedY,u=this.controllerState,c={};switch(e.srcEvent.code){case"Minus":t=n?u.zoomOut(r).zoomOut(r):u.zoomOut(r),c.isZooming=!0;break;case"Equal":t=n?u.zoomIn(r).zoomIn(r):u.zoomIn(r),c.isZooming=!0;break;case"ArrowLeft":n?(t=u.rotateLeft(a),c.isRotating=!0):(t=u.moveLeft(o),c.isPanning=!0);break;case"ArrowRight":n?(t=u.rotateRight(a),c.isRotating=!0):(t=u.moveRight(o),c.isPanning=!0);break;case"ArrowUp":n?(t=u.rotateUp(s),c.isRotating=!0):(t=u.moveUp(o),c.isPanning=!0);break;case"ArrowDown":n?(t=u.rotateDown(s),c.isRotating=!0):(t=u.moveDown(o),c.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),c),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?I(M({},t),{transitionInterpolator:new xM(I(M({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:SM}}]),e}(),DM=function(){function e(t){m(this,e),this._viewportProps=this._applyConstraints(t)}return b(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}(),NM=[0,0,0],LM=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.makeViewport,o=e.width,a=e.height,s=e.rotationX,u=void 0===s?0:s,c=e.rotationOrbit,l=void 0===c?0:c,h=e.target,d=void 0===h?NM:h,f=e.zoom,p=void 0===f?0:f,v=e.minRotationX,g=void 0===v?-90:v,y=e.maxRotationX,b=void 0===y?90:y,_=e.minZoom,w=void 0===_?-1/0:_,k=e.maxZoom,x=void 0===k?1/0:k,S=e.startPanPosition,C=e.startRotatePos,E=e.startRotationX,O=e.startRotationOrbit,T=e.startZoomPosition,P=e.startZoom;return m(this,n),(i=t.call(this,{width:o,height:a,rotationX:u,rotationOrbit:l,target:d,zoom:p,minRotationX:g,maxRotationX:b,minZoom:w,maxZoom:x}))._state={startPanPosition:S,startRotatePos:C,startRotationX:E,startRotationOrbit:O,startZoomPosition:T,startZoom:P},i.makeViewport=r,i}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanPosition:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPosition,i=this._state.startPanPosition||n;if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanPosition:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startRotationX,l=s.startRotationOrbit,h=this._viewportProps,d=h.width,f=h.height;if(!u||!Number.isFinite(c)||!Number.isFinite(l))return this;if(n){var p=(n[0]-u[0])/d;(c<-90||c>90)&&(p*=-1),t={rotationX:c+(n[1]-u[1])/f*180,rotationOrbit:l+180*p}}else t={rotationX:c+a,rotationOrbit:l+r};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.rotationOrbit;return Math.abs(i-t.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=r,s=this._unproject(n)||this._unproject(t));var u=this._calculateNewZoom({scale:i,startZoom:a}),c=this.makeViewport(I(M({},this._viewportProps),{zoom:u}));return this._getUpdatedState(M({zoom:u},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return Number.isFinite(n)||(n=this._viewportProps.zoom),hS(n+Math.log2(t),o,r)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height,r=t.target;return this.pan({startPosition:r,pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new n(M(M(M({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom,r=e.maxRotationX,o=e.minRotationX,a=e.rotationOrbit;return e.zoom=hS(i,n,t),e.rotationX=hS(e.rotationX,o,r),(a<-180||a>180)&&(e.rotationOrbit=function(e,t){var n=e%360;return n<0?360+n:n}(a+180)-180),e}}]),n}(DM),jM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,LM,e)}return b(n,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),n}(RM),FM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),e.dragMode=e.dragMode||"pan",t.call(this,LM,e)}return b(n,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),n}(RM),BM=(new $O).lookAt({eye:[0,0,1]});function VM(e){var t=e.width,n=e.height,i=e.near,r=e.far;return t=t||1,n=n||1,(new $O).ortho({left:-t/2,right:t/2,bottom:-n/2,top:n/2,near:i,far:r})}var zM=function(e){a(n,e);var t=s(n);function n(e){m(this,n);var i=e.width,r=e.height,o=e.near,a=void 0===o?.1:o,s=e.far,u=void 0===s?1e3:s,c=e.zoom,l=void 0===c?0:c,h=e.target,d=void 0===h?[0,0,0]:h,f=e.flipY,p=void 0===f||f,v=Math.pow(2,l);return t.call(this,I(M({},e),{longitude:null,position:d,viewMatrix:BM.clone().scale([v,v*(p?-1:1),v]),projectionMatrix:VM({width:i,height:r,near:a,far:u}),zoom:l}))}return b(n,[{key:"panByPosition",value:function(e,t){var n=HO([],e,GO([],pT(t,this.pixelUnprojectionMatrix)));return{target:HO([],this.center,n)}}}]),n}(wT),UM=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:zM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:FM})}}]),n}(mM);return e.displayName="OrthographicView",e}(),HM=Math.PI/180;function GM(e){var t=e.height,n=e.fovy,i=e.orbitAxis,r=e.rotationX,o=e.rotationOrbit,a=e.zoom,s=.5/Math.tan(n*HM/2),u="Z"===i?[0,0,1]:[0,1,0],c="Z"===i?[0,-s,0]:[0,0,s],l=(new $O).lookAt({eye:c,up:u});l.rotateX(r*HM),"Z"===i?l.rotateZ(o*HM):l.rotateY(o*HM);var h=Math.pow(2,a)/(t||1);return l.scale(h),l}var WM=function(e){a(i,e);var n=s(i);function i(e){var t;m(this,i);var r=e.height,o=e.fovy,a=e.orbitAxis,s=e.target,u=void 0===s?[0,0,0]:s,c=e.rotationX,l=void 0===c?0:c,h=e.rotationOrbit,d=void 0===h?0:h,f=e.zoom,p=void 0===f?0:f;return(t=n.call(this,I(M({},e),{longitude:null,viewMatrix:GM({height:r,fovy:o,orbitAxis:a,rotationX:l,rotationOrbit:d,zoom:p}),fovy:o,position:u,zoom:p}))).projectedCenter=t.project(t.center),t}return b(i,[{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?this.projectedCenter[2]:u,l=r?s:this.height-s,h=pT([a,l,c],this.pixelUnprojectionMatrix),d=t(h,3),f=d[0],p=d[1],v=d[2];return[f,p,v]}},{key:"panByPosition",value:function(e,t){var n=this.project(e);return{target:this.unproject([this.width/2+n[0]-t[0],this.height/2+n[1]-t[1],this.projectedCenter[2]])}}}]),i}(wT),qM=function(){var e=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.orbitAxis,r=void 0===i?"Z":i;return t.call(this,I(M({},e),{orbitAxis:r,type:WM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:jM})}}]),n}(mM);return e.displayName="OrbitView",e}(),XM=[255,255,255],YM=0,KM=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?XM:n,r=t.intensity,o=void 0===r?1:r;this.id=t.id||"ambient-".concat(YM++),this.color=i,this.intensity=o,this.type="ambient"},$M=[255,255,255],QM=[0,0,-1],ZM=0,JM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?$M:n,r=t.intensity,o=void 0===r?1:r,a=t.direction,s=void 0===a?QM:a,u=t._shadow,c=void 0!==u&&u;this.id=t.id||"directional-".concat(ZM++),this.color=i,this.intensity=o,this.type="directional",this.direction=new FS(s).normalize().toArray(),this.shadow=c}return b(e,[{key:"getProjectedLight",value:function(){return this}}]),e}(),eI=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?"effect":n;this.id=i,this.props=M({},t)}return b(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(){}},{key:"cleanup",value:function(){}}]),e}(),tI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"render",value:function(e){return Uk(this.gl,{framebuffer:e.target}),this._drawLayers(e)}},{key:"_drawLayers",value:function(e){var t=e.viewports,n=e.views,i=e.onViewportActive,r=e.clearCanvas,o=void 0===r||r;e.pass=e.pass||"unknown";var a=this.gl;o&&function(e){Uk(e,{viewport:[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}),e.clear(16640)}(a);var s,u=[],c=_(t);try{for(c.s();!(s=c.n()).done;){var l=s.value,h=l.viewport||l,d=n&&n[h.id];i(h);var f=this._getDrawLayerParams(h,e);e.view=d;var p,v=_(h.subViewports||[h]);try{for(v.s();!(p=v.n()).done;){var g=p.value;e.viewport=g;var m=this._drawLayersInViewport(a,e,f);u.push(m)}}catch(y){v.e(y)}finally{v.f()}}}catch(y){c.e(y)}finally{c.f()}return u}},{key:"_getDrawLayerParams",value:function(e,t){for(var n=t.layers,i=t.pass,r=t.layerFilter,o=t.effects,a=t.moduleParameters,s=[],u=nI(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i},l=0;l1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?"pass":i;this.id=r,this.gl=t,this.props=M({},n)}return b(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(){}},{key:"cleanup",value:function(){}}]),e}());function nI(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},i=function i(r,o){var a,s=r.props._offset,u=r.id,c=r.parent&&r.parent.id;if(c&&!(c in t)&&i(r.parent,!1),c in n){var l=n[c]=n[c]||nI(t[c],t);a=l(r,o),n[u]=l}else Number.isFinite(s)?(a=s+(t[c]||0),n[u]=null):a=e;return o&&a>=e&&(e=a+1),t[u]=a,a};return i}var iI=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e,t)).shadowMap=new Rx(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),r.depthBuffer=new Lx(e,{format:33189,width:1,height:1}),r.fbo=new $x(e,{id:"shadowmap",width:1,height:1,attachments:{36064:r.shadowMap,36096:r.depthBuffer}}),r}return b(i,[{key:"render",value:function(t){var n=this,r=this.fbo;Hk(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},function(){var o=t.viewports[0],a=Wk(n.gl),s=o.width*a,u=o.height*a;(s!==r.width||u!==r.height)&&r.resize({width:s,height:u}),e(p(i.prototype),"render",n).call(n,I(M({},t),{target:r,pass:"shadow"}))})}},{key:"shouldDrawLayer",value:function(e){return!1!==e.props.shadowEnabled}},{key:"getModuleParameters",value:function(){return{drawToShadowMap:!0}}},{key:"delete",value:function(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}]),i}(tI),rI=Object.keys(rk).map(function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(rk[e],";")}).join(""),oI=Object.keys(ok).map(function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(ok[e],";")}).join(""),aI="".concat(rI,"\n").concat(oI,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),sI={},uI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:aI,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sI;return e.viewport?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,n=e.devicePixelRatio,i=void 0===n?1:n,r=e.modelMatrix,o=void 0===r?null:r,a=e.coordinateSystem,s=void 0===a?rk.DEFAULT:a,u=e.coordinateOrigin,c=e.autoWrapLongitude,l=void 0!==c&&c;s===rk.DEFAULT&&(s=t.isGeospatial?rk.LNGLAT:rk.CARTESIAN);var h=VO({viewport:t,devicePixelRatio:i,coordinateSystem:s,coordinateOrigin:u});return h.project_uWrapLongitude=l,h.project_uModelMatrix=o||jO,h}(e):{}}},cI=SO(function(e){var t=e.viewport,n=e.center;return new $O(t.viewProjectionMatrix).invert().transform(n)}),lI=SO(function(e){var n,i=e.viewport,r=e.shadowMatrices,o=[],a=i.pixelUnprojectionMatrix,s=i.isGeospatial?void 0:1,u=[[0,0,s],[i.width,0,s],[0,i.height,s],[i.width,i.height,s],[0,0,-1],[i.width,0,-1],[0,i.height,-1],[i.width,i.height,-1]].map(function(e){return function(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=pT([r,o,a],n);return Number.isFinite(a)?s:[s[0],s[1],0]}(e,a)}),c=_(r);try{var l=function(){var e=n.value,t=e.clone().translate(new FS(i.center).negate()),r=u.map(function(e){return t.transform(e)}),a=(new $O).ortho({left:Math.min.apply(Math,v(r.map(function(e){return e[0]}))),right:Math.max.apply(Math,v(r.map(function(e){return e[0]}))),bottom:Math.min.apply(Math,v(r.map(function(e){return e[1]}))),top:Math.max.apply(Math,v(r.map(function(e){return e[1]}))),near:Math.min.apply(Math,v(r.map(function(e){return-e[2]}))),far:Math.max.apply(Math,v(r.map(function(e){return-e[2]})))});o.push(a.multiplyRight(e))};for(c.s();!(n=c.n()).done;)l()}catch(h){c.e(h)}finally{c.f()}return o}),hI=[0,0,0,1],dI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fI={name:"shadow",dependencies:[uI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var n=e.shadowEnabled,i=void 0===n||n;return i&&e.shadowMatrices&&e.shadowMatrices.length>0?function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||hI,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},i=cI({viewport:e.viewport,center:t.project_uCenter}),r=[],o=lI({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a0?e.shadowMaps[c]:e.dummyShadowMap;return n}(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},pI={color:[255,255,255],intensity:1},vI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],gI=[0,0,0,200/255],mI=function(e){a(n,e);var t=s(n);function n(e){var i;for(var r in m(this,n),(i=t.call(this,e)).ambientLight=null,i.directionalLights=[],i.pointLights=[],i.shadowColor=gI,i.shadowPasses=[],i.shadowMaps=[],i.dummyShadowMap=null,i.shadow=!1,i.programManager=null,e){var o=e[r];switch(o.type){case"ambient":i.ambientLight=o;break;case"directional":i.directionalLights.push(o);break;case"point":i.pointLights.push(o)}}return i._applyDefaultLights(),i.shadow=i.directionalLights.some(function(e){return e.shadow}),i}return b(n,[{key:"preRender",value:function(e,t){var n=t.layers,i=t.layerFilter,r=t.viewports,o=t.onViewportActive,a=t.views;if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=BE.getDefaultProgramManager(e),fI&&this.programManager.addDefaultModule(fI)),this.dummyShadowMap||(this.dummyShadowMap=new Rx(e,{width:1,height:1}));for(var s=0;s=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,n=_(this.channels.values());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setChannelTime(i,this.time)}}catch(c){n.e(c)}finally{n.f()}var r,o=_(this.animations.values());try{for(o.s();!(r=o.n()).done;){var a=r.value,s=a.animation,u=a.channel;s.setTime(this.getTime(u))}}catch(c){o.e(c)}finally{o.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var n=bI++;return this.animations.set(n,{animation:e,channel:t}),e.setTime(this.getTime(t)),n}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var n=t-e.delay;n>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,n)%e.duration,e.time*=e.rate)}}]),e}(),wI=function(){function e(t,n,i){m(this,e),this.id=t,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(n)}return b(e,[{key:"subscribe",value:function(e){this._subscribers.add(e)}},{key:"unsubscribe",value:function(e){this._subscribers.delete(e)}},{key:"inUse",value:function(){return this._subscribers.size>0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(function(){return e.getData()})}},{key:"setData",value:function(e,t){var n=this;if(e!==this._data||t){this._data=e;var i=++this._loadCount,r=e;"string"==typeof e&&(r=rM(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=null,n._content=e)}).catch(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=e||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=_(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(s){a.e(s)}finally{a.f()}}}}]),e}(),kI=function(){function e(t){var n=t.gl,i=t.protocol;m(this,e),this.protocol=i||"resource://",this._context={gl:n,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return b(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,n=e.data,i=e.forceUpdate,r=void 0!==i&&i,o=e.persistent,a=void 0===o||o,s=this._resources[t];s?s.setData(n,r):(s=new wI(t,n,this._context),this._resources[t]=s),s.persistent=a}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,n=this._consumers[t];if(n){for(var i in n){var r=n[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,n=e.onChange,i=e.consumerId,r=e.requestId,o=void 0===r?"default":r,a=this._resources,s=this.protocol;t.startsWith(s)&&(a[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));var u=a[t];if(this._track(i,o,u,n),u)return u.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout(function(){return e._prune()},0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,n,i){var r=this._consumers,o=r[e]=r[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),n&&(o[t]=a,a.onChange=i,a.resource=n,n.subscribe(a))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e1&&void 0!==arguments[1]?arguments[1]:{},i=n.deck,r=n.stats,o=n.viewport,a=n.timeline;m(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new kI({gl:t,protocol:"deck://"}),this.context=I(M({},EI),{layerManager:this,gl:t,deck:i,programManager:t&&CI(t),stats:r||new nx({id:"deck.gl"}),viewport:o||new wT({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:a||new _I,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return b(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=_(this.layers);try{for(t.s();!(e=t.n()).done;){var n=e.value;this._finalizeLayer(n)}}catch(i){t.e(i)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n,i=_(this.layers);try{for(i.s();!(n=i.n()).done;){var r=n.value,o=r.getNeedsRedraw(e);t=t||o}}catch(a){i.e(a)}finally{i.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,n=void 0===t?null:t;return n?this.layers.filter(function(e){return n.find(function(t){return 0===e.id.indexOf(t)})}):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){hC("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e;var n,i=_(e=$S(e,Boolean));try{for(i.s();!(n=i.n()).done;){n.value.context=this.context}}catch(r){i.e(r)}finally{i.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return hC("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,n){n.raiseError(t,"".concat(e," of ").concat(n))}},{key:"_updateLayers",value:function(e,t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;i[o.id]?ik.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o}}catch(l){r.e(l)}finally{r.f()}var a=[];this._updateSublayersRecursively(t,i,a),this._finalizeOldLayers(i);for(var s=!1,u=0,c=a;u0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter(function(t){return t.containsPixel(e)}):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach(function(t){e[t.id]=t}),e}},{key:"getView",value:function(e){return"string"==typeof e?this.views.find(function(t){return t.id===e}):e}},{key:"getViewState",value:function(e){var t=this.getView(e),n=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(n):n}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var n=this.getViewports(),i={x:e[0],y:e[1]},r=n.length-1;r>=0;--r){var o=n[r];if(o.containsPixel(i)){var a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=$S(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!gM(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):ik.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(M({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,n,i){var r=e.controller;return r?(r=I(M(M(M({},t),e.props),r),{id:e.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(e,r),i):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,n=this.views,i=this.controllers;this._viewports=[],this.controllers={};for(var r=!1,o=n.length;o--;){var a=n[o],s=this.getViewState(a),u=a.makeViewport({width:e,height:t,viewState:s}),c=i[a.id];a.controller&&!c&&(r=!0),(r||!a.controller)&&c&&(c.finalize(),c=null),this.controllers[a.id]=this._updateController(a,s,u,c),this._viewports.unshift(u)}for(var l in i)i[l]&&!this.controllers[l]&&i[l].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach(function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)})}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some(function(n,i){return!e[i].equals(t[i])})}}]),e}(),PI=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.makeViewport,o=i.width,a=i.height,s=i.latitude,u=i.longitude,c=i.zoom,l=i.bearing,h=void 0===l?0:l,d=i.pitch,f=void 0===d?0:d,p=i.altitude,v=void 0===p?1.5:p,g=i.maxZoom,y=void 0===g?20:g,b=i.minZoom,_=void 0===b?0:b,w=i.maxPitch,k=void 0===w?60:w,x=i.minPitch,S=void 0===x?0:x,C=i.startPanLngLat,E=i.startZoomLngLat,O=i.startRotatePos,T=i.startBearing,P=i.startPitch,A=i.startZoom,M=i.normalize;return m(this,n),WS(Number.isFinite(u)),WS(Number.isFinite(s)),WS(Number.isFinite(c)),(e=t.call(this,{width:o,height:a,latitude:s,longitude:u,zoom:c,bearing:h,pitch:f,altitude:v,maxZoom:y,minZoom:_,maxPitch:k,minPitch:S,normalize:M}))._state={startPanLngLat:C,startZoomLngLat:E,startRotatePos:O,startBearing:T,startPitch:P,startZoom:A},e.makeViewport=r,e}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanLngLat:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPos,i=this._state.startPanLngLat||this._unproject(n);if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanLngLat:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startBearing,l=s.startPitch;return u&&Number.isFinite(c)&&Number.isFinite(l)?(t=n?this._calculateNewPitchAndBearing(I(M({},this._getRotationParams(n,u)),{startBearing:c,startPitch:l})):{bearing:c+r,pitch:l+a},this._getUpdatedState(t)):this}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._state,o=r.startZoom,a=r.startZoomLngLat;Number.isFinite(o)||(o=this._viewportProps.zoom,a=this._unproject(n)||this._unproject(t));var s=this._calculateNewZoom({scale:i,startZoom:o}),u=this.makeViewport(I(M({},this._viewportProps),{zoom:s}));return this._getUpdatedState(M({zoom:s},u.panByPosition(a,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.bearing,r=n.longitude;return Math.abs(i-t.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-t.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.zoom({pos:[n/2,i/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.pan({startPos:[n/2,i/2],pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(M(M(M({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom;e.zoom=hS(i,n,t);var r=e.maxPitch,o=e.minPitch,a=e.pitch;e.pitch=hS(a,o,r);var s=e.normalize;return(void 0===s||s)&&Object.assign(e,function(e){var t=e.width,n=e.height,i=e.longitude,r=e.latitude,o=e.zoom,a=e.pitch,s=void 0===a?0:a,u=e.bearing,c=void 0===u?0:u;(i<-180||i>180)&&(i=ZO(i+180,360)-180),(c<-180||c>180)&&(c=ZO(c+180,360)-180);var l=eT(n/512);if(o<=l)o=l,r=0;else{var h=n/2/Math.pow(2,o),d=cT([0,h])[1];if(rf&&(r=f)}}return{width:t,height:n,longitude:i,latitude:r,zoom:o,pitch:s,bearing:c}}(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return hS(n+Math.log2(t),o,r)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,n=e.deltaScaleY,i=e.startBearing,r=e.startPitch;n=hS(n,-1,1);var o=this._viewportProps,a=o.minPitch,s=o.maxPitch,u=r;return n>0?u=r+n*(s-r):n<0&&(u=r-n*(a-r)),{pitch:u,bearing:i+180*t}}},{key:"_getRotationParams",value:function(e,t){var n=e[0]-t[0],i=e[1]-t[1],r=e[1],o=t[1],a=this._viewportProps,s=a.width,u=a.height,c=n/s,l=0;return i>0?Math.abs(u-o)>5&&(l=i/(o-u)*1.2):i<0&&o>5&&(l=1-r/o),{deltaScaleX:c,deltaScaleY:l=Math.min(1,Math.max(-1,l))}}}]),n}(DM),AI=function(t){a(i,t);var n=s(i);function i(e){return m(this,i),e.dragMode=e.dragMode||"pan",n.call(this,PI,e)}return b(i,[{key:"setProps",value:function(t){var n=this.controllerStateProps;e(p(i.prototype),"setProps",this).call(this,t),(!n||n.height!==t.height)&&this.updateViewport(new this.ControllerState(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch"]}}]),i}(RM),MI=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:kT}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:AI})}}]),n}(mM);return e.displayName="MapView",e}(),II=new mI,RI=function(){function e(){m(this,e),this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}return b(e,[{key:"setProps",value:function(e){"effects"in e&&(e.effects.length!==this.effects.length||!gM(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._createInternalEffects()}},{key:"cleanup",value:function(){var e,t=_(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(r){t.e(r)}finally{t.f()}var n,i=_(this._internalEffects);try{for(i.s();!(n=i.n()).done;){n.value.cleanup()}}catch(r){i.e(r)}finally{i.f()}this.effects.length=0,this._internalEffects.length=0}},{key:"_createInternalEffects",value:function(){this._internalEffects=this.effects.slice(),this.effects.some(function(e){return e instanceof mI})||this._internalEffects.push(II)}}]),e}(),DI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(tI),NI={blendFunc:[1,0,32771,0],blendEquation:32774},LI=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"render",value:function(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,e(p(i.prototype),"render",this).call(this,t))}},{key:"_drawPickingBuffer",value:function(t){var n=this,r=t.layers,o=t.layerFilter,a=t.views,s=t.viewports,u=t.onViewportActive,c=t.pickingFBO,l=t.deviceRect,h=l.x,d=l.y,f=l.width,v=l.height,g=t.pass,m=void 0===g?"picking":g,y=t.redrawReason,b=t.pickZ,_=this.gl;return this.pickZ=b,Hk(_,I(M({scissorTest:!0,scissor:[h,d,f,v],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},NI),{blend:!b}),function(){e(p(i.prototype),"render",n).call(n,{target:c,layers:r,layerFilter:o,views:a,viewports:s,onViewportActive:u,pass:m,redrawReason:y})})}},{key:"shouldDrawLayer",value:function(e){return e.props.pickable}},{key:"getModuleParameters",value:function(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}},{key:"getLayerParameters",value:function(e,t){var n=this.pickZ?{blend:!1}:I(M({},NI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return M(M({},e.props.parameters),n)}}]),i}(tI),jI=function(){function e(t){m(this,e),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new DI(t),this.pickLayersPass=new LI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}},{key:"renderLayers",value:function(e){var t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||$x.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);var n=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,i=t.render(I(M({},e),{target:n}));this._postRender(e.effects,e),this.renderCount++,hC("deckRenderer.renderLayers",this,i,e)}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,n=_(t);try{for(n.s();!(e=n.n()).done;){e.value.delete()}}catch(i){n.e(i)}finally{n.f()}t.length=0}},{key:"_preRender",value:function(e,t){var n,i=null,r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.preRender(this.gl,t),o.postRender&&(i=o)}}catch(a){r.e(a)}finally{r.f()}i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new $x(this.gl),new $x(this.gl));var t,n=_(e);try{for(n.s();!(t=n.n()).done;){t.value.resize()}}catch(i){n.e(i)}finally{n.f()}}},{key:"_postRender",value:function(e,t){var n,i=this.renderBuffers,r={inputBuffer:i[0],swapBuffer:i[1],target:null},o=_(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.postRender){if(a===this.lastPostProcessEffect){r.target=t.target,a.postRender(this.gl,r);break}var s=a.postRender(this.gl,r);r.inputBuffer=s,r.swapBuffer=s===i[0]?i[1]:i[0]}}}catch(u){o.e(u)}finally{o.f()}}}]),e}(),FI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function BI(e){var t=e.pickedColors,n=e.layers,i=e.deviceX,r=e.deviceY,o=e.deviceRadius,a=e.deviceRect;if(t){for(var s=a.x,u=a.y,c=a.width,l=a.height,h=o*o,d=-1,f=0,p=0;ph)f+=4*c;else for(var m=0;m=0){var y=m+s-i,b=y*y+g;b<=h&&(h=b,d=f)}f+=4}}if(d>=0){var _=t[d+3]-1,w=t.slice(d,d+4),k=n[_];if(k){var x=k.decodePickingColor(w),S=Math.floor(d/4/c);return{pickedColor:w,pickedLayer:k,pickedObjectIndex:x,pickedX:s+(d/4-S*c),pickedY:u+S}}ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return FI}function VI(e){var t=e.pickInfo,n=e.mode,i=e.viewports,r=e.layerFilter,o=e.pixelRatio,a=e.x,s=e.y,u=e.z,c=t&&t.pickedLayer,l=function(e,t,n){for(var i=e.length-1;i>=0;i--){var r=e[i];if(r.containsPixel(t)&&(!n||n(r)))return r}return e[0]}(i,{x:a,y:s},r&&c&&function(e){return r({layer:c,viewport:e,isPicking:!0,renderPass:"picking:".concat(n)})}),h=l&&l.unproject([a-l.x,s-l.y],{targetZ:u});return{color:null,layer:null,viewport:l,index:-1,picked:!1,x:a,y:s,pixel:[a,s],coordinate:h,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:o}}function zI(e){var t=e.pickInfo,n=e.lastPickedInfo,i=e.mode,r=e.layers,o=t.pickedColor,a=t.pickedLayer,s=t.pickedObjectIndex,u=a?[a]:[];if("hover"===i){var c=n.index,l=n.layerId,h=a&&a.props.id;if(h!==l||s!==c){if(h!==l){var d=r.find(function(e){return e.props.id===l});d&&u.unshift(d)}n.layerId=h,n.index=s,n.info=null}}var f=VI(e),p=new Map;return p.set(null,f),u.forEach(function(e){var t=M({},f);e===a&&(t.color=o,t.index=s,t.picked=!0),t=UI({layer:e,info:t,mode:i}),e===a&&"hover"===i&&(n.info=t),p.set(t.layer.id,t),"hover"===i&&t.layer.updateAutoHighlight(t)}),p}function UI(e){for(var t=e.layer,n=e.info,i=e.mode;t&&n;){var r=n.layer||null;n.sourceLayer=r,n.layer=t,n=t.getPickingInfo({info:n,mode:i,sourceLayer:r}),t=t.parent}return n}var HI=function(){function e(t){m(this,e),this.gl=t,this.pickingFBO=null,this.pickLayersPass=new LI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}},{key:"finalize",value:function(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}},{key:"pickObject",value:function(e){return this._pickClosestObject(e)}},{key:"pickObjects",value:function(e){return this._pickVisibleObjects(e)}},{key:"getLastPickedObject",value:function(e){var t=e.x,n=e.y,i=e.layers,r=e.viewports,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,u=a?i.find(function(e){return e.id===a}):null,c=s&&r.find(function(e){return e.id===s})||r[0],l=c&&c.unproject([t-c.x,n-c.y]),h={x:t,y:n,viewport:c,coordinate:l,layer:u};return u?M(M({},o),h):Object.assign(h,{color:null,object:null,index:-1})}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new $x(e),$x.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new $x(e),this.depthFBO.attach({36064:new Rx(e,{format:lk(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter(function(e){return e.isPickable()&&!e.isComposite});return t.length>255?(ik.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.x,o=e.y,a=e.radius,s=void 0===a?0:a,u=e.depth,c=void 0===u?1:u,l=e.mode,h=void 0===l?"query":l,d=e.unproject3D,f=e.onViewportActive;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:VI({viewports:i,x:r,y:o})};this._resizeBuffer();for(var p,v=Wk(this.gl),g=qk(this.gl,[r,o],!0),m=[g.x+Math.floor(g.width/2),g.y+Math.floor(g.height/2)],y=Math.round(s*v),b=this.pickingFBO,w=b.width,k=b.height,x=this._getPickingRect({deviceX:m[0],deviceY:m[1],deviceRadius:y,deviceWidth:w,deviceHeight:k}),S=[],C={},E=0;E=0){var a=t.slice(r,r+4),s=a.join(",");if(!i.has(s)){var u=n[o];u?i.set(s,{pickedColor:a,pickedLayer:u,pickedObjectIndex:u.decodePickingColor(a)}):ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(i.values())}({pickedColors:this._drawAndSample({layers:t,views:n,viewports:i,onViewportActive:p,deviceRect:{x:m,y:_,width:b.x+b.width-m,height:y-_},pass:"picking:".concat(h),redrawReason:h}),layers:t}),k=new Map,x=Number.isFinite(f),S=0;S=f);S++){var C=w[S],E={color:C.pickedColor,layer:null,index:C.pickedObjectIndex,picked:!0,x:r,y:o,width:s,height:c,pixelRatio:v};E=UI({layer:C.pickedLayer,info:E,mode:h}),k.has(E.object)||k.set(E.object,E)}return Array.from(k.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.onViewportActive,o=e.deviceRect,a=e.pass,s=e.redrawReason,u=e.pickZ;if(t.length<1)return null;var c=u?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:n,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:o,pass:a,redrawReason:s,pickZ:u});var l=o.x,h=o.y,d=o.width,f=o.height,p=new(u?Float32Array:Uint8Array)(d*f*4);return qx(c,{sourceX:l,sourceY:h,sourceWidth:d,sourceHeight:f,target:p}),p}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,n=e.deviceY,i=e.deviceRadius,r=e.deviceWidth,o=e.deviceHeight,a=Math.max(0,t-i),s=Math.max(0,n-i),u=Math.min(r,t+i+1)-a,c=Math.min(o,n+i+1)-s;return u<=0||c<=0?null:{x:a,y:s,width:u,height:c}}}]),e}(),GI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},WI=function(){function e(t){m(this,e);var n=t.parentElement;n&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,GI),n.appendChild(this.el)),this.isVisible=!1}return b(e,[{key:"setTooltip",value:function(e,t,n){var i=this.el;if("string"==typeof e)i.innerText=e;else{if(!e)return this.isVisible=!1,void(i.style.display="none");"text"in e&&(i.innerText=e.text),"html"in e&&(i.innerHTML=e.html),"className"in e&&(i.className=e.className),Object.assign(i.style,e.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(t,"px, ").concat(n,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}();function qI(e,t){if(!e)throw new Error(t)}var XI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},YI=XI.global||XI.self||XI.window,KI="object"!=typeof process||"[object process]"!==String(process)||process.browser,$I="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),QI=($I&&parseFloat($I[1]),YI)._parseImageNode,ZI="undefined"!=typeof Image,JI="undefined"!=typeof ImageBitmap,eR=Boolean(QI),tR=!!KI||eR;function nR(e){switch(function(e){var t=function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"image":e&&"object"==typeof e&&e.data&&e.width&&e.height?"data":null}(e);if(!t)throw new Error("Not an image");return t}(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}var iR=/^data:image\/svg\+xml/,rR=/\.svg((\?|#).*)?$/;function oR(e){return e&&(iR.test(e)||rR.test(e))}function aR(e,t){if(oR(t)){var n=(new TextDecoder).decode(e);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return"data:image/svg+xml;base64,".concat(btoa(n))}return sR(e,t)}function sR(e,t){if(oR(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function uR(e,t,n){return cR.apply(this,arguments)}function cR(){return(cR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=aR(t,i),o=self.URL||self.webkitURL,a="string"!=typeof r&&o.createObjectURL(r),e.prev=1,e.next=4,lR(a||r,n);case 4:return e.abrupt("return",e.sent);case 5:return e.prev=5,a&&o.revokeObjectURL(a),e.finish(5);case 8:case"end":return e.stop()}},e,null,[[1,,5,8]])}))).apply(this,arguments)}function lR(e,t){return hR.apply(this,arguments)}function hR(){return(hR=Vx(regeneratorRuntime.mark(function e(t,n){var i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((i=new Image).src=t,!(n.image&&n.image.decode&&i.decode)){e.next=8;break}return e.next=5,i.decode();case 5:e.t0=i,e.next=11;break;case 8:return e.next=10,new Promise(function(e,n){try{i.onload=function(){return e(i)},i.onerror=function(e){return n(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(r){n(r)}});case 10:e.t0=e.sent;case 11:return e.abrupt("return",e.t0);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var dR={},fR=!0;function pR(e,t,n){return vR.apply(this,arguments)}function vR(){return(vR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!oR(i)){e.next=6;break}return e.next=3,uR(t,n,i);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=sR(t,i);case 7:return r=e.t0,o=n&&n.imagebitmap,e.next=11,gR(r,o);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function gR(e){return mR.apply(this,arguments)}function mR(){return(mR=Vx(regeneratorRuntime.mark(function e(t){var n,i=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((yR(n=i.length>1&&void 0!==i[1]?i[1]:null)||!fR)&&(n=null),!n){e.next=11;break}return e.prev=2,e.next=5,createImageBitmap(t,n);case 5:return e.abrupt("return",e.sent);case 8:e.prev=8,e.t0=e.catch(2),console.warn(e.t0),fR=!1;case 11:return e.next=13,createImageBitmap(t);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}},e,null,[[2,8]])}))).apply(this,arguments)}function yR(e){for(var t in e||dR)return!1;return!0}var bR=!1,_R=!0;function wR(e){var t=kR(e);return function(e){var t=kR(e);return t.byteLength>=24&&2303741511===t.getUint32(0,bR)?{mimeType:"image/png",width:t.getUint32(16,bR),height:t.getUint32(20,bR)}:null}(t)||function(e){var t=kR(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,bR)&&255===t.getUint8(2)))return null;for(var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}(),i=n.tableMarkers,r=n.sofMarkers,o=2;o+9=10&&1195984440===t.getUint32(0,bR)?{mimeType:"image/gif",width:t.getUint16(6,_R),height:t.getUint16(8,_R)}:null}(t)||function(e){var t=kR(e);return t.byteLength>=14&&16973===t.getUint16(0,bR)&&t.getUint32(2,_R)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,_R),height:t.getUint32(22,_R)}:null}(t)}function kR(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function xR(e,t){var n=(wR(e)||{}).mimeType,i=YI._parseImageNode;return qI(i),i(e,n,t)}function SR(){return(SR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=((n=n||{}).image||{}).type||"auto",o=(i||{}).url,e.t0=CR(r),e.next="imagebitmap"===e.t0?4:"image"===e.t0?8:"data"===e.t0?12:16;break;case 4:return e.next=6,pR(t,n,o);case 6:return a=e.sent,e.abrupt("break",17);case 8:return e.next=10,uR(t,n,o);case 10:return a=e.sent,e.abrupt("break",17);case 12:return e.next=14,xR(t,n);case 14:return a=e.sent,e.abrupt("break",17);case 16:qI(!1);case 17:return e.abrupt("return",("data"===r&&(a=nR(a)),a));case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function CR(e){switch(e){case"auto":case"data":return function(){if(JI)return"imagebitmap";if(ZI)return"image";if(tR)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return JI||ZI||tR;case"imagebitmap":return JI;case"image":return ZI;case"data":return tR;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ER={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return SR.apply(this,arguments)},tests:[function(e){return Boolean(wR(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},OR=r(84761),TR={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],n=e[e.length-1];return"{"===t&&"}"===n||"["===t&&"]"===n},parseTextSync:JSON.parse},PR="8.5.8",AR=OR.CO.deck&&OR.CO.deck.VERSION;if(AR&&AR!==PR)throw new Error("deck.gl - multiple versions detected: ".concat(AR," vs ").concat(PR));AR||(ik.log(1,"deck.gl ".concat(PR))(),OR.CO.deck=Object.assign(OR.CO.deck||{},{VERSION:PR,version:PR,log:ik,_registerLoggers:function(e){lC=e}}),HA([TR,[ER,{imagebitmap:{premultiplyAlpha:"none"}}]]));var MR=OR.CO.deck,IR=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).target=null,t._queryPending=!1,t._pollingPromise=null,Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Query"}},{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,n=void 0!==t&&t;return this.begin(n?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}},{key:"end",value:function(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var n=0;return this._pollingPromise=new Promise(function(i,r){requestAnimationFrame(function o(){e.isResultAvailable()?(i(e.getResult()),e._pollingPromise=null):n++>t?(r("Timed out"),e._pollingPromise=null):requestAnimationFrame(o)})}),this._pollingPromise}},{key:"_createHandle",value:function(){return i.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}],[{key:"isSupported",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=lk(e),r=Jx(e,"TIMER_QUERY"),o=i||r,a=_(n);try{for(a.s();!(t=a.n()).done;){var s=t.value;switch(s){case"queries":o=o&&i;break;case"timers":o=o&&r;break;default:ox(!1)}}}catch(u){a.e(u)}finally{a.f()}return o}}]),i}(px,Symbol.toStringTag),RR=Gk()&&"undefined"!=typeof document,DR=0,NR=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.onCreateContext,i=void 0===n?function(e){return Zk(e)}:n,r=t.onAddHTML,o=void 0===r?null:r,a=t.onInitialize,s=void 0===a?function(){}:a,u=t.onRender,c=void 0===u?function(){}:u,l=t.onFinalize,h=void 0===l?function(){}:l,d=t.onError,f=t.gl,p=void 0===f?null:f,v=t.glOptions,g=void 0===v?{}:v,y=t.debug,b=void 0!==y&&y,_=t.createFramebuffer,w=void 0!==_&&_,k=t.autoResizeViewport,x=void 0===k||k,S=t.autoResizeDrawingBuffer,C=void 0===S||S,E=t.stats,O=void 0===E?rx.get("animation-loop-"+DR++):E,T=t.useDevicePixels,P=void 0===T||T;"useDevicePixelRatio"in t&&(sk.deprecated("useDevicePixelRatio","useDevicePixels")(),P=t.useDevicePixelRatio),this.props={onCreateContext:i,onAddHTML:o,onInitialize:s,onRender:c,onFinalize:h,onError:d,gl:p,glOptions:g,debug:b,createFramebuffer:w},this.gl=p,this.needsRedraw=null,this.timeline=null,this.stats=O,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:x,autoResizeDrawingBuffer:C,useDevicePixels:P}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return b(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return ox("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var n=this._getPageLoadPromise().then(function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=IR.isSupported(e.gl,["timers"])?new IR(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))}).then(function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())});return this.props.onError&&n.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(function(t){e._resolveNextFrame=t})),this._nextFramePromise}},{key:"toDataURL",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.setNeedsRedraw("toDataURL"),t.next=3,e.waitForRender();case 3:return t.abrupt("return",e.gl.canvas.toDataURL());case 4:case"end":return t.stop()}},t)}))()}},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=document.getElementById(e);return n?Number(n.value):t}},{key:"setViewParameters",value:function(){return sk.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(function t(){!e._running||(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))})}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=RR?new Promise(function(e,t){RR&&"complete"===document.readyState?e(document):window.addEventListener("load",function(){e(document)})}):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}(e)}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}(e)}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,n=e.height,i=e.aspect;(t!==this.animationProps.width||n!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=n,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Jk(this.props.gl,e):this.onCreateContext(e),!ck(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(e){Uk(e,Sk)})(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var n=this.props.onAddHTML(t);n&&(t.innerHTML=n)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,n=1,i=this.gl.canvas;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:e>0&&t>0&&(n=e/t),{width:e,height:t,aspect:n}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas)!function(e,t,n){var i="width"in n?n.width:e.canvas.clientWidth,r="height"in n?n.height:e.canvas.clientHeight;(!i||!r)&&(sk.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,r=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var o=e.luma.canvasSizeInfo;if(o.clientWidth!==i||o.clientHeight!==r||o.devicePixelRatio!==t){var a=t,s=Math.floor(i*a),u=Math.floor(r*a);e.canvas.width=s,e.canvas.height=u,(e.drawingBufferWidth!==s||e.drawingBufferHeight!==u)&&(sk.warn("Device pixel ratio clamped")(),a=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/r),e.canvas.width=Math.floor(i*a),e.canvas.height=Math.floor(r*a)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:t})}}(e,function(e){var t="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}(t.useDevicePixels),t);else{var n=e.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in t&&"height"in t&&n.resize(t.width,t.height)}}(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new $x(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}(),LR=r(11524),jR=r.n(LR),FR={mousedown:1,mousemove:2,mouseup:4};(function(e){var t=e.prototype.handler;e.prototype.handler=function(e){var n=this.store;e.button>0&&"pointerdown"===e.type&&(function(t,n){for(var i=0;i=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}}(jR().MouseInput);var BR=jR().Manager,VR=jR(),zR=VR?[[VR.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[VR.Rotate,{enable:!1}],[VR.Pinch,{enable:!1}],[VR.Swipe,{enable:!1}],[VR.Pan,{threshold:0,enable:!1}],[VR.Press,{enable:!1}],[VR.Tap,{event:"doubletap",taps:2,enable:!1}],[VR.Tap,{event:"anytap",enable:!1}],[VR.Tap,{enable:!1}]]:null,UR={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},HR={doubletap:["tap"]},GR={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},WR=["keydown","keyup"],qR=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],XR=["wheel","mousewheel"],YR={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},KR={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},$R="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",QR="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;var ZR=!1;try{var JR={get passive(){return ZR=!0,!0}};QR.addEventListener("test",JR,JR),QR.removeEventListener("test",JR,JR)}catch(G){}var eD=-1!==$R.indexOf("firefox"),tD=XR,nD=4.000244140625,iD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.events=tD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent,!!ZR&&{passive:!1})})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;QR.WheelEvent&&(eD&&e.deltaMode===QR.WheelEvent.DOM_DELTA_PIXEL&&(t/=QR.devicePixelRatio),e.deltaMode===QR.WheelEvent.DOM_DELTA_LINE&&(t*=40));var n={x:e.clientX,y:e.clientY};0!==t&&t%nD==0&&(t=Math.floor(t/nD)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,n)}}},{key:"_onWheel",value:function(e,t,n){this.callback({type:"wheel",center:n,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),rD=qR,oD="pointermove",aD="pointerover",sD="pointerout",uD="pointerleave",cD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.pressed=!1,this.options=Object.assign({enable:!0},r),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=rD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===oD&&(this.enableMoveEvent=t),e===aD&&(this.enableOverEvent=t),e===sD&&(this.enableOutEvent=t),e===uD&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:aD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:sD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:uD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:oD,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),lD=WR,hD="keydown",dD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=lD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=r.tabIndex||0,t.style.outline="none",this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===hD&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:hD,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),fD="contextmenu",pD=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return b(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){e===fD&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){!this.options.enable||this.callback({type:fD,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),vD={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},gD={srcElement:"root",priority:0},mD=function(){function e(t){m(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return b(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.handlers,a=this.handlersByElement;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},gD,n):gD;var s=a.get(n.srcElement);s||(s=[],a.set(n.srcElement,s));var u={type:e,handler:t,srcElement:n.srcElement,priority:n.priority};i&&(u.once=!0),r&&(u.passive=!0),o.push(u),this._active=this._active||!u.passive;for(var c=s.length-1;c>=0&&!(s[c].priority>=u.priority);)c--;s.splice(c+1,0,u)}},{key:"remove",value:function(e,t){for(var n=this.handlers,i=this.handlersByElement,r=n.length-1;r>=0;r--){var o=n[r];if(o.type===e&&o.handler===t){n.splice(r,1);var a=i.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&i.delete(o.srcElement)}}this._active=n.some(function(e){return!e.passive})}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),n=e.srcEvent.target;n&&n!==t.rootElement;){if(this._emit(t,n),t.handled)return;n=n.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var n=this.handlersByElement.get(t);if(n){for(var i=!1,r=function(){e.handled=!0},o=function(){e.handled=!0,i=!0},a=[],s=0;s0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.options=Object.assign({},yD,n),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var i=n.events;i&&this.on(i)}return b(e,[{key:"setElement",value:function(e){var n=this;if(this.element&&this.destroy(),this.element=e,e){var i=this.options;for(var r in this.manager=new(0,i.Manager)(e,{touchAction:i.touchAction,recognizers:i.recognizers||zR}).on("hammer.input",this._onBasicInput),i.recognizers||Object.keys(UR).forEach(function(e){var t=n.manager.get(e);t&&UR[e].forEach(function(e){t.recognizeWith(e)})}),i.recognizerOptions){var o=this.manager.get(r);if(o){var a=i.recognizerOptions[r];delete a.enable,o.set(a)}}this.wheelInput=new iD(e,this._onOtherEvent,{enable:!1}),this.moveInput=new cD(e,this._onOtherEvent,{enable:!1}),this.keyInput=new dD(e,this._onOtherEvent,{enable:!1,tabIndex:i.tabIndex}),this.contextmenuInput=new pD(e,this._onOtherEvent,{enable:!1});var s,u=_(this.events);try{for(u.s();!(s=u.n()).done;){var c=t(s.value,2),l=c[0],h=c[1];h.isEmpty()||(this._toggleRecognizer(h.recognizerName,!0),this.manager.on(l,h.handleEvent))}}catch(d){u.e(d)}finally{u.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,n){this._addEventHandler(e,t,n,!1)}},{key:"once",value:function(e,t,n){this._addEventHandler(e,t,n,!0)}},{key:"watch",value:function(e,t,n){this._addEventHandler(e,t,n,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var n=this.manager;if(n){var i=n.get(e);if(i&&i.options.enable!==t){i.set({enable:t});var r=HR[e];r&&!this.options.recognizers&&r.forEach(function(r){var o=n.get(r);t?(o.requireFailure(e),i.dropRequireFailure(r)):o.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,n,i,r){if("string"==typeof e){var o=this.manager,a=this.events,s=KR[e]||e,u=a.get(s);u||(u=new mD(this),a.set(s,u),u.recognizerName=YR[s]||s,o&&o.on(s,u.handleEvent)),u.add(e,t,n,i,r),u.isEmpty()||this._toggleRecognizer(u.recognizerName,!0)}else for(var c in n=t,e)this._addEventHandler(c,e[c],n,i,r)}},{key:"_removeEventHandler",value:function(e,t){if("string"==typeof e){var n=this.events,i=n.get(KR[e]||e);if(i&&(i.remove(e,t),i.isEmpty())){var r,o=i.recognizerName,a=!1,s=_(n.values());try{for(s.s();!(r=s.n()).done;){var u=r.value;if(u.recognizerName===o&&!u.isEmpty()){a=!0;break}}}catch(l){s.e(l)}finally{s.f()}a||this._toggleRecognizer(o,!1)}}else for(var c in e)this._removeEventHandler(c,e[c])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,n=GR[t.type];n&&this.manager.emit(n,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}();function _D(){}var wD={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:_D,onResize:_D,onViewStateChange:_D,onInteractionStateChange:_D,onBeforeRender:_D,onAfterRender:_D,onLoad:_D,onError:function(e,t){return ik.error(e)()},_onMetrics:null,getCursor:function(e){return e.isDragging?"grabbing":"grab"},debug:!1,drawPickingColors:!1},kD=function(){function e(t){m(this,e),t=M(M({},wD),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&ik.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,OR.qs)()&&ik.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new nx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&nS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return b(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&ik.removed("onLayerHover","onHover")(),"onLayerClick"in e&&ik.removed("onLayerClick","onClick")(),e.initialViewState&&!gM(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n=this.viewManager.needsRedraw(e),i=this.layerManager.needsRedraw(e),r=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||n||i||r||o}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in e)this.layerManager.resourceManager.add({resourceId:n,data:e[n],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value;this.layerManager.resourceManager.remove(i)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_pick",value:function(e,t,n){var i=this.stats;i.get("Pick Count").incrementCount(),i.get(t).timeStart();var r=this.deckPicker[e](M({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(t).timeEnd(),r}},{key:"_createCanvas",value:function(e){var t=e.canvas;return"string"==typeof t&&WS(t=document.getElementById(t)),t||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,n=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,n=e.clientHeight||e.height;return(t!==this.width||n!==this.height)&&(this.width=t,this.height=n,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,n=e.width,i=e.height,r=e.gl,o=e.glOptions,a=e.debug,s=e.onError,u=e.onBeforeRender,c=e.onAfterRender,l=e.useDevicePixels,h=e.autoResizeDrawingBuffer;return new NR({width:n,height:i,useDevicePixels:l,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:function(e){return Zk(I(M(M({},o),e),{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:u,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new MI({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var n=e.offsetCenter;if(!n)return;t.x=n.x,t.y=n.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),n=t.result,i=t.emptyInfo;this.interactiveState.isHovering=n.length>0;var r,o=i,a=!1,s=_(n);try{for(s.s();!(r=s.n()).done;){var u=r.value;o=u,a=u.layer.onHover(u,e.event)}}catch(l){s.e(l)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Jk(e,{enable:!0,copyState:!0})),this.tooltip=new WI(this.canvas),Uk(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new _I;for(var n in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bD(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),ak)this.eventManager.on(n,this._onEvent);this.viewManager=new TI({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var i=this.viewManager.getViewports()[0];this.layerManager=new OI(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new RI,this.deckRenderer=new jI(e),this.deckPicker=new HI(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var n=this.layerManager.context.gl;Uk(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(M({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:n})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),ik.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=I(M({},this.viewState),o({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=ak[e.type],n=e.offsetCenter;if(t&&n){var i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),o=r.layer,a=o&&(o[t.handler]||o.props[t.handler]),s=this.props[t.handler],u=!1;a&&(u=a.call(o,r,e)),!u&&s&&s(r,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var n=rx.get("Memory Usage");e.bufferMemory=n.get("Buffer Memory").count,e.textureMemory=n.get("Texture Memory").count,e.renderbufferMemory=n.get("Renderbuffer Memory").count,e.gpuMemory=n.get("GPU Memory").count}}]),e}();kD.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(eI)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},kD.defaultProps=wD,kD.VERSION=MR.VERSION;var xD={name:"project32",dependencies:[uI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},SD={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},CD=M({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:SD,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var n=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=n}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var i=Array.from(e.pickingHighlightColor,function(e){return e/255});Number.isFinite(i[3])||(i[3]=1),t.picking_uHighlightColor=i}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}}),ED={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},OD=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?cx("geometry"):n,r=t.drawMode,o=void 0===r?ED.TRIANGLES:r,a=t.attributes,s=void 0===a?{}:a,u=t.indices,c=void 0===u?null:u,l=t.vertexCount,h=void 0===l?null:l;this.id=i,this.drawMode=0|o,this.attributes={},this.userData={},this._setAttributes(s,c),this.vertexCount=h||this._calculateVertexCount(this.attributes,this.indices)}return b(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?M({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(e){return"Geometry ".concat(this.id," attribute ").concat(e)}},{key:"_setAttributes",value:function(e,t){for(var n in t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t),e){var i=e[n];i=ArrayBuffer.isView(i)?{value:i}:i,ox(ArrayBuffer.isView(i.value),"".concat(this._print(n),": must be typed array or object with value as typed array")),("POSITION"===n||"positions"===n)&&!i.size&&(i.size=3),"indices"===n?(ox(!this.indices),this.indices=i):this.attributes[n]=i}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}},{key:"_calculateVertexCount",value:function(e,t){if(t)return t.value.length;var n=1/0;for(var i in e){var r=e[i],o=r.value,a=r.size;!r.constant&&o&&a>=1&&(n=Math.min(n,o.length/a))}return ox(Number.isFinite(n)),n}}],[{key:"DRAW_MODE",get:function(){return ED}}]),e}(),TD=function(){},PD={10241:9987,10240:9729,10242:33071,10243:33071};function AD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function MD(e){return e&&(e.id||e.url)}function ID(e,t,n){for(var i=0;i0){var n=function(e){for(var t=e.icons,n=e.buffer,i=e.mapping,r=void 0===i?{}:i,o=e.xOffset,a=void 0===o?0:o,s=e.yOffset,u=void 0===s?0:s,c=e.rowHeight,l=void 0===c?0:c,h=e.canvasWidth,d=[],f=0;fh&&(ID(r,d,u),a=0,u=l+u+n,l=0,d=[]),d.push({icon:p,xOffset:a}),a=a+g+n,l=Math.max(l,v)}}return d.length>0&&ID(r,d,u),{mapping:r,rowHeight:l,xOffset:a,yOffset:u,canvasWidth:h,canvasHeight:AD(l+u+n)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),i=n.mapping,r=n.xOffset,o=n.yOffset,a=n.rowHeight,s=n.canvasHeight;this._rowHeight=a,this._mapping=i,this._xOffset=r,this._yOffset=o,this._canvasHeight=s,this._texture||(this._texture=new Rx(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:PD})),this._texture.height!==this._canvasHeight&&(this._texture=function(e,t,n,i){var r=t.width,o=t.height,a=Gx(t,{width:n,height:i});return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.sourceX,r=void 0===i?0:i,o=n.sourceY,a=void 0===o?0:o,s=n.targetMipmaplevel,u=void 0===s?0:s,c=n.targetInternalFormat,l=void 0===c?6408:c,h=n.targetX,d=n.targetY,f=n.targetZ,p=n.width,v=n.height,g=Yx(e),m=g.framebuffer,y=g.deleteFramebuffer;ox(m);var b=m.gl,_=m.handle,w=void 0!==h||void 0!==d||void 0!==f;h=h||0,d=d||0,f=f||0;var k=b.bindFramebuffer(36160,_);ox(t);var x=null;if(t instanceof Mx&&(x=t,p=Number.isFinite(p)?p:x.width,v=Number.isFinite(v)?v:x.height,x.bind(0),t=x.target),w)switch(t){case 3553:case 34067:b.copyTexSubImage2D(t,u,h,d,r,a,p,v);break;case 35866:case 32879:dk(b).copyTexSubImage3D(t,u,h,d,f,r,a,p,v)}else b.copyTexImage2D(t,u,l,r,a,p,v,0);x&&x.unbind(),b.bindFramebuffer(36160,k||null),y&&m.delete()}(t,a,{targetY:0,width:r,height:o}),t.delete(),a}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}},{key:"_loadIcons",value:function(e){var t,n=this,i=this._canvas.getContext("2d"),r=_(e);try{var o=function(){var e=t.value;n._pendingCount++,rM(e.url,ER,n._loadOptions).then(function(t){var r=MD(e),o=n._mapping[r],a=o.x,s=o.y,u=o.width,c=o.height,l=function(e,t,n,i){return n===t.width&&i===t.height?t:(e.canvas.height=i,e.canvas.width=n,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,n,i),e.canvas)}(i,t,u,c);n._texture.setSubImageData({data:l,x:a,y:s,width:u,height:c}),n._texture.generateMipmap(),n.onUpdate()}).catch(function(t){n.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:n._loadOptions,error:t})}).finally(function(){n._pendingCount--})};for(r.s();!(t=r.n()).done;)o()}catch(a){r.e(a)}finally{r.f()}}}]),e}(),DD=[0,0,0,255],ND={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:function(e){return e.position}},getIcon:{type:"accessor",value:function(e){return e.icon}},getColor:{type:"accessor",value:DD},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}},LD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.state={iconManager:new RD(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:DD},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}},{key:"updateState",value:function(t){var n=t.oldProps,r=t.props,o=t.changeFlags;e(p(i.prototype),"updateState",this).call(this,{props:r,oldProps:n,changeFlags:o});var a=this.getAttributeManager(),s=r.iconAtlas,u=r.iconMapping,c=r.data,l=r.getIcon,h=this.state.iconManager;h.setProps({loadOptions:r.loadOptions});var d=!1;if(s||this.internalState.isAsyncPropLoading("iconAtlas")?(n.iconAtlas!==r.iconAtlas&&h.setProps({iconAtlas:s,autoPacking:!1}),n.iconMapping!==r.iconMapping&&(h.setProps({iconMapping:u}),d=!0)):h.setProps({autoPacking:!0}),(o.dataChanged||o.updateTriggersChanged&&(o.updateTriggersChanged.all||o.updateTriggersChanged.getIcon))&&h.setProps({data:c,getIcon:l}),d&&(a.invalidate("instanceOffsets"),a.invalidate("instanceIconFrames"),a.invalidate("instanceColorModes")),o.extensionsChanged){var f,v=this.context.gl;null===(f=this.state.model)||void 0===f||f.delete(),this.state.model=this._getModel(v),a.invalidateAll()}}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.state.iconManager.isLoaded}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.iconManager.finalize()}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,i=n.sizeScale,r=n.sizeMinPixels,o=n.sizeMaxPixels,a=n.sizeUnits,s=n.billboard,u=n.alphaCutoff,c=this.state.iconManager,l=this.context.viewport,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===a?l.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:o,billboard:s,alphaCutoff:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}},{key:"_onUpdate",value:function(){this.setNeedsRedraw()}},{key:"_onError",value:function(e){var t=this.getCurrentLayer().props.onIconError;t?t(e):ik.error(e.error)()}},{key:"getInstanceOffset",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.width/2-t.anchorX||0,t.height/2-t.anchorY||0]}},{key:"getInstanceColorMode",value:function(e){return this.state.iconManager.getIconMapping(e).mask?1:0}},{key:"getInstanceIconFrame",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.x||0,t.y||0,t.width||0,t.height||0]}}]),i}(hM);return t.layerName="IconLayer",t.defaultProps=ND,t}(),jD=[],FD={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}},BD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return I(M({},e(p(i.prototype),"getShaders",this).call(this)),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var t=this;e(p(i.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(e,n){var i=n.index,r=n.target;return t.encodePickingColor(i,r)}}})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps,o=n.outlineColor;o!==r.outlineColor&&((o=o.map(function(e){return e/255}))[3]=Number.isFinite(o[3])?o[3]:1,this.setState({outlineColor:o})),!n.sdf&&n.outlineWidth&&ik.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(t){var n=this.props,r=n.sdf,o=n.smoothing,a=n.outlineWidth,s=this.state.outlineColor;t.uniforms=I(M({},t.uniforms),{buffer:.75,outlineBuffer:a?Math.max(o,.75*(1-a)):-1,gamma:o,sdf:Boolean(r),outlineColor:s}),e(p(i.prototype),"draw",this).call(this,t)}},{key:"getInstanceOffset",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceOffset",n).call(n,t)}):jD}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceIconFrame",n).call(n,t)}):jD}}]),i}(LD);return t.layerName="MultiIconLayer",t.defaultProps=FD,t}(),VD=r(51002),zD=r.n(VD),UD=[];function HD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function GD(e,t,n,i){for(var r=0,o=t;oi&&(a4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;void 0===o&&(o=e.length);var a=[];return"break-all"===t?WD(e,r,o,n,i,a):function(e,t,n,i,r,o){for(var a=t,s=t,u=t,c=0,l=t;ls){var h=GD(e,s,u,r);c+h>i&&(ai&&(h=WD(e,s,u,i,r,o),a=o[o.length-1])),s=u,c+=h}}(e,r,o,n,i,a),a}function XD(e,t,n,i,r,o){for(var a=0,s=0,u=t;u0,l=[0,0],h=[],d=0,f=0,p=0,v=0;v<=o;v++){var g=e[v];if(("\n"===g||v===o)&&(p=v),p>f){for(var m=c?qD(e,n,i,r,f,p):UD,y=0;y<=m.length;y++){var b=0===y?f:m[y-1],_=y0&&void 0!==arguments[0]?arguments[0]:5;m(this,e),this.limit=t,this.clear()}return b(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex(function(t){return t===e});t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}())(3),ZD=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function JD(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};ZD.forEach(function(n){n in t&&(e.props[n]=t[n])});var n=this._key;this._key=this._getKey();var i=function(e,t){var n=QD.get(e);if(!n)return t;var i=[],r=Object.keys(n.mapping);r=new Set(r);var o=t;return o instanceof Array&&(o=new Set(o)),o.forEach(function(e){r.has(e)||i.push(e)}),i}(this._key,this.props.characterSet),r=QD.get(this._key);if(r&&0===i.length)this._key!==n&&(this._atlas=r);else{var o=this._generateFontAtlas(this._key,i,r);this._atlas=o,QD.set(this._key,o)}}},{key:"_generateFontAtlas",value:function(e,t,n){var i=this.props,r=i.fontFamily,o=i.fontWeight,a=i.fontSize,s=i.buffer,u=i.sdf,c=i.radius,l=i.cutoff,h=n&&n.data;h||((h=document.createElement("canvas")).width=1024);var d=h.getContext("2d");eN(d,r,a,o);var f=function(e){var t,n=e.characterSet,i=e.getFontWidth,r=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,u=void 0===s?{}:s,c=e.xOffset,l=void 0===c?0:c,h=e.yOffset,d=void 0===h?0:h,f=0,p=l,v=0,g=_(n);try{for(g.s();!(t=g.n()).done;){var m=t.value;if(!u[m]){var y=i(m,v++);p+y+2*o>a&&(p=0,f++),u[m]={x:p+o,y:d+f*(r+2*o)+o,width:y,height:r},p+=y+2*o}}}catch(w){g.e(w)}finally{g.f()}var b=r+2*o;return{mapping:u,xOffset:p,yOffset:d+f*b,canvasHeight:HD(d+(f+1)*b)}}(M({getFontWidth:function(e){return d.measureText(e).width},fontHeight:1.2*a,buffer:s,characterSet:t,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset})),p=f.mapping,v=f.canvasHeight,g=f.xOffset,m=f.yOffset;if(h.height!==v){var y=d.getImageData(0,0,h.width,h.height);h.height=v,d.putImageData(y,0,0)}if(eN(d,r,a,o),u){var b,w=new(zD())(a,s,c,l,r,o),k=d.getImageData(0,0,w.size,w.size),x=_(t);try{for(x.s();!(b=x.n()).done;){var S=b.value;JD(w.draw(S),k),d.putImageData(k,p[S].x-s,p[S].y+s)}}catch(T){x.e(T)}finally{x.f()}}else{var C,E=_(t);try{for(E.s();!(C=E.n()).done;){var O=C.value;d.fillText(O,p[O].x,p[O].y+.9*a)}}catch(T){E.e(T)}finally{E.f()}}return{xOffset:g,yOffset:m,mapping:p,data:h,width:h.width,height:h.height}}},{key:"_getKey",value:function(){var e=this.props,t=e.fontFamily,n=e.fontWeight,i=e.fontSize,r=e.buffer,o=e.sdf,a=e.radius,s=e.cutoff;return o?"".concat(t," ").concat(n," ").concat(i," ").concat(r," ").concat(a," ").concat(s):"".concat(t," ").concat(n," ").concat(i," ").concat(r)}}]),e}(),nN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:function(e){return e.position}},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}},iN=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),o.extensionsChanged){var a,s=this.context.gl;null===(a=this.state.model)||void 0===a||a.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.context.viewport,i=this.props,r=i.billboard,o=i.sizeScale,a=i.sizeUnits,s=i.sizeMinPixels,u=i.sizeMaxPixels,c=i.getLineWidth,l=this.props.padding,h="pixels"===a?n.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:l,sizeScale:o*h,sizeMinPixels:s,sizeMaxPixels:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}]),i}(hM);return t.layerName="TextBackgroundLayer",t.defaultProps=nN,t}(),rN={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},oN={start:1,middle:0,end:-1},aN={top:1,center:0,bottom:-1},sN=[0,0,0,255],uN=["fontSize","buffer","sdf","radius","cutoff"],cN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:sN},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:KD},fontFamily:$D,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:sN},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:function(e){return e.text}},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:sN},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}},lN=function(){var e=function(e){a(i,e);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"initializeState",value:function(){this.state={styleVersion:0,fontAtlasManager:new tN}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,i=e.changeFlags,r=this.state.characterSet;(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getText))&&this._updateText();var o=r!==this.state.characterSet||this._fontChanged(n,t);o&&this._updateFontAtlas(n,t),(o||t.lineHeight!==n.lineHeight||t.wordBreak!==n.wordBreak||t.maxWidth!==n.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}},{key:"getPickingInfo",value:function(e){var t=e.info;return t.object=t.index>=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var n=t.fontSettings,i=t.fontFamily,r=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(I(M(M({},rN),n),{characterSet:s,fontFamily:i,fontWeight:r}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var n=e.fontSettings||{},i=t.fontSettings||{};return uN.some(function(e){return n[e]!==i[e]})}},{key:"_updateText",value:function(){var e,t=this.props,n=t.data,i=t.characterSet,r=n.attributes&&n.attributes.getText,o=this.props.getText,a=n.startIndices,s="auto"===i&&new Set;if(r&&a){var u=function(e){var t=e.value,n=e.length,i=e.stride,r=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,u=i?i/s:1,c=r?r/s:0,l=o[n]||Math.ceil((t.length-c)/u),h=a&&new Set,d=new Array(n),f=t;if(u>1||c>0){f=new t.constructor(l);for(var p=0;p0&&void 0!==arguments[0]?arguments[0]:{},t=e.color,n=void 0===t?[0,0,0]:t,i=e.intensity,r=void 0===i?1:i;return n.map(function(e){return e*r/255})}var pN={name:"lights",vs:hN,fs:hN,getUniforms:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dN;if("lightSources"in t){var n=t.lightSources||{},i=n.ambientLight,r=n.pointLights,o=n.directionalLights;return i||r&&r.length>0||o&&o.length>0?Object.assign({},function(e){var t=e.ambientLight,n=e.pointLights,i=void 0===n?[]:n,r=e.directionalLights,o=void 0===r?[]:r,a={};return a["lighting_uAmbientLight.color"]=t?fN(t):[0,0,0],i.forEach(function(e,t){a["lighting_uPointLight[".concat(t,"].color")]=fN(e),a["lighting_uPointLight[".concat(t,"].position")]=e.position,a["lighting_uPointLight[".concat(t,"].attenuation")]=e.attenuation||[1,0,0]}),a.lighting_uPointLightCount=i.length,o.forEach(function(e,t){a["lighting_uDirectionalLight[".concat(t,"].color")]=fN(e),a["lighting_uDirectionalLight[".concat(t,"].direction")]=e.direction}),a.lighting_uDirectionalLightCount=o.length,a}({ambientLight:i,pointLights:r,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in t){var a,s={pointLights:[],directionalLights:[]},u=_(t.lights||[]);try{for(u.s();!(a=u.n()).done;){var c=a.value;switch(c.type){case"ambient":s.ambientLight=c;break;case"directional":s.directionalLights.push(c);break;case"point":s.pointLights.push(c)}}}catch(l){u.e(l)}finally{u.f()}return e({lightSources:s})}return{}},defines:{MAX_LIGHTS:3}},vN={},gN={name:"phong-lighting",dependencies:[pN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:vN;if(!("material"in e))return{};var t=e.material;return t?function(e){var t=e.ambient,n=void 0===t?.35:t,i=e.diffuse,r=void 0===i?.6:i,o=e.shininess,a=void 0===o?32:o,s=e.specularColor;return{lighting_uAmbient:n,lighting_uDiffuse:r,lighting_uShininess:a,lighting_uSpecularColor:(void 0===s?[30,30,30]:s).map(function(e){return e/255})}}(t):{lighting_uEnabled:!1}}},mN=Math.PI/180,yN=new Float32Array(16),bN=new Float32Array(12);function _N(e,t,n){var i=t[0]*mN,r=t[1]*mN,o=t[2]*mN,a=Math.sin(o),s=Math.sin(i),u=Math.sin(r),c=Math.cos(o),l=Math.cos(i),h=Math.cos(r),d=n[0],f=n[1],p=n[2];e[0]=d*h*l,e[1]=d*u*l,e[2]=d*-s,e[3]=f*(-u*c+h*s*a),e[4]=f*(h*c+u*s*a),e[5]=f*l*a,e[6]=p*(u*a+h*s*c),e[7]=p*(-h*a+u*s*c),e[8]=p*l*c}function wN(e){return e[0]=e[0],e[1]=e[1],e[2]=e[2],e[3]=e[4],e[4]=e[5],e[5]=e[6],e[6]=e[8],e[7]=e[9],e[8]=e[10],e[9]=e[12],e[10]=e[13],e[11]=e[14],e.subarray(0,12)}var kN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update:function(e,t){var n=t.startRow,i=t.endRow,r=this.props,o=r.data,a=r.getOrientation,s=r.getScale,u=r.getTranslation,c=r.getTransformMatrix,l=Array.isArray(c),h=l&&16===c.length,d=Array.isArray(s),f=Array.isArray(a),p=Array.isArray(u),v=h||!l&&Boolean(c(o[0]));e.constant=v?h:f&&d&&p;var g=e.value;if(e.constant){var m;v?(yN.set(c),m=wN(yN)):(_N(m=bN,a,s),m.set(u,9)),e.value=new Float32Array(m)}else{var y,b=n*e.size,w=YS(o,n,i),k=w.iterable,x=w.objectInfo,S=_(k);try{for(S.s();!(y=S.n()).done;){var C=y.value,E=void 0;x.index++,v?(yN.set(h?c:c(C,x)),E=wN(yN)):(_N(E=bN,f?a:a(C,x),d?s:s(C,x)),E.set(p?u:u(C,x),9)),g[b++]=E[0],g[b++]=E[1],g[b++]=E[2],g[b++]=E[3],g[b++]=E[4],g[b++]=E[5],g[b++]=E[6],g[b++]=E[7],g[b++]=E[8],g[b++]=E[9],g[b++]=E[10],g[b++]=E[11]}}catch(O){S.e(O)}finally{S.f()}}}};function xN(e,t){return t===rk.CARTESIAN||t===rk.METER_OFFSETS||t===rk.DEFAULT&&!e.isGeospatial}function SN(e,t){(e.COLOR_0||e.colors)&&t||(e.colors={constant:!0,value:new Float32Array([1,1,1])}),ik.assert(e.positions||e.POSITION,'no "postions" or "POSITION" attribute in mesh')}function CN(e,t){if(e.attributes)return SN(e.attributes,t),e instanceof OD?e:new OD(e);if(e.positions||e.POSITION)return SN(e,t),new OD({attributes:e});throw Error("Invalid mesh")}var EN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}},ON=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var t=!lk(this.context.gl),n={};return Zx(this.context.gl,"GLSL_DERIVATIVES")&&(n.DERIVATIVES_AVAILABLE=1),e(p(i.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[xD,gN,CD],transpileToGLSL100:t,defines:n})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:kN}),this.setState({emptyTexture:new Rx(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),n.mesh!==r.mesh||o.extensionsChanged){var a;if(null===(a=this.state.model)||void 0===a||a.delete(),n.mesh){this.state.model=this.getModel(n.mesh);var s=n.mesh.attributes||n.mesh;this.setState({hasNormals:Boolean(s.NORMAL||s.normals)})}this.getAttributeManager().invalidateAll()}n.texture!==r.texture&&this.setTexture(n.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.emptyTexture.delete()}},{key:"draw",value:function(e){var t=e.uniforms;if(this.state.model){var n=this.context.viewport,i=this.props,r=i.sizeScale,o=i.coordinateSystem,a=i._instanced;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!a||xN(n,o),flatShading:!this.state.hasNormals}).draw()}}},{key:"getModel",value:function(e){var t=new nO(this.context.gl,I(M({},this.getShaders()),{id:this.props.id,geometry:CN(e,this.props._useMeshColors),isInstanced:!0})),n=this.props.texture,i=this.state.emptyTexture;return t.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),t}},{key:"setTexture",value:function(e){var t=this.state,n=t.emptyTexture,i=t.model;null==i||i.setUniforms({sampler:e||n,hasTexture:Boolean(e)})}}]),i}(hM);return t.layerName="SimpleMeshLayer",t.defaultProps=EN,t}(),TN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[pN]},PN=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id;this.id=n||cx(this.constructor.name),this.display=!0,this.position=new FS,this.rotation=new FS,this.scale=new FS(1,1,1),this.matrix=new $O,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return b(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return ox(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return ox(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return ox(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,n=e.rotation,i=e.scale,r=e.update,o=void 0===r||r;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),o&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(n),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,n=e.rotation,i=e.scale;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){ox(e),t=t||this.matrix;var n=new $O(e).multiplyRight(t),i=n.invert(),r=i.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),AN=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t=Array.isArray(t)?{children:t}:t,o=r.children,a=void 0===o?[]:o;return sk.assert(a.every(function(e){return e instanceof PN}),"every child must an instance of ScenegraphNode"),(e=n.call(this,t)).children=a,e}return b(i,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n-1&&t.splice(n,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach(function(e){return e.delete()}),this.removeAll(),e(p(i.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.worldMatrix,o=void 0===r?new $O:r,a=new $O(o).multiplyRight(this.matrix),s=_(this.children);try{for(s.s();!(t=s.n()).done;){var u=t.value;u instanceof i?u.traverse(e,{worldMatrix:a}):e(u,{worldMatrix:a})}}catch(c){s.e(c)}finally{s.f()}}}]),i}(PN);function MN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=n[0],f=n[1],p=n[2],v=n[3],g=n[4],m=n[5],y=n[6],b=n[7],_=n[8];return e[0]=d*i+f*a+p*c,e[1]=d*r+f*s+p*l,e[2]=d*o+f*u+p*h,e[3]=v*i+g*a+m*c,e[4]=v*r+g*s+m*l,e[5]=v*o+g*u+m*h,e[6]=y*i+b*a+_*c,e[7]=y*r+b*s+_*l,e[8]=y*o+b*u+_*h,e}function IN(e,t,n){var i=n[0],r=n[1];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=r*t[3],e[4]=r*t[4],e[5]=r*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function RN(){var e=new kS(4);return kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function DN(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function NN(e,t,n){n*=.5;var i=Math.sin(n);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(n),e}function LN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=n[0],u=n[1],c=n[2],l=n[3];return e[0]=i*l+a*s+r*c-o*u,e[1]=r*l+a*u+o*s-i*c,e[2]=o*l+a*c+i*u-r*s,e[3]=a*l-i*s-r*u-o*c,e}function jN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+a*s,e[1]=r*u+o*s,e[2]=o*u-r*s,e[3]=a*u-i*s,e}function FN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u-o*s,e[1]=r*u+a*s,e[2]=o*u+i*s,e[3]=a*u-r*s,e}function BN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+r*s,e[1]=r*u-i*s,e[2]=o*u+a*s,e[3]=a*u-o*s,e}function VN(e,t){var n=t[0],i=t[1],r=t[2];return e[0]=n,e[1]=i,e[2]=r,e[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),e}function zN(e,t,n,i){var r,o,a,s,u,c=t[0],l=t[1],h=t[2],d=t[3],f=n[0],p=n[1],v=n[2],g=n[3];return(o=c*f+l*p+h*v+d*g)<0&&(o=-o,f=-f,p=-p,v=-v,g=-g),1-o>wS?(r=Math.acos(o),a=Math.sin(r),s=Math.sin((1-i)*r)/a,u=Math.sin(i*r)/a):(s=1-i,u=i),e[0]=s*c+u*f,e[1]=s*l+u*p,e[2]=s*h+u*v,e[3]=s*d+u*g,e}function UN(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o,s=a?1/a:0;return e[0]=-n*s,e[1]=-i*s,e[2]=-r*s,e[3]=o*s,e}function HN(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function GN(e,t){var n,i=t[0]+t[4]+t[8];if(i>0)n=Math.sqrt(i+1),e[3]=.5*n,e[0]=(t[5]-t[7])*(n=.5/n),e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{var r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);var o=(r+1)%3,a=(r+2)%3;n=Math.sqrt(t[3*r+r]-t[3*o+o]-t[3*a+a]+1),e[r]=.5*n,e[3]=(t[3*o+a]-t[3*a+o])*(n=.5/n),e[o]=(t[3*o+r]+t[3*r+o])*n,e[a]=(t[3*a+r]+t[3*r+a])*n}return e}var WN=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e},qN=IO,XN=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},YN=function(e,t,n,i){var r=t[0],o=t[1],a=t[2],s=t[3];return e[0]=r+i*(n[0]-r),e[1]=o+i*(n[1]-o),e[2]=a+i*(n[2]-a),e[3]=s+i*(n[3]-s),e},KN=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},$N=function(e){var t=e[0],n=e[1],i=e[2],r=e[3];return t*t+n*n+i*i+r*r},QN=function(){var e=xS(),t=SS(1,0,0),n=SS(0,1,0);return function(i,r,o){var a=CS(r,o);return a<-.999999?(ES(e,t,r),function(e){return Math.hypot(e[0],e[1],e[2])}(e)<1e-6&&ES(e,n,r),function(e,t){var n=t[0],i=t[1],r=t[2],o=n*n+i*i+r*r;o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o}(e,e),NN(i,e,Math.PI),i):a>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(ES(e,r,o),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+a,function(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=n*a,e[1]=i*a,e[2]=r*a,e[3]=o*a,e}(i,i))}}();RN(),RN(),function(){var e=new kS(9);kS!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1}();var ZN=[0,0,0,1],JN=function(e){a(i,e);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=gS(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return pS(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return pS(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?ZN:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),mS(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(vS),eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tL={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function nL(e){if(!e._animation){var t=tL[e.componentType],n=eL[e.type],i=n*e.count,r=e.bufferView.data,o=new t(r.buffer,r.byteOffset+(e.byteOffset||0),i);if(1===n)e._animation=Array.from(o);else{for(var a=[],s=0;s=s}),c=Math.max(0,u-1);if(!Array.isArray(n[i]))switch(i){case"translation":n[i]=[0,0,0];break;case"rotation":n[i]=[0,0,0,1];break;case"scale":n[i]=[1,1,1];break;default:sk.warn("Bad animation path ".concat(i))()}ox(n[i].length===a[c].length);var l=r[c],h=r[u];switch(o){case"STEP":!function(e,t,n){for(var i=0;il&&function(e,t,n,i,r){if("rotation"===t){rL.slerp({start:n,target:i,ratio:r});for(var o=0;ol&&function(e,t,n){for(var i=n.p0,r=n.outTangent0,o=n.inTangent1,a=n.p1,s=n.tDiff,u=n.ratio,c=0;c1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,r)).onBeforeRender=null,t.AfterRender=null,e instanceof nO?(t.model=e,t._setModelNodeProps(r)):t.model=new nO(e,r),t.managedResources=r.managedResources||[],t}return b(i,[{key:"setProps",value:function(t){return e(p(i.prototype),"setProps",this).call(this,t),this._setModelNodeProps(t),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(function(e){return e.delete()}),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),i}(PN),uL=function(){function e(t,n){var i=n.attributes,r=n.material,o=n.pbrDebug,a=n.imageBasedLightingEnvironment,s=n.lights,u=n.useTangents;m(this,e),this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},Zx(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],a&&(this.uniforms.u_DiffuseEnvSampler=a.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=a.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=a.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),o&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(i.NORMAL,"HAS_NORMALS"),this.defineIfPresent(i.TANGENT&&u,"HAS_TANGENTS"),this.defineIfPresent(i.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(a,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(o,"PBR_DEBUG"),r&&this.parseMaterial(r)}return b(e,[{key:"defineIfPresent",value:function(e,t){e&&(this.defines[t]=1)}},{key:"parseTexture",value:function(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.texture.source.image,a={};r.compressed?(n=r,a=o({},this.gl.TEXTURE_MIN_FILTER,r.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):n={data:r};var s=new Rx(this.gl,M({id:e.name||e.id,parameters:M(M({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:o({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},n));this.uniforms[t]=s,this.defineIfPresent(i,i),this.generatedTextures.push(s)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,n=void 0===t?1:t,i=e.roughnessFactor,r=void 0===i?1:i;this.uniforms.u_MetallicRoughnessValues=[n,r]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,n=void 0===t?1:t;this.uniforms.u_NormalScale=n}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var i=e.occlusionTexture.strength,r=void 0===i?1:i;this.uniforms.u_OcclusionStrength=r}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var o=e.alphaCutoff,a=void 0===o?.5:o;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=a}else"BLEND"===e.alphaMode&&(sk.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}();function cL(e,t){return lk(e)?"#version 300 es\n".concat(t):t}var lL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},dL=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.options=Object.assign({},hL,n)}return b(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map(function(e){return t.createScene(e)})}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new aL(this.gltf):null}},{key:"createScene",value:function(e){var t=this,n=(e.nodes||[]).map(function(e){return t.createNode(e)});return new AN({id:e.name||e.id,children:n})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var n=(e.children||[]).map(function(e){return t.createNode(e)});e.mesh&&n.push(this.createMesh(e.mesh));var i=new AN({id:e.name||e.id,children:n});if(e.matrix)i.setMatrix(e.matrix);else{if(i.matrix.identity(),e.translation&&i.matrix.translate(e.translation),e.rotation){var r=(new $O).fromQuaternion(e.rotation);i.matrix.multiplyRight(r)}e.scale&&i.matrix.scale(e.scale)}e._node=i}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var n=(e.primitives||[]).map(function(n,i){return t.createPrimitive(n,i,e)}),i=new AN({id:e.name||e.id,children:n});e._mesh=i}return e._mesh}},{key:"getVertexCount",value:function(e){sk.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,n){return function(e,t){var n=t.id,i=t.drawMode,r=t.vertexCount,o=t.attributes,a=t.modelOptions,s=new uL(e,t);sk.info(4,"createGLTFModel defines: ",s.defines)();var u=[];u.push.apply(u,v(s.generatedTextures)),u.push.apply(u,v(Object.values(o).map(function(e){return e.buffer})));var c=new sL(e,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[TN],defines:s.defines,parameters:s.parameters,vs:cL(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:cL(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:u},a));return c.setProps({attributes:o}),c.setUniforms(s.uniforms),c}(this.gl,Object.assign({id:e.name||"".concat(n.name||n.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var n=this,i={};return Object.keys(e).forEach(function(t){i[t]=n.createAccessor(e[t],n.createBuffer(e[t],n.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),sk.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var n=e.bufferView;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[t]||(n.lumaBuffers[t]=new Cx(this.gl,{id:"from-".concat(n.id),data:n.data||e.value,target:t})),n.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new wx({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:lL[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();function fL(e,t,n){if(e.byteLength<=t+n)return"";for(var i=new DataView(e),r="",o=0;o")}}]),i}(wL,Symbol.toStringTag),RL=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;m(this,e),FP(this,"name",void 0),FP(this,"type",void 0),FP(this,"nullable",void 0),FP(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=i,this.metadata=r}return b(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();function DL(e,t,n){var i=n?NL(n.metadata):void 0,r=function(e){switch(e.constructor){case Int8Array:return new xL;case Uint8Array:return new EL;case Int16Array:return new SL;case Uint16Array:return new OL;case Int32Array:return new CL;case Uint32Array:return new TL;case Float32Array:return new AL;case Float64Array:return new ML;default:throw new Error("array type not supported")}}(t.value);return new RL(e,new IL(t.size,new RL("value",r)),!1,i)}function NL(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var LL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},jL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},FL=function(){function e(t){m(this,e),FP(this,"draco",void 0),FP(this,"decoder",void 0),FP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return b(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!r.ptr){var a="DRACO decompression failed: ".concat(o.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(r,i,t),u=this._getMeshData(r,s,t),c=function(e){for(var t=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length,c=0;cr?l:r,o=h>o?h:o,a=d>a?d:a}return[[t,n,i],[r,o,a]]}(u.attributes),l=function(e,t,n){var i=NL(t.metadata),r=[],o=function(e){var t={};for(var n in e){var i=e[n];t[i.name||"undefined"]=i}return t}(t.attributes);for(var a in e){var s=DL(a,e[a],o[a]);r.push(s)}if(n){var u=DL("indices",n);r.push(u)}return new bL(r,i)}(u.attributes,s,u.indices);return I(M({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:c}},u),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var i=this._getTopLevelMetadata(e),r=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:r}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},i=0;i1&&void 0!==r[1]?r[1]:null,i=r.length>2&&void 0!==r[2]?r[2]:{},n&&(t=HL(t,n,i)),VL[t]=VL[t]||GL(t),e.next=6,VL[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function HL(e,t,n){if(e.startsWith("http"))return e;var i=n.modules||{};return i[e]?i[e]:eA?n.CDN?($P(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@3.0.12/dist/libs/").concat(e)):tA?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function GL(e){return WL.apply(this,arguments)}function WL(){return(WL=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=8;break}return e.next=3,fetch(t);case 3:return e.next=5,e.sent.arrayBuffer();case 5:e.t0=e.sent,e.next=31;break;case 8:if(!eA){e.next=24;break}if(!tA){e.next=13;break}e.t2=importScripts(t),e.next=21;break;case 13:return e.t3=qL,e.next=16,fetch(t);case 16:return e.next=18,e.sent.text();case 18:e.t4=e.sent,e.t5=t,e.t2=(0,e.t3)(e.t4,e.t5);case 21:e.t1=e.t2,e.next=30;break;case 24:if(e.t6=BL.requireFromFile,!e.t6){e.next=29;break}return e.next=28,BL.requireFromFile(t);case 28:e.t6=e.sent;case 29:e.t1=e.t6;case 30:e.t0=e.t1;case 31:return e.abrupt("return",e.t0);case 32:case"end":return e.stop()}},e)}))).apply(this,arguments)}function qL(e,t){if(!eA)return BL.requireFromString&&BL.requireFromString(e,t);if(tA)return eval.call(JP,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(i){n.text=e}return document.body.appendChild(n),null}var XL,YL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",KL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",$L="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";function QL(e){return ZL.apply(this,arguments)}function ZL(){return(ZL=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.modules||{},XL=n.draco3d?XL||n.draco3d.createDecoderModule({}).then(function(e){return{draco:e}}):XL||JL(t),e.next=4,XL;case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function JL(e){return ej.apply(this,arguments)}function ej(){return(ej=Vx(regeneratorRuntime.mark(function e(n){var i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=n.draco&&n.draco.decoderType,e.next="js"===e.t0?3:(e.t0,7);break;case 3:return e.next=5,zL(YL,"draco",n);case 5:return i=e.sent,e.abrupt("break",21);case 7:return e.t1=Promise,e.next=10,zL(KL,"draco",n);case 10:return e.t2=e.sent,e.next=13,zL($L,"draco",n);case 13:return e.t3=e.sent,e.t4=[e.t2,e.t3],e.next=17,e.t1.all.call(e.t1,e.t4);case 17:o=e.sent,a=t(o,2),i=a[0],r=a[1];case 21:return i=i||globalThis.DracoDecoderModule,e.next=24,tj(i,r);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}},e)}))).apply(this,arguments)}function tj(e,t){var n={};return t&&(n.wasmBinary=t),new Promise(function(t){e(I(M({},n),{onModuleLoaded:function(e){return t({draco:e})}}))})}var nj=I(M({},yL),{parse:function(e,t){return ij.apply(this,arguments)}});function ij(){return(ij=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,QL(n);case 2:return i=e.sent,r=i.draco,o=new FL(r),e.prev=5,e.abrupt("return",o.parseSync(t,null==n?void 0:n.draco));case 7:return e.prev=7,o.destroy(),e.finish(7);case 10:case"end":return e.stop()}},e,null,[[5,,7,10]])}))).apply(this,arguments)}function rj(e,t){return lP(e>=0),lP(t>0),e+(t-1)&~(t-1)}function oj(e,t,n){var i;return i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer||e.arrayBuffer,e.byteOffset,e.byteLength),t.set(i,n),n+rj(i.byteLength,4)}var aj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],uj=new Map(sj),cj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},hj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function dj(e){return aj[e-1]||aj[0]}function fj(e){var t=uj.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function pj(e,t){var n=hj[e.componentType],i=cj[e.type],r=e.count*i,o=e.count*i*lj[e.componentType];return pL(o>=0&&o<=t.byteLength),{ArrayType:n,length:r,byteLength:o}}var vj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},gj=function(){function e(t){m(this,e),FP(this,"gltf",void 0),FP(this,"sourceBuffers",void 0),FP(this,"byteLength",void 0),this.gltf=t||{json:M({},vj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return b(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){return this.getUsedExtensions().find(function(t){return t===e})?(this.json.extensions||{})[e]||!0:null}},{key:"getRequiredExtension",value:function(e){return this.getRequiredExtensions().find(function(t){return t===e})?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){e=this.getBufferView(e);var t=this.gltf.buffers[e.buffer];return pL(t),new Uint8Array(t.arrayBuffer,(e.byteOffset||0)+t.byteOffset,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,i=pj(e,t),r=i.ArrayType,o=i.length;return new r(n,t.byteOffset+e.byteOffset,o)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data;return new Uint8Array(n,t.byteOffset||0,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},i=n[t];return delete n[t],i}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(function(t){return t===e})||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(function(t){return t===e})||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,i=e.material,r=e.mode,o=void 0===r?4:r,a={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){var s=this._addIndices(n);a.primitives[0].indices=s}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=wR(e),i=t||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;pL(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rj(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:dj(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,t.size));var r={size:t.size,componentType:fj(e),count:Math.round(e.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,i=this.byteLength,r=new ArrayBuffer(i),o=new Uint8Array(r),a=0,s=_(this.sourceBuffers||[]);try{for(s.s();!(n=s.n()).done;){a=oj(n.value,o,a)}}catch(u){s.e(u)}finally{s.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var i=e.indexOf(t);i>-1?e.splice(i,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var i=e[n],r=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);t[r]=o}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length2&&void 0!==arguments[2]&&arguments[2];return e?Array.isArray(e)?new t(e):!n||e instanceof t?e:new t(e):null}(t,Float32Array)),i=t.length/n),{buffer:t,size:n,count:i}}(e),n=t.buffer,i=t.size;return{value:n,size:i,byteOffset:0,count:t.count,type:dj(i),componentType:fj(n)}}function Sj(e,t,n){return Cj.apply(this,arguments)}function Cj(){return(Cj=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(r=n.gltf)&&void 0!==r&&r.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:o=new gj(t),a=[],s=_(Mj(o));try{for(s.s();!(u=s.n()).done;)c=u.value,o.getObjectExtension(c,yj)&&a.push(Oj(o,c,n,i))}catch(l){s.e(l)}finally{s.f()}return e.next=7,Promise.all(a);case 7:o.removeExtension(yj);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ej(e){var t,n=new gj(e),i=_(n.json.meshes||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;Pj(r),n.addRequiredExtension(yj)}}catch(o){i.e(o)}finally{i.f()}}function Oj(e,t,n,i){return Tj.apply(this,arguments)}function Tj(){return(Tj=Vx(regeneratorRuntime.mark(function e(n,i,r,o){var a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.getObjectExtension(i,yj)){e.next=3;break}return e.abrupt("return");case 3:return s=n.getTypedArrayForBufferView(a.bufferView),u=xA(s.buffer,s.byteOffset),c=o.parse,delete(l=M({},r))["3d-tiles"],e.next=7,c(u,nj,l,o);case 7:for(h=e.sent,d=kj(h.attributes),f=0,p=Object.entries(d);f2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!r.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var s=r.DracoWriter.encodeSync({attributes:e}),u=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),c=r._addFauxAttributes(u.attributes),l=r.addBufferView(s);return{primitives:[{attributes:c,mode:i,extensions:o({},yj,{bufferView:l,attributes:c})}]}}function Aj(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function Mj(e){var t,n,i,r,o,a;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:t=_(e.json.meshes||[]),s.prev=1,t.s();case 3:if((n=t.n()).done){s.next=24;break}i=n.value,r=_(i.primitives),s.prev=6,r.s();case 8:if((o=r.n()).done){s.next=14;break}return a=o.value,s.next=12,a;case 12:s.next=8;break;case 14:s.next=19;break;case 16:s.prev=16,s.t0=s.catch(6),r.e(s.t0);case 19:return s.prev=19,r.f(),s.finish(19);case 22:s.next=3;break;case 24:s.next=29;break;case 26:s.prev=26,s.t1=s.catch(1),t.e(s.t1);case 29:return s.prev=29,t.f(),s.finish(29);case 32:case"end":return s.stop()}},T,null,[[1,26,29,32],[6,16,19,22]])}function Ij(e){return Rj.apply(this,arguments)}function Rj(){return(Rj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,n.removeExtension(_j),r=_(i.materials||[]);try{for(r.s();!(o=r.n()).done;)(a=o.value).extensions&&a.extensions.KHR_materials_unlit&&(a.unlit=!0),n.removeObjectExtension(a,_j)}catch(s){r.e(s)}finally{r.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Dj(e){var t=new gj(e),n=t.json;if(t.materials){var i,r=_(n.materials||[]);try{for(r.s();!(i=r.n()).done;){var o=i.value;o.unlit&&(delete o.unlit,t.addObjectExtension(o,_j,{}),t.addExtension(_j))}}catch(a){r.e(a)}finally{r.f()}}}function Nj(e){return Lj.apply(this,arguments)}function Lj(){return(Lj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,(r=n.getExtension(bj))&&(n.json.lights=r.lights,n.removeExtension(bj)),o=_(i.nodes||[]);try{for(o.s();!(a=o.n()).done;)s=a.value,(u=n.getObjectExtension(s,bj))&&(s.light=u.light),n.removeObjectExtension(s,bj)}catch(c){o.e(c)}finally{o.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function jj(e){return Fj.apply(this,arguments)}function Fj(){return(Fj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),(i=n.json).lights&&(pL(!(r=n.addExtension(bj)).lights),r.lights=i.lights,delete i.lights),n.json.lights){o=_(n.json.lights);try{for(o.s();!(a=o.n()).done;)s=a.value,n.addObjectExtension(s.node,bj,s)}catch(u){o.e(u)}finally{o.f()}delete n.json.lights}case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Bj(e){return Vj.apply(this,arguments)}function Vj(){return(Vj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),i=n.json,r=n.getExtension(wj)){o=Hj(r,n),a=_(i.materials||[]);try{for(a.s();!(s=a.n()).done;)u=s.value,(c=n.getObjectExtension(u,wj))&&(u.technique=Object.assign({},c,o[c.technique]),u.technique.values=Gj(u.technique,n)),n.removeObjectExtension(u,wj)}catch(l){a.e(l)}finally{a.f()}n.removeExtension(wj)}case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function zj(e,t){return Uj.apply(this,arguments)}function Uj(){return(Uj=Vx(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Hj(e,t){var n=e.programs,i=void 0===n?[]:n,r=e.shaders,o=void 0===r?[]:r,a=e.techniques,s=void 0===a?[]:a,u=new TextDecoder;return o.forEach(function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=u.decode(t.getTypedArrayForBufferView(e.bufferView))}),i.forEach(function(e){e.fragmentShader=o[e.fragmentShader],e.vertexShader=o[e.vertexShader]}),s.forEach(function(e){e.program=i[e.program]}),s}function Gj(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)}),Object.keys(n).forEach(function(e){"object"==typeof n[e]&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))}),n}var Wj={KHR_draco_mesh_compression:R,KHR_materials_unlit:D,KHR_lights_punctual:N,KHR_techniques_webgl:L};function qj(e){return Xj.apply(this,arguments)}function Xj(){return(Xj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=s.length>1&&void 0!==s[1]?s[1]:{},i=s.length>2?s[2]:void 0,e.t0=regeneratorRuntime.keys(Wj);case 3:if((e.t1=e.t0()).done){e.next=12;break}if(r=e.t1.value,a=(null==n||null===(o=n.gltf)||void 0===o?void 0:o.excludeExtensions)||{},e.t2=r in a&&!a[r],e.t2){e.next=10;break}return e.next=10,Wj[r].decode(t,n,i);case 10:e.next=3;break;case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Yj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Kj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},$j=function(){function e(t){m(this,e),this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}return b(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new gj(e),i=n.json,r=_(i.images||[]);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=n.removeObjectExtension(o,mj);a&&Object.assign(o,a)}}catch(s){r.e(s)}finally{r.f()}i.buffers&&i.buffers[0]&&delete i.buffers[0].uri,n.removeExtension(mj)}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in Yj)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var i in e[t]=[],n){var r=n[i];r.id=r.id||i;var o=e[t].length;e[t].push(r),this.idToIndexMap[t][i]=o}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in Yj)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,i=_(e.textures);try{for(i.s();!(n=i.n()).done;){var r=n.value;this._convertTextureIds(r)}}catch(p){i.e(p)}finally{i.f()}var o,a=_(e.meshes);try{for(a.s();!(o=a.n()).done;){var s=o.value;this._convertMeshIds(s)}}catch(p){a.e(p)}finally{a.f()}var u,c=_(e.nodes);try{for(c.s();!(u=c.n()).done;){var l=u.value;this._convertNodeIds(l)}}catch(p){c.e(p)}finally{c.f()}var h,d=_(e.scenes);try{for(d.s();!(h=d.n()).done;){var f=h.value;this._convertSceneIds(f)}}catch(p){d.e(p)}finally{d.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=_(e.primitives);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.attributes,o=i.indices,a=i.material;for(var s in r)r[s]=this._convertIdToIndex(r[s],"accessor");o&&(i.indices=this._convertIdToIndex(o,"accessor")),a&&(i.material=this._convertIdToIndex(a,"material"))}}catch(u){n.e(u)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map(function(e){return t._convertIdToIndex(e,"node")})),e.meshes&&(e.meshes=e.meshes.map(function(e){return t._convertIdToIndex(e,"mesh")}))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map(function(e){return t._convertIdToIndex(e,"node")}))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,i=_(e[t]);try{for(i.s();!(n=i.n()).done;){var r=n.value;for(var o in r){var a=this._convertIdToIndex(r[o],o);r[o]=a}}}catch(s){i.e(s)}finally{i.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=Kj[t];if(n in this.idToIndexMap){var i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return i}return e}},{key:"_updateObjects",value:function(e){var t,n=_(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(i){n.e(i)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=_(e.materials);try{var i=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var i=n.values&&n.values.tex,r=e.textures.findIndex(function(e){return e.id===i});-1!==r&&(n.pbrMetallicRoughness.baseColorTexture={index:r})};for(n.s();!(t=n.n()).done;)i()}catch(r){n.e(r)}finally{n.f()}}}]),e}();function Qj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new $j).normalize(e,t)}var Zj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Jj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},eF={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},tF={magFilter:eF.TEXTURE_MAG_FILTER,minFilter:eF.TEXTURE_MIN_FILTER,wrapS:eF.TEXTURE_WRAP_S,wrapT:eF.TEXTURE_WRAP_T},nF=(o(k={},eF.TEXTURE_MAG_FILTER,eF.LINEAR),o(k,eF.TEXTURE_MIN_FILTER,eF.NEAREST_MIPMAP_LINEAR),o(k,eF.TEXTURE_WRAP_S,eF.REPEAT),o(k,eF.TEXTURE_WRAP_,eF.REPEAT),k),iF=function(){function e(){m(this,e)}return b(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,i=e.buffers,r=void 0===i?[]:i,o=e.images,a=void 0===o?[]:o,s=e.baseUri,u=void 0===s?"":s;return pL(n),this.baseUri=u,this.json=n,this.buffers=r,this.images=a,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map(function(e,n){return t._resolveBufferView(e,n)})),e.images&&(e.images=e.images.map(function(e,n){return t._resolveImage(e,n)})),e.samplers&&(e.samplers=e.samplers.map(function(e,n){return t._resolveSampler(e,n)})),e.textures&&(e.textures=e.textures.map(function(e,n){return t._resolveTexture(e,n)})),e.accessors&&(e.accessors=e.accessors.map(function(e,n){return t._resolveAccessor(e,n)})),e.materials&&(e.materials=e.materials.map(function(e,n){return t._resolveMaterial(e,n)})),e.meshes&&(e.meshes=e.meshes.map(function(e,n){return t._resolveMesh(e,n)})),e.nodes&&(e.nodes=e.nodes.map(function(e,n){return t._resolveNode(e,n)})),e.skins&&(e.skins=e.skins.map(function(e,n){return t._resolveSkin(e,n)})),e.scenes&&(e.scenes=e.scenes.map(function(e,n){return t._resolveScene(e,n)})),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map(function(e){return n.getNode(e)}),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map(function(e){return n.getNode(e)})),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce(function(e,t){var i=n.getMesh(t);return e.id=i.id,e.primitives=e.primitives.concat(i.primitives),e},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map(function(e){var t=(e=M({},e)).attributes;for(var i in e.attributes={},t)e.attributes[i]=n.getAccessor(t[i]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e})),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=M({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=M({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=M({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=M({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=M({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=M({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(e){return Jj[e]}(e.componentType),e.components=function(e){return Zj[e]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var n=e.bufferView.buffer,i=pj(e,e.bufferView),r=i.ArrayType,o=i.byteLength,a=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+n.byteOffset,s=n.arrayBuffer.slice(a,a+o);e.value=new r(s)}return e}},{key:"_resolveTexture",value:function(e,t){return e.id=e.id||"texture-".concat(t),e.sampler="sampler"in e?this.getSampler(e.sampler):nF,e.source=this.getImage(e.source),e}},{key:"_resolveSampler",value:function(e,t){for(var n in e.id=e.id||"sampler-".concat(t),e.parameters={},e){var i=this._enumSamplerParameter(n);void 0!==i&&(e.parameters[i]=e[n])}return e}},{key:"_enumSamplerParameter",value:function(e){return tF[e]}},{key:"_resolveImage",value:function(e,t){e.id=e.id||"image-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));var n=this.images[t];return n&&(e.image=n),e}},{key:"_resolveBufferView",value:function(e,t){e.id=e.id||"bufferView-".concat(t);var n=e.buffer;e.buffer=this.buffers[n];var i=this.buffers[n].byteOffset||0;return"byteOffset"in e&&(i+=e.byteOffset),e.data=new Uint8Array(this.buffers[n].arrayBuffer,i,e.byteLength),e}},{key:"_resolveCamera",value:function(e,t){return e.id=e.id||"camera-".concat(t),e}}]),e}();function rF(e,t){return(new iF).postProcess(e,t)}var oF=1735152710,aF=!0;function sF(e,t,n,i){var r=new Uint8Array(t.buffer,n,i),o=new TextDecoder("utf8").decode(r);return e.json=JSON.parse(o),rj(i,4)}function uF(e,t,n,i){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:t.buffer}),rj(i,4)}function cF(e,t){return lF.apply(this,arguments)}function lF(){return(lF=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o,a,s,u,c,l,h,d,f=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=f.length>2&&void 0!==f[2]?f[2]:0,r=f.length>3?f[3]:void 0,o=f.length>4?f[4]:void 0,hF(t,n,i,r),Qj(t,{normalize:null==r||null===(a=r.gltf)||void 0===a?void 0:a.normalize}),l=[],e.t0=null!=r&&null!==(s=r.gltf)&&void 0!==s&&s.loadBuffers&&t.json.buffers,!e.t0){e.next=9;break}return e.next=9,dF(t,r,o);case 9:if(null==r||null===(u=r.gltf)||void 0===u||!u.loadImages){e.next=12;break}h=pF(t,r,o),l.push(h);case 12:return d=qj(t,r,o),l.push(d),e.next=16,Promise.all(l);case 16:return e.abrupt("return",null!=r&&null!==(c=r.gltf)&&void 0!==c&&c.postProcess?rF(t,r):t);case 17:case"end":return e.stop()}},e)}))).apply(this,arguments)}function hF(e,t,n,i){if(i.uri&&(e.baseUri=i.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new DataView(e),r=n.magic,o=void 0===r?oF:r,a=i.getUint32(t,!1);return a===o||a===oF}(t,n,i)&&(t=(new TextDecoder).decode(t)),"string"==typeof t)e.json=function(e){try{return JSON.parse(e)}catch(t){throw new Error('Failed to parse JSON from data starting with "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?fL(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?fL(e,0,t):""}(e),'"'))}}(t);else if(t instanceof ArrayBuffer){var r={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new DataView(t),r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}(i,n+0),o=i.getUint32(n+4,aF),a=i.getUint32(n+8,aF);switch(Object.assign(e,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:r,version:o,json:{},binChunks:[]}),n+=12,e.version){case 1:return function(e,t,n){lP(e.header.byteLength>20);var i=t.getUint32(n+0,aF),r=t.getUint32(n+4,aF);return n+=8,lP(0===r),sF(e,t,n,i),(n+=i)+uF(e,t,n,e.header.byteLength)}(e,i,n);case 2:return function(e,t,n,i){return lP(e.header.byteLength>20),function(e,t,n,i){for(;n+8<=e.header.byteLength;){var r=t.getUint32(n+0,aF),o=t.getUint32(n+4,aF);switch(n+=8,o){case 1313821514:sF(e,t,n,r);break;case 5130562:uF(e,t,n,r);break;case 0:i.strict||sF(e,t,n,r);break;case 1:i.strict||uF(e,t,n,r)}n+=rj(r,4)}}(e,t,n,{}),n+e.header.byteLength}(e,i,n);default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(r,t,n,i.glb),pL("glTF"===r.type,"Invalid GLB magic string ".concat(r.type)),e._glb=r,e.json=r.json}else pL(!1,"GLTF: must be ArrayBuffer or string");if(e.buffers=new Array((e.json.buffers||[]).length).fill(null),e._glb&&e._glb.header.hasBinChunk){var o=e._glb.binChunks;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}e.images=new Array((e.json.images||[]).length).fill({})}function dF(e,t,n){return fF.apply(this,arguments)}function fF(){return(fF=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=0;case 1:if(!(r1&&void 0!==a[1]?a[1]:{},i=a.length>2?a[2]:void 0,(n=M(M({},yF.options),n)).gltf=M(M({},yF.options.gltf),n.gltf),r=n.byteOffset,o=void 0===r?0:r,e.next=6,cF({},t,o,n,i);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _F(){return(_F=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],t.scenes.forEach(function(e){e.traverse(function(e){Object.values(e.model.getUniforms()).forEach(function(e){!1===e.loaded&&n.push(e)})})}),e.next=4,wF(function(){return n.some(function(e){return!e.loaded})});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function wF(e){return kF.apply(this,arguments)}function kF(){return(kF=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise(function(e){return requestAnimationFrame(e)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var xF=[255,255,255,255],SF={scenegraph:{type:"object",value:null,async:!0},getScene:function(e){return e&&e.scenes?"object"==typeof e.scene?e.scene:e.scenes[e.scene||0]:e},getAnimator:function(e){return e&&e.animator},_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:xF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[yF]},CF=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var e=[xD,CD];return"pbr"===this.props._lighting&&e.push(TN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:e}}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:xF,transition:!0},instanceModelMatrix:kN})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps;n.scenegraph!==r.scenegraph?this._updateScenegraph(n):n._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,n._animations)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this._deleteScenegraph()}},{key:"_updateScenegraph",value:function(e){var t=this,n=this.context.gl,i=null;if(e.scenegraph instanceof PN)i={scenes:[e.scenegraph]};else if(e.scenegraph&&!e.scenegraph.gltf){var r=e.scenegraph,o=function(e,t,n){var i=new dL(e,n);return{scenes:i.instantiate(t),animator:i.createAnimator()}}(n,r,this._getModelOptions());i=M({gltf:r},o),function(e){return _F.apply(this,arguments)}(o).then(function(){return t.setNeedsRedraw()})}else e.scenegraph&&(ik.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),i=e.scenegraph);var a={layer:this,gl:n},s=e.getScene(i,a),u=e.getAnimator(i,a);s instanceof PN?(this._deleteScenegraph(),this._applyAllAttributes(s),this._applyAnimationsProp(s,u,e._animations),this.setState({scenegraph:s,animator:u})):null!==s&&ik.warn("invalid scenegraph:",s)()}},{key:"_applyAllAttributes",value:function(e){var t=this;if(this.state.attributesAvailable){var n=this.getAttributeManager().getAttributes();e.traverse(function(e){t._setModelAttributes(e.model,n)})}}},{key:"_applyAnimationsProp",value:function(e,t,n){if(e&&t&&n){var i=t.getAnimations();Object.keys(n).sort().forEach(function(e){var t=n[e];if("*"===e)i.forEach(function(e){Object.assign(e,t)});else if(Number.isFinite(Number(e))){var r=Number(e);r>=0&&r0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("sphere-geometry"):i,o=function(e){var t=e.nlat,n=void 0===t?10:t,i=e.nlong,r=void 0===i?10:i,o=e.radius,a=void 0===o?1:o,s=Math.PI-0,u=2*Math.PI-0,c=(n+1)*(r+1);if("number"==typeof a){var l=a;a=function(e,t,n,i,r){return l}}for(var h=new Float32Array(3*c),d=new Float32Array(3*c),f=new Float32Array(2*c),p=new(c>65535?Uint32Array:Uint16Array)(n*r*6),v=0;v<=n;v++)for(var g=0;g<=r;g++){var m=g/r,y=v/n,b=g+v*(r+1),_=2*b,w=3*b,k=u*m,x=s*y,S=Math.sin(k),C=Math.cos(k),E=Math.sin(x),O=C*E,T=Math.cos(x),P=S*E,A=a(O,T,P,m,y);h[w+0]=A*O,h[w+1]=A*T,h[w+2]=A*P,d[w+0]=O,d[w+1]=T,d[w+2]=P,f[_+0]=m,f[_+1]=1-y}for(var M=r+1,I=0;I0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("truncated-code-geometry"):i,o=function(e){for(var t=e.bottomRadius,n=void 0===t?0:t,i=e.topRadius,r=void 0===i?0:i,o=e.height,a=void 0===o?1:o,s=e.nradial,u=void 0===s?10:s,c=e.nvertical,l=void 0===c?10:c,h=e.verticalAxis,d=void 0===h?"y":h,f=e.topCap,p=void 0!==f&&f,v=e.bottomCap,g=void 0!==v&&v,m=(p?2:0)+(g?2:0),y=(u+1)*(l+1+m),b=Math.atan2(n-r,a),_=Math.sin,w=Math.cos,k=Math.PI,x=w(b),S=_(b),C=p?-2:0,E=l+(g?2:0),O=u+1,T=new Uint16Array(u*(l+m)*6),P=OF[d],A=new Float32Array(3*y),M=new Float32Array(3*y),I=new Float32Array(2*y),R=0,D=0,N=C;N<=E;N++){var L=void 0,j=N/l,F=a*j;N<0?(F=0,j=1,L=n):N>l?(F=a,j=1,L=r):L=n+N/l*(r-n),(-2===N||N===l+2)&&(L=0,j=0),F-=a/2;for(var B=0;Bl?0:V*x,M[R+P[1]]=N<0?-1:N>l?1:S,M[R+P[2]]=N<0||N>l?0:z*x,I[D+0]=B/u,I[D+1]=j,D+=2,R+=3}}for(var U=0;U0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cone-geometry"):i,o=e.radius,a=void 0===o?1:o,s=e.cap,u=void 0===s||s;return t.call(this,I(M({},e),{id:r,topRadius:0,topCap:Boolean(u),bottomCap:Boolean(u),bottomRadius:a}))}return n}(TF),AF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cylinder-geometry"):i,o=e.radius,a=void 0===o?1:o;return t.call(this,I(M({},e),{id:r,bottomRadius:a,topRadius:a}))}return n}(TF),MF=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),IF=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),RF=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),DF=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),NF={POSITION:{size:3,value:new Float32Array(IF)},NORMAL:{size:3,value:new Float32Array(RF)},TEXCOORD_0:{size:2,value:new Float32Array(DF)}},LF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cube-geometry"):i;return t.call(this,I(M({},e),{id:r,indices:{size:1,value:new Uint16Array(MF)},attributes:M(M({},NF),e.attributes)}))}return n}(OD),jF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0,0,0,0,0,0];m(this,e),this.elements=void 0,this.elements=t}return b(e,[{key:"identity",value:function(){var e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}},{key:"setZero",value:function(){var e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}},{key:"setTrace",value:function(e){var t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}},{key:"getTrace",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=this.elements,i=e.x,r=e.y,o=e.z;return t.x=n[0]*i+n[1]*r+n[2]*o,t.y=n[3]*i+n[4]*r+n[5]*o,t.z=n[6]*i+n[7]*r+n[8]*o,t}},{key:"smult",value:function(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=t.elements,o=n.elements,a=i[0],s=i[1],u=i[2],c=i[3],l=i[4],h=i[5],d=i[6],f=i[7],p=i[8],v=r[0],g=r[1],m=r[2],y=r[3],b=r[4],_=r[5],w=r[6],k=r[7],x=r[8];return o[0]=a*v+s*y+u*w,o[1]=a*g+s*b+u*k,o[2]=a*m+s*_+u*x,o[3]=c*v+l*y+h*w,o[4]=c*g+l*b+h*k,o[5]=c*m+l*_+h*x,o[6]=d*v+f*y+p*w,o[7]=d*g+f*b+p*k,o[8]=d*m+f*_+p*x,n}},{key:"scale",value:function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=n.elements,o=0;3!==o;o++)r[3*o+0]=t.x*i[3*o+0],r[3*o+1]=t.y*i[3*o+1],r[3*o+2]=t.z*i[3*o+2];return n}},{key:"solve",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,r=[];for(t=0;t<12;t++)r.push(0);for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+4*n]=this.elements[t+3*n];r[3]=e.x,r[7]=e.y,r[11]=e.z;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+4*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,r=FF;for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+6*n]=this.elements[t+3*n];r[3]=1,r[9]=0,r[15]=0,r[4]=0,r[10]=1,r[16]=0,r[5]=0,r[11]=0,r[17]=1;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+6*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,i=this.elements,r=n.elements;return r[0]=i[0],r[4]=i[4],r[8]=i[8],t=i[1],r[1]=i[3],r[3]=t,t=i[2],r[2]=i[6],r[6]=t,t=i[5],r[5]=i[7],r[7]=t,n}}]),e}(),FF=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],BF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.x=t,this.y=n,this.z=i}return b(e,[{key:"cross",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=t.x,r=t.y,o=t.z,a=this.x,s=this.y,u=this.z;return n.x=s*o-u*r,n.y=u*i-a*o,n.z=a*r-s*i,n}},{key:"set",value:function(e,t,n){return this.x=e,this.y=t,this.z=n,this}},{key:"setZero",value:function(){this.x=this.y=this.z=0}},{key:"vadd",value:function(t,n){if(!n)return new e(this.x+t.x,this.y+t.y,this.z+t.z);n.x=t.x+this.x,n.y=t.y+this.y,n.z=t.z+this.z}},{key:"vsub",value:function(t,n){if(!n)return new e(this.x-t.x,this.y-t.y,this.z-t.z);n.x=this.x-t.x,n.y=this.y-t.y,n.z=this.z-t.z}},{key:"crossmat",value:function(){return new jF([0,-this.z,this.y,this.z,0,-this.x,-this.y,this.x,0])}},{key:"normalize",value:function(){var e=this.x,t=this.y,n=this.z,i=Math.sqrt(e*e+t*t+n*n);if(i>0){var r=1/i;this.x*=r,this.y*=r,this.z*=r}else this.x=0,this.y=0,this.z=0;return i}},{key:"unit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=Math.sqrt(n*n+i*i+r*r);return o>0?(o=1/o,t.x=n*o,t.y=i*o,t.z=r*o):(t.x=1,t.y=0,t.z=0),t}},{key:"length",value:function(){var e=this.x,t=this.y,n=this.z;return Math.sqrt(e*e+t*t+n*n)}},{key:"lengthSquared",value:function(){return this.dot(this)}},{key:"distanceTo",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return Math.sqrt((r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i))}},{key:"distanceSquared",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return(r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i)}},{key:"scale",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.y,r=this.z;return n.x=t*this.x,n.y=t*i,n.z=t*r,n}},{key:"vmul",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e;return n.x=t.x*this.x,n.y=t.y*this.y,n.z=t.z*this.z,n}},{key:"addScaledVector",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e;return i.x=this.x+t*n.x,i.y=this.y+t*n.y,i.z=this.z+t*n.z,i}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y+this.z*e.z}},{key:"isZero",value:function(){return 0===this.x&&0===this.y&&0===this.z}},{key:"negate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}},{key:"tangents",value:function(e,t){var n=this.length();if(n>0){var i=VF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);var o=zF;Math.abs(i.x)<.9?(o.set(1,0,0),i.cross(o,e)):(o.set(0,1,0),i.cross(o,e)),i.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z}},{key:"toArray",value:function(){return[this.x,this.y,this.z]}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}},{key:"lerp",value:function(e,t,n){var i=this.x,r=this.y,o=this.z;n.x=i+(e.x-i)*t,n.y=r+(e.y-r)*t,n.z=o+(e.z-o)*t}},{key:"almostEquals",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-6;return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}},{key:"almostZero",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e-6;return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}},{key:"isAntiparallelTo",value:function(e,t){return this.negate(UF),UF.almostEquals(e,t)}},{key:"clone",value:function(){return new e(this.x,this.y,this.z)}}]),e}();BF.ZERO=void 0,BF.UNIT_X=void 0,BF.UNIT_Y=void 0,BF.UNIT_Z=void 0,BF.ZERO=new BF(0,0,0),BF.UNIT_X=new BF(1,0,0),BF.UNIT_Y=new BF(0,1,0),BF.UNIT_Z=new BF(0,0,1);var VF=new BF,zF=new BF,UF=new BF,HF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new BF,this.upperBound=new BF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}return b(e,[{key:"setFromPoints",value:function(e,t,n,i){var r=this.lowerBound,o=this.upperBound,a=n;r.copy(e[0]),a&&a.vmult(r,r),o.copy(r);for(var s=1;so.x&&(o.x=u.x),u.xo.y&&(o.y=u.y),u.yo.z&&(o.z=u.z),u.z=r.x&&t.y<=i.y&&n.y>=r.y&&t.z<=i.z&&n.z>=r.z}},{key:"getCorners",value:function(e,t,n,i,r,o,a,s){var u=this.lowerBound,c=this.upperBound;e.copy(u),t.set(c.x,u.y,u.z),n.set(c.x,c.y,u.z),i.set(u.x,c.y,c.z),r.set(c.x,u.y,c.z),o.set(u.x,c.y,u.z),a.set(u.x,u.y,c.z),s.copy(c)}},{key:"toLocalFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToLocal(r,r)}return t.setFromPoints(n)}},{key:"toWorldFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToWorld(r,r)}return t.setFromPoints(n)}},{key:"overlapsRay",value:function(e){var t=e.direction,n=e.from,i=1/t.x,r=1/t.y,o=1/t.z,a=(this.lowerBound.x-n.x)*i,s=(this.upperBound.x-n.x)*i,u=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,l=(this.lowerBound.z-n.z)*o,h=(this.upperBound.z-n.z)*o,d=Math.max(Math.max(Math.min(a,s),Math.min(u,c)),Math.min(l,h)),f=Math.min(Math.min(Math.max(a,s),Math.max(u,c)),Math.max(l,h));return!(f<0||d>f)}}]),e}(),GF=new BF,WF=[new BF,new BF,new BF,new BF,new BF,new BF,new BF,new BF],qF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=n,this.z=i,this.w=r}return b(e,[{key:"set",value:function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z+","+this.w}},{key:"toArray",value:function(){return[this.x,this.y,this.z,this.w]}},{key:"setFromAxisAngle",value:function(e,t){var n=Math.sin(.5*t);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(.5*t),this}},{key:"toAxisAngle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF;this.normalize();var t=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/n,e.y=this.y/n,e.z=this.z/n),[e,t]}},{key:"setFromVectors",value:function(e,t){if(e.isAntiparallelTo(t)){var n=XF;e.tangents(n,YF),this.setFromAxisAngle(n,Math.PI)}else{var i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(P(e.length(),2)*P(t.length(),2))+e.dot(t),this.normalize()}return this}},{key:"mult",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.x,r=this.y,o=this.z,a=this.w,s=t.x,u=t.y,c=t.z,l=t.w;return n.x=i*l+a*s+r*c-o*u,n.y=r*l+a*u+o*s-i*c,n.z=o*l+a*c+i*u-r*s,n.w=a*l-i*s-r*u-o*c,n}},{key:"inverse",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=this.w;this.conjugate(t);var a=1/(n*n+i*i+r*r+o*o);return t.x*=a,t.y*=a,t.z*=a,t.w*=a,t}},{key:"conjugate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}},{key:"normalize",value:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"normalizeFast",value:function(){var e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=e.x,i=e.y,r=e.z,o=this.x,a=this.y,s=this.z,u=this.w,c=u*n+a*r-s*i,l=u*i+s*n-o*r,h=u*r+o*i-a*n,d=-o*n-a*i-s*r;return t.x=c*u+d*-o+l*-s-h*-a,t.y=l*u+d*-a+h*-o-c*-s,t.z=h*u+d*-s+c*-a-l*-o,t}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}},{key:"toEuler",value:function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YZX",o=this.x,a=this.y,s=this.z,u=this.w;switch(r){case"YZX":var c=o*a+s*u;if(c>.499&&(t=2*Math.atan2(o,u),n=Math.PI/2,i=0),c<-.499&&(t=-2*Math.atan2(o,u),n=-Math.PI/2,i=0),void 0===t){var l=o*o,h=s*s;t=Math.atan2(2*a*u-2*o*s,1-a*a*2-2*h),n=Math.asin(2*c),i=Math.atan2(2*o*u-2*a*s,1-2*l-2*h)}break;default:throw new Error("Euler order "+r+" not supported yet.")}e.y=t,e.z=n,e.x=i}},{key:"setFromEuler",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"XYZ",r=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(n/2),s=Math.sin(e/2),u=Math.sin(t/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"YXZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"ZXY"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"ZYX"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"YZX"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a-s*u*c):"XZY"===i&&(this.x=s*o*a-r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a+s*u*c),this}},{key:"clone",value:function(){return new e(this.x,this.y,this.z,this.w)}},{key:"slerp",value:function(t,n){var i,r,o,a,s,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e,c=this.x,l=this.y,h=this.z,d=this.w,f=t.x,p=t.y,v=t.z,g=t.w;return(r=c*f+l*p+h*v+d*g)<0&&(r=-r,f=-f,p=-p,v=-v,g=-g),1-r>1e-6?(i=Math.acos(r),o=Math.sin(i),a=Math.sin((1-n)*i)/o,s=Math.sin(n*i)/o):(a=1-n,s=n),u.x=a*c+s*f,u.y=a*l+s*p,u.z=a*h+s*v,u.w=a*d+s*g,u}},{key:"integrate",value:function(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new e,o=t.x*i.x,a=t.y*i.y,s=t.z*i.z,u=this.x,c=this.y,l=this.z,h=this.w,d=.5*n;return r.x+=d*(o*h+a*l-s*c),r.y+=d*(a*h+s*u-o*l),r.z+=d*(s*h+o*c-a*u),r.w+=d*(-o*u-a*c-s*l),r}}]),e}(),XF=new BF,YF=new BF,KF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256},$F=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=e.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}return b(e,[{key:"updateBoundingSphereRadius",value:function(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}},{key:"volume",value:function(){throw"volume() not implemented for shape type "+this.type}},{key:"calculateLocalInertia",value:function(e,t){throw"calculateLocalInertia() not implemented for shape type "+this.type}},{key:"calculateWorldAABB",value:function(e,t,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}]),e}();return e.idCounter=0,e.types=KF,e}(),QF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.position=void 0,this.quaternion=void 0,this.position=new BF,this.quaternion=new qF,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}return b(e,[{key:"pointToLocal",value:function(t,n){return e.pointToLocalFrame(this.position,this.quaternion,t,n)}},{key:"pointToWorld",value:function(t,n){return e.pointToWorldFrame(this.position,this.quaternion,t,n)}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}}],[{key:"pointToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return n.vsub(e,i),t.conjugate(ZF),ZF.vmult(i,i),i}},{key:"pointToWorldFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.vmult(n,i),i.vadd(e,i),i}},{key:"vectorToWorldFrame",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new BF;return e.vmult(t,n),n}},{key:"vectorToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.w*=-1,t.vmult(n,i),t.w*=-1,i}}]),e}(),ZF=new qF,JF=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var r=i.vertices,o=void 0===r?[]:r,a=i.faces,s=void 0===a?[]:a,u=i.normals,c=void 0===u?[]:u,l=i.axes,h=i.boundingSphereRadius;return(e=t.call(this,{type:$F.types.CONVEXPOLYHEDRON})).vertices=void 0,e.faces=void 0,e.faceNormals=void 0,e.worldVertices=void 0,e.worldVerticesNeedsUpdate=void 0,e.worldFaceNormals=void 0,e.worldFaceNormalsNeedsUpdate=void 0,e.uniqueAxes=void 0,e.uniqueEdges=void 0,e.vertices=o,e.faces=s,e.faceNormals=c,0===e.faceNormals.length&&e.computeNormals(),h?e.boundingSphereRadius=h:e.updateBoundingSphereRadius(),e.worldVertices=[],e.worldVerticesNeedsUpdate=!0,e.worldFaceNormals=[],e.worldFaceNormalsNeedsUpdate=!0,e.uniqueAxes=l?l.slice():null,e.uniqueEdges=[],e.computeEdges(),e}return b(n,[{key:"computeEdges",value:function(){var e=this.faces,t=this.vertices,n=this.uniqueEdges;n.length=0;for(var i=new BF,r=0;r!==e.length;r++)for(var o=e[r],a=o.length,s=0;s!==a;s++){t[o[s]].vsub(t[o[(s+1)%a]],i),i.normalize();for(var u=!1,c=0;c!==n.length;c++)if(n[c].almostEquals(i)||n[c].almostEquals(i)){u=!0;break}u||n.push(i.clone())}}},{key:"computeNormals",value:function(){this.faceNormals.length=this.faces.length;for(var e=0;eh&&(h=f,l=d)}for(var p=[],v=0;v=0&&this.clipFaceAgainstHull(o,e,t,p,a,s,u)}},{key:"findSeparatingAxis",value:function(e,t,n,i,r,o,a,s){var u=new BF,c=new BF,l=new BF,h=new BF,d=new BF,f=new BF,p=Number.MAX_VALUE,v=this;if(v.uniqueAxes)for(var g=0;g!==v.uniqueAxes.length;g++){n.vmult(v.uniqueAxes[g],u);var m=v.testSepAxis(u,e,t,n,i,r);if(!1===m)return!1;m0&&o.negate(o),!0}},{key:"testSepAxis",value:function(e,t,i,r,o,a){n.project(this,e,i,r,eB),n.project(t,e,o,a,tB);var s=eB[0],u=eB[1],c=tB[0],l=tB[1];if(st.x&&(t.x=r.x),r.yt.y&&(t.y=r.y),r.zt.z&&(t.z=r.z)}}},{key:"computeWorldFaceNormals",value:function(e){for(var t=this.faceNormals.length;this.worldFaceNormals.lengthe&&(e=i)}this.boundingSphereRadius=Math.sqrt(e)}},{key:"calculateWorldAABB",value:function(e,t,n,i){for(var r,o,a,s,u,c,l=this.vertices,h=new BF,d=0;ds)&&(s=f.x),(void 0===o||f.yu)&&(u=f.y),(void 0===a||f.zc)&&(c=f.z)}n.set(r,o,a),i.set(s,u,c)}},{key:"volume",value:function(){return 4*Math.PI*this.boundingSphereRadius/3}},{key:"getAveragePointLocal",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.vertices,n=0;n0||c>0&&h<0)return!1}return-1}}],[{key:"computeNormal",value:function(e,t,n,i){var r=new BF,o=new BF;t.vsub(e,o),n.vsub(t,r),r.cross(o,i),i.isZero()||i.normalize()}},{key:"project",value:function(e,t,n,i,r){var o=e.vertices.length,a=nB,s=0,u=0,c=iB,l=e.vertices;c.setZero(),QF.vectorToLocalFrame(n,i,t,a),QF.pointToLocalFrame(n,i,c,c);var h=c.dot(a);u=s=l[0].dot(a);for(var d=1;ds&&(s=f),f(s-=h)){var p=u;u=s,s=p}r[0]=s,r[1]=u}}]),n}($F),eB=[],tB=[],nB=new BF,iB=new BF,rB=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{type:$F.types.BOX})).halfExtents=void 0,i.convexPolyhedronRepresentation=void 0,i.halfExtents=e,i.convexPolyhedronRepresentation=null,i.updateConvexPolyhedronRepresentation(),i.updateBoundingSphereRadius(),i}return b(n,[{key:"updateConvexPolyhedronRepresentation",value:function(){var e=this.halfExtents.x,t=this.halfExtents.y,n=this.halfExtents.z,i=BF,r=[new i(-e,-t,-n),new i(e,-t,-n),new i(e,t,-n),new i(-e,t,-n),new i(-e,-t,n),new i(e,-t,n),new i(e,t,n),new i(-e,t,n)],o=[new i(0,0,1),new i(0,1,0),new i(1,0,0)],a=new JF({vertices:r,faces:[[3,2,1,0],[4,5,6,7],[5,4,0,1],[2,3,7,6],[0,4,7,3],[1,2,6,5]],axes:o});this.convexPolyhedronRepresentation=a,a.material=this.material}},{key:"calculateLocalInertia",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return n.calculateInertia(this.halfExtents,e,t),t}},{key:"getSideNormals",value:function(e,t){var n=e,i=this.halfExtents;if(n[0].set(i.x,0,0),n[1].set(0,i.y,0),n[2].set(0,0,i.z),n[3].set(-i.x,0,0),n[4].set(0,-i.y,0),n[5].set(0,0,-i.z),void 0!==t)for(var r=0;r!==n.length;r++)t.vmult(n[r],n[r]);return n}},{key:"volume",value:function(){return 8*this.halfExtents.x*this.halfExtents.y*this.halfExtents.z}},{key:"updateBoundingSphereRadius",value:function(){this.boundingSphereRadius=this.halfExtents.length()}},{key:"forEachWorldCorner",value:function(e,t,n){for(var i=this.halfExtents,r=[[i.x,i.y,i.z],[-i.x,i.y,i.z],[-i.x,-i.y,i.z],[-i.x,-i.y,-i.z],[i.x,-i.y,-i.z],[i.x,i.y,-i.z],[-i.x,i.y,-i.z],[i.x,-i.y,i.z]],o=0;oi.x&&(i.x=u),c>i.y&&(i.y=c),l>i.z&&(i.z=l),u0&&void 0!==arguments[0]?arguments[0]:{};m(this,n),(e=t.call(this)).id=void 0,e.index=void 0,e.world=void 0,e.preStep=void 0,e.postStep=void 0,e.vlambda=void 0,e.collisionFilterGroup=void 0,e.collisionFilterMask=void 0,e.collisionResponse=void 0,e.position=void 0,e.previousPosition=void 0,e.interpolatedPosition=void 0,e.initPosition=void 0,e.velocity=void 0,e.initVelocity=void 0,e.force=void 0,e.mass=void 0,e.invMass=void 0,e.material=void 0,e.linearDamping=void 0,e.type=void 0,e.allowSleep=void 0,e.sleepState=void 0,e.sleepSpeedLimit=void 0,e.sleepTimeLimit=void 0,e.timeLastSleepy=void 0,e.wakeUpAfterNarrowphase=void 0,e.torque=void 0,e.quaternion=void 0,e.initQuaternion=void 0,e.previousQuaternion=void 0,e.interpolatedQuaternion=void 0,e.angularVelocity=void 0,e.initAngularVelocity=void 0,e.shapes=void 0,e.shapeOffsets=void 0,e.shapeOrientations=void 0,e.inertia=void 0,e.invInertia=void 0,e.invInertiaWorld=void 0,e.invMassSolve=void 0,e.invInertiaSolve=void 0,e.invInertiaWorldSolve=void 0,e.fixedRotation=void 0,e.angularDamping=void 0,e.linearFactor=void 0,e.angularFactor=void 0,e.aabb=void 0,e.aabbNeedsUpdate=void 0,e.boundingRadius=void 0,e.wlambda=void 0,e.isTrigger=void 0,e.id=n.idCounter++,e.index=-1,e.world=null,e.preStep=null,e.postStep=null,e.vlambda=new BF,e.collisionFilterGroup="number"==typeof i.collisionFilterGroup?i.collisionFilterGroup:1,e.collisionFilterMask="number"==typeof i.collisionFilterMask?i.collisionFilterMask:-1,e.collisionResponse="boolean"!=typeof i.collisionResponse||i.collisionResponse,e.position=new BF,e.previousPosition=new BF,e.interpolatedPosition=new BF,e.initPosition=new BF,i.position&&(e.position.copy(i.position),e.previousPosition.copy(i.position),e.interpolatedPosition.copy(i.position),e.initPosition.copy(i.position)),e.velocity=new BF,i.velocity&&e.velocity.copy(i.velocity),e.initVelocity=new BF,e.force=new BF;var r="number"==typeof i.mass?i.mass:0;return e.mass=r,e.invMass=r>0?1/r:0,e.material=i.material||null,e.linearDamping="number"==typeof i.linearDamping?i.linearDamping:.01,e.type=r<=0?n.STATIC:n.DYNAMIC,typeof i.type==typeof n.STATIC&&(e.type=i.type),e.allowSleep=void 0===i.allowSleep||i.allowSleep,e.sleepState=n.AWAKE,e.sleepSpeedLimit=void 0!==i.sleepSpeedLimit?i.sleepSpeedLimit:.1,e.sleepTimeLimit=void 0!==i.sleepTimeLimit?i.sleepTimeLimit:1,e.timeLastSleepy=0,e.wakeUpAfterNarrowphase=!1,e.torque=new BF,e.quaternion=new qF,e.initQuaternion=new qF,e.previousQuaternion=new qF,e.interpolatedQuaternion=new qF,i.quaternion&&(e.quaternion.copy(i.quaternion),e.initQuaternion.copy(i.quaternion),e.previousQuaternion.copy(i.quaternion),e.interpolatedQuaternion.copy(i.quaternion)),e.angularVelocity=new BF,i.angularVelocity&&e.angularVelocity.copy(i.angularVelocity),e.initAngularVelocity=new BF,e.shapes=[],e.shapeOffsets=[],e.shapeOrientations=[],e.inertia=new BF,e.invInertia=new BF,e.invInertiaWorld=new jF,e.invMassSolve=0,e.invInertiaSolve=new BF,e.invInertiaWorldSolve=new jF,e.fixedRotation=void 0!==i.fixedRotation&&i.fixedRotation,e.angularDamping=void 0!==i.angularDamping?i.angularDamping:.01,e.linearFactor=new BF(1,1,1),i.linearFactor&&e.linearFactor.copy(i.linearFactor),e.angularFactor=new BF(1,1,1),i.angularFactor&&e.angularFactor.copy(i.angularFactor),e.aabb=new HF,e.aabbNeedsUpdate=!0,e.boundingRadius=0,e.wlambda=new BF,e.isTrigger=Boolean(i.isTrigger),i.shape&&e.addShape(i.shape),e.updateMassProperties(),e}return b(n,[{key:"wakeUp",value:function(){var e=this.sleepState;this.sleepState=n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===n.SLEEPING&&this.dispatchEvent(n.wakeupEvent)}},{key:"sleep",value:function(){this.sleepState=n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}},{key:"sleepTick",value:function(e){if(this.allowSleep){var t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=P(this.sleepSpeedLimit,2);t===n.AWAKE&&ir?this.wakeUp():t===n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(n.sleepEvent))}}},{key:"updateSolveMassProperties",value:function(){this.sleepState===n.SLEEPING||this.type===n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}},{key:"pointToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}},{key:"vectorToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.conjugate().vmult(e,t),t}},{key:"pointToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}},{key:"addShape",value:function(e,t,n){var i=new BF,r=new qF;return t&&i.copy(t),n&&r.copy(n),this.shapes.push(e),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}},{key:"removeShape",value:function(e){var t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}},{key:"updateBoundingRadius",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=e.length,i=0,r=0;r!==n;r++){var o=e[r];o.updateBoundingSphereRadius();var a=t[r].length(),s=o.boundingSphereRadius;a+s>i&&(i=a+s)}this.boundingRadius=i}},{key:"updateAABB",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=this.shapeOrientations,i=e.length,r=uB,o=cB,a=this.quaternion,s=this.aabb,u=lB,c=0;c!==i;c++){var l=e[c];a.vmult(t[c],r),r.vadd(this.position,r),a.mult(n[c],o),l.calculateWorldAABB(r,o,u.lowerBound,u.upperBound),0===c?s.copy(u):s.extend(u)}this.aabbNeedsUpdate=!1}},{key:"updateInertiaWorld",value:function(e){var t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){var n=hB,i=dB;n.setRotationFromQuaternion(this.quaternion),n.transpose(i),n.scale(t,n),n.mmult(i,this.invInertiaWorld)}}},{key:"applyForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=fB;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}}},{key:"applyLocalForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=pB,r=vB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}}},{key:"applyTorque",value:function(e){this.type===n.DYNAMIC&&(this.sleepState===n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}},{key:"applyImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=t,r=gB;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);var o=mB;i.cross(e,o),this.invInertiaWorld.vmult(o,o),this.angularVelocity.vadd(o,this.angularVelocity)}}},{key:"applyLocalImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=yB,r=bB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}}},{key:"updateMassProperties",value:function(){var e=_B;this.invMass=this.mass>0?1/this.mass:0;var t=this.inertia,n=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),rB.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!n?1/t.x:0,t.y>0&&!n?1/t.y:0,t.z>0&&!n?1/t.z:0),this.updateInertiaWorld(!0)}},{key:"getVelocityAtWorldPoint",value:function(e,t){var n=new BF;return e.vsub(this.position,n),this.angularVelocity.cross(n,t),this.velocity.vadd(t,t),t}},{key:"integrate",value:function(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),(this.type===n.DYNAMIC||this.type===n.KINEMATIC)&&this.sleepState!==n.SLEEPING){var r=this.velocity,o=this.angularVelocity,a=this.position,s=this.force,u=this.torque,c=this.quaternion,l=this.invInertiaWorld,h=this.linearFactor,d=this.invMass*e;r.x+=s.x*d*h.x,r.y+=s.y*d*h.y,r.z+=s.z*d*h.z;var f=l.elements,p=this.angularFactor,v=u.x*p.x,g=u.y*p.y,m=u.z*p.z;o.x+=e*(f[0]*v+f[1]*g+f[2]*m),o.y+=e*(f[3]*v+f[4]*g+f[5]*m),o.z+=e*(f[6]*v+f[7]*g+f[8]*m),a.x+=r.x*e,a.y+=r.y*e,a.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}}]),n}(function(){function e(){m(this,e),this._listeners=void 0}return b(e,[{key:"addEventListener",value:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;return void 0===n[e]&&(n[e]=[]),n[e].includes(t)||n[e].push(t),this}},{key:"hasEventListener",value:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return!(void 0===n[e]||!n[e].includes(t))}},{key:"hasAnyEventListener",value:function(e){return void 0!==this._listeners&&void 0!==this._listeners[e]}},{key:"removeEventListener",value:function(e,t){if(void 0===this._listeners)return this;var n=this._listeners;if(void 0===n[e])return this;var i=n[e].indexOf(t);return-1!==i&&n[e].splice(i,1),this}},{key:"dispatchEvent",value:function(e){if(void 0===this._listeners)return this;var t=this._listeners[e.type];if(void 0!==t){e.target=this;for(var n=0,i=t.length;n0&&void 0!==arguments[0]?arguments[0]:new BF,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;m(this,s),this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new BF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=s.ANY,this.result=new wB,this.hasHit=!1,this.callback=function(e){}}return b(s,[{key:e,get:function(){return this._intersectSphere}},{key:t,get:function(){return this._intersectPlane}},{key:n,get:function(){return this._intersectBox}},{key:i,get:function(){return this._intersectConvex}},{key:r,get:function(){return this._intersectConvex}},{key:o,get:function(){return this._intersectHeightfield}},{key:a,get:function(){return this._intersectTrimesh}},{key:"intersectWorld",value:function(e,t){return this.mode=t.mode||s.ANY,this.result=t.result||new wB,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||function(){},this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(xB),SB.length=0,e.broadphase.aabbQuery(e,xB,SB),this.intersectBodies(SB),this.hasHit}},{key:"intersectBody",value:function(e,t){t&&(this.result=t,this.updateDirection());var n=this.checkCollisionResponse;if((!n||e.collisionResponse)&&0!=(this.collisionFilterGroup&e.collisionFilterMask)&&0!=(e.collisionFilterGroup&this.collisionFilterMask))for(var i=OB,r=TB,o=0,a=e.shapes.length;oe.boundingSphereRadius)){var r=this[e.type];r&&r.call(this,e,t,n,i,e)}}},{key:"_intersectBox",value:function(e,t,n,i,r){return this._intersectConvex(e.convexPolyhedronRepresentation,t,n,i,r)}},{key:"_intersectPlane",value:function(e,t,n,i,r){var o=this.from,a=this.to,s=this.direction,u=new BF(0,0,1);t.vmult(u,u);var c=new BF;o.vsub(n,c);var l=c.dot(u);if(a.vsub(n,c),!(l*c.dot(u)>0||o.distanceTo(a)=0&&p<=1&&(o.lerp(a,p,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1))}}},{key:"_intersectConvex",value:function(e,t,n,i,r,o){for(var a=BB,u=VB,c=o&&o.faceList||null,l=e.faces,h=e.vertices,d=e.faceNormals,f=this.direction,p=this.from,v=p.distanceTo(this.to),g=c?c.length:l.length,m=this.result,y=0;!m.shouldStop&&yv||this.reportIntersection(a,PB,r,i,b)}}}}}},{key:"_intersectTrimesh",value:function(e,t,n,i,r,o){var a=zB,u=XB,c=YB,l=VB,h=UB,d=HB,f=GB,p=qB,v=WB,g=e.indices,m=this.from,y=this.to,b=this.direction;c.position.copy(n),c.quaternion.copy(t),QF.vectorToLocalFrame(n,t,b,h),QF.pointToLocalFrame(n,t,m,d),QF.pointToLocalFrame(n,t,y,f),f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,d.x*=e.scale.x,d.y*=e.scale.y,d.z*=e.scale.z,f.vsub(d,h),h.normalize();var _=d.distanceSquared(f);e.tree.rayQuery(this,c,u);for(var w=0,k=u.length;!this.result.shouldStop&&w!==k;w++){var x=u[w];e.getNormal(x,a),e.getVertex(g[3*x],AB),AB.vsub(d,l);var S=h.dot(a),C=a.dot(l)/S;if(!(C<0)){h.scale(C,PB),PB.vadd(d,PB),e.getVertex(g[3*x+1],MB),e.getVertex(g[3*x+2],IB);var E=PB.distanceSquared(d);!s.pointInTriangle(PB,MB,AB,IB)&&!s.pointInTriangle(PB,AB,MB,IB)||E>_||(QF.vectorToWorldFrame(t,a,v),QF.pointToWorldFrame(n,t,PB,p),this.reportIntersection(v,p,r,i,x))}}u.length=0}},{key:"reportIntersection",value:function(e,t,n,i,r){var o=this.from,a=this.to,u=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==r?r:-1,this.mode){case s.ALL:this.hasHit=!0,c.set(o,a,e,t,n,i,u),c.hasHit=!0,this.callback(c);break;case s.CLOSEST:(u=0&&(o=a*l-s*u)>=0&&r+o0){var o,a=_(e.mesh.primitives);try{for(a.s();!(o=a.n()).done;){var s=o.value;s.attributes.POSITION&&s.attributes.POSITION.min&&function(){var o=r.transformAsPoint(s.attributes.POSITION.min,[]),a=r.transformAsPoint(s.attributes.POSITION.max,[]);i.push({"@id":t["@id"],name:e.name,entityId:t.entityId,bbox:new HF({lowerBound:h(BF,v(o.map(function(e,t){return Math.min(e,a[t])}))),upperBound:h(BF,v(a.map(function(e,t){return Math.max(e,o[t])})))}),gltf:n})}()}}catch(E){a.e(E)}finally{a.f()}}return!0})}catch(E){r.e(E)}finally{r.f()}case 6:case"end":return e.stop()}},e)}),r.s();case 6:if((o=r.n()).done){t.next=10;break}return t.delegateYield(a(),"t0",8);case 8:t.next=6;break;case 10:t.next=15;break;case 12:t.prev=12,t.t1=t.catch(3),r.e(t.t1);case 15:return t.prev=15,r.f(),t.finish(15);case 18:s=[],u=[],c=_(n);try{for(c.s();!(l=c.n()).done;){d=l.value,f=[],p=_(i);try{for(p.s();!(g=p.n()).done;)m=g.value,d.bbox.overlaps(m.bbox)&&f.push({"@id":m["@id"],name:m.name})}catch(E){p.e(E)}finally{p.f()}f.length>0?s.push({"@id":d.entityId,name:d.name,hits:f}):u.push(d)}}catch(E){c.e(E)}finally{c.f()}for(console.log({sourceBoxes:n,targetBoxes:i,report:s,sad:u,maxHits:Math.max.apply(Math,v(s.map(function(e){return e.hits.length})))}),y=[],b=0,w=s;b1&&void 0!==arguments[1]?arguments[1]:[],i=_(e.nodes||e.children||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;n.push(r.name),cV(r,n)}}catch(o){i.e(o)}finally{i.f()}return n}var lV=function(){var e=function(){function e(t){var n,i,r,o,a,s=this;m(this,e),this.deckProps=t,this.bodyUILayer=new uV({}),this.nodeClickSubject=new ae,this.nodeHoverStartSubject=new ae,this.nodeHoverStopSubject=new ae,this.sceneRotationSubject=new vv([0,0]),this.nodeDragStartSubject=new ae,this.nodeDragSubject=new ae,this.nodeDragEndSubject=new ae,this.nodeClick$=this.nodeClickSubject.pipe(je()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(je()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(je()),this.sceneRotation$=this.sceneRotationSubject.pipe(je()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(je()),this.nodeDrag$=this.nodeDragSubject.pipe(je()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(je());var u=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new UM({flipY:!1,near:-1e3}):new qM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:function(e){var t;return null!==(t=s.cursor)&&void 0!==t?t:e.isDragging?"grabbing":"grab"}});t.legacyLighting&&(u.effects=[new mI({ambientLight:new KM({color:[255,255,255],intensity:10})})]),this.deck=new kD(u),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(n=t.minRotationX)&&void 0!==n?n:-15,maxRotationX:null!==(i=t.maxRotationX)&&void 0!==i?i:15,target:null!==(r=t.target)&&void 0!==r?r:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}return b(e,[{key:"initialize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.bodyUILayer.state){e.next=5;break}return e.next=3,new Promise(function(e){setTimeout(e,200)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e,this)}))}},{key:"finalize",value:function(){this.deck.finalize()}},{key:"setScene",value:function(e){if((null==e?void 0:e.length)>0){var t,n=this.bodyUILayer.state.zoomOpacity,i=!1,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.zoomToOnLoad&&(this.zoomTo(o),i=!0)}}catch(a){r.e(a)}finally{r.f()}n=i?.05:n,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(e,n):this.bodyUILayer.setState({data:e,zoomOpacity:n})}}},{key:"debugSceneNodeProcessing",value:function(e,t){var n=this,i="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",r=new $O([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(e,t,n){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s,u,c,l,d,f,p,g,m,y,b,w,k,x,S,C;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return nV(),n.next=3,rV({scenegraph:e,scenegraphNode:"VHF_Kidney_L_Low1"});case 3:i=n.sent,r={},o=[],a=_(i.scenes);try{for(a.s();!(s=a.n()).done;)tV(s.value,t=new $O(t||$O.IDENTITY),function(n,i){var a={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new $O(i),geometry:"wireframe",node:n};if(o.push({"@id":"GLTF:".concat(a["@id"]),"@type":"GLTFNode",scenegraph:e,scenegraphNode:a["@id"],transformMatrix:new $O(t||$O.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0){var s,u=_(n.mesh.primitives);try{for(u.s();!(s=u.n()).done;){var c=s.value;c.attributes.POSITION&&c.attributes.POSITION.min&&function(){var e=i.transformAsPoint(c.attributes.POSITION.min,[]),t=i.transformAsPoint(c.attributes.POSITION.max,[]);a.bbox=new HF({lowerBound:h(BF,v(e.map(function(e,n){return Math.min(e,t[n])}))),upperBound:h(BF,v(t.map(function(t,n){return Math.max(t,e[n])})))})}()}}catch(l){u.e(l)}finally{u.f()}}return r[a["@id"]]=a,!0})}catch(E){a.e(E)}finally{a.f()}u=_(Object.values(r).filter(function(e){return!e.bbox}));try{for(u.s();!(c=u.n()).done;){l=c.value,d=_(cV(l.node).map(function(e){return r[e]}).filter(function(e){return e.bbox}));try{for(d.s();!(f=d.n()).done;)p=f.value,l.bbox?l.bbox.extend(p.bbox):l.bbox=p.bbox.clone()}catch(E){d.e(E)}finally{d.f()}l.bbox||delete r[l["@id"]]}}catch(E){u.e(E)}finally{u.f()}for(g=0,m=Object.values(r);g1&&void 0!==arguments[1]?arguments[1]:hV,n=null,i=null;function r(){return dV(t,n,arguments)||(i=e.apply(null,arguments)),n=arguments,i}return r.reset=function(){n=null,i=null},r}var pV=fV(function(){var e=ch();if(!e)return!1;var t=e.injector.get(Gl,null);return!!t&&t.some(function(e){return(e&&e.providers||[]).some(function(e){return e&&e.provide&&"MockNgModuleResolver"===e.provide.name||!1})})}),vV=function(){var e=function(){function e(){m(this,e),this.bootstrap$=new Bf(1)}return b(e,[{key:"appBootstrapped$",get:function(){return this.bootstrap$.asObservable()}},{key:"bootstrap",value:function(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gV=new Ri("INITIAL_STATE_TOKEN"),mV=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"set",value:function(e){this.value=e}},{key:"pop",value:function(){var e=this.value;return this.value={},e}}]),e}();return e.value={},e}(),yV=new Ri("Internals.StateContextFactory"),bV=new Ri("Internals.StateFactory");function _V(e,t){return t?function(n){return n.pipe(_V(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))}))}:function(t){return t.lift(new wV(e))}}var wV=function(){function e(t){m(this,e),this.project=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kV(e,this.project))}}]),e}(),kV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).project=i,r.hasSubscription=!1,r.hasCompleted=!1,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.hasSubscription||this.tryNext(e)}},{key:"tryNext",value:function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(t)}},{key:"_innerSub",value:function(e){var t=new be(this),n=this.destination;n.add(t);var i=we(e,t);i!==t&&n.add(i)}},{key:"_complete",value:function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}},{key:"notifyNext",value:function(e){this.destination.next(e)}},{key:"notifyError",value:function(e){this.destination.error(e)}},{key:"notifyComplete",value:function(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}]),n}(_e);function xV(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(t){return t.lift(new SV(e))}}var SV=function(){function e(t){m(this,e),this.defaultValue=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CV(e,this.defaultValue))}}]),e}(),CV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).defaultValue=i,r.isEmpty=!0,r}return b(n,[{key:"_next",value:function(e){this.isEmpty=!1,this.destination.next(e)}},{key:"_complete",value:function(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}]),n}(K),EV=function(e){return"".concat(e," is not a valid state name. It needs to be a valid object property name.")},OV=function(){return"States must register a 'name' property"},TV=function(e,t,n){return"State name '".concat(e,"' from ").concat(t," already exists in ").concat(n)},PV=function(){return"States must be decorated with @State() decorator"},AV=function(){return"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},MV=function(){return"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},IV=function(){return"You have forgotten to import the NGXS module!"},RV=function(){return"@Action() decorator cannot be used with static methods"},DV=function(){return"Selectors only work on methods"},NV=function(){return"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })"},LV=function(){return"Patching arrays is not supported."},jV=function(){return"Patching primitives is not supported."},FV=function(e){return"'".concat(e,"' class should be decorated with @Injectable() right after the @State() decorator")},BV=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._platformId=n,this.verifyZoneIsNotNooped(this._ngZone)}return b(e,[{key:"enter",value:function(e){return function(e){return"server"===e}(this._platformId)?this.runInsideAngular(e):this.runOutsideAngular(e)}},{key:"leave",value:function(e){return this.runInsideAngular(e)}},{key:"runInsideAngular",value:function(e){return Xl.isInAngularZone()?e():this._ngZone.run(e)}},{key:"runOutsideAngular",value:function(e){return Xl.isInAngularZone()?this._ngZone.runOutsideAngular(e):e()}},{key:"verifyZoneIsNotNooped",value:function(e){e instanceof Xl||console.warn(NV())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(Ml))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),VV=new Ri("ROOT_STATE_TOKEN"),zV=new Ri("FEATURE_STATE_TOKEN"),UV=new Ri("NGXS_PLUGINS"),HV=new Ri("NG_TEST_MODE"),GV=new Ri("NG_DEV_MODE"),WV="NGXS_META",qV="NGXS_OPTIONS_META",XV="NGXS_SELECTOR_META",YV=function(){var e=function e(){m(this,e),this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=BV};return e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)}}),e}(),KV=function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i},$V=new Ri("NGXS_EXECUTION_STRATEGY");function QV(e){return e.constructor&&e.constructor.type?e.constructor.type:e.type}var ZV=function(e,t,n){e=Object.assign({},e);var i=t.split("."),r=i.length-1;return i.reduce(function(e,t,i){return e[t]=i===r?n:Array.isArray(e[t])?e[t].slice():Object.assign({},e[t]),e&&e[t]},e),e},JV=function(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)},ez=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},tz=function e(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:uz,i=function(e){return e.reduce(function(e,t){return e[QV(t)]=!0,e},{})}(e),r=t&&function(e){return e.reduce(function(e,t){return e[t]=!0,e},{})}(t);return function(e){return e.pipe(function(e,t){return bf(function(n){var i=QV(n.action);return e[i]&&(!t||t[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function uz(){return ce(function(e){return e.action})}function cz(e){return function(t){return new te(function(n){return t.subscribe({next:function(t){e.leave(function(){return n.next(t)})},error:function(t){e.leave(function(){return n.error(t)})},complete:function(){e.leave(function(){return n.complete()})}})})}}var lz=function(){var e=function(){function e(t){m(this,e),this._executionStrategy=t}return b(e,[{key:"enter",value:function(e){return this._executionStrategy.enter(e)}},{key:"leave",value:function(e){return this._executionStrategy.leave(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi($V))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),hz=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._itemQueue=[],e._busyPushingNext=!1,e}return b(i,[{key:"next",value:function(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,e(p(i.prototype),"next",this).call(this,t);this._itemQueue.length>0;){var n=this._itemQueue.pop();e(p(i.prototype),"next",this).call(this,n)}this._busyPushingNext=!1}}}]),i}(ae),dz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(hz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),fz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,function(t){var n=e.pipe(cz(i)).subscribe({next:function(e){return t.next(e)},error:function(e){return t.error(e)},complete:function(){return t.complete()}});t.add(n)})}return n}(te);return e.\u0275fac=function(t){return new(t||e)(Zi(dz),Zi(lz))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),pz=function e(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(o)||(o=[]),o.push(r),n[r]=!0,e[r].forEach(function(e){if(o.indexOf(e)>=0)throw new Error("Circular dependency '".concat(e,"' is required by '").concat(r,"': ").concat(o.join(" -> ")));n[e]||i(e,o.slice(0))}),t.indexOf(r)<0&&t.push(r)};return Object.keys(e).forEach(function(e){return i(e)}),t.reverse()}(r),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function e(t,n){for(var i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(n)>=0){var r=e(t,i);return null!==r?"".concat(r,".").concat(i):i}return null};for(var i in e)if(e.hasOwnProperty(i)){var r=n(e,i);t[i]=r?"".concat(r,".").concat(i):i}return t}(r),s=function(e){return e.reduce(function(e,t){return e[t[WV].name]=t,e},{})}(n),u=[],c=_(o);try{for(c.s();!(i=c.n()).done;){var l=i.value,h=s[l],d=a[l],f=h[WV];this.addRuntimeInfoToMeta(f,d);var p={name:l,path:d,isInitialised:!1,actions:f.actions,instance:this._injector.get(h),defaults:e.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(l,d)||u.push(p),this.states.push(p)}}catch(v){c.e(v)}finally{c.f()}return u}},{key:"addAndReturnDefaults",value:function(e){var t=this.add(e||[]);return{defaults:t.reduce(function(e,t){return ZV(e,t.path,t.defaults)},{}),states:t}}},{key:"connectActionHandlers",value:function(){var e=this;null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(bf(function(e){return"DISPATCHED"===e.status}),ke(function(t){var n=t.action;return e.invokeActions(e._actions,n).pipe(ce(function(){return{action:n,status:"SUCCESSFUL"}}),xV({action:n,status:"CANCELED"}),Bb(function(e){return $d({action:n,status:"ERRORED",error:e})}))})).subscribe(function(t){return e._actionResults.next(t)}))}},{key:"invokeActions",value:function(e,t){var n,i=QV(t),r=[],o=_(this.states);try{for(o.s();!(n=o.n()).done;){var a=n.value,s=a.actions[i];if(s){var u,c=_(s);try{for(c.s();!(u=c.n()).done;){var l=u.value,h=this._stateContextFactory.createStateContext(a);try{var d=a.instance[l.fn](h,t);d instanceof Promise&&(d=ye(d)),d instanceof te?(d=d.pipe(xV({})),l.options.cancelUncompleted&&(d=d.pipe(kf(e.pipe(sz(t)))))):d=$d({}).pipe(zf()),r.push(d)}catch(d){r.push(Rf(d))}}}catch(f){c.e(f)}finally{c.f()}}}}catch(f){o.e(f)}finally{o.f()}return r.length||r.push($d({})),jb(r)}},{key:"addToStatesMap",value:function(e){var t,n=[],i=this.statesByName,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=Sz.checkStateNameIsUnique(o,i);!i[a]&&(n.push(o),i[a]=o)}}catch(s){r.e(s)}finally{r.f()}return{newStates:n}}},{key:"addRuntimeInfoToMeta",value:function(e,t){this.statePaths[e.name]=t,e.path=t}},{key:"hasBeenMountedAndBootstrapped",value:function(e,t){var n=void 0!==JV(this._initialState,t);return this.statesByName[e]&&n}}],[{key:"cloneDefaults",value:function(e){return Array.isArray(e)?e.slice():function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e)?Object.assign({},e):void 0===e?{}:e}},{key:"checkStatesAreValid",value:function(e){e.forEach(Sz.getValidStateMeta)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(YV),Zi(e,12),Zi(dz),Zi(mz),Zi(xz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ez=function(){var e=function(){function e(t,n,i){m(this,e),this.internalStateOperations=t,this.stateContextFactory=n,this.bootstrapper=i}return b(e,[{key:"ngxsBootstrap",value:function(e,t){var n=this;this.internalStateOperations.getRootStateOperations().dispatch(e).pipe(bf(function(){return!!t}),mv(function(){return n.invokeInit(t.states)}),ke(function(){return n.bootstrapper.appBootstrapped$}),bf(function(e){return!!e})).subscribe(function(){return n.invokeBootstrap(t.states)})}},{key:"invokeInit",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;if(r.ngxsOnChanges){var o=az(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(o)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}catch(a){n.e(a)}finally{n.f()}}},{key:"invokeBootstrap",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}catch(o){n.e(o)}finally{n.f()}}},{key:"getStateContext",value:function(e){return this.stateContextFactory.createStateContext(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(kz),Zi(xz),Zi(vV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Oz=function(e){return e&&e.NGXS_SELECTOR_OPTIONS_META||{}};function Tz(e){var t=rz(e)||iz(e);return t&&t.makeRootSelector||function(){return e}}var Pz=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._stateStream=t,this._internalStateOperations=n,this._config=i,this._internalExecutionStrategy=r,this._stateFactory=o,this.initStateStream(a)}return b(e,[{key:"dispatch",value:function(e){return this._internalStateOperations.getRootStateOperations().dispatch(e)}},{key:"select",value:function(e){var t=this,n=this.getStoreBoundSelectorFn(e);return this._stateStream.pipe(ce(n),Bb(function(e){var n=t._config.selectorOptions.suppressErrors;return e instanceof TypeError&&n?$d(void 0):Rf(e)}),lf(),cz(this._internalExecutionStrategy))}},{key:"selectOnce",value:function(e){return this.select(e).pipe(_p(1))}},{key:"selectSnapshot",value:function(e){return this.getStoreBoundSelectorFn(e)(this._stateStream.getValue())}},{key:"subscribe",value:function(e){return this._stateStream.pipe(cz(this._internalExecutionStrategy)).subscribe(e)}},{key:"snapshot",value:function(){return this._internalStateOperations.getRootStateOperations().getState()}},{key:"reset",value:function(e){return this._internalStateOperations.getRootStateOperations().setState(e)}},{key:"getStoreBoundSelectorFn",value:function(e){return Tz(e)(this._stateFactory.getRuntimeSelectorContext())}},{key:"initStateStream",value:function(e){var t=this._stateStream.value;if(!t||0===Object.keys(t).length){var n=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,e):e;this._stateStream.next(n)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(vz),Zi(kz),Zi(YV),Zi(lz),Zi(Cz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Az=function(){var e=function(){function e(t,n){m(this,e),e.store=t,e.config=n}return b(e,[{key:"ngOnDestroy",value:function(){e.store=null,e.config=null}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz),Zi(YV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e.store=null,e.config=null,e}(),Mz=function(){function e(){m(this,e)}return b(e,null,[{key:"type",get:function(){return"@@INIT"}}]),e}(),Iz=function(){function e(t){m(this,e),this.addedStates=t}return b(e,null,[{key:"type",get:function(){return"@@UPDATE_STATE"}}]),e}(),Rz=new Bf(1),Dz=function(){var e=function e(t,n,i,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;m(this,e),function(){try{var t=window.ng,n=!(t.probe&&t.coreTokens)&&ah();Rz.next(n)}catch(e){Rz.next(!1)}finally{Rz.complete()}}();var s=t.addAndReturnDefaults(o);n.setStateToTheCurrentWithNew(s),t.connectActionHandlers(),a.ngxsBootstrap(new Mz,s)};return e.\u0275fac=function(t){return new(t||e)(Zi(Cz),Zi(kz),Zi(Pz),Zi(Az),Zi(VV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Nz=function(){var e=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;m(this,e);var a=e.flattenStates(r),s=i.addAndReturnDefaults(a);s.states.length&&(n.setStateToTheCurrentWithNew(s),o.ngxsBootstrap(new Iz(s.defaults),s))}return b(e,null,[{key:"flattenStates",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce(function(e,t){return e.concat(t)},[])}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz),Zi(kz),Zi(Cz),Zi(zV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Lz=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{ngModule:Dz,providers:[Cz,xz,fz,dz,vV,wz,_z,Ez,yz,mz,kz,lz,Pz,vz,Az,gz].concat(v(t),v(e.ngxsTokenProviders(t,n)))}}},{key:"forFeature",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:Nz,providers:[Cz,gz].concat(v(e),[{provide:zV,multi:!0,useValue:e}])}}},{key:"ngxsTokenProviders",value:function(t,n){return[{provide:HV,useValue:pV},{provide:GV,useValue:ah},{provide:$V,useClass:n.executionStrategy||BV},{provide:VV,useValue:t},{provide:e.ROOT_OPTIONS,useValue:n},{provide:YV,useFactory:e.ngxsConfigFactory,deps:[e.ROOT_OPTIONS]},{provide:Il,useFactory:e.appBootstrapListenerFactory,multi:!0,deps:[vV]},{provide:gV,useFactory:e.getInitialState},{provide:yV,useExisting:xz},{provide:bV,useExisting:Cz}]}},{key:"ngxsConfigFactory",value:function(e){return tz(new YV,e)}},{key:"appBootstrapListenerFactory",value:function(e){return function(){return e.bootstrap()}}},{key:"getInitialState",value:function(){return mV.pop()}}]),e}();function jz(e,t){return function(n,i){if(n.hasOwnProperty("prototype"))throw new Error(RV());var r=nz(n.constructor);Array.isArray(e)||(e=[e]);var o,a=_(e);try{for(a.s();!(o=a.n()).done;){var s=o.value.type;r.actions[s]||(r.actions[s]=[]),r.actions[s].push({fn:i,options:t||{},type:s})}}catch(u){a.e(u)}finally{a.f()}}}function Fz(e){return function(t){!function(e){Rz.subscribe(function(t){t&&(e.\u0275prov||console.warn(FV(e.name)))})}(t);var n=t,i=nz(n),r=Object.getPrototypeOf(n),o=function(t){return Object.assign({},t[qV]||{},e)}(r);(function(e){var t=e.meta,n=e.inheritedStateClass,i=e.optionsWithInheritance,r=i.children,o=i.defaults,a=i.name,s="string"==typeof a?a:a&&a.getName()||null;Sz.checkCorrectStateName(s),n.hasOwnProperty(WV)&&(t.actions=Object.assign({},t.actions,(n[WV]||{}).actions)),t.children=r,t.defaults=o,t.name=s})({meta:i,inheritedStateClass:r,optionsWithInheritance:o}),n[qV]=o}}function Bz(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:[];return"string"==typeof(t=t||function(e){var t=e.length-1;return 36===e.charCodeAt(t)?e.slice(0,t):e}(e))?oz(n.length?[t].concat(v(n)):t.split("."),Az.config):t}(a,e,n);Object.defineProperties(t,(o(r={},s,{writable:!0,enumerable:!1,configurable:!0}),o(r,a,{enumerable:!0,configurable:!0,get:function(){return this[s]||(this[s]=function(e){if(!Az.store)throw new Error(IV());return Az.store.select(e)}(u))}}),r))}}function Vz(e){return function(t,n,i){if(!i||null===i.value)throw new Error(DV());var r=i.value,o=function(e,t,n){var i=n&&n.containerClass,r=fV(function(){for(var e=arguments.length,n=new Array(e),r=0;r2&&void 0!==arguments[2]?arguments[2]:[],i=t.getSelectorOptions(),r=e.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=[];return n&&(0===e.length||t.injectContainerState)&&iz(n)&&i.push(n),e&&i.push.apply(i,v(e)),i}(n,r,t.containerClass).map(function(t){return Tz(t)(e)})}}(t,o,e),i=n.argumentSelectorFunctions,a=n.selectorOptions;return function(e){var t=i.map(function(t){return t(e)});try{return r.apply(void 0,v(t))}catch(n){if(n instanceof TypeError&&a.suppressErrors)return;throw n}}},r}(e,r,{containerClass:t,selectorName:n.toString(),getSelectorOptions:function(){return{}}}),a={configurable:!0,get:function(){return o}};return a.originalFn=r,a}}Lz.\u0275fac=function(e){return new(e||Lz)},Lz.\u0275mod=Mt({type:Lz}),Lz.\u0275inj=Qe({}),Lz.ROOT_OPTIONS=new Ri("ROOT_OPTIONS");var zz=function(){var e=function(){function e(t,n){m(this,e),this._renderer=t,this._elementRef=n,this.onChange=function(e){},this.onTouched=function(){}}return b(e,[{key:"setProperty",value:function(e,t){this._renderer.setProperty(this._elementRef.nativeElement,e,t)}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"registerOnChange",value:function(e){this.onChange=e}},{key:"setDisabledState",value:function(e){this.setProperty("disabled",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju))},e.\u0275dir=Rt({type:e}),e}(),Uz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(zz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),Hz=new Ri("NgValueAccessor"),Gz={provide:Hz,useExisting:He(function(){return qz}),multi:!0},Wz=new Ri("CompositionEventMode"),qz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e,i))._compositionMode=r,o._composing=!1,null==o._compositionMode&&(o._compositionMode=!function(){var e=yh()?yh().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}()),o}return b(n,[{key:"writeValue",value:function(e){this.setProperty("value",null==e?"":e)}},{key:"_handleInput",value:function(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}},{key:"_compositionStart",value:function(){this._composing=!0}},{key:"_compositionEnd",value:function(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}]),n}(zz);return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Wz,8))},e.\u0275dir=Rt({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(e,t){1&e&&Vs("input",function(e){return t._handleInput(e.target.value)})("blur",function(){return t.onTouched()})("compositionstart",function(){return t._compositionStart()})("compositionend",function(e){return t._compositionEnd(e.target.value)})},features:[Xu([Gz]),cs]}),e}(),Xz=new Ri("NgValidators"),Yz=new Ri("NgAsyncValidators");function Kz(e){return null!=e}function $z(e){var t=js(e)?ye(e):e;return Bs(t),t}function Qz(e){var t={};return e.forEach(function(e){t=null!=e?Object.assign(Object.assign({},t),e):t}),0===Object.keys(t).length?null:t}function Zz(e,t){return t.map(function(t){return t(e)})}function Jz(e){return e.map(function(e){return function(e){return!e.validate}(e)?e:function(t){return e.validate(t)}})}function eU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return Qz(Zz(e,t))}}(Jz(e)):null}function tU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return jb(Zz(e,t).map($z)).pipe(ce(Qz))}}(Jz(e)):null}function nU(e,t){return null===e?[t]:Array.isArray(e)?[].concat(v(e),[t]):[e,t]}function iU(e){return e._rawValidators}function rU(e){return e._rawAsyncValidators}function oU(e){return e?Array.isArray(e)?e:[e]:[]}function aU(e,t){return Array.isArray(e)?e.includes(t):e===t}function sU(e,t){var n=oU(t);return oU(e).forEach(function(e){aU(n,e)||n.push(e)}),n}function uU(e,t){return oU(t).filter(function(t){return!aU(e,t)})}var cU=function(){var e=function(){function e(){m(this,e),this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}return b(e,[{key:"value",get:function(){return this.control?this.control.value:null}},{key:"valid",get:function(){return this.control?this.control.valid:null}},{key:"invalid",get:function(){return this.control?this.control.invalid:null}},{key:"pending",get:function(){return this.control?this.control.pending:null}},{key:"disabled",get:function(){return this.control?this.control.disabled:null}},{key:"enabled",get:function(){return this.control?this.control.enabled:null}},{key:"errors",get:function(){return this.control?this.control.errors:null}},{key:"pristine",get:function(){return this.control?this.control.pristine:null}},{key:"dirty",get:function(){return this.control?this.control.dirty:null}},{key:"touched",get:function(){return this.control?this.control.touched:null}},{key:"status",get:function(){return this.control?this.control.status:null}},{key:"untouched",get:function(){return this.control?this.control.untouched:null}},{key:"statusChanges",get:function(){return this.control?this.control.statusChanges:null}},{key:"valueChanges",get:function(){return this.control?this.control.valueChanges:null}},{key:"path",get:function(){return null}},{key:"_setValidators",value:function(e){this._rawValidators=e||[],this._composedValidatorFn=eU(this._rawValidators)}},{key:"_setAsyncValidators",value:function(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=tU(this._rawAsyncValidators)}},{key:"validator",get:function(){return this._composedValidatorFn||null}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn||null}},{key:"_registerOnDestroy",value:function(e){this._onDestroyCallbacks.push(e)}},{key:"_invokeOnDestroyCallbacks",value:function(){this._onDestroyCallbacks.forEach(function(e){return e()}),this._onDestroyCallbacks=[]}},{key:"reset",value:function(e){this.control&&this.control.reset(e)}},{key:"hasError",value:function(e,t){return!!this.control&&this.control.hasError(e,t)}},{key:"getError",value:function(e,t){return this.control?this.control.getError(e,t):null}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),lU=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"formDirective",get:function(){return null}},{key:"path",get:function(){return null}}]),n}(cU);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),hU=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._parent=null,e.name=null,e.valueAccessor=null,e}return n}(cU),dU=function(){function e(t){m(this,e),this._cd=t}return b(e,[{key:"is",value:function(e){var t,n,i;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[e])}}]),e}(),fU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(hU,2))},e.\u0275dir=Rt({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))},features:[cs]}),e}(),pU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))("ng-submitted",t.is("submitted"))},features:[cs]}),e}();function vU(e,t){yU(e,t),t.valueAccessor.writeValue(e.value),function(e,t){t.valueAccessor.registerOnChange(function(n){e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&_U(e,t)})}(e,t),function(e,t){var n=function(e,n){t.valueAccessor.writeValue(e),n&&t.viewToModelUpdate(e)};e.registerOnChange(n),t._registerOnDestroy(function(){e._unregisterOnChange(n)})}(e,t),function(e,t){t.valueAccessor.registerOnTouched(function(){e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&_U(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function(e,t){if(t.valueAccessor.setDisabledState){var n=function(e){t.valueAccessor.setDisabledState(e)};e.registerOnDisabledChange(n),t._registerOnDestroy(function(){e._unregisterOnDisabledChange(n)})}}(e,t)}function gU(e,t){var n=function(){};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),bU(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(function(){}))}function mU(e,t){e.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function yU(e,t){var n=iU(e);null!==t.validator?e.setValidators(nU(n,t.validator)):"function"==typeof n&&e.setValidators([n]);var i=rU(e);null!==t.asyncValidator?e.setAsyncValidators(nU(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);var r=function(){return e.updateValueAndValidity()};mU(t._rawValidators,r),mU(t._rawAsyncValidators,r)}function bU(e,t){var n=!1;if(null!==e){if(null!==t.validator){var i=iU(e);if(Array.isArray(i)&&i.length>0){var r=i.filter(function(e){return e!==t.validator});r.length!==i.length&&(n=!0,e.setValidators(r))}}if(null!==t.asyncValidator){var o=rU(e);if(Array.isArray(o)&&o.length>0){var a=o.filter(function(e){return e!==t.asyncValidator});a.length!==o.length&&(n=!0,e.setAsyncValidators(a))}}}var s=function(){};return mU(t._rawValidators,s),mU(t._rawAsyncValidators,s),n}function _U(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function wU(e,t){yU(e,t)}function kU(e,t){if(!e.hasOwnProperty("model"))return!1;var n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}function xU(e,t){e._syncPendingControls(),t.forEach(function(e){var t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)})}function SU(e,t){return t?(Array.isArray(t),t.forEach(function(e){e.constructor===qz?n=e:function(e){return Object.getPrototypeOf(e.constructor)===Uz}(e)?i=e:r=e}),r||i||n||null):null;var n,i,r}function CU(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var EU="VALID",OU="INVALID",TU="PENDING",PU="DISABLED";function AU(e){return(DU(e)?e.validators:e)||null}function MU(e){return Array.isArray(e)?eU(e):e||null}function IU(e,t){return(DU(t)?t.asyncValidators:e)||null}function RU(e){return Array.isArray(e)?tU(e):e||null}function DU(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var NU=function(){function e(t,n){m(this,e),this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=MU(this._rawValidators),this._composedAsyncValidatorFn=RU(this._rawAsyncValidators)}return b(e,[{key:"validator",get:function(){return this._composedValidatorFn},set:function(e){this._rawValidators=this._composedValidatorFn=e}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn},set:function(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}},{key:"parent",get:function(){return this._parent}},{key:"valid",get:function(){return this.status===EU}},{key:"invalid",get:function(){return this.status===OU}},{key:"pending",get:function(){return this.status==TU}},{key:"disabled",get:function(){return this.status===PU}},{key:"enabled",get:function(){return this.status!==PU}},{key:"dirty",get:function(){return!this.pristine}},{key:"untouched",get:function(){return!this.touched}},{key:"updateOn",get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"setValidators",value:function(e){this._rawValidators=e,this._composedValidatorFn=MU(e)}},{key:"setAsyncValidators",value:function(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=RU(e)}},{key:"addValidators",value:function(e){this.setValidators(sU(e,this._rawValidators))}},{key:"addAsyncValidators",value:function(e){this.setAsyncValidators(sU(e,this._rawAsyncValidators))}},{key:"removeValidators",value:function(e){this.setValidators(uU(e,this._rawValidators))}},{key:"removeAsyncValidators",value:function(e){this.setAsyncValidators(uU(e,this._rawAsyncValidators))}},{key:"hasValidator",value:function(e){return aU(this._rawValidators,e)}},{key:"hasAsyncValidator",value:function(e){return aU(this._rawAsyncValidators,e)}},{key:"clearValidators",value:function(){this.validator=null}},{key:"clearAsyncValidators",value:function(){this.asyncValidator=null}},{key:"markAsTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}},{key:"markAllAsTouched",value:function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(e){return e.markAllAsTouched()})}},{key:"markAsUntouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(e){e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"markAsDirty",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}},{key:"markAsPristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(e){e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"markAsPending",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.status=TU,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}},{key:"disable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=PU,this.errors=null,this._forEachChild(function(t){t.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!0)})}},{key:"enable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=EU,this._forEachChild(function(t){t.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!1)})}},{key:"_updateAncestors",value:function(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}},{key:"setParent",value:function(e){this._parent=e}},{key:"updateValueAndValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===EU||this.status===TU)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}},{key:"_updateTreeValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{emitEvent:!0};this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}},{key:"_setInitialStatus",value:function(){this.status=this._allControlsDisabled()?PU:EU}},{key:"_runValidator",value:function(){return this.validator?this.validator(this):null}},{key:"_runAsyncValidator",value:function(e){var t=this;if(this.asyncValidator){this.status=TU,this._hasOwnPendingAsyncValidator=!0;var n=$z(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){t._hasOwnPendingAsyncValidator=!1,t.setErrors(n,{emitEvent:e})})}}},{key:"_cancelExistingSubscription",value:function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}},{key:"setErrors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}},{key:"get",value:function(e){return function(e,t,n){if(null==t||(Array.isArray(t)||(t=t.split(".")),Array.isArray(t)&&0===t.length))return null;var i=e;return t.forEach(function(e){i=i instanceof jU?i.controls.hasOwnProperty(e)?i.controls[e]:null:i instanceof FU&&i.at(e)||null}),i}(this,e)}},{key:"getError",value:function(e,t){var n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}},{key:"hasError",value:function(e,t){return!!this.getError(e,t)}},{key:"root",get:function(){for(var e=this;e._parent;)e=e._parent;return e}},{key:"_updateControlsErrors",value:function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}},{key:"_initObservables",value:function(){this.valueChanges=new ol,this.statusChanges=new ol}},{key:"_calculateStatus",value:function(){return this._allControlsDisabled()?PU:this.errors?OU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(TU)?TU:this._anyControlsHaveStatus(OU)?OU:EU}},{key:"_anyControlsHaveStatus",value:function(e){return this._anyControls(function(t){return t.status===e})}},{key:"_anyControlsDirty",value:function(){return this._anyControls(function(e){return e.dirty})}},{key:"_anyControlsTouched",value:function(){return this._anyControls(function(e){return e.touched})}},{key:"_updatePristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"_updateTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"_isBoxedValue",value:function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}},{key:"_registerOnCollectionChange",value:function(e){this._onCollectionChange=e}},{key:"_setUpdateStrategy",value:function(e){DU(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}},{key:"_parentMarkedDirty",value:function(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}]),e}(),LU=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0;return m(this,n),(e=t.call(this,AU(r),IU(o,r)))._onChange=[],e._applyFormState(i),e._setUpdateStrategy(r),e._initObservables(),e.updateValueAndValidity({onlySelf:!0,emitEvent:!!e.asyncValidator}),e}return b(n,[{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.value=this._pendingValue=e,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(function(e){return e(t.value,!1!==n.emitViewToModelChange)}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.setValue(e,t)}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}},{key:"_updateValue",value:function(){}},{key:"_anyControls",value:function(e){return!1}},{key:"_allControlsDisabled",value:function(){return this.disabled}},{key:"registerOnChange",value:function(e){this._onChange.push(e)}},{key:"_unregisterOnChange",value:function(e){CU(this._onChange,e)}},{key:"registerOnDisabledChange",value:function(e){this._onDisabledChange.push(e)}},{key:"_unregisterOnDisabledChange",value:function(e){CU(this._onDisabledChange,e)}},{key:"_forEachChild",value:function(e){}},{key:"_syncPendingControls",value:function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}},{key:"_applyFormState",value:function(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}]),n}(NU),jU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,AU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"registerControl",value:function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}},{key:"addControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"removeControl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"contains",value:function(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),Object.keys(e).forEach(function(i){t._throwIfControlMissing(i),t.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(Object.keys(e).forEach(function(i){t.controls[i]&&t.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this._reduceChildren({},function(e,t,n){return e[n]=t instanceof LU?t.value:t.getRawValue(),e})}},{key:"_syncPendingControls",value:function(){var e=this._reduceChildren(!1,function(e,t){return!!t._syncPendingControls()||e});return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error("Cannot find form control with name: ".concat(e,"."))}},{key:"_forEachChild",value:function(e){var t=this;Object.keys(this.controls).forEach(function(n){var i=t.controls[n];i&&e(i,n)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})}},{key:"_updateValue",value:function(){this.value=this._reduceValue()}},{key:"_anyControls",value:function(e){for(var t=0,n=Object.keys(this.controls);t0||this.disabled}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '".concat(n,"'."))})}}]),n}(NU),FU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,AU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"at",value:function(e){return this.controls[e]}},{key:"push",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"insert",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:n.emitEvent})}},{key:"removeAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"length",get:function(){return this.controls.length}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),e.forEach(function(e,i){t._throwIfControlMissing(i),t.at(i).setValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(e.forEach(function(e,i){t.at(i)&&t.at(i).patchValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this.controls.map(function(e){return e instanceof LU?e.value:e.getRawValue()})}},{key:"clear",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.controls.length<1||(this._forEachChild(function(e){return e._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}},{key:"_syncPendingControls",value:function(){var e=this.controls.reduce(function(e,t){return!!t._syncPendingControls()||e},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error("Cannot find form control at index ".concat(e))}},{key:"_forEachChild",value:function(e){this.controls.forEach(function(t,n){e(t,n)})}},{key:"_updateValue",value:function(){var e=this;this.value=this.controls.filter(function(t){return t.enabled||e.disabled}).map(function(e){return e.value})}},{key:"_anyControls",value:function(e){return this.controls.some(function(t){return t.enabled&&e(t)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: ".concat(n,"."))})}},{key:"_allControlsDisabled",value:function(){var e,t=_(this.controls);try{for(t.s();!(e=t.n()).done;){if(e.value.enabled)return!1}}catch(n){t.e(n)}finally{t.f()}return this.controls.length>0||this.disabled}},{key:"_registerControl",value:function(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}]),n}(NU),BU={provide:lU,useExisting:He(function(){return zU})},VU=Promise.resolve(null),zU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).submitted=!1,r._directives=[],r.ngSubmit=new ol,r.form=new jU({},eU(e),tU(i)),r}return b(n,[{key:"ngAfterViewInit",value:function(){this._setUpdateStrategy()}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"controls",get:function(){return this.form.controls}},{key:"addControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);e.control=n.registerControl(e.name,e.control),vU(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),t._directives.push(e)})}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name),CU(t._directives,e)})}},{key:"addFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path),i=new jU({});wU(i,e),n.registerControl(e.name,i),i.updateValueAndValidity({emitEvent:!1})})}},{key:"removeFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name)})}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){var n=this;VU.then(function(){n.form.get(e.path).setValue(t)})}},{key:"setValue",value:function(e){this.control.setValue(e)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this._directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}},{key:"_findContainer",value:function(e){return e.pop(),e.length?this.form.get(e):this.form}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([BU]),cs]}),e}(),UU={provide:hU,useExisting:He(function(){return GU})},HU=Promise.resolve(null),GU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).control=new LU,a._registered=!1,a.update=new ol,a._parent=e,a._setValidators(i),a._setAsyncValidators(r),a.valueAccessor=SU(0,o),a}return b(n,[{key:"ngOnChanges",value:function(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),kU(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"path",get:function(){return this._parent?function(e,t){return[].concat(v(t.path),[e])}(this.name,this._parent):[this.name]}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_setUpControl",value:function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}},{key:"_isStandalone",value:function(){return!this._parent||!(!this.options||!this.options.standalone)}},{key:"_setUpStandalone",value:function(){vU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}},{key:"_checkForErrors",value:function(){this._isStandalone()||this._checkParentType(),this._checkName()}},{key:"_checkParentType",value:function(){}},{key:"_checkName",value:function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}},{key:"_updateValue",value:function(e){var t=this;HU.then(function(){t.control.setValue(e,{emitViewToModelChange:!1})})}},{key:"_updateDisabled",value:function(e){var t=this,n=e.isDisabled.currentValue,i=""===n||n&&"false"!==n;HU.then(function(){i&&!t.control.disabled?t.control.disable():!i&&t.control.disabled&&t.control.enable()})}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,9),Os(Xz,10),Os(Yz,10),Os(Hz,10))},e.\u0275dir=Rt({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Xu([UU]),cs,qt]}),e}(),WU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e}(),qU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XU=new Ri("NgModelWithFormControlWarning"),YU={provide:hU,useExisting:He(function(){return KU})},KU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._ngModelWarningConfig=o,a.update=new ol,a._ngModelWarningSent=!1,a._setValidators(e),a._setAsyncValidators(i),a.valueAccessor=SU(0,r),a}return b(n,[{key:"isDisabled",set:function(e){}},{key:"ngOnChanges",value:function(e){if(this._isControlChanged(e)){var t=e.form.previousValue;t&&gU(t,this,!1),vU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}kU(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.form&&gU(this.form,this,!1)}},{key:"path",get:function(){return[]}},{key:"control",get:function(){return this.form}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_isControlChanged",value:function(e){return e.hasOwnProperty("form")}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10),Os(Hz,10),Os(XU,8))},e.\u0275dir=Rt({type:e,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Xu([YU]),cs,qt]}),e._ngModelWarningSentOnce=!1,e}(),$U={provide:lU,useExisting:He(function(){return QU})},QU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).validators=e,r.asyncValidators=i,r.submitted=!1,r._onCollectionChange=function(){return r._updateDomValue()},r.directives=[],r.form=null,r.ngSubmit=new ol,r._setValidators(e),r._setAsyncValidators(i),r}return b(n,[{key:"ngOnChanges",value:function(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}},{key:"ngOnDestroy",value:function(){this.form&&(bU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(function(){}))}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"addControl",value:function(e){var t=this.form.get(e.path);return vU(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),t}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){gU(e.control||null,e,!1),CU(this.directives,e)}},{key:"addFormGroup",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormGroup",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"addFormArray",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormArray",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormArray",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){this.form.get(e.path).setValue(t)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this.directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_updateDomValue",value:function(){var e=this;this.directives.forEach(function(t){var n=t.control,i=e.form.get(t.path);n!==i&&(gU(n||null,t),i instanceof LU&&(vU(i,t),t.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}},{key:"_setUpFormContainer",value:function(e){var t=this.form.get(e.path);wU(t,e),t.updateValueAndValidity({emitEvent:!1})}},{key:"_cleanUpFormContainer",value:function(e){if(this.form){var t=this.form.get(e.path);t&&function(e,t){return bU(e,t)}(t,e)&&t.updateValueAndValidity({emitEvent:!1})}}},{key:"_updateRegistrations",value:function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){})}},{key:"_updateValidators",value:function(){yU(this.form,this),this._oldForm&&bU(this._oldForm,this)}},{key:"_checkFormPresent",value:function(){}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroup",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([$U]),cs,qt]}),e}(),ZU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[qU]]}),e}(),JU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}(),eH=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:[{provide:XU,useValue:t.warnOnNgModelWithFormControl}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}();function tH(e){return new te(function(t){var n;try{n=e()}catch(i){return void t.error(i)}return(n?ye(n):If()).subscribe(t)})}var nH=["underline"],iH=["connectionContainer"],rH=["inputContainer"],oH=["label"];function aH(e,t){1&e&&(Rs(0),As(1,"div",14),Is(2,"div",15),Is(3,"div",16),Is(4,"div",17),Ms(),As(5,"div",18),Is(6,"div",15),Is(7,"div",16),Is(8,"div",17),Ms(),Ds())}function sH(e,t){1&e&&(As(0,"div",19),Ys(1,1),Ms())}function uH(e,t){if(1&e&&(Rs(0),Ys(1,2),As(2,"span"),Cu(3),Ms(),Ds()),2&e){var n=Ws(2);Yo(3),Eu(n._control.placeholder)}}function cH(e,t){1&e&&Ys(0,3,["*ngSwitchCase","true"])}function lH(e,t){1&e&&(As(0,"span",23),Cu(1," *"),Ms())}function hH(e,t){if(1&e){var n=Ls();As(0,"label",20,21),Vs("cdkObserveContent",function(){return bn(n),Ws().updateOutlineGap()}),Cs(2,uH,4,1,"ng-container",12),Cs(3,cH,1,0,"ng-content",12),Cs(4,lH,2,0,"span",22),Ms()}if(2&e){var i=Ws();cu("mat-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-form-field-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-accent","accent"==i.color)("mat-warn","warn"==i.color),Ts("cdkObserveContentDisabled","outline"!=i.appearance)("id",i._labelId)("ngSwitch",i._hasLabel()),ks("for",i._control.id)("aria-owns",i._control.id),Yo(2),Ts("ngSwitchCase",!1),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngIf",!i.hideRequiredMarker&&i._control.required&&!i._control.disabled)}}function dH(e,t){1&e&&(As(0,"div",24),Ys(1,4),Ms())}function fH(e,t){if(1&e&&(As(0,"div",25,26),Is(2,"span",27),Ms()),2&e){var n=Ws();Yo(2),cu("mat-accent","accent"==n.color)("mat-warn","warn"==n.color)}}function pH(e,t){1&e&&(As(0,"div"),Ys(1,5),Ms()),2&e&&Ts("@transitionMessages",Ws()._subscriptAnimationState)}function vH(e,t){if(1&e&&(As(0,"div",31),Cu(1),Ms()),2&e){var n=Ws(2);Ts("id",n._hintLabelId),Yo(1),Eu(n.hintLabel)}}function gH(e,t){if(1&e&&(As(0,"div",28),Cs(1,vH,2,2,"div",29),Ys(2,6),Is(3,"div",30),Ys(4,7),Ms()),2&e){var n=Ws();Ts("@transitionMessages",n._subscriptAnimationState),Yo(1),Ts("ngIf",n.hintLabel)}}var mH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],yH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],bH=new Ri("MatError"),_H={transitionMessages:fg("transitionMessages",[mg("enter",gg({opacity:1,transform:"translateY(0%)"})),yg("void => enter",[gg({opacity:0,transform:"translateY(-5px)"}),pg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},wH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),kH=new Ri("MatHint"),xH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-label"]]}),e}(),SH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-placeholder"]]}),e}(),CH=new Ri("MatPrefix"),EH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matPrefix",""]],features:[Xu([{provide:CH,useExisting:e}])]}),e}(),OH=new Ri("MatSuffix"),TH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matSuffix",""]],features:[Xu([{provide:OH,useExisting:e}])]}),e}(),PH=0,AH=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),MH=new Ri("MAT_FORM_FIELD_DEFAULT_OPTIONS"),IH=new Ri("MatFormField"),RH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,e))._changeDetectorRef=i,l._dir=o,l._defaults=a,l._platform=s,l._ngZone=u,l._outlineGapCalculationNeededImmediately=!1,l._outlineGapCalculationNeededOnStable=!1,l._destroyed=new ae,l._showAlwaysAnimate=!1,l._subscriptAnimationState="",l._hintLabel="",l._hintLabelId="mat-hint-"+PH++,l._labelId="mat-form-field-label-"+PH++,l.floatLabel=l._getDefaultFloatLabelState(),l._animationsEnabled="NoopAnimations"!==c,l.appearance=a&&a.appearance?a.appearance:"legacy",l._hideRequiredMarker=!(!a||null==a.hideRequiredMarker)&&a.hideRequiredMarker,l}return b(n,[{key:"appearance",get:function(){return this._appearance},set:function(e){var t=this._appearance;this._appearance=e||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&t!==e&&(this._outlineGapCalculationNeededOnStable=!0)}},{key:"hideRequiredMarker",get:function(){return this._hideRequiredMarker},set:function(e){this._hideRequiredMarker=Wd(e)}},{key:"_shouldAlwaysFloat",value:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}},{key:"_canLabelFloat",value:function(){return"never"!==this.floatLabel}},{key:"hintLabel",get:function(){return this._hintLabel},set:function(e){this._hintLabel=e,this._processHints()}},{key:"floatLabel",get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(e){e!==this._floatLabel&&(this._floatLabel=e||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}},{key:"_control",get:function(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic},set:function(e){this._explicitFormFieldControl=e}},{key:"getLabelId",value:function(){return this._hasFloatingLabel()?this._labelId:null}},{key:"getConnectedOverlayOrigin",value:function(){return this._connectionContainerRef||this._elementRef}},{key:"ngAfterContentInit",value:function(){var e=this;this._validateControlChild();var t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-".concat(t.controlType)),t.stateChanges.pipe(Ef(null)).subscribe(function(){e._validatePlaceholders(),e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(kf(this._destroyed)).subscribe(function(){return e._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(function(){e._ngZone.onStable.pipe(kf(e._destroyed)).subscribe(function(){e._outlineGapCalculationNeededOnStable&&e.updateOutlineGap()})}),Oe(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){e._outlineGapCalculationNeededOnStable=!0,e._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Ef(null)).subscribe(function(){e._processHints(),e._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Ef(null)).subscribe(function(){e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(kf(this._destroyed)).subscribe(function(){"function"==typeof requestAnimationFrame?e._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){return e.updateOutlineGap()})}):e.updateOutlineGap()})}},{key:"ngAfterContentChecked",value:function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}},{key:"ngAfterViewInit",value:function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_shouldForward",value:function(e){var t=this._control?this._control.ngControl:null;return t&&t[e]}},{key:"_hasPlaceholder",value:function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}},{key:"_hasLabel",value:function(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}},{key:"_shouldLabelFloat",value:function(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}},{key:"_hideControlPlaceholder",value:function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}},{key:"_hasFloatingLabel",value:function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}},{key:"_getDisplayedMessages",value:function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}},{key:"_animateAndLockLabel",value:function(){var e=this;this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Qd(this._label.nativeElement,"transitionend").pipe(_p(1)).subscribe(function(){e._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}},{key:"_validatePlaceholders",value:function(){}},{key:"_processHints",value:function(){this._validateHints(),this._syncDescribedByIds()}},{key:"_validateHints",value:function(){}},{key:"_getDefaultFloatLabelState",value:function(){return this._defaults&&this._defaults.floatLabel||"auto"}},{key:"_syncDescribedByIds",value:function(){if(this._control){var e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push.apply(e,v(this._control.userAriaDescribedBy.split(" "))),"hint"===this._getDisplayedMessages()){var t=this._hintChildren?this._hintChildren.find(function(e){return"start"===e.align}):null,n=this._hintChildren?this._hintChildren.find(function(e){return"end"===e.align}):null;t?e.push(t.id):this._hintLabel&&e.push(this._hintLabelId),n&&e.push(n.id)}else this._errorChildren&&e.push.apply(e,v(this._errorChildren.map(function(e){return e.id})));this._control.setDescribedByIds(e)}}},{key:"_validateControlChild",value:function(){}},{key:"updateOutlineGap",value:function(){var e=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&e&&e.children.length&&e.textContent.trim()&&this._platform.isBrowser)if(this._isAttachedToDOM()){var t=0,n=0,i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),o=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=i.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),u=e.children,c=this._getStartEnd(u[0].getBoundingClientRect()),l=0,h=0;h0?.75*l+10:0}for(var d=0;d1&&void 0!==arguments[1]?arguments[1]:ff,n=function(e){return e instanceof Date&&!isNaN(+e)}(e)?+e-t.now():Math.abs(e);return function(e){return e.lift(new LH(n,t))}}var LH=function(){function e(t,n){m(this,e),this.delay=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new jH(e,this.delay,this.scheduler))}}]),e}(),jH=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).delay=i,o.scheduler=r,o.queue=[],o.active=!1,o.errored=!1,o}return b(n,[{key:"_schedule",value:function(e){this.active=!0,this.destination.add(e.schedule(n.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}},{key:"scheduleNotification",value:function(e){if(!0!==this.errored){var t=this.scheduler,n=new FH(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}}},{key:"_next",value:function(e){this.scheduleNotification(Nf.createNext(e))}},{key:"_error",value:function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleNotification(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){for(var t=e.source,n=t.queue,i=e.scheduler,r=e.destination;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}}]),n}(K),FH=function e(t,n){m(this,e),this.time=t,this.notification=n},BH=["panel"];function VH(e,t){if(1&e&&(As(0,"div",0,1),Ys(2),Ms()),2&e){var n=t.id,i=Ws();Ts("id",i.id)("ngClass",i._classList),ks("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(n))}}var zH=["*"],UH=0,HH=function e(t,n){m(this,e),this.source=t,this.option=n},GH=sb(function(){return function e(){m(this,e)}}()),WH=new Ri("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}}),qH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._changeDetectorRef=e,a._elementRef=i,a._activeOptionChanges=q.EMPTY,a.showPanel=!1,a._isOpen=!1,a.displayWith=null,a.optionSelected=new ol,a.opened=new ol,a.closed=new ol,a.optionActivated=new ol,a._classList={},a.id="mat-autocomplete-"+UH++,a.inertGroups=(null==o?void 0:o.SAFARI)||!1,a._autoActiveFirstOption=!!r.autoActiveFirstOption,a}return b(n,[{key:"isOpen",get:function(){return this._isOpen&&this.showPanel}},{key:"autoActiveFirstOption",get:function(){return this._autoActiveFirstOption},set:function(e){this._autoActiveFirstOption=Wd(e)}},{key:"classList",set:function(e){this._classList=e&&e.length?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:/\s+/,n=[];if(null!=e){var i,r=Array.isArray(e)?e:"".concat(e).split(t),o=_(r);try{for(o.s();!(i=o.n()).done;){var a=i.value,s="".concat(a).trim();s&&n.push(s)}}catch(u){o.e(u)}finally{o.f()}}return n}(e).reduce(function(e,t){return e[t]=!0,e},{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}},{key:"ngAfterContentInit",value:function(){var e=this;this._keyManager=new zv(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(function(t){e.isOpen&&e.optionActivated.emit({source:e,option:e.options.toArray()[t]||null})}),this._setVisibility()}},{key:"ngOnDestroy",value:function(){this._activeOptionChanges.unsubscribe()}},{key:"_setScrollTop",value:function(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}},{key:"_getScrollTop",value:function(){return this.panel?this.panel.nativeElement.scrollTop:0}},{key:"_setVisibility",value:function(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}},{key:"_emitSelectEvent",value:function(e){var t=new HH(this,e);this.optionSelected.emit(t)}},{key:"_getPanelAriaLabelledby",value:function(e){return this.ariaLabel?null:this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}},{key:"_setVisibilityClasses",value:function(e){e[this._visibleClass]=this.showPanel,e[this._hiddenClass]=!this.showPanel}}]),n}(GH);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(Ju),Os(WH),Os(qf))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(Ac,7),yl(BH,5)),2&e)&&(ml(n=_l())&&(t.template=n.first),ml(n=_l())&&(t.panel=n.first))},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[cs]}),e}(),XH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._visibleClass="mat-autocomplete-visible",e._hiddenClass="mat-autocomplete-hidden",e}return n}(qH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,Pb,5),bl(n,Rb,5)),2&e)&&(ml(i=_l())&&(t.optionGroups=i),ml(i=_l())&&(t.options=i))},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[Xu([{provide:Cb,useExisting:t}]),cs],ngContentSelectors:zH,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(e,t){1&e&&(Xs(),Cs(0,VH,3,4,"ng-template"))},directives:[Gh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t}(),YH=new Ri("mat-autocomplete-scroll-strategy"),KH={provide:YH,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},$H={provide:Hz,useExisting:He(function(){return ZH}),multi:!0},QH=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){var d=this;m(this,e),this._element=t,this._overlay=n,this._viewContainerRef=i,this._zone=r,this._changeDetectorRef=o,this._dir=s,this._formField=u,this._document=c,this._viewportRuler=l,this._defaults=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=q.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new ae,this._windowBlurHandler=function(){d._canOpenOnNextFocus=d._document.activeElement!==d._element.nativeElement||d.panelOpen},this._onChange=function(){},this._onTouched=function(){},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=tH(function(){return d.autocomplete&&d.autocomplete.options?Oe.apply(void 0,v(d.autocomplete.options.map(function(e){return e.onSelectionChange}))):d._zone.onStable.pipe(_p(1),Of(function(){return d.optionSelections}))}),this._scrollStrategy=a}return b(e,[{key:"autocompleteDisabled",get:function(){return this._autocompleteDisabled},set:function(e){this._autocompleteDisabled=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this,t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(function(){return t.addEventListener("blur",e._windowBlurHandler)})}},{key:"ngOnChanges",value:function(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}},{key:"ngOnDestroy",value:function(){var e=this._getWindow();void 0!==e&&e.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}},{key:"panelOpen",get:function(){return this._overlayAttached&&this.autocomplete.showPanel}},{key:"openPanel",value:function(){this._attachOverlay(),this._floatLabel()}},{key:"closePanel",value:function(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}},{key:"updatePosition",value:function(){this._overlayAttached&&this._overlayRef.updatePosition()}},{key:"panelClosingActions",get:function(){var e=this;return Oe(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(bf(function(){return e._overlayAttached})),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(bf(function(){return e._overlayAttached})):$d()).pipe(ce(function(e){return e instanceof Mb?e:null}))}},{key:"activeOption",get:function(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}},{key:"_getOutsideClickStream",value:function(){var e=this;return Oe(Qd(this._document,"click"),Qd(this._document,"auxclick"),Qd(this._document,"touchend")).pipe(bf(function(t){var n=Jf(t),i=e._formField?e._formField._elementRef.nativeElement:null,r=e.connectedTo?e.connectedTo.elementRef.nativeElement:null;return e._overlayAttached&&n!==e._element.nativeElement&&(!i||!i.contains(n))&&(!r||!r.contains(n))&&!!e._overlayRef&&!e._overlayRef.overlayElement.contains(n)}))}},{key:"writeValue",value:function(e){var t=this;Promise.resolve(null).then(function(){return t._setTriggerValue(e)})}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this._element.nativeElement.disabled=e}},{key:"_handleKeydown",value:function(e){var t=e.keyCode;if(27===t&&!Ep(e)&&e.preventDefault(),this.activeOption&&13===t&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){var n=this.autocomplete._keyManager.activeItem,i=38===t||40===t;this.panelOpen||9===t?this.autocomplete._keyManager.onKeydown(e):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}},{key:"_handleInput",value:function(e){var t=e.target,n=t.value;"number"===t.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===e.target&&this.openPanel())}},{key:"_handleFocus",value:function(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}},{key:"_floatLabel",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._formField&&"auto"===this._formField.floatLabel&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}},{key:"_resetLabel",value:function(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}},{key:"_subscribeToClosingActions",value:function(){var e=this;return Oe(this._zone.onStable.pipe(_p(1)),this.autocomplete.options.changes.pipe(mv(function(){return e._positionStrategy.reapplyLastPosition()}),NH(0))).pipe(Of(function(){var t=e.panelOpen;return e._resetActiveItem(),e.autocomplete._setVisibility(),e.panelOpen&&(e._overlayRef.updatePosition(),t!==e.panelOpen&&e.autocomplete.opened.emit()),e.panelClosingActions}),_p(1)).subscribe(function(t){return e._setValueAndClose(t)})}},{key:"_destroyPanel",value:function(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}},{key:"_setTriggerValue",value:function(e){var t=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(e):e,n=null!=t?t:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}},{key:"_setValueAndClose",value:function(e){e&&e.source&&(this._clearPreviousSelectedOption(e.source),this._setTriggerValue(e.source.value),this._onChange(e.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(e.source)),this.closePanel()}},{key:"_clearPreviousSelectedOption",value:function(e){this.autocomplete.options.forEach(function(t){t!==e&&t.selected&&t.deselect()})}},{key:"_attachOverlay",value:function(){var e,t=this,n=this._overlayRef;n?(this._positionStrategy.setOrigin(this._getConnectedElement()),n.updateSize({width:this._getPanelWidth()})):(this._portal=new hp(this.autocomplete.template,this._viewContainerRef,{id:null===(e=this._formField)||void 0===e?void 0:e.getLabelId()}),n=this._overlay.create(this._getOverlayConfig()),this._overlayRef=n,n.keydownEvents().subscribe(function(e){(27===e.keyCode&&!Ep(e)||38===e.keyCode&&Ep(e,"altKey"))&&(t._closeKeyEventStream.next(),t._resetActiveItem(),e.stopPropagation(),e.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(function(){t.panelOpen&&n&&n.updateSize({width:t._getPanelWidth()})})),n&&!n.hasAttached()&&(n.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());var i=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&i!==this.panelOpen&&this.autocomplete.opened.emit()}},{key:"_getOverlayConfig",value:function(){var e;return new Np({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(e=this._defaults)||void 0===e?void 0:e.overlayPanelClass})}},{key:"_getOverlayPosition",value:function(){var e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}},{key:"_setStrategyPositions",value:function(e){var t,n=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}];t="above"===this.position?r:"below"===this.position?n:[].concat(n,r),e.withPositions(t)}},{key:"_getConnectedElement",value:function(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}},{key:"_getPanelWidth",value:function(){return this.autocomplete.panelWidth||this._getHostWidth()}},{key:"_getHostWidth",value:function(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}},{key:"_resetActiveItem",value:function(){var e=this.autocomplete;e.autoActiveFirstOption?e._keyManager.setFirstItemActive():e._keyManager.setActiveItem(-1)}},{key:"_canOpen",value:function(){var e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this._autocompleteDisabled}},{key:"_getWindow",value:function(){var e;return(null===(e=this._document)||void 0===e?void 0:e.defaultView)||window}},{key:"_scrollToOption",value:function(e){var t=this.autocomplete,n=Db(e,t.options,t.optionGroups);if(0===e&&1===n)t._setScrollTop(0);else if(t.panel){var i=t.options.toArray()[e];if(i){var r=i._getHostElement(),o=Nb(r.offsetTop,r.offsetHeight,t._getScrollTop(),t.panel.nativeElement.offsetHeight);t._setScrollTop(o)}}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(iv),Os(Nc),Os(Xl),Os(Cc),Os(YH),Os(tp,8),Os(IH,9),Os(bh,8),Os(ap),Os(WH,8))},e.\u0275dir=Rt({type:e,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[qt]}),e}(),ZH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._aboveClass="mat-autocomplete-panel-above",e}return n}(QH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(e,t){1&e&&Vs("focusin",function(){return t._handleFocus()})("blur",function(){return t._onTouched()})("input",function(e){return t._handleInput(e)})("keydown",function(e){return t._handleKeydown(e)}),2&e&&ks("autocomplete",t.autocompleteAttribute)("role",t.autocompleteDisabled?null:"combobox")("aria-autocomplete",t.autocompleteDisabled?null:"list")("aria-activedescendant",t.panelOpen&&t.activeOption?t.activeOption.id:null)("aria-expanded",t.autocompleteDisabled?null:t.panelOpen.toString())("aria-owns",t.autocompleteDisabled||!t.panelOpen||null==t.autocomplete?null:t.autocomplete.id)("aria-haspopup",!t.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[Xu([$H]),cs]}),t}(),JH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[KH],imports:[[cv,Lb,rb,cd],sp,Lb,rb]}),e}(),eG=$f({passive:!0}),tG=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._ngZone=n,this._monitoredElements=new Map}return b(e,[{key:"monitor",value:function(e){var t=this;if(!this._platform.isBrowser)return Mf;var n=Kd(e),i=this._monitoredElements.get(n);if(i)return i.subject;var r=new ae,o="cdk-text-field-autofilled",a=function(e){"cdk-text-field-autofill-start"!==e.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===e.animationName&&n.classList.contains(o)&&(n.classList.remove(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!1})})):(n.classList.add(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!0})}))};return this._ngZone.runOutsideAngular(function(){n.addEventListener("animationstart",a,eG),n.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(n,{subject:r,unlisten:function(){n.removeEventListener("animationstart",a,eG)}}),r}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._monitoredElements.get(t);n&&(n.unlisten(),n.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}},{key:"ngOnDestroy",value:function(){var e=this;this._monitoredElements.forEach(function(t,n){return e.stopMonitoring(n)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl))},token:e,providedIn:"root"}),e}(),nG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf]]}),e}(),iG=new Ri("MAT_INPUT_VALUE_ACCESSOR"),rG=["button","checkbox","file","hidden","image","radio","range","reset","submit"],oG=0,aG=cb(function(){return function e(t,n,i,r){m(this,e),this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}}()),sG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h){var d;m(this,n),(d=t.call(this,s,o,a,r))._elementRef=e,d._platform=i,d._autofillMonitor=c,d._formField=h,d._uid="mat-input-"+oG++,d.focused=!1,d.stateChanges=new ae,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(function(e){return Kf().has(e)});var f=d._elementRef.nativeElement,p=f.nodeName.toLowerCase();return d._inputValueAccessor=u||f,d._previousNativeValue=d.value,d.id=d.id,i.IOS&&l.runOutsideAngular(function(){e.nativeElement.addEventListener("keyup",function(e){var t=e.target;!t.value&&0===t.selectionStart&&0===t.selectionEnd&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))})}),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===p,d._isTextarea="textarea"===p,d._isInFormField=!!h,d._isNativeSelect&&(d.controlType=f.multiple?"mat-native-select-multiple":"mat-native-select"),d}return b(n,[{key:"disabled",get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(e){this._disabled=Wd(e),this.focused&&(this.focused=!1,this.stateChanges.next())}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"type",get:function(){return this._type},set:function(e){this._type=e||"text",this._validateType(),!this._isTextarea&&Kf().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}},{key:"value",get:function(){return this._inputValueAccessor.value},set:function(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}},{key:"readonly",get:function(){return this._readonly},set:function(e){this._readonly=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function(t){e.autofilled=t.isAutofilled,e.stateChanges.next()})}},{key:"ngOnChanges",value:function(){this.stateChanges.next()}},{key:"ngOnDestroy",value:function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}},{key:"ngDoCheck",value:function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_focusChanged",value:function(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}},{key:"_onInput",value:function(){}},{key:"_dirtyCheckPlaceholder",value:function(){var e,t,n=(null===(t=null===(e=this._formField)||void 0===e?void 0:e._hideControlPlaceholder)||void 0===t?void 0:t.call(e))?null:this.placeholder;if(n!==this._previousPlaceholder){var i=this._elementRef.nativeElement;this._previousPlaceholder=n,n?i.setAttribute("placeholder",n):i.removeAttribute("placeholder")}}},{key:"_dirtyCheckNativeValue",value:function(){var e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}},{key:"_validateType",value:function(){rG.indexOf(this._type)}},{key:"_isNeverEmpty",value:function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}},{key:"_isBadInput",value:function(){var e=this._elementRef.nativeElement.validity;return e&&e.badInput}},{key:"empty",get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}},{key:"shouldLabelFloat",get:function(){if(this._isNativeSelect){var e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}return this.focused||!this.empty}},{key:"setDescribedByIds",value:function(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}},{key:"onContainerClick",value:function(){this.focused||this.focus()}}]),n}(aG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(hU,10),Os(zU,8),Os(QU,8),Os(lb),Os(iG,10),Os(tG),Os(Xl),Os(IH,8))},e.\u0275dir=Rt({type:e,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._focusChanged(!0)})("blur",function(){return t._focusChanged(!1)})("input",function(){return t._onInput()}),2&e&&(Au("disabled",t.disabled)("required",t.required),ks("id",t.id)("data-placeholder",t.placeholder)("readonly",t.readonly&&!t._isNativeSelect||null)("aria-invalid",t.empty&&t.required?null:t.errorState)("aria-required",t.required),cu("mat-input-server",t._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Xu([{provide:wH,useExisting:e}]),cs,qt]}),e}(),uG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[lb],imports:[[nG,DH,rb],nG,DH]}),e}();function cG(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:this.value,t=new yG;return t.source=this,t.value=e,t}},{key:"_calculatePercentage",value:function(e){return((e||0)-this.min)/(this.max-this.min)}},{key:"_calculateValue",value:function(e){return this.min+e*(this.max-this.min)}},{key:"_clamp",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.max(t,Math.min(e,n))}},{key:"_getSliderDimensions",value:function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}},{key:"_focusHostElement",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_blurHostElement",value:function(){this._elementRef.nativeElement.blur()}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}}]),n}(bG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(rg),Os(Cc),Os(tp,8),Ai("tabindex"),Os(Xl),Os(bh),Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-slider"]],viewQuery:function(e,t){var n;(1&e&&yl(vG,5),2&e)&&(ml(n=_l())&&(t._sliderWrapper=n.first))},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()})("keydown",function(e){return t._onKeydown(e)})("keyup",function(){return t._onKeyup()})("mouseenter",function(){return t._onMouseenter()})("selectstart",function(e){return e.preventDefault()}),2&e&&(Au("tabIndex",t.tabIndex),ks("aria-disabled",t.disabled)("aria-valuemax",t.max)("aria-valuemin",t.min)("aria-valuenow",t.value)("aria-valuetext",null==t.valueText?t.displayValue:t.valueText)("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-slider-disabled",t.disabled)("mat-slider-has-ticks",t.tickInterval)("mat-slider-horizontal",!t.vertical)("mat-slider-axis-inverted",t._shouldInvertAxis())("mat-slider-invert-mouse-coords",t._shouldInvertMouseCoords())("mat-slider-sliding",t._isSliding)("mat-slider-thumb-label-showing",t.thumbLabel)("mat-slider-vertical",t.vertical)("mat-slider-min-value",t._isMinValue())("mat-slider-hide-last-tick",t.disabled||t._isMinValue()&&t._getThumbGap()&&t._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Xu([mG]),cs],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(e,t){1&e&&(As(0,"div",0,1),As(2,"div",2),Is(3,"div",3),Is(4,"div",4),Ms(),As(5,"div",5),Is(6,"div",6),Ms(),As(7,"div",7),Is(8,"div",8),Is(9,"div",9),As(10,"div",10),As(11,"span",11),Cu(12),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(3),Ts("ngStyle",t._getTrackBackgroundStyles()),Yo(1),Ts("ngStyle",t._getTrackFillStyles()),Yo(1),Ts("ngStyle",t._getTicksContainerStyles()),Yo(1),Ts("ngStyle",t._getTicksStyles()),Yo(1),Ts("ngStyle",t._getThumbContainerStyles()),Yo(5),Eu(t.displayValue))},directives:[td],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),e}();function wG(e){return"t"===e.type[0]}function kG(e,t){var n;return(n=wG(e)?"number"==typeof t?xG(e.touches,t)||xG(e.changedTouches,t):e.touches[0]||e.changedTouches[0]:e)?{x:n.clientX,y:n.clientY}:void 0}function xG(e,t){for(var n=0;n enter",pg("150ms cubic-bezier(0, 0, 0.2, 1)",gg({transform:"none",opacity:1}))),yg("* => void, * => exit",pg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",gg({opacity:0})))])},TG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u;return m(this,n),(u=t.call(this))._elementRef=e,u._focusTrapFactory=i,u._changeDetectorRef=r,u._config=a,u._focusMonitor=s,u._animationStateChanged=new ol,u._elementFocusedBeforeDialogWasOpened=null,u._closeInteractionType=null,u.attachDomPortal=function(e){return u._portalOutlet.hasAttached(),u._portalOutlet.attachDomPortal(e)},u._ariaLabelledBy=a.ariaLabelledBy||null,u._document=o,u}return b(n,[{key:"_initializeWithAttachedContent",value:function(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}},{key:"attachComponentPortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(e)}},{key:"_recaptureFocus",value:function(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}},{key:"_trapFocus",value:function(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}},{key:"_restoreFocus",value:function(){var e=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&e&&"function"==typeof e.focus){var t=Zf(),n=this._elementRef.nativeElement;(!t||t===this._document.body||t===n||n.contains(t))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}},{key:"_setupFocusTrap",value:function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}},{key:"_capturePreviouslyFocusedElement",value:function(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zf())}},{key:"_focusDialogContainer",value:function(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}},{key:"_containsFocus",value:function(){var e=this._elementRef.nativeElement,t=Zf();return e===t||e.contains(t)}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qv),Os(Cc),Os(bh,8),Os(EG),Os(rg))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},features:[cs]}),e}(),PG=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._state="enter",e}return b(n,[{key:"_onAnimationDone",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:n})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:n}))}},{key:"_onAnimationStart",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:n}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:n})}},{key:"_startExitAnimation",value:function(){this._state="exit",this._changeDetectorRef.markForCheck()}}]),n}(TG);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(e,t){1&e&&zs("@dialogContainer.start",function(e){return t._onAnimationStart(e)})("@dialogContainer.done",function(e){return t._onAnimationDone(e)}),2&e&&(Au("id",t._id),ks("role",t._config.role)("aria-labelledby",t._config.ariaLabel?null:t._ariaLabelledBy)("aria-label",t._config.ariaLabel)("aria-describedby",t._config.ariaDescribedBy||null),Mu("@dialogContainer",t._state))},features:[cs],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,t){1&e&&Cs(0,CG,0,0,"ng-template",0)},directives:[mp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[OG.dialogContainer]}}),t}(),AG=0,MG=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat-dialog-"+AG++;m(this,e),this._overlayRef=t,this._containerInstance=n,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new ae,this._afterClosed=new ae,this._beforeClosed=new ae,this._state=0,n._id=r,n._animationStateChanged.pipe(bf(function(e){return"opened"===e.state}),_p(1)).subscribe(function(){i._afterOpened.next(),i._afterOpened.complete()}),n._animationStateChanged.pipe(bf(function(e){return"closed"===e.state}),_p(1)).subscribe(function(){clearTimeout(i._closeFallbackTimeout),i._finishDialogClose()}),t.detachments().subscribe(function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()}),t.keydownEvents().pipe(bf(function(e){return 27===e.keyCode&&!i.disableClose&&!Ep(e)})).subscribe(function(e){e.preventDefault(),IG(i,"keyboard")}),t.backdropClick().subscribe(function(){i.disableClose?i._containerInstance._recaptureFocus():IG(i,"mouse")})}return b(e,[{key:"close",value:function(e){var t=this;this._result=e,this._containerInstance._animationStateChanged.pipe(bf(function(e){return"closing"===e.state}),_p(1)).subscribe(function(n){t._beforeClosed.next(e),t._beforeClosed.complete(),t._overlayRef.detachBackdrop(),t._closeFallbackTimeout=setTimeout(function(){return t._finishDialogClose()},n.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}},{key:"afterOpened",value:function(){return this._afterOpened}},{key:"afterClosed",value:function(){return this._afterClosed}},{key:"beforeClosed",value:function(){return this._beforeClosed}},{key:"backdropClick",value:function(){return this._overlayRef.backdropClick()}},{key:"keydownEvents",value:function(){return this._overlayRef.keydownEvents()}},{key:"updatePosition",value:function(e){var t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}},{key:"updateSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}},{key:"addPanelClass",value:function(e){return this._overlayRef.addPanelClass(e),this}},{key:"removePanelClass",value:function(e){return this._overlayRef.removePanelClass(e),this}},{key:"getState",value:function(){return this._state}},{key:"_finishDialogClose",value:function(){this._state=2,this._overlayRef.dispose()}},{key:"_getPositionStrategy",value:function(){return this._overlayRef.getConfig().positionStrategy}}]),e}();function IG(e,t,n){return void 0!==e._containerInstance&&(e._containerInstance._closeInteractionType=t),e.close(n)}var RG=new Ri("MatDialogData"),DG=new Ri("mat-dialog-default-options"),NG=new Ri("mat-dialog-scroll-strategy"),LG={provide:NG,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.block()}}},jG=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c){var l=this;m(this,e),this._overlay=t,this._injector=n,this._defaultOptions=i,this._parentDialog=r,this._overlayContainer=o,this._dialogRefConstructor=s,this._dialogContainerType=u,this._dialogDataToken=c,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ae,this._afterOpenedAtThisLevel=new ae,this._ariaHiddenElements=new Map,this.afterAllClosed=tH(function(){return l.openDialogs.length?l._getAfterAllClosed():l._getAfterAllClosed().pipe(Ef(void 0))}),this._scrollStrategy=a}return b(e,[{key:"openDialogs",get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}},{key:"afterOpened",get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}},{key:"_getAfterAllClosed",value:function(){var e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}},{key:"open",value:function(e,t){var n=this;(t=function(e,t){return Object.assign(Object.assign({},t),e)}(t,this._defaultOptions||new EG)).id&&this.getDialogById(t.id);var i=this._createOverlay(t),r=this._attachDialogContainer(i,t),o=this._attachDialogContent(e,r,i,t);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(function(){return n._removeOpenDialog(o)}),this.afterOpened.next(o),r._initializeWithAttachedContent(),o}},{key:"closeAll",value:function(){this._closeDialogs(this.openDialogs)}},{key:"getDialogById",value:function(e){return this.openDialogs.find(function(t){return t.id===e})}},{key:"ngOnDestroy",value:function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}},{key:"_createOverlay",value:function(e){var t=this._getOverlayConfig(e);return this._overlay.create(t)}},{key:"_getOverlayConfig",value:function(e){var t=new Np({positionStrategy:this._overlay.position().global(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(t.backdropClass=e.backdropClass),t}},{key:"_attachDialogContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:EG,useValue:t}]}),i=new lp(this._dialogContainerType,t.viewContainerRef,n,t.componentFactoryResolver);return e.attach(i).instance}},{key:"_attachDialogContent",value:function(e,t,n,i){var r=new this._dialogRefConstructor(n,t,i.id);if(e instanceof Ac)t.attachTemplatePortal(new hp(e,null,{$implicit:i.data,dialogRef:r}));else{var o=this._createInjector(i,r,t),a=t.attachComponentPortal(new lp(e,i.viewContainerRef,o));r.componentInstance=a.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}},{key:"_createInjector",value:function(e,t,n){var i=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:e.data},{provide:this._dialogRefConstructor,useValue:t}];return e.direction&&(!i||!i.get(tp,null,at.Optional))&&r.push({provide:tp,useValue:{value:e.direction,change:$d()}}),ss.create({parent:i||this._injector,providers:r})}},{key:"_removeOpenDialog",value:function(e){var t=this.openDialogs.indexOf(e);t>-1&&(this.openDialogs.splice(t,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(e,t){e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}},{key:"_hideNonDialogContentFromAssistiveTechnology",value:function(){var e=this._overlayContainer.getContainerElement();if(e.parentElement)for(var t=e.parentElement.children,n=t.length-1;n>-1;n--){var i=t[n];i!==e&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}},{key:"_closeDialogs",value:function(e){for(var t=e.length;t--;)e[t].close()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(ss),Os(void 0),Os(void 0),Os(Hp),Os(void 0),Os(Di),Os(Di),Os(Ri))},e.\u0275dir=Rt({type:e}),e}(),FG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){return m(this,n),t.call(this,e,i,o,s,u,a,MG,PG,RG)}return n}(jG);return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(ss),Zi(Ih,8),Zi(DG,8),Zi(NG),Zi(e,12),Zi(Hp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),BG=0,VG=function(){var e=function(){function e(t,n,i){m(this,e),this._dialogRef=t,this._elementRef=n,this._dialog=i,this.id="mat-dialog-title-"+BG++}return b(e,[{key:"ngOnInit",value:function(){var e=this;this._dialogRef||(this._dialogRef=function(e,t){for(var n=e.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?t.find(function(e){return e.id===n.id}):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(function(){var t=e._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=e.id)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG,8),Os(Ju),Os(FG))},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(e,t){2&e&&Au("id",t.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),e}(),zG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),e}(),UG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[FG,LG],imports:[[cv,yp,rb],rb]}),e}(),HG=new Ri("CdkAccordion"),GG=0,WG=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.accordion=t,this._changeDetectorRef=n,this._expansionDispatcher=i,this._openCloseAllSubscription=q.EMPTY,this.closed=new ol,this.opened=new ol,this.destroyed=new ol,this.expandedChange=new ol,this.id="cdk-accordion-child-"+GG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=i.listen(function(e,t){r.accordion&&!r.accordion.multi&&r.accordion.id===t&&r.id!==e&&(r.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}return b(e,[{key:"expanded",get:function(){return this._expanded},set:function(e){e=Wd(e),this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"ngOnDestroy",value:function(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}},{key:"toggle",value:function(){this.disabled||(this.expanded=!this.expanded)}},{key:"close",value:function(){this.disabled||(this.expanded=!1)}},{key:"open",value:function(){this.disabled||(this.expanded=!0)}},{key:"_subscribeToOpenCloseAllActions",value:function(){var e=this;return this.accordion._openCloseAllActions.subscribe(function(t){e.disabled||(e.expanded=t)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(HG,12),Os(Cc),Os(rp))},e.\u0275dir=Rt({type:e,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Xu([{provide:HG,useValue:void 0}])]}),e}(),qG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XG=["body"];function YG(e,t){}var KG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$G=["mat-expansion-panel-header","*","mat-action-row"];function QG(e,t){1&e&&Is(0,"span",2),2&e&&Ts("@indicatorRotate",Ws()._getExpandedState())}var ZG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],JG=["mat-panel-title","mat-panel-description","*"],eW=new Ri("MAT_ACCORDION"),tW="225ms cubic-bezier(0.4,0.0,0.2,1)",nW={indicatorRotate:fg("indicatorRotate",[mg("collapsed, void",gg({transform:"rotate(0deg)"})),mg("expanded",gg({transform:"rotate(180deg)"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))]),bodyExpansion:fg("bodyExpansion",[mg("collapsed, void",gg({height:"0px",visibility:"hidden"})),mg("expanded",gg({height:"*",visibility:"visible"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))])},iW=function(){var e=function e(t){m(this,e),this._template=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ac))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","matExpansionPanelContent",""]]}),e}(),rW=0,oW=new Ri("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),aW=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r,o,a,s,u){var c;return m(this,i),(c=n.call(this,e,t,r))._viewContainerRef=o,c._animationMode=s,c._hideToggle=!1,c.afterExpand=new ol,c.afterCollapse=new ol,c._inputChanges=new ae,c._headerId="mat-expansion-panel-header-"+rW++,c._bodyAnimationDone=new ae,c.accordion=e,c._document=a,c._bodyAnimationDone.pipe(lf(function(e,t){return e.fromState===t.fromState&&e.toState===t.toState})).subscribe(function(e){"void"!==e.fromState&&("expanded"===e.toState?c.afterExpand.emit():"collapsed"===e.toState&&c.afterCollapse.emit())}),u&&(c.hideToggle=u.hideToggle),c}return b(i,[{key:"hideToggle",get:function(){return this._hideToggle||this.accordion&&this.accordion.hideToggle},set:function(e){this._hideToggle=Wd(e)}},{key:"togglePosition",get:function(){return this._togglePosition||this.accordion&&this.accordion.togglePosition},set:function(e){this._togglePosition=e}},{key:"_hasSpacing",value:function(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}},{key:"_getExpandedState",value:function(){return this.expanded?"expanded":"collapsed"}},{key:"toggle",value:function(){this.expanded=!this.expanded}},{key:"close",value:function(){this.expanded=!1}},{key:"open",value:function(){this.expanded=!0}},{key:"ngAfterContentInit",value:function(){var e=this;this._lazyContent&&this.opened.pipe(Ef(null),bf(function(){return e.expanded&&!e._portal}),_p(1)).subscribe(function(){e._portal=new hp(e._lazyContent._template,e._viewContainerRef)})}},{key:"ngOnChanges",value:function(e){this._inputChanges.next(e)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this),this._bodyAnimationDone.complete(),this._inputChanges.complete()}},{key:"_containsFocus",value:function(){if(this._body){var e=this._document.activeElement,t=this._body.nativeElement;return e===t||t.contains(e)}return!1}}]),i}(WG);return t.\u0275fac=function(e){return new(e||t)(Os(eW,12),Os(Cc),Os(rp),Os(Nc),Os(bh),Os(Yy,8),Os(oW,8))},t.\u0275cmp=Ot({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,iW,5),2&e)&&(ml(i=_l())&&(t._lazyContent=i.first))},viewQuery:function(e,t){var n;(1&e&&yl(XG,5),2&e)&&(ml(n=_l())&&(t._body=n.first))},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-expanded",t.expanded)("_mat-animation-noopable","NoopAnimations"===t._animationMode)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Xu([{provide:eW,useValue:void 0}]),cs,qt],ngContentSelectors:$G,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(e,t){1&e&&(Xs(KG),Ys(0),As(1,"div",0,1),Vs("@bodyExpansion.done",function(e){return t._bodyAnimationDone.next(e)}),As(3,"div",2),Ys(4,1),Cs(5,YG,0,0,"ng-template",3),Ms(),Ys(6,2),Ms()),2&e&&(Yo(1),Ts("@bodyExpansion",t._getExpandedState())("id",t.id),ks("aria-labelledby",t._headerId),Yo(4),Ts("cdkPortalOutlet",t._portal))},directives:[mp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[nW.bodyExpansion]},changeDetection:0}),t}(),sW=ub(function e(){m(this,e)}),uW=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;m(this,n),(c=t.call(this)).panel=e,c._element=i,c._focusMonitor=r,c._changeDetectorRef=o,c._animationMode=s,c._parentChangeSubscription=q.EMPTY;var l=e.accordion?e.accordion._stateChanges.pipe(bf(function(e){return!(!e.hideToggle&&!e.togglePosition)})):Mf;return c.tabIndex=parseInt(u||"")||0,c._parentChangeSubscription=Oe(e.opened,e.closed,l,e._inputChanges.pipe(bf(function(e){return!!(e.hideToggle||e.disabled||e.togglePosition)}))).subscribe(function(){return c._changeDetectorRef.markForCheck()}),e.closed.pipe(bf(function(){return e._containsFocus()})).subscribe(function(){return r.focusVia(i,"program")}),a&&(c.expandedHeight=a.expandedHeight,c.collapsedHeight=a.collapsedHeight),c}return b(n,[{key:"disabled",get:function(){return this.panel.disabled}},{key:"_toggle",value:function(){this.disabled||this.panel.toggle()}},{key:"_isExpanded",value:function(){return this.panel.expanded}},{key:"_getExpandedState",value:function(){return this.panel._getExpandedState()}},{key:"_getPanelId",value:function(){return this.panel.id}},{key:"_getTogglePosition",value:function(){return this.panel.togglePosition}},{key:"_showToggle",value:function(){return!this.panel.hideToggle&&!this.panel.disabled}},{key:"_getHeaderHeight",value:function(){var e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}},{key:"_keydown",value:function(e){switch(e.keyCode){case 32:case 13:Ep(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._element).subscribe(function(t){t&&e.panel.accordion&&e.panel.accordion._handleHeaderFocus(e)})}},{key:"ngOnDestroy",value:function(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}]),n}(sW);return e.\u0275fac=function(t){return new(t||e)(Os(aW,1),Os(Ju),Os(rg),Os(Cc),Os(oW,8),Os(Yy,8),Ai("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._toggle()})("keydown",function(e){return t._keydown(e)}),2&e&&(ks("id",t.panel._headerId)("tabindex",t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),uu("height",t._getHeaderHeight()),cu("mat-expanded",t._isExpanded())("mat-expansion-toggle-indicator-after","after"===t._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===t._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[cs],ngContentSelectors:JG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(e,t){1&e&&(Xs(ZG),As(0,"span",0),Ys(1),Ys(2,1),Ys(3,2),Ms(),Cs(4,QG,1,1,"span",1)),2&e&&(Yo(4),Ts("ngIf",t._showToggle()))},directives:[Yh],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[nW.indicatorRotate]},changeDetection:0}),e}(),cW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,rb,qG,yp]]}),e}(),lW=r(5478);Object.create(Error.prototype);var hW=["*"],dW=(function(e){e.LineHighlight="line-highlight",e.LineNumbers="line-numbers"}(dW||(dW={})),dW),fW=function e(){m(this,e)},pW=new Ri("SECURITY_CONTEXT"),vW=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this.platform=t,this.securityContext=n,this.http=i,this.sanitizer=o,this.initialMarkedOptions={renderer:new lW.Renderer},this.options=r}return b(e,[{key:"options",get:function(){return this._options},set:function(e){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),e)}},{key:"renderer",get:function(){return this.options.renderer},set:function(e){this.options.renderer=e}},{key:"compile",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options,r=this.trimIndentation(e),o=t?this.decodeHtml(r):r,a=n?this.renderEmoji(o):o,s=lW.parse(a,i);return this.sanitizer.sanitize(this.securityContext,s)||""}},{key:"getSource",value:function(e){var t=this;if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(e,{responseType:"text"}).pipe(ce(function(n){return t.handleExtension(e,n)}))}},{key:"highlight",value:function(e){if(hd(this.platform)&&"undefined"!=typeof Prism){e||(e=document);var t=e.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(t,function(e){return e.classList.add("language-none")}),Prism.highlightAllUnder(e)}}},{key:"renderKatex",value:function(e,t){if(!hd(this.platform))return e;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return e.replace(/\$([^\s][^$]*?[^\s])\$/gm,function(e,n){return katex.renderToString(n,t)})}},{key:"decodeHtml",value:function(e){if(!hd(this.platform))return e;var t=document.createElement("textarea");return t.innerHTML=e,t.value}},{key:"handleExtension",value:function(e,t){var n=e?e.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+t+"\n```":t}},{key:"renderEmoji",value:function(e){if(!hd(this.platform))return e;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(e)}},{key:"trimIndentation",value:function(e){return e?e.split("\n").map(function(e){var n=t;return e.length>0&&(n=isNaN(n)?e.search(/\S|$/):Math.min(e.search(/\S|$/),n)),isNaN(t)&&(t=n),n?e.substring(n):e}).join("\n"):"";var t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ml),Zi(pW),Zi(h_,8),Zi(fW,8),Zi(Vd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gW=function(){var e=function(){function e(t,n){m(this,e),this.element=t,this.markdownService=n,this.error=new ol,this.load=new ol,this.ready=new ol,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}return b(e,[{key:"emoji",get:function(){return this._emoji},set:function(e){this._emoji=this.coerceBooleanProperty(e)}},{key:"katex",get:function(){return this._katex},set:function(e){this._katex=this.coerceBooleanProperty(e)}},{key:"lineHighlight",get:function(){return this._lineHighlight},set:function(e){this._lineHighlight=this.coerceBooleanProperty(e)}},{key:"lineNumbers",get:function(){return this._lineNumbers},set:function(e){this._lineNumbers=this.coerceBooleanProperty(e)}},{key:"ngOnChanges",value:function(){null==this.data?null==this.src||this.handleSrc():this.handleData()}},{key:"ngAfterViewInit",value:function(){!this.data&&!this.src&&this.handleTransclusion()}},{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.markdownService.compile(e,t,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}},{key:"coerceBooleanProperty",value:function(e){return null!=e&&"false"!="".concat(String(e))}},{key:"handleData",value:function(){this.render(this.data)}},{key:"handleSrc",value:function(){var e=this;this.markdownService.getSource(this.src).subscribe(function(t){e.render(t),e.load.emit(t)},function(t){return e.error.emit(t)})}},{key:"handleTransclusion",value:function(){this.render(this.element.nativeElement.innerHTML,!0)}},{key:"handlePlugins",value:function(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,dW.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}},{key:"setPluginClass",value:function(e,t){for(var n=e.querySelectorAll("pre"),i=0;i0){var r=i.indexOf(n);-1!==r&&i.splice(r,1)}}},{key:"notifyComplete",value:function(){}},{key:"_next",value:function(e){if(0===this.toRespond.length){var t=[e].concat(v(this.values));this.project?this._tryProject(t):this.destination.next(t)}}},{key:"_tryProject",value:function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}]),n}(K_),kW=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];m(this,e),this.accumulator=t,this.seed=n,this.hasSeed=i}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new xW(e,this.accumulator,this.seed,this.hasSeed))}}]),e}(),xW=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this,e)).accumulator=i,a._seed=r,a.hasSeed=o,a.index=0,a}return b(n,[{key:"seed",get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e}},{key:"_next",value:function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}},{key:"_tryNext",value:function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)}}]),n}(K),SW=function(){function e(t){m(this,e),this.predicate=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CW(e,this.predicate))}}]),e}(),CW=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).predicate=i,r.skipping=!0,r.index=0,r}return b(n,[{key:"_next",value:function(e){var t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}},{key:"tryCallPredicate",value:function(e){try{var t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}]),n}(K),EW=["youtubeContainer"],OW=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._youtubeContainer=new ae,this._destroyed=new ae,this._playerChanges=new vv(void 0),this._videoId=new vv(void 0),this._height=new vv(390),this._width=new vv(640),this._startSeconds=new vv(void 0),this._endSeconds=new vv(void 0),this._suggestedQuality=new vv(void 0),this._playerVars=new vv(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=hd(n)}return b(e,[{key:"videoId",get:function(){return this._videoId.value},set:function(e){this._videoId.next(e)}},{key:"height",get:function(){return this._height.value},set:function(e){this._height.next(e||390)}},{key:"width",get:function(){return this._width.value},set:function(e){this._width.next(e||640)}},{key:"startSeconds",set:function(e){this._startSeconds.next(e)}},{key:"endSeconds",set:function(e){this._endSeconds.next(e)}},{key:"suggestedQuality",set:function(e){this._suggestedQuality.next(e)}},{key:"playerVars",get:function(){return this._playerVars.value},set:function(e){this._playerVars.next(e)}},{key:"ngOnInit",value:function(){var e=this;if(this._isBrowser){var n=$d(!0);if(!window.YT||!window.YT.Player){var i=new ae;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=function(){e._existingApiReadyCallback&&e._existingApiReadyCallback(),e._ngZone.run(function(){return i.next(!0)})},n=i.pipe(_p(1),Ef(!1))}var r=function(e,n,i,r,o,a,s){var u=J_([n,a]).pipe(bW(J_([r,o])),ce(function(e){var n=t(e,2),i=n[0],r=n[1],o=t(i,2),a=o[0],s=o[1],u=t(r,2),c=u[0],l=u[1];return a?{videoId:a,playerVars:s,width:c,height:l}:void 0}));return J_([e,u,$d(s)]).pipe(function(e){return J(function(){for(var e=arguments.length,t=new Array(e),n=0;n=2&&(n=!0),function(i){return i.lift(new kW(e,t,n))}}(TW,void 0),lf())}(this._youtubeContainer,this._videoId,n,this._width,this._height,this._playerVars,this._ngZone).pipe(mv(function(t){e._playerChanges.next(t)}),ke(function(e){return e?PW(e)?$d(e):new te(function(t){var n=!1,i=!1;return e.addEventListener("onReady",function e(r){i=!0,n||(r.target.removeEventListener("onReady",e),t.next(r.target))}),function(){n=!0,i||function(e){PW(e)||e.destroy()}(e)}}).pipe(_p(1),Ef(void 0)):$d(void 0)}),kf(this._destroyed),De(new ae));r.subscribe(function(t){e._player=t,t&&e._pendingPlayerState&&e._initializePlayer(t,e._pendingPlayerState),e._pendingPlayerState=void 0}),function(e,n,i){J_([e,n,i]).subscribe(function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return i&&i.setSize(r,o)})}(r,this._width,this._height),function(e,n){J_([e,n]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];return i&&r&&i.setPlaybackQuality(r)})}(r,this._suggestedQuality),function(e,n,i,r,o,a){var s=J_([i,r]).pipe(ce(function(e){var n=t(e,2);return{startSeconds:n[0],endSeconds:n[1]}})),u=s.pipe(AW(e,function(e){return!!e&&!function(e){var t=e.getPlayerState();return t!==YT.PlayerState.UNSTARTED&&t!==YT.PlayerState.CUED}(e)})),c=n.pipe(AW(e,function(e,t){return!!e&&e.videoId!==t}));Oe(e.pipe(AW(J_([n,s]),function(e,n){var i=t(e,2),r=i[0],o=i[1];return!(!n||r==n.videoId&&!o.startSeconds&&!o.endSeconds)})),c,u).pipe(bW(J_([e,n,s,o])),ce(function(e){var n=t(e,2);n[0];return n[1]}),kf(a)).subscribe(function(e){var n=t(e,4),i=n[0],r=n[1],o=n[2],a=n[3];!r||!i||(i.videoId=r,i.cueVideoById(Object.assign({videoId:r,suggestedQuality:a},o)))})}(r,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),r.connect()}}},{key:"createEventsBoundInZone",value:function(){return{}}},{key:"ngAfterViewInit",value:function(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}},{key:"ngOnDestroy",value:function(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"playVideo",value:function(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}},{key:"pauseVideo",value:function(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}},{key:"stopVideo",value:function(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}},{key:"seekTo",value:function(e,t){this._player?this._player.seekTo(e,t):this._getPendingState().seek={seconds:e,allowSeekAhead:t}}},{key:"mute",value:function(){this._player?this._player.mute():this._getPendingState().muted=!0}},{key:"unMute",value:function(){this._player?this._player.unMute():this._getPendingState().muted=!1}},{key:"isMuted",value:function(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}},{key:"setVolume",value:function(e){this._player?this._player.setVolume(e):this._getPendingState().volume=e}},{key:"getVolume",value:function(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}},{key:"setPlaybackRate",value:function(e){if(this._player)return this._player.setPlaybackRate(e);this._getPendingState().playbackRate=e}},{key:"getPlaybackRate",value:function(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}},{key:"getAvailablePlaybackRates",value:function(){return this._player?this._player.getAvailablePlaybackRates():[]}},{key:"getVideoLoadedFraction",value:function(){return this._player?this._player.getVideoLoadedFraction():0}},{key:"getPlayerState",value:function(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}},{key:"getCurrentTime",value:function(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}},{key:"getPlaybackQuality",value:function(){return this._player?this._player.getPlaybackQuality():"default"}},{key:"getAvailableQualityLevels",value:function(){return this._player?this._player.getAvailableQualityLevels():[]}},{key:"getDuration",value:function(){return this._player?this._player.getDuration():0}},{key:"getVideoUrl",value:function(){return this._player?this._player.getVideoUrl():""}},{key:"getVideoEmbedCode",value:function(){return this._player?this._player.getVideoEmbedCode():""}},{key:"_getPendingState",value:function(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}},{key:"_initializePlayer",value:function(e,t){var n=t.playbackState,i=t.playbackRate,r=t.volume,o=t.muted,a=t.seek;switch(n){case YT.PlayerState.PLAYING:e.playVideo();break;case YT.PlayerState.PAUSED:e.pauseVideo();break;case YT.PlayerState.CUED:e.stopVideo()}null!=i&&e.setPlaybackRate(i),null!=r&&e.setVolume(r),null!=o&&(o?e.mute():e.unMute()),null!=a&&e.seekTo(a.seconds,a.allowSeekAhead)}},{key:"_getLazyEmitter",value:function(e){var t=this;return this._playerChanges.pipe(Of(function(t){return t?yW(function(n){t.addEventListener(e,n)},function(n){try{t.removeEventListener&&t.removeEventListener(e,n)}catch(i){}}):$d()}),function(e){return new te(function(n){return e.subscribe({next:function(e){return t._ngZone.run(function(){return n.next(e)})},error:function(e){return n.error(e)},complete:function(){return n.complete()}})})},kf(this._destroyed))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["youtube-player"]],viewQuery:function(e,t){var n;(1&e&&yl(EW,5),2&e)&&(ml(n=_l())&&(t.youtubeContainer=n.first))},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(e,t){1&e&&Is(0,"div",null,0)},encapsulation:2,changeDetection:0}),e}();function TW(e,n){var i=t(n,3),r=i[0],o=i[1],a=i[2];if(e&&o&&e.playerVars!==o.playerVars)e.destroy();else{if(!o)return void(e&&e.destroy());if(e)return e}var s=a.runOutsideAngular(function(){return new YT.Player(r,o)});return s.videoId=o.videoId,s.playerVars=o.playerVars,s}function PW(e){return"getPlayerStatus"in e}function AW(e,n){return J(bW(e),bf(function(e){var i=t(e,2),r=i[0],o=i[1];return n(o,r)}),ce(function(e){return t(e,1)[0]}))}var MW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),IW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),e}();function RW(e){return!0===e}function DW(e){return null==e}function NW(e){return!DW(e)}function LW(e){return Boolean(e)}function jW(e){return DW(e)?e:JSON.parse(JSON.stringify(e))}var FW=function e(t){var n=t instanceof Date;if("object"!=typeof t||null===t||n)return t;Object.freeze(t);var i="function"==typeof t,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(n){r.call(t,n)&&(!i||"caller"!==n&&"callee"!==n&&"arguments"!==n)&&null!==t[n]&&("object"==typeof t[n]||"function"==typeof t[n])&&!Object.isFrozen(t[n])&&e(t[n])}),t};function BW(e){return NW(e)&&"object"==typeof e&&function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e)}var VW="NGXS_DATA_META",zW="NGXS_META",UW="NGXS_ARGUMENT_REGISTRY_META",HW=function(){var e=function(){function e(t){var n=this;m(this,e),this.sequence$=new vv(0),this.subscription=null,t&&(this.subscription=t.subscribe(function(){return n.updateSequence()}))}return b(e,[{key:"sequenceValue",get:function(){return this.sequence$.getValue()}},{key:"ngOnDestroy",value:function(){var e;this.sequence$.next(0),null===(e=this.subscription)||void 0===e||e.unsubscribe()}},{key:"updateSequence",value:function(){this.sequence$.next(this.sequenceValue+1)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function GW(e){return e[VW]}var WW=function(){var e=function e(t,n,i){m(this,e),e.store=t.get(Pz),e.ngZone=t.get(Xl),e.factory=n,e.context=i,e.computed=t.get(HW)};return e.store=null,e.computed=null,e.context=null,e.factory=null,e.ngZone=null,e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(bV),Zi(yV))}}),e}(),qW=function(){function e(){m(this,e),e.statesCachedMeta.clear()}return b(e,null,[{key:"createStateContext",value:function(e){return WW.context.createStateContext(e)}},{key:"ensureMappedState",value:function(t){if(DW(WW.factory)||DW(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(NW(t.name)?e.statesCachedMeta.get(t.name):null)||e.ensureMeta(t)}},{key:"getRepositoryByInstance",value:function(t){var n,i=null!==(n=GW(e.getStateClassByInstance(t)))&&void 0!==n?n:null;if(DW(i))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return i}},{key:"getStateClassByInstance",value:function(e){return(null!=e?e:{}).constructor}},{key:"clearMetaByInstance",value:function(t){var n=e.getRepositoryByInstance(t);n.stateMeta.actions={},n.operations={}}},{key:"createPayload",value:function(e,t){for(var n={},i=Array.from(e),r=0;r0?n:null}},{key:"createAction",value:function(t,n,i){var r=e.createPayload(n,i);return new(function(e){return function(){function t(e){var n=this;m(this,t),e&&Object.keys(e).forEach(function(t){n[t]=e[t]})}return b(t,null,[{key:"type",get:function(){return e}}]),t}()}(t.type))(r)}},{key:"ensureMeta",value:function(t){var n,i=NW(t.name)?null===(n=WW.factory.states)||void 0===n?void 0:n.find(function(e){return e.name===t.name}):null;return NW(i)&&NW(t.name)&&e.statesCachedMeta.set(t.name,i),i}}]),e}();qW.statesCachedMeta=new Map,qW.\u0275fac=function(e){return new(e||qW)},qW.\u0275prov=$e({token:qW,factory:qW.\u0275fac}),new Bf(1);var XW=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,"Child states can only be added to an object. Cannot convert ".concat(NW(null==e?void 0:e.constructor)?e.constructor.name:e," to PlainObject"))}return n}(l(Error));function YW(e){var t;return null!==(t=e.NGXS_OPTIONS_META)&&void 0!==t?t:{name:""}}function KW(e){var t,n=YW(e),i=null!==(t=n.children)&&void 0!==t?t:[],r=jW(void 0===n.defaults?{}:n.defaults);if(i.length){if(BW(r))return function(e,t){return t.reduce(function(e,t){var n=YW(t);if(function(e){var t="string"==typeof e?e.trim():e;return[void 0,null,NaN,"",1/0].includes(t)}(n.name))throw new Error("State name not provided in class");return e[n.name.toString()]=KW(t),e},null!=e?e:{})}(r,i);throw new XW(r)}return r}function $W(e){var t;return null!==(t=e.__NGXS_COMPUTED_OPTION__)&&void 0!==t?t:null}function QW(){var e,t;return null!==(t=null===(e=null==WW?void 0:WW.computed)||void 0===e?void 0:e.sequenceValue)&&void 0!==t?t:0}function ZW(e){var t=!1;return cf(e)&&(t=!0),t}function JW(e){return e[UW]}var eq=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,"An argument with the name '".concat(e,"' already exists in the method '").concat(i,"'"))}return n}(l(Error)),tq=function(){function e(){m(this,e),this.payloadMap=new Map,this.argumentMap=new Map}return b(e,[{key:"getPayloadTypeByIndex",value:function(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}},{key:"getArgumentNameByIndex",value:function(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}},{key:"createPayloadType",value:function(e,t,n){this.checkDuplicateName(e,t),this.payloadMap.set(n,e),this.payloadMap.set(e,e)}},{key:"createArgumentName",value:function(e,t,n){this.checkDuplicateName(e,t),this.argumentMap.set(n,e),this.argumentMap.set(e,e)}},{key:"checkDuplicateName",value:function(e,t){if(LW(this.argumentMap.has(e))||LW(this.payloadMap.has(e)))throw new eq(e,t)}}]),e}();function nq(e){return ah()?FW(e):e}function iq(e){return{enumerable:!0,configurable:!0,get:function(){var t=GW(e),n=qW.ensureMappedState(t.stateMeta);return qW.createStateContext(n)}}}function rq(e){if(!e)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},e),{getState:function(){return ah()?FW(e.getState()):e.getState()},setState:function(t){e.setState(t)},patchState:function(t){e.patchState(t)}})}function oq(){return function(e,t,n){!function(e,t){if(!function(e,t){var n,i=e,r=!1;if(BW(i))for(;null!==i;){if(RW(null==i?void 0:i.hasOwnProperty(t))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,t))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(e,null==t?void 0:t.toString()))throw new Error("The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ".concat(t.toString(),"() { \n\t .. \n}"))}(e,t);var i=n.get;return n.get=function(){var e=function(e){return DW($W(e))&&Object.defineProperties(e,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),$W(e)}(this),t=null==e?void 0:e.get(i);if(RW(null==t?void 0:t.isObservable))return null==t?void 0:t.value;if(DW(t)||t.sequenceId!==QW()){e.delete(i);for(var n=arguments.length,r=new Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:aq;return function(t,n,i){!function(e,t){if(e.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===t)throw new Error("@DataAction() can only decorate a method implementation")}(t,i);var r=i.value,o=n.toString();return i.value=function(){for(var t=arguments.length,n=new Array(t),i=0;i0?Array.from(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return Object.defineProperty(e,r,{value:o,enumerable:!0})},{}):void 0}},{key:"gtag",value:function(){try{for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return{ngModule:e,providers:[{provide:pq,useValue:{trackingCode:t,initCommands:n,uri:i,enableTracing:r,nonce:o}},bq]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[]]}),e}(),wq=function(){var e=function(){function e(){m(this,e),this.consent="not-set",this.consentChange=new Bf(1),this.consentChange.next(this.consent)}return b(e,[{key:"ngOnDestroy",value:function(){this.consentChange.complete()}},{key:"setConsent",value:function(e){this.consent!==e&&(this.consent=e,this.consentChange.next(e))}},{key:"unsetConsent",value:function(){this.setConsent("not-set")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),kq=function(){var e=function(){function e(t,n,i){var r=this,o=i.trackingCode;m(this,e),this.window=n,this.subscriptions=new q,this.token=o,this.subscriptions.add(t.consentChange.subscribe(function(e){return r.toggleGoogleAnalytics("rescinded"===e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"toggleGoogleAnalytics",value:function(e){this.window&&(this.window["ga-disable-".concat(this.token)]=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(vq),Zi(pq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),xq=new Ri("Key under which consent is stored",{providedIn:"root",factory:function(){return"ALLOW_TELEMETRY"}}),Sq=[wq,kq,function(){var e=function(){function e(t,n){var i=this;m(this,e),this.key=n,this.subscriptions=new q;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(function(e){return i.saveConsent(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"loadConsent",value:function(){var e,t,n=null===(t=null===(e=this.storage)||void 0===e?void 0:e.getItem)||void 0===t?void 0:t.call(e,this.key);if(null==n)return"not-set";var i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}},{key:"saveConsent",value:function(e){var t,n;null===(n=null===(t=this.storage)||void 0===t?void 0:t.setItem)||void 0===n||n.call(t,this.key,e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(xq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}()];function Cq(e){return Object.entries(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return null!=o&&(e[r]="".concat(o)),e},{})}var Eq=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){var n=_q.forRoot(t.gaToken,function(e){return[{command:"set",values:[Cq({appName:e.appName,projectName:e.projectName,developmentMode:e.developmentMode})]}]}(t)).providers;return{ngModule:e,providers:void 0===n?[]:n}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[].concat(Sq,[{provide:Cl,multi:!0,useFactory:function(){return function(){}},deps:Sq}]),imports:[[_q]]}),e}();function Oq(e,t,n,i){n&&"function"!=typeof n&&(i=n);var r="function"==typeof n?n:void 0,o=new Bf(e,t,i);return function(e){return De(function(){return o},r)(e)}}var Tq=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},Pq=function(e){return e.map(function(e){return void 0!==e?JSON.parse(JSON.stringify(e)):e})},Aq={storageStrategy:function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).cachePairs=[],e}return b(n,[{key:"add",value:function(e,t,n){this.cachePairs.push(e)}},{key:"addMany",value:function(e){this.cachePairs=e}},{key:"updateAtIndex",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"update",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"getAll",value:function(){return this.cachePairs}},{key:"removeAtIndex",value:function(e){this.cachePairs.splice(e,1)}},{key:"remove",value:function(e){this.cachePairs.splice(e,1)}},{key:"removeAll",value:function(){this.cachePairs.length=0}}]),n}(function(){return function e(){m(this,e)}}()),globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},Mq=new ae;function Iq(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n,i){var r=this,o=e.cacheKey||t.constructor.name+"#"+n,a=i.value;if(i&&i.value){var s=e.storageStrategy?new e.storageStrategy:new Aq.storageStrategy,u=[];e.cacheModifier&&e.cacheModifier.subscribe(function(e){return s.addMany(e(s.getAll(o,r)),o,r)}),Oe(Mq.asObservable(),e.cacheBusterObserver?e.cacheBusterObserver:If()).subscribe(function(e){s.removeAll(o,r),u.length=0}),e.cacheResolver=e.cacheResolver||Aq.cacheResolver||Tq,e.cacheHasher=e.cacheHasher||Aq.cacheHasher||Pq,i.value=function(){for(var t=this,n=s.getAll(o,this),i=arguments.length,r=new Array(i),c=0;c(e.maxAge||Aq.maxAge)?(s.remove?s.remove(n.indexOf(h),h,o,this):s.removeAtIndex(n.indexOf(h),o,this),h=null):(e.slidingExpiration||Aq.slidingExpiration)&&(h.created=new Date,s.update?s.update(n.indexOf(h),h,o,this):s.updateAtIndex(n.indexOf(h),h,o,this))),h){var f=$d(h.response);return e.async?f.pipe(NH(0)):f}if(d)return d.response;var p=a.call.apply(a,[this].concat(r)).pipe(Ub(function(){var t=u.find(function(t){return e.cacheResolver(t.parameters,l)});u.splice(u.indexOf(t),1)}),mv(function(i){(!e.shouldCacheDecider||e.shouldCacheDecider(i))&&((!(e.maxCacheCount||Aq.maxCacheCount)||1===(e.maxCacheCount||Aq.maxCacheCount)||(e.maxCacheCount||Aq.maxCacheCount)&&(e.maxCacheCount||Aq.maxCacheCount)0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.apiKeys=t.apiKeys,this.username=t.username,this.password=t.password,this.accessToken=t.accessToken,this.basePath=t.basePath,this.withCredentials=t.withCredentials,this.encoder=t.encoder,this.credentials=t.credentials?t.credentials:{}}return b(e,[{key:"selectHeaderContentType",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"selectHeaderAccept",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"isJsonMime",value:function(e){var t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}},{key:"lookupCredential",value:function(e){var t=this.credentials[e];return"function"==typeof t?t():t}}]),e}(),jq=function(){var e=function(){function e(t,n,i){m(this,e),this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Xb,this.configuration=new Lq,i&&(this.configuration=i),"string"!=typeof this.configuration.basePath&&("string"!=typeof n&&(n=this.basePath),this.configuration.basePath=n),this.encoder=this.configuration.encoder||new Dq}return b(e,[{key:"addToHttpParams",value:function(e,t,n){return this.addToHttpParamsRecursive(e,t,n)}},{key:"addToHttpParamsRecursive",value:function(e,t,n){var i=this;if(null==t)return e;if("object"==typeof t)if(Array.isArray(t))t.forEach(function(t){return e=i.addToHttpParamsRecursive(e,t,n)});else if(t instanceof Date){if(null==n)throw Error("key may not be null if value is Date");e=e.append(n,t.toISOString().substr(0,10))}else Object.keys(t).forEach(function(r){return e=i.addToHttpParamsRecursive(e,t[r],null!=n?"".concat(n,".").concat(r):r)});else{if(null==n)throw Error("key may not be null if value is not object or array");e=e.append(n,t)}return e}},{key:"aggregateResults",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/aggregate-results"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"dbStatus",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.token,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"token"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/db-status"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"getSpatialPlacement",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");var o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));var s=i&&i.context;void 0===s&&(s=new e_);var u=this.configuration.selectHeaderContentType(["application/json"]);void 0!==u&&(o=o.set("Content-Type",u));var c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/get-spatial-placement"),r,{context:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:t,reportProgress:n})}},{key:"gtexRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/gtex/rui_locations.jsonld"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"hubmapRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/hubmap/rui_locations.jsonld"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"ontologyTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"ontologyTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"providerNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/provider-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"referenceOrganScene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");var a=e.age,s=e.ageRange,u=e.bmi,c=e.bmiRange,l=e.cache,h=e.ontologyTerms,d=e.cellTypeTerms,f=e.providers,p=e.sex,v=e.spatial,g=e.technologies,m=e.token,y=new Jb({encoder:this.encoder});null!=a&&(y=this.addToHttpParams(y,a,"age")),null!=s&&(y=this.addToHttpParams(y,s,"age-range")),null!=u&&(y=this.addToHttpParams(y,u,"bmi")),null!=c&&(y=this.addToHttpParams(y,c,"bmi-range")),null!=l&&(y=this.addToHttpParams(y,l,"cache")),h&&h.forEach(function(e){y=t.addToHttpParams(y,e,"ontology-terms")}),d&&d.forEach(function(e){y=t.addToHttpParams(y,e,"cell-type-terms")}),null!=o&&(y=this.addToHttpParams(y,o,"organ-iri")),f&&f.forEach(function(e){y=t.addToHttpParams(y,e,"providers")}),null!=p&&(y=this.addToHttpParams(y,p,"sex")),v&&v.forEach(function(e){y=t.addToHttpParams(y,e,"spatial")}),g&&g.forEach(function(e){y=t.addToHttpParams(y,e,"technologies")}),null!=m&&(y=this.addToHttpParams(y,m,"token"));var b=this.defaultHeaders,_=r&&r.httpHeaderAccept;void 0===_&&(_=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_&&(b=b.set("Accept",_));var w=r&&r.context;void 0===w&&(w=new e_);var k="json";return _&&(k=_.startsWith("text")?"text":this.configuration.isJsonMime(_)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organ-scene"),{context:w,params:y,responseType:k,withCredentials:this.configuration.withCredentials,headers:b,observe:n,reportProgress:i})}},{key:"referenceOrgans",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organs"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"scene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/scene"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"sparql",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"query")),null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/sparql"),{context:l,params:s,responseType:h,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"sparqlPost",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(u=u.set("Content-Type",h));var d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/sparql"),r,{context:l,params:s,responseType:d,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"technologyNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/technology-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"tissueBlocks",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/tissue-blocks"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_),Zi(Nq,8),Zi(Lq,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(h_),Zi(Nq,8),Zi(Lq,8))},token:e,providedIn:"root"}),e}(),Fq=function(){var e=function(){function e(t,n){if(m(this,e),t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!n)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:Lq,useFactory:t}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12),Zi(h_,8))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[],imports:[[]]}),e}();function Bq(e){return new Promise(function(t,n){e.oncomplete=e.onsuccess=function(){return t(e.result)},e.onabort=e.onerror=function(){return n(e.error)}})}function Vq(){return Rq||(e="keyval",t=function(){return navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases?Promise.resolve():new Promise(function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)});var e}().then(function(){var t=indexedDB.open("keyval-store");return t.onupgradeneeded=function(){return t.result.createObjectStore(e)},Bq(t)}),Rq=function(n,i){return t.then(function(t){return i(t.transaction(e,n).objectStore(e))})}),Rq;var e,t}function zq(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readonly",function(t){return Bq(t.get(e))})}var Uq,Hq=r(71440),Gq="Unknown Euler angle order",Wq=.99999,qq=function(e){a(i,e);var n=s(i);function i(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i.DefaultOrder;return m(this,i),t=n.call(this,-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?(e=t).fromVector3.apply(e,arguments):t.set(r,o,a,s),t}return b(i,[{key:"ELEMENTS",get:function(){return 4}},{key:"fromQuaternion",value:function(e){var n=t(e,4),r=n[0],o=n[1],a=n[2],s=n[3],u=o*o,c=-2*(u+a*a)+1,l=2*(r*o+s*a),h=-2*(r*a-s*o);return h=(h=h>1?1:h)<-1?-1:h,new i(Math.atan2(2*(o*a+s*r),-2*(r*r+u)+1),Math.asin(h),Math.atan2(l,c),i.RollPitchYaw)}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;return this[0]=e,this[1]=t,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}},{key:"validate",value:function(){return function(e){return e>=0&&e<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}},{key:"toArray4",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}},{key:"toVector3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"alpha",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"beta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"gamma",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"phi",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"theta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"psi",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"roll",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"pitch",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"yaw",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"order",get:function(){return this[3]},set:function(e){this[3]=function(e){if(e<0&&e>=6)throw new Error(Gq);return e}(e)}},{key:"fromVector3",value:function(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}},{key:"fromRollPitchYaw",value:function(e,t,n){return this.set(e,t,n,i.ZYX)}},{key:"fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder;return this._fromRotationMatrix(e,t),this.check()}},{key:"getRotationMatrix",value:function(e){return this._getRotationMatrix(e)}},{key:"getQuaternion",value:function(){var e=new JN;switch(this[4]){case i.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case i.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case i.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case i.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case i.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case i.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(Gq)}}},{key:"_fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder,n=e.elements,r=n[0],o=n[4],a=n[8],s=n[1],u=n[5],c=n[9],l=n[2],h=n[6],d=n[10];switch(t=t||this[3]){case i.XYZ:this[1]=Math.asin(hS(a,-1,1)),Math.abs(a)1&&void 0!==arguments[1]?arguments[1]:0,n=(tX[e[t+0]]+tX[e[t+1]]+tX[e[t+2]]+tX[e[t+3]]+"-"+tX[e[t+4]]+tX[e[t+5]]+"-"+tX[e[t+6]]+tX[e[t+7]]+"-"+tX[e[t+8]]+tX[e[t+9]]+"-"+tX[e[t+10]]+tX[e[t+11]]+tX[e[t+12]]+tX[e[t+13]]+tX[e[t+14]]+tX[e[t+15]]).toLowerCase();if(!eX(n))throw TypeError("Stringified UUID is invalid");return n}(i)},rX=r(31609),oX=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),aX=(Math,Math,{});function sX(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?aX.precision||4:n;return e=function(e){return Math.round(e/aX.EPSILON)*aX.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function uX(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cX(e,t,n){var i=aX.EPSILON;n&&(aX.EPSILON=n);try{if(e===t)return!0;if(uX(e)&&uX(t)){if(e.length!==t.length)return!1;for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+sX(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(aX.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&uX(i)?e.copy(i):(aX.debug&&(dX(i),dX(r),dX(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return aX.debug&&(dX(e.x),dX(e.y),dX(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=dX(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return AS(this,this,void 0===n?gX:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?gX:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?gX:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return function(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[3]*i+n[7]*r+n[11]*o||1;e[0]=(n[0]*i+n[4]*r+n[8]*o)/a,e[1]=(n[1]*i+n[5]*r+n[9]*o)/a,e[2]=(n[2]*i+n[6]*r+n[10]*o)/a}(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return PS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return mX.ZERO=mX.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return lX(!1),0}},{key:"copy",value:function(e){return lX(!1),this}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=dX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=dX(e)}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.radius=-0,this.center=new yX,this.fromCenterRadius(t,n)}return b(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=bX.from(t),this.center=(new yX).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,n=this.radius,i=e.radius,r=bX.copy(e.center).subtract(t),o=r.magnitude();if(n>=o+i)return this.clone();if(i>=o+n)return e.clone();var a=.5*(n+o+i);return _X.copy(r).scale((-n+a)/o).add(t),this.center.copy(_X),this.radius=a,this}},{key:"expand",value:function(e){var t=(e=bX.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=function(e,t){var n=t[4],i=t[5],r=t[6],o=t[8],a=t[9],s=t[10];return e[0]=Math.hypot(t[0],t[1],t[2]),e[1]=Math.hypot(n,i,r),e[2]=Math.hypot(o,a,s),e}(bX,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=bX.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.radius,n=e.normal.dot(this.center)+e.distance;return n<-t?oX.OUTSIDE:n1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=dX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=dX(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=dX(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=dX(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return lX(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return lX(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?TX:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),fX(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(hX),AX=new yX,MX=new yX,IX=new yX,RX=new yX,DX=new yX,NX=new yX,LX=new yX,jX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];m(this,e),this.center=(new yX).from(t),this.halfAxes=new OX(n)}return b(e,[{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new yX(e).len(),new yX(t).len(),new yX(n).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new yX(e).normalize(),r=new yX(t).normalize(),o=new yX(n).normalize();return(new PX).fromMatrix3(new OX([].concat(v(i),v(r),v(o))))}},{key:"fromCenterHalfSizeQuaternion",value:function(e,t,n){var i=new PX(n),r=(new OX).fromQuaternion(i);return r[0]=r[0]*t[0],r[1]=r[1]*t[0],r[2]=r[2]*t[0],r[3]=r[3]*t[1],r[4]=r[4]*t[1],r[5]=r[5]*t[1],r[6]=r[6]*t[2],r[7]=r[7]*t[2],r[8]=r[8]*t[2],this.center=(new yX).from(e),this.halfAxes=r,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new wX,t=this.halfAxes,n=t.getColumn(0,IX),i=t.getColumn(1,RX),r=t.getColumn(2,DX),o=AX.copy(n).add(i).add(r);return e.center.copy(this.center),e.radius=o.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,n=e.normal,i=this.halfAxes,r=n.x,o=n.y,a=n.z,s=Math.abs(r*i[0]+o*i[1]+a*i[2])+Math.abs(r*i[3]+o*i[4]+a*i[5])+Math.abs(r*i[6]+o*i[7]+a*i[8]),u=n.dot(t)+e.distance;return u<=-s?oX.OUTSIDE:u>=s?oX.INSIDE:oX.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=MX.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,IX),r=n.getColumn(1,RX),o=n.getColumn(2,DX),a=i.magnitude(),s=r.magnitude(),u=o.magnitude();i.normalize(),r.normalize(),o.normalize();var c,l=0;return(c=Math.abs(t.dot(i))-a)>0&&(l+=c*c),(c=Math.abs(t.dot(r))-s)>0&&(l+=c*c),(c=Math.abs(t.dot(o))-u)>0&&(l+=c*c),l}},{key:"computePlaneDistances",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,s=a.getColumn(0,IX),u=a.getColumn(1,RX),c=a.getColumn(2,DX),l=NX.copy(s).add(u).add(c).add(o),h=LX.copy(l).subtract(e),d=t.dot(h);return i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,IX);t.transformAsPoint(e);var n=this.halfAxes.getColumn(1,RX);n.transformAsPoint(e);var i=this.halfAxes.getColumn(2,DX);return i.transformAsPoint(e),this.halfAxes=new OX([].concat(v(t),v(n),v(i))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}}]),e}(),FX=new yX,BX=new yX,VX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.normal=new yX,this.distance=-0,this.fromNormalDistance(t,n)}return b(e,[{key:"fromNormalDistance",value:function(e,t){return lX(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=FX.from(e),this.normal.from(t).normalize();var n=-this.normal.dot(e);return this.distance=n,this}},{key:"fromCoefficients",value:function(e,t,n,i){return this.normal.set(e,t,n),lX(cX(this.normal.len(),1)),this.distance=i,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return cX(this.distance,e.distance)&&cX(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=BX.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=FX.from(e);var n=this.getPointDistance(e),i=BX.copy(this.normal).scale(n);return e.subtract(i).to(t)}}]),e}();function zX(e,n,i){var r,o,a,s,u,c,l,h,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:r=0,o=Object.entries(i);case 1:if(!(r0){r.reverse();var o,a="",s=_(r);try{for(s.s();!(o=s.n()).done;){var u=o.value;a&&rY(i,iY(n,this.graph.getEdgeAttribute(u,a,"id"))),a=u}}catch(c){s.e(c)}finally{s.f()}return i}}}},{key:"getSpatialPlacement",value:function(e,t){var n,i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,$q.get)(e,"placement[0]",(0,$q.get)(e,"placement",void 0));if(r&&this.graph.hasNode(r.target)?(n=this.getTransformationMatrix(r.target,t))&&(n=rY(n,r)):i&&(n=this.getTransformationMatrix(i,t)),n){var o=(new qq).fromRotationMatrix(n,qq.XYZ),a=n.getTranslation().map(function(e){return 1e3*e}),s=o.toVector3().map(lS),u=n.getScale().map(function(e){return e<1&&e>.999999?1:e});return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":"http://purl.org/ccf/1.5/".concat(iX(),"_placement"),"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:u[0],y_scaling:u[1],z_scaling:u[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}]),e}(),aY=function(){function e(t){m(this,e),this.db=t}return b(e,[{key:"getSpatialEntity",value:function(e){return nY(this.db.store,e)}},{key:"getExtractionSets",value:function(e){return function(e,t){return(0,$q.sortBy)(e.getSubjects(YX.spatialEntity.extraction_set_for,t,null).map(function(t){return tY(e,t.id)}),["rui_rank"])}(this.db.store,e)}},{key:"getExtractionSet",value:function(e){return tY(this.db.store,e)}},{key:"getAnatomicalStructures",value:function(e){return function(e,t){return(0,$q.sortBy)(e.getSubjects(YX.spatialEntity.reference_organ,t,null).map(function(t){return nY(e,t.id)}).filter(function(e){return e["@id"]!==t}),["rui_rank"])}(this.db.store,e)}},{key:"getReferenceOrgans",value:function(){return function(e){var t=[];return e.forEach(function(n){n.subject.id===n.object.id&&t.push(nY(e,n.subject.id))},null,YX.spatialEntity.reference_organ,null,null),(0,$q.sortBy)(t,["rui_rank"])}(this.db.store)}},{key:"getReferenceBody",value:function(e){var t;switch(null==e?void 0:e.sex){case"Male":t=YX.spatial.Male.id;break;case"Female":t=YX.spatial.Female.id;break;case"Both":default:t=YX.spatial.BothSexes.id}return this.getSpatialEntity(t)}},{key:"getReferenceOrganSets",value:function(e){var n=this,i=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":i=i.filter(function(e){return"Male"===e.sex});break;case"Female":i=i.filter(function(e){return"Female"===e.sex})}return(null==e?void 0:e.debug)&&(i=i.map(function(e){return[[e],n.getAnatomicalStructures(e["@id"])]}).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return e.concat(o.length>0?o:r)},[])),i}},{key:"getReferenceSceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e),i=[],r=v(this.getReferenceOrganSets(e).map(function(e){var r="http://purl.obolibrary.org/obo/UBERON_0002097"===e.representation_of,o=t.getSceneNode(e,n,{color:[255,255,255,255],opacity:r?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!r});return r&&o?void i.push(o):o}));return i.length>0&&(r=[].concat(i,v(r))),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(YX.x("VHRightKidney").id),n,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHLeftKidney").id),n,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHSpleenCC1").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHSpleenCC2").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(YX.x("VHSpleenCC3").id),n,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(function(e){return void 0!==e})}},{key:"getReferenceOrganScene",value:function(e,t){var n,i,r=this,o=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(n=null==t?void 0:t.sex)||void 0===n?void 0:n.toLowerCase()),a=this.getReferenceOrgans().filter(function(n){return n.representation_of===e&&(!o||n.sex===(null==t?void 0:t.sex))});if(a.length>0){var s=a[0],u=this.getSceneNode(s,s,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),c=(null!==(i=this.db.getSpatialEntities(t))&&void 0!==i?i:[]).map(function(e){return r.getSceneNode(e,s,{color:[255,255,255,229.5]})});return[u].concat(c).filter(function(e){return void 0!==e})}return[]}},{key:"getEntitySceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(function(e){return t.getSceneNode(e,n,{color:[255,255,255,229.5]})}).filter(function(e){return void 0!==e})}},{key:"getSceneNode",value:function(e,t){var n,i,r,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=null===(i=null===(n=null==e?void 0:e.object)||void 0===n?void 0:n.file_format)||void 0===i?void 0:i.startsWith("model/gltf"),u=this.db.graph.getTransformationMatrix(s&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(s)u=new $O($O.IDENTITY).rotateX(cS(90)).multiplyLeft(u);else{var c;switch(e.dimension_units){case"centimeter":c=.01;break;case"millimeter":c=.001;break;case"meter":default:c=1}var l=[e.x_dimension,e.y_dimension,e.z_dimension].map(function(e){return e*c/2});u.scale(l)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:s?null===(r=e.object)||void 0===r?void 0:r.file:void 0,scenegraphNode:s?null===(o=e.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:u,tooltip:e.label},a)}}},{key:"getScene",value:function(e){return[].concat(v(this.getReferenceSceneNodes(e)),v(this.getEntitySceneNodes(e)))}}]),e}(),sY="https://entity.api.hubmapconsortium.org/entities/",uY=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),cY={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},lY={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},hY={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}},dY=function(){function e(t){var n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3?arguments[3]:void 0;if(m(this,e),this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"===this.data.entity_type){var s=this.data.descendants||[],u=(this.data.ancestors||[]).find(function(e){return"Donor"===e.entity_type});this.donor=this.getDonor(u,o);var c=this.getRuiLocation(t,this.donor);c?this.rui_location=c:this.bad=!0,lY[t.group_uuid]||(lY[t.group_uuid]=t.group_name);var l=new Date(t.last_modified_timestamp).toLocaleDateString(),h=lY[t.group_uuid]||t.group_name,d=t.created_by_user_displayname;this["@id"]=sY+t.uuid,this.label="Registered ".concat(l,", ").concat(d,", ").concat(h),this.link="".concat(o,"browse/sample/").concat(t.uuid);var f={},p=[];this.sections=p;var v=[];this.datasets=v;var g,y=_(s.filter(function(e){return"Sample"===e.entity_type}));try{for(y.s();!(g=y.n()).done;){var b=g.value,w=this.getSection(b,t,o);f[b.submission_id]=w,p.push(w),w.section_number=null!==(n=w.section_number)&&void 0!==n?n:p.length}}catch(M){y.e(M)}finally{y.f()}var k,x=_(s);try{for(x.s();!(k=x.n()).done;){var S=k.value;if("Dataset"===S.entity_type){var C=this.getDataset(S,r,o,a),E=(0,$q.get)(S,["ingest_metadata","metadata","tissue_id"]);f[E]?null===(i=f[E].datasets)||void 0===i||i.push(C):v.push(C)}}}catch(M){x.e(M)}finally{x.f()}var O=null!=c?c:{},T="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(O.z_dimension," ").concat(O.dimension_units);this.section_count=O.slice_count||p.length;var P=parseFloat((O.slice_thickness||(O.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=P;var A=O.dimension_units||"millimeter";this.section_units=A,this.description="".concat(T,", ").concat(P," ").concat(A,", ").concat(t.specimen_type,", ").concat(this.section_count," Sections"),p.forEach(function(e,t){e.description="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(P," ").concat(A,", ").concat(P," ").concat(A,", ").concat(e.description),e.section_number=t+1})}else this.bad=!0}return b(e,[{key:"getSection",value:function(e,t,n){var i=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":sY+e.uuid,"@type":"Sample",label:"Registered ".concat(i,", ").concat(e.created_by_user_displayname,", ").concat(lY[e.group_uuid]||e.group_name),description:"".concat(t.specimen_type),link:"".concat(n,"browse/sample/").concat(e.uuid),sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}},{key:"getDataset",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3?arguments[3]:void 0,a=new Date(e.last_modified_timestamp).toLocaleDateString(),s=lY[e.group_uuid]||e.group_name,u=e.created_by_user_displayname,c=[].concat(v(e.data_types),[(0,$q.get)(e,["ingest_metadata","metadata","assay_type"],"")]),l=c.join("|").toLowerCase(),h="assets/icons/ico-unknown.svg";return-1!==l.indexOf("10x")?(n="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==l.indexOf("af")?(n="AF",h="assets/icons/ico-spatial-af.svg"):-1!==l.indexOf("codex")?(n="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==l.indexOf("imc")?(n="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==l.indexOf("lc")&&-1===l.indexOf("af")?(n="LC",h="assets/icons/ico-bulk-lc.svg"):n=-1!==l.indexOf("maldi")?"MALDI":-1!==l.indexOf("pas")?"PAS":"OTHER",h=null!==(t=this.getDatasetThumbnail(e,i,o))&&void 0!==t?t:h,{"@id":sY+e.uuid,"@type":"Dataset",label:"Registered ".concat(a,", ").concat(u,", ").concat(s),description:"Data/Assay Types: ".concat(c.join(", ")),link:"".concat(r,"browse/dataset/").concat(e.uuid),technology:n,thumbnail:h}}},{key:"getDatasetThumbnail",value:function(e,t,n){if(e.thumbnail_file){var i=e.thumbnail_file;return"".concat(t,"/").concat(i.file_uuid,"/").concat(i.filename)+(n?"?token=".concat(n):"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){var r=(0,$q.get)(e,"metadata.files",[]).filter(function(e){return/\.(ome\.tif|ome\.tiff)$/.test(e.rel_path)}).filter(function(e){return!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(e.rel_path)}).filter(function(e){return uY.has(e.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))}).map(function(i){return"".concat(t,"/").concat(e.uuid,"/").concat(i.rel_path)+(n?"?token=".concat(n):"")});if(r.length>0){var o=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(uY.has(o))return"assets/thumbnails/TMC-Vanderbilt/DR1/".concat(o)}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){var a=cY[e.hubmap_id];if(a)return"assets/thumbnails/TMC-Florida/".concat(a)}}},{key:"getDonor",value:function(e,t){var n,i=(e.description||"").toLowerCase();i.includes("female")?n="Female":i.includes("male")&&(n="Male");var r,o,a=i.match(/age ([0-9]+)/);a&&(r=(0,$q.toNumber)(a[1]));var s,u=_((0,$q.get)(e,"metadata.organ_donor_data",[]));try{for(u.s();!(s=u.n()).done;){var c=s.value;"Feminine gender"===c.preferred_term||"Female"===c.preferred_term?n="Female":"Masculine gender"===c.preferred_term||"Male"===c.preferred_term?n="Male":"Current chronological age"===c.preferred_term||"Age"===c.preferred_term?r=(0,$q.toNumber)(c.data_value):"Body mass index"===c.preferred_term&&(o=(0,$q.toNumber)(c.data_value))}}catch(f){u.e(f)}finally{u.f()}var l="";n&&r&&(l+="".concat(n,", Age ").concat(r),o&&(l+=", BMI ".concat(o.toFixed(1))));var h=new Date(e.last_modified_timestamp).toLocaleDateString(),d=lY[e.group_uuid]||e.group_name;return{"@id":sY+e.uuid,"@type":"Donor",label:l,description:"Entered ".concat(h,", ").concat(e.created_by_user_displayname,", ").concat(d),link:"".concat(t,"browse/donor/").concat(e.uuid),age:r,sex:n,bmi:o,consortium_name:"HuBMAP",provider_name:d,provider_uuid:e.group_uuid,samples:[]}}},{key:"getRuiLocation",value:function(e,t){var n,i,r=e.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):r["@id"]&&(i=r)),i){var o=null!==(n=(0,$q.get)(i,["placement","target"]))&&void 0!==n?n:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,$q.set)(i,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,$q.set)(i,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return i}},{key:"getTissueBlock",value:function(){return(0,$q.omit)(Object.assign({},this),["data","bad","donor"])}},{key:"toJsonLd",value:function(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}]),e}(),fY=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],pY={exists:{field:"rui_location"}};function vY(e,t,n){return JSON.stringify({version:!0,from:e,size:t,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:pY,_source:{includes:fY}})}function gY(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,fetch(e,t);case 3:if(!(i=n.sent).ok){n.next=10;break}return n.next=7,i.json();case 7:n.t0=n.sent,n.next=11;break;case 10:n.t0=void 0;case 11:return n.abrupt("return",n.t0);case 14:return n.prev=14,n.t1=n.catch(0),n.abrupt("return");case 17:case"end":return n.stop()}},n,null,[[0,14]])}))}function mY(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"";return Dw(this,void 0,void 0,regeneratorRuntime.mark(function a(){var s;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("static"!==t){a.next=6;break}return a.next=3,gY(e);case 3:s=a.sent,a.next=11;break;case 6:if(a.t0="search-api"===t,!a.t0){a.next=11;break}return a.next=10,function(e,t,n){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return o=250,a=function(e){var t=new Headers;return t.append("Content-type","application/json"),e&&t.append("Authorization","Bearer ".concat(e)),t}(t),s=vY(0,o,n),i.next=5,gY(e,{method:"POST",headers:a,body:s});case 5:if(u=i.sent){i.next=8;break}return i.abrupt("return");case 8:if(!((c=u.hits.total.value)<=o)){i.next=11;break}return i.abrupt("return",u);case 11:for(l=[],h=o;h1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={},s=(0,$q.get)(e,"hits.hits",[]).map(function(e){return(0,$q.get)(e,"_source",{})}).map(function(e){return new dY(e,n,i,r).toJsonLd()}),u=_(s);try{for(u.s();!(t=u.n()).done;){var c=t.value,l=c["@id"];a[l]?a[l].samples.push(c.samples[0]):a[l]=c}}catch(d){u.e(d)}finally{u.f()}var h=Object.values(a);return o&&(function(e){var t,n=[],i=0,r=_(e.filter(function(e){return e.samples.length>1}));try{for(r.s();!(t=r.n()).done;){for(var o=t.value,a=o.samples,s=function(e){var t=a[e]["@id"];n=n.concat(a[e].datasets);var r,o=_(a[e].sections);try{for(o.s();!(r=o.n()).done;){var s=r.value;n=n.concat(s.datasets)}}catch(d){o.e(d)}finally{o.f()}for(var u=e+1;u0&&console.log("\u26a0 ".concat(i," sections identified as blocks"))}(h),console.log(h.map(function(e){return Object.assign({"@context":hY},e)}))),{"@context":hY,"@graph":h}}(s,r,o,i));case 13:console.warn("Unable to load ".concat(e," as HuBMAP Data"));case 14:case"end":return a.stop()}},a)}))}function yY(e,t,n){var i,r=new Set,o=_(t);try{for(o.s();!(i=o.n()).done;){var a,s=i.value,u=_((0,Hq.readQuads)(e,s,n,null,null));try{for(u.s();!(a=u.n()).done;){var c=a.value;r.add(c.object.id)}}catch(l){u.e(l)}finally{u.f()}}}catch(l){o.e(l)}finally{o.f()}return r}var bY=(o(x={},YX.spatialEntity.x_dimension.id,"x"),o(x,YX.spatialEntity.y_dimension.id,"y"),o(x,YX.spatialEntity.z_dimension.id,"z"),x);function _Y(e,t,n,i){var r,o=t.getTransformationMatrix(n,i);if(o){var a=o.getTranslation(),s=function(e,t){var n=UX(e,t,"Dimensions",bY);return[n.x,n.y,n.z]}(e,n).map(function(e){return e/1e3/2}),u=(new qq).fromRotationMatrix(o,qq.XYZ).toQuaternion().normalize().calculateW();r=(new jX).fromCenterHalfSizeQuaternion(a,s,u)}return r}function wY(e,t,n,i){var r,o=i.x,a=i.y,s=i.z,u=i.radius,c=i.target,l=new Set,h=u/1e3*(u/1e3),d=_(n);try{for(d.s();!(r=d.n()).done;){var f=r.value,p=_Y(e,t,f,c);p&&p.distanceSquaredTo([o,a,s].map(function(e){return e/1e3}))<=h&&l.add(f)}}catch(v){d.e(v)}finally{d.f()}return l}function kY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Hq.readQuads)(e,l,qX.donor,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function xY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Hq.readQuads)(e,l,qX.spatialEntity,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function SY(e,t){return function(n){e.has(n.id)&&t.add(n.id)}}function CY(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.namedNode(a);e.forSubjects(SY(t,r),YX.spatialEntity.ccf_annotations,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}function EY(e,t){var n,i=function(e,t){var n,i=new Map,r=_(e);try{for(r.s();!(n=r.n()).done;){var o,a=n.value,s=_((0,Hq.readQuads)(t,a,qX.spatialEntity,null,null));try{for(s.s();!(o=s.n()).done;){var u=o.value;i.has(u.object.id)?i.get(u.object.id).add(a):i.set(u.object.id,new Set([a]))}}catch(c){s.e(c)}finally{s.f()}}}catch(c){r.e(c)}finally{r.f()}return i}(e,t),r=new Map,o=_(i.keys());try{for(o.s();!(n=o.n()).done;){var a,s=n.value,u=i.get(s),c=_((0,Hq.readQuads)(t,s,YX.spatialEntity.ccf_annotations,null,null));try{for(c.s();!(a=c.n()).done;){var l=a.value;r.has(l.object.id)?function(){var e=r.get(l.object.id);u.forEach(function(t){return e.add(t)})}():r.set(l.object.id,new Set(u))}}catch(h){c.e(h)}finally{c.f()}}}catch(h){o.e(h)}finally{o.f()}return r}function OY(e,n,i){var r,a,s={"@id":n,"@type":"OntologyTreeNode",id:n,parent:"",children:[],synonymLabels:[],label:""},u=_(zX(e,n,(o(r={},YX.ontologyNode.label.id,"label"),o(r,i,"parent"),o(r,YX.ontologyNode.synonymLabels.id,"synonymLabels"),r)));try{for(u.s();!(a=u.n()).done;){var c=t(a.value,2),l=c[0],h=c[1];"synonymLabels"===l?s.synonymLabels.push(h):s[l]=h}}catch(d){u.e(d)}finally{u.f()}return s.children=e.getSubjects(i,n,null).map(function(e){return e.id}),s}function TY(e,t,n,i){var r,o={root:t,nodes:{}},a=new Set,s=_((0,Hq.readQuads)(e,null,i,null,null));try{for(s.s();!(r=s.n()).done;){var u=r.value;a.add(u.subject.id),a.add(u.object.id)}}catch(f){s.e(f)}finally{s.f()}var c,l=_(a);try{for(l.s();!(c=l.n()).done;){var h=c.value;o.nodes[h]=OY(e,h,i)}}catch(f){l.e(f)}finally{l.f()}o.nodes[t]||(o.nodes[t]={"@id":t,"@type":"OntologyTreeNode",id:t,label:n,children:[],synonymLabels:[]});var d=e.getSubjects(i,t,null).map(function(e){return e.id}).sort(function(e,t){return o.nodes[e].label.localeCompare(o.nodes[t].label)});return o.nodes[t].children=d,o}var PY=(0,$q.memoize)(function(e){var t=TY(e,ZX.body.id,"body",YX.asctb.part_of.id);return t.nodes[ZX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(function(e){return e in t.nodes}),t},function(){return""}),AY=(o(S={},qX.label.id,"label"),o(S,qX.description.id,"description"),o(S,qX.link.id,"link"),S),MY=Object.assign(Object.assign({},AY),o({},qX.providerName.id,"providerName")),IY=Object.assign(Object.assign({},AY),(o(C={},qX.technology.id,"technology"),o(C,qX.thumbnail.id,"thumbnail"),C)),RY=Object.assign(Object.assign({},AY),(o(E={},qX.sampleType.id,"sampleType"),o(E,qX.sectionNumber.id,"sectionNumber"),o(E,qX.datasets.id,"datasets"),E)),DY=Object.assign(Object.assign({},AY),(o(O={},qX.sampleType.id,"sampleType"),o(O,qX.sectionCount.id,"sectionCount"),o(O,qX.sectionSize.id,"sectionSize"),o(O,qX.sectionUnits.id,"sectionUnits"),o(O,qX.donor.id,"donor"),o(O,qX.spatialEntity.id,"spatialEntityId"),o(O,qX.sections.id,"sections"),o(O,qX.datasets.id,"datasets"),O));function NY(e,t){return UX(e,t,"Donor",MY)}function LY(e,t){return UX(e,t,"Dataset",IY)}function jY(e,n){var i,r={"@id":n,"@type":"Sample",datasets:[]},o=_(zX(e,n,RY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("datasets"===s){var c=LY(e,u);r[s].push(c)}else r[s]=u}}catch(l){o.e(l)}finally{o.f()}return r}var FY=function(){function e(t){m(this,e),this.database=t,this.connect()}return b(e,[{key:"toJson",value:function(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}},{key:"connect",value:function(){var e=this;this.status="Loading",this.message="Loading database";var t=Date.now();return this.database.connect().then(function(t){return Dw(e,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=14;break}return this.message="Building scene",e.next=4,this.database.getScene();case 4:return this.message="Building tissue block results",e.next=7,this.database.getTissueBlockResults();case 7:return this.message="Aggregating results",e.next=10,this.database.getAggregateResults();case 10:this.status="Ready",this.message="Database successfully loaded",e.next=15;break;case 14:this.status="Error",this.message="Unknown error while loading database";case 15:case"end":return e.stop()}},e,this)}))}).catch(function(t){var n;e.status="Error",e.message=null!==(n=null==t?void 0:t.message)&&void 0!==n?n:"Unknown error while loading database"}).finally(function(){e.loadTime=Date.now()-t})}}]),e}(),BY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"},VY=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:BY;m(this,e),this.options=t,this.store=new Hq.Store(void 0,{factory:Hq.DataFactory}),this.graph=new oY(this),this.scene=new aY(this)}return b(e,[{key:"connect",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),n.next=4,this.initializing;case 4:return n.abrupt("return",this.store.size>0);case 5:case"end":return n.stop()}},n,this)}))}},{key:"cachedConnect",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){var t,n,i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=(new Date).getTime(),n="ccf-database.last_modified",i="ccf-database",e.next=5,zq(n).catch(function(){});case 5:if(!((r=e.sent)&&t-new Date(+r).getTime()>36e5)){e.next=11;break}return e.next=9,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.delete(e)}),Bq(t.transaction)})}([i,n]).catch(function(){});case 9:e.next=14;break;case 11:return e.next=13,zq(i).catch(function(){});case 13:o=e.sent;case 14:if(!o){e.next=19;break}return e.next=17,this.deserialize(o);case 17:e.next=22;break;case 19:return e.next=21,this.doConnect();case 21:(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.put(e[1],e[0])}),Bq(t.transaction)})})([[i,this.serialize()],[n,""+t]]).catch(function(){});case 22:case"end":return e.stop()}},e,this)}))}},{key:"doConnect",value:function(){var e,t;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],!(o=this.options.ccfOwlUrl).startsWith("{")){n.next=5;break}this.store=(0,Hq.deserializeN3Store)(o,Hq.DataFactory),n.next=13;break;case 5:if(!o.endsWith(".n3store.json")){n.next=12;break}return n.next=8,fetch(o).then(function(e){return e.text()}).catch(function(){return console.log("Couldn't locate serialized store.")});case 8:(a=n.sent)&&(this.store=(0,Hq.deserializeN3Store)(a,Hq.DataFactory)),n.next=13;break;case 12:(null==o?void 0:o.length)>0&&r.push(o);case 13:return this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(mY(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(function(e){if(e)return s.addDataSources([e])}))),i.push(this.addDataSources(r)),n.next=17,Promise.all(i);case 17:return n.next=19,this.synchronize();case 19:case"end":return n.stop()}},n,this)}))}},{key:"addDataSources",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=null!=t?t:this.store,n.next=3,Promise.all(e.map(function(e){return Dw(r,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("string"!=typeof e){t.next=20;break}if(!e.endsWith("jsonld")){t.next=6;break}return t.next=4,(0,Hq.addJsonLdToStore)(e,i);case 4:t.next=18;break;case 6:if(!e.endsWith("n3")){t.next=11;break}return t.next=9,(0,Hq.addN3ToStore)(e,i);case 9:t.next=18;break;case 11:if(!(e.endsWith("rdf")||e.endsWith("owl")||e.endsWith("xml"))){t.next=16;break}return t.next=14,(0,Hq.addRdfXmlToStore)(e,i);case 14:t.next=18;break;case 16:return t.next=18,(0,Hq.addJsonLdToStore)(e,i);case 18:t.next=22;break;case 20:return t.next=22,(0,Hq.addJsonLdToStore)(e,i);case 22:case"end":return t.stop()}},t)}))}));case 3:return n.abrupt("return",this);case 4:case"end":return n.stop()}},n,this)}))}},{key:"synchronize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise(function(e){setTimeout(e,500)});case 2:return this.graph.createGraph(),function(e){var t,n,i,r,o=PY(e),a=new Map,s=_((0,Hq.readQuads)(e,null,YX.spatialEntity.representation_of,null,null));try{for(s.s();!(r=s.n()).done;){for(var u=r.value,c=u.subject,l=u.object,h=new Set([l.id]),d=null===(t=o.nodes[l.id])||void 0===t?void 0:t.parent;d&&!h.has(d);)h.add(d),d=null===(n=o.nodes[d])||void 0===n?void 0:n.parent;a.set(c.id,v(h).map(function(e){return Hq.DataFactory.namedNode(e)}))}}catch(O){s.e(O)}finally{s.f()}var f,p=_((0,Hq.readQuads)(e,null,qX.spatialEntity,null,null));try{for(p.s();!(f=p.n()).done;){var g,m=f.value.object,y=_((0,Hq.readQuads)(e,null,YX.spatialPlacement.source,m,null));try{for(y.s();!(g=y.n()).done;){var b,w=g.value.subject,k=_((0,Hq.readQuads)(e,w,YX.spatialPlacement.target,null,null));try{for(k.s();!(b=k.n()).done;){var x,S=b.value.object,C=_(null!==(i=a.get(S.id))&&void 0!==i?i:[]);try{for(C.s();!(x=C.n()).done;){var E=x.value;e.addQuad(Hq.DataFactory.namedNode(m.id),YX.spatialEntity.ccf_annotations,E)}}catch(O){C.e(O)}finally{C.f()}}}catch(O){k.e(O)}finally{k.f()}}}catch(O){y.e(O)}finally{y.f()}}}catch(O){p.e(O)}finally{p.f()}}(this.store),e.abrupt("return",this);case 5:case"end":return e.stop()}},e,this)}))}},{key:"serialize",value:function(){return(0,Hq.serializeN3Store)(this.store)}},{key:"deserialize",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.store=(0,Hq.deserializeN3Store)(e,Hq.DataFactory),this.graph=new oY(this),this.scene=new aY(this),t.next=5,new Promise(function(e){setTimeout(e,10)});case 5:case"end":return t.stop()}},t,this)}))}},{key:"getIds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,t,n){var i,r,o,a,s,u,c,l=function(e){var t=new Set;return e.forSubjects(function(e){return t.add(e.id)},qX.spatialEntity,null,null),t}(e);if(l.size>0&&(l=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=new Set;if(e.forSubjects(SY(t,i),qX.spatialEntity,null,null),!n){var r=new Set;return t.forEach(function(e){return i.has(e)?void 0:r.add(e)}),r}return i}(e,l)),l.size>0&&("Male"===n.sex||"Female"===n.sex)){var h=n.sex;l=kY(e,l,function(t){return function(e,t,n){var i=new Set;return e.forSubjects(SY(t,i),qX.sex,qX[n],null),i}(e,t,h)})}if(l.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(l=kY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.literal(a);e.forSubjects(SY(t,r),qX.providerName,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.tmc)})),l.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(l=function(e,t,n){var i,r,o,a=new Map,s=new Set,u=new Set(t),c=_(t);try{for(c.s();!(o=c.n()).done;){var l,h=o.value,d=_((0,Hq.readQuads)(e,h,qX.sections,null,null));try{for(d.s();!(l=d.n()).done;){var f=l.value;u.add(f.object.id)}}catch(P){d.e(P)}finally{d.f()}}}catch(P){c.e(P)}finally{c.f()}var p,v=_(u);try{for(v.s();!(p=v.n()).done;){var g,m=p.value,y=_((0,Hq.readQuads)(e,m,qX.datasets,null,null));try{for(y.s();!(g=y.n()).done;){var b=g.value;s.add(b.object.id),a.has(b.object.id)?null===(i=a.get(b.object.id))||void 0===i||i.push(m):a.set(b.object.id,[m])}}catch(P){y.e(P)}finally{y.f()}}}catch(P){v.e(P)}finally{v.f()}var w,k=n(s),x=new Set,S=_(k);try{for(S.s();!(w=S.n()).done;){var C,E=w.value,O=_(null!==(r=a.get(E))&&void 0!==r?r:[]);try{for(O.s();!(C=O.n()).done;){var T=C.value;x.add(T)}}catch(P){O.e(P)}finally{O.f()}}}catch(P){S.e(P)}finally{S.f()}return x}(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.literal(a);e.forSubjects(SY(t,r),qX.technology,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.technologies)})),l.size>0&&(null===(o=n.spatialSearches)||void 0===o?void 0:o.length)>0&&(l=xY(e,l,function(i){return function(e,t,n,i){var r,o=new Set,a=_(i);try{for(a.s();!(r=a.n()).done;){wY(e,t,n,r.value).forEach(function(e){return o.add(e)})}}catch(s){a.e(s)}finally{a.f()}return o}(e,t,i,n.spatialSearches)})),l.size>0&&(null===(a=n.ontologyTerms)||void 0===a?void 0:a.length)>0){var d=n.ontologyTerms;-1===d.indexOf(ZX.body.id)&&(l=xY(e,l,function(t){return CY(e,t,d)}))}if(l.size>0&&(null===(s=n.cellTypeTerms)||void 0===s?void 0:s.length)>0){var f=n.cellTypeTerms;-1===f.indexOf(ZX.cell.id)&&(l=xY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;e.forObjects(function(e){r.add(e.id)},a,YX.asctb.located_in,null),a===ZX.cell.id&&r.add(ZX.body.id)}}catch(s){o.e(s)}finally{o.f()}return CY(e,t,v(r))}(e,t,f)}))}if(l.size>0&&2===(null===(u=n.ageRange)||void 0===u?void 0:u.length)&&(0,$q.isFinite)(n.ageRange[0])&&(0,$q.isFinite)(n.ageRange[1])){var p=Math.max.apply(Math,v(n.ageRange)),g=Math.min.apply(Math,v(n.ageRange));1===g&&110===p||(l=kY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Hq.readQuads)(e,u,qX.age,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,rX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,g,p)}))}if(l.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,$q.isFinite)(n.bmiRange[0])&&(0,$q.isFinite)(n.bmiRange[1])){var m=Math.max.apply(Math,v(n.bmiRange)),y=Math.min.apply(Math,v(n.bmiRange));13===y&&83===m||(l=kY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Hq.readQuads)(e,u,qX.bmi,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,rX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,y,m)}))}return l}(this.store,this.graph,e)}},{key:"get",value:function(e){return this.store.getQuads(Hq.DataFactory.namedNode(e),null,null,null)}},{key:"search",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return v(this.getIds(t)).map(function(t){return e.get(t)})}},{key:"getSpatialEntities",value:function(e){var t=this;return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,t){var n=e.getObjects(Hq.DataFactory.namedNode(t),qX.spatialEntity,null);if(n.length>0)return nY(e,n[0].id)}(t.store,e)})}},{key:"getDatabaseStatus",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(this.status||(this.status=new FY(this)),this.status.toJson()));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getDatasetTechnologyNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Hq.readQuads)(e,null,qX.technology,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getProviderNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Hq.readQuads)(e,null,qX.providerName,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getTissueBlockResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,n){var i,r={"@id":n,"@type":"Sample",sections:[],datasets:[]},o=_(zX(e,n,DY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("sections"===s){var c=jY(e,u);r[s].push(c)}else if("datasets"===s){var l=LY(e,u);r[s].push(l)}else r[s]="donor"===s?NY(e,u):u}}catch(h){o.e(h)}finally{o.f()}return r}(i.store,e)})));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getAggregateResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",function(e,n){var i,r=yY(n,e,qX.donor.id),o=yY(n,r,qX.providerUUID.id),a=new Set,s=_(e);try{for(s.s();!(i=s.n()).done;){var u,c=i.value,l=_((0,Hq.readQuads)(n,c,qX.spatialEntity,null,null));try{for(l.s();!(u=l.n()).done;){var h=u.value;a.add(h.subject.id)}}catch(p){l.e(p)}finally{l.f()}}}catch(p){s.e(p)}finally{s.f()}var d=yY(n,a,qX.sections.id),f=new Set([].concat(v(yY(n,a,qX.datasets.id)),v(yY(n,d,qX.datasets.id))));return Object.entries({"Tissue Data Providers":o.size,Donors:r.size,"Tissue Blocks":a.size,"Tissue Sections":d.size,"Tissue Datasets":f.size}).map(function(e){var n=t(e,2);return{label:n[0],count:n[1]}})}(this.getIds(e),this.store));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getOntologyTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n={};return EY(e,t).forEach(function(e,t){n[t]=e.size}),n}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getCellTypeTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n,i,r,o=EY(e,t),a=new Map,s=_(o.keys());try{for(s.s();!(r=s.n()).done;){var u,c=r.value,l=o.get(c),h=_((0,Hq.readQuads)(t,null,YX.asctb.located_in,c,null));try{for(h.s();!(u=h.n()).done;){var d=u.value.subject.id;a.has(d)?function(){var e=a.get(d);l.forEach(function(t){return e.add(t)})}():a.set(d,new Set(l))}}catch(p){h.e(p)}finally{h.f()}}}catch(p){s.e(p)}finally{s.f()}var f={};return a.forEach(function(e,t){f[t]=e.size}),f[ZX.cell.id]=null!==(i=null===(n=o.get(ZX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,f}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getOntologyTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",PY(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getCellTypeTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){return TY(e,ZX.cell.id,"cell",YX.asctb.ct_is_a.id)}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getReferenceOrgans",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.scene.getReferenceOrgans());case 1:case"end":return e.stop()}},e,this)}))}},{key:"getScene",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",(this.graph.createGraph(),this.scene.getScene(e)));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getReferenceOrganScene",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getSpatialPlacement",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.graph.getSpatialPlacement(e,t));case 1:case"end":return n.stop()}},n,this)}))}}]),e}(),zY=[240,183,98,255],UY=[213,0,0,255],HY=[29,204,101,255],GY=[41,121,255,255],WY=[204,204,204,255],qY=[213,0,0,255],XY=[29,204,101,255],YY=[41,121,255,255];function KY(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.x_dimension/1e3,i=e.y_dimension/1e3,r=e.z_dimension/1e3,o=.05*Math.max(n,i,r),a=.1*o;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).scale(o),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([n/2,0,0]).rotateZ(cS(-90)).scale([a,n,a]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([n,0,0]).rotateZ(cS(-90)).scale([o,3*o,o]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([2*-o,0,0]).scale(o),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([n+2*o,0,0]).scale(o),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,i/2,0]).scale([a,i,a]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,i,0]).scale([o,3*o,o]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*o,0]).scale(o),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([0,i+2*o,0]).scale(o),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,0,r/2]).rotateX(cS(90)).scale([a,r,a]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,0,r]).rotateX(cS(90)).scale([o,3*o,o]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*-o,0]).scale(o),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([0,0,r+2*o]).scale(o),color:YY}].filter(function(e){return t&&"text"===e.geometry&&e.text||!e.text})}var $Y=Symbol("Comlink.proxy"),QY=Symbol("Comlink.endpoint"),ZY=Symbol("Comlink.releaseProxy"),JY=Symbol("Comlink.thrown"),eK=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},tK=new Map([["proxy",{canHandle:function(e){return eK(e)&&e[$Y]},serialize:function(e){var t=new MessageChannel,n=t.port1,i=t.port2;return nK(e,n),[i,[i]]},deserialize:function(e){return e.start(),rK(e)}}],["throw",{canHandle:function(e){return eK(e)&&JY in e},serialize:function(e){var t=e.value;return[t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[]]},deserialize:function(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}}]]);function nK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:self;n.addEventListener("message",function i(r){if(r&&r.data){var a,s=Object.assign({path:[]},r.data),u=s.id,c=s.type,l=s.path,d=(r.data.argumentList||[]).map(hK);try{var f=l.slice(0,-1).reduce(function(e,t){return e[t]},e),p=l.reduce(function(e,t){return e[t]},e);switch(c){case"GET":a=p;break;case"SET":f[l.slice(-1)[0]]=hK(r.data.value),a=!0;break;case"APPLY":a=p.apply(f,d);break;case"CONSTRUCT":a=function(e){return Object.assign(e,o({},$Y,!0))}(h(p,v(d)));break;case"ENDPOINT":var g=new MessageChannel,m=g.port1,y=g.port2;nK(e,y),a=function(e,t){return cK.set(e,t),e}(m,[m]);break;case"RELEASE":a=void 0;break;default:return}}catch(f){a=o({value:f},JY,0)}Promise.resolve(a).catch(function(e){return o({value:e},JY,0)}).then(function(e){var r=t(lK(e),2),o=r[0],a=r[1];n.postMessage(Object.assign(Object.assign({},o),{id:u}),a),"RELEASE"===c&&(n.removeEventListener("message",i),iK(n))})}}),n.start&&n.start()}function iK(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function rK(e,t){return aK(e,[],t)}function oK(e){if(e)throw new Error("Proxy has been released and is not useable")}function aK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=!1,o=new Proxy(i,{get:function(t,i){if(oK(r),i===ZY)return function(){return dK(e,{type:"RELEASE",path:n.map(function(e){return e.toString()})}).then(function(){iK(e),r=!0})};if("then"===i){if(0===n.length)return{then:function(){return o}};var a=dK(e,{type:"GET",path:n.map(function(e){return e.toString()})}).then(hK);return a.then.bind(a)}return aK(e,[].concat(v(n),[i]))},set:function(i,o,a){oK(r);var s=t(lK(a),2),u=s[0],c=s[1];return dK(e,{type:"SET",path:[].concat(v(n),[o]).map(function(e){return e.toString()}),value:u},c).then(hK)},apply:function(i,o,a){oK(r);var s=n[n.length-1];if(s===QY)return dK(e,{type:"ENDPOINT"}).then(hK);if("bind"===s)return aK(e,n.slice(0,-1));var u=t(uK(a),2),c=u[0],l=u[1];return dK(e,{type:"APPLY",path:n.map(function(e){return e.toString()}),argumentList:c},l).then(hK)},construct:function(i,o){oK(r);var a=t(uK(o),2),s=a[0],u=a[1];return dK(e,{type:"CONSTRUCT",path:n.map(function(e){return e.toString()}),argumentList:s},u).then(hK)}});return o}function sK(e){return Array.prototype.concat.apply([],e)}function uK(e){var t=e.map(lK);return[t.map(function(e){return e[0]}),sK(t.map(function(e){return e[1]}))]}var cK=new WeakMap;function lK(e){var n,i=_(tK);try{for(i.s();!(n=i.n()).done;){var r=t(n.value,2),o=r[0],a=r[1];if(a.canHandle(e)){var s=t(a.serialize(e),2);return[{type:"HANDLER",name:o,value:s[0]},s[1]]}}}catch(u){i.e(u)}finally{i.f()}return[{type:"RAW",value:e},cK.get(e)||[]]}function hK(e){switch(e.type){case"HANDLER":return tK.get(e.name).deserialize(e.value);case"RAW":return e.value}}function dK(e,t,n){return new Promise(function(i){var r=new Array(4).fill(0).map(function(){return Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)}).join("-");e.addEventListener("message",function t(n){!n.data||!n.data.id||n.data.id!==r||(e.removeEventListener("message",t),i(n.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:r},t),n)})}var fK=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).message="NgxsDispatchPluginModule is not imported",e}return n}(l(Error)),pK=null;function vK(e){pK=e}function gK(){if(null===pK)throw new fK;return pK.get(Pz)}function mK(){if(null===pK)throw new fK;return pK.get(Xl)}function yK(e,t,n){t.run(function(){return e.dispatch(n)})}function bK(e,t,n,i){return js(n)?function(e,t,n){return n.then(function(n){return yK(e,t,n),n})}(e,t,n):cf(n)?function(e,t,n,i){return null!==i&&(n=n.pipe(kf(i.cancelUncompleted$))),n.subscribe({next:function(n){return yK(e,t,n)}}),n}(e,t,n,i):(yK(e,t,n),n)}var _K=function(){function e(){m(this,e),this.cancelUncompleted$=new ae}return b(e,[{key:"cancelPreviousAction",value:function(){this.cancelUncompleted$.next()}}]),e}(),wK="\u0275fac",kK=Symbol("InjectorInstance"),xK=Symbol("FactoryHasBeenDecorated");function SK(e,t){var n=e[kK];return n?n.get(t):null}var CK={cancelUncompleted:!1};function EK(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:CK;return function(t,n,i){var r,o=function(e){return e?new _K:null}(e.cancelUncompleted);function a(){null!==o&&o.cancelPreviousAction();var e=SK(this,Pz)||gK(),t=SK(this,Xl)||mK(),n=r.apply(this,arguments);return t.runOutsideAngular(function(){return bK(e,t,n,o)})}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=a):Object.defineProperty(t,n,{set:function(e){return r=e},get:function(){return a}}),function(e){if(!(xK in e.constructor.prototype)){var t=e.constructor;"function"==typeof t[wK]&&function(e){var t=e[wK];if("function"==typeof t){var n=e.\u0275prov||e.\u0275pipe||e.\u0275cmp||e.\u0275dir,i=function(){var e=t();return e[kK]=Os(Xa),e};n&&(n.factory=i),Object.defineProperty(e,wK,{get:function(){return i}})}}(t),e.constructor.prototype[xK]=!0}}(t)}}var OK=function(){var e=function(){function e(t){m(this,e),vK(t.injector),t.onDestroy(function(){vK(null)})}return b(e,null,[{key:"forRoot",value:function(){return{ngModule:e}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Rc))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),TK=function(){var e=function(){function e(){m(this,e),this._vertical=!1,this._inset=!1}return b(e,[{key:"vertical",get:function(){return this._vertical},set:function(e){this._vertical=Wd(e)}},{key:"inset",get:function(){return this._inset},set:function(e){this._inset=Wd(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,t){2&e&&(ks("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-divider-vertical",t.vertical)("mat-divider-horizontal",!t.vertical)("mat-divider-inset",t.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,t){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),e}(),PK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}(),AK=["*"],MK=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],IK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],RK=ob(sb(function(){return function e(){m(this,e)}}())),DK=sb(function(){return function e(){m(this,e)}}()),NK=new Ri("MatList"),LK=new Ri("MatNavList"),jK=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._elementRef=e,i._stateChanges=new ae,"action-list"===i._getListType()&&e.nativeElement.classList.add("mat-action-list"),i}return b(n,[{key:"_getListType",value:function(){var e=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===e?"list":"mat-action-list"===e?"action-list":null}},{key:"ngOnChanges",value:function(){this._stateChanges.next()}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}}]),n}(RK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[Xu([{provide:NK,useExisting:e}]),cs,qt],ngContentSelectors:AK,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),e}(),FK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),e}(),BK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),e}(),VK=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;m(this,n),(a=t.call(this))._element=e,a._isInteractiveList=!1,a._destroyed=new ae,a._disabled=!1,a._isInteractiveList=!!(r||o&&"action-list"===o._getListType()),a._list=r||o;var s=a._getHostElement();return"button"===s.nodeName.toLowerCase()&&!s.hasAttribute("type")&&s.setAttribute("type","button"),a._list&&a._list._stateChanges.pipe(kf(a._destroyed)).subscribe(function(){i.markForCheck()}),a}return b(n,[{key:"disabled",get:function(){return this._disabled||!(!this._list||!this._list.disabled)},set:function(e){this._disabled=Wd(e)}},{key:"ngAfterContentInit",value:function(){!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat";e.changes.pipe(Ef(e)).subscribe(function(e){var i=e.length;db(t,"".concat(n,"-2-line"),!1),db(t,"".concat(n,"-3-line"),!1),db(t,"".concat(n,"-multi-line"),!1),2===i||3===i?db(t,"".concat(n,"-").concat(i,"-line"),!0):i>3&&db(t,"".concat(n,"-multi-line"),!0)})}(this._lines,this._element)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_isRippleDisabled",value:function(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}},{key:"_getHostElement",value:function(){return this._element.nativeElement}}]),n}(DK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(LK,8),Os(NK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,FK,5),bl(n,BK,5),bl(n,hb,5)),2&e)&&(ml(i=_l())&&(t._avatar=i.first),ml(i=_l())&&(t._icon=i.first),ml(i=_l())&&(t._lines=i))},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-list-item-disabled",t.disabled)("mat-list-item-avatar",t._avatar||t._icon)("mat-list-item-with-avatar",t._avatar||t._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[cs],ngContentSelectors:IK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(e,t){1&e&&(Xs(MK),As(0,"div",0),Is(1,"div",1),Ys(2),As(3,"div",2),Ys(4,1),Ms(),Ys(5,2),Ms()),2&e&&(Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t._isRippleDisabled()))},directives:[wb],encapsulation:2,changeDetection:0}),e}(),zK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[fb,kb,rb,Sb,cd],fb,rb,Sb,PK]}),e}(),UK=["input"],HK=function(e){return{enterDuration:e}},GK=["*"],WK=new Ri("mat-checkbox-default-options",{providedIn:"root",factory:qK});function qK(){return{color:"accent",clickAction:"check-indeterminate"}}var XK=0,YK={color:"accent",clickAction:"check-indeterminate"},KK={provide:Hz,useExisting:He(function(){return ZK}),multi:!0},$K=function e(){m(this,e)},QK=ub(ab(sb(ob(function(){return function e(t){m(this,e),this._elementRef=t}}())))),ZK=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;return m(this,n),(c=t.call(this,e))._changeDetectorRef=i,c._focusMonitor=r,c._ngZone=o,c._animationMode=s,c._options=u,c.ariaLabel="",c.ariaLabelledby=null,c._uniqueId="mat-checkbox-"+ ++XK,c.id=c._uniqueId,c.labelPosition="after",c.name=null,c.change=new ol,c.indeterminateChange=new ol,c._onTouched=function(){},c._currentAnimationClass="",c._currentCheckState=0,c._controlValueAccessorChangeFn=function(){},c._checked=!1,c._disabled=!1,c._indeterminate=!1,c._options=c._options||YK,c.color=c.defaultColor=c._options.color||YK.color,c.tabIndex=parseInt(a)||0,c}return b(n,[{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){t||Promise.resolve().then(function(){e._onTouched(),e._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}},{key:"ngAfterViewChecked",value:function(){}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"checked",get:function(){return this._checked},set:function(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){var t=Wd(e);t!==this.disabled&&(this._disabled=t,this._changeDetectorRef.markForCheck())}},{key:"indeterminate",get:function(){return this._indeterminate},set:function(e){var t=e!=this._indeterminate;this._indeterminate=Wd(e),t&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onLabelTextChange",value:function(){this._changeDetectorRef.detectChanges()}},{key:"writeValue",value:function(e){this.checked=!!e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}},{key:"_getAriaChecked",value:function(){return this.checked?"true":this.indeterminate?"mixed":"false"}},{key:"_transitionCheckState",value:function(e){var t=this._currentCheckState,n=this._elementRef.nativeElement;if(t!==e&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);var i=this._currentAnimationClass;this._ngZone.runOutsideAngular(function(){setTimeout(function(){n.classList.remove(i)},1e3)})}}},{key:"_emitChangeEvent",value:function(){var e=new $K;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}},{key:"toggle",value:function(){this.checked=!this.checked}},{key:"_onInputClick",value:function(e){var t,n=this,i=null===(t=this._options)||void 0===t?void 0:t.clickAction;e.stopPropagation(),this.disabled||"noop"===i?!this.disabled&&"noop"===i&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==i&&Promise.resolve().then(function(){n._indeterminate=!1,n.indeterminateChange.emit(n._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}},{key:"_onInteractionEvent",value:function(e){e.stopPropagation()}},{key:"_getAnimationClassForCheckStateTransition",value:function(e,t){if("NoopAnimations"===this._animationMode)return"";var n="";switch(e){case 0:if(1===t)n="unchecked-checked";else{if(3!=t)return"";n="unchecked-indeterminate"}break;case 2:n=1===t?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===t?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===t?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-".concat(n)}},{key:"_syncIndeterminate",value:function(e){var t=this._inputElement;t&&(t.nativeElement.indeterminate=e)}}]),n}(QK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(rg),Os(Xl),Ai("tabindex"),Os(Yy,8),Os(WK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-checkbox"]],viewQuery:function(e,t){var n;(1&e&&(yl(UK,5),yl(wb,5)),2&e)&&(ml(n=_l())&&(t._inputElement=n.first),ml(n=_l())&&(t.ripple=n.first))},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(e,t){2&e&&(Au("id",t.id),ks("tabindex",null),cu("mat-checkbox-indeterminate",t.indeterminate)("mat-checkbox-checked",t.checked)("mat-checkbox-disabled",t.disabled)("mat-checkbox-label-before","before"==t.labelPosition)("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Xu([KK]),cs],ngContentSelectors:GK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),As(0,"label",0,1),As(2,"span",2),As(3,"input",3,4),Vs("change",function(e){return t._onInteractionEvent(e)})("click",function(e){return t._onInputClick(e)}),Ms(),As(5,"span",5),Is(6,"span",6),Ms(),Is(7,"span",7),As(8,"span",8),Xn(),As(9,"svg",9),Is(10,"path",10),Ms(),vn.lFrame.currentNamespace=null,Is(11,"span",11),Ms(),Ms(),As(12,"span",12,13),Vs("cdkObserveContent",function(){return t._onLabelTextChange()}),As(14,"span",14),Cu(15,"\xa0"),Ms(),Ys(16),Ms(),Ms()),2&e){var n=Es(1),i=Es(13);ks("for",t.inputId),Yo(2),cu("mat-checkbox-inner-container-no-side-margin",!i.textContent||!i.textContent.trim()),Yo(1),Ts("id",t.inputId)("required",t.required)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex),ks("value",t.value)("name",t.name)("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby)("aria-checked",t._getAriaChecked())("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",$c(19,HK,"NoopAnimations"===t._animationMode?0:150))}},directives:[wb,Pv],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),e}(),JK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),e$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,rb,Av,JK],rb,JK]}),e}(),t$=["bodyCanvas"],n$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-body-ui",this.rotationChange=new ol,this.nodeDrag=new ol,this.nodeClick=new ol,this.nodeHoverStart=new ol,this.nodeHoverStop=new ol,this.initialized=new ol,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}return b(e,[{key:"scene",get:function(){return this._scene},set:function(e){var t;this._scene=e,null===(t=this.bodyUI)||void 0===t||t.setScene(e)}},{key:"rotation",get:function(){return this._rotation},set:function(e){var t;this._rotation=e,null===(t=this.bodyUI)||void 0===t||t.setRotation(e)}},{key:"rotationX",get:function(){return this._rotationX},set:function(e){var t;this._rotationX=e,null===(t=this.bodyUI)||void 0===t||t.setRotationX(e)}},{key:"zoom",get:function(){return this._zoom},set:function(e){var t;this._zoom=e,null===(t=this.bodyUI)||void 0===t||t.setZoom(e)}},{key:"target",get:function(){return this._target},set:function(e){var t;this._target=e,null===(t=this.bodyUI)||void 0===t||t.setTarget(e)}},{key:"bounds",get:function(){return this._bounds},set:function(e){this._bounds=e,this.zoomToBounds(e)}},{key:"camera",get:function(){return this._camera},set:function(e){this._camera=e}},{key:"interactive",get:function(){return this._interactive},set:function(e){this._interactive=e,this.bodyUI&&this.recreateBodyUI()}},{key:"ngAfterViewInit",value:function(){this.setupBodyUI()}},{key:"zoomToBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{x:48,y:48};if(this.bodyCanvas){var n=this.bodyCanvas.nativeElement,i=n.width,r=n.height,o=window.devicePixelRatio,a=Math.min(Math.log2((i-t.x)/o/e.x),Math.log2((r-t.y)/o/e.y));this.zoom=a}}},{key:"setupBodyUI",value:function(){var e;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,i,r=this;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.bodyCanvas.nativeElement,i=new lV({id:"body-ui",canvas:n,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera}),n.addEventListener("contextmenu",function(e){return e.preventDefault()}),t.next=4,i.initialize();case 4:this.bodyUI=i,window.bodyUI=i,(null===(e=this.scene)||void 0===e?void 0:e.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(function(e){return r.rotationChange.next(e)}),this.bodyUI.nodeDrag$.subscribe(function(e){return r.nodeDrag.emit(e)}),this.bodyUI.nodeClick$.subscribe(function(e){return r.nodeClick.emit(e)}),this.bodyUI.nodeHoverStart$.subscribe(function(e){return r.nodeHoverStart.emit(e)}),this.bodyUI.nodeHoverStop$.subscribe(function(e){return r.nodeHoverStop.emit(e)})],this.initialized.emit();case 11:case"end":return t.stop()}},t,this)}))}},{key:"recreateBodyUI",value:function(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}},{key:"clearSubscriptions",value:function(){this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions=[]}},{key:"ngOnDestroy",value:function(){this.clearSubscriptions()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-body-ui"]],viewQuery:function(e,t){var n;(1&e&&yl(t$,5,Ju),2&e)&&(ml(n=_l())&&(t.bodyCanvas=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(e,t){1&e&&Is(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),e}(),i$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();new Ri("Maximum number of autocomplete options displayed",{providedIn:"root",factory:function(){return 10}});var r$=["carouselContainer"],o$=["itemlist"],a$=["itemcontainer"];function s$(e,t){if(1&e){var n=Ls();As(0,"mat-icon",9),Vs("touchstart",function(){return bn(n),Ws().scroll("left")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("left")})("mousedown",function(){return bn(n),Ws().scroll("left")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_left"),Ms()}2&e&&cu("disabled",Ws().onLeft)}function u$(e,t){if(1&e&&(As(0,"div",15),Cu(1),Ms()),2&e){var n=Ws().$implicit,i=Ws();Yo(1),Eu(i.occurenceData[n.id]||0)}}function c$(e,t){if(1&e){var n=Ls();As(0,"div",10),Vs("click",function(){var e=bn(n).$implicit;return Ws().selectOrgan(e)}),Is(1,"mat-icon",11),As(2,"div",12),As(3,"div",13),Cu(4),Ms(),Cs(5,u$,2,1,"div",14),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();cu("disabled",i.disabled)("selected",r.isSelected(i)),Yo(1),Ks("svgIcon",i.src),Yo(3),Eu(i.name),Yo(1),Ts("ngIf",void 0!==i.numResults)}}function l$(e,t){if(1&e){var n=Ls();As(0,"mat-icon",16),Vs("touchstart",function(){return bn(n),Ws().scroll("right")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("right")})("mousedown",function(){return bn(n),Ws().scroll("right")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_right"),Ms()}2&e&&cu("disabled",Ws().onRight)}var h$=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort(function(e,t){return e.name.localeCompare(t.name)}),d$=h$.filter(function(e){return!0!==e.disabled}),f$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=d$,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new ol,this.onLeft=!0,this.onRight=!1,this.step=72}return b(e,[{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e}},{key:"ngAfterViewInit",value:function(){var e=this,t=this.carouselContainer;this.sensor=new pG.ResizeSensor(t.nativeElement,function(){e.set()})}},{key:"ngOnChanges",value:function(e){"organList"in e&&this.set()}},{key:"ngOnDestroy",value:function(){this.sensor.detach()}},{key:"error",get:function(){return!(!this.displayErrors||0===this.selectedOrgans.length)}},{key:"shift",value:function(e){var t=this.itemList,n=parseInt(t.nativeElement.style.left,10)||0;this.onLeft&&"left"===e||this.onRight&&"right"===e||(n="right"===e?n-this.step:n+this.step,t.nativeElement.style.left=n+"px",this.setLeftRight(n))}},{key:"scroll",value:function(e){var t=this;this.timeoutHandler=setInterval(function(){t.shift(e)},200)}},{key:"stopScroll",value:function(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}},{key:"selectOrgan",value:function(e){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(e)?this.selectedOrgans.filter(function(t){return e!==t}):this.selectedOrgans.concat([e]):[e],this.organsChanged.emit(this.selectedOrgans)}},{key:"isSelected",value:function(e){return!!this.selectedOrgans.includes(e)}},{key:"set",value:function(){var e=this.itemList,t=this.itemContainer,n=this.carouselContainer,i=parseInt(e.nativeElement.style.left,10)||0;if(e.nativeElement.offsetWidth>=this.organList.length*this.step)e.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);var r=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width="".concat(r,"px")}}},{key:"setWidth",value:function(){var e=this.itemContainer,t=this.carouselContainer,n=this.step*Math.floor(t.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width="".concat(n,"px")}},{key:"setLeftRight",value:function(e){var t=this.itemContainer;this.onLeft=0===e,this.onRight=e<=t.nativeElement.offsetWidth-this.organList.length*this.step}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-organ-selector"]],viewQuery:function(e,t){var n;(1&e&&(yl(r$,7),yl(o$,7),yl(a$,7)),2&e)&&(ml(n=_l())&&(t.carouselContainer=n.first),ml(n=_l())&&(t.itemList=n.first),ml(n=_l())&&(t.itemContainer=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[qt],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(e,t){1&e&&(As(0,"div",0,1),Cs(2,s$,2,2,"mat-icon",2),As(3,"div",3,4),As(5,"div",5,6),Cs(7,c$,6,7,"div",7),Ms(),Ms(),Cs(8,l$,2,2,"mat-icon",8),Ms()),2&e&&(cu("expanded",t.expanded)("error",t.error),Ts("matTooltipDisabled",t.multiselect),Yo(2),Ts("ngIf",!t.expanded),Yo(5),Ts("ngForOf",t.organList),Yo(1),Ts("ngIf",!t.expanded))},directives:[Ow,Yh,qh,B_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),e}(),p$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,Aw]]}),e}(),v$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new ol,this.visibilityToggle=new ol,this.opacityReset=new ol}return b(e,[{key:"ngOnInit",value:function(){this.prevOpacity=this.visible?0:20}},{key:"reset",value:function(){this.prevOpacity=20}},{key:"changeOpacity",value:function(e){this.opacity=parseInt(e,10),this.opacityChange.emit(this.opacity)}},{key:"toggleVisibility",value:function(){var e=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=e,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}},{key:"resetOpacity",value:function(){this.prevOpacity=0,this.opacityReset.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"mat-slider",2),Vs("input",function(e){return t.changeOpacity(e.value)}),Ms(),As(3,"span",3),Cu(4),Ms(),Ms(),As(5,"div",4),As(6,"mat-icon",5),Vs("click",function(){return t.toggleVisibility()}),Ms(),As(7,"mat-icon",6),Vs("click",function(){return t.toggleVisibility()}),Ms(),As(8,"mat-icon",7),Vs("click",function(){return t.resetOpacity()}),Cu(9,"refresh"),Ms(),Ms(),Ms()),2&e&&(Yo(2),cu("disabled",!t.visible),Ts("step",1)("min",0)("max",100)("value",t.opacity),Yo(2),Ou("",t.opacity,"%"),Yo(2),cu("hidden",t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),cu("hidden",!t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),Ts("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[_G,B_,wb],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),g$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,SG,kb]]}),e}();function m$(e,t){if(1&e&&(As(0,"div",16),Is(1,"youtube-player",17),Ms()),2&e){var n=Ws(3);Yo(1),Ks("videoId",n.videoID)}}function y$(e,t){if(1&e&&(As(0,"mat-expansion-panel",11),As(1,"mat-expansion-panel-header"),As(2,"h2",12),Cu(3),Ms(),Ms(),As(4,"div",13),Is(5,"markdown",14),Cs(6,m$,2,1,"div",15),Ms(),Ms()),2&e){var n=Ws(),i=n.index,r=n.$implicit;Ts("expanded",0===i),Yo(3),Eu(r.title),Yo(2),cu("first",0===i),Ts("data",r.content),Yo(1),Ts("ngIf",0===i)}}function b$(e,t){if(1&e&&(As(0,"div",9),Cs(1,y$,7,6,"mat-expansion-panel",10),Ms()),2&e){var n=t.$implicit;Yo(1),Ts("ngIf",n)}}var _$=function(){var e=function(){function e(t,n){m(this,e),this.dialogRef=t,this.data=n,this.documentationContents=n.content||[],this.infoTitle=n.title||"",this.videoID=n.videoID}return b(e,[{key:"ngOnInit",value:function(){var e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",document.body.appendChild(e)}},{key:"close",value:function(){var e,t=this;null===(e=document.getElementsByClassName("modal-animated")[0])||void 0===e||e.classList.add("modal-animate-fade-out"),setTimeout(function(){t.dialogRef.close()},250)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG),Os(RG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"h2",4),Cu(5),Ms(),As(6,"div",5),As(7,"mat-icon",6),Vs("click",function(){return t.close()}),Cu(8,"clear"),Ms(),Ms(),Ms(),As(9,"mat-dialog-content",7),Cs(10,b$,2,1,"div",8),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(5),Ts("ngForOf",t.documentationContents))},directives:[VG,B_,zG,qh,Yh,aW,uW,gW,OW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),e}(),w$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,UG,V_,cW,MW,mW.forRoot({})]]}),e}(),k$=function(){var e=function(){function e(t){m(this,e),this.http=t,this.panelContent=new vv({content:[],infoTitle:"",videoID:""})}return b(e,[{key:"updateData",value:function(e,t,n){var i=this;this.http.get(e,{responseType:"text"}).subscribe(function(e){var r={content:i.parseMarkdown(e),infoTitle:n,videoID:t};i.panelContent.next(r)})}},{key:"parseMarkdown",value:function(e){var t,n=[],i=_(e.split("# "));try{for(i.s();!(t=i.n()).done;){var r=t.value;if(r.length){var o=r.includes("\n\n")?"\n\n":"\r\n\r\n",a=r.split(o);n.push({title:a[0],content:a.splice(1).join(o)})}}}catch(s){i.e(s)}finally{i.f()}return n}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),x$=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.dialog=t,this.infoButtonService=n,this.infoTitle="",this.subscriptions=new q,this.subscriptions.add(n.panelContent.subscribe(function(e){e.content.length&&i.launchInfoDialog(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"launchInfoDialog",value:function(e){0==this.dialog.openDialogs.length&&this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(FG),Os(k$))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"mat-icon",1),Vs("click",function(){return t.onDialogButtonClick()}),Cu(2," info "),Ms(),Ms())},directives:[B_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),e}(),S$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,w$,V_,S_]]}),e}(),C$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"p",4),Cu(5),Ms(),As(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),As(9,"mat-dialog-content",7),As(10,"div",8),Cu(11),Ms(),As(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),E$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).optionCache=new Map,e}return b(n,[{key:"config$",get:function(){return this.state$.pipe(fq(),zf(1))}},{key:"setConfig",value:function(e){this.setState(e)}},{key:"patchConfig",value:function(e){this.patchState(e)}},{key:"getProperty",value:function(e){return this.config$.pipe(cG.apply(void 0,v(e)),lf(),zf(1))}},{key:"getOption",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:ff,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:lG;return function(i){return i.lift(new hG(e,t,n.leading,n.trailing))}}(1e3),ce(function(t){var n=e.clientWidth,i=e.clientHeight;return[t.clientX,t.clientY,n,i].join("_")})).subscribe(function(e){return t.event("webpage","mousemove",e)})}(t.body,n)};return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(yq))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function T$(e,t){if(1&e){var n=Ls();As(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!0)}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Ou(" ","not-set"===i.allowTelemetry?"I understand":"Opt in","\n")}}function P$(e,t){if(1&e){var n=Ls();As(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!1)}),Cu(1,"Opt out"),Ms()}}var A$=function(){var e=function(){function e(t,n,i){m(this,e),this.consentService=n,this.data=i,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}return b(e,[{key:"allowTelemetry",get:function(){return this.consentService.consent}},{key:"dismiss",value:function(){this.data.preClose()}},{key:"submit",value:function(e){this.consentService.setConsent(e?"given":"rescinded"),this.dismiss()}},{key:"showButton",value:function(e){var t=this.allowTelemetry;return"not-set"===t||("opt-in"===e?"rescinded"===t:"given"===t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(wq),Os(lw))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(e,t){1&e&&(As(0,"p"),Cu(1,"We log usage to improve this service."),Ms(),Cs(2,T$,2,1,"button",0),Cs(3,P$,2,0,"button",0)),2&e&&(Yo(2),Ts("ngIf",t.showButton("opt-in")),Yo(1),Ts("ngIf",t.showButton("opt-out")))},directives:[Yh,q_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),e}(),M$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_]]}),e}(),I$=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"forwardCall",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it?e[0]:void 0,max:e[1]0}),Of(function(e){return function(e,t){return new te(function(n){var i,r;try{i=e()}catch(a){return void n.error(a)}try{r=t(i)}catch(a){return void n.error(a)}var o=(r?ye(r):Mf).subscribe(n);return function(){o.unsubscribe(),i&&i.unsubscribe()}})}(function(){return i.createDatabase(e)},function(t){return i.connectDatabase(t,e)})}),ce(function(e){return e.database}),zf(1)),i}return b(n,[{key:"connectDatabase",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=!ah(),n.next=3,e.database.connect(t,i);case 3:return n.abrupt("return",e);case 4:case"end":return n.stop()}},n)}))}}]),n}(I$);return e.\u0275fac=function(t){return new(t||e)(Zi(E$))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),U$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){return{database:new VY(e),unsubscribe:function(){}}}}]),n}(z$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),H$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){var t=this.createWorker(e),n=rK(t);return{database:n,unsubscribe:function(){n[ZY](),t.terminate()}}}}]),n}(z$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),G$=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).impl$=e.config$.pipe(function(e){return e},ce(function(e){return r.selectToken(e)}),lf(),ce(function(e){return i.get(e)}),zf(1)),r}return n}(I$);return e.\u0275fac=function(t){return new(t||e)(Zi(E$),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),W$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Learn More",e}(),q$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Open Dialog",e}(),X$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Close Dialog",e}(),Y$=function(){function e(){m(this,e)}return b(e,[{key:"length",get:function(){var t,n;return null!==(n=null===(t=e.storage)||void 0===t?void 0:t.length)&&void 0!==n?n:0}},{key:"key",value:function(t){var n,i;return null!==(i=null===(n=e.storage)||void 0===n?void 0:n.key(t))&&void 0!==i?i:null}},{key:"getItem",value:function(t,n){var i,r,o;return null!==(o=null!==(r=null===(i=e.storage)||void 0===i?void 0:i.getItem(t))&&void 0!==r?r:n)&&void 0!==o?o:null}},{key:"setItem",value:function(t,n){var i;try{return null===(i=e.storage)||void 0===i||i.setItem(t,n),!0}catch(r){return!1}}},{key:"removeItem",value:function(t){var n;null===(n=e.storage)||void 0===n||n.removeItem(t)}},{key:"clear",value:function(){var t;null===(t=e.storage)||void 0===t||t.clear()}}]),e}();Y$.storage=function(){var e;try{e=window.localStorage;var t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||"QuotaExceededError"===t.name||"NS_ERROR_DOM_QUOTA_REACHED"===t.name)&&e&&0!==e.length?e:void 0}}(),Y$.\u0275fac=function(e){return new(e||Y$)},Y$.\u0275prov=$e({token:Y$,factory:Y$.\u0275fac,providedIn:"root"});var K$="callToActionPopupShown",$$=B$=function(){function e(t,n,i,r,o){m(this,e),this.dialog=t,this.ga=n,this.storage=i,this.infoService=r,this.http=o}return b(e,[{key:"ngxsOnInit",value:function(e){var t=e.getState(),n=t.expirationDate,i=t.popupShown,r=this.storage.getItem(K$,"".concat(i)),o=B$.ctaDatePassed(n);"true"!==r&&!o&&e.dispatch(new q$)}},{key:"getDialogData",value:function(){var e=this;return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(ce(function(t){return e.infoService.parseMarkdown(t)}))}},{key:"launchLearnMore",value:function(e){this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}},{key:"learnMore",value:function(e){var t=this;return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(mv(function(e){return t.launchLearnMore(e)}))}},{key:"open",value:function(e){this.dialog.open(Z$,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(K$,"true"),e.patchState({popupShown:!0})}},{key:"close",value:function(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}}],[{key:"ctaDatePassed",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();$$.\u0275fac=function(e){return new(e||$$)(Zi(FG),Zi(yq),Zi(Y$),Zi(k$),Zi(h_))},$$.\u0275prov=$e({token:$$,factory:$$.\u0275fac}),Mw([jz(W$)],$$.prototype,"learnMore",null),Mw([jz(q$)],$$.prototype,"open",null),Mw([jz(X$)],$$.prototype,"close",null),$$=B$=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],$$);var Q$=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();return Mw([Vz([$$])],e,"title",null),Mw([Vz([$$])],e,"message",null),Mw([Vz([$$])],e,"callToAction",null),Mw([Vz([$$])],e,"imageUrl",null),Mw([Vz([$$])],e,"expirationDate",null),Mw([Vz([$$])],e,"popupShown",null),e}(),Z$=function(){var e=function e(){m(this,e),this.close=function(){return new X$},this.learnMore=function(){return new W$}};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(As(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[C$],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(Q$.title)],e.prototype,"title$",void 0),Mw([Bz(Q$.message)],e.prototype,"message$",void 0),Mw([Bz(Q$.callToAction)],e.prototype,"callToAction$",void 0),Mw([Bz(Q$.imageUrl)],e.prototype,"imageUrl$",void 0),Mw([EK()],e.prototype,"close",void 0),Mw([EK()],e.prototype,"learnMore",void 0),e}();function J$(e,t){if(1&e&&(As(0,"div",3),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou(" ",n.label,"\n")}}function eQ(e,t){if(1&e){var n=Ls();As(0,"mat-list-item",4),As(1,"div",5),As(2,"mat-checkbox",6),Vs("change",function(e){var t=bn(n).index;return Ws().updateItemSelection(t,e.checked)}),Cu(3),Ms(),Is(4,"div",7),As(5,"button",8),Vs("click",function(){var e=bn(n).index;return Ws().removeItem(e)}),As(6,"mat-icon"),Cu(7,"delete_outlined"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i=t.$implicit;Yo(2),Ts("checked",i.selected),Yo(1),Ou(" ",i.description," ")}}var tQ,nQ=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new ol,this.itemRemoved=new ol}return b(e,[{key:"itemId",value:function(e,t){return t.description}},{key:"updateItemSelection",value:function(e,t){var n=this.items=v(this.items);n[e]=Object.assign(Object.assign({},n[e]),{selected:t});var i=n.filter(function(e){return e.selected});this.selectionChanged.emit(i)}},{key:"removeItem",value:function(e){var n=t((this.items=v(this.items)).splice(e,1),1)[0];this.itemRemoved.emit(n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(e,t){1&e&&(Cs(0,J$,2,1,"div",0),As(1,"mat-list",1),Cs(2,eQ,8,2,"mat-list-item",2),Ms()),2&e&&(Ts("ngIf",t.label),Yo(2),Ts("ngForOf",t.items)("ngForTrackBy",t.itemId))},directives:[Yh,jK,qh,VK,ZK,q_,B_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),e}(),iQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,e$,V_,zK]]}),e}(),rQ=function(){var e=function e(){m(this,e),this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(e,t){1&e&&(As(0,"span",0),Cu(1),Jc(2,"number"),Ms(),As(3,"span",0),Cu(4),Jc(5,"number"),Ms(),As(6,"span",0),Cu(7),Jc(8,"number"),Ms()),2&e&&(Yo(1),Ou("X: ",tl(2,3,t.x,t.format),""),Yo(3),Ou("Y: ",tl(5,6,t.y,t.format),""),Yo(3),Ou("Z: ",tl(8,9,t.z,t.format),""))},pipes:[ud],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),e}(),oQ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments)).attached=!1,e}return b(i,[{key:"setRootElement",value:function(e){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=e,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}},{key:"_createContainer",value:function(){e(p(i.prototype),"_createContainer",this).call(this),this.appendToRoot()}},{key:"appendToRoot",value:function(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}]),i}(Hp);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275prov=$e({token:n,factory:n.\u0275fac,providedIn:"root"}),n}(),aQ=new Ri("Default theme class"),sQ=function(){var e=function(){function e(t){m(this,e),this.defaultTheme=this.theme=null!=t?t:""}return b(e,[{key:"getTheme",value:function(){return this.theme}},{key:"setTheme",value:function(e){e!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(e),this.theme=e)}},{key:"resetTheme",value:function(){this.setTheme(this.defaultTheme)}},{key:"initialize",value:function(e,t){this.element=e,this.injector=t,this.applyThemeClass(this.getTheme())}},{key:"applyThemeClass",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"add",i=this.element,r=this.injector;if(e&&i&&r){var o=r.get(nc,null);if(o){var a=i.nativeElement,s=null===(t=r.get(Hp,null))||void 0===t?void 0:t.getContainerElement(),u="add"===n?"addClass":"removeClass";o[u](a,e),s&&o[u](s,e)}}}}],[{key:"initialize",value:function(t){var n=t.injector,i=t.location;n.get(e).initialize(i,n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(aQ,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),uQ={initialConfig:{},parse:{},rename:{}},cQ=function(){function e(t,n){m(this,e),this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},uQ),n)}return b(e,[{key:"addChanges",value:function(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}},{key:"applyChanges",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};void 0===e&&(e=this.storedChanges,this.storedChanges={});for(var i=this.configState,r=this.options.initialConfig,o=i.snapshot,a=Object.assign(Object.assign(Object.assign({},r),o),n),s=0,u=Object.entries(e);s-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}}}]),i}(K),bQ=function(){var e=function e(t){m(this,e),this.filter=t};return e.type="[DataState] Update filter",e}(),_Q={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]},wQ=(function(e){e.Running="running",e.Completed="completed"}(wQ||(wQ={})),wQ);function kQ(e){return function(){return e.next(wQ.Completed)}}function xQ(e,t){return function(n){return n.pipe(Of(e),mv(t),Oq(1),Te())}}var SQ=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).source=e,i.databaseReady$=i.state$.pipe(cG("status"),pQ(),bf(function(e){return"Ready"===e})),i._tissueBlockDataQueryStatus$=new Bf(1),i._aggregateDataQueryStatus$=new Bf(1),i._ontologyTermOccurencesDataQueryStatus$=new Bf(1),i._cellTypeTermOccurencesDataQueryStatus$=new Bf(1),i._sceneDataQueryStatus$=new Bf(1),i._technologyFilterQueryStatus$=new Bf(1),i._providerFilterQueryStatus$=new Bf(1),i.ontologyTermsFullData$=new Bf(1),i.cellTypeTermsFullData$=new Bf(1),i.filter$=i.state$.pipe(cG("filter")),i.tissueBlockData$=i.filter$.pipe(xQ(i.tissueBlockData,kQ(i._tissueBlockDataQueryStatus$))),i.aggregateData$=i.filter$.pipe(xQ(i.aggregateData,kQ(i._aggregateDataQueryStatus$))),i.ontologyTermOccurencesData$=i.filter$.pipe(xQ(i.ontologyTermOccurencesData,kQ(i._ontologyTermOccurencesDataQueryStatus$))),i.cellTypeTermOccurencesData$=i.filter$.pipe(xQ(i.cellTypeTermOccurencesData,kQ(i._cellTypeTermOccurencesDataQueryStatus$))),i.sceneData$=i.filter$.pipe(xQ(i.sceneData,kQ(i._sceneDataQueryStatus$))),i.technologyFilterData$=i.filter$.pipe(xQ(i.technologyFilterData,kQ(i._technologyFilterQueryStatus$))),i.providerFilterData$=i.filter$.pipe(xQ(i.providerFilterData,kQ(i._providerFilterQueryStatus$))),i.tissueBlockDataQueryStatus$=i._tissueBlockDataQueryStatus$.pipe(pQ()),i.aggregateDataQueryStatus$=i._aggregateDataQueryStatus$.pipe(pQ()),i.ontologyTermOccurencesDataQueryStatus$=i._ontologyTermOccurencesDataQueryStatus$.pipe(pQ()),i.cellTypeTermOccurencesDataQueryStatus$=i._cellTypeTermOccurencesDataQueryStatus$.pipe(pQ()),i.sceneDataQueryStatus$=i._sceneDataQueryStatus$.pipe(pQ()),i.technologyFilterQueryStatus$=i._technologyFilterQueryStatus$.pipe(pQ()),i.providerFilterQueryStatus$=i._providerFilterQueryStatus$.pipe(pQ()),i.queryStatus$=J_([i.tissueBlockDataQueryStatus$,i.aggregateDataQueryStatus$,i.ontologyTermOccurencesDataQueryStatus$,i.cellTypeTermOccurencesDataQueryStatus$,i.sceneDataQueryStatus$,i.technologyFilterQueryStatus$,i.providerFilterQueryStatus$]).pipe(ce(function(e){return function(e){return e.every(function(e){return e===wQ.Completed})}(e)?wQ.Completed:wQ.Running}),pQ()),i._tissueBlockDataQueryStatus$.next(wQ.Completed),i._aggregateDataQueryStatus$.next(wQ.Completed),i._ontologyTermOccurencesDataQueryStatus$.next(wQ.Completed),i._cellTypeTermOccurencesDataQueryStatus$.next(wQ.Completed),i._sceneDataQueryStatus$.next(wQ.Completed),i._technologyFilterQueryStatus$.next(wQ.Completed),i._providerFilterQueryStatus$.next(wQ.Completed),i}return b(n,[{key:"ngxsOnInit",value:function(){var e=this,t=this.ontologyTermsFullData$,n=this.ontologyTermOccurencesData$,i=this.cellTypeTermsFullData$,r=this.cellTypeTermOccurencesData$,o=this.source;this.snapshot.filter===_Q?(n.pipe(_p(1)).subscribe(t),r.pipe(_p(1)).subscribe(i)):(o.getOntologyTermOccurences().pipe(_p(1)).subscribe(t),o.getCellTypeTermOccurences().pipe(_p(1)).subscribe(i)),this.source.getOntologyTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateAnatomicalStructuresTreeModel(t)}),this.source.getCellTypeTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateCellTypesTreeModel(t)}),this.warmUpDatabase()}},{key:"warmUpDatabase",value:function(){var e=this;tH(function(){return e.source.getDatabaseStatus()}).pipe(mv(function(t){return e.updateStatus(t)}),NH(2e3),_p(1)).pipe(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return function(t){return 0===e?If():t.lift(new mQ(e<0?-1:e-1,t))}}(1e3),xp(function(e){return"Loading"===e.status})).subscribe(),this.databaseReady$.pipe(_p(1),mv(function(){e.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}},{key:"updateAnatomicalStructuresTreeModel",value:function(e){this.ctx.patchState({anatomicalStructuresTreeModel:e})}},{key:"updateCellTypesTreeModel",value:function(e){this.ctx.patchState({cellTypesTreeModel:e})}},{key:"updateStatus",value:function(e){this.ctx.patchState({status:e.status,statusMessage:e.message})}},{key:"updateFilter",value:function(e){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),e)})}},{key:"updateFilterHandler",value:function(e,t){var n=t.filter;this.updateFilter(n)}},{key:"tissueBlockData",value:function(e){var t=this;return this._tissueBlockDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getTissueBlockResults(e)}))}},{key:"aggregateData",value:function(e){var t=this;return this._aggregateDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getAggregateResults(e)}))}},{key:"ontologyTermOccurencesData",value:function(e){var t=this;return this._ontologyTermOccurencesDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getOntologyTermOccurences(e)}))}},{key:"cellTypeTermOccurencesData",value:function(e){var t=this;return this._cellTypeTermOccurencesDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getCellTypeTermOccurences(e)}))}},{key:"sceneData",value:function(e){var t=this;return this._sceneDataQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getScene(e)}))}},{key:"technologyFilterData",value:function(){var e=this;return this._technologyFilterQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getDatasetTechnologyNames()}))}},{key:"providerFilterData",value:function(){var e=this;return this._providerFilterQueryStatus$.next(wQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getProviderNames()}))}}]),n}(hq);SQ.\u0275fac=function(e){return new(e||SQ)(Zi(R$))},SQ.\u0275prov=$e({token:SQ,factory:SQ.\u0275fac}),Mw([sq(),Iw(0,uq("treeModel"))],SQ.prototype,"updateAnatomicalStructuresTreeModel",null),Mw([sq(),Iw(0,uq("treeModel"))],SQ.prototype,"updateCellTypesTreeModel",null),Mw([sq(),Iw(0,uq("status"))],SQ.prototype,"updateStatus",null),Mw([sq(),Iw(0,uq("filter"))],SQ.prototype,"updateFilter",null),Mw([jz(bQ)],SQ.prototype,"updateFilterHandler",null),Mw([eV.ak],SQ.prototype,"tissueBlockData",null),Mw([eV.ak],SQ.prototype,"aggregateData",null),Mw([eV.ak],SQ.prototype,"ontologyTermOccurencesData",null),Mw([eV.ak],SQ.prototype,"cellTypeTermOccurencesData",null),Mw([eV.ak],SQ.prototype,"sceneData",null),Mw([eV.ak],SQ.prototype,"technologyFilterData",null),Mw([eV.ak],SQ.prototype,"providerFilterData",null),SQ=Mw([cq(),Fz({name:"data",defaults:{filter:_Q,status:"Loading",statusMessage:"Loading database"}})],SQ);var CQ=function(){function e(){m(this,e)}return b(e,null,[{key:"filter",value:function(e){return e.filter}},{key:"anatomicalStructuresTreeModel",value:function(e){var t;return null!==(t=e.anatomicalStructuresTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}},{key:"cellTypesTreeModel",value:function(e){var t;return null!==(t=e.cellTypesTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}}]),e}();Mw([Vz([SQ])],CQ,"filter",null),Mw([Vz([SQ])],CQ,"anatomicalStructuresTreeModel",null),Mw([Vz([SQ])],CQ,"cellTypesTreeModel",null);var EQ=function(){var e=function e(t,n,i){m(this,e),this.sex=t,this.organName=n,this.search=i};return e.type="[Spatial Search Filter] Add",e}(),OQ=function(){var e=function e(t){m(this,e),this.id=t};return e.type="[Spatial Search Filter] Remove",e}(),TQ=function(){var e=function e(t){m(this,e),this.items=t};return e.type="[Spatial Search Filter] Set selected searches",e}(),PQ=function(){function e(){m(this,e)}return b(e,[{key:"addSearch",value:function(e,t){var n=t.sex,i=t.organName,r=t.search;e.setState(function(e){return function(t){return e&&e.length||!t?Array.isArray(t)?t.concat(e):e:t}}([this.createItem(n,i,r)]))}},{key:"removeSearch",value:function(e,t){var n=t.id;e.setState(function(e){return function(t){var n=-1;if(function(e){return"function"==typeof e}(e)?n=t.findIndex(e):function(e){return"number"==typeof e}(e)&&(n=e),function(e){return Number.isNaN(e)||-1===e}(n))return t;var i=t.slice();return i.splice(n,1),i}}(function(e){return(null==e?void 0:e.id)===n}))}},{key:"setSelectedSearches",value:function(e,t){var n=t.items,i=new Map(n.map(function(e){return[e.id,e]})),r=e.getState().map(function(e){var t;return null!==(t=i.get(e.id))&&void 0!==t?t:e.selected?Object.assign(Object.assign({},e),{selected:!1}):e});e.setState(r)}},{key:"createItem",value:function(e,t,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(e,t,n),sex:e,search:n}}},{key:"createItemId",value:function(e){var t=e.x,n=e.y,i=e.z,r=e.radius,o=e.target;return"".concat(o,"-").concat(r,"-").concat(t,",").concat(n,",").concat(i)}},{key:"createItemDescription",value:function(e,t,n){var i=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},r=n.x,o=n.y,a=n.z,s=n.radius;return"".concat(i(e),", ").concat(i(t),", ").concat(s.toFixed(1)," mm, X: ").concat(r.toFixed(1),", Y: ").concat(o.toFixed(1),", Z: ").concat(a.toFixed(1))}}]),e}();PQ.\u0275fac=function(e){return new(e||PQ)},PQ.\u0275prov=$e({token:PQ,factory:PQ.\u0275fac}),Mw([jz(EQ)],PQ.prototype,"addSearch",null),Mw([jz(OQ)],PQ.prototype,"removeSearch",null),Mw([jz(TQ)],PQ.prototype,"setSelectedSearches",null),PQ=Mw([Fz({name:"spatialSearchFilter",defaults:[]})],PQ);var AQ=function(){function e(){m(this,e)}return b(e,null,[{key:"items",value:function(e){return e}},{key:"searches",value:function(e){return e.map(function(e){return e.search})}},{key:"selectedSearches",value:function(e){return e.filter(function(e){return e.selected}).map(function(e){return e.search})}}]),e}();Mw([Vz([PQ])],AQ,"items",null),Mw([Vz([AQ.items])],AQ,"searches",null),Mw([Vz([AQ.items])],AQ,"selectedSearches",null);var MQ=new RegExp("[^#a-f\\d]","gi"),IQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),RQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map(function(e,t){var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e||MQ.test(e)||!IQ.test(e))throw new TypeError("Expected a valid hex string");var n=1;8===(e=e.replace(/^#/,"")).length&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),4===e.length&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var i=Number.parseInt(e,16),r=i>>16,o=i>>8&255,a=255&i,s="number"==typeof t.alpha?t.alpha:n;return"array"===t.format?[r,o,a,s]:"css"===t.format?"rgb(".concat(r," ").concat(o," ").concat(a).concat(1===s?"":" / ".concat(Number((100*s).toFixed(2)),"%"),")"):{red:r,green:o,blue:a,alpha:s}}(e,{format:"array"});return n[3]=255,{color:e,rgba:n,rank:t}}),DQ=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).forcedUnassignment=new ae,e.forcedUnassignment$=e.forcedUnassignment.asObservable(),e.colorAssignments$=e.state$.pipe(cG("colorAssignments"),lf()),e.colorAssignmentsList$=e.state$.pipe(cG("colorAssignmentsList"),lf()),e}return b(n,[{key:"getColor",value:function(e){return this.snapshot.colorAssignments[e]}},{key:"assignColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.snapshot,i=n.colorAssignments,r=n.colorAssignmentsList,o=n.colorsAvailable;t&&(o=this.snapshot.colorPalette.concat(),r=[],i={});var a=i[e];return a||(o.length>0?a=o[0]:(a=r[r.length-1].color,r=r.slice(0,-1),this.forcedUnassignment.next()),o=o.filter(function(e){return e.color!==a.color}),i=(r=[{color:a,key:e}].concat(r)).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:o,colorAssignments:i,colorAssignmentsList:r})),a}},{key:"unassignColor",value:function(e){var t=this.snapshot,n=t.colorAssignments,i=t.colorAssignmentsList,r=t.colorsAvailable,o=n[e];o&&(r=[o].concat(r),n=(i=i.filter(function(e){return e.color.color!==o.color})).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i}))}}]),n}(dq);DQ.\u0275fac=function(){var e;return function(t){return(e||(e=Ti(DQ)))(t||DQ)}}(),DQ.\u0275prov=$e({token:DQ,factory:DQ.\u0275fac}),Mw([sq(),Iw(0,uq("key")),Iw(1,uq("doReset"))],DQ.prototype,"assignColor",null),Mw([sq(),Iw(0,uq("key"))],DQ.prototype,"unassignColor",null),DQ=Mw([cq(),Fz({name:"colors",defaults:{colorPalette:RQ.concat(),colorsAvailable:RQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],DQ);var NQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.listResults$=n.state$.pipe(cG("listResults"),lf()),n.highlightedNodeId$=n.state$.pipe(cG("highlightedNodeId"),lf()),n}return b(r,[{key:"setListResults",value:function(e){this.ctx.patchState({listResults:e})}},{key:"selectListResult",value:function(e){this.colorAssignments.assignColor(e.tissueBlock.spatialEntityId)}},{key:"deselectListResult",value:function(e){this.colorAssignments.unassignColor(e.tissueBlock.spatialEntityId)}},{key:"highlightNode",value:function(e){this.ctx.patchState({highlightedNodeId:e})}},{key:"unHighlightNode",value:function(){this.ctx.patchState({highlightedNodeId:void 0})}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(SQ),this.colorAssignments=this.injector.get(DQ),J_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(ce(function(e){var n,i=t(e,2),r=i[0],o=i[1],a=[],s=[],u=_(r);try{for(u.s();!(n=u.n()).done;){var c=n.value,l=o[c.spatialEntityId];l?a.push({selected:!0,color:l.color,tissueBlock:c,rank:l.rank}):s.push({selected:!1,tissueBlock:c})}}catch(h){u.e(h)}finally{u.f()}return(0,$q.sortBy)(a,["rank"]).concat(s)}),mv(function(e){return n.setListResults(e)})).subscribe()}}]),r}(dq);NQ.\u0275fac=function(e){return new(e||NQ)(Zi(R$),Zi(ss))},NQ.\u0275prov=$e({token:NQ,factory:NQ.\u0275fac}),Mw([sq(),Iw(0,uq("listResults"))],NQ.prototype,"setListResults",null),NQ=Mw([cq(),Fz({name:"listResults",defaults:{listResults:[]}})],NQ);var LQ=new Set(["Skin","Heart","Kidney","Spleen"]),jQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.referenceOrgans$=n.state$.pipe(cG("referenceOrgans"),lf()),n.selectedReferenceOrgans$=n.state$.pipe(cG("selectedReferenceOrgans"),lf()),n.scene$=n.state$.pipe(cG("scene"),lf()),n.highlightedId$=n.state$.pipe(cG("highlightedId"),lf()),n}return b(r,[{key:"setSelectedReferenceOrgans",value:function(e){this.ctx.patchState({selectedReferenceOrgans:e})}},{key:"setReferenceOrgans",value:function(e){this.ctx.patchState({referenceOrgans:e})}},{key:"setReferenceOrganEntities",value:function(e){this.ctx.patchState({referenceOrganEntities:e})}},{key:"setScene",value:function(e){this.ctx.patchState({scene:e})}},{key:"sceneNodeClicked",value:function(e){var t=e.node,n=e.ctrlClick;t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!n)}},{key:"sceneNodeHovered",value:function(e){this.listResults.highlightNode(e["@id"])}},{key:"sceneNodeUnhover",value:function(){this.listResults.unHighlightNode()}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(SQ),this.colorAssignments=this.injector.get(DQ),this.listResults=this.injector.get(NQ),this.dataService.getReferenceOrgans().pipe(mv(function(e){return n.setReferenceOrganEntities(e)}),ce(function(e){var t=new Set(e.map(function(e){return e.representation_of}));return h$.filter(function(e){return t.has(e.id)}).map(function(e){return Object.assign(Object.assign({},e),{disabled:!1,numResults:0})})}),_p(1),mv(function(e){n.setReferenceOrgans(e),n.setSelectedReferenceOrgans(e.filter(function(e){return LQ.has(e.organ)}))})).subscribe(),J_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(ce(function(e){var n=t(e,5),i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],u=new Set(r.map(function(e){return e.id})),c=new Set(a.filter(function(e){return u.has(e.representation_of)}).map(function(e){return e["@id"]}));return i.filter(function(e){var t,n;return(null===(n=null===(t=e.ccf_annotations)||void 0===t?void 0:t.some)||void 0===n?void 0:n.call(t,function(e){return u.has(e)}))||e.reference_organ&&c.has(e.reference_organ)}).map(function(e){return e.entityId&&(Object.prototype.hasOwnProperty.call(o,e["@id"])||s===e["@id"])?Object.assign(Object.assign({},e),{color:s===e["@id"]?[30,136,229,255]:o[e["@id"]].rgba}):e})}),mv(function(e){return n.setScene(e)})).subscribe()}}],[{key:"referenceOrgans",value:function(e){return e.referenceOrgans}},{key:"referenceOrganEntities",value:function(e){return e.referenceOrganEntities}}]),r}(dq);function FQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function BQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function VQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function zQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}jQ.\u0275fac=function(e){return new(e||jQ)(Zi(R$),Zi(ss))},jQ.\u0275prov=$e({token:jQ,factory:jQ.\u0275fac}),Mw([sq(),Iw(0,uq("selectedReferenceOrgans"))],jQ.prototype,"setSelectedReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrgans"))],jQ.prototype,"setReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrganEntities"))],jQ.prototype,"setReferenceOrganEntities",null),Mw([sq(),Iw(0,uq("scene"))],jQ.prototype,"setScene",null),Mw([Vz()],jQ,"referenceOrgans",null),Mw([Vz()],jQ,"referenceOrganEntities",null),jQ=Mw([cq(),Fz({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],jQ);var UQ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",HQ=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),GQ=new Ri("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}}),WQ=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;m(this,n),(s=t.call(this,e))._document=r,s._diameter=100,s._value=0,s._fallbackAnimation=!1,s.mode="determinate";var u=n._diameters;return s._spinnerAnimationLabel=s._getSpinnerAnimationLabel(),u.has(r.head)||u.set(r.head,new Set([100])),s._fallbackAnimation=i.EDGE||i.TRIDENT,s._noopAnimations="NoopAnimations"===o&&!!a&&!a._forceAnimations,a&&(a.diameter&&(s.diameter=a.diameter),a.strokeWidth&&(s.strokeWidth=a.strokeWidth)),s}return b(n,[{key:"diameter",get:function(){return this._diameter},set:function(e){this._diameter=qd(e),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}},{key:"strokeWidth",get:function(){return this._strokeWidth||this.diameter/10},set:function(e){this._strokeWidth=qd(e)}},{key:"value",get:function(){return"determinate"===this.mode?this._value:0},set:function(e){this._value=Math.max(0,Math.min(100,qd(e)))}},{key:"ngOnInit",value:function(){var e=this._elementRef.nativeElement;this._styleRoot=Qf(e)||this._document.head,this._attachStyleNode(),e.classList.add("mat-progress-spinner-indeterminate".concat(this._fallbackAnimation?"-fallback":"","-animation"))}},{key:"_getCircleRadius",value:function(){return(this.diameter-10)/2}},{key:"_getViewBox",value:function(){var e=2*this._getCircleRadius()+this.strokeWidth;return"0 0 ".concat(e," ").concat(e)}},{key:"_getStrokeCircumference",value:function(){return 2*Math.PI*this._getCircleRadius()}},{key:"_getStrokeDashOffset",value:function(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}},{key:"_getCircleStrokeWidth",value:function(){return this.strokeWidth/this.diameter*100}},{key:"_attachStyleNode",value:function(){var e=this._styleRoot,t=this._diameter,i=n._diameters,r=i.get(e);if(!r||!r.has(t)){var o=this._document.createElement("style");o.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),o.textContent=this._getAnimationText(),e.appendChild(o),r||(r=new Set,i.set(e,r)),r.add(t)}}},{key:"_getAnimationText",value:function(){var e=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*e).replace(/END_VALUE/g,""+.2*e).replace(/DIAMETER/g,"".concat(this._spinnerAnimationLabel))}},{key:"_getSpinnerAnimationLabel",value:function(){return this.diameter.toString().replace(".","_")}}]),n}(HQ);WQ.\u0275fac=function(e){return new(e||WQ)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(GQ))},WQ.\u0275cmp=Ot({type:WQ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(e,t){2&e&&(ks("aria-valuemin","determinate"===t.mode?0:null)("aria-valuemax","determinate"===t.mode?100:null)("aria-valuenow","determinate"===t.mode?t.value:null)("mode",t.mode),uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),As(0,"svg",0),Cs(1,FQ,1,9,"circle",1),Cs(2,BQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[UQ],encapsulation:2,changeDetection:0}),WQ._diameters=new WeakMap;var qQ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this,e,i,r,o,a)).mode="indeterminate",s}return n}(WQ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(GQ))},e.\u0275cmp=Ot({type:e,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(e,t){2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color"},features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),As(0,"svg",0),Cs(1,VQ,1,9,"circle",1),Cs(2,zQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[UQ],encapsulation:2,changeDetection:0}),e}(),XQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,cd],rb]}),e}(),YQ=function(){var e=function e(){m(this,e),this.className="ccf-spinner-overlay",this.active=!1};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("active",t.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(e,t){1&e&&(Is(0,"mat-spinner"),As(1,"div",0),Cu(2),Ms()),2&e&&(Yo(2),Eu(t.text))},directives:[qQ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),e}(),KQ={isolated:!0},$Q=new Ri("Message service configuration",{providedIn:"root",factory:function(){return KQ}}),QQ=function(){var e=function(){function e(t,n,i){m(this,e),this.source=t,this.channel=n,this.messages=i}return b(e,[{key:"sendMessage",value:function(e){this.channel.next({id:this.nextMessageId(),source:this.source,payload:e})}},{key:"getMessages",value:function(){var e=this;return this.messages.pipe(bf(function(t){return t.source!==e.source}))}},{key:"getMessagesFromSource",value:function(e){return this.getMessages().pipe(bf(function(t){return t.source===e}))}},{key:"getMessagesFromSources",value:function(e){return this.getMessages().pipe(bf(function(t){return e.includes(t.source)}))}},{key:"nextMessageId",value:function(){return e.counter++}}]),e}();return e.counter=0,e}(),ZQ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.config=t,this.parent=n,this.channel=new ae,this.messages=t.isolated||!n?this.channel.asObservable():ye([this.channel,n.messages.pipe(xp(function(){return!i.channel.closed}))]).pipe(Ce())}return b(e,[{key:"ngOnDestroy",value:function(){this.channel.complete()}},{key:"connect",value:function(e){return new QQ(e,this.channel,this.messages)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi($Q),Zi(e,12))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),JQ=["*"],eZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new q;var r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-containers-changed":return this.drawers=e.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":var t=e.source.position,n=e.payload,i=n.opened,r=n.width,o=n.margin;return this.updateMargin(t,i,r,o),this.updateFaded(),!0;default:return!1}}},{key:"updateMargin",value:function(e,t,n,i){var r=t?n+i:i;"start"===e?this.leftMargin=r:this.rightMargin=r}},{key:"updateFaded",value:function(){var e=t(this.drawers,2),n=e[0],i=e[1];this.faded=(null==n?void 0:n.opened)&&(null==n?void 0:n.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(ZQ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(e,t){2&e&&(Mu("@fadeInOut",t.faded),du(t.className),uu("margin-left",t.leftMargin,"px")("margin-right",t.rightMargin,"px"),cu("cff-drawer-content-animations",t.animationsEnabled))},ngContentSelectors:JQ,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[fg("fadeInOut",[mg("false",gg({opacity:1})),mg("true",gg({opacity:0})),yg("false <=> true",pg("1s"))])]},changeDetection:0}),e}(),tZ=["*"],nZ={params:{width:0,margin:0,margin2:0}},iZ=function(){function e(){var t=this;m(this,e),this.initialized=!1,this.deferred=new Promise(function(e){t.resolve=e})}return b(e,[{key:"set",value:function(){this.initialized=!0,this.resolve()}},{key:"wait",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.deferred);case 1:case"end":return e.stop()}},e,this)}))}},{key:"valueOf",value:function(){return this.initialized}}]),e}(),rZ=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.element=i,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new ol(!0),this.expandedChange=new ol(!0),this.stateChange=new ol(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new iZ,this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){r.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"position",get:function(){return this._position},set:function(e){this._position=e||"start"}},{key:"opened",get:function(){return this._opened},set:function(e){this.toggle(Wd(e))}},{key:"expanded",get:function(){return this._expanded},set:function(e){this.toggleExpanded(Wd(e))}},{key:"expandedStateObj",get:function(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}},{key:"measuredWidth",get:function(){if(this._measuredWidth>0)return this._measuredWidth;var e=this.element.nativeElement;if(!e)return 0;var t=e.getBoundingClientRect(),n=t.right-t.left;return 0===n?0:(this._measuredWidth=n,n)}},{key:"measuredMargin",get:function(){if(this._measuredMargin>0)return this._measuredMargin;var e=this.element.nativeElement;if(!e)return 0;var t=globalThis.getComputedStyle(e).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(t.slice(0,-2));return this._measuredMargin=n,n}},{key:"ngAfterViewInit",value:function(){var e=this;this.initialized.set(),setTimeout(function(){return e.channel.sendMessage({type:"drawer-initialized"})})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"open",value:function(){this.toggle(!0)}},{key:"close",value:function(){this.toggle(!1)}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.opened;this.opened!==e&&(e?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=e,this.sendToggle())}},{key:"openExpanded",value:function(){this.toggleExpanded(!0)}},{key:"closeExpanded",value:function(){this.toggleExpanded(!1)}},{key:"toggleExpanded",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.expanded;this.expanded!==e&&(e?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=e,this.sendToggle())}},{key:"closeOpenDone",value:function(){this.openedChange.emit(this.opened)}},{key:"expandCollapseDone",value:function(){this.expandedChange.emit(this.expanded)}},{key:"sendToggle",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.initialized.wait();case 2:this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit();case 4:case"end":return e.stop()}},e,this)}))}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-toggled":return this.syncExpanded(e.source),!0;default:return!1}}},{key:"syncExpanded",value:function(e){(this.expanded||e.expanded)&&(this.expanded&&e.expanded?this.expandedState2=e.expandedState2="half":this.expanded?e.opened?(this.expandedState2="extended",this.width=e.measuredWidth+e.measuredMargin):(this.expandedState2="full",this.margin2=e.measuredMargin):this.opened?(e.expandedState2="extended",e.width=this.measuredWidth+this.measuredMargin):(e.expandedState2="full",e.margin2=this.measuredMargin))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(ZQ),Os(Cc),Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(e,t){1&e&&zs("@openClose.done",function(){return t.closeOpenDone()})("@expandCollapse.done",function(){return t.expandCollapseDone()}),2&e&&(Mu("@openClose",t.openedState)("@expandCollapse",t.expandedStateObj),du(t.className),cu("ccf-drawer-end",t.classEnd)("ccf-drawer-opened",t.opened)("ccf-drawer-expanded",t.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:tZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(e,t){1&e&&(Xs(),As(0,"div",0),Ys(1),Ms())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[fg("openClose",[mg("open, open-instant",gg({transform:"none"})),mg("closed",gg({})),yg("closed => open-instant",pg(0)),yg("closed <=> open, open-instant => closed",pg(".5s ease-in-out"))]),fg("expandCollapse",[mg("collapsed",gg({})),mg("half",gg({width:"calc(50% - {{ margin }}px)"}),nZ),mg("extended",gg({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),nZ),mg("full",gg({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),nZ),yg("* <=> *",pg(".5s ease-in-out"))])]},changeDetection:0}),e}();function oZ(e,t){1&e&&(As(0,"ccf-drawer-content"),Ys(1,2),Ms())}var aZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],sZ=["ccf-drawer","ccf-drawer-content","*"];function uZ(e){throw new Error("Multiple drawers in position ".concat(e))}var cZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.cdr=n,this.className="ccf-drawer-container",this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"content",get:function(){var e;return null!==(e=this.content1.first)&&void 0!==e?e:this.content2.first}},{key:"hasWrappedContent",get:function(){return 0!==this.content1.length}},{key:"ngAfterViewInit",value:function(){var e=this;this.drawers.changes.pipe(Ef(null)).subscribe(function(){var t=e.validateDrawers();e.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),e.cdr.markForCheck()}),this.content1.changes.pipe(Ef(null)).subscribe(function(){e.channel.sendMessage({type:"content-container-changed",content:e.content}),e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return!0}},{key:"validateDrawers",value:function(){var e=this.drawers.toArray(),t=e.filter(function(e){return"start"===e.position}),n=e.filter(function(e){return"end"===e.position});return t.length>1&&uZ("start"),n.length>1&&uZ("end"),[t[0],n[0]]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(ZQ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-container"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,rZ,5),bl(n,eZ,5)),2&e)&&(ml(i=_l())&&(t.drawers=i),ml(i=_l())&&(t.content1=i))},viewQuery:function(e,t){var n;(1&e&&yl(eZ,5),2&e)&&(ml(n=_l())&&(t.content2=n))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},exportAs:["ccfDrawerContainer"],features:[Xu([ZQ])],ngContentSelectors:sZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&(Xs(aZ),Ys(0),Ys(1,1),Cs(2,oZ,2,0,"ccf-drawer-content",0)),2&e&&(Yo(2),Ts("ngIf",!t.hasWrappedContent))},directives:[Yh,eZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),e}(),lZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Start the Spatial Search flow",e}(),hZ=function(){var e=function e(t){m(this,e),this.sex=t};return e.type="[SpatialSearchUi] Set sex",e}(),dZ=function(){var e=function e(t){m(this,e),this.organId=t};return e.type="[SpatialSearchUi] Set organ",e}(),fZ=function(){var e=function e(t){m(this,e),this.position=t};return e.type="[SpatialSearchUi] Set position",e}(),pZ=function(){var e=function e(t){m(this,e),this.node=t};return e.type="[SpatialSearchUi] Start moving the position to a scene node",e}(),vZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset position",e}(),gZ=function(){var e=function e(t){m(this,e),this.radius=t};return e.type="[SpatialSearchUi] Set radius",e}(),mZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset radius",e}(),yZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Update spatial search data",e}(),bZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Generate and add a spatial search",e}(),_Z=function(){var e=function e(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];m(this,e),this.execute=t};return e.type="[SpatialSearchUi] Set execute search on generate",e}(),wZ=["trigger"],kZ=["panel"];function xZ(e,t){if(1&e&&(As(0,"span",8),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Eu(n.placeholder)}}function SZ(e,t){if(1&e&&(As(0,"span",12),Cu(1),Ms()),2&e){var n=Ws(2);Yo(1),Eu(n.triggerValue)}}function CZ(e,t){1&e&&Ys(0,0,["*ngSwitchCase","true"])}function EZ(e,t){1&e&&(As(0,"span",9),Cs(1,SZ,2,1,"span",10),Cs(2,CZ,1,0,"ng-content",11),Ms()),2&e&&(Ts("ngSwitch",!!Ws().customTrigger),Yo(2),Ts("ngSwitchCase",!0))}function OZ(e,t){if(1&e){var n=Ls();As(0,"div",13),As(1,"div",14,15),Vs("@transformPanel.done",function(e){return bn(n),Ws()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return bn(n),Ws()._handleKeydown(e)}),Ys(3,1),Ms(),Ms()}if(2&e){var i=Ws();Ts("@transformPanelWrap",void 0),Yo(1),Pu("mat-select-panel ",i._getPanelTheme(),""),uu("transform-origin",i._transformOrigin)("font-size",i._triggerFontSize,"px"),Ts("ngClass",i.panelClass)("@transformPanel",i.multiple?"showing-multiple":"showing"),ks("id",i.id+"-panel")("aria-multiselectable",i.multiple)("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby())}}var TZ=[[["mat-select-trigger"]],"*"],PZ=["mat-select-trigger","*"],AZ={transformPanelWrap:fg("transformPanelWrap",[yg("* => void",function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:11,selector:e,animation:t,options:n}}("@transformPanel",[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{type:9,options:e}}()],{optional:!0}))]),transformPanel:fg("transformPanel",[mg("void",gg({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),mg("showing",gg({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),mg("showing-multiple",gg({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),yg("void => *",pg("120ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void",pg("100ms 25ms linear",gg({opacity:0})))])},MZ=0,IZ=new Ri("mat-select-scroll-strategy"),RZ=new Ri("MAT_SELECT_CONFIG"),DZ={provide:IZ,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},NZ=function e(t,n){m(this,e),this.source=t,this.value=n},LZ=sb(ub(ob(cb(function(){return function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=i,this._parentFormGroup=r,this.ngControl=o}}())))),jZ=new Ri("MatSelectTrigger"),FZ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,l,h,d,f,p,g,y){var b,_,w,k;return m(this,n),(b=t.call(this,a,o,u,l,d))._viewportRuler=e,b._changeDetectorRef=i,b._ngZone=r,b._dir=s,b._parentFormField=h,b._liveAnnouncer=g,b._defaultOptions=y,b._panelOpen=!1,b._compareWith=function(e,t){return e===t},b._uid="mat-select-"+MZ++,b._triggerAriaLabelledBy=null,b._destroy=new ae,b._onChange=function(){},b._onTouched=function(){},b._valueId="mat-select-value-"+MZ++,b._panelDoneAnimatingStream=new ae,b._overlayPanelClass=(null===(_=b._defaultOptions)||void 0===_?void 0:_.overlayPanelClass)||"",b._focused=!1,b.controlType="mat-select",b._required=!1,b._multiple=!1,b._disableOptionCentering=null!==(k=null===(w=b._defaultOptions)||void 0===w?void 0:w.disableOptionCentering)&&void 0!==k&&k,b.ariaLabel="",b.optionSelectionChanges=tH(function(){var e=b.options;return e?e.changes.pipe(Ef(e),Of(function(){return Oe.apply(void 0,v(e.map(function(e){return e.onSelectionChange})))})):b._ngZone.onStable.pipe(_p(1),Of(function(){return b.optionSelectionChanges}))}),b.openedChange=new ol,b._openedStream=b.openedChange.pipe(bf(function(e){return e}),ce(function(){})),b._closedStream=b.openedChange.pipe(bf(function(e){return!e}),ce(function(){})),b.selectionChange=new ol,b.valueChange=new ol,b.ngControl&&(b.ngControl.valueAccessor=c(b)),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(b._typeaheadDebounceInterval=y.typeaheadDebounceInterval),b._scrollStrategyFactory=p,b._scrollStrategy=b._scrollStrategyFactory(),b.tabIndex=parseInt(f)||0,b.id=b.id,b}return b(n,[{key:"focused",get:function(){return this._focused||this._panelOpen}},{key:"placeholder",get:function(){return this._placeholder},set:function(e){this._placeholder=e,this.stateChanges.next()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this.stateChanges.next()}},{key:"multiple",get:function(){return this._multiple},set:function(e){this._multiple=Wd(e)}},{key:"disableOptionCentering",get:function(){return this._disableOptionCentering},set:function(e){this._disableOptionCentering=Wd(e)}},{key:"compareWith",get:function(){return this._compareWith},set:function(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}},{key:"value",get:function(){return this._value},set:function(e){(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e)}},{key:"typeaheadDebounceInterval",get:function(){return this._typeaheadDebounceInterval},set:function(e){this._typeaheadDebounceInterval=qd(e)}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid,this.stateChanges.next()}},{key:"ngOnInit",value:function(){var e=this;this._selectionModel=new ip(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(lf(),kf(this._destroy)).subscribe(function(){return e._panelDoneAnimating(e.panelOpen)})}},{key:"ngAfterContentInit",value:function(){var e=this;this._initKeyManager(),this._selectionModel.changed.pipe(kf(this._destroy)).subscribe(function(e){e.added.forEach(function(e){return e.select()}),e.removed.forEach(function(e){return e.deselect()})}),this.options.changes.pipe(Ef(null),kf(this._destroy)).subscribe(function(){e._resetOptions(),e._initializeSelection()})}},{key:"ngDoCheck",value:function(){var e=this._getTriggerAriaLabelledby();if(e!==this._triggerAriaLabelledBy){var t=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?t.setAttribute("aria-labelledby",e):t.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}},{key:"ngOnChanges",value:function(e){e.disabled&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}},{key:"ngOnDestroy",value:function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}},{key:"toggle",value:function(){this.panelOpen?this.close():this.open()}},{key:"open",value:function(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}},{key:"close",value:function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}},{key:"panelOpen",get:function(){return this._panelOpen}},{key:"selected",get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}},{key:"triggerValue",get:function(){if(this.empty)return"";if(this._multiple){var e=this._selectionModel.selected.map(function(e){return e.viewValue});return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}},{key:"_isRtl",value:function(){return!!this._dir&&"rtl"===this._dir.value}},{key:"_handleKeydown",value:function(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}},{key:"_handleClosedKeydown",value:function(e){var t=e.keyCode,n=40===t||38===t||37===t||39===t,i=13===t||32===t,r=this._keyManager;if(!r.isTyping()&&i&&!Ep(e)||(this.multiple||e.altKey)&&n)e.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;r.onKeydown(e);var a=this.selected;a&&o!==a&&this._liveAnnouncer.announce(a.viewValue,1e4)}}},{key:"_handleOpenKeydown",value:function(e){var t=this._keyManager,n=e.keyCode,i=40===n||38===n,r=t.isTyping();if(i&&e.altKey)e.preventDefault(),this.close();else if(r||13!==n&&32!==n||!t.activeItem||Ep(e))if(!r&&this._multiple&&65===n&&e.ctrlKey){e.preventDefault();var o=this.options.some(function(e){return!e.disabled&&!e.selected});this.options.forEach(function(e){e.disabled||(o?e.select():e.deselect())})}else{var a=t.activeItemIndex;t.onKeydown(e),this._multiple&&i&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==a&&t.activeItem._selectViaInteraction()}else e.preventDefault(),t.activeItem._selectViaInteraction()}},{key:"_onFocus",value:function(){this.disabled||(this._focused=!0,this.stateChanges.next())}},{key:"_onBlur",value:function(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}},{key:"_onAttached",value:function(){var e=this;this._overlayDir.positionChange.pipe(_p(1)).subscribe(function(){e._changeDetectorRef.detectChanges(),e._positioningSettled()})}},{key:"_getPanelTheme",value:function(){return this._parentFormField?"mat-".concat(this._parentFormField.color):""}},{key:"empty",get:function(){return!this._selectionModel||this._selectionModel.isEmpty()}},{key:"_initializeSelection",value:function(){var e=this;Promise.resolve().then(function(){e._setSelectionByValue(e.ngControl?e.ngControl.value:e._value),e.stateChanges.next()})}},{key:"_setSelectionByValue",value:function(e){var t=this;if(this._selectionModel.selected.forEach(function(e){return e.setInactiveStyles()}),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(function(e){return t._selectValue(e)}),this._sortValues();else{var n=this._selectValue(e);n?this._keyManager.updateActiveItem(n):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}},{key:"_selectValue",value:function(e){var t=this,n=this.options.find(function(n){if(t._selectionModel.isSelected(n))return!1;try{return null!=n.value&&t._compareWith(n.value,e)}catch(i){return!1}});return n&&this._selectionModel.select(n),n}},{key:"_initKeyManager",value:function(){var e=this;this._keyManager=new zv(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(kf(this._destroy)).subscribe(function(){e.panelOpen&&(!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction(),e.focus(),e.close())}),this._keyManager.change.pipe(kf(this._destroy)).subscribe(function(){e._panelOpen&&e.panel?e._scrollOptionIntoView(e._keyManager.activeItemIndex||0):!e._panelOpen&&!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction()})}},{key:"_resetOptions",value:function(){var e=this,t=Oe(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(kf(t)).subscribe(function(t){e._onSelect(t.source,t.isUserInput),t.isUserInput&&!e.multiple&&e._panelOpen&&(e.close(),e.focus())}),Oe.apply(void 0,v(this.options.map(function(e){return e._stateChanges}))).pipe(kf(t)).subscribe(function(){e._changeDetectorRef.markForCheck(),e.stateChanges.next()})}},{key:"_onSelect",value:function(e,t){var n=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(n!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),n!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}},{key:"_sortValues",value:function(){var e=this;if(this.multiple){var t=this.options.toArray();this._selectionModel.sort(function(n,i){return e.sortComparator?e.sortComparator(n,i,t):t.indexOf(n)-t.indexOf(i)}),this.stateChanges.next()}}},{key:"_propagateChanges",value:function(e){var t;t=this.multiple?this.selected.map(function(e){return e.value}):this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck()}},{key:"_highlightCorrectOption",value:function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}},{key:"_canOpen",value:function(){var e;return!this._panelOpen&&!this.disabled&&(null===(e=this.options)||void 0===e?void 0:e.length)>0}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_getPanelAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();return this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}},{key:"_getAriaActiveDescendant",value:function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}},{key:"_getTriggerAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId(),n=(t?t+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}},{key:"_panelDoneAnimating",value:function(e){this.openedChange.emit(e)}},{key:"setDescribedByIds",value:function(e){this._ariaDescribedby=e.join(" ")}},{key:"onContainerClick",value:function(){this.focus(),this.open()}},{key:"shouldLabelFloat",get:function(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}]),n}(LZ);return e.\u0275fac=function(t){return new(t||e)(Os(ap),Os(Cc),Os(Xl),Os(lb),Os(Ju),Os(tp,8),Os(zU,8),Os(QU,8),Os(IH,8),Os(hU,10),Ai("tabindex"),Os(IZ),Os(tg),Os(RZ,8))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(wZ,5),yl(kZ,5),yl(sv,5)),2&e)&&(ml(n=_l())&&(t.trigger=n.first),ml(n=_l())&&(t.panel=n.first),ml(n=_l())&&(t._overlayDir=n.first))},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[cs,qt]}),e}(),BZ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._scrollTop=0,e._triggerFontSize=0,e._transformOrigin="top",e._offsetY=0,e._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],e}return b(i,[{key:"_calculateOverlayScroll",value:function(e,t,n){var i=this._getItemHeight();return Math.min(Math.max(0,i*e-t+i/2),n)}},{key:"ngOnInit",value:function(){var t=this;e(p(i.prototype),"ngOnInit",this).call(this),this._viewportRuler.change().pipe(kf(this._destroy)).subscribe(function(){t.panelOpen&&(t._triggerRect=t.trigger.nativeElement.getBoundingClientRect(),t._changeDetectorRef.markForCheck())})}},{key:"open",value:function(){var t=this;e(p(i.prototype),"_canOpen",this).call(this)&&(e(p(i.prototype),"open",this).call(this),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(_p(1)).subscribe(function(){t._triggerFontSize&&t._overlayDir.overlayRef&&t._overlayDir.overlayRef.overlayElement&&(t._overlayDir.overlayRef.overlayElement.style.fontSize="".concat(t._triggerFontSize,"px"))}))}},{key:"_scrollOptionIntoView",value:function(e){var t=Db(e,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===e&&1===t?0:Nb((e+t)*n,n,this.panel.nativeElement.scrollTop,256)}},{key:"_positioningSettled",value:function(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}},{key:"_panelDoneAnimating",value:function(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),e(p(i.prototype),"_panelDoneAnimating",this).call(this,t)}},{key:"_getChangeEvent",value:function(e){return new NZ(this,e)}},{key:"_calculateOverlayOffsetX",value:function(){var e,t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),i=this._isRtl(),r=this.multiple?56:32;if(this.multiple)e=40;else if(this.disableOptionCentering)e=16;else{var o=this._selectionModel.selected[0]||this.options.first;e=o&&o.group?32:16}i||(e*=-1);var a=0-(t.left+e-(i?r:0)),s=t.right+e-n.width+(i?0:r);a>0?e+=a+8:s>0&&(e-=s+8),this._overlayDir.offsetX=Math.round(e),this._overlayDir.overlayRef.updatePosition()}},{key:"_calculateOverlayOffsetY",value:function(e,t,n){var i,r=this._getItemHeight(),o=(r-this._triggerRect.height)/2,a=Math.floor(256/r);return this.disableOptionCentering?0:(i=0===this._scrollTop?e*r:this._scrollTop===n?(e-(this._getItemCount()-a))*r+(r-(this._getItemCount()*r-256)%r):t-r/2,Math.round(-1*i-o))}},{key:"_checkOverlayWithinViewport",value:function(e){var t=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*t,256)-o-this._triggerRect.height;a>r?this._adjustPanelUp(a,r):o>i?this._adjustPanelDown(o,i,e):this._transformOrigin=this._getOriginBasedOnOption()}},{key:"_adjustPanelUp",value:function(e,t){var n=Math.round(e-t);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}},{key:"_adjustPanelDown",value:function(e,t,n){var i=Math.round(e-t);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}},{key:"_calculateOverlayPosition",value:function(){var e,t=this._getItemHeight(),n=this._getItemCount(),i=Math.min(n*t,256),r=n*t-i;e=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),e+=Db(e,this.options,this.optionGroups);var o=i/2;this._scrollTop=this._calculateOverlayScroll(e,o,r),this._offsetY=this._calculateOverlayOffsetY(e,o,r),this._checkOverlayWithinViewport(r)}},{key:"_getOriginBasedOnOption",value:function(){var e=this._getItemHeight(),t=(e-this._triggerRect.height)/2;return"50% ".concat(Math.abs(this._offsetY)-t+e/2,"px 0px")}},{key:"_getItemHeight",value:function(){return 3*this._triggerFontSize}},{key:"_getItemCount",value:function(){return this.options.length+this.optionGroups.length}}]),i}(FZ);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275cmp=Ot({type:n,selectors:[["mat-select"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,jZ,5),bl(n,Rb,5),bl(n,Pb,5)),2&e)&&(ml(i=_l())&&(t.customTrigger=i.first),ml(i=_l())&&(t.options=i),ml(i=_l())&&(t.optionGroups=i))},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t._handleKeydown(e)})("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()}),2&e&&(ks("id",t.id)("tabindex",t.tabIndex)("aria-controls",t.panelOpen?t.id+"-panel":null)("aria-expanded",t.panelOpen)("aria-label",t.ariaLabel||null)("aria-required",t.required.toString())("aria-disabled",t.disabled.toString())("aria-invalid",t.errorState)("aria-describedby",t._ariaDescribedby||null)("aria-activedescendant",t._getAriaActiveDescendant()),cu("mat-select-disabled",t.disabled)("mat-select-invalid",t.errorState)("mat-select-required",t.required)("mat-select-empty",t.empty)("mat-select-multiple",t.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Xu([{provide:wH,useExisting:n},{provide:Cb,useExisting:n}]),cs],ngContentSelectors:PZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,t){if(1&e&&(Xs(TZ),As(0,"div",0,1),Vs("click",function(){return t.toggle()}),As(3,"div",2),Cs(4,xZ,2,1,"span",3),Cs(5,EZ,3,2,"span",4),Ms(),As(6,"div",5),Is(7,"div",6),Ms(),Ms(),Cs(8,OZ,4,14,"ng-template",7),Vs("backdropClick",function(){return t.close()})("attach",function(){return t._onAttached()})("detach",function(){return t.close()})),2&e){var n=Es(1);ks("aria-owns",t.panelOpen?t.id+"-panel":null),Yo(3),Ts("ngSwitch",t.empty),ks("id",t._valueId),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1),Yo(3),Ts("cdkConnectedOverlayPanelClass",t._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",t._scrollStrategy)("cdkConnectedOverlayOrigin",n)("cdkConnectedOverlayOpen",t.panelOpen)("cdkConnectedOverlayPositions",t._positions)("cdkConnectedOverlayMinWidth",null==t._triggerRect?null:t._triggerRect.width)("cdkConnectedOverlayOffsetY",t._offsetY)}},directives:[av,Zh,Jh,sv,ed,Gh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[AZ.transformPanelWrap,AZ.transformPanel]},changeDetection:0}),n}(),VZ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[DZ],imports:[[cd,cv,Lb,rb],sp,DH,Lb,rb]}),e}();function zZ(e,t){if(1&e&&(As(0,"mat-option",6),As(1,"div"),Cu(2),Ms(),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("value",n),Yo(1),du(i.optionsVisible),Yo(1),Ou(" ",n," ")}}var UZ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selectionChange=new ol,this.optionsVisible="invisible"}return b(e,[{key:"toggleOptions",value:function(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}},{key:"selectionChanged",value:function(e){this.selection=e,this.ga.event("selection_change","dropdown","".concat(this.label,":").concat(e)),this.selectionChange.emit(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"mat-form-field",2),As(3,"div",3),Cu(4),Ms(),As(5,"mat-select",4),Vs("selectionChange",function(e){return t.selectionChanged(e.value)})("openedChange",function(){return t.toggleOptions()}),Cs(6,zZ,3,5,"mat-option",5),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(4),Ou(" ",t.label," "),Yo(1),Ts("value",t.selection),Yo(1),Ts("ngForOf",t.options))},directives:[RH,BZ,qh,Rb],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),e}(),HZ=r(25430),GZ=r(39053),WZ=r(26202),qZ=["tooltipTemplate"],XZ=["leftOuterSelectionBar"],YZ=["rightOuterSelectionBar"],KZ=["fullBar"],$Z=["selectionBar"],QZ=["minHandle"],ZZ=["maxHandle"],JZ=["floorLabel"],eJ=["ceilLabel"],tJ=["minHandleLabel"],nJ=["maxHandleLabel"],iJ=["combinedLabel"],rJ=["ticksElement"];function oJ(e,t){if(1&e&&Is(0,"ng5-slider-tooltip-wrapper",31),2&e){var n=Ws().$implicit;Ts("template",Ws().tooltipTemplate)("tooltip",n.valueTooltip)("placement",n.valueTooltipPlacement)("content",n.value)}}function aJ(e,t){1&e&&Is(0,"span",32),2&e&&Ts("innerHTML",Ws().$implicit.legend,qr)}var sJ=function(e){return{"ng5-slider-selected":e}};function uJ(e,t){if(1&e&&(As(0,"span",27),Is(1,"ng5-slider-tooltip-wrapper",28),Cs(2,oJ,1,4,"ng5-slider-tooltip-wrapper",29),Cs(3,aJ,1,1,"span",30),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("ngClass",$c(7,sJ,n.selected))("ngStyle",n.style),Yo(1),Ts("template",i.tooltipTemplate)("tooltip",n.tooltip)("placement",n.tooltipPlacement),Yo(1),Ts("ngIf",null!=n.value),Yo(1),Ts("ngIf",null!=n.legend)}}function cJ(e,t){}function lJ(e,t){1&e&&Cs(0,cJ,0,0,"ng-template")}var hJ=function(e,t,n){return{tooltip:e,placement:t,content:n}};function dJ(e,t){if(1&e&&(Rs(0),Cs(1,lJ,1,0,void 0,1),Ds()),2&e){var n=Ws();Yo(1),Ts("ngTemplateOutlet",n.template)("ngTemplateOutletContext",function(e,t,n,i,r,o){return function(e,t,n,i,r,o,a,s){var u=t+n;return function(e,t,n,i,r){var o=ws(e,t,n,i);return _s(e,t+2,r)||o}(e,u,r,o,a)?bs(e,u+3,s?i.call(s,r,o,a):i(r,o,a)):Qc(e,u+3)}(mn(),On(),e,t,n,i,r,o)}(2,hJ,n.tooltip,n.placement,n.content))}}function fJ(e,t){if(1&e&&(Rs(0),As(1,"div",2),Cu(2),Ms(),Ds()),2&e){var n=Ws();Yo(1),ks("title",n.tooltip)("data-tooltip-placement",n.placement),Yo(1),Ou(" ",n.content," ")}}var pJ={Min:0,Max:1};pJ[pJ.Min]="Min",pJ[pJ.Max]="Max";var vJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};vJ[vJ.Low]="Low",vJ[vJ.High]="High",vJ[vJ.Floor]="Floor",vJ[vJ.Ceil]="Ceil",vJ[vJ.TickValue]="TickValue";var gJ=function e(){m(this,e),this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0},mJ=function e(){m(this,e)},yJ=function(){function e(){m(this,e)}return b(e,null,[{key:"isNullOrUndefined",value:function(e){return null==e}},{key:"linearValueToPosition",value:function(e,t,n){return(e-t)/(n-t)}},{key:"logValueToPosition",value:function(e,t,n){return((e=Math.log(e))-(t=Math.log(t)))/((n=Math.log(n))-t)}},{key:"linearPositionToValue",value:function(e,t,n){return e*(n-t)+t}},{key:"logPositionToValue",value:function(e,t,n){return t=Math.log(t),n=Math.log(n),Math.exp(e*(n-t)+t)}},{key:"findStepIndex",value:function(e,t){for(var n=t.map(function(t){return Math.abs(e-t.value)}),i=0,r=0;r0&&0===this.dimension)&&(t=!0),this._value=e,this.elemRef.nativeElement.innerHTML=e,t&&this.calculateDimension()}}]),n}(xJ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(nc),Os(Cc))},e.\u0275dir=Rt({type:e,selectors:[["","ng5SliderLabel",""]],features:[cs]}),e}(),EJ=function e(){m(this,e),this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null},OJ=function e(){m(this,e),this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0},TJ=function(){function e(){m(this,e)}return b(e,null,[{key:"compare",value:function(e,t){return!(yJ.isNullOrUndefined(e)&&yJ.isNullOrUndefined(t)||yJ.isNullOrUndefined(e)!==yJ.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue}}]),e}(),PJ=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,null,[{key:"compare",value:function(e,t){return!(yJ.isNullOrUndefined(e)&&yJ.isNullOrUndefined(t)||yJ.isNullOrUndefined(e)!==yJ.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue&&e.forceChange===t.forceChange}}]),n}(TJ),AJ={provide:Hz,useExisting:He(function(){return MJ}),multi:!0},MJ=function(){var e=function(){function e(t,n,i,r){m(this,e),this.renderer=t,this.elementRef=n,this.changeDetectionRef=i,this.zone=r,this.value=null,this.valueChange=new ol,this.highValue=null,this.highValueChange=new ol,this.options=new gJ,this.userChangeStart=new ol,this.userChange=new ol,this.userChangeEnd=new ol,this.initHasRun=!1,this.inputModelChangeSubject=new HZ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new HZ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new gJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new OJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new kJ(this.renderer)}return b(e,[{key:"manualRefresh",set:function(e){var t=this;this.unsubscribeManualRefresh(),this.manualRefreshSubscription=e.subscribe(function(){setTimeout(function(){return t.calculateViewDimensionsAndDetectChanges()})})}},{key:"triggerFocus",set:function(e){var t=this;this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=e.subscribe(function(e){t.focusPointer(e)})}},{key:"range",get:function(){return!yJ.isNullOrUndefined(this.value)&&!yJ.isNullOrUndefined(this.highValue)}},{key:"showTicks",get:function(){return this.viewOptions.showTicks}},{key:"ngOnInit",value:function(){this.viewOptions=new gJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}},{key:"ngAfterViewInit",value:function(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"ngOnChanges",value:function(e){yJ.isNullOrUndefined(e.options)||this.onChangeOptions(),(!yJ.isNullOrUndefined(e.value)||!yJ.isNullOrUndefined(e.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"ngOnDestroy",value:function(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}},{key:"writeValue",value:function(e){e instanceof Array?(this.value=e[0],this.highValue=e[1]):this.value=e,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"registerOnChange",value:function(e){this.onChangeCallback=e}},{key:"registerOnTouched",value:function(e){this.onTouchedCallback=e}},{key:"setDisabledState",value:function(e){this.viewOptions.disabled=e,this.updateDisabledState()}},{key:"onResize",value:function(e){this.calculateViewDimensionsAndDetectChanges()}},{key:"subscribeInputModelChangeSubject",value:function(e){var t=this;this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,GZ.distinctUntilChanged)(PJ.compare),(0,GZ.filter)(function(e){return!e.forceChange&&!e.internalChange}),yJ.isNullOrUndefined(e)?(0,GZ.tap)(function(){}):(0,GZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.applyInputModelChange(e)})}},{key:"subscribeOutputModelChangeSubject",value:function(e){var t=this;this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,GZ.distinctUntilChanged)(PJ.compare),yJ.isNullOrUndefined(e)?(0,GZ.tap)(function(){}):(0,GZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.publishOutputModelChange(e)})}},{key:"subscribeResizeObserver",value:function(){var e=this;bJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(function(){return e.calculateViewDimensionsAndDetectChanges()}),this.resizeObserver.observe(this.elementRef.nativeElement))}},{key:"unsubscribeResizeObserver",value:function(){bJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"unsubscribeOnMove",value:function(){yJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}},{key:"unsubscribeOnEnd",value:function(){yJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}},{key:"unsubscribeInputModelChangeSubject",value:function(){yJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}},{key:"unsubscribeOutputModelChangeSubject",value:function(){yJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}},{key:"unsubscribeManualRefresh",value:function(){yJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}},{key:"unsubscribeTriggerFocus",value:function(){yJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}},{key:"getPointerElement",value:function(e){return e===pJ.Min?this.minHandleElement:e===pJ.Max?this.maxHandleElement:null}},{key:"getCurrentTrackingValue",value:function(){return this.currentTrackingPointer===pJ.Min?this.viewLowValue:this.currentTrackingPointer===pJ.Max?this.viewHighValue:null}},{key:"modelValueToViewValue",value:function(e){return yJ.isNullOrUndefined(e)?NaN:yJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+e:yJ.findStepIndex(+e,this.viewOptions.stepsArray)}},{key:"viewValueToModelValue",value:function(e){return yJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?e:this.getStepValue(e)}},{key:"getStepValue",value:function(e){var t=this.viewOptions.stepsArray[e];return yJ.isNullOrUndefined(t)?NaN:t.value}},{key:"applyViewChange",value:function(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}},{key:"applyInputModelChange",value:function(e){var t=this.normaliseModelValues(e),n=!TJ.compare(e,t);n&&(this.value=t.value,this.highValue=t.highValue),this.viewLowValue=this.modelValueToViewValue(t.value),this.viewHighValue=this.range?this.modelValueToViewValue(t.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:t.value,highValue:t.highValue,forceChange:n,userEventInitiated:!1})}},{key:"publishOutputModelChange",value:function(e){var t=this,n=function(){t.valueChange.emit(e.value),t.range&&t.highValueChange.emit(e.highValue),yJ.isNullOrUndefined(t.onChangeCallback)||t.onChangeCallback(t.range?[e.value,e.highValue]:e.value),yJ.isNullOrUndefined(t.onTouchedCallback)||t.onTouchedCallback(t.range?[e.value,e.highValue]:e.value)};e.userEventInitiated?(n(),this.userChange.emit(this.getChangeContext())):setTimeout(function(){n()})}},{key:"normaliseModelValues",value:function(e){var t=new TJ;if(t.value=e.value,t.highValue=e.highValue,this.viewOptions.enforceStep&&(t.value=this.roundStep(t.value),this.range&&(t.highValue=this.roundStep(t.highValue))),!yJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return t;if(t.value=_J.clampToRange(t.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(t.highValue=_J.clampToRange(t.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&e.value>e.highValue)if(this.viewOptions.noSwitching)t.value=t.highValue;else{var n=e.value;t.value=e.highValue,t.highValue=n}return t}},{key:"renormaliseModelValues",value:function(){var e={value:this.value,highValue:this.highValue},t=this.normaliseModelValues(e);TJ.compare(t,e)||(this.value=t.value,this.highValue=t.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}},{key:"onChangeOptions",value:function(){if(this.initHasRun){var e=this.viewOptions.inputEventsInterval,t=this.viewOptions.outputEventsInterval;this.applyOptions(),e!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),t!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}}},{key:"applyOptions",value:function(){if(this.viewOptions=new gJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!yJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!yJ.isNullOrUndefined(this.viewOptions.tickStep)||!yJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!yJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),yJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),yJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=function(e,t){return e+" - "+t}),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}},{key:"applyStepsArrayOptions",value:function(){var e=this;this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,yJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(t){return String(e.viewOptions.bindIndexForStepsArray?e.getStepValue(t):t)}),this.viewOptions.getLegend=function(t){return e.viewOptions.stepsArray[t].legend}}},{key:"applyFloorCeilOptions",value:function(){if(yJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),yJ.isNullOrUndefined(this.viewOptions.ceil)||yJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,yJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(e){return String(e)})}},{key:"resetSlider",value:function(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}},{key:"focusPointer",value:function(e){e!==pJ.Min&&e!==pJ.Max&&(e=pJ.Min),e===pJ.Min?this.minHandleElement.focus():this.range&&e===pJ.Max&&this.maxHandleElement.focus()}},{key:"refocusPointerIfNeeded",value:function(){yJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}},{key:"manageElementsStyle",value:function(){var e=this;this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);var t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(function(){e.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(function(){e.sliderElementAnimateClass=e.viewOptions.animate})}},{key:"manageEventsBindings",value:function(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}},{key:"updateDisabledState",value:function(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}},{key:"updateVerticalState",value:function(){this.sliderElementVerticalClass=this.viewOptions.vertical;var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){var n=e.value;yJ.isNullOrUndefined(n)||n.setVertical(this.viewOptions.vertical)}}catch(i){t.e(i)}finally{t.f()}}},{key:"updateScale",value:function(){var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){e.value.setScale(this.viewOptions.scale)}}catch(n){t.e(n)}finally{t.f()}}},{key:"getAllSliderElements",value:function(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}},{key:"initHandles",value:function(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}},{key:"addAccessibility",value:function(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),yJ.isNullOrUndefined(this.viewOptions.ariaLabel)?yJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",yJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?yJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}},{key:"updateAriaAttributes",value:function(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,vJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,vJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}},{key:"calculateViewDimensions",value:function(){yJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);var e=this.minHandleElement.dimension;this.handleHalfDimension=e/2,yJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-e,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}},{key:"calculateViewDimensionsAndDetectChanges",value:function(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"isRefDestroyed",value:function(){return this.changeDetectionRef.destroyed}},{key:"updateTicksScale",value:function(){var e=this;if(this.viewOptions.showTicks){var t=yJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,n=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();var i=t.map(function(t){var i=e.valueToPosition(t);e.viewOptions.vertical&&(i=e.maxHandlePosition-i);var r=n+"("+Math.round(i)+"px)",o=new EJ;if(o.selected=e.isTickSelected(t),o.style={"-webkit-transform":r,"-moz-transform":r,"-o-transform":r,"-ms-transform":r,transform:r},o.selected&&!yJ.isNullOrUndefined(e.viewOptions.getSelectionBarColor)&&(o.style["background-color"]=e.getSelectionBarColor()),!o.selected&&!yJ.isNullOrUndefined(e.viewOptions.getTickColor)&&(o.style["background-color"]=e.getTickColor(t)),yJ.isNullOrUndefined(e.viewOptions.ticksTooltip)||(o.tooltip=e.viewOptions.ticksTooltip(t),o.tooltipPlacement=e.viewOptions.vertical?"right":"top"),e.viewOptions.showTicksValues&&t%e.viewOptions.tickValueStep==0&&(o.value=e.getDisplayValue(t,vJ.TickValue),yJ.isNullOrUndefined(e.viewOptions.ticksValuesTooltip)||(o.valueTooltip=e.viewOptions.ticksValuesTooltip(t),o.valueTooltipPlacement=e.viewOptions.vertical?"right":"top")),!yJ.isNullOrUndefined(e.viewOptions.getLegend)){var a=e.viewOptions.getLegend(t);yJ.isNullOrUndefined(a)||(o.legend=a)}return o});if(yJ.isNullOrUndefined(this.ticks)||this.ticks.length!==i.length)this.ticks=i;else for(var r=0;r=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&e<=this.viewLowValue)return!0}else{var t=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>t&&e>=t&&e<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&e>=this.viewLowValue&&e<=this.viewHighValue)}},{key:"updateFloorLabel",value:function(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,vJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}},{key:"updateCeilLabel",value:function(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,vJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}},{key:"updateHandles",value:function(e,t){e===pJ.Min?this.updateLowHandle(t):e===pJ.Max&&this.updateHighHandle(t),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}},{key:"getHandleLabelPos",value:function(e,t){var n=e===pJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=t-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&e===pJ.Min||!this.viewOptions.rightToLeft&&e===pJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}},{key:"updateLowHandle",value:function(e){this.minHandleElement.setPosition(e),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,vJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(pJ.Min,e)),yJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(pJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateHighHandle",value:function(e){this.maxHandleElement.setPosition(e),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,vJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(pJ.Max,e)),yJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(pJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateFloorAndCeilLabelsVisibility",value:function(){if(!this.viewOptions.hidePointerLabels){var e=!1,t=!1,n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),o=this.isLabelBelowFloorLabel(this.combinedLabelElement),a=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(e=!0,this.floorLabelElement.hide()):(e=!1,this.floorLabelElement.show()),i?(t=!0,this.ceilLabelElement.hide()):(t=!1,this.ceilLabelElement.show()),this.range){var s=this.combinedLabelElement.isVisible()?a:r,u=this.combinedLabelElement.isVisible()?o:n;s?this.ceilLabelElement.hide():t||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():e||this.floorLabelElement.show()}}}},{key:"isLabelBelowFloorLabel",value:function(e){var t=e.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?t+e.dimension>=n-2:t<=n+this.floorLabelElement.dimension+2}},{key:"isLabelAboveCeilLabel",value:function(e){var t=e.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?t<=n+this.ceilLabelElement.dimension+2:t+e.dimension>=n-2}},{key:"updateSelectionBar",value:function(){var e=0,t=0,n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)t=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),e=i;else if(yJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(t=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),e=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(t=this.minHandleElement.position+this.handleHalfDimension,e=0);else{var r=this.viewOptions.showSelectionBarFromValue,o=this.valueToPosition(r);(this.viewOptions.rightToLeft?this.viewLowValue<=r:this.viewLowValue>r)?(t=this.minHandleElement.position-o,e=o+this.handleHalfDimension):(t=o-this.minHandleElement.position,e=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(t),this.selectionBarElement.setPosition(e),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(e),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.leftOuterSelectionBarElement.setPosition(e+t)):(this.leftOuterSelectionBarElement.setDimension(e),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.rightOuterSelectionBarElement.setPosition(e+t))),yJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!yJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){var a=yJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),s=a-e>0&&!n||a-e<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?s?"bottom":"top":s?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(a+t+e+(s?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=a-e+(s?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{var u=this.getSelectionBarColor();this.barStyle={backgroundColor:u}}}},{key:"getSelectionBarColor",value:function(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}},{key:"getPointerColor",value:function(e){return this.viewOptions.getPointerColor(e===pJ.Max?this.highValue:this.value,e)}},{key:"getTickColor",value:function(e){return this.viewOptions.getTickColor(e)}},{key:"updateCombinedLabel",value:function(){if(this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position){var e=this.getDisplayValue(this.viewLowValue,vJ.Low),t=this.getDisplayValue(this.viewHighValue,vJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(t,e):this.viewOptions.combineLabels(e,t);this.combinedLabelElement.setValue(n);var i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"getDisplayValue",value:function(e,t){return!yJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(e=this.getStepValue(e)),this.viewOptions.translate(e,t)}},{key:"roundStep",value:function(e,t){var n=yJ.isNullOrUndefined(t)?this.viewOptions.step:t,i=_J.roundToPrecisionLimit((e-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,_J.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}},{key:"valueToPosition",value:function(e){var t=yJ.linearValueToPosition;yJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(t=yJ.logValueToPosition):t=this.viewOptions.customValueToPosition;var n=t(e=_J.clampToRange(e,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return yJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}},{key:"positionToValue",value:function(e){var t=e/this.maxHandlePosition;this.viewOptions.rightToLeft&&(t=1-t);var n=yJ.linearPositionToValue;yJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=yJ.logPositionToValue):n=this.viewOptions.customPositionToValue;var i=n(t,this.viewOptions.floor,this.viewOptions.ceil);return yJ.isNullOrUndefined(i)?0:i}},{key:"getEventXY",value:function(e,t){if(e instanceof MouseEvent)return this.viewOptions.vertical?e.clientY:e.clientX;var n=0,i=e.touches;if(!yJ.isNullOrUndefined(t))for(var r=0;ri?pJ.Max:this.viewOptions.rightToLeft?t>this.minHandleElement.position?pJ.Min:pJ.Max:t=this.maxHandlePosition?o=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(o=this.positionToValue(a),o=t&&!yJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(o,this.viewOptions.tickStep):this.roundStep(o)),this.positionTrackingHandle(o)}},{key:"onEnd",value:function(e){bJ.isTouchEvent(e)&&e.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}},{key:"onPointerFocus",value:function(e){var t=this,n=this.getPointerElement(e);n.on("blur",function(){return t.onPointerBlur(n)}),n.on("keydown",function(e){return t.onKeyboardEvent(e)}),n.on("keyup",function(){return t.onKeyUp()}),n.active=!0,this.currentTrackingPointer=e,this.currentFocusPointer=e,this.firstKeyDown=!0}},{key:"onKeyUp",value:function(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}},{key:"onPointerBlur",value:function(e){e.off("blur"),e.off("keydown"),e.off("keyup"),e.active=!1,yJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}},{key:"getKeyActions",value:function(e){var t=this.viewOptions.ceil-this.viewOptions.floor,n=e+this.viewOptions.step,i=e-this.viewOptions.step,r=e+t/10,o=e-t/10;this.viewOptions.reversedControls&&(n=e-this.viewOptions.step,i=e+this.viewOptions.step,r=e-t/10,o=e+t/10);var a={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:o,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(a.LEFT=n,a.RIGHT=i,this.viewOptions.vertical&&(a.UP=i,a.DOWN=n)),a}},{key:"onKeyboardEvent",value:function(e){var t=this.getCurrentTrackingValue(),n=yJ.isNullOrUndefined(e.keyCode)?e.which:e.keyCode,i=this.getKeyActions(t)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(!yJ.isNullOrUndefined(i)&&!yJ.isNullOrUndefined(this.currentTrackingPointer)){e.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));var r=_J.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),o=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){var a,s,u=this.viewHighValue-this.viewLowValue;this.currentTrackingPointer===pJ.Min?(a=o,(s=o+u)>this.viewOptions.ceil&&(a=(s=this.viewOptions.ceil)-u)):this.currentTrackingPointer===pJ.Max&&(s=o,(a=o-u)=this.maxHandlePosition-t;if(o<=n){if(0===i.position)return;a=this.getMinValue(o,!0,!1),s=this.getMaxValue(o,!0,!1)}else if(u){if(r.position===this.maxHandlePosition)return;s=this.getMaxValue(o,!0,!0),a=this.getMinValue(o,!0,!0)}else a=this.getMinValue(o,!1,!1),s=this.getMaxValue(o,!1,!1);this.positionTrackingBar(a,s)}},{key:"positionTrackingBar",value:function(e,t){!yJ.isNullOrUndefined(this.viewOptions.minLimit)&&ethis.viewOptions.maxLimit&&(e=_J.roundToPrecisionLimit((t=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=e,this.viewHighValue=t,this.applyViewChange(),this.updateHandles(pJ.Min,this.valueToPosition(e)),this.updateHandles(pJ.Max,this.valueToPosition(t))}},{key:"positionTrackingHandle",value:function(e){e=this.applyMinMaxLimit(e),this.range&&(this.viewOptions.pushRange?e=this.applyPushRange(e):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===pJ.Min&&e>this.viewHighValue?e=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===pJ.Max&&ethis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(pJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=pJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===pJ.Max&&ethis.viewOptions.maxLimit?this.viewOptions.maxLimit:e}},{key:"applyMinMaxRange",value:function(e){var t=Math.abs(e-(this.currentTrackingPointer===pJ.Min?this.viewHighValue:this.viewLowValue));if(!yJ.isNullOrUndefined(this.viewOptions.minRange)&&tthis.viewOptions.maxRange){if(this.currentTrackingPointer===pJ.Min)return _J.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===pJ.Max)return _J.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return e}},{key:"applyPushRange",value:function(e){var t=this.currentTrackingPointer===pJ.Min?this.viewHighValue-e:e-this.viewLowValue,n=yJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ti&&(this.currentTrackingPointer===pJ.Min?(this.viewHighValue=_J.roundToPrecisionLimit(e+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(pJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===pJ.Max&&(this.viewLowValue=_J.roundToPrecisionLimit(e-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(pJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),e}},{key:"getChangeContext",value:function(){var e=new mJ;return e.pointerType=this.currentTrackingPointer,e.value=+this.value,this.range&&(e.highValue=+this.highValue),e}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Cc),Os(Xl))},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,qZ,5),2&e)&&(ml(i=_l())&&(t.tooltipTemplate=i.first))},viewQuery:function(e,t){var n;(1&e&&(yl(XZ,5,xJ),yl(YZ,5,xJ),yl(KZ,5,xJ),yl($Z,5,xJ),yl(QZ,5,SJ),yl(ZZ,5,SJ),yl(JZ,5,CJ),yl(eJ,5,CJ),yl(tJ,5,CJ),yl(nJ,5,CJ),yl(iJ,5,CJ),yl(rJ,5,xJ)),2&e)&&(ml(n=_l())&&(t.leftOuterSelectionBarElement=n.first),ml(n=_l())&&(t.rightOuterSelectionBarElement=n.first),ml(n=_l())&&(t.fullBarElement=n.first),ml(n=_l())&&(t.selectionBarElement=n.first),ml(n=_l())&&(t.minHandleElement=n.first),ml(n=_l())&&(t.maxHandleElement=n.first),ml(n=_l())&&(t.floorLabelElement=n.first),ml(n=_l())&&(t.ceilLabelElement=n.first),ml(n=_l())&&(t.minHandleLabelElement=n.first),ml(n=_l())&&(t.maxHandleLabelElement=n.first),ml(n=_l())&&(t.combinedLabelElement=n.first),ml(n=_l())&&(t.ticksElement=n.first))},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(e,t){1&e&&Vs("resize",function(e){return t.onResize(e)},!1,io),2&e&&(ks("disabled",t.sliderElementDisabledAttr),cu("vertical",t.sliderElementVerticalClass)("animate",t.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[Xu([AJ]),qt],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(e,t){1&e&&(As(0,"span",0,1),Is(2,"span",2),Ms(),As(3,"span",3,4),Is(5,"span",2),Ms(),As(6,"span",5,6),Is(8,"span",2),Ms(),As(9,"span",7,8),Is(11,"span",9),Ms(),Is(12,"span",10,11),Is(14,"span",12,13),Is(16,"span",14,15),Is(18,"span",16,17),Is(20,"span",18,19),Is(22,"span",20,21),Is(24,"span",22,23),As(26,"span",24,25),Cs(28,uJ,4,9,"span",26),Ms()),2&e&&(Yo(6),cu("ng5-slider-transparent",t.fullBarTransparentClass),Yo(3),cu("ng5-slider-draggable",t.selectionBarDraggableClass),Yo(2),Ts("ngStyle",t.barStyle),Yo(1),Ts("ngStyle",t.minPointerStyle),Yo(2),uu("display",t.range?"inherit":"none"),Ts("ngStyle",t.maxPointerStyle),Yo(12),cu("ng5-slider-ticks-values-under",t.ticksUnderValuesClass),Ts("hidden",!t.showTicks),Yo(2),Ts("ngForOf",t.ticks))},directives:function(){return[xJ,td,SJ,CJ,qh,Gh,IJ,Yh]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),e}(),IJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(e,t){1&e&&(Cs(0,dJ,2,6,"ng-container",0),Cs(1,fJ,3,3,"ng-container",0)),2&e&&(Ts("ngIf",t.template),Yo(1),Ts("ngIf",!t.template))},directives:[Yh,nd],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),e}(),RJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),DJ=["popover"];function NJ(e,t){if(1&e){var n=Ls();As(0,"div",7,8),As(2,"div"),As(3,"div",9),Cu(4),Ms(),As(5,"input",10),Vs("keyup",function(e){return bn(n),Ws().onKeyLow(e)}),Ms(),Ms(),As(6,"ng5-slider",11),Vs("valueChange",function(e){return bn(n),Ws().lowValue=e})("highValueChange",function(e){return bn(n),Ws().highValue=e})("userChangeEnd",function(){return bn(n),Ws().sliderValueChanged()}),Ms(),As(7,"div"),As(8,"div",12),Cu(9),Ms(),As(10,"input",13),Vs("keyup",function(e){return bn(n),Ws().onKeyHigh(e)}),Ms(),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Pu("label min fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.floor,"> "),Yo(1),Ks("value",i.lowValue),Yo(1),Pu("slider fade-in ",i.contentsVisible,""),Ts("options",i.options)("value",i.lowValue)("highValue",i.highValue),Yo(1),Pu("label max fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.ceil," "),Yo(1),Ks("value",i.highValue)}}var LJ=function(){var e=function(){function e(t,n,i){m(this,e),this.element=n,this.ga=i,this.selectionChange=new ol,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;var r=t.position().flexibleConnectedTo(n).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:r})}return b(e,[{key:"rangeLabel",get:function(){var e=this.lowValue,t=this.highValue;return e===t?"".concat(e):"".concat(e,"-").concat(t)}},{key:"ngOnChanges",value:function(e){e.valueRange&&this.optionsChanged(),e.selection&&(this.lowValue=Math.min.apply(Math,v(this.selection)),this.highValue=Math.max.apply(Math,v(this.selection)))}},{key:"optionsChanged",value:function(){var e,t;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(e=this.options.floor)&&void 0!==e?e:0,this.highValue=null!==(t=this.options.ceil)&&void 0!==t?t:0}},{key:"ngOnDestroy",value:function(){this.overlayRef.dispose()}},{key:"closeSliderPopover",value:function(e){var t,n,i=this.element,r=this.isSliderOpen,o=this.popoverElement;r&&(i.nativeElement.contains(e)||(null===(n=null===(t=null==o?void 0:o.nativeElement)||void 0===t?void 0:t.contains)||void 0===n?void 0:n.call(t,e))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}},{key:"toggleSliderPopover",value:function(){var e=this.isSliderOpen,t=this.isSliderInitialized;t?(this.overlayRef.detach(),this.isSliderInitialized=!1):!t&&!e&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!e}},{key:"sliderValueChanged",value:function(){var e=this.lowValue,t=this.highValue;this.selection=[e,t],this.ga.event("slider_range_change","dual_slider","".concat(this.label,":").concat(e,":").concat(t)),this.selectionChange.emit(this.selection)}},{key:"initializeSliderPopover",value:function(){var e=this.overlayRef,t=this.popoverPortal;e.attach(t),e.updatePosition(),this.isSliderInitialized=!0}},{key:"onKeyLow",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.lowValue=t),e.target.value=String(this.lowValue),e.target.blur(),this.sliderValueChanged())}},{key:"onKeyHigh",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.highValue=t),e.target.value=String(this.highValue),e.target.blur(),this.sliderValueChanged())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dual-slider"]],viewQuery:function(e,t){var n;(1&e&&(yl(vp,7),yl(DJ,5,Ju)),2&e)&&(ml(n=_l())&&(t.popoverPortal=n.first),ml(n=_l())&&(t.popoverElement=n.first))},hostBindings:function(e,t){1&e&&Vs("click",function(e){return t.closeSliderPopover(e.target)},!1,ro)("touchstart",function(e){return t.closeSliderPopover(e.target)},!1,ro)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[qt],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cs(2,NJ,11,16,"div",2),As(3,"mat-form-field",3),Vs("click",function(){return t.toggleSliderPopover()}),As(4,"div",4),As(5,"span",5),Cu(6),Ms(),As(7,"span",6),Cu(8),Ms(),Ms(),Is(9,"mat-select"),Ms(),Ms(),Ms()),2&e&&(Yo(3),cu("highlight",t.isSliderOpen),Yo(3),Eu(t.label),Yo(2),Eu(t.rangeLabel))},directives:[gp,RH,BZ,MJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),e}();function jJ(e,t){if(1&e){var n=Ls();As(0,"div",4),As(1,"mat-checkbox",5),Vs("change",function(e){var t=bn(n).$implicit;return Ws().filterOnChange(e,t)}),Cu(2),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("checked",null==r.selection?null:r.selection.includes(i)),Yo(1),Ou(" ",i," ")}}var FJ,BJ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new ol}return b(e,[{key:"filterOnChange",value:function(e,t){e.checked?(this.selection=[].concat(v(this.selection),[t]),this.ga.event("filter_added","filter_checkbox",t)):(this.selection=this.selection.filter(function(e){return e!==t}),this.ga.event("filter_removed","filter_checkbox",t)),this.selectionChange.emit(this.selection)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"div",2),Cs(4,jJ,3,2,"div",3),Ms(),Ms()),2&e&&(Yo(2),Eu(t.label),Yo(1),cu("three",3===t.columns)("four",4===t.columns),Yo(1),Ts("ngForOf",t.options))},directives:[qh,ZK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),e}(),VJ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Really update spatial search data",e}(),zJ=FJ=function(){function e(t,n,i,r){m(this,e),this.dataSource=t,this.store=n,this.ga=r,i.pipe(sz(yZ),_v(500),mv(function(){return n.dispatch(VJ)})).subscribe()}return b(e,[{key:"startSpatialSearchFlow",value:function(e){var t=e.getState(),n=t.sex,i=t.organId,r=null==i?void 0:i.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui","".concat(n,"_").concat(r)),e.dispatch(new hZ(n))}},{key:"setSex",value:function(e,t){var n=t.sex,i=e.getState().organId;e.patchState({sex:n}),this.ga.event("set_sex","spatial_search_ui",n),void 0!==i&&!this.organValidForSex(i,n)&&(i=void 0);var r=Object.assign(Object.assign({},this.store.selectSnapshot(CQ.filter)),{spatialSearches:[]}),o=this.store.selectSnapshot(jQ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(r).pipe(_p(1),mv(function(t){e.patchState({referenceOrgans:o.filter(function(e){return e.id&&!e.disabled&&t[e.id]>0})}),e.dispatch(new dZ(i))}))}},{key:"setOrgan",value:function(e,t){var n=t.organId,i=e.getState().sex;e.patchState({sex:i,organId:n});var r=null==n?void 0:n.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",r);var o=this.store.selectSnapshot(FJ.organEntity);if(o&&n&&o.sex){var a=o.x_dimension,s=o.y_dimension,u=o.z_dimension,c={x:Math.round(a/2),y:Math.round(s/2),z:Math.round(u/2)},l=Math.round(.07*Math.max(a,s,u)),h=this.store.selectSnapshot(CQ.filter),d=Object.assign(Object.assign({},h),{sex:o.sex,ontologyTerms:[n],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(n,d).pipe(_p(1),mv(function(t){e.patchState({position:c,radius:l,defaultPosition:c,radiusSettings:{min:Math.min(l,5),max:Math.floor(Math.max(a,s,u)/1.5),defaultValue:l},organScene:KY(o).concat(t)})}),ke(function(){return e.dispatch(new yZ)}))}}},{key:"setPosition",value:function(e,t){var n=t.position;e.patchState({position:n}),e.dispatch(new yZ);var i=n.x,r=n.y,o=n.z;this.ga.event("set_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"resetPosition",value:function(e){var t=e.getState().defaultPosition;e.patchState({position:t}),e.dispatch(new yZ);var n=null!=t?t:{x:0,y:0,z:0},i=n.x,r=n.y,o=n.z;this.ga.event("reset_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"moveToNode",value:function(e,n){var i=n.node,r=t(new $O(i.transformMatrix).getTranslation().map(function(e){return Math.round(1e3*e)}),3),o=r[0],a=r[1],s=r[2];return e.dispatch(new fZ({x:o,y:a,z:s}))}},{key:"setRadius",value:function(e,t){var n=t.radius;e.patchState({radius:n}),e.dispatch(new yZ),this.ga.event("set_radius","spatial_search_ui",n.toFixed(1))}},{key:"resetRadius",value:function(e){var t,n=e.getState().radiusSettings,i=null!==(t=null==n?void 0:n.defaultValue)&&void 0!==t?t:0;e.patchState({radius:i}),e.dispatch(new yZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}},{key:"updateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=this.store.selectSnapshot(FJ.organEntity);if(r&&n&&i&&r.representation_of){var o=this.dataSource,a=r.representation_of,s=this.store.selectSnapshot(CQ.filter),u=Object.assign(Object.assign({},s),{sex:r.sex,ontologyTerms:[a],spatialSearches:[Object.assign(Object.assign({},n),{radius:i,target:r["@id"]})]});return jb({spatialSearchScene:o.getReferenceOrganScene(a,u).pipe(_p(1)),tissueBlocks:o.getTissueBlockResults(u).pipe(_p(1)),anatomicalStructures:o.getOntologyTermOccurences(u).pipe(_p(1)),cellTypes:o.getCellTypeTermOccurences(u).pipe(_p(1))}).pipe(mv(function(t){return e.patchState(t)}))}}},{key:"generateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=t.sex,o=t.organId,a=t.referenceOrgans,s=void 0===a?[]:a,u=t.executeSearchOnGeneration,c=this.store.selectSnapshot(FJ.organEntity),l=s.find(function(e){return e.id===o});if(n&&i&&(null==c?void 0:c.representation_of)&&l){var h=Object.assign(Object.assign({},n),{radius:i,target:c["@id"]}),d=[new EQ(r,l.name,h)];if(u){var f=this.store.selectSnapshot(AQ.selectedSearches);d.push(new bQ({spatialSearches:f.concat(h)}))}return this.ga.event("generate_search","spatial_search_ui"),e.dispatch(d).pipe(mv(function(){return e.patchState({sex:"female",organId:void 0})}))}}},{key:"setExecuteSearchOnGenerate",value:function(e,t){var n=t.execute;e.patchState({executeSearchOnGeneration:n})}},{key:"organValidForSex",value:function(e,t){var n=this.store.selectSnapshot(jQ.referenceOrgans).find(function(t){return t.id===e});return n.hasSex||n.sex===t}}],[{key:"organEntity",value:function(e,t){var n=e.organId,i=e.sex;return t.find(function(e){var t;return e.representation_of===n&&(null===(t=e.sex)||void 0===t?void 0:t.toLowerCase())===i})}}]),e}();zJ.\u0275fac=function(e){return new(e||zJ)(Zi(R$),Zi(Pz),Zi(fz),Zi(yq))},zJ.\u0275prov=$e({token:zJ,factory:zJ.\u0275fac}),Mw([jz(lZ)],zJ.prototype,"startSpatialSearchFlow",null),Mw([jz(hZ)],zJ.prototype,"setSex",null),Mw([jz(dZ)],zJ.prototype,"setOrgan",null),Mw([jz(fZ)],zJ.prototype,"setPosition",null),Mw([jz(vZ)],zJ.prototype,"resetPosition",null),Mw([jz(pZ)],zJ.prototype,"moveToNode",null),Mw([jz(gZ)],zJ.prototype,"setRadius",null),Mw([jz(mZ)],zJ.prototype,"resetRadius",null),Mw([jz(VJ)],zJ.prototype,"updateSpatialSearch",null),Mw([jz(bZ)],zJ.prototype,"generateSpatialSearch",null),Mw([jz(_Z)],zJ.prototype,"setExecuteSearchOnGenerate",null),Mw([Vz([FJ,jQ.referenceOrganEntities])],zJ,"organEntity",null),zJ=FJ=Mw([Fz({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],zJ);var UJ=function(){function e(){m(this,e)}return b(e,null,[{key:"sex",value:function(e){return e.sex}},{key:"referenceOrgans",value:function(e){var t;return null!==(t=e.referenceOrgans)&&void 0!==t?t:[]}},{key:"organId",value:function(e){return e.organId}},{key:"organ",value:function(e,t){if(void 0!==e)return t.find(function(t){return t.id===e})}},{key:"organs",value:function(e,t){var n=this;return t.filter(function(t){return n.organMatchesSex(t,e)})}},{key:"organMatchesSex",value:function(e,t){return e.hasSex||e.sex===t}},{key:"position",value:function(e){var t;return null!==(t=e.position)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"defaultPosition",value:function(e){var t;return null!==(t=e.defaultPosition)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"radius",value:function(e){var t;return null!==(t=e.radius)&&void 0!==t?t:0}},{key:"radiusSettings",value:function(e){var t;return null!==(t=e.radiusSettings)&&void 0!==t?t:{min:0,max:0,defaultValue:0}}},{key:"scene",value:function(e,t,n,i){var r,o,a=function(e,t){var n,i=e.x_dimension/1e3,r=e.y_dimension/1e3,o=e.z_dimension/1e3,a=.07*Math.max(i,r,o),s=.05*a,u=2*a,c=4*s;return t=t?Object.assign(Object.assign({},t),{radius:t.radius/1e3,x:t.x/1e3,y:t.y/1e3,z:t.z/1e3}):{target:null!==(n=e.representation_of)&&void 0!==n?n:e["@id"],radius:a,x:i/2,y:r/2,z:o/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z]).scale(t.radius),color:zY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u,t.y,t.z]).rotateZ(cS(-90)).scale([c,3*c,c]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u+3*c,t.y,t.z]).scale(c),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u,t.y,t.z]).rotateZ(cS(90)).scale([c,3*c,c]),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u-3.5*c,t.y,t.z]).scale(c),color:UY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u/2,t.z]).scale([s,u,s]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u,t.z]).scale([c,3*c,c]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u+3*c,t.z]).scale(c),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u/2,t.z]).scale([s,u,s]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u,t.z]).rotateZ(cS(180)).scale([c,3*c,c]),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u-3.5*c,t.z]).scale(c),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u/2]).rotateX(cS(90)).scale([s,u,s]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u]).rotateX(cS(90)).scale([c,3*c,c]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u+3*c]).scale(c),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u/2]).rotateX(cS(-90)).scale([s,u,s]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u]).rotateX(cS(-90)).scale([c,3*c,c]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u-3.5*c]).scale(c),color:GY}]}(t,Object.assign(Object.assign({},n),{radius:i,target:t["@id"]})),s=new Set((null!==(r=e.tissueBlocks)&&void 0!==r?r:[]).map(function(e){return e.spatialEntityId}));return(null!==(o=e.organScene)&&void 0!==o?o:[]).map(function(e){return s.has(e["@id"])&&(e=Object.assign(Object.assign({},e),{color:[41,121,255,229.5]})),e}).concat(a)}},{key:"sceneBounds",value:function(e){var t=e.x_dimension,n=e.y_dimension,i=e.z_dimension,r=.42*Math.max(t,n,i);return{x:(r+t)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}},{key:"sceneTarget",value:function(e){return[e.x_dimension/1e3/2,e.y_dimension/1e3/2,e.z_dimension/1e3/2]}},{key:"tissueBlocks",value:function(e){var t;return null!==(t=e.tissueBlocks)&&void 0!==t?t:[]}},{key:"anatomicalStructures",value:function(e,t){return this.getTermCounts(e.anatomicalStructures,t)}},{key:"cellTypes",value:function(e,t){return this.getTermCounts(e.cellTypes,t)}},{key:"getTermCounts",value:function(e,n){return Object.entries(null!=e?e:{}).filter(function(e){var n=t(e,2);n[0];return n[1]>0}).map(function(e){var i,r,o=t(e,2),a=o[0],s=o[1];return{"@id":a,label:null!==(r=null===(i=n.nodes[a])||void 0===i?void 0:i.label)&&void 0!==r?r:a.split("/").slice(-1)[0],count:s}})}}]),e}();function HJ(e,t){if(1&e&&(As(0,"div",6),As(1,"mat-icon",7),Cu(2,"person"),Ms(),As(3,"div",8),As(4,"div",9),Cu(5),Ms(),As(6,"div",9),Cu(7),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(5),Eu(n.donor.label),Yo(2),Eu(n.donor.description)}}UJ.organEntity=zJ.organEntity,Mw([Vz([zJ])],UJ,"sex",null),Mw([Vz([zJ])],UJ,"referenceOrgans",null),Mw([Vz([zJ])],UJ,"organId",null),Mw([Vz([UJ.organId,UJ.referenceOrgans])],UJ,"organ",null),Mw([Vz([UJ.sex,UJ.referenceOrgans])],UJ,"organs",null),Mw([Vz([zJ])],UJ,"position",null),Mw([Vz([zJ])],UJ,"defaultPosition",null),Mw([Vz([zJ])],UJ,"radius",null),Mw([Vz([zJ])],UJ,"radiusSettings",null),Mw([Vz([zJ,zJ.organEntity,UJ.position,UJ.radius])],UJ,"scene",null),Mw([Vz([zJ.organEntity])],UJ,"sceneBounds",null),Mw([Vz([zJ.organEntity])],UJ,"sceneTarget",null),Mw([Vz([zJ])],UJ,"tissueBlocks",null),Mw([Vz([zJ,CQ.anatomicalStructuresTreeModel])],UJ,"anatomicalStructures",null),Mw([Vz([zJ,CQ.cellTypesTreeModel])],UJ,"cellTypes",null);var GJ=function(){var e=function e(){m(this,e),this.className="ccf-tissue-block-list",this.tissueBlocks=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"button",2),As(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),As(6,"div",4),Cs(7,HJ,8,2,"div",5),Ms()),2&e&&(Yo(2),Ou("",t.tissueBlocks.length," Tissue Blocks"),Yo(5),Ts("ngForOf",t.tissueBlocks))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function WJ(e,t){if(1&e&&(As(0,"div",6),As(1,"div",7),As(2,"div",8),Cu(3),Ms(),As(4,"div",8),Cu(5),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(3),Eu(n.label),Yo(2),Eu(n.count)}}var qJ=function(){var e=function e(){m(this,e),this.className="ccf-term-occurrence-list",this.termList=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"button",2),As(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),As(6,"div",4),Cs(7,WJ,6,2,"div",5),Ms()),2&e&&(Yo(2),Tu("",t.termList.length," ",t.title,""),Yo(2),Ks("matTooltip",t.toolTipText),Yo(3),Ts("ngForOf",t.termList))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),e}();function XJ(e,t){if(1&e&&(As(0,"mat-icon",8),Cu(1),Ms()),2&e){var n=t.$implicit;cu("active",Ws().currentKey===n.key),Yo(1),Ou("",n.direction," ")}}function YJ(e,t){1&e&&(As(0,"div",9),Cu(1,"SHIFT"),Ms())}var KJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new ol,this.keyHovered=new ol,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(e,t){1&e&&(As(0,"div",0),Cs(1,XJ,2,3,"mat-icon",1),Ms(),As(2,"div",2),As(3,"div",3),As(4,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("q")})("mouseover",function(){return t.keyHovered.emit("q")})("mouseout",function(){return t.keyHovered.emit()}),Cu(5,"Q"),Ms(),As(6,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("w")})("mouseover",function(){return t.keyHovered.emit("w")})("mouseout",function(){return t.keyHovered.emit()}),Cu(7,"W"),Ms(),As(8,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("e")})("mouseover",function(){return t.keyHovered.emit("e")})("mouseout",function(){return t.keyHovered.emit()}),Cu(9,"E"),Ms(),Ms(),As(10,"div",3),As(11,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("a")})("mouseover",function(){return t.keyHovered.emit("a")})("mouseout",function(){return t.keyHovered.emit()}),Cu(12,"A"),Ms(),As(13,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("s")})("mouseover",function(){return t.keyHovered.emit("s")})("mouseout",function(){return t.keyHovered.emit()}),Cu(14,"S"),Ms(),As(15,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("d")})("mouseover",function(){return t.keyHovered.emit("d")})("mouseout",function(){return t.keyHovered.emit()}),Cu(16,"D"),Ms(),Ms(),Cs(17,YJ,2,0,"div",7),Ms()),2&e&&(Yo(1),Ts("ngForOf",t.keyMap),Yo(3),cu("highlighted","q"===t.currentKey),Yo(2),cu("highlighted","w"===t.currentKey),Yo(2),cu("highlighted","e"===t.currentKey),Yo(3),cu("highlighted","a"===t.currentKey),Yo(2),cu("highlighted","s"===t.currentKey),Yo(2),cu("highlighted","d"===t.currentKey),Yo(2),Ts("ngIf",t.shiftPressed))},directives:[qh,Yh,B_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),e}(),$J=function(){var e=function(){function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new ol,this.shiftPressed=!1}return b(e,[{key:"updatePosition",value:function(e){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===e)this.shiftPressed=!0;else{switch(this.currentKey=e.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}},{key:"handleKey",value:function(e){e.preventDefault(),this.updatePosition(e.key)}},{key:"keyUp",value:function(e){"Shift"===e.key?this.shiftPressed=!1:this.currentKey=void 0}},{key:"keyClick",value:function(e){this.updatePosition(e)}},{key:"keyHover",value:function(e){this.currentKey=e}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t.handleKey(e)},!1,ro)("keyup",function(e){return t.keyUp(e)},!1,ro),2&e&&du(t.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(e,t){1&e&&(As(0,"ccf-spatial-search-keyboard-ui",0),Vs("keyClicked",function(e){return t.keyClick(e)})("keyHovered",function(e){return t.keyHover(e)}),Ms()),2&e&&Ts("currentKey",t.currentKey)("shiftPressed",t.shiftPressed)},directives:[KJ],encapsulation:2,changeDetection:0}),e}(),QJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-ui",this.addSpatialSearch=new ol,this.resetPosition=new ol,this.resetSphere=new ol,this.closeSpatialSearch=new ol,this.radiusChange=new ol,this.positionChange=new ol,this.editReferenceOrganClicked=new ol,this.infoClicked=new ol,this.nodeClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(e,t){if(1&e){var n=Ls();As(0,"div",0),As(1,"div",1),Cu(2,"Configure Spatial Search"),Ms(),As(3,"button",2),As(4,"mat-icon",3),Vs("click",function(){return t.infoClicked.emit()}),Cu(5,"info"),Ms(),Ms(),As(6,"button",4),As(7,"mat-icon",3),Vs("click",function(){return t.closeSpatialSearch.emit()}),Cu(8,"close"),Ms(),Ms(),Ms(),As(9,"div",5),As(10,"div",6),As(11,"div",7),As(12,"div",8),As(13,"div",9),Cu(14,"Donor Sex: "),Ms(),As(15,"div",10),Cu(16),Ms(),Ms(),As(17,"div",11),As(18,"div",9),Cu(19,"Organ: "),Ms(),As(20,"div",12),Cu(21),Ms(),Ms(),As(22,"div",13),Vs("click",function(){return t.editReferenceOrganClicked.emit()}),Cu(23,"Edit"),Ms(),Ms(),Is(24,"mat-divider"),As(25,"div",14),As(26,"div",1),Cu(27,"Probing Sphere Radius"),Ms(),As(28,"div",15),As(29,"mat-slider",16),Vs("input",function(e){return t.radiusChange.emit(e.value)}),Ms(),As(30,"span",17),Cu(31),Ms(),Ms(),As(32,"div",18),As(33,"button",19),Vs("click",function(){return t.resetSphere.emit(),t.resetPosition.emit()}),Cu(34,"Reset Probing Sphere"),Ms(),As(35,"button",20),Vs("click",function(){bn(n);var e=Es(49),i=Es(52);return e.rotation=e.rotationX=i.rotation=i.rotationX=0,e.target=i.target=t.sceneTarget,e.bounds=i.bounds=t.sceneBounds}),Cu(36,"Reset Camera View"),Ms(),Ms(),Ms(),Is(37,"mat-divider"),As(38,"div",21),Is(39,"ccf-tissue-block-list",22),Is(40,"ccf-term-occurrence-list",23),Is(41,"ccf-term-occurrence-list",24),Ms(),As(42,"button",25),Vs("click",function(){return t.addSpatialSearch.emit()}),Cu(43,"Run Spatial Search"),Ms(),Ms(),As(44,"div",26),As(45,"div",27),As(46,"div",28),Cu(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),Ms(),As(48,"ccf-body-ui",29,30),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)})("rotationChange",function(e){bn(n);var t=Es(52);return t.rotation=e[0],t.rotationX=e[1]}),Ms(),Ms(),As(50,"div",31),As(51,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)}),Ms(),As(53,"ccf-spatial-search-keyboard-ui-behavior",34),Vs("changePosition",function(e){return t.positionChange.emit(e)}),Ms(),Is(54,"ccf-xyz-position",35),Ms(),Ms(),Ms()}2&e&&(Yo(16),Eu(t.sex.charAt(0).toUpperCase()+t.sex.slice(1)),Yo(5),Eu(t.referenceOrgan.name),Yo(8),Ts("max",t.radiusSettings.max)("min",t.radiusSettings.min)("step",1)("value",t.radius),Yo(2),Ou("",t.radius," mm"),Yo(2),cu("disabled",t.radius===t.radiusSettings.defaultValue&&t.position===t.defaultPosition),Yo(6),Ts("tissueBlocks",t.tissueBlocks),Yo(1),Ts("termList",t.anatomicalStructures),Yo(1),Ts("termList",t.cellTypes),Yo(1),cu("disabled",0===(null==t.tissueBlocks?null:t.tissueBlocks.length)),Yo(6),Ts("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(3),Ts("interactive",!1)("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(2),Ts("delta",1)("shiftDelta",2)("position",t.position),Yo(1),Ts("x",t.position.x)("y",t.position.y)("z",t.position.z))},directives:[q_,B_,TK,_G,GJ,qJ,n$,$J,rQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),e}();function ZJ(e,t){if(1&e){var n=Ls();As(0,"ccf-spatial-search-ui",1),Vs("addSpatialSearch",function(){return bn(n),Ws().addSpatialSearch()})("radiusChange",function(e){return bn(n),Ws().updateRadius(e)})("resetPosition",function(){return bn(n),Ws().resetPosition()})("resetSphere",function(){return bn(n),Ws().resetRadius()})("positionChange",function(e){return bn(n),Ws().updatePosition(e)})("closeSpatialSearch",function(){return bn(n),Ws().close()})("editReferenceOrganClicked",function(){return bn(n),Ws().openSpatialSearchConfig()})("infoClicked",function(){return bn(n),Ws().onDialogButtonClick()})("nodeClicked",function(e){return bn(n),Ws().moveToNode(e)}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Jc(5,"async"),Jc(6,"async"),Jc(7,"async"),Jc(8,"async"),Jc(9,"async"),Jc(10,"async"),Jc(11,"async"),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("sex",el(1,12,r.sex$))("referenceOrgan",i)("radius",el(2,14,r.radius$))("radiusSettings",el(3,16,r.radiusSettings$))("defaultPosition",el(4,18,r.defaultPosition$))("position",el(5,20,r.position$))("scene",el(6,22,r.scene$))("sceneBounds",el(7,24,r.sceneBounds$))("sceneTarget",el(8,26,r.sceneTarget$))("tissueBlocks",el(9,28,r.tissueBlocks$))("anatomicalStructures",el(10,30,r.anatomicalStructures$))("cellTypes",el(11,32,r.cellTypes$))}}var JJ=function(){function e(t,n,i){m(this,e),this.dialogRef=t,this.dialog=n,this.infoService=i,this.updatePosition=fQ(fZ),this.resetPosition=fQ(vZ),this.moveToNode=fQ(pZ),this.updateRadius=fQ(gZ),this.resetRadius=fQ(mZ),this.subscriptions=new q}return b(e,[{key:"launchInfoDialog",value:function(e){this.subscriptions.unsubscribe(),this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"close",value:function(){this.dialogRef.close()}},{key:"addSpatialSearch",value:function(){return this.close(),new bZ}},{key:"openSpatialSearchConfig",value:function(){this.close(),this.dialog.open(g0)}}]),e}();JJ.\u0275fac=function(e){return new(e||JJ)(Os(MG),Os(FG),Os(k$))},JJ.\u0275cmp=Ot({type:JJ,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(e,t){1&e&&(Cs(0,ZJ,12,34,"ccf-spatial-search-ui",0),Jc(1,"async")),2&e&&Ts("ngIf",el(1,1,t.organ$))},directives:[Yh,QJ],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(UJ.scene)],JJ.prototype,"scene$",void 0),Mw([Bz(UJ.sceneBounds)],JJ.prototype,"sceneBounds$",void 0),Mw([Bz(UJ.sceneTarget)],JJ.prototype,"sceneTarget$",void 0),Mw([Bz(UJ.sex)],JJ.prototype,"sex$",void 0),Mw([Bz(UJ.organ)],JJ.prototype,"organ$",void 0),Mw([Bz(UJ.position)],JJ.prototype,"position$",void 0),Mw([Bz(UJ.defaultPosition)],JJ.prototype,"defaultPosition$",void 0),Mw([Bz(UJ.radius)],JJ.prototype,"radius$",void 0),Mw([Bz(UJ.radiusSettings)],JJ.prototype,"radiusSettings$",void 0),Mw([Bz(UJ.tissueBlocks)],JJ.prototype,"tissueBlocks$",void 0),Mw([Bz(UJ.anatomicalStructures)],JJ.prototype,"anatomicalStructures$",void 0),Mw([Bz(UJ.cellTypes)],JJ.prototype,"cellTypes$",void 0),Mw([EK()],JJ.prototype,"updatePosition",void 0),Mw([EK()],JJ.prototype,"resetPosition",void 0),Mw([EK()],JJ.prototype,"moveToNode",void 0),Mw([EK()],JJ.prototype,"updateRadius",void 0),Mw([EK()],JJ.prototype,"resetRadius",void 0),Mw([EK()],JJ.prototype,"addSpatialSearch",null);var e0=["input"],t0=function(e){return{enterDuration:e}},n0=["*"],i0=new Ri("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}}),r0=0,o0={provide:Hz,useExisting:He(function(){return c0}),multi:!0},a0=function e(t,n){m(this,e),this.source=t,this.value=n},s0=new Ri("MatRadioGroup"),u0=function(){var e=function(){function e(t){m(this,e),this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+r0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=function(){},this.onTouched=function(){},this.change=new ol}return b(e,[{key:"name",get:function(){return this._name},set:function(e){this._name=e,this._updateRadioButtonNames()}},{key:"labelPosition",get:function(){return this._labelPosition},set:function(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}},{key:"_checkSelectedRadioButton",value:function(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}},{key:"selected",get:function(){return this._selected},set:function(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._markRadiosForCheck()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this._markRadiosForCheck()}},{key:"ngAfterContentInit",value:function(){this._isInitialized=!0}},{key:"_touch",value:function(){this.onTouched&&this.onTouched()}},{key:"_updateRadioButtonNames",value:function(){var e=this;this._radios&&this._radios.forEach(function(t){t.name=e.name,t._markForCheck()})}},{key:"_updateSelectedRadioFromValue",value:function(){var e=this;this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(function(t){t.checked=e.value===t.value,t.checked&&(e._selected=t)}))}},{key:"_emitChangeEvent",value:function(){this._isInitialized&&this.change.emit(new a0(this._selected,this._value))}},{key:"_markRadiosForCheck",value:function(){this._radios&&this._radios.forEach(function(e){return e._markForCheck()})}},{key:"writeValue",value:function(e){this.value=e,this._changeDetector.markForCheck()}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetector.markForCheck()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),e}(),c0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(u0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["mat-radio-group"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,d0,5),2&e)&&(ml(i=_l())&&(t._radios=i))},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Xu([o0,{provide:s0,useExisting:t}]),cs]}),t}(),l0=sb(ub(function e(t){m(this,e),this._elementRef=t})),h0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,i))._changeDetector=r,l._focusMonitor=o,l._radioDispatcher=a,l._providerOverride=u,l._uniqueId="mat-radio-"+ ++r0,l.id=l._uniqueId,l.change=new ol,l._checked=!1,l._value=null,l._removeUniqueSelectionListener=function(){},l.radioGroup=e,l._noopAnimations="NoopAnimations"===s,c&&(l.tabIndex=qd(c,0)),l._removeUniqueSelectionListener=a.listen(function(e,t){e!==l.id&&t===l.name&&(l.checked=!1)}),l}return b(n,[{key:"checked",get:function(){return this._checked},set:function(e){var t=Wd(e);this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}},{key:"labelPosition",get:function(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function(e){this._labelPosition=e}},{key:"disabled",get:function(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled},set:function(e){this._setDisabled(Wd(e))}},{key:"required",get:function(){return this._required||this.radioGroup&&this.radioGroup.required},set:function(e){this._required=Wd(e)}},{key:"color",get:function(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"},set:function(e){this._color=e}},{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"focus",value:function(e,t){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}},{key:"_markForCheck",value:function(){this._changeDetector.markForCheck()}},{key:"ngOnInit",value:function(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){!t&&e.radioGroup&&e.radioGroup._touch()})}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}},{key:"_emitChangeEvent",value:function(){this.change.emit(new a0(this,this._value))}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onInputClick",value:function(e){e.stopPropagation()}},{key:"_onInputInteraction",value:function(e){if(e.stopPropagation(),!this.checked&&!this.disabled){var t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}},{key:"_setDisabled",value:function(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}}]),n}(l0);return e.\u0275fac=function(t){return new(t||e)(Os(u0),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(String),Os(void 0),Os(String))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(e0,5),2&e)&&(ml(n=_l())&&(t._inputElement=n.first))},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[cs]}),e}(),d0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){return m(this,n),t.call(this,e,i,r,o,a,s,u,c)}return n}(h0);return e.\u0275fac=function(t){return new(t||e)(Os(s0,8),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(Yy,8),Os(i0,8),Ai("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._inputElement.nativeElement.focus()}),2&e&&(ks("tabindex",null)("id",t.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),cu("mat-radio-checked",t.checked)("mat-radio-disabled",t.disabled)("_mat-animation-noopable",t._noopAnimations)("mat-primary","primary"===t.color)("mat-accent","accent"===t.color)("mat-warn","warn"===t.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[cs],ngContentSelectors:n0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),As(0,"label",0,1),As(2,"span",2),Is(3,"span",3),Is(4,"span",4),As(5,"input",5,6),Vs("change",function(e){return t._onInputInteraction(e)})("click",function(e){return t._onInputClick(e)}),Ms(),As(7,"span",7),Is(8,"span",8),Ms(),Ms(),As(9,"span",9),As(10,"span",10),Cu(11,"\xa0"),Ms(),Ys(12),Ms(),Ms()),2&e){var n=Es(1);ks("for",t.inputId),Yo(5),Ts("id",t.inputId)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex)("required",t.required),ks("name",t.name)("value",t.value)("aria-label",t.ariaLabel)("aria-labelledby",t.ariaLabelledby)("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",$c(18,t0,t._noopAnimations?0:150)),Yo(2),cu("mat-radio-label-before","before"==t.labelPosition)}},directives:[wb],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),e}();function f0(e,t){1&e&&(As(0,"div",7),Cu(1,"Organs"),Ms())}function p0(e,t){if(1&e&&(As(0,"mat-option",17),Cu(1),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(1),Ou(" ",n.name," ")}}var v0=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-config",this.updateSex=new ol,this.updateOrgan=new ol,this.buttonClicked=new ol,this.closeDialog=new ol,this.infoClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),Cu(3,"Configure Spatial Search"),Ms(),As(4,"button",3),As(5,"mat-icon",4),Vs("click",function(){return t.infoClicked.emit()}),Cu(6,"info"),Ms(),Ms(),Ms(),As(7,"button",5),As(8,"mat-icon",4),Vs("click",function(){return t.closeDialog.emit()}),Cu(9,"close"),Ms(),Ms(),Ms(),As(10,"div",6),As(11,"div",7),Cu(12,"Donor Sex: "),Ms(),As(13,"mat-radio-group",8),Vs("ngModelChange",function(e){return t.sex=e})("change",function(e){return t.updateSex.emit(e.value)}),As(14,"mat-radio-button",9),Cu(15,"Male"),Ms(),As(16,"mat-radio-button",10),Cu(17,"Female"),Ms(),Ms(),Ms(),As(18,"div",11),As(19,"div",7),Cu(20,"Select an organ"),Ms(),As(21,"mat-form-field",12),Cs(22,f0,2,0,"div",13),As(23,"mat-select",14),Vs("valueChange",function(e){return t.selectedOrgan=e})("selectionChange",function(e){return t.updateOrgan.emit(e.value)}),Cs(24,p0,2,2,"mat-option",15),Ms(),Ms(),Ms(),As(25,"button",16),Vs("click",function(){return t.buttonClicked.emit()}),Cu(26,"Continue"),Ms()),2&e&&(Yo(13),Ts("ngModel",t.sex),Yo(9),Ts("ngIf",!t.selectedOrgan),Yo(1),Ts("value",t.selectedOrgan),Yo(1),Ts("ngForOf",t.organs),Yo(1),cu("disabled",!t.selectedOrgan))},directives:[q_,B_,c0,fU,GU,d0,RH,Yh,BZ,qh,Rb],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),e}(),g0=function(){function e(t,n,i,r){m(this,e),this.dialog=t,this.dialogRef=n,this.spatialSearchDialog=i,this.infoService=r,this.updateSex=fQ(hZ),this.updateOrgan=fQ(dZ),this.subscriptions=new q,this.dialogSubs=new q}return b(e,[{key:"buttonClicked",value:function(){this.spatialSearchDialog.open(JJ),this.close()}},{key:"close",value:function(){this.dialogRef.close()}},{key:"launchInfoDialog",value:function(e){this.dialogSubs.unsubscribe(),this.dialog.open(_$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}}]),e}();g0.\u0275fac=function(e){return new(e||g0)(Os(FG),Os(MG),Os(FG),Os(k$))},g0.\u0275cmp=Ot({type:g0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(e,t){1&e&&(As(0,"ccf-spatial-search-config",0),Vs("updateSex",function(e){return t.updateSex(e)})("updateOrgan",function(e){return t.updateOrgan(e.id)})("closeDialog",function(){return t.close()})("buttonClicked",function(){return t.buttonClicked()})("infoClicked",function(){return t.onDialogButtonClick()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Ms()),2&e&&Ts("sex",el(1,3,t.sex$))("organs",el(2,5,t.organs$))("selectedOrgan",el(3,7,t.selectedOrgan$))},directives:[v0],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(UJ.sex)],g0.prototype,"sex$",void 0),Mw([Bz(UJ.organ)],g0.prototype,"selectedOrgan$",void 0),Mw([Bz(UJ.organs)],g0.prototype,"organs$",void 0),Mw([EK()],g0.prototype,"updateSex",void 0),Mw([EK()],g0.prototype,"updateOrgan",void 0);var m0=function(){var e=function(){function e(t,n){m(this,e),this.store=t,this.dialog=n,this.className="ccf-run-spatial-search"}return b(e,[{key:"startSpatialSearchFlow",value:function(){var e=this;this.store.dispatch(new lZ).pipe(_p(1),mv(function(){return e.dialog.open(g0)})).subscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Pz),Os(FG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(e,t){1&e&&(As(0,"button",0),Vs("click",function(){return t.startSpatialSearchFlow()}),Cu(1," Run Spatial Search "),As(2,"mat-icon"),Cu(3,"travel_explore"),Ms(),Ms())},directives:[q_,B_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),e}();function y0(e,t){if(1&e){var n=Ls();As(0,"div",14),As(1,"ccf-spatial-search-list",15),Vs("selectionChanged",function(e){return bn(n),Ws().updateSearchSelection(e)})("itemRemoved",function(e){return bn(n),Ws().spatialSearchRemoved.emit(e.id)}),Ms(),Ms()}if(2&e){var i=Ws();cu("hidden",i.hidden),Yo(1),Ts("items",i.spatialSearchFilters)}}var b0=function(){return["Both","Male","Female"]},_0=function(){return[1,110]},w0=function(){return[13,83]},k0=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.applyFilters=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"spatialSearchFilters"in e&&this.updateSexFromSelection(this.spatialSearchFilters.filter(function(e){return e.selected}))}},{key:"updateFilter",value:function(e,t){this.filters=Object.assign(Object.assign({},this.filters),o({},t,e)),this.ga.event("filter_update","filter_content","".concat(t,":").concat(e)),this.filtersChange.emit(this.filters)}},{key:"applyButtonClick",value:function(){this.updateSearchSelection(this.spatialSearchFilters.filter(function(e){return e.selected})),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}},{key:"refreshFilters",value:function(){this.filters=JSON.parse(JSON.stringify(_Q)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}},{key:"updateSearchSelection",value:function(e){var t=e.map(function(e){return e.search});this.spatialSearchSelected.emit(e),this.updateFilter(t,"spatialSearches"),this.updateSexFromSelection(e)}},{key:"updateSexFromSelection",value:function(e){var t,n=null===(t=this.filters.sex)||void 0===t?void 0:t.toLowerCase(),i=new Set(e.map(function(e){return e.sex}));e.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[qt],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"ccf-dropdown",1),Vs("selectionChange",function(e){return t.updateFilter(e,"sex")}),Ms(),As(2,"ccf-dual-slider",2),Vs("selectionChange",function(e){return t.updateFilter(e,"ageRange")}),Ms(),As(3,"ccf-dual-slider",3),Vs("selectionChange",function(e){return t.updateFilter(e,"bmiRange")}),Ms(),Ms(),As(4,"div",4),As(5,"ccf-checkbox",5),Vs("selectionChange",function(e){return t.updateFilter(e,"technologies")}),Ms(),Ms(),As(6,"div",6),As(7,"ccf-checkbox",7),Vs("selectionChange",function(e){return t.updateFilter(e,"tmc")}),Ms(),Ms(),Cs(8,y0,2,3,"div",8),As(9,"div",9),Is(10,"ccf-run-spatial-search"),As(11,"div",10),As(12,"button",11),Vs("click",function(){return t.applyButtonClick()}),Cu(13,"APPLY FILTERS"),Ms(),As(14,"div",12),As(15,"mat-icon",13),Vs("click",function(){return t.refreshFilters()}),Cu(16,"refresh"),Ms(),Ms(),Ms(),Ms()),2&e&&(cu("hidden",t.hidden),Yo(1),Ts("options",Kc(21,b0))("selection",null==t.filters?null:t.filters.sex),Yo(1),Ts("valueRange",Kc(22,_0))("selection",null==t.filters?null:t.filters.ageRange),Yo(1),Ts("valueRange",Kc(23,w0))("selection",null==t.filters?null:t.filters.bmiRange),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",4)("options",t.technologyFilters)("selection",null==t.filters?null:t.filters.technologies),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",3)("options",t.providerFilters)("selection",null==t.filters?null:t.filters.tmc),Yo(1),Ts("ngIf",t.spatialSearchFilters.length>0),Yo(1),cu("hidden",t.hidden))},directives:[UZ,LJ,BJ,Yh,m0,q_,B_,nQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),e}();function x0(e,t){1&e&&(As(0,"div"),As(1,"mat-icon",7),Cu(2,"close"),Ms(),Ms())}function S0(e,t){1&e&&Is(0,"mat-icon",8)}var C0=function(){function e(){m(this,e),this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.filtersVisible=!1}return b(e,[{key:"toggleFilterVisible",value:function(){return this.filtersVisible=!this.filtersVisible,new _Z(!1)}},{key:"removeBox",value:function(){return this.filtersVisible=!1,new _Z(!0)}},{key:"applyFilters",value:function(e){this.filters=e,this.filtersChange.emit(e),this.removeBox()}}]),e}();C0.\u0275fac=function(e){return new(e||C0)},C0.\u0275cmp=Ot({type:C0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(e,t){if(1&e&&(As(0,"div",0),As(1,"button",1),Vs("click",function(){return t.toggleFilterVisible()}),Cs(2,x0,3,0,"div",2),Cs(3,S0,1,0,"ng-template",null,3,Sl),Ms(),As(5,"div",4),As(6,"div",5),As(7,"ccf-filters-content",6),Vs("applyFilters",function(e){return t.applyFilters(e)})("spatialSearchSelected",function(e){return t.spatialSearchSelected.emit(e)})("spatialSearchRemoved",function(e){return t.spatialSearchRemoved.emit(e)}),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(4);cu("expanded",t.drawerExpanded),Yo(1),cu("open",t.filtersVisible),Yo(1),Ts("ngIf",t.filtersVisible)("ngIfElse",n),Yo(3),cu("visible",t.filtersVisible)("hidden",!t.filtersVisible),Yo(2),Ts("technologyFilters",t.technologyFilters)("providerFilters",t.providerFilters)("spatialSearchFilters",t.spatialSearchFilters)("hidden",!t.filtersVisible)("filters",t.filters)}},directives:[Yh,k0,B_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),Mw([EK()],C0.prototype,"toggleFilterVisible",null),Mw([EK()],C0.prototype,"removeBox",null);var E0=function(){function e(){m(this,e),this.treeModel$=new Bf(1),this.nodes$=this.treeModel$.pipe(ce(function(e){return Object.values(e.nodes)})),this.rootNode$=this.treeModel$.pipe(ce(function(e){return e.nodes[e.root]}))}return b(e,[{key:"setTreeModel",value:function(e){this.treeModel$.next(e),this.treeModel=e}},{key:"filter",value:function(e){var t=this;return this.nodes$.pipe(ce(function(n){return t.lookup(n,e.toLowerCase())}))}},{key:"lookup",value:function(e,t){var n=this,i=new Map;return e&&e.forEach(function(e){if(e.label.toLowerCase().includes(t)&&!i.get(e.id))i.set(e.id,{index:n.getIndexOfMatch(e.label,t),displayLabel:n.formatLabel(e.label,t),node:e});else{var r=e.synonymLabels.find(function(e){return e.toLowerCase().includes(t)});r&&!i.get(e.id)&&i.set(e.id,{index:n.getIndexOfMatch(e.label+" ("+r+")",t),displayLabel:n.formatLabel(e.label+" ("+r+")",t),node:e})}}),Array.from(i.values())}},{key:"getIndexOfMatch",value:function(e,t){return e.toLowerCase().indexOf(t)}},{key:"formatLabel",value:function(e,t){var n=this.getIndexOfMatch(e,t);return[e.slice(0,n),e.slice(n,n+t.length),e.slice(n+t.length)]}},{key:"getChildren",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};return(0,$q.at)(i,e.children)}}]),e}();E0.\u0275fac=function(e){return new(e||E0)},E0.\u0275prov=$e({token:E0,factory:E0.\u0275fac}),Mw([eV.ak],E0.prototype,"getChildren",null);var O0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this)).getLevel=e,o.isExpandable=i,o.options=r,o.options&&(o.trackBy=o.options.trackBy),o}return b(n,[{key:"getDescendants",value:function(e){for(var t=[],n=this.dataNodes.indexOf(e)+1;n1&&void 0!==arguments[1]?arguments[1]:this._dataDiffer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._nodeOutlet.viewContainer,r=arguments.length>3?arguments[3]:void 0,o=n.diff(e);!o||(o.forEachOperation(function(n,o,a){if(null==n.previousIndex)t.insertNode(e[a],a,i,r);else if(null==a)i.remove(o),t._levels.delete(n.item);else{var s=i.get(o);i.move(s,a)}}),this._changeDetectorRef.detectChanges())}},{key:"_getNodeDef",value:function(e,t){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(function(n){return n.when&&n.when(t,e)})||this._defaultNodeDef}},{key:"insertNode",value:function(e,t,n,i){var r=this._getNodeDef(e,t),o=new A0(e);o.level=this.treeControl.getLevel?this.treeControl.getLevel(e):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(e,o.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,o,t),R0.mostRecentTreeNode&&(R0.mostRecentTreeNode.data=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["cdk-tree"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,M0,5),2&e)&&(ml(i=_l())&&(t._nodeDefs=i))},viewQuery:function(e,t){var n;(1&e&&yl(P0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[P0],encapsulation:2}),e}(),R0=function(){var e=function(){function e(t,n){m(this,e),this._elementRef=t,this._tree=n,this._destroyed=new ae,this._dataChanges=new ae,e.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}return b(e,[{key:"role",get:function(){return"treeitem"},set:function(e){this._elementRef.nativeElement.setAttribute("role",e)}},{key:"data",get:function(){return this._data},set:function(e){e!==this._data&&(this._data=e,this._setRoleFromData(),this._dataChanges.next())}},{key:"isExpanded",get:function(){return this._tree.treeControl.isExpanded(this._data)}},{key:"_setExpanded",value:function(e){this._isAriaExpanded=e,this._elementRef.nativeElement.setAttribute("aria-expanded","".concat(e))}},{key:"level",get:function(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}},{key:"ngOnInit",value:function(){this._parentNodeAriaLevel=function(e){for(var t=e.parentElement;t&&!D0(t);)t=t.parentElement;return t?t.classList.contains("cdk-nested-tree-node")?qd(t.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level","".concat(this.level+1))}},{key:"ngDoCheck",value:function(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}},{key:"ngOnDestroy",value:function(){e.mostRecentTreeNode===this&&(e.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"focus",value:function(){this._elementRef.nativeElement.focus()}},{key:"_setRoleFromData",value:function(){this.role="treeitem"}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(I0))},e.\u0275dir=Rt({type:e,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),e.mostRecentTreeNode=null,e}();function D0(e){var t=e.classList;return!(!(null==t?void 0:t.contains("cdk-nested-tree-node"))&&!(null==t?void 0:t.contains("cdk-tree")))}var N0=/([A-Za-z%]+)$/,L0=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._treeNode=t,this._tree=n,this._element=i,this._dir=r,this._destroyed=new ae,this.indentUnits="px",this._indent=40,this._setPadding(),r&&r.change.pipe(kf(this._destroyed)).subscribe(function(){return o._setPadding(!0)}),t._dataChanges.subscribe(function(){return o._setPadding()})}return b(e,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_paddingIndent",value:function(){var e=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,t=null==this._level?e:this._level;return"number"==typeof t?"".concat(t*this._indent).concat(this.indentUnits):null}},{key:"_setPadding",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._paddingIndent();if(t!==this._currentPadding||e){var n=this._element.nativeElement,i=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",r="paddingLeft"===i?"paddingRight":"paddingLeft";n.style[i]=t||"",n.style[r]="",this._currentPadding=t}}},{key:"_setLevelInput",value:function(e){this._level=qd(e,null),this._setPadding()}},{key:"_setIndentInput",value:function(e){var t=e,n="px";if("string"==typeof e){var i=e.split(N0);t=i[0],n=i[1]||n}this.indentUnits=n,this._indent=qd(t),this._setPadding()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(R0),Os(I0),Os(Ju),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),e}(),j0=function(){var e=function(){function e(t,n){m(this,e),this._tree=t,this._treeNode=n,this._recursive=!1}return b(e,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}},{key:"_toggle",value:function(e){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),e.stopPropagation()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(I0),Os(R0))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(e,t){1&e&&Vs("click",function(e){return t._toggle(e)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),e}(),F0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),B0=ub(ob(R0)),V0=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this,e,t)).tabIndex=Number(r)||0,e.nativeElement.classList.add("mat-tree-node"),o}return b(i,[{key:"ngOnInit",value:function(){e(p(i.prototype),"ngOnInit",this).call(this)}},{key:"ngDoCheck",value:function(){e(p(i.prototype),"ngDoCheck",this).call(this)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this)}}]),i}(B0);return t.\u0275fac=function(e){return new(e||t)(Os(Ju),Os(I0),Ai("tabindex"))},t.\u0275dir=Rt({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[Xu([{provide:R0,useExisting:t}]),cs]}),t}(),z0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(M0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[Xu([{provide:M0,useExisting:t}]),cs]}),t}(),U0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}}]),n}(L0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[Xu([{provide:L0,useExisting:t}]),cs]}),t}(),H0=function(){var e=function e(t,n){m(this,e),this.viewContainer=t,this._node=n};return e.\u0275fac=function(t){return new(t||e)(Os(Nc),Os(T0,8))},e.\u0275dir=Rt({type:e,selectors:[["","matTreeNodeOutlet",""]],features:[Xu([{provide:P0,useExisting:e}])]}),e}(),G0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(I0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-tree"]],viewQuery:function(e,t){var n;(1&e&&yl(H0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[Xu([{provide:I0,useExisting:t}]),cs],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[H0],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t}(),W0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}}]),n}(j0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[Xu([{provide:j0,useExisting:t}]),cs]}),t}(),q0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[F0,rb],rb]}),e}(),X0=function(){function e(t,n,i,r){m(this,e),this.transformFunction=t,this.getLevel=n,this.isExpandable=i,this.getChildren=r}return b(e,[{key:"_flattenNode",value:function(e,t,n,i){var r=this,o=this.transformFunction(e,t);if(n.push(o),this.isExpandable(o)){var a=this.getChildren(e);a&&(Array.isArray(a)?this._flattenChildren(a,t,n,i):a.pipe(_p(1)).subscribe(function(e){r._flattenChildren(e,t,n,i)}))}return n}},{key:"_flattenChildren",value:function(e,t,n,i){var r=this;e.forEach(function(o,a){var s=i.slice();s.push(a!=e.length-1),r._flattenNode(o,t+1,n,s)})}},{key:"flattenNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){return t._flattenNode(e,0,n,[])}),n}},{key:"expandFlattenedNodes",value:function(e,t){var n=this,i=[],r=[];return r[0]=!0,e.forEach(function(e){for(var o=!0,a=0;a<=n.getLevel(e);a++)o=o&&r[a];o&&i.push(e),n.isExpandable(e)&&(r[n.getLevel(e)+1]=t.isExpanded(e))}),i}}]),e}(),Y0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._treeControl=e,o._treeFlattener=i,o._flattenedData=new vv([]),o._expandedData=new vv([]),o._data=new vv([]),r&&(o.data=r),o}return b(n,[{key:"data",get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}},{key:"connect",value:function(e){var t=this;return Oe(e.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(ce(function(){return t._expandedData.next(t._treeFlattener.expandFlattenedNodes(t._flattenedData.value,t._treeControl)),t._expandedData.value}))}},{key:"disconnect",value:function(){}}]),n}(function(){return function e(){m(this,e)}}()),K0=function(){function e(t,n){m(this,e),this.original=t,this.level=n,this.visible=!0,this.opacity=20}return b(e,[{key:"label",get:function(){return this.original.label}},{key:"expandable",get:function(){return this.original.children.length>0}}],[{key:"create",value:function(t,n){return new e(t,n)}}]),e}();function $0(e,t){if(1&e){var n=Ls();As(0,"div",4),Vs("click",function(e){var t=bn(n).node,i=Ws();return i.select(e.ctrlKey,t,!0,!i.isSelected(t))}),Cu(1),Ms()}if(2&e){var i=t.node,r=Ws();cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label))("filtered-out",!r.occurenceData[i.original.id]&&!!r.termData[i.original.id])("unavailable",!r.termData[i.original.id])("selected",r.isSelected(i)),Yo(1),Eu("colon"===i.label?"large intestine":i.label)}}function Q0(e,t){1&e&&Ns(0)}var Z0=function(e){return{node:e}};function J0(e,t){if(1&e){var n=Ls();As(0,"mat-tree-node",5),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),As(1,"div"),As(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),As(3,"div",7),As(4,"ccf-opacity-slider",8,9),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),Is(6,"div",10),Cs(7,Q0,1,0,"ng-container",11),As(8,"div",12),Cu(9),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(3),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(18,Z0,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}function e1(e,t){1&e&&Ns(0)}function t1(e,t){if(1&e){var n=Ls();As(0,"mat-tree-node",13),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),As(1,"div"),As(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),As(3,"div",7),As(4,"ccf-opacity-slider",8,14),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),As(6,"button",15),As(7,"mat-icon",16),Cu(8),Ms(),Ms(),Cs(9,e1,1,0,"ng-container",11),As(10,"div",12),Cu(11),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(2),cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label)),Ss("aria-label","Toggle ",i.label,""),Yo(2),Ou(" ",r.control.isExpanded(i)?"expand_less":"expand_more"," "),Yo(1),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(22,Z0,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}var n1=(0,$q.property)("level"),i1=(0,$q.property)("expandable"),r1=function(){var e=function(){function e(t,n){m(this,e),this.cdr=t,this.ga=n,this.atScrollBottom=!1,this.nodeSelected=new ol,this.nodeChanged=new ol,this.indent="1.5rem",this.control=new O0(n1,i1),this.flattener=new X0(K0.create,n1,i1,$q.invoke.bind(void 0,this,"getChildren")),this.dataSource=new Y0(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}return b(e,[{key:"nodes",get:function(){return this._nodes},set:function(e){var t;this._nodes=e,this.control&&(this.dataSource.data=null!==(t=this._nodes)&&void 0!==t?t:[])}},{key:"getChildren",get:function(){return this._getChildren},set:function(e){var t;this._getChildren=e,this.dataSource.data=null!==(t=this.nodes)&&void 0!==t?t:[]}},{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e||{}}},{key:"termData",get:function(){return this._termData},set:function(e){this._termData=e||{}}},{key:"ngOnInit",value:function(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}},{key:"ngOnChanges",value:function(e){if(e.ontologyFilter){var t=e.ontologyFilter.currentValue;(null==t?void 0:t.length)>=0&&this.selectByIDs(t)}e.rootNode&&this.selectByIDs([e.rootNode.currentValue])}},{key:"selectByIDs",value:function(e){var t=this,n=this.control.dataNodes,i=n.filter(function(t){return e.indexOf(t.original.id)>-1});(null==i?void 0:i.length)>0&&(this.selectedNodes=i,this.ga.event("nodes_selected_by_ids","ontology_tree",i.map(function(e){return e.label}).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(function(e){t.expandAndSelect(e.original,function(e){var t;return null===(t=n.find(function(t){return t.original.id===e.parent}))||void 0===t?void 0:t.original},!0)}))}},{key:"expandAndSelect",value:function(e,t){for(var n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.cdr,o=this.control,a=new Set,s=t(e);s;)a.add(s),s=t(s);var u=(0,$q.filter)(o.dataNodes,function(e){return a.has(e.original)}),c=o.dataNodes.find(function(t){return t.original===e});i||(this.selectedNodes=[],o.collapseAll());var l,h=_(u);try{for(h.s();!(l=h.n()).done;){var d=l.value;o.expand(d)}}catch(f){h.e(f)}finally{h.f()}"body"===e.label&&(null===(n=o.dataNodes)||void 0===n?void 0:n.length)>0&&o.expand(o.dataNodes[0]),this.select(i,c,!1,!0),r.detectChanges()}},{key:"isInnerNode",value:function(e,t){return t.expandable}},{key:"isSelected",value:function(e){return(null==e?void 0:e.original.id)===this.rootNode||this.selectedNodes.filter(function(t){return(null==e?void 0:e.original.label)===(null==t?void 0:t.original.label)}).length>0}},{key:"select",value:function(e,t,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===t)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");e?i?this.selectedNodes.indexOf(t)<0&&this.selectedNodes.push(t):this.selectedNodes.splice(this.selectedNodes.indexOf(t),1):(this.selectedNodes=[],i&&this.selectedNodes.push(t)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(function(e){return e.label}).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(function(e){return null==e?void 0:e.original}))}},{key:"mouseOver",value:function(e){this.highlightedNode=e}},{key:"mouseOut",value:function(){this.highlightedNode=void 0}},{key:"updateOpacity",value:function(e,t){e.opacity=t,this.ga.event("opacity_update","ontology_tree",e.label,t),this.nodeChanged.emit(e)}},{key:"resetNode",value:function(e){e.opacity=20,e.visible=!0,this.ga.event("node_reset","ontology_tree",e.label),this.nodeChanged.emit(e)}},{key:"toggleVisibility",value:function(e){e.visible=!0!==e.visible,this.ga.event("visibility_update","ontology_tree",e.label,+e.visible),this.nodeChanged.emit(e)}},{key:"getLeftIndent",value:function(e){return-1.5*e+"rem"}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<20}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[qt],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(e,t){1&e&&(As(0,"mat-tree",0),Vs("scroll",function(e){return t.onScroll(e)}),Cs(1,$0,2,9,"ng-template",null,1,Sl),Cs(3,J0,10,20,"mat-tree-node",2),Cs(4,t1,12,24,"mat-tree-node",3),Ms()),2&e&&(cu("header-hidden",!t.header),Ts("dataSource",t.dataSource)("treeControl",t.control),Yo(4),Ts("matTreeNodeDefWhen",t.isInnerNode))},directives:[G0,z0,V0,U0,B_,v$,nd,q_,W0],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}();function o1(e,t){if(1&e&&(As(0,"mat-option",8),As(1,"span",9),Cu(2),Ms(),As(3,"span",10),Cu(4),Ms(),As(5,"span",11),Cu(6),Ms(),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(2),Eu(n.displayLabel[0]),Yo(2),Eu(n.displayLabel[1]),Yo(2),Eu(n.displayLabel[2])}}var a1=function(){var e=function(){function e(t,n){m(this,e),this.ontologyService=t,this.ga=n,this.selected=new ol,this.formControl=new LU(""),this.autoCompleteOpen=!1}return b(e,[{key:"ngOnInit",value:function(){var e=this;this.filteredResults$=this.formControl.valueChanges.pipe(bf(function(e){return"string"==typeof e}),Ef(""),Of(function(t){return e.ontologyService.filter(t)}),ce(function(t){return(0,$q.sortBy)(t,[e.sortBySynonymResult,"index",e.sortLexically])}))}},{key:"displayFormatter",value:function(e){var t;return(null!==(t=null==e?void 0:e.displayLabel)&&void 0!==t?t:[]).join("")}},{key:"sortBySynonymResult",value:function(e){return e.displayLabel.join().includes("(")?1:-1}},{key:"sortLexically",value:function(e){return e.node.label.toLowerCase()}},{key:"onSelect",value:function(e){var t=(0,$q.get)(e,["option","value","node"]);t&&(this.ga.event("search","ontology_search",t.id),this.selected.emit(t),this.formControl.reset())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(E0),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(e,t){if(1&e&&(As(0,"form",0),As(1,"mat-form-field",1),As(2,"mat-icon",2),Cu(3,"search"),Ms(),Is(4,"input",3),As(5,"mat-autocomplete",4,5),Vs("optionSelected",function(e){return t.onSelect(e)})("opened",function(){return t.autoCompleteOpen=!0})("closed",function(){return t.autoCompleteOpen=!1}),As(7,"div",6),Cs(8,o1,7,4,"mat-option",7),Jc(9,"async"),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(6);cu("autocomplete-open",t.autoCompleteOpen),Yo(4),Ts("placeholder",t.placeholderText)("formControl",t.formControl)("matAutocomplete",n),Yo(1),Ts("displayWith",t.displayFormatter),Yo(3),Ts("ngForOf",el(9,7,t.filteredResults$))}},directives:[WU,pU,zU,RH,B_,EH,sG,qz,ZH,fU,KU,XH,qh,Rb],pipes:[sd],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),e}(),s1=function(e){return[e]};function u1(e,t){if(1&e){var n=Ls();As(0,"ccf-ontology-tree",2),Vs("nodeSelected",function(e){return bn(n),Ws().ontologySelection.emit(e)}),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("nodes",$c(7,s1,i))("rootNode",i.id)("getChildren",r.ontologySearchService.getChildren)("occurenceData",r.occurenceData)("termData",r.termData)("ontologyFilter",r.ontologyFilter)("header",r.header)}}var c1=function(){var e=function(){function e(t){m(this,e),this.ontologySearchService=t,this.ontologySelection=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"treeModel"in e&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}},{key:"selected",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(e,function(e){return i[e.parent]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(E0))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-selection"]],viewQuery:function(e,t){var n;(1&e&&yl(r1,5),2&e)&&(ml(n=_l())&&(t.tree=n.first))},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[Xu([E0]),qt],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(e,t){1&e&&(As(0,"ccf-ontology-search",0),Vs("selected",function(e){return t.selected(e)}),Ms(),Cs(1,u1,1,9,"ccf-ontology-tree",1),Jc(2,"async")),2&e&&(Ts("placeholderText",t.placeholderText),Yo(1),Ts("ngIf",el(2,2,t.ontologySearchService.rootNode$)))},directives:[a1,Yh,r1],pipes:[sd],styles:[""],changeDetection:0}),e}(),l1=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.drawer=t,this.cdr=i,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new q;var o=n.connect(this);this.subscriptions.add(o.getMessagesFromSource(t).subscribe(function(e){r.handleMessage(e)&&i.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"icon",get:function(){var e,t="arrow_right",n="arrow_left";return"end"===this.position&&(t=(e=[n,t])[0],n=e[1]),this.opened?n:t}},{key:"ngAfterViewInit",value:function(){var e=this;setTimeout(function(){e.position=e.drawer.position,e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return"drawer-toggled"===e.payload.type&&(this.opened=e.payload.opened,!0)}},{key:"toggle",value:function(){var e=this.drawer,t=e.opened,n=e.expanded;t?n?e.closeExpanded():e.close():e.open()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(rZ),Os(ZQ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("ccf-drawer-toggle-button-end",t.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(e,t){1&e&&(As(0,"mat-icon",0),Vs("click",function(){return t.toggle()}),Cu(1),Ms()),2&e&&(Yo(1),Ou(" ",t.icon,"\n"))},directives:[B_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),e}();function h1(e,t){1&e&&(As(0,"div",7),Is(1,"mat-spinner",8),As(2,"span",3),Cu(3,"Loading External Site"),Ms(),Ms())}function d1(e,t){if(1&e){var n=Ls();As(0,"iframe",9),Vs("load",function(){return bn(n),Ws().loading=!1}),Ms()}2&e&&ks("src",Ws().safeUrl,Yr)}var f1=function(){var e=function(){function e(t){m(this,e),this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new ol,this.loading=!0,this.safeUrl=null}return b(e,[{key:"ngOnChanges",value:function(e){"url"in e&&this.updateUrl()}},{key:"updateUrl",value:function(){var e=this.sanitizer,t=this.url;this.safeUrl=null,t&&(this.safeUrl=e.bypassSecurityTrustResourceUrl(t),this.loading=!0)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Vd))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[qt],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"a",1),As(2,"mat-icon",2),Cu(3,"launch"),Ms(),As(4,"span",3),Cu(5,"Open in Portal"),Ms(),Ms(),As(6,"button",4),Vs("click",function(){return t.closed.emit()}),As(7,"mat-icon",2),Cu(8,"clear"),Ms(),Ms(),Ms(),Cs(9,h1,4,0,"div",5),Cs(10,d1,1,1,"iframe",6)),2&e&&(Yo(1),Ts("href",t.safeUrl,Xr)("disabled",!t.safeUrl),Yo(8),Ts("ngIf",t.loading),Yo(1),Ts("ngIf",t.safeUrl))},directives:[X_,B_,q_,Yh,qQ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),e}();function p1(e,t){if(1&e&&Is(0,"div",3),2&e){var n=t.index;cu("line-tick-visible",Ws().tissueSectionExists(n+1))}}var v1=function(){return[]},g1=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-tissue-section-vis"}return b(e,[{key:"tissueSectionExists",value:function(e){return this.tissueSections.filter(function(t){return t.sectionNumber===e}).length>0}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(e,t){1&e&&(As(0,"div"),Cu(1,"0"),Ms(),As(2,"div",0),Cs(3,p1,1,2,"div",1),Is(4,"div",2),Ms(),As(5,"div"),Cu(6),Ms()),2&e&&(Yo(3),Ts("ngForOf",Kc(2,v1).constructor(t.totalTissueSections)),Yo(3),Eu(t.totalTissueSections))},directives:[qh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),e}();function m1(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function y1(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach(function(n){void 0===e[n]?e[n]=t[n]:m1(t[n])&&m1(e[n])&&Object.keys(t[n]).length>0&&y1(e[n],t[n])})}var b1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function _1(){var e="undefined"!=typeof document?document:{};return y1(e,b1),e}var w1={document:b1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(e){return"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0)},cancelAnimationFrame:function(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function k1(){var e="undefined"!=typeof window?window:{};return y1(e,w1),e}function x1(e){return(x1=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function S1(e,t){return(S1=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(G){return!1}}function E1(e,t,n){return(E1=C1()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&S1(r,n.prototype),r}).apply(null,arguments)}function O1(e){var t="function"==typeof Map?new Map:void 0;return(O1=function(e){if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return E1(e,arguments,x1(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),S1(n,e)})(e)}var T1=function(e){function t(t){var n;return function(e){var t=e.__proto__;Object.defineProperty(e,"__proto__",{get:function(){return t},set:function(e){t.__proto__=e}})}(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n=e.call.apply(e,[this].concat(t))||this)),n}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e),t}(O1(Array));function P1(e){void 0===e&&(e=[]);var t=[];return e.forEach(function(e){Array.isArray(e)?t.push.apply(t,P1(e)):t.push(e)}),t}function A1(e,t){return Array.prototype.filter.call(e,t)}function M1(e,t){var n=k1(),i=_1(),r=[];if(!t&&e instanceof T1)return e;if(!e)return new T1(r);if("string"==typeof e){var o=e.trim();if(o.indexOf("<")>=0&&o.indexOf(">")>=0){var a="div";0===o.indexOf("0}).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),n=0;n=0;f-=1){var p=d[f];o&&p.listener===o||o&&p.listener&&p.listener.dom7proxy&&p.listener.dom7proxy===o?(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1)):o||(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1))}}return this},trigger:function(){for(var e=k1(),t=arguments.length,n=new Array(t),i=0;i0}),c.dispatchEvent(l),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(e){var t=this;return e&&t.on("transitionend",function n(i){i.target===this&&(e.call(this,i),t.off("transitionend",n))}),this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var e=k1();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var e=k1(),t=_1(),n=this[0],i=n.getBoundingClientRect(),r=t.body;return{top:i.top+(n===e?e.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===e?e.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(e,t){var n,i=k1();if(1===arguments.length){if("string"!=typeof e){for(n=0;nt-1)return M1([]);if(e<0){var n=t+e;return M1(n<0?[]:[this[n]])}return M1([this[e]])},append:function(){for(var e,t=_1(),n=0;n=0;n-=1)this[t].insertBefore(r.childNodes[n],this[t].childNodes[0])}else if(e instanceof T1)for(n=0;n0?e?this[0].nextElementSibling&&M1(this[0].nextElementSibling).is(e)?M1([this[0].nextElementSibling]):M1([]):M1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):M1([])},nextAll:function(e){var t=[],n=this[0];if(!n)return M1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;e?M1(i).is(e)&&t.push(i):t.push(i),n=i}return M1(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&M1(t.previousElementSibling).is(e)?M1([t.previousElementSibling]):M1([]):M1(t.previousElementSibling?[t.previousElementSibling]:[])}return M1([])},prevAll:function(e){var t=[],n=this[0];if(!n)return M1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;e?M1(i).is(e)&&t.push(i):t.push(i),n=i}return M1(t)},parent:function(e){for(var t=[],n=0;n=0,observer:"MutationObserver"in e||"WebkitMutationObserver"in e,passiveListener:function(){var t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassiveListener",null,n)}catch(i){}return t}(),gestures:"ongesturestart"in e}}()),N1}function q1(e){return void 0===e&&(e={}),L1||(L1=function(e){var t=(void 0===e?{}:e).userAgent,n=W1(),i=k1(),r=i.navigator.platform,o=t||i.navigator.userAgent,a={ios:!1,android:!1},s=i.screen.width,u=i.screen.height,c=o.match(/(Android);?[\s\/]+([\d.]+)?/),l=o.match(/(iPad).*OS\s([\d_]+)/),h=o.match(/(iPod)(.*OS\s([\d_]+))?/),d=!l&&o.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r,p="MacIntel"===r;return!l&&p&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(s+"x"+u)>=0&&((l=o.match(/(Version)\/([\d.]+)/))||(l=[0,1,"13_0_0"]),p=!1),c&&!f&&(a.os="android",a.android=!0),(l||d||h)&&(a.os="ios",a.ios=!0),a}(e)),L1}function X1(){return j1||(j1=function(){var e,t=k1();return{isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:(e=t.navigator.userAgent.toLowerCase(),e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)}}()),j1}var Y1={name:"resize",create:function(){var e=this;H1(e,{resize:{observer:null,createObserver:function(){!e||e.destroyed||!e.initialized||(e.resize.observer=new ResizeObserver(function(t){var n=e.width,i=e.height,r=n,o=i;t.forEach(function(t){var n=t.contentBoxSize,i=t.contentRect,a=t.target;a&&a!==e.el||(r=i?i.width:(n[0]||n).inlineSize,o=i?i.height:(n[0]||n).blockSize)}),(r!==n||o!==i)&&e.resize.resizeHandler()}),e.resize.observer.observe(e.el))},removeObserver:function(){e.resize.observer&&e.resize.observer.unobserve&&e.el&&(e.resize.observer.unobserve(e.el),e.resize.observer=null)},resizeHandler:function(){!e||e.destroyed||!e.initialized||(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){!e||e.destroyed||!e.initialized||e.emit("orientationchange")}}})},on:{init:function(e){var t=k1();e.params.resizeObserver&&void 0!==k1().ResizeObserver?e.resize.createObserver():(t.addEventListener("resize",e.resize.resizeHandler),t.addEventListener("orientationchange",e.resize.orientationChangeHandler))},destroy:function(e){var t=k1();e.resize.removeObserver(),t.removeEventListener("resize",e.resize.resizeHandler),t.removeEventListener("orientationchange",e.resize.orientationChangeHandler)}}};function K1(){return(K1=Object.assign||function(e){for(var t=1;t0)&&(!r.isTouched||!r.isMoved))){o.noSwipingClass&&""!==o.noSwipingClass&&s.target&&s.target.shadowRoot&&e.path&&e.path[0]&&(u=F1(e.path[0]));var c=o.noSwipingSelector?o.noSwipingSelector:"."+o.noSwipingClass;if(o.noSwiping&&(s.target&&s.target.shadowRoot?function(e,t){return void 0===t&&(t=this),function t(n){return n&&n!==_1()&&n!==k1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(e)||t(n.getRootNode().host)):null}(t)}(c,s.target):u.closest(c)[0]))return void(t.allowClick=!0);if(!o.swipeHandler||u.closest(o.swipeHandler)[0]){a.currentX="touchstart"===s.type?s.targetTouches[0].pageX:s.pageX,a.currentY="touchstart"===s.type?s.targetTouches[0].pageY:s.pageY;var l=a.currentX,h=a.currentY,d=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,f=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(d&&(l<=f||l>=i.innerWidth-f)){if("prevent"!==d)return;e.preventDefault()}if(H1(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=l,a.startY=h,r.touchStartTime=V1(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==s.type){var p=!0;u.is(r.focusableElements)&&(p=!1),n.activeElement&&F1(n.activeElement).is(r.focusableElements)&&n.activeElement!==u[0]&&n.activeElement.blur(),(o.touchStartForcePreventDefault||p&&t.allowTouchMove&&o.touchStartPreventDefault)&&!u[0].isContentEditable&&s.preventDefault()}t.emit("touchStart",s)}}}}function J1(e){var t=_1(),n=this,i=n.touchEventsData,r=n.params,o=n.touches,a=n.rtlTranslate;if(n.enabled){var s=e;if(s.originalEvent&&(s=s.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",s));if(!i.isTouchEvent||"touchmove"===s.type){var u="touchmove"===s.type&&s.targetTouches&&(s.targetTouches[0]||s.changedTouches[0]),c="touchmove"===s.type?u.pageX:s.pageX,l="touchmove"===s.type?u.pageY:s.pageY;if(s.preventedByNestedSwiper)return o.startX=c,void(o.startY=l);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(H1(o,{startX:c,startY:l,currentX:c,currentY:l}),i.touchStartTime=V1()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(lo.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(co.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&s.target===t.activeElement&&F1(s.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",s),!(s.targetTouches&&s.targetTouches.length>1)){o.currentX=c,o.currentY=l;var h=o.currentX-o.startX,d=o.currentY-o.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(f=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?f>r.touchAngle:90-f>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",s),void 0===i.startMoving&&(o.currentX!==o.startX||o.currentY!==o.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&s.cancelable&&s.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&s.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",s)),n.emit("sliderMove",s),i.isMoved=!0;var p=n.isHorizontal()?h:d;o.diff=p,p*=r.touchRatio,a&&(p=-p),n.swipeDirection=p>0?"prev":"next",i.currentTranslate=p+i.startTranslate;var v=!0,g=r.resistanceRatio;if(r.touchReleaseOnEdges&&(g=0),p>0&&i.currentTranslate>n.minTranslate()?(v=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+p,g))):p<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(p)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,i.currentTranslate=i.startTranslate,void(o.diff=n.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:o[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:o[n.isHorizontal()?"currentX":"currentY"],time:V1()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function e2(e){var t=this,n=t.touchEventsData,i=t.params,r=t.touches,o=t.rtlTranslate,a=t.$wrapperEl,s=t.slidesGrid,u=t.snapGrid;if(t.enabled){var c=e;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&t.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var l,h=V1(),d=h-n.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(c),t.emit("tap click",c),d<300&&h-n.lastClickTime<300&&t.emit("doubleTap doubleClick",c)),n.lastClickTime=V1(),B1(function(){t.destroyed||(t.allowClick=!0)}),!n.isTouched||!n.isMoved||!t.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,l=i.followFinger?o?t.translate:-t.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(l<-t.minTranslate())return void t.slideTo(t.activeIndex);if(l>-t.maxTranslate())return void t.slideTo(t.slides.length1){var f=n.velocities.pop(),p=n.velocities.pop(),v=f.time-p.time;t.velocity=(f.position-p.position)/v,t.velocity/=2,Math.abs(t.velocity)150||V1()-f.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var g=1e3*i.freeModeMomentumRatio,m=t.translate+t.velocity*g;o&&(m=-m);var y,b,_=!1,w=20*Math.abs(t.velocity)*i.freeModeMomentumBounceRatio;if(mt.minTranslate())i.freeModeMomentumBounce?(m-t.minTranslate()>w&&(m=t.minTranslate()+w),y=t.minTranslate(),_=!0,n.allowMomentumBounce=!0):m=t.minTranslate(),i.loop&&i.centeredSlides&&(b=!0);else if(i.freeModeSticky){for(var k,x=0;x-m){k=x;break}m=-(m=Math.abs(u[k]-m)=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses()))}for(var E=0,O=t.slidesSizesGrid[0],T=0;T=s[T]&&l=s[T]&&(E=T,O=s[s.length-1]-s[s.length-2])}var A=(l-s[E])/O,M=Ei.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&t.slideTo(A>=i.longSwipesRatio?E+M:E),"prev"===t.swipeDirection&&t.slideTo(A>1-i.longSwipesRatio?E+M:E)}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||c.target!==t.navigation.nextEl&&c.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(E+M),"prev"===t.swipeDirection&&t.slideTo(E)):t.slideTo(c.target===t.navigation.nextEl?E+M:E)}}}}function t2(){var e=this,t=e.params,n=e.el;if(!n||0!==n.offsetWidth){t.breakpoints&&e.setBreakpoint();var i=e.allowSlideNext,r=e.allowSlidePrev,o=e.snapGrid;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),e.slideTo(("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&o!==e.snapGrid&&e.checkOverflow()}}function n2(e){var t=this;!t.enabled||t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function i2(){var e=this,t=e.wrapperEl,n=e.rtlTranslate;if(e.enabled){e.previousTranslate=e.translate,e.translate=e.isHorizontal()?n?t.scrollWidth-t.offsetWidth-t.scrollLeft:-t.scrollLeft:-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();var i=e.maxTranslate()-e.minTranslate();(0===i?0:(e.translate-e.minTranslate())/i)!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}}var r2=!1;function o2(){}var a2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};var s2={modular:{useParams:function(e){var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n];i.params&&H1(e,i.params)})},useModules:function(e){void 0===e&&(e={});var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n],r=e[n]||{};i.on&&t.on&&Object.keys(i.on).forEach(function(e){t.on(e,i.on[e])}),i.create&&i.create.bind(t)(r)})}},eventsEmitter:{on:function(e,t,n){var i=this;if("function"!=typeof t)return i;var r=n?"unshift":"push";return e.split(" ").forEach(function(e){i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)}),i},once:function(e,t,n){var i=this;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var n=arguments.length,o=new Array(n),a=0;a=0&&t.eventsAnyListeners.splice(n,1),t},off:function(e,t){var n=this;return n.eventsListeners&&e.split(" ").forEach(function(e){void 0===t?n.eventsListeners[e]=[]:n.eventsListeners[e]&&n.eventsListeners[e].forEach(function(i,r){(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&n.eventsListeners[e].splice(r,1)})}),n},emit:function(){var e=this;if(!e.eventsListeners)return e;for(var t,n,i,r=arguments.length,o=new Array(r),a=0;a=0&&(b=parseFloat(b.replace("%",""))/100*o),e.virtualSize=-b,l.css(a?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(x=Math.floor(h/i.slidesPerColumn)===h/e.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(x=Math.max(x,i.slidesPerView*i.slidesPerColumn)));for(var O,T=i.slidesPerColumn,P=x/T,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var R=void 0,D=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*T*i.slidesPerGroup)/T),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":R=(D=j-N*F+L*i.slidesPerGroup)+N*x/T,"-moz-box-ordinal-group":R,"-ms-flex-order":R,"-webkit-order":R,order:R})}else"column"===i.slidesPerColumnFill?(N=M-(D=Math.floor(M/T))*T,(D>A||D===A&&N===T-1)&&(N+=1)>=T&&(N=0,D+=1)):D=M-(N=Math.floor(M/P))*P;I.css(t("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)O=e.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),G=n(B,"padding-right"),W=n(B,"margin-left"),q=n(B,"margin-right"),X=B.getPropertyValue("box-sizing");if(X&&"border-box"===X)O=U+W+q;else{var Y=I[0];O=U+H+G+W+q+(Y.offsetWidth-Y.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(O=Math.floor(O))}else O=(o-(i.slidesPerView-1)*b)/i.slidesPerView,i.roundLengths&&(O=Math.floor(O)),l[M]&&(l[M].style[t("width")]=O+"px");l[M]&&(l[M].swiperSlideSize=O),p.push(O),i.centeredSlides?(_=_+O/2+w/2+b,0===w&&0!==M&&(_=_-o/2-b),0===M&&(_=_-o/2-b),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),k%i.slidesPerGroup==0&&d.push(_),f.push(_)):(i.roundLengths&&(_=Math.floor(_)),(k-Math.min(e.params.slidesPerGroupSkip,k))%e.params.slidesPerGroup==0&&d.push(_),f.push(_),_=_+O+b),e.virtualSize+=O+b,w=O,k+=1}}if(e.virtualSize=Math.max(e.virtualSize,o)+g,a&&s&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:e.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((C={})[t("width")]=e.virtualSize+i.spaceBetween+"px",C)),i.slidesPerColumn>1&&(e.virtualSize=(O+i.spaceBetween)*x,e.virtualSize=Math.ceil(e.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((E={})[t("width")]=e.virtualSize+i.spaceBetween+"px",E)),i.centeredSlides)){S=[];for(var K=0;K1&&d.push(e.virtualSize-o)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,ee=e.isHorizontal()&&a?"marginLeft":t("marginRight");l.filter(function(e,t){return!i.cssMode||t!==l.length-1}).css(((J={})[ee]=b+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var te=0;p.forEach(function(e){te+=e+(i.spaceBetween?i.spaceBetween:0)});var ne=(te-=i.spaceBetween)-o;d=d.map(function(e){return e<0?-v:e>ne?ne+g:e})}if(i.centerInsufficientSlides){var ie=0;if(p.forEach(function(e){ie+=e+(i.spaceBetween?i.spaceBetween:0)}),(ie-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(e){i.push(e)});else for(t=0;tn.slides.length&&!r)break;i.push(a(s))}else i.push(a(n.activeIndex));for(t=0;to?u:o}o&&n.$wrapperEl.css("height",o+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t=0&&c1&&l<=t.size||c<=0&&l>=t.size)&&(t.visibleSlides.push(s),t.visibleSlidesIndexes.push(a),i.eq(a).addClass(n.slideVisibleClass))}s.progress=r?-u:u}t.visibleSlides=F1(t.visibleSlides)}},updateProgress:function(e){var t=this;void 0===e&&(e=t&&t.translate&&t.translate*(t.rtlTranslate?-1:1)||0);var n=t.params,i=t.maxTranslate()-t.minTranslate(),r=t.progress,o=t.isBeginning,a=t.isEnd,s=o,u=a;0===i?(r=0,o=!0,a=!0):(o=(r=(e-t.minTranslate())/i)<=0,a=r>=1),H1(t,{progress:r,isBeginning:o,isEnd:a}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&t.updateSlidesProgress(e),o&&!s&&t.emit("reachBeginning toEdge"),a&&!u&&t.emit("reachEnd toEdge"),(s&&!o||u&&!a)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){var e,t=this,n=t.slides,i=t.params,r=t.$wrapperEl,o=t.activeIndex,a=t.realIndex,s=t.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=s?t.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+o+'"]'):n.eq(o)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass));var u=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===u.length&&(u=n.eq(0)).addClass(i.slideNextClass);var c=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(u.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),t.emitSlidesClasses()},updateActiveIndex:function(e){var t,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,o=n.snapGrid,a=n.params,s=n.activeIndex,u=n.realIndex,c=n.snapIndex,l=e;if(void 0===l){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(l=h);a.normalizeSlideIndex&&(l<0||void 0===l)&&(l=0)}if(o.indexOf(i)>=0)t=o.indexOf(i);else{var d=Math.min(a.slidesPerGroupSkip,l);t=d+Math.floor((l-d)/a.slidesPerGroup)}if(t>=o.length&&(t=o.length-1),l!==s){var f=parseInt(n.slides.eq(l).attr("data-swiper-slide-index")||l,10);H1(n,{snapIndex:t,realIndex:f,previousIndex:s,activeIndex:l}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),u!==f&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else t!==c&&(n.snapIndex=t,n.emit("snapIndexChange"))},updateClickedSlide:function(e){var t,n=this,i=n.params,r=F1(e.target).closest("."+i.slideClass)[0],o=!1;if(r)for(var a=0;a6&&(i=i.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),r=new o.WebKitCSSMatrix("none"===i?"":i)):n=(r=a.MozTransform||a.OTransform||a.MsTransform||a.msTransform||a.transform||a.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(i=o.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===t&&(i=o.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(t.$wrapperEl[0],e);return i&&(o=-o),o||0},setTranslate:function(e,t){var n=this,i=n.rtlTranslate,r=n.params,o=n.$wrapperEl,a=n.wrapperEl,s=n.progress,u=0,c=0;n.isHorizontal()?u=i?-e:e:c=e,r.roundLengths&&(u=Math.floor(u),c=Math.floor(c)),r.cssMode?a[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-u:-c:r.virtualTranslate||o.transform("translate3d("+u+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?u:c;var l=n.maxTranslate()-n.minTranslate();(0===l?0:(e-n.minTranslate())/l)!==s&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,n,i,r){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var o=this,a=o.params,s=o.wrapperEl;if(o.animating&&a.preventInteractionOnTransition)return!1;var u,c=o.minTranslate(),l=o.maxTranslate();if(o.updateProgress(u=i&&e>c?c:i&&eo?"next":ir?"next":i=c.length&&(g=c.length-1),(d||u.initialSlide||0)===(h||0)&&n&&a.emit("beforeSlideChangeStart");var m,y=-c[g];if(a.updateProgress(y),u.normalizeSlideIndex)for(var b=0;b=w&&_=w&&_=w&&(s=b)}if(a.initialized&&s!==d&&(!a.allowSlideNext&&ya.translate&&y>a.maxTranslate()&&(d||0)!==s))return!1;if(m=s>d?"next":s=e&&(d=e)}),void 0!==d&&(c=a.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,e,t,n)},slideReset:function(e,t,n){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,n)},slideToClosest:function(e,t,n,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===i&&(i=.5);var r=this,o=r.activeIndex,a=Math.min(r.params.slidesPerGroupSkip,o),s=a+Math.floor((o-a)/r.params.slidesPerGroup),u=r.rtlTranslate?r.translate:-r.translate;if(u>=r.snapGrid[s]){var c=r.snapGrid[s];u-c>(r.snapGrid[s+1]-c)*i&&(o+=r.params.slidesPerGroup)}else{var l=r.snapGrid[s-1];u-l<=(r.snapGrid[s]-l)*i&&(o-=r.params.slidesPerGroup)}return o=Math.max(o,0),o=Math.min(o,r.slidesGrid.length-1),r.slideTo(o,e,t,n)},slideToClickedSlide:function(){var e,t=this,n=t.params,i=t.$wrapperEl,r="auto"===n.slidesPerView?t.slidesPerViewDynamic():n.slidesPerView,o=t.clickedIndex;if(n.loop){if(t.animating)return;e=parseInt(F1(t.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?ot.slides.length-t.loopedSlides+r/2?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),B1(function(){t.slideTo(o)})):t.slideTo(o):o>t.slides.length-r?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),B1(function(){t.slideTo(o)})):t.slideTo(o)}else t.slideTo(o)}},loop:{loopCreate:function(){var e=this,t=_1(),n=e.params,i=e.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var o=n.slidesPerGroup-r.length%n.slidesPerGroup;if(o!==n.slidesPerGroup){for(var a=0;ar.length&&(e.loopedSlides=r.length);var u=[],c=[];r.each(function(t,n){var i=F1(t);n=r.length-e.loopedSlides&&u.push(t),i.attr("data-swiper-slide-index",n)});for(var l=0;l=0;h-=1)i.prepend(F1(u[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var e=this;e.emit("beforeLoopFix");var t,n=e.activeIndex,i=e.slides,r=e.loopedSlides,o=e.allowSlidePrev,a=e.allowSlideNext,s=e.snapGrid,u=e.rtlTranslate;e.allowSlidePrev=!0,e.allowSlideNext=!0;var c=-s[n]-e.getTranslate();n=i.length-r&&(t=-i.length+n+r,e.slideTo(t+=r,0,!1,!0)&&0!==c&&e.setTranslate((u?-e.translate:e.translate)-c)),e.allowSlidePrev=o,e.allowSlideNext=a,e.emit("loopFix")},loopDestroy:function(){var e=this,t=e.params,n=e.slides;e.$wrapperEl.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;if(!(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var n=t.el;n.style.cursor="move",n.style.cursor=e?"-webkit-grabbing":"-webkit-grab",n.style.cursor=e?"-moz-grabbin":"-moz-grab",n.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.el.style.cursor="")}},manipulation:{appendSlide:function(e){var t=this,n=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var r=0;r=a)n.appendSlide(t);else{for(var s=o>e?o+1:o,u=[],c=a-1;c>=e;c-=1){var l=n.slides.eq(c);l.remove(),u.unshift(l)}if("object"==typeof t&&"length"in t){for(var h=0;he?o+t.length:o}else i.append(t);for(var d=0;d1,d=l.slidesPerColumn>1,f=o.enabled;h&&!d?(a.removeClass(o.containerModifierClass+"multirow "+o.containerModifierClass+"multirow-column"),e.emitContainerClasses()):!h&&d&&(a.addClass(o.containerModifierClass+"multirow"),(l.slidesPerColumnFill&&"column"===l.slidesPerColumnFill||!l.slidesPerColumnFill&&"column"===o.slidesPerColumnFill)&&a.addClass(o.containerModifierClass+"multirow-column"),e.emitContainerClasses());var p=l.direction&&l.direction!==o.direction,v=o.loop&&(l.slidesPerView!==o.slidesPerView||p);p&&n&&e.changeDirection(),H1(e.params,l);var g=e.params.enabled;H1(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),f&&!g?e.disable():!f&&g&&e.enable(),e.currentBreakpoint=u,e.emit("_beforeBreakpoint",l),v&&n&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-r+e.loopedSlides,0,!1)),e.emit("breakpoint",l)}}},getBreakpoint:function(e,t,n){if(void 0===t&&(t="window"),e&&("container"!==t||n)){var i=!1,r=k1(),o="window"===t?r.innerHeight:n.clientHeight,a=Object.keys(e).map(function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:o*t,point:e}}return{value:e,point:e}});a.sort(function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)});for(var s=0;s0&&t.slidesOffsetBefore+t.spaceBetween*(e.slides.length-1)+e.slides[0].offsetWidth*e.slides.length;e.isLocked=t.slidesOffsetBefore&&t.slidesOffsetAfter&&i?i<=e.size:1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,n!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),n&&n!==e.isLocked&&(e.isEnd=!1,e.navigation&&e.navigation.update())}},classes:{addClasses:function(){var e=this,t=e.classNames,n=e.params,i=e.$el,r=e.device,o=e.support,a=function(e,t){var n=[];return e.forEach(function(e){"object"==typeof e?Object.keys(e).forEach(function(i){e[i]&&n.push(t+i)}):"string"==typeof e&&n.push(t+e)}),n}(["initialized",n.direction,{"pointer-events":o.pointerEvents&&!o.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:e.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);t.push.apply(t,a),i.addClass([].concat(t).join(" ")),e.emitContainerClasses()},removeClasses:function(){var e=this;e.$el.removeClass(e.classNames.join(" ")),e.emitContainerClasses()}},images:{loadImage:function(e,t,n,i,r,o){var a,s=k1();function u(){o&&o()}F1(e).parent("picture")[0]||e.complete&&r||!t?u():((a=new s.Image).onload=u,a.onerror=u,i&&(a.sizes=i),n&&(a.srcset=n),t&&(a.src=t))},preloadImages:function(){var e=this;function t(){null==e||!e||e.destroyed||(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var n=0;n1){var a=[];return F1(n.el).each(function(t){var i=H1({},n,{el:t});a.push(new e(i))}),a}var s=this;s.__swiper__=!0,s.support=W1(),s.device=q1({userAgent:n.userAgent}),s.browser=X1(),s.eventsListeners={},s.eventsAnyListeners=[],void 0===s.modules&&(s.modules={}),Object.keys(s.modules).forEach(function(e){var t=s.modules[e];if(t.params){var i=Object.keys(t.params)[0],r=t.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var u,c,l=H1({},a2);return s.useParams(l),s.params=H1({},l,u2,n),s.originalParams=H1({},s.params),s.passedParams=H1({},n),s.params&&s.params.on&&Object.keys(s.params.on).forEach(function(e){s.on(e,s.params.on[e])}),s.params&&s.params.onAny&&s.onAny(s.params.onAny),s.$=F1,H1(s,{enabled:s.params.enabled,el:t,classNames:[],slides:F1(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===s.params.direction},isVertical:function(){return"vertical"===s.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev,touchEvents:(u=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],s.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),s.touchEventsTouch={start:u[0],move:u[1],end:u[2],cancel:u[3]},s.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},s.support.touch||!s.params.simulateTouch?s.touchEventsTouch:s.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:s.params.focusableElements,lastClickTime:V1(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:s.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),s.useModules(),s.emit("_swiper"),s.params.init&&s.init(),s}var t=e.prototype;return t.enable=function(){var e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))},t.disable=function(){var e=this;!e.enabled||(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))},t.setProgress=function(e,t){var n=this;e=Math.min(Math.max(e,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*e+i,void 0===t?0:t),n.updateActiveIndex(),n.updateSlidesClasses()},t.emitContainerClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=e.el.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-container")||0===t.indexOf(e.params.containerModifierClass)});e.emit("_containerClasses",t.join(" "))}},t.getSlideClasses=function(e){var t=this;return e.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)}).join(" ")},t.emitSlidesClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=[];e.slides.each(function(n){var i=e.getSlideClasses(n);t.push({slideEl:n,classNames:i}),e.emit("_slideClass",n,i)}),e.emit("_slideClasses",t)}},t.slidesPerViewDynamic=function(){var e=this,t=e.slides,n=e.slidesGrid,i=e.size,r=e.activeIndex,o=1;if(e.params.centeredSlides){for(var a,s=t[r].swiperSlideSize,u=r+1;ui&&(a=!0));for(var c=r-1;c>=0;c-=1)t[c]&&!a&&(o+=1,(s+=t[c].swiperSlideSize)>i&&(a=!0))}else for(var l=r+1;l1)&&e.isEnd&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0)||i(),n.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function i(){var t=Math.min(Math.max(e.rtlTranslate?-1*e.translate:e.translate,e.maxTranslate()),e.minTranslate());e.setTranslate(t),e.updateActiveIndex(),e.updateSlidesClasses()}},t.changeDirection=function(e,t){void 0===t&&(t=!0);var n=this,i=n.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+e),n.emitContainerClasses(),n.params.direction=e,n.slides.each(function(t){"vertical"===e?t.style.width="":t.style.height=""}),n.emit("changeDirection"),t&&n.update()),n},t.mount=function(e){var t=this;if(t.mounted)return!0;var n=F1(e||t.params.el);if(!(e=n[0]))return!1;e.swiper=t;var i=function(){return"."+(t.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(e&&e.shadowRoot&&e.shadowRoot.querySelector){var t=F1(e.shadowRoot.querySelector(i()));return t.children=function(e){return n.children(e)},t}return n.children(i())}();if(0===r.length&&t.params.createElements){var o=_1().createElement("div");r=F1(o),o.className=t.params.wrapperClass,n.append(o),n.children("."+t.params.slideClass).each(function(e){r.append(e)})}return H1(t,{$el:n,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},t.init=function(e){var t=this;return t.initialized||!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.slideTo(t.params.loop?t.params.initialSlide+t.loopedSlides:t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t},t.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var n=this,i=n.params,r=n.$el,o=n.$wrapperEl,a=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),t&&(n.removeClasses(),r.removeAttr("style"),o.removeAttr("style"),a&&a.length&&a.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(e){n.off(e)}),!1!==e&&(n.$el[0].swiper=null,function(t){var n=t;Object.keys(n).forEach(function(t){try{n[t]=null}catch(e){}try{delete n[t]}catch(e){}})}(n)),n.destroyed=!0),null},e.extendDefaults=function(e){H1(u2,e)},e.installModule=function(t){e.prototype.modules||(e.prototype.modules={});var n=t.name||Object.keys(e.prototype.modules).length+"_"+V1();e.prototype.modules[n]=t},e.use=function(t){return Array.isArray(t)?(t.forEach(function(t){return e.installModule(t)}),e):(e.installModule(t),e)},function(e,t,n){n&&function(e,t){for(var n=0;n0?t[n].__swiper__?e[n]=t[n]:F2(e[n],t[n]):e[n]=t[n]):e[n]=t[n]})}function B2(e){return null!=e&&"false"!="".concat(e)}var V2=["pagination","navigation","scrollbar","virtual"];function z2(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return L2(e)?e:!0===B2(e)&&t}var U2=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(function(e){return e.replace(/_/,"")});function H2(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={on:{}},n={};F2(t,l2.defaults),F2(t,l2.extendedDefaults),t._emitClasses=!0;var i={};return Object.keys(e).forEach(function(r){var o=r.replace(/^_/,"");void 0!==e[o]&&(U2.indexOf(o)>=0?L2(e[o])?(t[o]={},n[o]={},F2(t[o],e[o]),F2(n[o],e[o])):(t[o]=e[o],n[o]=e[o]):i[o]=e[o])}),{params:t,passedParams:n,rest:i}}var G2=function(){var e=function(){function e(t){m(this,e),this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}return b(e,[{key:"zoom",get:function(){return this._zoom},set:function(e){this._zoom=B2(e)}},{key:"classNames",get:function(){return this._classNames},set:function(e){this._classNames!==e&&(this._classNames=e,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}},{key:"_hasClass",value:function(e){var t=this;return e.some(function(e){return t._classNames.indexOf(e)>=0})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ac))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),e}(),W2=function(){var e=function(){function e(t,n,i,r){var a=this;m(this,e),this._ngZone=t,this.elementRef=n,this._changeDetectorRef=i,this._platformId=r,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new ol,this.s__containerClasses=new ol,this.s__slideClass=new ol,this.s__swiper=new ol,this.s_activeIndexChange=new ol,this.s_afterInit=new ol,this.s_autoplay=new ol,this.s_autoplayStart=new ol,this.s_autoplayStop=new ol,this.s_beforeDestroy=new ol,this.s_beforeInit=new ol,this.s_beforeLoopFix=new ol,this.s_beforeResize=new ol,this.s_beforeSlideChangeStart=new ol,this.s_beforeTransitionStart=new ol,this.s_breakpoint=new ol,this.s_changeDirection=new ol,this.s_click=new ol,this.s_doubleTap=new ol,this.s_doubleClick=new ol,this.s_destroy=new ol,this.s_fromEdge=new ol,this.s_hashChange=new ol,this.s_hashSet=new ol,this.s_imagesReady=new ol,this.s_init=new ol,this.s_keyPress=new ol,this.s_lazyImageLoad=new ol,this.s_lazyImageReady=new ol,this.s_loopFix=new ol,this.s_momentumBounce=new ol,this.s_navigationHide=new ol,this.s_navigationShow=new ol,this.s_observerUpdate=new ol,this.s_orientationchange=new ol,this.s_paginationHide=new ol,this.s_paginationRender=new ol,this.s_paginationShow=new ol,this.s_paginationUpdate=new ol,this.s_progress=new ol,this.s_reachBeginning=new ol,this.s_reachEnd=new ol,this.s_realIndexChange=new ol,this.s_resize=new ol,this.s_scroll=new ol,this.s_scrollbarDragEnd=new ol,this.s_scrollbarDragMove=new ol,this.s_scrollbarDragStart=new ol,this.s_setTransition=new ol,this.s_setTranslate=new ol,this.s_slideChange=new ol,this.s_slideChangeTransitionEnd=new ol,this.s_slideChangeTransitionStart=new ol,this.s_slideNextTransitionEnd=new ol,this.s_slideNextTransitionStart=new ol,this.s_slidePrevTransitionEnd=new ol,this.s_slidePrevTransitionStart=new ol,this.s_slideResetTransitionStart=new ol,this.s_slideResetTransitionEnd=new ol,this.s_sliderMove=new ol,this.s_sliderFirstMove=new ol,this.s_slidesLengthChange=new ol,this.s_slidesGridLengthChange=new ol,this.s_snapGridLengthChange=new ol,this.s_snapIndexChange=new ol,this.s_tap=new ol,this.s_toEdge=new ol,this.s_touchEnd=new ol,this.s_touchMove=new ol,this.s_touchMoveOpposite=new ol,this.s_touchStart=new ol,this.s_transitionEnd=new ol,this.s_transitionStart=new ol,this.s_update=new ol,this.s_zoomChange=new ol,this.s_swiper=new ol,this.indexChange=new ol,this._activeSlides=new ae,this.containerClasses="swiper-container",this.slidesChanges=function(e){a.slides=e.map(function(e,t){return e.slideIndex=t,e.classNames=a.slideClass,e}),a.loop&&!a.loopedSlides&&a.calcLoopedSlides(),a.virtual?a.swiperRef&&a.swiperRef.virtual&&a._ngZone.runOutsideAngular(function(){a.swiperRef.virtual.slides=a.slides,a.swiperRef.virtual.update(!0)}):(a.prependSlides=$d(a.slides.slice(a.slides.length-a.loopedSlides)),a.appendSlides=$d(a.slides.slice(0,a.loopedSlides))),a._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=function(e){!a.swiperRef||a.currentVirtualData&&a.currentVirtualData.from===e.from&&a.currentVirtualData.to===e.to&&a.currentVirtualData.offset===e.offset||(a.style=a.swiperRef.isHorizontal()?o({},a.swiperRef.rtlTranslate?"right":"left","".concat(e.offset,"px")):{top:"".concat(e.offset,"px")},a.currentVirtualData=e,a._activeSlides.next(e.slides),a._ngZone.run(function(){a._changeDetectorRef.detectChanges()}),a._ngZone.runOutsideAngular(function(){a.swiperRef.updateSlides(),a.swiperRef.updateProgress(),a.swiperRef.updateSlidesClasses(),a.swiperRef.lazy&&a.swiperRef.params.lazy.enabled&&a.swiperRef.lazy.load(),a.swiperRef.virtual.update(!0)}))}}return b(e,[{key:"navigation",get:function(){return this._navigation},set:function(e){var t,n,i,r="boolean"!=typeof this._navigation?null===(t=this._navigation)||void 0===t?void 0:t.nextEl:null,o="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=z2(e,{nextEl:r||null,prevEl:o||null}),this.showNavigation=!(!0!==B2(e)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}},{key:"pagination",get:function(){return this._pagination},set:function(e){var t,n="boolean"!=typeof this._pagination?null===(t=this._pagination)||void 0===t?void 0:t.el:null;this._pagination=z2(e,{el:n||null}),this.showPagination=j2(e,this._pagination,this._paginationElRef)}},{key:"scrollbar",get:function(){return this._scrollbar},set:function(e){var t,n="boolean"!=typeof this._scrollbar?null===(t=this._scrollbar)||void 0===t?void 0:t.el:null;this._scrollbar=z2(e,{el:n||null}),this.showScrollbar=j2(e,this._scrollbar,this._scrollbarElRef)}},{key:"virtual",get:function(){return this._virtual},set:function(e){this._virtual=z2(e)}},{key:"index",set:function(e){this.setIndex(e)}},{key:"config",set:function(e){this.updateSwiper(e);var t=H2(e).params;Object.assign(this,t)}},{key:"prevElRef",set:function(e){this._prevElRef=e,this._setElement(e,this.navigation,"navigation","prevEl")}},{key:"nextElRef",set:function(e){this._nextElRef=e,this._setElement(e,this.navigation,"navigation","nextEl")}},{key:"scrollbarElRef",set:function(e){this._scrollbarElRef=e,this._setElement(e,this.scrollbar,"scrollbar")}},{key:"paginationElRef",set:function(e){this._paginationElRef=e,this._setElement(e,this.pagination,"pagination")}},{key:"activeSlides",get:function(){return this.virtual?this._activeSlides:$d(this.slides)}},{key:"zoomContainerClass",get:function(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}},{key:"_setElement",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"el";if(e&&t){if(t&&e.nativeElement){if(t[i]===e.nativeElement)return;t[i]=e.nativeElement}var r={};r[n]=!0,this.updateInitSwiper(r)}}},{key:"ngOnInit",value:function(){var e=H2(this).params;Object.assign(this,e)}},{key:"ngAfterViewInit",value:function(){var e=this;this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(function(){e.s_swiper.emit(e.swiperRef)})}},{key:"childrenSlidesInit",value:function(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}},{key:"isSwiperActive",get:function(){return this.swiperRef&&!this.swiperRef.destroyed}},{key:"initSwiper",value:function(){var e=this,t=H2(this).params;Object.assign(this,t),this._ngZone.runOutsideAngular(function(){t.init=!1,t.virtual||(t.observer=!0),t.onAny=function(t){for(var n=e["s_".concat(t)],i=arguments.length,r=new Array(i>1?i-1:0),o=1;o=0)){var o=null!==(i=null===(n=e[r])||void 0===n?void 0:n.currentValue)&&void 0!==i?i:e[r];t.updateParameter(r,o)}e.allowSlideNext&&(t.swiperRef.allowSlideNext=t.allowSlideNext),e.allowSlidePrev&&(t.swiperRef.allowSlidePrev=t.allowSlidePrev),e.direction&&t.swiperRef.changeDirection(t.direction,!1),e.breakpoints&&(t.loop&&!t.loopedSlides&&t.calcLoopedSlides(),t.swiperRef.currentBreakpoint=null,t.swiperRef.setBreakpoint()),(e.thumbs||e.controller)&&t.updateInitSwiper(e),t.swiperRef.update()}})}},{key:"calcLoopedSlides",value:function(){if(this.loop){var e=this.slidesPerView;if(this.breakpoints){var t=l2.prototype.getBreakpoint(this.breakpoints),n=t in this.breakpoints?this.breakpoints[t]:void 0;n&&n.slidesPerView&&(e=n.slidesPerView)}if("auto"===e)return this.loopedSlides=this.slides.length,this.slides.length;var i=this.loopedSlides||e;return(i+=this.loopAdditionalSlides)>this.slides.length&&(i=this.slides.length),this.loopedSlides=i,i}}},{key:"updateParameter",value:function(e,t){if(this.swiperRef&&!this.swiperRef.destroyed){var n=e.replace(/^_/,""),i=L2(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){var r=this.swiperRef.modules[n].params[n];i?F2(this.swiperRef.params[n],r):this.swiperRef.params[n]=r}i&&L2(t)?F2(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}}},{key:"setIndex",value:function(e,t,n){var i=this;this.isSwiperActive?e!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(function(){i.loop?i.swiperRef.slideToLoop(e,t,!n):i.swiperRef.slideTo(e,t,!n)}):this.initialSlide=e}},{key:"ngOnDestroy",value:function(){var e=this;this._ngZone.runOutsideAngular(function(){var t;null===(t=e.swiperRef)||void 0===t||t.destroy(!0,!1)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["swiper"],["","swiper",""]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,G2,4),2&e)&&(ml(i=_l())&&(t.slidesEl=i))},viewQuery:function(e,t){var n;(1&e&&(yl(h2,5),yl(d2,5),yl(f2,5),yl(p2,5)),2&e)&&(ml(n=_l())&&(t.prevElRef=n.first),ml(n=_l())&&(t.nextElRef=n.first),ml(n=_l())&&(t.scrollbarElRef=n.first),ml(n=_l())&&(t.paginationElRef=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[qt],ngContentSelectors:N2,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(e,t){if(1&e&&(Xs(M2),Ys(0),Cs(1,v2,5,0,"ng-container",0),Cs(2,g2,2,0,"div",1),Cs(3,m2,2,0,"div",2),As(4,"div",3),Ys(5,1),Cs(6,b2,1,0,void 0,4),Cs(7,w2,1,0,void 0,4),Cs(8,x2,1,0,void 0,4),Ys(9,2),Ms(),Ys(10,3),Cs(11,A2,2,3,"ng-template",null,5,Sl)),2&e){var n=Es(12);Yo(1),Ts("ngIf",t.navigation&&t.showNavigation),Yo(1),Ts("ngIf",t.scrollbar&&t.showScrollbar),Yo(1),Ts("ngIf",t.pagination&&t.showPagination),Yo(1),Ts("ngClass",t.wrapperClass),ks("id",t.id),Yo(2),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(11,I2,t.prependSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(13,R2,t.activeSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(15,D2,t.appendSlides))}},directives:[Yh,Gh,nd,qh,Zh,Jh,ed],pipes:[sd],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),e}(),q2=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();function X2(e,t){if(1&e){var n=Ls();As(0,"div",7),As(1,"div",8),Cu(2),Ms(),As(3,"a",9),Vs("click",function(){bn(n);var e=Ws().$implicit;return Ws().linkClicked.emit(e)}),Cu(4," DATA "),As(5,"mat-icon"),Cu(6,"open_in_new"),Ms(),Ms(),Ms()}if(2&e){var i=Ws().$implicit;Yo(1),uu("background-image","url("+i.thumbnail+")"),Yo(1),Ou(" ",i.technology," ")}}function Y2(e,t){1&e&&(Rs(0),Cs(1,X2,7,3,"ng-template",6),Ds())}var K2=function(){var e=-1;return function(){return e+=1}}(),$2=function(){var e=function(){function e(){m(this,e),this.className="ccf-thumbnail-carousel",this.linkClicked=new ol,this.uid=K2(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}return b(e,[{key:"prevButtonId",get:function(){return"ccf-thumbnail-carousel-prev-button-".concat(this.uid)}},{key:"nextButtonId",get:function(){return"ccf-thumbnail-carousel-next-button-".concat(this.uid)}},{key:"itemId",value:function(e,t){return t.thumbnail}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"button",1),As(2,"mat-icon"),Cu(3,"navigate_before"),Ms(),Ms(),Ms(),As(4,"swiper",2),Cs(5,Y2,2,0,"ng-container",3),Ms(),As(6,"div",4),As(7,"button",1),Is(8,"div",5),As(9,"mat-icon"),Cu(10,"navigate_next"),Ms(),Ms(),Ms()),2&e&&(Yo(1),ks("id",t.prevButtonId),Yo(3),Ts("config",t.config)("navigation",t.navigation),Yo(1),Ts("ngForOf",t.data)("ngForTrackBy",t.itemId),Yo(2),ks("id",t.nextButtonId))},directives:[q_,B_,W2,qh,G2],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),e}();function Q2(e,t){if(1&e){var n=Ls();As(0,"mat-icon",14),Vs("click",function(){return bn(n),Ws().toggleExpansion()}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Eu(i.expanded?"expand_less":"expand_more")}}function Z2(e,t){if(1&e&&Is(0,"ccf-tissue-section-vis",20),2&e){var n=Ws(2);Ts("totalTissueSections",n.tissueBlock.sectionCount)("tissueSections",n.tissueBlock.sections)}}function J2(e,t){if(1&e){var n=Ls();Rs(0),As(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(2).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws(2);Yo(1),Ts("data",i.tissueBlock.datasets)}}function e3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(3).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws().$implicit;Yo(1),Ts("data",i.datasets)}}function t3(e,t){if(1&e){var n=Ls();As(0,"div",22),As(1,"div",23),As(2,"mat-icon",24),Cu(3,"bubble_chart"),Ms(),As(4,"div",17),As(5,"div",8),Cu(6),Ms(),As(7,"div",8),Cu(8),Ms(),Ms(),As(9,"div",9),Vs("click",function(){var e=bn(n).$implicit;return Ws(2).linkHandler(e.link)}),As(10,"div",10),Cu(11,"TISSUE SECTION"),Ms(),As(12,"mat-icon",11),Cu(13,"open_in_new"),Ms(),Ms(),Ms(),Cs(14,e3,2,1,"ng-container",13),Ms()}if(2&e){var i=t.$implicit;Yo(6),Eu(i.label),Yo(2),Eu(i.description),Yo(6),Ts("ngIf",i.datasets.length>0)}}function n3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"div",15),As(2,"div",16),As(3,"mat-icon",5),Cu(4,"bubble_chart"),Ms(),As(5,"div",17),As(6,"div",8),Cu(7),Ms(),As(8,"div",8),Cu(9),Ms(),Ms(),As(10,"div",9),Vs("click",function(){bn(n);var e=Ws();return e.linkHandler(e.tissueBlock.link)}),As(11,"div",10),Cu(12,"TISSUE BLOCK"),Ms(),As(13,"mat-icon",11),Cu(14,"open_in_new"),Ms(),Ms(),Ms(),Cs(15,Z2,1,2,"ccf-tissue-section-vis",18),Cs(16,J2,2,1,"ng-container",13),Ms(),Cs(17,t3,15,3,"div",19),Ds()}if(2&e){var i=Ws();Yo(7),Eu(i.tissueBlock.label),Yo(2),Eu(i.tissueBlock.description),Yo(6),Ts("ngIf",i.tissueBlock.sections.length>1),Yo(1),Ts("ngIf",i.tissueBlock.datasets.length>0),Yo(1),Ts("ngForOf",i.tissueBlock.sections)}}var i3=function(e){return{"background-color":e}},r3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new ol,this.linkClick=new ol,this.hoverState=""}return b(e,[{key:"handleCheckbox",value:function(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}},{key:"toggleExpansion",value:function(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}},{key:"linkHandler",value:function(e){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(e):(this.selected=!0,this.checked.emit(this.selected))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Vs("click",function(){return t.handleCheckbox()}),Is(2,"mat-checkbox",2),Ms(),As(3,"div",3),As(4,"div",4),As(5,"mat-icon",5),Cu(6,"person"),Ms(),As(7,"div",6),As(8,"div",7),Cu(9),Ms(),As(10,"div",8),Cu(11),Ms(),Ms(),Ms(),As(12,"div",9),Vs("click",function(){return t.linkHandler(t.tissueBlock.donor.link)}),As(13,"div",10),Cu(14,"DONOR"),Ms(),As(15,"mat-icon",11),Cu(16,"open_in_new"),Ms(),Ms(),Cs(17,Q2,2,1,"mat-icon",12),Ms(),Ms(),Cs(18,n3,18,5,"ng-container",13)),2&e&&(Yo(1),cu("selected",t.selected)("highlighted",t.highlighted),Ts("ngStyle",$c(18,i3,t.selected?t.color:"transparent")),Yo(1),cu("checkselected",t.selected),Ts("checked",t.selected),Yo(1),cu("hover-enabled",t.selected)("expanded",t.expanded)("highlighted",t.highlighted),Yo(6),Eu(t.tissueBlock.donor.label),Yo(2),Eu(t.tissueBlock.donor.description),Yo(6),Ts("ngIf",t.selected),Yo(1),Ts("ngIf",t.expanded))},directives:[td,ZK,B_,Yh,qh,g1,$2],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function o3(e,t){if(1&e&&(As(0,"div",7),As(1,"div",8),Cu(2),Ms(),As(3,"div",9),Cu(4),Ms(),Ms()),2&e){var n=t.$implicit;Yo(2),Eu(n.count),Yo(2),Eu(n.label)}}function a3(e,t){if(1&e){var n=Ls();As(0,"div",10),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return bn(n),Ws().handleUnhover()}),As(1,"ccf-donor-card",11),Vs("checked",function(e){var t=bn(n).$implicit;return Ws().handleSelection(t,e)})("linkClick",function(e){return bn(n),Ws().handleLinkClick(e)}),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("tissueBlock",i.tissueBlock)("selected",i.selected)("color",i.color)("highlighted",i.tissueBlock.spatialEntityId===r.highlighted)}}var s3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.linkClicked=new ol,this.listResultSelected=new ol,this.listResultDeselected=new ol,this.itemHovered=new ol,this.itemUnhovered=new ol,this.atScrollBottom=!1}return b(e,[{key:"handleSelection",value:function(e,t){this.ga.event("list_result_selected","results_browser",this.resultLabel,+t),t?this.listResultSelected.next(e):this.listResultDeselected.next(e)}},{key:"handleLinkClick",value:function(e){this.linkClicked.emit(e)}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<64}}},{key:"handleHover",value:function(e){this.itemHovered.emit(e)}},{key:"handleUnhover",value:function(){this.itemUnhovered.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),Cu(3),Ms(),Cs(4,o3,5,2,"div",3),Ms(),As(5,"div",4),Vs("scroll",function(e){return t.onScroll(e)}),Cs(6,a3,2,4,"div",5),Ms(),Is(7,"div",6),Ms()),2&e&&(Yo(3),Eu(t.resultLabel),Yo(1),Ts("ngForOf",t.aggregateData),Yo(1),cu("header-hidden",!t.header),Yo(1),Ts("ngForOf",t.listResults),Yo(1),cu("hidden",!!t.atScrollBottom))},directives:[qh,r3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),u3=["*",[["mat-toolbar-row"]]],c3=["*","mat-toolbar-row"],l3=ab(function(){return function e(t){m(this,e),this._elementRef=t}}()),h3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),e}(),d3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e))._platform=i,o._document=r,o}return b(n,[{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return e._checkToolbarMixedModes()}))}},{key:"_checkToolbarMixedModes",value:function(){}}]),n}(l3);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh))},e.\u0275cmp=Ot({type:e,selectors:[["mat-toolbar"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,h3,5),2&e)&&(ml(i=_l())&&(t._toolbarRows=i))},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(e,t){2&e&&cu("mat-toolbar-multiple-rows",t._toolbarRows.length>0)("mat-toolbar-single-row",0===t._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[cs],ngContentSelectors:c3,decls:2,vars:0,template:function(e,t){1&e&&(Xs(u3),Ys(0),Ys(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),e}(),f3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}();function p3(e,t){if(1&e&&(As(0,"a",5),Cu(1,"LOGIN"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"login",Xr)}}function v3(e,t){if(1&e&&(As(0,"a",5),Cu(1,"LOGOUT"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"logout",Xr)}}var g3=function(){var e=function e(){m(this,e),this.refreshClicked=new ol,this.downloadClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(e,t){1&e&&(As(0,"mat-toolbar",0),As(1,"a",1),Is(2,"div",2),Ms(),Is(3,"div",3),Cs(4,p3,2,3,"a",4),Cs(5,v3,2,3,"a",4),Ms()),2&e&&(Yo(1),Ts("href",t.homeUrl,Xr),Yo(1),Ts("matTooltip",t.logoTooltip),Yo(2),Ts("ngIf",!t.loggedIn),Yo(1),Ts("ngIf",t.loggedIn))},directives:[d3,Ow,Yh,X_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),m3=["bodyUI"];function y3(e,t){if(1&e&&(Is(0,"ccf-header",34),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async")),2&e){var n=Ws();cu("hide",!1===el(1,6,n.header$)),Ts("logoTooltip",el(2,8,n.logoTooltip$))("homeUrl",el(3,10,n.homeUrl$))("loggedIn",n.loggedIn)("loginDisabled",el(4,12,n.loginDisabled$))}}function b3(e,t){if(1&e){var n=Ls();As(0,"div",35),Vs("click",function(){bn(n),Ws();var e=Es(72);return e.expanded=!e.expanded}),As(1,"mat-icon",36),Cu(2),Ms(),Ms()}if(2&e){Ws();var i=Es(72);Yo(2),Ou(" ",i.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function _3(e,t){if(1&e){var n=Ls();As(0,"div",35),Vs("click",function(){bn(n);var e=Ws();return e.organListVisible=!e.organListVisible}),As(1,"mat-icon",37),Cu(2),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Ou(" ",i.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}var w3=function(){return{}},k3=function(){return{x:2.2,y:2,z:.4}},x3=function(){function e(n,i,r,o,a,s,u,c,l,h,d,f){var p=this;m(this,e),this.data=r,this.theming=o,this.scene=a,this.listResultsState=s,this.consentService=u,this.snackbar=c,this.dataSource=h,this.globalConfig=d,this.setSelectedSearches=fQ(TQ),this.removeSpatialSearch=fQ(OQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=dQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(ce(function(e){return e===wQ.Running})),this.loadingMessage$=this.data.state$.pipe(cG("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new Bf(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),o.initialize(n,i),l.setRootElement(n),r.tissueBlockData$.subscribe(),r.aggregateData$.subscribe(),r.ontologyTermOccurencesData$.subscribe(),r.cellTypeTermOccurencesData$.subscribe(),r.sceneData$.subscribe(),r.filter$.subscribe(),r.technologyFilterData$.subscribe(),r.providerFilterData$.subscribe(),this.ontologyTerms$=r.filter$.pipe(cG("ontologyTerms")),this.cellTypeTerms$=r.filter$.pipe(cG("cellTypeTerms")),J_([this.theme$,this.themeMode$]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];p.theming.setTheme("".concat(i,"-theme-").concat(r)),f.markForCheck()})}return b(e,[{key:"isLightTheme",get:function(){return this.theming.getTheme().endsWith("light")}},{key:"ngOnInit",value:function(){var e=this,t=this.snackbar.openFromComponent(A$,{data:{preClose:function(){t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(t){e.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}},{key:"reset",value:function(e,t,n){e.open(),e.closeExpanded(),t.open(),t.closeExpanded(),n.removeBox(),this.resetView()}},{key:"resetView",value:function(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}},{key:"toggleScheme",value:function(){this.themeMode$.next(this.isLightTheme?"dark":"light")}},{key:"ontologySelected",value:function(e,t){if(e)return"anatomical-structures"===t?(this.data.updateFilter({ontologyTerms:e.map(function(e){return e.id})}),this.ontologySelectionLabel=this.createSelectionLabel(e)):(this.data.updateFilter({cellTypeTerms:e.map(function(e){return e.id})}),this.cellTypeSelectionLabel=this.createSelectionLabel(e)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?"".concat(this.ontologySelectionLabel," | ").concat(this.cellTypeSelectionLabel):this.ontologySelectionLabel?"".concat(this.ontologySelectionLabel):this.cellTypeSelectionLabel?"".concat(this.cellTypeSelectionLabel):"",void(e[0]&&"body"===e[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}},{key:"createSelectionLabel",value:function(e){if(0===e.length)return"";if(1===e.length)return e[0].label;var t="";return e.forEach(function(n,i){t+=n.label,i0}}]),e}();function S3(e,t){1&e&&Is(0,"ccf-root")}function C3(e){var t=function(e){return"string"==typeof e},n=function(e){return Array.isArray(e)&&e.every(t)};if("string"==typeof e){var i=hQ.json(e);if(n(i))return i}else if(n(e))return e;throw new Error("Invalid data sources")}x3.\u0275fac=function(e){return new(e||x3)(Os(Ju),Os(ss),Os(SQ),Os(sQ),Os(jQ),Os(NQ),Os(wq),Os(bw),Os(oQ),Os(R$),Os(E$),Os(Cc))},x3.\u0275cmp=Ot({type:x3,selectors:[["ccf-root"]],viewQuery:function(e,t){var n;(1&e&&yl(m3,5),2&e)&&(ml(n=_l())&&(t.bodyUI=n.first))},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(e,t){if(1&e){var n=Ls();As(0,"div",0),Is(1,"ccf-spinner-overlay",1),Jc(2,"async"),Jc(3,"async"),Cs(4,y3,5,14,"ccf-header",2),Jc(5,"async"),As(6,"ccf-drawer-container",3),Jc(7,"async"),As(8,"ccf-drawer",4,5),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),As(10,"div"),As(11,"div",6),As(12,"ccf-filters-popover",7,8),Vs("filtersChange",function(e){return t.data.updateFilter(e)})("spatialSearchSelected",function(e){return t.setSelectedSearches(e)})("spatialSearchRemoved",function(e){return t.removeSpatialSearch(e)}),Jc(14,"async"),Jc(15,"async"),Jc(16,"async"),Jc(17,"async"),Ms(),As(18,"div",9),As(19,"div",10),Cu(20,"Sex: "),As(21,"strong"),Cu(22),Jc(23,"async"),Ms(),Ms(),As(24,"div",11),Cu(25,"Age: "),As(26,"strong"),Cu(27),Jc(28,"async"),Jc(29,"async"),Ms(),Ms(),As(30,"div",12),Cu(31,"BMI: "),As(32,"strong"),Cu(33),Jc(34,"async"),Jc(35,"async"),Ms(),Ms(),Ms(),Ms(),As(36,"ccf-ontology-selection",13),Vs("ontologySelection",function(e){return t.ontologySelected(e,"anatomical-structures")}),Jc(37,"async"),Jc(38,"async"),Jc(39,"async"),Jc(40,"async"),Ms(),As(41,"ccf-ontology-selection",14),Vs("ontologySelection",function(e){return t.ontologySelected(e,"cell-type")}),Jc(42,"async"),Jc(43,"async"),Jc(44,"async"),Jc(45,"async"),Ms(),Is(46,"ccf-drawer-toggle-button"),Ms(),Ms(),As(47,"ccf-drawer",15,16),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),As(49,"ccf-viewer",17),Vs("closed",function(){return t.viewerOpen=!1}),Ms(),As(50,"div",18),As(51,"div",19),As(52,"button",20),Vs("click",function(){bn(n);var e=Es(13),t=Es(48);return e.removeBox(),t.toggleExpanded()}),As(53,"mat-icon",21),Cu(54),Ms(),Ms(),As(55,"button",22),Vs("click",function(){return t.toggleScheme()}),As(56,"mat-icon",21),Cu(57),Ms(),Ms(),As(58,"button",23),As(59,"mat-icon",24),Vs("click",function(){bn(n);var e=Es(9),i=Es(48),r=Es(13);return t.reset(e,i,r)}),Cu(60,"refresh "),Ms(),Ms(),Ms(),Is(61,"ccf-info-button",25),Ms(),As(62,"ccf-results-browser",26),Vs("listResultSelected",function(e){return t.listResultsState.selectListResult(e)})("listResultDeselected",function(e){return t.listResultsState.deselectListResult(e)})("linkClicked",function(e){return t.openiFrameViewer(e)})("itemHovered",function(e){return t.listResultsState.highlightNode(e)})("itemUnhovered",function(){return t.listResultsState.unHighlightNode()}),Jc(63,"async"),Jc(64,"async"),Jc(65,"async"),Jc(66,"async"),Ms(),Is(67,"ccf-drawer-toggle-button"),Ms(),As(68,"ccf-drawer-content"),Jc(69,"async"),As(70,"div",27),As(71,"ccf-organ-selector",28,29),Vs("organsChanged",function(e){return t.scene.setSelectedReferenceOrgans(e)}),Jc(73,"async"),Jc(74,"async"),Jc(75,"async"),Ms(),Ms(),As(76,"div",30),Cs(77,b3,3,1,"div",31),Cs(78,_3,3,1,"div",31),Ms(),Is(79,"ccf-run-spatial-search"),As(80,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.scene.sceneNodeClicked(e)})("nodeHoverStart",function(e){return t.scene.sceneNodeHovered(e)})("nodeHoverStop",function(){return t.scene.sceneNodeUnhover()}),Jc(82,"async"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i,r,o,a,s=Es(48),u=Es(72);Yo(1),Ts("text",el(2,55,t.loadingMessage$))("active",el(3,57,t.spinnerActive$)),Yo(3),Ts("ngIf",!1===el(5,59,t.spinnerActive$)),Yo(2),cu("header-hidden",!1===el(7,61,t.header$)),Yo(6),Ts("filters",el(14,63,t.data.filter$))("drawerExpanded",s.expanded)("technologyFilters",el(15,65,t.data.technologyFilterData$))("providerFilters",el(16,67,t.data.providerFilterData$))("spatialSearchFilters",el(17,69,t.selectableSearches$)),Yo(10),Eu(null==(i=el(23,71,t.data.filter$))?null:i.sex),Yo(5),Tu("",null==(r=el(28,73,t.data.filter$))?null:r.ageRange[0],"-",null==(r=el(29,75,t.data.filter$))?null:r.ageRange[1],""),Yo(6),Tu("",null==(o=el(34,77,t.data.filter$))?null:o.bmiRange[0],"-",null==(o=el(35,79,t.data.filter$))?null:o.bmiRange[1],""),Yo(3),Ts("treeModel",el(37,81,t.ontologyTreeModel$))("termData",el(38,83,t.data.ontologyTermsFullData$))("occurenceData",el(39,85,t.data.ontologyTermOccurencesData$))("header",el(40,87,t.header$)),Yo(5),Ts("treeModel",el(42,89,t.cellTypeTreeModel$))("termData",el(43,91,t.data.cellTypeTermsFullData$))("occurenceData",el(44,93,t.data.cellTypeTermOccurencesData$))("header",el(45,95,t.header$)),Yo(8),cu("opened",t.viewerOpen),Ts("url",t.url),Yo(3),Ts("matTooltip",s.expanded?"Exit Fullscreen":"Enter Fullscreen"),Yo(2),Eu(s.expanded?"fullscreen_exit":"fullscreen"),Yo(1),Ts("matTooltip",t.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),Yo(2),Ou("",t.isLightTheme?"brightness_2":"brightness_5"," "),Yo(5),Ts("listResults",el(63,97,t.listResultsState.listResults$))("aggregateData",el(64,99,t.data.aggregateData$))("resultLabel",t.selectionLabel)("highlighted",el(65,101,t.listResultsState.highlightedNodeId$))("header",el(66,103,t.header$)),Yo(6),cu("header-hidden",!1===el(69,105,t.header$)),Yo(2),cu("closed",!t.organListVisible)("expanded",u.expanded),Yo(1),Ts("multiselect",!0)("occurenceData",null!==(a=el(73,107,t.data.ontologyTermOccurencesData$))&&void 0!==a?a:Kc(115,w3))("organList",el(74,109,t.scene.referenceOrgans$))("selectedOrgans",el(75,111,t.scene.selectedReferenceOrgans$)),Yo(5),cu("closed",!t.organListVisible),Yo(1),Ts("ngIf",t.organListVisible),Yo(1),Ts("ngIf",!u.expanded),Yo(2),cu("expanded-stage",!t.organListVisible)("selector-expanded",u.expanded),Ts("scene",el(82,113,t.scene.scene$))("bounds",Kc(116,k3))}},directives:[YQ,Yh,cZ,rZ,C0,c1,l1,f1,Ow,B_,x$,s3,eZ,f$,m0,n$,g3],pipes:[sd],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),Mw([Bz(CQ.cellTypesTreeModel)],x3.prototype,"cellTypeTreeModel$",void 0),Mw([Bz(CQ.anatomicalStructuresTreeModel)],x3.prototype,"ontologyTreeModel$",void 0),Mw([Bz(AQ.items)],x3.prototype,"selectableSearches$",void 0),Mw([EK()],x3.prototype,"setSelectedSearches",void 0),Mw([EK()],x3.prototype,"removeSpatialSearch",void 0);var E3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},dQ.dbOptions),globalThis.dbOptions),dQ.customization),parse:{dataSources:C3,useRemoteApi:hQ.boolean,header:hQ.boolean,loginDisabled:hQ.boolean}})}return n}(lQ);return e.\u0275fac=function(t){return new(t||e)(Os(E$),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[cs],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&Cs(0,S3,1,0,"ccf-root",0),2&e&&Ts("ngIf",t.initialized)},directives:[Yh,x3],encapsulation:2,changeDetection:0}),e}(),O3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,f3,Aw]]}),e}(),T3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).locator=i,r}return b(n,[{key:"createWorker",value:function(e){var t=this.getWorkerUrl(!0);return new Worker(t,{type:"module"})}},{key:"getWorkerUrl",value:function(e){if(e)return new URL(r(88509),r.b);var t=this.locator.prepareExternalUrl("0-es2015.worker.js"),n=new Blob(["importScripts('".concat(t,"')")],{type:"application/javascript"});return URL.createObjectURL(n)}}]),n}(H$);return e.\u0275fac=function(t){return new(t||e)(Zi(E$),Zi(Th))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),P3=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"selectToken",value:function(e){var t=e.useRemoteApi,n=e.remoteApiEndpoint;return t&&n?V$:"undefined"==typeof Worker||dQ.disableDbWorker?U$:T3}}]),n}(G$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),A3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:Il,useValue:sQ.initialize,multi:!0},sQ]}),e}(),M3=function(){var e=function(){function e(t,n){m(this,e),this.accessor=t,this.injector=n}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:e,providers:[qW,WW,HW].concat(v(t))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qW,2),Zi(WW,2))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),I3=function(e,t){return function(e,t){return new Array(t+1).join("0")}(0,t-e.toString().length)+e},R3=function(){function e(t,n,i){m(this,e),this.action=t,this.store=n,this.logWriter=i}return b(e,[{key:"dispatched",value:function(e){var t=QV(this.action),n=function(e){return I3(e.getHours(),2)+":"+I3(e.getMinutes(),2)+":"+I3(e.getSeconds(),2)+"."+I3(e.getMilliseconds(),3)}(new Date);this.logWriter.startGroup("action ".concat(t," @ ").concat(n)),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}},{key:"completed",value:function(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}},{key:"errored",value:function(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}},{key:"_hasPayload",value:function(e){return this._getNonEmptyProperties(e).length>0}},{key:"_getNonEmptyProperties",value:function(e){return Object.keys(e).map(function(t){return e[t]}).filter(function(e){return void 0!==e})}}]),e}(),D3=function(){function e(t){m(this,e),this.options=t,this.options=this.options||{},this.logger=t.logger||console}return b(e,[{key:"startGroup",value:function(e){var t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(n){console.log(e)}}},{key:"endGroup",value:function(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}},{key:"logGrey",value:function(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}},{key:"logGreen",value:function(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}},{key:"logRedish",value:function(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}},{key:"log",value:function(e,t,n){this.isIE()?this.logger.log(e,n):this.logger.log("%c "+e,t,n)}},{key:"isIE",value:function(){var e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"",t=!1,n=e.indexOf("MSIE "),i=e.indexOf("Trident/");return(n>-1||i>-1)&&(t=!0),t}}]),e}(),N3=new Ri("NGXS_LOGGER_PLUGIN_OPTIONS"),L3=function(){var e=function(){function e(t,n){m(this,e),this._options=t,this._injector=n}return b(e,[{key:"handle",value:function(e,t,n){if(this._options.disabled||!this._options.filter(t,e))return n(e,t);this._logWriter=this._logWriter||new D3(this._options),this._store=this._store||this._injector.get(Pz);var i=new R3(t,this._store,this._logWriter);return i.dispatched(e),n(e,t).pipe(mv(function(e){i.completed(e)}),Bb(function(e){throw i.errored(e),e}))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(N3),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),j3=new Ri("LOGGER_USER_OPTIONS");function F3(e){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:function(){return!0}},e)}var B3=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:UV,useClass:L3,multi:!0},{provide:j3,useValue:t},{provide:N3,useFactory:F3,deps:[j3]}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function V3(e,t){return e>=0&&e=t?t:e+t<0?0:e+t}function z3(e,t){if(1&e&&(As(0,"span"),Cu(1),Ms()),2&e){var n=t.$implicit;lu(n.styles),du(n.classes),Yo(1),Ou(" ",n.text,"\n")}}var U3=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-decorated-text",this.segments=[]}return b(e,[{key:"ngOnChanges",value:function(e){("text"in e||"decorations"in e)&&(this.segments=this.createSegments())}},{key:"createSegments",value:function(){var e=this.text;if(!e)return[this.makeUndecoratedSegment(e)];var t=this.getNormalizedDecorations();if(0===t.length)return[this.makeUndecoratedSegment(e)];var n=this.createStackOps(t),i=[],r=[],o=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.push(this.makeDecoratedSegment(e.slice(o,u.index),r)),o=u.index,r=this.updateStack(r,u)}}catch(c){s.e(c)}finally{s.f()}return o!==e.length&&i.push(this.makeDecoratedSegment(e.slice(o),r)),i}},{key:"createStackOps",value:function(e){var t,n={},i=function(e){var t;return null!==(t=n[e])&&void 0!==t?t:n[e]={index:e,added:[],removed:[]}},r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;i(o.start).added.push(o),i(o.end).removed.push(o)}}catch(a){r.e(a)}finally{r.f()}return Object.entries(n).sort(function(e,t){return+e[0]-+t[0]}).map(function(e){return e[1]})}},{key:"updateStack",value:function(e,t){return e.filter(function(e){return!t.removed.includes(e)}).concat(t.added)}},{key:"getNormalizedDecorations",value:function(){var e=this.decorations,t=void 0===e?[]:e,n=this.text.length;return t.map(function(e){return function(e,t){var n,i,r,o;return{start:V3(null!==(n=e.start)&&void 0!==n?n:0,t),end:V3(null!==(i=e.end)&&void 0!==i?i:t,t),classes:null!==(r=e.classes)&&void 0!==r?r:[],styles:null!==(o=e.styles)&&void 0!==o?o:{}}}(e,n)}).filter(function(e){return e.startt?e[0]:void 0,max:e[1]1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();v5.\u0275fac=function(e){return new(e||v5)(Zi(FG),Zi(yq),Zi(h5),Zi(f5),Zi(h_))},v5.\u0275prov=$e({token:v5,factory:v5.\u0275fac}),Mw([jz(r5)],v5.prototype,"learnMore",null),Mw([jz(o5)],v5.prototype,"open",null),Mw([jz(a5)],v5.prototype,"close",null),v5=d5=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],v5);var g5=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();Mw([Vz([v5])],g5,"title",null),Mw([Vz([v5])],g5,"message",null),Mw([Vz([v5])],g5,"callToAction",null),Mw([Vz([v5])],g5,"imageUrl",null),Mw([Vz([v5])],g5,"expirationDate",null),Mw([Vz([v5])],g5,"popupShown",null);var m5=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"p",4),Cu(5),Ms(),As(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),As(9,"mat-dialog-content",7),As(10,"div",8),Cu(11),Ms(),As(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),y5=function e(){m(this,e),this.close=function(){return new a5},this.learnMore=function(){return new r5}};y5.\u0275fac=function(e){return new(e||y5)},y5.\u0275cmp=Ot({type:y5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(As(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[m5],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(g5.title)],y5.prototype,"title$",void 0),Mw([Bz(g5.message)],y5.prototype,"message$",void 0),Mw([Bz(g5.callToAction)],y5.prototype,"callToAction$",void 0),Mw([Bz(g5.imageUrl)],y5.prototype,"imageUrl$",void 0),Mw([EK()],y5.prototype,"close",void 0),Mw([EK()],y5.prototype,"learnMore",void 0);var b5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}],_5=function(e){a(n,e);var t=s(n);function n(e,i){var r;m(this,n),(r=t.call(this)).registry=e;var o,a=_(b5);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=s.name,c=s.namespace,l=s.url,h=s.html,d={name:u,namespace:c,url:l&&i.bypassSecurityTrustResourceUrl(l),html:h&&i.bypassSecurityTrustHtml(h)};r.registerIconImpl(d)}}catch(f){a.e(f)}finally{a.f()}return r}return b(n,[{key:"registerIcon",value:function(e){return this.registerIconImpl(e)}},{key:"registerIconImpl",value:function(e){if(!this.registry||!e.url&&!e.html)return!1;var t=this.registry,n=t[this.getMethodName(e)],i=this.getArguments(e);if(!n)return!1;try{return n.apply(t,i),!0}catch(r){return!1}}},{key:"getMethodName",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=["addSvgIcon"];return t||r.push("Set"),i||r.push("Literal"),n&&r.push("InNamespace"),r.join("")}},{key:"getArguments",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=e.html;return[n,t,null!=i?i:r].filter(function(e){return!!e})}}]),n}(hq);_5.\u0275fac=function(e){return new(e||_5)(Zi(A_,8),Zi(Vd))},_5.\u0275prov=$e({token:_5,factory:_5.\u0275fac}),Mw([sq()],_5.prototype,"registerIcon",null),_5=Mw([cq(),Fz({name:"iconRegistry"})],_5);var w5=[E$,DQ,_5,NQ,SQ,jQ,v5,zJ,PQ],k5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[M3.forRoot(),Lz.forRoot(w5,{developmentMode:!dQ.production,selectorOptions:{injectContainerState:!1}}),OK.forRoot(),B3.forRoot({disabled:dQ.production})]]}),e}(),x5=function(){var e=function e(t){if(m(this,e),t)throw new Error("The core module should only be imported once in the root module")};return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:R$,useExisting:P3}],imports:[[S_,Eq.forRoot({gaToken:dQ.googleAnalyticsToken,appName:"eui"}),O$,Fq.forRoot(function(){return new Lq({basePath:dQ.dbOptions.remoteApiEndpoint})}),O3,k5,A3],O3]}),e}(),S5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,e$]]}),e}(),C5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,DH,VZ]]}),e}(),E5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,cv,yp,DH,VZ,RJ]]}),e}(),O5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_]]}),e}(),T5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,S5,C5,E5,iQ,O5]]}),e}(),P5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,T5]]}),e}(),A5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,JU,eH,JH,DH,uG,V_]]}),e}(),M5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,Aw,q0,g$]]}),e}(),I5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,A5,M5]]}),e}(),R5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,A5,M5,I5],A5,M5,I5]}),e}();function D5(){return(D5=Object.assign||function(e){for(var t=1;t0&&(n(o,!!e.isBeginning),e.params.watchOverflow&&e.enabled&&o[e.isLocked?"addClass":"removeClass"](t.lockClass)),r&&r.length>0&&(n(r,!!e.isEnd),e.params.watchOverflow&&e.enabled&&r[e.isLocked?"addClass":"removeClass"](t.lockClass))}},onPrevClick:function(e){var t=this;e.preventDefault(),(!t.isBeginning||t.params.loop)&&t.slidePrev()},onNextClick:function(e){var t=this;e.preventDefault(),(!t.isEnd||t.params.loop)&&t.slideNext()},init:function(){var e,t,n=this,i=n.params.navigation;n.params.navigation=function(e,t,n,i){var r=_1();return n&&Object.keys(i).forEach(function(n){if(!t[n]&&!0===t.auto){var o=r.createElement("div");o.className=i[n],e.append(o),t[n]=o}}),t}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(e=F1(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===n.$el.find(i.nextEl).length&&(e=n.$el.find(i.nextEl))),i.prevEl&&(t=F1(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===n.$el.find(i.prevEl).length&&(t=n.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",n.navigation.onNextClick),t&&t.length>0&&t.on("click",n.navigation.onPrevClick),H1(n.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}),n.enabled||(e&&e.addClass(i.lockClass),t&&t.addClass(i.lockClass)))},destroy:function(){var e=this,t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n.length&&(n.off("click",e.navigation.onNextClick),n.removeClass(e.params.navigation.disabledClass)),i&&i.length&&(i.off("click",e.navigation.onPrevClick),i.removeClass(e.params.navigation.disabledClass))}},L5={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){G1(this,{navigation:D5({},N5)})},on:{init:function(e){e.navigation.init(),e.navigation.update()},toEdge:function(e){e.navigation.update()},fromEdge:function(e){e.navigation.update()},destroy:function(e){e.navigation.destroy()},"enable disable":function(e){var t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),i&&i[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)},click:function(e,t){var n=e.navigation,i=n.$nextEl,r=n.$prevEl,o=t.target;if(e.params.navigation.hideOnClick&&!F1(o).is(r)&&!F1(o).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===o||e.pagination.el.contains(o)))return;var a;i?a=i.hasClass(e.params.navigation.hiddenClass):r&&(a=r.hasClass(e.params.navigation.hiddenClass)),e.emit(!0===a?"navigationShow":"navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),r&&r.toggleClass(e.params.navigation.hiddenClass)}}}},j5=function(){var e=function e(){m(this,e),l2.use([L5])};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,q2]]}),e}(),F5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),B5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,e$,V_,j5,F5]]}),e}(),V5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,up,B5]]}),e}(),z5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:$Q,useValue:KQ}],imports:[[Gd,Zy,V_]]}),e}(),U5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,XQ]]}),e}(),H5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,XQ]]}),e}(),G5=function(){var e=function(){function e(t){m(this,e),this.injector=t}return b(e,[{key:"ngDoBootstrap",value:function(){var e=function(e,t){var n=function(e,t){return t.get(Ku).resolveComponentFactory(e).inputs}(e,t.injector),i=t.strategyFactory||new dv(e,t.injector),r=function(e){var t={};return e.forEach(function(e){var n=e.propName,i=e.templateName;t[function(e){return e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())})}(i)]=n}),t}(n),o=function(e){a(u,e);var o=s(u);function u(e){var t;return m(this,u),(t=o.call(this)).injector=e,t}return b(u,[{key:"ngElementStrategy",get:function(){var e=this;if(!this._ngElementStrategy){var r=this._ngElementStrategy=i.create(this.injector||t.injector);n.forEach(function(t){var n=t.propName;if(e.hasOwnProperty(n)){var i=e[n];delete e[n],r.setInputValue(n,i)}})}return this._ngElementStrategy}},{key:"attributeChangedCallback",value:function(e,t,n,i){this.ngElementStrategy.setInputValue(r[e],n)}},{key:"connectedCallback",value:function(){var e=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),e=!0),this.ngElementStrategy.connect(this),e||this.subscribeToEvents()}},{key:"disconnectedCallback",value:function(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}},{key:"subscribeToEvents",value:function(){var e=this;this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(function(t){var n=function(e,t,n){if("function"!=typeof CustomEvent){var i=e.createEvent("CustomEvent");return i.initCustomEvent(t,!1,!1,n),i}return new CustomEvent(t,{bubbles:!1,cancelable:!1,detail:n})}(e.ownerDocument,t.name,t.value);e.dispatchEvent(n)})}}]),u}(pv);return o.observedAttributes=Object.keys(r),n.forEach(function(e){var t=e.propName;Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(E3,{injector:this.injector});customElements.define("ccf-eui",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:aQ,useValue:"hubmap-theme-light"},{provide:Hp,useExisting:oQ}],imports:[[Zy,Gd,x5,z5,P5,R5,V_,E5,V5,U5,i$,p$,S$,Aw,H5,M$,mw,O5]]}),e}();dQ.production&&function(){if(oh)throw new Error("Cannot enable prod mode after platform setup.");rh=!1}(),Ud().bootstrapModule(G5).catch(function(e){return console.error(e)})},91052:function(e){function t(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}e.exports=function(e){return function(){var n=this,i=arguments;return new Promise(function(r,o){var a=e.apply(n,i);function s(e){t(a,r,o,s,u,"next",e)}function u(e){t(a,r,o,s,u,"throw",e)}s(void 0)})}},e.exports.default=e.exports,e.exports.__esModule=!0},61948:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},34321:function(e){function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(n)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},91741:function(e){function t(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=function(){return[]},t.resolve=t,t.id=91741,e.exports=t},88509:function(e,t,n){"use strict";e.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(e){e(e.s=51316)}])}(); \ No newline at end of file diff --git a/organ-info/index.html b/organ-info/index.html index 7dc69b03f..91351170b 100644 --- a/organ-info/index.html +++ b/organ-info/index.html @@ -5,7 +5,7 @@ - + @@ -14,7 +14,7 @@ organ-iri="http://purl.obolibrary.org/obo/UBERON_0004538" hubmap-data-service="search-api" hubmap-portal-url="https://portal.hubmapconsortium.org/" - hubmap-data-url="https://search.api.hubmapconsortium.org/entities/search" + hubmap-data-url="https://search.api.hubmapconsortium.org/v3/entities/search" hubmap-asset-url="https://assets.hubmapconsortium.org" highlight-providers="TMC-Vanderbilt" > --> diff --git a/organ-info/main.js b/organ-info/main.js index 14642956d..2cc675aa6 100644 --- a/organ-info/main.js +++ b/organ-info/main.js @@ -1 +1 @@ -var QFe=Object.defineProperty,ZFe=Object.defineProperties,JFe=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,Iq=Object.prototype.hasOwnProperty,Oq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Rq=(Ut,it,et)=>it in Ut?QFe(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:et}):Ut[it]=et,ot=(Ut,it)=>{for(var et in it||(it={}))Iq.call(it,et)&&Rq(Ut,et,it[et]);if(C1)for(var et of C1(it))Oq.call(it,et)&&Rq(Ut,et,it[et]);return Ut},xn=(Ut,it)=>ZFe(Ut,JFe(it)),Pq=(Ut,it)=>{var et={};for(var yt in Ut)Iq.call(Ut,yt)&&it.indexOf(yt)<0&&(et[yt]=Ut[yt]);if(null!=Ut&&C1)for(var yt of C1(Ut))it.indexOf(yt)<0&&Oq.call(Ut,yt)&&(et[yt]=Ut[yt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Ut,it,et)=>{var yt=et(1052).default;Ut.exports=function Y(Se,he,W){function j(H,v){if(!he[H]){if(!Se[H]){if(k)return k(H,!0);var R=new Error("Cannot find module '"+H+"'");throw R.code="MODULE_NOT_FOUND",R}var T=he[H]={exports:{}};Se[H][0].call(T.exports,function(b){return j(Se[H][1][b]||b)},T,T.exports,Y,Se,he,W)}return he[H].exports}for(var k=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){qe=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ue-4:ue;for($=0;$>16&255,O[K++]=P>>8&255,O[K++]=255&P;return 2===I&&(P=j[z.charCodeAt($)]<<2|j[z.charCodeAt($+1)]>>4,O[K++]=255&P),1===I&&(P=j[z.charCodeAt($)]<<10|j[z.charCodeAt($+1)]<<4|j[z.charCodeAt($+2)]>>2,O[K++]=P>>8&255,O[K++]=255&P),O},he.fromByteArray=function(z){for(var P,X=z.length,ue=X%3,I=[],O=16383,K=0,E=X-ue;KE?E:K+O));return 1===ue?I.push(W[(P=z[X-1])>>2]+W[P<<4&63]+"=="):2===ue&&I.push(W[(P=(z[X-2]<<8)+z[X-1])>>10]+W[P>>4&63]+W[P<<2&63]+"="),I.join("")};for(var W=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H=0,v=Q.length;H0)throw new Error("Invalid string. Length must be a multiple of 4");var X=z.indexOf("=");return-1===X&&(X=P),[X,X===P?0:4-X%4]}function y(z){return W[z>>18&63]+W[z>>12&63]+W[z>>6&63]+W[63&z]}function S(z,P,X){for(var I=[],O=P;O>5==6?2:I>>4==14?3:I>>3==30?4:I>>6==2?-1:-2}function T(I){var O=this.lastTotal-this.lastNeed,K=function(I,O,K){if(128!=(192&O[0]))return I.lastNeed=0,"\ufffd";if(I.lastNeed>1&&O.length>1){if(128!=(192&O[1]))return I.lastNeed=1,"\ufffd";if(I.lastNeed>2&&O.length>2&&128!=(192&O[2]))return I.lastNeed=2,"\ufffd"}}(this,I);return void 0!==K?K:this.lastNeed<=I.length?(I.copy(this.lastChar,O,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(I.copy(this.lastChar,O,0,I.length),void(this.lastNeed-=I.length))}function S(I,O){if((I.length-O)%2==0){var K=I.toString("utf16le",O);if(K){var E=K.charCodeAt(K.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1],K.slice(0,-1)}return K}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=I[I.length-1],I.toString("utf16le",O,I.length-1)}function A(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):O}function z(I,O){var K=(I.length-O)%3;return 0===K?I.toString("base64",O):(this.lastNeed=3-K,this.lastTotal=3,1===K?this.lastChar[0]=I[I.length-1]:(this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1]),I.toString("base64",O,I.length-K))}function P(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("base64",0,3-this.lastNeed):O}function X(I){return I.toString(this.encoding)}function ue(I){return I&&I.length?this.write(I):""}he.StringDecoder=H,H.prototype.write=function(I){if(0===I.length)return"";var O,K;if(this.lastNeed){if(void 0===(O=this.fillLast(I)))return"";K=this.lastNeed,this.lastNeed=0}else K=0;return K=0?($>0&&(I.lastNeed=$-1),$):--E=0?($>0&&(I.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:I.lastNeed=$-3),$):0}(this,I,O);if(!this.lastNeed)return I.toString("utf8",O);this.lastTotal=K;var E=I.length-(K-this.lastNeed);return I.copy(this.lastChar,0,E),I.toString("utf8",O,E)},H.prototype.fillLast=function(I){if(this.lastNeed<=I.length)return I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,I.length),this.lastNeed-=I.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),k=Y("ieee754");he.Buffer=C,he.SlowBuffer=function(B){return+B!=B&&(B=0),C.alloc(+B)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(B){if(B>Q)throw new RangeError('The value "'+B+'" is invalid for option "size"');var N=new Uint8Array(B);return N.__proto__=C.prototype,N}function C(B,N,V){if("number"==typeof B){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(B)}return R(B,N,V)}function R(B,N,V){if("string"==typeof B)return function(B,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!C.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var V=0|I(B,N),Re=v(V),Ze=Re.write(B,N);return Ze!==V&&(Re=Re.slice(0,Ze)),Re}(B,N);if(ArrayBuffer.isView(B))return A(B);if(null==B)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(pt(B,ArrayBuffer)||B&&pt(B.buffer,ArrayBuffer))return function(B,N,V){if(N<0||B.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|B}function I(B,N){if(C.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||pt(B,ArrayBuffer))return B.byteLength;if("string"!=typeof B)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);var V=B.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===V)return 0;for(var Ze=!1;;)switch(N){case"ascii":case"latin1":case"binary":return V;case"utf8":case"utf-8":return G(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*V;case"hex":return V>>>1;case"base64":return je(B).length;default:if(Ze)return Re?-1:G(B).length;N=(""+N).toLowerCase(),Ze=!0}}function O(B,N,V){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===V||V>this.length)&&(V=this.length),V<=0)||(V>>>=0)<=(N>>>=0))return"";for(B||(B="utf8");;)switch(B){case"hex":return tt(this,N,V);case"utf8":case"utf-8":return ye(this,N,V);case"ascii":return st(this,N,V);case"latin1":case"binary":return Qe(this,N,V);case"base64":return ne(this,N,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,N,V);default:if(Re)throw new TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Re=!0}}function K(B,N,V){var Re=B[N];B[N]=B[V],B[V]=Re}function E(B,N,V,Re,Ze){if(0===B.length)return-1;if("string"==typeof V?(Re=V,V=0):V>2147483647?V=2147483647:V<-2147483648&&(V=-2147483648),we(V=+V)&&(V=Ze?0:B.length-1),V<0&&(V=B.length+V),V>=B.length){if(Ze)return-1;V=B.length-1}else if(V<0){if(!Ze)return-1;V=0}if("string"==typeof N&&(N=C.from(N,Re)),C.isBuffer(N))return 0===N.length?-1:$(B,N,V,Re,Ze);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Ze?Uint8Array.prototype.indexOf.call(B,N,V):Uint8Array.prototype.lastIndexOf.call(B,N,V):$(B,[N],V,Re,Ze);throw new TypeError("val must be string, number or Buffer")}function $(B,N,V,Re,Ze){var Yn,Tt=1,kt=B.length,In=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(B.length<2||N.length<2)return-1;Tt=2,kt/=2,In/=2,V/=2}function Nn(Ls,fs){return 1===Tt?Ls[fs]:Ls.readUInt16BE(fs*Tt)}if(Ze){var Mi=-1;for(Yn=V;Ynkt&&(V=kt-In),Yn=V;Yn>=0;Yn--){for(var xi=!0,Xr=0;XrZe&&(Re=Ze):Re=Ze;var Tt=N.length;Re>Tt/2&&(Re=Tt/2);for(var kt=0;kt>8,Tt.push(V%256),Tt.push(Re);return Tt}(N,B.length-V),B,V,Re)}function ne(B,N,V){return j.fromByteArray(0===N&&V===B.length?B:B.slice(N,V))}function ye(B,N,V){V=Math.min(B.length,V);for(var Re=[],Ze=N;Ze239?4:Tt>223?3:Tt>191?2:1;if(Ze+In<=V)switch(In){case 1:Tt<128&&(kt=Tt);break;case 2:128==(192&(Nn=B[Ze+1]))&&(xi=(31&Tt)<<6|63&Nn)>127&&(kt=xi);break;case 3:Yn=B[Ze+2],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&(xi=(15&Tt)<<12|(63&Nn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=B[Ze+2],Mi=B[Ze+3],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&Tt)<<18|(63&Nn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Re.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Re.push(kt),Ze+=In}return function(B){var N=B.length;if(N<=4096)return String.fromCharCode.apply(String,B);for(var V="",Re=0;ReV&&(N+=" ... "),""},C.prototype.compare=function(N,V,Re,Ze,Tt){if(pt(N,Uint8Array)&&(N=C.from(N,N.offset,N.byteLength)),!C.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===V&&(V=0),void 0===Re&&(Re=N?N.length:0),void 0===Ze&&(Ze=0),void 0===Tt&&(Tt=this.length),V<0||Re>N.length||Ze<0||Tt>this.length)throw new RangeError("out of range index");if(Ze>=Tt&&V>=Re)return 0;if(Ze>=Tt)return-1;if(V>=Re)return 1;if(this===N)return 0;for(var kt=(Tt>>>=0)-(Ze>>>=0),In=(Re>>>=0)-(V>>>=0),Nn=Math.min(kt,In),Yn=this.slice(Ze,Tt),Mi=N.slice(V,Re),xi=0;xi>>=0,isFinite(Re)?(Re>>>=0,void 0===Ze&&(Ze="utf8")):(Ze=Re,Re=void 0)}var Tt=this.length-V;if((void 0===Re||Re>Tt)&&(Re=Tt),N.length>0&&(Re<0||V<0)||V>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");for(var kt=!1;;)switch(Ze){case"hex":return Z(this,N,V,Re);case"utf8":case"utf-8":return ae(this,N,V,Re);case"ascii":return oe(this,N,V,Re);case"latin1":case"binary":return te(this,N,V,Re);case"base64":return Te(this,N,V,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,V,Re);default:if(kt)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(B,N,V){var Re="";V=Math.min(B.length,V);for(var Ze=N;ZeRe)&&(V=Re);for(var Ze="",Tt=N;TtV)throw new RangeError("Trying to access beyond buffer length")}function Le(B,N,V,Re,Ze,Tt){if(!C.isBuffer(B))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Ze||NB.length)throw new RangeError("Index out of range")}function Ke(B,N,V,Re,Ze,Tt){if(V+Re>B.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("Index out of range")}function Me(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,4),k.write(B,N,V,Re,23,4),V+4}function Ue(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,8),k.write(B,N,V,Re,52,8),V+8}C.prototype.slice=function(N,V){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(V=void 0===V?Re:~~V)<0?(V+=Re)<0&&(V=0):V>Re&&(V=Re),V>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N+--V],Tt=1;V>0&&(Tt*=256);)Ze+=this[N+--V]*Tt;return Ze},C.prototype.readUInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),this[N]},C.prototype.readUInt16LE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]|this[N+1]<<8},C.prototype.readUInt16BE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]<<8|this[N+1]},C.prototype.readUInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},C.prototype.readUInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},C.prototype.readIntLE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt=(Tt*=128)&&(Ze-=Math.pow(2,8*V)),Ze},C.prototype.readIntBE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=V,Tt=1,kt=this[N+--Ze];Ze>0&&(Tt*=256);)kt+=this[N+--Ze]*Tt;return kt>=(Tt*=128)&&(kt-=Math.pow(2,8*V)),kt},C.prototype.readInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},C.prototype.readInt16LE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt16BE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},C.prototype.readInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},C.prototype.readFloatLE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!0,23,4)},C.prototype.readFloatBE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!1,23,4)},C.prototype.readDoubleLE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!0,52,8)},C.prototype.readDoubleBE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!1,52,8)},C.prototype.writeUIntLE=function(N,V,Re,Ze){N=+N,V>>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=1,In=0;for(this[V]=255&N;++In>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=Re-1,In=1;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)this[V+kt]=N/In&255;return V+Re},C.prototype.writeUInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,255,0),this[V]=255&N,V+1},C.prototype.writeUInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeUInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeUInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V+3]=N>>>24,this[V+2]=N>>>16,this[V+1]=N>>>8,this[V]=255&N,V+4},C.prototype.writeUInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeIntLE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=0,In=1,Nn=0;for(this[V]=255&N;++kt>0)-Nn&255;return V+Re},C.prototype.writeIntBE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=Re-1,In=1,Nn=0;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)N<0&&0===Nn&&0!==this[V+kt+1]&&(Nn=1),this[V+kt]=(N/In>>0)-Nn&255;return V+Re},C.prototype.writeInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,127,-128),N<0&&(N=255+N+1),this[V]=255&N,V+1},C.prototype.writeInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),this[V]=255&N,this[V+1]=N>>>8,this[V+2]=N>>>16,this[V+3]=N>>>24,V+4},C.prototype.writeInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeFloatLE=function(N,V,Re){return Me(this,N,V,!0,Re)},C.prototype.writeFloatBE=function(N,V,Re){return Me(this,N,V,!1,Re)},C.prototype.writeDoubleLE=function(N,V,Re){return Ue(this,N,V,!0,Re)},C.prototype.writeDoubleBE=function(N,V,Re){return Ue(this,N,V,!1,Re)},C.prototype.copy=function(N,V,Re,Ze){if(!C.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ze&&0!==Ze&&(Ze=this.length),V>=N.length&&(V=N.length),V||(V=0),Ze>0&&Ze=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),N.length-V=0;--kt)N[kt+V]=this[kt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Ze),V);return Tt},C.prototype.fill=function(N,V,Re,Ze){if("string"==typeof N){if("string"==typeof V?(Ze=V,V=0,Re=this.length):"string"==typeof Re&&(Ze=Re,Re=this.length),void 0!==Ze&&"string"!=typeof Ze)throw new TypeError("encoding must be a string");if("string"==typeof Ze&&!C.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(1===N.length){var Tt=N.charCodeAt(0);("utf8"===Ze&&Tt<128||"latin1"===Ze)&&(N=Tt)}}else"number"==typeof N&&(N&=255);if(V<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(kt=V;kt55295&&V<57344){if(!Ze){if(V>56319){(N-=3)>-1&&Tt.push(239,191,189);continue}if(kt+1===Re){(N-=3)>-1&&Tt.push(239,191,189);continue}Ze=V;continue}if(V<56320){(N-=3)>-1&&Tt.push(239,191,189),Ze=V;continue}V=65536+(Ze-55296<<10|V-56320)}else Ze&&(N-=3)>-1&&Tt.push(239,191,189);if(Ze=null,V<128){if((N-=1)<0)break;Tt.push(V)}else if(V<2048){if((N-=2)<0)break;Tt.push(V>>6|192,63&V|128)}else if(V<65536){if((N-=3)<0)break;Tt.push(V>>12|224,V>>6&63|128,63&V|128)}else{if(!(V<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;Tt.push(V>>18|240,V>>12&63|128,V>>6&63|128,63&V|128)}}return Tt}function je(B){return j.toByteArray(function(B){if((B=(B=B.split("=")[0]).trim().replace(qe,"")).length<2)return"";for(;B.length%4!=0;)B+="=";return B}(B))}function _t(B,N,V,Re){for(var Ze=0;Ze=N.length||Ze>=B.length);++Ze)N[Ze+V]=B[Ze];return Ze}function pt(B,N){return B instanceof N||null!=B&&null!=B.constructor&&null!=B.constructor.name&&B.constructor.name===N.name}function we(B){return B!=B}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((k,Q,H)=>k+(0===H?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((k,Q,H)=>void 0===j[Q]||"symbol"==typeof j[Q]?k:k+(0===k.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var k,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,ae){return Function.prototype.apply.call($,Z,ae)};k=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var H=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,ae){function oe(Te){E.removeListener($,te),ae(Te)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",oe),Z([].slice.call(arguments))}K(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&K(E,"error",$,Z)}(E,oe,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var C=10;function R(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function T(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,ae){var oe,te,Te;if(R(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Te=te[$]),void 0===Te)Te=te[$]=Z,++E._eventsCount;else if("function"==typeof Te?Te=te[$]=ae?[Z,Te]:[Te,Z]:ae?Te.unshift(Z):Te.push(Z),(oe=T(E))>0&&Te.length>oe&&!Te.warned){Te.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Te.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Te.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var ae={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},oe=y.bind(ae);return oe.listener=Z,ae.wrapFn=oe,oe}function A(E,$,Z){var ae=E._events;if(void 0===ae)return[];var oe=ae[$];return void 0===oe?[]:"function"==typeof oe?Z?[oe.listener||oe]:[oe]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(oe):P(oe,oe.length)}function z(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function P(E,$){for(var Z=new Array($),ae=0;ae<$;++ae)Z[ae]=E[ae];return Z}function K(E,$,Z,ae){if("function"==typeof E.on)ae.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function oe(te){ae.once&&E.removeEventListener($,oe),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return C},set:function(E){if("number"!=typeof E||E<0||H(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");C=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||H($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return T(this)},v.prototype.emit=function($){for(var Z=[],ae=1;ae0&&(Te=Z[0]),Te instanceof Error)throw Te;var me=new Error("Unhandled error."+(Te?" ("+Te.message+")":""));throw me.context=Te,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var ye=ne.length,Oe=P(ne,ye);for(ae=0;ae=0;Te--)if(ae[Te]===Z||ae[Te].listener===Z){me=ae[Te].listener,te=Te;break}if(te<0)return this;0===te?ae.shift():function(E,$){for(;$+1=0;oe--)this.removeListener($,Z[oe]);return this},v.prototype.listeners=function($){return A(this,$,!0)},v.prototype.rawListeners=function($){return A(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):z.call(E,$)},v.prototype.listenerCount=z,v.prototype.eventNames=function(){return this._eventsCount>0?k(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,k,Q,H){var v,C,R=8*H-Q-1,T=(1<>1,y=-7,S=k?H-1:0,A=k?-1:1,z=W[j+S];for(S+=A,v=z&(1<<-y)-1,z>>=-y,y+=R;y>0;v=256*v+W[j+S],S+=A,y-=8);for(C=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;C=256*C+W[j+S],S+=A,y-=8);if(0===v)v=1-b;else{if(v===T)return C?NaN:1/0*(z?-1:1);C+=Math.pow(2,Q),v-=b}return(z?-1:1)*C*Math.pow(2,v-Q)},he.write=function(W,j,k,Q,H,v){var C,R,T,b=8*v-H-1,y=(1<>1,A=23===H?Math.pow(2,-24)-Math.pow(2,-77):0,z=Q?0:v-1,P=Q?1:-1,X=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(R=isNaN(j)?1:0,C=y):(C=Math.floor(Math.log(j)/Math.LN2),j*(T=Math.pow(2,-C))<1&&(C--,T*=2),(j+=C+S>=1?A/T:A*Math.pow(2,1-S))*T>=2&&(C++,T/=2),C+S>=y?(R=0,C=y):C+S>=1?(R=(j*T-1)*Math.pow(2,H),C+=S):(R=j*Math.pow(2,S-1)*Math.pow(2,H),C=0));H>=8;W[k+z]=255&R,z+=P,R/=256,H-=8);for(C=C<0;W[k+z]=255&C,z+=P,C/=256,b-=8);W[k+z-P]|=128*X}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,k){k&&(j.super_=k,j.prototype=Object.create(k.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,k){if(k){j.super_=k;var Q=function(){};Q.prototype=k.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:k}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:H}=Y("./url"),v=Y("./JsonLdError"),C=Y("./ResolvedContext");function T(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const A=y["@context"];if(k(A))y["@context"]=H(S,A);else if(W(A))for(let z=0;z10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(P.has(A))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:A});let X,ue;P.add(A);try{ue=yield z(A),X=ue.document||null,k(X)&&(X=JSON.parse(X))}catch(I){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:A,cause:I})}if(!j(X))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:A});return X="@context"in X?{"@context":X["@context"]}:{"@context":{}},ue.contextUrl&&(W(X["@context"])||(X["@context"]=[X["@context"]]),X["@context"].push(ue.contextUrl)),{context:X,remoteDoc:ue}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",k="jsonld.Error",Q={}){super(j),this.name=k,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(k,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(k,Q)},j.expand=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(k)},j.flatten=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(k)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const k=this;return k._loader=j,function(){return k.add.apply(k,arguments)}}add(j){var k=this;return yt(function*(){let Q=k._requests[j];if(Q)return Promise.resolve(Q);Q=k._requests[j]=k._loader(j);try{return yield Q}finally{delete k._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,H){this.cache.set(Q,H)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isString:Q,isUndefined:H}=Y("./types"),{isList:v,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{removeBase:X,prependBase:ue}=Y("./url"),{addValue:I,asArray:O,compareShortestLeast:K}=Y("./util"),E={};function Z(ae,oe,te){if("@nest"!==y(ae,oe,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var ae=yt(function*({activeCtx:oe,activeProperty:te=null,element:Te,options:me={},compactionMap:ne=(()=>{})}){if(j(Te)){let Oe=[];for(let $e=0;$e1&&(tt=Array.from(tt).sort());const Xe=oe;for(const Le of tt){const Ke=E.compactIri({activeCtx:Xe,iri:Le,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");H(Me)||(oe=yield z({activeCtx:oe,localCtx:Me,options:me,propagate:!1}))}const ze=Object.keys(Te).sort();for(const Le of ze){const Ke=Te[Le];if("@id"!==Le)if("@type"!==Le)if("@reverse"!==Le)if("@preserve"!==Le)if("@index"!==Le)if("@graph"!==Le&&"@list"!==Le&&"@included"!==Le&&A(Le)){const Me=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:oe,iri:Le,value:Ke,relativeTo:{vocab:!0},reverse:Oe}),Ue=oe.mappings.has(Me)?oe.mappings.get(Me)["@nest"]:null;let qe=$e;Ue&&(Z(oe,Ue,me),k($e[Ue])||($e[Ue]={}),qe=$e[Ue]),I(qe,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ue=E.compactIri({activeCtx:oe,iri:Le,value:Me,relativeTo:{vocab:!0},reverse:Oe}),qe=oe.mappings.has(Ue)?oe.mappings.get(Ue)["@nest"]:null;let ke=$e;qe&&(Z(oe,qe,me),k($e[qe])||($e[qe]={}),ke=$e[qe]);const q=S(oe,Ue,"@container")||[],G=R(Me),pe=v(Me);let de;pe?de=Me["@list"]:G&&(de=Me["@graph"]);let je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:pe||G?de:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){I(ke,Ue,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:oe,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&T(Me))){let _t;ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}});I(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&T(Me)?(j(je)&&je.length>1&&(je={"@included":je}),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:oe,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={},q.includes("@language"))C(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const we=S(oe,Ue,"@index")||"@index",B=E.compactIri({activeCtx:oe,iri:we,relativeTo:{vocab:!0}});if("@index"===we)pt=Me["@index"],delete je[B];else{let N;if([pt,...N]=O(je[we]||[]),Q(pt))switch(N.length){case 0:delete je[we];break;case 1:je[we]=N[0];break;default:je[we]=N}else pt=null}}else if(q.includes("@id")){const we=E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}});pt=je[we],delete je[we]}else if(q.includes("@type")){const we=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}});let B;switch([pt,...B]=O(je[we]||[]),B.length){case 0:delete je[we];break;case 1:je[we]=B[0];break;default:je[we]=B}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}})),I(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===Le||"@graph"===Le;I(ke,Ue,je,{propertyIsArray:_t})}}}else{if((S(oe,te,"@container")||[]).includes("@index"))continue;const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Ke)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||I($e,Le,Me)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ue in Me)if(oe.mappings.has(Ue)&&oe.mappings.get(Ue).reverse){const qe=Me[Ue],q=(S(oe,Ue,"@container")||[]).includes("@set")||!me.compactArrays;I($e,Ue,qe,{propertyIsArray:q}),delete Me[Ue]}if(Object.keys(Me).length>0){const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Me)}}else{let Me=O(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ue=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}}),q=(S(oe,Ue,"@container")||[]).includes("@set")&&P(oe,1.1)||j(Me)&&0===Ke.length;I($e,Ue,Me,{propertyIsArray:q})}else{let Me=O(Ke).map(qe=>E.compactIri({activeCtx:oe,iri:qe,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),$e[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return $e}return Te});return function(oe){return ae.apply(this,arguments)}}(),E.compactIri=({activeCtx:ae,iri:oe,value:te=null,relativeTo:Te={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===oe)return oe;ae.isPropertyTermScoped&&ae.previousContext&&(ae=ae.previousContext);const ye=ae.getInverse();if(A(oe)&&oe in ye&&"@none"in ye[oe]&&"@type"in ye[oe]["@none"]&&"@none"in ye[oe]["@none"]["@type"])return ye[oe]["@none"]["@type"]["@none"];if(Te.vocab&&oe in ye){const tt=ae["@language"]||"@none",Xe=[];k(te)&&"@index"in te&&!("@graph"in te)&&Xe.push("@index","@index@set"),k(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Xe.push("@graph@id","@graph@id@set"),Xe.push("@graph","@graph@set","@set"),"@index"in te||Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Xe.push("@graph@id","@graph@id@set")):k(te)&&!C(te)&&Xe.push("@id","@id@set","@type","@set@type");let ze="@language",Le="@null";if(me)ze="@type",Le="@reverse",Xe.push("@set");else if(v(te)){"@index"in te||Xe.push("@list");const Me=te["@list"];if(0===Me.length)ze="@any",Le="@none";else{let Ue=0===Me.length?tt:null,qe=null;for(let ke=0;kest.includes("_"));$e&&ye.push($e.replace(/^[^_]+_/,"_"))}ye.push("@none");const Oe=ae.inverse[oe];for(const $e of Te){if(!($e in Oe))continue;const st=Oe[$e][me];for(const Qe of ye)if(Qe in st)return st[Qe]}return null}(ae,oe,te,Xe,ze,Le);if(null!==Ke)return Ke}if(Te.vocab&&"@vocab"in ae){const tt=ae["@vocab"];if(0===oe.indexOf(tt)&&oe!==tt){const Xe=oe.substr(tt.length);if(!ae.mappings.has(Xe))return Xe}}let Oe=null;const $e=[];let st=ae.fastCurieMap;const Qe=oe.length-1;for(let tt=0;tt=0;--tt){const Xe=$e[tt],ze=Xe.terms;for(const Le of ze){const Ke=Le+":"+oe.substr(Xe.iri.length);ae.mappings.get(Le)._prefix&&(!ae.mappings.has(Ke)||null===te&&ae.mappings.get(Ke)["@id"]===oe)&&(null===Oe||K(Ke,Oe)<0)&&(Oe=Ke)}}if(null!==Oe)return Oe;for(const[tt,Xe]of ae.mappings)if(Xe&&Xe._prefix&&oe.startsWith(tt+":"))throw new W(`Absolute IRI "${oe}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ae});return Te.vocab?oe:"@base"in ae?ae["@base"]?X(ue(ne,ae["@base"]),oe):oe:X(ne,oe)},E.compactValue=({activeCtx:ae,activeProperty:oe,value:te,options:Te})=>{if(C(te)){const Oe=S(ae,oe,"@type"),$e=S(ae,oe,"@language"),st=S(ae,oe,"@direction"),Qe=S(ae,oe,"@container")||[],tt="@index"in te&&!Qe.includes("@index");if(!tt&&"@none"!==Oe&&(te["@type"]===Oe||"@language"in te&&te["@language"]===$e&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===$e||"@direction"in te&&te["@direction"]===st))return te["@value"];const Xe=Object.keys(te).length,ze=1===Xe||2===Xe&&"@index"in te&&!tt,Le="@language"in ae,Ke=Q(te["@value"]),Me=ae.mappings.has(oe)&&null===ae.mappings.get(oe)["@language"];if(ze&&"@none"!==Oe&&(!Le||!Ke||Me))return te["@value"];const Ue={};return tt&&(Ue[E.compactIri({activeCtx:ae,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[E.compactIri({activeCtx:ae,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:ae,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[E.compactIri({activeCtx:ae,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const me=y(ae,oe,{vocab:!0},Te),ne=S(ae,oe,"@type"),ye=E.compactIri({activeCtx:ae,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Te.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?ye:{[E.compactIri({activeCtx:ae,iri:"@id",relativeTo:{vocab:!0}})]:ye}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:k,isObject:Q,isString:H,isUndefined:v}=Y("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,z=/^@[a-zA-Z]+$/,P={};function X(I,O,K,E,$,Z){if(null===O||!H(O)||P.isKeyword(O))return O;if(O.match(z))return null;if(E&&E.hasOwnProperty(O)&&!0!==$.get(O)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:O,defined:$,options:Z}),(K=K||{}).vocab){const oe=I.mappings.get(O);if(null===oe)return null;if(Q(oe)&&"@id"in oe)return oe["@id"]}const ae=O.indexOf(":");if(ae>0){const oe=O.substr(0,ae),te=O.substr(ae+1);if("_"===oe||0===te.indexOf("//"))return O;E&&E.hasOwnProperty(oe)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:oe,defined:$,options:Z});const Te=I.mappings.get(oe);if(Te&&Te._prefix)return Te["@id"]+te;if(C(O))return O}if(K.vocab&&"@vocab"in I)return I["@vocab"]+O;if(K.base&&"@base"in I){if(I["@base"])return T(T(Z.base,I["@base"]),O)}else if(K.base)return T(Z.base,O);return O}function ue(I,O){if(!I||"object"!=typeof I||!O||"object"!=typeof O)return I===O;const K=Array.isArray(I);if(K!==Array.isArray(O))return!1;if(K){if(I.length!==O.length)return!1;for(let Z=0;Z{if(E.has(K)){if(E.get(K))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:O,term:K})}let ae;if(E.set(K,!1),O.hasOwnProperty(K)&&(ae=O[K]),"@type"===K&&Q(ae)&&"@set"===(ae["@container"]||"@set")&&P.processingMode(I,1.1)){const Oe=["@container","@id","@protected"],$e=Object.keys(ae);if(0===$e.length||$e.some(st=>!Oe.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K})}else{if(P.isKeyword(K))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K});if(K.match(z))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:K});if(""===K)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:O})}const oe=I.mappings.get(K);I.mappings.has(K)&&I.mappings.delete(K);let te=!1;if((H(ae)||null===ae)&&(te=!0,ae={"@id":ae}),!Q(ae))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:O});const Te={};I.mappings.set(K,Te),Te.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];P.processingMode(I,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Oe in ae)if(!me.includes(Oe))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Oe,"jsonld.SyntaxError",{code:"invalid term definition",context:O});const ne=K.indexOf(":");if(Te._termHasColon=ne>0,"@reverse"in ae){if("@id"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});if("@nest"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});const Oe=ae["@reverse"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));const $e=X(I,Oe,{vocab:!0,base:!1},O,E,$);if(!C($e))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=$e,Te.reverse=!0}else if("@id"in ae){let Oe=ae["@id"];if(Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(null===Oe)Te["@id"]=null;else{if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));if(Oe!==K){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe)&&!P.isKeyword(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(K.match(/(?::[^:])|\//)&&X(I,K,{vocab:!0,base:!1},O,new Map(E).set(K,!0),$)!==Oe)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=Oe,Te._prefix=te&&!Te._termHasColon&&Oe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Te))if(Te._termHasColon){const Oe=K.substr(0,ne);if(O.hasOwnProperty(Oe)&&P.createTermDefinition({activeCtx:I,localCtx:O,term:Oe,defined:E,options:$}),I.mappings.has(Oe)){const $e=K.substr(ne+1);Te["@id"]=I.mappings.get(Oe)["@id"]+$e}else Te["@id"]=K}else if("@type"===K)Te["@id"]=K;else{if(!("@vocab"in I))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O,term:K});Te["@id"]=I["@vocab"]+K}if((!0===ae["@protected"]||!0===E.get("@protected")&&!1!==ae["@protected"])&&(I.protected[K]=!0,Te.protected=!0),E.set(K,!0),"@type"in ae){let Oe=ae["@type"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if("@json"===Oe||"@none"===Oe){if(P.processingMode(I,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Oe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else if("@id"!==Oe&&"@vocab"!==Oe){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if(0===Oe.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}Te["@type"]=Oe}if("@container"in ae){const Oe=H(ae["@container"])?[ae["@container"]]:ae["@container"]||[],$e=["@list","@set","@index","@language"];let st=!0;const Qe=Oe.includes("@set");if(P.processingMode(I,1.1)){if($e.push("@graph","@id","@type"),Oe.includes("@list")){if(1!==Oe.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else if(Oe.includes("@graph")){if(Oe.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else st&=Oe.length<=(Qe?2:1);if(Oe.includes("@type")&&(Te["@type"]=Te["@type"]||"@id",!["@id","@vocab"].includes(Te["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else st&=!k(ae["@container"]),st&=Oe.length<=1;if(st&=Oe.every(tt=>$e.includes(tt)),st&=!(Qe&&Oe.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+$e.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:O});if(Te.reverse&&!Oe.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});Te["@container"]=Oe}if("@index"in ae){if(!("@container"in ae)||!Te["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});if(!H(ae["@index"])||0===ae["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});Te["@index"]=ae["@index"]}if("@context"in ae&&(Te["@context"]=ae["@context"]),"@language"in ae&&!("@type"in ae)){let Oe=ae["@language"];if(null!==Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:O});null!==Oe&&(Oe=Oe.toLowerCase()),Te["@language"]=Oe}if("@prefix"in ae){if(K.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:O});if(P.isKeyword(Te["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:O});if("boolean"!=typeof ae["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:O});Te._prefix=!0===ae["@prefix"]}if("@direction"in ae){const Oe=ae["@direction"];if(null!==Oe&&"ltr"!==Oe&&"rtl"!==Oe)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:O});Te["@direction"]=Oe}if("@nest"in ae){const Oe=ae["@nest"];if(!H(Oe)||"@nest"!==Oe&&0===Oe.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:O});Te["@nest"]=Oe}const ye=Te["@id"];if("@context"===ye||"@preserve"===ye)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:O});if(oe&&oe.protected&&!Z&&(I.protected[K]=!0,Te.protected=!0,!ue(oe,Te))){const Oe=$&&$.protectedMode||"error";if("error"===Oe)throw new j(`Invalid JSON-LD syntax; tried to redefine "${K}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:O,term:K});if("warn"===Oe)return void console.warn("WARNING: protected term redefinition",{term:K});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:O,term:K,protectedMode:Oe})}},P.expandIri=(I,O,K,E)=>X(I,O,K,void 0,void 0,E),P.getInitialContext=I=>{const O=JSON.stringify({processingMode:I.processingMode}),K=S.get(O);if(K)return K;const E={processingMode:I.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Te=this;if(Te.inverse)return Te.inverse;const me=Te.inverse={},ne=Te.fastCurieMap={},ye={},Oe=(Te["@language"]||"@none").toLowerCase(),$e=Te["@direction"],st=Te.mappings,Qe=[...st.keys()].sort(y);for(const tt of Qe){const Xe=st.get(tt);if(null===Xe)continue;let ze=Xe["@container"]||"@none";if(ze=[].concat(ze).sort().join(""),null===Xe["@id"])continue;const Le=b(Xe["@id"]);for(const Ke of Le){let Me=me[Ke];const Ue=P.isKeyword(Ke);if(Me)!Ue&&!Xe._termHasColon&&ye[Ke].push(tt);else if(me[Ke]=Me={},!Ue&&!Xe._termHasColon){ye[Ke]=[tt];const qe={iri:Ke,terms:ye[Ke]};Ke[0]in ne?ne[Ke[0]].push(qe):ne[Ke[0]]=[qe]}if(Me[ze]||(Me[ze]={"@language":{},"@type":{},"@any":{}}),Me=Me[ze],ae(tt,Me["@any"],"@none"),Xe.reverse)ae(tt,Me["@type"],"@reverse");else if("@none"===Xe["@type"])ae(tt,Me["@any"],"@none"),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none");else if("@type"in Xe)ae(tt,Me["@type"],Xe["@type"]);else if("@language"in Xe&&"@direction"in Xe){const qe=Xe["@language"],ke=Xe["@direction"];ae(tt,Me["@language"],qe&&ke?`${qe}_${ke}`.toLowerCase():qe?qe.toLowerCase():ke?`_${ke}`:"@null")}else"@language"in Xe?ae(tt,Me["@language"],(Xe["@language"]||"@null").toLowerCase()):"@direction"in Xe?ae(tt,Me["@language"],Xe["@direction"]?`_${Xe["@direction"]}`:"@none"):$e?(ae(tt,Me["@language"],`_${$e}`),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none")):(ae(tt,Me["@language"],Oe),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Te={};return Te.mappings=W.clone(this.mappings),Te.clone=this.clone,Te.inverse=null,Te.getInverse=this.getInverse,Te.protected=W.clone(this.protected),this.previousContext&&(Te.previousContext=this.previousContext.clone()),Te.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Te["@base"]=this["@base"]),"@language"in this&&(Te["@language"]=this["@language"]),"@vocab"in this&&(Te["@vocab"]=this["@vocab"]),Te},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(O,E),E;function Z(Te,me,ne){const ye=Te[me],Oe=Te[me]={};let $e,st;for(const Qe of ye)$e=Qe.iri,st=ne>=$e.length?"":$e[ne],st in Oe?Oe[st].push(Qe):Oe[st]=[Qe];for(const Qe in Oe)""!==Qe&&Z(Oe,Qe,ne+1)}function ae(Te,me,ne){me.hasOwnProperty(ne)||(me[ne]=Te)}},P.getContextValue=(I,O,K)=>{if(null===O)return"@context"===K?void 0:null;if(I.mappings.has(O)){const E=I.mappings.get(O);if(v(K))return E;if(E.hasOwnProperty(K))return E[K]}return"@language"===K&&K in I||"@direction"===K&&K in I?I[K]:"@context"!==K?null:void 0},P.processingMode=(I,O)=>O.toString()>="1.1"?!I.processingMode||I.processingMode>="json-ld-"+O.toString():"json-ld-1.0"===I.processingMode,P.isKeyword=I=>{if(!H(I)||"@"!==I[0])return!1;switch(I){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:k}=Y("../constants"),Q=Y("../JsonLdError"),H=Y("../RequestQueue"),{prependBase:v}=Y("../url"),C=/(^|(\r\n))link:/i;function R(T,b,y){const S=new(T=T||XMLHttpRequest);return new Promise((A,z)=>{S.onload=()=>A(S),S.onerror=P=>z(P),S.open("GET",b,!0);for(const P in y)S.setRequestHeader(P,y[P]);S.send()})}Se.exports=({secure:T,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new H).wrapLoader(A);function A(P){return z.apply(this,arguments)}function z(){return(z=yt(function*(P){if(0!==P.indexOf("http:")&&0!==P.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:P});if(T&&0!==P.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:P});let X;try{X=yield R(y,P,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:P,cause:E})}if(X.status>=400)throw new Q("URL could not be dereferenced: "+X.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:P,httpStatusCode:X.status});let ue={contextUrl:null,documentUrl:P,document:X.response},I=null;const O=X.getResponseHeader("Content-Type");let K;if(C.test(X.getAllResponseHeaders())&&(K=X.getResponseHeader("Link")),K&&"application/ld+json"!==O){const E=W(K),$=E[k];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:P});$&&(ue.contextUrl=$.target),I=E.alternate,I&&"application/ld+json"==I.type&&!(O||"").match(/^application\/(\w*\+)?json$/)&&(ue=yield A(v(P,I.target)))}return ue})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isEmptyObject:Q,isString:H,isUndefined:v}=Y("./types"),{isList:C,isValue:R,isGraph:T,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{isAbsolute:X}=Y("./url"),{addValue:ue,asArray:I,getValues:O,validateTypeValue:K}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return ae.apply(this,arguments)}function ae(){return(ae=yt(function*({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:$e,expandedParent:st,options:Qe={},insideList:tt,typeKey:Xe,typeScopedContext:ze,expansionMap:Le}){const Ke=Object.keys($e).sort(),Me=[];let Ue;const qe=$e[Xe]&&"@json"===y(ne,j($e[Xe])?$e[Xe][0]:$e[Xe],{vocab:!0},Qe);for(const ke of Ke){let G,q=$e[ke];if("@context"===ke)continue;let pe=y(ne,ke,{vocab:!0},Qe);if((null===pe||!X(pe)&&!A(pe))&&(pe=Le({unmappedProperty:ke,activeCtx:ne,activeProperty:ye,parent:$e,options:Qe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(A(pe)){if("@reverse"===Oe)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!H(q)){if(!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(k(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>H(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ue(st,"@id",I(q).map(pt=>H(pt)?y(ne,pt,{base:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@type"===pe){k(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,we])=>[y(ze,pt,{vocab:!0}),I(we).map(B=>y(ze,B,{base:!0,vocab:!0}))]))),K(q,Qe.isFrame),ue(st,"@type",I(q).map(pt=>H(pt)?y(ze,pt,{base:!0,vocab:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@included"===pe&&P(ne,1.1)){const pt=I(yield E.expand({activeCtx:ne,activeProperty:ye,element:q,options:Qe,expansionMap:Le}));if(!pt.every(we=>b(we)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ue(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!k(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ue=q,qe&&P(ne,1.1)?st["@value"]=q:ue(st,"@value",q,{propertyIsArray:Qe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=I(q).map(pt=>H(pt)?pt.toLowerCase():pt);for(const pt of q)H(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ue(st,"@language",q,{propertyIsArray:Qe.isFrame});continue}if("@direction"===pe){if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=I(q);for(const pt of q)if(H(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ue(st,"@direction",q,{propertyIsArray:Qe.isFrame});continue}if("@index"===pe){if(!H(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ue(st,"@index",q);continue}if("@reverse"===pe){if(!k(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Qe,expansionMap:Le}),"@reverse"in G)for(const we in G["@reverse"])ue(st,we,G["@reverse"][we],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const we in G){if("@reverse"===we)continue;null===pt&&(pt=st["@reverse"]={}),ue(pt,we,[],{propertyIsArray:!0});const B=G[we];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=I(G).map(pt=>({"@graph":I(pt)}))),de.mappings.has(ke)&&de.mappings.get(ke).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=I(G);for(let we=0;we"@value"===y(ne,pe,{vocab:!0},Qe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:G,expandedParent:st,options:Qe,insideList:tt,typeScopedContext:ze,typeKey:Xe,expansionMap:Le})}}})).apply(this,arguments)}function oe({activeCtx:ne,activeProperty:ye,value:Oe,options:$e}){if(null==Oe)return null;const st=y(ne,ye,{vocab:!0},$e);if("@id"===st)return y(ne,Oe,{base:!0},$e);if("@type"===st)return y(ne,Oe,{vocab:!0,base:!0},$e);const Qe=S(ne,ye,"@type");if(("@id"===Qe||"@graph"===st)&&H(Oe))return{"@id":y(ne,Oe,{base:!0},$e)};if("@vocab"===Qe&&H(Oe))return{"@id":y(ne,Oe,{vocab:!0,base:!0},$e)};if(A(st))return Oe;const tt={};if(Qe&&!["@id","@vocab","@none"].includes(Qe))tt["@type"]=Qe;else if(H(Oe)){const Xe=S(ne,ye,"@language");null!==Xe&&(tt["@language"]=Xe);const ze=S(ne,ye,"@direction");null!==ze&&(tt["@direction"]=ze)}return["boolean","number","string"].includes(typeof Oe)||(Oe=Oe.toString()),tt["@value"]=Oe,tt}function te(ne,ye,Oe,$e){const st=[],Qe=Object.keys(ye).sort();for(const tt of Qe){const Xe=y(ne,tt,{vocab:!0},$e);let ze=ye[tt];j(ze)||(ze=[ze]);for(const Le of ze){if(null===Le)continue;if(!H(Le))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ye});const Ke={"@value":Le};"@none"!==Xe&&(Ke["@language"]=tt.toLowerCase()),Oe&&(Ke["@direction"]=Oe),st.push(Ke)}}return st}function Te(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:ye,activeProperty:Oe,value:$e,expansionMap:st,asGraph:Qe,indexKey:tt,propertyIndex:Xe}){const ze=[],Le=Object.keys($e).sort(),Ke="@type"===tt;for(let Me of Le){if(Ke){const ke=S(ne,Me,"@context");v(ke)||(ne=yield z({activeCtx:ne,localCtx:ke,propagate:!1,options:ye}))}let qe,Ue=$e[Me];j(Ue)||(Ue=[Ue]),Ue=yield E.expand({activeCtx:ne,activeProperty:Oe,element:Ue,options:ye,insideList:!1,insideIndex:!0,expansionMap:st}),qe=Xe?"@none"===Me?"@none":oe({activeCtx:ne,activeProperty:tt,value:Me,options:ye}):y(ne,Me,{vocab:!0},ye),"@id"===tt?Me=y(ne,Me,{base:!0},ye):Ke&&(Me=qe);for(let ke of Ue){if(Qe&&!T(ke)&&(ke={"@graph":[ke]}),"@type"===tt)"@none"===qe||(ke["@type"]=ke["@type"]?[Me].concat(ke["@type"]):[Me]);else{if(R(ke)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:ke});Xe?"@none"!==qe&&ue(ke,Xe,qe,{propertyIsArray:!0,prependValue:!0}):"@none"!==qe&&!(tt in ke)&&(ke[tt]=Me)}ze.push(ke)}}return ze})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:ye,activeProperty:Oe=null,element:$e,options:st={},insideList:Qe=!1,insideIndex:tt=!1,typeScopedContext:Xe=null,expansionMap:ze=(()=>{})}){if(null==$e)return null;if("@default"===Oe&&(st=Object.assign({},st,{isFrame:!1})),!j($e)&&!k($e)){if(!Qe&&(null===Oe||"@graph"===y(ye,Oe,{vocab:!0},st))){const G=yield ze({unmappedValue:$e,activeCtx:ye,activeProperty:Oe,options:st,insideList:Qe});return void 0===G?null:G}return oe({activeCtx:ye,activeProperty:Oe,value:$e,options:st})}if(j($e)){let G=[];const pe=S(ye,Oe,"@container")||[];Qe=Qe||pe.includes("@list");for(let de=0;de<$e.length;++de){let je=yield E.expand({activeCtx:ye,activeProperty:Oe,element:$e[de],options:st,expansionMap:ze,insideIndex:tt,typeScopedContext:Xe});Qe&&j(je)&&(je={"@list":je}),(null!==je||(je=yield ze({unmappedValue:$e[de],activeCtx:ye,activeProperty:Oe,parent:$e,index:de,options:st,expandedParent:G,insideList:Qe}),void 0!==je))&&(j(je)?G=G.concat(je):G.push(je))}return G}const Le=y(ye,Oe,{vocab:!0},st),Ke=S(ye,Oe,"@context");Xe=Xe||(ye.previousContext?ye:null);let Me=Object.keys($e).sort(),Ue=!tt;if(Ue&&Xe&&Me.length<=2&&!Me.includes("@context"))for(const G of Me){const pe=y(Xe,G,{vocab:!0},st);if("@value"===pe){Ue=!1,ye=Xe;break}if("@id"===pe&&1===Me.length){Ue=!1;break}}Ue&&(ye=ye.revertToPreviousContext()),v(Ke)||(ye=yield z({activeCtx:ye,localCtx:Ke,propagate:!0,overrideProtected:!0,options:st})),"@context"in $e&&(ye=yield z({activeCtx:ye,localCtx:$e["@context"],options:st})),Xe=ye;let qe=null;for(const G of Me)if("@type"===y(ye,G,{vocab:!0},st)){qe=qe||G;const de=$e[G],je=Array.isArray(de)?de.length>1?de.slice().sort():de:[de];for(const _t of je){const pt=S(Xe,_t,"@context");v(pt)||(ye=yield z({activeCtx:ye,localCtx:pt,options:st,propagate:!1}))}}let ke={};yield Z({activeCtx:ye,activeProperty:Oe,expandedActiveProperty:Le,element:$e,expandedParent:ke,options:st,insideList:Qe,typeKey:qe,typeScopedContext:Xe,expansionMap:ze}),Me=Object.keys(ke);let q=Me.length;if("@value"in ke){if("@type"in ke&&("@language"in ke||"@direction"in ke))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});let G=q-1;if("@type"in ke&&(G-=1),"@index"in ke&&(G-=1),"@language"in ke&&(G-=1),"@direction"in ke&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});const pe=null===ke["@value"]?[]:I(ke["@value"]),de=O(ke,"@type");if(!P(ye,1.1)||!de.includes("@json")||1!==de.length)if(0===pe.length){const je=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==je?je:null}else{if(!pe.every(je=>H(je)||Q(je))&&"@language"in ke)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ke});if(!de.every(je=>X(je)&&!(H(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ke})}}else if("@type"in ke&&!j(ke["@type"]))ke["@type"]=[ke["@type"]];else if("@set"in ke||"@list"in ke){if(q>1&&(2!==q||!("@index"in ke)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ke});"@set"in ke&&(ke=ke["@set"],Me=Object.keys(ke),q=Me.length)}else if(1===q&&"@language"in ke){const G=yield ze(ke,{unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}if(k(ke)&&!st.keepFreeFloatingNodes&&!Qe&&(null===Oe||"@graph"===Le)&&(0===q||"@value"in ke||"@list"in ke||1===q&&"@id"in ke)){const G=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}return ke});return function(ye){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),k={};Se.exports=k,k.flatten=Q=>{const H=j(Q),v=[],C=Object.keys(H).sort();for(let R=0;R=0;--ae){const oe=Z[ae];if(oe.graph===$&&oe.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const ae="@"+Z;let oe=ae in E?E[ae][0]:$[Z];if("embed"===Z)if(!0===oe)oe="@once";else if(!1===oe)oe="@never";else if("@always"!==oe&&"@never"!==oe&&"@link"!==oe&&"@first"!==oe&&"@last"!==oe&&"@once"!==oe)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return oe}function A(E){if(!k.isArray(E)||1!==E.length||!k.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function P(E,$,Z,ae){let oe=!0,te=!1;for(const Te in Z){let me=!1;const ne=Q.getValues($,Te),ye=0===Q.getValues(Z,Te).length;if("@id"===Te){if(k.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!ae.requireAll)return me}else if("@type"===Te){if(oe=!1,ye){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&k.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Oe of Z["@type"])me=!(!k.isObject(Oe)||!("@default"in Oe))||me||ne.some($e=>$e===Oe);if(!ae.requireAll)return me}else{if(W(Te))continue;{const Oe=Q.getValues(Z,Te)[0];let $e=!1;if(Oe&&(A([Oe]),$e="@default"in Oe),oe=!1,0===ne.length&&$e)continue;if(ne.length>0&&ye)return!1;if(void 0===Oe){if(ne.length>0)return!1;me=!0}else if(j.isList(Oe)){const st=Oe["@list"][0];if(j.isList(ne[0])){const Qe=ne[0]["@list"];j.isValue(st)?me=Qe.some(tt=>K(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Qe.some(tt=>O(E,st,tt,ae)))}}else me=j.isValue(Oe)?ne.some(st=>K(Oe,st)):j.isSubjectReference(Oe)?ne.some(st=>O(E,Oe,st,ae)):!!k.isObject(Oe)&&ne.length>0}}if(!me&&ae.requireAll)return!1;te=te||me}return oe||te}function X(E,$){const Z=E.uniqueEmbeds[E.graph],ae=Z[$],oe=ae.parent,te=ae.property,Te={"@id":$};if(k.isArray(oe)){for(let ne=0;ne{const ye=Object.keys(Z);for(const Oe of ye)Oe in Z&&k.isObject(Z[Oe].parent)&&Z[Oe].parent["@id"]===ne&&(delete Z[Oe],me(Oe))};me($)}function ue(E,$){if(k.isArray(E))return E.map(Z=>ue(Z,$));if(k.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ue(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ue(E[Z],$)}return E}function I(E,$,Z){k.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function O(E,$,Z,ae){if(!("@id"in Z))return!1;const oe=E.subjects[Z["@id"]];return oe&&P(E,oe,$,ae)}function K(E,$){const Z=$["@value"],ae=$["@type"],oe=$["@language"],te=E["@value"]?k.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Te=E["@type"]?k.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?k.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Te.length&&0===me.length||!(!te.includes(Z)&&!k.isEmptyObject(te[0])||!(!ae&&0===Te.length||Te.includes(ae)||ae&&k.isEmptyObject(Te[0]))||!(!oe&&0===me.length||me.includes(oe)||oe&&k.isEmptyObject(me[0])))}Se.exports=T,T.frameMergedOrDefault=(E,$,Z)=>{const ae={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},oe=new Q.IdentifierIssuer("_:b");C(E,ae.graphMap,"@default",oe),Z.merged&&(ae.graphMap["@merged"]=R(ae.graphMap),ae.graph="@merged"),ae.subjects=ae.graphMap[ae.graph];const te=[];return T.frame(ae,Object.keys(ae.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(ae.bnodeMap).filter(Te=>1===ae.bnodeMap[Te].length)),Z.link={},ue(te,Z)},T.frame=(E,$,Z,ae,oe=null)=>{A(Z);const te=E.options,Te={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,ae){const oe={};for(const te of $){const Te=E.graphMap[E.graph][te];P(E,Te,Z,ae)&&(oe[te]=Te)}return oe}(E,$,Z,Te),ye=Object.keys(ne).sort();for(const Oe of ye){const $e=ne[Oe];if(null===oe?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Te.embed&&Oe in me){I(ae,oe,me[Oe]);continue}const st={"@id":Oe};if(0===Oe.indexOf("_:")&&Q.addValue(E.bnodeMap,Oe,st,{propertyIsArray:!0}),me[Oe]=st,("@first"===Te.embed||"@last"===Te.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){if(E.embedded&&("@never"===Te.embed||y($e,E.graph,E.subjectStack))){I(ae,oe,st);continue}if(E.embedded&&("@first"==Te.embed||"@once"==Te.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){I(ae,oe,st);continue}if("@last"===Te.embed&&Oe in E.uniqueEmbeds[E.graph]&&X(E,Oe),E.uniqueEmbeds[E.graph][Oe]={parent:ae,property:oe},E.subjectStack.push({subject:$e,graph:E.graph}),Oe in E.graphMap){let Qe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Qe=!("@merged"===Oe||"@default"===Oe),k.isObject(tt)||(tt={})):(Qe="@merged"!==E.graph,tt={}),Qe&&T.frame(xn(ot({},E),{graph:Oe,embedded:!1}),Object.keys(E.graphMap[Oe]).sort(),[tt],st,"@graph")}"@included"in Z&&T.frame(xn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Qe of Object.keys($e).sort())if(W(Qe)){if(st[Qe]=Q.clone($e[Qe]),"@type"===Qe)for(const tt of $e["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Te.explicit||Qe in Z)for(const tt of $e[Qe]){const Xe=Qe in Z?Z[Qe]:b(Te);if(j.isList(tt)){const ze=Z[Qe]&&Z[Qe][0]&&Z[Qe][0]["@list"]?Z[Qe][0]["@list"]:b(Te),Le={"@list":[]};I(st,Qe,Le);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?T.frame(xn(ot({},E),{embedded:!0}),[Me["@id"]],ze,Le,"@list"):I(Le,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?T.frame(xn(ot({},E),{embedded:!0}),[tt["@id"]],Xe,st,Qe):K(Xe[0],tt)&&I(st,Qe,Q.clone(tt))}for(const Qe of Object.keys(Z).sort()){if("@type"===Qe){if(!k.isObject(Z[Qe][0])||!("@default"in Z[Qe][0]))continue}else if(W(Qe))continue;const tt=Z[Qe][0]||{};if(!S(tt,te,"omitDefault")&&!(Qe in st)){let ze="@null";"@default"in tt&&(ze=Q.clone(tt["@default"])),k.isArray(ze)||(ze=[ze]),st[Qe]=[{"@preserve":ze}]}}for(const Qe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Qe];for(const Xe of Object.keys(E.subjects))Q.getValues(E.subjects[Xe],Qe).some(Le=>Le["@id"]===Oe)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Qe,[],{propertyIsArray:!0}),T.frame(xn(ot({},E),{embedded:!0}),[Xe],tt,st["@reverse"][Qe],oe))}I(ae,oe,st),E.subjectStack.pop()}}},T.cleanupNull=(E,$)=>{if(k.isArray(E))return E.map(ae=>T.cleanupNull(ae,$)).filter(ae=>ae);if("@null"===E)return null;if(k.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=T.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),{RDF_LIST:H,RDF_FIRST:v,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:A,XSD_STRING:z}=Y("./constants"),P=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,X={};function ue(I,O,K){if(I.termType.endsWith("Node"))return{"@id":I.value};const E={"@value":I.value};if(I.language)E["@language"]=I.language;else{let $=I.datatype.value;if($||($=z),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(O){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(k.isNumeric(E["@value"]))if($===A){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,A,S,z].includes($)||(E["@type"]=$)}else if("i18n-datatype"===K&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,ae]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(P)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=ae}else $!==z&&(E["@type"]=$)}return E}Se.exports=X,X.fromRDF=function(){var I=yt(function*(O,{useRdfType:K=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},ae={"@default":Z},oe={};for(const me of O){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in ae||(ae[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const ye=ae[ne],Oe=me.subject.value,$e=me.predicate.value,st=me.object;Oe in ye||(ye[Oe]={"@id":Oe});const Qe=ye[Oe],tt=st.termType.endsWith("Node");if(tt&&!(st.value in ye)&&(ye[st.value]={"@id":st.value}),$e===T&&!K&&tt){Q.addValue(Qe,"@type",st.value,{propertyIsArray:!0});continue}const Xe=ue(st,E,$);if(Q.addValue(Qe,$e,Xe,{propertyIsArray:!0}),tt)if(st.value===R){const ze=ye[st.value];"usages"in ze||(ze.usages=[]),ze.usages.push({node:Qe,property:$e,value:Xe})}else oe[st.value]=!(st.value in oe)&&{node:Qe,property:$e,value:Xe}}for(const me in ae){const ne=ae[me];if(!(R in ne))continue;const ye=ne[R];if(ye.usages){for(let Oe of ye.usages){let $e=Oe.node,st=Oe.property,Qe=Oe.value;const tt=[],Xe=[];let ze=Object.keys($e).length;for(;st===C&&k.isObject(oe[$e["@id"]])&&k.isArray($e[v])&&1===$e[v].length&&k.isArray($e[C])&&1===$e[C].length&&(3===ze||4===ze&&k.isArray($e["@type"])&&1===$e["@type"].length&&$e["@type"][0]===H)&&(tt.push($e[v][0]),Xe.push($e["@id"]),Oe=oe[$e["@id"]],$e=Oe.node,st=Oe.property,Qe=Oe.value,ze=Object.keys($e).length,j.isBlankNode($e)););delete Qe["@id"],Qe["@list"]=tt.reverse();for(const Le of Xe)delete ne[Le]}delete ye.usages}}const te=[],Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me];if(me in ae){const ye=ne["@graph"]=[],Oe=ae[me],$e=Object.keys(Oe).sort();for(const st of $e){const Qe=Oe[st];j.isSubjectReference(Qe)||ye.push(Qe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(O,K){return I.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=k=>!(!W.isObject(k)||"@value"in k||"@set"in k||"@list"in k)&&(Object.keys(k).length>1||!("@id"in k)),j.isSubjectReference=k=>W.isObject(k)&&1===Object.keys(k).length&&"@id"in k,j.isValue=k=>W.isObject(k)&&"@value"in k,j.isList=k=>W.isObject(k)&&"@list"in k,j.isGraph=k=>W.isObject(k)&&"@graph"in k&&1===Object.keys(k).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=k=>j.isGraph(k)&&!("@id"in k),j.isBlankNode=k=>!!W.isObject(k)&&("@id"in k?0===k["@id"].indexOf("_:"):0===Object.keys(k).length||!("@value"in k||"@set"in k||"@list"in k))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),k=Y("./util"),Q=Y("./ContextResolver"),H=k.IdentifierIssuer,v=Y("./JsonLdError"),C=Y("lru-cache"),R=Y("./NQuads"),{expand:T}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:A,cleanupNull:z}=Y("./frame"),{isArray:P,isObject:X,isString:ue}=Y("./types"),{isSubjectReference:I}=Y("./graphTypes"),{expandIri:O,getInitialContext:K,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:ae}=Y("./compact"),{createNodeMap:oe,createMergedNodeMap:te,mergeNodeMaps:Te}=Y("./nodeMap"),me=function(ye){const Oe={},st=new C({max:100});function Qe(tt,Le){var Ke=Le,{documentLoader:Xe=ye.documentLoader}=Ke,ze=Pq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Xe},ze,tt)}return ye.compact=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===ze)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Xe)return null;let Ke;(Le=Qe(Le,{base:ue(Xe)?Xe:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new H("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(Le.skipExpansion=!0),Le.compactToRelative||delete Le.base,Ke=Le.skipExpansion?Xe:yield ye.expand(Xe,Le);const Me=yield ye.processContext(K(Le),ze,Le);let Ue=yield Z({activeCtx:Me,element:Ke,options:Le,compactionMap:Le.compactionMap});Le.compactArrays&&!Le.graph&&P(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):Le.graph&&X(Ue)&&(Ue=[Ue]),X(ze)&&"@context"in ze&&(ze=ze["@context"]),ze=k.clone(ze),P(ze)||(ze=[ze]);const qe=ze;ze=[];for(let q=0;q0)&&ze.push(qe[q]);const ke=ze.length>0;if(1===ze.length&&(ze=ze[0]),P(Ue)){const q=ae({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ue;Ue={},ke&&(Ue["@context"]=ze),Ue[q]=G}else if(X(Ue)&&ke){const q=Ue;Ue={"@context":ze};for(const G in q)Ue[G]=q[G]}return Ue});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.expand=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(ze=Qe(ze,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(ze.expansionMap=void 0);const Le={},Ke=[];if("expandContext"in ze){const ke=k.clone(ze.expandContext);Le.expandContext=X(ke)&&"@context"in ke?ke:{"@context":ke},Ke.push(Le.expandContext)}let Me;if(ue(Xe)){const ke=yield ye.get(Xe,ze);Me=ke.documentUrl,Le.input=ke.document,ke.contextUrl&&(Le.remoteContext={"@context":ke.contextUrl},Ke.push(Le.remoteContext))}else Le.input=k.clone(Xe);"base"in ze||(ze.base=Me||"");let Ue=K(ze);for(const ke of Ke)Ue=yield E({activeCtx:Ue,localCtx:ke,options:ze});let qe=yield T({activeCtx:Ue,element:Le.input,options:ze,expansionMap:ze.expansionMap});return X(qe)&&"@graph"in qe&&1===Object.keys(qe).length?qe=qe["@graph"]:null===qe&&(qe=[]),P(qe)||(qe=[qe]),qe});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.flatten=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Ke=yield ye.expand(Xe,Le),Me=b(Ke);return null===ze?Me:(Le.graph=!0,Le.skipExpansion=!0,yield ye.compact(Me,ze,Le))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.frame=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Le=Qe(Le,{base:ue(Xe)?Xe:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ue(ze)){const de=yield ye.get(ze,Le);if(ze=de.document,de.contextUrl){let je=ze["@context"];je?P(je)?je.push(de.contextUrl):je=[je,de.contextUrl]:je=de.contextUrl,ze["@context"]=je}}const Ke=ze&&ze["@context"]||{},Me=yield ye.processContext(K(Le),Ke,Le);Le.hasOwnProperty("omitGraph")||(Le.omitGraph=$(Me,1.1)),Le.hasOwnProperty("pruneBlankNodeIdentifiers")||(Le.pruneBlankNodeIdentifiers=$(Me,1.1));const Ue=yield ye.expand(Xe,Le),qe=ot({},Le);qe.isFrame=!0,qe.keepFreeFloatingNodes=!0;const ke=yield ye.expand(ze,qe),q=Object.keys(ze).map(de=>O(Me,de,{vocab:!0}));qe.merged=!q.includes("@graph"),qe.is11=$(Me,1.1);const G=A(Ue,ke,qe);qe.graph=!Le.omitGraph,qe.skipExpansion=!0,qe.link={},qe.framing=!0;let pe=yield ye.compact(G,Ke,qe);return qe.link={},pe=z(pe,qe),pe});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.link=function(){var tt=yt(function*(Xe,ze,Le){const Ke={};return ze&&(Ke["@context"]=ze),Ke["@embed"]="@link",ye.frame(Xe,Ke,Le)});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.normalize=ye.canonize=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(ze=Qe(ze,{base:ue(Xe)?Xe:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==ze.inputFormat&&"application/nquads"!==ze.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=R.parse(Xe);return W.canonize(Me,ze)}const Le=ot({},ze);delete Le.format,Le.produceGeneralizedRdf=!1;const Ke=yield ye.toRDF(Xe,Le);return W.canonize(Ke,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.fromRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");ze=Qe(ze,{format:ue(Xe)?"application/n-quads":void 0});const{format:Le}=ze;let{rdfParser:Ke}=ze;if(Le){if(Ke=Ke||Oe[Le],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:Le})}else Ke=()=>Xe;const Me=yield Ke(Xe);return y(Me,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.toRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Le;Le=(ze=Qe(ze,{base:ue(Xe)?Xe:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Xe:yield ye.expand(Xe,ze);const Ke=S(Le,ze);if(ze.format){if("application/n-quads"===ze.format||"application/nquads"===ze.format)return R.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:ze.format})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.createNodeMap=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");ze=Qe(ze,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Le=yield ye.expand(Xe,ze);return te(Le,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.merge=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!P(Xe))throw new TypeError('Could not merge, "docs" must be an array.');ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Xe.map(de=>{const je=ot({},Le);return ye.expand(de,je)}));let Me=!0;"mergeNodes"in Le&&(Me=Le.mergeNodes);const Ue=Le.issuer||new H("_:b"),qe={"@default":{}};for(let de=0;deye._documentLoader,set:tt=>ye._documentLoader=tt}),ye.documentLoader=function(){var tt=yt(function*(Xe){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Xe})});return function(Xe){return tt.apply(this,arguments)}}(),ye.get=function(){var tt=yt(function*(Xe,ze){let Le;Le="function"==typeof ze.documentLoader?ze.documentLoader:ye.documentLoader;const Ke=yield Le(Xe);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ue(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.processContext=function(){var tt=yt(function*(Xe,ze,Le){return Le=Qe(Le,{base:"",contextResolver:new Q({sharedCache:st})}),null===ze?K(Le):(ze=k.clone(ze),X(ze)&&"@context"in ze||(ze={"@context":ze}),E({activeCtx:Xe,localCtx:ze,options:Le}))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.getContextValue=Y("./context").getContextValue,ye.documentLoaders={},ye.useDocumentLoader=function(tt){if(!(tt in ye.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});ye.documentLoader=ye.documentLoaders[tt].apply(ye,Array.prototype.slice.call(arguments,1))},ye.registerRDFParser=function(tt,Xe){Oe[tt]=Xe},ye.unregisterRDFParser=function(tt){delete Oe[tt]},ye.registerRDFParser("application/n-quads",R.parse),ye.registerRDFParser("application/nquads",R.parse),ye.url=Y("./url"),ye.util=k,Object.assign(ye,k),ye.promises=ye,ye.RequestQueue=Y("./RequestQueue"),ye.JsonLdProcessor=Y("./JsonLdProcessor")(ye),j.setupGlobals(ye),j.setupDocumentLoaders(ye),ye},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),H=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(C,b,"@default",T),v.mergeNodeMaps(b)},v.createNodeMap=(C,R,T,b,y,S)=>{if(k.isArray(C)){for(const X of C)v.createNodeMap(X,R,T,b,void 0,S);return}if(!k.isObject(C))return void(S&&S.push(C));if(j.isValue(C)){if("@type"in C){let X=C["@type"];0===X.indexOf("_:")&&(C["@type"]=X=b.getId(X))}return void(S&&S.push(C))}if(S&&j.isList(C)){const X=[];return v.createNodeMap(C["@list"],R,T,b,y,X),void S.push({"@list":X})}if("@type"in C){const X=C["@type"];for(const ue of X)0===ue.indexOf("_:")&&b.getId(ue)}k.isUndefined(y)&&(y=j.isBlankNode(C)?b.getId(C["@id"]):C["@id"]),S&&S.push({"@id":y});const A=R[T],z=A[y]=A[y]||{};z["@id"]=y;const P=Object.keys(C).sort();for(let X of P){if("@id"===X)continue;if("@reverse"===X){const I={"@id":y},O=C["@reverse"];for(const K in O){const E=O[K];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,R,T,b,Z),Q.addValue(A[Z],K,I,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===X){y in R||(R[y]={}),v.createNodeMap(C[X],R,y,b);continue}if("@included"===X){v.createNodeMap(C[X],R,T,b);continue}if("@type"!==X&&W(X)){if("@index"===X&&X in z&&(C[X]!==z[X]||C[X]["@id"]!==z[X]["@id"]))throw new H("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:z});z[X]=C[X];continue}const ue=C[X];if(0===X.indexOf("_:")&&(X=b.getId(X)),0!==ue.length)for(let I of ue)if("@type"===X&&(I=0===I.indexOf("_:")?b.getId(I):I),j.isSubject(I)||j.isSubjectReference(I)){if("@id"in I&&!I["@id"])continue;const O=j.isBlankNode(I)?b.getId(I["@id"]):I["@id"];Q.addValue(z,X,{"@id":O},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(I,R,T,b,O)}else if(j.isValue(I))Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(I)){const O=[];v.createNodeMap(I["@list"],R,T,b,y,O),I={"@list":O},Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(I,R,T,b,y),Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(z,X,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const b of Object.keys(C[T]).sort()){const y=C[T][b];b in R||(R[b]={"@id":b});const S=R[b];for(const A of Object.keys(y).sort())if(W(A)&&"@type"!==A)S[A]=Q.clone(y[A]);else for(const z of y[A])Q.addValue(S,A,Q.clone(z),{propertyIsArray:!0,allowDuplicate:!1})}return R},v.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const b of T){if("@default"===b)continue;const y=C[b];let S=R[b];S?"@graph"in S||(S["@graph"]=[]):R[b]=S={"@id":b,"@graph":[]};const A=S["@graph"];for(const z of Object.keys(y).sort()){const P=y[z];j.isSubjectReference(P)||A.push(P)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(k){"undefined"!=typeof XMLHttpRequest&&(k.documentLoaders.xhr=W,k.useDocumentLoader("xhr"))},j.setupGlobals=function(k){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:k.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),k=Y("./graphTypes"),Q=Y("canonicalize"),H=Y("./types"),v=Y("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:A,XSD_DOUBLE:z,XSD_INTEGER:P,XSD_STRING:X}=Y("./constants"),{isAbsolute:ue}=Y("./url"),I={};function O($,Z,ae,oe,te){const Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me],ye=Object.keys(ne).sort();for(let Oe of ye){const $e=ne[Oe];if("@type"===Oe)Oe=b;else if(j(Oe))continue;for(const st of $e){const Qe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ue(me))continue;const tt={termType:Oe.startsWith("_:")?"BlankNode":"NamedNode",value:Oe};if(!ue(Oe)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Xe=E(st,oe,$,ae,te.rdfDirection);Xe&&$.push({subject:Qe,predicate:tt,object:Xe,graph:ae})}}}}function E($,Z,ae,oe,te){const Te={};if(k.isValue($)){Te.termType="Literal",Te.value=void 0,Te.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Te.value=Q(me),Te.datatype.value=y):H.isBoolean(me)?(Te.value=me.toString(),Te.datatype.value=ne||A):H.isDouble(me)||ne===z?(H.isDouble(me)||(me=parseFloat(me)),Te.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Te.datatype.value=ne||z):H.isNumber(me)?(Te.value=me.toFixed(0),Te.datatype.value=ne||P):"i18n-datatype"===te&&"@direction"in $?(Te.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Te.value=me):"@language"in $?(Te.value=me,Te.datatype.value=ne||S,Te.language=$["@language"]):(Te.value=me,Te.datatype.value=ne||X)}else if(k.isList($)){const me=function($,Z,ae,oe,te){const Te={termType:"NamedNode",value:C},me={termType:"NamedNode",value:R},ne={termType:"NamedNode",value:T},ye=$.pop(),Oe=ye?{termType:"BlankNode",value:Z.getId()}:ne;let $e=Oe;for(const st of $){const Qe=E(st,Z,ae,oe,te),tt={termType:"BlankNode",value:Z.getId()};ae.push({subject:$e,predicate:Te,object:Qe,graph:oe}),ae.push({subject:$e,predicate:me,object:tt,graph:oe}),$e=tt}if(ye){const st=E(ye,Z,ae,oe,te);ae.push({subject:$e,predicate:Te,object:st,graph:oe}),ae.push({subject:$e,predicate:me,object:ne,graph:oe})}return Oe}($["@list"],Z,ae,oe,te);Te.termType=me.termType,Te.value=me.value}else{const me=H.isObject($)?$["@id"]:$;Te.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Te.value=me}return"NamedNode"!==Te.termType||ue(Te.value)?Te:null}Se.exports=I,I.toRDF=($,Z)=>{const ae=new v.IdentifierIssuer("_:b"),oe={"@default":{}};W($,oe,"@default",ae);const te=[],Te=Object.keys(oe).sort();for(const me of Te){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ue(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}O(te,oe[me],ne,ae,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,H)=>{const v={},C=j.parsers[H||"full"],R=C.regex.exec(Q);let T=C.keys.length;for(;T--;)v[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,H)=>{if(null===Q||j.isAbsolute(H))return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(H),C={protocol:Q.protocol||""};if(null!==v.authority)C.authority=v.authority,C.path=v.path,C.query=v.query;else if(C.authority=Q.authority,""===v.path)C.path=Q.path,C.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))C.path=v.path;else{let T=Q.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Q.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=v.path,C.path=T}C.query=v.query}""!==v.path&&(C.path=j.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==v.fragment&&(R+="#"+v.fragment),""===R&&(R="./"),R},j.removeBase=(Q,H)=>{if(null===Q)return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):H.indexOf("//")&&(v+="//"),0!==H.indexOf(v))return H;const C=j.parse(H.substr(v.length)),R=Q.normalizedPath.split("/"),T=C.normalizedPath.split("/"),b=C.fragment||C.query?0:1;for(;R.length>0&&T.length>b&&R[0]===T[0];)R.shift(),T.shift();let y="";if(R.length>0){R.pop();for(let S=0;S{if(0===Q.length)return"";const H=Q.split("/"),v=[];for(;H.length>0;){const C=H.shift(),R=0===H.length;"."!==C?".."!==C?v.push(C):(v.pop(),R&&v.push("")):R&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const k=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&k.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),k=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),H=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function b(y,S){if(j.isArray(S))for(let A=0;A{if(Object.keys(y).some(A=>"accept"===A.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},y)},T.parseLinkHeader=y=>{const S={},A=y.match(H);for(let z=0;z{if(!(j.isString(y)||j.isArray(y)&&y.every(A=>j.isString(A)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&T.asArray(y["@default"]).every(A=>j.isString(A)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},T.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const A=y[S];return!j.isArray(A)||A.length>0}return!1},T.hasValue=(y,S,A)=>{if(T.hasProperty(y,S)){let z=y[S];const P=W.isList(z);if(j.isArray(z)||P){P&&(z=z["@list"]);for(let X=0;X{if("propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1),"valueIsArray"in z||(z.valueIsArray=!1),"allowDuplicate"in z||(z.allowDuplicate=!0),"prependValue"in z||(z.prependValue=!1),z.valueIsArray)y[S]=A;else if(j.isArray(A)){0===A.length&&z.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),z.prependValue&&(A=A.concat(y[S]),y[S]=[]);for(let P=0;P[].concat(y[S]||[]),T.removeProperty=(y,S)=>{delete y[S]},T.removeValue=(y,S,A,z)=>{"propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1);const P=T.getValues(y,S).filter(X=>!T.compareValues(X,A));0===P.length?T.removeProperty(y,S):y[S]=1!==P.length||z.propertyIsArray?P:P[0]},T.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new k("_:b"),y),T.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],T.compareShortestLeast=(y,S)=>y.length1;const z=(K,E,$)=>{const Z=K[b].get(E);if(Z){const ae=Z.value;if(P(K,ae)){if(ue(K,Z),!K[H])return}else $&&(K[y]&&(Z.value.now=Date.now()),K[T].unshiftNode(Z));return ae.value}},P=(K,E)=>{if(!E||!E.maxAge&&!K[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:K[v]&&$>K[v]},X=K=>{if(K[k]>K[j])for(let E=K[T].tail;K[k]>K[j]&&null!==E;){const $=E.prev;ue(K,E),E=$}},ue=(K,E)=>{if(E){const $=E.value;K[C]&&K[C]($.key,$.value),K[k]-=$.length,K[b].delete($.key),K[T].removeNode(E)}};class I{constructor(E,$,Z,ae,oe){this.key=E,this.value=$,this.length=Z,this.now=ae,this.maxAge=oe||0}}const O=(K,E,$,Z)=>{let ae=$.value;P(K,ae)&&(ue(K,$),K[H]||(ae=void 0)),ae&&E.call(Z,ae.value,ae.key,K)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[H]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[C]=E.dispose,this[R]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,X(this)}get max(){return this[j]}set allowStale(E){this[H]=!!E}get allowStale(){return this[H]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,X(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[k]=0,this[T].forEach($=>{$.length=this[Q]($.value,$.key),this[k]+=$.length})),X(this)}get lengthCalculator(){return this[Q]}get length(){return this[k]}get itemCount(){return this[T].length}rforEach(E,$){$=$||this;for(let Z=this[T].tail;null!==Z;){const ae=Z.prev;O(this,E,Z,$),Z=ae}}forEach(E,$){$=$||this;for(let Z=this[T].head;null!==Z;){const ae=Z.next;O(this,E,Z,$),Z=ae}}keys(){return this[T].toArray().map(E=>E.key)}values(){return this[T].toArray().map(E=>E.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(E=>this[C](E.key,E.value)),this[b]=new Map,this[T]=new W,this[k]=0}dump(){return this[T].map(E=>!P(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[T]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const ae=Z?Date.now():0,oe=this[Q]($,E);if(this[b].has(E)){if(oe>this[j])return ue(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[C]&&(this[R]||this[C](E,me.value)),me.now=ae,me.maxAge=Z,me.value=$,this[k]+=oe-me.length,me.length=oe,this.get(E),X(this),!0}const te=new I(E,$,oe,ae,Z);return te.length>this[j]?(this[C]&&this[C](E,$),!1):(this[k]+=te.length,this[T].unshift(te),this[b].set(E,this[T].head),X(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!P(this,$)}get(E){return z(this,E,!0)}peek(E){return z(this,E,!1)}pop(){const E=this[T].tail;return E?(ue(this,E),E.value):null}del(E){ue(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const ae=E[Z],oe=ae.e||0;if(0===oe)this.set(ae.k,ae.v);else{const te=oe-$;te>0&&this.set(ae.k,ae.v,te)}}}prune(){this[b].forEach((E,$)=>z(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",k="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${k}reify#forSome`,forAll:`${k}reify#forAll`},log:{implies:`${k}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function I(ne,ye){if(ye=ye||b,!ne)return ye.defaultGraph();switch(ne[0]){case"?":return ye.variable(ne.substr(1));case"_":return ye.blankNode(ne.substr(2));case'"':if(ye===b)return new z(ne);if('"'===ne[ne.length-1])return ye.literal(ne.substr(1,ne.length-2));const Oe=ne.lastIndexOf('"',ne.length-1);return ye.literal(ne.substr(1,Oe-1),"@"===ne[Oe+1]?ne.substr(Oe+2):ye.namedNode(ne.substr(Oe+3)));case"<":const $e=T.exec(ne);return ye.quad(I($($e[1]),ye),I($($e[2]),ye),I($($e[3]),ye),$e[4]&&I($($e[4]),ye));default:return ye.namedNode(ne)}},he.termToId=function O(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==H.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(O(ne.subject))} ${E(O(ne.predicate))} ${E(O(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${O(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:H}=W.default;let v,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new A(ne)},blankNode:function(ne){return new P(ne||"n3-"+C++)},variable:function(ne){return new X(ne)},literal:function(ne,ye){if("string"==typeof ye)return new z(`"${ne}"@${ye.toLowerCase()}`);let Oe=ye?ye.value:"";return""===Oe&&("boolean"==typeof ne?Oe=H.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Oe=Number.isInteger(ne)?H.integer:H.double:(Oe=H.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new z(""===Oe||Oe===H.string?`"${ne}"`:`"${ne}"^^${Oe}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(ye){this.id=ye}get value(){return this.id}equals(ye){return ye instanceof S?this.id===ye.id:!!ye&&this.termType===ye.termType&&this.value===ye.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class A extends S{get termType(){return"NamedNode"}}he.NamedNode=A;class z extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ye=this.id;let Oe=ye.lastIndexOf('"')+1;return Oe`"${Oe.replace(/"/g,'""')}`)}function $(ne){return ne.replace(R,(ye,Oe)=>`"${Oe.replace(/""/g,'"')}`)}function me(ne,ye,Oe,$e){return new K(ne,ye,Oe,$e)}he.Triple=he.Quad=K},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),k=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:H}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(A){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(A=A||{}).lineMode){this._n3Mode=!1;for(const z in this)!(z in T)&&this[z]instanceof RegExp&&(this[z]=b)}else this._n3Mode=!1!==A.n3;this._comments=!!A.comments,this._literalClosingPos=0}_tokenizeToEnd(A,z){let P=this._input,X=P.length;for(;;){let O,K;for(;O=this._newline.exec(P);)this._comments&&(K=this._comment.exec(O[0]))&&ue("comment",K[1],"",this._line,O[0].length),P=P.substr(O[0].length,P.length),X=P.length,this._line++;if(!O&&(O=this._whitespace.exec(P))&&(P=P.substr(O[0].length,P.length)),this._endOfFile.test(P))return z&&(this._comments&&(K=this._comment.exec(P))&&ue("comment",K[1],"",this._line,P.length),P=null,ue("eof","","",this._line,0)),this._input=P;const E=this._line,$=P[0];let Z="",ae="",oe="",te=null,Te=0,me=!1;switch($){case"^":if(P.length<3)break;if("^"!==P[1]){this._n3Mode&&(Te=1,Z="^");break}if(this._previousMarker="^^",P=P.substr(2),"<"!==P[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(P))Z="IRI",ae=te[1];else if(te=this._iri.exec(P)){if(ae=this._unescape(te[1]),null===ae||R.test(ae))return I(this);Z="IRI"}else P.length>1&&"<"===P[1]?(Z="<<",Te=2):this._n3Mode&&P.length>1&&"="===P[1]&&(Z="inverse",Te=2,ae=">");break;case">":P.length>1&&">"===P[1]&&(Z=">>",Te=2);break;case"_":((te=this._blank.exec(P))||z&&(te=this._blank.exec(`${P} `)))&&(Z="blank",oe="_",ae=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(P))&&(Z="var",ae=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(P))?(Z="langcode",ae=te[1]):(te=this._keyword.exec(P))&&(Z=te[0]);break;case".":if(1===P.length?z:P[1]<"0"||P[1]>"9"){Z=".",Te=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(P)||z&&(te=this._number.exec(`${P} `)))&&(Z="literal",ae=te[0],oe="string"==typeof te[1]?H.double:"string"==typeof te[2]?H.decimal:H.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(P))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(P))?(Z="literal",ae=te[0],oe=H.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(P))?(Z="abbreviation",ae="a"):me=!0;break;case"=":this._n3Mode&&P.length>1&&(Z="abbreviation",">"!==P[1]?(Te=1,ae="="):(Te=2,ae=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Te=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(P))?((te=this._prefixed.exec(P))||z&&(te=this._prefixed.exec(`${P} `)))&&(Z="prefixed",oe=te[1]||"",ae=this._unescape(te[2])):(Z="prefix",ae=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return z||!/^'''|^"""/.test(P)&&/\n|\r/.test(P)?I(this):this._input=P;const ne=Te||te[0].length,ye=ue(Z,ae,oe,E,ne);this.previousToken=ye,this._previousMarker=Z,P=P.substr(ne,P.length)}function ue(O,K,E,$,Z){const ae=P?X-P.length:X,te={type:O,value:K,prefix:E,line:$,start:ae,end:ae+Z};return A(null,te),te}function I(O){A(O._syntaxError(/^\S*/.exec(P)[0]))}}_unescape(A){let z=!1;const P=A.replace(v,(X,ue,I,O)=>{if("string"==typeof ue)return String.fromCharCode(Number.parseInt(ue,16));if("string"==typeof I){let K=Number.parseInt(I,16);return K<=65535?String.fromCharCode(Number.parseInt(I,16)):String.fromCharCode(55296+((K-=65536)>>10),56320+(1023&K))}return O in C?C[O]:(z=!0,"")});return z?null:P}_parseLiteral(A){if(A.length>=3){const z=A.match(/^(?:"""|"|'''|'|)/)[0],P=z.length;let X=Math.max(this._literalClosingPos,P);for(;(X=A.indexOf(z,X))>0;){let ue=0;for(;"\\"===A[X-ue-1];)ue++;if(ue%2==0){const I=A.substring(P,X),O=I.split(/\r\n|\r|\n/).length-1,K=X+P;if(1===P&&0!==O||3===P&&this._lineMode)break;return this._line+=O,{value:this._unescape(I),matchLength:K}}X++}this._literalClosingPos=A.length-P+1}return{value:"",matchLength:0}}_syntaxError(A){this._input=null;const z=new Error(`Unexpected "${A}" on line ${this._line}.`);return z.context={token:void 0,line:this._line,previousToken:this.previousToken},z}_readStartingBom(A){return A.startsWith("\ufeff")?A.substr(1):A}tokenize(A,z){if(this._line=1,"string"==typeof A){if(this._input=this._readStartingBom(A),"function"!=typeof z){const P=[];let X;if(this._tokenizeToEnd((ue,I)=>ue?X=ue:P.push(I),!0),X)throw X;return P}(0,k.default)(()=>this._tokenizeToEnd(z,!0))}else this._pendingBuffer=null,"function"==typeof A.setEncoding&&A.setEncoding("utf8"),A.on("data",P=>{null!==this._input&&0!==P.length&&(this._pendingBuffer&&(P=W.concat([this._pendingBuffer,P]),this._pendingBuffer=null),128&P[P.length-1]?this._pendingBuffer=P:(void 0===this._input?this._input=this._readStartingBom("string"==typeof P?P:P.toString()):this._input+=P,this._tokenizeToEnd(z,!1)))}),A.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(z,!0)}),A.on("error",z)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),k=Q(Y("./IRIs"));function Q(T){return T&&T.__esModule?T:{default:T}}let H=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&R(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),A=/trig/.test(y),z=/triple/.test(y),P=/quad/.test(y),X=this._n3Mode=/n3/.test(y),ue=z||P;(this._supportsNamedGraphs=!(S||X))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||A||z||X),this._supportsRDFStar=""===y||/star|\*$/.test(y),ue&&(this._resolveRelativeIRI=I=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ue,n3:X}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){H=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,A,z){const P=this._n3Mode;this._contextStack.push({subject:S,predicate:A,object:z,graph:y,type:b,inverse:!!P&&this._inversePredicate,blankPrefix:P?this._prefixes._:"",quantified:P?this._quantified:null}),P&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const A=this._resolveIRI(b.value);if(null===A)return this._error("Invalid IRI",b);S=this._namedNode(A);break;case"type":case"prefixed":const z=this._prefixes[b.prefix];if(void 0===z)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(z+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,A=this._readListItem;const z=this._subject,P=this._contextStack,X=P[P.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),A=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==P.length&&"list"===P[P.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(A=this._readPredicate,this._subject===this.RDF_NIL)return A}else if(A=this._getContextEndReader(),this._object===this.RDF_NIL)return A;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,A=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),A=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===z?null===X.predicate?X.subject=S:X.object=S:this._emit(z,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return A}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const A=this._subject,z=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,z&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==A){const P=this._predicate,X=this._object;z?this._emit(X,P,A,S):this._emit(A,P,X,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const A=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,A,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const A=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=A):(y=this._object,this._object=A),this._emit(y,S,A,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,A;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(A=this._subject,this._subject=y):(A=this._object,this._object=y),this._emit(y,S,A,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,A){this._callback(null,this._quad(b,y,S,A||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=C}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",A=-1,z=-1,P=0,X="/";for(;A=z&&(S=S.substr(0,P)),"/"!==X)return`${S}/${b.substr(A+1)}`;P=A+1}}}X=b[++A]}return S+b.substring(P)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${H++}_`,this._prefixCallback=S||C,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const A=[];let z;if(this._callback=(P,X)=>{P?z=P:X&&A.push(X)},this._lexer.tokenize(b).every(P=>this._readCallback=this._readCallback(P)),z)throw z;return A}this._callback=y,this._lexer.tokenize(b,(A,z)=>{null!==A?(this._callback(A),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(z))})}}function C(){}function R(T,b){const y=b.namedNode;T._namedNode=y,T._blankNode=b.blankNode,T._literal=b.literal,T._variable=b.variable,T._quad=b.quad,T.DEFAULTGRAPH=b.defaultGraph(),T.RDF_FIRST=y(k.default.rdf.first),T.RDF_REST=y(k.default.rdf.rest),T.RDF_NIL=y(k.default.rdf.nil),T.N3_FORALL=y(k.default.r.forAll),T.N3_FORSOME=y(k.default.r.forSome),T.ABBREVIATIONS={a:y(k.default.rdf.type),"=":y(k.default.owl.sameAs),">":y(k.default.log.implies)},T.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,R(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=H(y);if(S&&S.has(b))return S.get(b);var A={},z=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in b)if("default"!==P&&Object.prototype.hasOwnProperty.call(b,P)){var X=z?Object.getOwnPropertyDescriptor(b,P):null;X&&(X.get||X.set)?Object.defineProperty(A,P,X):A[P]=b[P]}return A.default=b,S&&S.set(b,A),A}(Y("./N3DataFactory")),j=Y("readable-stream"),k=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function H(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(H=function(A){return A?S:y})(b)}class C{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let A,z;for(const P in S)for(const X in A=S[P].subjects)for(const ue in z=A[X])y+=Object.keys(z[ue]).length;return this._size=y}_addToIndex(y,S,A,z){const P=y[S]||(y[S]={}),X=P[A]||(P[A]={}),ue=z in X;return ue||(X[z]=null),!ue}_removeFromIndex(y,S,A,z){const P=y[S],X=P[A];delete X[z];for(const ue in X)return;delete P[A];for(const ue in P)return;delete y[S]}*_findInIndex(y,S,A,z,P,X,ue,I){let O,K,E;const Z=!S+!A+!z>1?Object.keys(this._ids):this._entities,ae=(0,W.termFromId)(I,this._factory);S&&((O=y,y={})[S]=O[S]);for(const oe in y){const te=Z[oe];if(K=y[oe]){A&&((O=K,K={})[A]=O[A]);for(const Te in K){const me=Z[Te];if(E=K[Te]){const ne=z?z in E?[z]:[]:Object.keys(E);for(let ye=0;ye{A in S||(S[A]=!0,y((0,W.termFromId)(this._entities[A],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);let P=this._graphs[z];P||(P=this._graphs[z]={subjects:{},predicates:{},objects:{}},Object.freeze(P));const X=this._ids,ue=this._entities;y=X[y]||(X[ue[++this._id]=y]=this._id),S=X[S]||(X[ue[++this._id]=S]=this._id),A=X[A]||(X[ue[++this._id]=A]=this._id);const I=this._addToIndex(P.subjects,y,S,A);return this._addToIndex(P.predicates,S,A,y),this._addToIndex(P.objects,A,y,S),this._size=null,I}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);const P=this._ids,X=this._graphs;let ue,I,O;if(!((y=P[y])&&(S=P[S])&&(A=P[A])&&(ue=X[z])&&(I=ue.subjects[y])&&(O=I[S])&&A in O))return!1;for(y in this._removeFromIndex(ue.subjects,y,S,A),this._removeFromIndex(ue.predicates,S,A,y),this._removeFromIndex(ue.objects,A,y,S),null!==this._size&&this._size--,ue.subjects)return!0;return delete X[z],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,A,z){const P=new j.Readable({objectMode:!0});return P._read=()=>{for(const X of this.readQuads(y,S,A,z))P.push(X);P.push(null)},this.remove(P)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,A,z){return[...this.readQuads(y,S,A,z)]}*readQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let ue,I,O,K;if(!(R(y)&&!(I=X[y])||R(S)&&!(O=X[S])||R(A)&&!(K=X[A])))for(const E in P)(ue=P[E])&&(I?K?yield*this._findInIndex(ue.objects,K,I,O,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,I,O,null,"subject","predicate","object",E,null,!0):O?yield*this._findInIndex(ue.predicates,O,K,null,"predicate","object","subject",E,null,!0):K?yield*this._findInIndex(ue.objects,K,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,A,z){return new T(this,y,S,A,z)}countQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let I,O,K,E,ue=0;if(R(y)&&!(O=X[y])||R(S)&&!(K=X[S])||R(A)&&!(E=X[A]))return 0;for(const $ in P)(I=P[$])&&(ue+=y?A?this._countInIndex(I.objects,E,O,K):this._countInIndex(I.subjects,O,K,E):S?this._countInIndex(I.predicates,K,E,O):this._countInIndex(I.objects,E,O,K));return ue}forEach(y,S,A,z,P){this.some(X=>(y(X),!1),S,A,z,P)}every(y,S,A,z,P){let X=!1;const ue=!this.some(I=>(X=!0,!y(I)),S,A,z,P);return X&&ue}some(y,S,A,z,P){for(const X of this.readQuads(S,A,z,P))if(y(X))return!0;return!1}getSubjects(y,S,A){const z=[];return this.forSubjects(P=>{z.push(P)},y,S,A),z}forSubjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.predicates,I,O,y):this._loopByKey1(ue.subjects,I,y):O?this._loopByKey0(ue.objects,O,y):this._loop(ue.subjects,y))}getPredicates(y,S,A){const z=[];return this.forPredicates(P=>{z.push(P)},y,S,A),z}forPredicates(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.objects,O,I,y):this._loopByKey0(ue.subjects,I,y):O?this._loopByKey1(ue.predicates,O,y):this._loop(ue.predicates,y))}getObjects(y,S,A){const z=[];return this.forObjects(P=>{z.push(P)},y,S,A),z}forObjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.subjects,I,O,y):this._loopByKey1(ue.objects,I,y):O?this._loopByKey0(ue.predicates,O,y):this._loop(ue.objects,y))}getGraphs(y,S,A){const z=[];return this.forGraphs(P=>{z.push(P)},y,S,A),z}forGraphs(y,S,A,z){for(const P in this._graphs)this.some(X=>(y(X.graph),!0),S,A,z,P)}createBlankNode(y){let S,A;if(y)for(S=y=`_:${y}`,A=1;this._ids[S];)S=y+A++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const A={},z=S?()=>!0:(ue,I)=>{throw new Error(`${ue.value} ${I}`)},P=this.getQuads(null,k.default.rdf.rest,k.default.rdf.nil,null),X=y?[...P]:[];return P.forEach(ue=>{const I=[];let K,E,O=!1;const $=ue.graph;let Z=ue.subject;for(;Z&&!O;){const ae=this.getQuads(null,null,Z,null),oe=this.getQuads(Z,null,null,null);let te,Te=null,me=null,ne=null;for(let ye=0;ye{switch(b){case"data":R=y;break;case"end":T=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{R(b),S()},this._flush=b=>{T(),b()}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var H,W=Y("readable-stream"),j=(H=Y("./N3Writer"))&&H.__esModule?H:{default:H};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new j.default({write:(R,T,b)=>{this.push(R),b&&b()},end:R=>{this.push(null),R&&R()}},v);this._transform=(R,T,b)=>{C.addQuad(R,b)},this._flush=R=>{C.end(R)}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),v.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return C(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=C,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function C(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const A=Object.create(null);for(const P in y)z(P,y[P]);function z(P,X){if("string"==typeof X){const ue=Object.create(null);A[P]=I=>ue[I]||(ue[I]=S.namedNode(X+I))}else if(!(P in A))throw new Error(`Unknown prefix: ${P}`);return A[P]}return S=S||W.default,z}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ue,W=(ue=Y("./IRIs"))&&ue.__esModule?ue:{default:ue},j=function(ue,I){if(!I&&ue&&ue.__esModule)return ue;if(null===ue||"object"!=typeof ue&&"function"!=typeof ue)return{default:ue};var O=Q(I);if(O&&O.has(ue))return O.get(ue);var K={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ue)if("default"!==$&&Object.prototype.hasOwnProperty.call(ue,$)){var Z=E?Object.getOwnPropertyDescriptor(ue,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(K,$,Z):K[$]=ue[$]}return K.default=ue,O&&O.set(ue,K),K}(Y("./N3DataFactory")),k=Y("./N3Util");function Q(ue){if("function"!=typeof WeakMap)return null;var I=new WeakMap,O=new WeakMap;return(Q=function(K){return K?O:I})(ue)}const C=j.default.defaultGraph(),{rdf:R,xsd:T}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class A extends j.Term{equals(){return!1}}function P(ue){let I=S[ue];return void 0===I&&(1===ue.length?(I=ue.charCodeAt(0).toString(16),I="\\u0000".substr(0,6-I.length)+I):(I=(1024*(ue.charCodeAt(0)-55296)+ue.charCodeAt(1)+9216).toString(16),I="\\U00000000".substr(0,10-I.length)+I)),I}function X(ue){return ue.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(I,O){if(this._prefixRegex=/$0^/,I&&"function"!=typeof I.write&&(O=I,I=null),this._lists=(O=O||{}).lists,I)this._outputStream=I,this._endStream=void 0===O.end||!!O.end;else{let K="";this._outputStream={write(E,$,Z){K+=E,Z&&Z()},end:E=>{E&&E(null,K)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(O.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),O.prefixes&&this.addPrefixes(O.prefixes),O.baseIRI&&(this._baseMatcher=new RegExp(`^${X(O.baseIRI)}${O.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=O.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(I,O){this._outputStream.write(I,"utf8",O)}_writeQuad(I,O,K,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),I.equals(this._subject)?O.equals(this._predicate)?this._write(`, ${this._encodeObject(K)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=I)} ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(I,O,K,E,$){delete this._prefixMatch,this._write(this.quadToString(I,O,K,E),$)}quadToString(I,O,K,E){return`${this._encodeSubject(I)} ${this._encodeIriOrBlank(O)} ${this._encodeObject(K)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(I){return I.map(O=>this.quadToString(O.subject,O.predicate,O.object,O.graph)).join("")}_encodeSubject(I){return"Quad"===I.termType?this._encodeQuad(I):this._encodeIriOrBlank(I)}_encodeIriOrBlank(I){if("NamedNode"!==I.termType)return this._lists&&I.value in this._lists&&(I=this.list(this._lists[I.value])),"id"in I?I.id:`_:${I.value}`;let O=I.value;this._baseMatcher&&this._baseMatcher.test(O)&&(O=O.substr(this._baseLength)),b.test(O)&&(O=O.replace(y,P));const K=this._prefixRegex.exec(O);return K?K[1]?this._prefixIRIs[K[1]]+K[2]:O:`<${O}>`}_encodeLiteral(I){let O=I.value;if(b.test(O)&&(O=O.replace(y,P)),I.language)return`"${O}"@${I.language}`;if(this._lineMode){if(I.datatype.value===T.string)return`"${O}"`}else switch(I.datatype.value){case T.string:return`"${O}"`;case T.boolean:if("true"===O||"false"===O)return O;break;case T.integer:if(/^[+-]?\d+$/.test(O))return O;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(O))return O;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(O))return O}return`"${O}"^^${this._encodeIriOrBlank(I.datatype)}`}_encodePredicate(I){return I.value===R.type?"a":this._encodeIriOrBlank(I)}_encodeObject(I){switch(I.termType){case"Quad":return this._encodeQuad(I);case"Literal":return this._encodeLiteral(I);default:return this._encodeIriOrBlank(I)}}_encodeQuad({subject:I,predicate:O,object:K,graph:E}){return`<<${this._encodeSubject(I)} ${this._encodePredicate(O)} ${this._encodeObject(K)}${(0,k.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(I,O,K,E,$){void 0===K?this._writeQuad(I.subject,I.predicate,I.object,I.graph,O):"function"==typeof E?this._writeQuad(I,O,K,C,E):this._writeQuad(I,O,K,E||C,$)}addQuads(I){for(let O=0;O.\n`)}if(K){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=X(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(K?"\n":"",O)}blank(I,O){let E,$,K=I;switch(void 0===I?K=[]:I.termType?K=[{predicate:I,object:O}]:"length"in I||(K=[I]),$=K.length){case 0:return new A("[]");case 1:if(E=K[0],!(E.object instanceof A))return new A(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let ae=0;ae<$;ae++)E=K[ae],E.predicate.equals(I)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(ae?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,I=E.predicate);return new A(`${Z}\n]`)}}list(I){const O=I&&I.length||0,K=new Array(O);for(let E=0;E{O=null,I(K,E)});if(this._endStream)try{return this._outputStream.end(O)}catch(K){}O&&O()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return R.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return k.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return R.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),k=y(Y("./N3Writer")),Q=y(Y("./N3Store")),H=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),C=b(Y("./N3Util"));he.Util=C;var R=b(Y("./N3DataFactory"));function T(A){if("function"!=typeof WeakMap)return null;var z=new WeakMap,P=new WeakMap;return(T=function(X){return X?P:z})(A)}function b(A,z){if(!z&&A&&A.__esModule)return A;if(null===A||"object"!=typeof A&&"function"!=typeof A)return{default:A};var P=T(z);if(P&&P.has(A))return P.get(A);var X={},ue=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in A)if("default"!==I&&Object.prototype.hasOwnProperty.call(A,I)){var O=ue?Object.getOwnPropertyDescriptor(A,I):null;O&&(O.get||O.set)?Object.defineProperty(X,I,O):X[I]=A[I]}return X.default=A,P&&P.set(A,X),X}function y(A){return A&&A.__esModule?A:{default:A}}he.default={Lexer:W.default,Parser:j.default,Writer:k.default,Store:Q.default,StreamParser:H.default,StreamWriter:v.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,k,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}function v(X){if(j===setTimeout)return setTimeout(X,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(X,0);try{return j(X,0)}catch(ue){try{return j.call(null,X,0)}catch(I){return j.call(this,X,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(X){j=Q}try{k="function"==typeof clearTimeout?clearTimeout:H}catch(X){k=H}}();var b,R=[],T=!1,y=-1;function S(){!T||!b||(T=!1,b.length?R=b.concat(R):y=-1,R.length&&A())}function A(){if(!T){var X=v(S);T=!0;for(var ue=R.length;ue;){for(b=R,R=[];++y1)for(var I=1;I(j||(j=Promise.resolve())).then(k).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class Nq{constructor(j,k=new Map,Q=0){this.prefix=j,this._existing=k,this.counter=Q}clone(){const{prefix:j,_existing:k,counter:Q}=this;return new Nq(j,new Map(k),Q)}getId(j){const k=j&&this._existing.get(j);if(k)return k;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(k){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===k)this.algorithm={name:"SHA-256"};else{if("sha1"!==k)throw new Error(`Unsupport algorithm "${k}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(k){this._content+=k}digest(){var k=this;return yt(function*(){const Q=(new TextEncoder).encode(k._content),H=new Uint8Array(yield W.subtle.digest(k.algorithm,Q));let v="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class nF{static parse(X){const ue=[],I={},O=X.split(T.eoln);let K=0;for(const E of O){if(K++,T.empty.test(E))continue;const $=E.match(T.quad);if(null===$)throw new Error("N-Quads parse error on line "+K+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:H,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:H,value:$[3]},void 0!==$[4]?Z.object={termType:H,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:C,value:void 0,datatype:{termType:H}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=k,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(A,function(X,ue,I,O){if(ue)switch(ue){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(I)return String.fromCharCode(parseInt(I,16));if(O)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:H,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:R,value:""},Z.graph.value in I){let ae=!0;const oe=I[Z.graph.value];for(const te of oe)if(b(te,Z)){ae=!1;break}ae&&(oe.push(Z),ue.push(Z))}else I[Z.graph.value]=[Z],ue.push(Z)}return ue}static serialize(X){Array.isArray(X)||(X=nF.legacyDatasetToQuads(X));const ue=[];for(const I of X)ue.push(nF.serializeQuad(I));return ue.sort().join("")}static serializeQuad(X){const ue=X.subject,O=X.object,K=X.graph;let E="";return E+=ue.termType===H?`<${ue.value}>`:`${ue.value}`,E+=` <${X.predicate.value}> `,O.termType===H?E+=`<${O.value}>`:O.termType===v?E+=O.value:(E+=`"${P=O.value,P.replace(y,function(X){switch(X){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,O.datatype.value===k?O.language&&(E+=`@${O.language}`):O.datatype.value!==Q&&(E+=`^^<${O.datatype.value}>`)),K.termType===H?E+=` <${K.value}>`:K.termType===v&&(E+=` ${K.value}`),E+=" .\n",E;var P}static legacyDatasetToQuads(X){const ue=[],I={"blank node":v,IRI:H,literal:C};for(const O in X)X[O].forEach(E=>{const $={};for(const Z in E){const ae=E[Z],oe={termType:I[ae.type],value:ae.value};oe.termType===C&&(oe.datatype={termType:H},"datatype"in ae&&(oe.datatype.value=ae.datatype),"language"in ae?("datatype"in ae||(oe.datatype.value=k),oe.language=ae.language):"datatype"in ae||(oe.datatype.value=Q)),$[Z]=oe}$.graph="@default"===O?{termType:R,value:""}:{termType:O.startsWith("_:")?v:H,value:O},ue.push($)});return ue}};const y=/["\\\n\r]/g;const A=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let k=0;kH)&&(b&&R>0&&T>j[R-1]||!b&&Rj[R+1])&&(H=T,v=R)}if(null===H)this.done=!0;else{const R=k.get(H)?v-1:v+1;j[v]=j[R],j[R]=H;for(const T of j)T>H&&k.set(T,!k.get(T))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),k=Y("./MessageDigest"),Q=Y("./Permuter"),H=Y("./NQuads");function v(C,R){return C.hashR.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return yt(function*(){T.quads=R;for(const X of R)T._addBlankNodeQuadInfo({quad:X,component:X.subject}),T._addBlankNodeQuadInfo({quad:X,component:X.object}),T._addBlankNodeQuadInfo({quad:X,component:X.graph});const b=new Map,y=[...T.blankNodeInfo.keys()];let S=0;for(const X of y)++S%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:X,hashToBlankNodes:b});const A=[...b.keys()].sort(),z=[];for(const X of A){const ue=b.get(X);ue.length>1?z.push(ue):T.canonicalIssuer.getId(ue[0])}for(const X of z){const ue=[];for(const I of X){if(T.canonicalIssuer.hasId(I))continue;const O=new j("_:b");O.getId(I);const K=yield T.hashNDegreeQuads(I,O);ue.push(K)}ue.sort(v);for(const I of ue){const O=I.issuer.getOldIds();for(const K of O)T.canonicalIssuer.getId(K)}}const P=[];for(const X of T.quads){const ue=ot({},X);ue.subject=T._useCanonicalId({component:ue.subject}),ue.object=T._useCanonicalId({component:ue.object}),ue.graph=T._useCanonicalId({component:ue.graph}),P.push(H.serializeQuad(ue))}return P.sort(),P.join("")})()}hashFirstDegreeQuads(R){var T=this;return yt(function*(){const b=[],y=T.blankNodeInfo.get(R),S=y.quads;for(const z of S){const P={subject:null,predicate:z.predicate,object:null,graph:null};P.subject=T.modifyFirstDegreeComponent(R,z.subject,"subject"),P.object=T.modifyFirstDegreeComponent(R,z.object,"object"),P.graph=T.modifyFirstDegreeComponent(R,z.graph,"graph"),b.push(H.serializeQuad(P))}b.sort();const A=new k(T.hashAlgorithm);for(const z of b)A.update(z);return y.hash=yield A.digest(),y.hash})()}hashRelatedBlankNode(R,T,b,y){var S=this;return yt(function*(){let A;A=S.canonicalIssuer.hasId(R)?S.canonicalIssuer.getId(R):b.hasId(R)?b.getId(R):S.blankNodeInfo.get(R).hash;const z=new k(S.hashAlgorithm);return z.update(y),"g"!==y&&z.update(S.getRelatedPredicate(T)),z.update(A),z.digest()})()}hashNDegreeQuads(R,T){var b=this;return yt(function*(){const y=new k(b.hashAlgorithm),S=yield b.createHashToRelated(R,T),A=[...S.keys()].sort();for(const z of A){y.update(z);let X,P="";const ue=new Q(S.get(z));let I=0;for(;ue.hasNext();){const O=ue.next();++I%3==0&&(yield b._yield());let K=T.clone(),E="";const $=[];let Z=!1;for(const ae of O)if(b.canonicalIssuer.hasId(ae)?E+=b.canonicalIssuer.getId(ae):(K.hasId(ae)||$.push(ae),E+=K.getId(ae)),0!==P.length&&E>P){Z=!0;break}if(!Z){for(const ae of $){const oe=yield b.hashNDegreeQuads(ae,K);if(E+=K.getId(ae),E+=`<${oe.hash}>`,K=oe.issuer,0!==P.length&&E>P){Z=!0;break}}Z||(0===P.length||E`}createHashToRelated(R,T){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(R).quads;let A=0;for(const z of S)++A%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:z,component:z.subject,position:"s",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.object,position:"o",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.graph,position:"g",id:R,issuer:T,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(R),S=T.get(y);S?S.push(R):T.set(y,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const b=T.value,y=this.blankNodeInfo.get(b);y?y.quads.add(R):this.blankNodeInfo.set(b,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:b,id:y,issuer:S,hashToRelated:A}){var z=this;return yt(function*(){if("BlankNode"!==T.termType||T.value===y)return;const P=T.value,X=yield z.hashRelatedBlankNode(P,R,S,b),ue=A.get(X);ue?ue.push(P):A.set(X,[P])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return yt(function*(){return new Promise(R=>W(R))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),k=Y("./Permuter"),Q=Y("./NQuads");function H(v,C){return v.hashC.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const A of C)this._addBlankNodeQuadInfo({quad:A,component:A.subject}),this._addBlankNodeQuadInfo({quad:A,component:A.object}),this._addBlankNodeQuadInfo({quad:A,component:A.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const A of T)this._hashAndTrackBlankNode({id:A,hashToBlankNodes:R});const b=[...R.keys()].sort(),y=[];for(const A of b){const z=R.get(A);z.length>1?y.push(z):this.canonicalIssuer.getId(z[0])}for(const A of y){const z=[];for(const P of A){if(this.canonicalIssuer.hasId(P))continue;const X=new W("_:b");X.getId(P);const ue=this.hashNDegreeQuads(P,X);z.push(ue)}z.sort(H);for(const P of z){const X=P.issuer.getOldIds();for(const ue of X)this.canonicalIssuer.getId(ue)}}const S=[];for(const A of this.quads){const z=ot({},A);z.subject=this._useCanonicalId({component:z.subject}),z.object=this._useCanonicalId({component:z.object}),z.graph=this._useCanonicalId({component:z.graph}),S.push(Q.serializeQuad(z))}return S.sort(),S.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),b=T.quads;for(const S of b){const A={subject:null,predicate:S.predicate,object:null,graph:null};A.subject=this.modifyFirstDegreeComponent(C,S.subject,"subject"),A.object=this.modifyFirstDegreeComponent(C,S.object,"object"),A.graph=this.modifyFirstDegreeComponent(C,S.graph,"graph"),R.push(Q.serializeQuad(A))}R.sort();const y=new j(this.hashAlgorithm);for(const S of R)y.update(S);return T.hash=y.digest(),T.hash}hashRelatedBlankNode(C,R,T,b){let y;y=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(R)),S.update(y),S.digest()}hashNDegreeQuads(C,R){const T=new j(this.hashAlgorithm),b=this.createHashToRelated(C,R),y=[...b.keys()].sort();for(const S of y){T.update(S);let z,A="";const P=new k(b.get(S));for(;P.hasNext();){const X=P.next();let ue=R.clone(),I="";const O=[];let K=!1;for(const E of X)if(this.canonicalIssuer.hasId(E)?I+=this.canonicalIssuer.getId(E):(ue.hasId(E)||O.push(E),I+=ue.getId(E)),0!==A.length&&I>A){K=!0;break}if(!K){for(const E of O){const $=this.hashNDegreeQuads(E,ue);if(I+=ue.getId(E),I+=`<${$.hash}>`,ue=$.issuer,0!==A.length&&I>A){K=!0;break}}K||(0===A.length||I`}createHashToRelated(C,R){const T=new Map,b=this.blankNodeInfo.get(C).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),b=R.get(T);b?b.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,b=this.blankNodeInfo.get(T);b?b.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==R.termType||R.value===b)return;const A=R.value,z=this.hashRelatedBlankNode(A,C,y,T),P=S.get(z);P?P.push(A):S.set(z,[A])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){var H=this;return yt(function*(){const v=new Map,C=H.blankNodeInfo.get(k).quads;let R=0;for(const T of C){let b,y;if("BlankNode"===T.subject.termType&&T.subject.value!==k)y=T.subject.value,b="p";else{if("BlankNode"!==T.object.termType||T.object.value===k)continue;y=T.object.value,b="r"}++R%100==0&&(yield H._yield());const S=yield H.hashRelatedBlankNode(y,T,Q,b),A=v.get(S);A?A.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){const H=new Map,v=this.blankNodeInfo.get(k).quads;for(const C of v){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==k)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===k)continue;T=C.object.value,R="r"}const b=this.hashRelatedBlankNode(T,C,Q,R),y=H.get(b);y?y.push(T):H.set(b,[T])}return H}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),k=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let H;try{H=Y("rdf-canonize-native")}catch(C){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(C){return C&&(H=C),H},v.canonize=function(){var C=yt(function*(R,T){if(Array.isArray(R)||(R=v.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!H)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>H.canonize(R,T,(S,A)=>S?y(S):b(A)))}if("URDNA2015"===T.algorithm)return new W(T).main(R);if("URGNA2012"===T.algorithm)return new j(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),v._canonizeSync=function(C,R){if(Array.isArray(C)||(C=v.NQuads.legacyDatasetToQuads(C)),R.useNative){if(H)return H.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new k(R).main(C);if("URGNA2012"===R.algorithm)return new Q(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(k){this.termType="BlankNode",this.value=k}equals(k){return!!k&&"BlankNode"===k.termType&&k.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),k=Y("./Literal"),Q=Y("./NamedNode"),H=Y("./Quad"),v=Y("./Variable");let C=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${C++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new k.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,A){return new H.Quad(b,y,S,A||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(k.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(k){return!!k&&"DefaultGraph"===k.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,H){this.termType="Literal",this.value=Q,"string"==typeof H?(this.language=H,this.datatype=j.RDF_LANGUAGE_STRING):H?(this.language="",this.datatype=H):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(k){this.termType="NamedNode",this.value=k}equals(k){return!!k&&"NamedNode"===k.termType&&k.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(k,Q,H,v){this.termType="Quad",this.value="",this.subject=k,this.predicate=Q,this.object=H,this.graph=v}equals(k){return!!k&&("Quad"===k.termType||!k.termType)&&this.subject.equals(k.subject)&&this.predicate.equals(k.predicate)&&this.object.equals(k.object)&&this.graph.equals(k.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(k){this.termType="Variable",this.value=k}equals(k){return!!k&&"Variable"===k.termType&&k.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(k,Q){const H=k.saxStream._parser;super(k.trackPosition?`Line ${H.line+1} column ${H.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),k=Y("stream"),Q=Y("./ParseError"),H=Y("rdf-data-factory");class v extends k.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new H.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,b){const y={};let S=!1;for(const z in T.attributes)z.startsWith("xmlns")&&(5===z.length?(S=!0,y[""]=T.attributes[z]):":"===z.charAt(5)&&(S=!0,y[z.substr(6)]=T.attributes[z]));const A=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?A.concat([y]):A}static expandPrefixedTerm(T,b,y){const S=T.indexOf(":");let A,z;S>=0?(A=T.substr(0,S),z=T.substr(S+1)):(A="",z=T);let P=null,X=null;for(let ue=b.length-1;ue>=0;ue--){const I=b[ue][A];if(I){P=I;break}X||(X=b[ue][""])}if(!P){if(A&&"xmlns"!==A)throw new Q.ParseError(y,`The prefix '${A}' in term '${T}' was not bound.`);P=X||""}return{prefix:A,local:z,uri:P}}static isValidIri(T){return v.IRI_REGEX.test(T)}import(T){const b=new k.PassThrough({readableObjectMode:!0});T.on("error",S=>y.emit("error",S)),T.on("data",S=>b.push(S)),T.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(T,b,y){try{this.saxStream.write(T,b)}catch(S){return y(S)}y()}newParseError(T){return new Q.ParseError(this,T)}valueToUri(T,b){return this.uriToNamedNode(W.resolve(T,b.baseIRI))}uriToNamedNode(T){if(!v.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!v.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=C.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const A=T.name;let z="";for(const I in T.attributes)z+=` ${I}="${T.attributes[I]}"`;b.childrenStringTags.push(`<${A}${z}>`);const ue={childrenStringTags:b.childrenStringTags};return ue.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ue)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(T,b),y===C.RESOURCE?this.onTagResource(T,S,b,!b):this.onTagProperty(T,S,b)}onTagResource(T,b,y,S){const A=v.expandPrefixedTerm(T.name,b.ns,this);b.childrenParseType=C.PROPERTY;let z=!0;if(A.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(A.local)>=0)throw this.newParseError(`Illegal node element name: ${A.local}`);switch(A.local){case"RDF":b.childrenParseType=C.RESOURCE;case"Description":z=!1}}const P=[],X=[];let ue=null,I=!1,O=!1,K=null;for(const E in T.attributes){const $=T.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);ue=$;continue;case"ID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue="#"+$,I=!0;continue;case"nodeID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue=$,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":K=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(P.push(this.uriToNamedNode(Z.uri+Z.local)),X.push($))}if(null!==ue&&(b.subject=O?this.dataFactory.blankNode(ue):this.valueToUri(ue,b),I&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),z){const E=this.uriToNamedNode(A.uri+A.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let A=!1,z=!1,P=null,X=!0;const ue=[],I=[];for(const O in T.attributes){const K=T.attributes[O],E=v.expandPrefixedTerm(O,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(P)throw this.newParseError(`Found both rdf:resource (${K}) and rdf:nodeID (${P}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${K})`);b.hadChildren=!0,P=K,X=!1;continue;case"datatype":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${K})`);b.datatype=this.valueToUri(K,b);continue;case"nodeID":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${K}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${K})`);this.validateNcname(K),b.hadChildren=!0,P=K,X=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(z)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(P)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${P})`);if("Resource"===K){A=!0,b.childrenParseType=C.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===K?(A=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,X=!1):"Literal"===K&&(A=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(K),b.reifiedStatementId=this.valueToUri("#"+K,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===K?null:K.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(A||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${K}`);b.hadChildren=!0,z=!0,ue.push(this.uriToNamedNode(E.uri+E.local)),I.push(this.dataFactory.literal(K,b.datatype||b.language))}}if(null!==P){const O=b.subject;b.subject=X?this.dataFactory.blankNode(P):this.valueToUri(P,b),this.emitTriple(O,b.predicate,b.subject,b.reifiedStatementId);for(let K=0;K/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var C,R;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=he.ParseType||(he.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function k(R,T,b){b||(b=Error);var S=function(A){function z(P,X,ue){return A.call(this,function(A,z,P){return"string"==typeof T?T:T(A,z,P)}(P,X,ue))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(z,A),z}(b);S.prototype.name=b.name,S.prototype.code=R,j[R]=S}function Q(R,T){if(Array.isArray(R)){var b=R.length;return R=R.map(function(y){return String(y)}),b>2?"one of ".concat(T," ").concat(R.slice(0,b-1).join(", "),", or ")+R[b-1]:2===b?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}k("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),k("ERR_INVALID_ARG_TYPE",function(R,T,b){var y,S;if("string"==typeof T&&function(R,T,b){return R.substr(!b||b<0?0:+b,T.length)===T}(T,"not ")?(y="must not be",T=T.replace(/^not /,"")):y="must be",function(R,T,b){return(void 0===b||b>R.length)&&(b=R.length),R.substring(b-T.length,b)===T}(R," argument"))S="The ".concat(R," ").concat(y," ").concat(Q(T,"type"));else{var A=function(R,T,b){return"number"!=typeof b&&(b=0),!(b+T.length>R.length)&&-1!==R.indexOf(T,b)}(R,".")?"property":"argument";S='The "'.concat(R,'" ').concat(A," ").concat(y," ").concat(Q(T,"type"))}return S+". Received type ".concat(typeof b)},TypeError),k("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),k("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),k("ERR_STREAM_PREMATURE_CLOSE","Premature close"),k("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),k("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),k("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),k("ERR_STREAM_WRITE_AFTER_END","write after end"),k("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),k("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),k("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var A in y)S.push(A);return S};Se.exports=R;var k=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(R,k);for(var H=j(Q.prototype),v=0;v0)if("string"!=typeof B&&!Ze.objectMode&&Object.getPrototypeOf(B)!==C.prototype&&(B=function(we){return C.from(we)}(B)),V)Ze.endEmitted?oe(we,new E):Oe(we,Ze,B,!0);else if(Ze.ended)oe(we,new O);else{if(Ze.destroyed)return!1;Ze.reading=!1,Ze.decoder&&!N?(B=Ze.decoder.write(B),Ze.objectMode||0!==B.length?Oe(we,Ze,B,!1):Ke(we,Ze)):Oe(we,Ze,B,!1)}else V||(Ze.reading=!1,Ke(we,Ze));return!Ze.ended&&(Ze.lengthB.highWaterMark&&(B.highWaterMark=function(we){return we>=st?we=st:(we--,we|=we>>>1,we|=we>>>2,we|=we>>>4,we|=we>>>8,we|=we>>>16,we++),we}(we)),we<=B.length?we:B.ended?B.length:(B.needReadable=!0,0))}function ze(we){var B=we._readableState;S("emitReadable",B.needReadable,B.emittedReadable),B.needReadable=!1,B.emittedReadable||(S("emitReadable",B.flowing),B.emittedReadable=!0,W.nextTick(Le,we))}function Le(we){var B=we._readableState;S("emitReadable_",B.destroyed,B.length,B.ended),!B.destroyed&&(B.length||B.ended)&&(we.emit("readable"),B.emittedReadable=!1),B.needReadable=!B.flowing&&!B.ended&&B.length<=B.highWaterMark,pe(we)}function Ke(we,B){B.readingMore||(B.readingMore=!0,W.nextTick(Me,we,B))}function Me(we,B){for(;!B.reading&&!B.ended&&(B.length0,B.resumeScheduled&&!B.paused?B.flowing=!0:we.listenerCount("data")>0&&we.resume()}function ke(we){S("readable nexttick read 0"),we.read(0)}function G(we,B){S("resume",B.reading),B.reading||we.read(0),B.resumeScheduled=!1,we.emit("resume"),pe(we),B.flowing&&!B.reading&&we.read(0)}function pe(we){var B=we._readableState;for(S("flow",B.flowing);B.flowing&&null!==we.read(););}function de(we,B){return 0===B.length?null:(B.objectMode?N=B.buffer.shift():!we||we>=B.length?(N=B.decoder?B.buffer.join(""):1===B.buffer.length?B.buffer.first():B.buffer.concat(B.length),B.buffer.clear()):N=B.buffer.consume(we,B.decoder),N);var N}function je(we){var B=we._readableState;S("endReadable",B.endEmitted),B.endEmitted||(B.ended=!0,W.nextTick(_t,B,we))}function _t(we,B){if(S("endReadableNT",we.endEmitted,we.length),!we.endEmitted&&0===we.length&&(we.endEmitted=!0,B.readable=!1,B.emit("end"),we.autoDestroy)){var N=B._writableState;(!N||N.autoDestroy&&N.finished)&&B.destroy()}}function pt(we,B){for(var N=0,V=we.length;N=B.highWaterMark:B.length>0)||B.ended))return S("read: emitReadable",B.length,B.ended),0===B.length&&B.ended?je(this):ze(this),null;if(0===(we=tt(we,B))&&B.ended)return 0===B.length&&je(this),null;var Re,V=B.needReadable;return S("need readable",V),(0===B.length||B.length-we0?de(we,B):null)?(B.needReadable=B.length<=B.highWaterMark,we=0):(B.length-=we,B.awaitDrain=0),0===B.length&&(B.ended||(B.needReadable=!0),N!==we&&B.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(we){oe(this,new K("_read()"))},ne.prototype.pipe=function(we,B){var N=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=we;break;case 1:V.pipes=[V.pipes,we];break;default:V.pipes.push(we)}V.pipesCount+=1,S("pipe count=%d opts=%j",V.pipesCount,B);var Ze=B&&!1===B.end||we===W.stdout||we===W.stderr?fs:kt;function Tt(Bs,Kr){S("onunpipe"),Bs===N&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,S("cleanup"),we.removeListener("close",Xr),we.removeListener("finish",Ls),we.removeListener("drain",In),we.removeListener("error",xi),we.removeListener("unpipe",Tt),N.removeListener("end",kt),N.removeListener("end",fs),N.removeListener("data",Mi),Nn=!0,V.awaitDrain&&(!we._writableState||we._writableState.needDrain)&&In())}function kt(){S("onend"),we.end()}V.endEmitted?W.nextTick(Ze):N.once("end",Ze),we.on("unpipe",Tt);var In=function(we){return function(){var N=we._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&H(we,"data")&&(N.flowing=!0,pe(we))}}(N);we.on("drain",In);var Nn=!1;function Mi(Bs){S("ondata");var Kr=we.write(Bs);S("dest.write",Kr),!1===Kr&&((1===V.pipesCount&&V.pipes===we||V.pipesCount>1&&-1!==pt(V.pipes,we))&&!Nn&&(S("false write response, pause",V.awaitDrain),V.awaitDrain++),N.pause())}function xi(Bs){S("onerror",Bs),fs(),we.removeListener("error",xi),0===H(we,"error")&&oe(we,Bs)}function Xr(){we.removeListener("finish",Ls),fs()}function Ls(){S("onfinish"),we.removeListener("close",Xr),fs()}function fs(){S("unpipe"),N.unpipe(we)}return N.on("data",Mi),function(we,B,N){if("function"==typeof we.prependListener)return we.prependListener(B,N);we._events&&we._events[B]?Array.isArray(we._events[B])?we._events[B].unshift(N):we._events[B]=[N,we._events[B]]:we.on(B,N)}(we,"error",xi),we.once("close",Xr),we.once("finish",Ls),we.emit("pipe",N),V.flowing||(S("pipe resume"),N.resume()),we},ne.prototype.unpipe=function(we){var B=this._readableState,N={hasUnpiped:!1};if(0===B.pipesCount)return this;if(1===B.pipesCount)return we&&we!==B.pipes||(we||(we=B.pipes),B.pipes=null,B.pipesCount=0,B.flowing=!1,we&&we.emit("unpipe",this,N)),this;if(!we){var V=B.pipes,Re=B.pipesCount;B.pipes=null,B.pipesCount=0,B.flowing=!1;for(var Ze=0;Ze0,!1!==V.flowing&&this.resume()):"readable"===we&&!V.endEmitted&&!V.readableListening&&(V.readableListening=V.needReadable=!0,V.flowing=!1,V.emittedReadable=!1,S("on readable",V.length,V.reading),V.length?ze(this):V.reading||W.nextTick(ke,this)),N},ne.prototype.removeListener=function(we,B){var N=v.prototype.removeListener.call(this,we,B);return"readable"===we&&W.nextTick(qe,this),N},ne.prototype.removeAllListeners=function(we){var B=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===we||void 0===we)&&W.nextTick(qe,this),B},ne.prototype.resume=function(){var we=this._readableState;return we.flowing||(S("resume"),we.flowing=!we.readableListening,function(we,B){B.resumeScheduled||(B.resumeScheduled=!0,W.nextTick(G,we,B))}(this,we)),we.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(we){var B=this,N=this._readableState,V=!1;for(var Re in we.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var Tt=N.decoder.end();Tt&&Tt.length&&B.push(Tt)}B.push(null)}),we.on("data",function(Tt){S("wrapped data"),N.decoder&&(Tt=N.decoder.write(Tt)),N.objectMode&&null==Tt||!(N.objectMode||Tt&&Tt.length)||B.push(Tt)||(V=!0,we.pause())}),we)void 0===this[Re]&&"function"==typeof we[Re]&&(this[Re]=function(kt){return function(){return we[kt].apply(we,arguments)}}(Re));for(var Ze=0;Ze-1))throw new Z(de);return this._writableState.defaultEncoding=de,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,de,je){je(new ue("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,de,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,de=null):"function"==typeof de&&(je=de,de=null),null!=pe&&this.write(pe,de),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,de,je){de.ending=!0,ke(pe,de),je&&(de.finished?W.nextTick(je):pe.once("finish",je)),de.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(de){!this._writableState||(this._writableState.destroyed=de)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,de){de(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function k(O,K,E){return K in O?Object.defineProperty(O,K,{value:E,enumerable:!0,configurable:!0,writable:!0}):O[K]=E,O}var Q=Y("./end-of-stream"),H=Symbol("lastResolve"),v=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(O,K){return{value:O,done:K}}function A(O){var K=O[H];if(null!==K){var E=O[y].read();null!==E&&(O[T]=null,O[H]=null,O[v]=null,K(S(E,!1)))}}function z(O){W.nextTick(A,O)}var X=Object.getPrototypeOf(function(){}),ue=Object.setPrototypeOf((k(j={get stream(){return this[y]},next:function(){var K=this,E=this[C];if(null!==E)return Promise.reject(E);if(this[R])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(oe,te){W.nextTick(function(){K[C]?te(K[C]):oe(S(void 0,!0))})});var Z,$=this[T];if($)Z=new Promise(function(O,K){return function(E,$){O.then(function(){K[R]?E(S(void 0,!0)):K[b](E,$)},$)}}($,this));else{var ae=this[y].read();if(null!==ae)return Promise.resolve(S(ae,!1));Z=new Promise(this[b])}return this[T]=Z,Z}},Symbol.asyncIterator,function(){return this}),k(j,"return",function(){var K=this;return new Promise(function(E,$){K[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),X);Se.exports=function(K){var E,$=Object.create(ue,(k(E={},y,{value:K,writable:!0}),k(E,H,{value:null,writable:!0}),k(E,v,{value:null,writable:!0}),k(E,C,{value:null,writable:!0}),k(E,R,{value:K._readableState.endEmitted,writable:!0}),k(E,b,{value:function(ae,oe){var te=$[y].read();te?($[T]=null,$[H]=null,$[v]=null,ae(S(te,!1))):($[H]=ae,$[v]=oe)},writable:!0}),E));return $[T]=null,Q(K,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var ae=$[v];return null!==ae&&($[T]=null,$[H]=null,$[v]=null,ae(Z)),void($[C]=Z)}var oe=$[H];null!==oe&&($[T]=null,$[H]=null,$[v]=null,oe(S(void 0,!0))),$[R]=!0}),K.on("readable",z.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(A,z){var P=Object.keys(A);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(A);z&&(X=X.filter(function(ue){return Object.getOwnPropertyDescriptor(A,ue).enumerable})),P.push.apply(P,X)}return P}function k(A,z,P){return z in A?Object.defineProperty(A,z,{value:P,enumerable:!0,configurable:!0,writable:!0}):A[z]=P,A}function H(A,z){for(var P=0;P0?this.tail.next=X:this.head=X,this.tail=X,++this.length}},{key:"unshift",value:function(P){var X={data:P,next:this.head};0===this.length&&(this.tail=X),this.head=X,++this.length}},{key:"shift",value:function(){if(0!==this.length){var P=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(0===this.length)return"";for(var X=this.head,ue=""+X.data;X=X.next;)ue+=P+X.data;return ue}},{key:"concat",value:function(P){if(0===this.length)return R.alloc(0);for(var X=R.allocUnsafe(P>>>0),ue=this.head,I=0;ue;)S(ue.data,X,I),I+=ue.data.length,ue=ue.next;return X}},{key:"consume",value:function(P,X){var ue;return PO.length?O.length:P;if(I+=K===O.length?O:O.slice(0,P),0==(P-=K)){K===O.length?(++ue,this.head=X.next?X.next:this.tail=null):(this.head=X,X.data=O.slice(K));break}++ue}return this.length-=ue,I}},{key:"_getBuffer",value:function(P){var X=R.allocUnsafe(P),ue=this.head,I=1;for(ue.data.copy(X),P-=ue.data.length;ue=ue.next;){var O=ue.data,K=P>O.length?O.length:P;if(O.copy(X,X.length-P,0,K),0==(P-=K)){K===O.length?(++I,this.head=ue.next?ue.next:this.tail=null):(this.head=ue,ue.data=O.slice(K));break}++I}return this.length-=I,X}},{key:y,value:function(P,X){return b(this,function(A){for(var z=1;z0,function(Z){ue||(ue=Z),Z&&I.forEach(T),!E&&(I.forEach(T),X(ue))})});return z.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,H,v,C){var R=function(Q,H,v){return null!=Q.highWaterMark?Q.highWaterMark:H?Q[v]:null}(H,C,v);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new W(C?v:"highWaterMark",R);return Math.floor(R)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var k in j)he.hasOwnProperty(k)||(he[k]=j[k])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(H){const v=[];let C=0;for(;CR.join("")).join("/")}function k(H,v){let C=v+1;v>=0?"/"===H[v+1]&&"/"===H[v+2]&&(C=v+3):"/"===H[0]&&"/"===H[1]&&(C=2);const R=H.indexOf("/",C);return R<0?H:H.substr(0,R)+j(H.substr(R))}function Q(H){return!H||"#"===H||"?"===H||"/"===H}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(H,v){const C=(v=v||"").indexOf("#");if(C>0&&(v=v.substr(0,C)),!H.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);return v}if(H.startsWith("?")){const z=v.indexOf("?");return z>0&&(v=v.substr(0,z)),v+H}if(H.startsWith("#"))return v+H;if(!v.length){const z=H.indexOf(":");if(z<0)throw new Error(`Found invalid relative IRI '${H}' for a missing baseIRI`);return k(H,z)}const R=H.indexOf(":");if(R>=0)return k(H,R);const T=v.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);const b=v.substr(0,T+1);if(0===H.indexOf("//"))return b+k(H,R);let y;if(v.indexOf("//",T)===T+1){if(y=v.indexOf("/",T+3),y<0)return v.length>T+3?v+"/"+k(H,R):b+k(H,R)}else if(y=v.indexOf("/",T+1),y<0)return b+k(H,R);if(0===H.indexOf("/"))return v.substr(0,y)+j(H);let S=v.substr(y);const A=S.lastIndexOf("/");return A>=0&&A"===de?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(de)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=de);continue;case te.SGML_DECL_QUOTED:de===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=de;continue;case te.DOCTYPE:">"===de?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=de,"["===de?G.state=te.DOCTYPE_DTD:$(de)&&(G.state=te.DOCTYPE_QUOTED,G.q=de));continue;case te.DOCTYPE_QUOTED:G.doctype+=de,de===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=de,"]"===de?G.state=te.DOCTYPE:$(de)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=de);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=de,de===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===de?G.state=te.COMMENT_ENDING:G.comment+=de;continue;case te.COMMENT_ENDING:"-"===de?(G.state=te.COMMENT_ENDED,G.comment=Oe(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+de,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==de?(Qe(G,"Malformed comment"),G.comment+="--"+de,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===de?G.state=te.CDATA_ENDING:G.cdata+=de;continue;case te.CDATA_ENDING:"]"===de?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+de,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===de?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===de?G.cdata+="]":(G.cdata+="]]"+de,G.state=te.CDATA);continue;case te.PROC_INST:"?"===de?G.state=te.PROC_INST_ENDING:E(de)?G.state=te.PROC_INST_BODY:G.procInstName+=de;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(de))continue;"?"===de?G.state=te.PROC_INST_ENDING:G.procInstBody+=de;continue;case te.PROC_INST_ENDING:">"===de?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+de,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ae(I,de)?G.tagName+=de:(tt(G),">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:(E(de)||Qe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===de?(Le(G,!0),Ke(G)):(Qe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(de))continue;">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===de?G.state=te.ATTRIB_VALUE:">"===de?(Qe(G,"Attribute without value"),G.attribValue=G.attribName,ze(G),Le(G)):E(de)?G.state=te.ATTRIB_NAME_SAW_WHITE:ae(I,de)?G.attribName+=de:Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===de)G.state=te.ATTRIB_VALUE;else{if(E(de))continue;Qe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===de?Le(G):ae(ue,de)?(G.attribName=de,G.state=te.ATTRIB_NAME):(Qe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(de))continue;$(de)?(G.q=de,G.state=te.ATTRIB_VALUE_QUOTED):(Qe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=de);continue;case te.ATTRIB_VALUE_QUOTED:if(de!==G.q){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=de;continue}ze(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(de)?G.state=te.ATTRIB:">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(Qe(G,"No whitespace between attributes"),G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(de)){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=de;continue}ze(G),">"===de?Le(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===de?Ke(G):ae(I,de)?G.tagName+=de:G.script?(G.script+=""===de?Ke(G):Qe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,we;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,we="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,we="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,we="attribValue"}";"===de?(G[we]+=Me(G),G.entity="",G.state=pt):ae(G.entity.length?K:O,de)?G.entity+=de:(Qe(G,"Invalid character in entity name"),G[we]+="&"+G.entity+de,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,de=0,je=k.length;deG)switch(k[de]){case"textNode":ye(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:$e(q,"Max buffer length exceeded: "+k[de])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){ye(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{R=Y("stream").Stream}catch(q){R=function(){}}var T=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);R.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(de){pe.emit("error",de),pe._parser.error=null},this._decoder=null,T.forEach(function(de){Object.defineProperty(pe,"on"+de,{get:function(){return pe._parser["on"+de]},set:function(je){if(!je)return pe.removeAllListeners(de),pe._parser["on"+de]=je,je;pe.on(de,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(R.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==T.indexOf(q)&&(pe._parser["on"+q]=function(){var de=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);de.splice(0,0,q),pe.emit.apply(pe,de)}),R.prototype.on.call(pe,q,G)};var z="http://www.w3.org/XML/1998/namespace",P="http://www.w3.org/2000/xmlns/",X={xml:z,xmlns:P},ue=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,I=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,K=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function ae(q,G){return q.test(G)}function oe(q,G){return!ae(q,G)}var q,G,pe,te=0;for(var Te in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Te]]=Te;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&ye(q),me(q,G,pe)}function ye(q){q.textNode=Oe(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Oe(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function $e(q,G){return ye(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Qe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&$e(q,"Unexpected end"),ye(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Qe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&$e(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Xe(q,G){var de=q.indexOf(":")<0?["",q]:q.split(":"),je=de[0],_t=de[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function ze(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Xe(q.attribName,!0),de=G.local;if("xmlns"===G.prefix)if("xml"===de&&q.attribValue!==z)Qe(q,"xml: prefix must be bound to "+z+"\nActual: "+q.attribValue);else if("xmlns"===de&&q.attribValue!==P)Qe(q,"xmlns: prefix must be bound to "+P+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[de]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function Le(q,G){if(q.opt.xmlns){var pe=q.tag,de=Xe(q.tagName);pe.prefix=de.prefix,pe.local=de.local,pe.uri=pe.ns[de.prefix]||"",pe.prefix&&!pe.uri&&(Qe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=de.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(In){ne(q,"onopennamespace",{prefix:In,uri:pe.ns[In]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var de=pe;G--&&q.tags[G].name!==de;)Qe(q,"Unexpected close tag");if(G<0)return Qe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var we={};for(var B in pt.ns)we[B]=pt.ns[B];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(V){ne(q,"onclosenamespace",{prefix:V,uri:pt.ns[V]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var de,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(de=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(de=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(de)||je.toLowerCase()!==G?(Qe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(de))}function Ue(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Qe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function qe(q,G){var pe="";return G1114111||G(V)!==V)throw RangeError("Invalid code point: "+V);V<=65535?je.push(V):je.push(55296+((V-=65536)>>10),V%1024+56320),(we+1===B||je.length>de)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(k,Q){"use strict";if(!k.setImmediate){var T,H=1,v={},C=!1,R=k.document,K=Object.getPrototypeOf&&Object.getPrototypeOf(k);K=K&&K.setTimeout?K:k,"[object process]"==={}.toString.call(k.process)?T=function(E){W.nextTick(function(){A(E)})}:function(){if(k.postMessage&&!k.importScripts){var E=!0,$=k.onmessage;return k.onmessage=function(){E=!1},k.postMessage("","*"),k.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===k&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&A(+Z.data.slice(E.length))},k.addEventListener?k.addEventListener("message",$,!1):k.attachEvent("onmessage",$),T=function(Z){k.postMessage(E+Z,"*")}):k.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){A($.data)},T=function($){E.port2.postMessage($)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var E=R.documentElement;T=function($){var Z=R.createElement("script");Z.onreadystatechange=function(){A($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():T=function(E){setTimeout(A,0,E)},K.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[H]={callback:E,args:$},T(H),H++},K.clearImmediate=y}var E,$;function y(E){delete v[E]}function A(E){if(C)setTimeout(A,0,E);else{var $=v[E];if($){C=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),C=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=k;var W=Y("events").EventEmitter;function k(){W.call(this)}Y("inherits")(k,W),k.Readable=Y("readable-stream/lib/_stream_readable.js"),k.Writable=Y("readable-stream/lib/_stream_writable.js"),k.Duplex=Y("readable-stream/lib/_stream_duplex.js"),k.Transform=Y("readable-stream/lib/_stream_transform.js"),k.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),k.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),k.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),k.Stream=k,k.prototype.pipe=function(Q,H){var v=this;function C(z){Q.writable&&!1===Q.write(z)&&v.pause&&v.pause()}function R(){v.readable&&v.resume&&v.resume()}v.on("data",C),Q.on("drain",R),!Q._isStdio&&(!H||!1!==H.end)&&(v.on("end",b),v.on("close",y));var T=!1;function b(){T||(T=!0,Q.end())}function y(){T||(T=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(z){if(A(),0===W.listenerCount(this,"error"))throw z}function A(){v.removeListener("data",C),Q.removeListener("drain",R),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",A),v.removeListener("close",A),Q.removeListener("close",A)}return v.on("error",S),Q.on("error",S),v.on("end",A),v.on("close",A),Q.on("close",A),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var k=Y("process/browser.js").nextTick,Q=Function.prototype.apply,H=Array.prototype.slice,v={},C=0;function R(T,b){this._id=T,this._clearFn=b}he.setTimeout=function(){return new R(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new R(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(T){T.close()},R.prototype.unref=R.prototype.ref=function(){},R.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(T,b){clearTimeout(T._idleTimeoutId),T._idleTimeout=b},he.unenroll=function(T){clearTimeout(T._idleTimeoutId),T._idleTimeout=-1},he._unrefActive=he.active=function(T){clearTimeout(T._idleTimeoutId);var b=T._idleTimeout;b>=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(T){var b=C++,y=!(arguments.length<2)&&H.call(arguments,1);return v[b]=!0,k(function(){v[b]&&(y?T.apply(null,y):T.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(T){delete v[T]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function k(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var H=W.localStorage[Q];return null!=H&&"true"===String(H).toLowerCase()}Se.exports=function(Q,H){if(k("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(k("throwDeprecation"))throw new Error(H);k("traceDeprecation")?console.trace(H):console.warn(H),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var C=this;if(C instanceof W||(C=new W),C.tail=null,C.head=null,C.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){C.push(b)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var b=0;null!==T;b++)R=v(R,T.value,b),T=T.next;return R},W.prototype.reduceReverse=function(v,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var b=this.length-1;null!==T;b--)R=v(R,T.value,b),T=T.prev;return R},W.prototype.toArray=function(){for(var v=new Array(this.length),C=0,R=this.head;null!==R;C++)v[C]=R.value,R=R.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),C=0,R=this.tail;null!==R;C++)v[C]=R.value,R=R.prev;return v},W.prototype.slice=function(v,C){(C=C||this.length)<0&&(C+=this.length),(v=v||0)<0&&(v+=this.length);var R=new W;if(Cthis.length&&(C=this.length);for(var T=0,b=this.head;null!==b&&Tthis.length&&(C=this.length);for(var T=this.length,b=this.tail;null!==b&&T>C;T--)b=b.prev;for(;null!==b&&T>v;T--,b=b.prev)R.push(b.value);return R},W.prototype.splice=function(v,C,...R){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var T=0,b=this.head;null!==b&&T{"use strict";Ut.exports=et,Ut.exports.default=et;var it=1e20;function et(Y,Se,he,W,j,k){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=k||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,H=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(H*H),this.gridInner=new Float64Array(H*H),this.f=new Float64Array(H),this.z=new Float64Array(H+1),this.v=new Uint16Array(H),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Dt(Y,Se,he,W,j,k){for(var Q=0;Q-1);k[++v]=H,Q[v]=C,Q[v+1]=it}for(H=0,v=0;H{Ut.exports=function(et,yt){var ee=yt.length;if(0!==ee){var Dt=et.length;et.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Dt=yt||(yt={})).typeOfFunction="function",Dt.boolTrue=!0,yt;var Dt})();function ee(Dt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},7266:(Ut,it,et)=>{Ut.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Ut,it,et){"use strict";var yt,ee,Dt;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Dt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function k(I){I||(I=document.documentElement);var O=window.getComputedStyle(I,null).fontSize;return parseFloat(O)||16}function H(I,O){var K=O.split(/\d/),E=K[K.length-1];switch(O=parseFloat(O),E){case"px":return O;case"em":return O*k(I);case"rem":return O*k();case"vw":return O*document.documentElement.clientWidth/100;case"vh":return O*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return O*(0,Math["vmin"===E?"min":"max"])($,Z);default:return O}}function v(I,O){this.element=I;var K,E,$,Z,ae,oe,te,Te,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(K in $=function(I){if(!I.getBoundingClientRect)return{width:I.offsetWidth,height:I.offsetHeight};var O=I.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}(this.element),oe={},W[O])!W[O].hasOwnProperty(K)||(Z=H(this.element,(E=W[O][K]).value),ae="width"===E.property?$.width:$.height,te="","min"===E.mode&&ae>=Z&&(te+=E.value),"max"===E.mode&&ae<=Z&&(te+=E.value),oe[Te=E.mode+"-"+E.property]||(oe[Te]=""),te&&-1===(" "+oe[Te]+" ").indexOf(" "+te+" ")&&(oe[Te]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(oe[me[ne]]?this.element.setAttribute(me[ne],oe[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function C(I,O){I.elementQueriesSetupInformation||(I.elementQueriesSetupInformation=new v(I,O)),I.elementQueriesSensor||(I.elementQueriesSensor=new dt(I,function(){I.elementQueriesSetupInformation.call()}))}function R(I,O,K,E){if(void 0===W[I]){W[I]=[];var $=j.length;he.innerHTML+="\n"+I+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+I+" > .resize-sensor {min-width: "+$+"px;}",j.push(I)}W[I].push({mode:O,property:K,value:E})}function T(I){var O;if(document.querySelectorAll&&(O=I?I.querySelectorAll.bind(I):document.querySelectorAll.bind(document)),!O&&"undefined"!=typeof $$&&(O=$$),!O&&"undefined"!=typeof jQuery&&(O=jQuery),!O)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return O}function y(I){var O=[],K=[],E=[],$=0,Z=-1,ae=[];for(var oe in I.children)if(I.children.hasOwnProperty(oe)&&I.children[oe].tagName&&"img"===I.children[oe].tagName.toLowerCase()){O.push(I.children[oe]);var te=I.children[oe].getAttribute("min-width")||I.children[oe].getAttribute("data-min-width"),Te=I.children[oe].getAttribute("data-src")||I.children[oe].getAttribute("url");E.push(Te),K.push({minWidth:te}),te?I.children[oe].style.display="none":($=O.length-1,I.children[oe].style.display="block")}function ne(){var Oe,ye=!1;for(Oe in O)!O.hasOwnProperty(Oe)||K[Oe].minWidth&&I.offsetWidth>K[Oe].minWidth&&(ye=Oe);if(ye||(ye=$),Z!==ye)if(ae[ye])O[Z].style.display="none",O[ye].style.display="block",Z=ye;else{var $e=new Image;$e.onload=function(){O[ye].src=E[ye],O[Z].style.display="none",O[ye].style.display="block",ae[ye]=!0,Z=ye},$e.src=E[ye]}else O[ye].src=E[ye]}Z=$,I.resizeSensorInstance=new dt(I,ne),ne()}var A=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,z=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function P(I){var O,K,E,$;for(I=I.replace(/'/g,'"');null!==(O=A.exec(I));)for(K=O[1]+O[3],E=O[2];null!==($=z.exec(E));)R(K,$[1],$[2],$[3])}function X(I){var O="";if(I)if("string"==typeof I)(-1!==(I=I.toLowerCase()).indexOf("min-width")||-1!==I.indexOf("max-width"))&&P(I);else for(var K=0,E=I.length;K img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ue=!0);for(var O=0,K=document.styleSheets.length;O{var yt=et(3910),ee=et(9369),Dt=et(322);function dt(Q,H,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(H))throw new Error('graphology-shortest-path: the "'+H+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((H=""+H)==(v=""+v))return[H];var C=Q.inboundNeighbors.bind(Q),R=Q.outboundNeighbors.bind(Q),T={},b={};T[H]=null,b[v]=null;var A,z,P,X,ue,I,O,K,y=[H],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(A=y,y=[],ue=0,O=A.length;ue{Ut.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(re){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(re)}function et(re,fe){re.prototype=Object.create(fe.prototype),re.prototype.constructor=re,ee(re,fe)}function yt(re){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(re)}function ee(re,fe){return(ee=Object.setPrototypeOf||function(se,M){return se.__proto__=M,se})(re,fe)}function Dt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(re){return!1}}function dt(re,fe,se){return(dt=Dt()?Reflect.construct:function(M,L,J){var Ee=[null];Ee.push.apply(Ee,L);var Fe=new(Function.bind.apply(M,Ee));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(re){var fe="function"==typeof Map?new Map:void 0;return(Y=function(se){if(null===se||-1===Function.toString.call(se).indexOf("[native code]"))return se;if("function"!=typeof se)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(se))return fe.get(se);fe.set(se,L)}function L(){return dt(se,arguments,yt(this).constructor)}return L.prototype=Object.create(se.prototype,{constructor:{value:L,enumerable:!1,writable:!0,configurable:!0}}),ee(L,se)})(re)}function Se(re){if(void 0===re)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return re}var he=function(){for(var re=arguments[0],fe=1,se=arguments.length;fe0&&Ee.length>L&&!Ee.warned){Ee.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+Ee.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=re,nt.type=fe,nt.count=Ee.length,console&&console.warn&&console.warn(nt)}return re}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(re,fe,se){var M={fired:!1,wrapFn:void 0,target:re,type:fe,listener:se},L=I.bind(M);return L.listener=se,M.wrapFn=L,L}function K(re,fe,se){var M=re._events;if(void 0===M)return[];var L=M[fe];return void 0===L?[]:"function"==typeof L?se?[L.listener||L]:[L]:se?function(J){for(var Ee=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var Ee=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Ee.context=J,Ee}var Fe=L[re];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Pt=$(Fe,nt);for(se=0;se=0;J--)if(se[J]===fe||se[J].listener===fe){Ee=se[J].listener,L=J;break}if(L<0)return this;0===L?se.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(re,fe[M]);return this},A.prototype.listeners=function(re){return K(this,re,!0)},A.prototype.rawListeners=function(re){return K(this,re,!1)},A.listenerCount=function(re,fe){return"function"==typeof re.listenerCount?re.listenerCount(fe):E.call(re,fe)},A.prototype.listenerCount=E,A.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ae.prototype.next=function(){if(this.done)return{done:!0};var re=this._next();return re.done&&(this.done=!0),re},"undefined"!=typeof Symbol&&(ae.prototype[Symbol.iterator]=function(){return this}),ae.of=function(){var re=arguments,fe=re.length,se=0;return new ae(function(){return se>=fe?{done:!0}:{done:!1,value:re[se++]}})},ae.empty=function(){var re=new ae(null);return re.done=!0,re},ae.is=function(re){return re instanceof ae||"object"==typeof re&&null!==re&&"function"==typeof re.next};var oe=ae,te=function(re,fe){for(var se,M=arguments.length>1?fe:1/0,L=M!==1/0?new Array(M):[],J=0;;){if(J===M)return L;if((se=re.next()).done)return J!==fe?L.slice(0,J):L;L[J++]=se.value}},Te=function(re){function fe(se,M){var L;return(L=re.call(this)||this).name="GraphError",L.message=se||"",L.data=M||{},L}return et(fe,re),fe}(Y(Error)),me=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ne=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ye=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te);function Oe(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function $e(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(re,fe){this.key=re,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Qe(re,fe,se,M,L,J){this.key=fe,this.attributes=J,this.undirected=re,this.source=M,this.target=L,this.generatedKey=se}function tt(re,fe,se,M,L,J,Ee){var Fe,nt,Pt="out",We="in";if(fe&&(Pt=We="undirected"),re.multi){if(void 0===(nt=(Fe=J[Pt])[L])&&(nt=new Set,Fe[L]=nt),nt.add(se),M===L&&fe)return;void 0===(Fe=Ee[We])[M]&&(Fe[M]=nt)}else{if(J[Pt][L]=se,M===L&&fe)return;Ee[We][M]=se}}function Xe(re,fe,se){var M=re.multi,L=se.source,J=se.target,Ee=L.key,Fe=J.key,nt=L[fe?"undirected":"out"],Pt=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Pt][Ee]):We.delete(se)}else delete nt[Fe];M||delete J[Pt][Ee]}$e.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var ze=[{name:function(re){return"get".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes[L]}}},{name:function(re){return"get".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M){var L;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,Ee=""+arguments[1];if(!(L=W(this,J,Ee,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(Ee,'").'))}else if(!(L=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&L.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return L.attributes}}},{name:function(re){return"has".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes.hasOwnProperty(L)}}},{name:function(re){return"set".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J,this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"update".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J(Ee.attributes[L]),this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"remove".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return delete J.attributes[L],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:L}),this}}},{name:function(re){return"replace".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes=L,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(re){return"merge".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return he(J.attributes,L),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:L}),this}}}],Le=oe,Ke=function(){var re,fe=arguments,se=-1;return new Le(function M(){if(!re){if(++se>=fe.length)return{done:!0};re=fe[se]}var L=re.next();return L.done?(re=null,M()):L})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(re,fe){for(var se in fe)re.push(fe[se].key)}function qe(re,fe){for(var se in fe)fe[se].forEach(function(M){return re.push(M.key)})}function ke(re,fe,se){for(var M in re)if(M!==se){var L=re[M];fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)}}function q(re,fe,se){for(var M in re)M!==se&&re[M].forEach(function(L){return fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function G(re,fe,se){for(var M in re)if(M!==se){var L=re[M];if(fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey))return!0}return!1}function pe(re,fe,se){var M,L,J,Ee,Fe;for(var nt in re)if(nt!==se)for(M=re[nt].values();!0!==(L=M.next()).done;)if(Ee=(J=L.value).source,fe(J.key,J.attributes,Ee.key,(Fe=J.target).key,Ee.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function de(re,fe){var se=Object.keys(re),M=se.length,L=null,J=0;return new oe(function Ee(){var Fe;if(L){var nt=L.next();if(nt.done)return L=null,J++,Ee();Fe=nt.value}else{if(J>=M)return{done:!0};var Pt=se[J];if(Pt===fe)return J++,Ee();if((Fe=re[Pt])instanceof Set)return L=Fe.values(),Ee();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(re,fe,se){var M=fe[se];M&&re.push(M.key)}function _t(re,fe,se){var M=fe[se];M&&M.forEach(function(L){return re.push(L.key)})}function pt(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function we(re,fe,se){var M=re[fe];M&&M.forEach(function(L){return se(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function B(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;return se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(re,fe,se){var M=re[fe];if(M){for(var L,J,Ee=M.values();!0!==(L=Ee.next()).done;)if(se((J=L.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function V(re,fe){var se=re[fe];if(se instanceof Set){var M=se.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return oe.of([se.key,se.attributes,se.source.key,se.target.key,se.source.attributes,se.target.attributes])}function Re(re,fe){if(0===re.size)return[];if("mixed"===fe||fe===re.type)return"function"==typeof Array.from?Array.from(re._edges.keys()):te(re._edges.keys(),re._edges.size);for(var se,M,J=new Array("undirected"===fe?re.undirectedSize:re.directedSize),Ee="undirected"===fe,Fe=re._edges.values(),nt=0;!0!==(se=Fe.next()).done;)(M=se.value).undirected===Ee&&(J[nt++]=M.key);return J}function Ze(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey)}}function Tt(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;if(se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey))break}}function kt(re,fe){if(0===re.size)return oe.empty();var se="mixed"!==fe&&fe!==re.type,M="undirected"===fe,L=re._edges.values();return new oe(function(){for(var J,Ee;;){if((J=L.next()).done)return J;if(Ee=J.value,!se||Ee.undirected===M)break}return{value:[Ee.key,Ee.attributes,Ee.source.key,Ee.target.key,Ee.source.attributes,Ee.target.attributes],done:!1}})}function In(re,fe,se,M){var L=[],J=re?qe:Ue;return"undirected"!==fe&&("out"!==se&&J(L,M.in),"in"!==se&&J(L,M.out),!se&&M.directedSelfLoops>0&&L.splice(L.lastIndexOf(M.key),1)),"directed"!==fe&&J(L,M.undirected),L}function Nn(re,fe,se,M,L){var J=re?q:ke;"undirected"!==fe&&("out"!==se&&J(M.in,L),"in"!==se&&J(M.out,L,se?null:M.key)),"directed"!==fe&&J(M.undirected,L)}function Yn(re,fe,se,M,L){var J=re?pe:G;"undirected"!==fe&&("out"!==se&&J(M.in,L)||"in"!==se&&J(M.out,L,se?null:M.key))||"directed"===fe||J(M.undirected,L)}function Mi(re,fe,se){var M=oe.empty();return"undirected"!==re&&("out"!==fe&&void 0!==se.in&&(M=Ke(M,de(se.in))),"in"!==fe&&void 0!==se.out&&(M=Ke(M,de(se.out,fe?null:se.key)))),"directed"!==re&&void 0!==se.undirected&&(M=Ke(M,de(se.undirected))),M}function xi(re,fe,se,M,L){var J=fe?_t:je,Ee=[];return"undirected"!==re&&(void 0!==M.in&&"out"!==se&&J(Ee,M.in,L),void 0!==M.out&&"in"!==se&&J(Ee,M.out,L),!se&&M.directedSelfLoops>0&&Ee.splice(Ee.lastIndexOf(M.key),1)),"directed"!==re&&void 0!==M.undirected&&J(Ee,M.undirected,L),Ee}function Xr(re,fe,se,M,L,J){var Ee=fe?we:pt;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J),M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J)),"directed"!==re&&void 0!==M.undirected&&Ee(M.undirected,L,J)}function Ls(re,fe,se,M,L,J){var Ee=fe?N:B;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J)||M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J,se?null:M.key))||"directed"===re||void 0===M.undirected||Ee(M.undirected,L,J)}function fs(re,fe,se,M){var L=oe.empty();return"undirected"!==re&&(void 0!==se.in&&"out"!==fe&&M in se.in&&(L=Ke(L,V(se.in,M))),void 0!==se.out&&"in"!==fe&&M in se.out&&(L=Ke(L,V(se.out,M)))),"directed"!==re&&void 0!==se.undirected&&M in se.undirected&&(L=Ke(L,V(se.undirected,M))),L}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(re,fe){if(void 0!==fe)for(var se in fe)re.add(se)}function xa(re,fe,se){if("mixed"!==re){if("undirected"===re)return Object.keys(se.undirected);if("string"==typeof fe)return Object.keys(se[fe])}var M=new Set;return"undirected"!==re&&("out"!==fe&&Kr(M,se.in),"in"!==fe&&Kr(M,se.out)),"directed"!==re&&Kr(M,se.undirected),te(M.values(),M.size)}function kl(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;se(Fe.key,Fe.attributes)}}function Sa(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;re.has(nt.key)||(re.add(nt.key),M(nt.key,nt.attributes))}}function ws(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;if(se(Fe.key,Fe.attributes))return!0}return!1}function en(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;if(!re.has(nt.key)&&(re.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function nl(re,fe){var se=Object.keys(fe),M=se.length,L=0;return new oe(function(){if(L>=M)return{done:!0};var J=fe[se[L++]];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===re?J.target:Ee;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(re,fe,se){var M=Object.keys(se),L=M.length,J=0;return new oe(function Ee(){if(J>=L)return{done:!0};var Fe=se[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return re.has(We.key)?Ee():(re.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(re,fe,se,M,L){var J=re._nodes.get(M);if("undirected"!==fe){if("out"!==se&&void 0!==J.in)for(var Ee in J.in)if(Ee===L)return!0;if("in"!==se&&void 0!==J.out)for(var Fe in J.out)if(Fe===L)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===L)return!0;return!1}function Be(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We=fe._nodes.values(),qt=fe.type;!0!==(M=We.next()).done;){if(L=M.value,"undirected"!==qt)for(J in Ee=L.out)if(nt=(Fe=Ee[J]).target,Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return;if("directed"!==qt)for(J in Ee=L.undirected)if((nt=(Fe=Ee[J]).target).key!==J&&(nt=Fe.source),Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return}}function ut(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We,qt,St=fe._nodes.values(),bn=fe.type;!0!==(M=St.next()).done;){if(L=M.value,"undirected"!==bn)for(J in nt=L.out)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if(We=(Pt=Fe.value).target,qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return;if("directed"!==bn)for(J in nt=L.undirected)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if((We=(Pt=Fe.value).target).key!==J&&(We=Pt.source),qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return}}function Je(re,fe){var se={key:re};return Q(fe.attributes)||(se.attributes=he({},fe.attributes)),se}function Mt(re,fe){var se={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(se.key=re),Q(fe.attributes)||(se.attributes=he({},fe.attributes)),fe.undirected&&(se.undirected=!0),se}function It(re){return k(re)?"key"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(re){return k(re)?"source"in re?"target"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?"undirected"in re&&"boolean"!=typeof re.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(re,fe,se){var M=new re.NodeDataClass(fe,se);return re._nodes.set(fe,M),re.emit("nodeAdded",{key:fe,attributes:se}),M}function yn(re,fe,se,M,L,J,Ee,Fe){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,Ee=""+Ee,Fe=Fe||{},!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=re._nodes.get(J),Pt=re._nodes.get(Ee);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Pt)throw new ne("Graph.".concat(fe,': target node "').concat(Ee,'" not found.'));var We={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(We)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));if(!re.multi&&(M?void 0!==nt.undirected[Ee]:void 0!==nt.out[Ee]))throw new ye("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(Ee,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new Qe(M,L,se,nt,Pt,Fe);return re._edges.set(L,qt),J===Ee?M?(nt.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(nt.directedSelfLoops++,re._directedSelfLoopCount++):M?(nt.undirectedDegree++,Pt.undirectedDegree++):(nt.outDegree++,Pt.inDegree++),tt(re,M,qt,J,Ee,nt,Pt),M?re._undirectedSize++:re._directedSize++,We.key=L,re.emit("edgeAdded",We),L}function Xn(re,fe,se,M,L,J,Ee,Fe,nt){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Pt;if(J=""+J,Ee=""+Ee,nt&&(Pt=Fe,Fe=void 0),!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,qt,St=re._nodes.get(J),bn=re._nodes.get(Ee);if(!se&&(We=re._edges.get(L))){if(We.source.key!==J||We.target.key!==Ee||M&&(We.source.key!==Ee||We.target.key!==J))throw new ye("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(L,'" edge with "').concat(J,'" source & "').concat(Ee,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));qt=We}if(qt||re.multi||!St||(qt=M?St.undirected[Ee]:St.out[Ee]),qt)return(nt?Pt:Fe)?(nt?(qt.attributes=Pt(qt.attributes),re.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(he(qt.attributes,Fe),re.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:Fe})),qt.key):qt.key;Fe=Fe||{},nt&&Pt&&(Fe=Pt(Fe));var Zr={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(Zr)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));return St||(St=Rn(re,J,{}),J===Ee&&(bn=St)),bn||(bn=Rn(re,Ee,{})),We=new Qe(M,L,se,St,bn,Fe),re._edges.set(L,We),J===Ee?M?(St.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(St.directedSelfLoops++,re._directedSelfLoopCount++):M?(St.undirectedDegree++,bn.undirectedDegree++):(St.outDegree++,bn.inDegree++),tt(re,M,We,J,Ee,St,bn),M?re._undirectedSize++:re._directedSize++,Zr.key=L,re.emit("edgeAdded",Zr),L}var re,Sn=function(re){function fe(M){var L;if(L=re.call(this)||this,(M=he({},ci,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Qt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,Ee="mixed"===M.type?Oe:"directed"===M.type?$e:st;return H(Se(L),"NodeDataClass",Ee),H(Se(L),"_attributes",{}),H(Se(L),"_nodes",new Map),H(Se(L),"_edges",new Map),H(Se(L),"_directedSize",0),H(Se(L),"_undirectedSize",0),H(Se(L),"_directedSelfLoopCount",0),H(Se(L),"_undirectedSelfLoopCount",0),H(Se(L),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),H(Se(L),"_options",M),zn.forEach(function(Fe){return H(Se(L),Fe,L[Fe])}),v(Se(L),"order",function(){return L._nodes.size}),v(Se(L),"size",function(){return L._edges.size}),v(Se(L),"directedSize",function(){return L._directedSize}),v(Se(L),"undirectedSize",function(){return L._undirectedSize}),v(Se(L),"selfLoopCount",function(){return L._directedSelfLoopCount+L._undirectedSelfLoopCount}),v(Se(L),"directedSelfLoopCount",function(){return L._directedSelfLoopCount}),v(Se(L),"undirectedSelfLoopCount",function(){return L._undirectedSelfLoopCount}),v(Se(L),"multi",L._options.multi),v(Se(L),"type",L._options.type),v(Se(L),"allowSelfLoops",L._options.allowSelfLoops),v(Se(L),"implementation",function(){return"graphology"}),L}et(fe,re);var se=fe.prototype;return se.hasNode=function(M){return this._nodes.has(""+M)},se.hasDirectedEdge=function(M,L){if("undirected"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&!Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasUndirectedEdge=function(M,L){if("directed"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasEdge=function(M,L){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){L=""+L;var Ee=this._nodes.get(M=""+M);if(!Ee)return!1;var Fe=void 0!==Ee.out&&Ee.out[L];return Fe||(Fe=void 0!==Ee.undirected&&Ee.undirected[L]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.directedEdge=function(M,L){if("undirected"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.directedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||void 0;return Ee?Ee.key:void 0}},se.undirectedEdge=function(M,L){if("directed"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.undirectedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.undirected&&J.undirected[L]||void 0;return Ee?Ee.key:void 0}},se.edge=function(M,L){if(this.multi)throw new ye("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");L=""+L;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.edge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||J.undirected&&J.undirected[L]||void 0;if(Ee)return Ee.key},se.inDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(L?J.directedSelfLoops:0)},se.outDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(L?J.directedSelfLoops:0)},se.directedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var Ee=L?J.directedSelfLoops:0;return J.inDegree+Ee+(J.outDegree+Ee)},se.undirectedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(L?J.undirectedSelfLoops:0)},se.degree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.degree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var Ee=0,Fe=0;return"directed"!==this.type&&(L&&(Fe=J.undirectedSelfLoops),Ee+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(L&&(Fe=J.directedSelfLoops),Ee+=J.inDegree+J.outDegree+2*Fe),Ee},se.source=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return L.source.key},se.target=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return L.target.key},se.extremities=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[L.source.key,L.target.key]},se.opposite=function(M,L){M=""+M;var J=this._edges.get(L=""+L);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(L,'" edge in the graph.'));var Ee=J.source.key,Fe=J.target.key;if(M!==Ee&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(L,'" edge (').concat(Ee,", ").concat(Fe,")."));return M===Ee?Fe:Ee},se.hasExtremity=function(M,L){L=""+L;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===L||J.target.key===L},se.isUndirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return L.undirected},se.isDirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!L.undirected},se.isSelfLoop=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return L.source===L.target},se.hasGeneratedKey=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return L.generatedKey},se.addNode=function(M,L){return function(J,Ee,Fe){if(Fe&&!k(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(Ee=""+Ee))throw new ye('Graph.addNode: the "'.concat(Ee,'" node already exist in the graph.'));var nt=new J.NodeDataClass(Ee,Fe);return J._nodes.set(Ee,nt),J.emit("nodeAdded",{key:Ee,attributes:Fe}),nt}(this,M,L).key},se.mergeNode=function(M,L){if(L&&!k(L))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(L,'"'));L=L||{};var J=this._nodes.get(M=""+M);return J?(L&&(he(J.attributes,L),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:L})),M):(J=new this.NodeDataClass(M,L),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:L}),M)},se.updateNode=function(M,L){if(L&&"function"!=typeof L)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(L,'"'));var J=this._nodes.get(M=""+M);if(J)return L&&(J.attributes=L(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=L?L({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},se.dropNode=function(M){var L=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(Ee){L.dropEdge(Ee)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},se.dropEdge=function(M){var L;if(arguments.length>1){var J=""+arguments[0],Ee=""+arguments[1];if(!(L=W(this,J,Ee,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(Ee,'" edge in the graph.'))}else if(!(L=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(L.key);var nt=L.source,Pt=L.target,We=L.attributes,qt=L.undirected;return nt===Pt?qt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):qt?(nt.undirectedDegree--,Pt.undirectedDegree--):(nt.outDegree--,Pt.inDegree--),Xe(this,qt,L),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Pt.key,undirected:qt}),this},se.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},se.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},se.getAttribute=function(M){return this._attributes[M]},se.getAttributes=function(){return this._attributes},se.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},se.setAttribute=function(M,L){return this._attributes[M]=L,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.updateAttribute=function(M,L){if("function"!=typeof L)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=L(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},se.replaceAttributes=function(M){if(!k(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},se.mergeAttributes=function(M){if(!k(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},se.getNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[L]},se.getNodeAttributes=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return L.attributes},se.hasNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(L)},se.setNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Ee.attributes[L]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.updateNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=Ee.attributes,nt=J(Fe[L]);return Fe[L]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.removeNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[L],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:L}),this},se.replaceNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=L,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},se.mergeNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,L),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:L}),this},se.updateEachNodeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachNodeAttributesUpdated",{hints:L||null})},se.updateEachEdgeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachEdgeAttributesUpdated",{hints:L||null})},se.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Be(!1,this,M)},se.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Be(!0,this,M)},se.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Pt=M.type,We="outer",qt=null,new oe(function St(){var bn;if("outer"===We)return!0===(bn=nt.next()).done?bn:(L=bn.value,We="directed",St());if("directed"===We)return"undirected"===Pt?(We="undirected",St()):(Ee=L.out,J=Object.keys(L.out),Fe=0,We="inner-directed",St());if("undirected"===We){if("directed"===Pt)return We="outer",St();Ee=L.undirected,J=Object.keys(L.undirected),Fe=0,We="inner-undirected"}if(!qt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",St();if(!qt){var Es=J[Fe++];return qt=Ee[Es].values(),St()}if((bn=qt.next()).done)return qt=null,St();var Zr=bn.value,Js=Zr.target;return"inner-undirected"===We&&Js.key===L.key&&(Js=Zr.source),{done:!1,value:[L.key,Js.key,L.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new oe(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(bn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=bn.out,Es=Object.keys(bn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=bn.undirected,Es=Object.keys(bn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var En=Es[Js++],po=Zr[En],Ll=po.target;return"inner-undirected"===Br&&Ll.key===bn.key&&(Ll=po.source),{done:!1,value:[bn.key,Ll.key,bn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,bn,Es,Zr,Js,Fl,fo,Br,M,L,J,Ee,Fe,nt,Pt,We,qt},se.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},se.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(L,J){M(J,L.attributes)})},se.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var L,J,Ee=this._nodes.values();!0!==(L=Ee.next())&&!M((J=L.value).key,J.attributes););},se.nodeEntries=function(){var M=this._nodes.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{value:[J.key,J.attributes],done:!1}})},se.exportNode=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Je(M,L)},se.exportEdge=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return Mt(M,L)},se.export=function(){var M=new Array(this._nodes.size),L=0;this._nodes.forEach(function(Ee,Fe){M[L++]=Je(Fe,Ee)});var J=new Array(this._edges.size);return L=0,this._edges.forEach(function(Ee,Fe){J[L++]=Mt(Fe,Ee)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},se.importNode=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=It(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Ee=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return L?this.mergeNode(Ee,nt):this.addNode(Ee,nt),this},se.importEdge=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Ot(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Ee=M.source,Fe=M.target,nt=M.attributes,Pt=void 0===nt?{}:nt,We=M.undirected,qt=void 0!==We&&We;return"key"in M?(L?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,Ee,Fe,Pt):(L?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Ee,Fe,Pt),this},se.import=function(M){var L,J,Ee,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!k(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!k(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(Ee=M.nodes,!Array.isArray(Ee))throw new me("Graph.import: invalid nodes. Expecting an array.");for(L=0,J=Ee.length;LJ)){var Pt=new Set;Pt.add(L.undirected[nt]),L.undirected[nt]=Pt,M._nodes.get(nt).undirected[J]=Pt}})),this;var M},se.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},se.toJSON=function(){return this.export()},se.toString=function(){return"[object Graph]"},se.inspect=function(){var M=this,L={};this._nodes.forEach(function(Pt,We){L[We]=Pt.attributes});var J={},Ee={};this._edges.forEach(function(Pt,We){var qt=Pt.undirected?"--":"->",St="",bn="(".concat(Pt.source.key,")").concat(qt,"(").concat(Pt.target.key,")");Pt.generatedKey?M.multi&&(void 0===Ee[bn]?Ee[bn]=0:Ee[bn]++,St+="".concat(Ee[bn],". ")):St+="[".concat(We,"]: "),J[St+=bn]=Pt.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=L,Fe.edges=J,H(Fe,"constructor",this.constructor),Fe},fe}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Sn.prototype.inspect),[{name:function(re){return"".concat(re,"Edge")},generateKey:!0},{name:function(re){return"".concat(re,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(re){return"".concat(re,"EdgeWithKey")}},{name:function(re){return"".concat(re,"DirectedEdgeWithKey")},type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(re){["add","merge","update"].forEach(function(fe){var se=re.name(fe),M="add"===fe?yn:Xn;Sn.prototype[se]=re.generateKey?function(L,J,Ee){return M(this,se,!0,"undirected"===(re.type||this.type),null,L,J,Ee,"update"===fe)}:function(L,J,Ee,Fe){return M(this,se,!1,"undirected"===(re.type||this.type),L,J,Ee,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.iterator]=Sn.prototype.adjacency),re=Sn,ze.forEach(function(fe){var se=fe.name,M=fe.attacher;M(re,se("Edge"),"mixed"),M(re,se("DirectedEdge"),"directed"),M(re,se("UndirectedEdge"),"undirected")}),function(re){Me.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Pt=this._nodes.get(Fe=""+Fe);if(void 0===Pt)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return In(this.multi,"mixed"===J?this.type:J,Ee,Pt)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" target node in the graph.'));return xi(J,this.multi,Ee,We,nt)}throw new me("Graph.".concat(L,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1);se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Ze(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Nn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Xr(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1)+"Until";se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Tt(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Ls(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var J=M.type,Ee=M.direction,Fe=M.name.slice(0,-1)+"Entries";se.prototype[Fe]=function(nt,Pt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return oe.empty();if(!arguments.length)return kt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Mi(J,Ee,We)}if(2===arguments.length){Pt=""+Pt;var qt=this._nodes.get(nt=""+nt);if(!qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return fs(J,Ee,qt,Pt)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(re,fe)})}(Sn),function(re){Bs.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Pt=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(L,': could not find the "').concat(Pt,'" node in the graph.'));return lt(this,J,Ee,nt,Pt)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return xa("mixed"===J?this.type:J,Ee,We)}throw new me("Graph.".concat(L,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1);re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return kl(qt,qt.undirected,St);if("string"==typeof We)return kl(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&Sa(bn,qt,qt.in,St),"in"!==We&&Sa(bn,qt,qt.out,St)),"directed"!==Pt&&Sa(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1)+"Until";re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return ws(qt,qt.undirected,St);if("string"==typeof We)return ws(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&en(bn,qt,qt.in,St)||"in"!==We&&en(bn,qt,qt.out,St))||"directed"===Pt||en(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var M=fe.type,L=fe.direction,J=fe.name.slice(0,-1)+"Entries";re.prototype[J]=function(Ee){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return oe.empty();var Fe=this._nodes.get(Ee=""+Ee);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));return function(nt,Pt,We){if("mixed"!==nt){if("undirected"===nt)return nl(We,We.undirected);if("string"==typeof Pt)return nl(We,We[Pt])}var qt=oe.empty(),St=new Set;return"undirected"!==nt&&("out"!==Pt&&(qt=Ke(qt,rt(St,We,We.in))),"in"!==Pt&&(qt=Ke(qt,rt(St,We,We.out)))),"directed"!==nt&&(qt=Ke(qt,rt(St,We,We.undirected))),qt}("mixed"===M?this.type:M,L,Fe)}}(re,fe)})}(Sn);var rr=function(re){function fe(se){var M=he({type:"directed"},se);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),sr=function(re){function fe(se){var M=he({type:"undirected"},se);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Qn=function(re){function fe(se){var M=he({multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return re.call(this,M)||this}return et(fe,re),fe}(Sn),qi=function(re){function fe(se){var M=he({type:"directed",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Ca=function(re){function fe(se){var M=he({type:"undirected",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn);function Qr(re){re.from=function(fe,se){var M=he({},fe.options,se),L=new re(M);return L.import(fe),L}}return Qr(Sn),Qr(rr),Qr(sr),Qr(Qn),Qr(qi),Qr(Ca),Sn.Graph=Sn,Sn.DirectedGraph=rr,Sn.UndirectedGraph=sr,Sn.MultiGraph=Qn,Sn.MultiDirectedGraph=qi,Sn.MultiUndirectedGraph=Ca,Sn.InvalidArgumentsGraphError=me,Sn.NotFoundGraphError=ne,Sn.UsageGraphError=ye,Sn}()},1524:(Ut,it,et)=>{var yt;!function(ee,Dt,dt,Y){"use strict";var T,Se=["","webkit","Moz","MS","ms","o"],he=Dt.createElement("div"),j=Math.round,k=Math.abs,Q=Date.now;function H(be,De,Ge){return setTimeout(A(be,Ge),De)}function v(be,De,Ge){return!!Array.isArray(be)&&(C(be,Ge[De],Ge),!0)}function C(be,De,Ge){var vt;if(be)if(be.forEach)be.forEach(De,Ge);else if(be.length!==Y)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),be.apply(this,arguments)}}T="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var Ge=Object(De),vt=1;vt-1}function K(be){return be.trim().split(/\s+/g)}function E(be,De,Ge){if(be.indexOf&&!Ge)return be.indexOf(De);for(var vt=0;vtxs[De]}):vt.sort()),vt}function ae(be,De){for(var Ge,vt,$t=De[0].toUpperCase()+De.slice(1),Xt=0;Xt1&&!Ge.firstMultiple?Ge.firstMultiple=Tt(De):1===$t&&(Ge.firstMultiple=!1);var Xt=Ge.firstInput,ui=Ge.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=De.center=kt(vt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Xt.timeStamp,De.angle=Mi(Vr,Jr),De.distance=Yn(Vr,Jr),function(be,De){var Ge=De.center,vt=be.offsetDelta||{},$t=be.prevDelta||{},Xt=be.prevInput||{};(1===De.eventType||4===Xt.eventType)&&($t=be.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=be.offsetDelta={x:Ge.x,y:Ge.y}),De.deltaX=$t.x+(Ge.x-vt.x),De.deltaY=$t.y+(Ge.y-vt.y)}(Ge,De),De.offsetDirection=Nn(De.deltaX,De.deltaY);var xs=In(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=k(xs.x)>k(xs.y)?xs.x:xs.y,De.scale=ui?function(be,De){return Yn(De[0],De[1],pt)/Yn(be[0],be[1],pt)}(ui.pointers,vt):1,De.rotation=ui?function(be,De){return Mi(De[1],De[0],pt)+Mi(be[1],be[0],pt)}(ui.pointers,vt):0,De.maxPointers=Ge.prevInput?De.pointers.length>Ge.prevInput.maxPointers?De.pointers.length:Ge.prevInput.maxPointers:De.pointers.length,function(be,De){var $t,Xt,ui,Vr,Ge=be.lastInterval||De,vt=De.timeStamp-Ge.timeStamp;if(8!=De.eventType&&(vt>25||Ge.velocity===Y)){var Jr=De.deltaX-Ge.deltaX,xs=De.deltaY-Ge.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=k(Zn.x)>k(Zn.y)?Zn.x:Zn.y,Vr=Nn(Jr,xs),be.lastInterval=De}else $t=Ge.velocity,Xt=Ge.velocityX,ui=Ge.velocityY,Vr=Ge.direction;De.velocity=$t,De.velocityX=Xt,De.velocityY=ui,De.direction=Vr}(Ge,De);var Zn=be.element;I(De.srcEvent.target,Zn)&&(Zn=De.srcEvent.target),De.target=Zn}(be,Ge),be.emit("hammer.input",Ge),be.recognize(Ge),be.session.prevInput=Ge}function Tt(be){for(var De=[],Ge=0;Ge=k(De)?be<0?2:4:De<0?8:16}function Yn(be,De,Ge){Ge||(Ge=_t);var vt=De[Ge[0]]-be[Ge[0]],$t=De[Ge[1]]-be[Ge[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(be,De,Ge){return Ge||(Ge=_t),180*Math.atan2(De[Ge[1]]-be[Ge[1]],De[Ge[0]]-be[Ge[0]])/Math.PI}we.prototype={handler:function(){},init:function(){this.evEl&&X(this.element,this.evEl,this.domHandler),this.evTarget&&X(this.target,this.evTarget,this.domHandler),this.evWin&&X(Te(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ue(this.element,this.evEl,this.domHandler),this.evTarget&&ue(this.target,this.evTarget,this.domHandler),this.evWin&&ue(Te(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,we.apply(this,arguments)}S(Kr,we,{handler:function(De){var Ge=Ls[De.type];1&Ge&&0===De.button&&(this.pressed=!0),2&Ge&&1!==De.which&&(Ge=4),this.pressed&&(4&Ge&&(this.pressed=!1),this.callback(this.manager,Ge,{pointers:[De],changedPointers:[De],pointerType:Qe,srcEvent:De}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:$e,3:"pen",4:Qe,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,we.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),S(en,we,{handler:function(De){var Ge=this.store,vt=!1,$t=De.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[De.pointerType]||De.pointerType,Vr=ui==$e,Jr=E(Ge,De.pointerId,"pointerId");1&Xt&&(0===De.button||Vr)?Jr<0&&(Ge.push(De),Jr=Ge.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Ge[Jr]=De,this.callback(this.manager,Xt,{pointers:Ge,changedPointers:[De],pointerType:ui,srcEvent:De}),vt&&Ge.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,we.apply(this,arguments)}function ge(be,De){var Ge=$(be.touches),vt=$(be.changedTouches);return 12&De&&(Ge=Z(Ge.concat(vt),"identifier",!0)),[Ge,vt]}S(ht,we,{handler:function(De){var Ge=nl[De.type];if(1===Ge&&(this.started=!0),this.started){var vt=ge.call(this,De,Ge);12&Ge&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Ge,{pointers:vt[0],changedPointers:vt[1],pointerType:$e,srcEvent:De})}}});var ve={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Be="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Be,this.targetIds={},we.apply(this,arguments)}function Je(be,De){var Ge=$(be.touches),vt=this.targetIds;if(3&De&&1===Ge.length)return vt[Ge[0].identifier]=!0,[Ge,Ge];var $t,Xt,ui=$(be.changedTouches),Vr=[],Jr=this.target;if(Xt=Ge.filter(function(xs){return I(xs.target,Jr)}),1===De)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(be){for(var De=be.srcEvent.clientX,Ge=be.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(be){return!!this.simultaneous[be.id]},emit:function(be){var De=this,Ge=this.state;function vt($t){De.manager.emit($t,be)}Ge<8&&vt(De.options.event+We(Ge)),vt(De.options.event),be.additionalEvent&&vt(be.additionalEvent),Ge>=8&&vt(De.options.event+We(Ge))},tryEmit:function(be){if(this.canEmit())return this.emit(be);this.state=32},canEmit:function(){for(var be=0;beDe.threshold&&$t&De.direction},attrTest:function(be){return bn.prototype.attrTest.call(this,be)&&(2&this.state||!(2&this.state)&&this.directionTest(be))},emit:function(be){this.pX=be.deltaX,this.pY=be.deltaY;var De=qt(be.direction);De&&(be.additionalEvent=this.options.event+De),this._super.emit.call(this,be)}}),S(Zr,bn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.scale-1)>this.options.threshold||2&this.state)},emit:function(be){1!==be.scale&&(be.additionalEvent=this.options.event+(be.scale<1?"in":"out")),this._super.emit.call(this,be)}}),S(Js,Pt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distanceDe.time;if(this._input=be,!vt||!Ge||12&be.eventType&&!$t)this.reset();else if(1&be.eventType)this.reset(),this._timer=H(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&be.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(be){8===this.state&&(be&&4&be.eventType?this.manager.emit(this.options.event+"up",be):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Fl,bn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.rotation)>this.options.threshold||2&this.state)}}),S(fo,bn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(be){var Ge,De=this.options.direction;return 30&De?Ge=be.overallVelocity:6&De?Ge=be.overallVelocityX:24&De&&(Ge=be.overallVelocityY),this._super.attrTest.call(this,be)&&De&be.offsetDirection&&be.distance>this.options.threshold&&be.maxPointers==this.options.pointers&&k(Ge)>this.options.velocity&&4&be.eventType},emit:function(be){var De=qt(be.offsetDirection);De&&this.manager.emit(this.options.event+De,be),this.manager.emit(this.options.event,be)}}),S(Br,Pt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Be=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Be.source),Je=/^\s+/,Mt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Sn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,re=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",bn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+fe+"]",Fl="["+Es+"]",fo="["+J+"]",Br="\\d+",Vs="["+Ee+"]",Ac="["+Fe+"]",En="[^"+fe+Es+Br+Ee+Fe+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+fe+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+St+"]",vt="(?:"+Ac+"|"+En+")",$t="(?:"+De+"|"+En+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+bn+"]?",T1=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,be].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,be].join("|")+")"+T1,tr="(?:"+[Ta+fo+"?",fo,Ed,be,Js].join("|")+")",fp=RegExp("['\u2019]","g"),i_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+tr+T1,"g"),rv=RegExp([De+"?"+Ac+"+"+Xt+"(?="+[Fl,De,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,De+vt,"$"].join("|")+")",De+"?"+vt+"+"+Xt,De+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),A1=RegExp("[\\u200d"+fe+J+bn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],M1=-1,rn={};rn[kt]=rn[In]=rn[Nn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[Qe]=rn[tt]=rn[Ze]=rn[ze]=rn[Tt]=rn[Le]=rn[Me]=rn[Ue]=rn[ke]=rn[q]=rn[pe]=rn[_t]=rn[pt]=rn[we]=rn[V]=!1;var or={};or[Qe]=or[tt]=or[Ze]=or[Tt]=or[ze]=or[Le]=or[kt]=or[In]=or[Nn]=or[Yn]=or[Mi]=or[ke]=or[q]=or[pe]=or[_t]=or[pt]=or[we]=or[B]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Me]=or[Ue]=or[V]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},D1=parseFloat,lv=parseInt,Nt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,zi=Nt||js||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,No=Aa&&Aa.exports===Vl,r_=No&&Nt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||r_&&r_.binding&&r_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(at,Rt,Ct){switch(Ct.length){case 0:return at.call(Rt);case 1:return at.call(Rt,Ct[0]);case 2:return at.call(Rt,Ct[0],Ct[1]);case 3:return at.call(Rt,Ct[0],Ct[1],Ct[2])}return at.apply(Rt,Ct)}function jr(at,Rt,Ct,dn){for(var Mn=-1,Bi=null==at?0:at.length;++Mn-1}function Ph(at,Rt,Ct){for(var dn=-1,Mn=null==at?0:at.length;++dn-1;);return Ct}function P1(at,Rt){for(var Ct=at.length;Ct--&&il(Rt,at[Ct],0)>-1;);return Ct}function rF(at,Rt){for(var Ct=at.length,dn=0;Ct--;)at[Ct]===Rt&&++dn;return dn}var sF=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),oF=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function aF(at){return"\\"+tn[at]}function Fh(at){return A1.test(at)}function uv(at){var Rt=-1,Ct=Array(at.size);return at.forEach(function(dn,Mn){Ct[++Rt]=[Mn,dn]}),Ct}function N1(at,Rt){return function(Ct){return at(Rt(Ct))}}function xu(at,Rt){for(var Ct=-1,dn=at.length,Mn=0,Bi=[];++Ct",""":'"',"'":"'"}),Bh=function at(Rt){var d,Ct=(Rt=null==Rt?zi:Bh.defaults(zi.Object(),Rt,Bh.pick(zi,Rh))).Array,dn=Rt.Date,Mn=Rt.Error,Bi=Rt.Function,es=Rt.Math,Xi=Rt.Object,d_=Rt.RegExp,h_=Rt.String,Ia=Rt.TypeError,dr=Ct.prototype,Su=Xi.prototype,gp=Rt["__core-js_shared__"],Sr=Bi.prototype.toString,Ki=Su.hasOwnProperty,fF=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,L1=Sr.call(Xi),f_=zi._,Dd=d_("^"+Sr.call(Ki).replace(Be,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=No?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,fv=zs?zs.allocUnsafe:ee,Oa=N1(Xi.getPrototypeOf,Xi),p_=Xi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,B1=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Xi,"defineProperty");return d({},"",{}),d}catch(p){}}(),pv=Rt.clearTimeout!==zi.clearTimeout&&Rt.clearTimeout,V1=dn&&dn.now!==zi.Date.now&&dn.now,j1=Rt.setTimeout!==zi.setTimeout&&Rt.setTimeout,Vt=es.ceil,Si=es.floor,mr=Xi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,g_=Rt.isFinite,Uh=dr.join,sl=N1(Xi.keys,Xi),zr=es.max,ps=es.min,pF=dn.now,U1=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Xi,"create"),Gh=Fo&&new Fo,Od={},z1=Lu(Cs),m_=Lu(mo),__=Lu(bp),gv=Lu(Ra),y_=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function xe(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Ki.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(p_)return p_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ye,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function Pa(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Na(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),F=!_&&gl(d),le=!_&&!F&&ml(d),Ae=!_&&!F&&!le&&df(d),He=_||F||le||Ae,Ye=He?Md(d.length,h_):[],ct=Ye.length;for(var Ft in d)(p||Ki.call(d,Ft))&&(!He||!("length"==Ft||le&&("offset"==Ft||"parent"==Ft)||Ae&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,ct)))&&Ye.push(Ft);return Ye}function E_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function bv(d,p){return qd(no(d),Au(p,0,d.length))}function Pd(d){return qd(no(d))}function x_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var F=d[p];(!Ki.call(d,p)||!Dn(F,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Nd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,F){return Pc(d,function(le,Ae,He){p(F,le,_(le),He)}),F}function Z1(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function S_(d,p){for(var _=-1,F=p.length,le=Ct(F),Ae=null==d;++_=p?d:p)),d}function Hs(d,p,_,F,le,Ae){var He,Ye=1&p,ct=2&p,Ft=4&p;if(_&&(He=le?_(d,F,le,Ae):_(d)),He!==ee)return He;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(He=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Ki.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!Ye)return no(d,He)}else{var Gt=$s(d),nn=Gt==Ue||Gt==qe;if(ml(d))return Pp(d,Ye);if(Gt==pe||Gt==Qe||nn&&!le){if(He=ct||nn?{}:zv(d),!Ye)return ct?function(d,p){return Fa(d,Vv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(He,d)):function(d,p){return Fa(d,j_(d),p)}(d,Z1(He,d))}else{if(!or[Gt])return le?d:{};He=function(d,p,_){var F=d.constructor;switch(p){case Ze:return Pu(d);case ze:case Le:return new F(+d);case Tt:return function(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Nn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return k_(d,_);case ke:return new F;case q:case we:return new F(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case pt:return new F;case B:return function(d){return Rd?Xi(Rd.call(d)):{}}(d)}}(d,Gt,Ye)}}Ae||(Ae=new Na);var vn=Ae.get(d);if(vn)return vn;Ae.set(d,He),bA(d)?d.forEach(function(Bn){He.add(Hs(Bn,p,_,Bn,d,Ae))}):gA(d)&&d.forEach(function(Bn,mi){He.set(mi,Hs(Bn,p,_,mi,d,Ae))});var gi=Lt?ee:(Ft?ct?B_:ql:ct?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(He,mi,Hs(Bn,p,_,mi,d,Ae))}),He}function Tp(d,p,_){var F=_.length;if(null==d)return!F;for(d=Xi(d);F--;){var le=_[F],He=d[le];if(He===ee&&!(le in d)||!(0,p[le])(He))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Se);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,F){var le=-1,Ae=jl,He=!0,Ye=d.length,ct=[],Ft=p.length;if(!Ye)return ct;_&&(p=Yi(p,ta(_))),F?(Ae=Ph,He=!1):p.length>=200&&(Ae=kh,He=!1,p=new Pa(p));e:for(;++le-1},zl.prototype.set=function(d,p){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,p])):_[F][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),F=_.size;return _.set(d,p),this.size+=_.size==F?0:1,this},Pa.prototype.add=Pa.prototype.push=function(d){return this.__data__.set(d,W),this},Pa.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new zl,this.size=0},Na.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var F=_.__data__;if(!mo||F.length<199)return F.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(F)}return _.set(d,p),this.size=_.size,this};var Pc=dl(cl),T_=dl(Ap,!0);function wv(d,p){var _=!0;return Pc(d,function(F,le,Ae){return _=!!p(F,le,Ae)}),_}function Kh(d,p,_){for(var F=-1,le=d.length;++F0&&_(Ye)?p>1?Ts(Ye,p-1,_,F,le):Ur(le,Ye):F||(le[le.length]=Ye)}return le}var kd=Iv(),Fd=Iv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,F=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Ki.call(d,p)}function Bd(d,p){return null!=d&&p in Xi(d)}function Mu(d,p,_){for(var F=_?Ph:jl,le=d[0].length,Ae=d.length,He=Ae,Ye=Ct(Ae),ct=1/0,Ft=[];He--;){var Lt=d[He];He&&p&&(Lt=Yi(Lt,ta(p))),ct=ps(Lt.length,ct),Ye[He]=!_&&(p||le>=120&&Lt.length>=120)?new Pa(He&&Lt):ee}Lt=d[0];var Gt=-1,nn=Ye[0];e:for(;++Gt=Ye?ct:ct*("desc"==_[F]?-1:1)}return d.index-p.index}(Ae,He,_)});Ct--;)at[Ct]=at[Ct].value;return at}(iT(d,function(Ae,He,Ye){return{criteria:Yi(p,function(Ft){return Ft(Ae)}),index:++F,value:Ae}}))}function Tv(d,p,_){for(var F=-1,le=p.length,Ae={};++F-1;)Ye!==d&&Ln.call(Ye,ct,1),Ln.call(d,ct,1);return d}function Jh(d,p){for(var _=d?p.length:0,F=_-1;_--;){var le=p[_];if(_==F||le!==Ae){var Ae=le;jo(le)?Ln.call(d,le,1):Iu(d,le)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Te)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(bT(d,p,so),d+"")}function sT(d){return E_(nh(d))}function xF(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,F){if(!Tr(d))return d;for(var le=-1,Ae=(p=Lc(p,d)).length,He=Ae-1,Ye=d;null!=Ye&&++lele?0:le+p),(_=_>le?le:_)<0&&(_+=le),le=p>_?0:_-p>>>0,p>>>=0;for(var Ae=Ct(le);++F>>1,He=d[Ae];null!==He&&!da(He)&&(_?He<=p:He=200){var Ft=p?null:L_(d);if(Ft)return l_(Ft);He=!1,le=kh,ct=new Pa}else ct=p?[]:Ye;e:for(;++F=F?d:Ms(d,p,_)}var lT=pv||function(d){return zi.clearTimeout(d)};function Pp(d,p){if(p)return d.slice();var _=d.length,F=fv?fv(_):new d.constructor(_);return d.copy(F),F}function Pu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function k_(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,F=null===d,le=d==d,Ae=da(d),He=p!==ee,Ye=null===p,ct=p==p,Ft=da(p);if(!Ye&&!Ft&&!Ae&&d>p||Ae&&He&&ct&&!Ye&&!Ft||F&&He&&ct||!_&&ct||!le)return 1;if(!F&&!Ae&&!Ft&&d1?_[le-1]:ee,He=le>2?_[2]:ee;for(Ae=d.length>3&&"function"==typeof Ae?(le--,Ae):ee,He&&Ws(_[0],_[1],He)&&(Ae=le<3?ee:Ae,le=1),p=Xi(p);++F-1?le[Ae?p[He]:He]:ee}}function ku(d){return hl(function(p){var _=p.length,F=_,le=Lo.prototype.thru;for(d&&p.reverse();F--;){var Ae=p[F];if("function"!=typeof Ae)throw new Ia(Se);if(le&&!He&&"wrapper"==jp(Ae))var He=new Lo([],!0)}for(F=He?F:_;++F<_;){var Ye=jp(Ae=p[F]),ct="wrapper"==Ye?V_(Ae):ee;He=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?He[jp(ct[0])].apply(He,ct[3]):1==Ae.length&&Up(Ae)?He[Ye]():He.thru(Ae)}return function(){var Ft=arguments,Lt=Ft[0];if(He&&1==Ft.length&&On(Lt))return He.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,F,le,Ae,He,Ye,ct,Ft){var Lt=p&X,Gt=1&p,nn=2&p,vn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Ct(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(vn)var qs=Wd(Bn),ha=rF(Di,qs);if(F&&(Di=zd(Di,F,le,vn)),Ae&&(Di=Dv(Di,Ae,He,vn)),mi-=ha,vn&&mi1&&Di.reverse(),Lt&&ctYe))return!1;var Ft=Ae.get(d),Lt=Ae.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,vn=2&_?new Pa:ee;for(Ae.set(d,p),Ae.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[F],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(F,function(d,p){return Us(st,function(_){var F="_."+_[0];p&_[1]&&!jl(d,F)&&d.push(F)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(F),_)))}function W_(d){var p=0,_=0;return function(){var F=pF(),le=16-(F-_);if(_=F,le>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,F=d.length,le=F-1;for(p=p===ee?F:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GT(d,_)});function ny(d){var p=xe(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var iy=hl(function(d){var p=d.length,_=p?d[0]:0,F=this.__wrapped__,le=function(Ae){return S_(Ae,d)};return!(p>1||this.__actions__.length)&&F instanceof fi&&jo(_)?((F=F.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[le],thisArg:ee}),new Lo(F,this.__chain__).thru(function(Ae){return p&&!Ae.length&&Ae.push(ee),Ae})):this.thru(le)}),qT=ts(function(d,p,_){Ki.call(d,_)?++d[_]:ll(d,_,1)}),QT=Rv(Y_),ZT=Rv(X_);function ay(d,p){return(On(d)?Us:Pc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:T_)(d,kn(p,3))}var eA=ts(function(d,p,_){Ki.call(d,_)?d[_].push(p):ll(d,_,[p])}),uw=pi(function(d,p,_){var F=-1,le="function"==typeof p,Ae=bo(d)?Ct(d.length):[];return Pc(d,function(He){Ae[++F]=le?os(p,He,_):ka(He,p,_)}),Ae}),dw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?Yi:iT)(d,kn(p,3))}var fw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=V1||function(){return zi.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,X,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function cy(d,p){var _;if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var F=1;if(_.length){var le=xu(_,Wd(cf));F|=z}return Wl(d,F,p,_,le)}),Qd=pi(function(d,p,_){var F=3;if(_.length){var le=xu(_,Wd(Qd));F|=z}return Wl(p,F,d,_,le)});function vw(d,p,_){var F,le,Ae,He,Ye,ct,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Se);function vn($i){var bl=F,Gc=le;return F=le=ee,Ft=$i,He=d.apply(Gc,bl)}function Fn($i){return Ft=$i,Ye=nf(mi,p),Lt?vn($i):He}function Bn($i){var bl=$i-ct;return ct===ee||bl>=p||bl<0||Gt&&$i-Ft>=Ae}function mi(){var $i=Bu();if(Bn($i))return Di($i);Ye=nf(mi,function($i){var lM=p-($i-ct);return Gt?ps(lM,Ae-($i-Ft)):lM}($i))}function Di($i){return Ye=ee,nn&&F?vn($i):(F=le=ee,He)}function ha(){var $i=Bu(),bl=Bn($i);if(F=arguments,le=this,ct=$i,bl){if(Ye===ee)return Fn(ct);if(Gt)return lT(Ye),Ye=nf(mi,p),vn(ct)}return Ye===ee&&(Ye=nf(mi,p)),He}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ae=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ae,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){Ye!==ee&&lT(Ye),Ft=0,F=ct=le=Ye=ee},ha.flush=function(){return Ye===ee?He:Di(Bu())},ha}var rA=pi(function(d,p){return Xh(d,1,p)}),ww=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Se);var _=function(){var F=arguments,le=p?p.apply(this,F):F[0],Ae=_.cache;if(Ae.has(le))return Ae.get(le);var He=d.apply(this,F);return _.cache=Ae.set(le,He)||Ae,He};return _.cache=new(uf.Cache||ol),_}function hy(d){if("function"!=typeof d)throw new Ia(Se);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var sA=aT(function(d,p){var _=(p=1==p.length&&On(p[0])?Yi(p[0],ta(kn())):Yi(Ts(p,1),ta(kn()))).length;return pi(function(F){for(var le=-1,Ae=ps(F.length,_);++le=p}),gl=J1(function(){return arguments}())?J1:function(d){return Ar(d)&&Ki.call(d,"callee")&&!mp.call(d,"callee")},On=Ct.isArray,Aw=an?ta(an):function(d){return Ar(d)&&As(d)==Ze};function bo(d){return null!=d&&py(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Ly,Mw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Le};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Me||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==Ue||p==qe||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function py(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Te}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var gA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==ke};function yA(d){return"number"==typeof d||Ar(d)&&As(d)==q}function Jp(d){if(!Ar(d)||As(d)!=pe)return!1;var p=Oa(d);if(null===p)return!0;var _=Ki.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==L1}var Rw=go?ta(go):function(d){return Ar(d)&&As(d)==_t},bA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==pt};function my(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==we}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==B}var df=ss?ta(ss):function(d){return Ar(d)&&py(d.length)&&!!rn[As(d)]},Uc=Lp(Cv),_y=Lp(function(d,p){return d<=p});function Pw(d){if(!d)return[];if(bo(d))return my(d)?rl(d):no(d);if(jh&&d[jh])return function(at){for(var Rt,Ct=[];!(Rt=at.next()).done;)Ct.push(Rt.value);return Ct}(d[jh]());var p=$s(d);return(p==ke?uv:p==pt?l_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function yy(d){return d?Au(ti(d),0,ye):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=cv(d);var _=rr.test(d);return _||Qn.test(d)?lv(d.slice(2),_?2:8):Sn.test(d)?NaN:+d}function Nw(d){return Fa(d,ro(d))}function Gi(d){return null==d?"":Vo(d)}var vA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Ki.call(p,_)&&al(d,_,p[_])}),wA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,F){Fa(p,ro(p),d,F)}),EA=Gl(function(d,p,_,F){Fa(p,Is(p),d,F)}),kw=hl(S_),SA=pi(function(d,p){d=Xi(d);var _=-1,F=p.length,le=F>2?p[2]:ee;for(le&&Ws(p[0],p[1],le)&&(F=1);++_1),Ae}),Fa(d,B_(d),_),F&&(_=Hs(_,7,Bp));for(var le=p.length;le--;)Iu(_,p[le]);return _}),DA=hl(function(d,p){return null==d?{}:function(d,p){return Tv(d,p,function(_,F){return eg(d,F)})}(d,p)});function zw(d,p){if(null==d)return{};var _=Yi(B_(d),function(F){return[F]});return p=kn(p),Tv(d,_,function(F,le){return p(F,le[0])})}var IA=Fu(Is),Gw=Fu(ro);function nh(d){return null==d?[]:a_(d,Is(d))}var kA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?Ey(p):p)});function Ey(d){return ig(Gi(d).toLowerCase())}function xy(d){return(d=Gi(d))&&d.replace(Ca,sF).replace(i_,"")}var LA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),BA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),GF=Np("toLowerCase"),HA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Ty=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Kw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Np("toUpperCase");function Iy(d,p,_){return d=Gi(d),(p=_?ee:p)===ee?function(at){return Bl.test(at)}(d)?function(at){return at.match(rv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(p)||[]}var Oy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Qw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Ry(d){return function(){return d}}var WF=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return nT("function"==typeof d?d:Hs(d,1))}var Py=pi(function(d,p){return function(_){return ka(_,d,p)}}),Zw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Ny(d,p,_){var F=Is(p),le=Qh(p,F);null==_&&(!Tr(p)||!le.length&&F.length)&&(_=p,p=d,d=this,le=Qh(p,Is(p)));var Ae=!(Tr(_)&&"chain"in _&&!_.chain),He=ua(d);return Us(le,function(Ye){var ct=p[Ye];d[Ye]=ct,He&&(d.prototype[Ye]=function(){var Ft=this.__chain__;if(Ae||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return ct.apply(d,Ur([this.value()],arguments))})}),d}function ky(){}var KA=kp(Yi),QA=kp(ri),eE=kp(ko);function Uu(d){return oa(d)?s_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var ZA=Nv(),JA=Nv(!0);function Hc(){return[]}function Ly(){return!1}var Hn=F_(function(d,p){return d+p},0),By=$d("ceil"),YF=F_(function(d,p){return d/p},1),Kl=$d("floor"),rE=F_(function(d,p){return d*p},1),sE=$d("round"),oE=F_(function(d,p){return d-p},0);return xe.after=function(d,p){if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},xe.ary=Xp,xe.assign=vA,xe.assignIn=wA,xe.assignInWith=Zd,xe.assignWith=EA,xe.at=kw,xe.before=cy,xe.bind=cf,xe.bindAll=Qw,xe.bindKey=Qd,xe.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},xe.chain=ny,xe.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var F=null==d?0:d.length;if(!F||p<1)return[];for(var le=0,Ae=0,He=Ct(Vt(F/p));lele?0:le+_),(F=F===ee||F>le?le:ti(F))<0&&(F+=le),F=_>F?0:yy(F);_>>0)?(d=Gi(d))&&("string"==typeof p||null!=p&&!Rw(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},xe.spread=function(d,p){if("function"!=typeof d)throw new Ia(Se);return p=null==p?0:zr(ti(p),0),pi(function(_){var F=_[p],le=ul(_,0,p);return F&&Ur(le,F),os(d,this,le)})},xe.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},xe.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},xe.takeRight=function(d,p,_){var F=null==d?0:d.length;return F?Ms(d,(p=F-(p=_||p===ee?1:ti(p)))<0?0:p,F):[]},xe.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},xe.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},xe.tap=function(d,p){return p(d),d},xe.throttle=function(d,p,_){var F=!0,le=!0;if("function"!=typeof d)throw new Ia(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,le="trailing"in _?!!_.trailing:le),vw(d,p,{leading:F,maxWait:p,trailing:le})},xe.thru=Xd,xe.toArray=Pw,xe.toPairs=IA,xe.toPairsIn=Gw,xe.toPath=function(d){return On(d)?Yi(d,si):da(d)?[d]:no(Wv(Gi(d)))},xe.toPlainObject=Nw,xe.transform=function(d,p,_){var F=On(d),le=F||ml(d)||df(d);if(p=kn(p,4),null==_){var Ae=d&&d.constructor;_=le?F?new Ae:[]:Tr(d)&&ua(Ae)?Tu(Oa(d)):{}}return(le?Us:cl)(d,function(He,Ye,ct){return p(_,He,Ye,ct)}),_},xe.unary=function(d){return Xp(d,1)},xe.union=nw,xe.unionBy=UT,xe.unionWith=zT,xe.uniq=function(d){return d&&d.length?kc(d):[]},xe.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},xe.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},xe.unset=function(d,p){return null==d||Iu(d,p)},xe.unzip=iw,xe.unzipWith=GT,xe.update=function(d,p,_){return null==d?d:Op(d,p,N_(_))},xe.updateWith=function(d,p,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,p,N_(_),F)},xe.values=nh,xe.valuesIn=function(d){return null==d?[]:a_(d,ro(d))},xe.without=rw,xe.words=Iy,xe.wrap=function(d,p){return Kp(N_(p),d)},xe.xor=PF,xe.xorBy=Uo,xe.xorWith=ey,xe.zip=ty,xe.zipObject=function(d,p){return Rp(d||[],p||[],al)},xe.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},xe.zipWith=lf,xe.entries=IA,xe.entriesIn=Gw,xe.extend=wA,xe.extendWith=Zd,Ny(xe,xe),xe.add=Hn,xe.attempt=Oy,xe.camelCase=kA,xe.capitalize=Ey,xe.ceil=By,xe.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},xe.clone=function(d){return Hs(d,4)},xe.cloneDeep=function(d){return Hs(d,5)},xe.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},xe.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},xe.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},xe.deburr=xy,xe.defaultTo=function(d,p){return null==d||d!=d?p:d},xe.divide=YF,xe.endsWith=function(d,p,_){d=Gi(d),p=Vo(p);var F=d.length,le=_=_===ee?F:Au(ti(_),0,F);return(_-=p.length)>=0&&d.slice(_,le)==p},xe.eq=Dn,xe.escape=function(d){return(d=Gi(d))&&en.test(d)?d.replace(Sa,oF):d},xe.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Be,"\\$&"):d},xe.every=function(d,p,_){var F=On(d)?ri:wv;return _&&Ws(d,p,_)&&(p=ee),F(d,kn(p,3))},xe.find=QT,xe.findIndex=Y_,xe.findKey=function(d,p){return Nh(d,kn(p,3),cl)},xe.findLast=ZT,xe.findLastIndex=X_,xe.findLastKey=function(d,p){return Nh(d,kn(p,3),Ap)},xe.floor=Kl,xe.forEach=ay,xe.forEachRight=Wp,xe.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},xe.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},xe.forOwn=function(d,p){return d&&cl(d,kn(p,3))},xe.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},xe.get=pf,xe.gt=zt,xe.gte=Tw,xe.has=function(d,p){return null!=d&&Uv(d,p,Ld)},xe.hasIn=eg,xe.head=Yv,xe.identity=so,xe.includes=function(d,p,_,F){d=bo(d)?d:nh(d),_=_&&!F?ti(_):0;var le=d.length;return _<0&&(_=zr(le+_,0)),my(d)?_<=le&&d.indexOf(p,_)>-1:!!le&&il(d,p,_)>-1},xe.indexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=null==_?0:ti(_);return le<0&&(le=zr(F+le,0)),il(d,p,le)},xe.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Te&&d<=Te},xe.isSet=bA,xe.isString=my,xe.isSymbol=da,xe.isTypedArray=df,xe.isUndefined=function(d){return d===ee},xe.isWeakMap=function(d){return Ar(d)&&$s(d)==V},xe.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},xe.join=function(d,p){return null==d?"":Uh.call(d,p)},xe.kebabCase=LA,xe.last=aa,xe.lastIndexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=F;return _!==ee&&(le=(le=ti(_))<0?zr(F+le,0):ps(le,F-1)),p==p?function(at,Rt,Ct){for(var dn=Ct+1;dn--;)if(at[dn]===Rt)return dn;return dn}(d,p,le):Td(d,Dc,le,!0)},xe.lowerCase=BA,xe.lowerFirst=GF,xe.lt=Uc,xe.lte=_y,xe.max=function(d){return d&&d.length?Kh(d,so,yo):ee},xe.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},xe.mean=function(d){return Ss(d,so)},xe.meanBy=function(d,p){return Ss(d,kn(p,2))},xe.min=function(d){return d&&d.length?Kh(d,so,Cv):ee},xe.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Cv):ee},xe.stubArray=Hc,xe.stubFalse=Ly,xe.stubObject=function(){return{}},xe.stubString=function(){return""},xe.stubTrue=function(){return!0},xe.multiply=rE,xe.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},xe.noConflict=function(){return zi._===this&&(zi._=f_),this},xe.noop=ky,xe.now=Bu,xe.pad=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;if(!p||F>=p)return d;var le=(p-F)/2;return Fp(Si(le),_)+d+Fp(Vt(le),_)},xe.padEnd=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;return p&&Fp){var F=d;d=p,p=F}if(_||d%1||p%1){var le=zh();return ps(d+le*(p-d+D1("1e-"+((le+"").length-1))),p)}return Hl(d,p)},xe.reduce=function(d,p,_){var F=On(d)?Eu:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,Pc)},xe.reduceRight=function(d,p,_){var F=On(d)?Cd:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,T_)},xe.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Gi(d),p)},xe.replace=function(){var d=arguments,p=Gi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},xe.result=function(d,p,_){var F=-1,le=(p=Lc(p,d)).length;for(le||(le=1,d=ee);++FTe)return[];var _=ye,F=ps(d,ye);p=kn(p),d-=ye;for(var le=Md(F,p);++_=Ae)return d;var Ye=_-Lh(F);if(Ye<1)return F;var ct=He?ul(He,0,Ye).join(""):d.slice(0,Ye);if(le===ee)return ct+F;if(He&&(Ye+=ct.length-Ye),Rw(le)){if(d.slice(Ye).search(le)){var Ft,Lt=ct;for(le.global||(le=d_(le.source,Gi(Xn.exec(le))+"g")),le.lastIndex=0;Ft=le.exec(Lt);)var Gt=Ft.index;ct=ct.slice(0,Gt===ee?Ye:Gt)}}else if(d.indexOf(Vo(le),Ye)!=Ye){var nn=ct.lastIndexOf(le);nn>-1&&(ct=ct.slice(0,nn))}return ct+F},xe.unescape=function(d){return(d=Gi(d))&&ws.test(d)?d.replace(kl,u_):d},xe.uniqueId=function(d){var p=++fF;return Gi(d)+p},xe.upperCase=Kw,xe.upperFirst=ig,xe.each=ay,xe.eachRight=Wp,xe.first=Yv,Ny(xe,function(){var d={};return cl(xe,function(p,_){Ki.call(xe.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),xe.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){xe[d].placeholder=xe}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var F=this.__filtered__&&!p?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ps(_,F.__takeCount__):F.__views__.push({size:ps(_,ye),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,F=1==_||3==_;fi.prototype[d]=function(le){var Ae=this.clone();return Ae.__iteratees__.push({iteratee:kn(le,3),type:_}),Ae.__filtered__=Ae.__filtered__||F,Ae}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(hy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ye)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),F=/^(?:head|last)$/.test(p),le=xe[F?"take"+("last"==p?"Right":""):p],Ae=F||/^find/.test(p);!le||(xe.prototype[p]=function(){var He=this.__wrapped__,Ye=F?[1]:arguments,ct=He instanceof fi,Ft=Ye[0],Lt=ct||On(He),Gt=function(mi){var Di=le.apply(xe,Ur([mi],Ye));return F&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(ct=Lt=!1);var nn=this.__chain__,vn=!!this.__actions__.length,Fn=Ae&&!nn,gi=ct&&!vn;if(!Ae&&Lt){He=gi?He:new fi(this);var Bn=d.apply(He,Ye);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,Ye):(Bn=this.thru(Gt),Fn?F?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);xe.prototype[d]=function(){var le=arguments;if(F&&!this.__chain__){var Ae=this.value();return p.apply(On(Ae)?Ae:[],le)}return this[_](function(He){return p.apply(On(He)?He:[],le)})}}),cl(fi.prototype,function(d,p){var _=xe[p];if(_){var F=_.name+"";Ki.call(Od,F)||(Od[F]=[]),Od[F].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),F=p<0,le=_?d.length:0,Ae=function(d,p,_){for(var F=-1,le=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},xe.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var F=sf(_);F.__index__=0,F.__values__=ee,p?le.__wrapped__=F:p=F;var le=F;_=_.__wrapped__}return le.__wrapped__=d,p},xe.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[J_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(J_)},xe.prototype.toJSON=xe.prototype.valueOf=xe.prototype.value=function(){return oT(this.__wrapped__,this.__actions__)},xe.prototype.first=xe.prototype.head,jh&&(xe.prototype[jh]=function(){return this}),xe}();zi._=Bh,(yt=function(){return Bh}.call(it,et,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},5478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,k=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},H=function(lt){return Q[lt]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(rt){return rt.replace(C,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var T=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var z={},P=/^[^:]+:\/*[^/]*$/,X=/^([^:]+:)[\s\S]*$/,ue=/^([^:]+:\/*[^/]*)[\s\S]*$/;function I(rt,lt){z[" "+rt]||(z[" "+rt]=P.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=z[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(X,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ue,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var ve=0;ve1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Te=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Be,ut,Je){for(var Mt=!1,It=ut;--It>=0&&"\\"===Je[It];)Mt=!Mt;return Mt?"|":" |"}).split(/ \|/),ve=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:ve[0]}:{raw:"\n"}},lt.code=function(ge){var ve=this.rules.block.code.exec(ge);if(ve){var Be=ve[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ve[0],codeBlockStyle:"indented",text:this.options.pedantic?Be:me(Be,"\n")}}},lt.fences=function(ge){var ve=this.rules.block.fences.exec(ge);if(ve){var Be=ve[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(ve){var Be=ve.match(/^\s+/);return null===Be?ve:Be[0].length>=ge.length?ve.slice(ge.length):ve}).join("\n")}(Be,ve[3]||"");return{type:"code",raw:Be,lang:ve[2]?ve[2].trim():ve[2],text:ut}}},lt.heading=function(ge){var ve=this.rules.block.heading.exec(ge);if(ve){var Be=ve[2].trim();if(/#$/.test(Be)){var ut=me(Be,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Be=ut.trim())}return{type:"heading",raw:ve[0],depth:ve[1].length,text:Be}}},lt.nptable=function(ge){var ve=this.rules.block.nptable.exec(ge);if(ve){var Be={type:"table",header:ne(ve[1].replace(/^ *| *\| *$/g,"")),align:ve[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:ve[3]?ve[3].replace(/\n$/,"").split("\n"):[],raw:ve[0]};if(Be.header.length===Be.align.length){var Je,ut=Be.align.length;for(Je=0;Je ?/gm,"");return{type:"blockquote",raw:ve[0],text:Be}}},lt.list=function(ge){var ve=this.rules.block.list.exec(ge);if(ve){var Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Be=ve[0],ut=ve[2],Je=ut.length>1,Mt={type:"list",raw:Be,ordered:Je,start:Je?+ut.slice(0,-1):"",loose:!1,items:[]},It=ve[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var qi=0;qici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(qi,2,It[qi]+(!this.options.pedantic&&Rn[1].length/i.test(ut[0])&&(ve=!1),!Be&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Be=!0:Be&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Be=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:ve,inRawBlock:Be,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]}},lt.link=function(ge){var ve=this.rules.inline.link.exec(ge);if(ve){var Be=ve[2].trim();if(!this.options.pedantic&&/^$/.test(Be))return;var ut=me(Be.slice(0,-1),"\\");if((Be.length-ut.length)%2==0)return}else{var Je=Oe(ve[2],"()");if(Je>-1){var It=(0===ve[0].indexOf("!")?5:4)+ve[1].length+Je;ve[2]=ve[2].substring(0,Je),ve[0]=ve[0].substring(0,It).trim(),ve[3]=""}}var Ot=ve[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=ve[3]?ve[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(Be)?Ot.slice(1):Ot.slice(1,-1)),$e(ve,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},ve[0])}},lt.reflink=function(ge,ve){var Be;if((Be=this.rules.inline.reflink.exec(ge))||(Be=this.rules.inline.nolink.exec(ge))){var ut=(Be[2]||Be[1]).replace(/\s+/g," ");if(!(ut=ve[ut.toLowerCase()])||!ut.href){var Je=Be[0].charAt(0);return{type:"text",raw:Je,text:Je}}return $e(Be,ut,Be[0])}},lt.emStrong=function(ge,ve,Be){void 0===Be&&(Be="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Be.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Je=ut[1]||ut[2]||"";if(!Je||Je&&(""===Be||this.rules.inline.punctuation.exec(Be))){var It,Ot,Mt=ut[0].length-1,Qt=Mt,zn=0,ci="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,ve=ve.slice(-1*ge.length+Mt);null!=(ut=ci.exec(ve));)if(It=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Ot=It.length,ut[3]||ut[4]){Qt+=Ot;continue}if((ut[5]||ut[6])&&Mt%3&&!((Mt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Mt,Ot)%2?{type:"em",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(1,Mt+ut.index+Ot)}:{type:"strong",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(2,Mt+ut.index+Ot-1)}}}}},lt.codespan=function(ge){var ve=this.rules.inline.code.exec(ge);if(ve){var Be=ve[2].replace(/\n/g," "),ut=/[^ ]/.test(Be),Je=/^ /.test(Be)&&/ $/.test(Be);return ut&&Je&&(Be=Be.substring(1,Be.length-1)),Be=ye(Be,!0),{type:"codespan",raw:ve[0],text:Be}}},lt.br=function(ge){var ve=this.rules.inline.br.exec(ge);if(ve)return{type:"br",raw:ve[0]}},lt.del=function(ge){var ve=this.rules.inline.del.exec(ge);if(ve)return{type:"del",raw:ve[0],text:ve[2]}},lt.autolink=function(ge,ve){var ut,Je,Be=this.rules.inline.autolink.exec(ge);if(Be)return Je="@"===Be[2]?"mailto:"+(ut=ye(this.options.mangle?ve(Be[1]):Be[1])):ut=ye(Be[1]),{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,ve){var Be;if(Be=this.rules.inline.url.exec(ge)){var ut,Je;if("@"===Be[2])Je="mailto:"+(ut=ye(this.options.mangle?ve(Be[0]):Be[0]));else{var Mt;do{Mt=Be[0],Be[0]=this.rules.inline._backpedal.exec(Be[0])[0]}while(Mt!==Be[0]);ut=ye(Be[0]),Je="www."===Be[1]?"http://"+ut:ut}return{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,ve,Be){var Je,ut=this.rules.inline.text.exec(ge);if(ut)return Je=ve?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]:ye(this.options.smartypants?Be(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Je}},rt}(),tt=te_noopTest,Xe=te_edit,ze=te_merge,Le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Le.def=Xe(Le.def).replace("label",Le._label).replace("title",Le._title).getRegex(),Le.bullet=/(?:[*+-]|\d{1,9}[.)])/,Le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Le.item=Xe(Le.item,"gm").replace(/bull/g,Le.bullet).getRegex(),Le.listItemStart=Xe(/^( *)(bull) */).replace("bull",Le.bullet).getRegex(),Le.list=Xe(Le.list).replace(/bull/g,Le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Le.def.source+")").getRegex(),Le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Le._comment=/|$)/,Le.html=Xe(Le.html,"i").replace("comment",Le._comment).replace("tag",Le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Le.paragraph=Xe(Le._paragraph).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.blockquote=Xe(Le.blockquote).replace("paragraph",Le.paragraph).getRegex(),Le.normal=ze({},Le),Le.gfm=ze({},Le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Le.gfm.nptable=Xe(Le.gfm.nptable).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.gfm.table=Xe(Le.gfm.table).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.pedantic=ze({},Le.normal,{html:Xe("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Xe(Le.normal._paragraph).replace("hr",Le.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Xe(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Xe(Le._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Xe(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Xe(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Xe(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Xe(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Xe(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Xe(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Xe(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Xe(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=ze({},Ke),Ke.pedantic=ze({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xe(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Xe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=ze({},Ke.normal,{escape:Xe(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||qe,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:ke.normal,inline:q.normal};this.options.pedantic?(ge.block=ke.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=ke.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,ve){return new rt(ve).lex(ge)},rt.lexInline=function(ge,ve){return new rt(ve).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,ve,Be){var Je,Mt,It,Ot,Qt,zn,ut=this;for(void 0===ve&&(ve=[]),void 0===Be&&(Be=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(Je=Rn.call(ut,ge,ve))&&(ge=ge.substring(Je.raw.length),ve.push(Je),!0)}))){if(Je=this.tokenizer.space(ge)){ge=ge.substring(Je.raw.length),Je.type&&ve.push(Je);continue}if(Je=this.tokenizer.code(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(Je=this.tokenizer.fences(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.heading(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.nptable(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.hr(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.blockquote(ge)){ge=ge.substring(Je.raw.length),Je.tokens=this.blockTokens(Je.text,[],Be),ve.push(Je);continue}if(Je=this.tokenizer.list(ge)){for(ge=ge.substring(Je.raw.length),It=Je.items.length,Mt=0;Mt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ge.substring(0,Rn+1))}(),Be&&(Je=this.tokenizer.paragraph(Qt))){Ot=ve[ve.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je),zn=Qt.length!==ge.length,ge=ge.substring(Je.raw.length);continue}if(Je=this.tokenizer.text(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(ge){var ci="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return ve},lt.inline=function(ge){var ve,Be,ut,Je,Mt,It,Ot=ge.length;for(ve=0;ve0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)yn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Sn){return!!(Mt=Sn.call(Je,ge,ve))&&(ge=ge.substring(Mt.raw.length),ve.push(Mt),!0)}))){if(Mt=this.tokenizer.escape(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.tag(ge,Be,ut)){ge=ge.substring(Mt.raw.length),Be=Mt.inLink,ut=Mt.inRawBlock,(It=ve[ve.length-1])&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.link(ge)){ge=ge.substring(Mt.raw.length),"link"===Mt.type&&(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut)),ve.push(Mt);continue}if(Mt=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(Mt.raw.length),It=ve[ve.length-1],"link"===Mt.type?(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut),ve.push(Mt)):It&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.emStrong(ge,Qt,Rn)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.codespan(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.br(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.del(ge)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.autolink(ge,de)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(!Be&&(Mt=this.tokenizer.url(ge,de))){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Ot=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Sn=1/0,rr=ge.slice(1),sr=void 0;Je.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Sn=Math.min(Sn,sr))}),Sn<1/0&&Sn>=0&&(Ot=ge.substring(0,Sn+1))}(),Mt=this.tokenizer.inlineText(Ot,ut,pe)){ge=ge.substring(Mt.raw.length),"_"!==Mt.raw.slice(-1)&&(Rn=Mt.raw.slice(-1)),ci=!0,(It=ve[ve.length-1])&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(ge){var Xn="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return ve},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:ke,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,we=te_escape,B=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,ve,Be){var ut=(ve||"").match(/\S*/)[0];if(this.options.highlight){var Je=this.options.highlight(ge,ut);null!=Je&&Je!==ge&&(Be=!0,ge=Je)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Be?ge:we(ge,!0))+"
    \n":"
    "+(Be?ge:we(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,ve,Be,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,ve,Be){var ut=ve?"ol":"ul";return"<"+ut+(ve&&1!==Be?' start="'+Be+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,ve){return ve&&(ve=""+ve+""),"\n\n"+ge+"\n"+ve+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,ve){var Be=ve.header?"th":"td";return(ve.align?"<"+Be+' align="'+ve.align+'">':"<"+Be+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut='"+Be+""},lt.image=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut=''+Be+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,ve,Be){return""+Be},lt.image=function(ge,ve,Be){return""+Be},lt.br=function(){return""},rt}(),V=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,ve){var Be=ge,ut=0;if(this.seen.hasOwnProperty(Be)){ut=this.seen[ge];do{Be=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Be))}return ve||(this.seen[ge]=ut,this.seen[Be]=0),Be},lt.slug=function(ge,ve){void 0===ve&&(ve={});var Be=this.serialize(ge);return this.getNextSafeSlug(Be,ve.dryrun)},rt}(),Re=B,Ze=N,Tt=V,kt=dt.exports.defaults,In=te_unescape,Yn=je,Mi=function(){function rt(ht){this.options=ht||kt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ze,this.slugger=new Tt}rt.parse=function(ge,ve){return new rt(ve).parse(ge)},rt.parseInline=function(ge,ve){return new rt(ve).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,ve){void 0===ve&&(ve=!0);var ut,Je,Mt,It,Ot,Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Qn,qi,Ca,Qr,re,Be="",fe=ge.length;for(ut=0;ut0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,qi);Be+=this.renderer.list(Rn,Xn,Sn);continue;case"html":Be+=this.renderer.html(yn.text);continue;case"paragraph":Be+=this.renderer.paragraph(this.parseInline(yn.tokens));continue;case"text":for(Rn=yn.tokens?this.parseInline(yn.tokens):yn.text;ut+1An error occurred:

    "+xa(Mt.message+"",!0)+"
    ";throw Mt}}return en.options=en.setOptions=function(rt){return Bs(en.defaults,rt),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+xa(ge.message+"",!0)+"
    ";throw ge}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Ut,it,et)=>{var yt=et(6284),ee=et(7830);function Dt(){this.clear()}Dt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Dt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Dt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Dt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Dt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Dt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.iterator]=Dt.prototype.values),Dt.prototype.toString=function(){return this.toArray().join(",")},Dt.prototype.toJSON=function(){return this.toArray()},Dt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Dt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Dt.prototype.inspect),Dt.from=function(dt){var Y=new Dt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Dt.of=function(){return Dt.from(arguments)},Ut.exports=Dt},7830:Ut=>{var it="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function yt(ee,Dt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Dt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var et=arguments,yt=et.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:et[ee++]}})},it.empty=function(){var et=new it(null);return et.done=!0,et},it.is=function(et){return et instanceof it||"object"==typeof et&&null!==et&&"function"==typeof et.next},Ut.exports=it},7310:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Dt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var k=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return k||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Dt=yt(et(1602)),dt=yt(et(2344))},1151:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(et(4321)),Dt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Dt.self||Dt.window||Dt.global,it.window=Dt.window||Dt.self||Dt.global,it.global=Dt.global||Dt.self||Dt.window,it.document=Dt.document||{},it.process=Dt.process||{};var j=console;it.console=j},4761:(Ut,it,et)=>{"use strict";var ee=et(1948),Dt=et(4321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=et(1151),Se=(j(et(1602)),j(et(7310)));ee(et(2344));function W(k){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,H=new WeakMap;return(W=function(C){return C?H:Q})(k)}function j(k,Q){if(!Q&&k&&k.__esModule)return k;if(null===k||"object"!==Dt(k)&&"function"!=typeof k)return{default:k};var H=W(Q);if(H&&H.has(k))return H.get(k);var v={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in k)if("default"!==R&&Object.prototype.hasOwnProperty.call(k,R)){var T=C?Object.getOwnPropertyDescriptor(k,R):null;T&&(T.get||T.set)?Object.defineProperty(v,R,T):v[R]=k[R]}return v.default=k,H&&H.set(k,v),v}},1602:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(et(4321)),Dt=yt(et(2344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Dt.default)()}},2344:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(et(4321))},6991:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(4180),it),ee(et(5103),it),ee(et(8965),it),ee(et(2595),it),ee(et(2417),it),ee(et(2451),it),ee(et(7735),it)},4180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=et(4180),ee=et(8965),Dt=et(2595),dt=et(2417),Y=et(2451),Se=et(7735);let he=0;it.DataFactory=class{constructor(k){this.blankNodeCounter=0,this.blankNodePrefix=(k=k||{}).blankNodePrefix||`df_${he++}_`}namedNode(k){return new dt.NamedNode(k)}blankNode(k){return new yt.BlankNode(k||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(k,Q){return new Dt.Literal(k,Q)}variable(k){return new Se.Variable(k)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(k,Q,H,v){return new Y.Quad(k,Q,H,v||this.defaultGraph())}fromTerm(k){switch(k.termType){case"NamedNode":return this.namedNode(k.value);case"BlankNode":return this.blankNode(k.value);case"Literal":return k.language?this.literal(k.value,k.language):k.datatype.equals(Dt.Literal.XSD_STRING)?this.literal(k.value):this.literal(k.value,this.fromTerm(k.datatype));case"Variable":return this.variable(k.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(k.subject),this.fromTerm(k.predicate),this.fromTerm(k.object),this.fromTerm(k.graph))}}fromQuad(k){return this.fromTerm(k)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=et,et.INSTANCE=new et},2595:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=et(2417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Dt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Dt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,C,R,T){void 0===T&&(T=R),Object.defineProperty(v,T,{enumerable:!0,get:function(){return C[R]}})}:function(v,C,R,T){void 0===T&&(T=R),v[T]=C[R]}),ee=this&&this.__exportStar||function(v,C){for(var R in v)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&&yt(C,v,R)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Dt=et(6991),dt=et(9938),Y=et(6060);ee(et(9938),it),ee(et(8871),it),ee(et(6060),it);const Se=new Dt.DataFactory,he=new Y.Translator;function W(v,C){return he.fromRdf(v,C)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Se),he.toRdf(v,C)},it.getTermRaw=function(v,C){return"Literal"===v.termType?W(v,C):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},8871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},6060:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Dt,dt){for(const Y of Dt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Dt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Dt):ee.value}toRdf(ee,Dt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Dt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Dt,dataFactory:dt}){return dt.literal(ee,Dt)}}it.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(727),it),ee(et(2525),it),ee(et(8554),it),ee(et(7750),it),ee(et(4608),it)},2829:(Ut,it,et)=>{"use strict";var yt={};et.r(yt),et.d(yt,{decode:()=>jme,encode:()=>Ume});var ee={};et.r(ee),et.d(ee,{decode:()=>Wme,encode:()=>qme});var Dt={};et.r(Dt),et.d(Dt,{decode:()=>Yme,encode:()=>Xme});var dt={};function Y(n){return"function"==typeof n}et.r(dt),et.d(dt,{decode:()=>Kme,encode:()=>Qme});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},k=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const P="function"==typeof Symbol&&Symbol.observable||"@@observable";function X(n){return n}function ue(...n){return I(n)}function I(n){return 0===n.length?X:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let O=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[T])return n[T]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=K(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[P](){return this}pipe(...t){return 0===t.length?this:I(t)(this)}toPromise(t){return new(t=K(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function K(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ae extends y{constructor(e){super(e),this.destination=e}}let oe=(()=>{class n extends O{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ae(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Te(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ye(e,this.project,this.thisArg))}}class ye extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Oe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[P])return(n=>e=>{const t=n[P]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Le(n))return Oe(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Qe])return(n=>e=>{const t=n[Qe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function ke(n,e){return new O(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[P]}(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[P]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Le(n))return ke(n,e);if(function(n){return n&&"function"==typeof n[Qe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new O(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Qe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof O?n:new O(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class we extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof O)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function V(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(V((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Ze(e,this.project,this.concurrent))}}class Ze extends we{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return V(X,n)}function In(n,e){return e?ke(n,e):new O(Oe(n))}function Nn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Te(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof O?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends O{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ae{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new oe}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=en({__forward_ref__:en});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function ve(n){return Be(n)?n():n}function Be(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Je extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function yn(n,e){const t=e?` in ${e}`:"";throw new Je("201",`No provider for ${Qt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function bn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var En=(()=>((En=En||{})[En.Default=0]="Default",En[En.Host=1]="Host",En[En.Self=2]="Self",En[En.SkipSelf=4]="SkipSelf",En[En.Optional=8]="Optional",En))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=bn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&En.Optional?null:void 0!==e?e:void yn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var Ge=(()=>((Ge=Ge||{})[Ge.OnPush=0]="OnPush",Ge[Ge.Default=1]="Default",Ge))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},tr=[],fp=en({\u0275cmp:en}),i_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),rv=en({\u0275mod:en}),A1=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let M1=0;function rn(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ge.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=M1++,i.inputs=lv(n.inputs,t),i.outputs=lv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(sv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(ov):null,i})}function sv(n){return zi(n)||function(n){return n[i_]||null}(n)}function ov(n){return function(n){return n[Oh]||null}(n)}const av={};function tn(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(av[n.id]=n.type),e})}function lv(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Nt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function No(n,e){const t=n[rv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function o_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function cv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class u_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Li(){return hv}function hv(n){return n.type.prototype.ngOnChanges&&(n.setInput=F1),k1}function k1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function F1(n,e,t,i){const r=at(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new u_(l&&l.currentValue,e,o===xd),n[i]=e}Li.ngInherit=!0;const Bh="__ngSimpleChanges__";function at(n){return n[Bh]||null}let Xi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Xi?Xi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function f_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function p_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function pv(){return Ln.bindingsEnabled}function Vt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function mr(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=g_();for(;null!==n&&64===n.type;)n=n.parent;return n}function g_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,m_(e)}function m_(n){Ln.lFrame.currentDirectiveIndex=n}function __(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function gv(){return Ln.lFrame.currentQueryIndex}function y_(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&En.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&En.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=xe();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=xe(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function xe(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Nr(){const n=Ln.lFrame;return f_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let S_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,C_(i.data,n),C_(e,null),C_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(bv(r)){const o=Pd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function C_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=S_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&En.Host?T_(r,t,i):wv(e,t,i,r);try{const o=s(i);if(null!=o||i&En.Optional)return o;yn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&En.Host?e[16][6]:null;for((-1===a||i&En.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Pd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Ev)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Pd(l),e=al(l,e)):a=-1}}}return wv(e,t,i,r)}const Ev={};function xv(){return new na(as(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&En.Host&&s===a);return null!==u?Fd(e,o,u,a):Ev}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new Je("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,En.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=hv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return Be(n)?()=>{const e=As(ve(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Nc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function R_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class B_ extends ql{getTypeName(){return"HTML"}}class V_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class Uv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),Hv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Gv=oa("rp,rt"),U_=tf(Up,tf(Hv,oa("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),tf(Gv,oa("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),tf(Gv,Hv)),z_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),H_=oa("srcset"),G_=tf(z_,H_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vT=oa("script,style,template");class $_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!U_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();U_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const $v=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace($v,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function W_(n,e){let t=null;try{rf=rf||function(n){const e=new pT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new Uv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new $_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const X_="__ngContext__";function Ds(n,e){n[X_]=e}function K_(n){const e=function(n){return n[X_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function PT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||PT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const nw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ty(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return aw(n[13])}function iy(n){return aw(n[4])}function aw(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?hw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function ay(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function aA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Cw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Cw(s,r)),e}const Dn={};function zt(n){Tw(Si(),Vt(),to()+n,zh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function fy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!pv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Ww(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function qw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Cy(t)}}function Cy(n){for(let i=Xd(n);null!==i;i=iy(i))for(let r=10;r0&&Cy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Cy(r)}}function zA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Kw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Iy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Oy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Qw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=En.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&En.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&bn(e);a=l&&this.injectableDefInScope(l)?Uu(Fy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&En.Self?Zw():this.parent).get(e,t=i&En.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(rt(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=ve(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||tr))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=ve(e))?e:ve(e&&e.provide);const s=function(n,e,t){return tE(n)?Uu(void 0,n.useValue):Uu(eE(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Nu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=XA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ve(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Fy(n){const e=bn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Nc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function eE(n,e,t){let i;if(Hc(n)){const r=ve(n);return Ic(r)||Fy(r)}if(tE(n))i=()=>ve(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Nu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Ie(ve(n.useExisting));else{const r=ve(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||Fy(r);i=()=>new r(...Nu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function tE(n){return null!==n&&"object"==typeof n&&Pp in n}function Hc(n){return"function"==typeof n}const nE=function(n,e,t){return function(n,e=null,t=null,i){const r=Jw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?nE(e,t,""):nE(e.providers,e.parent,e.name||"")}}function kq(n,e){wp(K_(n)[1],as())}function wn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Vq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Lq(n,l),c&&Bq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function cM(n){return n===xd?{}:n===tr?[]:n}function Lq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Bq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Vq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=We({token:Hn,providedIn:"any",factory:()=>Ie(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let aE=null;function sg(){if(!aE){const n=Zn.Symbol;if(n&&n.iterator)aE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(_e[i.index])):i.index;if(dr(t)){let _e=null;if(!a&&l&&(_e=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==_e)(_e.__ngLastListenerFn__||_e).__ngNextListenerFn__=s,_e.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Pe=t.listen(U,r,s);f.push(s,Pe),u&&u.push(r,ie,D,D+1)}}else s=mM(i,e,h,s,!0),U.addEventListener(r,s,o),f.push(s),u&&u.push(r,ie,D,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const x=w.length;if(x)for(let U=0;U0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function bY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k2(n){return n.substring(Os.key,Os.keyEnd)}function F2(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=F2(e,t))Bo(n,k2(e),!0)}function Jl(n,e,t,i){const r=Vt(),s=Si(),o=Fo(2);s.firstUpdatePass&&z2(s,n,o,i),e!==Dn&&Eo(r,o,e)&&G2(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function U2(n,e){return e>=n.expandoStartIndex}function z2(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=U2(n,t);W2(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=__(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Gy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Gy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),N2(n,u,i,!0),N2(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=fy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?tr:void 0);let g=h?R_(f,i):u===i?f:void 0;if(c&&!fE(g)&&(g=R_(l,i)),fE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=R_(l,i))}return a}function fE(n){return void 0!==n}function W2(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=Vt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=Vt();return Eo(i,Ra(),e)&&zo(Si(),Nr(),i,n,e,i[11],t,!0),qc}function pE(n,e,t){const i=Vt();if(Eo(i,Ra(),e)){const s=Si(),o=Nr();zo(s,o,i,n,e,Iy(__(s.data),o,i),t,!0)}return pE}const _f=void 0;var nX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const gE="en-US";let dL=gE;function vM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function xM(n,e,t,i,r){if(n=ve(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Ce),m=CM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),SM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+f,h),m=CM(a,e,u,u+f),w=g>=0&&t[g],x=m>=0&&t[m];if(r&&!x||!r&&!w){Rc(Hs(c,o),s,a);const U=function(n,e,t,i,r){const s=new qh(n,t,Ce);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?JX:ZX,t.length,r,i,l);!r&&x&&(t[m].providerFactory=U),SM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(U),o.push(U)}else SM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&x&&t[m].componentProviders++}}}function SM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);xM(t,i.data,i.blueprint,r,!0),xM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class nK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function vE(...n){}function Eg(n,e){return new pn(eo(n,e))}El.NULL=new nK;const sK=function(){return Eg(as(),Vt())};let pn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=sK,n})();function VL(n){return n instanceof pn?n.nativeElement:n}class yf{}let MM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return Uy(e)}create(e){return new dK(e)}}const uK=(n,e)=>e;class dK{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||uK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new hK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class hK{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class fK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new fK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new gK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class gK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:WL}),n})();function wE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(oy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}ay(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ty(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){My(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{My(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class _K extends Xy{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const bK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Xy(i,i)}return 47&n.type?new Xy(e[16],e):null}(as(),Vt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=bK,n})();const EK=[new GL],SK=new xg([new UL]),CK=new Sg(EK),AK=function(){return EE(as(),Vt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=AK,n})();const MK=Go,DK=class extends MK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Xy(i)}};function EE(n,e){return 4&n.type?new DK(e,n,Eg(n,e)):null}class Yc{}const RK=function(){return KL(as(),Vt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=RK,n})();const NK=Rs,YL=class extends NK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(bv(e)){const t=al(e,this._hostLView),i=Pd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),inw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(hA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):sy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||nw,clean:qA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let w,x;$h(m);try{const U=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&dy(r,n,l.classes),null!==l.styles&&ww(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),qw(o,l),Ey(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:D,classes:ie}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&dy(l,u,ie.join(" "))}if(x=f_(g,20),void 0!==t){const D=x.projection=[];for(let ie=0;iel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),$w(t[1],a,0,a.directiveStart,a.directiveEnd,e),Ww(e,o)),o}(U,this.componentDef,m,f,[kq]),ff(g,m,null)}finally{fi()}return new PQ(this.componentType,w,Eg(x,m),m,x)}}class PQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new _K(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class FQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=No(e),r=function(n){return n[A1]||null}(e);r&&vM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Jw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=En.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==No(e)&&function(n){const e=new Set;!function t(i){const r=No(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new FQ(this.moduleType,e)}}function AE(n,e,t){const i=Cs()+n,r=Vt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ps(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Je("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Ce);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=Vt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function GM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends oe{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=GM(l),a&&(a=GM(a)),c&&(c=GM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function KQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=KQ)}get changes(){return this._changes||(this._changes=new ln)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=vE,this.reject=vE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ef,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const l0=new Ht("AppId"),RZ={provide:l0,useFactory:function(){return`${tD()}${tD()}${tD()}`},deps:[]};function tD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),OE=new Ht("appBootstrapListener");let RE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class NZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const nD=function(n){return new zM(n)},kZ=nD,FZ=function(n){return Promise.resolve(nD(n))},Q3=function(n){const e=nD(n),i=fl(No(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new b3(o)),r},[]);return new NZ(e,i)},LZ=Q3,BZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=kZ,this.compileModuleAsync=FZ,this.compileModuleAndAllComponentsSync=LZ,this.compileModuleAndAllComponentsAsync=BZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),jZ=(()=>Promise.resolve(0))();function iD(n){"undefined"==typeof Zone?jZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,sD(n),n.isCheckStableRunning=!0,rD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),sD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,sD(n),rD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,zZ,vE,vE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const zZ={};function rD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function sD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,rD(n)}class $Z{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let oD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),iD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())iD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,aD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return aD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class WZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let aD=new WZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=cD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=cD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function cD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new $Z:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{uD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(vM(u.injector.get(Gu,gE)||gE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new O(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new O(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),iD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Nn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(oD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),uD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;uD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(OE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Hn),Ie(la),Ie(El),Ie(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const bJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:RE,deps:[]}]),SJ=[{provide:sh,useClass:sh,deps:[fn,Hn,la,El,Og]},{provide:IQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},RZ,{provide:xg,useFactory:function(){return SK},deps:[]},{provide:Sg,useFactory:function(){return CK},deps:[]},{provide:Gu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||gE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let TJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Ie(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:SJ}),n})(),HE=null;function Kc(){return HE}const hn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Cee,token:n,providedIn:"platform"}),n})();function Cee(){return Ie(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:Aee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Aee(){return new kB(Ie(hn))}function CD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Ng=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Mee,token:n,providedIn:"root"}),n})();function Mee(n){const e=Ie(hn).location;return new BB(Ie(Tf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let BB=(()=>{class n extends Ng{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return CD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Tf),Ie(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ng),Ie(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=CD,n.stripTrailingSlash=LB,n.\u0275prov=We({factory:Iee,token:n,providedIn:"root"}),n})();function Iee(){return new kg(Ie(Ng),Ie(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Bee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return nX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class JE{}let fte=(()=>{class n extends JE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Bee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Gu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class gte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new gte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go),Ce(xg))},n.\u0275dir=Nt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new _te,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class _te{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class wte{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ete{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const xte=new Ete,Ste=new wte;let m0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return xte;if(x2(t))return Ste;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Ce(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:JE,useClass:fte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){HE||(HE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(_0=_0||document.querySelector("base"),_0?_0.getAttribute("href"):null);return null==t?null:function(n){tx=tx||document.createElement("a"),tx.setAttribute("href",n);const e=tx.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){_0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let tx,_0=null;const aV=new Ht("TRANSITION_ID"),Yte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Xte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const y0=new Ht("EventManagerPlugins");let ix=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),b0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const zD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},HD=/%COMP%/g;function rx(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new GD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new une(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new dne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=rx(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Ie(ix),Ie(b0),Ie(l0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class GD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(zD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=zD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=zD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class une extends GD{constructor(e,t,i,r){super(e),this.component=i;const s=rx(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(HD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(HD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class dne extends GD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=rx(r.id,r.styles,[]);for(let o=0;o{class n extends UD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],bne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},vne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let wne=(()=>{class n extends UD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return bne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&vne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Ie(WD)},token:n,providedIn:"root"}),n})(),WD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):W_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new V_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return function(n){return new WD(n.get(hn))}(Ie(Vu))},token:n,providedIn:"root"}),n})();const Dne=sB(bJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){VD.makeCurrent(),jD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Xi=n}(document),document},deps:[]}]),Ine=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:y0,useClass:hne,multi:!0,deps:[hn,fn,Xc]},{provide:y0,useClass:wne,multi:!0,deps:[hn]},[],{provide:sx,useClass:sx,deps:[ix,b0,l0]},{provide:yf,useExisting:sx},{provide:cV,useExisting:b0},{provide:b0,useClass:b0,deps:[hn]},{provide:oD,useClass:oD,deps:[fn]},{provide:ix,useClass:ix,deps:[y0,fn]},{provide:oV,useClass:Xte,deps:[]},[]];let qD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:l0,useValue:t.appId},{provide:aV,useExisting:l0},Yte]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:Ine,imports:[fr,TJ]}),n})();"undefined"!=typeof window&&window;class Bne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class ox extends Bne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Une=new class extends cc{}(class extends ox{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new O(n=>n.complete());function v0(n){return n?function(n){return new O(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Te(e)?(n.pop(),ke(n,e)):In(n)}function Fg(n,e){return new O(e?t=>e.schedule(Hne,0,{error:n,subscriber:t}):t=>t.error(n))}function Hne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return v0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ax extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ax.dispatch,this.delay,new $ne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class $ne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends oe{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Wne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new ax(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Wne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new qne(n))}class qne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Yne(e,this.project))}}class Yne extends we{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const lx={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return lx.schedule(n,0);if(void 0===window.requestAnimationFrame)return lx.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function rie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class oie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new aie(this.componentFactory,e)}}class aie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Nn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=lx.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=lx.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new u_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class lie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const uie={initialConfig:{},parse:{},rename:{}};class die{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},uie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let hie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new die(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Nt({type:n,features:[Li]}),n})();const KD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var QD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api--staging.herokuapp.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Vi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",ux=JD();class mie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function dx(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},w0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(ux&&w0.performance)n=w0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:ux&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},xie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Sie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new mie("__probe-".concat(this.id,"__"),xie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){dx(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Sie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?ux?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),dx(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!ux&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return dx(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return dx("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},PV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},gn=new tI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function hx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function fx(n){return qo(hx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const E0={};const x0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,$ie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:yr,32937:yr,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:yr,35071:yr,37447:yr,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:yr,35374:yr,35377:yr,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(NV)?2147483647:65535,33001:n=>n.getExtension(NV)?16777216:65535,33e3:n=>16777216,37157:yr,35373:yr,35657:yr,36183:yr,37137:yr,34045:yr,35978:yr,35979:yr,35968:yr,35376:yr,35375:yr,35659:yr,37154:yr,35371:yr,35658:yr,35076:yr,35077:yr,35380:yr},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=$ie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function ire(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&ire(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function S0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const ore={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=S0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=S0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=S0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const are={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function lre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];lre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new dre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)cre(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(hx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=ore[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)are[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function px(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=px(),yre=sI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(yre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);gn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>gn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),gn.level=Math.max(gn.level,1)):gn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const C0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==C0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${C0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(px()&&gn.log(1,`luma.gl ${C0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:C0,version:C0,log:gn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ma(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw gn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){fx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function T0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ire({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Rre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Pre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},Nre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,Pre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Nre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=T0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/T0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return gn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return gn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return gn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return gn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Lre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Pf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(D=>this.initialize(Object.assign({},e,{pixels:D,data:D}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:w=!1,mipmaps:x=!0}=e;const{depth:U=0}=e;return({width:h,height:f,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=U,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),x&&this._isNPOT()&&(gn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),x=!1,this._updateForNPOT(l)),this.mipmaps=x,this.setImageData({data:t,width:h,height:f,depth:U,format:s,type:m,dataFormat:g,border:o,mipmaps:x,parameters:c,compressed:w}),x&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let x=null;({data:c,dataType:x}=this._getDataType({data:c,compressed:m}));let U,D=0;return hc(this.gl,l,()=>{switch(x){case"null":w.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":U=Ao(w),U.bindBuffer(35052,c.handle||c),U.texImage2D(t,r,s,h,f,o,g,u,a),U.bindBuffer(35052,null);break;case"browser-object":Ci(w)?w.texImage2D(t,r,s,h,f,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[ie,_e]of c.entries())w.compressedTexImage2D(t,ie,_e.format,_e.width,_e.height,o,_e.data),D+=_e.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===x?D:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const x=i;i=x.data,o=x.shape[0],a=x.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,w,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const x=Ao(this.gl);x.bindBuffer(35052,i),x.texSubImage2D(e,l,r,s,o,a,h,u,g),x.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return gn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Lre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Bre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Pf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Pf.isSupported(e,t)}constructor(e,t={}){fx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Bre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Nf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Nf,bpp:2},33327:{gl2:Nf,bpp:4},34842:{gl2:Nf,bpp:8},33326:{gl2:Nf,bpp:4},33328:{gl2:Nf,bpp:8},34836:{gl2:Nf,bpp:16},35898:{gl2:Nf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let $re=(()=>{class n extends Pf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){fx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&gn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((w,x)=>{t&&i?u.texImage2D(g,x,a,t,i,o,a,l,w):u.texImage2D(g,x,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=gI,n})();class Wre extends Pf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof $re||n instanceof Wre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function qre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function gx(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=A0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(T0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=gx(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ire({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&gn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return gn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return gn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return gn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return gn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return gn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return gn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>gn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return gn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||gn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},sse=1/Math.PI*180,ose=1/180*Math.PI,Dr={};function lse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ose,void 0)}(n)}function use(n){return function(n,e){return Qu(n,t=>t*sse,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function mx(n,e,t){return uh(n)?n.map((i,r)=>mx(i,e[r],t)):t*e+(1-t)*n}function D0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Pj(n){return n&&n[Symbol.asyncIterator]}function SI(n,e=(()=>!0)){return Array.isArray(n)?Nj(n,e,[]):e(n)?[n]:[]}function Nj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Lse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function TI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=TI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const U=s;s=(D,ie)=>t._normalizeConstant(U(D,ie))}const m=f?(U,D)=>s(g,D):(U,D)=>s(g.subarray(U,U+a),D),w=n.getData({length:i}),x=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===wx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=wx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Nse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==wx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const x=h*a+l;for(let U=0;Uu?c.set(ie,w):(e._normalizeValue(ie,U.target,0),Pse({target:c,source:U.target,start:w,count:_e}));w+=_e*u}else e._normalizeValue(ie,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function Do(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",jse=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?jse:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,gn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Gse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const P0="vs",qse={[P0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},Ex="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,II=[];function qj(n,e,t,i=!1){const r=e===P0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(Ex,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(Ex,""),i&&(n=n.replace(/\}\s*$/,s=>s+qse[e])),n}function OI(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Yse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},xx="transform_uSize_",Yj="transform_position";const noe={10241:9728,10240:9728,10242:33071,10243:33071};class roe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${xx}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${xx}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=gx(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(noe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${xx}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(w){const{updatedLine:x,inject:U}=w;h[g]=x,c=OI([c,U]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${xx}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Yse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function ooe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=ooe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function uoe(n){return function(n){const e={},t={};return NI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function NI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new PI(t)).dependencies=Qj(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function yoe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{kf[n]=n});const FI={};function Zj(n,e,t={}){const i=kI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function Sx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Eoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],xoe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Soe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Coe=[...eU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Toe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Cx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ioe=`\n\n${Ex}\n\n`,tU={[P0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===P0,f=t.split("\n");let g=100,m="",w=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],w=f.slice(1).join("\n")):m=`#version ${g}`;const x={};r.forEach(Ne=>{Object.assign(x,Ne.getDefines())}),Object.assign(x,s);let U=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:yoe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return Sx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),Sx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),Sx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),Sx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(x)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const D=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),ie={},_e={},Pe={};for(const Ne in a){const Ve="string"==typeof a[Ne]?{injection:a[Ne],order:0}:a[Ne],bt=Ne.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const At=bt[3];bt[2]?"decl"===At?_e[Ne]=[Ve]:Pe[Ne]=[Ve]:ie[Ne]=[Ve]}else Pe[Ne]=[Ve]}for(const Ne of r){u&&Ne.checkDeprecations(w,u),U+=Ne.getModuleSource(i,g);const bt=Ne.injections[i];for(const xt in bt){const At=xt.match(/^(v|f)s:#([\w-]+)$/);if(At){const Wt="decl"===At[2]?_e:Pe;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else ie[xt]=ie[xt]||[],ie[xt].push(bt[xt])}}return U+=Ioe,U=qj(U,i,_e),U+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(D[i],ie),U+=w,U=qj(U,i,Pe),U=function(n,e,t){switch(e){case 300:return t?Cx(n,Eoe):function(n){const e=(n=Cx(n,xoe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Toe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?Cx(n,Soe):function(n){const e=(n=Cx(n,Coe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(U,l?100:g,h),U}function Poe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Voe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Tx,1,Io),36294:Ir.bind(null,"uniform2uiv",Tx,2,Io),36295:Ir.bind(null,"uniform3uiv",Tx,3,Io),36296:Ir.bind(null,"uniform4uiv",Tx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},joe={},Uoe={},zoe={},iU=[0];function VI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&gn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw gn.error(`GLSL compilation errors in ${r}\n${s}`)(),gn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class jI extends N0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends N0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,k0=5124,F0=5125,zI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[k0]:[k0,1,"int"],35667:[k0,2,"ivec2"],35668:[k0,3,"ivec3"],35669:[k0,4,"ivec4"],[F0]:[F0,1,"uint"],36294:[F0,2,"uvec2"],36295:[F0,3,"uvec3"],36296:[F0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Tae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Aae=35981,Mae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Mae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Aae}=e;return this.hash=t||"",this.vs="string"==typeof i?new jI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof jI),on(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Tae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:w,samplers:x}){if((w||x)&&(gn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),gn.priority>=e){const U=g?g.id:"default",D=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${U}`;gn.log(e,D)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const U=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(U)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){gn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!$oe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Pf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&Woe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new jI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),gn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),gn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||gn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(ie=>this._getHash(ie.name)).sort(),g=o.map(ie=>this._getHash(ie)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),x=[],U=[];for(const ie of m)x.push(this._getHash(ie)),x.push(this._getHash(r[ie]));for(const ie of w)U.push(this._getHash(ie)),U.push(this._getHash(s[ie]));const D=`${u}/${h}D${x.join("/")}M${f.join("/")}I${U.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[D]){const ie=function(n,e){const{vs:t,fs:i}=e,r=uoe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:P0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Poe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[D]=new mU(this.gl,{hash:D,vs:ie.vs,fs:ie.fs,varyings:o,bufferMode:a}),this._getUniforms[D]=ie.getUniforms||(_e=>{}),this._useCounts[D]=0}return this._useCounts[D]++,this._programCache[D]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":w0.chrome?"Chrome":w0.safari?"Safari":w0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Dx||Dx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const kae=/^(.+)__LOCATION_([0-9]+)$/,Fae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Lae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Fae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,gn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=kae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return gn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function B0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=B0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let w;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${B0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${B0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function jae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:B0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?B0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Hae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function $ae(n,e){const{attributeMap:t=Hae}=e||{};return t&&t[n]||n}function Wae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Xae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(hx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||L0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=$ae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new lr(n,l),c],Wae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),gn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&gn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:x}=this,{onBeforeRender:U=vU,onAfterRender:D=vU}=this.props;U(),this.program.setUniforms(this.uniforms);const ie=this.program.draw(Object.assign(Xae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:w,instanceCount:x,offset:h?g:0}));return D(),gn.priority>=2&&this._logDrawCallEnd(c,l,i),ie}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return gn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Lae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:gn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${jae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&gn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&gn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);gn.table(e,s)(),gn.table(e,o)(),gn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),gn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Gse(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new roe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Ix(){}const Zae={onStart:Ix,onUpdate:Ix,onInterrupt:Ix,onEnd:Ix};class V0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},Zae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ole={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,xn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),gx(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ale{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ole[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class fle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new ale(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=_le[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(xn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ox={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:ble}=Ox;function Ele(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Cle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ole(i[r],e[r])){t=n(i),e=i;break}return t}}function Rle(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],w=e[13],x=e[14],U=e[15],D=t*a-i*o,ie=t*l-r*o,_e=t*c-s*o,Pe=i*l-r*a,Ne=i*c-s*a,Ve=r*c-s*l,bt=u*w-h*m,xt=u*x-f*m,At=u*U-g*m,Bt=h*x-f*w,Wt=h*U-g*w,gt=f*U-g*x,mt=D*gt-ie*Wt+_e*Bt+Pe*At-Ne*xt+Ve*bt;return mt?(n[0]=(a*gt-l*Wt+c*Bt)*(mt=1/mt),n[1]=(r*Wt-i*gt-s*Bt)*mt,n[2]=(w*Ve-x*Ne+U*Pe)*mt,n[3]=(f*Ne-h*Ve-g*Pe)*mt,n[4]=(l*At-o*gt-c*xt)*mt,n[5]=(t*gt-r*At+s*xt)*mt,n[6]=(x*_e-m*Ve-U*ie)*mt,n[7]=(u*Ve-f*_e+g*ie)*mt,n[8]=(o*Wt-a*At+c*bt)*mt,n[9]=(i*At-t*Wt-s*bt)*mt,n[10]=(m*Ne-w*_e+U*D)*mt,n[11]=(h*_e-u*Ne-g*D)*mt,n[12]=(a*xt-o*Bt-l*bt)*mt,n[13]=(t*Bt-i*xt+r*bt)*mt,n[14]=(w*ie-m*Pe-x*D)*mt,n[15]=(u*Pe-h*ie+f*D)*mt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],w=e[12],x=e[13],U=e[14],D=e[15],ie=t[0],_e=t[1],Pe=t[2],Ne=t[3];return n[0]=ie*i+_e*a+Pe*h+Ne*w,n[1]=ie*r+_e*l+Pe*f+Ne*x,n[2]=ie*s+_e*c+Pe*g+Ne*U,n[3]=ie*o+_e*u+Pe*m+Ne*D,n[4]=(ie=t[4])*i+(_e=t[5])*a+(Pe=t[6])*h+(Ne=t[7])*w,n[5]=ie*r+_e*l+Pe*f+Ne*x,n[6]=ie*s+_e*c+Pe*g+Ne*U,n[7]=ie*o+_e*u+Pe*m+Ne*D,n[8]=(ie=t[8])*i+(_e=t[9])*a+(Pe=t[10])*h+(Ne=t[11])*w,n[9]=ie*r+_e*l+Pe*f+Ne*x,n[10]=ie*s+_e*c+Pe*g+Ne*U,n[11]=ie*o+_e*u+Pe*m+Ne*D,n[12]=(ie=t[12])*i+(_e=t[13])*a+(Pe=t[14])*h+(Ne=t[15])*w,n[13]=ie*r+_e*l+Pe*f+Ne*x,n[14]=ie*s+_e*c+Pe*g+Ne*U,n[15]=ie*o+_e*u+Pe*m+Ne*D,n}function Px(n,e,t){var o,a,l,c,u,h,f,g,m,w,x,U,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],w=e[9],x=e[10],U=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=w,n[10]=x,n[11]=U,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+f*r+x*s+e[14],n[15]=c*i+g*r+U*s+e[15]),n}function Nx(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function kx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],sce=[0,0,0],oce=[0,0,0],ace=Rx(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=PU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=kx([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,ice)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:sce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function PU(n,e,t=oce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class dce extends _x{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],w=n[14],x=n[15];return(e*o-t*s)*(h*x-f*w)-(e*a-i*s)*(u*x-f*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*x-f*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,w,x,U,D,ie,_e,Pe,Ne,Ve,bt,xt,At,Bt,Wt,gt,mt,jt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,XI=180/pc,KI=4003e4,Lx=85.051129;function Bx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*XI,i*XI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/KI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/KI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=Bx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*XI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function U0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Mce=Math.PI/180,Dce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Oce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&D0(t.projectionMatrix,this.projectionMatrix)&&D0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=U0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Bx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const x=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:U,aspect:D,focalDistance:ie,near:_e,far:Pe}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Ne=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Px(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Nx(o,o,[r/=n,r,r]),s&&Px(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:x,altitude:w});f&&(Ne=(new qn).translate([512*f,0,0]).multiplyLeft(Ne)),super(xn(ot({},t),{width:g,height:m,viewMatrix:Ne,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:U,aspect:D,focalDistance:ie,near:_e,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(xn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=U0(i,this.pixelUnprojectionMatrix),o=Fx([],this.projectFlat(t),NU([],r)),a=Fx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Bx([a,BU(u,-Lx,Lx)]),f=Bx([c,BU(l,-Lx,Lx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const w=m[0]/g[0],x=m[1]/g[1],_e=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/w,(f[1]+h[1])/2+(s.bottom-s.top)/2/x]),Pe=Math.min(r,YI(Math.abs(Math.min(w,x))));return ed(Number.isFinite(Pe)),{longitude:_e[0],latitude:_e[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=kx([],[o,a,l,1],t)),i){case ji.LNGLAT:return eO([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return eO(jU(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Nce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Lce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||H0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=Vx(n);return"function"===t||t===Vx(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||H0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,xn(ot({},e),{parameters:ot(ot(ot({},Nce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!H0(n)||!H0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Kce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Yce]||{},i=e[qce]||e,r=e[Xce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Pj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=rO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const x=m,{dataTransform:U}=i.component?i.component.props:{};a=U?U(x,a):a.concat(x),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(x){u=!0,h=x}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:tz,ASYNC_RESOLVED:nz,ASYNC_DEFAULTS:Qce}=Ox,Zce={};let Jce=0,eue=(()=>{class n{constructor(){this.props=jce.apply(this,arguments),this.id=this.props.id,this.count=Jce++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Qce])s in i[nz]?r[s]=i[nz][s]:s in i[tz]&&(r[s]=i[tz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new ez({})}}return n.componentName="Component",n.defaultProps=Zce,n})();class tue extends ez{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,rz=n=>hh(n)&&n.constructor==={}.constructor,nue=n=>n&&"function"==typeof n[Symbol.iterator],iue=n=>n&&"function"==typeof n[Symbol.asyncIterator],$0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,sz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Lf(n,"null loader"),Lf(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=xn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=tu.global||tu.self||tu.window||{},cue="object"!=typeof process||"[object process]"!==String(process)||process.browser,oz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oz&&parseFloat(oz[1]);const cO={};function uue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const due=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,hue=/^([-\w.]+\/[-\w.+]+)/;function fue(n){const e=hue.exec(n);return e?e[1]:n}function az(n){const e=due.exec(n);return e?e[1]:""}const pue=/\?.*/;function Hx(n){if($0(n)){const e=uO(n.url||"");return{url:e,type:fue(n.headers.get("content-type")||"")||az(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:az(n)}:{url:"",type:""}}function gue(n){return $0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(pue,"")}function lz(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if($0(n))return n;const e={},t=gue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=Hx(n);r&&(e["content-type"]=r);const s=yield yue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function mue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){if(!n.ok){const e=yield _ue(n);throw new Error(e)}})).apply(this,arguments)}function _ue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function yue(n){return pO.apply(this,arguments)}function pO(){return(pO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${bue(n.slice(0,5))}`:null})).apply(this,arguments)}function bue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const dz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Eue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},dz),n.globalOptions};function xue(n,e,t,i){return t=t||[],function(n,e){fz(n,null,dz,Eue,e);for(const t of e)fz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new vue),gz(r,_O()),gz(r,e),r}(e,n,i)}function hz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>cz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:cz}function fz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)uz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Cue(a,r);uz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Cue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function gz(n,e){for(const t in e)t in e&&(n[t]=rz(e[t])&&rz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Mue(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Due=iu.global||iu.self||iu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,Iue="undefined"!=typeof window&&void 0!==window.orientation,mz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(mz&&parseFloat(mz[1]),new Map);function _z(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function yz(n,e=!0,t){const i=t||new Set;if(n)if(bz(n))i.add(n);else if(bz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)yz(n[r],e,i);return void 0===t?Array.from(i):[]}function bz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class vz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||yz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_z(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=_z(n.source),vO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Nue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class kue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Nue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return vz.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Fue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new kue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Bue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function Vue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function jue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i,r){const s=n.id,o=Bue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Uue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Uue(n,e,t,i){return xO.apply(this,arguments)}function xO(){return(xO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var Ez=et(9521);function xz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Ez.toArrayBuffer?Ez.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function $ue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Sz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Wue(n){return CO.apply(this,arguments)}function CO(){return(CO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return $ue(...e)})).apply(this,arguments)}const Xue=262144;function Cz(n){this.wrapped=n}function W0(n){return new Cz(n)}function q0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Cz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function AO(n){return function(){return new q0(n.apply(this,arguments))}}function MO(){return(MO=AO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function ide(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return nde(n,e);if(em(n)&&(n=yield lz(n)),$0(n)){const r=n;return yield mue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(sz(n)&&(n=tde(n,t)),nue(n)||iue(n))return Wue(n);throw new Error(OO)})).apply(this,arguments)}function sde(n,e,t=null){if(t)return t;const i=ot({fetch:hz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ode(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Az=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Mz(n){const e=Az();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const lde=/\.([^.]+)$/;function cde(n){return kO.apply(this,arguments)}function kO(){return(kO=li(function*(n,e=[],t,i){if(!Iz(n))return null;let r=Dz(n,e,xn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Dz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Oz(n));return r})).apply(this,arguments)}function Dz(n,e=[],t,i){if(!Iz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Az()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=Hx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&lde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(gde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Rz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Rz(e,0,t))return t;return null}(e,n),a=a||FO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Oz(n));return s}function Iz(n){return!(n instanceof Response&&204===n.status)}function Oz(n){const{url:e,type:t}=Hx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function gde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Rz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Tde={data:{type:"data",value:Sde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=xn(ot({},r),{fetch:xn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:Y0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):Y0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let X0=(()=>{class n extends eue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=PU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Rle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Cde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rPz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=M0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,Pz)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Cle(n,e),transitionsChanged:Ele(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new fle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new yle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Tde,n})(),Nz=(()=>{class n extends X0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U,_subLayerProps:D}=this.props,ie={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U},_e=D&&D[t.id],Pe=_e&&_e.updateTriggers,Ne=t.id||"sublayer";if(_e){const Ve=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in _e){const At=bt[xt]||Ve[xt];At&&"accessor"===At.type&&(_e[xt]=this.getSubLayerAccessor(_e[xt]))}}Object.assign(ie,t,_e),ie.id="".concat(this.props.id,"-").concat(Ne),ie.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const Ve of x){const bt=Ve.getSubLayerProps.call(this,Ve);bt&&Object.assign(ie,bt,{updateTriggers:Object.assign(ie.updateTriggers,bt.updateTriggers)})}return ie}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=SI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Mde=/([0-9]+\.?[0-9]*)(%|px)/;function $x(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Mde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function Wx(n,e){return n.relative?Math.round(n.position*e):n.position}function K0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&K0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=xn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):K0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:Wx(this._x,e),y:Wx(this._y,t),width:Wx(this._width,e),height:Wx(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=$x(e),this._y=$x(t),this._width=$x(i),this._height=$x(r)}}const Q0=()=>{},kz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Q0,onTransitionInterrupt:Q0,onTransitionEnd:Q0};class Dde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},kz),t),this.propsInTransition=null,this.transition=new V0(t.timeline),this.onViewStateChange=t.onViewStateChange||Q0,this.onStateChange=t.onStateChange||Q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},kz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Fz=["longitude","latitude","zoom","bearing","pitch"],Ode=["longitude","latitude","zoom"];class Lz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!D0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Fz,extract:Fz,required:Ode}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=mx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,mx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Rde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},Yx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Dde(e,xn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&xn(ot({},Rde),{transitionInterpolator:new Lz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,xn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,xn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?xn(ot({},t),{transitionInterpolator:new Lz(xn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class Bz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Xx extends Bz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(xn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Xx(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Nde extends zO{constructor(e){super(Xx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Xx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Fde=(new qn).lookAt({eye:[0,0,1]});function Lde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Bde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(xn(ot({},e),{longitude:null,position:a,viewMatrix:Fde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Lde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=Fx([],e,NU([],U0(t,this.pixelUnprojectionMatrix)));return{target:Fx([],this.center,r)}}}let Vde=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:Bde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrthographicView",n})();const Kx=Math.PI/180;function jde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Kx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Kx),"Z"===t?c.rotateZ(r*Kx):c.rotateY(r*Kx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Ude extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(xn(ot({},e),{longitude:null,viewMatrix:jde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=U0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let zde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(xn(ot({},t),{orbitAxis:i,type:Ude}))}get controller(){return this._getControllerProps({type:Nde})}}return n.displayName="OrbitView",n})();const Hde=[255,255,255],Gde=1;let $de=0;class Vz{constructor(e={}){const{color:t=Hde}=e,{intensity:i=Gde}=e;this.id=e.id||"ambient-".concat($de++),this.color=t,this.intensity=i,this.type="ambient"}}const Wde=[255,255,255],qde=1,Yde=[0,0,-1];let Xde=0;class jz{constructor(e={}){const{color:t=Wde}=e,{intensity:i=qde}=e,{direction:r=Yde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Xde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Uz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=zz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||zz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Jde extends HO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(xn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const the=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),nhe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),ihe="".concat(the,"\n").concat(nhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),rhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ihe,getUniforms:function(n=rhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=ace({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||rce,o}(n):{}}},lhe=Rx(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),che=Rx(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=U0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),uhe=[0,0,0,1],dhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||uhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=lhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=che({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},mhe={color:[255,255,255],intensity:1},Hz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],_he=[0,0,0,200/255];class WO extends Uz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=_he,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=L0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=bhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class vhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=Y0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class whe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new vhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ehe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],xhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function She(n){const e=L0.getDefaultProgramManager(n);for(const t of Ehe)e.addDefaultModule(t);for(const t of xhe)e.addShaderHook(t);return e}const Ahe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Mhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new whe({gl:e,protocol:"deck://"}),this.context=xn(ot({},Ahe),{layerManager:this,gl:e,deck:t,programManager:e&&She(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Gz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=SI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Dhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=SI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!K0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=xn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Ohe extends Bz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie,normalize:_e}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:_e}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(xn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(xn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Rhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Ohe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Phe=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Rhe})}}return n.displayName="MapView",n})();const Nhe=new WO;class khe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!K0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Nhe)}}class Fhe extends HO{}const Wz={blendFunc:[1,0,32771,0],blendEquation:32774};class qz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,xn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Wz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:xn(ot({},Wz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Bhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Fhe(e),this.pickLayersPass=new qz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(xn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Vhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function jhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let x=0;x=0){const D=x+o-t,ie=D*D+w;ie<=u&&(u=ie,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const x=w.decodePickingColor(m),U=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:x,pickedX:o+(h/4-U*l),pickedY:a+U}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Vhe}function Yz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(w=>w.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Yz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=ot({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=Xz({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function Xz({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Ghe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new qz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Yz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=rI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:w,height:x}=this.pickingFBO,U=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:x});let D;const ie=[],_e={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:U,width:w.x+w.width-g,height:m-U},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Ne=Number.isFinite(c);for(let Ve=0;Ve<_e.length&&!(Ne&&Pe.size>=c);Ve++){const bt=_e[Ve];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=Xz({layer:bt.pickedLayer,info:xt,mode:l}),Pe.has(xt.object)||Pe.set(xt.object,xt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return gx(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const $he={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class Whe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,$he),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function Kz(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Qz=su.global||su.self||su.window,Yhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Zz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Xhe}=(Zz&&parseFloat(Zz[1]),Qz),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,Khe=Boolean(Xhe),XO=!!Yhe||Khe;function Jz(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function e4(n){switch(Jz(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const Jhe=/^data:image\/svg\+xml/,efe=/\.svg((\?|#).*)?$/;function KO(n){return n&&(Jhe.test(n)||efe.test(n))}function tfe(n,e){if(KO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return n4(n,e)}function n4(n,e){if(KO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function i4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e,t){const i=tfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield nfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function nfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ife={};let r4=!0;function rfe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e,t){let i;i=KO(t)?yield i4(n,e,t):n4(n,t);const r=e&&e.imagebitmap;return yield sfe(i,r)})).apply(this,arguments)}function sfe(n){return eR.apply(this,arguments)}function eR(){return(eR=li(function*(n,e=null){if((ofe(e)||!r4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),r4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function ofe(n){for(const e in n||ife)return!1;return!0}const ou=!1,Z0=!0;function tR(n){const e=J0(n);return function(n){const e=J0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=J0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Z0),height:e.getUint16(8,Z0)}:null}(e)||function(n){const e=J0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Z0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Z0),height:e.getUint32(22,Z0)}:null}(e)}function J0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function hfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=Qz;return Kz(i),i(n,t,e)}function nR(){return(nR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(pfe(r)){case"imagebitmap":a=yield rfe(n,e,s);break;case"image":a=yield i4(n,e,s);break;case"data":a=yield hfe(n,e);break;default:Kz(!1)}return"data"===r&&(a=e4(a)),a})).apply(this,arguments)}function pfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(XO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||XO;case"imagebitmap":return YO;case"image":return qO;case"data":return XO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const mfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},eb="8.5.8",Qx=nm.CO.deck&&nm.CO.deck.VERSION;if(Qx&&Qx!==eb)throw new Error("deck.gl - multiple versions detected: ".concat(Qx," vs ").concat(eb));Qx||(Ri.log(1,"deck.gl ".concat(eb))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:eb,version:eb,log:Ri,_registerLoggers:function(n){MI=n}}),Mz([mfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const _fe=nm.CO.deck;class Zx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Zx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const s4=px()&&"undefined"!=typeof document;let Afe=0;class Mfe{constructor(e={}){const{onCreateContext:t=(x=>XV(x)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Afe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(gn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Zx.isSupported(this.gl,["timers"])?new Zx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return gn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=s4?new Promise((e,t)=>{s4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!hx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(gn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(gn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Dfe=et(1524),Jx=et.n(Dfe);const Ife={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Jx().MouseInput);const Nfe=Jx().Manager,au=Jx(),kfe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,l4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Ffe={doubletap:["tap"]},Lfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Bfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},c4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Vfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let u4=!1;try{const n={get passive(){return u4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const jfe=-1!==Vfe.indexOf("firefox"),{WHEEL_EVENTS:Ufe}=sR,h4=4.000244140625;class Gfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Ufe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!u4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(jfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%h4==0&&(t=Math.floor(t/h4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:$fe}=sR,f4="pointermove",p4="pointerover",g4="pointerout",m4="pointerleave";class Wfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=$fe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===f4&&(this.enableMoveEvent=t),e===p4&&(this.enableOverEvent=t),e===g4&&(this.enableOutEvent=t),e===m4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:p4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:g4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:m4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:f4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:qfe}=sR,_4="keydown";class Yfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const b4="contextmenu";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===b4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:b4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Kfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},v4={srcElement:"root",priority:0};class lpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},v4,i):v4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&l4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Gfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Wfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Yfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Xfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Ffe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=c4[e]||e;let c=a.get(l);c||(c=new lpe(this),a.set(l,c),c.recognizerName=Bfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(c4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Lfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const w4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class tS{constructor(e){e=ot(ot({},w4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&M0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!K0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Mfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(xn(ot(ot({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Phe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new Whe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Gz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new upe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in PV)this.eventManager.on(r,this._onEvent);this.viewManager=new Dhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Mhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new khe,this.deckRenderer=new Bhe(e),this.deckPicker=new Ghe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=xn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=PV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}tS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Uz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},tS.defaultProps=w4,tS.VERSION=_fe.VERSION;const nS={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ppe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},iS=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ppe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),E4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return E4}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=E4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const x4=()=>{},vpe={10241:9987,10240:9729,10242:33071,10243:33071};function wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Epe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function tb(n){return n&&(n.id||n.url)}function S4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(S4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&S4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:wpe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=A0(n);on(f);const{gl:m,handle:w}=f,x=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const U=m.bindFramebuffer(36160,w);on(e);let D=null;if(e instanceof Pf&&(D=e,u=Number.isFinite(u)?u:D.width,h=Number.isFinite(h)?h:D.height,D.bind(0),e=D.target),x)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);D&&D.unbind(),m.bindFramebuffer(36160,U||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,Y0(i.url,iR,this._loadOptions).then(r=>{const s=tb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Epe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const C4=[0,0,0,255],Ape={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:C4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Mpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.state={iconManager:new Tpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:C4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Ape,n})();const A4=[],Ipe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Ope=(()=>{class n extends Mpe{getShaders(){return xn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=xn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):A4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):A4}}return n.layerName="MultiIconLayer",n.defaultProps=Ipe,n})();var Rpe=et(1002),Ppe=et.n(Rpe);const kpe=[];function Fpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function M4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=M4(n,a,l,r);c+h>i&&(oi&&(h=D4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function jpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let w=0;w<=s;w++){const x=n[w];if(("\n"===x||w===s)&&(m=w),m>g){const U=c?Vpe(n,t,i,r,g,m):kpe;for(let D=0;D<=U.length;D++){const ie=0===D?g:U[D-1],_e=Di===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Wpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Ype(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");j4(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:x}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Fpe(a+(l+1)*h)}}(ot({getFontWidth:U=>f.measureText(U).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const U=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(U,0,0)}if(j4(f,r,o,s),l){const U=new(Ppe())(o,a,c,u,r,s),D=f.getImageData(0,0,U.size,U.size);for(const ie of t)Ype(U.draw(ie),D),f.putImageData(D,g[ie].x-a,g[ie].y+a)}else for(const U of t)f.fillText(U,g[U].x,g[U].y+.9*o);return{xOffset:w,yOffset:x,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Zpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Jpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Zpe,n})();const U4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},z4={start:1,middle:0,end:-1},H4={top:1,center:0,bottom:-1},cR=[0,0,0,255],tge=["fontSize","buffer","sdf","radius","cutoff"],nge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:O4},fontFamily:R4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let ige=(()=>{class n extends Nz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Xpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(xn(ot(ot({},U4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return tge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=vx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=I4(h,l,o,a,r);return[(z4["function"==typeof c?c(t,i):c]-1)*f/2,(H4["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[w,x]}=I4(h,l,o,a,r),U=z4["function"==typeof c?c(t,i):c],D=H4["function"==typeof u?u(t,i):u],ie=f.length,_e=new Array(2*ie);let Pe=0;for(let Ne=0;Net*e/255)}const dR={name:"lights",vs:G4,fs:G4,getUniforms:function $4(n=rge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},oge={};const lge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=oge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,rS=new Float32Array(16),Y4=new Float32Array(12);function X4(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function K4(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Q4={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let w;g?(rS.set(a),w=K4(rS)):(w=Y4,X4(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:x,objectInfo:U}=vx(i,e,t);for(const D of x){let ie;U.index++,g?(rS.set(c?a:a(D,U)),ie=K4(rS)):(ie=Y4,X4(ie,h?r:r(D,U),u?s:s(D,U)),ie.set(f?o:o(D,U),9)),m[w++]=ie[0],m[w++]=ie[1],m[w++]=ie[2],m[w++]=ie[3],m[w++]=ie[4],m[w++]=ie[5],m[w++]=ie[6],m[w++]=ie[7],m[w++]=ie[8],m[w++]=ie[9],m[w++]=ie[10],m[w++]=ie[11]}}}};function Z4(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function J4(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function dge(n,e){if(n.attributes)return J4(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return J4(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const hge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let fge=(()=>{class n extends X0{getShaders(){const t=!Ci(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[nS,lge,iS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q4}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Z4(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,xn(ot({},this.getShaders()),{id:this.props.id,geometry:dge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=hge,n})();const eH={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class nb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;gn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof nb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function tH(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],w=t[3],x=t[4],U=t[5],D=t[6],ie=t[7],_e=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=w*i+x*o+U*c,n[4]=w*r+x*a+U*u,n[5]=w*s+x*l+U*h,n[6]=D*i+ie*o+_e*c,n[7]=D*r+ie*a+_e*u,n[8]=D*s+ie*l+_e*h,n}function nH(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function iH(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function rH(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function sS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function sH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function oH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function aH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function lH(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function ib(n,e,t,i){var f,g,m,w,x,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-i)*f)/m,x=Math.sin(i*f)/m):(w=1-i,x=i),n[0]=w*r+x*l,n[1]=w*s+x*c,n[2]=w*o+x*u,n[3]=w*a+x*h,n}function cH(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function uH(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var dH=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=IU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},hH=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},fH=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},pH=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},mH=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(I0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&I0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(I0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();iH(),iH(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const xge=[0,0,0,1];class _R extends _x{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return rH(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get w(){return this[3]}set w(e){this[3]=ir(e)}len(){return fH(this)}lengthSquared(){return pH(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return mH(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return dH(this,this,e),this.check()}calculateW(){return lH(this,this),this.check()}conjugate(){return uH(this,this),this.check()}invert(){return cH(this,this),this.check()}lerp(e,t,i){return hH(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),sS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),sS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),yx(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Sge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _H(n){if(!n._animation){const e=Cge[n.componentType],t=Sge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:gn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_H(e.accessors[a]),interpolation:l,output:_H(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Rge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Nge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class kge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(gn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function yH(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const Vge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},jge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Uge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},jge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Pge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new nb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new nb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new nb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){gn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new kge(n,e);gn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Nge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[eH],defines:a.defines,parameters:a.parameters,vs:yH(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:yH(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),gn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Vge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function bH(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=xH(xH(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function xH(n,e){return new Map([...n||new Map,...e||new Map])}let kr,SH,CH,TH,AH,MH,DH,IH;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class bR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,SH=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[SH](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Qge extends om{constructor(){super(!0,8)}}class Zge extends om{constructor(){super(!0,16)}}class Jge extends om{constructor(){super(!0,32)}}class eme extends om{constructor(){super(!1,8)}}class tme extends om{constructor(){super(!1,16)}}class nme extends om{constructor(){super(!1,32)}}CH=Symbol.toStringTag;class OH extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[CH](){return"Float"}toString(){return`Float${this.precision}`}}class ime extends OH{constructor(){super(32)}}class rme extends OH{constructor(){super(64)}}Symbol,Symbol,TH=Symbol.toStringTag,AH=Symbol.toStringTag,MH=Symbol.toStringTag,DH=Symbol.toStringTag,IH=Symbol.toStringTag;class sme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[IH](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class oS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new oS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function RH(n,e,t){const i=t?PH(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Qge;case Uint8Array:return new eme;case Int16Array:return new Zge;case Uint16Array:return new tme;case Int32Array:return new Jge;case Uint32Array:return new nme;case Float32Array:return new ime;case Float64Array:return new rme;default:throw new Error("array type not supported")}}(e.value);return new oS(n,new sme(e.size,new oS("value",r)),!1,i)}function PH(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const NH={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},cme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class dme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=PH(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=RH(o,n[o],s[o]);r.push(l)}if(t){const o=RH("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return xn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var aS=et(9125);const xR={};function SR(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n,e=null,t={}){return e&&(n=mme(n,e,t)),xR[n]=xR[n]||_me(n),yield xR[n]})).apply(this,arguments)}function mme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function _me(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):yme(yield(yield fetch(n)).text(),n):aS.requireFromFile&&(yield aS.requireFromFile(n))})).apply(this,arguments)}function yme(n,e){if(!yO)return aS.requireFromString&&aS.requireFromString(n,e);if(bO)return eval.call(Due,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const bme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let rb;function xme(n){return AR.apply(this,arguments)}function AR(){return(AR=li(function*(n){const e=n.modules||{};return rb=e.draco3d?rb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):rb||Sme(n),yield rb})).apply(this,arguments)}function Sme(n){return DR.apply(this,arguments)}function DR(){return(DR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield SR(bme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield SR(vme,"draco",n),yield SR(wme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Cme(e,t)})).apply(this,arguments)}function Cme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(xn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=xn(ot({},EH),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=li(function*(n,e){const{draco:t}=yield xme(e),i=new dme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function ob(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Mme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+ob(i.byteLength,4)}const kH=["SCALAR","VEC2","VEC3","VEC4"],Dme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ime=new Map(Dme),Ome={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function FH(n){return kH[n-1]||kH[0]}function LH(n){const e=Ime.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function BH(n,e){const t=Pme[n.componentType],i=Ome[n.type],s=n.count*i,o=n.count*i*Rme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Nme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Nme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=BH(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=ob(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:FH(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:LH(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Mme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*$me(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function Wme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(cS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,cS)})).apply(this,arguments)}function qme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,cS,{}),e.addExtension(cS))}function Yme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Xme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Kme(n){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(uS);if(i){const r=Zme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,uS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=Jme(s.technique,e)),e.removeObjectExtension(s,uS)}e.removeExtension(uS)}})).apply(this,arguments)}function Qme(n,e){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e){})).apply(this,arguments)}function Zme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function Jme(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const UH={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Dt,KHR_techniques_webgl:dt};function e_e(n){return jR.apply(this,arguments)}function jR(){return(jR=li(function*(n,e={},t){for(const r in UH){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield UH[r].decode(n,e,t))}})).apply(this,arguments)}const zH={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},n_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class i_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,VH);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(VH)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in zH)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in zH)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=n_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function r_e(n,e={}){return(new i_e).normalize(n,e)}const s_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},o_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},a_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},l_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class d_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return o_e[n]}(e.componentType),e.components=function(n){return s_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=BH(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):l_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return a_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function h_e(n,e){return(new d_e).postProcess(n,e)}const HH=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),ob(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),ob(i,4)}function S_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t=0,i,r){var s,o,a,l;C_e(n,e,t,i),r_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield T_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=A_e(n,i,r);c.push(h)}const u=e_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?h_e(n,i):n})).apply(this,arguments)}function C_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=HH}=t,s=i.getUint32(e,!1);return s===r||s===HH}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?bH(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?bH(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=ob(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function T_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield O_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function O_e(n){return KR.apply(this,arguments)}function KR(){return(KR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const GH=[255,255,255,255],N_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:GH},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let k_e=(()=>{class n extends X0{getShaders(){const t=[nS,iS];return"pbr"===this.props._lighting&&t.push(eH),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:GH,transition:!0},instanceModelMatrix:Q4})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Uge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return XR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Z4(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=N_e,n})();class F_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const U=i;i=(D,ie,_e,Pe,Ne)=>U}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let U=0;U<=e;U++)for(let D=0;D<=t;D++){const ie=D/t,_e=U/e,Pe=D+U*(t+1),Ne=2*Pe,Ve=3*Pe,bt=c*ie,xt=o*_e,At=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),mt=Bt*Wt,jt=Math.cos(xt),ft=At*Wt,Yt=i(mt,jt,ft,ie,_e);h[Ve+0]=Yt*mt,h[Ve+1]=Yt*jt,h[Ve+2]=Yt*ft,f[Ve+0]=mt,f[Ve+1]=jt,f[Ve+2]=ft,g[Ne+0]=ie,g[Ne+1]=1-_e}const x=t+1;for(let U=0;Us?(gt=i,Wt=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,Wt=0),gt-=i/2;for(let jt=0;jts?0:ft*w,Ve[xt+Pe[1]]=Bt<0?-1:Bt>s?1:x,Ve[xt+Pe[2]]=Bt<0||Bt>s?0:Yt*w,bt[At+0]=jt/r,bt[At+1]=Wt,At+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new ce){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new ce){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new ce){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new ce){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new ce){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=X_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=K_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(WH),WH.almostEquals(e,t)}clone(){return new ce(this.x,this.y,this.z)}}ce.ZERO=void 0,ce.UNIT_X=void 0,ce.UNIT_Y=void 0,ce.UNIT_Z=void 0,ce.ZERO=new ce(0,0,0),ce.UNIT_X=new ce(1,0,0),ce.UNIT_Y=new ce(0,1,0),ce.UNIT_Z=new ce(0,0,1);const X_e=new ce,K_e=new ce,WH=new ce;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new ce,this.upperBound=new ce,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const qH=new ce,YH=[new ce,new ce,new ce,new ce,new ce,new ce,new ce,new ce];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new ce){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=Z_e;e.tangents(i,J_e),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new ce){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,w,x,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-t)*f)/m,x=Math.sin(t*f)/m):(w=1-t,x=t),i.x=w*r+x*l,i.y=w*s+x*c,i.z=w*o+x*u,i.w=w*a+x*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const Z_e=new ce,J_e=new ce,eye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let mn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=eye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new ce,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new ce){return i.vsub(e,r),t.conjugate(KH),KH.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new ce){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new ce){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new ce){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const KH=new us;class jf extends mn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:mn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new ce;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new ce,u=new ce,h=new ce,f=new ce,g=new ce,m=new ce;let w=Number.MAX_VALUE;const x=this;if(x.uniqueAxes)for(let U=0;U!==x.uniqueAxes.length;U++){i.vmult(x.uniqueAxes[U],c);const D=x.testSepAxis(c,e,t,i,r,s);if(!1===D)return!1;D0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,QR),jf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?_n.STATIC:_n.DYNAMIC,typeof e.type==typeof _n.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=_n.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new ce,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new ce,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new ce,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new ce,this.invInertia=new ce,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new ce,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new ce(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new ce(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new ce,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=_n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===_n.SLEEPING&&this.dispatchEvent(_n.wakeupEvent)}sleep(){this.sleepState=_n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===_n.AWAKE&&ir?this.wakeUp():t===_n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(_n.sleepEvent))}}updateSolveMassProperties(){this.sleepState===_n.SLEEPING||this.type===_n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new ce){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new ce){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new ce,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=iye,o=rye,a=this.quaternion,l=this.aabb,c=sye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=oye,r=aye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=lye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=cye,r=uye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===_n.DYNAMIC&&(this.sleepState===_n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=t,r=dye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=hye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=fye,r=pye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=gye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),hS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new ce;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==_n.DYNAMIC&&this.type!==_n.KINEMATIC||this.sleepState===_n.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,w=this.angularFactor,x=l.x*w.x,U=l.y*w.y,D=l.z*w.z;s.x+=e*(m[0]*x+m[1]*U+m[2]*D),s.y+=e*(m[3]*x+m[4]*U+m[5]*D),s.z+=e*(m[6]*x+m[7]*U+m[8]*D),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}_n.idCounter=0,_n.COLLIDE_EVENT_NAME="collide",_n.DYNAMIC=1,_n.STATIC=2,_n.KINEMATIC=4,_n.AWAKE=0,_n.SLEEPY=1,_n.SLEEPING=2,_n.wakeupEvent={type:"wakeup"},_n.sleepyEvent={type:"sleepy"},_n.sleepEvent={type:"sleep"};const iye=new ce,rye=new us,sye=new pr,oye=new lu,aye=new lu,lye=new ce,cye=new ce,uye=new ce,dye=new ce,hye=new ce,fye=new ce,pye=new ce,gye=new ce;new ce,new ce;class fS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new ce,this.rayToWorld=new ce,this.hitNormalWorld=new ce,this.hitPointWorld=new ce,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let QH,ZH,JH,e8,t8,n8,i8;QH=mn.types.SPHERE,ZH=mn.types.PLANE,JH=mn.types.BOX,e8=mn.types.CYLINDER,t8=mn.types.CONVEXPOLYHEDRON,n8=mn.types.HEIGHTFIELD,i8=mn.types.TRIMESH;class ys{get[QH](){return this._intersectSphere}get[ZH](){return this._intersectPlane}get[JH](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new ce,t=new ce){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new ce,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new fS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new fS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),nP.length=0,e.broadphase.aabbQuery(e,r8,nP),this.intersectBodies(nP),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Eye,s=xye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new ce(0,0,1);t.vmult(c,c);const u=new ce;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(o.lerp(a,x,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Mye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,x=m.distanceTo(this.to),U=c?c.length:u.length,D=this.result;for(let ie=0;!D.shouldStop&&iex||this.reportIntersection(a,va,s,r,_e)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Dye,l=kye,c=Fye,u=o8,h=Iye,f=Oye,g=Rye,m=Nye,w=Pye,x=e.indices,U=this.from,D=this.to,ie=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,ie,h),Wi.pointToLocalFrame(i,t,U,f),Wi.pointToLocalFrame(i,t,D,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const _e=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Ne=l.length;!this.result.shouldStop&&Pe!==Ne;Pe++){const Ve=l[Pe];e.getNormal(Ve,a),e.getVertex(x[3*Ve],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(x[3*Ve+1],uu),e.getVertex(x[3*Ve+2],du);const At=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||At>_e||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,va,m),this.reportIntersection(w,m,s,r,Ve))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends oe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){Mz([EH,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oP(n,e){return Vi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Gx(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Lve(n,e){return Vi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function aP(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new F_e;break;case"cone":i=new j_e;break;case"cylinder":i=new U_e;break;case"cube":default:i=new q_e}return new fge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new ige(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Vve=(()=>{class n extends Nz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oP({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new k_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Lve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aP(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aP(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aP(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Vi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new ce(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield Y0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...f.map((m,w)=>Math.min(m,g[w]))),upperBound:new ce(...g.map((m,w)=>Math.max(m,f[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e5(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e5(t,e);return e}let Uve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Vve({}),this.nodeClickSubject=new oe,this.nodeHoverStartSubject=new oe,this.nodeHoverStopSubject=new oe,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new oe,this.nodeDragSubject=new oe,this.nodeDragEndSubject=new oe,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Vde({flipY:!1,near:-1e3}):new zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new Vz({color:[255,255,255],intensity:10})})]),this.deck=new tS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Vi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Vi(this,void 0,void 0,function*(){Q8();const i=yield oP({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),f=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new pr({lowerBound:new ce(...h.map((g,m)=>Math.min(g,f[m]))),upperBound:new ce(...f.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of e5(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new ce(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t5 extends y{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class zve extends y{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n5(n,e,t,i,r=new zve(n,t,i)){if(!r.closed)return e instanceof O?e.subscribe(r):Me(e)(r)}const i5={};function yc(...n){let e,t;return Te(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0]),In(n,t).lift(new r5(e))}class r5{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Hve(e,this.resultSelector))}}class Hve extends t5{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i5),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lP=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cP=new Ht("INITIAL_STATE_TOKEN");let Xve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s5=new Ht("Internals.StateContextFactory"),o5=new Ht("Internals.StateFactory");function pb(...n){if(1===n.length){const e=n[0];if(k(e))return xS(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return xS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return xS(n=1===n.length&&k(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return xS(n,null)}function xS(n,e){return new O(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new Kve(n,e))}}class Kve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Qve(e,this.predicate,this.thisArg))}}class Qve extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a5=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?v0():e.lift(new Jve(n))}class Jve{constructor(e){if(this.total=e,this.total<0)throw new a5}call(e,t){return t.subscribe(new ewe(e,this.total))}}class ewe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l5(n,e){return e?t=>t.pipe(l5((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new twe(n))}class twe{constructor(e){this.project=e}call(e,t){return t.subscribe(new nwe(e,this.project))}}class nwe extends we{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function SS(n=null){return e=>e.lift(new iwe(n))}class iwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new rwe(e,this.defaultValue))}}class rwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new swe(n),r=t.lift(i);return i.caught=r}}class swe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new owe(e,this.selector,this.caught))}}class owe extends we{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new awe(n))}class awe{constructor(e){this.notifier=e}call(e,t){const i=new lwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class lwe extends we{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new cwe(n,e,t))}}class cwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new uwe(e,this.nextOrObserver,this.error,this.complete))}}class uwe extends y{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new dwe(n,e))}class dwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new hwe(e,this.compare,this.keySelector))}}class hwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c5=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Xc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const u5=new Ht("ROOT_STATE_TOKEN"),d5=new Ht("FEATURE_STATE_TOKEN"),h5=new Ht("NGXS_PLUGINS"),f5=new Ht("NG_TEST_MODE"),p5=new Ht("NG_DEV_MODE"),cd="NGXS_META",g5="NGXS_OPTIONS_META",uP="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c5}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class fwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m5=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _5=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},CS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dP=n=>n&&"object"==typeof n&&!Array.isArray(n),hP=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dP(n)&&dP(t))for(const i in t)dP(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hP(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hP(n,...e)};function fP(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return gb(n)}function gb(n){return n[cd]}function gP(n){return n[uP]}function y5(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Swe(){return me(n=>n.action)}function TS(n){return e=>new O(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let AS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Awe extends oe{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let MS=(()=>{class n extends Awe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mwe=(()=>{class n extends O{constructor(t,i){super(r=>{const s=t.pipe(TS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const v5=n=>(...e)=>n.shift()(...e,(...i)=>v5(n)(...i));let DS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mP=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(h5,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_P=(()=>{class n extends oe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),w5=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(TS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):pb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v5([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l5(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(MS),Ie(_P),Ie(mP),Ie(DS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E5=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E5(n[i])}),n};let x5=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Ie(p5),Ie(f5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S5=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Ie(x5),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E5(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(w5),Ie(Wf),Ie(S5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),IS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return CS(l,t.path)}function s(l,c){const u=_5(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b5(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class OS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=gb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}OS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=ES(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y5(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(OS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_5(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),V(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),SS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof O?(u=u.pipe(SS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(wwe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),pb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=OS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==CS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(Wf),Ie(n,12),Ie(MS),Ie(_P),Ie(IS),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yP=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),cr(()=>this.invokeInit(i.states)),V(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b5(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm),Ie(IS),Ie(lP))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const RS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Iwe(n,e,t){const i=t&&t.containerClass,s=ES(function(...c){const u=e.apply(i,c);return u instanceof Function?ES.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uP)||Object.defineProperty(n,uP,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gP(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},RS_getOptions(n.containerClass)||{},RS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&gb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T5(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T5(n){const e=gP(n)||gb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),TS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(TS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T5(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(gm),Ie(Wf),Ie(AS),Ie(mm),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class kwe{static get type(){return"@@INIT"}}class Fwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const PS=new Df(1);let Bwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();PS.next(t)}catch(n){PS.next(!1)}finally{PS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new kwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Ie(mm),Ie(gm),Ie(hu),Ie(mb),Ie(u5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),Vwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Fwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(gm),Ie(mm),Ie(d5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Bwe,providers:[mm,IS,Mwe,MS,lP,S5,x5,yP,w5,_P,gm,AS,hu,DS,mb,mP,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Vwe,providers:[mm,mP,...e,{provide:d5,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f5,useValue:Yve},{provide:p5,useValue:fa},{provide:m5,useClass:t.executionStrategy||c5},{provide:u5,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:OE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[lP]},{provide:cP,useFactory:Yo.getInitialState},{provide:s5,useExisting:IS},{provide:o5,useExisting:mm}]}static ngxsConfigFactory(e){return hP(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Xve.pop()}}function bP(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=fP(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A5(n){return i=>{!function(n){PS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fP(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g5]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;OS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g5]=a}}function NS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y5(t.length?[e,...t]:e.split("."),mb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!mb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return mb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Iwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const YS=new cc(ox);class qEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new YEe(e,this.dueTime,this.scheduler))}}class YEe extends y{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(XEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function XEe(n){n.debouncedNext()}class KEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new QEe(e,this.total))}}class QEe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function XS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof pn?n.nativeElement:n}let HP;try{HP="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){HP=!1}let Tb,Xf,GP,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!HP)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc))},n.\u0275prov=We({factory:function(){return new n(Ie(Xc))},token:n,providedIn:"root"}),n})(),Cb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Tb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Tb=!0}))}finally{Tb=Tb||!1}return Tb}()?n:!!n.capture}function F6(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function QS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let $P=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),L6=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new O(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new oe,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(Ie($P))},n.\u0275prov=We({factory:function(){return new n(Ie($P))},token:n,providedIn:"root"}),n})(),WP=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=YS){return t=>t.lift(new qEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Ce(L6),Ce(pn),Ce(fn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),ZS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[$P]}),n})(),$6=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===q6(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=q6(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||W6(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi))},token:n,providedIn:"root"}),n})();function W6(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function q6(n){if(!W6(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class _xe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let Y6=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new _xe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Ie($6),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie($6),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();function X6(n){return 0===n.offsetX&&0===n.offsetY}function K6(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Q6=new Ht("cdk-input-modality-detector-options"),Exe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let J6=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(X6(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{K6(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},Exe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new KEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),tC=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new oe,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==GP){const n="undefined"!=typeof document?document.head:null;GP=!(!n||!n.createShadowRoot&&!n.attachShadow)}return GP}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new oe,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",YP="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(YP),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(YP),t.add(iG)):2===i&&(t.add(YP),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(hn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Ie(oG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(oG,8))},token:n,providedIn:"root"}),n})(),Mb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function nC(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Te(e)?(n.pop(),t=>nC(n,t,e)):t=>nC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){uG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function KP(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let eN=(n,e)=>!1,tN=(n,e)=>!1,gG=(n,e,t)=>[];const mG=KP();(mG||"undefined"!=typeof Element)&&(eN=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),tN=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):tN}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return nN(t)}matchesElement(t,i){return iN(t,i)}containsElement(t,i){return rN(t,i)}query(t,i,r){return sN(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iC{}iC.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=uN(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KP()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=uN(t);n.style[i]=""}),KP()&&SG(n))}const Fxe=/-+([a-z0-9])/g;function uN(n){return n.replace(Fxe,(...e)=>e[1].toUpperCase())}function Lxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),rCe=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,Ui=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(Ie(sG),Ie(rCe,8),Ie(hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Mb],Mb]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function EC(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class _Ce{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},CN=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class bCe{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new _Ce(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=X6(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,CN)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}))}}const ECe=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new bCe(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(fn),Ce(Zi),Ce(ECe,8),Ce(Qa,8))},n.\u0275dir=Nt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ui,Cb],Ui]}),n})();function gd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(me(r=>k(r)?i(...r):i(r))):new O(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let kCe=1;const FCe=Promise.resolve(),CC={};function x$(n){return n in CC&&(delete CC[n],!0)}const S$={setImmediate(n){const e=kCe++;return CC[e]=!0,FCe.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof O||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class UCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new zCe(e,this.durationSelector))}}class zCe extends we{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!k(n)&&n-parseFloat(n)+1>=0}function GCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=YS){return function(n){return function(t){return t.lift(new UCe(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Te(e)&&(t=e),Te(t)||(t=YS),new O(r=>{const s=C$(n)?n:+n-t.now();return t.schedule(GCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new oe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new O(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(hn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new oe,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn,8))},token:n,providedIn:"root"}),n})();class DN{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class MC extends DN{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Pm extends DN{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class a1e extends DN{constructor(e){super(),this.element=e instanceof pn?e.nativeElement:e}}class DC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof MC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Pm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof a1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class l1e extends DC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends DC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Ce(El),Ce(Rs),Ce(hn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[wn]}),n})();const N$=F6();class h1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),N$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),N$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class f1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class k${enable(){}disable(){}attach(){}}function IN(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class p1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IN(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let g1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new f1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new h1e(this._viewportRuler,this._document),this.reposition=o=>new p1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();class OC{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class m1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class _1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),y1e=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),b1e=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(hn),Ie(Zi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Rb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new oe,this._outsidePointerEvents=new oe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;XS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Nn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",w1e=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new oe,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,f,g),x=m*w;return{visibleArea:x,isCompletelyWithinViewport:s.width*s.height===x,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:IN(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:IN(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&XS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof pn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(w1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class E1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new m1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class x1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let S1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new x1e}connectedTo(t,i,r){return new E1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},n.\u0275prov=We({factory:function(){return new n(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},token:n,providedIn:"root"}),n})(),C1e=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new OC(t);return o.direction=o.direction||this._directionality.value,new v1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+C1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new l1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Ie(g1e),Ie(Rb),Ie(El),Ie(S1e),Ie(y1e),Ie(Hn),Ie(fn),Ie(hn),Ie(Il),Ie(kg),Ie(b1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new NN(e,this.delay,this.scheduler))}}class NN extends y{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(NN.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new rTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class rTe{constructor(e,t){this.time=e,this.notification=t}}function oW(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new $Te(n))}et(7266);class $Te{constructor(e){this.callback=e}call(e,t){return t.subscribe(new WTe(e,this.callback))}}class WTe extends y{constructor(e,t){super(e),this.add(new C(t))}}class fW{}class pW{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof mu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class qTe{encodeKey(e){return gW(e)}encodeValue(e){return gW(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const XTe=/%(\d[a-f0-9])/gi,KTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function gW(n){return encodeURIComponent(n).replace(XTe,(e,t)=>{var i;return null!==(i=KTe[t])&&void 0!==i?i:e})}function mW(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new qTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(mW(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(mW(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function _W(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function yW(n){return"undefined"!=typeof Blob&&n instanceof Blob}function bW(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class FN{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class LN extends FN{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new LN({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class PC extends FN{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class vW extends FN{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function BN(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return V(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,BN(r,i))}post(t,i,r={}){return this.request("POST",t,BN(r,i))}put(t,i,r={}){return this.request("PUT",t,BN(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fW))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class wW{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const EW=new Ht("HTTP_INTERCEPTORS");let JTe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const eAe=/^\)\]\}',?\n/;let xW=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new O(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",w=new mu(r.getAllResponseHeaders()),x=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new LN({headers:w,status:g,statusText:m,url:x}),o},l=()=>{let{headers:g,status:m,statusText:w,url:x}=a(),U=null;204!==m&&(U=void 0===r.response?r.responseText:r.response),0===m&&(m=U?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof U){const ie=U;U=U.replace(eAe,"");try{U=""!==U?JSON.parse(U):null}catch(_e){U=ie,D&&(D=!1,U={error:_e,text:U})}}D?(i.next(new PC({body:U,headers:g,status:m,statusText:w,url:x||void 0})),i.complete()):i.error(new vW({error:U,headers:g,status:m,statusText:w,url:x||void 0}))},c=g=>{const{url:m}=a(),w=new vW({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(w)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(Ie(oV))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const VN=new Ht("XSRF_COOKIE_NAME"),jN=new Ht("XSRF_HEADER_NAME");class SW{}let nAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Xc),Ie(VN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),UN=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(SW),Ie(jN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),iAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(EW,[]);this.chain=i.reduceRight((r,s)=>new wW(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pW),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:UN,useClass:JTe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:VN,useValue:t.cookieName}:[],t.headerName?{provide:jN,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[UN,{provide:EW,useExisting:UN,multi:!0},{provide:SW,useClass:nAe},{provide:VN,useValue:"XSRF-TOKEN"},{provide:jN,useValue:"X-XSRF-TOKEN"}]}),n})(),CW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:fW,useClass:iAe},xW,{provide:pW,useExisting:xW}],imports:[[rAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const sAe=["*"];function TW(n){return Error(`Unable to find icon with the name "${n}"`)}function AW(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function MW(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let NC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw MW(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw MW(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw AW(t);const r=this._cachedIconsByUrl.get(i);return r?sn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=DW(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(TW(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):pb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw TW(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(DW(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),IW=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],fAe=IW.map(n=>`[${n}]`).join(", "),pAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends cAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(fAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(pAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(NC),yo("aria-hidden"),Ce(uAe),Ce(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[wn],ngContentSelectors:sAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function CAe(n,e){}class HN{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const TAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let AAe=(()=>{class n extends DC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=QS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=QS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=QS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(Y6),Ce(Mr),Ce(hn,8),Ce(HN),Ce(vc))},n.\u0275dir=Nt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[wn]}),n})(),MAe=(()=>{class n extends AAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&dE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),pE("@dialogContainer",i._state))},features:[wn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,CAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[TAe.dialogContainer]}}),n})(),DAe=0;class FC{constructor(e,t,i="mat-dialog-"+DAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new oe,this._afterClosed=new oe,this._beforeClosed=new oe,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),GN(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():GN(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function GN(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const PW=new Ht("MatDialogData"),IAe=new Ht("mat-dialog-default-options"),NW=new Ht("mat-dialog-scroll-strategy");let PAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new oe,this._afterOpenedAtThisLevel=new oe,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new O(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):v0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new HN)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new OC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:HN,useValue:i}]}),o=new MC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Pm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new MC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,En.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Ce(Ec),Ce(Hn),Ce(void 0),Ce(void 0),Ce(Rb),Ce(void 0),Ce(Du),Ce(Du),Ce(Ht))},n.\u0275dir=Nt({type:n}),n})(),kb=(()=>{class n extends PAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,FC,MAe,PW)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ec),Ie(Hn),Ie(kg,8),Ie(IAe,8),Ie(NW),Ie(n,12),Ie(Rb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kAe=0,kW=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+kAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC,8),Ce(pn),Ce(kb))},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),FW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const WN=new Ht("CdkAccordion");let BAe=0,jAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+BAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(WN,12),Ce(Mr),Ce(A$))},n.\u0275dir=Nt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:WN,useValue:void 0}])]}),n})();const zAe=["body"];function HAe(n,e){}const GAe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$Ae=["mat-expansion-panel-header","*","mat-action-row"];function WAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const qAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],YAe=["mat-panel-title","mat-panel-description","*"],qN=new Ht("MAT_ACCORDION"),BW="225ms cubic-bezier(0.4,0.0,0.2,1)",VW={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))])};let XAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),KAe=0;const jW=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let UW=(()=>{class n extends jAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new oe,this._headerId="mat-expansion-panel-header-"+KAe++,this._bodyAnimationDone=new oe,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Qi(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Pm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Ce(qN,12),Ce(Mr),Ce(A$),Ce(Rs),Ce(hn),Ce(Qa,8),Ce(jW,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,Vt(),t)}(r,XAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(zAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:qN,useValue:void 0}]),wn,Li],ngContentSelectors:$Ae,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr(GAe),oi(0),wt(1,"div",0,1),Cn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,HAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[VW.bodyExpansion]},changeDetection:0}),n})();class ZAe{}const JAe=EC(ZAe);let zW=(()=>{class n extends JAe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Nn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Ce(UW,1),Ce(pn),Ce(vc),Ce(Mr),Ce(jW,8),Ce(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Cn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Hy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[wn],ngContentSelectors:YAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(qAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,WAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[VW.indicatorRotate]},changeDetection:0}),n})();var HW=et(5478);Object.create(Error.prototype);const rMe=["*"];var BC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(BC||(BC={})),BC))();class oMe{}const $W=new Ht("SECURITY_CONTEXT");let YN=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new HW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=HW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc),Ie($W),Ie(_u,8),Ie(oMe,8),Ie(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,BC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sk(i)?t(...i):t(i))):new O(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XN(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new fMe(n,t))}}class fMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new pMe(e,this.observables,this.project))}}class pMe extends t5{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class gMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new mMe(e,this.accumulator,this.seed,this.hasSeed))}}class mMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class bMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new vMe(e,this.predicate))}}class vMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const wMe=["youtubeContainer"];let KW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new oe,this._destroyed=new oe,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new oe;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(XN(yc([i,r])),me(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return ue(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new r5(e))}(n),function(n){return e=>e.lift(new bMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new gMe(n,e,t))}}(AMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),V(e=>e?QW(e)?sn(e):new O(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{QW(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new oe));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(QN(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(QN(n,(u,h)=>!!u&&u.videoId!==h));Nn(n.pipe(QN(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XN(yc([n,e,o,r])),me(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?qW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new O(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Ce(fn),Ce(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(wMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function AMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function QW(n){return"getPlayerStatus"in n}function QN(n,e){return ue(XN(n),Qi(([t,i])=>e(i,t)),me(([t])=>t))}let LMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Lb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function ZN(n){return Boolean(n)}function t7(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const jC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&jC(n[o])}),n};function n7(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s7="NGXS_DATA_META",ek="NGXS_META",o7="NGXS_ARGUMENT_REGISTRY_META";let a7=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Bb(n){return n[s7]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(a7)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(o5),Ie(s5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Bb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=We({token:hs,factory:hs.\u0275fac}),new Df(1);class rDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l7(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c7(n){var e;const t=l7(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t7(void 0===t.defaults?{}:t.defaults);if(i.length){if(n7(s))return function(n,e){return e.reduce((t,i)=>{const r=l7(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c7(i),t},null!=n?n:{})}(s,i);throw new rDe(s)}return s}function d7(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h7(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function lDe(n){let e=!1;return Im(n)&&(e=!0),e}function tk(n){return n[o7]}class cDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class uDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(ZN(this.argumentMap.has(e))||ZN(this.payloadMap.has(e)))throw new cDe(e,t)}}function mDe(n){return{enumerable:!0,configurable:!0,get(){const e=Bb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f7(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n7(i))for(;null!==i;){if(Lb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d7(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d7(n)}(this),o=null==s?void 0:s.get(i);if(Lb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h7()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h7(),isObservable:lDe(l)}),l}return o.value},t}}const EDe={cancelUncompleted:!0,insideZone:!1};function nk(n=EDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=tk(r);if(Za(h)){const D=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),ie=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var D;return Lb(n.insideZone)?null===(D=el.ngZone)||void 0===D||D.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(me(()=>l)):l};const x=hs.createAction(h,o,g),U=el.store.dispatch(x);return Im(l)?function(n,e){return pb([n,e]).pipe(me(t=>t.pop()))}(U,l):l},i}}function p7(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(tk(t))&&Object.defineProperties(t,{[o7]:{enumerable:!0,configurable:!0,value:new uDe}}),tk(t)})(e,t).createPayloadType(r,t,i)}}function SDe(){return n=>{const e=function(n){if(function(n){return!ZN(n)}(n.hasOwnProperty(ek))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ek,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[ek]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Bb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s7,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Bb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t7(t)},context:mDe(n)})}(n,e,c7(n)),function(n){var e,t;const i=Bb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(me(o=>fa()?jC(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let TDe=(()=>{class n{constructor(){this.browserStorageEvents$=new oe,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),ADe=(()=>{class n extends TDe{get snapshot(){return function(n){return fa()?jC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?jC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([nk(),wV(0,p7("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([nk(),wV(0,p7("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([nk(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),g9=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),Ck=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),VOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(Ck))}),Tk=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(Ck),Bc(VOe))});let Yb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(zm),Ie(hn),Ie(Tk))},n.\u0275prov=We({factory:function(){return new n(Ie(zm),Ie(hn),Ie(Tk))},token:n,providedIn:"root"}),n})(),m9=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Ce(g9,8),Ce(Yb),Ce(zm),Ce(pn))},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const UOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Vi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,Tk,hn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let s1=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},UOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),a1=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),eRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(Ck),Ie(zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const tRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),S9=[a1,eRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(tRe))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})()];function iRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let sRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=s1.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[iRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...S9,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:S9}],imports:[[s1]]}),n})();const cRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),uRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},dRe=new oe;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Nn(dRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:v0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||cRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||uRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(w=>n.cacheResolver(w.parameters,f));const m=a.find(w=>n.cacheResolver(w.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const w=sn(g.response);return n.async?w.pipe(function(n,e=YS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new iTe(i,e))}(0)):w}if(m)return m.response;{const w=s.call(this,...u).pipe(kN(()=>{const x=a.find(U=>n.cacheResolver(U.parameters,f));a.splice(a.indexOf(x),1)}),cr(x=>{(!n.shouldCacheDecider||n.shouldCacheDecider(x))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:w,created:new Date}),w}}}return i}}class hRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const C9=new Ht("basePath");class Xb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let T9=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Xb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new hRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,w=t.sex,x=t.spatial,U=t.technologies,D=t.token;let ie=new Lr({encoder:this.encoder});null!=a&&(ie=this.addToHttpParams(ie,a,"age")),null!=l&&(ie=this.addToHttpParams(ie,l,"age-range")),null!=c&&(ie=this.addToHttpParams(ie,c,"bmi")),null!=u&&(ie=this.addToHttpParams(ie,u,"bmi-range")),null!=h&&(ie=this.addToHttpParams(ie,h,"cache")),f&&f.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"ontology-terms")}),g&&g.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"cell-type-terms")}),null!=o&&(ie=this.addToHttpParams(ie,o,"organ-iri")),m&&m.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"providers")}),null!=w&&(ie=this.addToHttpParams(ie,w,"sex")),x&&x.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"spatial")}),U&&U.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"technologies")}),null!=D&&(ie=this.addToHttpParams(ie,D,"token"));let _e=this.defaultHeaders,Pe=s&&s.httpHeaderAccept;void 0===Pe&&(Pe=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Pe&&(_e=_e.set("Accept",Pe));let Ne=s&&s.context;void 0===Ne&&(Ne=new Zs);let Ve="json";return Pe&&(Ve=Pe.startsWith("text")?"text":this.configuration.isJsonMime(Pe)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ne,params:ie,responseType:Ve,withCredentials:this.configuration.withCredentials,headers:_e,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let w="json";return h&&(w=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:w,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u),Ie(C9,8),Ie(Xb,8))},n.\u0275prov=We({factory:function(){return new n(Ie(_u),Ie(C9,8),Ie(Xb,8))},token:n,providedIn:"root"}),n})(),fRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Xb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let Mk;function Cc(){return Mk||(Mk=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),Mk}function A9(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var Un=et(1440);const l1="Unknown Euler angle order",Hm=.99999;class Ji extends _x{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(f,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get alpha(){return this[0]}set alpha(e){this[0]=ir(e)}get beta(){return this[1]}set beta(e){this[1]=ir(e)}get gamma(){return this[2]}set gamma(e){this[2]=ir(e)}get phi(){return this[0]}set phi(e){this[0]=ir(e)}get theta(){return this[1]}set theta(e){this[1]=ir(e)}get psi(){return this[2]}set psi(e){this[2]=ir(e)}get roll(){return this[0]}set roll(e){this[0]=ir(e)}get pitch(){return this[1]}set pitch(e){this[1]=ir(e)}get yaw(){return this[2]}set yaw(e){this[2]=ir(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(l1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(l1)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!MRe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var u1=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function FRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Kb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+FRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return P9.copy(o).scale((-i+l)/a).add(t),this.center.copy(P9),this.radius=l,this}expand(e){const t=(e=Qb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Qb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Qb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ZRe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),M9(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const JRe=new Pn,ePe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,tPe=new Pn,nPe=new Pn;class kk{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new k9).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new k9(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new kk(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Nk){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=JRe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=ePe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=tPe.copy(l).add(c).add(u).add(o),f=nPe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const F9=new Pn,L9=new Pn;class Fk{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=F9.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Kb(this.normal.len(),1)),this.distance=r,this}clone(e){return new Fk(this.normal,this.distance)}equals(e){return Kb(this.distance,e.distance)&&Kb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=L9.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=F9.from(e);const i=this.getPointDistance(e),r=L9.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*zk(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,u1.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,u1.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new Fk(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Pn,new Pn,new Pn,new Pn,new Pn,new Zo,new Zo,new Zo;const Ni=Un.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},Un.DataFactory),U9={x:Ni("rdf"),type:Ni("rdf")("type")},qm={x:Ni("rdfs"),label:Ni("rdfs")("label"),comment:Ni("rdfs")("comment"),isDefinedBy:Ni("rdfs")("isDefinedBy"),seeAlso:Ni("rdfs")("seeAlso")},vi={x:Ni("entity"),id:Ni("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Ni("entity")("sex"),age:Ni("entity")("age"),bmi:Ni("entity")("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:Ni("entity")("consortium_name"),providerName:Ni("entity")("provider_name"),providerUUID:Ni("entity")("provider_uuid"),donor:Ni("entity")("has_donor"),sections:Ni("entity")("has_tissue_section"),datasets:Ni("entity")("has_dataset"),sampleType:Ni("entity")("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:Ni("entity")("section_count"),sectionSize:Ni("entity")("section_size"),sectionUnits:Ni("entity")("section_units"),sectionNumber:Ni("entity")("section_number"),spatialEntity:Ni("entity")("has_spatial_entity"),ontologyTerms:Ni("entity")("has_ontology_term"),cellTypeTerms:Ni("entity")("has_cell_type_term"),technology:Ni("entity")("technology"),thumbnail:Ni("entity")("has_thumbnail")},Tn=Ni("ccf"),Fi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Ni("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Ni("uberon"),body:Ni("uberon")("0013702")},PPe={x:Ni("cl"),cell:Ni("cl")("0000000")},Jb={x:Ni("fma")},vd=(Ni("lmha"),{body:di.body,cell:PPe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Jb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Jb.x("24978"),knee_right:Jb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Jb.x("7214"),ovary_right:Jb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function Hk(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const g1={spatialObjectReference:Hk(Fi.spatialObjectReference),spatialEntity:Hk(Fi.spatialEntity),spatialPlacement:Hk(Fi.spatialPlacement)};function z9(n,e){const t=dp(n,e,"ExtractionSet",g1.spatialEntity);return t.extractionSites=(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",g1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",g1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Fi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function BPe(n,e){const t=dp(n,e,"SpatialPlacement",g1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function H9(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class G9{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new wRe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},U9.type,Fi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},U9.type,Fi.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=xRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&H9(r,BPe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,wr.get)(e,"placement[0]",(0,wr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=H9(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(use),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${RRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $9{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set_for,e,null).map(t=>z9(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return z9(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Fi.spatialEntity.reference_organ,null,null),(0,wr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Fi.spatial.Male.id;break;case"Female":t=Fi.spatial.Female.id;break;case"Both":default:t=Fi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Fi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const m1="https://entity.api.hubmapconsortium.org/entities/",W9=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),jPe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},q9={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class HPe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ne=>"Donor"===Ne.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=m1+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},x=[];this.sections=x;const U=[];this.datasets=U;for(const Ne of c.filter(Ve=>"Sample"===Ve.entity_type)){const Ve=this.getSection(Ne,e,i);w[Ne.submission_id]=Ve,x.push(Ve),Ve.section_number=null!==(s=Ve.section_number)&&void 0!==s?s:x.length}for(const Ne of c)if("Dataset"===Ne.entity_type){const Ve=this.getDataset(Ne,t,i,r),bt=(0,wr.get)(Ne,["ingest_metadata","metadata","tissue_id"]);w[bt]?null===(o=w[bt].datasets)||void 0===o||o.push(Ve):U.push(Ve)}const D=null!=h?h:{},ie=`${D.x_dimension} x ${D.y_dimension} x ${D.z_dimension} ${D.dimension_units}`;this.section_count=D.slice_count||x.length;const _e=parseFloat((D.slice_thickness||(D.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=_e;const Pe=D.dimension_units||"millimeter";this.section_units=Pe,this.description=`${ie}, ${_e} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,x.forEach((Ne,Ve)=>{Ne.description=`${D.x_dimension} x ${D.y_dimension} x ${_e} ${Pe}, ${_e} ${Pe}, ${Ne.description}`,Ne.section_number=Ve+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":m1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,wr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":m1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,wr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>W9.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(W9.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=jPe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,wr.toNumber)(s[1]));for(const f of(0,wr.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,wr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,wr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":m1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,wr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,wr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,wr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,wr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const $Pe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],WPe={exists:{field:"rui_location"}};function Y9(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:WPe,_source:{includes:$Pe}})}function Gk(n,e){return Vi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function X9(n,e,t,i,r="",s=""){return Vi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield Gk(n):"search-api"===e&&(o=yield function(n,e,t){return Vi(this,void 0,void 0,function*(){const r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Y9(0,50,t),o=yield Gk(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=50)return o;const l=[];for(let h=50;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,wr.get)(n,"hits.hits",[]).map(c=>(0,wr.get)(c,"_source",{})).map(c=>new HPe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":q9},c)))),{"@context":q9,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function ev(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const ZPe={[Fi.spatialEntity.x_dimension.id]:"x",[Fi.spatialEntity.y_dimension.id]:"y",[Fi.spatialEntity.z_dimension.id]:"z"};function eNe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",ZPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new kk).fromCenterHalfSizeQuaternion(o,a,l)}return s}function tNe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=eNe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function _1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function $k(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function tv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function K9(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(tv(e,i),Fi.spatialEntity.ccf_annotations,s,null)}return i}function Q9(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,Fi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function mNe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Fi.ontologyNode.label.id]:"label",[t]:"parent",[Fi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of zk(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Z9(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=mNe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const J9=(0,wr.memoize)(function(n){const e=Z9(n,vd.body.id,"body",Fi.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),y1={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},bNe=Object.assign(Object.assign({},y1),{[vi.providerName.id]:"providerName"}),vNe=Object.assign(Object.assign({},y1),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),wNe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),ENe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function xNe(n,e){return dp(n,e,"Donor",bNe)}function eq(n,e){return dp(n,e,"Dataset",vNe)}function SNe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of zk(n,e,wNe))if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]=r;return t}class TNe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Vi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const MNe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class DNe{constructor(e=MNe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new G9(this),this.scene=new $9(this)}connect(e,t=!1){return Vi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Vi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield A9(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([i,t]).catch(()=>{}):s=yield A9(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Vi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(X9(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Vi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Vi(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,Un.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Vi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=J9(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,Fi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,Fi.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,Fi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),Fi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Vi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new G9(this),this.scene=new $9(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(tv(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=_1(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(tv(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=_1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$k(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)tNe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=$k(n,u,f=>K9(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=$k(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Fi.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return K9(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,wr.isFinite)(t.ageRange[0])&&(0,wr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,wr.isFinite)(t.bmiRange[0])&&(0,wr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Vi(this,void 0,void 0,function*(){return this.status||(this.status=new TNe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Vi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of zk(n,e,ENe))if("sections"===i){const s=SNe(n,r);t[i].push(s)}else if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]="donor"===i?xNe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t=ev(e,n,vi.donor.id),i=ev(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=ev(e,r,vi.sections.id),o=new Set([...ev(e,r,vi.datasets.id),...ev(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t={};return Q9(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Q9(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,Fi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Vi(this,void 0,void 0,function*(){return J9(this.store)})}getCellTypeTreeModel(){return Vi(this,void 0,void 0,function*(){return function(n){return Z9(n,vd.cell.id,"cell",Fi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Vi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class tq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function RNe(){throw new tq}function PNe(){throw new tq}function Wk(n,e,t){e.run(()=>n.dispatch(t))}function FNe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(Wk(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>Wk(n,e,r)}),t}(n,e,t,i):(Wk(n,e,t),t)}class LNe{constructor(){this.cancelUncompleted$=new oe}cancelPreviousAction(){this.cancelUncompleted$.next()}}const qk="\u0275fac",nq=Symbol("InjectorInstance"),iq=Symbol("FactoryHasBeenDecorated");function rq(n,e){const t=n[nq];return t?t.get(e):null}const jNe={cancelUncompleted:!1};function sq(n=jNe){return(e,t,i)=>{let r;const s=function(n){return n?new LNe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=rq(this,hu)||RNe(),l=rq(this,fn)||PNe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>FNe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(iq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[qk]&&function(n){const e=n[qk];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[nq]=Ce(Vu),r};t&&(t.factory=i),Object.defineProperty(n,qk,{get:()=>i})}(e),n.constructor.prototype[iq]=!0}(e)}}const pke=["bodyCanvas"];let gke=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Vi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Uve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(pke,5,pn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),mke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const _q=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function kke(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),hE("videoId",t.videoID)}}function Fke(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,kke,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function Lke(n,e){if(1&n&&(wt(0,"div",9),wi(1,Fke,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}_q.filter(n=>!0!==n.disabled);let yq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC),Ce(PW))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Cn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,Lke,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[kW,Fm,FW,Yu,ac,UW,zW,WW,KW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),bq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Vke=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Cn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Cn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[kW,Fm,LMe,FW],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Zm=(()=>{let n=class extends ADe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(oW(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(oW(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7()],n.prototype,"config$",null),n=Ei([SDe(),A5({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class vq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let wq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Qk=new oe,iv={cacheBusterObserver:Qk},Jm={cacheBusterObserver:Qk,maxCacheCount:4};function Eq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let qke=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Qk)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},xq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},xq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:Eq(null==n?void 0:n.ageRange,1,110),bmi:Eq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),me(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(Ie(T9),Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(iv)],n.prototype,"getProviderNames",null),Ei([Sc(iv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(iv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(iv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(iv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Jm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Jm)],n.prototype,"getAggregateResults",null),Ei([Sc(Jm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getScene",null),Ei([Sc(Jm)],n.prototype,"getReferenceOrganScene",null),n})(),Yke=(()=>{class n extends vq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Qi(i=>Object.keys(i).length>0),is(i=>function(n,e){return new O(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),me(i=>i.database),Wa(1))}connectDatabase(t,i){return Vi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Xke=(()=>{class n extends Yke{createDatabase(t){return{database:new DNe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Kke=(()=>{class n extends vq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,me(r=>this.selectToken(r)),ld(),me(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Zk=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),Jk=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),eF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var tF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Sq="callToActionPopupShown";let Ro=tF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Sq,`${i}`),s=tF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new Jk)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(yq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(Zke,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Sq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(Ie(kb),Ie(Yb),Ie(wa),Ie(bq),Ie(_u))},Ro.\u0275prov=We({token:Ro,factory:Ro.\u0275fac}),Ei([bP(Zk)],Ro.prototype,"learnMore",null),Ei([bP(Jk)],Ro.prototype,"open",null),Ei([bP(eF)],Ro.prototype,"close",null),Ro=tF=Ei([A5({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let x1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),Zke=(()=>{class n{constructor(){this.close=()=>new eF,this.learnMore=()=>new Zk}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Cn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ps(1,"async"),Ps(2,"async"),Ps(3,"async"),Ps(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[Vke],pipes:[m0],styles:[""],changeDetection:0}),Ei([NS(x1.title)],n.prototype,"title$",void 0),Ei([NS(x1.message)],n.prototype,"message$",void 0),Ei([NS(x1.callToAction)],n.prototype,"callToAction$",void 0),Ei([NS(x1.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([sq()],n.prototype,"close",void 0),Ei([sq()],n.prototype,"learnMore",void 0),n})(),tFe=(()=>{class n{constructor(t){this.source=t,this.organs=_q}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(me(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(Ie(wq))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const nFe=["thumbContainer"],iFe=["toggleBar"],rFe=["input"],sFe=function(n){return{enterDuration:n}},oFe=["*"],aFe=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let lFe=0;const cFe={provide:Xo,useExisting:ge(()=>Cq),multi:!0};class uFe{constructor(e,t){this.source=e,this.checked=t}}const dFe=EC(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Cq=(()=>{class n extends dFe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++lFe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new uFe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(vc),Ce(Mr),yo("tabindex"),Ce(aFe),Ce(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(nFe,5),hr(iFe,5),hr(rFe,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([cFe]),wn],ngContentSelectors:oFe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Cn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Cn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(Vt(),Cs(),n,e,t,i)}(18,sFe,i._noopAnimations?0:150))}},directives:[gu,WP],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Tq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),pFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Tq,Dm,Ui,ZS],Tq,Ui]}),n})(),gFe=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Cn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Cq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const mFe=["bodyUI"],_Fe=function(){return["Male","Female"]},yFe=function(){return["Left","Right"]};let bFe=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Ce(Yb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(mFe,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Li],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Cn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",AE(8,_Fe))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",AE(9,yFe))("value",i.side)("hidden",!i.side))},directives:[gke,gFe],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function vFe(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let wFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,vFe,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function EFe(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function xFe(n,e){if(1&n){const t=wl();wt(0,"div",10),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let SFe=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the CCF Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the CCF Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"CCF Portal",buttonUrl:"https://hubmapconsortium.github.io/ccf/"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.biorxiv.org/content/10.1101/2021.05.31.446440v2"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,EFe,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Common Coordinate Framework (CCF) Deep Dive"),Et(),wt(5,"div",4),wi(6,xFe,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[g9,Yu,m9],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const CFe=["left"],TFe=["right"],AFe=function(){return[]},MFe=[{color:[0,0,0,0],opacity:.001}];let DFe=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(me(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(MFe))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(me(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Ce(tFe),Ce(Yb),Ce(Zm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(CFe,7,pn),hr(TFe,7,pn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Cn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ps(4,"async"),Ps(5,"async"),Ps(6,"async"),Ps(7,"async"),Ps(8,"async"),Ps(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ps(13,"async"),Ps(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:AE(24,AFe)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[bFe,wFe,SFe],pipes:[m0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function IFe(n,e){1&n&&ni(0,"ccf-root")}function OFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=KD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function RFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=KD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let PFe=(()=>{class n extends hie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:OFe,highlightProviders:RFe,useRemoteApi:KD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Ce(Zm),Ce(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[wn],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,IFe,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,DFe],encapsulation:2,changeDetection:0}),n})(),NFe=(()=>{class n extends Kke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?qke:Xke}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),kFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a7,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hs,2),Ie(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const S1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class BFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return S1(n.getHours(),2)+":"+S1(n.getMinutes(),2)+":"+S1(n.getSeconds(),2)+"."+S1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class VFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Aq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let jFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new VFe(this._options),this._store=this._store||this._injector.get(hu);const s=new BFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Aq),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Mq=new Ht("LOGGER_USER_OPTIONS");function UFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let zFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h5,useClass:jFe,multi:!0},{provide:Mq,useValue:t},{provide:Aq,useFactory:UFe,deps:[Mq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const HFe=[Zm];let GFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[kFe.forRoot(),Yo.forRoot(HFe,{developmentMode:!If.production}),zFe.forRoot({disabled:If.production})]]}),n})(),$Fe=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:wq,useExisting:NFe}],imports:[[CW,sRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),fRe.forRoot(()=>new Xb({basePath:If.dbOptions.remoteApiEndpoint})),GFe]]}),n})(),WFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,pFe]]}),n})(),qFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,mke,WFe]]}),n})(),YFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,s1]]}),n})(),XFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),KFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new oie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends lie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(PFe,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[qD,$Fe,YFe,XFe,qFe]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Dne().bootstrapModule(KFe).catch(n=>console.error(n))},1052:Ut=>{function it(yt,ee,Dt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(k){return void Dt(k)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Dt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Dt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},1948:Ut=>{Ut.exports=function(et){return et&&et.__esModule?et:{default:et}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},4321:Ut=>{function it(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(et)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},9082:Ut=>{function it(et){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+et+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=9082,Ut.exports=it},9521:()=>{},9125:()=>{},5307:()=>{}},Ut=>{Ut(Ut.s=2829)}]); \ No newline at end of file +var QFe=Object.defineProperty,ZFe=Object.defineProperties,JFe=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,Iq=Object.prototype.hasOwnProperty,Oq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Rq=(Ut,it,et)=>it in Ut?QFe(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:et}):Ut[it]=et,ot=(Ut,it)=>{for(var et in it||(it={}))Iq.call(it,et)&&Rq(Ut,et,it[et]);if(C1)for(var et of C1(it))Oq.call(it,et)&&Rq(Ut,et,it[et]);return Ut},xn=(Ut,it)=>ZFe(Ut,JFe(it)),Pq=(Ut,it)=>{var et={};for(var yt in Ut)Iq.call(Ut,yt)&&it.indexOf(yt)<0&&(et[yt]=Ut[yt]);if(null!=Ut&&C1)for(var yt of C1(Ut))it.indexOf(yt)<0&&Oq.call(Ut,yt)&&(et[yt]=Ut[yt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Ut,it,et)=>{var yt=et(1052).default;Ut.exports=function Y(Se,he,W){function j(H,v){if(!he[H]){if(!Se[H]){if(k)return k(H,!0);var R=new Error("Cannot find module '"+H+"'");throw R.code="MODULE_NOT_FOUND",R}var T=he[H]={exports:{}};Se[H][0].call(T.exports,function(b){return j(Se[H][1][b]||b)},T,T.exports,Y,Se,he,W)}return he[H].exports}for(var k=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){qe=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ue-4:ue;for($=0;$>16&255,O[K++]=P>>8&255,O[K++]=255&P;return 2===I&&(P=j[z.charCodeAt($)]<<2|j[z.charCodeAt($+1)]>>4,O[K++]=255&P),1===I&&(P=j[z.charCodeAt($)]<<10|j[z.charCodeAt($+1)]<<4|j[z.charCodeAt($+2)]>>2,O[K++]=P>>8&255,O[K++]=255&P),O},he.fromByteArray=function(z){for(var P,X=z.length,ue=X%3,I=[],O=16383,K=0,E=X-ue;KE?E:K+O));return 1===ue?I.push(W[(P=z[X-1])>>2]+W[P<<4&63]+"=="):2===ue&&I.push(W[(P=(z[X-2]<<8)+z[X-1])>>10]+W[P>>4&63]+W[P<<2&63]+"="),I.join("")};for(var W=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H=0,v=Q.length;H0)throw new Error("Invalid string. Length must be a multiple of 4");var X=z.indexOf("=");return-1===X&&(X=P),[X,X===P?0:4-X%4]}function y(z){return W[z>>18&63]+W[z>>12&63]+W[z>>6&63]+W[63&z]}function S(z,P,X){for(var I=[],O=P;O>5==6?2:I>>4==14?3:I>>3==30?4:I>>6==2?-1:-2}function T(I){var O=this.lastTotal-this.lastNeed,K=function(I,O,K){if(128!=(192&O[0]))return I.lastNeed=0,"\ufffd";if(I.lastNeed>1&&O.length>1){if(128!=(192&O[1]))return I.lastNeed=1,"\ufffd";if(I.lastNeed>2&&O.length>2&&128!=(192&O[2]))return I.lastNeed=2,"\ufffd"}}(this,I);return void 0!==K?K:this.lastNeed<=I.length?(I.copy(this.lastChar,O,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(I.copy(this.lastChar,O,0,I.length),void(this.lastNeed-=I.length))}function S(I,O){if((I.length-O)%2==0){var K=I.toString("utf16le",O);if(K){var E=K.charCodeAt(K.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1],K.slice(0,-1)}return K}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=I[I.length-1],I.toString("utf16le",O,I.length-1)}function A(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):O}function z(I,O){var K=(I.length-O)%3;return 0===K?I.toString("base64",O):(this.lastNeed=3-K,this.lastTotal=3,1===K?this.lastChar[0]=I[I.length-1]:(this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1]),I.toString("base64",O,I.length-K))}function P(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("base64",0,3-this.lastNeed):O}function X(I){return I.toString(this.encoding)}function ue(I){return I&&I.length?this.write(I):""}he.StringDecoder=H,H.prototype.write=function(I){if(0===I.length)return"";var O,K;if(this.lastNeed){if(void 0===(O=this.fillLast(I)))return"";K=this.lastNeed,this.lastNeed=0}else K=0;return K=0?($>0&&(I.lastNeed=$-1),$):--E=0?($>0&&(I.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:I.lastNeed=$-3),$):0}(this,I,O);if(!this.lastNeed)return I.toString("utf8",O);this.lastTotal=K;var E=I.length-(K-this.lastNeed);return I.copy(this.lastChar,0,E),I.toString("utf8",O,E)},H.prototype.fillLast=function(I){if(this.lastNeed<=I.length)return I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,I.length),this.lastNeed-=I.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),k=Y("ieee754");he.Buffer=C,he.SlowBuffer=function(B){return+B!=B&&(B=0),C.alloc(+B)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(B){if(B>Q)throw new RangeError('The value "'+B+'" is invalid for option "size"');var N=new Uint8Array(B);return N.__proto__=C.prototype,N}function C(B,N,V){if("number"==typeof B){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(B)}return R(B,N,V)}function R(B,N,V){if("string"==typeof B)return function(B,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!C.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var V=0|I(B,N),Re=v(V),Ze=Re.write(B,N);return Ze!==V&&(Re=Re.slice(0,Ze)),Re}(B,N);if(ArrayBuffer.isView(B))return A(B);if(null==B)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(pt(B,ArrayBuffer)||B&&pt(B.buffer,ArrayBuffer))return function(B,N,V){if(N<0||B.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|B}function I(B,N){if(C.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||pt(B,ArrayBuffer))return B.byteLength;if("string"!=typeof B)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);var V=B.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===V)return 0;for(var Ze=!1;;)switch(N){case"ascii":case"latin1":case"binary":return V;case"utf8":case"utf-8":return G(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*V;case"hex":return V>>>1;case"base64":return je(B).length;default:if(Ze)return Re?-1:G(B).length;N=(""+N).toLowerCase(),Ze=!0}}function O(B,N,V){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===V||V>this.length)&&(V=this.length),V<=0)||(V>>>=0)<=(N>>>=0))return"";for(B||(B="utf8");;)switch(B){case"hex":return tt(this,N,V);case"utf8":case"utf-8":return ye(this,N,V);case"ascii":return st(this,N,V);case"latin1":case"binary":return Qe(this,N,V);case"base64":return ne(this,N,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,N,V);default:if(Re)throw new TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Re=!0}}function K(B,N,V){var Re=B[N];B[N]=B[V],B[V]=Re}function E(B,N,V,Re,Ze){if(0===B.length)return-1;if("string"==typeof V?(Re=V,V=0):V>2147483647?V=2147483647:V<-2147483648&&(V=-2147483648),we(V=+V)&&(V=Ze?0:B.length-1),V<0&&(V=B.length+V),V>=B.length){if(Ze)return-1;V=B.length-1}else if(V<0){if(!Ze)return-1;V=0}if("string"==typeof N&&(N=C.from(N,Re)),C.isBuffer(N))return 0===N.length?-1:$(B,N,V,Re,Ze);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Ze?Uint8Array.prototype.indexOf.call(B,N,V):Uint8Array.prototype.lastIndexOf.call(B,N,V):$(B,[N],V,Re,Ze);throw new TypeError("val must be string, number or Buffer")}function $(B,N,V,Re,Ze){var Yn,Tt=1,kt=B.length,In=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(B.length<2||N.length<2)return-1;Tt=2,kt/=2,In/=2,V/=2}function Nn(Ls,fs){return 1===Tt?Ls[fs]:Ls.readUInt16BE(fs*Tt)}if(Ze){var Mi=-1;for(Yn=V;Ynkt&&(V=kt-In),Yn=V;Yn>=0;Yn--){for(var xi=!0,Xr=0;XrZe&&(Re=Ze):Re=Ze;var Tt=N.length;Re>Tt/2&&(Re=Tt/2);for(var kt=0;kt>8,Tt.push(V%256),Tt.push(Re);return Tt}(N,B.length-V),B,V,Re)}function ne(B,N,V){return j.fromByteArray(0===N&&V===B.length?B:B.slice(N,V))}function ye(B,N,V){V=Math.min(B.length,V);for(var Re=[],Ze=N;Ze239?4:Tt>223?3:Tt>191?2:1;if(Ze+In<=V)switch(In){case 1:Tt<128&&(kt=Tt);break;case 2:128==(192&(Nn=B[Ze+1]))&&(xi=(31&Tt)<<6|63&Nn)>127&&(kt=xi);break;case 3:Yn=B[Ze+2],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&(xi=(15&Tt)<<12|(63&Nn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=B[Ze+2],Mi=B[Ze+3],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&Tt)<<18|(63&Nn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Re.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Re.push(kt),Ze+=In}return function(B){var N=B.length;if(N<=4096)return String.fromCharCode.apply(String,B);for(var V="",Re=0;ReV&&(N+=" ... "),""},C.prototype.compare=function(N,V,Re,Ze,Tt){if(pt(N,Uint8Array)&&(N=C.from(N,N.offset,N.byteLength)),!C.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===V&&(V=0),void 0===Re&&(Re=N?N.length:0),void 0===Ze&&(Ze=0),void 0===Tt&&(Tt=this.length),V<0||Re>N.length||Ze<0||Tt>this.length)throw new RangeError("out of range index");if(Ze>=Tt&&V>=Re)return 0;if(Ze>=Tt)return-1;if(V>=Re)return 1;if(this===N)return 0;for(var kt=(Tt>>>=0)-(Ze>>>=0),In=(Re>>>=0)-(V>>>=0),Nn=Math.min(kt,In),Yn=this.slice(Ze,Tt),Mi=N.slice(V,Re),xi=0;xi>>=0,isFinite(Re)?(Re>>>=0,void 0===Ze&&(Ze="utf8")):(Ze=Re,Re=void 0)}var Tt=this.length-V;if((void 0===Re||Re>Tt)&&(Re=Tt),N.length>0&&(Re<0||V<0)||V>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");for(var kt=!1;;)switch(Ze){case"hex":return Z(this,N,V,Re);case"utf8":case"utf-8":return ae(this,N,V,Re);case"ascii":return oe(this,N,V,Re);case"latin1":case"binary":return te(this,N,V,Re);case"base64":return Te(this,N,V,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,V,Re);default:if(kt)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(B,N,V){var Re="";V=Math.min(B.length,V);for(var Ze=N;ZeRe)&&(V=Re);for(var Ze="",Tt=N;TtV)throw new RangeError("Trying to access beyond buffer length")}function Le(B,N,V,Re,Ze,Tt){if(!C.isBuffer(B))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Ze||NB.length)throw new RangeError("Index out of range")}function Ke(B,N,V,Re,Ze,Tt){if(V+Re>B.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("Index out of range")}function Me(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,4),k.write(B,N,V,Re,23,4),V+4}function Ue(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,8),k.write(B,N,V,Re,52,8),V+8}C.prototype.slice=function(N,V){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(V=void 0===V?Re:~~V)<0?(V+=Re)<0&&(V=0):V>Re&&(V=Re),V>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N+--V],Tt=1;V>0&&(Tt*=256);)Ze+=this[N+--V]*Tt;return Ze},C.prototype.readUInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),this[N]},C.prototype.readUInt16LE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]|this[N+1]<<8},C.prototype.readUInt16BE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]<<8|this[N+1]},C.prototype.readUInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},C.prototype.readUInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},C.prototype.readIntLE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt=(Tt*=128)&&(Ze-=Math.pow(2,8*V)),Ze},C.prototype.readIntBE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=V,Tt=1,kt=this[N+--Ze];Ze>0&&(Tt*=256);)kt+=this[N+--Ze]*Tt;return kt>=(Tt*=128)&&(kt-=Math.pow(2,8*V)),kt},C.prototype.readInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},C.prototype.readInt16LE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt16BE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},C.prototype.readInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},C.prototype.readFloatLE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!0,23,4)},C.prototype.readFloatBE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!1,23,4)},C.prototype.readDoubleLE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!0,52,8)},C.prototype.readDoubleBE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!1,52,8)},C.prototype.writeUIntLE=function(N,V,Re,Ze){N=+N,V>>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=1,In=0;for(this[V]=255&N;++In>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=Re-1,In=1;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)this[V+kt]=N/In&255;return V+Re},C.prototype.writeUInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,255,0),this[V]=255&N,V+1},C.prototype.writeUInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeUInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeUInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V+3]=N>>>24,this[V+2]=N>>>16,this[V+1]=N>>>8,this[V]=255&N,V+4},C.prototype.writeUInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeIntLE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=0,In=1,Nn=0;for(this[V]=255&N;++kt>0)-Nn&255;return V+Re},C.prototype.writeIntBE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=Re-1,In=1,Nn=0;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)N<0&&0===Nn&&0!==this[V+kt+1]&&(Nn=1),this[V+kt]=(N/In>>0)-Nn&255;return V+Re},C.prototype.writeInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,127,-128),N<0&&(N=255+N+1),this[V]=255&N,V+1},C.prototype.writeInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),this[V]=255&N,this[V+1]=N>>>8,this[V+2]=N>>>16,this[V+3]=N>>>24,V+4},C.prototype.writeInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeFloatLE=function(N,V,Re){return Me(this,N,V,!0,Re)},C.prototype.writeFloatBE=function(N,V,Re){return Me(this,N,V,!1,Re)},C.prototype.writeDoubleLE=function(N,V,Re){return Ue(this,N,V,!0,Re)},C.prototype.writeDoubleBE=function(N,V,Re){return Ue(this,N,V,!1,Re)},C.prototype.copy=function(N,V,Re,Ze){if(!C.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ze&&0!==Ze&&(Ze=this.length),V>=N.length&&(V=N.length),V||(V=0),Ze>0&&Ze=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),N.length-V=0;--kt)N[kt+V]=this[kt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Ze),V);return Tt},C.prototype.fill=function(N,V,Re,Ze){if("string"==typeof N){if("string"==typeof V?(Ze=V,V=0,Re=this.length):"string"==typeof Re&&(Ze=Re,Re=this.length),void 0!==Ze&&"string"!=typeof Ze)throw new TypeError("encoding must be a string");if("string"==typeof Ze&&!C.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(1===N.length){var Tt=N.charCodeAt(0);("utf8"===Ze&&Tt<128||"latin1"===Ze)&&(N=Tt)}}else"number"==typeof N&&(N&=255);if(V<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(kt=V;kt55295&&V<57344){if(!Ze){if(V>56319){(N-=3)>-1&&Tt.push(239,191,189);continue}if(kt+1===Re){(N-=3)>-1&&Tt.push(239,191,189);continue}Ze=V;continue}if(V<56320){(N-=3)>-1&&Tt.push(239,191,189),Ze=V;continue}V=65536+(Ze-55296<<10|V-56320)}else Ze&&(N-=3)>-1&&Tt.push(239,191,189);if(Ze=null,V<128){if((N-=1)<0)break;Tt.push(V)}else if(V<2048){if((N-=2)<0)break;Tt.push(V>>6|192,63&V|128)}else if(V<65536){if((N-=3)<0)break;Tt.push(V>>12|224,V>>6&63|128,63&V|128)}else{if(!(V<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;Tt.push(V>>18|240,V>>12&63|128,V>>6&63|128,63&V|128)}}return Tt}function je(B){return j.toByteArray(function(B){if((B=(B=B.split("=")[0]).trim().replace(qe,"")).length<2)return"";for(;B.length%4!=0;)B+="=";return B}(B))}function _t(B,N,V,Re){for(var Ze=0;Ze=N.length||Ze>=B.length);++Ze)N[Ze+V]=B[Ze];return Ze}function pt(B,N){return B instanceof N||null!=B&&null!=B.constructor&&null!=B.constructor.name&&B.constructor.name===N.name}function we(B){return B!=B}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((k,Q,H)=>k+(0===H?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((k,Q,H)=>void 0===j[Q]||"symbol"==typeof j[Q]?k:k+(0===k.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var k,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,ae){return Function.prototype.apply.call($,Z,ae)};k=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var H=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,ae){function oe(Te){E.removeListener($,te),ae(Te)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",oe),Z([].slice.call(arguments))}K(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&K(E,"error",$,Z)}(E,oe,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var C=10;function R(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function T(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,ae){var oe,te,Te;if(R(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Te=te[$]),void 0===Te)Te=te[$]=Z,++E._eventsCount;else if("function"==typeof Te?Te=te[$]=ae?[Z,Te]:[Te,Z]:ae?Te.unshift(Z):Te.push(Z),(oe=T(E))>0&&Te.length>oe&&!Te.warned){Te.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Te.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Te.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var ae={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},oe=y.bind(ae);return oe.listener=Z,ae.wrapFn=oe,oe}function A(E,$,Z){var ae=E._events;if(void 0===ae)return[];var oe=ae[$];return void 0===oe?[]:"function"==typeof oe?Z?[oe.listener||oe]:[oe]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(oe):P(oe,oe.length)}function z(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function P(E,$){for(var Z=new Array($),ae=0;ae<$;++ae)Z[ae]=E[ae];return Z}function K(E,$,Z,ae){if("function"==typeof E.on)ae.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function oe(te){ae.once&&E.removeEventListener($,oe),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return C},set:function(E){if("number"!=typeof E||E<0||H(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");C=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||H($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return T(this)},v.prototype.emit=function($){for(var Z=[],ae=1;ae0&&(Te=Z[0]),Te instanceof Error)throw Te;var me=new Error("Unhandled error."+(Te?" ("+Te.message+")":""));throw me.context=Te,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var ye=ne.length,Oe=P(ne,ye);for(ae=0;ae=0;Te--)if(ae[Te]===Z||ae[Te].listener===Z){me=ae[Te].listener,te=Te;break}if(te<0)return this;0===te?ae.shift():function(E,$){for(;$+1=0;oe--)this.removeListener($,Z[oe]);return this},v.prototype.listeners=function($){return A(this,$,!0)},v.prototype.rawListeners=function($){return A(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):z.call(E,$)},v.prototype.listenerCount=z,v.prototype.eventNames=function(){return this._eventsCount>0?k(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,k,Q,H){var v,C,R=8*H-Q-1,T=(1<>1,y=-7,S=k?H-1:0,A=k?-1:1,z=W[j+S];for(S+=A,v=z&(1<<-y)-1,z>>=-y,y+=R;y>0;v=256*v+W[j+S],S+=A,y-=8);for(C=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;C=256*C+W[j+S],S+=A,y-=8);if(0===v)v=1-b;else{if(v===T)return C?NaN:1/0*(z?-1:1);C+=Math.pow(2,Q),v-=b}return(z?-1:1)*C*Math.pow(2,v-Q)},he.write=function(W,j,k,Q,H,v){var C,R,T,b=8*v-H-1,y=(1<>1,A=23===H?Math.pow(2,-24)-Math.pow(2,-77):0,z=Q?0:v-1,P=Q?1:-1,X=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(R=isNaN(j)?1:0,C=y):(C=Math.floor(Math.log(j)/Math.LN2),j*(T=Math.pow(2,-C))<1&&(C--,T*=2),(j+=C+S>=1?A/T:A*Math.pow(2,1-S))*T>=2&&(C++,T/=2),C+S>=y?(R=0,C=y):C+S>=1?(R=(j*T-1)*Math.pow(2,H),C+=S):(R=j*Math.pow(2,S-1)*Math.pow(2,H),C=0));H>=8;W[k+z]=255&R,z+=P,R/=256,H-=8);for(C=C<0;W[k+z]=255&C,z+=P,C/=256,b-=8);W[k+z-P]|=128*X}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,k){k&&(j.super_=k,j.prototype=Object.create(k.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,k){if(k){j.super_=k;var Q=function(){};Q.prototype=k.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:k}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:H}=Y("./url"),v=Y("./JsonLdError"),C=Y("./ResolvedContext");function T(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const A=y["@context"];if(k(A))y["@context"]=H(S,A);else if(W(A))for(let z=0;z10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(P.has(A))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:A});let X,ue;P.add(A);try{ue=yield z(A),X=ue.document||null,k(X)&&(X=JSON.parse(X))}catch(I){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:A,cause:I})}if(!j(X))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:A});return X="@context"in X?{"@context":X["@context"]}:{"@context":{}},ue.contextUrl&&(W(X["@context"])||(X["@context"]=[X["@context"]]),X["@context"].push(ue.contextUrl)),{context:X,remoteDoc:ue}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",k="jsonld.Error",Q={}){super(j),this.name=k,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(k,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(k,Q)},j.expand=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(k)},j.flatten=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(k)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const k=this;return k._loader=j,function(){return k.add.apply(k,arguments)}}add(j){var k=this;return yt(function*(){let Q=k._requests[j];if(Q)return Promise.resolve(Q);Q=k._requests[j]=k._loader(j);try{return yield Q}finally{delete k._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,H){this.cache.set(Q,H)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isString:Q,isUndefined:H}=Y("./types"),{isList:v,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{removeBase:X,prependBase:ue}=Y("./url"),{addValue:I,asArray:O,compareShortestLeast:K}=Y("./util"),E={};function Z(ae,oe,te){if("@nest"!==y(ae,oe,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var ae=yt(function*({activeCtx:oe,activeProperty:te=null,element:Te,options:me={},compactionMap:ne=(()=>{})}){if(j(Te)){let Oe=[];for(let $e=0;$e1&&(tt=Array.from(tt).sort());const Xe=oe;for(const Le of tt){const Ke=E.compactIri({activeCtx:Xe,iri:Le,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");H(Me)||(oe=yield z({activeCtx:oe,localCtx:Me,options:me,propagate:!1}))}const ze=Object.keys(Te).sort();for(const Le of ze){const Ke=Te[Le];if("@id"!==Le)if("@type"!==Le)if("@reverse"!==Le)if("@preserve"!==Le)if("@index"!==Le)if("@graph"!==Le&&"@list"!==Le&&"@included"!==Le&&A(Le)){const Me=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:oe,iri:Le,value:Ke,relativeTo:{vocab:!0},reverse:Oe}),Ue=oe.mappings.has(Me)?oe.mappings.get(Me)["@nest"]:null;let qe=$e;Ue&&(Z(oe,Ue,me),k($e[Ue])||($e[Ue]={}),qe=$e[Ue]),I(qe,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ue=E.compactIri({activeCtx:oe,iri:Le,value:Me,relativeTo:{vocab:!0},reverse:Oe}),qe=oe.mappings.has(Ue)?oe.mappings.get(Ue)["@nest"]:null;let ke=$e;qe&&(Z(oe,qe,me),k($e[qe])||($e[qe]={}),ke=$e[qe]);const q=S(oe,Ue,"@container")||[],G=R(Me),pe=v(Me);let de;pe?de=Me["@list"]:G&&(de=Me["@graph"]);let je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:pe||G?de:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){I(ke,Ue,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:oe,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&T(Me))){let _t;ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}});I(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&T(Me)?(j(je)&&je.length>1&&(je={"@included":je}),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:oe,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={},q.includes("@language"))C(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const we=S(oe,Ue,"@index")||"@index",B=E.compactIri({activeCtx:oe,iri:we,relativeTo:{vocab:!0}});if("@index"===we)pt=Me["@index"],delete je[B];else{let N;if([pt,...N]=O(je[we]||[]),Q(pt))switch(N.length){case 0:delete je[we];break;case 1:je[we]=N[0];break;default:je[we]=N}else pt=null}}else if(q.includes("@id")){const we=E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}});pt=je[we],delete je[we]}else if(q.includes("@type")){const we=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}});let B;switch([pt,...B]=O(je[we]||[]),B.length){case 0:delete je[we];break;case 1:je[we]=B[0];break;default:je[we]=B}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}})),I(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===Le||"@graph"===Le;I(ke,Ue,je,{propertyIsArray:_t})}}}else{if((S(oe,te,"@container")||[]).includes("@index"))continue;const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Ke)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||I($e,Le,Me)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ue in Me)if(oe.mappings.has(Ue)&&oe.mappings.get(Ue).reverse){const qe=Me[Ue],q=(S(oe,Ue,"@container")||[]).includes("@set")||!me.compactArrays;I($e,Ue,qe,{propertyIsArray:q}),delete Me[Ue]}if(Object.keys(Me).length>0){const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Me)}}else{let Me=O(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ue=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}}),q=(S(oe,Ue,"@container")||[]).includes("@set")&&P(oe,1.1)||j(Me)&&0===Ke.length;I($e,Ue,Me,{propertyIsArray:q})}else{let Me=O(Ke).map(qe=>E.compactIri({activeCtx:oe,iri:qe,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),$e[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return $e}return Te});return function(oe){return ae.apply(this,arguments)}}(),E.compactIri=({activeCtx:ae,iri:oe,value:te=null,relativeTo:Te={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===oe)return oe;ae.isPropertyTermScoped&&ae.previousContext&&(ae=ae.previousContext);const ye=ae.getInverse();if(A(oe)&&oe in ye&&"@none"in ye[oe]&&"@type"in ye[oe]["@none"]&&"@none"in ye[oe]["@none"]["@type"])return ye[oe]["@none"]["@type"]["@none"];if(Te.vocab&&oe in ye){const tt=ae["@language"]||"@none",Xe=[];k(te)&&"@index"in te&&!("@graph"in te)&&Xe.push("@index","@index@set"),k(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Xe.push("@graph@id","@graph@id@set"),Xe.push("@graph","@graph@set","@set"),"@index"in te||Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Xe.push("@graph@id","@graph@id@set")):k(te)&&!C(te)&&Xe.push("@id","@id@set","@type","@set@type");let ze="@language",Le="@null";if(me)ze="@type",Le="@reverse",Xe.push("@set");else if(v(te)){"@index"in te||Xe.push("@list");const Me=te["@list"];if(0===Me.length)ze="@any",Le="@none";else{let Ue=0===Me.length?tt:null,qe=null;for(let ke=0;kest.includes("_"));$e&&ye.push($e.replace(/^[^_]+_/,"_"))}ye.push("@none");const Oe=ae.inverse[oe];for(const $e of Te){if(!($e in Oe))continue;const st=Oe[$e][me];for(const Qe of ye)if(Qe in st)return st[Qe]}return null}(ae,oe,te,Xe,ze,Le);if(null!==Ke)return Ke}if(Te.vocab&&"@vocab"in ae){const tt=ae["@vocab"];if(0===oe.indexOf(tt)&&oe!==tt){const Xe=oe.substr(tt.length);if(!ae.mappings.has(Xe))return Xe}}let Oe=null;const $e=[];let st=ae.fastCurieMap;const Qe=oe.length-1;for(let tt=0;tt=0;--tt){const Xe=$e[tt],ze=Xe.terms;for(const Le of ze){const Ke=Le+":"+oe.substr(Xe.iri.length);ae.mappings.get(Le)._prefix&&(!ae.mappings.has(Ke)||null===te&&ae.mappings.get(Ke)["@id"]===oe)&&(null===Oe||K(Ke,Oe)<0)&&(Oe=Ke)}}if(null!==Oe)return Oe;for(const[tt,Xe]of ae.mappings)if(Xe&&Xe._prefix&&oe.startsWith(tt+":"))throw new W(`Absolute IRI "${oe}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ae});return Te.vocab?oe:"@base"in ae?ae["@base"]?X(ue(ne,ae["@base"]),oe):oe:X(ne,oe)},E.compactValue=({activeCtx:ae,activeProperty:oe,value:te,options:Te})=>{if(C(te)){const Oe=S(ae,oe,"@type"),$e=S(ae,oe,"@language"),st=S(ae,oe,"@direction"),Qe=S(ae,oe,"@container")||[],tt="@index"in te&&!Qe.includes("@index");if(!tt&&"@none"!==Oe&&(te["@type"]===Oe||"@language"in te&&te["@language"]===$e&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===$e||"@direction"in te&&te["@direction"]===st))return te["@value"];const Xe=Object.keys(te).length,ze=1===Xe||2===Xe&&"@index"in te&&!tt,Le="@language"in ae,Ke=Q(te["@value"]),Me=ae.mappings.has(oe)&&null===ae.mappings.get(oe)["@language"];if(ze&&"@none"!==Oe&&(!Le||!Ke||Me))return te["@value"];const Ue={};return tt&&(Ue[E.compactIri({activeCtx:ae,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[E.compactIri({activeCtx:ae,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:ae,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[E.compactIri({activeCtx:ae,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const me=y(ae,oe,{vocab:!0},Te),ne=S(ae,oe,"@type"),ye=E.compactIri({activeCtx:ae,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Te.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?ye:{[E.compactIri({activeCtx:ae,iri:"@id",relativeTo:{vocab:!0}})]:ye}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:k,isObject:Q,isString:H,isUndefined:v}=Y("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,z=/^@[a-zA-Z]+$/,P={};function X(I,O,K,E,$,Z){if(null===O||!H(O)||P.isKeyword(O))return O;if(O.match(z))return null;if(E&&E.hasOwnProperty(O)&&!0!==$.get(O)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:O,defined:$,options:Z}),(K=K||{}).vocab){const oe=I.mappings.get(O);if(null===oe)return null;if(Q(oe)&&"@id"in oe)return oe["@id"]}const ae=O.indexOf(":");if(ae>0){const oe=O.substr(0,ae),te=O.substr(ae+1);if("_"===oe||0===te.indexOf("//"))return O;E&&E.hasOwnProperty(oe)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:oe,defined:$,options:Z});const Te=I.mappings.get(oe);if(Te&&Te._prefix)return Te["@id"]+te;if(C(O))return O}if(K.vocab&&"@vocab"in I)return I["@vocab"]+O;if(K.base&&"@base"in I){if(I["@base"])return T(T(Z.base,I["@base"]),O)}else if(K.base)return T(Z.base,O);return O}function ue(I,O){if(!I||"object"!=typeof I||!O||"object"!=typeof O)return I===O;const K=Array.isArray(I);if(K!==Array.isArray(O))return!1;if(K){if(I.length!==O.length)return!1;for(let Z=0;Z{if(E.has(K)){if(E.get(K))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:O,term:K})}let ae;if(E.set(K,!1),O.hasOwnProperty(K)&&(ae=O[K]),"@type"===K&&Q(ae)&&"@set"===(ae["@container"]||"@set")&&P.processingMode(I,1.1)){const Oe=["@container","@id","@protected"],$e=Object.keys(ae);if(0===$e.length||$e.some(st=>!Oe.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K})}else{if(P.isKeyword(K))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K});if(K.match(z))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:K});if(""===K)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:O})}const oe=I.mappings.get(K);I.mappings.has(K)&&I.mappings.delete(K);let te=!1;if((H(ae)||null===ae)&&(te=!0,ae={"@id":ae}),!Q(ae))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:O});const Te={};I.mappings.set(K,Te),Te.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];P.processingMode(I,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Oe in ae)if(!me.includes(Oe))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Oe,"jsonld.SyntaxError",{code:"invalid term definition",context:O});const ne=K.indexOf(":");if(Te._termHasColon=ne>0,"@reverse"in ae){if("@id"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});if("@nest"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});const Oe=ae["@reverse"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));const $e=X(I,Oe,{vocab:!0,base:!1},O,E,$);if(!C($e))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=$e,Te.reverse=!0}else if("@id"in ae){let Oe=ae["@id"];if(Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(null===Oe)Te["@id"]=null;else{if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));if(Oe!==K){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe)&&!P.isKeyword(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(K.match(/(?::[^:])|\//)&&X(I,K,{vocab:!0,base:!1},O,new Map(E).set(K,!0),$)!==Oe)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=Oe,Te._prefix=te&&!Te._termHasColon&&Oe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Te))if(Te._termHasColon){const Oe=K.substr(0,ne);if(O.hasOwnProperty(Oe)&&P.createTermDefinition({activeCtx:I,localCtx:O,term:Oe,defined:E,options:$}),I.mappings.has(Oe)){const $e=K.substr(ne+1);Te["@id"]=I.mappings.get(Oe)["@id"]+$e}else Te["@id"]=K}else if("@type"===K)Te["@id"]=K;else{if(!("@vocab"in I))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O,term:K});Te["@id"]=I["@vocab"]+K}if((!0===ae["@protected"]||!0===E.get("@protected")&&!1!==ae["@protected"])&&(I.protected[K]=!0,Te.protected=!0),E.set(K,!0),"@type"in ae){let Oe=ae["@type"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if("@json"===Oe||"@none"===Oe){if(P.processingMode(I,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Oe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else if("@id"!==Oe&&"@vocab"!==Oe){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if(0===Oe.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}Te["@type"]=Oe}if("@container"in ae){const Oe=H(ae["@container"])?[ae["@container"]]:ae["@container"]||[],$e=["@list","@set","@index","@language"];let st=!0;const Qe=Oe.includes("@set");if(P.processingMode(I,1.1)){if($e.push("@graph","@id","@type"),Oe.includes("@list")){if(1!==Oe.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else if(Oe.includes("@graph")){if(Oe.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else st&=Oe.length<=(Qe?2:1);if(Oe.includes("@type")&&(Te["@type"]=Te["@type"]||"@id",!["@id","@vocab"].includes(Te["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else st&=!k(ae["@container"]),st&=Oe.length<=1;if(st&=Oe.every(tt=>$e.includes(tt)),st&=!(Qe&&Oe.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+$e.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:O});if(Te.reverse&&!Oe.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});Te["@container"]=Oe}if("@index"in ae){if(!("@container"in ae)||!Te["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});if(!H(ae["@index"])||0===ae["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});Te["@index"]=ae["@index"]}if("@context"in ae&&(Te["@context"]=ae["@context"]),"@language"in ae&&!("@type"in ae)){let Oe=ae["@language"];if(null!==Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:O});null!==Oe&&(Oe=Oe.toLowerCase()),Te["@language"]=Oe}if("@prefix"in ae){if(K.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:O});if(P.isKeyword(Te["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:O});if("boolean"!=typeof ae["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:O});Te._prefix=!0===ae["@prefix"]}if("@direction"in ae){const Oe=ae["@direction"];if(null!==Oe&&"ltr"!==Oe&&"rtl"!==Oe)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:O});Te["@direction"]=Oe}if("@nest"in ae){const Oe=ae["@nest"];if(!H(Oe)||"@nest"!==Oe&&0===Oe.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:O});Te["@nest"]=Oe}const ye=Te["@id"];if("@context"===ye||"@preserve"===ye)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:O});if(oe&&oe.protected&&!Z&&(I.protected[K]=!0,Te.protected=!0,!ue(oe,Te))){const Oe=$&&$.protectedMode||"error";if("error"===Oe)throw new j(`Invalid JSON-LD syntax; tried to redefine "${K}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:O,term:K});if("warn"===Oe)return void console.warn("WARNING: protected term redefinition",{term:K});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:O,term:K,protectedMode:Oe})}},P.expandIri=(I,O,K,E)=>X(I,O,K,void 0,void 0,E),P.getInitialContext=I=>{const O=JSON.stringify({processingMode:I.processingMode}),K=S.get(O);if(K)return K;const E={processingMode:I.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Te=this;if(Te.inverse)return Te.inverse;const me=Te.inverse={},ne=Te.fastCurieMap={},ye={},Oe=(Te["@language"]||"@none").toLowerCase(),$e=Te["@direction"],st=Te.mappings,Qe=[...st.keys()].sort(y);for(const tt of Qe){const Xe=st.get(tt);if(null===Xe)continue;let ze=Xe["@container"]||"@none";if(ze=[].concat(ze).sort().join(""),null===Xe["@id"])continue;const Le=b(Xe["@id"]);for(const Ke of Le){let Me=me[Ke];const Ue=P.isKeyword(Ke);if(Me)!Ue&&!Xe._termHasColon&&ye[Ke].push(tt);else if(me[Ke]=Me={},!Ue&&!Xe._termHasColon){ye[Ke]=[tt];const qe={iri:Ke,terms:ye[Ke]};Ke[0]in ne?ne[Ke[0]].push(qe):ne[Ke[0]]=[qe]}if(Me[ze]||(Me[ze]={"@language":{},"@type":{},"@any":{}}),Me=Me[ze],ae(tt,Me["@any"],"@none"),Xe.reverse)ae(tt,Me["@type"],"@reverse");else if("@none"===Xe["@type"])ae(tt,Me["@any"],"@none"),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none");else if("@type"in Xe)ae(tt,Me["@type"],Xe["@type"]);else if("@language"in Xe&&"@direction"in Xe){const qe=Xe["@language"],ke=Xe["@direction"];ae(tt,Me["@language"],qe&&ke?`${qe}_${ke}`.toLowerCase():qe?qe.toLowerCase():ke?`_${ke}`:"@null")}else"@language"in Xe?ae(tt,Me["@language"],(Xe["@language"]||"@null").toLowerCase()):"@direction"in Xe?ae(tt,Me["@language"],Xe["@direction"]?`_${Xe["@direction"]}`:"@none"):$e?(ae(tt,Me["@language"],`_${$e}`),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none")):(ae(tt,Me["@language"],Oe),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Te={};return Te.mappings=W.clone(this.mappings),Te.clone=this.clone,Te.inverse=null,Te.getInverse=this.getInverse,Te.protected=W.clone(this.protected),this.previousContext&&(Te.previousContext=this.previousContext.clone()),Te.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Te["@base"]=this["@base"]),"@language"in this&&(Te["@language"]=this["@language"]),"@vocab"in this&&(Te["@vocab"]=this["@vocab"]),Te},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(O,E),E;function Z(Te,me,ne){const ye=Te[me],Oe=Te[me]={};let $e,st;for(const Qe of ye)$e=Qe.iri,st=ne>=$e.length?"":$e[ne],st in Oe?Oe[st].push(Qe):Oe[st]=[Qe];for(const Qe in Oe)""!==Qe&&Z(Oe,Qe,ne+1)}function ae(Te,me,ne){me.hasOwnProperty(ne)||(me[ne]=Te)}},P.getContextValue=(I,O,K)=>{if(null===O)return"@context"===K?void 0:null;if(I.mappings.has(O)){const E=I.mappings.get(O);if(v(K))return E;if(E.hasOwnProperty(K))return E[K]}return"@language"===K&&K in I||"@direction"===K&&K in I?I[K]:"@context"!==K?null:void 0},P.processingMode=(I,O)=>O.toString()>="1.1"?!I.processingMode||I.processingMode>="json-ld-"+O.toString():"json-ld-1.0"===I.processingMode,P.isKeyword=I=>{if(!H(I)||"@"!==I[0])return!1;switch(I){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:k}=Y("../constants"),Q=Y("../JsonLdError"),H=Y("../RequestQueue"),{prependBase:v}=Y("../url"),C=/(^|(\r\n))link:/i;function R(T,b,y){const S=new(T=T||XMLHttpRequest);return new Promise((A,z)=>{S.onload=()=>A(S),S.onerror=P=>z(P),S.open("GET",b,!0);for(const P in y)S.setRequestHeader(P,y[P]);S.send()})}Se.exports=({secure:T,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new H).wrapLoader(A);function A(P){return z.apply(this,arguments)}function z(){return(z=yt(function*(P){if(0!==P.indexOf("http:")&&0!==P.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:P});if(T&&0!==P.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:P});let X;try{X=yield R(y,P,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:P,cause:E})}if(X.status>=400)throw new Q("URL could not be dereferenced: "+X.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:P,httpStatusCode:X.status});let ue={contextUrl:null,documentUrl:P,document:X.response},I=null;const O=X.getResponseHeader("Content-Type");let K;if(C.test(X.getAllResponseHeaders())&&(K=X.getResponseHeader("Link")),K&&"application/ld+json"!==O){const E=W(K),$=E[k];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:P});$&&(ue.contextUrl=$.target),I=E.alternate,I&&"application/ld+json"==I.type&&!(O||"").match(/^application\/(\w*\+)?json$/)&&(ue=yield A(v(P,I.target)))}return ue})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isEmptyObject:Q,isString:H,isUndefined:v}=Y("./types"),{isList:C,isValue:R,isGraph:T,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{isAbsolute:X}=Y("./url"),{addValue:ue,asArray:I,getValues:O,validateTypeValue:K}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return ae.apply(this,arguments)}function ae(){return(ae=yt(function*({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:$e,expandedParent:st,options:Qe={},insideList:tt,typeKey:Xe,typeScopedContext:ze,expansionMap:Le}){const Ke=Object.keys($e).sort(),Me=[];let Ue;const qe=$e[Xe]&&"@json"===y(ne,j($e[Xe])?$e[Xe][0]:$e[Xe],{vocab:!0},Qe);for(const ke of Ke){let G,q=$e[ke];if("@context"===ke)continue;let pe=y(ne,ke,{vocab:!0},Qe);if((null===pe||!X(pe)&&!A(pe))&&(pe=Le({unmappedProperty:ke,activeCtx:ne,activeProperty:ye,parent:$e,options:Qe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(A(pe)){if("@reverse"===Oe)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!H(q)){if(!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(k(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>H(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ue(st,"@id",I(q).map(pt=>H(pt)?y(ne,pt,{base:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@type"===pe){k(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,we])=>[y(ze,pt,{vocab:!0}),I(we).map(B=>y(ze,B,{base:!0,vocab:!0}))]))),K(q,Qe.isFrame),ue(st,"@type",I(q).map(pt=>H(pt)?y(ze,pt,{base:!0,vocab:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@included"===pe&&P(ne,1.1)){const pt=I(yield E.expand({activeCtx:ne,activeProperty:ye,element:q,options:Qe,expansionMap:Le}));if(!pt.every(we=>b(we)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ue(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!k(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ue=q,qe&&P(ne,1.1)?st["@value"]=q:ue(st,"@value",q,{propertyIsArray:Qe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=I(q).map(pt=>H(pt)?pt.toLowerCase():pt);for(const pt of q)H(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ue(st,"@language",q,{propertyIsArray:Qe.isFrame});continue}if("@direction"===pe){if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=I(q);for(const pt of q)if(H(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ue(st,"@direction",q,{propertyIsArray:Qe.isFrame});continue}if("@index"===pe){if(!H(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ue(st,"@index",q);continue}if("@reverse"===pe){if(!k(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Qe,expansionMap:Le}),"@reverse"in G)for(const we in G["@reverse"])ue(st,we,G["@reverse"][we],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const we in G){if("@reverse"===we)continue;null===pt&&(pt=st["@reverse"]={}),ue(pt,we,[],{propertyIsArray:!0});const B=G[we];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=I(G).map(pt=>({"@graph":I(pt)}))),de.mappings.has(ke)&&de.mappings.get(ke).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=I(G);for(let we=0;we"@value"===y(ne,pe,{vocab:!0},Qe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:G,expandedParent:st,options:Qe,insideList:tt,typeScopedContext:ze,typeKey:Xe,expansionMap:Le})}}})).apply(this,arguments)}function oe({activeCtx:ne,activeProperty:ye,value:Oe,options:$e}){if(null==Oe)return null;const st=y(ne,ye,{vocab:!0},$e);if("@id"===st)return y(ne,Oe,{base:!0},$e);if("@type"===st)return y(ne,Oe,{vocab:!0,base:!0},$e);const Qe=S(ne,ye,"@type");if(("@id"===Qe||"@graph"===st)&&H(Oe))return{"@id":y(ne,Oe,{base:!0},$e)};if("@vocab"===Qe&&H(Oe))return{"@id":y(ne,Oe,{vocab:!0,base:!0},$e)};if(A(st))return Oe;const tt={};if(Qe&&!["@id","@vocab","@none"].includes(Qe))tt["@type"]=Qe;else if(H(Oe)){const Xe=S(ne,ye,"@language");null!==Xe&&(tt["@language"]=Xe);const ze=S(ne,ye,"@direction");null!==ze&&(tt["@direction"]=ze)}return["boolean","number","string"].includes(typeof Oe)||(Oe=Oe.toString()),tt["@value"]=Oe,tt}function te(ne,ye,Oe,$e){const st=[],Qe=Object.keys(ye).sort();for(const tt of Qe){const Xe=y(ne,tt,{vocab:!0},$e);let ze=ye[tt];j(ze)||(ze=[ze]);for(const Le of ze){if(null===Le)continue;if(!H(Le))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ye});const Ke={"@value":Le};"@none"!==Xe&&(Ke["@language"]=tt.toLowerCase()),Oe&&(Ke["@direction"]=Oe),st.push(Ke)}}return st}function Te(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:ye,activeProperty:Oe,value:$e,expansionMap:st,asGraph:Qe,indexKey:tt,propertyIndex:Xe}){const ze=[],Le=Object.keys($e).sort(),Ke="@type"===tt;for(let Me of Le){if(Ke){const ke=S(ne,Me,"@context");v(ke)||(ne=yield z({activeCtx:ne,localCtx:ke,propagate:!1,options:ye}))}let qe,Ue=$e[Me];j(Ue)||(Ue=[Ue]),Ue=yield E.expand({activeCtx:ne,activeProperty:Oe,element:Ue,options:ye,insideList:!1,insideIndex:!0,expansionMap:st}),qe=Xe?"@none"===Me?"@none":oe({activeCtx:ne,activeProperty:tt,value:Me,options:ye}):y(ne,Me,{vocab:!0},ye),"@id"===tt?Me=y(ne,Me,{base:!0},ye):Ke&&(Me=qe);for(let ke of Ue){if(Qe&&!T(ke)&&(ke={"@graph":[ke]}),"@type"===tt)"@none"===qe||(ke["@type"]=ke["@type"]?[Me].concat(ke["@type"]):[Me]);else{if(R(ke)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:ke});Xe?"@none"!==qe&&ue(ke,Xe,qe,{propertyIsArray:!0,prependValue:!0}):"@none"!==qe&&!(tt in ke)&&(ke[tt]=Me)}ze.push(ke)}}return ze})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:ye,activeProperty:Oe=null,element:$e,options:st={},insideList:Qe=!1,insideIndex:tt=!1,typeScopedContext:Xe=null,expansionMap:ze=(()=>{})}){if(null==$e)return null;if("@default"===Oe&&(st=Object.assign({},st,{isFrame:!1})),!j($e)&&!k($e)){if(!Qe&&(null===Oe||"@graph"===y(ye,Oe,{vocab:!0},st))){const G=yield ze({unmappedValue:$e,activeCtx:ye,activeProperty:Oe,options:st,insideList:Qe});return void 0===G?null:G}return oe({activeCtx:ye,activeProperty:Oe,value:$e,options:st})}if(j($e)){let G=[];const pe=S(ye,Oe,"@container")||[];Qe=Qe||pe.includes("@list");for(let de=0;de<$e.length;++de){let je=yield E.expand({activeCtx:ye,activeProperty:Oe,element:$e[de],options:st,expansionMap:ze,insideIndex:tt,typeScopedContext:Xe});Qe&&j(je)&&(je={"@list":je}),(null!==je||(je=yield ze({unmappedValue:$e[de],activeCtx:ye,activeProperty:Oe,parent:$e,index:de,options:st,expandedParent:G,insideList:Qe}),void 0!==je))&&(j(je)?G=G.concat(je):G.push(je))}return G}const Le=y(ye,Oe,{vocab:!0},st),Ke=S(ye,Oe,"@context");Xe=Xe||(ye.previousContext?ye:null);let Me=Object.keys($e).sort(),Ue=!tt;if(Ue&&Xe&&Me.length<=2&&!Me.includes("@context"))for(const G of Me){const pe=y(Xe,G,{vocab:!0},st);if("@value"===pe){Ue=!1,ye=Xe;break}if("@id"===pe&&1===Me.length){Ue=!1;break}}Ue&&(ye=ye.revertToPreviousContext()),v(Ke)||(ye=yield z({activeCtx:ye,localCtx:Ke,propagate:!0,overrideProtected:!0,options:st})),"@context"in $e&&(ye=yield z({activeCtx:ye,localCtx:$e["@context"],options:st})),Xe=ye;let qe=null;for(const G of Me)if("@type"===y(ye,G,{vocab:!0},st)){qe=qe||G;const de=$e[G],je=Array.isArray(de)?de.length>1?de.slice().sort():de:[de];for(const _t of je){const pt=S(Xe,_t,"@context");v(pt)||(ye=yield z({activeCtx:ye,localCtx:pt,options:st,propagate:!1}))}}let ke={};yield Z({activeCtx:ye,activeProperty:Oe,expandedActiveProperty:Le,element:$e,expandedParent:ke,options:st,insideList:Qe,typeKey:qe,typeScopedContext:Xe,expansionMap:ze}),Me=Object.keys(ke);let q=Me.length;if("@value"in ke){if("@type"in ke&&("@language"in ke||"@direction"in ke))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});let G=q-1;if("@type"in ke&&(G-=1),"@index"in ke&&(G-=1),"@language"in ke&&(G-=1),"@direction"in ke&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});const pe=null===ke["@value"]?[]:I(ke["@value"]),de=O(ke,"@type");if(!P(ye,1.1)||!de.includes("@json")||1!==de.length)if(0===pe.length){const je=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==je?je:null}else{if(!pe.every(je=>H(je)||Q(je))&&"@language"in ke)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ke});if(!de.every(je=>X(je)&&!(H(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ke})}}else if("@type"in ke&&!j(ke["@type"]))ke["@type"]=[ke["@type"]];else if("@set"in ke||"@list"in ke){if(q>1&&(2!==q||!("@index"in ke)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ke});"@set"in ke&&(ke=ke["@set"],Me=Object.keys(ke),q=Me.length)}else if(1===q&&"@language"in ke){const G=yield ze(ke,{unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}if(k(ke)&&!st.keepFreeFloatingNodes&&!Qe&&(null===Oe||"@graph"===Le)&&(0===q||"@value"in ke||"@list"in ke||1===q&&"@id"in ke)){const G=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}return ke});return function(ye){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),k={};Se.exports=k,k.flatten=Q=>{const H=j(Q),v=[],C=Object.keys(H).sort();for(let R=0;R=0;--ae){const oe=Z[ae];if(oe.graph===$&&oe.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const ae="@"+Z;let oe=ae in E?E[ae][0]:$[Z];if("embed"===Z)if(!0===oe)oe="@once";else if(!1===oe)oe="@never";else if("@always"!==oe&&"@never"!==oe&&"@link"!==oe&&"@first"!==oe&&"@last"!==oe&&"@once"!==oe)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return oe}function A(E){if(!k.isArray(E)||1!==E.length||!k.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function P(E,$,Z,ae){let oe=!0,te=!1;for(const Te in Z){let me=!1;const ne=Q.getValues($,Te),ye=0===Q.getValues(Z,Te).length;if("@id"===Te){if(k.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!ae.requireAll)return me}else if("@type"===Te){if(oe=!1,ye){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&k.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Oe of Z["@type"])me=!(!k.isObject(Oe)||!("@default"in Oe))||me||ne.some($e=>$e===Oe);if(!ae.requireAll)return me}else{if(W(Te))continue;{const Oe=Q.getValues(Z,Te)[0];let $e=!1;if(Oe&&(A([Oe]),$e="@default"in Oe),oe=!1,0===ne.length&&$e)continue;if(ne.length>0&&ye)return!1;if(void 0===Oe){if(ne.length>0)return!1;me=!0}else if(j.isList(Oe)){const st=Oe["@list"][0];if(j.isList(ne[0])){const Qe=ne[0]["@list"];j.isValue(st)?me=Qe.some(tt=>K(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Qe.some(tt=>O(E,st,tt,ae)))}}else me=j.isValue(Oe)?ne.some(st=>K(Oe,st)):j.isSubjectReference(Oe)?ne.some(st=>O(E,Oe,st,ae)):!!k.isObject(Oe)&&ne.length>0}}if(!me&&ae.requireAll)return!1;te=te||me}return oe||te}function X(E,$){const Z=E.uniqueEmbeds[E.graph],ae=Z[$],oe=ae.parent,te=ae.property,Te={"@id":$};if(k.isArray(oe)){for(let ne=0;ne{const ye=Object.keys(Z);for(const Oe of ye)Oe in Z&&k.isObject(Z[Oe].parent)&&Z[Oe].parent["@id"]===ne&&(delete Z[Oe],me(Oe))};me($)}function ue(E,$){if(k.isArray(E))return E.map(Z=>ue(Z,$));if(k.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ue(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ue(E[Z],$)}return E}function I(E,$,Z){k.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function O(E,$,Z,ae){if(!("@id"in Z))return!1;const oe=E.subjects[Z["@id"]];return oe&&P(E,oe,$,ae)}function K(E,$){const Z=$["@value"],ae=$["@type"],oe=$["@language"],te=E["@value"]?k.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Te=E["@type"]?k.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?k.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Te.length&&0===me.length||!(!te.includes(Z)&&!k.isEmptyObject(te[0])||!(!ae&&0===Te.length||Te.includes(ae)||ae&&k.isEmptyObject(Te[0]))||!(!oe&&0===me.length||me.includes(oe)||oe&&k.isEmptyObject(me[0])))}Se.exports=T,T.frameMergedOrDefault=(E,$,Z)=>{const ae={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},oe=new Q.IdentifierIssuer("_:b");C(E,ae.graphMap,"@default",oe),Z.merged&&(ae.graphMap["@merged"]=R(ae.graphMap),ae.graph="@merged"),ae.subjects=ae.graphMap[ae.graph];const te=[];return T.frame(ae,Object.keys(ae.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(ae.bnodeMap).filter(Te=>1===ae.bnodeMap[Te].length)),Z.link={},ue(te,Z)},T.frame=(E,$,Z,ae,oe=null)=>{A(Z);const te=E.options,Te={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,ae){const oe={};for(const te of $){const Te=E.graphMap[E.graph][te];P(E,Te,Z,ae)&&(oe[te]=Te)}return oe}(E,$,Z,Te),ye=Object.keys(ne).sort();for(const Oe of ye){const $e=ne[Oe];if(null===oe?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Te.embed&&Oe in me){I(ae,oe,me[Oe]);continue}const st={"@id":Oe};if(0===Oe.indexOf("_:")&&Q.addValue(E.bnodeMap,Oe,st,{propertyIsArray:!0}),me[Oe]=st,("@first"===Te.embed||"@last"===Te.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){if(E.embedded&&("@never"===Te.embed||y($e,E.graph,E.subjectStack))){I(ae,oe,st);continue}if(E.embedded&&("@first"==Te.embed||"@once"==Te.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){I(ae,oe,st);continue}if("@last"===Te.embed&&Oe in E.uniqueEmbeds[E.graph]&&X(E,Oe),E.uniqueEmbeds[E.graph][Oe]={parent:ae,property:oe},E.subjectStack.push({subject:$e,graph:E.graph}),Oe in E.graphMap){let Qe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Qe=!("@merged"===Oe||"@default"===Oe),k.isObject(tt)||(tt={})):(Qe="@merged"!==E.graph,tt={}),Qe&&T.frame(xn(ot({},E),{graph:Oe,embedded:!1}),Object.keys(E.graphMap[Oe]).sort(),[tt],st,"@graph")}"@included"in Z&&T.frame(xn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Qe of Object.keys($e).sort())if(W(Qe)){if(st[Qe]=Q.clone($e[Qe]),"@type"===Qe)for(const tt of $e["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Te.explicit||Qe in Z)for(const tt of $e[Qe]){const Xe=Qe in Z?Z[Qe]:b(Te);if(j.isList(tt)){const ze=Z[Qe]&&Z[Qe][0]&&Z[Qe][0]["@list"]?Z[Qe][0]["@list"]:b(Te),Le={"@list":[]};I(st,Qe,Le);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?T.frame(xn(ot({},E),{embedded:!0}),[Me["@id"]],ze,Le,"@list"):I(Le,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?T.frame(xn(ot({},E),{embedded:!0}),[tt["@id"]],Xe,st,Qe):K(Xe[0],tt)&&I(st,Qe,Q.clone(tt))}for(const Qe of Object.keys(Z).sort()){if("@type"===Qe){if(!k.isObject(Z[Qe][0])||!("@default"in Z[Qe][0]))continue}else if(W(Qe))continue;const tt=Z[Qe][0]||{};if(!S(tt,te,"omitDefault")&&!(Qe in st)){let ze="@null";"@default"in tt&&(ze=Q.clone(tt["@default"])),k.isArray(ze)||(ze=[ze]),st[Qe]=[{"@preserve":ze}]}}for(const Qe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Qe];for(const Xe of Object.keys(E.subjects))Q.getValues(E.subjects[Xe],Qe).some(Le=>Le["@id"]===Oe)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Qe,[],{propertyIsArray:!0}),T.frame(xn(ot({},E),{embedded:!0}),[Xe],tt,st["@reverse"][Qe],oe))}I(ae,oe,st),E.subjectStack.pop()}}},T.cleanupNull=(E,$)=>{if(k.isArray(E))return E.map(ae=>T.cleanupNull(ae,$)).filter(ae=>ae);if("@null"===E)return null;if(k.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=T.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),{RDF_LIST:H,RDF_FIRST:v,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:A,XSD_STRING:z}=Y("./constants"),P=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,X={};function ue(I,O,K){if(I.termType.endsWith("Node"))return{"@id":I.value};const E={"@value":I.value};if(I.language)E["@language"]=I.language;else{let $=I.datatype.value;if($||($=z),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(O){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(k.isNumeric(E["@value"]))if($===A){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,A,S,z].includes($)||(E["@type"]=$)}else if("i18n-datatype"===K&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,ae]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(P)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=ae}else $!==z&&(E["@type"]=$)}return E}Se.exports=X,X.fromRDF=function(){var I=yt(function*(O,{useRdfType:K=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},ae={"@default":Z},oe={};for(const me of O){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in ae||(ae[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const ye=ae[ne],Oe=me.subject.value,$e=me.predicate.value,st=me.object;Oe in ye||(ye[Oe]={"@id":Oe});const Qe=ye[Oe],tt=st.termType.endsWith("Node");if(tt&&!(st.value in ye)&&(ye[st.value]={"@id":st.value}),$e===T&&!K&&tt){Q.addValue(Qe,"@type",st.value,{propertyIsArray:!0});continue}const Xe=ue(st,E,$);if(Q.addValue(Qe,$e,Xe,{propertyIsArray:!0}),tt)if(st.value===R){const ze=ye[st.value];"usages"in ze||(ze.usages=[]),ze.usages.push({node:Qe,property:$e,value:Xe})}else oe[st.value]=!(st.value in oe)&&{node:Qe,property:$e,value:Xe}}for(const me in ae){const ne=ae[me];if(!(R in ne))continue;const ye=ne[R];if(ye.usages){for(let Oe of ye.usages){let $e=Oe.node,st=Oe.property,Qe=Oe.value;const tt=[],Xe=[];let ze=Object.keys($e).length;for(;st===C&&k.isObject(oe[$e["@id"]])&&k.isArray($e[v])&&1===$e[v].length&&k.isArray($e[C])&&1===$e[C].length&&(3===ze||4===ze&&k.isArray($e["@type"])&&1===$e["@type"].length&&$e["@type"][0]===H)&&(tt.push($e[v][0]),Xe.push($e["@id"]),Oe=oe[$e["@id"]],$e=Oe.node,st=Oe.property,Qe=Oe.value,ze=Object.keys($e).length,j.isBlankNode($e)););delete Qe["@id"],Qe["@list"]=tt.reverse();for(const Le of Xe)delete ne[Le]}delete ye.usages}}const te=[],Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me];if(me in ae){const ye=ne["@graph"]=[],Oe=ae[me],$e=Object.keys(Oe).sort();for(const st of $e){const Qe=Oe[st];j.isSubjectReference(Qe)||ye.push(Qe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(O,K){return I.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=k=>!(!W.isObject(k)||"@value"in k||"@set"in k||"@list"in k)&&(Object.keys(k).length>1||!("@id"in k)),j.isSubjectReference=k=>W.isObject(k)&&1===Object.keys(k).length&&"@id"in k,j.isValue=k=>W.isObject(k)&&"@value"in k,j.isList=k=>W.isObject(k)&&"@list"in k,j.isGraph=k=>W.isObject(k)&&"@graph"in k&&1===Object.keys(k).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=k=>j.isGraph(k)&&!("@id"in k),j.isBlankNode=k=>!!W.isObject(k)&&("@id"in k?0===k["@id"].indexOf("_:"):0===Object.keys(k).length||!("@value"in k||"@set"in k||"@list"in k))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),k=Y("./util"),Q=Y("./ContextResolver"),H=k.IdentifierIssuer,v=Y("./JsonLdError"),C=Y("lru-cache"),R=Y("./NQuads"),{expand:T}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:A,cleanupNull:z}=Y("./frame"),{isArray:P,isObject:X,isString:ue}=Y("./types"),{isSubjectReference:I}=Y("./graphTypes"),{expandIri:O,getInitialContext:K,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:ae}=Y("./compact"),{createNodeMap:oe,createMergedNodeMap:te,mergeNodeMaps:Te}=Y("./nodeMap"),me=function(ye){const Oe={},st=new C({max:100});function Qe(tt,Le){var Ke=Le,{documentLoader:Xe=ye.documentLoader}=Ke,ze=Pq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Xe},ze,tt)}return ye.compact=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===ze)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Xe)return null;let Ke;(Le=Qe(Le,{base:ue(Xe)?Xe:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new H("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(Le.skipExpansion=!0),Le.compactToRelative||delete Le.base,Ke=Le.skipExpansion?Xe:yield ye.expand(Xe,Le);const Me=yield ye.processContext(K(Le),ze,Le);let Ue=yield Z({activeCtx:Me,element:Ke,options:Le,compactionMap:Le.compactionMap});Le.compactArrays&&!Le.graph&&P(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):Le.graph&&X(Ue)&&(Ue=[Ue]),X(ze)&&"@context"in ze&&(ze=ze["@context"]),ze=k.clone(ze),P(ze)||(ze=[ze]);const qe=ze;ze=[];for(let q=0;q0)&&ze.push(qe[q]);const ke=ze.length>0;if(1===ze.length&&(ze=ze[0]),P(Ue)){const q=ae({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ue;Ue={},ke&&(Ue["@context"]=ze),Ue[q]=G}else if(X(Ue)&&ke){const q=Ue;Ue={"@context":ze};for(const G in q)Ue[G]=q[G]}return Ue});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.expand=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(ze=Qe(ze,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(ze.expansionMap=void 0);const Le={},Ke=[];if("expandContext"in ze){const ke=k.clone(ze.expandContext);Le.expandContext=X(ke)&&"@context"in ke?ke:{"@context":ke},Ke.push(Le.expandContext)}let Me;if(ue(Xe)){const ke=yield ye.get(Xe,ze);Me=ke.documentUrl,Le.input=ke.document,ke.contextUrl&&(Le.remoteContext={"@context":ke.contextUrl},Ke.push(Le.remoteContext))}else Le.input=k.clone(Xe);"base"in ze||(ze.base=Me||"");let Ue=K(ze);for(const ke of Ke)Ue=yield E({activeCtx:Ue,localCtx:ke,options:ze});let qe=yield T({activeCtx:Ue,element:Le.input,options:ze,expansionMap:ze.expansionMap});return X(qe)&&"@graph"in qe&&1===Object.keys(qe).length?qe=qe["@graph"]:null===qe&&(qe=[]),P(qe)||(qe=[qe]),qe});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.flatten=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Ke=yield ye.expand(Xe,Le),Me=b(Ke);return null===ze?Me:(Le.graph=!0,Le.skipExpansion=!0,yield ye.compact(Me,ze,Le))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.frame=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Le=Qe(Le,{base:ue(Xe)?Xe:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ue(ze)){const de=yield ye.get(ze,Le);if(ze=de.document,de.contextUrl){let je=ze["@context"];je?P(je)?je.push(de.contextUrl):je=[je,de.contextUrl]:je=de.contextUrl,ze["@context"]=je}}const Ke=ze&&ze["@context"]||{},Me=yield ye.processContext(K(Le),Ke,Le);Le.hasOwnProperty("omitGraph")||(Le.omitGraph=$(Me,1.1)),Le.hasOwnProperty("pruneBlankNodeIdentifiers")||(Le.pruneBlankNodeIdentifiers=$(Me,1.1));const Ue=yield ye.expand(Xe,Le),qe=ot({},Le);qe.isFrame=!0,qe.keepFreeFloatingNodes=!0;const ke=yield ye.expand(ze,qe),q=Object.keys(ze).map(de=>O(Me,de,{vocab:!0}));qe.merged=!q.includes("@graph"),qe.is11=$(Me,1.1);const G=A(Ue,ke,qe);qe.graph=!Le.omitGraph,qe.skipExpansion=!0,qe.link={},qe.framing=!0;let pe=yield ye.compact(G,Ke,qe);return qe.link={},pe=z(pe,qe),pe});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.link=function(){var tt=yt(function*(Xe,ze,Le){const Ke={};return ze&&(Ke["@context"]=ze),Ke["@embed"]="@link",ye.frame(Xe,Ke,Le)});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.normalize=ye.canonize=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(ze=Qe(ze,{base:ue(Xe)?Xe:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==ze.inputFormat&&"application/nquads"!==ze.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=R.parse(Xe);return W.canonize(Me,ze)}const Le=ot({},ze);delete Le.format,Le.produceGeneralizedRdf=!1;const Ke=yield ye.toRDF(Xe,Le);return W.canonize(Ke,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.fromRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");ze=Qe(ze,{format:ue(Xe)?"application/n-quads":void 0});const{format:Le}=ze;let{rdfParser:Ke}=ze;if(Le){if(Ke=Ke||Oe[Le],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:Le})}else Ke=()=>Xe;const Me=yield Ke(Xe);return y(Me,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.toRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Le;Le=(ze=Qe(ze,{base:ue(Xe)?Xe:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Xe:yield ye.expand(Xe,ze);const Ke=S(Le,ze);if(ze.format){if("application/n-quads"===ze.format||"application/nquads"===ze.format)return R.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:ze.format})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.createNodeMap=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");ze=Qe(ze,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Le=yield ye.expand(Xe,ze);return te(Le,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.merge=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!P(Xe))throw new TypeError('Could not merge, "docs" must be an array.');ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Xe.map(de=>{const je=ot({},Le);return ye.expand(de,je)}));let Me=!0;"mergeNodes"in Le&&(Me=Le.mergeNodes);const Ue=Le.issuer||new H("_:b"),qe={"@default":{}};for(let de=0;deye._documentLoader,set:tt=>ye._documentLoader=tt}),ye.documentLoader=function(){var tt=yt(function*(Xe){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Xe})});return function(Xe){return tt.apply(this,arguments)}}(),ye.get=function(){var tt=yt(function*(Xe,ze){let Le;Le="function"==typeof ze.documentLoader?ze.documentLoader:ye.documentLoader;const Ke=yield Le(Xe);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ue(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.processContext=function(){var tt=yt(function*(Xe,ze,Le){return Le=Qe(Le,{base:"",contextResolver:new Q({sharedCache:st})}),null===ze?K(Le):(ze=k.clone(ze),X(ze)&&"@context"in ze||(ze={"@context":ze}),E({activeCtx:Xe,localCtx:ze,options:Le}))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.getContextValue=Y("./context").getContextValue,ye.documentLoaders={},ye.useDocumentLoader=function(tt){if(!(tt in ye.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});ye.documentLoader=ye.documentLoaders[tt].apply(ye,Array.prototype.slice.call(arguments,1))},ye.registerRDFParser=function(tt,Xe){Oe[tt]=Xe},ye.unregisterRDFParser=function(tt){delete Oe[tt]},ye.registerRDFParser("application/n-quads",R.parse),ye.registerRDFParser("application/nquads",R.parse),ye.url=Y("./url"),ye.util=k,Object.assign(ye,k),ye.promises=ye,ye.RequestQueue=Y("./RequestQueue"),ye.JsonLdProcessor=Y("./JsonLdProcessor")(ye),j.setupGlobals(ye),j.setupDocumentLoaders(ye),ye},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),H=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(C,b,"@default",T),v.mergeNodeMaps(b)},v.createNodeMap=(C,R,T,b,y,S)=>{if(k.isArray(C)){for(const X of C)v.createNodeMap(X,R,T,b,void 0,S);return}if(!k.isObject(C))return void(S&&S.push(C));if(j.isValue(C)){if("@type"in C){let X=C["@type"];0===X.indexOf("_:")&&(C["@type"]=X=b.getId(X))}return void(S&&S.push(C))}if(S&&j.isList(C)){const X=[];return v.createNodeMap(C["@list"],R,T,b,y,X),void S.push({"@list":X})}if("@type"in C){const X=C["@type"];for(const ue of X)0===ue.indexOf("_:")&&b.getId(ue)}k.isUndefined(y)&&(y=j.isBlankNode(C)?b.getId(C["@id"]):C["@id"]),S&&S.push({"@id":y});const A=R[T],z=A[y]=A[y]||{};z["@id"]=y;const P=Object.keys(C).sort();for(let X of P){if("@id"===X)continue;if("@reverse"===X){const I={"@id":y},O=C["@reverse"];for(const K in O){const E=O[K];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,R,T,b,Z),Q.addValue(A[Z],K,I,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===X){y in R||(R[y]={}),v.createNodeMap(C[X],R,y,b);continue}if("@included"===X){v.createNodeMap(C[X],R,T,b);continue}if("@type"!==X&&W(X)){if("@index"===X&&X in z&&(C[X]!==z[X]||C[X]["@id"]!==z[X]["@id"]))throw new H("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:z});z[X]=C[X];continue}const ue=C[X];if(0===X.indexOf("_:")&&(X=b.getId(X)),0!==ue.length)for(let I of ue)if("@type"===X&&(I=0===I.indexOf("_:")?b.getId(I):I),j.isSubject(I)||j.isSubjectReference(I)){if("@id"in I&&!I["@id"])continue;const O=j.isBlankNode(I)?b.getId(I["@id"]):I["@id"];Q.addValue(z,X,{"@id":O},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(I,R,T,b,O)}else if(j.isValue(I))Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(I)){const O=[];v.createNodeMap(I["@list"],R,T,b,y,O),I={"@list":O},Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(I,R,T,b,y),Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(z,X,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const b of Object.keys(C[T]).sort()){const y=C[T][b];b in R||(R[b]={"@id":b});const S=R[b];for(const A of Object.keys(y).sort())if(W(A)&&"@type"!==A)S[A]=Q.clone(y[A]);else for(const z of y[A])Q.addValue(S,A,Q.clone(z),{propertyIsArray:!0,allowDuplicate:!1})}return R},v.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const b of T){if("@default"===b)continue;const y=C[b];let S=R[b];S?"@graph"in S||(S["@graph"]=[]):R[b]=S={"@id":b,"@graph":[]};const A=S["@graph"];for(const z of Object.keys(y).sort()){const P=y[z];j.isSubjectReference(P)||A.push(P)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(k){"undefined"!=typeof XMLHttpRequest&&(k.documentLoaders.xhr=W,k.useDocumentLoader("xhr"))},j.setupGlobals=function(k){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:k.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),k=Y("./graphTypes"),Q=Y("canonicalize"),H=Y("./types"),v=Y("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:A,XSD_DOUBLE:z,XSD_INTEGER:P,XSD_STRING:X}=Y("./constants"),{isAbsolute:ue}=Y("./url"),I={};function O($,Z,ae,oe,te){const Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me],ye=Object.keys(ne).sort();for(let Oe of ye){const $e=ne[Oe];if("@type"===Oe)Oe=b;else if(j(Oe))continue;for(const st of $e){const Qe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ue(me))continue;const tt={termType:Oe.startsWith("_:")?"BlankNode":"NamedNode",value:Oe};if(!ue(Oe)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Xe=E(st,oe,$,ae,te.rdfDirection);Xe&&$.push({subject:Qe,predicate:tt,object:Xe,graph:ae})}}}}function E($,Z,ae,oe,te){const Te={};if(k.isValue($)){Te.termType="Literal",Te.value=void 0,Te.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Te.value=Q(me),Te.datatype.value=y):H.isBoolean(me)?(Te.value=me.toString(),Te.datatype.value=ne||A):H.isDouble(me)||ne===z?(H.isDouble(me)||(me=parseFloat(me)),Te.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Te.datatype.value=ne||z):H.isNumber(me)?(Te.value=me.toFixed(0),Te.datatype.value=ne||P):"i18n-datatype"===te&&"@direction"in $?(Te.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Te.value=me):"@language"in $?(Te.value=me,Te.datatype.value=ne||S,Te.language=$["@language"]):(Te.value=me,Te.datatype.value=ne||X)}else if(k.isList($)){const me=function($,Z,ae,oe,te){const Te={termType:"NamedNode",value:C},me={termType:"NamedNode",value:R},ne={termType:"NamedNode",value:T},ye=$.pop(),Oe=ye?{termType:"BlankNode",value:Z.getId()}:ne;let $e=Oe;for(const st of $){const Qe=E(st,Z,ae,oe,te),tt={termType:"BlankNode",value:Z.getId()};ae.push({subject:$e,predicate:Te,object:Qe,graph:oe}),ae.push({subject:$e,predicate:me,object:tt,graph:oe}),$e=tt}if(ye){const st=E(ye,Z,ae,oe,te);ae.push({subject:$e,predicate:Te,object:st,graph:oe}),ae.push({subject:$e,predicate:me,object:ne,graph:oe})}return Oe}($["@list"],Z,ae,oe,te);Te.termType=me.termType,Te.value=me.value}else{const me=H.isObject($)?$["@id"]:$;Te.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Te.value=me}return"NamedNode"!==Te.termType||ue(Te.value)?Te:null}Se.exports=I,I.toRDF=($,Z)=>{const ae=new v.IdentifierIssuer("_:b"),oe={"@default":{}};W($,oe,"@default",ae);const te=[],Te=Object.keys(oe).sort();for(const me of Te){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ue(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}O(te,oe[me],ne,ae,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,H)=>{const v={},C=j.parsers[H||"full"],R=C.regex.exec(Q);let T=C.keys.length;for(;T--;)v[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,H)=>{if(null===Q||j.isAbsolute(H))return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(H),C={protocol:Q.protocol||""};if(null!==v.authority)C.authority=v.authority,C.path=v.path,C.query=v.query;else if(C.authority=Q.authority,""===v.path)C.path=Q.path,C.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))C.path=v.path;else{let T=Q.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Q.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=v.path,C.path=T}C.query=v.query}""!==v.path&&(C.path=j.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==v.fragment&&(R+="#"+v.fragment),""===R&&(R="./"),R},j.removeBase=(Q,H)=>{if(null===Q)return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):H.indexOf("//")&&(v+="//"),0!==H.indexOf(v))return H;const C=j.parse(H.substr(v.length)),R=Q.normalizedPath.split("/"),T=C.normalizedPath.split("/"),b=C.fragment||C.query?0:1;for(;R.length>0&&T.length>b&&R[0]===T[0];)R.shift(),T.shift();let y="";if(R.length>0){R.pop();for(let S=0;S{if(0===Q.length)return"";const H=Q.split("/"),v=[];for(;H.length>0;){const C=H.shift(),R=0===H.length;"."!==C?".."!==C?v.push(C):(v.pop(),R&&v.push("")):R&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const k=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&k.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),k=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),H=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function b(y,S){if(j.isArray(S))for(let A=0;A{if(Object.keys(y).some(A=>"accept"===A.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},y)},T.parseLinkHeader=y=>{const S={},A=y.match(H);for(let z=0;z{if(!(j.isString(y)||j.isArray(y)&&y.every(A=>j.isString(A)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&T.asArray(y["@default"]).every(A=>j.isString(A)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},T.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const A=y[S];return!j.isArray(A)||A.length>0}return!1},T.hasValue=(y,S,A)=>{if(T.hasProperty(y,S)){let z=y[S];const P=W.isList(z);if(j.isArray(z)||P){P&&(z=z["@list"]);for(let X=0;X{if("propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1),"valueIsArray"in z||(z.valueIsArray=!1),"allowDuplicate"in z||(z.allowDuplicate=!0),"prependValue"in z||(z.prependValue=!1),z.valueIsArray)y[S]=A;else if(j.isArray(A)){0===A.length&&z.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),z.prependValue&&(A=A.concat(y[S]),y[S]=[]);for(let P=0;P[].concat(y[S]||[]),T.removeProperty=(y,S)=>{delete y[S]},T.removeValue=(y,S,A,z)=>{"propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1);const P=T.getValues(y,S).filter(X=>!T.compareValues(X,A));0===P.length?T.removeProperty(y,S):y[S]=1!==P.length||z.propertyIsArray?P:P[0]},T.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new k("_:b"),y),T.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],T.compareShortestLeast=(y,S)=>y.length1;const z=(K,E,$)=>{const Z=K[b].get(E);if(Z){const ae=Z.value;if(P(K,ae)){if(ue(K,Z),!K[H])return}else $&&(K[y]&&(Z.value.now=Date.now()),K[T].unshiftNode(Z));return ae.value}},P=(K,E)=>{if(!E||!E.maxAge&&!K[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:K[v]&&$>K[v]},X=K=>{if(K[k]>K[j])for(let E=K[T].tail;K[k]>K[j]&&null!==E;){const $=E.prev;ue(K,E),E=$}},ue=(K,E)=>{if(E){const $=E.value;K[C]&&K[C]($.key,$.value),K[k]-=$.length,K[b].delete($.key),K[T].removeNode(E)}};class I{constructor(E,$,Z,ae,oe){this.key=E,this.value=$,this.length=Z,this.now=ae,this.maxAge=oe||0}}const O=(K,E,$,Z)=>{let ae=$.value;P(K,ae)&&(ue(K,$),K[H]||(ae=void 0)),ae&&E.call(Z,ae.value,ae.key,K)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[H]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[C]=E.dispose,this[R]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,X(this)}get max(){return this[j]}set allowStale(E){this[H]=!!E}get allowStale(){return this[H]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,X(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[k]=0,this[T].forEach($=>{$.length=this[Q]($.value,$.key),this[k]+=$.length})),X(this)}get lengthCalculator(){return this[Q]}get length(){return this[k]}get itemCount(){return this[T].length}rforEach(E,$){$=$||this;for(let Z=this[T].tail;null!==Z;){const ae=Z.prev;O(this,E,Z,$),Z=ae}}forEach(E,$){$=$||this;for(let Z=this[T].head;null!==Z;){const ae=Z.next;O(this,E,Z,$),Z=ae}}keys(){return this[T].toArray().map(E=>E.key)}values(){return this[T].toArray().map(E=>E.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(E=>this[C](E.key,E.value)),this[b]=new Map,this[T]=new W,this[k]=0}dump(){return this[T].map(E=>!P(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[T]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const ae=Z?Date.now():0,oe=this[Q]($,E);if(this[b].has(E)){if(oe>this[j])return ue(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[C]&&(this[R]||this[C](E,me.value)),me.now=ae,me.maxAge=Z,me.value=$,this[k]+=oe-me.length,me.length=oe,this.get(E),X(this),!0}const te=new I(E,$,oe,ae,Z);return te.length>this[j]?(this[C]&&this[C](E,$),!1):(this[k]+=te.length,this[T].unshift(te),this[b].set(E,this[T].head),X(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!P(this,$)}get(E){return z(this,E,!0)}peek(E){return z(this,E,!1)}pop(){const E=this[T].tail;return E?(ue(this,E),E.value):null}del(E){ue(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const ae=E[Z],oe=ae.e||0;if(0===oe)this.set(ae.k,ae.v);else{const te=oe-$;te>0&&this.set(ae.k,ae.v,te)}}}prune(){this[b].forEach((E,$)=>z(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",k="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${k}reify#forSome`,forAll:`${k}reify#forAll`},log:{implies:`${k}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function I(ne,ye){if(ye=ye||b,!ne)return ye.defaultGraph();switch(ne[0]){case"?":return ye.variable(ne.substr(1));case"_":return ye.blankNode(ne.substr(2));case'"':if(ye===b)return new z(ne);if('"'===ne[ne.length-1])return ye.literal(ne.substr(1,ne.length-2));const Oe=ne.lastIndexOf('"',ne.length-1);return ye.literal(ne.substr(1,Oe-1),"@"===ne[Oe+1]?ne.substr(Oe+2):ye.namedNode(ne.substr(Oe+3)));case"<":const $e=T.exec(ne);return ye.quad(I($($e[1]),ye),I($($e[2]),ye),I($($e[3]),ye),$e[4]&&I($($e[4]),ye));default:return ye.namedNode(ne)}},he.termToId=function O(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==H.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(O(ne.subject))} ${E(O(ne.predicate))} ${E(O(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${O(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:H}=W.default;let v,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new A(ne)},blankNode:function(ne){return new P(ne||"n3-"+C++)},variable:function(ne){return new X(ne)},literal:function(ne,ye){if("string"==typeof ye)return new z(`"${ne}"@${ye.toLowerCase()}`);let Oe=ye?ye.value:"";return""===Oe&&("boolean"==typeof ne?Oe=H.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Oe=Number.isInteger(ne)?H.integer:H.double:(Oe=H.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new z(""===Oe||Oe===H.string?`"${ne}"`:`"${ne}"^^${Oe}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(ye){this.id=ye}get value(){return this.id}equals(ye){return ye instanceof S?this.id===ye.id:!!ye&&this.termType===ye.termType&&this.value===ye.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class A extends S{get termType(){return"NamedNode"}}he.NamedNode=A;class z extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ye=this.id;let Oe=ye.lastIndexOf('"')+1;return Oe`"${Oe.replace(/"/g,'""')}`)}function $(ne){return ne.replace(R,(ye,Oe)=>`"${Oe.replace(/""/g,'"')}`)}function me(ne,ye,Oe,$e){return new K(ne,ye,Oe,$e)}he.Triple=he.Quad=K},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),k=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:H}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(A){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(A=A||{}).lineMode){this._n3Mode=!1;for(const z in this)!(z in T)&&this[z]instanceof RegExp&&(this[z]=b)}else this._n3Mode=!1!==A.n3;this._comments=!!A.comments,this._literalClosingPos=0}_tokenizeToEnd(A,z){let P=this._input,X=P.length;for(;;){let O,K;for(;O=this._newline.exec(P);)this._comments&&(K=this._comment.exec(O[0]))&&ue("comment",K[1],"",this._line,O[0].length),P=P.substr(O[0].length,P.length),X=P.length,this._line++;if(!O&&(O=this._whitespace.exec(P))&&(P=P.substr(O[0].length,P.length)),this._endOfFile.test(P))return z&&(this._comments&&(K=this._comment.exec(P))&&ue("comment",K[1],"",this._line,P.length),P=null,ue("eof","","",this._line,0)),this._input=P;const E=this._line,$=P[0];let Z="",ae="",oe="",te=null,Te=0,me=!1;switch($){case"^":if(P.length<3)break;if("^"!==P[1]){this._n3Mode&&(Te=1,Z="^");break}if(this._previousMarker="^^",P=P.substr(2),"<"!==P[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(P))Z="IRI",ae=te[1];else if(te=this._iri.exec(P)){if(ae=this._unescape(te[1]),null===ae||R.test(ae))return I(this);Z="IRI"}else P.length>1&&"<"===P[1]?(Z="<<",Te=2):this._n3Mode&&P.length>1&&"="===P[1]&&(Z="inverse",Te=2,ae=">");break;case">":P.length>1&&">"===P[1]&&(Z=">>",Te=2);break;case"_":((te=this._blank.exec(P))||z&&(te=this._blank.exec(`${P} `)))&&(Z="blank",oe="_",ae=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(P))&&(Z="var",ae=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(P))?(Z="langcode",ae=te[1]):(te=this._keyword.exec(P))&&(Z=te[0]);break;case".":if(1===P.length?z:P[1]<"0"||P[1]>"9"){Z=".",Te=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(P)||z&&(te=this._number.exec(`${P} `)))&&(Z="literal",ae=te[0],oe="string"==typeof te[1]?H.double:"string"==typeof te[2]?H.decimal:H.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(P))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(P))?(Z="literal",ae=te[0],oe=H.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(P))?(Z="abbreviation",ae="a"):me=!0;break;case"=":this._n3Mode&&P.length>1&&(Z="abbreviation",">"!==P[1]?(Te=1,ae="="):(Te=2,ae=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Te=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(P))?((te=this._prefixed.exec(P))||z&&(te=this._prefixed.exec(`${P} `)))&&(Z="prefixed",oe=te[1]||"",ae=this._unescape(te[2])):(Z="prefix",ae=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return z||!/^'''|^"""/.test(P)&&/\n|\r/.test(P)?I(this):this._input=P;const ne=Te||te[0].length,ye=ue(Z,ae,oe,E,ne);this.previousToken=ye,this._previousMarker=Z,P=P.substr(ne,P.length)}function ue(O,K,E,$,Z){const ae=P?X-P.length:X,te={type:O,value:K,prefix:E,line:$,start:ae,end:ae+Z};return A(null,te),te}function I(O){A(O._syntaxError(/^\S*/.exec(P)[0]))}}_unescape(A){let z=!1;const P=A.replace(v,(X,ue,I,O)=>{if("string"==typeof ue)return String.fromCharCode(Number.parseInt(ue,16));if("string"==typeof I){let K=Number.parseInt(I,16);return K<=65535?String.fromCharCode(Number.parseInt(I,16)):String.fromCharCode(55296+((K-=65536)>>10),56320+(1023&K))}return O in C?C[O]:(z=!0,"")});return z?null:P}_parseLiteral(A){if(A.length>=3){const z=A.match(/^(?:"""|"|'''|'|)/)[0],P=z.length;let X=Math.max(this._literalClosingPos,P);for(;(X=A.indexOf(z,X))>0;){let ue=0;for(;"\\"===A[X-ue-1];)ue++;if(ue%2==0){const I=A.substring(P,X),O=I.split(/\r\n|\r|\n/).length-1,K=X+P;if(1===P&&0!==O||3===P&&this._lineMode)break;return this._line+=O,{value:this._unescape(I),matchLength:K}}X++}this._literalClosingPos=A.length-P+1}return{value:"",matchLength:0}}_syntaxError(A){this._input=null;const z=new Error(`Unexpected "${A}" on line ${this._line}.`);return z.context={token:void 0,line:this._line,previousToken:this.previousToken},z}_readStartingBom(A){return A.startsWith("\ufeff")?A.substr(1):A}tokenize(A,z){if(this._line=1,"string"==typeof A){if(this._input=this._readStartingBom(A),"function"!=typeof z){const P=[];let X;if(this._tokenizeToEnd((ue,I)=>ue?X=ue:P.push(I),!0),X)throw X;return P}(0,k.default)(()=>this._tokenizeToEnd(z,!0))}else this._pendingBuffer=null,"function"==typeof A.setEncoding&&A.setEncoding("utf8"),A.on("data",P=>{null!==this._input&&0!==P.length&&(this._pendingBuffer&&(P=W.concat([this._pendingBuffer,P]),this._pendingBuffer=null),128&P[P.length-1]?this._pendingBuffer=P:(void 0===this._input?this._input=this._readStartingBom("string"==typeof P?P:P.toString()):this._input+=P,this._tokenizeToEnd(z,!1)))}),A.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(z,!0)}),A.on("error",z)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),k=Q(Y("./IRIs"));function Q(T){return T&&T.__esModule?T:{default:T}}let H=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&R(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),A=/trig/.test(y),z=/triple/.test(y),P=/quad/.test(y),X=this._n3Mode=/n3/.test(y),ue=z||P;(this._supportsNamedGraphs=!(S||X))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||A||z||X),this._supportsRDFStar=""===y||/star|\*$/.test(y),ue&&(this._resolveRelativeIRI=I=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ue,n3:X}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){H=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,A,z){const P=this._n3Mode;this._contextStack.push({subject:S,predicate:A,object:z,graph:y,type:b,inverse:!!P&&this._inversePredicate,blankPrefix:P?this._prefixes._:"",quantified:P?this._quantified:null}),P&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const A=this._resolveIRI(b.value);if(null===A)return this._error("Invalid IRI",b);S=this._namedNode(A);break;case"type":case"prefixed":const z=this._prefixes[b.prefix];if(void 0===z)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(z+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,A=this._readListItem;const z=this._subject,P=this._contextStack,X=P[P.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),A=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==P.length&&"list"===P[P.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(A=this._readPredicate,this._subject===this.RDF_NIL)return A}else if(A=this._getContextEndReader(),this._object===this.RDF_NIL)return A;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,A=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),A=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===z?null===X.predicate?X.subject=S:X.object=S:this._emit(z,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return A}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const A=this._subject,z=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,z&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==A){const P=this._predicate,X=this._object;z?this._emit(X,P,A,S):this._emit(A,P,X,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const A=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,A,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const A=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=A):(y=this._object,this._object=A),this._emit(y,S,A,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,A;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(A=this._subject,this._subject=y):(A=this._object,this._object=y),this._emit(y,S,A,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,A){this._callback(null,this._quad(b,y,S,A||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=C}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",A=-1,z=-1,P=0,X="/";for(;A=z&&(S=S.substr(0,P)),"/"!==X)return`${S}/${b.substr(A+1)}`;P=A+1}}}X=b[++A]}return S+b.substring(P)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${H++}_`,this._prefixCallback=S||C,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const A=[];let z;if(this._callback=(P,X)=>{P?z=P:X&&A.push(X)},this._lexer.tokenize(b).every(P=>this._readCallback=this._readCallback(P)),z)throw z;return A}this._callback=y,this._lexer.tokenize(b,(A,z)=>{null!==A?(this._callback(A),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(z))})}}function C(){}function R(T,b){const y=b.namedNode;T._namedNode=y,T._blankNode=b.blankNode,T._literal=b.literal,T._variable=b.variable,T._quad=b.quad,T.DEFAULTGRAPH=b.defaultGraph(),T.RDF_FIRST=y(k.default.rdf.first),T.RDF_REST=y(k.default.rdf.rest),T.RDF_NIL=y(k.default.rdf.nil),T.N3_FORALL=y(k.default.r.forAll),T.N3_FORSOME=y(k.default.r.forSome),T.ABBREVIATIONS={a:y(k.default.rdf.type),"=":y(k.default.owl.sameAs),">":y(k.default.log.implies)},T.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,R(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=H(y);if(S&&S.has(b))return S.get(b);var A={},z=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in b)if("default"!==P&&Object.prototype.hasOwnProperty.call(b,P)){var X=z?Object.getOwnPropertyDescriptor(b,P):null;X&&(X.get||X.set)?Object.defineProperty(A,P,X):A[P]=b[P]}return A.default=b,S&&S.set(b,A),A}(Y("./N3DataFactory")),j=Y("readable-stream"),k=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function H(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(H=function(A){return A?S:y})(b)}class C{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let A,z;for(const P in S)for(const X in A=S[P].subjects)for(const ue in z=A[X])y+=Object.keys(z[ue]).length;return this._size=y}_addToIndex(y,S,A,z){const P=y[S]||(y[S]={}),X=P[A]||(P[A]={}),ue=z in X;return ue||(X[z]=null),!ue}_removeFromIndex(y,S,A,z){const P=y[S],X=P[A];delete X[z];for(const ue in X)return;delete P[A];for(const ue in P)return;delete y[S]}*_findInIndex(y,S,A,z,P,X,ue,I){let O,K,E;const Z=!S+!A+!z>1?Object.keys(this._ids):this._entities,ae=(0,W.termFromId)(I,this._factory);S&&((O=y,y={})[S]=O[S]);for(const oe in y){const te=Z[oe];if(K=y[oe]){A&&((O=K,K={})[A]=O[A]);for(const Te in K){const me=Z[Te];if(E=K[Te]){const ne=z?z in E?[z]:[]:Object.keys(E);for(let ye=0;ye{A in S||(S[A]=!0,y((0,W.termFromId)(this._entities[A],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);let P=this._graphs[z];P||(P=this._graphs[z]={subjects:{},predicates:{},objects:{}},Object.freeze(P));const X=this._ids,ue=this._entities;y=X[y]||(X[ue[++this._id]=y]=this._id),S=X[S]||(X[ue[++this._id]=S]=this._id),A=X[A]||(X[ue[++this._id]=A]=this._id);const I=this._addToIndex(P.subjects,y,S,A);return this._addToIndex(P.predicates,S,A,y),this._addToIndex(P.objects,A,y,S),this._size=null,I}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);const P=this._ids,X=this._graphs;let ue,I,O;if(!((y=P[y])&&(S=P[S])&&(A=P[A])&&(ue=X[z])&&(I=ue.subjects[y])&&(O=I[S])&&A in O))return!1;for(y in this._removeFromIndex(ue.subjects,y,S,A),this._removeFromIndex(ue.predicates,S,A,y),this._removeFromIndex(ue.objects,A,y,S),null!==this._size&&this._size--,ue.subjects)return!0;return delete X[z],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,A,z){const P=new j.Readable({objectMode:!0});return P._read=()=>{for(const X of this.readQuads(y,S,A,z))P.push(X);P.push(null)},this.remove(P)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,A,z){return[...this.readQuads(y,S,A,z)]}*readQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let ue,I,O,K;if(!(R(y)&&!(I=X[y])||R(S)&&!(O=X[S])||R(A)&&!(K=X[A])))for(const E in P)(ue=P[E])&&(I?K?yield*this._findInIndex(ue.objects,K,I,O,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,I,O,null,"subject","predicate","object",E,null,!0):O?yield*this._findInIndex(ue.predicates,O,K,null,"predicate","object","subject",E,null,!0):K?yield*this._findInIndex(ue.objects,K,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,A,z){return new T(this,y,S,A,z)}countQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let I,O,K,E,ue=0;if(R(y)&&!(O=X[y])||R(S)&&!(K=X[S])||R(A)&&!(E=X[A]))return 0;for(const $ in P)(I=P[$])&&(ue+=y?A?this._countInIndex(I.objects,E,O,K):this._countInIndex(I.subjects,O,K,E):S?this._countInIndex(I.predicates,K,E,O):this._countInIndex(I.objects,E,O,K));return ue}forEach(y,S,A,z,P){this.some(X=>(y(X),!1),S,A,z,P)}every(y,S,A,z,P){let X=!1;const ue=!this.some(I=>(X=!0,!y(I)),S,A,z,P);return X&&ue}some(y,S,A,z,P){for(const X of this.readQuads(S,A,z,P))if(y(X))return!0;return!1}getSubjects(y,S,A){const z=[];return this.forSubjects(P=>{z.push(P)},y,S,A),z}forSubjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.predicates,I,O,y):this._loopByKey1(ue.subjects,I,y):O?this._loopByKey0(ue.objects,O,y):this._loop(ue.subjects,y))}getPredicates(y,S,A){const z=[];return this.forPredicates(P=>{z.push(P)},y,S,A),z}forPredicates(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.objects,O,I,y):this._loopByKey0(ue.subjects,I,y):O?this._loopByKey1(ue.predicates,O,y):this._loop(ue.predicates,y))}getObjects(y,S,A){const z=[];return this.forObjects(P=>{z.push(P)},y,S,A),z}forObjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.subjects,I,O,y):this._loopByKey1(ue.objects,I,y):O?this._loopByKey0(ue.predicates,O,y):this._loop(ue.objects,y))}getGraphs(y,S,A){const z=[];return this.forGraphs(P=>{z.push(P)},y,S,A),z}forGraphs(y,S,A,z){for(const P in this._graphs)this.some(X=>(y(X.graph),!0),S,A,z,P)}createBlankNode(y){let S,A;if(y)for(S=y=`_:${y}`,A=1;this._ids[S];)S=y+A++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const A={},z=S?()=>!0:(ue,I)=>{throw new Error(`${ue.value} ${I}`)},P=this.getQuads(null,k.default.rdf.rest,k.default.rdf.nil,null),X=y?[...P]:[];return P.forEach(ue=>{const I=[];let K,E,O=!1;const $=ue.graph;let Z=ue.subject;for(;Z&&!O;){const ae=this.getQuads(null,null,Z,null),oe=this.getQuads(Z,null,null,null);let te,Te=null,me=null,ne=null;for(let ye=0;ye{switch(b){case"data":R=y;break;case"end":T=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{R(b),S()},this._flush=b=>{T(),b()}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var H,W=Y("readable-stream"),j=(H=Y("./N3Writer"))&&H.__esModule?H:{default:H};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new j.default({write:(R,T,b)=>{this.push(R),b&&b()},end:R=>{this.push(null),R&&R()}},v);this._transform=(R,T,b)=>{C.addQuad(R,b)},this._flush=R=>{C.end(R)}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),v.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return C(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=C,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function C(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const A=Object.create(null);for(const P in y)z(P,y[P]);function z(P,X){if("string"==typeof X){const ue=Object.create(null);A[P]=I=>ue[I]||(ue[I]=S.namedNode(X+I))}else if(!(P in A))throw new Error(`Unknown prefix: ${P}`);return A[P]}return S=S||W.default,z}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ue,W=(ue=Y("./IRIs"))&&ue.__esModule?ue:{default:ue},j=function(ue,I){if(!I&&ue&&ue.__esModule)return ue;if(null===ue||"object"!=typeof ue&&"function"!=typeof ue)return{default:ue};var O=Q(I);if(O&&O.has(ue))return O.get(ue);var K={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ue)if("default"!==$&&Object.prototype.hasOwnProperty.call(ue,$)){var Z=E?Object.getOwnPropertyDescriptor(ue,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(K,$,Z):K[$]=ue[$]}return K.default=ue,O&&O.set(ue,K),K}(Y("./N3DataFactory")),k=Y("./N3Util");function Q(ue){if("function"!=typeof WeakMap)return null;var I=new WeakMap,O=new WeakMap;return(Q=function(K){return K?O:I})(ue)}const C=j.default.defaultGraph(),{rdf:R,xsd:T}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class A extends j.Term{equals(){return!1}}function P(ue){let I=S[ue];return void 0===I&&(1===ue.length?(I=ue.charCodeAt(0).toString(16),I="\\u0000".substr(0,6-I.length)+I):(I=(1024*(ue.charCodeAt(0)-55296)+ue.charCodeAt(1)+9216).toString(16),I="\\U00000000".substr(0,10-I.length)+I)),I}function X(ue){return ue.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(I,O){if(this._prefixRegex=/$0^/,I&&"function"!=typeof I.write&&(O=I,I=null),this._lists=(O=O||{}).lists,I)this._outputStream=I,this._endStream=void 0===O.end||!!O.end;else{let K="";this._outputStream={write(E,$,Z){K+=E,Z&&Z()},end:E=>{E&&E(null,K)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(O.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),O.prefixes&&this.addPrefixes(O.prefixes),O.baseIRI&&(this._baseMatcher=new RegExp(`^${X(O.baseIRI)}${O.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=O.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(I,O){this._outputStream.write(I,"utf8",O)}_writeQuad(I,O,K,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),I.equals(this._subject)?O.equals(this._predicate)?this._write(`, ${this._encodeObject(K)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=I)} ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(I,O,K,E,$){delete this._prefixMatch,this._write(this.quadToString(I,O,K,E),$)}quadToString(I,O,K,E){return`${this._encodeSubject(I)} ${this._encodeIriOrBlank(O)} ${this._encodeObject(K)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(I){return I.map(O=>this.quadToString(O.subject,O.predicate,O.object,O.graph)).join("")}_encodeSubject(I){return"Quad"===I.termType?this._encodeQuad(I):this._encodeIriOrBlank(I)}_encodeIriOrBlank(I){if("NamedNode"!==I.termType)return this._lists&&I.value in this._lists&&(I=this.list(this._lists[I.value])),"id"in I?I.id:`_:${I.value}`;let O=I.value;this._baseMatcher&&this._baseMatcher.test(O)&&(O=O.substr(this._baseLength)),b.test(O)&&(O=O.replace(y,P));const K=this._prefixRegex.exec(O);return K?K[1]?this._prefixIRIs[K[1]]+K[2]:O:`<${O}>`}_encodeLiteral(I){let O=I.value;if(b.test(O)&&(O=O.replace(y,P)),I.language)return`"${O}"@${I.language}`;if(this._lineMode){if(I.datatype.value===T.string)return`"${O}"`}else switch(I.datatype.value){case T.string:return`"${O}"`;case T.boolean:if("true"===O||"false"===O)return O;break;case T.integer:if(/^[+-]?\d+$/.test(O))return O;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(O))return O;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(O))return O}return`"${O}"^^${this._encodeIriOrBlank(I.datatype)}`}_encodePredicate(I){return I.value===R.type?"a":this._encodeIriOrBlank(I)}_encodeObject(I){switch(I.termType){case"Quad":return this._encodeQuad(I);case"Literal":return this._encodeLiteral(I);default:return this._encodeIriOrBlank(I)}}_encodeQuad({subject:I,predicate:O,object:K,graph:E}){return`<<${this._encodeSubject(I)} ${this._encodePredicate(O)} ${this._encodeObject(K)}${(0,k.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(I,O,K,E,$){void 0===K?this._writeQuad(I.subject,I.predicate,I.object,I.graph,O):"function"==typeof E?this._writeQuad(I,O,K,C,E):this._writeQuad(I,O,K,E||C,$)}addQuads(I){for(let O=0;O.\n`)}if(K){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=X(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(K?"\n":"",O)}blank(I,O){let E,$,K=I;switch(void 0===I?K=[]:I.termType?K=[{predicate:I,object:O}]:"length"in I||(K=[I]),$=K.length){case 0:return new A("[]");case 1:if(E=K[0],!(E.object instanceof A))return new A(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let ae=0;ae<$;ae++)E=K[ae],E.predicate.equals(I)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(ae?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,I=E.predicate);return new A(`${Z}\n]`)}}list(I){const O=I&&I.length||0,K=new Array(O);for(let E=0;E{O=null,I(K,E)});if(this._endStream)try{return this._outputStream.end(O)}catch(K){}O&&O()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return R.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return k.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return R.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),k=y(Y("./N3Writer")),Q=y(Y("./N3Store")),H=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),C=b(Y("./N3Util"));he.Util=C;var R=b(Y("./N3DataFactory"));function T(A){if("function"!=typeof WeakMap)return null;var z=new WeakMap,P=new WeakMap;return(T=function(X){return X?P:z})(A)}function b(A,z){if(!z&&A&&A.__esModule)return A;if(null===A||"object"!=typeof A&&"function"!=typeof A)return{default:A};var P=T(z);if(P&&P.has(A))return P.get(A);var X={},ue=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in A)if("default"!==I&&Object.prototype.hasOwnProperty.call(A,I)){var O=ue?Object.getOwnPropertyDescriptor(A,I):null;O&&(O.get||O.set)?Object.defineProperty(X,I,O):X[I]=A[I]}return X.default=A,P&&P.set(A,X),X}function y(A){return A&&A.__esModule?A:{default:A}}he.default={Lexer:W.default,Parser:j.default,Writer:k.default,Store:Q.default,StreamParser:H.default,StreamWriter:v.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,k,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}function v(X){if(j===setTimeout)return setTimeout(X,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(X,0);try{return j(X,0)}catch(ue){try{return j.call(null,X,0)}catch(I){return j.call(this,X,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(X){j=Q}try{k="function"==typeof clearTimeout?clearTimeout:H}catch(X){k=H}}();var b,R=[],T=!1,y=-1;function S(){!T||!b||(T=!1,b.length?R=b.concat(R):y=-1,R.length&&A())}function A(){if(!T){var X=v(S);T=!0;for(var ue=R.length;ue;){for(b=R,R=[];++y1)for(var I=1;I(j||(j=Promise.resolve())).then(k).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class Nq{constructor(j,k=new Map,Q=0){this.prefix=j,this._existing=k,this.counter=Q}clone(){const{prefix:j,_existing:k,counter:Q}=this;return new Nq(j,new Map(k),Q)}getId(j){const k=j&&this._existing.get(j);if(k)return k;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(k){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===k)this.algorithm={name:"SHA-256"};else{if("sha1"!==k)throw new Error(`Unsupport algorithm "${k}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(k){this._content+=k}digest(){var k=this;return yt(function*(){const Q=(new TextEncoder).encode(k._content),H=new Uint8Array(yield W.subtle.digest(k.algorithm,Q));let v="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class nF{static parse(X){const ue=[],I={},O=X.split(T.eoln);let K=0;for(const E of O){if(K++,T.empty.test(E))continue;const $=E.match(T.quad);if(null===$)throw new Error("N-Quads parse error on line "+K+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:H,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:H,value:$[3]},void 0!==$[4]?Z.object={termType:H,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:C,value:void 0,datatype:{termType:H}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=k,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(A,function(X,ue,I,O){if(ue)switch(ue){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(I)return String.fromCharCode(parseInt(I,16));if(O)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:H,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:R,value:""},Z.graph.value in I){let ae=!0;const oe=I[Z.graph.value];for(const te of oe)if(b(te,Z)){ae=!1;break}ae&&(oe.push(Z),ue.push(Z))}else I[Z.graph.value]=[Z],ue.push(Z)}return ue}static serialize(X){Array.isArray(X)||(X=nF.legacyDatasetToQuads(X));const ue=[];for(const I of X)ue.push(nF.serializeQuad(I));return ue.sort().join("")}static serializeQuad(X){const ue=X.subject,O=X.object,K=X.graph;let E="";return E+=ue.termType===H?`<${ue.value}>`:`${ue.value}`,E+=` <${X.predicate.value}> `,O.termType===H?E+=`<${O.value}>`:O.termType===v?E+=O.value:(E+=`"${P=O.value,P.replace(y,function(X){switch(X){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,O.datatype.value===k?O.language&&(E+=`@${O.language}`):O.datatype.value!==Q&&(E+=`^^<${O.datatype.value}>`)),K.termType===H?E+=` <${K.value}>`:K.termType===v&&(E+=` ${K.value}`),E+=" .\n",E;var P}static legacyDatasetToQuads(X){const ue=[],I={"blank node":v,IRI:H,literal:C};for(const O in X)X[O].forEach(E=>{const $={};for(const Z in E){const ae=E[Z],oe={termType:I[ae.type],value:ae.value};oe.termType===C&&(oe.datatype={termType:H},"datatype"in ae&&(oe.datatype.value=ae.datatype),"language"in ae?("datatype"in ae||(oe.datatype.value=k),oe.language=ae.language):"datatype"in ae||(oe.datatype.value=Q)),$[Z]=oe}$.graph="@default"===O?{termType:R,value:""}:{termType:O.startsWith("_:")?v:H,value:O},ue.push($)});return ue}};const y=/["\\\n\r]/g;const A=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let k=0;kH)&&(b&&R>0&&T>j[R-1]||!b&&Rj[R+1])&&(H=T,v=R)}if(null===H)this.done=!0;else{const R=k.get(H)?v-1:v+1;j[v]=j[R],j[R]=H;for(const T of j)T>H&&k.set(T,!k.get(T))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),k=Y("./MessageDigest"),Q=Y("./Permuter"),H=Y("./NQuads");function v(C,R){return C.hashR.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return yt(function*(){T.quads=R;for(const X of R)T._addBlankNodeQuadInfo({quad:X,component:X.subject}),T._addBlankNodeQuadInfo({quad:X,component:X.object}),T._addBlankNodeQuadInfo({quad:X,component:X.graph});const b=new Map,y=[...T.blankNodeInfo.keys()];let S=0;for(const X of y)++S%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:X,hashToBlankNodes:b});const A=[...b.keys()].sort(),z=[];for(const X of A){const ue=b.get(X);ue.length>1?z.push(ue):T.canonicalIssuer.getId(ue[0])}for(const X of z){const ue=[];for(const I of X){if(T.canonicalIssuer.hasId(I))continue;const O=new j("_:b");O.getId(I);const K=yield T.hashNDegreeQuads(I,O);ue.push(K)}ue.sort(v);for(const I of ue){const O=I.issuer.getOldIds();for(const K of O)T.canonicalIssuer.getId(K)}}const P=[];for(const X of T.quads){const ue=ot({},X);ue.subject=T._useCanonicalId({component:ue.subject}),ue.object=T._useCanonicalId({component:ue.object}),ue.graph=T._useCanonicalId({component:ue.graph}),P.push(H.serializeQuad(ue))}return P.sort(),P.join("")})()}hashFirstDegreeQuads(R){var T=this;return yt(function*(){const b=[],y=T.blankNodeInfo.get(R),S=y.quads;for(const z of S){const P={subject:null,predicate:z.predicate,object:null,graph:null};P.subject=T.modifyFirstDegreeComponent(R,z.subject,"subject"),P.object=T.modifyFirstDegreeComponent(R,z.object,"object"),P.graph=T.modifyFirstDegreeComponent(R,z.graph,"graph"),b.push(H.serializeQuad(P))}b.sort();const A=new k(T.hashAlgorithm);for(const z of b)A.update(z);return y.hash=yield A.digest(),y.hash})()}hashRelatedBlankNode(R,T,b,y){var S=this;return yt(function*(){let A;A=S.canonicalIssuer.hasId(R)?S.canonicalIssuer.getId(R):b.hasId(R)?b.getId(R):S.blankNodeInfo.get(R).hash;const z=new k(S.hashAlgorithm);return z.update(y),"g"!==y&&z.update(S.getRelatedPredicate(T)),z.update(A),z.digest()})()}hashNDegreeQuads(R,T){var b=this;return yt(function*(){const y=new k(b.hashAlgorithm),S=yield b.createHashToRelated(R,T),A=[...S.keys()].sort();for(const z of A){y.update(z);let X,P="";const ue=new Q(S.get(z));let I=0;for(;ue.hasNext();){const O=ue.next();++I%3==0&&(yield b._yield());let K=T.clone(),E="";const $=[];let Z=!1;for(const ae of O)if(b.canonicalIssuer.hasId(ae)?E+=b.canonicalIssuer.getId(ae):(K.hasId(ae)||$.push(ae),E+=K.getId(ae)),0!==P.length&&E>P){Z=!0;break}if(!Z){for(const ae of $){const oe=yield b.hashNDegreeQuads(ae,K);if(E+=K.getId(ae),E+=`<${oe.hash}>`,K=oe.issuer,0!==P.length&&E>P){Z=!0;break}}Z||(0===P.length||E`}createHashToRelated(R,T){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(R).quads;let A=0;for(const z of S)++A%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:z,component:z.subject,position:"s",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.object,position:"o",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.graph,position:"g",id:R,issuer:T,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(R),S=T.get(y);S?S.push(R):T.set(y,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const b=T.value,y=this.blankNodeInfo.get(b);y?y.quads.add(R):this.blankNodeInfo.set(b,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:b,id:y,issuer:S,hashToRelated:A}){var z=this;return yt(function*(){if("BlankNode"!==T.termType||T.value===y)return;const P=T.value,X=yield z.hashRelatedBlankNode(P,R,S,b),ue=A.get(X);ue?ue.push(P):A.set(X,[P])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return yt(function*(){return new Promise(R=>W(R))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),k=Y("./Permuter"),Q=Y("./NQuads");function H(v,C){return v.hashC.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const A of C)this._addBlankNodeQuadInfo({quad:A,component:A.subject}),this._addBlankNodeQuadInfo({quad:A,component:A.object}),this._addBlankNodeQuadInfo({quad:A,component:A.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const A of T)this._hashAndTrackBlankNode({id:A,hashToBlankNodes:R});const b=[...R.keys()].sort(),y=[];for(const A of b){const z=R.get(A);z.length>1?y.push(z):this.canonicalIssuer.getId(z[0])}for(const A of y){const z=[];for(const P of A){if(this.canonicalIssuer.hasId(P))continue;const X=new W("_:b");X.getId(P);const ue=this.hashNDegreeQuads(P,X);z.push(ue)}z.sort(H);for(const P of z){const X=P.issuer.getOldIds();for(const ue of X)this.canonicalIssuer.getId(ue)}}const S=[];for(const A of this.quads){const z=ot({},A);z.subject=this._useCanonicalId({component:z.subject}),z.object=this._useCanonicalId({component:z.object}),z.graph=this._useCanonicalId({component:z.graph}),S.push(Q.serializeQuad(z))}return S.sort(),S.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),b=T.quads;for(const S of b){const A={subject:null,predicate:S.predicate,object:null,graph:null};A.subject=this.modifyFirstDegreeComponent(C,S.subject,"subject"),A.object=this.modifyFirstDegreeComponent(C,S.object,"object"),A.graph=this.modifyFirstDegreeComponent(C,S.graph,"graph"),R.push(Q.serializeQuad(A))}R.sort();const y=new j(this.hashAlgorithm);for(const S of R)y.update(S);return T.hash=y.digest(),T.hash}hashRelatedBlankNode(C,R,T,b){let y;y=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(R)),S.update(y),S.digest()}hashNDegreeQuads(C,R){const T=new j(this.hashAlgorithm),b=this.createHashToRelated(C,R),y=[...b.keys()].sort();for(const S of y){T.update(S);let z,A="";const P=new k(b.get(S));for(;P.hasNext();){const X=P.next();let ue=R.clone(),I="";const O=[];let K=!1;for(const E of X)if(this.canonicalIssuer.hasId(E)?I+=this.canonicalIssuer.getId(E):(ue.hasId(E)||O.push(E),I+=ue.getId(E)),0!==A.length&&I>A){K=!0;break}if(!K){for(const E of O){const $=this.hashNDegreeQuads(E,ue);if(I+=ue.getId(E),I+=`<${$.hash}>`,ue=$.issuer,0!==A.length&&I>A){K=!0;break}}K||(0===A.length||I`}createHashToRelated(C,R){const T=new Map,b=this.blankNodeInfo.get(C).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),b=R.get(T);b?b.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,b=this.blankNodeInfo.get(T);b?b.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==R.termType||R.value===b)return;const A=R.value,z=this.hashRelatedBlankNode(A,C,y,T),P=S.get(z);P?P.push(A):S.set(z,[A])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){var H=this;return yt(function*(){const v=new Map,C=H.blankNodeInfo.get(k).quads;let R=0;for(const T of C){let b,y;if("BlankNode"===T.subject.termType&&T.subject.value!==k)y=T.subject.value,b="p";else{if("BlankNode"!==T.object.termType||T.object.value===k)continue;y=T.object.value,b="r"}++R%100==0&&(yield H._yield());const S=yield H.hashRelatedBlankNode(y,T,Q,b),A=v.get(S);A?A.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){const H=new Map,v=this.blankNodeInfo.get(k).quads;for(const C of v){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==k)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===k)continue;T=C.object.value,R="r"}const b=this.hashRelatedBlankNode(T,C,Q,R),y=H.get(b);y?y.push(T):H.set(b,[T])}return H}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),k=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let H;try{H=Y("rdf-canonize-native")}catch(C){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(C){return C&&(H=C),H},v.canonize=function(){var C=yt(function*(R,T){if(Array.isArray(R)||(R=v.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!H)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>H.canonize(R,T,(S,A)=>S?y(S):b(A)))}if("URDNA2015"===T.algorithm)return new W(T).main(R);if("URGNA2012"===T.algorithm)return new j(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),v._canonizeSync=function(C,R){if(Array.isArray(C)||(C=v.NQuads.legacyDatasetToQuads(C)),R.useNative){if(H)return H.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new k(R).main(C);if("URGNA2012"===R.algorithm)return new Q(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(k){this.termType="BlankNode",this.value=k}equals(k){return!!k&&"BlankNode"===k.termType&&k.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),k=Y("./Literal"),Q=Y("./NamedNode"),H=Y("./Quad"),v=Y("./Variable");let C=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${C++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new k.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,A){return new H.Quad(b,y,S,A||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(k.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(k){return!!k&&"DefaultGraph"===k.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,H){this.termType="Literal",this.value=Q,"string"==typeof H?(this.language=H,this.datatype=j.RDF_LANGUAGE_STRING):H?(this.language="",this.datatype=H):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(k){this.termType="NamedNode",this.value=k}equals(k){return!!k&&"NamedNode"===k.termType&&k.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(k,Q,H,v){this.termType="Quad",this.value="",this.subject=k,this.predicate=Q,this.object=H,this.graph=v}equals(k){return!!k&&("Quad"===k.termType||!k.termType)&&this.subject.equals(k.subject)&&this.predicate.equals(k.predicate)&&this.object.equals(k.object)&&this.graph.equals(k.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(k){this.termType="Variable",this.value=k}equals(k){return!!k&&"Variable"===k.termType&&k.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(k,Q){const H=k.saxStream._parser;super(k.trackPosition?`Line ${H.line+1} column ${H.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),k=Y("stream"),Q=Y("./ParseError"),H=Y("rdf-data-factory");class v extends k.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new H.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,b){const y={};let S=!1;for(const z in T.attributes)z.startsWith("xmlns")&&(5===z.length?(S=!0,y[""]=T.attributes[z]):":"===z.charAt(5)&&(S=!0,y[z.substr(6)]=T.attributes[z]));const A=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?A.concat([y]):A}static expandPrefixedTerm(T,b,y){const S=T.indexOf(":");let A,z;S>=0?(A=T.substr(0,S),z=T.substr(S+1)):(A="",z=T);let P=null,X=null;for(let ue=b.length-1;ue>=0;ue--){const I=b[ue][A];if(I){P=I;break}X||(X=b[ue][""])}if(!P){if(A&&"xmlns"!==A)throw new Q.ParseError(y,`The prefix '${A}' in term '${T}' was not bound.`);P=X||""}return{prefix:A,local:z,uri:P}}static isValidIri(T){return v.IRI_REGEX.test(T)}import(T){const b=new k.PassThrough({readableObjectMode:!0});T.on("error",S=>y.emit("error",S)),T.on("data",S=>b.push(S)),T.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(T,b,y){try{this.saxStream.write(T,b)}catch(S){return y(S)}y()}newParseError(T){return new Q.ParseError(this,T)}valueToUri(T,b){return this.uriToNamedNode(W.resolve(T,b.baseIRI))}uriToNamedNode(T){if(!v.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!v.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=C.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const A=T.name;let z="";for(const I in T.attributes)z+=` ${I}="${T.attributes[I]}"`;b.childrenStringTags.push(`<${A}${z}>`);const ue={childrenStringTags:b.childrenStringTags};return ue.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ue)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(T,b),y===C.RESOURCE?this.onTagResource(T,S,b,!b):this.onTagProperty(T,S,b)}onTagResource(T,b,y,S){const A=v.expandPrefixedTerm(T.name,b.ns,this);b.childrenParseType=C.PROPERTY;let z=!0;if(A.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(A.local)>=0)throw this.newParseError(`Illegal node element name: ${A.local}`);switch(A.local){case"RDF":b.childrenParseType=C.RESOURCE;case"Description":z=!1}}const P=[],X=[];let ue=null,I=!1,O=!1,K=null;for(const E in T.attributes){const $=T.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);ue=$;continue;case"ID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue="#"+$,I=!0;continue;case"nodeID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue=$,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":K=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(P.push(this.uriToNamedNode(Z.uri+Z.local)),X.push($))}if(null!==ue&&(b.subject=O?this.dataFactory.blankNode(ue):this.valueToUri(ue,b),I&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),z){const E=this.uriToNamedNode(A.uri+A.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let A=!1,z=!1,P=null,X=!0;const ue=[],I=[];for(const O in T.attributes){const K=T.attributes[O],E=v.expandPrefixedTerm(O,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(P)throw this.newParseError(`Found both rdf:resource (${K}) and rdf:nodeID (${P}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${K})`);b.hadChildren=!0,P=K,X=!1;continue;case"datatype":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${K})`);b.datatype=this.valueToUri(K,b);continue;case"nodeID":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${K}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${K})`);this.validateNcname(K),b.hadChildren=!0,P=K,X=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(z)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(P)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${P})`);if("Resource"===K){A=!0,b.childrenParseType=C.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===K?(A=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,X=!1):"Literal"===K&&(A=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(K),b.reifiedStatementId=this.valueToUri("#"+K,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===K?null:K.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(A||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${K}`);b.hadChildren=!0,z=!0,ue.push(this.uriToNamedNode(E.uri+E.local)),I.push(this.dataFactory.literal(K,b.datatype||b.language))}}if(null!==P){const O=b.subject;b.subject=X?this.dataFactory.blankNode(P):this.valueToUri(P,b),this.emitTriple(O,b.predicate,b.subject,b.reifiedStatementId);for(let K=0;K/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var C,R;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=he.ParseType||(he.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function k(R,T,b){b||(b=Error);var S=function(A){function z(P,X,ue){return A.call(this,function(A,z,P){return"string"==typeof T?T:T(A,z,P)}(P,X,ue))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(z,A),z}(b);S.prototype.name=b.name,S.prototype.code=R,j[R]=S}function Q(R,T){if(Array.isArray(R)){var b=R.length;return R=R.map(function(y){return String(y)}),b>2?"one of ".concat(T," ").concat(R.slice(0,b-1).join(", "),", or ")+R[b-1]:2===b?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}k("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),k("ERR_INVALID_ARG_TYPE",function(R,T,b){var y,S;if("string"==typeof T&&function(R,T,b){return R.substr(!b||b<0?0:+b,T.length)===T}(T,"not ")?(y="must not be",T=T.replace(/^not /,"")):y="must be",function(R,T,b){return(void 0===b||b>R.length)&&(b=R.length),R.substring(b-T.length,b)===T}(R," argument"))S="The ".concat(R," ").concat(y," ").concat(Q(T,"type"));else{var A=function(R,T,b){return"number"!=typeof b&&(b=0),!(b+T.length>R.length)&&-1!==R.indexOf(T,b)}(R,".")?"property":"argument";S='The "'.concat(R,'" ').concat(A," ").concat(y," ").concat(Q(T,"type"))}return S+". Received type ".concat(typeof b)},TypeError),k("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),k("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),k("ERR_STREAM_PREMATURE_CLOSE","Premature close"),k("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),k("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),k("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),k("ERR_STREAM_WRITE_AFTER_END","write after end"),k("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),k("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),k("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var A in y)S.push(A);return S};Se.exports=R;var k=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(R,k);for(var H=j(Q.prototype),v=0;v0)if("string"!=typeof B&&!Ze.objectMode&&Object.getPrototypeOf(B)!==C.prototype&&(B=function(we){return C.from(we)}(B)),V)Ze.endEmitted?oe(we,new E):Oe(we,Ze,B,!0);else if(Ze.ended)oe(we,new O);else{if(Ze.destroyed)return!1;Ze.reading=!1,Ze.decoder&&!N?(B=Ze.decoder.write(B),Ze.objectMode||0!==B.length?Oe(we,Ze,B,!1):Ke(we,Ze)):Oe(we,Ze,B,!1)}else V||(Ze.reading=!1,Ke(we,Ze));return!Ze.ended&&(Ze.lengthB.highWaterMark&&(B.highWaterMark=function(we){return we>=st?we=st:(we--,we|=we>>>1,we|=we>>>2,we|=we>>>4,we|=we>>>8,we|=we>>>16,we++),we}(we)),we<=B.length?we:B.ended?B.length:(B.needReadable=!0,0))}function ze(we){var B=we._readableState;S("emitReadable",B.needReadable,B.emittedReadable),B.needReadable=!1,B.emittedReadable||(S("emitReadable",B.flowing),B.emittedReadable=!0,W.nextTick(Le,we))}function Le(we){var B=we._readableState;S("emitReadable_",B.destroyed,B.length,B.ended),!B.destroyed&&(B.length||B.ended)&&(we.emit("readable"),B.emittedReadable=!1),B.needReadable=!B.flowing&&!B.ended&&B.length<=B.highWaterMark,pe(we)}function Ke(we,B){B.readingMore||(B.readingMore=!0,W.nextTick(Me,we,B))}function Me(we,B){for(;!B.reading&&!B.ended&&(B.length0,B.resumeScheduled&&!B.paused?B.flowing=!0:we.listenerCount("data")>0&&we.resume()}function ke(we){S("readable nexttick read 0"),we.read(0)}function G(we,B){S("resume",B.reading),B.reading||we.read(0),B.resumeScheduled=!1,we.emit("resume"),pe(we),B.flowing&&!B.reading&&we.read(0)}function pe(we){var B=we._readableState;for(S("flow",B.flowing);B.flowing&&null!==we.read(););}function de(we,B){return 0===B.length?null:(B.objectMode?N=B.buffer.shift():!we||we>=B.length?(N=B.decoder?B.buffer.join(""):1===B.buffer.length?B.buffer.first():B.buffer.concat(B.length),B.buffer.clear()):N=B.buffer.consume(we,B.decoder),N);var N}function je(we){var B=we._readableState;S("endReadable",B.endEmitted),B.endEmitted||(B.ended=!0,W.nextTick(_t,B,we))}function _t(we,B){if(S("endReadableNT",we.endEmitted,we.length),!we.endEmitted&&0===we.length&&(we.endEmitted=!0,B.readable=!1,B.emit("end"),we.autoDestroy)){var N=B._writableState;(!N||N.autoDestroy&&N.finished)&&B.destroy()}}function pt(we,B){for(var N=0,V=we.length;N=B.highWaterMark:B.length>0)||B.ended))return S("read: emitReadable",B.length,B.ended),0===B.length&&B.ended?je(this):ze(this),null;if(0===(we=tt(we,B))&&B.ended)return 0===B.length&&je(this),null;var Re,V=B.needReadable;return S("need readable",V),(0===B.length||B.length-we0?de(we,B):null)?(B.needReadable=B.length<=B.highWaterMark,we=0):(B.length-=we,B.awaitDrain=0),0===B.length&&(B.ended||(B.needReadable=!0),N!==we&&B.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(we){oe(this,new K("_read()"))},ne.prototype.pipe=function(we,B){var N=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=we;break;case 1:V.pipes=[V.pipes,we];break;default:V.pipes.push(we)}V.pipesCount+=1,S("pipe count=%d opts=%j",V.pipesCount,B);var Ze=B&&!1===B.end||we===W.stdout||we===W.stderr?fs:kt;function Tt(Bs,Kr){S("onunpipe"),Bs===N&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,S("cleanup"),we.removeListener("close",Xr),we.removeListener("finish",Ls),we.removeListener("drain",In),we.removeListener("error",xi),we.removeListener("unpipe",Tt),N.removeListener("end",kt),N.removeListener("end",fs),N.removeListener("data",Mi),Nn=!0,V.awaitDrain&&(!we._writableState||we._writableState.needDrain)&&In())}function kt(){S("onend"),we.end()}V.endEmitted?W.nextTick(Ze):N.once("end",Ze),we.on("unpipe",Tt);var In=function(we){return function(){var N=we._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&H(we,"data")&&(N.flowing=!0,pe(we))}}(N);we.on("drain",In);var Nn=!1;function Mi(Bs){S("ondata");var Kr=we.write(Bs);S("dest.write",Kr),!1===Kr&&((1===V.pipesCount&&V.pipes===we||V.pipesCount>1&&-1!==pt(V.pipes,we))&&!Nn&&(S("false write response, pause",V.awaitDrain),V.awaitDrain++),N.pause())}function xi(Bs){S("onerror",Bs),fs(),we.removeListener("error",xi),0===H(we,"error")&&oe(we,Bs)}function Xr(){we.removeListener("finish",Ls),fs()}function Ls(){S("onfinish"),we.removeListener("close",Xr),fs()}function fs(){S("unpipe"),N.unpipe(we)}return N.on("data",Mi),function(we,B,N){if("function"==typeof we.prependListener)return we.prependListener(B,N);we._events&&we._events[B]?Array.isArray(we._events[B])?we._events[B].unshift(N):we._events[B]=[N,we._events[B]]:we.on(B,N)}(we,"error",xi),we.once("close",Xr),we.once("finish",Ls),we.emit("pipe",N),V.flowing||(S("pipe resume"),N.resume()),we},ne.prototype.unpipe=function(we){var B=this._readableState,N={hasUnpiped:!1};if(0===B.pipesCount)return this;if(1===B.pipesCount)return we&&we!==B.pipes||(we||(we=B.pipes),B.pipes=null,B.pipesCount=0,B.flowing=!1,we&&we.emit("unpipe",this,N)),this;if(!we){var V=B.pipes,Re=B.pipesCount;B.pipes=null,B.pipesCount=0,B.flowing=!1;for(var Ze=0;Ze0,!1!==V.flowing&&this.resume()):"readable"===we&&!V.endEmitted&&!V.readableListening&&(V.readableListening=V.needReadable=!0,V.flowing=!1,V.emittedReadable=!1,S("on readable",V.length,V.reading),V.length?ze(this):V.reading||W.nextTick(ke,this)),N},ne.prototype.removeListener=function(we,B){var N=v.prototype.removeListener.call(this,we,B);return"readable"===we&&W.nextTick(qe,this),N},ne.prototype.removeAllListeners=function(we){var B=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===we||void 0===we)&&W.nextTick(qe,this),B},ne.prototype.resume=function(){var we=this._readableState;return we.flowing||(S("resume"),we.flowing=!we.readableListening,function(we,B){B.resumeScheduled||(B.resumeScheduled=!0,W.nextTick(G,we,B))}(this,we)),we.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(we){var B=this,N=this._readableState,V=!1;for(var Re in we.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var Tt=N.decoder.end();Tt&&Tt.length&&B.push(Tt)}B.push(null)}),we.on("data",function(Tt){S("wrapped data"),N.decoder&&(Tt=N.decoder.write(Tt)),N.objectMode&&null==Tt||!(N.objectMode||Tt&&Tt.length)||B.push(Tt)||(V=!0,we.pause())}),we)void 0===this[Re]&&"function"==typeof we[Re]&&(this[Re]=function(kt){return function(){return we[kt].apply(we,arguments)}}(Re));for(var Ze=0;Ze-1))throw new Z(de);return this._writableState.defaultEncoding=de,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,de,je){je(new ue("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,de,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,de=null):"function"==typeof de&&(je=de,de=null),null!=pe&&this.write(pe,de),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,de,je){de.ending=!0,ke(pe,de),je&&(de.finished?W.nextTick(je):pe.once("finish",je)),de.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(de){!this._writableState||(this._writableState.destroyed=de)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,de){de(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function k(O,K,E){return K in O?Object.defineProperty(O,K,{value:E,enumerable:!0,configurable:!0,writable:!0}):O[K]=E,O}var Q=Y("./end-of-stream"),H=Symbol("lastResolve"),v=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(O,K){return{value:O,done:K}}function A(O){var K=O[H];if(null!==K){var E=O[y].read();null!==E&&(O[T]=null,O[H]=null,O[v]=null,K(S(E,!1)))}}function z(O){W.nextTick(A,O)}var X=Object.getPrototypeOf(function(){}),ue=Object.setPrototypeOf((k(j={get stream(){return this[y]},next:function(){var K=this,E=this[C];if(null!==E)return Promise.reject(E);if(this[R])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(oe,te){W.nextTick(function(){K[C]?te(K[C]):oe(S(void 0,!0))})});var Z,$=this[T];if($)Z=new Promise(function(O,K){return function(E,$){O.then(function(){K[R]?E(S(void 0,!0)):K[b](E,$)},$)}}($,this));else{var ae=this[y].read();if(null!==ae)return Promise.resolve(S(ae,!1));Z=new Promise(this[b])}return this[T]=Z,Z}},Symbol.asyncIterator,function(){return this}),k(j,"return",function(){var K=this;return new Promise(function(E,$){K[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),X);Se.exports=function(K){var E,$=Object.create(ue,(k(E={},y,{value:K,writable:!0}),k(E,H,{value:null,writable:!0}),k(E,v,{value:null,writable:!0}),k(E,C,{value:null,writable:!0}),k(E,R,{value:K._readableState.endEmitted,writable:!0}),k(E,b,{value:function(ae,oe){var te=$[y].read();te?($[T]=null,$[H]=null,$[v]=null,ae(S(te,!1))):($[H]=ae,$[v]=oe)},writable:!0}),E));return $[T]=null,Q(K,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var ae=$[v];return null!==ae&&($[T]=null,$[H]=null,$[v]=null,ae(Z)),void($[C]=Z)}var oe=$[H];null!==oe&&($[T]=null,$[H]=null,$[v]=null,oe(S(void 0,!0))),$[R]=!0}),K.on("readable",z.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(A,z){var P=Object.keys(A);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(A);z&&(X=X.filter(function(ue){return Object.getOwnPropertyDescriptor(A,ue).enumerable})),P.push.apply(P,X)}return P}function k(A,z,P){return z in A?Object.defineProperty(A,z,{value:P,enumerable:!0,configurable:!0,writable:!0}):A[z]=P,A}function H(A,z){for(var P=0;P0?this.tail.next=X:this.head=X,this.tail=X,++this.length}},{key:"unshift",value:function(P){var X={data:P,next:this.head};0===this.length&&(this.tail=X),this.head=X,++this.length}},{key:"shift",value:function(){if(0!==this.length){var P=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(0===this.length)return"";for(var X=this.head,ue=""+X.data;X=X.next;)ue+=P+X.data;return ue}},{key:"concat",value:function(P){if(0===this.length)return R.alloc(0);for(var X=R.allocUnsafe(P>>>0),ue=this.head,I=0;ue;)S(ue.data,X,I),I+=ue.data.length,ue=ue.next;return X}},{key:"consume",value:function(P,X){var ue;return PO.length?O.length:P;if(I+=K===O.length?O:O.slice(0,P),0==(P-=K)){K===O.length?(++ue,this.head=X.next?X.next:this.tail=null):(this.head=X,X.data=O.slice(K));break}++ue}return this.length-=ue,I}},{key:"_getBuffer",value:function(P){var X=R.allocUnsafe(P),ue=this.head,I=1;for(ue.data.copy(X),P-=ue.data.length;ue=ue.next;){var O=ue.data,K=P>O.length?O.length:P;if(O.copy(X,X.length-P,0,K),0==(P-=K)){K===O.length?(++I,this.head=ue.next?ue.next:this.tail=null):(this.head=ue,ue.data=O.slice(K));break}++I}return this.length-=I,X}},{key:y,value:function(P,X){return b(this,function(A){for(var z=1;z0,function(Z){ue||(ue=Z),Z&&I.forEach(T),!E&&(I.forEach(T),X(ue))})});return z.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,H,v,C){var R=function(Q,H,v){return null!=Q.highWaterMark?Q.highWaterMark:H?Q[v]:null}(H,C,v);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new W(C?v:"highWaterMark",R);return Math.floor(R)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var k in j)he.hasOwnProperty(k)||(he[k]=j[k])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(H){const v=[];let C=0;for(;CR.join("")).join("/")}function k(H,v){let C=v+1;v>=0?"/"===H[v+1]&&"/"===H[v+2]&&(C=v+3):"/"===H[0]&&"/"===H[1]&&(C=2);const R=H.indexOf("/",C);return R<0?H:H.substr(0,R)+j(H.substr(R))}function Q(H){return!H||"#"===H||"?"===H||"/"===H}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(H,v){const C=(v=v||"").indexOf("#");if(C>0&&(v=v.substr(0,C)),!H.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);return v}if(H.startsWith("?")){const z=v.indexOf("?");return z>0&&(v=v.substr(0,z)),v+H}if(H.startsWith("#"))return v+H;if(!v.length){const z=H.indexOf(":");if(z<0)throw new Error(`Found invalid relative IRI '${H}' for a missing baseIRI`);return k(H,z)}const R=H.indexOf(":");if(R>=0)return k(H,R);const T=v.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);const b=v.substr(0,T+1);if(0===H.indexOf("//"))return b+k(H,R);let y;if(v.indexOf("//",T)===T+1){if(y=v.indexOf("/",T+3),y<0)return v.length>T+3?v+"/"+k(H,R):b+k(H,R)}else if(y=v.indexOf("/",T+1),y<0)return b+k(H,R);if(0===H.indexOf("/"))return v.substr(0,y)+j(H);let S=v.substr(y);const A=S.lastIndexOf("/");return A>=0&&A"===de?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(de)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=de);continue;case te.SGML_DECL_QUOTED:de===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=de;continue;case te.DOCTYPE:">"===de?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=de,"["===de?G.state=te.DOCTYPE_DTD:$(de)&&(G.state=te.DOCTYPE_QUOTED,G.q=de));continue;case te.DOCTYPE_QUOTED:G.doctype+=de,de===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=de,"]"===de?G.state=te.DOCTYPE:$(de)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=de);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=de,de===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===de?G.state=te.COMMENT_ENDING:G.comment+=de;continue;case te.COMMENT_ENDING:"-"===de?(G.state=te.COMMENT_ENDED,G.comment=Oe(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+de,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==de?(Qe(G,"Malformed comment"),G.comment+="--"+de,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===de?G.state=te.CDATA_ENDING:G.cdata+=de;continue;case te.CDATA_ENDING:"]"===de?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+de,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===de?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===de?G.cdata+="]":(G.cdata+="]]"+de,G.state=te.CDATA);continue;case te.PROC_INST:"?"===de?G.state=te.PROC_INST_ENDING:E(de)?G.state=te.PROC_INST_BODY:G.procInstName+=de;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(de))continue;"?"===de?G.state=te.PROC_INST_ENDING:G.procInstBody+=de;continue;case te.PROC_INST_ENDING:">"===de?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+de,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ae(I,de)?G.tagName+=de:(tt(G),">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:(E(de)||Qe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===de?(Le(G,!0),Ke(G)):(Qe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(de))continue;">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===de?G.state=te.ATTRIB_VALUE:">"===de?(Qe(G,"Attribute without value"),G.attribValue=G.attribName,ze(G),Le(G)):E(de)?G.state=te.ATTRIB_NAME_SAW_WHITE:ae(I,de)?G.attribName+=de:Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===de)G.state=te.ATTRIB_VALUE;else{if(E(de))continue;Qe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===de?Le(G):ae(ue,de)?(G.attribName=de,G.state=te.ATTRIB_NAME):(Qe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(de))continue;$(de)?(G.q=de,G.state=te.ATTRIB_VALUE_QUOTED):(Qe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=de);continue;case te.ATTRIB_VALUE_QUOTED:if(de!==G.q){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=de;continue}ze(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(de)?G.state=te.ATTRIB:">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(Qe(G,"No whitespace between attributes"),G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(de)){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=de;continue}ze(G),">"===de?Le(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===de?Ke(G):ae(I,de)?G.tagName+=de:G.script?(G.script+=""===de?Ke(G):Qe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,we;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,we="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,we="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,we="attribValue"}";"===de?(G[we]+=Me(G),G.entity="",G.state=pt):ae(G.entity.length?K:O,de)?G.entity+=de:(Qe(G,"Invalid character in entity name"),G[we]+="&"+G.entity+de,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,de=0,je=k.length;deG)switch(k[de]){case"textNode":ye(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:$e(q,"Max buffer length exceeded: "+k[de])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){ye(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{R=Y("stream").Stream}catch(q){R=function(){}}var T=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);R.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(de){pe.emit("error",de),pe._parser.error=null},this._decoder=null,T.forEach(function(de){Object.defineProperty(pe,"on"+de,{get:function(){return pe._parser["on"+de]},set:function(je){if(!je)return pe.removeAllListeners(de),pe._parser["on"+de]=je,je;pe.on(de,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(R.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==T.indexOf(q)&&(pe._parser["on"+q]=function(){var de=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);de.splice(0,0,q),pe.emit.apply(pe,de)}),R.prototype.on.call(pe,q,G)};var z="http://www.w3.org/XML/1998/namespace",P="http://www.w3.org/2000/xmlns/",X={xml:z,xmlns:P},ue=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,I=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,K=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function ae(q,G){return q.test(G)}function oe(q,G){return!ae(q,G)}var q,G,pe,te=0;for(var Te in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Te]]=Te;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&ye(q),me(q,G,pe)}function ye(q){q.textNode=Oe(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Oe(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function $e(q,G){return ye(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Qe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&$e(q,"Unexpected end"),ye(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Qe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&$e(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Xe(q,G){var de=q.indexOf(":")<0?["",q]:q.split(":"),je=de[0],_t=de[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function ze(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Xe(q.attribName,!0),de=G.local;if("xmlns"===G.prefix)if("xml"===de&&q.attribValue!==z)Qe(q,"xml: prefix must be bound to "+z+"\nActual: "+q.attribValue);else if("xmlns"===de&&q.attribValue!==P)Qe(q,"xmlns: prefix must be bound to "+P+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[de]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function Le(q,G){if(q.opt.xmlns){var pe=q.tag,de=Xe(q.tagName);pe.prefix=de.prefix,pe.local=de.local,pe.uri=pe.ns[de.prefix]||"",pe.prefix&&!pe.uri&&(Qe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=de.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(In){ne(q,"onopennamespace",{prefix:In,uri:pe.ns[In]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var de=pe;G--&&q.tags[G].name!==de;)Qe(q,"Unexpected close tag");if(G<0)return Qe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var we={};for(var B in pt.ns)we[B]=pt.ns[B];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(V){ne(q,"onclosenamespace",{prefix:V,uri:pt.ns[V]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var de,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(de=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(de=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(de)||je.toLowerCase()!==G?(Qe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(de))}function Ue(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Qe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function qe(q,G){var pe="";return G1114111||G(V)!==V)throw RangeError("Invalid code point: "+V);V<=65535?je.push(V):je.push(55296+((V-=65536)>>10),V%1024+56320),(we+1===B||je.length>de)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(k,Q){"use strict";if(!k.setImmediate){var T,H=1,v={},C=!1,R=k.document,K=Object.getPrototypeOf&&Object.getPrototypeOf(k);K=K&&K.setTimeout?K:k,"[object process]"==={}.toString.call(k.process)?T=function(E){W.nextTick(function(){A(E)})}:function(){if(k.postMessage&&!k.importScripts){var E=!0,$=k.onmessage;return k.onmessage=function(){E=!1},k.postMessage("","*"),k.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===k&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&A(+Z.data.slice(E.length))},k.addEventListener?k.addEventListener("message",$,!1):k.attachEvent("onmessage",$),T=function(Z){k.postMessage(E+Z,"*")}):k.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){A($.data)},T=function($){E.port2.postMessage($)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var E=R.documentElement;T=function($){var Z=R.createElement("script");Z.onreadystatechange=function(){A($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():T=function(E){setTimeout(A,0,E)},K.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[H]={callback:E,args:$},T(H),H++},K.clearImmediate=y}var E,$;function y(E){delete v[E]}function A(E){if(C)setTimeout(A,0,E);else{var $=v[E];if($){C=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),C=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=k;var W=Y("events").EventEmitter;function k(){W.call(this)}Y("inherits")(k,W),k.Readable=Y("readable-stream/lib/_stream_readable.js"),k.Writable=Y("readable-stream/lib/_stream_writable.js"),k.Duplex=Y("readable-stream/lib/_stream_duplex.js"),k.Transform=Y("readable-stream/lib/_stream_transform.js"),k.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),k.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),k.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),k.Stream=k,k.prototype.pipe=function(Q,H){var v=this;function C(z){Q.writable&&!1===Q.write(z)&&v.pause&&v.pause()}function R(){v.readable&&v.resume&&v.resume()}v.on("data",C),Q.on("drain",R),!Q._isStdio&&(!H||!1!==H.end)&&(v.on("end",b),v.on("close",y));var T=!1;function b(){T||(T=!0,Q.end())}function y(){T||(T=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(z){if(A(),0===W.listenerCount(this,"error"))throw z}function A(){v.removeListener("data",C),Q.removeListener("drain",R),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",A),v.removeListener("close",A),Q.removeListener("close",A)}return v.on("error",S),Q.on("error",S),v.on("end",A),v.on("close",A),Q.on("close",A),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var k=Y("process/browser.js").nextTick,Q=Function.prototype.apply,H=Array.prototype.slice,v={},C=0;function R(T,b){this._id=T,this._clearFn=b}he.setTimeout=function(){return new R(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new R(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(T){T.close()},R.prototype.unref=R.prototype.ref=function(){},R.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(T,b){clearTimeout(T._idleTimeoutId),T._idleTimeout=b},he.unenroll=function(T){clearTimeout(T._idleTimeoutId),T._idleTimeout=-1},he._unrefActive=he.active=function(T){clearTimeout(T._idleTimeoutId);var b=T._idleTimeout;b>=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(T){var b=C++,y=!(arguments.length<2)&&H.call(arguments,1);return v[b]=!0,k(function(){v[b]&&(y?T.apply(null,y):T.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(T){delete v[T]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function k(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var H=W.localStorage[Q];return null!=H&&"true"===String(H).toLowerCase()}Se.exports=function(Q,H){if(k("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(k("throwDeprecation"))throw new Error(H);k("traceDeprecation")?console.trace(H):console.warn(H),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var C=this;if(C instanceof W||(C=new W),C.tail=null,C.head=null,C.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){C.push(b)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var b=0;null!==T;b++)R=v(R,T.value,b),T=T.next;return R},W.prototype.reduceReverse=function(v,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var b=this.length-1;null!==T;b--)R=v(R,T.value,b),T=T.prev;return R},W.prototype.toArray=function(){for(var v=new Array(this.length),C=0,R=this.head;null!==R;C++)v[C]=R.value,R=R.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),C=0,R=this.tail;null!==R;C++)v[C]=R.value,R=R.prev;return v},W.prototype.slice=function(v,C){(C=C||this.length)<0&&(C+=this.length),(v=v||0)<0&&(v+=this.length);var R=new W;if(Cthis.length&&(C=this.length);for(var T=0,b=this.head;null!==b&&Tthis.length&&(C=this.length);for(var T=this.length,b=this.tail;null!==b&&T>C;T--)b=b.prev;for(;null!==b&&T>v;T--,b=b.prev)R.push(b.value);return R},W.prototype.splice=function(v,C,...R){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var T=0,b=this.head;null!==b&&T{"use strict";Ut.exports=et,Ut.exports.default=et;var it=1e20;function et(Y,Se,he,W,j,k){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=k||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,H=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(H*H),this.gridInner=new Float64Array(H*H),this.f=new Float64Array(H),this.z=new Float64Array(H+1),this.v=new Uint16Array(H),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Dt(Y,Se,he,W,j,k){for(var Q=0;Q-1);k[++v]=H,Q[v]=C,Q[v+1]=it}for(H=0,v=0;H{Ut.exports=function(et,yt){var ee=yt.length;if(0!==ee){var Dt=et.length;et.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Dt=yt||(yt={})).typeOfFunction="function",Dt.boolTrue=!0,yt;var Dt})();function ee(Dt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},7266:(Ut,it,et)=>{Ut.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Ut,it,et){"use strict";var yt,ee,Dt;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Dt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function k(I){I||(I=document.documentElement);var O=window.getComputedStyle(I,null).fontSize;return parseFloat(O)||16}function H(I,O){var K=O.split(/\d/),E=K[K.length-1];switch(O=parseFloat(O),E){case"px":return O;case"em":return O*k(I);case"rem":return O*k();case"vw":return O*document.documentElement.clientWidth/100;case"vh":return O*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return O*(0,Math["vmin"===E?"min":"max"])($,Z);default:return O}}function v(I,O){this.element=I;var K,E,$,Z,ae,oe,te,Te,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(K in $=function(I){if(!I.getBoundingClientRect)return{width:I.offsetWidth,height:I.offsetHeight};var O=I.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}(this.element),oe={},W[O])!W[O].hasOwnProperty(K)||(Z=H(this.element,(E=W[O][K]).value),ae="width"===E.property?$.width:$.height,te="","min"===E.mode&&ae>=Z&&(te+=E.value),"max"===E.mode&&ae<=Z&&(te+=E.value),oe[Te=E.mode+"-"+E.property]||(oe[Te]=""),te&&-1===(" "+oe[Te]+" ").indexOf(" "+te+" ")&&(oe[Te]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(oe[me[ne]]?this.element.setAttribute(me[ne],oe[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function C(I,O){I.elementQueriesSetupInformation||(I.elementQueriesSetupInformation=new v(I,O)),I.elementQueriesSensor||(I.elementQueriesSensor=new dt(I,function(){I.elementQueriesSetupInformation.call()}))}function R(I,O,K,E){if(void 0===W[I]){W[I]=[];var $=j.length;he.innerHTML+="\n"+I+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+I+" > .resize-sensor {min-width: "+$+"px;}",j.push(I)}W[I].push({mode:O,property:K,value:E})}function T(I){var O;if(document.querySelectorAll&&(O=I?I.querySelectorAll.bind(I):document.querySelectorAll.bind(document)),!O&&"undefined"!=typeof $$&&(O=$$),!O&&"undefined"!=typeof jQuery&&(O=jQuery),!O)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return O}function y(I){var O=[],K=[],E=[],$=0,Z=-1,ae=[];for(var oe in I.children)if(I.children.hasOwnProperty(oe)&&I.children[oe].tagName&&"img"===I.children[oe].tagName.toLowerCase()){O.push(I.children[oe]);var te=I.children[oe].getAttribute("min-width")||I.children[oe].getAttribute("data-min-width"),Te=I.children[oe].getAttribute("data-src")||I.children[oe].getAttribute("url");E.push(Te),K.push({minWidth:te}),te?I.children[oe].style.display="none":($=O.length-1,I.children[oe].style.display="block")}function ne(){var Oe,ye=!1;for(Oe in O)!O.hasOwnProperty(Oe)||K[Oe].minWidth&&I.offsetWidth>K[Oe].minWidth&&(ye=Oe);if(ye||(ye=$),Z!==ye)if(ae[ye])O[Z].style.display="none",O[ye].style.display="block",Z=ye;else{var $e=new Image;$e.onload=function(){O[ye].src=E[ye],O[Z].style.display="none",O[ye].style.display="block",ae[ye]=!0,Z=ye},$e.src=E[ye]}else O[ye].src=E[ye]}Z=$,I.resizeSensorInstance=new dt(I,ne),ne()}var A=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,z=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function P(I){var O,K,E,$;for(I=I.replace(/'/g,'"');null!==(O=A.exec(I));)for(K=O[1]+O[3],E=O[2];null!==($=z.exec(E));)R(K,$[1],$[2],$[3])}function X(I){var O="";if(I)if("string"==typeof I)(-1!==(I=I.toLowerCase()).indexOf("min-width")||-1!==I.indexOf("max-width"))&&P(I);else for(var K=0,E=I.length;K img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ue=!0);for(var O=0,K=document.styleSheets.length;O{var yt=et(3910),ee=et(9369),Dt=et(322);function dt(Q,H,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(H))throw new Error('graphology-shortest-path: the "'+H+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((H=""+H)==(v=""+v))return[H];var C=Q.inboundNeighbors.bind(Q),R=Q.outboundNeighbors.bind(Q),T={},b={};T[H]=null,b[v]=null;var A,z,P,X,ue,I,O,K,y=[H],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(A=y,y=[],ue=0,O=A.length;ue{Ut.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(re){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(re)}function et(re,fe){re.prototype=Object.create(fe.prototype),re.prototype.constructor=re,ee(re,fe)}function yt(re){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(re)}function ee(re,fe){return(ee=Object.setPrototypeOf||function(se,M){return se.__proto__=M,se})(re,fe)}function Dt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(re){return!1}}function dt(re,fe,se){return(dt=Dt()?Reflect.construct:function(M,L,J){var Ee=[null];Ee.push.apply(Ee,L);var Fe=new(Function.bind.apply(M,Ee));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(re){var fe="function"==typeof Map?new Map:void 0;return(Y=function(se){if(null===se||-1===Function.toString.call(se).indexOf("[native code]"))return se;if("function"!=typeof se)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(se))return fe.get(se);fe.set(se,L)}function L(){return dt(se,arguments,yt(this).constructor)}return L.prototype=Object.create(se.prototype,{constructor:{value:L,enumerable:!1,writable:!0,configurable:!0}}),ee(L,se)})(re)}function Se(re){if(void 0===re)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return re}var he=function(){for(var re=arguments[0],fe=1,se=arguments.length;fe0&&Ee.length>L&&!Ee.warned){Ee.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+Ee.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=re,nt.type=fe,nt.count=Ee.length,console&&console.warn&&console.warn(nt)}return re}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(re,fe,se){var M={fired:!1,wrapFn:void 0,target:re,type:fe,listener:se},L=I.bind(M);return L.listener=se,M.wrapFn=L,L}function K(re,fe,se){var M=re._events;if(void 0===M)return[];var L=M[fe];return void 0===L?[]:"function"==typeof L?se?[L.listener||L]:[L]:se?function(J){for(var Ee=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var Ee=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Ee.context=J,Ee}var Fe=L[re];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Pt=$(Fe,nt);for(se=0;se=0;J--)if(se[J]===fe||se[J].listener===fe){Ee=se[J].listener,L=J;break}if(L<0)return this;0===L?se.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(re,fe[M]);return this},A.prototype.listeners=function(re){return K(this,re,!0)},A.prototype.rawListeners=function(re){return K(this,re,!1)},A.listenerCount=function(re,fe){return"function"==typeof re.listenerCount?re.listenerCount(fe):E.call(re,fe)},A.prototype.listenerCount=E,A.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ae.prototype.next=function(){if(this.done)return{done:!0};var re=this._next();return re.done&&(this.done=!0),re},"undefined"!=typeof Symbol&&(ae.prototype[Symbol.iterator]=function(){return this}),ae.of=function(){var re=arguments,fe=re.length,se=0;return new ae(function(){return se>=fe?{done:!0}:{done:!1,value:re[se++]}})},ae.empty=function(){var re=new ae(null);return re.done=!0,re},ae.is=function(re){return re instanceof ae||"object"==typeof re&&null!==re&&"function"==typeof re.next};var oe=ae,te=function(re,fe){for(var se,M=arguments.length>1?fe:1/0,L=M!==1/0?new Array(M):[],J=0;;){if(J===M)return L;if((se=re.next()).done)return J!==fe?L.slice(0,J):L;L[J++]=se.value}},Te=function(re){function fe(se,M){var L;return(L=re.call(this)||this).name="GraphError",L.message=se||"",L.data=M||{},L}return et(fe,re),fe}(Y(Error)),me=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ne=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ye=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te);function Oe(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function $e(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(re,fe){this.key=re,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Qe(re,fe,se,M,L,J){this.key=fe,this.attributes=J,this.undirected=re,this.source=M,this.target=L,this.generatedKey=se}function tt(re,fe,se,M,L,J,Ee){var Fe,nt,Pt="out",We="in";if(fe&&(Pt=We="undirected"),re.multi){if(void 0===(nt=(Fe=J[Pt])[L])&&(nt=new Set,Fe[L]=nt),nt.add(se),M===L&&fe)return;void 0===(Fe=Ee[We])[M]&&(Fe[M]=nt)}else{if(J[Pt][L]=se,M===L&&fe)return;Ee[We][M]=se}}function Xe(re,fe,se){var M=re.multi,L=se.source,J=se.target,Ee=L.key,Fe=J.key,nt=L[fe?"undirected":"out"],Pt=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Pt][Ee]):We.delete(se)}else delete nt[Fe];M||delete J[Pt][Ee]}$e.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var ze=[{name:function(re){return"get".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes[L]}}},{name:function(re){return"get".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M){var L;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,Ee=""+arguments[1];if(!(L=W(this,J,Ee,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(Ee,'").'))}else if(!(L=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&L.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return L.attributes}}},{name:function(re){return"has".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes.hasOwnProperty(L)}}},{name:function(re){return"set".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J,this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"update".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J(Ee.attributes[L]),this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"remove".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return delete J.attributes[L],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:L}),this}}},{name:function(re){return"replace".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes=L,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(re){return"merge".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return he(J.attributes,L),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:L}),this}}}],Le=oe,Ke=function(){var re,fe=arguments,se=-1;return new Le(function M(){if(!re){if(++se>=fe.length)return{done:!0};re=fe[se]}var L=re.next();return L.done?(re=null,M()):L})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(re,fe){for(var se in fe)re.push(fe[se].key)}function qe(re,fe){for(var se in fe)fe[se].forEach(function(M){return re.push(M.key)})}function ke(re,fe,se){for(var M in re)if(M!==se){var L=re[M];fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)}}function q(re,fe,se){for(var M in re)M!==se&&re[M].forEach(function(L){return fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function G(re,fe,se){for(var M in re)if(M!==se){var L=re[M];if(fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey))return!0}return!1}function pe(re,fe,se){var M,L,J,Ee,Fe;for(var nt in re)if(nt!==se)for(M=re[nt].values();!0!==(L=M.next()).done;)if(Ee=(J=L.value).source,fe(J.key,J.attributes,Ee.key,(Fe=J.target).key,Ee.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function de(re,fe){var se=Object.keys(re),M=se.length,L=null,J=0;return new oe(function Ee(){var Fe;if(L){var nt=L.next();if(nt.done)return L=null,J++,Ee();Fe=nt.value}else{if(J>=M)return{done:!0};var Pt=se[J];if(Pt===fe)return J++,Ee();if((Fe=re[Pt])instanceof Set)return L=Fe.values(),Ee();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(re,fe,se){var M=fe[se];M&&re.push(M.key)}function _t(re,fe,se){var M=fe[se];M&&M.forEach(function(L){return re.push(L.key)})}function pt(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function we(re,fe,se){var M=re[fe];M&&M.forEach(function(L){return se(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function B(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;return se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(re,fe,se){var M=re[fe];if(M){for(var L,J,Ee=M.values();!0!==(L=Ee.next()).done;)if(se((J=L.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function V(re,fe){var se=re[fe];if(se instanceof Set){var M=se.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return oe.of([se.key,se.attributes,se.source.key,se.target.key,se.source.attributes,se.target.attributes])}function Re(re,fe){if(0===re.size)return[];if("mixed"===fe||fe===re.type)return"function"==typeof Array.from?Array.from(re._edges.keys()):te(re._edges.keys(),re._edges.size);for(var se,M,J=new Array("undirected"===fe?re.undirectedSize:re.directedSize),Ee="undirected"===fe,Fe=re._edges.values(),nt=0;!0!==(se=Fe.next()).done;)(M=se.value).undirected===Ee&&(J[nt++]=M.key);return J}function Ze(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey)}}function Tt(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;if(se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey))break}}function kt(re,fe){if(0===re.size)return oe.empty();var se="mixed"!==fe&&fe!==re.type,M="undirected"===fe,L=re._edges.values();return new oe(function(){for(var J,Ee;;){if((J=L.next()).done)return J;if(Ee=J.value,!se||Ee.undirected===M)break}return{value:[Ee.key,Ee.attributes,Ee.source.key,Ee.target.key,Ee.source.attributes,Ee.target.attributes],done:!1}})}function In(re,fe,se,M){var L=[],J=re?qe:Ue;return"undirected"!==fe&&("out"!==se&&J(L,M.in),"in"!==se&&J(L,M.out),!se&&M.directedSelfLoops>0&&L.splice(L.lastIndexOf(M.key),1)),"directed"!==fe&&J(L,M.undirected),L}function Nn(re,fe,se,M,L){var J=re?q:ke;"undirected"!==fe&&("out"!==se&&J(M.in,L),"in"!==se&&J(M.out,L,se?null:M.key)),"directed"!==fe&&J(M.undirected,L)}function Yn(re,fe,se,M,L){var J=re?pe:G;"undirected"!==fe&&("out"!==se&&J(M.in,L)||"in"!==se&&J(M.out,L,se?null:M.key))||"directed"===fe||J(M.undirected,L)}function Mi(re,fe,se){var M=oe.empty();return"undirected"!==re&&("out"!==fe&&void 0!==se.in&&(M=Ke(M,de(se.in))),"in"!==fe&&void 0!==se.out&&(M=Ke(M,de(se.out,fe?null:se.key)))),"directed"!==re&&void 0!==se.undirected&&(M=Ke(M,de(se.undirected))),M}function xi(re,fe,se,M,L){var J=fe?_t:je,Ee=[];return"undirected"!==re&&(void 0!==M.in&&"out"!==se&&J(Ee,M.in,L),void 0!==M.out&&"in"!==se&&J(Ee,M.out,L),!se&&M.directedSelfLoops>0&&Ee.splice(Ee.lastIndexOf(M.key),1)),"directed"!==re&&void 0!==M.undirected&&J(Ee,M.undirected,L),Ee}function Xr(re,fe,se,M,L,J){var Ee=fe?we:pt;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J),M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J)),"directed"!==re&&void 0!==M.undirected&&Ee(M.undirected,L,J)}function Ls(re,fe,se,M,L,J){var Ee=fe?N:B;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J)||M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J,se?null:M.key))||"directed"===re||void 0===M.undirected||Ee(M.undirected,L,J)}function fs(re,fe,se,M){var L=oe.empty();return"undirected"!==re&&(void 0!==se.in&&"out"!==fe&&M in se.in&&(L=Ke(L,V(se.in,M))),void 0!==se.out&&"in"!==fe&&M in se.out&&(L=Ke(L,V(se.out,M)))),"directed"!==re&&void 0!==se.undirected&&M in se.undirected&&(L=Ke(L,V(se.undirected,M))),L}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(re,fe){if(void 0!==fe)for(var se in fe)re.add(se)}function xa(re,fe,se){if("mixed"!==re){if("undirected"===re)return Object.keys(se.undirected);if("string"==typeof fe)return Object.keys(se[fe])}var M=new Set;return"undirected"!==re&&("out"!==fe&&Kr(M,se.in),"in"!==fe&&Kr(M,se.out)),"directed"!==re&&Kr(M,se.undirected),te(M.values(),M.size)}function kl(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;se(Fe.key,Fe.attributes)}}function Sa(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;re.has(nt.key)||(re.add(nt.key),M(nt.key,nt.attributes))}}function ws(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;if(se(Fe.key,Fe.attributes))return!0}return!1}function en(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;if(!re.has(nt.key)&&(re.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function nl(re,fe){var se=Object.keys(fe),M=se.length,L=0;return new oe(function(){if(L>=M)return{done:!0};var J=fe[se[L++]];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===re?J.target:Ee;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(re,fe,se){var M=Object.keys(se),L=M.length,J=0;return new oe(function Ee(){if(J>=L)return{done:!0};var Fe=se[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return re.has(We.key)?Ee():(re.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(re,fe,se,M,L){var J=re._nodes.get(M);if("undirected"!==fe){if("out"!==se&&void 0!==J.in)for(var Ee in J.in)if(Ee===L)return!0;if("in"!==se&&void 0!==J.out)for(var Fe in J.out)if(Fe===L)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===L)return!0;return!1}function Be(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We=fe._nodes.values(),qt=fe.type;!0!==(M=We.next()).done;){if(L=M.value,"undirected"!==qt)for(J in Ee=L.out)if(nt=(Fe=Ee[J]).target,Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return;if("directed"!==qt)for(J in Ee=L.undirected)if((nt=(Fe=Ee[J]).target).key!==J&&(nt=Fe.source),Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return}}function ut(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We,qt,St=fe._nodes.values(),bn=fe.type;!0!==(M=St.next()).done;){if(L=M.value,"undirected"!==bn)for(J in nt=L.out)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if(We=(Pt=Fe.value).target,qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return;if("directed"!==bn)for(J in nt=L.undirected)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if((We=(Pt=Fe.value).target).key!==J&&(We=Pt.source),qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return}}function Je(re,fe){var se={key:re};return Q(fe.attributes)||(se.attributes=he({},fe.attributes)),se}function Mt(re,fe){var se={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(se.key=re),Q(fe.attributes)||(se.attributes=he({},fe.attributes)),fe.undirected&&(se.undirected=!0),se}function It(re){return k(re)?"key"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(re){return k(re)?"source"in re?"target"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?"undirected"in re&&"boolean"!=typeof re.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(re,fe,se){var M=new re.NodeDataClass(fe,se);return re._nodes.set(fe,M),re.emit("nodeAdded",{key:fe,attributes:se}),M}function yn(re,fe,se,M,L,J,Ee,Fe){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,Ee=""+Ee,Fe=Fe||{},!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=re._nodes.get(J),Pt=re._nodes.get(Ee);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Pt)throw new ne("Graph.".concat(fe,': target node "').concat(Ee,'" not found.'));var We={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(We)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));if(!re.multi&&(M?void 0!==nt.undirected[Ee]:void 0!==nt.out[Ee]))throw new ye("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(Ee,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new Qe(M,L,se,nt,Pt,Fe);return re._edges.set(L,qt),J===Ee?M?(nt.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(nt.directedSelfLoops++,re._directedSelfLoopCount++):M?(nt.undirectedDegree++,Pt.undirectedDegree++):(nt.outDegree++,Pt.inDegree++),tt(re,M,qt,J,Ee,nt,Pt),M?re._undirectedSize++:re._directedSize++,We.key=L,re.emit("edgeAdded",We),L}function Xn(re,fe,se,M,L,J,Ee,Fe,nt){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Pt;if(J=""+J,Ee=""+Ee,nt&&(Pt=Fe,Fe=void 0),!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,qt,St=re._nodes.get(J),bn=re._nodes.get(Ee);if(!se&&(We=re._edges.get(L))){if(We.source.key!==J||We.target.key!==Ee||M&&(We.source.key!==Ee||We.target.key!==J))throw new ye("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(L,'" edge with "').concat(J,'" source & "').concat(Ee,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));qt=We}if(qt||re.multi||!St||(qt=M?St.undirected[Ee]:St.out[Ee]),qt)return(nt?Pt:Fe)?(nt?(qt.attributes=Pt(qt.attributes),re.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(he(qt.attributes,Fe),re.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:Fe})),qt.key):qt.key;Fe=Fe||{},nt&&Pt&&(Fe=Pt(Fe));var Zr={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(Zr)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));return St||(St=Rn(re,J,{}),J===Ee&&(bn=St)),bn||(bn=Rn(re,Ee,{})),We=new Qe(M,L,se,St,bn,Fe),re._edges.set(L,We),J===Ee?M?(St.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(St.directedSelfLoops++,re._directedSelfLoopCount++):M?(St.undirectedDegree++,bn.undirectedDegree++):(St.outDegree++,bn.inDegree++),tt(re,M,We,J,Ee,St,bn),M?re._undirectedSize++:re._directedSize++,Zr.key=L,re.emit("edgeAdded",Zr),L}var re,Sn=function(re){function fe(M){var L;if(L=re.call(this)||this,(M=he({},ci,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Qt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,Ee="mixed"===M.type?Oe:"directed"===M.type?$e:st;return H(Se(L),"NodeDataClass",Ee),H(Se(L),"_attributes",{}),H(Se(L),"_nodes",new Map),H(Se(L),"_edges",new Map),H(Se(L),"_directedSize",0),H(Se(L),"_undirectedSize",0),H(Se(L),"_directedSelfLoopCount",0),H(Se(L),"_undirectedSelfLoopCount",0),H(Se(L),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),H(Se(L),"_options",M),zn.forEach(function(Fe){return H(Se(L),Fe,L[Fe])}),v(Se(L),"order",function(){return L._nodes.size}),v(Se(L),"size",function(){return L._edges.size}),v(Se(L),"directedSize",function(){return L._directedSize}),v(Se(L),"undirectedSize",function(){return L._undirectedSize}),v(Se(L),"selfLoopCount",function(){return L._directedSelfLoopCount+L._undirectedSelfLoopCount}),v(Se(L),"directedSelfLoopCount",function(){return L._directedSelfLoopCount}),v(Se(L),"undirectedSelfLoopCount",function(){return L._undirectedSelfLoopCount}),v(Se(L),"multi",L._options.multi),v(Se(L),"type",L._options.type),v(Se(L),"allowSelfLoops",L._options.allowSelfLoops),v(Se(L),"implementation",function(){return"graphology"}),L}et(fe,re);var se=fe.prototype;return se.hasNode=function(M){return this._nodes.has(""+M)},se.hasDirectedEdge=function(M,L){if("undirected"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&!Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasUndirectedEdge=function(M,L){if("directed"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasEdge=function(M,L){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){L=""+L;var Ee=this._nodes.get(M=""+M);if(!Ee)return!1;var Fe=void 0!==Ee.out&&Ee.out[L];return Fe||(Fe=void 0!==Ee.undirected&&Ee.undirected[L]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.directedEdge=function(M,L){if("undirected"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.directedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||void 0;return Ee?Ee.key:void 0}},se.undirectedEdge=function(M,L){if("directed"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.undirectedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.undirected&&J.undirected[L]||void 0;return Ee?Ee.key:void 0}},se.edge=function(M,L){if(this.multi)throw new ye("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");L=""+L;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.edge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||J.undirected&&J.undirected[L]||void 0;if(Ee)return Ee.key},se.inDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(L?J.directedSelfLoops:0)},se.outDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(L?J.directedSelfLoops:0)},se.directedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var Ee=L?J.directedSelfLoops:0;return J.inDegree+Ee+(J.outDegree+Ee)},se.undirectedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(L?J.undirectedSelfLoops:0)},se.degree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.degree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var Ee=0,Fe=0;return"directed"!==this.type&&(L&&(Fe=J.undirectedSelfLoops),Ee+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(L&&(Fe=J.directedSelfLoops),Ee+=J.inDegree+J.outDegree+2*Fe),Ee},se.source=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return L.source.key},se.target=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return L.target.key},se.extremities=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[L.source.key,L.target.key]},se.opposite=function(M,L){M=""+M;var J=this._edges.get(L=""+L);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(L,'" edge in the graph.'));var Ee=J.source.key,Fe=J.target.key;if(M!==Ee&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(L,'" edge (').concat(Ee,", ").concat(Fe,")."));return M===Ee?Fe:Ee},se.hasExtremity=function(M,L){L=""+L;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===L||J.target.key===L},se.isUndirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return L.undirected},se.isDirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!L.undirected},se.isSelfLoop=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return L.source===L.target},se.hasGeneratedKey=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return L.generatedKey},se.addNode=function(M,L){return function(J,Ee,Fe){if(Fe&&!k(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(Ee=""+Ee))throw new ye('Graph.addNode: the "'.concat(Ee,'" node already exist in the graph.'));var nt=new J.NodeDataClass(Ee,Fe);return J._nodes.set(Ee,nt),J.emit("nodeAdded",{key:Ee,attributes:Fe}),nt}(this,M,L).key},se.mergeNode=function(M,L){if(L&&!k(L))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(L,'"'));L=L||{};var J=this._nodes.get(M=""+M);return J?(L&&(he(J.attributes,L),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:L})),M):(J=new this.NodeDataClass(M,L),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:L}),M)},se.updateNode=function(M,L){if(L&&"function"!=typeof L)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(L,'"'));var J=this._nodes.get(M=""+M);if(J)return L&&(J.attributes=L(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=L?L({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},se.dropNode=function(M){var L=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(Ee){L.dropEdge(Ee)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},se.dropEdge=function(M){var L;if(arguments.length>1){var J=""+arguments[0],Ee=""+arguments[1];if(!(L=W(this,J,Ee,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(Ee,'" edge in the graph.'))}else if(!(L=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(L.key);var nt=L.source,Pt=L.target,We=L.attributes,qt=L.undirected;return nt===Pt?qt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):qt?(nt.undirectedDegree--,Pt.undirectedDegree--):(nt.outDegree--,Pt.inDegree--),Xe(this,qt,L),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Pt.key,undirected:qt}),this},se.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},se.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},se.getAttribute=function(M){return this._attributes[M]},se.getAttributes=function(){return this._attributes},se.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},se.setAttribute=function(M,L){return this._attributes[M]=L,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.updateAttribute=function(M,L){if("function"!=typeof L)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=L(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},se.replaceAttributes=function(M){if(!k(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},se.mergeAttributes=function(M){if(!k(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},se.getNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[L]},se.getNodeAttributes=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return L.attributes},se.hasNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(L)},se.setNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Ee.attributes[L]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.updateNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=Ee.attributes,nt=J(Fe[L]);return Fe[L]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.removeNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[L],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:L}),this},se.replaceNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=L,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},se.mergeNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,L),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:L}),this},se.updateEachNodeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachNodeAttributesUpdated",{hints:L||null})},se.updateEachEdgeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachEdgeAttributesUpdated",{hints:L||null})},se.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Be(!1,this,M)},se.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Be(!0,this,M)},se.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Pt=M.type,We="outer",qt=null,new oe(function St(){var bn;if("outer"===We)return!0===(bn=nt.next()).done?bn:(L=bn.value,We="directed",St());if("directed"===We)return"undirected"===Pt?(We="undirected",St()):(Ee=L.out,J=Object.keys(L.out),Fe=0,We="inner-directed",St());if("undirected"===We){if("directed"===Pt)return We="outer",St();Ee=L.undirected,J=Object.keys(L.undirected),Fe=0,We="inner-undirected"}if(!qt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",St();if(!qt){var Es=J[Fe++];return qt=Ee[Es].values(),St()}if((bn=qt.next()).done)return qt=null,St();var Zr=bn.value,Js=Zr.target;return"inner-undirected"===We&&Js.key===L.key&&(Js=Zr.source),{done:!1,value:[L.key,Js.key,L.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new oe(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(bn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=bn.out,Es=Object.keys(bn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=bn.undirected,Es=Object.keys(bn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var En=Es[Js++],po=Zr[En],Ll=po.target;return"inner-undirected"===Br&&Ll.key===bn.key&&(Ll=po.source),{done:!1,value:[bn.key,Ll.key,bn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,bn,Es,Zr,Js,Fl,fo,Br,M,L,J,Ee,Fe,nt,Pt,We,qt},se.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},se.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(L,J){M(J,L.attributes)})},se.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var L,J,Ee=this._nodes.values();!0!==(L=Ee.next())&&!M((J=L.value).key,J.attributes););},se.nodeEntries=function(){var M=this._nodes.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{value:[J.key,J.attributes],done:!1}})},se.exportNode=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Je(M,L)},se.exportEdge=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return Mt(M,L)},se.export=function(){var M=new Array(this._nodes.size),L=0;this._nodes.forEach(function(Ee,Fe){M[L++]=Je(Fe,Ee)});var J=new Array(this._edges.size);return L=0,this._edges.forEach(function(Ee,Fe){J[L++]=Mt(Fe,Ee)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},se.importNode=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=It(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Ee=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return L?this.mergeNode(Ee,nt):this.addNode(Ee,nt),this},se.importEdge=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Ot(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Ee=M.source,Fe=M.target,nt=M.attributes,Pt=void 0===nt?{}:nt,We=M.undirected,qt=void 0!==We&&We;return"key"in M?(L?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,Ee,Fe,Pt):(L?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Ee,Fe,Pt),this},se.import=function(M){var L,J,Ee,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!k(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!k(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(Ee=M.nodes,!Array.isArray(Ee))throw new me("Graph.import: invalid nodes. Expecting an array.");for(L=0,J=Ee.length;LJ)){var Pt=new Set;Pt.add(L.undirected[nt]),L.undirected[nt]=Pt,M._nodes.get(nt).undirected[J]=Pt}})),this;var M},se.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},se.toJSON=function(){return this.export()},se.toString=function(){return"[object Graph]"},se.inspect=function(){var M=this,L={};this._nodes.forEach(function(Pt,We){L[We]=Pt.attributes});var J={},Ee={};this._edges.forEach(function(Pt,We){var qt=Pt.undirected?"--":"->",St="",bn="(".concat(Pt.source.key,")").concat(qt,"(").concat(Pt.target.key,")");Pt.generatedKey?M.multi&&(void 0===Ee[bn]?Ee[bn]=0:Ee[bn]++,St+="".concat(Ee[bn],". ")):St+="[".concat(We,"]: "),J[St+=bn]=Pt.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=L,Fe.edges=J,H(Fe,"constructor",this.constructor),Fe},fe}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Sn.prototype.inspect),[{name:function(re){return"".concat(re,"Edge")},generateKey:!0},{name:function(re){return"".concat(re,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(re){return"".concat(re,"EdgeWithKey")}},{name:function(re){return"".concat(re,"DirectedEdgeWithKey")},type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(re){["add","merge","update"].forEach(function(fe){var se=re.name(fe),M="add"===fe?yn:Xn;Sn.prototype[se]=re.generateKey?function(L,J,Ee){return M(this,se,!0,"undirected"===(re.type||this.type),null,L,J,Ee,"update"===fe)}:function(L,J,Ee,Fe){return M(this,se,!1,"undirected"===(re.type||this.type),L,J,Ee,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.iterator]=Sn.prototype.adjacency),re=Sn,ze.forEach(function(fe){var se=fe.name,M=fe.attacher;M(re,se("Edge"),"mixed"),M(re,se("DirectedEdge"),"directed"),M(re,se("UndirectedEdge"),"undirected")}),function(re){Me.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Pt=this._nodes.get(Fe=""+Fe);if(void 0===Pt)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return In(this.multi,"mixed"===J?this.type:J,Ee,Pt)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" target node in the graph.'));return xi(J,this.multi,Ee,We,nt)}throw new me("Graph.".concat(L,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1);se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Ze(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Nn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Xr(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1)+"Until";se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Tt(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Ls(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var J=M.type,Ee=M.direction,Fe=M.name.slice(0,-1)+"Entries";se.prototype[Fe]=function(nt,Pt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return oe.empty();if(!arguments.length)return kt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Mi(J,Ee,We)}if(2===arguments.length){Pt=""+Pt;var qt=this._nodes.get(nt=""+nt);if(!qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return fs(J,Ee,qt,Pt)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(re,fe)})}(Sn),function(re){Bs.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Pt=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(L,': could not find the "').concat(Pt,'" node in the graph.'));return lt(this,J,Ee,nt,Pt)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return xa("mixed"===J?this.type:J,Ee,We)}throw new me("Graph.".concat(L,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1);re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return kl(qt,qt.undirected,St);if("string"==typeof We)return kl(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&Sa(bn,qt,qt.in,St),"in"!==We&&Sa(bn,qt,qt.out,St)),"directed"!==Pt&&Sa(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1)+"Until";re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return ws(qt,qt.undirected,St);if("string"==typeof We)return ws(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&en(bn,qt,qt.in,St)||"in"!==We&&en(bn,qt,qt.out,St))||"directed"===Pt||en(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var M=fe.type,L=fe.direction,J=fe.name.slice(0,-1)+"Entries";re.prototype[J]=function(Ee){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return oe.empty();var Fe=this._nodes.get(Ee=""+Ee);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));return function(nt,Pt,We){if("mixed"!==nt){if("undirected"===nt)return nl(We,We.undirected);if("string"==typeof Pt)return nl(We,We[Pt])}var qt=oe.empty(),St=new Set;return"undirected"!==nt&&("out"!==Pt&&(qt=Ke(qt,rt(St,We,We.in))),"in"!==Pt&&(qt=Ke(qt,rt(St,We,We.out)))),"directed"!==nt&&(qt=Ke(qt,rt(St,We,We.undirected))),qt}("mixed"===M?this.type:M,L,Fe)}}(re,fe)})}(Sn);var rr=function(re){function fe(se){var M=he({type:"directed"},se);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),sr=function(re){function fe(se){var M=he({type:"undirected"},se);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Qn=function(re){function fe(se){var M=he({multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return re.call(this,M)||this}return et(fe,re),fe}(Sn),qi=function(re){function fe(se){var M=he({type:"directed",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Ca=function(re){function fe(se){var M=he({type:"undirected",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn);function Qr(re){re.from=function(fe,se){var M=he({},fe.options,se),L=new re(M);return L.import(fe),L}}return Qr(Sn),Qr(rr),Qr(sr),Qr(Qn),Qr(qi),Qr(Ca),Sn.Graph=Sn,Sn.DirectedGraph=rr,Sn.UndirectedGraph=sr,Sn.MultiGraph=Qn,Sn.MultiDirectedGraph=qi,Sn.MultiUndirectedGraph=Ca,Sn.InvalidArgumentsGraphError=me,Sn.NotFoundGraphError=ne,Sn.UsageGraphError=ye,Sn}()},1524:(Ut,it,et)=>{var yt;!function(ee,Dt,dt,Y){"use strict";var T,Se=["","webkit","Moz","MS","ms","o"],he=Dt.createElement("div"),j=Math.round,k=Math.abs,Q=Date.now;function H(be,De,Ge){return setTimeout(A(be,Ge),De)}function v(be,De,Ge){return!!Array.isArray(be)&&(C(be,Ge[De],Ge),!0)}function C(be,De,Ge){var vt;if(be)if(be.forEach)be.forEach(De,Ge);else if(be.length!==Y)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),be.apply(this,arguments)}}T="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var Ge=Object(De),vt=1;vt-1}function K(be){return be.trim().split(/\s+/g)}function E(be,De,Ge){if(be.indexOf&&!Ge)return be.indexOf(De);for(var vt=0;vtxs[De]}):vt.sort()),vt}function ae(be,De){for(var Ge,vt,$t=De[0].toUpperCase()+De.slice(1),Xt=0;Xt1&&!Ge.firstMultiple?Ge.firstMultiple=Tt(De):1===$t&&(Ge.firstMultiple=!1);var Xt=Ge.firstInput,ui=Ge.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=De.center=kt(vt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Xt.timeStamp,De.angle=Mi(Vr,Jr),De.distance=Yn(Vr,Jr),function(be,De){var Ge=De.center,vt=be.offsetDelta||{},$t=be.prevDelta||{},Xt=be.prevInput||{};(1===De.eventType||4===Xt.eventType)&&($t=be.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=be.offsetDelta={x:Ge.x,y:Ge.y}),De.deltaX=$t.x+(Ge.x-vt.x),De.deltaY=$t.y+(Ge.y-vt.y)}(Ge,De),De.offsetDirection=Nn(De.deltaX,De.deltaY);var xs=In(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=k(xs.x)>k(xs.y)?xs.x:xs.y,De.scale=ui?function(be,De){return Yn(De[0],De[1],pt)/Yn(be[0],be[1],pt)}(ui.pointers,vt):1,De.rotation=ui?function(be,De){return Mi(De[1],De[0],pt)+Mi(be[1],be[0],pt)}(ui.pointers,vt):0,De.maxPointers=Ge.prevInput?De.pointers.length>Ge.prevInput.maxPointers?De.pointers.length:Ge.prevInput.maxPointers:De.pointers.length,function(be,De){var $t,Xt,ui,Vr,Ge=be.lastInterval||De,vt=De.timeStamp-Ge.timeStamp;if(8!=De.eventType&&(vt>25||Ge.velocity===Y)){var Jr=De.deltaX-Ge.deltaX,xs=De.deltaY-Ge.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=k(Zn.x)>k(Zn.y)?Zn.x:Zn.y,Vr=Nn(Jr,xs),be.lastInterval=De}else $t=Ge.velocity,Xt=Ge.velocityX,ui=Ge.velocityY,Vr=Ge.direction;De.velocity=$t,De.velocityX=Xt,De.velocityY=ui,De.direction=Vr}(Ge,De);var Zn=be.element;I(De.srcEvent.target,Zn)&&(Zn=De.srcEvent.target),De.target=Zn}(be,Ge),be.emit("hammer.input",Ge),be.recognize(Ge),be.session.prevInput=Ge}function Tt(be){for(var De=[],Ge=0;Ge=k(De)?be<0?2:4:De<0?8:16}function Yn(be,De,Ge){Ge||(Ge=_t);var vt=De[Ge[0]]-be[Ge[0]],$t=De[Ge[1]]-be[Ge[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(be,De,Ge){return Ge||(Ge=_t),180*Math.atan2(De[Ge[1]]-be[Ge[1]],De[Ge[0]]-be[Ge[0]])/Math.PI}we.prototype={handler:function(){},init:function(){this.evEl&&X(this.element,this.evEl,this.domHandler),this.evTarget&&X(this.target,this.evTarget,this.domHandler),this.evWin&&X(Te(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ue(this.element,this.evEl,this.domHandler),this.evTarget&&ue(this.target,this.evTarget,this.domHandler),this.evWin&&ue(Te(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,we.apply(this,arguments)}S(Kr,we,{handler:function(De){var Ge=Ls[De.type];1&Ge&&0===De.button&&(this.pressed=!0),2&Ge&&1!==De.which&&(Ge=4),this.pressed&&(4&Ge&&(this.pressed=!1),this.callback(this.manager,Ge,{pointers:[De],changedPointers:[De],pointerType:Qe,srcEvent:De}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:$e,3:"pen",4:Qe,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,we.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),S(en,we,{handler:function(De){var Ge=this.store,vt=!1,$t=De.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[De.pointerType]||De.pointerType,Vr=ui==$e,Jr=E(Ge,De.pointerId,"pointerId");1&Xt&&(0===De.button||Vr)?Jr<0&&(Ge.push(De),Jr=Ge.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Ge[Jr]=De,this.callback(this.manager,Xt,{pointers:Ge,changedPointers:[De],pointerType:ui,srcEvent:De}),vt&&Ge.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,we.apply(this,arguments)}function ge(be,De){var Ge=$(be.touches),vt=$(be.changedTouches);return 12&De&&(Ge=Z(Ge.concat(vt),"identifier",!0)),[Ge,vt]}S(ht,we,{handler:function(De){var Ge=nl[De.type];if(1===Ge&&(this.started=!0),this.started){var vt=ge.call(this,De,Ge);12&Ge&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Ge,{pointers:vt[0],changedPointers:vt[1],pointerType:$e,srcEvent:De})}}});var ve={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Be="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Be,this.targetIds={},we.apply(this,arguments)}function Je(be,De){var Ge=$(be.touches),vt=this.targetIds;if(3&De&&1===Ge.length)return vt[Ge[0].identifier]=!0,[Ge,Ge];var $t,Xt,ui=$(be.changedTouches),Vr=[],Jr=this.target;if(Xt=Ge.filter(function(xs){return I(xs.target,Jr)}),1===De)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(be){for(var De=be.srcEvent.clientX,Ge=be.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(be){return!!this.simultaneous[be.id]},emit:function(be){var De=this,Ge=this.state;function vt($t){De.manager.emit($t,be)}Ge<8&&vt(De.options.event+We(Ge)),vt(De.options.event),be.additionalEvent&&vt(be.additionalEvent),Ge>=8&&vt(De.options.event+We(Ge))},tryEmit:function(be){if(this.canEmit())return this.emit(be);this.state=32},canEmit:function(){for(var be=0;beDe.threshold&&$t&De.direction},attrTest:function(be){return bn.prototype.attrTest.call(this,be)&&(2&this.state||!(2&this.state)&&this.directionTest(be))},emit:function(be){this.pX=be.deltaX,this.pY=be.deltaY;var De=qt(be.direction);De&&(be.additionalEvent=this.options.event+De),this._super.emit.call(this,be)}}),S(Zr,bn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.scale-1)>this.options.threshold||2&this.state)},emit:function(be){1!==be.scale&&(be.additionalEvent=this.options.event+(be.scale<1?"in":"out")),this._super.emit.call(this,be)}}),S(Js,Pt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distanceDe.time;if(this._input=be,!vt||!Ge||12&be.eventType&&!$t)this.reset();else if(1&be.eventType)this.reset(),this._timer=H(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&be.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(be){8===this.state&&(be&&4&be.eventType?this.manager.emit(this.options.event+"up",be):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Fl,bn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.rotation)>this.options.threshold||2&this.state)}}),S(fo,bn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(be){var Ge,De=this.options.direction;return 30&De?Ge=be.overallVelocity:6&De?Ge=be.overallVelocityX:24&De&&(Ge=be.overallVelocityY),this._super.attrTest.call(this,be)&&De&be.offsetDirection&&be.distance>this.options.threshold&&be.maxPointers==this.options.pointers&&k(Ge)>this.options.velocity&&4&be.eventType},emit:function(be){var De=qt(be.offsetDirection);De&&this.manager.emit(this.options.event+De,be),this.manager.emit(this.options.event,be)}}),S(Br,Pt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Be=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Be.source),Je=/^\s+/,Mt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Sn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,re=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",bn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+fe+"]",Fl="["+Es+"]",fo="["+J+"]",Br="\\d+",Vs="["+Ee+"]",Ac="["+Fe+"]",En="[^"+fe+Es+Br+Ee+Fe+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+fe+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+St+"]",vt="(?:"+Ac+"|"+En+")",$t="(?:"+De+"|"+En+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+bn+"]?",T1=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,be].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,be].join("|")+")"+T1,tr="(?:"+[Ta+fo+"?",fo,Ed,be,Js].join("|")+")",fp=RegExp("['\u2019]","g"),i_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+tr+T1,"g"),rv=RegExp([De+"?"+Ac+"+"+Xt+"(?="+[Fl,De,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,De+vt,"$"].join("|")+")",De+"?"+vt+"+"+Xt,De+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),A1=RegExp("[\\u200d"+fe+J+bn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],M1=-1,rn={};rn[kt]=rn[In]=rn[Nn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[Qe]=rn[tt]=rn[Ze]=rn[ze]=rn[Tt]=rn[Le]=rn[Me]=rn[Ue]=rn[ke]=rn[q]=rn[pe]=rn[_t]=rn[pt]=rn[we]=rn[V]=!1;var or={};or[Qe]=or[tt]=or[Ze]=or[Tt]=or[ze]=or[Le]=or[kt]=or[In]=or[Nn]=or[Yn]=or[Mi]=or[ke]=or[q]=or[pe]=or[_t]=or[pt]=or[we]=or[B]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Me]=or[Ue]=or[V]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},D1=parseFloat,lv=parseInt,Nt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,zi=Nt||js||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,No=Aa&&Aa.exports===Vl,r_=No&&Nt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||r_&&r_.binding&&r_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(at,Rt,Ct){switch(Ct.length){case 0:return at.call(Rt);case 1:return at.call(Rt,Ct[0]);case 2:return at.call(Rt,Ct[0],Ct[1]);case 3:return at.call(Rt,Ct[0],Ct[1],Ct[2])}return at.apply(Rt,Ct)}function jr(at,Rt,Ct,dn){for(var Mn=-1,Bi=null==at?0:at.length;++Mn-1}function Ph(at,Rt,Ct){for(var dn=-1,Mn=null==at?0:at.length;++dn-1;);return Ct}function P1(at,Rt){for(var Ct=at.length;Ct--&&il(Rt,at[Ct],0)>-1;);return Ct}function rF(at,Rt){for(var Ct=at.length,dn=0;Ct--;)at[Ct]===Rt&&++dn;return dn}var sF=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),oF=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function aF(at){return"\\"+tn[at]}function Fh(at){return A1.test(at)}function uv(at){var Rt=-1,Ct=Array(at.size);return at.forEach(function(dn,Mn){Ct[++Rt]=[Mn,dn]}),Ct}function N1(at,Rt){return function(Ct){return at(Rt(Ct))}}function xu(at,Rt){for(var Ct=-1,dn=at.length,Mn=0,Bi=[];++Ct",""":'"',"'":"'"}),Bh=function at(Rt){var d,Ct=(Rt=null==Rt?zi:Bh.defaults(zi.Object(),Rt,Bh.pick(zi,Rh))).Array,dn=Rt.Date,Mn=Rt.Error,Bi=Rt.Function,es=Rt.Math,Xi=Rt.Object,d_=Rt.RegExp,h_=Rt.String,Ia=Rt.TypeError,dr=Ct.prototype,Su=Xi.prototype,gp=Rt["__core-js_shared__"],Sr=Bi.prototype.toString,Ki=Su.hasOwnProperty,fF=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,L1=Sr.call(Xi),f_=zi._,Dd=d_("^"+Sr.call(Ki).replace(Be,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=No?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,fv=zs?zs.allocUnsafe:ee,Oa=N1(Xi.getPrototypeOf,Xi),p_=Xi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,B1=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Xi,"defineProperty");return d({},"",{}),d}catch(p){}}(),pv=Rt.clearTimeout!==zi.clearTimeout&&Rt.clearTimeout,V1=dn&&dn.now!==zi.Date.now&&dn.now,j1=Rt.setTimeout!==zi.setTimeout&&Rt.setTimeout,Vt=es.ceil,Si=es.floor,mr=Xi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,g_=Rt.isFinite,Uh=dr.join,sl=N1(Xi.keys,Xi),zr=es.max,ps=es.min,pF=dn.now,U1=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Xi,"create"),Gh=Fo&&new Fo,Od={},z1=Lu(Cs),m_=Lu(mo),__=Lu(bp),gv=Lu(Ra),y_=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function xe(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Ki.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(p_)return p_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ye,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function Pa(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Na(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),F=!_&&gl(d),le=!_&&!F&&ml(d),Ae=!_&&!F&&!le&&df(d),He=_||F||le||Ae,Ye=He?Md(d.length,h_):[],ct=Ye.length;for(var Ft in d)(p||Ki.call(d,Ft))&&(!He||!("length"==Ft||le&&("offset"==Ft||"parent"==Ft)||Ae&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,ct)))&&Ye.push(Ft);return Ye}function E_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function bv(d,p){return qd(no(d),Au(p,0,d.length))}function Pd(d){return qd(no(d))}function x_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var F=d[p];(!Ki.call(d,p)||!Dn(F,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Nd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,F){return Pc(d,function(le,Ae,He){p(F,le,_(le),He)}),F}function Z1(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function S_(d,p){for(var _=-1,F=p.length,le=Ct(F),Ae=null==d;++_=p?d:p)),d}function Hs(d,p,_,F,le,Ae){var He,Ye=1&p,ct=2&p,Ft=4&p;if(_&&(He=le?_(d,F,le,Ae):_(d)),He!==ee)return He;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(He=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Ki.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!Ye)return no(d,He)}else{var Gt=$s(d),nn=Gt==Ue||Gt==qe;if(ml(d))return Pp(d,Ye);if(Gt==pe||Gt==Qe||nn&&!le){if(He=ct||nn?{}:zv(d),!Ye)return ct?function(d,p){return Fa(d,Vv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(He,d)):function(d,p){return Fa(d,j_(d),p)}(d,Z1(He,d))}else{if(!or[Gt])return le?d:{};He=function(d,p,_){var F=d.constructor;switch(p){case Ze:return Pu(d);case ze:case Le:return new F(+d);case Tt:return function(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Nn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return k_(d,_);case ke:return new F;case q:case we:return new F(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case pt:return new F;case B:return function(d){return Rd?Xi(Rd.call(d)):{}}(d)}}(d,Gt,Ye)}}Ae||(Ae=new Na);var vn=Ae.get(d);if(vn)return vn;Ae.set(d,He),bA(d)?d.forEach(function(Bn){He.add(Hs(Bn,p,_,Bn,d,Ae))}):gA(d)&&d.forEach(function(Bn,mi){He.set(mi,Hs(Bn,p,_,mi,d,Ae))});var gi=Lt?ee:(Ft?ct?B_:ql:ct?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(He,mi,Hs(Bn,p,_,mi,d,Ae))}),He}function Tp(d,p,_){var F=_.length;if(null==d)return!F;for(d=Xi(d);F--;){var le=_[F],He=d[le];if(He===ee&&!(le in d)||!(0,p[le])(He))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Se);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,F){var le=-1,Ae=jl,He=!0,Ye=d.length,ct=[],Ft=p.length;if(!Ye)return ct;_&&(p=Yi(p,ta(_))),F?(Ae=Ph,He=!1):p.length>=200&&(Ae=kh,He=!1,p=new Pa(p));e:for(;++le-1},zl.prototype.set=function(d,p){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,p])):_[F][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),F=_.size;return _.set(d,p),this.size+=_.size==F?0:1,this},Pa.prototype.add=Pa.prototype.push=function(d){return this.__data__.set(d,W),this},Pa.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new zl,this.size=0},Na.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var F=_.__data__;if(!mo||F.length<199)return F.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(F)}return _.set(d,p),this.size=_.size,this};var Pc=dl(cl),T_=dl(Ap,!0);function wv(d,p){var _=!0;return Pc(d,function(F,le,Ae){return _=!!p(F,le,Ae)}),_}function Kh(d,p,_){for(var F=-1,le=d.length;++F0&&_(Ye)?p>1?Ts(Ye,p-1,_,F,le):Ur(le,Ye):F||(le[le.length]=Ye)}return le}var kd=Iv(),Fd=Iv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,F=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Ki.call(d,p)}function Bd(d,p){return null!=d&&p in Xi(d)}function Mu(d,p,_){for(var F=_?Ph:jl,le=d[0].length,Ae=d.length,He=Ae,Ye=Ct(Ae),ct=1/0,Ft=[];He--;){var Lt=d[He];He&&p&&(Lt=Yi(Lt,ta(p))),ct=ps(Lt.length,ct),Ye[He]=!_&&(p||le>=120&&Lt.length>=120)?new Pa(He&&Lt):ee}Lt=d[0];var Gt=-1,nn=Ye[0];e:for(;++Gt=Ye?ct:ct*("desc"==_[F]?-1:1)}return d.index-p.index}(Ae,He,_)});Ct--;)at[Ct]=at[Ct].value;return at}(iT(d,function(Ae,He,Ye){return{criteria:Yi(p,function(Ft){return Ft(Ae)}),index:++F,value:Ae}}))}function Tv(d,p,_){for(var F=-1,le=p.length,Ae={};++F-1;)Ye!==d&&Ln.call(Ye,ct,1),Ln.call(d,ct,1);return d}function Jh(d,p){for(var _=d?p.length:0,F=_-1;_--;){var le=p[_];if(_==F||le!==Ae){var Ae=le;jo(le)?Ln.call(d,le,1):Iu(d,le)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Te)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(bT(d,p,so),d+"")}function sT(d){return E_(nh(d))}function xF(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,F){if(!Tr(d))return d;for(var le=-1,Ae=(p=Lc(p,d)).length,He=Ae-1,Ye=d;null!=Ye&&++lele?0:le+p),(_=_>le?le:_)<0&&(_+=le),le=p>_?0:_-p>>>0,p>>>=0;for(var Ae=Ct(le);++F>>1,He=d[Ae];null!==He&&!da(He)&&(_?He<=p:He=200){var Ft=p?null:L_(d);if(Ft)return l_(Ft);He=!1,le=kh,ct=new Pa}else ct=p?[]:Ye;e:for(;++F=F?d:Ms(d,p,_)}var lT=pv||function(d){return zi.clearTimeout(d)};function Pp(d,p){if(p)return d.slice();var _=d.length,F=fv?fv(_):new d.constructor(_);return d.copy(F),F}function Pu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function k_(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,F=null===d,le=d==d,Ae=da(d),He=p!==ee,Ye=null===p,ct=p==p,Ft=da(p);if(!Ye&&!Ft&&!Ae&&d>p||Ae&&He&&ct&&!Ye&&!Ft||F&&He&&ct||!_&&ct||!le)return 1;if(!F&&!Ae&&!Ft&&d1?_[le-1]:ee,He=le>2?_[2]:ee;for(Ae=d.length>3&&"function"==typeof Ae?(le--,Ae):ee,He&&Ws(_[0],_[1],He)&&(Ae=le<3?ee:Ae,le=1),p=Xi(p);++F-1?le[Ae?p[He]:He]:ee}}function ku(d){return hl(function(p){var _=p.length,F=_,le=Lo.prototype.thru;for(d&&p.reverse();F--;){var Ae=p[F];if("function"!=typeof Ae)throw new Ia(Se);if(le&&!He&&"wrapper"==jp(Ae))var He=new Lo([],!0)}for(F=He?F:_;++F<_;){var Ye=jp(Ae=p[F]),ct="wrapper"==Ye?V_(Ae):ee;He=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?He[jp(ct[0])].apply(He,ct[3]):1==Ae.length&&Up(Ae)?He[Ye]():He.thru(Ae)}return function(){var Ft=arguments,Lt=Ft[0];if(He&&1==Ft.length&&On(Lt))return He.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,F,le,Ae,He,Ye,ct,Ft){var Lt=p&X,Gt=1&p,nn=2&p,vn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Ct(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(vn)var qs=Wd(Bn),ha=rF(Di,qs);if(F&&(Di=zd(Di,F,le,vn)),Ae&&(Di=Dv(Di,Ae,He,vn)),mi-=ha,vn&&mi1&&Di.reverse(),Lt&&ctYe))return!1;var Ft=Ae.get(d),Lt=Ae.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,vn=2&_?new Pa:ee;for(Ae.set(d,p),Ae.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[F],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(F,function(d,p){return Us(st,function(_){var F="_."+_[0];p&_[1]&&!jl(d,F)&&d.push(F)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(F),_)))}function W_(d){var p=0,_=0;return function(){var F=pF(),le=16-(F-_);if(_=F,le>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,F=d.length,le=F-1;for(p=p===ee?F:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GT(d,_)});function ny(d){var p=xe(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var iy=hl(function(d){var p=d.length,_=p?d[0]:0,F=this.__wrapped__,le=function(Ae){return S_(Ae,d)};return!(p>1||this.__actions__.length)&&F instanceof fi&&jo(_)?((F=F.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[le],thisArg:ee}),new Lo(F,this.__chain__).thru(function(Ae){return p&&!Ae.length&&Ae.push(ee),Ae})):this.thru(le)}),qT=ts(function(d,p,_){Ki.call(d,_)?++d[_]:ll(d,_,1)}),QT=Rv(Y_),ZT=Rv(X_);function ay(d,p){return(On(d)?Us:Pc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:T_)(d,kn(p,3))}var eA=ts(function(d,p,_){Ki.call(d,_)?d[_].push(p):ll(d,_,[p])}),uw=pi(function(d,p,_){var F=-1,le="function"==typeof p,Ae=bo(d)?Ct(d.length):[];return Pc(d,function(He){Ae[++F]=le?os(p,He,_):ka(He,p,_)}),Ae}),dw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?Yi:iT)(d,kn(p,3))}var fw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=V1||function(){return zi.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,X,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function cy(d,p){var _;if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var F=1;if(_.length){var le=xu(_,Wd(cf));F|=z}return Wl(d,F,p,_,le)}),Qd=pi(function(d,p,_){var F=3;if(_.length){var le=xu(_,Wd(Qd));F|=z}return Wl(p,F,d,_,le)});function vw(d,p,_){var F,le,Ae,He,Ye,ct,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Se);function vn($i){var bl=F,Gc=le;return F=le=ee,Ft=$i,He=d.apply(Gc,bl)}function Fn($i){return Ft=$i,Ye=nf(mi,p),Lt?vn($i):He}function Bn($i){var bl=$i-ct;return ct===ee||bl>=p||bl<0||Gt&&$i-Ft>=Ae}function mi(){var $i=Bu();if(Bn($i))return Di($i);Ye=nf(mi,function($i){var lM=p-($i-ct);return Gt?ps(lM,Ae-($i-Ft)):lM}($i))}function Di($i){return Ye=ee,nn&&F?vn($i):(F=le=ee,He)}function ha(){var $i=Bu(),bl=Bn($i);if(F=arguments,le=this,ct=$i,bl){if(Ye===ee)return Fn(ct);if(Gt)return lT(Ye),Ye=nf(mi,p),vn(ct)}return Ye===ee&&(Ye=nf(mi,p)),He}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ae=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ae,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){Ye!==ee&&lT(Ye),Ft=0,F=ct=le=Ye=ee},ha.flush=function(){return Ye===ee?He:Di(Bu())},ha}var rA=pi(function(d,p){return Xh(d,1,p)}),ww=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Se);var _=function(){var F=arguments,le=p?p.apply(this,F):F[0],Ae=_.cache;if(Ae.has(le))return Ae.get(le);var He=d.apply(this,F);return _.cache=Ae.set(le,He)||Ae,He};return _.cache=new(uf.Cache||ol),_}function hy(d){if("function"!=typeof d)throw new Ia(Se);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var sA=aT(function(d,p){var _=(p=1==p.length&&On(p[0])?Yi(p[0],ta(kn())):Yi(Ts(p,1),ta(kn()))).length;return pi(function(F){for(var le=-1,Ae=ps(F.length,_);++le=p}),gl=J1(function(){return arguments}())?J1:function(d){return Ar(d)&&Ki.call(d,"callee")&&!mp.call(d,"callee")},On=Ct.isArray,Aw=an?ta(an):function(d){return Ar(d)&&As(d)==Ze};function bo(d){return null!=d&&py(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Ly,Mw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Le};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Me||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==Ue||p==qe||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function py(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Te}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var gA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==ke};function yA(d){return"number"==typeof d||Ar(d)&&As(d)==q}function Jp(d){if(!Ar(d)||As(d)!=pe)return!1;var p=Oa(d);if(null===p)return!0;var _=Ki.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==L1}var Rw=go?ta(go):function(d){return Ar(d)&&As(d)==_t},bA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==pt};function my(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==we}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==B}var df=ss?ta(ss):function(d){return Ar(d)&&py(d.length)&&!!rn[As(d)]},Uc=Lp(Cv),_y=Lp(function(d,p){return d<=p});function Pw(d){if(!d)return[];if(bo(d))return my(d)?rl(d):no(d);if(jh&&d[jh])return function(at){for(var Rt,Ct=[];!(Rt=at.next()).done;)Ct.push(Rt.value);return Ct}(d[jh]());var p=$s(d);return(p==ke?uv:p==pt?l_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function yy(d){return d?Au(ti(d),0,ye):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=cv(d);var _=rr.test(d);return _||Qn.test(d)?lv(d.slice(2),_?2:8):Sn.test(d)?NaN:+d}function Nw(d){return Fa(d,ro(d))}function Gi(d){return null==d?"":Vo(d)}var vA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Ki.call(p,_)&&al(d,_,p[_])}),wA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,F){Fa(p,ro(p),d,F)}),EA=Gl(function(d,p,_,F){Fa(p,Is(p),d,F)}),kw=hl(S_),SA=pi(function(d,p){d=Xi(d);var _=-1,F=p.length,le=F>2?p[2]:ee;for(le&&Ws(p[0],p[1],le)&&(F=1);++_1),Ae}),Fa(d,B_(d),_),F&&(_=Hs(_,7,Bp));for(var le=p.length;le--;)Iu(_,p[le]);return _}),DA=hl(function(d,p){return null==d?{}:function(d,p){return Tv(d,p,function(_,F){return eg(d,F)})}(d,p)});function zw(d,p){if(null==d)return{};var _=Yi(B_(d),function(F){return[F]});return p=kn(p),Tv(d,_,function(F,le){return p(F,le[0])})}var IA=Fu(Is),Gw=Fu(ro);function nh(d){return null==d?[]:a_(d,Is(d))}var kA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?Ey(p):p)});function Ey(d){return ig(Gi(d).toLowerCase())}function xy(d){return(d=Gi(d))&&d.replace(Ca,sF).replace(i_,"")}var LA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),BA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),GF=Np("toLowerCase"),HA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Ty=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Kw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Np("toUpperCase");function Iy(d,p,_){return d=Gi(d),(p=_?ee:p)===ee?function(at){return Bl.test(at)}(d)?function(at){return at.match(rv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(p)||[]}var Oy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Qw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Ry(d){return function(){return d}}var WF=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return nT("function"==typeof d?d:Hs(d,1))}var Py=pi(function(d,p){return function(_){return ka(_,d,p)}}),Zw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Ny(d,p,_){var F=Is(p),le=Qh(p,F);null==_&&(!Tr(p)||!le.length&&F.length)&&(_=p,p=d,d=this,le=Qh(p,Is(p)));var Ae=!(Tr(_)&&"chain"in _&&!_.chain),He=ua(d);return Us(le,function(Ye){var ct=p[Ye];d[Ye]=ct,He&&(d.prototype[Ye]=function(){var Ft=this.__chain__;if(Ae||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return ct.apply(d,Ur([this.value()],arguments))})}),d}function ky(){}var KA=kp(Yi),QA=kp(ri),eE=kp(ko);function Uu(d){return oa(d)?s_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var ZA=Nv(),JA=Nv(!0);function Hc(){return[]}function Ly(){return!1}var Hn=F_(function(d,p){return d+p},0),By=$d("ceil"),YF=F_(function(d,p){return d/p},1),Kl=$d("floor"),rE=F_(function(d,p){return d*p},1),sE=$d("round"),oE=F_(function(d,p){return d-p},0);return xe.after=function(d,p){if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},xe.ary=Xp,xe.assign=vA,xe.assignIn=wA,xe.assignInWith=Zd,xe.assignWith=EA,xe.at=kw,xe.before=cy,xe.bind=cf,xe.bindAll=Qw,xe.bindKey=Qd,xe.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},xe.chain=ny,xe.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var F=null==d?0:d.length;if(!F||p<1)return[];for(var le=0,Ae=0,He=Ct(Vt(F/p));lele?0:le+_),(F=F===ee||F>le?le:ti(F))<0&&(F+=le),F=_>F?0:yy(F);_>>0)?(d=Gi(d))&&("string"==typeof p||null!=p&&!Rw(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},xe.spread=function(d,p){if("function"!=typeof d)throw new Ia(Se);return p=null==p?0:zr(ti(p),0),pi(function(_){var F=_[p],le=ul(_,0,p);return F&&Ur(le,F),os(d,this,le)})},xe.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},xe.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},xe.takeRight=function(d,p,_){var F=null==d?0:d.length;return F?Ms(d,(p=F-(p=_||p===ee?1:ti(p)))<0?0:p,F):[]},xe.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},xe.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},xe.tap=function(d,p){return p(d),d},xe.throttle=function(d,p,_){var F=!0,le=!0;if("function"!=typeof d)throw new Ia(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,le="trailing"in _?!!_.trailing:le),vw(d,p,{leading:F,maxWait:p,trailing:le})},xe.thru=Xd,xe.toArray=Pw,xe.toPairs=IA,xe.toPairsIn=Gw,xe.toPath=function(d){return On(d)?Yi(d,si):da(d)?[d]:no(Wv(Gi(d)))},xe.toPlainObject=Nw,xe.transform=function(d,p,_){var F=On(d),le=F||ml(d)||df(d);if(p=kn(p,4),null==_){var Ae=d&&d.constructor;_=le?F?new Ae:[]:Tr(d)&&ua(Ae)?Tu(Oa(d)):{}}return(le?Us:cl)(d,function(He,Ye,ct){return p(_,He,Ye,ct)}),_},xe.unary=function(d){return Xp(d,1)},xe.union=nw,xe.unionBy=UT,xe.unionWith=zT,xe.uniq=function(d){return d&&d.length?kc(d):[]},xe.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},xe.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},xe.unset=function(d,p){return null==d||Iu(d,p)},xe.unzip=iw,xe.unzipWith=GT,xe.update=function(d,p,_){return null==d?d:Op(d,p,N_(_))},xe.updateWith=function(d,p,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,p,N_(_),F)},xe.values=nh,xe.valuesIn=function(d){return null==d?[]:a_(d,ro(d))},xe.without=rw,xe.words=Iy,xe.wrap=function(d,p){return Kp(N_(p),d)},xe.xor=PF,xe.xorBy=Uo,xe.xorWith=ey,xe.zip=ty,xe.zipObject=function(d,p){return Rp(d||[],p||[],al)},xe.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},xe.zipWith=lf,xe.entries=IA,xe.entriesIn=Gw,xe.extend=wA,xe.extendWith=Zd,Ny(xe,xe),xe.add=Hn,xe.attempt=Oy,xe.camelCase=kA,xe.capitalize=Ey,xe.ceil=By,xe.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},xe.clone=function(d){return Hs(d,4)},xe.cloneDeep=function(d){return Hs(d,5)},xe.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},xe.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},xe.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},xe.deburr=xy,xe.defaultTo=function(d,p){return null==d||d!=d?p:d},xe.divide=YF,xe.endsWith=function(d,p,_){d=Gi(d),p=Vo(p);var F=d.length,le=_=_===ee?F:Au(ti(_),0,F);return(_-=p.length)>=0&&d.slice(_,le)==p},xe.eq=Dn,xe.escape=function(d){return(d=Gi(d))&&en.test(d)?d.replace(Sa,oF):d},xe.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Be,"\\$&"):d},xe.every=function(d,p,_){var F=On(d)?ri:wv;return _&&Ws(d,p,_)&&(p=ee),F(d,kn(p,3))},xe.find=QT,xe.findIndex=Y_,xe.findKey=function(d,p){return Nh(d,kn(p,3),cl)},xe.findLast=ZT,xe.findLastIndex=X_,xe.findLastKey=function(d,p){return Nh(d,kn(p,3),Ap)},xe.floor=Kl,xe.forEach=ay,xe.forEachRight=Wp,xe.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},xe.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},xe.forOwn=function(d,p){return d&&cl(d,kn(p,3))},xe.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},xe.get=pf,xe.gt=zt,xe.gte=Tw,xe.has=function(d,p){return null!=d&&Uv(d,p,Ld)},xe.hasIn=eg,xe.head=Yv,xe.identity=so,xe.includes=function(d,p,_,F){d=bo(d)?d:nh(d),_=_&&!F?ti(_):0;var le=d.length;return _<0&&(_=zr(le+_,0)),my(d)?_<=le&&d.indexOf(p,_)>-1:!!le&&il(d,p,_)>-1},xe.indexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=null==_?0:ti(_);return le<0&&(le=zr(F+le,0)),il(d,p,le)},xe.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Te&&d<=Te},xe.isSet=bA,xe.isString=my,xe.isSymbol=da,xe.isTypedArray=df,xe.isUndefined=function(d){return d===ee},xe.isWeakMap=function(d){return Ar(d)&&$s(d)==V},xe.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},xe.join=function(d,p){return null==d?"":Uh.call(d,p)},xe.kebabCase=LA,xe.last=aa,xe.lastIndexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=F;return _!==ee&&(le=(le=ti(_))<0?zr(F+le,0):ps(le,F-1)),p==p?function(at,Rt,Ct){for(var dn=Ct+1;dn--;)if(at[dn]===Rt)return dn;return dn}(d,p,le):Td(d,Dc,le,!0)},xe.lowerCase=BA,xe.lowerFirst=GF,xe.lt=Uc,xe.lte=_y,xe.max=function(d){return d&&d.length?Kh(d,so,yo):ee},xe.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},xe.mean=function(d){return Ss(d,so)},xe.meanBy=function(d,p){return Ss(d,kn(p,2))},xe.min=function(d){return d&&d.length?Kh(d,so,Cv):ee},xe.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Cv):ee},xe.stubArray=Hc,xe.stubFalse=Ly,xe.stubObject=function(){return{}},xe.stubString=function(){return""},xe.stubTrue=function(){return!0},xe.multiply=rE,xe.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},xe.noConflict=function(){return zi._===this&&(zi._=f_),this},xe.noop=ky,xe.now=Bu,xe.pad=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;if(!p||F>=p)return d;var le=(p-F)/2;return Fp(Si(le),_)+d+Fp(Vt(le),_)},xe.padEnd=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;return p&&Fp){var F=d;d=p,p=F}if(_||d%1||p%1){var le=zh();return ps(d+le*(p-d+D1("1e-"+((le+"").length-1))),p)}return Hl(d,p)},xe.reduce=function(d,p,_){var F=On(d)?Eu:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,Pc)},xe.reduceRight=function(d,p,_){var F=On(d)?Cd:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,T_)},xe.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Gi(d),p)},xe.replace=function(){var d=arguments,p=Gi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},xe.result=function(d,p,_){var F=-1,le=(p=Lc(p,d)).length;for(le||(le=1,d=ee);++FTe)return[];var _=ye,F=ps(d,ye);p=kn(p),d-=ye;for(var le=Md(F,p);++_=Ae)return d;var Ye=_-Lh(F);if(Ye<1)return F;var ct=He?ul(He,0,Ye).join(""):d.slice(0,Ye);if(le===ee)return ct+F;if(He&&(Ye+=ct.length-Ye),Rw(le)){if(d.slice(Ye).search(le)){var Ft,Lt=ct;for(le.global||(le=d_(le.source,Gi(Xn.exec(le))+"g")),le.lastIndex=0;Ft=le.exec(Lt);)var Gt=Ft.index;ct=ct.slice(0,Gt===ee?Ye:Gt)}}else if(d.indexOf(Vo(le),Ye)!=Ye){var nn=ct.lastIndexOf(le);nn>-1&&(ct=ct.slice(0,nn))}return ct+F},xe.unescape=function(d){return(d=Gi(d))&&ws.test(d)?d.replace(kl,u_):d},xe.uniqueId=function(d){var p=++fF;return Gi(d)+p},xe.upperCase=Kw,xe.upperFirst=ig,xe.each=ay,xe.eachRight=Wp,xe.first=Yv,Ny(xe,function(){var d={};return cl(xe,function(p,_){Ki.call(xe.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),xe.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){xe[d].placeholder=xe}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var F=this.__filtered__&&!p?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ps(_,F.__takeCount__):F.__views__.push({size:ps(_,ye),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,F=1==_||3==_;fi.prototype[d]=function(le){var Ae=this.clone();return Ae.__iteratees__.push({iteratee:kn(le,3),type:_}),Ae.__filtered__=Ae.__filtered__||F,Ae}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(hy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ye)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),F=/^(?:head|last)$/.test(p),le=xe[F?"take"+("last"==p?"Right":""):p],Ae=F||/^find/.test(p);!le||(xe.prototype[p]=function(){var He=this.__wrapped__,Ye=F?[1]:arguments,ct=He instanceof fi,Ft=Ye[0],Lt=ct||On(He),Gt=function(mi){var Di=le.apply(xe,Ur([mi],Ye));return F&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(ct=Lt=!1);var nn=this.__chain__,vn=!!this.__actions__.length,Fn=Ae&&!nn,gi=ct&&!vn;if(!Ae&&Lt){He=gi?He:new fi(this);var Bn=d.apply(He,Ye);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,Ye):(Bn=this.thru(Gt),Fn?F?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);xe.prototype[d]=function(){var le=arguments;if(F&&!this.__chain__){var Ae=this.value();return p.apply(On(Ae)?Ae:[],le)}return this[_](function(He){return p.apply(On(He)?He:[],le)})}}),cl(fi.prototype,function(d,p){var _=xe[p];if(_){var F=_.name+"";Ki.call(Od,F)||(Od[F]=[]),Od[F].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),F=p<0,le=_?d.length:0,Ae=function(d,p,_){for(var F=-1,le=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},xe.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var F=sf(_);F.__index__=0,F.__values__=ee,p?le.__wrapped__=F:p=F;var le=F;_=_.__wrapped__}return le.__wrapped__=d,p},xe.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[J_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(J_)},xe.prototype.toJSON=xe.prototype.valueOf=xe.prototype.value=function(){return oT(this.__wrapped__,this.__actions__)},xe.prototype.first=xe.prototype.head,jh&&(xe.prototype[jh]=function(){return this}),xe}();zi._=Bh,(yt=function(){return Bh}.call(it,et,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},5478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,k=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},H=function(lt){return Q[lt]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(rt){return rt.replace(C,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var T=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var z={},P=/^[^:]+:\/*[^/]*$/,X=/^([^:]+:)[\s\S]*$/,ue=/^([^:]+:\/*[^/]*)[\s\S]*$/;function I(rt,lt){z[" "+rt]||(z[" "+rt]=P.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=z[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(X,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ue,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var ve=0;ve1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Te=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Be,ut,Je){for(var Mt=!1,It=ut;--It>=0&&"\\"===Je[It];)Mt=!Mt;return Mt?"|":" |"}).split(/ \|/),ve=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:ve[0]}:{raw:"\n"}},lt.code=function(ge){var ve=this.rules.block.code.exec(ge);if(ve){var Be=ve[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ve[0],codeBlockStyle:"indented",text:this.options.pedantic?Be:me(Be,"\n")}}},lt.fences=function(ge){var ve=this.rules.block.fences.exec(ge);if(ve){var Be=ve[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(ve){var Be=ve.match(/^\s+/);return null===Be?ve:Be[0].length>=ge.length?ve.slice(ge.length):ve}).join("\n")}(Be,ve[3]||"");return{type:"code",raw:Be,lang:ve[2]?ve[2].trim():ve[2],text:ut}}},lt.heading=function(ge){var ve=this.rules.block.heading.exec(ge);if(ve){var Be=ve[2].trim();if(/#$/.test(Be)){var ut=me(Be,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Be=ut.trim())}return{type:"heading",raw:ve[0],depth:ve[1].length,text:Be}}},lt.nptable=function(ge){var ve=this.rules.block.nptable.exec(ge);if(ve){var Be={type:"table",header:ne(ve[1].replace(/^ *| *\| *$/g,"")),align:ve[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:ve[3]?ve[3].replace(/\n$/,"").split("\n"):[],raw:ve[0]};if(Be.header.length===Be.align.length){var Je,ut=Be.align.length;for(Je=0;Je ?/gm,"");return{type:"blockquote",raw:ve[0],text:Be}}},lt.list=function(ge){var ve=this.rules.block.list.exec(ge);if(ve){var Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Be=ve[0],ut=ve[2],Je=ut.length>1,Mt={type:"list",raw:Be,ordered:Je,start:Je?+ut.slice(0,-1):"",loose:!1,items:[]},It=ve[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var qi=0;qici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(qi,2,It[qi]+(!this.options.pedantic&&Rn[1].length/i.test(ut[0])&&(ve=!1),!Be&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Be=!0:Be&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Be=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:ve,inRawBlock:Be,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]}},lt.link=function(ge){var ve=this.rules.inline.link.exec(ge);if(ve){var Be=ve[2].trim();if(!this.options.pedantic&&/^$/.test(Be))return;var ut=me(Be.slice(0,-1),"\\");if((Be.length-ut.length)%2==0)return}else{var Je=Oe(ve[2],"()");if(Je>-1){var It=(0===ve[0].indexOf("!")?5:4)+ve[1].length+Je;ve[2]=ve[2].substring(0,Je),ve[0]=ve[0].substring(0,It).trim(),ve[3]=""}}var Ot=ve[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=ve[3]?ve[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(Be)?Ot.slice(1):Ot.slice(1,-1)),$e(ve,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},ve[0])}},lt.reflink=function(ge,ve){var Be;if((Be=this.rules.inline.reflink.exec(ge))||(Be=this.rules.inline.nolink.exec(ge))){var ut=(Be[2]||Be[1]).replace(/\s+/g," ");if(!(ut=ve[ut.toLowerCase()])||!ut.href){var Je=Be[0].charAt(0);return{type:"text",raw:Je,text:Je}}return $e(Be,ut,Be[0])}},lt.emStrong=function(ge,ve,Be){void 0===Be&&(Be="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Be.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Je=ut[1]||ut[2]||"";if(!Je||Je&&(""===Be||this.rules.inline.punctuation.exec(Be))){var It,Ot,Mt=ut[0].length-1,Qt=Mt,zn=0,ci="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,ve=ve.slice(-1*ge.length+Mt);null!=(ut=ci.exec(ve));)if(It=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Ot=It.length,ut[3]||ut[4]){Qt+=Ot;continue}if((ut[5]||ut[6])&&Mt%3&&!((Mt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Mt,Ot)%2?{type:"em",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(1,Mt+ut.index+Ot)}:{type:"strong",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(2,Mt+ut.index+Ot-1)}}}}},lt.codespan=function(ge){var ve=this.rules.inline.code.exec(ge);if(ve){var Be=ve[2].replace(/\n/g," "),ut=/[^ ]/.test(Be),Je=/^ /.test(Be)&&/ $/.test(Be);return ut&&Je&&(Be=Be.substring(1,Be.length-1)),Be=ye(Be,!0),{type:"codespan",raw:ve[0],text:Be}}},lt.br=function(ge){var ve=this.rules.inline.br.exec(ge);if(ve)return{type:"br",raw:ve[0]}},lt.del=function(ge){var ve=this.rules.inline.del.exec(ge);if(ve)return{type:"del",raw:ve[0],text:ve[2]}},lt.autolink=function(ge,ve){var ut,Je,Be=this.rules.inline.autolink.exec(ge);if(Be)return Je="@"===Be[2]?"mailto:"+(ut=ye(this.options.mangle?ve(Be[1]):Be[1])):ut=ye(Be[1]),{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,ve){var Be;if(Be=this.rules.inline.url.exec(ge)){var ut,Je;if("@"===Be[2])Je="mailto:"+(ut=ye(this.options.mangle?ve(Be[0]):Be[0]));else{var Mt;do{Mt=Be[0],Be[0]=this.rules.inline._backpedal.exec(Be[0])[0]}while(Mt!==Be[0]);ut=ye(Be[0]),Je="www."===Be[1]?"http://"+ut:ut}return{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,ve,Be){var Je,ut=this.rules.inline.text.exec(ge);if(ut)return Je=ve?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]:ye(this.options.smartypants?Be(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Je}},rt}(),tt=te_noopTest,Xe=te_edit,ze=te_merge,Le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Le.def=Xe(Le.def).replace("label",Le._label).replace("title",Le._title).getRegex(),Le.bullet=/(?:[*+-]|\d{1,9}[.)])/,Le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Le.item=Xe(Le.item,"gm").replace(/bull/g,Le.bullet).getRegex(),Le.listItemStart=Xe(/^( *)(bull) */).replace("bull",Le.bullet).getRegex(),Le.list=Xe(Le.list).replace(/bull/g,Le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Le.def.source+")").getRegex(),Le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Le._comment=/|$)/,Le.html=Xe(Le.html,"i").replace("comment",Le._comment).replace("tag",Le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Le.paragraph=Xe(Le._paragraph).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.blockquote=Xe(Le.blockquote).replace("paragraph",Le.paragraph).getRegex(),Le.normal=ze({},Le),Le.gfm=ze({},Le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Le.gfm.nptable=Xe(Le.gfm.nptable).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.gfm.table=Xe(Le.gfm.table).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.pedantic=ze({},Le.normal,{html:Xe("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Xe(Le.normal._paragraph).replace("hr",Le.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Xe(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Xe(Le._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Xe(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Xe(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Xe(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Xe(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Xe(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Xe(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Xe(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Xe(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=ze({},Ke),Ke.pedantic=ze({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xe(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Xe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=ze({},Ke.normal,{escape:Xe(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||qe,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:ke.normal,inline:q.normal};this.options.pedantic?(ge.block=ke.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=ke.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,ve){return new rt(ve).lex(ge)},rt.lexInline=function(ge,ve){return new rt(ve).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,ve,Be){var Je,Mt,It,Ot,Qt,zn,ut=this;for(void 0===ve&&(ve=[]),void 0===Be&&(Be=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(Je=Rn.call(ut,ge,ve))&&(ge=ge.substring(Je.raw.length),ve.push(Je),!0)}))){if(Je=this.tokenizer.space(ge)){ge=ge.substring(Je.raw.length),Je.type&&ve.push(Je);continue}if(Je=this.tokenizer.code(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(Je=this.tokenizer.fences(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.heading(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.nptable(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.hr(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.blockquote(ge)){ge=ge.substring(Je.raw.length),Je.tokens=this.blockTokens(Je.text,[],Be),ve.push(Je);continue}if(Je=this.tokenizer.list(ge)){for(ge=ge.substring(Je.raw.length),It=Je.items.length,Mt=0;Mt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ge.substring(0,Rn+1))}(),Be&&(Je=this.tokenizer.paragraph(Qt))){Ot=ve[ve.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je),zn=Qt.length!==ge.length,ge=ge.substring(Je.raw.length);continue}if(Je=this.tokenizer.text(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(ge){var ci="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return ve},lt.inline=function(ge){var ve,Be,ut,Je,Mt,It,Ot=ge.length;for(ve=0;ve0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)yn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Sn){return!!(Mt=Sn.call(Je,ge,ve))&&(ge=ge.substring(Mt.raw.length),ve.push(Mt),!0)}))){if(Mt=this.tokenizer.escape(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.tag(ge,Be,ut)){ge=ge.substring(Mt.raw.length),Be=Mt.inLink,ut=Mt.inRawBlock,(It=ve[ve.length-1])&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.link(ge)){ge=ge.substring(Mt.raw.length),"link"===Mt.type&&(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut)),ve.push(Mt);continue}if(Mt=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(Mt.raw.length),It=ve[ve.length-1],"link"===Mt.type?(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut),ve.push(Mt)):It&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.emStrong(ge,Qt,Rn)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.codespan(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.br(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.del(ge)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.autolink(ge,de)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(!Be&&(Mt=this.tokenizer.url(ge,de))){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Ot=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Sn=1/0,rr=ge.slice(1),sr=void 0;Je.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Sn=Math.min(Sn,sr))}),Sn<1/0&&Sn>=0&&(Ot=ge.substring(0,Sn+1))}(),Mt=this.tokenizer.inlineText(Ot,ut,pe)){ge=ge.substring(Mt.raw.length),"_"!==Mt.raw.slice(-1)&&(Rn=Mt.raw.slice(-1)),ci=!0,(It=ve[ve.length-1])&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(ge){var Xn="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return ve},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:ke,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,we=te_escape,B=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,ve,Be){var ut=(ve||"").match(/\S*/)[0];if(this.options.highlight){var Je=this.options.highlight(ge,ut);null!=Je&&Je!==ge&&(Be=!0,ge=Je)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Be?ge:we(ge,!0))+"
    \n":"
    "+(Be?ge:we(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,ve,Be,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,ve,Be){var ut=ve?"ol":"ul";return"<"+ut+(ve&&1!==Be?' start="'+Be+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,ve){return ve&&(ve=""+ve+""),"\n\n"+ge+"\n"+ve+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,ve){var Be=ve.header?"th":"td";return(ve.align?"<"+Be+' align="'+ve.align+'">':"<"+Be+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut='"+Be+""},lt.image=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut=''+Be+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,ve,Be){return""+Be},lt.image=function(ge,ve,Be){return""+Be},lt.br=function(){return""},rt}(),V=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,ve){var Be=ge,ut=0;if(this.seen.hasOwnProperty(Be)){ut=this.seen[ge];do{Be=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Be))}return ve||(this.seen[ge]=ut,this.seen[Be]=0),Be},lt.slug=function(ge,ve){void 0===ve&&(ve={});var Be=this.serialize(ge);return this.getNextSafeSlug(Be,ve.dryrun)},rt}(),Re=B,Ze=N,Tt=V,kt=dt.exports.defaults,In=te_unescape,Yn=je,Mi=function(){function rt(ht){this.options=ht||kt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ze,this.slugger=new Tt}rt.parse=function(ge,ve){return new rt(ve).parse(ge)},rt.parseInline=function(ge,ve){return new rt(ve).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,ve){void 0===ve&&(ve=!0);var ut,Je,Mt,It,Ot,Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Qn,qi,Ca,Qr,re,Be="",fe=ge.length;for(ut=0;ut0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,qi);Be+=this.renderer.list(Rn,Xn,Sn);continue;case"html":Be+=this.renderer.html(yn.text);continue;case"paragraph":Be+=this.renderer.paragraph(this.parseInline(yn.tokens));continue;case"text":for(Rn=yn.tokens?this.parseInline(yn.tokens):yn.text;ut+1An error occurred:

    "+xa(Mt.message+"",!0)+"
    ";throw Mt}}return en.options=en.setOptions=function(rt){return Bs(en.defaults,rt),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+xa(ge.message+"",!0)+"
    ";throw ge}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Ut,it,et)=>{var yt=et(6284),ee=et(7830);function Dt(){this.clear()}Dt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Dt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Dt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Dt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Dt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Dt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.iterator]=Dt.prototype.values),Dt.prototype.toString=function(){return this.toArray().join(",")},Dt.prototype.toJSON=function(){return this.toArray()},Dt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Dt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Dt.prototype.inspect),Dt.from=function(dt){var Y=new Dt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Dt.of=function(){return Dt.from(arguments)},Ut.exports=Dt},7830:Ut=>{var it="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function yt(ee,Dt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Dt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var et=arguments,yt=et.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:et[ee++]}})},it.empty=function(){var et=new it(null);return et.done=!0,et},it.is=function(et){return et instanceof it||"object"==typeof et&&null!==et&&"function"==typeof et.next},Ut.exports=it},7310:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Dt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var k=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return k||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Dt=yt(et(1602)),dt=yt(et(2344))},1151:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(et(4321)),Dt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Dt.self||Dt.window||Dt.global,it.window=Dt.window||Dt.self||Dt.global,it.global=Dt.global||Dt.self||Dt.window,it.document=Dt.document||{},it.process=Dt.process||{};var j=console;it.console=j},4761:(Ut,it,et)=>{"use strict";var ee=et(1948),Dt=et(4321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=et(1151),Se=(j(et(1602)),j(et(7310)));ee(et(2344));function W(k){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,H=new WeakMap;return(W=function(C){return C?H:Q})(k)}function j(k,Q){if(!Q&&k&&k.__esModule)return k;if(null===k||"object"!==Dt(k)&&"function"!=typeof k)return{default:k};var H=W(Q);if(H&&H.has(k))return H.get(k);var v={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in k)if("default"!==R&&Object.prototype.hasOwnProperty.call(k,R)){var T=C?Object.getOwnPropertyDescriptor(k,R):null;T&&(T.get||T.set)?Object.defineProperty(v,R,T):v[R]=k[R]}return v.default=k,H&&H.set(k,v),v}},1602:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(et(4321)),Dt=yt(et(2344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Dt.default)()}},2344:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(et(4321))},6991:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(4180),it),ee(et(5103),it),ee(et(8965),it),ee(et(2595),it),ee(et(2417),it),ee(et(2451),it),ee(et(7735),it)},4180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=et(4180),ee=et(8965),Dt=et(2595),dt=et(2417),Y=et(2451),Se=et(7735);let he=0;it.DataFactory=class{constructor(k){this.blankNodeCounter=0,this.blankNodePrefix=(k=k||{}).blankNodePrefix||`df_${he++}_`}namedNode(k){return new dt.NamedNode(k)}blankNode(k){return new yt.BlankNode(k||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(k,Q){return new Dt.Literal(k,Q)}variable(k){return new Se.Variable(k)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(k,Q,H,v){return new Y.Quad(k,Q,H,v||this.defaultGraph())}fromTerm(k){switch(k.termType){case"NamedNode":return this.namedNode(k.value);case"BlankNode":return this.blankNode(k.value);case"Literal":return k.language?this.literal(k.value,k.language):k.datatype.equals(Dt.Literal.XSD_STRING)?this.literal(k.value):this.literal(k.value,this.fromTerm(k.datatype));case"Variable":return this.variable(k.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(k.subject),this.fromTerm(k.predicate),this.fromTerm(k.object),this.fromTerm(k.graph))}}fromQuad(k){return this.fromTerm(k)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=et,et.INSTANCE=new et},2595:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=et(2417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Dt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Dt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,C,R,T){void 0===T&&(T=R),Object.defineProperty(v,T,{enumerable:!0,get:function(){return C[R]}})}:function(v,C,R,T){void 0===T&&(T=R),v[T]=C[R]}),ee=this&&this.__exportStar||function(v,C){for(var R in v)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&&yt(C,v,R)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Dt=et(6991),dt=et(9938),Y=et(6060);ee(et(9938),it),ee(et(8871),it),ee(et(6060),it);const Se=new Dt.DataFactory,he=new Y.Translator;function W(v,C){return he.fromRdf(v,C)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Se),he.toRdf(v,C)},it.getTermRaw=function(v,C){return"Literal"===v.termType?W(v,C):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},8871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},6060:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Dt,dt){for(const Y of Dt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Dt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Dt):ee.value}toRdf(ee,Dt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Dt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Dt,dataFactory:dt}){return dt.literal(ee,Dt)}}it.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(727),it),ee(et(2525),it),ee(et(8554),it),ee(et(7750),it),ee(et(4608),it)},2829:(Ut,it,et)=>{"use strict";var yt={};et.r(yt),et.d(yt,{decode:()=>jme,encode:()=>Ume});var ee={};et.r(ee),et.d(ee,{decode:()=>Wme,encode:()=>qme});var Dt={};et.r(Dt),et.d(Dt,{decode:()=>Yme,encode:()=>Xme});var dt={};function Y(n){return"function"==typeof n}et.r(dt),et.d(dt,{decode:()=>Kme,encode:()=>Qme});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},k=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const P="function"==typeof Symbol&&Symbol.observable||"@@observable";function X(n){return n}function ue(...n){return I(n)}function I(n){return 0===n.length?X:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let O=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[T])return n[T]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=K(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[P](){return this}pipe(...t){return 0===t.length?this:I(t)(this)}toPromise(t){return new(t=K(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function K(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ae extends y{constructor(e){super(e),this.destination=e}}let oe=(()=>{class n extends O{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ae(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Te(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ye(e,this.project,this.thisArg))}}class ye extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Oe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[P])return(n=>e=>{const t=n[P]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Le(n))return Oe(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Qe])return(n=>e=>{const t=n[Qe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function ke(n,e){return new O(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[P]}(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[P]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Le(n))return ke(n,e);if(function(n){return n&&"function"==typeof n[Qe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new O(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Qe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof O?n:new O(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class we extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof O)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function V(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(V((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Ze(e,this.project,this.concurrent))}}class Ze extends we{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return V(X,n)}function In(n,e){return e?ke(n,e):new O(Oe(n))}function Nn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Te(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof O?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends O{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ae{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new oe}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=en({__forward_ref__:en});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function ve(n){return Be(n)?n():n}function Be(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Je extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function yn(n,e){const t=e?` in ${e}`:"";throw new Je("201",`No provider for ${Qt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function bn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var En=(()=>((En=En||{})[En.Default=0]="Default",En[En.Host=1]="Host",En[En.Self=2]="Self",En[En.SkipSelf=4]="SkipSelf",En[En.Optional=8]="Optional",En))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=bn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&En.Optional?null:void 0!==e?e:void yn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var Ge=(()=>((Ge=Ge||{})[Ge.OnPush=0]="OnPush",Ge[Ge.Default=1]="Default",Ge))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},tr=[],fp=en({\u0275cmp:en}),i_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),rv=en({\u0275mod:en}),A1=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let M1=0;function rn(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ge.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=M1++,i.inputs=lv(n.inputs,t),i.outputs=lv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(sv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(ov):null,i})}function sv(n){return zi(n)||function(n){return n[i_]||null}(n)}function ov(n){return function(n){return n[Oh]||null}(n)}const av={};function tn(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(av[n.id]=n.type),e})}function lv(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Nt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function No(n,e){const t=n[rv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function o_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function cv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class u_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Li(){return hv}function hv(n){return n.type.prototype.ngOnChanges&&(n.setInput=F1),k1}function k1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function F1(n,e,t,i){const r=at(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new u_(l&&l.currentValue,e,o===xd),n[i]=e}Li.ngInherit=!0;const Bh="__ngSimpleChanges__";function at(n){return n[Bh]||null}let Xi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Xi?Xi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function f_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function p_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function pv(){return Ln.bindingsEnabled}function Vt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function mr(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=g_();for(;null!==n&&64===n.type;)n=n.parent;return n}function g_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,m_(e)}function m_(n){Ln.lFrame.currentDirectiveIndex=n}function __(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function gv(){return Ln.lFrame.currentQueryIndex}function y_(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&En.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&En.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=xe();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=xe(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function xe(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Nr(){const n=Ln.lFrame;return f_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let S_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,C_(i.data,n),C_(e,null),C_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(bv(r)){const o=Pd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function C_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=S_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&En.Host?T_(r,t,i):wv(e,t,i,r);try{const o=s(i);if(null!=o||i&En.Optional)return o;yn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&En.Host?e[16][6]:null;for((-1===a||i&En.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Pd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Ev)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Pd(l),e=al(l,e)):a=-1}}}return wv(e,t,i,r)}const Ev={};function xv(){return new na(as(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&En.Host&&s===a);return null!==u?Fd(e,o,u,a):Ev}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new Je("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,En.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=hv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return Be(n)?()=>{const e=As(ve(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Nc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function R_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class B_ extends ql{getTypeName(){return"HTML"}}class V_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class Uv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),Hv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Gv=oa("rp,rt"),U_=tf(Up,tf(Hv,oa("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),tf(Gv,oa("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),tf(Gv,Hv)),z_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),H_=oa("srcset"),G_=tf(z_,H_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vT=oa("script,style,template");class $_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!U_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();U_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const $v=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace($v,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function W_(n,e){let t=null;try{rf=rf||function(n){const e=new pT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new Uv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new $_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const X_="__ngContext__";function Ds(n,e){n[X_]=e}function K_(n){const e=function(n){return n[X_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function PT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||PT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const nw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ty(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return aw(n[13])}function iy(n){return aw(n[4])}function aw(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?hw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function ay(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function aA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Cw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Cw(s,r)),e}const Dn={};function zt(n){Tw(Si(),Vt(),to()+n,zh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function fy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!pv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Ww(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function qw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Cy(t)}}function Cy(n){for(let i=Xd(n);null!==i;i=iy(i))for(let r=10;r0&&Cy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Cy(r)}}function zA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Kw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Iy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Oy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Qw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=En.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&En.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&bn(e);a=l&&this.injectableDefInScope(l)?Uu(Fy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&En.Self?Zw():this.parent).get(e,t=i&En.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(rt(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=ve(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||tr))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=ve(e))?e:ve(e&&e.provide);const s=function(n,e,t){return tE(n)?Uu(void 0,n.useValue):Uu(eE(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Nu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=XA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ve(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Fy(n){const e=bn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Nc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function eE(n,e,t){let i;if(Hc(n)){const r=ve(n);return Ic(r)||Fy(r)}if(tE(n))i=()=>ve(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Nu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Ie(ve(n.useExisting));else{const r=ve(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||Fy(r);i=()=>new r(...Nu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function tE(n){return null!==n&&"object"==typeof n&&Pp in n}function Hc(n){return"function"==typeof n}const nE=function(n,e,t){return function(n,e=null,t=null,i){const r=Jw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?nE(e,t,""):nE(e.providers,e.parent,e.name||"")}}function kq(n,e){wp(K_(n)[1],as())}function wn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Vq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Lq(n,l),c&&Bq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function cM(n){return n===xd?{}:n===tr?[]:n}function Lq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Bq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Vq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=We({token:Hn,providedIn:"any",factory:()=>Ie(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let aE=null;function sg(){if(!aE){const n=Zn.Symbol;if(n&&n.iterator)aE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(_e[i.index])):i.index;if(dr(t)){let _e=null;if(!a&&l&&(_e=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==_e)(_e.__ngLastListenerFn__||_e).__ngNextListenerFn__=s,_e.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Pe=t.listen(U,r,s);f.push(s,Pe),u&&u.push(r,ie,D,D+1)}}else s=mM(i,e,h,s,!0),U.addEventListener(r,s,o),f.push(s),u&&u.push(r,ie,D,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const x=w.length;if(x)for(let U=0;U0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function bY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k2(n){return n.substring(Os.key,Os.keyEnd)}function F2(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=F2(e,t))Bo(n,k2(e),!0)}function Jl(n,e,t,i){const r=Vt(),s=Si(),o=Fo(2);s.firstUpdatePass&&z2(s,n,o,i),e!==Dn&&Eo(r,o,e)&&G2(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function U2(n,e){return e>=n.expandoStartIndex}function z2(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=U2(n,t);W2(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=__(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Gy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Gy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),N2(n,u,i,!0),N2(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=fy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?tr:void 0);let g=h?R_(f,i):u===i?f:void 0;if(c&&!fE(g)&&(g=R_(l,i)),fE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=R_(l,i))}return a}function fE(n){return void 0!==n}function W2(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=Vt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=Vt();return Eo(i,Ra(),e)&&zo(Si(),Nr(),i,n,e,i[11],t,!0),qc}function pE(n,e,t){const i=Vt();if(Eo(i,Ra(),e)){const s=Si(),o=Nr();zo(s,o,i,n,e,Iy(__(s.data),o,i),t,!0)}return pE}const _f=void 0;var nX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const gE="en-US";let dL=gE;function vM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function xM(n,e,t,i,r){if(n=ve(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Ce),m=CM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),SM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+f,h),m=CM(a,e,u,u+f),w=g>=0&&t[g],x=m>=0&&t[m];if(r&&!x||!r&&!w){Rc(Hs(c,o),s,a);const U=function(n,e,t,i,r){const s=new qh(n,t,Ce);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?JX:ZX,t.length,r,i,l);!r&&x&&(t[m].providerFactory=U),SM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(U),o.push(U)}else SM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&x&&t[m].componentProviders++}}}function SM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);xM(t,i.data,i.blueprint,r,!0),xM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class nK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function vE(...n){}function Eg(n,e){return new pn(eo(n,e))}El.NULL=new nK;const sK=function(){return Eg(as(),Vt())};let pn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=sK,n})();function VL(n){return n instanceof pn?n.nativeElement:n}class yf{}let MM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return Uy(e)}create(e){return new dK(e)}}const uK=(n,e)=>e;class dK{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||uK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new hK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class hK{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class fK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new fK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new gK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class gK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:WL}),n})();function wE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(oy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}ay(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ty(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){My(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{My(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class _K extends Xy{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const bK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Xy(i,i)}return 47&n.type?new Xy(e[16],e):null}(as(),Vt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=bK,n})();const EK=[new GL],SK=new xg([new UL]),CK=new Sg(EK),AK=function(){return EE(as(),Vt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=AK,n})();const MK=Go,DK=class extends MK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Xy(i)}};function EE(n,e){return 4&n.type?new DK(e,n,Eg(n,e)):null}class Yc{}const RK=function(){return KL(as(),Vt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=RK,n})();const NK=Rs,YL=class extends NK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(bv(e)){const t=al(e,this._hostLView),i=Pd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),inw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(hA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):sy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||nw,clean:qA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let w,x;$h(m);try{const U=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&dy(r,n,l.classes),null!==l.styles&&ww(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),qw(o,l),Ey(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:D,classes:ie}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&dy(l,u,ie.join(" "))}if(x=f_(g,20),void 0!==t){const D=x.projection=[];for(let ie=0;iel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),$w(t[1],a,0,a.directiveStart,a.directiveEnd,e),Ww(e,o)),o}(U,this.componentDef,m,f,[kq]),ff(g,m,null)}finally{fi()}return new PQ(this.componentType,w,Eg(x,m),m,x)}}class PQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new _K(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class FQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=No(e),r=function(n){return n[A1]||null}(e);r&&vM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Jw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=En.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==No(e)&&function(n){const e=new Set;!function t(i){const r=No(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new FQ(this.moduleType,e)}}function AE(n,e,t){const i=Cs()+n,r=Vt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ps(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Je("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Ce);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=Vt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function GM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends oe{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=GM(l),a&&(a=GM(a)),c&&(c=GM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function KQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=KQ)}get changes(){return this._changes||(this._changes=new ln)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=vE,this.reject=vE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ef,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const l0=new Ht("AppId"),RZ={provide:l0,useFactory:function(){return`${tD()}${tD()}${tD()}`},deps:[]};function tD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),OE=new Ht("appBootstrapListener");let RE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class NZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const nD=function(n){return new zM(n)},kZ=nD,FZ=function(n){return Promise.resolve(nD(n))},Q3=function(n){const e=nD(n),i=fl(No(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new b3(o)),r},[]);return new NZ(e,i)},LZ=Q3,BZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=kZ,this.compileModuleAsync=FZ,this.compileModuleAndAllComponentsSync=LZ,this.compileModuleAndAllComponentsAsync=BZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),jZ=(()=>Promise.resolve(0))();function iD(n){"undefined"==typeof Zone?jZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,sD(n),n.isCheckStableRunning=!0,rD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),sD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,sD(n),rD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,zZ,vE,vE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const zZ={};function rD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function sD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,rD(n)}class $Z{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let oD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),iD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())iD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,aD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return aD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class WZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let aD=new WZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=cD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=cD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function cD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new $Z:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{uD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(vM(u.injector.get(Gu,gE)||gE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new O(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new O(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),iD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Nn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(oD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),uD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;uD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(OE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Hn),Ie(la),Ie(El),Ie(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const bJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:RE,deps:[]}]),SJ=[{provide:sh,useClass:sh,deps:[fn,Hn,la,El,Og]},{provide:IQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},RZ,{provide:xg,useFactory:function(){return SK},deps:[]},{provide:Sg,useFactory:function(){return CK},deps:[]},{provide:Gu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||gE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let TJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Ie(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:SJ}),n})(),HE=null;function Kc(){return HE}const hn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Cee,token:n,providedIn:"platform"}),n})();function Cee(){return Ie(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:Aee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Aee(){return new kB(Ie(hn))}function CD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Ng=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Mee,token:n,providedIn:"root"}),n})();function Mee(n){const e=Ie(hn).location;return new BB(Ie(Tf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let BB=(()=>{class n extends Ng{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return CD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Tf),Ie(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ng),Ie(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=CD,n.stripTrailingSlash=LB,n.\u0275prov=We({factory:Iee,token:n,providedIn:"root"}),n})();function Iee(){return new kg(Ie(Ng),Ie(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Bee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return nX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class JE{}let fte=(()=>{class n extends JE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Bee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Gu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class gte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new gte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go),Ce(xg))},n.\u0275dir=Nt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new _te,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class _te{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class wte{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ete{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const xte=new Ete,Ste=new wte;let m0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return xte;if(x2(t))return Ste;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Ce(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:JE,useClass:fte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){HE||(HE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(_0=_0||document.querySelector("base"),_0?_0.getAttribute("href"):null);return null==t?null:function(n){tx=tx||document.createElement("a"),tx.setAttribute("href",n);const e=tx.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){_0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let tx,_0=null;const aV=new Ht("TRANSITION_ID"),Yte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Xte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const y0=new Ht("EventManagerPlugins");let ix=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),b0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const zD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},HD=/%COMP%/g;function rx(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new GD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new une(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new dne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=rx(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Ie(ix),Ie(b0),Ie(l0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class GD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(zD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=zD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=zD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class une extends GD{constructor(e,t,i,r){super(e),this.component=i;const s=rx(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(HD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(HD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class dne extends GD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=rx(r.id,r.styles,[]);for(let o=0;o{class n extends UD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],bne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},vne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let wne=(()=>{class n extends UD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return bne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&vne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Ie(WD)},token:n,providedIn:"root"}),n})(),WD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):W_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new V_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return function(n){return new WD(n.get(hn))}(Ie(Vu))},token:n,providedIn:"root"}),n})();const Dne=sB(bJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){VD.makeCurrent(),jD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Xi=n}(document),document},deps:[]}]),Ine=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:y0,useClass:hne,multi:!0,deps:[hn,fn,Xc]},{provide:y0,useClass:wne,multi:!0,deps:[hn]},[],{provide:sx,useClass:sx,deps:[ix,b0,l0]},{provide:yf,useExisting:sx},{provide:cV,useExisting:b0},{provide:b0,useClass:b0,deps:[hn]},{provide:oD,useClass:oD,deps:[fn]},{provide:ix,useClass:ix,deps:[y0,fn]},{provide:oV,useClass:Xte,deps:[]},[]];let qD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:l0,useValue:t.appId},{provide:aV,useExisting:l0},Yte]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:Ine,imports:[fr,TJ]}),n})();"undefined"!=typeof window&&window;class Bne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class ox extends Bne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Une=new class extends cc{}(class extends ox{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new O(n=>n.complete());function v0(n){return n?function(n){return new O(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Te(e)?(n.pop(),ke(n,e)):In(n)}function Fg(n,e){return new O(e?t=>e.schedule(Hne,0,{error:n,subscriber:t}):t=>t.error(n))}function Hne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return v0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ax extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ax.dispatch,this.delay,new $ne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class $ne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends oe{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Wne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new ax(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Wne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new qne(n))}class qne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Yne(e,this.project))}}class Yne extends we{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const lx={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return lx.schedule(n,0);if(void 0===window.requestAnimationFrame)return lx.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function rie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class oie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new aie(this.componentFactory,e)}}class aie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Nn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=lx.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=lx.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new u_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class lie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const uie={initialConfig:{},parse:{},rename:{}};class die{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},uie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let hie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new die(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Nt({type:n,features:[Li]}),n})();const KD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var QD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api--staging.herokuapp.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Vi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",ux=JD();class mie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function dx(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},w0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(ux&&w0.performance)n=w0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:ux&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},xie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Sie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new mie("__probe-".concat(this.id,"__"),xie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){dx(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Sie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?ux?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),dx(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!ux&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return dx(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return dx("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},PV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},gn=new tI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function hx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function fx(n){return qo(hx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const E0={};const x0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,$ie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:yr,32937:yr,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:yr,35071:yr,37447:yr,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:yr,35374:yr,35377:yr,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(NV)?2147483647:65535,33001:n=>n.getExtension(NV)?16777216:65535,33e3:n=>16777216,37157:yr,35373:yr,35657:yr,36183:yr,37137:yr,34045:yr,35978:yr,35979:yr,35968:yr,35376:yr,35375:yr,35659:yr,37154:yr,35371:yr,35658:yr,35076:yr,35077:yr,35380:yr},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=$ie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function ire(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&ire(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function S0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const ore={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=S0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=S0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=S0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const are={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function lre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];lre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new dre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)cre(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(hx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=ore[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)are[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function px(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=px(),yre=sI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(yre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);gn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>gn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),gn.level=Math.max(gn.level,1)):gn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const C0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==C0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${C0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(px()&&gn.log(1,`luma.gl ${C0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:C0,version:C0,log:gn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ma(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw gn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){fx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function T0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ire({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Rre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Pre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},Nre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,Pre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Nre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=T0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/T0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return gn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return gn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return gn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return gn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Lre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Pf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(D=>this.initialize(Object.assign({},e,{pixels:D,data:D}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:w=!1,mipmaps:x=!0}=e;const{depth:U=0}=e;return({width:h,height:f,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=U,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),x&&this._isNPOT()&&(gn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),x=!1,this._updateForNPOT(l)),this.mipmaps=x,this.setImageData({data:t,width:h,height:f,depth:U,format:s,type:m,dataFormat:g,border:o,mipmaps:x,parameters:c,compressed:w}),x&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let x=null;({data:c,dataType:x}=this._getDataType({data:c,compressed:m}));let U,D=0;return hc(this.gl,l,()=>{switch(x){case"null":w.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":U=Ao(w),U.bindBuffer(35052,c.handle||c),U.texImage2D(t,r,s,h,f,o,g,u,a),U.bindBuffer(35052,null);break;case"browser-object":Ci(w)?w.texImage2D(t,r,s,h,f,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[ie,_e]of c.entries())w.compressedTexImage2D(t,ie,_e.format,_e.width,_e.height,o,_e.data),D+=_e.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===x?D:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const x=i;i=x.data,o=x.shape[0],a=x.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,w,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const x=Ao(this.gl);x.bindBuffer(35052,i),x.texSubImage2D(e,l,r,s,o,a,h,u,g),x.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return gn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Lre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Bre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Pf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Pf.isSupported(e,t)}constructor(e,t={}){fx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Bre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Nf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Nf,bpp:2},33327:{gl2:Nf,bpp:4},34842:{gl2:Nf,bpp:8},33326:{gl2:Nf,bpp:4},33328:{gl2:Nf,bpp:8},34836:{gl2:Nf,bpp:16},35898:{gl2:Nf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let $re=(()=>{class n extends Pf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){fx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&gn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((w,x)=>{t&&i?u.texImage2D(g,x,a,t,i,o,a,l,w):u.texImage2D(g,x,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=gI,n})();class Wre extends Pf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof $re||n instanceof Wre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function qre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function gx(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=A0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(T0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=gx(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ire({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&gn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return gn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return gn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return gn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return gn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return gn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return gn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>gn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return gn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||gn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},sse=1/Math.PI*180,ose=1/180*Math.PI,Dr={};function lse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ose,void 0)}(n)}function use(n){return function(n,e){return Qu(n,t=>t*sse,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function mx(n,e,t){return uh(n)?n.map((i,r)=>mx(i,e[r],t)):t*e+(1-t)*n}function D0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Pj(n){return n&&n[Symbol.asyncIterator]}function SI(n,e=(()=>!0)){return Array.isArray(n)?Nj(n,e,[]):e(n)?[n]:[]}function Nj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Lse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function TI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=TI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const U=s;s=(D,ie)=>t._normalizeConstant(U(D,ie))}const m=f?(U,D)=>s(g,D):(U,D)=>s(g.subarray(U,U+a),D),w=n.getData({length:i}),x=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===wx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=wx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Nse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==wx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const x=h*a+l;for(let U=0;Uu?c.set(ie,w):(e._normalizeValue(ie,U.target,0),Pse({target:c,source:U.target,start:w,count:_e}));w+=_e*u}else e._normalizeValue(ie,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function Do(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",jse=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?jse:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,gn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Gse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const P0="vs",qse={[P0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},Ex="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,II=[];function qj(n,e,t,i=!1){const r=e===P0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(Ex,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(Ex,""),i&&(n=n.replace(/\}\s*$/,s=>s+qse[e])),n}function OI(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Yse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},xx="transform_uSize_",Yj="transform_position";const noe={10241:9728,10240:9728,10242:33071,10243:33071};class roe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${xx}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${xx}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=gx(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(noe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${xx}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(w){const{updatedLine:x,inject:U}=w;h[g]=x,c=OI([c,U]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${xx}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Yse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function ooe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=ooe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function uoe(n){return function(n){const e={},t={};return NI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function NI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new PI(t)).dependencies=Qj(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function yoe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{kf[n]=n});const FI={};function Zj(n,e,t={}){const i=kI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function Sx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Eoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],xoe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Soe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Coe=[...eU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Toe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Cx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ioe=`\n\n${Ex}\n\n`,tU={[P0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===P0,f=t.split("\n");let g=100,m="",w=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],w=f.slice(1).join("\n")):m=`#version ${g}`;const x={};r.forEach(Ne=>{Object.assign(x,Ne.getDefines())}),Object.assign(x,s);let U=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:yoe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return Sx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),Sx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),Sx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),Sx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(x)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const D=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),ie={},_e={},Pe={};for(const Ne in a){const Ve="string"==typeof a[Ne]?{injection:a[Ne],order:0}:a[Ne],bt=Ne.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const At=bt[3];bt[2]?"decl"===At?_e[Ne]=[Ve]:Pe[Ne]=[Ve]:ie[Ne]=[Ve]}else Pe[Ne]=[Ve]}for(const Ne of r){u&&Ne.checkDeprecations(w,u),U+=Ne.getModuleSource(i,g);const bt=Ne.injections[i];for(const xt in bt){const At=xt.match(/^(v|f)s:#([\w-]+)$/);if(At){const Wt="decl"===At[2]?_e:Pe;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else ie[xt]=ie[xt]||[],ie[xt].push(bt[xt])}}return U+=Ioe,U=qj(U,i,_e),U+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(D[i],ie),U+=w,U=qj(U,i,Pe),U=function(n,e,t){switch(e){case 300:return t?Cx(n,Eoe):function(n){const e=(n=Cx(n,xoe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Toe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?Cx(n,Soe):function(n){const e=(n=Cx(n,Coe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(U,l?100:g,h),U}function Poe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Voe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Tx,1,Io),36294:Ir.bind(null,"uniform2uiv",Tx,2,Io),36295:Ir.bind(null,"uniform3uiv",Tx,3,Io),36296:Ir.bind(null,"uniform4uiv",Tx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},joe={},Uoe={},zoe={},iU=[0];function VI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&gn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw gn.error(`GLSL compilation errors in ${r}\n${s}`)(),gn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class jI extends N0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends N0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,k0=5124,F0=5125,zI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[k0]:[k0,1,"int"],35667:[k0,2,"ivec2"],35668:[k0,3,"ivec3"],35669:[k0,4,"ivec4"],[F0]:[F0,1,"uint"],36294:[F0,2,"uvec2"],36295:[F0,3,"uvec3"],36296:[F0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Tae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Aae=35981,Mae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Mae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Aae}=e;return this.hash=t||"",this.vs="string"==typeof i?new jI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof jI),on(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Tae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:w,samplers:x}){if((w||x)&&(gn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),gn.priority>=e){const U=g?g.id:"default",D=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${U}`;gn.log(e,D)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const U=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(U)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){gn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!$oe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Pf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&Woe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new jI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),gn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),gn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||gn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(ie=>this._getHash(ie.name)).sort(),g=o.map(ie=>this._getHash(ie)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),x=[],U=[];for(const ie of m)x.push(this._getHash(ie)),x.push(this._getHash(r[ie]));for(const ie of w)U.push(this._getHash(ie)),U.push(this._getHash(s[ie]));const D=`${u}/${h}D${x.join("/")}M${f.join("/")}I${U.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[D]){const ie=function(n,e){const{vs:t,fs:i}=e,r=uoe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:P0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Poe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[D]=new mU(this.gl,{hash:D,vs:ie.vs,fs:ie.fs,varyings:o,bufferMode:a}),this._getUniforms[D]=ie.getUniforms||(_e=>{}),this._useCounts[D]=0}return this._useCounts[D]++,this._programCache[D]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":w0.chrome?"Chrome":w0.safari?"Safari":w0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Dx||Dx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const kae=/^(.+)__LOCATION_([0-9]+)$/,Fae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Lae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Fae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,gn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=kae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return gn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function B0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=B0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let w;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${B0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${B0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function jae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:B0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?B0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Hae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function $ae(n,e){const{attributeMap:t=Hae}=e||{};return t&&t[n]||n}function Wae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Xae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(hx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||L0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=$ae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new lr(n,l),c],Wae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),gn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&gn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:x}=this,{onBeforeRender:U=vU,onAfterRender:D=vU}=this.props;U(),this.program.setUniforms(this.uniforms);const ie=this.program.draw(Object.assign(Xae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:w,instanceCount:x,offset:h?g:0}));return D(),gn.priority>=2&&this._logDrawCallEnd(c,l,i),ie}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return gn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Lae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:gn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${jae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&gn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&gn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);gn.table(e,s)(),gn.table(e,o)(),gn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),gn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Gse(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new roe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Ix(){}const Zae={onStart:Ix,onUpdate:Ix,onInterrupt:Ix,onEnd:Ix};class V0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},Zae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ole={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,xn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),gx(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ale{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ole[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class fle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new ale(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=_le[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(xn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ox={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:ble}=Ox;function Ele(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Cle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ole(i[r],e[r])){t=n(i),e=i;break}return t}}function Rle(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],w=e[13],x=e[14],U=e[15],D=t*a-i*o,ie=t*l-r*o,_e=t*c-s*o,Pe=i*l-r*a,Ne=i*c-s*a,Ve=r*c-s*l,bt=u*w-h*m,xt=u*x-f*m,At=u*U-g*m,Bt=h*x-f*w,Wt=h*U-g*w,gt=f*U-g*x,mt=D*gt-ie*Wt+_e*Bt+Pe*At-Ne*xt+Ve*bt;return mt?(n[0]=(a*gt-l*Wt+c*Bt)*(mt=1/mt),n[1]=(r*Wt-i*gt-s*Bt)*mt,n[2]=(w*Ve-x*Ne+U*Pe)*mt,n[3]=(f*Ne-h*Ve-g*Pe)*mt,n[4]=(l*At-o*gt-c*xt)*mt,n[5]=(t*gt-r*At+s*xt)*mt,n[6]=(x*_e-m*Ve-U*ie)*mt,n[7]=(u*Ve-f*_e+g*ie)*mt,n[8]=(o*Wt-a*At+c*bt)*mt,n[9]=(i*At-t*Wt-s*bt)*mt,n[10]=(m*Ne-w*_e+U*D)*mt,n[11]=(h*_e-u*Ne-g*D)*mt,n[12]=(a*xt-o*Bt-l*bt)*mt,n[13]=(t*Bt-i*xt+r*bt)*mt,n[14]=(w*ie-m*Pe-x*D)*mt,n[15]=(u*Pe-h*ie+f*D)*mt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],w=e[12],x=e[13],U=e[14],D=e[15],ie=t[0],_e=t[1],Pe=t[2],Ne=t[3];return n[0]=ie*i+_e*a+Pe*h+Ne*w,n[1]=ie*r+_e*l+Pe*f+Ne*x,n[2]=ie*s+_e*c+Pe*g+Ne*U,n[3]=ie*o+_e*u+Pe*m+Ne*D,n[4]=(ie=t[4])*i+(_e=t[5])*a+(Pe=t[6])*h+(Ne=t[7])*w,n[5]=ie*r+_e*l+Pe*f+Ne*x,n[6]=ie*s+_e*c+Pe*g+Ne*U,n[7]=ie*o+_e*u+Pe*m+Ne*D,n[8]=(ie=t[8])*i+(_e=t[9])*a+(Pe=t[10])*h+(Ne=t[11])*w,n[9]=ie*r+_e*l+Pe*f+Ne*x,n[10]=ie*s+_e*c+Pe*g+Ne*U,n[11]=ie*o+_e*u+Pe*m+Ne*D,n[12]=(ie=t[12])*i+(_e=t[13])*a+(Pe=t[14])*h+(Ne=t[15])*w,n[13]=ie*r+_e*l+Pe*f+Ne*x,n[14]=ie*s+_e*c+Pe*g+Ne*U,n[15]=ie*o+_e*u+Pe*m+Ne*D,n}function Px(n,e,t){var o,a,l,c,u,h,f,g,m,w,x,U,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],w=e[9],x=e[10],U=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=w,n[10]=x,n[11]=U,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+f*r+x*s+e[14],n[15]=c*i+g*r+U*s+e[15]),n}function Nx(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function kx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],sce=[0,0,0],oce=[0,0,0],ace=Rx(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=PU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=kx([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,ice)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:sce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function PU(n,e,t=oce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class dce extends _x{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],w=n[14],x=n[15];return(e*o-t*s)*(h*x-f*w)-(e*a-i*s)*(u*x-f*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*x-f*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,w,x,U,D,ie,_e,Pe,Ne,Ve,bt,xt,At,Bt,Wt,gt,mt,jt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,XI=180/pc,KI=4003e4,Lx=85.051129;function Bx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*XI,i*XI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/KI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/KI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=Bx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*XI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function U0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Mce=Math.PI/180,Dce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Oce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&D0(t.projectionMatrix,this.projectionMatrix)&&D0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=U0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Bx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const x=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:U,aspect:D,focalDistance:ie,near:_e,far:Pe}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Ne=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Px(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Nx(o,o,[r/=n,r,r]),s&&Px(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:x,altitude:w});f&&(Ne=(new qn).translate([512*f,0,0]).multiplyLeft(Ne)),super(xn(ot({},t),{width:g,height:m,viewMatrix:Ne,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:U,aspect:D,focalDistance:ie,near:_e,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(xn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=U0(i,this.pixelUnprojectionMatrix),o=Fx([],this.projectFlat(t),NU([],r)),a=Fx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Bx([a,BU(u,-Lx,Lx)]),f=Bx([c,BU(l,-Lx,Lx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const w=m[0]/g[0],x=m[1]/g[1],_e=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/w,(f[1]+h[1])/2+(s.bottom-s.top)/2/x]),Pe=Math.min(r,YI(Math.abs(Math.min(w,x))));return ed(Number.isFinite(Pe)),{longitude:_e[0],latitude:_e[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=kx([],[o,a,l,1],t)),i){case ji.LNGLAT:return eO([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return eO(jU(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Nce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Lce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||H0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=Vx(n);return"function"===t||t===Vx(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||H0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,xn(ot({},e),{parameters:ot(ot(ot({},Nce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!H0(n)||!H0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Kce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Yce]||{},i=e[qce]||e,r=e[Xce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Pj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=rO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const x=m,{dataTransform:U}=i.component?i.component.props:{};a=U?U(x,a):a.concat(x),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(x){u=!0,h=x}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:tz,ASYNC_RESOLVED:nz,ASYNC_DEFAULTS:Qce}=Ox,Zce={};let Jce=0,eue=(()=>{class n{constructor(){this.props=jce.apply(this,arguments),this.id=this.props.id,this.count=Jce++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Qce])s in i[nz]?r[s]=i[nz][s]:s in i[tz]&&(r[s]=i[tz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new ez({})}}return n.componentName="Component",n.defaultProps=Zce,n})();class tue extends ez{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,rz=n=>hh(n)&&n.constructor==={}.constructor,nue=n=>n&&"function"==typeof n[Symbol.iterator],iue=n=>n&&"function"==typeof n[Symbol.asyncIterator],$0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,sz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Lf(n,"null loader"),Lf(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=xn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=tu.global||tu.self||tu.window||{},cue="object"!=typeof process||"[object process]"!==String(process)||process.browser,oz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oz&&parseFloat(oz[1]);const cO={};function uue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const due=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,hue=/^([-\w.]+\/[-\w.+]+)/;function fue(n){const e=hue.exec(n);return e?e[1]:n}function az(n){const e=due.exec(n);return e?e[1]:""}const pue=/\?.*/;function Hx(n){if($0(n)){const e=uO(n.url||"");return{url:e,type:fue(n.headers.get("content-type")||"")||az(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:az(n)}:{url:"",type:""}}function gue(n){return $0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(pue,"")}function lz(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if($0(n))return n;const e={},t=gue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=Hx(n);r&&(e["content-type"]=r);const s=yield yue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function mue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){if(!n.ok){const e=yield _ue(n);throw new Error(e)}})).apply(this,arguments)}function _ue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function yue(n){return pO.apply(this,arguments)}function pO(){return(pO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${bue(n.slice(0,5))}`:null})).apply(this,arguments)}function bue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const dz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Eue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},dz),n.globalOptions};function xue(n,e,t,i){return t=t||[],function(n,e){fz(n,null,dz,Eue,e);for(const t of e)fz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new vue),gz(r,_O()),gz(r,e),r}(e,n,i)}function hz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>cz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:cz}function fz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)uz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Cue(a,r);uz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Cue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function gz(n,e){for(const t in e)t in e&&(n[t]=rz(e[t])&&rz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Mue(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Due=iu.global||iu.self||iu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,Iue="undefined"!=typeof window&&void 0!==window.orientation,mz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(mz&&parseFloat(mz[1]),new Map);function _z(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function yz(n,e=!0,t){const i=t||new Set;if(n)if(bz(n))i.add(n);else if(bz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)yz(n[r],e,i);return void 0===t?Array.from(i):[]}function bz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class vz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||yz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_z(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=_z(n.source),vO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Nue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class kue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Nue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return vz.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Fue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new kue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Bue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function Vue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function jue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i,r){const s=n.id,o=Bue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Uue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Uue(n,e,t,i){return xO.apply(this,arguments)}function xO(){return(xO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var Ez=et(9521);function xz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Ez.toArrayBuffer?Ez.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function $ue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Sz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Wue(n){return CO.apply(this,arguments)}function CO(){return(CO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return $ue(...e)})).apply(this,arguments)}const Xue=262144;function Cz(n){this.wrapped=n}function W0(n){return new Cz(n)}function q0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Cz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function AO(n){return function(){return new q0(n.apply(this,arguments))}}function MO(){return(MO=AO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function ide(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return nde(n,e);if(em(n)&&(n=yield lz(n)),$0(n)){const r=n;return yield mue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(sz(n)&&(n=tde(n,t)),nue(n)||iue(n))return Wue(n);throw new Error(OO)})).apply(this,arguments)}function sde(n,e,t=null){if(t)return t;const i=ot({fetch:hz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ode(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Az=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Mz(n){const e=Az();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const lde=/\.([^.]+)$/;function cde(n){return kO.apply(this,arguments)}function kO(){return(kO=li(function*(n,e=[],t,i){if(!Iz(n))return null;let r=Dz(n,e,xn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Dz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Oz(n));return r})).apply(this,arguments)}function Dz(n,e=[],t,i){if(!Iz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Az()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=Hx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&lde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(gde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Rz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Rz(e,0,t))return t;return null}(e,n),a=a||FO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Oz(n));return s}function Iz(n){return!(n instanceof Response&&204===n.status)}function Oz(n){const{url:e,type:t}=Hx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function gde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Rz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Tde={data:{type:"data",value:Sde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=xn(ot({},r),{fetch:xn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:Y0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):Y0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let X0=(()=>{class n extends eue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=PU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Rle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Cde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rPz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=M0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,Pz)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Cle(n,e),transitionsChanged:Ele(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new fle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new yle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Tde,n})(),Nz=(()=>{class n extends X0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U,_subLayerProps:D}=this.props,ie={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U},_e=D&&D[t.id],Pe=_e&&_e.updateTriggers,Ne=t.id||"sublayer";if(_e){const Ve=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in _e){const At=bt[xt]||Ve[xt];At&&"accessor"===At.type&&(_e[xt]=this.getSubLayerAccessor(_e[xt]))}}Object.assign(ie,t,_e),ie.id="".concat(this.props.id,"-").concat(Ne),ie.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const Ve of x){const bt=Ve.getSubLayerProps.call(this,Ve);bt&&Object.assign(ie,bt,{updateTriggers:Object.assign(ie.updateTriggers,bt.updateTriggers)})}return ie}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=SI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Mde=/([0-9]+\.?[0-9]*)(%|px)/;function $x(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Mde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function Wx(n,e){return n.relative?Math.round(n.position*e):n.position}function K0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&K0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=xn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):K0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:Wx(this._x,e),y:Wx(this._y,t),width:Wx(this._width,e),height:Wx(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=$x(e),this._y=$x(t),this._width=$x(i),this._height=$x(r)}}const Q0=()=>{},kz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Q0,onTransitionInterrupt:Q0,onTransitionEnd:Q0};class Dde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},kz),t),this.propsInTransition=null,this.transition=new V0(t.timeline),this.onViewStateChange=t.onViewStateChange||Q0,this.onStateChange=t.onStateChange||Q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},kz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Fz=["longitude","latitude","zoom","bearing","pitch"],Ode=["longitude","latitude","zoom"];class Lz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!D0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Fz,extract:Fz,required:Ode}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=mx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,mx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Rde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},Yx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Dde(e,xn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&xn(ot({},Rde),{transitionInterpolator:new Lz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,xn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,xn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?xn(ot({},t),{transitionInterpolator:new Lz(xn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class Bz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Xx extends Bz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(xn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Xx(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Nde extends zO{constructor(e){super(Xx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Xx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Fde=(new qn).lookAt({eye:[0,0,1]});function Lde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Bde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(xn(ot({},e),{longitude:null,position:a,viewMatrix:Fde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Lde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=Fx([],e,NU([],U0(t,this.pixelUnprojectionMatrix)));return{target:Fx([],this.center,r)}}}let Vde=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:Bde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrthographicView",n})();const Kx=Math.PI/180;function jde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Kx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Kx),"Z"===t?c.rotateZ(r*Kx):c.rotateY(r*Kx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Ude extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(xn(ot({},e),{longitude:null,viewMatrix:jde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=U0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let zde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(xn(ot({},t),{orbitAxis:i,type:Ude}))}get controller(){return this._getControllerProps({type:Nde})}}return n.displayName="OrbitView",n})();const Hde=[255,255,255],Gde=1;let $de=0;class Vz{constructor(e={}){const{color:t=Hde}=e,{intensity:i=Gde}=e;this.id=e.id||"ambient-".concat($de++),this.color=t,this.intensity=i,this.type="ambient"}}const Wde=[255,255,255],qde=1,Yde=[0,0,-1];let Xde=0;class jz{constructor(e={}){const{color:t=Wde}=e,{intensity:i=qde}=e,{direction:r=Yde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Xde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Uz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=zz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||zz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Jde extends HO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(xn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const the=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),nhe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),ihe="".concat(the,"\n").concat(nhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),rhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ihe,getUniforms:function(n=rhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=ace({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||rce,o}(n):{}}},lhe=Rx(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),che=Rx(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=U0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),uhe=[0,0,0,1],dhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||uhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=lhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=che({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},mhe={color:[255,255,255],intensity:1},Hz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],_he=[0,0,0,200/255];class WO extends Uz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=_he,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=L0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=bhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class vhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=Y0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class whe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new vhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ehe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],xhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function She(n){const e=L0.getDefaultProgramManager(n);for(const t of Ehe)e.addDefaultModule(t);for(const t of xhe)e.addShaderHook(t);return e}const Ahe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Mhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new whe({gl:e,protocol:"deck://"}),this.context=xn(ot({},Ahe),{layerManager:this,gl:e,deck:t,programManager:e&&She(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Gz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=SI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Dhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=SI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!K0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=xn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Ohe extends Bz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie,normalize:_e}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:_e}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(xn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(xn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Rhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Ohe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Phe=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Rhe})}}return n.displayName="MapView",n})();const Nhe=new WO;class khe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!K0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Nhe)}}class Fhe extends HO{}const Wz={blendFunc:[1,0,32771,0],blendEquation:32774};class qz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,xn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Wz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:xn(ot({},Wz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Bhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Fhe(e),this.pickLayersPass=new qz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(xn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Vhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function jhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let x=0;x=0){const D=x+o-t,ie=D*D+w;ie<=u&&(u=ie,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const x=w.decodePickingColor(m),U=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:x,pickedX:o+(h/4-U*l),pickedY:a+U}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Vhe}function Yz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(w=>w.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Yz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=ot({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=Xz({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function Xz({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Ghe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new qz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Yz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=rI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:w,height:x}=this.pickingFBO,U=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:x});let D;const ie=[],_e={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:U,width:w.x+w.width-g,height:m-U},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Ne=Number.isFinite(c);for(let Ve=0;Ve<_e.length&&!(Ne&&Pe.size>=c);Ve++){const bt=_e[Ve];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=Xz({layer:bt.pickedLayer,info:xt,mode:l}),Pe.has(xt.object)||Pe.set(xt.object,xt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return gx(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const $he={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class Whe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,$he),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function Kz(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Qz=su.global||su.self||su.window,Yhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Zz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Xhe}=(Zz&&parseFloat(Zz[1]),Qz),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,Khe=Boolean(Xhe),XO=!!Yhe||Khe;function Jz(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function e4(n){switch(Jz(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const Jhe=/^data:image\/svg\+xml/,efe=/\.svg((\?|#).*)?$/;function KO(n){return n&&(Jhe.test(n)||efe.test(n))}function tfe(n,e){if(KO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return n4(n,e)}function n4(n,e){if(KO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function i4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e,t){const i=tfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield nfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function nfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ife={};let r4=!0;function rfe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e,t){let i;i=KO(t)?yield i4(n,e,t):n4(n,t);const r=e&&e.imagebitmap;return yield sfe(i,r)})).apply(this,arguments)}function sfe(n){return eR.apply(this,arguments)}function eR(){return(eR=li(function*(n,e=null){if((ofe(e)||!r4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),r4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function ofe(n){for(const e in n||ife)return!1;return!0}const ou=!1,Z0=!0;function tR(n){const e=J0(n);return function(n){const e=J0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=J0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Z0),height:e.getUint16(8,Z0)}:null}(e)||function(n){const e=J0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Z0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Z0),height:e.getUint32(22,Z0)}:null}(e)}function J0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function hfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=Qz;return Kz(i),i(n,t,e)}function nR(){return(nR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(pfe(r)){case"imagebitmap":a=yield rfe(n,e,s);break;case"image":a=yield i4(n,e,s);break;case"data":a=yield hfe(n,e);break;default:Kz(!1)}return"data"===r&&(a=e4(a)),a})).apply(this,arguments)}function pfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(XO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||XO;case"imagebitmap":return YO;case"image":return qO;case"data":return XO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const mfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},eb="8.5.8",Qx=nm.CO.deck&&nm.CO.deck.VERSION;if(Qx&&Qx!==eb)throw new Error("deck.gl - multiple versions detected: ".concat(Qx," vs ").concat(eb));Qx||(Ri.log(1,"deck.gl ".concat(eb))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:eb,version:eb,log:Ri,_registerLoggers:function(n){MI=n}}),Mz([mfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const _fe=nm.CO.deck;class Zx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Zx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const s4=px()&&"undefined"!=typeof document;let Afe=0;class Mfe{constructor(e={}){const{onCreateContext:t=(x=>XV(x)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Afe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(gn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Zx.isSupported(this.gl,["timers"])?new Zx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return gn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=s4?new Promise((e,t)=>{s4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!hx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(gn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(gn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Dfe=et(1524),Jx=et.n(Dfe);const Ife={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Jx().MouseInput);const Nfe=Jx().Manager,au=Jx(),kfe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,l4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Ffe={doubletap:["tap"]},Lfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Bfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},c4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Vfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let u4=!1;try{const n={get passive(){return u4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const jfe=-1!==Vfe.indexOf("firefox"),{WHEEL_EVENTS:Ufe}=sR,h4=4.000244140625;class Gfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Ufe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!u4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(jfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%h4==0&&(t=Math.floor(t/h4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:$fe}=sR,f4="pointermove",p4="pointerover",g4="pointerout",m4="pointerleave";class Wfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=$fe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===f4&&(this.enableMoveEvent=t),e===p4&&(this.enableOverEvent=t),e===g4&&(this.enableOutEvent=t),e===m4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:p4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:g4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:m4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:f4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:qfe}=sR,_4="keydown";class Yfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const b4="contextmenu";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===b4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:b4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Kfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},v4={srcElement:"root",priority:0};class lpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},v4,i):v4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&l4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Gfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Wfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Yfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Xfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Ffe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=c4[e]||e;let c=a.get(l);c||(c=new lpe(this),a.set(l,c),c.recognizerName=Bfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(c4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Lfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const w4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class tS{constructor(e){e=ot(ot({},w4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&M0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!K0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Mfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(xn(ot(ot({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Phe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new Whe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Gz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new upe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in PV)this.eventManager.on(r,this._onEvent);this.viewManager=new Dhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Mhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new khe,this.deckRenderer=new Bhe(e),this.deckPicker=new Ghe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=xn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=PV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}tS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Uz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},tS.defaultProps=w4,tS.VERSION=_fe.VERSION;const nS={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ppe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},iS=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ppe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),E4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return E4}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=E4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const x4=()=>{},vpe={10241:9987,10240:9729,10242:33071,10243:33071};function wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Epe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function tb(n){return n&&(n.id||n.url)}function S4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(S4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&S4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:wpe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=A0(n);on(f);const{gl:m,handle:w}=f,x=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const U=m.bindFramebuffer(36160,w);on(e);let D=null;if(e instanceof Pf&&(D=e,u=Number.isFinite(u)?u:D.width,h=Number.isFinite(h)?h:D.height,D.bind(0),e=D.target),x)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);D&&D.unbind(),m.bindFramebuffer(36160,U||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,Y0(i.url,iR,this._loadOptions).then(r=>{const s=tb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Epe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const C4=[0,0,0,255],Ape={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:C4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Mpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.state={iconManager:new Tpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:C4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Ape,n})();const A4=[],Ipe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Ope=(()=>{class n extends Mpe{getShaders(){return xn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=xn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):A4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):A4}}return n.layerName="MultiIconLayer",n.defaultProps=Ipe,n})();var Rpe=et(1002),Ppe=et.n(Rpe);const kpe=[];function Fpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function M4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=M4(n,a,l,r);c+h>i&&(oi&&(h=D4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function jpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let w=0;w<=s;w++){const x=n[w];if(("\n"===x||w===s)&&(m=w),m>g){const U=c?Vpe(n,t,i,r,g,m):kpe;for(let D=0;D<=U.length;D++){const ie=0===D?g:U[D-1],_e=Di===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Wpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Ype(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");j4(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:x}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Fpe(a+(l+1)*h)}}(ot({getFontWidth:U=>f.measureText(U).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const U=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(U,0,0)}if(j4(f,r,o,s),l){const U=new(Ppe())(o,a,c,u,r,s),D=f.getImageData(0,0,U.size,U.size);for(const ie of t)Ype(U.draw(ie),D),f.putImageData(D,g[ie].x-a,g[ie].y+a)}else for(const U of t)f.fillText(U,g[U].x,g[U].y+.9*o);return{xOffset:w,yOffset:x,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Zpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Jpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Zpe,n})();const U4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},z4={start:1,middle:0,end:-1},H4={top:1,center:0,bottom:-1},cR=[0,0,0,255],tge=["fontSize","buffer","sdf","radius","cutoff"],nge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:O4},fontFamily:R4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let ige=(()=>{class n extends Nz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Xpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(xn(ot(ot({},U4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return tge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=vx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=I4(h,l,o,a,r);return[(z4["function"==typeof c?c(t,i):c]-1)*f/2,(H4["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[w,x]}=I4(h,l,o,a,r),U=z4["function"==typeof c?c(t,i):c],D=H4["function"==typeof u?u(t,i):u],ie=f.length,_e=new Array(2*ie);let Pe=0;for(let Ne=0;Net*e/255)}const dR={name:"lights",vs:G4,fs:G4,getUniforms:function $4(n=rge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},oge={};const lge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=oge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,rS=new Float32Array(16),Y4=new Float32Array(12);function X4(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function K4(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Q4={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let w;g?(rS.set(a),w=K4(rS)):(w=Y4,X4(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:x,objectInfo:U}=vx(i,e,t);for(const D of x){let ie;U.index++,g?(rS.set(c?a:a(D,U)),ie=K4(rS)):(ie=Y4,X4(ie,h?r:r(D,U),u?s:s(D,U)),ie.set(f?o:o(D,U),9)),m[w++]=ie[0],m[w++]=ie[1],m[w++]=ie[2],m[w++]=ie[3],m[w++]=ie[4],m[w++]=ie[5],m[w++]=ie[6],m[w++]=ie[7],m[w++]=ie[8],m[w++]=ie[9],m[w++]=ie[10],m[w++]=ie[11]}}}};function Z4(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function J4(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function dge(n,e){if(n.attributes)return J4(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return J4(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const hge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let fge=(()=>{class n extends X0{getShaders(){const t=!Ci(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[nS,lge,iS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q4}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Z4(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,xn(ot({},this.getShaders()),{id:this.props.id,geometry:dge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=hge,n})();const eH={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class nb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;gn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof nb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function tH(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],w=t[3],x=t[4],U=t[5],D=t[6],ie=t[7],_e=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=w*i+x*o+U*c,n[4]=w*r+x*a+U*u,n[5]=w*s+x*l+U*h,n[6]=D*i+ie*o+_e*c,n[7]=D*r+ie*a+_e*u,n[8]=D*s+ie*l+_e*h,n}function nH(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function iH(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function rH(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function sS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function sH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function oH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function aH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function lH(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function ib(n,e,t,i){var f,g,m,w,x,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-i)*f)/m,x=Math.sin(i*f)/m):(w=1-i,x=i),n[0]=w*r+x*l,n[1]=w*s+x*c,n[2]=w*o+x*u,n[3]=w*a+x*h,n}function cH(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function uH(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var dH=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=IU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},hH=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},fH=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},pH=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},mH=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(I0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&I0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(I0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();iH(),iH(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const xge=[0,0,0,1];class _R extends _x{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return rH(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get w(){return this[3]}set w(e){this[3]=ir(e)}len(){return fH(this)}lengthSquared(){return pH(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return mH(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return dH(this,this,e),this.check()}calculateW(){return lH(this,this),this.check()}conjugate(){return uH(this,this),this.check()}invert(){return cH(this,this),this.check()}lerp(e,t,i){return hH(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),sS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),sS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),yx(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Sge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _H(n){if(!n._animation){const e=Cge[n.componentType],t=Sge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:gn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_H(e.accessors[a]),interpolation:l,output:_H(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Rge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Nge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class kge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(gn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function yH(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const Vge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},jge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Uge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},jge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Pge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new nb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new nb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new nb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){gn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new kge(n,e);gn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Nge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[eH],defines:a.defines,parameters:a.parameters,vs:yH(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:yH(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),gn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Vge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function bH(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=xH(xH(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function xH(n,e){return new Map([...n||new Map,...e||new Map])}let kr,SH,CH,TH,AH,MH,DH,IH;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class bR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,SH=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[SH](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Qge extends om{constructor(){super(!0,8)}}class Zge extends om{constructor(){super(!0,16)}}class Jge extends om{constructor(){super(!0,32)}}class eme extends om{constructor(){super(!1,8)}}class tme extends om{constructor(){super(!1,16)}}class nme extends om{constructor(){super(!1,32)}}CH=Symbol.toStringTag;class OH extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[CH](){return"Float"}toString(){return`Float${this.precision}`}}class ime extends OH{constructor(){super(32)}}class rme extends OH{constructor(){super(64)}}Symbol,Symbol,TH=Symbol.toStringTag,AH=Symbol.toStringTag,MH=Symbol.toStringTag,DH=Symbol.toStringTag,IH=Symbol.toStringTag;class sme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[IH](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class oS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new oS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function RH(n,e,t){const i=t?PH(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Qge;case Uint8Array:return new eme;case Int16Array:return new Zge;case Uint16Array:return new tme;case Int32Array:return new Jge;case Uint32Array:return new nme;case Float32Array:return new ime;case Float64Array:return new rme;default:throw new Error("array type not supported")}}(e.value);return new oS(n,new sme(e.size,new oS("value",r)),!1,i)}function PH(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const NH={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},cme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class dme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=PH(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=RH(o,n[o],s[o]);r.push(l)}if(t){const o=RH("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return xn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var aS=et(9125);const xR={};function SR(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n,e=null,t={}){return e&&(n=mme(n,e,t)),xR[n]=xR[n]||_me(n),yield xR[n]})).apply(this,arguments)}function mme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function _me(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):yme(yield(yield fetch(n)).text(),n):aS.requireFromFile&&(yield aS.requireFromFile(n))})).apply(this,arguments)}function yme(n,e){if(!yO)return aS.requireFromString&&aS.requireFromString(n,e);if(bO)return eval.call(Due,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const bme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let rb;function xme(n){return AR.apply(this,arguments)}function AR(){return(AR=li(function*(n){const e=n.modules||{};return rb=e.draco3d?rb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):rb||Sme(n),yield rb})).apply(this,arguments)}function Sme(n){return DR.apply(this,arguments)}function DR(){return(DR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield SR(bme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield SR(vme,"draco",n),yield SR(wme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Cme(e,t)})).apply(this,arguments)}function Cme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(xn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=xn(ot({},EH),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=li(function*(n,e){const{draco:t}=yield xme(e),i=new dme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function ob(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Mme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+ob(i.byteLength,4)}const kH=["SCALAR","VEC2","VEC3","VEC4"],Dme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ime=new Map(Dme),Ome={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function FH(n){return kH[n-1]||kH[0]}function LH(n){const e=Ime.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function BH(n,e){const t=Pme[n.componentType],i=Ome[n.type],s=n.count*i,o=n.count*i*Rme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Nme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Nme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=BH(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=ob(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:FH(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:LH(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Mme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*$me(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function Wme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(cS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,cS)})).apply(this,arguments)}function qme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,cS,{}),e.addExtension(cS))}function Yme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Xme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Kme(n){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(uS);if(i){const r=Zme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,uS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=Jme(s.technique,e)),e.removeObjectExtension(s,uS)}e.removeExtension(uS)}})).apply(this,arguments)}function Qme(n,e){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e){})).apply(this,arguments)}function Zme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function Jme(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const UH={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Dt,KHR_techniques_webgl:dt};function e_e(n){return jR.apply(this,arguments)}function jR(){return(jR=li(function*(n,e={},t){for(const r in UH){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield UH[r].decode(n,e,t))}})).apply(this,arguments)}const zH={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},n_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class i_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,VH);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(VH)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in zH)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in zH)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=n_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function r_e(n,e={}){return(new i_e).normalize(n,e)}const s_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},o_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},a_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},l_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class d_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return o_e[n]}(e.componentType),e.components=function(n){return s_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=BH(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):l_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return a_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function h_e(n,e){return(new d_e).postProcess(n,e)}const HH=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),ob(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),ob(i,4)}function S_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t=0,i,r){var s,o,a,l;C_e(n,e,t,i),r_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield T_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=A_e(n,i,r);c.push(h)}const u=e_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?h_e(n,i):n})).apply(this,arguments)}function C_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=HH}=t,s=i.getUint32(e,!1);return s===r||s===HH}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?bH(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?bH(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=ob(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function T_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield O_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function O_e(n){return KR.apply(this,arguments)}function KR(){return(KR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const GH=[255,255,255,255],N_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:GH},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let k_e=(()=>{class n extends X0{getShaders(){const t=[nS,iS];return"pbr"===this.props._lighting&&t.push(eH),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:GH,transition:!0},instanceModelMatrix:Q4})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Uge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return XR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Z4(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=N_e,n})();class F_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const U=i;i=(D,ie,_e,Pe,Ne)=>U}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let U=0;U<=e;U++)for(let D=0;D<=t;D++){const ie=D/t,_e=U/e,Pe=D+U*(t+1),Ne=2*Pe,Ve=3*Pe,bt=c*ie,xt=o*_e,At=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),mt=Bt*Wt,jt=Math.cos(xt),ft=At*Wt,Yt=i(mt,jt,ft,ie,_e);h[Ve+0]=Yt*mt,h[Ve+1]=Yt*jt,h[Ve+2]=Yt*ft,f[Ve+0]=mt,f[Ve+1]=jt,f[Ve+2]=ft,g[Ne+0]=ie,g[Ne+1]=1-_e}const x=t+1;for(let U=0;Us?(gt=i,Wt=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,Wt=0),gt-=i/2;for(let jt=0;jts?0:ft*w,Ve[xt+Pe[1]]=Bt<0?-1:Bt>s?1:x,Ve[xt+Pe[2]]=Bt<0||Bt>s?0:Yt*w,bt[At+0]=jt/r,bt[At+1]=Wt,At+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new ce){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new ce){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new ce){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new ce){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new ce){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=X_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=K_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(WH),WH.almostEquals(e,t)}clone(){return new ce(this.x,this.y,this.z)}}ce.ZERO=void 0,ce.UNIT_X=void 0,ce.UNIT_Y=void 0,ce.UNIT_Z=void 0,ce.ZERO=new ce(0,0,0),ce.UNIT_X=new ce(1,0,0),ce.UNIT_Y=new ce(0,1,0),ce.UNIT_Z=new ce(0,0,1);const X_e=new ce,K_e=new ce,WH=new ce;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new ce,this.upperBound=new ce,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const qH=new ce,YH=[new ce,new ce,new ce,new ce,new ce,new ce,new ce,new ce];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new ce){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=Z_e;e.tangents(i,J_e),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new ce){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,w,x,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-t)*f)/m,x=Math.sin(t*f)/m):(w=1-t,x=t),i.x=w*r+x*l,i.y=w*s+x*c,i.z=w*o+x*u,i.w=w*a+x*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const Z_e=new ce,J_e=new ce,eye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let mn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=eye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new ce,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new ce){return i.vsub(e,r),t.conjugate(KH),KH.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new ce){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new ce){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new ce){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const KH=new us;class jf extends mn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:mn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new ce;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new ce,u=new ce,h=new ce,f=new ce,g=new ce,m=new ce;let w=Number.MAX_VALUE;const x=this;if(x.uniqueAxes)for(let U=0;U!==x.uniqueAxes.length;U++){i.vmult(x.uniqueAxes[U],c);const D=x.testSepAxis(c,e,t,i,r,s);if(!1===D)return!1;D0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,QR),jf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?_n.STATIC:_n.DYNAMIC,typeof e.type==typeof _n.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=_n.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new ce,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new ce,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new ce,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new ce,this.invInertia=new ce,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new ce,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new ce(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new ce(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new ce,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=_n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===_n.SLEEPING&&this.dispatchEvent(_n.wakeupEvent)}sleep(){this.sleepState=_n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===_n.AWAKE&&ir?this.wakeUp():t===_n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(_n.sleepEvent))}}updateSolveMassProperties(){this.sleepState===_n.SLEEPING||this.type===_n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new ce){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new ce){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new ce,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=iye,o=rye,a=this.quaternion,l=this.aabb,c=sye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=oye,r=aye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=lye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=cye,r=uye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===_n.DYNAMIC&&(this.sleepState===_n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=t,r=dye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=hye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=fye,r=pye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=gye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),hS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new ce;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==_n.DYNAMIC&&this.type!==_n.KINEMATIC||this.sleepState===_n.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,w=this.angularFactor,x=l.x*w.x,U=l.y*w.y,D=l.z*w.z;s.x+=e*(m[0]*x+m[1]*U+m[2]*D),s.y+=e*(m[3]*x+m[4]*U+m[5]*D),s.z+=e*(m[6]*x+m[7]*U+m[8]*D),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}_n.idCounter=0,_n.COLLIDE_EVENT_NAME="collide",_n.DYNAMIC=1,_n.STATIC=2,_n.KINEMATIC=4,_n.AWAKE=0,_n.SLEEPY=1,_n.SLEEPING=2,_n.wakeupEvent={type:"wakeup"},_n.sleepyEvent={type:"sleepy"},_n.sleepEvent={type:"sleep"};const iye=new ce,rye=new us,sye=new pr,oye=new lu,aye=new lu,lye=new ce,cye=new ce,uye=new ce,dye=new ce,hye=new ce,fye=new ce,pye=new ce,gye=new ce;new ce,new ce;class fS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new ce,this.rayToWorld=new ce,this.hitNormalWorld=new ce,this.hitPointWorld=new ce,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let QH,ZH,JH,e8,t8,n8,i8;QH=mn.types.SPHERE,ZH=mn.types.PLANE,JH=mn.types.BOX,e8=mn.types.CYLINDER,t8=mn.types.CONVEXPOLYHEDRON,n8=mn.types.HEIGHTFIELD,i8=mn.types.TRIMESH;class ys{get[QH](){return this._intersectSphere}get[ZH](){return this._intersectPlane}get[JH](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new ce,t=new ce){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new ce,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new fS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new fS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),nP.length=0,e.broadphase.aabbQuery(e,r8,nP),this.intersectBodies(nP),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Eye,s=xye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new ce(0,0,1);t.vmult(c,c);const u=new ce;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(o.lerp(a,x,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Mye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,x=m.distanceTo(this.to),U=c?c.length:u.length,D=this.result;for(let ie=0;!D.shouldStop&&iex||this.reportIntersection(a,va,s,r,_e)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Dye,l=kye,c=Fye,u=o8,h=Iye,f=Oye,g=Rye,m=Nye,w=Pye,x=e.indices,U=this.from,D=this.to,ie=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,ie,h),Wi.pointToLocalFrame(i,t,U,f),Wi.pointToLocalFrame(i,t,D,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const _e=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Ne=l.length;!this.result.shouldStop&&Pe!==Ne;Pe++){const Ve=l[Pe];e.getNormal(Ve,a),e.getVertex(x[3*Ve],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(x[3*Ve+1],uu),e.getVertex(x[3*Ve+2],du);const At=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||At>_e||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,va,m),this.reportIntersection(w,m,s,r,Ve))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends oe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){Mz([EH,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oP(n,e){return Vi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Gx(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Lve(n,e){return Vi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function aP(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new F_e;break;case"cone":i=new j_e;break;case"cylinder":i=new U_e;break;case"cube":default:i=new q_e}return new fge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new ige(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Vve=(()=>{class n extends Nz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oP({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new k_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Lve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aP(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aP(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aP(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Vi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new ce(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield Y0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...f.map((m,w)=>Math.min(m,g[w]))),upperBound:new ce(...g.map((m,w)=>Math.max(m,f[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e5(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e5(t,e);return e}let Uve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Vve({}),this.nodeClickSubject=new oe,this.nodeHoverStartSubject=new oe,this.nodeHoverStopSubject=new oe,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new oe,this.nodeDragSubject=new oe,this.nodeDragEndSubject=new oe,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Vde({flipY:!1,near:-1e3}):new zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new Vz({color:[255,255,255],intensity:10})})]),this.deck=new tS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Vi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Vi(this,void 0,void 0,function*(){Q8();const i=yield oP({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),f=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new pr({lowerBound:new ce(...h.map((g,m)=>Math.min(g,f[m]))),upperBound:new ce(...f.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of e5(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new ce(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t5 extends y{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class zve extends y{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n5(n,e,t,i,r=new zve(n,t,i)){if(!r.closed)return e instanceof O?e.subscribe(r):Me(e)(r)}const i5={};function yc(...n){let e,t;return Te(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0]),In(n,t).lift(new r5(e))}class r5{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Hve(e,this.resultSelector))}}class Hve extends t5{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i5),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lP=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cP=new Ht("INITIAL_STATE_TOKEN");let Xve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s5=new Ht("Internals.StateContextFactory"),o5=new Ht("Internals.StateFactory");function pb(...n){if(1===n.length){const e=n[0];if(k(e))return xS(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return xS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return xS(n=1===n.length&&k(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return xS(n,null)}function xS(n,e){return new O(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new Kve(n,e))}}class Kve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Qve(e,this.predicate,this.thisArg))}}class Qve extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a5=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?v0():e.lift(new Jve(n))}class Jve{constructor(e){if(this.total=e,this.total<0)throw new a5}call(e,t){return t.subscribe(new ewe(e,this.total))}}class ewe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l5(n,e){return e?t=>t.pipe(l5((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new twe(n))}class twe{constructor(e){this.project=e}call(e,t){return t.subscribe(new nwe(e,this.project))}}class nwe extends we{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function SS(n=null){return e=>e.lift(new iwe(n))}class iwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new rwe(e,this.defaultValue))}}class rwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new swe(n),r=t.lift(i);return i.caught=r}}class swe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new owe(e,this.selector,this.caught))}}class owe extends we{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new awe(n))}class awe{constructor(e){this.notifier=e}call(e,t){const i=new lwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class lwe extends we{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new cwe(n,e,t))}}class cwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new uwe(e,this.nextOrObserver,this.error,this.complete))}}class uwe extends y{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new dwe(n,e))}class dwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new hwe(e,this.compare,this.keySelector))}}class hwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c5=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Xc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const u5=new Ht("ROOT_STATE_TOKEN"),d5=new Ht("FEATURE_STATE_TOKEN"),h5=new Ht("NGXS_PLUGINS"),f5=new Ht("NG_TEST_MODE"),p5=new Ht("NG_DEV_MODE"),cd="NGXS_META",g5="NGXS_OPTIONS_META",uP="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c5}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class fwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m5=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _5=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},CS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dP=n=>n&&"object"==typeof n&&!Array.isArray(n),hP=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dP(n)&&dP(t))for(const i in t)dP(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hP(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hP(n,...e)};function fP(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return gb(n)}function gb(n){return n[cd]}function gP(n){return n[uP]}function y5(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Swe(){return me(n=>n.action)}function TS(n){return e=>new O(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let AS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Awe extends oe{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let MS=(()=>{class n extends Awe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mwe=(()=>{class n extends O{constructor(t,i){super(r=>{const s=t.pipe(TS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const v5=n=>(...e)=>n.shift()(...e,(...i)=>v5(n)(...i));let DS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mP=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(h5,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_P=(()=>{class n extends oe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),w5=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(TS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):pb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v5([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l5(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(MS),Ie(_P),Ie(mP),Ie(DS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E5=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E5(n[i])}),n};let x5=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Ie(p5),Ie(f5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S5=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Ie(x5),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E5(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(w5),Ie(Wf),Ie(S5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),IS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return CS(l,t.path)}function s(l,c){const u=_5(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b5(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class OS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=gb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}OS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=ES(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y5(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(OS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_5(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),V(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),SS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof O?(u=u.pipe(SS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(wwe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),pb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=OS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==CS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(Wf),Ie(n,12),Ie(MS),Ie(_P),Ie(IS),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yP=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),cr(()=>this.invokeInit(i.states)),V(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b5(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm),Ie(IS),Ie(lP))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const RS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Iwe(n,e,t){const i=t&&t.containerClass,s=ES(function(...c){const u=e.apply(i,c);return u instanceof Function?ES.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uP)||Object.defineProperty(n,uP,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gP(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},RS_getOptions(n.containerClass)||{},RS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&gb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T5(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T5(n){const e=gP(n)||gb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),TS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(TS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T5(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(gm),Ie(Wf),Ie(AS),Ie(mm),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class kwe{static get type(){return"@@INIT"}}class Fwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const PS=new Df(1);let Bwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();PS.next(t)}catch(n){PS.next(!1)}finally{PS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new kwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Ie(mm),Ie(gm),Ie(hu),Ie(mb),Ie(u5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),Vwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Fwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(gm),Ie(mm),Ie(d5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Bwe,providers:[mm,IS,Mwe,MS,lP,S5,x5,yP,w5,_P,gm,AS,hu,DS,mb,mP,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Vwe,providers:[mm,mP,...e,{provide:d5,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f5,useValue:Yve},{provide:p5,useValue:fa},{provide:m5,useClass:t.executionStrategy||c5},{provide:u5,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:OE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[lP]},{provide:cP,useFactory:Yo.getInitialState},{provide:s5,useExisting:IS},{provide:o5,useExisting:mm}]}static ngxsConfigFactory(e){return hP(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Xve.pop()}}function bP(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=fP(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A5(n){return i=>{!function(n){PS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fP(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g5]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;OS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g5]=a}}function NS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y5(t.length?[e,...t]:e.split("."),mb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!mb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return mb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Iwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const YS=new cc(ox);class qEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new YEe(e,this.dueTime,this.scheduler))}}class YEe extends y{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(XEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function XEe(n){n.debouncedNext()}class KEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new QEe(e,this.total))}}class QEe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function XS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof pn?n.nativeElement:n}let HP;try{HP="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){HP=!1}let Tb,Xf,GP,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!HP)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc))},n.\u0275prov=We({factory:function(){return new n(Ie(Xc))},token:n,providedIn:"root"}),n})(),Cb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Tb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Tb=!0}))}finally{Tb=Tb||!1}return Tb}()?n:!!n.capture}function F6(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function QS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let $P=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),L6=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new O(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new oe,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(Ie($P))},n.\u0275prov=We({factory:function(){return new n(Ie($P))},token:n,providedIn:"root"}),n})(),WP=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=YS){return t=>t.lift(new qEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Ce(L6),Ce(pn),Ce(fn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),ZS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[$P]}),n})(),$6=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===q6(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=q6(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||W6(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi))},token:n,providedIn:"root"}),n})();function W6(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function q6(n){if(!W6(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class _xe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let Y6=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new _xe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Ie($6),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie($6),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();function X6(n){return 0===n.offsetX&&0===n.offsetY}function K6(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Q6=new Ht("cdk-input-modality-detector-options"),Exe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let J6=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(X6(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{K6(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},Exe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new KEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),tC=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new oe,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==GP){const n="undefined"!=typeof document?document.head:null;GP=!(!n||!n.createShadowRoot&&!n.attachShadow)}return GP}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new oe,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",YP="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(YP),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(YP),t.add(iG)):2===i&&(t.add(YP),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(hn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Ie(oG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(oG,8))},token:n,providedIn:"root"}),n})(),Mb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function nC(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Te(e)?(n.pop(),t=>nC(n,t,e)):t=>nC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){uG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function KP(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let eN=(n,e)=>!1,tN=(n,e)=>!1,gG=(n,e,t)=>[];const mG=KP();(mG||"undefined"!=typeof Element)&&(eN=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),tN=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):tN}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return nN(t)}matchesElement(t,i){return iN(t,i)}containsElement(t,i){return rN(t,i)}query(t,i,r){return sN(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iC{}iC.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=uN(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KP()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=uN(t);n.style[i]=""}),KP()&&SG(n))}const Fxe=/-+([a-z0-9])/g;function uN(n){return n.replace(Fxe,(...e)=>e[1].toUpperCase())}function Lxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),rCe=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,Ui=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(Ie(sG),Ie(rCe,8),Ie(hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Mb],Mb]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function EC(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class _Ce{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},CN=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class bCe{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new _Ce(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=X6(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,CN)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}))}}const ECe=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new bCe(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(fn),Ce(Zi),Ce(ECe,8),Ce(Qa,8))},n.\u0275dir=Nt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ui,Cb],Ui]}),n})();function gd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(me(r=>k(r)?i(...r):i(r))):new O(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let kCe=1;const FCe=Promise.resolve(),CC={};function x$(n){return n in CC&&(delete CC[n],!0)}const S$={setImmediate(n){const e=kCe++;return CC[e]=!0,FCe.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof O||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class UCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new zCe(e,this.durationSelector))}}class zCe extends we{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!k(n)&&n-parseFloat(n)+1>=0}function GCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=YS){return function(n){return function(t){return t.lift(new UCe(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Te(e)&&(t=e),Te(t)||(t=YS),new O(r=>{const s=C$(n)?n:+n-t.now();return t.schedule(GCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new oe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new O(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(hn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new oe,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn,8))},token:n,providedIn:"root"}),n})();class DN{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class MC extends DN{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Pm extends DN{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class a1e extends DN{constructor(e){super(),this.element=e instanceof pn?e.nativeElement:e}}class DC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof MC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Pm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof a1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class l1e extends DC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends DC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Ce(El),Ce(Rs),Ce(hn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[wn]}),n})();const N$=F6();class h1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),N$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),N$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class f1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class k${enable(){}disable(){}attach(){}}function IN(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class p1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IN(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let g1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new f1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new h1e(this._viewportRuler,this._document),this.reposition=o=>new p1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();class OC{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class m1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class _1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),y1e=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),b1e=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(hn),Ie(Zi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Rb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new oe,this._outsidePointerEvents=new oe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;XS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Nn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",w1e=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new oe,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,f,g),x=m*w;return{visibleArea:x,isCompletelyWithinViewport:s.width*s.height===x,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:IN(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:IN(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&XS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof pn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(w1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class E1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new m1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class x1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let S1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new x1e}connectedTo(t,i,r){return new E1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},n.\u0275prov=We({factory:function(){return new n(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},token:n,providedIn:"root"}),n})(),C1e=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new OC(t);return o.direction=o.direction||this._directionality.value,new v1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+C1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new l1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Ie(g1e),Ie(Rb),Ie(El),Ie(S1e),Ie(y1e),Ie(Hn),Ie(fn),Ie(hn),Ie(Il),Ie(kg),Ie(b1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new NN(e,this.delay,this.scheduler))}}class NN extends y{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(NN.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new rTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class rTe{constructor(e,t){this.time=e,this.notification=t}}function oW(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new $Te(n))}et(7266);class $Te{constructor(e){this.callback=e}call(e,t){return t.subscribe(new WTe(e,this.callback))}}class WTe extends y{constructor(e,t){super(e),this.add(new C(t))}}class fW{}class pW{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof mu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class qTe{encodeKey(e){return gW(e)}encodeValue(e){return gW(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const XTe=/%(\d[a-f0-9])/gi,KTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function gW(n){return encodeURIComponent(n).replace(XTe,(e,t)=>{var i;return null!==(i=KTe[t])&&void 0!==i?i:e})}function mW(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new qTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(mW(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(mW(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function _W(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function yW(n){return"undefined"!=typeof Blob&&n instanceof Blob}function bW(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class FN{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class LN extends FN{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new LN({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class PC extends FN{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class vW extends FN{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function BN(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return V(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,BN(r,i))}post(t,i,r={}){return this.request("POST",t,BN(r,i))}put(t,i,r={}){return this.request("PUT",t,BN(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fW))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class wW{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const EW=new Ht("HTTP_INTERCEPTORS");let JTe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const eAe=/^\)\]\}',?\n/;let xW=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new O(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",w=new mu(r.getAllResponseHeaders()),x=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new LN({headers:w,status:g,statusText:m,url:x}),o},l=()=>{let{headers:g,status:m,statusText:w,url:x}=a(),U=null;204!==m&&(U=void 0===r.response?r.responseText:r.response),0===m&&(m=U?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof U){const ie=U;U=U.replace(eAe,"");try{U=""!==U?JSON.parse(U):null}catch(_e){U=ie,D&&(D=!1,U={error:_e,text:U})}}D?(i.next(new PC({body:U,headers:g,status:m,statusText:w,url:x||void 0})),i.complete()):i.error(new vW({error:U,headers:g,status:m,statusText:w,url:x||void 0}))},c=g=>{const{url:m}=a(),w=new vW({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(w)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(Ie(oV))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const VN=new Ht("XSRF_COOKIE_NAME"),jN=new Ht("XSRF_HEADER_NAME");class SW{}let nAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Xc),Ie(VN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),UN=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(SW),Ie(jN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),iAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(EW,[]);this.chain=i.reduceRight((r,s)=>new wW(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pW),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:UN,useClass:JTe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:VN,useValue:t.cookieName}:[],t.headerName?{provide:jN,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[UN,{provide:EW,useExisting:UN,multi:!0},{provide:SW,useClass:nAe},{provide:VN,useValue:"XSRF-TOKEN"},{provide:jN,useValue:"X-XSRF-TOKEN"}]}),n})(),CW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:fW,useClass:iAe},xW,{provide:pW,useExisting:xW}],imports:[[rAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const sAe=["*"];function TW(n){return Error(`Unable to find icon with the name "${n}"`)}function AW(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function MW(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let NC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw MW(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw MW(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw AW(t);const r=this._cachedIconsByUrl.get(i);return r?sn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=DW(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(TW(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):pb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw TW(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(DW(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),IW=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],fAe=IW.map(n=>`[${n}]`).join(", "),pAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends cAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(fAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(pAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(NC),yo("aria-hidden"),Ce(uAe),Ce(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[wn],ngContentSelectors:sAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function CAe(n,e){}class HN{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const TAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let AAe=(()=>{class n extends DC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=QS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=QS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=QS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(Y6),Ce(Mr),Ce(hn,8),Ce(HN),Ce(vc))},n.\u0275dir=Nt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[wn]}),n})(),MAe=(()=>{class n extends AAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&dE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),pE("@dialogContainer",i._state))},features:[wn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,CAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[TAe.dialogContainer]}}),n})(),DAe=0;class FC{constructor(e,t,i="mat-dialog-"+DAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new oe,this._afterClosed=new oe,this._beforeClosed=new oe,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),GN(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():GN(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function GN(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const PW=new Ht("MatDialogData"),IAe=new Ht("mat-dialog-default-options"),NW=new Ht("mat-dialog-scroll-strategy");let PAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new oe,this._afterOpenedAtThisLevel=new oe,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new O(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):v0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new HN)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new OC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:HN,useValue:i}]}),o=new MC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Pm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new MC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,En.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Ce(Ec),Ce(Hn),Ce(void 0),Ce(void 0),Ce(Rb),Ce(void 0),Ce(Du),Ce(Du),Ce(Ht))},n.\u0275dir=Nt({type:n}),n})(),kb=(()=>{class n extends PAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,FC,MAe,PW)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ec),Ie(Hn),Ie(kg,8),Ie(IAe,8),Ie(NW),Ie(n,12),Ie(Rb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kAe=0,kW=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+kAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC,8),Ce(pn),Ce(kb))},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),FW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const WN=new Ht("CdkAccordion");let BAe=0,jAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+BAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(WN,12),Ce(Mr),Ce(A$))},n.\u0275dir=Nt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:WN,useValue:void 0}])]}),n})();const zAe=["body"];function HAe(n,e){}const GAe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$Ae=["mat-expansion-panel-header","*","mat-action-row"];function WAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const qAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],YAe=["mat-panel-title","mat-panel-description","*"],qN=new Ht("MAT_ACCORDION"),BW="225ms cubic-bezier(0.4,0.0,0.2,1)",VW={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))])};let XAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),KAe=0;const jW=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let UW=(()=>{class n extends jAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new oe,this._headerId="mat-expansion-panel-header-"+KAe++,this._bodyAnimationDone=new oe,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Qi(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Pm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Ce(qN,12),Ce(Mr),Ce(A$),Ce(Rs),Ce(hn),Ce(Qa,8),Ce(jW,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,Vt(),t)}(r,XAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(zAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:qN,useValue:void 0}]),wn,Li],ngContentSelectors:$Ae,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr(GAe),oi(0),wt(1,"div",0,1),Cn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,HAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[VW.bodyExpansion]},changeDetection:0}),n})();class ZAe{}const JAe=EC(ZAe);let zW=(()=>{class n extends JAe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Nn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Ce(UW,1),Ce(pn),Ce(vc),Ce(Mr),Ce(jW,8),Ce(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Cn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Hy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[wn],ngContentSelectors:YAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(qAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,WAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[VW.indicatorRotate]},changeDetection:0}),n})();var HW=et(5478);Object.create(Error.prototype);const rMe=["*"];var BC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(BC||(BC={})),BC))();class oMe{}const $W=new Ht("SECURITY_CONTEXT");let YN=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new HW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=HW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc),Ie($W),Ie(_u,8),Ie(oMe,8),Ie(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,BC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sk(i)?t(...i):t(i))):new O(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XN(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new fMe(n,t))}}class fMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new pMe(e,this.observables,this.project))}}class pMe extends t5{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class gMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new mMe(e,this.accumulator,this.seed,this.hasSeed))}}class mMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class bMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new vMe(e,this.predicate))}}class vMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const wMe=["youtubeContainer"];let KW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new oe,this._destroyed=new oe,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new oe;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(XN(yc([i,r])),me(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return ue(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new r5(e))}(n),function(n){return e=>e.lift(new bMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new gMe(n,e,t))}}(AMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),V(e=>e?QW(e)?sn(e):new O(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{QW(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new oe));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(QN(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(QN(n,(u,h)=>!!u&&u.videoId!==h));Nn(n.pipe(QN(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XN(yc([n,e,o,r])),me(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?qW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new O(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Ce(fn),Ce(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(wMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function AMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function QW(n){return"getPlayerStatus"in n}function QN(n,e){return ue(XN(n),Qi(([t,i])=>e(i,t)),me(([t])=>t))}let LMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Lb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function ZN(n){return Boolean(n)}function t7(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const jC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&jC(n[o])}),n};function n7(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s7="NGXS_DATA_META",ek="NGXS_META",o7="NGXS_ARGUMENT_REGISTRY_META";let a7=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Bb(n){return n[s7]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(a7)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(o5),Ie(s5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Bb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=We({token:hs,factory:hs.\u0275fac}),new Df(1);class rDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l7(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c7(n){var e;const t=l7(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t7(void 0===t.defaults?{}:t.defaults);if(i.length){if(n7(s))return function(n,e){return e.reduce((t,i)=>{const r=l7(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c7(i),t},null!=n?n:{})}(s,i);throw new rDe(s)}return s}function d7(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h7(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function lDe(n){let e=!1;return Im(n)&&(e=!0),e}function tk(n){return n[o7]}class cDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class uDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(ZN(this.argumentMap.has(e))||ZN(this.payloadMap.has(e)))throw new cDe(e,t)}}function mDe(n){return{enumerable:!0,configurable:!0,get(){const e=Bb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f7(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n7(i))for(;null!==i;){if(Lb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d7(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d7(n)}(this),o=null==s?void 0:s.get(i);if(Lb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h7()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h7(),isObservable:lDe(l)}),l}return o.value},t}}const EDe={cancelUncompleted:!0,insideZone:!1};function nk(n=EDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=tk(r);if(Za(h)){const D=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),ie=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var D;return Lb(n.insideZone)?null===(D=el.ngZone)||void 0===D||D.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(me(()=>l)):l};const x=hs.createAction(h,o,g),U=el.store.dispatch(x);return Im(l)?function(n,e){return pb([n,e]).pipe(me(t=>t.pop()))}(U,l):l},i}}function p7(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(tk(t))&&Object.defineProperties(t,{[o7]:{enumerable:!0,configurable:!0,value:new uDe}}),tk(t)})(e,t).createPayloadType(r,t,i)}}function SDe(){return n=>{const e=function(n){if(function(n){return!ZN(n)}(n.hasOwnProperty(ek))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ek,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[ek]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Bb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s7,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Bb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t7(t)},context:mDe(n)})}(n,e,c7(n)),function(n){var e,t;const i=Bb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(me(o=>fa()?jC(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let TDe=(()=>{class n{constructor(){this.browserStorageEvents$=new oe,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),ADe=(()=>{class n extends TDe{get snapshot(){return function(n){return fa()?jC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?jC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([nk(),wV(0,p7("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([nk(),wV(0,p7("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([nk(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),g9=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),Ck=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),VOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(Ck))}),Tk=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(Ck),Bc(VOe))});let Yb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(zm),Ie(hn),Ie(Tk))},n.\u0275prov=We({factory:function(){return new n(Ie(zm),Ie(hn),Ie(Tk))},token:n,providedIn:"root"}),n})(),m9=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Ce(g9,8),Ce(Yb),Ce(zm),Ce(pn))},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const UOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Vi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,Tk,hn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let s1=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},UOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),a1=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),eRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(Ck),Ie(zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const tRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),S9=[a1,eRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(tRe))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})()];function iRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let sRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=s1.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[iRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...S9,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:S9}],imports:[[s1]]}),n})();const cRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),uRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},dRe=new oe;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Nn(dRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:v0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||cRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||uRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(w=>n.cacheResolver(w.parameters,f));const m=a.find(w=>n.cacheResolver(w.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const w=sn(g.response);return n.async?w.pipe(function(n,e=YS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new iTe(i,e))}(0)):w}if(m)return m.response;{const w=s.call(this,...u).pipe(kN(()=>{const x=a.find(U=>n.cacheResolver(U.parameters,f));a.splice(a.indexOf(x),1)}),cr(x=>{(!n.shouldCacheDecider||n.shouldCacheDecider(x))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:w,created:new Date}),w}}}return i}}class hRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const C9=new Ht("basePath");class Xb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let T9=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Xb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new hRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,w=t.sex,x=t.spatial,U=t.technologies,D=t.token;let ie=new Lr({encoder:this.encoder});null!=a&&(ie=this.addToHttpParams(ie,a,"age")),null!=l&&(ie=this.addToHttpParams(ie,l,"age-range")),null!=c&&(ie=this.addToHttpParams(ie,c,"bmi")),null!=u&&(ie=this.addToHttpParams(ie,u,"bmi-range")),null!=h&&(ie=this.addToHttpParams(ie,h,"cache")),f&&f.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"ontology-terms")}),g&&g.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"cell-type-terms")}),null!=o&&(ie=this.addToHttpParams(ie,o,"organ-iri")),m&&m.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"providers")}),null!=w&&(ie=this.addToHttpParams(ie,w,"sex")),x&&x.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"spatial")}),U&&U.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"technologies")}),null!=D&&(ie=this.addToHttpParams(ie,D,"token"));let _e=this.defaultHeaders,Pe=s&&s.httpHeaderAccept;void 0===Pe&&(Pe=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Pe&&(_e=_e.set("Accept",Pe));let Ne=s&&s.context;void 0===Ne&&(Ne=new Zs);let Ve="json";return Pe&&(Ve=Pe.startsWith("text")?"text":this.configuration.isJsonMime(Pe)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ne,params:ie,responseType:Ve,withCredentials:this.configuration.withCredentials,headers:_e,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let w="json";return h&&(w=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:w,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u),Ie(C9,8),Ie(Xb,8))},n.\u0275prov=We({factory:function(){return new n(Ie(_u),Ie(C9,8),Ie(Xb,8))},token:n,providedIn:"root"}),n})(),fRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Xb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let Mk;function Cc(){return Mk||(Mk=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),Mk}function A9(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var Un=et(1440);const l1="Unknown Euler angle order",Hm=.99999;class Ji extends _x{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(f,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get alpha(){return this[0]}set alpha(e){this[0]=ir(e)}get beta(){return this[1]}set beta(e){this[1]=ir(e)}get gamma(){return this[2]}set gamma(e){this[2]=ir(e)}get phi(){return this[0]}set phi(e){this[0]=ir(e)}get theta(){return this[1]}set theta(e){this[1]=ir(e)}get psi(){return this[2]}set psi(e){this[2]=ir(e)}get roll(){return this[0]}set roll(e){this[0]=ir(e)}get pitch(){return this[1]}set pitch(e){this[1]=ir(e)}get yaw(){return this[2]}set yaw(e){this[2]=ir(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(l1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(l1)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!MRe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var u1=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function FRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Kb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+FRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return P9.copy(o).scale((-i+l)/a).add(t),this.center.copy(P9),this.radius=l,this}expand(e){const t=(e=Qb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Qb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Qb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ZRe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),M9(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const JRe=new Pn,ePe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,tPe=new Pn,nPe=new Pn;class kk{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new k9).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new k9(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new kk(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Nk){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=JRe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=ePe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=tPe.copy(l).add(c).add(u).add(o),f=nPe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const F9=new Pn,L9=new Pn;class Fk{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=F9.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Kb(this.normal.len(),1)),this.distance=r,this}clone(e){return new Fk(this.normal,this.distance)}equals(e){return Kb(this.distance,e.distance)&&Kb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=L9.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=F9.from(e);const i=this.getPointDistance(e),r=L9.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*zk(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,u1.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,u1.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new Fk(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Pn,new Pn,new Pn,new Pn,new Pn,new Zo,new Zo,new Zo;const Ni=Un.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},Un.DataFactory),U9={x:Ni("rdf"),type:Ni("rdf")("type")},qm={x:Ni("rdfs"),label:Ni("rdfs")("label"),comment:Ni("rdfs")("comment"),isDefinedBy:Ni("rdfs")("isDefinedBy"),seeAlso:Ni("rdfs")("seeAlso")},vi={x:Ni("entity"),id:Ni("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Ni("entity")("sex"),age:Ni("entity")("age"),bmi:Ni("entity")("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:Ni("entity")("consortium_name"),providerName:Ni("entity")("provider_name"),providerUUID:Ni("entity")("provider_uuid"),donor:Ni("entity")("has_donor"),sections:Ni("entity")("has_tissue_section"),datasets:Ni("entity")("has_dataset"),sampleType:Ni("entity")("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:Ni("entity")("section_count"),sectionSize:Ni("entity")("section_size"),sectionUnits:Ni("entity")("section_units"),sectionNumber:Ni("entity")("section_number"),spatialEntity:Ni("entity")("has_spatial_entity"),ontologyTerms:Ni("entity")("has_ontology_term"),cellTypeTerms:Ni("entity")("has_cell_type_term"),technology:Ni("entity")("technology"),thumbnail:Ni("entity")("has_thumbnail")},Tn=Ni("ccf"),Fi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Ni("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Ni("uberon"),body:Ni("uberon")("0013702")},PPe={x:Ni("cl"),cell:Ni("cl")("0000000")},Jb={x:Ni("fma")},vd=(Ni("lmha"),{body:di.body,cell:PPe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Jb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Jb.x("24978"),knee_right:Jb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Jb.x("7214"),ovary_right:Jb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function Hk(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const g1={spatialObjectReference:Hk(Fi.spatialObjectReference),spatialEntity:Hk(Fi.spatialEntity),spatialPlacement:Hk(Fi.spatialPlacement)};function z9(n,e){const t=dp(n,e,"ExtractionSet",g1.spatialEntity);return t.extractionSites=(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",g1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",g1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Fi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function BPe(n,e){const t=dp(n,e,"SpatialPlacement",g1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function H9(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class G9{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new wRe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},U9.type,Fi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},U9.type,Fi.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=xRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&H9(r,BPe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,wr.get)(e,"placement[0]",(0,wr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=H9(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(use),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${RRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $9{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set_for,e,null).map(t=>z9(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return z9(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Fi.spatialEntity.reference_organ,null,null),(0,wr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Fi.spatial.Male.id;break;case"Female":t=Fi.spatial.Female.id;break;case"Both":default:t=Fi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Fi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const m1="https://entity.api.hubmapconsortium.org/entities/",W9=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),jPe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},q9={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class HPe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ne=>"Donor"===Ne.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=m1+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},x=[];this.sections=x;const U=[];this.datasets=U;for(const Ne of c.filter(Ve=>"Sample"===Ve.entity_type)){const Ve=this.getSection(Ne,e,i);w[Ne.submission_id]=Ve,x.push(Ve),Ve.section_number=null!==(s=Ve.section_number)&&void 0!==s?s:x.length}for(const Ne of c)if("Dataset"===Ne.entity_type){const Ve=this.getDataset(Ne,t,i,r),bt=(0,wr.get)(Ne,["ingest_metadata","metadata","tissue_id"]);w[bt]?null===(o=w[bt].datasets)||void 0===o||o.push(Ve):U.push(Ve)}const D=null!=h?h:{},ie=`${D.x_dimension} x ${D.y_dimension} x ${D.z_dimension} ${D.dimension_units}`;this.section_count=D.slice_count||x.length;const _e=parseFloat((D.slice_thickness||(D.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=_e;const Pe=D.dimension_units||"millimeter";this.section_units=Pe,this.description=`${ie}, ${_e} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,x.forEach((Ne,Ve)=>{Ne.description=`${D.x_dimension} x ${D.y_dimension} x ${_e} ${Pe}, ${_e} ${Pe}, ${Ne.description}`,Ne.section_number=Ve+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":m1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,wr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":m1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,wr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>W9.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(W9.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=jPe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,wr.toNumber)(s[1]));for(const f of(0,wr.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,wr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,wr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":m1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,wr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,wr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,wr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,wr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const $Pe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],WPe={exists:{field:"rui_location"}};function Y9(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:WPe,_source:{includes:$Pe}})}function Gk(n,e){return Vi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function X9(n,e,t,i,r="",s=""){return Vi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield Gk(n):"search-api"===e&&(o=yield function(n,e,t){return Vi(this,void 0,void 0,function*(){const i=250,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Y9(0,i,t),o=yield Gk(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,wr.get)(n,"hits.hits",[]).map(c=>(0,wr.get)(c,"_source",{})).map(c=>new HPe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":q9},c)))),{"@context":q9,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function ev(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const ZPe={[Fi.spatialEntity.x_dimension.id]:"x",[Fi.spatialEntity.y_dimension.id]:"y",[Fi.spatialEntity.z_dimension.id]:"z"};function eNe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",ZPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new kk).fromCenterHalfSizeQuaternion(o,a,l)}return s}function tNe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=eNe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function _1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function $k(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function tv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function K9(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(tv(e,i),Fi.spatialEntity.ccf_annotations,s,null)}return i}function Q9(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,Fi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function mNe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Fi.ontologyNode.label.id]:"label",[t]:"parent",[Fi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of zk(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Z9(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=mNe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const J9=(0,wr.memoize)(function(n){const e=Z9(n,vd.body.id,"body",Fi.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),y1={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},bNe=Object.assign(Object.assign({},y1),{[vi.providerName.id]:"providerName"}),vNe=Object.assign(Object.assign({},y1),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),wNe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),ENe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function xNe(n,e){return dp(n,e,"Donor",bNe)}function eq(n,e){return dp(n,e,"Dataset",vNe)}function SNe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of zk(n,e,wNe))if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]=r;return t}class TNe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Vi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const MNe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class DNe{constructor(e=MNe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new G9(this),this.scene=new $9(this)}connect(e,t=!1){return Vi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Vi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield A9(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([i,t]).catch(()=>{}):s=yield A9(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Vi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(X9(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Vi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Vi(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,Un.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Vi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=J9(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,Fi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,Fi.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,Fi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),Fi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Vi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new G9(this),this.scene=new $9(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(tv(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=_1(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(tv(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=_1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$k(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)tNe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=$k(n,u,f=>K9(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=$k(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Fi.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return K9(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,wr.isFinite)(t.ageRange[0])&&(0,wr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,wr.isFinite)(t.bmiRange[0])&&(0,wr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Vi(this,void 0,void 0,function*(){return this.status||(this.status=new TNe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Vi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of zk(n,e,ENe))if("sections"===i){const s=SNe(n,r);t[i].push(s)}else if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]="donor"===i?xNe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t=ev(e,n,vi.donor.id),i=ev(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=ev(e,r,vi.sections.id),o=new Set([...ev(e,r,vi.datasets.id),...ev(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t={};return Q9(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Q9(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,Fi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Vi(this,void 0,void 0,function*(){return J9(this.store)})}getCellTypeTreeModel(){return Vi(this,void 0,void 0,function*(){return function(n){return Z9(n,vd.cell.id,"cell",Fi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Vi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class tq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function RNe(){throw new tq}function PNe(){throw new tq}function Wk(n,e,t){e.run(()=>n.dispatch(t))}function FNe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(Wk(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>Wk(n,e,r)}),t}(n,e,t,i):(Wk(n,e,t),t)}class LNe{constructor(){this.cancelUncompleted$=new oe}cancelPreviousAction(){this.cancelUncompleted$.next()}}const qk="\u0275fac",nq=Symbol("InjectorInstance"),iq=Symbol("FactoryHasBeenDecorated");function rq(n,e){const t=n[nq];return t?t.get(e):null}const jNe={cancelUncompleted:!1};function sq(n=jNe){return(e,t,i)=>{let r;const s=function(n){return n?new LNe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=rq(this,hu)||RNe(),l=rq(this,fn)||PNe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>FNe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(iq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[qk]&&function(n){const e=n[qk];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[nq]=Ce(Vu),r};t&&(t.factory=i),Object.defineProperty(n,qk,{get:()=>i})}(e),n.constructor.prototype[iq]=!0}(e)}}const pke=["bodyCanvas"];let gke=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Vi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Uve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(pke,5,pn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),mke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const _q=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function kke(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),hE("videoId",t.videoID)}}function Fke(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,kke,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function Lke(n,e){if(1&n&&(wt(0,"div",9),wi(1,Fke,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}_q.filter(n=>!0!==n.disabled);let yq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC),Ce(PW))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Cn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,Lke,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[kW,Fm,FW,Yu,ac,UW,zW,WW,KW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),bq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Vke=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Cn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Cn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[kW,Fm,LMe,FW],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Zm=(()=>{let n=class extends ADe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(oW(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(oW(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7()],n.prototype,"config$",null),n=Ei([SDe(),A5({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class vq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let wq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Qk=new oe,iv={cacheBusterObserver:Qk},Jm={cacheBusterObserver:Qk,maxCacheCount:4};function Eq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let qke=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Qk)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},xq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},xq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:Eq(null==n?void 0:n.ageRange,1,110),bmi:Eq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),me(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(Ie(T9),Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(iv)],n.prototype,"getProviderNames",null),Ei([Sc(iv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(iv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(iv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(iv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Jm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Jm)],n.prototype,"getAggregateResults",null),Ei([Sc(Jm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getScene",null),Ei([Sc(Jm)],n.prototype,"getReferenceOrganScene",null),n})(),Yke=(()=>{class n extends vq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Qi(i=>Object.keys(i).length>0),is(i=>function(n,e){return new O(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),me(i=>i.database),Wa(1))}connectDatabase(t,i){return Vi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Xke=(()=>{class n extends Yke{createDatabase(t){return{database:new DNe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Kke=(()=>{class n extends vq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,me(r=>this.selectToken(r)),ld(),me(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Zk=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),Jk=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),eF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var tF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Sq="callToActionPopupShown";let Ro=tF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Sq,`${i}`),s=tF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new Jk)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(yq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(Zke,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Sq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(Ie(kb),Ie(Yb),Ie(wa),Ie(bq),Ie(_u))},Ro.\u0275prov=We({token:Ro,factory:Ro.\u0275fac}),Ei([bP(Zk)],Ro.prototype,"learnMore",null),Ei([bP(Jk)],Ro.prototype,"open",null),Ei([bP(eF)],Ro.prototype,"close",null),Ro=tF=Ei([A5({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let x1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),Zke=(()=>{class n{constructor(){this.close=()=>new eF,this.learnMore=()=>new Zk}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Cn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ps(1,"async"),Ps(2,"async"),Ps(3,"async"),Ps(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[Vke],pipes:[m0],styles:[""],changeDetection:0}),Ei([NS(x1.title)],n.prototype,"title$",void 0),Ei([NS(x1.message)],n.prototype,"message$",void 0),Ei([NS(x1.callToAction)],n.prototype,"callToAction$",void 0),Ei([NS(x1.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([sq()],n.prototype,"close",void 0),Ei([sq()],n.prototype,"learnMore",void 0),n})(),tFe=(()=>{class n{constructor(t){this.source=t,this.organs=_q}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(me(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(Ie(wq))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const nFe=["thumbContainer"],iFe=["toggleBar"],rFe=["input"],sFe=function(n){return{enterDuration:n}},oFe=["*"],aFe=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let lFe=0;const cFe={provide:Xo,useExisting:ge(()=>Cq),multi:!0};class uFe{constructor(e,t){this.source=e,this.checked=t}}const dFe=EC(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Cq=(()=>{class n extends dFe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++lFe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new uFe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(vc),Ce(Mr),yo("tabindex"),Ce(aFe),Ce(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(nFe,5),hr(iFe,5),hr(rFe,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([cFe]),wn],ngContentSelectors:oFe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Cn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Cn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(Vt(),Cs(),n,e,t,i)}(18,sFe,i._noopAnimations?0:150))}},directives:[gu,WP],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Tq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),pFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Tq,Dm,Ui,ZS],Tq,Ui]}),n})(),gFe=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Cn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Cq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const mFe=["bodyUI"],_Fe=function(){return["Male","Female"]},yFe=function(){return["Left","Right"]};let bFe=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Ce(Yb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(mFe,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Li],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Cn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",AE(8,_Fe))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",AE(9,yFe))("value",i.side)("hidden",!i.side))},directives:[gke,gFe],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function vFe(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let wFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,vFe,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function EFe(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function xFe(n,e){if(1&n){const t=wl();wt(0,"div",10),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let SFe=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the CCF Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the CCF Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"CCF Portal",buttonUrl:"https://hubmapconsortium.github.io/ccf/"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.biorxiv.org/content/10.1101/2021.05.31.446440v2"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,EFe,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Common Coordinate Framework (CCF) Deep Dive"),Et(),wt(5,"div",4),wi(6,xFe,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[g9,Yu,m9],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const CFe=["left"],TFe=["right"],AFe=function(){return[]},MFe=[{color:[0,0,0,0],opacity:.001}];let DFe=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(me(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(MFe))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(me(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Ce(tFe),Ce(Yb),Ce(Zm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(CFe,7,pn),hr(TFe,7,pn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Cn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ps(4,"async"),Ps(5,"async"),Ps(6,"async"),Ps(7,"async"),Ps(8,"async"),Ps(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ps(13,"async"),Ps(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:AE(24,AFe)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[bFe,wFe,SFe],pipes:[m0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function IFe(n,e){1&n&&ni(0,"ccf-root")}function OFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=KD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function RFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=KD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let PFe=(()=>{class n extends hie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:OFe,highlightProviders:RFe,useRemoteApi:KD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Ce(Zm),Ce(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[wn],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,IFe,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,DFe],encapsulation:2,changeDetection:0}),n})(),NFe=(()=>{class n extends Kke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?qke:Xke}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),kFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a7,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hs,2),Ie(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const S1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class BFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return S1(n.getHours(),2)+":"+S1(n.getMinutes(),2)+":"+S1(n.getSeconds(),2)+"."+S1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class VFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Aq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let jFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new VFe(this._options),this._store=this._store||this._injector.get(hu);const s=new BFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Aq),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Mq=new Ht("LOGGER_USER_OPTIONS");function UFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let zFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h5,useClass:jFe,multi:!0},{provide:Mq,useValue:t},{provide:Aq,useFactory:UFe,deps:[Mq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const HFe=[Zm];let GFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[kFe.forRoot(),Yo.forRoot(HFe,{developmentMode:!If.production}),zFe.forRoot({disabled:If.production})]]}),n})(),$Fe=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:wq,useExisting:NFe}],imports:[[CW,sRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),fRe.forRoot(()=>new Xb({basePath:If.dbOptions.remoteApiEndpoint})),GFe]]}),n})(),WFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,pFe]]}),n})(),qFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,mke,WFe]]}),n})(),YFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,s1]]}),n})(),XFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),KFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new oie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends lie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(PFe,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[qD,$Fe,YFe,XFe,qFe]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Dne().bootstrapModule(KFe).catch(n=>console.error(n))},1052:Ut=>{function it(yt,ee,Dt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(k){return void Dt(k)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Dt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Dt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},1948:Ut=>{Ut.exports=function(et){return et&&et.__esModule?et:{default:et}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},4321:Ut=>{function it(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(et)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},9082:Ut=>{function it(et){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+et+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=9082,Ut.exports=it},9521:()=>{},9125:()=>{},5307:()=>{}},Ut=>{Ut(Ut.s=2829)}]); \ No newline at end of file diff --git a/organ-info/wc.js b/organ-info/wc.js index 4efb701bd..557b35102 100644 --- a/organ-info/wc.js +++ b/organ-info/wc.js @@ -2,4 +2,4 @@ (self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{4138:()=>{!function(){"use strict";!function(){if(void 0===window.Reflect||void 0===window.customElements||window.customElements.polyfillWrapFlushCallback)return;const G=HTMLElement;window.HTMLElement=function(){return Reflect.construct(G,[],this.constructor)},HTMLElement.prototype=G.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,G)}()}()},142:()=>{!function(G,ne){"use strict";function he(){var e=Ge.splice(0,Ge.length);for(V=0;e.length;)e.shift().call(null,e.shift())}function ye(e,r){for(var i=0,h=e.length;i1)&&tt(this)}}}),x(o,Ee,{value:function(p){-1>0,me="__"+se+dt,be="addEventListener",Le="attached",ce="Callback",pe="detached",te="extends",Ee="attributeChanged"+ce,vt=Le+ce,rt="connected"+ce,mt="disconnected"+ce,qe="created"+ce,kt=pe+ce,ot="ADDITION",pt="REMOVAL",He="DOMAttrModified",bt="DOMContentLoaded",Et="DOMSubtreeModified",Xe="<",st="=",Mt=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,wt=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],Ne=[],Ye=[],le="",De=A.documentElement,Te=Ne.indexOf||function(e){for(var r=this.length;r--&&this[r]!==e;);return r},it=re.prototype,Pe=it.hasOwnProperty,at=it.isPrototypeOf,Re=re.defineProperty,Oe=[],Ke=re.getOwnPropertyDescriptor,Y=re.getOwnPropertyNames,Ct=re.getPrototypeOf,$e=re.setPrototypeOf,Se=!!re.__proto__,Je="__dreCEv1",Me=G.customElements,t=!/^force/.test(ne.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),a=re.create||re,u=G.Map||function(){var e,r=[],i=[];return{get:function(h){return i[Te.call(r,h)]},set:function(h,s){(e=Te.call(r,h))<0?i[r.push(h)-1]=s:i[e]=s}}},c=G.Promise||function(e){function r(o){for(h=!0;i.length;)i.shift()(o)}var i=[],h=!1,s={catch:function(){return s},then:function(o){return i.push(o),h&&setTimeout(r,1),s}};return e(r),s},f=!1,m=a(null),E=a(null),v=new u,C=function(e){return e.toLowerCase()},w=re.create||function e(r){return r?(e.prototype=r,new e):this},b=$e||(Se?function(e,r){return e.__proto__=r,e}:Y&&Ke?function(){function e(r,i){for(var h,s=Y(i),o=0,l=s.length;o
    ",new N(function(e,r){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var i=(Ce=Ke(P,"innerHTML"))&&Ce.set;i&&Re(P,"innerHTML",{set:function(h){for(;this.lastChild;)this.removeChild(this.lastChild);i.call(this,h)}})}r.disconnect(),Ce=null}).observe(Ce,{childList:!0,subtree:!0}),Ce.innerHTML=""),ue||($e||Se?(we=function(e,r){at.call(r,e)||Be(e,r)},ae=Be):ae=we=function(e,r){e[me]||(e[me]=re(!0),Be(e,r))},z?(I=!1,e=Ke(P,be),r=e.value,i=function(o){var l=new CustomEvent(He,{bubbles:!0});l.attrName=o,l.prevValue=R.call(this,o),l.newValue=null,l[pt]=l.attrChange=2,F.call(this,o),K.call(this,l)},h=function(o,l){var d=Q.call(this,o),p=d&&R.call(this,o),y=new CustomEvent(He,{bubbles:!0});$.call(this,o,l),y.attrName=o,y.prevValue=d?p:null,y.newValue=l,d?y.MODIFICATION=y.attrChange=1:y[ot]=y.attrChange=0,K.call(this,y)},s=function(o){var l,d=o.currentTarget,p=d[me],y=o.propertyName;p.hasOwnProperty(y)&&(p=p[y],(l=new CustomEvent(He,{bubbles:!0})).attrName=p.name,l.prevValue=p.value||null,l.newValue=p.value=d[y]||null,null==l.prevValue?l[ot]=l.attrChange=0:l.MODIFICATION=l.attrChange=1,K.call(d,l))},e.value=function(o,l,d){o===He&&this[Ee]&&this.setAttribute!==h&&(this[me]={className:{name:"class",value:this.className}},this.setAttribute=h,this.removeAttribute=i,r.call(this,"propertychange",s)),r.call(this,o,l,d)},Re(P,be,e)):N||(De[be](He,_e),De.setAttribute(me,1),De.removeAttribute(me),I&&(xe=function(e){var r,i,h,s=this;if(s===e.target){for(h in r=s[me],s[me]=i=nt(s),i){if(!(h in r))return ze(0,s,h,r[h],i[h],ot);if(i[h]!==r[h])return ze(1,s,h,r[h],i[h],"MODIFICATION")}for(h in r)if(!(h in i))return ze(2,s,h,r[h],i[h],pt)}},ze=function(e,r,i,h,s,o){var l={attrChange:e,currentTarget:r,attrName:i,prevValue:h,newValue:s};l[o]=e,Ue(l)},nt=function(e){for(var r,i,h={},s=e.attributes,o=0,l=s.length;o$");if(r[te]="a",(e.prototype=w(S.prototype)).constructor=e,G.customElements.define(i,e,r),!h.test(A.createElement("a",{is:i}).outerHTML)||!h.test((new e).outerHTML))throw r}(function e(){return Reflect.construct(S,[],e)},{},"document-register-element-a"+dt)}catch(e){ft()}if(!ne.noBuiltIn)try{if(O.call(A,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){C=function(r){return{is:r.toLowerCase()}}}}(window)},7277:()=>{"use strict";!function(t){const a=t.performance;function u(I){a&&a.mark&&a.mark(I)}function c(I,k){a&&a.measure&&a.measure(I,k)}u("Zone");const f=t.__Zone_symbol_prefix||"__zone_symbol__";function m(I){return f+I}const E=!0===t[m("forceDuplicateZoneCheck")];if(t.Zone){if(E||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let v=(()=>{class I{constructor(n,e){this._parent=n,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new w(this,this._parent&&this._parent._zoneDelegate,e)}static assertZonePatched(){if(t.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=I.current;for(;n.parent;)n=n.parent;return n}static get current(){return V.zone}static get currentTask(){return ue}static __load_patch(n,e,r=!1){if(oe.hasOwnProperty(n)){if(!r&&E)throw Error("Already loaded patch: "+n)}else if(!t["__Zone_disable_"+n]){const i="Zone:"+n;u(i),oe[n]=e(t,I,_e),c(i,i)}}get parent(){return this._parent}get name(){return this._name}get(n){const e=this.getZoneWith(n);if(e)return e._properties[n]}getZoneWith(n){let e=this;for(;e;){if(e._properties.hasOwnProperty(n))return e;e=e._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,e){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const r=this._zoneDelegate.intercept(this,n,e),i=this;return function(){return i.runGuarded(r,this,arguments,e)}}run(n,e,r,i){V={parent:V,zone:this};try{return this._zoneDelegate.invoke(this,n,e,r,i)}finally{V=V.parent}}runGuarded(n,e=null,r,i){V={parent:V,zone:this};try{try{return this._zoneDelegate.invoke(this,n,e,r,i)}catch(h){if(this._zoneDelegate.handleError(this,h))throw h}}finally{V=V.parent}}runTask(n,e,r){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||W).name+"; Execution: "+this.name+")");if(n.state===B&&(n.type===H||n.type===j))return;const i=n.state!=Q;i&&n._transitionTo(Q,R),n.runCount++;const h=ue;ue=n,V={parent:V,zone:this};try{n.type==j&&n.data&&!n.data.isPeriodic&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,n,e,r)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{n.state!==B&&n.state!==$&&(n.type==H||n.data&&n.data.isPeriodic?i&&n._transitionTo(R,Q):(n.runCount=0,this._updateTaskCount(n,-1),i&&n._transitionTo(B,Q,B))),V=V.parent,ue=h}}scheduleTask(n){if(n.zone&&n.zone!==this){let r=this;for(;r;){if(r===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);r=r.parent}}n._transitionTo(K,B);const e=[];n._zoneDelegates=e,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(r){throw n._transitionTo($,K,B),this._zoneDelegate.handleError(this,r),r}return n._zoneDelegates===e&&this._updateTaskCount(n,1),n.state==K&&n._transitionTo(R,K),n}scheduleMicroTask(n,e,r,i){return this.scheduleTask(new b(O,n,e,r,i,void 0))}scheduleMacroTask(n,e,r,i,h){return this.scheduleTask(new b(j,n,e,r,i,h))}scheduleEventTask(n,e,r,i,h){return this.scheduleTask(new b(H,n,e,r,i,h))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||W).name+"; Execution: "+this.name+")");n._transitionTo(F,R,Q);try{this._zoneDelegate.cancelTask(this,n)}catch(e){throw n._transitionTo($,F),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(n,-1),n._transitionTo(B,F),n.runCount=0,n}_updateTaskCount(n,e){const r=n._zoneDelegates;-1==e&&(n._zoneDelegates=null);for(let i=0;iI.hasTask(n,e),onScheduleTask:(I,k,n,e)=>I.scheduleTask(n,e),onInvokeTask:(I,k,n,e,r,i)=>I.invokeTask(n,e,r,i),onCancelTask:(I,k,n,e)=>I.cancelTask(n,e)};class w{constructor(k,n,e){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=k,this._parentDelegate=n,this._forkZS=e&&(e&&e.onFork?e:n._forkZS),this._forkDlgt=e&&(e.onFork?n:n._forkDlgt),this._forkCurrZone=e&&(e.onFork?this.zone:n._forkCurrZone),this._interceptZS=e&&(e.onIntercept?e:n._interceptZS),this._interceptDlgt=e&&(e.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=e&&(e.onIntercept?this.zone:n._interceptCurrZone),this._invokeZS=e&&(e.onInvoke?e:n._invokeZS),this._invokeDlgt=e&&(e.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=e&&(e.onInvoke?this.zone:n._invokeCurrZone),this._handleErrorZS=e&&(e.onHandleError?e:n._handleErrorZS),this._handleErrorDlgt=e&&(e.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=e&&(e.onHandleError?this.zone:n._handleErrorCurrZone),this._scheduleTaskZS=e&&(e.onScheduleTask?e:n._scheduleTaskZS),this._scheduleTaskDlgt=e&&(e.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=e&&(e.onScheduleTask?this.zone:n._scheduleTaskCurrZone),this._invokeTaskZS=e&&(e.onInvokeTask?e:n._invokeTaskZS),this._invokeTaskDlgt=e&&(e.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=e&&(e.onInvokeTask?this.zone:n._invokeTaskCurrZone),this._cancelTaskZS=e&&(e.onCancelTask?e:n._cancelTaskZS),this._cancelTaskDlgt=e&&(e.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=e&&(e.onCancelTask?this.zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const r=e&&e.onHasTask;(r||n&&n._hasTaskZS)&&(this._hasTaskZS=r?e:C,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=k,e.onScheduleTask||(this._scheduleTaskZS=C,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this.zone),e.onInvokeTask||(this._invokeTaskZS=C,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this.zone),e.onCancelTask||(this._cancelTaskZS=C,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this.zone))}fork(k,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,k,n):new v(k,n)}intercept(k,n,e){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,k,n,e):n}invoke(k,n,e,r,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,k,n,e,r,i):n.apply(e,r)}handleError(k,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,k,n)}scheduleTask(k,n){let e=n;if(this._scheduleTaskZS)this._hasTaskZS&&e._zoneDelegates.push(this._hasTaskDlgtOwner),e=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,k,n),e||(e=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=O)throw new Error("Task is missing scheduleFn.");T(n)}return e}invokeTask(k,n,e,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,k,n,e,r):n.callback.apply(e,r)}cancelTask(k,n){let e;if(this._cancelTaskZS)e=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,k,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");e=n.cancelFn(n)}return e}hasTask(k,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,k,n)}catch(e){this.handleError(k,e)}}_updateTaskCount(k,n){const e=this._taskCounts,r=e[k],i=e[k]=r+n;if(i<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=i||this.hasTask(this.zone,{microTask:e.microTask>0,macroTask:e.macroTask>0,eventTask:e.eventTask>0,change:k})}}class b{constructor(k,n,e,r,i,h){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=k,this.source=n,this.data=r,this.scheduleFn=i,this.cancelFn=h,!e)throw new Error("callback is not defined");this.callback=e;const s=this;this.invoke=k===H&&r&&r.useG?b.invokeTask:function(){return b.invokeTask.call(t,s,this,arguments)}}static invokeTask(k,n,e){k||(k=this),fe++;try{return k.runCount++,k.zone.runTask(k,n,e)}finally{1==fe&&Z(),fe--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(B,K)}_transitionTo(k,n,e){if(this._state!==n&&this._state!==e)throw new Error(`${this.type} '${this.source}': can not transition to '${k}', expecting state '${n}'${e?" or '"+e+"'":""}, was '${this._state}'.`);this._state=k,k==B&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const N=m("setTimeout"),S=m("Promise"),P=m("then");let L,z=[],x=!1;function T(I){if(0===fe&&0===z.length)if(L||t[S]&&(L=t[S].resolve(0)),L){let k=L[P];k||(k=L.then),k.call(L,Z)}else t[N](Z,0);I&&z.push(I)}function Z(){if(!x){for(x=!0;z.length;){const I=z;z=[];for(let k=0;kV,onUnhandledError:X,microtaskDrainDone:X,scheduleMicroTask:T,showUncaughtError:()=>!v[m("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:X,patchMethod:()=>X,bindArguments:()=>[],patchThen:()=>X,patchMacroTask:()=>X,patchEventPrototype:()=>X,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>X,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>X,wrapWithCurrentZone:()=>X,filterProperties:()=>[],attachOriginToPatched:()=>X,_redefineProperty:()=>X,patchCallbacks:()=>X};let V={parent:null,zone:new v(null,null)},ue=null,fe=0;function X(){}c("Zone","Zone"),t.Zone=v}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ne=Object.getOwnPropertyDescriptor,he=Object.defineProperty,ye=Object.getPrototypeOf,_t=Object.create,Ve=Array.prototype.slice,Ie="addEventListener",Ze="removeEventListener",Ue=Zone.__symbol__(Ie),et=Zone.__symbol__(Ze),de="true",ve="false",Ae=Zone.__symbol__("");function Be(t,a){return Zone.current.wrap(t,a)}function lt(t,a,u,c,f){return Zone.current.scheduleMacroTask(t,a,u,c,f)}const U=Zone.__symbol__,je="undefined"!=typeof window,ke=je?window:void 0,J=je&&ke||"object"==typeof self&&self||global,yt=[null];function tt(t,a){for(let u=t.length-1;u>=0;u--)"function"==typeof t[u]&&(t[u]=Be(t[u],a+"_"+u));return t}function ft(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}const A="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,re=!("nw"in J)&&void 0!==J.process&&"[object process]"==={}.toString.call(J.process),ht=!re&&!A&&!(!je||!ke.HTMLElement),Ge=void 0!==J.process&&"[object process]"==={}.toString.call(J.process)&&!A&&!(!je||!ke.HTMLElement),xe={},ze=function(t){if(!(t=t||J.event))return;let a=xe[t.type];a||(a=xe[t.type]=U("ON_PROPERTY"+t.type));const u=this||t.target||J,c=u[a];let f;if(ht&&u===ke&&"error"===t.type){const m=t;f=c&&c.call(this,m.message,m.filename,m.lineno,m.colno,m.error),!0===f&&t.preventDefault()}else f=c&&c.apply(this,arguments),null!=f&&!f&&t.preventDefault();return f};function nt(t,a,u){let c=ne(t,a);if(!c&&u&&ne(u,a)&&(c={enumerable:!0,configurable:!0}),!c||!c.configurable)return;const f=U("on"+a+"patched");if(t.hasOwnProperty(f)&&t[f])return;delete c.writable,delete c.value;const m=c.get,E=c.set,v=a.substr(2);let C=xe[v];C||(C=xe[v]=U("ON_PROPERTY"+v)),c.set=function(w){let b=this;!b&&t===J&&(b=J),b&&(b[C]&&b.removeEventListener(v,ze),E&&E.apply(b,yt),"function"==typeof w?(b[C]=w,b.addEventListener(v,ze,!1)):b[C]=null)},c.get=function(){let w=this;if(!w&&t===J&&(w=J),!w)return null;const b=w[C];if(b)return b;if(m){let N=m&&m.call(this);if(N)return c.set.call(this,N),"function"==typeof w.removeAttribute&&w.removeAttribute(a),N}return null},he(t,a,c),t[f]=!0}function We(t,a,u){if(a)for(let c=0;cfunction(E,v){const C=u(E,v);return C.cbIdx>=0&&"function"==typeof v[C.cbIdx]?lt(C.name,v[C.cbIdx],C,f):m.apply(E,v)})}function se(t,a){t[U("OriginalDelegate")]=a}let dt=!1,me=!1;function Le(){if(dt)return me;dt=!0;try{const t=ke.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(me=!0)}catch(t){}return me}Zone.__load_patch("ZoneAwarePromise",(t,a,u)=>{const c=Object.getOwnPropertyDescriptor,f=Object.defineProperty,E=u.symbol,v=[],C=!0===t[E("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],w=E("Promise"),b=E("then");u.onUnhandledError=s=>{if(u.showUncaughtError()){const o=s&&s.rejection;o?console.error("Unhandled Promise rejection:",o instanceof Error?o.message:o,"; Zone:",s.zone.name,"; Task:",s.task&&s.task.source,"; Value:",o,o instanceof Error?o.stack:void 0):console.error(s)}},u.microtaskDrainDone=()=>{for(;v.length;){const s=v.shift();try{s.zone.runGuarded(()=>{throw s.throwOriginal?s.rejection:s})}catch(o){P(o)}}};const S=E("unhandledPromiseRejectionHandler");function P(s){u.onUnhandledError(s);try{const o=a[S];"function"==typeof o&&o.call(this,s)}catch(o){}}function z(s){return s&&s.then}function x(s){return s}function L(s){return n.reject(s)}const T=E("state"),Z=E("value"),W=E("finally"),B=E("parentPromiseValue"),K=E("parentPromiseState"),Q=null,F=!0,$=!1;function j(s,o){return l=>{try{V(s,o,l)}catch(d){V(s,!1,d)}}}const _e=E("currentTaskTrace");function V(s,o,l){const d=function(){let s=!1;return function(l){return function(){s||(s=!0,l.apply(null,arguments))}}}();if(s===l)throw new TypeError("Promise resolved with itself");if(s[T]===Q){let p=null;try{("object"==typeof l||"function"==typeof l)&&(p=l&&l.then)}catch(y){return d(()=>{V(s,!1,y)})(),s}if(o!==$&&l instanceof n&&l.hasOwnProperty(T)&&l.hasOwnProperty(Z)&&l[T]!==Q)fe(l),V(s,l[T],l[Z]);else if(o!==$&&"function"==typeof p)try{p.call(l,d(j(s,o)),d(j(s,!1)))}catch(y){d(()=>{V(s,!1,y)})()}else{s[T]=o;const y=s[Z];if(s[Z]=l,s[W]===W&&o===F&&(s[T]=s[K],s[Z]=s[B]),o===$&&l instanceof Error){const _=a.currentTask&&a.currentTask.data&&a.currentTask.data.__creationTrace__;_&&f(l,_e,{configurable:!0,enumerable:!1,writable:!0,value:_})}for(let _=0;_{try{const g=s[Z],M=!!l&&W===l[W];M&&(l[B]=g,l[K]=y);const D=o.run(_,void 0,M&&_!==L&&_!==x?[]:[g]);V(l,!0,D)}catch(g){V(l,!1,g)}},l)}const k=function(){};class n{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(o){return V(new this(null),F,o)}static reject(o){return V(new this(null),$,o)}static race(o){let l,d,p=new this((g,M)=>{l=g,d=M});function y(g){l(g)}function _(g){d(g)}for(let g of o)z(g)||(g=this.resolve(g)),g.then(y,_);return p}static all(o){return n.allWithCallback(o)}static allSettled(o){return(this&&this.prototype instanceof n?this:n).allWithCallback(o,{thenCallback:d=>({status:"fulfilled",value:d}),errorCallback:d=>({status:"rejected",reason:d})})}static allWithCallback(o,l){let d,p,y=new this((D,q)=>{d=D,p=q}),_=2,g=0;const M=[];for(let D of o){z(D)||(D=this.resolve(D));const q=g;try{D.then(ee=>{M[q]=l?l.thenCallback(ee):ee,_--,0===_&&d(M)},ee=>{l?(M[q]=l.errorCallback(ee),_--,0===_&&d(M)):p(ee)})}catch(ee){p(ee)}_++,g++}return _-=2,0===_&&d(M),y}constructor(o){const l=this;if(!(l instanceof n))throw new Error("Must be an instanceof Promise.");l[T]=Q,l[Z]=[];try{o&&o(j(l,F),j(l,$))}catch(d){V(l,!1,d)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return n}then(o,l){let d=this.constructor[Symbol.species];(!d||"function"!=typeof d)&&(d=this.constructor||n);const p=new d(k),y=a.current;return this[T]==Q?this[Z].push(y,p,o,l):X(this,y,p,o,l),p}catch(o){return this.then(null,o)}finally(o){let l=this.constructor[Symbol.species];(!l||"function"!=typeof l)&&(l=n);const d=new l(k);d[W]=W;const p=a.current;return this[T]==Q?this[Z].push(p,d,o,o):X(this,p,d,o,o),d}}n.resolve=n.resolve,n.reject=n.reject,n.race=n.race,n.all=n.all;const e=t[w]=t.Promise;t.Promise=n;const r=E("thenPatched");function i(s){const o=s.prototype,l=c(o,"then");if(l&&(!1===l.writable||!l.configurable))return;const d=o.then;o[b]=d,s.prototype.then=function(p,y){return new n((g,M)=>{d.call(this,g,M)}).then(p,y)},s[r]=!0}return u.patchThen=i,e&&(i(e),ae(t,"fetch",s=>function(s){return function(o,l){let d=s.apply(o,l);if(d instanceof n)return d;let p=d.constructor;return p[r]||i(p),d}}(s))),Promise[a.__symbol__("uncaughtPromiseErrors")]=v,n}),Zone.__load_patch("toString",t=>{const a=Function.prototype.toString,u=U("OriginalDelegate"),c=U("Promise"),f=U("Error"),m=function(){if("function"==typeof this){const w=this[u];if(w)return"function"==typeof w?a.call(w):Object.prototype.toString.call(w);if(this===Promise){const b=t[c];if(b)return a.call(b)}if(this===Error){const b=t[f];if(b)return a.call(b)}}return a.call(this)};m[u]=a,Function.prototype.toString=m;const E=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":E.call(this)}});let ce=!1;if("undefined"!=typeof window)try{const t=Object.defineProperty({},"passive",{get:function(){ce=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){ce=!1}const pe={useG:!0},te={},Ee={},vt=new RegExp("^"+Ae+"(\\w+)(true|false)$"),rt=U("propagationStopped");function mt(t,a){const u=(a?a(t):t)+ve,c=(a?a(t):t)+de,f=Ae+u,m=Ae+c;te[t]={},te[t][ve]=f,te[t][de]=m}function qe(t,a,u){const c=u&&u.add||Ie,f=u&&u.rm||Ze,m=u&&u.listeners||"eventListeners",E=u&&u.rmAll||"removeAllListeners",v=U(c),C="."+c+":",N=function(L,T,Z){if(L.isRemoved)return;const W=L.callback;"object"==typeof W&&W.handleEvent&&(L.callback=K=>W.handleEvent(K),L.originalDelegate=W),L.invoke(L,T,[Z]);const B=L.options;B&&"object"==typeof B&&B.once&&T[f].call(T,Z.type,L.originalDelegate?L.originalDelegate:L.callback,B)},S=function(L){if(!(L=L||t.event))return;const T=this||L.target||t,Z=T[te[L.type][ve]];if(Z)if(1===Z.length)N(Z[0],T,L);else{const W=Z.slice();for(let B=0;Bfunction(f,m){f[rt]=!0,c&&c.apply(f,m)})}function pt(t,a,u,c,f){const m=Zone.__symbol__(c);if(a[m])return;const E=a[m]=a[c];a[c]=function(v,C,w){return C&&C.prototype&&f.forEach(function(b){const N=`${u}.${c}::`+b,S=C.prototype;if(S.hasOwnProperty(b)){const P=t.ObjectGetOwnPropertyDescriptor(S,b);P&&P.value?(P.value=t.wrapWithCurrentZone(P.value,N),t._redefineProperty(C.prototype,b,P)):S[b]&&(S[b]=t.wrapWithCurrentZone(S[b],N))}else S[b]&&(S[b]=t.wrapWithCurrentZone(S[b],N))}),E.call(a,v,C,w)},t.attachOriginToPatched(a[c],E)}const Et=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],st=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],le=["load"],De=["blur","error","focus","load","resize","scroll","messageerror"],Te=["bounce","finish","start"],it=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Pe=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],at=["close","error","open","message"],Re=["error","message"],Oe=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Et,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function Ke(t,a,u){if(!u||0===u.length)return a;const c=u.filter(m=>m.target===t);if(!c||0===c.length)return a;const f=c[0].ignoreProperties;return a.filter(m=>-1===f.indexOf(m))}function Y(t,a,u,c){t&&We(t,Ke(t,a,u),c)}Zone.__load_patch("util",(t,a,u)=>{u.patchOnProperties=We,u.patchMethod=ae,u.bindArguments=tt,u.patchMacroTask=Ce;const c=a.__symbol__("BLACK_LISTED_EVENTS"),f=a.__symbol__("UNPATCHED_EVENTS");t[f]&&(t[c]=t[f]),t[c]&&(a[c]=a[f]=t[c]),u.patchEventPrototype=ot,u.patchEventTarget=qe,u.isIEOrEdge=Le,u.ObjectDefineProperty=he,u.ObjectGetOwnPropertyDescriptor=ne,u.ObjectCreate=_t,u.ArraySlice=Ve,u.patchClass=we,u.wrapWithCurrentZone=Be,u.filterProperties=Ke,u.attachOriginToPatched=se,u._redefineProperty=Object.defineProperty,u.patchCallbacks=pt,u.getGlobalObjects=()=>({globalSources:Ee,zoneSymbolEventNames:te,eventNames:Oe,isBrowser:ht,isMix:Ge,isNode:re,TRUE_STR:de,FALSE_STR:ve,ZONE_SYMBOL_PREFIX:Ae,ADD_EVENT_LISTENER_STR:Ie,REMOVE_EVENT_LISTENER_STR:Ze})});const $e=U("zoneTask");function Se(t,a,u,c){let f=null,m=null;u+=c;const E={};function v(w){const b=w.data;return b.args[0]=function(){return w.invoke.apply(this,arguments)},b.handleId=f.apply(t,b.args),w}function C(w){return m.call(t,w.data.handleId)}f=ae(t,a+=c,w=>function(b,N){if("function"==typeof N[0]){const S={isPeriodic:"Interval"===c,delay:"Timeout"===c||"Interval"===c?N[1]||0:void 0,args:N},P=N[0];N[0]=function(){try{return P.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete E[S.handleId]:S.handleId&&(S.handleId[$e]=null))}};const z=lt(a,N[0],S,v,C);if(!z)return z;const x=z.data.handleId;return"number"==typeof x?E[x]=z:x&&(x[$e]=z),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(z.ref=x.ref.bind(x),z.unref=x.unref.bind(x)),"number"==typeof x||x?x:z}return w.apply(t,N)}),m=ae(t,u,w=>function(b,N){const S=N[0];let P;"number"==typeof S?P=E[S]:(P=S&&S[$e],P||(P=S)),P&&"string"==typeof P.type?"notScheduled"!==P.state&&(P.cancelFn&&P.data.isPeriodic||0===P.runCount)&&("number"==typeof S?delete E[S]:S&&(S[$e]=null),P.zone.cancelTask(P)):w.apply(t,N)})}Zone.__load_patch("legacy",t=>{const a=t[Zone.__symbol__("legacyPatch")];a&&a()}),Zone.__load_patch("queueMicrotask",(t,a,u)=>{u.patchMethod(t,"queueMicrotask",c=>function(f,m){a.current.scheduleMicroTask("queueMicrotask",m[0])})}),Zone.__load_patch("timers",t=>{const a="set",u="clear";Se(t,a,u,"Timeout"),Se(t,a,u,"Interval"),Se(t,a,u,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{Se(t,"request","cancel","AnimationFrame"),Se(t,"mozRequest","mozCancel","AnimationFrame"),Se(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,a)=>{const u=["alert","prompt","confirm"];for(let c=0;cfunction(C,w){return a.current.run(m,t,w,v)})}),Zone.__load_patch("EventTarget",(t,a,u)=>{(function(t,a){a.patchEventPrototype(t,a)})(t,u),function(t,a){if(Zone[a.symbol("patchEventTarget")])return;const{eventNames:u,zoneSymbolEventNames:c,TRUE_STR:f,FALSE_STR:m,ZONE_SYMBOL_PREFIX:E}=a.getGlobalObjects();for(let C=0;C{we("MutationObserver"),we("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,a,u)=>{we("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,a,u)=>{we("FileReader")}),Zone.__load_patch("on_property",(t,a,u)=>{!function(t,a){if(re&&!Ge||Zone[t.symbol("patchEvents")])return;const u="undefined"!=typeof WebSocket,c=a.__Zone_ignore_on_properties;if(ht){const E=window,v=function(){try{const t=ke.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(t){}return!1}()?[{target:E,ignoreProperties:["error"]}]:[];Y(E,Oe.concat(["messageerror"]),c&&c.concat(v),ye(E)),Y(Document.prototype,Oe,c),void 0!==E.SVGElement&&Y(E.SVGElement.prototype,Oe,c),Y(Element.prototype,Oe,c),Y(HTMLElement.prototype,Oe,c),Y(HTMLMediaElement.prototype,st,c),Y(HTMLFrameSetElement.prototype,Et.concat(De),c),Y(HTMLBodyElement.prototype,Et.concat(De),c),Y(HTMLFrameElement.prototype,le,c),Y(HTMLIFrameElement.prototype,le,c);const C=E.HTMLMarqueeElement;C&&Y(C.prototype,Te,c);const w=E.Worker;w&&Y(w.prototype,Re,c)}const f=a.XMLHttpRequest;f&&Y(f.prototype,it,c);const m=a.XMLHttpRequestEventTarget;m&&Y(m&&m.prototype,it,c),"undefined"!=typeof IDBIndex&&(Y(IDBIndex.prototype,Pe,c),Y(IDBRequest.prototype,Pe,c),Y(IDBOpenDBRequest.prototype,Pe,c),Y(IDBDatabase.prototype,Pe,c),Y(IDBTransaction.prototype,Pe,c),Y(IDBCursor.prototype,Pe,c)),u&&Y(WebSocket.prototype,at,c)}(u,t)}),Zone.__load_patch("customElements",(t,a,u)=>{!function(t,a){const{isBrowser:u,isMix:c}=a.getGlobalObjects();(u||c)&&t.customElements&&"customElements"in t&&a.patchCallbacks(a,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,u)}),Zone.__load_patch("XHR",(t,a)=>{!function(w){const b=w.XMLHttpRequest;if(!b)return;const N=b.prototype;let P=N[Ue],z=N[et];if(!P){const O=w.XMLHttpRequestEventTarget;if(O){const j=O.prototype;P=j[Ue],z=j[et]}}const x="readystatechange",L="scheduled";function T(O){const j=O.data,H=j.target;H[m]=!1,H[v]=!1;const oe=H[f];P||(P=H[Ue],z=H[et]),oe&&z.call(H,x,oe);const _e=H[f]=()=>{if(H.readyState===H.DONE)if(!j.aborted&&H[m]&&O.state===L){const ue=H[a.__symbol__("loadfalse")];if(0!==H.status&&ue&&ue.length>0){const fe=O.invoke;O.invoke=function(){const X=H[a.__symbol__("loadfalse")];for(let I=0;Ifunction(O,j){return O[c]=0==j[2],O[E]=j[1],B.apply(O,j)}),R=U("fetchTaskAborting"),Q=U("fetchTaskScheduling"),F=ae(N,"send",()=>function(O,j){if(!0===a.current[Q]||O[c])return F.apply(O,j);{const H={target:O,url:O[E],isPeriodic:!1,args:j,aborted:!1},oe=lt("XMLHttpRequest.send",Z,H,T,W);O&&!0===O[v]&&!H.aborted&&oe.state===L&&oe.invoke()}}),$=ae(N,"abort",()=>function(O,j){const H=function(O){return O[u]}(O);if(H&&"string"==typeof H.type){if(null==H.cancelFn||H.data&&H.data.aborted)return;H.zone.cancelTask(H)}else if(!0===a.current[R])return $.apply(O,j)})}(t);const u=U("xhrTask"),c=U("xhrSync"),f=U("xhrListener"),m=U("xhrScheduled"),E=U("xhrURL"),v=U("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,a){const u=t.constructor.name;for(let c=0;c{const C=function(){return v.apply(this,tt(arguments,u+"."+f))};return se(C,v),C})(m)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,a)=>{function u(c){return function(f){kt(t,c).forEach(E=>{const v=t.PromiseRejectionEvent;if(v){const C=new v(c,{promise:f.promise,reason:f.rejection});E.invoke(C)}})}}t.PromiseRejectionEvent&&(a[U("unhandledPromiseRejectionHandler")]=u("unhandledrejection"),a[U("rejectionHandledHandler")]=u("rejectionhandled"))})},8454:(G,ne,he)=>{"use strict";he(7277),he(142),he(4138)}},G=>{G(G.s=8454)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
    ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var QFe=Object.defineProperty,ZFe=Object.defineProperties,JFe=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,Iq=Object.prototype.hasOwnProperty,Oq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Rq=(Ut,it,et)=>it in Ut?QFe(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:et}):Ut[it]=et,ot=(Ut,it)=>{for(var et in it||(it={}))Iq.call(it,et)&&Rq(Ut,et,it[et]);if(C1)for(var et of C1(it))Oq.call(it,et)&&Rq(Ut,et,it[et]);return Ut},xn=(Ut,it)=>ZFe(Ut,JFe(it)),Pq=(Ut,it)=>{var et={};for(var yt in Ut)Iq.call(Ut,yt)&&it.indexOf(yt)<0&&(et[yt]=Ut[yt]);if(null!=Ut&&C1)for(var yt of C1(Ut))it.indexOf(yt)<0&&Oq.call(Ut,yt)&&(et[yt]=Ut[yt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Ut,it,et)=>{var yt=et(1052).default;Ut.exports=function Y(Se,he,W){function j(H,v){if(!he[H]){if(!Se[H]){if(k)return k(H,!0);var R=new Error("Cannot find module '"+H+"'");throw R.code="MODULE_NOT_FOUND",R}var T=he[H]={exports:{}};Se[H][0].call(T.exports,function(b){return j(Se[H][1][b]||b)},T,T.exports,Y,Se,he,W)}return he[H].exports}for(var k=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){qe=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ue-4:ue;for($=0;$>16&255,O[K++]=P>>8&255,O[K++]=255&P;return 2===I&&(P=j[z.charCodeAt($)]<<2|j[z.charCodeAt($+1)]>>4,O[K++]=255&P),1===I&&(P=j[z.charCodeAt($)]<<10|j[z.charCodeAt($+1)]<<4|j[z.charCodeAt($+2)]>>2,O[K++]=P>>8&255,O[K++]=255&P),O},he.fromByteArray=function(z){for(var P,X=z.length,ue=X%3,I=[],O=16383,K=0,E=X-ue;KE?E:K+O));return 1===ue?I.push(W[(P=z[X-1])>>2]+W[P<<4&63]+"=="):2===ue&&I.push(W[(P=(z[X-2]<<8)+z[X-1])>>10]+W[P>>4&63]+W[P<<2&63]+"="),I.join("")};for(var W=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H=0,v=Q.length;H0)throw new Error("Invalid string. Length must be a multiple of 4");var X=z.indexOf("=");return-1===X&&(X=P),[X,X===P?0:4-X%4]}function y(z){return W[z>>18&63]+W[z>>12&63]+W[z>>6&63]+W[63&z]}function S(z,P,X){for(var I=[],O=P;O>5==6?2:I>>4==14?3:I>>3==30?4:I>>6==2?-1:-2}function T(I){var O=this.lastTotal-this.lastNeed,K=function(I,O,K){if(128!=(192&O[0]))return I.lastNeed=0,"\ufffd";if(I.lastNeed>1&&O.length>1){if(128!=(192&O[1]))return I.lastNeed=1,"\ufffd";if(I.lastNeed>2&&O.length>2&&128!=(192&O[2]))return I.lastNeed=2,"\ufffd"}}(this,I);return void 0!==K?K:this.lastNeed<=I.length?(I.copy(this.lastChar,O,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(I.copy(this.lastChar,O,0,I.length),void(this.lastNeed-=I.length))}function S(I,O){if((I.length-O)%2==0){var K=I.toString("utf16le",O);if(K){var E=K.charCodeAt(K.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1],K.slice(0,-1)}return K}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=I[I.length-1],I.toString("utf16le",O,I.length-1)}function A(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):O}function z(I,O){var K=(I.length-O)%3;return 0===K?I.toString("base64",O):(this.lastNeed=3-K,this.lastTotal=3,1===K?this.lastChar[0]=I[I.length-1]:(this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1]),I.toString("base64",O,I.length-K))}function P(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("base64",0,3-this.lastNeed):O}function X(I){return I.toString(this.encoding)}function ue(I){return I&&I.length?this.write(I):""}he.StringDecoder=H,H.prototype.write=function(I){if(0===I.length)return"";var O,K;if(this.lastNeed){if(void 0===(O=this.fillLast(I)))return"";K=this.lastNeed,this.lastNeed=0}else K=0;return K=0?($>0&&(I.lastNeed=$-1),$):--E=0?($>0&&(I.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:I.lastNeed=$-3),$):0}(this,I,O);if(!this.lastNeed)return I.toString("utf8",O);this.lastTotal=K;var E=I.length-(K-this.lastNeed);return I.copy(this.lastChar,0,E),I.toString("utf8",O,E)},H.prototype.fillLast=function(I){if(this.lastNeed<=I.length)return I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,I.length),this.lastNeed-=I.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),k=Y("ieee754");he.Buffer=C,he.SlowBuffer=function(B){return+B!=B&&(B=0),C.alloc(+B)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(B){if(B>Q)throw new RangeError('The value "'+B+'" is invalid for option "size"');var N=new Uint8Array(B);return N.__proto__=C.prototype,N}function C(B,N,V){if("number"==typeof B){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(B)}return R(B,N,V)}function R(B,N,V){if("string"==typeof B)return function(B,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!C.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var V=0|I(B,N),Re=v(V),Ze=Re.write(B,N);return Ze!==V&&(Re=Re.slice(0,Ze)),Re}(B,N);if(ArrayBuffer.isView(B))return A(B);if(null==B)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(pt(B,ArrayBuffer)||B&&pt(B.buffer,ArrayBuffer))return function(B,N,V){if(N<0||B.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|B}function I(B,N){if(C.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||pt(B,ArrayBuffer))return B.byteLength;if("string"!=typeof B)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);var V=B.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===V)return 0;for(var Ze=!1;;)switch(N){case"ascii":case"latin1":case"binary":return V;case"utf8":case"utf-8":return G(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*V;case"hex":return V>>>1;case"base64":return je(B).length;default:if(Ze)return Re?-1:G(B).length;N=(""+N).toLowerCase(),Ze=!0}}function O(B,N,V){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===V||V>this.length)&&(V=this.length),V<=0)||(V>>>=0)<=(N>>>=0))return"";for(B||(B="utf8");;)switch(B){case"hex":return tt(this,N,V);case"utf8":case"utf-8":return ye(this,N,V);case"ascii":return st(this,N,V);case"latin1":case"binary":return Qe(this,N,V);case"base64":return ne(this,N,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,N,V);default:if(Re)throw new TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Re=!0}}function K(B,N,V){var Re=B[N];B[N]=B[V],B[V]=Re}function E(B,N,V,Re,Ze){if(0===B.length)return-1;if("string"==typeof V?(Re=V,V=0):V>2147483647?V=2147483647:V<-2147483648&&(V=-2147483648),we(V=+V)&&(V=Ze?0:B.length-1),V<0&&(V=B.length+V),V>=B.length){if(Ze)return-1;V=B.length-1}else if(V<0){if(!Ze)return-1;V=0}if("string"==typeof N&&(N=C.from(N,Re)),C.isBuffer(N))return 0===N.length?-1:$(B,N,V,Re,Ze);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Ze?Uint8Array.prototype.indexOf.call(B,N,V):Uint8Array.prototype.lastIndexOf.call(B,N,V):$(B,[N],V,Re,Ze);throw new TypeError("val must be string, number or Buffer")}function $(B,N,V,Re,Ze){var Yn,Tt=1,kt=B.length,In=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(B.length<2||N.length<2)return-1;Tt=2,kt/=2,In/=2,V/=2}function Nn(Ls,fs){return 1===Tt?Ls[fs]:Ls.readUInt16BE(fs*Tt)}if(Ze){var Mi=-1;for(Yn=V;Ynkt&&(V=kt-In),Yn=V;Yn>=0;Yn--){for(var xi=!0,Xr=0;XrZe&&(Re=Ze):Re=Ze;var Tt=N.length;Re>Tt/2&&(Re=Tt/2);for(var kt=0;kt>8,Tt.push(V%256),Tt.push(Re);return Tt}(N,B.length-V),B,V,Re)}function ne(B,N,V){return j.fromByteArray(0===N&&V===B.length?B:B.slice(N,V))}function ye(B,N,V){V=Math.min(B.length,V);for(var Re=[],Ze=N;Ze239?4:Tt>223?3:Tt>191?2:1;if(Ze+In<=V)switch(In){case 1:Tt<128&&(kt=Tt);break;case 2:128==(192&(Nn=B[Ze+1]))&&(xi=(31&Tt)<<6|63&Nn)>127&&(kt=xi);break;case 3:Yn=B[Ze+2],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&(xi=(15&Tt)<<12|(63&Nn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=B[Ze+2],Mi=B[Ze+3],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&Tt)<<18|(63&Nn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Re.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Re.push(kt),Ze+=In}return function(B){var N=B.length;if(N<=4096)return String.fromCharCode.apply(String,B);for(var V="",Re=0;ReV&&(N+=" ... "),""},C.prototype.compare=function(N,V,Re,Ze,Tt){if(pt(N,Uint8Array)&&(N=C.from(N,N.offset,N.byteLength)),!C.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===V&&(V=0),void 0===Re&&(Re=N?N.length:0),void 0===Ze&&(Ze=0),void 0===Tt&&(Tt=this.length),V<0||Re>N.length||Ze<0||Tt>this.length)throw new RangeError("out of range index");if(Ze>=Tt&&V>=Re)return 0;if(Ze>=Tt)return-1;if(V>=Re)return 1;if(this===N)return 0;for(var kt=(Tt>>>=0)-(Ze>>>=0),In=(Re>>>=0)-(V>>>=0),Nn=Math.min(kt,In),Yn=this.slice(Ze,Tt),Mi=N.slice(V,Re),xi=0;xi>>=0,isFinite(Re)?(Re>>>=0,void 0===Ze&&(Ze="utf8")):(Ze=Re,Re=void 0)}var Tt=this.length-V;if((void 0===Re||Re>Tt)&&(Re=Tt),N.length>0&&(Re<0||V<0)||V>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");for(var kt=!1;;)switch(Ze){case"hex":return Z(this,N,V,Re);case"utf8":case"utf-8":return ae(this,N,V,Re);case"ascii":return oe(this,N,V,Re);case"latin1":case"binary":return te(this,N,V,Re);case"base64":return Te(this,N,V,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,V,Re);default:if(kt)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(B,N,V){var Re="";V=Math.min(B.length,V);for(var Ze=N;ZeRe)&&(V=Re);for(var Ze="",Tt=N;TtV)throw new RangeError("Trying to access beyond buffer length")}function Le(B,N,V,Re,Ze,Tt){if(!C.isBuffer(B))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Ze||NB.length)throw new RangeError("Index out of range")}function Ke(B,N,V,Re,Ze,Tt){if(V+Re>B.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("Index out of range")}function Me(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,4),k.write(B,N,V,Re,23,4),V+4}function Ue(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,8),k.write(B,N,V,Re,52,8),V+8}C.prototype.slice=function(N,V){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(V=void 0===V?Re:~~V)<0?(V+=Re)<0&&(V=0):V>Re&&(V=Re),V>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N+--V],Tt=1;V>0&&(Tt*=256);)Ze+=this[N+--V]*Tt;return Ze},C.prototype.readUInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),this[N]},C.prototype.readUInt16LE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]|this[N+1]<<8},C.prototype.readUInt16BE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]<<8|this[N+1]},C.prototype.readUInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},C.prototype.readUInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},C.prototype.readIntLE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt=(Tt*=128)&&(Ze-=Math.pow(2,8*V)),Ze},C.prototype.readIntBE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=V,Tt=1,kt=this[N+--Ze];Ze>0&&(Tt*=256);)kt+=this[N+--Ze]*Tt;return kt>=(Tt*=128)&&(kt-=Math.pow(2,8*V)),kt},C.prototype.readInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},C.prototype.readInt16LE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt16BE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},C.prototype.readInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},C.prototype.readFloatLE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!0,23,4)},C.prototype.readFloatBE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!1,23,4)},C.prototype.readDoubleLE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!0,52,8)},C.prototype.readDoubleBE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!1,52,8)},C.prototype.writeUIntLE=function(N,V,Re,Ze){N=+N,V>>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=1,In=0;for(this[V]=255&N;++In>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=Re-1,In=1;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)this[V+kt]=N/In&255;return V+Re},C.prototype.writeUInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,255,0),this[V]=255&N,V+1},C.prototype.writeUInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeUInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeUInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V+3]=N>>>24,this[V+2]=N>>>16,this[V+1]=N>>>8,this[V]=255&N,V+4},C.prototype.writeUInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeIntLE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=0,In=1,Nn=0;for(this[V]=255&N;++kt>0)-Nn&255;return V+Re},C.prototype.writeIntBE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=Re-1,In=1,Nn=0;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)N<0&&0===Nn&&0!==this[V+kt+1]&&(Nn=1),this[V+kt]=(N/In>>0)-Nn&255;return V+Re},C.prototype.writeInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,127,-128),N<0&&(N=255+N+1),this[V]=255&N,V+1},C.prototype.writeInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),this[V]=255&N,this[V+1]=N>>>8,this[V+2]=N>>>16,this[V+3]=N>>>24,V+4},C.prototype.writeInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeFloatLE=function(N,V,Re){return Me(this,N,V,!0,Re)},C.prototype.writeFloatBE=function(N,V,Re){return Me(this,N,V,!1,Re)},C.prototype.writeDoubleLE=function(N,V,Re){return Ue(this,N,V,!0,Re)},C.prototype.writeDoubleBE=function(N,V,Re){return Ue(this,N,V,!1,Re)},C.prototype.copy=function(N,V,Re,Ze){if(!C.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ze&&0!==Ze&&(Ze=this.length),V>=N.length&&(V=N.length),V||(V=0),Ze>0&&Ze=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),N.length-V=0;--kt)N[kt+V]=this[kt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Ze),V);return Tt},C.prototype.fill=function(N,V,Re,Ze){if("string"==typeof N){if("string"==typeof V?(Ze=V,V=0,Re=this.length):"string"==typeof Re&&(Ze=Re,Re=this.length),void 0!==Ze&&"string"!=typeof Ze)throw new TypeError("encoding must be a string");if("string"==typeof Ze&&!C.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(1===N.length){var Tt=N.charCodeAt(0);("utf8"===Ze&&Tt<128||"latin1"===Ze)&&(N=Tt)}}else"number"==typeof N&&(N&=255);if(V<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(kt=V;kt55295&&V<57344){if(!Ze){if(V>56319){(N-=3)>-1&&Tt.push(239,191,189);continue}if(kt+1===Re){(N-=3)>-1&&Tt.push(239,191,189);continue}Ze=V;continue}if(V<56320){(N-=3)>-1&&Tt.push(239,191,189),Ze=V;continue}V=65536+(Ze-55296<<10|V-56320)}else Ze&&(N-=3)>-1&&Tt.push(239,191,189);if(Ze=null,V<128){if((N-=1)<0)break;Tt.push(V)}else if(V<2048){if((N-=2)<0)break;Tt.push(V>>6|192,63&V|128)}else if(V<65536){if((N-=3)<0)break;Tt.push(V>>12|224,V>>6&63|128,63&V|128)}else{if(!(V<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;Tt.push(V>>18|240,V>>12&63|128,V>>6&63|128,63&V|128)}}return Tt}function je(B){return j.toByteArray(function(B){if((B=(B=B.split("=")[0]).trim().replace(qe,"")).length<2)return"";for(;B.length%4!=0;)B+="=";return B}(B))}function _t(B,N,V,Re){for(var Ze=0;Ze=N.length||Ze>=B.length);++Ze)N[Ze+V]=B[Ze];return Ze}function pt(B,N){return B instanceof N||null!=B&&null!=B.constructor&&null!=B.constructor.name&&B.constructor.name===N.name}function we(B){return B!=B}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((k,Q,H)=>k+(0===H?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((k,Q,H)=>void 0===j[Q]||"symbol"==typeof j[Q]?k:k+(0===k.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var k,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,ae){return Function.prototype.apply.call($,Z,ae)};k=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var H=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,ae){function oe(Te){E.removeListener($,te),ae(Te)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",oe),Z([].slice.call(arguments))}K(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&K(E,"error",$,Z)}(E,oe,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var C=10;function R(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function T(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,ae){var oe,te,Te;if(R(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Te=te[$]),void 0===Te)Te=te[$]=Z,++E._eventsCount;else if("function"==typeof Te?Te=te[$]=ae?[Z,Te]:[Te,Z]:ae?Te.unshift(Z):Te.push(Z),(oe=T(E))>0&&Te.length>oe&&!Te.warned){Te.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Te.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Te.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var ae={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},oe=y.bind(ae);return oe.listener=Z,ae.wrapFn=oe,oe}function A(E,$,Z){var ae=E._events;if(void 0===ae)return[];var oe=ae[$];return void 0===oe?[]:"function"==typeof oe?Z?[oe.listener||oe]:[oe]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(oe):P(oe,oe.length)}function z(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function P(E,$){for(var Z=new Array($),ae=0;ae<$;++ae)Z[ae]=E[ae];return Z}function K(E,$,Z,ae){if("function"==typeof E.on)ae.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function oe(te){ae.once&&E.removeEventListener($,oe),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return C},set:function(E){if("number"!=typeof E||E<0||H(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");C=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||H($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return T(this)},v.prototype.emit=function($){for(var Z=[],ae=1;ae0&&(Te=Z[0]),Te instanceof Error)throw Te;var me=new Error("Unhandled error."+(Te?" ("+Te.message+")":""));throw me.context=Te,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var ye=ne.length,Oe=P(ne,ye);for(ae=0;ae=0;Te--)if(ae[Te]===Z||ae[Te].listener===Z){me=ae[Te].listener,te=Te;break}if(te<0)return this;0===te?ae.shift():function(E,$){for(;$+1=0;oe--)this.removeListener($,Z[oe]);return this},v.prototype.listeners=function($){return A(this,$,!0)},v.prototype.rawListeners=function($){return A(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):z.call(E,$)},v.prototype.listenerCount=z,v.prototype.eventNames=function(){return this._eventsCount>0?k(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,k,Q,H){var v,C,R=8*H-Q-1,T=(1<>1,y=-7,S=k?H-1:0,A=k?-1:1,z=W[j+S];for(S+=A,v=z&(1<<-y)-1,z>>=-y,y+=R;y>0;v=256*v+W[j+S],S+=A,y-=8);for(C=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;C=256*C+W[j+S],S+=A,y-=8);if(0===v)v=1-b;else{if(v===T)return C?NaN:1/0*(z?-1:1);C+=Math.pow(2,Q),v-=b}return(z?-1:1)*C*Math.pow(2,v-Q)},he.write=function(W,j,k,Q,H,v){var C,R,T,b=8*v-H-1,y=(1<>1,A=23===H?Math.pow(2,-24)-Math.pow(2,-77):0,z=Q?0:v-1,P=Q?1:-1,X=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(R=isNaN(j)?1:0,C=y):(C=Math.floor(Math.log(j)/Math.LN2),j*(T=Math.pow(2,-C))<1&&(C--,T*=2),(j+=C+S>=1?A/T:A*Math.pow(2,1-S))*T>=2&&(C++,T/=2),C+S>=y?(R=0,C=y):C+S>=1?(R=(j*T-1)*Math.pow(2,H),C+=S):(R=j*Math.pow(2,S-1)*Math.pow(2,H),C=0));H>=8;W[k+z]=255&R,z+=P,R/=256,H-=8);for(C=C<0;W[k+z]=255&C,z+=P,C/=256,b-=8);W[k+z-P]|=128*X}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,k){k&&(j.super_=k,j.prototype=Object.create(k.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,k){if(k){j.super_=k;var Q=function(){};Q.prototype=k.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:k}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:H}=Y("./url"),v=Y("./JsonLdError"),C=Y("./ResolvedContext");function T(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const A=y["@context"];if(k(A))y["@context"]=H(S,A);else if(W(A))for(let z=0;z10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(P.has(A))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:A});let X,ue;P.add(A);try{ue=yield z(A),X=ue.document||null,k(X)&&(X=JSON.parse(X))}catch(I){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:A,cause:I})}if(!j(X))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:A});return X="@context"in X?{"@context":X["@context"]}:{"@context":{}},ue.contextUrl&&(W(X["@context"])||(X["@context"]=[X["@context"]]),X["@context"].push(ue.contextUrl)),{context:X,remoteDoc:ue}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",k="jsonld.Error",Q={}){super(j),this.name=k,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(k,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(k,Q)},j.expand=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(k)},j.flatten=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(k)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const k=this;return k._loader=j,function(){return k.add.apply(k,arguments)}}add(j){var k=this;return yt(function*(){let Q=k._requests[j];if(Q)return Promise.resolve(Q);Q=k._requests[j]=k._loader(j);try{return yield Q}finally{delete k._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,H){this.cache.set(Q,H)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isString:Q,isUndefined:H}=Y("./types"),{isList:v,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{removeBase:X,prependBase:ue}=Y("./url"),{addValue:I,asArray:O,compareShortestLeast:K}=Y("./util"),E={};function Z(ae,oe,te){if("@nest"!==y(ae,oe,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var ae=yt(function*({activeCtx:oe,activeProperty:te=null,element:Te,options:me={},compactionMap:ne=(()=>{})}){if(j(Te)){let Oe=[];for(let $e=0;$e1&&(tt=Array.from(tt).sort());const Xe=oe;for(const Le of tt){const Ke=E.compactIri({activeCtx:Xe,iri:Le,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");H(Me)||(oe=yield z({activeCtx:oe,localCtx:Me,options:me,propagate:!1}))}const ze=Object.keys(Te).sort();for(const Le of ze){const Ke=Te[Le];if("@id"!==Le)if("@type"!==Le)if("@reverse"!==Le)if("@preserve"!==Le)if("@index"!==Le)if("@graph"!==Le&&"@list"!==Le&&"@included"!==Le&&A(Le)){const Me=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:oe,iri:Le,value:Ke,relativeTo:{vocab:!0},reverse:Oe}),Ue=oe.mappings.has(Me)?oe.mappings.get(Me)["@nest"]:null;let qe=$e;Ue&&(Z(oe,Ue,me),k($e[Ue])||($e[Ue]={}),qe=$e[Ue]),I(qe,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ue=E.compactIri({activeCtx:oe,iri:Le,value:Me,relativeTo:{vocab:!0},reverse:Oe}),qe=oe.mappings.has(Ue)?oe.mappings.get(Ue)["@nest"]:null;let ke=$e;qe&&(Z(oe,qe,me),k($e[qe])||($e[qe]={}),ke=$e[qe]);const q=S(oe,Ue,"@container")||[],G=R(Me),pe=v(Me);let de;pe?de=Me["@list"]:G&&(de=Me["@graph"]);let je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:pe||G?de:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){I(ke,Ue,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:oe,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&T(Me))){let _t;ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}});I(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&T(Me)?(j(je)&&je.length>1&&(je={"@included":je}),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:oe,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={},q.includes("@language"))C(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const we=S(oe,Ue,"@index")||"@index",B=E.compactIri({activeCtx:oe,iri:we,relativeTo:{vocab:!0}});if("@index"===we)pt=Me["@index"],delete je[B];else{let N;if([pt,...N]=O(je[we]||[]),Q(pt))switch(N.length){case 0:delete je[we];break;case 1:je[we]=N[0];break;default:je[we]=N}else pt=null}}else if(q.includes("@id")){const we=E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}});pt=je[we],delete je[we]}else if(q.includes("@type")){const we=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}});let B;switch([pt,...B]=O(je[we]||[]),B.length){case 0:delete je[we];break;case 1:je[we]=B[0];break;default:je[we]=B}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}})),I(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===Le||"@graph"===Le;I(ke,Ue,je,{propertyIsArray:_t})}}}else{if((S(oe,te,"@container")||[]).includes("@index"))continue;const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Ke)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||I($e,Le,Me)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ue in Me)if(oe.mappings.has(Ue)&&oe.mappings.get(Ue).reverse){const qe=Me[Ue],q=(S(oe,Ue,"@container")||[]).includes("@set")||!me.compactArrays;I($e,Ue,qe,{propertyIsArray:q}),delete Me[Ue]}if(Object.keys(Me).length>0){const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Me)}}else{let Me=O(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ue=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}}),q=(S(oe,Ue,"@container")||[]).includes("@set")&&P(oe,1.1)||j(Me)&&0===Ke.length;I($e,Ue,Me,{propertyIsArray:q})}else{let Me=O(Ke).map(qe=>E.compactIri({activeCtx:oe,iri:qe,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),$e[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return $e}return Te});return function(oe){return ae.apply(this,arguments)}}(),E.compactIri=({activeCtx:ae,iri:oe,value:te=null,relativeTo:Te={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===oe)return oe;ae.isPropertyTermScoped&&ae.previousContext&&(ae=ae.previousContext);const ye=ae.getInverse();if(A(oe)&&oe in ye&&"@none"in ye[oe]&&"@type"in ye[oe]["@none"]&&"@none"in ye[oe]["@none"]["@type"])return ye[oe]["@none"]["@type"]["@none"];if(Te.vocab&&oe in ye){const tt=ae["@language"]||"@none",Xe=[];k(te)&&"@index"in te&&!("@graph"in te)&&Xe.push("@index","@index@set"),k(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Xe.push("@graph@id","@graph@id@set"),Xe.push("@graph","@graph@set","@set"),"@index"in te||Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Xe.push("@graph@id","@graph@id@set")):k(te)&&!C(te)&&Xe.push("@id","@id@set","@type","@set@type");let ze="@language",Le="@null";if(me)ze="@type",Le="@reverse",Xe.push("@set");else if(v(te)){"@index"in te||Xe.push("@list");const Me=te["@list"];if(0===Me.length)ze="@any",Le="@none";else{let Ue=0===Me.length?tt:null,qe=null;for(let ke=0;kest.includes("_"));$e&&ye.push($e.replace(/^[^_]+_/,"_"))}ye.push("@none");const Oe=ae.inverse[oe];for(const $e of Te){if(!($e in Oe))continue;const st=Oe[$e][me];for(const Qe of ye)if(Qe in st)return st[Qe]}return null}(ae,oe,te,Xe,ze,Le);if(null!==Ke)return Ke}if(Te.vocab&&"@vocab"in ae){const tt=ae["@vocab"];if(0===oe.indexOf(tt)&&oe!==tt){const Xe=oe.substr(tt.length);if(!ae.mappings.has(Xe))return Xe}}let Oe=null;const $e=[];let st=ae.fastCurieMap;const Qe=oe.length-1;for(let tt=0;tt=0;--tt){const Xe=$e[tt],ze=Xe.terms;for(const Le of ze){const Ke=Le+":"+oe.substr(Xe.iri.length);ae.mappings.get(Le)._prefix&&(!ae.mappings.has(Ke)||null===te&&ae.mappings.get(Ke)["@id"]===oe)&&(null===Oe||K(Ke,Oe)<0)&&(Oe=Ke)}}if(null!==Oe)return Oe;for(const[tt,Xe]of ae.mappings)if(Xe&&Xe._prefix&&oe.startsWith(tt+":"))throw new W(`Absolute IRI "${oe}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ae});return Te.vocab?oe:"@base"in ae?ae["@base"]?X(ue(ne,ae["@base"]),oe):oe:X(ne,oe)},E.compactValue=({activeCtx:ae,activeProperty:oe,value:te,options:Te})=>{if(C(te)){const Oe=S(ae,oe,"@type"),$e=S(ae,oe,"@language"),st=S(ae,oe,"@direction"),Qe=S(ae,oe,"@container")||[],tt="@index"in te&&!Qe.includes("@index");if(!tt&&"@none"!==Oe&&(te["@type"]===Oe||"@language"in te&&te["@language"]===$e&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===$e||"@direction"in te&&te["@direction"]===st))return te["@value"];const Xe=Object.keys(te).length,ze=1===Xe||2===Xe&&"@index"in te&&!tt,Le="@language"in ae,Ke=Q(te["@value"]),Me=ae.mappings.has(oe)&&null===ae.mappings.get(oe)["@language"];if(ze&&"@none"!==Oe&&(!Le||!Ke||Me))return te["@value"];const Ue={};return tt&&(Ue[E.compactIri({activeCtx:ae,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[E.compactIri({activeCtx:ae,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:ae,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[E.compactIri({activeCtx:ae,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const me=y(ae,oe,{vocab:!0},Te),ne=S(ae,oe,"@type"),ye=E.compactIri({activeCtx:ae,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Te.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?ye:{[E.compactIri({activeCtx:ae,iri:"@id",relativeTo:{vocab:!0}})]:ye}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:k,isObject:Q,isString:H,isUndefined:v}=Y("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,z=/^@[a-zA-Z]+$/,P={};function X(I,O,K,E,$,Z){if(null===O||!H(O)||P.isKeyword(O))return O;if(O.match(z))return null;if(E&&E.hasOwnProperty(O)&&!0!==$.get(O)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:O,defined:$,options:Z}),(K=K||{}).vocab){const oe=I.mappings.get(O);if(null===oe)return null;if(Q(oe)&&"@id"in oe)return oe["@id"]}const ae=O.indexOf(":");if(ae>0){const oe=O.substr(0,ae),te=O.substr(ae+1);if("_"===oe||0===te.indexOf("//"))return O;E&&E.hasOwnProperty(oe)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:oe,defined:$,options:Z});const Te=I.mappings.get(oe);if(Te&&Te._prefix)return Te["@id"]+te;if(C(O))return O}if(K.vocab&&"@vocab"in I)return I["@vocab"]+O;if(K.base&&"@base"in I){if(I["@base"])return T(T(Z.base,I["@base"]),O)}else if(K.base)return T(Z.base,O);return O}function ue(I,O){if(!I||"object"!=typeof I||!O||"object"!=typeof O)return I===O;const K=Array.isArray(I);if(K!==Array.isArray(O))return!1;if(K){if(I.length!==O.length)return!1;for(let Z=0;Z{if(E.has(K)){if(E.get(K))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:O,term:K})}let ae;if(E.set(K,!1),O.hasOwnProperty(K)&&(ae=O[K]),"@type"===K&&Q(ae)&&"@set"===(ae["@container"]||"@set")&&P.processingMode(I,1.1)){const Oe=["@container","@id","@protected"],$e=Object.keys(ae);if(0===$e.length||$e.some(st=>!Oe.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K})}else{if(P.isKeyword(K))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K});if(K.match(z))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:K});if(""===K)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:O})}const oe=I.mappings.get(K);I.mappings.has(K)&&I.mappings.delete(K);let te=!1;if((H(ae)||null===ae)&&(te=!0,ae={"@id":ae}),!Q(ae))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:O});const Te={};I.mappings.set(K,Te),Te.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];P.processingMode(I,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Oe in ae)if(!me.includes(Oe))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Oe,"jsonld.SyntaxError",{code:"invalid term definition",context:O});const ne=K.indexOf(":");if(Te._termHasColon=ne>0,"@reverse"in ae){if("@id"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});if("@nest"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});const Oe=ae["@reverse"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));const $e=X(I,Oe,{vocab:!0,base:!1},O,E,$);if(!C($e))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=$e,Te.reverse=!0}else if("@id"in ae){let Oe=ae["@id"];if(Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(null===Oe)Te["@id"]=null;else{if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));if(Oe!==K){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe)&&!P.isKeyword(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(K.match(/(?::[^:])|\//)&&X(I,K,{vocab:!0,base:!1},O,new Map(E).set(K,!0),$)!==Oe)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=Oe,Te._prefix=te&&!Te._termHasColon&&Oe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Te))if(Te._termHasColon){const Oe=K.substr(0,ne);if(O.hasOwnProperty(Oe)&&P.createTermDefinition({activeCtx:I,localCtx:O,term:Oe,defined:E,options:$}),I.mappings.has(Oe)){const $e=K.substr(ne+1);Te["@id"]=I.mappings.get(Oe)["@id"]+$e}else Te["@id"]=K}else if("@type"===K)Te["@id"]=K;else{if(!("@vocab"in I))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O,term:K});Te["@id"]=I["@vocab"]+K}if((!0===ae["@protected"]||!0===E.get("@protected")&&!1!==ae["@protected"])&&(I.protected[K]=!0,Te.protected=!0),E.set(K,!0),"@type"in ae){let Oe=ae["@type"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if("@json"===Oe||"@none"===Oe){if(P.processingMode(I,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Oe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else if("@id"!==Oe&&"@vocab"!==Oe){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if(0===Oe.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}Te["@type"]=Oe}if("@container"in ae){const Oe=H(ae["@container"])?[ae["@container"]]:ae["@container"]||[],$e=["@list","@set","@index","@language"];let st=!0;const Qe=Oe.includes("@set");if(P.processingMode(I,1.1)){if($e.push("@graph","@id","@type"),Oe.includes("@list")){if(1!==Oe.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else if(Oe.includes("@graph")){if(Oe.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else st&=Oe.length<=(Qe?2:1);if(Oe.includes("@type")&&(Te["@type"]=Te["@type"]||"@id",!["@id","@vocab"].includes(Te["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else st&=!k(ae["@container"]),st&=Oe.length<=1;if(st&=Oe.every(tt=>$e.includes(tt)),st&=!(Qe&&Oe.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+$e.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:O});if(Te.reverse&&!Oe.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});Te["@container"]=Oe}if("@index"in ae){if(!("@container"in ae)||!Te["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});if(!H(ae["@index"])||0===ae["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});Te["@index"]=ae["@index"]}if("@context"in ae&&(Te["@context"]=ae["@context"]),"@language"in ae&&!("@type"in ae)){let Oe=ae["@language"];if(null!==Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:O});null!==Oe&&(Oe=Oe.toLowerCase()),Te["@language"]=Oe}if("@prefix"in ae){if(K.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:O});if(P.isKeyword(Te["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:O});if("boolean"!=typeof ae["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:O});Te._prefix=!0===ae["@prefix"]}if("@direction"in ae){const Oe=ae["@direction"];if(null!==Oe&&"ltr"!==Oe&&"rtl"!==Oe)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:O});Te["@direction"]=Oe}if("@nest"in ae){const Oe=ae["@nest"];if(!H(Oe)||"@nest"!==Oe&&0===Oe.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:O});Te["@nest"]=Oe}const ye=Te["@id"];if("@context"===ye||"@preserve"===ye)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:O});if(oe&&oe.protected&&!Z&&(I.protected[K]=!0,Te.protected=!0,!ue(oe,Te))){const Oe=$&&$.protectedMode||"error";if("error"===Oe)throw new j(`Invalid JSON-LD syntax; tried to redefine "${K}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:O,term:K});if("warn"===Oe)return void console.warn("WARNING: protected term redefinition",{term:K});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:O,term:K,protectedMode:Oe})}},P.expandIri=(I,O,K,E)=>X(I,O,K,void 0,void 0,E),P.getInitialContext=I=>{const O=JSON.stringify({processingMode:I.processingMode}),K=S.get(O);if(K)return K;const E={processingMode:I.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Te=this;if(Te.inverse)return Te.inverse;const me=Te.inverse={},ne=Te.fastCurieMap={},ye={},Oe=(Te["@language"]||"@none").toLowerCase(),$e=Te["@direction"],st=Te.mappings,Qe=[...st.keys()].sort(y);for(const tt of Qe){const Xe=st.get(tt);if(null===Xe)continue;let ze=Xe["@container"]||"@none";if(ze=[].concat(ze).sort().join(""),null===Xe["@id"])continue;const Le=b(Xe["@id"]);for(const Ke of Le){let Me=me[Ke];const Ue=P.isKeyword(Ke);if(Me)!Ue&&!Xe._termHasColon&&ye[Ke].push(tt);else if(me[Ke]=Me={},!Ue&&!Xe._termHasColon){ye[Ke]=[tt];const qe={iri:Ke,terms:ye[Ke]};Ke[0]in ne?ne[Ke[0]].push(qe):ne[Ke[0]]=[qe]}if(Me[ze]||(Me[ze]={"@language":{},"@type":{},"@any":{}}),Me=Me[ze],ae(tt,Me["@any"],"@none"),Xe.reverse)ae(tt,Me["@type"],"@reverse");else if("@none"===Xe["@type"])ae(tt,Me["@any"],"@none"),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none");else if("@type"in Xe)ae(tt,Me["@type"],Xe["@type"]);else if("@language"in Xe&&"@direction"in Xe){const qe=Xe["@language"],ke=Xe["@direction"];ae(tt,Me["@language"],qe&&ke?`${qe}_${ke}`.toLowerCase():qe?qe.toLowerCase():ke?`_${ke}`:"@null")}else"@language"in Xe?ae(tt,Me["@language"],(Xe["@language"]||"@null").toLowerCase()):"@direction"in Xe?ae(tt,Me["@language"],Xe["@direction"]?`_${Xe["@direction"]}`:"@none"):$e?(ae(tt,Me["@language"],`_${$e}`),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none")):(ae(tt,Me["@language"],Oe),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Te={};return Te.mappings=W.clone(this.mappings),Te.clone=this.clone,Te.inverse=null,Te.getInverse=this.getInverse,Te.protected=W.clone(this.protected),this.previousContext&&(Te.previousContext=this.previousContext.clone()),Te.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Te["@base"]=this["@base"]),"@language"in this&&(Te["@language"]=this["@language"]),"@vocab"in this&&(Te["@vocab"]=this["@vocab"]),Te},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(O,E),E;function Z(Te,me,ne){const ye=Te[me],Oe=Te[me]={};let $e,st;for(const Qe of ye)$e=Qe.iri,st=ne>=$e.length?"":$e[ne],st in Oe?Oe[st].push(Qe):Oe[st]=[Qe];for(const Qe in Oe)""!==Qe&&Z(Oe,Qe,ne+1)}function ae(Te,me,ne){me.hasOwnProperty(ne)||(me[ne]=Te)}},P.getContextValue=(I,O,K)=>{if(null===O)return"@context"===K?void 0:null;if(I.mappings.has(O)){const E=I.mappings.get(O);if(v(K))return E;if(E.hasOwnProperty(K))return E[K]}return"@language"===K&&K in I||"@direction"===K&&K in I?I[K]:"@context"!==K?null:void 0},P.processingMode=(I,O)=>O.toString()>="1.1"?!I.processingMode||I.processingMode>="json-ld-"+O.toString():"json-ld-1.0"===I.processingMode,P.isKeyword=I=>{if(!H(I)||"@"!==I[0])return!1;switch(I){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:k}=Y("../constants"),Q=Y("../JsonLdError"),H=Y("../RequestQueue"),{prependBase:v}=Y("../url"),C=/(^|(\r\n))link:/i;function R(T,b,y){const S=new(T=T||XMLHttpRequest);return new Promise((A,z)=>{S.onload=()=>A(S),S.onerror=P=>z(P),S.open("GET",b,!0);for(const P in y)S.setRequestHeader(P,y[P]);S.send()})}Se.exports=({secure:T,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new H).wrapLoader(A);function A(P){return z.apply(this,arguments)}function z(){return(z=yt(function*(P){if(0!==P.indexOf("http:")&&0!==P.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:P});if(T&&0!==P.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:P});let X;try{X=yield R(y,P,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:P,cause:E})}if(X.status>=400)throw new Q("URL could not be dereferenced: "+X.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:P,httpStatusCode:X.status});let ue={contextUrl:null,documentUrl:P,document:X.response},I=null;const O=X.getResponseHeader("Content-Type");let K;if(C.test(X.getAllResponseHeaders())&&(K=X.getResponseHeader("Link")),K&&"application/ld+json"!==O){const E=W(K),$=E[k];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:P});$&&(ue.contextUrl=$.target),I=E.alternate,I&&"application/ld+json"==I.type&&!(O||"").match(/^application\/(\w*\+)?json$/)&&(ue=yield A(v(P,I.target)))}return ue})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isEmptyObject:Q,isString:H,isUndefined:v}=Y("./types"),{isList:C,isValue:R,isGraph:T,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{isAbsolute:X}=Y("./url"),{addValue:ue,asArray:I,getValues:O,validateTypeValue:K}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return ae.apply(this,arguments)}function ae(){return(ae=yt(function*({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:$e,expandedParent:st,options:Qe={},insideList:tt,typeKey:Xe,typeScopedContext:ze,expansionMap:Le}){const Ke=Object.keys($e).sort(),Me=[];let Ue;const qe=$e[Xe]&&"@json"===y(ne,j($e[Xe])?$e[Xe][0]:$e[Xe],{vocab:!0},Qe);for(const ke of Ke){let G,q=$e[ke];if("@context"===ke)continue;let pe=y(ne,ke,{vocab:!0},Qe);if((null===pe||!X(pe)&&!A(pe))&&(pe=Le({unmappedProperty:ke,activeCtx:ne,activeProperty:ye,parent:$e,options:Qe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(A(pe)){if("@reverse"===Oe)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!H(q)){if(!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(k(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>H(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ue(st,"@id",I(q).map(pt=>H(pt)?y(ne,pt,{base:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@type"===pe){k(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,we])=>[y(ze,pt,{vocab:!0}),I(we).map(B=>y(ze,B,{base:!0,vocab:!0}))]))),K(q,Qe.isFrame),ue(st,"@type",I(q).map(pt=>H(pt)?y(ze,pt,{base:!0,vocab:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@included"===pe&&P(ne,1.1)){const pt=I(yield E.expand({activeCtx:ne,activeProperty:ye,element:q,options:Qe,expansionMap:Le}));if(!pt.every(we=>b(we)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ue(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!k(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ue=q,qe&&P(ne,1.1)?st["@value"]=q:ue(st,"@value",q,{propertyIsArray:Qe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=I(q).map(pt=>H(pt)?pt.toLowerCase():pt);for(const pt of q)H(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ue(st,"@language",q,{propertyIsArray:Qe.isFrame});continue}if("@direction"===pe){if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=I(q);for(const pt of q)if(H(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ue(st,"@direction",q,{propertyIsArray:Qe.isFrame});continue}if("@index"===pe){if(!H(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ue(st,"@index",q);continue}if("@reverse"===pe){if(!k(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Qe,expansionMap:Le}),"@reverse"in G)for(const we in G["@reverse"])ue(st,we,G["@reverse"][we],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const we in G){if("@reverse"===we)continue;null===pt&&(pt=st["@reverse"]={}),ue(pt,we,[],{propertyIsArray:!0});const B=G[we];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=I(G).map(pt=>({"@graph":I(pt)}))),de.mappings.has(ke)&&de.mappings.get(ke).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=I(G);for(let we=0;we"@value"===y(ne,pe,{vocab:!0},Qe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:G,expandedParent:st,options:Qe,insideList:tt,typeScopedContext:ze,typeKey:Xe,expansionMap:Le})}}})).apply(this,arguments)}function oe({activeCtx:ne,activeProperty:ye,value:Oe,options:$e}){if(null==Oe)return null;const st=y(ne,ye,{vocab:!0},$e);if("@id"===st)return y(ne,Oe,{base:!0},$e);if("@type"===st)return y(ne,Oe,{vocab:!0,base:!0},$e);const Qe=S(ne,ye,"@type");if(("@id"===Qe||"@graph"===st)&&H(Oe))return{"@id":y(ne,Oe,{base:!0},$e)};if("@vocab"===Qe&&H(Oe))return{"@id":y(ne,Oe,{vocab:!0,base:!0},$e)};if(A(st))return Oe;const tt={};if(Qe&&!["@id","@vocab","@none"].includes(Qe))tt["@type"]=Qe;else if(H(Oe)){const Xe=S(ne,ye,"@language");null!==Xe&&(tt["@language"]=Xe);const ze=S(ne,ye,"@direction");null!==ze&&(tt["@direction"]=ze)}return["boolean","number","string"].includes(typeof Oe)||(Oe=Oe.toString()),tt["@value"]=Oe,tt}function te(ne,ye,Oe,$e){const st=[],Qe=Object.keys(ye).sort();for(const tt of Qe){const Xe=y(ne,tt,{vocab:!0},$e);let ze=ye[tt];j(ze)||(ze=[ze]);for(const Le of ze){if(null===Le)continue;if(!H(Le))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ye});const Ke={"@value":Le};"@none"!==Xe&&(Ke["@language"]=tt.toLowerCase()),Oe&&(Ke["@direction"]=Oe),st.push(Ke)}}return st}function Te(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:ye,activeProperty:Oe,value:$e,expansionMap:st,asGraph:Qe,indexKey:tt,propertyIndex:Xe}){const ze=[],Le=Object.keys($e).sort(),Ke="@type"===tt;for(let Me of Le){if(Ke){const ke=S(ne,Me,"@context");v(ke)||(ne=yield z({activeCtx:ne,localCtx:ke,propagate:!1,options:ye}))}let qe,Ue=$e[Me];j(Ue)||(Ue=[Ue]),Ue=yield E.expand({activeCtx:ne,activeProperty:Oe,element:Ue,options:ye,insideList:!1,insideIndex:!0,expansionMap:st}),qe=Xe?"@none"===Me?"@none":oe({activeCtx:ne,activeProperty:tt,value:Me,options:ye}):y(ne,Me,{vocab:!0},ye),"@id"===tt?Me=y(ne,Me,{base:!0},ye):Ke&&(Me=qe);for(let ke of Ue){if(Qe&&!T(ke)&&(ke={"@graph":[ke]}),"@type"===tt)"@none"===qe||(ke["@type"]=ke["@type"]?[Me].concat(ke["@type"]):[Me]);else{if(R(ke)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:ke});Xe?"@none"!==qe&&ue(ke,Xe,qe,{propertyIsArray:!0,prependValue:!0}):"@none"!==qe&&!(tt in ke)&&(ke[tt]=Me)}ze.push(ke)}}return ze})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:ye,activeProperty:Oe=null,element:$e,options:st={},insideList:Qe=!1,insideIndex:tt=!1,typeScopedContext:Xe=null,expansionMap:ze=(()=>{})}){if(null==$e)return null;if("@default"===Oe&&(st=Object.assign({},st,{isFrame:!1})),!j($e)&&!k($e)){if(!Qe&&(null===Oe||"@graph"===y(ye,Oe,{vocab:!0},st))){const G=yield ze({unmappedValue:$e,activeCtx:ye,activeProperty:Oe,options:st,insideList:Qe});return void 0===G?null:G}return oe({activeCtx:ye,activeProperty:Oe,value:$e,options:st})}if(j($e)){let G=[];const pe=S(ye,Oe,"@container")||[];Qe=Qe||pe.includes("@list");for(let de=0;de<$e.length;++de){let je=yield E.expand({activeCtx:ye,activeProperty:Oe,element:$e[de],options:st,expansionMap:ze,insideIndex:tt,typeScopedContext:Xe});Qe&&j(je)&&(je={"@list":je}),(null!==je||(je=yield ze({unmappedValue:$e[de],activeCtx:ye,activeProperty:Oe,parent:$e,index:de,options:st,expandedParent:G,insideList:Qe}),void 0!==je))&&(j(je)?G=G.concat(je):G.push(je))}return G}const Le=y(ye,Oe,{vocab:!0},st),Ke=S(ye,Oe,"@context");Xe=Xe||(ye.previousContext?ye:null);let Me=Object.keys($e).sort(),Ue=!tt;if(Ue&&Xe&&Me.length<=2&&!Me.includes("@context"))for(const G of Me){const pe=y(Xe,G,{vocab:!0},st);if("@value"===pe){Ue=!1,ye=Xe;break}if("@id"===pe&&1===Me.length){Ue=!1;break}}Ue&&(ye=ye.revertToPreviousContext()),v(Ke)||(ye=yield z({activeCtx:ye,localCtx:Ke,propagate:!0,overrideProtected:!0,options:st})),"@context"in $e&&(ye=yield z({activeCtx:ye,localCtx:$e["@context"],options:st})),Xe=ye;let qe=null;for(const G of Me)if("@type"===y(ye,G,{vocab:!0},st)){qe=qe||G;const de=$e[G],je=Array.isArray(de)?de.length>1?de.slice().sort():de:[de];for(const _t of je){const pt=S(Xe,_t,"@context");v(pt)||(ye=yield z({activeCtx:ye,localCtx:pt,options:st,propagate:!1}))}}let ke={};yield Z({activeCtx:ye,activeProperty:Oe,expandedActiveProperty:Le,element:$e,expandedParent:ke,options:st,insideList:Qe,typeKey:qe,typeScopedContext:Xe,expansionMap:ze}),Me=Object.keys(ke);let q=Me.length;if("@value"in ke){if("@type"in ke&&("@language"in ke||"@direction"in ke))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});let G=q-1;if("@type"in ke&&(G-=1),"@index"in ke&&(G-=1),"@language"in ke&&(G-=1),"@direction"in ke&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});const pe=null===ke["@value"]?[]:I(ke["@value"]),de=O(ke,"@type");if(!P(ye,1.1)||!de.includes("@json")||1!==de.length)if(0===pe.length){const je=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==je?je:null}else{if(!pe.every(je=>H(je)||Q(je))&&"@language"in ke)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ke});if(!de.every(je=>X(je)&&!(H(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ke})}}else if("@type"in ke&&!j(ke["@type"]))ke["@type"]=[ke["@type"]];else if("@set"in ke||"@list"in ke){if(q>1&&(2!==q||!("@index"in ke)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ke});"@set"in ke&&(ke=ke["@set"],Me=Object.keys(ke),q=Me.length)}else if(1===q&&"@language"in ke){const G=yield ze(ke,{unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}if(k(ke)&&!st.keepFreeFloatingNodes&&!Qe&&(null===Oe||"@graph"===Le)&&(0===q||"@value"in ke||"@list"in ke||1===q&&"@id"in ke)){const G=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}return ke});return function(ye){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),k={};Se.exports=k,k.flatten=Q=>{const H=j(Q),v=[],C=Object.keys(H).sort();for(let R=0;R=0;--ae){const oe=Z[ae];if(oe.graph===$&&oe.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const ae="@"+Z;let oe=ae in E?E[ae][0]:$[Z];if("embed"===Z)if(!0===oe)oe="@once";else if(!1===oe)oe="@never";else if("@always"!==oe&&"@never"!==oe&&"@link"!==oe&&"@first"!==oe&&"@last"!==oe&&"@once"!==oe)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return oe}function A(E){if(!k.isArray(E)||1!==E.length||!k.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function P(E,$,Z,ae){let oe=!0,te=!1;for(const Te in Z){let me=!1;const ne=Q.getValues($,Te),ye=0===Q.getValues(Z,Te).length;if("@id"===Te){if(k.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!ae.requireAll)return me}else if("@type"===Te){if(oe=!1,ye){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&k.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Oe of Z["@type"])me=!(!k.isObject(Oe)||!("@default"in Oe))||me||ne.some($e=>$e===Oe);if(!ae.requireAll)return me}else{if(W(Te))continue;{const Oe=Q.getValues(Z,Te)[0];let $e=!1;if(Oe&&(A([Oe]),$e="@default"in Oe),oe=!1,0===ne.length&&$e)continue;if(ne.length>0&&ye)return!1;if(void 0===Oe){if(ne.length>0)return!1;me=!0}else if(j.isList(Oe)){const st=Oe["@list"][0];if(j.isList(ne[0])){const Qe=ne[0]["@list"];j.isValue(st)?me=Qe.some(tt=>K(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Qe.some(tt=>O(E,st,tt,ae)))}}else me=j.isValue(Oe)?ne.some(st=>K(Oe,st)):j.isSubjectReference(Oe)?ne.some(st=>O(E,Oe,st,ae)):!!k.isObject(Oe)&&ne.length>0}}if(!me&&ae.requireAll)return!1;te=te||me}return oe||te}function X(E,$){const Z=E.uniqueEmbeds[E.graph],ae=Z[$],oe=ae.parent,te=ae.property,Te={"@id":$};if(k.isArray(oe)){for(let ne=0;ne{const ye=Object.keys(Z);for(const Oe of ye)Oe in Z&&k.isObject(Z[Oe].parent)&&Z[Oe].parent["@id"]===ne&&(delete Z[Oe],me(Oe))};me($)}function ue(E,$){if(k.isArray(E))return E.map(Z=>ue(Z,$));if(k.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ue(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ue(E[Z],$)}return E}function I(E,$,Z){k.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function O(E,$,Z,ae){if(!("@id"in Z))return!1;const oe=E.subjects[Z["@id"]];return oe&&P(E,oe,$,ae)}function K(E,$){const Z=$["@value"],ae=$["@type"],oe=$["@language"],te=E["@value"]?k.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Te=E["@type"]?k.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?k.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Te.length&&0===me.length||!(!te.includes(Z)&&!k.isEmptyObject(te[0])||!(!ae&&0===Te.length||Te.includes(ae)||ae&&k.isEmptyObject(Te[0]))||!(!oe&&0===me.length||me.includes(oe)||oe&&k.isEmptyObject(me[0])))}Se.exports=T,T.frameMergedOrDefault=(E,$,Z)=>{const ae={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},oe=new Q.IdentifierIssuer("_:b");C(E,ae.graphMap,"@default",oe),Z.merged&&(ae.graphMap["@merged"]=R(ae.graphMap),ae.graph="@merged"),ae.subjects=ae.graphMap[ae.graph];const te=[];return T.frame(ae,Object.keys(ae.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(ae.bnodeMap).filter(Te=>1===ae.bnodeMap[Te].length)),Z.link={},ue(te,Z)},T.frame=(E,$,Z,ae,oe=null)=>{A(Z);const te=E.options,Te={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,ae){const oe={};for(const te of $){const Te=E.graphMap[E.graph][te];P(E,Te,Z,ae)&&(oe[te]=Te)}return oe}(E,$,Z,Te),ye=Object.keys(ne).sort();for(const Oe of ye){const $e=ne[Oe];if(null===oe?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Te.embed&&Oe in me){I(ae,oe,me[Oe]);continue}const st={"@id":Oe};if(0===Oe.indexOf("_:")&&Q.addValue(E.bnodeMap,Oe,st,{propertyIsArray:!0}),me[Oe]=st,("@first"===Te.embed||"@last"===Te.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){if(E.embedded&&("@never"===Te.embed||y($e,E.graph,E.subjectStack))){I(ae,oe,st);continue}if(E.embedded&&("@first"==Te.embed||"@once"==Te.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){I(ae,oe,st);continue}if("@last"===Te.embed&&Oe in E.uniqueEmbeds[E.graph]&&X(E,Oe),E.uniqueEmbeds[E.graph][Oe]={parent:ae,property:oe},E.subjectStack.push({subject:$e,graph:E.graph}),Oe in E.graphMap){let Qe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Qe=!("@merged"===Oe||"@default"===Oe),k.isObject(tt)||(tt={})):(Qe="@merged"!==E.graph,tt={}),Qe&&T.frame(xn(ot({},E),{graph:Oe,embedded:!1}),Object.keys(E.graphMap[Oe]).sort(),[tt],st,"@graph")}"@included"in Z&&T.frame(xn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Qe of Object.keys($e).sort())if(W(Qe)){if(st[Qe]=Q.clone($e[Qe]),"@type"===Qe)for(const tt of $e["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Te.explicit||Qe in Z)for(const tt of $e[Qe]){const Xe=Qe in Z?Z[Qe]:b(Te);if(j.isList(tt)){const ze=Z[Qe]&&Z[Qe][0]&&Z[Qe][0]["@list"]?Z[Qe][0]["@list"]:b(Te),Le={"@list":[]};I(st,Qe,Le);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?T.frame(xn(ot({},E),{embedded:!0}),[Me["@id"]],ze,Le,"@list"):I(Le,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?T.frame(xn(ot({},E),{embedded:!0}),[tt["@id"]],Xe,st,Qe):K(Xe[0],tt)&&I(st,Qe,Q.clone(tt))}for(const Qe of Object.keys(Z).sort()){if("@type"===Qe){if(!k.isObject(Z[Qe][0])||!("@default"in Z[Qe][0]))continue}else if(W(Qe))continue;const tt=Z[Qe][0]||{};if(!S(tt,te,"omitDefault")&&!(Qe in st)){let ze="@null";"@default"in tt&&(ze=Q.clone(tt["@default"])),k.isArray(ze)||(ze=[ze]),st[Qe]=[{"@preserve":ze}]}}for(const Qe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Qe];for(const Xe of Object.keys(E.subjects))Q.getValues(E.subjects[Xe],Qe).some(Le=>Le["@id"]===Oe)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Qe,[],{propertyIsArray:!0}),T.frame(xn(ot({},E),{embedded:!0}),[Xe],tt,st["@reverse"][Qe],oe))}I(ae,oe,st),E.subjectStack.pop()}}},T.cleanupNull=(E,$)=>{if(k.isArray(E))return E.map(ae=>T.cleanupNull(ae,$)).filter(ae=>ae);if("@null"===E)return null;if(k.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=T.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),{RDF_LIST:H,RDF_FIRST:v,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:A,XSD_STRING:z}=Y("./constants"),P=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,X={};function ue(I,O,K){if(I.termType.endsWith("Node"))return{"@id":I.value};const E={"@value":I.value};if(I.language)E["@language"]=I.language;else{let $=I.datatype.value;if($||($=z),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(O){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(k.isNumeric(E["@value"]))if($===A){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,A,S,z].includes($)||(E["@type"]=$)}else if("i18n-datatype"===K&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,ae]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(P)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=ae}else $!==z&&(E["@type"]=$)}return E}Se.exports=X,X.fromRDF=function(){var I=yt(function*(O,{useRdfType:K=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},ae={"@default":Z},oe={};for(const me of O){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in ae||(ae[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const ye=ae[ne],Oe=me.subject.value,$e=me.predicate.value,st=me.object;Oe in ye||(ye[Oe]={"@id":Oe});const Qe=ye[Oe],tt=st.termType.endsWith("Node");if(tt&&!(st.value in ye)&&(ye[st.value]={"@id":st.value}),$e===T&&!K&&tt){Q.addValue(Qe,"@type",st.value,{propertyIsArray:!0});continue}const Xe=ue(st,E,$);if(Q.addValue(Qe,$e,Xe,{propertyIsArray:!0}),tt)if(st.value===R){const ze=ye[st.value];"usages"in ze||(ze.usages=[]),ze.usages.push({node:Qe,property:$e,value:Xe})}else oe[st.value]=!(st.value in oe)&&{node:Qe,property:$e,value:Xe}}for(const me in ae){const ne=ae[me];if(!(R in ne))continue;const ye=ne[R];if(ye.usages){for(let Oe of ye.usages){let $e=Oe.node,st=Oe.property,Qe=Oe.value;const tt=[],Xe=[];let ze=Object.keys($e).length;for(;st===C&&k.isObject(oe[$e["@id"]])&&k.isArray($e[v])&&1===$e[v].length&&k.isArray($e[C])&&1===$e[C].length&&(3===ze||4===ze&&k.isArray($e["@type"])&&1===$e["@type"].length&&$e["@type"][0]===H)&&(tt.push($e[v][0]),Xe.push($e["@id"]),Oe=oe[$e["@id"]],$e=Oe.node,st=Oe.property,Qe=Oe.value,ze=Object.keys($e).length,j.isBlankNode($e)););delete Qe["@id"],Qe["@list"]=tt.reverse();for(const Le of Xe)delete ne[Le]}delete ye.usages}}const te=[],Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me];if(me in ae){const ye=ne["@graph"]=[],Oe=ae[me],$e=Object.keys(Oe).sort();for(const st of $e){const Qe=Oe[st];j.isSubjectReference(Qe)||ye.push(Qe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(O,K){return I.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=k=>!(!W.isObject(k)||"@value"in k||"@set"in k||"@list"in k)&&(Object.keys(k).length>1||!("@id"in k)),j.isSubjectReference=k=>W.isObject(k)&&1===Object.keys(k).length&&"@id"in k,j.isValue=k=>W.isObject(k)&&"@value"in k,j.isList=k=>W.isObject(k)&&"@list"in k,j.isGraph=k=>W.isObject(k)&&"@graph"in k&&1===Object.keys(k).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=k=>j.isGraph(k)&&!("@id"in k),j.isBlankNode=k=>!!W.isObject(k)&&("@id"in k?0===k["@id"].indexOf("_:"):0===Object.keys(k).length||!("@value"in k||"@set"in k||"@list"in k))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),k=Y("./util"),Q=Y("./ContextResolver"),H=k.IdentifierIssuer,v=Y("./JsonLdError"),C=Y("lru-cache"),R=Y("./NQuads"),{expand:T}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:A,cleanupNull:z}=Y("./frame"),{isArray:P,isObject:X,isString:ue}=Y("./types"),{isSubjectReference:I}=Y("./graphTypes"),{expandIri:O,getInitialContext:K,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:ae}=Y("./compact"),{createNodeMap:oe,createMergedNodeMap:te,mergeNodeMaps:Te}=Y("./nodeMap"),me=function(ye){const Oe={},st=new C({max:100});function Qe(tt,Le){var Ke=Le,{documentLoader:Xe=ye.documentLoader}=Ke,ze=Pq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Xe},ze,tt)}return ye.compact=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===ze)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Xe)return null;let Ke;(Le=Qe(Le,{base:ue(Xe)?Xe:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new H("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(Le.skipExpansion=!0),Le.compactToRelative||delete Le.base,Ke=Le.skipExpansion?Xe:yield ye.expand(Xe,Le);const Me=yield ye.processContext(K(Le),ze,Le);let Ue=yield Z({activeCtx:Me,element:Ke,options:Le,compactionMap:Le.compactionMap});Le.compactArrays&&!Le.graph&&P(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):Le.graph&&X(Ue)&&(Ue=[Ue]),X(ze)&&"@context"in ze&&(ze=ze["@context"]),ze=k.clone(ze),P(ze)||(ze=[ze]);const qe=ze;ze=[];for(let q=0;q0)&&ze.push(qe[q]);const ke=ze.length>0;if(1===ze.length&&(ze=ze[0]),P(Ue)){const q=ae({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ue;Ue={},ke&&(Ue["@context"]=ze),Ue[q]=G}else if(X(Ue)&&ke){const q=Ue;Ue={"@context":ze};for(const G in q)Ue[G]=q[G]}return Ue});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.expand=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(ze=Qe(ze,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(ze.expansionMap=void 0);const Le={},Ke=[];if("expandContext"in ze){const ke=k.clone(ze.expandContext);Le.expandContext=X(ke)&&"@context"in ke?ke:{"@context":ke},Ke.push(Le.expandContext)}let Me;if(ue(Xe)){const ke=yield ye.get(Xe,ze);Me=ke.documentUrl,Le.input=ke.document,ke.contextUrl&&(Le.remoteContext={"@context":ke.contextUrl},Ke.push(Le.remoteContext))}else Le.input=k.clone(Xe);"base"in ze||(ze.base=Me||"");let Ue=K(ze);for(const ke of Ke)Ue=yield E({activeCtx:Ue,localCtx:ke,options:ze});let qe=yield T({activeCtx:Ue,element:Le.input,options:ze,expansionMap:ze.expansionMap});return X(qe)&&"@graph"in qe&&1===Object.keys(qe).length?qe=qe["@graph"]:null===qe&&(qe=[]),P(qe)||(qe=[qe]),qe});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.flatten=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Ke=yield ye.expand(Xe,Le),Me=b(Ke);return null===ze?Me:(Le.graph=!0,Le.skipExpansion=!0,yield ye.compact(Me,ze,Le))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.frame=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Le=Qe(Le,{base:ue(Xe)?Xe:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ue(ze)){const de=yield ye.get(ze,Le);if(ze=de.document,de.contextUrl){let je=ze["@context"];je?P(je)?je.push(de.contextUrl):je=[je,de.contextUrl]:je=de.contextUrl,ze["@context"]=je}}const Ke=ze&&ze["@context"]||{},Me=yield ye.processContext(K(Le),Ke,Le);Le.hasOwnProperty("omitGraph")||(Le.omitGraph=$(Me,1.1)),Le.hasOwnProperty("pruneBlankNodeIdentifiers")||(Le.pruneBlankNodeIdentifiers=$(Me,1.1));const Ue=yield ye.expand(Xe,Le),qe=ot({},Le);qe.isFrame=!0,qe.keepFreeFloatingNodes=!0;const ke=yield ye.expand(ze,qe),q=Object.keys(ze).map(de=>O(Me,de,{vocab:!0}));qe.merged=!q.includes("@graph"),qe.is11=$(Me,1.1);const G=A(Ue,ke,qe);qe.graph=!Le.omitGraph,qe.skipExpansion=!0,qe.link={},qe.framing=!0;let pe=yield ye.compact(G,Ke,qe);return qe.link={},pe=z(pe,qe),pe});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.link=function(){var tt=yt(function*(Xe,ze,Le){const Ke={};return ze&&(Ke["@context"]=ze),Ke["@embed"]="@link",ye.frame(Xe,Ke,Le)});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.normalize=ye.canonize=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(ze=Qe(ze,{base:ue(Xe)?Xe:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==ze.inputFormat&&"application/nquads"!==ze.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=R.parse(Xe);return W.canonize(Me,ze)}const Le=ot({},ze);delete Le.format,Le.produceGeneralizedRdf=!1;const Ke=yield ye.toRDF(Xe,Le);return W.canonize(Ke,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.fromRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");ze=Qe(ze,{format:ue(Xe)?"application/n-quads":void 0});const{format:Le}=ze;let{rdfParser:Ke}=ze;if(Le){if(Ke=Ke||Oe[Le],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:Le})}else Ke=()=>Xe;const Me=yield Ke(Xe);return y(Me,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.toRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Le;Le=(ze=Qe(ze,{base:ue(Xe)?Xe:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Xe:yield ye.expand(Xe,ze);const Ke=S(Le,ze);if(ze.format){if("application/n-quads"===ze.format||"application/nquads"===ze.format)return R.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:ze.format})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.createNodeMap=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");ze=Qe(ze,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Le=yield ye.expand(Xe,ze);return te(Le,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.merge=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!P(Xe))throw new TypeError('Could not merge, "docs" must be an array.');ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Xe.map(de=>{const je=ot({},Le);return ye.expand(de,je)}));let Me=!0;"mergeNodes"in Le&&(Me=Le.mergeNodes);const Ue=Le.issuer||new H("_:b"),qe={"@default":{}};for(let de=0;deye._documentLoader,set:tt=>ye._documentLoader=tt}),ye.documentLoader=function(){var tt=yt(function*(Xe){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Xe})});return function(Xe){return tt.apply(this,arguments)}}(),ye.get=function(){var tt=yt(function*(Xe,ze){let Le;Le="function"==typeof ze.documentLoader?ze.documentLoader:ye.documentLoader;const Ke=yield Le(Xe);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ue(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.processContext=function(){var tt=yt(function*(Xe,ze,Le){return Le=Qe(Le,{base:"",contextResolver:new Q({sharedCache:st})}),null===ze?K(Le):(ze=k.clone(ze),X(ze)&&"@context"in ze||(ze={"@context":ze}),E({activeCtx:Xe,localCtx:ze,options:Le}))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.getContextValue=Y("./context").getContextValue,ye.documentLoaders={},ye.useDocumentLoader=function(tt){if(!(tt in ye.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});ye.documentLoader=ye.documentLoaders[tt].apply(ye,Array.prototype.slice.call(arguments,1))},ye.registerRDFParser=function(tt,Xe){Oe[tt]=Xe},ye.unregisterRDFParser=function(tt){delete Oe[tt]},ye.registerRDFParser("application/n-quads",R.parse),ye.registerRDFParser("application/nquads",R.parse),ye.url=Y("./url"),ye.util=k,Object.assign(ye,k),ye.promises=ye,ye.RequestQueue=Y("./RequestQueue"),ye.JsonLdProcessor=Y("./JsonLdProcessor")(ye),j.setupGlobals(ye),j.setupDocumentLoaders(ye),ye},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),H=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(C,b,"@default",T),v.mergeNodeMaps(b)},v.createNodeMap=(C,R,T,b,y,S)=>{if(k.isArray(C)){for(const X of C)v.createNodeMap(X,R,T,b,void 0,S);return}if(!k.isObject(C))return void(S&&S.push(C));if(j.isValue(C)){if("@type"in C){let X=C["@type"];0===X.indexOf("_:")&&(C["@type"]=X=b.getId(X))}return void(S&&S.push(C))}if(S&&j.isList(C)){const X=[];return v.createNodeMap(C["@list"],R,T,b,y,X),void S.push({"@list":X})}if("@type"in C){const X=C["@type"];for(const ue of X)0===ue.indexOf("_:")&&b.getId(ue)}k.isUndefined(y)&&(y=j.isBlankNode(C)?b.getId(C["@id"]):C["@id"]),S&&S.push({"@id":y});const A=R[T],z=A[y]=A[y]||{};z["@id"]=y;const P=Object.keys(C).sort();for(let X of P){if("@id"===X)continue;if("@reverse"===X){const I={"@id":y},O=C["@reverse"];for(const K in O){const E=O[K];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,R,T,b,Z),Q.addValue(A[Z],K,I,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===X){y in R||(R[y]={}),v.createNodeMap(C[X],R,y,b);continue}if("@included"===X){v.createNodeMap(C[X],R,T,b);continue}if("@type"!==X&&W(X)){if("@index"===X&&X in z&&(C[X]!==z[X]||C[X]["@id"]!==z[X]["@id"]))throw new H("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:z});z[X]=C[X];continue}const ue=C[X];if(0===X.indexOf("_:")&&(X=b.getId(X)),0!==ue.length)for(let I of ue)if("@type"===X&&(I=0===I.indexOf("_:")?b.getId(I):I),j.isSubject(I)||j.isSubjectReference(I)){if("@id"in I&&!I["@id"])continue;const O=j.isBlankNode(I)?b.getId(I["@id"]):I["@id"];Q.addValue(z,X,{"@id":O},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(I,R,T,b,O)}else if(j.isValue(I))Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(I)){const O=[];v.createNodeMap(I["@list"],R,T,b,y,O),I={"@list":O},Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(I,R,T,b,y),Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(z,X,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const b of Object.keys(C[T]).sort()){const y=C[T][b];b in R||(R[b]={"@id":b});const S=R[b];for(const A of Object.keys(y).sort())if(W(A)&&"@type"!==A)S[A]=Q.clone(y[A]);else for(const z of y[A])Q.addValue(S,A,Q.clone(z),{propertyIsArray:!0,allowDuplicate:!1})}return R},v.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const b of T){if("@default"===b)continue;const y=C[b];let S=R[b];S?"@graph"in S||(S["@graph"]=[]):R[b]=S={"@id":b,"@graph":[]};const A=S["@graph"];for(const z of Object.keys(y).sort()){const P=y[z];j.isSubjectReference(P)||A.push(P)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(k){"undefined"!=typeof XMLHttpRequest&&(k.documentLoaders.xhr=W,k.useDocumentLoader("xhr"))},j.setupGlobals=function(k){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:k.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),k=Y("./graphTypes"),Q=Y("canonicalize"),H=Y("./types"),v=Y("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:A,XSD_DOUBLE:z,XSD_INTEGER:P,XSD_STRING:X}=Y("./constants"),{isAbsolute:ue}=Y("./url"),I={};function O($,Z,ae,oe,te){const Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me],ye=Object.keys(ne).sort();for(let Oe of ye){const $e=ne[Oe];if("@type"===Oe)Oe=b;else if(j(Oe))continue;for(const st of $e){const Qe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ue(me))continue;const tt={termType:Oe.startsWith("_:")?"BlankNode":"NamedNode",value:Oe};if(!ue(Oe)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Xe=E(st,oe,$,ae,te.rdfDirection);Xe&&$.push({subject:Qe,predicate:tt,object:Xe,graph:ae})}}}}function E($,Z,ae,oe,te){const Te={};if(k.isValue($)){Te.termType="Literal",Te.value=void 0,Te.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Te.value=Q(me),Te.datatype.value=y):H.isBoolean(me)?(Te.value=me.toString(),Te.datatype.value=ne||A):H.isDouble(me)||ne===z?(H.isDouble(me)||(me=parseFloat(me)),Te.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Te.datatype.value=ne||z):H.isNumber(me)?(Te.value=me.toFixed(0),Te.datatype.value=ne||P):"i18n-datatype"===te&&"@direction"in $?(Te.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Te.value=me):"@language"in $?(Te.value=me,Te.datatype.value=ne||S,Te.language=$["@language"]):(Te.value=me,Te.datatype.value=ne||X)}else if(k.isList($)){const me=function($,Z,ae,oe,te){const Te={termType:"NamedNode",value:C},me={termType:"NamedNode",value:R},ne={termType:"NamedNode",value:T},ye=$.pop(),Oe=ye?{termType:"BlankNode",value:Z.getId()}:ne;let $e=Oe;for(const st of $){const Qe=E(st,Z,ae,oe,te),tt={termType:"BlankNode",value:Z.getId()};ae.push({subject:$e,predicate:Te,object:Qe,graph:oe}),ae.push({subject:$e,predicate:me,object:tt,graph:oe}),$e=tt}if(ye){const st=E(ye,Z,ae,oe,te);ae.push({subject:$e,predicate:Te,object:st,graph:oe}),ae.push({subject:$e,predicate:me,object:ne,graph:oe})}return Oe}($["@list"],Z,ae,oe,te);Te.termType=me.termType,Te.value=me.value}else{const me=H.isObject($)?$["@id"]:$;Te.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Te.value=me}return"NamedNode"!==Te.termType||ue(Te.value)?Te:null}Se.exports=I,I.toRDF=($,Z)=>{const ae=new v.IdentifierIssuer("_:b"),oe={"@default":{}};W($,oe,"@default",ae);const te=[],Te=Object.keys(oe).sort();for(const me of Te){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ue(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}O(te,oe[me],ne,ae,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,H)=>{const v={},C=j.parsers[H||"full"],R=C.regex.exec(Q);let T=C.keys.length;for(;T--;)v[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,H)=>{if(null===Q||j.isAbsolute(H))return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(H),C={protocol:Q.protocol||""};if(null!==v.authority)C.authority=v.authority,C.path=v.path,C.query=v.query;else if(C.authority=Q.authority,""===v.path)C.path=Q.path,C.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))C.path=v.path;else{let T=Q.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Q.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=v.path,C.path=T}C.query=v.query}""!==v.path&&(C.path=j.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==v.fragment&&(R+="#"+v.fragment),""===R&&(R="./"),R},j.removeBase=(Q,H)=>{if(null===Q)return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):H.indexOf("//")&&(v+="//"),0!==H.indexOf(v))return H;const C=j.parse(H.substr(v.length)),R=Q.normalizedPath.split("/"),T=C.normalizedPath.split("/"),b=C.fragment||C.query?0:1;for(;R.length>0&&T.length>b&&R[0]===T[0];)R.shift(),T.shift();let y="";if(R.length>0){R.pop();for(let S=0;S{if(0===Q.length)return"";const H=Q.split("/"),v=[];for(;H.length>0;){const C=H.shift(),R=0===H.length;"."!==C?".."!==C?v.push(C):(v.pop(),R&&v.push("")):R&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const k=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&k.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),k=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),H=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function b(y,S){if(j.isArray(S))for(let A=0;A{if(Object.keys(y).some(A=>"accept"===A.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},y)},T.parseLinkHeader=y=>{const S={},A=y.match(H);for(let z=0;z{if(!(j.isString(y)||j.isArray(y)&&y.every(A=>j.isString(A)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&T.asArray(y["@default"]).every(A=>j.isString(A)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},T.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const A=y[S];return!j.isArray(A)||A.length>0}return!1},T.hasValue=(y,S,A)=>{if(T.hasProperty(y,S)){let z=y[S];const P=W.isList(z);if(j.isArray(z)||P){P&&(z=z["@list"]);for(let X=0;X{if("propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1),"valueIsArray"in z||(z.valueIsArray=!1),"allowDuplicate"in z||(z.allowDuplicate=!0),"prependValue"in z||(z.prependValue=!1),z.valueIsArray)y[S]=A;else if(j.isArray(A)){0===A.length&&z.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),z.prependValue&&(A=A.concat(y[S]),y[S]=[]);for(let P=0;P[].concat(y[S]||[]),T.removeProperty=(y,S)=>{delete y[S]},T.removeValue=(y,S,A,z)=>{"propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1);const P=T.getValues(y,S).filter(X=>!T.compareValues(X,A));0===P.length?T.removeProperty(y,S):y[S]=1!==P.length||z.propertyIsArray?P:P[0]},T.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new k("_:b"),y),T.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],T.compareShortestLeast=(y,S)=>y.length1;const z=(K,E,$)=>{const Z=K[b].get(E);if(Z){const ae=Z.value;if(P(K,ae)){if(ue(K,Z),!K[H])return}else $&&(K[y]&&(Z.value.now=Date.now()),K[T].unshiftNode(Z));return ae.value}},P=(K,E)=>{if(!E||!E.maxAge&&!K[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:K[v]&&$>K[v]},X=K=>{if(K[k]>K[j])for(let E=K[T].tail;K[k]>K[j]&&null!==E;){const $=E.prev;ue(K,E),E=$}},ue=(K,E)=>{if(E){const $=E.value;K[C]&&K[C]($.key,$.value),K[k]-=$.length,K[b].delete($.key),K[T].removeNode(E)}};class I{constructor(E,$,Z,ae,oe){this.key=E,this.value=$,this.length=Z,this.now=ae,this.maxAge=oe||0}}const O=(K,E,$,Z)=>{let ae=$.value;P(K,ae)&&(ue(K,$),K[H]||(ae=void 0)),ae&&E.call(Z,ae.value,ae.key,K)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[H]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[C]=E.dispose,this[R]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,X(this)}get max(){return this[j]}set allowStale(E){this[H]=!!E}get allowStale(){return this[H]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,X(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[k]=0,this[T].forEach($=>{$.length=this[Q]($.value,$.key),this[k]+=$.length})),X(this)}get lengthCalculator(){return this[Q]}get length(){return this[k]}get itemCount(){return this[T].length}rforEach(E,$){$=$||this;for(let Z=this[T].tail;null!==Z;){const ae=Z.prev;O(this,E,Z,$),Z=ae}}forEach(E,$){$=$||this;for(let Z=this[T].head;null!==Z;){const ae=Z.next;O(this,E,Z,$),Z=ae}}keys(){return this[T].toArray().map(E=>E.key)}values(){return this[T].toArray().map(E=>E.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(E=>this[C](E.key,E.value)),this[b]=new Map,this[T]=new W,this[k]=0}dump(){return this[T].map(E=>!P(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[T]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const ae=Z?Date.now():0,oe=this[Q]($,E);if(this[b].has(E)){if(oe>this[j])return ue(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[C]&&(this[R]||this[C](E,me.value)),me.now=ae,me.maxAge=Z,me.value=$,this[k]+=oe-me.length,me.length=oe,this.get(E),X(this),!0}const te=new I(E,$,oe,ae,Z);return te.length>this[j]?(this[C]&&this[C](E,$),!1):(this[k]+=te.length,this[T].unshift(te),this[b].set(E,this[T].head),X(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!P(this,$)}get(E){return z(this,E,!0)}peek(E){return z(this,E,!1)}pop(){const E=this[T].tail;return E?(ue(this,E),E.value):null}del(E){ue(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const ae=E[Z],oe=ae.e||0;if(0===oe)this.set(ae.k,ae.v);else{const te=oe-$;te>0&&this.set(ae.k,ae.v,te)}}}prune(){this[b].forEach((E,$)=>z(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",k="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${k}reify#forSome`,forAll:`${k}reify#forAll`},log:{implies:`${k}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function I(ne,ye){if(ye=ye||b,!ne)return ye.defaultGraph();switch(ne[0]){case"?":return ye.variable(ne.substr(1));case"_":return ye.blankNode(ne.substr(2));case'"':if(ye===b)return new z(ne);if('"'===ne[ne.length-1])return ye.literal(ne.substr(1,ne.length-2));const Oe=ne.lastIndexOf('"',ne.length-1);return ye.literal(ne.substr(1,Oe-1),"@"===ne[Oe+1]?ne.substr(Oe+2):ye.namedNode(ne.substr(Oe+3)));case"<":const $e=T.exec(ne);return ye.quad(I($($e[1]),ye),I($($e[2]),ye),I($($e[3]),ye),$e[4]&&I($($e[4]),ye));default:return ye.namedNode(ne)}},he.termToId=function O(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==H.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(O(ne.subject))} ${E(O(ne.predicate))} ${E(O(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${O(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:H}=W.default;let v,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new A(ne)},blankNode:function(ne){return new P(ne||"n3-"+C++)},variable:function(ne){return new X(ne)},literal:function(ne,ye){if("string"==typeof ye)return new z(`"${ne}"@${ye.toLowerCase()}`);let Oe=ye?ye.value:"";return""===Oe&&("boolean"==typeof ne?Oe=H.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Oe=Number.isInteger(ne)?H.integer:H.double:(Oe=H.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new z(""===Oe||Oe===H.string?`"${ne}"`:`"${ne}"^^${Oe}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(ye){this.id=ye}get value(){return this.id}equals(ye){return ye instanceof S?this.id===ye.id:!!ye&&this.termType===ye.termType&&this.value===ye.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class A extends S{get termType(){return"NamedNode"}}he.NamedNode=A;class z extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ye=this.id;let Oe=ye.lastIndexOf('"')+1;return Oe`"${Oe.replace(/"/g,'""')}`)}function $(ne){return ne.replace(R,(ye,Oe)=>`"${Oe.replace(/""/g,'"')}`)}function me(ne,ye,Oe,$e){return new K(ne,ye,Oe,$e)}he.Triple=he.Quad=K},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),k=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:H}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(A){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(A=A||{}).lineMode){this._n3Mode=!1;for(const z in this)!(z in T)&&this[z]instanceof RegExp&&(this[z]=b)}else this._n3Mode=!1!==A.n3;this._comments=!!A.comments,this._literalClosingPos=0}_tokenizeToEnd(A,z){let P=this._input,X=P.length;for(;;){let O,K;for(;O=this._newline.exec(P);)this._comments&&(K=this._comment.exec(O[0]))&&ue("comment",K[1],"",this._line,O[0].length),P=P.substr(O[0].length,P.length),X=P.length,this._line++;if(!O&&(O=this._whitespace.exec(P))&&(P=P.substr(O[0].length,P.length)),this._endOfFile.test(P))return z&&(this._comments&&(K=this._comment.exec(P))&&ue("comment",K[1],"",this._line,P.length),P=null,ue("eof","","",this._line,0)),this._input=P;const E=this._line,$=P[0];let Z="",ae="",oe="",te=null,Te=0,me=!1;switch($){case"^":if(P.length<3)break;if("^"!==P[1]){this._n3Mode&&(Te=1,Z="^");break}if(this._previousMarker="^^",P=P.substr(2),"<"!==P[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(P))Z="IRI",ae=te[1];else if(te=this._iri.exec(P)){if(ae=this._unescape(te[1]),null===ae||R.test(ae))return I(this);Z="IRI"}else P.length>1&&"<"===P[1]?(Z="<<",Te=2):this._n3Mode&&P.length>1&&"="===P[1]&&(Z="inverse",Te=2,ae=">");break;case">":P.length>1&&">"===P[1]&&(Z=">>",Te=2);break;case"_":((te=this._blank.exec(P))||z&&(te=this._blank.exec(`${P} `)))&&(Z="blank",oe="_",ae=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(P))&&(Z="var",ae=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(P))?(Z="langcode",ae=te[1]):(te=this._keyword.exec(P))&&(Z=te[0]);break;case".":if(1===P.length?z:P[1]<"0"||P[1]>"9"){Z=".",Te=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(P)||z&&(te=this._number.exec(`${P} `)))&&(Z="literal",ae=te[0],oe="string"==typeof te[1]?H.double:"string"==typeof te[2]?H.decimal:H.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(P))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(P))?(Z="literal",ae=te[0],oe=H.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(P))?(Z="abbreviation",ae="a"):me=!0;break;case"=":this._n3Mode&&P.length>1&&(Z="abbreviation",">"!==P[1]?(Te=1,ae="="):(Te=2,ae=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Te=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(P))?((te=this._prefixed.exec(P))||z&&(te=this._prefixed.exec(`${P} `)))&&(Z="prefixed",oe=te[1]||"",ae=this._unescape(te[2])):(Z="prefix",ae=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return z||!/^'''|^"""/.test(P)&&/\n|\r/.test(P)?I(this):this._input=P;const ne=Te||te[0].length,ye=ue(Z,ae,oe,E,ne);this.previousToken=ye,this._previousMarker=Z,P=P.substr(ne,P.length)}function ue(O,K,E,$,Z){const ae=P?X-P.length:X,te={type:O,value:K,prefix:E,line:$,start:ae,end:ae+Z};return A(null,te),te}function I(O){A(O._syntaxError(/^\S*/.exec(P)[0]))}}_unescape(A){let z=!1;const P=A.replace(v,(X,ue,I,O)=>{if("string"==typeof ue)return String.fromCharCode(Number.parseInt(ue,16));if("string"==typeof I){let K=Number.parseInt(I,16);return K<=65535?String.fromCharCode(Number.parseInt(I,16)):String.fromCharCode(55296+((K-=65536)>>10),56320+(1023&K))}return O in C?C[O]:(z=!0,"")});return z?null:P}_parseLiteral(A){if(A.length>=3){const z=A.match(/^(?:"""|"|'''|'|)/)[0],P=z.length;let X=Math.max(this._literalClosingPos,P);for(;(X=A.indexOf(z,X))>0;){let ue=0;for(;"\\"===A[X-ue-1];)ue++;if(ue%2==0){const I=A.substring(P,X),O=I.split(/\r\n|\r|\n/).length-1,K=X+P;if(1===P&&0!==O||3===P&&this._lineMode)break;return this._line+=O,{value:this._unescape(I),matchLength:K}}X++}this._literalClosingPos=A.length-P+1}return{value:"",matchLength:0}}_syntaxError(A){this._input=null;const z=new Error(`Unexpected "${A}" on line ${this._line}.`);return z.context={token:void 0,line:this._line,previousToken:this.previousToken},z}_readStartingBom(A){return A.startsWith("\ufeff")?A.substr(1):A}tokenize(A,z){if(this._line=1,"string"==typeof A){if(this._input=this._readStartingBom(A),"function"!=typeof z){const P=[];let X;if(this._tokenizeToEnd((ue,I)=>ue?X=ue:P.push(I),!0),X)throw X;return P}(0,k.default)(()=>this._tokenizeToEnd(z,!0))}else this._pendingBuffer=null,"function"==typeof A.setEncoding&&A.setEncoding("utf8"),A.on("data",P=>{null!==this._input&&0!==P.length&&(this._pendingBuffer&&(P=W.concat([this._pendingBuffer,P]),this._pendingBuffer=null),128&P[P.length-1]?this._pendingBuffer=P:(void 0===this._input?this._input=this._readStartingBom("string"==typeof P?P:P.toString()):this._input+=P,this._tokenizeToEnd(z,!1)))}),A.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(z,!0)}),A.on("error",z)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),k=Q(Y("./IRIs"));function Q(T){return T&&T.__esModule?T:{default:T}}let H=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&R(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),A=/trig/.test(y),z=/triple/.test(y),P=/quad/.test(y),X=this._n3Mode=/n3/.test(y),ue=z||P;(this._supportsNamedGraphs=!(S||X))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||A||z||X),this._supportsRDFStar=""===y||/star|\*$/.test(y),ue&&(this._resolveRelativeIRI=I=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ue,n3:X}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){H=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,A,z){const P=this._n3Mode;this._contextStack.push({subject:S,predicate:A,object:z,graph:y,type:b,inverse:!!P&&this._inversePredicate,blankPrefix:P?this._prefixes._:"",quantified:P?this._quantified:null}),P&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const A=this._resolveIRI(b.value);if(null===A)return this._error("Invalid IRI",b);S=this._namedNode(A);break;case"type":case"prefixed":const z=this._prefixes[b.prefix];if(void 0===z)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(z+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,A=this._readListItem;const z=this._subject,P=this._contextStack,X=P[P.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),A=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==P.length&&"list"===P[P.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(A=this._readPredicate,this._subject===this.RDF_NIL)return A}else if(A=this._getContextEndReader(),this._object===this.RDF_NIL)return A;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,A=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),A=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===z?null===X.predicate?X.subject=S:X.object=S:this._emit(z,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return A}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const A=this._subject,z=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,z&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==A){const P=this._predicate,X=this._object;z?this._emit(X,P,A,S):this._emit(A,P,X,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const A=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,A,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const A=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=A):(y=this._object,this._object=A),this._emit(y,S,A,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,A;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(A=this._subject,this._subject=y):(A=this._object,this._object=y),this._emit(y,S,A,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,A){this._callback(null,this._quad(b,y,S,A||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=C}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",A=-1,z=-1,P=0,X="/";for(;A=z&&(S=S.substr(0,P)),"/"!==X)return`${S}/${b.substr(A+1)}`;P=A+1}}}X=b[++A]}return S+b.substring(P)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${H++}_`,this._prefixCallback=S||C,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const A=[];let z;if(this._callback=(P,X)=>{P?z=P:X&&A.push(X)},this._lexer.tokenize(b).every(P=>this._readCallback=this._readCallback(P)),z)throw z;return A}this._callback=y,this._lexer.tokenize(b,(A,z)=>{null!==A?(this._callback(A),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(z))})}}function C(){}function R(T,b){const y=b.namedNode;T._namedNode=y,T._blankNode=b.blankNode,T._literal=b.literal,T._variable=b.variable,T._quad=b.quad,T.DEFAULTGRAPH=b.defaultGraph(),T.RDF_FIRST=y(k.default.rdf.first),T.RDF_REST=y(k.default.rdf.rest),T.RDF_NIL=y(k.default.rdf.nil),T.N3_FORALL=y(k.default.r.forAll),T.N3_FORSOME=y(k.default.r.forSome),T.ABBREVIATIONS={a:y(k.default.rdf.type),"=":y(k.default.owl.sameAs),">":y(k.default.log.implies)},T.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,R(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=H(y);if(S&&S.has(b))return S.get(b);var A={},z=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in b)if("default"!==P&&Object.prototype.hasOwnProperty.call(b,P)){var X=z?Object.getOwnPropertyDescriptor(b,P):null;X&&(X.get||X.set)?Object.defineProperty(A,P,X):A[P]=b[P]}return A.default=b,S&&S.set(b,A),A}(Y("./N3DataFactory")),j=Y("readable-stream"),k=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function H(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(H=function(A){return A?S:y})(b)}class C{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let A,z;for(const P in S)for(const X in A=S[P].subjects)for(const ue in z=A[X])y+=Object.keys(z[ue]).length;return this._size=y}_addToIndex(y,S,A,z){const P=y[S]||(y[S]={}),X=P[A]||(P[A]={}),ue=z in X;return ue||(X[z]=null),!ue}_removeFromIndex(y,S,A,z){const P=y[S],X=P[A];delete X[z];for(const ue in X)return;delete P[A];for(const ue in P)return;delete y[S]}*_findInIndex(y,S,A,z,P,X,ue,I){let O,K,E;const Z=!S+!A+!z>1?Object.keys(this._ids):this._entities,ae=(0,W.termFromId)(I,this._factory);S&&((O=y,y={})[S]=O[S]);for(const oe in y){const te=Z[oe];if(K=y[oe]){A&&((O=K,K={})[A]=O[A]);for(const Te in K){const me=Z[Te];if(E=K[Te]){const ne=z?z in E?[z]:[]:Object.keys(E);for(let ye=0;ye{A in S||(S[A]=!0,y((0,W.termFromId)(this._entities[A],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);let P=this._graphs[z];P||(P=this._graphs[z]={subjects:{},predicates:{},objects:{}},Object.freeze(P));const X=this._ids,ue=this._entities;y=X[y]||(X[ue[++this._id]=y]=this._id),S=X[S]||(X[ue[++this._id]=S]=this._id),A=X[A]||(X[ue[++this._id]=A]=this._id);const I=this._addToIndex(P.subjects,y,S,A);return this._addToIndex(P.predicates,S,A,y),this._addToIndex(P.objects,A,y,S),this._size=null,I}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);const P=this._ids,X=this._graphs;let ue,I,O;if(!((y=P[y])&&(S=P[S])&&(A=P[A])&&(ue=X[z])&&(I=ue.subjects[y])&&(O=I[S])&&A in O))return!1;for(y in this._removeFromIndex(ue.subjects,y,S,A),this._removeFromIndex(ue.predicates,S,A,y),this._removeFromIndex(ue.objects,A,y,S),null!==this._size&&this._size--,ue.subjects)return!0;return delete X[z],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,A,z){const P=new j.Readable({objectMode:!0});return P._read=()=>{for(const X of this.readQuads(y,S,A,z))P.push(X);P.push(null)},this.remove(P)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,A,z){return[...this.readQuads(y,S,A,z)]}*readQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let ue,I,O,K;if(!(R(y)&&!(I=X[y])||R(S)&&!(O=X[S])||R(A)&&!(K=X[A])))for(const E in P)(ue=P[E])&&(I?K?yield*this._findInIndex(ue.objects,K,I,O,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,I,O,null,"subject","predicate","object",E,null,!0):O?yield*this._findInIndex(ue.predicates,O,K,null,"predicate","object","subject",E,null,!0):K?yield*this._findInIndex(ue.objects,K,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,A,z){return new T(this,y,S,A,z)}countQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let I,O,K,E,ue=0;if(R(y)&&!(O=X[y])||R(S)&&!(K=X[S])||R(A)&&!(E=X[A]))return 0;for(const $ in P)(I=P[$])&&(ue+=y?A?this._countInIndex(I.objects,E,O,K):this._countInIndex(I.subjects,O,K,E):S?this._countInIndex(I.predicates,K,E,O):this._countInIndex(I.objects,E,O,K));return ue}forEach(y,S,A,z,P){this.some(X=>(y(X),!1),S,A,z,P)}every(y,S,A,z,P){let X=!1;const ue=!this.some(I=>(X=!0,!y(I)),S,A,z,P);return X&&ue}some(y,S,A,z,P){for(const X of this.readQuads(S,A,z,P))if(y(X))return!0;return!1}getSubjects(y,S,A){const z=[];return this.forSubjects(P=>{z.push(P)},y,S,A),z}forSubjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.predicates,I,O,y):this._loopByKey1(ue.subjects,I,y):O?this._loopByKey0(ue.objects,O,y):this._loop(ue.subjects,y))}getPredicates(y,S,A){const z=[];return this.forPredicates(P=>{z.push(P)},y,S,A),z}forPredicates(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.objects,O,I,y):this._loopByKey0(ue.subjects,I,y):O?this._loopByKey1(ue.predicates,O,y):this._loop(ue.predicates,y))}getObjects(y,S,A){const z=[];return this.forObjects(P=>{z.push(P)},y,S,A),z}forObjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.subjects,I,O,y):this._loopByKey1(ue.objects,I,y):O?this._loopByKey0(ue.predicates,O,y):this._loop(ue.objects,y))}getGraphs(y,S,A){const z=[];return this.forGraphs(P=>{z.push(P)},y,S,A),z}forGraphs(y,S,A,z){for(const P in this._graphs)this.some(X=>(y(X.graph),!0),S,A,z,P)}createBlankNode(y){let S,A;if(y)for(S=y=`_:${y}`,A=1;this._ids[S];)S=y+A++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const A={},z=S?()=>!0:(ue,I)=>{throw new Error(`${ue.value} ${I}`)},P=this.getQuads(null,k.default.rdf.rest,k.default.rdf.nil,null),X=y?[...P]:[];return P.forEach(ue=>{const I=[];let K,E,O=!1;const $=ue.graph;let Z=ue.subject;for(;Z&&!O;){const ae=this.getQuads(null,null,Z,null),oe=this.getQuads(Z,null,null,null);let te,Te=null,me=null,ne=null;for(let ye=0;ye{switch(b){case"data":R=y;break;case"end":T=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{R(b),S()},this._flush=b=>{T(),b()}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var H,W=Y("readable-stream"),j=(H=Y("./N3Writer"))&&H.__esModule?H:{default:H};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new j.default({write:(R,T,b)=>{this.push(R),b&&b()},end:R=>{this.push(null),R&&R()}},v);this._transform=(R,T,b)=>{C.addQuad(R,b)},this._flush=R=>{C.end(R)}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),v.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return C(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=C,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function C(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const A=Object.create(null);for(const P in y)z(P,y[P]);function z(P,X){if("string"==typeof X){const ue=Object.create(null);A[P]=I=>ue[I]||(ue[I]=S.namedNode(X+I))}else if(!(P in A))throw new Error(`Unknown prefix: ${P}`);return A[P]}return S=S||W.default,z}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ue,W=(ue=Y("./IRIs"))&&ue.__esModule?ue:{default:ue},j=function(ue,I){if(!I&&ue&&ue.__esModule)return ue;if(null===ue||"object"!=typeof ue&&"function"!=typeof ue)return{default:ue};var O=Q(I);if(O&&O.has(ue))return O.get(ue);var K={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ue)if("default"!==$&&Object.prototype.hasOwnProperty.call(ue,$)){var Z=E?Object.getOwnPropertyDescriptor(ue,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(K,$,Z):K[$]=ue[$]}return K.default=ue,O&&O.set(ue,K),K}(Y("./N3DataFactory")),k=Y("./N3Util");function Q(ue){if("function"!=typeof WeakMap)return null;var I=new WeakMap,O=new WeakMap;return(Q=function(K){return K?O:I})(ue)}const C=j.default.defaultGraph(),{rdf:R,xsd:T}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class A extends j.Term{equals(){return!1}}function P(ue){let I=S[ue];return void 0===I&&(1===ue.length?(I=ue.charCodeAt(0).toString(16),I="\\u0000".substr(0,6-I.length)+I):(I=(1024*(ue.charCodeAt(0)-55296)+ue.charCodeAt(1)+9216).toString(16),I="\\U00000000".substr(0,10-I.length)+I)),I}function X(ue){return ue.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(I,O){if(this._prefixRegex=/$0^/,I&&"function"!=typeof I.write&&(O=I,I=null),this._lists=(O=O||{}).lists,I)this._outputStream=I,this._endStream=void 0===O.end||!!O.end;else{let K="";this._outputStream={write(E,$,Z){K+=E,Z&&Z()},end:E=>{E&&E(null,K)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(O.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),O.prefixes&&this.addPrefixes(O.prefixes),O.baseIRI&&(this._baseMatcher=new RegExp(`^${X(O.baseIRI)}${O.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=O.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(I,O){this._outputStream.write(I,"utf8",O)}_writeQuad(I,O,K,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),I.equals(this._subject)?O.equals(this._predicate)?this._write(`, ${this._encodeObject(K)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=I)} ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(I,O,K,E,$){delete this._prefixMatch,this._write(this.quadToString(I,O,K,E),$)}quadToString(I,O,K,E){return`${this._encodeSubject(I)} ${this._encodeIriOrBlank(O)} ${this._encodeObject(K)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(I){return I.map(O=>this.quadToString(O.subject,O.predicate,O.object,O.graph)).join("")}_encodeSubject(I){return"Quad"===I.termType?this._encodeQuad(I):this._encodeIriOrBlank(I)}_encodeIriOrBlank(I){if("NamedNode"!==I.termType)return this._lists&&I.value in this._lists&&(I=this.list(this._lists[I.value])),"id"in I?I.id:`_:${I.value}`;let O=I.value;this._baseMatcher&&this._baseMatcher.test(O)&&(O=O.substr(this._baseLength)),b.test(O)&&(O=O.replace(y,P));const K=this._prefixRegex.exec(O);return K?K[1]?this._prefixIRIs[K[1]]+K[2]:O:`<${O}>`}_encodeLiteral(I){let O=I.value;if(b.test(O)&&(O=O.replace(y,P)),I.language)return`"${O}"@${I.language}`;if(this._lineMode){if(I.datatype.value===T.string)return`"${O}"`}else switch(I.datatype.value){case T.string:return`"${O}"`;case T.boolean:if("true"===O||"false"===O)return O;break;case T.integer:if(/^[+-]?\d+$/.test(O))return O;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(O))return O;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(O))return O}return`"${O}"^^${this._encodeIriOrBlank(I.datatype)}`}_encodePredicate(I){return I.value===R.type?"a":this._encodeIriOrBlank(I)}_encodeObject(I){switch(I.termType){case"Quad":return this._encodeQuad(I);case"Literal":return this._encodeLiteral(I);default:return this._encodeIriOrBlank(I)}}_encodeQuad({subject:I,predicate:O,object:K,graph:E}){return`<<${this._encodeSubject(I)} ${this._encodePredicate(O)} ${this._encodeObject(K)}${(0,k.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(I,O,K,E,$){void 0===K?this._writeQuad(I.subject,I.predicate,I.object,I.graph,O):"function"==typeof E?this._writeQuad(I,O,K,C,E):this._writeQuad(I,O,K,E||C,$)}addQuads(I){for(let O=0;O.\n`)}if(K){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=X(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(K?"\n":"",O)}blank(I,O){let E,$,K=I;switch(void 0===I?K=[]:I.termType?K=[{predicate:I,object:O}]:"length"in I||(K=[I]),$=K.length){case 0:return new A("[]");case 1:if(E=K[0],!(E.object instanceof A))return new A(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let ae=0;ae<$;ae++)E=K[ae],E.predicate.equals(I)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(ae?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,I=E.predicate);return new A(`${Z}\n]`)}}list(I){const O=I&&I.length||0,K=new Array(O);for(let E=0;E{O=null,I(K,E)});if(this._endStream)try{return this._outputStream.end(O)}catch(K){}O&&O()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return R.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return k.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return R.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),k=y(Y("./N3Writer")),Q=y(Y("./N3Store")),H=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),C=b(Y("./N3Util"));he.Util=C;var R=b(Y("./N3DataFactory"));function T(A){if("function"!=typeof WeakMap)return null;var z=new WeakMap,P=new WeakMap;return(T=function(X){return X?P:z})(A)}function b(A,z){if(!z&&A&&A.__esModule)return A;if(null===A||"object"!=typeof A&&"function"!=typeof A)return{default:A};var P=T(z);if(P&&P.has(A))return P.get(A);var X={},ue=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in A)if("default"!==I&&Object.prototype.hasOwnProperty.call(A,I)){var O=ue?Object.getOwnPropertyDescriptor(A,I):null;O&&(O.get||O.set)?Object.defineProperty(X,I,O):X[I]=A[I]}return X.default=A,P&&P.set(A,X),X}function y(A){return A&&A.__esModule?A:{default:A}}he.default={Lexer:W.default,Parser:j.default,Writer:k.default,Store:Q.default,StreamParser:H.default,StreamWriter:v.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,k,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}function v(X){if(j===setTimeout)return setTimeout(X,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(X,0);try{return j(X,0)}catch(ue){try{return j.call(null,X,0)}catch(I){return j.call(this,X,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(X){j=Q}try{k="function"==typeof clearTimeout?clearTimeout:H}catch(X){k=H}}();var b,R=[],T=!1,y=-1;function S(){!T||!b||(T=!1,b.length?R=b.concat(R):y=-1,R.length&&A())}function A(){if(!T){var X=v(S);T=!0;for(var ue=R.length;ue;){for(b=R,R=[];++y1)for(var I=1;I(j||(j=Promise.resolve())).then(k).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class Nq{constructor(j,k=new Map,Q=0){this.prefix=j,this._existing=k,this.counter=Q}clone(){const{prefix:j,_existing:k,counter:Q}=this;return new Nq(j,new Map(k),Q)}getId(j){const k=j&&this._existing.get(j);if(k)return k;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(k){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===k)this.algorithm={name:"SHA-256"};else{if("sha1"!==k)throw new Error(`Unsupport algorithm "${k}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(k){this._content+=k}digest(){var k=this;return yt(function*(){const Q=(new TextEncoder).encode(k._content),H=new Uint8Array(yield W.subtle.digest(k.algorithm,Q));let v="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class nF{static parse(X){const ue=[],I={},O=X.split(T.eoln);let K=0;for(const E of O){if(K++,T.empty.test(E))continue;const $=E.match(T.quad);if(null===$)throw new Error("N-Quads parse error on line "+K+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:H,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:H,value:$[3]},void 0!==$[4]?Z.object={termType:H,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:C,value:void 0,datatype:{termType:H}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=k,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(A,function(X,ue,I,O){if(ue)switch(ue){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(I)return String.fromCharCode(parseInt(I,16));if(O)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:H,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:R,value:""},Z.graph.value in I){let ae=!0;const oe=I[Z.graph.value];for(const te of oe)if(b(te,Z)){ae=!1;break}ae&&(oe.push(Z),ue.push(Z))}else I[Z.graph.value]=[Z],ue.push(Z)}return ue}static serialize(X){Array.isArray(X)||(X=nF.legacyDatasetToQuads(X));const ue=[];for(const I of X)ue.push(nF.serializeQuad(I));return ue.sort().join("")}static serializeQuad(X){const ue=X.subject,O=X.object,K=X.graph;let E="";return E+=ue.termType===H?`<${ue.value}>`:`${ue.value}`,E+=` <${X.predicate.value}> `,O.termType===H?E+=`<${O.value}>`:O.termType===v?E+=O.value:(E+=`"${P=O.value,P.replace(y,function(X){switch(X){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,O.datatype.value===k?O.language&&(E+=`@${O.language}`):O.datatype.value!==Q&&(E+=`^^<${O.datatype.value}>`)),K.termType===H?E+=` <${K.value}>`:K.termType===v&&(E+=` ${K.value}`),E+=" .\n",E;var P}static legacyDatasetToQuads(X){const ue=[],I={"blank node":v,IRI:H,literal:C};for(const O in X)X[O].forEach(E=>{const $={};for(const Z in E){const ae=E[Z],oe={termType:I[ae.type],value:ae.value};oe.termType===C&&(oe.datatype={termType:H},"datatype"in ae&&(oe.datatype.value=ae.datatype),"language"in ae?("datatype"in ae||(oe.datatype.value=k),oe.language=ae.language):"datatype"in ae||(oe.datatype.value=Q)),$[Z]=oe}$.graph="@default"===O?{termType:R,value:""}:{termType:O.startsWith("_:")?v:H,value:O},ue.push($)});return ue}};const y=/["\\\n\r]/g;const A=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let k=0;kH)&&(b&&R>0&&T>j[R-1]||!b&&Rj[R+1])&&(H=T,v=R)}if(null===H)this.done=!0;else{const R=k.get(H)?v-1:v+1;j[v]=j[R],j[R]=H;for(const T of j)T>H&&k.set(T,!k.get(T))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),k=Y("./MessageDigest"),Q=Y("./Permuter"),H=Y("./NQuads");function v(C,R){return C.hashR.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return yt(function*(){T.quads=R;for(const X of R)T._addBlankNodeQuadInfo({quad:X,component:X.subject}),T._addBlankNodeQuadInfo({quad:X,component:X.object}),T._addBlankNodeQuadInfo({quad:X,component:X.graph});const b=new Map,y=[...T.blankNodeInfo.keys()];let S=0;for(const X of y)++S%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:X,hashToBlankNodes:b});const A=[...b.keys()].sort(),z=[];for(const X of A){const ue=b.get(X);ue.length>1?z.push(ue):T.canonicalIssuer.getId(ue[0])}for(const X of z){const ue=[];for(const I of X){if(T.canonicalIssuer.hasId(I))continue;const O=new j("_:b");O.getId(I);const K=yield T.hashNDegreeQuads(I,O);ue.push(K)}ue.sort(v);for(const I of ue){const O=I.issuer.getOldIds();for(const K of O)T.canonicalIssuer.getId(K)}}const P=[];for(const X of T.quads){const ue=ot({},X);ue.subject=T._useCanonicalId({component:ue.subject}),ue.object=T._useCanonicalId({component:ue.object}),ue.graph=T._useCanonicalId({component:ue.graph}),P.push(H.serializeQuad(ue))}return P.sort(),P.join("")})()}hashFirstDegreeQuads(R){var T=this;return yt(function*(){const b=[],y=T.blankNodeInfo.get(R),S=y.quads;for(const z of S){const P={subject:null,predicate:z.predicate,object:null,graph:null};P.subject=T.modifyFirstDegreeComponent(R,z.subject,"subject"),P.object=T.modifyFirstDegreeComponent(R,z.object,"object"),P.graph=T.modifyFirstDegreeComponent(R,z.graph,"graph"),b.push(H.serializeQuad(P))}b.sort();const A=new k(T.hashAlgorithm);for(const z of b)A.update(z);return y.hash=yield A.digest(),y.hash})()}hashRelatedBlankNode(R,T,b,y){var S=this;return yt(function*(){let A;A=S.canonicalIssuer.hasId(R)?S.canonicalIssuer.getId(R):b.hasId(R)?b.getId(R):S.blankNodeInfo.get(R).hash;const z=new k(S.hashAlgorithm);return z.update(y),"g"!==y&&z.update(S.getRelatedPredicate(T)),z.update(A),z.digest()})()}hashNDegreeQuads(R,T){var b=this;return yt(function*(){const y=new k(b.hashAlgorithm),S=yield b.createHashToRelated(R,T),A=[...S.keys()].sort();for(const z of A){y.update(z);let X,P="";const ue=new Q(S.get(z));let I=0;for(;ue.hasNext();){const O=ue.next();++I%3==0&&(yield b._yield());let K=T.clone(),E="";const $=[];let Z=!1;for(const ae of O)if(b.canonicalIssuer.hasId(ae)?E+=b.canonicalIssuer.getId(ae):(K.hasId(ae)||$.push(ae),E+=K.getId(ae)),0!==P.length&&E>P){Z=!0;break}if(!Z){for(const ae of $){const oe=yield b.hashNDegreeQuads(ae,K);if(E+=K.getId(ae),E+=`<${oe.hash}>`,K=oe.issuer,0!==P.length&&E>P){Z=!0;break}}Z||(0===P.length||E`}createHashToRelated(R,T){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(R).quads;let A=0;for(const z of S)++A%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:z,component:z.subject,position:"s",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.object,position:"o",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.graph,position:"g",id:R,issuer:T,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(R),S=T.get(y);S?S.push(R):T.set(y,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const b=T.value,y=this.blankNodeInfo.get(b);y?y.quads.add(R):this.blankNodeInfo.set(b,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:b,id:y,issuer:S,hashToRelated:A}){var z=this;return yt(function*(){if("BlankNode"!==T.termType||T.value===y)return;const P=T.value,X=yield z.hashRelatedBlankNode(P,R,S,b),ue=A.get(X);ue?ue.push(P):A.set(X,[P])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return yt(function*(){return new Promise(R=>W(R))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),k=Y("./Permuter"),Q=Y("./NQuads");function H(v,C){return v.hashC.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const A of C)this._addBlankNodeQuadInfo({quad:A,component:A.subject}),this._addBlankNodeQuadInfo({quad:A,component:A.object}),this._addBlankNodeQuadInfo({quad:A,component:A.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const A of T)this._hashAndTrackBlankNode({id:A,hashToBlankNodes:R});const b=[...R.keys()].sort(),y=[];for(const A of b){const z=R.get(A);z.length>1?y.push(z):this.canonicalIssuer.getId(z[0])}for(const A of y){const z=[];for(const P of A){if(this.canonicalIssuer.hasId(P))continue;const X=new W("_:b");X.getId(P);const ue=this.hashNDegreeQuads(P,X);z.push(ue)}z.sort(H);for(const P of z){const X=P.issuer.getOldIds();for(const ue of X)this.canonicalIssuer.getId(ue)}}const S=[];for(const A of this.quads){const z=ot({},A);z.subject=this._useCanonicalId({component:z.subject}),z.object=this._useCanonicalId({component:z.object}),z.graph=this._useCanonicalId({component:z.graph}),S.push(Q.serializeQuad(z))}return S.sort(),S.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),b=T.quads;for(const S of b){const A={subject:null,predicate:S.predicate,object:null,graph:null};A.subject=this.modifyFirstDegreeComponent(C,S.subject,"subject"),A.object=this.modifyFirstDegreeComponent(C,S.object,"object"),A.graph=this.modifyFirstDegreeComponent(C,S.graph,"graph"),R.push(Q.serializeQuad(A))}R.sort();const y=new j(this.hashAlgorithm);for(const S of R)y.update(S);return T.hash=y.digest(),T.hash}hashRelatedBlankNode(C,R,T,b){let y;y=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(R)),S.update(y),S.digest()}hashNDegreeQuads(C,R){const T=new j(this.hashAlgorithm),b=this.createHashToRelated(C,R),y=[...b.keys()].sort();for(const S of y){T.update(S);let z,A="";const P=new k(b.get(S));for(;P.hasNext();){const X=P.next();let ue=R.clone(),I="";const O=[];let K=!1;for(const E of X)if(this.canonicalIssuer.hasId(E)?I+=this.canonicalIssuer.getId(E):(ue.hasId(E)||O.push(E),I+=ue.getId(E)),0!==A.length&&I>A){K=!0;break}if(!K){for(const E of O){const $=this.hashNDegreeQuads(E,ue);if(I+=ue.getId(E),I+=`<${$.hash}>`,ue=$.issuer,0!==A.length&&I>A){K=!0;break}}K||(0===A.length||I`}createHashToRelated(C,R){const T=new Map,b=this.blankNodeInfo.get(C).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),b=R.get(T);b?b.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,b=this.blankNodeInfo.get(T);b?b.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==R.termType||R.value===b)return;const A=R.value,z=this.hashRelatedBlankNode(A,C,y,T),P=S.get(z);P?P.push(A):S.set(z,[A])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){var H=this;return yt(function*(){const v=new Map,C=H.blankNodeInfo.get(k).quads;let R=0;for(const T of C){let b,y;if("BlankNode"===T.subject.termType&&T.subject.value!==k)y=T.subject.value,b="p";else{if("BlankNode"!==T.object.termType||T.object.value===k)continue;y=T.object.value,b="r"}++R%100==0&&(yield H._yield());const S=yield H.hashRelatedBlankNode(y,T,Q,b),A=v.get(S);A?A.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){const H=new Map,v=this.blankNodeInfo.get(k).quads;for(const C of v){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==k)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===k)continue;T=C.object.value,R="r"}const b=this.hashRelatedBlankNode(T,C,Q,R),y=H.get(b);y?y.push(T):H.set(b,[T])}return H}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),k=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let H;try{H=Y("rdf-canonize-native")}catch(C){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(C){return C&&(H=C),H},v.canonize=function(){var C=yt(function*(R,T){if(Array.isArray(R)||(R=v.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!H)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>H.canonize(R,T,(S,A)=>S?y(S):b(A)))}if("URDNA2015"===T.algorithm)return new W(T).main(R);if("URGNA2012"===T.algorithm)return new j(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),v._canonizeSync=function(C,R){if(Array.isArray(C)||(C=v.NQuads.legacyDatasetToQuads(C)),R.useNative){if(H)return H.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new k(R).main(C);if("URGNA2012"===R.algorithm)return new Q(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(k){this.termType="BlankNode",this.value=k}equals(k){return!!k&&"BlankNode"===k.termType&&k.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),k=Y("./Literal"),Q=Y("./NamedNode"),H=Y("./Quad"),v=Y("./Variable");let C=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${C++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new k.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,A){return new H.Quad(b,y,S,A||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(k.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(k){return!!k&&"DefaultGraph"===k.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,H){this.termType="Literal",this.value=Q,"string"==typeof H?(this.language=H,this.datatype=j.RDF_LANGUAGE_STRING):H?(this.language="",this.datatype=H):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(k){this.termType="NamedNode",this.value=k}equals(k){return!!k&&"NamedNode"===k.termType&&k.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(k,Q,H,v){this.termType="Quad",this.value="",this.subject=k,this.predicate=Q,this.object=H,this.graph=v}equals(k){return!!k&&("Quad"===k.termType||!k.termType)&&this.subject.equals(k.subject)&&this.predicate.equals(k.predicate)&&this.object.equals(k.object)&&this.graph.equals(k.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(k){this.termType="Variable",this.value=k}equals(k){return!!k&&"Variable"===k.termType&&k.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(k,Q){const H=k.saxStream._parser;super(k.trackPosition?`Line ${H.line+1} column ${H.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),k=Y("stream"),Q=Y("./ParseError"),H=Y("rdf-data-factory");class v extends k.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new H.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,b){const y={};let S=!1;for(const z in T.attributes)z.startsWith("xmlns")&&(5===z.length?(S=!0,y[""]=T.attributes[z]):":"===z.charAt(5)&&(S=!0,y[z.substr(6)]=T.attributes[z]));const A=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?A.concat([y]):A}static expandPrefixedTerm(T,b,y){const S=T.indexOf(":");let A,z;S>=0?(A=T.substr(0,S),z=T.substr(S+1)):(A="",z=T);let P=null,X=null;for(let ue=b.length-1;ue>=0;ue--){const I=b[ue][A];if(I){P=I;break}X||(X=b[ue][""])}if(!P){if(A&&"xmlns"!==A)throw new Q.ParseError(y,`The prefix '${A}' in term '${T}' was not bound.`);P=X||""}return{prefix:A,local:z,uri:P}}static isValidIri(T){return v.IRI_REGEX.test(T)}import(T){const b=new k.PassThrough({readableObjectMode:!0});T.on("error",S=>y.emit("error",S)),T.on("data",S=>b.push(S)),T.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(T,b,y){try{this.saxStream.write(T,b)}catch(S){return y(S)}y()}newParseError(T){return new Q.ParseError(this,T)}valueToUri(T,b){return this.uriToNamedNode(W.resolve(T,b.baseIRI))}uriToNamedNode(T){if(!v.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!v.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=C.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const A=T.name;let z="";for(const I in T.attributes)z+=` ${I}="${T.attributes[I]}"`;b.childrenStringTags.push(`<${A}${z}>`);const ue={childrenStringTags:b.childrenStringTags};return ue.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ue)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(T,b),y===C.RESOURCE?this.onTagResource(T,S,b,!b):this.onTagProperty(T,S,b)}onTagResource(T,b,y,S){const A=v.expandPrefixedTerm(T.name,b.ns,this);b.childrenParseType=C.PROPERTY;let z=!0;if(A.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(A.local)>=0)throw this.newParseError(`Illegal node element name: ${A.local}`);switch(A.local){case"RDF":b.childrenParseType=C.RESOURCE;case"Description":z=!1}}const P=[],X=[];let ue=null,I=!1,O=!1,K=null;for(const E in T.attributes){const $=T.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);ue=$;continue;case"ID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue="#"+$,I=!0;continue;case"nodeID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue=$,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":K=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(P.push(this.uriToNamedNode(Z.uri+Z.local)),X.push($))}if(null!==ue&&(b.subject=O?this.dataFactory.blankNode(ue):this.valueToUri(ue,b),I&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),z){const E=this.uriToNamedNode(A.uri+A.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let A=!1,z=!1,P=null,X=!0;const ue=[],I=[];for(const O in T.attributes){const K=T.attributes[O],E=v.expandPrefixedTerm(O,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(P)throw this.newParseError(`Found both rdf:resource (${K}) and rdf:nodeID (${P}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${K})`);b.hadChildren=!0,P=K,X=!1;continue;case"datatype":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${K})`);b.datatype=this.valueToUri(K,b);continue;case"nodeID":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${K}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${K})`);this.validateNcname(K),b.hadChildren=!0,P=K,X=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(z)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(P)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${P})`);if("Resource"===K){A=!0,b.childrenParseType=C.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===K?(A=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,X=!1):"Literal"===K&&(A=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(K),b.reifiedStatementId=this.valueToUri("#"+K,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===K?null:K.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(A||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${K}`);b.hadChildren=!0,z=!0,ue.push(this.uriToNamedNode(E.uri+E.local)),I.push(this.dataFactory.literal(K,b.datatype||b.language))}}if(null!==P){const O=b.subject;b.subject=X?this.dataFactory.blankNode(P):this.valueToUri(P,b),this.emitTriple(O,b.predicate,b.subject,b.reifiedStatementId);for(let K=0;K/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var C,R;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=he.ParseType||(he.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function k(R,T,b){b||(b=Error);var S=function(A){function z(P,X,ue){return A.call(this,function(A,z,P){return"string"==typeof T?T:T(A,z,P)}(P,X,ue))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(z,A),z}(b);S.prototype.name=b.name,S.prototype.code=R,j[R]=S}function Q(R,T){if(Array.isArray(R)){var b=R.length;return R=R.map(function(y){return String(y)}),b>2?"one of ".concat(T," ").concat(R.slice(0,b-1).join(", "),", or ")+R[b-1]:2===b?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}k("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),k("ERR_INVALID_ARG_TYPE",function(R,T,b){var y,S;if("string"==typeof T&&function(R,T,b){return R.substr(!b||b<0?0:+b,T.length)===T}(T,"not ")?(y="must not be",T=T.replace(/^not /,"")):y="must be",function(R,T,b){return(void 0===b||b>R.length)&&(b=R.length),R.substring(b-T.length,b)===T}(R," argument"))S="The ".concat(R," ").concat(y," ").concat(Q(T,"type"));else{var A=function(R,T,b){return"number"!=typeof b&&(b=0),!(b+T.length>R.length)&&-1!==R.indexOf(T,b)}(R,".")?"property":"argument";S='The "'.concat(R,'" ').concat(A," ").concat(y," ").concat(Q(T,"type"))}return S+". Received type ".concat(typeof b)},TypeError),k("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),k("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),k("ERR_STREAM_PREMATURE_CLOSE","Premature close"),k("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),k("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),k("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),k("ERR_STREAM_WRITE_AFTER_END","write after end"),k("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),k("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),k("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var A in y)S.push(A);return S};Se.exports=R;var k=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(R,k);for(var H=j(Q.prototype),v=0;v0)if("string"!=typeof B&&!Ze.objectMode&&Object.getPrototypeOf(B)!==C.prototype&&(B=function(we){return C.from(we)}(B)),V)Ze.endEmitted?oe(we,new E):Oe(we,Ze,B,!0);else if(Ze.ended)oe(we,new O);else{if(Ze.destroyed)return!1;Ze.reading=!1,Ze.decoder&&!N?(B=Ze.decoder.write(B),Ze.objectMode||0!==B.length?Oe(we,Ze,B,!1):Ke(we,Ze)):Oe(we,Ze,B,!1)}else V||(Ze.reading=!1,Ke(we,Ze));return!Ze.ended&&(Ze.lengthB.highWaterMark&&(B.highWaterMark=function(we){return we>=st?we=st:(we--,we|=we>>>1,we|=we>>>2,we|=we>>>4,we|=we>>>8,we|=we>>>16,we++),we}(we)),we<=B.length?we:B.ended?B.length:(B.needReadable=!0,0))}function ze(we){var B=we._readableState;S("emitReadable",B.needReadable,B.emittedReadable),B.needReadable=!1,B.emittedReadable||(S("emitReadable",B.flowing),B.emittedReadable=!0,W.nextTick(Le,we))}function Le(we){var B=we._readableState;S("emitReadable_",B.destroyed,B.length,B.ended),!B.destroyed&&(B.length||B.ended)&&(we.emit("readable"),B.emittedReadable=!1),B.needReadable=!B.flowing&&!B.ended&&B.length<=B.highWaterMark,pe(we)}function Ke(we,B){B.readingMore||(B.readingMore=!0,W.nextTick(Me,we,B))}function Me(we,B){for(;!B.reading&&!B.ended&&(B.length0,B.resumeScheduled&&!B.paused?B.flowing=!0:we.listenerCount("data")>0&&we.resume()}function ke(we){S("readable nexttick read 0"),we.read(0)}function G(we,B){S("resume",B.reading),B.reading||we.read(0),B.resumeScheduled=!1,we.emit("resume"),pe(we),B.flowing&&!B.reading&&we.read(0)}function pe(we){var B=we._readableState;for(S("flow",B.flowing);B.flowing&&null!==we.read(););}function de(we,B){return 0===B.length?null:(B.objectMode?N=B.buffer.shift():!we||we>=B.length?(N=B.decoder?B.buffer.join(""):1===B.buffer.length?B.buffer.first():B.buffer.concat(B.length),B.buffer.clear()):N=B.buffer.consume(we,B.decoder),N);var N}function je(we){var B=we._readableState;S("endReadable",B.endEmitted),B.endEmitted||(B.ended=!0,W.nextTick(_t,B,we))}function _t(we,B){if(S("endReadableNT",we.endEmitted,we.length),!we.endEmitted&&0===we.length&&(we.endEmitted=!0,B.readable=!1,B.emit("end"),we.autoDestroy)){var N=B._writableState;(!N||N.autoDestroy&&N.finished)&&B.destroy()}}function pt(we,B){for(var N=0,V=we.length;N=B.highWaterMark:B.length>0)||B.ended))return S("read: emitReadable",B.length,B.ended),0===B.length&&B.ended?je(this):ze(this),null;if(0===(we=tt(we,B))&&B.ended)return 0===B.length&&je(this),null;var Re,V=B.needReadable;return S("need readable",V),(0===B.length||B.length-we0?de(we,B):null)?(B.needReadable=B.length<=B.highWaterMark,we=0):(B.length-=we,B.awaitDrain=0),0===B.length&&(B.ended||(B.needReadable=!0),N!==we&&B.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(we){oe(this,new K("_read()"))},ne.prototype.pipe=function(we,B){var N=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=we;break;case 1:V.pipes=[V.pipes,we];break;default:V.pipes.push(we)}V.pipesCount+=1,S("pipe count=%d opts=%j",V.pipesCount,B);var Ze=B&&!1===B.end||we===W.stdout||we===W.stderr?fs:kt;function Tt(Bs,Kr){S("onunpipe"),Bs===N&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,S("cleanup"),we.removeListener("close",Xr),we.removeListener("finish",Ls),we.removeListener("drain",In),we.removeListener("error",xi),we.removeListener("unpipe",Tt),N.removeListener("end",kt),N.removeListener("end",fs),N.removeListener("data",Mi),Nn=!0,V.awaitDrain&&(!we._writableState||we._writableState.needDrain)&&In())}function kt(){S("onend"),we.end()}V.endEmitted?W.nextTick(Ze):N.once("end",Ze),we.on("unpipe",Tt);var In=function(we){return function(){var N=we._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&H(we,"data")&&(N.flowing=!0,pe(we))}}(N);we.on("drain",In);var Nn=!1;function Mi(Bs){S("ondata");var Kr=we.write(Bs);S("dest.write",Kr),!1===Kr&&((1===V.pipesCount&&V.pipes===we||V.pipesCount>1&&-1!==pt(V.pipes,we))&&!Nn&&(S("false write response, pause",V.awaitDrain),V.awaitDrain++),N.pause())}function xi(Bs){S("onerror",Bs),fs(),we.removeListener("error",xi),0===H(we,"error")&&oe(we,Bs)}function Xr(){we.removeListener("finish",Ls),fs()}function Ls(){S("onfinish"),we.removeListener("close",Xr),fs()}function fs(){S("unpipe"),N.unpipe(we)}return N.on("data",Mi),function(we,B,N){if("function"==typeof we.prependListener)return we.prependListener(B,N);we._events&&we._events[B]?Array.isArray(we._events[B])?we._events[B].unshift(N):we._events[B]=[N,we._events[B]]:we.on(B,N)}(we,"error",xi),we.once("close",Xr),we.once("finish",Ls),we.emit("pipe",N),V.flowing||(S("pipe resume"),N.resume()),we},ne.prototype.unpipe=function(we){var B=this._readableState,N={hasUnpiped:!1};if(0===B.pipesCount)return this;if(1===B.pipesCount)return we&&we!==B.pipes||(we||(we=B.pipes),B.pipes=null,B.pipesCount=0,B.flowing=!1,we&&we.emit("unpipe",this,N)),this;if(!we){var V=B.pipes,Re=B.pipesCount;B.pipes=null,B.pipesCount=0,B.flowing=!1;for(var Ze=0;Ze0,!1!==V.flowing&&this.resume()):"readable"===we&&!V.endEmitted&&!V.readableListening&&(V.readableListening=V.needReadable=!0,V.flowing=!1,V.emittedReadable=!1,S("on readable",V.length,V.reading),V.length?ze(this):V.reading||W.nextTick(ke,this)),N},ne.prototype.removeListener=function(we,B){var N=v.prototype.removeListener.call(this,we,B);return"readable"===we&&W.nextTick(qe,this),N},ne.prototype.removeAllListeners=function(we){var B=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===we||void 0===we)&&W.nextTick(qe,this),B},ne.prototype.resume=function(){var we=this._readableState;return we.flowing||(S("resume"),we.flowing=!we.readableListening,function(we,B){B.resumeScheduled||(B.resumeScheduled=!0,W.nextTick(G,we,B))}(this,we)),we.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(we){var B=this,N=this._readableState,V=!1;for(var Re in we.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var Tt=N.decoder.end();Tt&&Tt.length&&B.push(Tt)}B.push(null)}),we.on("data",function(Tt){S("wrapped data"),N.decoder&&(Tt=N.decoder.write(Tt)),N.objectMode&&null==Tt||!(N.objectMode||Tt&&Tt.length)||B.push(Tt)||(V=!0,we.pause())}),we)void 0===this[Re]&&"function"==typeof we[Re]&&(this[Re]=function(kt){return function(){return we[kt].apply(we,arguments)}}(Re));for(var Ze=0;Ze-1))throw new Z(de);return this._writableState.defaultEncoding=de,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,de,je){je(new ue("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,de,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,de=null):"function"==typeof de&&(je=de,de=null),null!=pe&&this.write(pe,de),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,de,je){de.ending=!0,ke(pe,de),je&&(de.finished?W.nextTick(je):pe.once("finish",je)),de.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(de){!this._writableState||(this._writableState.destroyed=de)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,de){de(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function k(O,K,E){return K in O?Object.defineProperty(O,K,{value:E,enumerable:!0,configurable:!0,writable:!0}):O[K]=E,O}var Q=Y("./end-of-stream"),H=Symbol("lastResolve"),v=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(O,K){return{value:O,done:K}}function A(O){var K=O[H];if(null!==K){var E=O[y].read();null!==E&&(O[T]=null,O[H]=null,O[v]=null,K(S(E,!1)))}}function z(O){W.nextTick(A,O)}var X=Object.getPrototypeOf(function(){}),ue=Object.setPrototypeOf((k(j={get stream(){return this[y]},next:function(){var K=this,E=this[C];if(null!==E)return Promise.reject(E);if(this[R])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(oe,te){W.nextTick(function(){K[C]?te(K[C]):oe(S(void 0,!0))})});var Z,$=this[T];if($)Z=new Promise(function(O,K){return function(E,$){O.then(function(){K[R]?E(S(void 0,!0)):K[b](E,$)},$)}}($,this));else{var ae=this[y].read();if(null!==ae)return Promise.resolve(S(ae,!1));Z=new Promise(this[b])}return this[T]=Z,Z}},Symbol.asyncIterator,function(){return this}),k(j,"return",function(){var K=this;return new Promise(function(E,$){K[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),X);Se.exports=function(K){var E,$=Object.create(ue,(k(E={},y,{value:K,writable:!0}),k(E,H,{value:null,writable:!0}),k(E,v,{value:null,writable:!0}),k(E,C,{value:null,writable:!0}),k(E,R,{value:K._readableState.endEmitted,writable:!0}),k(E,b,{value:function(ae,oe){var te=$[y].read();te?($[T]=null,$[H]=null,$[v]=null,ae(S(te,!1))):($[H]=ae,$[v]=oe)},writable:!0}),E));return $[T]=null,Q(K,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var ae=$[v];return null!==ae&&($[T]=null,$[H]=null,$[v]=null,ae(Z)),void($[C]=Z)}var oe=$[H];null!==oe&&($[T]=null,$[H]=null,$[v]=null,oe(S(void 0,!0))),$[R]=!0}),K.on("readable",z.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(A,z){var P=Object.keys(A);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(A);z&&(X=X.filter(function(ue){return Object.getOwnPropertyDescriptor(A,ue).enumerable})),P.push.apply(P,X)}return P}function k(A,z,P){return z in A?Object.defineProperty(A,z,{value:P,enumerable:!0,configurable:!0,writable:!0}):A[z]=P,A}function H(A,z){for(var P=0;P0?this.tail.next=X:this.head=X,this.tail=X,++this.length}},{key:"unshift",value:function(P){var X={data:P,next:this.head};0===this.length&&(this.tail=X),this.head=X,++this.length}},{key:"shift",value:function(){if(0!==this.length){var P=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(0===this.length)return"";for(var X=this.head,ue=""+X.data;X=X.next;)ue+=P+X.data;return ue}},{key:"concat",value:function(P){if(0===this.length)return R.alloc(0);for(var X=R.allocUnsafe(P>>>0),ue=this.head,I=0;ue;)S(ue.data,X,I),I+=ue.data.length,ue=ue.next;return X}},{key:"consume",value:function(P,X){var ue;return PO.length?O.length:P;if(I+=K===O.length?O:O.slice(0,P),0==(P-=K)){K===O.length?(++ue,this.head=X.next?X.next:this.tail=null):(this.head=X,X.data=O.slice(K));break}++ue}return this.length-=ue,I}},{key:"_getBuffer",value:function(P){var X=R.allocUnsafe(P),ue=this.head,I=1;for(ue.data.copy(X),P-=ue.data.length;ue=ue.next;){var O=ue.data,K=P>O.length?O.length:P;if(O.copy(X,X.length-P,0,K),0==(P-=K)){K===O.length?(++I,this.head=ue.next?ue.next:this.tail=null):(this.head=ue,ue.data=O.slice(K));break}++I}return this.length-=I,X}},{key:y,value:function(P,X){return b(this,function(A){for(var z=1;z0,function(Z){ue||(ue=Z),Z&&I.forEach(T),!E&&(I.forEach(T),X(ue))})});return z.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,H,v,C){var R=function(Q,H,v){return null!=Q.highWaterMark?Q.highWaterMark:H?Q[v]:null}(H,C,v);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new W(C?v:"highWaterMark",R);return Math.floor(R)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var k in j)he.hasOwnProperty(k)||(he[k]=j[k])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(H){const v=[];let C=0;for(;CR.join("")).join("/")}function k(H,v){let C=v+1;v>=0?"/"===H[v+1]&&"/"===H[v+2]&&(C=v+3):"/"===H[0]&&"/"===H[1]&&(C=2);const R=H.indexOf("/",C);return R<0?H:H.substr(0,R)+j(H.substr(R))}function Q(H){return!H||"#"===H||"?"===H||"/"===H}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(H,v){const C=(v=v||"").indexOf("#");if(C>0&&(v=v.substr(0,C)),!H.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);return v}if(H.startsWith("?")){const z=v.indexOf("?");return z>0&&(v=v.substr(0,z)),v+H}if(H.startsWith("#"))return v+H;if(!v.length){const z=H.indexOf(":");if(z<0)throw new Error(`Found invalid relative IRI '${H}' for a missing baseIRI`);return k(H,z)}const R=H.indexOf(":");if(R>=0)return k(H,R);const T=v.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);const b=v.substr(0,T+1);if(0===H.indexOf("//"))return b+k(H,R);let y;if(v.indexOf("//",T)===T+1){if(y=v.indexOf("/",T+3),y<0)return v.length>T+3?v+"/"+k(H,R):b+k(H,R)}else if(y=v.indexOf("/",T+1),y<0)return b+k(H,R);if(0===H.indexOf("/"))return v.substr(0,y)+j(H);let S=v.substr(y);const A=S.lastIndexOf("/");return A>=0&&A"===de?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(de)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=de);continue;case te.SGML_DECL_QUOTED:de===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=de;continue;case te.DOCTYPE:">"===de?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=de,"["===de?G.state=te.DOCTYPE_DTD:$(de)&&(G.state=te.DOCTYPE_QUOTED,G.q=de));continue;case te.DOCTYPE_QUOTED:G.doctype+=de,de===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=de,"]"===de?G.state=te.DOCTYPE:$(de)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=de);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=de,de===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===de?G.state=te.COMMENT_ENDING:G.comment+=de;continue;case te.COMMENT_ENDING:"-"===de?(G.state=te.COMMENT_ENDED,G.comment=Oe(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+de,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==de?(Qe(G,"Malformed comment"),G.comment+="--"+de,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===de?G.state=te.CDATA_ENDING:G.cdata+=de;continue;case te.CDATA_ENDING:"]"===de?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+de,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===de?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===de?G.cdata+="]":(G.cdata+="]]"+de,G.state=te.CDATA);continue;case te.PROC_INST:"?"===de?G.state=te.PROC_INST_ENDING:E(de)?G.state=te.PROC_INST_BODY:G.procInstName+=de;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(de))continue;"?"===de?G.state=te.PROC_INST_ENDING:G.procInstBody+=de;continue;case te.PROC_INST_ENDING:">"===de?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+de,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ae(I,de)?G.tagName+=de:(tt(G),">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:(E(de)||Qe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===de?(Le(G,!0),Ke(G)):(Qe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(de))continue;">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===de?G.state=te.ATTRIB_VALUE:">"===de?(Qe(G,"Attribute without value"),G.attribValue=G.attribName,ze(G),Le(G)):E(de)?G.state=te.ATTRIB_NAME_SAW_WHITE:ae(I,de)?G.attribName+=de:Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===de)G.state=te.ATTRIB_VALUE;else{if(E(de))continue;Qe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===de?Le(G):ae(ue,de)?(G.attribName=de,G.state=te.ATTRIB_NAME):(Qe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(de))continue;$(de)?(G.q=de,G.state=te.ATTRIB_VALUE_QUOTED):(Qe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=de);continue;case te.ATTRIB_VALUE_QUOTED:if(de!==G.q){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=de;continue}ze(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(de)?G.state=te.ATTRIB:">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(Qe(G,"No whitespace between attributes"),G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(de)){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=de;continue}ze(G),">"===de?Le(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===de?Ke(G):ae(I,de)?G.tagName+=de:G.script?(G.script+=""===de?Ke(G):Qe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,we;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,we="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,we="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,we="attribValue"}";"===de?(G[we]+=Me(G),G.entity="",G.state=pt):ae(G.entity.length?K:O,de)?G.entity+=de:(Qe(G,"Invalid character in entity name"),G[we]+="&"+G.entity+de,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,de=0,je=k.length;deG)switch(k[de]){case"textNode":ye(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:$e(q,"Max buffer length exceeded: "+k[de])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){ye(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{R=Y("stream").Stream}catch(q){R=function(){}}var T=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);R.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(de){pe.emit("error",de),pe._parser.error=null},this._decoder=null,T.forEach(function(de){Object.defineProperty(pe,"on"+de,{get:function(){return pe._parser["on"+de]},set:function(je){if(!je)return pe.removeAllListeners(de),pe._parser["on"+de]=je,je;pe.on(de,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(R.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==T.indexOf(q)&&(pe._parser["on"+q]=function(){var de=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);de.splice(0,0,q),pe.emit.apply(pe,de)}),R.prototype.on.call(pe,q,G)};var z="http://www.w3.org/XML/1998/namespace",P="http://www.w3.org/2000/xmlns/",X={xml:z,xmlns:P},ue=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,I=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,K=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function ae(q,G){return q.test(G)}function oe(q,G){return!ae(q,G)}var q,G,pe,te=0;for(var Te in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Te]]=Te;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&ye(q),me(q,G,pe)}function ye(q){q.textNode=Oe(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Oe(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function $e(q,G){return ye(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Qe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&$e(q,"Unexpected end"),ye(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Qe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&$e(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Xe(q,G){var de=q.indexOf(":")<0?["",q]:q.split(":"),je=de[0],_t=de[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function ze(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Xe(q.attribName,!0),de=G.local;if("xmlns"===G.prefix)if("xml"===de&&q.attribValue!==z)Qe(q,"xml: prefix must be bound to "+z+"\nActual: "+q.attribValue);else if("xmlns"===de&&q.attribValue!==P)Qe(q,"xmlns: prefix must be bound to "+P+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[de]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function Le(q,G){if(q.opt.xmlns){var pe=q.tag,de=Xe(q.tagName);pe.prefix=de.prefix,pe.local=de.local,pe.uri=pe.ns[de.prefix]||"",pe.prefix&&!pe.uri&&(Qe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=de.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(In){ne(q,"onopennamespace",{prefix:In,uri:pe.ns[In]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var de=pe;G--&&q.tags[G].name!==de;)Qe(q,"Unexpected close tag");if(G<0)return Qe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var we={};for(var B in pt.ns)we[B]=pt.ns[B];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(V){ne(q,"onclosenamespace",{prefix:V,uri:pt.ns[V]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var de,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(de=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(de=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(de)||je.toLowerCase()!==G?(Qe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(de))}function Ue(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Qe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function qe(q,G){var pe="";return G1114111||G(V)!==V)throw RangeError("Invalid code point: "+V);V<=65535?je.push(V):je.push(55296+((V-=65536)>>10),V%1024+56320),(we+1===B||je.length>de)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(k,Q){"use strict";if(!k.setImmediate){var T,H=1,v={},C=!1,R=k.document,K=Object.getPrototypeOf&&Object.getPrototypeOf(k);K=K&&K.setTimeout?K:k,"[object process]"==={}.toString.call(k.process)?T=function(E){W.nextTick(function(){A(E)})}:function(){if(k.postMessage&&!k.importScripts){var E=!0,$=k.onmessage;return k.onmessage=function(){E=!1},k.postMessage("","*"),k.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===k&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&A(+Z.data.slice(E.length))},k.addEventListener?k.addEventListener("message",$,!1):k.attachEvent("onmessage",$),T=function(Z){k.postMessage(E+Z,"*")}):k.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){A($.data)},T=function($){E.port2.postMessage($)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var E=R.documentElement;T=function($){var Z=R.createElement("script");Z.onreadystatechange=function(){A($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():T=function(E){setTimeout(A,0,E)},K.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[H]={callback:E,args:$},T(H),H++},K.clearImmediate=y}var E,$;function y(E){delete v[E]}function A(E){if(C)setTimeout(A,0,E);else{var $=v[E];if($){C=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),C=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=k;var W=Y("events").EventEmitter;function k(){W.call(this)}Y("inherits")(k,W),k.Readable=Y("readable-stream/lib/_stream_readable.js"),k.Writable=Y("readable-stream/lib/_stream_writable.js"),k.Duplex=Y("readable-stream/lib/_stream_duplex.js"),k.Transform=Y("readable-stream/lib/_stream_transform.js"),k.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),k.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),k.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),k.Stream=k,k.prototype.pipe=function(Q,H){var v=this;function C(z){Q.writable&&!1===Q.write(z)&&v.pause&&v.pause()}function R(){v.readable&&v.resume&&v.resume()}v.on("data",C),Q.on("drain",R),!Q._isStdio&&(!H||!1!==H.end)&&(v.on("end",b),v.on("close",y));var T=!1;function b(){T||(T=!0,Q.end())}function y(){T||(T=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(z){if(A(),0===W.listenerCount(this,"error"))throw z}function A(){v.removeListener("data",C),Q.removeListener("drain",R),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",A),v.removeListener("close",A),Q.removeListener("close",A)}return v.on("error",S),Q.on("error",S),v.on("end",A),v.on("close",A),Q.on("close",A),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var k=Y("process/browser.js").nextTick,Q=Function.prototype.apply,H=Array.prototype.slice,v={},C=0;function R(T,b){this._id=T,this._clearFn=b}he.setTimeout=function(){return new R(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new R(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(T){T.close()},R.prototype.unref=R.prototype.ref=function(){},R.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(T,b){clearTimeout(T._idleTimeoutId),T._idleTimeout=b},he.unenroll=function(T){clearTimeout(T._idleTimeoutId),T._idleTimeout=-1},he._unrefActive=he.active=function(T){clearTimeout(T._idleTimeoutId);var b=T._idleTimeout;b>=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(T){var b=C++,y=!(arguments.length<2)&&H.call(arguments,1);return v[b]=!0,k(function(){v[b]&&(y?T.apply(null,y):T.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(T){delete v[T]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function k(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var H=W.localStorage[Q];return null!=H&&"true"===String(H).toLowerCase()}Se.exports=function(Q,H){if(k("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(k("throwDeprecation"))throw new Error(H);k("traceDeprecation")?console.trace(H):console.warn(H),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var C=this;if(C instanceof W||(C=new W),C.tail=null,C.head=null,C.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){C.push(b)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var b=0;null!==T;b++)R=v(R,T.value,b),T=T.next;return R},W.prototype.reduceReverse=function(v,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var b=this.length-1;null!==T;b--)R=v(R,T.value,b),T=T.prev;return R},W.prototype.toArray=function(){for(var v=new Array(this.length),C=0,R=this.head;null!==R;C++)v[C]=R.value,R=R.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),C=0,R=this.tail;null!==R;C++)v[C]=R.value,R=R.prev;return v},W.prototype.slice=function(v,C){(C=C||this.length)<0&&(C+=this.length),(v=v||0)<0&&(v+=this.length);var R=new W;if(Cthis.length&&(C=this.length);for(var T=0,b=this.head;null!==b&&Tthis.length&&(C=this.length);for(var T=this.length,b=this.tail;null!==b&&T>C;T--)b=b.prev;for(;null!==b&&T>v;T--,b=b.prev)R.push(b.value);return R},W.prototype.splice=function(v,C,...R){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var T=0,b=this.head;null!==b&&T{"use strict";Ut.exports=et,Ut.exports.default=et;var it=1e20;function et(Y,Se,he,W,j,k){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=k||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,H=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(H*H),this.gridInner=new Float64Array(H*H),this.f=new Float64Array(H),this.z=new Float64Array(H+1),this.v=new Uint16Array(H),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Dt(Y,Se,he,W,j,k){for(var Q=0;Q-1);k[++v]=H,Q[v]=C,Q[v+1]=it}for(H=0,v=0;H{Ut.exports=function(et,yt){var ee=yt.length;if(0!==ee){var Dt=et.length;et.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Dt=yt||(yt={})).typeOfFunction="function",Dt.boolTrue=!0,yt;var Dt})();function ee(Dt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},7266:(Ut,it,et)=>{Ut.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Ut,it,et){"use strict";var yt,ee,Dt;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Dt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function k(I){I||(I=document.documentElement);var O=window.getComputedStyle(I,null).fontSize;return parseFloat(O)||16}function H(I,O){var K=O.split(/\d/),E=K[K.length-1];switch(O=parseFloat(O),E){case"px":return O;case"em":return O*k(I);case"rem":return O*k();case"vw":return O*document.documentElement.clientWidth/100;case"vh":return O*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return O*(0,Math["vmin"===E?"min":"max"])($,Z);default:return O}}function v(I,O){this.element=I;var K,E,$,Z,ae,oe,te,Te,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(K in $=function(I){if(!I.getBoundingClientRect)return{width:I.offsetWidth,height:I.offsetHeight};var O=I.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}(this.element),oe={},W[O])!W[O].hasOwnProperty(K)||(Z=H(this.element,(E=W[O][K]).value),ae="width"===E.property?$.width:$.height,te="","min"===E.mode&&ae>=Z&&(te+=E.value),"max"===E.mode&&ae<=Z&&(te+=E.value),oe[Te=E.mode+"-"+E.property]||(oe[Te]=""),te&&-1===(" "+oe[Te]+" ").indexOf(" "+te+" ")&&(oe[Te]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(oe[me[ne]]?this.element.setAttribute(me[ne],oe[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function C(I,O){I.elementQueriesSetupInformation||(I.elementQueriesSetupInformation=new v(I,O)),I.elementQueriesSensor||(I.elementQueriesSensor=new dt(I,function(){I.elementQueriesSetupInformation.call()}))}function R(I,O,K,E){if(void 0===W[I]){W[I]=[];var $=j.length;he.innerHTML+="\n"+I+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+I+" > .resize-sensor {min-width: "+$+"px;}",j.push(I)}W[I].push({mode:O,property:K,value:E})}function T(I){var O;if(document.querySelectorAll&&(O=I?I.querySelectorAll.bind(I):document.querySelectorAll.bind(document)),!O&&"undefined"!=typeof $$&&(O=$$),!O&&"undefined"!=typeof jQuery&&(O=jQuery),!O)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return O}function y(I){var O=[],K=[],E=[],$=0,Z=-1,ae=[];for(var oe in I.children)if(I.children.hasOwnProperty(oe)&&I.children[oe].tagName&&"img"===I.children[oe].tagName.toLowerCase()){O.push(I.children[oe]);var te=I.children[oe].getAttribute("min-width")||I.children[oe].getAttribute("data-min-width"),Te=I.children[oe].getAttribute("data-src")||I.children[oe].getAttribute("url");E.push(Te),K.push({minWidth:te}),te?I.children[oe].style.display="none":($=O.length-1,I.children[oe].style.display="block")}function ne(){var Oe,ye=!1;for(Oe in O)!O.hasOwnProperty(Oe)||K[Oe].minWidth&&I.offsetWidth>K[Oe].minWidth&&(ye=Oe);if(ye||(ye=$),Z!==ye)if(ae[ye])O[Z].style.display="none",O[ye].style.display="block",Z=ye;else{var $e=new Image;$e.onload=function(){O[ye].src=E[ye],O[Z].style.display="none",O[ye].style.display="block",ae[ye]=!0,Z=ye},$e.src=E[ye]}else O[ye].src=E[ye]}Z=$,I.resizeSensorInstance=new dt(I,ne),ne()}var A=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,z=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function P(I){var O,K,E,$;for(I=I.replace(/'/g,'"');null!==(O=A.exec(I));)for(K=O[1]+O[3],E=O[2];null!==($=z.exec(E));)R(K,$[1],$[2],$[3])}function X(I){var O="";if(I)if("string"==typeof I)(-1!==(I=I.toLowerCase()).indexOf("min-width")||-1!==I.indexOf("max-width"))&&P(I);else for(var K=0,E=I.length;K img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ue=!0);for(var O=0,K=document.styleSheets.length;O{var yt=et(3910),ee=et(9369),Dt=et(322);function dt(Q,H,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(H))throw new Error('graphology-shortest-path: the "'+H+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((H=""+H)==(v=""+v))return[H];var C=Q.inboundNeighbors.bind(Q),R=Q.outboundNeighbors.bind(Q),T={},b={};T[H]=null,b[v]=null;var A,z,P,X,ue,I,O,K,y=[H],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(A=y,y=[],ue=0,O=A.length;ue{Ut.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(re){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(re)}function et(re,fe){re.prototype=Object.create(fe.prototype),re.prototype.constructor=re,ee(re,fe)}function yt(re){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(re)}function ee(re,fe){return(ee=Object.setPrototypeOf||function(se,M){return se.__proto__=M,se})(re,fe)}function Dt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(re){return!1}}function dt(re,fe,se){return(dt=Dt()?Reflect.construct:function(M,L,J){var Ee=[null];Ee.push.apply(Ee,L);var Fe=new(Function.bind.apply(M,Ee));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(re){var fe="function"==typeof Map?new Map:void 0;return(Y=function(se){if(null===se||-1===Function.toString.call(se).indexOf("[native code]"))return se;if("function"!=typeof se)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(se))return fe.get(se);fe.set(se,L)}function L(){return dt(se,arguments,yt(this).constructor)}return L.prototype=Object.create(se.prototype,{constructor:{value:L,enumerable:!1,writable:!0,configurable:!0}}),ee(L,se)})(re)}function Se(re){if(void 0===re)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return re}var he=function(){for(var re=arguments[0],fe=1,se=arguments.length;fe0&&Ee.length>L&&!Ee.warned){Ee.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+Ee.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=re,nt.type=fe,nt.count=Ee.length,console&&console.warn&&console.warn(nt)}return re}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(re,fe,se){var M={fired:!1,wrapFn:void 0,target:re,type:fe,listener:se},L=I.bind(M);return L.listener=se,M.wrapFn=L,L}function K(re,fe,se){var M=re._events;if(void 0===M)return[];var L=M[fe];return void 0===L?[]:"function"==typeof L?se?[L.listener||L]:[L]:se?function(J){for(var Ee=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var Ee=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Ee.context=J,Ee}var Fe=L[re];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Pt=$(Fe,nt);for(se=0;se=0;J--)if(se[J]===fe||se[J].listener===fe){Ee=se[J].listener,L=J;break}if(L<0)return this;0===L?se.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(re,fe[M]);return this},A.prototype.listeners=function(re){return K(this,re,!0)},A.prototype.rawListeners=function(re){return K(this,re,!1)},A.listenerCount=function(re,fe){return"function"==typeof re.listenerCount?re.listenerCount(fe):E.call(re,fe)},A.prototype.listenerCount=E,A.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ae.prototype.next=function(){if(this.done)return{done:!0};var re=this._next();return re.done&&(this.done=!0),re},"undefined"!=typeof Symbol&&(ae.prototype[Symbol.iterator]=function(){return this}),ae.of=function(){var re=arguments,fe=re.length,se=0;return new ae(function(){return se>=fe?{done:!0}:{done:!1,value:re[se++]}})},ae.empty=function(){var re=new ae(null);return re.done=!0,re},ae.is=function(re){return re instanceof ae||"object"==typeof re&&null!==re&&"function"==typeof re.next};var oe=ae,te=function(re,fe){for(var se,M=arguments.length>1?fe:1/0,L=M!==1/0?new Array(M):[],J=0;;){if(J===M)return L;if((se=re.next()).done)return J!==fe?L.slice(0,J):L;L[J++]=se.value}},Te=function(re){function fe(se,M){var L;return(L=re.call(this)||this).name="GraphError",L.message=se||"",L.data=M||{},L}return et(fe,re),fe}(Y(Error)),me=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ne=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ye=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te);function Oe(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function $e(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(re,fe){this.key=re,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Qe(re,fe,se,M,L,J){this.key=fe,this.attributes=J,this.undirected=re,this.source=M,this.target=L,this.generatedKey=se}function tt(re,fe,se,M,L,J,Ee){var Fe,nt,Pt="out",We="in";if(fe&&(Pt=We="undirected"),re.multi){if(void 0===(nt=(Fe=J[Pt])[L])&&(nt=new Set,Fe[L]=nt),nt.add(se),M===L&&fe)return;void 0===(Fe=Ee[We])[M]&&(Fe[M]=nt)}else{if(J[Pt][L]=se,M===L&&fe)return;Ee[We][M]=se}}function Xe(re,fe,se){var M=re.multi,L=se.source,J=se.target,Ee=L.key,Fe=J.key,nt=L[fe?"undirected":"out"],Pt=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Pt][Ee]):We.delete(se)}else delete nt[Fe];M||delete J[Pt][Ee]}$e.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var ze=[{name:function(re){return"get".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes[L]}}},{name:function(re){return"get".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M){var L;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,Ee=""+arguments[1];if(!(L=W(this,J,Ee,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(Ee,'").'))}else if(!(L=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&L.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return L.attributes}}},{name:function(re){return"has".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes.hasOwnProperty(L)}}},{name:function(re){return"set".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J,this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"update".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J(Ee.attributes[L]),this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"remove".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return delete J.attributes[L],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:L}),this}}},{name:function(re){return"replace".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes=L,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(re){return"merge".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return he(J.attributes,L),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:L}),this}}}],Le=oe,Ke=function(){var re,fe=arguments,se=-1;return new Le(function M(){if(!re){if(++se>=fe.length)return{done:!0};re=fe[se]}var L=re.next();return L.done?(re=null,M()):L})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(re,fe){for(var se in fe)re.push(fe[se].key)}function qe(re,fe){for(var se in fe)fe[se].forEach(function(M){return re.push(M.key)})}function ke(re,fe,se){for(var M in re)if(M!==se){var L=re[M];fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)}}function q(re,fe,se){for(var M in re)M!==se&&re[M].forEach(function(L){return fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function G(re,fe,se){for(var M in re)if(M!==se){var L=re[M];if(fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey))return!0}return!1}function pe(re,fe,se){var M,L,J,Ee,Fe;for(var nt in re)if(nt!==se)for(M=re[nt].values();!0!==(L=M.next()).done;)if(Ee=(J=L.value).source,fe(J.key,J.attributes,Ee.key,(Fe=J.target).key,Ee.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function de(re,fe){var se=Object.keys(re),M=se.length,L=null,J=0;return new oe(function Ee(){var Fe;if(L){var nt=L.next();if(nt.done)return L=null,J++,Ee();Fe=nt.value}else{if(J>=M)return{done:!0};var Pt=se[J];if(Pt===fe)return J++,Ee();if((Fe=re[Pt])instanceof Set)return L=Fe.values(),Ee();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(re,fe,se){var M=fe[se];M&&re.push(M.key)}function _t(re,fe,se){var M=fe[se];M&&M.forEach(function(L){return re.push(L.key)})}function pt(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function we(re,fe,se){var M=re[fe];M&&M.forEach(function(L){return se(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function B(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;return se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(re,fe,se){var M=re[fe];if(M){for(var L,J,Ee=M.values();!0!==(L=Ee.next()).done;)if(se((J=L.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function V(re,fe){var se=re[fe];if(se instanceof Set){var M=se.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return oe.of([se.key,se.attributes,se.source.key,se.target.key,se.source.attributes,se.target.attributes])}function Re(re,fe){if(0===re.size)return[];if("mixed"===fe||fe===re.type)return"function"==typeof Array.from?Array.from(re._edges.keys()):te(re._edges.keys(),re._edges.size);for(var se,M,J=new Array("undirected"===fe?re.undirectedSize:re.directedSize),Ee="undirected"===fe,Fe=re._edges.values(),nt=0;!0!==(se=Fe.next()).done;)(M=se.value).undirected===Ee&&(J[nt++]=M.key);return J}function Ze(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey)}}function Tt(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;if(se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey))break}}function kt(re,fe){if(0===re.size)return oe.empty();var se="mixed"!==fe&&fe!==re.type,M="undirected"===fe,L=re._edges.values();return new oe(function(){for(var J,Ee;;){if((J=L.next()).done)return J;if(Ee=J.value,!se||Ee.undirected===M)break}return{value:[Ee.key,Ee.attributes,Ee.source.key,Ee.target.key,Ee.source.attributes,Ee.target.attributes],done:!1}})}function In(re,fe,se,M){var L=[],J=re?qe:Ue;return"undirected"!==fe&&("out"!==se&&J(L,M.in),"in"!==se&&J(L,M.out),!se&&M.directedSelfLoops>0&&L.splice(L.lastIndexOf(M.key),1)),"directed"!==fe&&J(L,M.undirected),L}function Nn(re,fe,se,M,L){var J=re?q:ke;"undirected"!==fe&&("out"!==se&&J(M.in,L),"in"!==se&&J(M.out,L,se?null:M.key)),"directed"!==fe&&J(M.undirected,L)}function Yn(re,fe,se,M,L){var J=re?pe:G;"undirected"!==fe&&("out"!==se&&J(M.in,L)||"in"!==se&&J(M.out,L,se?null:M.key))||"directed"===fe||J(M.undirected,L)}function Mi(re,fe,se){var M=oe.empty();return"undirected"!==re&&("out"!==fe&&void 0!==se.in&&(M=Ke(M,de(se.in))),"in"!==fe&&void 0!==se.out&&(M=Ke(M,de(se.out,fe?null:se.key)))),"directed"!==re&&void 0!==se.undirected&&(M=Ke(M,de(se.undirected))),M}function xi(re,fe,se,M,L){var J=fe?_t:je,Ee=[];return"undirected"!==re&&(void 0!==M.in&&"out"!==se&&J(Ee,M.in,L),void 0!==M.out&&"in"!==se&&J(Ee,M.out,L),!se&&M.directedSelfLoops>0&&Ee.splice(Ee.lastIndexOf(M.key),1)),"directed"!==re&&void 0!==M.undirected&&J(Ee,M.undirected,L),Ee}function Xr(re,fe,se,M,L,J){var Ee=fe?we:pt;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J),M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J)),"directed"!==re&&void 0!==M.undirected&&Ee(M.undirected,L,J)}function Ls(re,fe,se,M,L,J){var Ee=fe?N:B;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J)||M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J,se?null:M.key))||"directed"===re||void 0===M.undirected||Ee(M.undirected,L,J)}function fs(re,fe,se,M){var L=oe.empty();return"undirected"!==re&&(void 0!==se.in&&"out"!==fe&&M in se.in&&(L=Ke(L,V(se.in,M))),void 0!==se.out&&"in"!==fe&&M in se.out&&(L=Ke(L,V(se.out,M)))),"directed"!==re&&void 0!==se.undirected&&M in se.undirected&&(L=Ke(L,V(se.undirected,M))),L}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(re,fe){if(void 0!==fe)for(var se in fe)re.add(se)}function xa(re,fe,se){if("mixed"!==re){if("undirected"===re)return Object.keys(se.undirected);if("string"==typeof fe)return Object.keys(se[fe])}var M=new Set;return"undirected"!==re&&("out"!==fe&&Kr(M,se.in),"in"!==fe&&Kr(M,se.out)),"directed"!==re&&Kr(M,se.undirected),te(M.values(),M.size)}function kl(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;se(Fe.key,Fe.attributes)}}function Sa(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;re.has(nt.key)||(re.add(nt.key),M(nt.key,nt.attributes))}}function ws(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;if(se(Fe.key,Fe.attributes))return!0}return!1}function en(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;if(!re.has(nt.key)&&(re.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function nl(re,fe){var se=Object.keys(fe),M=se.length,L=0;return new oe(function(){if(L>=M)return{done:!0};var J=fe[se[L++]];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===re?J.target:Ee;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(re,fe,se){var M=Object.keys(se),L=M.length,J=0;return new oe(function Ee(){if(J>=L)return{done:!0};var Fe=se[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return re.has(We.key)?Ee():(re.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(re,fe,se,M,L){var J=re._nodes.get(M);if("undirected"!==fe){if("out"!==se&&void 0!==J.in)for(var Ee in J.in)if(Ee===L)return!0;if("in"!==se&&void 0!==J.out)for(var Fe in J.out)if(Fe===L)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===L)return!0;return!1}function Be(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We=fe._nodes.values(),qt=fe.type;!0!==(M=We.next()).done;){if(L=M.value,"undirected"!==qt)for(J in Ee=L.out)if(nt=(Fe=Ee[J]).target,Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return;if("directed"!==qt)for(J in Ee=L.undirected)if((nt=(Fe=Ee[J]).target).key!==J&&(nt=Fe.source),Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return}}function ut(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We,qt,St=fe._nodes.values(),bn=fe.type;!0!==(M=St.next()).done;){if(L=M.value,"undirected"!==bn)for(J in nt=L.out)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if(We=(Pt=Fe.value).target,qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return;if("directed"!==bn)for(J in nt=L.undirected)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if((We=(Pt=Fe.value).target).key!==J&&(We=Pt.source),qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return}}function Je(re,fe){var se={key:re};return Q(fe.attributes)||(se.attributes=he({},fe.attributes)),se}function Mt(re,fe){var se={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(se.key=re),Q(fe.attributes)||(se.attributes=he({},fe.attributes)),fe.undirected&&(se.undirected=!0),se}function It(re){return k(re)?"key"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(re){return k(re)?"source"in re?"target"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?"undirected"in re&&"boolean"!=typeof re.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(re,fe,se){var M=new re.NodeDataClass(fe,se);return re._nodes.set(fe,M),re.emit("nodeAdded",{key:fe,attributes:se}),M}function yn(re,fe,se,M,L,J,Ee,Fe){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,Ee=""+Ee,Fe=Fe||{},!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=re._nodes.get(J),Pt=re._nodes.get(Ee);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Pt)throw new ne("Graph.".concat(fe,': target node "').concat(Ee,'" not found.'));var We={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(We)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));if(!re.multi&&(M?void 0!==nt.undirected[Ee]:void 0!==nt.out[Ee]))throw new ye("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(Ee,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new Qe(M,L,se,nt,Pt,Fe);return re._edges.set(L,qt),J===Ee?M?(nt.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(nt.directedSelfLoops++,re._directedSelfLoopCount++):M?(nt.undirectedDegree++,Pt.undirectedDegree++):(nt.outDegree++,Pt.inDegree++),tt(re,M,qt,J,Ee,nt,Pt),M?re._undirectedSize++:re._directedSize++,We.key=L,re.emit("edgeAdded",We),L}function Xn(re,fe,se,M,L,J,Ee,Fe,nt){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Pt;if(J=""+J,Ee=""+Ee,nt&&(Pt=Fe,Fe=void 0),!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,qt,St=re._nodes.get(J),bn=re._nodes.get(Ee);if(!se&&(We=re._edges.get(L))){if(We.source.key!==J||We.target.key!==Ee||M&&(We.source.key!==Ee||We.target.key!==J))throw new ye("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(L,'" edge with "').concat(J,'" source & "').concat(Ee,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));qt=We}if(qt||re.multi||!St||(qt=M?St.undirected[Ee]:St.out[Ee]),qt)return(nt?Pt:Fe)?(nt?(qt.attributes=Pt(qt.attributes),re.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(he(qt.attributes,Fe),re.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:Fe})),qt.key):qt.key;Fe=Fe||{},nt&&Pt&&(Fe=Pt(Fe));var Zr={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(Zr)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));return St||(St=Rn(re,J,{}),J===Ee&&(bn=St)),bn||(bn=Rn(re,Ee,{})),We=new Qe(M,L,se,St,bn,Fe),re._edges.set(L,We),J===Ee?M?(St.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(St.directedSelfLoops++,re._directedSelfLoopCount++):M?(St.undirectedDegree++,bn.undirectedDegree++):(St.outDegree++,bn.inDegree++),tt(re,M,We,J,Ee,St,bn),M?re._undirectedSize++:re._directedSize++,Zr.key=L,re.emit("edgeAdded",Zr),L}var re,Sn=function(re){function fe(M){var L;if(L=re.call(this)||this,(M=he({},ci,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Qt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,Ee="mixed"===M.type?Oe:"directed"===M.type?$e:st;return H(Se(L),"NodeDataClass",Ee),H(Se(L),"_attributes",{}),H(Se(L),"_nodes",new Map),H(Se(L),"_edges",new Map),H(Se(L),"_directedSize",0),H(Se(L),"_undirectedSize",0),H(Se(L),"_directedSelfLoopCount",0),H(Se(L),"_undirectedSelfLoopCount",0),H(Se(L),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),H(Se(L),"_options",M),zn.forEach(function(Fe){return H(Se(L),Fe,L[Fe])}),v(Se(L),"order",function(){return L._nodes.size}),v(Se(L),"size",function(){return L._edges.size}),v(Se(L),"directedSize",function(){return L._directedSize}),v(Se(L),"undirectedSize",function(){return L._undirectedSize}),v(Se(L),"selfLoopCount",function(){return L._directedSelfLoopCount+L._undirectedSelfLoopCount}),v(Se(L),"directedSelfLoopCount",function(){return L._directedSelfLoopCount}),v(Se(L),"undirectedSelfLoopCount",function(){return L._undirectedSelfLoopCount}),v(Se(L),"multi",L._options.multi),v(Se(L),"type",L._options.type),v(Se(L),"allowSelfLoops",L._options.allowSelfLoops),v(Se(L),"implementation",function(){return"graphology"}),L}et(fe,re);var se=fe.prototype;return se.hasNode=function(M){return this._nodes.has(""+M)},se.hasDirectedEdge=function(M,L){if("undirected"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&!Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasUndirectedEdge=function(M,L){if("directed"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasEdge=function(M,L){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){L=""+L;var Ee=this._nodes.get(M=""+M);if(!Ee)return!1;var Fe=void 0!==Ee.out&&Ee.out[L];return Fe||(Fe=void 0!==Ee.undirected&&Ee.undirected[L]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.directedEdge=function(M,L){if("undirected"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.directedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||void 0;return Ee?Ee.key:void 0}},se.undirectedEdge=function(M,L){if("directed"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.undirectedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.undirected&&J.undirected[L]||void 0;return Ee?Ee.key:void 0}},se.edge=function(M,L){if(this.multi)throw new ye("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");L=""+L;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.edge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||J.undirected&&J.undirected[L]||void 0;if(Ee)return Ee.key},se.inDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(L?J.directedSelfLoops:0)},se.outDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(L?J.directedSelfLoops:0)},se.directedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var Ee=L?J.directedSelfLoops:0;return J.inDegree+Ee+(J.outDegree+Ee)},se.undirectedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(L?J.undirectedSelfLoops:0)},se.degree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.degree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var Ee=0,Fe=0;return"directed"!==this.type&&(L&&(Fe=J.undirectedSelfLoops),Ee+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(L&&(Fe=J.directedSelfLoops),Ee+=J.inDegree+J.outDegree+2*Fe),Ee},se.source=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return L.source.key},se.target=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return L.target.key},se.extremities=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[L.source.key,L.target.key]},se.opposite=function(M,L){M=""+M;var J=this._edges.get(L=""+L);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(L,'" edge in the graph.'));var Ee=J.source.key,Fe=J.target.key;if(M!==Ee&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(L,'" edge (').concat(Ee,", ").concat(Fe,")."));return M===Ee?Fe:Ee},se.hasExtremity=function(M,L){L=""+L;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===L||J.target.key===L},se.isUndirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return L.undirected},se.isDirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!L.undirected},se.isSelfLoop=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return L.source===L.target},se.hasGeneratedKey=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return L.generatedKey},se.addNode=function(M,L){return function(J,Ee,Fe){if(Fe&&!k(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(Ee=""+Ee))throw new ye('Graph.addNode: the "'.concat(Ee,'" node already exist in the graph.'));var nt=new J.NodeDataClass(Ee,Fe);return J._nodes.set(Ee,nt),J.emit("nodeAdded",{key:Ee,attributes:Fe}),nt}(this,M,L).key},se.mergeNode=function(M,L){if(L&&!k(L))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(L,'"'));L=L||{};var J=this._nodes.get(M=""+M);return J?(L&&(he(J.attributes,L),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:L})),M):(J=new this.NodeDataClass(M,L),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:L}),M)},se.updateNode=function(M,L){if(L&&"function"!=typeof L)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(L,'"'));var J=this._nodes.get(M=""+M);if(J)return L&&(J.attributes=L(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=L?L({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},se.dropNode=function(M){var L=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(Ee){L.dropEdge(Ee)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},se.dropEdge=function(M){var L;if(arguments.length>1){var J=""+arguments[0],Ee=""+arguments[1];if(!(L=W(this,J,Ee,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(Ee,'" edge in the graph.'))}else if(!(L=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(L.key);var nt=L.source,Pt=L.target,We=L.attributes,qt=L.undirected;return nt===Pt?qt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):qt?(nt.undirectedDegree--,Pt.undirectedDegree--):(nt.outDegree--,Pt.inDegree--),Xe(this,qt,L),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Pt.key,undirected:qt}),this},se.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},se.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},se.getAttribute=function(M){return this._attributes[M]},se.getAttributes=function(){return this._attributes},se.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},se.setAttribute=function(M,L){return this._attributes[M]=L,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.updateAttribute=function(M,L){if("function"!=typeof L)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=L(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},se.replaceAttributes=function(M){if(!k(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},se.mergeAttributes=function(M){if(!k(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},se.getNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[L]},se.getNodeAttributes=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return L.attributes},se.hasNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(L)},se.setNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Ee.attributes[L]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.updateNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=Ee.attributes,nt=J(Fe[L]);return Fe[L]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.removeNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[L],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:L}),this},se.replaceNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=L,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},se.mergeNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,L),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:L}),this},se.updateEachNodeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachNodeAttributesUpdated",{hints:L||null})},se.updateEachEdgeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachEdgeAttributesUpdated",{hints:L||null})},se.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Be(!1,this,M)},se.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Be(!0,this,M)},se.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Pt=M.type,We="outer",qt=null,new oe(function St(){var bn;if("outer"===We)return!0===(bn=nt.next()).done?bn:(L=bn.value,We="directed",St());if("directed"===We)return"undirected"===Pt?(We="undirected",St()):(Ee=L.out,J=Object.keys(L.out),Fe=0,We="inner-directed",St());if("undirected"===We){if("directed"===Pt)return We="outer",St();Ee=L.undirected,J=Object.keys(L.undirected),Fe=0,We="inner-undirected"}if(!qt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",St();if(!qt){var Es=J[Fe++];return qt=Ee[Es].values(),St()}if((bn=qt.next()).done)return qt=null,St();var Zr=bn.value,Js=Zr.target;return"inner-undirected"===We&&Js.key===L.key&&(Js=Zr.source),{done:!1,value:[L.key,Js.key,L.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new oe(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(bn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=bn.out,Es=Object.keys(bn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=bn.undirected,Es=Object.keys(bn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var En=Es[Js++],po=Zr[En],Ll=po.target;return"inner-undirected"===Br&&Ll.key===bn.key&&(Ll=po.source),{done:!1,value:[bn.key,Ll.key,bn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,bn,Es,Zr,Js,Fl,fo,Br,M,L,J,Ee,Fe,nt,Pt,We,qt},se.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},se.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(L,J){M(J,L.attributes)})},se.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var L,J,Ee=this._nodes.values();!0!==(L=Ee.next())&&!M((J=L.value).key,J.attributes););},se.nodeEntries=function(){var M=this._nodes.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{value:[J.key,J.attributes],done:!1}})},se.exportNode=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Je(M,L)},se.exportEdge=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return Mt(M,L)},se.export=function(){var M=new Array(this._nodes.size),L=0;this._nodes.forEach(function(Ee,Fe){M[L++]=Je(Fe,Ee)});var J=new Array(this._edges.size);return L=0,this._edges.forEach(function(Ee,Fe){J[L++]=Mt(Fe,Ee)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},se.importNode=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=It(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Ee=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return L?this.mergeNode(Ee,nt):this.addNode(Ee,nt),this},se.importEdge=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Ot(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Ee=M.source,Fe=M.target,nt=M.attributes,Pt=void 0===nt?{}:nt,We=M.undirected,qt=void 0!==We&&We;return"key"in M?(L?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,Ee,Fe,Pt):(L?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Ee,Fe,Pt),this},se.import=function(M){var L,J,Ee,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!k(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!k(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(Ee=M.nodes,!Array.isArray(Ee))throw new me("Graph.import: invalid nodes. Expecting an array.");for(L=0,J=Ee.length;LJ)){var Pt=new Set;Pt.add(L.undirected[nt]),L.undirected[nt]=Pt,M._nodes.get(nt).undirected[J]=Pt}})),this;var M},se.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},se.toJSON=function(){return this.export()},se.toString=function(){return"[object Graph]"},se.inspect=function(){var M=this,L={};this._nodes.forEach(function(Pt,We){L[We]=Pt.attributes});var J={},Ee={};this._edges.forEach(function(Pt,We){var qt=Pt.undirected?"--":"->",St="",bn="(".concat(Pt.source.key,")").concat(qt,"(").concat(Pt.target.key,")");Pt.generatedKey?M.multi&&(void 0===Ee[bn]?Ee[bn]=0:Ee[bn]++,St+="".concat(Ee[bn],". ")):St+="[".concat(We,"]: "),J[St+=bn]=Pt.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=L,Fe.edges=J,H(Fe,"constructor",this.constructor),Fe},fe}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Sn.prototype.inspect),[{name:function(re){return"".concat(re,"Edge")},generateKey:!0},{name:function(re){return"".concat(re,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(re){return"".concat(re,"EdgeWithKey")}},{name:function(re){return"".concat(re,"DirectedEdgeWithKey")},type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(re){["add","merge","update"].forEach(function(fe){var se=re.name(fe),M="add"===fe?yn:Xn;Sn.prototype[se]=re.generateKey?function(L,J,Ee){return M(this,se,!0,"undirected"===(re.type||this.type),null,L,J,Ee,"update"===fe)}:function(L,J,Ee,Fe){return M(this,se,!1,"undirected"===(re.type||this.type),L,J,Ee,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.iterator]=Sn.prototype.adjacency),re=Sn,ze.forEach(function(fe){var se=fe.name,M=fe.attacher;M(re,se("Edge"),"mixed"),M(re,se("DirectedEdge"),"directed"),M(re,se("UndirectedEdge"),"undirected")}),function(re){Me.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Pt=this._nodes.get(Fe=""+Fe);if(void 0===Pt)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return In(this.multi,"mixed"===J?this.type:J,Ee,Pt)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" target node in the graph.'));return xi(J,this.multi,Ee,We,nt)}throw new me("Graph.".concat(L,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1);se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Ze(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Nn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Xr(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1)+"Until";se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Tt(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Ls(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var J=M.type,Ee=M.direction,Fe=M.name.slice(0,-1)+"Entries";se.prototype[Fe]=function(nt,Pt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return oe.empty();if(!arguments.length)return kt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Mi(J,Ee,We)}if(2===arguments.length){Pt=""+Pt;var qt=this._nodes.get(nt=""+nt);if(!qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return fs(J,Ee,qt,Pt)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(re,fe)})}(Sn),function(re){Bs.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Pt=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(L,': could not find the "').concat(Pt,'" node in the graph.'));return lt(this,J,Ee,nt,Pt)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return xa("mixed"===J?this.type:J,Ee,We)}throw new me("Graph.".concat(L,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1);re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return kl(qt,qt.undirected,St);if("string"==typeof We)return kl(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&Sa(bn,qt,qt.in,St),"in"!==We&&Sa(bn,qt,qt.out,St)),"directed"!==Pt&&Sa(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1)+"Until";re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return ws(qt,qt.undirected,St);if("string"==typeof We)return ws(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&en(bn,qt,qt.in,St)||"in"!==We&&en(bn,qt,qt.out,St))||"directed"===Pt||en(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var M=fe.type,L=fe.direction,J=fe.name.slice(0,-1)+"Entries";re.prototype[J]=function(Ee){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return oe.empty();var Fe=this._nodes.get(Ee=""+Ee);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));return function(nt,Pt,We){if("mixed"!==nt){if("undirected"===nt)return nl(We,We.undirected);if("string"==typeof Pt)return nl(We,We[Pt])}var qt=oe.empty(),St=new Set;return"undirected"!==nt&&("out"!==Pt&&(qt=Ke(qt,rt(St,We,We.in))),"in"!==Pt&&(qt=Ke(qt,rt(St,We,We.out)))),"directed"!==nt&&(qt=Ke(qt,rt(St,We,We.undirected))),qt}("mixed"===M?this.type:M,L,Fe)}}(re,fe)})}(Sn);var rr=function(re){function fe(se){var M=he({type:"directed"},se);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),sr=function(re){function fe(se){var M=he({type:"undirected"},se);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Qn=function(re){function fe(se){var M=he({multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return re.call(this,M)||this}return et(fe,re),fe}(Sn),qi=function(re){function fe(se){var M=he({type:"directed",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Ca=function(re){function fe(se){var M=he({type:"undirected",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn);function Qr(re){re.from=function(fe,se){var M=he({},fe.options,se),L=new re(M);return L.import(fe),L}}return Qr(Sn),Qr(rr),Qr(sr),Qr(Qn),Qr(qi),Qr(Ca),Sn.Graph=Sn,Sn.DirectedGraph=rr,Sn.UndirectedGraph=sr,Sn.MultiGraph=Qn,Sn.MultiDirectedGraph=qi,Sn.MultiUndirectedGraph=Ca,Sn.InvalidArgumentsGraphError=me,Sn.NotFoundGraphError=ne,Sn.UsageGraphError=ye,Sn}()},1524:(Ut,it,et)=>{var yt;!function(ee,Dt,dt,Y){"use strict";var T,Se=["","webkit","Moz","MS","ms","o"],he=Dt.createElement("div"),j=Math.round,k=Math.abs,Q=Date.now;function H(be,De,Ge){return setTimeout(A(be,Ge),De)}function v(be,De,Ge){return!!Array.isArray(be)&&(C(be,Ge[De],Ge),!0)}function C(be,De,Ge){var vt;if(be)if(be.forEach)be.forEach(De,Ge);else if(be.length!==Y)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),be.apply(this,arguments)}}T="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var Ge=Object(De),vt=1;vt-1}function K(be){return be.trim().split(/\s+/g)}function E(be,De,Ge){if(be.indexOf&&!Ge)return be.indexOf(De);for(var vt=0;vtxs[De]}):vt.sort()),vt}function ae(be,De){for(var Ge,vt,$t=De[0].toUpperCase()+De.slice(1),Xt=0;Xt1&&!Ge.firstMultiple?Ge.firstMultiple=Tt(De):1===$t&&(Ge.firstMultiple=!1);var Xt=Ge.firstInput,ui=Ge.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=De.center=kt(vt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Xt.timeStamp,De.angle=Mi(Vr,Jr),De.distance=Yn(Vr,Jr),function(be,De){var Ge=De.center,vt=be.offsetDelta||{},$t=be.prevDelta||{},Xt=be.prevInput||{};(1===De.eventType||4===Xt.eventType)&&($t=be.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=be.offsetDelta={x:Ge.x,y:Ge.y}),De.deltaX=$t.x+(Ge.x-vt.x),De.deltaY=$t.y+(Ge.y-vt.y)}(Ge,De),De.offsetDirection=Nn(De.deltaX,De.deltaY);var xs=In(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=k(xs.x)>k(xs.y)?xs.x:xs.y,De.scale=ui?function(be,De){return Yn(De[0],De[1],pt)/Yn(be[0],be[1],pt)}(ui.pointers,vt):1,De.rotation=ui?function(be,De){return Mi(De[1],De[0],pt)+Mi(be[1],be[0],pt)}(ui.pointers,vt):0,De.maxPointers=Ge.prevInput?De.pointers.length>Ge.prevInput.maxPointers?De.pointers.length:Ge.prevInput.maxPointers:De.pointers.length,function(be,De){var $t,Xt,ui,Vr,Ge=be.lastInterval||De,vt=De.timeStamp-Ge.timeStamp;if(8!=De.eventType&&(vt>25||Ge.velocity===Y)){var Jr=De.deltaX-Ge.deltaX,xs=De.deltaY-Ge.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=k(Zn.x)>k(Zn.y)?Zn.x:Zn.y,Vr=Nn(Jr,xs),be.lastInterval=De}else $t=Ge.velocity,Xt=Ge.velocityX,ui=Ge.velocityY,Vr=Ge.direction;De.velocity=$t,De.velocityX=Xt,De.velocityY=ui,De.direction=Vr}(Ge,De);var Zn=be.element;I(De.srcEvent.target,Zn)&&(Zn=De.srcEvent.target),De.target=Zn}(be,Ge),be.emit("hammer.input",Ge),be.recognize(Ge),be.session.prevInput=Ge}function Tt(be){for(var De=[],Ge=0;Ge=k(De)?be<0?2:4:De<0?8:16}function Yn(be,De,Ge){Ge||(Ge=_t);var vt=De[Ge[0]]-be[Ge[0]],$t=De[Ge[1]]-be[Ge[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(be,De,Ge){return Ge||(Ge=_t),180*Math.atan2(De[Ge[1]]-be[Ge[1]],De[Ge[0]]-be[Ge[0]])/Math.PI}we.prototype={handler:function(){},init:function(){this.evEl&&X(this.element,this.evEl,this.domHandler),this.evTarget&&X(this.target,this.evTarget,this.domHandler),this.evWin&&X(Te(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ue(this.element,this.evEl,this.domHandler),this.evTarget&&ue(this.target,this.evTarget,this.domHandler),this.evWin&&ue(Te(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,we.apply(this,arguments)}S(Kr,we,{handler:function(De){var Ge=Ls[De.type];1&Ge&&0===De.button&&(this.pressed=!0),2&Ge&&1!==De.which&&(Ge=4),this.pressed&&(4&Ge&&(this.pressed=!1),this.callback(this.manager,Ge,{pointers:[De],changedPointers:[De],pointerType:Qe,srcEvent:De}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:$e,3:"pen",4:Qe,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,we.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),S(en,we,{handler:function(De){var Ge=this.store,vt=!1,$t=De.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[De.pointerType]||De.pointerType,Vr=ui==$e,Jr=E(Ge,De.pointerId,"pointerId");1&Xt&&(0===De.button||Vr)?Jr<0&&(Ge.push(De),Jr=Ge.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Ge[Jr]=De,this.callback(this.manager,Xt,{pointers:Ge,changedPointers:[De],pointerType:ui,srcEvent:De}),vt&&Ge.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,we.apply(this,arguments)}function ge(be,De){var Ge=$(be.touches),vt=$(be.changedTouches);return 12&De&&(Ge=Z(Ge.concat(vt),"identifier",!0)),[Ge,vt]}S(ht,we,{handler:function(De){var Ge=nl[De.type];if(1===Ge&&(this.started=!0),this.started){var vt=ge.call(this,De,Ge);12&Ge&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Ge,{pointers:vt[0],changedPointers:vt[1],pointerType:$e,srcEvent:De})}}});var ve={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Be="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Be,this.targetIds={},we.apply(this,arguments)}function Je(be,De){var Ge=$(be.touches),vt=this.targetIds;if(3&De&&1===Ge.length)return vt[Ge[0].identifier]=!0,[Ge,Ge];var $t,Xt,ui=$(be.changedTouches),Vr=[],Jr=this.target;if(Xt=Ge.filter(function(xs){return I(xs.target,Jr)}),1===De)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(be){for(var De=be.srcEvent.clientX,Ge=be.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(be){return!!this.simultaneous[be.id]},emit:function(be){var De=this,Ge=this.state;function vt($t){De.manager.emit($t,be)}Ge<8&&vt(De.options.event+We(Ge)),vt(De.options.event),be.additionalEvent&&vt(be.additionalEvent),Ge>=8&&vt(De.options.event+We(Ge))},tryEmit:function(be){if(this.canEmit())return this.emit(be);this.state=32},canEmit:function(){for(var be=0;beDe.threshold&&$t&De.direction},attrTest:function(be){return bn.prototype.attrTest.call(this,be)&&(2&this.state||!(2&this.state)&&this.directionTest(be))},emit:function(be){this.pX=be.deltaX,this.pY=be.deltaY;var De=qt(be.direction);De&&(be.additionalEvent=this.options.event+De),this._super.emit.call(this,be)}}),S(Zr,bn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.scale-1)>this.options.threshold||2&this.state)},emit:function(be){1!==be.scale&&(be.additionalEvent=this.options.event+(be.scale<1?"in":"out")),this._super.emit.call(this,be)}}),S(Js,Pt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distanceDe.time;if(this._input=be,!vt||!Ge||12&be.eventType&&!$t)this.reset();else if(1&be.eventType)this.reset(),this._timer=H(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&be.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(be){8===this.state&&(be&&4&be.eventType?this.manager.emit(this.options.event+"up",be):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Fl,bn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.rotation)>this.options.threshold||2&this.state)}}),S(fo,bn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(be){var Ge,De=this.options.direction;return 30&De?Ge=be.overallVelocity:6&De?Ge=be.overallVelocityX:24&De&&(Ge=be.overallVelocityY),this._super.attrTest.call(this,be)&&De&be.offsetDirection&&be.distance>this.options.threshold&&be.maxPointers==this.options.pointers&&k(Ge)>this.options.velocity&&4&be.eventType},emit:function(be){var De=qt(be.offsetDirection);De&&this.manager.emit(this.options.event+De,be),this.manager.emit(this.options.event,be)}}),S(Br,Pt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Be=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Be.source),Je=/^\s+/,Mt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Sn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,re=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",bn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+fe+"]",Fl="["+Es+"]",fo="["+J+"]",Br="\\d+",Vs="["+Ee+"]",Ac="["+Fe+"]",En="[^"+fe+Es+Br+Ee+Fe+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+fe+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+St+"]",vt="(?:"+Ac+"|"+En+")",$t="(?:"+De+"|"+En+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+bn+"]?",T1=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,be].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,be].join("|")+")"+T1,tr="(?:"+[Ta+fo+"?",fo,Ed,be,Js].join("|")+")",fp=RegExp("['\u2019]","g"),i_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+tr+T1,"g"),rv=RegExp([De+"?"+Ac+"+"+Xt+"(?="+[Fl,De,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,De+vt,"$"].join("|")+")",De+"?"+vt+"+"+Xt,De+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),A1=RegExp("[\\u200d"+fe+J+bn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],M1=-1,rn={};rn[kt]=rn[In]=rn[Nn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[Qe]=rn[tt]=rn[Ze]=rn[ze]=rn[Tt]=rn[Le]=rn[Me]=rn[Ue]=rn[ke]=rn[q]=rn[pe]=rn[_t]=rn[pt]=rn[we]=rn[V]=!1;var or={};or[Qe]=or[tt]=or[Ze]=or[Tt]=or[ze]=or[Le]=or[kt]=or[In]=or[Nn]=or[Yn]=or[Mi]=or[ke]=or[q]=or[pe]=or[_t]=or[pt]=or[we]=or[B]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Me]=or[Ue]=or[V]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},D1=parseFloat,lv=parseInt,Nt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,zi=Nt||js||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,No=Aa&&Aa.exports===Vl,r_=No&&Nt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||r_&&r_.binding&&r_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(at,Rt,Ct){switch(Ct.length){case 0:return at.call(Rt);case 1:return at.call(Rt,Ct[0]);case 2:return at.call(Rt,Ct[0],Ct[1]);case 3:return at.call(Rt,Ct[0],Ct[1],Ct[2])}return at.apply(Rt,Ct)}function jr(at,Rt,Ct,dn){for(var Mn=-1,Bi=null==at?0:at.length;++Mn-1}function Ph(at,Rt,Ct){for(var dn=-1,Mn=null==at?0:at.length;++dn-1;);return Ct}function P1(at,Rt){for(var Ct=at.length;Ct--&&il(Rt,at[Ct],0)>-1;);return Ct}function rF(at,Rt){for(var Ct=at.length,dn=0;Ct--;)at[Ct]===Rt&&++dn;return dn}var sF=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),oF=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function aF(at){return"\\"+tn[at]}function Fh(at){return A1.test(at)}function uv(at){var Rt=-1,Ct=Array(at.size);return at.forEach(function(dn,Mn){Ct[++Rt]=[Mn,dn]}),Ct}function N1(at,Rt){return function(Ct){return at(Rt(Ct))}}function xu(at,Rt){for(var Ct=-1,dn=at.length,Mn=0,Bi=[];++Ct",""":'"',"'":"'"}),Bh=function at(Rt){var d,Ct=(Rt=null==Rt?zi:Bh.defaults(zi.Object(),Rt,Bh.pick(zi,Rh))).Array,dn=Rt.Date,Mn=Rt.Error,Bi=Rt.Function,es=Rt.Math,Xi=Rt.Object,d_=Rt.RegExp,h_=Rt.String,Ia=Rt.TypeError,dr=Ct.prototype,Su=Xi.prototype,gp=Rt["__core-js_shared__"],Sr=Bi.prototype.toString,Ki=Su.hasOwnProperty,fF=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,L1=Sr.call(Xi),f_=zi._,Dd=d_("^"+Sr.call(Ki).replace(Be,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=No?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,fv=zs?zs.allocUnsafe:ee,Oa=N1(Xi.getPrototypeOf,Xi),p_=Xi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,B1=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Xi,"defineProperty");return d({},"",{}),d}catch(p){}}(),pv=Rt.clearTimeout!==zi.clearTimeout&&Rt.clearTimeout,V1=dn&&dn.now!==zi.Date.now&&dn.now,j1=Rt.setTimeout!==zi.setTimeout&&Rt.setTimeout,Vt=es.ceil,Si=es.floor,mr=Xi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,g_=Rt.isFinite,Uh=dr.join,sl=N1(Xi.keys,Xi),zr=es.max,ps=es.min,pF=dn.now,U1=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Xi,"create"),Gh=Fo&&new Fo,Od={},z1=Lu(Cs),m_=Lu(mo),__=Lu(bp),gv=Lu(Ra),y_=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function xe(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Ki.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(p_)return p_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ye,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function Pa(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Na(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),F=!_&&gl(d),le=!_&&!F&&ml(d),Ae=!_&&!F&&!le&&df(d),He=_||F||le||Ae,Ye=He?Md(d.length,h_):[],ct=Ye.length;for(var Ft in d)(p||Ki.call(d,Ft))&&(!He||!("length"==Ft||le&&("offset"==Ft||"parent"==Ft)||Ae&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,ct)))&&Ye.push(Ft);return Ye}function E_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function bv(d,p){return qd(no(d),Au(p,0,d.length))}function Pd(d){return qd(no(d))}function x_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var F=d[p];(!Ki.call(d,p)||!Dn(F,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Nd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,F){return Pc(d,function(le,Ae,He){p(F,le,_(le),He)}),F}function Z1(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function S_(d,p){for(var _=-1,F=p.length,le=Ct(F),Ae=null==d;++_=p?d:p)),d}function Hs(d,p,_,F,le,Ae){var He,Ye=1&p,ct=2&p,Ft=4&p;if(_&&(He=le?_(d,F,le,Ae):_(d)),He!==ee)return He;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(He=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Ki.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!Ye)return no(d,He)}else{var Gt=$s(d),nn=Gt==Ue||Gt==qe;if(ml(d))return Pp(d,Ye);if(Gt==pe||Gt==Qe||nn&&!le){if(He=ct||nn?{}:zv(d),!Ye)return ct?function(d,p){return Fa(d,Vv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(He,d)):function(d,p){return Fa(d,j_(d),p)}(d,Z1(He,d))}else{if(!or[Gt])return le?d:{};He=function(d,p,_){var F=d.constructor;switch(p){case Ze:return Pu(d);case ze:case Le:return new F(+d);case Tt:return function(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Nn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return k_(d,_);case ke:return new F;case q:case we:return new F(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case pt:return new F;case B:return function(d){return Rd?Xi(Rd.call(d)):{}}(d)}}(d,Gt,Ye)}}Ae||(Ae=new Na);var vn=Ae.get(d);if(vn)return vn;Ae.set(d,He),bA(d)?d.forEach(function(Bn){He.add(Hs(Bn,p,_,Bn,d,Ae))}):gA(d)&&d.forEach(function(Bn,mi){He.set(mi,Hs(Bn,p,_,mi,d,Ae))});var gi=Lt?ee:(Ft?ct?B_:ql:ct?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(He,mi,Hs(Bn,p,_,mi,d,Ae))}),He}function Tp(d,p,_){var F=_.length;if(null==d)return!F;for(d=Xi(d);F--;){var le=_[F],He=d[le];if(He===ee&&!(le in d)||!(0,p[le])(He))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Se);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,F){var le=-1,Ae=jl,He=!0,Ye=d.length,ct=[],Ft=p.length;if(!Ye)return ct;_&&(p=Yi(p,ta(_))),F?(Ae=Ph,He=!1):p.length>=200&&(Ae=kh,He=!1,p=new Pa(p));e:for(;++le-1},zl.prototype.set=function(d,p){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,p])):_[F][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),F=_.size;return _.set(d,p),this.size+=_.size==F?0:1,this},Pa.prototype.add=Pa.prototype.push=function(d){return this.__data__.set(d,W),this},Pa.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new zl,this.size=0},Na.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var F=_.__data__;if(!mo||F.length<199)return F.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(F)}return _.set(d,p),this.size=_.size,this};var Pc=dl(cl),T_=dl(Ap,!0);function wv(d,p){var _=!0;return Pc(d,function(F,le,Ae){return _=!!p(F,le,Ae)}),_}function Kh(d,p,_){for(var F=-1,le=d.length;++F0&&_(Ye)?p>1?Ts(Ye,p-1,_,F,le):Ur(le,Ye):F||(le[le.length]=Ye)}return le}var kd=Iv(),Fd=Iv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,F=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Ki.call(d,p)}function Bd(d,p){return null!=d&&p in Xi(d)}function Mu(d,p,_){for(var F=_?Ph:jl,le=d[0].length,Ae=d.length,He=Ae,Ye=Ct(Ae),ct=1/0,Ft=[];He--;){var Lt=d[He];He&&p&&(Lt=Yi(Lt,ta(p))),ct=ps(Lt.length,ct),Ye[He]=!_&&(p||le>=120&&Lt.length>=120)?new Pa(He&&Lt):ee}Lt=d[0];var Gt=-1,nn=Ye[0];e:for(;++Gt=Ye?ct:ct*("desc"==_[F]?-1:1)}return d.index-p.index}(Ae,He,_)});Ct--;)at[Ct]=at[Ct].value;return at}(iT(d,function(Ae,He,Ye){return{criteria:Yi(p,function(Ft){return Ft(Ae)}),index:++F,value:Ae}}))}function Tv(d,p,_){for(var F=-1,le=p.length,Ae={};++F-1;)Ye!==d&&Ln.call(Ye,ct,1),Ln.call(d,ct,1);return d}function Jh(d,p){for(var _=d?p.length:0,F=_-1;_--;){var le=p[_];if(_==F||le!==Ae){var Ae=le;jo(le)?Ln.call(d,le,1):Iu(d,le)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Te)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(bT(d,p,so),d+"")}function sT(d){return E_(nh(d))}function xF(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,F){if(!Tr(d))return d;for(var le=-1,Ae=(p=Lc(p,d)).length,He=Ae-1,Ye=d;null!=Ye&&++lele?0:le+p),(_=_>le?le:_)<0&&(_+=le),le=p>_?0:_-p>>>0,p>>>=0;for(var Ae=Ct(le);++F>>1,He=d[Ae];null!==He&&!da(He)&&(_?He<=p:He=200){var Ft=p?null:L_(d);if(Ft)return l_(Ft);He=!1,le=kh,ct=new Pa}else ct=p?[]:Ye;e:for(;++F=F?d:Ms(d,p,_)}var lT=pv||function(d){return zi.clearTimeout(d)};function Pp(d,p){if(p)return d.slice();var _=d.length,F=fv?fv(_):new d.constructor(_);return d.copy(F),F}function Pu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function k_(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,F=null===d,le=d==d,Ae=da(d),He=p!==ee,Ye=null===p,ct=p==p,Ft=da(p);if(!Ye&&!Ft&&!Ae&&d>p||Ae&&He&&ct&&!Ye&&!Ft||F&&He&&ct||!_&&ct||!le)return 1;if(!F&&!Ae&&!Ft&&d1?_[le-1]:ee,He=le>2?_[2]:ee;for(Ae=d.length>3&&"function"==typeof Ae?(le--,Ae):ee,He&&Ws(_[0],_[1],He)&&(Ae=le<3?ee:Ae,le=1),p=Xi(p);++F-1?le[Ae?p[He]:He]:ee}}function ku(d){return hl(function(p){var _=p.length,F=_,le=Lo.prototype.thru;for(d&&p.reverse();F--;){var Ae=p[F];if("function"!=typeof Ae)throw new Ia(Se);if(le&&!He&&"wrapper"==jp(Ae))var He=new Lo([],!0)}for(F=He?F:_;++F<_;){var Ye=jp(Ae=p[F]),ct="wrapper"==Ye?V_(Ae):ee;He=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?He[jp(ct[0])].apply(He,ct[3]):1==Ae.length&&Up(Ae)?He[Ye]():He.thru(Ae)}return function(){var Ft=arguments,Lt=Ft[0];if(He&&1==Ft.length&&On(Lt))return He.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,F,le,Ae,He,Ye,ct,Ft){var Lt=p&X,Gt=1&p,nn=2&p,vn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Ct(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(vn)var qs=Wd(Bn),ha=rF(Di,qs);if(F&&(Di=zd(Di,F,le,vn)),Ae&&(Di=Dv(Di,Ae,He,vn)),mi-=ha,vn&&mi1&&Di.reverse(),Lt&&ctYe))return!1;var Ft=Ae.get(d),Lt=Ae.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,vn=2&_?new Pa:ee;for(Ae.set(d,p),Ae.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[F],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(F,function(d,p){return Us(st,function(_){var F="_."+_[0];p&_[1]&&!jl(d,F)&&d.push(F)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(F),_)))}function W_(d){var p=0,_=0;return function(){var F=pF(),le=16-(F-_);if(_=F,le>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,F=d.length,le=F-1;for(p=p===ee?F:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GT(d,_)});function ny(d){var p=xe(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var iy=hl(function(d){var p=d.length,_=p?d[0]:0,F=this.__wrapped__,le=function(Ae){return S_(Ae,d)};return!(p>1||this.__actions__.length)&&F instanceof fi&&jo(_)?((F=F.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[le],thisArg:ee}),new Lo(F,this.__chain__).thru(function(Ae){return p&&!Ae.length&&Ae.push(ee),Ae})):this.thru(le)}),qT=ts(function(d,p,_){Ki.call(d,_)?++d[_]:ll(d,_,1)}),QT=Rv(Y_),ZT=Rv(X_);function ay(d,p){return(On(d)?Us:Pc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:T_)(d,kn(p,3))}var eA=ts(function(d,p,_){Ki.call(d,_)?d[_].push(p):ll(d,_,[p])}),uw=pi(function(d,p,_){var F=-1,le="function"==typeof p,Ae=bo(d)?Ct(d.length):[];return Pc(d,function(He){Ae[++F]=le?os(p,He,_):ka(He,p,_)}),Ae}),dw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?Yi:iT)(d,kn(p,3))}var fw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=V1||function(){return zi.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,X,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function cy(d,p){var _;if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var F=1;if(_.length){var le=xu(_,Wd(cf));F|=z}return Wl(d,F,p,_,le)}),Qd=pi(function(d,p,_){var F=3;if(_.length){var le=xu(_,Wd(Qd));F|=z}return Wl(p,F,d,_,le)});function vw(d,p,_){var F,le,Ae,He,Ye,ct,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Se);function vn($i){var bl=F,Gc=le;return F=le=ee,Ft=$i,He=d.apply(Gc,bl)}function Fn($i){return Ft=$i,Ye=nf(mi,p),Lt?vn($i):He}function Bn($i){var bl=$i-ct;return ct===ee||bl>=p||bl<0||Gt&&$i-Ft>=Ae}function mi(){var $i=Bu();if(Bn($i))return Di($i);Ye=nf(mi,function($i){var lM=p-($i-ct);return Gt?ps(lM,Ae-($i-Ft)):lM}($i))}function Di($i){return Ye=ee,nn&&F?vn($i):(F=le=ee,He)}function ha(){var $i=Bu(),bl=Bn($i);if(F=arguments,le=this,ct=$i,bl){if(Ye===ee)return Fn(ct);if(Gt)return lT(Ye),Ye=nf(mi,p),vn(ct)}return Ye===ee&&(Ye=nf(mi,p)),He}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ae=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ae,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){Ye!==ee&&lT(Ye),Ft=0,F=ct=le=Ye=ee},ha.flush=function(){return Ye===ee?He:Di(Bu())},ha}var rA=pi(function(d,p){return Xh(d,1,p)}),ww=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Se);var _=function(){var F=arguments,le=p?p.apply(this,F):F[0],Ae=_.cache;if(Ae.has(le))return Ae.get(le);var He=d.apply(this,F);return _.cache=Ae.set(le,He)||Ae,He};return _.cache=new(uf.Cache||ol),_}function hy(d){if("function"!=typeof d)throw new Ia(Se);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var sA=aT(function(d,p){var _=(p=1==p.length&&On(p[0])?Yi(p[0],ta(kn())):Yi(Ts(p,1),ta(kn()))).length;return pi(function(F){for(var le=-1,Ae=ps(F.length,_);++le=p}),gl=J1(function(){return arguments}())?J1:function(d){return Ar(d)&&Ki.call(d,"callee")&&!mp.call(d,"callee")},On=Ct.isArray,Aw=an?ta(an):function(d){return Ar(d)&&As(d)==Ze};function bo(d){return null!=d&&py(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Ly,Mw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Le};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Me||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==Ue||p==qe||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function py(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Te}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var gA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==ke};function yA(d){return"number"==typeof d||Ar(d)&&As(d)==q}function Jp(d){if(!Ar(d)||As(d)!=pe)return!1;var p=Oa(d);if(null===p)return!0;var _=Ki.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==L1}var Rw=go?ta(go):function(d){return Ar(d)&&As(d)==_t},bA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==pt};function my(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==we}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==B}var df=ss?ta(ss):function(d){return Ar(d)&&py(d.length)&&!!rn[As(d)]},Uc=Lp(Cv),_y=Lp(function(d,p){return d<=p});function Pw(d){if(!d)return[];if(bo(d))return my(d)?rl(d):no(d);if(jh&&d[jh])return function(at){for(var Rt,Ct=[];!(Rt=at.next()).done;)Ct.push(Rt.value);return Ct}(d[jh]());var p=$s(d);return(p==ke?uv:p==pt?l_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function yy(d){return d?Au(ti(d),0,ye):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=cv(d);var _=rr.test(d);return _||Qn.test(d)?lv(d.slice(2),_?2:8):Sn.test(d)?NaN:+d}function Nw(d){return Fa(d,ro(d))}function Gi(d){return null==d?"":Vo(d)}var vA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Ki.call(p,_)&&al(d,_,p[_])}),wA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,F){Fa(p,ro(p),d,F)}),EA=Gl(function(d,p,_,F){Fa(p,Is(p),d,F)}),kw=hl(S_),SA=pi(function(d,p){d=Xi(d);var _=-1,F=p.length,le=F>2?p[2]:ee;for(le&&Ws(p[0],p[1],le)&&(F=1);++_1),Ae}),Fa(d,B_(d),_),F&&(_=Hs(_,7,Bp));for(var le=p.length;le--;)Iu(_,p[le]);return _}),DA=hl(function(d,p){return null==d?{}:function(d,p){return Tv(d,p,function(_,F){return eg(d,F)})}(d,p)});function zw(d,p){if(null==d)return{};var _=Yi(B_(d),function(F){return[F]});return p=kn(p),Tv(d,_,function(F,le){return p(F,le[0])})}var IA=Fu(Is),Gw=Fu(ro);function nh(d){return null==d?[]:a_(d,Is(d))}var kA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?Ey(p):p)});function Ey(d){return ig(Gi(d).toLowerCase())}function xy(d){return(d=Gi(d))&&d.replace(Ca,sF).replace(i_,"")}var LA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),BA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),GF=Np("toLowerCase"),HA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Ty=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Kw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Np("toUpperCase");function Iy(d,p,_){return d=Gi(d),(p=_?ee:p)===ee?function(at){return Bl.test(at)}(d)?function(at){return at.match(rv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(p)||[]}var Oy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Qw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Ry(d){return function(){return d}}var WF=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return nT("function"==typeof d?d:Hs(d,1))}var Py=pi(function(d,p){return function(_){return ka(_,d,p)}}),Zw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Ny(d,p,_){var F=Is(p),le=Qh(p,F);null==_&&(!Tr(p)||!le.length&&F.length)&&(_=p,p=d,d=this,le=Qh(p,Is(p)));var Ae=!(Tr(_)&&"chain"in _&&!_.chain),He=ua(d);return Us(le,function(Ye){var ct=p[Ye];d[Ye]=ct,He&&(d.prototype[Ye]=function(){var Ft=this.__chain__;if(Ae||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return ct.apply(d,Ur([this.value()],arguments))})}),d}function ky(){}var KA=kp(Yi),QA=kp(ri),eE=kp(ko);function Uu(d){return oa(d)?s_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var ZA=Nv(),JA=Nv(!0);function Hc(){return[]}function Ly(){return!1}var Hn=F_(function(d,p){return d+p},0),By=$d("ceil"),YF=F_(function(d,p){return d/p},1),Kl=$d("floor"),rE=F_(function(d,p){return d*p},1),sE=$d("round"),oE=F_(function(d,p){return d-p},0);return xe.after=function(d,p){if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},xe.ary=Xp,xe.assign=vA,xe.assignIn=wA,xe.assignInWith=Zd,xe.assignWith=EA,xe.at=kw,xe.before=cy,xe.bind=cf,xe.bindAll=Qw,xe.bindKey=Qd,xe.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},xe.chain=ny,xe.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var F=null==d?0:d.length;if(!F||p<1)return[];for(var le=0,Ae=0,He=Ct(Vt(F/p));lele?0:le+_),(F=F===ee||F>le?le:ti(F))<0&&(F+=le),F=_>F?0:yy(F);_>>0)?(d=Gi(d))&&("string"==typeof p||null!=p&&!Rw(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},xe.spread=function(d,p){if("function"!=typeof d)throw new Ia(Se);return p=null==p?0:zr(ti(p),0),pi(function(_){var F=_[p],le=ul(_,0,p);return F&&Ur(le,F),os(d,this,le)})},xe.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},xe.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},xe.takeRight=function(d,p,_){var F=null==d?0:d.length;return F?Ms(d,(p=F-(p=_||p===ee?1:ti(p)))<0?0:p,F):[]},xe.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},xe.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},xe.tap=function(d,p){return p(d),d},xe.throttle=function(d,p,_){var F=!0,le=!0;if("function"!=typeof d)throw new Ia(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,le="trailing"in _?!!_.trailing:le),vw(d,p,{leading:F,maxWait:p,trailing:le})},xe.thru=Xd,xe.toArray=Pw,xe.toPairs=IA,xe.toPairsIn=Gw,xe.toPath=function(d){return On(d)?Yi(d,si):da(d)?[d]:no(Wv(Gi(d)))},xe.toPlainObject=Nw,xe.transform=function(d,p,_){var F=On(d),le=F||ml(d)||df(d);if(p=kn(p,4),null==_){var Ae=d&&d.constructor;_=le?F?new Ae:[]:Tr(d)&&ua(Ae)?Tu(Oa(d)):{}}return(le?Us:cl)(d,function(He,Ye,ct){return p(_,He,Ye,ct)}),_},xe.unary=function(d){return Xp(d,1)},xe.union=nw,xe.unionBy=UT,xe.unionWith=zT,xe.uniq=function(d){return d&&d.length?kc(d):[]},xe.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},xe.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},xe.unset=function(d,p){return null==d||Iu(d,p)},xe.unzip=iw,xe.unzipWith=GT,xe.update=function(d,p,_){return null==d?d:Op(d,p,N_(_))},xe.updateWith=function(d,p,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,p,N_(_),F)},xe.values=nh,xe.valuesIn=function(d){return null==d?[]:a_(d,ro(d))},xe.without=rw,xe.words=Iy,xe.wrap=function(d,p){return Kp(N_(p),d)},xe.xor=PF,xe.xorBy=Uo,xe.xorWith=ey,xe.zip=ty,xe.zipObject=function(d,p){return Rp(d||[],p||[],al)},xe.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},xe.zipWith=lf,xe.entries=IA,xe.entriesIn=Gw,xe.extend=wA,xe.extendWith=Zd,Ny(xe,xe),xe.add=Hn,xe.attempt=Oy,xe.camelCase=kA,xe.capitalize=Ey,xe.ceil=By,xe.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},xe.clone=function(d){return Hs(d,4)},xe.cloneDeep=function(d){return Hs(d,5)},xe.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},xe.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},xe.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},xe.deburr=xy,xe.defaultTo=function(d,p){return null==d||d!=d?p:d},xe.divide=YF,xe.endsWith=function(d,p,_){d=Gi(d),p=Vo(p);var F=d.length,le=_=_===ee?F:Au(ti(_),0,F);return(_-=p.length)>=0&&d.slice(_,le)==p},xe.eq=Dn,xe.escape=function(d){return(d=Gi(d))&&en.test(d)?d.replace(Sa,oF):d},xe.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Be,"\\$&"):d},xe.every=function(d,p,_){var F=On(d)?ri:wv;return _&&Ws(d,p,_)&&(p=ee),F(d,kn(p,3))},xe.find=QT,xe.findIndex=Y_,xe.findKey=function(d,p){return Nh(d,kn(p,3),cl)},xe.findLast=ZT,xe.findLastIndex=X_,xe.findLastKey=function(d,p){return Nh(d,kn(p,3),Ap)},xe.floor=Kl,xe.forEach=ay,xe.forEachRight=Wp,xe.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},xe.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},xe.forOwn=function(d,p){return d&&cl(d,kn(p,3))},xe.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},xe.get=pf,xe.gt=zt,xe.gte=Tw,xe.has=function(d,p){return null!=d&&Uv(d,p,Ld)},xe.hasIn=eg,xe.head=Yv,xe.identity=so,xe.includes=function(d,p,_,F){d=bo(d)?d:nh(d),_=_&&!F?ti(_):0;var le=d.length;return _<0&&(_=zr(le+_,0)),my(d)?_<=le&&d.indexOf(p,_)>-1:!!le&&il(d,p,_)>-1},xe.indexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=null==_?0:ti(_);return le<0&&(le=zr(F+le,0)),il(d,p,le)},xe.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Te&&d<=Te},xe.isSet=bA,xe.isString=my,xe.isSymbol=da,xe.isTypedArray=df,xe.isUndefined=function(d){return d===ee},xe.isWeakMap=function(d){return Ar(d)&&$s(d)==V},xe.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},xe.join=function(d,p){return null==d?"":Uh.call(d,p)},xe.kebabCase=LA,xe.last=aa,xe.lastIndexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=F;return _!==ee&&(le=(le=ti(_))<0?zr(F+le,0):ps(le,F-1)),p==p?function(at,Rt,Ct){for(var dn=Ct+1;dn--;)if(at[dn]===Rt)return dn;return dn}(d,p,le):Td(d,Dc,le,!0)},xe.lowerCase=BA,xe.lowerFirst=GF,xe.lt=Uc,xe.lte=_y,xe.max=function(d){return d&&d.length?Kh(d,so,yo):ee},xe.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},xe.mean=function(d){return Ss(d,so)},xe.meanBy=function(d,p){return Ss(d,kn(p,2))},xe.min=function(d){return d&&d.length?Kh(d,so,Cv):ee},xe.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Cv):ee},xe.stubArray=Hc,xe.stubFalse=Ly,xe.stubObject=function(){return{}},xe.stubString=function(){return""},xe.stubTrue=function(){return!0},xe.multiply=rE,xe.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},xe.noConflict=function(){return zi._===this&&(zi._=f_),this},xe.noop=ky,xe.now=Bu,xe.pad=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;if(!p||F>=p)return d;var le=(p-F)/2;return Fp(Si(le),_)+d+Fp(Vt(le),_)},xe.padEnd=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;return p&&Fp){var F=d;d=p,p=F}if(_||d%1||p%1){var le=zh();return ps(d+le*(p-d+D1("1e-"+((le+"").length-1))),p)}return Hl(d,p)},xe.reduce=function(d,p,_){var F=On(d)?Eu:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,Pc)},xe.reduceRight=function(d,p,_){var F=On(d)?Cd:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,T_)},xe.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Gi(d),p)},xe.replace=function(){var d=arguments,p=Gi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},xe.result=function(d,p,_){var F=-1,le=(p=Lc(p,d)).length;for(le||(le=1,d=ee);++FTe)return[];var _=ye,F=ps(d,ye);p=kn(p),d-=ye;for(var le=Md(F,p);++_=Ae)return d;var Ye=_-Lh(F);if(Ye<1)return F;var ct=He?ul(He,0,Ye).join(""):d.slice(0,Ye);if(le===ee)return ct+F;if(He&&(Ye+=ct.length-Ye),Rw(le)){if(d.slice(Ye).search(le)){var Ft,Lt=ct;for(le.global||(le=d_(le.source,Gi(Xn.exec(le))+"g")),le.lastIndex=0;Ft=le.exec(Lt);)var Gt=Ft.index;ct=ct.slice(0,Gt===ee?Ye:Gt)}}else if(d.indexOf(Vo(le),Ye)!=Ye){var nn=ct.lastIndexOf(le);nn>-1&&(ct=ct.slice(0,nn))}return ct+F},xe.unescape=function(d){return(d=Gi(d))&&ws.test(d)?d.replace(kl,u_):d},xe.uniqueId=function(d){var p=++fF;return Gi(d)+p},xe.upperCase=Kw,xe.upperFirst=ig,xe.each=ay,xe.eachRight=Wp,xe.first=Yv,Ny(xe,function(){var d={};return cl(xe,function(p,_){Ki.call(xe.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),xe.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){xe[d].placeholder=xe}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var F=this.__filtered__&&!p?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ps(_,F.__takeCount__):F.__views__.push({size:ps(_,ye),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,F=1==_||3==_;fi.prototype[d]=function(le){var Ae=this.clone();return Ae.__iteratees__.push({iteratee:kn(le,3),type:_}),Ae.__filtered__=Ae.__filtered__||F,Ae}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(hy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ye)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),F=/^(?:head|last)$/.test(p),le=xe[F?"take"+("last"==p?"Right":""):p],Ae=F||/^find/.test(p);!le||(xe.prototype[p]=function(){var He=this.__wrapped__,Ye=F?[1]:arguments,ct=He instanceof fi,Ft=Ye[0],Lt=ct||On(He),Gt=function(mi){var Di=le.apply(xe,Ur([mi],Ye));return F&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(ct=Lt=!1);var nn=this.__chain__,vn=!!this.__actions__.length,Fn=Ae&&!nn,gi=ct&&!vn;if(!Ae&&Lt){He=gi?He:new fi(this);var Bn=d.apply(He,Ye);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,Ye):(Bn=this.thru(Gt),Fn?F?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);xe.prototype[d]=function(){var le=arguments;if(F&&!this.__chain__){var Ae=this.value();return p.apply(On(Ae)?Ae:[],le)}return this[_](function(He){return p.apply(On(He)?He:[],le)})}}),cl(fi.prototype,function(d,p){var _=xe[p];if(_){var F=_.name+"";Ki.call(Od,F)||(Od[F]=[]),Od[F].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),F=p<0,le=_?d.length:0,Ae=function(d,p,_){for(var F=-1,le=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},xe.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var F=sf(_);F.__index__=0,F.__values__=ee,p?le.__wrapped__=F:p=F;var le=F;_=_.__wrapped__}return le.__wrapped__=d,p},xe.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[J_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(J_)},xe.prototype.toJSON=xe.prototype.valueOf=xe.prototype.value=function(){return oT(this.__wrapped__,this.__actions__)},xe.prototype.first=xe.prototype.head,jh&&(xe.prototype[jh]=function(){return this}),xe}();zi._=Bh,(yt=function(){return Bh}.call(it,et,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},5478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,k=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},H=function(lt){return Q[lt]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(rt){return rt.replace(C,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var T=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var z={},P=/^[^:]+:\/*[^/]*$/,X=/^([^:]+:)[\s\S]*$/,ue=/^([^:]+:\/*[^/]*)[\s\S]*$/;function I(rt,lt){z[" "+rt]||(z[" "+rt]=P.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=z[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(X,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ue,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var ve=0;ve1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Te=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Be,ut,Je){for(var Mt=!1,It=ut;--It>=0&&"\\"===Je[It];)Mt=!Mt;return Mt?"|":" |"}).split(/ \|/),ve=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:ve[0]}:{raw:"\n"}},lt.code=function(ge){var ve=this.rules.block.code.exec(ge);if(ve){var Be=ve[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ve[0],codeBlockStyle:"indented",text:this.options.pedantic?Be:me(Be,"\n")}}},lt.fences=function(ge){var ve=this.rules.block.fences.exec(ge);if(ve){var Be=ve[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(ve){var Be=ve.match(/^\s+/);return null===Be?ve:Be[0].length>=ge.length?ve.slice(ge.length):ve}).join("\n")}(Be,ve[3]||"");return{type:"code",raw:Be,lang:ve[2]?ve[2].trim():ve[2],text:ut}}},lt.heading=function(ge){var ve=this.rules.block.heading.exec(ge);if(ve){var Be=ve[2].trim();if(/#$/.test(Be)){var ut=me(Be,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Be=ut.trim())}return{type:"heading",raw:ve[0],depth:ve[1].length,text:Be}}},lt.nptable=function(ge){var ve=this.rules.block.nptable.exec(ge);if(ve){var Be={type:"table",header:ne(ve[1].replace(/^ *| *\| *$/g,"")),align:ve[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:ve[3]?ve[3].replace(/\n$/,"").split("\n"):[],raw:ve[0]};if(Be.header.length===Be.align.length){var Je,ut=Be.align.length;for(Je=0;Je ?/gm,"");return{type:"blockquote",raw:ve[0],text:Be}}},lt.list=function(ge){var ve=this.rules.block.list.exec(ge);if(ve){var Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Be=ve[0],ut=ve[2],Je=ut.length>1,Mt={type:"list",raw:Be,ordered:Je,start:Je?+ut.slice(0,-1):"",loose:!1,items:[]},It=ve[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var qi=0;qici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(qi,2,It[qi]+(!this.options.pedantic&&Rn[1].length/i.test(ut[0])&&(ve=!1),!Be&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Be=!0:Be&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Be=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:ve,inRawBlock:Be,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]}},lt.link=function(ge){var ve=this.rules.inline.link.exec(ge);if(ve){var Be=ve[2].trim();if(!this.options.pedantic&&/^$/.test(Be))return;var ut=me(Be.slice(0,-1),"\\");if((Be.length-ut.length)%2==0)return}else{var Je=Oe(ve[2],"()");if(Je>-1){var It=(0===ve[0].indexOf("!")?5:4)+ve[1].length+Je;ve[2]=ve[2].substring(0,Je),ve[0]=ve[0].substring(0,It).trim(),ve[3]=""}}var Ot=ve[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=ve[3]?ve[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(Be)?Ot.slice(1):Ot.slice(1,-1)),$e(ve,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},ve[0])}},lt.reflink=function(ge,ve){var Be;if((Be=this.rules.inline.reflink.exec(ge))||(Be=this.rules.inline.nolink.exec(ge))){var ut=(Be[2]||Be[1]).replace(/\s+/g," ");if(!(ut=ve[ut.toLowerCase()])||!ut.href){var Je=Be[0].charAt(0);return{type:"text",raw:Je,text:Je}}return $e(Be,ut,Be[0])}},lt.emStrong=function(ge,ve,Be){void 0===Be&&(Be="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Be.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Je=ut[1]||ut[2]||"";if(!Je||Je&&(""===Be||this.rules.inline.punctuation.exec(Be))){var It,Ot,Mt=ut[0].length-1,Qt=Mt,zn=0,ci="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,ve=ve.slice(-1*ge.length+Mt);null!=(ut=ci.exec(ve));)if(It=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Ot=It.length,ut[3]||ut[4]){Qt+=Ot;continue}if((ut[5]||ut[6])&&Mt%3&&!((Mt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Mt,Ot)%2?{type:"em",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(1,Mt+ut.index+Ot)}:{type:"strong",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(2,Mt+ut.index+Ot-1)}}}}},lt.codespan=function(ge){var ve=this.rules.inline.code.exec(ge);if(ve){var Be=ve[2].replace(/\n/g," "),ut=/[^ ]/.test(Be),Je=/^ /.test(Be)&&/ $/.test(Be);return ut&&Je&&(Be=Be.substring(1,Be.length-1)),Be=ye(Be,!0),{type:"codespan",raw:ve[0],text:Be}}},lt.br=function(ge){var ve=this.rules.inline.br.exec(ge);if(ve)return{type:"br",raw:ve[0]}},lt.del=function(ge){var ve=this.rules.inline.del.exec(ge);if(ve)return{type:"del",raw:ve[0],text:ve[2]}},lt.autolink=function(ge,ve){var ut,Je,Be=this.rules.inline.autolink.exec(ge);if(Be)return Je="@"===Be[2]?"mailto:"+(ut=ye(this.options.mangle?ve(Be[1]):Be[1])):ut=ye(Be[1]),{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,ve){var Be;if(Be=this.rules.inline.url.exec(ge)){var ut,Je;if("@"===Be[2])Je="mailto:"+(ut=ye(this.options.mangle?ve(Be[0]):Be[0]));else{var Mt;do{Mt=Be[0],Be[0]=this.rules.inline._backpedal.exec(Be[0])[0]}while(Mt!==Be[0]);ut=ye(Be[0]),Je="www."===Be[1]?"http://"+ut:ut}return{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,ve,Be){var Je,ut=this.rules.inline.text.exec(ge);if(ut)return Je=ve?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]:ye(this.options.smartypants?Be(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Je}},rt}(),tt=te_noopTest,Xe=te_edit,ze=te_merge,Le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Le.def=Xe(Le.def).replace("label",Le._label).replace("title",Le._title).getRegex(),Le.bullet=/(?:[*+-]|\d{1,9}[.)])/,Le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Le.item=Xe(Le.item,"gm").replace(/bull/g,Le.bullet).getRegex(),Le.listItemStart=Xe(/^( *)(bull) */).replace("bull",Le.bullet).getRegex(),Le.list=Xe(Le.list).replace(/bull/g,Le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Le.def.source+")").getRegex(),Le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Le._comment=/|$)/,Le.html=Xe(Le.html,"i").replace("comment",Le._comment).replace("tag",Le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Le.paragraph=Xe(Le._paragraph).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.blockquote=Xe(Le.blockquote).replace("paragraph",Le.paragraph).getRegex(),Le.normal=ze({},Le),Le.gfm=ze({},Le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Le.gfm.nptable=Xe(Le.gfm.nptable).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.gfm.table=Xe(Le.gfm.table).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.pedantic=ze({},Le.normal,{html:Xe("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Xe(Le.normal._paragraph).replace("hr",Le.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Xe(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Xe(Le._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Xe(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Xe(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Xe(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Xe(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Xe(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Xe(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Xe(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Xe(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=ze({},Ke),Ke.pedantic=ze({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xe(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Xe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=ze({},Ke.normal,{escape:Xe(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||qe,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:ke.normal,inline:q.normal};this.options.pedantic?(ge.block=ke.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=ke.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,ve){return new rt(ve).lex(ge)},rt.lexInline=function(ge,ve){return new rt(ve).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,ve,Be){var Je,Mt,It,Ot,Qt,zn,ut=this;for(void 0===ve&&(ve=[]),void 0===Be&&(Be=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(Je=Rn.call(ut,ge,ve))&&(ge=ge.substring(Je.raw.length),ve.push(Je),!0)}))){if(Je=this.tokenizer.space(ge)){ge=ge.substring(Je.raw.length),Je.type&&ve.push(Je);continue}if(Je=this.tokenizer.code(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(Je=this.tokenizer.fences(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.heading(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.nptable(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.hr(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.blockquote(ge)){ge=ge.substring(Je.raw.length),Je.tokens=this.blockTokens(Je.text,[],Be),ve.push(Je);continue}if(Je=this.tokenizer.list(ge)){for(ge=ge.substring(Je.raw.length),It=Je.items.length,Mt=0;Mt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ge.substring(0,Rn+1))}(),Be&&(Je=this.tokenizer.paragraph(Qt))){Ot=ve[ve.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je),zn=Qt.length!==ge.length,ge=ge.substring(Je.raw.length);continue}if(Je=this.tokenizer.text(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(ge){var ci="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return ve},lt.inline=function(ge){var ve,Be,ut,Je,Mt,It,Ot=ge.length;for(ve=0;ve0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)yn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Sn){return!!(Mt=Sn.call(Je,ge,ve))&&(ge=ge.substring(Mt.raw.length),ve.push(Mt),!0)}))){if(Mt=this.tokenizer.escape(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.tag(ge,Be,ut)){ge=ge.substring(Mt.raw.length),Be=Mt.inLink,ut=Mt.inRawBlock,(It=ve[ve.length-1])&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.link(ge)){ge=ge.substring(Mt.raw.length),"link"===Mt.type&&(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut)),ve.push(Mt);continue}if(Mt=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(Mt.raw.length),It=ve[ve.length-1],"link"===Mt.type?(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut),ve.push(Mt)):It&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.emStrong(ge,Qt,Rn)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.codespan(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.br(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.del(ge)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.autolink(ge,de)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(!Be&&(Mt=this.tokenizer.url(ge,de))){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Ot=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Sn=1/0,rr=ge.slice(1),sr=void 0;Je.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Sn=Math.min(Sn,sr))}),Sn<1/0&&Sn>=0&&(Ot=ge.substring(0,Sn+1))}(),Mt=this.tokenizer.inlineText(Ot,ut,pe)){ge=ge.substring(Mt.raw.length),"_"!==Mt.raw.slice(-1)&&(Rn=Mt.raw.slice(-1)),ci=!0,(It=ve[ve.length-1])&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(ge){var Xn="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return ve},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:ke,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,we=te_escape,B=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,ve,Be){var ut=(ve||"").match(/\S*/)[0];if(this.options.highlight){var Je=this.options.highlight(ge,ut);null!=Je&&Je!==ge&&(Be=!0,ge=Je)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Be?ge:we(ge,!0))+"
    \n":"
    "+(Be?ge:we(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,ve,Be,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,ve,Be){var ut=ve?"ol":"ul";return"<"+ut+(ve&&1!==Be?' start="'+Be+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,ve){return ve&&(ve=""+ve+""),"\n\n"+ge+"\n"+ve+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,ve){var Be=ve.header?"th":"td";return(ve.align?"<"+Be+' align="'+ve.align+'">':"<"+Be+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut='"+Be+""},lt.image=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut=''+Be+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,ve,Be){return""+Be},lt.image=function(ge,ve,Be){return""+Be},lt.br=function(){return""},rt}(),V=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,ve){var Be=ge,ut=0;if(this.seen.hasOwnProperty(Be)){ut=this.seen[ge];do{Be=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Be))}return ve||(this.seen[ge]=ut,this.seen[Be]=0),Be},lt.slug=function(ge,ve){void 0===ve&&(ve={});var Be=this.serialize(ge);return this.getNextSafeSlug(Be,ve.dryrun)},rt}(),Re=B,Ze=N,Tt=V,kt=dt.exports.defaults,In=te_unescape,Yn=je,Mi=function(){function rt(ht){this.options=ht||kt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ze,this.slugger=new Tt}rt.parse=function(ge,ve){return new rt(ve).parse(ge)},rt.parseInline=function(ge,ve){return new rt(ve).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,ve){void 0===ve&&(ve=!0);var ut,Je,Mt,It,Ot,Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Qn,qi,Ca,Qr,re,Be="",fe=ge.length;for(ut=0;ut0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,qi);Be+=this.renderer.list(Rn,Xn,Sn);continue;case"html":Be+=this.renderer.html(yn.text);continue;case"paragraph":Be+=this.renderer.paragraph(this.parseInline(yn.tokens));continue;case"text":for(Rn=yn.tokens?this.parseInline(yn.tokens):yn.text;ut+1An error occurred:

    "+xa(Mt.message+"",!0)+"
    ";throw Mt}}return en.options=en.setOptions=function(rt){return Bs(en.defaults,rt),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+xa(ge.message+"",!0)+"
    ";throw ge}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Ut,it,et)=>{var yt=et(6284),ee=et(7830);function Dt(){this.clear()}Dt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Dt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Dt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Dt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Dt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Dt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.iterator]=Dt.prototype.values),Dt.prototype.toString=function(){return this.toArray().join(",")},Dt.prototype.toJSON=function(){return this.toArray()},Dt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Dt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Dt.prototype.inspect),Dt.from=function(dt){var Y=new Dt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Dt.of=function(){return Dt.from(arguments)},Ut.exports=Dt},7830:Ut=>{var it="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function yt(ee,Dt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Dt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var et=arguments,yt=et.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:et[ee++]}})},it.empty=function(){var et=new it(null);return et.done=!0,et},it.is=function(et){return et instanceof it||"object"==typeof et&&null!==et&&"function"==typeof et.next},Ut.exports=it},7310:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Dt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var k=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return k||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Dt=yt(et(1602)),dt=yt(et(2344))},1151:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(et(4321)),Dt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Dt.self||Dt.window||Dt.global,it.window=Dt.window||Dt.self||Dt.global,it.global=Dt.global||Dt.self||Dt.window,it.document=Dt.document||{},it.process=Dt.process||{};var j=console;it.console=j},4761:(Ut,it,et)=>{"use strict";var ee=et(1948),Dt=et(4321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=et(1151),Se=(j(et(1602)),j(et(7310)));ee(et(2344));function W(k){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,H=new WeakMap;return(W=function(C){return C?H:Q})(k)}function j(k,Q){if(!Q&&k&&k.__esModule)return k;if(null===k||"object"!==Dt(k)&&"function"!=typeof k)return{default:k};var H=W(Q);if(H&&H.has(k))return H.get(k);var v={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in k)if("default"!==R&&Object.prototype.hasOwnProperty.call(k,R)){var T=C?Object.getOwnPropertyDescriptor(k,R):null;T&&(T.get||T.set)?Object.defineProperty(v,R,T):v[R]=k[R]}return v.default=k,H&&H.set(k,v),v}},1602:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(et(4321)),Dt=yt(et(2344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Dt.default)()}},2344:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(et(4321))},6991:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(4180),it),ee(et(5103),it),ee(et(8965),it),ee(et(2595),it),ee(et(2417),it),ee(et(2451),it),ee(et(7735),it)},4180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=et(4180),ee=et(8965),Dt=et(2595),dt=et(2417),Y=et(2451),Se=et(7735);let he=0;it.DataFactory=class{constructor(k){this.blankNodeCounter=0,this.blankNodePrefix=(k=k||{}).blankNodePrefix||`df_${he++}_`}namedNode(k){return new dt.NamedNode(k)}blankNode(k){return new yt.BlankNode(k||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(k,Q){return new Dt.Literal(k,Q)}variable(k){return new Se.Variable(k)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(k,Q,H,v){return new Y.Quad(k,Q,H,v||this.defaultGraph())}fromTerm(k){switch(k.termType){case"NamedNode":return this.namedNode(k.value);case"BlankNode":return this.blankNode(k.value);case"Literal":return k.language?this.literal(k.value,k.language):k.datatype.equals(Dt.Literal.XSD_STRING)?this.literal(k.value):this.literal(k.value,this.fromTerm(k.datatype));case"Variable":return this.variable(k.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(k.subject),this.fromTerm(k.predicate),this.fromTerm(k.object),this.fromTerm(k.graph))}}fromQuad(k){return this.fromTerm(k)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=et,et.INSTANCE=new et},2595:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=et(2417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Dt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Dt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,C,R,T){void 0===T&&(T=R),Object.defineProperty(v,T,{enumerable:!0,get:function(){return C[R]}})}:function(v,C,R,T){void 0===T&&(T=R),v[T]=C[R]}),ee=this&&this.__exportStar||function(v,C){for(var R in v)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&&yt(C,v,R)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Dt=et(6991),dt=et(9938),Y=et(6060);ee(et(9938),it),ee(et(8871),it),ee(et(6060),it);const Se=new Dt.DataFactory,he=new Y.Translator;function W(v,C){return he.fromRdf(v,C)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Se),he.toRdf(v,C)},it.getTermRaw=function(v,C){return"Literal"===v.termType?W(v,C):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},8871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},6060:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Dt,dt){for(const Y of Dt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Dt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Dt):ee.value}toRdf(ee,Dt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Dt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Dt,dataFactory:dt}){return dt.literal(ee,Dt)}}it.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(727),it),ee(et(2525),it),ee(et(8554),it),ee(et(7750),it),ee(et(4608),it)},2829:(Ut,it,et)=>{"use strict";var yt={};et.r(yt),et.d(yt,{decode:()=>jme,encode:()=>Ume});var ee={};et.r(ee),et.d(ee,{decode:()=>Wme,encode:()=>qme});var Dt={};et.r(Dt),et.d(Dt,{decode:()=>Yme,encode:()=>Xme});var dt={};function Y(n){return"function"==typeof n}et.r(dt),et.d(dt,{decode:()=>Kme,encode:()=>Qme});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},k=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const P="function"==typeof Symbol&&Symbol.observable||"@@observable";function X(n){return n}function ue(...n){return I(n)}function I(n){return 0===n.length?X:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let O=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[T])return n[T]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=K(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[P](){return this}pipe(...t){return 0===t.length?this:I(t)(this)}toPromise(t){return new(t=K(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function K(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ae extends y{constructor(e){super(e),this.destination=e}}let oe=(()=>{class n extends O{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ae(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Te(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ye(e,this.project,this.thisArg))}}class ye extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Oe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[P])return(n=>e=>{const t=n[P]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Le(n))return Oe(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Qe])return(n=>e=>{const t=n[Qe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function ke(n,e){return new O(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[P]}(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[P]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Le(n))return ke(n,e);if(function(n){return n&&"function"==typeof n[Qe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new O(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Qe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof O?n:new O(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class we extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof O)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function V(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(V((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Ze(e,this.project,this.concurrent))}}class Ze extends we{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return V(X,n)}function In(n,e){return e?ke(n,e):new O(Oe(n))}function Nn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Te(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof O?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends O{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ae{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new oe}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=en({__forward_ref__:en});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function ve(n){return Be(n)?n():n}function Be(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Je extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function yn(n,e){const t=e?` in ${e}`:"";throw new Je("201",`No provider for ${Qt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function bn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var En=(()=>((En=En||{})[En.Default=0]="Default",En[En.Host=1]="Host",En[En.Self=2]="Self",En[En.SkipSelf=4]="SkipSelf",En[En.Optional=8]="Optional",En))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=bn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&En.Optional?null:void 0!==e?e:void yn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var Ge=(()=>((Ge=Ge||{})[Ge.OnPush=0]="OnPush",Ge[Ge.Default=1]="Default",Ge))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},tr=[],fp=en({\u0275cmp:en}),i_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),rv=en({\u0275mod:en}),A1=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let M1=0;function rn(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ge.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=M1++,i.inputs=lv(n.inputs,t),i.outputs=lv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(sv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(ov):null,i})}function sv(n){return zi(n)||function(n){return n[i_]||null}(n)}function ov(n){return function(n){return n[Oh]||null}(n)}const av={};function tn(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(av[n.id]=n.type),e})}function lv(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Nt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function No(n,e){const t=n[rv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function o_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function cv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class u_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Li(){return hv}function hv(n){return n.type.prototype.ngOnChanges&&(n.setInput=F1),k1}function k1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function F1(n,e,t,i){const r=at(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new u_(l&&l.currentValue,e,o===xd),n[i]=e}Li.ngInherit=!0;const Bh="__ngSimpleChanges__";function at(n){return n[Bh]||null}let Xi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Xi?Xi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function f_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function p_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function pv(){return Ln.bindingsEnabled}function Vt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function mr(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=g_();for(;null!==n&&64===n.type;)n=n.parent;return n}function g_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,m_(e)}function m_(n){Ln.lFrame.currentDirectiveIndex=n}function __(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function gv(){return Ln.lFrame.currentQueryIndex}function y_(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&En.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&En.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=xe();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=xe(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function xe(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Nr(){const n=Ln.lFrame;return f_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let S_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,C_(i.data,n),C_(e,null),C_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(bv(r)){const o=Pd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function C_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=S_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&En.Host?T_(r,t,i):wv(e,t,i,r);try{const o=s(i);if(null!=o||i&En.Optional)return o;yn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&En.Host?e[16][6]:null;for((-1===a||i&En.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Pd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Ev)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Pd(l),e=al(l,e)):a=-1}}}return wv(e,t,i,r)}const Ev={};function xv(){return new na(as(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&En.Host&&s===a);return null!==u?Fd(e,o,u,a):Ev}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new Je("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,En.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=hv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return Be(n)?()=>{const e=As(ve(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Nc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function R_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class B_ extends ql{getTypeName(){return"HTML"}}class V_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class Uv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),Hv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Gv=oa("rp,rt"),U_=tf(Up,tf(Hv,oa("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),tf(Gv,oa("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),tf(Gv,Hv)),z_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),H_=oa("srcset"),G_=tf(z_,H_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vT=oa("script,style,template");class $_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!U_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();U_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const $v=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace($v,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function W_(n,e){let t=null;try{rf=rf||function(n){const e=new pT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new Uv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new $_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const X_="__ngContext__";function Ds(n,e){n[X_]=e}function K_(n){const e=function(n){return n[X_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function PT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||PT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const nw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ty(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return aw(n[13])}function iy(n){return aw(n[4])}function aw(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?hw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function ay(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function aA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Cw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Cw(s,r)),e}const Dn={};function zt(n){Tw(Si(),Vt(),to()+n,zh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function fy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!pv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Ww(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function qw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Cy(t)}}function Cy(n){for(let i=Xd(n);null!==i;i=iy(i))for(let r=10;r0&&Cy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Cy(r)}}function zA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Kw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Iy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Oy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Qw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=En.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&En.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&bn(e);a=l&&this.injectableDefInScope(l)?Uu(Fy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&En.Self?Zw():this.parent).get(e,t=i&En.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(rt(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=ve(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||tr))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=ve(e))?e:ve(e&&e.provide);const s=function(n,e,t){return tE(n)?Uu(void 0,n.useValue):Uu(eE(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Nu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=XA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ve(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Fy(n){const e=bn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Nc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function eE(n,e,t){let i;if(Hc(n)){const r=ve(n);return Ic(r)||Fy(r)}if(tE(n))i=()=>ve(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Nu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Ie(ve(n.useExisting));else{const r=ve(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||Fy(r);i=()=>new r(...Nu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function tE(n){return null!==n&&"object"==typeof n&&Pp in n}function Hc(n){return"function"==typeof n}const nE=function(n,e,t){return function(n,e=null,t=null,i){const r=Jw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?nE(e,t,""):nE(e.providers,e.parent,e.name||"")}}function kq(n,e){wp(K_(n)[1],as())}function wn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Vq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Lq(n,l),c&&Bq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function cM(n){return n===xd?{}:n===tr?[]:n}function Lq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Bq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Vq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=We({token:Hn,providedIn:"any",factory:()=>Ie(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let aE=null;function sg(){if(!aE){const n=Zn.Symbol;if(n&&n.iterator)aE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(_e[i.index])):i.index;if(dr(t)){let _e=null;if(!a&&l&&(_e=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==_e)(_e.__ngLastListenerFn__||_e).__ngNextListenerFn__=s,_e.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Pe=t.listen(U,r,s);f.push(s,Pe),u&&u.push(r,ie,D,D+1)}}else s=mM(i,e,h,s,!0),U.addEventListener(r,s,o),f.push(s),u&&u.push(r,ie,D,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const x=w.length;if(x)for(let U=0;U0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function bY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k2(n){return n.substring(Os.key,Os.keyEnd)}function F2(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=F2(e,t))Bo(n,k2(e),!0)}function Jl(n,e,t,i){const r=Vt(),s=Si(),o=Fo(2);s.firstUpdatePass&&z2(s,n,o,i),e!==Dn&&Eo(r,o,e)&&G2(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function U2(n,e){return e>=n.expandoStartIndex}function z2(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=U2(n,t);W2(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=__(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Gy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Gy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),N2(n,u,i,!0),N2(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=fy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?tr:void 0);let g=h?R_(f,i):u===i?f:void 0;if(c&&!fE(g)&&(g=R_(l,i)),fE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=R_(l,i))}return a}function fE(n){return void 0!==n}function W2(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=Vt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=Vt();return Eo(i,Ra(),e)&&zo(Si(),Nr(),i,n,e,i[11],t,!0),qc}function pE(n,e,t){const i=Vt();if(Eo(i,Ra(),e)){const s=Si(),o=Nr();zo(s,o,i,n,e,Iy(__(s.data),o,i),t,!0)}return pE}const _f=void 0;var nX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const gE="en-US";let dL=gE;function vM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function xM(n,e,t,i,r){if(n=ve(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Ce),m=CM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),SM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+f,h),m=CM(a,e,u,u+f),w=g>=0&&t[g],x=m>=0&&t[m];if(r&&!x||!r&&!w){Rc(Hs(c,o),s,a);const U=function(n,e,t,i,r){const s=new qh(n,t,Ce);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?JX:ZX,t.length,r,i,l);!r&&x&&(t[m].providerFactory=U),SM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(U),o.push(U)}else SM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&x&&t[m].componentProviders++}}}function SM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);xM(t,i.data,i.blueprint,r,!0),xM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class nK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function vE(...n){}function Eg(n,e){return new pn(eo(n,e))}El.NULL=new nK;const sK=function(){return Eg(as(),Vt())};let pn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=sK,n})();function VL(n){return n instanceof pn?n.nativeElement:n}class yf{}let MM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return Uy(e)}create(e){return new dK(e)}}const uK=(n,e)=>e;class dK{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||uK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new hK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class hK{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class fK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new fK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new gK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class gK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:WL}),n})();function wE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(oy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}ay(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ty(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){My(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{My(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class _K extends Xy{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const bK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Xy(i,i)}return 47&n.type?new Xy(e[16],e):null}(as(),Vt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=bK,n})();const EK=[new GL],SK=new xg([new UL]),CK=new Sg(EK),AK=function(){return EE(as(),Vt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=AK,n})();const MK=Go,DK=class extends MK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Xy(i)}};function EE(n,e){return 4&n.type?new DK(e,n,Eg(n,e)):null}class Yc{}const RK=function(){return KL(as(),Vt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=RK,n})();const NK=Rs,YL=class extends NK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(bv(e)){const t=al(e,this._hostLView),i=Pd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),inw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(hA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):sy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||nw,clean:qA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let w,x;$h(m);try{const U=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&dy(r,n,l.classes),null!==l.styles&&ww(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),qw(o,l),Ey(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:D,classes:ie}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&dy(l,u,ie.join(" "))}if(x=f_(g,20),void 0!==t){const D=x.projection=[];for(let ie=0;iel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),$w(t[1],a,0,a.directiveStart,a.directiveEnd,e),Ww(e,o)),o}(U,this.componentDef,m,f,[kq]),ff(g,m,null)}finally{fi()}return new PQ(this.componentType,w,Eg(x,m),m,x)}}class PQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new _K(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class FQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=No(e),r=function(n){return n[A1]||null}(e);r&&vM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Jw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=En.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==No(e)&&function(n){const e=new Set;!function t(i){const r=No(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new FQ(this.moduleType,e)}}function AE(n,e,t){const i=Cs()+n,r=Vt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ps(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Je("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Ce);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=Vt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function GM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends oe{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=GM(l),a&&(a=GM(a)),c&&(c=GM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function KQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=KQ)}get changes(){return this._changes||(this._changes=new ln)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=vE,this.reject=vE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ef,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const l0=new Ht("AppId"),RZ={provide:l0,useFactory:function(){return`${tD()}${tD()}${tD()}`},deps:[]};function tD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),OE=new Ht("appBootstrapListener");let RE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class NZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const nD=function(n){return new zM(n)},kZ=nD,FZ=function(n){return Promise.resolve(nD(n))},Q3=function(n){const e=nD(n),i=fl(No(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new b3(o)),r},[]);return new NZ(e,i)},LZ=Q3,BZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=kZ,this.compileModuleAsync=FZ,this.compileModuleAndAllComponentsSync=LZ,this.compileModuleAndAllComponentsAsync=BZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),jZ=(()=>Promise.resolve(0))();function iD(n){"undefined"==typeof Zone?jZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,sD(n),n.isCheckStableRunning=!0,rD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),sD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,sD(n),rD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,zZ,vE,vE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const zZ={};function rD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function sD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,rD(n)}class $Z{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let oD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),iD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())iD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,aD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return aD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class WZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let aD=new WZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=cD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=cD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function cD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new $Z:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{uD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(vM(u.injector.get(Gu,gE)||gE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new O(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new O(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),iD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Nn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(oD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),uD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;uD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(OE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Hn),Ie(la),Ie(El),Ie(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const bJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:RE,deps:[]}]),SJ=[{provide:sh,useClass:sh,deps:[fn,Hn,la,El,Og]},{provide:IQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},RZ,{provide:xg,useFactory:function(){return SK},deps:[]},{provide:Sg,useFactory:function(){return CK},deps:[]},{provide:Gu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||gE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let TJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Ie(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:SJ}),n})(),HE=null;function Kc(){return HE}const hn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Cee,token:n,providedIn:"platform"}),n})();function Cee(){return Ie(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:Aee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Aee(){return new kB(Ie(hn))}function CD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Ng=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Mee,token:n,providedIn:"root"}),n})();function Mee(n){const e=Ie(hn).location;return new BB(Ie(Tf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let BB=(()=>{class n extends Ng{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return CD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Tf),Ie(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ng),Ie(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=CD,n.stripTrailingSlash=LB,n.\u0275prov=We({factory:Iee,token:n,providedIn:"root"}),n})();function Iee(){return new kg(Ie(Ng),Ie(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Bee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return nX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class JE{}let fte=(()=>{class n extends JE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Bee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Gu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class gte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new gte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go),Ce(xg))},n.\u0275dir=Nt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new _te,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class _te{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class wte{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ete{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const xte=new Ete,Ste=new wte;let m0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return xte;if(x2(t))return Ste;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Ce(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:JE,useClass:fte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){HE||(HE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(_0=_0||document.querySelector("base"),_0?_0.getAttribute("href"):null);return null==t?null:function(n){tx=tx||document.createElement("a"),tx.setAttribute("href",n);const e=tx.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){_0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let tx,_0=null;const aV=new Ht("TRANSITION_ID"),Yte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Xte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const y0=new Ht("EventManagerPlugins");let ix=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),b0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const zD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},HD=/%COMP%/g;function rx(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new GD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new une(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new dne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=rx(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Ie(ix),Ie(b0),Ie(l0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class GD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(zD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=zD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=zD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class une extends GD{constructor(e,t,i,r){super(e),this.component=i;const s=rx(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(HD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(HD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class dne extends GD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=rx(r.id,r.styles,[]);for(let o=0;o{class n extends UD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],bne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},vne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let wne=(()=>{class n extends UD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return bne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&vne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Ie(WD)},token:n,providedIn:"root"}),n})(),WD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):W_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new V_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return function(n){return new WD(n.get(hn))}(Ie(Vu))},token:n,providedIn:"root"}),n})();const Dne=sB(bJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){VD.makeCurrent(),jD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Xi=n}(document),document},deps:[]}]),Ine=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:y0,useClass:hne,multi:!0,deps:[hn,fn,Xc]},{provide:y0,useClass:wne,multi:!0,deps:[hn]},[],{provide:sx,useClass:sx,deps:[ix,b0,l0]},{provide:yf,useExisting:sx},{provide:cV,useExisting:b0},{provide:b0,useClass:b0,deps:[hn]},{provide:oD,useClass:oD,deps:[fn]},{provide:ix,useClass:ix,deps:[y0,fn]},{provide:oV,useClass:Xte,deps:[]},[]];let qD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:l0,useValue:t.appId},{provide:aV,useExisting:l0},Yte]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:Ine,imports:[fr,TJ]}),n})();"undefined"!=typeof window&&window;class Bne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class ox extends Bne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Une=new class extends cc{}(class extends ox{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new O(n=>n.complete());function v0(n){return n?function(n){return new O(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Te(e)?(n.pop(),ke(n,e)):In(n)}function Fg(n,e){return new O(e?t=>e.schedule(Hne,0,{error:n,subscriber:t}):t=>t.error(n))}function Hne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return v0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ax extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ax.dispatch,this.delay,new $ne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class $ne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends oe{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Wne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new ax(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Wne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new qne(n))}class qne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Yne(e,this.project))}}class Yne extends we{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const lx={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return lx.schedule(n,0);if(void 0===window.requestAnimationFrame)return lx.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function rie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class oie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new aie(this.componentFactory,e)}}class aie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Nn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=lx.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=lx.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new u_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class lie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const uie={initialConfig:{},parse:{},rename:{}};class die{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},uie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let hie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new die(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Nt({type:n,features:[Li]}),n})();const KD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var QD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api--staging.herokuapp.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Vi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",ux=JD();class mie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function dx(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},w0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(ux&&w0.performance)n=w0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:ux&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},xie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Sie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new mie("__probe-".concat(this.id,"__"),xie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){dx(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Sie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?ux?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),dx(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!ux&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return dx(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return dx("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},PV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},gn=new tI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function hx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function fx(n){return qo(hx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const E0={};const x0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,$ie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:yr,32937:yr,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:yr,35071:yr,37447:yr,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:yr,35374:yr,35377:yr,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(NV)?2147483647:65535,33001:n=>n.getExtension(NV)?16777216:65535,33e3:n=>16777216,37157:yr,35373:yr,35657:yr,36183:yr,37137:yr,34045:yr,35978:yr,35979:yr,35968:yr,35376:yr,35375:yr,35659:yr,37154:yr,35371:yr,35658:yr,35076:yr,35077:yr,35380:yr},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=$ie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function ire(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&ire(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function S0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const ore={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=S0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=S0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=S0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const are={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function lre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];lre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new dre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)cre(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(hx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=ore[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)are[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function px(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=px(),yre=sI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(yre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);gn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>gn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),gn.level=Math.max(gn.level,1)):gn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const C0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==C0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${C0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(px()&&gn.log(1,`luma.gl ${C0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:C0,version:C0,log:gn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ma(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw gn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){fx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function T0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ire({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Rre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Pre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},Nre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,Pre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Nre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=T0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/T0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return gn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return gn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return gn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return gn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Lre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Pf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(D=>this.initialize(Object.assign({},e,{pixels:D,data:D}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:w=!1,mipmaps:x=!0}=e;const{depth:U=0}=e;return({width:h,height:f,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=U,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),x&&this._isNPOT()&&(gn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),x=!1,this._updateForNPOT(l)),this.mipmaps=x,this.setImageData({data:t,width:h,height:f,depth:U,format:s,type:m,dataFormat:g,border:o,mipmaps:x,parameters:c,compressed:w}),x&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let x=null;({data:c,dataType:x}=this._getDataType({data:c,compressed:m}));let U,D=0;return hc(this.gl,l,()=>{switch(x){case"null":w.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":U=Ao(w),U.bindBuffer(35052,c.handle||c),U.texImage2D(t,r,s,h,f,o,g,u,a),U.bindBuffer(35052,null);break;case"browser-object":Ci(w)?w.texImage2D(t,r,s,h,f,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[ie,_e]of c.entries())w.compressedTexImage2D(t,ie,_e.format,_e.width,_e.height,o,_e.data),D+=_e.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===x?D:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const x=i;i=x.data,o=x.shape[0],a=x.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,w,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const x=Ao(this.gl);x.bindBuffer(35052,i),x.texSubImage2D(e,l,r,s,o,a,h,u,g),x.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return gn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Lre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Bre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Pf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Pf.isSupported(e,t)}constructor(e,t={}){fx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Bre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Nf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Nf,bpp:2},33327:{gl2:Nf,bpp:4},34842:{gl2:Nf,bpp:8},33326:{gl2:Nf,bpp:4},33328:{gl2:Nf,bpp:8},34836:{gl2:Nf,bpp:16},35898:{gl2:Nf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let $re=(()=>{class n extends Pf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){fx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&gn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((w,x)=>{t&&i?u.texImage2D(g,x,a,t,i,o,a,l,w):u.texImage2D(g,x,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=gI,n})();class Wre extends Pf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof $re||n instanceof Wre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function qre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function gx(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=A0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(T0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=gx(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ire({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&gn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return gn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return gn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return gn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return gn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return gn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return gn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>gn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return gn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||gn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},sse=1/Math.PI*180,ose=1/180*Math.PI,Dr={};function lse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ose,void 0)}(n)}function use(n){return function(n,e){return Qu(n,t=>t*sse,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function mx(n,e,t){return uh(n)?n.map((i,r)=>mx(i,e[r],t)):t*e+(1-t)*n}function D0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Pj(n){return n&&n[Symbol.asyncIterator]}function SI(n,e=(()=>!0)){return Array.isArray(n)?Nj(n,e,[]):e(n)?[n]:[]}function Nj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Lse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function TI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=TI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const U=s;s=(D,ie)=>t._normalizeConstant(U(D,ie))}const m=f?(U,D)=>s(g,D):(U,D)=>s(g.subarray(U,U+a),D),w=n.getData({length:i}),x=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===wx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=wx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Nse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==wx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const x=h*a+l;for(let U=0;Uu?c.set(ie,w):(e._normalizeValue(ie,U.target,0),Pse({target:c,source:U.target,start:w,count:_e}));w+=_e*u}else e._normalizeValue(ie,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function Do(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",jse=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?jse:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,gn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Gse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const P0="vs",qse={[P0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},Ex="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,II=[];function qj(n,e,t,i=!1){const r=e===P0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(Ex,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(Ex,""),i&&(n=n.replace(/\}\s*$/,s=>s+qse[e])),n}function OI(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Yse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},xx="transform_uSize_",Yj="transform_position";const noe={10241:9728,10240:9728,10242:33071,10243:33071};class roe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${xx}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${xx}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=gx(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(noe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${xx}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(w){const{updatedLine:x,inject:U}=w;h[g]=x,c=OI([c,U]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${xx}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Yse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function ooe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=ooe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function uoe(n){return function(n){const e={},t={};return NI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function NI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new PI(t)).dependencies=Qj(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function yoe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{kf[n]=n});const FI={};function Zj(n,e,t={}){const i=kI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function Sx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Eoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],xoe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Soe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Coe=[...eU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Toe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Cx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ioe=`\n\n${Ex}\n\n`,tU={[P0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===P0,f=t.split("\n");let g=100,m="",w=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],w=f.slice(1).join("\n")):m=`#version ${g}`;const x={};r.forEach(Ne=>{Object.assign(x,Ne.getDefines())}),Object.assign(x,s);let U=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:yoe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return Sx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),Sx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),Sx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),Sx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(x)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const D=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),ie={},_e={},Pe={};for(const Ne in a){const Ve="string"==typeof a[Ne]?{injection:a[Ne],order:0}:a[Ne],bt=Ne.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const At=bt[3];bt[2]?"decl"===At?_e[Ne]=[Ve]:Pe[Ne]=[Ve]:ie[Ne]=[Ve]}else Pe[Ne]=[Ve]}for(const Ne of r){u&&Ne.checkDeprecations(w,u),U+=Ne.getModuleSource(i,g);const bt=Ne.injections[i];for(const xt in bt){const At=xt.match(/^(v|f)s:#([\w-]+)$/);if(At){const Wt="decl"===At[2]?_e:Pe;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else ie[xt]=ie[xt]||[],ie[xt].push(bt[xt])}}return U+=Ioe,U=qj(U,i,_e),U+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(D[i],ie),U+=w,U=qj(U,i,Pe),U=function(n,e,t){switch(e){case 300:return t?Cx(n,Eoe):function(n){const e=(n=Cx(n,xoe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Toe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?Cx(n,Soe):function(n){const e=(n=Cx(n,Coe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(U,l?100:g,h),U}function Poe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Voe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Tx,1,Io),36294:Ir.bind(null,"uniform2uiv",Tx,2,Io),36295:Ir.bind(null,"uniform3uiv",Tx,3,Io),36296:Ir.bind(null,"uniform4uiv",Tx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},joe={},Uoe={},zoe={},iU=[0];function VI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&gn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw gn.error(`GLSL compilation errors in ${r}\n${s}`)(),gn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class jI extends N0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends N0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,k0=5124,F0=5125,zI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[k0]:[k0,1,"int"],35667:[k0,2,"ivec2"],35668:[k0,3,"ivec3"],35669:[k0,4,"ivec4"],[F0]:[F0,1,"uint"],36294:[F0,2,"uvec2"],36295:[F0,3,"uvec3"],36296:[F0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Tae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Aae=35981,Mae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Mae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Aae}=e;return this.hash=t||"",this.vs="string"==typeof i?new jI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof jI),on(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Tae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:w,samplers:x}){if((w||x)&&(gn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),gn.priority>=e){const U=g?g.id:"default",D=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${U}`;gn.log(e,D)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const U=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(U)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){gn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!$oe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Pf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&Woe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new jI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),gn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),gn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||gn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(ie=>this._getHash(ie.name)).sort(),g=o.map(ie=>this._getHash(ie)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),x=[],U=[];for(const ie of m)x.push(this._getHash(ie)),x.push(this._getHash(r[ie]));for(const ie of w)U.push(this._getHash(ie)),U.push(this._getHash(s[ie]));const D=`${u}/${h}D${x.join("/")}M${f.join("/")}I${U.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[D]){const ie=function(n,e){const{vs:t,fs:i}=e,r=uoe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:P0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Poe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[D]=new mU(this.gl,{hash:D,vs:ie.vs,fs:ie.fs,varyings:o,bufferMode:a}),this._getUniforms[D]=ie.getUniforms||(_e=>{}),this._useCounts[D]=0}return this._useCounts[D]++,this._programCache[D]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":w0.chrome?"Chrome":w0.safari?"Safari":w0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Dx||Dx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const kae=/^(.+)__LOCATION_([0-9]+)$/,Fae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Lae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Fae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,gn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=kae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return gn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function B0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=B0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let w;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${B0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${B0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function jae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:B0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?B0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Hae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function $ae(n,e){const{attributeMap:t=Hae}=e||{};return t&&t[n]||n}function Wae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Xae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(hx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||L0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=$ae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new lr(n,l),c],Wae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),gn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&gn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:x}=this,{onBeforeRender:U=vU,onAfterRender:D=vU}=this.props;U(),this.program.setUniforms(this.uniforms);const ie=this.program.draw(Object.assign(Xae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:w,instanceCount:x,offset:h?g:0}));return D(),gn.priority>=2&&this._logDrawCallEnd(c,l,i),ie}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return gn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Lae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:gn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${jae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&gn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&gn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);gn.table(e,s)(),gn.table(e,o)(),gn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),gn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Gse(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new roe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Ix(){}const Zae={onStart:Ix,onUpdate:Ix,onInterrupt:Ix,onEnd:Ix};class V0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},Zae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ole={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,xn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),gx(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ale{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ole[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class fle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new ale(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=_le[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(xn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ox={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:ble}=Ox;function Ele(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Cle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ole(i[r],e[r])){t=n(i),e=i;break}return t}}function Rle(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],w=e[13],x=e[14],U=e[15],D=t*a-i*o,ie=t*l-r*o,_e=t*c-s*o,Pe=i*l-r*a,Ne=i*c-s*a,Ve=r*c-s*l,bt=u*w-h*m,xt=u*x-f*m,At=u*U-g*m,Bt=h*x-f*w,Wt=h*U-g*w,gt=f*U-g*x,mt=D*gt-ie*Wt+_e*Bt+Pe*At-Ne*xt+Ve*bt;return mt?(n[0]=(a*gt-l*Wt+c*Bt)*(mt=1/mt),n[1]=(r*Wt-i*gt-s*Bt)*mt,n[2]=(w*Ve-x*Ne+U*Pe)*mt,n[3]=(f*Ne-h*Ve-g*Pe)*mt,n[4]=(l*At-o*gt-c*xt)*mt,n[5]=(t*gt-r*At+s*xt)*mt,n[6]=(x*_e-m*Ve-U*ie)*mt,n[7]=(u*Ve-f*_e+g*ie)*mt,n[8]=(o*Wt-a*At+c*bt)*mt,n[9]=(i*At-t*Wt-s*bt)*mt,n[10]=(m*Ne-w*_e+U*D)*mt,n[11]=(h*_e-u*Ne-g*D)*mt,n[12]=(a*xt-o*Bt-l*bt)*mt,n[13]=(t*Bt-i*xt+r*bt)*mt,n[14]=(w*ie-m*Pe-x*D)*mt,n[15]=(u*Pe-h*ie+f*D)*mt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],w=e[12],x=e[13],U=e[14],D=e[15],ie=t[0],_e=t[1],Pe=t[2],Ne=t[3];return n[0]=ie*i+_e*a+Pe*h+Ne*w,n[1]=ie*r+_e*l+Pe*f+Ne*x,n[2]=ie*s+_e*c+Pe*g+Ne*U,n[3]=ie*o+_e*u+Pe*m+Ne*D,n[4]=(ie=t[4])*i+(_e=t[5])*a+(Pe=t[6])*h+(Ne=t[7])*w,n[5]=ie*r+_e*l+Pe*f+Ne*x,n[6]=ie*s+_e*c+Pe*g+Ne*U,n[7]=ie*o+_e*u+Pe*m+Ne*D,n[8]=(ie=t[8])*i+(_e=t[9])*a+(Pe=t[10])*h+(Ne=t[11])*w,n[9]=ie*r+_e*l+Pe*f+Ne*x,n[10]=ie*s+_e*c+Pe*g+Ne*U,n[11]=ie*o+_e*u+Pe*m+Ne*D,n[12]=(ie=t[12])*i+(_e=t[13])*a+(Pe=t[14])*h+(Ne=t[15])*w,n[13]=ie*r+_e*l+Pe*f+Ne*x,n[14]=ie*s+_e*c+Pe*g+Ne*U,n[15]=ie*o+_e*u+Pe*m+Ne*D,n}function Px(n,e,t){var o,a,l,c,u,h,f,g,m,w,x,U,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],w=e[9],x=e[10],U=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=w,n[10]=x,n[11]=U,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+f*r+x*s+e[14],n[15]=c*i+g*r+U*s+e[15]),n}function Nx(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function kx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],sce=[0,0,0],oce=[0,0,0],ace=Rx(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=PU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=kx([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,ice)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:sce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function PU(n,e,t=oce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class dce extends _x{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],w=n[14],x=n[15];return(e*o-t*s)*(h*x-f*w)-(e*a-i*s)*(u*x-f*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*x-f*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,w,x,U,D,ie,_e,Pe,Ne,Ve,bt,xt,At,Bt,Wt,gt,mt,jt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,XI=180/pc,KI=4003e4,Lx=85.051129;function Bx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*XI,i*XI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/KI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/KI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=Bx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*XI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function U0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Mce=Math.PI/180,Dce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Oce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&D0(t.projectionMatrix,this.projectionMatrix)&&D0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=U0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Bx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const x=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:U,aspect:D,focalDistance:ie,near:_e,far:Pe}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Ne=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Px(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Nx(o,o,[r/=n,r,r]),s&&Px(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:x,altitude:w});f&&(Ne=(new qn).translate([512*f,0,0]).multiplyLeft(Ne)),super(xn(ot({},t),{width:g,height:m,viewMatrix:Ne,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:U,aspect:D,focalDistance:ie,near:_e,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(xn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=U0(i,this.pixelUnprojectionMatrix),o=Fx([],this.projectFlat(t),NU([],r)),a=Fx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Bx([a,BU(u,-Lx,Lx)]),f=Bx([c,BU(l,-Lx,Lx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const w=m[0]/g[0],x=m[1]/g[1],_e=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/w,(f[1]+h[1])/2+(s.bottom-s.top)/2/x]),Pe=Math.min(r,YI(Math.abs(Math.min(w,x))));return ed(Number.isFinite(Pe)),{longitude:_e[0],latitude:_e[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=kx([],[o,a,l,1],t)),i){case ji.LNGLAT:return eO([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return eO(jU(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Nce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Lce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||H0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=Vx(n);return"function"===t||t===Vx(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||H0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,xn(ot({},e),{parameters:ot(ot(ot({},Nce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!H0(n)||!H0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Kce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Yce]||{},i=e[qce]||e,r=e[Xce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Pj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=rO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const x=m,{dataTransform:U}=i.component?i.component.props:{};a=U?U(x,a):a.concat(x),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(x){u=!0,h=x}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:tz,ASYNC_RESOLVED:nz,ASYNC_DEFAULTS:Qce}=Ox,Zce={};let Jce=0,eue=(()=>{class n{constructor(){this.props=jce.apply(this,arguments),this.id=this.props.id,this.count=Jce++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Qce])s in i[nz]?r[s]=i[nz][s]:s in i[tz]&&(r[s]=i[tz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new ez({})}}return n.componentName="Component",n.defaultProps=Zce,n})();class tue extends ez{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,rz=n=>hh(n)&&n.constructor==={}.constructor,nue=n=>n&&"function"==typeof n[Symbol.iterator],iue=n=>n&&"function"==typeof n[Symbol.asyncIterator],$0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,sz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Lf(n,"null loader"),Lf(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=xn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=tu.global||tu.self||tu.window||{},cue="object"!=typeof process||"[object process]"!==String(process)||process.browser,oz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oz&&parseFloat(oz[1]);const cO={};function uue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const due=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,hue=/^([-\w.]+\/[-\w.+]+)/;function fue(n){const e=hue.exec(n);return e?e[1]:n}function az(n){const e=due.exec(n);return e?e[1]:""}const pue=/\?.*/;function Hx(n){if($0(n)){const e=uO(n.url||"");return{url:e,type:fue(n.headers.get("content-type")||"")||az(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:az(n)}:{url:"",type:""}}function gue(n){return $0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(pue,"")}function lz(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if($0(n))return n;const e={},t=gue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=Hx(n);r&&(e["content-type"]=r);const s=yield yue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function mue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){if(!n.ok){const e=yield _ue(n);throw new Error(e)}})).apply(this,arguments)}function _ue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function yue(n){return pO.apply(this,arguments)}function pO(){return(pO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${bue(n.slice(0,5))}`:null})).apply(this,arguments)}function bue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const dz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Eue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},dz),n.globalOptions};function xue(n,e,t,i){return t=t||[],function(n,e){fz(n,null,dz,Eue,e);for(const t of e)fz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new vue),gz(r,_O()),gz(r,e),r}(e,n,i)}function hz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>cz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:cz}function fz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)uz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Cue(a,r);uz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Cue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function gz(n,e){for(const t in e)t in e&&(n[t]=rz(e[t])&&rz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Mue(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Due=iu.global||iu.self||iu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,Iue="undefined"!=typeof window&&void 0!==window.orientation,mz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(mz&&parseFloat(mz[1]),new Map);function _z(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function yz(n,e=!0,t){const i=t||new Set;if(n)if(bz(n))i.add(n);else if(bz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)yz(n[r],e,i);return void 0===t?Array.from(i):[]}function bz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class vz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||yz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_z(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=_z(n.source),vO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Nue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class kue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Nue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return vz.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Fue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new kue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Bue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function Vue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function jue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i,r){const s=n.id,o=Bue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Uue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Uue(n,e,t,i){return xO.apply(this,arguments)}function xO(){return(xO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var Ez=et(9521);function xz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Ez.toArrayBuffer?Ez.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function $ue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Sz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Wue(n){return CO.apply(this,arguments)}function CO(){return(CO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return $ue(...e)})).apply(this,arguments)}const Xue=262144;function Cz(n){this.wrapped=n}function W0(n){return new Cz(n)}function q0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Cz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function AO(n){return function(){return new q0(n.apply(this,arguments))}}function MO(){return(MO=AO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function ide(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return nde(n,e);if(em(n)&&(n=yield lz(n)),$0(n)){const r=n;return yield mue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(sz(n)&&(n=tde(n,t)),nue(n)||iue(n))return Wue(n);throw new Error(OO)})).apply(this,arguments)}function sde(n,e,t=null){if(t)return t;const i=ot({fetch:hz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ode(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Az=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Mz(n){const e=Az();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const lde=/\.([^.]+)$/;function cde(n){return kO.apply(this,arguments)}function kO(){return(kO=li(function*(n,e=[],t,i){if(!Iz(n))return null;let r=Dz(n,e,xn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Dz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Oz(n));return r})).apply(this,arguments)}function Dz(n,e=[],t,i){if(!Iz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Az()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=Hx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&lde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(gde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Rz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Rz(e,0,t))return t;return null}(e,n),a=a||FO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Oz(n));return s}function Iz(n){return!(n instanceof Response&&204===n.status)}function Oz(n){const{url:e,type:t}=Hx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function gde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Rz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Tde={data:{type:"data",value:Sde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=xn(ot({},r),{fetch:xn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:Y0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):Y0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let X0=(()=>{class n extends eue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=PU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Rle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Cde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rPz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=M0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,Pz)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Cle(n,e),transitionsChanged:Ele(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new fle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new yle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Tde,n})(),Nz=(()=>{class n extends X0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U,_subLayerProps:D}=this.props,ie={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U},_e=D&&D[t.id],Pe=_e&&_e.updateTriggers,Ne=t.id||"sublayer";if(_e){const Ve=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in _e){const At=bt[xt]||Ve[xt];At&&"accessor"===At.type&&(_e[xt]=this.getSubLayerAccessor(_e[xt]))}}Object.assign(ie,t,_e),ie.id="".concat(this.props.id,"-").concat(Ne),ie.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const Ve of x){const bt=Ve.getSubLayerProps.call(this,Ve);bt&&Object.assign(ie,bt,{updateTriggers:Object.assign(ie.updateTriggers,bt.updateTriggers)})}return ie}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=SI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Mde=/([0-9]+\.?[0-9]*)(%|px)/;function $x(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Mde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function Wx(n,e){return n.relative?Math.round(n.position*e):n.position}function K0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&K0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=xn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):K0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:Wx(this._x,e),y:Wx(this._y,t),width:Wx(this._width,e),height:Wx(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=$x(e),this._y=$x(t),this._width=$x(i),this._height=$x(r)}}const Q0=()=>{},kz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Q0,onTransitionInterrupt:Q0,onTransitionEnd:Q0};class Dde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},kz),t),this.propsInTransition=null,this.transition=new V0(t.timeline),this.onViewStateChange=t.onViewStateChange||Q0,this.onStateChange=t.onStateChange||Q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},kz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Fz=["longitude","latitude","zoom","bearing","pitch"],Ode=["longitude","latitude","zoom"];class Lz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!D0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Fz,extract:Fz,required:Ode}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=mx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,mx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Rde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},Yx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Dde(e,xn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&xn(ot({},Rde),{transitionInterpolator:new Lz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,xn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,xn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?xn(ot({},t),{transitionInterpolator:new Lz(xn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class Bz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Xx extends Bz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(xn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Xx(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Nde extends zO{constructor(e){super(Xx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Xx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Fde=(new qn).lookAt({eye:[0,0,1]});function Lde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Bde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(xn(ot({},e),{longitude:null,position:a,viewMatrix:Fde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Lde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=Fx([],e,NU([],U0(t,this.pixelUnprojectionMatrix)));return{target:Fx([],this.center,r)}}}let Vde=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:Bde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrthographicView",n})();const Kx=Math.PI/180;function jde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Kx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Kx),"Z"===t?c.rotateZ(r*Kx):c.rotateY(r*Kx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Ude extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(xn(ot({},e),{longitude:null,viewMatrix:jde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=U0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let zde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(xn(ot({},t),{orbitAxis:i,type:Ude}))}get controller(){return this._getControllerProps({type:Nde})}}return n.displayName="OrbitView",n})();const Hde=[255,255,255],Gde=1;let $de=0;class Vz{constructor(e={}){const{color:t=Hde}=e,{intensity:i=Gde}=e;this.id=e.id||"ambient-".concat($de++),this.color=t,this.intensity=i,this.type="ambient"}}const Wde=[255,255,255],qde=1,Yde=[0,0,-1];let Xde=0;class jz{constructor(e={}){const{color:t=Wde}=e,{intensity:i=qde}=e,{direction:r=Yde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Xde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Uz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=zz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||zz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Jde extends HO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(xn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const the=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),nhe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),ihe="".concat(the,"\n").concat(nhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),rhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ihe,getUniforms:function(n=rhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=ace({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||rce,o}(n):{}}},lhe=Rx(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),che=Rx(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=U0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),uhe=[0,0,0,1],dhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||uhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=lhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=che({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},mhe={color:[255,255,255],intensity:1},Hz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],_he=[0,0,0,200/255];class WO extends Uz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=_he,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=L0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=bhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class vhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=Y0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class whe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new vhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ehe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],xhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function She(n){const e=L0.getDefaultProgramManager(n);for(const t of Ehe)e.addDefaultModule(t);for(const t of xhe)e.addShaderHook(t);return e}const Ahe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Mhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new whe({gl:e,protocol:"deck://"}),this.context=xn(ot({},Ahe),{layerManager:this,gl:e,deck:t,programManager:e&&She(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Gz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=SI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Dhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=SI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!K0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=xn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Ohe extends Bz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie,normalize:_e}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:_e}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(xn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(xn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Rhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Ohe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Phe=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Rhe})}}return n.displayName="MapView",n})();const Nhe=new WO;class khe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!K0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Nhe)}}class Fhe extends HO{}const Wz={blendFunc:[1,0,32771,0],blendEquation:32774};class qz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,xn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Wz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:xn(ot({},Wz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Bhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Fhe(e),this.pickLayersPass=new qz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(xn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Vhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function jhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let x=0;x=0){const D=x+o-t,ie=D*D+w;ie<=u&&(u=ie,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const x=w.decodePickingColor(m),U=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:x,pickedX:o+(h/4-U*l),pickedY:a+U}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Vhe}function Yz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(w=>w.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Yz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=ot({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=Xz({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function Xz({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Ghe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new qz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Yz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=rI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:w,height:x}=this.pickingFBO,U=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:x});let D;const ie=[],_e={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:U,width:w.x+w.width-g,height:m-U},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Ne=Number.isFinite(c);for(let Ve=0;Ve<_e.length&&!(Ne&&Pe.size>=c);Ve++){const bt=_e[Ve];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=Xz({layer:bt.pickedLayer,info:xt,mode:l}),Pe.has(xt.object)||Pe.set(xt.object,xt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return gx(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const $he={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class Whe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,$he),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function Kz(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Qz=su.global||su.self||su.window,Yhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Zz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Xhe}=(Zz&&parseFloat(Zz[1]),Qz),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,Khe=Boolean(Xhe),XO=!!Yhe||Khe;function Jz(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function e4(n){switch(Jz(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const Jhe=/^data:image\/svg\+xml/,efe=/\.svg((\?|#).*)?$/;function KO(n){return n&&(Jhe.test(n)||efe.test(n))}function tfe(n,e){if(KO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return n4(n,e)}function n4(n,e){if(KO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function i4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e,t){const i=tfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield nfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function nfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ife={};let r4=!0;function rfe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e,t){let i;i=KO(t)?yield i4(n,e,t):n4(n,t);const r=e&&e.imagebitmap;return yield sfe(i,r)})).apply(this,arguments)}function sfe(n){return eR.apply(this,arguments)}function eR(){return(eR=li(function*(n,e=null){if((ofe(e)||!r4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),r4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function ofe(n){for(const e in n||ife)return!1;return!0}const ou=!1,Z0=!0;function tR(n){const e=J0(n);return function(n){const e=J0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=J0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Z0),height:e.getUint16(8,Z0)}:null}(e)||function(n){const e=J0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Z0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Z0),height:e.getUint32(22,Z0)}:null}(e)}function J0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function hfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=Qz;return Kz(i),i(n,t,e)}function nR(){return(nR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(pfe(r)){case"imagebitmap":a=yield rfe(n,e,s);break;case"image":a=yield i4(n,e,s);break;case"data":a=yield hfe(n,e);break;default:Kz(!1)}return"data"===r&&(a=e4(a)),a})).apply(this,arguments)}function pfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(XO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||XO;case"imagebitmap":return YO;case"image":return qO;case"data":return XO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const mfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},eb="8.5.8",Qx=nm.CO.deck&&nm.CO.deck.VERSION;if(Qx&&Qx!==eb)throw new Error("deck.gl - multiple versions detected: ".concat(Qx," vs ").concat(eb));Qx||(Ri.log(1,"deck.gl ".concat(eb))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:eb,version:eb,log:Ri,_registerLoggers:function(n){MI=n}}),Mz([mfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const _fe=nm.CO.deck;class Zx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Zx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const s4=px()&&"undefined"!=typeof document;let Afe=0;class Mfe{constructor(e={}){const{onCreateContext:t=(x=>XV(x)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Afe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(gn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Zx.isSupported(this.gl,["timers"])?new Zx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return gn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=s4?new Promise((e,t)=>{s4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!hx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(gn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(gn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Dfe=et(1524),Jx=et.n(Dfe);const Ife={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Jx().MouseInput);const Nfe=Jx().Manager,au=Jx(),kfe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,l4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Ffe={doubletap:["tap"]},Lfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Bfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},c4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Vfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let u4=!1;try{const n={get passive(){return u4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const jfe=-1!==Vfe.indexOf("firefox"),{WHEEL_EVENTS:Ufe}=sR,h4=4.000244140625;class Gfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Ufe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!u4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(jfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%h4==0&&(t=Math.floor(t/h4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:$fe}=sR,f4="pointermove",p4="pointerover",g4="pointerout",m4="pointerleave";class Wfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=$fe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===f4&&(this.enableMoveEvent=t),e===p4&&(this.enableOverEvent=t),e===g4&&(this.enableOutEvent=t),e===m4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:p4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:g4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:m4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:f4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:qfe}=sR,_4="keydown";class Yfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const b4="contextmenu";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===b4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:b4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Kfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},v4={srcElement:"root",priority:0};class lpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},v4,i):v4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&l4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Gfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Wfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Yfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Xfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Ffe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=c4[e]||e;let c=a.get(l);c||(c=new lpe(this),a.set(l,c),c.recognizerName=Bfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(c4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Lfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const w4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class tS{constructor(e){e=ot(ot({},w4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&M0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!K0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Mfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(xn(ot(ot({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Phe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new Whe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Gz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new upe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in PV)this.eventManager.on(r,this._onEvent);this.viewManager=new Dhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Mhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new khe,this.deckRenderer=new Bhe(e),this.deckPicker=new Ghe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=xn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=PV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}tS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Uz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},tS.defaultProps=w4,tS.VERSION=_fe.VERSION;const nS={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ppe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},iS=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ppe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),E4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return E4}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=E4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const x4=()=>{},vpe={10241:9987,10240:9729,10242:33071,10243:33071};function wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Epe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function tb(n){return n&&(n.id||n.url)}function S4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(S4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&S4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:wpe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=A0(n);on(f);const{gl:m,handle:w}=f,x=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const U=m.bindFramebuffer(36160,w);on(e);let D=null;if(e instanceof Pf&&(D=e,u=Number.isFinite(u)?u:D.width,h=Number.isFinite(h)?h:D.height,D.bind(0),e=D.target),x)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);D&&D.unbind(),m.bindFramebuffer(36160,U||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,Y0(i.url,iR,this._loadOptions).then(r=>{const s=tb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Epe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const C4=[0,0,0,255],Ape={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:C4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Mpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.state={iconManager:new Tpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:C4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Ape,n})();const A4=[],Ipe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Ope=(()=>{class n extends Mpe{getShaders(){return xn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=xn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):A4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):A4}}return n.layerName="MultiIconLayer",n.defaultProps=Ipe,n})();var Rpe=et(1002),Ppe=et.n(Rpe);const kpe=[];function Fpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function M4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=M4(n,a,l,r);c+h>i&&(oi&&(h=D4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function jpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let w=0;w<=s;w++){const x=n[w];if(("\n"===x||w===s)&&(m=w),m>g){const U=c?Vpe(n,t,i,r,g,m):kpe;for(let D=0;D<=U.length;D++){const ie=0===D?g:U[D-1],_e=Di===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Wpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Ype(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");j4(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:x}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Fpe(a+(l+1)*h)}}(ot({getFontWidth:U=>f.measureText(U).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const U=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(U,0,0)}if(j4(f,r,o,s),l){const U=new(Ppe())(o,a,c,u,r,s),D=f.getImageData(0,0,U.size,U.size);for(const ie of t)Ype(U.draw(ie),D),f.putImageData(D,g[ie].x-a,g[ie].y+a)}else for(const U of t)f.fillText(U,g[U].x,g[U].y+.9*o);return{xOffset:w,yOffset:x,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Zpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Jpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Zpe,n})();const U4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},z4={start:1,middle:0,end:-1},H4={top:1,center:0,bottom:-1},cR=[0,0,0,255],tge=["fontSize","buffer","sdf","radius","cutoff"],nge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:O4},fontFamily:R4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let ige=(()=>{class n extends Nz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Xpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(xn(ot(ot({},U4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return tge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=vx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=I4(h,l,o,a,r);return[(z4["function"==typeof c?c(t,i):c]-1)*f/2,(H4["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[w,x]}=I4(h,l,o,a,r),U=z4["function"==typeof c?c(t,i):c],D=H4["function"==typeof u?u(t,i):u],ie=f.length,_e=new Array(2*ie);let Pe=0;for(let Ne=0;Net*e/255)}const dR={name:"lights",vs:G4,fs:G4,getUniforms:function $4(n=rge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},oge={};const lge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=oge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,rS=new Float32Array(16),Y4=new Float32Array(12);function X4(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function K4(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Q4={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let w;g?(rS.set(a),w=K4(rS)):(w=Y4,X4(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:x,objectInfo:U}=vx(i,e,t);for(const D of x){let ie;U.index++,g?(rS.set(c?a:a(D,U)),ie=K4(rS)):(ie=Y4,X4(ie,h?r:r(D,U),u?s:s(D,U)),ie.set(f?o:o(D,U),9)),m[w++]=ie[0],m[w++]=ie[1],m[w++]=ie[2],m[w++]=ie[3],m[w++]=ie[4],m[w++]=ie[5],m[w++]=ie[6],m[w++]=ie[7],m[w++]=ie[8],m[w++]=ie[9],m[w++]=ie[10],m[w++]=ie[11]}}}};function Z4(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function J4(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function dge(n,e){if(n.attributes)return J4(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return J4(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const hge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let fge=(()=>{class n extends X0{getShaders(){const t=!Ci(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[nS,lge,iS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q4}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Z4(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,xn(ot({},this.getShaders()),{id:this.props.id,geometry:dge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=hge,n})();const eH={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class nb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;gn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof nb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function tH(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],w=t[3],x=t[4],U=t[5],D=t[6],ie=t[7],_e=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=w*i+x*o+U*c,n[4]=w*r+x*a+U*u,n[5]=w*s+x*l+U*h,n[6]=D*i+ie*o+_e*c,n[7]=D*r+ie*a+_e*u,n[8]=D*s+ie*l+_e*h,n}function nH(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function iH(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function rH(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function sS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function sH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function oH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function aH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function lH(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function ib(n,e,t,i){var f,g,m,w,x,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-i)*f)/m,x=Math.sin(i*f)/m):(w=1-i,x=i),n[0]=w*r+x*l,n[1]=w*s+x*c,n[2]=w*o+x*u,n[3]=w*a+x*h,n}function cH(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function uH(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var dH=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=IU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},hH=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},fH=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},pH=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},mH=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(I0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&I0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(I0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();iH(),iH(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const xge=[0,0,0,1];class _R extends _x{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return rH(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get w(){return this[3]}set w(e){this[3]=ir(e)}len(){return fH(this)}lengthSquared(){return pH(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return mH(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return dH(this,this,e),this.check()}calculateW(){return lH(this,this),this.check()}conjugate(){return uH(this,this),this.check()}invert(){return cH(this,this),this.check()}lerp(e,t,i){return hH(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),sS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),sS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),yx(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Sge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _H(n){if(!n._animation){const e=Cge[n.componentType],t=Sge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:gn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_H(e.accessors[a]),interpolation:l,output:_H(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Rge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Nge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class kge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(gn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function yH(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const Vge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},jge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Uge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},jge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Pge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new nb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new nb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new nb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){gn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new kge(n,e);gn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Nge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[eH],defines:a.defines,parameters:a.parameters,vs:yH(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:yH(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),gn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Vge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function bH(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=xH(xH(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function xH(n,e){return new Map([...n||new Map,...e||new Map])}let kr,SH,CH,TH,AH,MH,DH,IH;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class bR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,SH=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[SH](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Qge extends om{constructor(){super(!0,8)}}class Zge extends om{constructor(){super(!0,16)}}class Jge extends om{constructor(){super(!0,32)}}class eme extends om{constructor(){super(!1,8)}}class tme extends om{constructor(){super(!1,16)}}class nme extends om{constructor(){super(!1,32)}}CH=Symbol.toStringTag;class OH extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[CH](){return"Float"}toString(){return`Float${this.precision}`}}class ime extends OH{constructor(){super(32)}}class rme extends OH{constructor(){super(64)}}Symbol,Symbol,TH=Symbol.toStringTag,AH=Symbol.toStringTag,MH=Symbol.toStringTag,DH=Symbol.toStringTag,IH=Symbol.toStringTag;class sme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[IH](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class oS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new oS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function RH(n,e,t){const i=t?PH(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Qge;case Uint8Array:return new eme;case Int16Array:return new Zge;case Uint16Array:return new tme;case Int32Array:return new Jge;case Uint32Array:return new nme;case Float32Array:return new ime;case Float64Array:return new rme;default:throw new Error("array type not supported")}}(e.value);return new oS(n,new sme(e.size,new oS("value",r)),!1,i)}function PH(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const NH={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},cme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class dme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=PH(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=RH(o,n[o],s[o]);r.push(l)}if(t){const o=RH("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return xn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var aS=et(9125);const xR={};function SR(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n,e=null,t={}){return e&&(n=mme(n,e,t)),xR[n]=xR[n]||_me(n),yield xR[n]})).apply(this,arguments)}function mme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function _me(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):yme(yield(yield fetch(n)).text(),n):aS.requireFromFile&&(yield aS.requireFromFile(n))})).apply(this,arguments)}function yme(n,e){if(!yO)return aS.requireFromString&&aS.requireFromString(n,e);if(bO)return eval.call(Due,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const bme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let rb;function xme(n){return AR.apply(this,arguments)}function AR(){return(AR=li(function*(n){const e=n.modules||{};return rb=e.draco3d?rb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):rb||Sme(n),yield rb})).apply(this,arguments)}function Sme(n){return DR.apply(this,arguments)}function DR(){return(DR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield SR(bme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield SR(vme,"draco",n),yield SR(wme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Cme(e,t)})).apply(this,arguments)}function Cme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(xn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=xn(ot({},EH),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=li(function*(n,e){const{draco:t}=yield xme(e),i=new dme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function ob(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Mme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+ob(i.byteLength,4)}const kH=["SCALAR","VEC2","VEC3","VEC4"],Dme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ime=new Map(Dme),Ome={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function FH(n){return kH[n-1]||kH[0]}function LH(n){const e=Ime.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function BH(n,e){const t=Pme[n.componentType],i=Ome[n.type],s=n.count*i,o=n.count*i*Rme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Nme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Nme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=BH(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=ob(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:FH(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:LH(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Mme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*$me(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function Wme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(cS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,cS)})).apply(this,arguments)}function qme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,cS,{}),e.addExtension(cS))}function Yme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Xme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Kme(n){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(uS);if(i){const r=Zme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,uS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=Jme(s.technique,e)),e.removeObjectExtension(s,uS)}e.removeExtension(uS)}})).apply(this,arguments)}function Qme(n,e){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e){})).apply(this,arguments)}function Zme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function Jme(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const UH={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Dt,KHR_techniques_webgl:dt};function e_e(n){return jR.apply(this,arguments)}function jR(){return(jR=li(function*(n,e={},t){for(const r in UH){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield UH[r].decode(n,e,t))}})).apply(this,arguments)}const zH={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},n_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class i_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,VH);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(VH)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in zH)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in zH)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=n_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function r_e(n,e={}){return(new i_e).normalize(n,e)}const s_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},o_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},a_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},l_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class d_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return o_e[n]}(e.componentType),e.components=function(n){return s_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=BH(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):l_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return a_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function h_e(n,e){return(new d_e).postProcess(n,e)}const HH=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),ob(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),ob(i,4)}function S_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t=0,i,r){var s,o,a,l;C_e(n,e,t,i),r_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield T_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=A_e(n,i,r);c.push(h)}const u=e_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?h_e(n,i):n})).apply(this,arguments)}function C_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=HH}=t,s=i.getUint32(e,!1);return s===r||s===HH}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?bH(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?bH(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=ob(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function T_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield O_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function O_e(n){return KR.apply(this,arguments)}function KR(){return(KR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const GH=[255,255,255,255],N_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:GH},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let k_e=(()=>{class n extends X0{getShaders(){const t=[nS,iS];return"pbr"===this.props._lighting&&t.push(eH),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:GH,transition:!0},instanceModelMatrix:Q4})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Uge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return XR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Z4(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=N_e,n})();class F_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const U=i;i=(D,ie,_e,Pe,Ne)=>U}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let U=0;U<=e;U++)for(let D=0;D<=t;D++){const ie=D/t,_e=U/e,Pe=D+U*(t+1),Ne=2*Pe,Ve=3*Pe,bt=c*ie,xt=o*_e,At=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),mt=Bt*Wt,jt=Math.cos(xt),ft=At*Wt,Yt=i(mt,jt,ft,ie,_e);h[Ve+0]=Yt*mt,h[Ve+1]=Yt*jt,h[Ve+2]=Yt*ft,f[Ve+0]=mt,f[Ve+1]=jt,f[Ve+2]=ft,g[Ne+0]=ie,g[Ne+1]=1-_e}const x=t+1;for(let U=0;Us?(gt=i,Wt=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,Wt=0),gt-=i/2;for(let jt=0;jts?0:ft*w,Ve[xt+Pe[1]]=Bt<0?-1:Bt>s?1:x,Ve[xt+Pe[2]]=Bt<0||Bt>s?0:Yt*w,bt[At+0]=jt/r,bt[At+1]=Wt,At+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new ce){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new ce){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new ce){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new ce){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new ce){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=X_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=K_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(WH),WH.almostEquals(e,t)}clone(){return new ce(this.x,this.y,this.z)}}ce.ZERO=void 0,ce.UNIT_X=void 0,ce.UNIT_Y=void 0,ce.UNIT_Z=void 0,ce.ZERO=new ce(0,0,0),ce.UNIT_X=new ce(1,0,0),ce.UNIT_Y=new ce(0,1,0),ce.UNIT_Z=new ce(0,0,1);const X_e=new ce,K_e=new ce,WH=new ce;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new ce,this.upperBound=new ce,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const qH=new ce,YH=[new ce,new ce,new ce,new ce,new ce,new ce,new ce,new ce];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new ce){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=Z_e;e.tangents(i,J_e),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new ce){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,w,x,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-t)*f)/m,x=Math.sin(t*f)/m):(w=1-t,x=t),i.x=w*r+x*l,i.y=w*s+x*c,i.z=w*o+x*u,i.w=w*a+x*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const Z_e=new ce,J_e=new ce,eye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let mn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=eye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new ce,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new ce){return i.vsub(e,r),t.conjugate(KH),KH.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new ce){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new ce){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new ce){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const KH=new us;class jf extends mn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:mn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new ce;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new ce,u=new ce,h=new ce,f=new ce,g=new ce,m=new ce;let w=Number.MAX_VALUE;const x=this;if(x.uniqueAxes)for(let U=0;U!==x.uniqueAxes.length;U++){i.vmult(x.uniqueAxes[U],c);const D=x.testSepAxis(c,e,t,i,r,s);if(!1===D)return!1;D0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,QR),jf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?_n.STATIC:_n.DYNAMIC,typeof e.type==typeof _n.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=_n.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new ce,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new ce,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new ce,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new ce,this.invInertia=new ce,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new ce,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new ce(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new ce(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new ce,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=_n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===_n.SLEEPING&&this.dispatchEvent(_n.wakeupEvent)}sleep(){this.sleepState=_n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===_n.AWAKE&&ir?this.wakeUp():t===_n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(_n.sleepEvent))}}updateSolveMassProperties(){this.sleepState===_n.SLEEPING||this.type===_n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new ce){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new ce){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new ce,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=iye,o=rye,a=this.quaternion,l=this.aabb,c=sye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=oye,r=aye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=lye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=cye,r=uye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===_n.DYNAMIC&&(this.sleepState===_n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=t,r=dye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=hye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=fye,r=pye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=gye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),hS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new ce;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==_n.DYNAMIC&&this.type!==_n.KINEMATIC||this.sleepState===_n.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,w=this.angularFactor,x=l.x*w.x,U=l.y*w.y,D=l.z*w.z;s.x+=e*(m[0]*x+m[1]*U+m[2]*D),s.y+=e*(m[3]*x+m[4]*U+m[5]*D),s.z+=e*(m[6]*x+m[7]*U+m[8]*D),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}_n.idCounter=0,_n.COLLIDE_EVENT_NAME="collide",_n.DYNAMIC=1,_n.STATIC=2,_n.KINEMATIC=4,_n.AWAKE=0,_n.SLEEPY=1,_n.SLEEPING=2,_n.wakeupEvent={type:"wakeup"},_n.sleepyEvent={type:"sleepy"},_n.sleepEvent={type:"sleep"};const iye=new ce,rye=new us,sye=new pr,oye=new lu,aye=new lu,lye=new ce,cye=new ce,uye=new ce,dye=new ce,hye=new ce,fye=new ce,pye=new ce,gye=new ce;new ce,new ce;class fS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new ce,this.rayToWorld=new ce,this.hitNormalWorld=new ce,this.hitPointWorld=new ce,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let QH,ZH,JH,e8,t8,n8,i8;QH=mn.types.SPHERE,ZH=mn.types.PLANE,JH=mn.types.BOX,e8=mn.types.CYLINDER,t8=mn.types.CONVEXPOLYHEDRON,n8=mn.types.HEIGHTFIELD,i8=mn.types.TRIMESH;class ys{get[QH](){return this._intersectSphere}get[ZH](){return this._intersectPlane}get[JH](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new ce,t=new ce){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new ce,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new fS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new fS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),nP.length=0,e.broadphase.aabbQuery(e,r8,nP),this.intersectBodies(nP),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Eye,s=xye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new ce(0,0,1);t.vmult(c,c);const u=new ce;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(o.lerp(a,x,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Mye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,x=m.distanceTo(this.to),U=c?c.length:u.length,D=this.result;for(let ie=0;!D.shouldStop&&iex||this.reportIntersection(a,va,s,r,_e)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Dye,l=kye,c=Fye,u=o8,h=Iye,f=Oye,g=Rye,m=Nye,w=Pye,x=e.indices,U=this.from,D=this.to,ie=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,ie,h),Wi.pointToLocalFrame(i,t,U,f),Wi.pointToLocalFrame(i,t,D,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const _e=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Ne=l.length;!this.result.shouldStop&&Pe!==Ne;Pe++){const Ve=l[Pe];e.getNormal(Ve,a),e.getVertex(x[3*Ve],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(x[3*Ve+1],uu),e.getVertex(x[3*Ve+2],du);const At=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||At>_e||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,va,m),this.reportIntersection(w,m,s,r,Ve))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends oe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){Mz([EH,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oP(n,e){return Vi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Gx(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Lve(n,e){return Vi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function aP(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new F_e;break;case"cone":i=new j_e;break;case"cylinder":i=new U_e;break;case"cube":default:i=new q_e}return new fge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new ige(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Vve=(()=>{class n extends Nz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oP({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new k_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Lve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aP(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aP(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aP(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Vi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new ce(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield Y0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...f.map((m,w)=>Math.min(m,g[w]))),upperBound:new ce(...g.map((m,w)=>Math.max(m,f[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e5(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e5(t,e);return e}let Uve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Vve({}),this.nodeClickSubject=new oe,this.nodeHoverStartSubject=new oe,this.nodeHoverStopSubject=new oe,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new oe,this.nodeDragSubject=new oe,this.nodeDragEndSubject=new oe,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Vde({flipY:!1,near:-1e3}):new zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new Vz({color:[255,255,255],intensity:10})})]),this.deck=new tS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Vi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Vi(this,void 0,void 0,function*(){Q8();const i=yield oP({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),f=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new pr({lowerBound:new ce(...h.map((g,m)=>Math.min(g,f[m]))),upperBound:new ce(...f.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of e5(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new ce(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t5 extends y{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class zve extends y{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n5(n,e,t,i,r=new zve(n,t,i)){if(!r.closed)return e instanceof O?e.subscribe(r):Me(e)(r)}const i5={};function yc(...n){let e,t;return Te(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0]),In(n,t).lift(new r5(e))}class r5{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Hve(e,this.resultSelector))}}class Hve extends t5{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i5),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lP=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cP=new Ht("INITIAL_STATE_TOKEN");let Xve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s5=new Ht("Internals.StateContextFactory"),o5=new Ht("Internals.StateFactory");function pb(...n){if(1===n.length){const e=n[0];if(k(e))return xS(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return xS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return xS(n=1===n.length&&k(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return xS(n,null)}function xS(n,e){return new O(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new Kve(n,e))}}class Kve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Qve(e,this.predicate,this.thisArg))}}class Qve extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a5=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?v0():e.lift(new Jve(n))}class Jve{constructor(e){if(this.total=e,this.total<0)throw new a5}call(e,t){return t.subscribe(new ewe(e,this.total))}}class ewe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l5(n,e){return e?t=>t.pipe(l5((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new twe(n))}class twe{constructor(e){this.project=e}call(e,t){return t.subscribe(new nwe(e,this.project))}}class nwe extends we{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function SS(n=null){return e=>e.lift(new iwe(n))}class iwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new rwe(e,this.defaultValue))}}class rwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new swe(n),r=t.lift(i);return i.caught=r}}class swe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new owe(e,this.selector,this.caught))}}class owe extends we{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new awe(n))}class awe{constructor(e){this.notifier=e}call(e,t){const i=new lwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class lwe extends we{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new cwe(n,e,t))}}class cwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new uwe(e,this.nextOrObserver,this.error,this.complete))}}class uwe extends y{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new dwe(n,e))}class dwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new hwe(e,this.compare,this.keySelector))}}class hwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c5=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Xc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const u5=new Ht("ROOT_STATE_TOKEN"),d5=new Ht("FEATURE_STATE_TOKEN"),h5=new Ht("NGXS_PLUGINS"),f5=new Ht("NG_TEST_MODE"),p5=new Ht("NG_DEV_MODE"),cd="NGXS_META",g5="NGXS_OPTIONS_META",uP="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c5}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class fwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m5=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _5=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},CS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dP=n=>n&&"object"==typeof n&&!Array.isArray(n),hP=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dP(n)&&dP(t))for(const i in t)dP(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hP(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hP(n,...e)};function fP(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return gb(n)}function gb(n){return n[cd]}function gP(n){return n[uP]}function y5(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Swe(){return me(n=>n.action)}function TS(n){return e=>new O(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let AS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Awe extends oe{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let MS=(()=>{class n extends Awe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mwe=(()=>{class n extends O{constructor(t,i){super(r=>{const s=t.pipe(TS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const v5=n=>(...e)=>n.shift()(...e,(...i)=>v5(n)(...i));let DS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mP=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(h5,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_P=(()=>{class n extends oe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),w5=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(TS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):pb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v5([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l5(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(MS),Ie(_P),Ie(mP),Ie(DS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E5=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E5(n[i])}),n};let x5=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Ie(p5),Ie(f5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S5=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Ie(x5),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E5(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(w5),Ie(Wf),Ie(S5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),IS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return CS(l,t.path)}function s(l,c){const u=_5(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b5(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class OS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=gb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}OS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=ES(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y5(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(OS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_5(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),V(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),SS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof O?(u=u.pipe(SS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(wwe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),pb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=OS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==CS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(Wf),Ie(n,12),Ie(MS),Ie(_P),Ie(IS),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yP=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),cr(()=>this.invokeInit(i.states)),V(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b5(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm),Ie(IS),Ie(lP))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const RS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Iwe(n,e,t){const i=t&&t.containerClass,s=ES(function(...c){const u=e.apply(i,c);return u instanceof Function?ES.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uP)||Object.defineProperty(n,uP,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gP(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},RS_getOptions(n.containerClass)||{},RS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&gb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T5(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T5(n){const e=gP(n)||gb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),TS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(TS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T5(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(gm),Ie(Wf),Ie(AS),Ie(mm),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class kwe{static get type(){return"@@INIT"}}class Fwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const PS=new Df(1);let Bwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();PS.next(t)}catch(n){PS.next(!1)}finally{PS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new kwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Ie(mm),Ie(gm),Ie(hu),Ie(mb),Ie(u5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),Vwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Fwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(gm),Ie(mm),Ie(d5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Bwe,providers:[mm,IS,Mwe,MS,lP,S5,x5,yP,w5,_P,gm,AS,hu,DS,mb,mP,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Vwe,providers:[mm,mP,...e,{provide:d5,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f5,useValue:Yve},{provide:p5,useValue:fa},{provide:m5,useClass:t.executionStrategy||c5},{provide:u5,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:OE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[lP]},{provide:cP,useFactory:Yo.getInitialState},{provide:s5,useExisting:IS},{provide:o5,useExisting:mm}]}static ngxsConfigFactory(e){return hP(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Xve.pop()}}function bP(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=fP(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A5(n){return i=>{!function(n){PS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fP(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g5]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;OS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g5]=a}}function NS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y5(t.length?[e,...t]:e.split("."),mb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!mb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return mb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Iwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const YS=new cc(ox);class qEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new YEe(e,this.dueTime,this.scheduler))}}class YEe extends y{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(XEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function XEe(n){n.debouncedNext()}class KEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new QEe(e,this.total))}}class QEe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function XS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof pn?n.nativeElement:n}let HP;try{HP="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){HP=!1}let Tb,Xf,GP,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!HP)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc))},n.\u0275prov=We({factory:function(){return new n(Ie(Xc))},token:n,providedIn:"root"}),n})(),Cb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Tb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Tb=!0}))}finally{Tb=Tb||!1}return Tb}()?n:!!n.capture}function F6(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function QS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let $P=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),L6=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new O(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new oe,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(Ie($P))},n.\u0275prov=We({factory:function(){return new n(Ie($P))},token:n,providedIn:"root"}),n})(),WP=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=YS){return t=>t.lift(new qEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Ce(L6),Ce(pn),Ce(fn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),ZS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[$P]}),n})(),$6=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===q6(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=q6(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||W6(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi))},token:n,providedIn:"root"}),n})();function W6(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function q6(n){if(!W6(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class _xe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let Y6=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new _xe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Ie($6),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie($6),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();function X6(n){return 0===n.offsetX&&0===n.offsetY}function K6(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Q6=new Ht("cdk-input-modality-detector-options"),Exe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let J6=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(X6(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{K6(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},Exe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new KEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),tC=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new oe,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==GP){const n="undefined"!=typeof document?document.head:null;GP=!(!n||!n.createShadowRoot&&!n.attachShadow)}return GP}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new oe,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",YP="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(YP),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(YP),t.add(iG)):2===i&&(t.add(YP),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(hn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Ie(oG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(oG,8))},token:n,providedIn:"root"}),n})(),Mb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function nC(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Te(e)?(n.pop(),t=>nC(n,t,e)):t=>nC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){uG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function KP(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let eN=(n,e)=>!1,tN=(n,e)=>!1,gG=(n,e,t)=>[];const mG=KP();(mG||"undefined"!=typeof Element)&&(eN=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),tN=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):tN}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return nN(t)}matchesElement(t,i){return iN(t,i)}containsElement(t,i){return rN(t,i)}query(t,i,r){return sN(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iC{}iC.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=uN(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KP()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=uN(t);n.style[i]=""}),KP()&&SG(n))}const Fxe=/-+([a-z0-9])/g;function uN(n){return n.replace(Fxe,(...e)=>e[1].toUpperCase())}function Lxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),rCe=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,Ui=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(Ie(sG),Ie(rCe,8),Ie(hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Mb],Mb]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function EC(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class _Ce{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},CN=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class bCe{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new _Ce(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=X6(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,CN)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}))}}const ECe=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new bCe(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(fn),Ce(Zi),Ce(ECe,8),Ce(Qa,8))},n.\u0275dir=Nt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ui,Cb],Ui]}),n})();function gd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(me(r=>k(r)?i(...r):i(r))):new O(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let kCe=1;const FCe=Promise.resolve(),CC={};function x$(n){return n in CC&&(delete CC[n],!0)}const S$={setImmediate(n){const e=kCe++;return CC[e]=!0,FCe.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof O||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class UCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new zCe(e,this.durationSelector))}}class zCe extends we{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!k(n)&&n-parseFloat(n)+1>=0}function GCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=YS){return function(n){return function(t){return t.lift(new UCe(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Te(e)&&(t=e),Te(t)||(t=YS),new O(r=>{const s=C$(n)?n:+n-t.now();return t.schedule(GCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new oe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new O(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(hn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new oe,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn,8))},token:n,providedIn:"root"}),n})();class DN{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class MC extends DN{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Pm extends DN{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class a1e extends DN{constructor(e){super(),this.element=e instanceof pn?e.nativeElement:e}}class DC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof MC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Pm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof a1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class l1e extends DC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends DC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Ce(El),Ce(Rs),Ce(hn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[wn]}),n})();const N$=F6();class h1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),N$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),N$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class f1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class k${enable(){}disable(){}attach(){}}function IN(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class p1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IN(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let g1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new f1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new h1e(this._viewportRuler,this._document),this.reposition=o=>new p1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();class OC{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class m1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class _1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),y1e=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),b1e=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(hn),Ie(Zi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Rb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new oe,this._outsidePointerEvents=new oe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;XS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Nn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",w1e=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new oe,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,f,g),x=m*w;return{visibleArea:x,isCompletelyWithinViewport:s.width*s.height===x,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:IN(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:IN(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&XS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof pn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(w1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class E1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new m1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class x1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let S1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new x1e}connectedTo(t,i,r){return new E1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},n.\u0275prov=We({factory:function(){return new n(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},token:n,providedIn:"root"}),n})(),C1e=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new OC(t);return o.direction=o.direction||this._directionality.value,new v1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+C1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new l1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Ie(g1e),Ie(Rb),Ie(El),Ie(S1e),Ie(y1e),Ie(Hn),Ie(fn),Ie(hn),Ie(Il),Ie(kg),Ie(b1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new NN(e,this.delay,this.scheduler))}}class NN extends y{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(NN.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new rTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class rTe{constructor(e,t){this.time=e,this.notification=t}}function oW(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new $Te(n))}et(7266);class $Te{constructor(e){this.callback=e}call(e,t){return t.subscribe(new WTe(e,this.callback))}}class WTe extends y{constructor(e,t){super(e),this.add(new C(t))}}class fW{}class pW{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof mu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class qTe{encodeKey(e){return gW(e)}encodeValue(e){return gW(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const XTe=/%(\d[a-f0-9])/gi,KTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function gW(n){return encodeURIComponent(n).replace(XTe,(e,t)=>{var i;return null!==(i=KTe[t])&&void 0!==i?i:e})}function mW(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new qTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(mW(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(mW(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function _W(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function yW(n){return"undefined"!=typeof Blob&&n instanceof Blob}function bW(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class FN{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class LN extends FN{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new LN({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class PC extends FN{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class vW extends FN{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function BN(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return V(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,BN(r,i))}post(t,i,r={}){return this.request("POST",t,BN(r,i))}put(t,i,r={}){return this.request("PUT",t,BN(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fW))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class wW{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const EW=new Ht("HTTP_INTERCEPTORS");let JTe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const eAe=/^\)\]\}',?\n/;let xW=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new O(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",w=new mu(r.getAllResponseHeaders()),x=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new LN({headers:w,status:g,statusText:m,url:x}),o},l=()=>{let{headers:g,status:m,statusText:w,url:x}=a(),U=null;204!==m&&(U=void 0===r.response?r.responseText:r.response),0===m&&(m=U?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof U){const ie=U;U=U.replace(eAe,"");try{U=""!==U?JSON.parse(U):null}catch(_e){U=ie,D&&(D=!1,U={error:_e,text:U})}}D?(i.next(new PC({body:U,headers:g,status:m,statusText:w,url:x||void 0})),i.complete()):i.error(new vW({error:U,headers:g,status:m,statusText:w,url:x||void 0}))},c=g=>{const{url:m}=a(),w=new vW({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(w)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(Ie(oV))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const VN=new Ht("XSRF_COOKIE_NAME"),jN=new Ht("XSRF_HEADER_NAME");class SW{}let nAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Xc),Ie(VN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),UN=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(SW),Ie(jN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),iAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(EW,[]);this.chain=i.reduceRight((r,s)=>new wW(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pW),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:UN,useClass:JTe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:VN,useValue:t.cookieName}:[],t.headerName?{provide:jN,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[UN,{provide:EW,useExisting:UN,multi:!0},{provide:SW,useClass:nAe},{provide:VN,useValue:"XSRF-TOKEN"},{provide:jN,useValue:"X-XSRF-TOKEN"}]}),n})(),CW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:fW,useClass:iAe},xW,{provide:pW,useExisting:xW}],imports:[[rAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const sAe=["*"];function TW(n){return Error(`Unable to find icon with the name "${n}"`)}function AW(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function MW(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let NC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw MW(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw MW(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw AW(t);const r=this._cachedIconsByUrl.get(i);return r?sn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=DW(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(TW(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):pb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw TW(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(DW(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),IW=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],fAe=IW.map(n=>`[${n}]`).join(", "),pAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends cAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(fAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(pAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(NC),yo("aria-hidden"),Ce(uAe),Ce(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[wn],ngContentSelectors:sAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function CAe(n,e){}class HN{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const TAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let AAe=(()=>{class n extends DC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=QS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=QS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=QS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(Y6),Ce(Mr),Ce(hn,8),Ce(HN),Ce(vc))},n.\u0275dir=Nt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[wn]}),n})(),MAe=(()=>{class n extends AAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&dE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),pE("@dialogContainer",i._state))},features:[wn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,CAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[TAe.dialogContainer]}}),n})(),DAe=0;class FC{constructor(e,t,i="mat-dialog-"+DAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new oe,this._afterClosed=new oe,this._beforeClosed=new oe,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),GN(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():GN(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function GN(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const PW=new Ht("MatDialogData"),IAe=new Ht("mat-dialog-default-options"),NW=new Ht("mat-dialog-scroll-strategy");let PAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new oe,this._afterOpenedAtThisLevel=new oe,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new O(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):v0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new HN)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new OC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:HN,useValue:i}]}),o=new MC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Pm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new MC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,En.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Ce(Ec),Ce(Hn),Ce(void 0),Ce(void 0),Ce(Rb),Ce(void 0),Ce(Du),Ce(Du),Ce(Ht))},n.\u0275dir=Nt({type:n}),n})(),kb=(()=>{class n extends PAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,FC,MAe,PW)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ec),Ie(Hn),Ie(kg,8),Ie(IAe,8),Ie(NW),Ie(n,12),Ie(Rb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kAe=0,kW=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+kAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC,8),Ce(pn),Ce(kb))},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),FW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const WN=new Ht("CdkAccordion");let BAe=0,jAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+BAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(WN,12),Ce(Mr),Ce(A$))},n.\u0275dir=Nt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:WN,useValue:void 0}])]}),n})();const zAe=["body"];function HAe(n,e){}const GAe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$Ae=["mat-expansion-panel-header","*","mat-action-row"];function WAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const qAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],YAe=["mat-panel-title","mat-panel-description","*"],qN=new Ht("MAT_ACCORDION"),BW="225ms cubic-bezier(0.4,0.0,0.2,1)",VW={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))])};let XAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),KAe=0;const jW=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let UW=(()=>{class n extends jAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new oe,this._headerId="mat-expansion-panel-header-"+KAe++,this._bodyAnimationDone=new oe,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Qi(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Pm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Ce(qN,12),Ce(Mr),Ce(A$),Ce(Rs),Ce(hn),Ce(Qa,8),Ce(jW,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,Vt(),t)}(r,XAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(zAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:qN,useValue:void 0}]),wn,Li],ngContentSelectors:$Ae,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr(GAe),oi(0),wt(1,"div",0,1),Cn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,HAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[VW.bodyExpansion]},changeDetection:0}),n})();class ZAe{}const JAe=EC(ZAe);let zW=(()=>{class n extends JAe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Nn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Ce(UW,1),Ce(pn),Ce(vc),Ce(Mr),Ce(jW,8),Ce(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Cn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Hy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[wn],ngContentSelectors:YAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(qAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,WAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[VW.indicatorRotate]},changeDetection:0}),n})();var HW=et(5478);Object.create(Error.prototype);const rMe=["*"];var BC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(BC||(BC={})),BC))();class oMe{}const $W=new Ht("SECURITY_CONTEXT");let YN=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new HW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=HW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc),Ie($W),Ie(_u,8),Ie(oMe,8),Ie(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,BC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sk(i)?t(...i):t(i))):new O(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XN(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new fMe(n,t))}}class fMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new pMe(e,this.observables,this.project))}}class pMe extends t5{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class gMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new mMe(e,this.accumulator,this.seed,this.hasSeed))}}class mMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class bMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new vMe(e,this.predicate))}}class vMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const wMe=["youtubeContainer"];let KW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new oe,this._destroyed=new oe,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new oe;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(XN(yc([i,r])),me(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return ue(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new r5(e))}(n),function(n){return e=>e.lift(new bMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new gMe(n,e,t))}}(AMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),V(e=>e?QW(e)?sn(e):new O(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{QW(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new oe));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(QN(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(QN(n,(u,h)=>!!u&&u.videoId!==h));Nn(n.pipe(QN(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XN(yc([n,e,o,r])),me(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?qW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new O(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Ce(fn),Ce(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(wMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function AMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function QW(n){return"getPlayerStatus"in n}function QN(n,e){return ue(XN(n),Qi(([t,i])=>e(i,t)),me(([t])=>t))}let LMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Lb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function ZN(n){return Boolean(n)}function t7(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const jC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&jC(n[o])}),n};function n7(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s7="NGXS_DATA_META",ek="NGXS_META",o7="NGXS_ARGUMENT_REGISTRY_META";let a7=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Bb(n){return n[s7]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(a7)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(o5),Ie(s5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Bb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=We({token:hs,factory:hs.\u0275fac}),new Df(1);class rDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l7(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c7(n){var e;const t=l7(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t7(void 0===t.defaults?{}:t.defaults);if(i.length){if(n7(s))return function(n,e){return e.reduce((t,i)=>{const r=l7(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c7(i),t},null!=n?n:{})}(s,i);throw new rDe(s)}return s}function d7(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h7(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function lDe(n){let e=!1;return Im(n)&&(e=!0),e}function tk(n){return n[o7]}class cDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class uDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(ZN(this.argumentMap.has(e))||ZN(this.payloadMap.has(e)))throw new cDe(e,t)}}function mDe(n){return{enumerable:!0,configurable:!0,get(){const e=Bb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f7(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n7(i))for(;null!==i;){if(Lb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d7(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d7(n)}(this),o=null==s?void 0:s.get(i);if(Lb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h7()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h7(),isObservable:lDe(l)}),l}return o.value},t}}const EDe={cancelUncompleted:!0,insideZone:!1};function nk(n=EDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=tk(r);if(Za(h)){const D=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),ie=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var D;return Lb(n.insideZone)?null===(D=el.ngZone)||void 0===D||D.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(me(()=>l)):l};const x=hs.createAction(h,o,g),U=el.store.dispatch(x);return Im(l)?function(n,e){return pb([n,e]).pipe(me(t=>t.pop()))}(U,l):l},i}}function p7(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(tk(t))&&Object.defineProperties(t,{[o7]:{enumerable:!0,configurable:!0,value:new uDe}}),tk(t)})(e,t).createPayloadType(r,t,i)}}function SDe(){return n=>{const e=function(n){if(function(n){return!ZN(n)}(n.hasOwnProperty(ek))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ek,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[ek]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Bb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s7,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Bb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t7(t)},context:mDe(n)})}(n,e,c7(n)),function(n){var e,t;const i=Bb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(me(o=>fa()?jC(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let TDe=(()=>{class n{constructor(){this.browserStorageEvents$=new oe,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),ADe=(()=>{class n extends TDe{get snapshot(){return function(n){return fa()?jC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?jC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([nk(),wV(0,p7("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([nk(),wV(0,p7("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([nk(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),g9=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),Ck=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),VOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(Ck))}),Tk=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(Ck),Bc(VOe))});let Yb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(zm),Ie(hn),Ie(Tk))},n.\u0275prov=We({factory:function(){return new n(Ie(zm),Ie(hn),Ie(Tk))},token:n,providedIn:"root"}),n})(),m9=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Ce(g9,8),Ce(Yb),Ce(zm),Ce(pn))},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const UOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Vi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,Tk,hn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let s1=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},UOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),a1=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),eRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(Ck),Ie(zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const tRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),S9=[a1,eRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(tRe))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})()];function iRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let sRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=s1.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[iRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...S9,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:S9}],imports:[[s1]]}),n})();const cRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),uRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},dRe=new oe;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Nn(dRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:v0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||cRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||uRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(w=>n.cacheResolver(w.parameters,f));const m=a.find(w=>n.cacheResolver(w.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const w=sn(g.response);return n.async?w.pipe(function(n,e=YS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new iTe(i,e))}(0)):w}if(m)return m.response;{const w=s.call(this,...u).pipe(kN(()=>{const x=a.find(U=>n.cacheResolver(U.parameters,f));a.splice(a.indexOf(x),1)}),cr(x=>{(!n.shouldCacheDecider||n.shouldCacheDecider(x))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:w,created:new Date}),w}}}return i}}class hRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const C9=new Ht("basePath");class Xb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let T9=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Xb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new hRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,w=t.sex,x=t.spatial,U=t.technologies,D=t.token;let ie=new Lr({encoder:this.encoder});null!=a&&(ie=this.addToHttpParams(ie,a,"age")),null!=l&&(ie=this.addToHttpParams(ie,l,"age-range")),null!=c&&(ie=this.addToHttpParams(ie,c,"bmi")),null!=u&&(ie=this.addToHttpParams(ie,u,"bmi-range")),null!=h&&(ie=this.addToHttpParams(ie,h,"cache")),f&&f.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"ontology-terms")}),g&&g.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"cell-type-terms")}),null!=o&&(ie=this.addToHttpParams(ie,o,"organ-iri")),m&&m.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"providers")}),null!=w&&(ie=this.addToHttpParams(ie,w,"sex")),x&&x.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"spatial")}),U&&U.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"technologies")}),null!=D&&(ie=this.addToHttpParams(ie,D,"token"));let _e=this.defaultHeaders,Pe=s&&s.httpHeaderAccept;void 0===Pe&&(Pe=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Pe&&(_e=_e.set("Accept",Pe));let Ne=s&&s.context;void 0===Ne&&(Ne=new Zs);let Ve="json";return Pe&&(Ve=Pe.startsWith("text")?"text":this.configuration.isJsonMime(Pe)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ne,params:ie,responseType:Ve,withCredentials:this.configuration.withCredentials,headers:_e,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let w="json";return h&&(w=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:w,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u),Ie(C9,8),Ie(Xb,8))},n.\u0275prov=We({factory:function(){return new n(Ie(_u),Ie(C9,8),Ie(Xb,8))},token:n,providedIn:"root"}),n})(),fRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Xb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let Mk;function Cc(){return Mk||(Mk=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),Mk}function A9(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var Un=et(1440);const l1="Unknown Euler angle order",Hm=.99999;class Ji extends _x{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(f,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get alpha(){return this[0]}set alpha(e){this[0]=ir(e)}get beta(){return this[1]}set beta(e){this[1]=ir(e)}get gamma(){return this[2]}set gamma(e){this[2]=ir(e)}get phi(){return this[0]}set phi(e){this[0]=ir(e)}get theta(){return this[1]}set theta(e){this[1]=ir(e)}get psi(){return this[2]}set psi(e){this[2]=ir(e)}get roll(){return this[0]}set roll(e){this[0]=ir(e)}get pitch(){return this[1]}set pitch(e){this[1]=ir(e)}get yaw(){return this[2]}set yaw(e){this[2]=ir(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(l1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(l1)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!MRe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var u1=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function FRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Kb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+FRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return P9.copy(o).scale((-i+l)/a).add(t),this.center.copy(P9),this.radius=l,this}expand(e){const t=(e=Qb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Qb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Qb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ZRe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),M9(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const JRe=new Pn,ePe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,tPe=new Pn,nPe=new Pn;class kk{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new k9).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new k9(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new kk(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Nk){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=JRe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=ePe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=tPe.copy(l).add(c).add(u).add(o),f=nPe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const F9=new Pn,L9=new Pn;class Fk{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=F9.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Kb(this.normal.len(),1)),this.distance=r,this}clone(e){return new Fk(this.normal,this.distance)}equals(e){return Kb(this.distance,e.distance)&&Kb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=L9.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=F9.from(e);const i=this.getPointDistance(e),r=L9.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*zk(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,u1.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,u1.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new Fk(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Pn,new Pn,new Pn,new Pn,new Pn,new Zo,new Zo,new Zo;const Ni=Un.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},Un.DataFactory),U9={x:Ni("rdf"),type:Ni("rdf")("type")},qm={x:Ni("rdfs"),label:Ni("rdfs")("label"),comment:Ni("rdfs")("comment"),isDefinedBy:Ni("rdfs")("isDefinedBy"),seeAlso:Ni("rdfs")("seeAlso")},vi={x:Ni("entity"),id:Ni("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Ni("entity")("sex"),age:Ni("entity")("age"),bmi:Ni("entity")("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:Ni("entity")("consortium_name"),providerName:Ni("entity")("provider_name"),providerUUID:Ni("entity")("provider_uuid"),donor:Ni("entity")("has_donor"),sections:Ni("entity")("has_tissue_section"),datasets:Ni("entity")("has_dataset"),sampleType:Ni("entity")("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:Ni("entity")("section_count"),sectionSize:Ni("entity")("section_size"),sectionUnits:Ni("entity")("section_units"),sectionNumber:Ni("entity")("section_number"),spatialEntity:Ni("entity")("has_spatial_entity"),ontologyTerms:Ni("entity")("has_ontology_term"),cellTypeTerms:Ni("entity")("has_cell_type_term"),technology:Ni("entity")("technology"),thumbnail:Ni("entity")("has_thumbnail")},Tn=Ni("ccf"),Fi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Ni("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Ni("uberon"),body:Ni("uberon")("0013702")},PPe={x:Ni("cl"),cell:Ni("cl")("0000000")},Jb={x:Ni("fma")},vd=(Ni("lmha"),{body:di.body,cell:PPe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Jb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Jb.x("24978"),knee_right:Jb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Jb.x("7214"),ovary_right:Jb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function Hk(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const g1={spatialObjectReference:Hk(Fi.spatialObjectReference),spatialEntity:Hk(Fi.spatialEntity),spatialPlacement:Hk(Fi.spatialPlacement)};function z9(n,e){const t=dp(n,e,"ExtractionSet",g1.spatialEntity);return t.extractionSites=(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",g1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",g1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Fi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function BPe(n,e){const t=dp(n,e,"SpatialPlacement",g1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function H9(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class G9{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new wRe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},U9.type,Fi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},U9.type,Fi.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=xRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&H9(r,BPe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,wr.get)(e,"placement[0]",(0,wr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=H9(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(use),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${RRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $9{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set_for,e,null).map(t=>z9(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return z9(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Fi.spatialEntity.reference_organ,null,null),(0,wr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Fi.spatial.Male.id;break;case"Female":t=Fi.spatial.Female.id;break;case"Both":default:t=Fi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Fi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const m1="https://entity.api.hubmapconsortium.org/entities/",W9=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),jPe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},q9={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class HPe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ne=>"Donor"===Ne.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=m1+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},x=[];this.sections=x;const U=[];this.datasets=U;for(const Ne of c.filter(Ve=>"Sample"===Ve.entity_type)){const Ve=this.getSection(Ne,e,i);w[Ne.submission_id]=Ve,x.push(Ve),Ve.section_number=null!==(s=Ve.section_number)&&void 0!==s?s:x.length}for(const Ne of c)if("Dataset"===Ne.entity_type){const Ve=this.getDataset(Ne,t,i,r),bt=(0,wr.get)(Ne,["ingest_metadata","metadata","tissue_id"]);w[bt]?null===(o=w[bt].datasets)||void 0===o||o.push(Ve):U.push(Ve)}const D=null!=h?h:{},ie=`${D.x_dimension} x ${D.y_dimension} x ${D.z_dimension} ${D.dimension_units}`;this.section_count=D.slice_count||x.length;const _e=parseFloat((D.slice_thickness||(D.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=_e;const Pe=D.dimension_units||"millimeter";this.section_units=Pe,this.description=`${ie}, ${_e} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,x.forEach((Ne,Ve)=>{Ne.description=`${D.x_dimension} x ${D.y_dimension} x ${_e} ${Pe}, ${_e} ${Pe}, ${Ne.description}`,Ne.section_number=Ve+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":m1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,wr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":m1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,wr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>W9.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(W9.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=jPe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,wr.toNumber)(s[1]));for(const f of(0,wr.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,wr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,wr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":m1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,wr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,wr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,wr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,wr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const $Pe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],WPe={exists:{field:"rui_location"}};function Y9(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:WPe,_source:{includes:$Pe}})}function Gk(n,e){return Vi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function X9(n,e,t,i,r="",s=""){return Vi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield Gk(n):"search-api"===e&&(o=yield function(n,e,t){return Vi(this,void 0,void 0,function*(){const r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Y9(0,50,t),o=yield Gk(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=50)return o;const l=[];for(let h=50;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,wr.get)(n,"hits.hits",[]).map(c=>(0,wr.get)(c,"_source",{})).map(c=>new HPe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":q9},c)))),{"@context":q9,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function ev(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const ZPe={[Fi.spatialEntity.x_dimension.id]:"x",[Fi.spatialEntity.y_dimension.id]:"y",[Fi.spatialEntity.z_dimension.id]:"z"};function eNe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",ZPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new kk).fromCenterHalfSizeQuaternion(o,a,l)}return s}function tNe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=eNe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function _1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function $k(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function tv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function K9(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(tv(e,i),Fi.spatialEntity.ccf_annotations,s,null)}return i}function Q9(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,Fi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function mNe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Fi.ontologyNode.label.id]:"label",[t]:"parent",[Fi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of zk(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Z9(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=mNe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const J9=(0,wr.memoize)(function(n){const e=Z9(n,vd.body.id,"body",Fi.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),y1={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},bNe=Object.assign(Object.assign({},y1),{[vi.providerName.id]:"providerName"}),vNe=Object.assign(Object.assign({},y1),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),wNe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),ENe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function xNe(n,e){return dp(n,e,"Donor",bNe)}function eq(n,e){return dp(n,e,"Dataset",vNe)}function SNe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of zk(n,e,wNe))if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]=r;return t}class TNe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Vi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const MNe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class DNe{constructor(e=MNe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new G9(this),this.scene=new $9(this)}connect(e,t=!1){return Vi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Vi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield A9(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([i,t]).catch(()=>{}):s=yield A9(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Vi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(X9(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Vi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Vi(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,Un.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Vi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=J9(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,Fi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,Fi.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,Fi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),Fi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Vi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new G9(this),this.scene=new $9(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(tv(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=_1(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(tv(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=_1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$k(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)tNe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=$k(n,u,f=>K9(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=$k(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Fi.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return K9(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,wr.isFinite)(t.ageRange[0])&&(0,wr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,wr.isFinite)(t.bmiRange[0])&&(0,wr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Vi(this,void 0,void 0,function*(){return this.status||(this.status=new TNe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Vi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of zk(n,e,ENe))if("sections"===i){const s=SNe(n,r);t[i].push(s)}else if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]="donor"===i?xNe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t=ev(e,n,vi.donor.id),i=ev(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=ev(e,r,vi.sections.id),o=new Set([...ev(e,r,vi.datasets.id),...ev(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t={};return Q9(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Q9(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,Fi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Vi(this,void 0,void 0,function*(){return J9(this.store)})}getCellTypeTreeModel(){return Vi(this,void 0,void 0,function*(){return function(n){return Z9(n,vd.cell.id,"cell",Fi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Vi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class tq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function RNe(){throw new tq}function PNe(){throw new tq}function Wk(n,e,t){e.run(()=>n.dispatch(t))}function FNe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(Wk(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>Wk(n,e,r)}),t}(n,e,t,i):(Wk(n,e,t),t)}class LNe{constructor(){this.cancelUncompleted$=new oe}cancelPreviousAction(){this.cancelUncompleted$.next()}}const qk="\u0275fac",nq=Symbol("InjectorInstance"),iq=Symbol("FactoryHasBeenDecorated");function rq(n,e){const t=n[nq];return t?t.get(e):null}const jNe={cancelUncompleted:!1};function sq(n=jNe){return(e,t,i)=>{let r;const s=function(n){return n?new LNe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=rq(this,hu)||RNe(),l=rq(this,fn)||PNe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>FNe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(iq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[qk]&&function(n){const e=n[qk];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[nq]=Ce(Vu),r};t&&(t.factory=i),Object.defineProperty(n,qk,{get:()=>i})}(e),n.constructor.prototype[iq]=!0}(e)}}const pke=["bodyCanvas"];let gke=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Vi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Uve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(pke,5,pn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),mke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const _q=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function kke(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),hE("videoId",t.videoID)}}function Fke(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,kke,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function Lke(n,e){if(1&n&&(wt(0,"div",9),wi(1,Fke,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}_q.filter(n=>!0!==n.disabled);let yq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC),Ce(PW))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Cn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,Lke,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[kW,Fm,FW,Yu,ac,UW,zW,WW,KW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),bq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Vke=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Cn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Cn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[kW,Fm,LMe,FW],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Zm=(()=>{let n=class extends ADe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(oW(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(oW(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7()],n.prototype,"config$",null),n=Ei([SDe(),A5({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class vq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let wq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Qk=new oe,iv={cacheBusterObserver:Qk},Jm={cacheBusterObserver:Qk,maxCacheCount:4};function Eq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let qke=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Qk)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},xq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},xq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:Eq(null==n?void 0:n.ageRange,1,110),bmi:Eq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),me(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(Ie(T9),Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(iv)],n.prototype,"getProviderNames",null),Ei([Sc(iv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(iv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(iv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(iv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Jm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Jm)],n.prototype,"getAggregateResults",null),Ei([Sc(Jm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getScene",null),Ei([Sc(Jm)],n.prototype,"getReferenceOrganScene",null),n})(),Yke=(()=>{class n extends vq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Qi(i=>Object.keys(i).length>0),is(i=>function(n,e){return new O(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),me(i=>i.database),Wa(1))}connectDatabase(t,i){return Vi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Xke=(()=>{class n extends Yke{createDatabase(t){return{database:new DNe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Kke=(()=>{class n extends vq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,me(r=>this.selectToken(r)),ld(),me(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Zk=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),Jk=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),eF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var tF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Sq="callToActionPopupShown";let Ro=tF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Sq,`${i}`),s=tF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new Jk)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(yq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(Zke,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Sq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(Ie(kb),Ie(Yb),Ie(wa),Ie(bq),Ie(_u))},Ro.\u0275prov=We({token:Ro,factory:Ro.\u0275fac}),Ei([bP(Zk)],Ro.prototype,"learnMore",null),Ei([bP(Jk)],Ro.prototype,"open",null),Ei([bP(eF)],Ro.prototype,"close",null),Ro=tF=Ei([A5({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let x1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),Zke=(()=>{class n{constructor(){this.close=()=>new eF,this.learnMore=()=>new Zk}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Cn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ps(1,"async"),Ps(2,"async"),Ps(3,"async"),Ps(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[Vke],pipes:[m0],styles:[""],changeDetection:0}),Ei([NS(x1.title)],n.prototype,"title$",void 0),Ei([NS(x1.message)],n.prototype,"message$",void 0),Ei([NS(x1.callToAction)],n.prototype,"callToAction$",void 0),Ei([NS(x1.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([sq()],n.prototype,"close",void 0),Ei([sq()],n.prototype,"learnMore",void 0),n})(),tFe=(()=>{class n{constructor(t){this.source=t,this.organs=_q}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(me(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(Ie(wq))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const nFe=["thumbContainer"],iFe=["toggleBar"],rFe=["input"],sFe=function(n){return{enterDuration:n}},oFe=["*"],aFe=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let lFe=0;const cFe={provide:Xo,useExisting:ge(()=>Cq),multi:!0};class uFe{constructor(e,t){this.source=e,this.checked=t}}const dFe=EC(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Cq=(()=>{class n extends dFe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++lFe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new uFe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(vc),Ce(Mr),yo("tabindex"),Ce(aFe),Ce(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(nFe,5),hr(iFe,5),hr(rFe,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([cFe]),wn],ngContentSelectors:oFe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Cn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Cn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(Vt(),Cs(),n,e,t,i)}(18,sFe,i._noopAnimations?0:150))}},directives:[gu,WP],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Tq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),pFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Tq,Dm,Ui,ZS],Tq,Ui]}),n})(),gFe=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Cn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Cq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const mFe=["bodyUI"],_Fe=function(){return["Male","Female"]},yFe=function(){return["Left","Right"]};let bFe=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Ce(Yb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(mFe,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Li],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Cn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",AE(8,_Fe))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",AE(9,yFe))("value",i.side)("hidden",!i.side))},directives:[gke,gFe],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function vFe(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let wFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,vFe,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function EFe(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function xFe(n,e){if(1&n){const t=wl();wt(0,"div",10),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let SFe=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the CCF Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the CCF Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"CCF Portal",buttonUrl:"https://hubmapconsortium.github.io/ccf/"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.biorxiv.org/content/10.1101/2021.05.31.446440v2"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,EFe,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Common Coordinate Framework (CCF) Deep Dive"),Et(),wt(5,"div",4),wi(6,xFe,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[g9,Yu,m9],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const CFe=["left"],TFe=["right"],AFe=function(){return[]},MFe=[{color:[0,0,0,0],opacity:.001}];let DFe=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(me(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(MFe))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(me(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Ce(tFe),Ce(Yb),Ce(Zm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(CFe,7,pn),hr(TFe,7,pn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Cn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ps(4,"async"),Ps(5,"async"),Ps(6,"async"),Ps(7,"async"),Ps(8,"async"),Ps(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ps(13,"async"),Ps(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:AE(24,AFe)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[bFe,wFe,SFe],pipes:[m0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function IFe(n,e){1&n&&ni(0,"ccf-root")}function OFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=KD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function RFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=KD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let PFe=(()=>{class n extends hie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:OFe,highlightProviders:RFe,useRemoteApi:KD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Ce(Zm),Ce(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[wn],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,IFe,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,DFe],encapsulation:2,changeDetection:0}),n})(),NFe=(()=>{class n extends Kke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?qke:Xke}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),kFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a7,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hs,2),Ie(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const S1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class BFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return S1(n.getHours(),2)+":"+S1(n.getMinutes(),2)+":"+S1(n.getSeconds(),2)+"."+S1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class VFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Aq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let jFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new VFe(this._options),this._store=this._store||this._injector.get(hu);const s=new BFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Aq),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Mq=new Ht("LOGGER_USER_OPTIONS");function UFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let zFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h5,useClass:jFe,multi:!0},{provide:Mq,useValue:t},{provide:Aq,useFactory:UFe,deps:[Mq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const HFe=[Zm];let GFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[kFe.forRoot(),Yo.forRoot(HFe,{developmentMode:!If.production}),zFe.forRoot({disabled:If.production})]]}),n})(),$Fe=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:wq,useExisting:NFe}],imports:[[CW,sRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),fRe.forRoot(()=>new Xb({basePath:If.dbOptions.remoteApiEndpoint})),GFe]]}),n})(),WFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,pFe]]}),n})(),qFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,mke,WFe]]}),n})(),YFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,s1]]}),n})(),XFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),KFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new oie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends lie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(PFe,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[qD,$Fe,YFe,XFe,qFe]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Dne().bootstrapModule(KFe).catch(n=>console.error(n))},1052:Ut=>{function it(yt,ee,Dt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(k){return void Dt(k)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Dt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Dt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},1948:Ut=>{Ut.exports=function(et){return et&&et.__esModule?et:{default:et}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},4321:Ut=>{function it(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(et)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},9082:Ut=>{function it(et){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+et+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=9082,Ut.exports=it},9521:()=>{},9125:()=>{},5307:()=>{}},Ut=>{Ut(Ut.s=2829)}]); \ No newline at end of file +var QFe=Object.defineProperty,ZFe=Object.defineProperties,JFe=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,Iq=Object.prototype.hasOwnProperty,Oq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Rq=(Ut,it,et)=>it in Ut?QFe(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:et}):Ut[it]=et,ot=(Ut,it)=>{for(var et in it||(it={}))Iq.call(it,et)&&Rq(Ut,et,it[et]);if(C1)for(var et of C1(it))Oq.call(it,et)&&Rq(Ut,et,it[et]);return Ut},xn=(Ut,it)=>ZFe(Ut,JFe(it)),Pq=(Ut,it)=>{var et={};for(var yt in Ut)Iq.call(Ut,yt)&&it.indexOf(yt)<0&&(et[yt]=Ut[yt]);if(null!=Ut&&C1)for(var yt of C1(Ut))it.indexOf(yt)<0&&Oq.call(Ut,yt)&&(et[yt]=Ut[yt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Ut,it,et)=>{var yt=et(1052).default;Ut.exports=function Y(Se,he,W){function j(H,v){if(!he[H]){if(!Se[H]){if(k)return k(H,!0);var R=new Error("Cannot find module '"+H+"'");throw R.code="MODULE_NOT_FOUND",R}var T=he[H]={exports:{}};Se[H][0].call(T.exports,function(b){return j(Se[H][1][b]||b)},T,T.exports,Y,Se,he,W)}return he[H].exports}for(var k=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){qe=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ue-4:ue;for($=0;$>16&255,O[K++]=P>>8&255,O[K++]=255&P;return 2===I&&(P=j[z.charCodeAt($)]<<2|j[z.charCodeAt($+1)]>>4,O[K++]=255&P),1===I&&(P=j[z.charCodeAt($)]<<10|j[z.charCodeAt($+1)]<<4|j[z.charCodeAt($+2)]>>2,O[K++]=P>>8&255,O[K++]=255&P),O},he.fromByteArray=function(z){for(var P,X=z.length,ue=X%3,I=[],O=16383,K=0,E=X-ue;KE?E:K+O));return 1===ue?I.push(W[(P=z[X-1])>>2]+W[P<<4&63]+"=="):2===ue&&I.push(W[(P=(z[X-2]<<8)+z[X-1])>>10]+W[P>>4&63]+W[P<<2&63]+"="),I.join("")};for(var W=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H=0,v=Q.length;H0)throw new Error("Invalid string. Length must be a multiple of 4");var X=z.indexOf("=");return-1===X&&(X=P),[X,X===P?0:4-X%4]}function y(z){return W[z>>18&63]+W[z>>12&63]+W[z>>6&63]+W[63&z]}function S(z,P,X){for(var I=[],O=P;O>5==6?2:I>>4==14?3:I>>3==30?4:I>>6==2?-1:-2}function T(I){var O=this.lastTotal-this.lastNeed,K=function(I,O,K){if(128!=(192&O[0]))return I.lastNeed=0,"\ufffd";if(I.lastNeed>1&&O.length>1){if(128!=(192&O[1]))return I.lastNeed=1,"\ufffd";if(I.lastNeed>2&&O.length>2&&128!=(192&O[2]))return I.lastNeed=2,"\ufffd"}}(this,I);return void 0!==K?K:this.lastNeed<=I.length?(I.copy(this.lastChar,O,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(I.copy(this.lastChar,O,0,I.length),void(this.lastNeed-=I.length))}function S(I,O){if((I.length-O)%2==0){var K=I.toString("utf16le",O);if(K){var E=K.charCodeAt(K.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1],K.slice(0,-1)}return K}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=I[I.length-1],I.toString("utf16le",O,I.length-1)}function A(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):O}function z(I,O){var K=(I.length-O)%3;return 0===K?I.toString("base64",O):(this.lastNeed=3-K,this.lastTotal=3,1===K?this.lastChar[0]=I[I.length-1]:(this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1]),I.toString("base64",O,I.length-K))}function P(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("base64",0,3-this.lastNeed):O}function X(I){return I.toString(this.encoding)}function ue(I){return I&&I.length?this.write(I):""}he.StringDecoder=H,H.prototype.write=function(I){if(0===I.length)return"";var O,K;if(this.lastNeed){if(void 0===(O=this.fillLast(I)))return"";K=this.lastNeed,this.lastNeed=0}else K=0;return K=0?($>0&&(I.lastNeed=$-1),$):--E=0?($>0&&(I.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:I.lastNeed=$-3),$):0}(this,I,O);if(!this.lastNeed)return I.toString("utf8",O);this.lastTotal=K;var E=I.length-(K-this.lastNeed);return I.copy(this.lastChar,0,E),I.toString("utf8",O,E)},H.prototype.fillLast=function(I){if(this.lastNeed<=I.length)return I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,I.length),this.lastNeed-=I.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),k=Y("ieee754");he.Buffer=C,he.SlowBuffer=function(B){return+B!=B&&(B=0),C.alloc(+B)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(B){if(B>Q)throw new RangeError('The value "'+B+'" is invalid for option "size"');var N=new Uint8Array(B);return N.__proto__=C.prototype,N}function C(B,N,V){if("number"==typeof B){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(B)}return R(B,N,V)}function R(B,N,V){if("string"==typeof B)return function(B,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!C.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var V=0|I(B,N),Re=v(V),Ze=Re.write(B,N);return Ze!==V&&(Re=Re.slice(0,Ze)),Re}(B,N);if(ArrayBuffer.isView(B))return A(B);if(null==B)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(pt(B,ArrayBuffer)||B&&pt(B.buffer,ArrayBuffer))return function(B,N,V){if(N<0||B.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|B}function I(B,N){if(C.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||pt(B,ArrayBuffer))return B.byteLength;if("string"!=typeof B)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);var V=B.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===V)return 0;for(var Ze=!1;;)switch(N){case"ascii":case"latin1":case"binary":return V;case"utf8":case"utf-8":return G(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*V;case"hex":return V>>>1;case"base64":return je(B).length;default:if(Ze)return Re?-1:G(B).length;N=(""+N).toLowerCase(),Ze=!0}}function O(B,N,V){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===V||V>this.length)&&(V=this.length),V<=0)||(V>>>=0)<=(N>>>=0))return"";for(B||(B="utf8");;)switch(B){case"hex":return tt(this,N,V);case"utf8":case"utf-8":return ye(this,N,V);case"ascii":return st(this,N,V);case"latin1":case"binary":return Qe(this,N,V);case"base64":return ne(this,N,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,N,V);default:if(Re)throw new TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Re=!0}}function K(B,N,V){var Re=B[N];B[N]=B[V],B[V]=Re}function E(B,N,V,Re,Ze){if(0===B.length)return-1;if("string"==typeof V?(Re=V,V=0):V>2147483647?V=2147483647:V<-2147483648&&(V=-2147483648),we(V=+V)&&(V=Ze?0:B.length-1),V<0&&(V=B.length+V),V>=B.length){if(Ze)return-1;V=B.length-1}else if(V<0){if(!Ze)return-1;V=0}if("string"==typeof N&&(N=C.from(N,Re)),C.isBuffer(N))return 0===N.length?-1:$(B,N,V,Re,Ze);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Ze?Uint8Array.prototype.indexOf.call(B,N,V):Uint8Array.prototype.lastIndexOf.call(B,N,V):$(B,[N],V,Re,Ze);throw new TypeError("val must be string, number or Buffer")}function $(B,N,V,Re,Ze){var Yn,Tt=1,kt=B.length,In=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(B.length<2||N.length<2)return-1;Tt=2,kt/=2,In/=2,V/=2}function Nn(Ls,fs){return 1===Tt?Ls[fs]:Ls.readUInt16BE(fs*Tt)}if(Ze){var Mi=-1;for(Yn=V;Ynkt&&(V=kt-In),Yn=V;Yn>=0;Yn--){for(var xi=!0,Xr=0;XrZe&&(Re=Ze):Re=Ze;var Tt=N.length;Re>Tt/2&&(Re=Tt/2);for(var kt=0;kt>8,Tt.push(V%256),Tt.push(Re);return Tt}(N,B.length-V),B,V,Re)}function ne(B,N,V){return j.fromByteArray(0===N&&V===B.length?B:B.slice(N,V))}function ye(B,N,V){V=Math.min(B.length,V);for(var Re=[],Ze=N;Ze239?4:Tt>223?3:Tt>191?2:1;if(Ze+In<=V)switch(In){case 1:Tt<128&&(kt=Tt);break;case 2:128==(192&(Nn=B[Ze+1]))&&(xi=(31&Tt)<<6|63&Nn)>127&&(kt=xi);break;case 3:Yn=B[Ze+2],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&(xi=(15&Tt)<<12|(63&Nn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=B[Ze+2],Mi=B[Ze+3],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&Tt)<<18|(63&Nn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Re.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Re.push(kt),Ze+=In}return function(B){var N=B.length;if(N<=4096)return String.fromCharCode.apply(String,B);for(var V="",Re=0;ReV&&(N+=" ... "),""},C.prototype.compare=function(N,V,Re,Ze,Tt){if(pt(N,Uint8Array)&&(N=C.from(N,N.offset,N.byteLength)),!C.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===V&&(V=0),void 0===Re&&(Re=N?N.length:0),void 0===Ze&&(Ze=0),void 0===Tt&&(Tt=this.length),V<0||Re>N.length||Ze<0||Tt>this.length)throw new RangeError("out of range index");if(Ze>=Tt&&V>=Re)return 0;if(Ze>=Tt)return-1;if(V>=Re)return 1;if(this===N)return 0;for(var kt=(Tt>>>=0)-(Ze>>>=0),In=(Re>>>=0)-(V>>>=0),Nn=Math.min(kt,In),Yn=this.slice(Ze,Tt),Mi=N.slice(V,Re),xi=0;xi>>=0,isFinite(Re)?(Re>>>=0,void 0===Ze&&(Ze="utf8")):(Ze=Re,Re=void 0)}var Tt=this.length-V;if((void 0===Re||Re>Tt)&&(Re=Tt),N.length>0&&(Re<0||V<0)||V>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");for(var kt=!1;;)switch(Ze){case"hex":return Z(this,N,V,Re);case"utf8":case"utf-8":return ae(this,N,V,Re);case"ascii":return oe(this,N,V,Re);case"latin1":case"binary":return te(this,N,V,Re);case"base64":return Te(this,N,V,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,V,Re);default:if(kt)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(B,N,V){var Re="";V=Math.min(B.length,V);for(var Ze=N;ZeRe)&&(V=Re);for(var Ze="",Tt=N;TtV)throw new RangeError("Trying to access beyond buffer length")}function Le(B,N,V,Re,Ze,Tt){if(!C.isBuffer(B))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Ze||NB.length)throw new RangeError("Index out of range")}function Ke(B,N,V,Re,Ze,Tt){if(V+Re>B.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("Index out of range")}function Me(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,4),k.write(B,N,V,Re,23,4),V+4}function Ue(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,8),k.write(B,N,V,Re,52,8),V+8}C.prototype.slice=function(N,V){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(V=void 0===V?Re:~~V)<0?(V+=Re)<0&&(V=0):V>Re&&(V=Re),V>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N+--V],Tt=1;V>0&&(Tt*=256);)Ze+=this[N+--V]*Tt;return Ze},C.prototype.readUInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),this[N]},C.prototype.readUInt16LE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]|this[N+1]<<8},C.prototype.readUInt16BE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]<<8|this[N+1]},C.prototype.readUInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},C.prototype.readUInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},C.prototype.readIntLE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt=(Tt*=128)&&(Ze-=Math.pow(2,8*V)),Ze},C.prototype.readIntBE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=V,Tt=1,kt=this[N+--Ze];Ze>0&&(Tt*=256);)kt+=this[N+--Ze]*Tt;return kt>=(Tt*=128)&&(kt-=Math.pow(2,8*V)),kt},C.prototype.readInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},C.prototype.readInt16LE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt16BE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},C.prototype.readInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},C.prototype.readFloatLE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!0,23,4)},C.prototype.readFloatBE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!1,23,4)},C.prototype.readDoubleLE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!0,52,8)},C.prototype.readDoubleBE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!1,52,8)},C.prototype.writeUIntLE=function(N,V,Re,Ze){N=+N,V>>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=1,In=0;for(this[V]=255&N;++In>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=Re-1,In=1;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)this[V+kt]=N/In&255;return V+Re},C.prototype.writeUInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,255,0),this[V]=255&N,V+1},C.prototype.writeUInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeUInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeUInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V+3]=N>>>24,this[V+2]=N>>>16,this[V+1]=N>>>8,this[V]=255&N,V+4},C.prototype.writeUInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeIntLE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=0,In=1,Nn=0;for(this[V]=255&N;++kt>0)-Nn&255;return V+Re},C.prototype.writeIntBE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=Re-1,In=1,Nn=0;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)N<0&&0===Nn&&0!==this[V+kt+1]&&(Nn=1),this[V+kt]=(N/In>>0)-Nn&255;return V+Re},C.prototype.writeInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,127,-128),N<0&&(N=255+N+1),this[V]=255&N,V+1},C.prototype.writeInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),this[V]=255&N,this[V+1]=N>>>8,this[V+2]=N>>>16,this[V+3]=N>>>24,V+4},C.prototype.writeInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeFloatLE=function(N,V,Re){return Me(this,N,V,!0,Re)},C.prototype.writeFloatBE=function(N,V,Re){return Me(this,N,V,!1,Re)},C.prototype.writeDoubleLE=function(N,V,Re){return Ue(this,N,V,!0,Re)},C.prototype.writeDoubleBE=function(N,V,Re){return Ue(this,N,V,!1,Re)},C.prototype.copy=function(N,V,Re,Ze){if(!C.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ze&&0!==Ze&&(Ze=this.length),V>=N.length&&(V=N.length),V||(V=0),Ze>0&&Ze=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),N.length-V=0;--kt)N[kt+V]=this[kt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Ze),V);return Tt},C.prototype.fill=function(N,V,Re,Ze){if("string"==typeof N){if("string"==typeof V?(Ze=V,V=0,Re=this.length):"string"==typeof Re&&(Ze=Re,Re=this.length),void 0!==Ze&&"string"!=typeof Ze)throw new TypeError("encoding must be a string");if("string"==typeof Ze&&!C.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(1===N.length){var Tt=N.charCodeAt(0);("utf8"===Ze&&Tt<128||"latin1"===Ze)&&(N=Tt)}}else"number"==typeof N&&(N&=255);if(V<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(kt=V;kt55295&&V<57344){if(!Ze){if(V>56319){(N-=3)>-1&&Tt.push(239,191,189);continue}if(kt+1===Re){(N-=3)>-1&&Tt.push(239,191,189);continue}Ze=V;continue}if(V<56320){(N-=3)>-1&&Tt.push(239,191,189),Ze=V;continue}V=65536+(Ze-55296<<10|V-56320)}else Ze&&(N-=3)>-1&&Tt.push(239,191,189);if(Ze=null,V<128){if((N-=1)<0)break;Tt.push(V)}else if(V<2048){if((N-=2)<0)break;Tt.push(V>>6|192,63&V|128)}else if(V<65536){if((N-=3)<0)break;Tt.push(V>>12|224,V>>6&63|128,63&V|128)}else{if(!(V<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;Tt.push(V>>18|240,V>>12&63|128,V>>6&63|128,63&V|128)}}return Tt}function je(B){return j.toByteArray(function(B){if((B=(B=B.split("=")[0]).trim().replace(qe,"")).length<2)return"";for(;B.length%4!=0;)B+="=";return B}(B))}function _t(B,N,V,Re){for(var Ze=0;Ze=N.length||Ze>=B.length);++Ze)N[Ze+V]=B[Ze];return Ze}function pt(B,N){return B instanceof N||null!=B&&null!=B.constructor&&null!=B.constructor.name&&B.constructor.name===N.name}function we(B){return B!=B}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((k,Q,H)=>k+(0===H?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((k,Q,H)=>void 0===j[Q]||"symbol"==typeof j[Q]?k:k+(0===k.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var k,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,ae){return Function.prototype.apply.call($,Z,ae)};k=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var H=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,ae){function oe(Te){E.removeListener($,te),ae(Te)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",oe),Z([].slice.call(arguments))}K(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&K(E,"error",$,Z)}(E,oe,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var C=10;function R(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function T(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,ae){var oe,te,Te;if(R(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Te=te[$]),void 0===Te)Te=te[$]=Z,++E._eventsCount;else if("function"==typeof Te?Te=te[$]=ae?[Z,Te]:[Te,Z]:ae?Te.unshift(Z):Te.push(Z),(oe=T(E))>0&&Te.length>oe&&!Te.warned){Te.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Te.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Te.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var ae={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},oe=y.bind(ae);return oe.listener=Z,ae.wrapFn=oe,oe}function A(E,$,Z){var ae=E._events;if(void 0===ae)return[];var oe=ae[$];return void 0===oe?[]:"function"==typeof oe?Z?[oe.listener||oe]:[oe]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(oe):P(oe,oe.length)}function z(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function P(E,$){for(var Z=new Array($),ae=0;ae<$;++ae)Z[ae]=E[ae];return Z}function K(E,$,Z,ae){if("function"==typeof E.on)ae.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function oe(te){ae.once&&E.removeEventListener($,oe),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return C},set:function(E){if("number"!=typeof E||E<0||H(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");C=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||H($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return T(this)},v.prototype.emit=function($){for(var Z=[],ae=1;ae0&&(Te=Z[0]),Te instanceof Error)throw Te;var me=new Error("Unhandled error."+(Te?" ("+Te.message+")":""));throw me.context=Te,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var ye=ne.length,Oe=P(ne,ye);for(ae=0;ae=0;Te--)if(ae[Te]===Z||ae[Te].listener===Z){me=ae[Te].listener,te=Te;break}if(te<0)return this;0===te?ae.shift():function(E,$){for(;$+1=0;oe--)this.removeListener($,Z[oe]);return this},v.prototype.listeners=function($){return A(this,$,!0)},v.prototype.rawListeners=function($){return A(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):z.call(E,$)},v.prototype.listenerCount=z,v.prototype.eventNames=function(){return this._eventsCount>0?k(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,k,Q,H){var v,C,R=8*H-Q-1,T=(1<>1,y=-7,S=k?H-1:0,A=k?-1:1,z=W[j+S];for(S+=A,v=z&(1<<-y)-1,z>>=-y,y+=R;y>0;v=256*v+W[j+S],S+=A,y-=8);for(C=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;C=256*C+W[j+S],S+=A,y-=8);if(0===v)v=1-b;else{if(v===T)return C?NaN:1/0*(z?-1:1);C+=Math.pow(2,Q),v-=b}return(z?-1:1)*C*Math.pow(2,v-Q)},he.write=function(W,j,k,Q,H,v){var C,R,T,b=8*v-H-1,y=(1<>1,A=23===H?Math.pow(2,-24)-Math.pow(2,-77):0,z=Q?0:v-1,P=Q?1:-1,X=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(R=isNaN(j)?1:0,C=y):(C=Math.floor(Math.log(j)/Math.LN2),j*(T=Math.pow(2,-C))<1&&(C--,T*=2),(j+=C+S>=1?A/T:A*Math.pow(2,1-S))*T>=2&&(C++,T/=2),C+S>=y?(R=0,C=y):C+S>=1?(R=(j*T-1)*Math.pow(2,H),C+=S):(R=j*Math.pow(2,S-1)*Math.pow(2,H),C=0));H>=8;W[k+z]=255&R,z+=P,R/=256,H-=8);for(C=C<0;W[k+z]=255&C,z+=P,C/=256,b-=8);W[k+z-P]|=128*X}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,k){k&&(j.super_=k,j.prototype=Object.create(k.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,k){if(k){j.super_=k;var Q=function(){};Q.prototype=k.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:k}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:H}=Y("./url"),v=Y("./JsonLdError"),C=Y("./ResolvedContext");function T(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const A=y["@context"];if(k(A))y["@context"]=H(S,A);else if(W(A))for(let z=0;z10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(P.has(A))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:A});let X,ue;P.add(A);try{ue=yield z(A),X=ue.document||null,k(X)&&(X=JSON.parse(X))}catch(I){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:A,cause:I})}if(!j(X))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:A});return X="@context"in X?{"@context":X["@context"]}:{"@context":{}},ue.contextUrl&&(W(X["@context"])||(X["@context"]=[X["@context"]]),X["@context"].push(ue.contextUrl)),{context:X,remoteDoc:ue}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",k="jsonld.Error",Q={}){super(j),this.name=k,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(k,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(k,Q)},j.expand=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(k)},j.flatten=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(k)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const k=this;return k._loader=j,function(){return k.add.apply(k,arguments)}}add(j){var k=this;return yt(function*(){let Q=k._requests[j];if(Q)return Promise.resolve(Q);Q=k._requests[j]=k._loader(j);try{return yield Q}finally{delete k._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,H){this.cache.set(Q,H)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isString:Q,isUndefined:H}=Y("./types"),{isList:v,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{removeBase:X,prependBase:ue}=Y("./url"),{addValue:I,asArray:O,compareShortestLeast:K}=Y("./util"),E={};function Z(ae,oe,te){if("@nest"!==y(ae,oe,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var ae=yt(function*({activeCtx:oe,activeProperty:te=null,element:Te,options:me={},compactionMap:ne=(()=>{})}){if(j(Te)){let Oe=[];for(let $e=0;$e1&&(tt=Array.from(tt).sort());const Xe=oe;for(const Le of tt){const Ke=E.compactIri({activeCtx:Xe,iri:Le,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");H(Me)||(oe=yield z({activeCtx:oe,localCtx:Me,options:me,propagate:!1}))}const ze=Object.keys(Te).sort();for(const Le of ze){const Ke=Te[Le];if("@id"!==Le)if("@type"!==Le)if("@reverse"!==Le)if("@preserve"!==Le)if("@index"!==Le)if("@graph"!==Le&&"@list"!==Le&&"@included"!==Le&&A(Le)){const Me=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:oe,iri:Le,value:Ke,relativeTo:{vocab:!0},reverse:Oe}),Ue=oe.mappings.has(Me)?oe.mappings.get(Me)["@nest"]:null;let qe=$e;Ue&&(Z(oe,Ue,me),k($e[Ue])||($e[Ue]={}),qe=$e[Ue]),I(qe,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ue=E.compactIri({activeCtx:oe,iri:Le,value:Me,relativeTo:{vocab:!0},reverse:Oe}),qe=oe.mappings.has(Ue)?oe.mappings.get(Ue)["@nest"]:null;let ke=$e;qe&&(Z(oe,qe,me),k($e[qe])||($e[qe]={}),ke=$e[qe]);const q=S(oe,Ue,"@container")||[],G=R(Me),pe=v(Me);let de;pe?de=Me["@list"]:G&&(de=Me["@graph"]);let je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:pe||G?de:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){I(ke,Ue,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:oe,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&T(Me))){let _t;ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}});I(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&T(Me)?(j(je)&&je.length>1&&(je={"@included":je}),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:oe,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={},q.includes("@language"))C(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const we=S(oe,Ue,"@index")||"@index",B=E.compactIri({activeCtx:oe,iri:we,relativeTo:{vocab:!0}});if("@index"===we)pt=Me["@index"],delete je[B];else{let N;if([pt,...N]=O(je[we]||[]),Q(pt))switch(N.length){case 0:delete je[we];break;case 1:je[we]=N[0];break;default:je[we]=N}else pt=null}}else if(q.includes("@id")){const we=E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}});pt=je[we],delete je[we]}else if(q.includes("@type")){const we=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}});let B;switch([pt,...B]=O(je[we]||[]),B.length){case 0:delete je[we];break;case 1:je[we]=B[0];break;default:je[we]=B}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}})),I(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===Le||"@graph"===Le;I(ke,Ue,je,{propertyIsArray:_t})}}}else{if((S(oe,te,"@container")||[]).includes("@index"))continue;const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Ke)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||I($e,Le,Me)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ue in Me)if(oe.mappings.has(Ue)&&oe.mappings.get(Ue).reverse){const qe=Me[Ue],q=(S(oe,Ue,"@container")||[]).includes("@set")||!me.compactArrays;I($e,Ue,qe,{propertyIsArray:q}),delete Me[Ue]}if(Object.keys(Me).length>0){const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Me)}}else{let Me=O(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ue=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}}),q=(S(oe,Ue,"@container")||[]).includes("@set")&&P(oe,1.1)||j(Me)&&0===Ke.length;I($e,Ue,Me,{propertyIsArray:q})}else{let Me=O(Ke).map(qe=>E.compactIri({activeCtx:oe,iri:qe,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),$e[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return $e}return Te});return function(oe){return ae.apply(this,arguments)}}(),E.compactIri=({activeCtx:ae,iri:oe,value:te=null,relativeTo:Te={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===oe)return oe;ae.isPropertyTermScoped&&ae.previousContext&&(ae=ae.previousContext);const ye=ae.getInverse();if(A(oe)&&oe in ye&&"@none"in ye[oe]&&"@type"in ye[oe]["@none"]&&"@none"in ye[oe]["@none"]["@type"])return ye[oe]["@none"]["@type"]["@none"];if(Te.vocab&&oe in ye){const tt=ae["@language"]||"@none",Xe=[];k(te)&&"@index"in te&&!("@graph"in te)&&Xe.push("@index","@index@set"),k(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Xe.push("@graph@id","@graph@id@set"),Xe.push("@graph","@graph@set","@set"),"@index"in te||Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Xe.push("@graph@id","@graph@id@set")):k(te)&&!C(te)&&Xe.push("@id","@id@set","@type","@set@type");let ze="@language",Le="@null";if(me)ze="@type",Le="@reverse",Xe.push("@set");else if(v(te)){"@index"in te||Xe.push("@list");const Me=te["@list"];if(0===Me.length)ze="@any",Le="@none";else{let Ue=0===Me.length?tt:null,qe=null;for(let ke=0;kest.includes("_"));$e&&ye.push($e.replace(/^[^_]+_/,"_"))}ye.push("@none");const Oe=ae.inverse[oe];for(const $e of Te){if(!($e in Oe))continue;const st=Oe[$e][me];for(const Qe of ye)if(Qe in st)return st[Qe]}return null}(ae,oe,te,Xe,ze,Le);if(null!==Ke)return Ke}if(Te.vocab&&"@vocab"in ae){const tt=ae["@vocab"];if(0===oe.indexOf(tt)&&oe!==tt){const Xe=oe.substr(tt.length);if(!ae.mappings.has(Xe))return Xe}}let Oe=null;const $e=[];let st=ae.fastCurieMap;const Qe=oe.length-1;for(let tt=0;tt=0;--tt){const Xe=$e[tt],ze=Xe.terms;for(const Le of ze){const Ke=Le+":"+oe.substr(Xe.iri.length);ae.mappings.get(Le)._prefix&&(!ae.mappings.has(Ke)||null===te&&ae.mappings.get(Ke)["@id"]===oe)&&(null===Oe||K(Ke,Oe)<0)&&(Oe=Ke)}}if(null!==Oe)return Oe;for(const[tt,Xe]of ae.mappings)if(Xe&&Xe._prefix&&oe.startsWith(tt+":"))throw new W(`Absolute IRI "${oe}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ae});return Te.vocab?oe:"@base"in ae?ae["@base"]?X(ue(ne,ae["@base"]),oe):oe:X(ne,oe)},E.compactValue=({activeCtx:ae,activeProperty:oe,value:te,options:Te})=>{if(C(te)){const Oe=S(ae,oe,"@type"),$e=S(ae,oe,"@language"),st=S(ae,oe,"@direction"),Qe=S(ae,oe,"@container")||[],tt="@index"in te&&!Qe.includes("@index");if(!tt&&"@none"!==Oe&&(te["@type"]===Oe||"@language"in te&&te["@language"]===$e&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===$e||"@direction"in te&&te["@direction"]===st))return te["@value"];const Xe=Object.keys(te).length,ze=1===Xe||2===Xe&&"@index"in te&&!tt,Le="@language"in ae,Ke=Q(te["@value"]),Me=ae.mappings.has(oe)&&null===ae.mappings.get(oe)["@language"];if(ze&&"@none"!==Oe&&(!Le||!Ke||Me))return te["@value"];const Ue={};return tt&&(Ue[E.compactIri({activeCtx:ae,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[E.compactIri({activeCtx:ae,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:ae,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[E.compactIri({activeCtx:ae,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const me=y(ae,oe,{vocab:!0},Te),ne=S(ae,oe,"@type"),ye=E.compactIri({activeCtx:ae,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Te.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?ye:{[E.compactIri({activeCtx:ae,iri:"@id",relativeTo:{vocab:!0}})]:ye}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:k,isObject:Q,isString:H,isUndefined:v}=Y("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,z=/^@[a-zA-Z]+$/,P={};function X(I,O,K,E,$,Z){if(null===O||!H(O)||P.isKeyword(O))return O;if(O.match(z))return null;if(E&&E.hasOwnProperty(O)&&!0!==$.get(O)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:O,defined:$,options:Z}),(K=K||{}).vocab){const oe=I.mappings.get(O);if(null===oe)return null;if(Q(oe)&&"@id"in oe)return oe["@id"]}const ae=O.indexOf(":");if(ae>0){const oe=O.substr(0,ae),te=O.substr(ae+1);if("_"===oe||0===te.indexOf("//"))return O;E&&E.hasOwnProperty(oe)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:oe,defined:$,options:Z});const Te=I.mappings.get(oe);if(Te&&Te._prefix)return Te["@id"]+te;if(C(O))return O}if(K.vocab&&"@vocab"in I)return I["@vocab"]+O;if(K.base&&"@base"in I){if(I["@base"])return T(T(Z.base,I["@base"]),O)}else if(K.base)return T(Z.base,O);return O}function ue(I,O){if(!I||"object"!=typeof I||!O||"object"!=typeof O)return I===O;const K=Array.isArray(I);if(K!==Array.isArray(O))return!1;if(K){if(I.length!==O.length)return!1;for(let Z=0;Z{if(E.has(K)){if(E.get(K))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:O,term:K})}let ae;if(E.set(K,!1),O.hasOwnProperty(K)&&(ae=O[K]),"@type"===K&&Q(ae)&&"@set"===(ae["@container"]||"@set")&&P.processingMode(I,1.1)){const Oe=["@container","@id","@protected"],$e=Object.keys(ae);if(0===$e.length||$e.some(st=>!Oe.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K})}else{if(P.isKeyword(K))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K});if(K.match(z))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:K});if(""===K)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:O})}const oe=I.mappings.get(K);I.mappings.has(K)&&I.mappings.delete(K);let te=!1;if((H(ae)||null===ae)&&(te=!0,ae={"@id":ae}),!Q(ae))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:O});const Te={};I.mappings.set(K,Te),Te.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];P.processingMode(I,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Oe in ae)if(!me.includes(Oe))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Oe,"jsonld.SyntaxError",{code:"invalid term definition",context:O});const ne=K.indexOf(":");if(Te._termHasColon=ne>0,"@reverse"in ae){if("@id"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});if("@nest"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});const Oe=ae["@reverse"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));const $e=X(I,Oe,{vocab:!0,base:!1},O,E,$);if(!C($e))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=$e,Te.reverse=!0}else if("@id"in ae){let Oe=ae["@id"];if(Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(null===Oe)Te["@id"]=null;else{if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));if(Oe!==K){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe)&&!P.isKeyword(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(K.match(/(?::[^:])|\//)&&X(I,K,{vocab:!0,base:!1},O,new Map(E).set(K,!0),$)!==Oe)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=Oe,Te._prefix=te&&!Te._termHasColon&&Oe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Te))if(Te._termHasColon){const Oe=K.substr(0,ne);if(O.hasOwnProperty(Oe)&&P.createTermDefinition({activeCtx:I,localCtx:O,term:Oe,defined:E,options:$}),I.mappings.has(Oe)){const $e=K.substr(ne+1);Te["@id"]=I.mappings.get(Oe)["@id"]+$e}else Te["@id"]=K}else if("@type"===K)Te["@id"]=K;else{if(!("@vocab"in I))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O,term:K});Te["@id"]=I["@vocab"]+K}if((!0===ae["@protected"]||!0===E.get("@protected")&&!1!==ae["@protected"])&&(I.protected[K]=!0,Te.protected=!0),E.set(K,!0),"@type"in ae){let Oe=ae["@type"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if("@json"===Oe||"@none"===Oe){if(P.processingMode(I,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Oe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else if("@id"!==Oe&&"@vocab"!==Oe){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if(0===Oe.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}Te["@type"]=Oe}if("@container"in ae){const Oe=H(ae["@container"])?[ae["@container"]]:ae["@container"]||[],$e=["@list","@set","@index","@language"];let st=!0;const Qe=Oe.includes("@set");if(P.processingMode(I,1.1)){if($e.push("@graph","@id","@type"),Oe.includes("@list")){if(1!==Oe.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else if(Oe.includes("@graph")){if(Oe.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else st&=Oe.length<=(Qe?2:1);if(Oe.includes("@type")&&(Te["@type"]=Te["@type"]||"@id",!["@id","@vocab"].includes(Te["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else st&=!k(ae["@container"]),st&=Oe.length<=1;if(st&=Oe.every(tt=>$e.includes(tt)),st&=!(Qe&&Oe.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+$e.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:O});if(Te.reverse&&!Oe.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});Te["@container"]=Oe}if("@index"in ae){if(!("@container"in ae)||!Te["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});if(!H(ae["@index"])||0===ae["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});Te["@index"]=ae["@index"]}if("@context"in ae&&(Te["@context"]=ae["@context"]),"@language"in ae&&!("@type"in ae)){let Oe=ae["@language"];if(null!==Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:O});null!==Oe&&(Oe=Oe.toLowerCase()),Te["@language"]=Oe}if("@prefix"in ae){if(K.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:O});if(P.isKeyword(Te["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:O});if("boolean"!=typeof ae["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:O});Te._prefix=!0===ae["@prefix"]}if("@direction"in ae){const Oe=ae["@direction"];if(null!==Oe&&"ltr"!==Oe&&"rtl"!==Oe)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:O});Te["@direction"]=Oe}if("@nest"in ae){const Oe=ae["@nest"];if(!H(Oe)||"@nest"!==Oe&&0===Oe.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:O});Te["@nest"]=Oe}const ye=Te["@id"];if("@context"===ye||"@preserve"===ye)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:O});if(oe&&oe.protected&&!Z&&(I.protected[K]=!0,Te.protected=!0,!ue(oe,Te))){const Oe=$&&$.protectedMode||"error";if("error"===Oe)throw new j(`Invalid JSON-LD syntax; tried to redefine "${K}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:O,term:K});if("warn"===Oe)return void console.warn("WARNING: protected term redefinition",{term:K});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:O,term:K,protectedMode:Oe})}},P.expandIri=(I,O,K,E)=>X(I,O,K,void 0,void 0,E),P.getInitialContext=I=>{const O=JSON.stringify({processingMode:I.processingMode}),K=S.get(O);if(K)return K;const E={processingMode:I.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Te=this;if(Te.inverse)return Te.inverse;const me=Te.inverse={},ne=Te.fastCurieMap={},ye={},Oe=(Te["@language"]||"@none").toLowerCase(),$e=Te["@direction"],st=Te.mappings,Qe=[...st.keys()].sort(y);for(const tt of Qe){const Xe=st.get(tt);if(null===Xe)continue;let ze=Xe["@container"]||"@none";if(ze=[].concat(ze).sort().join(""),null===Xe["@id"])continue;const Le=b(Xe["@id"]);for(const Ke of Le){let Me=me[Ke];const Ue=P.isKeyword(Ke);if(Me)!Ue&&!Xe._termHasColon&&ye[Ke].push(tt);else if(me[Ke]=Me={},!Ue&&!Xe._termHasColon){ye[Ke]=[tt];const qe={iri:Ke,terms:ye[Ke]};Ke[0]in ne?ne[Ke[0]].push(qe):ne[Ke[0]]=[qe]}if(Me[ze]||(Me[ze]={"@language":{},"@type":{},"@any":{}}),Me=Me[ze],ae(tt,Me["@any"],"@none"),Xe.reverse)ae(tt,Me["@type"],"@reverse");else if("@none"===Xe["@type"])ae(tt,Me["@any"],"@none"),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none");else if("@type"in Xe)ae(tt,Me["@type"],Xe["@type"]);else if("@language"in Xe&&"@direction"in Xe){const qe=Xe["@language"],ke=Xe["@direction"];ae(tt,Me["@language"],qe&&ke?`${qe}_${ke}`.toLowerCase():qe?qe.toLowerCase():ke?`_${ke}`:"@null")}else"@language"in Xe?ae(tt,Me["@language"],(Xe["@language"]||"@null").toLowerCase()):"@direction"in Xe?ae(tt,Me["@language"],Xe["@direction"]?`_${Xe["@direction"]}`:"@none"):$e?(ae(tt,Me["@language"],`_${$e}`),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none")):(ae(tt,Me["@language"],Oe),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Te={};return Te.mappings=W.clone(this.mappings),Te.clone=this.clone,Te.inverse=null,Te.getInverse=this.getInverse,Te.protected=W.clone(this.protected),this.previousContext&&(Te.previousContext=this.previousContext.clone()),Te.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Te["@base"]=this["@base"]),"@language"in this&&(Te["@language"]=this["@language"]),"@vocab"in this&&(Te["@vocab"]=this["@vocab"]),Te},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(O,E),E;function Z(Te,me,ne){const ye=Te[me],Oe=Te[me]={};let $e,st;for(const Qe of ye)$e=Qe.iri,st=ne>=$e.length?"":$e[ne],st in Oe?Oe[st].push(Qe):Oe[st]=[Qe];for(const Qe in Oe)""!==Qe&&Z(Oe,Qe,ne+1)}function ae(Te,me,ne){me.hasOwnProperty(ne)||(me[ne]=Te)}},P.getContextValue=(I,O,K)=>{if(null===O)return"@context"===K?void 0:null;if(I.mappings.has(O)){const E=I.mappings.get(O);if(v(K))return E;if(E.hasOwnProperty(K))return E[K]}return"@language"===K&&K in I||"@direction"===K&&K in I?I[K]:"@context"!==K?null:void 0},P.processingMode=(I,O)=>O.toString()>="1.1"?!I.processingMode||I.processingMode>="json-ld-"+O.toString():"json-ld-1.0"===I.processingMode,P.isKeyword=I=>{if(!H(I)||"@"!==I[0])return!1;switch(I){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:k}=Y("../constants"),Q=Y("../JsonLdError"),H=Y("../RequestQueue"),{prependBase:v}=Y("../url"),C=/(^|(\r\n))link:/i;function R(T,b,y){const S=new(T=T||XMLHttpRequest);return new Promise((A,z)=>{S.onload=()=>A(S),S.onerror=P=>z(P),S.open("GET",b,!0);for(const P in y)S.setRequestHeader(P,y[P]);S.send()})}Se.exports=({secure:T,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new H).wrapLoader(A);function A(P){return z.apply(this,arguments)}function z(){return(z=yt(function*(P){if(0!==P.indexOf("http:")&&0!==P.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:P});if(T&&0!==P.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:P});let X;try{X=yield R(y,P,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:P,cause:E})}if(X.status>=400)throw new Q("URL could not be dereferenced: "+X.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:P,httpStatusCode:X.status});let ue={contextUrl:null,documentUrl:P,document:X.response},I=null;const O=X.getResponseHeader("Content-Type");let K;if(C.test(X.getAllResponseHeaders())&&(K=X.getResponseHeader("Link")),K&&"application/ld+json"!==O){const E=W(K),$=E[k];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:P});$&&(ue.contextUrl=$.target),I=E.alternate,I&&"application/ld+json"==I.type&&!(O||"").match(/^application\/(\w*\+)?json$/)&&(ue=yield A(v(P,I.target)))}return ue})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isEmptyObject:Q,isString:H,isUndefined:v}=Y("./types"),{isList:C,isValue:R,isGraph:T,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{isAbsolute:X}=Y("./url"),{addValue:ue,asArray:I,getValues:O,validateTypeValue:K}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return ae.apply(this,arguments)}function ae(){return(ae=yt(function*({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:$e,expandedParent:st,options:Qe={},insideList:tt,typeKey:Xe,typeScopedContext:ze,expansionMap:Le}){const Ke=Object.keys($e).sort(),Me=[];let Ue;const qe=$e[Xe]&&"@json"===y(ne,j($e[Xe])?$e[Xe][0]:$e[Xe],{vocab:!0},Qe);for(const ke of Ke){let G,q=$e[ke];if("@context"===ke)continue;let pe=y(ne,ke,{vocab:!0},Qe);if((null===pe||!X(pe)&&!A(pe))&&(pe=Le({unmappedProperty:ke,activeCtx:ne,activeProperty:ye,parent:$e,options:Qe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(A(pe)){if("@reverse"===Oe)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!H(q)){if(!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(k(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>H(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ue(st,"@id",I(q).map(pt=>H(pt)?y(ne,pt,{base:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@type"===pe){k(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,we])=>[y(ze,pt,{vocab:!0}),I(we).map(B=>y(ze,B,{base:!0,vocab:!0}))]))),K(q,Qe.isFrame),ue(st,"@type",I(q).map(pt=>H(pt)?y(ze,pt,{base:!0,vocab:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@included"===pe&&P(ne,1.1)){const pt=I(yield E.expand({activeCtx:ne,activeProperty:ye,element:q,options:Qe,expansionMap:Le}));if(!pt.every(we=>b(we)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ue(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!k(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ue=q,qe&&P(ne,1.1)?st["@value"]=q:ue(st,"@value",q,{propertyIsArray:Qe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=I(q).map(pt=>H(pt)?pt.toLowerCase():pt);for(const pt of q)H(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ue(st,"@language",q,{propertyIsArray:Qe.isFrame});continue}if("@direction"===pe){if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=I(q);for(const pt of q)if(H(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ue(st,"@direction",q,{propertyIsArray:Qe.isFrame});continue}if("@index"===pe){if(!H(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ue(st,"@index",q);continue}if("@reverse"===pe){if(!k(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Qe,expansionMap:Le}),"@reverse"in G)for(const we in G["@reverse"])ue(st,we,G["@reverse"][we],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const we in G){if("@reverse"===we)continue;null===pt&&(pt=st["@reverse"]={}),ue(pt,we,[],{propertyIsArray:!0});const B=G[we];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=I(G).map(pt=>({"@graph":I(pt)}))),de.mappings.has(ke)&&de.mappings.get(ke).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=I(G);for(let we=0;we"@value"===y(ne,pe,{vocab:!0},Qe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:G,expandedParent:st,options:Qe,insideList:tt,typeScopedContext:ze,typeKey:Xe,expansionMap:Le})}}})).apply(this,arguments)}function oe({activeCtx:ne,activeProperty:ye,value:Oe,options:$e}){if(null==Oe)return null;const st=y(ne,ye,{vocab:!0},$e);if("@id"===st)return y(ne,Oe,{base:!0},$e);if("@type"===st)return y(ne,Oe,{vocab:!0,base:!0},$e);const Qe=S(ne,ye,"@type");if(("@id"===Qe||"@graph"===st)&&H(Oe))return{"@id":y(ne,Oe,{base:!0},$e)};if("@vocab"===Qe&&H(Oe))return{"@id":y(ne,Oe,{vocab:!0,base:!0},$e)};if(A(st))return Oe;const tt={};if(Qe&&!["@id","@vocab","@none"].includes(Qe))tt["@type"]=Qe;else if(H(Oe)){const Xe=S(ne,ye,"@language");null!==Xe&&(tt["@language"]=Xe);const ze=S(ne,ye,"@direction");null!==ze&&(tt["@direction"]=ze)}return["boolean","number","string"].includes(typeof Oe)||(Oe=Oe.toString()),tt["@value"]=Oe,tt}function te(ne,ye,Oe,$e){const st=[],Qe=Object.keys(ye).sort();for(const tt of Qe){const Xe=y(ne,tt,{vocab:!0},$e);let ze=ye[tt];j(ze)||(ze=[ze]);for(const Le of ze){if(null===Le)continue;if(!H(Le))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ye});const Ke={"@value":Le};"@none"!==Xe&&(Ke["@language"]=tt.toLowerCase()),Oe&&(Ke["@direction"]=Oe),st.push(Ke)}}return st}function Te(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:ye,activeProperty:Oe,value:$e,expansionMap:st,asGraph:Qe,indexKey:tt,propertyIndex:Xe}){const ze=[],Le=Object.keys($e).sort(),Ke="@type"===tt;for(let Me of Le){if(Ke){const ke=S(ne,Me,"@context");v(ke)||(ne=yield z({activeCtx:ne,localCtx:ke,propagate:!1,options:ye}))}let qe,Ue=$e[Me];j(Ue)||(Ue=[Ue]),Ue=yield E.expand({activeCtx:ne,activeProperty:Oe,element:Ue,options:ye,insideList:!1,insideIndex:!0,expansionMap:st}),qe=Xe?"@none"===Me?"@none":oe({activeCtx:ne,activeProperty:tt,value:Me,options:ye}):y(ne,Me,{vocab:!0},ye),"@id"===tt?Me=y(ne,Me,{base:!0},ye):Ke&&(Me=qe);for(let ke of Ue){if(Qe&&!T(ke)&&(ke={"@graph":[ke]}),"@type"===tt)"@none"===qe||(ke["@type"]=ke["@type"]?[Me].concat(ke["@type"]):[Me]);else{if(R(ke)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:ke});Xe?"@none"!==qe&&ue(ke,Xe,qe,{propertyIsArray:!0,prependValue:!0}):"@none"!==qe&&!(tt in ke)&&(ke[tt]=Me)}ze.push(ke)}}return ze})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:ye,activeProperty:Oe=null,element:$e,options:st={},insideList:Qe=!1,insideIndex:tt=!1,typeScopedContext:Xe=null,expansionMap:ze=(()=>{})}){if(null==$e)return null;if("@default"===Oe&&(st=Object.assign({},st,{isFrame:!1})),!j($e)&&!k($e)){if(!Qe&&(null===Oe||"@graph"===y(ye,Oe,{vocab:!0},st))){const G=yield ze({unmappedValue:$e,activeCtx:ye,activeProperty:Oe,options:st,insideList:Qe});return void 0===G?null:G}return oe({activeCtx:ye,activeProperty:Oe,value:$e,options:st})}if(j($e)){let G=[];const pe=S(ye,Oe,"@container")||[];Qe=Qe||pe.includes("@list");for(let de=0;de<$e.length;++de){let je=yield E.expand({activeCtx:ye,activeProperty:Oe,element:$e[de],options:st,expansionMap:ze,insideIndex:tt,typeScopedContext:Xe});Qe&&j(je)&&(je={"@list":je}),(null!==je||(je=yield ze({unmappedValue:$e[de],activeCtx:ye,activeProperty:Oe,parent:$e,index:de,options:st,expandedParent:G,insideList:Qe}),void 0!==je))&&(j(je)?G=G.concat(je):G.push(je))}return G}const Le=y(ye,Oe,{vocab:!0},st),Ke=S(ye,Oe,"@context");Xe=Xe||(ye.previousContext?ye:null);let Me=Object.keys($e).sort(),Ue=!tt;if(Ue&&Xe&&Me.length<=2&&!Me.includes("@context"))for(const G of Me){const pe=y(Xe,G,{vocab:!0},st);if("@value"===pe){Ue=!1,ye=Xe;break}if("@id"===pe&&1===Me.length){Ue=!1;break}}Ue&&(ye=ye.revertToPreviousContext()),v(Ke)||(ye=yield z({activeCtx:ye,localCtx:Ke,propagate:!0,overrideProtected:!0,options:st})),"@context"in $e&&(ye=yield z({activeCtx:ye,localCtx:$e["@context"],options:st})),Xe=ye;let qe=null;for(const G of Me)if("@type"===y(ye,G,{vocab:!0},st)){qe=qe||G;const de=$e[G],je=Array.isArray(de)?de.length>1?de.slice().sort():de:[de];for(const _t of je){const pt=S(Xe,_t,"@context");v(pt)||(ye=yield z({activeCtx:ye,localCtx:pt,options:st,propagate:!1}))}}let ke={};yield Z({activeCtx:ye,activeProperty:Oe,expandedActiveProperty:Le,element:$e,expandedParent:ke,options:st,insideList:Qe,typeKey:qe,typeScopedContext:Xe,expansionMap:ze}),Me=Object.keys(ke);let q=Me.length;if("@value"in ke){if("@type"in ke&&("@language"in ke||"@direction"in ke))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});let G=q-1;if("@type"in ke&&(G-=1),"@index"in ke&&(G-=1),"@language"in ke&&(G-=1),"@direction"in ke&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});const pe=null===ke["@value"]?[]:I(ke["@value"]),de=O(ke,"@type");if(!P(ye,1.1)||!de.includes("@json")||1!==de.length)if(0===pe.length){const je=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==je?je:null}else{if(!pe.every(je=>H(je)||Q(je))&&"@language"in ke)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ke});if(!de.every(je=>X(je)&&!(H(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ke})}}else if("@type"in ke&&!j(ke["@type"]))ke["@type"]=[ke["@type"]];else if("@set"in ke||"@list"in ke){if(q>1&&(2!==q||!("@index"in ke)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ke});"@set"in ke&&(ke=ke["@set"],Me=Object.keys(ke),q=Me.length)}else if(1===q&&"@language"in ke){const G=yield ze(ke,{unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}if(k(ke)&&!st.keepFreeFloatingNodes&&!Qe&&(null===Oe||"@graph"===Le)&&(0===q||"@value"in ke||"@list"in ke||1===q&&"@id"in ke)){const G=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}return ke});return function(ye){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),k={};Se.exports=k,k.flatten=Q=>{const H=j(Q),v=[],C=Object.keys(H).sort();for(let R=0;R=0;--ae){const oe=Z[ae];if(oe.graph===$&&oe.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const ae="@"+Z;let oe=ae in E?E[ae][0]:$[Z];if("embed"===Z)if(!0===oe)oe="@once";else if(!1===oe)oe="@never";else if("@always"!==oe&&"@never"!==oe&&"@link"!==oe&&"@first"!==oe&&"@last"!==oe&&"@once"!==oe)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return oe}function A(E){if(!k.isArray(E)||1!==E.length||!k.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function P(E,$,Z,ae){let oe=!0,te=!1;for(const Te in Z){let me=!1;const ne=Q.getValues($,Te),ye=0===Q.getValues(Z,Te).length;if("@id"===Te){if(k.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!ae.requireAll)return me}else if("@type"===Te){if(oe=!1,ye){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&k.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Oe of Z["@type"])me=!(!k.isObject(Oe)||!("@default"in Oe))||me||ne.some($e=>$e===Oe);if(!ae.requireAll)return me}else{if(W(Te))continue;{const Oe=Q.getValues(Z,Te)[0];let $e=!1;if(Oe&&(A([Oe]),$e="@default"in Oe),oe=!1,0===ne.length&&$e)continue;if(ne.length>0&&ye)return!1;if(void 0===Oe){if(ne.length>0)return!1;me=!0}else if(j.isList(Oe)){const st=Oe["@list"][0];if(j.isList(ne[0])){const Qe=ne[0]["@list"];j.isValue(st)?me=Qe.some(tt=>K(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Qe.some(tt=>O(E,st,tt,ae)))}}else me=j.isValue(Oe)?ne.some(st=>K(Oe,st)):j.isSubjectReference(Oe)?ne.some(st=>O(E,Oe,st,ae)):!!k.isObject(Oe)&&ne.length>0}}if(!me&&ae.requireAll)return!1;te=te||me}return oe||te}function X(E,$){const Z=E.uniqueEmbeds[E.graph],ae=Z[$],oe=ae.parent,te=ae.property,Te={"@id":$};if(k.isArray(oe)){for(let ne=0;ne{const ye=Object.keys(Z);for(const Oe of ye)Oe in Z&&k.isObject(Z[Oe].parent)&&Z[Oe].parent["@id"]===ne&&(delete Z[Oe],me(Oe))};me($)}function ue(E,$){if(k.isArray(E))return E.map(Z=>ue(Z,$));if(k.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ue(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ue(E[Z],$)}return E}function I(E,$,Z){k.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function O(E,$,Z,ae){if(!("@id"in Z))return!1;const oe=E.subjects[Z["@id"]];return oe&&P(E,oe,$,ae)}function K(E,$){const Z=$["@value"],ae=$["@type"],oe=$["@language"],te=E["@value"]?k.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Te=E["@type"]?k.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?k.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Te.length&&0===me.length||!(!te.includes(Z)&&!k.isEmptyObject(te[0])||!(!ae&&0===Te.length||Te.includes(ae)||ae&&k.isEmptyObject(Te[0]))||!(!oe&&0===me.length||me.includes(oe)||oe&&k.isEmptyObject(me[0])))}Se.exports=T,T.frameMergedOrDefault=(E,$,Z)=>{const ae={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},oe=new Q.IdentifierIssuer("_:b");C(E,ae.graphMap,"@default",oe),Z.merged&&(ae.graphMap["@merged"]=R(ae.graphMap),ae.graph="@merged"),ae.subjects=ae.graphMap[ae.graph];const te=[];return T.frame(ae,Object.keys(ae.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(ae.bnodeMap).filter(Te=>1===ae.bnodeMap[Te].length)),Z.link={},ue(te,Z)},T.frame=(E,$,Z,ae,oe=null)=>{A(Z);const te=E.options,Te={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,ae){const oe={};for(const te of $){const Te=E.graphMap[E.graph][te];P(E,Te,Z,ae)&&(oe[te]=Te)}return oe}(E,$,Z,Te),ye=Object.keys(ne).sort();for(const Oe of ye){const $e=ne[Oe];if(null===oe?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Te.embed&&Oe in me){I(ae,oe,me[Oe]);continue}const st={"@id":Oe};if(0===Oe.indexOf("_:")&&Q.addValue(E.bnodeMap,Oe,st,{propertyIsArray:!0}),me[Oe]=st,("@first"===Te.embed||"@last"===Te.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){if(E.embedded&&("@never"===Te.embed||y($e,E.graph,E.subjectStack))){I(ae,oe,st);continue}if(E.embedded&&("@first"==Te.embed||"@once"==Te.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){I(ae,oe,st);continue}if("@last"===Te.embed&&Oe in E.uniqueEmbeds[E.graph]&&X(E,Oe),E.uniqueEmbeds[E.graph][Oe]={parent:ae,property:oe},E.subjectStack.push({subject:$e,graph:E.graph}),Oe in E.graphMap){let Qe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Qe=!("@merged"===Oe||"@default"===Oe),k.isObject(tt)||(tt={})):(Qe="@merged"!==E.graph,tt={}),Qe&&T.frame(xn(ot({},E),{graph:Oe,embedded:!1}),Object.keys(E.graphMap[Oe]).sort(),[tt],st,"@graph")}"@included"in Z&&T.frame(xn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Qe of Object.keys($e).sort())if(W(Qe)){if(st[Qe]=Q.clone($e[Qe]),"@type"===Qe)for(const tt of $e["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Te.explicit||Qe in Z)for(const tt of $e[Qe]){const Xe=Qe in Z?Z[Qe]:b(Te);if(j.isList(tt)){const ze=Z[Qe]&&Z[Qe][0]&&Z[Qe][0]["@list"]?Z[Qe][0]["@list"]:b(Te),Le={"@list":[]};I(st,Qe,Le);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?T.frame(xn(ot({},E),{embedded:!0}),[Me["@id"]],ze,Le,"@list"):I(Le,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?T.frame(xn(ot({},E),{embedded:!0}),[tt["@id"]],Xe,st,Qe):K(Xe[0],tt)&&I(st,Qe,Q.clone(tt))}for(const Qe of Object.keys(Z).sort()){if("@type"===Qe){if(!k.isObject(Z[Qe][0])||!("@default"in Z[Qe][0]))continue}else if(W(Qe))continue;const tt=Z[Qe][0]||{};if(!S(tt,te,"omitDefault")&&!(Qe in st)){let ze="@null";"@default"in tt&&(ze=Q.clone(tt["@default"])),k.isArray(ze)||(ze=[ze]),st[Qe]=[{"@preserve":ze}]}}for(const Qe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Qe];for(const Xe of Object.keys(E.subjects))Q.getValues(E.subjects[Xe],Qe).some(Le=>Le["@id"]===Oe)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Qe,[],{propertyIsArray:!0}),T.frame(xn(ot({},E),{embedded:!0}),[Xe],tt,st["@reverse"][Qe],oe))}I(ae,oe,st),E.subjectStack.pop()}}},T.cleanupNull=(E,$)=>{if(k.isArray(E))return E.map(ae=>T.cleanupNull(ae,$)).filter(ae=>ae);if("@null"===E)return null;if(k.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=T.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),{RDF_LIST:H,RDF_FIRST:v,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:A,XSD_STRING:z}=Y("./constants"),P=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,X={};function ue(I,O,K){if(I.termType.endsWith("Node"))return{"@id":I.value};const E={"@value":I.value};if(I.language)E["@language"]=I.language;else{let $=I.datatype.value;if($||($=z),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(O){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(k.isNumeric(E["@value"]))if($===A){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,A,S,z].includes($)||(E["@type"]=$)}else if("i18n-datatype"===K&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,ae]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(P)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=ae}else $!==z&&(E["@type"]=$)}return E}Se.exports=X,X.fromRDF=function(){var I=yt(function*(O,{useRdfType:K=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},ae={"@default":Z},oe={};for(const me of O){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in ae||(ae[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const ye=ae[ne],Oe=me.subject.value,$e=me.predicate.value,st=me.object;Oe in ye||(ye[Oe]={"@id":Oe});const Qe=ye[Oe],tt=st.termType.endsWith("Node");if(tt&&!(st.value in ye)&&(ye[st.value]={"@id":st.value}),$e===T&&!K&&tt){Q.addValue(Qe,"@type",st.value,{propertyIsArray:!0});continue}const Xe=ue(st,E,$);if(Q.addValue(Qe,$e,Xe,{propertyIsArray:!0}),tt)if(st.value===R){const ze=ye[st.value];"usages"in ze||(ze.usages=[]),ze.usages.push({node:Qe,property:$e,value:Xe})}else oe[st.value]=!(st.value in oe)&&{node:Qe,property:$e,value:Xe}}for(const me in ae){const ne=ae[me];if(!(R in ne))continue;const ye=ne[R];if(ye.usages){for(let Oe of ye.usages){let $e=Oe.node,st=Oe.property,Qe=Oe.value;const tt=[],Xe=[];let ze=Object.keys($e).length;for(;st===C&&k.isObject(oe[$e["@id"]])&&k.isArray($e[v])&&1===$e[v].length&&k.isArray($e[C])&&1===$e[C].length&&(3===ze||4===ze&&k.isArray($e["@type"])&&1===$e["@type"].length&&$e["@type"][0]===H)&&(tt.push($e[v][0]),Xe.push($e["@id"]),Oe=oe[$e["@id"]],$e=Oe.node,st=Oe.property,Qe=Oe.value,ze=Object.keys($e).length,j.isBlankNode($e)););delete Qe["@id"],Qe["@list"]=tt.reverse();for(const Le of Xe)delete ne[Le]}delete ye.usages}}const te=[],Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me];if(me in ae){const ye=ne["@graph"]=[],Oe=ae[me],$e=Object.keys(Oe).sort();for(const st of $e){const Qe=Oe[st];j.isSubjectReference(Qe)||ye.push(Qe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(O,K){return I.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=k=>!(!W.isObject(k)||"@value"in k||"@set"in k||"@list"in k)&&(Object.keys(k).length>1||!("@id"in k)),j.isSubjectReference=k=>W.isObject(k)&&1===Object.keys(k).length&&"@id"in k,j.isValue=k=>W.isObject(k)&&"@value"in k,j.isList=k=>W.isObject(k)&&"@list"in k,j.isGraph=k=>W.isObject(k)&&"@graph"in k&&1===Object.keys(k).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=k=>j.isGraph(k)&&!("@id"in k),j.isBlankNode=k=>!!W.isObject(k)&&("@id"in k?0===k["@id"].indexOf("_:"):0===Object.keys(k).length||!("@value"in k||"@set"in k||"@list"in k))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),k=Y("./util"),Q=Y("./ContextResolver"),H=k.IdentifierIssuer,v=Y("./JsonLdError"),C=Y("lru-cache"),R=Y("./NQuads"),{expand:T}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:A,cleanupNull:z}=Y("./frame"),{isArray:P,isObject:X,isString:ue}=Y("./types"),{isSubjectReference:I}=Y("./graphTypes"),{expandIri:O,getInitialContext:K,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:ae}=Y("./compact"),{createNodeMap:oe,createMergedNodeMap:te,mergeNodeMaps:Te}=Y("./nodeMap"),me=function(ye){const Oe={},st=new C({max:100});function Qe(tt,Le){var Ke=Le,{documentLoader:Xe=ye.documentLoader}=Ke,ze=Pq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Xe},ze,tt)}return ye.compact=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===ze)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Xe)return null;let Ke;(Le=Qe(Le,{base:ue(Xe)?Xe:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new H("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(Le.skipExpansion=!0),Le.compactToRelative||delete Le.base,Ke=Le.skipExpansion?Xe:yield ye.expand(Xe,Le);const Me=yield ye.processContext(K(Le),ze,Le);let Ue=yield Z({activeCtx:Me,element:Ke,options:Le,compactionMap:Le.compactionMap});Le.compactArrays&&!Le.graph&&P(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):Le.graph&&X(Ue)&&(Ue=[Ue]),X(ze)&&"@context"in ze&&(ze=ze["@context"]),ze=k.clone(ze),P(ze)||(ze=[ze]);const qe=ze;ze=[];for(let q=0;q0)&&ze.push(qe[q]);const ke=ze.length>0;if(1===ze.length&&(ze=ze[0]),P(Ue)){const q=ae({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ue;Ue={},ke&&(Ue["@context"]=ze),Ue[q]=G}else if(X(Ue)&&ke){const q=Ue;Ue={"@context":ze};for(const G in q)Ue[G]=q[G]}return Ue});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.expand=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(ze=Qe(ze,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(ze.expansionMap=void 0);const Le={},Ke=[];if("expandContext"in ze){const ke=k.clone(ze.expandContext);Le.expandContext=X(ke)&&"@context"in ke?ke:{"@context":ke},Ke.push(Le.expandContext)}let Me;if(ue(Xe)){const ke=yield ye.get(Xe,ze);Me=ke.documentUrl,Le.input=ke.document,ke.contextUrl&&(Le.remoteContext={"@context":ke.contextUrl},Ke.push(Le.remoteContext))}else Le.input=k.clone(Xe);"base"in ze||(ze.base=Me||"");let Ue=K(ze);for(const ke of Ke)Ue=yield E({activeCtx:Ue,localCtx:ke,options:ze});let qe=yield T({activeCtx:Ue,element:Le.input,options:ze,expansionMap:ze.expansionMap});return X(qe)&&"@graph"in qe&&1===Object.keys(qe).length?qe=qe["@graph"]:null===qe&&(qe=[]),P(qe)||(qe=[qe]),qe});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.flatten=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Ke=yield ye.expand(Xe,Le),Me=b(Ke);return null===ze?Me:(Le.graph=!0,Le.skipExpansion=!0,yield ye.compact(Me,ze,Le))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.frame=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Le=Qe(Le,{base:ue(Xe)?Xe:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ue(ze)){const de=yield ye.get(ze,Le);if(ze=de.document,de.contextUrl){let je=ze["@context"];je?P(je)?je.push(de.contextUrl):je=[je,de.contextUrl]:je=de.contextUrl,ze["@context"]=je}}const Ke=ze&&ze["@context"]||{},Me=yield ye.processContext(K(Le),Ke,Le);Le.hasOwnProperty("omitGraph")||(Le.omitGraph=$(Me,1.1)),Le.hasOwnProperty("pruneBlankNodeIdentifiers")||(Le.pruneBlankNodeIdentifiers=$(Me,1.1));const Ue=yield ye.expand(Xe,Le),qe=ot({},Le);qe.isFrame=!0,qe.keepFreeFloatingNodes=!0;const ke=yield ye.expand(ze,qe),q=Object.keys(ze).map(de=>O(Me,de,{vocab:!0}));qe.merged=!q.includes("@graph"),qe.is11=$(Me,1.1);const G=A(Ue,ke,qe);qe.graph=!Le.omitGraph,qe.skipExpansion=!0,qe.link={},qe.framing=!0;let pe=yield ye.compact(G,Ke,qe);return qe.link={},pe=z(pe,qe),pe});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.link=function(){var tt=yt(function*(Xe,ze,Le){const Ke={};return ze&&(Ke["@context"]=ze),Ke["@embed"]="@link",ye.frame(Xe,Ke,Le)});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.normalize=ye.canonize=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(ze=Qe(ze,{base:ue(Xe)?Xe:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==ze.inputFormat&&"application/nquads"!==ze.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=R.parse(Xe);return W.canonize(Me,ze)}const Le=ot({},ze);delete Le.format,Le.produceGeneralizedRdf=!1;const Ke=yield ye.toRDF(Xe,Le);return W.canonize(Ke,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.fromRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");ze=Qe(ze,{format:ue(Xe)?"application/n-quads":void 0});const{format:Le}=ze;let{rdfParser:Ke}=ze;if(Le){if(Ke=Ke||Oe[Le],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:Le})}else Ke=()=>Xe;const Me=yield Ke(Xe);return y(Me,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.toRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Le;Le=(ze=Qe(ze,{base:ue(Xe)?Xe:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Xe:yield ye.expand(Xe,ze);const Ke=S(Le,ze);if(ze.format){if("application/n-quads"===ze.format||"application/nquads"===ze.format)return R.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:ze.format})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.createNodeMap=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");ze=Qe(ze,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Le=yield ye.expand(Xe,ze);return te(Le,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.merge=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!P(Xe))throw new TypeError('Could not merge, "docs" must be an array.');ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Xe.map(de=>{const je=ot({},Le);return ye.expand(de,je)}));let Me=!0;"mergeNodes"in Le&&(Me=Le.mergeNodes);const Ue=Le.issuer||new H("_:b"),qe={"@default":{}};for(let de=0;deye._documentLoader,set:tt=>ye._documentLoader=tt}),ye.documentLoader=function(){var tt=yt(function*(Xe){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Xe})});return function(Xe){return tt.apply(this,arguments)}}(),ye.get=function(){var tt=yt(function*(Xe,ze){let Le;Le="function"==typeof ze.documentLoader?ze.documentLoader:ye.documentLoader;const Ke=yield Le(Xe);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ue(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.processContext=function(){var tt=yt(function*(Xe,ze,Le){return Le=Qe(Le,{base:"",contextResolver:new Q({sharedCache:st})}),null===ze?K(Le):(ze=k.clone(ze),X(ze)&&"@context"in ze||(ze={"@context":ze}),E({activeCtx:Xe,localCtx:ze,options:Le}))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.getContextValue=Y("./context").getContextValue,ye.documentLoaders={},ye.useDocumentLoader=function(tt){if(!(tt in ye.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});ye.documentLoader=ye.documentLoaders[tt].apply(ye,Array.prototype.slice.call(arguments,1))},ye.registerRDFParser=function(tt,Xe){Oe[tt]=Xe},ye.unregisterRDFParser=function(tt){delete Oe[tt]},ye.registerRDFParser("application/n-quads",R.parse),ye.registerRDFParser("application/nquads",R.parse),ye.url=Y("./url"),ye.util=k,Object.assign(ye,k),ye.promises=ye,ye.RequestQueue=Y("./RequestQueue"),ye.JsonLdProcessor=Y("./JsonLdProcessor")(ye),j.setupGlobals(ye),j.setupDocumentLoaders(ye),ye},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),H=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(C,b,"@default",T),v.mergeNodeMaps(b)},v.createNodeMap=(C,R,T,b,y,S)=>{if(k.isArray(C)){for(const X of C)v.createNodeMap(X,R,T,b,void 0,S);return}if(!k.isObject(C))return void(S&&S.push(C));if(j.isValue(C)){if("@type"in C){let X=C["@type"];0===X.indexOf("_:")&&(C["@type"]=X=b.getId(X))}return void(S&&S.push(C))}if(S&&j.isList(C)){const X=[];return v.createNodeMap(C["@list"],R,T,b,y,X),void S.push({"@list":X})}if("@type"in C){const X=C["@type"];for(const ue of X)0===ue.indexOf("_:")&&b.getId(ue)}k.isUndefined(y)&&(y=j.isBlankNode(C)?b.getId(C["@id"]):C["@id"]),S&&S.push({"@id":y});const A=R[T],z=A[y]=A[y]||{};z["@id"]=y;const P=Object.keys(C).sort();for(let X of P){if("@id"===X)continue;if("@reverse"===X){const I={"@id":y},O=C["@reverse"];for(const K in O){const E=O[K];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,R,T,b,Z),Q.addValue(A[Z],K,I,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===X){y in R||(R[y]={}),v.createNodeMap(C[X],R,y,b);continue}if("@included"===X){v.createNodeMap(C[X],R,T,b);continue}if("@type"!==X&&W(X)){if("@index"===X&&X in z&&(C[X]!==z[X]||C[X]["@id"]!==z[X]["@id"]))throw new H("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:z});z[X]=C[X];continue}const ue=C[X];if(0===X.indexOf("_:")&&(X=b.getId(X)),0!==ue.length)for(let I of ue)if("@type"===X&&(I=0===I.indexOf("_:")?b.getId(I):I),j.isSubject(I)||j.isSubjectReference(I)){if("@id"in I&&!I["@id"])continue;const O=j.isBlankNode(I)?b.getId(I["@id"]):I["@id"];Q.addValue(z,X,{"@id":O},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(I,R,T,b,O)}else if(j.isValue(I))Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(I)){const O=[];v.createNodeMap(I["@list"],R,T,b,y,O),I={"@list":O},Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(I,R,T,b,y),Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(z,X,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const b of Object.keys(C[T]).sort()){const y=C[T][b];b in R||(R[b]={"@id":b});const S=R[b];for(const A of Object.keys(y).sort())if(W(A)&&"@type"!==A)S[A]=Q.clone(y[A]);else for(const z of y[A])Q.addValue(S,A,Q.clone(z),{propertyIsArray:!0,allowDuplicate:!1})}return R},v.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const b of T){if("@default"===b)continue;const y=C[b];let S=R[b];S?"@graph"in S||(S["@graph"]=[]):R[b]=S={"@id":b,"@graph":[]};const A=S["@graph"];for(const z of Object.keys(y).sort()){const P=y[z];j.isSubjectReference(P)||A.push(P)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(k){"undefined"!=typeof XMLHttpRequest&&(k.documentLoaders.xhr=W,k.useDocumentLoader("xhr"))},j.setupGlobals=function(k){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:k.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),k=Y("./graphTypes"),Q=Y("canonicalize"),H=Y("./types"),v=Y("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:A,XSD_DOUBLE:z,XSD_INTEGER:P,XSD_STRING:X}=Y("./constants"),{isAbsolute:ue}=Y("./url"),I={};function O($,Z,ae,oe,te){const Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me],ye=Object.keys(ne).sort();for(let Oe of ye){const $e=ne[Oe];if("@type"===Oe)Oe=b;else if(j(Oe))continue;for(const st of $e){const Qe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ue(me))continue;const tt={termType:Oe.startsWith("_:")?"BlankNode":"NamedNode",value:Oe};if(!ue(Oe)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Xe=E(st,oe,$,ae,te.rdfDirection);Xe&&$.push({subject:Qe,predicate:tt,object:Xe,graph:ae})}}}}function E($,Z,ae,oe,te){const Te={};if(k.isValue($)){Te.termType="Literal",Te.value=void 0,Te.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Te.value=Q(me),Te.datatype.value=y):H.isBoolean(me)?(Te.value=me.toString(),Te.datatype.value=ne||A):H.isDouble(me)||ne===z?(H.isDouble(me)||(me=parseFloat(me)),Te.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Te.datatype.value=ne||z):H.isNumber(me)?(Te.value=me.toFixed(0),Te.datatype.value=ne||P):"i18n-datatype"===te&&"@direction"in $?(Te.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Te.value=me):"@language"in $?(Te.value=me,Te.datatype.value=ne||S,Te.language=$["@language"]):(Te.value=me,Te.datatype.value=ne||X)}else if(k.isList($)){const me=function($,Z,ae,oe,te){const Te={termType:"NamedNode",value:C},me={termType:"NamedNode",value:R},ne={termType:"NamedNode",value:T},ye=$.pop(),Oe=ye?{termType:"BlankNode",value:Z.getId()}:ne;let $e=Oe;for(const st of $){const Qe=E(st,Z,ae,oe,te),tt={termType:"BlankNode",value:Z.getId()};ae.push({subject:$e,predicate:Te,object:Qe,graph:oe}),ae.push({subject:$e,predicate:me,object:tt,graph:oe}),$e=tt}if(ye){const st=E(ye,Z,ae,oe,te);ae.push({subject:$e,predicate:Te,object:st,graph:oe}),ae.push({subject:$e,predicate:me,object:ne,graph:oe})}return Oe}($["@list"],Z,ae,oe,te);Te.termType=me.termType,Te.value=me.value}else{const me=H.isObject($)?$["@id"]:$;Te.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Te.value=me}return"NamedNode"!==Te.termType||ue(Te.value)?Te:null}Se.exports=I,I.toRDF=($,Z)=>{const ae=new v.IdentifierIssuer("_:b"),oe={"@default":{}};W($,oe,"@default",ae);const te=[],Te=Object.keys(oe).sort();for(const me of Te){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ue(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}O(te,oe[me],ne,ae,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,H)=>{const v={},C=j.parsers[H||"full"],R=C.regex.exec(Q);let T=C.keys.length;for(;T--;)v[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,H)=>{if(null===Q||j.isAbsolute(H))return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(H),C={protocol:Q.protocol||""};if(null!==v.authority)C.authority=v.authority,C.path=v.path,C.query=v.query;else if(C.authority=Q.authority,""===v.path)C.path=Q.path,C.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))C.path=v.path;else{let T=Q.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Q.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=v.path,C.path=T}C.query=v.query}""!==v.path&&(C.path=j.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==v.fragment&&(R+="#"+v.fragment),""===R&&(R="./"),R},j.removeBase=(Q,H)=>{if(null===Q)return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):H.indexOf("//")&&(v+="//"),0!==H.indexOf(v))return H;const C=j.parse(H.substr(v.length)),R=Q.normalizedPath.split("/"),T=C.normalizedPath.split("/"),b=C.fragment||C.query?0:1;for(;R.length>0&&T.length>b&&R[0]===T[0];)R.shift(),T.shift();let y="";if(R.length>0){R.pop();for(let S=0;S{if(0===Q.length)return"";const H=Q.split("/"),v=[];for(;H.length>0;){const C=H.shift(),R=0===H.length;"."!==C?".."!==C?v.push(C):(v.pop(),R&&v.push("")):R&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const k=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&k.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),k=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),H=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function b(y,S){if(j.isArray(S))for(let A=0;A{if(Object.keys(y).some(A=>"accept"===A.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},y)},T.parseLinkHeader=y=>{const S={},A=y.match(H);for(let z=0;z{if(!(j.isString(y)||j.isArray(y)&&y.every(A=>j.isString(A)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&T.asArray(y["@default"]).every(A=>j.isString(A)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},T.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const A=y[S];return!j.isArray(A)||A.length>0}return!1},T.hasValue=(y,S,A)=>{if(T.hasProperty(y,S)){let z=y[S];const P=W.isList(z);if(j.isArray(z)||P){P&&(z=z["@list"]);for(let X=0;X{if("propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1),"valueIsArray"in z||(z.valueIsArray=!1),"allowDuplicate"in z||(z.allowDuplicate=!0),"prependValue"in z||(z.prependValue=!1),z.valueIsArray)y[S]=A;else if(j.isArray(A)){0===A.length&&z.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),z.prependValue&&(A=A.concat(y[S]),y[S]=[]);for(let P=0;P[].concat(y[S]||[]),T.removeProperty=(y,S)=>{delete y[S]},T.removeValue=(y,S,A,z)=>{"propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1);const P=T.getValues(y,S).filter(X=>!T.compareValues(X,A));0===P.length?T.removeProperty(y,S):y[S]=1!==P.length||z.propertyIsArray?P:P[0]},T.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new k("_:b"),y),T.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],T.compareShortestLeast=(y,S)=>y.length1;const z=(K,E,$)=>{const Z=K[b].get(E);if(Z){const ae=Z.value;if(P(K,ae)){if(ue(K,Z),!K[H])return}else $&&(K[y]&&(Z.value.now=Date.now()),K[T].unshiftNode(Z));return ae.value}},P=(K,E)=>{if(!E||!E.maxAge&&!K[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:K[v]&&$>K[v]},X=K=>{if(K[k]>K[j])for(let E=K[T].tail;K[k]>K[j]&&null!==E;){const $=E.prev;ue(K,E),E=$}},ue=(K,E)=>{if(E){const $=E.value;K[C]&&K[C]($.key,$.value),K[k]-=$.length,K[b].delete($.key),K[T].removeNode(E)}};class I{constructor(E,$,Z,ae,oe){this.key=E,this.value=$,this.length=Z,this.now=ae,this.maxAge=oe||0}}const O=(K,E,$,Z)=>{let ae=$.value;P(K,ae)&&(ue(K,$),K[H]||(ae=void 0)),ae&&E.call(Z,ae.value,ae.key,K)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[H]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[C]=E.dispose,this[R]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,X(this)}get max(){return this[j]}set allowStale(E){this[H]=!!E}get allowStale(){return this[H]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,X(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[k]=0,this[T].forEach($=>{$.length=this[Q]($.value,$.key),this[k]+=$.length})),X(this)}get lengthCalculator(){return this[Q]}get length(){return this[k]}get itemCount(){return this[T].length}rforEach(E,$){$=$||this;for(let Z=this[T].tail;null!==Z;){const ae=Z.prev;O(this,E,Z,$),Z=ae}}forEach(E,$){$=$||this;for(let Z=this[T].head;null!==Z;){const ae=Z.next;O(this,E,Z,$),Z=ae}}keys(){return this[T].toArray().map(E=>E.key)}values(){return this[T].toArray().map(E=>E.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(E=>this[C](E.key,E.value)),this[b]=new Map,this[T]=new W,this[k]=0}dump(){return this[T].map(E=>!P(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[T]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const ae=Z?Date.now():0,oe=this[Q]($,E);if(this[b].has(E)){if(oe>this[j])return ue(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[C]&&(this[R]||this[C](E,me.value)),me.now=ae,me.maxAge=Z,me.value=$,this[k]+=oe-me.length,me.length=oe,this.get(E),X(this),!0}const te=new I(E,$,oe,ae,Z);return te.length>this[j]?(this[C]&&this[C](E,$),!1):(this[k]+=te.length,this[T].unshift(te),this[b].set(E,this[T].head),X(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!P(this,$)}get(E){return z(this,E,!0)}peek(E){return z(this,E,!1)}pop(){const E=this[T].tail;return E?(ue(this,E),E.value):null}del(E){ue(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const ae=E[Z],oe=ae.e||0;if(0===oe)this.set(ae.k,ae.v);else{const te=oe-$;te>0&&this.set(ae.k,ae.v,te)}}}prune(){this[b].forEach((E,$)=>z(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",k="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${k}reify#forSome`,forAll:`${k}reify#forAll`},log:{implies:`${k}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function I(ne,ye){if(ye=ye||b,!ne)return ye.defaultGraph();switch(ne[0]){case"?":return ye.variable(ne.substr(1));case"_":return ye.blankNode(ne.substr(2));case'"':if(ye===b)return new z(ne);if('"'===ne[ne.length-1])return ye.literal(ne.substr(1,ne.length-2));const Oe=ne.lastIndexOf('"',ne.length-1);return ye.literal(ne.substr(1,Oe-1),"@"===ne[Oe+1]?ne.substr(Oe+2):ye.namedNode(ne.substr(Oe+3)));case"<":const $e=T.exec(ne);return ye.quad(I($($e[1]),ye),I($($e[2]),ye),I($($e[3]),ye),$e[4]&&I($($e[4]),ye));default:return ye.namedNode(ne)}},he.termToId=function O(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==H.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(O(ne.subject))} ${E(O(ne.predicate))} ${E(O(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${O(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:H}=W.default;let v,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new A(ne)},blankNode:function(ne){return new P(ne||"n3-"+C++)},variable:function(ne){return new X(ne)},literal:function(ne,ye){if("string"==typeof ye)return new z(`"${ne}"@${ye.toLowerCase()}`);let Oe=ye?ye.value:"";return""===Oe&&("boolean"==typeof ne?Oe=H.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Oe=Number.isInteger(ne)?H.integer:H.double:(Oe=H.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new z(""===Oe||Oe===H.string?`"${ne}"`:`"${ne}"^^${Oe}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(ye){this.id=ye}get value(){return this.id}equals(ye){return ye instanceof S?this.id===ye.id:!!ye&&this.termType===ye.termType&&this.value===ye.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class A extends S{get termType(){return"NamedNode"}}he.NamedNode=A;class z extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ye=this.id;let Oe=ye.lastIndexOf('"')+1;return Oe`"${Oe.replace(/"/g,'""')}`)}function $(ne){return ne.replace(R,(ye,Oe)=>`"${Oe.replace(/""/g,'"')}`)}function me(ne,ye,Oe,$e){return new K(ne,ye,Oe,$e)}he.Triple=he.Quad=K},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),k=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:H}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(A){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(A=A||{}).lineMode){this._n3Mode=!1;for(const z in this)!(z in T)&&this[z]instanceof RegExp&&(this[z]=b)}else this._n3Mode=!1!==A.n3;this._comments=!!A.comments,this._literalClosingPos=0}_tokenizeToEnd(A,z){let P=this._input,X=P.length;for(;;){let O,K;for(;O=this._newline.exec(P);)this._comments&&(K=this._comment.exec(O[0]))&&ue("comment",K[1],"",this._line,O[0].length),P=P.substr(O[0].length,P.length),X=P.length,this._line++;if(!O&&(O=this._whitespace.exec(P))&&(P=P.substr(O[0].length,P.length)),this._endOfFile.test(P))return z&&(this._comments&&(K=this._comment.exec(P))&&ue("comment",K[1],"",this._line,P.length),P=null,ue("eof","","",this._line,0)),this._input=P;const E=this._line,$=P[0];let Z="",ae="",oe="",te=null,Te=0,me=!1;switch($){case"^":if(P.length<3)break;if("^"!==P[1]){this._n3Mode&&(Te=1,Z="^");break}if(this._previousMarker="^^",P=P.substr(2),"<"!==P[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(P))Z="IRI",ae=te[1];else if(te=this._iri.exec(P)){if(ae=this._unescape(te[1]),null===ae||R.test(ae))return I(this);Z="IRI"}else P.length>1&&"<"===P[1]?(Z="<<",Te=2):this._n3Mode&&P.length>1&&"="===P[1]&&(Z="inverse",Te=2,ae=">");break;case">":P.length>1&&">"===P[1]&&(Z=">>",Te=2);break;case"_":((te=this._blank.exec(P))||z&&(te=this._blank.exec(`${P} `)))&&(Z="blank",oe="_",ae=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(P))&&(Z="var",ae=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(P))?(Z="langcode",ae=te[1]):(te=this._keyword.exec(P))&&(Z=te[0]);break;case".":if(1===P.length?z:P[1]<"0"||P[1]>"9"){Z=".",Te=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(P)||z&&(te=this._number.exec(`${P} `)))&&(Z="literal",ae=te[0],oe="string"==typeof te[1]?H.double:"string"==typeof te[2]?H.decimal:H.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(P))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(P))?(Z="literal",ae=te[0],oe=H.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(P))?(Z="abbreviation",ae="a"):me=!0;break;case"=":this._n3Mode&&P.length>1&&(Z="abbreviation",">"!==P[1]?(Te=1,ae="="):(Te=2,ae=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Te=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(P))?((te=this._prefixed.exec(P))||z&&(te=this._prefixed.exec(`${P} `)))&&(Z="prefixed",oe=te[1]||"",ae=this._unescape(te[2])):(Z="prefix",ae=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return z||!/^'''|^"""/.test(P)&&/\n|\r/.test(P)?I(this):this._input=P;const ne=Te||te[0].length,ye=ue(Z,ae,oe,E,ne);this.previousToken=ye,this._previousMarker=Z,P=P.substr(ne,P.length)}function ue(O,K,E,$,Z){const ae=P?X-P.length:X,te={type:O,value:K,prefix:E,line:$,start:ae,end:ae+Z};return A(null,te),te}function I(O){A(O._syntaxError(/^\S*/.exec(P)[0]))}}_unescape(A){let z=!1;const P=A.replace(v,(X,ue,I,O)=>{if("string"==typeof ue)return String.fromCharCode(Number.parseInt(ue,16));if("string"==typeof I){let K=Number.parseInt(I,16);return K<=65535?String.fromCharCode(Number.parseInt(I,16)):String.fromCharCode(55296+((K-=65536)>>10),56320+(1023&K))}return O in C?C[O]:(z=!0,"")});return z?null:P}_parseLiteral(A){if(A.length>=3){const z=A.match(/^(?:"""|"|'''|'|)/)[0],P=z.length;let X=Math.max(this._literalClosingPos,P);for(;(X=A.indexOf(z,X))>0;){let ue=0;for(;"\\"===A[X-ue-1];)ue++;if(ue%2==0){const I=A.substring(P,X),O=I.split(/\r\n|\r|\n/).length-1,K=X+P;if(1===P&&0!==O||3===P&&this._lineMode)break;return this._line+=O,{value:this._unescape(I),matchLength:K}}X++}this._literalClosingPos=A.length-P+1}return{value:"",matchLength:0}}_syntaxError(A){this._input=null;const z=new Error(`Unexpected "${A}" on line ${this._line}.`);return z.context={token:void 0,line:this._line,previousToken:this.previousToken},z}_readStartingBom(A){return A.startsWith("\ufeff")?A.substr(1):A}tokenize(A,z){if(this._line=1,"string"==typeof A){if(this._input=this._readStartingBom(A),"function"!=typeof z){const P=[];let X;if(this._tokenizeToEnd((ue,I)=>ue?X=ue:P.push(I),!0),X)throw X;return P}(0,k.default)(()=>this._tokenizeToEnd(z,!0))}else this._pendingBuffer=null,"function"==typeof A.setEncoding&&A.setEncoding("utf8"),A.on("data",P=>{null!==this._input&&0!==P.length&&(this._pendingBuffer&&(P=W.concat([this._pendingBuffer,P]),this._pendingBuffer=null),128&P[P.length-1]?this._pendingBuffer=P:(void 0===this._input?this._input=this._readStartingBom("string"==typeof P?P:P.toString()):this._input+=P,this._tokenizeToEnd(z,!1)))}),A.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(z,!0)}),A.on("error",z)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),k=Q(Y("./IRIs"));function Q(T){return T&&T.__esModule?T:{default:T}}let H=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&R(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),A=/trig/.test(y),z=/triple/.test(y),P=/quad/.test(y),X=this._n3Mode=/n3/.test(y),ue=z||P;(this._supportsNamedGraphs=!(S||X))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||A||z||X),this._supportsRDFStar=""===y||/star|\*$/.test(y),ue&&(this._resolveRelativeIRI=I=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ue,n3:X}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){H=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,A,z){const P=this._n3Mode;this._contextStack.push({subject:S,predicate:A,object:z,graph:y,type:b,inverse:!!P&&this._inversePredicate,blankPrefix:P?this._prefixes._:"",quantified:P?this._quantified:null}),P&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const A=this._resolveIRI(b.value);if(null===A)return this._error("Invalid IRI",b);S=this._namedNode(A);break;case"type":case"prefixed":const z=this._prefixes[b.prefix];if(void 0===z)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(z+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,A=this._readListItem;const z=this._subject,P=this._contextStack,X=P[P.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),A=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==P.length&&"list"===P[P.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(A=this._readPredicate,this._subject===this.RDF_NIL)return A}else if(A=this._getContextEndReader(),this._object===this.RDF_NIL)return A;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,A=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),A=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===z?null===X.predicate?X.subject=S:X.object=S:this._emit(z,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return A}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const A=this._subject,z=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,z&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==A){const P=this._predicate,X=this._object;z?this._emit(X,P,A,S):this._emit(A,P,X,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const A=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,A,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const A=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=A):(y=this._object,this._object=A),this._emit(y,S,A,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,A;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(A=this._subject,this._subject=y):(A=this._object,this._object=y),this._emit(y,S,A,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,A){this._callback(null,this._quad(b,y,S,A||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=C}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",A=-1,z=-1,P=0,X="/";for(;A=z&&(S=S.substr(0,P)),"/"!==X)return`${S}/${b.substr(A+1)}`;P=A+1}}}X=b[++A]}return S+b.substring(P)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${H++}_`,this._prefixCallback=S||C,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const A=[];let z;if(this._callback=(P,X)=>{P?z=P:X&&A.push(X)},this._lexer.tokenize(b).every(P=>this._readCallback=this._readCallback(P)),z)throw z;return A}this._callback=y,this._lexer.tokenize(b,(A,z)=>{null!==A?(this._callback(A),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(z))})}}function C(){}function R(T,b){const y=b.namedNode;T._namedNode=y,T._blankNode=b.blankNode,T._literal=b.literal,T._variable=b.variable,T._quad=b.quad,T.DEFAULTGRAPH=b.defaultGraph(),T.RDF_FIRST=y(k.default.rdf.first),T.RDF_REST=y(k.default.rdf.rest),T.RDF_NIL=y(k.default.rdf.nil),T.N3_FORALL=y(k.default.r.forAll),T.N3_FORSOME=y(k.default.r.forSome),T.ABBREVIATIONS={a:y(k.default.rdf.type),"=":y(k.default.owl.sameAs),">":y(k.default.log.implies)},T.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,R(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=H(y);if(S&&S.has(b))return S.get(b);var A={},z=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in b)if("default"!==P&&Object.prototype.hasOwnProperty.call(b,P)){var X=z?Object.getOwnPropertyDescriptor(b,P):null;X&&(X.get||X.set)?Object.defineProperty(A,P,X):A[P]=b[P]}return A.default=b,S&&S.set(b,A),A}(Y("./N3DataFactory")),j=Y("readable-stream"),k=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function H(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(H=function(A){return A?S:y})(b)}class C{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let A,z;for(const P in S)for(const X in A=S[P].subjects)for(const ue in z=A[X])y+=Object.keys(z[ue]).length;return this._size=y}_addToIndex(y,S,A,z){const P=y[S]||(y[S]={}),X=P[A]||(P[A]={}),ue=z in X;return ue||(X[z]=null),!ue}_removeFromIndex(y,S,A,z){const P=y[S],X=P[A];delete X[z];for(const ue in X)return;delete P[A];for(const ue in P)return;delete y[S]}*_findInIndex(y,S,A,z,P,X,ue,I){let O,K,E;const Z=!S+!A+!z>1?Object.keys(this._ids):this._entities,ae=(0,W.termFromId)(I,this._factory);S&&((O=y,y={})[S]=O[S]);for(const oe in y){const te=Z[oe];if(K=y[oe]){A&&((O=K,K={})[A]=O[A]);for(const Te in K){const me=Z[Te];if(E=K[Te]){const ne=z?z in E?[z]:[]:Object.keys(E);for(let ye=0;ye{A in S||(S[A]=!0,y((0,W.termFromId)(this._entities[A],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);let P=this._graphs[z];P||(P=this._graphs[z]={subjects:{},predicates:{},objects:{}},Object.freeze(P));const X=this._ids,ue=this._entities;y=X[y]||(X[ue[++this._id]=y]=this._id),S=X[S]||(X[ue[++this._id]=S]=this._id),A=X[A]||(X[ue[++this._id]=A]=this._id);const I=this._addToIndex(P.subjects,y,S,A);return this._addToIndex(P.predicates,S,A,y),this._addToIndex(P.objects,A,y,S),this._size=null,I}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);const P=this._ids,X=this._graphs;let ue,I,O;if(!((y=P[y])&&(S=P[S])&&(A=P[A])&&(ue=X[z])&&(I=ue.subjects[y])&&(O=I[S])&&A in O))return!1;for(y in this._removeFromIndex(ue.subjects,y,S,A),this._removeFromIndex(ue.predicates,S,A,y),this._removeFromIndex(ue.objects,A,y,S),null!==this._size&&this._size--,ue.subjects)return!0;return delete X[z],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,A,z){const P=new j.Readable({objectMode:!0});return P._read=()=>{for(const X of this.readQuads(y,S,A,z))P.push(X);P.push(null)},this.remove(P)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,A,z){return[...this.readQuads(y,S,A,z)]}*readQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let ue,I,O,K;if(!(R(y)&&!(I=X[y])||R(S)&&!(O=X[S])||R(A)&&!(K=X[A])))for(const E in P)(ue=P[E])&&(I?K?yield*this._findInIndex(ue.objects,K,I,O,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,I,O,null,"subject","predicate","object",E,null,!0):O?yield*this._findInIndex(ue.predicates,O,K,null,"predicate","object","subject",E,null,!0):K?yield*this._findInIndex(ue.objects,K,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,A,z){return new T(this,y,S,A,z)}countQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let I,O,K,E,ue=0;if(R(y)&&!(O=X[y])||R(S)&&!(K=X[S])||R(A)&&!(E=X[A]))return 0;for(const $ in P)(I=P[$])&&(ue+=y?A?this._countInIndex(I.objects,E,O,K):this._countInIndex(I.subjects,O,K,E):S?this._countInIndex(I.predicates,K,E,O):this._countInIndex(I.objects,E,O,K));return ue}forEach(y,S,A,z,P){this.some(X=>(y(X),!1),S,A,z,P)}every(y,S,A,z,P){let X=!1;const ue=!this.some(I=>(X=!0,!y(I)),S,A,z,P);return X&&ue}some(y,S,A,z,P){for(const X of this.readQuads(S,A,z,P))if(y(X))return!0;return!1}getSubjects(y,S,A){const z=[];return this.forSubjects(P=>{z.push(P)},y,S,A),z}forSubjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.predicates,I,O,y):this._loopByKey1(ue.subjects,I,y):O?this._loopByKey0(ue.objects,O,y):this._loop(ue.subjects,y))}getPredicates(y,S,A){const z=[];return this.forPredicates(P=>{z.push(P)},y,S,A),z}forPredicates(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.objects,O,I,y):this._loopByKey0(ue.subjects,I,y):O?this._loopByKey1(ue.predicates,O,y):this._loop(ue.predicates,y))}getObjects(y,S,A){const z=[];return this.forObjects(P=>{z.push(P)},y,S,A),z}forObjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.subjects,I,O,y):this._loopByKey1(ue.objects,I,y):O?this._loopByKey0(ue.predicates,O,y):this._loop(ue.objects,y))}getGraphs(y,S,A){const z=[];return this.forGraphs(P=>{z.push(P)},y,S,A),z}forGraphs(y,S,A,z){for(const P in this._graphs)this.some(X=>(y(X.graph),!0),S,A,z,P)}createBlankNode(y){let S,A;if(y)for(S=y=`_:${y}`,A=1;this._ids[S];)S=y+A++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const A={},z=S?()=>!0:(ue,I)=>{throw new Error(`${ue.value} ${I}`)},P=this.getQuads(null,k.default.rdf.rest,k.default.rdf.nil,null),X=y?[...P]:[];return P.forEach(ue=>{const I=[];let K,E,O=!1;const $=ue.graph;let Z=ue.subject;for(;Z&&!O;){const ae=this.getQuads(null,null,Z,null),oe=this.getQuads(Z,null,null,null);let te,Te=null,me=null,ne=null;for(let ye=0;ye{switch(b){case"data":R=y;break;case"end":T=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{R(b),S()},this._flush=b=>{T(),b()}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var H,W=Y("readable-stream"),j=(H=Y("./N3Writer"))&&H.__esModule?H:{default:H};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new j.default({write:(R,T,b)=>{this.push(R),b&&b()},end:R=>{this.push(null),R&&R()}},v);this._transform=(R,T,b)=>{C.addQuad(R,b)},this._flush=R=>{C.end(R)}}import(v){return v.on("data",C=>{this.write(C)}),v.on("end",()=>{this.end()}),v.on("error",C=>{this.emit("error",C)}),v.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return C(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=C,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function C(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const A=Object.create(null);for(const P in y)z(P,y[P]);function z(P,X){if("string"==typeof X){const ue=Object.create(null);A[P]=I=>ue[I]||(ue[I]=S.namedNode(X+I))}else if(!(P in A))throw new Error(`Unknown prefix: ${P}`);return A[P]}return S=S||W.default,z}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ue,W=(ue=Y("./IRIs"))&&ue.__esModule?ue:{default:ue},j=function(ue,I){if(!I&&ue&&ue.__esModule)return ue;if(null===ue||"object"!=typeof ue&&"function"!=typeof ue)return{default:ue};var O=Q(I);if(O&&O.has(ue))return O.get(ue);var K={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ue)if("default"!==$&&Object.prototype.hasOwnProperty.call(ue,$)){var Z=E?Object.getOwnPropertyDescriptor(ue,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(K,$,Z):K[$]=ue[$]}return K.default=ue,O&&O.set(ue,K),K}(Y("./N3DataFactory")),k=Y("./N3Util");function Q(ue){if("function"!=typeof WeakMap)return null;var I=new WeakMap,O=new WeakMap;return(Q=function(K){return K?O:I})(ue)}const C=j.default.defaultGraph(),{rdf:R,xsd:T}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class A extends j.Term{equals(){return!1}}function P(ue){let I=S[ue];return void 0===I&&(1===ue.length?(I=ue.charCodeAt(0).toString(16),I="\\u0000".substr(0,6-I.length)+I):(I=(1024*(ue.charCodeAt(0)-55296)+ue.charCodeAt(1)+9216).toString(16),I="\\U00000000".substr(0,10-I.length)+I)),I}function X(ue){return ue.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(I,O){if(this._prefixRegex=/$0^/,I&&"function"!=typeof I.write&&(O=I,I=null),this._lists=(O=O||{}).lists,I)this._outputStream=I,this._endStream=void 0===O.end||!!O.end;else{let K="";this._outputStream={write(E,$,Z){K+=E,Z&&Z()},end:E=>{E&&E(null,K)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(O.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),O.prefixes&&this.addPrefixes(O.prefixes),O.baseIRI&&(this._baseMatcher=new RegExp(`^${X(O.baseIRI)}${O.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=O.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(I,O){this._outputStream.write(I,"utf8",O)}_writeQuad(I,O,K,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),I.equals(this._subject)?O.equals(this._predicate)?this._write(`, ${this._encodeObject(K)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=I)} ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(I,O,K,E,$){delete this._prefixMatch,this._write(this.quadToString(I,O,K,E),$)}quadToString(I,O,K,E){return`${this._encodeSubject(I)} ${this._encodeIriOrBlank(O)} ${this._encodeObject(K)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(I){return I.map(O=>this.quadToString(O.subject,O.predicate,O.object,O.graph)).join("")}_encodeSubject(I){return"Quad"===I.termType?this._encodeQuad(I):this._encodeIriOrBlank(I)}_encodeIriOrBlank(I){if("NamedNode"!==I.termType)return this._lists&&I.value in this._lists&&(I=this.list(this._lists[I.value])),"id"in I?I.id:`_:${I.value}`;let O=I.value;this._baseMatcher&&this._baseMatcher.test(O)&&(O=O.substr(this._baseLength)),b.test(O)&&(O=O.replace(y,P));const K=this._prefixRegex.exec(O);return K?K[1]?this._prefixIRIs[K[1]]+K[2]:O:`<${O}>`}_encodeLiteral(I){let O=I.value;if(b.test(O)&&(O=O.replace(y,P)),I.language)return`"${O}"@${I.language}`;if(this._lineMode){if(I.datatype.value===T.string)return`"${O}"`}else switch(I.datatype.value){case T.string:return`"${O}"`;case T.boolean:if("true"===O||"false"===O)return O;break;case T.integer:if(/^[+-]?\d+$/.test(O))return O;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(O))return O;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(O))return O}return`"${O}"^^${this._encodeIriOrBlank(I.datatype)}`}_encodePredicate(I){return I.value===R.type?"a":this._encodeIriOrBlank(I)}_encodeObject(I){switch(I.termType){case"Quad":return this._encodeQuad(I);case"Literal":return this._encodeLiteral(I);default:return this._encodeIriOrBlank(I)}}_encodeQuad({subject:I,predicate:O,object:K,graph:E}){return`<<${this._encodeSubject(I)} ${this._encodePredicate(O)} ${this._encodeObject(K)}${(0,k.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(I,O,K,E,$){void 0===K?this._writeQuad(I.subject,I.predicate,I.object,I.graph,O):"function"==typeof E?this._writeQuad(I,O,K,C,E):this._writeQuad(I,O,K,E||C,$)}addQuads(I){for(let O=0;O.\n`)}if(K){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=X(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(K?"\n":"",O)}blank(I,O){let E,$,K=I;switch(void 0===I?K=[]:I.termType?K=[{predicate:I,object:O}]:"length"in I||(K=[I]),$=K.length){case 0:return new A("[]");case 1:if(E=K[0],!(E.object instanceof A))return new A(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let ae=0;ae<$;ae++)E=K[ae],E.predicate.equals(I)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(ae?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,I=E.predicate);return new A(`${Z}\n]`)}}list(I){const O=I&&I.length||0,K=new Array(O);for(let E=0;E{O=null,I(K,E)});if(this._endStream)try{return this._outputStream.end(O)}catch(K){}O&&O()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return R.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return k.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return R.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),k=y(Y("./N3Writer")),Q=y(Y("./N3Store")),H=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),C=b(Y("./N3Util"));he.Util=C;var R=b(Y("./N3DataFactory"));function T(A){if("function"!=typeof WeakMap)return null;var z=new WeakMap,P=new WeakMap;return(T=function(X){return X?P:z})(A)}function b(A,z){if(!z&&A&&A.__esModule)return A;if(null===A||"object"!=typeof A&&"function"!=typeof A)return{default:A};var P=T(z);if(P&&P.has(A))return P.get(A);var X={},ue=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in A)if("default"!==I&&Object.prototype.hasOwnProperty.call(A,I)){var O=ue?Object.getOwnPropertyDescriptor(A,I):null;O&&(O.get||O.set)?Object.defineProperty(X,I,O):X[I]=A[I]}return X.default=A,P&&P.set(A,X),X}function y(A){return A&&A.__esModule?A:{default:A}}he.default={Lexer:W.default,Parser:j.default,Writer:k.default,Store:Q.default,StreamParser:H.default,StreamWriter:v.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,k,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}function v(X){if(j===setTimeout)return setTimeout(X,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(X,0);try{return j(X,0)}catch(ue){try{return j.call(null,X,0)}catch(I){return j.call(this,X,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(X){j=Q}try{k="function"==typeof clearTimeout?clearTimeout:H}catch(X){k=H}}();var b,R=[],T=!1,y=-1;function S(){!T||!b||(T=!1,b.length?R=b.concat(R):y=-1,R.length&&A())}function A(){if(!T){var X=v(S);T=!0;for(var ue=R.length;ue;){for(b=R,R=[];++y1)for(var I=1;I(j||(j=Promise.resolve())).then(k).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class Nq{constructor(j,k=new Map,Q=0){this.prefix=j,this._existing=k,this.counter=Q}clone(){const{prefix:j,_existing:k,counter:Q}=this;return new Nq(j,new Map(k),Q)}getId(j){const k=j&&this._existing.get(j);if(k)return k;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(k){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===k)this.algorithm={name:"SHA-256"};else{if("sha1"!==k)throw new Error(`Unsupport algorithm "${k}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(k){this._content+=k}digest(){var k=this;return yt(function*(){const Q=(new TextEncoder).encode(k._content),H=new Uint8Array(yield W.subtle.digest(k.algorithm,Q));let v="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class nF{static parse(X){const ue=[],I={},O=X.split(T.eoln);let K=0;for(const E of O){if(K++,T.empty.test(E))continue;const $=E.match(T.quad);if(null===$)throw new Error("N-Quads parse error on line "+K+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:H,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:H,value:$[3]},void 0!==$[4]?Z.object={termType:H,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:C,value:void 0,datatype:{termType:H}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=k,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(A,function(X,ue,I,O){if(ue)switch(ue){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(I)return String.fromCharCode(parseInt(I,16));if(O)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:H,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:R,value:""},Z.graph.value in I){let ae=!0;const oe=I[Z.graph.value];for(const te of oe)if(b(te,Z)){ae=!1;break}ae&&(oe.push(Z),ue.push(Z))}else I[Z.graph.value]=[Z],ue.push(Z)}return ue}static serialize(X){Array.isArray(X)||(X=nF.legacyDatasetToQuads(X));const ue=[];for(const I of X)ue.push(nF.serializeQuad(I));return ue.sort().join("")}static serializeQuad(X){const ue=X.subject,O=X.object,K=X.graph;let E="";return E+=ue.termType===H?`<${ue.value}>`:`${ue.value}`,E+=` <${X.predicate.value}> `,O.termType===H?E+=`<${O.value}>`:O.termType===v?E+=O.value:(E+=`"${P=O.value,P.replace(y,function(X){switch(X){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,O.datatype.value===k?O.language&&(E+=`@${O.language}`):O.datatype.value!==Q&&(E+=`^^<${O.datatype.value}>`)),K.termType===H?E+=` <${K.value}>`:K.termType===v&&(E+=` ${K.value}`),E+=" .\n",E;var P}static legacyDatasetToQuads(X){const ue=[],I={"blank node":v,IRI:H,literal:C};for(const O in X)X[O].forEach(E=>{const $={};for(const Z in E){const ae=E[Z],oe={termType:I[ae.type],value:ae.value};oe.termType===C&&(oe.datatype={termType:H},"datatype"in ae&&(oe.datatype.value=ae.datatype),"language"in ae?("datatype"in ae||(oe.datatype.value=k),oe.language=ae.language):"datatype"in ae||(oe.datatype.value=Q)),$[Z]=oe}$.graph="@default"===O?{termType:R,value:""}:{termType:O.startsWith("_:")?v:H,value:O},ue.push($)});return ue}};const y=/["\\\n\r]/g;const A=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let k=0;kH)&&(b&&R>0&&T>j[R-1]||!b&&Rj[R+1])&&(H=T,v=R)}if(null===H)this.done=!0;else{const R=k.get(H)?v-1:v+1;j[v]=j[R],j[R]=H;for(const T of j)T>H&&k.set(T,!k.get(T))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),k=Y("./MessageDigest"),Q=Y("./Permuter"),H=Y("./NQuads");function v(C,R){return C.hashR.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return yt(function*(){T.quads=R;for(const X of R)T._addBlankNodeQuadInfo({quad:X,component:X.subject}),T._addBlankNodeQuadInfo({quad:X,component:X.object}),T._addBlankNodeQuadInfo({quad:X,component:X.graph});const b=new Map,y=[...T.blankNodeInfo.keys()];let S=0;for(const X of y)++S%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:X,hashToBlankNodes:b});const A=[...b.keys()].sort(),z=[];for(const X of A){const ue=b.get(X);ue.length>1?z.push(ue):T.canonicalIssuer.getId(ue[0])}for(const X of z){const ue=[];for(const I of X){if(T.canonicalIssuer.hasId(I))continue;const O=new j("_:b");O.getId(I);const K=yield T.hashNDegreeQuads(I,O);ue.push(K)}ue.sort(v);for(const I of ue){const O=I.issuer.getOldIds();for(const K of O)T.canonicalIssuer.getId(K)}}const P=[];for(const X of T.quads){const ue=ot({},X);ue.subject=T._useCanonicalId({component:ue.subject}),ue.object=T._useCanonicalId({component:ue.object}),ue.graph=T._useCanonicalId({component:ue.graph}),P.push(H.serializeQuad(ue))}return P.sort(),P.join("")})()}hashFirstDegreeQuads(R){var T=this;return yt(function*(){const b=[],y=T.blankNodeInfo.get(R),S=y.quads;for(const z of S){const P={subject:null,predicate:z.predicate,object:null,graph:null};P.subject=T.modifyFirstDegreeComponent(R,z.subject,"subject"),P.object=T.modifyFirstDegreeComponent(R,z.object,"object"),P.graph=T.modifyFirstDegreeComponent(R,z.graph,"graph"),b.push(H.serializeQuad(P))}b.sort();const A=new k(T.hashAlgorithm);for(const z of b)A.update(z);return y.hash=yield A.digest(),y.hash})()}hashRelatedBlankNode(R,T,b,y){var S=this;return yt(function*(){let A;A=S.canonicalIssuer.hasId(R)?S.canonicalIssuer.getId(R):b.hasId(R)?b.getId(R):S.blankNodeInfo.get(R).hash;const z=new k(S.hashAlgorithm);return z.update(y),"g"!==y&&z.update(S.getRelatedPredicate(T)),z.update(A),z.digest()})()}hashNDegreeQuads(R,T){var b=this;return yt(function*(){const y=new k(b.hashAlgorithm),S=yield b.createHashToRelated(R,T),A=[...S.keys()].sort();for(const z of A){y.update(z);let X,P="";const ue=new Q(S.get(z));let I=0;for(;ue.hasNext();){const O=ue.next();++I%3==0&&(yield b._yield());let K=T.clone(),E="";const $=[];let Z=!1;for(const ae of O)if(b.canonicalIssuer.hasId(ae)?E+=b.canonicalIssuer.getId(ae):(K.hasId(ae)||$.push(ae),E+=K.getId(ae)),0!==P.length&&E>P){Z=!0;break}if(!Z){for(const ae of $){const oe=yield b.hashNDegreeQuads(ae,K);if(E+=K.getId(ae),E+=`<${oe.hash}>`,K=oe.issuer,0!==P.length&&E>P){Z=!0;break}}Z||(0===P.length||E`}createHashToRelated(R,T){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(R).quads;let A=0;for(const z of S)++A%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:z,component:z.subject,position:"s",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.object,position:"o",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.graph,position:"g",id:R,issuer:T,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(R),S=T.get(y);S?S.push(R):T.set(y,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const b=T.value,y=this.blankNodeInfo.get(b);y?y.quads.add(R):this.blankNodeInfo.set(b,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:b,id:y,issuer:S,hashToRelated:A}){var z=this;return yt(function*(){if("BlankNode"!==T.termType||T.value===y)return;const P=T.value,X=yield z.hashRelatedBlankNode(P,R,S,b),ue=A.get(X);ue?ue.push(P):A.set(X,[P])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return yt(function*(){return new Promise(R=>W(R))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),k=Y("./Permuter"),Q=Y("./NQuads");function H(v,C){return v.hashC.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const A of C)this._addBlankNodeQuadInfo({quad:A,component:A.subject}),this._addBlankNodeQuadInfo({quad:A,component:A.object}),this._addBlankNodeQuadInfo({quad:A,component:A.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const A of T)this._hashAndTrackBlankNode({id:A,hashToBlankNodes:R});const b=[...R.keys()].sort(),y=[];for(const A of b){const z=R.get(A);z.length>1?y.push(z):this.canonicalIssuer.getId(z[0])}for(const A of y){const z=[];for(const P of A){if(this.canonicalIssuer.hasId(P))continue;const X=new W("_:b");X.getId(P);const ue=this.hashNDegreeQuads(P,X);z.push(ue)}z.sort(H);for(const P of z){const X=P.issuer.getOldIds();for(const ue of X)this.canonicalIssuer.getId(ue)}}const S=[];for(const A of this.quads){const z=ot({},A);z.subject=this._useCanonicalId({component:z.subject}),z.object=this._useCanonicalId({component:z.object}),z.graph=this._useCanonicalId({component:z.graph}),S.push(Q.serializeQuad(z))}return S.sort(),S.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),b=T.quads;for(const S of b){const A={subject:null,predicate:S.predicate,object:null,graph:null};A.subject=this.modifyFirstDegreeComponent(C,S.subject,"subject"),A.object=this.modifyFirstDegreeComponent(C,S.object,"object"),A.graph=this.modifyFirstDegreeComponent(C,S.graph,"graph"),R.push(Q.serializeQuad(A))}R.sort();const y=new j(this.hashAlgorithm);for(const S of R)y.update(S);return T.hash=y.digest(),T.hash}hashRelatedBlankNode(C,R,T,b){let y;y=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(R)),S.update(y),S.digest()}hashNDegreeQuads(C,R){const T=new j(this.hashAlgorithm),b=this.createHashToRelated(C,R),y=[...b.keys()].sort();for(const S of y){T.update(S);let z,A="";const P=new k(b.get(S));for(;P.hasNext();){const X=P.next();let ue=R.clone(),I="";const O=[];let K=!1;for(const E of X)if(this.canonicalIssuer.hasId(E)?I+=this.canonicalIssuer.getId(E):(ue.hasId(E)||O.push(E),I+=ue.getId(E)),0!==A.length&&I>A){K=!0;break}if(!K){for(const E of O){const $=this.hashNDegreeQuads(E,ue);if(I+=ue.getId(E),I+=`<${$.hash}>`,ue=$.issuer,0!==A.length&&I>A){K=!0;break}}K||(0===A.length||I`}createHashToRelated(C,R){const T=new Map,b=this.blankNodeInfo.get(C).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),b=R.get(T);b?b.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,b=this.blankNodeInfo.get(T);b?b.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==R.termType||R.value===b)return;const A=R.value,z=this.hashRelatedBlankNode(A,C,y,T),P=S.get(z);P?P.push(A):S.set(z,[A])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){var H=this;return yt(function*(){const v=new Map,C=H.blankNodeInfo.get(k).quads;let R=0;for(const T of C){let b,y;if("BlankNode"===T.subject.termType&&T.subject.value!==k)y=T.subject.value,b="p";else{if("BlankNode"!==T.object.termType||T.object.value===k)continue;y=T.object.value,b="r"}++R%100==0&&(yield H._yield());const S=yield H.hashRelatedBlankNode(y,T,Q,b),A=v.get(S);A?A.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){const H=new Map,v=this.blankNodeInfo.get(k).quads;for(const C of v){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==k)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===k)continue;T=C.object.value,R="r"}const b=this.hashRelatedBlankNode(T,C,Q,R),y=H.get(b);y?y.push(T):H.set(b,[T])}return H}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),k=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let H;try{H=Y("rdf-canonize-native")}catch(C){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(C){return C&&(H=C),H},v.canonize=function(){var C=yt(function*(R,T){if(Array.isArray(R)||(R=v.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!H)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>H.canonize(R,T,(S,A)=>S?y(S):b(A)))}if("URDNA2015"===T.algorithm)return new W(T).main(R);if("URGNA2012"===T.algorithm)return new j(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),v._canonizeSync=function(C,R){if(Array.isArray(C)||(C=v.NQuads.legacyDatasetToQuads(C)),R.useNative){if(H)return H.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new k(R).main(C);if("URGNA2012"===R.algorithm)return new Q(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(k){this.termType="BlankNode",this.value=k}equals(k){return!!k&&"BlankNode"===k.termType&&k.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),k=Y("./Literal"),Q=Y("./NamedNode"),H=Y("./Quad"),v=Y("./Variable");let C=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${C++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new k.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,A){return new H.Quad(b,y,S,A||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(k.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(k){return!!k&&"DefaultGraph"===k.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,H){this.termType="Literal",this.value=Q,"string"==typeof H?(this.language=H,this.datatype=j.RDF_LANGUAGE_STRING):H?(this.language="",this.datatype=H):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(k){this.termType="NamedNode",this.value=k}equals(k){return!!k&&"NamedNode"===k.termType&&k.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(k,Q,H,v){this.termType="Quad",this.value="",this.subject=k,this.predicate=Q,this.object=H,this.graph=v}equals(k){return!!k&&("Quad"===k.termType||!k.termType)&&this.subject.equals(k.subject)&&this.predicate.equals(k.predicate)&&this.object.equals(k.object)&&this.graph.equals(k.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(k){this.termType="Variable",this.value=k}equals(k){return!!k&&"Variable"===k.termType&&k.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,v){void 0===v&&(v=H),Object.defineProperty(k,v,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,v){void 0===v&&(v=H),k[v]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(k,Q){const H=k.saxStream._parser;super(k.trackPosition?`Line ${H.line+1} column ${H.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),k=Y("stream"),Q=Y("./ParseError"),H=Y("rdf-data-factory");class v extends k.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new H.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,b){const y={};let S=!1;for(const z in T.attributes)z.startsWith("xmlns")&&(5===z.length?(S=!0,y[""]=T.attributes[z]):":"===z.charAt(5)&&(S=!0,y[z.substr(6)]=T.attributes[z]));const A=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?A.concat([y]):A}static expandPrefixedTerm(T,b,y){const S=T.indexOf(":");let A,z;S>=0?(A=T.substr(0,S),z=T.substr(S+1)):(A="",z=T);let P=null,X=null;for(let ue=b.length-1;ue>=0;ue--){const I=b[ue][A];if(I){P=I;break}X||(X=b[ue][""])}if(!P){if(A&&"xmlns"!==A)throw new Q.ParseError(y,`The prefix '${A}' in term '${T}' was not bound.`);P=X||""}return{prefix:A,local:z,uri:P}}static isValidIri(T){return v.IRI_REGEX.test(T)}import(T){const b=new k.PassThrough({readableObjectMode:!0});T.on("error",S=>y.emit("error",S)),T.on("data",S=>b.push(S)),T.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(T,b,y){try{this.saxStream.write(T,b)}catch(S){return y(S)}y()}newParseError(T){return new Q.ParseError(this,T)}valueToUri(T,b){return this.uriToNamedNode(W.resolve(T,b.baseIRI))}uriToNamedNode(T){if(!v.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!v.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=C.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const A=T.name;let z="";for(const I in T.attributes)z+=` ${I}="${T.attributes[I]}"`;b.childrenStringTags.push(`<${A}${z}>`);const ue={childrenStringTags:b.childrenStringTags};return ue.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ue)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(T,b),y===C.RESOURCE?this.onTagResource(T,S,b,!b):this.onTagProperty(T,S,b)}onTagResource(T,b,y,S){const A=v.expandPrefixedTerm(T.name,b.ns,this);b.childrenParseType=C.PROPERTY;let z=!0;if(A.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(A.local)>=0)throw this.newParseError(`Illegal node element name: ${A.local}`);switch(A.local){case"RDF":b.childrenParseType=C.RESOURCE;case"Description":z=!1}}const P=[],X=[];let ue=null,I=!1,O=!1,K=null;for(const E in T.attributes){const $=T.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);ue=$;continue;case"ID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue="#"+$,I=!0;continue;case"nodeID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue=$,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":K=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(P.push(this.uriToNamedNode(Z.uri+Z.local)),X.push($))}if(null!==ue&&(b.subject=O?this.dataFactory.blankNode(ue):this.valueToUri(ue,b),I&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),z){const E=this.uriToNamedNode(A.uri+A.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let A=!1,z=!1,P=null,X=!0;const ue=[],I=[];for(const O in T.attributes){const K=T.attributes[O],E=v.expandPrefixedTerm(O,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(P)throw this.newParseError(`Found both rdf:resource (${K}) and rdf:nodeID (${P}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${K})`);b.hadChildren=!0,P=K,X=!1;continue;case"datatype":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${K})`);b.datatype=this.valueToUri(K,b);continue;case"nodeID":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${K}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${K})`);this.validateNcname(K),b.hadChildren=!0,P=K,X=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(z)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(P)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${P})`);if("Resource"===K){A=!0,b.childrenParseType=C.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===K?(A=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,X=!1):"Literal"===K&&(A=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(K),b.reifiedStatementId=this.valueToUri("#"+K,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===K?null:K.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(A||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${K}`);b.hadChildren=!0,z=!0,ue.push(this.uriToNamedNode(E.uri+E.local)),I.push(this.dataFactory.literal(K,b.datatype||b.language))}}if(null!==P){const O=b.subject;b.subject=X?this.dataFactory.blankNode(P):this.valueToUri(P,b),this.emitTriple(O,b.predicate,b.subject,b.reifiedStatementId);for(let K=0;K/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var C,R;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=he.ParseType||(he.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function k(R,T,b){b||(b=Error);var S=function(A){function z(P,X,ue){return A.call(this,function(A,z,P){return"string"==typeof T?T:T(A,z,P)}(P,X,ue))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(z,A),z}(b);S.prototype.name=b.name,S.prototype.code=R,j[R]=S}function Q(R,T){if(Array.isArray(R)){var b=R.length;return R=R.map(function(y){return String(y)}),b>2?"one of ".concat(T," ").concat(R.slice(0,b-1).join(", "),", or ")+R[b-1]:2===b?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}k("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),k("ERR_INVALID_ARG_TYPE",function(R,T,b){var y,S;if("string"==typeof T&&function(R,T,b){return R.substr(!b||b<0?0:+b,T.length)===T}(T,"not ")?(y="must not be",T=T.replace(/^not /,"")):y="must be",function(R,T,b){return(void 0===b||b>R.length)&&(b=R.length),R.substring(b-T.length,b)===T}(R," argument"))S="The ".concat(R," ").concat(y," ").concat(Q(T,"type"));else{var A=function(R,T,b){return"number"!=typeof b&&(b=0),!(b+T.length>R.length)&&-1!==R.indexOf(T,b)}(R,".")?"property":"argument";S='The "'.concat(R,'" ').concat(A," ").concat(y," ").concat(Q(T,"type"))}return S+". Received type ".concat(typeof b)},TypeError),k("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),k("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),k("ERR_STREAM_PREMATURE_CLOSE","Premature close"),k("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),k("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),k("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),k("ERR_STREAM_WRITE_AFTER_END","write after end"),k("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),k("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),k("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var A in y)S.push(A);return S};Se.exports=R;var k=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(R,k);for(var H=j(Q.prototype),v=0;v0)if("string"!=typeof B&&!Ze.objectMode&&Object.getPrototypeOf(B)!==C.prototype&&(B=function(we){return C.from(we)}(B)),V)Ze.endEmitted?oe(we,new E):Oe(we,Ze,B,!0);else if(Ze.ended)oe(we,new O);else{if(Ze.destroyed)return!1;Ze.reading=!1,Ze.decoder&&!N?(B=Ze.decoder.write(B),Ze.objectMode||0!==B.length?Oe(we,Ze,B,!1):Ke(we,Ze)):Oe(we,Ze,B,!1)}else V||(Ze.reading=!1,Ke(we,Ze));return!Ze.ended&&(Ze.lengthB.highWaterMark&&(B.highWaterMark=function(we){return we>=st?we=st:(we--,we|=we>>>1,we|=we>>>2,we|=we>>>4,we|=we>>>8,we|=we>>>16,we++),we}(we)),we<=B.length?we:B.ended?B.length:(B.needReadable=!0,0))}function ze(we){var B=we._readableState;S("emitReadable",B.needReadable,B.emittedReadable),B.needReadable=!1,B.emittedReadable||(S("emitReadable",B.flowing),B.emittedReadable=!0,W.nextTick(Le,we))}function Le(we){var B=we._readableState;S("emitReadable_",B.destroyed,B.length,B.ended),!B.destroyed&&(B.length||B.ended)&&(we.emit("readable"),B.emittedReadable=!1),B.needReadable=!B.flowing&&!B.ended&&B.length<=B.highWaterMark,pe(we)}function Ke(we,B){B.readingMore||(B.readingMore=!0,W.nextTick(Me,we,B))}function Me(we,B){for(;!B.reading&&!B.ended&&(B.length0,B.resumeScheduled&&!B.paused?B.flowing=!0:we.listenerCount("data")>0&&we.resume()}function ke(we){S("readable nexttick read 0"),we.read(0)}function G(we,B){S("resume",B.reading),B.reading||we.read(0),B.resumeScheduled=!1,we.emit("resume"),pe(we),B.flowing&&!B.reading&&we.read(0)}function pe(we){var B=we._readableState;for(S("flow",B.flowing);B.flowing&&null!==we.read(););}function de(we,B){return 0===B.length?null:(B.objectMode?N=B.buffer.shift():!we||we>=B.length?(N=B.decoder?B.buffer.join(""):1===B.buffer.length?B.buffer.first():B.buffer.concat(B.length),B.buffer.clear()):N=B.buffer.consume(we,B.decoder),N);var N}function je(we){var B=we._readableState;S("endReadable",B.endEmitted),B.endEmitted||(B.ended=!0,W.nextTick(_t,B,we))}function _t(we,B){if(S("endReadableNT",we.endEmitted,we.length),!we.endEmitted&&0===we.length&&(we.endEmitted=!0,B.readable=!1,B.emit("end"),we.autoDestroy)){var N=B._writableState;(!N||N.autoDestroy&&N.finished)&&B.destroy()}}function pt(we,B){for(var N=0,V=we.length;N=B.highWaterMark:B.length>0)||B.ended))return S("read: emitReadable",B.length,B.ended),0===B.length&&B.ended?je(this):ze(this),null;if(0===(we=tt(we,B))&&B.ended)return 0===B.length&&je(this),null;var Re,V=B.needReadable;return S("need readable",V),(0===B.length||B.length-we0?de(we,B):null)?(B.needReadable=B.length<=B.highWaterMark,we=0):(B.length-=we,B.awaitDrain=0),0===B.length&&(B.ended||(B.needReadable=!0),N!==we&&B.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(we){oe(this,new K("_read()"))},ne.prototype.pipe=function(we,B){var N=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=we;break;case 1:V.pipes=[V.pipes,we];break;default:V.pipes.push(we)}V.pipesCount+=1,S("pipe count=%d opts=%j",V.pipesCount,B);var Ze=B&&!1===B.end||we===W.stdout||we===W.stderr?fs:kt;function Tt(Bs,Kr){S("onunpipe"),Bs===N&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,S("cleanup"),we.removeListener("close",Xr),we.removeListener("finish",Ls),we.removeListener("drain",In),we.removeListener("error",xi),we.removeListener("unpipe",Tt),N.removeListener("end",kt),N.removeListener("end",fs),N.removeListener("data",Mi),Nn=!0,V.awaitDrain&&(!we._writableState||we._writableState.needDrain)&&In())}function kt(){S("onend"),we.end()}V.endEmitted?W.nextTick(Ze):N.once("end",Ze),we.on("unpipe",Tt);var In=function(we){return function(){var N=we._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&H(we,"data")&&(N.flowing=!0,pe(we))}}(N);we.on("drain",In);var Nn=!1;function Mi(Bs){S("ondata");var Kr=we.write(Bs);S("dest.write",Kr),!1===Kr&&((1===V.pipesCount&&V.pipes===we||V.pipesCount>1&&-1!==pt(V.pipes,we))&&!Nn&&(S("false write response, pause",V.awaitDrain),V.awaitDrain++),N.pause())}function xi(Bs){S("onerror",Bs),fs(),we.removeListener("error",xi),0===H(we,"error")&&oe(we,Bs)}function Xr(){we.removeListener("finish",Ls),fs()}function Ls(){S("onfinish"),we.removeListener("close",Xr),fs()}function fs(){S("unpipe"),N.unpipe(we)}return N.on("data",Mi),function(we,B,N){if("function"==typeof we.prependListener)return we.prependListener(B,N);we._events&&we._events[B]?Array.isArray(we._events[B])?we._events[B].unshift(N):we._events[B]=[N,we._events[B]]:we.on(B,N)}(we,"error",xi),we.once("close",Xr),we.once("finish",Ls),we.emit("pipe",N),V.flowing||(S("pipe resume"),N.resume()),we},ne.prototype.unpipe=function(we){var B=this._readableState,N={hasUnpiped:!1};if(0===B.pipesCount)return this;if(1===B.pipesCount)return we&&we!==B.pipes||(we||(we=B.pipes),B.pipes=null,B.pipesCount=0,B.flowing=!1,we&&we.emit("unpipe",this,N)),this;if(!we){var V=B.pipes,Re=B.pipesCount;B.pipes=null,B.pipesCount=0,B.flowing=!1;for(var Ze=0;Ze0,!1!==V.flowing&&this.resume()):"readable"===we&&!V.endEmitted&&!V.readableListening&&(V.readableListening=V.needReadable=!0,V.flowing=!1,V.emittedReadable=!1,S("on readable",V.length,V.reading),V.length?ze(this):V.reading||W.nextTick(ke,this)),N},ne.prototype.removeListener=function(we,B){var N=v.prototype.removeListener.call(this,we,B);return"readable"===we&&W.nextTick(qe,this),N},ne.prototype.removeAllListeners=function(we){var B=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===we||void 0===we)&&W.nextTick(qe,this),B},ne.prototype.resume=function(){var we=this._readableState;return we.flowing||(S("resume"),we.flowing=!we.readableListening,function(we,B){B.resumeScheduled||(B.resumeScheduled=!0,W.nextTick(G,we,B))}(this,we)),we.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(we){var B=this,N=this._readableState,V=!1;for(var Re in we.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var Tt=N.decoder.end();Tt&&Tt.length&&B.push(Tt)}B.push(null)}),we.on("data",function(Tt){S("wrapped data"),N.decoder&&(Tt=N.decoder.write(Tt)),N.objectMode&&null==Tt||!(N.objectMode||Tt&&Tt.length)||B.push(Tt)||(V=!0,we.pause())}),we)void 0===this[Re]&&"function"==typeof we[Re]&&(this[Re]=function(kt){return function(){return we[kt].apply(we,arguments)}}(Re));for(var Ze=0;Ze-1))throw new Z(de);return this._writableState.defaultEncoding=de,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,de,je){je(new ue("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,de,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,de=null):"function"==typeof de&&(je=de,de=null),null!=pe&&this.write(pe,de),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,de,je){de.ending=!0,ke(pe,de),je&&(de.finished?W.nextTick(je):pe.once("finish",je)),de.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(de){!this._writableState||(this._writableState.destroyed=de)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,de){de(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function k(O,K,E){return K in O?Object.defineProperty(O,K,{value:E,enumerable:!0,configurable:!0,writable:!0}):O[K]=E,O}var Q=Y("./end-of-stream"),H=Symbol("lastResolve"),v=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(O,K){return{value:O,done:K}}function A(O){var K=O[H];if(null!==K){var E=O[y].read();null!==E&&(O[T]=null,O[H]=null,O[v]=null,K(S(E,!1)))}}function z(O){W.nextTick(A,O)}var X=Object.getPrototypeOf(function(){}),ue=Object.setPrototypeOf((k(j={get stream(){return this[y]},next:function(){var K=this,E=this[C];if(null!==E)return Promise.reject(E);if(this[R])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(oe,te){W.nextTick(function(){K[C]?te(K[C]):oe(S(void 0,!0))})});var Z,$=this[T];if($)Z=new Promise(function(O,K){return function(E,$){O.then(function(){K[R]?E(S(void 0,!0)):K[b](E,$)},$)}}($,this));else{var ae=this[y].read();if(null!==ae)return Promise.resolve(S(ae,!1));Z=new Promise(this[b])}return this[T]=Z,Z}},Symbol.asyncIterator,function(){return this}),k(j,"return",function(){var K=this;return new Promise(function(E,$){K[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),X);Se.exports=function(K){var E,$=Object.create(ue,(k(E={},y,{value:K,writable:!0}),k(E,H,{value:null,writable:!0}),k(E,v,{value:null,writable:!0}),k(E,C,{value:null,writable:!0}),k(E,R,{value:K._readableState.endEmitted,writable:!0}),k(E,b,{value:function(ae,oe){var te=$[y].read();te?($[T]=null,$[H]=null,$[v]=null,ae(S(te,!1))):($[H]=ae,$[v]=oe)},writable:!0}),E));return $[T]=null,Q(K,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var ae=$[v];return null!==ae&&($[T]=null,$[H]=null,$[v]=null,ae(Z)),void($[C]=Z)}var oe=$[H];null!==oe&&($[T]=null,$[H]=null,$[v]=null,oe(S(void 0,!0))),$[R]=!0}),K.on("readable",z.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(A,z){var P=Object.keys(A);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(A);z&&(X=X.filter(function(ue){return Object.getOwnPropertyDescriptor(A,ue).enumerable})),P.push.apply(P,X)}return P}function k(A,z,P){return z in A?Object.defineProperty(A,z,{value:P,enumerable:!0,configurable:!0,writable:!0}):A[z]=P,A}function H(A,z){for(var P=0;P0?this.tail.next=X:this.head=X,this.tail=X,++this.length}},{key:"unshift",value:function(P){var X={data:P,next:this.head};0===this.length&&(this.tail=X),this.head=X,++this.length}},{key:"shift",value:function(){if(0!==this.length){var P=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(0===this.length)return"";for(var X=this.head,ue=""+X.data;X=X.next;)ue+=P+X.data;return ue}},{key:"concat",value:function(P){if(0===this.length)return R.alloc(0);for(var X=R.allocUnsafe(P>>>0),ue=this.head,I=0;ue;)S(ue.data,X,I),I+=ue.data.length,ue=ue.next;return X}},{key:"consume",value:function(P,X){var ue;return PO.length?O.length:P;if(I+=K===O.length?O:O.slice(0,P),0==(P-=K)){K===O.length?(++ue,this.head=X.next?X.next:this.tail=null):(this.head=X,X.data=O.slice(K));break}++ue}return this.length-=ue,I}},{key:"_getBuffer",value:function(P){var X=R.allocUnsafe(P),ue=this.head,I=1;for(ue.data.copy(X),P-=ue.data.length;ue=ue.next;){var O=ue.data,K=P>O.length?O.length:P;if(O.copy(X,X.length-P,0,K),0==(P-=K)){K===O.length?(++I,this.head=ue.next?ue.next:this.tail=null):(this.head=ue,ue.data=O.slice(K));break}++I}return this.length-=I,X}},{key:y,value:function(P,X){return b(this,function(A){for(var z=1;z0,function(Z){ue||(ue=Z),Z&&I.forEach(T),!E&&(I.forEach(T),X(ue))})});return z.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,H,v,C){var R=function(Q,H,v){return null!=Q.highWaterMark?Q.highWaterMark:H?Q[v]:null}(H,C,v);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new W(C?v:"highWaterMark",R);return Math.floor(R)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var k in j)he.hasOwnProperty(k)||(he[k]=j[k])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(H){const v=[];let C=0;for(;CR.join("")).join("/")}function k(H,v){let C=v+1;v>=0?"/"===H[v+1]&&"/"===H[v+2]&&(C=v+3):"/"===H[0]&&"/"===H[1]&&(C=2);const R=H.indexOf("/",C);return R<0?H:H.substr(0,R)+j(H.substr(R))}function Q(H){return!H||"#"===H||"?"===H||"/"===H}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(H,v){const C=(v=v||"").indexOf("#");if(C>0&&(v=v.substr(0,C)),!H.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);return v}if(H.startsWith("?")){const z=v.indexOf("?");return z>0&&(v=v.substr(0,z)),v+H}if(H.startsWith("#"))return v+H;if(!v.length){const z=H.indexOf(":");if(z<0)throw new Error(`Found invalid relative IRI '${H}' for a missing baseIRI`);return k(H,z)}const R=H.indexOf(":");if(R>=0)return k(H,R);const T=v.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${v}' for value '${H}'`);const b=v.substr(0,T+1);if(0===H.indexOf("//"))return b+k(H,R);let y;if(v.indexOf("//",T)===T+1){if(y=v.indexOf("/",T+3),y<0)return v.length>T+3?v+"/"+k(H,R):b+k(H,R)}else if(y=v.indexOf("/",T+1),y<0)return b+k(H,R);if(0===H.indexOf("/"))return v.substr(0,y)+j(H);let S=v.substr(y);const A=S.lastIndexOf("/");return A>=0&&A"===de?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(de)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=de);continue;case te.SGML_DECL_QUOTED:de===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=de;continue;case te.DOCTYPE:">"===de?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=de,"["===de?G.state=te.DOCTYPE_DTD:$(de)&&(G.state=te.DOCTYPE_QUOTED,G.q=de));continue;case te.DOCTYPE_QUOTED:G.doctype+=de,de===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=de,"]"===de?G.state=te.DOCTYPE:$(de)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=de);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=de,de===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===de?G.state=te.COMMENT_ENDING:G.comment+=de;continue;case te.COMMENT_ENDING:"-"===de?(G.state=te.COMMENT_ENDED,G.comment=Oe(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+de,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==de?(Qe(G,"Malformed comment"),G.comment+="--"+de,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===de?G.state=te.CDATA_ENDING:G.cdata+=de;continue;case te.CDATA_ENDING:"]"===de?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+de,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===de?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===de?G.cdata+="]":(G.cdata+="]]"+de,G.state=te.CDATA);continue;case te.PROC_INST:"?"===de?G.state=te.PROC_INST_ENDING:E(de)?G.state=te.PROC_INST_BODY:G.procInstName+=de;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(de))continue;"?"===de?G.state=te.PROC_INST_ENDING:G.procInstBody+=de;continue;case te.PROC_INST_ENDING:">"===de?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+de,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ae(I,de)?G.tagName+=de:(tt(G),">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:(E(de)||Qe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===de?(Le(G,!0),Ke(G)):(Qe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(de))continue;">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===de?G.state=te.ATTRIB_VALUE:">"===de?(Qe(G,"Attribute without value"),G.attribValue=G.attribName,ze(G),Le(G)):E(de)?G.state=te.ATTRIB_NAME_SAW_WHITE:ae(I,de)?G.attribName+=de:Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===de)G.state=te.ATTRIB_VALUE;else{if(E(de))continue;Qe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===de?Le(G):ae(ue,de)?(G.attribName=de,G.state=te.ATTRIB_NAME):(Qe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(de))continue;$(de)?(G.q=de,G.state=te.ATTRIB_VALUE_QUOTED):(Qe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=de);continue;case te.ATTRIB_VALUE_QUOTED:if(de!==G.q){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=de;continue}ze(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(de)?G.state=te.ATTRIB:">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(Qe(G,"No whitespace between attributes"),G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(de)){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=de;continue}ze(G),">"===de?Le(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===de?Ke(G):ae(I,de)?G.tagName+=de:G.script?(G.script+=""===de?Ke(G):Qe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,we;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,we="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,we="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,we="attribValue"}";"===de?(G[we]+=Me(G),G.entity="",G.state=pt):ae(G.entity.length?K:O,de)?G.entity+=de:(Qe(G,"Invalid character in entity name"),G[we]+="&"+G.entity+de,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,de=0,je=k.length;deG)switch(k[de]){case"textNode":ye(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:$e(q,"Max buffer length exceeded: "+k[de])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){ye(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{R=Y("stream").Stream}catch(q){R=function(){}}var T=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);R.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(de){pe.emit("error",de),pe._parser.error=null},this._decoder=null,T.forEach(function(de){Object.defineProperty(pe,"on"+de,{get:function(){return pe._parser["on"+de]},set:function(je){if(!je)return pe.removeAllListeners(de),pe._parser["on"+de]=je,je;pe.on(de,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(R.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==T.indexOf(q)&&(pe._parser["on"+q]=function(){var de=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);de.splice(0,0,q),pe.emit.apply(pe,de)}),R.prototype.on.call(pe,q,G)};var z="http://www.w3.org/XML/1998/namespace",P="http://www.w3.org/2000/xmlns/",X={xml:z,xmlns:P},ue=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,I=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,K=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function ae(q,G){return q.test(G)}function oe(q,G){return!ae(q,G)}var q,G,pe,te=0;for(var Te in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Te]]=Te;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&ye(q),me(q,G,pe)}function ye(q){q.textNode=Oe(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Oe(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function $e(q,G){return ye(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Qe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&$e(q,"Unexpected end"),ye(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Qe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&$e(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Xe(q,G){var de=q.indexOf(":")<0?["",q]:q.split(":"),je=de[0],_t=de[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function ze(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Xe(q.attribName,!0),de=G.local;if("xmlns"===G.prefix)if("xml"===de&&q.attribValue!==z)Qe(q,"xml: prefix must be bound to "+z+"\nActual: "+q.attribValue);else if("xmlns"===de&&q.attribValue!==P)Qe(q,"xmlns: prefix must be bound to "+P+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[de]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function Le(q,G){if(q.opt.xmlns){var pe=q.tag,de=Xe(q.tagName);pe.prefix=de.prefix,pe.local=de.local,pe.uri=pe.ns[de.prefix]||"",pe.prefix&&!pe.uri&&(Qe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=de.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(In){ne(q,"onopennamespace",{prefix:In,uri:pe.ns[In]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var de=pe;G--&&q.tags[G].name!==de;)Qe(q,"Unexpected close tag");if(G<0)return Qe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var we={};for(var B in pt.ns)we[B]=pt.ns[B];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(V){ne(q,"onclosenamespace",{prefix:V,uri:pt.ns[V]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var de,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(de=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(de=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(de)||je.toLowerCase()!==G?(Qe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(de))}function Ue(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Qe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function qe(q,G){var pe="";return G1114111||G(V)!==V)throw RangeError("Invalid code point: "+V);V<=65535?je.push(V):je.push(55296+((V-=65536)>>10),V%1024+56320),(we+1===B||je.length>de)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(k,Q){"use strict";if(!k.setImmediate){var T,H=1,v={},C=!1,R=k.document,K=Object.getPrototypeOf&&Object.getPrototypeOf(k);K=K&&K.setTimeout?K:k,"[object process]"==={}.toString.call(k.process)?T=function(E){W.nextTick(function(){A(E)})}:function(){if(k.postMessage&&!k.importScripts){var E=!0,$=k.onmessage;return k.onmessage=function(){E=!1},k.postMessage("","*"),k.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===k&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&A(+Z.data.slice(E.length))},k.addEventListener?k.addEventListener("message",$,!1):k.attachEvent("onmessage",$),T=function(Z){k.postMessage(E+Z,"*")}):k.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){A($.data)},T=function($){E.port2.postMessage($)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var E=R.documentElement;T=function($){var Z=R.createElement("script");Z.onreadystatechange=function(){A($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():T=function(E){setTimeout(A,0,E)},K.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[H]={callback:E,args:$},T(H),H++},K.clearImmediate=y}var E,$;function y(E){delete v[E]}function A(E){if(C)setTimeout(A,0,E);else{var $=v[E];if($){C=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),C=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=k;var W=Y("events").EventEmitter;function k(){W.call(this)}Y("inherits")(k,W),k.Readable=Y("readable-stream/lib/_stream_readable.js"),k.Writable=Y("readable-stream/lib/_stream_writable.js"),k.Duplex=Y("readable-stream/lib/_stream_duplex.js"),k.Transform=Y("readable-stream/lib/_stream_transform.js"),k.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),k.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),k.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),k.Stream=k,k.prototype.pipe=function(Q,H){var v=this;function C(z){Q.writable&&!1===Q.write(z)&&v.pause&&v.pause()}function R(){v.readable&&v.resume&&v.resume()}v.on("data",C),Q.on("drain",R),!Q._isStdio&&(!H||!1!==H.end)&&(v.on("end",b),v.on("close",y));var T=!1;function b(){T||(T=!0,Q.end())}function y(){T||(T=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(z){if(A(),0===W.listenerCount(this,"error"))throw z}function A(){v.removeListener("data",C),Q.removeListener("drain",R),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",A),v.removeListener("close",A),Q.removeListener("close",A)}return v.on("error",S),Q.on("error",S),v.on("end",A),v.on("close",A),Q.on("close",A),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var k=Y("process/browser.js").nextTick,Q=Function.prototype.apply,H=Array.prototype.slice,v={},C=0;function R(T,b){this._id=T,this._clearFn=b}he.setTimeout=function(){return new R(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new R(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(T){T.close()},R.prototype.unref=R.prototype.ref=function(){},R.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(T,b){clearTimeout(T._idleTimeoutId),T._idleTimeout=b},he.unenroll=function(T){clearTimeout(T._idleTimeoutId),T._idleTimeout=-1},he._unrefActive=he.active=function(T){clearTimeout(T._idleTimeoutId);var b=T._idleTimeout;b>=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(T){var b=C++,y=!(arguments.length<2)&&H.call(arguments,1);return v[b]=!0,k(function(){v[b]&&(y?T.apply(null,y):T.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(T){delete v[T]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function k(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var H=W.localStorage[Q];return null!=H&&"true"===String(H).toLowerCase()}Se.exports=function(Q,H){if(k("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(k("throwDeprecation"))throw new Error(H);k("traceDeprecation")?console.trace(H):console.warn(H),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var C=this;if(C instanceof W||(C=new W),C.tail=null,C.head=null,C.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){C.push(b)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var b=0;null!==T;b++)R=v(R,T.value,b),T=T.next;return R},W.prototype.reduceReverse=function(v,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var b=this.length-1;null!==T;b--)R=v(R,T.value,b),T=T.prev;return R},W.prototype.toArray=function(){for(var v=new Array(this.length),C=0,R=this.head;null!==R;C++)v[C]=R.value,R=R.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),C=0,R=this.tail;null!==R;C++)v[C]=R.value,R=R.prev;return v},W.prototype.slice=function(v,C){(C=C||this.length)<0&&(C+=this.length),(v=v||0)<0&&(v+=this.length);var R=new W;if(Cthis.length&&(C=this.length);for(var T=0,b=this.head;null!==b&&Tthis.length&&(C=this.length);for(var T=this.length,b=this.tail;null!==b&&T>C;T--)b=b.prev;for(;null!==b&&T>v;T--,b=b.prev)R.push(b.value);return R},W.prototype.splice=function(v,C,...R){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var T=0,b=this.head;null!==b&&T{"use strict";Ut.exports=et,Ut.exports.default=et;var it=1e20;function et(Y,Se,he,W,j,k){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=k||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,H=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(H*H),this.gridInner=new Float64Array(H*H),this.f=new Float64Array(H),this.z=new Float64Array(H+1),this.v=new Uint16Array(H),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Dt(Y,Se,he,W,j,k){for(var Q=0;Q-1);k[++v]=H,Q[v]=C,Q[v+1]=it}for(H=0,v=0;H{Ut.exports=function(et,yt){var ee=yt.length;if(0!==ee){var Dt=et.length;et.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Dt=yt||(yt={})).typeOfFunction="function",Dt.boolTrue=!0,yt;var Dt})();function ee(Dt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},7266:(Ut,it,et)=>{Ut.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Ut,it,et){"use strict";var yt,ee,Dt;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Dt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function k(I){I||(I=document.documentElement);var O=window.getComputedStyle(I,null).fontSize;return parseFloat(O)||16}function H(I,O){var K=O.split(/\d/),E=K[K.length-1];switch(O=parseFloat(O),E){case"px":return O;case"em":return O*k(I);case"rem":return O*k();case"vw":return O*document.documentElement.clientWidth/100;case"vh":return O*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return O*(0,Math["vmin"===E?"min":"max"])($,Z);default:return O}}function v(I,O){this.element=I;var K,E,$,Z,ae,oe,te,Te,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(K in $=function(I){if(!I.getBoundingClientRect)return{width:I.offsetWidth,height:I.offsetHeight};var O=I.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}(this.element),oe={},W[O])!W[O].hasOwnProperty(K)||(Z=H(this.element,(E=W[O][K]).value),ae="width"===E.property?$.width:$.height,te="","min"===E.mode&&ae>=Z&&(te+=E.value),"max"===E.mode&&ae<=Z&&(te+=E.value),oe[Te=E.mode+"-"+E.property]||(oe[Te]=""),te&&-1===(" "+oe[Te]+" ").indexOf(" "+te+" ")&&(oe[Te]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(oe[me[ne]]?this.element.setAttribute(me[ne],oe[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function C(I,O){I.elementQueriesSetupInformation||(I.elementQueriesSetupInformation=new v(I,O)),I.elementQueriesSensor||(I.elementQueriesSensor=new dt(I,function(){I.elementQueriesSetupInformation.call()}))}function R(I,O,K,E){if(void 0===W[I]){W[I]=[];var $=j.length;he.innerHTML+="\n"+I+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+I+" > .resize-sensor {min-width: "+$+"px;}",j.push(I)}W[I].push({mode:O,property:K,value:E})}function T(I){var O;if(document.querySelectorAll&&(O=I?I.querySelectorAll.bind(I):document.querySelectorAll.bind(document)),!O&&"undefined"!=typeof $$&&(O=$$),!O&&"undefined"!=typeof jQuery&&(O=jQuery),!O)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return O}function y(I){var O=[],K=[],E=[],$=0,Z=-1,ae=[];for(var oe in I.children)if(I.children.hasOwnProperty(oe)&&I.children[oe].tagName&&"img"===I.children[oe].tagName.toLowerCase()){O.push(I.children[oe]);var te=I.children[oe].getAttribute("min-width")||I.children[oe].getAttribute("data-min-width"),Te=I.children[oe].getAttribute("data-src")||I.children[oe].getAttribute("url");E.push(Te),K.push({minWidth:te}),te?I.children[oe].style.display="none":($=O.length-1,I.children[oe].style.display="block")}function ne(){var Oe,ye=!1;for(Oe in O)!O.hasOwnProperty(Oe)||K[Oe].minWidth&&I.offsetWidth>K[Oe].minWidth&&(ye=Oe);if(ye||(ye=$),Z!==ye)if(ae[ye])O[Z].style.display="none",O[ye].style.display="block",Z=ye;else{var $e=new Image;$e.onload=function(){O[ye].src=E[ye],O[Z].style.display="none",O[ye].style.display="block",ae[ye]=!0,Z=ye},$e.src=E[ye]}else O[ye].src=E[ye]}Z=$,I.resizeSensorInstance=new dt(I,ne),ne()}var A=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,z=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function P(I){var O,K,E,$;for(I=I.replace(/'/g,'"');null!==(O=A.exec(I));)for(K=O[1]+O[3],E=O[2];null!==($=z.exec(E));)R(K,$[1],$[2],$[3])}function X(I){var O="";if(I)if("string"==typeof I)(-1!==(I=I.toLowerCase()).indexOf("min-width")||-1!==I.indexOf("max-width"))&&P(I);else for(var K=0,E=I.length;K img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ue=!0);for(var O=0,K=document.styleSheets.length;O{var yt=et(3910),ee=et(9369),Dt=et(322);function dt(Q,H,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(H))throw new Error('graphology-shortest-path: the "'+H+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((H=""+H)==(v=""+v))return[H];var C=Q.inboundNeighbors.bind(Q),R=Q.outboundNeighbors.bind(Q),T={},b={};T[H]=null,b[v]=null;var A,z,P,X,ue,I,O,K,y=[H],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(A=y,y=[],ue=0,O=A.length;ue{Ut.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(re){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(re)}function et(re,fe){re.prototype=Object.create(fe.prototype),re.prototype.constructor=re,ee(re,fe)}function yt(re){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(re)}function ee(re,fe){return(ee=Object.setPrototypeOf||function(se,M){return se.__proto__=M,se})(re,fe)}function Dt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(re){return!1}}function dt(re,fe,se){return(dt=Dt()?Reflect.construct:function(M,L,J){var Ee=[null];Ee.push.apply(Ee,L);var Fe=new(Function.bind.apply(M,Ee));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(re){var fe="function"==typeof Map?new Map:void 0;return(Y=function(se){if(null===se||-1===Function.toString.call(se).indexOf("[native code]"))return se;if("function"!=typeof se)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(se))return fe.get(se);fe.set(se,L)}function L(){return dt(se,arguments,yt(this).constructor)}return L.prototype=Object.create(se.prototype,{constructor:{value:L,enumerable:!1,writable:!0,configurable:!0}}),ee(L,se)})(re)}function Se(re){if(void 0===re)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return re}var he=function(){for(var re=arguments[0],fe=1,se=arguments.length;fe0&&Ee.length>L&&!Ee.warned){Ee.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+Ee.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=re,nt.type=fe,nt.count=Ee.length,console&&console.warn&&console.warn(nt)}return re}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(re,fe,se){var M={fired:!1,wrapFn:void 0,target:re,type:fe,listener:se},L=I.bind(M);return L.listener=se,M.wrapFn=L,L}function K(re,fe,se){var M=re._events;if(void 0===M)return[];var L=M[fe];return void 0===L?[]:"function"==typeof L?se?[L.listener||L]:[L]:se?function(J){for(var Ee=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var Ee=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Ee.context=J,Ee}var Fe=L[re];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Pt=$(Fe,nt);for(se=0;se=0;J--)if(se[J]===fe||se[J].listener===fe){Ee=se[J].listener,L=J;break}if(L<0)return this;0===L?se.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(re,fe[M]);return this},A.prototype.listeners=function(re){return K(this,re,!0)},A.prototype.rawListeners=function(re){return K(this,re,!1)},A.listenerCount=function(re,fe){return"function"==typeof re.listenerCount?re.listenerCount(fe):E.call(re,fe)},A.prototype.listenerCount=E,A.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ae.prototype.next=function(){if(this.done)return{done:!0};var re=this._next();return re.done&&(this.done=!0),re},"undefined"!=typeof Symbol&&(ae.prototype[Symbol.iterator]=function(){return this}),ae.of=function(){var re=arguments,fe=re.length,se=0;return new ae(function(){return se>=fe?{done:!0}:{done:!1,value:re[se++]}})},ae.empty=function(){var re=new ae(null);return re.done=!0,re},ae.is=function(re){return re instanceof ae||"object"==typeof re&&null!==re&&"function"==typeof re.next};var oe=ae,te=function(re,fe){for(var se,M=arguments.length>1?fe:1/0,L=M!==1/0?new Array(M):[],J=0;;){if(J===M)return L;if((se=re.next()).done)return J!==fe?L.slice(0,J):L;L[J++]=se.value}},Te=function(re){function fe(se,M){var L;return(L=re.call(this)||this).name="GraphError",L.message=se||"",L.data=M||{},L}return et(fe,re),fe}(Y(Error)),me=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ne=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ye=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te);function Oe(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function $e(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(re,fe){this.key=re,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Qe(re,fe,se,M,L,J){this.key=fe,this.attributes=J,this.undirected=re,this.source=M,this.target=L,this.generatedKey=se}function tt(re,fe,se,M,L,J,Ee){var Fe,nt,Pt="out",We="in";if(fe&&(Pt=We="undirected"),re.multi){if(void 0===(nt=(Fe=J[Pt])[L])&&(nt=new Set,Fe[L]=nt),nt.add(se),M===L&&fe)return;void 0===(Fe=Ee[We])[M]&&(Fe[M]=nt)}else{if(J[Pt][L]=se,M===L&&fe)return;Ee[We][M]=se}}function Xe(re,fe,se){var M=re.multi,L=se.source,J=se.target,Ee=L.key,Fe=J.key,nt=L[fe?"undirected":"out"],Pt=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Pt][Ee]):We.delete(se)}else delete nt[Fe];M||delete J[Pt][Ee]}$e.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var ze=[{name:function(re){return"get".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes[L]}}},{name:function(re){return"get".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M){var L;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,Ee=""+arguments[1];if(!(L=W(this,J,Ee,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(Ee,'").'))}else if(!(L=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&L.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return L.attributes}}},{name:function(re){return"has".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes.hasOwnProperty(L)}}},{name:function(re){return"set".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J,this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"update".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J(Ee.attributes[L]),this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"remove".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return delete J.attributes[L],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:L}),this}}},{name:function(re){return"replace".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes=L,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(re){return"merge".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return he(J.attributes,L),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:L}),this}}}],Le=oe,Ke=function(){var re,fe=arguments,se=-1;return new Le(function M(){if(!re){if(++se>=fe.length)return{done:!0};re=fe[se]}var L=re.next();return L.done?(re=null,M()):L})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(re,fe){for(var se in fe)re.push(fe[se].key)}function qe(re,fe){for(var se in fe)fe[se].forEach(function(M){return re.push(M.key)})}function ke(re,fe,se){for(var M in re)if(M!==se){var L=re[M];fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)}}function q(re,fe,se){for(var M in re)M!==se&&re[M].forEach(function(L){return fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function G(re,fe,se){for(var M in re)if(M!==se){var L=re[M];if(fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey))return!0}return!1}function pe(re,fe,se){var M,L,J,Ee,Fe;for(var nt in re)if(nt!==se)for(M=re[nt].values();!0!==(L=M.next()).done;)if(Ee=(J=L.value).source,fe(J.key,J.attributes,Ee.key,(Fe=J.target).key,Ee.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function de(re,fe){var se=Object.keys(re),M=se.length,L=null,J=0;return new oe(function Ee(){var Fe;if(L){var nt=L.next();if(nt.done)return L=null,J++,Ee();Fe=nt.value}else{if(J>=M)return{done:!0};var Pt=se[J];if(Pt===fe)return J++,Ee();if((Fe=re[Pt])instanceof Set)return L=Fe.values(),Ee();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(re,fe,se){var M=fe[se];M&&re.push(M.key)}function _t(re,fe,se){var M=fe[se];M&&M.forEach(function(L){return re.push(L.key)})}function pt(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function we(re,fe,se){var M=re[fe];M&&M.forEach(function(L){return se(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function B(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;return se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(re,fe,se){var M=re[fe];if(M){for(var L,J,Ee=M.values();!0!==(L=Ee.next()).done;)if(se((J=L.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function V(re,fe){var se=re[fe];if(se instanceof Set){var M=se.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return oe.of([se.key,se.attributes,se.source.key,se.target.key,se.source.attributes,se.target.attributes])}function Re(re,fe){if(0===re.size)return[];if("mixed"===fe||fe===re.type)return"function"==typeof Array.from?Array.from(re._edges.keys()):te(re._edges.keys(),re._edges.size);for(var se,M,J=new Array("undirected"===fe?re.undirectedSize:re.directedSize),Ee="undirected"===fe,Fe=re._edges.values(),nt=0;!0!==(se=Fe.next()).done;)(M=se.value).undirected===Ee&&(J[nt++]=M.key);return J}function Ze(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey)}}function Tt(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;if(se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey))break}}function kt(re,fe){if(0===re.size)return oe.empty();var se="mixed"!==fe&&fe!==re.type,M="undirected"===fe,L=re._edges.values();return new oe(function(){for(var J,Ee;;){if((J=L.next()).done)return J;if(Ee=J.value,!se||Ee.undirected===M)break}return{value:[Ee.key,Ee.attributes,Ee.source.key,Ee.target.key,Ee.source.attributes,Ee.target.attributes],done:!1}})}function In(re,fe,se,M){var L=[],J=re?qe:Ue;return"undirected"!==fe&&("out"!==se&&J(L,M.in),"in"!==se&&J(L,M.out),!se&&M.directedSelfLoops>0&&L.splice(L.lastIndexOf(M.key),1)),"directed"!==fe&&J(L,M.undirected),L}function Nn(re,fe,se,M,L){var J=re?q:ke;"undirected"!==fe&&("out"!==se&&J(M.in,L),"in"!==se&&J(M.out,L,se?null:M.key)),"directed"!==fe&&J(M.undirected,L)}function Yn(re,fe,se,M,L){var J=re?pe:G;"undirected"!==fe&&("out"!==se&&J(M.in,L)||"in"!==se&&J(M.out,L,se?null:M.key))||"directed"===fe||J(M.undirected,L)}function Mi(re,fe,se){var M=oe.empty();return"undirected"!==re&&("out"!==fe&&void 0!==se.in&&(M=Ke(M,de(se.in))),"in"!==fe&&void 0!==se.out&&(M=Ke(M,de(se.out,fe?null:se.key)))),"directed"!==re&&void 0!==se.undirected&&(M=Ke(M,de(se.undirected))),M}function xi(re,fe,se,M,L){var J=fe?_t:je,Ee=[];return"undirected"!==re&&(void 0!==M.in&&"out"!==se&&J(Ee,M.in,L),void 0!==M.out&&"in"!==se&&J(Ee,M.out,L),!se&&M.directedSelfLoops>0&&Ee.splice(Ee.lastIndexOf(M.key),1)),"directed"!==re&&void 0!==M.undirected&&J(Ee,M.undirected,L),Ee}function Xr(re,fe,se,M,L,J){var Ee=fe?we:pt;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J),M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J)),"directed"!==re&&void 0!==M.undirected&&Ee(M.undirected,L,J)}function Ls(re,fe,se,M,L,J){var Ee=fe?N:B;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J)||M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J,se?null:M.key))||"directed"===re||void 0===M.undirected||Ee(M.undirected,L,J)}function fs(re,fe,se,M){var L=oe.empty();return"undirected"!==re&&(void 0!==se.in&&"out"!==fe&&M in se.in&&(L=Ke(L,V(se.in,M))),void 0!==se.out&&"in"!==fe&&M in se.out&&(L=Ke(L,V(se.out,M)))),"directed"!==re&&void 0!==se.undirected&&M in se.undirected&&(L=Ke(L,V(se.undirected,M))),L}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(re,fe){if(void 0!==fe)for(var se in fe)re.add(se)}function xa(re,fe,se){if("mixed"!==re){if("undirected"===re)return Object.keys(se.undirected);if("string"==typeof fe)return Object.keys(se[fe])}var M=new Set;return"undirected"!==re&&("out"!==fe&&Kr(M,se.in),"in"!==fe&&Kr(M,se.out)),"directed"!==re&&Kr(M,se.undirected),te(M.values(),M.size)}function kl(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;se(Fe.key,Fe.attributes)}}function Sa(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;re.has(nt.key)||(re.add(nt.key),M(nt.key,nt.attributes))}}function ws(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;if(se(Fe.key,Fe.attributes))return!0}return!1}function en(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;if(!re.has(nt.key)&&(re.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function nl(re,fe){var se=Object.keys(fe),M=se.length,L=0;return new oe(function(){if(L>=M)return{done:!0};var J=fe[se[L++]];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===re?J.target:Ee;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(re,fe,se){var M=Object.keys(se),L=M.length,J=0;return new oe(function Ee(){if(J>=L)return{done:!0};var Fe=se[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return re.has(We.key)?Ee():(re.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(re,fe,se,M,L){var J=re._nodes.get(M);if("undirected"!==fe){if("out"!==se&&void 0!==J.in)for(var Ee in J.in)if(Ee===L)return!0;if("in"!==se&&void 0!==J.out)for(var Fe in J.out)if(Fe===L)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===L)return!0;return!1}function Be(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We=fe._nodes.values(),qt=fe.type;!0!==(M=We.next()).done;){if(L=M.value,"undirected"!==qt)for(J in Ee=L.out)if(nt=(Fe=Ee[J]).target,Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return;if("directed"!==qt)for(J in Ee=L.undirected)if((nt=(Fe=Ee[J]).target).key!==J&&(nt=Fe.source),Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return}}function ut(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We,qt,St=fe._nodes.values(),bn=fe.type;!0!==(M=St.next()).done;){if(L=M.value,"undirected"!==bn)for(J in nt=L.out)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if(We=(Pt=Fe.value).target,qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return;if("directed"!==bn)for(J in nt=L.undirected)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if((We=(Pt=Fe.value).target).key!==J&&(We=Pt.source),qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return}}function Je(re,fe){var se={key:re};return Q(fe.attributes)||(se.attributes=he({},fe.attributes)),se}function Mt(re,fe){var se={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(se.key=re),Q(fe.attributes)||(se.attributes=he({},fe.attributes)),fe.undirected&&(se.undirected=!0),se}function It(re){return k(re)?"key"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(re){return k(re)?"source"in re?"target"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?"undirected"in re&&"boolean"!=typeof re.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(re,fe,se){var M=new re.NodeDataClass(fe,se);return re._nodes.set(fe,M),re.emit("nodeAdded",{key:fe,attributes:se}),M}function yn(re,fe,se,M,L,J,Ee,Fe){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,Ee=""+Ee,Fe=Fe||{},!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=re._nodes.get(J),Pt=re._nodes.get(Ee);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Pt)throw new ne("Graph.".concat(fe,': target node "').concat(Ee,'" not found.'));var We={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(We)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));if(!re.multi&&(M?void 0!==nt.undirected[Ee]:void 0!==nt.out[Ee]))throw new ye("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(Ee,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new Qe(M,L,se,nt,Pt,Fe);return re._edges.set(L,qt),J===Ee?M?(nt.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(nt.directedSelfLoops++,re._directedSelfLoopCount++):M?(nt.undirectedDegree++,Pt.undirectedDegree++):(nt.outDegree++,Pt.inDegree++),tt(re,M,qt,J,Ee,nt,Pt),M?re._undirectedSize++:re._directedSize++,We.key=L,re.emit("edgeAdded",We),L}function Xn(re,fe,se,M,L,J,Ee,Fe,nt){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Pt;if(J=""+J,Ee=""+Ee,nt&&(Pt=Fe,Fe=void 0),!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,qt,St=re._nodes.get(J),bn=re._nodes.get(Ee);if(!se&&(We=re._edges.get(L))){if(We.source.key!==J||We.target.key!==Ee||M&&(We.source.key!==Ee||We.target.key!==J))throw new ye("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(L,'" edge with "').concat(J,'" source & "').concat(Ee,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));qt=We}if(qt||re.multi||!St||(qt=M?St.undirected[Ee]:St.out[Ee]),qt)return(nt?Pt:Fe)?(nt?(qt.attributes=Pt(qt.attributes),re.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(he(qt.attributes,Fe),re.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:Fe})),qt.key):qt.key;Fe=Fe||{},nt&&Pt&&(Fe=Pt(Fe));var Zr={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(Zr)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));return St||(St=Rn(re,J,{}),J===Ee&&(bn=St)),bn||(bn=Rn(re,Ee,{})),We=new Qe(M,L,se,St,bn,Fe),re._edges.set(L,We),J===Ee?M?(St.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(St.directedSelfLoops++,re._directedSelfLoopCount++):M?(St.undirectedDegree++,bn.undirectedDegree++):(St.outDegree++,bn.inDegree++),tt(re,M,We,J,Ee,St,bn),M?re._undirectedSize++:re._directedSize++,Zr.key=L,re.emit("edgeAdded",Zr),L}var re,Sn=function(re){function fe(M){var L;if(L=re.call(this)||this,(M=he({},ci,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Qt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,Ee="mixed"===M.type?Oe:"directed"===M.type?$e:st;return H(Se(L),"NodeDataClass",Ee),H(Se(L),"_attributes",{}),H(Se(L),"_nodes",new Map),H(Se(L),"_edges",new Map),H(Se(L),"_directedSize",0),H(Se(L),"_undirectedSize",0),H(Se(L),"_directedSelfLoopCount",0),H(Se(L),"_undirectedSelfLoopCount",0),H(Se(L),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),H(Se(L),"_options",M),zn.forEach(function(Fe){return H(Se(L),Fe,L[Fe])}),v(Se(L),"order",function(){return L._nodes.size}),v(Se(L),"size",function(){return L._edges.size}),v(Se(L),"directedSize",function(){return L._directedSize}),v(Se(L),"undirectedSize",function(){return L._undirectedSize}),v(Se(L),"selfLoopCount",function(){return L._directedSelfLoopCount+L._undirectedSelfLoopCount}),v(Se(L),"directedSelfLoopCount",function(){return L._directedSelfLoopCount}),v(Se(L),"undirectedSelfLoopCount",function(){return L._undirectedSelfLoopCount}),v(Se(L),"multi",L._options.multi),v(Se(L),"type",L._options.type),v(Se(L),"allowSelfLoops",L._options.allowSelfLoops),v(Se(L),"implementation",function(){return"graphology"}),L}et(fe,re);var se=fe.prototype;return se.hasNode=function(M){return this._nodes.has(""+M)},se.hasDirectedEdge=function(M,L){if("undirected"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&!Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasUndirectedEdge=function(M,L){if("directed"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasEdge=function(M,L){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){L=""+L;var Ee=this._nodes.get(M=""+M);if(!Ee)return!1;var Fe=void 0!==Ee.out&&Ee.out[L];return Fe||(Fe=void 0!==Ee.undirected&&Ee.undirected[L]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.directedEdge=function(M,L){if("undirected"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.directedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||void 0;return Ee?Ee.key:void 0}},se.undirectedEdge=function(M,L){if("directed"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.undirectedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.undirected&&J.undirected[L]||void 0;return Ee?Ee.key:void 0}},se.edge=function(M,L){if(this.multi)throw new ye("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");L=""+L;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.edge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||J.undirected&&J.undirected[L]||void 0;if(Ee)return Ee.key},se.inDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(L?J.directedSelfLoops:0)},se.outDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(L?J.directedSelfLoops:0)},se.directedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var Ee=L?J.directedSelfLoops:0;return J.inDegree+Ee+(J.outDegree+Ee)},se.undirectedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(L?J.undirectedSelfLoops:0)},se.degree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.degree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var Ee=0,Fe=0;return"directed"!==this.type&&(L&&(Fe=J.undirectedSelfLoops),Ee+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(L&&(Fe=J.directedSelfLoops),Ee+=J.inDegree+J.outDegree+2*Fe),Ee},se.source=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return L.source.key},se.target=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return L.target.key},se.extremities=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[L.source.key,L.target.key]},se.opposite=function(M,L){M=""+M;var J=this._edges.get(L=""+L);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(L,'" edge in the graph.'));var Ee=J.source.key,Fe=J.target.key;if(M!==Ee&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(L,'" edge (').concat(Ee,", ").concat(Fe,")."));return M===Ee?Fe:Ee},se.hasExtremity=function(M,L){L=""+L;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===L||J.target.key===L},se.isUndirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return L.undirected},se.isDirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!L.undirected},se.isSelfLoop=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return L.source===L.target},se.hasGeneratedKey=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return L.generatedKey},se.addNode=function(M,L){return function(J,Ee,Fe){if(Fe&&!k(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(Ee=""+Ee))throw new ye('Graph.addNode: the "'.concat(Ee,'" node already exist in the graph.'));var nt=new J.NodeDataClass(Ee,Fe);return J._nodes.set(Ee,nt),J.emit("nodeAdded",{key:Ee,attributes:Fe}),nt}(this,M,L).key},se.mergeNode=function(M,L){if(L&&!k(L))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(L,'"'));L=L||{};var J=this._nodes.get(M=""+M);return J?(L&&(he(J.attributes,L),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:L})),M):(J=new this.NodeDataClass(M,L),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:L}),M)},se.updateNode=function(M,L){if(L&&"function"!=typeof L)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(L,'"'));var J=this._nodes.get(M=""+M);if(J)return L&&(J.attributes=L(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=L?L({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},se.dropNode=function(M){var L=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(Ee){L.dropEdge(Ee)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},se.dropEdge=function(M){var L;if(arguments.length>1){var J=""+arguments[0],Ee=""+arguments[1];if(!(L=W(this,J,Ee,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(Ee,'" edge in the graph.'))}else if(!(L=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(L.key);var nt=L.source,Pt=L.target,We=L.attributes,qt=L.undirected;return nt===Pt?qt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):qt?(nt.undirectedDegree--,Pt.undirectedDegree--):(nt.outDegree--,Pt.inDegree--),Xe(this,qt,L),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Pt.key,undirected:qt}),this},se.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},se.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},se.getAttribute=function(M){return this._attributes[M]},se.getAttributes=function(){return this._attributes},se.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},se.setAttribute=function(M,L){return this._attributes[M]=L,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.updateAttribute=function(M,L){if("function"!=typeof L)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=L(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},se.replaceAttributes=function(M){if(!k(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},se.mergeAttributes=function(M){if(!k(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},se.getNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[L]},se.getNodeAttributes=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return L.attributes},se.hasNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(L)},se.setNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Ee.attributes[L]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.updateNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=Ee.attributes,nt=J(Fe[L]);return Fe[L]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.removeNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[L],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:L}),this},se.replaceNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=L,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},se.mergeNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,L),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:L}),this},se.updateEachNodeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachNodeAttributesUpdated",{hints:L||null})},se.updateEachEdgeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachEdgeAttributesUpdated",{hints:L||null})},se.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Be(!1,this,M)},se.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Be(!0,this,M)},se.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Pt=M.type,We="outer",qt=null,new oe(function St(){var bn;if("outer"===We)return!0===(bn=nt.next()).done?bn:(L=bn.value,We="directed",St());if("directed"===We)return"undirected"===Pt?(We="undirected",St()):(Ee=L.out,J=Object.keys(L.out),Fe=0,We="inner-directed",St());if("undirected"===We){if("directed"===Pt)return We="outer",St();Ee=L.undirected,J=Object.keys(L.undirected),Fe=0,We="inner-undirected"}if(!qt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",St();if(!qt){var Es=J[Fe++];return qt=Ee[Es].values(),St()}if((bn=qt.next()).done)return qt=null,St();var Zr=bn.value,Js=Zr.target;return"inner-undirected"===We&&Js.key===L.key&&(Js=Zr.source),{done:!1,value:[L.key,Js.key,L.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new oe(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(bn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=bn.out,Es=Object.keys(bn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=bn.undirected,Es=Object.keys(bn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var En=Es[Js++],po=Zr[En],Ll=po.target;return"inner-undirected"===Br&&Ll.key===bn.key&&(Ll=po.source),{done:!1,value:[bn.key,Ll.key,bn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,bn,Es,Zr,Js,Fl,fo,Br,M,L,J,Ee,Fe,nt,Pt,We,qt},se.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},se.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(L,J){M(J,L.attributes)})},se.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var L,J,Ee=this._nodes.values();!0!==(L=Ee.next())&&!M((J=L.value).key,J.attributes););},se.nodeEntries=function(){var M=this._nodes.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{value:[J.key,J.attributes],done:!1}})},se.exportNode=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Je(M,L)},se.exportEdge=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return Mt(M,L)},se.export=function(){var M=new Array(this._nodes.size),L=0;this._nodes.forEach(function(Ee,Fe){M[L++]=Je(Fe,Ee)});var J=new Array(this._edges.size);return L=0,this._edges.forEach(function(Ee,Fe){J[L++]=Mt(Fe,Ee)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},se.importNode=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=It(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Ee=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return L?this.mergeNode(Ee,nt):this.addNode(Ee,nt),this},se.importEdge=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Ot(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Ee=M.source,Fe=M.target,nt=M.attributes,Pt=void 0===nt?{}:nt,We=M.undirected,qt=void 0!==We&&We;return"key"in M?(L?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,Ee,Fe,Pt):(L?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Ee,Fe,Pt),this},se.import=function(M){var L,J,Ee,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!k(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!k(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(Ee=M.nodes,!Array.isArray(Ee))throw new me("Graph.import: invalid nodes. Expecting an array.");for(L=0,J=Ee.length;LJ)){var Pt=new Set;Pt.add(L.undirected[nt]),L.undirected[nt]=Pt,M._nodes.get(nt).undirected[J]=Pt}})),this;var M},se.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},se.toJSON=function(){return this.export()},se.toString=function(){return"[object Graph]"},se.inspect=function(){var M=this,L={};this._nodes.forEach(function(Pt,We){L[We]=Pt.attributes});var J={},Ee={};this._edges.forEach(function(Pt,We){var qt=Pt.undirected?"--":"->",St="",bn="(".concat(Pt.source.key,")").concat(qt,"(").concat(Pt.target.key,")");Pt.generatedKey?M.multi&&(void 0===Ee[bn]?Ee[bn]=0:Ee[bn]++,St+="".concat(Ee[bn],". ")):St+="[".concat(We,"]: "),J[St+=bn]=Pt.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=L,Fe.edges=J,H(Fe,"constructor",this.constructor),Fe},fe}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Sn.prototype.inspect),[{name:function(re){return"".concat(re,"Edge")},generateKey:!0},{name:function(re){return"".concat(re,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(re){return"".concat(re,"EdgeWithKey")}},{name:function(re){return"".concat(re,"DirectedEdgeWithKey")},type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(re){["add","merge","update"].forEach(function(fe){var se=re.name(fe),M="add"===fe?yn:Xn;Sn.prototype[se]=re.generateKey?function(L,J,Ee){return M(this,se,!0,"undirected"===(re.type||this.type),null,L,J,Ee,"update"===fe)}:function(L,J,Ee,Fe){return M(this,se,!1,"undirected"===(re.type||this.type),L,J,Ee,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Sn.prototype[Symbol.iterator]=Sn.prototype.adjacency),re=Sn,ze.forEach(function(fe){var se=fe.name,M=fe.attacher;M(re,se("Edge"),"mixed"),M(re,se("DirectedEdge"),"directed"),M(re,se("UndirectedEdge"),"undirected")}),function(re){Me.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Pt=this._nodes.get(Fe=""+Fe);if(void 0===Pt)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return In(this.multi,"mixed"===J?this.type:J,Ee,Pt)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" target node in the graph.'));return xi(J,this.multi,Ee,We,nt)}throw new me("Graph.".concat(L,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1);se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Ze(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Nn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Xr(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1)+"Until";se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Tt(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Ls(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var J=M.type,Ee=M.direction,Fe=M.name.slice(0,-1)+"Entries";se.prototype[Fe]=function(nt,Pt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return oe.empty();if(!arguments.length)return kt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Mi(J,Ee,We)}if(2===arguments.length){Pt=""+Pt;var qt=this._nodes.get(nt=""+nt);if(!qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return fs(J,Ee,qt,Pt)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(re,fe)})}(Sn),function(re){Bs.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Pt=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(L,': could not find the "').concat(Pt,'" node in the graph.'));return lt(this,J,Ee,nt,Pt)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return xa("mixed"===J?this.type:J,Ee,We)}throw new me("Graph.".concat(L,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1);re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return kl(qt,qt.undirected,St);if("string"==typeof We)return kl(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&Sa(bn,qt,qt.in,St),"in"!==We&&Sa(bn,qt,qt.out,St)),"directed"!==Pt&&Sa(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1)+"Until";re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return ws(qt,qt.undirected,St);if("string"==typeof We)return ws(qt,qt[We],St)}var bn=new Set;"undirected"!==Pt&&("out"!==We&&en(bn,qt,qt.in,St)||"in"!==We&&en(bn,qt,qt.out,St))||"directed"===Pt||en(bn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var M=fe.type,L=fe.direction,J=fe.name.slice(0,-1)+"Entries";re.prototype[J]=function(Ee){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return oe.empty();var Fe=this._nodes.get(Ee=""+Ee);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));return function(nt,Pt,We){if("mixed"!==nt){if("undirected"===nt)return nl(We,We.undirected);if("string"==typeof Pt)return nl(We,We[Pt])}var qt=oe.empty(),St=new Set;return"undirected"!==nt&&("out"!==Pt&&(qt=Ke(qt,rt(St,We,We.in))),"in"!==Pt&&(qt=Ke(qt,rt(St,We,We.out)))),"directed"!==nt&&(qt=Ke(qt,rt(St,We,We.undirected))),qt}("mixed"===M?this.type:M,L,Fe)}}(re,fe)})}(Sn);var rr=function(re){function fe(se){var M=he({type:"directed"},se);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),sr=function(re){function fe(se){var M=he({type:"undirected"},se);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Qn=function(re){function fe(se){var M=he({multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return re.call(this,M)||this}return et(fe,re),fe}(Sn),qi=function(re){function fe(se){var M=he({type:"directed",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn),Ca=function(re){function fe(se){var M=he({type:"undirected",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Sn);function Qr(re){re.from=function(fe,se){var M=he({},fe.options,se),L=new re(M);return L.import(fe),L}}return Qr(Sn),Qr(rr),Qr(sr),Qr(Qn),Qr(qi),Qr(Ca),Sn.Graph=Sn,Sn.DirectedGraph=rr,Sn.UndirectedGraph=sr,Sn.MultiGraph=Qn,Sn.MultiDirectedGraph=qi,Sn.MultiUndirectedGraph=Ca,Sn.InvalidArgumentsGraphError=me,Sn.NotFoundGraphError=ne,Sn.UsageGraphError=ye,Sn}()},1524:(Ut,it,et)=>{var yt;!function(ee,Dt,dt,Y){"use strict";var T,Se=["","webkit","Moz","MS","ms","o"],he=Dt.createElement("div"),j=Math.round,k=Math.abs,Q=Date.now;function H(be,De,Ge){return setTimeout(A(be,Ge),De)}function v(be,De,Ge){return!!Array.isArray(be)&&(C(be,Ge[De],Ge),!0)}function C(be,De,Ge){var vt;if(be)if(be.forEach)be.forEach(De,Ge);else if(be.length!==Y)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),be.apply(this,arguments)}}T="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var Ge=Object(De),vt=1;vt-1}function K(be){return be.trim().split(/\s+/g)}function E(be,De,Ge){if(be.indexOf&&!Ge)return be.indexOf(De);for(var vt=0;vtxs[De]}):vt.sort()),vt}function ae(be,De){for(var Ge,vt,$t=De[0].toUpperCase()+De.slice(1),Xt=0;Xt1&&!Ge.firstMultiple?Ge.firstMultiple=Tt(De):1===$t&&(Ge.firstMultiple=!1);var Xt=Ge.firstInput,ui=Ge.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=De.center=kt(vt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Xt.timeStamp,De.angle=Mi(Vr,Jr),De.distance=Yn(Vr,Jr),function(be,De){var Ge=De.center,vt=be.offsetDelta||{},$t=be.prevDelta||{},Xt=be.prevInput||{};(1===De.eventType||4===Xt.eventType)&&($t=be.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=be.offsetDelta={x:Ge.x,y:Ge.y}),De.deltaX=$t.x+(Ge.x-vt.x),De.deltaY=$t.y+(Ge.y-vt.y)}(Ge,De),De.offsetDirection=Nn(De.deltaX,De.deltaY);var xs=In(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=k(xs.x)>k(xs.y)?xs.x:xs.y,De.scale=ui?function(be,De){return Yn(De[0],De[1],pt)/Yn(be[0],be[1],pt)}(ui.pointers,vt):1,De.rotation=ui?function(be,De){return Mi(De[1],De[0],pt)+Mi(be[1],be[0],pt)}(ui.pointers,vt):0,De.maxPointers=Ge.prevInput?De.pointers.length>Ge.prevInput.maxPointers?De.pointers.length:Ge.prevInput.maxPointers:De.pointers.length,function(be,De){var $t,Xt,ui,Vr,Ge=be.lastInterval||De,vt=De.timeStamp-Ge.timeStamp;if(8!=De.eventType&&(vt>25||Ge.velocity===Y)){var Jr=De.deltaX-Ge.deltaX,xs=De.deltaY-Ge.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=k(Zn.x)>k(Zn.y)?Zn.x:Zn.y,Vr=Nn(Jr,xs),be.lastInterval=De}else $t=Ge.velocity,Xt=Ge.velocityX,ui=Ge.velocityY,Vr=Ge.direction;De.velocity=$t,De.velocityX=Xt,De.velocityY=ui,De.direction=Vr}(Ge,De);var Zn=be.element;I(De.srcEvent.target,Zn)&&(Zn=De.srcEvent.target),De.target=Zn}(be,Ge),be.emit("hammer.input",Ge),be.recognize(Ge),be.session.prevInput=Ge}function Tt(be){for(var De=[],Ge=0;Ge=k(De)?be<0?2:4:De<0?8:16}function Yn(be,De,Ge){Ge||(Ge=_t);var vt=De[Ge[0]]-be[Ge[0]],$t=De[Ge[1]]-be[Ge[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(be,De,Ge){return Ge||(Ge=_t),180*Math.atan2(De[Ge[1]]-be[Ge[1]],De[Ge[0]]-be[Ge[0]])/Math.PI}we.prototype={handler:function(){},init:function(){this.evEl&&X(this.element,this.evEl,this.domHandler),this.evTarget&&X(this.target,this.evTarget,this.domHandler),this.evWin&&X(Te(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ue(this.element,this.evEl,this.domHandler),this.evTarget&&ue(this.target,this.evTarget,this.domHandler),this.evWin&&ue(Te(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,we.apply(this,arguments)}S(Kr,we,{handler:function(De){var Ge=Ls[De.type];1&Ge&&0===De.button&&(this.pressed=!0),2&Ge&&1!==De.which&&(Ge=4),this.pressed&&(4&Ge&&(this.pressed=!1),this.callback(this.manager,Ge,{pointers:[De],changedPointers:[De],pointerType:Qe,srcEvent:De}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:$e,3:"pen",4:Qe,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,we.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),S(en,we,{handler:function(De){var Ge=this.store,vt=!1,$t=De.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[De.pointerType]||De.pointerType,Vr=ui==$e,Jr=E(Ge,De.pointerId,"pointerId");1&Xt&&(0===De.button||Vr)?Jr<0&&(Ge.push(De),Jr=Ge.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Ge[Jr]=De,this.callback(this.manager,Xt,{pointers:Ge,changedPointers:[De],pointerType:ui,srcEvent:De}),vt&&Ge.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,we.apply(this,arguments)}function ge(be,De){var Ge=$(be.touches),vt=$(be.changedTouches);return 12&De&&(Ge=Z(Ge.concat(vt),"identifier",!0)),[Ge,vt]}S(ht,we,{handler:function(De){var Ge=nl[De.type];if(1===Ge&&(this.started=!0),this.started){var vt=ge.call(this,De,Ge);12&Ge&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Ge,{pointers:vt[0],changedPointers:vt[1],pointerType:$e,srcEvent:De})}}});var ve={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Be="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Be,this.targetIds={},we.apply(this,arguments)}function Je(be,De){var Ge=$(be.touches),vt=this.targetIds;if(3&De&&1===Ge.length)return vt[Ge[0].identifier]=!0,[Ge,Ge];var $t,Xt,ui=$(be.changedTouches),Vr=[],Jr=this.target;if(Xt=Ge.filter(function(xs){return I(xs.target,Jr)}),1===De)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(be){for(var De=be.srcEvent.clientX,Ge=be.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(be){return!!this.simultaneous[be.id]},emit:function(be){var De=this,Ge=this.state;function vt($t){De.manager.emit($t,be)}Ge<8&&vt(De.options.event+We(Ge)),vt(De.options.event),be.additionalEvent&&vt(be.additionalEvent),Ge>=8&&vt(De.options.event+We(Ge))},tryEmit:function(be){if(this.canEmit())return this.emit(be);this.state=32},canEmit:function(){for(var be=0;beDe.threshold&&$t&De.direction},attrTest:function(be){return bn.prototype.attrTest.call(this,be)&&(2&this.state||!(2&this.state)&&this.directionTest(be))},emit:function(be){this.pX=be.deltaX,this.pY=be.deltaY;var De=qt(be.direction);De&&(be.additionalEvent=this.options.event+De),this._super.emit.call(this,be)}}),S(Zr,bn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.scale-1)>this.options.threshold||2&this.state)},emit:function(be){1!==be.scale&&(be.additionalEvent=this.options.event+(be.scale<1?"in":"out")),this._super.emit.call(this,be)}}),S(Js,Pt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distanceDe.time;if(this._input=be,!vt||!Ge||12&be.eventType&&!$t)this.reset();else if(1&be.eventType)this.reset(),this._timer=H(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&be.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(be){8===this.state&&(be&&4&be.eventType?this.manager.emit(this.options.event+"up",be):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Fl,bn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.rotation)>this.options.threshold||2&this.state)}}),S(fo,bn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(be){var Ge,De=this.options.direction;return 30&De?Ge=be.overallVelocity:6&De?Ge=be.overallVelocityX:24&De&&(Ge=be.overallVelocityY),this._super.attrTest.call(this,be)&&De&be.offsetDirection&&be.distance>this.options.threshold&&be.maxPointers==this.options.pointers&&k(Ge)>this.options.velocity&&4&be.eventType},emit:function(be){var De=qt(be.offsetDirection);De&&this.manager.emit(this.options.event+De,be),this.manager.emit(this.options.event,be)}}),S(Br,Pt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Be=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Be.source),Je=/^\s+/,Mt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Sn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,qi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,re=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",bn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+fe+"]",Fl="["+Es+"]",fo="["+J+"]",Br="\\d+",Vs="["+Ee+"]",Ac="["+Fe+"]",En="[^"+fe+Es+Br+Ee+Fe+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+fe+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+St+"]",vt="(?:"+Ac+"|"+En+")",$t="(?:"+De+"|"+En+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+bn+"]?",T1=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,be].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,be].join("|")+")"+T1,tr="(?:"+[Ta+fo+"?",fo,Ed,be,Js].join("|")+")",fp=RegExp("['\u2019]","g"),i_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+tr+T1,"g"),rv=RegExp([De+"?"+Ac+"+"+Xt+"(?="+[Fl,De,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,De+vt,"$"].join("|")+")",De+"?"+vt+"+"+Xt,De+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),A1=RegExp("[\\u200d"+fe+J+bn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],M1=-1,rn={};rn[kt]=rn[In]=rn[Nn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[Qe]=rn[tt]=rn[Ze]=rn[ze]=rn[Tt]=rn[Le]=rn[Me]=rn[Ue]=rn[ke]=rn[q]=rn[pe]=rn[_t]=rn[pt]=rn[we]=rn[V]=!1;var or={};or[Qe]=or[tt]=or[Ze]=or[Tt]=or[ze]=or[Le]=or[kt]=or[In]=or[Nn]=or[Yn]=or[Mi]=or[ke]=or[q]=or[pe]=or[_t]=or[pt]=or[we]=or[B]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Me]=or[Ue]=or[V]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},D1=parseFloat,lv=parseInt,Nt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,zi=Nt||js||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,No=Aa&&Aa.exports===Vl,r_=No&&Nt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||r_&&r_.binding&&r_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(at,Rt,Ct){switch(Ct.length){case 0:return at.call(Rt);case 1:return at.call(Rt,Ct[0]);case 2:return at.call(Rt,Ct[0],Ct[1]);case 3:return at.call(Rt,Ct[0],Ct[1],Ct[2])}return at.apply(Rt,Ct)}function jr(at,Rt,Ct,dn){for(var Mn=-1,Bi=null==at?0:at.length;++Mn-1}function Ph(at,Rt,Ct){for(var dn=-1,Mn=null==at?0:at.length;++dn-1;);return Ct}function P1(at,Rt){for(var Ct=at.length;Ct--&&il(Rt,at[Ct],0)>-1;);return Ct}function rF(at,Rt){for(var Ct=at.length,dn=0;Ct--;)at[Ct]===Rt&&++dn;return dn}var sF=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),oF=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function aF(at){return"\\"+tn[at]}function Fh(at){return A1.test(at)}function uv(at){var Rt=-1,Ct=Array(at.size);return at.forEach(function(dn,Mn){Ct[++Rt]=[Mn,dn]}),Ct}function N1(at,Rt){return function(Ct){return at(Rt(Ct))}}function xu(at,Rt){for(var Ct=-1,dn=at.length,Mn=0,Bi=[];++Ct",""":'"',"'":"'"}),Bh=function at(Rt){var d,Ct=(Rt=null==Rt?zi:Bh.defaults(zi.Object(),Rt,Bh.pick(zi,Rh))).Array,dn=Rt.Date,Mn=Rt.Error,Bi=Rt.Function,es=Rt.Math,Xi=Rt.Object,d_=Rt.RegExp,h_=Rt.String,Ia=Rt.TypeError,dr=Ct.prototype,Su=Xi.prototype,gp=Rt["__core-js_shared__"],Sr=Bi.prototype.toString,Ki=Su.hasOwnProperty,fF=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,L1=Sr.call(Xi),f_=zi._,Dd=d_("^"+Sr.call(Ki).replace(Be,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=No?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,fv=zs?zs.allocUnsafe:ee,Oa=N1(Xi.getPrototypeOf,Xi),p_=Xi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,B1=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Xi,"defineProperty");return d({},"",{}),d}catch(p){}}(),pv=Rt.clearTimeout!==zi.clearTimeout&&Rt.clearTimeout,V1=dn&&dn.now!==zi.Date.now&&dn.now,j1=Rt.setTimeout!==zi.setTimeout&&Rt.setTimeout,Vt=es.ceil,Si=es.floor,mr=Xi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,g_=Rt.isFinite,Uh=dr.join,sl=N1(Xi.keys,Xi),zr=es.max,ps=es.min,pF=dn.now,U1=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Xi,"create"),Gh=Fo&&new Fo,Od={},z1=Lu(Cs),m_=Lu(mo),__=Lu(bp),gv=Lu(Ra),y_=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function xe(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Ki.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(p_)return p_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ye,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function Pa(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Na(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),F=!_&&gl(d),le=!_&&!F&&ml(d),Ae=!_&&!F&&!le&&df(d),He=_||F||le||Ae,Ye=He?Md(d.length,h_):[],ct=Ye.length;for(var Ft in d)(p||Ki.call(d,Ft))&&(!He||!("length"==Ft||le&&("offset"==Ft||"parent"==Ft)||Ae&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,ct)))&&Ye.push(Ft);return Ye}function E_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function bv(d,p){return qd(no(d),Au(p,0,d.length))}function Pd(d){return qd(no(d))}function x_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var F=d[p];(!Ki.call(d,p)||!Dn(F,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Nd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,F){return Pc(d,function(le,Ae,He){p(F,le,_(le),He)}),F}function Z1(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function S_(d,p){for(var _=-1,F=p.length,le=Ct(F),Ae=null==d;++_=p?d:p)),d}function Hs(d,p,_,F,le,Ae){var He,Ye=1&p,ct=2&p,Ft=4&p;if(_&&(He=le?_(d,F,le,Ae):_(d)),He!==ee)return He;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(He=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Ki.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!Ye)return no(d,He)}else{var Gt=$s(d),nn=Gt==Ue||Gt==qe;if(ml(d))return Pp(d,Ye);if(Gt==pe||Gt==Qe||nn&&!le){if(He=ct||nn?{}:zv(d),!Ye)return ct?function(d,p){return Fa(d,Vv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(He,d)):function(d,p){return Fa(d,j_(d),p)}(d,Z1(He,d))}else{if(!or[Gt])return le?d:{};He=function(d,p,_){var F=d.constructor;switch(p){case Ze:return Pu(d);case ze:case Le:return new F(+d);case Tt:return function(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Nn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return k_(d,_);case ke:return new F;case q:case we:return new F(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case pt:return new F;case B:return function(d){return Rd?Xi(Rd.call(d)):{}}(d)}}(d,Gt,Ye)}}Ae||(Ae=new Na);var vn=Ae.get(d);if(vn)return vn;Ae.set(d,He),bA(d)?d.forEach(function(Bn){He.add(Hs(Bn,p,_,Bn,d,Ae))}):gA(d)&&d.forEach(function(Bn,mi){He.set(mi,Hs(Bn,p,_,mi,d,Ae))});var gi=Lt?ee:(Ft?ct?B_:ql:ct?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(He,mi,Hs(Bn,p,_,mi,d,Ae))}),He}function Tp(d,p,_){var F=_.length;if(null==d)return!F;for(d=Xi(d);F--;){var le=_[F],He=d[le];if(He===ee&&!(le in d)||!(0,p[le])(He))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Se);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,F){var le=-1,Ae=jl,He=!0,Ye=d.length,ct=[],Ft=p.length;if(!Ye)return ct;_&&(p=Yi(p,ta(_))),F?(Ae=Ph,He=!1):p.length>=200&&(Ae=kh,He=!1,p=new Pa(p));e:for(;++le-1},zl.prototype.set=function(d,p){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,p])):_[F][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),F=_.size;return _.set(d,p),this.size+=_.size==F?0:1,this},Pa.prototype.add=Pa.prototype.push=function(d){return this.__data__.set(d,W),this},Pa.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new zl,this.size=0},Na.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var F=_.__data__;if(!mo||F.length<199)return F.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(F)}return _.set(d,p),this.size=_.size,this};var Pc=dl(cl),T_=dl(Ap,!0);function wv(d,p){var _=!0;return Pc(d,function(F,le,Ae){return _=!!p(F,le,Ae)}),_}function Kh(d,p,_){for(var F=-1,le=d.length;++F0&&_(Ye)?p>1?Ts(Ye,p-1,_,F,le):Ur(le,Ye):F||(le[le.length]=Ye)}return le}var kd=Iv(),Fd=Iv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,F=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Ki.call(d,p)}function Bd(d,p){return null!=d&&p in Xi(d)}function Mu(d,p,_){for(var F=_?Ph:jl,le=d[0].length,Ae=d.length,He=Ae,Ye=Ct(Ae),ct=1/0,Ft=[];He--;){var Lt=d[He];He&&p&&(Lt=Yi(Lt,ta(p))),ct=ps(Lt.length,ct),Ye[He]=!_&&(p||le>=120&&Lt.length>=120)?new Pa(He&&Lt):ee}Lt=d[0];var Gt=-1,nn=Ye[0];e:for(;++Gt=Ye?ct:ct*("desc"==_[F]?-1:1)}return d.index-p.index}(Ae,He,_)});Ct--;)at[Ct]=at[Ct].value;return at}(iT(d,function(Ae,He,Ye){return{criteria:Yi(p,function(Ft){return Ft(Ae)}),index:++F,value:Ae}}))}function Tv(d,p,_){for(var F=-1,le=p.length,Ae={};++F-1;)Ye!==d&&Ln.call(Ye,ct,1),Ln.call(d,ct,1);return d}function Jh(d,p){for(var _=d?p.length:0,F=_-1;_--;){var le=p[_];if(_==F||le!==Ae){var Ae=le;jo(le)?Ln.call(d,le,1):Iu(d,le)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Te)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(bT(d,p,so),d+"")}function sT(d){return E_(nh(d))}function xF(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,F){if(!Tr(d))return d;for(var le=-1,Ae=(p=Lc(p,d)).length,He=Ae-1,Ye=d;null!=Ye&&++lele?0:le+p),(_=_>le?le:_)<0&&(_+=le),le=p>_?0:_-p>>>0,p>>>=0;for(var Ae=Ct(le);++F>>1,He=d[Ae];null!==He&&!da(He)&&(_?He<=p:He=200){var Ft=p?null:L_(d);if(Ft)return l_(Ft);He=!1,le=kh,ct=new Pa}else ct=p?[]:Ye;e:for(;++F=F?d:Ms(d,p,_)}var lT=pv||function(d){return zi.clearTimeout(d)};function Pp(d,p){if(p)return d.slice();var _=d.length,F=fv?fv(_):new d.constructor(_);return d.copy(F),F}function Pu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function k_(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,F=null===d,le=d==d,Ae=da(d),He=p!==ee,Ye=null===p,ct=p==p,Ft=da(p);if(!Ye&&!Ft&&!Ae&&d>p||Ae&&He&&ct&&!Ye&&!Ft||F&&He&&ct||!_&&ct||!le)return 1;if(!F&&!Ae&&!Ft&&d1?_[le-1]:ee,He=le>2?_[2]:ee;for(Ae=d.length>3&&"function"==typeof Ae?(le--,Ae):ee,He&&Ws(_[0],_[1],He)&&(Ae=le<3?ee:Ae,le=1),p=Xi(p);++F-1?le[Ae?p[He]:He]:ee}}function ku(d){return hl(function(p){var _=p.length,F=_,le=Lo.prototype.thru;for(d&&p.reverse();F--;){var Ae=p[F];if("function"!=typeof Ae)throw new Ia(Se);if(le&&!He&&"wrapper"==jp(Ae))var He=new Lo([],!0)}for(F=He?F:_;++F<_;){var Ye=jp(Ae=p[F]),ct="wrapper"==Ye?V_(Ae):ee;He=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?He[jp(ct[0])].apply(He,ct[3]):1==Ae.length&&Up(Ae)?He[Ye]():He.thru(Ae)}return function(){var Ft=arguments,Lt=Ft[0];if(He&&1==Ft.length&&On(Lt))return He.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,F,le,Ae,He,Ye,ct,Ft){var Lt=p&X,Gt=1&p,nn=2&p,vn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Ct(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(vn)var qs=Wd(Bn),ha=rF(Di,qs);if(F&&(Di=zd(Di,F,le,vn)),Ae&&(Di=Dv(Di,Ae,He,vn)),mi-=ha,vn&&mi1&&Di.reverse(),Lt&&ctYe))return!1;var Ft=Ae.get(d),Lt=Ae.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,vn=2&_?new Pa:ee;for(Ae.set(d,p),Ae.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[F],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(F,function(d,p){return Us(st,function(_){var F="_."+_[0];p&_[1]&&!jl(d,F)&&d.push(F)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(F),_)))}function W_(d){var p=0,_=0;return function(){var F=pF(),le=16-(F-_);if(_=F,le>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,F=d.length,le=F-1;for(p=p===ee?F:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GT(d,_)});function ny(d){var p=xe(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var iy=hl(function(d){var p=d.length,_=p?d[0]:0,F=this.__wrapped__,le=function(Ae){return S_(Ae,d)};return!(p>1||this.__actions__.length)&&F instanceof fi&&jo(_)?((F=F.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[le],thisArg:ee}),new Lo(F,this.__chain__).thru(function(Ae){return p&&!Ae.length&&Ae.push(ee),Ae})):this.thru(le)}),qT=ts(function(d,p,_){Ki.call(d,_)?++d[_]:ll(d,_,1)}),QT=Rv(Y_),ZT=Rv(X_);function ay(d,p){return(On(d)?Us:Pc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:T_)(d,kn(p,3))}var eA=ts(function(d,p,_){Ki.call(d,_)?d[_].push(p):ll(d,_,[p])}),uw=pi(function(d,p,_){var F=-1,le="function"==typeof p,Ae=bo(d)?Ct(d.length):[];return Pc(d,function(He){Ae[++F]=le?os(p,He,_):ka(He,p,_)}),Ae}),dw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?Yi:iT)(d,kn(p,3))}var fw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=V1||function(){return zi.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,X,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function cy(d,p){var _;if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var F=1;if(_.length){var le=xu(_,Wd(cf));F|=z}return Wl(d,F,p,_,le)}),Qd=pi(function(d,p,_){var F=3;if(_.length){var le=xu(_,Wd(Qd));F|=z}return Wl(p,F,d,_,le)});function vw(d,p,_){var F,le,Ae,He,Ye,ct,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Se);function vn($i){var bl=F,Gc=le;return F=le=ee,Ft=$i,He=d.apply(Gc,bl)}function Fn($i){return Ft=$i,Ye=nf(mi,p),Lt?vn($i):He}function Bn($i){var bl=$i-ct;return ct===ee||bl>=p||bl<0||Gt&&$i-Ft>=Ae}function mi(){var $i=Bu();if(Bn($i))return Di($i);Ye=nf(mi,function($i){var lM=p-($i-ct);return Gt?ps(lM,Ae-($i-Ft)):lM}($i))}function Di($i){return Ye=ee,nn&&F?vn($i):(F=le=ee,He)}function ha(){var $i=Bu(),bl=Bn($i);if(F=arguments,le=this,ct=$i,bl){if(Ye===ee)return Fn(ct);if(Gt)return lT(Ye),Ye=nf(mi,p),vn(ct)}return Ye===ee&&(Ye=nf(mi,p)),He}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ae=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ae,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){Ye!==ee&&lT(Ye),Ft=0,F=ct=le=Ye=ee},ha.flush=function(){return Ye===ee?He:Di(Bu())},ha}var rA=pi(function(d,p){return Xh(d,1,p)}),ww=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Se);var _=function(){var F=arguments,le=p?p.apply(this,F):F[0],Ae=_.cache;if(Ae.has(le))return Ae.get(le);var He=d.apply(this,F);return _.cache=Ae.set(le,He)||Ae,He};return _.cache=new(uf.Cache||ol),_}function hy(d){if("function"!=typeof d)throw new Ia(Se);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var sA=aT(function(d,p){var _=(p=1==p.length&&On(p[0])?Yi(p[0],ta(kn())):Yi(Ts(p,1),ta(kn()))).length;return pi(function(F){for(var le=-1,Ae=ps(F.length,_);++le=p}),gl=J1(function(){return arguments}())?J1:function(d){return Ar(d)&&Ki.call(d,"callee")&&!mp.call(d,"callee")},On=Ct.isArray,Aw=an?ta(an):function(d){return Ar(d)&&As(d)==Ze};function bo(d){return null!=d&&py(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Ly,Mw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Le};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Me||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==Ue||p==qe||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function py(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Te}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var gA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==ke};function yA(d){return"number"==typeof d||Ar(d)&&As(d)==q}function Jp(d){if(!Ar(d)||As(d)!=pe)return!1;var p=Oa(d);if(null===p)return!0;var _=Ki.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==L1}var Rw=go?ta(go):function(d){return Ar(d)&&As(d)==_t},bA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==pt};function my(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==we}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==B}var df=ss?ta(ss):function(d){return Ar(d)&&py(d.length)&&!!rn[As(d)]},Uc=Lp(Cv),_y=Lp(function(d,p){return d<=p});function Pw(d){if(!d)return[];if(bo(d))return my(d)?rl(d):no(d);if(jh&&d[jh])return function(at){for(var Rt,Ct=[];!(Rt=at.next()).done;)Ct.push(Rt.value);return Ct}(d[jh]());var p=$s(d);return(p==ke?uv:p==pt?l_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function yy(d){return d?Au(ti(d),0,ye):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=cv(d);var _=rr.test(d);return _||Qn.test(d)?lv(d.slice(2),_?2:8):Sn.test(d)?NaN:+d}function Nw(d){return Fa(d,ro(d))}function Gi(d){return null==d?"":Vo(d)}var vA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Ki.call(p,_)&&al(d,_,p[_])}),wA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,F){Fa(p,ro(p),d,F)}),EA=Gl(function(d,p,_,F){Fa(p,Is(p),d,F)}),kw=hl(S_),SA=pi(function(d,p){d=Xi(d);var _=-1,F=p.length,le=F>2?p[2]:ee;for(le&&Ws(p[0],p[1],le)&&(F=1);++_1),Ae}),Fa(d,B_(d),_),F&&(_=Hs(_,7,Bp));for(var le=p.length;le--;)Iu(_,p[le]);return _}),DA=hl(function(d,p){return null==d?{}:function(d,p){return Tv(d,p,function(_,F){return eg(d,F)})}(d,p)});function zw(d,p){if(null==d)return{};var _=Yi(B_(d),function(F){return[F]});return p=kn(p),Tv(d,_,function(F,le){return p(F,le[0])})}var IA=Fu(Is),Gw=Fu(ro);function nh(d){return null==d?[]:a_(d,Is(d))}var kA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?Ey(p):p)});function Ey(d){return ig(Gi(d).toLowerCase())}function xy(d){return(d=Gi(d))&&d.replace(Ca,sF).replace(i_,"")}var LA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),BA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),GF=Np("toLowerCase"),HA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Ty=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Kw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Np("toUpperCase");function Iy(d,p,_){return d=Gi(d),(p=_?ee:p)===ee?function(at){return Bl.test(at)}(d)?function(at){return at.match(rv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(p)||[]}var Oy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Qw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Ry(d){return function(){return d}}var WF=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return nT("function"==typeof d?d:Hs(d,1))}var Py=pi(function(d,p){return function(_){return ka(_,d,p)}}),Zw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Ny(d,p,_){var F=Is(p),le=Qh(p,F);null==_&&(!Tr(p)||!le.length&&F.length)&&(_=p,p=d,d=this,le=Qh(p,Is(p)));var Ae=!(Tr(_)&&"chain"in _&&!_.chain),He=ua(d);return Us(le,function(Ye){var ct=p[Ye];d[Ye]=ct,He&&(d.prototype[Ye]=function(){var Ft=this.__chain__;if(Ae||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return ct.apply(d,Ur([this.value()],arguments))})}),d}function ky(){}var KA=kp(Yi),QA=kp(ri),eE=kp(ko);function Uu(d){return oa(d)?s_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var ZA=Nv(),JA=Nv(!0);function Hc(){return[]}function Ly(){return!1}var Hn=F_(function(d,p){return d+p},0),By=$d("ceil"),YF=F_(function(d,p){return d/p},1),Kl=$d("floor"),rE=F_(function(d,p){return d*p},1),sE=$d("round"),oE=F_(function(d,p){return d-p},0);return xe.after=function(d,p){if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},xe.ary=Xp,xe.assign=vA,xe.assignIn=wA,xe.assignInWith=Zd,xe.assignWith=EA,xe.at=kw,xe.before=cy,xe.bind=cf,xe.bindAll=Qw,xe.bindKey=Qd,xe.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},xe.chain=ny,xe.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var F=null==d?0:d.length;if(!F||p<1)return[];for(var le=0,Ae=0,He=Ct(Vt(F/p));lele?0:le+_),(F=F===ee||F>le?le:ti(F))<0&&(F+=le),F=_>F?0:yy(F);_>>0)?(d=Gi(d))&&("string"==typeof p||null!=p&&!Rw(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},xe.spread=function(d,p){if("function"!=typeof d)throw new Ia(Se);return p=null==p?0:zr(ti(p),0),pi(function(_){var F=_[p],le=ul(_,0,p);return F&&Ur(le,F),os(d,this,le)})},xe.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},xe.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},xe.takeRight=function(d,p,_){var F=null==d?0:d.length;return F?Ms(d,(p=F-(p=_||p===ee?1:ti(p)))<0?0:p,F):[]},xe.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},xe.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},xe.tap=function(d,p){return p(d),d},xe.throttle=function(d,p,_){var F=!0,le=!0;if("function"!=typeof d)throw new Ia(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,le="trailing"in _?!!_.trailing:le),vw(d,p,{leading:F,maxWait:p,trailing:le})},xe.thru=Xd,xe.toArray=Pw,xe.toPairs=IA,xe.toPairsIn=Gw,xe.toPath=function(d){return On(d)?Yi(d,si):da(d)?[d]:no(Wv(Gi(d)))},xe.toPlainObject=Nw,xe.transform=function(d,p,_){var F=On(d),le=F||ml(d)||df(d);if(p=kn(p,4),null==_){var Ae=d&&d.constructor;_=le?F?new Ae:[]:Tr(d)&&ua(Ae)?Tu(Oa(d)):{}}return(le?Us:cl)(d,function(He,Ye,ct){return p(_,He,Ye,ct)}),_},xe.unary=function(d){return Xp(d,1)},xe.union=nw,xe.unionBy=UT,xe.unionWith=zT,xe.uniq=function(d){return d&&d.length?kc(d):[]},xe.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},xe.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},xe.unset=function(d,p){return null==d||Iu(d,p)},xe.unzip=iw,xe.unzipWith=GT,xe.update=function(d,p,_){return null==d?d:Op(d,p,N_(_))},xe.updateWith=function(d,p,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,p,N_(_),F)},xe.values=nh,xe.valuesIn=function(d){return null==d?[]:a_(d,ro(d))},xe.without=rw,xe.words=Iy,xe.wrap=function(d,p){return Kp(N_(p),d)},xe.xor=PF,xe.xorBy=Uo,xe.xorWith=ey,xe.zip=ty,xe.zipObject=function(d,p){return Rp(d||[],p||[],al)},xe.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},xe.zipWith=lf,xe.entries=IA,xe.entriesIn=Gw,xe.extend=wA,xe.extendWith=Zd,Ny(xe,xe),xe.add=Hn,xe.attempt=Oy,xe.camelCase=kA,xe.capitalize=Ey,xe.ceil=By,xe.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},xe.clone=function(d){return Hs(d,4)},xe.cloneDeep=function(d){return Hs(d,5)},xe.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},xe.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},xe.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},xe.deburr=xy,xe.defaultTo=function(d,p){return null==d||d!=d?p:d},xe.divide=YF,xe.endsWith=function(d,p,_){d=Gi(d),p=Vo(p);var F=d.length,le=_=_===ee?F:Au(ti(_),0,F);return(_-=p.length)>=0&&d.slice(_,le)==p},xe.eq=Dn,xe.escape=function(d){return(d=Gi(d))&&en.test(d)?d.replace(Sa,oF):d},xe.escapeRegExp=function(d){return(d=Gi(d))&&ut.test(d)?d.replace(Be,"\\$&"):d},xe.every=function(d,p,_){var F=On(d)?ri:wv;return _&&Ws(d,p,_)&&(p=ee),F(d,kn(p,3))},xe.find=QT,xe.findIndex=Y_,xe.findKey=function(d,p){return Nh(d,kn(p,3),cl)},xe.findLast=ZT,xe.findLastIndex=X_,xe.findLastKey=function(d,p){return Nh(d,kn(p,3),Ap)},xe.floor=Kl,xe.forEach=ay,xe.forEachRight=Wp,xe.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},xe.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},xe.forOwn=function(d,p){return d&&cl(d,kn(p,3))},xe.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},xe.get=pf,xe.gt=zt,xe.gte=Tw,xe.has=function(d,p){return null!=d&&Uv(d,p,Ld)},xe.hasIn=eg,xe.head=Yv,xe.identity=so,xe.includes=function(d,p,_,F){d=bo(d)?d:nh(d),_=_&&!F?ti(_):0;var le=d.length;return _<0&&(_=zr(le+_,0)),my(d)?_<=le&&d.indexOf(p,_)>-1:!!le&&il(d,p,_)>-1},xe.indexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=null==_?0:ti(_);return le<0&&(le=zr(F+le,0)),il(d,p,le)},xe.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Te&&d<=Te},xe.isSet=bA,xe.isString=my,xe.isSymbol=da,xe.isTypedArray=df,xe.isUndefined=function(d){return d===ee},xe.isWeakMap=function(d){return Ar(d)&&$s(d)==V},xe.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},xe.join=function(d,p){return null==d?"":Uh.call(d,p)},xe.kebabCase=LA,xe.last=aa,xe.lastIndexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=F;return _!==ee&&(le=(le=ti(_))<0?zr(F+le,0):ps(le,F-1)),p==p?function(at,Rt,Ct){for(var dn=Ct+1;dn--;)if(at[dn]===Rt)return dn;return dn}(d,p,le):Td(d,Dc,le,!0)},xe.lowerCase=BA,xe.lowerFirst=GF,xe.lt=Uc,xe.lte=_y,xe.max=function(d){return d&&d.length?Kh(d,so,yo):ee},xe.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},xe.mean=function(d){return Ss(d,so)},xe.meanBy=function(d,p){return Ss(d,kn(p,2))},xe.min=function(d){return d&&d.length?Kh(d,so,Cv):ee},xe.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Cv):ee},xe.stubArray=Hc,xe.stubFalse=Ly,xe.stubObject=function(){return{}},xe.stubString=function(){return""},xe.stubTrue=function(){return!0},xe.multiply=rE,xe.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},xe.noConflict=function(){return zi._===this&&(zi._=f_),this},xe.noop=ky,xe.now=Bu,xe.pad=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;if(!p||F>=p)return d;var le=(p-F)/2;return Fp(Si(le),_)+d+Fp(Vt(le),_)},xe.padEnd=function(d,p,_){d=Gi(d);var F=(p=ti(p))?Lh(d):0;return p&&Fp){var F=d;d=p,p=F}if(_||d%1||p%1){var le=zh();return ps(d+le*(p-d+D1("1e-"+((le+"").length-1))),p)}return Hl(d,p)},xe.reduce=function(d,p,_){var F=On(d)?Eu:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,Pc)},xe.reduceRight=function(d,p,_){var F=On(d)?Cd:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,T_)},xe.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Gi(d),p)},xe.replace=function(){var d=arguments,p=Gi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},xe.result=function(d,p,_){var F=-1,le=(p=Lc(p,d)).length;for(le||(le=1,d=ee);++FTe)return[];var _=ye,F=ps(d,ye);p=kn(p),d-=ye;for(var le=Md(F,p);++_=Ae)return d;var Ye=_-Lh(F);if(Ye<1)return F;var ct=He?ul(He,0,Ye).join(""):d.slice(0,Ye);if(le===ee)return ct+F;if(He&&(Ye+=ct.length-Ye),Rw(le)){if(d.slice(Ye).search(le)){var Ft,Lt=ct;for(le.global||(le=d_(le.source,Gi(Xn.exec(le))+"g")),le.lastIndex=0;Ft=le.exec(Lt);)var Gt=Ft.index;ct=ct.slice(0,Gt===ee?Ye:Gt)}}else if(d.indexOf(Vo(le),Ye)!=Ye){var nn=ct.lastIndexOf(le);nn>-1&&(ct=ct.slice(0,nn))}return ct+F},xe.unescape=function(d){return(d=Gi(d))&&ws.test(d)?d.replace(kl,u_):d},xe.uniqueId=function(d){var p=++fF;return Gi(d)+p},xe.upperCase=Kw,xe.upperFirst=ig,xe.each=ay,xe.eachRight=Wp,xe.first=Yv,Ny(xe,function(){var d={};return cl(xe,function(p,_){Ki.call(xe.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),xe.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){xe[d].placeholder=xe}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var F=this.__filtered__&&!p?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ps(_,F.__takeCount__):F.__views__.push({size:ps(_,ye),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,F=1==_||3==_;fi.prototype[d]=function(le){var Ae=this.clone();return Ae.__iteratees__.push({iteratee:kn(le,3),type:_}),Ae.__filtered__=Ae.__filtered__||F,Ae}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(hy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ye)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),F=/^(?:head|last)$/.test(p),le=xe[F?"take"+("last"==p?"Right":""):p],Ae=F||/^find/.test(p);!le||(xe.prototype[p]=function(){var He=this.__wrapped__,Ye=F?[1]:arguments,ct=He instanceof fi,Ft=Ye[0],Lt=ct||On(He),Gt=function(mi){var Di=le.apply(xe,Ur([mi],Ye));return F&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(ct=Lt=!1);var nn=this.__chain__,vn=!!this.__actions__.length,Fn=Ae&&!nn,gi=ct&&!vn;if(!Ae&&Lt){He=gi?He:new fi(this);var Bn=d.apply(He,Ye);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,Ye):(Bn=this.thru(Gt),Fn?F?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);xe.prototype[d]=function(){var le=arguments;if(F&&!this.__chain__){var Ae=this.value();return p.apply(On(Ae)?Ae:[],le)}return this[_](function(He){return p.apply(On(He)?He:[],le)})}}),cl(fi.prototype,function(d,p){var _=xe[p];if(_){var F=_.name+"";Ki.call(Od,F)||(Od[F]=[]),Od[F].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),F=p<0,le=_?d.length:0,Ae=function(d,p,_){for(var F=-1,le=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},xe.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var F=sf(_);F.__index__=0,F.__values__=ee,p?le.__wrapped__=F:p=F;var le=F;_=_.__wrapped__}return le.__wrapped__=d,p},xe.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[J_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(J_)},xe.prototype.toJSON=xe.prototype.valueOf=xe.prototype.value=function(){return oT(this.__wrapped__,this.__actions__)},xe.prototype.first=xe.prototype.head,jh&&(xe.prototype[jh]=function(){return this}),xe}();zi._=Bh,(yt=function(){return Bh}.call(it,et,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},5478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,k=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},H=function(lt){return Q[lt]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(rt){return rt.replace(C,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var T=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var z={},P=/^[^:]+:\/*[^/]*$/,X=/^([^:]+:)[\s\S]*$/,ue=/^([^:]+:\/*[^/]*)[\s\S]*$/;function I(rt,lt){z[" "+rt]||(z[" "+rt]=P.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=z[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(X,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ue,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var ve=0;ve1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Te=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Be,ut,Je){for(var Mt=!1,It=ut;--It>=0&&"\\"===Je[It];)Mt=!Mt;return Mt?"|":" |"}).split(/ \|/),ve=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:ve[0]}:{raw:"\n"}},lt.code=function(ge){var ve=this.rules.block.code.exec(ge);if(ve){var Be=ve[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ve[0],codeBlockStyle:"indented",text:this.options.pedantic?Be:me(Be,"\n")}}},lt.fences=function(ge){var ve=this.rules.block.fences.exec(ge);if(ve){var Be=ve[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(ve){var Be=ve.match(/^\s+/);return null===Be?ve:Be[0].length>=ge.length?ve.slice(ge.length):ve}).join("\n")}(Be,ve[3]||"");return{type:"code",raw:Be,lang:ve[2]?ve[2].trim():ve[2],text:ut}}},lt.heading=function(ge){var ve=this.rules.block.heading.exec(ge);if(ve){var Be=ve[2].trim();if(/#$/.test(Be)){var ut=me(Be,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Be=ut.trim())}return{type:"heading",raw:ve[0],depth:ve[1].length,text:Be}}},lt.nptable=function(ge){var ve=this.rules.block.nptable.exec(ge);if(ve){var Be={type:"table",header:ne(ve[1].replace(/^ *| *\| *$/g,"")),align:ve[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:ve[3]?ve[3].replace(/\n$/,"").split("\n"):[],raw:ve[0]};if(Be.header.length===Be.align.length){var Je,ut=Be.align.length;for(Je=0;Je ?/gm,"");return{type:"blockquote",raw:ve[0],text:Be}}},lt.list=function(ge){var ve=this.rules.block.list.exec(ge);if(ve){var Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Be=ve[0],ut=ve[2],Je=ut.length>1,Mt={type:"list",raw:Be,ordered:Je,start:Je?+ut.slice(0,-1):"",loose:!1,items:[]},It=ve[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var qi=0;qici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(qi,2,It[qi]+(!this.options.pedantic&&Rn[1].length/i.test(ut[0])&&(ve=!1),!Be&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Be=!0:Be&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Be=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:ve,inRawBlock:Be,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]}},lt.link=function(ge){var ve=this.rules.inline.link.exec(ge);if(ve){var Be=ve[2].trim();if(!this.options.pedantic&&/^$/.test(Be))return;var ut=me(Be.slice(0,-1),"\\");if((Be.length-ut.length)%2==0)return}else{var Je=Oe(ve[2],"()");if(Je>-1){var It=(0===ve[0].indexOf("!")?5:4)+ve[1].length+Je;ve[2]=ve[2].substring(0,Je),ve[0]=ve[0].substring(0,It).trim(),ve[3]=""}}var Ot=ve[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=ve[3]?ve[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(Be)?Ot.slice(1):Ot.slice(1,-1)),$e(ve,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},ve[0])}},lt.reflink=function(ge,ve){var Be;if((Be=this.rules.inline.reflink.exec(ge))||(Be=this.rules.inline.nolink.exec(ge))){var ut=(Be[2]||Be[1]).replace(/\s+/g," ");if(!(ut=ve[ut.toLowerCase()])||!ut.href){var Je=Be[0].charAt(0);return{type:"text",raw:Je,text:Je}}return $e(Be,ut,Be[0])}},lt.emStrong=function(ge,ve,Be){void 0===Be&&(Be="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Be.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Je=ut[1]||ut[2]||"";if(!Je||Je&&(""===Be||this.rules.inline.punctuation.exec(Be))){var It,Ot,Mt=ut[0].length-1,Qt=Mt,zn=0,ci="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,ve=ve.slice(-1*ge.length+Mt);null!=(ut=ci.exec(ve));)if(It=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Ot=It.length,ut[3]||ut[4]){Qt+=Ot;continue}if((ut[5]||ut[6])&&Mt%3&&!((Mt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Mt,Ot)%2?{type:"em",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(1,Mt+ut.index+Ot)}:{type:"strong",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(2,Mt+ut.index+Ot-1)}}}}},lt.codespan=function(ge){var ve=this.rules.inline.code.exec(ge);if(ve){var Be=ve[2].replace(/\n/g," "),ut=/[^ ]/.test(Be),Je=/^ /.test(Be)&&/ $/.test(Be);return ut&&Je&&(Be=Be.substring(1,Be.length-1)),Be=ye(Be,!0),{type:"codespan",raw:ve[0],text:Be}}},lt.br=function(ge){var ve=this.rules.inline.br.exec(ge);if(ve)return{type:"br",raw:ve[0]}},lt.del=function(ge){var ve=this.rules.inline.del.exec(ge);if(ve)return{type:"del",raw:ve[0],text:ve[2]}},lt.autolink=function(ge,ve){var ut,Je,Be=this.rules.inline.autolink.exec(ge);if(Be)return Je="@"===Be[2]?"mailto:"+(ut=ye(this.options.mangle?ve(Be[1]):Be[1])):ut=ye(Be[1]),{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,ve){var Be;if(Be=this.rules.inline.url.exec(ge)){var ut,Je;if("@"===Be[2])Je="mailto:"+(ut=ye(this.options.mangle?ve(Be[0]):Be[0]));else{var Mt;do{Mt=Be[0],Be[0]=this.rules.inline._backpedal.exec(Be[0])[0]}while(Mt!==Be[0]);ut=ye(Be[0]),Je="www."===Be[1]?"http://"+ut:ut}return{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,ve,Be){var Je,ut=this.rules.inline.text.exec(ge);if(ut)return Je=ve?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]:ye(this.options.smartypants?Be(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Je}},rt}(),tt=te_noopTest,Xe=te_edit,ze=te_merge,Le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Le.def=Xe(Le.def).replace("label",Le._label).replace("title",Le._title).getRegex(),Le.bullet=/(?:[*+-]|\d{1,9}[.)])/,Le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Le.item=Xe(Le.item,"gm").replace(/bull/g,Le.bullet).getRegex(),Le.listItemStart=Xe(/^( *)(bull) */).replace("bull",Le.bullet).getRegex(),Le.list=Xe(Le.list).replace(/bull/g,Le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Le.def.source+")").getRegex(),Le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Le._comment=/|$)/,Le.html=Xe(Le.html,"i").replace("comment",Le._comment).replace("tag",Le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Le.paragraph=Xe(Le._paragraph).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.blockquote=Xe(Le.blockquote).replace("paragraph",Le.paragraph).getRegex(),Le.normal=ze({},Le),Le.gfm=ze({},Le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Le.gfm.nptable=Xe(Le.gfm.nptable).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.gfm.table=Xe(Le.gfm.table).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.pedantic=ze({},Le.normal,{html:Xe("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Xe(Le.normal._paragraph).replace("hr",Le.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Xe(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Xe(Le._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Xe(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Xe(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Xe(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ke.autolink=Xe(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Xe(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Xe(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Xe(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Xe(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=ze({},Ke),Ke.pedantic=ze({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xe(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Xe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=ze({},Ke.normal,{escape:Xe(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||qe,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:ke.normal,inline:q.normal};this.options.pedantic?(ge.block=ke.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=ke.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,ve){return new rt(ve).lex(ge)},rt.lexInline=function(ge,ve){return new rt(ve).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,ve,Be){var Je,Mt,It,Ot,Qt,zn,ut=this;for(void 0===ve&&(ve=[]),void 0===Be&&(Be=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(Je=Rn.call(ut,ge,ve))&&(ge=ge.substring(Je.raw.length),ve.push(Je),!0)}))){if(Je=this.tokenizer.space(ge)){ge=ge.substring(Je.raw.length),Je.type&&ve.push(Je);continue}if(Je=this.tokenizer.code(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(Je=this.tokenizer.fences(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.heading(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.nptable(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.hr(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.blockquote(ge)){ge=ge.substring(Je.raw.length),Je.tokens=this.blockTokens(Je.text,[],Be),ve.push(Je);continue}if(Je=this.tokenizer.list(ge)){for(ge=ge.substring(Je.raw.length),It=Je.items.length,Mt=0;Mt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ge.substring(0,Rn+1))}(),Be&&(Je=this.tokenizer.paragraph(Qt))){Ot=ve[ve.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je),zn=Qt.length!==ge.length,ge=ge.substring(Je.raw.length);continue}if(Je=this.tokenizer.text(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(ge){var ci="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return ve},lt.inline=function(ge){var ve,Be,ut,Je,Mt,It,Ot=ge.length;for(ve=0;ve0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)yn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Sn){return!!(Mt=Sn.call(Je,ge,ve))&&(ge=ge.substring(Mt.raw.length),ve.push(Mt),!0)}))){if(Mt=this.tokenizer.escape(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.tag(ge,Be,ut)){ge=ge.substring(Mt.raw.length),Be=Mt.inLink,ut=Mt.inRawBlock,(It=ve[ve.length-1])&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.link(ge)){ge=ge.substring(Mt.raw.length),"link"===Mt.type&&(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut)),ve.push(Mt);continue}if(Mt=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(Mt.raw.length),It=ve[ve.length-1],"link"===Mt.type?(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut),ve.push(Mt)):It&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.emStrong(ge,Qt,Rn)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.codespan(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.br(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.del(ge)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.autolink(ge,de)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(!Be&&(Mt=this.tokenizer.url(ge,de))){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Ot=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Sn=1/0,rr=ge.slice(1),sr=void 0;Je.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Sn=Math.min(Sn,sr))}),Sn<1/0&&Sn>=0&&(Ot=ge.substring(0,Sn+1))}(),Mt=this.tokenizer.inlineText(Ot,ut,pe)){ge=ge.substring(Mt.raw.length),"_"!==Mt.raw.slice(-1)&&(Rn=Mt.raw.slice(-1)),ci=!0,(It=ve[ve.length-1])&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(ge){var Xn="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return ve},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:ke,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,we=te_escape,B=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,ve,Be){var ut=(ve||"").match(/\S*/)[0];if(this.options.highlight){var Je=this.options.highlight(ge,ut);null!=Je&&Je!==ge&&(Be=!0,ge=Je)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Be?ge:we(ge,!0))+"
    \n":"
    "+(Be?ge:we(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,ve,Be,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,ve,Be){var ut=ve?"ol":"ul";return"<"+ut+(ve&&1!==Be?' start="'+Be+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,ve){return ve&&(ve=""+ve+""),"\n\n"+ge+"\n"+ve+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,ve){var Be=ve.header?"th":"td";return(ve.align?"<"+Be+' align="'+ve.align+'">':"<"+Be+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut='"+Be+""},lt.image=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut=''+Be+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,ve,Be){return""+Be},lt.image=function(ge,ve,Be){return""+Be},lt.br=function(){return""},rt}(),V=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,ve){var Be=ge,ut=0;if(this.seen.hasOwnProperty(Be)){ut=this.seen[ge];do{Be=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Be))}return ve||(this.seen[ge]=ut,this.seen[Be]=0),Be},lt.slug=function(ge,ve){void 0===ve&&(ve={});var Be=this.serialize(ge);return this.getNextSafeSlug(Be,ve.dryrun)},rt}(),Re=B,Ze=N,Tt=V,kt=dt.exports.defaults,In=te_unescape,Yn=je,Mi=function(){function rt(ht){this.options=ht||kt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ze,this.slugger=new Tt}rt.parse=function(ge,ve){return new rt(ve).parse(ge)},rt.parseInline=function(ge,ve){return new rt(ve).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,ve){void 0===ve&&(ve=!0);var ut,Je,Mt,It,Ot,Qt,zn,ci,Rn,yn,Xn,Sn,rr,sr,Qn,qi,Ca,Qr,re,Be="",fe=ge.length;for(ut=0;ut0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,qi);Be+=this.renderer.list(Rn,Xn,Sn);continue;case"html":Be+=this.renderer.html(yn.text);continue;case"paragraph":Be+=this.renderer.paragraph(this.parseInline(yn.tokens));continue;case"text":for(Rn=yn.tokens?this.parseInline(yn.tokens):yn.text;ut+1An error occurred:

    "+xa(Mt.message+"",!0)+"
    ";throw Mt}}return en.options=en.setOptions=function(rt){return Bs(en.defaults,rt),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+xa(ge.message+"",!0)+"
    ";throw ge}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Ut,it,et)=>{var yt=et(6284),ee=et(7830);function Dt(){this.clear()}Dt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Dt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Dt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Dt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Dt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Dt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.iterator]=Dt.prototype.values),Dt.prototype.toString=function(){return this.toArray().join(",")},Dt.prototype.toJSON=function(){return this.toArray()},Dt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Dt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Dt.prototype.inspect),Dt.from=function(dt){var Y=new Dt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Dt.of=function(){return Dt.from(arguments)},Ut.exports=Dt},7830:Ut=>{var it="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function yt(ee,Dt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Dt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var et=arguments,yt=et.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:et[ee++]}})},it.empty=function(){var et=new it(null);return et.done=!0,et},it.is=function(et){return et instanceof it||"object"==typeof et&&null!==et&&"function"==typeof et.next},Ut.exports=it},7310:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Dt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var k=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return k||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Dt=yt(et(1602)),dt=yt(et(2344))},1151:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(et(4321)),Dt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Dt.self||Dt.window||Dt.global,it.window=Dt.window||Dt.self||Dt.global,it.global=Dt.global||Dt.self||Dt.window,it.document=Dt.document||{},it.process=Dt.process||{};var j=console;it.console=j},4761:(Ut,it,et)=>{"use strict";var ee=et(1948),Dt=et(4321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=et(1151),Se=(j(et(1602)),j(et(7310)));ee(et(2344));function W(k){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,H=new WeakMap;return(W=function(C){return C?H:Q})(k)}function j(k,Q){if(!Q&&k&&k.__esModule)return k;if(null===k||"object"!==Dt(k)&&"function"!=typeof k)return{default:k};var H=W(Q);if(H&&H.has(k))return H.get(k);var v={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in k)if("default"!==R&&Object.prototype.hasOwnProperty.call(k,R)){var T=C?Object.getOwnPropertyDescriptor(k,R):null;T&&(T.get||T.set)?Object.defineProperty(v,R,T):v[R]=k[R]}return v.default=k,H&&H.set(k,v),v}},1602:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(et(4321)),Dt=yt(et(2344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Dt.default)()}},2344:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(et(4321))},6991:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(4180),it),ee(et(5103),it),ee(et(8965),it),ee(et(2595),it),ee(et(2417),it),ee(et(2451),it),ee(et(7735),it)},4180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=et(4180),ee=et(8965),Dt=et(2595),dt=et(2417),Y=et(2451),Se=et(7735);let he=0;it.DataFactory=class{constructor(k){this.blankNodeCounter=0,this.blankNodePrefix=(k=k||{}).blankNodePrefix||`df_${he++}_`}namedNode(k){return new dt.NamedNode(k)}blankNode(k){return new yt.BlankNode(k||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(k,Q){return new Dt.Literal(k,Q)}variable(k){return new Se.Variable(k)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(k,Q,H,v){return new Y.Quad(k,Q,H,v||this.defaultGraph())}fromTerm(k){switch(k.termType){case"NamedNode":return this.namedNode(k.value);case"BlankNode":return this.blankNode(k.value);case"Literal":return k.language?this.literal(k.value,k.language):k.datatype.equals(Dt.Literal.XSD_STRING)?this.literal(k.value):this.literal(k.value,this.fromTerm(k.datatype));case"Variable":return this.variable(k.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(k.subject),this.fromTerm(k.predicate),this.fromTerm(k.object),this.fromTerm(k.graph))}}fromQuad(k){return this.fromTerm(k)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=et,et.INSTANCE=new et},2595:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=et(2417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Dt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Dt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,C,R,T){void 0===T&&(T=R),Object.defineProperty(v,T,{enumerable:!0,get:function(){return C[R]}})}:function(v,C,R,T){void 0===T&&(T=R),v[T]=C[R]}),ee=this&&this.__exportStar||function(v,C){for(var R in v)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&&yt(C,v,R)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Dt=et(6991),dt=et(9938),Y=et(6060);ee(et(9938),it),ee(et(8871),it),ee(et(6060),it);const Se=new Dt.DataFactory,he=new Y.Translator;function W(v,C){return he.fromRdf(v,C)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Se),he.toRdf(v,C)},it.getTermRaw=function(v,C){return"Literal"===v.termType?W(v,C):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},8871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},6060:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Dt,dt){for(const Y of Dt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Dt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Dt):ee.value}toRdf(ee,Dt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Dt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Dt,dataFactory:dt}){return dt.literal(ee,Dt)}}it.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(727),it),ee(et(2525),it),ee(et(8554),it),ee(et(7750),it),ee(et(4608),it)},2829:(Ut,it,et)=>{"use strict";var yt={};et.r(yt),et.d(yt,{decode:()=>jme,encode:()=>Ume});var ee={};et.r(ee),et.d(ee,{decode:()=>Wme,encode:()=>qme});var Dt={};et.r(Dt),et.d(Dt,{decode:()=>Yme,encode:()=>Xme});var dt={};function Y(n){return"function"==typeof n}et.r(dt),et.d(dt,{decode:()=>Kme,encode:()=>Qme});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},k=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const P="function"==typeof Symbol&&Symbol.observable||"@@observable";function X(n){return n}function ue(...n){return I(n)}function I(n){return 0===n.length?X:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let O=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[T])return n[T]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=K(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[P](){return this}pipe(...t){return 0===t.length?this:I(t)(this)}toPromise(t){return new(t=K(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function K(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ae extends y{constructor(e){super(e),this.destination=e}}let oe=(()=>{class n extends O{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ae(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Te(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ye(e,this.project,this.thisArg))}}class ye extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Oe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[P])return(n=>e=>{const t=n[P]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Le(n))return Oe(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Qe])return(n=>e=>{const t=n[Qe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function ke(n,e){return new O(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[P]}(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[P]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Le(n))return ke(n,e);if(function(n){return n&&"function"==typeof n[Qe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new O(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Qe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof O?n:new O(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class we extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof O)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function V(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(V((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Ze(e,this.project,this.concurrent))}}class Ze extends we{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return V(X,n)}function In(n,e){return e?ke(n,e):new O(Oe(n))}function Nn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Te(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof O?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends O{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ae{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new oe}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=en({__forward_ref__:en});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function ve(n){return Be(n)?n():n}function Be(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Je extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function yn(n,e){const t=e?` in ${e}`:"";throw new Je("201",`No provider for ${Qt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function bn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var En=(()=>((En=En||{})[En.Default=0]="Default",En[En.Host=1]="Host",En[En.Self=2]="Self",En[En.SkipSelf=4]="SkipSelf",En[En.Optional=8]="Optional",En))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=bn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&En.Optional?null:void 0!==e?e:void yn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var Ge=(()=>((Ge=Ge||{})[Ge.OnPush=0]="OnPush",Ge[Ge.Default=1]="Default",Ge))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},tr=[],fp=en({\u0275cmp:en}),i_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),rv=en({\u0275mod:en}),A1=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let M1=0;function rn(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ge.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=M1++,i.inputs=lv(n.inputs,t),i.outputs=lv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(sv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(ov):null,i})}function sv(n){return zi(n)||function(n){return n[i_]||null}(n)}function ov(n){return function(n){return n[Oh]||null}(n)}const av={};function tn(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(av[n.id]=n.type),e})}function lv(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Nt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function zi(n){return n[fp]||null}function No(n,e){const t=n[rv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function o_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function cv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class u_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Li(){return hv}function hv(n){return n.type.prototype.ngOnChanges&&(n.setInput=F1),k1}function k1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function F1(n,e,t,i){const r=at(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new u_(l&&l.currentValue,e,o===xd),n[i]=e}Li.ngInherit=!0;const Bh="__ngSimpleChanges__";function at(n){return n[Bh]||null}let Xi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Xi?Xi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function f_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function p_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function pv(){return Ln.bindingsEnabled}function Vt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function mr(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=g_();for(;null!==n&&64===n.type;)n=n.parent;return n}function g_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,m_(e)}function m_(n){Ln.lFrame.currentDirectiveIndex=n}function __(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function gv(){return Ln.lFrame.currentQueryIndex}function y_(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&En.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&En.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=xe();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=xe(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function xe(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Nr(){const n=Ln.lFrame;return f_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let S_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,C_(i.data,n),C_(e,null),C_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(bv(r)){const o=Pd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function C_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=S_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&En.Host?T_(r,t,i):wv(e,t,i,r);try{const o=s(i);if(null!=o||i&En.Optional)return o;yn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&En.Host?e[16][6]:null;for((-1===a||i&En.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Pd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Ev)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Pd(l),e=al(l,e)):a=-1}}}return wv(e,t,i,r)}const Ev={};function xv(){return new na(as(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&En.Host&&s===a);return null!==u?Fd(e,o,u,a):Ev}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new Je("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,En.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=hv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return Be(n)?()=>{const e=As(ve(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Nc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function R_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class B_ extends ql{getTypeName(){return"HTML"}}class V_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class Uv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),Hv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Gv=oa("rp,rt"),U_=tf(Up,tf(Hv,oa("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),tf(Gv,oa("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),tf(Gv,Hv)),z_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),H_=oa("srcset"),G_=tf(z_,H_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vT=oa("script,style,template");class $_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!U_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();U_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const $v=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace($v,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function W_(n,e){let t=null;try{rf=rf||function(n){const e=new pT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new Uv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new $_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const X_="__ngContext__";function Ds(n,e){n[X_]=e}function K_(n){const e=function(n){return n[X_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function PT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||PT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const nw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ty(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return aw(n[13])}function iy(n){return aw(n[4])}function aw(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?hw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function ay(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function aA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Cw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Cw(s,r)),e}const Dn={};function zt(n){Tw(Si(),Vt(),to()+n,zh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function fy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!pv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Ww(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function qw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function kA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Cy(t)}}function Cy(n){for(let i=Xd(n);null!==i;i=iy(i))for(let r=10;r0&&Cy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Cy(r)}}function zA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Kw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Iy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Oy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Qw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=En.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&En.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&bn(e);a=l&&this.injectableDefInScope(l)?Uu(Fy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&En.Self?Zw():this.parent).get(e,t=i&En.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(rt(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=ve(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||tr))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=ve(e))?e:ve(e&&e.provide);const s=function(n,e,t){return tE(n)?Uu(void 0,n.useValue):Uu(eE(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Nu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=XA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ve(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Fy(n){const e=bn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Nc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function eE(n,e,t){let i;if(Hc(n)){const r=ve(n);return Ic(r)||Fy(r)}if(tE(n))i=()=>ve(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Nu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Ie(ve(n.useExisting));else{const r=ve(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||Fy(r);i=()=>new r(...Nu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function tE(n){return null!==n&&"object"==typeof n&&Pp in n}function Hc(n){return"function"==typeof n}const nE=function(n,e,t){return function(n,e=null,t=null,i){const r=Jw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?nE(e,t,""):nE(e.providers,e.parent,e.name||"")}}function kq(n,e){wp(K_(n)[1],as())}function wn(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Vq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Lq(n,l),c&&Bq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function cM(n){return n===xd?{}:n===tr?[]:n}function Lq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Bq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Vq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=We({token:Hn,providedIn:"any",factory:()=>Ie(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let aE=null;function sg(){if(!aE){const n=Zn.Symbol;if(n&&n.iterator)aE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(_e[i.index])):i.index;if(dr(t)){let _e=null;if(!a&&l&&(_e=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==_e)(_e.__ngLastListenerFn__||_e).__ngNextListenerFn__=s,_e.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Pe=t.listen(U,r,s);f.push(s,Pe),u&&u.push(r,ie,D,D+1)}}else s=mM(i,e,h,s,!0),U.addEventListener(r,s,o),f.push(s),u&&u.push(r,ie,D,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const x=w.length;if(x)for(let U=0;U0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function bY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k2(n){return n.substring(Os.key,Os.keyEnd)}function F2(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=F2(e,t))Bo(n,k2(e),!0)}function Jl(n,e,t,i){const r=Vt(),s=Si(),o=Fo(2);s.firstUpdatePass&&z2(s,n,o,i),e!==Dn&&Eo(r,o,e)&&G2(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function U2(n,e){return e>=n.expandoStartIndex}function z2(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=U2(n,t);W2(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=__(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Gy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Gy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),N2(n,u,i,!0),N2(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=fy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?tr:void 0);let g=h?R_(f,i):u===i?f:void 0;if(c&&!fE(g)&&(g=R_(l,i)),fE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=R_(l,i))}return a}function fE(n){return void 0!==n}function W2(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=Vt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=Vt();return Eo(i,Ra(),e)&&zo(Si(),Nr(),i,n,e,i[11],t,!0),qc}function pE(n,e,t){const i=Vt();if(Eo(i,Ra(),e)){const s=Si(),o=Nr();zo(s,o,i,n,e,Iy(__(s.data),o,i),t,!0)}return pE}const _f=void 0;var nX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const gE="en-US";let dL=gE;function vM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function xM(n,e,t,i,r){if(n=ve(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Ce),m=CM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),SM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+f,h),m=CM(a,e,u,u+f),w=g>=0&&t[g],x=m>=0&&t[m];if(r&&!x||!r&&!w){Rc(Hs(c,o),s,a);const U=function(n,e,t,i,r){const s=new qh(n,t,Ce);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?JX:ZX,t.length,r,i,l);!r&&x&&(t[m].providerFactory=U),SM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(U),o.push(U)}else SM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&x&&t[m].componentProviders++}}}function SM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);xM(t,i.data,i.blueprint,r,!0),xM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class nK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function vE(...n){}function Eg(n,e){return new pn(eo(n,e))}El.NULL=new nK;const sK=function(){return Eg(as(),Vt())};let pn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=sK,n})();function VL(n){return n instanceof pn?n.nativeElement:n}class yf{}let MM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return Uy(e)}create(e){return new dK(e)}}const uK=(n,e)=>e;class dK{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||uK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new hK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class hK{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class fK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new fK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new gK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class gK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:WL}),n})();function wE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(oy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}ay(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ty(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){My(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{My(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class _K extends Xy{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const bK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Xy(i,i)}return 47&n.type?new Xy(e[16],e):null}(as(),Vt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=bK,n})();const EK=[new GL],SK=new xg([new UL]),CK=new Sg(EK),AK=function(){return EE(as(),Vt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=AK,n})();const MK=Go,DK=class extends MK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Xy(i)}};function EE(n,e){return 4&n.type?new DK(e,n,Eg(n,e)):null}class Yc{}const RK=function(){return KL(as(),Vt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=RK,n})();const NK=Rs,YL=class extends NK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(bv(e)){const t=al(e,this._hostLView),i=Pd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),inw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(hA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):sy(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||nw,clean:qA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let w,x;$h(m);try{const U=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&dy(r,n,l.classes),null!==l.styles&&ww(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),qw(o,l),Ey(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:D,classes:ie}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&dy(l,u,ie.join(" "))}if(x=f_(g,20),void 0!==t){const D=x.projection=[];for(let ie=0;iel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),$w(t[1],a,0,a.directiveStart,a.directiveEnd,e),Ww(e,o)),o}(U,this.componentDef,m,f,[kq]),ff(g,m,null)}finally{fi()}return new PQ(this.componentType,w,Eg(x,m),m,x)}}class PQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new _K(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class FQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=No(e),r=function(n){return n[A1]||null}(e);r&&vM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Jw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=En.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==No(e)&&function(n){const e=new Set;!function t(i){const r=No(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new FQ(this.moduleType,e)}}function AE(n,e,t){const i=Cs()+n,r=Vt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ps(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Je("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Ce);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=Vt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function GM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends oe{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=GM(l),a&&(a=GM(a)),c&&(c=GM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function KQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=KQ)}get changes(){return this._changes||(this._changes=new ln)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=vE,this.reject=vE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ef,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const l0=new Ht("AppId"),RZ={provide:l0,useFactory:function(){return`${tD()}${tD()}${tD()}`},deps:[]};function tD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),OE=new Ht("appBootstrapListener");let RE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class NZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const nD=function(n){return new zM(n)},kZ=nD,FZ=function(n){return Promise.resolve(nD(n))},Q3=function(n){const e=nD(n),i=fl(No(n).declarations).reduce((r,s)=>{const o=zi(s);return o&&r.push(new b3(o)),r},[]);return new NZ(e,i)},LZ=Q3,BZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=kZ,this.compileModuleAsync=FZ,this.compileModuleAndAllComponentsSync=LZ,this.compileModuleAndAllComponentsAsync=BZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),jZ=(()=>Promise.resolve(0))();function iD(n){"undefined"==typeof Zone?jZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class fn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,sD(n),n.isCheckStableRunning=!0,rD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),sD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,sD(n),rD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(fn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,zZ,vE,vE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const zZ={};function rD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function sD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,rD(n)}class $Z{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let oD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fn.assertNotInAngularZone(),iD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())iD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,aD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return aD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class WZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let aD=new WZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=cD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=cD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function cD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new $Z:("zone.js"===n?void 0:n)||new fn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:fn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{uD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(vM(u.injector.get(Gu,gE)||gE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new O(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new O(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{fn.assertNotInAngularZone(),iD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{fn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Nn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(oD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),uD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;uD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(OE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Hn),Ie(la),Ie(El),Ie(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const bJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:RE,deps:[]}]),SJ=[{provide:sh,useClass:sh,deps:[fn,Hn,la,El,Og]},{provide:IQ,deps:[fn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},RZ,{provide:xg,useFactory:function(){return SK},deps:[]},{provide:Sg,useFactory:function(){return CK},deps:[]},{provide:Gu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||gE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let TJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Ie(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:SJ}),n})(),HE=null;function Kc(){return HE}const hn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Cee,token:n,providedIn:"platform"}),n})();function Cee(){return Ie(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:Aee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Aee(){return new kB(Ie(hn))}function CD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Ng=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Mee,token:n,providedIn:"root"}),n})();function Mee(n){const e=Ie(hn).location;return new BB(Ie(Tf),e&&e.origin||"")}const TD=new Ht("appBaseHref");let BB=(()=>{class n extends Ng{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return CD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Tf),Ie(TD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ng),Ie(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=CD,n.stripTrailingSlash=LB,n.\u0275prov=We({factory:Iee,token:n,providedIn:"root"}),n})();function Iee(){return new kg(Ie(Ng),Ie(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Bee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return nX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class JE{}let fte=(()=>{class n extends JE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Bee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Gu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class gte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new gte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go),Ce(xg))},n.\u0275dir=Nt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new _te,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class _te{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class wte{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Ete{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const xte=new Ete,Ste=new wte;let m0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return xte;if(x2(t))return Ste;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Ce(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:JE,useClass:fte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class VD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){HE||(HE=n)}(new VD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(_0=_0||document.querySelector("base"),_0?_0.getAttribute("href"):null);return null==t?null:function(n){tx=tx||document.createElement("a"),tx.setAttribute("href",n);const e=tx.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){_0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let tx,_0=null;const aV=new Ht("TRANSITION_ID"),Yte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Xte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const y0=new Ht("EventManagerPlugins");let ix=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),b0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const zD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},HD=/%COMP%/g;function rx(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new GD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new une(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new dne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=rx(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Ie(ix),Ie(b0),Ie(l0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class GD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(zD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=zD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=zD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class une extends GD{constructor(e,t,i,r){super(e),this.component=i;const s=rx(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(HD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(HD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class dne extends GD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=rx(r.id,r.styles,[]);for(let o=0;o{class n extends UD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],bne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},vne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let wne=(()=>{class n extends UD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return bne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&vne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Ie(WD)},token:n,providedIn:"root"}),n})(),WD=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):W_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new V_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return function(n){return new WD(n.get(hn))}(Ie(Vu))},token:n,providedIn:"root"}),n})();const Dne=sB(bJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){VD.makeCurrent(),jD.init()},multi:!0},{provide:hn,useFactory:function(){return function(n){Xi=n}(document),document},deps:[]}]),Ine=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:y0,useClass:hne,multi:!0,deps:[hn,fn,Xc]},{provide:y0,useClass:wne,multi:!0,deps:[hn]},[],{provide:sx,useClass:sx,deps:[ix,b0,l0]},{provide:yf,useExisting:sx},{provide:cV,useExisting:b0},{provide:b0,useClass:b0,deps:[hn]},{provide:oD,useClass:oD,deps:[fn]},{provide:ix,useClass:ix,deps:[y0,fn]},{provide:oV,useClass:Xte,deps:[]},[]];let qD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:l0,useValue:t.appId},{provide:aV,useExisting:l0},Yte]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:Ine,imports:[fr,TJ]}),n})();"undefined"!=typeof window&&window;class Bne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class ox extends Bne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Une=new class extends cc{}(class extends ox{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new O(n=>n.complete());function v0(n){return n?function(n){return new O(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Te(e)?(n.pop(),ke(n,e)):In(n)}function Fg(n,e){return new O(e?t=>e.schedule(Hne,0,{error:n,subscriber:t}):t=>t.error(n))}function Hne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return v0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ax extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ax.dispatch,this.delay,new $ne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class $ne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends oe{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Wne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new ax(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Wne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new qne(n))}class qne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Yne(e,this.project))}}class Yne extends we{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const lx={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return lx.schedule(n,0);if(void 0===window.requestAnimationFrame)return lx.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let XD;function rie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!XD){const t=Element.prototype;XD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&XD.call(n,e)}(n,r)||(i=s,0))),i}class oie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new aie(this.componentFactory,e)}}class aie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Nn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(fn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=lx.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=lx.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new u_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class lie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const uie={initialConfig:{},parse:{},rename:{}};class die{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},uie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let hie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new die(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Nt({type:n,features:[Li]}),n})();const KD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var QD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(QD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==QD?QD:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api--staging.herokuapp.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Vi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",ux=JD();class mie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function dx(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},w0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(ux&&w0.performance)n=w0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:ux&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},xie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Sie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new mie("__probe-".concat(this.id,"__"),xie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){dx(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Sie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?ux?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),dx(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!ux&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return dx(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return dx("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new tI({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},PV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},gn=new tI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function hx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function fx(n){return qo(hx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const E0={};const x0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,$ie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:yr,32937:yr,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:yr,35071:yr,37447:yr,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:yr,35374:yr,35377:yr,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(NV)?2147483647:65535,33001:n=>n.getExtension(NV)?16777216:65535,33e3:n=>16777216,37157:yr,35373:yr,35657:yr,36183:yr,37137:yr,34045:yr,35978:yr,35979:yr,35968:yr,35376:yr,35375:yr,35659:yr,37154:yr,35371:yr,35658:yr,35076:yr,35077:yr,35380:yr},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=$ie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function ire(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&ire(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function S0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const ore={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=S0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=S0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=S0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=S0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const are={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function lre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];lre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new dre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)cre(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(hx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=ore[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)are[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function px(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=px(),yre=sI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(yre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);gn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>gn.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),gn.level=Math.max(gn.level,1)):gn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const C0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==C0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${C0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(px()&&gn.log(1,`luma.gl ${C0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:C0,version:C0,log:gn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ma(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw gn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){fx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function T0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ire({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,Rre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Pre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},Nre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,Pre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,Nre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=T0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/T0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return gn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return gn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return gn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return gn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Lre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Pf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(D=>this.initialize(Object.assign({},e,{pixels:D,data:D}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:w=!1,mipmaps:x=!0}=e;const{depth:U=0}=e;return({width:h,height:f,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=U,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),x&&this._isNPOT()&&(gn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),x=!1,this._updateForNPOT(l)),this.mipmaps=x,this.setImageData({data:t,width:h,height:f,depth:U,format:s,type:m,dataFormat:g,border:o,mipmaps:x,parameters:c,compressed:w}),x&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let x=null;({data:c,dataType:x}=this._getDataType({data:c,compressed:m}));let U,D=0;return hc(this.gl,l,()=>{switch(x){case"null":w.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":U=Ao(w),U.bindBuffer(35052,c.handle||c),U.texImage2D(t,r,s,h,f,o,g,u,a),U.bindBuffer(35052,null);break;case"browser-object":Ci(w)?w.texImage2D(t,r,s,h,f,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[ie,_e]of c.entries())w.compressedTexImage2D(t,ie,_e.format,_e.width,_e.height,o,_e.data),D+=_e.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===x?D:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const x=i;i=x.data,o=x.shape[0],a=x.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,w,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const x=Ao(this.gl);x.bindBuffer(35052,i),x.texSubImage2D(e,l,r,s,o,a,h,u,g),x.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return gn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Lre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Bre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Pf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Pf.isSupported(e,t)}constructor(e,t={}){fx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Bre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Nf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Nf,bpp:2},33327:{gl2:Nf,bpp:4},34842:{gl2:Nf,bpp:8},33326:{gl2:Nf,bpp:4},33328:{gl2:Nf,bpp:8},34836:{gl2:Nf,bpp:16},35898:{gl2:Nf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let $re=(()=>{class n extends Pf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){fx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(gI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),gI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&gn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((w,x)=>{t&&i?u.texImage2D(g,x,a,t,i,o,a,l,w):u.texImage2D(g,x,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=gI,n})();class Wre extends Pf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof $re||n instanceof Wre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function qre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function gx(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=A0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(T0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const w=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,w||null),h&&u.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=gx(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ire({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&gn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return gn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return gn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return gn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return gn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return gn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return gn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>gn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return gn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||gn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},sse=1/Math.PI*180,ose=1/180*Math.PI,Dr={};function lse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ose,void 0)}(n)}function use(n){return function(n,e){return Qu(n,t=>t*sse,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function mx(n,e,t){return uh(n)?n.map((i,r)=>mx(i,e[r],t)):t*e+(1-t)*n}function D0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+lse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Pj(n){return n&&n[Symbol.asyncIterator]}function SI(n,e=(()=>!0)){return Array.isArray(n)?Nj(n,e,[]):e(n)?[n]:[]}function Nj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Lse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function TI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=TI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const U=s;s=(D,ie)=>t._normalizeConstant(U(D,ie))}const m=f?(U,D)=>s(g,D):(U,D)=>s(g.subarray(U,U+a),D),w=n.getData({length:i}),x=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return CI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===wx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=wx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Nse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==wx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const x=h*a+l;for(let U=0;Uu?c.set(ie,w):(e._normalizeValue(ie,U.target,0),Pse({target:c,source:U.target,start:w,count:_e}));w+=_e*u}else e._normalizeValue(ie,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let MI={};function Do(n){Ri.level>0&&MI[n]&&MI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",jse=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?jse:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,gn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Gse{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const P0="vs",qse={[P0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},Ex="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,II=[];function qj(n,e,t,i=!1){const r=e===P0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),II.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(Ex,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(Ex,""),i&&(n=n.replace(/\}\s*$/,s=>s+qse[e])),n}function OI(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Yse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},xx="transform_uSize_",Yj="transform_position";const noe={10241:9728,10240:9728,10242:33071,10243:33071};class roe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${xx}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${xx}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=gx(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(noe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${xx}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(w){const{updatedLine:x,inject:U}=w;h[g]=x,c=OI([c,U]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${xx}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Yse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const RI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function ooe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,RI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,RI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},RI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=ooe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function uoe(n){return function(n){const e={},t={};return NI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function NI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new PI(t)).dependencies=Qj(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function yoe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{kf[n]=n});const FI={};function Zj(n,e,t={}){const i=kI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function Sx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Eoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],xoe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Soe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Coe=[...eU,[Gg("in"),"varying $1"]],LI="gl_FragColor",BI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Toe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Cx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ioe=`\n\n${Ex}\n\n`,tU={[P0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===P0,f=t.split("\n");let g=100,m="",w=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],w=f.slice(1).join("\n")):m=`#version ${g}`;const x={};r.forEach(Ne=>{Object.assign(x,Ne.getDefines())}),Object.assign(x,s);let U=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:yoe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return Sx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),Sx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),Sx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),Sx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(x)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const D=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),ie={},_e={},Pe={};for(const Ne in a){const Ve="string"==typeof a[Ne]?{injection:a[Ne],order:0}:a[Ne],bt=Ne.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const At=bt[3];bt[2]?"decl"===At?_e[Ne]=[Ve]:Pe[Ne]=[Ve]:ie[Ne]=[Ve]}else Pe[Ne]=[Ve]}for(const Ne of r){u&&Ne.checkDeprecations(w,u),U+=Ne.getModuleSource(i,g);const bt=Ne.injections[i];for(const xt in bt){const At=xt.match(/^(v|f)s:#([\w-]+)$/);if(At){const Wt="decl"===At[2]?_e:Pe;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else ie[xt]=ie[xt]||[],ie[xt].push(bt[xt])}}return U+=Ioe,U=qj(U,i,_e),U+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(D[i],ie),U+=w,U=qj(U,i,Pe),U=function(n,e,t){switch(e){case 300:return t?Cx(n,Eoe):function(n){const e=(n=Cx(n,xoe)).match(BI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${LI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Toe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${LI}\\b`,"g"),t)}return n}(n);case 100:return t?Cx(n,Soe):function(n){const e=(n=Cx(n,Coe)).match(BI);if(e){const t=e[1];n=n.replace(BI,"").replace(new RegExp(`\\b${t}\\b`,"g"),LI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(U,l?100:g,h),U}function Poe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Voe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Tx,1,Io),36294:Ir.bind(null,"uniform2uiv",Tx,2,Io),36295:Ir.bind(null,"uniform3uiv",Tx,3,Io),36296:Ir.bind(null,"uniform4uiv",Tx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},joe={},Uoe={},zoe={},iU=[0];function VI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&gn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw gn.error(`GLSL compilation errors in ${r}\n${s}`)(),gn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class jI extends N0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class UI extends N0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,k0=5124,F0=5125,zI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[k0]:[k0,1,"int"],35667:[k0,2,"ivec2"],35668:[k0,3,"ivec3"],35669:[k0,4,"ivec4"],[F0]:[F0,1,"uint"],36294:[F0,2,"uvec2"],36295:[F0,3,"uvec3"],36296:[F0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=zI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in zI){const[i,r,s]=zI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Tae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Aae=35981,Mae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Mae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Aae}=e;return this.hash=t||"",this.vs="string"==typeof i?new jI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new UI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof jI),on(this.fs instanceof UI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Tae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:w,samplers:x}){if((w||x)&&(gn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),gn.priority>=e){const U=g?g.id:"default",D=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${U}`;gn.log(e,D)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const U=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(U)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){gn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!$oe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Pf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&Woe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new jI({handle:r});break;case 35632:i.fs=new UI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),gn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),gn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||gn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(ie=>this._getHash(ie.name)).sort(),g=o.map(ie=>this._getHash(ie)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),x=[],U=[];for(const ie of m)x.push(this._getHash(ie)),x.push(this._getHash(r[ie]));for(const ie of w)U.push(this._getHash(ie)),U.push(this._getHash(s[ie]));const D=`${u}/${h}D${x.join("/")}M${f.join("/")}I${U.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[D]){const ie=function(n,e){const{vs:t,fs:i}=e,r=uoe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:P0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Poe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[D]=new mU(this.gl,{hash:D,vs:ie.vs,fs:ie.fs,varyings:o,bufferMode:a}),this._getUniforms[D]=ie.getUniforms||(_e=>{}),this._useCounts[D]=0}return this._useCounts[D]++,this._programCache[D]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":w0.chrome?"Chrome":w0.safari?"Safari":w0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Dx||Dx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const kae=/^(.+)__LOCATION_([0-9]+)$/,Fae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Lae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Fae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,gn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=kae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return gn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function B0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=B0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let w;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${B0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${B0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function jae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||HI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:B0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function HI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?B0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Hae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function $ae(n,e){const{attributeMap:t=Hae}=e||{};return t&&t[n]||n}function Wae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Xae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(hx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||L0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=$ae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new lr(n,l),c],Wae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),gn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&gn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:x}=this,{onBeforeRender:U=vU,onAfterRender:D=vU}=this.props;U(),this.program.setUniforms(this.uniforms);const ie=this.program.draw(Object.assign(Xae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:w,instanceCount:x,offset:h?g:0}));return D(),gn.priority>=2&&this._logDrawCallEnd(c,l,i),ie}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return gn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Lae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:gn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${jae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&gn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&gn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);gn.table(e,s)(),gn.table(e,o)(),gn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),gn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class GI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Gse(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new roe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Ix(){}const Zae={onStart:Ix,onUpdate:Ix,onInterrupt:Ix,onEnd:Ix};class V0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},Zae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ole={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new GI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new V0(i),this.attribute=t,this.attributeInTransition=new AI(e,xn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new GI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=TI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),gx(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ale{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=GI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ole[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class fle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new ale(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=_le[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(xn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ox={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:ble}=Ox;function Ele(n,e){if(!n.transitions)return null;const t={},i=WI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Cle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ole(i[r],e[r])){t=n(i),e=i;break}return t}}function Rle(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function qI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],w=e[13],x=e[14],U=e[15],D=t*a-i*o,ie=t*l-r*o,_e=t*c-s*o,Pe=i*l-r*a,Ne=i*c-s*a,Ve=r*c-s*l,bt=u*w-h*m,xt=u*x-f*m,At=u*U-g*m,Bt=h*x-f*w,Wt=h*U-g*w,gt=f*U-g*x,mt=D*gt-ie*Wt+_e*Bt+Pe*At-Ne*xt+Ve*bt;return mt?(n[0]=(a*gt-l*Wt+c*Bt)*(mt=1/mt),n[1]=(r*Wt-i*gt-s*Bt)*mt,n[2]=(w*Ve-x*Ne+U*Pe)*mt,n[3]=(f*Ne-h*Ve-g*Pe)*mt,n[4]=(l*At-o*gt-c*xt)*mt,n[5]=(t*gt-r*At+s*xt)*mt,n[6]=(x*_e-m*Ve-U*ie)*mt,n[7]=(u*Ve-f*_e+g*ie)*mt,n[8]=(o*Wt-a*At+c*bt)*mt,n[9]=(i*At-t*Wt-s*bt)*mt,n[10]=(m*Ne-w*_e+U*D)*mt,n[11]=(h*_e-u*Ne-g*D)*mt,n[12]=(a*xt-o*Bt-l*bt)*mt,n[13]=(t*Bt-i*xt+r*bt)*mt,n[14]=(w*ie-m*Pe-x*D)*mt,n[15]=(u*Pe-h*ie+f*D)*mt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],w=e[12],x=e[13],U=e[14],D=e[15],ie=t[0],_e=t[1],Pe=t[2],Ne=t[3];return n[0]=ie*i+_e*a+Pe*h+Ne*w,n[1]=ie*r+_e*l+Pe*f+Ne*x,n[2]=ie*s+_e*c+Pe*g+Ne*U,n[3]=ie*o+_e*u+Pe*m+Ne*D,n[4]=(ie=t[4])*i+(_e=t[5])*a+(Pe=t[6])*h+(Ne=t[7])*w,n[5]=ie*r+_e*l+Pe*f+Ne*x,n[6]=ie*s+_e*c+Pe*g+Ne*U,n[7]=ie*o+_e*u+Pe*m+Ne*D,n[8]=(ie=t[8])*i+(_e=t[9])*a+(Pe=t[10])*h+(Ne=t[11])*w,n[9]=ie*r+_e*l+Pe*f+Ne*x,n[10]=ie*s+_e*c+Pe*g+Ne*U,n[11]=ie*o+_e*u+Pe*m+Ne*D,n[12]=(ie=t[12])*i+(_e=t[13])*a+(Pe=t[14])*h+(Ne=t[15])*w,n[13]=ie*r+_e*l+Pe*f+Ne*x,n[14]=ie*s+_e*c+Pe*g+Ne*U,n[15]=ie*o+_e*u+Pe*m+Ne*D,n}function Px(n,e,t){var o,a,l,c,u,h,f,g,m,w,x,U,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],w=e[9],x=e[10],U=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=w,n[10]=x,n[11]=U,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+f*r+x*s+e[14],n[15]=c*i+g*r+U*s+e[15]),n}function Nx(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function kx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],sce=[0,0,0],oce=[0,0,0],ace=Rx(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=PU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=kx([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,ice)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:sce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function PU(n,e,t=oce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class dce extends _x{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],w=n[14],x=n[15];return(e*o-t*s)*(h*x-f*w)-(e*a-i*s)*(u*x-f*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*x-f*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return qI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,w,x,U,D,ie,_e,Pe,Ne,Ve,bt,xt,At,Bt,Wt,gt,mt,jt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const YI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,XI=180/pc,KI=4003e4,Lx=85.051129;function Bx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*XI,i*XI]}function QI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/KI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/KI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=QI({longitude:t,latitude:i,highPrecision:!0}),u=Bx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*XI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function U0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Mce=Math.PI/180,Dce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],JI=[0,0,0],Oce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&D0(t.projectionMatrix,this.projectionMatrix)&&D0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=U0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Bx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?QI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const x=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:U,aspect:D,focalDistance:ie,near:_e,far:Pe}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Ne=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Px(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Nx(o,o,[r/=n,r,r]),s&&Px(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:x,altitude:w});f&&(Ne=(new qn).translate([512*f,0,0]).multiplyLeft(Ne)),super(xn(ot({},t),{width:g,height:m,viewMatrix:Ne,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:U,aspect:D,focalDistance:ie,near:_e,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(xn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=U0(i,this.pixelUnprojectionMatrix),o=Fx([],this.projectFlat(t),NU([],r)),a=Fx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Bx([a,BU(u,-Lx,Lx)]),f=Bx([c,BU(l,-Lx,Lx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const w=m[0]/g[0],x=m[1]/g[1],_e=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/w,(f[1]+h[1])/2+(s.bottom-s.top)/2/x]),Pe=Math.min(r,YI(Math.abs(Math.min(w,x))));return ed(Number.isFinite(Pe)),{longitude:_e[0],latitude:_e[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function eO(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=kx([],[o,a,l,1],t)),i){case ji.LNGLAT:return eO([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return eO([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return eO(jU(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Nce={10241:9987,10240:9729,10242:33071,10243:33071},tO={},Lce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||H0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>nO(n,e)},accessor:{validate(n,e){const t=Vx(n);return"function"===t||t===Vx(e.value)},equal:(n,e,t)=>"function"==typeof e||nO(n,e)},array:{validate:(n,e)=>e.optional&&!n||H0(n),equal:(n,e,t)=>t.compare?nO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,xn(ot({},e),{parameters:ot(ot(ot({},Nce),i),n.props.textureParameters)}));return tO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||tO[n.id]&&(n.delete(),delete tO[n.id])}(n)}}};function nO(n,e){if(n===e)return!0;if(!H0(n)||!H0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Kce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Yce]||{},i=e[qce]||e,r=e[Xce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Pj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=rO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const x=m,{dataTransform:U}=i.component?i.component.props:{};a=U?U(x,a):a.concat(x),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(x){u=!0,h=x}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:tz,ASYNC_RESOLVED:nz,ASYNC_DEFAULTS:Qce}=Ox,Zce={};let Jce=0,eue=(()=>{class n{constructor(){this.props=jce.apply(this,arguments),this.id=this.props.id,this.count=Jce++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Qce])s in i[nz]?r[s]=i[nz][s]:s in i[tz]&&(r[s]=i[tz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new ez({})}}return n.componentName="Component",n.defaultProps=Zce,n})();class tue extends ez{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,rz=n=>hh(n)&&n.constructor==={}.constructor,nue=n=>n&&"function"==typeof n[Symbol.iterator],iue=n=>n&&"function"==typeof n[Symbol.asyncIterator],$0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,sz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function sO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function oO(n){var e,t;let i;return Lf(n,"null loader"),Lf(sO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=xn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},aO=tu.global||tu.self||tu.window||{},cue="object"!=typeof process||"[object process]"!==String(process)||process.browser,oz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oz&&parseFloat(oz[1]);const cO={};function uue(n){for(const e in cO)n.startsWith(e)&&(n=n.replace(e,cO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const due=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,hue=/^([-\w.]+\/[-\w.+]+)/;function fue(n){const e=hue.exec(n);return e?e[1]:n}function az(n){const e=due.exec(n);return e?e[1]:""}const pue=/\?.*/;function Hx(n){if($0(n)){const e=uO(n.url||"");return{url:e,type:fue(n.headers.get("content-type")||"")||az(e)}}return em(n)?{url:uO(n.name||""),type:n.type||""}:"string"==typeof n?{url:uO(n),type:az(n)}:{url:"",type:""}}function gue(n){return $0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function uO(n){return n.replace(pue,"")}function lz(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if($0(n))return n;const e={},t=gue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=Hx(n);r&&(e["content-type"]=r);const s=yield yue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function mue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){if(!n.ok){const e=yield _ue(n);throw new Error(e)}})).apply(this,arguments)}function _ue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function yue(n){return pO.apply(this,arguments)}function pO(){return(pO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${bue(n.slice(0,5))}`:null})).apply(this,arguments)}function bue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const dz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Eue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function mO(){aO.loaders=aO.loaders||{};const{loaders:n}=aO;return n._state=n._state||{},n._state}const _O=()=>{const n=mO();return n.globalOptions=n.globalOptions||ot({},dz),n.globalOptions};function xue(n,e,t,i){return t=t||[],function(n,e){fz(n,null,dz,Eue,e);for(const t of e)fz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new vue),gz(r,_O()),gz(r,e),r}(e,n,i)}function hz(n,e){const t=_O(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>cz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:cz}function fz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)uz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Cue(a,r);uz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Cue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function gz(n,e){for(const t in e)t in e&&(n[t]=rz(e[t])&&rz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Mue(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Due=iu.global||iu.self||iu.window||{},yO="object"!=typeof process||"[object process]"!==String(process)||process.browser,bO="function"==typeof importScripts,Iue="undefined"!=typeof window&&void 0!==window.orientation,mz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vO=(mz&&parseFloat(mz[1]),new Map);function _z(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function yz(n,e=!0,t){const i=t||new Set;if(n)if(bz(n))i.add(n);else if(bz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)yz(n[r],e,i);return void 0===t?Array.from(i):[]}function bz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const wO=()=>{};class vz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=wO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=wO,this.onError=wO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||yz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=vO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_z(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vO.set(n.url,e)),n.source&&(e=_z(n.source),vO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Nue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class kue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Nue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return vz.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Fue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new kue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Bue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function Vue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function jue(n,e,t,i,r){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i,r){const s=n.id,o=Bue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Uue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Uue(n,e,t,i){return xO.apply(this,arguments)}function xO(){return(xO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var Ez=et(9521);function xz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Ez.toArrayBuffer?Ez.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function $ue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Sz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Wue(n){return CO.apply(this,arguments)}function CO(){return(CO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=rO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return $ue(...e)})).apply(this,arguments)}const Xue=262144;function Cz(n){this.wrapped=n}function W0(n){return new Cz(n)}function q0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Cz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function AO(n){return function(){return new q0(n.apply(this,arguments))}}function MO(){return(MO=AO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OO)}function ide(n,e,t){return RO.apply(this,arguments)}function RO(){return(RO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return nde(n,e);if(em(n)&&(n=yield lz(n)),$0(n)){const r=n;return yield mue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(sz(n)&&(n=tde(n,t)),nue(n)||iue(n))return Wue(n);throw new Error(OO)})).apply(this,arguments)}function sde(n,e,t=null){if(t)return t;const i=ot({fetch:hz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ode(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Az=()=>{const n=mO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Mz(n){const e=Az();n=Array.isArray(n)?n:[n];for(const t of n){const i=oO(t);e.find(r=>i===r)||e.unshift(i)}}const lde=/\.([^.]+)$/;function cde(n){return kO.apply(this,arguments)}function kO(){return(kO=li(function*(n,e=[],t,i){if(!Iz(n))return null;let r=Dz(n,e,xn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Dz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Oz(n));return r})).apply(this,arguments)}function Dz(n,e=[],t,i){if(!Iz(n))return null;if(e&&!Array.isArray(e))return oO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Az()),function(n){for(const e of n)oO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=Hx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&lde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(gde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Rz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Rz(e,0,t))return t;return null}(e,n),a=a||FO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Oz(n));return s}function Iz(n){return!(n instanceof Response&&204===n.status)}function Oz(n){const{url:e,type:t}=Hx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?LO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?LO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function gde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Rz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Tde={data:{type:"data",value:Sde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=xn(ot({},r),{fetch:xn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:Y0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):Y0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let X0=(()=>{class n extends eue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=PU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Rle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Cde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rPz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=M0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,Pz)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:WI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Cle(n,e),transitionsChanged:Ele(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=WI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new fle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new yle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Tde,n})(),Nz=(()=>{class n extends X0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U,_subLayerProps:D}=this.props,ie={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:x,fetch:U},_e=D&&D[t.id],Pe=_e&&_e.updateTriggers,Ne=t.id||"sublayer";if(_e){const Ve=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in _e){const At=bt[xt]||Ve[xt];At&&"accessor"===At.type&&(_e[xt]=this.getSubLayerAccessor(_e[xt]))}}Object.assign(ie,t,_e),ie.id="".concat(this.props.id,"-").concat(Ne),ie.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const Ve of x){const bt=Ve.getSubLayerProps.call(this,Ve);bt&&Object.assign(ie,bt,{updateTriggers:Object.assign(ie.updateTriggers,bt.updateTriggers)})}return ie}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=SI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Mde=/([0-9]+\.?[0-9]*)(%|px)/;function $x(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Mde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function Wx(n,e){return n.relative?Math.round(n.position*e):n.position}function K0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&K0(i,r)))return!1}return!0}class UO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=xn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):K0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:Wx(this._x,e),y:Wx(this._y,t),width:Wx(this._width,e),height:Wx(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=$x(e),this._y=$x(t),this._width=$x(i),this._height=$x(r)}}const Q0=()=>{},kz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Q0,onTransitionInterrupt:Q0,onTransitionEnd:Q0};class Dde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},kz),t),this.propsInTransition=null,this.transition=new V0(t.timeline),this.onViewStateChange=t.onViewStateChange||Q0,this.onStateChange=t.onStateChange||Q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},kz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Fz=["longitude","latitude","zoom","bearing","pitch"],Ode=["longitude","latitude","zoom"];class Lz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!D0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Fz,extract:Fz,required:Ode}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=mx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,mx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Rde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},Yx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class zO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Dde(e,xn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&xn(ot({},Rde),{transitionInterpolator:new Lz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,xn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,xn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,xn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:Yx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?xn(ot({},t),{transitionInterpolator:new Lz(xn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class Bz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Xx extends Bz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:x,startZoom:U},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(xn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Xx(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Nde extends zO{constructor(e){super(Xx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kde extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Xx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Fde=(new qn).lookAt({eye:[0,0,1]});function Lde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Bde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(xn(ot({},e),{longitude:null,position:a,viewMatrix:Fde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Lde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=Fx([],e,NU([],U0(t,this.pixelUnprojectionMatrix)));return{target:Fx([],this.center,r)}}}let Vde=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:Bde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrthographicView",n})();const Kx=Math.PI/180;function jde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Kx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Kx),"Z"===t?c.rotateZ(r*Kx):c.rotateY(r*Kx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Ude extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(xn(ot({},e),{longitude:null,viewMatrix:jde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=U0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let zde=(()=>{class n extends UO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(xn(ot({},t),{orbitAxis:i,type:Ude}))}get controller(){return this._getControllerProps({type:Nde})}}return n.displayName="OrbitView",n})();const Hde=[255,255,255],Gde=1;let $de=0;class Vz{constructor(e={}){const{color:t=Hde}=e,{intensity:i=Gde}=e;this.id=e.id||"ambient-".concat($de++),this.color=t,this.intensity=i,this.type="ambient"}}const Wde=[255,255,255],qde=1,Yde=[0,0,-1];let Xde=0;class jz{constructor(e={}){const{color:t=Wde}=e,{intensity:i=qde}=e,{direction:r=Yde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Xde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Uz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class HO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=zz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;upI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||zz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Jde extends HO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(xn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const the=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),nhe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),ihe="".concat(the,"\n").concat(nhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),rhe={},GO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ihe,getUniforms:function(n=rhe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=ace({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||rce,o}(n):{}}},lhe=Rx(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),che=Rx(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=U0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),uhe=[0,0,0,1],dhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$O={name:"shadow",dependencies:[GO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||uhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=lhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=che({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},mhe={color:[255,255,255],intensity:1},Hz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],_he=[0,0,0,200/255];class WO extends Uz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=_he,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=L0.getDefaultProgramManager(e),$O&&this.programManager.addDefaultModule($O)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($O),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=bhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class vhe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=Y0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class whe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new vhe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Ehe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},GO],xhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function She(n){const e=L0.getDefaultProgramManager(n);for(const t of Ehe)e.addDefaultModule(t);for(const t of xhe)e.addShaderHook(t);return e}const Ahe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Mhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new whe({gl:e,protocol:"deck://"}),this.context=xn(ot({},Ahe),{layerManager:this,gl:e,deck:t,programManager:e&&She(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Gz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=SI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Dhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=SI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!K0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=xn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Ohe extends Bz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie,normalize:_e}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:_e}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(xn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(xn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=YI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Rhe extends zO{constructor(e){e.dragMode=e.dragMode||"pan",super(Ohe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Phe=(()=>{class n extends UO{constructor(t){super(xn(ot({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Rhe})}}return n.displayName="MapView",n})();const Nhe=new WO;class khe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!K0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof WO)||this._internalEffects.push(Nhe)}}class Fhe extends HO{}const Wz={blendFunc:[1,0,32771,0],blendEquation:32774};class qz extends HO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,xn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Wz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:xn(ot({},Wz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Bhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Fhe(e),this.pickLayersPass=new qz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(xn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Vhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function jhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let x=0;x=0){const D=x+o-t,ie=D*D+w;ie<=u&&(u=ie,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const x=w.decodePickingColor(m),U=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:x,pickedX:o+(h/4-U*l),pickedY:a+U}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Vhe}function Yz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(w=>w.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Yz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=ot({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=Xz({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function Xz({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class Ghe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new qz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Yz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=rI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:w,height:x}=this.pickingFBO,U=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:x});let D;const ie=[],_e={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:U,width:w.x+w.width-g,height:m-U},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Ne=Number.isFinite(c);for(let Ve=0;Ve<_e.length&&!(Ne&&Pe.size>=c);Ve++){const bt=_e[Ve];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=Xz({layer:bt.pickedLayer,info:xt,mode:l}),Pe.has(xt.object)||Pe.set(xt.object,xt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return gx(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const $he={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class Whe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,$he),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function Kz(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Qz=su.global||su.self||su.window,Yhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Zz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Xhe}=(Zz&&parseFloat(Zz[1]),Qz),qO="undefined"!=typeof Image,YO="undefined"!=typeof ImageBitmap,Khe=Boolean(Xhe),XO=!!Yhe||Khe;function Jz(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function e4(n){switch(Jz(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const Jhe=/^data:image\/svg\+xml/,efe=/\.svg((\?|#).*)?$/;function KO(n){return n&&(Jhe.test(n)||efe.test(n))}function tfe(n,e){if(KO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return n4(n,e)}function n4(n,e){if(KO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function i4(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e,t){const i=tfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield nfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function nfe(n,e){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ife={};let r4=!0;function rfe(n,e,t){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e,t){let i;i=KO(t)?yield i4(n,e,t):n4(n,t);const r=e&&e.imagebitmap;return yield sfe(i,r)})).apply(this,arguments)}function sfe(n){return eR.apply(this,arguments)}function eR(){return(eR=li(function*(n,e=null){if((ofe(e)||!r4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),r4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function ofe(n){for(const e in n||ife)return!1;return!0}const ou=!1,Z0=!0;function tR(n){const e=J0(n);return function(n){const e=J0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=J0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Z0),height:e.getUint16(8,Z0)}:null}(e)||function(n){const e=J0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Z0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Z0),height:e.getUint32(22,Z0)}:null}(e)}function J0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function hfe(n,e){const{mimeType:t}=tR(n)||{},{_parseImageNode:i}=Qz;return Kz(i),i(n,t,e)}function nR(){return(nR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(pfe(r)){case"imagebitmap":a=yield rfe(n,e,s);break;case"image":a=yield i4(n,e,s);break;case"data":a=yield hfe(n,e);break;default:Kz(!1)}return"data"===r&&(a=e4(a)),a})).apply(this,arguments)}function pfe(n){switch(n){case"auto":case"data":return function(){if(YO)return"imagebitmap";if(qO)return"image";if(XO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return YO||qO||XO;case"imagebitmap":return YO;case"image":return qO;case"data":return XO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const iR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return nR.apply(this,arguments)},tests:[n=>Boolean(tR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const mfe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},eb="8.5.8",Qx=nm.CO.deck&&nm.CO.deck.VERSION;if(Qx&&Qx!==eb)throw new Error("deck.gl - multiple versions detected: ".concat(Qx," vs ").concat(eb));Qx||(Ri.log(1,"deck.gl ".concat(eb))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:eb,version:eb,log:Ri,_registerLoggers:function(n){MI=n}}),Mz([mfe,[iR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const _fe=nm.CO.deck;class Zx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Zx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const s4=px()&&"undefined"!=typeof document;let Afe=0;class Mfe{constructor(e={}){const{onCreateContext:t=(x=>XV(x)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Afe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(gn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Zx.isSupported(this.gl,["timers"])?new Zx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return gn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=s4?new Promise((e,t)=>{s4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!hx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(gn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(gn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Dfe=et(1524),Jx=et.n(Dfe);const Ife={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Jx().MouseInput);const Nfe=Jx().Manager,au=Jx(),kfe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,l4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Ffe={doubletap:["tap"]},Lfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},sR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Bfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},c4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Vfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let u4=!1;try{const n={get passive(){return u4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const jfe=-1!==Vfe.indexOf("firefox"),{WHEEL_EVENTS:Ufe}=sR,h4=4.000244140625;class Gfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Ufe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!u4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(jfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%h4==0&&(t=Math.floor(t/h4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:$fe}=sR,f4="pointermove",p4="pointerover",g4="pointerout",m4="pointerleave";class Wfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=$fe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===f4&&(this.enableMoveEvent=t),e===p4&&(this.enableOverEvent=t),e===g4&&(this.enableOutEvent=t),e===m4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:p4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:g4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:m4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:f4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:qfe}=sR,_4="keydown";class Yfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const b4="contextmenu";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===b4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:b4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Kfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},v4={srcElement:"root",priority:0};class lpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},v4,i):v4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&l4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Gfe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Wfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Yfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Xfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Ffe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=c4[e]||e;let c=a.get(l);c||(c=new lpe(this),a.set(l,c),c.recognizerName=Bfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(c4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Lfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const w4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class tS{constructor(e){e=ot(ot({},w4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&M0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!K0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Mfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(xn(ot(ot({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Phe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new Whe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Gz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new upe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in PV)this.eventManager.on(r,this._onEvent);this.viewManager=new Dhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Mhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new khe,this.deckRenderer=new Bhe(e),this.deckPicker=new Ghe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=xn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=PV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}tS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Uz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},tS.defaultProps=w4,tS.VERSION=_fe.VERSION;const nS={name:"project32",dependencies:[GO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ppe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},iS=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ppe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),E4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return E4}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=E4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const x4=()=>{},vpe={10241:9987,10240:9729,10242:33071,10243:33071};function wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Epe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function tb(n){return n&&(n.id||n.url)}function S4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(S4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&S4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:wpe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=A0(n);on(f);const{gl:m,handle:w}=f,x=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const U=m.bindFramebuffer(36160,w);on(e);let D=null;if(e instanceof Pf&&(D=e,u=Number.isFinite(u)?u:D.width,h=Number.isFinite(h)?h:D.height,D.bind(0),e=D.target),x)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);D&&D.unbind(),m.bindFramebuffer(36160,U||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,Y0(i.url,iR,this._loadOptions).then(r=>{const s=tb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Epe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const C4=[0,0,0,255],Ape={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:C4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Mpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.state={iconManager:new Tpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:C4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Ape,n})();const A4=[],Ipe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Ope=(()=>{class n extends Mpe{getShaders(){return xn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=xn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):A4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):A4}}return n.layerName="MultiIconLayer",n.defaultProps=Ipe,n})();var Rpe=et(1002),Ppe=et.n(Rpe);const kpe=[];function Fpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function M4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=M4(n,a,l,r);c+h>i&&(oi&&(h=D4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function jpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let w=0;w<=s;w++){const x=n[w];if(("\n"===x||w===s)&&(m=w),m>g){const U=c?Vpe(n,t,i,r,g,m):kpe;for(let D=0;D<=U.length;D++){const ie=0===D?g:U[D-1],_e=Di===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Wpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Ype(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=lR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=lR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,lR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");j4(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:x}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Fpe(a+(l+1)*h)}}(ot({getFontWidth:U=>f.measureText(U).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const U=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(U,0,0)}if(j4(f,r,o,s),l){const U=new(Ppe())(o,a,c,u,r,s),D=f.getImageData(0,0,U.size,U.size);for(const ie of t)Ype(U.draw(ie),D),f.putImageData(D,g[ie].x-a,g[ie].y+a)}else for(const U of t)f.fillText(U,g[U].x,g[U].y+.9*o);return{xOffset:w,yOffset:x,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Zpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Jpe=(()=>{class n extends X0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[nS,iS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,xn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Zpe,n})();const U4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},z4={start:1,middle:0,end:-1},H4={top:1,center:0,bottom:-1},cR=[0,0,0,255],tge=["fontSize","buffer","sdf","radius","cutoff"],nge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:cR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:O4},fontFamily:R4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:cR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:cR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let ige=(()=>{class n extends Nz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Xpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(xn(ot(ot({},U4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return tge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=vx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=I4(h,l,o,a,r);return[(z4["function"==typeof c?c(t,i):c]-1)*f/2,(H4["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[w,x]}=I4(h,l,o,a,r),U=z4["function"==typeof c?c(t,i):c],D=H4["function"==typeof u?u(t,i):u],ie=f.length,_e=new Array(2*ie);let Pe=0;for(let Ne=0;Net*e/255)}const dR={name:"lights",vs:G4,fs:G4,getUniforms:function $4(n=rge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?uR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=uR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=uR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},oge={};const lge={name:"phong-lighting",dependencies:[dR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=oge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},hR=Math.PI/180,rS=new Float32Array(16),Y4=new Float32Array(12);function X4(n,e,t){const i=e[0]*hR,r=e[1]*hR,s=e[2]*hR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function K4(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Q4={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let w;g?(rS.set(a),w=K4(rS)):(w=Y4,X4(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:x,objectInfo:U}=vx(i,e,t);for(const D of x){let ie;U.index++,g?(rS.set(c?a:a(D,U)),ie=K4(rS)):(ie=Y4,X4(ie,h?r:r(D,U),u?s:s(D,U)),ie.set(f?o:o(D,U),9)),m[w++]=ie[0],m[w++]=ie[1],m[w++]=ie[2],m[w++]=ie[3],m[w++]=ie[4],m[w++]=ie[5],m[w++]=ie[6],m[w++]=ie[7],m[w++]=ie[8],m[w++]=ie[9],m[w++]=ie[10],m[w++]=ie[11]}}}};function Z4(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function J4(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function dge(n,e){if(n.attributes)return J4(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return J4(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const hge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let fge=(()=>{class n extends X0{getShaders(){const t=!Ci(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[nS,lge,iS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q4}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Z4(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,xn(ot({},this.getShaders()),{id:this.props.id,geometry:dge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=hge,n})();const eH={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[dR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class nb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;gn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof nb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function tH(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],w=t[3],x=t[4],U=t[5],D=t[6],ie=t[7],_e=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=w*i+x*o+U*c,n[4]=w*r+x*a+U*u,n[5]=w*s+x*l+U*h,n[6]=D*i+ie*o+_e*c,n[7]=D*r+ie*a+_e*u,n[8]=D*s+ie*l+_e*h,n}function nH(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function iH(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function rH(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function sS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function sH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function oH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function aH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function lH(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function ib(n,e,t,i){var f,g,m,w,x,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-i)*f)/m,x=Math.sin(i*f)/m):(w=1-i,x=i),n[0]=w*r+x*l,n[1]=w*s+x*c,n[2]=w*o+x*u,n[3]=w*a+x*h,n}function cH(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function uH(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function pR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var dH=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},gR=IU,mR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},hH=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},fH=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},pH=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},mH=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(I0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&I0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),fR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(I0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();iH(),iH(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const xge=[0,0,0,1];class _R extends _x{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return pR(this,e),this.check()}identity(){return rH(this),this.check()}fromAxisRotation(e,t){return fR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get w(){return this[3]}set w(e){this[3]=ir(e)}len(){return fH(this)}lengthSquared(){return pH(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return mR(this,e)}rotationTo(e,t){return mH(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return dH(this,this,e),this.check()}calculateW(){return lH(this,this),this.check()}conjugate(){return uH(this,this),this.check()}invert(){return cH(this,this),this.check()}lerp(e,t,i){return hH(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),sS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),sS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=xge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),yx(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Sge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _H(n){if(!n._animation){const e=Cge[n.componentType],t=Sge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:gn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){yR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_H(e.accessors[a]),interpolation:l,output:_H(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Rge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Nge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class kge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(gn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function yH(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const Vge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},jge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Uge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},jge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Pge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new nb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new nb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new nb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){gn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new kge(n,e);gn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Nge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[eH],defines:a.defines,parameters:a.parameters,vs:yH(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:yH(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),gn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Vge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function bH(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=xH(xH(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function xH(n,e){return new Map([...n||new Map,...e||new Map])}let kr,SH,CH,TH,AH,MH,DH,IH;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class bR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,SH=Symbol.toStringTag;class om extends bR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[SH](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Qge extends om{constructor(){super(!0,8)}}class Zge extends om{constructor(){super(!0,16)}}class Jge extends om{constructor(){super(!0,32)}}class eme extends om{constructor(){super(!1,8)}}class tme extends om{constructor(){super(!1,16)}}class nme extends om{constructor(){super(!1,32)}}CH=Symbol.toStringTag;class OH extends bR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[CH](){return"Float"}toString(){return`Float${this.precision}`}}class ime extends OH{constructor(){super(32)}}class rme extends OH{constructor(){super(64)}}Symbol,Symbol,TH=Symbol.toStringTag,AH=Symbol.toStringTag,MH=Symbol.toStringTag,DH=Symbol.toStringTag,IH=Symbol.toStringTag;class sme extends bR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[IH](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class oS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new oS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function RH(n,e,t){const i=t?PH(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Qge;case Uint8Array:return new eme;case Int16Array:return new Zge;case Uint16Array:return new tme;case Int32Array:return new Jge;case Uint32Array:return new nme;case Float32Array:return new ime;case Float64Array:return new rme;default:throw new Error("array type not supported")}}(e.value);return new oS(n,new sme(e.size,new oS("value",r)),!1,i)}function PH(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const NH={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},cme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class dme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=PH(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=RH(o,n[o],s[o]);r.push(l)}if(t){const o=RH("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return xn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var aS=et(9125);const xR={};function SR(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n,e=null,t={}){return e&&(n=mme(n,e,t)),xR[n]=xR[n]||_me(n),yield xR[n]})).apply(this,arguments)}function mme(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:yO?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):bO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function _me(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():yO?bO?importScripts(n):yme(yield(yield fetch(n)).text(),n):aS.requireFromFile&&(yield aS.requireFromFile(n))})).apply(this,arguments)}function yme(n,e){if(!yO)return aS.requireFromString&&aS.requireFromString(n,e);if(bO)return eval.call(Due,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const bme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let rb;function xme(n){return AR.apply(this,arguments)}function AR(){return(AR=li(function*(n){const e=n.modules||{};return rb=e.draco3d?rb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):rb||Sme(n),yield rb})).apply(this,arguments)}function Sme(n){return DR.apply(this,arguments)}function DR(){return(DR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield SR(bme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield SR(vme,"draco",n),yield SR(wme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Cme(e,t)})).apply(this,arguments)}function Cme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(xn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const OR=xn(ot({},EH),{parse:function(n,e){return RR.apply(this,arguments)}});function RR(){return(RR=li(function*(n,e){const{draco:t}=yield xme(e),i=new dme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function ob(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Mme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+ob(i.byteLength,4)}const kH=["SCALAR","VEC2","VEC3","VEC4"],Dme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ime=new Map(Dme),Ome={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function FH(n){return kH[n-1]||kH[0]}function LH(n){const e=Ime.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function BH(n,e){const t=Pme[n.componentType],i=Ome[n.type],s=n.count*i,o=n.count*i*Rme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Nme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Nme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=BH(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=tR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=ob(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:FH(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:LH(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Mme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*$me(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function Wme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(cS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,cS)})).apply(this,arguments)}function qme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,cS,{}),e.addExtension(cS))}function Yme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Xme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Kme(n){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(uS);if(i){const r=Zme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,uS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=Jme(s.technique,e)),e.removeObjectExtension(s,uS)}e.removeExtension(uS)}})).apply(this,arguments)}function Qme(n,e){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e){})).apply(this,arguments)}function Zme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function Jme(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const UH={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Dt,KHR_techniques_webgl:dt};function e_e(n){return jR.apply(this,arguments)}function jR(){return(jR=li(function*(n,e={},t){for(const r in UH){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield UH[r].decode(n,e,t))}})).apply(this,arguments)}const zH={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},n_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class i_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,VH);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(VH)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in zH)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in zH)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=n_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function r_e(n,e={}){return(new i_e).normalize(n,e)}const s_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},o_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},a_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},l_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class d_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return o_e[n]}(e.componentType),e.components=function(n){return s_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=BH(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):l_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return a_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function h_e(n,e){return(new d_e).postProcess(n,e)}const HH=1735152710,lm=!0;function zR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),ob(i,4)}function HR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),ob(i,4)}function S_e(n,e){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t=0,i,r){var s,o,a,l;C_e(n,e,t,i),r_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield T_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=A_e(n,i,r);c.push(h)}const u=e_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?h_e(n,i):n})).apply(this,arguments)}function C_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=HH}=t,s=i.getUint32(e,!1);return s===r||s===HH}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?bH(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?bH(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),zR(n,e,t,i),(t+=i)+HR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:zR(n,e,t,r);break;case 5130562:HR(n,e,t,r);break;case 0:i.strict||zR(n,e,t,r);break;case 1:i.strict||HR(n,e,t,r)}t+=ob(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function T_e(n,e,t){return $R.apply(this,arguments)}function $R(){return($R=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield O_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function O_e(n){return KR.apply(this,arguments)}function KR(){return(KR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const GH=[255,255,255,255],N_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:GH},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let k_e=(()=>{class n extends X0{getShaders(){const t=[nS,iS];return"pbr"===this.props._lighting&&t.push(eH),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:GH,transition:!0},instanceModelMatrix:Q4})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Uge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return XR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Z4(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=N_e,n})();class F_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const U=i;i=(D,ie,_e,Pe,Ne)=>U}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let U=0;U<=e;U++)for(let D=0;D<=t;D++){const ie=D/t,_e=U/e,Pe=D+U*(t+1),Ne=2*Pe,Ve=3*Pe,bt=c*ie,xt=o*_e,At=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),mt=Bt*Wt,jt=Math.cos(xt),ft=At*Wt,Yt=i(mt,jt,ft,ie,_e);h[Ve+0]=Yt*mt,h[Ve+1]=Yt*jt,h[Ve+2]=Yt*ft,f[Ve+0]=mt,f[Ve+1]=jt,f[Ve+2]=ft,g[Ne+0]=ie,g[Ne+1]=1-_e}const x=t+1;for(let U=0;Us?(gt=i,Wt=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,Wt=0),gt-=i/2;for(let jt=0;jts?0:ft*w,Ve[xt+Pe[1]]=Bt<0?-1:Bt>s?1:x,Ve[xt+Pe[2]]=Bt<0||Bt>s?0:Yt*w,bt[At+0]=jt/r,bt[At+1]=Wt,At+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new ce){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new ce){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new ce){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new ce){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new ce){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=X_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=K_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(WH),WH.almostEquals(e,t)}clone(){return new ce(this.x,this.y,this.z)}}ce.ZERO=void 0,ce.UNIT_X=void 0,ce.UNIT_Y=void 0,ce.UNIT_Z=void 0,ce.ZERO=new ce(0,0,0),ce.UNIT_X=new ce(1,0,0),ce.UNIT_Y=new ce(0,1,0),ce.UNIT_Z=new ce(0,0,1);const X_e=new ce,K_e=new ce,WH=new ce;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new ce,this.upperBound=new ce,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const qH=new ce,YH=[new ce,new ce,new ce,new ce,new ce,new ce,new ce,new ce];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new ce){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=Z_e;e.tangents(i,J_e),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new ce){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,w,x,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),w=Math.sin((1-t)*f)/m,x=Math.sin(t*f)/m):(w=1-t,x=t),i.x=w*r+x*l,i.y=w*s+x*c,i.z=w*o+x*u,i.w=w*a+x*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const Z_e=new ce,J_e=new ce,eye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let mn=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=eye,n})();class Wi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new ce,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Wi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Wi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new ce){return i.vsub(e,r),t.conjugate(KH),KH.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new ce){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new ce){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new ce){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const KH=new us;class jf extends mn{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:mn.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new ce;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new ce,u=new ce,h=new ce,f=new ce,g=new ce,m=new ce;let w=Number.MAX_VALUE;const x=this;if(x.uniqueAxes)for(let U=0;U!==x.uniqueAxes.length;U++){i.vmult(x.uniqueAxes[U],c);const D=x.testSepAxis(c,e,t,i,r,s);if(!1===D)return!1;D0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,QR),jf.project(t,e,s,o,ZR);const l=QR[0],c=QR[1],u=ZR[0],h=ZR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?_n.STATIC:_n.DYNAMIC,typeof e.type==typeof _n.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=_n.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new ce,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new ce,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new ce,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new ce,this.invInertia=new ce,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new ce,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new ce(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new ce(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new ce,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=_n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===_n.SLEEPING&&this.dispatchEvent(_n.wakeupEvent)}sleep(){this.sleepState=_n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===_n.AWAKE&&ir?this.wakeUp():t===_n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(_n.sleepEvent))}}updateSolveMassProperties(){this.sleepState===_n.SLEEPING||this.type===_n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new ce){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new ce){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new ce,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=iye,o=rye,a=this.quaternion,l=this.aabb,c=sye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=oye,r=aye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=lye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=cye,r=uye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===_n.DYNAMIC&&(this.sleepState===_n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;this.sleepState===_n.SLEEPING&&this.wakeUp();const i=t,r=dye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=hye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new ce){if(this.type!==_n.DYNAMIC)return;const i=fye,r=pye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=gye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),hS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new ce;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==_n.DYNAMIC&&this.type!==_n.KINEMATIC||this.sleepState===_n.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,w=this.angularFactor,x=l.x*w.x,U=l.y*w.y,D=l.z*w.z;s.x+=e*(m[0]*x+m[1]*U+m[2]*D),s.y+=e*(m[3]*x+m[4]*U+m[5]*D),s.z+=e*(m[6]*x+m[7]*U+m[8]*D),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}_n.idCounter=0,_n.COLLIDE_EVENT_NAME="collide",_n.DYNAMIC=1,_n.STATIC=2,_n.KINEMATIC=4,_n.AWAKE=0,_n.SLEEPY=1,_n.SLEEPING=2,_n.wakeupEvent={type:"wakeup"},_n.sleepyEvent={type:"sleepy"},_n.sleepEvent={type:"sleep"};const iye=new ce,rye=new us,sye=new pr,oye=new lu,aye=new lu,lye=new ce,cye=new ce,uye=new ce,dye=new ce,hye=new ce,fye=new ce,pye=new ce,gye=new ce;new ce,new ce;class fS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new ce,this.rayToWorld=new ce,this.hitNormalWorld=new ce,this.hitPointWorld=new ce,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let QH,ZH,JH,e8,t8,n8,i8;QH=mn.types.SPHERE,ZH=mn.types.PLANE,JH=mn.types.BOX,e8=mn.types.CYLINDER,t8=mn.types.CONVEXPOLYHEDRON,n8=mn.types.HEIGHTFIELD,i8=mn.types.TRIMESH;class ys{get[QH](){return this._intersectSphere}get[ZH](){return this._intersectPlane}get[JH](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new ce,t=new ce){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new ce,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new fS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new fS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),nP.length=0,e.broadphase.aabbQuery(e,r8,nP),this.intersectBodies(nP),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Eye,s=xye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new ce(0,0,1);t.vmult(c,c);const u=new ce;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(o.lerp(a,x,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Mye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,x=m.distanceTo(this.to),U=c?c.length:u.length,D=this.result;for(let ie=0;!D.shouldStop&&iex||this.reportIntersection(a,va,s,r,_e)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Dye,l=kye,c=Fye,u=o8,h=Iye,f=Oye,g=Rye,m=Nye,w=Pye,x=e.indices,U=this.from,D=this.to,ie=this.direction;c.position.copy(i),c.quaternion.copy(t),Wi.vectorToLocalFrame(i,t,ie,h),Wi.pointToLocalFrame(i,t,U,f),Wi.pointToLocalFrame(i,t,D,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const _e=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Ne=l.length;!this.result.shouldStop&&Pe!==Ne;Pe++){const Ve=l[Pe];e.getNormal(Ve,a),e.getVertex(x[3*Ve],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(x[3*Ve+1],uu),e.getVertex(x[3*Ve+2],du);const At=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||At>_e||(Wi.vectorToWorldFrame(t,a,w),Wi.pointToWorldFrame(i,t,va,m),this.reportIntersection(w,m,s,r,Ve))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends oe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){Mz([EH,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function oP(n,e){return Vi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Gx(i,cm,{DracoLoader:OR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Lve(n,e){return Vi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function aP(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new F_e;break;case"cone":i=new j_e;break;case"cylinder":i=new U_e;break;case"cube":default:i=new q_e}return new fge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new ige(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Vve=(()=>{class n extends Nz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=oP({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new k_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Lve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(aP(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(aP(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(aP(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Vi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new ce(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield Y0(o.scenegraph,cm,{DracoLoader:OR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...f.map((m,w)=>Math.min(m,g[w]))),upperBound:new ce(...g.map((m,w)=>Math.max(m,f[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e5(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e5(t,e);return e}let Uve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Vve({}),this.nodeClickSubject=new oe,this.nodeHoverStartSubject=new oe,this.nodeHoverStopSubject=new oe,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new oe,this.nodeDragSubject=new oe,this.nodeDragEndSubject=new oe,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Vde({flipY:!1,near:-1e3}):new zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new WO({ambientLight:new Vz({color:[255,255,255],intensity:10})})]),this.deck=new tS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Vi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return Vi(this,void 0,void 0,function*(){Q8();const i=yield oP({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)fm(o,e=new qn(e||qn.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new qn(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const u of a.mesh.primitives)if(u.attributes.POSITION&&u.attributes.POSITION.min){const h=l.transformAsPoint(u.attributes.POSITION.min,[]),f=l.transformAsPoint(u.attributes.POSITION.max,[]);c.bbox=new pr({lowerBound:new ce(...h.map((g,m)=>Math.min(g,f[m]))),upperBound:new ce(...f.map((g,m)=>Math.max(g,h[m])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of e5(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,u=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new ce(.5,.5,.5)),h=o.center=a.clone().vadd(u);o.transformMatrix=new qn(qn.IDENTITY).translate(h.toArray()).scale(u.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t5 extends y{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class zve extends y{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n5(n,e,t,i,r=new zve(n,t,i)){if(!r.closed)return e instanceof O?e.subscribe(r):Me(e)(r)}const i5={};function yc(...n){let e,t;return Te(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0]),In(n,t).lift(new r5(e))}class r5{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Hve(e,this.resultSelector))}}class Hve extends t5{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i5),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let lP=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const cP=new Ht("INITIAL_STATE_TOKEN");let Xve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s5=new Ht("Internals.StateContextFactory"),o5=new Ht("Internals.StateFactory");function pb(...n){if(1===n.length){const e=n[0];if(k(e))return xS(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return xS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return xS(n=1===n.length&&k(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return xS(n,null)}function xS(n,e){return new O(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new Kve(n,e))}}class Kve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Qve(e,this.predicate,this.thisArg))}}class Qve extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a5=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?v0():e.lift(new Jve(n))}class Jve{constructor(e){if(this.total=e,this.total<0)throw new a5}call(e,t){return t.subscribe(new ewe(e,this.total))}}class ewe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l5(n,e){return e?t=>t.pipe(l5((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new twe(n))}class twe{constructor(e){this.project=e}call(e,t){return t.subscribe(new nwe(e,this.project))}}class nwe extends we{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function SS(n=null){return e=>e.lift(new iwe(n))}class iwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new rwe(e,this.defaultValue))}}class rwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new swe(n),r=t.lift(i);return i.caught=r}}class swe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new owe(e,this.selector,this.caught))}}class owe extends we{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new awe(n))}class awe{constructor(e){this.notifier=e}call(e,t){const i=new lwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class lwe extends we{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new cwe(n,e,t))}}class cwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new uwe(e,this.nextOrObserver,this.error,this.complete))}}class uwe extends y{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new dwe(n,e))}class dwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new hwe(e,this.compare,this.keySelector))}}class hwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c5=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return fn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return fn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof fn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Xc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const u5=new Ht("ROOT_STATE_TOKEN"),d5=new Ht("FEATURE_STATE_TOKEN"),h5=new Ht("NGXS_PLUGINS"),f5=new Ht("NG_TEST_MODE"),p5=new Ht("NG_DEV_MODE"),cd="NGXS_META",g5="NGXS_OPTIONS_META",uP="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c5}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class fwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m5=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _5=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},CS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),dP=n=>n&&"object"==typeof n&&!Array.isArray(n),hP=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(dP(n)&&dP(t))for(const i in t)dP(t[i])?(n[i]||Object.assign(n,{[i]:{}}),hP(n[i],t[i])):Object.assign(n,{[i]:t[i]});return hP(n,...e)};function fP(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return gb(n)}function gb(n){return n[cd]}function gP(n){return n[uP]}function y5(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Swe(){return me(n=>n.action)}function TS(n){return e=>new O(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let AS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Awe extends oe{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let MS=(()=>{class n extends Awe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mwe=(()=>{class n extends O{constructor(t,i){super(r=>{const s=t.pipe(TS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const v5=n=>(...e)=>n.shift()(...e,(...i)=>v5(n)(...i));let DS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mP=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(h5,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_P=(()=>{class n extends oe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),w5=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(TS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):pb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v5([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l5(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(MS),Ie(_P),Ie(mP),Ie(DS),Ie(AS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E5=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E5(n[i])}),n};let x5=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Ie(p5),Ie(f5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S5=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Ie(x5),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E5(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(w5),Ie(Wf),Ie(S5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),IS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return CS(l,t.path)}function s(l,c){const u=_5(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b5(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class OS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=gb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}OS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=ES(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y5(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(OS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_5(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),V(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),SS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof O?(u=u.pipe(SS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(wwe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),pb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=OS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==CS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(Wf),Ie(n,12),Ie(MS),Ie(_P),Ie(IS),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),yP=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),cr(()=>this.invokeInit(i.states)),V(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b5(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm),Ie(IS),Ie(lP))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const RS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Iwe(n,e,t){const i=t&&t.containerClass,s=ES(function(...c){const u=e.apply(i,c);return u instanceof Function?ES.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(uP)||Object.defineProperty(n,uP,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),gP(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},RS_getOptions(n.containerClass)||{},RS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&gb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T5(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T5(n){const e=gP(n)||gb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),TS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(TS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T5(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(DS),Ie(gm),Ie(Wf),Ie(AS),Ie(mm),Ie(cP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class kwe{static get type(){return"@@INIT"}}class Fwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const PS=new Df(1);let Bwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();PS.next(t)}catch(n){PS.next(!1)}finally{PS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new kwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Ie(mm),Ie(gm),Ie(hu),Ie(mb),Ie(u5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),Vwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Fwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(gm),Ie(mm),Ie(d5,8),Ie(yP))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Bwe,providers:[mm,IS,Mwe,MS,lP,S5,x5,yP,w5,_P,gm,AS,hu,DS,mb,mP,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Vwe,providers:[mm,mP,...e,{provide:d5,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f5,useValue:Yve},{provide:p5,useValue:fa},{provide:m5,useClass:t.executionStrategy||c5},{provide:u5,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:OE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[lP]},{provide:cP,useFactory:Yo.getInitialState},{provide:s5,useExisting:IS},{provide:o5,useExisting:mm}]}static ngxsConfigFactory(e){return hP(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Xve.pop()}}function bP(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=fP(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A5(n){return i=>{!function(n){PS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=fP(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g5]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;OS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g5]=a}}function NS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y5(t.length?[e,...t]:e.split("."),mb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!mb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return mb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Iwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const YS=new cc(ox);class qEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new YEe(e,this.dueTime,this.scheduler))}}class YEe extends y{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(XEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function XEe(n){n.debouncedNext()}class KEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new QEe(e,this.total))}}class QEe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function XS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof pn?n.nativeElement:n}let HP;try{HP="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){HP=!1}let Tb,Xf,GP,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!HP)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc))},n.\u0275prov=We({factory:function(){return new n(Ie(Xc))},token:n,providedIn:"root"}),n})(),Cb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Tb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Tb=!0}))}finally{Tb=Tb||!1}return Tb}()?n:!!n.capture}function F6(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function QS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let $P=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),L6=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new O(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new oe,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(Ie($P))},n.\u0275prov=We({factory:function(){return new n(Ie($P))},token:n,providedIn:"root"}),n})(),WP=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=YS){return t=>t.lift(new qEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Ce(L6),Ce(pn),Ce(fn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),ZS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[$P]}),n})(),$6=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===q6(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=q6(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||W6(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi))},token:n,providedIn:"root"}),n})();function W6(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function q6(n){if(!W6(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class _xe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let Y6=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new _xe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Ie($6),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie($6),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();function X6(n){return 0===n.offsetX&&0===n.offsetY}function K6(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Q6=new Ht("cdk-input-modality-detector-options"),Exe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let J6=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(X6(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{K6(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},Exe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new KEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn),Ie(Q6,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),tC=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new oe,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==GP){const n="undefined"!=typeof document?document.head:null;GP=!(!n||!n.createShadowRoot&&!n.attachShadow)}return GP}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new oe,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(J6),Ie(hn,8),Ie(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",YP="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(YP),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(YP),t.add(iG)):2===i&&(t.add(YP),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(hn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(hn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Ie(oG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(oG,8))},token:n,providedIn:"root"}),n})(),Mb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function nC(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Te(e)?(n.pop(),t=>nC(n,t,e)):t=>nC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){uG(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function KP(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let eN=(n,e)=>!1,tN=(n,e)=>!1,gG=(n,e,t)=>[];const mG=KP();(mG||"undefined"!=typeof Element)&&(eN=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),tN=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):tN}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return nN(t)}matchesElement(t,i){return iN(t,i)}containsElement(t,i){return rN(t,i)}query(t,i,r){return sN(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iC{}iC.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=uN(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KP()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=uN(t);n.style[i]=""}),KP()&&SG(n))}const Fxe=/-+([a-z0-9])/g;function uN(n){return n.replace(Fxe,(...e)=>e[1].toUpperCase())}function Lxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),rCe=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,Ui=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(Ie(sG),Ie(rCe,8),Ie(hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Mb],Mb]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function EC(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class _Ce{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},CN=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class bCe{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new _Ce(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=X6(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,CN)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,CN)}))}}const ECe=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new bCe(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(fn),Ce(Zi),Ce(ECe,8),Ce(Qa,8))},n.\u0275dir=Nt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ui,Cb],Ui]}),n})();function gd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(me(r=>k(r)?i(...r):i(r))):new O(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let kCe=1;const FCe=Promise.resolve(),CC={};function x$(n){return n in CC&&(delete CC[n],!0)}const S$={setImmediate(n){const e=kCe++;return CC[e]=!0,FCe.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof O||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class UCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new zCe(e,this.durationSelector))}}class zCe extends we{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!k(n)&&n-parseFloat(n)+1>=0}function GCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function TC(n,e=YS){return function(n){return function(t){return t.lift(new UCe(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Te(e)&&(t=e),Te(t)||(t=YS),new O(r=>{const s=C$(n)?n:+n-t.now();return t.schedule(GCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new oe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new O(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(TC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Zi),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Zi),Ie(hn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new oe,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(TC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zi),Ie(fn),Ie(hn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Zi),Ie(fn),Ie(hn,8))},token:n,providedIn:"root"}),n})();class DN{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class MC extends DN{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Pm extends DN{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class a1e extends DN{constructor(e){super(),this.element=e instanceof pn?e.nativeElement:e}}class DC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof MC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Pm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof a1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class l1e extends DC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends DC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Ce(El),Ce(Rs),Ce(hn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[wn]}),n})();const N$=F6();class h1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),N$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),N$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class f1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class k${enable(){}disable(){}attach(){}}function IN(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class p1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IN(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let g1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new f1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new h1e(this._viewportRuler,this._document),this.reposition=o=>new p1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(Om),Ie(Rm),Ie(fn),Ie(hn))},token:n,providedIn:"root"}),n})();class OC{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class m1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class _1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),y1e=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn))},n.\u0275prov=We({factory:function(){return new n(Ie(hn))},token:n,providedIn:"root"}),n})(),b1e=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Zi))},n.\u0275prov=We({factory:function(){return new n(Ie(hn),Ie(Zi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Rb=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new oe,this._outsidePointerEvents=new oe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;XS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Nn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",w1e=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new oe,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,f,g),x=m*w;return{visibleArea:x,isCompletelyWithinViewport:s.width*s.height===x,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:IN(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:IN(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&XS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof pn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(w1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class E1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new m1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class x1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let S1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new x1e}connectedTo(t,i,r){return new E1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},n.\u0275prov=We({factory:function(){return new n(Ie(Rm),Ie(hn),Ie(Zi),Ie(Rb))},token:n,providedIn:"root"}),n})(),C1e=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new OC(t);return o.direction=o.direction||this._directionality.value,new v1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+C1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new l1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Ie(g1e),Ie(Rb),Ie(El),Ie(S1e),Ie(y1e),Ie(Hn),Ie(fn),Ie(hn),Ie(Il),Ie(kg),Ie(b1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new NN(e,this.delay,this.scheduler))}}class NN extends y{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(NN.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new rTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class rTe{constructor(e,t){this.time=e,this.notification=t}}function oW(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new $Te(n))}et(7266);class $Te{constructor(e){this.callback=e}call(e,t){return t.subscribe(new WTe(e,this.callback))}}class WTe extends y{constructor(e,t){super(e),this.add(new C(t))}}class fW{}class pW{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof mu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class qTe{encodeKey(e){return gW(e)}encodeValue(e){return gW(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const XTe=/%(\d[a-f0-9])/gi,KTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function gW(n){return encodeURIComponent(n).replace(XTe,(e,t)=>{var i;return null!==(i=KTe[t])&&void 0!==i?i:e})}function mW(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new qTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(mW(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(mW(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function _W(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function yW(n){return"undefined"!=typeof Blob&&n instanceof Blob}function bW(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Pb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Pb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class FN{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class LN extends FN{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new LN({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class PC extends FN{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new PC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class vW extends FN{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function BN(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Pb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Pb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return V(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Pb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof PC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,BN(r,i))}post(t,i,r={}){return this.request("POST",t,BN(r,i))}put(t,i,r={}){return this.request("PUT",t,BN(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fW))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class wW{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const EW=new Ht("HTTP_INTERCEPTORS");let JTe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const eAe=/^\)\]\}',?\n/;let xW=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new O(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",w=new mu(r.getAllResponseHeaders()),x=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new LN({headers:w,status:g,statusText:m,url:x}),o},l=()=>{let{headers:g,status:m,statusText:w,url:x}=a(),U=null;204!==m&&(U=void 0===r.response?r.responseText:r.response),0===m&&(m=U?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof U){const ie=U;U=U.replace(eAe,"");try{U=""!==U?JSON.parse(U):null}catch(_e){U=ie,D&&(D=!1,U={error:_e,text:U})}}D?(i.next(new PC({body:U,headers:g,status:m,statusText:w,url:x||void 0})),i.complete()):i.error(new vW({error:U,headers:g,status:m,statusText:w,url:x||void 0}))},c=g=>{const{url:m}=a(),w=new vW({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(w)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(Ie(oV))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const VN=new Ht("XSRF_COOKIE_NAME"),jN=new Ht("XSRF_HEADER_NAME");class SW{}let nAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(Ie(hn),Ie(Xc),Ie(VN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),UN=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(SW),Ie(jN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),iAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(EW,[]);this.chain=i.reduceRight((r,s)=>new wW(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pW),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:UN,useClass:JTe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:VN,useValue:t.cookieName}:[],t.headerName?{provide:jN,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[UN,{provide:EW,useExisting:UN,multi:!0},{provide:SW,useClass:nAe},{provide:VN,useValue:"XSRF-TOKEN"},{provide:jN,useValue:"X-XSRF-TOKEN"}]}),n})(),CW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:fW,useClass:iAe},xW,{provide:pW,useExisting:xW}],imports:[[rAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const sAe=["*"];function TW(n){return Error(`Unable to find icon with the name "${n}"`)}function AW(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function MW(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let NC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw MW(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw MW(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw AW(t);const r=this._cachedIconsByUrl.get(i);return r?sn(kC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>kC(s)))}getNamedSvgIcon(t,i=""){const r=DW(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(TW(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(kC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>kC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):pb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw TW(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(DW(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),IW=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],fAe=IW.map(n=>`[${n}]`).join(", "),pAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends cAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(fAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(pAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(NC),yo("aria-hidden"),Ce(uAe),Ce(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[wn],ngContentSelectors:sAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})();function CAe(n,e){}class HN{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const TAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let AAe=(()=>{class n extends DC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=QS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=QS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=QS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(Y6),Ce(Mr),Ce(hn,8),Ce(HN),Ce(vc))},n.\u0275dir=Nt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[wn]}),n})(),MAe=(()=>{class n extends AAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&dE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),pE("@dialogContainer",i._state))},features:[wn],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,CAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[TAe.dialogContainer]}}),n})(),DAe=0;class FC{constructor(e,t,i="mat-dialog-"+DAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new oe,this._afterClosed=new oe,this._beforeClosed=new oe,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),GN(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():GN(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function GN(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const PW=new Ht("MatDialogData"),IAe=new Ht("mat-dialog-default-options"),NW=new Ht("mat-dialog-scroll-strategy");let PAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new oe,this._afterOpenedAtThisLevel=new oe,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new O(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):v0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new HN)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new OC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:HN,useValue:i}]}),o=new MC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Pm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new MC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,En.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Ce(Ec),Ce(Hn),Ce(void 0),Ce(void 0),Ce(Rb),Ce(void 0),Ce(Du),Ce(Du),Ce(Ht))},n.\u0275dir=Nt({type:n}),n})(),kb=(()=>{class n extends PAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,FC,MAe,PW)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ec),Ie(Hn),Ie(kg,8),Ie(IAe,8),Ie(NW),Ie(n,12),Ie(Rb))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kAe=0,kW=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+kAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC,8),Ce(pn),Ce(kb))},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),FW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const WN=new Ht("CdkAccordion");let BAe=0,jAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+BAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(WN,12),Ce(Mr),Ce(A$))},n.\u0275dir=Nt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:WN,useValue:void 0}])]}),n})();const zAe=["body"];function HAe(n,e){}const GAe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$Ae=["mat-expansion-panel-header","*","mat-action-row"];function WAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const qAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],YAe=["mat-panel-title","mat-panel-description","*"],qN=new Ht("MAT_ACCORDION"),BW="225ms cubic-bezier(0.4,0.0,0.2,1)",VW={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))])};let XAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),KAe=0;const jW=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let UW=(()=>{class n extends jAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new oe,this._headerId="mat-expansion-panel-header-"+KAe++,this._bodyAnimationDone=new oe,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Qi(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Pm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Ce(qN,12),Ce(Mr),Ce(A$),Ce(Rs),Ce(hn),Ce(Qa,8),Ce(jW,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,Vt(),t)}(r,XAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(zAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:qN,useValue:void 0}]),wn,Li],ngContentSelectors:$Ae,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr(GAe),oi(0),wt(1,"div",0,1),Cn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,HAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[VW.bodyExpansion]},changeDetection:0}),n})();class ZAe{}const JAe=EC(ZAe);let zW=(()=>{class n extends JAe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Nn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Ce(UW,1),Ce(pn),Ce(vc),Ce(Mr),Ce(jW,8),Ce(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Cn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Hy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[wn],ngContentSelectors:YAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(qAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,WAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[VW.indicatorRotate]},changeDetection:0}),n})();var HW=et(5478);Object.create(Error.prototype);const rMe=["*"];var BC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(BC||(BC={})),BC))();class oMe{}const $W=new Ht("SECURITY_CONTEXT");let YN=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new HW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=HW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc),Ie($W),Ie(_u,8),Ie(oMe,8),Ie(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,BC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sk(i)?t(...i):t(i))):new O(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function XN(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new fMe(n,t))}}class fMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new pMe(e,this.observables,this.project))}}class pMe extends t5{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class gMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new mMe(e,this.accumulator,this.seed,this.hasSeed))}}class mMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class bMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new vMe(e,this.predicate))}}class vMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const wMe=["youtubeContainer"];let KW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new oe,this._destroyed=new oe,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new oe;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(XN(yc([i,r])),me(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return ue(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new r5(e))}(n),function(n){return e=>e.lift(new bMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new gMe(n,e,t))}}(AMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),V(e=>e?QW(e)?sn(e):new O(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{QW(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new oe));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(QN(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(QN(n,(u,h)=>!!u&&u.videoId!==h));Nn(n.pipe(QN(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(XN(yc([n,e,o,r])),me(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?qW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new O(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Ce(fn),Ce(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(wMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function AMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function QW(n){return"getPlayerStatus"in n}function QN(n,e){return ue(XN(n),Qi(([t,i])=>e(i,t)),me(([t])=>t))}let LMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Lb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function ZN(n){return Boolean(n)}function t7(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const jC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&jC(n[o])}),n};function n7(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s7="NGXS_DATA_META",ek="NGXS_META",o7="NGXS_ARGUMENT_REGISTRY_META";let a7=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Bb(n){return n[s7]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(fn),n.factory=i,n.context=r,n.computed=t.get(a7)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(o5),Ie(s5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Bb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=We({token:hs,factory:hs.\u0275fac}),new Df(1);class rDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l7(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c7(n){var e;const t=l7(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t7(void 0===t.defaults?{}:t.defaults);if(i.length){if(n7(s))return function(n,e){return e.reduce((t,i)=>{const r=l7(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c7(i),t},null!=n?n:{})}(s,i);throw new rDe(s)}return s}function d7(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h7(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function lDe(n){let e=!1;return Im(n)&&(e=!0),e}function tk(n){return n[o7]}class cDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class uDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(ZN(this.argumentMap.has(e))||ZN(this.payloadMap.has(e)))throw new cDe(e,t)}}function mDe(n){return{enumerable:!0,configurable:!0,get(){const e=Bb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f7(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n7(i))for(;null!==i;){if(Lb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d7(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d7(n)}(this),o=null==s?void 0:s.get(i);if(Lb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h7()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h7(),isObservable:lDe(l)}),l}return o.value},t}}const EDe={cancelUncompleted:!0,insideZone:!1};function nk(n=EDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=tk(r);if(Za(h)){const D=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),ie=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var D;return Lb(n.insideZone)?null===(D=el.ngZone)||void 0===D||D.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(me(()=>l)):l};const x=hs.createAction(h,o,g),U=el.store.dispatch(x);return Im(l)?function(n,e){return pb([n,e]).pipe(me(t=>t.pop()))}(U,l):l},i}}function p7(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(tk(t))&&Object.defineProperties(t,{[o7]:{enumerable:!0,configurable:!0,value:new uDe}}),tk(t)})(e,t).createPayloadType(r,t,i)}}function SDe(){return n=>{const e=function(n){if(function(n){return!ZN(n)}(n.hasOwnProperty(ek))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ek,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[ek]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Bb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s7,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Bb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t7(t)},context:mDe(n)})}(n,e,c7(n)),function(n){var e,t;const i=Bb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(me(o=>fa()?jC(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let TDe=(()=>{class n{constructor(){this.browserStorageEvents$=new oe,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),ADe=(()=>{class n extends TDe{get snapshot(){return function(n){return fa()?jC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?jC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([nk(),wV(0,p7("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([nk(),wV(0,p7("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([nk(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),g9=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),Ck=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),VOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(Ck))}),Tk=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(Ck),Bc(VOe))});let Yb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(zm),Ie(hn),Ie(Tk))},n.\u0275prov=We({factory:function(){return new n(Ie(zm),Ie(hn),Ie(Tk))},token:n,providedIn:"root"}),n})(),m9=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Ce(g9,8),Ce(Yb),Ce(zm),Ce(pn))},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const UOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Vi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,Tk,hn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let s1=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},UOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),a1=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),eRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(Ck),Ie(zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const tRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),S9=[a1,eRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(a1),Ie(tRe))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})()];function iRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let sRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=s1.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[iRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...S9,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:S9}],imports:[[s1]]}),n})();const cRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),uRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},dRe=new oe;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Nn(dRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:v0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||cRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||uRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(w=>n.cacheResolver(w.parameters,f));const m=a.find(w=>n.cacheResolver(w.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const w=sn(g.response);return n.async?w.pipe(function(n,e=YS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new iTe(i,e))}(0)):w}if(m)return m.response;{const w=s.call(this,...u).pipe(kN(()=>{const x=a.find(U=>n.cacheResolver(U.parameters,f));a.splice(a.indexOf(x),1)}),cr(x=>{(!n.shouldCacheDecider||n.shouldCacheDecider(x))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:w,created:new Date}),w}}}return i}}class hRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const C9=new Ht("basePath");class Xb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let T9=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Xb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new hRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,w=t.sex,x=t.spatial,U=t.technologies,D=t.token;let ie=new Lr({encoder:this.encoder});null!=a&&(ie=this.addToHttpParams(ie,a,"age")),null!=l&&(ie=this.addToHttpParams(ie,l,"age-range")),null!=c&&(ie=this.addToHttpParams(ie,c,"bmi")),null!=u&&(ie=this.addToHttpParams(ie,u,"bmi-range")),null!=h&&(ie=this.addToHttpParams(ie,h,"cache")),f&&f.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"ontology-terms")}),g&&g.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"cell-type-terms")}),null!=o&&(ie=this.addToHttpParams(ie,o,"organ-iri")),m&&m.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"providers")}),null!=w&&(ie=this.addToHttpParams(ie,w,"sex")),x&&x.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"spatial")}),U&&U.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"technologies")}),null!=D&&(ie=this.addToHttpParams(ie,D,"token"));let _e=this.defaultHeaders,Pe=s&&s.httpHeaderAccept;void 0===Pe&&(Pe=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Pe&&(_e=_e.set("Accept",Pe));let Ne=s&&s.context;void 0===Ne&&(Ne=new Zs);let Ve="json";return Pe&&(Ve=Pe.startsWith("text")?"text":this.configuration.isJsonMime(Pe)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ne,params:ie,responseType:Ve,withCredentials:this.configuration.withCredentials,headers:_e,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let w="json";return h&&(w=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:w,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,w=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),w&&w.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u),Ie(C9,8),Ie(Xb,8))},n.\u0275prov=We({factory:function(){return new n(Ie(_u),Ie(C9,8),Ie(Xb,8))},token:n,providedIn:"root"}),n})(),fRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Xb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let Mk;function Cc(){return Mk||(Mk=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),Mk}function A9(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var Un=et(1440);const l1="Unknown Euler angle order",Hm=.99999;class Ji extends _x{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(f,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=ir(e)}get y(){return this[1]}set y(e){this[1]=ir(e)}get z(){return this[2]}set z(e){this[2]=ir(e)}get alpha(){return this[0]}set alpha(e){this[0]=ir(e)}get beta(){return this[1]}set beta(e){this[1]=ir(e)}get gamma(){return this[2]}set gamma(e){this[2]=ir(e)}get phi(){return this[0]}set phi(e){this[0]=ir(e)}get theta(){return this[1]}set theta(e){this[1]=ir(e)}get psi(){return this[2]}set psi(e){this[2]=ir(e)}get roll(){return this[0]}set roll(e){this[0]=ir(e)}get pitch(){return this[1]}set pitch(e){this[1]=ir(e)}get yaw(){return this[2]}set yaw(e){this[2]=ir(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(l1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new _R;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(l1)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!MRe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var u1=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function FRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Kb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+FRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return P9.copy(o).scale((-i+l)/a).add(t),this.center.copy(P9),this.radius=l,this}expand(e){const t=(e=Qb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Qb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Qb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return gR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ZRe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return ib(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),M9(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const JRe=new Pn,ePe=new Pn,d1=new Pn,h1=new Pn,f1=new Pn,tPe=new Pn,nPe=new Pn;class kk{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new k9).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new k9(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new kk(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Nk){const t=this.halfAxes,i=t.getColumn(0,d1),r=t.getColumn(1,h1),s=t.getColumn(2,f1),o=JRe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=ePe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,d1),s=i.getColumn(1,h1),o=i.getColumn(2,f1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,d1),c=a.getColumn(1,h1),u=a.getColumn(2,f1),h=tPe.copy(l).add(c).add(u).add(o),f=nPe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,d1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,h1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,f1);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const F9=new Pn,L9=new Pn;class Fk{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=F9.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Kb(this.normal.len(),1)),this.distance=r,this}clone(e){return new Fk(this.normal,this.distance)}equals(e){return Kb(this.distance,e.distance)&&Kb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=L9.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=F9.from(e);const i=this.getPointDistance(e),r=L9.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*zk(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,u1.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,u1.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new Fk(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Pn,new Pn,new Pn,new Pn,new Pn,new Zo,new Zo,new Zo;const Ni=Un.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},Un.DataFactory),U9={x:Ni("rdf"),type:Ni("rdf")("type")},qm={x:Ni("rdfs"),label:Ni("rdfs")("label"),comment:Ni("rdfs")("comment"),isDefinedBy:Ni("rdfs")("isDefinedBy"),seeAlso:Ni("rdfs")("seeAlso")},vi={x:Ni("entity"),id:Ni("entity")("id"),label:qm.label,description:qm.comment,link:qm.seeAlso,sex:Ni("entity")("sex"),age:Ni("entity")("age"),bmi:Ni("entity")("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:Ni("entity")("consortium_name"),providerName:Ni("entity")("provider_name"),providerUUID:Ni("entity")("provider_uuid"),donor:Ni("entity")("has_donor"),sections:Ni("entity")("has_tissue_section"),datasets:Ni("entity")("has_dataset"),sampleType:Ni("entity")("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:Ni("entity")("section_count"),sectionSize:Ni("entity")("section_size"),sectionUnits:Ni("entity")("section_units"),sectionNumber:Ni("entity")("section_number"),spatialEntity:Ni("entity")("has_spatial_entity"),ontologyTerms:Ni("entity")("has_ontology_term"),cellTypeTerms:Ni("entity")("has_cell_type_term"),technology:Ni("entity")("technology"),thumbnail:Ni("entity")("has_thumbnail")},Tn=Ni("ccf"),Fi={x:Tn,ontologyNode:{label:Tn("ccf_preferred_label"),parent:Tn("ccf_part_of"),children:Tn("ccf_part_of"),rui_rank:Tn("ccf_rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:Tn("ccf_part_of"),ct_is_a:Tn("ct_is_a"),located_in:Tn("located_in"),characterizes:Tn("characterizes")},spatial:{Female:Tn("VHFemale"),Male:Tn("VHMale"),BothSexes:Tn("VHBothSexes"),FemaleOrgans:Tn("VHFemaleOrgans"),MaleOrgans:Tn("VHMaleOrgans")},SpatialObjectReference:Tn("SpatialObjectReference"),SpatialEntity:Tn("SpatialEntity"),SpatialPlacement:Tn("SpatialPlacement"),spatialObjectReference:{file:Tn("has_object_file"),file_format:Tn("has_object_file_format"),file_subpath:Tn("has_object_file_subpath")},extractionSet:{label:qm.label,rui_rank:Tn("ccf_rui_rank")},spatialEntity:{label:qm.label,comment:qm.comment,creator:Ni("dc")("creator"),creator_first_name:Tn("creator_first_name"),creator_last_name:Tn("creator_last_name"),creator_orcid:Tn("creator_orcid"),creation_date:Tn("creation_date"),updated_date:Tn("updated_date"),ccf_annotations:Tn("ccf_annotation"),representation_of:Tn("ccf_representation_of"),reference_organ:Tn("anatomical_structure_of"),extraction_set_for:Tn("extraction_set_for"),extraction_set:Tn("extraction_site_for"),sex:Tn("has_sex"),side:Tn("has_side"),rui_rank:Tn("ccf_rui_rank"),slice_thickness:Tn("ccf_slice_thickness"),slice_count:Tn("ccf_slice_count"),x_dimension:Tn("has_x_dimension"),y_dimension:Tn("has_y_dimension"),z_dimension:Tn("has_z_dimension"),dimension_units:Tn("has_dimension_units"),object:Tn("has_object_reference")},spatialPlacement:{source:Tn("has_placement_source"),target:Tn("has_placement_target"),placement_date:Tn("has_placement_date"),x_scaling:Tn("has_x_scaling"),y_scaling:Tn("has_y_scaling"),z_scaling:Tn("has_z_scaling"),scaling_units:Tn("has_scaling_units"),x_rotation:Tn("has_x_rotation"),y_rotation:Tn("has_y_rotation"),z_rotation:Tn("has_z_rotation"),w_rotation:Tn("has_theta_rotation"),rotation_order:Tn("has_rotation_order"),rotation_units:Tn("has_rotation_units"),x_translation:Tn("has_x_translation"),y_translation:Tn("has_y_translation"),z_translation:Tn("has_z_translation"),translation_units:Tn("has_translation_units")}},di={x:Ni("uberon"),body:Ni("uberon")("0013702")},PPe={x:Ni("cl"),cell:Ni("cl")("0000000")},Jb={x:Ni("fma")},vd=(Ni("lmha"),{body:di.body,cell:PPe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Jb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Jb.x("24978"),knee_right:Jb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Jb.x("7214"),ovary_right:Jb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function Hk(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const g1={spatialObjectReference:Hk(Fi.spatialObjectReference),spatialEntity:Hk(Fi.spatialEntity),spatialPlacement:Hk(Fi.spatialPlacement)};function z9(n,e){const t=dp(n,e,"ExtractionSet",g1.spatialEntity);return t.extractionSites=(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",g1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",g1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,Fi.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function BPe(n,e){const t=dp(n,e,"SpatialPlacement",g1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function H9(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class G9{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new wRe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},U9.type,Fi.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},U9.type,Fi.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,Fi.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=xRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&H9(r,BPe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,wr.get)(e,"placement[0]",(0,wr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=H9(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(use),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${RRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $9{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.extraction_set_for,e,null).map(t=>z9(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return z9(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,wr.sortBy)(n.getSubjects(Fi.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,Fi.spatialEntity.reference_organ,null,null),(0,wr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=Fi.spatial.Male.id;break;case"Female":t=Fi.spatial.Female.id;break;case"Both":default:t=Fi.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(Fi.x("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(Fi.x("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const m1="https://entity.api.hubmapconsortium.org/entities/",W9=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),jPe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Ym={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},q9={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class HPe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ne=>"Donor"===Ne.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Ym[e.group_uuid]||(Ym[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Ym[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=m1+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},x=[];this.sections=x;const U=[];this.datasets=U;for(const Ne of c.filter(Ve=>"Sample"===Ve.entity_type)){const Ve=this.getSection(Ne,e,i);w[Ne.submission_id]=Ve,x.push(Ve),Ve.section_number=null!==(s=Ve.section_number)&&void 0!==s?s:x.length}for(const Ne of c)if("Dataset"===Ne.entity_type){const Ve=this.getDataset(Ne,t,i,r),bt=(0,wr.get)(Ne,["ingest_metadata","metadata","tissue_id"]);w[bt]?null===(o=w[bt].datasets)||void 0===o||o.push(Ve):U.push(Ve)}const D=null!=h?h:{},ie=`${D.x_dimension} x ${D.y_dimension} x ${D.z_dimension} ${D.dimension_units}`;this.section_count=D.slice_count||x.length;const _e=parseFloat((D.slice_thickness||(D.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=_e;const Pe=D.dimension_units||"millimeter";this.section_units=Pe,this.description=`${ie}, ${_e} ${Pe}, ${e.specimen_type}, ${this.section_count} Sections`,x.forEach((Ne,Ve)=>{Ne.description=`${D.x_dimension} x ${D.y_dimension} x ${_e} ${Pe}, ${_e} ${Pe}, ${Ne.description}`,Ne.section_number=Ve+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":m1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Ym[e.group_uuid]||e.group_name}`,description:`${t.specimen_type}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Ym[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,wr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":m1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,wr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>W9.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(W9.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=jPe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,wr.toNumber)(s[1]));for(const f of(0,wr.get)(e,"metadata.organ_donor_data",[]))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,wr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,wr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Ym[e.group_uuid]||e.group_name;return{"@id":m1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s)),r){const o=null!==(i=(0,wr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,wr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,wr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,wr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const $Pe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],WPe={exists:{field:"rui_location"}};function Y9(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:WPe,_source:{includes:$Pe}})}function Gk(n,e){return Vi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e);return t.ok?yield t.json():void 0}catch(t){return}})}function X9(n,e,t,i,r="",s=""){return Vi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield Gk(n):"search-api"===e&&(o=yield function(n,e,t){return Vi(this,void 0,void 0,function*(){const i=250,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Y9(0,i,t),o=yield Gk(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,wr.get)(n,"hits.hits",[]).map(c=>(0,wr.get)(c,"_source",{})).map(c=>new HPe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":q9},c)))),{"@context":q9,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function ev(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const ZPe={[Fi.spatialEntity.x_dimension.id]:"x",[Fi.spatialEntity.y_dimension.id]:"y",[Fi.spatialEntity.z_dimension.id]:"z"};function eNe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",ZPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new kk).fromCenterHalfSizeQuaternion(o,a,l)}return s}function tNe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=eNe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function _1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function $k(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function tv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function K9(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(tv(e,i),Fi.spatialEntity.ccf_annotations,s,null)}return i}function Q9(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,Fi.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function mNe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[Fi.ontologyNode.label.id]:"label",[t]:"parent",[Fi.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of zk(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Z9(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=mNe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,r}const J9=(0,wr.memoize)(function(n){const e=Z9(n,vd.body.id,"body",Fi.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),y1={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},bNe=Object.assign(Object.assign({},y1),{[vi.providerName.id]:"providerName"}),vNe=Object.assign(Object.assign({},y1),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),wNe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),ENe=Object.assign(Object.assign({},y1),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function xNe(n,e){return dp(n,e,"Donor",bNe)}function eq(n,e){return dp(n,e,"Dataset",vNe)}function SNe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of zk(n,e,wNe))if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]=r;return t}class TNe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Vi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const MNe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class DNe{constructor(e=MNe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new G9(this),this.scene=new $9(this)}connect(e,t=!1){return Vi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Vi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield A9(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([i,t]).catch(()=>{}):s=yield A9(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Vi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(X9(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Vi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Vi(this,void 0,void 0,function*(){"string"==typeof r?r.endsWith("jsonld")?yield(0,Un.addJsonLdToStore)(r,i):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i):yield(0,Un.addJsonLdToStore)(r,i)}))),this})}synchronize(){return Vi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=J9(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,Fi.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,Fi.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,Fi.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),Fi.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Vi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new G9(this),this.scene=new $9(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(tv(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=_1(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(tv(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=_1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(tv(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$k(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)tNe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=$k(n,u,f=>K9(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=$k(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,Fi.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return K9(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,wr.isFinite)(t.ageRange[0])&&(0,wr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,wr.isFinite)(t.bmiRange[0])&&(0,wr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=_1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,u1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Vi(this,void 0,void 0,function*(){return this.status||(this.status=new TNe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Vi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Vi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of zk(n,e,ENe))if("sections"===i){const s=SNe(n,r);t[i].push(s)}else if("datasets"===i){const s=eq(n,r);t[i].push(s)}else t[i]="donor"===i?xNe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t=ev(e,n,vi.donor.id),i=ev(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=ev(e,r,vi.sections.id),o=new Set([...ev(e,r,vi.datasets.id),...ev(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){const t={};return Q9(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Vi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Q9(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,Fi.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Vi(this,void 0,void 0,function*(){return J9(this.store)})}getCellTypeTreeModel(){return Vi(this,void 0,void 0,function*(){return function(n){return Z9(n,vd.cell.id,"cell",Fi.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Vi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Vi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class tq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function RNe(){throw new tq}function PNe(){throw new tq}function Wk(n,e,t){e.run(()=>n.dispatch(t))}function FNe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(Wk(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>Wk(n,e,r)}),t}(n,e,t,i):(Wk(n,e,t),t)}class LNe{constructor(){this.cancelUncompleted$=new oe}cancelPreviousAction(){this.cancelUncompleted$.next()}}const qk="\u0275fac",nq=Symbol("InjectorInstance"),iq=Symbol("FactoryHasBeenDecorated");function rq(n,e){const t=n[nq];return t?t.get(e):null}const jNe={cancelUncompleted:!1};function sq(n=jNe){return(e,t,i)=>{let r;const s=function(n){return n?new LNe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=rq(this,hu)||RNe(),l=rq(this,fn)||PNe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>FNe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(iq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[qk]&&function(n){const e=n[qk];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[nq]=Ce(Vu),r};t&&(t.factory=i),Object.defineProperty(n,qk,{get:()=>i})}(e),n.constructor.prototype[iq]=!0}(e)}}const pke=["bodyCanvas"];let gke=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Vi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Uve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(pke,5,pn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),mke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const _q=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function kke(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),hE("videoId",t.videoID)}}function Fke(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,kke,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function Lke(n,e){if(1&n&&(wt(0,"div",9),wi(1,Fke,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}_q.filter(n=>!0!==n.disabled);let yq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Ce(FC),Ce(PW))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Cn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,Lke,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[kW,Fm,FW,Yu,ac,UW,zW,WW,KW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),bq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Vke=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Cn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Cn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[kW,Fm,LMe,FW],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Zm=(()=>{let n=class extends ADe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(oW(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(oW(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7()],n.prototype,"config$",null),n=Ei([SDe(),A5({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class vq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let wq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Qk=new oe,iv={cacheBusterObserver:Qk},Jm={cacheBusterObserver:Qk,maxCacheCount:4};function Eq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let qke=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Qk)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},xq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},xq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:Eq(null==n?void 0:n.ageRange,1,110),bmi:Eq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),me(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(Ie(T9),Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(iv)],n.prototype,"getProviderNames",null),Ei([Sc(iv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(iv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(iv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(iv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Jm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Jm)],n.prototype,"getAggregateResults",null),Ei([Sc(Jm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Jm)],n.prototype,"getScene",null),Ei([Sc(Jm)],n.prototype,"getReferenceOrganScene",null),n})(),Yke=(()=>{class n extends vq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Qi(i=>Object.keys(i).length>0),is(i=>function(n,e){return new O(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),me(i=>i.database),Wa(1))}connectDatabase(t,i){return Vi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Xke=(()=>{class n extends Yke{createDatabase(t){return{database:new DNe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Kke=(()=>{class n extends vq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,me(r=>this.selectToken(r)),ld(),me(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Zm),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Zk=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),Jk=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),eF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var tF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Sq="callToActionPopupShown";let Ro=tF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Sq,`${i}`),s=tF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new Jk)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(yq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(Zke,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Sq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(Ie(kb),Ie(Yb),Ie(wa),Ie(bq),Ie(_u))},Ro.\u0275prov=We({token:Ro,factory:Ro.\u0275fac}),Ei([bP(Zk)],Ro.prototype,"learnMore",null),Ei([bP(Jk)],Ro.prototype,"open",null),Ei([bP(eF)],Ro.prototype,"close",null),Ro=tF=Ei([A5({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let x1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),Zke=(()=>{class n{constructor(){this.close=()=>new eF,this.learnMore=()=>new Zk}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Cn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ps(1,"async"),Ps(2,"async"),Ps(3,"async"),Ps(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[Vke],pipes:[m0],styles:[""],changeDetection:0}),Ei([NS(x1.title)],n.prototype,"title$",void 0),Ei([NS(x1.message)],n.prototype,"message$",void 0),Ei([NS(x1.callToAction)],n.prototype,"callToAction$",void 0),Ei([NS(x1.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([sq()],n.prototype,"close",void 0),Ei([sq()],n.prototype,"learnMore",void 0),n})(),tFe=(()=>{class n{constructor(t){this.source=t,this.organs=_q}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(me(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(Ie(wq))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const nFe=["thumbContainer"],iFe=["toggleBar"],rFe=["input"],sFe=function(n){return{enterDuration:n}},oFe=["*"],aFe=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let lFe=0;const cFe={provide:Xo,useExisting:ge(()=>Cq),multi:!0};class uFe{constructor(e,t){this.source=e,this.checked=t}}const dFe=EC(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Cq=(()=>{class n extends dFe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++lFe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new uFe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(vc),Ce(Mr),yo("tabindex"),Ce(aFe),Ce(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(nFe,5),hr(iFe,5),hr(rFe,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([cFe]),wn],ngContentSelectors:oFe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Cn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Cn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(Vt(),Cs(),n,e,t,i)}(18,sFe,i._noopAnimations?0:150))}},directives:[gu,WP],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Tq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),pFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Tq,Dm,Ui,ZS],Tq,Ui]}),n})(),gFe=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Cn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Cn("click",function(){mr(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Cq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const mFe=["bodyUI"],_Fe=function(){return["Male","Female"]},yFe=function(){return["Left","Right"]};let bFe=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Ce(Yb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(mFe,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Li],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Cn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Cn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",AE(8,_Fe))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",AE(9,yFe))("value",i.side)("hidden",!i.side))},directives:[gke,gFe],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function vFe(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let wFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,vFe,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function EFe(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function xFe(n,e){if(1&n){const t=wl();wt(0,"div",10),Cn("click",function(){const s=mr(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let SFe=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the CCF Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the CCF Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"CCF Portal",buttonUrl:"https://hubmapconsortium.github.io/ccf/"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.biorxiv.org/content/10.1101/2021.05.31.446440v2"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,EFe,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Common Coordinate Framework (CCF) Deep Dive"),Et(),wt(5,"div",4),wi(6,xFe,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[g9,Yu,m9],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const CFe=["left"],TFe=["right"],AFe=function(){return[]},MFe=[{color:[0,0,0,0],opacity:.001}];let DFe=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(me(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(MFe))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(me(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Ce(tFe),Ce(Yb),Ce(Zm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(CFe,7,pn),hr(TFe,7,pn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Cn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ps(4,"async"),Ps(5,"async"),Ps(6,"async"),Ps(7,"async"),Ps(8,"async"),Ps(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ps(13,"async"),Ps(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:AE(24,AFe)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[bFe,wFe,SFe],pipes:[m0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function IFe(n,e){1&n&&ni(0,"ccf-root")}function OFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=KD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function RFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=KD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let PFe=(()=>{class n extends hie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:OFe,highlightProviders:RFe,useRemoteApi:KD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Ce(Zm),Ce(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[wn],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,IFe,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,DFe],encapsulation:2,changeDetection:0}),n})(),NFe=(()=>{class n extends Kke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?qke:Xke}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=Hi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),kFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a7,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hs,2),Ie(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const S1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class BFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return S1(n.getHours(),2)+":"+S1(n.getMinutes(),2)+":"+S1(n.getSeconds(),2)+"."+S1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class VFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Aq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let jFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new VFe(this._options),this._store=this._store||this._injector.get(hu);const s=new BFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Aq),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Mq=new Ht("LOGGER_USER_OPTIONS");function UFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let zFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h5,useClass:jFe,multi:!0},{provide:Mq,useValue:t},{provide:Aq,useFactory:UFe,deps:[Mq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const HFe=[Zm];let GFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[kFe.forRoot(),Yo.forRoot(HFe,{developmentMode:!If.production}),zFe.forRoot({disabled:If.production})]]}),n})(),$Fe=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:wq,useExisting:NFe}],imports:[[CW,sRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),fRe.forRoot(()=>new Xb({basePath:If.dbOptions.remoteApiEndpoint})),GFe]]}),n})(),WFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,pFe]]}),n})(),qFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,mke,WFe]]}),n})(),YFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,s1]]}),n})(),XFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),KFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new oie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends lie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(PFe,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[qD,$Fe,YFe,XFe,qFe]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Dne().bootstrapModule(KFe).catch(n=>console.error(n))},1052:Ut=>{function it(yt,ee,Dt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(k){return void Dt(k)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Dt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Dt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},1948:Ut=>{Ut.exports=function(et){return et&&et.__esModule?et:{default:et}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},4321:Ut=>{function it(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(et)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},9082:Ut=>{function it(et){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+et+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=9082,Ut.exports=it},9521:()=>{},9125:()=>{},5307:()=>{}},Ut=>{Ut(Ut.s=2829)}]); \ No newline at end of file diff --git a/organ-info/webcomponent-example.html b/organ-info/webcomponent-example.html index ed26e4ef5..82be8950d 100644 --- a/organ-info/webcomponent-example.html +++ b/organ-info/webcomponent-example.html @@ -16,7 +16,7 @@ organ-iri="http://purl.obolibrary.org/obo/UBERON_0004538" hubmap-data-service="search-api" hubmap-portal-url="https://portal.test.hubmapconsortium.org/" - hubmap-data-url="https://search.api.hubmapconsortium.org/entities/search" + hubmap-data-url="https://search.api.hubmapconsortium.org/v3/entities/search" hubmap-asset-url="https://assets.test.hubmapconsortium.org" > --> diff --git a/rui/index.html b/rui/index.html index 10c8cf830..5a494a701 100644 --- a/rui/index.html +++ b/rui/index.html @@ -67,7 +67,7 @@ - + diff --git a/rui/main.js b/rui/main.js index 6774472c5..bc5fb0255 100644 --- a/rui/main.js +++ b/rui/main.js @@ -1 +1 @@ -var A2e=Object.defineProperty,D2e=Object.defineProperties,O2e=Object.getOwnPropertyDescriptors,p7=Object.getOwnPropertySymbols,I2e=Object.prototype.hasOwnProperty,P2e=Object.prototype.propertyIsEnumerable,Ui=Math.pow,g7=(gt,We,ze)=>We in gt?A2e(gt,We,{enumerable:!0,configurable:!0,writable:!0,value:ze}):gt[We]=ze,K=(gt,We)=>{for(var ze in We||(We={}))I2e.call(We,ze)&&g7(gt,ze,We[ze]);if(p7)for(var ze of p7(We))P2e.call(We,ze)&&g7(gt,ze,We[ze]);return gt},Lt=(gt,We)=>D2e(gt,O2e(We));(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{2:gt=>{"use strict";gt.exports=ze,gt.exports.default=ze;var We=1e20;function ze(Ke,ft,Ze,Tt,Ft,we){this.fontSize=Ke||24,this.buffer=void 0===ft?3:ft,this.cutoff=Tt||.25,this.fontFamily=Ft||"sans-serif",this.fontWeight=we||"normal",this.radius=Ze||8;var _e=this.size=this.fontSize+2*this.buffer,ke=_e+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=_e,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(ke*ke),this.gridInner=new Float64Array(ke*ke),this.f=new Float64Array(ke),this.z=new Float64Array(ke+1),this.v=new Uint16Array(ke),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(_e/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function It(Ke,ft,Ze,Tt,Ft,we){for(var _e=0;_e-1);we[++ye]=ke,_e[ye]=Te,_e[ye+1]=We}for(ke=0,ye=0;ke{"use strict";var wt=(()=>{return(It=wt||(wt={})).typeOfFunction="function",It.boolTrue=!0,wt;var It})();function L(It,Pt,Ke){if(!Ke||typeof Ke.value!==wt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+Pt+"> is not a method!");return{configurable:wt.boolTrue,get:function(){var ft=Ke.value.bind(this);return Object.defineProperty(this,Pt,{value:ft,configurable:wt.boolTrue,writable:wt.boolTrue}),ft}}}We.ak=L,We.ZP=L},266:(gt,We,ze)=>{gt.exports={ResizeSensor:ze(835),ElementQueries:ze(845)}},845:function(gt,We,ze){"use strict";var wt,L,It;"undefined"!=typeof window&&window,L=[ze(835)],void 0!==(It="function"==typeof(wt=function(Pt){var Ke=function(){var Ze,Tt={},Ft=[];function we(Ve){Ve||(Ve=document.documentElement);var ce=window.getComputedStyle(Ve,null).fontSize;return parseFloat(ce)||16}function ke(Ve,ce){var zt=ce.split(/\d/),Gt=zt[zt.length-1];switch(ce=parseFloat(ce),Gt){case"px":return ce;case"em":return ce*we(Ve);case"rem":return ce*we();case"vw":return ce*document.documentElement.clientWidth/100;case"vh":return ce*document.documentElement.clientHeight/100;case"vmin":case"vmax":var Qt=document.documentElement.clientWidth/100,li=document.documentElement.clientHeight/100;return ce*(0,Math["vmin"===Gt?"min":"max"])(Qt,li);default:return ce}}function ye(Ve,ce){this.element=Ve;var zt,Gt,Qt,li,Pi,Se,pn,Gn,Ae=["min-width","min-height","max-width","max-height"];this.call=function(){for(zt in Qt=function(Ve){if(!Ve.getBoundingClientRect)return{width:Ve.offsetWidth,height:Ve.offsetHeight};var ce=Ve.getBoundingClientRect();return{width:Math.round(ce.width),height:Math.round(ce.height)}}(this.element),Se={},Tt[ce])!Tt[ce].hasOwnProperty(zt)||(li=ke(this.element,(Gt=Tt[ce][zt]).value),Pi="width"===Gt.property?Qt.width:Qt.height,pn="","min"===Gt.mode&&Pi>=li&&(pn+=Gt.value),"max"===Gt.mode&&Pi<=li&&(pn+=Gt.value),Se[Gn=Gt.mode+"-"+Gt.property]||(Se[Gn]=""),pn&&-1===(" "+Se[Gn]+" ").indexOf(" "+pn+" ")&&(Se[Gn]+=" "+pn));for(var Ri in Ae)!Ae.hasOwnProperty(Ri)||(Se[Ae[Ri]]?this.element.setAttribute(Ae[Ri],Se[Ae[Ri]].substr(1)):this.element.removeAttribute(Ae[Ri]))}}function Te(Ve,ce){Ve.elementQueriesSetupInformation||(Ve.elementQueriesSetupInformation=new ye(Ve,ce)),Ve.elementQueriesSensor||(Ve.elementQueriesSensor=new Pt(Ve,function(){Ve.elementQueriesSetupInformation.call()}))}function Vt(Ve,ce,zt,Gt){if(void 0===Tt[Ve]){Tt[Ve]=[];var Qt=Ft.length;Ze.innerHTML+="\n"+Ve+" {animation: 0.1s element-queries;}",Ze.innerHTML+="\n"+Ve+" > .resize-sensor {min-width: "+Qt+"px;}",Ft.push(Ve)}Tt[Ve].push({mode:ce,property:zt,value:Gt})}function He(Ve){var ce;if(document.querySelectorAll&&(ce=Ve?Ve.querySelectorAll.bind(Ve):document.querySelectorAll.bind(document)),!ce&&"undefined"!=typeof $$&&(ce=$$),!ce&&"undefined"!=typeof jQuery&&(ce=jQuery),!ce)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return ce}function xt(Ve){var ce=[],zt=[],Gt=[],Qt=0,li=-1,Pi=[];for(var Se in Ve.children)if(Ve.children.hasOwnProperty(Se)&&Ve.children[Se].tagName&&"img"===Ve.children[Se].tagName.toLowerCase()){ce.push(Ve.children[Se]);var pn=Ve.children[Se].getAttribute("min-width")||Ve.children[Se].getAttribute("data-min-width"),Gn=Ve.children[Se].getAttribute("data-src")||Ve.children[Se].getAttribute("url");Gt.push(Gn),zt.push({minWidth:pn}),pn?Ve.children[Se].style.display="none":(Qt=ce.length-1,Ve.children[Se].style.display="block")}function Ri(){var xr,jt=!1;for(xr in ce)!ce.hasOwnProperty(xr)||zt[xr].minWidth&&Ve.offsetWidth>zt[xr].minWidth&&(jt=xr);if(jt||(jt=Qt),li!==jt)if(Pi[jt])ce[li].style.display="none",ce[jt].style.display="block",li=jt;else{var ls=new Image;ls.onload=function(){ce[jt].src=Gt[jt],ce[li].style.display="none",ce[jt].style.display="block",Pi[jt]=!0,li=jt},ls.src=Gt[jt]}else ce[jt].src=Gt[jt]}li=Qt,Ve.resizeSensorInstance=new Pt(Ve,Ri),Ri()}var Yn=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,Ei=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function vi(Ve){var ce,zt,Gt,Qt;for(Ve=Ve.replace(/'/g,'"');null!==(ce=Yn.exec(Ve));)for(zt=ce[1]+ce[3],Gt=ce[2];null!==(Qt=Ei.exec(Gt));)Vt(zt,Qt[1],Qt[2],Qt[3])}function bi(Ve){var ce="";if(Ve)if("string"==typeof Ve)(-1!==(Ve=Ve.toLowerCase()).indexOf("min-width")||-1!==Ve.indexOf("max-width"))&&vi(Ve);else for(var zt=0,Gt=Ve.length;zt img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",Ze.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(Ze),Mr=!0);for(var ce=0,zt=document.styleSheets.length;ce=_e.status}function ft(we){try{we.dispatchEvent(new MouseEvent("click"))}catch(ke){var _e=document.createEvent("MouseEvents");_e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),we.dispatchEvent(_e)}}var Ze="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Tt=Ze.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ft=Ze.saveAs||("object"!=typeof window||window!==Ze?function(){}:"download"in HTMLAnchorElement.prototype&&!Tt?function(we,_e,ke){var ye=Ze.URL||Ze.webkitURL,Te=document.createElement("a");Te.download=_e=_e||we.name||"download",Te.rel="noopener","string"==typeof we?(Te.href=we,Te.origin===location.origin?ft(Te):Ke(Te.href)?Pt(we,_e,ke):ft(Te,Te.target="_blank")):(Te.href=ye.createObjectURL(we),setTimeout(function(){ye.revokeObjectURL(Te.href)},4e4),setTimeout(function(){ft(Te)},0))}:"msSaveOrOpenBlob"in navigator?function(we,_e,ke){if(_e=_e||we.name||"download","string"!=typeof we)navigator.msSaveOrOpenBlob(function(we,_e){return void 0===_e?_e={autoBom:!1}:"object"!=typeof _e&&(console.warn("Deprecated: Expected third argument to be a object"),_e={autoBom:!_e}),_e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(we.type)?new Blob(["\ufeff",we],{type:we.type}):we}(we,ke),_e);else if(Ke(we))Pt(we,_e,ke);else{var ye=document.createElement("a");ye.href=we,ye.target="_blank",setTimeout(function(){ft(ye)})}}:function(we,_e,ke,ye){if((ye=ye||open("","_blank"))&&(ye.document.title=ye.document.body.innerText="downloading..."),"string"==typeof we)return Pt(we,_e,ke);var Te="application/octet-stream"===we.type,Vt=/constructor/i.test(Ze.HTMLElement)||Ze.safari,He=/CriOS\/[\d]+/.test(navigator.userAgent);if((He||Te&&Vt||Tt)&&"undefined"!=typeof FileReader){var An=new FileReader;An.onloadend=function(){var Yn=An.result;Yn=He?Yn:Yn.replace(/^data:[^;]*;/,"data:attachment/file;"),ye?ye.location.href=Yn:location=Yn,ye=null},An.readAsDataURL(we)}else{var xt=Ze.URL||Ze.webkitURL,tn=xt.createObjectURL(we);ye?ye.location=tn:location.href=tn,ye=null,setTimeout(function(){xt.revokeObjectURL(tn)},4e4)}});Ze.saveAs=Ft.saveAs=Ft,gt.exports=Ft})?ze.apply(We,[]):ze)&&(gt.exports=L)},524:(gt,We,ze)=>{var wt;!function(L,It,Pt,Ke){"use strict";var He,ft=["","webkit","Moz","MS","ms","o"],Ze=It.createElement("div"),Ft=Math.round,we=Math.abs,_e=Date.now;function ke(A,F,j){return setTimeout(Yn(A,j),F)}function ye(A,F,j){return!!Array.isArray(A)&&(Te(A,j[F],j),!0)}function Te(A,F,j){var re;if(A)if(A.forEach)A.forEach(F,j);else if(A.length!==Ke)for(re=0;re\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",vn=L.console&&(L.console.warn||L.console.log);return vn&&vn.call(L.console,re,Ue),A.apply(this,arguments)}}He="function"!=typeof Object.assign?function(F){if(F===Ke||null===F)throw new TypeError("Cannot convert undefined or null to object");for(var j=Object(F),re=1;re-1}function zt(A){return A.trim().split(/\s+/g)}function Gt(A,F,j){if(A.indexOf&&!j)return A.indexOf(F);for(var re=0;reWr[F]}):re.sort()),re}function Pi(A,F){for(var j,re,Fe=F[0].toUpperCase()+F.slice(1),Ue=0;Ue1&&!j.firstMultiple?j.firstMultiple=Va(F):1===Fe&&(j.firstMultiple=!1);var Ue=j.firstInput,vn=j.firstMultiple,dr=vn?vn.center:Ue.center,yr=F.center=uo(re);F.timeStamp=_e(),F.deltaTime=F.timeStamp-Ue.timeStamp,F.angle=ho(dr,yr),F.distance=us(dr,yr),function(A,F){var j=F.center,re=A.offsetDelta||{},Fe=A.prevDelta||{},Ue=A.prevInput||{};(1===F.eventType||4===Ue.eventType)&&(Fe=A.prevDelta={x:Ue.deltaX||0,y:Ue.deltaY||0},re=A.offsetDelta={x:j.x,y:j.y}),F.deltaX=Fe.x+(j.x-re.x),F.deltaY=Fe.y+(j.y-re.y)}(j,F),F.offsetDirection=Ni(F.deltaX,F.deltaY);var Wr=za(F.deltaTime,F.deltaX,F.deltaY);F.overallVelocityX=Wr.x,F.overallVelocityY=Wr.y,F.overallVelocity=we(Wr.x)>we(Wr.y)?Wr.x:Wr.y,F.scale=vn?function(A,F){return us(F[0],F[1],Nr)/us(A[0],A[1],Nr)}(vn.pointers,re):1,F.rotation=vn?function(A,F){return ho(F[1],F[0],Nr)+ho(A[1],A[0],Nr)}(vn.pointers,re):0,F.maxPointers=j.prevInput?F.pointers.length>j.prevInput.maxPointers?F.pointers.length:j.prevInput.maxPointers:F.pointers.length,function(A,F){var Fe,Ue,vn,dr,j=A.lastInterval||F,re=F.timeStamp-j.timeStamp;if(8!=F.eventType&&(re>25||j.velocity===Ke)){var yr=F.deltaX-j.deltaX,Wr=F.deltaY-j.deltaY,cn=za(re,yr,Wr);Ue=cn.x,vn=cn.y,Fe=we(cn.x)>we(cn.y)?cn.x:cn.y,dr=Ni(yr,Wr),A.lastInterval=F}else Fe=j.velocity,Ue=j.velocityX,vn=j.velocityY,dr=j.direction;F.velocity=Fe,F.velocityX=Ue,F.velocityY=vn,F.direction=dr}(j,F);var cn=A.element;Ve(F.srcEvent.target,cn)&&(cn=F.srcEvent.target),F.target=cn}(A,j),A.emit("hammer.input",j),A.recognize(j),A.session.prevInput=j}function Va(A){for(var F=[],j=0;j=we(F)?A<0?2:4:F<0?8:16}function us(A,F,j){j||(j=Gr);var re=F[j[0]]-A[j[0]],Fe=F[j[1]]-A[j[1]];return Math.sqrt(re*re+Fe*Fe)}function ho(A,F,j){return j||(j=Gr),180*Math.atan2(F[j[1]]-A[j[1]],F[j[0]]-A[j[0]])/Math.PI}ii.prototype={handler:function(){},init:function(){this.evEl&&bi(this.element,this.evEl,this.domHandler),this.evTarget&&bi(this.target,this.evTarget,this.domHandler),this.evWin&&bi(Gn(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Mr(this.element,this.evEl,this.domHandler),this.evTarget&&Mr(this.target,this.evTarget,this.domHandler),this.evWin&&Mr(Gn(this.element),this.evWin,this.domHandler)}};var fu={mousedown:1,mousemove:2,mouseup:4},pu="mousedown",gu="mousemove mouseup";function Ml(){this.evEl=pu,this.evWin=gu,this.pressed=!1,ii.apply(this,arguments)}tn(Ml,ii,{handler:function(F){var j=fu[F.type];1&j&&0===F.button&&(this.pressed=!0),2&j&&1!==F.which&&(j=4),this.pressed&&(4&j&&(this.pressed=!1),this.callback(this.manager,j,{pointers:[F],changedPointers:[F],pointerType:cs,srcEvent:F}))}});var mc={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},pd={2:ls,3:"pen",4:cs,5:"kinect"},mu="pointerdown",Vs="pointermove pointerup pointercancel";function Je(){this.evEl=mu,this.evWin=Vs,ii.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}L.MSPointerEvent&&!L.PointerEvent&&(mu="MSPointerDown",Vs="MSPointerMove MSPointerUp MSPointerCancel"),tn(Je,ii,{handler:function(F){var j=this.store,re=!1,Fe=F.type.toLowerCase().replace("ms",""),Ue=mc[Fe],vn=pd[F.pointerType]||F.pointerType,dr=vn==ls,yr=Gt(j,F.pointerId,"pointerId");1&Ue&&(0===F.button||dr)?yr<0&&(j.push(F),yr=j.length-1):12&Ue&&(re=!0),!(yr<0)&&(j[yr]=F,this.callback(this.manager,Ue,{pointers:j,changedPointers:[F],pointerType:vn,srcEvent:F}),re&&j.splice(yr,1))}});var _u={touchstart:1,touchmove:2,touchend:4,touchcancel:8},W="touchstart",Y="touchstart touchmove touchend touchcancel";function J(){this.evTarget=W,this.evWin=Y,this.started=!1,ii.apply(this,arguments)}function T(A,F){var j=Qt(A.touches),re=Qt(A.changedTouches);return 12&F&&(j=li(j.concat(re),"identifier",!0)),[j,re]}tn(J,ii,{handler:function(F){var j=_u[F.type];if(1===j&&(this.started=!0),this.started){var re=T.call(this,F,j);12&j&&re[0].length-re[1].length==0&&(this.started=!1),this.callback(this.manager,j,{pointers:re[0],changedPointers:re[1],pointerType:ls,srcEvent:F})}}});var D={touchstart:1,touchmove:2,touchend:4,touchcancel:8},B="touchstart touchmove touchend touchcancel";function Z(){this.evTarget=B,this.targetIds={},ii.apply(this,arguments)}function $(A,F){var j=Qt(A.touches),re=this.targetIds;if(3&F&&1===j.length)return re[j[0].identifier]=!0,[j,j];var Fe,Ue,vn=Qt(A.changedTouches),dr=[],yr=this.target;if(Ue=j.filter(function(Wr){return Ve(Wr.target,yr)}),1===F)for(Fe=0;Fe-1&&re.splice(Ue,1)},2500)}}function xn(A){for(var F=A.srcEvent.clientX,j=A.srcEvent.clientY,re=0;re-1&&this.requireFail.splice(F,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(A){return!!this.simultaneous[A.id]},emit:function(A){var F=this,j=this.state;function re(Fe){F.manager.emit(Fe,A)}j<8&&re(F.options.event+ue(j)),re(F.options.event),A.additionalEvent&&re(A.additionalEvent),j>=8&&re(F.options.event+ue(j))},tryEmit:function(A){if(this.canEmit())return this.emit(A);this.state=32},canEmit:function(){for(var A=0;AF.threshold&&Fe&F.direction},attrTest:function(A){return rr.prototype.attrTest.call(this,A)&&(2&this.state||!(2&this.state)&&this.directionTest(A))},emit:function(A){this.pX=A.deltaX,this.pY=A.deltaY;var F=u_(A.direction);F&&(A.additionalEvent=this.options.event+F),this._super.emit.call(this,A)}}),tn(bu,rr,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.scale-1)>this.options.threshold||2&this.state)},emit:function(A){1!==A.scale&&(A.additionalEvent=this.options.event+(A.scale<1?"in":"out")),this._super.emit.call(this,A)}}),tn(Ih,ja,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distanceF.time;if(this._input=A,!re||!j||12&A.eventType&&!Fe)this.reset();else if(1&A.eventType)this.reset(),this._timer=ke(function(){this.state=8,this.tryEmit()},F.time,this);else if(4&A.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(A){8===this.state&&(A&&4&A.eventType?this.manager.emit(this.options.event+"up",A):(this._input.timeStamp=_e(),this.manager.emit(this.options.event,this._input)))}}),tn(Cu,rr,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)}}),tn(ua,rr,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return vc.prototype.getTouchAction.call(this)},attrTest:function(A){var j,F=this.options.direction;return 30&F?j=A.overallVelocity:6&F?j=A.overallVelocityX:24&F&&(j=A.overallVelocityY),this._super.attrTest.call(this,A)&&F&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers==this.options.pointers&&we(j)>this.options.velocity&&4&A.eventType},emit:function(A){var F=u_(A.offsetDirection);F&&this.manager.emit(this.options.event+F,A),this.manager.emit(this.options.event,A)}}),tn(Tl,ja,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Hi]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distance"']/g,Vs=RegExp(pd.source),Je=RegExp(mu.source),_u=/<%-([\s\S]+?)%>/g,W=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,J=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,D=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/[\\^$.*+?()[\]{}|]/g,Z=RegExp(B.source),$=/^\s+/,le=/\s/,he=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,pe=/\{\n\/\* \[wrapped with (.+)\] \*/,Ge=/,? & /,an=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,xn=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,Et=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ln=/\w*$/,ri=/^[-+]0x[0-9a-f]+$/i,Hi=/^0b[01]+$/i,$i=/^\[object .+?Constructor\]$/,_n=/^0o[0-7]+$/i,Ci=/^(?:0|[1-9]\d*)$/,_c=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fo=/($^)/,gd=/['\n\r\u2028\u2029\\]/g,xl="\\ud800-\\udfff",Gi="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Pn="\\u2700-\\u27bf",vu="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",rr="\\ufe0e\\ufe0f",vc="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ih="["+xl+"]",Cu="["+vc+"]",ua="["+Gi+"]",Tl="\\d+",Ua="["+Pn+"]",Sp="["+vu+"]",At="[^"+xl+vc+Tl+Pn+vu+Me+"]",Al="\\ud83c[\\udffb-\\udfff]",da="[^"+xl+"]",md="(?:\\ud83c[\\udde6-\\uddff]){2}",A="[\\ud800-\\udbff][\\udc00-\\udfff]",F="["+Me+"]",j="\\u200d",re="(?:"+Sp+"|"+At+")",Fe="(?:"+F+"|"+At+")",Ue="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",vn="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",dr="(?:"+ua+"|"+Al+")?",yr="["+rr+"]?",Mx=yr+dr+"(?:"+j+"(?:"+[da,md,A].join("|")+")"+yr+dr+")*",_d="(?:"+[Ua,md,A].join("|")+")"+Mx,mi="(?:"+[da+ua+"?",ua,md,A,Ih].join("|")+")",xp=RegExp("['\u2019]","g"),d_=RegExp(ua,"g"),Ph=RegExp(Al+"(?="+Al+")|"+mi+Mx,"g"),b0=RegExp([F+"?"+Sp+"+"+Ue+"(?="+[Cu,F,"$"].join("|")+")",Fe+"+"+vn+"(?="+[Cu,F+re,"$"].join("|")+")",F+"?"+re+"+"+Ue,F+"+"+vn,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Tl,_d].join("|"),"g"),xx=RegExp("["+j+xl+Gi+rr+"]"),Dl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Tx=-1,Ne={};Ne[uo]=Ne[za]=Ne[Ni]=Ne[us]=Ne[ho]=Ne[gc]=Ne[Sl]=Ne[fu]=Ne[pu]=!0,Ne[cs]=Ne[aa]=Ne[El]=Ne[ci]=Ne[Va]=Ne[pt]=Ne[ki]=Ne[la]=Ne[Fi]=Ne[$r]=Ne[ir]=Ne[Gr]=Ne[Nr]=Ne[ii]=Ne[di]=!1;var Si={};Si[cs]=Si[aa]=Si[El]=Si[Va]=Si[ci]=Si[pt]=Si[uo]=Si[za]=Si[Ni]=Si[us]=Si[ho]=Si[Fi]=Si[$r]=Si[ir]=Si[Gr]=Si[Nr]=Si[ii]=Si[pc]=Si[gc]=Si[Sl]=Si[fu]=Si[pu]=!0,Si[ki]=Si[la]=Si[di]=!1;var Pe={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ax=parseFloat,S0=parseInt,oe="object"==typeof global&&global&&global.Object===Object&&global,ds="object"==typeof self&&self&&self.Object===Object&&self,Kn=oe||ds||Function("return this")(),Ol=We&&!We.nodeType&&We,ha=Ol&>&&!gt.nodeType&>,po=ha&&ha.exports===Ol,h_=po&&oe.process,Wi=function(){try{return ha&&ha.require&&ha.require("util").types||h_&&h_.binding&&h_.binding("util")}catch(fe){}}(),it=Wi&&Wi.isArrayBuffer,bn=Wi&&Wi.isDate,Oi=Wi&&Wi.isMap,js=Wi&&Wi.isRegExp,bc=Wi&&Wi.isSet,Tr=Wi&&Wi.isTypedArray;function Ar(q,fe,se){switch(se.length){case 0:return q.call(fe);case 1:return q.call(fe,se[0]);case 2:return q.call(fe,se[0],se[1]);case 3:return q.call(fe,se[0],se[1],se[2])}return q.apply(fe,se)}function hr(q,fe,se,lt){for(var Rt=-1,Wn=null==q?0:q.length;++Rt-1}function kh(q,fe,se){for(var lt=-1,Rt=null==q?0:q.length;++lt-1;);return se}function Px(q,fe){for(var se=q.length;se--&&Ha(fe,q[se],0)>-1;);return se}function r2(q,fe){for(var se=q.length,lt=0;se--;)q[se]===fe&&++lt;return lt}var s2=Fo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),o2=Fo({"&":"&","<":"<",">":">",'"':""","'":"'"});function a2(q){return"\\"+Pe[q]}function Lh(q){return xx.test(q)}function x0(q){var fe=-1,se=Array(q.size);return q.forEach(function(lt,Rt){se[++fe]=[Rt,lt]}),se}function Rx(q,fe){return function(se){return q(fe(se))}}function Eu(q,fe){for(var se=-1,lt=q.length,Rt=0,Wn=[];++se",""":'"',"'":"'"}),Vh=function q(fe){var u,se=(fe=null==fe?Kn:Vh.defaults(Kn.Object(),fe,Vh.pick(Kn,Rh))).Array,lt=fe.Date,Rt=fe.Error,Wn=fe.Function,vr=fe.Math,fi=fe.Object,v_=fe.RegExp,b_=fe.String,ga=fe.TypeError,Ii=se.prototype,Su=fi.prototype,Ap=fe["__core-js_shared__"],qi=Wn.prototype.toString,pi=Su.hasOwnProperty,f2=0,zh=(u=/[^.]+$/.exec(Ap&&Ap.keys&&Ap.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"",Ts=Su.toString,Nx=qi.call(fi),C_=Kn._,Ed=v_("^"+qi.call(pi).replace(B,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fs=po?fe.Buffer:L,Pl=fe.Symbol,Sd=fe.Uint8Array,D0=fs?fs.allocUnsafe:L,ma=Rx(fi.getPrototypeOf,fi),w_=fi.create,Dp=Su.propertyIsEnumerable,Yt=Ii.splice,Lx=Pl?Pl.isConcatSpreadable:L,jh=Pl?Pl.iterator:L,Mu=Pl?Pl.toStringTag:L,Op=function(){try{var u=Pc(fi,"defineProperty");return u({},"",{}),u}catch(h){}}(),O0=fe.clearTimeout!==Kn.clearTimeout&&fe.clearTimeout,Bx=lt&<.now!==Kn.Date.now&<.now,Vx=fe.setTimeout!==Kn.setTimeout&&fe.setTimeout,Oe=vr.ceil,Dn=vr.floor,en=fi.getOwnPropertySymbols,Dr=fs?fs.isBuffer:L,E_=fe.isFinite,Uh=Ii.join,Ga=Rx(fi.keys,fi),pr=vr.max,Lr=vr.min,p2=lt.now,zx=fe.parseInt,Hh=vr.random,Ip=Ii.reverse,Yr=Pc(fe,"DataView"),Us=Pc(fe,"Map"),Pp=Pc(fe,"Promise"),_a=Pc(fe,"Set"),mo=Pc(fe,"WeakMap"),$h=Pc(fi,"create"),Gh=mo&&new mo,Md={},jx=Lu(Yr),S_=Lu(Us),M_=Lu(Pp),I0=Lu(_a),x_=Lu(mo),Rp=Pl?Pl.prototype:L,xd=Rp?Rp.valueOf:L,Wh=Rp?Rp.toString:L;function O(u){if(Ki(u)&&!Bt(u)&&!(u instanceof Cn)){if(u instanceof _o)return u;if(pi.call(u,"__wrapped__"))return Ud(u)}return new _o(u)}var xu=function(){function u(){}return function(h){if(!Xi(h))return{};if(w_)return w_(h);u.prototype=h;var m=new u;return u.prototype=L,m}}();function qh(){}function _o(u,h){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!h,this.__index__=0,this.__values__=L}function Cn(u){this.__wrapped__=u,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jt,this.__views__=[]}function Hs(u){var h=-1,m=null==u?0:u.length;for(this.clear();++h=h?u:h)),u}function ps(u,h,m,b,M,P){var z,H=1&h,X=2&h,be=4&h;if(m&&(z=M?m(u,b,M,P):m(u)),z!==L)return z;if(!Xi(u))return u;var Ce=Bt(u);if(Ce){if(z=function(u){var h=u.length,m=new u.constructor(h);return h&&"string"==typeof u[0]&&pi.call(u,"index")&&(m.index=u.index,m.input=u.input),m}(u),!H)return Ds(u,z)}else{var Re=ms(u),et=Re==la||Re==La;if(nl(u))return Wp(u,H);if(Re==ir||Re==cs||et&&!M){if(z=X||et?{}:rC(u),!H)return X?function(u,h){return Ca(u,tC(u),h)}(u,function(u,h){return u&&Ca(h,Is(h),u)}(z,u)):function(u,h){return Ca(u,Y_(u),h)}(u,Zx(z,u))}else{if(!Si[Re])return M?u:{};z=function(u,h,m){var b=u.constructor;switch(h){case El:return Ru(u);case ci:case pt:return new b(+u);case Va:return function(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.byteLength)}(u,m);case uo:case za:case Ni:case us:case ho:case gc:case Sl:case fu:case pu:return H_(u,m);case Fi:return new b;case $r:case ii:return new b(u);case Gr:return function(u){var h=new u.constructor(u.source,ln.exec(u));return h.lastIndex=u.lastIndex,h}(u);case Nr:return new b;case pc:return function(u){return xd?fi(xd.call(u)):{}}(u)}}(u,Re,H)}}P||(P=new va);var St=P.get(u);if(St)return St;P.set(u,z),gT(u)?u.forEach(function(Xt){z.add(ps(Xt,h,m,Xt,u,P))}):dT(u)&&u.forEach(function(Xt,Sn){z.set(Sn,ps(Xt,h,m,Sn,u,P))});var En=Ce?L:(be?X?W_:Bl:X?Is:es)(u);return hs(En||u,function(Xt,Sn){En&&(Xt=u[Sn=Xt]),qa(z,Sn,ps(Xt,h,m,Sn,u,P))}),z}function Vp(u,h,m){var b=m.length;if(null==u)return!b;for(u=fi(u);b--;){var M=m[b],z=u[M];if(z===L&&!(M in u)||!(0,h[M])(z))return!1}return!0}function Kh(u,h,m){if("function"!=typeof u)throw new ga(ft);return rf(function(){u.apply(L,m)},h)}function Sc(u,h,m,b){var M=-1,P=Il,z=!0,H=u.length,X=[],be=h.length;if(!H)return X;m&&(h=hi(h,Lo(m))),b?(P=kh,z=!1):h.length>=200&&(P=Nh,z=!1,h=new ya(h));e:for(;++M-1},Rl.prototype.set=function(u,h){var m=this.__data__,b=Ad(m,u);return b<0?(++this.size,m.push([u,h])):m[b][1]=h,this},Wa.prototype.clear=function(){this.size=0,this.__data__={hash:new Hs,map:new(Us||Rl),string:new Hs}},Wa.prototype.delete=function(u){var h=gs(this,u).delete(u);return this.size-=h?1:0,h},Wa.prototype.get=function(u){return gs(this,u).get(u)},Wa.prototype.has=function(u){return gs(this,u).has(u)},Wa.prototype.set=function(u,h){var m=gs(this,u),b=m.size;return m.set(u,h),this.size+=m.size==b?0:1,this},ya.prototype.add=ya.prototype.push=function(u){return this.__data__.set(u,Tt),this},ya.prototype.has=function(u){return this.__data__.has(u)},va.prototype.clear=function(){this.__data__=new Rl,this.size=0},va.prototype.delete=function(u){var h=this.__data__,m=h.delete(u);return this.size=h.size,m},va.prototype.get=function(u){return this.__data__.get(u)},va.prototype.has=function(u){return this.__data__.has(u)},va.prototype.set=function(u,h){var m=this.__data__;if(m instanceof Rl){var b=m.__data__;if(!Us||b.length<199)return b.push([u,h]),this.size=++m.size,this;m=this.__data__=new Wa(b)}return m.set(u,h),this.size=m.size,this};var Mc=Za(Xa),k_=Za(zp,!0);function L0(u,h){var m=!0;return Mc(u,function(b,M,P){return m=!!h(b,M,P)}),m}function Zh(u,h,m){for(var b=-1,M=u.length;++b0&&m(H)?h>1?Xr(H,h-1,m,b,M):fr(M,H):b||(M[M.length]=H)}return M}var Dd=W0(),Od=W0(!0);function Xa(u,h){return u&&Dd(u,h,es)}function zp(u,h){return u&&Od(u,h,es)}function Qh(u,h){return fa(h,function(m){return Wo(u[m])})}function Bo(u,h){for(var m=0,b=(h=Dc(h,u)).length;null!=u&&mh}function Id(u,h){return null!=u&&pi.call(u,h)}function Pd(u,h){return null!=u&&h in fi(u)}function Au(u,h,m){for(var b=m?kh:Il,M=u[0].length,P=u.length,z=P,H=se(P),X=1/0,be=[];z--;){var Ce=u[z];z&&h&&(Ce=hi(Ce,Lo(h))),X=Lr(Ce.length,X),H[z]=!m&&(h||M>=120&&Ce.length>=120)?new ya(z&&Ce):L}Ce=u[0];var Re=-1,et=H[0];e:for(;++Re=H?X:X*("desc"==m[b]?-1:1)}return u.index-h.index}(P,z,m)});se--;)q[se]=q[se].value;return q}(n1(u,function(P,z,H){return{criteria:hi(h,function(be){return be(P)}),index:++b,value:P}}))}function U0(u,h,m){for(var b=-1,M=h.length,P={};++b-1;)H!==u&&Yt.call(H,X,1),Yt.call(u,X,1);return u}function ef(u,h){for(var m=u?h.length:0,b=m-1;m--;){var M=h[m];if(m==b||M!==P){var P=M;bo(M)?Yt.call(u,M,1):Ou(u,M)}}return u}function kl(u,h){return u+Dn(Hh()*(h-u+1))}function Up(u,h){var m="";if(!u||h<1||h>Gn)return m;do{h%2&&(m+=u),(h=Dn(h/2))&&(u+=u)}while(h);return m}function wn(u,h){return ng(y1(u,h,Ps),u+"")}function r1(u){return O_(Zd(u))}function E2(u,h){var m=Zd(u);return jd(m,Tu(h,0,m.length))}function Hp(u,h,m,b){if(!Xi(u))return u;for(var M=-1,P=(h=Dc(h,u)).length,z=P-1,H=u;null!=H&&++MM?0:M+h),(m=m>M?M:m)<0&&(m+=M),M=h>m?0:m-h>>>0,h>>>=0;for(var P=se(M);++b>>1,z=u[P];null!==z&&!qo(z)&&(m?z<=h:z=200){var be=h?null:G_(u);if(be)return m_(be);z=!1,M=Nh,X=new ya}else X=h?[]:H;e:for(;++b=b?u:Qr(u,h,m)}var a1=O0||function(u){return Kn.clearTimeout(u)};function Wp(u,h){if(h)return u.slice();var m=u.length,b=D0?D0(m):new u.constructor(m);return u.copy(b),b}function Ru(u){var h=new u.constructor(u.byteLength);return new Sd(h).set(new Sd(u)),h}function H_(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.length)}function Oc(u,h){if(u!==h){var m=u!==L,b=null===u,M=u==u,P=qo(u),z=h!==L,H=null===h,X=h==h,be=qo(h);if(!H&&!be&&!P&&u>h||P&&z&&X&&!H&&!be||b&&z&&X||!m&&X||!M)return 1;if(!b&&!P&&!be&&u1?m[M-1]:L,z=M>2?m[2]:L;for(P=u.length>3&&"function"==typeof P?(M--,P):L,z&&_s(m[0],m[1],z)&&(P=M<3?L:P,M=1),h=fi(h);++b-1?M[P?h[z]:z]:L}}function Fu(u){return Qa(function(h){var m=h.length,b=m,M=_o.prototype.thru;for(u&&h.reverse();b--;){var P=h[b];if("function"!=typeof P)throw new ga(ft);if(M&&!z&&"wrapper"==Jp(P))var z=new _o([],!0)}for(b=z?b:m;++b1&&Bn.reverse(),Ce&&XH))return!1;var be=P.get(u),Ce=P.get(h);if(be&&Ce)return be==h&&Ce==u;var Re=-1,et=!0,St=2&m?new ya:L;for(P.set(u,h),P.set(h,u);++Re-1&&u%1==0&&u1?"& ":"")+h[b],h=h.join(m>2?", ":" "),u.replace(he,"{\n/* [wrapped with "+h+"] */\n")}(b,function(u,h){return hs(Dh,function(m){var b="_."+m[0];h&m[1]&&!Il(u,b)&&u.push(b)}),u.sort()}(function(u){var h=u.match(pe);return h?h[1].split(Ge):[]}(b),m)))}function ey(u){var h=0,m=0;return function(){var b=p2(),M=16-(b-m);if(m=b,M>0){if(++h>=800)return arguments[0]}else h=0;return u.apply(L,arguments)}}function jd(u,h){var m=-1,b=u.length,M=b-1;for(h=h===L?b:h;++m1?u[h-1]:L;return m="function"==typeof m?(u.pop(),m):L,j1(u,m)});function dy(u){var h=O(u);return h.__chain__=!0,h}function $d(u,h){return h(u)}var hy=Qa(function(u){var h=u.length,m=h?u[0]:0,b=this.__wrapped__,M=function(P){return P_(P,u)};return!(h>1||this.__actions__.length)&&b instanceof Cn&&bo(m)?((b=b.slice(m,+m+(h?1:0))).__actions__.push({func:$d,args:[M],thisArg:L}),new _o(b,this.__chain__).thru(function(P){return h&&!P.length&&P.push(L),P})):this.thru(M)}),$1=br(function(u,h,m){pi.call(u,m)?++u[m]:Ya(u,m,1)}),q1=Y0(ny),Y1=Y0(iy);function my(u,h){return(Bt(u)?hs:Mc)(u,Ut(h,3))}function og(u,h){return(Bt(u)?yd:k_)(u,Ut(h,3))}var K1=br(function(u,h,m){pi.call(u,m)?u[m].push(h):Ya(u,m,[h])}),xC=wn(function(u,h,m){var b=-1,M="function"==typeof h,P=$s(u)?se(u.length):[];return Mc(u,function(z){P[++b]=M?Ar(h,z,m):ba(z,h,m)}),P}),TC=br(function(u,h,m){Ya(u,m,h)});function el(u,h){return(Bt(u)?hi:n1)(u,Ut(h,3))}var DC=br(function(u,h,m){u[m?0:1].push(h)},function(){return[[],[]]}),lg=wn(function(u,h){if(null==u)return[];var m=h.length;return m>1&&_s(u,h[0],h[1])?h=[]:m>2&&_s(h[0],h[1],h[2])&&(h=[h[0]]),Jh(u,Xr(h,1),[])}),Bu=Bx||function(){return Kn.Date.now()};function cg(u,h,m){return h=m?L:h,Ll(u,128,L,L,L,L,h=u&&null==h?u.length:h)}function yy(u,h){var m;if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){return--u>0&&(m=h.apply(this,arguments)),u<=1&&(h=L),m}}var cf=wn(function(u,h,m){var b=1;if(m.length){var M=Eu(m,zd(cf));b|=32}return Ll(u,b,h,m,M)}),Wd=wn(function(u,h,m){var b=3;if(m.length){var M=Eu(m,zd(Wd));b|=32}return Ll(h,b,u,m,M)});function NC(u,h,m){var b,M,P,z,H,X,be=0,Ce=!1,Re=!1,et=!0;if("function"!=typeof u)throw new ga(ft);function St(Qn){var sl=b,Lc=M;return b=M=L,be=Qn,z=u.apply(Lc,sl)}function Wt(Qn){return be=Qn,H=rf(Sn,h),Ce?St(Qn):z}function Xt(Qn){var sl=Qn-X;return X===L||sl>=h||sl<0||Re&&Qn-be>=P}function Sn(){var Qn=Bu();if(Xt(Qn))return Bn(Qn);H=rf(Sn,function(Qn){var sA=h-(Qn-X);return Re?Lr(sA,P-(Qn-be)):sA}(Qn))}function Bn(Qn){return H=L,et&&b?St(Qn):(b=M=L,z)}function Yo(){var Qn=Bu(),sl=Xt(Qn);if(b=arguments,M=this,X=Qn,sl){if(H===L)return Wt(X);if(Re)return a1(H),H=rf(Sn,h),St(X)}return H===L&&(H=rf(Sn,h)),z}return h=Gs(h)||0,Xi(m)&&(Ce=!!m.leading,P=(Re="maxWait"in m)?pr(Gs(m.maxWait)||0,h):P,et="trailing"in m?!!m.trailing:et),Yo.cancel=function(){H!==L&&a1(H),be=0,b=X=M=H=L},Yo.flush=function(){return H===L?z:Bn(Bu())},Yo}var eT=wn(function(u,h){return Kh(u,1,h)}),LC=wn(function(u,h,m){return Kh(u,Gs(h)||0,m)});function uf(u,h){if("function"!=typeof u||null!=h&&"function"!=typeof h)throw new ga(ft);var m=function(){var b=arguments,M=h?h.apply(this,b):b[0],P=m.cache;if(P.has(M))return P.get(M);var z=u.apply(this,b);return m.cache=P.set(M,z)||P,z};return m.cache=new(uf.Cache||Wa),m}function Cy(u){if("function"!=typeof u)throw new ga(ft);return function(){var h=arguments;switch(h.length){case 0:return!u.call(this);case 1:return!u.call(this,h[0]);case 2:return!u.call(this,h[0],h[1]);case 3:return!u.call(this,h[0],h[1],h[2])}return!u.apply(this,h)}}uf.Cache=Wa;var tT=o1(function(u,h){var m=(h=1==h.length&&Bt(h[0])?hi(h[0],Lo(Ut())):hi(Xr(h,1),Lo(Ut()))).length;return wn(function(b){for(var M=-1,P=Lr(b.length,m);++M=h}),tl=Qx(function(){return arguments}())?Qx:function(u){return Ki(u)&&pi.call(u,"callee")&&!Dp.call(u,"callee")},Bt=se.isArray,HC=it?Lo(it):function(u){return Ki(u)&&Kr(u)==El};function $s(u){return null!=u&&Ey(u.length)&&!Wo(u)}function Yi(u){return Ki(u)&&$s(u)}var nl=Dr||Wy,$C=bn?Lo(bn):function(u){return Ki(u)&&Kr(u)==pt};function Ea(u){if(!Ki(u))return!1;var h=Kr(u);return h==ki||"[object DOMException]"==h||"string"==typeof u.message&&"string"==typeof u.name&&!fg(u)}function Wo(u){if(!Xi(u))return!1;var h=Kr(u);return h==la||h==La||"[object AsyncFunction]"==h||"[object Proxy]"==h}function hg(u){return"number"==typeof u&&u==hn(u)}function Ey(u){return"number"==typeof u&&u>-1&&u%1==0&&u<=Gn}function Xi(u){var h=typeof u;return null!=u&&("object"==h||"function"==h)}function Ki(u){return null!=u&&"object"==typeof u}var dT=Oi?Lo(Oi):function(u){return Ki(u)&&ms(u)==Fi};function pT(u){return"number"==typeof u||Ki(u)&&Kr(u)==$r}function fg(u){if(!Ki(u)||Kr(u)!=ir)return!1;var h=ma(u);if(null===h)return!0;var m=pi.call(h,"constructor")&&h.constructor;return"function"==typeof m&&m instanceof m&&qi.call(m)==Nx}var YC=js?Lo(js):function(u){return Ki(u)&&Kr(u)==Gr},gT=bc?Lo(bc):function(u){return Ki(u)&&ms(u)==Nr};function My(u){return"string"==typeof u||!Bt(u)&&Ki(u)&&Kr(u)==ii}function qo(u){return"symbol"==typeof u||Ki(u)&&Kr(u)==pc}var df=Tr?Lo(Tr):function(u){return Ki(u)&&Ey(u.length)&&!!Ne[Kr(u)]},Rc=Kp(j0),xy=Kp(function(u,h){return u<=h});function XC(u){if(!u)return[];if($s(u))return My(u)?$a(u):Ds(u);if(jh&&u[jh])return function(q){for(var fe,se=[];!(fe=q.next()).done;)se.push(fe.value);return se}(u[jh]());var h=ms(u);return(h==Fi?x0:h==Nr?m_:Zd)(u)}function il(u){return u?(u=Gs(u))===pn||u===-pn?17976931348623157e292*(u<0?-1:1):u==u?u:0:0===u?u:0}function hn(u){var h=il(u),m=h%1;return h==h?m?h-m:h:0}function Ty(u){return u?Tu(hn(u),0,jt):0}function Gs(u){if("number"==typeof u)return u;if(qo(u))return NaN;if(Xi(u)){var h="function"==typeof u.valueOf?u.valueOf():u;u=Xi(h)?h+"":h}if("string"!=typeof u)return 0===u?u:+u;u=M0(u);var m=Hi.test(u);return m||_n.test(u)?S0(u.slice(2),m?2:8):ri.test(u)?NaN:+u}function KC(u){return Ca(u,Is(u))}function Zn(u){return null==u?"":vo(u)}var mT=Fl(function(u,h){if(tg(h)||$s(h))Ca(h,es(h),u);else for(var m in h)pi.call(h,m)&&qa(u,m,h[m])}),_T=Fl(function(u,h){Ca(h,Is(h),u)}),qd=Fl(function(u,h,m,b){Ca(h,Is(h),u,b)}),yT=Fl(function(u,h,m,b){Ca(h,es(h),u,b)}),ZC=Qa(P_),bT=wn(function(u,h){u=fi(u);var m=-1,b=h.length,M=b>2?h[2]:L;for(M&&_s(h[0],h[1],M)&&(b=1);++m1),P}),Ca(u,W_(u),m),b&&(m=ps(m,7,Zp));for(var M=h.length;M--;)Ou(m,h[M]);return m}),MT=Qa(function(u,h){return null==u?{}:function(u,h){return U0(u,h,function(m,b){return pg(u,b)})}(u,h)});function rw(u,h){if(null==u)return{};var m=hi(W_(u),function(b){return[b]});return h=Ut(h),U0(u,m,function(b,M){return h(b,M[0])})}var xT=Nu(es),ow=Nu(Is);function Zd(u){return null==u?[]:g_(u,es(u))}var IT=Nl(function(u,h,m){return h=h.toLowerCase(),u+(m?Iy(h):h)});function Iy(u){return _g(Zn(u).toLowerCase())}function Py(u){return(u=Zn(u))&&u.replace(_c,s2).replace(d_,"")}var RT=Nl(function(u,h,m){return u+(m?"-":"")+h.toLowerCase()}),kT=Nl(function(u,h,m){return u+(m?" ":"")+h.toLowerCase()}),$2=qp("toLowerCase"),VT=Nl(function(u,h,m){return u+(m?"_":"")+h.toLowerCase()}),Fy=Nl(function(u,h,m){return u+(m?" ":"")+_g(h)}),hw=Nl(function(u,h,m){return u+(m?" ":"")+h.toUpperCase()}),_g=qp("toUpperCase");function Vy(u,h,m){return u=Zn(u),(h=m?L:h)===L?function(q){return Dl.test(q)}(u)?function(q){return q.match(b0)||[]}(u):function(q){return q.match(an)||[]}(u):u.match(h)||[]}var zy=wn(function(u,h){try{return Ar(u,L,h)}catch(m){return Ea(m)?m:new Rt(m)}}),fw=Qa(function(u,h){return hs(h,function(m){m=mn(m),Ya(u,m,cf(u[m],u))}),u});function jy(u){return function(){return u}}var W2=Fu(),Fc=Fu(!0);function Ps(u){return u}function Vu(u){return t1("function"==typeof u?u:ps(u,1))}var Uy=wn(function(u,h){return function(m){return ba(m,u,h)}}),pw=wn(function(u,h){return function(m){return ba(u,m,h)}});function Hy(u,h,m){var b=es(h),M=Qh(h,b);null==m&&(!Xi(h)||!M.length&&b.length)&&(m=h,h=u,u=this,M=Qh(h,es(h)));var P=!(Xi(m)&&"chain"in m&&!m.chain),z=Wo(u);return hs(M,function(H){var X=h[H];u[H]=X,z&&(u.prototype[H]=function(){var be=this.__chain__;if(P||be){var Ce=u(this.__wrapped__),Re=Ce.__actions__=Ds(this.__actions__);return Re.push({func:X,args:arguments,thisArg:u}),Ce.__chain__=be,Ce}return X.apply(u,fr([this.value()],arguments))})}),u}function $y(){}var WT=Yp(hi),qT=Yp(gn),mw=Yp(go);function zu(u){return Uo(u)?f_(mn(u)):function(u){return function(h){return Bo(h,u)}}(u)}var XT=K0(),KT=K0(!0);function Nc(){return[]}function Wy(){return!1}var Nt=$_(function(u,h){return u+h},0),qy=Vd("ceil"),Y2=$_(function(u,h){return u/h},1),jl=Vd("floor"),bw=$_(function(u,h){return u*h},1),Cw=Vd("round"),ww=$_(function(u,h){return u-h},0);return O.after=function(u,h){if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){if(--u<1)return h.apply(this,arguments)}},O.ary=cg,O.assign=mT,O.assignIn=_T,O.assignInWith=qd,O.assignWith=yT,O.at=ZC,O.before=yy,O.bind=cf,O.bindAll=fw,O.bindKey=Wd,O.castArray=function(){if(!arguments.length)return[];var u=arguments[0];return Bt(u)?u:[u]},O.chain=dy,O.chunk=function(u,h,m){h=(m?_s(u,h,m):h===L)?1:pr(hn(h),0);var b=null==u?0:u.length;if(!b||h<1)return[];for(var M=0,P=0,z=se(Oe(b/h));MM?0:M+m),(b=b===L||b>M?M:hn(b))<0&&(b+=M),b=m>b?0:Ty(b);m>>0)?(u=Zn(u))&&("string"==typeof h||null!=h&&!YC(h))&&!(h=vo(h))&&Lh(u)?Ka($a(u),0,m):u.split(h,m):[]},O.spread=function(u,h){if("function"!=typeof u)throw new ga(ft);return h=null==h?0:pr(hn(h),0),wn(function(m){var b=m[h],M=Ka(m,0,h);return b&&fr(M,b),Ar(u,this,M)})},O.tail=function(u){var h=null==u?0:u.length;return h?Qr(u,1,h):[]},O.take=function(u,h,m){return u&&u.length?Qr(u,0,(h=m||h===L?1:hn(h))<0?0:h):[]},O.takeRight=function(u,h,m){var b=null==u?0:u.length;return b?Qr(u,(h=b-(h=m||h===L?1:hn(h)))<0?0:h,b):[]},O.takeRightWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3),!1,!0):[]},O.takeWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3)):[]},O.tap=function(u,h){return h(u),u},O.throttle=function(u,h,m){var b=!0,M=!0;if("function"!=typeof u)throw new ga(ft);return Xi(m)&&(b="leading"in m?!!m.leading:b,M="trailing"in m?!!m.trailing:M),NC(u,h,{leading:b,maxWait:h,trailing:M})},O.thru=$d,O.toArray=XC,O.toPairs=xT,O.toPairsIn=ow,O.toPath=function(u){return Bt(u)?hi(u,mn):qo(u)?[u]:Ds(lC(Zn(u)))},O.toPlainObject=KC,O.transform=function(u,h,m){var b=Bt(u),M=b||nl(u)||df(u);if(h=Ut(h,4),null==m){var P=u&&u.constructor;m=M?b?new P:[]:Xi(u)&&Wo(P)?xu(ma(u)):{}}return(M?hs:Xa)(u,function(z,H,X){return h(m,z,H,X)}),m},O.unary=function(u){return cg(u,1)},O.union=yC,O.unionBy=ly,O.unionWith=sg,O.uniq=function(u){return u&&u.length?Tc(u):[]},O.uniqBy=function(u,h){return u&&u.length?Tc(u,Ut(h,2)):[]},O.uniqWith=function(u,h){return h="function"==typeof h?h:L,u&&u.length?Tc(u,L,h):[]},O.unset=function(u,h){return null==u||Ou(u,h)},O.unzip=vC,O.unzipWith=j1,O.update=function(u,h,m){return null==u?u:$p(u,h,U_(m))},O.updateWith=function(u,h,m,b){return b="function"==typeof b?b:L,null==u?u:$p(u,h,U_(m),b)},O.values=Zd,O.valuesIn=function(u){return null==u?[]:g_(u,Is(u))},O.without=bC,O.words=Vy,O.wrap=function(u,h){return ug(U_(h),u)},O.xor=R2,O.xorBy=Co,O.xorWith=cy,O.zip=uy,O.zipObject=function(u,h){return Gp(u||[],h||[],qa)},O.zipObjectDeep=function(u,h){return Gp(u||[],h||[],Hp)},O.zipWith=lf,O.entries=xT,O.entriesIn=ow,O.extend=_T,O.extendWith=qd,Hy(O,O),O.add=Nt,O.attempt=zy,O.camelCase=IT,O.capitalize=Iy,O.ceil=qy,O.clamp=function(u,h,m){return m===L&&(m=h,h=L),m!==L&&(m=(m=Gs(m))==m?m:0),h!==L&&(h=(h=Gs(h))==h?h:0),Tu(Gs(u),h,m)},O.clone=function(u){return ps(u,4)},O.cloneDeep=function(u){return ps(u,5)},O.cloneDeepWith=function(u,h){return ps(u,5,h="function"==typeof h?h:L)},O.cloneWith=function(u,h){return ps(u,4,h="function"==typeof h?h:L)},O.conformsTo=function(u,h){return null==h||Vp(u,h,es(h))},O.deburr=Py,O.defaultTo=function(u,h){return null==u||u!=u?h:u},O.divide=Y2,O.endsWith=function(u,h,m){u=Zn(u),h=vo(h);var b=u.length,M=m=m===L?b:Tu(hn(m),0,b);return(m-=h.length)>=0&&u.slice(m,M)==h},O.eq=kt,O.escape=function(u){return(u=Zn(u))&&Je.test(u)?u.replace(mu,o2):u},O.escapeRegExp=function(u){return(u=Zn(u))&&Z.test(u)?u.replace(B,"\\$&"):u},O.every=function(u,h,m){var b=Bt(u)?gn:L0;return m&&_s(u,h,m)&&(h=L),b(u,Ut(h,3))},O.find=q1,O.findIndex=ny,O.findKey=function(u,h){return Fh(u,Ut(h,3),Xa)},O.findLast=Y1,O.findLastIndex=iy,O.findLastKey=function(u,h){return Fh(u,Ut(h,3),zp)},O.floor=jl,O.forEach=my,O.forEachRight=og,O.forIn=function(u,h){return null==u?u:Dd(u,Ut(h,3),Is)},O.forInRight=function(u,h){return null==u?u:Od(u,Ut(h,3),Is)},O.forOwn=function(u,h){return u&&Xa(u,Ut(h,3))},O.forOwnRight=function(u,h){return u&&zp(u,Ut(h,3))},O.get=pf,O.gt=G,O.gte=UC,O.has=function(u,h){return null!=u&&iC(u,h,Id)},O.hasIn=pg,O.head=uC,O.identity=Ps,O.includes=function(u,h,m,b){u=$s(u)?u:Zd(u),m=m&&!b?hn(m):0;var M=u.length;return m<0&&(m=pr(M+m,0)),My(u)?m<=M&&u.indexOf(h,m)>-1:!!M&&Ha(u,h,m)>-1},O.indexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=null==m?0:hn(m);return M<0&&(M=pr(b+M,0)),Ha(u,h,M)},O.inRange=function(u,h,m){return h=il(h),m===L?(m=h,h=0):m=il(m),function(u,h,m){return u>=Lr(h,m)&&u=-Gn&&u<=Gn},O.isSet=gT,O.isString=My,O.isSymbol=qo,O.isTypedArray=df,O.isUndefined=function(u){return u===L},O.isWeakMap=function(u){return Ki(u)&&ms(u)==di},O.isWeakSet=function(u){return Ki(u)&&"[object WeakSet]"==Kr(u)},O.join=function(u,h){return null==u?"":Uh.call(u,h)},O.kebabCase=RT,O.last=Ho,O.lastIndexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=b;return m!==L&&(M=(M=hn(m))<0?pr(b+M,0):Lr(M,b-1)),h==h?function(q,fe,se){for(var lt=se+1;lt--;)if(q[lt]===fe)return lt;return lt}(u,h,M):bd(u,Cc,M,!0)},O.lowerCase=kT,O.lowerFirst=$2,O.lt=Rc,O.lte=xy,O.max=function(u){return u&&u.length?Zh(u,Ps,Zr):L},O.maxBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),Zr):L},O.mean=function(u){return qr(u,Ps)},O.meanBy=function(u,h){return qr(u,Ut(h,2))},O.min=function(u){return u&&u.length?Zh(u,Ps,j0):L},O.minBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),j0):L},O.stubArray=Nc,O.stubFalse=Wy,O.stubObject=function(){return{}},O.stubString=function(){return""},O.stubTrue=function(){return!0},O.multiply=bw,O.nth=function(u,h){return u&&u.length?Du(u,hn(h)):L},O.noConflict=function(){return Kn._===this&&(Kn._=C_),this},O.noop=$y,O.now=Bu,O.pad=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;if(!h||b>=h)return u;var M=(h-b)/2;return Xp(Dn(M),m)+u+Xp(Oe(M),m)},O.padEnd=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;return h&&bh){var b=u;u=h,h=b}if(m||u%1||h%1){var M=Hh();return Lr(u+M*(h-u+Ax("1e-"+((M+"").length-1))),h)}return kl(u,h)},O.reduce=function(u,h,m){var b=Bt(u)?wu:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,Mc)},O.reduceRight=function(u,h,m){var b=Bt(u)?vd:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,k_)},O.repeat=function(u,h,m){return h=(m?_s(u,h,m):h===L)?1:hn(h),Up(Zn(u),h)},O.replace=function(){var u=arguments,h=Zn(u[0]);return u.length<3?h:h.replace(u[1],u[2])},O.result=function(u,h,m){var b=-1,M=(h=Dc(h,u)).length;for(M||(M=1,u=L);++bGn)return[];var m=jt,b=Lr(u,jt);h=Ut(h),u-=jt;for(var M=wd(b,h);++m=P)return u;var H=m-Bh(b);if(H<1)return b;var X=z?Ka(z,0,H).join(""):u.slice(0,H);if(M===L)return X+b;if(z&&(H+=X.length-H),YC(M)){if(u.slice(H).search(M)){var be,Ce=X;for(M.global||(M=v_(M.source,Zn(ln.exec(M))+"g")),M.lastIndex=0;be=M.exec(Ce);)var Re=be.index;X=X.slice(0,Re===L?H:Re)}}else if(u.indexOf(vo(M),H)!=H){var et=X.lastIndexOf(M);et>-1&&(X=X.slice(0,et))}return X+b},O.unescape=function(u){return(u=Zn(u))&&Vs.test(u)?u.replace(pd,y_):u},O.uniqueId=function(u){var h=++f2;return Zn(u)+h},O.upperCase=hw,O.upperFirst=_g,O.each=my,O.eachRight=og,O.first=uC,Hy(O,function(){var u={};return Xa(O,function(h,m){pi.call(O.prototype,m)||(u[m]=h)}),u}(),{chain:!1}),O.VERSION="4.17.21",hs(["bind","bindKey","curry","curryRight","partial","partialRight"],function(u){O[u].placeholder=O}),hs(["drop","take"],function(u,h){Cn.prototype[u]=function(m){m=m===L?1:pr(hn(m),0);var b=this.__filtered__&&!h?new Cn(this):this.clone();return b.__filtered__?b.__takeCount__=Lr(m,b.__takeCount__):b.__views__.push({size:Lr(m,jt),type:u+(b.__dir__<0?"Right":"")}),b},Cn.prototype[u+"Right"]=function(m){return this.reverse()[u](m).reverse()}}),hs(["filter","map","takeWhile"],function(u,h){var m=h+1,b=1==m||3==m;Cn.prototype[u]=function(M){var P=this.clone();return P.__iteratees__.push({iteratee:Ut(M,3),type:m}),P.__filtered__=P.__filtered__||b,P}}),hs(["head","last"],function(u,h){var m="take"+(h?"Right":"");Cn.prototype[u]=function(){return this[m](1).value()[0]}}),hs(["initial","tail"],function(u,h){var m="drop"+(h?"":"Right");Cn.prototype[u]=function(){return this.__filtered__?new Cn(this):this[m](1)}}),Cn.prototype.compact=function(){return this.filter(Ps)},Cn.prototype.find=function(u){return this.filter(u).head()},Cn.prototype.findLast=function(u){return this.reverse().find(u)},Cn.prototype.invokeMap=wn(function(u,h){return"function"==typeof u?new Cn(this):this.map(function(m){return ba(m,u,h)})}),Cn.prototype.reject=function(u){return this.filter(Cy(Ut(u)))},Cn.prototype.slice=function(u,h){u=hn(u);var m=this;return m.__filtered__&&(u>0||h<0)?new Cn(m):(u<0?m=m.takeRight(-u):u&&(m=m.drop(u)),h!==L&&(m=(h=hn(h))<0?m.dropRight(-h):m.take(h-u)),m)},Cn.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},Cn.prototype.toArray=function(){return this.take(jt)},Xa(Cn.prototype,function(u,h){var m=/^(?:filter|find|map|reject)|While$/.test(h),b=/^(?:head|last)$/.test(h),M=O[b?"take"+("last"==h?"Right":""):h],P=b||/^find/.test(h);!M||(O.prototype[h]=function(){var z=this.__wrapped__,H=b?[1]:arguments,X=z instanceof Cn,be=H[0],Ce=X||Bt(z),Re=function(Sn){var Bn=M.apply(O,fr([Sn],H));return b&&et?Bn[0]:Bn};Ce&&m&&"function"==typeof be&&1!=be.length&&(X=Ce=!1);var et=this.__chain__,St=!!this.__actions__.length,Wt=P&&!et,En=X&&!St;if(!P&&Ce){z=En?z:new Cn(this);var Xt=u.apply(z,H);return Xt.__actions__.push({func:$d,args:[Re],thisArg:L}),new _o(Xt,et)}return Wt&&En?u.apply(this,H):(Xt=this.thru(Re),Wt?b?Xt.value()[0]:Xt.value():Xt)})}),hs(["pop","push","shift","sort","splice","unshift"],function(u){var h=Ii[u],m=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",b=/^(?:pop|shift)$/.test(u);O.prototype[u]=function(){var M=arguments;if(b&&!this.__chain__){var P=this.value();return h.apply(Bt(P)?P:[],M)}return this[m](function(z){return h.apply(Bt(z)?z:[],M)})}}),Xa(Cn.prototype,function(u,h){var m=O[h];if(m){var b=m.name+"";pi.call(Md,b)||(Md[b]=[]),Md[b].push({name:h,func:m})}}),Md[Ic(L,2).name]=[{name:"wrapper",func:L}],Cn.prototype.clone=function(){var u=new Cn(this.__wrapped__);return u.__actions__=Ds(this.__actions__),u.__dir__=this.__dir__,u.__filtered__=this.__filtered__,u.__iteratees__=Ds(this.__iteratees__),u.__takeCount__=this.__takeCount__,u.__views__=Ds(this.__views__),u},Cn.prototype.reverse=function(){if(this.__filtered__){var u=new Cn(this);u.__dir__=-1,u.__filtered__=!0}else(u=this.clone()).__dir__*=-1;return u},Cn.prototype.value=function(){var u=this.__wrapped__.value(),h=this.__dir__,m=Bt(u),b=h<0,M=m?u.length:0,P=function(u,h,m){for(var b=-1,M=m.length;++b=this.__values__.length;return{done:u,value:u?L:this.__values__[this.__index__++]}},O.prototype.plant=function(u){for(var h,m=this;m instanceof qh;){var b=Ud(m);b.__index__=0,b.__values__=L,h?M.__wrapped__=b:h=b;var M=b;m=m.__wrapped__}return M.__wrapped__=u,h},O.prototype.reverse=function(){var u=this.__wrapped__;if(u instanceof Cn){var h=u;return this.__actions__.length&&(h=new Cn(this)),(h=h.reverse()).__actions__.push({func:$d,args:[ay],thisArg:L}),new _o(h,this.__chain__)}return this.thru(ay)},O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=function(){return s1(this.__wrapped__,this.__actions__)},O.prototype.first=O.prototype.head,jh&&(O.prototype[jh]=function(){return this}),O}();Kn._=Vh,(wt=function(){return Vh}.call(We,ze,We,gt))!==L&&(gt.exports=wt)}.call(this)},478:function(gt){gt.exports=function(){"use strict";function We(W,Y){for(var J=0;JW.length)&&(Y=W.length);for(var J=0,T=new Array(Y);J=W.length?{done:!0}:{done:!1,value:W[T++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Pt={exports:{}};function Ke(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}Pt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Ke,changeDefaults:function(W){Pt.exports.defaults=W}};var Ze=/[&<>"']/,Tt=/[&<>"']/g,Ft=/[<>"']|&(?!#?\w+;)/,we=/[<>"']|&(?!#?\w+;)/g,_e={"&":"&","<":"<",">":">",'"':""","'":"'"},ke=function(Y){return _e[Y]};var Te=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Vt(W){return W.replace(Te,function(Y,J){return"colon"===(J=J.toLowerCase())?":":"#"===J.charAt(0)?"x"===J.charAt(1)?String.fromCharCode(parseInt(J.substring(2),16)):String.fromCharCode(+J.substring(1)):""})}var He=/(^|[^\[])\^/g;var xt=/[^\w:]/g,tn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var Ei={},vi=/^[^:]+:\/*[^/]*$/,bi=/^([^:]+:)[\s\S]*$/,Mr=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ve(W,Y){Ei[" "+W]||(Ei[" "+W]=vi.test(W)?W+"/":Qt(W,"/",!0));var J=-1===(W=Ei[" "+W]).indexOf(":");return"//"===Y.substring(0,2)?J?Y:W.replace(bi,"$1")+Y:"/"===Y.charAt(0)?J?Y:W.replace(Mr,"$1")+Y:W+Y}function Qt(W,Y,J){var T=W.length;if(0===T)return"";for(var D=0;D1;)1&Y&&(J+=W),Y>>=1,W+=W;return J+W},Gn=Pt.exports.defaults,Ae=Qt,Ri=function(W,Y){var T=W.replace(/\|/g,function(B,Z,$){for(var le=!1,he=Z;--he>=0&&"\\"===$[he];)le=!le;return le?"|":" |"}).split(/ \|/),D=0;if(T.length>Y)T.splice(Y);else for(;T.length1?{type:"space",raw:D[0]}:{raw:"\n"}},Y.code=function(T){var D=this.rules.block.code.exec(T);if(D){var B=D[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:D[0],codeBlockStyle:"indented",text:this.options.pedantic?B:Ae(B,"\n")}}},Y.fences=function(T){var D=this.rules.block.fences.exec(T);if(D){var B=D[0],Z=function(W,Y){var J=W.match(/^(\s+)(?:```)/);if(null===J)return Y;var T=J[1];return Y.split("\n").map(function(D){var B=D.match(/^\s+/);return null===B?D:B[0].length>=T.length?D.slice(T.length):D}).join("\n")}(B,D[3]||"");return{type:"code",raw:B,lang:D[2]?D[2].trim():D[2],text:Z}}},Y.heading=function(T){var D=this.rules.block.heading.exec(T);if(D){var B=D[2].trim();if(/#$/.test(B)){var Z=Ae(B,"#");(this.options.pedantic||!Z||/ $/.test(Z))&&(B=Z.trim())}return{type:"heading",raw:D[0],depth:D[1].length,text:B}}},Y.nptable=function(T){var D=this.rules.block.nptable.exec(T);if(D){var B={type:"table",header:Ri(D[1].replace(/^ *| *\| *$/g,"")),align:D[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:D[3]?D[3].replace(/\n$/,"").split("\n"):[],raw:D[0]};if(B.header.length===B.align.length){var $,Z=B.align.length;for($=0;$ ?/gm,"");return{type:"blockquote",raw:D[0],text:B}}},Y.list=function(T){var D=this.rules.block.list.exec(T);if(D){var Ge,an,xn,qt,Et,ln,ri,Hi,$i,B=D[0],Z=D[2],$=Z.length>1,le={type:"list",raw:B,ordered:$,start:$?+Z.slice(0,-1):"",loose:!1,items:[]},he=D[0].match(this.rules.block.item),pe=!1,_n=he.length;xn=this.rules.block.listItemStart.exec(he[0]);for(var Ci=0;Ci<_n;Ci++){if(B=Ge=he[Ci],this.options.pedantic||($i=Ge.match(new RegExp("\\n\\s*\\n {0,"+(xn[0].length-1)+"}\\S")))&&(Et=Ge.length-$i.index+he.slice(Ci+1).join("\n").length,le.raw=le.raw.substring(0,le.raw.length-Et),B=Ge=Ge.substring(0,$i.index),_n=Ci+1),Ci!==_n-1){if(qt=this.rules.block.listItemStart.exec(he[Ci+1]),this.options.pedantic?qt[1].length>xn[1].length:qt[1].length>=xn[0].length||qt[1].length>3){he.splice(Ci,2,he[Ci]+(!this.options.pedantic&&qt[1].length/i.test(Z[0])&&(D=!1),!B&&/^<(pre|code|kbd|script)(\s|>)/i.test(Z[0])?B=!0:B&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Z[0])&&(B=!1),{type:this.options.sanitize?"text":"html",raw:Z[0],inLink:D,inRawBlock:B,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]}},Y.link=function(T){var D=this.rules.inline.link.exec(T);if(D){var B=D[2].trim();if(!this.options.pedantic&&/^$/.test(B))return;var Z=Ae(B.slice(0,-1),"\\");if((B.length-Z.length)%2==0)return}else{var $=xr(D[2],"()");if($>-1){var he=(0===D[0].indexOf("!")?5:4)+D[1].length+$;D[2]=D[2].substring(0,$),D[0]=D[0].substring(0,he).trim(),D[3]=""}}var pe=D[2],Ge="";if(this.options.pedantic){var an=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(pe);an&&(pe=an[1],Ge=an[3])}else Ge=D[3]?D[3].slice(1,-1):"";return pe=pe.trim(),/^$/.test(B)?pe.slice(1):pe.slice(1,-1)),ls(D,{href:pe&&pe.replace(this.rules.inline._escapes,"$1"),title:Ge&&Ge.replace(this.rules.inline._escapes,"$1")},D[0])}},Y.reflink=function(T,D){var B;if((B=this.rules.inline.reflink.exec(T))||(B=this.rules.inline.nolink.exec(T))){var Z=(B[2]||B[1]).replace(/\s+/g," ");if(!(Z=D[Z.toLowerCase()])||!Z.href){var $=B[0].charAt(0);return{type:"text",raw:$,text:$}}return ls(B,Z,B[0])}},Y.emStrong=function(T,D,B){void 0===B&&(B="");var Z=this.rules.inline.emStrong.lDelim.exec(T);if(Z&&(!Z[3]||!B.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var $=Z[1]||Z[2]||"";if(!$||$&&(""===B||this.rules.inline.punctuation.exec(B))){var he,pe,le=Z[0].length-1,Ge=le,an=0,xn="*"===Z[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(xn.lastIndex=0,D=D.slice(-1*T.length+le);null!=(Z=xn.exec(D));)if(he=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6]){if(pe=he.length,Z[3]||Z[4]){Ge+=pe;continue}if((Z[5]||Z[6])&&le%3&&!((le+pe)%3)){an+=pe;continue}if(!((Ge-=pe)>0))return pe=Math.min(pe,pe+Ge+an),Math.min(le,pe)%2?{type:"em",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(1,le+Z.index+pe)}:{type:"strong",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(2,le+Z.index+pe-1)}}}}},Y.codespan=function(T){var D=this.rules.inline.code.exec(T);if(D){var B=D[2].replace(/\n/g," "),Z=/[^ ]/.test(B),$=/^ /.test(B)&&/ $/.test(B);return Z&&$&&(B=B.substring(1,B.length-1)),B=jt(B,!0),{type:"codespan",raw:D[0],text:B}}},Y.br=function(T){var D=this.rules.inline.br.exec(T);if(D)return{type:"br",raw:D[0]}},Y.del=function(T){var D=this.rules.inline.del.exec(T);if(D)return{type:"del",raw:D[0],text:D[2]}},Y.autolink=function(T,D){var Z,$,B=this.rules.inline.autolink.exec(T);if(B)return $="@"===B[2]?"mailto:"+(Z=jt(this.options.mangle?D(B[1]):B[1])):Z=jt(B[1]),{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}},Y.url=function(T,D){var B;if(B=this.rules.inline.url.exec(T)){var Z,$;if("@"===B[2])$="mailto:"+(Z=jt(this.options.mangle?D(B[0]):B[0]));else{var le;do{le=B[0],B[0]=this.rules.inline._backpedal.exec(B[0])[0]}while(le!==B[0]);Z=jt(B[0]),$="www."===B[1]?"http://"+Z:Z}return{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}}},Y.inlineText=function(T,D,B){var $,Z=this.rules.inline.text.exec(T);if(Z)return $=D?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]:jt(this.options.smartypants?B(Z[0]):Z[0]),{type:"text",raw:Z[0],text:$}},W}(),aa=pn_noopTest,Xn=pn_edit,ci=pn_merge,pt={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:aa,table:aa,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};pt.def=Xn(pt.def).replace("label",pt._label).replace("title",pt._title).getRegex(),pt.bullet=/(?:[*+-]|\d{1,9}[.)])/,pt.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,pt.item=Xn(pt.item,"gm").replace(/bull/g,pt.bullet).getRegex(),pt.listItemStart=Xn(/^( *)(bull) */).replace("bull",pt.bullet).getRegex(),pt.list=Xn(pt.list).replace(/bull/g,pt.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+pt.def.source+")").getRegex(),pt._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",pt._comment=/|$)/,pt.html=Xn(pt.html,"i").replace("comment",pt._comment).replace("tag",pt._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pt.paragraph=Xn(pt._paragraph).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.blockquote=Xn(pt.blockquote).replace("paragraph",pt.paragraph).getRegex(),pt.normal=ci({},pt),pt.gfm=ci({},pt.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),pt.gfm.nptable=Xn(pt.gfm.nptable).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.gfm.table=Xn(pt.gfm.table).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.pedantic=ci({},pt.normal,{html:Xn("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",pt._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:aa,paragraph:Xn(pt.normal._paragraph).replace("hr",pt.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",pt.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ye={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:aa,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:aa,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ye.punctuation=Xn(Ye.punctuation).replace(/punctuation/g,Ye._punctuation).getRegex(),Ye.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ye.escapedEmSt=/\\\*|\\_/g,Ye._comment=Xn(pt._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ye.emStrong.lDelim=Xn(Ye.emStrong.lDelim).replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimAst=Xn(Ye.emStrong.rDelimAst,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimUnd=Xn(Ye.emStrong.rDelimUnd,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ye._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ye._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ye.autolink=Xn(Ye.autolink).replace("scheme",Ye._scheme).replace("email",Ye._email).getRegex(),Ye._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ye.tag=Xn(Ye.tag).replace("comment",Ye._comment).replace("attribute",Ye._attribute).getRegex(),Ye._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ye._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ye._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ye.link=Xn(Ye.link).replace("label",Ye._label).replace("href",Ye._href).replace("title",Ye._title).getRegex(),Ye.reflink=Xn(Ye.reflink).replace("label",Ye._label).getRegex(),Ye.reflinkSearch=Xn(Ye.reflinkSearch,"g").replace("reflink",Ye.reflink).replace("nolink",Ye.nolink).getRegex(),Ye.normal=ci({},Ye),Ye.pedantic=ci({},Ye.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ye._label).getRegex(),reflink:Xn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ye._label).getRegex()}),Ye.gfm=ci({},Ye.normal,{escape:Xn(Ye.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(T="x"+T.toString(16)),Y+="&#"+T+";";return Y}var ui=function(){function W(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||La,this.options.tokenizer=this.options.tokenizer||new la,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var T={block:Fi.normal,inline:$r.normal};this.options.pedantic?(T.block=Fi.pedantic,T.inline=$r.pedantic):this.options.gfm&&(T.block=Fi.gfm,T.inline=this.options.breaks?$r.breaks:$r.gfm),this.tokenizer.rules=T}W.lex=function(T,D){return new W(D).lex(T)},W.lexInline=function(T,D){return new W(D).inlineTokens(T)};var Y=W.prototype;return Y.lex=function(T){return T=T.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(T,this.tokens,!0),this.inline(this.tokens),this.tokens},Y.blockTokens=function(T,D,B){var $,le,he,pe,Ge,an,Z=this;for(void 0===D&&(D=[]),void 0===B&&(B=!0),this.options.pedantic&&(T=T.replace(/^ +$/gm,""));T;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(qt){return!!($=qt.call(Z,T,D))&&(T=T.substring($.raw.length),D.push($),!0)}))){if($=this.tokenizer.space(T)){T=T.substring($.raw.length),$.type&&D.push($);continue}if($=this.tokenizer.code(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if($=this.tokenizer.fences(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.heading(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.nptable(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.hr(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.blockquote(T)){T=T.substring($.raw.length),$.tokens=this.blockTokens($.text,[],B),D.push($);continue}if($=this.tokenizer.list(T)){for(T=T.substring($.raw.length),he=$.items.length,le=0;le=0&&(qt=Math.min(qt,ln))}),qt<1/0&&qt>=0&&(Ge=T.substring(0,qt+1))}(),B&&($=this.tokenizer.paragraph(Ge))){pe=D[D.length-1],an&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($),an=Ge.length!==T.length,T=T.substring($.raw.length);continue}if($=this.tokenizer.text(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"text"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if(T){var xn="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(xn);break}throw new Error(xn)}}return D},Y.inline=function(T){var D,B,Z,$,le,he,pe=T.length;for(D=0;D0)for(;null!=(an=this.tokenizer.rules.inline.reflinkSearch.exec(Ge));)Et.includes(an[0].slice(an[0].lastIndexOf("[")+1,-1))&&(Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(an=this.tokenizer.rules.inline.blockSkip.exec(Ge));)Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(an=this.tokenizer.rules.inline.escapedEmSt.exec(Ge));)Ge=Ge.slice(0,an.index)+"++"+Ge.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;T;)if(xn||(qt=""),xn=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(ri){return!!(le=ri.call($,T,D))&&(T=T.substring(le.raw.length),D.push(le),!0)}))){if(le=this.tokenizer.escape(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.tag(T,B,Z)){T=T.substring(le.raw.length),B=le.inLink,Z=le.inRawBlock,(he=D[D.length-1])&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.link(T)){T=T.substring(le.raw.length),"link"===le.type&&(le.tokens=this.inlineTokens(le.text,[],!0,Z)),D.push(le);continue}if(le=this.tokenizer.reflink(T,this.tokens.links)){T=T.substring(le.raw.length),he=D[D.length-1],"link"===le.type?(le.tokens=this.inlineTokens(le.text,[],!0,Z),D.push(le)):he&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.emStrong(T,Ge,qt)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.codespan(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.br(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.del(T)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.autolink(T,lo)){T=T.substring(le.raw.length),D.push(le);continue}if(!B&&(le=this.tokenizer.url(T,lo))){T=T.substring(le.raw.length),D.push(le);continue}if(pe=T,this.options.extensions&&this.options.extensions.startInline&&function(){var ri=1/0,Hi=T.slice(1),$i=void 0;$.options.extensions.startInline.forEach(function(_n){"number"==typeof($i=_n.call(this,Hi))&&$i>=0&&(ri=Math.min(ri,$i))}),ri<1/0&&ri>=0&&(pe=T.substring(0,ri+1))}(),le=this.tokenizer.inlineText(pe,Z,ir)){T=T.substring(le.raw.length),"_"!==le.raw.slice(-1)&&(qt=le.raw.slice(-1)),xn=!0,(he=D[D.length-1])&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(T){var ln="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(ln);break}throw new Error(ln)}}return D},function(W,Y,J){Y&&We(W.prototype,Y),J&&We(W,J)}(W,null,[{key:"rules",get:function(){return{block:Fi,inline:$r}}}]),W}(),Gr=Pt.exports.defaults,Nr=pn_cleanUrl,ii=pn_escape,pc=function(){function W(J){this.options=J||Gr}var Y=W.prototype;return Y.code=function(T,D,B){var Z=(D||"").match(/\S*/)[0];if(this.options.highlight){var $=this.options.highlight(T,Z);null!=$&&$!==T&&(B=!0,T=$)}return T=T.replace(/\n$/,"")+"\n",Z?'
    '+(B?T:ii(T,!0))+"
    \n":"
    "+(B?T:ii(T,!0))+"
    \n"},Y.blockquote=function(T){return"
    \n"+T+"
    \n"},Y.html=function(T){return T},Y.heading=function(T,D,B,Z){return this.options.headerIds?"'+T+"\n":""+T+"\n"},Y.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},Y.list=function(T,D,B){var Z=D?"ol":"ul";return"<"+Z+(D&&1!==B?' start="'+B+'"':"")+">\n"+T+"\n"},Y.listitem=function(T){return"
  • "+T+"
  • \n"},Y.checkbox=function(T){return" "},Y.paragraph=function(T){return"

    "+T+"

    \n"},Y.table=function(T,D){return D&&(D=""+D+""),"\n\n"+T+"\n"+D+"
    \n"},Y.tablerow=function(T){return"\n"+T+"\n"},Y.tablecell=function(T,D){var B=D.header?"th":"td";return(D.align?"<"+B+' align="'+D.align+'">':"<"+B+">")+T+"\n"},Y.strong=function(T){return""+T+""},Y.em=function(T){return""+T+""},Y.codespan=function(T){return""+T+""},Y.br=function(){return this.options.xhtml?"
    ":"
    "},Y.del=function(T){return""+T+""},Y.link=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z='"+B+""},Y.image=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z=''+B+'":">")},Y.text=function(T){return T},W}(),co=function(){function W(){}var Y=W.prototype;return Y.strong=function(T){return T},Y.em=function(T){return T},Y.codespan=function(T){return T},Y.del=function(T){return T},Y.html=function(T){return T},Y.text=function(T){return T},Y.link=function(T,D,B){return""+B},Y.image=function(T,D,B){return""+B},Y.br=function(){return""},W}(),di=function(){function W(){this.seen={}}var Y=W.prototype;return Y.serialize=function(T){return T.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},Y.getNextSafeSlug=function(T,D){var B=T,Z=0;if(this.seen.hasOwnProperty(B)){Z=this.seen[T];do{B=T+"-"+ ++Z}while(this.seen.hasOwnProperty(B))}return D||(this.seen[T]=Z,this.seen[B]=0),B},Y.slug=function(T,D){void 0===D&&(D={});var B=this.serialize(T);return this.getNextSafeSlug(B,D.dryrun)},W}(),Oh=pc,El=co,Va=di,uo=Pt.exports.defaults,za=pn_unescape,us=ui,ho=function(){function W(J){this.options=J||uo,this.options.renderer=this.options.renderer||new Oh,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new El,this.slugger=new Va}W.parse=function(T,D){return new W(D).parse(T)},W.parseInline=function(T,D){return new W(D).parseInline(T)};var Y=W.prototype;return Y.parse=function(T,D){void 0===D&&(D=!0);var Z,$,le,he,pe,Ge,an,xn,qt,Et,ln,ri,Hi,$i,_n,Ci,_c,fo,gd,B="",xl=T.length;for(Z=0;Z0&&"text"===_n.tokens[0].type?(_n.tokens[0].text=fo+" "+_n.tokens[0].text,_n.tokens[0].tokens&&_n.tokens[0].tokens.length>0&&"text"===_n.tokens[0].tokens[0].type&&(_n.tokens[0].tokens[0].text=fo+" "+_n.tokens[0].tokens[0].text)):_n.tokens.unshift({type:"text",text:fo}):$i+=fo),$i+=this.parse(_n.tokens,Hi),qt+=this.renderer.listitem($i,_c,Ci);B+=this.renderer.list(qt,ln,ri);continue;case"html":B+=this.renderer.html(Et.text);continue;case"paragraph":B+=this.renderer.paragraph(this.parseInline(Et.tokens));continue;case"text":for(qt=Et.tokens?this.parseInline(Et.tokens):Et.text;Z+1An error occurred:

    "+mc(le.message+"",!0)+"
    ";throw le}}return Je.options=Je.setOptions=function(W){return gu(Je.defaults,W),mu(Je.defaults),Je},Je.getDefaults=pd,Je.defaults=Vs,Je.use=function(){for(var W=this,Y=arguments.length,J=new Array(Y),T=0;TAn error occurred:

    "+mc(T.message+"",!0)+"
    ";throw T}},Je.Parser=ho,Je.parser=ho.parse,Je.Renderer=Sl,Je.TextRenderer=fu,Je.Lexer=us,Je.lexer=us.lex,Je.Tokenizer=gc,Je.Slugger=pu,Je.parse=Je,Je}()},310:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.isMobile=function(){return void 0!==L.window.orientation},We.default=function(Ze){if(!Ze&&!(0,It.default)())return"Node";if((0,Pt.default)(Ze))return"Electron";var Tt="undefined"!=typeof navigator?navigator:{},Ft=Ze||Tt.userAgent||"";if(Ft.indexOf("Edge")>-1)return"Edge";var we=-1!==Ft.indexOf("MSIE "),_e=-1!==Ft.indexOf("Trident/");return we||_e?"IE":L.window.chrome?"Chrome":L.window.safari?"Safari":L.window.mozInnerScreenX?"Firefox":"Unknown"};var L=ze(151),It=wt(ze(602)),Pt=wt(ze(344))},151:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.console=We.process=We.document=We.global=We.window=We.self=void 0;var L=wt(ze(321)),It={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&process};We.self=It.self||It.window||It.global,We.window=It.window||It.self||It.global,We.global=It.global||It.self||It.window,We.document=It.document||{},We.process=It.process||{};var Ft=console;We.console=Ft},761:(gt,We,ze)=>{"use strict";var L=ze(948),It=ze(321);Object.defineProperty(We,"CO",{enumerable:!0,get:function(){return Pt.global}}),Object.defineProperty(We,"qs",{enumerable:!0,get:function(){return ft.default}});var Pt=ze(151),ft=(Ft(ze(602)),Ft(ze(310)));L(ze(344));function Tt(we){if("function"!=typeof WeakMap)return null;var _e=new WeakMap,ke=new WeakMap;return(Tt=function(Te){return Te?ke:_e})(we)}function Ft(we,_e){if(!_e&&we&&we.__esModule)return we;if(null===we||"object"!==It(we)&&"function"!=typeof we)return{default:we};var ke=Tt(_e);if(ke&&ke.has(we))return ke.get(we);var ye={},Te=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Vt in we)if("default"!==Vt&&Object.prototype.hasOwnProperty.call(we,Vt)){var He=Te?Object.getOwnPropertyDescriptor(we,Vt):null;He&&(He.get||He.set)?Object.defineProperty(ye,Vt,He):ye[Vt]=we[Vt]}return ye.default=we,ke&&ke.set(we,ye),ye}},602:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=Pt,We.isBrowserMainThread=function(){return Pt()&&"undefined"!=typeof document};var L=wt(ze(321)),It=wt(ze(344));function Pt(){return!("object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,It.default)()}},344:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=function(Pt){if("undefined"!=typeof window&&"object"===(0,L.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,L.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Ke="object"===("undefined"==typeof navigator?"undefined":(0,L.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,ft=Pt||Ke;return!!(ft&&ft.indexOf("Electron")>=0)};var L=wt(ze(321))},851:(gt,We,ze)=>{"use strict";var wt={};ze.r(wt),ze.d(wt,{decode:()=>N0e,encode:()=>L0e});var L={};ze.r(L),ze.d(L,{decode:()=>U0e,encode:()=>H0e});var It={};ze.r(It),ze.d(It,{decode:()=>$0e,encode:()=>G0e});var Pt={};function Ke(n){return"function"==typeof n}ze.r(Pt),ze.d(Pt,{decode:()=>W0e,encode:()=>q0e});let ft=!1;const Ze={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else ft&&console.log("RxJS: Back to a better error behavior. Thank you. <3");ft=n},get useDeprecatedSynchronousErrorHandling(){return ft}};function Tt(n){setTimeout(()=>{throw n},0)}const Ft={closed:!0,next(n){},error(n){if(Ze.useDeprecatedSynchronousErrorHandling)throw n;Tt(n)},complete(){}},we=Array.isArray||(n=>n&&"number"==typeof n.length);function _e(n){return null!==n&&"object"==typeof n}const ye=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class Te{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof Te)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof ye?t.errors:t),[])}Te.EMPTY=((n=new Te).closed=!0,n);const He="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class xt extends Te{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Ft;break;case 1:if(!e){this.destination=Ft;break}if("object"==typeof e){e instanceof xt?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new tn(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new tn(this,e,t,i)}}[He](){return this}static create(e,t,i){const r=new xt(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class tn extends xt{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Ke(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==Ft&&(o=Object.create(t),Ke(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;Ze.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=Ze;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):Tt(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;Tt(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);Ze.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),Ze.useDeprecatedSynchronousErrorHandling)throw i;Tt(i)}}__tryOrSetError(e,t,i){if(!Ze.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return Ze.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(Tt(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const vi="function"==typeof Symbol&&Symbol.observable||"@@observable";function bi(n){return n}function Mr(...n){return Ve(n)}function Ve(n){return 0===n.length?bi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let ce=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof xt)return n;if(n[He])return n[He]()}return n||e||t?new xt(n,e,t):new xt(Ft)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||Ze.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),Ze.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){Ze.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof xt?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=zt(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[vi](){return this}pipe(...t){return 0===t.length?this:Ve(t)(this)}toPromise(t){return new(t=zt(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function zt(n){if(n||(n=Ze.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const Qt=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class li extends Te{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class Pi extends xt{constructor(e){super(e),this.destination=e}}let Se=(()=>{class n extends ce{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[He](){return new Pi(this)}lift(t){const i=new pn(this,this);return i.operator=t,i}next(t){if(this.closed)throw new Qt;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew pn(e,t),n})();class pn extends Se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):Te.EMPTY}}function Gn(n){return n&&"function"==typeof n.schedule}function Ae(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new Ri(n,e))}}class Ri{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new jt(e,this.project,this.thisArg))}}class jt extends xt{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const xr=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ye(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const ki=n=>{if(n&&"function"==typeof n[vi])return(n=>e=>{const t=n[vi]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(pt(n))return xr(n);if(Ye(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Tt),e))(n);if(n&&"function"==typeof n[cs])return(n=>e=>{const t=n[cs]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${_e(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Fi(n,e){return new ce(t=>{const i=new Te;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function ui(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[vi]}(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>{const r=n[vi]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ye(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(pt(n))return Fi(n,e);if(function(n){return n&&"function"==typeof n[cs]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new ce(t=>{const i=new Te;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[cs](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof ce?n:new ce(ki(n))}class Gr extends xt{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ii extends xt{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function co(n,e){if(e.closed)return;if(n instanceof ce)return n.subscribe(e);let t;try{t=ki(n)(e)}catch(i){e.error(i)}return t}function di(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(di((r,s)=>ui(n(r,s)).pipe(Ae((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Oh(n,t)))}class Oh{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new El(e,this.project,this.concurrent))}}class El extends ii{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function uo(n=Number.POSITIVE_INFINITY){return di(bi,n)}function za(n,e){return e?Fi(n,e):new ce(xr(n))}function Ni(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Gn(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof ce?n[0]:uo(e)(za(n,t))}function us(){return function(e){return e.lift(new ho(e))}}class ho{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new gc(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class gc extends xt{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Sl extends ce{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new Te,e.add(this.source.subscribe(new pu(this.getSubject(),this))),e.closed&&(this._connection=null,e=Te.EMPTY)),e}refCount(){return us()(this)}}const fu=(()=>{const n=Sl.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class pu extends Pi{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function mc(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new pd(r,e));const s=Object.create(i,fu);return s.source=i,s.subjectFactory=r,s}}class pd{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function mu(){return new Se}function Vs(){return n=>us()(mc(mu)(n))}function Je(n){for(let e in n)if(n[e]===Je)return e;throw Error("Could not find renamed property on target object.")}function _u(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function W(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(W).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function Y(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const J=Je({__forward_ref__:Je});function T(n){return n.__forward_ref__=T,n.toString=function(){return W(this())},n}function D(n){return B(n)?n():n}function B(n){return"function"==typeof n&&n.hasOwnProperty(J)&&n.__forward_ref__===T}class $ extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function pe(n){return"string"==typeof n?n:null==n?"":String(n)}function Ge(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():pe(n)}function Et(n,e){const t=e?` in ${e}`:"";throw new $("201",`No provider for ${Ge(n)} found${t}`)}function Gi(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function ue(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Me(n){return{providers:n.providers||[],imports:n.imports||[]}}function rr(n){return vc(n,ua)||vc(n,Ua)}function vc(n,e){return n.hasOwnProperty(e)?n[e]:null}function Cu(n){return n&&(n.hasOwnProperty(Tl)||n.hasOwnProperty(Sp))?n[Tl]:null}const ua=Je({\u0275prov:Je}),Tl=Je({\u0275inj:Je}),Ua=Je({ngInjectableDef:Je}),Sp=Je({ngInjectorDef:Je});var At=(()=>((At=At||{})[At.Default=0]="Default",At[At.Host=1]="Host",At[At.Self=2]="Self",At[At.SkipSelf=4]="SkipSelf",At[At.Optional=8]="Optional",At))();let Al;function da(n){const e=Al;return Al=n,e}function md(n,e,t){const i=rr(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&At.Optional?null:void 0!==e?e:void Et(W(n),"Injector")}function F(n){return{toString:n}.toString()}var j=(()=>((j=j||{})[j.OnPush=0]="OnPush",j[j.Default=1]="Default",j))(),Ue=(()=>((Ue=Ue||{})[Ue.Emulated=0]="Emulated",Ue[Ue.None=2]="None",Ue[Ue.ShadowDom=3]="ShadowDom",Ue))();const vn="undefined"!=typeof globalThis&&globalThis,dr="undefined"!=typeof window&&window,yr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,Wr="undefined"!=typeof global&&global,cn=vn||Wr||dr||yr,_d={},mi=[],xp=Je({\u0275cmp:Je}),d_=Je({\u0275dir:Je}),Ph=Je({\u0275pipe:Je}),b0=Je({\u0275mod:Je}),xx=Je({\u0275loc:Je}),Dl=Je({\u0275fac:Je}),Rh=Je({__NG_ELEMENT_ID__:Je});let Tx=0;function Ne(n){return F(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===j.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||mi,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Ue.Emulated,id:"c",styles:n.styles||mi,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=Tx++,i.inputs=S0(n.inputs,t),i.outputs=S0(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(C0):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(w0):null,i})}function C0(n){return Kn(n)||function(n){return n[d_]||null}(n)}function w0(n){return function(n){return n[Ph]||null}(n)}const E0={};function Pe(n){return F(()=>{const e={type:n.type,bootstrap:n.bootstrap||mi,declarations:n.declarations||mi,imports:n.imports||mi,exports:n.exports||mi,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(E0[n.id]=n.type),e})}function S0(n,e){if(null==n)return _d;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const oe=Ne;function ds(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Kn(n){return n[xp]||null}function po(n,e){const t=n[b0]||null;if(!t&&!0===e)throw new Error(`Type ${W(n)} does not have '\u0275mod' property.`);return t}function Fo(n){return Array.isArray(n)&&"object"==typeof n[1]}function No(n){return Array.isArray(n)&&!0===n[1]}function p_(n){return 0!=(8&n.flags)}function Cd(n){return 2==(2&n.flags)}function wd(n){return 1==(1&n.flags)}function pa(n){return null!==n.template}function M0(n){return 0!=(512&n[2])}function wc(n,e){return n.hasOwnProperty(Dl)?n[Dl]:null}class y_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function zn(){return A0}function A0(n){return n.type.prototype.ngOnChanges&&(n.setInput=Fx),kx}function kx(){const n=q(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===_d)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function Fx(n,e,t,i){const r=q(n)||function(n,e){return n[Vh]=e}(n,{previous:_d,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new y_(l&&l.currentValue,e,o===_d),n[i]=e}zn.ngInherit=!0;const Vh="__ngSimpleChanges__";function q(n){return n[Vh]||null}const Wn="http://www.w3.org/2000/svg";let fi;function Ii(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==fi?fi:"undefined"!=typeof document?document:void 0};function qi(n){for(;Array.isArray(n);)n=n[0];return n}function zh(n,e){return qi(e[n])}function Ts(n,e){return qi(e[n.index])}function C_(n,e){return n.data[e]}function Ed(n,e){return n[e]}function fs(n,e){const t=e[n];return Fo(t)?t:t[0]}function Pl(n){return 4==(4&n[2])}function Sd(n){return 128==(128&n[2])}function ma(n,e){return null==e?null:n[e]}function w_(n){n[18]=0}function Dp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Yt={lFrame:xu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function O0(){return Yt.bindingsEnabled}function Oe(){return Yt.lFrame.lView}function Dn(){return Yt.lFrame.tView}function en(n){return Yt.lFrame.contextLView=n,n[8]}function Dr(){let n=E_();for(;null!==n&&64===n.type;)n=n.parent;return n}function E_(){return Yt.lFrame.currentTNode}function Ga(n,e){const t=Yt.lFrame;t.currentTNode=n,t.isParent=e}function pr(){return Yt.lFrame.isParent}function Lr(){Yt.lFrame.isParent=!1}function Hh(){return Yt.isInCheckNoChangesMode}function Ip(n){Yt.isInCheckNoChangesMode=n}function Yr(){const n=Yt.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Us(){return Yt.lFrame.bindingIndex}function _a(){return Yt.lFrame.bindingIndex++}function mo(n){const e=Yt.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Md(n,e){const t=Yt.lFrame;t.bindingIndex=t.bindingRootIndex=n,S_(e)}function S_(n){Yt.lFrame.currentDirectiveIndex=n}function M_(n){const e=Yt.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function I0(){return Yt.lFrame.currentQueryIndex}function x_(n){Yt.lFrame.currentQueryIndex=n}function Rp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function xd(n,e,t){if(t&At.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&At.Host||(r=Rp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Yt.lFrame=O();return i.currentTNode=e,i.lView=n,!0}function Wh(n){const e=O(),t=n[1];Yt.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function O(){const n=Yt.lFrame,e=null===n?null:n.child;return null===e?xu(n):e}function xu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qh(){const n=Yt.lFrame;return Yt.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const _o=qh;function Cn(){const n=qh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function As(){return Yt.lFrame.selectedIndex}function Hs(n){Yt.lFrame.selectedIndex=n}function sr(){const n=Yt.lFrame;return C_(n.tView,n.selectedIndex)}function kp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Yh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Lp(n,e,t){const i=Ii(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Ad=!0;function Bp(n){const e=Ad;return Ad=n,e}let P_=0;function ps(n,e){const t=Vp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,R_(i.data,n),R_(e,null),R_(i.blueprint,null));const r=Kh(n,e),s=n.injectorIndex;if(F0(r)){const o=Td(r),a=qa(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function R_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Vp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Kh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Sc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=P_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:V0:e}(t);if("function"==typeof s){if(!xd(e,n,i))return i&At.Host?k_(r,t,i):L0(e,t,i,r);try{const o=s(i);if(null!=o||i&At.Optional)return o;Et(t)}finally{_o()}}else if("number"==typeof s){let o=null,a=Vp(n,e),l=-1,c=i&At.Host?e[16][6]:null;for((-1===a||i&At.SkipSelf)&&(l=-1===a?Kh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Td(l),e=qa(l,e)):a=-1);-1!==a;){const d=e[1];if(zp(s,a,d.data)){const f=Xr(a,e,t,o,i,c);if(f!==B0)return f}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&zp(s,a,e)?(o=d,a=Td(l),e=qa(l,e)):a=-1}}}return L0(e,t,i,r)}const B0={};function V0(){return new Bo(Dr(),Oe())}function Xr(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],d=Dd(a,o,t,null==i?Cd(a)&&Ad:i!=o&&0!=(3&a.type),r&At.Host&&s===a);return null!==d?Od(e,o,d,a):B0}function Dd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,d=s>>20,p=r?a+d:n.directiveEnd;for(let g=i?a:a+d;g=l&&_.type===t)return g}if(r){const g=o[l];if(g&&pa(g)&&g.type===t)return l}return null}function Od(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Yh}(r)){const o=r;o.resolving&&function(n,e){throw new $("200",`Circular dependency in DI detected for ${n}`)}(Ge(s[t]));const a=Bp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?da(o.injectImpl):null;xd(n,i,At.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=A0(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&da(l),Bp(a),o.resolving=!1,_o()}}return r}function zp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Dl]||Kr(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Dl]||Kr(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Kr(n){return B(n)?()=>{const e=Kr(D(n));return e&&e()}:wc(n)}function Zr(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,d){const f=l.hasOwnProperty(Pd)?l[Pd]:Object.defineProperty(l,Pd,{value:[]})[Pd];for(;f.length<=d;)f.push(null);return(f[d]=f[d]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class ve{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=ue({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function Vo(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?zo(t,e):e(t))}function ef(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function kl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function xc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function z_(n,e){const t=Qr(n,e);if(t>=0)return n[1|t]}function Qr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):W(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Dc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ac]=null,n}const Ld=Nd(ba("Inject",n=>({token:n})),-1),br=Nd(ba("Optional"),8),Za=Nd(ba("SkipSelf"),4);let Vd;function Nu(n){var e;return(null===(e=function(){if(void 0===Vd&&(Vd=null,cn.trustedTypes))try{Vd=cn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Vd}())||void 0===e?void 0:e.createHTML(n))||n}class Bl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class W_ extends Bl{getTypeName(){return"HTML"}}class q_ extends Bl{getTypeName(){return"Style"}}class Jp extends Bl{getTypeName(){return"Script"}}class zd extends Bl{getTypeName(){return"URL"}}class Ut extends Bl{getTypeName(){return"ResourceURL"}}function gs(n){return n instanceof Bl?n.changingThisBreaksApplicationSecurity:n}function jo(n,e){const t=Pc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Pc(n){return n instanceof Bl&&n.getTypeName()||null}class iC{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Nu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class f1{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Nu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Nu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0bo(e.trim())).join(", ")}function Uo(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function nf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const eg=Uo("area,br,col,hr,img,wbr"),sC=Uo("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),oC=Uo("rp,rt"),X_=nf(eg,nf(sC,Uo("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nf(oC,Uo("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nf(oC,sC)),K_=Uo("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Z_=Uo("srcset"),Q_=nf(K_,Z_,Uo("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Uo("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),v1=Uo("script,style,template");class J_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!X_.hasOwnProperty(t))return this.sanitizedSomething=!0,!v1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();X_.hasOwnProperty(t)&&!eg.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(ng(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const aC=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,rf=/([^\#-~ |!])/g;function ng(n){return n.replace(/&/g,"&").replace(aC,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(rf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let sf;function ey(n,e){let t=null;try{sf=sf||function(n){const e=new f1(n);return function(){try{return!!(new window.DOMParser).parseFromString(Nu(""),"text/html")}catch(n){return!1}}()?new iC(e):e}(n);let i=e?String(e):"";t=sf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=sf.getInertBodyElement(i)}while(i!==s);return Nu((new J_).sanitizeChildren(jd(t)||t))}finally{if(t){const i=jd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function jd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var mn=(()=>((mn=mn||{})[mn.NONE=0]="NONE",mn[mn.HTML=1]="HTML",mn[mn.STYLE=2]="STYLE",mn[mn.SCRIPT=3]="SCRIPT",mn[mn.URL=4]="URL",mn[mn.RESOURCE_URL=5]="RESOURCE_URL",mn))();function Ud(n){const e=function(){const n=Oe();return n&&n[12]}();return e?e.sanitize(mn.URL,n)||"":jo(n,"URL")?gs(n):bo(pe(n))}const iy="__ngContext__";function Jr(n,e){n[iy]=e}function ry(n){const e=function(n){return n[iy]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function ig(n){return n.ngOriginalError}function P1(n,...e){n.error(...e)}class $o{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||P1}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(ig(e)):null}_findOriginalError(e){let t=e&&ig(e);for(;t&&ig(t);)t=ig(t);return t||null}}const yC=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(cn))();function ly(n){return n.ownerDocument.defaultView}function sg(n){return n.ownerDocument}function Ja(n){return n instanceof Function?n():n}var Co=(()=>((Co=Co||{})[Co.Important=1]="Important",Co[Co.DashCase=2]="DashCase",Co))();function uy(n,e){return undefined(n,e)}function lf(n){const e=n[3];return No(e)?e[3]:e}function $d(n){return EC(n[13])}function hy(n){return EC(n[4])}function EC(n){for(;null!==n&&!No(n);)n=n[4];return n}function Gd(n,e,t,i,r){if(null!=i){let s,o=!1;No(i)?s=i:Fo(i)&&(o=!0,i=i[0]);const a=qi(i);0===n&&null!==t?null==r?AC(e,t,a):el(e,t,a,r||null,!0):1===n&&null!==t?el(e,t,a,r||null,!0):2===n?function(n,e,t){const i=ag(n,e);i&&function(n,e,t,i){Ii(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==qi(t)&&Gd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=kl(n,10+e);!function(n,e){Wd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function my(n,e){if(!(256&e[2])){const t=e[11];Ii(t)&&t.destroyNode&&Wd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return og(n[1],n);for(;e;){let t=null;if(Fo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Fo(e)&&og(e[1],e),e=e[3];null===e&&(e=n),Fo(e)&&og(e[1],e),t=e&&e[4]}e=t}}(e)}}function og(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[f+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==p){if(wa(i))return!1;o=!0}}}}else{if(!o&&!wa(i)&&!wa(l))return!1;if(o&&wa(l))continue;o=!1,i=l|1&i}}return wa(i)||o}function wa(n){return 0==(1&n)}function iT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!wa(o)&&(e+=jC(s,r),r=""),i=o,s=s||!wa(i);t++}return""!==r&&(e+=jC(s,r)),e}const kt={};function G(n){UC(Dn(),Oe(),As()+n,Hh())}function UC(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Fp(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Np(e,s,0,t)}Hs(t)}function tl(n,e){return n<<17|e<<2}function Bt(n){return n>>17&32767}function Yi(n){return 2|n}function Vl(n){return(131068&n)>>2}function nl(n,e){return-131069&n|e<<2}function wy(n){return 1|n}function ZC(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&UC(n,e,20,Hh()),t(i,r)}finally{Hs(s)}}function JC(n,e,t){if(p_(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function lw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function cw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function IT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&ky(t)}}function ky(n){for(let i=$d(n);null!==i;i=hy(i))for(let r=10;r0&&ky(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&ky(r)}}function BT(n,e){const t=fs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function hw(n){return n[7]||(n[7]=[])}function _g(n){return n.cleanup||(n.cleanup=[])}function Vy(n,e,t){return(null===n||pa(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function zy(n,e){const t=n[9],i=t?t.get($o,null):null;i&&i.handleError(e)}function fw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),zo([e],a=>this.processInjectorType(a,[],s)),this.records.set(Fc,zu(void 0,this));const o=this.records.get(Vu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:W(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Pu,i=At.Default){this.assertNotDestroyed();const r=Fd(this),s=da(void 0);try{if(!(i&At.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof ve}(e)&&rr(e);a=l&&this.injectableDefInScope(l)?zu(Gy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&At.Self?pw():this.parent).get(e,t=i&At.Optional&&t===Pu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ac]=o[Ac]||[]).unshift(W(e)),r)throw o;return Ds(o,e,"R3InjectorError",this.source)}throw o}finally{da(s),Fd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(W(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=D(e)))return!1;let r=Cu(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Cu(s)),null==r)return!1;if(null!=r.imports&&!a){let d;i.push(o);try{zo(r.imports,f=>{this.processInjectorType(f,t,i)&&(void 0===d&&(d=[]),d.push(f))})}finally{}if(void 0!==d)for(let f=0;fthis.processProvider(_,p,g||mi))}}this.injectorDefTypes.add(o);const l=wc(o)||(()=>new o);this.records.set(o,zu(l,gf));const c=r.providers;if(null!=c&&!a){const d=e;zo(c,f=>this.processProvider(f,d,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Nc(e=D(e))?e:D(e&&e.provide);const s=function(n,e,t){return _w(n)?zu(void 0,n.useValue):zu(mw(n),gf)}(e);if(Nc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zu(void 0,gf,!0),o.factory=()=>ku(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=GT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=D(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Gy(n){const e=rr(n),t=null!==e?e.factory:wc(n);if(null!==t)return t;if(n instanceof ve)throw new Error(`Token ${W(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=xc(e,"?");throw new Error(`Can't resolve all parameters for ${W(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[ua]||n[Ua]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function mw(n,e,t){let i;if(Nc(n)){const r=D(n);return wc(r)||Gy(r)}if(_w(n))i=()=>D(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...ku(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>I(D(n.useExisting));else{const r=D(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return wc(r)||Gy(r);i=()=>new r(...ku(n.deps))}return i}function zu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function _w(n){return null!==n&&"object"==typeof n&&Wp in n}function Nc(n){return"function"==typeof n}const yw=function(n,e,t){return function(n,e=null,t=null,i){const r=gw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Nt{static create(e,t){return Array.isArray(e)?yw(e,t,""):yw(e.providers,e.parent,e.name||"")}}function m7(n,e){kp(ry(n)[1],Dr())}function ct(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(pa(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=oA(n.inputs),o.declaredInputs=oA(n.declaredInputs),o.outputs=oA(n.outputs);const a=r.hostBindings;a&&b7(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&y7(n,l),c&&v7(n,c),_u(n.inputs,r.inputs),_u(n.declaredInputs,r.declaredInputs),_u(n.outputs,r.outputs),pa(r)&&r.data.animation){const d=n.data;d.animation=(d.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Xh(r.hostAttrs,t=Xh(t,r.hostAttrs))}}(i)}function oA(n){return n===_d?{}:n===mi?[]:n}function y7(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function v7(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function b7(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Nt.THROW_IF_NOT_FOUND=Pu,Nt.NULL=new Ps,Nt.\u0275prov=ue({token:Nt,providedIn:"any",factory:()=>I(Fc)}),Nt.__NG_ELEMENT_ID__=-1;let Ew=null;function vg(){if(!Ew){const n=cn.Symbol;if(n&&n.iterator)Ew=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(qi(N[i.index])):i.index;if(Ii(t)){let N=null;if(!a&&l&&(N=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==N)(N.__ngLastListenerFn__||N).__ngNextListenerFn__=s,N.__ngLastListenerFn__=s,g=!1;else{s=fA(i,e,f,s,!1);const V=t.listen(C,r,s);p.push(s,V),d&&d.push(r,x,w,w+1)}}else s=fA(i,e,f,s,!0),C.addEventListener(r,s,o),p.push(s),d&&d.push(r,x,w,o)}else s=fA(i,e,f,s,!1);const _=i.outputs;let y;if(g&&null!==_&&(y=_[r])){const v=y.length;if(v)for(let C=0;C0;)e=e[15],n--;return e}(n,Yt.lFrame.contextLView))[8]}(n)}function J7(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const ts={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function FN(n){return n.substring(ts.key,ts.keyEnd)}function NN(n,e){const t=ts.textEnd;return t===e?-1:(e=ts.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,ts.key=e,t),Ig(n,e,t))}function Ig(n,e,t){for(;e=0;t=NN(e,t))yo(n,FN(e),!0)}function $l(n,e,t,i){const r=Oe(),s=Dn(),o=mo(2);s.firstUpdatePass&&UN(s,n,o,i),e!==kt&&qs(r,o,e)&&$N(s,s.data[As()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=W(gs(n)))),n}(e,t),i,o)}function Gl(n,e,t,i){const r=Dn(),s=mo(2);r.firstUpdatePass&&UN(r,null,s,i);const o=Oe();if(t!==kt&&qs(o,s,t)){const a=r.data[As()];if(WN(a,i)&&!jN(r,s)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Y(l,t||"")),hA(r,a,o,t,i)}else!function(n,e,t,i,r,s,o,a){r===kt&&(r=mi);let l=0,c=0,d=0=n.expandoStartIndex}function UN(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[As()],o=jN(n,t);WN(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=M_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=ev(t=gA(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=gA(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Vl(i))return n[Bt(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=gA(null,n,e,l[1],i),l=ev(l,e.attrs,i),function(n,e,t,i){n[Bt(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else d=t;if(r)if(0!==l){const p=Bt(n[a+1]);n[i+1]=tl(p,a),0!==p&&(n[p+1]=nl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=tl(a,0),0!==a&&(n[a+1]=nl(n[a+1],i)),a=i;else n[i+1]=tl(l,0),0===a?a=i:n[l+1]=nl(n[l+1],i),l=i;c&&(n[i+1]=Yi(n[i+1])),kN(n,d,i,!0),kN(n,d,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Qr(s,e)>=0&&(t[i+1]=wy(t[i+1]))}(e,d,n,i,s),o=tl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function gA(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),d=c?l[1]:l,f=null===d;let p=t[r+1];p===kt&&(p=f?mi:void 0);let g=f?z_(p,i):d===i?p:void 0;if(c&&!Tw(g)&&(g=z_(l,i)),Tw(g)&&(a=g,o))return a;const _=n[r+1];r=o?Bt(_):Vl(_)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=z_(l,i))}return a}function Tw(n){return void 0!==n}function WN(n,e){return 0!=(n.flags&(e?16:32))}function De(n,e=""){const t=Oe(),i=Dn(),r=n+20,s=i.firstCreatePass?Yd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Ii(n)?n.createText(e):n.createTextNode(e)}(t[11],e);lg(i,t,o,s),Ga(s,!1)}function xi(n){return or("",n,""),xi}function or(n,e,t){const i=Oe(),r=Cg(i,n,e,t);return r!==kt&&zl(i,As(),r),or}function Aw(n,e,t,i,r){const s=Oe(),o=function(n,e,t,i,r,s){const a=mf(n,Us(),t,r);return mo(2),a?e+pe(t)+i+pe(r)+s:kt}(s,n,e,t,i,r);return o!==kt&&zl(s,As(),o),Aw}function al(n,e,t){const i=Oe();return qs(i,_a(),e)&&wo(Dn(),sr(),i,n,e,i[11],t,!0),al}function Pg(n,e,t){const i=Oe();if(qs(i,_a(),e)){const s=Dn(),o=sr();wo(s,o,i,n,e,Vy(M_(s.data),o,i),t,!0)}return Pg}const bf=void 0;var FY=["en",[["a","p"],["AM","PM"],bf],[["AM","PM"],bf,bf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],bf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],bf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",bf,"{1} 'at' {0}",bf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let Rg={};function dL(n){return n in Rg||(Rg[n]=cn.ng&&cn.ng.common&&cn.ng.common.locales&&cn.ng.common.locales[n]),Rg[n]}var at=(()=>((at=at||{})[at.LocaleId=0]="LocaleId",at[at.DayPeriodsFormat=1]="DayPeriodsFormat",at[at.DayPeriodsStandalone=2]="DayPeriodsStandalone",at[at.DaysFormat=3]="DaysFormat",at[at.DaysStandalone=4]="DaysStandalone",at[at.MonthsFormat=5]="MonthsFormat",at[at.MonthsStandalone=6]="MonthsStandalone",at[at.Eras=7]="Eras",at[at.FirstDayOfWeek=8]="FirstDayOfWeek",at[at.WeekendRange=9]="WeekendRange",at[at.DateFormat=10]="DateFormat",at[at.TimeFormat=11]="TimeFormat",at[at.DateTimeFormat=12]="DateTimeFormat",at[at.NumberSymbols=13]="NumberSymbols",at[at.NumberFormats=14]="NumberFormats",at[at.CurrencyCode=15]="CurrencyCode",at[at.CurrencySymbol=16]="CurrencySymbol",at[at.CurrencyName=17]="CurrencyName",at[at.Currencies=18]="Currencies",at[at.Directionality=19]="Directionality",at[at.PluralCase=20]="PluralCase",at[at.ExtraData=21]="ExtraData",at))();const Dw="en-US";let hL=Dw;function mA(n){Gi(n,"Expected localeId to be defined"),"string"==typeof n&&(hL=n.toLowerCase().replace(/_/g,"-"))}function vA(n,e,t,i,r){if(n=D(n),Array.isArray(n))for(let s=0;s>20;if(Nc(n)||!n.multi){const g=new Yh(l,r,E),_=CA(a,e,r?d:d+p,f);-1===_?(Sc(ps(c,o),s,a),bA(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[_]=g,o[_]=g)}else{const g=CA(a,e,d+p,f),_=CA(a,e,d,d+p),y=g>=0&&t[g],v=_>=0&&t[_];if(r&&!v||!r&&!y){Sc(ps(c,o),s,a);const C=function(n,e,t,i,r){const s=new Yh(n,t,E);return s.multi=[],s.index=e,s.componentProviders=0,NL(s,r,i&&!t),s}(r?PX:IX,t.length,r,i,l);!r&&v&&(t[_].providerFactory=C),bA(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(C),o.push(C)}else bA(s,n,g>-1?g:_,NL(t[r?_:g],l,!r&&i));!r&&i&&v&&t[_].componentProviders++}}}function bA(n,e,t,i){const r=Nc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function NL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CA(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Dn();if(i.firstCreatePass){const r=pa(n);vA(t,i.data,i.blueprint,r,!0),vA(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class LL{}const VL="ngComponent";class FX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${W(n)}. Did you add it to @NgModule.entryComponents?`);return e[VL]=n,e}(e)}}class ll{}function kw(...n){}function Fg(n,e){return new rt(Ts(n,e))}ll.NULL=new FX;const BX=function(){return Fg(Dr(),Oe())};let rt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=BX,n})();function zL(n){return n instanceof rt?n.nativeElement:n}class Cf{}let zc=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>zX(),n})();const zX=function(){const n=Oe(),t=fs(Dr().index,n);return function(n){return n[11]}(Fo(t)?t:n)};let SA=(()=>{class n{}return n.\u0275prov=ue({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new ju("12.2.5");class UL{constructor(){}supports(e){return Ky(e)}create(e){return new $X(e)}}const HX=(n,e)=>e;class $X{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||HX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<$L(i,r,s)?t:i,a=$L(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,d=l-r;if(c!=d){for(let p=0;p{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new GX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new HL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new HL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class GX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class WX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class HL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new WX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $L(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new YX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class YX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function WL(){return new Ng([new UL])}let Ng=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:WL}),n})();function qL(){return new Lg([new GL])}let Lg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||qL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:qL}),n})();function Fw(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(qi(s)),No(s))for(let a=10;a-1&&(gy(e,i),kl(t,i))}this._attachedToViewContainer=!1}my(this._lView[1],this._lView)}onDestroy(e){tw(this._lView[1],this._lView,null,e)}markForCheck(){Fy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ly(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Ip(!0);try{Ly(n,e,t)}finally{Ip(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Wd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class KX extends sv{constructor(e){super(e),this._view=e}detectChanges(){dw(this._view)}checkNoChanges(){!function(n){Ip(!0);try{dw(n)}finally{Ip(!1)}}(this._view)}get context(){return null}}const QX=function(n){return function(n,e,t){if(Cd(n)&&!t){const i=fs(n.index,e);return new sv(i,i)}return 47&n.type?new sv(e[16],e):null}(Dr(),Oe(),16==(16&n))};let kn=(()=>{class n{}return n.__NG_ELEMENT_ID__=QX,n})();const tK=[new GL],iK=new Ng([new UL]),rK=new Lg(tK),oK=function(){return Nw(Dr(),Oe())};let Ys=(()=>{class n{}return n.__NG_ELEMENT_ID__=oK,n})();const aK=Ys,lK=class extends aK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new sv(i)}};function Nw(n,e){return 4&n.type?new lK(e,n,Fg(n,e)):null}class jc{}const dK=function(){return ZL(Dr(),Oe())};let ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=dK,n})();const fK=ns,XL=class extends fK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Fg(this._hostTNode,this._hostLView)}get injector(){return new Bo(this._hostTNode,this._hostLView)}get parentInjector(){const e=Kh(this._hostTNode,this._hostLView);if(F0(e)){const t=qa(e,this._hostLView),i=Td(e);return new Bo(t[1].data[i+8],t)}return new Bo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=KL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(jc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return No(n[3])}(i)){const d=this.indexOf(e);if(-1!==d)this.detach(d);else{const f=i[3],p=new XL(f,f[6],f[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iyC});class vB extends LL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(lT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return yB(this.componentDef.inputs)}get outputs(){return yB(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,jg,r);return s!==jg||i===jg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Cf,Su),a=s.get(SA,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function(n,e,t){if(Ii(n))return n.selectRootElement(e,t===Ue.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):py(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?Wn:"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),f=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||yC,clean:HT,playerHandler:e||null,flags:0}}(),g=gg(0,null,null,1,0,null,null,null,null,null),_=hf(null,g,p,f,null,null,o,l,a,s);let y,v;Wh(_);try{const C=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Yd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(yg(l,c,!0),null!==n&&(Lp(r,n,c),null!==l.classes&&by(r,n,l.classes),null!==l.styles&&LC(r,n,l.styles)));const d=i.createRenderer(n,e),f=hf(t,pg(e),null,e.onPush?64:16,t[20],l,i,d,s||null,null);return o.firstCreatePass&&(Sc(ps(l,t),o,e.type),cw(o,l),Iy(l,t.length,1)),mg(t,f),t[20]=f}(d,this.componentDef,_,o,l);if(d)if(i)Lp(l,d,["ng-version",jL.full]);else{const{attrs:w,classes:x}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&by(l,d,x.join(" "))}if(v=C_(g,20),void 0!==t){const w=v.projection=[];for(let x=0;xl(o,e)),e.contentQueries){const l=Dr();e.contentQueries(1,o,l.directiveStart)}const a=Dr();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(Hs(a.index),aw(t[1],a,0,a.directiveStart,a.directiveEnd,e),lw(e,o)),o}(C,this.componentDef,_,p,[m7]),ff(g,_,null)}finally{Cn()}return new hZ(this.componentType,y,Fg(v,_),_,v)}}class hZ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new KX(r),this.componentType=e}get injector(){return new Bo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Ug=new Map;class gZ extends jc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _B(this);const i=po(e),r=function(n){return n[xx]||null}(e);r&&mA(r),this._bootstrapComponents=Ja(i.bootstrap),this._r3Injector=gw(e,t,[{provide:jc,useValue:this},{provide:ll,useValue:this.componentFactoryResolver}],W(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Nt.THROW_IF_NOT_FOUND,i=At.Default){return e===Nt||e===jc||e===Fc?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class BA extends class{}{constructor(e){super(),this.moduleType=e,null!==po(e)&&function(n){const e=new Set;!function t(i){const r=po(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${W(e)} vs ${W(e.name)}`)}(s,Ug.get(s),i),Ug.set(s,i));const o=Ja(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new gZ(this.moduleType,e)}}function fv(n,e,t){const i=Yr()+n,r=Oe();return r[i]===kt?Bc(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function Hg(n,e,t,i){return wB(Oe(),Yr(),n,e,t,i)}function pv(n,e){const t=n[e];return t===kt?void 0:t}function wB(n,e,t,i,r,s){const o=e+t;return qs(n,o,r)?Bc(n,o+1,s?i.call(s,r):i(r)):pv(n,o+1)}function Kt(n,e){const t=Dn();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new $("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=wc(i.type)),o=da(E);try{const a=Bp(!1),l=s();return Bp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Oe(),r,l),l}finally{da(o)}}function rn(n,e,t){const i=n+20,r=Oe(),s=Ed(r,i);return _v(r,mv(r,i)?wB(r,Yr(),e,s.transform,t,s):s.transform(t))}function gv(n,e,t,i){const r=n+20,s=Oe(),o=Ed(s,r);return _v(s,mv(s,r)?function(n,e,t,i,r,s,o){const a=e+t;return mf(n,a,r,s)?Bc(n,a+2,o?i.call(o,r,s):i(r,s)):pv(n,a+2)}(s,Yr(),e,o.transform,t,i,o):o.transform(t,i))}function mv(n,e){return n[1].data[e].pure}function _v(n,e){return Ul.isWrapped(e)&&(e=Ul.unwrap(e),n[Us()]=kt),e}function VA(n){return e=>{setTimeout(n,void 0,e)}}const Le=class extends Se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const f=e;a=null===(r=f.next)||void 0===r?void 0:r.bind(f),l=null===(s=f.error)||void 0===s?void 0:s.bind(f),c=null===(o=f.complete)||void 0===o?void 0:o.bind(f)}this.__isAsync&&(l=VA(l),a&&(a=VA(a)),c&&(c=VA(c)));const d=super.subscribe({next:a,error:l,complete:c});return e instanceof Te&&e.add(d),d}};function DZ(){return this._results[vg()]()}class Sf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=vg(),i=Sf.prototype;i[t]||(i[t]=DZ)}get changes(){return this._changes||(this._changes=new Le)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=Vo(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],d=e[-l];for(let f=10;f{class n{constructor(t){this.appInits=t,this.resolve=kw,this.reject=kw,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(I(Mf,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const vv=new ve("AppId"),uQ={provide:vv,useFactory:function(){return`${KA()}${KA()}${KA()}`},deps:[]};function KA(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const XB=new ve("Platform Initializer"),dl=new ve("Platform ID"),bv=new ve("appBootstrapListener");let $w=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Uu=new ve("LocaleId"),KB=new ve("DefaultCurrencyCode");class hQ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const ZA=function(n){return new BA(n)},fQ=ZA,pQ=function(n){return Promise.resolve(ZA(n))},ZB=function(n){const e=ZA(n),i=Ja(po(n).declarations).reduce((r,s)=>{const o=Kn(s);return o&&r.push(new vB(o)),r},[]);return new hQ(e,i)},gQ=ZB,mQ=function(n){return Promise.resolve(ZB(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=fQ,this.compileModuleAsync=pQ,this.compileModuleAndAllComponentsSync=gQ,this.compileModuleAndAllComponentsAsync=mQ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const QB=new ve("compilerOptions"),yQ=(()=>Promise.resolve(0))();function QA(n){"undefined"==typeof Zone?yQ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class dt{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Le(!1),this.onMicrotaskEmpty=new Le(!1),this.onStable=new Le(!1),this.onError=new Le(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=cn.requestAnimationFrame,e=cn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(cn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,eD(n),n.isCheckStableRunning=!0,JA(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),eD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return JB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),e3(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return JB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),e3(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,eD(n),JA(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!dt.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(dt.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,bQ,kw,kw);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const bQ={};function JA(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function eD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function JB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function e3(n){n._nesting--,JA(n)}class EQ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Le,this.onMicrotaskEmpty=new Le,this.onStable=new Le,this.onError=new Le}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let tD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{dt.assertNotInAngularZone(),QA(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())QA(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),t3=(()=>{class n{constructor(){this._applications=new Map,nD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return nD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class SQ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let nD=new SQ,n3=!0,i3=!1;function Mo(){return i3=!0,n3}let Yl;const r3=new ve("AllowMultipleToken");function s3(n,e,t=[]){const i=`Platform: ${e}`,r=new ve(i);return(s=[])=>{let o=rD();if(!o||o.injector.get(r3,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Vu,useValue:"platform"});!function(n){if(Yl&&!Yl.destroyed&&!Yl.injector.get(r3,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Yl=n.get(o3);const e=n.get(XB,null);e&&e.forEach(t=>t())}(Nt.create({providers:a,name:i}))}return function(n){const e=rD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function rD(){return Yl&&!Yl.destroyed?Yl:null}let o3=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new EQ:("zone.js"===n?void 0:n)||new dt({enableLongStackTrace:Mo(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:dt,useValue:a}];return a.run(()=>{const c=Nt.create({providers:l,parent:this.injector,name:t.moduleType.name}),d=t.create(c),f=d.injector.get($o,null);if(!f)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{f.handleError(g)}});d.onDestroy(()=>{sD(this._modules,d),p.unsubscribe()})}),function(n,e,t){try{const i=t();return Og(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(f,a,()=>{const p=d.injector.get(Gg);return p.runInitializers(),p.donePromise.then(()=>(mA(d.injector.get(Uu,Dw)||Dw),this._moduleDoBootstrap(d),d))})})}bootstrapModule(t,i=[]){const r=a3({},i);return function(n,e,t){const i=new BA(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(Jd);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${W(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function a3(n,e){return Array.isArray(e)?e.reduce(a3,n):Object.assign(Object.assign({},n),e)}let Jd=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new ce(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new ce(c=>{let d;this._zone.runOutsideAngular(()=>{d=this._zone.onStable.subscribe(()=>{dt.assertNotInAngularZone(),QA(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const f=this._zone.onUnstable.subscribe(()=>{dt.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{d.unsubscribe(),f.unsubscribe()}});this.isStable=Ni(a,l.pipe(Vs()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof LL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(jc),a=r.create(Nt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(tD,null),d=c&&a.injector.get(t3);return c&&d&&d.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),sD(this.components,a),d&&d.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;sD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(bv,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(Nt),I($o),I(ll),I(Gg))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function sD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const ZQ=s3(null,"core",[{provide:dl,useValue:"unknown"},{provide:o3,deps:[Nt]},{provide:t3,deps:[]},{provide:$w,deps:[]}]),nJ=[{provide:Jd,useClass:Jd,deps:[dt,Nt,$o,ll,Gg]},{provide:cZ,deps:[dt],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Gg,useClass:Gg,deps:[[new br,Mf]]},{provide:xf,useClass:xf,deps:[]},uQ,{provide:Ng,useFactory:function(){return iK},deps:[]},{provide:Lg,useFactory:function(){return rK},deps:[]},{provide:Uu,useFactory:function(n){return mA(n=n||"undefined"!=typeof $localize&&$localize.locale||Dw),n},deps:[[new Ld(Uu),new br,new Za]]},{provide:KB,useValue:"USD"}];let rJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(I(Jd))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:nJ}),n})(),tE=null;function Uc(){return tE}const ut=new ve("DocumentToken");let Df=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:iee,token:n,providedIn:"platform"}),n})();function iee(){return I(F3)}let F3=(()=>{class n extends Df{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Uc().getBaseHref(this._doc)}onPopState(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){N3()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){N3()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:see,token:n,providedIn:"platform"}),n})();function N3(){return!!window.history.pushState}function see(){return new F3(I(ut))}function bD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function L3(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function $u(n){return n&&"?"!==n[0]?"?"+n:n}let Yg=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:oee,token:n,providedIn:"root"}),n})();function oee(n){const e=I(ut).location;return new B3(I(Df),e&&e.origin||"")}const CD=new ve("appBaseHref");let B3=(()=>{class n extends Yg{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return bD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+$u(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(I(Df),I(CD,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Xg=(()=>{class n{constructor(t,i){this._subject=new Le,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=L3(V3(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+$u(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,V3(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(I(Yg),I(Df))},n.normalizeQueryParams=$u,n.joinWithSlash=bD,n.stripTrailingSlash=L3,n.\u0275prov=ue({factory:lee,token:n,providedIn:"root"}),n})();function lee(){return new Xg(I(Yg),I(Df))}function V3(n){return n.replace(/\/index.html$/,"")}var Br=(()=>((Br=Br||{})[Br.Zero=0]="Zero",Br[Br.One=1]="One",Br[Br.Two=2]="Two",Br[Br.Few=3]="Few",Br[Br.Many=4]="Many",Br[Br.Other=5]="Other",Br))();const mee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=dL(e);if(t)return t;const i=e.split("-")[0];if(t=dL(i),t)return t;if("en"===i)return FY;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[at.PluralCase]};class dE{}let Gee=(()=>{class n extends dE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(mee(i||this.locale)(t)){case Br.Zero:return"zero";case Br.One:return"one";case Br.Two:return"two";case Br.Few:return"few";case Br.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(I(Uu))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function Y3(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let hE=(()=>{class n{constructor(t,i,r,s){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=s,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Ky(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${W(i.item)}`);this._toggleClass(i.item,!0)}),t.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!0)):Object.keys(t).forEach(i=>this._toggleClass(i,!!t[i])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!1)):Object.keys(t).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(t,i){(t=t.trim())&&t.split(/\s+/g).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(t){return new(t||n)(E(Ng),E(Lg),E(rt),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),n})();class qee{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let pl=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new qee(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new X3(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new X3(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Ng))},n.\u0275dir=oe({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class X3{constructor(e,t){this.record=e,this.view=t}}let zr=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Xee,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){K3("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){K3("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys))},n.\u0275dir=oe({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Xee{constructor(){this.$implicit=null,this.ngIf=null}}function K3(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${W(e)}'.`)}class OD{constructor(e,t){this._viewContainerRef=e,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(e){e&&!this._created?this.create():!e&&this._created&&this.destroy()}}let Av=(()=>{class n{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const i=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let i=0;i{class n{constructor(t,i,r){this.ngSwitch=r,r._addCase(),this._view=new OD(t,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),n})(),Z3=(()=>{class n{constructor(t,i,r){r._addDefault(new OD(t,i))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchDefault",""]]}),n})(),J3=(()=>{class n{constructor(t,i,r){this._ngEl=t,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[r,s]=t.split(".");null!=(i=null!=i&&s?`${i}${s}`:i)?this._renderer.setStyle(this._ngEl.nativeElement,r,i):this._renderer.removeStyle(this._ngEl.nativeElement,r)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Lg),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),n})();function Ql(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${W(n)}'`)}class Qee{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Jee{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const ete=new Jee,tte=new Qee;let Hc=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(Og(t))return ete;if(EN(t))return tte;throw Ql(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(kn,16))},n.\u0275pipe=ds({name:"async",type:n,pure:!1}),n})();const ate=/#/g;let eV=(()=>{class n{constructor(t){this._localization=t}transform(t,i,r){if(null==t)return"";if("object"!=typeof i||null===i)throw Ql(n,i);return i[function(n,e,t,i){let r=`=${n}`;if(e.indexOf(r)>-1||(r=t.getPluralCategory(n,i),e.indexOf(r)>-1))return r;if(e.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${n}"`)}(t,Object.keys(i),this._localization,r)].replace(ate,t.toString())}}return n.\u0275fac=function(t){return new(t||n)(E(dE,16))},n.\u0275pipe=ds({name:"i18nPlural",type:n,pure:!0}),n})(),tV=(()=>{class n{transform(t){return JSON.stringify(t,null,2)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=ds({name:"json",type:n,pure:!1}),n})(),dn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:dE,useClass:Gee}]}),n})();const rV="browser";function Of(n){return n===rV}function kD(n){return"server"===n}class aV{}class FD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){tE||(tE=n)}(new FD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Dv=Dv||document.querySelector("base"),Dv?Dv.getAttribute("href"):null);return null==t?null:function(n){fE=fE||document.createElement("a"),fE.setAttribute("href",n);const e=fE.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Dv=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return Y3(document.cookie,e)}}let fE,Dv=null;const lV=new ve("TRANSITION_ID"),Ete=[{provide:Mf,useFactory:function(n,e,t){return()=>{t.get(Gg).donePromise.then(()=>{const i=Uc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},cn.getAllAngularTestabilities=()=>e.getAllTestabilities(),cn.getAllAngularRootElements=()=>e.getAllRootElements(),cn.frameworkStabilizers||(cn.frameworkStabilizers=[]),cn.frameworkStabilizers.push(i=>{const r=cn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Uc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Ste=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Ov=new ve("EventManagerPlugins");let gE=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Iv=(()=>{class n extends uV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(dV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(dV))}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function dV(n){Uc().remove(n)}const BD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},VD=/%COMP%/g;function mE(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let _E=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new zD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Ue.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new Vte(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Ue.ShadowDom:return new zte(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=mE(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(I(gE),I(Iv),I(vv))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class zD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(BD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=BD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=BD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Co.DashCase|Co.Important)?e.style.setProperty(t,i,r&Co.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Co.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,pV(i)):this.eventManager.addEventListener(e,t,pV(i))}}class Vte extends zD{constructor(e,t,i,r){super(e),this.component=i;const s=mE(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(VD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(VD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class zte extends zD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=mE(r.id,r.styles,[]);for(let o=0;o{class n extends LD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const _V=["alt","control","meta","shift"],Yte={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},yV={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Xte={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Kte=(()=>{class n extends LD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Uc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(_V.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&yV.hasOwnProperty(e)&&(e=yV[e]))}return Yte[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),_V.forEach(s=>{s!=r&&Xte[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),th=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return I(UD)},token:n,providedIn:"root"}),n})(),UD=(()=>{class n extends th{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case mn.NONE:return i;case mn.HTML:return jo(i,"HTML")?gs(i):ey(this._doc,String(i)).toString();case mn.STYLE:return jo(i,"Style")?gs(i):i;case mn.SCRIPT:if(jo(i,"Script"))return gs(i);throw new Error("unsafe value used in a script context");case mn.URL:return Pc(i),jo(i,"URL")?gs(i):bo(String(i));case mn.RESOURCE_URL:if(jo(i,"ResourceURL"))return gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new W_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new q_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new zd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Ut(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return function(n){return new UD(n.get(ut))}(I(Fc))},token:n,providedIn:"root"}),n})();const rne=s3(ZQ,"browser",[{provide:dl,useValue:rV},{provide:XB,useValue:function(){FD.makeCurrent(),ND.init()},multi:!0},{provide:ut,useFactory:function(){return function(n){fi=n}(document),document},deps:[]}]),sne=[[],{provide:Vu,useValue:"root"},{provide:$o,useFactory:function(){return new $o},deps:[]},{provide:Ov,useClass:jte,multi:!0,deps:[ut,dt,dl]},{provide:Ov,useClass:Kte,multi:!0,deps:[ut]},[],{provide:_E,useClass:_E,deps:[gE,Iv,vv]},{provide:Cf,useExisting:_E},{provide:uV,useExisting:Iv},{provide:Iv,useClass:Iv,deps:[ut]},{provide:tD,useClass:tD,deps:[dt]},{provide:gE,useClass:gE,deps:[Ov,dt]},{provide:aV,useClass:Ste,deps:[]},[]];let yE=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:vv,useValue:t.appId},{provide:lV,useExisting:vv},Ete]}}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:sne,imports:[dn,rJ]}),n})();"undefined"!=typeof window&&window;class fne extends Te{constructor(e,t){super()}schedule(e,t=0){return this}}class vE extends fne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class Jl extends bV{constructor(e,t=bV.now){super(e,()=>Jl.delegate&&Jl.delegate!==this?Jl.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return Jl.delegate&&Jl.delegate!==this?Jl.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const mne=new class extends Jl{}(class extends vE{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),ec=new ce(n=>n.complete());function bE(n){return n?function(n){return new ce(e=>n.schedule(()=>e.complete()))}(n):ec}function ht(...n){let e=n[n.length-1];return Gn(e)?(n.pop(),Fi(n,e)):za(n)}function Kg(n,e){return new ce(e?t=>e.schedule(yne,0,{error:n,subscriber:t}):t=>t.error(n))}function yne({error:n,subscriber:e}){e.error(n)}class Ko{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return ht(this.value);case"E":return Kg(this.error);case"C":return bE()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new Ko("N",e):Ko.undefinedValueNotification}static createError(e){return new Ko("E",void 0,e)}static createComplete(){return Ko.completeNotification}}Ko.completeNotification=new Ko("C"),Ko.undefinedValueNotification=new Ko("N",void 0);class CE extends xt{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(CE.dispatch,this.delay,new bne(e,this.destination)))}_next(e){this.scheduleMessage(Ko.createNext(e))}_error(e){this.scheduleMessage(Ko.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(Ko.createComplete()),this.unsubscribe()}}class bne{constructor(e,t){this.notification=e,this.destination=t}}class If extends Se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Cne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new Qt;if(this.isStopped||this.hasError?o=Te.EMPTY:(this.observers.push(e),o=new li(this,e)),r&&e.add(e=new CE(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Cne{constructor(e,t){this.time=e,this.value=t}}function Pr(n,e){return"function"==typeof e?t=>t.pipe(Pr((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new wne(n))}class wne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Ene(e,this.project))}}class Ene extends ii{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new Gr(this),r=this.destination;r.add(i),this.innerSubscription=co(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const wE={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return wE.schedule(n,0);if(void 0===window.requestAnimationFrame)return wE.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let $D;function Rne(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!$D){const t=Element.prototype;$D=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&$D.call(n,e)}(n,r)||(i=s,0))),i}class Fne{constructor(e,t){this.componentFactory=t.get(ll).resolveComponentFactory(e)}create(e){return new Nne(this.componentFactory,e)}}class Nne{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new If(1),this.events=this.eventEmitters.pipe(Pr(i=>Ni(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(dt),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=wE.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Nt.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(Ae(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=wE.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new y_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class Lne extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}function Mt(n){return null!=n&&"false"!=`${n}`}function To(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function EE(n){return Array.isArray(n)?n:[n]}function jr(n){return null==n?"":"string"==typeof n?n:`${n}px`}function Wu(n){return n instanceof rt?n.nativeElement:n}const Pf=new Jl(vE);function Zg(n,e=Pf){return t=>t.lift(new jne(n,e))}class jne{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new Une(e,this.dueTime,this.scheduler))}}class Une extends xt{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Hne,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function Hne(n){n.debouncedNext()}let GD=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),CV=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=Wu(t);return new ce(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new Se,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(I(GD))},n.\u0275prov=ue({factory:function(){return new n(I(GD))},token:n,providedIn:"root"}),n})(),WD=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new Le,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=To(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(Zg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(CV),E(rt),E(dt))},n.\u0275dir=oe({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),SE=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GD]}),n})();class ar extends Se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Qt;return this._value}next(e){super.next(this._value=e)}}function Zs(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}function ih(){}function Ti(n,e,t){return function(r){return r.lift(new tie(n,e,t))}}class tie{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new nie(e,this.nextOrObserver,this.error,this.complete))}}class nie extends xt{constructor(e,t,i,r){super(e),this._tapNext=ih,this._tapError=ih,this._tapComplete=ih,this._tapError=i||ih,this._tapComplete=r||ih,Ke(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||ih,this._tapError=t.error||ih,this._tapComplete=t.complete||ih)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function Fn(n,e){return function(i){return i.lift(new iie(n,e))}}class iie{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rie(e,this.predicate,this.thisArg))}}class rie extends xt{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}const SV=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function yi(n){return e=>0===n?bE():e.lift(new sie(n))}class sie{constructor(e){if(this.total=e,this.total<0)throw new SV}call(e,t){return t.subscribe(new oie(e,this.total))}}class oie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function QD(n){return e=>e.lift(new aie(n))}class aie{constructor(e){this.total=e}call(e,t){return t.subscribe(new lie(e,this.total))}}class lie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function Zo(n,e){return t=>t.lift(new cie(n,e))}class cie{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new uie(e,this.compare,this.keySelector))}}class uie extends xt{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}function Tn(n){return e=>e.lift(new die(n))}class die{constructor(e){this.notifier=e}call(e,t){const i=new hie(e),r=co(this.notifier,new Gr(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class hie extends ii{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}let JD;try{JD="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){JD=!1}let em,si=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Of(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!JD)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(I(dl))},n.\u0275prov=ue({factory:function(){return new n(I(dl))},token:n,providedIn:"root"}),n})(),Rv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const MV=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function xV(){if(em)return em;if("object"!=typeof document||!document)return em=new Set(MV),em;let n=document.createElement("input");return em=new Set(MV.filter(e=>(n.setAttribute("type",e),n.type===e))),em}let kv,Ff,eO;function tm(n){return function(){if(null==kv&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>kv=!0}))}finally{kv=kv||!1}return kv}()?n:!!n.capture}function TV(){if(null==Ff){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ff=!1,Ff;if("scrollBehavior"in document.documentElement.style)Ff=!0;else{const n=Element.prototype.scrollTo;Ff=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Ff}function xE(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Nf(n){return n.composedPath?n.composedPath()[0]:n.target}function TE(n,e){return(n.getAttribute(e)||"").match(/\S+/g)||[]}const DV="cdk-describedby-message-container",OV="cdk-describedby-message",AE="cdk-describedby-host";let yie=0;const $c=new Map;let Rs=null,IV=(()=>{class n{constructor(t){this._document=t}describe(t,i,r){if(!this._canBeDescribed(t,i))return;const s=tO(i,r);"string"!=typeof i?(PV(i),$c.set(s,{messageElement:i,referenceCount:0})):$c.has(s)||this._createMessageElement(i,r),this._isElementDescribedByMessage(t,s)||this._addMessageReference(t,s)}removeDescription(t,i,r){if(!i||!this._isElementNode(t))return;const s=tO(i,r);if(this._isElementDescribedByMessage(t,s)&&this._removeMessageReference(t,s),"string"==typeof i){const o=$c.get(s);o&&0===o.referenceCount&&this._deleteMessageElement(s)}Rs&&0===Rs.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${AE}]`);for(let i=0;i0!=r.indexOf(OV));t.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(t,i){const r=$c.get(i);(function(n,e,t){const i=TE(n,e);i.some(r=>r.trim()==t.trim())||(i.push(t.trim()),n.setAttribute(e,i.join(" ")))})(t,"aria-describedby",r.messageElement.id),t.setAttribute(AE,""),r.referenceCount++}_removeMessageReference(t,i){const r=$c.get(i);r.referenceCount--,function(n,e,t){const r=TE(n,e).filter(s=>s!=t.trim());r.length?n.setAttribute(e,r.join(" ")):n.removeAttribute(e)}(t,"aria-describedby",r.messageElement.id),t.removeAttribute(AE)}_isElementDescribedByMessage(t,i){const r=TE(t,"aria-describedby"),s=$c.get(i),o=s&&s.messageElement.id;return!!o&&-1!=r.indexOf(o)}_canBeDescribed(t,i){if(!this._isElementNode(t))return!1;if(i&&"object"==typeof i)return!0;const r=null==i?"":`${i}`.trim(),s=t.getAttribute("aria-label");return!(!r||s&&s.trim()===r)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})();function tO(n,e){return"string"==typeof n?`${e||""}/${n}`:n}function PV(n){n.id||(n.id=`${OV}-${yie++}`)}class RV{constructor(e){this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Se,this._typeaheadSubscription=Te.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new Se,this.change=new Se,e instanceof Sf&&e.changes.subscribe(t=>{if(this._activeItem){const r=t.toArray().indexOf(this._activeItem);r>-1&&r!==this._activeItemIndex&&(this._activeItemIndex=r)}})}skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Ti(t=>this._pressedLetters.push(t)),Zg(e),Fn(()=>this._pressedLetters.length>0),Ae(()=>this._pressedLetters.join(""))).subscribe(t=>{const i=this._getItemsArray();for(let r=1;r!e[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(t){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}return;default:return void((r||Zs(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(t>=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t))))}this._pressedLetters=[],e.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(e){const t=this._getItemsArray(),i="number"==typeof e?e:t.indexOf(e),r=t[i];this._activeItem=null==r?null:r,this._activeItemIndex=i}_setActiveItemByDelta(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}_setActiveInWrapMode(e){const t=this._getItemsArray();for(let i=1;i<=t.length;i++){const r=(this._activeItemIndex+e*i+t.length)%t.length;if(!this._skipPredicateFn(t[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}_setActiveItemByIndex(e,t){const i=this._getItemsArray();if(i[e]){for(;this._skipPredicateFn(i[e]);)if(!i[e+=t])return;this.setActiveItem(e)}}_getItemsArray(){return this._items instanceof Sf?this._items.toArray():this._items}}class kV extends RV{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}}class nO extends RV{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}}let FV=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===LV(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=LV(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||NV(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function NV(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function LV(n){if(!NV(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Die{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(yi(1)).subscribe(e)}}let BV=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new Die(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(I(FV),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(FV),I(dt),I(ut))},token:n,providedIn:"root"}),n})();function VV(n){return 0===n.offsetX&&0===n.offsetY}function zV(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const jV=new ve("cdk-input-modality-detector-options"),kie={ignoreKeys:[18,17,224,91,16]},nm=tm({passive:!0,capture:!0});let HV=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new ar(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Nf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(VV(o)?"keyboard":"mouse"),this._mostRecentTarget=Nf(o))},this._onTouchstart=o=>{zV(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Nf(o))},this._options=Object.assign(Object.assign({},kie),s),this.modalityDetected=this._modality.pipe(QD(1)),this.modalityChanged=this.modalityDetected.pipe(Zo()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,nm),r.addEventListener("mousedown",this._onMousedown,nm),r.addEventListener("touchstart",this._onTouchstart,nm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,nm),document.removeEventListener("mousedown",this._onMousedown,nm),document.removeEventListener("touchstart",this._onTouchstart,nm))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut),I(jV,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut),I(jV,8))},token:n,providedIn:"root"}),n})();const $V=new ve("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),GV=new ve("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let DE=(()=>{class n{constructor(t,i,r,s){this._ngZone=i,this._defaultOptions=s,this._document=r,this._liveElement=t||this._createLiveElement()}announce(t,...i){const r=this._defaultOptions;let s,o;return 1===i.length&&"number"==typeof i[0]?o=i[0]:[s,o]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=r&&r.politeness?r.politeness:"polite"),null==o&&r&&(o=r.duration),this._liveElement.setAttribute("aria-live",s),this._ngZone.runOutsideAngular(()=>new Promise(a=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,a(),"number"==typeof o&&(this._previousTimeout=setTimeout(()=>this.clear(),o))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",i=this._document.getElementsByClassName(t),r=this._document.createElement("div");for(let s=0;s{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new Se,this._rootNodeFocusAndBlurListener=a=>{const l=Nf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let d=l;d;d=d.parentElement)c.call(this,a,d)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=Wu(t);if(!this._platform.isBrowser||1!==r.nodeType)return ht(null);const s=function(n){if(function(){if(null==eO){const n="undefined"!=typeof document?document.head:null;eO=!(!n||!n.createShadowRoot&&!n.attachShadow)}return eO}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new Se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=Wu(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=Wu(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Nf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,OE)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Tn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,OE),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},token:n,providedIn:"root"}),n})();const qV="cdk-high-contrast-black-on-white",YV="cdk-high-contrast-white-on-black",iO="cdk-high-contrast-active";let XV=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(iO),t.remove(qV),t.remove(YV),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(iO),t.add(qV)):2===i&&(t.add(iO),t.add(YV))}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(ut))},token:n,providedIn:"root"}),n})(),Nie=(()=>{class n{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return n.\u0275fac=function(t){return new(t||n)(I(XV))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv,SE]]}),n})();const KV=new ve("cdk-dir-doc",{providedIn:"root",factory:function(){return Oc(ut)}});let Qo=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new Le,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(I(KV,8))},n.\u0275prov=ue({factory:function(){return new n(I(KV,8))},token:n,providedIn:"root"}),n})(),Nv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const ZV=new ju("12.2.5");function IE(...n){return uo(1)(ht(...n))}function Rr(...n){const e=n[n.length-1];return Gn(e)?(n.pop(),t=>IE(n,t,e)):t=>IE(n,t)}class QV{}const qu="*";function tc(n,e){return{type:7,name:n,definitions:e,options:{}}}function Ao(n,e=null){return{type:4,styles:e,timings:n}}function JV(n,e=null){return{type:2,steps:n,options:e}}function ti(n){return{type:6,styles:n,offset:null}}function wr(n,e,t){return{type:0,name:n,styles:e,options:t}}function zie(n){return{type:5,steps:n}}function Qs(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function jie(n=null){return{type:9,options:n}}function Uie(n,e,t=null){return{type:11,selector:n,animation:e,options:t}}function ez(n){Promise.resolve(null).then(n)}class im{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ez(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class tz{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,i=0,r=0;const s=this.players.length;0==s?ez(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==s&&this._onFinish()}),o.onDestroy(()=>{++i==s&&this._onDestroy()}),o.onStart(()=>{++r==s&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){const t=e*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,t/i.totalTime):1;i.setPosition(r)})}getPosition(){const e=this.players.reduce((t,i)=>null===t||i.totalTime>t.totalTime?i:t,null);return null!=e?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function nz(){return"undefined"!=typeof window&&void 0!==window.document}function sO(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function rh(n){switch(n.length){case 0:return new im;case 1:return n[0];default:return new tz(n)}}function iz(n,e,t,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(d=>{const f=d.offset,p=f==l,g=p&&c||{};Object.keys(d).forEach(_=>{let y=_,v=d[_];if("offset"!==_)switch(y=e.normalizePropertyName(y,o),v){case"!":v=r[_];break;case qu:v=s[_];break;default:v=e.normalizeStyleValue(_,y,v,o)}g[y]=v}),p||a.push(g),c=g,l=f}),o.length){const d="\n - ";throw new Error(`Unable to animate due to the following errors:${d}${o.join(d)}`)}return a}function oO(n,e,t,i){switch(e){case"start":n.onStart(()=>i(t&&aO(t,"start",n)));break;case"done":n.onDone(()=>i(t&&aO(t,"done",n)));break;case"destroy":n.onDestroy(()=>i(t&&aO(t,"destroy",n)))}}function aO(n,e,t){const i=t.totalTime,s=lO(n.element,n.triggerName,n.fromState,n.toState,e||n.phaseName,null==i?n.totalTime:i,!!t.disabled),o=n._data;return null!=o&&(s._data=o),s}function lO(n,e,t,i,r="",s=0,o){return{element:n,triggerName:e,fromState:t,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function Ma(n,e,t){let i;return n instanceof Map?(i=n.get(e),i||n.set(e,i=t)):(i=n[e],i||(i=n[e]=t)),i}function rz(n){const e=n.indexOf(":");return[n.substring(1,e),n.substr(e+1)]}let cO=(n,e)=>!1,uO=(n,e)=>!1,sz=(n,e,t)=>[];const oz=sO();(oz||"undefined"!=typeof Element)&&(cO=nz()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),uO=(()=>{if(oz||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):uO}})(),sz=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{const i=t.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=n[t]}),e}let cz=(()=>{class n{validateStyleProperty(t){return dO(t)}matchesElement(t,i){return hO(t,i)}containsElement(t,i){return fO(t,i)}query(t,i,r){return pO(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new im(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class PE{}PE.NOOP=new cz;const gO="ng-enter",RE="ng-leave",kE="ng-trigger",FE=".ng-trigger",dz="ng-animating",mO=".ng-animating";function Bf(n){if("number"==typeof n)return n;const e=n.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:_O(parseFloat(e[1]),e[2])}function _O(n,e){switch(e){case"s":return 1e3*n;default:return n}}function NE(n,e,t){return n.hasOwnProperty("duration")?n:function(n,e,t){let r,s=0,o="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push(`The provided timing value "${n}" is invalid.`),{duration:0,delay:0,easing:""};r=_O(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(s=_O(parseFloat(l),a[4]));const c=a[5];c&&(o=c)}else r=n;if(!t){let a=!1,l=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),a=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),a=!0),a&&e.splice(l,0,`The provided timing value "${n}" is invalid.`)}return{duration:r,delay:s,easing:o}}(n,e,t)}function rm(n,e={}){return Object.keys(n).forEach(t=>{e[t]=n[t]}),e}function sh(n,e,t={}){if(e)for(let i in n)t[i]=n[i];else rm(n,t);return t}function fz(n,e,t){return t?e+":"+t+";":""}function pz(n){let e="";for(let t=0;t{const r=vO(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),sO()&&pz(n))}function Vf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=vO(t);n.style[i]=""}),sO()&&pz(n))}function Lv(n){return Array.isArray(n)?1==n.length?n[0]:JV(n):n}const yO=new RegExp("{{\\s*(.+?)\\s*}}","g");function gz(n){let e=[];if("string"==typeof n){let t;for(;t=yO.exec(n);)e.push(t[1]);yO.lastIndex=0}return e}function LE(n,e,t){const i=n.toString(),r=i.replace(yO,(s,o)=>{let a=e[o];return e.hasOwnProperty(o)||(t.push(`Please provide a value for the animation param ${o}`),a=""),a.toString()});return r==i?n:r}function BE(n){const e=[];let t=n.next();for(;!t.done;)e.push(t.value),t=n.next();return e}const Xie=/-+([a-z0-9])/g;function vO(n){return n.replace(Xie,(...e)=>e[1].toUpperCase())}function Kie(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function mz(n,e){return 0===n||0===e}function _z(n,e,t){const i=Object.keys(t);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(a=>{s.hasOwnProperty(a)||o.push(a),s[a]=t[a]}),o.length)for(var r=1;rfunction(n,e,t){if(":"==n[0]){const l=function(n,e){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i) *"}}(n,t);if("function"==typeof l)return void e.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push(`The provided transition expression "${n}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(yz(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(yz(o,r))}(i,t,e)):t.push(n),t}const zE=new Set(["true","1"]),jE=new Set(["false","0"]);function yz(n,e){const t=zE.has(n)||jE.has(n),i=zE.has(e)||jE.has(e);return(r,s)=>{let o="*"==n||n==r,a="*"==e||e==s;return!o&&t&&"boolean"==typeof r&&(o=r?zE.has(n):jE.has(n)),!a&&i&&"boolean"==typeof s&&(a=s?zE.has(e):jE.has(e)),o&&a}}const ere=new RegExp("s*:selfs*,?","g");function CO(n,e,t){return new tre(n).build(e,t)}class tre{constructor(e){this._driver=e}build(e,t){const i=new rre(t);return this._resetContextStyleTimingState(i),xa(this,Lv(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}visitTrigger(e,t){let i=t.queryCount=0,r=t.depCount=0;const s=[],o=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),0==a.type){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(d=>{l.name=d,s.push(this.visitState(l,t))}),l.name=c}else if(1==a.type){const l=this.visitTransition(a,t);i+=l.queryCount,r+=l.depCount,o.push(l)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:s,transitions:o,queryCount:i,depCount:r,options:null}}visitState(e,t){const i=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(i.containsDynamicStyles){const s=new Set,o=r||{};if(i.styles.forEach(a=>{if(UE(a)){const l=a;Object.keys(l).forEach(c=>{gz(l[c]).forEach(d=>{o.hasOwnProperty(d)||s.add(d)})})}}),s.size){const a=BE(s.values());t.errors.push(`state("${e.name}", ...) must define default values for all the following style substitutions: ${a.join(", ")}`)}}return{type:0,name:e.name,style:i,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;const i=xa(this,Lv(e.animation),t);return{type:1,matchers:Zie(e.expr,t.errors),animation:i,queryCount:t.queryCount,depCount:t.depCount,options:zf(e.options)}}visitSequence(e,t){return{type:2,steps:e.steps.map(i=>xa(this,i,t)),options:zf(e.options)}}visitGroup(e,t){const i=t.currentTime;let r=0;const s=e.steps.map(o=>{t.currentTime=i;const a=xa(this,o,t);return r=Math.max(r,t.currentTime),a});return t.currentTime=r,{type:3,steps:s,options:zf(e.options)}}visitAnimate(e,t){const i=function(n,e){let t=null;if(n.hasOwnProperty("duration"))t=n;else if("number"==typeof n)return wO(NE(n,e).duration,0,"");const i=n;if(i.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=wO(0,0,"");return s.dynamic=!0,s.strValue=i,s}return t=t||NE(i,e),wO(t.duration,t.delay,t.easing)}(e.timings,t.errors);t.currentAnimateTimings=i;let r,s=e.styles?e.styles:ti({});if(5==s.type)r=this.visitKeyframes(s,t);else{let o=e.styles,a=!1;if(!o){a=!0;const c={};i.easing&&(c.easing=i.easing),o=ti(c)}t.currentTime+=i.duration+i.delay;const l=this.visitStyle(o,t);l.isEmptyStep=a,r=l}return t.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(e,t){const i=this._makeStyleAst(e,t);return this._validateStyleAst(i,t),i}_makeStyleAst(e,t){const i=[];Array.isArray(e.styles)?e.styles.forEach(o=>{"string"==typeof o?o==qu?i.push(o):t.errors.push(`The provided style string value ${o} is not allowed.`):i.push(o)}):i.push(e.styles);let r=!1,s=null;return i.forEach(o=>{if(UE(o)){const a=o,l=a.easing;if(l&&(s=l,delete a.easing),!r)for(let c in a)if(a[c].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:i,easing:s,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){const i=t.currentAnimateTimings;let r=t.currentTime,s=t.currentTime;i&&s>0&&(s-=i.duration+i.delay),e.styles.forEach(o=>{"string"!=typeof o&&Object.keys(o).forEach(a=>{if(!this._driver.validateStyleProperty(a))return void t.errors.push(`The provided animation property "${a}" is not a supported CSS property for animations`);const l=t.collectedStyles[t.currentQuerySelector],c=l[a];let d=!0;c&&(s!=r&&s>=c.startTime&&r<=c.endTime&&(t.errors.push(`The CSS property "${a}" that exists between the times of "${c.startTime}ms" and "${c.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${r}ms"`),d=!1),s=c.startTime),d&&(l[a]={startTime:s,endTime:r}),t.options&&function(n,e,t){const i=e.params||{},r=gz(n);r.length&&r.forEach(s=>{i.hasOwnProperty(s)||t.push(`Unable to resolve the local animation param ${s} in the given list of values`)})}(o[a],t.options,t.errors)})})}visitKeyframes(e,t){const i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;let s=0;const o=[];let a=!1,l=!1,c=0;const d=e.steps.map(C=>{const w=this._makeStyleAst(C,t);let x=null!=w.offset?w.offset:function(n){if("string"==typeof n)return null;let e=null;if(Array.isArray(n))n.forEach(t=>{if(UE(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}});else if(UE(n)&&n.hasOwnProperty("offset")){const t=n;e=parseFloat(t.offset),delete t.offset}return e}(w.styles),N=0;return null!=x&&(s++,N=w.offset=x),l=l||N<0||N>1,a=a||N0&&s{const x=p>0?w==g?1:p*w:o[w],N=x*v;t.currentTime=_+y.delay+N,y.duration=N,this._validateStyleAst(C,t),C.offset=x,i.styles.push(C)}),i}visitReference(e,t){return{type:8,animation:xa(this,Lv(e.animation),t),options:zf(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:9,options:zf(e.options)}}visitAnimateRef(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:zf(e.options)}}visitQuery(e,t){const i=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;const[s,o]=function(n){const e=!!n.split(/\s*,\s*/).find(t=>":self"==t);return e&&(n=n.replace(ere,"")),[n=n.replace(/@\*/g,FE).replace(/@\w+/g,t=>FE+"-"+t.substr(1)).replace(/:animating/g,mO),e]}(e.selector);t.currentQuerySelector=i.length?i+" "+s:s,Ma(t.collectedStyles,t.currentQuerySelector,{});const a=xa(this,Lv(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:11,selector:s,limit:r.limit||0,optional:!!r.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:zf(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");const i="full"===e.timings?{duration:0,delay:0,easing:"full"}:NE(e.timings,t.errors,!0);return{type:12,animation:xa(this,Lv(e.animation),t),timings:i,options:null}}}class rre{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function UE(n){return!Array.isArray(n)&&"object"==typeof n}function zf(n){return n?(n=rm(n)).params&&(n.params=function(n){return n?rm(n):null}(n.params)):n={},n}function wO(n,e,t){return{duration:n,delay:e,easing:t}}function EO(n,e,t,i,r,s,o=null,a=!1){return{type:1,element:n,keyframes:e,preStyleProps:t,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class HE{constructor(){this._map=new Map}consume(e){let t=this._map.get(e);return t?this._map.delete(e):t=[],t}append(e,t){let i=this._map.get(e);i||this._map.set(e,i=[]),i.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}}const cre=new RegExp(":enter","g"),dre=new RegExp(":leave","g");function SO(n,e,t,i,r,s={},o={},a,l,c=[]){return(new hre).buildKeyframes(n,e,t,i,r,s,o,a,l,c)}class hre{buildKeyframes(e,t,i,r,s,o,a,l,c,d=[]){c=c||new HE;const f=new MO(e,t,c,r,s,d,[]);f.options=l,f.currentTimeline.setStyles([o],null,f.errors,l),xa(this,i,f);const p=f.timelines.filter(g=>g.containsAnimation());if(p.length&&Object.keys(a).length){const g=p[p.length-1];g.allowOnlyTimelineStyles()||g.setStyles([a],null,f.errors,l)}return p.length?p.map(g=>g.buildKeyframes()):[EO(t,[],[],[],0,0,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){const i=t.subInstructions.consume(t.element);if(i){const r=t.createSubContext(e.options),s=t.currentTimeline.currentTime,o=this._visitSubInstructions(i,r,r.options);s!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){const i=t.createSubContext(e.options);i.transformIntoNewTimeline(),this.visitReference(e.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=e}_visitSubInstructions(e,t,i){let s=t.currentTimeline.currentTime;const o=null!=i.duration?Bf(i.duration):null,a=null!=i.delay?Bf(i.delay):null;return 0!==o&&e.forEach(l=>{const c=t.appendInstructionToTimeline(l,o,a);s=Math.max(s,c.duration+c.delay)}),s}visitReference(e,t){t.updateOptions(e.options,!0),xa(this,e.animation,t),t.previousNode=e}visitSequence(e,t){const i=t.subContextCount;let r=t;const s=e.options;if(s&&(s.params||s.delay)&&(r=t.createSubContext(s),r.transformIntoNewTimeline(),null!=s.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=$E);const o=Bf(s.delay);r.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>xa(this,o,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){const i=[];let r=t.currentTimeline.currentTime;const s=e.options&&e.options.delay?Bf(e.options.delay):0;e.steps.forEach(o=>{const a=t.createSubContext(e.options);s&&a.delayNextStep(s),xa(this,o,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){const i=e.strValue;return NE(t.params?LE(i,t.params,t.errors):i,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){const i=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),r.snapshotCurrentStyles());const s=e.style;5==s.type?this.visitKeyframes(s,t):(t.incrementTime(i.duration),this.visitStyle(s,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){const i=t.currentTimeline,r=t.currentAnimateTimings;!r&&i.getCurrentStyleProperties().length&&i.forwardFrame();const s=r&&r.easing||e.easing;e.isEmptyStep?i.applyEmptyStep(s):i.setStyles(e.styles,s,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){const i=t.currentAnimateTimings,r=t.currentTimeline.duration,s=i.duration,a=t.createSubContext().currentTimeline;a.easing=i.easing,e.styles.forEach(l=>{a.forwardTime((l.offset||0)*s),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+s),t.previousNode=e}visitQuery(e,t){const i=t.currentTimeline.currentTime,r=e.options||{},s=r.delay?Bf(r.delay):0;s&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=$E);let o=i;const a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,d)=>{t.currentQueryIndex=d;const f=t.createSubContext(e.options,c);s&&f.delayNextStep(s),c===t.element&&(l=f.currentTimeline),xa(this,e.animation,f),f.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,f.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){const i=t.parentContext,r=t.currentTimeline,s=e.timings,o=Math.abs(s.duration),a=o*(t.currentQueryTotal-1);let l=o*t.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const d=t.currentTimeline;l&&d.delayNextStep(l);const f=d.currentTime;xa(this,e.animation,t),t.previousNode=e,i.currentStaggerTime=r.currentTime-f+(r.startTime-i.currentTimeline.startTime)}}const $E={};class MO{constructor(e,t,i,r,s,o,a,l){this._driver=e,this.element=t,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=s,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=$E,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new GE(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;const i=e;let r=this.options;null!=i.duration&&(r.duration=Bf(i.duration)),null!=i.delay&&(r.delay=Bf(i.delay));const s=i.params;if(s){let o=r.params;o||(o=this.options.params={}),Object.keys(s).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=LE(s[a],o,this.errors))})}}_copyOptions(){const e={};if(this.options){const t=this.options.params;if(t){const i=e.params={};Object.keys(t).forEach(r=>{i[r]=t[r]})}}return e}createSubContext(e=null,t,i){const r=t||this.element,s=new MO(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(e),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(e){return this.previousNode=$E,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,i){const r={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+e.delay,easing:""},s=new fre(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(s),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,i,r,s,o){let a=[];if(r&&a.push(this.element),e.length>0){e=(e=e.replace(cre,"."+this._enterClassName)).replace(dre,"."+this._leaveClassName);let c=this._driver.query(this.element,e,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!s&&0==a.length&&o.push(`\`query("${t}")\` returned zero elements. (Use \`query("${t}", { optional: true })\` if you wish to allow this.)`),a}}class GE{constructor(e,t,i,r){this._driver=e,this.element=t,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(e){const t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new GE(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||qu,this._currentKeyframe[t]=qu}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,i,r){t&&(this._previousKeyframe.easing=t);const s=r&&r.params||{},o=function(n,e){const t={};let i;return n.forEach(r=>{"*"===r?(i=i||Object.keys(e),i.forEach(s=>{t[s]=qu})):sh(r,!1,t)}),t}(e,this._globalTimelineStyles);Object.keys(o).forEach(a=>{const l=LE(o[a],s,i);this._pendingStyles[a]=l,this._localTimelineStyles.hasOwnProperty(a)||(this._backFill[a]=this._globalTimelineStyles.hasOwnProperty(a)?this._globalTimelineStyles[a]:qu),this._updateStyle(a,l)})}applyStylesToKeyframe(){const e=this._pendingStyles,t=Object.keys(e);0!=t.length&&(this._pendingStyles={},t.forEach(i=>{this._currentKeyframe[i]=e[i]}),Object.keys(this._localTimelineStyles).forEach(i=>{this._currentKeyframe.hasOwnProperty(i)||(this._currentKeyframe[i]=this._localTimelineStyles[i])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(e=>{const t=this._localTimelineStyles[e];this._pendingStyles[e]=t,this._updateStyle(e,t)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){Object.keys(e._styleSummary).forEach(t=>{const i=this._styleSummary[t],r=e._styleSummary[t];(!i||r.time>i.time)&&this._updateStyle(t,r.value)})}buildKeyframes(){this.applyStylesToKeyframe();const e=new Set,t=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=sh(a,!0);Object.keys(c).forEach(d=>{const f=c[d];"!"==f?e.add(d):f==qu&&t.add(d)}),i||(c.offset=l/this.duration),r.push(c)});const s=e.size?BE(e.values()):[],o=t.size?BE(t.values()):[];if(i){const a=r[0],l=rm(a);a.offset=0,l.offset=1,r=[a,l]}return EO(this.element,r,s,o,this.duration,this.startTime,this.easing,!1)}}class fre extends GE{constructor(e,t,i,r,s,o,a=!1){super(e,t,o.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=s,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const s=[],o=i+t,a=t/o,l=sh(e[0],!1);l.offset=0,s.push(l);const c=sh(e[0],!1);c.offset=Cz(a),s.push(c);const d=e.length-1;for(let f=1;f<=d;f++){let p=sh(e[f],!1);p.offset=Cz((t+p.offset*i)/o),s.push(p)}i=o,t=0,r="",e=s}return EO(this.element,e,this.preStyleProps,this.postStyleProps,i,t,r,!0)}}function Cz(n,e=3){const t=Math.pow(10,e-1);return Math.round(n*t)/t}class xO{}class gre extends xO{normalizePropertyName(e,t){return vO(e)}normalizeStyleValue(e,t,i,r){let s="";const o=i.toString().trim();if(mre[t]&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(`Please provide a CSS unit value for ${e}:${i}`)}return o+s}}const mre=(()=>function(n){const e={};return n.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function wz(n,e,t,i,r,s,o,a,l,c,d,f,p){return{type:0,element:n,triggerName:e,isRemovalTransition:r,fromState:t,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:d,totalTime:f,errors:p}}const TO={};class Ez{constructor(e,t,i){this._triggerName=e,this.ast=t,this._stateStyles=i}match(e,t,i,r){return function(n,e,t,i,r){return n.some(s=>s(e,t,i,r))}(this.ast.matchers,e,t,i,r)}buildStyles(e,t,i){const r=this._stateStyles["*"],s=this._stateStyles[e],o=r?r.buildStyles(t,i):{};return s?s.buildStyles(t,i):o}build(e,t,i,r,s,o,a,l,c,d){const f=[],p=this.ast.options&&this.ast.options.params||TO,_=this.buildStyles(i,a&&a.params||TO,f),y=l&&l.params||TO,v=this.buildStyles(r,y,f),C=new Set,w=new Map,x=new Map,N="void"===r,V={params:Object.assign(Object.assign({},p),y)},U=d?[]:SO(e,t,this.ast.animation,s,o,_,v,V,c,f);let ee=0;if(U.forEach(ae=>{ee=Math.max(ae.duration+ae.delay,ee)}),f.length)return wz(t,this._triggerName,i,r,N,_,v,[],[],w,x,ee,f);U.forEach(ae=>{const me=ae.element,Ee=Ma(w,me,{});ae.preStyleProps.forEach(te=>Ee[te]=!0);const Be=Ma(x,me,{});ae.postStyleProps.forEach(te=>Be[te]=!0),me!==t&&C.add(me)});const de=BE(C.values());return wz(t,this._triggerName,i,r,N,_,v,U,de,w,x,ee)}}class vre{constructor(e,t,i){this.styles=e,this.defaultParams=t,this.normalizer=i}buildStyles(e,t){const i={},r=rm(this.defaultParams);return Object.keys(e).forEach(s=>{const o=e[s];null!=o&&(r[s]=o)}),this.styles.styles.forEach(s=>{if("string"!=typeof s){const o=s;Object.keys(o).forEach(a=>{let l=o[a];l.length>1&&(l=LE(l,r,t));const c=this.normalizer.normalizePropertyName(a,t);l=this.normalizer.normalizeStyleValue(a,c,l,t),i[c]=l})}}),i}}class Cre{constructor(e,t,i){this.name=e,this.ast=t,this._normalizer=i,this.transitionFactories=[],this.states={},t.states.forEach(r=>{this.states[r.name]=new vre(r.style,r.options&&r.options.params||{},i)}),Sz(this.states,"true","1"),Sz(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new Ez(e,r,this.states))}),this.fallbackTransition=function(n,e,t){return new Ez(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(o,a)=>!0],options:null,queryCount:0,depCount:0},e)}(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,i,r){return this.transitionFactories.find(o=>o.match(e,t,i,r))||null}matchStyles(e,t,i){return this.fallbackTransition.buildStyles(e,t,i)}}function Sz(n,e,t){n.hasOwnProperty(e)?n.hasOwnProperty(t)||(n[t]=n[e]):n.hasOwnProperty(t)&&(n[e]=n[t])}const Ere=new HE;class Sre{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(e,t){const i=[],r=CO(this._driver,t,i);if(i.length)throw new Error(`Unable to build the animation due to the following errors: ${i.join("\n")}`);this._animations[e]=r}_buildPlayer(e,t,i){const r=e.element,s=iz(0,this._normalizer,0,e.keyframes,t,i);return this._driver.animate(r,s,e.duration,e.delay,e.easing,[],!0)}create(e,t,i={}){const r=[],s=this._animations[e];let o;const a=new Map;if(s?(o=SO(this._driver,t,s,gO,RE,{},{},i,Ere,r),o.forEach(d=>{const f=Ma(a,d.element,{});d.postStyleProps.forEach(p=>f[p]=null)})):(r.push("The requested animation doesn't exist or has already been destroyed"),o=[]),r.length)throw new Error(`Unable to create the animation due to the following errors: ${r.join("\n")}`);a.forEach((d,f)=>{Object.keys(d).forEach(p=>{d[p]=this._driver.computeStyle(f,p,qu)})});const c=rh(o.map(d=>{const f=a.get(d.element);return this._buildPlayer(d,{},f)}));return this._playersById[e]=c,c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){const t=this._getPlayer(e);t.destroy(),delete this._playersById[e];const i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(e){const t=this._playersById[e];if(!t)throw new Error(`Unable to find the timeline player referenced by ${e}`);return t}listen(e,t,i,r){const s=lO(t,"","","");return oO(this._getPlayer(e),i,s,r),()=>{}}command(e,t,i,r){if("register"==i)return void this.register(e,r[0]);if("create"==i)return void this.create(e,t,r[0]||{});const s=this._getPlayer(e);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e)}}}const Mz="ng-animate-queued",xz="ng-animate-disabled",Tz=".ng-animate-disabled",Are=[],Az={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Dre={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},gl="__ng_removed";class AO{constructor(e,t=""){this.namespaceId=t;const i=e&&e.hasOwnProperty("value");if(this.value=function(n){return null!=n?n:null}(i?e.value:e),i){const s=rm(e);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(e){const t=e.params;if(t){const i=this.options.params;Object.keys(t).forEach(r=>{null==i[r]&&(i[r]=t[r])})}}}const Bv="void",DO=new AO(Bv);class Ore{constructor(e,t,i){this.id=e,this.hostElement=t,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,ml(t,this._hostClassName)}listen(e,t,i,r){if(!this._triggers.hasOwnProperty(t))throw new Error(`Unable to listen on the animation trigger event "${i}" because the animation trigger "${t}" doesn't exist!`);if(null==i||0==i.length)throw new Error(`Unable to listen on the animation trigger "${t}" because the provided event is undefined!`);if(!function(n){return"start"==n||"done"==n}(i))throw new Error(`The provided animation trigger event "${i}" for the animation trigger "${t}" is not supported!`);const s=Ma(this._elementListeners,e,[]),o={name:t,phase:i,callback:r};s.push(o);const a=Ma(this._engine.statesByElement,e,{});return a.hasOwnProperty(t)||(ml(e,kE),ml(e,kE+"-"+t),a[t]=DO),()=>{this._engine.afterFlush(()=>{const l=s.indexOf(o);l>=0&&s.splice(l,1),this._triggers[t]||delete a[t]})}}register(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}_getTrigger(e){const t=this._triggers[e];if(!t)throw new Error(`The provided animation trigger "${e}" has not been registered!`);return t}trigger(e,t,i,r=!0){const s=this._getTrigger(t),o=new OO(this.id,t,e);let a=this._engine.statesByElement.get(e);a||(ml(e,kE),ml(e,kE+"-"+t),this._engine.statesByElement.set(e,a={}));let l=a[t];const c=new AO(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a[t]=c,l||(l=DO),c.value!==Bv&&l.value===c.value){if(!function(n,e){const t=Object.keys(n),i=Object.keys(e);if(t.length!=i.length)return!1;for(let r=0;r{Vf(e,v),Gc(e,C)})}return}const p=Ma(this._engine.playersByElement,e,[]);p.forEach(y=>{y.namespaceId==this.id&&y.triggerName==t&&y.queued&&y.destroy()});let g=s.matchTransition(l.value,c.value,e,c.params),_=!1;if(!g){if(!r)return;g=s.fallbackTransition,_=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:g,fromState:l,toState:c,player:o,isFallbackTransition:_}),_||(ml(e,Mz),o.onStart(()=>{sm(e,Mz)})),o.onDone(()=>{let y=this.players.indexOf(o);y>=0&&this.players.splice(y,1);const v=this._engine.playersByElement.get(e);if(v){let C=v.indexOf(o);C>=0&&v.splice(C,1)}}),this.players.push(o),p.push(o),o}deregister(e){delete this._triggers[e],this._engine.statesByElement.forEach((t,i)=>{delete t[e]}),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(r=>r.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);const t=this._engine.playersByElement.get(e);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){const i=this._engine.driver.query(e,FE,!0);i.forEach(r=>{if(r[gl])return;const s=this._engine.fetchNamespacesByElement(r);s.size?s.forEach(o=>o.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(e,t,i,r){const s=this._engine.statesByElement.get(e);if(s){const o=[];if(Object.keys(s).forEach(a=>{if(this._triggers[a]){const l=this.trigger(e,a,Bv,r);l&&o.push(l)}}),o.length)return this._engine.markElementAsRemoved(this.id,e,!0,t),i&&rh(o).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){const t=this._elementListeners.get(e),i=this._engine.statesByElement.get(e);if(t&&i){const r=new Set;t.forEach(s=>{const o=s.name;if(r.has(o))return;r.add(o);const l=this._triggers[o].fallbackTransition,c=i[o]||DO,d=new AO(Bv),f=new OO(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:d,player:f,isFallbackTransition:!0})})}}removeNode(e,t){const i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(e):[];if(s&&s.length)r=!0;else{let o=e;for(;o=o.parentNode;)if(i.statesByElement.get(o)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(e),r)i.markElementAsRemoved(this.id,e,!1,t);else{const s=e[gl];(!s||s===Az)&&(i.afterFlush(()=>this.clearElementCache(e)),i.destroyInnerAnimations(e),i._onRemovalComplete(e,t))}}insertNode(e,t){ml(e,this._hostClassName)}drainQueuedTransitions(e){const t=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const s=i.element,o=this._elementListeners.get(s);o&&o.forEach(a=>{if(a.name==i.triggerName){const l=lO(s,i.triggerName,i.fromState.value,i.toState.value);l._data=e,oO(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(i)}),this._queue=[],t.sort((i,r)=>{const s=i.transition.ast.depCount,o=r.transition.ast.depCount;return 0==s||0==o?s-o:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}elementContainsData(e){let t=!1;return this._elementListeners.has(e)&&(t=!0),t=!!this._queue.find(i=>i.element===e)||t,t}}class Ire{constructor(e,t,i){this.bodyNode=e,this.driver=t,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,s)=>{}}_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}get queuedPlayers(){const e=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&e.push(i)})}),e}createNamespace(e,t){const i=new Ore(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[e]=i}_balanceNamespaceList(e,t){const i=this._namespaceList.length-1;if(i>=0){let r=!1;for(let s=i;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,t)){this._namespaceList.splice(s+1,0,e),r=!0;break}r||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}register(e,t){let i=this._namespaceLookup[e];return i||(i=this.createNamespace(e,t)),i}registerTrigger(e,t,i){let r=this._namespaceLookup[e];r&&r.register(t,i)&&this.totalAnimations++}destroy(e,t){if(!e)return;const i=this._fetchNamespace(e);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[e];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(t))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){const t=new Set,i=this.statesByElement.get(e);if(i){const r=Object.keys(i);for(let s=0;s=0&&this.collectedLeaveElements.splice(o,1)}if(e){const o=this._fetchNamespace(e);o&&o.insertNode(t,i)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),ml(e,xz)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),sm(e,xz))}removeNode(e,t,i,r){if(WE(t)){const s=e?this._fetchNamespace(e):null;if(s?s.removeNode(t,r):this.markElementAsRemoved(e,t,!1,r),i){const o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,r)}}else this._onRemovalComplete(t,r)}markElementAsRemoved(e,t,i,r){this.collectedLeaveElements.push(t),t[gl]={namespaceId:e,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1}}listen(e,t,i,r,s){return WE(t)?this._fetchNamespace(e).listen(t,i,r,s):()=>{}}_buildInstruction(e,t,i,r,s){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,i,r,e.fromState.options,e.toState.options,t,s)}destroyInnerAnimations(e){let t=this.driver.query(e,FE,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(e,mO,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(e){const t=this.playersByElement.get(e);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(e){const t=this.playersByQueriedElement.get(e);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return rh(this.players).onDone(()=>e());e()})}processLeaveNode(e){const t=e[gl];if(t&&t.setForRemoval){if(e[gl]=Az,t.namespaceId){this.destroyInnerAnimations(e);const i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}this.driver.matchesElement(e,Tz)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Tz,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],t.length?rh(t).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(e){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${e.join("\n")}`)}_flushAnimations(e,t){const i=new HE,r=[],s=new Map,o=[],a=new Map,l=new Map,c=new Map,d=new Set;this.disabledNodes.forEach(Q=>{d.add(Q);const je=this.driver.query(Q,".ng-animate-queued",!0);for(let $e=0;$e{const $e=gO+y++;_.set(je,$e),Q.forEach(qe=>ml(qe,$e))});const v=[],C=new Set,w=new Set;for(let Q=0;QC.add(qe)):w.add(je))}const x=new Map,N=Iz(p,Array.from(C));N.forEach((Q,je)=>{const $e=RE+y++;x.set(je,$e),Q.forEach(qe=>ml(qe,$e))}),e.push(()=>{g.forEach((Q,je)=>{const $e=_.get(je);Q.forEach(qe=>sm(qe,$e))}),N.forEach((Q,je)=>{const $e=x.get(je);Q.forEach(qe=>sm(qe,$e))}),v.forEach(Q=>{this.processLeaveNode(Q)})});const V=[],U=[];for(let Q=this._namespaceList.length-1;Q>=0;Q--)this._namespaceList[Q].drainQueuedTransitions(t).forEach($e=>{const qe=$e.player,Ot=$e.element;if(V.push(qe),this.collectedEnterElements.length){const gi=Ot[gl];if(gi&&gi.setForMove)return void qe.destroy()}const Hn=!f||!this.driver.containsElement(f,Ot),ot=x.get(Ot),nr=_.get(Ot),Ln=this._buildInstruction($e,i,nr,ot,Hn);if(Ln.errors&&Ln.errors.length)U.push(Ln);else{if(Hn)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);if($e.isFallbackTransition)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);Ln.timelines.forEach(gi=>gi.stretchStartingKeyframe=!0),i.append(Ot,Ln.timelines),o.push({instruction:Ln,player:qe,element:Ot}),Ln.queriedElements.forEach(gi=>Ma(a,gi,[]).push(qe)),Ln.preStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);if(oa.length){let Bs=l.get(_r);Bs||l.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))}}),Ln.postStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);let Bs=c.get(_r);Bs||c.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))})}});if(U.length){const Q=[];U.forEach(je=>{Q.push(`@${je.triggerName} has failed due to:\n`),je.errors.forEach($e=>Q.push(`- ${$e}\n`))}),V.forEach(je=>je.destroy()),this.reportError(Q)}const ee=new Map,de=new Map;o.forEach(Q=>{const je=Q.element;i.has(je)&&(de.set(je,je),this._beforeAnimationBuild(Q.player.namespaceId,Q.instruction,ee))}),r.forEach(Q=>{const je=Q.element;this._getPreviousPlayers(je,!1,Q.namespaceId,Q.triggerName,null).forEach(qe=>{Ma(ee,je,[]).push(qe),qe.destroy()})});const ae=v.filter(Q=>Rz(Q,l,c)),me=new Map;Oz(me,this.driver,w,c,qu).forEach(Q=>{Rz(Q,l,c)&&ae.push(Q)});const Be=new Map;g.forEach((Q,je)=>{Oz(Be,this.driver,new Set(Q),l,"!")}),ae.forEach(Q=>{const je=me.get(Q),$e=Be.get(Q);me.set(Q,Object.assign(Object.assign({},je),$e))});const te=[],ne=[],Ie={};o.forEach(Q=>{const{element:je,player:$e,instruction:qe}=Q;if(i.has(je)){if(d.has(je))return $e.onDestroy(()=>Gc(je,qe.toStyles)),$e.disabled=!0,$e.overrideTotalTime(qe.totalTime),void r.push($e);let Ot=Ie;if(de.size>1){let ot=je;const nr=[];for(;ot=ot.parentNode;){const Ln=de.get(ot);if(Ln){Ot=Ln;break}nr.push(ot)}nr.forEach(Ln=>de.set(Ln,Ot))}const Hn=this._buildAnimation($e.namespaceId,qe,ee,s,Be,me);if($e.setRealPlayer(Hn),Ot===Ie)te.push($e);else{const ot=this.playersByElement.get(Ot);ot&&ot.length&&($e.parentPlayer=rh(ot)),r.push($e)}}else Vf(je,qe.fromStyles),$e.onDestroy(()=>Gc(je,qe.toStyles)),ne.push($e),d.has(je)&&r.push($e)}),ne.forEach(Q=>{const je=s.get(Q.element);if(je&&je.length){const $e=rh(je);Q.setRealPlayer($e)}}),r.forEach(Q=>{Q.parentPlayer?Q.syncPlayerEvents(Q.parentPlayer):Q.destroy()});for(let Q=0;Q!Hn.destroyed);Ot.length?Fre(this,je,Ot):this.processLeaveNode(je)}return v.length=0,te.forEach(Q=>{this.players.push(Q),Q.onDone(()=>{Q.destroy();const je=this.players.indexOf(Q);this.players.splice(je,1)}),Q.play()}),te}elementContainsData(e,t){let i=!1;const r=t[gl];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(t)&&(i=!0),this.playersByQueriedElement.has(t)&&(i=!0),this.statesByElement.has(t)&&(i=!0),this._fetchNamespace(e).elementContainsData(t)||i}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,i,r,s){let o=[];if(t){const a=this.playersByQueriedElement.get(e);a&&(o=a)}else{const a=this.playersByElement.get(e);if(a){const l=!s||s==Bv;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||o.push(c)})}}return(i||r)&&(o=o.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),o}_beforeAnimationBuild(e,t,i){const s=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:t.triggerName;for(const l of t.timelines){const c=l.element,d=c!==s,f=Ma(i,c,[]);this._getPreviousPlayers(c,d,o,a,t.toState).forEach(g=>{const _=g.getRealPlayer();_.beforeDestroy&&_.beforeDestroy(),g.destroy(),f.push(g)})}Vf(s,t.fromStyles)}_buildAnimation(e,t,i,r,s,o){const a=t.triggerName,l=t.element,c=[],d=new Set,f=new Set,p=t.timelines.map(_=>{const y=_.element;d.add(y);const v=y[gl];if(v&&v.removedBeforeQueried)return new im(_.duration,_.delay);const C=y!==l,w=function(n){const e=[];return Pz(n,e),e}((i.get(y)||Are).map(ee=>ee.getRealPlayer())).filter(ee=>!!ee.element&&ee.element===y),x=s.get(y),N=o.get(y),V=iz(0,this._normalizer,0,_.keyframes,x,N),U=this._buildPlayer(_,V,w);if(_.subTimeline&&r&&f.add(y),C){const ee=new OO(e,a,y);ee.setRealPlayer(U),c.push(ee)}return U});c.forEach(_=>{Ma(this.playersByQueriedElement,_.element,[]).push(_),_.onDone(()=>function(n,e,t){let i;if(n instanceof Map){if(i=n.get(e),i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&n.delete(e)}}else if(i=n[e],i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&delete n[e]}return i}(this.playersByQueriedElement,_.element,_))}),d.forEach(_=>ml(_,dz));const g=rh(p);return g.onDestroy(()=>{d.forEach(_=>sm(_,dz)),Gc(l,t.toStyles)}),f.forEach(_=>{Ma(r,_,[]).push(g)}),g}_buildPlayer(e,t,i){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,i):new im(e.duration,e.delay)}}class OO{constructor(e,t,i){this.namespaceId=e,this.triggerName=t,this.element=i,this._player=new im,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(t=>{this._queuedCallbacks[t].forEach(i=>oO(e,t,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){const t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){Ma(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){const t=this._player;t.triggerCallback&&t.triggerCallback(e)}}function WE(n){return n&&1===n.nodeType}function Dz(n,e){const t=n.style.display;return n.style.display=null!=e?e:"none",t}function Oz(n,e,t,i,r){const s=[];t.forEach(l=>s.push(Dz(l)));const o=[];i.forEach((l,c)=>{const d={};l.forEach(f=>{const p=d[f]=e.computeStyle(c,f,r);(!p||0==p.length)&&(c[gl]=Dre,o.push(c))}),n.set(c,d)});let a=0;return t.forEach(l=>Dz(l,s[a++])),o}function Iz(n,e){const t=new Map;if(n.forEach(a=>t.set(a,[])),0==e.length)return t;const r=new Set(e),s=new Map;function o(a){if(!a)return 1;let l=s.get(a);if(l)return l;const c=a.parentNode;return l=t.has(c)?c:r.has(c)?1:o(c),s.set(a,l),l}return e.forEach(a=>{const l=o(a);1!==l&&t.get(l).push(a)}),t}const qE="$$classes";function ml(n,e){if(n.classList)n.classList.add(e);else{let t=n[qE];t||(t=n[qE]={}),t[e]=!0}}function sm(n,e){if(n.classList)n.classList.remove(e);else{let t=n[qE];t&&delete t[e]}}function Fre(n,e,t){rh(t).onDone(()=>n.processLeaveNode(e))}function Pz(n,e){for(let t=0;tr.add(s)):e.set(n,i),t.delete(n),!0}class YE{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,s)=>{},this._transitionEngine=new Ire(e,t,i),this._timelineEngine=new Sre(e,t,i),this._transitionEngine.onRemovalComplete=(r,s)=>this.onRemovalComplete(r,s)}registerTrigger(e,t,i,r,s){const o=e+"-"+r;let a=this._triggerCache[o];if(!a){const l=[],c=CO(this._driver,s,l);if(l.length)throw new Error(`The animation trigger "${r}" has failed to build due to the following errors:\n - ${l.join("\n - ")}`);a=function(n,e,t){return new Cre(n,e,t)}(r,c,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,r,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,i,r){this._transitionEngine.insertNode(e,t,i,r)}onRemove(e,t,i,r){this._transitionEngine.removeNode(e,t,r||!1,i)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,i,r){if("@"==i.charAt(0)){const[s,o]=rz(i);this._timelineEngine.command(s,t,o,r)}else this._transitionEngine.trigger(e,t,i,r)}listen(e,t,i,r,s){if("@"==i.charAt(0)){const[o,a]=rz(i);return this._timelineEngine.listen(o,t,a,s)}return this._transitionEngine.listen(e,t,i,r,s)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function kz(n,e){let t=null,i=null;return Array.isArray(e)&&e.length?(t=IO(e[0]),e.length>1&&(i=IO(e[e.length-1]))):e&&(t=IO(e)),t||i?new om(n,t,i):null}class om{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=om.initialStylesByElement.get(e);r||om.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&Gc(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Gc(this._element,this._initialStyles),this._endStyles&&(Gc(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(om.initialStylesByElement.delete(this._element),this._startStyles&&(Vf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Vf(this._element,this._endStyles),this._endStyles=null),Gc(this._element,this._initialStyles),this._state=3)}}function IO(n){let e=null;const t=Object.keys(n);for(let i=0;ithis._handleCallback(l)}apply(){(function(n,e){const t=RO(n,"").trim();let i=0;t.length&&(function(n,e){let t=0;for(let i=0;i=this._delay&&i>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Vz(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(n,e){const i=RO(n,"").split(","),r=PO(i,e);r>=0&&(i.splice(r,1),XE(n,"",i.join(",")))}(this._element,this._name))}}function Lz(n,e,t){XE(n,"PlayState",t,Bz(n,e))}function Bz(n,e){const t=RO(n,"");return t.indexOf(",")>0?PO(t.split(","),e):PO([t],e)}function PO(n,e){for(let t=0;t=0)return t;return-1}function Vz(n,e,t){t?n.removeEventListener(Nz,e):n.addEventListener(Nz,e)}function XE(n,e,t,i){const r=Fz+e;if(null!=i){const s=n.style[r];if(s.length){const o=s.split(",");o[i]=t,t=o.join(",")}}n.style[r]=t}function RO(n,e){return n.style[Fz+e]||""}class zz{constructor(e,t,i,r,s,o,a,l){this.element=e,this.keyframes=t,this.animationName=i,this._duration=r,this._delay=s,this._finalStyles=a,this._specialStyles=l,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=r+s,this._buildStyler()}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(e=>e()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(e){this._styler.setPosition(e)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new jre(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}beforeDestroy(){this.init();const e={};if(this.hasStarted()){const t=this._state>=3;Object.keys(this._finalStyles).forEach(i=>{"offset"!=i&&(e[i]=t?this._finalStyles[i]:bO(this.element,i))})}this.currentSnapshot=e}}class qre extends im{constructor(e,t){super(),this.element=e,this._startingStyles={},this.__initialized=!1,this._styles=lz(t)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(e=>{this._startingStyles[e]=this.element.style[e]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(e=>this.element.style.setProperty(e,this._styles[e])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(e=>{const t=this._startingStyles[e];t?this.element.style.setProperty(e,t):this.element.style.removeProperty(e)}),this._startingStyles=null,super.destroy())}}class Uz{constructor(){this._count=0}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}buildKeyframeElement(e,t,i){i=i.map(a=>lz(a));let r=`@keyframes ${t} {\n`,s="";i.forEach(a=>{s=" ";const l=parseFloat(a.offset);r+=`${s}${100*l}% {\n`,s+=" ",Object.keys(a).forEach(c=>{const d=a[c];switch(c){case"offset":return;case"easing":return void(d&&(r+=`${s}animation-timing-function: ${d};\n`));default:return void(r+=`${s}${c}: ${d};\n`)}}),r+=`${s}}\n`}),r+="}\n";const o=document.createElement("style");return o.textContent=r,o}animate(e,t,i,r,s,o=[],a){const l=o.filter(v=>v instanceof zz),c={};mz(i,r)&&l.forEach(v=>{let C=v.currentSnapshot;Object.keys(C).forEach(w=>c[w]=C[w])});const d=function(n){let e={};return n&&(Array.isArray(n)?n:[n]).forEach(i=>{Object.keys(i).forEach(r=>{"offset"==r||"easing"==r||(e[r]=i[r])})}),e}(t=_z(e,t,c));if(0==i)return new qre(e,d);const f="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(e,f,t);(function(n){var e;const t=null===(e=n.getRootNode)||void 0===e?void 0:e.call(n);return"undefined"!=typeof ShadowRoot&&t instanceof ShadowRoot?t:document.head})(e).appendChild(p);const _=kz(e,t),y=new zz(e,t,f,i,r,s,d,_);return y.onDestroy(()=>function(n){n.parentNode.removeChild(n)}(p)),y}}class $z{constructor(e,t,i,r){this.element=e,this.keyframes=t,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(e,t,i){return e.animate(t,i)}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(t=>{"offset"!=t&&(e[t]=this._finished?this._finalKeyframe[t]:bO(this.element,t))}),this.currentSnapshot=e}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class Qre{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Gz().toString()),this._cssKeyframesDriver=new Uz}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}overrideWebAnimationsSupport(e){this._isNativeImpl=e}animate(e,t,i,r,s,o=[],a){if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,i,r,s,o);const d={duration:i,delay:r,fill:0==r?"both":"forwards"};s&&(d.easing=s);const f={},p=o.filter(_=>_ instanceof $z);mz(i,r)&&p.forEach(_=>{let y=_.currentSnapshot;Object.keys(y).forEach(v=>f[v]=y[v])});const g=kz(e,t=_z(e,t=t.map(_=>sh(_,!1)),f));return new $z(e,t,d,g)}}function Gz(){return nz()&&Element.prototype.animate||{}}let ese=(()=>{class n extends QV{constructor(t,i){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(i.body,{id:"0",encapsulation:Ue.None,styles:[],data:{animation:[]}})}build(t){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(t)?JV(t):t;return Wz(this._renderer,null,i,"register",[r]),new tse(i,this._renderer)}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class tse extends class{}{constructor(e,t){super(),this._id=e,this._renderer=t}create(e,t){return new nse(this._id,e,t||{},this._renderer)}}class nse{constructor(e,t,i,r){this.id=e,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(e,t){return this._renderer.listen(this.element,`@@${this.id}:${e}`,t)}_command(e,...t){return Wz(this._renderer,this.element,this.id,e,t)}onDone(e){this._listen("done",e)}onStart(e){this._listen("start",e)}onDestroy(e){this._listen("destroy",e)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(e){this._command("setPosition",e)}getPosition(){var e,t;return null!==(t=null===(e=this._renderer.engine.players[+this.id])||void 0===e?void 0:e.getPosition())&&void 0!==t?t:0}}function Wz(n,e,t,i,r){return n.setProperty(e,`@@${t}:${i}`,r)}const qz="@.disabled";let ise=(()=>{class n{constructor(t,i,r){this.delegate=t,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,o)=>{o&&o.parentNode(s)&&o.removeChild(s.parentNode,s)}}createRenderer(t,i){const s=this.delegate.createRenderer(t,i);if(!(t&&i&&i.data&&i.data.animation)){let d=this._rendererCache.get(s);return d||(d=new Yz("",s,this.engine),this._rendererCache.set(s,d)),d}const o=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,t);const l=d=>{Array.isArray(d)?d.forEach(l):this.engine.registerTrigger(o,a,t,d.name,d)};return i.data.animation.forEach(l),new rse(this,a,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,i,r){t>=0&&ti(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[o,a]=s;o(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(YE),I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Yz{constructor(e,t,i){this.namespaceId=e,this.delegate=t,this.engine=i,this.destroyNode=this.delegate.destroyNode?r=>t.destroyNode(r):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,i,r=!0){this.delegate.insertBefore(e,t,i),this.engine.onInsert(this.namespaceId,t,e,r)}removeChild(e,t,i){this.engine.onRemove(this.namespaceId,t,this.delegate,i)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,i,r){this.delegate.setAttribute(e,t,i,r)}removeAttribute(e,t,i){this.delegate.removeAttribute(e,t,i)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,i,r){this.delegate.setStyle(e,t,i,r)}removeStyle(e,t,i){this.delegate.removeStyle(e,t,i)}setProperty(e,t,i){"@"==t.charAt(0)&&t==qz?this.disableAnimations(e,!!i):this.delegate.setProperty(e,t,i)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,i){return this.delegate.listen(e,t,i)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}}class rse extends Yz{constructor(e,t,i,r){super(t,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,i){"@"==t.charAt(0)?"."==t.charAt(1)&&t==qz?this.disableAnimations(e,i=void 0===i||!!i):this.engine.process(this.namespaceId,e,t.substr(1),i):this.delegate.setProperty(e,t,i)}listen(e,t,i){if("@"==t.charAt(0)){const r=function(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(e);let s=t.substr(1),o="";return"@"!=s.charAt(0)&&([s,o]=function(n){const e=n.indexOf(".");return[n.substring(0,e),n.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,r,s,o,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(e,t,i)}}let ase=(()=>{class n extends YE{constructor(t,i,r){super(t.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(PE),I(xO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Do=new ve("AnimationModuleType"),Xz=[{provide:QV,useClass:ese},{provide:xO,useFactory:function(){return new gre}},{provide:YE,useClass:ase},{provide:Cf,useFactory:function(n,e,t){return new ise(n,e,t)},deps:[_E,YE,dt]}],Kz=[{provide:PE,useFactory:function(){return"function"==typeof Gz()?new Qre:new Uz}},{provide:Do,useValue:"BrowserAnimations"},...Xz],Zz=[{provide:PE,useClass:cz},{provide:Do,useValue:"NoopAnimations"},...Xz];let kO=(()=>{class n{static withConfig(t){return{ngModule:n,providers:t.disableAnimations?Zz:Kz}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:Kz,imports:[yE]}),n})();function fse(n,e){if(1&n&&tt(0,"mat-pseudo-checkbox",4),2&n){const t=Qe();ie("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function pse(n,e){if(1&n&&(R(0,"span",5),De(1),k()),2&n){const t=Qe();G(1),or("(",t.group.label,")")}}const gse=["*"],Qz=new ju("12.2.5"),_se=new ve("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let $f,On=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Mo()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Qz.full!==ZV.full&&console.warn("The Angular Material version ("+Qz.full+") does not match the Angular CDK version ("+ZV.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(I(XV),I(_se,8),I(ut))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv],Nv]}),n})();function jf(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=Mt(e)}}}function Uf(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function nc(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Mt(e)}}}function Hf(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?To(t):this.defaultTabIndex}}}function FO(n){return class extends n{constructor(...e){super(...e),this.stateChanges=new Se,this.errorState=!1}updateErrorState(){const e=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==e&&(this.errorState=s,this.stateChanges.next())}}}try{$f="undefined"!=typeof Intl}catch(n){$f=!1}let Vv=(()=>{class n{isErrorState(t,i){return!!(t&&t.invalid&&(t.touched||i&&i.submitted))}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})();class Dse{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const ij={enterDuration:225,exitDuration:150},NO=tm({passive:!0}),rj=["mousedown","touchstart"],sj=["mouseup","mouseleave","touchend","touchcancel"];class oj{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=Wu(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},ij),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=a-o+"px",d.style.top=l-o+"px",d.style.height=2*o+"px",d.style.width=2*o+"px",null!=i.color&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(d),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(d),d.style.transform="scale(1)";const f=new Dse(this,d,i);return f.state=0,this._activeRipples.add(f),i.persistent||(this._mostRecentTransientRipple=f),this._runTimeoutOutsideZone(()=>{const p=f===this._mostRecentTransientRipple;f.state=1,!i.persistent&&(!p||!this._isPointerDown)&&f.fadeOut()},c),f}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},ij),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=Wu(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(rj))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(sj),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=VV(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,NO)})})}_removeTriggerEvents(){this._triggerElement&&(rj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}),this._pointerUpEventsRegistered&&sj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}))}}const aj=new ve("mat-ripple-global-options");let Js=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new oj(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(Do,8))},n.\u0275dir=oe({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&st("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),_l=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On,Rv],On]}),n})(),lj=(()=>{class n{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return n.\u0275fac=function(t){return new(t||n)(E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,i){2&t&&st("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,i){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),n})(),LO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On]]}),n})();const QE=new ve("MAT_OPTION_PARENT_COMPONENT"),Rse=jf(class{});let kse=0,cj=(()=>{class n extends Rse{constructor(t){var i;super(),this._labelId="mat-optgroup-label-"+kse++,this._inert=null!==(i=null==t?void 0:t.inertGroups)&&void 0!==i&&i}}return n.\u0275fac=function(t){return new(t||n)(E(QE,8))},n.\u0275dir=oe({type:n,inputs:{label:"label"},features:[ct]}),n})();const JE=new ve("MatOptgroup");let Fse=0;class uj{constructor(e,t=!1){this.source=e,this.isUserInput=t}}let Nse=(()=>{class n{constructor(t,i,r,s){this._element=t,this._changeDetectorRef=i,this._parent=r,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Fse++,this.onSelectionChange=new Le,this._stateChanges=new Se}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,i){const r=this._getHostElement();"function"==typeof r.focus&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!Zs(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new uj(this,t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(void 0),E(cj))},n.\u0275dir=oe({type:n,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),n})(),eS=(()=>{class n extends Nse{constructor(t,i,r,s){super(t,i,r,s)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(QE,8),E(JE,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,i){1&t&&ge("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&t&&(al("id",i.id),nn("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),st("mat-selected",i.selected)("mat-option-multiple",i.multiple)("mat-active",i.active)("mat-option-disabled",i.disabled))},exportAs:["matOption"],features:[ct],ngContentSelectors:gse,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,i){1&t&&(wi(),mt(0,fse,1,2,"mat-pseudo-checkbox",0),R(1,"span",1),Ht(2),k(),mt(3,pse,2,1,"span",2),tt(4,"div",3)),2&t&&(ie("ngIf",i.multiple),G(3),ie("ngIf",i.group&&i.group._inert),G(1),ie("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},directives:[zr,Js,lj],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),n})();function BO(n,e,t){if(t.length){let i=e.toArray(),r=t.toArray(),s=0;for(let o=0;o{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,dn,On,LO]]}),n})();function Wc(n,e,t,i){return Ke(t)&&(i=t,t=void 0),i?Wc(n,e,t).pipe(Ae(r=>we(r)?i(...r):i(r))):new ce(r=>{hj(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function hj(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o enter",[ti({opacity:0,transform:"translateY(-5px)"}),Ao("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let jv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})();const pj=new ve("MatHint");let Gf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-label"]]}),n})(),ooe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-placeholder"]]}),n})();const gj=new ve("MatPrefix"),mj=new ve("MatSuffix");let VO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","matSuffix",""]],features:[Dt([{provide:mj,useExisting:n}])]}),n})(),_j=0;const coe=Uf(class{constructor(n){this._elementRef=n}},"primary"),vj=new ve("MAT_FORM_FIELD_DEFAULT_OPTIONS"),nS=new ve("MatFormField");let am=(()=>{class n extends coe{constructor(t,i,r,s,o,a,l,c){super(t),this._changeDetectorRef=i,this._dir=s,this._defaults=o,this._platform=a,this._ngZone=l,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new Se,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+_j++,this._labelId="mat-form-field-label-"+_j++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==c,this.appearance=o&&o.appearance?o.appearance:"legacy",this._hideRequiredMarker=!(!o||null==o.hideRequiredMarker)&&o.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const i=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&i!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=Mt(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(Rr(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(Tn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Tn(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Ni(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Rr(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Rr(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const i=this._control?this._control.ngControl:null;return i&&i[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Wc(this._label.nativeElement,"transitionend").pipe(yi(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,r=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?t.push(i.id):this._hintLabel&&t.push(this._hintLabelId),r&&t.push(r.id)}else this._errorChildren&&t.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let i=0,r=0;const s=this._connectionContainerRef.nativeElement,o=s.querySelectorAll(".mat-form-field-outline-start"),a=s.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const l=s.getBoundingClientRect();if(0===l.width&&0===l.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const c=this._getStartEnd(l),d=t.children,f=this._getStartEnd(d[0].getBoundingClientRect());let p=0;for(let g=0;g0?.75*p+10:0}for(let l=0;l{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,SE],On]}),n})();function Hv(...n){if(1===n.length){const e=n[0];if(we(e))return iS(e,null);if(_e(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return iS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return iS(n=1===n.length&&we(n[0])?n[0]:n,null).pipe(Ae(t=>e(...t)))}return iS(n,null)}function iS(n,e){return new ce(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=d},error:d=>t.error(d),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((d,f,p)=>(d[f]=r[p],d),{}):r),t.complete())}}))}})}function Ta(n){return function(t){const i=new uoe(n),r=t.lift(i);return i.caught=r}}class uoe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new doe(e,this.selector,this.caught))}}class doe extends ii{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new Gr(this);this.add(i);const r=co(t,i);r!==i&&this.add(r)}}}class hoe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new foe(e,this.callback))}}class foe extends xt{constructor(e,t){super(e),this.add(new Te(t))}}class Cj{}class wj{}class Yu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Yu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Yu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Yu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class poe{encodeKey(e){return Ej(e)}encodeValue(e){return Ej(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const moe=/%(\d[a-f0-9])/gi,_oe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Ej(n){return encodeURIComponent(n).replace(moe,(e,t)=>{var i;return null!==(i=_oe[t])&&void 0!==i?i:e})}function Sj(n){return`${n}`}class oh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new poe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new oh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(Sj(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(Sj(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class yoe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function Mj(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function xj(n){return"undefined"!=typeof Blob&&n instanceof Blob}function Tj(n){return"undefined"!=typeof FormData&&n instanceof FormData}class $v{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Yu),this.context||(this.context=new yoe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(d=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),d)),new $v(i,r,o,{params:d,headers:c,context:f,reportProgress:l,responseType:s,withCredentials:a})}}var Ur=(()=>((Ur=Ur||{})[Ur.Sent=0]="Sent",Ur[Ur.UploadProgress=1]="UploadProgress",Ur[Ur.ResponseHeader=2]="ResponseHeader",Ur[Ur.DownloadProgress=3]="DownloadProgress",Ur[Ur.Response=4]="Response",Ur[Ur.User=5]="User",Ur))();class zO{constructor(e,t=200,i="OK"){this.headers=e.headers||new Yu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class jO extends zO{constructor(e={}){super(e),this.type=Ur.ResponseHeader}clone(e={}){return new jO({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class rS extends zO{constructor(e={}){super(e),this.type=Ur.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new rS({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class Aj extends zO{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function UO(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let Wf=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof $v)s=t;else{let l,c;l=r.headers instanceof Yu?r.headers:new Yu(r.headers),r.params&&(c=r.params instanceof oh?r.params:new oh({fromObject:r.params})),s=new $v(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=ht(s).pipe(function(n,e){return di(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof $v||"events"===r.observe)return o;const a=o.pipe(Fn(l=>l instanceof rS));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(Ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new oh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,UO(r,i))}post(t,i,r={}){return this.request("POST",t,UO(r,i))}put(t,i,r={}){return this.request("PUT",t,UO(r,i))}}return n.\u0275fac=function(t){return new(t||n)(I(Cj))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Dj{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const Oj=new ve("HTTP_INTERCEPTORS");let Coe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const woe=/^\)\]\}',?\n/;let Ij=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ce(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,_)=>r.setRequestHeader(g,_.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,_=r.statusText||"OK",y=new Yu(r.getAllResponseHeaders()),v=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new jO({headers:y,status:g,statusText:_,url:v}),o},l=()=>{let{headers:g,status:_,statusText:y,url:v}=a(),C=null;204!==_&&(C=void 0===r.response?r.responseText:r.response),0===_&&(_=C?200:0);let w=_>=200&&_<300;if("json"===t.responseType&&"string"==typeof C){const x=C;C=C.replace(woe,"");try{C=""!==C?JSON.parse(C):null}catch(N){C=x,w&&(w=!1,C={error:N,text:C})}}w?(i.next(new rS({body:C,headers:g,status:_,statusText:y,url:v||void 0})),i.complete()):i.error(new Aj({error:C,headers:g,status:_,statusText:y,url:v||void 0}))},c=g=>{const{url:_}=a(),y=new Aj({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:_||void 0});i.error(y)};let d=!1;const f=g=>{d||(i.next(a()),d=!0);let _={type:Ur.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),"text"===t.responseType&&!!r.responseText&&(_.partialText=r.responseText),i.next(_)},p=g=>{let _={type:Ur.UploadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),i.next(_)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",f),null!==s&&r.upload&&r.upload.addEventListener("progress",p)),r.send(s),i.next({type:Ur.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",f),null!==s&&r.upload&&r.upload.removeEventListener("progress",p)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(I(aV))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const HO=new ve("XSRF_COOKIE_NAME"),$O=new ve("XSRF_HEADER_NAME");class Pj{}let Soe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Y3(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(dl),I(HO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),GO=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(Pj),I($O))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Moe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(Oj,[]);this.chain=i.reduceRight((r,s)=>new Dj(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(wj),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),xoe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:GO,useClass:Coe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:HO,useValue:t.cookieName}:[],t.headerName?{provide:$O,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GO,{provide:Oj,useExisting:GO,multi:!0},{provide:Pj,useClass:Soe},{provide:HO,useValue:"XSRF-TOKEN"},{provide:$O,useValue:"X-XSRF-TOKEN"}]}),n})(),Rj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Wf,{provide:Cj,useClass:Moe},Ij,{provide:wj,useExisting:Ij}],imports:[[xoe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const Toe=["*"];function kj(n){return Error(`Unable to find icon with the name "${n}"`)}function Fj(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function Nj(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class qf{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let Gv=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new qf(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(mn.HTML,r);if(!o)throw Nj(r);return this._addSvgIconConfig(t,i,new qf("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new qf(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(mn.HTML,i);if(!s)throw Nj(i);return this._addSvgIconSetConfig(t,new qf("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(mn.RESOURCE_URL,t);if(!i)throw Fj(t);const r=this._cachedIconsByUrl.get(i);return r?ht(sS(r)):this._loadSvgIconFromConfig(new qf(t,null)).pipe(Ti(s=>this._cachedIconsByUrl.set(i,s)),Ae(s=>sS(s)))}getNamedSvgIcon(t,i=""){const r=Lj(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Kg(kj(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?ht(sS(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(Ae(i=>sS(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?ht(r):Hv(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(Ta(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(mn.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),ht(null)})))).pipe(Ae(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw kj(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Ti(i=>t.svgText=i),Ae(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?ht(null):this._fetchIcon(t).pipe(Ti(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new hoe(n))}(()=>this._inProgressUrlFetches.delete(a)),Vs());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(Lj(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),Bj=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Foe=Bj.map(n=>`[${n}]`).join(", "),Noe=/^url\(['"]?#(.*?)['"]?\)$/;let rs=(()=>{class n extends Ioe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=Te.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=Mt(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(Foe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(Noe):null;if(c){let d=r.get(a);d||(d=[],r.set(a,d)),d.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Gv),Zr("aria-hidden"),E(Poe),E($o))},n.\u0275cmp=Ne({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),st("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[ct],ngContentSelectors:Toe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})(),lr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let zoe=1;const joe=Promise.resolve(),oS={};function Vj(n){return n in oS&&(delete oS[n],!0)}const zj={setImmediate(n){const e=zoe++;return oS[e]=!0,joe.then(()=>Vj(e)&&n()),e},clearImmediate(n){Vj(n)}};new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=zj.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(zj.clearImmediate(t),e.scheduled=void 0)}});function cm(n){return!!n&&(n instanceof ce||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class Woe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new qoe(e,this.durationSelector))}}class qoe extends ii{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=co(t,new Gr(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function WO(n){return!we(n)&&n-parseFloat(n)+1>=0}function Xoe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function aS(n,e=Pf){return function(n){return function(t){return t.lift(new Woe(n))}}(()=>function(n=0,e,t){let i=-1;return WO(e)?i=Number(e)<1?1:Number(e):Gn(e)&&(t=e),Gn(t)||(t=Pf),new ce(r=>{const s=WO(n)?n:+n-t.now();return t.schedule(Xoe,s,{index:0,period:i,subscriber:r})})}(n,e))}function qc(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(d){let f;s++,!r||a?(a=!1,r=new If(n,e,i),f=r.subscribe(this),o=d.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):f=r.subscribe(this),this.add(()=>{s--,f.unsubscribe(),f=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}class lS{constructor(e=!1,t,i=!0){this._multiple=e,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Se,t&&t.length&&(e?t.forEach(r=>this._markSelected(r)):this._markSelected(t[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...e){this._verifyValueAssignment(e),e.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...e){this._verifyValueAssignment(e),e.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(e){this.isSelected(e)?this.deselect(e):this.select(e)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(e){return this._selection.has(e)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){this.isSelected(e)||(this._multiple||this._unmarkAll(),this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){}}let cS=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),um=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new Se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new ce(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(aS(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):ht()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Fn(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=Wu(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Wc(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(ut,8))},token:n,providedIn:"root"}),n})(),Yf=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new Se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(aS(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut,8))},token:n,providedIn:"root"}),n})(),Wv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),Gj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv,Rv,Wv],Nv,Wv]}),n})();class qO{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class dm extends qO{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Xf extends qO{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class fae extends qO{constructor(e){super(),this.element=e instanceof rt?e.nativeElement:e}}class uS{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof dm?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Xf?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof fae?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class pae extends uS{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let Kf=(()=>{class n extends uS{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Le,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(E(ll),E(ns),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[ct]}),n})(),dS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function qj(n,e=!1){return t=>t.lift(new gae(n,e))}class gae{constructor(e,t){this.predicate=e,this.inclusive=t}call(e,t){return t.subscribe(new mae(e,this.predicate,this.inclusive))}}class mae extends xt{constructor(e,t,i){super(e),this.predicate=t,this.inclusive=i,this.index=0}_next(e){const t=this.destination;let i;try{i=this.predicate(e,this.index++)}catch(r){return void t.error(r)}this.nextOrComplete(e,i)}nextOrComplete(e,t){const i=this.destination;Boolean(t)?i.next(e):(this.inclusive&&i.next(e),i.complete())}}const Yj=TV();class _ae{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=jr(-this._previousScrollPosition.left),e.style.top=jr(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),Yj&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Yj&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class yae{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class Xj{enable(){}disable(){}attach(){}}function YO(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function Kj(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class vae{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();YO(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let bae=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new Xj,this.close=o=>new yae(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new _ae(this._viewportRuler,this._document),this.reposition=o=>new vae(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(I(um),I(Yf),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(um),I(Yf),I(dt),I(ut))},token:n,providedIn:"root"}),n})();class qv{constructor(e){if(this.scrollStrategy=new Xj,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class Cae{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class wae{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let Zj=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Eae=(()=>{class n extends Zj{constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Sae=(()=>{class n extends Zj{constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Nf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(si))},n.\u0275prov=ue({factory:function(){return new n(I(ut),I(si))},token:n,providedIn:"root"}),n})();const ah="undefined"!=typeof window?window:{},Qj=void 0!==ah.__karma__&&!!ah.__karma__||void 0!==ah.jasmine&&!!ah.jasmine||void 0!==ah.jest&&!!ah.jest||void 0!==ah.Mocha&&!!ah.Mocha;let hm=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Qj){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(d),this._keydownEvents=new Se,this._outsidePointerEvents=new Se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=jr(this._config.width),e.height=jr(this._config.height),e.minWidth=jr(this._config.minWidth),e.minHeight=jr(this._config.minHeight),e.maxWidth=jr(this._config.maxWidth),e.maxHeight=jr(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;EE(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(Tn(Ni(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const Jj="cdk-overlay-connected-position-bounding-box",xae=/([A-Za-z%]+)$/;class eU{constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Se,this._resizeSubscription=Te.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(Jj),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Zf(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Jj),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=nU(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,_=this._subtractOverflows(s.width,0-o,o+s.width-i.width),y=this._subtractOverflows(s.height,p,g),v=_*y;return{visibleArea:v,isCompletelyWithinViewport:s.width*s.height===v,fitsInViewportVertically:y===s.height,fitsInViewportHorizontally:_==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=tU(this._overlayRef.getConfig().minHeight),a=tU(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=nU(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let d=0,f=0;return d=r.width<=s.width?c||-o:e.x_&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-_/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,d=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)f=e.x,d=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),_=this._lastBoundingBoxSize.width;d=2*g,f=e.x-g,d>_&&!this._isInitialRender&&!this._growAfterOpen&&(f=e.x-_/2)}return{top:o,left:f,bottom:a,right:p,width:d,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=jr(i.height),r.top=jr(i.top),r.bottom=jr(i.bottom),r.width=jr(i.width),r.left=jr(i.left),r.right=jr(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=jr(s)),o&&(r.maxWidth=jr(o))}this._lastBoundingBoxSize=i,Zf(this._boundingBox.style,r)}_resetBoundingBoxStyles(){Zf(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Zf(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();Zf(i,this._getExactOverlayY(t,e,d)),Zf(i,this._getExactOverlayX(t,e,d))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=jr(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=jr(o.maxWidth):s&&(i.maxWidth="")),Zf(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=jr(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=jr(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Kj(e,i),isOriginOutsideView:YO(e,i),isOverlayClipped:Kj(t,i),isOverlayOutsideView:YO(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&EE(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof rt)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function Zf(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function tU(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(xae);return t&&"px"!==t?null:parseFloat(e)}return n||null}function nU(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class Tae{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new eU(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new Cae(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const iU="cdk-global-overlay-wrapper";class Aae{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(iU),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(iU),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let Dae=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new Aae}connectedTo(t,i,r){return new Tae(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new eU(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(I(Yf),I(ut),I(si),I(hm))},n.\u0275prov=ue({factory:function(){return new n(I(Yf),I(ut),I(si),I(hm))},token:n,providedIn:"root"}),n})(),Oae=0,Jo=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=d,this._location=f,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new qv(t);return o.direction=o.direction||this._directionality.value,new Mae(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Oae++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(Jd)),new pae(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(I(bae),I(hm),I(ll),I(Dae),I(Eae),I(Nt),I(dt),I(ut),I(Qo),I(Xg),I(Sae))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Iae=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],rU=new ve("cdk-connected-overlay-scroll-strategy");let Pae=(()=>{class n{constructor(t){this.elementRef=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),n})(),sU=(()=>{class n{constructor(t,i,r,s,o){this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=Te.EMPTY,this._attachSubscription=Te.EMPTY,this._detachSubscription=Te.EMPTY,this._positionSubscription=Te.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Le,this.positionChange=new Le,this.attach=new Le,this.detach=new Le,this.overlayKeydown=new Le,this.overlayOutsideClick=new Le,this._templatePortal=new Xf(i,r),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=Mt(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=Mt(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=Mt(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=Mt(t)}get push(){return this._push}set push(t){this._push=Mt(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Iae);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Zs(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),i=new qv({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(t){const i=this.positions.map(r=>({originX:r.originX,originY:r.originY,overlayX:r.overlayX,overlayY:r.overlayY,offsetX:r.offsetX||this.offsetX,offsetY:r.offsetY||this.offsetY,panelClass:r.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(qj(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Ys),E(ns),E(rU),E(Qo,8))},n.\u0275dir=oe({type:n,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[zn]}),n})();const kae={provide:rU,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};let Yv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Jo,kae],imports:[[Nv,dS,Gj],Gj]}),n})();const oU=["mat-button",""],aU=["*"],Nae=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],Lae=Uf(jf(nc(class{constructor(n){this._elementRef=n}})));let lh=(()=>{class n extends Lae{constructor(t,i,r){super(t),this._focusMonitor=i,this._animationMode=r,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of Nae)this._hasHostAttributes(s)&&this._getHostElement().classList.add(s);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,i){t?this._focusMonitor.focusVia(this._getHostElement(),t,i):this._getHostElement().focus(i)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(i=>this._getHostElement().hasAttribute(i))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,i){if(1&t&&Jn(Js,5),2&t){let r;_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,i){2&t&&(nn("disabled",i.disabled||null),st("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[ct],attrs:oU,ngContentSelectors:aU,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,i){1&t&&(wi(),R(0,"span",0),Ht(1),k(),tt(2,"span",1),tt(3,"span",2)),2&t&&(G(2),st("mat-button-ripple-round",i.isRoundButton||i.isIconButton),ie("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[Js],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),n})(),ch=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();class cU extends xt{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Bae extends xt{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function uU(n,e,t,i,r=new Bae(n,t,i)){if(!r.closed)return e instanceof ce?e.subscribe(r):ki(e)(r)}const dU={};function Qi(...n){let e,t;return Gn(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0]),za(n,t).lift(new hU(e))}class hU{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Vae(e,this.resultSelector))}}class Vae extends cU{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(dU),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i{class n{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):jae}matchMedia(t){return this._platform.WEBKIT&&function(n){if(!fU.has(n))try{fm||(fm=document.createElement("style"),fm.setAttribute("type","text/css"),document.head.appendChild(fm)),fm.sheet&&(fm.sheet.insertRule(`@media ${n} {.fx-query-test{ }}`,0),fU.add(n))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function jae(n){return{matches:"all"===n||""===n,media:n,addListener:()=>{},removeListener:()=>{}}}let XO=(()=>{class n{constructor(t,i){this._mediaMatcher=t,this._zone=i,this._queries=new Map,this._destroySubject=new Se}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return gU(EE(t)).some(r=>this._registerQuery(r).mql.matches)}observe(t){let s=Qi(gU(EE(t)).map(o=>this._registerQuery(o).observable));return s=IE(s.pipe(yi(1)),s.pipe(QD(1),Zg(0))),s.pipe(Ae(o=>{const a={matches:!1,breakpoints:{}};return o.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const i=this._mediaMatcher.matchMedia(t),s={observable:new ce(o=>{const a=l=>this._zone.run(()=>o.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(Rr(i),Ae(({matches:o})=>({query:t,matches:o})),Tn(this._destroySubject)),mql:i};return this._queries.set(t,s),s}}return n.\u0275fac=function(t){return new(t||n)(I(pU),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(pU),I(dt))},token:n,providedIn:"root"}),n})();function gU(n){return n.map(e=>e.split(",")).reduce((e,t)=>e.concat(t)).map(e=>e.trim())}function Uae(n,e){if(1&n){const t=Zi();R(0,"div",1),R(1,"button",2),ge("click",function(){return en(t),Qe().action()}),De(2),k(),k()}if(2&n){const t=Qe();G(2),xi(t.data.action)}}function Hae(n,e){}const KO=new ve("MatSnackBarData");class hS{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const $ae=Math.pow(2,31)-1;class ZO{constructor(e,t){this._overlayRef=t,this._afterDismissed=new Se,this._afterOpened=new Se,this._onAction=new Se,this._dismissedByAction=!1,this.containerInstance=e,this.onAction().subscribe(()=>this.dismiss()),e._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,$ae))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let Gae=(()=>{class n{constructor(t,i){this.snackBarRef=t,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return n.\u0275fac=function(t){return new(t||n)(E(ZO),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,i){1&t&&(R(0,"span"),De(1),k(),mt(2,Uae,3,1,"div",0)),2&t&&(G(1),xi(i.data.message),G(1),ie("ngIf",i.hasAction))},directives:[zr,lh],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),n})();const Wae={snackBarState:tc("state",[wr("void, hidden",ti({transform:"scale(0.8)",opacity:0})),wr("visible",ti({transform:"scale(1)",opacity:1})),Qs("* => visible",Ao("150ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void, * => hidden",Ao("75ms cubic-bezier(0.4, 0.0, 1, 1)",ti({opacity:0})))])};let qae=(()=>{class n extends uS{constructor(t,i,r,s,o){super(),this._ngZone=t,this._elementRef=i,this._changeDetectorRef=r,this._platform=s,this.snackBarConfig=o,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Se,this._onExit=new Se,this._onEnter=new Se,this._animationState="void",this.attachDomPortal=a=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(a)),this._live="assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:i,toState:r}=t;if(("void"===r&&"void"!==i||"hidden"===r)&&this._completeExit(),"visible"===r){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(yi(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(r=>t.classList.add(r)):t.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&i){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(r=document.activeElement),t.removeAttribute("aria-hidden"),i.appendChild(t),null==r||r.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(rt),E(kn),E(si),E(hS))},n.\u0275cmp=Ne({type:n,selectors:[["snack-bar-container"]],viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,i){1&t&&Qy("@state.done",function(s){return i.onAnimationEnd(s)}),2&t&&Pg("@state",i._animationState)},features:[ct],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,i){1&t&&(R(0,"div",0),mt(1,Hae,0,0,"ng-template",1),k(),tt(2,"div")),2&t&&(G(2),nn("aria-live",i._live)("role",i._role))},directives:[Kf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[Wae.snackBarState]}}),n})(),_U=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Yv,dS,dn,ch,On],On]}),n})();const yU=new ve("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hS}});let Xae=(()=>{class n{constructor(t,i,r,s,o,a){this._overlay=t,this._live=i,this._injector=r,this._breakpointObserver=s,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=Gae,this.snackBarContainerComponent=qae,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,i){return this._attach(t,i)}openFromTemplate(t,i){return this._attach(t,i)}open(t,i="",r){const s=Object.assign(Object.assign({},this._defaultConfig),r);return s.data={message:t,action:i},s.announcementMessage===t&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:hS,useValue:i}]}),o=new dm(this.snackBarContainerComponent,i.viewContainerRef,s),a=t.attach(o);return a.instance.snackBarConfig=i,a.instance}_attach(t,i){const r=Object.assign(Object.assign(Object.assign({},new hS),this._defaultConfig),i),s=this._createOverlay(r),o=this._attachSnackBarContainer(s,r),a=new ZO(o,s);if(t instanceof Ys){const l=new Xf(t,null,{$implicit:r.data,snackBarRef:a});a.instance=o.attachTemplatePortal(l)}else{const l=this._createInjector(r,a),c=new dm(t,void 0,l),d=o.attachComponentPortal(c);a.instance=d.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Tn(s.detachments())).subscribe(l=>{const c=s.overlayElement.classList;l.matches?c.add(this.handsetCssClass):c.remove(this.handsetCssClass)}),r.announcementMessage&&o._onAnnounce.subscribe(()=>{this._live.announce(r.announcementMessage,r.politeness)}),this._animateSnackBar(a,r),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(t,i){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),i.duration&&i.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(i.duration))}_createOverlay(t){const i=new qv;i.direction=t.direction;let r=this._overlay.position().global();const s="rtl"===t.direction,o="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!s||"end"===t.horizontalPosition&&s,a=!o&&"center"!==t.horizontalPosition;return o?r.left("0"):a?r.right("0"):r.centerHorizontally(),"top"===t.verticalPosition?r.top("0"):r.bottom("0"),i.positionStrategy=r,this._overlay.create(i)}_createInjector(t,i){return Nt.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ZO,useValue:i},{provide:KO,useValue:t.data}]})}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(DE),I(Nt),I(XO),I(n,12),I(yU))},n.\u0275prov=ue({factory:function(){return new n(I(Jo),I(DE),I(Fc),I(XO),I(n,12),I(yU))},token:n,providedIn:_U}),n})();function xe(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function ws(n,e){return function(t,i){e(t,i,n)}}function Xe(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function yl(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function l(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?s(d.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(d.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function wU(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JO(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||wU()}const EU="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JO();class Jae{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const SU={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function MU(n){return"string"==typeof n?SU[n.toUpperCase()]||SU.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const ic={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Xv=ic.window||ic.self||ic.global,xU=ic.process||{};function pm(){let n;if(pS&&Xv.performance)n=Xv.performance.now();else if(xU.hrtime){const e=xU.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const gm={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ole={enabled:!0,level:0};function vl(){}const TU={},AU={once:!0};function ale(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=EU,this._startTs=pm(),this._deltaTs=pm(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Jae("__probe-".concat(this.id,"__"),ole),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((pm()-this._startTs).toPrecision(10))}getDelta(){return Number((pm()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,gm.warn,arguments,AU)}error(t){return this._getLogFunction(0,t,gm.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,gm.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,gm.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,gm.debug||gm.info,arguments,AU)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||vl,r&&[r],{tag:ale(i)}):vl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,vl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),vl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),vl}return vl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=ze(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):vl}({image:r,message:s,scale:o}):vl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||vl)}group(t,i,r={collapsed:!1}){r=OU({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||vl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=DU(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=OU({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=pm();const a=o.tag||o.message;if(o.once){if(TU[a])return vl;TU[a]=pm()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=MU(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=MU(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return vl}}return n.VERSION=EU,n})();function DU(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function OU(n){const{logLevel:e,message:t}=n;n.logLevel=DU(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const jn=new tI({id:"deck"}),qn={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(qn,"IDENTITY",{get:()=>jn.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Yc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},IU={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},vt=new tI({id:"luma.gl"});function Oo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function In(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return Oo(mS(n),"Invalid WebGLRenderingContext"),n}function eo(n){return Oo(In(n),"Requires WebGL2"),n}const Kv={};const Zv=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Qf.prototype.VERTEX_ARRAY_BINDING_OES=34229,Qf.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iIn(n)?void 0:0,Ale={3074:n=>In(n)?void 0:36064,35723:n=>In(n)?void 0:4352,35977:Bi,32937:Bi,36795:(n,e)=>{const t=In(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Bi,35071:Bi,37447:Bi,36063:(n,e)=>{if(!In(n)){const t=n.getExtension(RU);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Bi,35374:Bi,35377:Bi,34852:n=>{if(!In(n)){const e=n.getExtension(RU);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(PU)?2147483647:65535,33001:n=>n.getExtension(PU)?16777216:65535,33e3:n=>16777216,37157:Bi,35373:Bi,35657:Bi,36183:Bi,37137:Bi,34045:Bi,35978:Bi,35979:Bi,35968:Bi,35376:Bi,35375:Bi,35659:Bi,37154:Bi,35371:Bi,35658:Bi,35076:Bi,35077:Bi,35380:Bi},FU="ANGLE_instanced_arrays",NU={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Oo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[FU]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){Oo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Oo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Oo(!1)},deleteQuery:()=>{Oo(!1)},beginQuery:()=>{Oo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{In(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:In(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!In(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!In(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Ale[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function zle(n,{extension:e,target:t,target2:i}){const r=NU[e];Oo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let d=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?d=(...f)=>a[c](...f):"function"==typeof r[l]&&(d=r[l].bind(t))),d&&(t[l]=d,i[l]=d)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Qf(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&zle(n,{extension:t,target:n.luma,target2:n})}(n,NU),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},uh=(n,e,t)=>e?n.enable(t):n.disable(t),LU=(n,e,t)=>n.hint(t,e),Aa=(n,e,t)=>n.pixelStorei(t,e);function Qv(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const Hle={3042:uh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:uh,2885:(n,e)=>n.cullFace(e),2929:uh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:uh,35723:LU,36006:(n,e)=>{const t=In(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:LU,2849:(n,e)=>n.lineWidth(e),32823:uh,32824:"polygonOffset",10752:"polygonOffset",35977:uh,32938:"sampleCoverage",32939:"sampleCoverage",3089:uh,3088:(n,e)=>n.scissor(...e),2960:uh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:Aa,3317:Aa,37440:Aa,37441:Aa,37443:Aa,3330:Aa,3332:Aa,3331:Aa,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:Aa,32878:Aa,3316:Aa,3315:Aa,32877:Aa,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=Qv(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=Qv(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=Qv(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function Er(n,e,t){return void 0!==e[n]?e[n]:t[n]}const $le={blendEquation:(n,e,t)=>n.blendEquationSeparate(Er(32777,e,t),Er(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(Er(32969,e,t),Er(32968,e,t),Er(32971,e,t),Er(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(Er(32824,e,t),Er(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(Er(32938,e,t),Er(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,Er(2962,e,t),Er(2967,e,t),Er(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,Er(34816,e,t),Er(36003,e,t),Er(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,Er(2964,e,t),Er(2965,e,t),Er(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,Er(34817,e,t),Er(34818,e,t),Er(34819,e,t))},BU={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),VU={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function zU(n){for(const e in n)return!1;return!0}function Gle(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=VU[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=VU[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){Oo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){Oo(void 0!==s);const o=e[s],a=this.cache[s];Gle(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function UU(n,e={}){const{enable:t=!0,copyState:i}=e;if(Oo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new Yle(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in BU)Wle(n,s,BU[s]);jU(n,"getParameter"),jU(n,"isEnabled")}return n.state.enable=t,n}function HU(n){Oo(n.state),n.state.pop()}function Xu(n,e){if(Oo(mS(n),"setParameters requires a WebGL context"),zU(e))return;const t={};for(const r in e){const s=Number(r),o=Hle[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)$le[r](n,e,i)}function rc(n,e,t){if(zU(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||UU(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),HU(n);else try{r=t(n)}finally{HU(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function mm(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=$U(n[0],e,t);let o=GU(n[1],e,i,r),a=$U(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=GU(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,mm(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function $U(n,e,t){return Math.min(Math.round(n*e),t-1)}function GU(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),tce=sI&&"undefined"!=typeof document,WU={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function qU(n={}){Oo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},WU,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(tce&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=In(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);vt.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},WU,e);const{manageState:t,debug:i}=e;return t&&UU(n,{copyState:!1,log:(...r)=>vt.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),vt.level=Math.max(vt.level,1)):vt.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function YU(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class XU{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=YU(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(YU()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof XU?e:new XU(t,i)),this.stats[t]}}const Jv="8.5.12",Jf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==Jv)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Jv}`);function nt(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return nt(void 0!==i,`Accessing undefined constant GL.${e}`),i}function dh(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&vt.log(1,`luma.gl ${Jv} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Jv,version:Jv,log:vt,stats:Jf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ea(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function KU(n){return nt("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function _m(n){let e=!0;for(const t in n){e=!1;break}return e}function ZU(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw vt.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const ym="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ea(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=In(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const f=i?dh(this.gl,l):l;o[f]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[f]=dh(this.gl,o[f]))}}return o}setParameter(e,t){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return ZU(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(ym)}_deleteHandle(){throw new Error(ym)}_bindHandle(e){throw new Error(ym)}_getOptsFromHandle(){throw new Error(ym)}_getParameter(e,t){throw new Error(ym)}_setParameter(e,t){throw new Error(ym)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Jf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Jf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Jf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Jf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function eb(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function fce({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ta.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ta.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,gce)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const JU={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},mce={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:JU},_ce={removedProps:JU};class Ai extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,mce),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,_ce))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ta(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;nt(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(eo(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return eo(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){eo(this.gl);const s=eb(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const d=Math.min(o,l);return nt((r=r||d)<=d),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(nt(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){nt(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return nt(s),this.setAccessor(new ta(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){nt(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/eb(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ta(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return vt.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return vt.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return vt.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return vt.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ta(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},e4={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},t4={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},bce=[9729,9728],n4=globalThis.WebGLBuffer||function(){};class ep extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=In(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ea("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(w=>this.initialize(Object.assign({},e,{pixels:w,data:w}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:d}=e;t||(t=r);let{width:f,height:p,dataFormat:g,type:_,compressed:y=!1,mipmaps:v=!0}=e;const{depth:C=0}=e;return({width:f,height:p,compressed:y,dataFormat:g,type:_}=this._deduceParameters({format:s,type:_,dataFormat:g,compressed:y,data:t,width:f,height:p})),this.width=f,this.height=p,this.depth=C,this.format=s,this.type=_,this.dataFormat=g,this.border=o,this.textureUnit=d,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),v&&this._isNPOT()&&(vt.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),v=!1,this._updateForNPOT(l)),this.mipmaps=v,this.setImageData({data:t,width:f,height:p,depth:C,format:s,type:_,dataFormat:g,border:o,mipmaps:v,parameters:c,compressed:y}),v&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:d=this.type,width:f=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:_=!1}=e;c||(c=i),({type:d,dataFormat:g,compressed:_,width:f,height:p}=this._deduceParameters({format:s,type:d,dataFormat:g,compressed:_,data:c,width:f,height:p}));const{gl:y}=this;y.bindTexture(this.target,this.handle);let v=null;({data:c,dataType:v}=this._getDataType({data:c,compressed:_}));let C,w=0;return rc(this.gl,l,()=>{switch(v){case"null":y.texImage2D(t,r,s,f,p,o,g,d,c);break;case"typed-array":y.texImage2D(t,r,s,f,p,o,g,d,c,a);break;case"buffer":C=eo(y),C.bindBuffer(35052,c.handle||c),C.texImage2D(t,r,s,f,p,o,g,d,a),C.bindBuffer(35052,null);break;case"browser-object":In(y)?y.texImage2D(t,r,s,f,p,o,g,d,c):y.texImage2D(t,r,s,g,d,c);break;case"compressed":for(const[x,N]of c.entries())y.compressedTexImage2D(t,x,N.format,N.width,N.height,o,N.data),w+=N.levelSize;break;default:nt(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===v?w:c&&c.byteLength?c.byteLength:this.width*this.height*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:d=this.type,dataFormat:f=this.dataFormat,compressed:p=!1,offset:g=0,border:_=this.border,parameters:y={}}){if(({type:d,dataFormat:f,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:d,dataFormat:f,compressed:p,data:i,width:o,height:a})),nt(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const v=i;i=v.data,o=v.shape[0],a=v.shape[1]}i instanceof Ai&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),rc(this.gl,y,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,f,d,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,f,d,i,g);else if(i instanceof n4){const v=eo(this.gl);v.bindBuffer(35052,i),v.texSubImage2D(e,l,r,s,o,a,f,d,g),v.bindBuffer(35052,null)}else In(this.gl)?eo(this.gl).texSubImage2D(e,l,r,s,o,a,f,d,i):this.gl.texSubImage2D(e,l,r,s,f,d,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return vt.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof Ai?{data:e.handle,dataType:"buffer"}:e instanceof n4?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},nt(r,"Could not deduced texture size"),nt(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),nt(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:nt(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(In(this.gl)||!this.width||!this.height||KU(this.width)&&KU(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===bce.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Cce(n,e){return nt("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class na extends ep{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return ep.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Cce(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const tp="EXT_color_buffer_float",i4={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:tp,bpp:2},33327:{gl2:tp,bpp:4},34842:{gl2:tp,bpp:8},33326:{gl2:tp,bpp:4},33328:{gl2:tp,bpp:8},34836:{gl2:tp,bpp:16},35898:{gl2:tp,bpp:4}};class vm extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=In(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,i4)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return nt(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&In(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*i4[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const l4="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),nt(0!==o,l4),rc(n,s,()=>{n.clear(o)})}function c4(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function yn(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){c4(s,i,r,o,a,"next",l)}function a(l){c4(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let Ace=(()=>{class n extends ep{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return yn(function*(){const{gl:d}=c,f=r||s,p=yield Promise.all(gI.map(g=>{const _=f[g];return Promise.all(Array.isArray(_)?_:[_])}));c.bind(),gI.forEach((g,_)=>{p[_].length>1&&!1!==c.opts.mipmaps&&vt.warn(`${c.id} has mipmap and multiple LODs.`)(),p[_].forEach((y,v)=>{t&&i?d.texImage2D(g,v,a,t,i,o,a,l,y):d.texImage2D(g,v,a,a,l,y)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:d=5121}=t,{gl:f}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?f.texImage2D(i,0,c,r,s,l,c,d,p):f.texImage2D(i,0,c,c,d,p),this}}return n.FACES=gI,n})();class Dce extends ep{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:d,parameters:f={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),rc(this.gl,f,()=>{ArrayBuffer.isView(d)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,d),d instanceof Ai&&(this.gl.bindBuffer(35052,d.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(d&&d.byteLength?d.byteLength:this.width*this.height*this.depth*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}}function u4(n,e){nt(n instanceof na||n instanceof Ace||n instanceof Dce);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d},e))}function Oce(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ss(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function vS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:d,deleteFramebuffer:f}=tb(n);nt(d);const{gl:p,handle:g,attachments:_}=d;a=a||d.width,l=l||d.height,36064===s&&null===g&&(s=1028),nt(_[s]),c=c||_[s].type,o=function(n,e,t,i,r){if(n)return n;return new(eb(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return nt(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const y=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,y||null),f&&d.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=vS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=fce({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const d in i){const f=i[d];(Array.isArray(f)?f[0]:f).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return nt(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&vt.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){nt(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof vm)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[d,f=0,p=0]=l;c=d,this._attachTexture({attachment:a,texture:d,layer:f,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ss.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){eo(n),rc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:nt(!1,l4)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return vt.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return vt.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return vt.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return vt.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return vt.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return vt.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=eo(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=dh(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?dh(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?dh(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>vt.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return vt.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new na(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new vm(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new vm(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&nt(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof vm?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:eo(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:nt(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return In(n)?n:null}(this.gl);t?t.readBuffer(e):nt(36064===e||1029===e,d4),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=eo(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):nt(1===e.length&&(36064===e[0]||1029===e[0]),d4)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in h4)void 0===n.luma.caps[e]&&(n.luma.caps[e]=p4(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ss.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const h4={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new na(n,{format:6408,type:5126,dataFormat:6408}),t=new ss(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return f4(n,e)}function f4(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>p4(n,t))}function p4(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=h4[e];let i;nt(t,e);const r=In(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:nt(!1);return i}(n,e)),n.luma.caps[e]||vt.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},Hce=(Math,1/180*Math.PI),Ji={};function Gce(n,{precision:e=Ji.precision||4}={}){return n=function(n){return Math.round(n/Ji.EPSILON)*Ji.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function hh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zu(n,e,t){if(hh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*Hce,void 0)}(n)}function np(n,e,t){return Zu(n,i=>Math.max(e,Math.min(t,i)))}function bS(n,e,t){return hh(n)?n.map((i,r)=>bS(i,e[r],t)):t*e+(1-t)*n}function rb(n,e,t){const i=Ji.EPSILON;t&&(Ji.EPSILON=t);try{if(n===e)return!0;if(hh(n)&&hh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+Gce(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(M4.length=n.length,i=M4):i=S4,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function x4(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?T4(n,e,[]):e(n)?[n]:[]}function T4(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function A4(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",K(K(K({},Mue[n.type]),e),n)):null}function D4(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function O4(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function I4(n){n.push(n.shift())}function MI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function P4({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,d=r&&c,f=MI(t,e),p=t.state.constant;if(!d&&i>=f)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const C=s;s=(w,x)=>t._normalizeConstant(C(w,x))}const _=p?(C,w)=>s(g,w):(C,w)=>s(g.subarray(C,C+a),w),y=n.getData({length:i}),v=new Float32Array(f);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((d,f)=>i(d+a,f)),c=Math.min(r.length,s.length);for(let d=1;d(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===MS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=MS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=wue}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==MS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,d]of s)o.call(r,this,{data:t,startRow:c,endRow:d,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const v=f*a+l;for(let C=0;Cd?c.set(x,y):(e._normalizeValue(x,C.target,0),Cue({target:c,source:C.target,start:y,count:N}));y+=N*d}else e._normalizeValue(x,c,y),y+=d}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let TI={};function no(n){jn.level>0&&TI[n]&&TI[n].call(...arguments)}function Da(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const R4="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Aue=`#version 300 es\n${R4}`;function k4(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function F4(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Aue:e>300?`#version ${e}\n${R4}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Da(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class N4 extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,_m(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,vt.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof Ai?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Pue{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof Ai?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&nt(In(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new N4(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],nt(i[s]instanceof Ai)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new Ai(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function L4(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const ab="vs",Fue={[ab]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",B4=/void\s+main\s*\([^)]*\)\s*\{\n?/,V4=/}\n?[^{}]*$/,DI=[];function z4(n,e,t,i=!1){const r=e===ab;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(V4,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(B4,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(V4,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+Fue[e])),n}function OI(n){const e={};return Da(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Nue={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",j4="transform_position";const $ue={10241:9728,10240:9728,10242:33071,10243:33071};class Wue{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const f in this.samplerTextureMap)a[f]=i[this.samplerTextureMap[f]];this._setSourceTextureParameters();const d=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,d)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=vS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Da(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Ai(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ss(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters($ue)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=u4(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const d=l.split("\n"),f=d.slice();if(d.forEach((p,g,_)=>{if(s>0){const y=function(n,e){const t={},i=function(n){return k4(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),f=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Da(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":f},samplerTextureMap:t}}return null}(p,e);if(y){const{updatedLine:v,inject:C}=y;f[g]=v,c=OI([c,C]),Object.assign(a,y.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=k4(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){nt(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${j4} = transform_getPos(${p});\n gl_Position = vec4(${j4}, 0, 1.);\n`}])}l=f.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||F4({version:L4(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Nue].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function Yue(n){let e=U4(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=U4(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function U4(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:d,fragmentShader:f}){Da("string"==typeof e),this.name=e,this.vs=t||d,this.fs=i||f,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=Yue(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Da(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Da(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function Que(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}($4(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(Da("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Da(t.name,"shader module has no name"),(t=new PI(t)).dependencies=$4(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},ip={};function ode(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{ip[n]=n});const FI={};function G4(n,e,t={}){const i=kI[e];if(Da(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];Da(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Da(!1===r||!0===r),r}(n,t))}function Cm(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const W4=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],ude=[...W4,[Cm("attribute"),"in $1"],[Cm("varying"),"out $1"]],dde=[...W4,[Cm("varying"),"in $1"]],q4=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],hde=[...q4,[Cm("in"),"attribute $1"],[Cm("out"),"varying $1"]],fde=[...q4,[Cm("in"),"varying $1"]],NI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,pde=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const yde=`\n\n${xS}\n\n`,Y4={[ab]:"vertex",fs:"fragment"};function X4(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:d}){Da("string"==typeof t,"shader source must be a string");const f=i===ab,p=t.split("\n");let g=100,_="",y=t;0===p[0].indexOf("#version ")?(g=300,_=p[0],y=p.slice(1).join("\n")):_=`#version ${g}`;const v={};r.forEach(U=>{Object.assign(v,U.getDefines())}),Object.assign(v,s);let C=c?`${_}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${Y4[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${Y4[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ode(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,ip.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,ip.GLSL_DERIVATIVES)&&G4(n,ip.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,ip.GLSL_FRAG_DATA)&&G4(n,ip.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,ip.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(v)}\n${f?"":"precision highp float;\n\n"}\n`:`${_}\n`;const w=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),x={},N={},V={};for(const U in a){const ee="string"==typeof a[U]?{injection:a[U],order:0}:a[U],de=U.match(/^(v|f)s:(#)?([\w-]+)$/);if(de){const me=de[3];de[2]?"decl"===me?N[U]=[ee]:V[U]=[ee]:x[U]=[ee]}else V[U]=[ee]}for(const U of r){d&&U.checkDeprecations(y,d),C+=U.getModuleSource(i,g);const de=U.injections[i];for(const ae in de){const me=ae.match(/^(v|f)s:#([\w-]+)$/);if(me){const Be="decl"===me[2]?N:V;Be[ae]=Be[ae]||[],Be[ae].push(de[ae])}else x[ae]=x[ae]||[],x[ae].push(de[ae])}}return C+=yde,C=z4(C,i,N),C+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(w[i],x),C+=y,C=z4(C,i,V),C=function(n,e,t){switch(e){case 300:return t?DS(n,ude):function(n){const e=(n=DS(n,dde)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${NI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(pde,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${NI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,hde):function(n){const e=(n=DS(n,fde)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),NI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(C,l?100:g,f),C}function Cde(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Tde={5126:er.bind(null,"uniform1fv",Oa,1,io),35664:er.bind(null,"uniform2fv",Oa,2,io),35665:er.bind(null,"uniform3fv",Oa,3,io),35666:er.bind(null,"uniform4fv",Oa,4,io),5124:er.bind(null,"uniform1iv",fh,1,io),35667:er.bind(null,"uniform2iv",fh,2,io),35668:er.bind(null,"uniform3iv",fh,3,io),35669:er.bind(null,"uniform4iv",fh,4,io),35670:er.bind(null,"uniform1iv",fh,1,io),35671:er.bind(null,"uniform2iv",fh,2,io),35672:er.bind(null,"uniform3iv",fh,3,io),35673:er.bind(null,"uniform4iv",fh,4,io),35674:er.bind(null,"uniformMatrix2fv",Oa,4,Ju),35675:er.bind(null,"uniformMatrix3fv",Oa,9,Ju),35676:er.bind(null,"uniformMatrix4fv",Oa,16,Ju),35678:Fs,35680:Fs,5125:er.bind(null,"uniform1uiv",OS,1,io),36294:er.bind(null,"uniform2uiv",OS,2,io),36295:er.bind(null,"uniform3uiv",OS,3,io),36296:er.bind(null,"uniform4uiv",OS,4,io),35685:er.bind(null,"uniformMatrix2x3fv",Oa,6,Ju),35686:er.bind(null,"uniformMatrix2x4fv",Oa,8,Ju),35687:er.bind(null,"uniformMatrix3x2fv",Oa,6,Ju),35688:er.bind(null,"uniformMatrix3x4fv",Oa,12,Ju),35689:er.bind(null,"uniformMatrix4x2fv",Oa,8,Ju),35690:er.bind(null,"uniformMatrix4x3fv",Oa,12,Ju),35678:Fs,35680:Fs,35679:Fs,35682:Fs,36289:Fs,36292:Fs,36293:Fs,36298:Fs,36299:Fs,36300:Fs,36303:Fs,36306:Fs,36307:Fs,36308:Fs,36311:Fs},Ade={},Dde={},Ode={},K4=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(K4[0]=n,n=K4);const r=n.length;if(r%e&&vt.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function er(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),d=c.length;let f=!1;if(null===r)r=new Float32Array(d),s=d,f=!0;else{nt(s===d,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return e5(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:J4(s,c),warnings:J4(o,c)}}(i,this.source,this.shaderType,this.id);throw vt.error(`GLSL compilation errors in ${r}\n${s}`)(),vt.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends lb{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class zI extends lb{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const os=5126,cb=5124,ub=5125,jI={[os]:[os,1,"float"],35664:[os,2,"vec2"],35665:[os,3,"vec3"],35666:[os,4,"vec4"],[cb]:[cb,1,"int"],35667:[cb,2,"ivec2"],35668:[cb,3,"ivec3"],35669:[cb,4,"ivec4"],[ub]:[ub,1,"uint"],36294:[ub,2,"uvec2"],36295:[ub,3,"uvec3"],36296:[ub,4,"uvec4"],35670:[os,1,"bool"],35671:[os,2,"bvec2"],35672:[os,3,"bvec3"],35673:[os,4,"bvec4"],35674:[os,8,"mat2"],35685:[os,8,"mat2x3"],35686:[os,8,"mat2x4"],35675:[os,12,"mat3"],35687:[os,12,"mat3x2"],35688:[os,12,"mat3x4"],35676:[os,16,"mat4"],35689:[os,16,"mat4x2"],35690:[os,16,"mat4x3"]};function o5(n){const e=jI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function a5(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=os}for(const t in jI){const[i,r,s]=jI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class phe{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!In(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=o5(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ta(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=o5(i),l={location:e,name:t,accessor:new ta({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const ghe=35981,mhe=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class c5 extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",mhe),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=ghe}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new zI(this.gl,{id:`${e.id}-fs`,source:r}):r,nt(this.vs instanceof VI),nt(this.fs instanceof zI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(eo(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new phe(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:d=c>0,vertexArray:f=null,transformFeedback:p,framebuffer:g,parameters:_={},uniforms:y,samplers:v}){if((y||v)&&(vt.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(y||{})),vt.priority>=e){const C=g?g.id:"default",w=`mode=${dh(this.gl,t)} verts=${i} instances=${c} indexType=${dh(this.gl,l)} isInstanced=${d} isIndexed=${a} Framebuffer=${C}`;vt.log(e,w)()}return nt(f),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||d&&0===c||(f.bindForDraw(i,c,()=>{if(void 0!==g&&(_=Object.assign({},_,{framebuffer:g})),p){const C=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return nt(!1),0}}(t);p.begin(C)}this._bindTextures(),rc(this.gl,_,()=>{a&&d?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&In(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):d?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){vt.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Rde(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ss&&(s=s.texture),s instanceof ep)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&kde(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new zI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ea(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),vt.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),vt.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||vt.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),d=this._getHash(t),f=this._getHash(i),p=c.map(x=>this._getHash(x.name)).sort(),g=o.map(x=>this._getHash(x)),_=Object.keys(r).sort(),y=Object.keys(s).sort(),v=[],C=[];for(const x of _)v.push(this._getHash(x)),v.push(this._getHash(r[x]));for(const x of y)C.push(this._getHash(x)),C.push(this._getHash(s[x]));const w=`${d}/${f}D${v.join("/")}M${p.join("/")}I${C.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[w]){const x=function(n,e){const{vs:t,fs:i}=e,r=Que(e.modules||[]);return{gl:n,vs:X4(n,Object.assign({},e,{source:t,type:ab,modules:r})),fs:X4(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Cde(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[w]=new c5(this.gl,{hash:w,vs:x.vs,fs:x.fs,varyings:o,bufferMode:a}),this._getUniforms[w]=x.getUniforms||(N=>{}),this._useCounts[w]=0}return this._useCounts[w]++,this._programCache[w]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":Xv.chrome?"Chrome":Xv.safari?"Safari":Xv.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ia(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ia.MAX_ATTRIBUTES=Ia.MAX_ATTRIBUTES||e.getParameter(34921),Ia.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ia._setConstantFloatArray(e,t,i);break;case Int32Array:Ia._setConstantIntArray(e,t,i);break;case Uint32Array:Ia._setConstantUintArray(e,t,i);break;default:nt(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ia.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return nt(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:d}=i,{gl:f,gl2:p}=this;return e=Number(e),this.bind(()=>{f.bindBuffer(34962,t.handle),c?(nt(In(f)),p.vertexAttribIPointer(e,r,s,o,a)):f.vertexAttribPointer(e,r,s,l,o,a),f.enableVertexAttribArray(e),p.vertexAttribDivisor(e,d||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ia.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new Ai(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!RS||RS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Ehe=/^(.+)__LOCATION_([0-9]+)$/,She=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Mhe{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ia(e),ZU(this,"VertexArray","v6.0",She),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Ai(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,vt.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const d=ta.resolve(l.accessor,this.accessors[o]||{},i,r),{size:f,type:p}=d;return nt(Number.isFinite(f)&&Number.isFinite(p)),{location:o,accessor:d}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Ehe.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof Ai)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof Ai)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof Ai))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof Ai){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return vt.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function hb(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=hb(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function u5(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,d,f,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof Ai){const p=e,{data:g,changed:_}=p.getDebugData();let y;return d=_?"*":"",f=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?y=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${dh(r,s)})`:(c=!0,y=`${l} bytes`),{[i]:`${d}${hb(f,{size:o,isInteger:c})}`,"Format ":y}}return f=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${hb(f,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Ahe(n,e){const{type:t,size:i}=e,r=a5(t,i);return r?`${n} (${r.name})`:n}function d5({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){nt(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let d=0;const f={};if(!i)for(const p in t){const g=t[p];a[p]||(d++,f[p]={Type:`NOT USED: ${g}`,[n]:hb(g)})}return{table:a,count:c,unusedTable:f,unusedCount:d}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?hb(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function h5(n){const{type:e,size:t}=n.accessor,i=a5(e,t);return i?`${i.name} ${n.name}`:n.name}const Ihe={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Rhe(n,e){const{attributeMap:t=Ihe}=e||{};return t&&t[n]||n}function khe(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}nt(Number.isFinite(e.size),`attribute ${n} needs size`)}const f5=()=>{},Lhe={};class Mm{constructor(e,t={}){const{id:i=ea("model")}=t;nt(mS(e)),this.id=i,this.gl=e,this.id=t.id||ea("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||db.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},nt(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return nt(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return nt(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Rhe(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=K({},o);delete c.value,i[a]=[new Ai(n,l),c],khe(s,c)}}if(r){const s=r.value||r;nt(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Ai(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(_m(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),vt.priority>=2&&(c=this._logDrawCallStart(2));const d=this.vertexArray.getDrawParams(),{isIndexed:f=d.isIndexed,indexType:p=d.indexType,indexOffset:g=d.indexOffset,vertexArrayInstanced:_=d.isInstanced}=this.props;_&&!this.isInstanced&&vt.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:y,instanceCount:v}=this,{onBeforeRender:C=f5,onAfterRender:w=f5}=this.props;C(),this.program.setUniforms(this.uniforms);const x=this.program.draw(Object.assign(Lhe,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:f,indexType:p,isInstanced:y,instanceCount:v,offset:f?g:0}));return w(),vt.priority>=2&&this._logDrawCallEnd(c,l,i),x}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return vt.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}nt(t instanceof c5,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Mhe(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Ai&&t.delete()}}_setAnimationProps(e){this.animated&&nt(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(_m(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new N4(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:vt.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=u5(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Ahe(s.name,a)}`),t[o]=u5(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:d}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});d>0&&vt.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&vt.log("UNUSED UNIFORMS",Object.keys(a))();const f=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);vt.table(e,s)(),vt.table(e,o)(),vt.table(e+1,f)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),vt.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return In(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();nt(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Mm(t,Object.assign({},e,{fs:e.fs||F4({version:L4(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(_m(n.feedbackBuffers)&&_m(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Pue(e,t)),function(n){return!(_m(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new Wue(e,t)),nt(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function kS(){}const zhe={onStart:kS,onUpdate:kS,onInterrupt:kS,onEnd:kS};class fb{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=K(K({},zhe),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const Yhe={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=O4(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;I4(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:D4(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,Lt(K({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new na(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ss(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=O4(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:D4(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),I4(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),vS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class Xhe{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void jn.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=Yhe[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(jn.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const p5="attributeManager.invalidate";class tfe{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new Xhe(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;no("attribute.updateStart",t),t.allocate(i)&&no("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,no("attribute.updateEnd",t,i))}}function m5(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function _5(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=A4(r)))return;const o=sfe[r.type];if(!o)return void jn.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Lt(K({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:afe}=FS;function ufe(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function y5({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function ffe(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!vfe(i[r],e[r])){t=n(i),e=i;break}return t}}function bfe(n,e){if(!e)return n;const t=K(K({},n),e);if("defines"in e&&(t.defines=K(K({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=K({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=e[9],p=e[10],g=e[11],_=e[12],y=e[13],v=e[14],C=e[15],w=t*a-i*o,x=t*l-r*o,N=t*c-s*o,V=i*l-r*a,U=i*c-s*a,ee=r*c-s*l,de=d*y-f*_,ae=d*v-p*_,me=d*C-g*_,Ee=f*v-p*y,Be=f*C-g*y,te=p*C-g*v,ne=w*te-x*Be+N*Ee+V*me-U*ae+ee*de;return ne?(n[0]=(a*te-l*Be+c*Ee)*(ne=1/ne),n[1]=(r*Be-i*te-s*Ee)*ne,n[2]=(y*ee-v*U+C*V)*ne,n[3]=(p*U-f*ee-g*V)*ne,n[4]=(l*me-o*te-c*ae)*ne,n[5]=(t*te-r*me+s*ae)*ne,n[6]=(v*N-_*ee-C*x)*ne,n[7]=(d*ee-p*N+g*x)*ne,n[8]=(o*Be-a*me+c*de)*ne,n[9]=(i*me-t*Be-s*de)*ne,n[10]=(_*U-y*N+C*w)*ne,n[11]=(f*N-d*U-g*w)*ne,n[12]=(a*ae-o*Ee-l*de)*ne,n[13]=(t*Ee-i*ae+r*de)*ne,n[14]=(y*x-_*V-v*w)*ne,n[15]=(d*V-f*x+p*w)*ne,n):null}function rp(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],d=e[7],f=e[8],p=e[9],g=e[10],_=e[11],y=e[12],v=e[13],C=e[14],w=e[15],x=t[0],N=t[1],V=t[2],U=t[3];return n[0]=x*i+N*a+V*f+U*y,n[1]=x*r+N*l+V*p+U*v,n[2]=x*s+N*c+V*g+U*C,n[3]=x*o+N*d+V*_+U*w,n[4]=(x=t[4])*i+(N=t[5])*a+(V=t[6])*f+(U=t[7])*y,n[5]=x*r+N*l+V*p+U*v,n[6]=x*s+N*c+V*g+U*C,n[7]=x*o+N*d+V*_+U*w,n[8]=(x=t[8])*i+(N=t[9])*a+(V=t[10])*f+(U=t[11])*y,n[9]=x*r+N*l+V*p+U*v,n[10]=x*s+N*c+V*g+U*C,n[11]=x*o+N*d+V*_+U*w,n[12]=(x=t[12])*i+(N=t[13])*a+(V=t[14])*f+(U=t[15])*y,n[13]=x*r+N*l+V*p+U*v,n[14]=x*s+N*c+V*g+U*C,n[15]=x*o+N*d+V*_+U*w,n}function LS(n,e,t){var o,a,l,c,d,f,p,g,_,y,v,C,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],d=e[4],f=e[5],p=e[6],g=e[7],_=e[8],y=e[9],v=e[10],C=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=d,n[5]=f,n[6]=p,n[7]=g,n[8]=_,n[9]=y,n[10]=v,n[11]=C,n[12]=o*i+d*r+_*s+e[12],n[13]=a*i+f*r+y*s+e[13],n[14]=l*i+p*r+v*s+e[14],n[15]=c*i+g*r+C*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function b5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],d=e[9],f=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+d*i,n[6]=a*r+f*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=d*r-o*i,n[10]=f*r-a*i,n[11]=p*r-l*i,n}function C5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],d=e[5],f=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+d*i,n[2]=a*r+f*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=d*r-o*i,n[6]=f*r-a*i,n[7]=p*r-l*i,n}function w5(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function VS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}!function(){var n=new ia(4);ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const E5=[0,0,0,0],qfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],Yfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],Xfe=[0,0,0],Kfe=[0,0,0],Zfe=NS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=E5,l=E5,c=n.cameraPosition;const{geospatialOrigin:d,shaderCoordinateOrigin:f,offsetMode:p}=S5(n,e,t);return p&&(l=n.projectPosition(d||f),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=VS([],l,o),s=i||s,o=rp([],r,s),o=rp([],o,qfe)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:d}}(n,t,i),d=n.getDistanceScales(),f=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:f,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:Xfe,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const _=n.getDistanceScales(c);switch(t){case qn.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerMeter2;break;case qn.LNGLAT:case qn.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerDegree2;break;case qn.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,_.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,_.unitsPerMeter2[2]]}}return g});function S5(n,e,t=Kfe){let r,i=t,s=!0;switch(r=e===qn.LNGLAT_OFFSETS||e===qn.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Yc.WEB_MERCATOR:(e===qn.LNGLAT||e===qn.CARTESIAN)&&(s=!1);break;case Yc.WEB_MERCATOR_AUTO_OFFSET:e===qn.LNGLAT?i=r:e===qn.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Yc.IDENTITY:i=n.position.map(Math.fround);break;case Yc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class tpe extends vI{get ELEMENTS(){return Qu(!1),0}get RANK(){return Qu(!1),0}toString(){let e="[";if(Ji.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new $t).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],d=n[9],f=n[10],p=n[11],g=n[12],_=n[13],y=n[14],v=n[15];return(e*o-t*s)*(f*v-p*y)-(e*a-i*s)*(d*v-p*_)+(e*l-r*s)*(d*y-f*_)+(t*a-i*o)*(c*v-p*g)-(t*l-r*o)*(c*y-f*g)+(i*l-r*a)*(c*_-d*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return rp(this,e,this),this.check()}multiplyRight(e){return rp(this,this,e),this.check()}rotateX(e){return b5(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],d=e[9],f=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-d*i,n[2]=a*r-f*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+d*r,n[10]=a*i+f*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return C5(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,d,f,p,g,_,y,v,C,w,x,N,V,U,ee,de,ae,me,Ee,Be,te,ne,Ie,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const oc=Math.PI,O5=oc/4,ac=oc/180,YI=180/oc,XI=4003e4,jS=85.051129;function US([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*ac+oc)/(2*oc),512*(oc+Math.log(Math.tan(O5+e*ac*.5)))/(2*oc)]}function Dm([n,e]){const t=n/512*(2*oc)-oc,i=2*(Math.atan(Math.exp(e/512*(2*oc)-oc))-O5);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*ac),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=ac*Math.tan(n*ac)/s,f=512/XI*c,p=f/a*l;i.unitsPerDegree2=[0,o*c/2,f],i.unitsPerMeter2=[p,0,p]}return i}function I5(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),d=US(n);d[0]+=s*(l[0]+c[0]*o),d[1]+=o*(l[1]+c[1]*o);const f=Dm(d),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[f[0],f[1],p]:f}function R5(n){return 2*Math.atan(.5/n)*YI}function k5(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Am(e,[t,i,r,1])}function gb(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Am(e,[i,r,s,1]);const o=Am(e,[i,r,0,1]),a=Am(e,[i,r,1,1]),l=o[2],c=a[2];return x5([],o,a,l===c?0:((t||0)-l)/(c-l))}const F5=Math.PI/180;function N5(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Am(i,[e,0,1,1]),s=Am(i,[e,n.height,1,1]),c=Dm(x5([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const _pe=Math.PI/180,ype=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],bpe={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Om=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Yc.WEB_MERCATOR:Yc.WEB_MERCATOR_AUTO_OFFSET:Yc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&rb(t.projectionMatrix,this.projectionMatrix)&&rb(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=k5(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,d=gb([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[f,p,g]=this.unprojectPosition(d);return Number.isFinite(a)?[f,p,g]:Number.isFinite(r)?[f,p,r]:[f,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?US(t):t}unprojectFlat(t){return this.isGeospatial?Dm(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Om{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:d=!1,repeat:f=!1,worldOffset:p=0}=t;let{width:g,height:_,altitude:y=1.5}=t;const v=Math.pow(2,s);g=g||1,_=_||1,y=Math.max(.75,y);const{fov:C,aspect:w,focalDistance:x,near:N,far:V}=function({width:n,height:e,fovy:t=R5(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=R5(i));const a=.5*t*ac,l=function(n){return.5/Math.tan(.5*n*ac)}(t),c=r*ac,d=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*d+l)*o}}({width:g,height:_,pitch:o,altitude:y,nearZMultiplier:l,farZMultiplier:c});let U=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),b5(o,o,-e*ac),C5(o,o,t*ac),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:_,pitch:o,bearing:a,scale:v,altitude:y});p&&(U=(new $t).translate([512*p,0,0]).multiplyLeft(U)),super(Lt(K({},t),{width:g,height:_,viewMatrix:U,longitude:r,latitude:i,zoom:s,orthographic:d,fovyRadians:C,aspect:w,focalDistance:x,near:N,far:V})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=y,this.orthographic=d,this._subViewports=f?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Lt(K({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return I5(t,i)}panByPosition(t,i){const r=gb(i,this.pixelUnprojectionMatrix),o=zS([],this.projectFlat(t),M5([],r)),a=zS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*F5:Math.atan(.5/n.altitude))>(90-n.pitch)*F5-.01?(l=N5(n,0,e),c=N5(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,d]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const f=US([a,D5(d,-jS,jS)]),p=US([c,D5(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-f[0]),i),Math.max(Math.abs(p[1]-f[1]),i)],_=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(_[0]>0&&_[1]>0);const y=_[0]/g[0],v=_[1]/g[1],N=Dm([(p[0]+f[0])/2+(s.right-s.left)/2/y,(p[1]+f[1])/2+(s.bottom-s.top)/2/v]),V=Math.min(r,qI(Math.abs(Math.min(y,v))));return ed(Number.isFinite(V)),{longitude:N[0],latitude:N[1],zoom:V}}(K({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof j5){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function U5(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=VS([],[o,a,l,1],t)),i){case qn.LNGLAT:return JI([o,a,l],e,s);case qn.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case qn.METER_OFFSETS:return JI(I5(r,[o,a,l]),e,s);case qn.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Epe={10241:9987,10240:9729,10242:33071,10243:33071},eP={},xpe={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||_b(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tP(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||tP(n,e)},array:{validate:(n,e)=>e.optional&&!n||_b(n),equal:(n,e,t)=>t.compare?tP(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof na)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new na(t,Lt(K({},e),{parameters:K(K(K({},Epe),i),n.props.textureParameters)}));return eP[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof na)||eP[n.id]&&(n.delete(),delete eP[n.id])}(n)}}};function tP(n,e){if(n===e)return!0;if(!_b(n)||!_b(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Vpe,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Lpe]||{},i=e[Npe]||e,r=e[Bpe]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(x4(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return yn(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var f,c=!0,d=!1;try{for(var g,_,p=iP(t);c=(g=yield p.next()).done,_=yield g.value,!c;c=!0){const v=_,{dataTransform:C}=i.component?i.component.props:{};a=C?C(v,a):a.concat(v),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(v){d=!0,f=v}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(d)throw f}}const y=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;y&&y(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:W5,ASYNC_RESOLVED:q5,ASYNC_DEFAULTS:zpe}=FS,jpe={};let Upe=0,Hpe=(()=>{class n{constructor(){this.props=Dpe.apply(this,arguments),this.id=this.props.id,this.count=Upe++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[zpe])s in i[q5]?r[s]=i[q5][s]:s in i[W5]&&(r[s]=i[W5][s]);return new this.constructor(K(K(K({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new G5({})}}return n.componentName="Component",n.defaultProps=jpe,n})();class $pe extends G5{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const lc=n=>"function"==typeof n,ph=n=>null!==n&&"object"==typeof n,X5=n=>ph(n)&&n.constructor==={}.constructor,Gpe=n=>n&&"function"==typeof n[Symbol.iterator],Wpe=n=>n&&"function"==typeof n[Symbol.asyncIterator],vb=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,Im=n=>"undefined"!=typeof Blob&&n instanceof Blob,K5=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||ph(n)&&lc(n.tee)&&lc(n.cancel)&&lc(n.getReader))(n)||(n=>ph(n)&&lc(n.read)&&lc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function sp(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rP(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sP(n){var e,t;let i;return sp(n,"null loader"),sp(rP(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Lt(K({},n=n[0]),{options:K(K({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oP=Zc.global||Zc.self||Zc.window||{},Qpe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Z5="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);Z5&&parseFloat(Z5[1]);const lP={};function Jpe(n){for(const e in lP)n.startsWith(e)&&(n=n.replace(e,lP[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const ege=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,tge=/^([-\w.]+\/[-\w.+]+)/;function nge(n){const e=tge.exec(n);return e?e[1]:n}function Q5(n){const e=ege.exec(n);return e?e[1]:""}const ige=/\?.*/;function qS(n){if(vb(n)){const e=cP(n.url||"");return{url:e,type:nge(n.headers.get("content-type")||"")||Q5(e)}}return Im(n)?{url:cP(n.name||""),type:n.type||""}:"string"==typeof n?{url:cP(n),type:Q5(n)}:{url:"",type:""}}function rge(n){return vb(n)?n.headers["content-length"]||-1:Im(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cP(n){return n.replace(ige,"")}function J5(n){return uP.apply(this,arguments)}function uP(){return(uP=yn(function*(n){if(vb(n))return n;const e={},t=rge(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield age(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function sge(n){return dP.apply(this,arguments)}function dP(){return(dP=yn(function*(n){if(!n.ok){const e=yield oge(n);throw new Error(e)}})).apply(this,arguments)}function oge(n){return hP.apply(this,arguments)}function hP(){return(hP=yn(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function age(n){return fP.apply(this,arguments)}function fP(){return(fP=yn(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${lge(n.slice(0,5))}`:null})).apply(this,arguments)}function lge(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const nH={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){sn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},dge={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gP(){oP.loaders=oP.loaders||{};const{loaders:n}=oP;return n._state=n._state||{},n._state}const mP=()=>{const n=gP();return n.globalOptions=n.globalOptions||K({},nH),n.globalOptions};function hge(n,e,t,i){return t=t||[],function(n,e){rH(n,null,nH,dge,e);for(const t of e)rH(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=K({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new cge),oH(r,mP()),oH(r,e),r}(e,n,i)}function iH(n,e){const t=mP(),i=n||t;return"function"==typeof i.fetch?i.fetch:ph(i.fetch)?r=>eH(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:eH}function rH(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&ph(n[a]),c="baseUri"===a&&!e,d="workerUrl"===a&&e;if(!(a in t)&&!c&&!d)if(a in i)tH.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const f=pge(a,r);tH.warn(`${s} loader option '${o}${a}' not recognized. ${f}`)()}}}function pge(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function oH(n,e){for(const t in e)t in e&&(n[t]=X5(e[t])&&X5(n[t])?K(K({},n[t]),e[t]):e[t])}function Qc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function _ge(n,e="3.0.12"){return Qc(n,"no worker provided"),!(!e||!n.version)}const Jc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},yge=Jc.global||Jc.self||Jc.window||{},_P="object"!=typeof process||"[object process]"!==String(process)||process.browser,yP="function"==typeof importScripts,vge="undefined"!=typeof window&&void 0!==window.orientation,aH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vP=(aH&&parseFloat(aH[1]),new Map);function lH(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function cH(n,e=!0,t){const i=t||new Set;if(n)if(uH(n))i.add(n);else if(uH(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)cH(n[r],e,i);return void 0===t?Array.from(i):[]}function uH(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bP=()=>{};class dH{static isSupported(){return"undefined"!=typeof Worker}constructor(e){sn(this,"name",void 0),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"terminated",!1),sn(this,"worker",void 0),sn(this,"onMessage",void 0),sn(this,"onError",void 0),sn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Qc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bP,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bP,this.onError=bP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||cH(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Qc(n.source&&!n.url||!n.source&&n.url);let e=vP.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?lH(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vP.set(n.url,e)),n.source&&(e=lH(n.source),vP.set(n.source,e))),Qc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Ege{constructor(e,t){sn(this,"name",void 0),sn(this,"workerThread",void 0),sn(this,"isRunning",void 0),sn(this,"result",void 0),sn(this,"_resolve",void 0),sn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Qc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Qc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Sge{constructor(e){sn(this,"name","unnamed"),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"maxConcurrency",1),sn(this,"maxMobileConcurrency",1),sn(this,"onDebug",()=>{}),sn(this,"reuseWorkers",!0),sn(this,"props",{}),sn(this,"jobQueue",[]),sn(this,"idleQueue",[]),sn(this,"count",0),sn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=K(K({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return yn(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return yn(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Ege(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return dH.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){sn(this,"props",void 0),sn(this,"workerPools",new Map),this.props=K({},Mge),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=K(K({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Sge({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Tge(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Qc(r),r}function Age(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Dge(n,e,t,i,r){return CP.apply(this,arguments)}function CP(){return(CP=yn(function*(n,e,t,i,r){const s=n.id,o=Tge(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Oge.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Oge(n,e,t,i){return wP.apply(this,arguments)}function wP(){return(wP=yn(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}sn(td,"_workerFarm",void 0);var fH=ze(521);function pH(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return fH.toArrayBuffer?fH.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function kge(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function gH(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Fge(n){return SP.apply(this,arguments)}function SP(){return(SP=yn(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iP(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return kge(...e)})).apply(this,arguments)}const Bge=262144;function mH(n){this.wrapped=n}function bb(n){return new mH(n)}function Cb(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,d=c instanceof mH;Promise.resolve(d?c.wrapped:c).then(function(f){d?r("return"===o?"return":"next",f):s(l.done?"return":"normal",f)},function(f){r("throw",f)})}catch(f){s("throw",f)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var d={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=d:(e=t=d,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function xP(n){return function(){return new Cb(n.apply(this,arguments))}}function TP(){return(TP=xP(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OP)}function Wge(n,e,t){return IP.apply(this,arguments)}function IP(){return(IP=yn(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return Gge(n,e);if(Im(n)&&(n=yield J5(n)),vb(n)){const r=n;return yield sge(r),e.binary?yield r.arrayBuffer():yield r.text()}if(K5(n)&&(n=$ge(n,t)),Gpe(n)||Wpe(n))return Fge(n);throw new Error(OP)})).apply(this,arguments)}function Yge(n,e,t=null){if(t)return t;const i=K({fetch:iH(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function Xge(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const yH=()=>{const n=gP();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function vH(n){const e=yH();n=Array.isArray(n)?n:[n];for(const t of n){const i=sP(t);e.find(r=>i===r)||e.unshift(i)}}const Zge=/\.([^.]+)$/;function Qge(n){return kP.apply(this,arguments)}function kP(){return(kP=yn(function*(n,e=[],t,i){if(!CH(n))return null;let r=bH(n,e,Lt(K({},t),{nothrow:!0}),i);if(r)return r;if(Im(n)&&(r=bH(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(wH(n));return r})).apply(this,arguments)}function bH(n,e=[],t,i){if(!CH(n))return null;if(e&&!Array.isArray(e))return sP(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...yH()),function(n){for(const e of n)sP(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FP(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&Zge.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FP(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(rme(e,t))return t}else if(ArrayBuffer.isView(e)){if(EH(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&EH(e,0,t))return t;return null}(e,n),a=a||FP(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(wH(n));return s}function CH(n){return!(n instanceof Response&&204===n.status)}function wH(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?NP(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?NP(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FP(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function rme(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function EH(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let eu=new Uint8ClampedArray(0);const gme={data:{type:"data",value:fme,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Lt(K({},r),{fetch:Lt(K({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:wb(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):wb(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:qn.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Eb=(()=>{class n extends Hpe{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=U5(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=k5(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=K({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===qn.DEFAULT&&(t=i.isGeospatial?qn.LNGLAT:qn.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:d}=S5(t,i,r),f=U5(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:d});d&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(f,f,t.projectPosition(l||c));return f}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===qn.DEFAULT||t===qn.LNGLAT||t===qn.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){sc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=bfe(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const d of c)o.invalidateAll(d);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:d}=o.attributes,f=c||d;f&&(l&&f.constant&&(f.constant=!1,o.invalidate(f.id)),!f.value&&!l&&(f.constant=!0,f.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!pme({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(eu.length/3);if(this.internalState.usesPickingColorCache=!0,rSH&&jn.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),eu=nb.allocate(eu,i,{size:3,copy:!0,maxCount:Math.max(i,SH)});const s=Math.floor(eu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const d of this.props.extensions)d.draw.call(this,c,d);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&no("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=y5({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&v5(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&v5(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:ffe(n,e),transitionsChanged:ufe(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new tfe(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){sc(!this.internalState&&!this.state),sc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new $pe({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(jn.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ofe(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){no("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=gme,n})(),MH=(()=>{class n extends Eb{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C,_subLayerProps:w}=this.props,x={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C},N=w&&w[t.id],V=N&&N.updateTriggers,U=t.id||"sublayer";if(N){const ee=this.constructor._propTypes,de=t.type?t.type._propTypes:{};for(const ae in N){const me=de[ae]||ee[ae];me&&"accessor"===me.type&&(N[ae]=this.getSubLayerAccessor(N[ae]))}}Object.assign(x,t,N),x.id="".concat(this.props.id,"-").concat(U),x.updateTriggers=K(K({all:this.props.updateTriggers.all},t.updateTriggers),V);for(const ee of v){const de=ee.getSubLayerProps.call(this,ee);de&&Object.assign(x,de,{updateTriggers:Object.assign(x.updateTriggers,de.updateTriggers)})}return x}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),no("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const _me=/([0-9]+\.?[0-9]*)(%|px)/;function XS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(_me);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function KS(n,e){return n.relative?Math.round(n.position*e):n.position}function Sb(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Sb(i,r)))return!1}return!0}class zP{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:d=1e3,modelMatrix:f=null,viewportInstance:p=null,type:g=Om}=e;sc(!p||p instanceof Om),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Lt(K({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:d,modelMatrix:f}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Sb(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=K({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:KS(this._x,e),y:KS(this._y,t),width:KS(this._width,e),height:KS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),K(K({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(K(K(K({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=XS(e),this._y=XS(t),this._width=XS(i),this._height=XS(r)}}const Mb=()=>{},xH={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Mb,onTransitionInterrupt:Mb,onTransitionEnd:Mb};class yme{constructor(e,t={}){this.ControllerState=e,this.props=K(K({},xH),t),this.propsInTransition=null,this.transition=new fb(t.timeline),this.onViewStateChange=t.onViewStateChange||Mb,this.onStateChange=t.onStateChange||Mb,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=K(K({},xH),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=K(K({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(K(K({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const TH=["longitude","latitude","zoom","bearing","pitch"],bme=["longitude","latitude","zoom"];class AH extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!rb(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];sc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:TH,extract:TH,required:bme}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=bS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(K(K({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,bS(e.around,t.around,i)))}return r}}const gh={transitionDuration:0},Cme={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},QS=n=>1-(1-n)*(1-n),Pm_WHEEL=["wheel"],Pm_PAN=["panstart","panmove","panend"],Pm_PINCH=["pinchstart","pinchmove","pinchend"],Pm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],Pm_DOUBLE_TAP=["doubletap"],Pm_KEYBOARD=["keydown"];class jP{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new yme(e,Lt(K({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Lt(K({},Cme),{transitionInterpolator:new AH({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,d=Boolean(this.onViewStateChange);this.toggleEvents(Pm_WHEEL,d&&i),this.toggleEvents(Pm_PAN,d&&(r||s)),this.toggleEvents(Pm_PINCH,d&&(a||l)),this.toggleEvents(Pm_TRIPLE_PAN,d&&l),this.toggleEvents(Pm_DOUBLE_TAP,d&&o),this.toggleEvents(Pm_KEYBOARD,d&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=K(K({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,gh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Lt(K({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,gh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,gh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,gh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Lt(K({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Lt(K({},t),{transitionInterpolator:new AH(Lt(K({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:gh}}class DH{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const mh_target=[0,0,0];class JS extends DH{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=mh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:d=-(1/0),maxZoom:f=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:d,maxZoom:f}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let d=(e[0]-r[0])/a;(s<-90||s>90)&&(d*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*d}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Lt(K({},this._viewportProps),{zoom:a}));return this._getUpdatedState(K({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),np(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(K(K(K({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=np(r,i,t),e.rotationX=np(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Eme extends jP{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Sme extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Mme=(new $t).lookAt({eye:[0,0,1]});function xme({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new $t).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Tme extends Om{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Lt(K({},e),{longitude:null,position:a,viewMatrix:Mme.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:xme({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=zS([],e,M5([],gb(t,this.pixelUnprojectionMatrix)));return{target:zS([],this.center,r)}}}let Ame=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:Tme}))}get controller(){return this._getControllerProps({type:Sme})}}return n.displayName="OrthographicView",n})();const eM=Math.PI/180;function Dme({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*eM/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new $t).lookAt({eye:l,up:a});c.rotateX(i*eM),"Z"===t?c.rotateZ(r*eM):c.rotateY(r*eM);const d=Math.pow(2,s)/(n||1);return c.scale(d),c}class Ome extends Om{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Lt(K({},e),{longitude:null,viewMatrix:Dme({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=gb([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Ime=(()=>{class n extends zP{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Lt(K({},t),{orbitAxis:i,type:Ome}))}get controller(){return this._getControllerProps({type:Eme})}}return n.displayName="OrbitView",n})();const Pme=[255,255,255],Rme=1;let kme=0;class OH{constructor(e={}){const{color:t=Pme}=e,{intensity:i=Rme}=e;this.id=e.id||"ambient-".concat(kme++),this.color=t,this.intensity=i,this.type="ambient"}}const Fme=[255,255,255],Nme=1,Lme=[0,0,-1];let Bme=0;class IH{constructor(e={}){const{color:t=Fme}=e,{intensity:i=Nme}=e,{direction:r=Lme}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Bme++),this.color=t,this.intensity=i,this.type="directional",this.direction=new to(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class PH{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=K({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UP extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=K({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,d=i&&i[c.id];r(c);const f=this._getDrawLayerParams(c,e);e.view=d;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const _=this._drawLayersInViewport(o,e,f);a.push(_)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=RH(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let d=0;dpI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const d=t[l]=t[l]||RH(e[l],e);c=d(r,s),t[a]=d}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Ume extends UP{constructor(e,t){super(e,t),this.shadowMap=new na(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new vm(e,{format:33189,width:1,height:1}),this.fbo=new ss(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;rc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=mm(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Lt(K({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const $me=Object.keys(qn).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(qn[n],";")).join(""),Gme=Object.keys(Yc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Yc[n],";")).join(""),Wme="".concat($me,"\n").concat(Gme,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),qme={},HP={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:Wme,getUniforms:function(n=qme){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=qn.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===qn.DEFAULT&&(i=n.isGeospatial?qn.LNGLAT:qn.CARTESIAN);const o=Zfe({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||Yfe,o}(n):{}}},Zme=NS(function({viewport:n,center:e}){return new $t(n.viewProjectionMatrix).invert().transform(e)}),Qme=NS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=gb([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new to(n.center).negate()),l=s.map(d=>a.transform(d)),c=(new $t).ortho({left:Math.min(...l.map(d=>d[0])),right:Math.max(...l.map(d=>d[0])),bottom:Math.min(...l.map(d=>d[1])),top:Math.max(...l.map(d=>d[1])),near:Math.min(...l.map(d=>-d[2])),far:Math.max(...l.map(d=>-d[2]))});t.push(c.multiplyRight(o))}return t}),Jme=[0,0,0,1],e_e=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$P={name:"shadow",dependencies:[HP],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||Jme,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=Zme({viewport:n.viewport,center:e.project_uCenter}),r=[],s=Qme({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},s_e={color:[255,255,255],intensity:1},kH=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],o_e=[0,0,0,200/255];class GP extends PH{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=o_e,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=db.getDefaultProgramManager(e),$P&&this.programManager.addDefaultModule($P)),this.dummyShadowMap||(this.dummyShadowMap=new na(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($P),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new $t).lookAt({eye:new to(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=l_e++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class c_e{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=wb(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class u_e{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new c_e(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const d_e=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HP],h_e=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function f_e(n){const e=db.getDefaultProgramManager(n);for(const t of d_e)e.addDefaultModule(t);for(const t of h_e)e.addShaderHook(t);return e}const m_e=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class __e{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new u_e({gl:e,protocol:"deck://"}),this.context=Lt(K({},m_e),{layerManager:this,gl:e,deck:t,programManager:e&&f_e(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Om({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new FH,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){no("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return no("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?jn.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&jn.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class y_e{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Sb(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):jn.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(K({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Lt(K(K(K({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let d=r[a.id];a.controller&&!d&&(s=!0),(s||!a.controller)&&d&&(d.finalize(),d=null),this.controllers[a.id]=this._updateController(a,l,c,d),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class b_e extends DH{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:d=20,minZoom:f=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x,normalize:N}={}){sc(Number.isFinite(s)),sc(Number.isFinite(r)),sc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:d,minZoom:f,maxPitch:p,minPitch:g,normalize:N}),this._state={startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Lt(K({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Lt(K({},this._viewportProps),{zoom:o}));return this._getUpdatedState(K({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(K(K(K({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=np(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=np(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=A5(t+180,360)-180),(o<-180||o>180)&&(o=A5(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Dm([0,l])[1];if(id&&(i=d)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return np(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=np(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let d=0;return r>0?Math.abs(l-o)>5&&(d=r/(o-l)*1.2):r<0&&o>5&&(d=1-s/o),d=Math.min(1,Math.max(-1,d)),{deltaScaleX:c,deltaScaleY:d}}}class C_e extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(b_e,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let w_e=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:j5}))}get controller(){return this._getControllerProps({type:C_e})}}return n.displayName="MapView",n})();const E_e=new GP;class S_e{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Sb(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GP)||this._internalEffects.push(E_e)}}class M_e extends UP{}const LH={blendFunc:[1,0,32771,0],blendEquation:32774};class BH extends UP{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:d},pass:f="picking",redrawReason:p,pickZ:g}){const _=this.gl;return this.pickZ=g,rc(_,Lt(K({scissorTest:!0,scissor:[a,l,c,d],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},LH),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:f,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Lt(K({},LH),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return K(K({},e.props.parameters),i)}}class T_e{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new M_e(e),this.pickLayersPass=new BH(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ss.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Lt(K({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,no("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ss(this.gl),new ss(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const A_e={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function D_e({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let d=r*r,f=-1,p=0;for(let g=0;gd)p+=4*l;else for(let v=0;v=0){const w=v+o-t,x=w*w+y;x<=d&&(d=x,f=p)}p+=4}}if(f>=0){const g=n[f+3]-1,_=n.slice(f,f+4),y=e[g];if(y){const v=y.decodePickingColor(_),C=Math.floor(f/4/l);return{pickedColor:_,pickedLayer:y,pickedObjectIndex:v,pickedX:o+(f/4-C*l),pickedY:a+C}}jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return A_e}function VH({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,d=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),f=d&&d.unproject([s-d.x,o-d.y],{targetZ:a});return{color:null,layer:null,viewport:d,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:f,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function I_e(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const f=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==f){if(g!==p){const _=r.find(y=>y.props.id===p);_&&l.unshift(_)}t.layerId=g,t.index=a,t.info=null}}const c=VH(n),d=new Map;return d.set(null,c),l.forEach(f=>{let p=K({},c);f===o&&(p.color=s,p.index=a,p.picked=!0),p=zH({layer:f,info:p,mode:i}),f===o&&"hover"===i&&(t.info=p),d.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),d}function zH({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class R_e{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new BH(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],d=c&&c.unproject([e-c.x,t-c.y]),f={x:e,y:t,viewport:c,coordinate:d,layer:l};return l?K(K({},s),f):Object.assign(f,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ss(e),ss.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ss(e),this.depthFBO.attach({36064:new na(e,{format:In(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(jn.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:d}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:VH({viewports:i,x:r,y:s})};this._resizeBuffer();const f=mm(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],_=Math.round(o*f),{width:y,height:v}=this.pickingFBO,C=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:_,deviceWidth:y,deviceHeight:v});let w;const x=[],N={};for(let V=0;V=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:d,deviceRect:{x:g,y:C,width:y.x+y.width-g,height:_-C},pass:"picking:".concat(l),redrawReason:l}),layers:e}),V=new Map,U=Number.isFinite(c);for(let ee=0;ee=c);ee++){const de=N[ee];let ae={color:de.pickedColor,layer:null,index:de.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:f};ae=zH({layer:de.pickedLayer,info:ae,mode:l}),V.has(ae.object)||V.set(ae.object,ae)}return Array.from(V.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:d,y:f,width:p,height:g}=s,_=new(l?Float32Array:Uint8Array)(p*g*4);return vS(c,{sourceX:d,sourceY:f,sourceWidth:p,sourceHeight:g,target:_}),_}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const k_e={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class F_e{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,k_e),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function jH(n,e){if(!n)throw new Error(e)}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},UH=tu.global||tu.self||tu.window,L_e="object"!=typeof process||"[object process]"!==String(process)||process.browser,HH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:B_e}=(HH&&parseFloat(HH[1]),UH),WP="undefined"!=typeof Image,qP="undefined"!=typeof ImageBitmap,V_e=Boolean(B_e),YP=!!L_e||V_e;function $H(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function GH(n){switch($H(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const U_e=/^data:image\/svg\+xml/,H_e=/\.svg((\?|#).*)?$/;function XP(n){return n&&(U_e.test(n)||H_e.test(n))}function $_e(n,e){if(XP(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return qH(n,e)}function qH(n,e){if(XP(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function YH(n,e,t){return KP.apply(this,arguments)}function KP(){return(KP=yn(function*(n,e,t){const i=$_e(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield G_e(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function G_e(n,e){return ZP.apply(this,arguments)}function ZP(){return(ZP=yn(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const W_e={};let XH=!0;function q_e(n,e,t){return QP.apply(this,arguments)}function QP(){return(QP=yn(function*(n,e,t){let i;i=XP(t)?yield YH(n,e,t):qH(n,t);const r=e&&e.imagebitmap;return yield Y_e(i,r)})).apply(this,arguments)}function Y_e(n){return JP.apply(this,arguments)}function JP(){return(JP=yn(function*(n,e=null){if((X_e(e)||!XH)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),XH=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function X_e(n){for(const e in n||W_e)return!1;return!0}const nu=!1,xb=!0;function eR(n){const e=Tb(n);return function(n){const e=Tb(n);return e.byteLength>=24&&2303741511===e.getUint32(0,nu)?{mimeType:"image/png",width:e.getUint32(16,nu),height:e.getUint32(20,nu)}:null}(e)||function(n){const e=Tb(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,nu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,nu)?{mimeType:"image/gif",width:e.getUint16(6,xb),height:e.getUint16(8,xb)}:null}(e)||function(n){const e=Tb(n);return e.byteLength>=14&&16973===e.getUint16(0,nu)&&e.getUint32(2,xb)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,xb),height:e.getUint32(22,xb)}:null}(e)}function Tb(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function tye(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=UH;return jH(i),i(n,t,e)}function tR(){return(tR=yn(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(iye(r)){case"imagebitmap":a=yield q_e(n,e,s);break;case"image":a=yield YH(n,e,s);break;case"data":a=yield tye(n,e);break;default:jH(!1)}return"data"===r&&(a=GH(a)),a})).apply(this,arguments)}function iye(n){switch(n){case"auto":case"data":return function(){if(qP)return"imagebitmap";if(WP)return"image";if(YP)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qP||WP||YP;case"imagebitmap":return qP;case"image":return WP;case"data":return YP;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var Rm=ze(761);const sye={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Ab="8.5.8",tM=Rm.CO.deck&&Rm.CO.deck.VERSION;if(tM&&tM!==Ab)throw new Error("deck.gl - multiple versions detected: ".concat(tM," vs ").concat(Ab));tM||(jn.log(1,"deck.gl ".concat(Ab))(),Rm.CO.deck=Object.assign(Rm.CO.deck||{},{VERSION:Ab,version:Ab,log:jn,_registerLoggers:function(n){TI=n}}),vH([sye,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const oye=Rm.CO.deck;class nM extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=In(e),r=f4(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:nt(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nM.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const KH=yS()&&"undefined"!=typeof document;let mye=0;class _ye{constructor(e={}){const{onCreateContext:t=(v=>qU(v)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:d=!1,createFramebuffer:f=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:_=Jf.get("animation-loop-"+mye++)}=e;let{useDevicePixels:y=!0}=e;"useDevicePixelRatio"in e&&(vt.deprecated("useDevicePixelRatio","useDevicePixels")(),y=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:d,createFramebuffer:f},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=_,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:y}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return nt("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nM.isSupported(this.gl,["timers"])?new nM(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return yn(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return vt.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=KH?new Promise((e,t)=>{KH&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(vt.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(vt.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ss(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var yye=ze(524),iM=ze.n(yye);const vye={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(iM().MouseInput);const Eye=iM().Manager,iu=iM(),Sye=iu?[[iu.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[iu.Rotate,{enable:!1}],[iu.Pinch,{enable:!1}],[iu.Swipe,{enable:!1}],[iu.Pan,{threshold:0,enable:!1}],[iu.Press,{enable:!1}],[iu.Tap,{event:"doubletap",taps:2,enable:!1}],[iu.Tap,{event:"anytap",enable:!1}],[iu.Tap,{enable:!1}]]:null,JH={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Mye={doubletap:["tap"]},xye={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Tye={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},e6={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Aye="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",km="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let t6=!1;try{const n={get passive(){return t6=!0,!0}};km.addEventListener("test",n,n),km.removeEventListener("test",n,n)}catch(n){}const Dye=-1!==Aye.indexOf("firefox"),{WHEEL_EVENTS:Oye}=rR,i6=4.000244140625;class Rye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Oye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!t6&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;km.WheelEvent&&(Dye&&e.deltaMode===km.WheelEvent.DOM_DELTA_PIXEL&&(t/=km.devicePixelRatio),e.deltaMode===km.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%i6==0&&(t=Math.floor(t/i6)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:kye}=rR,r6="pointermove",s6="pointerover",o6="pointerout",a6="pointerleave";class Fye{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=kye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===r6&&(this.enableMoveEvent=t),e===s6&&(this.enableOverEvent=t),e===o6&&(this.enableOutEvent=t),e===a6&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:s6,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:o6,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:a6,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:r6,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Nye}=rR,l6="keydown";class Lye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Nye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===l6&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:l6,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const u6="contextmenu";class Bye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===u6&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:u6,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Vye={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},d6={srcElement:"root",priority:0};class Zye{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},d6,i):d6;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let d=l.length-1;for(;d>=0&&!(l[d].priority>=c.priority);)d--;l.splice(d+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&JH[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Rye(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Fye(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Lye(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Bye(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Mye[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const d in e)this._addEventHandler(d,e[d],i,r,s);return}const{manager:o,events:a}=this,l=e6[e]||e;let c=a.get(l);c||(c=new Zye(this),a.set(l,c),c.recognizerName=Tye[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(e6[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=xye[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function ap(){}const h6={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:ap,onResize:ap,onViewStateChange:ap,onInteractionStateChange:ap,onBeforeRender:ap,onAfterRender:ap,onLoad:ap,onError:(n,e)=>jn.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sM{constructor(e){e=K(K({},h6),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&jn.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,Rm.qs)()&&jn.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&nb.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&jn.removed("onLayerHover","onHover")(),"onLayerClick"in e&&jn.removed("onLayerClick","onClick")(),e.initialViewState&&!Sb(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](K({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),sc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:d,autoResizeDrawingBuffer:f}=e;return new _ye({width:t,height:i,useDevicePixels:d,autoResizeDrawingBuffer:f,autoResizeViewport:!1,gl:r,onCreateContext:p=>qU(Lt(K(K({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new w_e({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new F_e(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new FH;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Jye(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in IU)this.eventManager.on(r,this._onEvent);this.viewManager=new y_e({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new __e(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new S_e,this.deckRenderer=new T_e(e),this.deckPicker=new R_e(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(K({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),jn.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Lt(K({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=IU[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Jf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sM.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(PH)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sM.defaultProps=h6,sM.VERSION=oye.VERSION;const oM={name:"project32",dependencies:[HP],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ive={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},aM=K({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ive){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),f6={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class _h{static get DRAW_MODE(){return f6}constructor(e={}){const{id:t=ea("geometry"),drawMode:i=f6.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?K({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,nt(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(nt(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return nt(Number.isFinite(i)),i}}const p6=()=>{},cve={10241:9987,10240:9729,10242:33071,10243:33071};function uve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function dve(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Db(n){return n&&(n.id||n.url)}function g6(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(g6(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,f)}}return a.length>0&&g6(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:uve(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new na(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:cve})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=u4(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:d,height:f}=t;const{framebuffer:p,deleteFramebuffer:g}=tb(n);nt(p);const{gl:_,handle:y}=p,v=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const C=_.bindFramebuffer(36160,y);nt(e);let w=null;if(e instanceof ep&&(w=e,d=Number.isFinite(d)?d:w.width,f=Number.isFinite(f)?f:w.height,w.bind(0),e=w.target),v)switch(e){case 3553:case 34067:_.copyTexSubImage2D(e,s,a,l,i,r,d,f);break;case 35866:case 32879:eo(_).copyTexSubImage3D(e,s,a,l,c,i,r,d,f)}else _.copyTexImage2D(e,s,o,i,r,d,f,0);w&&w.unbind(),_.bindFramebuffer(36160,C||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,wb(i.url,nR,this._loadOptions).then(r=>{const s=Db(i),{x:o,y:a,width:l,height:c}=this._mapping[s],d=dve(t,r,l,c);this._texture.setSubImageData({data:d,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const m6=[0,0,0,255],mve={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:m6},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let _ve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.state={iconManager:new gve(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:m6},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:d}=this.state;d.setProps({loadOptions:i.loadOptions});let f=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&d.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(d.setProps({iconMapping:a}),f=!0)):d.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&d.setProps({data:l,getIcon:c}),f&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:_}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(_),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:d}=this.context,f=c.getTexture();f&&this.state.model.setUniforms(t).setUniforms({iconsTexture:f,iconsTextureDim:[f.width,f.height],sizeScale:i*("pixels"===o?d.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):jn.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=mve,n})();const y6=[],vve={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let bve=(()=>{class n extends _ve{getShaders(){return Lt(K({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&jn.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Lt(K({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):y6}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):y6}}return n.layerName="MultiIconLayer",n.defaultProps=vve,n})();var Cve=ze(2),wve=ze.n(Cve);const Sve=[];function Mve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function v6(n,e,t,i){let r=0;for(let s=e;si&&(oa){let f=v6(n,a,l,r);c+f>i&&(oi&&(f=b6(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=f}}(n,r,s,t,i,o),o}function Dve(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,d=[0,0],f=[];let p=0,g=0,_=0;for(let y=0;y<=s;y++){const v=n[y];if(("\n"===v||y===s)&&(_=y),_>g){const C=c?Ave(n,t,i,r,g,_):Sve;for(let w=0;w<=C.length;w++){const x=0===w?g:C[w-1],N=wi===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Fve=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Lve(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:d}=this.props;let f=i&&i.data;f||(f=document.createElement("canvas"),f.width=1024);const p=f.getContext("2d");I6(p,r,o,s);const{mapping:g,canvasHeight:_,xOffset:y,yOffset:v}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,d=0;for(const p of n)if(!s[p]){const g=e(p,d++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const f=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*f,canvasHeight:Mve(a+(l+1)*f)}}(K({getFontWidth:C=>p.measureText(C).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(f.height!==_){const C=p.getImageData(0,0,f.width,f.height);f.height=_,p.putImageData(C,0,0)}if(I6(p,r,o,s),l){const C=new(wve())(o,a,c,d,r,s),w=p.getImageData(0,0,C.size,C.size);for(const x of t)Lve(C.draw(x),w),p.putImageData(w,g[x].x-a,g[x].y+a)}else for(const C of t)p.fillText(C,g[C].x,g[C].y+.9*o);return{xOffset:y,yOffset:v,mapping:g,data:f,width:f.width,height:f.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const jve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Uve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:d}=this.props;const f="pixels"===o?i.metersPerPixel:1;d.length<4&&(d=[d[0],d[1],d[0],d[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:d,sizeScale:s*f,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=jve,n})();const P6={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},R6={start:1,middle:0,end:-1},k6={top:1,center:0,bottom:-1},lR=[0,0,0,255],$ve=["fontSize","buffer","sdf","radius","cutoff"],Gve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:w6},fontFamily:E6,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let Wve=(()=>{class n extends MH{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Bve}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Lt(K(K({},P6),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return $ve.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:d}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),d=s&&new Set,f=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:d}=SS(t);o=[0],a=0;for(const f of c){d.index++;const p=Array.from(s(f,d)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{size:[p,g]}=C6(f,l,o,a,r);return[(R6["function"==typeof c?c(t,i):c]-1)*p/2,(k6["function"==typeof d?d(t,i):d]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{x:p,y:g,rowWidth:_,size:[y,v]}=C6(f,l,o,a,r),C=R6["function"==typeof c?c(t,i):c],w=k6["function"==typeof d?d(t,i):d],x=p.length,N=new Array(2*x);let V=0;for(let U=0;Ut*e/255)}const uR={name:"lights",vs:F6,fs:F6,getUniforms:function N6(n=qve){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return N6({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},Xve={};const Zve={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=Xve){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,lM=new Float32Array(16),V6=new Float32Array(12);function z6(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),d=Math.cos(i),f=Math.cos(r),p=t[0],g=t[1],_=t[2];n[0]=p*f*d,n[1]=p*l*d,n[2]=p*-a,n[3]=g*(-l*c+f*a*o),n[4]=g*(f*c+l*a*o),n[5]=g*d*o,n[6]=_*(l*o+f*a*c),n[7]=_*(-f*o+l*a*c),n[8]=_*d*c}function j6(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const U6={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,d=Array.isArray(s),f=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:f&&d&&p;const _=n.value;if(n.constant){let y;g?(lM.set(a),y=j6(lM)):(y=V6,z6(y,r,s),y.set(o,9)),n.value=new Float32Array(y)}else{let y=e*n.size;const{iterable:v,objectInfo:C}=SS(i,e,t);for(const w of v){let x;C.index++,g?(lM.set(c?a:a(w,C)),x=j6(lM)):(x=V6,z6(x,f?r:r(w,C),d?s:s(w,C)),x.set(p?o:o(w,C),9)),_[y++]=x[0],_[y++]=x[1],_[y++]=x[2],_[y++]=x[3],_[y++]=x[4],_[y++]=x[5],_[y++]=x[6],_[y++]=x[7],_[y++]=x[8],_[y++]=x[9],_[y++]=x[10],_[y++]=x[11]}}}};function H6(n,e){return e===qn.CARTESIAN||e===qn.METER_OFFSETS||e===qn.DEFAULT&&!n.isGeospatial}function $6(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),jn.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function ebe(n,e){if(n.attributes)return $6(n.attributes,e),n instanceof _h?n:new _h(n);if(n.positions||n.POSITION)return $6(n,e),new _h({attributes:n});throw Error("Invalid mesh")}const tbe={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let nbe=(()=>{class n extends Eb{getShaders(){const t=!In(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[oM,Zve,aM],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:U6}),this.setState({emptyTexture:new na(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||H6(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Mm(this.context.gl,Lt(K({},this.getShaders()),{id:this.props.id,geometry:ebe(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=tbe,n})();const G6={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class Fm{constructor(e={}){const{id:t}=e;this.id=t||ea(this.constructor.name),this.display=!0,this.position=new to,this.rotation=new to,this.scale=new to(1,1,1),this.matrix=new $t,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return nt(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return nt(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return nt(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){nt(e),t=t||this.matrix;const i=new $t(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Ob extends Fm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;vt.assert(t.every(i=>i instanceof Fm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new $t}={}){const i=new $t(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Ob?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function W6(){var n=new ia(4);return ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function q6(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function Y6(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],d=t[3];return n[0]=i*d+o*a+r*c-s*l,n[1]=r*d+o*l+s*a-i*c,n[2]=s*d+o*c+i*l-r*a,n[3]=o*d-i*a-r*l-s*c,n}var K6=w5,_be=function(){var n=m4(),e=_4(1,0,0),t=_4(0,1,0);return function(i,r,s){var o=y4(r,s);return o<-.999999?(wS(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&wS(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),q6(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(wS(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();W6(),W6(),function(){var n=new ia(9);ia!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const ybe=[0,0,0,1],bbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cbe={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function J6(n){if(!n._animation){const e=Cbe[n.componentType],t=bbe[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}}(this,e),this.check()}identity(){return function(n){n[0]=0,n[1]=0,n[2]=0,n[3]=1}(this),this.check()}fromAxisRotation(e,t){return q6(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ks(e)}get y(){return this[1]}set y(e){this[1]=ks(e)}get z(){return this[2]}set z(e){this[2]=ks(e)}get w(){return this[3]}set w(e){this[3]=ks(e)}len(){return function(n){return Math.hypot(n[0],n[1],n[2],n[3])}(this)}lengthSquared(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r}(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]}(this,e)}rotationTo(e,t){return _be(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return function(n,e,t){n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3]}(this,this,e),this.check()}calculateW(){return function(n,e){var t=e[0],i=e[1],r=e[2];n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r))}(this,this),this.check()}conjugate(){return function(n,e){n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3]}(this,this),this.check()}invert(){return function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a}(this,this),this.check()}lerp(e,t,i){return function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a)}(this,e,t,i),this.check()}multiplyRight(e,t){return Qu(!t),Y6(this,this,e),this.check()}multiplyLeft(e,t){return Qu(!t),Y6(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a}(this,this,e),this.check()}rotateY(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a}(this,this,e),this.check()}rotateZ(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a}(this,this,e),this.check()}scale(e){return K6(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ybe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return function(n,e,t,i){var p,g,_,y,v,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],d=t[2],f=t[3];(g=r*l+s*c+o*d+a*f)<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>Kc?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-i)*p)/_,v=Math.sin(i*p)/_):(y=1-i,v=i),n[0]=y*r+v*l,n[1]=y*s+v*c,n[2]=y*o+v*d,n[3]=y*a+v*f}(this,e,t,i),this.check()}transformVector4(e,t=e){return function(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;n[0]=d*c+g*-o+f*-l-p*-a,n[1]=f*c+g*-a+p*-o-d*-l,n[2]=p*c+g*-l+d*-a-f*-o,n[3]=e[3]}(t,e,this),CS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}};class Abe{constructor(e){this.startTime=0,this.playing=!0,this.speed=1,this.channels=[],Object.assign(this,e)}animate(e){if(!this.playing)return;const i=(e/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:r,target:s,path:o})=>{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:vt.warn(`Bad animation path ${s}`)()}nt(r[s].length===i[c].length);const d=e[c],f=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;id&&function(n,e,t,i,r){if("rotation"===e){hR.slerp({start:t,target:i,ratio:r});for(let s=0;sd&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:J6(e.accessors[a]),interpolation:l,output:J6(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Abe({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Obe extends Fm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Mm?(this.model=e,this._setModelNodeProps(t)):this.model=new Mm(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Ibe{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new na(this.gl,K({id:e.name||e.id,parameters:K(K({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(vt.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function e8(n,e){return In(n)?`#version 300 es\n${e}`:e}const Fbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Nbe={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Lbe{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Nbe,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Dbe(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Ob({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Ob({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new $t).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Ob({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){vt.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Ibe(n,e);vt.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(d=>d.buffer));const c=new Obe(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[G6],defines:a.defines,parameters:a.parameters,vs:e8(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:e8(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),vt.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new Ai(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ta({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Fbe[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function t8(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new Nm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new Nm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof Nm){const o=e;t=o.fields,i=s8(s8(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new Nm(s,i)}}function s8(n,e){return new Map([...n||new Map,...e||new Map])}let cr,o8,a8,l8,c8,u8,d8,h8;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(cr||(cr={}));class fR{static isNull(e){return e&&e.typeId===cr.Null}static isInt(e){return e&&e.typeId===cr.Int}static isFloat(e){return e&&e.typeId===cr.Float}static isBinary(e){return e&&e.typeId===cr.Binary}static isUtf8(e){return e&&e.typeId===cr.Utf8}static isBool(e){return e&&e.typeId===cr.Bool}static isDecimal(e){return e&&e.typeId===cr.Decimal}static isDate(e){return e&&e.typeId===cr.Date}static isTime(e){return e&&e.typeId===cr.Time}static isTimestamp(e){return e&&e.typeId===cr.Timestamp}static isInterval(e){return e&&e.typeId===cr.Interval}static isList(e){return e&&e.typeId===cr.List}static isStruct(e){return e&&e.typeId===cr.Struct}static isUnion(e){return e&&e.typeId===cr.Union}static isFixedSizeBinary(e){return e&&e.typeId===cr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===cr.FixedSizeList}static isMap(e){return e&&e.typeId===cr.Map}static isDictionary(e){return e&&e.typeId===cr.Dictionary}get typeId(){return cr.NONE}compareTo(e){return this===e}}Symbol,Symbol,o8=Symbol.toStringTag;class Lm extends fR{constructor(e,t){super(),sn(this,"isSigned",void 0),sn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return cr.Int}get[o8](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class qbe extends Lm{constructor(){super(!0,8)}}class Ybe extends Lm{constructor(){super(!0,16)}}class Xbe extends Lm{constructor(){super(!0,32)}}class Kbe extends Lm{constructor(){super(!1,8)}}class Zbe extends Lm{constructor(){super(!1,16)}}class Qbe extends Lm{constructor(){super(!1,32)}}a8=Symbol.toStringTag;class f8 extends fR{constructor(e){super(),sn(this,"precision",void 0),this.precision=e}get typeId(){return cr.Float}get[a8](){return"Float"}toString(){return`Float${this.precision}`}}class Jbe extends f8{constructor(){super(32)}}class e0e extends f8{constructor(){super(64)}}Symbol,Symbol,l8=Symbol.toStringTag,c8=Symbol.toStringTag,u8=Symbol.toStringTag,d8=Symbol.toStringTag,h8=Symbol.toStringTag;class t0e extends fR{constructor(e,t){super(),sn(this,"listSize",void 0),sn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return cr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[h8](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class uM{constructor(e,t,i=!1,r=new Map){sn(this,"name",void 0),sn(this,"type",void 0),sn(this,"nullable",void 0),sn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new uM(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function p8(n,e,t){const i=t?g8(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new qbe;case Uint8Array:return new Kbe;case Int16Array:return new Ybe;case Uint16Array:return new Zbe;case Int32Array:return new Xbe;case Uint32Array:return new Qbe;case Float32Array:return new Jbe;case Float64Array:return new e0e;default:throw new Error("array type not supported")}}(e.value);return new uM(n,new t0e(e.size,new uM("value",r)),!1,i)}function g8(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const m8={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},s0e={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class a0e{constructor(e){sn(this,"draco",void 0),sn(this,"decoder",void 0),sn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?d:r,s=f>s?f:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),d=function(n,e,t){const i=g8(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=p8(o,n[o],s[o]);r.push(l)}if(t){const o=p8("indices",t);r.push(o)}return new Nm(r,i)}(l.attributes,a,l.indices);return Lt(K({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:d})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dM=ze(125);const _R={};function yR(n){return vR.apply(this,arguments)}function vR(){return(vR=yn(function*(n,e=null,t={}){return e&&(n=h0e(n,e,t)),_R[n]=_R[n]||f0e(n),yield _R[n]})).apply(this,arguments)}function h0e(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_P?t.CDN?(Qc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yP?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function f0e(n){return bR.apply(this,arguments)}function bR(){return(bR=yn(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_P?yP?importScripts(n):p0e(yield(yield fetch(n)).text(),n):dM.requireFromFile&&(yield dM.requireFromFile(n))})).apply(this,arguments)}function p0e(n,e){if(!_P)return dM.requireFromString&&dM.requireFromString(n,e);if(yP)return eval.call(yge,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const g0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",m0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",_0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let Ib;function v0e(n){return CR.apply(this,arguments)}function CR(){return(CR=yn(function*(n){const e=n.modules||{};return Ib=e.draco3d?Ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):Ib||b0e(n),yield Ib})).apply(this,arguments)}function b0e(n){return ER.apply(this,arguments)}function ER(){return(ER=yn(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield yR(g0e,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield yR(m0e,"draco",n),yield yR(_0e,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield C0e(e,t)})).apply(this,arguments)}function C0e(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Lt(K({},t),{onModuleLoaded:r=>i({draco:r})}))})}const MR=Lt(K({},r8),{parse:function(n,e){return xR.apply(this,arguments)}});function xR(){return(xR=yn(function*(n,e){const{draco:t}=yield v0e(e),i=new a0e(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function Rb(n,e){return sp(n>=0),sp(e>0),n+(e-1)&~(e-1)}function S0e(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+Rb(i.byteLength,4)}const _8=["SCALAR","VEC2","VEC3","VEC4"],M0e=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],x0e=new Map(M0e),T0e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},A0e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},D0e={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function y8(n){return _8[n-1]||_8[0]}function v8(n){const e=x0e.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function b8(n,e){const t=D0e[n.componentType],i=T0e[n.type],s=n.count*i,o=n.count*i*A0e[n.componentType];return Pa(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const O0e={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class vh{constructor(e){sn(this,"gltf",void 0),sn(this,"sourceBuffers",void 0),sn(this,"byteLength",void 0),this.gltf=e||{json:K({},O0e),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Pa(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=b8(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Pa(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Pa(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Pa(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:y8(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:v8(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=S0e(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*j0e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function U0e(n){return DR.apply(this,arguments)}function DR(){return(DR=yn(function*(n){const e=new vh(n),{json:t}=e;e.removeExtension(fM);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fM)})).apply(this,arguments)}function H0e(n){const e=new vh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fM,{}),e.addExtension(fM))}function $0e(n){return OR.apply(this,arguments)}function OR(){return(OR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(Bm);i&&(e.json.lights=i.lights,e.removeExtension(Bm));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,Bm);s&&(r.light=s.light),e.removeObjectExtension(r,Bm)}})).apply(this,arguments)}function G0e(n){return IR.apply(this,arguments)}function IR(){return(IR=yn(function*(n){const e=new vh(n),{json:t}=e;if(t.lights){const i=e.addExtension(Bm);Pa(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,Bm,i);delete e.json.lights}})).apply(this,arguments)}function W0e(n){return PR.apply(this,arguments)}function PR(){return(PR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(pM);if(i){const r=Y0e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,pM);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=X0e(s.technique,e)),e.removeObjectExtension(s,pM)}e.removeExtension(pM)}})).apply(this,arguments)}function q0e(n,e){return RR.apply(this,arguments)}function RR(){return(RR=yn(function*(n,e){})).apply(this,arguments)}function Y0e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function X0e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const E8={KHR_draco_mesh_compression:wt,KHR_materials_unlit:L,KHR_lights_punctual:It,KHR_techniques_webgl:Pt};function K0e(n){return kR.apply(this,arguments)}function kR(){return(kR=yn(function*(n,e={},t){for(const r in E8){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield E8[r].decode(n,e,t))}})).apply(this,arguments)}const S8={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Q0e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class J0e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new vh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,C8);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(C8)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in S8)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in S8)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=Q0e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function eCe(n,e={}){return(new J0e).normalize(n,e)}const tCe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nCe={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},bl={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},iCe={magFilter:bl.TEXTURE_MAG_FILTER,minFilter:bl.TEXTURE_MIN_FILTER,wrapS:bl.TEXTURE_WRAP_S,wrapT:bl.TEXTURE_WRAP_T},rCe={[bl.TEXTURE_MAG_FILTER]:bl.LINEAR,[bl.TEXTURE_MIN_FILTER]:bl.NEAREST_MIPMAP_LINEAR,[bl.TEXTURE_WRAP_S]:bl.REPEAT,[bl.TEXTURE_WRAP_]:bl.REPEAT};class aCe{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Pa(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=K({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=K({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=K({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=K({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=K({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=K({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=K({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return nCe[n]}(e.componentType),e.components=function(n){return tCe[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=b8(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):rCe,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return iCe[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function lCe(n,e){return(new aCe).postProcess(n,e)}const M8=1735152710,Vm=!0;function NR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),Rb(i,4)}function LR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),Rb(i,4)}function bCe(n,e){return BR.apply(this,arguments)}function BR(){return(BR=yn(function*(n,e,t=0,i,r){var s,o,a,l;CCe(n,e,t,i),eCe(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield wCe(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const f=ECe(n,i,r);c.push(f)}const d=K0e(n,i,r);return c.push(d),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?lCe(n,i):n})).apply(this,arguments)}function CCe(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=M8}=t,s=i.getUint32(e,!1);return s===r||s===M8}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?t8(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?t8(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,Vm),a=r.getUint32(t+8,Vm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){sp(n.header.byteLength>20);const i=e.getUint32(t+0,Vm),r=e.getUint32(t+4,Vm);return t+=8,sp(0===r),NR(n,e,t,i),(t+=i)+LR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return sp(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,Vm),s=e.getUint32(t+4,Vm);switch(t+=8,s){case 1313821514:NR(n,e,t,r);break;case 5130562:LR(n,e,t,r);break;case 0:i.strict||NR(n,e,t,r);break;case 1:i.strict||LR(n,e,t,r)}t+=Rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Pa("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Pa(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function wCe(n,e,t){return VR.apply(this,arguments)}function VR(){return(VR=yn(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield TCe(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function TCe(n){return $R.apply(this,arguments)}function $R(){return($R=yn(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const x8=[255,255,255,255],OCe={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:x8},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[zm]};let ICe=(()=>{class n extends Eb{getShaders(){const t=[oM,aM];return"pbr"===this.props._lighting&&t.push(G6),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:x8,transition:!0},instanceModelMatrix:U6})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof Fm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Lbe(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=K({gltf:l},c),function(n){return HR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(jn.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof Fm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&jn.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):jn.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof Fm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:K({isInstanced:!0,transpileToGLSL100:!In(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:d}=this.props,f=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(f),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:H6(s,d),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=OCe,n})();class PCe extends _h{constructor(e={}){const{id:t=ea("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,d=(e+1)*(t+1);if("number"==typeof i){const C=i;i=(w,x,N,V,U)=>C}const f=new Float32Array(3*d),p=new Float32Array(3*d),g=new Float32Array(2*d),y=new(d>65535?Uint32Array:Uint16Array)(e*t*6);for(let C=0;C<=e;C++)for(let w=0;w<=t;w++){const x=w/t,N=C/e,V=w+C*(t+1),U=2*V,ee=3*V,de=c*x,ae=o*N,me=Math.sin(de),Ee=Math.cos(de),Be=Math.sin(ae),ne=Ee*Be,Ie=Math.cos(ae),Q=me*Be,je=i(ne,Ie,Q,x,N);f[ee+0]=je*ne,f[ee+1]=je*Ie,f[ee+2]=je*Q,p[ee+0]=ne,p[ee+1]=Ie,p[ee+2]=Q,g[U+0]=x,g[U+1]=1-N}const v=t+1;for(let C=0;Cs?(te=i,Be=1,ne=t):ne=e+Ee/s*(t-e),(-2===Ee||Ee===s+2)&&(ne=0,Be=0),te-=i/2;for(let Ie=0;Ies?0:Q*y,ee[ae+V[1]]=Ee<0?-1:Ee>s?1:v,ee[ae+V[2]]=Ee<0||Ee>s?0:je*y,de[me+0]=Ie/r,de[me+1]=Be,me+=2,ae+=3}}for(let Ee=0;Ee0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new S){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new S){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new S){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new S){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new S){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=GCe,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=WCe;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(A8),A8.almostEquals(e,t)}clone(){return new S(this.x,this.y,this.z)}}S.ZERO=void 0,S.UNIT_X=void 0,S.UNIT_Y=void 0,S.UNIT_Z=void 0,S.ZERO=new S(0,0,0),S.UNIT_X=new S(1,0,0),S.UNIT_Y=new S(0,1,0),S.UNIT_Z=new S(0,0,1);const GCe=new S,WCe=new S,A8=new S;class Di{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new S,this.upperBound=new S,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,d=this.upperBound;e.copy(c),t.set(d.x,c.y,c.z),i.set(d.x,d.y,c.z),r.set(c.x,d.y,d.z),s.set(d.x,c.y,d.z),o.set(c.x,d.y,c.z),a.set(c.x,c.y,d.z),l.copy(d)}toLocalFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,d=(this.upperBound.y-i.y)*s,f=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,d)),Math.min(f,p)),_=Math.min(Math.min(Math.max(a,l),Math.max(c,d)),Math.max(f,p));return!(_<0||g>_)}}const D8=new S,O8=[new S,new S,new S,new S,new S,new S,new S,new S];class kr{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new S){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=YCe;e.tangents(i,XCe),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Ui(e.length(),2)*Ui(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new kr){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,d=e.w;return t.x=i*d+o*a+r*c-s*l,t.y=r*d+o*l+s*a-i*c,t.z=s*d+o*c+i*l-r*a,t.w=o*d-i*a-r*l-s*c,t}inverse(e=new kr){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new kr){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new S){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=d*c+g*-o+f*-l-p*-a,t.y=f*c+g*-a+p*-o-d*-l,t.z=p*c+g*-l+d*-a-f*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const d=o*a+l*c;if(d>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),d<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const f=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*d),s=Math.atan2(2*o*c-2*a*l,1-2*f-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),d=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"YXZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"ZXY"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"ZYX"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"YZX"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a-l*c*d):"XZY"===r&&(this.x=l*o*a-s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a+l*c*d),this}clone(){return new kr(this.x,this.y,this.z,this.w)}slerp(e,t,i=new kr){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,_,y,v,l=e.x,c=e.y,d=e.z,f=e.w;return g=r*l+s*c+o*d+a*f,g<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>1e-6?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-t)*p)/_,v=Math.sin(t*p)/_):(y=1-t,v=t),i.x=y*r+v*l,i.y=y*s+v*c,i.z=y*o+v*d,i.w=y*a+v*f,i}integrate(e,t,i,r=new kr){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,d=this.z,f=this.w,p=.5*t;return r.x+=p*(s*f+o*d-a*c),r.y+=p*(o*f+a*l-s*d),r.z+=p*(a*f+s*c-o*l),r.w+=p*(-s*l-o*c-a*d),r}}const YCe=new S,XCe=new S,KCe={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let bt=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=KCe,n})();class ni{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new S,this.quaternion=new kr,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return ni.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return ni.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new S){return i.vsub(e,r),t.conjugate(P8),P8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new S){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new S){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new S){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const P8=new kr;class lp extends bt{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:bt.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new S;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let d=!1;for(let f=0;f!==i.length;f++)if(i[f].almostEquals(r)||i[f].almostEquals(r)){d=!0;break}d||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=y,f=_)}const g=[];for(let _=0;_=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new S,d=new S,f=new S,p=new S,g=new S,_=new S;let y=Number.MAX_VALUE;const v=this;if(v.uniqueAxes)for(let C=0;C!==v.uniqueAxes.length;C++){i.vmult(v.uniqueAxes[C],c);const w=v.testSepAxis(c,e,t,i,r,s);if(!1===w)return!1;w0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){lp.project(this,e,i,r,GR),lp.project(t,e,s,o,WR);const l=GR[0],c=GR[1],d=WR[0],f=WR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?Ct.STATIC:Ct.DYNAMIC,typeof e.type==typeof Ct.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=Ct.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new S,this.quaternion=new kr,this.initQuaternion=new kr,this.previousQuaternion=new kr,this.interpolatedQuaternion=new kr,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new S,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new S,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new S,this.invInertia=new S,this.invInertiaWorld=new ru,this.invMassSolve=0,this.invInertiaSolve=new S,this.invInertiaWorldSolve=new ru,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new S(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new S(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new Di,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new S,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=Ct.AWAKE,this.wakeUpAfterNarrowphase=!1,e===Ct.SLEEPING&&this.dispatchEvent(Ct.wakeupEvent)}sleep(){this.sleepState=Ct.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Ui(this.sleepSpeedLimit,2);t===Ct.AWAKE&&ir?this.wakeUp():t===Ct.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(Ct.sleepEvent))}}updateSolveMassProperties(){this.sleepState===Ct.SLEEPING||this.type===Ct.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new S){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new S){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new S,s=new kr;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=JCe,o=ewe,a=this.quaternion,l=this.aabb,c=twe;for(let d=0;d!==r;d++){const f=e[d];a.vmult(t[d],s),s.vadd(this.position,s),a.mult(i[d],o),f.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===d?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=nwe,r=iwe;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=rwe;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=swe,r=owe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===Ct.DYNAMIC&&(this.sleepState===Ct.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=t,r=awe;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=lwe;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=cwe,r=uwe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=dwe;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mM.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new S;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==Ct.DYNAMIC&&this.type!==Ct.KINEMATIC||this.sleepState===Ct.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,f=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const _=f.elements,y=this.angularFactor,v=l.x*y.x,C=l.y*y.y,w=l.z*y.z;s.x+=e*(_[0]*v+_[1]*C+_[2]*w),s.y+=e*(_[3]*v+_[4]*C+_[5]*w),s.z+=e*(_[6]*v+_[7]*C+_[8]*w),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}Ct.idCounter=0,Ct.COLLIDE_EVENT_NAME="collide",Ct.DYNAMIC=1,Ct.STATIC=2,Ct.KINEMATIC=4,Ct.AWAKE=0,Ct.SLEEPY=1,Ct.SLEEPING=2,Ct.wakeupEvent={type:"wakeup"},Ct.sleepyEvent={type:"sleepy"},Ct.sleepEvent={type:"sleep"};const JCe=new S,ewe=new kr,twe=new Di,nwe=new ru,iwe=new ru,rwe=new S,swe=new S,owe=new S,awe=new S,lwe=new S,cwe=new S,uwe=new S,dwe=new S;new S,new S;class _M{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new S,this.rayToWorld=new S,this.hitNormalWorld=new S,this.hitPointWorld=new S,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let R8,k8,F8,N8,L8,B8,V8;R8=bt.types.SPHERE,k8=bt.types.PLANE,F8=bt.types.BOX,N8=bt.types.CYLINDER,L8=bt.types.CONVEXPOLYHEDRON,B8=bt.types.HEIGHTFIELD,V8=bt.types.TRIMESH;class Hr{get[R8](){return this._intersectSphere}get[k8](){return this._intersectPlane}get[F8](){return this._intersectBox}get[N8](){return this._intersectConvex}get[L8](){return this._intersectConvex}get[B8](){return this._intersectHeightfield}get[V8](){return this._intersectTrimesh}constructor(e=new S,t=new S){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new S,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=Hr.ANY,this.result=new _M,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||Hr.ANY,this.result=t.result||new _M,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(z8),KR.length=0,e.broadphase.aabbQuery(e,z8,KR),this.intersectBodies(KR),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=ywe,s=vwe;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new S(0,0,1);t.vmult(c,c);const d=new S;o.vsub(i,d);const f=d.dot(c);if(a.vsub(i,d),f*d.dot(c)>0||o.distanceTo(a)=0&&y<=1&&(o.lerp(a,y,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Swe,l=U8,c=o&&o.faceList||null,d=e.faces,f=e.vertices,p=e.faceNormals,g=this.direction,_=this.from,v=_.distanceTo(this.to),C=c?c.length:d.length,w=this.result;for(let x=0;!w.shouldStop&&xv||this.reportIntersection(a,ra,s,r,N)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Mwe,l=Iwe,c=Pwe,d=U8,f=xwe,p=Twe,g=Awe,_=Owe,y=Dwe,v=e.indices,C=this.from,w=this.to,x=this.direction;c.position.copy(i),c.quaternion.copy(t),ni.vectorToLocalFrame(i,t,x,f),ni.pointToLocalFrame(i,t,C,p),ni.pointToLocalFrame(i,t,w,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,f),f.normalize();const N=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let V=0,U=l.length;!this.result.shouldStop&&V!==U;V++){const ee=l[V];e.getNormal(ee,a),e.getVertex(v[3*ee],cc),cc.vsub(p,d);const de=f.dot(a),ae=a.dot(d)/de;if(ae<0)continue;f.scale(ae,ra),ra.vadd(p,ra),e.getVertex(v[3*ee+1],ou),e.getVertex(v[3*ee+2],au);const me=ra.distanceSquared(p);!Hr.pointInTriangle(ra,ou,cc,au)&&!Hr.pointInTriangle(ra,cc,ou,au)||me>N||(ni.vectorToWorldFrame(t,a,y),ni.pointToWorldFrame(i,t,ra,_),this.reportIntersection(y,_,s,r,ee))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case Hr.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case Hr.CLOSEST:(l=0&&(f=s*c-o*a)>=0&&d+fDate.now()-n}var lu=ze(517);function $m(n,e,t){e||(e=new $t($t.IDENTITY));const i=new $t($t.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new $t($t.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new $t(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===$m(s,r,t))return!1;return!0}function R$(){vH([r8,zm])}function k$(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||$m(s,new $t($t.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function ek(n,e){return yl(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,zm,{DracoLoader:MR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),k$(n.scenegraphNode,r)})}function RMe(n,e){return yl(this,void 0,void 0,function*(){return k$(n,yield e)})}function tk(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new PCe;break;case"cone":i=new NCe;break;case"cylinder":i=new LCe;break;case"cube":default:i=new HCe}return new nbe(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:qn.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function F$(n,e,t){if(e&&0!==e.length)return new Wve(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new $t(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let FMe=(()=>{class n extends MH{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),R$()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=ek({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const d of c)a.push(new ICe({id:"models-"+d["@id"],opacity:d.zoomBasedOpacity?r.zoomOpacity:void 0!==d.opacity?d.opacity:1,pickable:!d.unpickable,coordinateSystem:qn.CARTESIAN,data:[d],scenegraph:d.scenegraphNode?RMe(d.scenegraphNode,o[d.scenegraph]):d.scenegraph,_lighting:d._lighting,getTransformMatrix:d.transformMatrix,getColor:null!==(i=d.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!d.zoomBasedOpacity&&(void 0===d.opacity||1===d.opacity)}}));else"text"===l?(a.push(F$("text",c.filter(d=>d.unpickable),{pickable:!1})),a.push(F$("textPickable",c.filter(d=>!d.unpickable),{pickable:!0}))):"wireframe"===l?a.push(tk(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(tk(l,c.filter(d=>d.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(tk(`${l}Pickable`,c.filter(d=>!d.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){yl(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new $t(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new Di({lowerBound:new S(...l.map((d,f)=>Math.min(d,c[f]))),upperBound:new S(...c.map((d,f)=>Math.max(d,l[f])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield wb(o.scenegraph,zm,{DracoLoader:MR,decompress:!0,postProcess:!0});for(const l of a.scenes)$m(l,new $t(o.transformMatrix),(c,d)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const f of c.mesh.primitives)if(f.attributes.POSITION&&f.attributes.POSITION.min){const p=d.transformAsPoint(f.attributes.POSITION.min,[]),g=d.transformAsPoint(f.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new Di({lowerBound:new S(...p.map((_,y)=>Math.min(_,g[y]))),upperBound:new S(...g.map((_,y)=>Math.max(_,p[y])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function N$(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),N$(t,e);return e}let LMe=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new FMe({}),this.nodeClickSubject=new Se,this.nodeHoverStartSubject=new Se,this.nodeHoverStopSubject=new Se,this.sceneRotationSubject=new ar([0,0]),this.nodeDragStartSubject=new Se,this.nodeDragSubject=new Se,this.nodeDragEndSubject=new Se,this.nodeClick$=this.nodeClickSubject.pipe(Vs()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Vs()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Vs()),this.sceneRotation$=this.sceneRotationSubject.pipe(Vs()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Vs()),this.nodeDrag$=this.nodeDragSubject.pipe(Vs()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Vs());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Ame({flipY:!1,near:-1e3}):new Ime({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var d;return null!==(d=this.cursor)&&void 0!==d?d:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GP({ambientLight:new OH({color:[255,255,255],intensity:10})})]),this.deck=new sM(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return yl(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new $t([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return yl(this,void 0,void 0,function*(){R$();const i=yield ek({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)$m(o,e=new $t(e||$t.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new $t(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new $t(e||$t.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const d of a.mesh.primitives)if(d.attributes.POSITION&&d.attributes.POSITION.min){const f=l.transformAsPoint(d.attributes.POSITION.min,[]),p=l.transformAsPoint(d.attributes.POSITION.max,[]);c.bbox=new Di({lowerBound:new S(...f.map((g,_)=>Math.min(g,p[_]))),upperBound:new S(...p.map((g,_)=>Math.max(g,f[_])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of N$(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,d=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new S(.5,.5,.5)),f=o.center=a.clone().vadd(d);o.transformMatrix=new $t($t.IDENTITY).translate(f.toArray()).scale(d.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new $t(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return xe([lu.ZP],n.prototype,"_onHover",null),xe([lu.ZP],n.prototype,"_onClick",null),xe([lu.ZP],n.prototype,"_onViewStateChange",null),xe([lu.ZP],n.prototype,"_onDragStart",null),xe([lu.ZP],n.prototype,"_onDrag",null),xe([lu.ZP],n.prototype,"_onDragEnd",null),n})();function BMe(n,e){return n===e}function VMe(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let nk=(()=>{class n{constructor(){this.bootstrap$=new If(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const ik=new ve("INITIAL_STATE_TOKEN");let UMe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const L$=new ve("Internals.StateContextFactory"),B$=new ve("Internals.StateFactory");function V$(n,e){return e?t=>t.pipe(V$((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new HMe(n))}class HMe{constructor(e){this.project=e}call(e,t){return t.subscribe(new $Me(e,this.project))}}class $Me extends ii{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new Gr(this),i=this.destination;i.add(t);const r=co(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function TM(n=null){return e=>e.lift(new GMe(n))}class GMe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new WMe(e,this.defaultValue))}}class WMe extends xt{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const Ra={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let z$=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return kD(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return dt.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return dt.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof dt||console.warn(Ra.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const j$=new ve("ROOT_STATE_TOKEN"),U$=new ve("FEATURE_STATE_TOKEN"),rk=new ve("NGXS_PLUGINS"),H$=new ve("NG_TEST_MODE"),G$=new ve("NG_DEV_MODE"),ld="NGXS_META",W$="NGXS_OPTIONS_META",sk="NGXS_SELECTOR_META";let fp=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=z$}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class qMe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const q$=new ve("NGXS_EXECUTION_STRATEGY");function pp(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const ok=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Gm=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),ak=n=>n&&"object"==typeof n&&!Array.isArray(n),lk=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(ak(n)&&ak(t))for(const i in t)ak(t[i])?(n[i]||Object.assign(n,{[i]:{}}),lk(n[i],t[i])):Object.assign(n,{[i]:t[i]});return lk(n,...e)};function ck(n){if(!n.hasOwnProperty(ld)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ld,{value:e})}return jb(n)}function jb(n){return n[ld]}function uk(n){return n.hasOwnProperty(sk)||Object.defineProperty(n,sk,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),dk(n)}function dk(n){return n[sk]}function Y$(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[pp(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Fn(t=>{const i=pp(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function sxe(){return Ae(n=>n.action)}function AM(n){return e=>new ce(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let DM=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(I(q$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class lxe extends Se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let OM=(()=>{class n extends lxe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cxe=(()=>{class n extends ce{constructor(t,i){super(r=>{const s=t.pipe(AM(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(I(OM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const K$=n=>(...e)=>n.shift()(...e,(...i)=>K$(n)(...i));let IM=(()=>{class n extends ar{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),hk=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(I(n,12),I(rk,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),fk=(()=>{class n extends Se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Z$=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get($o),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(AM(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?ht(this._stateStream.getValue()):Hv(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!pp(t))return Kg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return K$([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(qc())}getActionResultStream(t){return this._actionResults.pipe(Fn(i=>i.action===t&&"DISPATCHED"!==i.status),yi(1),qc())}createDispatchObservable(t){return t.pipe(V$(i=>{switch(i.status){case"SUCCESSFUL":return ht(this._stateStream.getValue());case"ERRORED":return Kg(i.error);default:return ec}})).pipe(qc())}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(OM),I(fk),I(hk),I(IM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Q$=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&Q$(n[i])}),n};let J$=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(I(G$),I(H$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),eG=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Ra.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Ra.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(I(J$),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),qm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=Q$(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(Z$),I(fp),I(eG))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),PM=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Gm(l,t.path)}function s(l,c){const d=ok(l,t.path,c),f=t.instance;if(f.ngxsOnChanges){const p=X$(t,{currentAppState:l,newAppState:d});f.ngxsOnChanges(p)}return i.setState(d),d}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Ra.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Ra.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(I(qm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class RM{static stateNameErrorMessage(e){return Ra.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Ra.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Ra.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=jb(e);if(!t)throw new Error(Ra.STATE_DECORATOR());return t}}RM.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Ym=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xM(()=>{const c=this;function d(p){const g=c.statePaths[p];return g?Y$(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=d(p);return g||((..._)=>(g||(g=d(p)),g?g(..._):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(RM.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[ld].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[ld];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[ld].name]=t,e),{})}(i),l=[];for(const c of s){const d=a[c],f=o[c],p=d[ld];this.addRuntimeInfoToMeta(p,f);const g={name:c,path:f,isInitialised:!1,actions:p.actions,instance:this._injector.get(d),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,f)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>ok(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Fn(t=>"DISPATCHED"===t.status),di(({action:t})=>this.invokeActions(this._actions,t).pipe(Ae(()=>({action:t,status:"SUCCESSFUL"})),TM({action:t,status:"CANCELED"}),Ta(i=>ht({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=pp(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let d=o.instance[l.fn](c,i);d instanceof Promise&&(d=ui(d)),d instanceof ce?(d=d.pipe(TM({})),l.options.cancelUncompleted&&(d=d.pipe(Tn(t.pipe(nxe(i)))))):d=ht({}).pipe(qc()),s.push(d)}catch(d){s.push(Kg(d))}}}return s.length||s.push(ht({})),Hv(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=RM.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Gm(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(fp),I(n,12),I(OM),I(fk),I(PM),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),pk=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Fn(()=>!!i),Ti(()=>this.invokeInit(i.states)),di(()=>this.bootstrapper.appBootstrapped$),Fn(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=X$(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(I(qm),I(PM),I(nk))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const kM_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function nG(n){const e=dk(n)||jb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(Ae(i),Ta(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?ht(void 0):Kg(r)}),Zo(),AM(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(AM(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return nG(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(qm),I(fp),I(DM),I(Ym),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Ub=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class iG{static get type(){return"@@INIT"}}class rG{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const FM=new If(1);let _xe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Mo();FM.next(t)}catch(n){FM.next(!1)}finally{FM.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new iG,l)}}return n.\u0275fac=function(t){return new(t||n)(I(Ym),I(qm),I(cu),I(Ub),I(j$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),yxe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new rG(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(qm),I(Ym),I(U$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();class Io{static forRoot(e=[],t={}){return{ngModule:_xe,providers:[Ym,PM,cxe,OM,nk,eG,J$,pk,Z$,fk,qm,DM,cu,IM,Ub,hk,...e,...Io.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:yxe,providers:[Ym,hk,...e,{provide:U$,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:H$,useValue:jMe},{provide:G$,useValue:Mo},{provide:q$,useClass:t.executionStrategy||z$},{provide:j$,useValue:e},{provide:Io.ROOT_OPTIONS,useValue:t},{provide:fp,useFactory:Io.ngxsConfigFactory,deps:[Io.ROOT_OPTIONS]},{provide:bv,useFactory:Io.appBootstrapListenerFactory,multi:!0,deps:[nk]},{provide:ik,useFactory:Io.getInitialState},{provide:L$,useExisting:PM},{provide:B$,useExisting:Ym}]}static ngxsConfigFactory(e){return lk(new fp,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return UMe.pop()}}function gk(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Ra.ACTION_DECORATOR());const s=ck(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function cd(n){return i=>{!function(n){FM.subscribe(e=>{e&&(n.\u0275prov||console.warn(Ra.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=ck(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[W$]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,d="string"==typeof c?c:c&&c.getName()||null;RM.checkCorrectStateName(d),s.hasOwnProperty(ld)&&(r.actions=Object.assign({},r.actions,(s[ld]||{}).actions)),r.children=a,r.defaults=l,r.name=d})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[W$]=a}}function NM(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?Y$(t.length?[e,...t]:e.split("."),Ub.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!Ub.store)throw new Error(Ra.SELECT_FACTORY_NOT_CONNECTED());return Ub.store.select(n)}(o))}}})}}function Xm(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Ra.SELECTOR_DECORATOR());const s=i.value,o=function(n,e,t){const i=t&&t.containerClass,s=xM(function(...c){const d=e.apply(i,c);return d instanceof Function?xM.apply(null,[d]):d});Object.setPrototypeOf(s,e);const o=function(n,e){const t=uk(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kM_getOptions(n.containerClass)||{},kM_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:d}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&jb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>nG(a)(n))}}(l,o,n);return function(p){const g=c.map(_=>_(p));try{return s(...g)}catch(_){if(_ instanceof TypeError&&d.suppressErrors)return;throw _}}},s}(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Io.\u0275fac=function(e){return new(e||Io)},Io.\u0275mod=Pe({type:Io}),Io.\u0275inj=Me({}),Io.ROOT_OPTIONS=new ve("ROOT_OPTIONS");let sG=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt))},n.\u0275dir=oe({type:n}),n})(),gp=(()=>{class n extends sG{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();const ro=new ve("NgValueAccessor"),xxe={provide:ro,useExisting:T(()=>Hb),multi:!0},Axe=new ve("CompositionEventMode");let Hb=(()=>{class n extends sG{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=Uc()?Uc().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt),E(Axe,8))},n.\u0275dir=oe({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Dt([xxe]),ct]}),n})();function Ch(n){return null==n||0===n.length}function aG(n){return null!=n&&"number"==typeof n.length}const Ss=new ve("NgValidators"),wh=new ve("NgAsyncValidators"),Dxe=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class lG{static min(e){return function(n){return e=>{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t>n?{max:{max:n,actual:e.value}}:null}}(e)}static required(e){return function(n){return Ch(n.value)?{required:!0}:null}(e)}static requiredTrue(e){return function(n){return!0===n.value?null:{required:!0}}(e)}static email(e){return function(n){return Ch(n.value)||Dxe.test(n.value)?null:{email:!0}}(e)}static minLength(e){return function(n){return e=>Ch(e.value)||!aG(e.value)?null:e.value.lengthaG(e.value)&&e.value.length>n?{maxlength:{requiredLength:n,actualLength:e.value.length}}:null}(e)}static pattern(e){return function(n){if(!n)return Eh;let e,t;return"string"==typeof n?(t="","^"!==n.charAt(0)&&(t+="^"),t+=n,"$"!==n.charAt(n.length-1)&&(t+="$"),e=new RegExp(t)):(t=n.toString(),e=n),i=>{if(Ch(i.value))return null;const r=i.value;return e.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}(e)}static nullValidator(e){return null}static compose(e){return wG(e)}static composeAsync(e){return EG(e)}}function Eh(n){return null}function _G(n){return null!=n}function yG(n){const e=Og(n)?ui(n):n;return xw(e),e}function vG(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function bG(n,e){return e.map(t=>t(n))}function CG(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function wG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return vG(bG(t,e))}}function mk(n){return null!=n?wG(CG(n)):null}function EG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return Hv(bG(t,e).map(yG)).pipe(Ae(vG))}}function _k(n){return null!=n?EG(CG(n)):null}function SG(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function MG(n){return n._rawValidators}function xG(n){return n._rawAsyncValidators}function yk(n){return n?Array.isArray(n)?n:[n]:[]}function LM(n,e){return Array.isArray(n)?n.includes(e):n===e}function TG(n,e){const t=yk(e);return yk(n).forEach(r=>{LM(t,r)||t.push(r)}),t}function AG(n,e){return yk(e).filter(t=>!LM(n,t))}let DG=(()=>{class n{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=mk(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_k(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})(),Po=(()=>{class n extends DG{get formDirective(){return null}get path(){return null}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();class uc extends DG{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let vk=(()=>{class n extends class{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(E(uc,2))},n.\u0275dir=oe({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&st("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[ct]}),n})();function $b(n,e){wk(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&PG(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&PG(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function zM(n,e,t=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),UM(n,e),n&&(e._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function jM(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function wk(n,e){const t=MG(n);null!==e.validator?n.setValidators(SG(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=xG(n);null!==e.asyncValidator?n.setAsyncValidators(SG(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();jM(e._rawValidators,r),jM(e._rawAsyncValidators,r)}function UM(n,e){let t=!1;if(null!==n){if(null!==e.validator){const r=MG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.validator);s.length!==r.length&&(t=!0,n.setValidators(s))}}if(null!==e.asyncValidator){const r=xG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.asyncValidator);s.length!==r.length&&(t=!0,n.setAsyncValidators(s))}}}const i=()=>{};return jM(e._rawValidators,i),jM(e._rawAsyncValidators,i),t}function PG(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function RG(n,e){wk(n,e)}function Ek(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}function kG(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Sk(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===Hb?t=s:function(n){return Object.getPrototypeOf(n.constructor)===gp}(s)?i=s:r=s}),r||i||t||null}function HM(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Gb="VALID",$M="INVALID",Km="PENDING",Wb="DISABLED";function Mk(n){return(Tk(n)?n.validators:n)||null}function FG(n){return Array.isArray(n)?mk(n):n||null}function xk(n,e){return(Tk(e)?e.asyncValidators:n)||null}function NG(n){return Array.isArray(n)?_k(n):n||null}function Tk(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Ak{constructor(e,t){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=FG(this._rawValidators),this._composedAsyncValidatorFn=NG(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Gb}get invalid(){return this.status===$M}get pending(){return this.status==Km}get disabled(){return this.status===Wb}get enabled(){return this.status!==Wb}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=FG(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=NG(e)}addValidators(e){this.setValidators(TG(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(TG(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(AG(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(AG(e,this._rawAsyncValidators))}hasValidator(e){return LM(this._rawValidators,e)}hasAsyncValidator(e){return LM(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=Km,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Wb,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Gb,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Gb||this.status===Km)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Wb:Gb}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=Km,this._hasOwnPendingAsyncValidator=!0;const t=yG(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Dk?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof Uxe&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Le,this.statusChanges=new Le}_calculateStatus(){return this._allControlsDisabled()?Wb:this.errors?$M:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Km)?Km:this._anyControlsHaveStatus($M)?$M:Gb}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Tk(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class Sh extends Ak{constructor(e=null,t,i){super(Mk(t),xk(i,t)),this._onChange=[],this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){HM(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){HM(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Dk extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof Sh?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class Uxe extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof Sh?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const Hxe={provide:Po,useExisting:T(()=>mp)},qb=(()=>Promise.resolve(null))();let mp=(()=>{class n extends Po{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Le,this.form=new Dk({},mk(t),_k(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){qb.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),$b(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),HM(this._directives,t)})}addFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path),r=new Dk({});RG(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){qb.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,kG(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Hxe]),ct]}),n})();const Gxe={provide:uc,useExisting:T(()=>Ok)},VG=(()=>Promise.resolve(null))();let Ok=(()=>{class n extends uc{constructor(t,i,r,s){super(),this.control=new Sh,this._registered=!1,this.update=new Le,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Sk(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),Ek(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$b(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){VG.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;VG.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(E(Po,9),E(Ss,10),E(wh,10),E(ro,10))},n.\u0275dir=oe({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Dt([Gxe]),ct,zn]}),n})(),UG=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Ik=new ve("NgModelWithFormControlWarning"),Kxe={provide:uc,useExisting:T(()=>GM)};let GM=(()=>{class n extends uc{constructor(t,i,r,s){super(),this._ngModelWarningConfig=s,this.update=new Le,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(i),this.valueAccessor=Sk(0,r)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const i=t.form.previousValue;i&&zM(i,this,!1),$b(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}Ek(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&zM(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10),E(ro,10),E(Ik,8))},n.\u0275dir=oe({type:n,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Dt([Kxe]),ct,zn]}),n._ngModelWarningSentOnce=!1,n})();const Zxe={provide:Po,useExisting:T(()=>Zm)};let Zm=(()=>{class n extends Po{constructor(t,i){super(),this.validators=t,this.asyncValidators=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Le,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(UM(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const i=this.form.get(t.path);return $b(i,t),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){zM(t.control||null,t,!1),HM(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this.submitted=!0,kG(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const i=t.control,r=this.form.get(t.path);i!==r&&(zM(i||null,t),r instanceof Sh&&($b(r,t),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const i=this.form.get(t.path);RG(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const i=this.form.get(t.path);i&&function(n,e){return UM(n,e)}(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wk(this.form,this),this._oldForm&&UM(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["","formGroup",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Zxe]),ct,zn]}),n})(),iW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[UG]]}),n})(),Lk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})(),Bk=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Ik,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})();function Yb(n){return new ce(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?ui(t):bE()).subscribe(e)})}function Vk(n,e=Pf){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new m1e(i,e))}class m1e{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new zk(e,this.delay,this.scheduler))}}class zk extends xt{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(zk.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new _1e(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(Ko.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(Ko.createComplete()),this.unsubscribe()}}class _1e{constructor(e,t){this.time=e,this.notification=t}}const aW=tm({passive:!0});let lW=(()=>{class n{constructor(t,i){this._platform=t,this._ngZone=i,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return ec;const i=Wu(t),r=this._monitoredElements.get(i);if(r)return r.subject;const s=new Se,o="cdk-text-field-autofilled",a=l=>{"cdk-text-field-autofill-start"!==l.animationName||i.classList.contains(o)?"cdk-text-field-autofill-end"===l.animationName&&i.classList.contains(o)&&(i.classList.remove(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!1}))):(i.classList.add(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,aW),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",a,aW)}}),s}stopMonitoring(t){const i=Wu(t),r=this._monitoredElements.get(i);r&&(r.unlisten(),r.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((t,i)=>this.stopMonitoring(i))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt))},token:n,providedIn:"root"}),n})(),cW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv]]}),n})();const k1e=new ve("MAT_INPUT_VALUE_ACCESSOR"),F1e=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let N1e=0;const L1e=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let Xb=(()=>{class n extends L1e{constructor(t,i,r,s,o,a,l,c,d,f){super(a,s,o,r),this._elementRef=t,this._platform=i,this._autofillMonitor=c,this._formField=f,this._uid="mat-input-"+N1e++,this.focused=!1,this.stateChanges=new Se,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(_=>xV().has(_));const p=this._elementRef.nativeElement,g=p.nodeName.toLowerCase();this._inputValueAccessor=l||p,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&d.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",_=>{const y=_.target;!y.value&&0===y.selectionStart&&0===y.selectionEnd&&(y.setSelectionRange(1,1),y.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===g,this._isTextarea="textarea"===g,this._isInFormField=!!f,this._isNativeSelect&&(this.controlType=p.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=Mt(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&xV().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=Mt(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,i;const r=(null===(i=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===i?void 0:i.call(t))?null:this.placeholder;if(r!==this._previousPlaceholder){const s=this._elementRef.nativeElement;this._previousPlaceholder=r,r?s.setAttribute("placeholder",r):s.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){F1e.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,i=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(si),E(uc,10),E(mp,8),E(Zm,8),E(Vv),E(k1e,10),E(lW),E(dt),E(nS,8))},n.\u0275dir=oe({type:n,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&t&&(al("disabled",i.disabled)("required",i.required),nn("id",i.id)("data-placeholder",i.placeholder)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required),st("mat-input-server",i._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Dt([{provide:jv,useExisting:n}]),ct,zn]}),n})(),Kb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv],imports:[[cW,Uv,On],cW,Uv]}),n})();function ur(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>Ae(function(n,e){return i=>{let r=i;for(let s=0;si.lift(new U1e(n,e,t.leading,t.trailing))}class U1e{constructor(e,t,i,r){this.duration=e,this.scheduler=t,this.leading=i,this.trailing=r}call(e,t){return t.subscribe(new H1e(e,this.duration,this.scheduler,this.leading,this.trailing))}}class H1e extends xt{constructor(e,t,i,r,s){super(e),this.duration=t,this.scheduler=i,this.leading=r,this.trailing=s,this._hasTrailingValue=!1,this._trailingValue=null}_next(e){this.throttled?this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule($1e,this.duration,{subscriber:this})),this.leading?this.destination.next(e):this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0))}_complete(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()}clearThrottle(){const e=this.throttled;e&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),e.unsubscribe(),this.remove(e),this.throttled=null)}}function $1e(n){const{subscriber:e}=n;e.clearThrottle()}var hW=ze(266);const G1e={tooltipState:tc("state",[wr("initial, void, hidden",ti({opacity:0,transform:"scale(0)"})),wr("visible",ti({transform:"scale(1)"})),Qs("* => visible",Ao("200ms cubic-bezier(0, 0, 0.2, 1)",zie([ti({opacity:0,transform:"scale(0)",offset:0}),ti({opacity:.5,transform:"scale(0.99)",offset:.5}),ti({opacity:1,transform:"scale(1)",offset:1})]))),Qs("* => hidden",Ao("100ms cubic-bezier(0, 0, 0.2, 1)",ti({opacity:0})))])},fW="tooltip-panel",pW=tm({passive:!0}),gW=new ve("mat-tooltip-scroll-strategy"),X1e={provide:gW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition({scrollThrottle:20})}},K1e=new ve("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let Q1e=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p,g){this._overlay=t,this._elementRef=i,this._scrollDispatcher=r,this._viewContainerRef=s,this._ngZone=o,this._platform=a,this._ariaDescriber=l,this._focusMonitor=c,this._dir=f,this._defaultOptions=p,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new Se,this._handleKeydown=_=>{this._isTooltipVisible()&&27===_.keyCode&&!Zs(_)&&(_.preventDefault(),_.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=d,this._document=g,p&&(p.position&&(this.position=p.position),p.touchGestures&&(this.touchGestures=p.touchGestures)),f.change.pipe(Tn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),o.runOutsideAngular(()=>{i.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var i;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(i=this._tooltipInstance)||void 0===i||i.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Tn(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([i,r])=>{t.removeEventListener(i,r,pW)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const i=this._createOverlay();this._detach(),this._portal=this._portal||new dm(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=i.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),i=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return i.positionChanges.pipe(Tn(this._destroyed)).subscribe(r=>{this._updateCurrentPositionClass(r.connectionPair),this._tooltipInstance&&r.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:i,panelClass:`${this._cssClassPrefix}-${fW}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Tn(this._destroyed)).subscribe(()=>{var r;return null===(r=this._tooltipInstance)||void 0===r?void 0:r._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const i=t.getConfig().positionStrategy,r=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset(Object.assign(Object.assign({},r.main),s.main)),this._addOffset(Object.assign(Object.assign({},r.fallback),s.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i||"below"==i?r={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={originX:"start",originY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={originX:"end",originY:"center"});const{x:s,y:o}=this._invertPosition(r.originX,r.originY);return{main:r,fallback:{originX:s,originY:o}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i?r={overlayX:"center",overlayY:"bottom"}:"below"==i?r={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={overlayX:"start",overlayY:"center"});const{x:s,y:o}=this._invertPosition(r.overlayX,r.overlayY);return{main:r,fallback:{overlayX:s,overlayY:o}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(yi(1),Tn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:i}}_updateCurrentPositionClass(t){const{overlayY:i,originX:r,originY:s}=t;let o;if(o="center"===i?this._dir&&"rtl"===this._dir.value?"end"===r?"left":"right":"start"===r?"left":"right":"bottom"===i&&"top"===s?"above":"below",o!==this._currentPosition){const a=this._overlayRef;if(a){const l=`${this._cssClassPrefix}-${fW}-`;a.removePanelClass(l+this._currentPosition),a.addPanelClass(l+o)}this._currentPosition=o}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",i],["touchcancel",i])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([i,r])=>{this._elementRef.nativeElement.addEventListener(i,r,pW)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(t.clientX,t.clientY),r=this._elementRef.nativeElement;i!==r&&!r.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const i=this._elementRef.nativeElement,r=i.style;("on"===t||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(r.userSelect=r.msUserSelect=r.webkitUserSelect=r.MozUserSelect="none"),("on"===t||!i.draggable)&&(r.webkitUserDrag="none"),r.touchAction="none",r.webkitTapHighlightColor="transparent"}}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(void 0),E(Qo),E(void 0),E(ut))},n.\u0275dir=oe({type:n,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),n})(),dc=(()=>{class n extends Q1e{constructor(t,i,r,s,o,a,l,c,d,f,p,g){super(t,i,r,s,o,a,l,c,d,f,p,g),this._tooltipComponent=eTe}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(gW),E(Qo,8),E(K1e,8),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[ct]}),n})(),J1e=(()=>{class n{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new Se}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const i=t.toState;"hidden"===i&&!this.isVisible()&&this._onHide.next(),("visible"===i||"hidden"===i)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n}),n})(),eTe=(()=>{class n extends J1e{constructor(t,i){super(t),this._breakpointObserver=i,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return n.\u0275fac=function(t){return new(t||n)(E(kn),E(XO))},n.\u0275cmp=Ne({type:n,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,i){2&t&&vf("zoom","visible"===i._visibility?1:null)},features:[ct],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,i){if(1&t&&(R(0,"div",0),ge("@state.start",function(){return i._animationStart()})("@state.done",function(s){return i._animationDone(s)}),Kt(1,"async"),De(2),k()),2&t){let r;st("mat-tooltip-handset",null==(r=rn(1,5,i._isHandset))?null:r.matches),ie("ngClass",i.tooltipClass)("@state",i._visibility),G(2),xi(i.message)}},directives:[hE],pipes:[Hc],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[G1e.tooltipState]},changeDetection:0}),n})(),hc=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[X1e],imports:[[Nie,dn,Yv,On],On,Wv]}),n})();const tTe=["sliderWrapper"],Cl=tm({passive:!1}),oTe={provide:ro,useExisting:T(()=>jk),multi:!0};class aTe{}const lTe=Hf(Uf(jf(class{constructor(n){this._elementRef=n}}),"accent"));let jk=(()=>{class n extends lTe{constructor(t,i,r,s,o,a,l,c){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this._dir=s,this._ngZone=a,this._animationMode=c,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Le,this.input=new Le,this.valueChange=new Le,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=Te.EMPTY,this._pointerDown=d=>{this.disabled||this._isSliding||!Zb(d)&&0!==d.button||this._ngZone.run(()=>{this._touchId=Zb(d)?function(n,e){for(let t=0;t{if("pointer"===this._isSliding){const f=mW(d,this._touchId);if(f){d.preventDefault();const p=this.value;this._lastPointerEvent=d,this._updateValueFromPosition(f),p!=this.value&&this._emitInputEvent()}}},this._pointerUp=d=>{"pointer"===this._isSliding&&(!Zb(d)||"number"!=typeof this._touchId||Uk(d.changedTouches,this._touchId))&&(d.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=l,this.tabIndex=parseInt(o)||0,a.runOutsideAngular(()=>{const d=t.nativeElement;d.addEventListener("mousedown",this._pointerDown,Cl),d.addEventListener("touchstart",this._pointerDown,Cl)})}get invert(){return this._invert}set invert(t){this._invert=Mt(t)}get max(){return this._max}set max(t){this._max=To(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=To(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=To(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=Mt(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?To(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let i=To(t,0);this._roundToDecimal&&i!==this.min&&i!==this.max&&(i=parseFloat(i.toFixed(this._roundToDecimal))),this._value=i,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const i=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${i})`}}_getTrackFillStyles(){const t=this.percent,r=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${r})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,a={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const l=this._shouldInvertAxis();let c;c=this.vertical?l?"Bottom":"Top":l?"Right":"Left",a[`padding${c}`]=`${this._getThumbGap()}px`}return a}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,Cl),t.removeEventListener("touchstart",this._pointerDown,Cl),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||Zs(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const i=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}i!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const i=this._document,r=Zb(t),o=r?"touchend":"mouseup";i.addEventListener(r?"touchmove":"mousemove",this._pointerMove,Cl),i.addEventListener(o,this._pointerUp,Cl),r&&i.addEventListener("touchcancel",this._pointerUp,Cl);const a=this._getWindow();void 0!==a&&a&&a.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,Cl),t.removeEventListener("mouseup",this._pointerUp,Cl),t.removeEventListener("touchmove",this._pointerMove,Cl),t.removeEventListener("touchend",this._pointerUp,Cl),t.removeEventListener("touchcancel",this._pointerUp,Cl);const i=this._getWindow();void 0!==i&&i&&i.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let o=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(o=1-o),0===o)this.value=this.min;else if(1===o)this.value=this.max;else{const a=this._calculateValue(o),l=Math.round((a-this.min)/this.step)*this.step+this.min;this.value=this._clamp(l,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,s=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=s/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let i=new aTe;return i.source=this,i.value=t,i}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,i=0,r=1){return Math.max(i,Math.min(t,r))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),E(Qo,8),Zr("tabindex"),E(dt),E(ut),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slider"]],viewQuery:function(t,i){if(1&t&&Jn(tTe,5),2&t){let r;_t(r=yt())&&(i._sliderWrapper=r.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()})("keydown",function(s){return i._onKeydown(s)})("keyup",function(){return i._onKeyup()})("mouseenter",function(){return i._onMouseenter()})("selectstart",function(s){return s.preventDefault()}),2&t&&(al("tabIndex",i.tabIndex),nn("aria-disabled",i.disabled)("aria-valuemax",i.max)("aria-valuemin",i.min)("aria-valuenow",i.value)("aria-valuetext",null==i.valueText?i.displayValue:i.valueText)("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-slider-disabled",i.disabled)("mat-slider-has-ticks",i.tickInterval)("mat-slider-horizontal",!i.vertical)("mat-slider-axis-inverted",i._shouldInvertAxis())("mat-slider-invert-mouse-coords",i._shouldInvertMouseCoords())("mat-slider-sliding",i._isSliding)("mat-slider-thumb-label-showing",i.thumbLabel)("mat-slider-vertical",i.vertical)("mat-slider-min-value",i._isMinValue())("mat-slider-hide-last-tick",i.disabled||i._isMinValue()&&i._getThumbGap()&&i._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Dt([oTe]),ct],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"div",2),tt(3,"div",3),tt(4,"div",4),k(),R(5,"div",5),tt(6,"div",6),k(),R(7,"div",7),tt(8,"div",8),tt(9,"div",9),R(10,"div",10),R(11,"span",11),De(12),k(),k(),k(),k()),2&t&&(G(3),ie("ngStyle",i._getTrackBackgroundStyles()),G(1),ie("ngStyle",i._getTrackFillStyles()),G(1),ie("ngStyle",i._getTicksContainerStyles()),G(1),ie("ngStyle",i._getTicksStyles()),G(1),ie("ngStyle",i._getThumbContainerStyles()),G(5),xi(i.displayValue))},directives:[J3],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),n})();function Zb(n){return"t"===n.type[0]}function mW(n,e){let t;return t=Zb(n)?"number"==typeof e?Uk(n.touches,e)||Uk(n.changedTouches,e):n.touches[0]||n.changedTouches[0]:n,t?{x:t.clientX,y:t.clientY}:void 0}function Uk(n,e){for(let t=0;t{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On],On]}),n})();function uTe(n,e){}class Hk{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const dTe={dialogContainer:tc("dialogContainer",[wr("void, exit",ti({opacity:0,transform:"scale(0.7)"})),wr("enter",ti({transform:"none"})),Qs("* => enter",Ao("150ms cubic-bezier(0, 0, 0.2, 1)",ti({transform:"none",opacity:1}))),Qs("* => void, * => exit",Ao("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ti({opacity:0})))])};let hTe=(()=>{class n extends uS{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new Le,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=xE(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=xE())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=xE();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(BV),E(kn),E(ut,8),E(Hk),E(Sa))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},features:[ct]}),n})(),fTe=(()=>{class n extends hTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&Qy("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(al("id",i._id),nn("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Pg("@dialogContainer",i._state))},features:[ct],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&mt(0,uTe,0,0,"ng-template",0)},directives:[Kf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[dTe.dialogContainer]}}),n})(),pTe=0;class Qm{constructor(e,t,i="mat-dialog-"+pTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new Se,this._afterClosed=new Se,this._beforeClosed=new Se,this._state=0,t._id=i,t._animationStateChanged.pipe(Fn(r=>"opened"===r.state),yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Fn(r=>"closed"===r.state),yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Fn(r=>27===r.keyCode&&!this.disableClose&&!Zs(r))).subscribe(r=>{r.preventDefault(),$k(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$k(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Fn(t=>"closing"===t.state),yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $k(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const Gk=new ve("MatDialogData"),gTe=new ve("mat-dialog-default-options"),yW=new ve("mat-dialog-scroll-strategy"),_Te={provide:yW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.block()}};let yTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=d,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Se,this._afterOpenedAtThisLevel=new Se,this._ariaHiddenElements=new Map,this.afterAllClosed=Yb(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Rr(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new Hk)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new qv({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:Hk,useValue:i}]}),o=new dm(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Ys)i.attachTemplatePortal(new Xf(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new dm(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Qo,null,At.Optional))&&o.push({provide:Qo,useValue:{value:t.direction,change:ht()}}),Nt.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Nt),E(void 0),E(void 0),E(hm),E(void 0),E(Du),E(Du),E(ve))},n.\u0275dir=oe({type:n}),n})(),_p=(()=>{class n extends yTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,Qm,fTe,Gk)}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(Nt),I(Xg,8),I(gTe,8),I(yW),I(n,12),I(hm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),bTe=0,Wk=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+bTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(E(Qm,8),E(rt),E(_p))},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&al("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),qk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();let Qb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[_p,_Te],imports:[[Yv,dS,On],On]}),n})();const Yk=new ve("CdkAccordion");let ETe=0,MTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=Te.EMPTY,this.closed=new Le,this.opened=new Le,this.destroyed=new Le,this.expandedChange=new Le,this.id="cdk-accordion-child-"+ETe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=Mt(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(E(Yk,12),E(kn),E(cS))},n.\u0275dir=oe({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Dt([{provide:Yk,useValue:void 0}])]}),n})(),xTe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const TTe=["body"];function ATe(n,e){}const DTe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],OTe=["mat-expansion-panel-header","*","mat-action-row"];function ITe(n,e){1&n&&tt(0,"span",2),2&n&&ie("@indicatorRotate",Qe()._getExpandedState())}const PTe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],RTe=["mat-panel-title","mat-panel-description","*"],Xk=new ve("MAT_ACCORDION"),bW="225ms cubic-bezier(0.4,0.0,0.2,1)",CW={indicatorRotate:tc("indicatorRotate",[wr("collapsed, void",ti({transform:"rotate(0deg)"})),wr("expanded",ti({transform:"rotate(180deg)"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))]),bodyExpansion:tc("bodyExpansion",[wr("collapsed, void",ti({height:"0px",visibility:"hidden"})),wr("expanded",ti({height:"*",visibility:"visible"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))])};let kTe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(E(Ys))},n.\u0275dir=oe({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),FTe=0;const wW=new ve("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let qM=(()=>{class n extends MTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new Le,this.afterCollapse=new Le,this._inputChanges=new Se,this._headerId="mat-expansion-panel-header-"+FTe++,this._bodyAnimationDone=new Se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(Zo((c,d)=>c.fromState===d.fromState&&c.toState===d.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=Mt(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Rr(null),Fn(()=>this.expanded&&!this._portal),yi(1)).subscribe(()=>{this._portal=new Xf(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(E(Xk,12),E(kn),E(cS),E(ns),E(ut),E(Do,8),E(wW,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&ei(r,kTe,5),2&t){let s;_t(s=yt())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&Jn(TTe,5),2&t){let r;_t(r=yt())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&st("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Dt([{provide:Xk,useValue:void 0}]),ct,zn],ngContentSelectors:OTe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(wi(DTe),Ht(0),R(1,"div",0,1),ge("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),R(3,"div",2),Ht(4,1),mt(5,ATe,0,0,"ng-template",3),k(),Ht(6,2),k()),2&t&&(G(1),ie("@bodyExpansion",i._getExpandedState())("id",i.id),nn("aria-labelledby",i._headerId),G(4),ie("cdkPortalOutlet",i._portal))},directives:[Kf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[CW.bodyExpansion]},changeDetection:0}),n})();class LTe{}const BTe=Hf(LTe);let YM=(()=>{class n extends BTe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=Te.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Fn(d=>!(!d.hideToggle&&!d.togglePosition))):ec;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Ni(t.opened,t.closed,c,t._inputChanges.pipe(Fn(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Fn(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Zs(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(E(qM,1),E(rt),E(Sa),E(kn),E(wW,8),E(Do,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&ge("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(nn("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),vf("height",i._getHeaderHeight()),st("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[ct],ngContentSelectors:RTe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(wi(PTe),R(0,"span",0),Ht(1),Ht(2,1),Ht(3,2),k(),mt(4,ITe,1,1,"span",1)),2&t&&(G(4),ie("ngIf",i._showToggle()))},directives:[zr],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[CW.indicatorRotate]},changeDetection:0}),n})(),EW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),n})(),Kk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,xTe,dS]]}),n})();var SW=ze(478);Object.create(Error.prototype);const UTe=["*"];var KM=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(KM||(KM={})),KM))();class $Te{}const xW=new ve("SECURITY_CONTEXT");let Zk=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new SW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=SW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(Ae(i=>this.handleExtension(t,i)))}highlight(t){if(Of(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Of(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Of(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Of(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(I(dl),I(xW),I(Wf,8),I($Te,8),I(th))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),TW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new Le,this.load=new Le,this.ready=new Le,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,KM.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;s{class n{static forRoot(t){return{ngModule:n,providers:[Zk,t&&t.loader||[],t&&t.markedOptions||[],{provide:xW,useValue:t&&null!=t.sanitize?t.sanitize:mn.HTML}]}}static forChild(){return{ngModule:n}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function AW(n,e,t){return t?AW(n,e).pipe(Ae(i=>we(i)?t(...i):t(i))):new ce(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Ke(e))return()=>e(r,s)})}function ZM(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new ZTe(n,t))}}class ZTe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new QTe(e,this.observables,this.project))}}class QTe extends cU{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class JTe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new eAe(e,this.accumulator,this.seed,this.hasSeed))}}class eAe extends xt{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class iAe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new rAe(e,this.predicate))}}class rAe extends xt{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const sAe=["youtubeContainer"];let IW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new Se,this._destroyed=new Se,this._playerChanges=new ar(void 0),this._videoId=new ar(void 0),this._height=new ar(390),this._width=new ar(640),this._startSeconds=new ar(void 0),this._endSeconds=new ar(void 0),this._suggestedQuality=new ar(void 0),this._playerVars=new ar(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Of(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=ht(!0);if(!window.YT||!window.YT.Player){const r=new Se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(yi(1),Rr(!1))}const i=function(n,e,t,i,r,s,o){const a=Qi([e,s]).pipe(ZM(Qi([i,r])),Ae(([l,c])=>{const[d,f]=l,[p,g]=c;return d?{videoId:d,playerVars:f,width:p,height:g}:void 0}));return Qi([n,a,ht(o)]).pipe(function(n){return Mr(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0].slice()),t=>t.lift.call(ui([t,...n]),new hU(e))}(n),function(n){return e=>e.lift(new iAe(n))}(([e,t])=>!t),Ae(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new JTe(n,e,t))}}(dAe,void 0),Zo())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Ti(r=>{this._playerChanges.next(r)}),di(e=>e?PW(e)?ht(e):new ce(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{PW(r)||r.destroy()})(e)}}).pipe(yi(1),Rr(void 0)):ht(void 0)),Tn(this._destroyed),mc(new Se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Qi([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Qi([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Qi([t,i]).pipe(Ae(([d,f])=>({startSeconds:d,endSeconds:f}))),a=o.pipe(Jk(n,d=>!!d&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(d))),l=e.pipe(Jk(n,(d,f)=>!!d&&d.videoId!==f));Ni(n.pipe(Jk(Qi([e,o]),([d,f],p)=>!(!p||d==p.videoId&&!f.startSeconds&&!f.endSeconds))),l,a).pipe(ZM(Qi([n,e,o,r])),Ae(([d,f])=>f),Tn(s)).subscribe(([d,f,p,g])=>{!f||!d||(d.videoId=f,d.cueVideoById(Object.assign({videoId:f,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Pr(i=>i?AW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):ht()),i=>new ce(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),Tn(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(dl))},n.\u0275cmp=Ne({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&Jn(sAe,5),2&t){let r;_t(r=yt())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&tt(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function dAe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function PW(n){return"getPlayerStatus"in n}function Jk(n,e){return Mr(ZM(n),Fn(([t,i])=>e(i,t)),Ae(([t])=>t))}let pAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),CAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function e0(n){return!0===n}function so(n){return null==n}function ka(n){return!so(n)}function eF(n){return Boolean(n)}function NW(n){return so(n)?n:JSON.parse(JSON.stringify(n))}const JM=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&JM(n[o])}),n};function LW(n){return ka(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const zW="NGXS_DATA_META",nF="NGXS_META",jW="NGXS_ARGUMENT_REGISTRY_META";let UW=(()=>{class n{constructor(t){this.sequence$=new ar(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(I(cu,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function t0(n){return n[zW]}let Fa=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(dt),n.factory=i,n.context=r,n.computed=t.get(UW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(I(Nt),I(B$),I(L$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Fr{constructor(){Fr.statesCachedMeta.clear()}static createStateContext(e){return Fa.context.createStateContext(e)}static ensureMappedState(e){if(so(Fa.factory)||so(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(ka(e.name)?Fr.statesCachedMeta.get(e.name):null)||Fr.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=t0(Fr.getStateClassByInstance(e)))&&void 0!==t?t:null;if(so(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=Fr.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=Fr.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=ka(e.name)?null===(t=Fa.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return ka(i)&&ka(e.name)&&Fr.statesCachedMeta.set(e.name,i),i}}Fr.statesCachedMeta=new Map,Fr.\u0275fac=function(e){return new(e||Fr)},Fr.\u0275prov=ue({token:Fr,factory:Fr.\u0275fac}),new If(1);class $Ae extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${ka(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function HW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function $W(n){var e;const t=HW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=NW(void 0===t.defaults?{}:t.defaults);if(i.length){if(LW(s))return function(n,e){return e.reduce((t,i)=>{const r=HW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=$W(i),t},null!=n?n:{})}(s,i);throw new $Ae(s)}return s}function WW(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function qW(){var n,e;return null!==(e=null===(n=null==Fa?void 0:Fa.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function YAe(n){let e=!1;return cm(n)&&(e=!0),e}function iF(n){return n[jW]}class XAe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class KAe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(eF(this.argumentMap.has(e))||eF(this.payloadMap.has(e)))throw new XAe(e,t)}}function rF(n){return Mo()?JM(n):n}function tDe(n){return{enumerable:!0,configurable:!0,get(){const e=t0(n),t=Fr.ensureMappedState(e.stateMeta);return Fr.createStateContext(t)}}}function sF(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Mo()?JM(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}function oi(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(LW(i))for(;null!==i;){if(e0(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return so(WW(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),WW(n)}(this),o=null==s?void 0:s.get(i);if(e0(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(so(o)||o.sequenceId!==qW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:qW(),isObservable:YAe(l)}),l}return o.value},t}}const oDe={cancelUncompleted:!0,insideZone:!1};function on(n=oDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=Fr.getRepositoryByInstance(a),d=c.operations;let f=d[s];const p=c.stateMeta,g=iF(r);if(so(f)){const w=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),x=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var w;return e0(n.insideZone)?null===(w=Fa.ngZone)||void 0===w||w.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),cm(l)?ht(null).pipe(Ae(()=>l)):l};const v=Fr.createAction(f,o,g),C=Fa.store.dispatch(v);return cm(l)?function(n,e){return Hv([n,e]).pipe(Ae(t=>t.pop()))}(C,l):l},i}}function Ms(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return so(iF(t))&&Object.defineProperties(t,{[jW]:{enumerable:!0,configurable:!0,value:new KAe}}),iF(t)})(e,t).createPayloadType(r,t,i)}}function xh(){return n=>{const e=function(n){if(function(n){return!eF(n)}(n.hasOwnProperty(nF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,nF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[nF]}(n)}(n);if(so(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=t0(n))&&void 0!==e?e:null;return(so(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,zW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),t0(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>NW(t)},context:tDe(n)})}(n,e,$W(n)),function(n){var e,t;const i=t0(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(ka(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(ka(this[s]))return this[s];if(so(Fa.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Fa.store.select(n).pipe(Ae(o=>Mo()?JM(o):o),qc({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}var tx=(()=>(function(n){n.ID="id"}(tx||(tx={})),tx))(),n0=(()=>(function(n){n.ASC="asc",n.DESC="desc"}(n0||(n0={})),n0))();let oF=(()=>{class n{constructor(){this.browserStorageEvents$=new Se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cDe=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})(),uDe=(()=>{class n extends oF{constructor(){super(...arguments),this.primaryKey=tx.ID,this.comparator=null}get snapshot(){return rF(this.getState())}get ids(){return this.snapshot.ids}get entities(){return this.snapshot.entities}get entitiesArray(){const t=this.snapshot;return t.ids.map(i=>t.entities[i])}get ids$(){return this.state$.pipe(Ae(t=>t.ids))}get entities$(){return this.state$.pipe(Ae(t=>t.entities))}get entitiesArray$(){return this.state$.pipe(Ae(t=>t.ids.map(i=>t.entities[i])))}get ctx(){return sF(this.context)}setComparator(t){return this.comparator=t,this}dispatch(t){return this.ctx.dispatch(t)}getState(){return this.ctx.getState()}selectId(t){var i;return null===(i=t)||void 0===i?void 0:i[this.primaryKey]}selectOne(t){var i;return null!==(i=this.snapshot.entities[t])&&void 0!==i?i:null}selectAll(){const t=this.getState();return t.ids.map(i=>t.entities[i])}reset(){this.setEntitiesState(this.initialState),this.markAsDirtyAfterReset()}addOne(t){this.addEntityOne(t)}addMany(t){this.addEntitiesMany(t)}setOne(t){this.setEntityOne(t)}setMany(t){this.setEntitiesMany(t)}setAll(t){this.setEntitiesAll(t)}updateOne(t){this.updateEntitiesMany([t])}updateMany(t){this.updateEntitiesMany(t)}upsertOne(t){this.upsertEntitiesMany([t])}upsertMany(t){this.upsertEntitiesMany(t)}removeOne(t){this.removeEntitiesMany([t])}removeMany(t){this.removeEntitiesMany(t)}removeByEntity(t){const i=this.selectId(t);this.removeEntitiesMany([i])}removeByEntities(t){const i=[];for(const r of t){const s=this.selectId(r);i.push(s)}this.removeEntitiesMany(i)}removeAll(){this.setEntitiesState(this.initialState)}sort(t){this.comparator=null!=t?t:this.comparator,so(this.comparator)?console.warn("You must set the compare function before sorting."):this.setEntitiesState(this.getState())}addEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);r in i.entities||this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}addEntitiesMany(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities||a in r||(s.push(a),r[a]=o)}s.length&&this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,...s],entities:Object.assign(Object.assign({},i.entities),r)}))}setEntitiesAll(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in r||(s.push(a),r[a]=o)}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:s,entities:r}))}setEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);this.setEntitiesState(Object.assign(Object.assign({},i),r in i.entities?{entities:Object.assign(Object.assign({},i.entities),{[r]:t})}:{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}setEntitiesMany(t){for(const i of t)this.setEntityOne(i)}updateEntitiesMany(t){const i=this.getState(),r=t.filter(a=>a.id in i.entities);if(0===r.length)return;const s=this.generateKeyMap(i),o=Object.assign({},i.entities);for(const a of r){const l=this.updateOrigin(o,a),c=this.selectIdValue(l);c!==a.id&&(delete s[a.id],delete o[a.id]),s[a.id]=c,o[c]=l}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.map(a=>{var l;return null!==(l=s[a])&&void 0!==l?l:a}),entities:o}))}upsertEntitiesMany(t){const i=this.getState(),r=[],s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities?r.push({id:a,changes:o}):s.push(o)}this.updateMany(r),this.addMany(s)}removeEntitiesMany(t){const i=this.getState(),r=this.generateKeyMap(i),s=Object.assign({},i.entities);for(const o of t)o in s&&(delete r[o],delete s[o]);this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.filter(o=>o in r),entities:s}))}setEntitiesState(t){const i=this.sortKeysByComparator(t.ids,t.entities);this.ctx.setState(Object.assign(Object.assign({},t),{ids:i,entities:t.entities}))}sortKeysByComparator(t,i){if(so(this.comparator))return t;const r=t.slice(),s=this.comparator;return"function"==typeof s?r.sort((o,a)=>s(i[o],i[a])):this.sortByComparatorOptions(r,s,i)}sortByComparatorOptions(t,i,r){switch(null==i?void 0:i.sortByOrder){case n0.ASC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?-1:0}(null==i?void 0:i.sortBy,r[s],r[o]));case n0.DESC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?-1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?1:0}(null==i?void 0:i.sortBy,r[s],r[o]));default:return Mo()&&console.warn(`Invalid --\x3e { sortByOrder: "${null==i?void 0:i.sortByOrder}" } not supported!`),t}}generateKeyMap(t){return t.ids.reduce((i,r)=>(i[r]=r,i),{})}updateOrigin(t,i){return Object.assign(Object.assign({},t[i.id]),i.changes)}selectIdValue(t){const i=this.selectId(t);return so(i)&&Mo()&&console.warn(`The entity passed to the 'selectId' implementation returned ${i}.`,"You should probably provide your own 'selectId' implementation.","The entity that was passed:",t,"The current `selectId` implementation: (entity: V): K => entity.id"),i}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"ids",null),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"entities",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"entitiesArray",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"ids$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entities$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entitiesArray$",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"addOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"addMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setMany",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setAll",null),xe([on(),ws(0,Ms("update")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"updateOne",null),xe([on(),ws(0,Ms("updates")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"updateMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"upsertOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"upsertMany",null),xe([on(),ws(0,Ms("id")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeOne",null),xe([on(),ws(0,Ms("ids")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeByEntity",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeByEntities",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"removeAll",null),xe([on(),ws(0,Ms("comparator")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"sort",null),n})(),Jm=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})();function aF(){return Fn(n=>null!=n)}const dDe={};function lF(...n){const e=n[n.length-1];let t=n,i=dDe;return"object"==typeof e&&(i=e,t=t.slice(0,-1)),r=>r.pipe(ur(...t),Zo(i.compare),qc(1))}const s_=new ve("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),IF=new ve("ngx-window",{providedIn:"root",factory:()=>function(n){return Of(n)?window:null}(Oc(dl))}),wIe=new ve("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Oc(IF))}),PF=new ve("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Oc(IF),Oc(wIe))});let xs=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Mo())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(I(s_),I(ut),I(PF))},n.\u0275prov=ue({factory:function(){return new n(I(s_),I(ut),I(PF))},token:n,providedIn:"root"}),n})();const MIe={provide:Mf,multi:!0,useFactory:function(n,e,t){return()=>yl(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(Mo()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Mo()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||Mo()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[s_,PF,ut]};new ve("ngx-google-analytics-routing-settings",{factory:()=>({})});let RF=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:s_,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},MIe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[]]}),n})(),f0=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new If(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),DIe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new Te,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(IF),I(s_))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const OIe=new ve("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),Kq=[f0,DIe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new Te;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(OIe))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})()];function PIe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let kIe=(()=>{class n{static forRoot(t){const{providers:i=[]}=RF.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[PIe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[...Kq,{provide:Mf,multi:!0,useFactory:()=>()=>{},deps:Kq}],imports:[[RF]]}),n})();class Zq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function FIe(){throw new Zq}function NIe(){throw new Zq}function kF(n,e,t){e.run(()=>n.dispatch(t))}function VIe(n,e,t,i){return Og(t)?function(n,e,t){return t.then(i=>(kF(n,e,i),i))}(n,e,t):cm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(Tn(i.cancelUncompleted$))),t.subscribe({next:r=>kF(n,e,r)}),t}(n,e,t,i):(kF(n,e,t),t)}class zIe{constructor(){this.cancelUncompleted$=new Se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const FF="\u0275fac",Qq=Symbol("InjectorInstance"),Jq=Symbol("FactoryHasBeenDecorated");function e9(n,e){const t=n[Qq];return t?t.get(e):null}const HIe={cancelUncompleted:!1};function t9(n=HIe){return(e,t,i)=>{let r;const s=function(n){return n?new zIe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=e9(this,cu)||FIe(),l=e9(this,dt)||NIe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>VIe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(Jq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[FF]&&function(n){const e=n[FF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[Qq]=E(Fc),r};t&&(t.factory=i),Object.defineProperty(n,FF,{get:()=>i})}(e),n.constructor.prototype[Jq]=!0}(e)}}let n9=(()=>{class n{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get inset(){return this._inset}set inset(t){this._inset=Mt(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,i){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),n})(),yx=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();const sPe=["input"],oPe=function(n){return{enterDuration:n}},aPe=["*"],lPe=new ve("mat-checkbox-default-options",{providedIn:"root",factory:c9});function c9(){return{color:"accent",clickAction:"check-indeterminate"}}let cPe=0;const u9=c9(),uPe={provide:ro,useExisting:T(()=>VF),multi:!0};class dPe{}const hPe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let VF=(()=>{class n extends hPe{constructor(t,i,r,s,o,a,l){super(t),this._changeDetectorRef=i,this._focusMonitor=r,this._ngZone=s,this._animationMode=a,this._options=l,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++cPe,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Le,this.indeterminateChange=new Le,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||u9,this.color=this.defaultColor=this._options.color||u9.color,this.tabIndex=parseInt(o)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=Mt(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const i=Mt(t);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const i=t!=this._indeterminate;this._indeterminate=Mt(t),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let i=this._currentCheckState,r=this._elementRef.nativeElement;if(i!==t&&(this._currentAnimationClass.length>0&&r.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){r.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{r.classList.remove(s)},1e3)})}}_emitChangeEvent(){const t=new dPe;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var i;const r=null===(i=this._options)||void 0===i?void 0:i.clickAction;t.stopPropagation(),this.disabled||"noop"===r?!this.disabled&&"noop"===r&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==r&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,i){t?this._focusMonitor.focusVia(this._inputElement,t,i):this._inputElement.nativeElement.focus(i)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,i){if("NoopAnimations"===this._animationMode)return"";let r="";switch(t){case 0:if(1===i)r="unchecked-checked";else{if(3!=i)return"";r="unchecked-indeterminate"}break;case 2:r=1===i?"unchecked-checked":"unchecked-indeterminate";break;case 1:r=2===i?"checked-unchecked":"checked-indeterminate";break;case 3:r=1===i?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${r}`}_syncIndeterminate(t){const i=this._inputElement;i&&(i.nativeElement.indeterminate=t)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Sa),E(dt),Zr("tabindex"),E(Do,8),E(lPe,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-checkbox"]],viewQuery:function(t,i){if(1&t&&(Jn(sPe,5),Jn(Js,5)),2&t){let r;_t(r=yt())&&(i._inputElement=r.first),_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",null),st("mat-checkbox-indeterminate",i.indeterminate)("mat-checkbox-checked",i.checked)("mat-checkbox-disabled",i.disabled)("mat-checkbox-label-before","before"==i.labelPosition)("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Dt([uPe]),ct],ngContentSelectors:aPe,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),R(3,"input",3,4),ge("change",function(s){return i._onInteractionEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(5,"span",5),tt(6,"span",6),k(),tt(7,"span",7),R(8,"span",8),Yt.lFrame.currentNamespace=Wn,R(9,"svg",9),tt(10,"path",10),k(),Yt.lFrame.currentNamespace=null,tt(11,"span",11),k(),k(),R(12,"span",12,13),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(14,"span",14),De(15,"\xa0"),k(),Ht(16),k(),k()),2&t){const r=vs(1),s=vs(13);nn("for",i.inputId),G(2),st("mat-checkbox-inner-container-no-side-margin",!s.textContent||!s.textContent.trim()),G(1),ie("id",i.inputId)("required",i.required)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex),nn("value",i.value)("name",i.name)("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-checked",i._getAriaChecked())("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Hg(19,oPe,"NoopAnimations"===i._animationMode?0:150))}},directives:[Js,WD],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),n})(),d9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),h9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On,SE,d9],On,d9]}),n})();const gPe=["bodyCanvas"];let mPe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Le,this.nodeDrag=new Le,this.nodeClick=new Le,this.nodeHoverStart=new Le,this.nodeHoverStop=new Le,this.initialized=new Le,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return yl(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new LMe({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&Jn(gPe,5,rt),2&t){let r;_t(r=yt())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&tt(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),_Pe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();function wPe(n,e){if(1&n&&(R(0,"li",4),De(1),Kt(2,"json"),k()),2&n){const t=e.$implicit;G(1),Aw(" ",t[0],": ",rn(2,2,t[1])," ")}}function EPe(n,e){if(1&n&&(R(0,"div",1),R(1,"div"),De(2),k(),R(3,"ul",2),mt(4,wPe,3,4,"li",3),k(),k()),2&n){const t=e.$implicit;G(2),xi(t[0]),G(2),ie("ngForOf",t[1])}}let SPe=(()=>{class n{constructor(t,i){this.clsName="ccf-store-debug",this.root={},this.subscriptions=new Te;const r=t.subscribe(s=>{this.root=s,i.markForCheck()});this.subscriptions.add(r)}get data(){return Object.entries(this.root).map(([s,o])=>[s,Object.entries(o)]).filter(([s,o])=>o.length>0)}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(cu),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-store-debug"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:1,vars:1,consts:[["class","state",4,"ngFor","ngForOf"],[1,"state"],[1,"kvlist"],["class","kvpair",4,"ngFor","ngForOf"],[1,"kvpair"]],template:function(t,i){1&t&&mt(0,EPe,5,2,"div",0),2&t&&ie("ngForOf",i.data)},directives:[pl],pipes:[tV],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),n})(),MPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();new ve("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const OPe=["carouselContainer"],IPe=["itemlist"],PPe=["itemcontainer"];function RPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",9),ge("touchstart",function(){return en(t),Qe().scroll("left")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("left")})("mousedown",function(){return en(t),Qe().scroll("left")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_left"),k()}2&n&&st("disabled",Qe().onLeft)}function kPe(n,e){if(1&n&&(R(0,"div",15),De(1),k()),2&n){const t=Qe().$implicit,i=Qe();G(1),xi(i.occurenceData[t.id]||0)}}function FPe(n,e){if(1&n){const t=Zi();R(0,"div",10),ge("click",function(){const s=en(t).$implicit;return Qe().selectOrgan(s)}),tt(1,"mat-icon",11),R(2,"div",12),R(3,"div",13),De(4),k(),mt(5,kPe,2,1,"div",14),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("disabled",t.disabled)("selected",i.isSelected(t)),G(1),Jy("svgIcon",t.src),G(3),xi(t.name),G(1),ie("ngIf",void 0!==t.numResults)}}function NPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",16),ge("touchstart",function(){return en(t),Qe().scroll("right")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("right")})("mousedown",function(){return en(t),Qe().scroll("right")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_right"),k()}2&n&&st("disabled",Qe().onRight)}const g0=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let p9=(()=>{class n{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=g0,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Le,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new hW.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:i}=this;let r=parseInt(i.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(r="right"===t?r-this.step:r+this.step,i.nativeElement.style.left=r+"px",this.setLeftRight(r))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(i=>t!==i):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:i,carouselContainer:r}=this,s=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(s);const o=this.step*Math.floor(r.nativeElement.offsetWidth/this.step)-64;i.nativeElement.style.width=`${o}px`}}setWidth(){const{itemContainer:t,carouselContainer:i}=this,r=this.step*Math.floor(i.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${r}px`}setLeftRight(t){const{itemContainer:i}=this;this.onLeft=0===t,this.onRight=t<=i.nativeElement.offsetWidth-this.organList.length*this.step}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-organ-selector"]],viewQuery:function(t,i){if(1&t&&(Jn(OPe,7),Jn(IPe,7),Jn(PPe,7)),2&t){let r;_t(r=yt())&&(i.carouselContainer=r.first),_t(r=yt())&&(i.itemList=r.first),_t(r=yt())&&(i.itemContainer=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[zn],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,i){1&t&&(R(0,"div",0,1),mt(2,RPe,2,2,"mat-icon",2),R(3,"div",3,4),R(5,"div",5,6),mt(7,FPe,6,7,"div",7),k(),k(),mt(8,NPe,2,2,"mat-icon",8),k()),2&t&&(st("expanded",i.expanded)("error",i.error),ie("matTooltipDisabled",i.multiselect),G(2),ie("ngIf",!i.expanded),G(5),ie("ngForOf",i.organList),G(1),ie("ngIf",!i.expanded))},directives:[dc,zr,pl,rs],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),n})(),g9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),LPe=(()=>{class n{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Le,this.visibilityToggle=new Le,this.opacityReset=new Le}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"mat-slider",2),ge("input",function(s){return i.changeOpacity(s.value)}),k(),R(3,"span",3),De(4),k(),k(),R(5,"div",4),R(6,"mat-icon",5),ge("click",function(){return i.toggleVisibility()}),k(),R(7,"mat-icon",6),ge("click",function(){return i.toggleVisibility()}),k(),R(8,"mat-icon",7),ge("click",function(){return i.resetOpacity()}),De(9,"refresh"),k(),k(),k()),2&t&&(G(2),st("disabled",!i.visible),ie("step",1)("min",0)("max",100)("value",i.opacity),G(2),or("",i.opacity,"%"),G(2),st("hidden",i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),st("hidden",!i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),ie("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[jk,rs,Js],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),n})(),m9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l]]}),n})();function BPe(n,e){if(1&n&&(R(0,"div",16),tt(1,"youtube-player",17),k()),2&n){const t=Qe(3);G(1),Jy("videoId",t.videoID)}}function VPe(n,e){if(1&n&&(R(0,"mat-expansion-panel",11),R(1,"mat-expansion-panel-header"),R(2,"h2",12),De(3),k(),k(),R(4,"div",13),tt(5,"markdown",14),mt(6,BPe,2,1,"div",15),k(),k()),2&n){const t=Qe(),i=t.index,r=t.$implicit;ie("expanded",0===i),G(3),xi(r.title),G(2),st("first",0===i),ie("data",r.content),G(1),ie("ngIf",0===i)}}function zPe(n,e){if(1&n&&(R(0,"div",9),mt(1,VPe,7,6,"mat-expansion-panel",10),k()),2&n){const t=e.$implicit;G(1),ie("ngIf",t)}}let _9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"h2",4),De(5),k(),R(6,"div",5),R(7,"mat-icon",6),ge("click",function(){return i.close()}),De(8,"clear"),k(),k(),k(),R(9,"mat-dialog-content",7),mt(10,zPe,2,1,"div",8),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(5),ie("ngForOf",i.documentationContents))},directives:[Wk,rs,qk,pl,zr,qM,YM,TW,IW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),jPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,Kk,pAe,XTe.forRoot({})]]}),n})(),y9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new ar({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(I(Wf))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),UPe=(()=>{class n{constructor(t,i){this.dialog=t,this.infoButtonService=i,this.infoTitle="",this.subscriptions=new Te,this.subscriptions.add(i.panelContent.subscribe(r=>{r.content.length&&this.launchInfoDialog(r)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(y9))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-icon",1),ge("click",function(){return i.onDialogButtonClick()}),De(2," info "),k(),k())},directives:[rs],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),n})(),HPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,jPe,lr,Rj]]}),n})(),$Pe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Le,this.closeClicked=new Le}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"p",4),De(5),k(),R(6,"mat-icon",5),ge("click",function(){return i.close()}),De(7,"clear"),k(),k(),tt(8,"img",6),R(9,"mat-dialog-content",7),R(10,"div",8),De(11),k(),R(12,"a",9),ge("click",function(){return i.onDialogButtonClick()}),k(),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(3),ie("src",i.imageUrl,Ud),G(3),or(" ",i.message,""),G(1),ie("text",i.callToAction))},directives:[Wk,rs,CAe,qk],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),WPe=(()=>{class n{constructor(t){this.el=t}onInputChange(t){const i=this.el.nativeElement.value;this.el.nativeElement.value=i.replace(/[^0-9]*/g,""),i!==this.el.nativeElement.value&&t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["input","ccfNumbersOnly",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i.onInputChange(s)})}}),n})(),qPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),v9=(()=>{class n{get obj(){const t=this.findGlobalObject();return Object.defineProperties(this,{obj:{configurable:!1,writable:!1,value:t}}),t}has(t){const{obj:i}=this;return null!=i&&t in i}get(t,i){var r;const{obj:s}=this;return null!==(r=s&&s[t])&&void 0!==r?r:i}set(t,i){const{obj:r}=this;r&&(r[t]=i)}remove(t){const{obj:i}=this;i&&delete i[t]}findGlobalObject(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self;try{return new Function("return this;")()}catch(t){}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Ah=(()=>{let n=class extends Jm{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(aF(),qc(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(ur(...t),Zo(),qc(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(ur(...t),Zo(),qc(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi()],n.prototype,"config$",null),n=xe([xh(),cd({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();let ZPe=(()=>{class n{constructor(t,i){t&&function(n,e){Wc(n,"mousemove").pipe(dW(1e3),Ae(r=>{const{clientWidth:s,clientHeight:o}=n,{clientX:a,clientY:l}=r;return[a,l,s,o].join("_")})).subscribe(r=>e.event("webpage","mousemove",r))}(t.body,i)}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(xs))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function QPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!0)}),De(1),k()}if(2&n){const t=Qe();G(1),or(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function JPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!1)}),De(1,"Opt out"),k()}}let eRe=(()=>{class n{constructor(t,i,r){this.consentService=i,this.data=r,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:i}=this;return"not-set"===i||("opt-in"===t?"rescinded"===i:"given"===i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(f0),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,i){1&t&&(R(0,"p"),De(1,"We log usage to improve this service."),k(),mt(2,QPe,2,1,"button",0),mt(3,JPe,2,0,"button",0)),2&t&&(G(2),ie("ngIf",i.showButton("opt-in")),G(1),ie("ngIf",i.showButton("opt-out")))},directives:[zr,lh],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),n})(),tRe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})();new Se;let zF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),jF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),UF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var HF;class sa{get length(){var e,t;return null!==(t=null===(e=sa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=sa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=sa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=sa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=sa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=sa.storage)||void 0===e||e.clear()}}sa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),sa.\u0275fac=function(e){return new(e||sa)},sa.\u0275prov=ue({token:sa,factory:sa.\u0275fac,providedIn:"root"});const w9="callToActionPopupShown";let oo=HF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(w9,`${i}`),s=HF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new jF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(Ae(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Ti(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(iRe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(w9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};oo.\u0275fac=function(e){return new(e||oo)(I(_p),I(xs),I(sa),I(y9),I(Wf))},oo.\u0275prov=ue({token:oo,factory:oo.\u0275fac}),xe([gk(zF)],oo.prototype,"learnMore",null),xe([gk(jF)],oo.prototype,"open",null),xe([gk(UF)],oo.prototype,"close",null),oo=HF=xe([cd({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],oo);let vx=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return xe([Xm([oo])],n,"title",null),xe([Xm([oo])],n,"message",null),xe([Xm([oo])],n,"callToAction",null),xe([Xm([oo])],n,"imageUrl",null),xe([Xm([oo])],n,"expirationDate",null),xe([Xm([oo])],n,"popupShown",null),n})(),iRe=(()=>{class n{constructor(){this.close=()=>new UF,this.learnMore=()=>new zF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(R(0,"ccf-call-to-action",0),ge("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),k()),2&t&&ie("infoTitle",rn(1,4,i.title$))("message",rn(2,6,i.message$))("callToAction",rn(3,8,i.callToAction$))("imageUrl",rn(4,10,i.imageUrl$))},directives:[$Pe],pipes:[Hc],styles:[""],changeDetection:0}),xe([NM(vx.title)],n.prototype,"title$",void 0),xe([NM(vx.message)],n.prototype,"message$",void 0),xe([NM(vx.callToAction)],n.prototype,"callToAction$",void 0),xe([NM(vx.imageUrl)],n.prototype,"imageUrl$",void 0),xe([t9()],n.prototype,"close",void 0),xe([t9()],n.prototype,"learnMore",void 0),n})();const oRe={initialConfig:{},parse:{},rename:{}};class aRe{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},oRe),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,d=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(d)try{i[l]=d(c)}catch(f){console.warn(`Failed to parse ${e} = ${c}`,f.message)}else i[l]=c}}let lRe=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new aRe(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=oe({type:n,features:[zn]}),n})();const cRe={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var $F;const hu={production:!0,disableDbWorker:!0,dbOptions:{ccfOwlUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf.owl",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==($F=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==$F?$F:""},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},skipUnsavedChangesConfirmation:!1,googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};var uRe=ze(815);class hRe{constructor(e){this.value=e}call(e,t){return t.subscribe(new fRe(e,this.value))}}class fRe extends xt{constructor(e,t){super(e),this.value=t}_next(e){this.destination.next(this.value)}}class gRe{constructor(e){this.notifier=e}call(e,t){return t.subscribe(new mRe(e,this.notifier))}}class mRe extends ii{constructor(e,t){super(e),this.hasValue=!1;const i=new Gr(this);this.add(i),this.innerSubscription=i;const r=co(t,i);r!==i&&(this.add(r),this.innerSubscription=r)}_next(e){this.hasValue&&super._next(e)}notifyNext(){this.hasValue=!0,this.innerSubscription&&this.innerSubscription.unsubscribe()}notifyComplete(){}}function GF(n){return"function"==typeof n}function E9(n){return void 0===n}function yRe(n,e,t){return function(r){let s=!!n;return function(n){return"function"==typeof n}(n)&&(s=n(r)),function(n,e){return GF(n)?n(e):E9(n)?e:n}(s?e:t,r)}}function vRe(n,e){return function(i){if(function(n){return null===n||E9(n)}(n)&&i)return i;if(!Array.isArray(i))return[n];const r=i.slice();let s=0;return e>0&&(s=e),r.splice(s,0,n),r}}function m0(n){return function(t){let i=null;for(const r in n){const s=n[r],o=t[r],a=GF(s)?s(o):s;a!==o&&(i||(i=Object.assign({},t)),i[r]=a)}return i||t}}let ji=class extends Jm{constructor(e){super(),this.globalConfig=e,this.user$=this.state$.pipe(ur("user")),this.registrationStarted$=this.state$.pipe(lF("registrationStarted")),this.useCancelRegistrationCallback$=this.state$.pipe(ur("useCancelRegistrationCallback")),this.registrationCallbackSet$=this.state$.pipe(ur("registrationCallbackSet"))}get skipConfirmation$(){return this.state$.pipe(lF("skipConfirmation"))}get globalSkipConfirmation$(){return this.globalConfig.getOption("skipUnsavedChangesConfirmation").pipe(Ae(e=>null!=e?e:hu.skipUnsavedChangesConfirmation),Zo())}get hasChanges$(){return this.state$.pipe(lF("hasChanges"))}ngxsOnInit(){super.ngxsOnInit(),this.globalConfig.config$.pipe(yi(1),Ti(e=>this.setState(m0({registrationCallbackSet:!!e.register,useCancelRegistrationCallback:!!e.cancelRegistration,user:yRe(!!e.user,e.user),registrationStarted:!!e.user||void 0})))).subscribe(),this.initSkipConfirmationListeners()}cancelRegistration(){const{globalConfig:{snapshot:{cancelRegistration:e}},snapshot:{useCancelRegistrationCallback:t,skipConfirmation:i}}=this;t&&(i||confirm("Changes you made may not be saved."))&&(null==e||e())}setUseCancelRegistrationCallback(e){this.ctx.patchState({useCancelRegistrationCallback:e})}setUserName(e){this.ctx.setState(m0({user:m0(e)}))}registrationStarted(){this.ctx.setState(m0({registrationStarted:!0}))}setHasChanges(){const{snapshot:{registrationStarted:e,hasChanges:t}}=this;e&&!t&&this.ctx.patchState({hasChanges:!0})}clearHasChanges(){this.ctx.patchState({hasChanges:!1})}initSkipConfirmationListeners(){const e=i=>this.patchState({skipConfirmation:i});this.globalSkipConfirmation$.pipe(Fn(i=>i)).subscribe(e),this.hasChanges$.pipe(ZM(this.globalSkipConfirmation$),Ae(([i,r])=>r||!i),Zo()).subscribe(e);const t=i=>(i.preventDefault(),i.returnValue="Changes you made may not be saved.",i.returnValue);this.skipConfirmation$.subscribe(i=>{i?removeEventListener("beforeunload",t):addEventListener("beforeunload",t)})}};ji.\u0275fac=function(e){return new(e||ji)(I(Ah))},ji.\u0275prov=ue({token:ji,factory:ji.\u0275fac}),xe([oi()],ji.prototype,"skipConfirmation$",null),xe([oi()],ji.prototype,"globalSkipConfirmation$",null),xe([oi()],ji.prototype,"hasChanges$",null),xe([on()],ji.prototype,"setUseCancelRegistrationCallback",null),xe([on()],ji.prototype,"setUserName",null),xe([on()],ji.prototype,"registrationStarted",null),xe([on()],ji.prototype,"setHasChanges",null),xe([on()],ji.prototype,"clearHasChanges",null),ji=xe([xh(),cd({name:"page",defaults:{user:{firstName:"",lastName:""},registrationStarted:!1,useCancelRegistrationCallback:!1,registrationCallbackSet:!1,skipConfirmation:!0,hasChanges:!1}})],ji);let fc=class extends Jm{constructor(e,t){super(),this.globals=e,this.globalConfig=t}ngxsOnInit(){super.ngxsOnInit(),this.getSourceDB().subscribe(e=>{this.setState(e),hu.production||this.globals.set("db",e)})}getSourceDB(){return this.globalConfig.getOption("baseHref").pipe(Ae(e=>(null!=e?e:"")+"assets/reference-organ-data.json"),Pr(e=>ui(fetch(e)).pipe(Pr(t=>t.json()),Ta(()=>ec))))}normalizePlacement(e){const i=this.snapshot.placementPatches[null==e?void 0:e.target];if(i){const r=function(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(ib),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}(new $t($t.IDENTITY),i),s={x:e.x_translation,y:e.y_translation,z:e.z_translation},[o,a,l]=r.transformAsPoint([s.x,s.y,s.z],[]),c=Object.assign(Object.assign({},e),{target:i.target});return c.x_translation=o,c.y_translation=a,c.z_translation=l,c}return e}getReferenceOrganIri(e,t,i,r){const s=this.snapshot;"KIDNEY"!==e.toUpperCase()&&(i=""),(null==r?void 0:r.sex)&&(t=r.sex);const o=[e,t,i||(null==r?void 0:r.side)].join("|").toUpperCase(),a=Object.keys(s.organIRILookup).find(l=>l.toUpperCase().endsWith(o));return a?s.organIRILookup[a]:void 0}getOrganData(e){var t,i,r;const o=this.snapshot.organSpatialEntities[e];if(!o)return;const a=null!==(t=o.label)&&void 0!==t?t:"",l=g0.find(c=>a.endsWith(c.organ));return l?{organ:l,sex:null===(i=o.sex)||void 0===i?void 0:i.toLowerCase(),side:null===(r=o.side)||void 0===r?void 0:r.toLowerCase()}:void 0}};fc.\u0275fac=function(e){return new(e||fc)(I(v9),I(Ah))},fc.\u0275prov=ue({token:fc,factory:fc.\u0275fac}),fc=xe([xh(),cd({name:"reference",defaults:{organIRILookup:{},organSpatialEntities:{},anatomicalStructures:{},extractionSets:{},sceneNodeLookup:{},simpleSceneNodeLookup:{},placementPatches:{}}})],fc);const qF=g0;let ai=class extends Jm{constructor(e,t,i){super(),this.ga=e,this.injector=t,this.globalConfig=i,this.id$=this.state$.pipe(ur("id")),this.blockSize$=this.state$.pipe(ur("blockSize")),this.rotation$=this.state$.pipe(ur("rotation")),this.position$=this.state$.pipe(ur("position")),this.slicesConfig$=this.state$.pipe(ur("slicesConfig")),this.viewType$=this.state$.pipe(ur("viewType")),this.viewSide$=this.state$.pipe(ur("viewSide")),this.organ$=this.state$.pipe(ur("organ")),this.organIri$=this.state$.pipe(ur("organIri")),this.organDimensions$=this.state$.pipe(ur("organDimensions")),this.sex$=this.state$.pipe(ur("sex")),this.side$=this.state$.pipe(ur("side")),this.showPrevious$=this.state$.pipe(ur("showPrevious")),this.extractionSites$=this.state$.pipe(ur("extractionSites")),this.anatomicalStructures$=this.state$.pipe(ur("anatomicalStructures")),this.extractionSets$=this.state$.pipe(ur("extractionSets"))}get modelChanged$(){const e=["viewType","viewSide","showPrevious"],t=Object.keys(this.initialState).filter(i=>!e.includes(i));return this.state$.pipe(dW(0,void 0,{leading:!1,trailing:!0}),Zo((i,r)=>{for(const s of t)if(i[s]!==r[s])return!1;return!0}),e=>e.lift(new hRe(void 0)))}ngxsOnInit(){super.ngxsOnInit(),this.referenceData=this.injector.get(fc),this.page=this.injector.get(ji),this.globalConfig.getOption("organ").pipe(aF(),Pr(e=>{var t,i;const r=e.name.toLowerCase(),s=e.side;let a=this.idMatches(e.ontologyId,s);return a||(a=this.nameMatches(r,s)),a?(this.ctx.patchState({organ:a,sex:null===(t=e.sex)||void 0===t?void 0:t.toLowerCase(),side:null===(i=null==a?void 0:a.side)||void 0===i?void 0:i.toLowerCase()}),this.referenceData.state$.pipe(Zg(100),yi(1),Vk(200),Ti(()=>this.onOrganIriChange()))):ec})).subscribe(),this.modelChanged$.pipe(function(n){return e=>e.lift(new gRe(n))}(this.page.registrationStarted$.pipe(Fn(e=>e),Vk(5)))).subscribe(()=>this.page.setHasChanges())}idMatches(e,t){return g0.find(i=>!(!e||i.id!==e||i.side&&i.side!==t))}nameMatches(e,t){return g0.find(i=>i.side?i.organ.toLowerCase()===e&&i.side===t:i.organ.toLowerCase()===e)}setBlockSize(e){this.ctx.patchState({blockSize:e})}setRotation(e){this.ctx.patchState({rotation:e})}setPosition(e){var t;this.ga.event("placement",`${null===(t=this.snapshot.organ)||void 0===t?void 0:t.name}_placement`,`${e.x.toFixed(1)}_${e.y.toFixed(1)}_${e.z.toFixed(1)}`),this.ctx.patchState({position:e})}setSlicesConfig(e){this.ctx.patchState({slicesConfig:e})}setViewType(e){this.ctx.patchState({viewType:e})}setViewSide(e){this.ctx.patchState({viewSide:e})}get defaultPosition(){const e=this.snapshot.organDimensions;return{x:e.x+2*this.snapshot.blockSize.x,y:e.y/2,z:e.z/2}}setOrgan(e){this.ga.event("organ_select","organ",e.name),this.ctx.patchState({organ:e}),e.side&&this.ctx.patchState({side:e.side}),this.onOrganIriChange()}setSex(e){this.ctx.patchState({sex:e}),this.onOrganIriChange()}setSide(e){this.ctx.patchState({side:e}),this.onOrganIriChange()}setShowPrevious(e){this.ctx.patchState({showPrevious:e})}setExtractionSites(e){this.ctx.patchState({extractionSites:e})}setAnatomicalStructures(e){this.ctx.patchState({anatomicalStructures:e})}setExtractionSets(e){this.ctx.patchState({extractionSets:e})}toggleRegistrationBlocksVisibility(e,t){if(this.setShowPrevious(e),e){const i=t.map(r=>{var s;return Object.assign(Object.assign({},r),{opacity:Math.min(20,null!==(s=r.opacity)&&void 0!==s?s:20)})});this.setAnatomicalStructures(i)}else this.setAnatomicalStructures(t)}onOrganIriChange(){var e,t,i,r,s;const o=this.referenceData.getReferenceOrganIri((null===(e=this.snapshot.organ)||void 0===e?void 0:e.organ)||"",this.snapshot.sex,this.snapshot.side,this.snapshot.organ),a={x:100,y:100,z:100};if((null===(t=this.snapshot.organ)||void 0===t?void 0:t.sex)&&this.ctx.patchState({sex:null===(i=this.snapshot.organ)||void 0===i?void 0:i.sex}),o){const l=this.referenceData.snapshot,c={};for(const p of l.anatomicalStructures[o]||[]){const g=null!==(r=p.representation_of)&&void 0!==r?r:p["@id"];c[g]||(c[g]={id:null!==(s=p.representation_of)&&void 0!==s?s:p["@id"],name:p.label,visible:!0,opacity:20,tooltip:p.comment})}this.ctx.patchState({anatomicalStructures:Object.values(c)});const d=(l.extractionSets[o]||[]).map(p=>({name:p.label,sites:(0,uRe.sortBy)(p.extractionSites.map(g=>({id:g["@id"],name:g.label,visible:!1,opacity:0,tooltip:g.comment})),"name")}));this.ctx.patchState({extractionSets:d}),this.ctx.patchState({extractionSites:d.length>0?d[0].sites:[]});const f=l.organSpatialEntities[o];a.x=f.x_dimension,a.y=f.y_dimension,a.z=f.z_dimension}this.ctx.patchState({organIri:o,organDimensions:a}),this.ctx.patchState({position:this.defaultPosition})}};ai.\u0275fac=function(e){return new(e||ai)(I(xs),I(Nt),I(Ah))},ai.\u0275prov=ue({token:ai,factory:ai.\u0275fac}),xe([oi()],ai.prototype,"modelChanged$",null),xe([on()],ai.prototype,"setBlockSize",null),xe([on()],ai.prototype,"setRotation",null),xe([on()],ai.prototype,"setPosition",null),xe([on()],ai.prototype,"setSlicesConfig",null),xe([on()],ai.prototype,"setViewType",null),xe([on()],ai.prototype,"setViewSide",null),xe([oi()],ai.prototype,"defaultPosition",null),xe([on()],ai.prototype,"setOrgan",null),xe([on()],ai.prototype,"setSex",null),xe([on()],ai.prototype,"setSide",null),xe([on()],ai.prototype,"setShowPrevious",null),xe([on()],ai.prototype,"setExtractionSites",null),xe([on()],ai.prototype,"setAnatomicalStructures",null),xe([on()],ai.prototype,"setExtractionSets",null),ai=xe([xh(),cd({name:"model",defaults:{id:"",label:"",organ:{src:"",name:""},organIri:"",organDimensions:{x:90,y:90,z:90},sex:"male",side:"left",blockSize:{x:10,y:10,z:10},rotation:{x:0,y:0,z:0},position:{x:0,y:0,z:0},slicesConfig:{thickness:NaN,numSlices:NaN},viewType:"register",viewSide:"anterior",showPrevious:!1,extractionSites:[],anatomicalStructures:[],extractionSets:[]}})],ai);const T9=new ve("Default theme class");let YF=(()=>{class n{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(t){const{injector:i,location:r}=t;i.get(n).initialize(r,i)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,i){this.element=t,this.injector=i,this.applyThemeClass(this.getTheme())}applyThemeClass(t,i="add"){var r;const{element:s,injector:o}=this;if(!t||!s||!o)return;const a=o.get(zc,null);if(!a)return;const l=s.nativeElement,c=null===(r=o.get(hm,null))||void 0===r?void 0:r.getContainerElement(),d="add"===i?"addClass":"removeClass";a[d](l,t),c&&a[d](c,t)}}return n.\u0275fac=function(t){return new(t||n)(I(T9,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),CRe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-name-input",this.firstNameValidator=new Sh("",[lG.required]),this.lastNameValidator=new Sh("",[lG.required]),this._name={firstName:"",lastName:""},this.nameChange=new Le}get name(){return this._name}set name(t){this._name=t,this.firstNameValidator.setValue((null==t?void 0:t.firstName)||""),this.lastNameValidator.setValue((null==t?void 0:t.lastName)||"")}updateName(t,i){const r=t.target;this.name=Object.assign(Object.assign({},this.name),{[i]:r.value}),this.ga.event("name_updated","name_input",i),this.nameChange.emit(this.name)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-name-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{name:"name"},outputs:{nameChange:"nameChange"},decls:8,vars:2,consts:[[1,"field"],[1,"text","label"],["matInput","","matTooltip","Add your first name.",1,"input",3,"value","input"],["matInput","","matTooltip","Add your last name.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"mat-form-field",0),R(1,"mat-label",1),De(2,"First Name "),k(),R(3,"input",2),ge("input",function(s){return i.updateName(s,"firstName")}),k(),k(),R(4,"mat-form-field",0),R(5,"mat-label",1),De(6,"Last Name "),k(),R(7,"input",3),ge("input",function(s){return i.updateName(s,"lastName")}),k(),k()),2&t&&(G(3),ie("value",i.firstNameValidator.value),G(4),ie("value",i.lastNameValidator.value))},directives:[am,Gf,Xb,dc],styles:["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:left;width:100%}"],changeDetection:0}),n})();const wRe=["thumbContainer"],ERe=["toggleBar"],SRe=["input"],MRe=function(n){return{enterDuration:n}},xRe=["*"],TRe=new ve("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let ARe=0;const DRe={provide:ro,useExisting:T(()=>A9),multi:!0};class ORe{constructor(e,t){this.source=e,this.checked=t}}const IRe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let A9=(()=>{class n extends IRe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++ARe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new Le,this.toggleChange=new Le,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=Mt(t)}get checked(){return this._checked}set checked(t){this._checked=Mt(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new ORe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),Zr("tabindex"),E(TRe),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(Jn(wRe,5),Jn(ERe,5),Jn(SRe,5)),2&t){let r;_t(r=yt())&&(i._thumbEl=r.first),_t(r=yt())&&(i._thumbBarEl=r.first),_t(r=yt())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),st("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Dt([DRe]),ct],ngContentSelectors:xRe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"div",2,3),R(4,"input",4,5),ge("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(6,"div",6,7),tt(8,"div",8),R(9,"div",9),tt(10,"div",10),k(),k(),k(),R(11,"span",11,12),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(13,"span",13),De(14,"\xa0"),k(),Ht(15),k(),k()),2&t){const r=vs(1),s=vs(12);nn("for",i.inputId),G(2),st("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),G(2),ie("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),nn("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(5),ie("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,MRe,i._noopAnimations?0:150))}},directives:[Js,WD],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),D9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),O9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[D9,_l,On,SE],D9,On]}),n})(),XF=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-labeled-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new Le}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.ga.event("slide_toggle_toggled","slide_toggle",this.value),this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-labeled-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=Zi();R(0,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left||o.toggle(),i.updateToggle(!0)}),De(1),k(),R(2,"mat-slide-toggle",1,2),ge("change",function(o){return i.updateToggle(!o.checked)}),k(),R(4,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left&&o.toggle(),i.updateToggle(!1)}),De(5),k()}2&t&&(st("disabled",i.disabled)("highlighted",i.left),G(1),xi(i.labels[0]),G(1),ie("disabled",i.disabled)("checked",!i.left),G(2),st("disabled",i.disabled)("highlighted",!i.left),G(1),xi(i.labels[1]))},directives:[A9],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%;cursor:not-allowed}"],changeDetection:0}),n})();const kRe=function(){return["Male","Female"]},FRe=function(n){return[n]};let NRe=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.dialogRef=r,this.clsName="ccf-registration-content",this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.organList=qF,r.disableClose=!0}setSexFromLabel(t){this.currentSex=t,this.sexSelected=!0}checkNameValid(t){this.nameValid=t.firstName.length>0&&t.lastName.length>0}organSelect(t){this.currentOrgan=t,this.organSelected=!0}registerButtonClick(t){t&&t.preventDefault(),this.organSelected&&this.nameValid&&this.closeDialog()}closeDialog(){this.model.setSex("Female"===this.currentSex?"female":"male"),this.model.setOrgan(this.currentOrgan),this.dialogRef.close(!0),this.page.registrationStarted()}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Qm))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:17,vars:18,consts:[[1,"modal"],["mat-dialog-content",""],[3,"name","nameChange"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"labels","value","valueChange"],[1,"selector-label"],[1,"selector-container"],[3,"organList","selectedOrgans","expanded","organsChanged"],["organSelector",""],["mat-button","",1,"registration-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"ccf-name-input",2),ge("nameChange",function(s){return i.page.setUserName(s),i.checkNameValid(s)}),Kt(3,"async"),k(),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),R(9,"div",6),De(10,"Select an organ"),k(),R(11,"div",7),R(12,"ccf-organ-selector",8,9),ge("organsChanged",function(s){return i.organSelect(s[0])}),Kt(14,"async"),k(),k(),k(),R(15,"button",10),ge("click",function(s){return i.registerButtonClick(s)}),De(16,"START REGISTRATION"),k(),k()),2&t&&(G(2),ie("name",rn(3,9,i.page.user$)),G(5),ie("labels",fv(15,kRe))("value",rn(8,11,i.sexByLabel$)),G(5),ie("organList",i.organList)("selectedOrgans",Hg(16,FRe,rn(14,13,i.model.organ$)))("expanded",!0),G(3),st("disabled",!i.organSelected||!i.nameValid),ie("matTooltip",i.organSelected&&i.nameValid?"":"Required: Enter first and last name, and select an organ"))},directives:[CRe,dc,XF,p9,lh],pipes:[Hc],styles:[".modal[_ngcontent-%COMP%]{padding:1rem;border-radius:4px;max-width:47rem}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}.modal[_ngcontent-%COMP%] .selector-label[_ngcontent-%COMP%]{font-weight:600;height:3rem;line-height:3rem}.modal[_ngcontent-%COMP%] .selector-container[_ngcontent-%COMP%]{margin:0 auto}.modal[_ngcontent-%COMP%] .registration-button[_ngcontent-%COMP%]{display:block;margin:2rem auto 0;transition:.6s}.modal[_ngcontent-%COMP%] .registration-button.disabled[_ngcontent-%COMP%]{pointer-events:none}"],changeDetection:0}),n})(),LRe=(()=>{class n{constructor(t,i,r){this.dialog=t,this.page=i,this.model=r,this.clsName="ccf-registration-modal"}ngOnInit(){Qi([this.page.user$,this.model.organ$]).pipe(Zg(500),yi(1),Ti(([t,i])=>{""!==t.firstName&&""!==t.lastName&&""!==i.src||this.openDialog()})).subscribe()}openDialog(){this.dialog.open(NRe,{autoFocus:!1})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(ji),E(ai))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:0,vars:0,template:function(t,i){},encapsulation:2}),n})();function BRe(n,e){1&n&&function(n,e,t){_f(n,e,t),yf()}(0)}function VRe(n,e){if(1&n){const t=Zi();R(0,"div",4),ge("click",function(){return en(t),Qe().page.cancelRegistration()}),R(1,"mat-icon",5),De(2,"chevron_left"),k(),R(3,"span",6),De(4,"BACK"),k(),k()}}function zRe(n,e){if(1&n&&(R(0,"a",7),tt(1,"div",8),k()),2&n){const t=Qe();ie("href",t.homeUrl,Ud)("matTooltip",t.logoTooltip)}}let jRe=(()=>{class n{constructor(t){this.page=t,this.clsName="ccf-header"}}return n.\u0275fac=function(t){return new(t||n)(E(ji))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-header"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{homeUrl:"homeUrl",logoTooltip:"logoTooltip"},decls:7,vars:5,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["backButton",""],["logo",""],[1,"filler"],["rel","noreferrer noopener",1,"link","home",3,"click"],[1,"icon","backbutton"],[1,"text"],["rel","noreferrer noopener","matTooltipPosition","right",1,"link","portal",3,"href","matTooltip"],["aria-hidden","false","aria-label","Reset tool",1,"logo"]],template:function(t,i){if(1&t&&(mt(0,BRe,1,0,"ng-container",0),Kt(1,"async"),mt(2,VRe,5,0,"ng-template",null,1,jw),mt(4,zRe,2,2,"ng-template",null,2,jw),tt(6,"div",3)),2&t){const r=vs(3),s=vs(5);ie("ngIf",rn(1,3,i.page.useCancelRegistrationCallback$))("ngIfThen",r)("ngIfElse",s)}},directives:[zr,rs,dc],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid}[_nghost-%COMP%] .text[_ngcontent-%COMP%]{padding:.25rem 0;height:2rem;display:flex;align-items:center;font-weight:lighter;font-size:1.5rem}[_nghost-%COMP%] .link[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;text-decoration:none;padding:.25rem 0}[_nghost-%COMP%] .home[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{transition:color .6s}[_nghost-%COMP%] .home[_ngcontent-%COMP%] .backbutton[_ngcontent-%COMP%]{font-size:2.25rem;width:2.25rem;height:2.25rem}[_nghost-%COMP%] .portal[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex}[_nghost-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}"],changeDetection:0}),n})();const I9={isolated:!0},P9=new ve("Message service configuration",{providedIn:"root",factory:()=>I9});let URe=(()=>{class n{constructor(t,i,r){this.source=t,this.channel=i,this.messages=r}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(Fn(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(Fn(i=>i.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(Fn(i=>t.includes(i.source)))}nextMessageId(){return n.counter++}}return n.counter=0,n})();const _0=(()=>{class n{constructor(t,i){this.config=t,this.parent=i,this.channel=new Se,this.messages=t.isolated||!i?this.channel.asObservable():ui([this.channel,i.messages.pipe(qj(()=>!this.channel.closed))]).pipe(uo())}ngOnDestroy(){this.channel.complete()}connect(t){return new URe(t,this.channel,this.messages)}}return n.\u0275fac=function(t){return new(t||n)(I(P9),I(n,12))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),HRe=["*"];let bx=(()=>{class n{constructor(t,i){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new Te;const r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const i=t.source.position,{opened:r,width:s,margin:o}=t.payload;return this.updateMargin(i,r,s,o),this.updateFaded(),!0}default:return!1}}updateMargin(t,i,r,s){const o=i?r+s:s;"start"===t?this.leftMargin=o:this.rightMargin=o}updateFaded(){const[t,i]=this.drawers;this.faded=!!((null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,i){2&t&&(Pg("@fadeInOut",i.faded),Rn(i.className),vf("margin-left",i.leftMargin,"px")("margin-right",i.rightMargin,"px"),st("cff-drawer-content-animations",i.animationsEnabled))},ngContentSelectors:HRe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[tc("fadeInOut",[wr("false",ti({opacity:1})),wr("true",ti({opacity:0})),Qs("false <=> true",Ao("1s"))])]},changeDetection:0}),n})();const $Re=["*"],KF={params:{width:0,margin:0,margin2:0}};class GRe{constructor(){this.initialized=!1,this.deferred=new Promise(e=>{this.resolve=e})}set(){this.initialized=!0,this.resolve()}wait(){return yl(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let ZF=(()=>{class n{constructor(t,i,r){this.element=r,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Le(!0),this.expandedChange=new Le(!0),this.stateChange=new Le(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new GRe,this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(Mt(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(Mt(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const i=t.getBoundingClientRect(),r=i.right-i.left;return 0===r?0:(this._measuredWidth=r,r)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const s=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),o=Number(s.slice(0,-2));return this._measuredMargin=o,o}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return yl(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn),E(rt))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,i){1&t&&Qy("@openClose.done",function(){return i.closeOpenDone()})("@expandCollapse.done",function(){return i.expandCollapseDone()}),2&t&&(Pg("@openClose",i.openedState)("@expandCollapse",i.expandedStateObj),Rn(i.className),st("ccf-drawer-end",i.classEnd)("ccf-drawer-opened",i.opened)("ccf-drawer-expanded",i.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:$Re,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%)}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[tc("openClose",[wr("open, open-instant",ti({transform:"none"})),wr("closed",ti({})),Qs("closed => open-instant",Ao(0)),Qs("closed <=> open, open-instant => closed",Ao(".5s ease-in-out"))]),tc("expandCollapse",[wr("collapsed",ti({})),wr("half",ti({width:"calc(50% - {{ margin }}px)"}),KF),wr("extended",ti({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),KF),wr("full",ti({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),KF),Qs("* <=> *",Ao(".5s ease-in-out"))])]},changeDetection:0}),n})();function WRe(n,e){1&n&&(R(0,"ccf-drawer-content"),Ht(1,2),k())}const qRe=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],YRe=["ccf-drawer","ccf-drawer-content","*"];function R9(n){throw new Error(`Multiple drawers in position ${n}`)}let XRe=(()=>{class n{constructor(t,i){this.cdr=i,this.className="ccf-drawer-container",this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(r=>{this.handleMessage(r)&&i.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(Rr(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(Rr(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),i=t.filter(s=>"start"===s.position),r=t.filter(s=>"end"===s.position);return i.length>1&&R9("start"),r.length>1&&R9("end"),[i[0],r[0]]}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-container"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,ZF,5),ei(r,bx,5)),2&t){let s;_t(s=yt())&&(i.drawers=s),_t(s=yt())&&(i.content1=s)}},viewQuery:function(t,i){if(1&t&&Jn(bx,5),2&t){let r;_t(r=yt())&&(i.content2=r)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.className)},exportAs:["ccfDrawerContainer"],features:[Dt([_0])],ngContentSelectors:YRe,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&(wi(qRe),Ht(0),Ht(1,1),mt(2,WRe,2,0,"ccf-drawer-content",0)),2&t&&(G(2),ie("ngIf",!i.hasWrappedContent))},directives:[zr,bx],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),n})();var Cx,KRe=ze(457),ZRe=new Uint8Array(16);function QRe(){if(!Cx&&!(Cx="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cx(ZRe)}const JRe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,tke=function(n){return"string"==typeof n&&JRe.test(n)};for(var Ls=[],QF=0;QF<256;++QF)Ls.push((QF+256).toString(16).substr(1));const ske=function(n,e,t){var i=(n=n||{}).random||(n.rng||QRe)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Ls[n[e+0]]+Ls[n[e+1]]+Ls[n[e+2]]+Ls[n[e+3]]+"-"+Ls[n[e+4]]+Ls[n[e+5]]+"-"+Ls[n[e+6]]+Ls[n[e+7]]+"-"+Ls[n[e+8]]+Ls[n[e+9]]+"-"+Ls[n[e+10]]+Ls[n[e+11]]+Ls[n[e+12]]+Ls[n[e+13]]+Ls[n[e+14]]+Ls[n[e+15]]).toLowerCase();if(!tke(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function k9(n){const e=new $t(n.transformMatrix),t=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return new Di({lowerBound:new S(...t.map((r,s)=>Math.min(r,i[s]))),upperBound:new S(...i.map((r,s)=>Math.max(r,t[s])))})}let as=class extends Jm{constructor(e){super(),this.injector=e,this.gizmo$=ht([{"@id":"http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface","@type":"SpatialSceneNode",scenegraph:"https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb",transformMatrix:new $t($t.IDENTITY).scale([2,2,2]).rotateY(ib(0)),tooltip:"Gizmo",unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!1,color:[255,255,255,255],opacity:1}])}get nodes$(){return Qi([this.placementCube$,this.referenceOrganNodes$,this.previousRegistrationNodes$,this.nodeCollisions$]).pipe(Ae(([e,t,i,r])=>[...e,...i,...t,...this.snapshot.showCollisions?r:[]]))}get rotatedNodes$(){return Qi([this.rotation$,this.nodes$]).pipe(Ae(([e,t])=>0===e?t:t.map(i=>Object.assign(Object.assign({},i),{transformMatrix:new $t($t.IDENTITY).rotateY(ib(e)).multiplyRight(i.transformMatrix)}))))}get referenceOrganNodes$(){return Qi([this.model.anatomicalStructures$,this.model.extractionSites$,this.model.organIri$]).pipe(Zg(400),Ae(([e,t,i])=>this.createSceneNodes(i,[...e,...t])))}get referenceOrganSimpleNodes$(){return Qi([this.model.anatomicalStructures$,this.model.organIri$,this.referenceData.state$]).pipe(Ae(([e,t,i])=>e.map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.simpleSceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[t]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.simpleSceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])))}get nodeCollisions$(){return Qi([this.referenceOrganSimpleNodes$,this.placementCube$]).pipe(Fn(([e,t])=>t.length>0),Ae(([e,t])=>{const i=k9(t[0]);return e.filter(r=>i.overlaps(k9(r)))}))}get previousRegistrationNodes$(){return Qi([this.model.organIri$,this.model.showPrevious$,this.registration.previousRegistrations$]).pipe(Ae(([e,t,i])=>t?i.map(r=>{const s=Array.isArray(r.placement)?r.placement[0]:r.placement;if(s.target===e){const o=this.model.snapshot.organDimensions,a=[o.x,o.y,o.z].map(l=>-l/1e3/2);return{"@id":r["@id"],"@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([s.x_translation,s.y_translation,s.z_translation].map((l,c)=>l/1e3+a[c])).rotateXYZ([s.x_rotation,s.y_rotation,s.z_rotation].map(ib)).scale([r.x_dimension,r.y_dimension,r.z_dimension].map(l=>l/1e3/2)),color:[25,118,210,200],tooltip:r.label,unpickable:!0}}}).filter(r=>!!r):[]))}get placementCube$(){return Qi([this.model.viewType$,this.model.blockSize$,this.model.rotation$,this.model.position$,this.model.organ$]).pipe(Ae(([e,t,i,r,s])=>""===s.src?[]:[this.placementCube]))}get placementCube(){const{viewType:e,blockSize:t,rotation:i,position:r,organDimensions:s}=this.model.snapshot,o=[s.x,s.y,s.z].map(a=>-a/1e3/2);return{"@id":"#DraftPlacement","@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([r.x,r.y,r.z].map((a,l)=>a/1e3+o[l])).rotateXYZ([i.x,i.y,i.z].map(ib)).scale([t.x,t.y,t.z].map(a=>a/1e3/2)),color:[255,255,0,200],tooltip:"Draft Placement",unpickable:"3d"===e}}get rotation$(){return this.model.viewSide$.pipe(Ae(e=>{let t=0;switch(e){case"left":t=-90;break;case"right":t=90;break;case"posterior":t=180}return t}))}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.registration=this.injector.get(Sr),this.referenceData=this.injector.get(fc)}createSceneNodes(e,t){const i=this.referenceData.snapshot;return t.filter(r=>r.visible&&r.opacity&&r.opacity>0).map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.sceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[e]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.sceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])}};as.\u0275fac=function(e){return new(e||as)(I(Nt))},as.\u0275prov=ue({token:as,factory:as.\u0275fac}),xe([oi()],as.prototype,"nodes$",null),xe([oi()],as.prototype,"rotatedNodes$",null),xe([oi()],as.prototype,"referenceOrganNodes$",null),xe([oi()],as.prototype,"referenceOrganSimpleNodes$",null),xe([oi()],as.prototype,"nodeCollisions$",null),xe([oi()],as.prototype,"previousRegistrationNodes$",null),xe([oi()],as.prototype,"placementCube$",null),xe([oi()],as.prototype,"placementCube",null),xe([oi()],as.prototype,"rotation$",null),as=xe([xh(),cd({name:"scene",defaults:{showCollisions:!hu.production}})],as);let ko=class extends uDe{constructor(e){super(),this.injector=e,this._latestTags=[]}get tags$(){return Qi([this.entities$,this.scene.nodeCollisions$]).pipe(Ae(([e,t])=>{const i=[],r=new Set,s=new Set;Object.entries(e).forEach(([o,a])=>{"removed"===a.type?s.add(o):(r.add(o),i.push(a))});for(const o of t){const a=o.representation_of;a&&!s.has(a)&&!r.has(a)&&(r.add(a),i.push({id:a,label:o.tooltip,type:"assigned"}))}return i}))}get latestTags(){return this._latestTags}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.scene=this.injector.get(as),this.page=this.injector.get(ji),this.tags$.subscribe(e=>{this._latestTags=e}),this.entities$.subscribe(()=>this.page.setHasChanges())}addTags(e){for(const t of e)this.addTagRaw(t)}addTag(e){this.addTagRaw(e)}removeTag(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"removed"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"removed"}))}searchExternal(e,t){const i=this.model.snapshot.anatomicalStructures.filter(r=>-1!==r.name.toLowerCase().indexOf(e.toLowerCase()));return[{totalCount:i.length,results:i.map(r=>({id:r.id,label:r.name,type:"added"})).slice(0,t)}]}addTagRaw(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"added"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"added"}))}};ko.\u0275fac=function(e){return new(e||ko)(I(Nt))},ko.\u0275prov=ue({token:ko,factory:ko.\u0275fac}),xe([oi()],ko.prototype,"tags$",null),xe([on()],ko.prototype,"addTags",null),xe([on()],ko.prototype,"addTag",null),xe([on()],ko.prototype,"removeTag",null),xe([lu.ak],ko.prototype,"searchExternal",null),ko=xe([xh(),cd({name:"tags",defaults:Object.assign({},{ids:[],entities:{}})})],ko);let Sr=class extends Jm{constructor(e,t){super(),this.injector=e,this.globalConfig=t,this.displayErrors$=this.state$.pipe(ur("displayErrors"))}get metadata$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildMetadata(e,t,i)))}get jsonld$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildJsonLd(e,t,i)))}get valid$(){return Qi([this.page.state$,this.model.state$]).pipe(Ae(()=>this.isValid))}get previousRegistrations$(){const{globalConfig:e,state$:t}=this;return Qi([t.pipe(ur("registrations")),e.getOption("fetchPreviousRegistrations").pipe(Pr(s=>{var o;return null!==(o=null==s?void 0:s())&&void 0!==o?o:[[]]}),Rr([]))]).pipe(Ae(([s,o])=>[...s,...o]))}get currentIdentifier(){return ske()}get currentDate(){return(new Date).toISOString().split("T")[0]}ngxsOnInit(){super.ngxsOnInit(),this.page=this.injector.get(ji),this.model=this.injector.get(ai),this.tags=this.injector.get(ko),this.refData=this.injector.get(fc),this.globalConfig.config$.pipe(yi(1),Ti(({useDownload:e,register:t})=>this.ctx.patchState({useRegistrationCallback:!(e||!t)}))).subscribe(),this.globalConfig.getOption("editRegistration").pipe(aF(),Ti(e=>this.editRegistration(e))).subscribe()}editRegistration(e){return yl(this,void 0,void 0,function*(){const t=this.refData.normalizePlacement(Array.isArray(e.placement)?e.placement[0]:e.placement),i=this.refData.getOrganData(t.target);this.page.setUserName({firstName:e.creator_first_name,lastName:e.creator_last_name}),i&&(this.model.setOrgan(i.organ),i.sex&&this.model.setSex(i.sex),i.side&&this.model.setSide(i.side)),this.model.setBlockSize({x:e.x_dimension,y:e.y_dimension,z:e.z_dimension}),this.model.setRotation({x:t.x_rotation,y:t.y_rotation,z:t.z_rotation}),this.model.setSlicesConfig({thickness:e.slice_thickness||NaN,numSlices:e.slice_count||NaN}),yield new Promise(s=>{setTimeout(s,1e3)}),this.model.setPosition({x:t.x_translation,y:t.y_translation,z:t.z_translation});const r=new Set(e.ccf_annotations);this.tags.addTags(this.model.snapshot.anatomicalStructures.filter(s=>r.has(s.id)).map(s=>({id:s.id,label:s.name,type:"added"}))),this.page.registrationStarted()})}setUseRegistrationCallback(e){this.ctx.patchState({useRegistrationCallback:e})}setDisplayErrors(e){this.ctx.patchState({displayErrors:e})}addRegistration(e){this.ctx.setState(m0({registrations:vRe(e)}))}isDataValid(e,t){return[e.user.firstName,e.user.lastName,t.organ.src,t.organ.name,t.organ.organ].every(r=>!!r)}get isValid(){return this.isDataValid(this.page.snapshot,this.model.snapshot)}register(e){if(!this.isValid)return;const{globalConfig:{snapshot:{register:t}},page:i,model:r,snapshot:s}=this,o=this.buildJsonLd(i.snapshot,r.snapshot,this.tags.latestTags),a=JSON.stringify(o,void 0,2);if(e||void 0===e&&s.useRegistrationCallback)null==t||t(a);else{const l=new Blob([a],{type:"application/json",endings:"native"});(0,KRe.saveAs)(l,"registration-data.json")}this.addRegistration(o),this.setDisplayErrors(!1),this.page.clearHasChanges()}buildMetadata(e,t,i){const r=[];return e.registrationCallbackSet||r.push({label:"First Name",value:e.user.firstName},{label:"Last Name",value:e.user.lastName}),r.push({label:"Reference Organ Name",value:t.organ.name},{label:"Tissue Block Dimensions (mm)",value:this.xyzTripletToString(t.blockSize)},{label:"Tissue Block Position (mm)",value:this.xyzTripletToString(t.position)},{label:"Tissue Block Rotation",value:this.xyzTripletToString(t.rotation)},{label:"Anatomical Structure Tags",value:i.map(s=>s.label).join(", ")},{label:"Time Stamp",value:this.currentDate},{label:"Alignment ID",value:this.currentIdentifier}),r}buildJsonLd(e,t,i){var r,s;return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}`,"@type":"SpatialEntity",label:t.label||void 0,creator:`${e.user.firstName} ${e.user.lastName}`,creator_first_name:e.user.firstName,creator_last_name:e.user.lastName,creation_date:this.currentDate,ccf_annotations:i.map(o=>o.id),slice_thickness:(null===(r=t.slicesConfig)||void 0===r?void 0:r.thickness)||void 0,slice_count:(null===(s=t.slicesConfig)||void 0===s?void 0:s.numSlices)||void 0,x_dimension:+t.blockSize.x.toFixed(3),y_dimension:+t.blockSize.y.toFixed(3),z_dimension:+t.blockSize.z.toFixed(3),dimension_units:"millimeter",placement:{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,"@type":"SpatialPlacement",target:t.organIri,placement_date:this.currentDate,x_scaling:1,y_scaling:1,z_scaling:1,scaling_units:"ratio",x_rotation:+t.rotation.x.toFixed(3),y_rotation:+t.rotation.y.toFixed(3),z_rotation:+t.rotation.z.toFixed(3),rotation_order:"XYZ",rotation_units:"degree",x_translation:+t.position.x.toFixed(3),y_translation:+t.position.y.toFixed(3),z_translation:+t.position.z.toFixed(3),translation_units:"millimeter"}}}xyzTripletToString(e){return`${Math.round(e.x)}, ${Math.round(e.y)}, ${Math.round(e.z)}`}};function ake(n,e){if(1&n){const t=Zi();R(0,"mat-icon",2),ge("click",function(){return en(t),Qe().setAllOpacity(20)}),De(1,"refresh"),k()}2&n&&ie("matRippleCentered",!0)("matRippleUnbounded",!0)}function lke(n,e){if(1&n){const t=Zi();R(0,"div",3),ge("mouseenter",function(){const s=en(t).$implicit;return Qe().mouseOver(s)})("mouseleave",function(){return en(t),Qe().mouseOut()}),tt(1,"mat-icon",4),R(2,"div",5),De(3),k(),R(4,"div",6),R(5,"ccf-opacity-slider",7,8),ge("opacityChange",function(r){return en(t),Qe().updateOpacity(r)})("opacityReset",function(){return en(t),Qe().resetItem()})("visibilityToggle",function(){const s=en(t).$implicit;return Qe().toggleVisibility(s)}),k(),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("selected",!!i.selection&&i.getId(0,i.selection)===i.getId(0,t)),G(1),st("fade",!t.visible),G(1),st("hidden",t.id===(null==i.selection?null:i.selection.id)),Jy("title",t.name),G(1),xi(t.name),G(1),st("hidden",t.id!==(null==i.selection?null:i.selection.id)),G(1),ie("visible",t.visible)("opacity",i.selection?null==i.selection?null:i.selection.opacity:20)}}Sr.\u0275fac=function(e){return new(e||Sr)(I(Nt),I(Ah))},Sr.\u0275prov=ue({token:Sr,factory:Sr.\u0275fac}),xe([oi()],Sr.prototype,"metadata$",null),xe([oi()],Sr.prototype,"jsonld$",null),xe([oi()],Sr.prototype,"valid$",null),xe([oi()],Sr.prototype,"previousRegistrations$",null),xe([oi()],Sr.prototype,"currentIdentifier",null),xe([oi()],Sr.prototype,"currentDate",null),xe([on()],Sr.prototype,"setUseRegistrationCallback",null),xe([on()],Sr.prototype,"setDisplayErrors",null),xe([on()],Sr.prototype,"addRegistration",null),xe([oi()],Sr.prototype,"isValid",null),Sr=xe([xh(),cd({name:"registration",defaults:{useRegistrationCallback:!1,displayErrors:!1,registrations:[]}})],Sr);let cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-menu",this.hover=new Le,this.itemsChange=new Le}toggleVisibility(t){t=Object.assign(Object.assign({},t),{visible:!t.visible}),this.selection&&t.id===this.selection.id&&(this.selection=Object.assign(Object.assign({},this.selection),{visible:t.visible})),this.ga.event("visibility_toggled","visibility_menu",""+t.id,+t.visible),this.updateOpacity(t.opacity)}mouseOver(t){this.selection=t===this.selection?void 0:t,this.hover.emit(t)}mouseOut(){this.selection=void 0,this.hover.emit(void 0)}updateOpacity(t){if(!this.selection)return;const i=Object.assign(Object.assign({},this.selection),{opacity:t});this.selection=i,this.items=this.items.map(r=>r.id===i.id?i:r),this.ga.event("opacity_update","visibility_menu",""+i.id,i.opacity),this.itemsChange.emit(this.items)}resetItem(){if(this.selection){const t=Object.assign(Object.assign({},this.selection),{opacity:20,visible:!0});this.selection=t,this.items=this.items.map(i=>i.id===t.id?t:i),this.ga.event("item_reset","visibility_menu",""+t.id),this.itemsChange.emit(this.items)}}setAllOpacity(t){this.items=this.items.map(i=>Object.assign(Object.assign({},i),{opacity:t,visible:!0})),this.ga.event("all_items_opacity_update","visibility_menu",void 0,t),this.itemsChange.emit(this.items)}getId(t,i){return i.id}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-menu"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{items:"items",selection:"selection"},outputs:{hover:"hover",itemsChange:"itemsChange"},decls:2,vars:3,consts:[["class","icon reset","matRipple","",3,"matRippleCentered","matRippleUnbounded","click",4,"ngIf"],["class","item-entry",3,"selected","mouseenter","mouseleave",4,"ngFor","ngForOf","ngForTrackBy"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"item-entry",3,"mouseenter","mouseleave"],["svgIcon","app:opacity",1,"opacity-icon"],[1,"item-name",3,"title"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider",""]],template:function(t,i){1&t&&(mt(0,ake,2,2,"mat-icon",0),mt(1,lke,7,12,"div",1)),2&t&&(ie("ngIf",i.items.length),G(1),ie("ngForOf",i.items)("ngForTrackBy",i.getId))},directives:[zr,pl,rs,Js,LPe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;margin-right:0;margin-left:0;max-height:18rem;overflow-y:auto;scrollbar-width:thin}[_nghost-%COMP%] .icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s;position:absolute;top:3rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%]{display:flex;height:2.25rem;align-items:center;flex-shrink:0;position:relative}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]{z-index:1;transition:.6s}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:.5rem;opacity:1;transition-duration:.4s;transition-timing-function:ease-in-out;transition-property:opacity;max-width:calc(100% - 2.5rem)}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:calc(100% - 2rem);transition-duration:.3s;transition-timing-function:ease-in-out;transition-property:opacity;left:2rem;position:absolute;opacity:1}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.1s;transition-timing-function:ease-in-out;transition-property:opacity}"],changeDetection:0}),n})();const uke=["*"],F9=new ve("MatChipRemove"),N9=new ve("MatChipAvatar"),L9=new ve("MatChipTrailingIcon");class dke{constructor(e){this._elementRef=e}}const hke=Hf(Uf(nc(dke),"primary"),-1);let y0=(()=>{class n extends hke{constructor(t,i,r,s,o,a,l,c){super(t),this._ngZone=i,this._changeDetectorRef=o,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new Se,this._onBlur=new Se,this.selectionChange=new Le,this.destroyed=new Le,this.removed=new Le,this._addHostClassName(),this._chipRippleTarget=a.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new oj(this,i,this._chipRippleTarget,r),this._chipRipple.setupTriggerEvents(t),this.rippleConfig=s||{},this._animationsDisabled="NoopAnimations"===l,this.tabIndex=null!=c&&parseInt(c)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(t){const i=Mt(t);i!==this._selected&&(this._selected=i,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(t){this._value=t}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(t){this._selectable=Mt(t)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get removable(){return this._removable}set removable(t){this._removable=Mt(t)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const t="mat-basic-chip",i=this._elementRef.nativeElement;i.hasAttribute(t)||i.tagName.toLowerCase()===t?i.classList.add(t):i.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(t=!1){return this._selected=!this.selected,this._dispatchSelectionChange(t),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(t){this.disabled?t.preventDefault():t.stopPropagation()}_handleKeydown(t){if(!this.disabled)switch(t.keyCode){case 46:case 8:this.remove(),t.preventDefault();break;case 32:this.selectable&&this.toggleSelected(!0),t.preventDefault()}}_blur(){this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(t=!1){this.selectionChange.emit({source:this,isUserInput:t,selected:this._selected})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(kn),E(ut),E(Do,8),Zr("tabindex"))},n.\u0275dir=oe({type:n,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(t,i,r){if(1&t&&(ei(r,N9,5),ei(r,L9,5),ei(r,F9,5)),2&t){let s;_t(s=yt())&&(i.avatar=s.first),_t(s=yt())&&(i.trailingIcon=s.first),_t(s=yt())&&(i.removeIcon=s.first)}},hostAttrs:["role","option",1,"mat-chip","mat-focus-indicator"],hostVars:14,hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i.focus()})("blur",function(){return i._blur()}),2&t&&(nn("tabindex",i.disabled?null:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString())("aria-selected",i.ariaSelected),st("mat-chip-selected",i.selected)("mat-chip-with-avatar",i.avatar)("mat-chip-with-trailing-icon",i.trailingIcon||i.removeIcon)("mat-chip-disabled",i.disabled)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[ct]}),n})(),B9=(()=>{class n{constructor(t,i){this._parentChip=t,"BUTTON"===i.nativeElement.nodeName&&i.nativeElement.setAttribute("type","button")}_handleClick(t){const i=this._parentChip;i.removable&&!i.disabled&&i.remove(),t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(y0),E(rt))},n.\u0275dir=oe({type:n,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})},features:[Dt([{provide:F9,useExisting:n}])]}),n})();const V9=new ve("mat-chips-default-options"),gke=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let mke=0;class _ke{constructor(e,t){this.source=e,this.value=t}}let z9=(()=>{class n extends gke{constructor(t,i,r,s,o,a,l){super(a,s,o,l),this._elementRef=t,this._changeDetectorRef=i,this._dir=r,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new Se,this._uid="mat-chip-list-"+mke++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(c,d)=>c===d,this._required=!1,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){var t,i;return this.multiple?(null===(t=this._selectionModel)||void 0===t?void 0:t.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get role(){return this.empty?null:"listbox"}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){this.writeValue(t),this._value=t}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this._syncChipsState()}get selectable(){return this._selectable}set selectable(t){this._selectable=Mt(t),this.chips&&this.chips.forEach(i=>i.chipListSelectable=this._selectable)}set tabIndex(t){this._userTabIndex=t,this._tabIndex=t}get chipSelectionChanges(){return Ni(...this.chips.map(t=>t.selectionChange))}get chipFocusChanges(){return Ni(...this.chips.map(t=>t._onFocus))}get chipBlurChanges(){return Ni(...this.chips.map(t=>t._onBlur))}get chipRemoveChanges(){return Ni(...this.chips.map(t=>t.destroyed))}ngAfterContentInit(){this._keyManager=new nO(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(t=>this._keyManager.withHorizontalOrientation(t)),this._keyManager.tabOut.pipe(Tn(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe(Rr(null),Tn(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new lS(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(t){this._chipInput=t,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",t.id)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}writeValue(t){this.chips&&this._setSelectionByValue(t,!1)}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this.stateChanges.next()}onContainerClick(t){this._originatesFromChip(t)||this.focus()}focus(t){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(t),this.stateChanges.next()))}_focusInput(t){this._chipInput&&this._chipInput.focus(t)}_keydown(t){const i=t.target;i&&i.classList.contains("mat-chip")&&(this._keyManager.onKeydown(t),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const t=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(t)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(t){return t>=0&&tr.deselect()),Array.isArray(t))t.forEach(r=>this._selectValue(r,i)),this._sortValues();else{const r=this._selectValue(t,i);r&&i&&this._keyManager.setActiveItem(r)}}_selectValue(t,i=!0){const r=this.chips.find(s=>null!=s.value&&this._compareWith(s.value,t));return r&&(i?r.selectViaInteraction():r.select(),this._selectionModel.select(r)),r}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(t){this._selectionModel.clear(),this.chips.forEach(i=>{i!==t&&i.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(t=>{t.selected&&this._selectionModel.select(t)}),this.stateChanges.next())}_propagateChanges(t){let i=null;i=Array.isArray(this.selected)?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.change.emit(new _ke(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(t=>{t.source.selected?this._selectionModel.select(t.source):this._selectionModel.deselect(t.source),this.multiple||this.chips.forEach(i=>{!this._selectionModel.isSelected(i)&&i.selected&&i.deselect()}),t.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(t=>{let i=this.chips.toArray().indexOf(t.chip);this._isValidIndex(i)&&this._keyManager.updateActiveItem(i),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(t=>{const i=t.chip,r=this.chips.toArray().indexOf(t.chip);this._isValidIndex(r)&&i._hasFocus&&(this._lastDestroyedChipIndex=r)})}_originatesFromChip(t){let i=t.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-chip"))return!0;i=i.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(t=>t._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(t=>{t._chipListDisabled=this._disabled,t._chipListMultiple=this.multiple})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Qo,8),E(mp,8),E(Zm,8),E(Vv),E(uc,10))},n.\u0275cmp=Ne({type:n,selectors:[["mat-chip-list"]],contentQueries:function(t,i,r){if(1&t&&ei(r,y0,5),2&t){let s;_t(s=yt())&&(i.chips=s)}},hostAttrs:[1,"mat-chip-list"],hostVars:15,hostBindings:function(t,i){1&t&&ge("focus",function(){return i.focus()})("blur",function(){return i._blur()})("keydown",function(s){return i._keydown(s)}),2&t&&(al("id",i._uid),nn("tabindex",i.disabled?null:i._tabIndex)("aria-describedby",i._ariaDescribedby||null)("aria-required",i.role?i.required:null)("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-multiselectable",i.multiple)("role",i.role)("aria-orientation",i.ariaOrientation),st("mat-chip-list-disabled",i.disabled)("mat-chip-list-invalid",i.errorState)("mat-chip-list-required",i.required))},inputs:{ariaOrientation:["aria-orientation","ariaOrientation"],multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",selectable:"selectable",tabIndex:"tabIndex",errorStateMatcher:"errorStateMatcher"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[Dt([{provide:jv,useExisting:n}]),ct],ngContentSelectors:uke,decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transform:translateZ(0);border:none;-webkit-appearance:none;-moz-appearance:none}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}._mat-animation-noopable.mat-standard-chip{transition:none;animation:none}.mat-standard-chip .mat-chip-remove.mat-icon{width:18px;height:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip:focus{outline:dotted 2px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}\n'],encapsulation:2,changeDetection:0}),n})();const bke={separatorKeyCodes:[13]};let j9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv,{provide:V9,useValue:bke}],imports:[[On]]}),n})(),Cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-toggle",this.visible=!1,this.toggleLabel="",this.disabled=!1,this.visibilityChanged=new Le}toggleVisibility(){this.visible=!this.visible,this.ga.event("visibility_toggled","visibility_toggle",""+this.visible),this.visibilityChanged.emit(this.visible)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{visible:"visible",toggleLabel:"toggleLabel",disabled:"disabled"},outputs:{visibilityChanged:"visibilityChanged"},decls:8,vars:9,consts:[[1,"toggle-div"],[1,"toggle-wrapper",3,"click"],[1,"icon-background"],["svgIcon","app:visibility_off_cube",1,"icon","block"],[1,"icon","green"],[1,"toggle-label"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-chip",1),ge("click",function(){return i.toggleVisibility()}),R(2,"div",2),tt(3,"mat-icon",3),R(4,"mat-icon",4),De(5,"done"),k(),k(),R(6,"div",5),De(7),k(),k(),k()),2&t&&(G(1),st("disabled",i.disabled),G(1),st("disabled",i.disabled),G(1),st("hidden",i.visible),G(1),st("hidden",!i.visible),G(3),xi(i.toggleLabel))},directives:[y0,rs],styles:["[_nghost-%COMP%]{height:3rem;display:flex;align-items:center}[_nghost-%COMP%] .mat-chip{padding:0!important}[_nghost-%COMP%] .mat-chip.disabled{cursor:not-allowed!important}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;padding-top:1.5rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%]{-webkit-user-select:none;-moz-user-select:none;display:flex;padding-left:.5rem;cursor:pointer;align-items:center;position:relative;border-width:.075rem;border-style:solid;height:2.25rem;border-radius:1.5rem;transition:background-color .2s ease-in-out}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%]{border-radius:1.5rem;height:2.06rem;width:2.06rem;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{transition:.6s;position:absolute}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.block[_ngcontent-%COMP%]{width:1.125rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .toggle-label[_ngcontent-%COMP%]{font-weight:bold;margin-left:.5rem;padding-right:1.25rem;padding-left:.25rem}"],changeDetection:0}),n})();const wke=["fileInput"];let Eke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-json-file-reader",this.label="Upload",this.parsedJson=new Le}triggerFileInput(){this.fileInput.nativeElement.click()}handleFile(t){const i=t.target;if(!i.files)return;const r=i.files[0],s=new FileReader;s.onload=()=>{const o=JSON.parse(s.result);this.ga.event("json_file_load_end","json_file_reader"),this.parsedJson.emit(o)},this.ga.event("json_file_load_start","json_file_reader"),s.readAsText(r)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-json-file-reader"]],viewQuery:function(t,i){if(1&t&&Jn(wke,5),2&t){let r;_t(r=yt())&&(i.fileInput=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{label:"label"},outputs:{parsedJson:"parsedJson"},decls:4,vars:1,consts:[["mat-button","",1,"upload-button",3,"click"],["type","file","accept","application/JSON","name","fileInput","id","fileInput",2,"display","none",3,"change"],["fileInput",""]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(){return i.triggerFileInput()}),De(1),k(),R(2,"input",1,2),ge("change",function(s){return i.handleFile(s)}),k()),2&t&&(G(1),xi(i.label))},directives:[lh],styles:["[_nghost-%COMP%] .upload-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;cursor:pointer;font-weight:500}"]}),n})(),Ske=(()=>{class n{constructor(){this.clsName="ccf-details-label",this.details=[]}arrayToString(t){return t.join(", ")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-details-label"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{details:"details"},decls:1,vars:1,template:function(t,i){1&t&&De(0),2&t&&xi(i.arrayToString(i.details))},styles:["[_nghost-%COMP%]{display:block;height:2.25rem}"],changeDetection:0}),n})();const Mke=["trigger"],xke=["panel"];function Tke(n,e){if(1&n&&(R(0,"span",8),De(1),k()),2&n){const t=Qe();G(1),xi(t.placeholder)}}function Ake(n,e){if(1&n&&(R(0,"span",12),De(1),k()),2&n){const t=Qe(2);G(1),xi(t.triggerValue)}}function Dke(n,e){1&n&&Ht(0,0,["*ngSwitchCase","true"])}function Oke(n,e){1&n&&(R(0,"span",9),mt(1,Ake,2,1,"span",10),mt(2,Dke,1,0,"ng-content",11),k()),2&n&&(ie("ngSwitch",!!Qe().customTrigger),G(2),ie("ngSwitchCase",!0))}function Ike(n,e){if(1&n){const t=Zi();R(0,"div",13),R(1,"div",14,15),ge("@transformPanel.done",function(r){return en(t),Qe()._panelDoneAnimatingStream.next(r.toState)})("keydown",function(r){return en(t),Qe()._handleKeydown(r)}),Ht(3,1),k(),k()}if(2&n){const t=Qe();ie("@transformPanelWrap",void 0),G(1),function(n,e,t){Gl(yo,Vc,Cg(Oe(),n,e,t),!0)}("mat-select-panel ",t._getPanelTheme(),""),vf("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),ie("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),nn("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const Pke=[[["mat-select-trigger"]],"*"],Rke=["mat-select-trigger","*"],U9={transformPanelWrap:tc("transformPanelWrap",[Qs("* => void",Uie("@transformPanel",[jie()],{optional:!0}))]),transformPanel:tc("transformPanel",[wr("void",ti({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),wr("showing",ti({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),wr("showing-multiple",ti({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Qs("void => *",Ao("120ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void",Ao("100ms 25ms linear",ti({opacity:0})))])};let H9=0;const G9=new ve("mat-select-scroll-strategy"),Lke=new ve("MAT_SELECT_CONFIG"),Bke={provide:G9,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};class Vke{constructor(e,t){this.source=e,this.value=t}}const zke=nc(Hf(jf(FO(class{constructor(n,e,t,i,r){this._elementRef=n,this._defaultErrorStateMatcher=e,this._parentForm=t,this._parentFormGroup=i,this.ngControl=r}})))),W9=new ve("MatSelectTrigger");let jke=(()=>{class n extends zke{constructor(t,i,r,s,o,a,l,c,d,f,p,g,_,y){var v,C,w;super(o,s,l,c,f),this._viewportRuler=t,this._changeDetectorRef=i,this._ngZone=r,this._dir=a,this._parentFormField=d,this._liveAnnouncer=_,this._defaultOptions=y,this._panelOpen=!1,this._compareWith=(x,N)=>x===N,this._uid="mat-select-"+H9++,this._triggerAriaLabelledBy=null,this._destroy=new Se,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+H9++,this._panelDoneAnimatingStream=new Se,this._overlayPanelClass=(null===(v=this._defaultOptions)||void 0===v?void 0:v.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(w=null===(C=this._defaultOptions)||void 0===C?void 0:C.disableOptionCentering)&&void 0!==w&&w,this.ariaLabel="",this.optionSelectionChanges=Yb(()=>{const x=this.options;return x?x.changes.pipe(Rr(x),Pr(()=>Ni(...x.map(N=>N.onSelectionChange)))):this._ngZone.onStable.pipe(yi(1),Pr(()=>this.optionSelectionChanges))}),this.openedChange=new Le,this._openedStream=this.openedChange.pipe(Fn(x=>x),Ae(()=>{})),this._closedStream=this.openedChange.pipe(Fn(x=>!x),Ae(()=>{})),this.selectionChange=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._scrollStrategyFactory=g,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(p)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=Mt(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=To(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new lS(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Zo(),Tn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(Tn(this._destroy)).subscribe(t=>{t.added.forEach(i=>i.select()),t.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Rr(null),Tn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?i.setAttribute("aria-labelledby",t):i.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const i=t.keyCode,r=40===i||38===i||37===i||39===i,s=13===i||32===i,o=this._keyManager;if(!o.isTyping()&&s&&!Zs(t)||(this.multiple||t.altKey)&&r)t.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;o.onKeydown(t);const l=this.selected;l&&a!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(t){const i=this._keyManager,r=t.keyCode,s=40===r||38===r,o=i.isTyping();if(s&&t.altKey)t.preventDefault(),this.close();else if(o||13!==r&&32!==r||!i.activeItem||Zs(t))if(!o&&this._multiple&&65===r&&t.ctrlKey){t.preventDefault();const a=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(a?l.select():l.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(t),this._multiple&&s&&t.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else t.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(yi(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(i=>this._selectValue(i)),this._sortValues();else{const i=this._selectValue(t);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const i=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return null!=r.value&&this._compareWith(r.value,t)}catch(s){return!1}});return i&&this._selectionModel.select(i),i}_initKeyManager(){this._keyManager=new kV(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(Tn(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Ni(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Tn(t)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Ni(...this.options.map(i=>i._stateChanges)).pipe(Tn(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,i){const r=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(r!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),i&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),i&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),r!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((i,r)=>this.sortComparator?this.sortComparator(i,r,t):t.indexOf(i)-t.indexOf(r)),this.stateChanges.next()}}_propagateChanges(t){let i=null;i=this.multiple?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(i?i+" ":"")+this.ariaLabelledby:i}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let r=(i?i+" ":"")+this._valueId;return this.ariaLabelledby&&(r+=" "+this.ariaLabelledby),r}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return n.\u0275fac=function(t){return new(t||n)(E(Yf),E(kn),E(dt),E(Vv),E(rt),E(Qo,8),E(mp,8),E(Zm,8),E(nS,8),E(uc,10),Zr("tabindex"),E(G9),E(DE),E(Lke,8))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&(Jn(Mke,5),Jn(xke,5),Jn(sU,5)),2&t){let r;_t(r=yt())&&(i.trigger=r.first),_t(r=yt())&&(i.panel=r.first),_t(r=yt())&&(i._overlayDir=r.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[ct,zn]}),n})(),Uke=(()=>{class n extends jke{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,i,r){const s=this._getItemHeight();return Math.min(Math.max(0,s*t-i+s/2),r)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const i=BO(t,this.options,this.optionGroups),r=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===i?0:function(n,e,t,i){return nt+i?Math.max(0,n-i+e):t}((t+i)*r,r,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new Vke(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),r=this._isRtl(),s=this.multiple?56:32;let o;if(this.multiple)o=40;else if(this.disableOptionCentering)o=16;else{let c=this._selectionModel.selected[0]||this.options.first;o=c&&c.group?32:16}r||(o*=-1);const a=0-(t.left+o-(r?s:0)),l=t.right+o-i.width+(r?0:s);a>0?o+=a+8:l>0&&(o-=l+8),this._overlayDir.offsetX=Math.round(o),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,i,r){const s=this._getItemHeight(),o=(s-this._triggerRect.height)/2,a=Math.floor(256/s);let l;return this.disableOptionCentering?0:(l=0===this._scrollTop?t*s:this._scrollTop===r?(t-(this._getItemCount()-a))*s+(s-(this._getItemCount()*s-256)%s):i-s/2,Math.round(-1*l-o))}_checkOverlayWithinViewport(t){const i=this._getItemHeight(),r=this._viewportRuler.getViewportSize(),s=this._triggerRect.top-8,o=r.height-this._triggerRect.bottom-8,a=Math.abs(this._offsetY),c=Math.min(this._getItemCount()*i,256)-a-this._triggerRect.height;c>o?this._adjustPanelUp(c,o):a>s?this._adjustPanelDown(a,s,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,i){const r=Math.round(t-i);this._scrollTop-=r,this._offsetY-=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,i,r){const s=Math.round(t-i);if(this._scrollTop+=s,this._offsetY+=s,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=r)return this._scrollTop=r,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),i=this._getItemCount(),r=Math.min(i*t,256),o=i*t-r;let a;a=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),a+=BO(a,this.options,this.optionGroups);const l=r/2;this._scrollTop=this._calculateOverlayScroll(a,l,o),this._offsetY=this._calculateOverlayOffsetY(a,l,o),this._checkOverlayWithinViewport(o)}_getOriginBasedOnOption(){const t=this._getItemHeight(),i=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-i+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-select"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,W9,5),ei(r,eS,5),ei(r,JE,5)),2&t){let s;_t(s=yt())&&(i.customTrigger=s.first),_t(s=yt())&&(i.options=s),_t(s=yt())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&t&&(nn("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-describedby",i._ariaDescribedby||null)("aria-activedescendant",i._getAriaActiveDescendant()),st("mat-select-disabled",i.disabled)("mat-select-invalid",i.errorState)("mat-select-required",i.required)("mat-select-empty",i.empty)("mat-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Dt([{provide:jv,useExisting:n},{provide:QE,useExisting:n}]),ct],ngContentSelectors:Rke,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,i){if(1&t&&(wi(Pke),R(0,"div",0,1),ge("click",function(){return i.toggle()}),R(3,"div",2),mt(4,Tke,2,1,"span",3),mt(5,Oke,3,2,"span",4),k(),R(6,"div",5),tt(7,"div",6),k(),k(),mt(8,Ike,4,14,"ng-template",7),ge("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&t){const r=vs(1);nn("aria-owns",i.panelOpen?i.id+"-panel":null),G(3),ie("ngSwitch",i.empty),nn("id",i._valueId),G(1),ie("ngSwitchCase",!0),G(1),ie("ngSwitchCase",!1),G(3),ie("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",r)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayMinWidth",null==i._triggerRect?null:i._triggerRect.width)("cdkConnectedOverlayOffsetY",i._offsetY)}},directives:[Pae,Av,ID,sU,Z3,hE],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[U9.transformPanelWrap,U9.transformPanel]},changeDetection:0}),n})(),q9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Bke],imports:[[dn,Yv,tS,On],Wv,Uv,tS,On]}),n})();function Hke(n,e){if(1&n&&(R(0,"mat-option",5),De(1),k()),2&n){const t=e.$implicit;ie("value",t),G(1),Aw(" ",t.name," (",t.sites.length,") ")}}function $ke(n,e){if(1&n){const t=Zi();R(0,"mat-form-field",1),R(1,"mat-label",2),De(2,"Landmark Set"),k(),R(3,"mat-select",3),ge("selectionChange",function(r){return en(t),Qe().extractionSetChanged(r.value)}),mt(4,Hke,2,3,"mat-option",4),k(),k()}if(2&n){const t=Qe();G(3),ie("value",t.sets[0]),G(1),ie("ngForOf",t.sets)}}let Gke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-extraction-set-dropdown",this.setChange=new Le}extractionSetChanged(t){this.selected=t,this.ga.event("selected_extraction_set_change","extraction_set_dropdown",t.name),this.setChange.emit(t)}isMultiple(){return this.sets.length>1}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-extraction-set-dropdown"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{sets:"sets"},outputs:{setChange:"setChange"},decls:1,vars:1,consts:[["class","dropdown-form-field","appearance","fill",4,"ngIf"],["appearance","fill",1,"dropdown-form-field"],[1,"extraction-dropdown-label"],["disableOptionCentering","true","panelClass","extraction-set-panel",3,"value","selectionChange"],["class","extraction-set-options",3,"value",4,"ngFor","ngForOf"],[1,"extraction-set-options",3,"value"]],template:function(t,i){1&t&&mt(0,$ke,5,2,"mat-form-field",0),2&t&&ie("ngIf",i.isMultiple())},directives:[zr,am,Gf,Uke,pl,eS],styles:[".extraction-set-panel{box-shadow:0 0 .3rem .1rem #9e9e9e;position:absolute;top:-1rem;left:1rem;width:10.5rem} .extraction-set-panel .extraction-set-options{height:2.5rem!important} .extraction-set-panel .extraction-set-options:first-child{margin-top:.5rem} .extraction-set-panel .extraction-set-options:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .mat-form-field{width:10.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper{padding-bottom:.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding:0}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-underline{bottom:.75rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:none} .cdk-overlay-pane{min-width:0rem!important}"],changeDetection:0}),n})();function Wke(n,e){if(1&n&&(_f(0),tt(1,"ccf-details-label",19),Kt(2,"async"),yf()),2&n){const t=Qe();G(1),ie("details",rn(2,1,t.detailsLabels$))}}function qke(n,e){if(1&n){const t=Zi();R(0,"div",9),R(1,"ccf-extraction-set-dropdown",20,21),ge("setChange",function(r){return en(t),Qe().model.setExtractionSites(r.sites)}),Kt(3,"async"),k(),R(4,"ccf-visibility-menu",22),ge("itemsChange",function(r){return en(t),Qe().model.setExtractionSites(r)})("hover",function(r){return en(t),Qe().updateExtractionSiteTooltip(r)}),Kt(5,"async"),k(),k()}if(2&n){const t=Qe();G(1),ie("sets",rn(3,2,t.model.extractionSets$)),G(3),ie("items",rn(5,4,t.model.extractionSites$))}}function Yke(n,e){if(1&n&&(R(0,"div",23),De(1),k()),2&n){const t=Qe();G(1),or(" ",t.extractionSiteTooltip," ")}}const Xke=function(){return["Male","Female"]};let Kke=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.registration=r,this.clsName="ccf-left-sidebar",this.disableSlider=!1,this.modalClosed=!1,this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.sideByLabel$=this.model.side$.pipe(Ae(s=>"left"===s?"L":"R")),this.organSelected$=this.model.organ$.pipe(Ae(s=>void 0!==s)),this.detailsLabels$=Qi([this.model.organ$,this.model.side$,this.model.sex$]).pipe(Ae(([s,o,a])=>[null==s?void 0:s.name,o,a])),this.extractionSiteTooltip="",this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures],this.organList=qF}updateExtractionSiteTooltip(t){this.extractionSiteTooltip=(null==t?void 0:t.tooltip)?t.tooltip:""}setSexFromLabel(t){this.model.setSex("Female"===t?"female":"male")}setSideFromLabel(t){this.model.setSide("L"===t?"left":"right")}togglePreviousRegistrationBlocks(t){t&&(this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures]),this.model.toggleRegistrationBlocksVisibility(t,this.previousVisibilityItems)}updateRegistration(t){this.registration.editRegistration(t)}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Sr))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-left-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{disableSlider:"disableSlider",modalClosed:"modalClosed"},decls:31,vars:22,consts:[[1,"scroll-wrapper"],[1,"container"],[4,"ngIf"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"disabled","labels","value","valueChange"],[1,"anatomical-structures-menu",3,"expanded"],[1,"expansion-header"],["matTooltip","Use opacity icons to change visibility of anatomical structures",1,"expansion-title"],[1,"expansion-content"],[3,"items","itemsChange"],[1,"extraction-menu",3,"expanded"],["matTooltip","Some organs have predefined landmarks to guide manual tissue registration--you can turn these on/off.",1,"expansion-title"],["class","expansion-content",4,"ngIf"],["toggleLabel","Previously Registered Blocks","matTooltip","If you previously registered tissue blocks, you can turn their positions on/off.",3,"visible","disabled","visibilityChanged"],[1,"space"],["class","extraction-site-tooltip mat-elevation-z8",4,"ngIf"],[1,"filler"],["label","UPLOAD PREVIOUS REGISTRATION DATA",3,"parsedJson"],[3,"details"],[3,"sets","setChange"],["dropdown",""],[3,"items","itemsChange","hover"],[1,"extraction-site-tooltip","mat-elevation-z8"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),mt(2,Wke,3,3,"ng-container",2),Kt(3,"async"),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),tt(9,"mat-divider"),R(10,"mat-expansion-panel",6),R(11,"mat-expansion-panel-header",7),R(12,"mat-panel-title",8),De(13,"Anatomical Structures"),k(),k(),R(14,"div",9),R(15,"ccf-visibility-menu",10),ge("itemsChange",function(s){return i.model.setAnatomicalStructures(s)}),Kt(16,"async"),k(),k(),k(),tt(17,"mat-divider"),R(18,"mat-expansion-panel",11),R(19,"mat-expansion-panel-header",7),R(20,"mat-panel-title",12),De(21,"Landmarks"),k(),k(),mt(22,qke,6,6,"div",13),Kt(23,"async"),k(),tt(24,"mat-divider"),R(25,"ccf-visibility-toggle",14),ge("visibilityChanged",function(s){return i.togglePreviousRegistrationBlocks(s)}),Kt(26,"async"),k(),tt(27,"div",15),mt(28,Yke,2,1,"div",16),tt(29,"div",17),R(30,"ccf-json-file-reader",18),ge("parsedJson",function(s){return i.updateRegistration(s)}),k(),k(),k()),2&t&&(G(2),ie("ngIf",rn(3,11,i.page.registrationCallbackSet$)),G(5),ie("disabled",i.disableSlider)("labels",fv(21,Xke))("value",rn(8,13,i.sexByLabel$)),G(3),ie("expanded",i.modalClosed),G(5),ie("items",rn(16,15,i.model.anatomicalStructures$)),G(3),ie("expanded",i.modalClosed),G(4),ie("ngIf",rn(23,17,i.organSelected$)),G(3),ie("visible",rn(26,19,i.model.showPrevious$))("disabled",i.disableSlider),G(3),ie("ngIf",i.extractionSiteTooltip.length>0))},directives:[zr,dc,XF,n9,qM,YM,EW,cke,Cke,Eke,Ske,Gke],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{overflow-y:scroll;height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-left:1.5rem;margin-right:.375rem;min-height:100%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .space[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .ccf-organ-selector[_ngcontent-%COMP%]{margin-top:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%] .expansion-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header{-webkit-user-select:none;-moz-user-select:none;padding:0;font-weight:bold;height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator{display:flex;align-items:center;justify-content:center;height:24px;width:24px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%]{margin-bottom:.75rem;text-align:center;margin-top:2.25rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%]{width:100%;font-size:.9rem;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-site-tooltip[_ngcontent-%COMP%]{position:absolute;top:4rem;left:27rem;width:21rem;padding:1rem;border-radius:.5rem;border:1px solid;z-index:2}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})(),Zke=(()=>{class n{constructor(t,i,r){this.drawer=t,this.cdr=r,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new Te;const s=i.connect(this);this.subscriptions.add(s.getMessagesFromSource(t).subscribe(o=>{this.handleMessage(o)&&r.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",i="arrow_left";return"end"===this.position&&([t,i]=[i,t]),this.opened?i:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:i,expanded:r}=t;i?r?t.closeExpanded():t.close():t.open()}}return n.\u0275fac=function(t){return new(t||n)(E(ZF),E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,i){2&t&&(Rn(i.className),st("ccf-drawer-toggle-button-end",i.classEnd))},decls:4,vars:4,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,i){1&t&&(R(0,"mat-icon",0),ge("click",function(){return i.toggle()}),De(1," arrow_right\n"),k(),R(2,"mat-icon",0),ge("click",function(){return i.toggle()}),De(3," arrow_left\n"),k()),2&t&&(st("hidden","arrow_left"===i.icon),G(2),st("hidden","arrow_right"===i.icon))},directives:[rs],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;transition:.25s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:absolute;right:0rem;transition:.6s;padding-left:.15rem}[_nghost-%COMP%] .expand-collapse-icon.hidden[_ngcontent-%COMP%]{opacity:0}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}.mat-icon[_ngcontent-%COMP%]{right:.3rem;top:.675rem;padding-top:.05rem}"],changeDetection:0}),n})();const Y9={x:10,y:10,z:10};let Qke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-block-size-input",this.blockSize=Y9,this.blockSizeChange=new Le}updateBlockSizes(t,i){const r=t.target;this.blockSize=Object.assign(Object.assign({},this.blockSize),{[i]:+r.value}),this.ga.event("block_size_change","block_size_input",i,this.blockSize[i]),this.blockSizeChange.emit(this.blockSize)}refreshBlockSize(){this.blockSize=Y9,this.ga.event("block_size_reset","block_size_input"),this.blockSizeChange.emit(this.blockSize)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-block-size-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{blockSize:"blockSize"},outputs:{blockSizeChange:"blockSizeChange"},decls:19,vars:5,consts:[["matTooltip","Set the tissue block width, height and depth (dimensions)",1,"header"],[1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"size-inputs"],["floatLabel","always",1,"field"],[1,"text","label"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block width.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block height.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block depth.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Dimensions (mm)"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshBlockSize()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Width (X)"),k(),R(10,"input",7),ge("input",function(s){return i.updateBlockSizes(s,"x")}),k(),k(),R(11,"mat-form-field",5),R(12,"mat-label",6),De(13,"Height (Y)"),k(),R(14,"input",8),ge("input",function(s){return i.updateBlockSizes(s,"y")}),k(),k(),R(15,"mat-form-field",5),R(16,"mat-label",6),De(17,"Depth (Z)"),k(),R(18,"input",9),ge("input",function(s){return i.updateBlockSizes(s,"z")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.blockSize.x),G(4),ie("value",i.blockSize.y),G(4),ie("value",i.blockSize.z))},directives:[dc,rs,Js,am,Gf,Xb],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;height:1.5rem;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const X9={thickness:NaN,numSlices:NaN};let Jke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-slices-input",this.slicesConfig=X9,this.slicesConfigChange=new Le}get hasThicknessValue(){return!isNaN(this.slicesConfig.thickness)}updateSlicesData(t,i){const{value:r}=t.target;this.slicesConfig=Object.assign(Object.assign({},this.slicesConfig),{[i]:""!==r?+r:NaN}),this.ga.event("slice_config_update","slice_input",i,this.slicesConfig[i]),this.slicesConfigChange.emit(this.slicesConfig)}refreshSlices(){this.slicesConfig=X9,this.ga.event("slice_config_reset","slice_input"),this.slicesConfigChange.emit(this.slicesConfig)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-slices-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{slicesConfig:"slicesConfig"},outputs:{slicesConfigChange:"slicesConfigChange"},decls:17,vars:6,consts:[[1,"header"],["matTooltip","\u201cAdd thickness of tissue sections and the total number of sections",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slices-inputs"],[1,"field"],[1,"text","label"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter thickness of tissue sections",1,"input",3,"value","input"],["matSuffix","",1,"suffix"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter total number of sections",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Sections"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshSlices()}),De(5," refresh "),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Thickness"),k(),R(10,"input",7),ge("input",function(s){return i.updateSlicesData(s,"thickness")}),k(),R(11,"div",8),De(12,"\u03bcm"),k(),k(),R(13,"mat-form-field",5),R(14,"mat-label",6),De(15,"# Sections"),k(),R(16,"input",9),ge("input",function(s){return i.updateSlicesData(s,"numSlices")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.slicesConfig.thickness),G(1),st("show",i.hasThicknessValue),G(5),ie("value",i.slicesConfig.numSlices))},directives:[dc,rs,Js,am,Gf,Xb,WPe,VO],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field.mat-focused[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%], [_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix.show[_ngcontent-%COMP%]{display:initial}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const K9={x:0,y:0,z:0};let eFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-rotation-slider",this.rotation=K9,this.rotationChange=new Le}changeRotation(t,i){this.rotation=Object.assign(Object.assign({},this.rotation),{[i]:+t}),this.ga.event("rotation_update","rotation_slider",i,+t),this.rotationChange.emit(this.rotation)}resetRotation(){this.rotation=K9,this.ga.event("rotation_reset","rotation_slider"),this.rotationChange.emit(this.rotation)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-rotation-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{rotation:"rotation"},outputs:{rotationChange:"rotationChange"},decls:27,vars:23,consts:[[1,"header"],["matTooltip","Use sliders below to rotate tissue block for registration",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slider-box","red"],[1,"text","label"],[1,"slider-container"],[1,"slider",3,"max","min","step","thumbLabel","tickInterval","value","input"],[1,"text","value"],[1,"slider-box","green"],[1,"slider-box","blue"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Rotation"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.resetRotation()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"span",5),De(8,"X"),k(),R(9,"div",6),R(10,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"x")}),k(),k(),R(11,"span",8),De(12),k(),k(),R(13,"div",9),R(14,"span",5),De(15,"Y"),k(),R(16,"div",6),R(17,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"y")}),k(),k(),R(18,"span",8),De(19),k(),k(),R(20,"div",10),R(21,"span",5),De(22,"Z"),k(),R(23,"div",6),R(24,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"z")}),k(),k(),R(25,"span",8),De(26),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.x),G(2),xi(i.rotation.x),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.y),G(2),xi(i.rotation.y),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.z),G(2),xi(i.rotation.z))},directives:[dc,rs,Js,jk],styles:["[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;height:4rem;padding-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:1rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{width:2.75rem;text-align:center}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{width:100%;padding:1rem 2rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:not(.cdk-focused) .mat-slider-thumb{width:1.25rem;height:1.25rem;transform:none}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper{right:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper:after{margin-top:-.25rem;height:.625rem!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container{margin-top:-.25rem;height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container .mat-slider-ticks{height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function nFe(n){const{subscriber:e,counter:t,period:i}=n;e.next(t),this.schedule({subscriber:e,counter:t+1,period:i},i)}const iFe=["closeSearch"];function rFe(n,e){if(1&n){const t=Zi();R(0,"div",12),R(1,"mat-checkbox",13),ge("ngModelChange",function(r){const o=en(t).$implicit;return Qe(2).checkedResults[o.id]=r}),De(2),k(),k()}if(2&n){const t=e.$implicit,i=Qe(2);G(1),ie("ngModel",i.checkedResults[t.id]),G(1),or(" ",t.label," ")}}function sFe(n,e){if(1&n&&(R(0,"div",9),mt(1,rFe,3,2,"div",10),R(2,"div",11),De(3),Kt(4,"i18nPlural"),k(),k()),2&n){const t=Qe();G(1),ie("ngForOf",t.searchResults.results)("ngForTrackBy",t.tagId),G(2),or(" ",gv(4,3,t.searchResults.totalCount,t.countMapping)," ")}}const Z9=5,Ex={totalCount:0,results:[]};class Ep{constructor(e,t,i){this.el=e,this.ga=t,this.clsName="ccf-tag-search",this.placeholder="Add Anatomical Structures ...",this.added=new Le,this.countMapping={"=1":"1 result",other:"# results"},this.searchControl=new Sh,this.searchResults=Ex,this.checkedResults={},this.resultsVisible=!1,this.destroy$=new Se,this.searchControl.valueChanges.pipe(Tn(this.destroy$),function(n,e=uW){return t=>t.lift(new z1e(n,!!e.leading,!!e.trailing))}(()=>{var r;return function(n=0,e=Pf){return(!WO(n)||n<0)&&(n=0),(!e||"function"!=typeof e.schedule)&&(e=Pf),new ce(t=>(t.add(e.schedule(nFe,n,{subscriber:t,counter:0,period:n})),t))}(null!==(r=this.searchThrottle)&&void 0!==r?r:100)},{leading:!0,trailing:!0}),Pr(this.executeSearch)).subscribe(r=>{this.searchResults=r,this.checkedResults=this.getUpdatedCheckedResults(r),i.markForCheck()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}tagId(e,t){return t.id}hasCheckedTags(){return Object.values(this.checkedResults).some(e=>e)}addTags(){const{searchControl:e,searchResults:t,checkedResults:i}=this,r=t.results.filter(s=>i[s.id]);r.length>0&&(e.reset(),this.searchResults=Ex,this.checkedResults={},this.ga.event("tags_added","tag_search",r.map(s=>s.label).join(",")),this.added.emit(r))}openResults(){this.resultsVisible||(this.resultsVisible=!0)}closeResults(e){const{closeSearch:t}=this;this.resultsVisible&&e.target instanceof Node&&(!this.el.nativeElement.contains(e.target)||t.nativeElement.contains(e.target))&&(this.resultsVisible=!1)}executeSearch(e){const{search:t,searchLimit:i=Z9}=this;return e&&t?ui(t(e,i)).pipe(Ta(()=>[Ex]),Ae(this.truncateResults)):[Ex]}truncateResults(e){const{searchLimit:t=Z9}=this,i=e.results;return i.length>t?Object.assign(Object.assign({},e),{results:i.slice(0,t)}):e}getUpdatedCheckedResults(e){const t=this.checkedResults;return e.results.reduce((i,{id:r})=>{var s;return i[r]=null!==(s=t[r])&&void 0!==s&&s,i},{})}}function aFe(n,e){if(1&n&&(R(0,"div",11),R(1,"div",12),De(2),k(),R(3,"div",13),De(4),k(),k()),2&n){const t=e.$implicit;G(2),xi(t.label),G(2),xi(t.value)}}Ep.\u0275fac=function(e){return new(e||Ep)(E(rt),E(xs),E(kn))},Ep.\u0275cmp=Ne({type:Ep,selectors:[["ccf-tag-search"]],viewQuery:function(e,t){if(1&e&&Jn(iFe,5,rt),2&e){let i;_t(i=yt())&&(t.closeSearch=i.first)}},hostVars:2,hostBindings:function(e,t){1&e&&ge("click",function(){return t.openResults()})("focusin",function(){return t.openResults()})("click",function(r){return t.closeResults(r)},!1,ly)("focusin",function(r){return t.closeResults(r)},!1,ly),2&e&&Rn(t.clsName)},inputs:{placeholder:"placeholder",search:"search",searchLimit:"searchLimit",searchThrottle:"searchThrottle"},outputs:{added:"added"},decls:10,vars:8,consts:[[1,"spacer"],["appearance","outline",1,"overlay"],[1,"search-box"],["matInput","","type","search",3,"placeholder","formControl"],["search",""],["matSuffix","",1,"add-button",3,"disabled","click"],["closeSearch",""],[1,"icon"],["class","results",4,"ngIf"],[1,"results"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"count"],[1,"item"],["labelPosition","after",3,"ngModel","ngModelChange"]],template:function(e,t){if(1&e){const i=Zi();tt(0,"div",0),R(1,"mat-form-field",1),R(2,"div",2),tt(3,"input",3,4),R(5,"button",5,6),ge("click",function(){en(i);const s=vs(4);return t.addTags(),s.focus()}),R(7,"mat-icon",7),De(8,"add"),k(),k(),k(),mt(9,sFe,5,6,"div",8),k()}2&e&&(G(1),st("expanded",t.resultsVisible),G(2),ie("placeholder",t.placeholder)("formControl",t.searchControl),G(2),st("active",t.hasCheckedTags()),ie("disabled",!t.hasCheckedTags()),G(4),ie("ngIf",t.resultsVisible))},directives:[am,Xb,Hb,vk,GM,VO,rs,zr,pl,VF,Ok],pipes:[eV],styles:["[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .spacer[_ngcontent-%COMP%]{height:3.25rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:10}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;height:3rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%] .add-button[_ngcontent-%COMP%]{border-radius:.25rem;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;height:100%}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-top:.5rem;font-size:.75rem;text-align:end}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0;border-radius:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex{padding-right:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline{opacity:1!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline-thick{opacity:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-infix{padding:.313rem .063rem .063rem;border:0}[_nghost-%COMP%] .overlay.expanded[_ngcontent-%COMP%] .mat-form-field-wrapper{box-shadow:0 0 .3rem .1rem #9e9e9e5e}"],changeDetection:0}),xe([lu.ak],Ep.prototype,"executeSearch",null),xe([lu.ak],Ep.prototype,"truncateResults",null);let lFe=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.clsName="ccf-review-modal",this.metaData=i.metaData,this.registrationCallbackSet=i.registrationCallbackSet}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:14,vars:2,consts:[[1,"ccf-about","wrapper"],[1,"container"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"content"],["mat-dialog-title","",1,"title"],[1,"mat-typography"],[1,"display-fields"],["class","field",4,"ngFor","ngForOf"],[1,"footer"],["mat-button","",1,"download-button",3,"click"],[1,"field"],[1,"label"],[1,"data"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"mat-icon",3),ge("click",function(){return i.close()}),De(4,"clear"),k(),k(),R(5,"div",4),R(6,"h2",5),De(7,"Registration Review"),k(),R(8,"mat-dialog-content",6),R(9,"div",7),mt(10,aFe,5,2,"div",8),k(),k(),R(11,"div",9),R(12,"button",10),ge("click",function(){return i.dialogRef.close(!0)}),De(13),k(),k(),k(),k(),k()),2&t&&(G(10),ie("ngForOf",i.metaData),G(3),xi(i.registrationCallbackSet?"REGISTER":"DOWNLOAD REGISTRATION DATA"))},directives:[rs,Wk,qk,pl,lh],styles:[".mat-dialog-container{padding:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;background-color:#fff}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{text-align:center;font-size:1.5rem;margin-bottom:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%]{justify-content:space-around;display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem;width:100%}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:50%;text-align:right;padding-right:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .data[_ngcontent-%COMP%]{width:50%;text-align:left;padding-left:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{float:right;margin-top:1rem;margin-right:1rem;cursor:pointer}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{padding-top:1.5rem;display:flex;justify-content:space-around}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .review-button[_ngcontent-%COMP%]{height:3rem;transition:.6s}"]}),n})(),cFe=(()=>{class n{constructor(t,i){this.dialog=t,this.ga=i,this.clsName="ccf-review-button",this.registrationCallbackSet=!0,this.metaData=[],this.displayErrors=!0,this.registrationIsValid=!1,this.registerData=new Le,this.enterErrorMode=new Le}ngOnChanges(){this.registrationIsValid=this.metaData.length>=3&&this.metaData.slice(0,3).every(t=>t.value)}get disabled(){return!this.registrationIsValid}registerButtonClick(t){return t&&t.preventDefault(),this.enterErrorMode.emit(),this.registrationIsValid&&(this.ga.event("review_start","review_button"),this.launchReviewModal()),!1}launchReviewModal(){this.dialog.open(lFe,{panelClass:"modal-animated",width:"60rem",data:{registrationCallbackSet:this.registrationCallbackSet,metaData:this.metaData}}).afterClosed().subscribe(i=>{i&&(this.ga.event("register","review_button"),this.registerData.emit())})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-button"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{registrationCallbackSet:"registrationCallbackSet",metaData:"metaData",displayErrors:"displayErrors",registrationIsValid:"registrationIsValid"},outputs:{registerData:"registerData",enterErrorMode:"enterErrorMode"},features:[zn],decls:2,vars:4,consts:[["mat-button","",1,"review-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(s){return i.registerButtonClick(s)}),De(1),k()),2&t&&(st("disabled",i.disabled),ie("matTooltip",i.disabled?"Required: Select an organ and position tissue block inside organ.":"Review registration and submit/download."),G(1),or(" ",i.registrationCallbackSet?"REVIEW AND REGISTER":"REVIEW AND DOWNLOAD","\n"))},directives:[lh,dc],styles:[".review-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;font-weight:500}.review-button.disabled[_ngcontent-%COMP%]{cursor:not-allowed}"]}),n})();function uFe(n,e){if(1&n){const t=Zi();R(0,"mat-chip",2),ge("removed",function(){const s=en(t).$implicit;return Qe().removeTag(s)}),De(1),R(2,"mat-icon",3),De(3,"cancel"),k(),k()}if(2&n){const t=e.$implicit;Rn(Qe().tagClasses(t)),G(1),or(" ",t.label," ")}}let dFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-tag-list",this.tagRemoved=new Le,this.tagsChange=new Le}tagId(t,i){return i.id}tagClasses(t){return"added"===t.type?["added"]:["assigned"]}removeTag(t){this.tags=this.tags.filter(i=>i!==t),this.ga.event("tag_removed","tag_list",t.label),this.tagRemoved.emit(t),this.tagsChange.emit(this.tags)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tag-list"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{tags:"tags"},outputs:{tagRemoved:"tagRemoved",tagsChange:"tagsChange"},decls:2,vars:2,consts:[["selectable","false"],["removable","","disableRipple","",3,"class","removed",4,"ngFor","ngForOf","ngForTrackBy"],["removable","","disableRipple","",3,"removed"],["matChipRemove","",1,"icon","remove"]],template:function(t,i){1&t&&(R(0,"mat-chip-list",0),mt(1,uFe,4,3,"mat-chip",1),k()),2&t&&(G(1),ie("ngForOf",i.tags)("ngForTrackBy",i.tagId))},directives:[z9,pl,y0,rs,B9],styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto}[_nghost-%COMP%] .mat-chip-list-wrapper{margin:0}"],changeDetection:0}),n})();function hFe(n,e){if(1&n){const t=Zi();R(0,"ccf-tag-list",20),ge("tagRemoved",function(r){return en(t),Qe().astags.removeTag(r)}),Kt(1,"async"),k()}2&n&&ie("tags",rn(1,1,Qe().astags.tags$))}function fFe(n,e){}const pFe=function(){return[]};let gFe=(()=>{class n{constructor(t,i,r,s){this.model=t,this.registration=i,this.page=r,this.astags=s,this.clsName="ccf-right-sidebar",this.modalClosed=!1}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(Sr),E(ji),E(ko))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-right-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{modalClosed:"modalClosed"},decls:34,vars:28,consts:[[1,"scroll-wrapper"],[1,"container"],[1,"info-button-container"],["videoID","gY3_-LIoKaU","infoTitle","CCF Registration User Interface"],[3,"blockSize","blockSizeChange"],[3,"slicesConfig","slicesConfigChange"],[3,"rotation","rotationChange"],[1,"tags-container",3,"expanded"],[1,"header"],["matTooltip","Review tags generated via collision detection. Add or delete tags as needed."],[3,"search","added"],["class","tag-list",3,"tags","tagRemoved",4,"ngIf","ngIfElse"],["tagListPlaceholder",""],[1,"legend"],[1,"dot","assigned"],[1,"text","assigned"],[1,"dot","added"],[1,"text","added"],[1,"filler"],[3,"registrationCallbackSet","displayErrors","registrationIsValid","metaData","registerData","enterErrorMode"],[1,"tag-list",3,"tags","tagRemoved"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),tt(3,"ccf-info-button",3),k(),R(4,"ccf-block-size-input",4),ge("blockSizeChange",function(s){return i.model.setBlockSize(s)}),Kt(5,"async"),k(),R(6,"ccf-slices-input",5),ge("slicesConfigChange",function(s){return i.model.setSlicesConfig(s)}),Kt(7,"async"),k(),R(8,"ccf-rotation-slider",6),ge("rotationChange",function(s){return i.model.setRotation(s)}),Kt(9,"async"),k(),tt(10,"mat-divider"),R(11,"mat-expansion-panel",7),R(12,"mat-expansion-panel-header",8),R(13,"mat-panel-title",9),De(14,"Anatomical Structure Tags"),k(),k(),R(15,"ccf-tag-search",10),ge("added",function(s){return i.astags.addTags(s)}),k(),mt(16,hFe,2,3,"ccf-tag-list",11),Kt(17,"async"),mt(18,fFe,0,0,"ng-template",null,12,jw),R(20,"div",13),tt(21,"span",14),R(22,"span",15),De(23,"Assigned"),k(),tt(24,"span",16),R(25,"span",17),De(26,"Added"),k(),k(),k(),tt(27,"mat-divider"),tt(28,"div",18),R(29,"ccf-review-button",19),ge("registerData",function(){return i.registration.register()})("enterErrorMode",function(){return i.registration.setDisplayErrors(!i.registration.isValid)}),Kt(30,"async"),Kt(31,"async"),Kt(32,"async"),Kt(33,"async"),k(),k(),k()),2&t){const r=vs(19);let s,o;G(4),ie("blockSize",rn(5,11,i.model.blockSize$)),G(2),ie("slicesConfig",rn(7,13,i.model.slicesConfig$)),G(2),ie("rotation",rn(9,15,i.model.rotation$)),G(3),ie("expanded",i.modalClosed),G(4),ie("search",i.astags.searchExternal),G(1),ie("ngIf",null==(s=rn(17,17,i.model.organ$))?null:s.name)("ngIfElse",r),G(13),ie("registrationCallbackSet",rn(30,19,i.page.registrationCallbackSet$))("displayErrors",rn(31,21,i.registration.displayErrors$))("registrationIsValid",rn(32,23,i.registration.valid$))("metaData",null!==(o=rn(33,25,i.registration.metadata$))&&void 0!==o?o:fv(27,pFe))}},directives:[UPe,Qke,Jke,eFe,n9,qM,YM,EW,dc,Ep,zr,cFe,dFe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100%;margin-left:1.5rem;margin-right:.375rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .info-button-container[_ngcontent-%COMP%]{height:3.75rem;display:flex;justify-content:flex-end}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0 .5rem 0 0;font-weight:bold;-webkit-user-select:none;-moz-user-select:none;font-size:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%]{overflow:visible}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding-left:0;padding-right:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{margin-top:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] .icon.add[_ngcontent-%COMP%]{position:absolute;width:3.625rem;height:3.625rem;font-size:3.625rem;top:-1.9375rem;right:-1.1875rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list[_ngcontent-%COMP%]{max-height:32rem;margin-left:-1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list-placeholder[_ngcontent-%COMP%]{display:flex;height:4rem;align-items:center;justify-content:center;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%]{display:flex;width:100%;margin-top:1.5rem;align-items:center;font-size:.9rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{display:inline-block;width:1rem;height:1rem;border-radius:50%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.assigned[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.added[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function Q9(n,e){return Zo((t,i)=>e?e(t[n],i[n]):t[n]===i[n])}const mFe=["input"],_Fe=function(n){return{enterDuration:n}},yFe=["*"],vFe=new ve("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let J9=0;const CFe={provide:ro,useExisting:T(()=>i7),multi:!0};class e7{constructor(e,t){this.source=e,this.value=t}}const t7=new ve("MatRadioGroup");let n7=(()=>{class n{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+J9++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Le}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=Mt(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(i=>{i.checked=this.value===i.value,i.checked&&(this._selected=i)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new e7(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),n})(),i7=(()=>{class n extends n7{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,selectors:[["mat-radio-group"]],contentQueries:function(t,i,r){if(1&t&&ei(r,r7,5),2&t){let s;_t(s=yt())&&(i._radios=s)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Dt([CFe,{provide:t7,useExisting:n}]),ct]}),n})();class wFe{constructor(e){this._elementRef=e}}const EFe=nc(Hf(wFe));let SFe=(()=>{class n extends EFe{constructor(t,i,r,s,o,a,l,c){super(i),this._changeDetector=r,this._focusMonitor=s,this._radioDispatcher=o,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++J9,this.id=this._uniqueId,this.change=new Le,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===a,c&&(this.tabIndex=To(c,0)),this._removeUniqueSelectionListener=o.listen((d,f)=>{d!==this.id&&f===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const i=Mt(t);this._checked!==i&&(this._checked=i,i&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!i&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),i&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(Mt(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=Mt(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new e7(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(n7),E(rt),E(kn),E(Sa),E(cS),E(String),E(void 0),E(String))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(mFe,5),2&t){let r;_t(r=yt())&&(i._inputElement=r.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[ct]}),n})(),r7=(()=>{class n extends SFe{constructor(t,i,r,s,o,a,l,c){super(t,i,r,s,o,a,l,c)}}return n.\u0275fac=function(t){return new(t||n)(E(t7,8),E(rt),E(kn),E(Sa),E(cS),E(Do,8),E(vFe,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._inputElement.nativeElement.focus()}),2&t&&(nn("tabindex",null)("id",i.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),st("mat-radio-checked",i.checked)("mat-radio-disabled",i.disabled)("_mat-animation-noopable",i._noopAnimations)("mat-primary","primary"===i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[ct],ngContentSelectors:yFe,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),tt(3,"span",3),tt(4,"span",4),R(5,"input",5,6),ge("change",function(s){return i._onInputInteraction(s)})("click",function(s){return i._onInputClick(s)}),k(),R(7,"span",7),tt(8,"span",8),k(),k(),R(9,"span",9),R(10,"span",10),De(11,"\xa0"),k(),Ht(12),k(),k()),2&t){const r=vs(1);nn("for",i.inputId),G(5),ie("id",i.inputId)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex)("required",i.required),nn("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,_Fe,i._noopAnimations?0:150)),G(2),st("mat-radio-label-before","before"==i.labelPosition)}},directives:[Js],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),n})(),MFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();const xFe=["label"],TFe=["options"],AFe=function(){return["Register","3D\xa0Preview"]};let DFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-stage-nav",this.side="anterior",this.view3D=!1,this.sideChange=new Le,this.view3DChange=new Le,this.isDropdownActive=!1,this.isDropdownHidden=!0}set useDropdownMenu(t){this.isDropdownActive=t,this.isDropdownHidden=!0}get labelEl(){return this.labelRef.nativeElement}get optionsEl(){return this.optionsRef.nativeElement}handleClick(t){const{isDropdownHidden:i,labelEl:r,optionsEl:s}=this;r.contains(t)?this.isDropdownHidden=!i:s.contains(t)||(this.isDropdownHidden=!0)}updateSide(t){this.ga.event("side_update","stage_nav",t),"3D"===t?this.updateView(!0):(this.updateView(!1),this.side=t,this.sideChange.emit(this.side))}updateView(t){this.view3D=t,this.ga.event("view_update","stage_nav",t?"3D":"Register"),this.view3DChange.emit(this.view3D)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-stage-nav"]],viewQuery:function(t,i){if(1&t&&(Jn(xFe,7),Jn(TFe,7)),2&t){let r;_t(r=yt())&&(i.labelRef=r.first),_t(r=yt())&&(i.optionsRef=r.first)}},hostVars:2,hostBindings:function(t,i){1&t&&ge("click",function(s){return i.handleClick(s.target)},!1,sg),2&t&&Rn(i.clsName)},inputs:{useDropdownMenu:"useDropdownMenu",side:"side",view3D:"view3D"},outputs:{sideChange:"sideChange",view3DChange:"view3DChange"},decls:18,vars:10,consts:[[1,"dropdown-label"],["label",""],[1,"stage-options"],["options",""],[1,"input-group",3,"value","change"],["value","left",1,"nav-input"],["value","right",1,"nav-input"],["value","anterior","checked","",1,"nav-input"],["value","posterior",1,"nav-input"],["matTooltip","Change view.",1,"view-slider",3,"labels","value","valueChange"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"mat-label"),De(3,"Options"),k(),R(4,"mat-icon"),De(5,"arrow_drop_down"),k(),k(),R(6,"div",2,3),R(8,"mat-radio-group",4),ge("change",function(s){return i.updateSide(s.value)}),R(9,"mat-radio-button",5),De(10,"Left"),k(),R(11,"mat-radio-button",6),De(12,"Right"),k(),R(13,"mat-radio-button",7),De(14,"Anterior"),k(),R(15,"mat-radio-button",8),De(16,"Posterior"),k(),k(),R(17,"ccf-labeled-slide-toggle",9),ge("valueChange",function(s){return i.updateView("Register"!==s)}),k(),k()),2&t&&(st("dropdown",i.isDropdownActive),G(6),st("dropdowncontainer",i.isDropdownActive)("hidden",i.isDropdownActive&&i.isDropdownHidden),G(2),ie("value",i.side),G(9),ie("labels",fv(9,AFe))("value",i.view3D?"3D\xa0Preview":"Register"))},directives:[Gf,rs,i7,r7,XF,dc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex-wrap:wrap}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%]{display:none;align-items:center}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-label[_ngcontent-%COMP%], [_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:1.5rem}[_nghost-%COMP%] .dropdown-label.dropdown[_ngcontent-%COMP%]{display:flex;cursor:pointer;align-items:start}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{margin-right:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{margin-left:-1rem;margin-bottom:1.5rem;white-space:nowrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%]{display:flex;flex-direction:column;border-radius:.25rem;width:16.5rem;position:absolute;top:3.5rem;z-index:1;transition:opacity .25s}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:first-child{margin-top:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%]{margin-left:1.5rem;margin-right:0;display:flex;flex-wrap:wrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{display:flex;margin:0 1.5rem 0 0;height:2.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{display:flex;align-items:center;height:3rem;margin:0 .5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:visible;border-top:2px solid}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%]{visibility:hidden;opacity:0;transition:visibility .25s,opacity .25s}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:hidden}"],changeDetection:0}),n})();function OFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",16),ge("rotationChange",function(r){en(t),Qe();const s=vs(24);return s.rotation=r[0],s.rotationX=r[1]}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,5,t.scene.nodes$))("rotation",rn(2,7,t.scene.rotation$))("bounds",rn(3,9,t.bounds$))("zoom",11.5)("interactive",!0)}}function IFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",17),ge("nodeDrag",function(r){return en(t),Qe().handleNodeDrag(r)}),Kt(1,"async"),Kt(2,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,4,t.scene.rotatedNodes$))("interactive",!1)("bounds",rn(2,6,t.bounds$))("zoom",11.5)}}function PFe(n,e){1&n&&tt(0,"ccf-store-debug",18)}function RFe(n,e){if(1&n){const t=Zi();R(0,"div",19),R(1,"button",20),ge("click",function(){en(t);const r=Qe();return r.debugMode=!r.debugMode}),De(2,"State"),k(),R(3,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!0)}),De(4,"Use callback"),k(),R(5,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!1)}),De(6,"Use download"),k(),k()}}let kFe=(()=>{class n{constructor(t,i,r,s,o,a){this.model=t,this.page=i,this.registration=r,this.scene=s,this.rootRef=o,this.cdr=a,this.clsName="ccf-content",this.position$=this.model.position$.pipe(Ae(l=>({x:Math.floor(l.x),y:Math.floor(l.y),z:Math.floor(l.z)}))),this.is3DView$=this.model.viewType$.pipe(Ae(l=>"3d"===l)),this.bounds$=this.model.organDimensions$.pipe(Ae(l=>({x:Math.max(l.x,this.model.defaultPosition.x+40)/1e3,y:Math.max(l.y,this.model.defaultPosition.y+40)/1e3,z:Math.max(l.z,this.model.defaultPosition.z+40)/1e3})),Q9("x"),Q9("y")),this.isNarrowView=!1,this.debugMode=!1,this.showDebugButtons=!hu.production}ngOnInit(){this.sensor=new hW.ResizeSensor(this.rootRef.nativeElement,({width:t})=>{const i=t<440;this.isNarrowView!==i&&(this.isNarrowView=i,this.cdr.markForCheck())})}ngOnDestroy(){this.sensor.detach()}setViewType(t){this.model.setViewType(t?"3d":"register")}resetStage(){this.model.setPosition(this.model.defaultPosition),this.model.setViewSide("anterior"),this.model.setViewType("register")}handleNodeDrag(t){if("#DraftPlacement"===t.node["@id"]&&t.info.coordinate){const[i,r]=t.info.coordinate.map(d=>1e3*d),{position:s,viewSide:o,organDimensions:a}=this.model.snapshot,l=[a.x,a.y,a.z].map(d=>d/2);let c=s;switch(o){case"anterior":c={x:i+l[0],y:r+l[1],z:s.z};break;case"posterior":c={x:-i+l[0],y:r+l[1],z:s.z};break;case"left":c={x:s.x,y:r+l[1],z:-i+l[2]};break;case"right":c={x:s.x,y:r+l[1],z:i+l[2]}}this.model.setPosition(c)}}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(Sr),E(as),E(rt),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:29,vars:34,consts:[[1,"top-bar"],[3,"useDropdownMenu","view3D","side","view3DChange","sideChange"],["matRipple","","matRippleColor","rgba(204, 204, 204, 0.25)",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"main-content"],["class","body-ui","camera","perspective",3,"scene","rotation","bounds","zoom","interactive","rotationChange",4,"ngIf"],["class","body-ui","camera","orthographic",3,"scene","interactive","bounds","zoom","nodeDrag",4,"ngIf"],[1,"gizmo-area"],[1,"position-display"],[1,"position"],[1,"x"],[1,"y"],[1,"z"],[1,"gizmo",3,"scene","rotation","interactive","zoom"],["gizmo",""],["class","debug",4,"ngIf"],["style","position: absolute; bottom: 1rem; display: flex; flex-direction: row; justify-content: space-between; width: 7rem;",4,"ngIf"],["camera","perspective",1,"body-ui",3,"scene","rotation","bounds","zoom","interactive","rotationChange"],["camera","orthographic",1,"body-ui",3,"scene","interactive","bounds","zoom","nodeDrag"],[1,"debug"],[2,"position","absolute","bottom","1rem","display","flex","flex-direction","row","justify-content","space-between","width","7rem"],[2,"width","3rem","font-size",".7rem",3,"click"],[3,"click"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"ccf-stage-nav",1),ge("view3DChange",function(s){return i.setViewType(s)})("sideChange",function(s){return i.model.setViewSide(s)}),Kt(2,"async"),Kt(3,"async"),k(),R(4,"mat-icon",2),ge("click",function(){return i.resetStage()}),De(5,"refresh"),k(),k(),R(6,"div",3),mt(7,OFe,4,11,"ccf-body-ui",4),Kt(8,"async"),mt(9,IFe,3,8,"ccf-body-ui",5),Kt(10,"async"),R(11,"div",6),R(12,"div",7),R(13,"div",8),R(14,"div",9),De(15),Kt(16,"async"),k(),R(17,"div",10),De(18),Kt(19,"async"),k(),R(20,"div",11),De(21),Kt(22,"async"),k(),k(),k(),tt(23,"ccf-body-ui",12,13),Kt(25,"async"),Kt(26,"async"),k(),k(),mt(27,PFe,1,0,"ccf-store-debug",14),mt(28,RFe,7,0,"div",15)),2&t){let r,s,o;G(1),ie("useDropdownMenu",i.isNarrowView)("view3D",rn(2,16,i.is3DView$))("side",rn(3,18,i.model.viewSide$)),G(3),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(3),ie("ngIf","3d"===rn(8,20,i.model.viewType$)),G(2),ie("ngIf","register"===rn(10,22,i.model.viewType$)),G(6),or("X: ",null==(r=rn(16,24,i.position$))?null:r.x,""),G(3),or("Y: ",null==(s=rn(19,26,i.position$))?null:s.y,""),G(3),or("Z: ",null==(o=rn(22,28,i.position$))?null:o.z,""),G(2),ie("scene",rn(25,30,i.scene.gizmo$))("rotation",rn(26,32,i.scene.rotation$))("interactive",!1)("zoom",9.5),G(4),ie("ngIf",i.showDebugButtons&&i.debugMode),G(1),ie("ngIf",i.showDebugButtons)}},directives:[DFe,rs,Js,zr,mPe,SPe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;padding:1.5rem;overflow:hidden}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{display:flex;height:calc(100% - 1rem)}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .body-ui[_ngcontent-%COMP%]{flex:auto;transition:opacity 1s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%]{width:4rem;margin-top:1.5rem;margin-left:1.5rem;z-index:10}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .position-display[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%]{height:5.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{opacity:0;z-index:0}[_nghost-%COMP%] .ccf-store-debug[_ngcontent-%COMP%]{color:#fff;position:absolute;top:.5rem;max-width:55rem}"],changeDetection:0}),n})();function FFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t),Qe();const r=vs(15);return r.expanded=!r.expanded}),R(1,"mat-icon",12),De(2),k(),k()}if(2&n){Qe();const t=vs(15);G(2),or(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function NFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t);const r=Qe();return r.open=!r.open}),R(1,"mat-icon",13),De(2),k(),k()}if(2&n){const t=Qe();G(2),or(" ",t.open?"arrow_drop_up":"arrow_drop_down"," ")}}const LFe=function(n){return[n]};let BFe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this.model=t,this.page=i,this.consentService=r,this.snackbar=s,this.theming=o,this.globalConfig=c,this.organList=qF,this.open=!0,this.registrationStarted=!1,this.disablePositionChange=!1,this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new If(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.subscriptions=new Te,o.initialize(a,l),this.subscriptions.add(i.registrationCallbackSet$.subscribe(f=>{this.open=!f})),this.subscriptions.add(i.registrationStarted$.subscribe(f=>{this.registrationStarted=f})),this.theme$.subscribe(f=>{this.theme=f}),this.globalConfig.getOption("homeUrl").subscribe(f=>{this.homeUrl=f}),this.globalConfig.getOption("logoTooltip").subscribe(f=>{this.logoTooltip=f}),Qi([this.theme$,this.themeMode$]).subscribe(([f,p])=>{this.theming.setTheme(`${f}-theme-${p}`),d.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(eRe,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});this.themeMode$.next("light"),this.theming.setTheme(`${this.theme}-theme-light`)}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}handleKey(t){const i=this.model.snapshot.position;if(this.disablePositionChange||!this.registrationStarted)return;t.preventDefault();const r=t.repeat?1:.5;let s=i;switch(t.key){case"q":s=Object.assign(Object.assign({},i),{z:i.z+r});break;case"e":s=Object.assign(Object.assign({},i),{z:i.z-r});break;case"w":s=Object.assign(Object.assign({},i),{y:i.y+r});break;case"s":s=Object.assign(Object.assign({},i),{y:i.y-r});break;case"a":s=Object.assign(Object.assign({},i),{x:i.x-r});break;case"d":s=Object.assign(Object.assign({},i),{x:i.x+r})}this.model.setPosition(s)}handleClick(t){this.disablePositionChange="INPUT"===t.nodeName}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(f0),E(Xae),E(YF),E(rt),E(Nt),E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root"]],hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i.handleKey(s)},!1,sg)("click",function(s){return i.handleClick(s.target)},!1,sg)},decls:21,vars:35,consts:[[3,"logoTooltip","homeUrl"],["opened",""],[3,"modalClosed","disableSlider"],["position","end","opened",""],[3,"modalClosed"],[1,"selector-drawer"],[3,"organList","selectedOrgans","organsChanged"],["organSelector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,i){if(1&t&&(tt(0,"ccf-registration-modal"),tt(1,"ccf-header",0),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),R(5,"ccf-drawer-container"),R(6,"ccf-drawer",1),tt(7,"ccf-left-sidebar",2),tt(8,"ccf-drawer-toggle-button"),k(),R(9,"ccf-drawer",3),tt(10,"ccf-right-sidebar",4),tt(11,"ccf-drawer-toggle-button"),k(),R(12,"ccf-drawer-content"),R(13,"div",5),R(14,"ccf-organ-selector",6,7),ge("organsChanged",function(s){return i.model.setOrgan(s[0])}),Kt(16,"async"),k(),R(17,"div",8),mt(18,FFe,3,1,"div",9),mt(19,NFe,3,1,"div",9),k(),k(),tt(20,"ccf-content",10),k(),k()),2&t){const r=vs(15);G(1),st("header-hidden",!1===rn(2,25,i.header$)),ie("logoTooltip",rn(3,27,i.logoTooltip$))("homeUrl",rn(4,29,i.homeUrl$)),G(6),ie("modalClosed",i.registrationStarted)("disableSlider",!(null!=r.selectedOrgans[0]&&r.selectedOrgans[0].hasSex)),G(3),ie("modalClosed",i.registrationStarted),G(3),st("closed",!i.open)("expanded",r.expanded),G(1),st("closed",!i.open),ie("organList",i.organList)("selectedOrgans",Hg(33,LFe,rn(16,31,i.model.organ$))),G(3),st("closed",!i.open)("selector-expanded",r.expanded),G(1),ie("ngIf",i.open),G(1),ie("ngIf",!r.expanded),G(1),st("expanded-stage",!i.open)("retracted-stage",r.expanded)}},directives:[LRe,jRe,XRe,ZF,Kke,Zke,gFe,bx,p9,zr,kFe,rs],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;color:#000}[_nghost-%COMP%] .header-hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:25.5rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{position:relative;z-index:1}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;height:5.688rem;transition:all .5s ease-in-out}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector[_ngcontent-%COMP%]{height:100%;padding-top:.5rem;transition:all .5s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector.closed[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;height:0;z-index:2}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{cursor:pointer;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{width:3rem;height:1.2rem;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:#fff;border-bottom-left-radius:.2rem;border-bottom-right-radius:.2rem;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]:hover{background-color:#ececec}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:3rem;top:-2.9rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{border-radius:.5rem!important;height:calc(100% - 2.688rem - 3rem - 1.5rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 1.5rem);padding-bottom:1rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .retracted-stage[_ngcontent-%COMP%]{height:calc(100% - 2.688rem - 14rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-content[_ngcontent-%COMP%]{position:absolute;transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:all;bottom:1.5rem;z-index:1}"],changeDetection:0}),n})();function VFe(n,e){1&n&&tt(0,"ccf-root")}let zFe=(()=>{class n extends lRe{constructor(t,i){const r=cRe;super(t,i,{initialDelay:500,initialConfig:Object.assign(Object.assign(Object.assign({},hu.dbOptions),globalThis.ruiConfig),hu.customization),parse:{useDownload:r.boolean,user:r.json,organ:r.json,editRegistration:r.json,register:r.function,cancelRegistration:r.function,fetchPreviousRegistrations:r.function,skipUnsavedChangesConfirmation:r.boolean,header:r.boolean}})}}return n.\u0275fac=function(t){return new(t||n)(E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root-wc"]],inputs:{baseHref:"baseHref",useDownload:"useDownload",user:"user",organ:"organ",editRegistration:"editRegistration",register:"register",cancelRegistration:"cancelRegistration",fetchPreviousRegistrations:"fetchPreviousRegistrations",skipUnsavedChangesConfirmation:"skipUnsavedChangesConfirmation",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip"},features:[ct],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&mt(0,VFe,1,0,"ccf-root",0),2&t&&ie("ngIf",i.initialized)},directives:[zr,BFe],encapsulation:2,changeDetection:0}),n})();const jFe=new ve("Global configuration object");function UFe(n){return n.get("ruiConfig",{user:{firstName:"",lastName:""}})}let HFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:jFe,useFactory:UFe,deps:[v9]}]}),n})(),$Fe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:bv,useValue:YF.initialize,multi:!0},YF]}),n})(),GFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[Fr,Fa,UW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(I(Fr,2),I(Fa,2))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Sx=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class YFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=pp(this.action),i=function(n){return Sx(n.getHours(),2)+":"+Sx(n.getMinutes(),2)+":"+Sx(n.getSeconds(),2)+"."+Sx(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class XFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const s7=new ve("NGXS_LOGGER_PLUGIN_OPTIONS");let KFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new XFe(this._options),this._store=this._store||this._injector.get(cu);const s=new YFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Ti(o=>{s.completed(o)}),Ta(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(I(s7),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const o7=new ve("LOGGER_USER_OPTIONS");function ZFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let QFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:KFe,multi:!0},{provide:o7,useValue:t},{provide:s7,useFactory:ZFe,deps:[o7]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const JF=new ve("NGXS_STORAGE_PLUGIN_OPTION"),a7=new ve("STORAGE_ENGINE"),e2="@@STATE",l7="NGXS_OPTIONS_META";function e2e(n){return void 0!==n&&n.key&&(n.key=function(n){return Array.isArray(n)||(n=[n]),n.map(e=>(e.hasOwnProperty(l7)&&(e=e[l7].name),e instanceof class{constructor(e){this.name=e,uk(this).makeRootSelector=i=>i.getStateGetter(this.name)}getName(){return this.name}toString(){return`StateToken[${this.name}]`}}?e.getName():e))}(n.key)),Object.assign({key:[e2],storage:0,serialize:JSON.stringify,deserialize:JSON.parse,beforeSerialize:e=>e,afterDeserialize:e=>e},n)}function t2e(n,e){return kD(e)?null:0===n.storage?localStorage:1===n.storage?sessionStorage:null}let n2e=(()=>{class n{constructor(t,i,r){this._options=t,this._engine=i,this._platformId=r}handle(t,i,r){if(kD(this._platformId)&&null===this._engine)return r(t,i);const s=this._options.key,o=function(n){const e=pp(n);return function(t){return e===pp(t)}}(i),a=o(iG)||o(rG);let l=!1;if(a)for(const c of s){const d=c===e2;let f=this._engine.getItem(c);if("undefined"!==f&&null!=f){try{const p=this._options.deserialize(f);f=this._options.afterDeserialize(p,c)}catch(p){console.error("Error ocurred while deserializing the store value, falling back to empty object."),f={}}this._options.migrations&&this._options.migrations.forEach(p=>{p.version===Gm(f,p.versionKey||"version")&&(!p.key&&d||p.key===c)&&(f=p.migrate(f),l=!0)}),t=d?Object.assign({},t,f):ok(t,c,f)}}return r(t,i).pipe(Ti(c=>{if(!a||a&&l)for(const d of s){let f=c;d!==e2&&(f=Gm(c,d));try{const p=this._options.beforeSerialize(f,d);this._engine.setItem(d,this._options.serialize(p))}catch(p){console.error("Error ocurred while serializing the store value, value not updated.")}}}))}}return n.\u0275fac=function(t){return new(t||n)(I(JF),I(a7),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const c7=new ve("USER_OPTIONS");let i2e=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:n2e,multi:!0},{provide:c7,useValue:t},{provide:JF,useFactory:e2e,deps:[c7]},{provide:a7,useFactory:t2e,deps:[JF,dl]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const u7=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"visibility_off_cube",namespace:"app",url:"assets/icons/ico-cube.svg"}];let hd=class extends cDe{constructor(e,t,i){super(),this.registry=e,this.sanitizer=t,this.globalConfig=i}ngxsOnInit(){var e;u7.filter(t=>void 0!==t.html).map(t=>Object.assign(Object.assign({},t),{html:this.sanitizer.bypassSecurityTrustHtml(t.html)})).forEach(t=>this.registerIconImpl(t)),null===(e=this.registry)||void 0===e||e.addSvgIconResolver((t,i)=>{var r;const s=u7.find(a=>{var l,c;return(null!==(l=a.name)&&void 0!==l?l:"")===t&&(null!==(c=a.namespace)&&void 0!==c?c:"")===i});if(void 0===s||void 0===s.url)return null;const o=null!==(r=this.globalConfig.snapshot.baseHref)&&void 0!==r?r:"";return this.sanitizer.bypassSecurityTrustResourceUrl(o+s.url)})}registerIcon(e){return this.registerIconImpl(e)}registerIconImpl(e){if(!this.registry||!e.url&&!e.html)return!1;const t=this.registry,r=t[this.getMethodName(e)],s=this.getArguments(e);if(!r)return!1;try{return r.apply(t,s),!0}catch(o){return!1}}getMethodName({name:e,namespace:t,url:i}){const r=["addSvgIcon"];return e||r.push("Set"),i||r.push("Literal"),t&&r.push("InNamespace"),r.join("")}getArguments({name:e,namespace:t,url:i,html:r}){return[t,e,null!=i?i:r].filter(o=>!!o)}};hd.\u0275fac=function(e){return new(e||hd)(I(Gv,8),I(th),I(Ah))},hd.\u0275prov=ue({token:hd,factory:hd.\u0275fac}),xe([on()],hd.prototype,"registerIcon",null),hd=xe([xh(),cd({name:"iconRegistry"})],hd);const r2e=[Ah,hd,ji,ai,ko,fc,Sr,as];let s2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[GFe.forRoot(),Io.forRoot(r2e,{developmentMode:!hu.production}),i2e.forRoot({key:["registration.registrations"]}),QFe.forRoot({disabled:hu.production})]]}),n})(),o2e=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rj,kIe.forRoot({gaToken:hu.googleAnalyticsToken,appName:"rui"}),ZPe,HFe,s2e,$Fe]]}),n})(),t2=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9]]}),n})(),a2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,MFe,q9,lr,yx,t2,hc]]}),n})(),l2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr]]}),n})(),c2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,a2e,lr,MPe,l2e,_l,_Pe]]}),n})(),u2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),d2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})(),h2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,q9]]}),n})(),d7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9,Kb,Lk,Bk,hc]]}),n})(),f2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_l,m9]]}),n})(),h7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,j9]]}),n})(),p2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})(),g2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,lr,hc,yx,d2e,t2,d7,h7,h2e,m9,f2e,h7,p2e]]}),n})(),m2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch,hc,d7,t2,g9]]}),n})(),_2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,m2e]]}),n})(),y2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc]]}),n})(),v2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l,hc]]}),n})(),b2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc,qPe]]}),n})(),C2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,j9,lr]]}),n})(),w2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Lk,Bk,ch,h9,Uv,lr,Kb]]}),n})(),E2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,ch]]}),n})(),S2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,E2e,ch,hc]]}),n})(),M2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,yx,lr,kO,hc,y2e,S2e,v2e,b2e,C2e,w2e,HPe]]}),n})(),x2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:P9,useValue:I9}],imports:[[yE,kO,lr]]}),n})(),T2e=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(ll).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new Fne(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends Lne{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,d){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(zFe,{injector:this.injector});customElements.define("ccf-rui",t)}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:T9,useValue:"hubmap-theme-light"},{provide:vj,useValue:{appearance:"standard",floatLabel:!1,hideRequiredMarker:!0}}],imports:[[yE,kO,o2e,lr,x2e,u2e,c2e,g2e,M2e,g9,_2e,tRe,_U]]}),n})();hu.production&&function(){if(i3)throw new Error("Cannot enable prod mode after platform setup.");n3=!1}(),rne().bootstrapModule(T2e).catch(n=>console.error(n))},948:gt=>{gt.exports=function(ze){return ze&&ze.__esModule?ze:{default:ze}},gt.exports.default=gt.exports,gt.exports.__esModule=!0},321:gt=>{function We(ze){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(gt.exports=We=function(L){return typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0):(gt.exports=We=function(L){return L&&"function"==typeof Symbol&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0),We(ze)}gt.exports=We,gt.exports.default=gt.exports,gt.exports.__esModule=!0},833:gt=>{function We(ze){return Promise.resolve().then(()=>{var wt=new Error("Cannot find module '"+ze+"'");throw wt.code="MODULE_NOT_FOUND",wt})}We.keys=()=>[],We.resolve=We,We.id=833,gt.exports=We},521:()=>{},125:()=>{},307:()=>{}},gt=>{gt(gt.s=851)}]); \ No newline at end of file +var A2e=Object.defineProperty,D2e=Object.defineProperties,O2e=Object.getOwnPropertyDescriptors,p7=Object.getOwnPropertySymbols,I2e=Object.prototype.hasOwnProperty,P2e=Object.prototype.propertyIsEnumerable,Ui=Math.pow,g7=(gt,We,ze)=>We in gt?A2e(gt,We,{enumerable:!0,configurable:!0,writable:!0,value:ze}):gt[We]=ze,K=(gt,We)=>{for(var ze in We||(We={}))I2e.call(We,ze)&&g7(gt,ze,We[ze]);if(p7)for(var ze of p7(We))P2e.call(We,ze)&&g7(gt,ze,We[ze]);return gt},Lt=(gt,We)=>D2e(gt,O2e(We));(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{2:gt=>{"use strict";gt.exports=ze,gt.exports.default=ze;var We=1e20;function ze(Ke,ft,Ze,Tt,Ft,we){this.fontSize=Ke||24,this.buffer=void 0===ft?3:ft,this.cutoff=Tt||.25,this.fontFamily=Ft||"sans-serif",this.fontWeight=we||"normal",this.radius=Ze||8;var _e=this.size=this.fontSize+2*this.buffer,ke=_e+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=_e,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(ke*ke),this.gridInner=new Float64Array(ke*ke),this.f=new Float64Array(ke),this.z=new Float64Array(ke+1),this.v=new Uint16Array(ke),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(_e/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function It(Ke,ft,Ze,Tt,Ft,we){for(var _e=0;_e-1);we[++ye]=ke,_e[ye]=Te,_e[ye+1]=We}for(ke=0,ye=0;ke{"use strict";var wt=(()=>{return(It=wt||(wt={})).typeOfFunction="function",It.boolTrue=!0,wt;var It})();function L(It,Pt,Ke){if(!Ke||typeof Ke.value!==wt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+Pt+"> is not a method!");return{configurable:wt.boolTrue,get:function(){var ft=Ke.value.bind(this);return Object.defineProperty(this,Pt,{value:ft,configurable:wt.boolTrue,writable:wt.boolTrue}),ft}}}We.ak=L,We.ZP=L},266:(gt,We,ze)=>{gt.exports={ResizeSensor:ze(835),ElementQueries:ze(845)}},845:function(gt,We,ze){"use strict";var wt,L,It;"undefined"!=typeof window&&window,L=[ze(835)],void 0!==(It="function"==typeof(wt=function(Pt){var Ke=function(){var Ze,Tt={},Ft=[];function we(Ve){Ve||(Ve=document.documentElement);var ce=window.getComputedStyle(Ve,null).fontSize;return parseFloat(ce)||16}function ke(Ve,ce){var zt=ce.split(/\d/),Gt=zt[zt.length-1];switch(ce=parseFloat(ce),Gt){case"px":return ce;case"em":return ce*we(Ve);case"rem":return ce*we();case"vw":return ce*document.documentElement.clientWidth/100;case"vh":return ce*document.documentElement.clientHeight/100;case"vmin":case"vmax":var Qt=document.documentElement.clientWidth/100,li=document.documentElement.clientHeight/100;return ce*(0,Math["vmin"===Gt?"min":"max"])(Qt,li);default:return ce}}function ye(Ve,ce){this.element=Ve;var zt,Gt,Qt,li,Pi,Se,pn,Gn,Ae=["min-width","min-height","max-width","max-height"];this.call=function(){for(zt in Qt=function(Ve){if(!Ve.getBoundingClientRect)return{width:Ve.offsetWidth,height:Ve.offsetHeight};var ce=Ve.getBoundingClientRect();return{width:Math.round(ce.width),height:Math.round(ce.height)}}(this.element),Se={},Tt[ce])!Tt[ce].hasOwnProperty(zt)||(li=ke(this.element,(Gt=Tt[ce][zt]).value),Pi="width"===Gt.property?Qt.width:Qt.height,pn="","min"===Gt.mode&&Pi>=li&&(pn+=Gt.value),"max"===Gt.mode&&Pi<=li&&(pn+=Gt.value),Se[Gn=Gt.mode+"-"+Gt.property]||(Se[Gn]=""),pn&&-1===(" "+Se[Gn]+" ").indexOf(" "+pn+" ")&&(Se[Gn]+=" "+pn));for(var Ri in Ae)!Ae.hasOwnProperty(Ri)||(Se[Ae[Ri]]?this.element.setAttribute(Ae[Ri],Se[Ae[Ri]].substr(1)):this.element.removeAttribute(Ae[Ri]))}}function Te(Ve,ce){Ve.elementQueriesSetupInformation||(Ve.elementQueriesSetupInformation=new ye(Ve,ce)),Ve.elementQueriesSensor||(Ve.elementQueriesSensor=new Pt(Ve,function(){Ve.elementQueriesSetupInformation.call()}))}function Vt(Ve,ce,zt,Gt){if(void 0===Tt[Ve]){Tt[Ve]=[];var Qt=Ft.length;Ze.innerHTML+="\n"+Ve+" {animation: 0.1s element-queries;}",Ze.innerHTML+="\n"+Ve+" > .resize-sensor {min-width: "+Qt+"px;}",Ft.push(Ve)}Tt[Ve].push({mode:ce,property:zt,value:Gt})}function He(Ve){var ce;if(document.querySelectorAll&&(ce=Ve?Ve.querySelectorAll.bind(Ve):document.querySelectorAll.bind(document)),!ce&&"undefined"!=typeof $$&&(ce=$$),!ce&&"undefined"!=typeof jQuery&&(ce=jQuery),!ce)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return ce}function xt(Ve){var ce=[],zt=[],Gt=[],Qt=0,li=-1,Pi=[];for(var Se in Ve.children)if(Ve.children.hasOwnProperty(Se)&&Ve.children[Se].tagName&&"img"===Ve.children[Se].tagName.toLowerCase()){ce.push(Ve.children[Se]);var pn=Ve.children[Se].getAttribute("min-width")||Ve.children[Se].getAttribute("data-min-width"),Gn=Ve.children[Se].getAttribute("data-src")||Ve.children[Se].getAttribute("url");Gt.push(Gn),zt.push({minWidth:pn}),pn?Ve.children[Se].style.display="none":(Qt=ce.length-1,Ve.children[Se].style.display="block")}function Ri(){var xr,jt=!1;for(xr in ce)!ce.hasOwnProperty(xr)||zt[xr].minWidth&&Ve.offsetWidth>zt[xr].minWidth&&(jt=xr);if(jt||(jt=Qt),li!==jt)if(Pi[jt])ce[li].style.display="none",ce[jt].style.display="block",li=jt;else{var ls=new Image;ls.onload=function(){ce[jt].src=Gt[jt],ce[li].style.display="none",ce[jt].style.display="block",Pi[jt]=!0,li=jt},ls.src=Gt[jt]}else ce[jt].src=Gt[jt]}li=Qt,Ve.resizeSensorInstance=new Pt(Ve,Ri),Ri()}var Yn=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,Ei=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function vi(Ve){var ce,zt,Gt,Qt;for(Ve=Ve.replace(/'/g,'"');null!==(ce=Yn.exec(Ve));)for(zt=ce[1]+ce[3],Gt=ce[2];null!==(Qt=Ei.exec(Gt));)Vt(zt,Qt[1],Qt[2],Qt[3])}function bi(Ve){var ce="";if(Ve)if("string"==typeof Ve)(-1!==(Ve=Ve.toLowerCase()).indexOf("min-width")||-1!==Ve.indexOf("max-width"))&&vi(Ve);else for(var zt=0,Gt=Ve.length;zt img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",Ze.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(Ze),Mr=!0);for(var ce=0,zt=document.styleSheets.length;ce=_e.status}function ft(we){try{we.dispatchEvent(new MouseEvent("click"))}catch(ke){var _e=document.createEvent("MouseEvents");_e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),we.dispatchEvent(_e)}}var Ze="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Tt=Ze.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ft=Ze.saveAs||("object"!=typeof window||window!==Ze?function(){}:"download"in HTMLAnchorElement.prototype&&!Tt?function(we,_e,ke){var ye=Ze.URL||Ze.webkitURL,Te=document.createElement("a");Te.download=_e=_e||we.name||"download",Te.rel="noopener","string"==typeof we?(Te.href=we,Te.origin===location.origin?ft(Te):Ke(Te.href)?Pt(we,_e,ke):ft(Te,Te.target="_blank")):(Te.href=ye.createObjectURL(we),setTimeout(function(){ye.revokeObjectURL(Te.href)},4e4),setTimeout(function(){ft(Te)},0))}:"msSaveOrOpenBlob"in navigator?function(we,_e,ke){if(_e=_e||we.name||"download","string"!=typeof we)navigator.msSaveOrOpenBlob(function(we,_e){return void 0===_e?_e={autoBom:!1}:"object"!=typeof _e&&(console.warn("Deprecated: Expected third argument to be a object"),_e={autoBom:!_e}),_e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(we.type)?new Blob(["\ufeff",we],{type:we.type}):we}(we,ke),_e);else if(Ke(we))Pt(we,_e,ke);else{var ye=document.createElement("a");ye.href=we,ye.target="_blank",setTimeout(function(){ft(ye)})}}:function(we,_e,ke,ye){if((ye=ye||open("","_blank"))&&(ye.document.title=ye.document.body.innerText="downloading..."),"string"==typeof we)return Pt(we,_e,ke);var Te="application/octet-stream"===we.type,Vt=/constructor/i.test(Ze.HTMLElement)||Ze.safari,He=/CriOS\/[\d]+/.test(navigator.userAgent);if((He||Te&&Vt||Tt)&&"undefined"!=typeof FileReader){var An=new FileReader;An.onloadend=function(){var Yn=An.result;Yn=He?Yn:Yn.replace(/^data:[^;]*;/,"data:attachment/file;"),ye?ye.location.href=Yn:location=Yn,ye=null},An.readAsDataURL(we)}else{var xt=Ze.URL||Ze.webkitURL,tn=xt.createObjectURL(we);ye?ye.location=tn:location.href=tn,ye=null,setTimeout(function(){xt.revokeObjectURL(tn)},4e4)}});Ze.saveAs=Ft.saveAs=Ft,gt.exports=Ft})?ze.apply(We,[]):ze)&&(gt.exports=L)},524:(gt,We,ze)=>{var wt;!function(L,It,Pt,Ke){"use strict";var He,ft=["","webkit","Moz","MS","ms","o"],Ze=It.createElement("div"),Ft=Math.round,we=Math.abs,_e=Date.now;function ke(A,F,j){return setTimeout(Yn(A,j),F)}function ye(A,F,j){return!!Array.isArray(A)&&(Te(A,j[F],j),!0)}function Te(A,F,j){var re;if(A)if(A.forEach)A.forEach(F,j);else if(A.length!==Ke)for(re=0;re\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",vn=L.console&&(L.console.warn||L.console.log);return vn&&vn.call(L.console,re,Ue),A.apply(this,arguments)}}He="function"!=typeof Object.assign?function(F){if(F===Ke||null===F)throw new TypeError("Cannot convert undefined or null to object");for(var j=Object(F),re=1;re-1}function zt(A){return A.trim().split(/\s+/g)}function Gt(A,F,j){if(A.indexOf&&!j)return A.indexOf(F);for(var re=0;reWr[F]}):re.sort()),re}function Pi(A,F){for(var j,re,Fe=F[0].toUpperCase()+F.slice(1),Ue=0;Ue1&&!j.firstMultiple?j.firstMultiple=Va(F):1===Fe&&(j.firstMultiple=!1);var Ue=j.firstInput,vn=j.firstMultiple,dr=vn?vn.center:Ue.center,yr=F.center=uo(re);F.timeStamp=_e(),F.deltaTime=F.timeStamp-Ue.timeStamp,F.angle=ho(dr,yr),F.distance=us(dr,yr),function(A,F){var j=F.center,re=A.offsetDelta||{},Fe=A.prevDelta||{},Ue=A.prevInput||{};(1===F.eventType||4===Ue.eventType)&&(Fe=A.prevDelta={x:Ue.deltaX||0,y:Ue.deltaY||0},re=A.offsetDelta={x:j.x,y:j.y}),F.deltaX=Fe.x+(j.x-re.x),F.deltaY=Fe.y+(j.y-re.y)}(j,F),F.offsetDirection=Ni(F.deltaX,F.deltaY);var Wr=za(F.deltaTime,F.deltaX,F.deltaY);F.overallVelocityX=Wr.x,F.overallVelocityY=Wr.y,F.overallVelocity=we(Wr.x)>we(Wr.y)?Wr.x:Wr.y,F.scale=vn?function(A,F){return us(F[0],F[1],Nr)/us(A[0],A[1],Nr)}(vn.pointers,re):1,F.rotation=vn?function(A,F){return ho(F[1],F[0],Nr)+ho(A[1],A[0],Nr)}(vn.pointers,re):0,F.maxPointers=j.prevInput?F.pointers.length>j.prevInput.maxPointers?F.pointers.length:j.prevInput.maxPointers:F.pointers.length,function(A,F){var Fe,Ue,vn,dr,j=A.lastInterval||F,re=F.timeStamp-j.timeStamp;if(8!=F.eventType&&(re>25||j.velocity===Ke)){var yr=F.deltaX-j.deltaX,Wr=F.deltaY-j.deltaY,cn=za(re,yr,Wr);Ue=cn.x,vn=cn.y,Fe=we(cn.x)>we(cn.y)?cn.x:cn.y,dr=Ni(yr,Wr),A.lastInterval=F}else Fe=j.velocity,Ue=j.velocityX,vn=j.velocityY,dr=j.direction;F.velocity=Fe,F.velocityX=Ue,F.velocityY=vn,F.direction=dr}(j,F);var cn=A.element;Ve(F.srcEvent.target,cn)&&(cn=F.srcEvent.target),F.target=cn}(A,j),A.emit("hammer.input",j),A.recognize(j),A.session.prevInput=j}function Va(A){for(var F=[],j=0;j=we(F)?A<0?2:4:F<0?8:16}function us(A,F,j){j||(j=Gr);var re=F[j[0]]-A[j[0]],Fe=F[j[1]]-A[j[1]];return Math.sqrt(re*re+Fe*Fe)}function ho(A,F,j){return j||(j=Gr),180*Math.atan2(F[j[1]]-A[j[1]],F[j[0]]-A[j[0]])/Math.PI}ii.prototype={handler:function(){},init:function(){this.evEl&&bi(this.element,this.evEl,this.domHandler),this.evTarget&&bi(this.target,this.evTarget,this.domHandler),this.evWin&&bi(Gn(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Mr(this.element,this.evEl,this.domHandler),this.evTarget&&Mr(this.target,this.evTarget,this.domHandler),this.evWin&&Mr(Gn(this.element),this.evWin,this.domHandler)}};var fu={mousedown:1,mousemove:2,mouseup:4},pu="mousedown",gu="mousemove mouseup";function Ml(){this.evEl=pu,this.evWin=gu,this.pressed=!1,ii.apply(this,arguments)}tn(Ml,ii,{handler:function(F){var j=fu[F.type];1&j&&0===F.button&&(this.pressed=!0),2&j&&1!==F.which&&(j=4),this.pressed&&(4&j&&(this.pressed=!1),this.callback(this.manager,j,{pointers:[F],changedPointers:[F],pointerType:cs,srcEvent:F}))}});var mc={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},pd={2:ls,3:"pen",4:cs,5:"kinect"},mu="pointerdown",Vs="pointermove pointerup pointercancel";function Je(){this.evEl=mu,this.evWin=Vs,ii.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}L.MSPointerEvent&&!L.PointerEvent&&(mu="MSPointerDown",Vs="MSPointerMove MSPointerUp MSPointerCancel"),tn(Je,ii,{handler:function(F){var j=this.store,re=!1,Fe=F.type.toLowerCase().replace("ms",""),Ue=mc[Fe],vn=pd[F.pointerType]||F.pointerType,dr=vn==ls,yr=Gt(j,F.pointerId,"pointerId");1&Ue&&(0===F.button||dr)?yr<0&&(j.push(F),yr=j.length-1):12&Ue&&(re=!0),!(yr<0)&&(j[yr]=F,this.callback(this.manager,Ue,{pointers:j,changedPointers:[F],pointerType:vn,srcEvent:F}),re&&j.splice(yr,1))}});var _u={touchstart:1,touchmove:2,touchend:4,touchcancel:8},W="touchstart",Y="touchstart touchmove touchend touchcancel";function J(){this.evTarget=W,this.evWin=Y,this.started=!1,ii.apply(this,arguments)}function T(A,F){var j=Qt(A.touches),re=Qt(A.changedTouches);return 12&F&&(j=li(j.concat(re),"identifier",!0)),[j,re]}tn(J,ii,{handler:function(F){var j=_u[F.type];if(1===j&&(this.started=!0),this.started){var re=T.call(this,F,j);12&j&&re[0].length-re[1].length==0&&(this.started=!1),this.callback(this.manager,j,{pointers:re[0],changedPointers:re[1],pointerType:ls,srcEvent:F})}}});var D={touchstart:1,touchmove:2,touchend:4,touchcancel:8},B="touchstart touchmove touchend touchcancel";function Z(){this.evTarget=B,this.targetIds={},ii.apply(this,arguments)}function $(A,F){var j=Qt(A.touches),re=this.targetIds;if(3&F&&1===j.length)return re[j[0].identifier]=!0,[j,j];var Fe,Ue,vn=Qt(A.changedTouches),dr=[],yr=this.target;if(Ue=j.filter(function(Wr){return Ve(Wr.target,yr)}),1===F)for(Fe=0;Fe-1&&re.splice(Ue,1)},2500)}}function xn(A){for(var F=A.srcEvent.clientX,j=A.srcEvent.clientY,re=0;re-1&&this.requireFail.splice(F,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(A){return!!this.simultaneous[A.id]},emit:function(A){var F=this,j=this.state;function re(Fe){F.manager.emit(Fe,A)}j<8&&re(F.options.event+ue(j)),re(F.options.event),A.additionalEvent&&re(A.additionalEvent),j>=8&&re(F.options.event+ue(j))},tryEmit:function(A){if(this.canEmit())return this.emit(A);this.state=32},canEmit:function(){for(var A=0;AF.threshold&&Fe&F.direction},attrTest:function(A){return rr.prototype.attrTest.call(this,A)&&(2&this.state||!(2&this.state)&&this.directionTest(A))},emit:function(A){this.pX=A.deltaX,this.pY=A.deltaY;var F=u_(A.direction);F&&(A.additionalEvent=this.options.event+F),this._super.emit.call(this,A)}}),tn(bu,rr,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.scale-1)>this.options.threshold||2&this.state)},emit:function(A){1!==A.scale&&(A.additionalEvent=this.options.event+(A.scale<1?"in":"out")),this._super.emit.call(this,A)}}),tn(Ih,ja,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distanceF.time;if(this._input=A,!re||!j||12&A.eventType&&!Fe)this.reset();else if(1&A.eventType)this.reset(),this._timer=ke(function(){this.state=8,this.tryEmit()},F.time,this);else if(4&A.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(A){8===this.state&&(A&&4&A.eventType?this.manager.emit(this.options.event+"up",A):(this._input.timeStamp=_e(),this.manager.emit(this.options.event,this._input)))}}),tn(Cu,rr,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)}}),tn(ua,rr,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return vc.prototype.getTouchAction.call(this)},attrTest:function(A){var j,F=this.options.direction;return 30&F?j=A.overallVelocity:6&F?j=A.overallVelocityX:24&F&&(j=A.overallVelocityY),this._super.attrTest.call(this,A)&&F&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers==this.options.pointers&&we(j)>this.options.velocity&&4&A.eventType},emit:function(A){var F=u_(A.offsetDirection);F&&this.manager.emit(this.options.event+F,A),this.manager.emit(this.options.event,A)}}),tn(Tl,ja,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Hi]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distance"']/g,Vs=RegExp(pd.source),Je=RegExp(mu.source),_u=/<%-([\s\S]+?)%>/g,W=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,J=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,D=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/[\\^$.*+?()[\]{}|]/g,Z=RegExp(B.source),$=/^\s+/,le=/\s/,he=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,pe=/\{\n\/\* \[wrapped with (.+)\] \*/,Ge=/,? & /,an=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,xn=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,Et=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ln=/\w*$/,ri=/^[-+]0x[0-9a-f]+$/i,Hi=/^0b[01]+$/i,$i=/^\[object .+?Constructor\]$/,_n=/^0o[0-7]+$/i,Ci=/^(?:0|[1-9]\d*)$/,_c=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fo=/($^)/,gd=/['\n\r\u2028\u2029\\]/g,xl="\\ud800-\\udfff",Gi="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Pn="\\u2700-\\u27bf",vu="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",rr="\\ufe0e\\ufe0f",vc="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ih="["+xl+"]",Cu="["+vc+"]",ua="["+Gi+"]",Tl="\\d+",Ua="["+Pn+"]",Sp="["+vu+"]",At="[^"+xl+vc+Tl+Pn+vu+Me+"]",Al="\\ud83c[\\udffb-\\udfff]",da="[^"+xl+"]",md="(?:\\ud83c[\\udde6-\\uddff]){2}",A="[\\ud800-\\udbff][\\udc00-\\udfff]",F="["+Me+"]",j="\\u200d",re="(?:"+Sp+"|"+At+")",Fe="(?:"+F+"|"+At+")",Ue="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",vn="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",dr="(?:"+ua+"|"+Al+")?",yr="["+rr+"]?",Mx=yr+dr+"(?:"+j+"(?:"+[da,md,A].join("|")+")"+yr+dr+")*",_d="(?:"+[Ua,md,A].join("|")+")"+Mx,mi="(?:"+[da+ua+"?",ua,md,A,Ih].join("|")+")",xp=RegExp("['\u2019]","g"),d_=RegExp(ua,"g"),Ph=RegExp(Al+"(?="+Al+")|"+mi+Mx,"g"),b0=RegExp([F+"?"+Sp+"+"+Ue+"(?="+[Cu,F,"$"].join("|")+")",Fe+"+"+vn+"(?="+[Cu,F+re,"$"].join("|")+")",F+"?"+re+"+"+Ue,F+"+"+vn,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Tl,_d].join("|"),"g"),xx=RegExp("["+j+xl+Gi+rr+"]"),Dl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Tx=-1,Ne={};Ne[uo]=Ne[za]=Ne[Ni]=Ne[us]=Ne[ho]=Ne[gc]=Ne[Sl]=Ne[fu]=Ne[pu]=!0,Ne[cs]=Ne[aa]=Ne[El]=Ne[ci]=Ne[Va]=Ne[pt]=Ne[ki]=Ne[la]=Ne[Fi]=Ne[$r]=Ne[ir]=Ne[Gr]=Ne[Nr]=Ne[ii]=Ne[di]=!1;var Si={};Si[cs]=Si[aa]=Si[El]=Si[Va]=Si[ci]=Si[pt]=Si[uo]=Si[za]=Si[Ni]=Si[us]=Si[ho]=Si[Fi]=Si[$r]=Si[ir]=Si[Gr]=Si[Nr]=Si[ii]=Si[pc]=Si[gc]=Si[Sl]=Si[fu]=Si[pu]=!0,Si[ki]=Si[la]=Si[di]=!1;var Pe={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ax=parseFloat,S0=parseInt,oe="object"==typeof global&&global&&global.Object===Object&&global,ds="object"==typeof self&&self&&self.Object===Object&&self,Kn=oe||ds||Function("return this")(),Ol=We&&!We.nodeType&&We,ha=Ol&>&&!gt.nodeType&>,po=ha&&ha.exports===Ol,h_=po&&oe.process,Wi=function(){try{return ha&&ha.require&&ha.require("util").types||h_&&h_.binding&&h_.binding("util")}catch(fe){}}(),it=Wi&&Wi.isArrayBuffer,bn=Wi&&Wi.isDate,Oi=Wi&&Wi.isMap,js=Wi&&Wi.isRegExp,bc=Wi&&Wi.isSet,Tr=Wi&&Wi.isTypedArray;function Ar(q,fe,se){switch(se.length){case 0:return q.call(fe);case 1:return q.call(fe,se[0]);case 2:return q.call(fe,se[0],se[1]);case 3:return q.call(fe,se[0],se[1],se[2])}return q.apply(fe,se)}function hr(q,fe,se,lt){for(var Rt=-1,Wn=null==q?0:q.length;++Rt-1}function kh(q,fe,se){for(var lt=-1,Rt=null==q?0:q.length;++lt-1;);return se}function Px(q,fe){for(var se=q.length;se--&&Ha(fe,q[se],0)>-1;);return se}function r2(q,fe){for(var se=q.length,lt=0;se--;)q[se]===fe&&++lt;return lt}var s2=Fo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),o2=Fo({"&":"&","<":"<",">":">",'"':""","'":"'"});function a2(q){return"\\"+Pe[q]}function Lh(q){return xx.test(q)}function x0(q){var fe=-1,se=Array(q.size);return q.forEach(function(lt,Rt){se[++fe]=[Rt,lt]}),se}function Rx(q,fe){return function(se){return q(fe(se))}}function Eu(q,fe){for(var se=-1,lt=q.length,Rt=0,Wn=[];++se",""":'"',"'":"'"}),Vh=function q(fe){var u,se=(fe=null==fe?Kn:Vh.defaults(Kn.Object(),fe,Vh.pick(Kn,Rh))).Array,lt=fe.Date,Rt=fe.Error,Wn=fe.Function,vr=fe.Math,fi=fe.Object,v_=fe.RegExp,b_=fe.String,ga=fe.TypeError,Ii=se.prototype,Su=fi.prototype,Ap=fe["__core-js_shared__"],qi=Wn.prototype.toString,pi=Su.hasOwnProperty,f2=0,zh=(u=/[^.]+$/.exec(Ap&&Ap.keys&&Ap.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"",Ts=Su.toString,Nx=qi.call(fi),C_=Kn._,Ed=v_("^"+qi.call(pi).replace(B,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fs=po?fe.Buffer:L,Pl=fe.Symbol,Sd=fe.Uint8Array,D0=fs?fs.allocUnsafe:L,ma=Rx(fi.getPrototypeOf,fi),w_=fi.create,Dp=Su.propertyIsEnumerable,Yt=Ii.splice,Lx=Pl?Pl.isConcatSpreadable:L,jh=Pl?Pl.iterator:L,Mu=Pl?Pl.toStringTag:L,Op=function(){try{var u=Pc(fi,"defineProperty");return u({},"",{}),u}catch(h){}}(),O0=fe.clearTimeout!==Kn.clearTimeout&&fe.clearTimeout,Bx=lt&<.now!==Kn.Date.now&<.now,Vx=fe.setTimeout!==Kn.setTimeout&&fe.setTimeout,Oe=vr.ceil,Dn=vr.floor,en=fi.getOwnPropertySymbols,Dr=fs?fs.isBuffer:L,E_=fe.isFinite,Uh=Ii.join,Ga=Rx(fi.keys,fi),pr=vr.max,Lr=vr.min,p2=lt.now,zx=fe.parseInt,Hh=vr.random,Ip=Ii.reverse,Yr=Pc(fe,"DataView"),Us=Pc(fe,"Map"),Pp=Pc(fe,"Promise"),_a=Pc(fe,"Set"),mo=Pc(fe,"WeakMap"),$h=Pc(fi,"create"),Gh=mo&&new mo,Md={},jx=Lu(Yr),S_=Lu(Us),M_=Lu(Pp),I0=Lu(_a),x_=Lu(mo),Rp=Pl?Pl.prototype:L,xd=Rp?Rp.valueOf:L,Wh=Rp?Rp.toString:L;function O(u){if(Ki(u)&&!Bt(u)&&!(u instanceof Cn)){if(u instanceof _o)return u;if(pi.call(u,"__wrapped__"))return Ud(u)}return new _o(u)}var xu=function(){function u(){}return function(h){if(!Xi(h))return{};if(w_)return w_(h);u.prototype=h;var m=new u;return u.prototype=L,m}}();function qh(){}function _o(u,h){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!h,this.__index__=0,this.__values__=L}function Cn(u){this.__wrapped__=u,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jt,this.__views__=[]}function Hs(u){var h=-1,m=null==u?0:u.length;for(this.clear();++h=h?u:h)),u}function ps(u,h,m,b,M,P){var z,H=1&h,X=2&h,be=4&h;if(m&&(z=M?m(u,b,M,P):m(u)),z!==L)return z;if(!Xi(u))return u;var Ce=Bt(u);if(Ce){if(z=function(u){var h=u.length,m=new u.constructor(h);return h&&"string"==typeof u[0]&&pi.call(u,"index")&&(m.index=u.index,m.input=u.input),m}(u),!H)return Ds(u,z)}else{var Re=ms(u),et=Re==la||Re==La;if(nl(u))return Wp(u,H);if(Re==ir||Re==cs||et&&!M){if(z=X||et?{}:rC(u),!H)return X?function(u,h){return Ca(u,tC(u),h)}(u,function(u,h){return u&&Ca(h,Is(h),u)}(z,u)):function(u,h){return Ca(u,Y_(u),h)}(u,Zx(z,u))}else{if(!Si[Re])return M?u:{};z=function(u,h,m){var b=u.constructor;switch(h){case El:return Ru(u);case ci:case pt:return new b(+u);case Va:return function(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.byteLength)}(u,m);case uo:case za:case Ni:case us:case ho:case gc:case Sl:case fu:case pu:return H_(u,m);case Fi:return new b;case $r:case ii:return new b(u);case Gr:return function(u){var h=new u.constructor(u.source,ln.exec(u));return h.lastIndex=u.lastIndex,h}(u);case Nr:return new b;case pc:return function(u){return xd?fi(xd.call(u)):{}}(u)}}(u,Re,H)}}P||(P=new va);var St=P.get(u);if(St)return St;P.set(u,z),gT(u)?u.forEach(function(Xt){z.add(ps(Xt,h,m,Xt,u,P))}):dT(u)&&u.forEach(function(Xt,Sn){z.set(Sn,ps(Xt,h,m,Sn,u,P))});var En=Ce?L:(be?X?W_:Bl:X?Is:es)(u);return hs(En||u,function(Xt,Sn){En&&(Xt=u[Sn=Xt]),qa(z,Sn,ps(Xt,h,m,Sn,u,P))}),z}function Vp(u,h,m){var b=m.length;if(null==u)return!b;for(u=fi(u);b--;){var M=m[b],z=u[M];if(z===L&&!(M in u)||!(0,h[M])(z))return!1}return!0}function Kh(u,h,m){if("function"!=typeof u)throw new ga(ft);return rf(function(){u.apply(L,m)},h)}function Sc(u,h,m,b){var M=-1,P=Il,z=!0,H=u.length,X=[],be=h.length;if(!H)return X;m&&(h=hi(h,Lo(m))),b?(P=kh,z=!1):h.length>=200&&(P=Nh,z=!1,h=new ya(h));e:for(;++M-1},Rl.prototype.set=function(u,h){var m=this.__data__,b=Ad(m,u);return b<0?(++this.size,m.push([u,h])):m[b][1]=h,this},Wa.prototype.clear=function(){this.size=0,this.__data__={hash:new Hs,map:new(Us||Rl),string:new Hs}},Wa.prototype.delete=function(u){var h=gs(this,u).delete(u);return this.size-=h?1:0,h},Wa.prototype.get=function(u){return gs(this,u).get(u)},Wa.prototype.has=function(u){return gs(this,u).has(u)},Wa.prototype.set=function(u,h){var m=gs(this,u),b=m.size;return m.set(u,h),this.size+=m.size==b?0:1,this},ya.prototype.add=ya.prototype.push=function(u){return this.__data__.set(u,Tt),this},ya.prototype.has=function(u){return this.__data__.has(u)},va.prototype.clear=function(){this.__data__=new Rl,this.size=0},va.prototype.delete=function(u){var h=this.__data__,m=h.delete(u);return this.size=h.size,m},va.prototype.get=function(u){return this.__data__.get(u)},va.prototype.has=function(u){return this.__data__.has(u)},va.prototype.set=function(u,h){var m=this.__data__;if(m instanceof Rl){var b=m.__data__;if(!Us||b.length<199)return b.push([u,h]),this.size=++m.size,this;m=this.__data__=new Wa(b)}return m.set(u,h),this.size=m.size,this};var Mc=Za(Xa),k_=Za(zp,!0);function L0(u,h){var m=!0;return Mc(u,function(b,M,P){return m=!!h(b,M,P)}),m}function Zh(u,h,m){for(var b=-1,M=u.length;++b0&&m(H)?h>1?Xr(H,h-1,m,b,M):fr(M,H):b||(M[M.length]=H)}return M}var Dd=W0(),Od=W0(!0);function Xa(u,h){return u&&Dd(u,h,es)}function zp(u,h){return u&&Od(u,h,es)}function Qh(u,h){return fa(h,function(m){return Wo(u[m])})}function Bo(u,h){for(var m=0,b=(h=Dc(h,u)).length;null!=u&&mh}function Id(u,h){return null!=u&&pi.call(u,h)}function Pd(u,h){return null!=u&&h in fi(u)}function Au(u,h,m){for(var b=m?kh:Il,M=u[0].length,P=u.length,z=P,H=se(P),X=1/0,be=[];z--;){var Ce=u[z];z&&h&&(Ce=hi(Ce,Lo(h))),X=Lr(Ce.length,X),H[z]=!m&&(h||M>=120&&Ce.length>=120)?new ya(z&&Ce):L}Ce=u[0];var Re=-1,et=H[0];e:for(;++Re=H?X:X*("desc"==m[b]?-1:1)}return u.index-h.index}(P,z,m)});se--;)q[se]=q[se].value;return q}(n1(u,function(P,z,H){return{criteria:hi(h,function(be){return be(P)}),index:++b,value:P}}))}function U0(u,h,m){for(var b=-1,M=h.length,P={};++b-1;)H!==u&&Yt.call(H,X,1),Yt.call(u,X,1);return u}function ef(u,h){for(var m=u?h.length:0,b=m-1;m--;){var M=h[m];if(m==b||M!==P){var P=M;bo(M)?Yt.call(u,M,1):Ou(u,M)}}return u}function kl(u,h){return u+Dn(Hh()*(h-u+1))}function Up(u,h){var m="";if(!u||h<1||h>Gn)return m;do{h%2&&(m+=u),(h=Dn(h/2))&&(u+=u)}while(h);return m}function wn(u,h){return ng(y1(u,h,Ps),u+"")}function r1(u){return O_(Zd(u))}function E2(u,h){var m=Zd(u);return jd(m,Tu(h,0,m.length))}function Hp(u,h,m,b){if(!Xi(u))return u;for(var M=-1,P=(h=Dc(h,u)).length,z=P-1,H=u;null!=H&&++MM?0:M+h),(m=m>M?M:m)<0&&(m+=M),M=h>m?0:m-h>>>0,h>>>=0;for(var P=se(M);++b>>1,z=u[P];null!==z&&!qo(z)&&(m?z<=h:z=200){var be=h?null:G_(u);if(be)return m_(be);z=!1,M=Nh,X=new ya}else X=h?[]:H;e:for(;++b=b?u:Qr(u,h,m)}var a1=O0||function(u){return Kn.clearTimeout(u)};function Wp(u,h){if(h)return u.slice();var m=u.length,b=D0?D0(m):new u.constructor(m);return u.copy(b),b}function Ru(u){var h=new u.constructor(u.byteLength);return new Sd(h).set(new Sd(u)),h}function H_(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.length)}function Oc(u,h){if(u!==h){var m=u!==L,b=null===u,M=u==u,P=qo(u),z=h!==L,H=null===h,X=h==h,be=qo(h);if(!H&&!be&&!P&&u>h||P&&z&&X&&!H&&!be||b&&z&&X||!m&&X||!M)return 1;if(!b&&!P&&!be&&u1?m[M-1]:L,z=M>2?m[2]:L;for(P=u.length>3&&"function"==typeof P?(M--,P):L,z&&_s(m[0],m[1],z)&&(P=M<3?L:P,M=1),h=fi(h);++b-1?M[P?h[z]:z]:L}}function Fu(u){return Qa(function(h){var m=h.length,b=m,M=_o.prototype.thru;for(u&&h.reverse();b--;){var P=h[b];if("function"!=typeof P)throw new ga(ft);if(M&&!z&&"wrapper"==Jp(P))var z=new _o([],!0)}for(b=z?b:m;++b1&&Bn.reverse(),Ce&&XH))return!1;var be=P.get(u),Ce=P.get(h);if(be&&Ce)return be==h&&Ce==u;var Re=-1,et=!0,St=2&m?new ya:L;for(P.set(u,h),P.set(h,u);++Re-1&&u%1==0&&u1?"& ":"")+h[b],h=h.join(m>2?", ":" "),u.replace(he,"{\n/* [wrapped with "+h+"] */\n")}(b,function(u,h){return hs(Dh,function(m){var b="_."+m[0];h&m[1]&&!Il(u,b)&&u.push(b)}),u.sort()}(function(u){var h=u.match(pe);return h?h[1].split(Ge):[]}(b),m)))}function ey(u){var h=0,m=0;return function(){var b=p2(),M=16-(b-m);if(m=b,M>0){if(++h>=800)return arguments[0]}else h=0;return u.apply(L,arguments)}}function jd(u,h){var m=-1,b=u.length,M=b-1;for(h=h===L?b:h;++m1?u[h-1]:L;return m="function"==typeof m?(u.pop(),m):L,j1(u,m)});function dy(u){var h=O(u);return h.__chain__=!0,h}function $d(u,h){return h(u)}var hy=Qa(function(u){var h=u.length,m=h?u[0]:0,b=this.__wrapped__,M=function(P){return P_(P,u)};return!(h>1||this.__actions__.length)&&b instanceof Cn&&bo(m)?((b=b.slice(m,+m+(h?1:0))).__actions__.push({func:$d,args:[M],thisArg:L}),new _o(b,this.__chain__).thru(function(P){return h&&!P.length&&P.push(L),P})):this.thru(M)}),$1=br(function(u,h,m){pi.call(u,m)?++u[m]:Ya(u,m,1)}),q1=Y0(ny),Y1=Y0(iy);function my(u,h){return(Bt(u)?hs:Mc)(u,Ut(h,3))}function og(u,h){return(Bt(u)?yd:k_)(u,Ut(h,3))}var K1=br(function(u,h,m){pi.call(u,m)?u[m].push(h):Ya(u,m,[h])}),xC=wn(function(u,h,m){var b=-1,M="function"==typeof h,P=$s(u)?se(u.length):[];return Mc(u,function(z){P[++b]=M?Ar(h,z,m):ba(z,h,m)}),P}),TC=br(function(u,h,m){Ya(u,m,h)});function el(u,h){return(Bt(u)?hi:n1)(u,Ut(h,3))}var DC=br(function(u,h,m){u[m?0:1].push(h)},function(){return[[],[]]}),lg=wn(function(u,h){if(null==u)return[];var m=h.length;return m>1&&_s(u,h[0],h[1])?h=[]:m>2&&_s(h[0],h[1],h[2])&&(h=[h[0]]),Jh(u,Xr(h,1),[])}),Bu=Bx||function(){return Kn.Date.now()};function cg(u,h,m){return h=m?L:h,Ll(u,128,L,L,L,L,h=u&&null==h?u.length:h)}function yy(u,h){var m;if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){return--u>0&&(m=h.apply(this,arguments)),u<=1&&(h=L),m}}var cf=wn(function(u,h,m){var b=1;if(m.length){var M=Eu(m,zd(cf));b|=32}return Ll(u,b,h,m,M)}),Wd=wn(function(u,h,m){var b=3;if(m.length){var M=Eu(m,zd(Wd));b|=32}return Ll(h,b,u,m,M)});function NC(u,h,m){var b,M,P,z,H,X,be=0,Ce=!1,Re=!1,et=!0;if("function"!=typeof u)throw new ga(ft);function St(Qn){var sl=b,Lc=M;return b=M=L,be=Qn,z=u.apply(Lc,sl)}function Wt(Qn){return be=Qn,H=rf(Sn,h),Ce?St(Qn):z}function Xt(Qn){var sl=Qn-X;return X===L||sl>=h||sl<0||Re&&Qn-be>=P}function Sn(){var Qn=Bu();if(Xt(Qn))return Bn(Qn);H=rf(Sn,function(Qn){var sA=h-(Qn-X);return Re?Lr(sA,P-(Qn-be)):sA}(Qn))}function Bn(Qn){return H=L,et&&b?St(Qn):(b=M=L,z)}function Yo(){var Qn=Bu(),sl=Xt(Qn);if(b=arguments,M=this,X=Qn,sl){if(H===L)return Wt(X);if(Re)return a1(H),H=rf(Sn,h),St(X)}return H===L&&(H=rf(Sn,h)),z}return h=Gs(h)||0,Xi(m)&&(Ce=!!m.leading,P=(Re="maxWait"in m)?pr(Gs(m.maxWait)||0,h):P,et="trailing"in m?!!m.trailing:et),Yo.cancel=function(){H!==L&&a1(H),be=0,b=X=M=H=L},Yo.flush=function(){return H===L?z:Bn(Bu())},Yo}var eT=wn(function(u,h){return Kh(u,1,h)}),LC=wn(function(u,h,m){return Kh(u,Gs(h)||0,m)});function uf(u,h){if("function"!=typeof u||null!=h&&"function"!=typeof h)throw new ga(ft);var m=function(){var b=arguments,M=h?h.apply(this,b):b[0],P=m.cache;if(P.has(M))return P.get(M);var z=u.apply(this,b);return m.cache=P.set(M,z)||P,z};return m.cache=new(uf.Cache||Wa),m}function Cy(u){if("function"!=typeof u)throw new ga(ft);return function(){var h=arguments;switch(h.length){case 0:return!u.call(this);case 1:return!u.call(this,h[0]);case 2:return!u.call(this,h[0],h[1]);case 3:return!u.call(this,h[0],h[1],h[2])}return!u.apply(this,h)}}uf.Cache=Wa;var tT=o1(function(u,h){var m=(h=1==h.length&&Bt(h[0])?hi(h[0],Lo(Ut())):hi(Xr(h,1),Lo(Ut()))).length;return wn(function(b){for(var M=-1,P=Lr(b.length,m);++M=h}),tl=Qx(function(){return arguments}())?Qx:function(u){return Ki(u)&&pi.call(u,"callee")&&!Dp.call(u,"callee")},Bt=se.isArray,HC=it?Lo(it):function(u){return Ki(u)&&Kr(u)==El};function $s(u){return null!=u&&Ey(u.length)&&!Wo(u)}function Yi(u){return Ki(u)&&$s(u)}var nl=Dr||Wy,$C=bn?Lo(bn):function(u){return Ki(u)&&Kr(u)==pt};function Ea(u){if(!Ki(u))return!1;var h=Kr(u);return h==ki||"[object DOMException]"==h||"string"==typeof u.message&&"string"==typeof u.name&&!fg(u)}function Wo(u){if(!Xi(u))return!1;var h=Kr(u);return h==la||h==La||"[object AsyncFunction]"==h||"[object Proxy]"==h}function hg(u){return"number"==typeof u&&u==hn(u)}function Ey(u){return"number"==typeof u&&u>-1&&u%1==0&&u<=Gn}function Xi(u){var h=typeof u;return null!=u&&("object"==h||"function"==h)}function Ki(u){return null!=u&&"object"==typeof u}var dT=Oi?Lo(Oi):function(u){return Ki(u)&&ms(u)==Fi};function pT(u){return"number"==typeof u||Ki(u)&&Kr(u)==$r}function fg(u){if(!Ki(u)||Kr(u)!=ir)return!1;var h=ma(u);if(null===h)return!0;var m=pi.call(h,"constructor")&&h.constructor;return"function"==typeof m&&m instanceof m&&qi.call(m)==Nx}var YC=js?Lo(js):function(u){return Ki(u)&&Kr(u)==Gr},gT=bc?Lo(bc):function(u){return Ki(u)&&ms(u)==Nr};function My(u){return"string"==typeof u||!Bt(u)&&Ki(u)&&Kr(u)==ii}function qo(u){return"symbol"==typeof u||Ki(u)&&Kr(u)==pc}var df=Tr?Lo(Tr):function(u){return Ki(u)&&Ey(u.length)&&!!Ne[Kr(u)]},Rc=Kp(j0),xy=Kp(function(u,h){return u<=h});function XC(u){if(!u)return[];if($s(u))return My(u)?$a(u):Ds(u);if(jh&&u[jh])return function(q){for(var fe,se=[];!(fe=q.next()).done;)se.push(fe.value);return se}(u[jh]());var h=ms(u);return(h==Fi?x0:h==Nr?m_:Zd)(u)}function il(u){return u?(u=Gs(u))===pn||u===-pn?17976931348623157e292*(u<0?-1:1):u==u?u:0:0===u?u:0}function hn(u){var h=il(u),m=h%1;return h==h?m?h-m:h:0}function Ty(u){return u?Tu(hn(u),0,jt):0}function Gs(u){if("number"==typeof u)return u;if(qo(u))return NaN;if(Xi(u)){var h="function"==typeof u.valueOf?u.valueOf():u;u=Xi(h)?h+"":h}if("string"!=typeof u)return 0===u?u:+u;u=M0(u);var m=Hi.test(u);return m||_n.test(u)?S0(u.slice(2),m?2:8):ri.test(u)?NaN:+u}function KC(u){return Ca(u,Is(u))}function Zn(u){return null==u?"":vo(u)}var mT=Fl(function(u,h){if(tg(h)||$s(h))Ca(h,es(h),u);else for(var m in h)pi.call(h,m)&&qa(u,m,h[m])}),_T=Fl(function(u,h){Ca(h,Is(h),u)}),qd=Fl(function(u,h,m,b){Ca(h,Is(h),u,b)}),yT=Fl(function(u,h,m,b){Ca(h,es(h),u,b)}),ZC=Qa(P_),bT=wn(function(u,h){u=fi(u);var m=-1,b=h.length,M=b>2?h[2]:L;for(M&&_s(h[0],h[1],M)&&(b=1);++m1),P}),Ca(u,W_(u),m),b&&(m=ps(m,7,Zp));for(var M=h.length;M--;)Ou(m,h[M]);return m}),MT=Qa(function(u,h){return null==u?{}:function(u,h){return U0(u,h,function(m,b){return pg(u,b)})}(u,h)});function rw(u,h){if(null==u)return{};var m=hi(W_(u),function(b){return[b]});return h=Ut(h),U0(u,m,function(b,M){return h(b,M[0])})}var xT=Nu(es),ow=Nu(Is);function Zd(u){return null==u?[]:g_(u,es(u))}var IT=Nl(function(u,h,m){return h=h.toLowerCase(),u+(m?Iy(h):h)});function Iy(u){return _g(Zn(u).toLowerCase())}function Py(u){return(u=Zn(u))&&u.replace(_c,s2).replace(d_,"")}var RT=Nl(function(u,h,m){return u+(m?"-":"")+h.toLowerCase()}),kT=Nl(function(u,h,m){return u+(m?" ":"")+h.toLowerCase()}),$2=qp("toLowerCase"),VT=Nl(function(u,h,m){return u+(m?"_":"")+h.toLowerCase()}),Fy=Nl(function(u,h,m){return u+(m?" ":"")+_g(h)}),hw=Nl(function(u,h,m){return u+(m?" ":"")+h.toUpperCase()}),_g=qp("toUpperCase");function Vy(u,h,m){return u=Zn(u),(h=m?L:h)===L?function(q){return Dl.test(q)}(u)?function(q){return q.match(b0)||[]}(u):function(q){return q.match(an)||[]}(u):u.match(h)||[]}var zy=wn(function(u,h){try{return Ar(u,L,h)}catch(m){return Ea(m)?m:new Rt(m)}}),fw=Qa(function(u,h){return hs(h,function(m){m=mn(m),Ya(u,m,cf(u[m],u))}),u});function jy(u){return function(){return u}}var W2=Fu(),Fc=Fu(!0);function Ps(u){return u}function Vu(u){return t1("function"==typeof u?u:ps(u,1))}var Uy=wn(function(u,h){return function(m){return ba(m,u,h)}}),pw=wn(function(u,h){return function(m){return ba(u,m,h)}});function Hy(u,h,m){var b=es(h),M=Qh(h,b);null==m&&(!Xi(h)||!M.length&&b.length)&&(m=h,h=u,u=this,M=Qh(h,es(h)));var P=!(Xi(m)&&"chain"in m&&!m.chain),z=Wo(u);return hs(M,function(H){var X=h[H];u[H]=X,z&&(u.prototype[H]=function(){var be=this.__chain__;if(P||be){var Ce=u(this.__wrapped__),Re=Ce.__actions__=Ds(this.__actions__);return Re.push({func:X,args:arguments,thisArg:u}),Ce.__chain__=be,Ce}return X.apply(u,fr([this.value()],arguments))})}),u}function $y(){}var WT=Yp(hi),qT=Yp(gn),mw=Yp(go);function zu(u){return Uo(u)?f_(mn(u)):function(u){return function(h){return Bo(h,u)}}(u)}var XT=K0(),KT=K0(!0);function Nc(){return[]}function Wy(){return!1}var Nt=$_(function(u,h){return u+h},0),qy=Vd("ceil"),Y2=$_(function(u,h){return u/h},1),jl=Vd("floor"),bw=$_(function(u,h){return u*h},1),Cw=Vd("round"),ww=$_(function(u,h){return u-h},0);return O.after=function(u,h){if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){if(--u<1)return h.apply(this,arguments)}},O.ary=cg,O.assign=mT,O.assignIn=_T,O.assignInWith=qd,O.assignWith=yT,O.at=ZC,O.before=yy,O.bind=cf,O.bindAll=fw,O.bindKey=Wd,O.castArray=function(){if(!arguments.length)return[];var u=arguments[0];return Bt(u)?u:[u]},O.chain=dy,O.chunk=function(u,h,m){h=(m?_s(u,h,m):h===L)?1:pr(hn(h),0);var b=null==u?0:u.length;if(!b||h<1)return[];for(var M=0,P=0,z=se(Oe(b/h));MM?0:M+m),(b=b===L||b>M?M:hn(b))<0&&(b+=M),b=m>b?0:Ty(b);m>>0)?(u=Zn(u))&&("string"==typeof h||null!=h&&!YC(h))&&!(h=vo(h))&&Lh(u)?Ka($a(u),0,m):u.split(h,m):[]},O.spread=function(u,h){if("function"!=typeof u)throw new ga(ft);return h=null==h?0:pr(hn(h),0),wn(function(m){var b=m[h],M=Ka(m,0,h);return b&&fr(M,b),Ar(u,this,M)})},O.tail=function(u){var h=null==u?0:u.length;return h?Qr(u,1,h):[]},O.take=function(u,h,m){return u&&u.length?Qr(u,0,(h=m||h===L?1:hn(h))<0?0:h):[]},O.takeRight=function(u,h,m){var b=null==u?0:u.length;return b?Qr(u,(h=b-(h=m||h===L?1:hn(h)))<0?0:h,b):[]},O.takeRightWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3),!1,!0):[]},O.takeWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3)):[]},O.tap=function(u,h){return h(u),u},O.throttle=function(u,h,m){var b=!0,M=!0;if("function"!=typeof u)throw new ga(ft);return Xi(m)&&(b="leading"in m?!!m.leading:b,M="trailing"in m?!!m.trailing:M),NC(u,h,{leading:b,maxWait:h,trailing:M})},O.thru=$d,O.toArray=XC,O.toPairs=xT,O.toPairsIn=ow,O.toPath=function(u){return Bt(u)?hi(u,mn):qo(u)?[u]:Ds(lC(Zn(u)))},O.toPlainObject=KC,O.transform=function(u,h,m){var b=Bt(u),M=b||nl(u)||df(u);if(h=Ut(h,4),null==m){var P=u&&u.constructor;m=M?b?new P:[]:Xi(u)&&Wo(P)?xu(ma(u)):{}}return(M?hs:Xa)(u,function(z,H,X){return h(m,z,H,X)}),m},O.unary=function(u){return cg(u,1)},O.union=yC,O.unionBy=ly,O.unionWith=sg,O.uniq=function(u){return u&&u.length?Tc(u):[]},O.uniqBy=function(u,h){return u&&u.length?Tc(u,Ut(h,2)):[]},O.uniqWith=function(u,h){return h="function"==typeof h?h:L,u&&u.length?Tc(u,L,h):[]},O.unset=function(u,h){return null==u||Ou(u,h)},O.unzip=vC,O.unzipWith=j1,O.update=function(u,h,m){return null==u?u:$p(u,h,U_(m))},O.updateWith=function(u,h,m,b){return b="function"==typeof b?b:L,null==u?u:$p(u,h,U_(m),b)},O.values=Zd,O.valuesIn=function(u){return null==u?[]:g_(u,Is(u))},O.without=bC,O.words=Vy,O.wrap=function(u,h){return ug(U_(h),u)},O.xor=R2,O.xorBy=Co,O.xorWith=cy,O.zip=uy,O.zipObject=function(u,h){return Gp(u||[],h||[],qa)},O.zipObjectDeep=function(u,h){return Gp(u||[],h||[],Hp)},O.zipWith=lf,O.entries=xT,O.entriesIn=ow,O.extend=_T,O.extendWith=qd,Hy(O,O),O.add=Nt,O.attempt=zy,O.camelCase=IT,O.capitalize=Iy,O.ceil=qy,O.clamp=function(u,h,m){return m===L&&(m=h,h=L),m!==L&&(m=(m=Gs(m))==m?m:0),h!==L&&(h=(h=Gs(h))==h?h:0),Tu(Gs(u),h,m)},O.clone=function(u){return ps(u,4)},O.cloneDeep=function(u){return ps(u,5)},O.cloneDeepWith=function(u,h){return ps(u,5,h="function"==typeof h?h:L)},O.cloneWith=function(u,h){return ps(u,4,h="function"==typeof h?h:L)},O.conformsTo=function(u,h){return null==h||Vp(u,h,es(h))},O.deburr=Py,O.defaultTo=function(u,h){return null==u||u!=u?h:u},O.divide=Y2,O.endsWith=function(u,h,m){u=Zn(u),h=vo(h);var b=u.length,M=m=m===L?b:Tu(hn(m),0,b);return(m-=h.length)>=0&&u.slice(m,M)==h},O.eq=kt,O.escape=function(u){return(u=Zn(u))&&Je.test(u)?u.replace(mu,o2):u},O.escapeRegExp=function(u){return(u=Zn(u))&&Z.test(u)?u.replace(B,"\\$&"):u},O.every=function(u,h,m){var b=Bt(u)?gn:L0;return m&&_s(u,h,m)&&(h=L),b(u,Ut(h,3))},O.find=q1,O.findIndex=ny,O.findKey=function(u,h){return Fh(u,Ut(h,3),Xa)},O.findLast=Y1,O.findLastIndex=iy,O.findLastKey=function(u,h){return Fh(u,Ut(h,3),zp)},O.floor=jl,O.forEach=my,O.forEachRight=og,O.forIn=function(u,h){return null==u?u:Dd(u,Ut(h,3),Is)},O.forInRight=function(u,h){return null==u?u:Od(u,Ut(h,3),Is)},O.forOwn=function(u,h){return u&&Xa(u,Ut(h,3))},O.forOwnRight=function(u,h){return u&&zp(u,Ut(h,3))},O.get=pf,O.gt=G,O.gte=UC,O.has=function(u,h){return null!=u&&iC(u,h,Id)},O.hasIn=pg,O.head=uC,O.identity=Ps,O.includes=function(u,h,m,b){u=$s(u)?u:Zd(u),m=m&&!b?hn(m):0;var M=u.length;return m<0&&(m=pr(M+m,0)),My(u)?m<=M&&u.indexOf(h,m)>-1:!!M&&Ha(u,h,m)>-1},O.indexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=null==m?0:hn(m);return M<0&&(M=pr(b+M,0)),Ha(u,h,M)},O.inRange=function(u,h,m){return h=il(h),m===L?(m=h,h=0):m=il(m),function(u,h,m){return u>=Lr(h,m)&&u=-Gn&&u<=Gn},O.isSet=gT,O.isString=My,O.isSymbol=qo,O.isTypedArray=df,O.isUndefined=function(u){return u===L},O.isWeakMap=function(u){return Ki(u)&&ms(u)==di},O.isWeakSet=function(u){return Ki(u)&&"[object WeakSet]"==Kr(u)},O.join=function(u,h){return null==u?"":Uh.call(u,h)},O.kebabCase=RT,O.last=Ho,O.lastIndexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=b;return m!==L&&(M=(M=hn(m))<0?pr(b+M,0):Lr(M,b-1)),h==h?function(q,fe,se){for(var lt=se+1;lt--;)if(q[lt]===fe)return lt;return lt}(u,h,M):bd(u,Cc,M,!0)},O.lowerCase=kT,O.lowerFirst=$2,O.lt=Rc,O.lte=xy,O.max=function(u){return u&&u.length?Zh(u,Ps,Zr):L},O.maxBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),Zr):L},O.mean=function(u){return qr(u,Ps)},O.meanBy=function(u,h){return qr(u,Ut(h,2))},O.min=function(u){return u&&u.length?Zh(u,Ps,j0):L},O.minBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),j0):L},O.stubArray=Nc,O.stubFalse=Wy,O.stubObject=function(){return{}},O.stubString=function(){return""},O.stubTrue=function(){return!0},O.multiply=bw,O.nth=function(u,h){return u&&u.length?Du(u,hn(h)):L},O.noConflict=function(){return Kn._===this&&(Kn._=C_),this},O.noop=$y,O.now=Bu,O.pad=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;if(!h||b>=h)return u;var M=(h-b)/2;return Xp(Dn(M),m)+u+Xp(Oe(M),m)},O.padEnd=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;return h&&bh){var b=u;u=h,h=b}if(m||u%1||h%1){var M=Hh();return Lr(u+M*(h-u+Ax("1e-"+((M+"").length-1))),h)}return kl(u,h)},O.reduce=function(u,h,m){var b=Bt(u)?wu:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,Mc)},O.reduceRight=function(u,h,m){var b=Bt(u)?vd:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,k_)},O.repeat=function(u,h,m){return h=(m?_s(u,h,m):h===L)?1:hn(h),Up(Zn(u),h)},O.replace=function(){var u=arguments,h=Zn(u[0]);return u.length<3?h:h.replace(u[1],u[2])},O.result=function(u,h,m){var b=-1,M=(h=Dc(h,u)).length;for(M||(M=1,u=L);++bGn)return[];var m=jt,b=Lr(u,jt);h=Ut(h),u-=jt;for(var M=wd(b,h);++m=P)return u;var H=m-Bh(b);if(H<1)return b;var X=z?Ka(z,0,H).join(""):u.slice(0,H);if(M===L)return X+b;if(z&&(H+=X.length-H),YC(M)){if(u.slice(H).search(M)){var be,Ce=X;for(M.global||(M=v_(M.source,Zn(ln.exec(M))+"g")),M.lastIndex=0;be=M.exec(Ce);)var Re=be.index;X=X.slice(0,Re===L?H:Re)}}else if(u.indexOf(vo(M),H)!=H){var et=X.lastIndexOf(M);et>-1&&(X=X.slice(0,et))}return X+b},O.unescape=function(u){return(u=Zn(u))&&Vs.test(u)?u.replace(pd,y_):u},O.uniqueId=function(u){var h=++f2;return Zn(u)+h},O.upperCase=hw,O.upperFirst=_g,O.each=my,O.eachRight=og,O.first=uC,Hy(O,function(){var u={};return Xa(O,function(h,m){pi.call(O.prototype,m)||(u[m]=h)}),u}(),{chain:!1}),O.VERSION="4.17.21",hs(["bind","bindKey","curry","curryRight","partial","partialRight"],function(u){O[u].placeholder=O}),hs(["drop","take"],function(u,h){Cn.prototype[u]=function(m){m=m===L?1:pr(hn(m),0);var b=this.__filtered__&&!h?new Cn(this):this.clone();return b.__filtered__?b.__takeCount__=Lr(m,b.__takeCount__):b.__views__.push({size:Lr(m,jt),type:u+(b.__dir__<0?"Right":"")}),b},Cn.prototype[u+"Right"]=function(m){return this.reverse()[u](m).reverse()}}),hs(["filter","map","takeWhile"],function(u,h){var m=h+1,b=1==m||3==m;Cn.prototype[u]=function(M){var P=this.clone();return P.__iteratees__.push({iteratee:Ut(M,3),type:m}),P.__filtered__=P.__filtered__||b,P}}),hs(["head","last"],function(u,h){var m="take"+(h?"Right":"");Cn.prototype[u]=function(){return this[m](1).value()[0]}}),hs(["initial","tail"],function(u,h){var m="drop"+(h?"":"Right");Cn.prototype[u]=function(){return this.__filtered__?new Cn(this):this[m](1)}}),Cn.prototype.compact=function(){return this.filter(Ps)},Cn.prototype.find=function(u){return this.filter(u).head()},Cn.prototype.findLast=function(u){return this.reverse().find(u)},Cn.prototype.invokeMap=wn(function(u,h){return"function"==typeof u?new Cn(this):this.map(function(m){return ba(m,u,h)})}),Cn.prototype.reject=function(u){return this.filter(Cy(Ut(u)))},Cn.prototype.slice=function(u,h){u=hn(u);var m=this;return m.__filtered__&&(u>0||h<0)?new Cn(m):(u<0?m=m.takeRight(-u):u&&(m=m.drop(u)),h!==L&&(m=(h=hn(h))<0?m.dropRight(-h):m.take(h-u)),m)},Cn.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},Cn.prototype.toArray=function(){return this.take(jt)},Xa(Cn.prototype,function(u,h){var m=/^(?:filter|find|map|reject)|While$/.test(h),b=/^(?:head|last)$/.test(h),M=O[b?"take"+("last"==h?"Right":""):h],P=b||/^find/.test(h);!M||(O.prototype[h]=function(){var z=this.__wrapped__,H=b?[1]:arguments,X=z instanceof Cn,be=H[0],Ce=X||Bt(z),Re=function(Sn){var Bn=M.apply(O,fr([Sn],H));return b&&et?Bn[0]:Bn};Ce&&m&&"function"==typeof be&&1!=be.length&&(X=Ce=!1);var et=this.__chain__,St=!!this.__actions__.length,Wt=P&&!et,En=X&&!St;if(!P&&Ce){z=En?z:new Cn(this);var Xt=u.apply(z,H);return Xt.__actions__.push({func:$d,args:[Re],thisArg:L}),new _o(Xt,et)}return Wt&&En?u.apply(this,H):(Xt=this.thru(Re),Wt?b?Xt.value()[0]:Xt.value():Xt)})}),hs(["pop","push","shift","sort","splice","unshift"],function(u){var h=Ii[u],m=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",b=/^(?:pop|shift)$/.test(u);O.prototype[u]=function(){var M=arguments;if(b&&!this.__chain__){var P=this.value();return h.apply(Bt(P)?P:[],M)}return this[m](function(z){return h.apply(Bt(z)?z:[],M)})}}),Xa(Cn.prototype,function(u,h){var m=O[h];if(m){var b=m.name+"";pi.call(Md,b)||(Md[b]=[]),Md[b].push({name:h,func:m})}}),Md[Ic(L,2).name]=[{name:"wrapper",func:L}],Cn.prototype.clone=function(){var u=new Cn(this.__wrapped__);return u.__actions__=Ds(this.__actions__),u.__dir__=this.__dir__,u.__filtered__=this.__filtered__,u.__iteratees__=Ds(this.__iteratees__),u.__takeCount__=this.__takeCount__,u.__views__=Ds(this.__views__),u},Cn.prototype.reverse=function(){if(this.__filtered__){var u=new Cn(this);u.__dir__=-1,u.__filtered__=!0}else(u=this.clone()).__dir__*=-1;return u},Cn.prototype.value=function(){var u=this.__wrapped__.value(),h=this.__dir__,m=Bt(u),b=h<0,M=m?u.length:0,P=function(u,h,m){for(var b=-1,M=m.length;++b=this.__values__.length;return{done:u,value:u?L:this.__values__[this.__index__++]}},O.prototype.plant=function(u){for(var h,m=this;m instanceof qh;){var b=Ud(m);b.__index__=0,b.__values__=L,h?M.__wrapped__=b:h=b;var M=b;m=m.__wrapped__}return M.__wrapped__=u,h},O.prototype.reverse=function(){var u=this.__wrapped__;if(u instanceof Cn){var h=u;return this.__actions__.length&&(h=new Cn(this)),(h=h.reverse()).__actions__.push({func:$d,args:[ay],thisArg:L}),new _o(h,this.__chain__)}return this.thru(ay)},O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=function(){return s1(this.__wrapped__,this.__actions__)},O.prototype.first=O.prototype.head,jh&&(O.prototype[jh]=function(){return this}),O}();Kn._=Vh,(wt=function(){return Vh}.call(We,ze,We,gt))!==L&&(gt.exports=wt)}.call(this)},478:function(gt){gt.exports=function(){"use strict";function We(W,Y){for(var J=0;JW.length)&&(Y=W.length);for(var J=0,T=new Array(Y);J=W.length?{done:!0}:{done:!1,value:W[T++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Pt={exports:{}};function Ke(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}Pt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Ke,changeDefaults:function(W){Pt.exports.defaults=W}};var Ze=/[&<>"']/,Tt=/[&<>"']/g,Ft=/[<>"']|&(?!#?\w+;)/,we=/[<>"']|&(?!#?\w+;)/g,_e={"&":"&","<":"<",">":">",'"':""","'":"'"},ke=function(Y){return _e[Y]};var Te=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Vt(W){return W.replace(Te,function(Y,J){return"colon"===(J=J.toLowerCase())?":":"#"===J.charAt(0)?"x"===J.charAt(1)?String.fromCharCode(parseInt(J.substring(2),16)):String.fromCharCode(+J.substring(1)):""})}var He=/(^|[^\[])\^/g;var xt=/[^\w:]/g,tn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var Ei={},vi=/^[^:]+:\/*[^/]*$/,bi=/^([^:]+:)[\s\S]*$/,Mr=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ve(W,Y){Ei[" "+W]||(Ei[" "+W]=vi.test(W)?W+"/":Qt(W,"/",!0));var J=-1===(W=Ei[" "+W]).indexOf(":");return"//"===Y.substring(0,2)?J?Y:W.replace(bi,"$1")+Y:"/"===Y.charAt(0)?J?Y:W.replace(Mr,"$1")+Y:W+Y}function Qt(W,Y,J){var T=W.length;if(0===T)return"";for(var D=0;D1;)1&Y&&(J+=W),Y>>=1,W+=W;return J+W},Gn=Pt.exports.defaults,Ae=Qt,Ri=function(W,Y){var T=W.replace(/\|/g,function(B,Z,$){for(var le=!1,he=Z;--he>=0&&"\\"===$[he];)le=!le;return le?"|":" |"}).split(/ \|/),D=0;if(T.length>Y)T.splice(Y);else for(;T.length1?{type:"space",raw:D[0]}:{raw:"\n"}},Y.code=function(T){var D=this.rules.block.code.exec(T);if(D){var B=D[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:D[0],codeBlockStyle:"indented",text:this.options.pedantic?B:Ae(B,"\n")}}},Y.fences=function(T){var D=this.rules.block.fences.exec(T);if(D){var B=D[0],Z=function(W,Y){var J=W.match(/^(\s+)(?:```)/);if(null===J)return Y;var T=J[1];return Y.split("\n").map(function(D){var B=D.match(/^\s+/);return null===B?D:B[0].length>=T.length?D.slice(T.length):D}).join("\n")}(B,D[3]||"");return{type:"code",raw:B,lang:D[2]?D[2].trim():D[2],text:Z}}},Y.heading=function(T){var D=this.rules.block.heading.exec(T);if(D){var B=D[2].trim();if(/#$/.test(B)){var Z=Ae(B,"#");(this.options.pedantic||!Z||/ $/.test(Z))&&(B=Z.trim())}return{type:"heading",raw:D[0],depth:D[1].length,text:B}}},Y.nptable=function(T){var D=this.rules.block.nptable.exec(T);if(D){var B={type:"table",header:Ri(D[1].replace(/^ *| *\| *$/g,"")),align:D[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:D[3]?D[3].replace(/\n$/,"").split("\n"):[],raw:D[0]};if(B.header.length===B.align.length){var $,Z=B.align.length;for($=0;$ ?/gm,"");return{type:"blockquote",raw:D[0],text:B}}},Y.list=function(T){var D=this.rules.block.list.exec(T);if(D){var Ge,an,xn,qt,Et,ln,ri,Hi,$i,B=D[0],Z=D[2],$=Z.length>1,le={type:"list",raw:B,ordered:$,start:$?+Z.slice(0,-1):"",loose:!1,items:[]},he=D[0].match(this.rules.block.item),pe=!1,_n=he.length;xn=this.rules.block.listItemStart.exec(he[0]);for(var Ci=0;Ci<_n;Ci++){if(B=Ge=he[Ci],this.options.pedantic||($i=Ge.match(new RegExp("\\n\\s*\\n {0,"+(xn[0].length-1)+"}\\S")))&&(Et=Ge.length-$i.index+he.slice(Ci+1).join("\n").length,le.raw=le.raw.substring(0,le.raw.length-Et),B=Ge=Ge.substring(0,$i.index),_n=Ci+1),Ci!==_n-1){if(qt=this.rules.block.listItemStart.exec(he[Ci+1]),this.options.pedantic?qt[1].length>xn[1].length:qt[1].length>=xn[0].length||qt[1].length>3){he.splice(Ci,2,he[Ci]+(!this.options.pedantic&&qt[1].length/i.test(Z[0])&&(D=!1),!B&&/^<(pre|code|kbd|script)(\s|>)/i.test(Z[0])?B=!0:B&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Z[0])&&(B=!1),{type:this.options.sanitize?"text":"html",raw:Z[0],inLink:D,inRawBlock:B,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]}},Y.link=function(T){var D=this.rules.inline.link.exec(T);if(D){var B=D[2].trim();if(!this.options.pedantic&&/^$/.test(B))return;var Z=Ae(B.slice(0,-1),"\\");if((B.length-Z.length)%2==0)return}else{var $=xr(D[2],"()");if($>-1){var he=(0===D[0].indexOf("!")?5:4)+D[1].length+$;D[2]=D[2].substring(0,$),D[0]=D[0].substring(0,he).trim(),D[3]=""}}var pe=D[2],Ge="";if(this.options.pedantic){var an=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(pe);an&&(pe=an[1],Ge=an[3])}else Ge=D[3]?D[3].slice(1,-1):"";return pe=pe.trim(),/^$/.test(B)?pe.slice(1):pe.slice(1,-1)),ls(D,{href:pe&&pe.replace(this.rules.inline._escapes,"$1"),title:Ge&&Ge.replace(this.rules.inline._escapes,"$1")},D[0])}},Y.reflink=function(T,D){var B;if((B=this.rules.inline.reflink.exec(T))||(B=this.rules.inline.nolink.exec(T))){var Z=(B[2]||B[1]).replace(/\s+/g," ");if(!(Z=D[Z.toLowerCase()])||!Z.href){var $=B[0].charAt(0);return{type:"text",raw:$,text:$}}return ls(B,Z,B[0])}},Y.emStrong=function(T,D,B){void 0===B&&(B="");var Z=this.rules.inline.emStrong.lDelim.exec(T);if(Z&&(!Z[3]||!B.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var $=Z[1]||Z[2]||"";if(!$||$&&(""===B||this.rules.inline.punctuation.exec(B))){var he,pe,le=Z[0].length-1,Ge=le,an=0,xn="*"===Z[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(xn.lastIndex=0,D=D.slice(-1*T.length+le);null!=(Z=xn.exec(D));)if(he=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6]){if(pe=he.length,Z[3]||Z[4]){Ge+=pe;continue}if((Z[5]||Z[6])&&le%3&&!((le+pe)%3)){an+=pe;continue}if(!((Ge-=pe)>0))return pe=Math.min(pe,pe+Ge+an),Math.min(le,pe)%2?{type:"em",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(1,le+Z.index+pe)}:{type:"strong",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(2,le+Z.index+pe-1)}}}}},Y.codespan=function(T){var D=this.rules.inline.code.exec(T);if(D){var B=D[2].replace(/\n/g," "),Z=/[^ ]/.test(B),$=/^ /.test(B)&&/ $/.test(B);return Z&&$&&(B=B.substring(1,B.length-1)),B=jt(B,!0),{type:"codespan",raw:D[0],text:B}}},Y.br=function(T){var D=this.rules.inline.br.exec(T);if(D)return{type:"br",raw:D[0]}},Y.del=function(T){var D=this.rules.inline.del.exec(T);if(D)return{type:"del",raw:D[0],text:D[2]}},Y.autolink=function(T,D){var Z,$,B=this.rules.inline.autolink.exec(T);if(B)return $="@"===B[2]?"mailto:"+(Z=jt(this.options.mangle?D(B[1]):B[1])):Z=jt(B[1]),{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}},Y.url=function(T,D){var B;if(B=this.rules.inline.url.exec(T)){var Z,$;if("@"===B[2])$="mailto:"+(Z=jt(this.options.mangle?D(B[0]):B[0]));else{var le;do{le=B[0],B[0]=this.rules.inline._backpedal.exec(B[0])[0]}while(le!==B[0]);Z=jt(B[0]),$="www."===B[1]?"http://"+Z:Z}return{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}}},Y.inlineText=function(T,D,B){var $,Z=this.rules.inline.text.exec(T);if(Z)return $=D?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]:jt(this.options.smartypants?B(Z[0]):Z[0]),{type:"text",raw:Z[0],text:$}},W}(),aa=pn_noopTest,Xn=pn_edit,ci=pn_merge,pt={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:aa,table:aa,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};pt.def=Xn(pt.def).replace("label",pt._label).replace("title",pt._title).getRegex(),pt.bullet=/(?:[*+-]|\d{1,9}[.)])/,pt.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,pt.item=Xn(pt.item,"gm").replace(/bull/g,pt.bullet).getRegex(),pt.listItemStart=Xn(/^( *)(bull) */).replace("bull",pt.bullet).getRegex(),pt.list=Xn(pt.list).replace(/bull/g,pt.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+pt.def.source+")").getRegex(),pt._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",pt._comment=/|$)/,pt.html=Xn(pt.html,"i").replace("comment",pt._comment).replace("tag",pt._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pt.paragraph=Xn(pt._paragraph).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.blockquote=Xn(pt.blockquote).replace("paragraph",pt.paragraph).getRegex(),pt.normal=ci({},pt),pt.gfm=ci({},pt.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),pt.gfm.nptable=Xn(pt.gfm.nptable).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.gfm.table=Xn(pt.gfm.table).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.pedantic=ci({},pt.normal,{html:Xn("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",pt._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:aa,paragraph:Xn(pt.normal._paragraph).replace("hr",pt.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",pt.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ye={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:aa,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:aa,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ye.punctuation=Xn(Ye.punctuation).replace(/punctuation/g,Ye._punctuation).getRegex(),Ye.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ye.escapedEmSt=/\\\*|\\_/g,Ye._comment=Xn(pt._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ye.emStrong.lDelim=Xn(Ye.emStrong.lDelim).replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimAst=Xn(Ye.emStrong.rDelimAst,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimUnd=Xn(Ye.emStrong.rDelimUnd,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ye._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ye._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ye.autolink=Xn(Ye.autolink).replace("scheme",Ye._scheme).replace("email",Ye._email).getRegex(),Ye._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ye.tag=Xn(Ye.tag).replace("comment",Ye._comment).replace("attribute",Ye._attribute).getRegex(),Ye._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ye._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ye._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ye.link=Xn(Ye.link).replace("label",Ye._label).replace("href",Ye._href).replace("title",Ye._title).getRegex(),Ye.reflink=Xn(Ye.reflink).replace("label",Ye._label).getRegex(),Ye.reflinkSearch=Xn(Ye.reflinkSearch,"g").replace("reflink",Ye.reflink).replace("nolink",Ye.nolink).getRegex(),Ye.normal=ci({},Ye),Ye.pedantic=ci({},Ye.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ye._label).getRegex(),reflink:Xn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ye._label).getRegex()}),Ye.gfm=ci({},Ye.normal,{escape:Xn(Ye.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(T="x"+T.toString(16)),Y+="&#"+T+";";return Y}var ui=function(){function W(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||La,this.options.tokenizer=this.options.tokenizer||new la,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var T={block:Fi.normal,inline:$r.normal};this.options.pedantic?(T.block=Fi.pedantic,T.inline=$r.pedantic):this.options.gfm&&(T.block=Fi.gfm,T.inline=this.options.breaks?$r.breaks:$r.gfm),this.tokenizer.rules=T}W.lex=function(T,D){return new W(D).lex(T)},W.lexInline=function(T,D){return new W(D).inlineTokens(T)};var Y=W.prototype;return Y.lex=function(T){return T=T.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(T,this.tokens,!0),this.inline(this.tokens),this.tokens},Y.blockTokens=function(T,D,B){var $,le,he,pe,Ge,an,Z=this;for(void 0===D&&(D=[]),void 0===B&&(B=!0),this.options.pedantic&&(T=T.replace(/^ +$/gm,""));T;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(qt){return!!($=qt.call(Z,T,D))&&(T=T.substring($.raw.length),D.push($),!0)}))){if($=this.tokenizer.space(T)){T=T.substring($.raw.length),$.type&&D.push($);continue}if($=this.tokenizer.code(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if($=this.tokenizer.fences(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.heading(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.nptable(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.hr(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.blockquote(T)){T=T.substring($.raw.length),$.tokens=this.blockTokens($.text,[],B),D.push($);continue}if($=this.tokenizer.list(T)){for(T=T.substring($.raw.length),he=$.items.length,le=0;le=0&&(qt=Math.min(qt,ln))}),qt<1/0&&qt>=0&&(Ge=T.substring(0,qt+1))}(),B&&($=this.tokenizer.paragraph(Ge))){pe=D[D.length-1],an&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($),an=Ge.length!==T.length,T=T.substring($.raw.length);continue}if($=this.tokenizer.text(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"text"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if(T){var xn="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(xn);break}throw new Error(xn)}}return D},Y.inline=function(T){var D,B,Z,$,le,he,pe=T.length;for(D=0;D0)for(;null!=(an=this.tokenizer.rules.inline.reflinkSearch.exec(Ge));)Et.includes(an[0].slice(an[0].lastIndexOf("[")+1,-1))&&(Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(an=this.tokenizer.rules.inline.blockSkip.exec(Ge));)Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(an=this.tokenizer.rules.inline.escapedEmSt.exec(Ge));)Ge=Ge.slice(0,an.index)+"++"+Ge.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;T;)if(xn||(qt=""),xn=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(ri){return!!(le=ri.call($,T,D))&&(T=T.substring(le.raw.length),D.push(le),!0)}))){if(le=this.tokenizer.escape(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.tag(T,B,Z)){T=T.substring(le.raw.length),B=le.inLink,Z=le.inRawBlock,(he=D[D.length-1])&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.link(T)){T=T.substring(le.raw.length),"link"===le.type&&(le.tokens=this.inlineTokens(le.text,[],!0,Z)),D.push(le);continue}if(le=this.tokenizer.reflink(T,this.tokens.links)){T=T.substring(le.raw.length),he=D[D.length-1],"link"===le.type?(le.tokens=this.inlineTokens(le.text,[],!0,Z),D.push(le)):he&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.emStrong(T,Ge,qt)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.codespan(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.br(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.del(T)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.autolink(T,lo)){T=T.substring(le.raw.length),D.push(le);continue}if(!B&&(le=this.tokenizer.url(T,lo))){T=T.substring(le.raw.length),D.push(le);continue}if(pe=T,this.options.extensions&&this.options.extensions.startInline&&function(){var ri=1/0,Hi=T.slice(1),$i=void 0;$.options.extensions.startInline.forEach(function(_n){"number"==typeof($i=_n.call(this,Hi))&&$i>=0&&(ri=Math.min(ri,$i))}),ri<1/0&&ri>=0&&(pe=T.substring(0,ri+1))}(),le=this.tokenizer.inlineText(pe,Z,ir)){T=T.substring(le.raw.length),"_"!==le.raw.slice(-1)&&(qt=le.raw.slice(-1)),xn=!0,(he=D[D.length-1])&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(T){var ln="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(ln);break}throw new Error(ln)}}return D},function(W,Y,J){Y&&We(W.prototype,Y),J&&We(W,J)}(W,null,[{key:"rules",get:function(){return{block:Fi,inline:$r}}}]),W}(),Gr=Pt.exports.defaults,Nr=pn_cleanUrl,ii=pn_escape,pc=function(){function W(J){this.options=J||Gr}var Y=W.prototype;return Y.code=function(T,D,B){var Z=(D||"").match(/\S*/)[0];if(this.options.highlight){var $=this.options.highlight(T,Z);null!=$&&$!==T&&(B=!0,T=$)}return T=T.replace(/\n$/,"")+"\n",Z?'
    '+(B?T:ii(T,!0))+"
    \n":"
    "+(B?T:ii(T,!0))+"
    \n"},Y.blockquote=function(T){return"
    \n"+T+"
    \n"},Y.html=function(T){return T},Y.heading=function(T,D,B,Z){return this.options.headerIds?"'+T+"\n":""+T+"\n"},Y.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},Y.list=function(T,D,B){var Z=D?"ol":"ul";return"<"+Z+(D&&1!==B?' start="'+B+'"':"")+">\n"+T+"\n"},Y.listitem=function(T){return"
  • "+T+"
  • \n"},Y.checkbox=function(T){return" "},Y.paragraph=function(T){return"

    "+T+"

    \n"},Y.table=function(T,D){return D&&(D=""+D+""),"\n\n"+T+"\n"+D+"
    \n"},Y.tablerow=function(T){return"\n"+T+"\n"},Y.tablecell=function(T,D){var B=D.header?"th":"td";return(D.align?"<"+B+' align="'+D.align+'">':"<"+B+">")+T+"\n"},Y.strong=function(T){return""+T+""},Y.em=function(T){return""+T+""},Y.codespan=function(T){return""+T+""},Y.br=function(){return this.options.xhtml?"
    ":"
    "},Y.del=function(T){return""+T+""},Y.link=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z='"+B+""},Y.image=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z=''+B+'":">")},Y.text=function(T){return T},W}(),co=function(){function W(){}var Y=W.prototype;return Y.strong=function(T){return T},Y.em=function(T){return T},Y.codespan=function(T){return T},Y.del=function(T){return T},Y.html=function(T){return T},Y.text=function(T){return T},Y.link=function(T,D,B){return""+B},Y.image=function(T,D,B){return""+B},Y.br=function(){return""},W}(),di=function(){function W(){this.seen={}}var Y=W.prototype;return Y.serialize=function(T){return T.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},Y.getNextSafeSlug=function(T,D){var B=T,Z=0;if(this.seen.hasOwnProperty(B)){Z=this.seen[T];do{B=T+"-"+ ++Z}while(this.seen.hasOwnProperty(B))}return D||(this.seen[T]=Z,this.seen[B]=0),B},Y.slug=function(T,D){void 0===D&&(D={});var B=this.serialize(T);return this.getNextSafeSlug(B,D.dryrun)},W}(),Oh=pc,El=co,Va=di,uo=Pt.exports.defaults,za=pn_unescape,us=ui,ho=function(){function W(J){this.options=J||uo,this.options.renderer=this.options.renderer||new Oh,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new El,this.slugger=new Va}W.parse=function(T,D){return new W(D).parse(T)},W.parseInline=function(T,D){return new W(D).parseInline(T)};var Y=W.prototype;return Y.parse=function(T,D){void 0===D&&(D=!0);var Z,$,le,he,pe,Ge,an,xn,qt,Et,ln,ri,Hi,$i,_n,Ci,_c,fo,gd,B="",xl=T.length;for(Z=0;Z0&&"text"===_n.tokens[0].type?(_n.tokens[0].text=fo+" "+_n.tokens[0].text,_n.tokens[0].tokens&&_n.tokens[0].tokens.length>0&&"text"===_n.tokens[0].tokens[0].type&&(_n.tokens[0].tokens[0].text=fo+" "+_n.tokens[0].tokens[0].text)):_n.tokens.unshift({type:"text",text:fo}):$i+=fo),$i+=this.parse(_n.tokens,Hi),qt+=this.renderer.listitem($i,_c,Ci);B+=this.renderer.list(qt,ln,ri);continue;case"html":B+=this.renderer.html(Et.text);continue;case"paragraph":B+=this.renderer.paragraph(this.parseInline(Et.tokens));continue;case"text":for(qt=Et.tokens?this.parseInline(Et.tokens):Et.text;Z+1An error occurred:

    "+mc(le.message+"",!0)+"
    ";throw le}}return Je.options=Je.setOptions=function(W){return gu(Je.defaults,W),mu(Je.defaults),Je},Je.getDefaults=pd,Je.defaults=Vs,Je.use=function(){for(var W=this,Y=arguments.length,J=new Array(Y),T=0;TAn error occurred:

    "+mc(T.message+"",!0)+"
    ";throw T}},Je.Parser=ho,Je.parser=ho.parse,Je.Renderer=Sl,Je.TextRenderer=fu,Je.Lexer=us,Je.lexer=us.lex,Je.Tokenizer=gc,Je.Slugger=pu,Je.parse=Je,Je}()},310:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.isMobile=function(){return void 0!==L.window.orientation},We.default=function(Ze){if(!Ze&&!(0,It.default)())return"Node";if((0,Pt.default)(Ze))return"Electron";var Tt="undefined"!=typeof navigator?navigator:{},Ft=Ze||Tt.userAgent||"";if(Ft.indexOf("Edge")>-1)return"Edge";var we=-1!==Ft.indexOf("MSIE "),_e=-1!==Ft.indexOf("Trident/");return we||_e?"IE":L.window.chrome?"Chrome":L.window.safari?"Safari":L.window.mozInnerScreenX?"Firefox":"Unknown"};var L=ze(151),It=wt(ze(602)),Pt=wt(ze(344))},151:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.console=We.process=We.document=We.global=We.window=We.self=void 0;var L=wt(ze(321)),It={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&process};We.self=It.self||It.window||It.global,We.window=It.window||It.self||It.global,We.global=It.global||It.self||It.window,We.document=It.document||{},We.process=It.process||{};var Ft=console;We.console=Ft},761:(gt,We,ze)=>{"use strict";var L=ze(948),It=ze(321);Object.defineProperty(We,"CO",{enumerable:!0,get:function(){return Pt.global}}),Object.defineProperty(We,"qs",{enumerable:!0,get:function(){return ft.default}});var Pt=ze(151),ft=(Ft(ze(602)),Ft(ze(310)));L(ze(344));function Tt(we){if("function"!=typeof WeakMap)return null;var _e=new WeakMap,ke=new WeakMap;return(Tt=function(Te){return Te?ke:_e})(we)}function Ft(we,_e){if(!_e&&we&&we.__esModule)return we;if(null===we||"object"!==It(we)&&"function"!=typeof we)return{default:we};var ke=Tt(_e);if(ke&&ke.has(we))return ke.get(we);var ye={},Te=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Vt in we)if("default"!==Vt&&Object.prototype.hasOwnProperty.call(we,Vt)){var He=Te?Object.getOwnPropertyDescriptor(we,Vt):null;He&&(He.get||He.set)?Object.defineProperty(ye,Vt,He):ye[Vt]=we[Vt]}return ye.default=we,ke&&ke.set(we,ye),ye}},602:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=Pt,We.isBrowserMainThread=function(){return Pt()&&"undefined"!=typeof document};var L=wt(ze(321)),It=wt(ze(344));function Pt(){return!("object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,It.default)()}},344:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=function(Pt){if("undefined"!=typeof window&&"object"===(0,L.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,L.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Ke="object"===("undefined"==typeof navigator?"undefined":(0,L.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,ft=Pt||Ke;return!!(ft&&ft.indexOf("Electron")>=0)};var L=wt(ze(321))},851:(gt,We,ze)=>{"use strict";var wt={};ze.r(wt),ze.d(wt,{decode:()=>N0e,encode:()=>L0e});var L={};ze.r(L),ze.d(L,{decode:()=>U0e,encode:()=>H0e});var It={};ze.r(It),ze.d(It,{decode:()=>$0e,encode:()=>G0e});var Pt={};function Ke(n){return"function"==typeof n}ze.r(Pt),ze.d(Pt,{decode:()=>W0e,encode:()=>q0e});let ft=!1;const Ze={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else ft&&console.log("RxJS: Back to a better error behavior. Thank you. <3");ft=n},get useDeprecatedSynchronousErrorHandling(){return ft}};function Tt(n){setTimeout(()=>{throw n},0)}const Ft={closed:!0,next(n){},error(n){if(Ze.useDeprecatedSynchronousErrorHandling)throw n;Tt(n)},complete(){}},we=Array.isArray||(n=>n&&"number"==typeof n.length);function _e(n){return null!==n&&"object"==typeof n}const ye=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class Te{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof Te)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof ye?t.errors:t),[])}Te.EMPTY=((n=new Te).closed=!0,n);const He="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class xt extends Te{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Ft;break;case 1:if(!e){this.destination=Ft;break}if("object"==typeof e){e instanceof xt?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new tn(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new tn(this,e,t,i)}}[He](){return this}static create(e,t,i){const r=new xt(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class tn extends xt{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Ke(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==Ft&&(o=Object.create(t),Ke(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;Ze.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=Ze;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):Tt(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;Tt(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);Ze.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),Ze.useDeprecatedSynchronousErrorHandling)throw i;Tt(i)}}__tryOrSetError(e,t,i){if(!Ze.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return Ze.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(Tt(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const vi="function"==typeof Symbol&&Symbol.observable||"@@observable";function bi(n){return n}function Mr(...n){return Ve(n)}function Ve(n){return 0===n.length?bi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let ce=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof xt)return n;if(n[He])return n[He]()}return n||e||t?new xt(n,e,t):new xt(Ft)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||Ze.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),Ze.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){Ze.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof xt?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=zt(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[vi](){return this}pipe(...t){return 0===t.length?this:Ve(t)(this)}toPromise(t){return new(t=zt(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function zt(n){if(n||(n=Ze.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const Qt=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class li extends Te{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class Pi extends xt{constructor(e){super(e),this.destination=e}}let Se=(()=>{class n extends ce{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[He](){return new Pi(this)}lift(t){const i=new pn(this,this);return i.operator=t,i}next(t){if(this.closed)throw new Qt;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew pn(e,t),n})();class pn extends Se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):Te.EMPTY}}function Gn(n){return n&&"function"==typeof n.schedule}function Ae(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new Ri(n,e))}}class Ri{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new jt(e,this.project,this.thisArg))}}class jt extends xt{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const xr=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ye(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const ki=n=>{if(n&&"function"==typeof n[vi])return(n=>e=>{const t=n[vi]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(pt(n))return xr(n);if(Ye(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Tt),e))(n);if(n&&"function"==typeof n[cs])return(n=>e=>{const t=n[cs]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${_e(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Fi(n,e){return new ce(t=>{const i=new Te;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function ui(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[vi]}(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>{const r=n[vi]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ye(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(pt(n))return Fi(n,e);if(function(n){return n&&"function"==typeof n[cs]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new ce(t=>{const i=new Te;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[cs](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof ce?n:new ce(ki(n))}class Gr extends xt{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ii extends xt{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function co(n,e){if(e.closed)return;if(n instanceof ce)return n.subscribe(e);let t;try{t=ki(n)(e)}catch(i){e.error(i)}return t}function di(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(di((r,s)=>ui(n(r,s)).pipe(Ae((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Oh(n,t)))}class Oh{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new El(e,this.project,this.concurrent))}}class El extends ii{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function uo(n=Number.POSITIVE_INFINITY){return di(bi,n)}function za(n,e){return e?Fi(n,e):new ce(xr(n))}function Ni(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Gn(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof ce?n[0]:uo(e)(za(n,t))}function us(){return function(e){return e.lift(new ho(e))}}class ho{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new gc(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class gc extends xt{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Sl extends ce{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new Te,e.add(this.source.subscribe(new pu(this.getSubject(),this))),e.closed&&(this._connection=null,e=Te.EMPTY)),e}refCount(){return us()(this)}}const fu=(()=>{const n=Sl.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class pu extends Pi{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function mc(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new pd(r,e));const s=Object.create(i,fu);return s.source=i,s.subjectFactory=r,s}}class pd{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function mu(){return new Se}function Vs(){return n=>us()(mc(mu)(n))}function Je(n){for(let e in n)if(n[e]===Je)return e;throw Error("Could not find renamed property on target object.")}function _u(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function W(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(W).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function Y(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const J=Je({__forward_ref__:Je});function T(n){return n.__forward_ref__=T,n.toString=function(){return W(this())},n}function D(n){return B(n)?n():n}function B(n){return"function"==typeof n&&n.hasOwnProperty(J)&&n.__forward_ref__===T}class $ extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function pe(n){return"string"==typeof n?n:null==n?"":String(n)}function Ge(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():pe(n)}function Et(n,e){const t=e?` in ${e}`:"";throw new $("201",`No provider for ${Ge(n)} found${t}`)}function Gi(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function ue(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Me(n){return{providers:n.providers||[],imports:n.imports||[]}}function rr(n){return vc(n,ua)||vc(n,Ua)}function vc(n,e){return n.hasOwnProperty(e)?n[e]:null}function Cu(n){return n&&(n.hasOwnProperty(Tl)||n.hasOwnProperty(Sp))?n[Tl]:null}const ua=Je({\u0275prov:Je}),Tl=Je({\u0275inj:Je}),Ua=Je({ngInjectableDef:Je}),Sp=Je({ngInjectorDef:Je});var At=(()=>((At=At||{})[At.Default=0]="Default",At[At.Host=1]="Host",At[At.Self=2]="Self",At[At.SkipSelf=4]="SkipSelf",At[At.Optional=8]="Optional",At))();let Al;function da(n){const e=Al;return Al=n,e}function md(n,e,t){const i=rr(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&At.Optional?null:void 0!==e?e:void Et(W(n),"Injector")}function F(n){return{toString:n}.toString()}var j=(()=>((j=j||{})[j.OnPush=0]="OnPush",j[j.Default=1]="Default",j))(),Ue=(()=>((Ue=Ue||{})[Ue.Emulated=0]="Emulated",Ue[Ue.None=2]="None",Ue[Ue.ShadowDom=3]="ShadowDom",Ue))();const vn="undefined"!=typeof globalThis&&globalThis,dr="undefined"!=typeof window&&window,yr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,Wr="undefined"!=typeof global&&global,cn=vn||Wr||dr||yr,_d={},mi=[],xp=Je({\u0275cmp:Je}),d_=Je({\u0275dir:Je}),Ph=Je({\u0275pipe:Je}),b0=Je({\u0275mod:Je}),xx=Je({\u0275loc:Je}),Dl=Je({\u0275fac:Je}),Rh=Je({__NG_ELEMENT_ID__:Je});let Tx=0;function Ne(n){return F(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===j.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||mi,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Ue.Emulated,id:"c",styles:n.styles||mi,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=Tx++,i.inputs=S0(n.inputs,t),i.outputs=S0(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(C0):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(w0):null,i})}function C0(n){return Kn(n)||function(n){return n[d_]||null}(n)}function w0(n){return function(n){return n[Ph]||null}(n)}const E0={};function Pe(n){return F(()=>{const e={type:n.type,bootstrap:n.bootstrap||mi,declarations:n.declarations||mi,imports:n.imports||mi,exports:n.exports||mi,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(E0[n.id]=n.type),e})}function S0(n,e){if(null==n)return _d;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const oe=Ne;function ds(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Kn(n){return n[xp]||null}function po(n,e){const t=n[b0]||null;if(!t&&!0===e)throw new Error(`Type ${W(n)} does not have '\u0275mod' property.`);return t}function Fo(n){return Array.isArray(n)&&"object"==typeof n[1]}function No(n){return Array.isArray(n)&&!0===n[1]}function p_(n){return 0!=(8&n.flags)}function Cd(n){return 2==(2&n.flags)}function wd(n){return 1==(1&n.flags)}function pa(n){return null!==n.template}function M0(n){return 0!=(512&n[2])}function wc(n,e){return n.hasOwnProperty(Dl)?n[Dl]:null}class y_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function zn(){return A0}function A0(n){return n.type.prototype.ngOnChanges&&(n.setInput=Fx),kx}function kx(){const n=q(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===_d)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function Fx(n,e,t,i){const r=q(n)||function(n,e){return n[Vh]=e}(n,{previous:_d,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new y_(l&&l.currentValue,e,o===_d),n[i]=e}zn.ngInherit=!0;const Vh="__ngSimpleChanges__";function q(n){return n[Vh]||null}const Wn="http://www.w3.org/2000/svg";let fi;function Ii(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==fi?fi:"undefined"!=typeof document?document:void 0};function qi(n){for(;Array.isArray(n);)n=n[0];return n}function zh(n,e){return qi(e[n])}function Ts(n,e){return qi(e[n.index])}function C_(n,e){return n.data[e]}function Ed(n,e){return n[e]}function fs(n,e){const t=e[n];return Fo(t)?t:t[0]}function Pl(n){return 4==(4&n[2])}function Sd(n){return 128==(128&n[2])}function ma(n,e){return null==e?null:n[e]}function w_(n){n[18]=0}function Dp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Yt={lFrame:xu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function O0(){return Yt.bindingsEnabled}function Oe(){return Yt.lFrame.lView}function Dn(){return Yt.lFrame.tView}function en(n){return Yt.lFrame.contextLView=n,n[8]}function Dr(){let n=E_();for(;null!==n&&64===n.type;)n=n.parent;return n}function E_(){return Yt.lFrame.currentTNode}function Ga(n,e){const t=Yt.lFrame;t.currentTNode=n,t.isParent=e}function pr(){return Yt.lFrame.isParent}function Lr(){Yt.lFrame.isParent=!1}function Hh(){return Yt.isInCheckNoChangesMode}function Ip(n){Yt.isInCheckNoChangesMode=n}function Yr(){const n=Yt.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Us(){return Yt.lFrame.bindingIndex}function _a(){return Yt.lFrame.bindingIndex++}function mo(n){const e=Yt.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Md(n,e){const t=Yt.lFrame;t.bindingIndex=t.bindingRootIndex=n,S_(e)}function S_(n){Yt.lFrame.currentDirectiveIndex=n}function M_(n){const e=Yt.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function I0(){return Yt.lFrame.currentQueryIndex}function x_(n){Yt.lFrame.currentQueryIndex=n}function Rp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function xd(n,e,t){if(t&At.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&At.Host||(r=Rp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Yt.lFrame=O();return i.currentTNode=e,i.lView=n,!0}function Wh(n){const e=O(),t=n[1];Yt.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function O(){const n=Yt.lFrame,e=null===n?null:n.child;return null===e?xu(n):e}function xu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qh(){const n=Yt.lFrame;return Yt.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const _o=qh;function Cn(){const n=qh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function As(){return Yt.lFrame.selectedIndex}function Hs(n){Yt.lFrame.selectedIndex=n}function sr(){const n=Yt.lFrame;return C_(n.tView,n.selectedIndex)}function kp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Yh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Lp(n,e,t){const i=Ii(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Ad=!0;function Bp(n){const e=Ad;return Ad=n,e}let P_=0;function ps(n,e){const t=Vp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,R_(i.data,n),R_(e,null),R_(i.blueprint,null));const r=Kh(n,e),s=n.injectorIndex;if(F0(r)){const o=Td(r),a=qa(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function R_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Vp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Kh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Sc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=P_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:V0:e}(t);if("function"==typeof s){if(!xd(e,n,i))return i&At.Host?k_(r,t,i):L0(e,t,i,r);try{const o=s(i);if(null!=o||i&At.Optional)return o;Et(t)}finally{_o()}}else if("number"==typeof s){let o=null,a=Vp(n,e),l=-1,c=i&At.Host?e[16][6]:null;for((-1===a||i&At.SkipSelf)&&(l=-1===a?Kh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Td(l),e=qa(l,e)):a=-1);-1!==a;){const d=e[1];if(zp(s,a,d.data)){const f=Xr(a,e,t,o,i,c);if(f!==B0)return f}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&zp(s,a,e)?(o=d,a=Td(l),e=qa(l,e)):a=-1}}}return L0(e,t,i,r)}const B0={};function V0(){return new Bo(Dr(),Oe())}function Xr(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],d=Dd(a,o,t,null==i?Cd(a)&&Ad:i!=o&&0!=(3&a.type),r&At.Host&&s===a);return null!==d?Od(e,o,d,a):B0}function Dd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,d=s>>20,p=r?a+d:n.directiveEnd;for(let g=i?a:a+d;g=l&&_.type===t)return g}if(r){const g=o[l];if(g&&pa(g)&&g.type===t)return l}return null}function Od(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Yh}(r)){const o=r;o.resolving&&function(n,e){throw new $("200",`Circular dependency in DI detected for ${n}`)}(Ge(s[t]));const a=Bp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?da(o.injectImpl):null;xd(n,i,At.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=A0(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&da(l),Bp(a),o.resolving=!1,_o()}}return r}function zp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Dl]||Kr(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Dl]||Kr(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Kr(n){return B(n)?()=>{const e=Kr(D(n));return e&&e()}:wc(n)}function Zr(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,d){const f=l.hasOwnProperty(Pd)?l[Pd]:Object.defineProperty(l,Pd,{value:[]})[Pd];for(;f.length<=d;)f.push(null);return(f[d]=f[d]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class ve{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=ue({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function Vo(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?zo(t,e):e(t))}function ef(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function kl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function xc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function z_(n,e){const t=Qr(n,e);if(t>=0)return n[1|t]}function Qr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):W(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Dc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ac]=null,n}const Ld=Nd(ba("Inject",n=>({token:n})),-1),br=Nd(ba("Optional"),8),Za=Nd(ba("SkipSelf"),4);let Vd;function Nu(n){var e;return(null===(e=function(){if(void 0===Vd&&(Vd=null,cn.trustedTypes))try{Vd=cn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Vd}())||void 0===e?void 0:e.createHTML(n))||n}class Bl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class W_ extends Bl{getTypeName(){return"HTML"}}class q_ extends Bl{getTypeName(){return"Style"}}class Jp extends Bl{getTypeName(){return"Script"}}class zd extends Bl{getTypeName(){return"URL"}}class Ut extends Bl{getTypeName(){return"ResourceURL"}}function gs(n){return n instanceof Bl?n.changingThisBreaksApplicationSecurity:n}function jo(n,e){const t=Pc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Pc(n){return n instanceof Bl&&n.getTypeName()||null}class iC{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Nu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class f1{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Nu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Nu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0bo(e.trim())).join(", ")}function Uo(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function nf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const eg=Uo("area,br,col,hr,img,wbr"),sC=Uo("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),oC=Uo("rp,rt"),X_=nf(eg,nf(sC,Uo("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nf(oC,Uo("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nf(oC,sC)),K_=Uo("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Z_=Uo("srcset"),Q_=nf(K_,Z_,Uo("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Uo("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),v1=Uo("script,style,template");class J_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!X_.hasOwnProperty(t))return this.sanitizedSomething=!0,!v1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();X_.hasOwnProperty(t)&&!eg.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(ng(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const aC=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,rf=/([^\#-~ |!])/g;function ng(n){return n.replace(/&/g,"&").replace(aC,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(rf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let sf;function ey(n,e){let t=null;try{sf=sf||function(n){const e=new f1(n);return function(){try{return!!(new window.DOMParser).parseFromString(Nu(""),"text/html")}catch(n){return!1}}()?new iC(e):e}(n);let i=e?String(e):"";t=sf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=sf.getInertBodyElement(i)}while(i!==s);return Nu((new J_).sanitizeChildren(jd(t)||t))}finally{if(t){const i=jd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function jd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var mn=(()=>((mn=mn||{})[mn.NONE=0]="NONE",mn[mn.HTML=1]="HTML",mn[mn.STYLE=2]="STYLE",mn[mn.SCRIPT=3]="SCRIPT",mn[mn.URL=4]="URL",mn[mn.RESOURCE_URL=5]="RESOURCE_URL",mn))();function Ud(n){const e=function(){const n=Oe();return n&&n[12]}();return e?e.sanitize(mn.URL,n)||"":jo(n,"URL")?gs(n):bo(pe(n))}const iy="__ngContext__";function Jr(n,e){n[iy]=e}function ry(n){const e=function(n){return n[iy]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function ig(n){return n.ngOriginalError}function P1(n,...e){n.error(...e)}class $o{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||P1}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(ig(e)):null}_findOriginalError(e){let t=e&&ig(e);for(;t&&ig(t);)t=ig(t);return t||null}}const yC=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(cn))();function ly(n){return n.ownerDocument.defaultView}function sg(n){return n.ownerDocument}function Ja(n){return n instanceof Function?n():n}var Co=(()=>((Co=Co||{})[Co.Important=1]="Important",Co[Co.DashCase=2]="DashCase",Co))();function uy(n,e){return undefined(n,e)}function lf(n){const e=n[3];return No(e)?e[3]:e}function $d(n){return EC(n[13])}function hy(n){return EC(n[4])}function EC(n){for(;null!==n&&!No(n);)n=n[4];return n}function Gd(n,e,t,i,r){if(null!=i){let s,o=!1;No(i)?s=i:Fo(i)&&(o=!0,i=i[0]);const a=qi(i);0===n&&null!==t?null==r?AC(e,t,a):el(e,t,a,r||null,!0):1===n&&null!==t?el(e,t,a,r||null,!0):2===n?function(n,e,t){const i=ag(n,e);i&&function(n,e,t,i){Ii(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==qi(t)&&Gd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=kl(n,10+e);!function(n,e){Wd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function my(n,e){if(!(256&e[2])){const t=e[11];Ii(t)&&t.destroyNode&&Wd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return og(n[1],n);for(;e;){let t=null;if(Fo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Fo(e)&&og(e[1],e),e=e[3];null===e&&(e=n),Fo(e)&&og(e[1],e),t=e&&e[4]}e=t}}(e)}}function og(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[f+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==p){if(wa(i))return!1;o=!0}}}}else{if(!o&&!wa(i)&&!wa(l))return!1;if(o&&wa(l))continue;o=!1,i=l|1&i}}return wa(i)||o}function wa(n){return 0==(1&n)}function iT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!wa(o)&&(e+=jC(s,r),r=""),i=o,s=s||!wa(i);t++}return""!==r&&(e+=jC(s,r)),e}const kt={};function G(n){UC(Dn(),Oe(),As()+n,Hh())}function UC(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Fp(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Np(e,s,0,t)}Hs(t)}function tl(n,e){return n<<17|e<<2}function Bt(n){return n>>17&32767}function Yi(n){return 2|n}function Vl(n){return(131068&n)>>2}function nl(n,e){return-131069&n|e<<2}function wy(n){return 1|n}function ZC(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&UC(n,e,20,Hh()),t(i,r)}finally{Hs(s)}}function JC(n,e,t){if(p_(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function lw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function cw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function IT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&ky(t)}}function ky(n){for(let i=$d(n);null!==i;i=hy(i))for(let r=10;r0&&ky(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&ky(r)}}function BT(n,e){const t=fs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function hw(n){return n[7]||(n[7]=[])}function _g(n){return n.cleanup||(n.cleanup=[])}function Vy(n,e,t){return(null===n||pa(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function zy(n,e){const t=n[9],i=t?t.get($o,null):null;i&&i.handleError(e)}function fw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),zo([e],a=>this.processInjectorType(a,[],s)),this.records.set(Fc,zu(void 0,this));const o=this.records.get(Vu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:W(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Pu,i=At.Default){this.assertNotDestroyed();const r=Fd(this),s=da(void 0);try{if(!(i&At.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof ve}(e)&&rr(e);a=l&&this.injectableDefInScope(l)?zu(Gy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&At.Self?pw():this.parent).get(e,t=i&At.Optional&&t===Pu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ac]=o[Ac]||[]).unshift(W(e)),r)throw o;return Ds(o,e,"R3InjectorError",this.source)}throw o}finally{da(s),Fd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(W(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=D(e)))return!1;let r=Cu(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Cu(s)),null==r)return!1;if(null!=r.imports&&!a){let d;i.push(o);try{zo(r.imports,f=>{this.processInjectorType(f,t,i)&&(void 0===d&&(d=[]),d.push(f))})}finally{}if(void 0!==d)for(let f=0;fthis.processProvider(_,p,g||mi))}}this.injectorDefTypes.add(o);const l=wc(o)||(()=>new o);this.records.set(o,zu(l,gf));const c=r.providers;if(null!=c&&!a){const d=e;zo(c,f=>this.processProvider(f,d,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Nc(e=D(e))?e:D(e&&e.provide);const s=function(n,e,t){return _w(n)?zu(void 0,n.useValue):zu(mw(n),gf)}(e);if(Nc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zu(void 0,gf,!0),o.factory=()=>ku(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=GT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=D(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Gy(n){const e=rr(n),t=null!==e?e.factory:wc(n);if(null!==t)return t;if(n instanceof ve)throw new Error(`Token ${W(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=xc(e,"?");throw new Error(`Can't resolve all parameters for ${W(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[ua]||n[Ua]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function mw(n,e,t){let i;if(Nc(n)){const r=D(n);return wc(r)||Gy(r)}if(_w(n))i=()=>D(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...ku(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>I(D(n.useExisting));else{const r=D(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return wc(r)||Gy(r);i=()=>new r(...ku(n.deps))}return i}function zu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function _w(n){return null!==n&&"object"==typeof n&&Wp in n}function Nc(n){return"function"==typeof n}const yw=function(n,e,t){return function(n,e=null,t=null,i){const r=gw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Nt{static create(e,t){return Array.isArray(e)?yw(e,t,""):yw(e.providers,e.parent,e.name||"")}}function m7(n,e){kp(ry(n)[1],Dr())}function ct(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(pa(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=oA(n.inputs),o.declaredInputs=oA(n.declaredInputs),o.outputs=oA(n.outputs);const a=r.hostBindings;a&&b7(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&y7(n,l),c&&v7(n,c),_u(n.inputs,r.inputs),_u(n.declaredInputs,r.declaredInputs),_u(n.outputs,r.outputs),pa(r)&&r.data.animation){const d=n.data;d.animation=(d.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Xh(r.hostAttrs,t=Xh(t,r.hostAttrs))}}(i)}function oA(n){return n===_d?{}:n===mi?[]:n}function y7(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function v7(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function b7(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Nt.THROW_IF_NOT_FOUND=Pu,Nt.NULL=new Ps,Nt.\u0275prov=ue({token:Nt,providedIn:"any",factory:()=>I(Fc)}),Nt.__NG_ELEMENT_ID__=-1;let Ew=null;function vg(){if(!Ew){const n=cn.Symbol;if(n&&n.iterator)Ew=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(qi(N[i.index])):i.index;if(Ii(t)){let N=null;if(!a&&l&&(N=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==N)(N.__ngLastListenerFn__||N).__ngNextListenerFn__=s,N.__ngLastListenerFn__=s,g=!1;else{s=fA(i,e,f,s,!1);const V=t.listen(C,r,s);p.push(s,V),d&&d.push(r,x,w,w+1)}}else s=fA(i,e,f,s,!0),C.addEventListener(r,s,o),p.push(s),d&&d.push(r,x,w,o)}else s=fA(i,e,f,s,!1);const _=i.outputs;let y;if(g&&null!==_&&(y=_[r])){const v=y.length;if(v)for(let C=0;C0;)e=e[15],n--;return e}(n,Yt.lFrame.contextLView))[8]}(n)}function J7(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const ts={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function FN(n){return n.substring(ts.key,ts.keyEnd)}function NN(n,e){const t=ts.textEnd;return t===e?-1:(e=ts.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,ts.key=e,t),Ig(n,e,t))}function Ig(n,e,t){for(;e=0;t=NN(e,t))yo(n,FN(e),!0)}function $l(n,e,t,i){const r=Oe(),s=Dn(),o=mo(2);s.firstUpdatePass&&UN(s,n,o,i),e!==kt&&qs(r,o,e)&&$N(s,s.data[As()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=W(gs(n)))),n}(e,t),i,o)}function Gl(n,e,t,i){const r=Dn(),s=mo(2);r.firstUpdatePass&&UN(r,null,s,i);const o=Oe();if(t!==kt&&qs(o,s,t)){const a=r.data[As()];if(WN(a,i)&&!jN(r,s)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Y(l,t||"")),hA(r,a,o,t,i)}else!function(n,e,t,i,r,s,o,a){r===kt&&(r=mi);let l=0,c=0,d=0=n.expandoStartIndex}function UN(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[As()],o=jN(n,t);WN(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=M_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=ev(t=gA(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=gA(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Vl(i))return n[Bt(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=gA(null,n,e,l[1],i),l=ev(l,e.attrs,i),function(n,e,t,i){n[Bt(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else d=t;if(r)if(0!==l){const p=Bt(n[a+1]);n[i+1]=tl(p,a),0!==p&&(n[p+1]=nl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=tl(a,0),0!==a&&(n[a+1]=nl(n[a+1],i)),a=i;else n[i+1]=tl(l,0),0===a?a=i:n[l+1]=nl(n[l+1],i),l=i;c&&(n[i+1]=Yi(n[i+1])),kN(n,d,i,!0),kN(n,d,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Qr(s,e)>=0&&(t[i+1]=wy(t[i+1]))}(e,d,n,i,s),o=tl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function gA(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),d=c?l[1]:l,f=null===d;let p=t[r+1];p===kt&&(p=f?mi:void 0);let g=f?z_(p,i):d===i?p:void 0;if(c&&!Tw(g)&&(g=z_(l,i)),Tw(g)&&(a=g,o))return a;const _=n[r+1];r=o?Bt(_):Vl(_)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=z_(l,i))}return a}function Tw(n){return void 0!==n}function WN(n,e){return 0!=(n.flags&(e?16:32))}function De(n,e=""){const t=Oe(),i=Dn(),r=n+20,s=i.firstCreatePass?Yd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Ii(n)?n.createText(e):n.createTextNode(e)}(t[11],e);lg(i,t,o,s),Ga(s,!1)}function xi(n){return or("",n,""),xi}function or(n,e,t){const i=Oe(),r=Cg(i,n,e,t);return r!==kt&&zl(i,As(),r),or}function Aw(n,e,t,i,r){const s=Oe(),o=function(n,e,t,i,r,s){const a=mf(n,Us(),t,r);return mo(2),a?e+pe(t)+i+pe(r)+s:kt}(s,n,e,t,i,r);return o!==kt&&zl(s,As(),o),Aw}function al(n,e,t){const i=Oe();return qs(i,_a(),e)&&wo(Dn(),sr(),i,n,e,i[11],t,!0),al}function Pg(n,e,t){const i=Oe();if(qs(i,_a(),e)){const s=Dn(),o=sr();wo(s,o,i,n,e,Vy(M_(s.data),o,i),t,!0)}return Pg}const bf=void 0;var FY=["en",[["a","p"],["AM","PM"],bf],[["AM","PM"],bf,bf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],bf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],bf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",bf,"{1} 'at' {0}",bf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let Rg={};function dL(n){return n in Rg||(Rg[n]=cn.ng&&cn.ng.common&&cn.ng.common.locales&&cn.ng.common.locales[n]),Rg[n]}var at=(()=>((at=at||{})[at.LocaleId=0]="LocaleId",at[at.DayPeriodsFormat=1]="DayPeriodsFormat",at[at.DayPeriodsStandalone=2]="DayPeriodsStandalone",at[at.DaysFormat=3]="DaysFormat",at[at.DaysStandalone=4]="DaysStandalone",at[at.MonthsFormat=5]="MonthsFormat",at[at.MonthsStandalone=6]="MonthsStandalone",at[at.Eras=7]="Eras",at[at.FirstDayOfWeek=8]="FirstDayOfWeek",at[at.WeekendRange=9]="WeekendRange",at[at.DateFormat=10]="DateFormat",at[at.TimeFormat=11]="TimeFormat",at[at.DateTimeFormat=12]="DateTimeFormat",at[at.NumberSymbols=13]="NumberSymbols",at[at.NumberFormats=14]="NumberFormats",at[at.CurrencyCode=15]="CurrencyCode",at[at.CurrencySymbol=16]="CurrencySymbol",at[at.CurrencyName=17]="CurrencyName",at[at.Currencies=18]="Currencies",at[at.Directionality=19]="Directionality",at[at.PluralCase=20]="PluralCase",at[at.ExtraData=21]="ExtraData",at))();const Dw="en-US";let hL=Dw;function mA(n){Gi(n,"Expected localeId to be defined"),"string"==typeof n&&(hL=n.toLowerCase().replace(/_/g,"-"))}function vA(n,e,t,i,r){if(n=D(n),Array.isArray(n))for(let s=0;s>20;if(Nc(n)||!n.multi){const g=new Yh(l,r,E),_=CA(a,e,r?d:d+p,f);-1===_?(Sc(ps(c,o),s,a),bA(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[_]=g,o[_]=g)}else{const g=CA(a,e,d+p,f),_=CA(a,e,d,d+p),y=g>=0&&t[g],v=_>=0&&t[_];if(r&&!v||!r&&!y){Sc(ps(c,o),s,a);const C=function(n,e,t,i,r){const s=new Yh(n,t,E);return s.multi=[],s.index=e,s.componentProviders=0,NL(s,r,i&&!t),s}(r?PX:IX,t.length,r,i,l);!r&&v&&(t[_].providerFactory=C),bA(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(C),o.push(C)}else bA(s,n,g>-1?g:_,NL(t[r?_:g],l,!r&&i));!r&&i&&v&&t[_].componentProviders++}}}function bA(n,e,t,i){const r=Nc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function NL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CA(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Dn();if(i.firstCreatePass){const r=pa(n);vA(t,i.data,i.blueprint,r,!0),vA(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class LL{}const VL="ngComponent";class FX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${W(n)}. Did you add it to @NgModule.entryComponents?`);return e[VL]=n,e}(e)}}class ll{}function kw(...n){}function Fg(n,e){return new rt(Ts(n,e))}ll.NULL=new FX;const BX=function(){return Fg(Dr(),Oe())};let rt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=BX,n})();function zL(n){return n instanceof rt?n.nativeElement:n}class Cf{}let zc=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>zX(),n})();const zX=function(){const n=Oe(),t=fs(Dr().index,n);return function(n){return n[11]}(Fo(t)?t:n)};let SA=(()=>{class n{}return n.\u0275prov=ue({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new ju("12.2.5");class UL{constructor(){}supports(e){return Ky(e)}create(e){return new $X(e)}}const HX=(n,e)=>e;class $X{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||HX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<$L(i,r,s)?t:i,a=$L(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,d=l-r;if(c!=d){for(let p=0;p{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new GX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new HL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new HL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class GX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class WX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class HL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new WX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $L(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new YX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class YX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function WL(){return new Ng([new UL])}let Ng=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:WL}),n})();function qL(){return new Lg([new GL])}let Lg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||qL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:qL}),n})();function Fw(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(qi(s)),No(s))for(let a=10;a-1&&(gy(e,i),kl(t,i))}this._attachedToViewContainer=!1}my(this._lView[1],this._lView)}onDestroy(e){tw(this._lView[1],this._lView,null,e)}markForCheck(){Fy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ly(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Ip(!0);try{Ly(n,e,t)}finally{Ip(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Wd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class KX extends sv{constructor(e){super(e),this._view=e}detectChanges(){dw(this._view)}checkNoChanges(){!function(n){Ip(!0);try{dw(n)}finally{Ip(!1)}}(this._view)}get context(){return null}}const QX=function(n){return function(n,e,t){if(Cd(n)&&!t){const i=fs(n.index,e);return new sv(i,i)}return 47&n.type?new sv(e[16],e):null}(Dr(),Oe(),16==(16&n))};let kn=(()=>{class n{}return n.__NG_ELEMENT_ID__=QX,n})();const tK=[new GL],iK=new Ng([new UL]),rK=new Lg(tK),oK=function(){return Nw(Dr(),Oe())};let Ys=(()=>{class n{}return n.__NG_ELEMENT_ID__=oK,n})();const aK=Ys,lK=class extends aK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new sv(i)}};function Nw(n,e){return 4&n.type?new lK(e,n,Fg(n,e)):null}class jc{}const dK=function(){return ZL(Dr(),Oe())};let ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=dK,n})();const fK=ns,XL=class extends fK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Fg(this._hostTNode,this._hostLView)}get injector(){return new Bo(this._hostTNode,this._hostLView)}get parentInjector(){const e=Kh(this._hostTNode,this._hostLView);if(F0(e)){const t=qa(e,this._hostLView),i=Td(e);return new Bo(t[1].data[i+8],t)}return new Bo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=KL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(jc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return No(n[3])}(i)){const d=this.indexOf(e);if(-1!==d)this.detach(d);else{const f=i[3],p=new XL(f,f[6],f[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iyC});class vB extends LL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(lT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return yB(this.componentDef.inputs)}get outputs(){return yB(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,jg,r);return s!==jg||i===jg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Cf,Su),a=s.get(SA,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function(n,e,t){if(Ii(n))return n.selectRootElement(e,t===Ue.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):py(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?Wn:"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),f=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||yC,clean:HT,playerHandler:e||null,flags:0}}(),g=gg(0,null,null,1,0,null,null,null,null,null),_=hf(null,g,p,f,null,null,o,l,a,s);let y,v;Wh(_);try{const C=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Yd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(yg(l,c,!0),null!==n&&(Lp(r,n,c),null!==l.classes&&by(r,n,l.classes),null!==l.styles&&LC(r,n,l.styles)));const d=i.createRenderer(n,e),f=hf(t,pg(e),null,e.onPush?64:16,t[20],l,i,d,s||null,null);return o.firstCreatePass&&(Sc(ps(l,t),o,e.type),cw(o,l),Iy(l,t.length,1)),mg(t,f),t[20]=f}(d,this.componentDef,_,o,l);if(d)if(i)Lp(l,d,["ng-version",jL.full]);else{const{attrs:w,classes:x}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&by(l,d,x.join(" "))}if(v=C_(g,20),void 0!==t){const w=v.projection=[];for(let x=0;xl(o,e)),e.contentQueries){const l=Dr();e.contentQueries(1,o,l.directiveStart)}const a=Dr();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(Hs(a.index),aw(t[1],a,0,a.directiveStart,a.directiveEnd,e),lw(e,o)),o}(C,this.componentDef,_,p,[m7]),ff(g,_,null)}finally{Cn()}return new hZ(this.componentType,y,Fg(v,_),_,v)}}class hZ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new KX(r),this.componentType=e}get injector(){return new Bo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Ug=new Map;class gZ extends jc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _B(this);const i=po(e),r=function(n){return n[xx]||null}(e);r&&mA(r),this._bootstrapComponents=Ja(i.bootstrap),this._r3Injector=gw(e,t,[{provide:jc,useValue:this},{provide:ll,useValue:this.componentFactoryResolver}],W(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Nt.THROW_IF_NOT_FOUND,i=At.Default){return e===Nt||e===jc||e===Fc?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class BA extends class{}{constructor(e){super(),this.moduleType=e,null!==po(e)&&function(n){const e=new Set;!function t(i){const r=po(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${W(e)} vs ${W(e.name)}`)}(s,Ug.get(s),i),Ug.set(s,i));const o=Ja(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new gZ(this.moduleType,e)}}function fv(n,e,t){const i=Yr()+n,r=Oe();return r[i]===kt?Bc(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function Hg(n,e,t,i){return wB(Oe(),Yr(),n,e,t,i)}function pv(n,e){const t=n[e];return t===kt?void 0:t}function wB(n,e,t,i,r,s){const o=e+t;return qs(n,o,r)?Bc(n,o+1,s?i.call(s,r):i(r)):pv(n,o+1)}function Kt(n,e){const t=Dn();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new $("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=wc(i.type)),o=da(E);try{const a=Bp(!1),l=s();return Bp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Oe(),r,l),l}finally{da(o)}}function rn(n,e,t){const i=n+20,r=Oe(),s=Ed(r,i);return _v(r,mv(r,i)?wB(r,Yr(),e,s.transform,t,s):s.transform(t))}function gv(n,e,t,i){const r=n+20,s=Oe(),o=Ed(s,r);return _v(s,mv(s,r)?function(n,e,t,i,r,s,o){const a=e+t;return mf(n,a,r,s)?Bc(n,a+2,o?i.call(o,r,s):i(r,s)):pv(n,a+2)}(s,Yr(),e,o.transform,t,i,o):o.transform(t,i))}function mv(n,e){return n[1].data[e].pure}function _v(n,e){return Ul.isWrapped(e)&&(e=Ul.unwrap(e),n[Us()]=kt),e}function VA(n){return e=>{setTimeout(n,void 0,e)}}const Le=class extends Se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const f=e;a=null===(r=f.next)||void 0===r?void 0:r.bind(f),l=null===(s=f.error)||void 0===s?void 0:s.bind(f),c=null===(o=f.complete)||void 0===o?void 0:o.bind(f)}this.__isAsync&&(l=VA(l),a&&(a=VA(a)),c&&(c=VA(c)));const d=super.subscribe({next:a,error:l,complete:c});return e instanceof Te&&e.add(d),d}};function DZ(){return this._results[vg()]()}class Sf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=vg(),i=Sf.prototype;i[t]||(i[t]=DZ)}get changes(){return this._changes||(this._changes=new Le)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=Vo(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],d=e[-l];for(let f=10;f{class n{constructor(t){this.appInits=t,this.resolve=kw,this.reject=kw,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(I(Mf,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const vv=new ve("AppId"),uQ={provide:vv,useFactory:function(){return`${KA()}${KA()}${KA()}`},deps:[]};function KA(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const XB=new ve("Platform Initializer"),dl=new ve("Platform ID"),bv=new ve("appBootstrapListener");let $w=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Uu=new ve("LocaleId"),KB=new ve("DefaultCurrencyCode");class hQ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const ZA=function(n){return new BA(n)},fQ=ZA,pQ=function(n){return Promise.resolve(ZA(n))},ZB=function(n){const e=ZA(n),i=Ja(po(n).declarations).reduce((r,s)=>{const o=Kn(s);return o&&r.push(new vB(o)),r},[]);return new hQ(e,i)},gQ=ZB,mQ=function(n){return Promise.resolve(ZB(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=fQ,this.compileModuleAsync=pQ,this.compileModuleAndAllComponentsSync=gQ,this.compileModuleAndAllComponentsAsync=mQ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const QB=new ve("compilerOptions"),yQ=(()=>Promise.resolve(0))();function QA(n){"undefined"==typeof Zone?yQ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class dt{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Le(!1),this.onMicrotaskEmpty=new Le(!1),this.onStable=new Le(!1),this.onError=new Le(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=cn.requestAnimationFrame,e=cn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(cn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,eD(n),n.isCheckStableRunning=!0,JA(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),eD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return JB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),e3(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return JB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),e3(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,eD(n),JA(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!dt.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(dt.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,bQ,kw,kw);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const bQ={};function JA(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function eD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function JB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function e3(n){n._nesting--,JA(n)}class EQ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Le,this.onMicrotaskEmpty=new Le,this.onStable=new Le,this.onError=new Le}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let tD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{dt.assertNotInAngularZone(),QA(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())QA(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),t3=(()=>{class n{constructor(){this._applications=new Map,nD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return nD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class SQ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let nD=new SQ,n3=!0,i3=!1;function Mo(){return i3=!0,n3}let Yl;const r3=new ve("AllowMultipleToken");function s3(n,e,t=[]){const i=`Platform: ${e}`,r=new ve(i);return(s=[])=>{let o=rD();if(!o||o.injector.get(r3,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Vu,useValue:"platform"});!function(n){if(Yl&&!Yl.destroyed&&!Yl.injector.get(r3,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Yl=n.get(o3);const e=n.get(XB,null);e&&e.forEach(t=>t())}(Nt.create({providers:a,name:i}))}return function(n){const e=rD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function rD(){return Yl&&!Yl.destroyed?Yl:null}let o3=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new EQ:("zone.js"===n?void 0:n)||new dt({enableLongStackTrace:Mo(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:dt,useValue:a}];return a.run(()=>{const c=Nt.create({providers:l,parent:this.injector,name:t.moduleType.name}),d=t.create(c),f=d.injector.get($o,null);if(!f)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{f.handleError(g)}});d.onDestroy(()=>{sD(this._modules,d),p.unsubscribe()})}),function(n,e,t){try{const i=t();return Og(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(f,a,()=>{const p=d.injector.get(Gg);return p.runInitializers(),p.donePromise.then(()=>(mA(d.injector.get(Uu,Dw)||Dw),this._moduleDoBootstrap(d),d))})})}bootstrapModule(t,i=[]){const r=a3({},i);return function(n,e,t){const i=new BA(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(Jd);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${W(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function a3(n,e){return Array.isArray(e)?e.reduce(a3,n):Object.assign(Object.assign({},n),e)}let Jd=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new ce(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new ce(c=>{let d;this._zone.runOutsideAngular(()=>{d=this._zone.onStable.subscribe(()=>{dt.assertNotInAngularZone(),QA(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const f=this._zone.onUnstable.subscribe(()=>{dt.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{d.unsubscribe(),f.unsubscribe()}});this.isStable=Ni(a,l.pipe(Vs()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof LL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(jc),a=r.create(Nt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(tD,null),d=c&&a.injector.get(t3);return c&&d&&d.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),sD(this.components,a),d&&d.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;sD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(bv,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(Nt),I($o),I(ll),I(Gg))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function sD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const ZQ=s3(null,"core",[{provide:dl,useValue:"unknown"},{provide:o3,deps:[Nt]},{provide:t3,deps:[]},{provide:$w,deps:[]}]),nJ=[{provide:Jd,useClass:Jd,deps:[dt,Nt,$o,ll,Gg]},{provide:cZ,deps:[dt],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Gg,useClass:Gg,deps:[[new br,Mf]]},{provide:xf,useClass:xf,deps:[]},uQ,{provide:Ng,useFactory:function(){return iK},deps:[]},{provide:Lg,useFactory:function(){return rK},deps:[]},{provide:Uu,useFactory:function(n){return mA(n=n||"undefined"!=typeof $localize&&$localize.locale||Dw),n},deps:[[new Ld(Uu),new br,new Za]]},{provide:KB,useValue:"USD"}];let rJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(I(Jd))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:nJ}),n})(),tE=null;function Uc(){return tE}const ut=new ve("DocumentToken");let Df=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:iee,token:n,providedIn:"platform"}),n})();function iee(){return I(F3)}let F3=(()=>{class n extends Df{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Uc().getBaseHref(this._doc)}onPopState(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){N3()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){N3()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:see,token:n,providedIn:"platform"}),n})();function N3(){return!!window.history.pushState}function see(){return new F3(I(ut))}function bD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function L3(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function $u(n){return n&&"?"!==n[0]?"?"+n:n}let Yg=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:oee,token:n,providedIn:"root"}),n})();function oee(n){const e=I(ut).location;return new B3(I(Df),e&&e.origin||"")}const CD=new ve("appBaseHref");let B3=(()=>{class n extends Yg{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return bD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+$u(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(I(Df),I(CD,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Xg=(()=>{class n{constructor(t,i){this._subject=new Le,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=L3(V3(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+$u(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,V3(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(I(Yg),I(Df))},n.normalizeQueryParams=$u,n.joinWithSlash=bD,n.stripTrailingSlash=L3,n.\u0275prov=ue({factory:lee,token:n,providedIn:"root"}),n})();function lee(){return new Xg(I(Yg),I(Df))}function V3(n){return n.replace(/\/index.html$/,"")}var Br=(()=>((Br=Br||{})[Br.Zero=0]="Zero",Br[Br.One=1]="One",Br[Br.Two=2]="Two",Br[Br.Few=3]="Few",Br[Br.Many=4]="Many",Br[Br.Other=5]="Other",Br))();const mee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=dL(e);if(t)return t;const i=e.split("-")[0];if(t=dL(i),t)return t;if("en"===i)return FY;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[at.PluralCase]};class dE{}let Gee=(()=>{class n extends dE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(mee(i||this.locale)(t)){case Br.Zero:return"zero";case Br.One:return"one";case Br.Two:return"two";case Br.Few:return"few";case Br.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(I(Uu))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function Y3(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let hE=(()=>{class n{constructor(t,i,r,s){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=s,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Ky(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${W(i.item)}`);this._toggleClass(i.item,!0)}),t.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!0)):Object.keys(t).forEach(i=>this._toggleClass(i,!!t[i])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!1)):Object.keys(t).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(t,i){(t=t.trim())&&t.split(/\s+/g).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(t){return new(t||n)(E(Ng),E(Lg),E(rt),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),n})();class qee{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let pl=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new qee(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new X3(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new X3(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Ng))},n.\u0275dir=oe({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class X3{constructor(e,t){this.record=e,this.view=t}}let zr=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Xee,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){K3("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){K3("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys))},n.\u0275dir=oe({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Xee{constructor(){this.$implicit=null,this.ngIf=null}}function K3(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${W(e)}'.`)}class OD{constructor(e,t){this._viewContainerRef=e,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(e){e&&!this._created?this.create():!e&&this._created&&this.destroy()}}let Av=(()=>{class n{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const i=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let i=0;i{class n{constructor(t,i,r){this.ngSwitch=r,r._addCase(),this._view=new OD(t,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),n})(),Z3=(()=>{class n{constructor(t,i,r){r._addDefault(new OD(t,i))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchDefault",""]]}),n})(),J3=(()=>{class n{constructor(t,i,r){this._ngEl=t,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[r,s]=t.split(".");null!=(i=null!=i&&s?`${i}${s}`:i)?this._renderer.setStyle(this._ngEl.nativeElement,r,i):this._renderer.removeStyle(this._ngEl.nativeElement,r)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Lg),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),n})();function Ql(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${W(n)}'`)}class Qee{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Jee{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const ete=new Jee,tte=new Qee;let Hc=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(Og(t))return ete;if(EN(t))return tte;throw Ql(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(kn,16))},n.\u0275pipe=ds({name:"async",type:n,pure:!1}),n})();const ate=/#/g;let eV=(()=>{class n{constructor(t){this._localization=t}transform(t,i,r){if(null==t)return"";if("object"!=typeof i||null===i)throw Ql(n,i);return i[function(n,e,t,i){let r=`=${n}`;if(e.indexOf(r)>-1||(r=t.getPluralCategory(n,i),e.indexOf(r)>-1))return r;if(e.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${n}"`)}(t,Object.keys(i),this._localization,r)].replace(ate,t.toString())}}return n.\u0275fac=function(t){return new(t||n)(E(dE,16))},n.\u0275pipe=ds({name:"i18nPlural",type:n,pure:!0}),n})(),tV=(()=>{class n{transform(t){return JSON.stringify(t,null,2)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=ds({name:"json",type:n,pure:!1}),n})(),dn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:dE,useClass:Gee}]}),n})();const rV="browser";function Of(n){return n===rV}function kD(n){return"server"===n}class aV{}class FD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){tE||(tE=n)}(new FD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Dv=Dv||document.querySelector("base"),Dv?Dv.getAttribute("href"):null);return null==t?null:function(n){fE=fE||document.createElement("a"),fE.setAttribute("href",n);const e=fE.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Dv=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return Y3(document.cookie,e)}}let fE,Dv=null;const lV=new ve("TRANSITION_ID"),Ete=[{provide:Mf,useFactory:function(n,e,t){return()=>{t.get(Gg).donePromise.then(()=>{const i=Uc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},cn.getAllAngularTestabilities=()=>e.getAllTestabilities(),cn.getAllAngularRootElements=()=>e.getAllRootElements(),cn.frameworkStabilizers||(cn.frameworkStabilizers=[]),cn.frameworkStabilizers.push(i=>{const r=cn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Uc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Ste=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Ov=new ve("EventManagerPlugins");let gE=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Iv=(()=>{class n extends uV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(dV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(dV))}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function dV(n){Uc().remove(n)}const BD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},VD=/%COMP%/g;function mE(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let _E=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new zD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Ue.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new Vte(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Ue.ShadowDom:return new zte(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=mE(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(I(gE),I(Iv),I(vv))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class zD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(BD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=BD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=BD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Co.DashCase|Co.Important)?e.style.setProperty(t,i,r&Co.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Co.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,pV(i)):this.eventManager.addEventListener(e,t,pV(i))}}class Vte extends zD{constructor(e,t,i,r){super(e),this.component=i;const s=mE(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(VD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(VD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class zte extends zD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=mE(r.id,r.styles,[]);for(let o=0;o{class n extends LD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const _V=["alt","control","meta","shift"],Yte={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},yV={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Xte={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Kte=(()=>{class n extends LD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Uc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(_V.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&yV.hasOwnProperty(e)&&(e=yV[e]))}return Yte[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),_V.forEach(s=>{s!=r&&Xte[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),th=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return I(UD)},token:n,providedIn:"root"}),n})(),UD=(()=>{class n extends th{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case mn.NONE:return i;case mn.HTML:return jo(i,"HTML")?gs(i):ey(this._doc,String(i)).toString();case mn.STYLE:return jo(i,"Style")?gs(i):i;case mn.SCRIPT:if(jo(i,"Script"))return gs(i);throw new Error("unsafe value used in a script context");case mn.URL:return Pc(i),jo(i,"URL")?gs(i):bo(String(i));case mn.RESOURCE_URL:if(jo(i,"ResourceURL"))return gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new W_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new q_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new zd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Ut(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return function(n){return new UD(n.get(ut))}(I(Fc))},token:n,providedIn:"root"}),n})();const rne=s3(ZQ,"browser",[{provide:dl,useValue:rV},{provide:XB,useValue:function(){FD.makeCurrent(),ND.init()},multi:!0},{provide:ut,useFactory:function(){return function(n){fi=n}(document),document},deps:[]}]),sne=[[],{provide:Vu,useValue:"root"},{provide:$o,useFactory:function(){return new $o},deps:[]},{provide:Ov,useClass:jte,multi:!0,deps:[ut,dt,dl]},{provide:Ov,useClass:Kte,multi:!0,deps:[ut]},[],{provide:_E,useClass:_E,deps:[gE,Iv,vv]},{provide:Cf,useExisting:_E},{provide:uV,useExisting:Iv},{provide:Iv,useClass:Iv,deps:[ut]},{provide:tD,useClass:tD,deps:[dt]},{provide:gE,useClass:gE,deps:[Ov,dt]},{provide:aV,useClass:Ste,deps:[]},[]];let yE=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:vv,useValue:t.appId},{provide:lV,useExisting:vv},Ete]}}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:sne,imports:[dn,rJ]}),n})();"undefined"!=typeof window&&window;class fne extends Te{constructor(e,t){super()}schedule(e,t=0){return this}}class vE extends fne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class Jl extends bV{constructor(e,t=bV.now){super(e,()=>Jl.delegate&&Jl.delegate!==this?Jl.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return Jl.delegate&&Jl.delegate!==this?Jl.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const mne=new class extends Jl{}(class extends vE{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),ec=new ce(n=>n.complete());function bE(n){return n?function(n){return new ce(e=>n.schedule(()=>e.complete()))}(n):ec}function ht(...n){let e=n[n.length-1];return Gn(e)?(n.pop(),Fi(n,e)):za(n)}function Kg(n,e){return new ce(e?t=>e.schedule(yne,0,{error:n,subscriber:t}):t=>t.error(n))}function yne({error:n,subscriber:e}){e.error(n)}class Ko{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return ht(this.value);case"E":return Kg(this.error);case"C":return bE()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new Ko("N",e):Ko.undefinedValueNotification}static createError(e){return new Ko("E",void 0,e)}static createComplete(){return Ko.completeNotification}}Ko.completeNotification=new Ko("C"),Ko.undefinedValueNotification=new Ko("N",void 0);class CE extends xt{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(CE.dispatch,this.delay,new bne(e,this.destination)))}_next(e){this.scheduleMessage(Ko.createNext(e))}_error(e){this.scheduleMessage(Ko.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(Ko.createComplete()),this.unsubscribe()}}class bne{constructor(e,t){this.notification=e,this.destination=t}}class If extends Se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Cne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new Qt;if(this.isStopped||this.hasError?o=Te.EMPTY:(this.observers.push(e),o=new li(this,e)),r&&e.add(e=new CE(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Cne{constructor(e,t){this.time=e,this.value=t}}function Pr(n,e){return"function"==typeof e?t=>t.pipe(Pr((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new wne(n))}class wne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Ene(e,this.project))}}class Ene extends ii{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new Gr(this),r=this.destination;r.add(i),this.innerSubscription=co(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const wE={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return wE.schedule(n,0);if(void 0===window.requestAnimationFrame)return wE.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let $D;function Rne(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!$D){const t=Element.prototype;$D=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&$D.call(n,e)}(n,r)||(i=s,0))),i}class Fne{constructor(e,t){this.componentFactory=t.get(ll).resolveComponentFactory(e)}create(e){return new Nne(this.componentFactory,e)}}class Nne{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new If(1),this.events=this.eventEmitters.pipe(Pr(i=>Ni(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(dt),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=wE.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Nt.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(Ae(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=wE.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new y_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class Lne extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}function Mt(n){return null!=n&&"false"!=`${n}`}function To(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function EE(n){return Array.isArray(n)?n:[n]}function jr(n){return null==n?"":"string"==typeof n?n:`${n}px`}function Wu(n){return n instanceof rt?n.nativeElement:n}const Pf=new Jl(vE);function Zg(n,e=Pf){return t=>t.lift(new jne(n,e))}class jne{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new Une(e,this.dueTime,this.scheduler))}}class Une extends xt{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Hne,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function Hne(n){n.debouncedNext()}let GD=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),CV=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=Wu(t);return new ce(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new Se,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(I(GD))},n.\u0275prov=ue({factory:function(){return new n(I(GD))},token:n,providedIn:"root"}),n})(),WD=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new Le,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=To(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(Zg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(CV),E(rt),E(dt))},n.\u0275dir=oe({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),SE=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GD]}),n})();class ar extends Se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Qt;return this._value}next(e){super.next(this._value=e)}}function Zs(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}function ih(){}function Ti(n,e,t){return function(r){return r.lift(new tie(n,e,t))}}class tie{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new nie(e,this.nextOrObserver,this.error,this.complete))}}class nie extends xt{constructor(e,t,i,r){super(e),this._tapNext=ih,this._tapError=ih,this._tapComplete=ih,this._tapError=i||ih,this._tapComplete=r||ih,Ke(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||ih,this._tapError=t.error||ih,this._tapComplete=t.complete||ih)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function Fn(n,e){return function(i){return i.lift(new iie(n,e))}}class iie{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rie(e,this.predicate,this.thisArg))}}class rie extends xt{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}const SV=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function yi(n){return e=>0===n?bE():e.lift(new sie(n))}class sie{constructor(e){if(this.total=e,this.total<0)throw new SV}call(e,t){return t.subscribe(new oie(e,this.total))}}class oie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function QD(n){return e=>e.lift(new aie(n))}class aie{constructor(e){this.total=e}call(e,t){return t.subscribe(new lie(e,this.total))}}class lie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function Zo(n,e){return t=>t.lift(new cie(n,e))}class cie{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new uie(e,this.compare,this.keySelector))}}class uie extends xt{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}function Tn(n){return e=>e.lift(new die(n))}class die{constructor(e){this.notifier=e}call(e,t){const i=new hie(e),r=co(this.notifier,new Gr(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class hie extends ii{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}let JD;try{JD="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){JD=!1}let em,si=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Of(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!JD)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(I(dl))},n.\u0275prov=ue({factory:function(){return new n(I(dl))},token:n,providedIn:"root"}),n})(),Rv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const MV=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function xV(){if(em)return em;if("object"!=typeof document||!document)return em=new Set(MV),em;let n=document.createElement("input");return em=new Set(MV.filter(e=>(n.setAttribute("type",e),n.type===e))),em}let kv,Ff,eO;function tm(n){return function(){if(null==kv&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>kv=!0}))}finally{kv=kv||!1}return kv}()?n:!!n.capture}function TV(){if(null==Ff){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ff=!1,Ff;if("scrollBehavior"in document.documentElement.style)Ff=!0;else{const n=Element.prototype.scrollTo;Ff=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Ff}function xE(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Nf(n){return n.composedPath?n.composedPath()[0]:n.target}function TE(n,e){return(n.getAttribute(e)||"").match(/\S+/g)||[]}const DV="cdk-describedby-message-container",OV="cdk-describedby-message",AE="cdk-describedby-host";let yie=0;const $c=new Map;let Rs=null,IV=(()=>{class n{constructor(t){this._document=t}describe(t,i,r){if(!this._canBeDescribed(t,i))return;const s=tO(i,r);"string"!=typeof i?(PV(i),$c.set(s,{messageElement:i,referenceCount:0})):$c.has(s)||this._createMessageElement(i,r),this._isElementDescribedByMessage(t,s)||this._addMessageReference(t,s)}removeDescription(t,i,r){if(!i||!this._isElementNode(t))return;const s=tO(i,r);if(this._isElementDescribedByMessage(t,s)&&this._removeMessageReference(t,s),"string"==typeof i){const o=$c.get(s);o&&0===o.referenceCount&&this._deleteMessageElement(s)}Rs&&0===Rs.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${AE}]`);for(let i=0;i0!=r.indexOf(OV));t.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(t,i){const r=$c.get(i);(function(n,e,t){const i=TE(n,e);i.some(r=>r.trim()==t.trim())||(i.push(t.trim()),n.setAttribute(e,i.join(" ")))})(t,"aria-describedby",r.messageElement.id),t.setAttribute(AE,""),r.referenceCount++}_removeMessageReference(t,i){const r=$c.get(i);r.referenceCount--,function(n,e,t){const r=TE(n,e).filter(s=>s!=t.trim());r.length?n.setAttribute(e,r.join(" ")):n.removeAttribute(e)}(t,"aria-describedby",r.messageElement.id),t.removeAttribute(AE)}_isElementDescribedByMessage(t,i){const r=TE(t,"aria-describedby"),s=$c.get(i),o=s&&s.messageElement.id;return!!o&&-1!=r.indexOf(o)}_canBeDescribed(t,i){if(!this._isElementNode(t))return!1;if(i&&"object"==typeof i)return!0;const r=null==i?"":`${i}`.trim(),s=t.getAttribute("aria-label");return!(!r||s&&s.trim()===r)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})();function tO(n,e){return"string"==typeof n?`${e||""}/${n}`:n}function PV(n){n.id||(n.id=`${OV}-${yie++}`)}class RV{constructor(e){this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Se,this._typeaheadSubscription=Te.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new Se,this.change=new Se,e instanceof Sf&&e.changes.subscribe(t=>{if(this._activeItem){const r=t.toArray().indexOf(this._activeItem);r>-1&&r!==this._activeItemIndex&&(this._activeItemIndex=r)}})}skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Ti(t=>this._pressedLetters.push(t)),Zg(e),Fn(()=>this._pressedLetters.length>0),Ae(()=>this._pressedLetters.join(""))).subscribe(t=>{const i=this._getItemsArray();for(let r=1;r!e[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(t){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}return;default:return void((r||Zs(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(t>=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t))))}this._pressedLetters=[],e.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(e){const t=this._getItemsArray(),i="number"==typeof e?e:t.indexOf(e),r=t[i];this._activeItem=null==r?null:r,this._activeItemIndex=i}_setActiveItemByDelta(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}_setActiveInWrapMode(e){const t=this._getItemsArray();for(let i=1;i<=t.length;i++){const r=(this._activeItemIndex+e*i+t.length)%t.length;if(!this._skipPredicateFn(t[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}_setActiveItemByIndex(e,t){const i=this._getItemsArray();if(i[e]){for(;this._skipPredicateFn(i[e]);)if(!i[e+=t])return;this.setActiveItem(e)}}_getItemsArray(){return this._items instanceof Sf?this._items.toArray():this._items}}class kV extends RV{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}}class nO extends RV{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}}let FV=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===LV(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=LV(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||NV(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function NV(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function LV(n){if(!NV(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Die{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(yi(1)).subscribe(e)}}let BV=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new Die(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(I(FV),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(FV),I(dt),I(ut))},token:n,providedIn:"root"}),n})();function VV(n){return 0===n.offsetX&&0===n.offsetY}function zV(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const jV=new ve("cdk-input-modality-detector-options"),kie={ignoreKeys:[18,17,224,91,16]},nm=tm({passive:!0,capture:!0});let HV=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new ar(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Nf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(VV(o)?"keyboard":"mouse"),this._mostRecentTarget=Nf(o))},this._onTouchstart=o=>{zV(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Nf(o))},this._options=Object.assign(Object.assign({},kie),s),this.modalityDetected=this._modality.pipe(QD(1)),this.modalityChanged=this.modalityDetected.pipe(Zo()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,nm),r.addEventListener("mousedown",this._onMousedown,nm),r.addEventListener("touchstart",this._onTouchstart,nm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,nm),document.removeEventListener("mousedown",this._onMousedown,nm),document.removeEventListener("touchstart",this._onTouchstart,nm))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut),I(jV,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut),I(jV,8))},token:n,providedIn:"root"}),n})();const $V=new ve("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),GV=new ve("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let DE=(()=>{class n{constructor(t,i,r,s){this._ngZone=i,this._defaultOptions=s,this._document=r,this._liveElement=t||this._createLiveElement()}announce(t,...i){const r=this._defaultOptions;let s,o;return 1===i.length&&"number"==typeof i[0]?o=i[0]:[s,o]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=r&&r.politeness?r.politeness:"polite"),null==o&&r&&(o=r.duration),this._liveElement.setAttribute("aria-live",s),this._ngZone.runOutsideAngular(()=>new Promise(a=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,a(),"number"==typeof o&&(this._previousTimeout=setTimeout(()=>this.clear(),o))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",i=this._document.getElementsByClassName(t),r=this._document.createElement("div");for(let s=0;s{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new Se,this._rootNodeFocusAndBlurListener=a=>{const l=Nf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let d=l;d;d=d.parentElement)c.call(this,a,d)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=Wu(t);if(!this._platform.isBrowser||1!==r.nodeType)return ht(null);const s=function(n){if(function(){if(null==eO){const n="undefined"!=typeof document?document.head:null;eO=!(!n||!n.createShadowRoot&&!n.attachShadow)}return eO}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new Se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=Wu(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=Wu(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Nf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,OE)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Tn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,OE),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},token:n,providedIn:"root"}),n})();const qV="cdk-high-contrast-black-on-white",YV="cdk-high-contrast-white-on-black",iO="cdk-high-contrast-active";let XV=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(iO),t.remove(qV),t.remove(YV),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(iO),t.add(qV)):2===i&&(t.add(iO),t.add(YV))}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(ut))},token:n,providedIn:"root"}),n})(),Nie=(()=>{class n{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return n.\u0275fac=function(t){return new(t||n)(I(XV))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv,SE]]}),n})();const KV=new ve("cdk-dir-doc",{providedIn:"root",factory:function(){return Oc(ut)}});let Qo=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new Le,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(I(KV,8))},n.\u0275prov=ue({factory:function(){return new n(I(KV,8))},token:n,providedIn:"root"}),n})(),Nv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const ZV=new ju("12.2.5");function IE(...n){return uo(1)(ht(...n))}function Rr(...n){const e=n[n.length-1];return Gn(e)?(n.pop(),t=>IE(n,t,e)):t=>IE(n,t)}class QV{}const qu="*";function tc(n,e){return{type:7,name:n,definitions:e,options:{}}}function Ao(n,e=null){return{type:4,styles:e,timings:n}}function JV(n,e=null){return{type:2,steps:n,options:e}}function ti(n){return{type:6,styles:n,offset:null}}function wr(n,e,t){return{type:0,name:n,styles:e,options:t}}function zie(n){return{type:5,steps:n}}function Qs(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function jie(n=null){return{type:9,options:n}}function Uie(n,e,t=null){return{type:11,selector:n,animation:e,options:t}}function ez(n){Promise.resolve(null).then(n)}class im{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ez(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class tz{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,i=0,r=0;const s=this.players.length;0==s?ez(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==s&&this._onFinish()}),o.onDestroy(()=>{++i==s&&this._onDestroy()}),o.onStart(()=>{++r==s&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){const t=e*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,t/i.totalTime):1;i.setPosition(r)})}getPosition(){const e=this.players.reduce((t,i)=>null===t||i.totalTime>t.totalTime?i:t,null);return null!=e?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function nz(){return"undefined"!=typeof window&&void 0!==window.document}function sO(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function rh(n){switch(n.length){case 0:return new im;case 1:return n[0];default:return new tz(n)}}function iz(n,e,t,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(d=>{const f=d.offset,p=f==l,g=p&&c||{};Object.keys(d).forEach(_=>{let y=_,v=d[_];if("offset"!==_)switch(y=e.normalizePropertyName(y,o),v){case"!":v=r[_];break;case qu:v=s[_];break;default:v=e.normalizeStyleValue(_,y,v,o)}g[y]=v}),p||a.push(g),c=g,l=f}),o.length){const d="\n - ";throw new Error(`Unable to animate due to the following errors:${d}${o.join(d)}`)}return a}function oO(n,e,t,i){switch(e){case"start":n.onStart(()=>i(t&&aO(t,"start",n)));break;case"done":n.onDone(()=>i(t&&aO(t,"done",n)));break;case"destroy":n.onDestroy(()=>i(t&&aO(t,"destroy",n)))}}function aO(n,e,t){const i=t.totalTime,s=lO(n.element,n.triggerName,n.fromState,n.toState,e||n.phaseName,null==i?n.totalTime:i,!!t.disabled),o=n._data;return null!=o&&(s._data=o),s}function lO(n,e,t,i,r="",s=0,o){return{element:n,triggerName:e,fromState:t,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function Ma(n,e,t){let i;return n instanceof Map?(i=n.get(e),i||n.set(e,i=t)):(i=n[e],i||(i=n[e]=t)),i}function rz(n){const e=n.indexOf(":");return[n.substring(1,e),n.substr(e+1)]}let cO=(n,e)=>!1,uO=(n,e)=>!1,sz=(n,e,t)=>[];const oz=sO();(oz||"undefined"!=typeof Element)&&(cO=nz()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),uO=(()=>{if(oz||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):uO}})(),sz=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{const i=t.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=n[t]}),e}let cz=(()=>{class n{validateStyleProperty(t){return dO(t)}matchesElement(t,i){return hO(t,i)}containsElement(t,i){return fO(t,i)}query(t,i,r){return pO(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new im(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class PE{}PE.NOOP=new cz;const gO="ng-enter",RE="ng-leave",kE="ng-trigger",FE=".ng-trigger",dz="ng-animating",mO=".ng-animating";function Bf(n){if("number"==typeof n)return n;const e=n.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:_O(parseFloat(e[1]),e[2])}function _O(n,e){switch(e){case"s":return 1e3*n;default:return n}}function NE(n,e,t){return n.hasOwnProperty("duration")?n:function(n,e,t){let r,s=0,o="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push(`The provided timing value "${n}" is invalid.`),{duration:0,delay:0,easing:""};r=_O(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(s=_O(parseFloat(l),a[4]));const c=a[5];c&&(o=c)}else r=n;if(!t){let a=!1,l=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),a=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),a=!0),a&&e.splice(l,0,`The provided timing value "${n}" is invalid.`)}return{duration:r,delay:s,easing:o}}(n,e,t)}function rm(n,e={}){return Object.keys(n).forEach(t=>{e[t]=n[t]}),e}function sh(n,e,t={}){if(e)for(let i in n)t[i]=n[i];else rm(n,t);return t}function fz(n,e,t){return t?e+":"+t+";":""}function pz(n){let e="";for(let t=0;t{const r=vO(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),sO()&&pz(n))}function Vf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=vO(t);n.style[i]=""}),sO()&&pz(n))}function Lv(n){return Array.isArray(n)?1==n.length?n[0]:JV(n):n}const yO=new RegExp("{{\\s*(.+?)\\s*}}","g");function gz(n){let e=[];if("string"==typeof n){let t;for(;t=yO.exec(n);)e.push(t[1]);yO.lastIndex=0}return e}function LE(n,e,t){const i=n.toString(),r=i.replace(yO,(s,o)=>{let a=e[o];return e.hasOwnProperty(o)||(t.push(`Please provide a value for the animation param ${o}`),a=""),a.toString()});return r==i?n:r}function BE(n){const e=[];let t=n.next();for(;!t.done;)e.push(t.value),t=n.next();return e}const Xie=/-+([a-z0-9])/g;function vO(n){return n.replace(Xie,(...e)=>e[1].toUpperCase())}function Kie(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function mz(n,e){return 0===n||0===e}function _z(n,e,t){const i=Object.keys(t);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(a=>{s.hasOwnProperty(a)||o.push(a),s[a]=t[a]}),o.length)for(var r=1;rfunction(n,e,t){if(":"==n[0]){const l=function(n,e){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i) *"}}(n,t);if("function"==typeof l)return void e.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push(`The provided transition expression "${n}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(yz(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(yz(o,r))}(i,t,e)):t.push(n),t}const zE=new Set(["true","1"]),jE=new Set(["false","0"]);function yz(n,e){const t=zE.has(n)||jE.has(n),i=zE.has(e)||jE.has(e);return(r,s)=>{let o="*"==n||n==r,a="*"==e||e==s;return!o&&t&&"boolean"==typeof r&&(o=r?zE.has(n):jE.has(n)),!a&&i&&"boolean"==typeof s&&(a=s?zE.has(e):jE.has(e)),o&&a}}const ere=new RegExp("s*:selfs*,?","g");function CO(n,e,t){return new tre(n).build(e,t)}class tre{constructor(e){this._driver=e}build(e,t){const i=new rre(t);return this._resetContextStyleTimingState(i),xa(this,Lv(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}visitTrigger(e,t){let i=t.queryCount=0,r=t.depCount=0;const s=[],o=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),0==a.type){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(d=>{l.name=d,s.push(this.visitState(l,t))}),l.name=c}else if(1==a.type){const l=this.visitTransition(a,t);i+=l.queryCount,r+=l.depCount,o.push(l)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:s,transitions:o,queryCount:i,depCount:r,options:null}}visitState(e,t){const i=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(i.containsDynamicStyles){const s=new Set,o=r||{};if(i.styles.forEach(a=>{if(UE(a)){const l=a;Object.keys(l).forEach(c=>{gz(l[c]).forEach(d=>{o.hasOwnProperty(d)||s.add(d)})})}}),s.size){const a=BE(s.values());t.errors.push(`state("${e.name}", ...) must define default values for all the following style substitutions: ${a.join(", ")}`)}}return{type:0,name:e.name,style:i,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;const i=xa(this,Lv(e.animation),t);return{type:1,matchers:Zie(e.expr,t.errors),animation:i,queryCount:t.queryCount,depCount:t.depCount,options:zf(e.options)}}visitSequence(e,t){return{type:2,steps:e.steps.map(i=>xa(this,i,t)),options:zf(e.options)}}visitGroup(e,t){const i=t.currentTime;let r=0;const s=e.steps.map(o=>{t.currentTime=i;const a=xa(this,o,t);return r=Math.max(r,t.currentTime),a});return t.currentTime=r,{type:3,steps:s,options:zf(e.options)}}visitAnimate(e,t){const i=function(n,e){let t=null;if(n.hasOwnProperty("duration"))t=n;else if("number"==typeof n)return wO(NE(n,e).duration,0,"");const i=n;if(i.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=wO(0,0,"");return s.dynamic=!0,s.strValue=i,s}return t=t||NE(i,e),wO(t.duration,t.delay,t.easing)}(e.timings,t.errors);t.currentAnimateTimings=i;let r,s=e.styles?e.styles:ti({});if(5==s.type)r=this.visitKeyframes(s,t);else{let o=e.styles,a=!1;if(!o){a=!0;const c={};i.easing&&(c.easing=i.easing),o=ti(c)}t.currentTime+=i.duration+i.delay;const l=this.visitStyle(o,t);l.isEmptyStep=a,r=l}return t.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(e,t){const i=this._makeStyleAst(e,t);return this._validateStyleAst(i,t),i}_makeStyleAst(e,t){const i=[];Array.isArray(e.styles)?e.styles.forEach(o=>{"string"==typeof o?o==qu?i.push(o):t.errors.push(`The provided style string value ${o} is not allowed.`):i.push(o)}):i.push(e.styles);let r=!1,s=null;return i.forEach(o=>{if(UE(o)){const a=o,l=a.easing;if(l&&(s=l,delete a.easing),!r)for(let c in a)if(a[c].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:i,easing:s,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){const i=t.currentAnimateTimings;let r=t.currentTime,s=t.currentTime;i&&s>0&&(s-=i.duration+i.delay),e.styles.forEach(o=>{"string"!=typeof o&&Object.keys(o).forEach(a=>{if(!this._driver.validateStyleProperty(a))return void t.errors.push(`The provided animation property "${a}" is not a supported CSS property for animations`);const l=t.collectedStyles[t.currentQuerySelector],c=l[a];let d=!0;c&&(s!=r&&s>=c.startTime&&r<=c.endTime&&(t.errors.push(`The CSS property "${a}" that exists between the times of "${c.startTime}ms" and "${c.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${r}ms"`),d=!1),s=c.startTime),d&&(l[a]={startTime:s,endTime:r}),t.options&&function(n,e,t){const i=e.params||{},r=gz(n);r.length&&r.forEach(s=>{i.hasOwnProperty(s)||t.push(`Unable to resolve the local animation param ${s} in the given list of values`)})}(o[a],t.options,t.errors)})})}visitKeyframes(e,t){const i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;let s=0;const o=[];let a=!1,l=!1,c=0;const d=e.steps.map(C=>{const w=this._makeStyleAst(C,t);let x=null!=w.offset?w.offset:function(n){if("string"==typeof n)return null;let e=null;if(Array.isArray(n))n.forEach(t=>{if(UE(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}});else if(UE(n)&&n.hasOwnProperty("offset")){const t=n;e=parseFloat(t.offset),delete t.offset}return e}(w.styles),N=0;return null!=x&&(s++,N=w.offset=x),l=l||N<0||N>1,a=a||N0&&s{const x=p>0?w==g?1:p*w:o[w],N=x*v;t.currentTime=_+y.delay+N,y.duration=N,this._validateStyleAst(C,t),C.offset=x,i.styles.push(C)}),i}visitReference(e,t){return{type:8,animation:xa(this,Lv(e.animation),t),options:zf(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:9,options:zf(e.options)}}visitAnimateRef(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:zf(e.options)}}visitQuery(e,t){const i=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;const[s,o]=function(n){const e=!!n.split(/\s*,\s*/).find(t=>":self"==t);return e&&(n=n.replace(ere,"")),[n=n.replace(/@\*/g,FE).replace(/@\w+/g,t=>FE+"-"+t.substr(1)).replace(/:animating/g,mO),e]}(e.selector);t.currentQuerySelector=i.length?i+" "+s:s,Ma(t.collectedStyles,t.currentQuerySelector,{});const a=xa(this,Lv(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:11,selector:s,limit:r.limit||0,optional:!!r.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:zf(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");const i="full"===e.timings?{duration:0,delay:0,easing:"full"}:NE(e.timings,t.errors,!0);return{type:12,animation:xa(this,Lv(e.animation),t),timings:i,options:null}}}class rre{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function UE(n){return!Array.isArray(n)&&"object"==typeof n}function zf(n){return n?(n=rm(n)).params&&(n.params=function(n){return n?rm(n):null}(n.params)):n={},n}function wO(n,e,t){return{duration:n,delay:e,easing:t}}function EO(n,e,t,i,r,s,o=null,a=!1){return{type:1,element:n,keyframes:e,preStyleProps:t,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class HE{constructor(){this._map=new Map}consume(e){let t=this._map.get(e);return t?this._map.delete(e):t=[],t}append(e,t){let i=this._map.get(e);i||this._map.set(e,i=[]),i.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}}const cre=new RegExp(":enter","g"),dre=new RegExp(":leave","g");function SO(n,e,t,i,r,s={},o={},a,l,c=[]){return(new hre).buildKeyframes(n,e,t,i,r,s,o,a,l,c)}class hre{buildKeyframes(e,t,i,r,s,o,a,l,c,d=[]){c=c||new HE;const f=new MO(e,t,c,r,s,d,[]);f.options=l,f.currentTimeline.setStyles([o],null,f.errors,l),xa(this,i,f);const p=f.timelines.filter(g=>g.containsAnimation());if(p.length&&Object.keys(a).length){const g=p[p.length-1];g.allowOnlyTimelineStyles()||g.setStyles([a],null,f.errors,l)}return p.length?p.map(g=>g.buildKeyframes()):[EO(t,[],[],[],0,0,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){const i=t.subInstructions.consume(t.element);if(i){const r=t.createSubContext(e.options),s=t.currentTimeline.currentTime,o=this._visitSubInstructions(i,r,r.options);s!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){const i=t.createSubContext(e.options);i.transformIntoNewTimeline(),this.visitReference(e.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=e}_visitSubInstructions(e,t,i){let s=t.currentTimeline.currentTime;const o=null!=i.duration?Bf(i.duration):null,a=null!=i.delay?Bf(i.delay):null;return 0!==o&&e.forEach(l=>{const c=t.appendInstructionToTimeline(l,o,a);s=Math.max(s,c.duration+c.delay)}),s}visitReference(e,t){t.updateOptions(e.options,!0),xa(this,e.animation,t),t.previousNode=e}visitSequence(e,t){const i=t.subContextCount;let r=t;const s=e.options;if(s&&(s.params||s.delay)&&(r=t.createSubContext(s),r.transformIntoNewTimeline(),null!=s.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=$E);const o=Bf(s.delay);r.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>xa(this,o,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){const i=[];let r=t.currentTimeline.currentTime;const s=e.options&&e.options.delay?Bf(e.options.delay):0;e.steps.forEach(o=>{const a=t.createSubContext(e.options);s&&a.delayNextStep(s),xa(this,o,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){const i=e.strValue;return NE(t.params?LE(i,t.params,t.errors):i,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){const i=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),r.snapshotCurrentStyles());const s=e.style;5==s.type?this.visitKeyframes(s,t):(t.incrementTime(i.duration),this.visitStyle(s,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){const i=t.currentTimeline,r=t.currentAnimateTimings;!r&&i.getCurrentStyleProperties().length&&i.forwardFrame();const s=r&&r.easing||e.easing;e.isEmptyStep?i.applyEmptyStep(s):i.setStyles(e.styles,s,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){const i=t.currentAnimateTimings,r=t.currentTimeline.duration,s=i.duration,a=t.createSubContext().currentTimeline;a.easing=i.easing,e.styles.forEach(l=>{a.forwardTime((l.offset||0)*s),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+s),t.previousNode=e}visitQuery(e,t){const i=t.currentTimeline.currentTime,r=e.options||{},s=r.delay?Bf(r.delay):0;s&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=$E);let o=i;const a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,d)=>{t.currentQueryIndex=d;const f=t.createSubContext(e.options,c);s&&f.delayNextStep(s),c===t.element&&(l=f.currentTimeline),xa(this,e.animation,f),f.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,f.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){const i=t.parentContext,r=t.currentTimeline,s=e.timings,o=Math.abs(s.duration),a=o*(t.currentQueryTotal-1);let l=o*t.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const d=t.currentTimeline;l&&d.delayNextStep(l);const f=d.currentTime;xa(this,e.animation,t),t.previousNode=e,i.currentStaggerTime=r.currentTime-f+(r.startTime-i.currentTimeline.startTime)}}const $E={};class MO{constructor(e,t,i,r,s,o,a,l){this._driver=e,this.element=t,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=s,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=$E,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new GE(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;const i=e;let r=this.options;null!=i.duration&&(r.duration=Bf(i.duration)),null!=i.delay&&(r.delay=Bf(i.delay));const s=i.params;if(s){let o=r.params;o||(o=this.options.params={}),Object.keys(s).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=LE(s[a],o,this.errors))})}}_copyOptions(){const e={};if(this.options){const t=this.options.params;if(t){const i=e.params={};Object.keys(t).forEach(r=>{i[r]=t[r]})}}return e}createSubContext(e=null,t,i){const r=t||this.element,s=new MO(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(e),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(e){return this.previousNode=$E,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,i){const r={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+e.delay,easing:""},s=new fre(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(s),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,i,r,s,o){let a=[];if(r&&a.push(this.element),e.length>0){e=(e=e.replace(cre,"."+this._enterClassName)).replace(dre,"."+this._leaveClassName);let c=this._driver.query(this.element,e,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!s&&0==a.length&&o.push(`\`query("${t}")\` returned zero elements. (Use \`query("${t}", { optional: true })\` if you wish to allow this.)`),a}}class GE{constructor(e,t,i,r){this._driver=e,this.element=t,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(e){const t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new GE(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||qu,this._currentKeyframe[t]=qu}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,i,r){t&&(this._previousKeyframe.easing=t);const s=r&&r.params||{},o=function(n,e){const t={};let i;return n.forEach(r=>{"*"===r?(i=i||Object.keys(e),i.forEach(s=>{t[s]=qu})):sh(r,!1,t)}),t}(e,this._globalTimelineStyles);Object.keys(o).forEach(a=>{const l=LE(o[a],s,i);this._pendingStyles[a]=l,this._localTimelineStyles.hasOwnProperty(a)||(this._backFill[a]=this._globalTimelineStyles.hasOwnProperty(a)?this._globalTimelineStyles[a]:qu),this._updateStyle(a,l)})}applyStylesToKeyframe(){const e=this._pendingStyles,t=Object.keys(e);0!=t.length&&(this._pendingStyles={},t.forEach(i=>{this._currentKeyframe[i]=e[i]}),Object.keys(this._localTimelineStyles).forEach(i=>{this._currentKeyframe.hasOwnProperty(i)||(this._currentKeyframe[i]=this._localTimelineStyles[i])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(e=>{const t=this._localTimelineStyles[e];this._pendingStyles[e]=t,this._updateStyle(e,t)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){Object.keys(e._styleSummary).forEach(t=>{const i=this._styleSummary[t],r=e._styleSummary[t];(!i||r.time>i.time)&&this._updateStyle(t,r.value)})}buildKeyframes(){this.applyStylesToKeyframe();const e=new Set,t=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=sh(a,!0);Object.keys(c).forEach(d=>{const f=c[d];"!"==f?e.add(d):f==qu&&t.add(d)}),i||(c.offset=l/this.duration),r.push(c)});const s=e.size?BE(e.values()):[],o=t.size?BE(t.values()):[];if(i){const a=r[0],l=rm(a);a.offset=0,l.offset=1,r=[a,l]}return EO(this.element,r,s,o,this.duration,this.startTime,this.easing,!1)}}class fre extends GE{constructor(e,t,i,r,s,o,a=!1){super(e,t,o.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=s,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const s=[],o=i+t,a=t/o,l=sh(e[0],!1);l.offset=0,s.push(l);const c=sh(e[0],!1);c.offset=Cz(a),s.push(c);const d=e.length-1;for(let f=1;f<=d;f++){let p=sh(e[f],!1);p.offset=Cz((t+p.offset*i)/o),s.push(p)}i=o,t=0,r="",e=s}return EO(this.element,e,this.preStyleProps,this.postStyleProps,i,t,r,!0)}}function Cz(n,e=3){const t=Math.pow(10,e-1);return Math.round(n*t)/t}class xO{}class gre extends xO{normalizePropertyName(e,t){return vO(e)}normalizeStyleValue(e,t,i,r){let s="";const o=i.toString().trim();if(mre[t]&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(`Please provide a CSS unit value for ${e}:${i}`)}return o+s}}const mre=(()=>function(n){const e={};return n.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function wz(n,e,t,i,r,s,o,a,l,c,d,f,p){return{type:0,element:n,triggerName:e,isRemovalTransition:r,fromState:t,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:d,totalTime:f,errors:p}}const TO={};class Ez{constructor(e,t,i){this._triggerName=e,this.ast=t,this._stateStyles=i}match(e,t,i,r){return function(n,e,t,i,r){return n.some(s=>s(e,t,i,r))}(this.ast.matchers,e,t,i,r)}buildStyles(e,t,i){const r=this._stateStyles["*"],s=this._stateStyles[e],o=r?r.buildStyles(t,i):{};return s?s.buildStyles(t,i):o}build(e,t,i,r,s,o,a,l,c,d){const f=[],p=this.ast.options&&this.ast.options.params||TO,_=this.buildStyles(i,a&&a.params||TO,f),y=l&&l.params||TO,v=this.buildStyles(r,y,f),C=new Set,w=new Map,x=new Map,N="void"===r,V={params:Object.assign(Object.assign({},p),y)},U=d?[]:SO(e,t,this.ast.animation,s,o,_,v,V,c,f);let ee=0;if(U.forEach(ae=>{ee=Math.max(ae.duration+ae.delay,ee)}),f.length)return wz(t,this._triggerName,i,r,N,_,v,[],[],w,x,ee,f);U.forEach(ae=>{const me=ae.element,Ee=Ma(w,me,{});ae.preStyleProps.forEach(te=>Ee[te]=!0);const Be=Ma(x,me,{});ae.postStyleProps.forEach(te=>Be[te]=!0),me!==t&&C.add(me)});const de=BE(C.values());return wz(t,this._triggerName,i,r,N,_,v,U,de,w,x,ee)}}class vre{constructor(e,t,i){this.styles=e,this.defaultParams=t,this.normalizer=i}buildStyles(e,t){const i={},r=rm(this.defaultParams);return Object.keys(e).forEach(s=>{const o=e[s];null!=o&&(r[s]=o)}),this.styles.styles.forEach(s=>{if("string"!=typeof s){const o=s;Object.keys(o).forEach(a=>{let l=o[a];l.length>1&&(l=LE(l,r,t));const c=this.normalizer.normalizePropertyName(a,t);l=this.normalizer.normalizeStyleValue(a,c,l,t),i[c]=l})}}),i}}class Cre{constructor(e,t,i){this.name=e,this.ast=t,this._normalizer=i,this.transitionFactories=[],this.states={},t.states.forEach(r=>{this.states[r.name]=new vre(r.style,r.options&&r.options.params||{},i)}),Sz(this.states,"true","1"),Sz(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new Ez(e,r,this.states))}),this.fallbackTransition=function(n,e,t){return new Ez(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(o,a)=>!0],options:null,queryCount:0,depCount:0},e)}(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,i,r){return this.transitionFactories.find(o=>o.match(e,t,i,r))||null}matchStyles(e,t,i){return this.fallbackTransition.buildStyles(e,t,i)}}function Sz(n,e,t){n.hasOwnProperty(e)?n.hasOwnProperty(t)||(n[t]=n[e]):n.hasOwnProperty(t)&&(n[e]=n[t])}const Ere=new HE;class Sre{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(e,t){const i=[],r=CO(this._driver,t,i);if(i.length)throw new Error(`Unable to build the animation due to the following errors: ${i.join("\n")}`);this._animations[e]=r}_buildPlayer(e,t,i){const r=e.element,s=iz(0,this._normalizer,0,e.keyframes,t,i);return this._driver.animate(r,s,e.duration,e.delay,e.easing,[],!0)}create(e,t,i={}){const r=[],s=this._animations[e];let o;const a=new Map;if(s?(o=SO(this._driver,t,s,gO,RE,{},{},i,Ere,r),o.forEach(d=>{const f=Ma(a,d.element,{});d.postStyleProps.forEach(p=>f[p]=null)})):(r.push("The requested animation doesn't exist or has already been destroyed"),o=[]),r.length)throw new Error(`Unable to create the animation due to the following errors: ${r.join("\n")}`);a.forEach((d,f)=>{Object.keys(d).forEach(p=>{d[p]=this._driver.computeStyle(f,p,qu)})});const c=rh(o.map(d=>{const f=a.get(d.element);return this._buildPlayer(d,{},f)}));return this._playersById[e]=c,c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){const t=this._getPlayer(e);t.destroy(),delete this._playersById[e];const i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(e){const t=this._playersById[e];if(!t)throw new Error(`Unable to find the timeline player referenced by ${e}`);return t}listen(e,t,i,r){const s=lO(t,"","","");return oO(this._getPlayer(e),i,s,r),()=>{}}command(e,t,i,r){if("register"==i)return void this.register(e,r[0]);if("create"==i)return void this.create(e,t,r[0]||{});const s=this._getPlayer(e);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e)}}}const Mz="ng-animate-queued",xz="ng-animate-disabled",Tz=".ng-animate-disabled",Are=[],Az={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Dre={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},gl="__ng_removed";class AO{constructor(e,t=""){this.namespaceId=t;const i=e&&e.hasOwnProperty("value");if(this.value=function(n){return null!=n?n:null}(i?e.value:e),i){const s=rm(e);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(e){const t=e.params;if(t){const i=this.options.params;Object.keys(t).forEach(r=>{null==i[r]&&(i[r]=t[r])})}}}const Bv="void",DO=new AO(Bv);class Ore{constructor(e,t,i){this.id=e,this.hostElement=t,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,ml(t,this._hostClassName)}listen(e,t,i,r){if(!this._triggers.hasOwnProperty(t))throw new Error(`Unable to listen on the animation trigger event "${i}" because the animation trigger "${t}" doesn't exist!`);if(null==i||0==i.length)throw new Error(`Unable to listen on the animation trigger "${t}" because the provided event is undefined!`);if(!function(n){return"start"==n||"done"==n}(i))throw new Error(`The provided animation trigger event "${i}" for the animation trigger "${t}" is not supported!`);const s=Ma(this._elementListeners,e,[]),o={name:t,phase:i,callback:r};s.push(o);const a=Ma(this._engine.statesByElement,e,{});return a.hasOwnProperty(t)||(ml(e,kE),ml(e,kE+"-"+t),a[t]=DO),()=>{this._engine.afterFlush(()=>{const l=s.indexOf(o);l>=0&&s.splice(l,1),this._triggers[t]||delete a[t]})}}register(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}_getTrigger(e){const t=this._triggers[e];if(!t)throw new Error(`The provided animation trigger "${e}" has not been registered!`);return t}trigger(e,t,i,r=!0){const s=this._getTrigger(t),o=new OO(this.id,t,e);let a=this._engine.statesByElement.get(e);a||(ml(e,kE),ml(e,kE+"-"+t),this._engine.statesByElement.set(e,a={}));let l=a[t];const c=new AO(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a[t]=c,l||(l=DO),c.value!==Bv&&l.value===c.value){if(!function(n,e){const t=Object.keys(n),i=Object.keys(e);if(t.length!=i.length)return!1;for(let r=0;r{Vf(e,v),Gc(e,C)})}return}const p=Ma(this._engine.playersByElement,e,[]);p.forEach(y=>{y.namespaceId==this.id&&y.triggerName==t&&y.queued&&y.destroy()});let g=s.matchTransition(l.value,c.value,e,c.params),_=!1;if(!g){if(!r)return;g=s.fallbackTransition,_=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:g,fromState:l,toState:c,player:o,isFallbackTransition:_}),_||(ml(e,Mz),o.onStart(()=>{sm(e,Mz)})),o.onDone(()=>{let y=this.players.indexOf(o);y>=0&&this.players.splice(y,1);const v=this._engine.playersByElement.get(e);if(v){let C=v.indexOf(o);C>=0&&v.splice(C,1)}}),this.players.push(o),p.push(o),o}deregister(e){delete this._triggers[e],this._engine.statesByElement.forEach((t,i)=>{delete t[e]}),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(r=>r.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);const t=this._engine.playersByElement.get(e);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){const i=this._engine.driver.query(e,FE,!0);i.forEach(r=>{if(r[gl])return;const s=this._engine.fetchNamespacesByElement(r);s.size?s.forEach(o=>o.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(e,t,i,r){const s=this._engine.statesByElement.get(e);if(s){const o=[];if(Object.keys(s).forEach(a=>{if(this._triggers[a]){const l=this.trigger(e,a,Bv,r);l&&o.push(l)}}),o.length)return this._engine.markElementAsRemoved(this.id,e,!0,t),i&&rh(o).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){const t=this._elementListeners.get(e),i=this._engine.statesByElement.get(e);if(t&&i){const r=new Set;t.forEach(s=>{const o=s.name;if(r.has(o))return;r.add(o);const l=this._triggers[o].fallbackTransition,c=i[o]||DO,d=new AO(Bv),f=new OO(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:d,player:f,isFallbackTransition:!0})})}}removeNode(e,t){const i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(e):[];if(s&&s.length)r=!0;else{let o=e;for(;o=o.parentNode;)if(i.statesByElement.get(o)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(e),r)i.markElementAsRemoved(this.id,e,!1,t);else{const s=e[gl];(!s||s===Az)&&(i.afterFlush(()=>this.clearElementCache(e)),i.destroyInnerAnimations(e),i._onRemovalComplete(e,t))}}insertNode(e,t){ml(e,this._hostClassName)}drainQueuedTransitions(e){const t=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const s=i.element,o=this._elementListeners.get(s);o&&o.forEach(a=>{if(a.name==i.triggerName){const l=lO(s,i.triggerName,i.fromState.value,i.toState.value);l._data=e,oO(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(i)}),this._queue=[],t.sort((i,r)=>{const s=i.transition.ast.depCount,o=r.transition.ast.depCount;return 0==s||0==o?s-o:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}elementContainsData(e){let t=!1;return this._elementListeners.has(e)&&(t=!0),t=!!this._queue.find(i=>i.element===e)||t,t}}class Ire{constructor(e,t,i){this.bodyNode=e,this.driver=t,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,s)=>{}}_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}get queuedPlayers(){const e=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&e.push(i)})}),e}createNamespace(e,t){const i=new Ore(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[e]=i}_balanceNamespaceList(e,t){const i=this._namespaceList.length-1;if(i>=0){let r=!1;for(let s=i;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,t)){this._namespaceList.splice(s+1,0,e),r=!0;break}r||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}register(e,t){let i=this._namespaceLookup[e];return i||(i=this.createNamespace(e,t)),i}registerTrigger(e,t,i){let r=this._namespaceLookup[e];r&&r.register(t,i)&&this.totalAnimations++}destroy(e,t){if(!e)return;const i=this._fetchNamespace(e);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[e];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(t))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){const t=new Set,i=this.statesByElement.get(e);if(i){const r=Object.keys(i);for(let s=0;s=0&&this.collectedLeaveElements.splice(o,1)}if(e){const o=this._fetchNamespace(e);o&&o.insertNode(t,i)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),ml(e,xz)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),sm(e,xz))}removeNode(e,t,i,r){if(WE(t)){const s=e?this._fetchNamespace(e):null;if(s?s.removeNode(t,r):this.markElementAsRemoved(e,t,!1,r),i){const o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,r)}}else this._onRemovalComplete(t,r)}markElementAsRemoved(e,t,i,r){this.collectedLeaveElements.push(t),t[gl]={namespaceId:e,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1}}listen(e,t,i,r,s){return WE(t)?this._fetchNamespace(e).listen(t,i,r,s):()=>{}}_buildInstruction(e,t,i,r,s){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,i,r,e.fromState.options,e.toState.options,t,s)}destroyInnerAnimations(e){let t=this.driver.query(e,FE,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(e,mO,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(e){const t=this.playersByElement.get(e);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(e){const t=this.playersByQueriedElement.get(e);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return rh(this.players).onDone(()=>e());e()})}processLeaveNode(e){const t=e[gl];if(t&&t.setForRemoval){if(e[gl]=Az,t.namespaceId){this.destroyInnerAnimations(e);const i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}this.driver.matchesElement(e,Tz)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Tz,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],t.length?rh(t).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(e){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${e.join("\n")}`)}_flushAnimations(e,t){const i=new HE,r=[],s=new Map,o=[],a=new Map,l=new Map,c=new Map,d=new Set;this.disabledNodes.forEach(Q=>{d.add(Q);const je=this.driver.query(Q,".ng-animate-queued",!0);for(let $e=0;$e{const $e=gO+y++;_.set(je,$e),Q.forEach(qe=>ml(qe,$e))});const v=[],C=new Set,w=new Set;for(let Q=0;QC.add(qe)):w.add(je))}const x=new Map,N=Iz(p,Array.from(C));N.forEach((Q,je)=>{const $e=RE+y++;x.set(je,$e),Q.forEach(qe=>ml(qe,$e))}),e.push(()=>{g.forEach((Q,je)=>{const $e=_.get(je);Q.forEach(qe=>sm(qe,$e))}),N.forEach((Q,je)=>{const $e=x.get(je);Q.forEach(qe=>sm(qe,$e))}),v.forEach(Q=>{this.processLeaveNode(Q)})});const V=[],U=[];for(let Q=this._namespaceList.length-1;Q>=0;Q--)this._namespaceList[Q].drainQueuedTransitions(t).forEach($e=>{const qe=$e.player,Ot=$e.element;if(V.push(qe),this.collectedEnterElements.length){const gi=Ot[gl];if(gi&&gi.setForMove)return void qe.destroy()}const Hn=!f||!this.driver.containsElement(f,Ot),ot=x.get(Ot),nr=_.get(Ot),Ln=this._buildInstruction($e,i,nr,ot,Hn);if(Ln.errors&&Ln.errors.length)U.push(Ln);else{if(Hn)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);if($e.isFallbackTransition)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);Ln.timelines.forEach(gi=>gi.stretchStartingKeyframe=!0),i.append(Ot,Ln.timelines),o.push({instruction:Ln,player:qe,element:Ot}),Ln.queriedElements.forEach(gi=>Ma(a,gi,[]).push(qe)),Ln.preStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);if(oa.length){let Bs=l.get(_r);Bs||l.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))}}),Ln.postStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);let Bs=c.get(_r);Bs||c.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))})}});if(U.length){const Q=[];U.forEach(je=>{Q.push(`@${je.triggerName} has failed due to:\n`),je.errors.forEach($e=>Q.push(`- ${$e}\n`))}),V.forEach(je=>je.destroy()),this.reportError(Q)}const ee=new Map,de=new Map;o.forEach(Q=>{const je=Q.element;i.has(je)&&(de.set(je,je),this._beforeAnimationBuild(Q.player.namespaceId,Q.instruction,ee))}),r.forEach(Q=>{const je=Q.element;this._getPreviousPlayers(je,!1,Q.namespaceId,Q.triggerName,null).forEach(qe=>{Ma(ee,je,[]).push(qe),qe.destroy()})});const ae=v.filter(Q=>Rz(Q,l,c)),me=new Map;Oz(me,this.driver,w,c,qu).forEach(Q=>{Rz(Q,l,c)&&ae.push(Q)});const Be=new Map;g.forEach((Q,je)=>{Oz(Be,this.driver,new Set(Q),l,"!")}),ae.forEach(Q=>{const je=me.get(Q),$e=Be.get(Q);me.set(Q,Object.assign(Object.assign({},je),$e))});const te=[],ne=[],Ie={};o.forEach(Q=>{const{element:je,player:$e,instruction:qe}=Q;if(i.has(je)){if(d.has(je))return $e.onDestroy(()=>Gc(je,qe.toStyles)),$e.disabled=!0,$e.overrideTotalTime(qe.totalTime),void r.push($e);let Ot=Ie;if(de.size>1){let ot=je;const nr=[];for(;ot=ot.parentNode;){const Ln=de.get(ot);if(Ln){Ot=Ln;break}nr.push(ot)}nr.forEach(Ln=>de.set(Ln,Ot))}const Hn=this._buildAnimation($e.namespaceId,qe,ee,s,Be,me);if($e.setRealPlayer(Hn),Ot===Ie)te.push($e);else{const ot=this.playersByElement.get(Ot);ot&&ot.length&&($e.parentPlayer=rh(ot)),r.push($e)}}else Vf(je,qe.fromStyles),$e.onDestroy(()=>Gc(je,qe.toStyles)),ne.push($e),d.has(je)&&r.push($e)}),ne.forEach(Q=>{const je=s.get(Q.element);if(je&&je.length){const $e=rh(je);Q.setRealPlayer($e)}}),r.forEach(Q=>{Q.parentPlayer?Q.syncPlayerEvents(Q.parentPlayer):Q.destroy()});for(let Q=0;Q!Hn.destroyed);Ot.length?Fre(this,je,Ot):this.processLeaveNode(je)}return v.length=0,te.forEach(Q=>{this.players.push(Q),Q.onDone(()=>{Q.destroy();const je=this.players.indexOf(Q);this.players.splice(je,1)}),Q.play()}),te}elementContainsData(e,t){let i=!1;const r=t[gl];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(t)&&(i=!0),this.playersByQueriedElement.has(t)&&(i=!0),this.statesByElement.has(t)&&(i=!0),this._fetchNamespace(e).elementContainsData(t)||i}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,i,r,s){let o=[];if(t){const a=this.playersByQueriedElement.get(e);a&&(o=a)}else{const a=this.playersByElement.get(e);if(a){const l=!s||s==Bv;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||o.push(c)})}}return(i||r)&&(o=o.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),o}_beforeAnimationBuild(e,t,i){const s=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:t.triggerName;for(const l of t.timelines){const c=l.element,d=c!==s,f=Ma(i,c,[]);this._getPreviousPlayers(c,d,o,a,t.toState).forEach(g=>{const _=g.getRealPlayer();_.beforeDestroy&&_.beforeDestroy(),g.destroy(),f.push(g)})}Vf(s,t.fromStyles)}_buildAnimation(e,t,i,r,s,o){const a=t.triggerName,l=t.element,c=[],d=new Set,f=new Set,p=t.timelines.map(_=>{const y=_.element;d.add(y);const v=y[gl];if(v&&v.removedBeforeQueried)return new im(_.duration,_.delay);const C=y!==l,w=function(n){const e=[];return Pz(n,e),e}((i.get(y)||Are).map(ee=>ee.getRealPlayer())).filter(ee=>!!ee.element&&ee.element===y),x=s.get(y),N=o.get(y),V=iz(0,this._normalizer,0,_.keyframes,x,N),U=this._buildPlayer(_,V,w);if(_.subTimeline&&r&&f.add(y),C){const ee=new OO(e,a,y);ee.setRealPlayer(U),c.push(ee)}return U});c.forEach(_=>{Ma(this.playersByQueriedElement,_.element,[]).push(_),_.onDone(()=>function(n,e,t){let i;if(n instanceof Map){if(i=n.get(e),i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&n.delete(e)}}else if(i=n[e],i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&delete n[e]}return i}(this.playersByQueriedElement,_.element,_))}),d.forEach(_=>ml(_,dz));const g=rh(p);return g.onDestroy(()=>{d.forEach(_=>sm(_,dz)),Gc(l,t.toStyles)}),f.forEach(_=>{Ma(r,_,[]).push(g)}),g}_buildPlayer(e,t,i){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,i):new im(e.duration,e.delay)}}class OO{constructor(e,t,i){this.namespaceId=e,this.triggerName=t,this.element=i,this._player=new im,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(t=>{this._queuedCallbacks[t].forEach(i=>oO(e,t,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){const t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){Ma(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){const t=this._player;t.triggerCallback&&t.triggerCallback(e)}}function WE(n){return n&&1===n.nodeType}function Dz(n,e){const t=n.style.display;return n.style.display=null!=e?e:"none",t}function Oz(n,e,t,i,r){const s=[];t.forEach(l=>s.push(Dz(l)));const o=[];i.forEach((l,c)=>{const d={};l.forEach(f=>{const p=d[f]=e.computeStyle(c,f,r);(!p||0==p.length)&&(c[gl]=Dre,o.push(c))}),n.set(c,d)});let a=0;return t.forEach(l=>Dz(l,s[a++])),o}function Iz(n,e){const t=new Map;if(n.forEach(a=>t.set(a,[])),0==e.length)return t;const r=new Set(e),s=new Map;function o(a){if(!a)return 1;let l=s.get(a);if(l)return l;const c=a.parentNode;return l=t.has(c)?c:r.has(c)?1:o(c),s.set(a,l),l}return e.forEach(a=>{const l=o(a);1!==l&&t.get(l).push(a)}),t}const qE="$$classes";function ml(n,e){if(n.classList)n.classList.add(e);else{let t=n[qE];t||(t=n[qE]={}),t[e]=!0}}function sm(n,e){if(n.classList)n.classList.remove(e);else{let t=n[qE];t&&delete t[e]}}function Fre(n,e,t){rh(t).onDone(()=>n.processLeaveNode(e))}function Pz(n,e){for(let t=0;tr.add(s)):e.set(n,i),t.delete(n),!0}class YE{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,s)=>{},this._transitionEngine=new Ire(e,t,i),this._timelineEngine=new Sre(e,t,i),this._transitionEngine.onRemovalComplete=(r,s)=>this.onRemovalComplete(r,s)}registerTrigger(e,t,i,r,s){const o=e+"-"+r;let a=this._triggerCache[o];if(!a){const l=[],c=CO(this._driver,s,l);if(l.length)throw new Error(`The animation trigger "${r}" has failed to build due to the following errors:\n - ${l.join("\n - ")}`);a=function(n,e,t){return new Cre(n,e,t)}(r,c,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,r,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,i,r){this._transitionEngine.insertNode(e,t,i,r)}onRemove(e,t,i,r){this._transitionEngine.removeNode(e,t,r||!1,i)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,i,r){if("@"==i.charAt(0)){const[s,o]=rz(i);this._timelineEngine.command(s,t,o,r)}else this._transitionEngine.trigger(e,t,i,r)}listen(e,t,i,r,s){if("@"==i.charAt(0)){const[o,a]=rz(i);return this._timelineEngine.listen(o,t,a,s)}return this._transitionEngine.listen(e,t,i,r,s)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function kz(n,e){let t=null,i=null;return Array.isArray(e)&&e.length?(t=IO(e[0]),e.length>1&&(i=IO(e[e.length-1]))):e&&(t=IO(e)),t||i?new om(n,t,i):null}class om{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=om.initialStylesByElement.get(e);r||om.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&Gc(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Gc(this._element,this._initialStyles),this._endStyles&&(Gc(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(om.initialStylesByElement.delete(this._element),this._startStyles&&(Vf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Vf(this._element,this._endStyles),this._endStyles=null),Gc(this._element,this._initialStyles),this._state=3)}}function IO(n){let e=null;const t=Object.keys(n);for(let i=0;ithis._handleCallback(l)}apply(){(function(n,e){const t=RO(n,"").trim();let i=0;t.length&&(function(n,e){let t=0;for(let i=0;i=this._delay&&i>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Vz(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(n,e){const i=RO(n,"").split(","),r=PO(i,e);r>=0&&(i.splice(r,1),XE(n,"",i.join(",")))}(this._element,this._name))}}function Lz(n,e,t){XE(n,"PlayState",t,Bz(n,e))}function Bz(n,e){const t=RO(n,"");return t.indexOf(",")>0?PO(t.split(","),e):PO([t],e)}function PO(n,e){for(let t=0;t=0)return t;return-1}function Vz(n,e,t){t?n.removeEventListener(Nz,e):n.addEventListener(Nz,e)}function XE(n,e,t,i){const r=Fz+e;if(null!=i){const s=n.style[r];if(s.length){const o=s.split(",");o[i]=t,t=o.join(",")}}n.style[r]=t}function RO(n,e){return n.style[Fz+e]||""}class zz{constructor(e,t,i,r,s,o,a,l){this.element=e,this.keyframes=t,this.animationName=i,this._duration=r,this._delay=s,this._finalStyles=a,this._specialStyles=l,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=r+s,this._buildStyler()}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(e=>e()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(e){this._styler.setPosition(e)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new jre(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}beforeDestroy(){this.init();const e={};if(this.hasStarted()){const t=this._state>=3;Object.keys(this._finalStyles).forEach(i=>{"offset"!=i&&(e[i]=t?this._finalStyles[i]:bO(this.element,i))})}this.currentSnapshot=e}}class qre extends im{constructor(e,t){super(),this.element=e,this._startingStyles={},this.__initialized=!1,this._styles=lz(t)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(e=>{this._startingStyles[e]=this.element.style[e]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(e=>this.element.style.setProperty(e,this._styles[e])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(e=>{const t=this._startingStyles[e];t?this.element.style.setProperty(e,t):this.element.style.removeProperty(e)}),this._startingStyles=null,super.destroy())}}class Uz{constructor(){this._count=0}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}buildKeyframeElement(e,t,i){i=i.map(a=>lz(a));let r=`@keyframes ${t} {\n`,s="";i.forEach(a=>{s=" ";const l=parseFloat(a.offset);r+=`${s}${100*l}% {\n`,s+=" ",Object.keys(a).forEach(c=>{const d=a[c];switch(c){case"offset":return;case"easing":return void(d&&(r+=`${s}animation-timing-function: ${d};\n`));default:return void(r+=`${s}${c}: ${d};\n`)}}),r+=`${s}}\n`}),r+="}\n";const o=document.createElement("style");return o.textContent=r,o}animate(e,t,i,r,s,o=[],a){const l=o.filter(v=>v instanceof zz),c={};mz(i,r)&&l.forEach(v=>{let C=v.currentSnapshot;Object.keys(C).forEach(w=>c[w]=C[w])});const d=function(n){let e={};return n&&(Array.isArray(n)?n:[n]).forEach(i=>{Object.keys(i).forEach(r=>{"offset"==r||"easing"==r||(e[r]=i[r])})}),e}(t=_z(e,t,c));if(0==i)return new qre(e,d);const f="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(e,f,t);(function(n){var e;const t=null===(e=n.getRootNode)||void 0===e?void 0:e.call(n);return"undefined"!=typeof ShadowRoot&&t instanceof ShadowRoot?t:document.head})(e).appendChild(p);const _=kz(e,t),y=new zz(e,t,f,i,r,s,d,_);return y.onDestroy(()=>function(n){n.parentNode.removeChild(n)}(p)),y}}class $z{constructor(e,t,i,r){this.element=e,this.keyframes=t,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(e,t,i){return e.animate(t,i)}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(t=>{"offset"!=t&&(e[t]=this._finished?this._finalKeyframe[t]:bO(this.element,t))}),this.currentSnapshot=e}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class Qre{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Gz().toString()),this._cssKeyframesDriver=new Uz}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}overrideWebAnimationsSupport(e){this._isNativeImpl=e}animate(e,t,i,r,s,o=[],a){if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,i,r,s,o);const d={duration:i,delay:r,fill:0==r?"both":"forwards"};s&&(d.easing=s);const f={},p=o.filter(_=>_ instanceof $z);mz(i,r)&&p.forEach(_=>{let y=_.currentSnapshot;Object.keys(y).forEach(v=>f[v]=y[v])});const g=kz(e,t=_z(e,t=t.map(_=>sh(_,!1)),f));return new $z(e,t,d,g)}}function Gz(){return nz()&&Element.prototype.animate||{}}let ese=(()=>{class n extends QV{constructor(t,i){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(i.body,{id:"0",encapsulation:Ue.None,styles:[],data:{animation:[]}})}build(t){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(t)?JV(t):t;return Wz(this._renderer,null,i,"register",[r]),new tse(i,this._renderer)}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class tse extends class{}{constructor(e,t){super(),this._id=e,this._renderer=t}create(e,t){return new nse(this._id,e,t||{},this._renderer)}}class nse{constructor(e,t,i,r){this.id=e,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(e,t){return this._renderer.listen(this.element,`@@${this.id}:${e}`,t)}_command(e,...t){return Wz(this._renderer,this.element,this.id,e,t)}onDone(e){this._listen("done",e)}onStart(e){this._listen("start",e)}onDestroy(e){this._listen("destroy",e)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(e){this._command("setPosition",e)}getPosition(){var e,t;return null!==(t=null===(e=this._renderer.engine.players[+this.id])||void 0===e?void 0:e.getPosition())&&void 0!==t?t:0}}function Wz(n,e,t,i,r){return n.setProperty(e,`@@${t}:${i}`,r)}const qz="@.disabled";let ise=(()=>{class n{constructor(t,i,r){this.delegate=t,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,o)=>{o&&o.parentNode(s)&&o.removeChild(s.parentNode,s)}}createRenderer(t,i){const s=this.delegate.createRenderer(t,i);if(!(t&&i&&i.data&&i.data.animation)){let d=this._rendererCache.get(s);return d||(d=new Yz("",s,this.engine),this._rendererCache.set(s,d)),d}const o=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,t);const l=d=>{Array.isArray(d)?d.forEach(l):this.engine.registerTrigger(o,a,t,d.name,d)};return i.data.animation.forEach(l),new rse(this,a,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,i,r){t>=0&&ti(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[o,a]=s;o(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(YE),I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Yz{constructor(e,t,i){this.namespaceId=e,this.delegate=t,this.engine=i,this.destroyNode=this.delegate.destroyNode?r=>t.destroyNode(r):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,i,r=!0){this.delegate.insertBefore(e,t,i),this.engine.onInsert(this.namespaceId,t,e,r)}removeChild(e,t,i){this.engine.onRemove(this.namespaceId,t,this.delegate,i)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,i,r){this.delegate.setAttribute(e,t,i,r)}removeAttribute(e,t,i){this.delegate.removeAttribute(e,t,i)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,i,r){this.delegate.setStyle(e,t,i,r)}removeStyle(e,t,i){this.delegate.removeStyle(e,t,i)}setProperty(e,t,i){"@"==t.charAt(0)&&t==qz?this.disableAnimations(e,!!i):this.delegate.setProperty(e,t,i)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,i){return this.delegate.listen(e,t,i)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}}class rse extends Yz{constructor(e,t,i,r){super(t,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,i){"@"==t.charAt(0)?"."==t.charAt(1)&&t==qz?this.disableAnimations(e,i=void 0===i||!!i):this.engine.process(this.namespaceId,e,t.substr(1),i):this.delegate.setProperty(e,t,i)}listen(e,t,i){if("@"==t.charAt(0)){const r=function(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(e);let s=t.substr(1),o="";return"@"!=s.charAt(0)&&([s,o]=function(n){const e=n.indexOf(".");return[n.substring(0,e),n.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,r,s,o,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(e,t,i)}}let ase=(()=>{class n extends YE{constructor(t,i,r){super(t.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(PE),I(xO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Do=new ve("AnimationModuleType"),Xz=[{provide:QV,useClass:ese},{provide:xO,useFactory:function(){return new gre}},{provide:YE,useClass:ase},{provide:Cf,useFactory:function(n,e,t){return new ise(n,e,t)},deps:[_E,YE,dt]}],Kz=[{provide:PE,useFactory:function(){return"function"==typeof Gz()?new Qre:new Uz}},{provide:Do,useValue:"BrowserAnimations"},...Xz],Zz=[{provide:PE,useClass:cz},{provide:Do,useValue:"NoopAnimations"},...Xz];let kO=(()=>{class n{static withConfig(t){return{ngModule:n,providers:t.disableAnimations?Zz:Kz}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:Kz,imports:[yE]}),n})();function fse(n,e){if(1&n&&tt(0,"mat-pseudo-checkbox",4),2&n){const t=Qe();ie("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function pse(n,e){if(1&n&&(R(0,"span",5),De(1),k()),2&n){const t=Qe();G(1),or("(",t.group.label,")")}}const gse=["*"],Qz=new ju("12.2.5"),_se=new ve("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let $f,On=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Mo()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Qz.full!==ZV.full&&console.warn("The Angular Material version ("+Qz.full+") does not match the Angular CDK version ("+ZV.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(I(XV),I(_se,8),I(ut))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv],Nv]}),n})();function jf(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=Mt(e)}}}function Uf(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function nc(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Mt(e)}}}function Hf(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?To(t):this.defaultTabIndex}}}function FO(n){return class extends n{constructor(...e){super(...e),this.stateChanges=new Se,this.errorState=!1}updateErrorState(){const e=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==e&&(this.errorState=s,this.stateChanges.next())}}}try{$f="undefined"!=typeof Intl}catch(n){$f=!1}let Vv=(()=>{class n{isErrorState(t,i){return!!(t&&t.invalid&&(t.touched||i&&i.submitted))}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})();class Dse{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const ij={enterDuration:225,exitDuration:150},NO=tm({passive:!0}),rj=["mousedown","touchstart"],sj=["mouseup","mouseleave","touchend","touchcancel"];class oj{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=Wu(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},ij),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=a-o+"px",d.style.top=l-o+"px",d.style.height=2*o+"px",d.style.width=2*o+"px",null!=i.color&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(d),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(d),d.style.transform="scale(1)";const f=new Dse(this,d,i);return f.state=0,this._activeRipples.add(f),i.persistent||(this._mostRecentTransientRipple=f),this._runTimeoutOutsideZone(()=>{const p=f===this._mostRecentTransientRipple;f.state=1,!i.persistent&&(!p||!this._isPointerDown)&&f.fadeOut()},c),f}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},ij),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=Wu(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(rj))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(sj),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=VV(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,NO)})})}_removeTriggerEvents(){this._triggerElement&&(rj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}),this._pointerUpEventsRegistered&&sj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}))}}const aj=new ve("mat-ripple-global-options");let Js=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new oj(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(Do,8))},n.\u0275dir=oe({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&st("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),_l=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On,Rv],On]}),n})(),lj=(()=>{class n{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return n.\u0275fac=function(t){return new(t||n)(E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,i){2&t&&st("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,i){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),n})(),LO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On]]}),n})();const QE=new ve("MAT_OPTION_PARENT_COMPONENT"),Rse=jf(class{});let kse=0,cj=(()=>{class n extends Rse{constructor(t){var i;super(),this._labelId="mat-optgroup-label-"+kse++,this._inert=null!==(i=null==t?void 0:t.inertGroups)&&void 0!==i&&i}}return n.\u0275fac=function(t){return new(t||n)(E(QE,8))},n.\u0275dir=oe({type:n,inputs:{label:"label"},features:[ct]}),n})();const JE=new ve("MatOptgroup");let Fse=0;class uj{constructor(e,t=!1){this.source=e,this.isUserInput=t}}let Nse=(()=>{class n{constructor(t,i,r,s){this._element=t,this._changeDetectorRef=i,this._parent=r,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Fse++,this.onSelectionChange=new Le,this._stateChanges=new Se}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,i){const r=this._getHostElement();"function"==typeof r.focus&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!Zs(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new uj(this,t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(void 0),E(cj))},n.\u0275dir=oe({type:n,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),n})(),eS=(()=>{class n extends Nse{constructor(t,i,r,s){super(t,i,r,s)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(QE,8),E(JE,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,i){1&t&&ge("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&t&&(al("id",i.id),nn("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),st("mat-selected",i.selected)("mat-option-multiple",i.multiple)("mat-active",i.active)("mat-option-disabled",i.disabled))},exportAs:["matOption"],features:[ct],ngContentSelectors:gse,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,i){1&t&&(wi(),mt(0,fse,1,2,"mat-pseudo-checkbox",0),R(1,"span",1),Ht(2),k(),mt(3,pse,2,1,"span",2),tt(4,"div",3)),2&t&&(ie("ngIf",i.multiple),G(3),ie("ngIf",i.group&&i.group._inert),G(1),ie("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},directives:[zr,Js,lj],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),n})();function BO(n,e,t){if(t.length){let i=e.toArray(),r=t.toArray(),s=0;for(let o=0;o{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,dn,On,LO]]}),n})();function Wc(n,e,t,i){return Ke(t)&&(i=t,t=void 0),i?Wc(n,e,t).pipe(Ae(r=>we(r)?i(...r):i(r))):new ce(r=>{hj(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function hj(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o enter",[ti({opacity:0,transform:"translateY(-5px)"}),Ao("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let jv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})();const pj=new ve("MatHint");let Gf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-label"]]}),n})(),ooe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-placeholder"]]}),n})();const gj=new ve("MatPrefix"),mj=new ve("MatSuffix");let VO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","matSuffix",""]],features:[Dt([{provide:mj,useExisting:n}])]}),n})(),_j=0;const coe=Uf(class{constructor(n){this._elementRef=n}},"primary"),vj=new ve("MAT_FORM_FIELD_DEFAULT_OPTIONS"),nS=new ve("MatFormField");let am=(()=>{class n extends coe{constructor(t,i,r,s,o,a,l,c){super(t),this._changeDetectorRef=i,this._dir=s,this._defaults=o,this._platform=a,this._ngZone=l,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new Se,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+_j++,this._labelId="mat-form-field-label-"+_j++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==c,this.appearance=o&&o.appearance?o.appearance:"legacy",this._hideRequiredMarker=!(!o||null==o.hideRequiredMarker)&&o.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const i=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&i!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=Mt(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(Rr(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(Tn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Tn(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Ni(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Rr(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Rr(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const i=this._control?this._control.ngControl:null;return i&&i[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Wc(this._label.nativeElement,"transitionend").pipe(yi(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,r=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?t.push(i.id):this._hintLabel&&t.push(this._hintLabelId),r&&t.push(r.id)}else this._errorChildren&&t.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let i=0,r=0;const s=this._connectionContainerRef.nativeElement,o=s.querySelectorAll(".mat-form-field-outline-start"),a=s.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const l=s.getBoundingClientRect();if(0===l.width&&0===l.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const c=this._getStartEnd(l),d=t.children,f=this._getStartEnd(d[0].getBoundingClientRect());let p=0;for(let g=0;g0?.75*p+10:0}for(let l=0;l{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,SE],On]}),n})();function Hv(...n){if(1===n.length){const e=n[0];if(we(e))return iS(e,null);if(_e(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return iS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return iS(n=1===n.length&&we(n[0])?n[0]:n,null).pipe(Ae(t=>e(...t)))}return iS(n,null)}function iS(n,e){return new ce(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=d},error:d=>t.error(d),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((d,f,p)=>(d[f]=r[p],d),{}):r),t.complete())}}))}})}function Ta(n){return function(t){const i=new uoe(n),r=t.lift(i);return i.caught=r}}class uoe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new doe(e,this.selector,this.caught))}}class doe extends ii{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new Gr(this);this.add(i);const r=co(t,i);r!==i&&this.add(r)}}}class hoe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new foe(e,this.callback))}}class foe extends xt{constructor(e,t){super(e),this.add(new Te(t))}}class Cj{}class wj{}class Yu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Yu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Yu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Yu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class poe{encodeKey(e){return Ej(e)}encodeValue(e){return Ej(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const moe=/%(\d[a-f0-9])/gi,_oe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Ej(n){return encodeURIComponent(n).replace(moe,(e,t)=>{var i;return null!==(i=_oe[t])&&void 0!==i?i:e})}function Sj(n){return`${n}`}class oh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new poe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new oh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(Sj(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(Sj(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class yoe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function Mj(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function xj(n){return"undefined"!=typeof Blob&&n instanceof Blob}function Tj(n){return"undefined"!=typeof FormData&&n instanceof FormData}class $v{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Yu),this.context||(this.context=new yoe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(d=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),d)),new $v(i,r,o,{params:d,headers:c,context:f,reportProgress:l,responseType:s,withCredentials:a})}}var Ur=(()=>((Ur=Ur||{})[Ur.Sent=0]="Sent",Ur[Ur.UploadProgress=1]="UploadProgress",Ur[Ur.ResponseHeader=2]="ResponseHeader",Ur[Ur.DownloadProgress=3]="DownloadProgress",Ur[Ur.Response=4]="Response",Ur[Ur.User=5]="User",Ur))();class zO{constructor(e,t=200,i="OK"){this.headers=e.headers||new Yu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class jO extends zO{constructor(e={}){super(e),this.type=Ur.ResponseHeader}clone(e={}){return new jO({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class rS extends zO{constructor(e={}){super(e),this.type=Ur.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new rS({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class Aj extends zO{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function UO(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let Wf=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof $v)s=t;else{let l,c;l=r.headers instanceof Yu?r.headers:new Yu(r.headers),r.params&&(c=r.params instanceof oh?r.params:new oh({fromObject:r.params})),s=new $v(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=ht(s).pipe(function(n,e){return di(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof $v||"events"===r.observe)return o;const a=o.pipe(Fn(l=>l instanceof rS));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(Ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new oh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,UO(r,i))}post(t,i,r={}){return this.request("POST",t,UO(r,i))}put(t,i,r={}){return this.request("PUT",t,UO(r,i))}}return n.\u0275fac=function(t){return new(t||n)(I(Cj))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Dj{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const Oj=new ve("HTTP_INTERCEPTORS");let Coe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const woe=/^\)\]\}',?\n/;let Ij=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ce(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,_)=>r.setRequestHeader(g,_.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,_=r.statusText||"OK",y=new Yu(r.getAllResponseHeaders()),v=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new jO({headers:y,status:g,statusText:_,url:v}),o},l=()=>{let{headers:g,status:_,statusText:y,url:v}=a(),C=null;204!==_&&(C=void 0===r.response?r.responseText:r.response),0===_&&(_=C?200:0);let w=_>=200&&_<300;if("json"===t.responseType&&"string"==typeof C){const x=C;C=C.replace(woe,"");try{C=""!==C?JSON.parse(C):null}catch(N){C=x,w&&(w=!1,C={error:N,text:C})}}w?(i.next(new rS({body:C,headers:g,status:_,statusText:y,url:v||void 0})),i.complete()):i.error(new Aj({error:C,headers:g,status:_,statusText:y,url:v||void 0}))},c=g=>{const{url:_}=a(),y=new Aj({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:_||void 0});i.error(y)};let d=!1;const f=g=>{d||(i.next(a()),d=!0);let _={type:Ur.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),"text"===t.responseType&&!!r.responseText&&(_.partialText=r.responseText),i.next(_)},p=g=>{let _={type:Ur.UploadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),i.next(_)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",f),null!==s&&r.upload&&r.upload.addEventListener("progress",p)),r.send(s),i.next({type:Ur.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",f),null!==s&&r.upload&&r.upload.removeEventListener("progress",p)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(I(aV))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const HO=new ve("XSRF_COOKIE_NAME"),$O=new ve("XSRF_HEADER_NAME");class Pj{}let Soe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Y3(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(dl),I(HO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),GO=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(Pj),I($O))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Moe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(Oj,[]);this.chain=i.reduceRight((r,s)=>new Dj(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(wj),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),xoe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:GO,useClass:Coe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:HO,useValue:t.cookieName}:[],t.headerName?{provide:$O,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GO,{provide:Oj,useExisting:GO,multi:!0},{provide:Pj,useClass:Soe},{provide:HO,useValue:"XSRF-TOKEN"},{provide:$O,useValue:"X-XSRF-TOKEN"}]}),n})(),Rj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Wf,{provide:Cj,useClass:Moe},Ij,{provide:wj,useExisting:Ij}],imports:[[xoe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const Toe=["*"];function kj(n){return Error(`Unable to find icon with the name "${n}"`)}function Fj(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function Nj(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class qf{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let Gv=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new qf(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(mn.HTML,r);if(!o)throw Nj(r);return this._addSvgIconConfig(t,i,new qf("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new qf(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(mn.HTML,i);if(!s)throw Nj(i);return this._addSvgIconSetConfig(t,new qf("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(mn.RESOURCE_URL,t);if(!i)throw Fj(t);const r=this._cachedIconsByUrl.get(i);return r?ht(sS(r)):this._loadSvgIconFromConfig(new qf(t,null)).pipe(Ti(s=>this._cachedIconsByUrl.set(i,s)),Ae(s=>sS(s)))}getNamedSvgIcon(t,i=""){const r=Lj(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Kg(kj(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?ht(sS(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(Ae(i=>sS(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?ht(r):Hv(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(Ta(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(mn.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),ht(null)})))).pipe(Ae(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw kj(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Ti(i=>t.svgText=i),Ae(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?ht(null):this._fetchIcon(t).pipe(Ti(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new hoe(n))}(()=>this._inProgressUrlFetches.delete(a)),Vs());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(Lj(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),Bj=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Foe=Bj.map(n=>`[${n}]`).join(", "),Noe=/^url\(['"]?#(.*?)['"]?\)$/;let rs=(()=>{class n extends Ioe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=Te.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=Mt(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(Foe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(Noe):null;if(c){let d=r.get(a);d||(d=[],r.set(a,d)),d.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Gv),Zr("aria-hidden"),E(Poe),E($o))},n.\u0275cmp=Ne({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),st("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[ct],ngContentSelectors:Toe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})(),lr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let zoe=1;const joe=Promise.resolve(),oS={};function Vj(n){return n in oS&&(delete oS[n],!0)}const zj={setImmediate(n){const e=zoe++;return oS[e]=!0,joe.then(()=>Vj(e)&&n()),e},clearImmediate(n){Vj(n)}};new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=zj.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(zj.clearImmediate(t),e.scheduled=void 0)}});function cm(n){return!!n&&(n instanceof ce||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class Woe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new qoe(e,this.durationSelector))}}class qoe extends ii{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=co(t,new Gr(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function WO(n){return!we(n)&&n-parseFloat(n)+1>=0}function Xoe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function aS(n,e=Pf){return function(n){return function(t){return t.lift(new Woe(n))}}(()=>function(n=0,e,t){let i=-1;return WO(e)?i=Number(e)<1?1:Number(e):Gn(e)&&(t=e),Gn(t)||(t=Pf),new ce(r=>{const s=WO(n)?n:+n-t.now();return t.schedule(Xoe,s,{index:0,period:i,subscriber:r})})}(n,e))}function qc(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(d){let f;s++,!r||a?(a=!1,r=new If(n,e,i),f=r.subscribe(this),o=d.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):f=r.subscribe(this),this.add(()=>{s--,f.unsubscribe(),f=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}class lS{constructor(e=!1,t,i=!0){this._multiple=e,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Se,t&&t.length&&(e?t.forEach(r=>this._markSelected(r)):this._markSelected(t[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...e){this._verifyValueAssignment(e),e.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...e){this._verifyValueAssignment(e),e.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(e){this.isSelected(e)?this.deselect(e):this.select(e)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(e){return this._selection.has(e)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){this.isSelected(e)||(this._multiple||this._unmarkAll(),this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){}}let cS=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),um=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new Se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new ce(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(aS(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):ht()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Fn(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=Wu(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Wc(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(ut,8))},token:n,providedIn:"root"}),n})(),Yf=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new Se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(aS(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut,8))},token:n,providedIn:"root"}),n})(),Wv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),Gj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv,Rv,Wv],Nv,Wv]}),n})();class qO{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class dm extends qO{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Xf extends qO{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class fae extends qO{constructor(e){super(),this.element=e instanceof rt?e.nativeElement:e}}class uS{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof dm?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Xf?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof fae?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class pae extends uS{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let Kf=(()=>{class n extends uS{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Le,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(E(ll),E(ns),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[ct]}),n})(),dS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function qj(n,e=!1){return t=>t.lift(new gae(n,e))}class gae{constructor(e,t){this.predicate=e,this.inclusive=t}call(e,t){return t.subscribe(new mae(e,this.predicate,this.inclusive))}}class mae extends xt{constructor(e,t,i){super(e),this.predicate=t,this.inclusive=i,this.index=0}_next(e){const t=this.destination;let i;try{i=this.predicate(e,this.index++)}catch(r){return void t.error(r)}this.nextOrComplete(e,i)}nextOrComplete(e,t){const i=this.destination;Boolean(t)?i.next(e):(this.inclusive&&i.next(e),i.complete())}}const Yj=TV();class _ae{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=jr(-this._previousScrollPosition.left),e.style.top=jr(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),Yj&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Yj&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class yae{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class Xj{enable(){}disable(){}attach(){}}function YO(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function Kj(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class vae{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();YO(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let bae=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new Xj,this.close=o=>new yae(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new _ae(this._viewportRuler,this._document),this.reposition=o=>new vae(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(I(um),I(Yf),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(um),I(Yf),I(dt),I(ut))},token:n,providedIn:"root"}),n})();class qv{constructor(e){if(this.scrollStrategy=new Xj,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class Cae{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class wae{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let Zj=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Eae=(()=>{class n extends Zj{constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Sae=(()=>{class n extends Zj{constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Nf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(si))},n.\u0275prov=ue({factory:function(){return new n(I(ut),I(si))},token:n,providedIn:"root"}),n})();const ah="undefined"!=typeof window?window:{},Qj=void 0!==ah.__karma__&&!!ah.__karma__||void 0!==ah.jasmine&&!!ah.jasmine||void 0!==ah.jest&&!!ah.jest||void 0!==ah.Mocha&&!!ah.Mocha;let hm=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Qj){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(d),this._keydownEvents=new Se,this._outsidePointerEvents=new Se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=jr(this._config.width),e.height=jr(this._config.height),e.minWidth=jr(this._config.minWidth),e.minHeight=jr(this._config.minHeight),e.maxWidth=jr(this._config.maxWidth),e.maxHeight=jr(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;EE(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(Tn(Ni(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const Jj="cdk-overlay-connected-position-bounding-box",xae=/([A-Za-z%]+)$/;class eU{constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Se,this._resizeSubscription=Te.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(Jj),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Zf(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Jj),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=nU(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,_=this._subtractOverflows(s.width,0-o,o+s.width-i.width),y=this._subtractOverflows(s.height,p,g),v=_*y;return{visibleArea:v,isCompletelyWithinViewport:s.width*s.height===v,fitsInViewportVertically:y===s.height,fitsInViewportHorizontally:_==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=tU(this._overlayRef.getConfig().minHeight),a=tU(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=nU(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let d=0,f=0;return d=r.width<=s.width?c||-o:e.x_&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-_/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,d=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)f=e.x,d=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),_=this._lastBoundingBoxSize.width;d=2*g,f=e.x-g,d>_&&!this._isInitialRender&&!this._growAfterOpen&&(f=e.x-_/2)}return{top:o,left:f,bottom:a,right:p,width:d,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=jr(i.height),r.top=jr(i.top),r.bottom=jr(i.bottom),r.width=jr(i.width),r.left=jr(i.left),r.right=jr(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=jr(s)),o&&(r.maxWidth=jr(o))}this._lastBoundingBoxSize=i,Zf(this._boundingBox.style,r)}_resetBoundingBoxStyles(){Zf(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Zf(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();Zf(i,this._getExactOverlayY(t,e,d)),Zf(i,this._getExactOverlayX(t,e,d))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=jr(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=jr(o.maxWidth):s&&(i.maxWidth="")),Zf(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=jr(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=jr(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Kj(e,i),isOriginOutsideView:YO(e,i),isOverlayClipped:Kj(t,i),isOverlayOutsideView:YO(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&EE(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof rt)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function Zf(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function tU(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(xae);return t&&"px"!==t?null:parseFloat(e)}return n||null}function nU(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class Tae{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new eU(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new Cae(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const iU="cdk-global-overlay-wrapper";class Aae{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(iU),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(iU),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let Dae=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new Aae}connectedTo(t,i,r){return new Tae(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new eU(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(I(Yf),I(ut),I(si),I(hm))},n.\u0275prov=ue({factory:function(){return new n(I(Yf),I(ut),I(si),I(hm))},token:n,providedIn:"root"}),n})(),Oae=0,Jo=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=d,this._location=f,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new qv(t);return o.direction=o.direction||this._directionality.value,new Mae(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Oae++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(Jd)),new pae(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(I(bae),I(hm),I(ll),I(Dae),I(Eae),I(Nt),I(dt),I(ut),I(Qo),I(Xg),I(Sae))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Iae=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],rU=new ve("cdk-connected-overlay-scroll-strategy");let Pae=(()=>{class n{constructor(t){this.elementRef=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),n})(),sU=(()=>{class n{constructor(t,i,r,s,o){this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=Te.EMPTY,this._attachSubscription=Te.EMPTY,this._detachSubscription=Te.EMPTY,this._positionSubscription=Te.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Le,this.positionChange=new Le,this.attach=new Le,this.detach=new Le,this.overlayKeydown=new Le,this.overlayOutsideClick=new Le,this._templatePortal=new Xf(i,r),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=Mt(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=Mt(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=Mt(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=Mt(t)}get push(){return this._push}set push(t){this._push=Mt(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Iae);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Zs(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),i=new qv({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(t){const i=this.positions.map(r=>({originX:r.originX,originY:r.originY,overlayX:r.overlayX,overlayY:r.overlayY,offsetX:r.offsetX||this.offsetX,offsetY:r.offsetY||this.offsetY,panelClass:r.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(qj(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Ys),E(ns),E(rU),E(Qo,8))},n.\u0275dir=oe({type:n,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[zn]}),n})();const kae={provide:rU,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};let Yv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Jo,kae],imports:[[Nv,dS,Gj],Gj]}),n})();const oU=["mat-button",""],aU=["*"],Nae=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],Lae=Uf(jf(nc(class{constructor(n){this._elementRef=n}})));let lh=(()=>{class n extends Lae{constructor(t,i,r){super(t),this._focusMonitor=i,this._animationMode=r,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of Nae)this._hasHostAttributes(s)&&this._getHostElement().classList.add(s);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,i){t?this._focusMonitor.focusVia(this._getHostElement(),t,i):this._getHostElement().focus(i)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(i=>this._getHostElement().hasAttribute(i))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,i){if(1&t&&Jn(Js,5),2&t){let r;_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,i){2&t&&(nn("disabled",i.disabled||null),st("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[ct],attrs:oU,ngContentSelectors:aU,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,i){1&t&&(wi(),R(0,"span",0),Ht(1),k(),tt(2,"span",1),tt(3,"span",2)),2&t&&(G(2),st("mat-button-ripple-round",i.isRoundButton||i.isIconButton),ie("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[Js],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),n})(),ch=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();class cU extends xt{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Bae extends xt{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function uU(n,e,t,i,r=new Bae(n,t,i)){if(!r.closed)return e instanceof ce?e.subscribe(r):ki(e)(r)}const dU={};function Qi(...n){let e,t;return Gn(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0]),za(n,t).lift(new hU(e))}class hU{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Vae(e,this.resultSelector))}}class Vae extends cU{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(dU),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i{class n{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):jae}matchMedia(t){return this._platform.WEBKIT&&function(n){if(!fU.has(n))try{fm||(fm=document.createElement("style"),fm.setAttribute("type","text/css"),document.head.appendChild(fm)),fm.sheet&&(fm.sheet.insertRule(`@media ${n} {.fx-query-test{ }}`,0),fU.add(n))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function jae(n){return{matches:"all"===n||""===n,media:n,addListener:()=>{},removeListener:()=>{}}}let XO=(()=>{class n{constructor(t,i){this._mediaMatcher=t,this._zone=i,this._queries=new Map,this._destroySubject=new Se}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return gU(EE(t)).some(r=>this._registerQuery(r).mql.matches)}observe(t){let s=Qi(gU(EE(t)).map(o=>this._registerQuery(o).observable));return s=IE(s.pipe(yi(1)),s.pipe(QD(1),Zg(0))),s.pipe(Ae(o=>{const a={matches:!1,breakpoints:{}};return o.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const i=this._mediaMatcher.matchMedia(t),s={observable:new ce(o=>{const a=l=>this._zone.run(()=>o.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(Rr(i),Ae(({matches:o})=>({query:t,matches:o})),Tn(this._destroySubject)),mql:i};return this._queries.set(t,s),s}}return n.\u0275fac=function(t){return new(t||n)(I(pU),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(pU),I(dt))},token:n,providedIn:"root"}),n})();function gU(n){return n.map(e=>e.split(",")).reduce((e,t)=>e.concat(t)).map(e=>e.trim())}function Uae(n,e){if(1&n){const t=Zi();R(0,"div",1),R(1,"button",2),ge("click",function(){return en(t),Qe().action()}),De(2),k(),k()}if(2&n){const t=Qe();G(2),xi(t.data.action)}}function Hae(n,e){}const KO=new ve("MatSnackBarData");class hS{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const $ae=Math.pow(2,31)-1;class ZO{constructor(e,t){this._overlayRef=t,this._afterDismissed=new Se,this._afterOpened=new Se,this._onAction=new Se,this._dismissedByAction=!1,this.containerInstance=e,this.onAction().subscribe(()=>this.dismiss()),e._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,$ae))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let Gae=(()=>{class n{constructor(t,i){this.snackBarRef=t,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return n.\u0275fac=function(t){return new(t||n)(E(ZO),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,i){1&t&&(R(0,"span"),De(1),k(),mt(2,Uae,3,1,"div",0)),2&t&&(G(1),xi(i.data.message),G(1),ie("ngIf",i.hasAction))},directives:[zr,lh],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),n})();const Wae={snackBarState:tc("state",[wr("void, hidden",ti({transform:"scale(0.8)",opacity:0})),wr("visible",ti({transform:"scale(1)",opacity:1})),Qs("* => visible",Ao("150ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void, * => hidden",Ao("75ms cubic-bezier(0.4, 0.0, 1, 1)",ti({opacity:0})))])};let qae=(()=>{class n extends uS{constructor(t,i,r,s,o){super(),this._ngZone=t,this._elementRef=i,this._changeDetectorRef=r,this._platform=s,this.snackBarConfig=o,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Se,this._onExit=new Se,this._onEnter=new Se,this._animationState="void",this.attachDomPortal=a=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(a)),this._live="assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:i,toState:r}=t;if(("void"===r&&"void"!==i||"hidden"===r)&&this._completeExit(),"visible"===r){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(yi(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(r=>t.classList.add(r)):t.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&i){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(r=document.activeElement),t.removeAttribute("aria-hidden"),i.appendChild(t),null==r||r.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(rt),E(kn),E(si),E(hS))},n.\u0275cmp=Ne({type:n,selectors:[["snack-bar-container"]],viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,i){1&t&&Qy("@state.done",function(s){return i.onAnimationEnd(s)}),2&t&&Pg("@state",i._animationState)},features:[ct],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,i){1&t&&(R(0,"div",0),mt(1,Hae,0,0,"ng-template",1),k(),tt(2,"div")),2&t&&(G(2),nn("aria-live",i._live)("role",i._role))},directives:[Kf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[Wae.snackBarState]}}),n})(),_U=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Yv,dS,dn,ch,On],On]}),n})();const yU=new ve("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hS}});let Xae=(()=>{class n{constructor(t,i,r,s,o,a){this._overlay=t,this._live=i,this._injector=r,this._breakpointObserver=s,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=Gae,this.snackBarContainerComponent=qae,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,i){return this._attach(t,i)}openFromTemplate(t,i){return this._attach(t,i)}open(t,i="",r){const s=Object.assign(Object.assign({},this._defaultConfig),r);return s.data={message:t,action:i},s.announcementMessage===t&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:hS,useValue:i}]}),o=new dm(this.snackBarContainerComponent,i.viewContainerRef,s),a=t.attach(o);return a.instance.snackBarConfig=i,a.instance}_attach(t,i){const r=Object.assign(Object.assign(Object.assign({},new hS),this._defaultConfig),i),s=this._createOverlay(r),o=this._attachSnackBarContainer(s,r),a=new ZO(o,s);if(t instanceof Ys){const l=new Xf(t,null,{$implicit:r.data,snackBarRef:a});a.instance=o.attachTemplatePortal(l)}else{const l=this._createInjector(r,a),c=new dm(t,void 0,l),d=o.attachComponentPortal(c);a.instance=d.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Tn(s.detachments())).subscribe(l=>{const c=s.overlayElement.classList;l.matches?c.add(this.handsetCssClass):c.remove(this.handsetCssClass)}),r.announcementMessage&&o._onAnnounce.subscribe(()=>{this._live.announce(r.announcementMessage,r.politeness)}),this._animateSnackBar(a,r),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(t,i){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),i.duration&&i.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(i.duration))}_createOverlay(t){const i=new qv;i.direction=t.direction;let r=this._overlay.position().global();const s="rtl"===t.direction,o="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!s||"end"===t.horizontalPosition&&s,a=!o&&"center"!==t.horizontalPosition;return o?r.left("0"):a?r.right("0"):r.centerHorizontally(),"top"===t.verticalPosition?r.top("0"):r.bottom("0"),i.positionStrategy=r,this._overlay.create(i)}_createInjector(t,i){return Nt.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ZO,useValue:i},{provide:KO,useValue:t.data}]})}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(DE),I(Nt),I(XO),I(n,12),I(yU))},n.\u0275prov=ue({factory:function(){return new n(I(Jo),I(DE),I(Fc),I(XO),I(n,12),I(yU))},token:n,providedIn:_U}),n})();function xe(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function ws(n,e){return function(t,i){e(t,i,n)}}function Xe(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function yl(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function l(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?s(d.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(d.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function wU(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JO(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||wU()}const EU="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JO();class Jae{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const SU={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function MU(n){return"string"==typeof n?SU[n.toUpperCase()]||SU.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const ic={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Xv=ic.window||ic.self||ic.global,xU=ic.process||{};function pm(){let n;if(pS&&Xv.performance)n=Xv.performance.now();else if(xU.hrtime){const e=xU.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const gm={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ole={enabled:!0,level:0};function vl(){}const TU={},AU={once:!0};function ale(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=EU,this._startTs=pm(),this._deltaTs=pm(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Jae("__probe-".concat(this.id,"__"),ole),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((pm()-this._startTs).toPrecision(10))}getDelta(){return Number((pm()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,gm.warn,arguments,AU)}error(t){return this._getLogFunction(0,t,gm.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,gm.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,gm.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,gm.debug||gm.info,arguments,AU)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||vl,r&&[r],{tag:ale(i)}):vl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,vl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),vl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),vl}return vl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=ze(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):vl}({image:r,message:s,scale:o}):vl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||vl)}group(t,i,r={collapsed:!1}){r=OU({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||vl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=DU(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=OU({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=pm();const a=o.tag||o.message;if(o.once){if(TU[a])return vl;TU[a]=pm()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=MU(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=MU(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return vl}}return n.VERSION=EU,n})();function DU(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function OU(n){const{logLevel:e,message:t}=n;n.logLevel=DU(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const jn=new tI({id:"deck"}),qn={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(qn,"IDENTITY",{get:()=>jn.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Yc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},IU={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},vt=new tI({id:"luma.gl"});function Oo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function In(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return Oo(mS(n),"Invalid WebGLRenderingContext"),n}function eo(n){return Oo(In(n),"Requires WebGL2"),n}const Kv={};const Zv=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Qf.prototype.VERTEX_ARRAY_BINDING_OES=34229,Qf.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iIn(n)?void 0:0,Ale={3074:n=>In(n)?void 0:36064,35723:n=>In(n)?void 0:4352,35977:Bi,32937:Bi,36795:(n,e)=>{const t=In(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Bi,35071:Bi,37447:Bi,36063:(n,e)=>{if(!In(n)){const t=n.getExtension(RU);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Bi,35374:Bi,35377:Bi,34852:n=>{if(!In(n)){const e=n.getExtension(RU);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(PU)?2147483647:65535,33001:n=>n.getExtension(PU)?16777216:65535,33e3:n=>16777216,37157:Bi,35373:Bi,35657:Bi,36183:Bi,37137:Bi,34045:Bi,35978:Bi,35979:Bi,35968:Bi,35376:Bi,35375:Bi,35659:Bi,37154:Bi,35371:Bi,35658:Bi,35076:Bi,35077:Bi,35380:Bi},FU="ANGLE_instanced_arrays",NU={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Oo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[FU]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){Oo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Oo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Oo(!1)},deleteQuery:()=>{Oo(!1)},beginQuery:()=>{Oo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{In(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:In(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!In(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!In(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Ale[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function zle(n,{extension:e,target:t,target2:i}){const r=NU[e];Oo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let d=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?d=(...f)=>a[c](...f):"function"==typeof r[l]&&(d=r[l].bind(t))),d&&(t[l]=d,i[l]=d)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Qf(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&zle(n,{extension:t,target:n.luma,target2:n})}(n,NU),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},uh=(n,e,t)=>e?n.enable(t):n.disable(t),LU=(n,e,t)=>n.hint(t,e),Aa=(n,e,t)=>n.pixelStorei(t,e);function Qv(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const Hle={3042:uh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:uh,2885:(n,e)=>n.cullFace(e),2929:uh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:uh,35723:LU,36006:(n,e)=>{const t=In(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:LU,2849:(n,e)=>n.lineWidth(e),32823:uh,32824:"polygonOffset",10752:"polygonOffset",35977:uh,32938:"sampleCoverage",32939:"sampleCoverage",3089:uh,3088:(n,e)=>n.scissor(...e),2960:uh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:Aa,3317:Aa,37440:Aa,37441:Aa,37443:Aa,3330:Aa,3332:Aa,3331:Aa,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:Aa,32878:Aa,3316:Aa,3315:Aa,32877:Aa,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=Qv(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=Qv(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=Qv(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function Er(n,e,t){return void 0!==e[n]?e[n]:t[n]}const $le={blendEquation:(n,e,t)=>n.blendEquationSeparate(Er(32777,e,t),Er(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(Er(32969,e,t),Er(32968,e,t),Er(32971,e,t),Er(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(Er(32824,e,t),Er(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(Er(32938,e,t),Er(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,Er(2962,e,t),Er(2967,e,t),Er(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,Er(34816,e,t),Er(36003,e,t),Er(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,Er(2964,e,t),Er(2965,e,t),Er(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,Er(34817,e,t),Er(34818,e,t),Er(34819,e,t))},BU={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),VU={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function zU(n){for(const e in n)return!1;return!0}function Gle(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=VU[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=VU[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){Oo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){Oo(void 0!==s);const o=e[s],a=this.cache[s];Gle(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function UU(n,e={}){const{enable:t=!0,copyState:i}=e;if(Oo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new Yle(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in BU)Wle(n,s,BU[s]);jU(n,"getParameter"),jU(n,"isEnabled")}return n.state.enable=t,n}function HU(n){Oo(n.state),n.state.pop()}function Xu(n,e){if(Oo(mS(n),"setParameters requires a WebGL context"),zU(e))return;const t={};for(const r in e){const s=Number(r),o=Hle[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)$le[r](n,e,i)}function rc(n,e,t){if(zU(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||UU(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),HU(n);else try{r=t(n)}finally{HU(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function mm(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=$U(n[0],e,t);let o=GU(n[1],e,i,r),a=$U(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=GU(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,mm(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function $U(n,e,t){return Math.min(Math.round(n*e),t-1)}function GU(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),tce=sI&&"undefined"!=typeof document,WU={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function qU(n={}){Oo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},WU,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(tce&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=In(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);vt.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},WU,e);const{manageState:t,debug:i}=e;return t&&UU(n,{copyState:!1,log:(...r)=>vt.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),vt.level=Math.max(vt.level,1)):vt.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function YU(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class XU{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=YU(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(YU()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof XU?e:new XU(t,i)),this.stats[t]}}const Jv="8.5.12",Jf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==Jv)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Jv}`);function nt(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return nt(void 0!==i,`Accessing undefined constant GL.${e}`),i}function dh(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&vt.log(1,`luma.gl ${Jv} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Jv,version:Jv,log:vt,stats:Jf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ea(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function KU(n){return nt("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function _m(n){let e=!0;for(const t in n){e=!1;break}return e}function ZU(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw vt.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const ym="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ea(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=In(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const f=i?dh(this.gl,l):l;o[f]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[f]=dh(this.gl,o[f]))}}return o}setParameter(e,t){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return ZU(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(ym)}_deleteHandle(){throw new Error(ym)}_bindHandle(e){throw new Error(ym)}_getOptsFromHandle(){throw new Error(ym)}_getParameter(e,t){throw new Error(ym)}_setParameter(e,t){throw new Error(ym)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Jf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Jf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Jf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Jf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function eb(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function fce({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ta.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ta.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,gce)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const JU={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},mce={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:JU},_ce={removedProps:JU};class Ai extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,mce),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,_ce))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ta(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;nt(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(eo(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return eo(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){eo(this.gl);const s=eb(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const d=Math.min(o,l);return nt((r=r||d)<=d),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(nt(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){nt(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return nt(s),this.setAccessor(new ta(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){nt(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/eb(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ta(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return vt.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return vt.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return vt.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return vt.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ta(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},e4={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},t4={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},bce=[9729,9728],n4=globalThis.WebGLBuffer||function(){};class ep extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=In(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ea("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(w=>this.initialize(Object.assign({},e,{pixels:w,data:w}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:d}=e;t||(t=r);let{width:f,height:p,dataFormat:g,type:_,compressed:y=!1,mipmaps:v=!0}=e;const{depth:C=0}=e;return({width:f,height:p,compressed:y,dataFormat:g,type:_}=this._deduceParameters({format:s,type:_,dataFormat:g,compressed:y,data:t,width:f,height:p})),this.width=f,this.height=p,this.depth=C,this.format=s,this.type=_,this.dataFormat=g,this.border=o,this.textureUnit=d,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),v&&this._isNPOT()&&(vt.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),v=!1,this._updateForNPOT(l)),this.mipmaps=v,this.setImageData({data:t,width:f,height:p,depth:C,format:s,type:_,dataFormat:g,border:o,mipmaps:v,parameters:c,compressed:y}),v&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:d=this.type,width:f=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:_=!1}=e;c||(c=i),({type:d,dataFormat:g,compressed:_,width:f,height:p}=this._deduceParameters({format:s,type:d,dataFormat:g,compressed:_,data:c,width:f,height:p}));const{gl:y}=this;y.bindTexture(this.target,this.handle);let v=null;({data:c,dataType:v}=this._getDataType({data:c,compressed:_}));let C,w=0;return rc(this.gl,l,()=>{switch(v){case"null":y.texImage2D(t,r,s,f,p,o,g,d,c);break;case"typed-array":y.texImage2D(t,r,s,f,p,o,g,d,c,a);break;case"buffer":C=eo(y),C.bindBuffer(35052,c.handle||c),C.texImage2D(t,r,s,f,p,o,g,d,a),C.bindBuffer(35052,null);break;case"browser-object":In(y)?y.texImage2D(t,r,s,f,p,o,g,d,c):y.texImage2D(t,r,s,g,d,c);break;case"compressed":for(const[x,N]of c.entries())y.compressedTexImage2D(t,x,N.format,N.width,N.height,o,N.data),w+=N.levelSize;break;default:nt(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===v?w:c&&c.byteLength?c.byteLength:this.width*this.height*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:d=this.type,dataFormat:f=this.dataFormat,compressed:p=!1,offset:g=0,border:_=this.border,parameters:y={}}){if(({type:d,dataFormat:f,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:d,dataFormat:f,compressed:p,data:i,width:o,height:a})),nt(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const v=i;i=v.data,o=v.shape[0],a=v.shape[1]}i instanceof Ai&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),rc(this.gl,y,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,f,d,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,f,d,i,g);else if(i instanceof n4){const v=eo(this.gl);v.bindBuffer(35052,i),v.texSubImage2D(e,l,r,s,o,a,f,d,g),v.bindBuffer(35052,null)}else In(this.gl)?eo(this.gl).texSubImage2D(e,l,r,s,o,a,f,d,i):this.gl.texSubImage2D(e,l,r,s,f,d,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return vt.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof Ai?{data:e.handle,dataType:"buffer"}:e instanceof n4?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},nt(r,"Could not deduced texture size"),nt(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),nt(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:nt(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(In(this.gl)||!this.width||!this.height||KU(this.width)&&KU(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===bce.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Cce(n,e){return nt("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class na extends ep{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return ep.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Cce(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const tp="EXT_color_buffer_float",i4={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:tp,bpp:2},33327:{gl2:tp,bpp:4},34842:{gl2:tp,bpp:8},33326:{gl2:tp,bpp:4},33328:{gl2:tp,bpp:8},34836:{gl2:tp,bpp:16},35898:{gl2:tp,bpp:4}};class vm extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=In(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,i4)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return nt(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&In(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*i4[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const l4="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),nt(0!==o,l4),rc(n,s,()=>{n.clear(o)})}function c4(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function yn(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){c4(s,i,r,o,a,"next",l)}function a(l){c4(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let Ace=(()=>{class n extends ep{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return yn(function*(){const{gl:d}=c,f=r||s,p=yield Promise.all(gI.map(g=>{const _=f[g];return Promise.all(Array.isArray(_)?_:[_])}));c.bind(),gI.forEach((g,_)=>{p[_].length>1&&!1!==c.opts.mipmaps&&vt.warn(`${c.id} has mipmap and multiple LODs.`)(),p[_].forEach((y,v)=>{t&&i?d.texImage2D(g,v,a,t,i,o,a,l,y):d.texImage2D(g,v,a,a,l,y)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:d=5121}=t,{gl:f}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?f.texImage2D(i,0,c,r,s,l,c,d,p):f.texImage2D(i,0,c,c,d,p),this}}return n.FACES=gI,n})();class Dce extends ep{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:d,parameters:f={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),rc(this.gl,f,()=>{ArrayBuffer.isView(d)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,d),d instanceof Ai&&(this.gl.bindBuffer(35052,d.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(d&&d.byteLength?d.byteLength:this.width*this.height*this.depth*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}}function u4(n,e){nt(n instanceof na||n instanceof Ace||n instanceof Dce);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d},e))}function Oce(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ss(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function vS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:d,deleteFramebuffer:f}=tb(n);nt(d);const{gl:p,handle:g,attachments:_}=d;a=a||d.width,l=l||d.height,36064===s&&null===g&&(s=1028),nt(_[s]),c=c||_[s].type,o=function(n,e,t,i,r){if(n)return n;return new(eb(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return nt(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const y=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,y||null),f&&d.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=vS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=fce({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const d in i){const f=i[d];(Array.isArray(f)?f[0]:f).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return nt(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&vt.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){nt(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof vm)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[d,f=0,p=0]=l;c=d,this._attachTexture({attachment:a,texture:d,layer:f,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ss.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){eo(n),rc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:nt(!1,l4)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return vt.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return vt.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return vt.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return vt.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return vt.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return vt.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=eo(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=dh(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?dh(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?dh(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>vt.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return vt.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new na(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new vm(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new vm(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&nt(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof vm?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:eo(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:nt(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return In(n)?n:null}(this.gl);t?t.readBuffer(e):nt(36064===e||1029===e,d4),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=eo(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):nt(1===e.length&&(36064===e[0]||1029===e[0]),d4)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in h4)void 0===n.luma.caps[e]&&(n.luma.caps[e]=p4(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ss.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const h4={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new na(n,{format:6408,type:5126,dataFormat:6408}),t=new ss(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return f4(n,e)}function f4(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>p4(n,t))}function p4(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=h4[e];let i;nt(t,e);const r=In(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:nt(!1);return i}(n,e)),n.luma.caps[e]||vt.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},Hce=(Math,1/180*Math.PI),Ji={};function Gce(n,{precision:e=Ji.precision||4}={}){return n=function(n){return Math.round(n/Ji.EPSILON)*Ji.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function hh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zu(n,e,t){if(hh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*Hce,void 0)}(n)}function np(n,e,t){return Zu(n,i=>Math.max(e,Math.min(t,i)))}function bS(n,e,t){return hh(n)?n.map((i,r)=>bS(i,e[r],t)):t*e+(1-t)*n}function rb(n,e,t){const i=Ji.EPSILON;t&&(Ji.EPSILON=t);try{if(n===e)return!0;if(hh(n)&&hh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+Gce(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(M4.length=n.length,i=M4):i=S4,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function x4(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?T4(n,e,[]):e(n)?[n]:[]}function T4(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function A4(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",K(K(K({},Mue[n.type]),e),n)):null}function D4(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function O4(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function I4(n){n.push(n.shift())}function MI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function P4({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,d=r&&c,f=MI(t,e),p=t.state.constant;if(!d&&i>=f)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const C=s;s=(w,x)=>t._normalizeConstant(C(w,x))}const _=p?(C,w)=>s(g,w):(C,w)=>s(g.subarray(C,C+a),w),y=n.getData({length:i}),v=new Float32Array(f);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((d,f)=>i(d+a,f)),c=Math.min(r.length,s.length);for(let d=1;d(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===MS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=MS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=wue}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==MS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,d]of s)o.call(r,this,{data:t,startRow:c,endRow:d,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const v=f*a+l;for(let C=0;Cd?c.set(x,y):(e._normalizeValue(x,C.target,0),Cue({target:c,source:C.target,start:y,count:N}));y+=N*d}else e._normalizeValue(x,c,y),y+=d}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let TI={};function no(n){jn.level>0&&TI[n]&&TI[n].call(...arguments)}function Da(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const R4="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Aue=`#version 300 es\n${R4}`;function k4(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function F4(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Aue:e>300?`#version ${e}\n${R4}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Da(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class N4 extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,_m(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,vt.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof Ai?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Pue{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof Ai?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&nt(In(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new N4(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],nt(i[s]instanceof Ai)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new Ai(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function L4(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const ab="vs",Fue={[ab]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",B4=/void\s+main\s*\([^)]*\)\s*\{\n?/,V4=/}\n?[^{}]*$/,DI=[];function z4(n,e,t,i=!1){const r=e===ab;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(V4,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(B4,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(V4,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+Fue[e])),n}function OI(n){const e={};return Da(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Nue={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",j4="transform_position";const $ue={10241:9728,10240:9728,10242:33071,10243:33071};class Wue{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const f in this.samplerTextureMap)a[f]=i[this.samplerTextureMap[f]];this._setSourceTextureParameters();const d=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,d)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=vS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Da(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Ai(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ss(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters($ue)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=u4(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const d=l.split("\n"),f=d.slice();if(d.forEach((p,g,_)=>{if(s>0){const y=function(n,e){const t={},i=function(n){return k4(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),f=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Da(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":f},samplerTextureMap:t}}return null}(p,e);if(y){const{updatedLine:v,inject:C}=y;f[g]=v,c=OI([c,C]),Object.assign(a,y.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=k4(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){nt(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${j4} = transform_getPos(${p});\n gl_Position = vec4(${j4}, 0, 1.);\n`}])}l=f.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||F4({version:L4(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Nue].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function Yue(n){let e=U4(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=U4(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function U4(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:d,fragmentShader:f}){Da("string"==typeof e),this.name=e,this.vs=t||d,this.fs=i||f,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=Yue(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Da(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Da(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function Que(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}($4(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(Da("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Da(t.name,"shader module has no name"),(t=new PI(t)).dependencies=$4(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},ip={};function ode(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{ip[n]=n});const FI={};function G4(n,e,t={}){const i=kI[e];if(Da(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];Da(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Da(!1===r||!0===r),r}(n,t))}function Cm(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const W4=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],ude=[...W4,[Cm("attribute"),"in $1"],[Cm("varying"),"out $1"]],dde=[...W4,[Cm("varying"),"in $1"]],q4=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],hde=[...q4,[Cm("in"),"attribute $1"],[Cm("out"),"varying $1"]],fde=[...q4,[Cm("in"),"varying $1"]],NI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,pde=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const yde=`\n\n${xS}\n\n`,Y4={[ab]:"vertex",fs:"fragment"};function X4(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:d}){Da("string"==typeof t,"shader source must be a string");const f=i===ab,p=t.split("\n");let g=100,_="",y=t;0===p[0].indexOf("#version ")?(g=300,_=p[0],y=p.slice(1).join("\n")):_=`#version ${g}`;const v={};r.forEach(U=>{Object.assign(v,U.getDefines())}),Object.assign(v,s);let C=c?`${_}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${Y4[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${Y4[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ode(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,ip.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,ip.GLSL_DERIVATIVES)&&G4(n,ip.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,ip.GLSL_FRAG_DATA)&&G4(n,ip.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,ip.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(v)}\n${f?"":"precision highp float;\n\n"}\n`:`${_}\n`;const w=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),x={},N={},V={};for(const U in a){const ee="string"==typeof a[U]?{injection:a[U],order:0}:a[U],de=U.match(/^(v|f)s:(#)?([\w-]+)$/);if(de){const me=de[3];de[2]?"decl"===me?N[U]=[ee]:V[U]=[ee]:x[U]=[ee]}else V[U]=[ee]}for(const U of r){d&&U.checkDeprecations(y,d),C+=U.getModuleSource(i,g);const de=U.injections[i];for(const ae in de){const me=ae.match(/^(v|f)s:#([\w-]+)$/);if(me){const Be="decl"===me[2]?N:V;Be[ae]=Be[ae]||[],Be[ae].push(de[ae])}else x[ae]=x[ae]||[],x[ae].push(de[ae])}}return C+=yde,C=z4(C,i,N),C+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(w[i],x),C+=y,C=z4(C,i,V),C=function(n,e,t){switch(e){case 300:return t?DS(n,ude):function(n){const e=(n=DS(n,dde)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${NI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(pde,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${NI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,hde):function(n){const e=(n=DS(n,fde)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),NI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(C,l?100:g,f),C}function Cde(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Tde={5126:er.bind(null,"uniform1fv",Oa,1,io),35664:er.bind(null,"uniform2fv",Oa,2,io),35665:er.bind(null,"uniform3fv",Oa,3,io),35666:er.bind(null,"uniform4fv",Oa,4,io),5124:er.bind(null,"uniform1iv",fh,1,io),35667:er.bind(null,"uniform2iv",fh,2,io),35668:er.bind(null,"uniform3iv",fh,3,io),35669:er.bind(null,"uniform4iv",fh,4,io),35670:er.bind(null,"uniform1iv",fh,1,io),35671:er.bind(null,"uniform2iv",fh,2,io),35672:er.bind(null,"uniform3iv",fh,3,io),35673:er.bind(null,"uniform4iv",fh,4,io),35674:er.bind(null,"uniformMatrix2fv",Oa,4,Ju),35675:er.bind(null,"uniformMatrix3fv",Oa,9,Ju),35676:er.bind(null,"uniformMatrix4fv",Oa,16,Ju),35678:Fs,35680:Fs,5125:er.bind(null,"uniform1uiv",OS,1,io),36294:er.bind(null,"uniform2uiv",OS,2,io),36295:er.bind(null,"uniform3uiv",OS,3,io),36296:er.bind(null,"uniform4uiv",OS,4,io),35685:er.bind(null,"uniformMatrix2x3fv",Oa,6,Ju),35686:er.bind(null,"uniformMatrix2x4fv",Oa,8,Ju),35687:er.bind(null,"uniformMatrix3x2fv",Oa,6,Ju),35688:er.bind(null,"uniformMatrix3x4fv",Oa,12,Ju),35689:er.bind(null,"uniformMatrix4x2fv",Oa,8,Ju),35690:er.bind(null,"uniformMatrix4x3fv",Oa,12,Ju),35678:Fs,35680:Fs,35679:Fs,35682:Fs,36289:Fs,36292:Fs,36293:Fs,36298:Fs,36299:Fs,36300:Fs,36303:Fs,36306:Fs,36307:Fs,36308:Fs,36311:Fs},Ade={},Dde={},Ode={},K4=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(K4[0]=n,n=K4);const r=n.length;if(r%e&&vt.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function er(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),d=c.length;let f=!1;if(null===r)r=new Float32Array(d),s=d,f=!0;else{nt(s===d,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return e5(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:J4(s,c),warnings:J4(o,c)}}(i,this.source,this.shaderType,this.id);throw vt.error(`GLSL compilation errors in ${r}\n${s}`)(),vt.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends lb{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class zI extends lb{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const os=5126,cb=5124,ub=5125,jI={[os]:[os,1,"float"],35664:[os,2,"vec2"],35665:[os,3,"vec3"],35666:[os,4,"vec4"],[cb]:[cb,1,"int"],35667:[cb,2,"ivec2"],35668:[cb,3,"ivec3"],35669:[cb,4,"ivec4"],[ub]:[ub,1,"uint"],36294:[ub,2,"uvec2"],36295:[ub,3,"uvec3"],36296:[ub,4,"uvec4"],35670:[os,1,"bool"],35671:[os,2,"bvec2"],35672:[os,3,"bvec3"],35673:[os,4,"bvec4"],35674:[os,8,"mat2"],35685:[os,8,"mat2x3"],35686:[os,8,"mat2x4"],35675:[os,12,"mat3"],35687:[os,12,"mat3x2"],35688:[os,12,"mat3x4"],35676:[os,16,"mat4"],35689:[os,16,"mat4x2"],35690:[os,16,"mat4x3"]};function o5(n){const e=jI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function a5(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=os}for(const t in jI){const[i,r,s]=jI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class phe{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!In(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=o5(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ta(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=o5(i),l={location:e,name:t,accessor:new ta({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const ghe=35981,mhe=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class c5 extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",mhe),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=ghe}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new zI(this.gl,{id:`${e.id}-fs`,source:r}):r,nt(this.vs instanceof VI),nt(this.fs instanceof zI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(eo(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new phe(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:d=c>0,vertexArray:f=null,transformFeedback:p,framebuffer:g,parameters:_={},uniforms:y,samplers:v}){if((y||v)&&(vt.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(y||{})),vt.priority>=e){const C=g?g.id:"default",w=`mode=${dh(this.gl,t)} verts=${i} instances=${c} indexType=${dh(this.gl,l)} isInstanced=${d} isIndexed=${a} Framebuffer=${C}`;vt.log(e,w)()}return nt(f),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||d&&0===c||(f.bindForDraw(i,c,()=>{if(void 0!==g&&(_=Object.assign({},_,{framebuffer:g})),p){const C=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return nt(!1),0}}(t);p.begin(C)}this._bindTextures(),rc(this.gl,_,()=>{a&&d?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&In(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):d?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){vt.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Rde(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ss&&(s=s.texture),s instanceof ep)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&kde(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new zI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ea(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),vt.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),vt.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||vt.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),d=this._getHash(t),f=this._getHash(i),p=c.map(x=>this._getHash(x.name)).sort(),g=o.map(x=>this._getHash(x)),_=Object.keys(r).sort(),y=Object.keys(s).sort(),v=[],C=[];for(const x of _)v.push(this._getHash(x)),v.push(this._getHash(r[x]));for(const x of y)C.push(this._getHash(x)),C.push(this._getHash(s[x]));const w=`${d}/${f}D${v.join("/")}M${p.join("/")}I${C.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[w]){const x=function(n,e){const{vs:t,fs:i}=e,r=Que(e.modules||[]);return{gl:n,vs:X4(n,Object.assign({},e,{source:t,type:ab,modules:r})),fs:X4(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Cde(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[w]=new c5(this.gl,{hash:w,vs:x.vs,fs:x.fs,varyings:o,bufferMode:a}),this._getUniforms[w]=x.getUniforms||(N=>{}),this._useCounts[w]=0}return this._useCounts[w]++,this._programCache[w]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":Xv.chrome?"Chrome":Xv.safari?"Safari":Xv.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ia(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ia.MAX_ATTRIBUTES=Ia.MAX_ATTRIBUTES||e.getParameter(34921),Ia.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ia._setConstantFloatArray(e,t,i);break;case Int32Array:Ia._setConstantIntArray(e,t,i);break;case Uint32Array:Ia._setConstantUintArray(e,t,i);break;default:nt(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ia.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return nt(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:d}=i,{gl:f,gl2:p}=this;return e=Number(e),this.bind(()=>{f.bindBuffer(34962,t.handle),c?(nt(In(f)),p.vertexAttribIPointer(e,r,s,o,a)):f.vertexAttribPointer(e,r,s,l,o,a),f.enableVertexAttribArray(e),p.vertexAttribDivisor(e,d||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ia.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new Ai(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!RS||RS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Ehe=/^(.+)__LOCATION_([0-9]+)$/,She=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Mhe{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ia(e),ZU(this,"VertexArray","v6.0",She),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Ai(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,vt.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const d=ta.resolve(l.accessor,this.accessors[o]||{},i,r),{size:f,type:p}=d;return nt(Number.isFinite(f)&&Number.isFinite(p)),{location:o,accessor:d}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Ehe.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof Ai)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof Ai)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof Ai))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof Ai){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return vt.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function hb(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=hb(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function u5(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,d,f,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof Ai){const p=e,{data:g,changed:_}=p.getDebugData();let y;return d=_?"*":"",f=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?y=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${dh(r,s)})`:(c=!0,y=`${l} bytes`),{[i]:`${d}${hb(f,{size:o,isInteger:c})}`,"Format ":y}}return f=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${hb(f,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Ahe(n,e){const{type:t,size:i}=e,r=a5(t,i);return r?`${n} (${r.name})`:n}function d5({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){nt(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let d=0;const f={};if(!i)for(const p in t){const g=t[p];a[p]||(d++,f[p]={Type:`NOT USED: ${g}`,[n]:hb(g)})}return{table:a,count:c,unusedTable:f,unusedCount:d}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?hb(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function h5(n){const{type:e,size:t}=n.accessor,i=a5(e,t);return i?`${i.name} ${n.name}`:n.name}const Ihe={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Rhe(n,e){const{attributeMap:t=Ihe}=e||{};return t&&t[n]||n}function khe(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}nt(Number.isFinite(e.size),`attribute ${n} needs size`)}const f5=()=>{},Lhe={};class Mm{constructor(e,t={}){const{id:i=ea("model")}=t;nt(mS(e)),this.id=i,this.gl=e,this.id=t.id||ea("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||db.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},nt(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return nt(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return nt(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Rhe(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=K({},o);delete c.value,i[a]=[new Ai(n,l),c],khe(s,c)}}if(r){const s=r.value||r;nt(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Ai(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(_m(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),vt.priority>=2&&(c=this._logDrawCallStart(2));const d=this.vertexArray.getDrawParams(),{isIndexed:f=d.isIndexed,indexType:p=d.indexType,indexOffset:g=d.indexOffset,vertexArrayInstanced:_=d.isInstanced}=this.props;_&&!this.isInstanced&&vt.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:y,instanceCount:v}=this,{onBeforeRender:C=f5,onAfterRender:w=f5}=this.props;C(),this.program.setUniforms(this.uniforms);const x=this.program.draw(Object.assign(Lhe,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:f,indexType:p,isInstanced:y,instanceCount:v,offset:f?g:0}));return w(),vt.priority>=2&&this._logDrawCallEnd(c,l,i),x}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return vt.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}nt(t instanceof c5,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Mhe(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Ai&&t.delete()}}_setAnimationProps(e){this.animated&&nt(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(_m(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new N4(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:vt.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=u5(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Ahe(s.name,a)}`),t[o]=u5(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:d}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});d>0&&vt.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&vt.log("UNUSED UNIFORMS",Object.keys(a))();const f=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);vt.table(e,s)(),vt.table(e,o)(),vt.table(e+1,f)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),vt.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return In(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();nt(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Mm(t,Object.assign({},e,{fs:e.fs||F4({version:L4(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(_m(n.feedbackBuffers)&&_m(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Pue(e,t)),function(n){return!(_m(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new Wue(e,t)),nt(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function kS(){}const zhe={onStart:kS,onUpdate:kS,onInterrupt:kS,onEnd:kS};class fb{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=K(K({},zhe),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const Yhe={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=O4(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;I4(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:D4(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,Lt(K({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new na(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ss(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=O4(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:D4(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),I4(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),vS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class Xhe{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void jn.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=Yhe[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(jn.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const p5="attributeManager.invalidate";class tfe{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new Xhe(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;no("attribute.updateStart",t),t.allocate(i)&&no("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,no("attribute.updateEnd",t,i))}}function m5(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function _5(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=A4(r)))return;const o=sfe[r.type];if(!o)return void jn.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Lt(K({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:afe}=FS;function ufe(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function y5({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function ffe(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!vfe(i[r],e[r])){t=n(i),e=i;break}return t}}function bfe(n,e){if(!e)return n;const t=K(K({},n),e);if("defines"in e&&(t.defines=K(K({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=K({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=e[9],p=e[10],g=e[11],_=e[12],y=e[13],v=e[14],C=e[15],w=t*a-i*o,x=t*l-r*o,N=t*c-s*o,V=i*l-r*a,U=i*c-s*a,ee=r*c-s*l,de=d*y-f*_,ae=d*v-p*_,me=d*C-g*_,Ee=f*v-p*y,Be=f*C-g*y,te=p*C-g*v,ne=w*te-x*Be+N*Ee+V*me-U*ae+ee*de;return ne?(n[0]=(a*te-l*Be+c*Ee)*(ne=1/ne),n[1]=(r*Be-i*te-s*Ee)*ne,n[2]=(y*ee-v*U+C*V)*ne,n[3]=(p*U-f*ee-g*V)*ne,n[4]=(l*me-o*te-c*ae)*ne,n[5]=(t*te-r*me+s*ae)*ne,n[6]=(v*N-_*ee-C*x)*ne,n[7]=(d*ee-p*N+g*x)*ne,n[8]=(o*Be-a*me+c*de)*ne,n[9]=(i*me-t*Be-s*de)*ne,n[10]=(_*U-y*N+C*w)*ne,n[11]=(f*N-d*U-g*w)*ne,n[12]=(a*ae-o*Ee-l*de)*ne,n[13]=(t*Ee-i*ae+r*de)*ne,n[14]=(y*x-_*V-v*w)*ne,n[15]=(d*V-f*x+p*w)*ne,n):null}function rp(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],d=e[7],f=e[8],p=e[9],g=e[10],_=e[11],y=e[12],v=e[13],C=e[14],w=e[15],x=t[0],N=t[1],V=t[2],U=t[3];return n[0]=x*i+N*a+V*f+U*y,n[1]=x*r+N*l+V*p+U*v,n[2]=x*s+N*c+V*g+U*C,n[3]=x*o+N*d+V*_+U*w,n[4]=(x=t[4])*i+(N=t[5])*a+(V=t[6])*f+(U=t[7])*y,n[5]=x*r+N*l+V*p+U*v,n[6]=x*s+N*c+V*g+U*C,n[7]=x*o+N*d+V*_+U*w,n[8]=(x=t[8])*i+(N=t[9])*a+(V=t[10])*f+(U=t[11])*y,n[9]=x*r+N*l+V*p+U*v,n[10]=x*s+N*c+V*g+U*C,n[11]=x*o+N*d+V*_+U*w,n[12]=(x=t[12])*i+(N=t[13])*a+(V=t[14])*f+(U=t[15])*y,n[13]=x*r+N*l+V*p+U*v,n[14]=x*s+N*c+V*g+U*C,n[15]=x*o+N*d+V*_+U*w,n}function LS(n,e,t){var o,a,l,c,d,f,p,g,_,y,v,C,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],d=e[4],f=e[5],p=e[6],g=e[7],_=e[8],y=e[9],v=e[10],C=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=d,n[5]=f,n[6]=p,n[7]=g,n[8]=_,n[9]=y,n[10]=v,n[11]=C,n[12]=o*i+d*r+_*s+e[12],n[13]=a*i+f*r+y*s+e[13],n[14]=l*i+p*r+v*s+e[14],n[15]=c*i+g*r+C*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function b5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],d=e[9],f=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+d*i,n[6]=a*r+f*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=d*r-o*i,n[10]=f*r-a*i,n[11]=p*r-l*i,n}function C5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],d=e[5],f=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+d*i,n[2]=a*r+f*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=d*r-o*i,n[6]=f*r-a*i,n[7]=p*r-l*i,n}function w5(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function VS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}!function(){var n=new ia(4);ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const E5=[0,0,0,0],qfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],Yfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],Xfe=[0,0,0],Kfe=[0,0,0],Zfe=NS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=E5,l=E5,c=n.cameraPosition;const{geospatialOrigin:d,shaderCoordinateOrigin:f,offsetMode:p}=S5(n,e,t);return p&&(l=n.projectPosition(d||f),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=VS([],l,o),s=i||s,o=rp([],r,s),o=rp([],o,qfe)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:d}}(n,t,i),d=n.getDistanceScales(),f=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:f,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:Xfe,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const _=n.getDistanceScales(c);switch(t){case qn.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerMeter2;break;case qn.LNGLAT:case qn.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerDegree2;break;case qn.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,_.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,_.unitsPerMeter2[2]]}}return g});function S5(n,e,t=Kfe){let r,i=t,s=!0;switch(r=e===qn.LNGLAT_OFFSETS||e===qn.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Yc.WEB_MERCATOR:(e===qn.LNGLAT||e===qn.CARTESIAN)&&(s=!1);break;case Yc.WEB_MERCATOR_AUTO_OFFSET:e===qn.LNGLAT?i=r:e===qn.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Yc.IDENTITY:i=n.position.map(Math.fround);break;case Yc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class tpe extends vI{get ELEMENTS(){return Qu(!1),0}get RANK(){return Qu(!1),0}toString(){let e="[";if(Ji.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new $t).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],d=n[9],f=n[10],p=n[11],g=n[12],_=n[13],y=n[14],v=n[15];return(e*o-t*s)*(f*v-p*y)-(e*a-i*s)*(d*v-p*_)+(e*l-r*s)*(d*y-f*_)+(t*a-i*o)*(c*v-p*g)-(t*l-r*o)*(c*y-f*g)+(i*l-r*a)*(c*_-d*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return rp(this,e,this),this.check()}multiplyRight(e){return rp(this,this,e),this.check()}rotateX(e){return b5(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],d=e[9],f=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-d*i,n[2]=a*r-f*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+d*r,n[10]=a*i+f*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return C5(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,d,f,p,g,_,y,v,C,w,x,N,V,U,ee,de,ae,me,Ee,Be,te,ne,Ie,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const oc=Math.PI,O5=oc/4,ac=oc/180,YI=180/oc,XI=4003e4,jS=85.051129;function US([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*ac+oc)/(2*oc),512*(oc+Math.log(Math.tan(O5+e*ac*.5)))/(2*oc)]}function Dm([n,e]){const t=n/512*(2*oc)-oc,i=2*(Math.atan(Math.exp(e/512*(2*oc)-oc))-O5);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*ac),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=ac*Math.tan(n*ac)/s,f=512/XI*c,p=f/a*l;i.unitsPerDegree2=[0,o*c/2,f],i.unitsPerMeter2=[p,0,p]}return i}function I5(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),d=US(n);d[0]+=s*(l[0]+c[0]*o),d[1]+=o*(l[1]+c[1]*o);const f=Dm(d),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[f[0],f[1],p]:f}function R5(n){return 2*Math.atan(.5/n)*YI}function k5(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Am(e,[t,i,r,1])}function gb(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Am(e,[i,r,s,1]);const o=Am(e,[i,r,0,1]),a=Am(e,[i,r,1,1]),l=o[2],c=a[2];return x5([],o,a,l===c?0:((t||0)-l)/(c-l))}const F5=Math.PI/180;function N5(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Am(i,[e,0,1,1]),s=Am(i,[e,n.height,1,1]),c=Dm(x5([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const _pe=Math.PI/180,ype=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],bpe={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Om=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Yc.WEB_MERCATOR:Yc.WEB_MERCATOR_AUTO_OFFSET:Yc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&rb(t.projectionMatrix,this.projectionMatrix)&&rb(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=k5(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,d=gb([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[f,p,g]=this.unprojectPosition(d);return Number.isFinite(a)?[f,p,g]:Number.isFinite(r)?[f,p,r]:[f,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?US(t):t}unprojectFlat(t){return this.isGeospatial?Dm(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Om{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:d=!1,repeat:f=!1,worldOffset:p=0}=t;let{width:g,height:_,altitude:y=1.5}=t;const v=Math.pow(2,s);g=g||1,_=_||1,y=Math.max(.75,y);const{fov:C,aspect:w,focalDistance:x,near:N,far:V}=function({width:n,height:e,fovy:t=R5(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=R5(i));const a=.5*t*ac,l=function(n){return.5/Math.tan(.5*n*ac)}(t),c=r*ac,d=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*d+l)*o}}({width:g,height:_,pitch:o,altitude:y,nearZMultiplier:l,farZMultiplier:c});let U=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),b5(o,o,-e*ac),C5(o,o,t*ac),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:_,pitch:o,bearing:a,scale:v,altitude:y});p&&(U=(new $t).translate([512*p,0,0]).multiplyLeft(U)),super(Lt(K({},t),{width:g,height:_,viewMatrix:U,longitude:r,latitude:i,zoom:s,orthographic:d,fovyRadians:C,aspect:w,focalDistance:x,near:N,far:V})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=y,this.orthographic=d,this._subViewports=f?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Lt(K({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return I5(t,i)}panByPosition(t,i){const r=gb(i,this.pixelUnprojectionMatrix),o=zS([],this.projectFlat(t),M5([],r)),a=zS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*F5:Math.atan(.5/n.altitude))>(90-n.pitch)*F5-.01?(l=N5(n,0,e),c=N5(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,d]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const f=US([a,D5(d,-jS,jS)]),p=US([c,D5(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-f[0]),i),Math.max(Math.abs(p[1]-f[1]),i)],_=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(_[0]>0&&_[1]>0);const y=_[0]/g[0],v=_[1]/g[1],N=Dm([(p[0]+f[0])/2+(s.right-s.left)/2/y,(p[1]+f[1])/2+(s.bottom-s.top)/2/v]),V=Math.min(r,qI(Math.abs(Math.min(y,v))));return ed(Number.isFinite(V)),{longitude:N[0],latitude:N[1],zoom:V}}(K({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof j5){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function U5(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=VS([],[o,a,l,1],t)),i){case qn.LNGLAT:return JI([o,a,l],e,s);case qn.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case qn.METER_OFFSETS:return JI(I5(r,[o,a,l]),e,s);case qn.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Epe={10241:9987,10240:9729,10242:33071,10243:33071},eP={},xpe={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||_b(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tP(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||tP(n,e)},array:{validate:(n,e)=>e.optional&&!n||_b(n),equal:(n,e,t)=>t.compare?tP(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof na)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new na(t,Lt(K({},e),{parameters:K(K(K({},Epe),i),n.props.textureParameters)}));return eP[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof na)||eP[n.id]&&(n.delete(),delete eP[n.id])}(n)}}};function tP(n,e){if(n===e)return!0;if(!_b(n)||!_b(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Vpe,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Lpe]||{},i=e[Npe]||e,r=e[Bpe]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(x4(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return yn(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var f,c=!0,d=!1;try{for(var g,_,p=iP(t);c=(g=yield p.next()).done,_=yield g.value,!c;c=!0){const v=_,{dataTransform:C}=i.component?i.component.props:{};a=C?C(v,a):a.concat(v),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(v){d=!0,f=v}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(d)throw f}}const y=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;y&&y(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:W5,ASYNC_RESOLVED:q5,ASYNC_DEFAULTS:zpe}=FS,jpe={};let Upe=0,Hpe=(()=>{class n{constructor(){this.props=Dpe.apply(this,arguments),this.id=this.props.id,this.count=Upe++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[zpe])s in i[q5]?r[s]=i[q5][s]:s in i[W5]&&(r[s]=i[W5][s]);return new this.constructor(K(K(K({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new G5({})}}return n.componentName="Component",n.defaultProps=jpe,n})();class $pe extends G5{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const lc=n=>"function"==typeof n,ph=n=>null!==n&&"object"==typeof n,X5=n=>ph(n)&&n.constructor==={}.constructor,Gpe=n=>n&&"function"==typeof n[Symbol.iterator],Wpe=n=>n&&"function"==typeof n[Symbol.asyncIterator],vb=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,Im=n=>"undefined"!=typeof Blob&&n instanceof Blob,K5=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||ph(n)&&lc(n.tee)&&lc(n.cancel)&&lc(n.getReader))(n)||(n=>ph(n)&&lc(n.read)&&lc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function sp(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rP(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sP(n){var e,t;let i;return sp(n,"null loader"),sp(rP(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Lt(K({},n=n[0]),{options:K(K({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oP=Zc.global||Zc.self||Zc.window||{},Qpe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Z5="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);Z5&&parseFloat(Z5[1]);const lP={};function Jpe(n){for(const e in lP)n.startsWith(e)&&(n=n.replace(e,lP[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const ege=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,tge=/^([-\w.]+\/[-\w.+]+)/;function nge(n){const e=tge.exec(n);return e?e[1]:n}function Q5(n){const e=ege.exec(n);return e?e[1]:""}const ige=/\?.*/;function qS(n){if(vb(n)){const e=cP(n.url||"");return{url:e,type:nge(n.headers.get("content-type")||"")||Q5(e)}}return Im(n)?{url:cP(n.name||""),type:n.type||""}:"string"==typeof n?{url:cP(n),type:Q5(n)}:{url:"",type:""}}function rge(n){return vb(n)?n.headers["content-length"]||-1:Im(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cP(n){return n.replace(ige,"")}function J5(n){return uP.apply(this,arguments)}function uP(){return(uP=yn(function*(n){if(vb(n))return n;const e={},t=rge(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield age(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function sge(n){return dP.apply(this,arguments)}function dP(){return(dP=yn(function*(n){if(!n.ok){const e=yield oge(n);throw new Error(e)}})).apply(this,arguments)}function oge(n){return hP.apply(this,arguments)}function hP(){return(hP=yn(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function age(n){return fP.apply(this,arguments)}function fP(){return(fP=yn(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${lge(n.slice(0,5))}`:null})).apply(this,arguments)}function lge(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const nH={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){sn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},dge={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gP(){oP.loaders=oP.loaders||{};const{loaders:n}=oP;return n._state=n._state||{},n._state}const mP=()=>{const n=gP();return n.globalOptions=n.globalOptions||K({},nH),n.globalOptions};function hge(n,e,t,i){return t=t||[],function(n,e){rH(n,null,nH,dge,e);for(const t of e)rH(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=K({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new cge),oH(r,mP()),oH(r,e),r}(e,n,i)}function iH(n,e){const t=mP(),i=n||t;return"function"==typeof i.fetch?i.fetch:ph(i.fetch)?r=>eH(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:eH}function rH(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&ph(n[a]),c="baseUri"===a&&!e,d="workerUrl"===a&&e;if(!(a in t)&&!c&&!d)if(a in i)tH.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const f=pge(a,r);tH.warn(`${s} loader option '${o}${a}' not recognized. ${f}`)()}}}function pge(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function oH(n,e){for(const t in e)t in e&&(n[t]=X5(e[t])&&X5(n[t])?K(K({},n[t]),e[t]):e[t])}function Qc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function _ge(n,e="3.0.12"){return Qc(n,"no worker provided"),!(!e||!n.version)}const Jc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},yge=Jc.global||Jc.self||Jc.window||{},_P="object"!=typeof process||"[object process]"!==String(process)||process.browser,yP="function"==typeof importScripts,vge="undefined"!=typeof window&&void 0!==window.orientation,aH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vP=(aH&&parseFloat(aH[1]),new Map);function lH(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function cH(n,e=!0,t){const i=t||new Set;if(n)if(uH(n))i.add(n);else if(uH(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)cH(n[r],e,i);return void 0===t?Array.from(i):[]}function uH(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bP=()=>{};class dH{static isSupported(){return"undefined"!=typeof Worker}constructor(e){sn(this,"name",void 0),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"terminated",!1),sn(this,"worker",void 0),sn(this,"onMessage",void 0),sn(this,"onError",void 0),sn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Qc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bP,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bP,this.onError=bP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||cH(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Qc(n.source&&!n.url||!n.source&&n.url);let e=vP.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?lH(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vP.set(n.url,e)),n.source&&(e=lH(n.source),vP.set(n.source,e))),Qc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Ege{constructor(e,t){sn(this,"name",void 0),sn(this,"workerThread",void 0),sn(this,"isRunning",void 0),sn(this,"result",void 0),sn(this,"_resolve",void 0),sn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Qc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Qc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Sge{constructor(e){sn(this,"name","unnamed"),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"maxConcurrency",1),sn(this,"maxMobileConcurrency",1),sn(this,"onDebug",()=>{}),sn(this,"reuseWorkers",!0),sn(this,"props",{}),sn(this,"jobQueue",[]),sn(this,"idleQueue",[]),sn(this,"count",0),sn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=K(K({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return yn(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return yn(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Ege(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return dH.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){sn(this,"props",void 0),sn(this,"workerPools",new Map),this.props=K({},Mge),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=K(K({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Sge({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Tge(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Qc(r),r}function Age(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Dge(n,e,t,i,r){return CP.apply(this,arguments)}function CP(){return(CP=yn(function*(n,e,t,i,r){const s=n.id,o=Tge(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Oge.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Oge(n,e,t,i){return wP.apply(this,arguments)}function wP(){return(wP=yn(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}sn(td,"_workerFarm",void 0);var fH=ze(521);function pH(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return fH.toArrayBuffer?fH.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function kge(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function gH(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Fge(n){return SP.apply(this,arguments)}function SP(){return(SP=yn(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iP(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return kge(...e)})).apply(this,arguments)}const Bge=262144;function mH(n){this.wrapped=n}function bb(n){return new mH(n)}function Cb(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,d=c instanceof mH;Promise.resolve(d?c.wrapped:c).then(function(f){d?r("return"===o?"return":"next",f):s(l.done?"return":"normal",f)},function(f){r("throw",f)})}catch(f){s("throw",f)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var d={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=d:(e=t=d,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function xP(n){return function(){return new Cb(n.apply(this,arguments))}}function TP(){return(TP=xP(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OP)}function Wge(n,e,t){return IP.apply(this,arguments)}function IP(){return(IP=yn(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return Gge(n,e);if(Im(n)&&(n=yield J5(n)),vb(n)){const r=n;return yield sge(r),e.binary?yield r.arrayBuffer():yield r.text()}if(K5(n)&&(n=$ge(n,t)),Gpe(n)||Wpe(n))return Fge(n);throw new Error(OP)})).apply(this,arguments)}function Yge(n,e,t=null){if(t)return t;const i=K({fetch:iH(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function Xge(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const yH=()=>{const n=gP();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function vH(n){const e=yH();n=Array.isArray(n)?n:[n];for(const t of n){const i=sP(t);e.find(r=>i===r)||e.unshift(i)}}const Zge=/\.([^.]+)$/;function Qge(n){return kP.apply(this,arguments)}function kP(){return(kP=yn(function*(n,e=[],t,i){if(!CH(n))return null;let r=bH(n,e,Lt(K({},t),{nothrow:!0}),i);if(r)return r;if(Im(n)&&(r=bH(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(wH(n));return r})).apply(this,arguments)}function bH(n,e=[],t,i){if(!CH(n))return null;if(e&&!Array.isArray(e))return sP(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...yH()),function(n){for(const e of n)sP(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FP(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&Zge.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FP(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(rme(e,t))return t}else if(ArrayBuffer.isView(e)){if(EH(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&EH(e,0,t))return t;return null}(e,n),a=a||FP(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(wH(n));return s}function CH(n){return!(n instanceof Response&&204===n.status)}function wH(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?NP(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?NP(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FP(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function rme(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function EH(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let eu=new Uint8ClampedArray(0);const gme={data:{type:"data",value:fme,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Lt(K({},r),{fetch:Lt(K({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:wb(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):wb(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:qn.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Eb=(()=>{class n extends Hpe{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=U5(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=k5(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=K({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===qn.DEFAULT&&(t=i.isGeospatial?qn.LNGLAT:qn.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:d}=S5(t,i,r),f=U5(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:d});d&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(f,f,t.projectPosition(l||c));return f}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===qn.DEFAULT||t===qn.LNGLAT||t===qn.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){sc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=bfe(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const d of c)o.invalidateAll(d);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:d}=o.attributes,f=c||d;f&&(l&&f.constant&&(f.constant=!1,o.invalidate(f.id)),!f.value&&!l&&(f.constant=!0,f.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!pme({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(eu.length/3);if(this.internalState.usesPickingColorCache=!0,rSH&&jn.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),eu=nb.allocate(eu,i,{size:3,copy:!0,maxCount:Math.max(i,SH)});const s=Math.floor(eu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const d of this.props.extensions)d.draw.call(this,c,d);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&no("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=y5({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&v5(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&v5(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:ffe(n,e),transitionsChanged:ufe(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new tfe(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){sc(!this.internalState&&!this.state),sc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new $pe({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(jn.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ofe(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){no("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=gme,n})(),MH=(()=>{class n extends Eb{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C,_subLayerProps:w}=this.props,x={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C},N=w&&w[t.id],V=N&&N.updateTriggers,U=t.id||"sublayer";if(N){const ee=this.constructor._propTypes,de=t.type?t.type._propTypes:{};for(const ae in N){const me=de[ae]||ee[ae];me&&"accessor"===me.type&&(N[ae]=this.getSubLayerAccessor(N[ae]))}}Object.assign(x,t,N),x.id="".concat(this.props.id,"-").concat(U),x.updateTriggers=K(K({all:this.props.updateTriggers.all},t.updateTriggers),V);for(const ee of v){const de=ee.getSubLayerProps.call(this,ee);de&&Object.assign(x,de,{updateTriggers:Object.assign(x.updateTriggers,de.updateTriggers)})}return x}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),no("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const _me=/([0-9]+\.?[0-9]*)(%|px)/;function XS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(_me);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function KS(n,e){return n.relative?Math.round(n.position*e):n.position}function Sb(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Sb(i,r)))return!1}return!0}class zP{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:d=1e3,modelMatrix:f=null,viewportInstance:p=null,type:g=Om}=e;sc(!p||p instanceof Om),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Lt(K({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:d,modelMatrix:f}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Sb(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=K({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:KS(this._x,e),y:KS(this._y,t),width:KS(this._width,e),height:KS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),K(K({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(K(K(K({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=XS(e),this._y=XS(t),this._width=XS(i),this._height=XS(r)}}const Mb=()=>{},xH={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Mb,onTransitionInterrupt:Mb,onTransitionEnd:Mb};class yme{constructor(e,t={}){this.ControllerState=e,this.props=K(K({},xH),t),this.propsInTransition=null,this.transition=new fb(t.timeline),this.onViewStateChange=t.onViewStateChange||Mb,this.onStateChange=t.onStateChange||Mb,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=K(K({},xH),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=K(K({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(K(K({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const TH=["longitude","latitude","zoom","bearing","pitch"],bme=["longitude","latitude","zoom"];class AH extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!rb(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];sc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:TH,extract:TH,required:bme}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=bS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(K(K({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,bS(e.around,t.around,i)))}return r}}const gh={transitionDuration:0},Cme={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},QS=n=>1-(1-n)*(1-n),Pm_WHEEL=["wheel"],Pm_PAN=["panstart","panmove","panend"],Pm_PINCH=["pinchstart","pinchmove","pinchend"],Pm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],Pm_DOUBLE_TAP=["doubletap"],Pm_KEYBOARD=["keydown"];class jP{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new yme(e,Lt(K({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Lt(K({},Cme),{transitionInterpolator:new AH({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,d=Boolean(this.onViewStateChange);this.toggleEvents(Pm_WHEEL,d&&i),this.toggleEvents(Pm_PAN,d&&(r||s)),this.toggleEvents(Pm_PINCH,d&&(a||l)),this.toggleEvents(Pm_TRIPLE_PAN,d&&l),this.toggleEvents(Pm_DOUBLE_TAP,d&&o),this.toggleEvents(Pm_KEYBOARD,d&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=K(K({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,gh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Lt(K({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,gh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,gh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,gh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Lt(K({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Lt(K({},t),{transitionInterpolator:new AH(Lt(K({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:gh}}class DH{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const mh_target=[0,0,0];class JS extends DH{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=mh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:d=-(1/0),maxZoom:f=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:d,maxZoom:f}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let d=(e[0]-r[0])/a;(s<-90||s>90)&&(d*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*d}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Lt(K({},this._viewportProps),{zoom:a}));return this._getUpdatedState(K({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),np(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(K(K(K({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=np(r,i,t),e.rotationX=np(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Eme extends jP{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Sme extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Mme=(new $t).lookAt({eye:[0,0,1]});function xme({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new $t).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Tme extends Om{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Lt(K({},e),{longitude:null,position:a,viewMatrix:Mme.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:xme({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=zS([],e,M5([],gb(t,this.pixelUnprojectionMatrix)));return{target:zS([],this.center,r)}}}let Ame=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:Tme}))}get controller(){return this._getControllerProps({type:Sme})}}return n.displayName="OrthographicView",n})();const eM=Math.PI/180;function Dme({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*eM/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new $t).lookAt({eye:l,up:a});c.rotateX(i*eM),"Z"===t?c.rotateZ(r*eM):c.rotateY(r*eM);const d=Math.pow(2,s)/(n||1);return c.scale(d),c}class Ome extends Om{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Lt(K({},e),{longitude:null,viewMatrix:Dme({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=gb([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Ime=(()=>{class n extends zP{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Lt(K({},t),{orbitAxis:i,type:Ome}))}get controller(){return this._getControllerProps({type:Eme})}}return n.displayName="OrbitView",n})();const Pme=[255,255,255],Rme=1;let kme=0;class OH{constructor(e={}){const{color:t=Pme}=e,{intensity:i=Rme}=e;this.id=e.id||"ambient-".concat(kme++),this.color=t,this.intensity=i,this.type="ambient"}}const Fme=[255,255,255],Nme=1,Lme=[0,0,-1];let Bme=0;class IH{constructor(e={}){const{color:t=Fme}=e,{intensity:i=Nme}=e,{direction:r=Lme}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Bme++),this.color=t,this.intensity=i,this.type="directional",this.direction=new to(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class PH{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=K({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UP extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=K({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,d=i&&i[c.id];r(c);const f=this._getDrawLayerParams(c,e);e.view=d;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const _=this._drawLayersInViewport(o,e,f);a.push(_)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=RH(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let d=0;dpI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const d=t[l]=t[l]||RH(e[l],e);c=d(r,s),t[a]=d}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Ume extends UP{constructor(e,t){super(e,t),this.shadowMap=new na(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new vm(e,{format:33189,width:1,height:1}),this.fbo=new ss(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;rc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=mm(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Lt(K({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const $me=Object.keys(qn).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(qn[n],";")).join(""),Gme=Object.keys(Yc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Yc[n],";")).join(""),Wme="".concat($me,"\n").concat(Gme,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),qme={},HP={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:Wme,getUniforms:function(n=qme){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=qn.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===qn.DEFAULT&&(i=n.isGeospatial?qn.LNGLAT:qn.CARTESIAN);const o=Zfe({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||Yfe,o}(n):{}}},Zme=NS(function({viewport:n,center:e}){return new $t(n.viewProjectionMatrix).invert().transform(e)}),Qme=NS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=gb([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new to(n.center).negate()),l=s.map(d=>a.transform(d)),c=(new $t).ortho({left:Math.min(...l.map(d=>d[0])),right:Math.max(...l.map(d=>d[0])),bottom:Math.min(...l.map(d=>d[1])),top:Math.max(...l.map(d=>d[1])),near:Math.min(...l.map(d=>-d[2])),far:Math.max(...l.map(d=>-d[2]))});t.push(c.multiplyRight(o))}return t}),Jme=[0,0,0,1],e_e=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$P={name:"shadow",dependencies:[HP],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||Jme,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=Zme({viewport:n.viewport,center:e.project_uCenter}),r=[],s=Qme({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},s_e={color:[255,255,255],intensity:1},kH=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],o_e=[0,0,0,200/255];class GP extends PH{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=o_e,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=db.getDefaultProgramManager(e),$P&&this.programManager.addDefaultModule($P)),this.dummyShadowMap||(this.dummyShadowMap=new na(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($P),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new $t).lookAt({eye:new to(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=l_e++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class c_e{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=wb(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class u_e{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new c_e(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const d_e=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HP],h_e=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function f_e(n){const e=db.getDefaultProgramManager(n);for(const t of d_e)e.addDefaultModule(t);for(const t of h_e)e.addShaderHook(t);return e}const m_e=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class __e{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new u_e({gl:e,protocol:"deck://"}),this.context=Lt(K({},m_e),{layerManager:this,gl:e,deck:t,programManager:e&&f_e(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Om({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new FH,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){no("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return no("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?jn.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&jn.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class y_e{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Sb(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):jn.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(K({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Lt(K(K(K({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let d=r[a.id];a.controller&&!d&&(s=!0),(s||!a.controller)&&d&&(d.finalize(),d=null),this.controllers[a.id]=this._updateController(a,l,c,d),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class b_e extends DH{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:d=20,minZoom:f=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x,normalize:N}={}){sc(Number.isFinite(s)),sc(Number.isFinite(r)),sc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:d,minZoom:f,maxPitch:p,minPitch:g,normalize:N}),this._state={startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Lt(K({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Lt(K({},this._viewportProps),{zoom:o}));return this._getUpdatedState(K({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(K(K(K({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=np(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=np(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=A5(t+180,360)-180),(o<-180||o>180)&&(o=A5(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Dm([0,l])[1];if(id&&(i=d)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return np(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=np(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let d=0;return r>0?Math.abs(l-o)>5&&(d=r/(o-l)*1.2):r<0&&o>5&&(d=1-s/o),d=Math.min(1,Math.max(-1,d)),{deltaScaleX:c,deltaScaleY:d}}}class C_e extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(b_e,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let w_e=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:j5}))}get controller(){return this._getControllerProps({type:C_e})}}return n.displayName="MapView",n})();const E_e=new GP;class S_e{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Sb(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GP)||this._internalEffects.push(E_e)}}class M_e extends UP{}const LH={blendFunc:[1,0,32771,0],blendEquation:32774};class BH extends UP{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:d},pass:f="picking",redrawReason:p,pickZ:g}){const _=this.gl;return this.pickZ=g,rc(_,Lt(K({scissorTest:!0,scissor:[a,l,c,d],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},LH),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:f,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Lt(K({},LH),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return K(K({},e.props.parameters),i)}}class T_e{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new M_e(e),this.pickLayersPass=new BH(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ss.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Lt(K({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,no("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ss(this.gl),new ss(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const A_e={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function D_e({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let d=r*r,f=-1,p=0;for(let g=0;gd)p+=4*l;else for(let v=0;v=0){const w=v+o-t,x=w*w+y;x<=d&&(d=x,f=p)}p+=4}}if(f>=0){const g=n[f+3]-1,_=n.slice(f,f+4),y=e[g];if(y){const v=y.decodePickingColor(_),C=Math.floor(f/4/l);return{pickedColor:_,pickedLayer:y,pickedObjectIndex:v,pickedX:o+(f/4-C*l),pickedY:a+C}}jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return A_e}function VH({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,d=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),f=d&&d.unproject([s-d.x,o-d.y],{targetZ:a});return{color:null,layer:null,viewport:d,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:f,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function I_e(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const f=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==f){if(g!==p){const _=r.find(y=>y.props.id===p);_&&l.unshift(_)}t.layerId=g,t.index=a,t.info=null}}const c=VH(n),d=new Map;return d.set(null,c),l.forEach(f=>{let p=K({},c);f===o&&(p.color=s,p.index=a,p.picked=!0),p=zH({layer:f,info:p,mode:i}),f===o&&"hover"===i&&(t.info=p),d.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),d}function zH({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class R_e{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new BH(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],d=c&&c.unproject([e-c.x,t-c.y]),f={x:e,y:t,viewport:c,coordinate:d,layer:l};return l?K(K({},s),f):Object.assign(f,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ss(e),ss.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ss(e),this.depthFBO.attach({36064:new na(e,{format:In(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(jn.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:d}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:VH({viewports:i,x:r,y:s})};this._resizeBuffer();const f=mm(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],_=Math.round(o*f),{width:y,height:v}=this.pickingFBO,C=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:_,deviceWidth:y,deviceHeight:v});let w;const x=[],N={};for(let V=0;V=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:d,deviceRect:{x:g,y:C,width:y.x+y.width-g,height:_-C},pass:"picking:".concat(l),redrawReason:l}),layers:e}),V=new Map,U=Number.isFinite(c);for(let ee=0;ee=c);ee++){const de=N[ee];let ae={color:de.pickedColor,layer:null,index:de.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:f};ae=zH({layer:de.pickedLayer,info:ae,mode:l}),V.has(ae.object)||V.set(ae.object,ae)}return Array.from(V.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:d,y:f,width:p,height:g}=s,_=new(l?Float32Array:Uint8Array)(p*g*4);return vS(c,{sourceX:d,sourceY:f,sourceWidth:p,sourceHeight:g,target:_}),_}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const k_e={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class F_e{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,k_e),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function jH(n,e){if(!n)throw new Error(e)}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},UH=tu.global||tu.self||tu.window,L_e="object"!=typeof process||"[object process]"!==String(process)||process.browser,HH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:B_e}=(HH&&parseFloat(HH[1]),UH),WP="undefined"!=typeof Image,qP="undefined"!=typeof ImageBitmap,V_e=Boolean(B_e),YP=!!L_e||V_e;function $H(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function GH(n){switch($H(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const U_e=/^data:image\/svg\+xml/,H_e=/\.svg((\?|#).*)?$/;function XP(n){return n&&(U_e.test(n)||H_e.test(n))}function $_e(n,e){if(XP(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return qH(n,e)}function qH(n,e){if(XP(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function YH(n,e,t){return KP.apply(this,arguments)}function KP(){return(KP=yn(function*(n,e,t){const i=$_e(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield G_e(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function G_e(n,e){return ZP.apply(this,arguments)}function ZP(){return(ZP=yn(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const W_e={};let XH=!0;function q_e(n,e,t){return QP.apply(this,arguments)}function QP(){return(QP=yn(function*(n,e,t){let i;i=XP(t)?yield YH(n,e,t):qH(n,t);const r=e&&e.imagebitmap;return yield Y_e(i,r)})).apply(this,arguments)}function Y_e(n){return JP.apply(this,arguments)}function JP(){return(JP=yn(function*(n,e=null){if((X_e(e)||!XH)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),XH=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function X_e(n){for(const e in n||W_e)return!1;return!0}const nu=!1,xb=!0;function eR(n){const e=Tb(n);return function(n){const e=Tb(n);return e.byteLength>=24&&2303741511===e.getUint32(0,nu)?{mimeType:"image/png",width:e.getUint32(16,nu),height:e.getUint32(20,nu)}:null}(e)||function(n){const e=Tb(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,nu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,nu)?{mimeType:"image/gif",width:e.getUint16(6,xb),height:e.getUint16(8,xb)}:null}(e)||function(n){const e=Tb(n);return e.byteLength>=14&&16973===e.getUint16(0,nu)&&e.getUint32(2,xb)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,xb),height:e.getUint32(22,xb)}:null}(e)}function Tb(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function tye(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=UH;return jH(i),i(n,t,e)}function tR(){return(tR=yn(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(iye(r)){case"imagebitmap":a=yield q_e(n,e,s);break;case"image":a=yield YH(n,e,s);break;case"data":a=yield tye(n,e);break;default:jH(!1)}return"data"===r&&(a=GH(a)),a})).apply(this,arguments)}function iye(n){switch(n){case"auto":case"data":return function(){if(qP)return"imagebitmap";if(WP)return"image";if(YP)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qP||WP||YP;case"imagebitmap":return qP;case"image":return WP;case"data":return YP;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var Rm=ze(761);const sye={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Ab="8.5.8",tM=Rm.CO.deck&&Rm.CO.deck.VERSION;if(tM&&tM!==Ab)throw new Error("deck.gl - multiple versions detected: ".concat(tM," vs ").concat(Ab));tM||(jn.log(1,"deck.gl ".concat(Ab))(),Rm.CO.deck=Object.assign(Rm.CO.deck||{},{VERSION:Ab,version:Ab,log:jn,_registerLoggers:function(n){TI=n}}),vH([sye,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const oye=Rm.CO.deck;class nM extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=In(e),r=f4(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:nt(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nM.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const KH=yS()&&"undefined"!=typeof document;let mye=0;class _ye{constructor(e={}){const{onCreateContext:t=(v=>qU(v)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:d=!1,createFramebuffer:f=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:_=Jf.get("animation-loop-"+mye++)}=e;let{useDevicePixels:y=!0}=e;"useDevicePixelRatio"in e&&(vt.deprecated("useDevicePixelRatio","useDevicePixels")(),y=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:d,createFramebuffer:f},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=_,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:y}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return nt("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nM.isSupported(this.gl,["timers"])?new nM(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return yn(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return vt.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=KH?new Promise((e,t)=>{KH&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(vt.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(vt.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ss(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var yye=ze(524),iM=ze.n(yye);const vye={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(iM().MouseInput);const Eye=iM().Manager,iu=iM(),Sye=iu?[[iu.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[iu.Rotate,{enable:!1}],[iu.Pinch,{enable:!1}],[iu.Swipe,{enable:!1}],[iu.Pan,{threshold:0,enable:!1}],[iu.Press,{enable:!1}],[iu.Tap,{event:"doubletap",taps:2,enable:!1}],[iu.Tap,{event:"anytap",enable:!1}],[iu.Tap,{enable:!1}]]:null,JH={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Mye={doubletap:["tap"]},xye={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Tye={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},e6={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Aye="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",km="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let t6=!1;try{const n={get passive(){return t6=!0,!0}};km.addEventListener("test",n,n),km.removeEventListener("test",n,n)}catch(n){}const Dye=-1!==Aye.indexOf("firefox"),{WHEEL_EVENTS:Oye}=rR,i6=4.000244140625;class Rye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Oye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!t6&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;km.WheelEvent&&(Dye&&e.deltaMode===km.WheelEvent.DOM_DELTA_PIXEL&&(t/=km.devicePixelRatio),e.deltaMode===km.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%i6==0&&(t=Math.floor(t/i6)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:kye}=rR,r6="pointermove",s6="pointerover",o6="pointerout",a6="pointerleave";class Fye{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=kye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===r6&&(this.enableMoveEvent=t),e===s6&&(this.enableOverEvent=t),e===o6&&(this.enableOutEvent=t),e===a6&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:s6,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:o6,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:a6,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:r6,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Nye}=rR,l6="keydown";class Lye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Nye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===l6&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:l6,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const u6="contextmenu";class Bye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===u6&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:u6,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Vye={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},d6={srcElement:"root",priority:0};class Zye{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},d6,i):d6;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let d=l.length-1;for(;d>=0&&!(l[d].priority>=c.priority);)d--;l.splice(d+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&JH[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Rye(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Fye(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Lye(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Bye(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Mye[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const d in e)this._addEventHandler(d,e[d],i,r,s);return}const{manager:o,events:a}=this,l=e6[e]||e;let c=a.get(l);c||(c=new Zye(this),a.set(l,c),c.recognizerName=Tye[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(e6[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=xye[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function ap(){}const h6={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:ap,onResize:ap,onViewStateChange:ap,onInteractionStateChange:ap,onBeforeRender:ap,onAfterRender:ap,onLoad:ap,onError:(n,e)=>jn.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sM{constructor(e){e=K(K({},h6),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&jn.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,Rm.qs)()&&jn.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&nb.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&jn.removed("onLayerHover","onHover")(),"onLayerClick"in e&&jn.removed("onLayerClick","onClick")(),e.initialViewState&&!Sb(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](K({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),sc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:d,autoResizeDrawingBuffer:f}=e;return new _ye({width:t,height:i,useDevicePixels:d,autoResizeDrawingBuffer:f,autoResizeViewport:!1,gl:r,onCreateContext:p=>qU(Lt(K(K({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new w_e({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new F_e(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new FH;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Jye(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in IU)this.eventManager.on(r,this._onEvent);this.viewManager=new y_e({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new __e(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new S_e,this.deckRenderer=new T_e(e),this.deckPicker=new R_e(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(K({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),jn.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Lt(K({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=IU[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Jf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sM.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(PH)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sM.defaultProps=h6,sM.VERSION=oye.VERSION;const oM={name:"project32",dependencies:[HP],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ive={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},aM=K({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ive){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),f6={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class _h{static get DRAW_MODE(){return f6}constructor(e={}){const{id:t=ea("geometry"),drawMode:i=f6.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?K({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,nt(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(nt(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return nt(Number.isFinite(i)),i}}const p6=()=>{},cve={10241:9987,10240:9729,10242:33071,10243:33071};function uve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function dve(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Db(n){return n&&(n.id||n.url)}function g6(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(g6(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,f)}}return a.length>0&&g6(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:uve(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new na(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:cve})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=u4(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:d,height:f}=t;const{framebuffer:p,deleteFramebuffer:g}=tb(n);nt(p);const{gl:_,handle:y}=p,v=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const C=_.bindFramebuffer(36160,y);nt(e);let w=null;if(e instanceof ep&&(w=e,d=Number.isFinite(d)?d:w.width,f=Number.isFinite(f)?f:w.height,w.bind(0),e=w.target),v)switch(e){case 3553:case 34067:_.copyTexSubImage2D(e,s,a,l,i,r,d,f);break;case 35866:case 32879:eo(_).copyTexSubImage3D(e,s,a,l,c,i,r,d,f)}else _.copyTexImage2D(e,s,o,i,r,d,f,0);w&&w.unbind(),_.bindFramebuffer(36160,C||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,wb(i.url,nR,this._loadOptions).then(r=>{const s=Db(i),{x:o,y:a,width:l,height:c}=this._mapping[s],d=dve(t,r,l,c);this._texture.setSubImageData({data:d,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const m6=[0,0,0,255],mve={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:m6},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let _ve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.state={iconManager:new gve(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:m6},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:d}=this.state;d.setProps({loadOptions:i.loadOptions});let f=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&d.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(d.setProps({iconMapping:a}),f=!0)):d.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&d.setProps({data:l,getIcon:c}),f&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:_}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(_),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:d}=this.context,f=c.getTexture();f&&this.state.model.setUniforms(t).setUniforms({iconsTexture:f,iconsTextureDim:[f.width,f.height],sizeScale:i*("pixels"===o?d.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):jn.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=mve,n})();const y6=[],vve={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let bve=(()=>{class n extends _ve{getShaders(){return Lt(K({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&jn.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Lt(K({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):y6}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):y6}}return n.layerName="MultiIconLayer",n.defaultProps=vve,n})();var Cve=ze(2),wve=ze.n(Cve);const Sve=[];function Mve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function v6(n,e,t,i){let r=0;for(let s=e;si&&(oa){let f=v6(n,a,l,r);c+f>i&&(oi&&(f=b6(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=f}}(n,r,s,t,i,o),o}function Dve(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,d=[0,0],f=[];let p=0,g=0,_=0;for(let y=0;y<=s;y++){const v=n[y];if(("\n"===v||y===s)&&(_=y),_>g){const C=c?Ave(n,t,i,r,g,_):Sve;for(let w=0;w<=C.length;w++){const x=0===w?g:C[w-1],N=wi===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Fve=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Lve(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:d}=this.props;let f=i&&i.data;f||(f=document.createElement("canvas"),f.width=1024);const p=f.getContext("2d");I6(p,r,o,s);const{mapping:g,canvasHeight:_,xOffset:y,yOffset:v}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,d=0;for(const p of n)if(!s[p]){const g=e(p,d++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const f=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*f,canvasHeight:Mve(a+(l+1)*f)}}(K({getFontWidth:C=>p.measureText(C).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(f.height!==_){const C=p.getImageData(0,0,f.width,f.height);f.height=_,p.putImageData(C,0,0)}if(I6(p,r,o,s),l){const C=new(wve())(o,a,c,d,r,s),w=p.getImageData(0,0,C.size,C.size);for(const x of t)Lve(C.draw(x),w),p.putImageData(w,g[x].x-a,g[x].y+a)}else for(const C of t)p.fillText(C,g[C].x,g[C].y+.9*o);return{xOffset:y,yOffset:v,mapping:g,data:f,width:f.width,height:f.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const jve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Uve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:d}=this.props;const f="pixels"===o?i.metersPerPixel:1;d.length<4&&(d=[d[0],d[1],d[0],d[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:d,sizeScale:s*f,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=jve,n})();const P6={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},R6={start:1,middle:0,end:-1},k6={top:1,center:0,bottom:-1},lR=[0,0,0,255],$ve=["fontSize","buffer","sdf","radius","cutoff"],Gve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:w6},fontFamily:E6,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let Wve=(()=>{class n extends MH{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Bve}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Lt(K(K({},P6),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return $ve.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:d}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),d=s&&new Set,f=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:d}=SS(t);o=[0],a=0;for(const f of c){d.index++;const p=Array.from(s(f,d)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{size:[p,g]}=C6(f,l,o,a,r);return[(R6["function"==typeof c?c(t,i):c]-1)*p/2,(k6["function"==typeof d?d(t,i):d]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{x:p,y:g,rowWidth:_,size:[y,v]}=C6(f,l,o,a,r),C=R6["function"==typeof c?c(t,i):c],w=k6["function"==typeof d?d(t,i):d],x=p.length,N=new Array(2*x);let V=0;for(let U=0;Ut*e/255)}const uR={name:"lights",vs:F6,fs:F6,getUniforms:function N6(n=qve){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return N6({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},Xve={};const Zve={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=Xve){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,lM=new Float32Array(16),V6=new Float32Array(12);function z6(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),d=Math.cos(i),f=Math.cos(r),p=t[0],g=t[1],_=t[2];n[0]=p*f*d,n[1]=p*l*d,n[2]=p*-a,n[3]=g*(-l*c+f*a*o),n[4]=g*(f*c+l*a*o),n[5]=g*d*o,n[6]=_*(l*o+f*a*c),n[7]=_*(-f*o+l*a*c),n[8]=_*d*c}function j6(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const U6={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,d=Array.isArray(s),f=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:f&&d&&p;const _=n.value;if(n.constant){let y;g?(lM.set(a),y=j6(lM)):(y=V6,z6(y,r,s),y.set(o,9)),n.value=new Float32Array(y)}else{let y=e*n.size;const{iterable:v,objectInfo:C}=SS(i,e,t);for(const w of v){let x;C.index++,g?(lM.set(c?a:a(w,C)),x=j6(lM)):(x=V6,z6(x,f?r:r(w,C),d?s:s(w,C)),x.set(p?o:o(w,C),9)),_[y++]=x[0],_[y++]=x[1],_[y++]=x[2],_[y++]=x[3],_[y++]=x[4],_[y++]=x[5],_[y++]=x[6],_[y++]=x[7],_[y++]=x[8],_[y++]=x[9],_[y++]=x[10],_[y++]=x[11]}}}};function H6(n,e){return e===qn.CARTESIAN||e===qn.METER_OFFSETS||e===qn.DEFAULT&&!n.isGeospatial}function $6(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),jn.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function ebe(n,e){if(n.attributes)return $6(n.attributes,e),n instanceof _h?n:new _h(n);if(n.positions||n.POSITION)return $6(n,e),new _h({attributes:n});throw Error("Invalid mesh")}const tbe={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let nbe=(()=>{class n extends Eb{getShaders(){const t=!In(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[oM,Zve,aM],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:U6}),this.setState({emptyTexture:new na(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||H6(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Mm(this.context.gl,Lt(K({},this.getShaders()),{id:this.props.id,geometry:ebe(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=tbe,n})();const G6={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class Fm{constructor(e={}){const{id:t}=e;this.id=t||ea(this.constructor.name),this.display=!0,this.position=new to,this.rotation=new to,this.scale=new to(1,1,1),this.matrix=new $t,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return nt(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return nt(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return nt(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){nt(e),t=t||this.matrix;const i=new $t(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Ob extends Fm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;vt.assert(t.every(i=>i instanceof Fm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new $t}={}){const i=new $t(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Ob?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function W6(){var n=new ia(4);return ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function q6(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function Y6(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],d=t[3];return n[0]=i*d+o*a+r*c-s*l,n[1]=r*d+o*l+s*a-i*c,n[2]=s*d+o*c+i*l-r*a,n[3]=o*d-i*a-r*l-s*c,n}var K6=w5,_be=function(){var n=m4(),e=_4(1,0,0),t=_4(0,1,0);return function(i,r,s){var o=y4(r,s);return o<-.999999?(wS(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&wS(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),q6(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(wS(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();W6(),W6(),function(){var n=new ia(9);ia!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const ybe=[0,0,0,1],bbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cbe={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function J6(n){if(!n._animation){const e=Cbe[n.componentType],t=bbe[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}}(this,e),this.check()}identity(){return function(n){n[0]=0,n[1]=0,n[2]=0,n[3]=1}(this),this.check()}fromAxisRotation(e,t){return q6(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ks(e)}get y(){return this[1]}set y(e){this[1]=ks(e)}get z(){return this[2]}set z(e){this[2]=ks(e)}get w(){return this[3]}set w(e){this[3]=ks(e)}len(){return function(n){return Math.hypot(n[0],n[1],n[2],n[3])}(this)}lengthSquared(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r}(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]}(this,e)}rotationTo(e,t){return _be(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return function(n,e,t){n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3]}(this,this,e),this.check()}calculateW(){return function(n,e){var t=e[0],i=e[1],r=e[2];n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r))}(this,this),this.check()}conjugate(){return function(n,e){n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3]}(this,this),this.check()}invert(){return function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a}(this,this),this.check()}lerp(e,t,i){return function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a)}(this,e,t,i),this.check()}multiplyRight(e,t){return Qu(!t),Y6(this,this,e),this.check()}multiplyLeft(e,t){return Qu(!t),Y6(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a}(this,this,e),this.check()}rotateY(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a}(this,this,e),this.check()}rotateZ(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a}(this,this,e),this.check()}scale(e){return K6(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ybe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return function(n,e,t,i){var p,g,_,y,v,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],d=t[2],f=t[3];(g=r*l+s*c+o*d+a*f)<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>Kc?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-i)*p)/_,v=Math.sin(i*p)/_):(y=1-i,v=i),n[0]=y*r+v*l,n[1]=y*s+v*c,n[2]=y*o+v*d,n[3]=y*a+v*f}(this,e,t,i),this.check()}transformVector4(e,t=e){return function(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;n[0]=d*c+g*-o+f*-l-p*-a,n[1]=f*c+g*-a+p*-o-d*-l,n[2]=p*c+g*-l+d*-a-f*-o,n[3]=e[3]}(t,e,this),CS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}};class Abe{constructor(e){this.startTime=0,this.playing=!0,this.speed=1,this.channels=[],Object.assign(this,e)}animate(e){if(!this.playing)return;const i=(e/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:r,target:s,path:o})=>{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:vt.warn(`Bad animation path ${s}`)()}nt(r[s].length===i[c].length);const d=e[c],f=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;id&&function(n,e,t,i,r){if("rotation"===e){hR.slerp({start:t,target:i,ratio:r});for(let s=0;sd&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:J6(e.accessors[a]),interpolation:l,output:J6(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Abe({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Obe extends Fm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Mm?(this.model=e,this._setModelNodeProps(t)):this.model=new Mm(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Ibe{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new na(this.gl,K({id:e.name||e.id,parameters:K(K({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(vt.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function e8(n,e){return In(n)?`#version 300 es\n${e}`:e}const Fbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Nbe={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Lbe{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Nbe,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Dbe(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Ob({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Ob({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new $t).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Ob({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){vt.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Ibe(n,e);vt.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(d=>d.buffer));const c=new Obe(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[G6],defines:a.defines,parameters:a.parameters,vs:e8(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:e8(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),vt.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new Ai(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ta({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Fbe[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function t8(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new Nm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new Nm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof Nm){const o=e;t=o.fields,i=s8(s8(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new Nm(s,i)}}function s8(n,e){return new Map([...n||new Map,...e||new Map])}let cr,o8,a8,l8,c8,u8,d8,h8;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(cr||(cr={}));class fR{static isNull(e){return e&&e.typeId===cr.Null}static isInt(e){return e&&e.typeId===cr.Int}static isFloat(e){return e&&e.typeId===cr.Float}static isBinary(e){return e&&e.typeId===cr.Binary}static isUtf8(e){return e&&e.typeId===cr.Utf8}static isBool(e){return e&&e.typeId===cr.Bool}static isDecimal(e){return e&&e.typeId===cr.Decimal}static isDate(e){return e&&e.typeId===cr.Date}static isTime(e){return e&&e.typeId===cr.Time}static isTimestamp(e){return e&&e.typeId===cr.Timestamp}static isInterval(e){return e&&e.typeId===cr.Interval}static isList(e){return e&&e.typeId===cr.List}static isStruct(e){return e&&e.typeId===cr.Struct}static isUnion(e){return e&&e.typeId===cr.Union}static isFixedSizeBinary(e){return e&&e.typeId===cr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===cr.FixedSizeList}static isMap(e){return e&&e.typeId===cr.Map}static isDictionary(e){return e&&e.typeId===cr.Dictionary}get typeId(){return cr.NONE}compareTo(e){return this===e}}Symbol,Symbol,o8=Symbol.toStringTag;class Lm extends fR{constructor(e,t){super(),sn(this,"isSigned",void 0),sn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return cr.Int}get[o8](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class qbe extends Lm{constructor(){super(!0,8)}}class Ybe extends Lm{constructor(){super(!0,16)}}class Xbe extends Lm{constructor(){super(!0,32)}}class Kbe extends Lm{constructor(){super(!1,8)}}class Zbe extends Lm{constructor(){super(!1,16)}}class Qbe extends Lm{constructor(){super(!1,32)}}a8=Symbol.toStringTag;class f8 extends fR{constructor(e){super(),sn(this,"precision",void 0),this.precision=e}get typeId(){return cr.Float}get[a8](){return"Float"}toString(){return`Float${this.precision}`}}class Jbe extends f8{constructor(){super(32)}}class e0e extends f8{constructor(){super(64)}}Symbol,Symbol,l8=Symbol.toStringTag,c8=Symbol.toStringTag,u8=Symbol.toStringTag,d8=Symbol.toStringTag,h8=Symbol.toStringTag;class t0e extends fR{constructor(e,t){super(),sn(this,"listSize",void 0),sn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return cr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[h8](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class uM{constructor(e,t,i=!1,r=new Map){sn(this,"name",void 0),sn(this,"type",void 0),sn(this,"nullable",void 0),sn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new uM(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function p8(n,e,t){const i=t?g8(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new qbe;case Uint8Array:return new Kbe;case Int16Array:return new Ybe;case Uint16Array:return new Zbe;case Int32Array:return new Xbe;case Uint32Array:return new Qbe;case Float32Array:return new Jbe;case Float64Array:return new e0e;default:throw new Error("array type not supported")}}(e.value);return new uM(n,new t0e(e.size,new uM("value",r)),!1,i)}function g8(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const m8={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},s0e={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class a0e{constructor(e){sn(this,"draco",void 0),sn(this,"decoder",void 0),sn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?d:r,s=f>s?f:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),d=function(n,e,t){const i=g8(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=p8(o,n[o],s[o]);r.push(l)}if(t){const o=p8("indices",t);r.push(o)}return new Nm(r,i)}(l.attributes,a,l.indices);return Lt(K({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:d})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dM=ze(125);const _R={};function yR(n){return vR.apply(this,arguments)}function vR(){return(vR=yn(function*(n,e=null,t={}){return e&&(n=h0e(n,e,t)),_R[n]=_R[n]||f0e(n),yield _R[n]})).apply(this,arguments)}function h0e(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_P?t.CDN?(Qc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yP?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function f0e(n){return bR.apply(this,arguments)}function bR(){return(bR=yn(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_P?yP?importScripts(n):p0e(yield(yield fetch(n)).text(),n):dM.requireFromFile&&(yield dM.requireFromFile(n))})).apply(this,arguments)}function p0e(n,e){if(!_P)return dM.requireFromString&&dM.requireFromString(n,e);if(yP)return eval.call(yge,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const g0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",m0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",_0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let Ib;function v0e(n){return CR.apply(this,arguments)}function CR(){return(CR=yn(function*(n){const e=n.modules||{};return Ib=e.draco3d?Ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):Ib||b0e(n),yield Ib})).apply(this,arguments)}function b0e(n){return ER.apply(this,arguments)}function ER(){return(ER=yn(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield yR(g0e,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield yR(m0e,"draco",n),yield yR(_0e,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield C0e(e,t)})).apply(this,arguments)}function C0e(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Lt(K({},t),{onModuleLoaded:r=>i({draco:r})}))})}const MR=Lt(K({},r8),{parse:function(n,e){return xR.apply(this,arguments)}});function xR(){return(xR=yn(function*(n,e){const{draco:t}=yield v0e(e),i=new a0e(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function Rb(n,e){return sp(n>=0),sp(e>0),n+(e-1)&~(e-1)}function S0e(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+Rb(i.byteLength,4)}const _8=["SCALAR","VEC2","VEC3","VEC4"],M0e=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],x0e=new Map(M0e),T0e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},A0e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},D0e={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function y8(n){return _8[n-1]||_8[0]}function v8(n){const e=x0e.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function b8(n,e){const t=D0e[n.componentType],i=T0e[n.type],s=n.count*i,o=n.count*i*A0e[n.componentType];return Pa(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const O0e={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class vh{constructor(e){sn(this,"gltf",void 0),sn(this,"sourceBuffers",void 0),sn(this,"byteLength",void 0),this.gltf=e||{json:K({},O0e),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Pa(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=b8(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Pa(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Pa(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Pa(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:y8(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:v8(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=S0e(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*j0e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function U0e(n){return DR.apply(this,arguments)}function DR(){return(DR=yn(function*(n){const e=new vh(n),{json:t}=e;e.removeExtension(fM);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fM)})).apply(this,arguments)}function H0e(n){const e=new vh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fM,{}),e.addExtension(fM))}function $0e(n){return OR.apply(this,arguments)}function OR(){return(OR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(Bm);i&&(e.json.lights=i.lights,e.removeExtension(Bm));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,Bm);s&&(r.light=s.light),e.removeObjectExtension(r,Bm)}})).apply(this,arguments)}function G0e(n){return IR.apply(this,arguments)}function IR(){return(IR=yn(function*(n){const e=new vh(n),{json:t}=e;if(t.lights){const i=e.addExtension(Bm);Pa(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,Bm,i);delete e.json.lights}})).apply(this,arguments)}function W0e(n){return PR.apply(this,arguments)}function PR(){return(PR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(pM);if(i){const r=Y0e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,pM);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=X0e(s.technique,e)),e.removeObjectExtension(s,pM)}e.removeExtension(pM)}})).apply(this,arguments)}function q0e(n,e){return RR.apply(this,arguments)}function RR(){return(RR=yn(function*(n,e){})).apply(this,arguments)}function Y0e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function X0e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const E8={KHR_draco_mesh_compression:wt,KHR_materials_unlit:L,KHR_lights_punctual:It,KHR_techniques_webgl:Pt};function K0e(n){return kR.apply(this,arguments)}function kR(){return(kR=yn(function*(n,e={},t){for(const r in E8){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield E8[r].decode(n,e,t))}})).apply(this,arguments)}const S8={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Q0e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class J0e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new vh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,C8);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(C8)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in S8)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in S8)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=Q0e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function eCe(n,e={}){return(new J0e).normalize(n,e)}const tCe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nCe={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},bl={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},iCe={magFilter:bl.TEXTURE_MAG_FILTER,minFilter:bl.TEXTURE_MIN_FILTER,wrapS:bl.TEXTURE_WRAP_S,wrapT:bl.TEXTURE_WRAP_T},rCe={[bl.TEXTURE_MAG_FILTER]:bl.LINEAR,[bl.TEXTURE_MIN_FILTER]:bl.NEAREST_MIPMAP_LINEAR,[bl.TEXTURE_WRAP_S]:bl.REPEAT,[bl.TEXTURE_WRAP_]:bl.REPEAT};class aCe{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Pa(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=K({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=K({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=K({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=K({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=K({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=K({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=K({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return nCe[n]}(e.componentType),e.components=function(n){return tCe[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=b8(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):rCe,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return iCe[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function lCe(n,e){return(new aCe).postProcess(n,e)}const M8=1735152710,Vm=!0;function NR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),Rb(i,4)}function LR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),Rb(i,4)}function bCe(n,e){return BR.apply(this,arguments)}function BR(){return(BR=yn(function*(n,e,t=0,i,r){var s,o,a,l;CCe(n,e,t,i),eCe(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield wCe(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const f=ECe(n,i,r);c.push(f)}const d=K0e(n,i,r);return c.push(d),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?lCe(n,i):n})).apply(this,arguments)}function CCe(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=M8}=t,s=i.getUint32(e,!1);return s===r||s===M8}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?t8(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?t8(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,Vm),a=r.getUint32(t+8,Vm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){sp(n.header.byteLength>20);const i=e.getUint32(t+0,Vm),r=e.getUint32(t+4,Vm);return t+=8,sp(0===r),NR(n,e,t,i),(t+=i)+LR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return sp(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,Vm),s=e.getUint32(t+4,Vm);switch(t+=8,s){case 1313821514:NR(n,e,t,r);break;case 5130562:LR(n,e,t,r);break;case 0:i.strict||NR(n,e,t,r);break;case 1:i.strict||LR(n,e,t,r)}t+=Rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Pa("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Pa(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function wCe(n,e,t){return VR.apply(this,arguments)}function VR(){return(VR=yn(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield TCe(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function TCe(n){return $R.apply(this,arguments)}function $R(){return($R=yn(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const x8=[255,255,255,255],OCe={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:x8},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[zm]};let ICe=(()=>{class n extends Eb{getShaders(){const t=[oM,aM];return"pbr"===this.props._lighting&&t.push(G6),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:x8,transition:!0},instanceModelMatrix:U6})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof Fm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Lbe(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=K({gltf:l},c),function(n){return HR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(jn.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof Fm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&jn.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):jn.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof Fm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:K({isInstanced:!0,transpileToGLSL100:!In(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:d}=this.props,f=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(f),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:H6(s,d),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=OCe,n})();class PCe extends _h{constructor(e={}){const{id:t=ea("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,d=(e+1)*(t+1);if("number"==typeof i){const C=i;i=(w,x,N,V,U)=>C}const f=new Float32Array(3*d),p=new Float32Array(3*d),g=new Float32Array(2*d),y=new(d>65535?Uint32Array:Uint16Array)(e*t*6);for(let C=0;C<=e;C++)for(let w=0;w<=t;w++){const x=w/t,N=C/e,V=w+C*(t+1),U=2*V,ee=3*V,de=c*x,ae=o*N,me=Math.sin(de),Ee=Math.cos(de),Be=Math.sin(ae),ne=Ee*Be,Ie=Math.cos(ae),Q=me*Be,je=i(ne,Ie,Q,x,N);f[ee+0]=je*ne,f[ee+1]=je*Ie,f[ee+2]=je*Q,p[ee+0]=ne,p[ee+1]=Ie,p[ee+2]=Q,g[U+0]=x,g[U+1]=1-N}const v=t+1;for(let C=0;Cs?(te=i,Be=1,ne=t):ne=e+Ee/s*(t-e),(-2===Ee||Ee===s+2)&&(ne=0,Be=0),te-=i/2;for(let Ie=0;Ies?0:Q*y,ee[ae+V[1]]=Ee<0?-1:Ee>s?1:v,ee[ae+V[2]]=Ee<0||Ee>s?0:je*y,de[me+0]=Ie/r,de[me+1]=Be,me+=2,ae+=3}}for(let Ee=0;Ee0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new S){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new S){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new S){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new S){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new S){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=GCe,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=WCe;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(A8),A8.almostEquals(e,t)}clone(){return new S(this.x,this.y,this.z)}}S.ZERO=void 0,S.UNIT_X=void 0,S.UNIT_Y=void 0,S.UNIT_Z=void 0,S.ZERO=new S(0,0,0),S.UNIT_X=new S(1,0,0),S.UNIT_Y=new S(0,1,0),S.UNIT_Z=new S(0,0,1);const GCe=new S,WCe=new S,A8=new S;class Di{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new S,this.upperBound=new S,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,d=this.upperBound;e.copy(c),t.set(d.x,c.y,c.z),i.set(d.x,d.y,c.z),r.set(c.x,d.y,d.z),s.set(d.x,c.y,d.z),o.set(c.x,d.y,c.z),a.set(c.x,c.y,d.z),l.copy(d)}toLocalFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,d=(this.upperBound.y-i.y)*s,f=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,d)),Math.min(f,p)),_=Math.min(Math.min(Math.max(a,l),Math.max(c,d)),Math.max(f,p));return!(_<0||g>_)}}const D8=new S,O8=[new S,new S,new S,new S,new S,new S,new S,new S];class kr{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new S){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=YCe;e.tangents(i,XCe),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Ui(e.length(),2)*Ui(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new kr){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,d=e.w;return t.x=i*d+o*a+r*c-s*l,t.y=r*d+o*l+s*a-i*c,t.z=s*d+o*c+i*l-r*a,t.w=o*d-i*a-r*l-s*c,t}inverse(e=new kr){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new kr){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new S){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=d*c+g*-o+f*-l-p*-a,t.y=f*c+g*-a+p*-o-d*-l,t.z=p*c+g*-l+d*-a-f*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const d=o*a+l*c;if(d>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),d<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const f=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*d),s=Math.atan2(2*o*c-2*a*l,1-2*f-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),d=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"YXZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"ZXY"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"ZYX"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"YZX"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a-l*c*d):"XZY"===r&&(this.x=l*o*a-s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a+l*c*d),this}clone(){return new kr(this.x,this.y,this.z,this.w)}slerp(e,t,i=new kr){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,_,y,v,l=e.x,c=e.y,d=e.z,f=e.w;return g=r*l+s*c+o*d+a*f,g<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>1e-6?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-t)*p)/_,v=Math.sin(t*p)/_):(y=1-t,v=t),i.x=y*r+v*l,i.y=y*s+v*c,i.z=y*o+v*d,i.w=y*a+v*f,i}integrate(e,t,i,r=new kr){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,d=this.z,f=this.w,p=.5*t;return r.x+=p*(s*f+o*d-a*c),r.y+=p*(o*f+a*l-s*d),r.z+=p*(a*f+s*c-o*l),r.w+=p*(-s*l-o*c-a*d),r}}const YCe=new S,XCe=new S,KCe={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let bt=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=KCe,n})();class ni{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new S,this.quaternion=new kr,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return ni.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return ni.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new S){return i.vsub(e,r),t.conjugate(P8),P8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new S){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new S){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new S){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const P8=new kr;class lp extends bt{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:bt.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new S;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let d=!1;for(let f=0;f!==i.length;f++)if(i[f].almostEquals(r)||i[f].almostEquals(r)){d=!0;break}d||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=y,f=_)}const g=[];for(let _=0;_=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new S,d=new S,f=new S,p=new S,g=new S,_=new S;let y=Number.MAX_VALUE;const v=this;if(v.uniqueAxes)for(let C=0;C!==v.uniqueAxes.length;C++){i.vmult(v.uniqueAxes[C],c);const w=v.testSepAxis(c,e,t,i,r,s);if(!1===w)return!1;w0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){lp.project(this,e,i,r,GR),lp.project(t,e,s,o,WR);const l=GR[0],c=GR[1],d=WR[0],f=WR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?Ct.STATIC:Ct.DYNAMIC,typeof e.type==typeof Ct.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=Ct.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new S,this.quaternion=new kr,this.initQuaternion=new kr,this.previousQuaternion=new kr,this.interpolatedQuaternion=new kr,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new S,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new S,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new S,this.invInertia=new S,this.invInertiaWorld=new ru,this.invMassSolve=0,this.invInertiaSolve=new S,this.invInertiaWorldSolve=new ru,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new S(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new S(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new Di,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new S,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=Ct.AWAKE,this.wakeUpAfterNarrowphase=!1,e===Ct.SLEEPING&&this.dispatchEvent(Ct.wakeupEvent)}sleep(){this.sleepState=Ct.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Ui(this.sleepSpeedLimit,2);t===Ct.AWAKE&&ir?this.wakeUp():t===Ct.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(Ct.sleepEvent))}}updateSolveMassProperties(){this.sleepState===Ct.SLEEPING||this.type===Ct.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new S){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new S){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new S,s=new kr;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=JCe,o=ewe,a=this.quaternion,l=this.aabb,c=twe;for(let d=0;d!==r;d++){const f=e[d];a.vmult(t[d],s),s.vadd(this.position,s),a.mult(i[d],o),f.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===d?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=nwe,r=iwe;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=rwe;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=swe,r=owe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===Ct.DYNAMIC&&(this.sleepState===Ct.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=t,r=awe;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=lwe;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=cwe,r=uwe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=dwe;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mM.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new S;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==Ct.DYNAMIC&&this.type!==Ct.KINEMATIC||this.sleepState===Ct.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,f=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const _=f.elements,y=this.angularFactor,v=l.x*y.x,C=l.y*y.y,w=l.z*y.z;s.x+=e*(_[0]*v+_[1]*C+_[2]*w),s.y+=e*(_[3]*v+_[4]*C+_[5]*w),s.z+=e*(_[6]*v+_[7]*C+_[8]*w),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}Ct.idCounter=0,Ct.COLLIDE_EVENT_NAME="collide",Ct.DYNAMIC=1,Ct.STATIC=2,Ct.KINEMATIC=4,Ct.AWAKE=0,Ct.SLEEPY=1,Ct.SLEEPING=2,Ct.wakeupEvent={type:"wakeup"},Ct.sleepyEvent={type:"sleepy"},Ct.sleepEvent={type:"sleep"};const JCe=new S,ewe=new kr,twe=new Di,nwe=new ru,iwe=new ru,rwe=new S,swe=new S,owe=new S,awe=new S,lwe=new S,cwe=new S,uwe=new S,dwe=new S;new S,new S;class _M{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new S,this.rayToWorld=new S,this.hitNormalWorld=new S,this.hitPointWorld=new S,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let R8,k8,F8,N8,L8,B8,V8;R8=bt.types.SPHERE,k8=bt.types.PLANE,F8=bt.types.BOX,N8=bt.types.CYLINDER,L8=bt.types.CONVEXPOLYHEDRON,B8=bt.types.HEIGHTFIELD,V8=bt.types.TRIMESH;class Hr{get[R8](){return this._intersectSphere}get[k8](){return this._intersectPlane}get[F8](){return this._intersectBox}get[N8](){return this._intersectConvex}get[L8](){return this._intersectConvex}get[B8](){return this._intersectHeightfield}get[V8](){return this._intersectTrimesh}constructor(e=new S,t=new S){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new S,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=Hr.ANY,this.result=new _M,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||Hr.ANY,this.result=t.result||new _M,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(z8),KR.length=0,e.broadphase.aabbQuery(e,z8,KR),this.intersectBodies(KR),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=ywe,s=vwe;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new S(0,0,1);t.vmult(c,c);const d=new S;o.vsub(i,d);const f=d.dot(c);if(a.vsub(i,d),f*d.dot(c)>0||o.distanceTo(a)=0&&y<=1&&(o.lerp(a,y,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Swe,l=U8,c=o&&o.faceList||null,d=e.faces,f=e.vertices,p=e.faceNormals,g=this.direction,_=this.from,v=_.distanceTo(this.to),C=c?c.length:d.length,w=this.result;for(let x=0;!w.shouldStop&&xv||this.reportIntersection(a,ra,s,r,N)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Mwe,l=Iwe,c=Pwe,d=U8,f=xwe,p=Twe,g=Awe,_=Owe,y=Dwe,v=e.indices,C=this.from,w=this.to,x=this.direction;c.position.copy(i),c.quaternion.copy(t),ni.vectorToLocalFrame(i,t,x,f),ni.pointToLocalFrame(i,t,C,p),ni.pointToLocalFrame(i,t,w,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,f),f.normalize();const N=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let V=0,U=l.length;!this.result.shouldStop&&V!==U;V++){const ee=l[V];e.getNormal(ee,a),e.getVertex(v[3*ee],cc),cc.vsub(p,d);const de=f.dot(a),ae=a.dot(d)/de;if(ae<0)continue;f.scale(ae,ra),ra.vadd(p,ra),e.getVertex(v[3*ee+1],ou),e.getVertex(v[3*ee+2],au);const me=ra.distanceSquared(p);!Hr.pointInTriangle(ra,ou,cc,au)&&!Hr.pointInTriangle(ra,cc,ou,au)||me>N||(ni.vectorToWorldFrame(t,a,y),ni.pointToWorldFrame(i,t,ra,_),this.reportIntersection(y,_,s,r,ee))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case Hr.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case Hr.CLOSEST:(l=0&&(f=s*c-o*a)>=0&&d+fDate.now()-n}var lu=ze(517);function $m(n,e,t){e||(e=new $t($t.IDENTITY));const i=new $t($t.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new $t($t.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new $t(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===$m(s,r,t))return!1;return!0}function R$(){vH([r8,zm])}function k$(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||$m(s,new $t($t.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function ek(n,e){return yl(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,zm,{DracoLoader:MR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),k$(n.scenegraphNode,r)})}function RMe(n,e){return yl(this,void 0,void 0,function*(){return k$(n,yield e)})}function tk(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new PCe;break;case"cone":i=new NCe;break;case"cylinder":i=new LCe;break;case"cube":default:i=new HCe}return new nbe(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:qn.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function F$(n,e,t){if(e&&0!==e.length)return new Wve(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new $t(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let FMe=(()=>{class n extends MH{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),R$()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=ek({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const d of c)a.push(new ICe({id:"models-"+d["@id"],opacity:d.zoomBasedOpacity?r.zoomOpacity:void 0!==d.opacity?d.opacity:1,pickable:!d.unpickable,coordinateSystem:qn.CARTESIAN,data:[d],scenegraph:d.scenegraphNode?RMe(d.scenegraphNode,o[d.scenegraph]):d.scenegraph,_lighting:d._lighting,getTransformMatrix:d.transformMatrix,getColor:null!==(i=d.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!d.zoomBasedOpacity&&(void 0===d.opacity||1===d.opacity)}}));else"text"===l?(a.push(F$("text",c.filter(d=>d.unpickable),{pickable:!1})),a.push(F$("textPickable",c.filter(d=>!d.unpickable),{pickable:!0}))):"wireframe"===l?a.push(tk(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(tk(l,c.filter(d=>d.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(tk(`${l}Pickable`,c.filter(d=>!d.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){yl(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new $t(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new Di({lowerBound:new S(...l.map((d,f)=>Math.min(d,c[f]))),upperBound:new S(...c.map((d,f)=>Math.max(d,l[f])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield wb(o.scenegraph,zm,{DracoLoader:MR,decompress:!0,postProcess:!0});for(const l of a.scenes)$m(l,new $t(o.transformMatrix),(c,d)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const f of c.mesh.primitives)if(f.attributes.POSITION&&f.attributes.POSITION.min){const p=d.transformAsPoint(f.attributes.POSITION.min,[]),g=d.transformAsPoint(f.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new Di({lowerBound:new S(...p.map((_,y)=>Math.min(_,g[y]))),upperBound:new S(...g.map((_,y)=>Math.max(_,p[y])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function N$(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),N$(t,e);return e}let LMe=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new FMe({}),this.nodeClickSubject=new Se,this.nodeHoverStartSubject=new Se,this.nodeHoverStopSubject=new Se,this.sceneRotationSubject=new ar([0,0]),this.nodeDragStartSubject=new Se,this.nodeDragSubject=new Se,this.nodeDragEndSubject=new Se,this.nodeClick$=this.nodeClickSubject.pipe(Vs()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Vs()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Vs()),this.sceneRotation$=this.sceneRotationSubject.pipe(Vs()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Vs()),this.nodeDrag$=this.nodeDragSubject.pipe(Vs()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Vs());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Ame({flipY:!1,near:-1e3}):new Ime({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var d;return null!==(d=this.cursor)&&void 0!==d?d:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GP({ambientLight:new OH({color:[255,255,255],intensity:10})})]),this.deck=new sM(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return yl(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new $t([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return yl(this,void 0,void 0,function*(){R$();const i=yield ek({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)$m(o,e=new $t(e||$t.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new $t(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new $t(e||$t.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const d of a.mesh.primitives)if(d.attributes.POSITION&&d.attributes.POSITION.min){const f=l.transformAsPoint(d.attributes.POSITION.min,[]),p=l.transformAsPoint(d.attributes.POSITION.max,[]);c.bbox=new Di({lowerBound:new S(...f.map((g,_)=>Math.min(g,p[_]))),upperBound:new S(...p.map((g,_)=>Math.max(g,f[_])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of N$(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,d=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new S(.5,.5,.5)),f=o.center=a.clone().vadd(d);o.transformMatrix=new $t($t.IDENTITY).translate(f.toArray()).scale(d.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new $t(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return xe([lu.ZP],n.prototype,"_onHover",null),xe([lu.ZP],n.prototype,"_onClick",null),xe([lu.ZP],n.prototype,"_onViewStateChange",null),xe([lu.ZP],n.prototype,"_onDragStart",null),xe([lu.ZP],n.prototype,"_onDrag",null),xe([lu.ZP],n.prototype,"_onDragEnd",null),n})();function BMe(n,e){return n===e}function VMe(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let nk=(()=>{class n{constructor(){this.bootstrap$=new If(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const ik=new ve("INITIAL_STATE_TOKEN");let UMe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const L$=new ve("Internals.StateContextFactory"),B$=new ve("Internals.StateFactory");function V$(n,e){return e?t=>t.pipe(V$((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new HMe(n))}class HMe{constructor(e){this.project=e}call(e,t){return t.subscribe(new $Me(e,this.project))}}class $Me extends ii{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new Gr(this),i=this.destination;i.add(t);const r=co(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function TM(n=null){return e=>e.lift(new GMe(n))}class GMe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new WMe(e,this.defaultValue))}}class WMe extends xt{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const Ra={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let z$=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return kD(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return dt.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return dt.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof dt||console.warn(Ra.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const j$=new ve("ROOT_STATE_TOKEN"),U$=new ve("FEATURE_STATE_TOKEN"),rk=new ve("NGXS_PLUGINS"),H$=new ve("NG_TEST_MODE"),G$=new ve("NG_DEV_MODE"),ld="NGXS_META",W$="NGXS_OPTIONS_META",sk="NGXS_SELECTOR_META";let fp=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=z$}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class qMe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const q$=new ve("NGXS_EXECUTION_STRATEGY");function pp(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const ok=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Gm=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),ak=n=>n&&"object"==typeof n&&!Array.isArray(n),lk=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(ak(n)&&ak(t))for(const i in t)ak(t[i])?(n[i]||Object.assign(n,{[i]:{}}),lk(n[i],t[i])):Object.assign(n,{[i]:t[i]});return lk(n,...e)};function ck(n){if(!n.hasOwnProperty(ld)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ld,{value:e})}return jb(n)}function jb(n){return n[ld]}function uk(n){return n.hasOwnProperty(sk)||Object.defineProperty(n,sk,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),dk(n)}function dk(n){return n[sk]}function Y$(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[pp(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Fn(t=>{const i=pp(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function sxe(){return Ae(n=>n.action)}function AM(n){return e=>new ce(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let DM=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(I(q$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class lxe extends Se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let OM=(()=>{class n extends lxe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cxe=(()=>{class n extends ce{constructor(t,i){super(r=>{const s=t.pipe(AM(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(I(OM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const K$=n=>(...e)=>n.shift()(...e,(...i)=>K$(n)(...i));let IM=(()=>{class n extends ar{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),hk=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(I(n,12),I(rk,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),fk=(()=>{class n extends Se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Z$=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get($o),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(AM(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?ht(this._stateStream.getValue()):Hv(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!pp(t))return Kg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return K$([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(qc())}getActionResultStream(t){return this._actionResults.pipe(Fn(i=>i.action===t&&"DISPATCHED"!==i.status),yi(1),qc())}createDispatchObservable(t){return t.pipe(V$(i=>{switch(i.status){case"SUCCESSFUL":return ht(this._stateStream.getValue());case"ERRORED":return Kg(i.error);default:return ec}})).pipe(qc())}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(OM),I(fk),I(hk),I(IM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Q$=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&Q$(n[i])}),n};let J$=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(I(G$),I(H$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),eG=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Ra.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Ra.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(I(J$),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),qm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=Q$(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(Z$),I(fp),I(eG))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),PM=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Gm(l,t.path)}function s(l,c){const d=ok(l,t.path,c),f=t.instance;if(f.ngxsOnChanges){const p=X$(t,{currentAppState:l,newAppState:d});f.ngxsOnChanges(p)}return i.setState(d),d}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Ra.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Ra.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(I(qm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class RM{static stateNameErrorMessage(e){return Ra.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Ra.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Ra.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=jb(e);if(!t)throw new Error(Ra.STATE_DECORATOR());return t}}RM.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Ym=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xM(()=>{const c=this;function d(p){const g=c.statePaths[p];return g?Y$(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=d(p);return g||((..._)=>(g||(g=d(p)),g?g(..._):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(RM.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[ld].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[ld];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[ld].name]=t,e),{})}(i),l=[];for(const c of s){const d=a[c],f=o[c],p=d[ld];this.addRuntimeInfoToMeta(p,f);const g={name:c,path:f,isInitialised:!1,actions:p.actions,instance:this._injector.get(d),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,f)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>ok(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Fn(t=>"DISPATCHED"===t.status),di(({action:t})=>this.invokeActions(this._actions,t).pipe(Ae(()=>({action:t,status:"SUCCESSFUL"})),TM({action:t,status:"CANCELED"}),Ta(i=>ht({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=pp(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let d=o.instance[l.fn](c,i);d instanceof Promise&&(d=ui(d)),d instanceof ce?(d=d.pipe(TM({})),l.options.cancelUncompleted&&(d=d.pipe(Tn(t.pipe(nxe(i)))))):d=ht({}).pipe(qc()),s.push(d)}catch(d){s.push(Kg(d))}}}return s.length||s.push(ht({})),Hv(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=RM.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Gm(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(fp),I(n,12),I(OM),I(fk),I(PM),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),pk=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Fn(()=>!!i),Ti(()=>this.invokeInit(i.states)),di(()=>this.bootstrapper.appBootstrapped$),Fn(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=X$(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(I(qm),I(PM),I(nk))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const kM_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function nG(n){const e=dk(n)||jb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(Ae(i),Ta(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?ht(void 0):Kg(r)}),Zo(),AM(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(AM(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return nG(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(qm),I(fp),I(DM),I(Ym),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Ub=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class iG{static get type(){return"@@INIT"}}class rG{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const FM=new If(1);let _xe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Mo();FM.next(t)}catch(n){FM.next(!1)}finally{FM.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new iG,l)}}return n.\u0275fac=function(t){return new(t||n)(I(Ym),I(qm),I(cu),I(Ub),I(j$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),yxe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new rG(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(qm),I(Ym),I(U$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();class Io{static forRoot(e=[],t={}){return{ngModule:_xe,providers:[Ym,PM,cxe,OM,nk,eG,J$,pk,Z$,fk,qm,DM,cu,IM,Ub,hk,...e,...Io.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:yxe,providers:[Ym,hk,...e,{provide:U$,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:H$,useValue:jMe},{provide:G$,useValue:Mo},{provide:q$,useClass:t.executionStrategy||z$},{provide:j$,useValue:e},{provide:Io.ROOT_OPTIONS,useValue:t},{provide:fp,useFactory:Io.ngxsConfigFactory,deps:[Io.ROOT_OPTIONS]},{provide:bv,useFactory:Io.appBootstrapListenerFactory,multi:!0,deps:[nk]},{provide:ik,useFactory:Io.getInitialState},{provide:L$,useExisting:PM},{provide:B$,useExisting:Ym}]}static ngxsConfigFactory(e){return lk(new fp,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return UMe.pop()}}function gk(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Ra.ACTION_DECORATOR());const s=ck(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function cd(n){return i=>{!function(n){FM.subscribe(e=>{e&&(n.\u0275prov||console.warn(Ra.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=ck(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[W$]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,d="string"==typeof c?c:c&&c.getName()||null;RM.checkCorrectStateName(d),s.hasOwnProperty(ld)&&(r.actions=Object.assign({},r.actions,(s[ld]||{}).actions)),r.children=a,r.defaults=l,r.name=d})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[W$]=a}}function NM(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?Y$(t.length?[e,...t]:e.split("."),Ub.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!Ub.store)throw new Error(Ra.SELECT_FACTORY_NOT_CONNECTED());return Ub.store.select(n)}(o))}}})}}function Xm(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Ra.SELECTOR_DECORATOR());const s=i.value,o=function(n,e,t){const i=t&&t.containerClass,s=xM(function(...c){const d=e.apply(i,c);return d instanceof Function?xM.apply(null,[d]):d});Object.setPrototypeOf(s,e);const o=function(n,e){const t=uk(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kM_getOptions(n.containerClass)||{},kM_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:d}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&jb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>nG(a)(n))}}(l,o,n);return function(p){const g=c.map(_=>_(p));try{return s(...g)}catch(_){if(_ instanceof TypeError&&d.suppressErrors)return;throw _}}},s}(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Io.\u0275fac=function(e){return new(e||Io)},Io.\u0275mod=Pe({type:Io}),Io.\u0275inj=Me({}),Io.ROOT_OPTIONS=new ve("ROOT_OPTIONS");let sG=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt))},n.\u0275dir=oe({type:n}),n})(),gp=(()=>{class n extends sG{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();const ro=new ve("NgValueAccessor"),xxe={provide:ro,useExisting:T(()=>Hb),multi:!0},Axe=new ve("CompositionEventMode");let Hb=(()=>{class n extends sG{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=Uc()?Uc().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt),E(Axe,8))},n.\u0275dir=oe({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Dt([xxe]),ct]}),n})();function Ch(n){return null==n||0===n.length}function aG(n){return null!=n&&"number"==typeof n.length}const Ss=new ve("NgValidators"),wh=new ve("NgAsyncValidators"),Dxe=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class lG{static min(e){return function(n){return e=>{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t>n?{max:{max:n,actual:e.value}}:null}}(e)}static required(e){return function(n){return Ch(n.value)?{required:!0}:null}(e)}static requiredTrue(e){return function(n){return!0===n.value?null:{required:!0}}(e)}static email(e){return function(n){return Ch(n.value)||Dxe.test(n.value)?null:{email:!0}}(e)}static minLength(e){return function(n){return e=>Ch(e.value)||!aG(e.value)?null:e.value.lengthaG(e.value)&&e.value.length>n?{maxlength:{requiredLength:n,actualLength:e.value.length}}:null}(e)}static pattern(e){return function(n){if(!n)return Eh;let e,t;return"string"==typeof n?(t="","^"!==n.charAt(0)&&(t+="^"),t+=n,"$"!==n.charAt(n.length-1)&&(t+="$"),e=new RegExp(t)):(t=n.toString(),e=n),i=>{if(Ch(i.value))return null;const r=i.value;return e.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}(e)}static nullValidator(e){return null}static compose(e){return wG(e)}static composeAsync(e){return EG(e)}}function Eh(n){return null}function _G(n){return null!=n}function yG(n){const e=Og(n)?ui(n):n;return xw(e),e}function vG(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function bG(n,e){return e.map(t=>t(n))}function CG(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function wG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return vG(bG(t,e))}}function mk(n){return null!=n?wG(CG(n)):null}function EG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return Hv(bG(t,e).map(yG)).pipe(Ae(vG))}}function _k(n){return null!=n?EG(CG(n)):null}function SG(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function MG(n){return n._rawValidators}function xG(n){return n._rawAsyncValidators}function yk(n){return n?Array.isArray(n)?n:[n]:[]}function LM(n,e){return Array.isArray(n)?n.includes(e):n===e}function TG(n,e){const t=yk(e);return yk(n).forEach(r=>{LM(t,r)||t.push(r)}),t}function AG(n,e){return yk(e).filter(t=>!LM(n,t))}let DG=(()=>{class n{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=mk(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_k(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})(),Po=(()=>{class n extends DG{get formDirective(){return null}get path(){return null}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();class uc extends DG{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let vk=(()=>{class n extends class{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(E(uc,2))},n.\u0275dir=oe({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&st("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[ct]}),n})();function $b(n,e){wk(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&PG(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&PG(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function zM(n,e,t=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),UM(n,e),n&&(e._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function jM(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function wk(n,e){const t=MG(n);null!==e.validator?n.setValidators(SG(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=xG(n);null!==e.asyncValidator?n.setAsyncValidators(SG(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();jM(e._rawValidators,r),jM(e._rawAsyncValidators,r)}function UM(n,e){let t=!1;if(null!==n){if(null!==e.validator){const r=MG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.validator);s.length!==r.length&&(t=!0,n.setValidators(s))}}if(null!==e.asyncValidator){const r=xG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.asyncValidator);s.length!==r.length&&(t=!0,n.setAsyncValidators(s))}}}const i=()=>{};return jM(e._rawValidators,i),jM(e._rawAsyncValidators,i),t}function PG(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function RG(n,e){wk(n,e)}function Ek(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}function kG(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Sk(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===Hb?t=s:function(n){return Object.getPrototypeOf(n.constructor)===gp}(s)?i=s:r=s}),r||i||t||null}function HM(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Gb="VALID",$M="INVALID",Km="PENDING",Wb="DISABLED";function Mk(n){return(Tk(n)?n.validators:n)||null}function FG(n){return Array.isArray(n)?mk(n):n||null}function xk(n,e){return(Tk(e)?e.asyncValidators:n)||null}function NG(n){return Array.isArray(n)?_k(n):n||null}function Tk(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Ak{constructor(e,t){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=FG(this._rawValidators),this._composedAsyncValidatorFn=NG(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Gb}get invalid(){return this.status===$M}get pending(){return this.status==Km}get disabled(){return this.status===Wb}get enabled(){return this.status!==Wb}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=FG(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=NG(e)}addValidators(e){this.setValidators(TG(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(TG(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(AG(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(AG(e,this._rawAsyncValidators))}hasValidator(e){return LM(this._rawValidators,e)}hasAsyncValidator(e){return LM(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=Km,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Wb,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Gb,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Gb||this.status===Km)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Wb:Gb}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=Km,this._hasOwnPendingAsyncValidator=!0;const t=yG(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Dk?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof Uxe&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Le,this.statusChanges=new Le}_calculateStatus(){return this._allControlsDisabled()?Wb:this.errors?$M:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Km)?Km:this._anyControlsHaveStatus($M)?$M:Gb}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Tk(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class Sh extends Ak{constructor(e=null,t,i){super(Mk(t),xk(i,t)),this._onChange=[],this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){HM(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){HM(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Dk extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof Sh?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class Uxe extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof Sh?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const Hxe={provide:Po,useExisting:T(()=>mp)},qb=(()=>Promise.resolve(null))();let mp=(()=>{class n extends Po{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Le,this.form=new Dk({},mk(t),_k(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){qb.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),$b(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),HM(this._directives,t)})}addFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path),r=new Dk({});RG(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){qb.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,kG(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Hxe]),ct]}),n})();const Gxe={provide:uc,useExisting:T(()=>Ok)},VG=(()=>Promise.resolve(null))();let Ok=(()=>{class n extends uc{constructor(t,i,r,s){super(),this.control=new Sh,this._registered=!1,this.update=new Le,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Sk(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),Ek(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$b(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){VG.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;VG.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(E(Po,9),E(Ss,10),E(wh,10),E(ro,10))},n.\u0275dir=oe({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Dt([Gxe]),ct,zn]}),n})(),UG=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Ik=new ve("NgModelWithFormControlWarning"),Kxe={provide:uc,useExisting:T(()=>GM)};let GM=(()=>{class n extends uc{constructor(t,i,r,s){super(),this._ngModelWarningConfig=s,this.update=new Le,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(i),this.valueAccessor=Sk(0,r)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const i=t.form.previousValue;i&&zM(i,this,!1),$b(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}Ek(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&zM(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10),E(ro,10),E(Ik,8))},n.\u0275dir=oe({type:n,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Dt([Kxe]),ct,zn]}),n._ngModelWarningSentOnce=!1,n})();const Zxe={provide:Po,useExisting:T(()=>Zm)};let Zm=(()=>{class n extends Po{constructor(t,i){super(),this.validators=t,this.asyncValidators=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Le,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(UM(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const i=this.form.get(t.path);return $b(i,t),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){zM(t.control||null,t,!1),HM(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this.submitted=!0,kG(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const i=t.control,r=this.form.get(t.path);i!==r&&(zM(i||null,t),r instanceof Sh&&($b(r,t),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const i=this.form.get(t.path);RG(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const i=this.form.get(t.path);i&&function(n,e){return UM(n,e)}(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wk(this.form,this),this._oldForm&&UM(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["","formGroup",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Zxe]),ct,zn]}),n})(),iW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[UG]]}),n})(),Lk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})(),Bk=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Ik,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})();function Yb(n){return new ce(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?ui(t):bE()).subscribe(e)})}function Vk(n,e=Pf){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new m1e(i,e))}class m1e{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new zk(e,this.delay,this.scheduler))}}class zk extends xt{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(zk.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new _1e(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(Ko.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(Ko.createComplete()),this.unsubscribe()}}class _1e{constructor(e,t){this.time=e,this.notification=t}}const aW=tm({passive:!0});let lW=(()=>{class n{constructor(t,i){this._platform=t,this._ngZone=i,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return ec;const i=Wu(t),r=this._monitoredElements.get(i);if(r)return r.subject;const s=new Se,o="cdk-text-field-autofilled",a=l=>{"cdk-text-field-autofill-start"!==l.animationName||i.classList.contains(o)?"cdk-text-field-autofill-end"===l.animationName&&i.classList.contains(o)&&(i.classList.remove(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!1}))):(i.classList.add(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,aW),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",a,aW)}}),s}stopMonitoring(t){const i=Wu(t),r=this._monitoredElements.get(i);r&&(r.unlisten(),r.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((t,i)=>this.stopMonitoring(i))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt))},token:n,providedIn:"root"}),n})(),cW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv]]}),n})();const k1e=new ve("MAT_INPUT_VALUE_ACCESSOR"),F1e=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let N1e=0;const L1e=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let Xb=(()=>{class n extends L1e{constructor(t,i,r,s,o,a,l,c,d,f){super(a,s,o,r),this._elementRef=t,this._platform=i,this._autofillMonitor=c,this._formField=f,this._uid="mat-input-"+N1e++,this.focused=!1,this.stateChanges=new Se,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(_=>xV().has(_));const p=this._elementRef.nativeElement,g=p.nodeName.toLowerCase();this._inputValueAccessor=l||p,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&d.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",_=>{const y=_.target;!y.value&&0===y.selectionStart&&0===y.selectionEnd&&(y.setSelectionRange(1,1),y.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===g,this._isTextarea="textarea"===g,this._isInFormField=!!f,this._isNativeSelect&&(this.controlType=p.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=Mt(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&xV().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=Mt(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,i;const r=(null===(i=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===i?void 0:i.call(t))?null:this.placeholder;if(r!==this._previousPlaceholder){const s=this._elementRef.nativeElement;this._previousPlaceholder=r,r?s.setAttribute("placeholder",r):s.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){F1e.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,i=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(si),E(uc,10),E(mp,8),E(Zm,8),E(Vv),E(k1e,10),E(lW),E(dt),E(nS,8))},n.\u0275dir=oe({type:n,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&t&&(al("disabled",i.disabled)("required",i.required),nn("id",i.id)("data-placeholder",i.placeholder)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required),st("mat-input-server",i._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Dt([{provide:jv,useExisting:n}]),ct,zn]}),n})(),Kb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv],imports:[[cW,Uv,On],cW,Uv]}),n})();function ur(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>Ae(function(n,e){return i=>{let r=i;for(let s=0;si.lift(new U1e(n,e,t.leading,t.trailing))}class U1e{constructor(e,t,i,r){this.duration=e,this.scheduler=t,this.leading=i,this.trailing=r}call(e,t){return t.subscribe(new H1e(e,this.duration,this.scheduler,this.leading,this.trailing))}}class H1e extends xt{constructor(e,t,i,r,s){super(e),this.duration=t,this.scheduler=i,this.leading=r,this.trailing=s,this._hasTrailingValue=!1,this._trailingValue=null}_next(e){this.throttled?this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule($1e,this.duration,{subscriber:this})),this.leading?this.destination.next(e):this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0))}_complete(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()}clearThrottle(){const e=this.throttled;e&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),e.unsubscribe(),this.remove(e),this.throttled=null)}}function $1e(n){const{subscriber:e}=n;e.clearThrottle()}var hW=ze(266);const G1e={tooltipState:tc("state",[wr("initial, void, hidden",ti({opacity:0,transform:"scale(0)"})),wr("visible",ti({transform:"scale(1)"})),Qs("* => visible",Ao("200ms cubic-bezier(0, 0, 0.2, 1)",zie([ti({opacity:0,transform:"scale(0)",offset:0}),ti({opacity:.5,transform:"scale(0.99)",offset:.5}),ti({opacity:1,transform:"scale(1)",offset:1})]))),Qs("* => hidden",Ao("100ms cubic-bezier(0, 0, 0.2, 1)",ti({opacity:0})))])},fW="tooltip-panel",pW=tm({passive:!0}),gW=new ve("mat-tooltip-scroll-strategy"),X1e={provide:gW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition({scrollThrottle:20})}},K1e=new ve("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let Q1e=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p,g){this._overlay=t,this._elementRef=i,this._scrollDispatcher=r,this._viewContainerRef=s,this._ngZone=o,this._platform=a,this._ariaDescriber=l,this._focusMonitor=c,this._dir=f,this._defaultOptions=p,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new Se,this._handleKeydown=_=>{this._isTooltipVisible()&&27===_.keyCode&&!Zs(_)&&(_.preventDefault(),_.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=d,this._document=g,p&&(p.position&&(this.position=p.position),p.touchGestures&&(this.touchGestures=p.touchGestures)),f.change.pipe(Tn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),o.runOutsideAngular(()=>{i.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var i;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(i=this._tooltipInstance)||void 0===i||i.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Tn(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([i,r])=>{t.removeEventListener(i,r,pW)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const i=this._createOverlay();this._detach(),this._portal=this._portal||new dm(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=i.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),i=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return i.positionChanges.pipe(Tn(this._destroyed)).subscribe(r=>{this._updateCurrentPositionClass(r.connectionPair),this._tooltipInstance&&r.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:i,panelClass:`${this._cssClassPrefix}-${fW}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Tn(this._destroyed)).subscribe(()=>{var r;return null===(r=this._tooltipInstance)||void 0===r?void 0:r._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const i=t.getConfig().positionStrategy,r=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset(Object.assign(Object.assign({},r.main),s.main)),this._addOffset(Object.assign(Object.assign({},r.fallback),s.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i||"below"==i?r={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={originX:"start",originY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={originX:"end",originY:"center"});const{x:s,y:o}=this._invertPosition(r.originX,r.originY);return{main:r,fallback:{originX:s,originY:o}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i?r={overlayX:"center",overlayY:"bottom"}:"below"==i?r={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={overlayX:"start",overlayY:"center"});const{x:s,y:o}=this._invertPosition(r.overlayX,r.overlayY);return{main:r,fallback:{overlayX:s,overlayY:o}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(yi(1),Tn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:i}}_updateCurrentPositionClass(t){const{overlayY:i,originX:r,originY:s}=t;let o;if(o="center"===i?this._dir&&"rtl"===this._dir.value?"end"===r?"left":"right":"start"===r?"left":"right":"bottom"===i&&"top"===s?"above":"below",o!==this._currentPosition){const a=this._overlayRef;if(a){const l=`${this._cssClassPrefix}-${fW}-`;a.removePanelClass(l+this._currentPosition),a.addPanelClass(l+o)}this._currentPosition=o}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",i],["touchcancel",i])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([i,r])=>{this._elementRef.nativeElement.addEventListener(i,r,pW)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(t.clientX,t.clientY),r=this._elementRef.nativeElement;i!==r&&!r.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const i=this._elementRef.nativeElement,r=i.style;("on"===t||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(r.userSelect=r.msUserSelect=r.webkitUserSelect=r.MozUserSelect="none"),("on"===t||!i.draggable)&&(r.webkitUserDrag="none"),r.touchAction="none",r.webkitTapHighlightColor="transparent"}}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(void 0),E(Qo),E(void 0),E(ut))},n.\u0275dir=oe({type:n,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),n})(),dc=(()=>{class n extends Q1e{constructor(t,i,r,s,o,a,l,c,d,f,p,g){super(t,i,r,s,o,a,l,c,d,f,p,g),this._tooltipComponent=eTe}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(gW),E(Qo,8),E(K1e,8),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[ct]}),n})(),J1e=(()=>{class n{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new Se}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const i=t.toState;"hidden"===i&&!this.isVisible()&&this._onHide.next(),("visible"===i||"hidden"===i)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n}),n})(),eTe=(()=>{class n extends J1e{constructor(t,i){super(t),this._breakpointObserver=i,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return n.\u0275fac=function(t){return new(t||n)(E(kn),E(XO))},n.\u0275cmp=Ne({type:n,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,i){2&t&&vf("zoom","visible"===i._visibility?1:null)},features:[ct],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,i){if(1&t&&(R(0,"div",0),ge("@state.start",function(){return i._animationStart()})("@state.done",function(s){return i._animationDone(s)}),Kt(1,"async"),De(2),k()),2&t){let r;st("mat-tooltip-handset",null==(r=rn(1,5,i._isHandset))?null:r.matches),ie("ngClass",i.tooltipClass)("@state",i._visibility),G(2),xi(i.message)}},directives:[hE],pipes:[Hc],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[G1e.tooltipState]},changeDetection:0}),n})(),hc=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[X1e],imports:[[Nie,dn,Yv,On],On,Wv]}),n})();const tTe=["sliderWrapper"],Cl=tm({passive:!1}),oTe={provide:ro,useExisting:T(()=>jk),multi:!0};class aTe{}const lTe=Hf(Uf(jf(class{constructor(n){this._elementRef=n}}),"accent"));let jk=(()=>{class n extends lTe{constructor(t,i,r,s,o,a,l,c){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this._dir=s,this._ngZone=a,this._animationMode=c,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Le,this.input=new Le,this.valueChange=new Le,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=Te.EMPTY,this._pointerDown=d=>{this.disabled||this._isSliding||!Zb(d)&&0!==d.button||this._ngZone.run(()=>{this._touchId=Zb(d)?function(n,e){for(let t=0;t{if("pointer"===this._isSliding){const f=mW(d,this._touchId);if(f){d.preventDefault();const p=this.value;this._lastPointerEvent=d,this._updateValueFromPosition(f),p!=this.value&&this._emitInputEvent()}}},this._pointerUp=d=>{"pointer"===this._isSliding&&(!Zb(d)||"number"!=typeof this._touchId||Uk(d.changedTouches,this._touchId))&&(d.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=l,this.tabIndex=parseInt(o)||0,a.runOutsideAngular(()=>{const d=t.nativeElement;d.addEventListener("mousedown",this._pointerDown,Cl),d.addEventListener("touchstart",this._pointerDown,Cl)})}get invert(){return this._invert}set invert(t){this._invert=Mt(t)}get max(){return this._max}set max(t){this._max=To(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=To(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=To(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=Mt(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?To(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let i=To(t,0);this._roundToDecimal&&i!==this.min&&i!==this.max&&(i=parseFloat(i.toFixed(this._roundToDecimal))),this._value=i,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const i=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${i})`}}_getTrackFillStyles(){const t=this.percent,r=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${r})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,a={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const l=this._shouldInvertAxis();let c;c=this.vertical?l?"Bottom":"Top":l?"Right":"Left",a[`padding${c}`]=`${this._getThumbGap()}px`}return a}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,Cl),t.removeEventListener("touchstart",this._pointerDown,Cl),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||Zs(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const i=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}i!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const i=this._document,r=Zb(t),o=r?"touchend":"mouseup";i.addEventListener(r?"touchmove":"mousemove",this._pointerMove,Cl),i.addEventListener(o,this._pointerUp,Cl),r&&i.addEventListener("touchcancel",this._pointerUp,Cl);const a=this._getWindow();void 0!==a&&a&&a.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,Cl),t.removeEventListener("mouseup",this._pointerUp,Cl),t.removeEventListener("touchmove",this._pointerMove,Cl),t.removeEventListener("touchend",this._pointerUp,Cl),t.removeEventListener("touchcancel",this._pointerUp,Cl);const i=this._getWindow();void 0!==i&&i&&i.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let o=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(o=1-o),0===o)this.value=this.min;else if(1===o)this.value=this.max;else{const a=this._calculateValue(o),l=Math.round((a-this.min)/this.step)*this.step+this.min;this.value=this._clamp(l,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,s=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=s/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let i=new aTe;return i.source=this,i.value=t,i}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,i=0,r=1){return Math.max(i,Math.min(t,r))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),E(Qo,8),Zr("tabindex"),E(dt),E(ut),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slider"]],viewQuery:function(t,i){if(1&t&&Jn(tTe,5),2&t){let r;_t(r=yt())&&(i._sliderWrapper=r.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()})("keydown",function(s){return i._onKeydown(s)})("keyup",function(){return i._onKeyup()})("mouseenter",function(){return i._onMouseenter()})("selectstart",function(s){return s.preventDefault()}),2&t&&(al("tabIndex",i.tabIndex),nn("aria-disabled",i.disabled)("aria-valuemax",i.max)("aria-valuemin",i.min)("aria-valuenow",i.value)("aria-valuetext",null==i.valueText?i.displayValue:i.valueText)("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-slider-disabled",i.disabled)("mat-slider-has-ticks",i.tickInterval)("mat-slider-horizontal",!i.vertical)("mat-slider-axis-inverted",i._shouldInvertAxis())("mat-slider-invert-mouse-coords",i._shouldInvertMouseCoords())("mat-slider-sliding",i._isSliding)("mat-slider-thumb-label-showing",i.thumbLabel)("mat-slider-vertical",i.vertical)("mat-slider-min-value",i._isMinValue())("mat-slider-hide-last-tick",i.disabled||i._isMinValue()&&i._getThumbGap()&&i._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Dt([oTe]),ct],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"div",2),tt(3,"div",3),tt(4,"div",4),k(),R(5,"div",5),tt(6,"div",6),k(),R(7,"div",7),tt(8,"div",8),tt(9,"div",9),R(10,"div",10),R(11,"span",11),De(12),k(),k(),k(),k()),2&t&&(G(3),ie("ngStyle",i._getTrackBackgroundStyles()),G(1),ie("ngStyle",i._getTrackFillStyles()),G(1),ie("ngStyle",i._getTicksContainerStyles()),G(1),ie("ngStyle",i._getTicksStyles()),G(1),ie("ngStyle",i._getThumbContainerStyles()),G(5),xi(i.displayValue))},directives:[J3],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),n})();function Zb(n){return"t"===n.type[0]}function mW(n,e){let t;return t=Zb(n)?"number"==typeof e?Uk(n.touches,e)||Uk(n.changedTouches,e):n.touches[0]||n.changedTouches[0]:n,t?{x:t.clientX,y:t.clientY}:void 0}function Uk(n,e){for(let t=0;t{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On],On]}),n})();function uTe(n,e){}class Hk{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const dTe={dialogContainer:tc("dialogContainer",[wr("void, exit",ti({opacity:0,transform:"scale(0.7)"})),wr("enter",ti({transform:"none"})),Qs("* => enter",Ao("150ms cubic-bezier(0, 0, 0.2, 1)",ti({transform:"none",opacity:1}))),Qs("* => void, * => exit",Ao("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ti({opacity:0})))])};let hTe=(()=>{class n extends uS{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new Le,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=xE(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=xE())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=xE();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(BV),E(kn),E(ut,8),E(Hk),E(Sa))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},features:[ct]}),n})(),fTe=(()=>{class n extends hTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&Qy("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(al("id",i._id),nn("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Pg("@dialogContainer",i._state))},features:[ct],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&mt(0,uTe,0,0,"ng-template",0)},directives:[Kf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[dTe.dialogContainer]}}),n})(),pTe=0;class Qm{constructor(e,t,i="mat-dialog-"+pTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new Se,this._afterClosed=new Se,this._beforeClosed=new Se,this._state=0,t._id=i,t._animationStateChanged.pipe(Fn(r=>"opened"===r.state),yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Fn(r=>"closed"===r.state),yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Fn(r=>27===r.keyCode&&!this.disableClose&&!Zs(r))).subscribe(r=>{r.preventDefault(),$k(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$k(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Fn(t=>"closing"===t.state),yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $k(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const Gk=new ve("MatDialogData"),gTe=new ve("mat-dialog-default-options"),yW=new ve("mat-dialog-scroll-strategy"),_Te={provide:yW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.block()}};let yTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=d,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Se,this._afterOpenedAtThisLevel=new Se,this._ariaHiddenElements=new Map,this.afterAllClosed=Yb(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Rr(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new Hk)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new qv({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:Hk,useValue:i}]}),o=new dm(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Ys)i.attachTemplatePortal(new Xf(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new dm(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Qo,null,At.Optional))&&o.push({provide:Qo,useValue:{value:t.direction,change:ht()}}),Nt.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Nt),E(void 0),E(void 0),E(hm),E(void 0),E(Du),E(Du),E(ve))},n.\u0275dir=oe({type:n}),n})(),_p=(()=>{class n extends yTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,Qm,fTe,Gk)}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(Nt),I(Xg,8),I(gTe,8),I(yW),I(n,12),I(hm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),bTe=0,Wk=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+bTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(E(Qm,8),E(rt),E(_p))},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&al("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),qk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();let Qb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[_p,_Te],imports:[[Yv,dS,On],On]}),n})();const Yk=new ve("CdkAccordion");let ETe=0,MTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=Te.EMPTY,this.closed=new Le,this.opened=new Le,this.destroyed=new Le,this.expandedChange=new Le,this.id="cdk-accordion-child-"+ETe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=Mt(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(E(Yk,12),E(kn),E(cS))},n.\u0275dir=oe({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Dt([{provide:Yk,useValue:void 0}])]}),n})(),xTe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const TTe=["body"];function ATe(n,e){}const DTe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],OTe=["mat-expansion-panel-header","*","mat-action-row"];function ITe(n,e){1&n&&tt(0,"span",2),2&n&&ie("@indicatorRotate",Qe()._getExpandedState())}const PTe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],RTe=["mat-panel-title","mat-panel-description","*"],Xk=new ve("MAT_ACCORDION"),bW="225ms cubic-bezier(0.4,0.0,0.2,1)",CW={indicatorRotate:tc("indicatorRotate",[wr("collapsed, void",ti({transform:"rotate(0deg)"})),wr("expanded",ti({transform:"rotate(180deg)"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))]),bodyExpansion:tc("bodyExpansion",[wr("collapsed, void",ti({height:"0px",visibility:"hidden"})),wr("expanded",ti({height:"*",visibility:"visible"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))])};let kTe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(E(Ys))},n.\u0275dir=oe({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),FTe=0;const wW=new ve("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let qM=(()=>{class n extends MTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new Le,this.afterCollapse=new Le,this._inputChanges=new Se,this._headerId="mat-expansion-panel-header-"+FTe++,this._bodyAnimationDone=new Se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(Zo((c,d)=>c.fromState===d.fromState&&c.toState===d.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=Mt(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Rr(null),Fn(()=>this.expanded&&!this._portal),yi(1)).subscribe(()=>{this._portal=new Xf(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(E(Xk,12),E(kn),E(cS),E(ns),E(ut),E(Do,8),E(wW,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&ei(r,kTe,5),2&t){let s;_t(s=yt())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&Jn(TTe,5),2&t){let r;_t(r=yt())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&st("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Dt([{provide:Xk,useValue:void 0}]),ct,zn],ngContentSelectors:OTe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(wi(DTe),Ht(0),R(1,"div",0,1),ge("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),R(3,"div",2),Ht(4,1),mt(5,ATe,0,0,"ng-template",3),k(),Ht(6,2),k()),2&t&&(G(1),ie("@bodyExpansion",i._getExpandedState())("id",i.id),nn("aria-labelledby",i._headerId),G(4),ie("cdkPortalOutlet",i._portal))},directives:[Kf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[CW.bodyExpansion]},changeDetection:0}),n})();class LTe{}const BTe=Hf(LTe);let YM=(()=>{class n extends BTe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=Te.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Fn(d=>!(!d.hideToggle&&!d.togglePosition))):ec;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Ni(t.opened,t.closed,c,t._inputChanges.pipe(Fn(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Fn(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Zs(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(E(qM,1),E(rt),E(Sa),E(kn),E(wW,8),E(Do,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&ge("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(nn("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),vf("height",i._getHeaderHeight()),st("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[ct],ngContentSelectors:RTe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(wi(PTe),R(0,"span",0),Ht(1),Ht(2,1),Ht(3,2),k(),mt(4,ITe,1,1,"span",1)),2&t&&(G(4),ie("ngIf",i._showToggle()))},directives:[zr],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[CW.indicatorRotate]},changeDetection:0}),n})(),EW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),n})(),Kk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,xTe,dS]]}),n})();var SW=ze(478);Object.create(Error.prototype);const UTe=["*"];var KM=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(KM||(KM={})),KM))();class $Te{}const xW=new ve("SECURITY_CONTEXT");let Zk=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new SW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=SW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(Ae(i=>this.handleExtension(t,i)))}highlight(t){if(Of(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Of(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Of(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Of(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(I(dl),I(xW),I(Wf,8),I($Te,8),I(th))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),TW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new Le,this.load=new Le,this.ready=new Le,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,KM.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;s{class n{static forRoot(t){return{ngModule:n,providers:[Zk,t&&t.loader||[],t&&t.markedOptions||[],{provide:xW,useValue:t&&null!=t.sanitize?t.sanitize:mn.HTML}]}}static forChild(){return{ngModule:n}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function AW(n,e,t){return t?AW(n,e).pipe(Ae(i=>we(i)?t(...i):t(i))):new ce(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Ke(e))return()=>e(r,s)})}function ZM(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new ZTe(n,t))}}class ZTe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new QTe(e,this.observables,this.project))}}class QTe extends cU{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class JTe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new eAe(e,this.accumulator,this.seed,this.hasSeed))}}class eAe extends xt{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class iAe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new rAe(e,this.predicate))}}class rAe extends xt{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const sAe=["youtubeContainer"];let IW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new Se,this._destroyed=new Se,this._playerChanges=new ar(void 0),this._videoId=new ar(void 0),this._height=new ar(390),this._width=new ar(640),this._startSeconds=new ar(void 0),this._endSeconds=new ar(void 0),this._suggestedQuality=new ar(void 0),this._playerVars=new ar(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Of(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=ht(!0);if(!window.YT||!window.YT.Player){const r=new Se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(yi(1),Rr(!1))}const i=function(n,e,t,i,r,s,o){const a=Qi([e,s]).pipe(ZM(Qi([i,r])),Ae(([l,c])=>{const[d,f]=l,[p,g]=c;return d?{videoId:d,playerVars:f,width:p,height:g}:void 0}));return Qi([n,a,ht(o)]).pipe(function(n){return Mr(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0].slice()),t=>t.lift.call(ui([t,...n]),new hU(e))}(n),function(n){return e=>e.lift(new iAe(n))}(([e,t])=>!t),Ae(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new JTe(n,e,t))}}(dAe,void 0),Zo())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Ti(r=>{this._playerChanges.next(r)}),di(e=>e?PW(e)?ht(e):new ce(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{PW(r)||r.destroy()})(e)}}).pipe(yi(1),Rr(void 0)):ht(void 0)),Tn(this._destroyed),mc(new Se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Qi([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Qi([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Qi([t,i]).pipe(Ae(([d,f])=>({startSeconds:d,endSeconds:f}))),a=o.pipe(Jk(n,d=>!!d&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(d))),l=e.pipe(Jk(n,(d,f)=>!!d&&d.videoId!==f));Ni(n.pipe(Jk(Qi([e,o]),([d,f],p)=>!(!p||d==p.videoId&&!f.startSeconds&&!f.endSeconds))),l,a).pipe(ZM(Qi([n,e,o,r])),Ae(([d,f])=>f),Tn(s)).subscribe(([d,f,p,g])=>{!f||!d||(d.videoId=f,d.cueVideoById(Object.assign({videoId:f,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Pr(i=>i?AW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):ht()),i=>new ce(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),Tn(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(dl))},n.\u0275cmp=Ne({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&Jn(sAe,5),2&t){let r;_t(r=yt())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&tt(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function dAe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function PW(n){return"getPlayerStatus"in n}function Jk(n,e){return Mr(ZM(n),Fn(([t,i])=>e(i,t)),Ae(([t])=>t))}let pAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),CAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function e0(n){return!0===n}function so(n){return null==n}function ka(n){return!so(n)}function eF(n){return Boolean(n)}function NW(n){return so(n)?n:JSON.parse(JSON.stringify(n))}const JM=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&JM(n[o])}),n};function LW(n){return ka(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const zW="NGXS_DATA_META",nF="NGXS_META",jW="NGXS_ARGUMENT_REGISTRY_META";let UW=(()=>{class n{constructor(t){this.sequence$=new ar(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(I(cu,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function t0(n){return n[zW]}let Fa=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(dt),n.factory=i,n.context=r,n.computed=t.get(UW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(I(Nt),I(B$),I(L$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Fr{constructor(){Fr.statesCachedMeta.clear()}static createStateContext(e){return Fa.context.createStateContext(e)}static ensureMappedState(e){if(so(Fa.factory)||so(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(ka(e.name)?Fr.statesCachedMeta.get(e.name):null)||Fr.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=t0(Fr.getStateClassByInstance(e)))&&void 0!==t?t:null;if(so(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=Fr.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=Fr.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=ka(e.name)?null===(t=Fa.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return ka(i)&&ka(e.name)&&Fr.statesCachedMeta.set(e.name,i),i}}Fr.statesCachedMeta=new Map,Fr.\u0275fac=function(e){return new(e||Fr)},Fr.\u0275prov=ue({token:Fr,factory:Fr.\u0275fac}),new If(1);class $Ae extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${ka(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function HW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function $W(n){var e;const t=HW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=NW(void 0===t.defaults?{}:t.defaults);if(i.length){if(LW(s))return function(n,e){return e.reduce((t,i)=>{const r=HW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=$W(i),t},null!=n?n:{})}(s,i);throw new $Ae(s)}return s}function WW(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function qW(){var n,e;return null!==(e=null===(n=null==Fa?void 0:Fa.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function YAe(n){let e=!1;return cm(n)&&(e=!0),e}function iF(n){return n[jW]}class XAe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class KAe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(eF(this.argumentMap.has(e))||eF(this.payloadMap.has(e)))throw new XAe(e,t)}}function rF(n){return Mo()?JM(n):n}function tDe(n){return{enumerable:!0,configurable:!0,get(){const e=t0(n),t=Fr.ensureMappedState(e.stateMeta);return Fr.createStateContext(t)}}}function sF(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Mo()?JM(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}function oi(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(LW(i))for(;null!==i;){if(e0(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return so(WW(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),WW(n)}(this),o=null==s?void 0:s.get(i);if(e0(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(so(o)||o.sequenceId!==qW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:qW(),isObservable:YAe(l)}),l}return o.value},t}}const oDe={cancelUncompleted:!0,insideZone:!1};function on(n=oDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=Fr.getRepositoryByInstance(a),d=c.operations;let f=d[s];const p=c.stateMeta,g=iF(r);if(so(f)){const w=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),x=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var w;return e0(n.insideZone)?null===(w=Fa.ngZone)||void 0===w||w.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),cm(l)?ht(null).pipe(Ae(()=>l)):l};const v=Fr.createAction(f,o,g),C=Fa.store.dispatch(v);return cm(l)?function(n,e){return Hv([n,e]).pipe(Ae(t=>t.pop()))}(C,l):l},i}}function Ms(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return so(iF(t))&&Object.defineProperties(t,{[jW]:{enumerable:!0,configurable:!0,value:new KAe}}),iF(t)})(e,t).createPayloadType(r,t,i)}}function xh(){return n=>{const e=function(n){if(function(n){return!eF(n)}(n.hasOwnProperty(nF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,nF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[nF]}(n)}(n);if(so(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=t0(n))&&void 0!==e?e:null;return(so(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,zW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),t0(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>NW(t)},context:tDe(n)})}(n,e,$W(n)),function(n){var e,t;const i=t0(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(ka(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(ka(this[s]))return this[s];if(so(Fa.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Fa.store.select(n).pipe(Ae(o=>Mo()?JM(o):o),qc({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}var tx=(()=>(function(n){n.ID="id"}(tx||(tx={})),tx))(),n0=(()=>(function(n){n.ASC="asc",n.DESC="desc"}(n0||(n0={})),n0))();let oF=(()=>{class n{constructor(){this.browserStorageEvents$=new Se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cDe=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})(),uDe=(()=>{class n extends oF{constructor(){super(...arguments),this.primaryKey=tx.ID,this.comparator=null}get snapshot(){return rF(this.getState())}get ids(){return this.snapshot.ids}get entities(){return this.snapshot.entities}get entitiesArray(){const t=this.snapshot;return t.ids.map(i=>t.entities[i])}get ids$(){return this.state$.pipe(Ae(t=>t.ids))}get entities$(){return this.state$.pipe(Ae(t=>t.entities))}get entitiesArray$(){return this.state$.pipe(Ae(t=>t.ids.map(i=>t.entities[i])))}get ctx(){return sF(this.context)}setComparator(t){return this.comparator=t,this}dispatch(t){return this.ctx.dispatch(t)}getState(){return this.ctx.getState()}selectId(t){var i;return null===(i=t)||void 0===i?void 0:i[this.primaryKey]}selectOne(t){var i;return null!==(i=this.snapshot.entities[t])&&void 0!==i?i:null}selectAll(){const t=this.getState();return t.ids.map(i=>t.entities[i])}reset(){this.setEntitiesState(this.initialState),this.markAsDirtyAfterReset()}addOne(t){this.addEntityOne(t)}addMany(t){this.addEntitiesMany(t)}setOne(t){this.setEntityOne(t)}setMany(t){this.setEntitiesMany(t)}setAll(t){this.setEntitiesAll(t)}updateOne(t){this.updateEntitiesMany([t])}updateMany(t){this.updateEntitiesMany(t)}upsertOne(t){this.upsertEntitiesMany([t])}upsertMany(t){this.upsertEntitiesMany(t)}removeOne(t){this.removeEntitiesMany([t])}removeMany(t){this.removeEntitiesMany(t)}removeByEntity(t){const i=this.selectId(t);this.removeEntitiesMany([i])}removeByEntities(t){const i=[];for(const r of t){const s=this.selectId(r);i.push(s)}this.removeEntitiesMany(i)}removeAll(){this.setEntitiesState(this.initialState)}sort(t){this.comparator=null!=t?t:this.comparator,so(this.comparator)?console.warn("You must set the compare function before sorting."):this.setEntitiesState(this.getState())}addEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);r in i.entities||this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}addEntitiesMany(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities||a in r||(s.push(a),r[a]=o)}s.length&&this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,...s],entities:Object.assign(Object.assign({},i.entities),r)}))}setEntitiesAll(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in r||(s.push(a),r[a]=o)}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:s,entities:r}))}setEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);this.setEntitiesState(Object.assign(Object.assign({},i),r in i.entities?{entities:Object.assign(Object.assign({},i.entities),{[r]:t})}:{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}setEntitiesMany(t){for(const i of t)this.setEntityOne(i)}updateEntitiesMany(t){const i=this.getState(),r=t.filter(a=>a.id in i.entities);if(0===r.length)return;const s=this.generateKeyMap(i),o=Object.assign({},i.entities);for(const a of r){const l=this.updateOrigin(o,a),c=this.selectIdValue(l);c!==a.id&&(delete s[a.id],delete o[a.id]),s[a.id]=c,o[c]=l}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.map(a=>{var l;return null!==(l=s[a])&&void 0!==l?l:a}),entities:o}))}upsertEntitiesMany(t){const i=this.getState(),r=[],s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities?r.push({id:a,changes:o}):s.push(o)}this.updateMany(r),this.addMany(s)}removeEntitiesMany(t){const i=this.getState(),r=this.generateKeyMap(i),s=Object.assign({},i.entities);for(const o of t)o in s&&(delete r[o],delete s[o]);this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.filter(o=>o in r),entities:s}))}setEntitiesState(t){const i=this.sortKeysByComparator(t.ids,t.entities);this.ctx.setState(Object.assign(Object.assign({},t),{ids:i,entities:t.entities}))}sortKeysByComparator(t,i){if(so(this.comparator))return t;const r=t.slice(),s=this.comparator;return"function"==typeof s?r.sort((o,a)=>s(i[o],i[a])):this.sortByComparatorOptions(r,s,i)}sortByComparatorOptions(t,i,r){switch(null==i?void 0:i.sortByOrder){case n0.ASC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?-1:0}(null==i?void 0:i.sortBy,r[s],r[o]));case n0.DESC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?-1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?1:0}(null==i?void 0:i.sortBy,r[s],r[o]));default:return Mo()&&console.warn(`Invalid --\x3e { sortByOrder: "${null==i?void 0:i.sortByOrder}" } not supported!`),t}}generateKeyMap(t){return t.ids.reduce((i,r)=>(i[r]=r,i),{})}updateOrigin(t,i){return Object.assign(Object.assign({},t[i.id]),i.changes)}selectIdValue(t){const i=this.selectId(t);return so(i)&&Mo()&&console.warn(`The entity passed to the 'selectId' implementation returned ${i}.`,"You should probably provide your own 'selectId' implementation.","The entity that was passed:",t,"The current `selectId` implementation: (entity: V): K => entity.id"),i}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"ids",null),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"entities",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"entitiesArray",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"ids$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entities$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entitiesArray$",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"addOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"addMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setMany",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setAll",null),xe([on(),ws(0,Ms("update")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"updateOne",null),xe([on(),ws(0,Ms("updates")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"updateMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"upsertOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"upsertMany",null),xe([on(),ws(0,Ms("id")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeOne",null),xe([on(),ws(0,Ms("ids")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeByEntity",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeByEntities",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"removeAll",null),xe([on(),ws(0,Ms("comparator")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"sort",null),n})(),Jm=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})();function aF(){return Fn(n=>null!=n)}const dDe={};function lF(...n){const e=n[n.length-1];let t=n,i=dDe;return"object"==typeof e&&(i=e,t=t.slice(0,-1)),r=>r.pipe(ur(...t),Zo(i.compare),qc(1))}const s_=new ve("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),IF=new ve("ngx-window",{providedIn:"root",factory:()=>function(n){return Of(n)?window:null}(Oc(dl))}),wIe=new ve("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Oc(IF))}),PF=new ve("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Oc(IF),Oc(wIe))});let xs=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Mo())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(I(s_),I(ut),I(PF))},n.\u0275prov=ue({factory:function(){return new n(I(s_),I(ut),I(PF))},token:n,providedIn:"root"}),n})();const MIe={provide:Mf,multi:!0,useFactory:function(n,e,t){return()=>yl(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(Mo()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Mo()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||Mo()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[s_,PF,ut]};new ve("ngx-google-analytics-routing-settings",{factory:()=>({})});let RF=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:s_,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},MIe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[]]}),n})(),f0=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new If(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),DIe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new Te,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(IF),I(s_))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const OIe=new ve("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),Kq=[f0,DIe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new Te;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(OIe))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})()];function PIe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let kIe=(()=>{class n{static forRoot(t){const{providers:i=[]}=RF.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[PIe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[...Kq,{provide:Mf,multi:!0,useFactory:()=>()=>{},deps:Kq}],imports:[[RF]]}),n})();class Zq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function FIe(){throw new Zq}function NIe(){throw new Zq}function kF(n,e,t){e.run(()=>n.dispatch(t))}function VIe(n,e,t,i){return Og(t)?function(n,e,t){return t.then(i=>(kF(n,e,i),i))}(n,e,t):cm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(Tn(i.cancelUncompleted$))),t.subscribe({next:r=>kF(n,e,r)}),t}(n,e,t,i):(kF(n,e,t),t)}class zIe{constructor(){this.cancelUncompleted$=new Se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const FF="\u0275fac",Qq=Symbol("InjectorInstance"),Jq=Symbol("FactoryHasBeenDecorated");function e9(n,e){const t=n[Qq];return t?t.get(e):null}const HIe={cancelUncompleted:!1};function t9(n=HIe){return(e,t,i)=>{let r;const s=function(n){return n?new zIe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=e9(this,cu)||FIe(),l=e9(this,dt)||NIe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>VIe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(Jq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[FF]&&function(n){const e=n[FF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[Qq]=E(Fc),r};t&&(t.factory=i),Object.defineProperty(n,FF,{get:()=>i})}(e),n.constructor.prototype[Jq]=!0}(e)}}let n9=(()=>{class n{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get inset(){return this._inset}set inset(t){this._inset=Mt(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,i){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),n})(),yx=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();const sPe=["input"],oPe=function(n){return{enterDuration:n}},aPe=["*"],lPe=new ve("mat-checkbox-default-options",{providedIn:"root",factory:c9});function c9(){return{color:"accent",clickAction:"check-indeterminate"}}let cPe=0;const u9=c9(),uPe={provide:ro,useExisting:T(()=>VF),multi:!0};class dPe{}const hPe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let VF=(()=>{class n extends hPe{constructor(t,i,r,s,o,a,l){super(t),this._changeDetectorRef=i,this._focusMonitor=r,this._ngZone=s,this._animationMode=a,this._options=l,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++cPe,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Le,this.indeterminateChange=new Le,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||u9,this.color=this.defaultColor=this._options.color||u9.color,this.tabIndex=parseInt(o)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=Mt(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const i=Mt(t);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const i=t!=this._indeterminate;this._indeterminate=Mt(t),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let i=this._currentCheckState,r=this._elementRef.nativeElement;if(i!==t&&(this._currentAnimationClass.length>0&&r.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){r.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{r.classList.remove(s)},1e3)})}}_emitChangeEvent(){const t=new dPe;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var i;const r=null===(i=this._options)||void 0===i?void 0:i.clickAction;t.stopPropagation(),this.disabled||"noop"===r?!this.disabled&&"noop"===r&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==r&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,i){t?this._focusMonitor.focusVia(this._inputElement,t,i):this._inputElement.nativeElement.focus(i)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,i){if("NoopAnimations"===this._animationMode)return"";let r="";switch(t){case 0:if(1===i)r="unchecked-checked";else{if(3!=i)return"";r="unchecked-indeterminate"}break;case 2:r=1===i?"unchecked-checked":"unchecked-indeterminate";break;case 1:r=2===i?"checked-unchecked":"checked-indeterminate";break;case 3:r=1===i?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${r}`}_syncIndeterminate(t){const i=this._inputElement;i&&(i.nativeElement.indeterminate=t)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Sa),E(dt),Zr("tabindex"),E(Do,8),E(lPe,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-checkbox"]],viewQuery:function(t,i){if(1&t&&(Jn(sPe,5),Jn(Js,5)),2&t){let r;_t(r=yt())&&(i._inputElement=r.first),_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",null),st("mat-checkbox-indeterminate",i.indeterminate)("mat-checkbox-checked",i.checked)("mat-checkbox-disabled",i.disabled)("mat-checkbox-label-before","before"==i.labelPosition)("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Dt([uPe]),ct],ngContentSelectors:aPe,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),R(3,"input",3,4),ge("change",function(s){return i._onInteractionEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(5,"span",5),tt(6,"span",6),k(),tt(7,"span",7),R(8,"span",8),Yt.lFrame.currentNamespace=Wn,R(9,"svg",9),tt(10,"path",10),k(),Yt.lFrame.currentNamespace=null,tt(11,"span",11),k(),k(),R(12,"span",12,13),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(14,"span",14),De(15,"\xa0"),k(),Ht(16),k(),k()),2&t){const r=vs(1),s=vs(13);nn("for",i.inputId),G(2),st("mat-checkbox-inner-container-no-side-margin",!s.textContent||!s.textContent.trim()),G(1),ie("id",i.inputId)("required",i.required)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex),nn("value",i.value)("name",i.name)("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-checked",i._getAriaChecked())("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Hg(19,oPe,"NoopAnimations"===i._animationMode?0:150))}},directives:[Js,WD],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),n})(),d9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),h9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On,SE,d9],On,d9]}),n})();const gPe=["bodyCanvas"];let mPe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Le,this.nodeDrag=new Le,this.nodeClick=new Le,this.nodeHoverStart=new Le,this.nodeHoverStop=new Le,this.initialized=new Le,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return yl(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new LMe({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&Jn(gPe,5,rt),2&t){let r;_t(r=yt())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&tt(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),_Pe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();function wPe(n,e){if(1&n&&(R(0,"li",4),De(1),Kt(2,"json"),k()),2&n){const t=e.$implicit;G(1),Aw(" ",t[0],": ",rn(2,2,t[1])," ")}}function EPe(n,e){if(1&n&&(R(0,"div",1),R(1,"div"),De(2),k(),R(3,"ul",2),mt(4,wPe,3,4,"li",3),k(),k()),2&n){const t=e.$implicit;G(2),xi(t[0]),G(2),ie("ngForOf",t[1])}}let SPe=(()=>{class n{constructor(t,i){this.clsName="ccf-store-debug",this.root={},this.subscriptions=new Te;const r=t.subscribe(s=>{this.root=s,i.markForCheck()});this.subscriptions.add(r)}get data(){return Object.entries(this.root).map(([s,o])=>[s,Object.entries(o)]).filter(([s,o])=>o.length>0)}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(cu),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-store-debug"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:1,vars:1,consts:[["class","state",4,"ngFor","ngForOf"],[1,"state"],[1,"kvlist"],["class","kvpair",4,"ngFor","ngForOf"],[1,"kvpair"]],template:function(t,i){1&t&&mt(0,EPe,5,2,"div",0),2&t&&ie("ngForOf",i.data)},directives:[pl],pipes:[tV],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),n})(),MPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();new ve("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const OPe=["carouselContainer"],IPe=["itemlist"],PPe=["itemcontainer"];function RPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",9),ge("touchstart",function(){return en(t),Qe().scroll("left")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("left")})("mousedown",function(){return en(t),Qe().scroll("left")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_left"),k()}2&n&&st("disabled",Qe().onLeft)}function kPe(n,e){if(1&n&&(R(0,"div",15),De(1),k()),2&n){const t=Qe().$implicit,i=Qe();G(1),xi(i.occurenceData[t.id]||0)}}function FPe(n,e){if(1&n){const t=Zi();R(0,"div",10),ge("click",function(){const s=en(t).$implicit;return Qe().selectOrgan(s)}),tt(1,"mat-icon",11),R(2,"div",12),R(3,"div",13),De(4),k(),mt(5,kPe,2,1,"div",14),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("disabled",t.disabled)("selected",i.isSelected(t)),G(1),Jy("svgIcon",t.src),G(3),xi(t.name),G(1),ie("ngIf",void 0!==t.numResults)}}function NPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",16),ge("touchstart",function(){return en(t),Qe().scroll("right")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("right")})("mousedown",function(){return en(t),Qe().scroll("right")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_right"),k()}2&n&&st("disabled",Qe().onRight)}const g0=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let p9=(()=>{class n{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=g0,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Le,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new hW.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:i}=this;let r=parseInt(i.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(r="right"===t?r-this.step:r+this.step,i.nativeElement.style.left=r+"px",this.setLeftRight(r))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(i=>t!==i):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:i,carouselContainer:r}=this,s=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(s);const o=this.step*Math.floor(r.nativeElement.offsetWidth/this.step)-64;i.nativeElement.style.width=`${o}px`}}setWidth(){const{itemContainer:t,carouselContainer:i}=this,r=this.step*Math.floor(i.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${r}px`}setLeftRight(t){const{itemContainer:i}=this;this.onLeft=0===t,this.onRight=t<=i.nativeElement.offsetWidth-this.organList.length*this.step}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-organ-selector"]],viewQuery:function(t,i){if(1&t&&(Jn(OPe,7),Jn(IPe,7),Jn(PPe,7)),2&t){let r;_t(r=yt())&&(i.carouselContainer=r.first),_t(r=yt())&&(i.itemList=r.first),_t(r=yt())&&(i.itemContainer=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[zn],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,i){1&t&&(R(0,"div",0,1),mt(2,RPe,2,2,"mat-icon",2),R(3,"div",3,4),R(5,"div",5,6),mt(7,FPe,6,7,"div",7),k(),k(),mt(8,NPe,2,2,"mat-icon",8),k()),2&t&&(st("expanded",i.expanded)("error",i.error),ie("matTooltipDisabled",i.multiselect),G(2),ie("ngIf",!i.expanded),G(5),ie("ngForOf",i.organList),G(1),ie("ngIf",!i.expanded))},directives:[dc,zr,pl,rs],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),n})(),g9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),LPe=(()=>{class n{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Le,this.visibilityToggle=new Le,this.opacityReset=new Le}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"mat-slider",2),ge("input",function(s){return i.changeOpacity(s.value)}),k(),R(3,"span",3),De(4),k(),k(),R(5,"div",4),R(6,"mat-icon",5),ge("click",function(){return i.toggleVisibility()}),k(),R(7,"mat-icon",6),ge("click",function(){return i.toggleVisibility()}),k(),R(8,"mat-icon",7),ge("click",function(){return i.resetOpacity()}),De(9,"refresh"),k(),k(),k()),2&t&&(G(2),st("disabled",!i.visible),ie("step",1)("min",0)("max",100)("value",i.opacity),G(2),or("",i.opacity,"%"),G(2),st("hidden",i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),st("hidden",!i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),ie("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[jk,rs,Js],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),n})(),m9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l]]}),n})();function BPe(n,e){if(1&n&&(R(0,"div",16),tt(1,"youtube-player",17),k()),2&n){const t=Qe(3);G(1),Jy("videoId",t.videoID)}}function VPe(n,e){if(1&n&&(R(0,"mat-expansion-panel",11),R(1,"mat-expansion-panel-header"),R(2,"h2",12),De(3),k(),k(),R(4,"div",13),tt(5,"markdown",14),mt(6,BPe,2,1,"div",15),k(),k()),2&n){const t=Qe(),i=t.index,r=t.$implicit;ie("expanded",0===i),G(3),xi(r.title),G(2),st("first",0===i),ie("data",r.content),G(1),ie("ngIf",0===i)}}function zPe(n,e){if(1&n&&(R(0,"div",9),mt(1,VPe,7,6,"mat-expansion-panel",10),k()),2&n){const t=e.$implicit;G(1),ie("ngIf",t)}}let _9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"h2",4),De(5),k(),R(6,"div",5),R(7,"mat-icon",6),ge("click",function(){return i.close()}),De(8,"clear"),k(),k(),k(),R(9,"mat-dialog-content",7),mt(10,zPe,2,1,"div",8),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(5),ie("ngForOf",i.documentationContents))},directives:[Wk,rs,qk,pl,zr,qM,YM,TW,IW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),jPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,Kk,pAe,XTe.forRoot({})]]}),n})(),y9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new ar({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(I(Wf))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),UPe=(()=>{class n{constructor(t,i){this.dialog=t,this.infoButtonService=i,this.infoTitle="",this.subscriptions=new Te,this.subscriptions.add(i.panelContent.subscribe(r=>{r.content.length&&this.launchInfoDialog(r)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(y9))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-icon",1),ge("click",function(){return i.onDialogButtonClick()}),De(2," info "),k(),k())},directives:[rs],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),n})(),HPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,jPe,lr,Rj]]}),n})(),$Pe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Le,this.closeClicked=new Le}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"p",4),De(5),k(),R(6,"mat-icon",5),ge("click",function(){return i.close()}),De(7,"clear"),k(),k(),tt(8,"img",6),R(9,"mat-dialog-content",7),R(10,"div",8),De(11),k(),R(12,"a",9),ge("click",function(){return i.onDialogButtonClick()}),k(),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(3),ie("src",i.imageUrl,Ud),G(3),or(" ",i.message,""),G(1),ie("text",i.callToAction))},directives:[Wk,rs,CAe,qk],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),WPe=(()=>{class n{constructor(t){this.el=t}onInputChange(t){const i=this.el.nativeElement.value;this.el.nativeElement.value=i.replace(/[^0-9]*/g,""),i!==this.el.nativeElement.value&&t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["input","ccfNumbersOnly",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i.onInputChange(s)})}}),n})(),qPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),v9=(()=>{class n{get obj(){const t=this.findGlobalObject();return Object.defineProperties(this,{obj:{configurable:!1,writable:!1,value:t}}),t}has(t){const{obj:i}=this;return null!=i&&t in i}get(t,i){var r;const{obj:s}=this;return null!==(r=s&&s[t])&&void 0!==r?r:i}set(t,i){const{obj:r}=this;r&&(r[t]=i)}remove(t){const{obj:i}=this;i&&delete i[t]}findGlobalObject(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self;try{return new Function("return this;")()}catch(t){}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Ah=(()=>{let n=class extends Jm{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(aF(),qc(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(ur(...t),Zo(),qc(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(ur(...t),Zo(),qc(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi()],n.prototype,"config$",null),n=xe([xh(),cd({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();let ZPe=(()=>{class n{constructor(t,i){t&&function(n,e){Wc(n,"mousemove").pipe(dW(1e3),Ae(r=>{const{clientWidth:s,clientHeight:o}=n,{clientX:a,clientY:l}=r;return[a,l,s,o].join("_")})).subscribe(r=>e.event("webpage","mousemove",r))}(t.body,i)}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(xs))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function QPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!0)}),De(1),k()}if(2&n){const t=Qe();G(1),or(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function JPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!1)}),De(1,"Opt out"),k()}}let eRe=(()=>{class n{constructor(t,i,r){this.consentService=i,this.data=r,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:i}=this;return"not-set"===i||("opt-in"===t?"rescinded"===i:"given"===i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(f0),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,i){1&t&&(R(0,"p"),De(1,"We log usage to improve this service."),k(),mt(2,QPe,2,1,"button",0),mt(3,JPe,2,0,"button",0)),2&t&&(G(2),ie("ngIf",i.showButton("opt-in")),G(1),ie("ngIf",i.showButton("opt-out")))},directives:[zr,lh],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),n})(),tRe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})();new Se;let zF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),jF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),UF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var HF;class sa{get length(){var e,t;return null!==(t=null===(e=sa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=sa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=sa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=sa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=sa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=sa.storage)||void 0===e||e.clear()}}sa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),sa.\u0275fac=function(e){return new(e||sa)},sa.\u0275prov=ue({token:sa,factory:sa.\u0275fac,providedIn:"root"});const w9="callToActionPopupShown";let oo=HF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(w9,`${i}`),s=HF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new jF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(Ae(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Ti(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(iRe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(w9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};oo.\u0275fac=function(e){return new(e||oo)(I(_p),I(xs),I(sa),I(y9),I(Wf))},oo.\u0275prov=ue({token:oo,factory:oo.\u0275fac}),xe([gk(zF)],oo.prototype,"learnMore",null),xe([gk(jF)],oo.prototype,"open",null),xe([gk(UF)],oo.prototype,"close",null),oo=HF=xe([cd({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],oo);let vx=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return xe([Xm([oo])],n,"title",null),xe([Xm([oo])],n,"message",null),xe([Xm([oo])],n,"callToAction",null),xe([Xm([oo])],n,"imageUrl",null),xe([Xm([oo])],n,"expirationDate",null),xe([Xm([oo])],n,"popupShown",null),n})(),iRe=(()=>{class n{constructor(){this.close=()=>new UF,this.learnMore=()=>new zF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(R(0,"ccf-call-to-action",0),ge("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),k()),2&t&&ie("infoTitle",rn(1,4,i.title$))("message",rn(2,6,i.message$))("callToAction",rn(3,8,i.callToAction$))("imageUrl",rn(4,10,i.imageUrl$))},directives:[$Pe],pipes:[Hc],styles:[""],changeDetection:0}),xe([NM(vx.title)],n.prototype,"title$",void 0),xe([NM(vx.message)],n.prototype,"message$",void 0),xe([NM(vx.callToAction)],n.prototype,"callToAction$",void 0),xe([NM(vx.imageUrl)],n.prototype,"imageUrl$",void 0),xe([t9()],n.prototype,"close",void 0),xe([t9()],n.prototype,"learnMore",void 0),n})();const oRe={initialConfig:{},parse:{},rename:{}};class aRe{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},oRe),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,d=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(d)try{i[l]=d(c)}catch(f){console.warn(`Failed to parse ${e} = ${c}`,f.message)}else i[l]=c}}let lRe=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new aRe(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=oe({type:n,features:[zn]}),n})();const cRe={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var $F;const hu={production:!0,disableDbWorker:!0,dbOptions:{ccfOwlUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf.owl",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==($F=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==$F?$F:""},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},skipUnsavedChangesConfirmation:!1,googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};var uRe=ze(815);class hRe{constructor(e){this.value=e}call(e,t){return t.subscribe(new fRe(e,this.value))}}class fRe extends xt{constructor(e,t){super(e),this.value=t}_next(e){this.destination.next(this.value)}}class gRe{constructor(e){this.notifier=e}call(e,t){return t.subscribe(new mRe(e,this.notifier))}}class mRe extends ii{constructor(e,t){super(e),this.hasValue=!1;const i=new Gr(this);this.add(i),this.innerSubscription=i;const r=co(t,i);r!==i&&(this.add(r),this.innerSubscription=r)}_next(e){this.hasValue&&super._next(e)}notifyNext(){this.hasValue=!0,this.innerSubscription&&this.innerSubscription.unsubscribe()}notifyComplete(){}}function GF(n){return"function"==typeof n}function E9(n){return void 0===n}function yRe(n,e,t){return function(r){let s=!!n;return function(n){return"function"==typeof n}(n)&&(s=n(r)),function(n,e){return GF(n)?n(e):E9(n)?e:n}(s?e:t,r)}}function vRe(n,e){return function(i){if(function(n){return null===n||E9(n)}(n)&&i)return i;if(!Array.isArray(i))return[n];const r=i.slice();let s=0;return e>0&&(s=e),r.splice(s,0,n),r}}function m0(n){return function(t){let i=null;for(const r in n){const s=n[r],o=t[r],a=GF(s)?s(o):s;a!==o&&(i||(i=Object.assign({},t)),i[r]=a)}return i||t}}let ji=class extends Jm{constructor(e){super(),this.globalConfig=e,this.user$=this.state$.pipe(ur("user")),this.registrationStarted$=this.state$.pipe(lF("registrationStarted")),this.useCancelRegistrationCallback$=this.state$.pipe(ur("useCancelRegistrationCallback")),this.registrationCallbackSet$=this.state$.pipe(ur("registrationCallbackSet"))}get skipConfirmation$(){return this.state$.pipe(lF("skipConfirmation"))}get globalSkipConfirmation$(){return this.globalConfig.getOption("skipUnsavedChangesConfirmation").pipe(Ae(e=>null!=e?e:hu.skipUnsavedChangesConfirmation),Zo())}get hasChanges$(){return this.state$.pipe(lF("hasChanges"))}ngxsOnInit(){super.ngxsOnInit(),this.globalConfig.config$.pipe(yi(1),Ti(e=>this.setState(m0({registrationCallbackSet:!!e.register,useCancelRegistrationCallback:!!e.cancelRegistration,user:yRe(!!e.user,e.user),registrationStarted:!!e.user||void 0})))).subscribe(),this.initSkipConfirmationListeners()}cancelRegistration(){const{globalConfig:{snapshot:{cancelRegistration:e}},snapshot:{useCancelRegistrationCallback:t,skipConfirmation:i}}=this;t&&(i||confirm("Changes you made may not be saved."))&&(null==e||e())}setUseCancelRegistrationCallback(e){this.ctx.patchState({useCancelRegistrationCallback:e})}setUserName(e){this.ctx.setState(m0({user:m0(e)}))}registrationStarted(){this.ctx.setState(m0({registrationStarted:!0}))}setHasChanges(){const{snapshot:{registrationStarted:e,hasChanges:t}}=this;e&&!t&&this.ctx.patchState({hasChanges:!0})}clearHasChanges(){this.ctx.patchState({hasChanges:!1})}initSkipConfirmationListeners(){const e=i=>this.patchState({skipConfirmation:i});this.globalSkipConfirmation$.pipe(Fn(i=>i)).subscribe(e),this.hasChanges$.pipe(ZM(this.globalSkipConfirmation$),Ae(([i,r])=>r||!i),Zo()).subscribe(e);const t=i=>(i.preventDefault(),i.returnValue="Changes you made may not be saved.",i.returnValue);this.skipConfirmation$.subscribe(i=>{i?removeEventListener("beforeunload",t):addEventListener("beforeunload",t)})}};ji.\u0275fac=function(e){return new(e||ji)(I(Ah))},ji.\u0275prov=ue({token:ji,factory:ji.\u0275fac}),xe([oi()],ji.prototype,"skipConfirmation$",null),xe([oi()],ji.prototype,"globalSkipConfirmation$",null),xe([oi()],ji.prototype,"hasChanges$",null),xe([on()],ji.prototype,"setUseCancelRegistrationCallback",null),xe([on()],ji.prototype,"setUserName",null),xe([on()],ji.prototype,"registrationStarted",null),xe([on()],ji.prototype,"setHasChanges",null),xe([on()],ji.prototype,"clearHasChanges",null),ji=xe([xh(),cd({name:"page",defaults:{user:{firstName:"",lastName:""},registrationStarted:!1,useCancelRegistrationCallback:!1,registrationCallbackSet:!1,skipConfirmation:!0,hasChanges:!1}})],ji);let fc=class extends Jm{constructor(e,t){super(),this.globals=e,this.globalConfig=t}ngxsOnInit(){super.ngxsOnInit(),this.getSourceDB().subscribe(e=>{this.setState(e),hu.production||this.globals.set("db",e)})}getSourceDB(){return this.globalConfig.getOption("baseHref").pipe(Ae(e=>(null!=e?e:"")+"assets/reference-organ-data.json"),Pr(e=>ui(fetch(e)).pipe(Pr(t=>t.json()),Ta(()=>ec))))}normalizePlacement(e){const i=this.snapshot.placementPatches[null==e?void 0:e.target];if(i){const r=function(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(ib),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}(new $t($t.IDENTITY),i),s={x:e.x_translation,y:e.y_translation,z:e.z_translation},[o,a,l]=r.transformAsPoint([s.x,s.y,s.z],[]),c=Object.assign(Object.assign({},e),{target:i.target});return c.x_translation=o,c.y_translation=a,c.z_translation=l,c}return e}getReferenceOrganIri(e,t,i,r){const s=this.snapshot;"KIDNEY"!==e.toUpperCase()&&(i=""),(null==r?void 0:r.sex)&&(t=r.sex);const o=[e,t,i||(null==r?void 0:r.side)].join("|").toUpperCase(),a=Object.keys(s.organIRILookup).find(l=>l.toUpperCase().endsWith(o));return a?s.organIRILookup[a]:void 0}getOrganData(e){var t,i,r;const o=this.snapshot.organSpatialEntities[e];if(!o)return;const a=null!==(t=o.label)&&void 0!==t?t:"",l=g0.find(c=>a.endsWith(c.organ)&&(!o.side||o.side.toLowerCase()===c.side));return l?{organ:l,sex:null===(i=o.sex)||void 0===i?void 0:i.toLowerCase(),side:null===(r=o.side)||void 0===r?void 0:r.toLowerCase()}:void 0}};fc.\u0275fac=function(e){return new(e||fc)(I(v9),I(Ah))},fc.\u0275prov=ue({token:fc,factory:fc.\u0275fac}),fc=xe([xh(),cd({name:"reference",defaults:{organIRILookup:{},organSpatialEntities:{},anatomicalStructures:{},extractionSets:{},sceneNodeLookup:{},simpleSceneNodeLookup:{},placementPatches:{}}})],fc);const qF=g0;let ai=class extends Jm{constructor(e,t,i){super(),this.ga=e,this.injector=t,this.globalConfig=i,this.id$=this.state$.pipe(ur("id")),this.blockSize$=this.state$.pipe(ur("blockSize")),this.rotation$=this.state$.pipe(ur("rotation")),this.position$=this.state$.pipe(ur("position")),this.slicesConfig$=this.state$.pipe(ur("slicesConfig")),this.viewType$=this.state$.pipe(ur("viewType")),this.viewSide$=this.state$.pipe(ur("viewSide")),this.organ$=this.state$.pipe(ur("organ")),this.organIri$=this.state$.pipe(ur("organIri")),this.organDimensions$=this.state$.pipe(ur("organDimensions")),this.sex$=this.state$.pipe(ur("sex")),this.side$=this.state$.pipe(ur("side")),this.showPrevious$=this.state$.pipe(ur("showPrevious")),this.extractionSites$=this.state$.pipe(ur("extractionSites")),this.anatomicalStructures$=this.state$.pipe(ur("anatomicalStructures")),this.extractionSets$=this.state$.pipe(ur("extractionSets"))}get modelChanged$(){const e=["viewType","viewSide","showPrevious"],t=Object.keys(this.initialState).filter(i=>!e.includes(i));return this.state$.pipe(dW(0,void 0,{leading:!1,trailing:!0}),Zo((i,r)=>{for(const s of t)if(i[s]!==r[s])return!1;return!0}),e=>e.lift(new hRe(void 0)))}ngxsOnInit(){super.ngxsOnInit(),this.referenceData=this.injector.get(fc),this.page=this.injector.get(ji),this.globalConfig.getOption("organ").pipe(aF(),Pr(e=>{var t,i;const r=e.name.toLowerCase(),s=e.side;let a=this.idMatches(e.ontologyId,s);return a||(a=this.nameMatches(r,s)),a?(this.ctx.patchState({organ:a,sex:null===(t=e.sex)||void 0===t?void 0:t.toLowerCase(),side:null===(i=null==a?void 0:a.side)||void 0===i?void 0:i.toLowerCase()}),this.referenceData.state$.pipe(Zg(100),yi(1),Vk(200),Ti(()=>this.onOrganIriChange()))):ec})).subscribe(),this.modelChanged$.pipe(function(n){return e=>e.lift(new gRe(n))}(this.page.registrationStarted$.pipe(Fn(e=>e),Vk(5)))).subscribe(()=>this.page.setHasChanges())}idMatches(e,t){return g0.find(i=>!(!e||i.id!==e||i.side&&i.side!==t))}nameMatches(e,t){return g0.find(i=>i.side?i.organ.toLowerCase()===e&&i.side===t:i.organ.toLowerCase()===e)}setBlockSize(e){this.ctx.patchState({blockSize:e})}setRotation(e){this.ctx.patchState({rotation:e})}setPosition(e){var t;this.ga.event("placement",`${null===(t=this.snapshot.organ)||void 0===t?void 0:t.name}_placement`,`${e.x.toFixed(1)}_${e.y.toFixed(1)}_${e.z.toFixed(1)}`),this.ctx.patchState({position:e})}setSlicesConfig(e){this.ctx.patchState({slicesConfig:e})}setViewType(e){this.ctx.patchState({viewType:e})}setViewSide(e){this.ctx.patchState({viewSide:e})}get defaultPosition(){const e=this.snapshot.organDimensions;return{x:e.x+2*this.snapshot.blockSize.x,y:e.y/2,z:e.z/2}}setOrgan(e){this.ga.event("organ_select","organ",e.name),this.ctx.patchState({organ:e}),e.side&&this.ctx.patchState({side:e.side}),this.onOrganIriChange()}setSex(e){this.ctx.patchState({sex:e}),this.onOrganIriChange()}setSide(e){this.ctx.patchState({side:e}),this.onOrganIriChange()}setShowPrevious(e){this.ctx.patchState({showPrevious:e})}setExtractionSites(e){this.ctx.patchState({extractionSites:e})}setAnatomicalStructures(e){this.ctx.patchState({anatomicalStructures:e})}setExtractionSets(e){this.ctx.patchState({extractionSets:e})}toggleRegistrationBlocksVisibility(e,t){if(this.setShowPrevious(e),e){const i=t.map(r=>{var s;return Object.assign(Object.assign({},r),{opacity:Math.min(20,null!==(s=r.opacity)&&void 0!==s?s:20)})});this.setAnatomicalStructures(i)}else this.setAnatomicalStructures(t)}onOrganIriChange(){var e,t,i,r,s;const o=this.referenceData.getReferenceOrganIri((null===(e=this.snapshot.organ)||void 0===e?void 0:e.organ)||"",this.snapshot.sex,this.snapshot.side,this.snapshot.organ),a={x:100,y:100,z:100};if((null===(t=this.snapshot.organ)||void 0===t?void 0:t.sex)&&this.ctx.patchState({sex:null===(i=this.snapshot.organ)||void 0===i?void 0:i.sex}),o){const l=this.referenceData.snapshot,c={};for(const p of l.anatomicalStructures[o]||[]){const g=null!==(r=p.representation_of)&&void 0!==r?r:p["@id"];c[g]||(c[g]={id:null!==(s=p.representation_of)&&void 0!==s?s:p["@id"],name:p.label,visible:!0,opacity:20,tooltip:p.comment})}this.ctx.patchState({anatomicalStructures:Object.values(c)});const d=(l.extractionSets[o]||[]).map(p=>({name:p.label,sites:(0,uRe.sortBy)(p.extractionSites.map(g=>({id:g["@id"],name:g.label,visible:!1,opacity:0,tooltip:g.comment})),"name")}));this.ctx.patchState({extractionSets:d}),this.ctx.patchState({extractionSites:d.length>0?d[0].sites:[]});const f=l.organSpatialEntities[o];a.x=f.x_dimension,a.y=f.y_dimension,a.z=f.z_dimension}this.ctx.patchState({organIri:o,organDimensions:a}),this.ctx.patchState({position:this.defaultPosition})}};ai.\u0275fac=function(e){return new(e||ai)(I(xs),I(Nt),I(Ah))},ai.\u0275prov=ue({token:ai,factory:ai.\u0275fac}),xe([oi()],ai.prototype,"modelChanged$",null),xe([on()],ai.prototype,"setBlockSize",null),xe([on()],ai.prototype,"setRotation",null),xe([on()],ai.prototype,"setPosition",null),xe([on()],ai.prototype,"setSlicesConfig",null),xe([on()],ai.prototype,"setViewType",null),xe([on()],ai.prototype,"setViewSide",null),xe([oi()],ai.prototype,"defaultPosition",null),xe([on()],ai.prototype,"setOrgan",null),xe([on()],ai.prototype,"setSex",null),xe([on()],ai.prototype,"setSide",null),xe([on()],ai.prototype,"setShowPrevious",null),xe([on()],ai.prototype,"setExtractionSites",null),xe([on()],ai.prototype,"setAnatomicalStructures",null),xe([on()],ai.prototype,"setExtractionSets",null),ai=xe([xh(),cd({name:"model",defaults:{id:"",label:"",organ:{src:"",name:""},organIri:"",organDimensions:{x:90,y:90,z:90},sex:"male",side:"left",blockSize:{x:10,y:10,z:10},rotation:{x:0,y:0,z:0},position:{x:0,y:0,z:0},slicesConfig:{thickness:NaN,numSlices:NaN},viewType:"register",viewSide:"anterior",showPrevious:!1,extractionSites:[],anatomicalStructures:[],extractionSets:[]}})],ai);const T9=new ve("Default theme class");let YF=(()=>{class n{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(t){const{injector:i,location:r}=t;i.get(n).initialize(r,i)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,i){this.element=t,this.injector=i,this.applyThemeClass(this.getTheme())}applyThemeClass(t,i="add"){var r;const{element:s,injector:o}=this;if(!t||!s||!o)return;const a=o.get(zc,null);if(!a)return;const l=s.nativeElement,c=null===(r=o.get(hm,null))||void 0===r?void 0:r.getContainerElement(),d="add"===i?"addClass":"removeClass";a[d](l,t),c&&a[d](c,t)}}return n.\u0275fac=function(t){return new(t||n)(I(T9,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),CRe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-name-input",this.firstNameValidator=new Sh("",[lG.required]),this.lastNameValidator=new Sh("",[lG.required]),this._name={firstName:"",lastName:""},this.nameChange=new Le}get name(){return this._name}set name(t){this._name=t,this.firstNameValidator.setValue((null==t?void 0:t.firstName)||""),this.lastNameValidator.setValue((null==t?void 0:t.lastName)||"")}updateName(t,i){const r=t.target;this.name=Object.assign(Object.assign({},this.name),{[i]:r.value}),this.ga.event("name_updated","name_input",i),this.nameChange.emit(this.name)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-name-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{name:"name"},outputs:{nameChange:"nameChange"},decls:8,vars:2,consts:[[1,"field"],[1,"text","label"],["matInput","","matTooltip","Add your first name.",1,"input",3,"value","input"],["matInput","","matTooltip","Add your last name.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"mat-form-field",0),R(1,"mat-label",1),De(2,"First Name "),k(),R(3,"input",2),ge("input",function(s){return i.updateName(s,"firstName")}),k(),k(),R(4,"mat-form-field",0),R(5,"mat-label",1),De(6,"Last Name "),k(),R(7,"input",3),ge("input",function(s){return i.updateName(s,"lastName")}),k(),k()),2&t&&(G(3),ie("value",i.firstNameValidator.value),G(4),ie("value",i.lastNameValidator.value))},directives:[am,Gf,Xb,dc],styles:["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:left;width:100%}"],changeDetection:0}),n})();const wRe=["thumbContainer"],ERe=["toggleBar"],SRe=["input"],MRe=function(n){return{enterDuration:n}},xRe=["*"],TRe=new ve("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let ARe=0;const DRe={provide:ro,useExisting:T(()=>A9),multi:!0};class ORe{constructor(e,t){this.source=e,this.checked=t}}const IRe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let A9=(()=>{class n extends IRe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++ARe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new Le,this.toggleChange=new Le,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=Mt(t)}get checked(){return this._checked}set checked(t){this._checked=Mt(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new ORe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),Zr("tabindex"),E(TRe),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(Jn(wRe,5),Jn(ERe,5),Jn(SRe,5)),2&t){let r;_t(r=yt())&&(i._thumbEl=r.first),_t(r=yt())&&(i._thumbBarEl=r.first),_t(r=yt())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),st("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Dt([DRe]),ct],ngContentSelectors:xRe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"div",2,3),R(4,"input",4,5),ge("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(6,"div",6,7),tt(8,"div",8),R(9,"div",9),tt(10,"div",10),k(),k(),k(),R(11,"span",11,12),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(13,"span",13),De(14,"\xa0"),k(),Ht(15),k(),k()),2&t){const r=vs(1),s=vs(12);nn("for",i.inputId),G(2),st("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),G(2),ie("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),nn("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(5),ie("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,MRe,i._noopAnimations?0:150))}},directives:[Js,WD],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),D9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),O9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[D9,_l,On,SE],D9,On]}),n})(),XF=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-labeled-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new Le}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.ga.event("slide_toggle_toggled","slide_toggle",this.value),this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-labeled-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=Zi();R(0,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left||o.toggle(),i.updateToggle(!0)}),De(1),k(),R(2,"mat-slide-toggle",1,2),ge("change",function(o){return i.updateToggle(!o.checked)}),k(),R(4,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left&&o.toggle(),i.updateToggle(!1)}),De(5),k()}2&t&&(st("disabled",i.disabled)("highlighted",i.left),G(1),xi(i.labels[0]),G(1),ie("disabled",i.disabled)("checked",!i.left),G(2),st("disabled",i.disabled)("highlighted",!i.left),G(1),xi(i.labels[1]))},directives:[A9],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%;cursor:not-allowed}"],changeDetection:0}),n})();const kRe=function(){return["Male","Female"]},FRe=function(n){return[n]};let NRe=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.dialogRef=r,this.clsName="ccf-registration-content",this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.organList=qF,r.disableClose=!0}setSexFromLabel(t){this.currentSex=t,this.sexSelected=!0}checkNameValid(t){this.nameValid=t.firstName.length>0&&t.lastName.length>0}organSelect(t){this.currentOrgan=t,this.organSelected=!0}registerButtonClick(t){t&&t.preventDefault(),this.organSelected&&this.nameValid&&this.closeDialog()}closeDialog(){this.model.setSex("Female"===this.currentSex?"female":"male"),this.model.setOrgan(this.currentOrgan),this.dialogRef.close(!0),this.page.registrationStarted()}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Qm))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:17,vars:18,consts:[[1,"modal"],["mat-dialog-content",""],[3,"name","nameChange"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"labels","value","valueChange"],[1,"selector-label"],[1,"selector-container"],[3,"organList","selectedOrgans","expanded","organsChanged"],["organSelector",""],["mat-button","",1,"registration-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"ccf-name-input",2),ge("nameChange",function(s){return i.page.setUserName(s),i.checkNameValid(s)}),Kt(3,"async"),k(),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),R(9,"div",6),De(10,"Select an organ"),k(),R(11,"div",7),R(12,"ccf-organ-selector",8,9),ge("organsChanged",function(s){return i.organSelect(s[0])}),Kt(14,"async"),k(),k(),k(),R(15,"button",10),ge("click",function(s){return i.registerButtonClick(s)}),De(16,"START REGISTRATION"),k(),k()),2&t&&(G(2),ie("name",rn(3,9,i.page.user$)),G(5),ie("labels",fv(15,kRe))("value",rn(8,11,i.sexByLabel$)),G(5),ie("organList",i.organList)("selectedOrgans",Hg(16,FRe,rn(14,13,i.model.organ$)))("expanded",!0),G(3),st("disabled",!i.organSelected||!i.nameValid),ie("matTooltip",i.organSelected&&i.nameValid?"":"Required: Enter first and last name, and select an organ"))},directives:[CRe,dc,XF,p9,lh],pipes:[Hc],styles:[".modal[_ngcontent-%COMP%]{padding:1rem;border-radius:4px;max-width:47rem}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}.modal[_ngcontent-%COMP%] .selector-label[_ngcontent-%COMP%]{font-weight:600;height:3rem;line-height:3rem}.modal[_ngcontent-%COMP%] .selector-container[_ngcontent-%COMP%]{margin:0 auto}.modal[_ngcontent-%COMP%] .registration-button[_ngcontent-%COMP%]{display:block;margin:2rem auto 0;transition:.6s}.modal[_ngcontent-%COMP%] .registration-button.disabled[_ngcontent-%COMP%]{pointer-events:none}"],changeDetection:0}),n})(),LRe=(()=>{class n{constructor(t,i,r){this.dialog=t,this.page=i,this.model=r,this.clsName="ccf-registration-modal"}ngOnInit(){Qi([this.page.user$,this.model.organ$]).pipe(Zg(500),yi(1),Ti(([t,i])=>{""!==t.firstName&&""!==t.lastName&&""!==i.src||this.openDialog()})).subscribe()}openDialog(){this.dialog.open(NRe,{autoFocus:!1})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(ji),E(ai))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:0,vars:0,template:function(t,i){},encapsulation:2}),n})();function BRe(n,e){1&n&&function(n,e,t){_f(n,e,t),yf()}(0)}function VRe(n,e){if(1&n){const t=Zi();R(0,"div",4),ge("click",function(){return en(t),Qe().page.cancelRegistration()}),R(1,"mat-icon",5),De(2,"chevron_left"),k(),R(3,"span",6),De(4,"BACK"),k(),k()}}function zRe(n,e){if(1&n&&(R(0,"a",7),tt(1,"div",8),k()),2&n){const t=Qe();ie("href",t.homeUrl,Ud)("matTooltip",t.logoTooltip)}}let jRe=(()=>{class n{constructor(t){this.page=t,this.clsName="ccf-header"}}return n.\u0275fac=function(t){return new(t||n)(E(ji))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-header"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{homeUrl:"homeUrl",logoTooltip:"logoTooltip"},decls:7,vars:5,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["backButton",""],["logo",""],[1,"filler"],["rel","noreferrer noopener",1,"link","home",3,"click"],[1,"icon","backbutton"],[1,"text"],["rel","noreferrer noopener","matTooltipPosition","right",1,"link","portal",3,"href","matTooltip"],["aria-hidden","false","aria-label","Reset tool",1,"logo"]],template:function(t,i){if(1&t&&(mt(0,BRe,1,0,"ng-container",0),Kt(1,"async"),mt(2,VRe,5,0,"ng-template",null,1,jw),mt(4,zRe,2,2,"ng-template",null,2,jw),tt(6,"div",3)),2&t){const r=vs(3),s=vs(5);ie("ngIf",rn(1,3,i.page.useCancelRegistrationCallback$))("ngIfThen",r)("ngIfElse",s)}},directives:[zr,rs,dc],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid}[_nghost-%COMP%] .text[_ngcontent-%COMP%]{padding:.25rem 0;height:2rem;display:flex;align-items:center;font-weight:lighter;font-size:1.5rem}[_nghost-%COMP%] .link[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;text-decoration:none;padding:.25rem 0}[_nghost-%COMP%] .home[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{transition:color .6s}[_nghost-%COMP%] .home[_ngcontent-%COMP%] .backbutton[_ngcontent-%COMP%]{font-size:2.25rem;width:2.25rem;height:2.25rem}[_nghost-%COMP%] .portal[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex}[_nghost-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}"],changeDetection:0}),n})();const I9={isolated:!0},P9=new ve("Message service configuration",{providedIn:"root",factory:()=>I9});let URe=(()=>{class n{constructor(t,i,r){this.source=t,this.channel=i,this.messages=r}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(Fn(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(Fn(i=>i.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(Fn(i=>t.includes(i.source)))}nextMessageId(){return n.counter++}}return n.counter=0,n})();const _0=(()=>{class n{constructor(t,i){this.config=t,this.parent=i,this.channel=new Se,this.messages=t.isolated||!i?this.channel.asObservable():ui([this.channel,i.messages.pipe(qj(()=>!this.channel.closed))]).pipe(uo())}ngOnDestroy(){this.channel.complete()}connect(t){return new URe(t,this.channel,this.messages)}}return n.\u0275fac=function(t){return new(t||n)(I(P9),I(n,12))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),HRe=["*"];let bx=(()=>{class n{constructor(t,i){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new Te;const r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const i=t.source.position,{opened:r,width:s,margin:o}=t.payload;return this.updateMargin(i,r,s,o),this.updateFaded(),!0}default:return!1}}updateMargin(t,i,r,s){const o=i?r+s:s;"start"===t?this.leftMargin=o:this.rightMargin=o}updateFaded(){const[t,i]=this.drawers;this.faded=!!((null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,i){2&t&&(Pg("@fadeInOut",i.faded),Rn(i.className),vf("margin-left",i.leftMargin,"px")("margin-right",i.rightMargin,"px"),st("cff-drawer-content-animations",i.animationsEnabled))},ngContentSelectors:HRe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[tc("fadeInOut",[wr("false",ti({opacity:1})),wr("true",ti({opacity:0})),Qs("false <=> true",Ao("1s"))])]},changeDetection:0}),n})();const $Re=["*"],KF={params:{width:0,margin:0,margin2:0}};class GRe{constructor(){this.initialized=!1,this.deferred=new Promise(e=>{this.resolve=e})}set(){this.initialized=!0,this.resolve()}wait(){return yl(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let ZF=(()=>{class n{constructor(t,i,r){this.element=r,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Le(!0),this.expandedChange=new Le(!0),this.stateChange=new Le(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new GRe,this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(Mt(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(Mt(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const i=t.getBoundingClientRect(),r=i.right-i.left;return 0===r?0:(this._measuredWidth=r,r)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const s=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),o=Number(s.slice(0,-2));return this._measuredMargin=o,o}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return yl(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn),E(rt))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,i){1&t&&Qy("@openClose.done",function(){return i.closeOpenDone()})("@expandCollapse.done",function(){return i.expandCollapseDone()}),2&t&&(Pg("@openClose",i.openedState)("@expandCollapse",i.expandedStateObj),Rn(i.className),st("ccf-drawer-end",i.classEnd)("ccf-drawer-opened",i.opened)("ccf-drawer-expanded",i.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:$Re,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%)}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[tc("openClose",[wr("open, open-instant",ti({transform:"none"})),wr("closed",ti({})),Qs("closed => open-instant",Ao(0)),Qs("closed <=> open, open-instant => closed",Ao(".5s ease-in-out"))]),tc("expandCollapse",[wr("collapsed",ti({})),wr("half",ti({width:"calc(50% - {{ margin }}px)"}),KF),wr("extended",ti({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),KF),wr("full",ti({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),KF),Qs("* <=> *",Ao(".5s ease-in-out"))])]},changeDetection:0}),n})();function WRe(n,e){1&n&&(R(0,"ccf-drawer-content"),Ht(1,2),k())}const qRe=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],YRe=["ccf-drawer","ccf-drawer-content","*"];function R9(n){throw new Error(`Multiple drawers in position ${n}`)}let XRe=(()=>{class n{constructor(t,i){this.cdr=i,this.className="ccf-drawer-container",this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(r=>{this.handleMessage(r)&&i.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(Rr(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(Rr(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),i=t.filter(s=>"start"===s.position),r=t.filter(s=>"end"===s.position);return i.length>1&&R9("start"),r.length>1&&R9("end"),[i[0],r[0]]}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-container"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,ZF,5),ei(r,bx,5)),2&t){let s;_t(s=yt())&&(i.drawers=s),_t(s=yt())&&(i.content1=s)}},viewQuery:function(t,i){if(1&t&&Jn(bx,5),2&t){let r;_t(r=yt())&&(i.content2=r)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.className)},exportAs:["ccfDrawerContainer"],features:[Dt([_0])],ngContentSelectors:YRe,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&(wi(qRe),Ht(0),Ht(1,1),mt(2,WRe,2,0,"ccf-drawer-content",0)),2&t&&(G(2),ie("ngIf",!i.hasWrappedContent))},directives:[zr,bx],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),n})();var Cx,KRe=ze(457),ZRe=new Uint8Array(16);function QRe(){if(!Cx&&!(Cx="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cx(ZRe)}const JRe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,tke=function(n){return"string"==typeof n&&JRe.test(n)};for(var Ls=[],QF=0;QF<256;++QF)Ls.push((QF+256).toString(16).substr(1));const ske=function(n,e,t){var i=(n=n||{}).random||(n.rng||QRe)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Ls[n[e+0]]+Ls[n[e+1]]+Ls[n[e+2]]+Ls[n[e+3]]+"-"+Ls[n[e+4]]+Ls[n[e+5]]+"-"+Ls[n[e+6]]+Ls[n[e+7]]+"-"+Ls[n[e+8]]+Ls[n[e+9]]+"-"+Ls[n[e+10]]+Ls[n[e+11]]+Ls[n[e+12]]+Ls[n[e+13]]+Ls[n[e+14]]+Ls[n[e+15]]).toLowerCase();if(!tke(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function k9(n){const e=new $t(n.transformMatrix),t=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return new Di({lowerBound:new S(...t.map((r,s)=>Math.min(r,i[s]))),upperBound:new S(...i.map((r,s)=>Math.max(r,t[s])))})}let as=class extends Jm{constructor(e){super(),this.injector=e,this.gizmo$=ht([{"@id":"http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface","@type":"SpatialSceneNode",scenegraph:"https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb",transformMatrix:new $t($t.IDENTITY).scale([2,2,2]).rotateY(ib(0)),tooltip:"Gizmo",unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!1,color:[255,255,255,255],opacity:1}])}get nodes$(){return Qi([this.placementCube$,this.referenceOrganNodes$,this.previousRegistrationNodes$,this.nodeCollisions$]).pipe(Ae(([e,t,i,r])=>[...e,...i,...t,...this.snapshot.showCollisions?r:[]]))}get rotatedNodes$(){return Qi([this.rotation$,this.nodes$]).pipe(Ae(([e,t])=>0===e?t:t.map(i=>Object.assign(Object.assign({},i),{transformMatrix:new $t($t.IDENTITY).rotateY(ib(e)).multiplyRight(i.transformMatrix)}))))}get referenceOrganNodes$(){return Qi([this.model.anatomicalStructures$,this.model.extractionSites$,this.model.organIri$]).pipe(Zg(400),Ae(([e,t,i])=>this.createSceneNodes(i,[...e,...t])))}get referenceOrganSimpleNodes$(){return Qi([this.model.anatomicalStructures$,this.model.organIri$,this.referenceData.state$]).pipe(Ae(([e,t,i])=>e.map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.simpleSceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[t]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.simpleSceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])))}get nodeCollisions$(){return Qi([this.referenceOrganSimpleNodes$,this.placementCube$]).pipe(Fn(([e,t])=>t.length>0),Ae(([e,t])=>{const i=k9(t[0]);return e.filter(r=>i.overlaps(k9(r)))}))}get previousRegistrationNodes$(){return Qi([this.model.organIri$,this.model.showPrevious$,this.registration.previousRegistrations$]).pipe(Ae(([e,t,i])=>t?i.map(r=>{const s=Array.isArray(r.placement)?r.placement[0]:r.placement;if(s.target===e){const o=this.model.snapshot.organDimensions,a=[o.x,o.y,o.z].map(l=>-l/1e3/2);return{"@id":r["@id"],"@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([s.x_translation,s.y_translation,s.z_translation].map((l,c)=>l/1e3+a[c])).rotateXYZ([s.x_rotation,s.y_rotation,s.z_rotation].map(ib)).scale([r.x_dimension,r.y_dimension,r.z_dimension].map(l=>l/1e3/2)),color:[25,118,210,200],tooltip:r.label,unpickable:!0}}}).filter(r=>!!r):[]))}get placementCube$(){return Qi([this.model.viewType$,this.model.blockSize$,this.model.rotation$,this.model.position$,this.model.organ$]).pipe(Ae(([e,t,i,r,s])=>""===s.src?[]:[this.placementCube]))}get placementCube(){const{viewType:e,blockSize:t,rotation:i,position:r,organDimensions:s}=this.model.snapshot,o=[s.x,s.y,s.z].map(a=>-a/1e3/2);return{"@id":"#DraftPlacement","@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([r.x,r.y,r.z].map((a,l)=>a/1e3+o[l])).rotateXYZ([i.x,i.y,i.z].map(ib)).scale([t.x,t.y,t.z].map(a=>a/1e3/2)),color:[255,255,0,200],tooltip:"Draft Placement",unpickable:"3d"===e}}get rotation$(){return this.model.viewSide$.pipe(Ae(e=>{let t=0;switch(e){case"left":t=-90;break;case"right":t=90;break;case"posterior":t=180}return t}))}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.registration=this.injector.get(Sr),this.referenceData=this.injector.get(fc)}createSceneNodes(e,t){const i=this.referenceData.snapshot;return t.filter(r=>r.visible&&r.opacity&&r.opacity>0).map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.sceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[e]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.sceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])}};as.\u0275fac=function(e){return new(e||as)(I(Nt))},as.\u0275prov=ue({token:as,factory:as.\u0275fac}),xe([oi()],as.prototype,"nodes$",null),xe([oi()],as.prototype,"rotatedNodes$",null),xe([oi()],as.prototype,"referenceOrganNodes$",null),xe([oi()],as.prototype,"referenceOrganSimpleNodes$",null),xe([oi()],as.prototype,"nodeCollisions$",null),xe([oi()],as.prototype,"previousRegistrationNodes$",null),xe([oi()],as.prototype,"placementCube$",null),xe([oi()],as.prototype,"placementCube",null),xe([oi()],as.prototype,"rotation$",null),as=xe([xh(),cd({name:"scene",defaults:{showCollisions:!hu.production}})],as);let ko=class extends uDe{constructor(e){super(),this.injector=e,this._latestTags=[]}get tags$(){return Qi([this.entities$,this.scene.nodeCollisions$]).pipe(Ae(([e,t])=>{const i=[],r=new Set,s=new Set;Object.entries(e).forEach(([o,a])=>{"removed"===a.type?s.add(o):(r.add(o),i.push(a))});for(const o of t){const a=o.representation_of;a&&!s.has(a)&&!r.has(a)&&(r.add(a),i.push({id:a,label:o.tooltip,type:"assigned"}))}return i}))}get latestTags(){return this._latestTags}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.scene=this.injector.get(as),this.page=this.injector.get(ji),this.tags$.subscribe(e=>{this._latestTags=e}),this.entities$.subscribe(()=>this.page.setHasChanges())}addTags(e){for(const t of e)this.addTagRaw(t)}addTag(e){this.addTagRaw(e)}removeTag(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"removed"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"removed"}))}searchExternal(e,t){const i=this.model.snapshot.anatomicalStructures.filter(r=>-1!==r.name.toLowerCase().indexOf(e.toLowerCase()));return[{totalCount:i.length,results:i.map(r=>({id:r.id,label:r.name,type:"added"})).slice(0,t)}]}addTagRaw(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"added"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"added"}))}};ko.\u0275fac=function(e){return new(e||ko)(I(Nt))},ko.\u0275prov=ue({token:ko,factory:ko.\u0275fac}),xe([oi()],ko.prototype,"tags$",null),xe([on()],ko.prototype,"addTags",null),xe([on()],ko.prototype,"addTag",null),xe([on()],ko.prototype,"removeTag",null),xe([lu.ak],ko.prototype,"searchExternal",null),ko=xe([xh(),cd({name:"tags",defaults:Object.assign({},{ids:[],entities:{}})})],ko);let Sr=class extends Jm{constructor(e,t){super(),this.injector=e,this.globalConfig=t,this.displayErrors$=this.state$.pipe(ur("displayErrors"))}get metadata$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildMetadata(e,t,i)))}get jsonld$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildJsonLd(e,t,i)))}get valid$(){return Qi([this.page.state$,this.model.state$]).pipe(Ae(()=>this.isValid))}get previousRegistrations$(){const{globalConfig:e,state$:t}=this;return Qi([t.pipe(ur("registrations")),e.getOption("fetchPreviousRegistrations").pipe(Pr(s=>{var o;return null!==(o=null==s?void 0:s())&&void 0!==o?o:[[]]}),Rr([]))]).pipe(Ae(([s,o])=>[...s,...o]))}get currentIdentifier(){return ske()}get currentDate(){return(new Date).toISOString().split("T")[0]}ngxsOnInit(){super.ngxsOnInit(),this.page=this.injector.get(ji),this.model=this.injector.get(ai),this.tags=this.injector.get(ko),this.refData=this.injector.get(fc),this.globalConfig.config$.pipe(yi(1),Ti(({useDownload:e,register:t})=>this.ctx.patchState({useRegistrationCallback:!(e||!t)}))).subscribe(),this.globalConfig.getOption("editRegistration").pipe(aF(),Ti(e=>this.editRegistration(e))).subscribe()}editRegistration(e){return yl(this,void 0,void 0,function*(){const t=this.refData.normalizePlacement(Array.isArray(e.placement)?e.placement[0]:e.placement),i=this.refData.getOrganData(t.target);this.page.setUserName({firstName:e.creator_first_name,lastName:e.creator_last_name}),i&&(this.model.setOrgan(i.organ),i.sex&&this.model.setSex(i.sex),i.side&&this.model.setSide(i.side)),this.model.setBlockSize({x:e.x_dimension,y:e.y_dimension,z:e.z_dimension}),this.model.setRotation({x:t.x_rotation,y:t.y_rotation,z:t.z_rotation}),this.model.setSlicesConfig({thickness:e.slice_thickness||NaN,numSlices:e.slice_count||NaN}),yield new Promise(s=>{setTimeout(s,1e3)}),this.model.setPosition({x:t.x_translation,y:t.y_translation,z:t.z_translation});const r=new Set(e.ccf_annotations);this.tags.addTags(this.model.snapshot.anatomicalStructures.filter(s=>r.has(s.id)).map(s=>({id:s.id,label:s.name,type:"added"}))),this.page.registrationStarted()})}setUseRegistrationCallback(e){this.ctx.patchState({useRegistrationCallback:e})}setDisplayErrors(e){this.ctx.patchState({displayErrors:e})}addRegistration(e){this.ctx.setState(m0({registrations:vRe(e)}))}isDataValid(e,t){return[e.user.firstName,e.user.lastName,t.organ.src,t.organ.name,t.organ.organ].every(r=>!!r)}get isValid(){return this.isDataValid(this.page.snapshot,this.model.snapshot)}register(e){if(!this.isValid)return;const{globalConfig:{snapshot:{register:t}},page:i,model:r,snapshot:s}=this,o=this.buildJsonLd(i.snapshot,r.snapshot,this.tags.latestTags),a=JSON.stringify(o,void 0,2);if(e||void 0===e&&s.useRegistrationCallback)null==t||t(a);else{const l=new Blob([a],{type:"application/json",endings:"native"});(0,KRe.saveAs)(l,"registration-data.json")}this.addRegistration(o),this.setDisplayErrors(!1),this.page.clearHasChanges()}buildMetadata(e,t,i){const r=[];return e.registrationCallbackSet||r.push({label:"First Name",value:e.user.firstName},{label:"Last Name",value:e.user.lastName}),r.push({label:"Reference Organ Name",value:t.organ.name},{label:"Tissue Block Dimensions (mm)",value:this.xyzTripletToString(t.blockSize)},{label:"Tissue Block Position (mm)",value:this.xyzTripletToString(t.position)},{label:"Tissue Block Rotation",value:this.xyzTripletToString(t.rotation)},{label:"Anatomical Structure Tags",value:i.map(s=>s.label).join(", ")},{label:"Time Stamp",value:this.currentDate},{label:"Alignment ID",value:this.currentIdentifier}),r}buildJsonLd(e,t,i){var r,s;return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}`,"@type":"SpatialEntity",label:t.label||void 0,creator:`${e.user.firstName} ${e.user.lastName}`,creator_first_name:e.user.firstName,creator_last_name:e.user.lastName,creation_date:this.currentDate,ccf_annotations:i.map(o=>o.id),slice_thickness:(null===(r=t.slicesConfig)||void 0===r?void 0:r.thickness)||void 0,slice_count:(null===(s=t.slicesConfig)||void 0===s?void 0:s.numSlices)||void 0,x_dimension:+t.blockSize.x.toFixed(3),y_dimension:+t.blockSize.y.toFixed(3),z_dimension:+t.blockSize.z.toFixed(3),dimension_units:"millimeter",placement:{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,"@type":"SpatialPlacement",target:t.organIri,placement_date:this.currentDate,x_scaling:1,y_scaling:1,z_scaling:1,scaling_units:"ratio",x_rotation:+t.rotation.x.toFixed(3),y_rotation:+t.rotation.y.toFixed(3),z_rotation:+t.rotation.z.toFixed(3),rotation_order:"XYZ",rotation_units:"degree",x_translation:+t.position.x.toFixed(3),y_translation:+t.position.y.toFixed(3),z_translation:+t.position.z.toFixed(3),translation_units:"millimeter"}}}xyzTripletToString(e){return`${Math.round(e.x)}, ${Math.round(e.y)}, ${Math.round(e.z)}`}};function ake(n,e){if(1&n){const t=Zi();R(0,"mat-icon",2),ge("click",function(){return en(t),Qe().setAllOpacity(20)}),De(1,"refresh"),k()}2&n&&ie("matRippleCentered",!0)("matRippleUnbounded",!0)}function lke(n,e){if(1&n){const t=Zi();R(0,"div",3),ge("mouseenter",function(){const s=en(t).$implicit;return Qe().mouseOver(s)})("mouseleave",function(){return en(t),Qe().mouseOut()}),tt(1,"mat-icon",4),R(2,"div",5),De(3),k(),R(4,"div",6),R(5,"ccf-opacity-slider",7,8),ge("opacityChange",function(r){return en(t),Qe().updateOpacity(r)})("opacityReset",function(){return en(t),Qe().resetItem()})("visibilityToggle",function(){const s=en(t).$implicit;return Qe().toggleVisibility(s)}),k(),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("selected",!!i.selection&&i.getId(0,i.selection)===i.getId(0,t)),G(1),st("fade",!t.visible),G(1),st("hidden",t.id===(null==i.selection?null:i.selection.id)),Jy("title",t.name),G(1),xi(t.name),G(1),st("hidden",t.id!==(null==i.selection?null:i.selection.id)),G(1),ie("visible",t.visible)("opacity",i.selection?null==i.selection?null:i.selection.opacity:20)}}Sr.\u0275fac=function(e){return new(e||Sr)(I(Nt),I(Ah))},Sr.\u0275prov=ue({token:Sr,factory:Sr.\u0275fac}),xe([oi()],Sr.prototype,"metadata$",null),xe([oi()],Sr.prototype,"jsonld$",null),xe([oi()],Sr.prototype,"valid$",null),xe([oi()],Sr.prototype,"previousRegistrations$",null),xe([oi()],Sr.prototype,"currentIdentifier",null),xe([oi()],Sr.prototype,"currentDate",null),xe([on()],Sr.prototype,"setUseRegistrationCallback",null),xe([on()],Sr.prototype,"setDisplayErrors",null),xe([on()],Sr.prototype,"addRegistration",null),xe([oi()],Sr.prototype,"isValid",null),Sr=xe([xh(),cd({name:"registration",defaults:{useRegistrationCallback:!1,displayErrors:!1,registrations:[]}})],Sr);let cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-menu",this.hover=new Le,this.itemsChange=new Le}toggleVisibility(t){t=Object.assign(Object.assign({},t),{visible:!t.visible}),this.selection&&t.id===this.selection.id&&(this.selection=Object.assign(Object.assign({},this.selection),{visible:t.visible})),this.ga.event("visibility_toggled","visibility_menu",""+t.id,+t.visible),this.updateOpacity(t.opacity)}mouseOver(t){this.selection=t===this.selection?void 0:t,this.hover.emit(t)}mouseOut(){this.selection=void 0,this.hover.emit(void 0)}updateOpacity(t){if(!this.selection)return;const i=Object.assign(Object.assign({},this.selection),{opacity:t});this.selection=i,this.items=this.items.map(r=>r.id===i.id?i:r),this.ga.event("opacity_update","visibility_menu",""+i.id,i.opacity),this.itemsChange.emit(this.items)}resetItem(){if(this.selection){const t=Object.assign(Object.assign({},this.selection),{opacity:20,visible:!0});this.selection=t,this.items=this.items.map(i=>i.id===t.id?t:i),this.ga.event("item_reset","visibility_menu",""+t.id),this.itemsChange.emit(this.items)}}setAllOpacity(t){this.items=this.items.map(i=>Object.assign(Object.assign({},i),{opacity:t,visible:!0})),this.ga.event("all_items_opacity_update","visibility_menu",void 0,t),this.itemsChange.emit(this.items)}getId(t,i){return i.id}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-menu"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{items:"items",selection:"selection"},outputs:{hover:"hover",itemsChange:"itemsChange"},decls:2,vars:3,consts:[["class","icon reset","matRipple","",3,"matRippleCentered","matRippleUnbounded","click",4,"ngIf"],["class","item-entry",3,"selected","mouseenter","mouseleave",4,"ngFor","ngForOf","ngForTrackBy"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"item-entry",3,"mouseenter","mouseleave"],["svgIcon","app:opacity",1,"opacity-icon"],[1,"item-name",3,"title"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider",""]],template:function(t,i){1&t&&(mt(0,ake,2,2,"mat-icon",0),mt(1,lke,7,12,"div",1)),2&t&&(ie("ngIf",i.items.length),G(1),ie("ngForOf",i.items)("ngForTrackBy",i.getId))},directives:[zr,pl,rs,Js,LPe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;margin-right:0;margin-left:0;max-height:18rem;overflow-y:auto;scrollbar-width:thin}[_nghost-%COMP%] .icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s;position:absolute;top:3rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%]{display:flex;height:2.25rem;align-items:center;flex-shrink:0;position:relative}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]{z-index:1;transition:.6s}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:.5rem;opacity:1;transition-duration:.4s;transition-timing-function:ease-in-out;transition-property:opacity;max-width:calc(100% - 2.5rem)}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:calc(100% - 2rem);transition-duration:.3s;transition-timing-function:ease-in-out;transition-property:opacity;left:2rem;position:absolute;opacity:1}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.1s;transition-timing-function:ease-in-out;transition-property:opacity}"],changeDetection:0}),n})();const uke=["*"],F9=new ve("MatChipRemove"),N9=new ve("MatChipAvatar"),L9=new ve("MatChipTrailingIcon");class dke{constructor(e){this._elementRef=e}}const hke=Hf(Uf(nc(dke),"primary"),-1);let y0=(()=>{class n extends hke{constructor(t,i,r,s,o,a,l,c){super(t),this._ngZone=i,this._changeDetectorRef=o,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new Se,this._onBlur=new Se,this.selectionChange=new Le,this.destroyed=new Le,this.removed=new Le,this._addHostClassName(),this._chipRippleTarget=a.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new oj(this,i,this._chipRippleTarget,r),this._chipRipple.setupTriggerEvents(t),this.rippleConfig=s||{},this._animationsDisabled="NoopAnimations"===l,this.tabIndex=null!=c&&parseInt(c)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(t){const i=Mt(t);i!==this._selected&&(this._selected=i,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(t){this._value=t}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(t){this._selectable=Mt(t)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get removable(){return this._removable}set removable(t){this._removable=Mt(t)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const t="mat-basic-chip",i=this._elementRef.nativeElement;i.hasAttribute(t)||i.tagName.toLowerCase()===t?i.classList.add(t):i.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(t=!1){return this._selected=!this.selected,this._dispatchSelectionChange(t),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(t){this.disabled?t.preventDefault():t.stopPropagation()}_handleKeydown(t){if(!this.disabled)switch(t.keyCode){case 46:case 8:this.remove(),t.preventDefault();break;case 32:this.selectable&&this.toggleSelected(!0),t.preventDefault()}}_blur(){this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(t=!1){this.selectionChange.emit({source:this,isUserInput:t,selected:this._selected})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(kn),E(ut),E(Do,8),Zr("tabindex"))},n.\u0275dir=oe({type:n,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(t,i,r){if(1&t&&(ei(r,N9,5),ei(r,L9,5),ei(r,F9,5)),2&t){let s;_t(s=yt())&&(i.avatar=s.first),_t(s=yt())&&(i.trailingIcon=s.first),_t(s=yt())&&(i.removeIcon=s.first)}},hostAttrs:["role","option",1,"mat-chip","mat-focus-indicator"],hostVars:14,hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i.focus()})("blur",function(){return i._blur()}),2&t&&(nn("tabindex",i.disabled?null:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString())("aria-selected",i.ariaSelected),st("mat-chip-selected",i.selected)("mat-chip-with-avatar",i.avatar)("mat-chip-with-trailing-icon",i.trailingIcon||i.removeIcon)("mat-chip-disabled",i.disabled)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[ct]}),n})(),B9=(()=>{class n{constructor(t,i){this._parentChip=t,"BUTTON"===i.nativeElement.nodeName&&i.nativeElement.setAttribute("type","button")}_handleClick(t){const i=this._parentChip;i.removable&&!i.disabled&&i.remove(),t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(y0),E(rt))},n.\u0275dir=oe({type:n,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})},features:[Dt([{provide:F9,useExisting:n}])]}),n})();const V9=new ve("mat-chips-default-options"),gke=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let mke=0;class _ke{constructor(e,t){this.source=e,this.value=t}}let z9=(()=>{class n extends gke{constructor(t,i,r,s,o,a,l){super(a,s,o,l),this._elementRef=t,this._changeDetectorRef=i,this._dir=r,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new Se,this._uid="mat-chip-list-"+mke++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(c,d)=>c===d,this._required=!1,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){var t,i;return this.multiple?(null===(t=this._selectionModel)||void 0===t?void 0:t.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get role(){return this.empty?null:"listbox"}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){this.writeValue(t),this._value=t}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this._syncChipsState()}get selectable(){return this._selectable}set selectable(t){this._selectable=Mt(t),this.chips&&this.chips.forEach(i=>i.chipListSelectable=this._selectable)}set tabIndex(t){this._userTabIndex=t,this._tabIndex=t}get chipSelectionChanges(){return Ni(...this.chips.map(t=>t.selectionChange))}get chipFocusChanges(){return Ni(...this.chips.map(t=>t._onFocus))}get chipBlurChanges(){return Ni(...this.chips.map(t=>t._onBlur))}get chipRemoveChanges(){return Ni(...this.chips.map(t=>t.destroyed))}ngAfterContentInit(){this._keyManager=new nO(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(t=>this._keyManager.withHorizontalOrientation(t)),this._keyManager.tabOut.pipe(Tn(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe(Rr(null),Tn(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new lS(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(t){this._chipInput=t,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",t.id)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}writeValue(t){this.chips&&this._setSelectionByValue(t,!1)}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this.stateChanges.next()}onContainerClick(t){this._originatesFromChip(t)||this.focus()}focus(t){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(t),this.stateChanges.next()))}_focusInput(t){this._chipInput&&this._chipInput.focus(t)}_keydown(t){const i=t.target;i&&i.classList.contains("mat-chip")&&(this._keyManager.onKeydown(t),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const t=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(t)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(t){return t>=0&&tr.deselect()),Array.isArray(t))t.forEach(r=>this._selectValue(r,i)),this._sortValues();else{const r=this._selectValue(t,i);r&&i&&this._keyManager.setActiveItem(r)}}_selectValue(t,i=!0){const r=this.chips.find(s=>null!=s.value&&this._compareWith(s.value,t));return r&&(i?r.selectViaInteraction():r.select(),this._selectionModel.select(r)),r}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(t){this._selectionModel.clear(),this.chips.forEach(i=>{i!==t&&i.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(t=>{t.selected&&this._selectionModel.select(t)}),this.stateChanges.next())}_propagateChanges(t){let i=null;i=Array.isArray(this.selected)?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.change.emit(new _ke(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(t=>{t.source.selected?this._selectionModel.select(t.source):this._selectionModel.deselect(t.source),this.multiple||this.chips.forEach(i=>{!this._selectionModel.isSelected(i)&&i.selected&&i.deselect()}),t.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(t=>{let i=this.chips.toArray().indexOf(t.chip);this._isValidIndex(i)&&this._keyManager.updateActiveItem(i),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(t=>{const i=t.chip,r=this.chips.toArray().indexOf(t.chip);this._isValidIndex(r)&&i._hasFocus&&(this._lastDestroyedChipIndex=r)})}_originatesFromChip(t){let i=t.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-chip"))return!0;i=i.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(t=>t._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(t=>{t._chipListDisabled=this._disabled,t._chipListMultiple=this.multiple})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Qo,8),E(mp,8),E(Zm,8),E(Vv),E(uc,10))},n.\u0275cmp=Ne({type:n,selectors:[["mat-chip-list"]],contentQueries:function(t,i,r){if(1&t&&ei(r,y0,5),2&t){let s;_t(s=yt())&&(i.chips=s)}},hostAttrs:[1,"mat-chip-list"],hostVars:15,hostBindings:function(t,i){1&t&&ge("focus",function(){return i.focus()})("blur",function(){return i._blur()})("keydown",function(s){return i._keydown(s)}),2&t&&(al("id",i._uid),nn("tabindex",i.disabled?null:i._tabIndex)("aria-describedby",i._ariaDescribedby||null)("aria-required",i.role?i.required:null)("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-multiselectable",i.multiple)("role",i.role)("aria-orientation",i.ariaOrientation),st("mat-chip-list-disabled",i.disabled)("mat-chip-list-invalid",i.errorState)("mat-chip-list-required",i.required))},inputs:{ariaOrientation:["aria-orientation","ariaOrientation"],multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",selectable:"selectable",tabIndex:"tabIndex",errorStateMatcher:"errorStateMatcher"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[Dt([{provide:jv,useExisting:n}]),ct],ngContentSelectors:uke,decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transform:translateZ(0);border:none;-webkit-appearance:none;-moz-appearance:none}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}._mat-animation-noopable.mat-standard-chip{transition:none;animation:none}.mat-standard-chip .mat-chip-remove.mat-icon{width:18px;height:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip:focus{outline:dotted 2px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}\n'],encapsulation:2,changeDetection:0}),n})();const bke={separatorKeyCodes:[13]};let j9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv,{provide:V9,useValue:bke}],imports:[[On]]}),n})(),Cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-toggle",this.visible=!1,this.toggleLabel="",this.disabled=!1,this.visibilityChanged=new Le}toggleVisibility(){this.visible=!this.visible,this.ga.event("visibility_toggled","visibility_toggle",""+this.visible),this.visibilityChanged.emit(this.visible)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{visible:"visible",toggleLabel:"toggleLabel",disabled:"disabled"},outputs:{visibilityChanged:"visibilityChanged"},decls:8,vars:9,consts:[[1,"toggle-div"],[1,"toggle-wrapper",3,"click"],[1,"icon-background"],["svgIcon","app:visibility_off_cube",1,"icon","block"],[1,"icon","green"],[1,"toggle-label"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-chip",1),ge("click",function(){return i.toggleVisibility()}),R(2,"div",2),tt(3,"mat-icon",3),R(4,"mat-icon",4),De(5,"done"),k(),k(),R(6,"div",5),De(7),k(),k(),k()),2&t&&(G(1),st("disabled",i.disabled),G(1),st("disabled",i.disabled),G(1),st("hidden",i.visible),G(1),st("hidden",!i.visible),G(3),xi(i.toggleLabel))},directives:[y0,rs],styles:["[_nghost-%COMP%]{height:3rem;display:flex;align-items:center}[_nghost-%COMP%] .mat-chip{padding:0!important}[_nghost-%COMP%] .mat-chip.disabled{cursor:not-allowed!important}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;padding-top:1.5rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%]{-webkit-user-select:none;-moz-user-select:none;display:flex;padding-left:.5rem;cursor:pointer;align-items:center;position:relative;border-width:.075rem;border-style:solid;height:2.25rem;border-radius:1.5rem;transition:background-color .2s ease-in-out}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%]{border-radius:1.5rem;height:2.06rem;width:2.06rem;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{transition:.6s;position:absolute}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.block[_ngcontent-%COMP%]{width:1.125rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .toggle-label[_ngcontent-%COMP%]{font-weight:bold;margin-left:.5rem;padding-right:1.25rem;padding-left:.25rem}"],changeDetection:0}),n})();const wke=["fileInput"];let Eke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-json-file-reader",this.label="Upload",this.parsedJson=new Le}triggerFileInput(){this.fileInput.nativeElement.click()}handleFile(t){const i=t.target;if(!i.files)return;const r=i.files[0],s=new FileReader;s.onload=()=>{const o=JSON.parse(s.result);this.ga.event("json_file_load_end","json_file_reader"),this.parsedJson.emit(o)},this.ga.event("json_file_load_start","json_file_reader"),s.readAsText(r)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-json-file-reader"]],viewQuery:function(t,i){if(1&t&&Jn(wke,5),2&t){let r;_t(r=yt())&&(i.fileInput=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{label:"label"},outputs:{parsedJson:"parsedJson"},decls:4,vars:1,consts:[["mat-button","",1,"upload-button",3,"click"],["type","file","accept","application/JSON","name","fileInput","id","fileInput",2,"display","none",3,"change"],["fileInput",""]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(){return i.triggerFileInput()}),De(1),k(),R(2,"input",1,2),ge("change",function(s){return i.handleFile(s)}),k()),2&t&&(G(1),xi(i.label))},directives:[lh],styles:["[_nghost-%COMP%] .upload-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;cursor:pointer;font-weight:500}"]}),n})(),Ske=(()=>{class n{constructor(){this.clsName="ccf-details-label",this.details=[]}arrayToString(t){return t.join(", ")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-details-label"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{details:"details"},decls:1,vars:1,template:function(t,i){1&t&&De(0),2&t&&xi(i.arrayToString(i.details))},styles:["[_nghost-%COMP%]{display:block;height:2.25rem}"],changeDetection:0}),n})();const Mke=["trigger"],xke=["panel"];function Tke(n,e){if(1&n&&(R(0,"span",8),De(1),k()),2&n){const t=Qe();G(1),xi(t.placeholder)}}function Ake(n,e){if(1&n&&(R(0,"span",12),De(1),k()),2&n){const t=Qe(2);G(1),xi(t.triggerValue)}}function Dke(n,e){1&n&&Ht(0,0,["*ngSwitchCase","true"])}function Oke(n,e){1&n&&(R(0,"span",9),mt(1,Ake,2,1,"span",10),mt(2,Dke,1,0,"ng-content",11),k()),2&n&&(ie("ngSwitch",!!Qe().customTrigger),G(2),ie("ngSwitchCase",!0))}function Ike(n,e){if(1&n){const t=Zi();R(0,"div",13),R(1,"div",14,15),ge("@transformPanel.done",function(r){return en(t),Qe()._panelDoneAnimatingStream.next(r.toState)})("keydown",function(r){return en(t),Qe()._handleKeydown(r)}),Ht(3,1),k(),k()}if(2&n){const t=Qe();ie("@transformPanelWrap",void 0),G(1),function(n,e,t){Gl(yo,Vc,Cg(Oe(),n,e,t),!0)}("mat-select-panel ",t._getPanelTheme(),""),vf("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),ie("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),nn("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const Pke=[[["mat-select-trigger"]],"*"],Rke=["mat-select-trigger","*"],U9={transformPanelWrap:tc("transformPanelWrap",[Qs("* => void",Uie("@transformPanel",[jie()],{optional:!0}))]),transformPanel:tc("transformPanel",[wr("void",ti({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),wr("showing",ti({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),wr("showing-multiple",ti({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Qs("void => *",Ao("120ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void",Ao("100ms 25ms linear",ti({opacity:0})))])};let H9=0;const G9=new ve("mat-select-scroll-strategy"),Lke=new ve("MAT_SELECT_CONFIG"),Bke={provide:G9,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};class Vke{constructor(e,t){this.source=e,this.value=t}}const zke=nc(Hf(jf(FO(class{constructor(n,e,t,i,r){this._elementRef=n,this._defaultErrorStateMatcher=e,this._parentForm=t,this._parentFormGroup=i,this.ngControl=r}})))),W9=new ve("MatSelectTrigger");let jke=(()=>{class n extends zke{constructor(t,i,r,s,o,a,l,c,d,f,p,g,_,y){var v,C,w;super(o,s,l,c,f),this._viewportRuler=t,this._changeDetectorRef=i,this._ngZone=r,this._dir=a,this._parentFormField=d,this._liveAnnouncer=_,this._defaultOptions=y,this._panelOpen=!1,this._compareWith=(x,N)=>x===N,this._uid="mat-select-"+H9++,this._triggerAriaLabelledBy=null,this._destroy=new Se,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+H9++,this._panelDoneAnimatingStream=new Se,this._overlayPanelClass=(null===(v=this._defaultOptions)||void 0===v?void 0:v.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(w=null===(C=this._defaultOptions)||void 0===C?void 0:C.disableOptionCentering)&&void 0!==w&&w,this.ariaLabel="",this.optionSelectionChanges=Yb(()=>{const x=this.options;return x?x.changes.pipe(Rr(x),Pr(()=>Ni(...x.map(N=>N.onSelectionChange)))):this._ngZone.onStable.pipe(yi(1),Pr(()=>this.optionSelectionChanges))}),this.openedChange=new Le,this._openedStream=this.openedChange.pipe(Fn(x=>x),Ae(()=>{})),this._closedStream=this.openedChange.pipe(Fn(x=>!x),Ae(()=>{})),this.selectionChange=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._scrollStrategyFactory=g,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(p)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=Mt(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=To(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new lS(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Zo(),Tn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(Tn(this._destroy)).subscribe(t=>{t.added.forEach(i=>i.select()),t.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Rr(null),Tn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?i.setAttribute("aria-labelledby",t):i.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const i=t.keyCode,r=40===i||38===i||37===i||39===i,s=13===i||32===i,o=this._keyManager;if(!o.isTyping()&&s&&!Zs(t)||(this.multiple||t.altKey)&&r)t.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;o.onKeydown(t);const l=this.selected;l&&a!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(t){const i=this._keyManager,r=t.keyCode,s=40===r||38===r,o=i.isTyping();if(s&&t.altKey)t.preventDefault(),this.close();else if(o||13!==r&&32!==r||!i.activeItem||Zs(t))if(!o&&this._multiple&&65===r&&t.ctrlKey){t.preventDefault();const a=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(a?l.select():l.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(t),this._multiple&&s&&t.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else t.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(yi(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(i=>this._selectValue(i)),this._sortValues();else{const i=this._selectValue(t);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const i=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return null!=r.value&&this._compareWith(r.value,t)}catch(s){return!1}});return i&&this._selectionModel.select(i),i}_initKeyManager(){this._keyManager=new kV(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(Tn(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Ni(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Tn(t)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Ni(...this.options.map(i=>i._stateChanges)).pipe(Tn(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,i){const r=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(r!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),i&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),i&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),r!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((i,r)=>this.sortComparator?this.sortComparator(i,r,t):t.indexOf(i)-t.indexOf(r)),this.stateChanges.next()}}_propagateChanges(t){let i=null;i=this.multiple?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(i?i+" ":"")+this.ariaLabelledby:i}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let r=(i?i+" ":"")+this._valueId;return this.ariaLabelledby&&(r+=" "+this.ariaLabelledby),r}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return n.\u0275fac=function(t){return new(t||n)(E(Yf),E(kn),E(dt),E(Vv),E(rt),E(Qo,8),E(mp,8),E(Zm,8),E(nS,8),E(uc,10),Zr("tabindex"),E(G9),E(DE),E(Lke,8))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&(Jn(Mke,5),Jn(xke,5),Jn(sU,5)),2&t){let r;_t(r=yt())&&(i.trigger=r.first),_t(r=yt())&&(i.panel=r.first),_t(r=yt())&&(i._overlayDir=r.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[ct,zn]}),n})(),Uke=(()=>{class n extends jke{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,i,r){const s=this._getItemHeight();return Math.min(Math.max(0,s*t-i+s/2),r)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const i=BO(t,this.options,this.optionGroups),r=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===i?0:function(n,e,t,i){return nt+i?Math.max(0,n-i+e):t}((t+i)*r,r,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new Vke(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),r=this._isRtl(),s=this.multiple?56:32;let o;if(this.multiple)o=40;else if(this.disableOptionCentering)o=16;else{let c=this._selectionModel.selected[0]||this.options.first;o=c&&c.group?32:16}r||(o*=-1);const a=0-(t.left+o-(r?s:0)),l=t.right+o-i.width+(r?0:s);a>0?o+=a+8:l>0&&(o-=l+8),this._overlayDir.offsetX=Math.round(o),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,i,r){const s=this._getItemHeight(),o=(s-this._triggerRect.height)/2,a=Math.floor(256/s);let l;return this.disableOptionCentering?0:(l=0===this._scrollTop?t*s:this._scrollTop===r?(t-(this._getItemCount()-a))*s+(s-(this._getItemCount()*s-256)%s):i-s/2,Math.round(-1*l-o))}_checkOverlayWithinViewport(t){const i=this._getItemHeight(),r=this._viewportRuler.getViewportSize(),s=this._triggerRect.top-8,o=r.height-this._triggerRect.bottom-8,a=Math.abs(this._offsetY),c=Math.min(this._getItemCount()*i,256)-a-this._triggerRect.height;c>o?this._adjustPanelUp(c,o):a>s?this._adjustPanelDown(a,s,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,i){const r=Math.round(t-i);this._scrollTop-=r,this._offsetY-=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,i,r){const s=Math.round(t-i);if(this._scrollTop+=s,this._offsetY+=s,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=r)return this._scrollTop=r,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),i=this._getItemCount(),r=Math.min(i*t,256),o=i*t-r;let a;a=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),a+=BO(a,this.options,this.optionGroups);const l=r/2;this._scrollTop=this._calculateOverlayScroll(a,l,o),this._offsetY=this._calculateOverlayOffsetY(a,l,o),this._checkOverlayWithinViewport(o)}_getOriginBasedOnOption(){const t=this._getItemHeight(),i=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-i+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-select"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,W9,5),ei(r,eS,5),ei(r,JE,5)),2&t){let s;_t(s=yt())&&(i.customTrigger=s.first),_t(s=yt())&&(i.options=s),_t(s=yt())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&t&&(nn("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-describedby",i._ariaDescribedby||null)("aria-activedescendant",i._getAriaActiveDescendant()),st("mat-select-disabled",i.disabled)("mat-select-invalid",i.errorState)("mat-select-required",i.required)("mat-select-empty",i.empty)("mat-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Dt([{provide:jv,useExisting:n},{provide:QE,useExisting:n}]),ct],ngContentSelectors:Rke,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,i){if(1&t&&(wi(Pke),R(0,"div",0,1),ge("click",function(){return i.toggle()}),R(3,"div",2),mt(4,Tke,2,1,"span",3),mt(5,Oke,3,2,"span",4),k(),R(6,"div",5),tt(7,"div",6),k(),k(),mt(8,Ike,4,14,"ng-template",7),ge("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&t){const r=vs(1);nn("aria-owns",i.panelOpen?i.id+"-panel":null),G(3),ie("ngSwitch",i.empty),nn("id",i._valueId),G(1),ie("ngSwitchCase",!0),G(1),ie("ngSwitchCase",!1),G(3),ie("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",r)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayMinWidth",null==i._triggerRect?null:i._triggerRect.width)("cdkConnectedOverlayOffsetY",i._offsetY)}},directives:[Pae,Av,ID,sU,Z3,hE],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[U9.transformPanelWrap,U9.transformPanel]},changeDetection:0}),n})(),q9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Bke],imports:[[dn,Yv,tS,On],Wv,Uv,tS,On]}),n})();function Hke(n,e){if(1&n&&(R(0,"mat-option",5),De(1),k()),2&n){const t=e.$implicit;ie("value",t),G(1),Aw(" ",t.name," (",t.sites.length,") ")}}function $ke(n,e){if(1&n){const t=Zi();R(0,"mat-form-field",1),R(1,"mat-label",2),De(2,"Landmark Set"),k(),R(3,"mat-select",3),ge("selectionChange",function(r){return en(t),Qe().extractionSetChanged(r.value)}),mt(4,Hke,2,3,"mat-option",4),k(),k()}if(2&n){const t=Qe();G(3),ie("value",t.sets[0]),G(1),ie("ngForOf",t.sets)}}let Gke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-extraction-set-dropdown",this.setChange=new Le}extractionSetChanged(t){this.selected=t,this.ga.event("selected_extraction_set_change","extraction_set_dropdown",t.name),this.setChange.emit(t)}isMultiple(){return this.sets.length>1}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-extraction-set-dropdown"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{sets:"sets"},outputs:{setChange:"setChange"},decls:1,vars:1,consts:[["class","dropdown-form-field","appearance","fill",4,"ngIf"],["appearance","fill",1,"dropdown-form-field"],[1,"extraction-dropdown-label"],["disableOptionCentering","true","panelClass","extraction-set-panel",3,"value","selectionChange"],["class","extraction-set-options",3,"value",4,"ngFor","ngForOf"],[1,"extraction-set-options",3,"value"]],template:function(t,i){1&t&&mt(0,$ke,5,2,"mat-form-field",0),2&t&&ie("ngIf",i.isMultiple())},directives:[zr,am,Gf,Uke,pl,eS],styles:[".extraction-set-panel{box-shadow:0 0 .3rem .1rem #9e9e9e;position:absolute;top:-1rem;left:1rem;width:10.5rem} .extraction-set-panel .extraction-set-options{height:2.5rem!important} .extraction-set-panel .extraction-set-options:first-child{margin-top:.5rem} .extraction-set-panel .extraction-set-options:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .mat-form-field{width:10.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper{padding-bottom:.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding:0}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-underline{bottom:.75rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:none} .cdk-overlay-pane{min-width:0rem!important}"],changeDetection:0}),n})();function Wke(n,e){if(1&n&&(_f(0),tt(1,"ccf-details-label",19),Kt(2,"async"),yf()),2&n){const t=Qe();G(1),ie("details",rn(2,1,t.detailsLabels$))}}function qke(n,e){if(1&n){const t=Zi();R(0,"div",9),R(1,"ccf-extraction-set-dropdown",20,21),ge("setChange",function(r){return en(t),Qe().model.setExtractionSites(r.sites)}),Kt(3,"async"),k(),R(4,"ccf-visibility-menu",22),ge("itemsChange",function(r){return en(t),Qe().model.setExtractionSites(r)})("hover",function(r){return en(t),Qe().updateExtractionSiteTooltip(r)}),Kt(5,"async"),k(),k()}if(2&n){const t=Qe();G(1),ie("sets",rn(3,2,t.model.extractionSets$)),G(3),ie("items",rn(5,4,t.model.extractionSites$))}}function Yke(n,e){if(1&n&&(R(0,"div",23),De(1),k()),2&n){const t=Qe();G(1),or(" ",t.extractionSiteTooltip," ")}}const Xke=function(){return["Male","Female"]};let Kke=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.registration=r,this.clsName="ccf-left-sidebar",this.disableSlider=!1,this.modalClosed=!1,this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.sideByLabel$=this.model.side$.pipe(Ae(s=>"left"===s?"L":"R")),this.organSelected$=this.model.organ$.pipe(Ae(s=>void 0!==s)),this.detailsLabels$=Qi([this.model.organ$,this.model.side$,this.model.sex$]).pipe(Ae(([s,o,a])=>[null==s?void 0:s.name,o,a])),this.extractionSiteTooltip="",this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures],this.organList=qF}updateExtractionSiteTooltip(t){this.extractionSiteTooltip=(null==t?void 0:t.tooltip)?t.tooltip:""}setSexFromLabel(t){this.model.setSex("Female"===t?"female":"male")}setSideFromLabel(t){this.model.setSide("L"===t?"left":"right")}togglePreviousRegistrationBlocks(t){t&&(this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures]),this.model.toggleRegistrationBlocksVisibility(t,this.previousVisibilityItems)}updateRegistration(t){this.registration.editRegistration(t)}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Sr))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-left-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{disableSlider:"disableSlider",modalClosed:"modalClosed"},decls:31,vars:22,consts:[[1,"scroll-wrapper"],[1,"container"],[4,"ngIf"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"disabled","labels","value","valueChange"],[1,"anatomical-structures-menu",3,"expanded"],[1,"expansion-header"],["matTooltip","Use opacity icons to change visibility of anatomical structures",1,"expansion-title"],[1,"expansion-content"],[3,"items","itemsChange"],[1,"extraction-menu",3,"expanded"],["matTooltip","Some organs have predefined landmarks to guide manual tissue registration--you can turn these on/off.",1,"expansion-title"],["class","expansion-content",4,"ngIf"],["toggleLabel","Previously Registered Blocks","matTooltip","If you previously registered tissue blocks, you can turn their positions on/off.",3,"visible","disabled","visibilityChanged"],[1,"space"],["class","extraction-site-tooltip mat-elevation-z8",4,"ngIf"],[1,"filler"],["label","UPLOAD PREVIOUS REGISTRATION DATA",3,"parsedJson"],[3,"details"],[3,"sets","setChange"],["dropdown",""],[3,"items","itemsChange","hover"],[1,"extraction-site-tooltip","mat-elevation-z8"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),mt(2,Wke,3,3,"ng-container",2),Kt(3,"async"),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),tt(9,"mat-divider"),R(10,"mat-expansion-panel",6),R(11,"mat-expansion-panel-header",7),R(12,"mat-panel-title",8),De(13,"Anatomical Structures"),k(),k(),R(14,"div",9),R(15,"ccf-visibility-menu",10),ge("itemsChange",function(s){return i.model.setAnatomicalStructures(s)}),Kt(16,"async"),k(),k(),k(),tt(17,"mat-divider"),R(18,"mat-expansion-panel",11),R(19,"mat-expansion-panel-header",7),R(20,"mat-panel-title",12),De(21,"Landmarks"),k(),k(),mt(22,qke,6,6,"div",13),Kt(23,"async"),k(),tt(24,"mat-divider"),R(25,"ccf-visibility-toggle",14),ge("visibilityChanged",function(s){return i.togglePreviousRegistrationBlocks(s)}),Kt(26,"async"),k(),tt(27,"div",15),mt(28,Yke,2,1,"div",16),tt(29,"div",17),R(30,"ccf-json-file-reader",18),ge("parsedJson",function(s){return i.updateRegistration(s)}),k(),k(),k()),2&t&&(G(2),ie("ngIf",rn(3,11,i.page.registrationCallbackSet$)),G(5),ie("disabled",i.disableSlider)("labels",fv(21,Xke))("value",rn(8,13,i.sexByLabel$)),G(3),ie("expanded",i.modalClosed),G(5),ie("items",rn(16,15,i.model.anatomicalStructures$)),G(3),ie("expanded",i.modalClosed),G(4),ie("ngIf",rn(23,17,i.organSelected$)),G(3),ie("visible",rn(26,19,i.model.showPrevious$))("disabled",i.disableSlider),G(3),ie("ngIf",i.extractionSiteTooltip.length>0))},directives:[zr,dc,XF,n9,qM,YM,EW,cke,Cke,Eke,Ske,Gke],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{overflow-y:scroll;height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-left:1.5rem;margin-right:.375rem;min-height:100%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .space[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .ccf-organ-selector[_ngcontent-%COMP%]{margin-top:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%] .expansion-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header{-webkit-user-select:none;-moz-user-select:none;padding:0;font-weight:bold;height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator{display:flex;align-items:center;justify-content:center;height:24px;width:24px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%]{margin-bottom:.75rem;text-align:center;margin-top:2.25rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%]{width:100%;font-size:.9rem;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-site-tooltip[_ngcontent-%COMP%]{position:absolute;top:4rem;left:27rem;width:21rem;padding:1rem;border-radius:.5rem;border:1px solid;z-index:2}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})(),Zke=(()=>{class n{constructor(t,i,r){this.drawer=t,this.cdr=r,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new Te;const s=i.connect(this);this.subscriptions.add(s.getMessagesFromSource(t).subscribe(o=>{this.handleMessage(o)&&r.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",i="arrow_left";return"end"===this.position&&([t,i]=[i,t]),this.opened?i:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:i,expanded:r}=t;i?r?t.closeExpanded():t.close():t.open()}}return n.\u0275fac=function(t){return new(t||n)(E(ZF),E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,i){2&t&&(Rn(i.className),st("ccf-drawer-toggle-button-end",i.classEnd))},decls:4,vars:4,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,i){1&t&&(R(0,"mat-icon",0),ge("click",function(){return i.toggle()}),De(1," arrow_right\n"),k(),R(2,"mat-icon",0),ge("click",function(){return i.toggle()}),De(3," arrow_left\n"),k()),2&t&&(st("hidden","arrow_left"===i.icon),G(2),st("hidden","arrow_right"===i.icon))},directives:[rs],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;transition:.25s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:absolute;right:0rem;transition:.6s;padding-left:.15rem}[_nghost-%COMP%] .expand-collapse-icon.hidden[_ngcontent-%COMP%]{opacity:0}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}.mat-icon[_ngcontent-%COMP%]{right:.3rem;top:.675rem;padding-top:.05rem}"],changeDetection:0}),n})();const Y9={x:10,y:10,z:10};let Qke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-block-size-input",this.blockSize=Y9,this.blockSizeChange=new Le}updateBlockSizes(t,i){const r=t.target;this.blockSize=Object.assign(Object.assign({},this.blockSize),{[i]:+r.value}),this.ga.event("block_size_change","block_size_input",i,this.blockSize[i]),this.blockSizeChange.emit(this.blockSize)}refreshBlockSize(){this.blockSize=Y9,this.ga.event("block_size_reset","block_size_input"),this.blockSizeChange.emit(this.blockSize)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-block-size-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{blockSize:"blockSize"},outputs:{blockSizeChange:"blockSizeChange"},decls:19,vars:5,consts:[["matTooltip","Set the tissue block width, height and depth (dimensions)",1,"header"],[1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"size-inputs"],["floatLabel","always",1,"field"],[1,"text","label"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block width.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block height.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block depth.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Dimensions (mm)"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshBlockSize()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Width (X)"),k(),R(10,"input",7),ge("input",function(s){return i.updateBlockSizes(s,"x")}),k(),k(),R(11,"mat-form-field",5),R(12,"mat-label",6),De(13,"Height (Y)"),k(),R(14,"input",8),ge("input",function(s){return i.updateBlockSizes(s,"y")}),k(),k(),R(15,"mat-form-field",5),R(16,"mat-label",6),De(17,"Depth (Z)"),k(),R(18,"input",9),ge("input",function(s){return i.updateBlockSizes(s,"z")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.blockSize.x),G(4),ie("value",i.blockSize.y),G(4),ie("value",i.blockSize.z))},directives:[dc,rs,Js,am,Gf,Xb],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;height:1.5rem;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const X9={thickness:NaN,numSlices:NaN};let Jke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-slices-input",this.slicesConfig=X9,this.slicesConfigChange=new Le}get hasThicknessValue(){return!isNaN(this.slicesConfig.thickness)}updateSlicesData(t,i){const{value:r}=t.target;this.slicesConfig=Object.assign(Object.assign({},this.slicesConfig),{[i]:""!==r?+r:NaN}),this.ga.event("slice_config_update","slice_input",i,this.slicesConfig[i]),this.slicesConfigChange.emit(this.slicesConfig)}refreshSlices(){this.slicesConfig=X9,this.ga.event("slice_config_reset","slice_input"),this.slicesConfigChange.emit(this.slicesConfig)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-slices-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{slicesConfig:"slicesConfig"},outputs:{slicesConfigChange:"slicesConfigChange"},decls:17,vars:6,consts:[[1,"header"],["matTooltip","\u201cAdd thickness of tissue sections and the total number of sections",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slices-inputs"],[1,"field"],[1,"text","label"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter thickness of tissue sections",1,"input",3,"value","input"],["matSuffix","",1,"suffix"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter total number of sections",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Sections"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshSlices()}),De(5," refresh "),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Thickness"),k(),R(10,"input",7),ge("input",function(s){return i.updateSlicesData(s,"thickness")}),k(),R(11,"div",8),De(12,"\u03bcm"),k(),k(),R(13,"mat-form-field",5),R(14,"mat-label",6),De(15,"# Sections"),k(),R(16,"input",9),ge("input",function(s){return i.updateSlicesData(s,"numSlices")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.slicesConfig.thickness),G(1),st("show",i.hasThicknessValue),G(5),ie("value",i.slicesConfig.numSlices))},directives:[dc,rs,Js,am,Gf,Xb,WPe,VO],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field.mat-focused[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%], [_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix.show[_ngcontent-%COMP%]{display:initial}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const K9={x:0,y:0,z:0};let eFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-rotation-slider",this.rotation=K9,this.rotationChange=new Le}changeRotation(t,i){this.rotation=Object.assign(Object.assign({},this.rotation),{[i]:+t}),this.ga.event("rotation_update","rotation_slider",i,+t),this.rotationChange.emit(this.rotation)}resetRotation(){this.rotation=K9,this.ga.event("rotation_reset","rotation_slider"),this.rotationChange.emit(this.rotation)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-rotation-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{rotation:"rotation"},outputs:{rotationChange:"rotationChange"},decls:27,vars:23,consts:[[1,"header"],["matTooltip","Use sliders below to rotate tissue block for registration",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slider-box","red"],[1,"text","label"],[1,"slider-container"],[1,"slider",3,"max","min","step","thumbLabel","tickInterval","value","input"],[1,"text","value"],[1,"slider-box","green"],[1,"slider-box","blue"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Rotation"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.resetRotation()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"span",5),De(8,"X"),k(),R(9,"div",6),R(10,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"x")}),k(),k(),R(11,"span",8),De(12),k(),k(),R(13,"div",9),R(14,"span",5),De(15,"Y"),k(),R(16,"div",6),R(17,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"y")}),k(),k(),R(18,"span",8),De(19),k(),k(),R(20,"div",10),R(21,"span",5),De(22,"Z"),k(),R(23,"div",6),R(24,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"z")}),k(),k(),R(25,"span",8),De(26),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.x),G(2),xi(i.rotation.x),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.y),G(2),xi(i.rotation.y),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.z),G(2),xi(i.rotation.z))},directives:[dc,rs,Js,jk],styles:["[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;height:4rem;padding-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:1rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{width:2.75rem;text-align:center}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{width:100%;padding:1rem 2rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:not(.cdk-focused) .mat-slider-thumb{width:1.25rem;height:1.25rem;transform:none}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper{right:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper:after{margin-top:-.25rem;height:.625rem!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container{margin-top:-.25rem;height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container .mat-slider-ticks{height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function nFe(n){const{subscriber:e,counter:t,period:i}=n;e.next(t),this.schedule({subscriber:e,counter:t+1,period:i},i)}const iFe=["closeSearch"];function rFe(n,e){if(1&n){const t=Zi();R(0,"div",12),R(1,"mat-checkbox",13),ge("ngModelChange",function(r){const o=en(t).$implicit;return Qe(2).checkedResults[o.id]=r}),De(2),k(),k()}if(2&n){const t=e.$implicit,i=Qe(2);G(1),ie("ngModel",i.checkedResults[t.id]),G(1),or(" ",t.label," ")}}function sFe(n,e){if(1&n&&(R(0,"div",9),mt(1,rFe,3,2,"div",10),R(2,"div",11),De(3),Kt(4,"i18nPlural"),k(),k()),2&n){const t=Qe();G(1),ie("ngForOf",t.searchResults.results)("ngForTrackBy",t.tagId),G(2),or(" ",gv(4,3,t.searchResults.totalCount,t.countMapping)," ")}}const Z9=5,Ex={totalCount:0,results:[]};class Ep{constructor(e,t,i){this.el=e,this.ga=t,this.clsName="ccf-tag-search",this.placeholder="Add Anatomical Structures ...",this.added=new Le,this.countMapping={"=1":"1 result",other:"# results"},this.searchControl=new Sh,this.searchResults=Ex,this.checkedResults={},this.resultsVisible=!1,this.destroy$=new Se,this.searchControl.valueChanges.pipe(Tn(this.destroy$),function(n,e=uW){return t=>t.lift(new z1e(n,!!e.leading,!!e.trailing))}(()=>{var r;return function(n=0,e=Pf){return(!WO(n)||n<0)&&(n=0),(!e||"function"!=typeof e.schedule)&&(e=Pf),new ce(t=>(t.add(e.schedule(nFe,n,{subscriber:t,counter:0,period:n})),t))}(null!==(r=this.searchThrottle)&&void 0!==r?r:100)},{leading:!0,trailing:!0}),Pr(this.executeSearch)).subscribe(r=>{this.searchResults=r,this.checkedResults=this.getUpdatedCheckedResults(r),i.markForCheck()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}tagId(e,t){return t.id}hasCheckedTags(){return Object.values(this.checkedResults).some(e=>e)}addTags(){const{searchControl:e,searchResults:t,checkedResults:i}=this,r=t.results.filter(s=>i[s.id]);r.length>0&&(e.reset(),this.searchResults=Ex,this.checkedResults={},this.ga.event("tags_added","tag_search",r.map(s=>s.label).join(",")),this.added.emit(r))}openResults(){this.resultsVisible||(this.resultsVisible=!0)}closeResults(e){const{closeSearch:t}=this;this.resultsVisible&&e.target instanceof Node&&(!this.el.nativeElement.contains(e.target)||t.nativeElement.contains(e.target))&&(this.resultsVisible=!1)}executeSearch(e){const{search:t,searchLimit:i=Z9}=this;return e&&t?ui(t(e,i)).pipe(Ta(()=>[Ex]),Ae(this.truncateResults)):[Ex]}truncateResults(e){const{searchLimit:t=Z9}=this,i=e.results;return i.length>t?Object.assign(Object.assign({},e),{results:i.slice(0,t)}):e}getUpdatedCheckedResults(e){const t=this.checkedResults;return e.results.reduce((i,{id:r})=>{var s;return i[r]=null!==(s=t[r])&&void 0!==s&&s,i},{})}}function aFe(n,e){if(1&n&&(R(0,"div",11),R(1,"div",12),De(2),k(),R(3,"div",13),De(4),k(),k()),2&n){const t=e.$implicit;G(2),xi(t.label),G(2),xi(t.value)}}Ep.\u0275fac=function(e){return new(e||Ep)(E(rt),E(xs),E(kn))},Ep.\u0275cmp=Ne({type:Ep,selectors:[["ccf-tag-search"]],viewQuery:function(e,t){if(1&e&&Jn(iFe,5,rt),2&e){let i;_t(i=yt())&&(t.closeSearch=i.first)}},hostVars:2,hostBindings:function(e,t){1&e&&ge("click",function(){return t.openResults()})("focusin",function(){return t.openResults()})("click",function(r){return t.closeResults(r)},!1,ly)("focusin",function(r){return t.closeResults(r)},!1,ly),2&e&&Rn(t.clsName)},inputs:{placeholder:"placeholder",search:"search",searchLimit:"searchLimit",searchThrottle:"searchThrottle"},outputs:{added:"added"},decls:10,vars:8,consts:[[1,"spacer"],["appearance","outline",1,"overlay"],[1,"search-box"],["matInput","","type","search",3,"placeholder","formControl"],["search",""],["matSuffix","",1,"add-button",3,"disabled","click"],["closeSearch",""],[1,"icon"],["class","results",4,"ngIf"],[1,"results"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"count"],[1,"item"],["labelPosition","after",3,"ngModel","ngModelChange"]],template:function(e,t){if(1&e){const i=Zi();tt(0,"div",0),R(1,"mat-form-field",1),R(2,"div",2),tt(3,"input",3,4),R(5,"button",5,6),ge("click",function(){en(i);const s=vs(4);return t.addTags(),s.focus()}),R(7,"mat-icon",7),De(8,"add"),k(),k(),k(),mt(9,sFe,5,6,"div",8),k()}2&e&&(G(1),st("expanded",t.resultsVisible),G(2),ie("placeholder",t.placeholder)("formControl",t.searchControl),G(2),st("active",t.hasCheckedTags()),ie("disabled",!t.hasCheckedTags()),G(4),ie("ngIf",t.resultsVisible))},directives:[am,Xb,Hb,vk,GM,VO,rs,zr,pl,VF,Ok],pipes:[eV],styles:["[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .spacer[_ngcontent-%COMP%]{height:3.25rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:10}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;height:3rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%] .add-button[_ngcontent-%COMP%]{border-radius:.25rem;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;height:100%}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-top:.5rem;font-size:.75rem;text-align:end}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0;border-radius:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex{padding-right:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline{opacity:1!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline-thick{opacity:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-infix{padding:.313rem .063rem .063rem;border:0}[_nghost-%COMP%] .overlay.expanded[_ngcontent-%COMP%] .mat-form-field-wrapper{box-shadow:0 0 .3rem .1rem #9e9e9e5e}"],changeDetection:0}),xe([lu.ak],Ep.prototype,"executeSearch",null),xe([lu.ak],Ep.prototype,"truncateResults",null);let lFe=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.clsName="ccf-review-modal",this.metaData=i.metaData,this.registrationCallbackSet=i.registrationCallbackSet}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:14,vars:2,consts:[[1,"ccf-about","wrapper"],[1,"container"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"content"],["mat-dialog-title","",1,"title"],[1,"mat-typography"],[1,"display-fields"],["class","field",4,"ngFor","ngForOf"],[1,"footer"],["mat-button","",1,"download-button",3,"click"],[1,"field"],[1,"label"],[1,"data"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"mat-icon",3),ge("click",function(){return i.close()}),De(4,"clear"),k(),k(),R(5,"div",4),R(6,"h2",5),De(7,"Registration Review"),k(),R(8,"mat-dialog-content",6),R(9,"div",7),mt(10,aFe,5,2,"div",8),k(),k(),R(11,"div",9),R(12,"button",10),ge("click",function(){return i.dialogRef.close(!0)}),De(13),k(),k(),k(),k(),k()),2&t&&(G(10),ie("ngForOf",i.metaData),G(3),xi(i.registrationCallbackSet?"REGISTER":"DOWNLOAD REGISTRATION DATA"))},directives:[rs,Wk,qk,pl,lh],styles:[".mat-dialog-container{padding:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;background-color:#fff}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{text-align:center;font-size:1.5rem;margin-bottom:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%]{justify-content:space-around;display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem;width:100%}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:50%;text-align:right;padding-right:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .data[_ngcontent-%COMP%]{width:50%;text-align:left;padding-left:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{float:right;margin-top:1rem;margin-right:1rem;cursor:pointer}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{padding-top:1.5rem;display:flex;justify-content:space-around}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .review-button[_ngcontent-%COMP%]{height:3rem;transition:.6s}"]}),n})(),cFe=(()=>{class n{constructor(t,i){this.dialog=t,this.ga=i,this.clsName="ccf-review-button",this.registrationCallbackSet=!0,this.metaData=[],this.displayErrors=!0,this.registrationIsValid=!1,this.registerData=new Le,this.enterErrorMode=new Le}ngOnChanges(){this.registrationIsValid=this.metaData.length>=3&&this.metaData.slice(0,3).every(t=>t.value)}get disabled(){return!this.registrationIsValid}registerButtonClick(t){return t&&t.preventDefault(),this.enterErrorMode.emit(),this.registrationIsValid&&(this.ga.event("review_start","review_button"),this.launchReviewModal()),!1}launchReviewModal(){this.dialog.open(lFe,{panelClass:"modal-animated",width:"60rem",data:{registrationCallbackSet:this.registrationCallbackSet,metaData:this.metaData}}).afterClosed().subscribe(i=>{i&&(this.ga.event("register","review_button"),this.registerData.emit())})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-button"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{registrationCallbackSet:"registrationCallbackSet",metaData:"metaData",displayErrors:"displayErrors",registrationIsValid:"registrationIsValid"},outputs:{registerData:"registerData",enterErrorMode:"enterErrorMode"},features:[zn],decls:2,vars:4,consts:[["mat-button","",1,"review-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(s){return i.registerButtonClick(s)}),De(1),k()),2&t&&(st("disabled",i.disabled),ie("matTooltip",i.disabled?"Required: Select an organ and position tissue block inside organ.":"Review registration and submit/download."),G(1),or(" ",i.registrationCallbackSet?"REVIEW AND REGISTER":"REVIEW AND DOWNLOAD","\n"))},directives:[lh,dc],styles:[".review-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;font-weight:500}.review-button.disabled[_ngcontent-%COMP%]{cursor:not-allowed}"]}),n})();function uFe(n,e){if(1&n){const t=Zi();R(0,"mat-chip",2),ge("removed",function(){const s=en(t).$implicit;return Qe().removeTag(s)}),De(1),R(2,"mat-icon",3),De(3,"cancel"),k(),k()}if(2&n){const t=e.$implicit;Rn(Qe().tagClasses(t)),G(1),or(" ",t.label," ")}}let dFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-tag-list",this.tagRemoved=new Le,this.tagsChange=new Le}tagId(t,i){return i.id}tagClasses(t){return"added"===t.type?["added"]:["assigned"]}removeTag(t){this.tags=this.tags.filter(i=>i!==t),this.ga.event("tag_removed","tag_list",t.label),this.tagRemoved.emit(t),this.tagsChange.emit(this.tags)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tag-list"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{tags:"tags"},outputs:{tagRemoved:"tagRemoved",tagsChange:"tagsChange"},decls:2,vars:2,consts:[["selectable","false"],["removable","","disableRipple","",3,"class","removed",4,"ngFor","ngForOf","ngForTrackBy"],["removable","","disableRipple","",3,"removed"],["matChipRemove","",1,"icon","remove"]],template:function(t,i){1&t&&(R(0,"mat-chip-list",0),mt(1,uFe,4,3,"mat-chip",1),k()),2&t&&(G(1),ie("ngForOf",i.tags)("ngForTrackBy",i.tagId))},directives:[z9,pl,y0,rs,B9],styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto}[_nghost-%COMP%] .mat-chip-list-wrapper{margin:0}"],changeDetection:0}),n})();function hFe(n,e){if(1&n){const t=Zi();R(0,"ccf-tag-list",20),ge("tagRemoved",function(r){return en(t),Qe().astags.removeTag(r)}),Kt(1,"async"),k()}2&n&&ie("tags",rn(1,1,Qe().astags.tags$))}function fFe(n,e){}const pFe=function(){return[]};let gFe=(()=>{class n{constructor(t,i,r,s){this.model=t,this.registration=i,this.page=r,this.astags=s,this.clsName="ccf-right-sidebar",this.modalClosed=!1}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(Sr),E(ji),E(ko))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-right-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{modalClosed:"modalClosed"},decls:34,vars:28,consts:[[1,"scroll-wrapper"],[1,"container"],[1,"info-button-container"],["videoID","gY3_-LIoKaU","infoTitle","CCF Registration User Interface"],[3,"blockSize","blockSizeChange"],[3,"slicesConfig","slicesConfigChange"],[3,"rotation","rotationChange"],[1,"tags-container",3,"expanded"],[1,"header"],["matTooltip","Review tags generated via collision detection. Add or delete tags as needed."],[3,"search","added"],["class","tag-list",3,"tags","tagRemoved",4,"ngIf","ngIfElse"],["tagListPlaceholder",""],[1,"legend"],[1,"dot","assigned"],[1,"text","assigned"],[1,"dot","added"],[1,"text","added"],[1,"filler"],[3,"registrationCallbackSet","displayErrors","registrationIsValid","metaData","registerData","enterErrorMode"],[1,"tag-list",3,"tags","tagRemoved"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),tt(3,"ccf-info-button",3),k(),R(4,"ccf-block-size-input",4),ge("blockSizeChange",function(s){return i.model.setBlockSize(s)}),Kt(5,"async"),k(),R(6,"ccf-slices-input",5),ge("slicesConfigChange",function(s){return i.model.setSlicesConfig(s)}),Kt(7,"async"),k(),R(8,"ccf-rotation-slider",6),ge("rotationChange",function(s){return i.model.setRotation(s)}),Kt(9,"async"),k(),tt(10,"mat-divider"),R(11,"mat-expansion-panel",7),R(12,"mat-expansion-panel-header",8),R(13,"mat-panel-title",9),De(14,"Anatomical Structure Tags"),k(),k(),R(15,"ccf-tag-search",10),ge("added",function(s){return i.astags.addTags(s)}),k(),mt(16,hFe,2,3,"ccf-tag-list",11),Kt(17,"async"),mt(18,fFe,0,0,"ng-template",null,12,jw),R(20,"div",13),tt(21,"span",14),R(22,"span",15),De(23,"Assigned"),k(),tt(24,"span",16),R(25,"span",17),De(26,"Added"),k(),k(),k(),tt(27,"mat-divider"),tt(28,"div",18),R(29,"ccf-review-button",19),ge("registerData",function(){return i.registration.register()})("enterErrorMode",function(){return i.registration.setDisplayErrors(!i.registration.isValid)}),Kt(30,"async"),Kt(31,"async"),Kt(32,"async"),Kt(33,"async"),k(),k(),k()),2&t){const r=vs(19);let s,o;G(4),ie("blockSize",rn(5,11,i.model.blockSize$)),G(2),ie("slicesConfig",rn(7,13,i.model.slicesConfig$)),G(2),ie("rotation",rn(9,15,i.model.rotation$)),G(3),ie("expanded",i.modalClosed),G(4),ie("search",i.astags.searchExternal),G(1),ie("ngIf",null==(s=rn(17,17,i.model.organ$))?null:s.name)("ngIfElse",r),G(13),ie("registrationCallbackSet",rn(30,19,i.page.registrationCallbackSet$))("displayErrors",rn(31,21,i.registration.displayErrors$))("registrationIsValid",rn(32,23,i.registration.valid$))("metaData",null!==(o=rn(33,25,i.registration.metadata$))&&void 0!==o?o:fv(27,pFe))}},directives:[UPe,Qke,Jke,eFe,n9,qM,YM,EW,dc,Ep,zr,cFe,dFe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100%;margin-left:1.5rem;margin-right:.375rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .info-button-container[_ngcontent-%COMP%]{height:3.75rem;display:flex;justify-content:flex-end}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0 .5rem 0 0;font-weight:bold;-webkit-user-select:none;-moz-user-select:none;font-size:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%]{overflow:visible}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding-left:0;padding-right:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{margin-top:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] .icon.add[_ngcontent-%COMP%]{position:absolute;width:3.625rem;height:3.625rem;font-size:3.625rem;top:-1.9375rem;right:-1.1875rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list[_ngcontent-%COMP%]{max-height:32rem;margin-left:-1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list-placeholder[_ngcontent-%COMP%]{display:flex;height:4rem;align-items:center;justify-content:center;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%]{display:flex;width:100%;margin-top:1.5rem;align-items:center;font-size:.9rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{display:inline-block;width:1rem;height:1rem;border-radius:50%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.assigned[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.added[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function Q9(n,e){return Zo((t,i)=>e?e(t[n],i[n]):t[n]===i[n])}const mFe=["input"],_Fe=function(n){return{enterDuration:n}},yFe=["*"],vFe=new ve("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let J9=0;const CFe={provide:ro,useExisting:T(()=>i7),multi:!0};class e7{constructor(e,t){this.source=e,this.value=t}}const t7=new ve("MatRadioGroup");let n7=(()=>{class n{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+J9++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Le}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=Mt(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(i=>{i.checked=this.value===i.value,i.checked&&(this._selected=i)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new e7(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),n})(),i7=(()=>{class n extends n7{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,selectors:[["mat-radio-group"]],contentQueries:function(t,i,r){if(1&t&&ei(r,r7,5),2&t){let s;_t(s=yt())&&(i._radios=s)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Dt([CFe,{provide:t7,useExisting:n}]),ct]}),n})();class wFe{constructor(e){this._elementRef=e}}const EFe=nc(Hf(wFe));let SFe=(()=>{class n extends EFe{constructor(t,i,r,s,o,a,l,c){super(i),this._changeDetector=r,this._focusMonitor=s,this._radioDispatcher=o,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++J9,this.id=this._uniqueId,this.change=new Le,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===a,c&&(this.tabIndex=To(c,0)),this._removeUniqueSelectionListener=o.listen((d,f)=>{d!==this.id&&f===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const i=Mt(t);this._checked!==i&&(this._checked=i,i&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!i&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),i&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(Mt(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=Mt(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new e7(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(n7),E(rt),E(kn),E(Sa),E(cS),E(String),E(void 0),E(String))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(mFe,5),2&t){let r;_t(r=yt())&&(i._inputElement=r.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[ct]}),n})(),r7=(()=>{class n extends SFe{constructor(t,i,r,s,o,a,l,c){super(t,i,r,s,o,a,l,c)}}return n.\u0275fac=function(t){return new(t||n)(E(t7,8),E(rt),E(kn),E(Sa),E(cS),E(Do,8),E(vFe,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._inputElement.nativeElement.focus()}),2&t&&(nn("tabindex",null)("id",i.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),st("mat-radio-checked",i.checked)("mat-radio-disabled",i.disabled)("_mat-animation-noopable",i._noopAnimations)("mat-primary","primary"===i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[ct],ngContentSelectors:yFe,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),tt(3,"span",3),tt(4,"span",4),R(5,"input",5,6),ge("change",function(s){return i._onInputInteraction(s)})("click",function(s){return i._onInputClick(s)}),k(),R(7,"span",7),tt(8,"span",8),k(),k(),R(9,"span",9),R(10,"span",10),De(11,"\xa0"),k(),Ht(12),k(),k()),2&t){const r=vs(1);nn("for",i.inputId),G(5),ie("id",i.inputId)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex)("required",i.required),nn("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,_Fe,i._noopAnimations?0:150)),G(2),st("mat-radio-label-before","before"==i.labelPosition)}},directives:[Js],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),n})(),MFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();const xFe=["label"],TFe=["options"],AFe=function(){return["Register","3D\xa0Preview"]};let DFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-stage-nav",this.side="anterior",this.view3D=!1,this.sideChange=new Le,this.view3DChange=new Le,this.isDropdownActive=!1,this.isDropdownHidden=!0}set useDropdownMenu(t){this.isDropdownActive=t,this.isDropdownHidden=!0}get labelEl(){return this.labelRef.nativeElement}get optionsEl(){return this.optionsRef.nativeElement}handleClick(t){const{isDropdownHidden:i,labelEl:r,optionsEl:s}=this;r.contains(t)?this.isDropdownHidden=!i:s.contains(t)||(this.isDropdownHidden=!0)}updateSide(t){this.ga.event("side_update","stage_nav",t),"3D"===t?this.updateView(!0):(this.updateView(!1),this.side=t,this.sideChange.emit(this.side))}updateView(t){this.view3D=t,this.ga.event("view_update","stage_nav",t?"3D":"Register"),this.view3DChange.emit(this.view3D)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-stage-nav"]],viewQuery:function(t,i){if(1&t&&(Jn(xFe,7),Jn(TFe,7)),2&t){let r;_t(r=yt())&&(i.labelRef=r.first),_t(r=yt())&&(i.optionsRef=r.first)}},hostVars:2,hostBindings:function(t,i){1&t&&ge("click",function(s){return i.handleClick(s.target)},!1,sg),2&t&&Rn(i.clsName)},inputs:{useDropdownMenu:"useDropdownMenu",side:"side",view3D:"view3D"},outputs:{sideChange:"sideChange",view3DChange:"view3DChange"},decls:18,vars:10,consts:[[1,"dropdown-label"],["label",""],[1,"stage-options"],["options",""],[1,"input-group",3,"value","change"],["value","left",1,"nav-input"],["value","right",1,"nav-input"],["value","anterior","checked","",1,"nav-input"],["value","posterior",1,"nav-input"],["matTooltip","Change view.",1,"view-slider",3,"labels","value","valueChange"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"mat-label"),De(3,"Options"),k(),R(4,"mat-icon"),De(5,"arrow_drop_down"),k(),k(),R(6,"div",2,3),R(8,"mat-radio-group",4),ge("change",function(s){return i.updateSide(s.value)}),R(9,"mat-radio-button",5),De(10,"Left"),k(),R(11,"mat-radio-button",6),De(12,"Right"),k(),R(13,"mat-radio-button",7),De(14,"Anterior"),k(),R(15,"mat-radio-button",8),De(16,"Posterior"),k(),k(),R(17,"ccf-labeled-slide-toggle",9),ge("valueChange",function(s){return i.updateView("Register"!==s)}),k(),k()),2&t&&(st("dropdown",i.isDropdownActive),G(6),st("dropdowncontainer",i.isDropdownActive)("hidden",i.isDropdownActive&&i.isDropdownHidden),G(2),ie("value",i.side),G(9),ie("labels",fv(9,AFe))("value",i.view3D?"3D\xa0Preview":"Register"))},directives:[Gf,rs,i7,r7,XF,dc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex-wrap:wrap}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%]{display:none;align-items:center}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-label[_ngcontent-%COMP%], [_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:1.5rem}[_nghost-%COMP%] .dropdown-label.dropdown[_ngcontent-%COMP%]{display:flex;cursor:pointer;align-items:start}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{margin-right:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{margin-left:-1rem;margin-bottom:1.5rem;white-space:nowrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%]{display:flex;flex-direction:column;border-radius:.25rem;width:16.5rem;position:absolute;top:3.5rem;z-index:1;transition:opacity .25s}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:first-child{margin-top:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%]{margin-left:1.5rem;margin-right:0;display:flex;flex-wrap:wrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{display:flex;margin:0 1.5rem 0 0;height:2.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{display:flex;align-items:center;height:3rem;margin:0 .5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:visible;border-top:2px solid}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%]{visibility:hidden;opacity:0;transition:visibility .25s,opacity .25s}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:hidden}"],changeDetection:0}),n})();function OFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",16),ge("rotationChange",function(r){en(t),Qe();const s=vs(24);return s.rotation=r[0],s.rotationX=r[1]}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,5,t.scene.nodes$))("rotation",rn(2,7,t.scene.rotation$))("bounds",rn(3,9,t.bounds$))("zoom",11.5)("interactive",!0)}}function IFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",17),ge("nodeDrag",function(r){return en(t),Qe().handleNodeDrag(r)}),Kt(1,"async"),Kt(2,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,4,t.scene.rotatedNodes$))("interactive",!1)("bounds",rn(2,6,t.bounds$))("zoom",11.5)}}function PFe(n,e){1&n&&tt(0,"ccf-store-debug",18)}function RFe(n,e){if(1&n){const t=Zi();R(0,"div",19),R(1,"button",20),ge("click",function(){en(t);const r=Qe();return r.debugMode=!r.debugMode}),De(2,"State"),k(),R(3,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!0)}),De(4,"Use callback"),k(),R(5,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!1)}),De(6,"Use download"),k(),k()}}let kFe=(()=>{class n{constructor(t,i,r,s,o,a){this.model=t,this.page=i,this.registration=r,this.scene=s,this.rootRef=o,this.cdr=a,this.clsName="ccf-content",this.position$=this.model.position$.pipe(Ae(l=>({x:Math.floor(l.x),y:Math.floor(l.y),z:Math.floor(l.z)}))),this.is3DView$=this.model.viewType$.pipe(Ae(l=>"3d"===l)),this.bounds$=this.model.organDimensions$.pipe(Ae(l=>({x:Math.max(l.x,this.model.defaultPosition.x+40)/1e3,y:Math.max(l.y,this.model.defaultPosition.y+40)/1e3,z:Math.max(l.z,this.model.defaultPosition.z+40)/1e3})),Q9("x"),Q9("y")),this.isNarrowView=!1,this.debugMode=!1,this.showDebugButtons=!hu.production}ngOnInit(){this.sensor=new hW.ResizeSensor(this.rootRef.nativeElement,({width:t})=>{const i=t<440;this.isNarrowView!==i&&(this.isNarrowView=i,this.cdr.markForCheck())})}ngOnDestroy(){this.sensor.detach()}setViewType(t){this.model.setViewType(t?"3d":"register")}resetStage(){this.model.setPosition(this.model.defaultPosition),this.model.setViewSide("anterior"),this.model.setViewType("register")}handleNodeDrag(t){if("#DraftPlacement"===t.node["@id"]&&t.info.coordinate){const[i,r]=t.info.coordinate.map(d=>1e3*d),{position:s,viewSide:o,organDimensions:a}=this.model.snapshot,l=[a.x,a.y,a.z].map(d=>d/2);let c=s;switch(o){case"anterior":c={x:i+l[0],y:r+l[1],z:s.z};break;case"posterior":c={x:-i+l[0],y:r+l[1],z:s.z};break;case"left":c={x:s.x,y:r+l[1],z:-i+l[2]};break;case"right":c={x:s.x,y:r+l[1],z:i+l[2]}}this.model.setPosition(c)}}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(Sr),E(as),E(rt),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:29,vars:34,consts:[[1,"top-bar"],[3,"useDropdownMenu","view3D","side","view3DChange","sideChange"],["matRipple","","matRippleColor","rgba(204, 204, 204, 0.25)",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"main-content"],["class","body-ui","camera","perspective",3,"scene","rotation","bounds","zoom","interactive","rotationChange",4,"ngIf"],["class","body-ui","camera","orthographic",3,"scene","interactive","bounds","zoom","nodeDrag",4,"ngIf"],[1,"gizmo-area"],[1,"position-display"],[1,"position"],[1,"x"],[1,"y"],[1,"z"],[1,"gizmo",3,"scene","rotation","interactive","zoom"],["gizmo",""],["class","debug",4,"ngIf"],["style","position: absolute; bottom: 1rem; display: flex; flex-direction: row; justify-content: space-between; width: 7rem;",4,"ngIf"],["camera","perspective",1,"body-ui",3,"scene","rotation","bounds","zoom","interactive","rotationChange"],["camera","orthographic",1,"body-ui",3,"scene","interactive","bounds","zoom","nodeDrag"],[1,"debug"],[2,"position","absolute","bottom","1rem","display","flex","flex-direction","row","justify-content","space-between","width","7rem"],[2,"width","3rem","font-size",".7rem",3,"click"],[3,"click"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"ccf-stage-nav",1),ge("view3DChange",function(s){return i.setViewType(s)})("sideChange",function(s){return i.model.setViewSide(s)}),Kt(2,"async"),Kt(3,"async"),k(),R(4,"mat-icon",2),ge("click",function(){return i.resetStage()}),De(5,"refresh"),k(),k(),R(6,"div",3),mt(7,OFe,4,11,"ccf-body-ui",4),Kt(8,"async"),mt(9,IFe,3,8,"ccf-body-ui",5),Kt(10,"async"),R(11,"div",6),R(12,"div",7),R(13,"div",8),R(14,"div",9),De(15),Kt(16,"async"),k(),R(17,"div",10),De(18),Kt(19,"async"),k(),R(20,"div",11),De(21),Kt(22,"async"),k(),k(),k(),tt(23,"ccf-body-ui",12,13),Kt(25,"async"),Kt(26,"async"),k(),k(),mt(27,PFe,1,0,"ccf-store-debug",14),mt(28,RFe,7,0,"div",15)),2&t){let r,s,o;G(1),ie("useDropdownMenu",i.isNarrowView)("view3D",rn(2,16,i.is3DView$))("side",rn(3,18,i.model.viewSide$)),G(3),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(3),ie("ngIf","3d"===rn(8,20,i.model.viewType$)),G(2),ie("ngIf","register"===rn(10,22,i.model.viewType$)),G(6),or("X: ",null==(r=rn(16,24,i.position$))?null:r.x,""),G(3),or("Y: ",null==(s=rn(19,26,i.position$))?null:s.y,""),G(3),or("Z: ",null==(o=rn(22,28,i.position$))?null:o.z,""),G(2),ie("scene",rn(25,30,i.scene.gizmo$))("rotation",rn(26,32,i.scene.rotation$))("interactive",!1)("zoom",9.5),G(4),ie("ngIf",i.showDebugButtons&&i.debugMode),G(1),ie("ngIf",i.showDebugButtons)}},directives:[DFe,rs,Js,zr,mPe,SPe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;padding:1.5rem;overflow:hidden}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{display:flex;height:calc(100% - 1rem)}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .body-ui[_ngcontent-%COMP%]{flex:auto;transition:opacity 1s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%]{width:4rem;margin-top:1.5rem;margin-left:1.5rem;z-index:10}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .position-display[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%]{height:5.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{opacity:0;z-index:0}[_nghost-%COMP%] .ccf-store-debug[_ngcontent-%COMP%]{color:#fff;position:absolute;top:.5rem;max-width:55rem}"],changeDetection:0}),n})();function FFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t),Qe();const r=vs(15);return r.expanded=!r.expanded}),R(1,"mat-icon",12),De(2),k(),k()}if(2&n){Qe();const t=vs(15);G(2),or(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function NFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t);const r=Qe();return r.open=!r.open}),R(1,"mat-icon",13),De(2),k(),k()}if(2&n){const t=Qe();G(2),or(" ",t.open?"arrow_drop_up":"arrow_drop_down"," ")}}const LFe=function(n){return[n]};let BFe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this.model=t,this.page=i,this.consentService=r,this.snackbar=s,this.theming=o,this.globalConfig=c,this.organList=qF,this.open=!0,this.registrationStarted=!1,this.disablePositionChange=!1,this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new If(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.subscriptions=new Te,o.initialize(a,l),this.subscriptions.add(i.registrationCallbackSet$.subscribe(f=>{this.open=!f})),this.subscriptions.add(i.registrationStarted$.subscribe(f=>{this.registrationStarted=f})),this.theme$.subscribe(f=>{this.theme=f}),this.globalConfig.getOption("homeUrl").subscribe(f=>{this.homeUrl=f}),this.globalConfig.getOption("logoTooltip").subscribe(f=>{this.logoTooltip=f}),Qi([this.theme$,this.themeMode$]).subscribe(([f,p])=>{this.theming.setTheme(`${f}-theme-${p}`),d.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(eRe,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});this.themeMode$.next("light"),this.theming.setTheme(`${this.theme}-theme-light`)}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}handleKey(t){const i=this.model.snapshot.position;if(this.disablePositionChange||!this.registrationStarted)return;t.preventDefault();const r=t.repeat?1:.5;let s=i;switch(t.key){case"q":s=Object.assign(Object.assign({},i),{z:i.z+r});break;case"e":s=Object.assign(Object.assign({},i),{z:i.z-r});break;case"w":s=Object.assign(Object.assign({},i),{y:i.y+r});break;case"s":s=Object.assign(Object.assign({},i),{y:i.y-r});break;case"a":s=Object.assign(Object.assign({},i),{x:i.x-r});break;case"d":s=Object.assign(Object.assign({},i),{x:i.x+r})}this.model.setPosition(s)}handleClick(t){this.disablePositionChange="INPUT"===t.nodeName}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(f0),E(Xae),E(YF),E(rt),E(Nt),E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root"]],hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i.handleKey(s)},!1,sg)("click",function(s){return i.handleClick(s.target)},!1,sg)},decls:21,vars:35,consts:[[3,"logoTooltip","homeUrl"],["opened",""],[3,"modalClosed","disableSlider"],["position","end","opened",""],[3,"modalClosed"],[1,"selector-drawer"],[3,"organList","selectedOrgans","organsChanged"],["organSelector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,i){if(1&t&&(tt(0,"ccf-registration-modal"),tt(1,"ccf-header",0),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),R(5,"ccf-drawer-container"),R(6,"ccf-drawer",1),tt(7,"ccf-left-sidebar",2),tt(8,"ccf-drawer-toggle-button"),k(),R(9,"ccf-drawer",3),tt(10,"ccf-right-sidebar",4),tt(11,"ccf-drawer-toggle-button"),k(),R(12,"ccf-drawer-content"),R(13,"div",5),R(14,"ccf-organ-selector",6,7),ge("organsChanged",function(s){return i.model.setOrgan(s[0])}),Kt(16,"async"),k(),R(17,"div",8),mt(18,FFe,3,1,"div",9),mt(19,NFe,3,1,"div",9),k(),k(),tt(20,"ccf-content",10),k(),k()),2&t){const r=vs(15);G(1),st("header-hidden",!1===rn(2,25,i.header$)),ie("logoTooltip",rn(3,27,i.logoTooltip$))("homeUrl",rn(4,29,i.homeUrl$)),G(6),ie("modalClosed",i.registrationStarted)("disableSlider",!(null!=r.selectedOrgans[0]&&r.selectedOrgans[0].hasSex)),G(3),ie("modalClosed",i.registrationStarted),G(3),st("closed",!i.open)("expanded",r.expanded),G(1),st("closed",!i.open),ie("organList",i.organList)("selectedOrgans",Hg(33,LFe,rn(16,31,i.model.organ$))),G(3),st("closed",!i.open)("selector-expanded",r.expanded),G(1),ie("ngIf",i.open),G(1),ie("ngIf",!r.expanded),G(1),st("expanded-stage",!i.open)("retracted-stage",r.expanded)}},directives:[LRe,jRe,XRe,ZF,Kke,Zke,gFe,bx,p9,zr,kFe,rs],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;color:#000}[_nghost-%COMP%] .header-hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:25.5rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{position:relative;z-index:1}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;height:5.688rem;transition:all .5s ease-in-out}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector[_ngcontent-%COMP%]{height:100%;padding-top:.5rem;transition:all .5s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector.closed[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;height:0;z-index:2}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{cursor:pointer;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{width:3rem;height:1.2rem;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:#fff;border-bottom-left-radius:.2rem;border-bottom-right-radius:.2rem;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]:hover{background-color:#ececec}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:3rem;top:-2.9rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{border-radius:.5rem!important;height:calc(100% - 2.688rem - 3rem - 1.5rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 1.5rem);padding-bottom:1rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .retracted-stage[_ngcontent-%COMP%]{height:calc(100% - 2.688rem - 14rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-content[_ngcontent-%COMP%]{position:absolute;transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:all;bottom:1.5rem;z-index:1}"],changeDetection:0}),n})();function VFe(n,e){1&n&&tt(0,"ccf-root")}let zFe=(()=>{class n extends lRe{constructor(t,i){const r=cRe;super(t,i,{initialDelay:500,initialConfig:Object.assign(Object.assign(Object.assign({},hu.dbOptions),globalThis.ruiConfig),hu.customization),parse:{useDownload:r.boolean,user:r.json,organ:r.json,editRegistration:r.json,register:r.function,cancelRegistration:r.function,fetchPreviousRegistrations:r.function,skipUnsavedChangesConfirmation:r.boolean,header:r.boolean}})}}return n.\u0275fac=function(t){return new(t||n)(E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root-wc"]],inputs:{baseHref:"baseHref",useDownload:"useDownload",user:"user",organ:"organ",editRegistration:"editRegistration",register:"register",cancelRegistration:"cancelRegistration",fetchPreviousRegistrations:"fetchPreviousRegistrations",skipUnsavedChangesConfirmation:"skipUnsavedChangesConfirmation",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip"},features:[ct],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&mt(0,VFe,1,0,"ccf-root",0),2&t&&ie("ngIf",i.initialized)},directives:[zr,BFe],encapsulation:2,changeDetection:0}),n})();const jFe=new ve("Global configuration object");function UFe(n){return n.get("ruiConfig",{user:{firstName:"",lastName:""}})}let HFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:jFe,useFactory:UFe,deps:[v9]}]}),n})(),$Fe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:bv,useValue:YF.initialize,multi:!0},YF]}),n})(),GFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[Fr,Fa,UW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(I(Fr,2),I(Fa,2))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Sx=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class YFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=pp(this.action),i=function(n){return Sx(n.getHours(),2)+":"+Sx(n.getMinutes(),2)+":"+Sx(n.getSeconds(),2)+"."+Sx(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class XFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const s7=new ve("NGXS_LOGGER_PLUGIN_OPTIONS");let KFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new XFe(this._options),this._store=this._store||this._injector.get(cu);const s=new YFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Ti(o=>{s.completed(o)}),Ta(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(I(s7),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const o7=new ve("LOGGER_USER_OPTIONS");function ZFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let QFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:KFe,multi:!0},{provide:o7,useValue:t},{provide:s7,useFactory:ZFe,deps:[o7]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const JF=new ve("NGXS_STORAGE_PLUGIN_OPTION"),a7=new ve("STORAGE_ENGINE"),e2="@@STATE",l7="NGXS_OPTIONS_META";function e2e(n){return void 0!==n&&n.key&&(n.key=function(n){return Array.isArray(n)||(n=[n]),n.map(e=>(e.hasOwnProperty(l7)&&(e=e[l7].name),e instanceof class{constructor(e){this.name=e,uk(this).makeRootSelector=i=>i.getStateGetter(this.name)}getName(){return this.name}toString(){return`StateToken[${this.name}]`}}?e.getName():e))}(n.key)),Object.assign({key:[e2],storage:0,serialize:JSON.stringify,deserialize:JSON.parse,beforeSerialize:e=>e,afterDeserialize:e=>e},n)}function t2e(n,e){return kD(e)?null:0===n.storage?localStorage:1===n.storage?sessionStorage:null}let n2e=(()=>{class n{constructor(t,i,r){this._options=t,this._engine=i,this._platformId=r}handle(t,i,r){if(kD(this._platformId)&&null===this._engine)return r(t,i);const s=this._options.key,o=function(n){const e=pp(n);return function(t){return e===pp(t)}}(i),a=o(iG)||o(rG);let l=!1;if(a)for(const c of s){const d=c===e2;let f=this._engine.getItem(c);if("undefined"!==f&&null!=f){try{const p=this._options.deserialize(f);f=this._options.afterDeserialize(p,c)}catch(p){console.error("Error ocurred while deserializing the store value, falling back to empty object."),f={}}this._options.migrations&&this._options.migrations.forEach(p=>{p.version===Gm(f,p.versionKey||"version")&&(!p.key&&d||p.key===c)&&(f=p.migrate(f),l=!0)}),t=d?Object.assign({},t,f):ok(t,c,f)}}return r(t,i).pipe(Ti(c=>{if(!a||a&&l)for(const d of s){let f=c;d!==e2&&(f=Gm(c,d));try{const p=this._options.beforeSerialize(f,d);this._engine.setItem(d,this._options.serialize(p))}catch(p){console.error("Error ocurred while serializing the store value, value not updated.")}}}))}}return n.\u0275fac=function(t){return new(t||n)(I(JF),I(a7),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const c7=new ve("USER_OPTIONS");let i2e=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:n2e,multi:!0},{provide:c7,useValue:t},{provide:JF,useFactory:e2e,deps:[c7]},{provide:a7,useFactory:t2e,deps:[JF,dl]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const u7=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"visibility_off_cube",namespace:"app",url:"assets/icons/ico-cube.svg"}];let hd=class extends cDe{constructor(e,t,i){super(),this.registry=e,this.sanitizer=t,this.globalConfig=i}ngxsOnInit(){var e;u7.filter(t=>void 0!==t.html).map(t=>Object.assign(Object.assign({},t),{html:this.sanitizer.bypassSecurityTrustHtml(t.html)})).forEach(t=>this.registerIconImpl(t)),null===(e=this.registry)||void 0===e||e.addSvgIconResolver((t,i)=>{var r;const s=u7.find(a=>{var l,c;return(null!==(l=a.name)&&void 0!==l?l:"")===t&&(null!==(c=a.namespace)&&void 0!==c?c:"")===i});if(void 0===s||void 0===s.url)return null;const o=null!==(r=this.globalConfig.snapshot.baseHref)&&void 0!==r?r:"";return this.sanitizer.bypassSecurityTrustResourceUrl(o+s.url)})}registerIcon(e){return this.registerIconImpl(e)}registerIconImpl(e){if(!this.registry||!e.url&&!e.html)return!1;const t=this.registry,r=t[this.getMethodName(e)],s=this.getArguments(e);if(!r)return!1;try{return r.apply(t,s),!0}catch(o){return!1}}getMethodName({name:e,namespace:t,url:i}){const r=["addSvgIcon"];return e||r.push("Set"),i||r.push("Literal"),t&&r.push("InNamespace"),r.join("")}getArguments({name:e,namespace:t,url:i,html:r}){return[t,e,null!=i?i:r].filter(o=>!!o)}};hd.\u0275fac=function(e){return new(e||hd)(I(Gv,8),I(th),I(Ah))},hd.\u0275prov=ue({token:hd,factory:hd.\u0275fac}),xe([on()],hd.prototype,"registerIcon",null),hd=xe([xh(),cd({name:"iconRegistry"})],hd);const r2e=[Ah,hd,ji,ai,ko,fc,Sr,as];let s2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[GFe.forRoot(),Io.forRoot(r2e,{developmentMode:!hu.production}),i2e.forRoot({key:["registration.registrations"]}),QFe.forRoot({disabled:hu.production})]]}),n})(),o2e=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rj,kIe.forRoot({gaToken:hu.googleAnalyticsToken,appName:"rui"}),ZPe,HFe,s2e,$Fe]]}),n})(),t2=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9]]}),n})(),a2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,MFe,q9,lr,yx,t2,hc]]}),n})(),l2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr]]}),n})(),c2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,a2e,lr,MPe,l2e,_l,_Pe]]}),n})(),u2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),d2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})(),h2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,q9]]}),n})(),d7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9,Kb,Lk,Bk,hc]]}),n})(),f2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_l,m9]]}),n})(),h7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,j9]]}),n})(),p2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})(),g2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,lr,hc,yx,d2e,t2,d7,h7,h2e,m9,f2e,h7,p2e]]}),n})(),m2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch,hc,d7,t2,g9]]}),n})(),_2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,m2e]]}),n})(),y2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc]]}),n})(),v2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l,hc]]}),n})(),b2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc,qPe]]}),n})(),C2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,j9,lr]]}),n})(),w2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Lk,Bk,ch,h9,Uv,lr,Kb]]}),n})(),E2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,ch]]}),n})(),S2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,E2e,ch,hc]]}),n})(),M2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,yx,lr,kO,hc,y2e,S2e,v2e,b2e,C2e,w2e,HPe]]}),n})(),x2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:P9,useValue:I9}],imports:[[yE,kO,lr]]}),n})(),T2e=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(ll).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new Fne(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends Lne{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,d){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(zFe,{injector:this.injector});customElements.define("ccf-rui",t)}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:T9,useValue:"hubmap-theme-light"},{provide:vj,useValue:{appearance:"standard",floatLabel:!1,hideRequiredMarker:!0}}],imports:[[yE,kO,o2e,lr,x2e,u2e,c2e,g2e,M2e,g9,_2e,tRe,_U]]}),n})();hu.production&&function(){if(i3)throw new Error("Cannot enable prod mode after platform setup.");n3=!1}(),rne().bootstrapModule(T2e).catch(n=>console.error(n))},948:gt=>{gt.exports=function(ze){return ze&&ze.__esModule?ze:{default:ze}},gt.exports.default=gt.exports,gt.exports.__esModule=!0},321:gt=>{function We(ze){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(gt.exports=We=function(L){return typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0):(gt.exports=We=function(L){return L&&"function"==typeof Symbol&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0),We(ze)}gt.exports=We,gt.exports.default=gt.exports,gt.exports.__esModule=!0},833:gt=>{function We(ze){return Promise.resolve().then(()=>{var wt=new Error("Cannot find module '"+ze+"'");throw wt.code="MODULE_NOT_FOUND",wt})}We.keys=()=>[],We.resolve=We,We.id=833,gt.exports=We},521:()=>{},125:()=>{},307:()=>{}},gt=>{gt(gt.s=851)}]); \ No newline at end of file diff --git a/rui/wc.js b/rui/wc.js index f050a8c0b..6a9dddadd 100644 --- a/rui/wc.js +++ b/rui/wc.js @@ -2,4 +2,4 @@ (self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{138:()=>{!function(){"use strict";!function(){if(void 0===window.Reflect||void 0===window.customElements||window.customElements.polyfillWrapFlushCallback)return;const G=HTMLElement;window.HTMLElement=function(){return Reflect.construct(G,[],this.constructor)},HTMLElement.prototype=G.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,G)}()}()},142:()=>{!function(G,ne){"use strict";function he(){var e=Ge.splice(0,Ge.length);for(V=0;e.length;)e.shift().call(null,e.shift())}function ye(e,r){for(var i=0,h=e.length;i1)&&tt(this)}}}),x(o,Ee,{value:function(p){-1>0,me="__"+se+dt,be="addEventListener",Le="attached",ce="Callback",pe="detached",te="extends",Ee="attributeChanged"+ce,vt=Le+ce,rt="connected"+ce,mt="disconnected"+ce,qe="created"+ce,kt=pe+ce,ot="ADDITION",pt="REMOVAL",He="DOMAttrModified",bt="DOMContentLoaded",Et="DOMSubtreeModified",Xe="<",st="=",Mt=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,wt=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],Ne=[],Ye=[],le="",De=A.documentElement,Te=Ne.indexOf||function(e){for(var r=this.length;r--&&this[r]!==e;);return r},it=re.prototype,Pe=it.hasOwnProperty,at=it.isPrototypeOf,Re=re.defineProperty,Oe=[],Ke=re.getOwnPropertyDescriptor,Y=re.getOwnPropertyNames,Ct=re.getPrototypeOf,$e=re.setPrototypeOf,Se=!!re.__proto__,Je="__dreCEv1",Me=G.customElements,t=!/^force/.test(ne.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),a=re.create||re,u=G.Map||function(){var e,r=[],i=[];return{get:function(h){return i[Te.call(r,h)]},set:function(h,s){(e=Te.call(r,h))<0?i[r.push(h)-1]=s:i[e]=s}}},c=G.Promise||function(e){function r(o){for(h=!0;i.length;)i.shift()(o)}var i=[],h=!1,s={catch:function(){return s},then:function(o){return i.push(o),h&&setTimeout(r,1),s}};return e(r),s},f=!1,m=a(null),E=a(null),v=new u,C=function(e){return e.toLowerCase()},w=re.create||function e(r){return r?(e.prototype=r,new e):this},b=$e||(Se?function(e,r){return e.__proto__=r,e}:Y&&Ke?function(){function e(r,i){for(var h,s=Y(i),o=0,l=s.length;o
    ",new N(function(e,r){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var i=(Ce=Ke(P,"innerHTML"))&&Ce.set;i&&Re(P,"innerHTML",{set:function(h){for(;this.lastChild;)this.removeChild(this.lastChild);i.call(this,h)}})}r.disconnect(),Ce=null}).observe(Ce,{childList:!0,subtree:!0}),Ce.innerHTML=""),ue||($e||Se?(we=function(e,r){at.call(r,e)||Be(e,r)},ae=Be):ae=we=function(e,r){e[me]||(e[me]=re(!0),Be(e,r))},z?(I=!1,e=Ke(P,be),r=e.value,i=function(o){var l=new CustomEvent(He,{bubbles:!0});l.attrName=o,l.prevValue=R.call(this,o),l.newValue=null,l[pt]=l.attrChange=2,F.call(this,o),K.call(this,l)},h=function(o,l){var d=Q.call(this,o),p=d&&R.call(this,o),y=new CustomEvent(He,{bubbles:!0});$.call(this,o,l),y.attrName=o,y.prevValue=d?p:null,y.newValue=l,d?y.MODIFICATION=y.attrChange=1:y[ot]=y.attrChange=0,K.call(this,y)},s=function(o){var l,d=o.currentTarget,p=d[me],y=o.propertyName;p.hasOwnProperty(y)&&(p=p[y],(l=new CustomEvent(He,{bubbles:!0})).attrName=p.name,l.prevValue=p.value||null,l.newValue=p.value=d[y]||null,null==l.prevValue?l[ot]=l.attrChange=0:l.MODIFICATION=l.attrChange=1,K.call(d,l))},e.value=function(o,l,d){o===He&&this[Ee]&&this.setAttribute!==h&&(this[me]={className:{name:"class",value:this.className}},this.setAttribute=h,this.removeAttribute=i,r.call(this,"propertychange",s)),r.call(this,o,l,d)},Re(P,be,e)):N||(De[be](He,_e),De.setAttribute(me,1),De.removeAttribute(me),I&&(xe=function(e){var r,i,h,s=this;if(s===e.target){for(h in r=s[me],s[me]=i=nt(s),i){if(!(h in r))return ze(0,s,h,r[h],i[h],ot);if(i[h]!==r[h])return ze(1,s,h,r[h],i[h],"MODIFICATION")}for(h in r)if(!(h in i))return ze(2,s,h,r[h],i[h],pt)}},ze=function(e,r,i,h,s,o){var l={attrChange:e,currentTarget:r,attrName:i,prevValue:h,newValue:s};l[o]=e,Ue(l)},nt=function(e){for(var r,i,h={},s=e.attributes,o=0,l=s.length;o$");if(r[te]="a",(e.prototype=w(S.prototype)).constructor=e,G.customElements.define(i,e,r),!h.test(A.createElement("a",{is:i}).outerHTML)||!h.test((new e).outerHTML))throw r}(function e(){return Reflect.construct(S,[],e)},{},"document-register-element-a"+dt)}catch(e){ft()}if(!ne.noBuiltIn)try{if(O.call(A,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){C=function(r){return{is:r.toLowerCase()}}}}(window)},277:()=>{"use strict";!function(t){const a=t.performance;function u(I){a&&a.mark&&a.mark(I)}function c(I,k){a&&a.measure&&a.measure(I,k)}u("Zone");const f=t.__Zone_symbol_prefix||"__zone_symbol__";function m(I){return f+I}const E=!0===t[m("forceDuplicateZoneCheck")];if(t.Zone){if(E||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let v=(()=>{class I{constructor(n,e){this._parent=n,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new w(this,this._parent&&this._parent._zoneDelegate,e)}static assertZonePatched(){if(t.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=I.current;for(;n.parent;)n=n.parent;return n}static get current(){return V.zone}static get currentTask(){return ue}static __load_patch(n,e,r=!1){if(oe.hasOwnProperty(n)){if(!r&&E)throw Error("Already loaded patch: "+n)}else if(!t["__Zone_disable_"+n]){const i="Zone:"+n;u(i),oe[n]=e(t,I,_e),c(i,i)}}get parent(){return this._parent}get name(){return this._name}get(n){const e=this.getZoneWith(n);if(e)return e._properties[n]}getZoneWith(n){let e=this;for(;e;){if(e._properties.hasOwnProperty(n))return e;e=e._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,e){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const r=this._zoneDelegate.intercept(this,n,e),i=this;return function(){return i.runGuarded(r,this,arguments,e)}}run(n,e,r,i){V={parent:V,zone:this};try{return this._zoneDelegate.invoke(this,n,e,r,i)}finally{V=V.parent}}runGuarded(n,e=null,r,i){V={parent:V,zone:this};try{try{return this._zoneDelegate.invoke(this,n,e,r,i)}catch(h){if(this._zoneDelegate.handleError(this,h))throw h}}finally{V=V.parent}}runTask(n,e,r){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||W).name+"; Execution: "+this.name+")");if(n.state===B&&(n.type===H||n.type===j))return;const i=n.state!=Q;i&&n._transitionTo(Q,R),n.runCount++;const h=ue;ue=n,V={parent:V,zone:this};try{n.type==j&&n.data&&!n.data.isPeriodic&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,n,e,r)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{n.state!==B&&n.state!==$&&(n.type==H||n.data&&n.data.isPeriodic?i&&n._transitionTo(R,Q):(n.runCount=0,this._updateTaskCount(n,-1),i&&n._transitionTo(B,Q,B))),V=V.parent,ue=h}}scheduleTask(n){if(n.zone&&n.zone!==this){let r=this;for(;r;){if(r===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);r=r.parent}}n._transitionTo(K,B);const e=[];n._zoneDelegates=e,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(r){throw n._transitionTo($,K,B),this._zoneDelegate.handleError(this,r),r}return n._zoneDelegates===e&&this._updateTaskCount(n,1),n.state==K&&n._transitionTo(R,K),n}scheduleMicroTask(n,e,r,i){return this.scheduleTask(new b(O,n,e,r,i,void 0))}scheduleMacroTask(n,e,r,i,h){return this.scheduleTask(new b(j,n,e,r,i,h))}scheduleEventTask(n,e,r,i,h){return this.scheduleTask(new b(H,n,e,r,i,h))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||W).name+"; Execution: "+this.name+")");n._transitionTo(F,R,Q);try{this._zoneDelegate.cancelTask(this,n)}catch(e){throw n._transitionTo($,F),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(n,-1),n._transitionTo(B,F),n.runCount=0,n}_updateTaskCount(n,e){const r=n._zoneDelegates;-1==e&&(n._zoneDelegates=null);for(let i=0;iI.hasTask(n,e),onScheduleTask:(I,k,n,e)=>I.scheduleTask(n,e),onInvokeTask:(I,k,n,e,r,i)=>I.invokeTask(n,e,r,i),onCancelTask:(I,k,n,e)=>I.cancelTask(n,e)};class w{constructor(k,n,e){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=k,this._parentDelegate=n,this._forkZS=e&&(e&&e.onFork?e:n._forkZS),this._forkDlgt=e&&(e.onFork?n:n._forkDlgt),this._forkCurrZone=e&&(e.onFork?this.zone:n._forkCurrZone),this._interceptZS=e&&(e.onIntercept?e:n._interceptZS),this._interceptDlgt=e&&(e.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=e&&(e.onIntercept?this.zone:n._interceptCurrZone),this._invokeZS=e&&(e.onInvoke?e:n._invokeZS),this._invokeDlgt=e&&(e.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=e&&(e.onInvoke?this.zone:n._invokeCurrZone),this._handleErrorZS=e&&(e.onHandleError?e:n._handleErrorZS),this._handleErrorDlgt=e&&(e.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=e&&(e.onHandleError?this.zone:n._handleErrorCurrZone),this._scheduleTaskZS=e&&(e.onScheduleTask?e:n._scheduleTaskZS),this._scheduleTaskDlgt=e&&(e.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=e&&(e.onScheduleTask?this.zone:n._scheduleTaskCurrZone),this._invokeTaskZS=e&&(e.onInvokeTask?e:n._invokeTaskZS),this._invokeTaskDlgt=e&&(e.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=e&&(e.onInvokeTask?this.zone:n._invokeTaskCurrZone),this._cancelTaskZS=e&&(e.onCancelTask?e:n._cancelTaskZS),this._cancelTaskDlgt=e&&(e.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=e&&(e.onCancelTask?this.zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const r=e&&e.onHasTask;(r||n&&n._hasTaskZS)&&(this._hasTaskZS=r?e:C,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=k,e.onScheduleTask||(this._scheduleTaskZS=C,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this.zone),e.onInvokeTask||(this._invokeTaskZS=C,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this.zone),e.onCancelTask||(this._cancelTaskZS=C,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this.zone))}fork(k,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,k,n):new v(k,n)}intercept(k,n,e){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,k,n,e):n}invoke(k,n,e,r,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,k,n,e,r,i):n.apply(e,r)}handleError(k,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,k,n)}scheduleTask(k,n){let e=n;if(this._scheduleTaskZS)this._hasTaskZS&&e._zoneDelegates.push(this._hasTaskDlgtOwner),e=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,k,n),e||(e=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=O)throw new Error("Task is missing scheduleFn.");T(n)}return e}invokeTask(k,n,e,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,k,n,e,r):n.callback.apply(e,r)}cancelTask(k,n){let e;if(this._cancelTaskZS)e=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,k,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");e=n.cancelFn(n)}return e}hasTask(k,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,k,n)}catch(e){this.handleError(k,e)}}_updateTaskCount(k,n){const e=this._taskCounts,r=e[k],i=e[k]=r+n;if(i<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=i||this.hasTask(this.zone,{microTask:e.microTask>0,macroTask:e.macroTask>0,eventTask:e.eventTask>0,change:k})}}class b{constructor(k,n,e,r,i,h){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=k,this.source=n,this.data=r,this.scheduleFn=i,this.cancelFn=h,!e)throw new Error("callback is not defined");this.callback=e;const s=this;this.invoke=k===H&&r&&r.useG?b.invokeTask:function(){return b.invokeTask.call(t,s,this,arguments)}}static invokeTask(k,n,e){k||(k=this),fe++;try{return k.runCount++,k.zone.runTask(k,n,e)}finally{1==fe&&Z(),fe--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(B,K)}_transitionTo(k,n,e){if(this._state!==n&&this._state!==e)throw new Error(`${this.type} '${this.source}': can not transition to '${k}', expecting state '${n}'${e?" or '"+e+"'":""}, was '${this._state}'.`);this._state=k,k==B&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const N=m("setTimeout"),S=m("Promise"),P=m("then");let L,z=[],x=!1;function T(I){if(0===fe&&0===z.length)if(L||t[S]&&(L=t[S].resolve(0)),L){let k=L[P];k||(k=L.then),k.call(L,Z)}else t[N](Z,0);I&&z.push(I)}function Z(){if(!x){for(x=!0;z.length;){const I=z;z=[];for(let k=0;kV,onUnhandledError:X,microtaskDrainDone:X,scheduleMicroTask:T,showUncaughtError:()=>!v[m("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:X,patchMethod:()=>X,bindArguments:()=>[],patchThen:()=>X,patchMacroTask:()=>X,patchEventPrototype:()=>X,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>X,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>X,wrapWithCurrentZone:()=>X,filterProperties:()=>[],attachOriginToPatched:()=>X,_redefineProperty:()=>X,patchCallbacks:()=>X};let V={parent:null,zone:new v(null,null)},ue=null,fe=0;function X(){}c("Zone","Zone"),t.Zone=v}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ne=Object.getOwnPropertyDescriptor,he=Object.defineProperty,ye=Object.getPrototypeOf,_t=Object.create,Ve=Array.prototype.slice,Ie="addEventListener",Ze="removeEventListener",Ue=Zone.__symbol__(Ie),et=Zone.__symbol__(Ze),de="true",ve="false",Ae=Zone.__symbol__("");function Be(t,a){return Zone.current.wrap(t,a)}function lt(t,a,u,c,f){return Zone.current.scheduleMacroTask(t,a,u,c,f)}const U=Zone.__symbol__,je="undefined"!=typeof window,ke=je?window:void 0,J=je&&ke||"object"==typeof self&&self||global,yt=[null];function tt(t,a){for(let u=t.length-1;u>=0;u--)"function"==typeof t[u]&&(t[u]=Be(t[u],a+"_"+u));return t}function ft(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}const A="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,re=!("nw"in J)&&void 0!==J.process&&"[object process]"==={}.toString.call(J.process),ht=!re&&!A&&!(!je||!ke.HTMLElement),Ge=void 0!==J.process&&"[object process]"==={}.toString.call(J.process)&&!A&&!(!je||!ke.HTMLElement),xe={},ze=function(t){if(!(t=t||J.event))return;let a=xe[t.type];a||(a=xe[t.type]=U("ON_PROPERTY"+t.type));const u=this||t.target||J,c=u[a];let f;if(ht&&u===ke&&"error"===t.type){const m=t;f=c&&c.call(this,m.message,m.filename,m.lineno,m.colno,m.error),!0===f&&t.preventDefault()}else f=c&&c.apply(this,arguments),null!=f&&!f&&t.preventDefault();return f};function nt(t,a,u){let c=ne(t,a);if(!c&&u&&ne(u,a)&&(c={enumerable:!0,configurable:!0}),!c||!c.configurable)return;const f=U("on"+a+"patched");if(t.hasOwnProperty(f)&&t[f])return;delete c.writable,delete c.value;const m=c.get,E=c.set,v=a.substr(2);let C=xe[v];C||(C=xe[v]=U("ON_PROPERTY"+v)),c.set=function(w){let b=this;!b&&t===J&&(b=J),b&&(b[C]&&b.removeEventListener(v,ze),E&&E.apply(b,yt),"function"==typeof w?(b[C]=w,b.addEventListener(v,ze,!1)):b[C]=null)},c.get=function(){let w=this;if(!w&&t===J&&(w=J),!w)return null;const b=w[C];if(b)return b;if(m){let N=m&&m.call(this);if(N)return c.set.call(this,N),"function"==typeof w.removeAttribute&&w.removeAttribute(a),N}return null},he(t,a,c),t[f]=!0}function We(t,a,u){if(a)for(let c=0;cfunction(E,v){const C=u(E,v);return C.cbIdx>=0&&"function"==typeof v[C.cbIdx]?lt(C.name,v[C.cbIdx],C,f):m.apply(E,v)})}function se(t,a){t[U("OriginalDelegate")]=a}let dt=!1,me=!1;function Le(){if(dt)return me;dt=!0;try{const t=ke.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(me=!0)}catch(t){}return me}Zone.__load_patch("ZoneAwarePromise",(t,a,u)=>{const c=Object.getOwnPropertyDescriptor,f=Object.defineProperty,E=u.symbol,v=[],C=!0===t[E("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],w=E("Promise"),b=E("then");u.onUnhandledError=s=>{if(u.showUncaughtError()){const o=s&&s.rejection;o?console.error("Unhandled Promise rejection:",o instanceof Error?o.message:o,"; Zone:",s.zone.name,"; Task:",s.task&&s.task.source,"; Value:",o,o instanceof Error?o.stack:void 0):console.error(s)}},u.microtaskDrainDone=()=>{for(;v.length;){const s=v.shift();try{s.zone.runGuarded(()=>{throw s.throwOriginal?s.rejection:s})}catch(o){P(o)}}};const S=E("unhandledPromiseRejectionHandler");function P(s){u.onUnhandledError(s);try{const o=a[S];"function"==typeof o&&o.call(this,s)}catch(o){}}function z(s){return s&&s.then}function x(s){return s}function L(s){return n.reject(s)}const T=E("state"),Z=E("value"),W=E("finally"),B=E("parentPromiseValue"),K=E("parentPromiseState"),Q=null,F=!0,$=!1;function j(s,o){return l=>{try{V(s,o,l)}catch(d){V(s,!1,d)}}}const _e=E("currentTaskTrace");function V(s,o,l){const d=function(){let s=!1;return function(l){return function(){s||(s=!0,l.apply(null,arguments))}}}();if(s===l)throw new TypeError("Promise resolved with itself");if(s[T]===Q){let p=null;try{("object"==typeof l||"function"==typeof l)&&(p=l&&l.then)}catch(y){return d(()=>{V(s,!1,y)})(),s}if(o!==$&&l instanceof n&&l.hasOwnProperty(T)&&l.hasOwnProperty(Z)&&l[T]!==Q)fe(l),V(s,l[T],l[Z]);else if(o!==$&&"function"==typeof p)try{p.call(l,d(j(s,o)),d(j(s,!1)))}catch(y){d(()=>{V(s,!1,y)})()}else{s[T]=o;const y=s[Z];if(s[Z]=l,s[W]===W&&o===F&&(s[T]=s[K],s[Z]=s[B]),o===$&&l instanceof Error){const _=a.currentTask&&a.currentTask.data&&a.currentTask.data.__creationTrace__;_&&f(l,_e,{configurable:!0,enumerable:!1,writable:!0,value:_})}for(let _=0;_{try{const g=s[Z],M=!!l&&W===l[W];M&&(l[B]=g,l[K]=y);const D=o.run(_,void 0,M&&_!==L&&_!==x?[]:[g]);V(l,!0,D)}catch(g){V(l,!1,g)}},l)}const k=function(){};class n{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(o){return V(new this(null),F,o)}static reject(o){return V(new this(null),$,o)}static race(o){let l,d,p=new this((g,M)=>{l=g,d=M});function y(g){l(g)}function _(g){d(g)}for(let g of o)z(g)||(g=this.resolve(g)),g.then(y,_);return p}static all(o){return n.allWithCallback(o)}static allSettled(o){return(this&&this.prototype instanceof n?this:n).allWithCallback(o,{thenCallback:d=>({status:"fulfilled",value:d}),errorCallback:d=>({status:"rejected",reason:d})})}static allWithCallback(o,l){let d,p,y=new this((D,q)=>{d=D,p=q}),_=2,g=0;const M=[];for(let D of o){z(D)||(D=this.resolve(D));const q=g;try{D.then(ee=>{M[q]=l?l.thenCallback(ee):ee,_--,0===_&&d(M)},ee=>{l?(M[q]=l.errorCallback(ee),_--,0===_&&d(M)):p(ee)})}catch(ee){p(ee)}_++,g++}return _-=2,0===_&&d(M),y}constructor(o){const l=this;if(!(l instanceof n))throw new Error("Must be an instanceof Promise.");l[T]=Q,l[Z]=[];try{o&&o(j(l,F),j(l,$))}catch(d){V(l,!1,d)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return n}then(o,l){let d=this.constructor[Symbol.species];(!d||"function"!=typeof d)&&(d=this.constructor||n);const p=new d(k),y=a.current;return this[T]==Q?this[Z].push(y,p,o,l):X(this,y,p,o,l),p}catch(o){return this.then(null,o)}finally(o){let l=this.constructor[Symbol.species];(!l||"function"!=typeof l)&&(l=n);const d=new l(k);d[W]=W;const p=a.current;return this[T]==Q?this[Z].push(p,d,o,o):X(this,p,d,o,o),d}}n.resolve=n.resolve,n.reject=n.reject,n.race=n.race,n.all=n.all;const e=t[w]=t.Promise;t.Promise=n;const r=E("thenPatched");function i(s){const o=s.prototype,l=c(o,"then");if(l&&(!1===l.writable||!l.configurable))return;const d=o.then;o[b]=d,s.prototype.then=function(p,y){return new n((g,M)=>{d.call(this,g,M)}).then(p,y)},s[r]=!0}return u.patchThen=i,e&&(i(e),ae(t,"fetch",s=>function(s){return function(o,l){let d=s.apply(o,l);if(d instanceof n)return d;let p=d.constructor;return p[r]||i(p),d}}(s))),Promise[a.__symbol__("uncaughtPromiseErrors")]=v,n}),Zone.__load_patch("toString",t=>{const a=Function.prototype.toString,u=U("OriginalDelegate"),c=U("Promise"),f=U("Error"),m=function(){if("function"==typeof this){const w=this[u];if(w)return"function"==typeof w?a.call(w):Object.prototype.toString.call(w);if(this===Promise){const b=t[c];if(b)return a.call(b)}if(this===Error){const b=t[f];if(b)return a.call(b)}}return a.call(this)};m[u]=a,Function.prototype.toString=m;const E=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":E.call(this)}});let ce=!1;if("undefined"!=typeof window)try{const t=Object.defineProperty({},"passive",{get:function(){ce=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){ce=!1}const pe={useG:!0},te={},Ee={},vt=new RegExp("^"+Ae+"(\\w+)(true|false)$"),rt=U("propagationStopped");function mt(t,a){const u=(a?a(t):t)+ve,c=(a?a(t):t)+de,f=Ae+u,m=Ae+c;te[t]={},te[t][ve]=f,te[t][de]=m}function qe(t,a,u){const c=u&&u.add||Ie,f=u&&u.rm||Ze,m=u&&u.listeners||"eventListeners",E=u&&u.rmAll||"removeAllListeners",v=U(c),C="."+c+":",N=function(L,T,Z){if(L.isRemoved)return;const W=L.callback;"object"==typeof W&&W.handleEvent&&(L.callback=K=>W.handleEvent(K),L.originalDelegate=W),L.invoke(L,T,[Z]);const B=L.options;B&&"object"==typeof B&&B.once&&T[f].call(T,Z.type,L.originalDelegate?L.originalDelegate:L.callback,B)},S=function(L){if(!(L=L||t.event))return;const T=this||L.target||t,Z=T[te[L.type][ve]];if(Z)if(1===Z.length)N(Z[0],T,L);else{const W=Z.slice();for(let B=0;Bfunction(f,m){f[rt]=!0,c&&c.apply(f,m)})}function pt(t,a,u,c,f){const m=Zone.__symbol__(c);if(a[m])return;const E=a[m]=a[c];a[c]=function(v,C,w){return C&&C.prototype&&f.forEach(function(b){const N=`${u}.${c}::`+b,S=C.prototype;if(S.hasOwnProperty(b)){const P=t.ObjectGetOwnPropertyDescriptor(S,b);P&&P.value?(P.value=t.wrapWithCurrentZone(P.value,N),t._redefineProperty(C.prototype,b,P)):S[b]&&(S[b]=t.wrapWithCurrentZone(S[b],N))}else S[b]&&(S[b]=t.wrapWithCurrentZone(S[b],N))}),E.call(a,v,C,w)},t.attachOriginToPatched(a[c],E)}const Et=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],st=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],le=["load"],De=["blur","error","focus","load","resize","scroll","messageerror"],Te=["bounce","finish","start"],it=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Pe=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],at=["close","error","open","message"],Re=["error","message"],Oe=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Et,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function Ke(t,a,u){if(!u||0===u.length)return a;const c=u.filter(m=>m.target===t);if(!c||0===c.length)return a;const f=c[0].ignoreProperties;return a.filter(m=>-1===f.indexOf(m))}function Y(t,a,u,c){t&&We(t,Ke(t,a,u),c)}Zone.__load_patch("util",(t,a,u)=>{u.patchOnProperties=We,u.patchMethod=ae,u.bindArguments=tt,u.patchMacroTask=Ce;const c=a.__symbol__("BLACK_LISTED_EVENTS"),f=a.__symbol__("UNPATCHED_EVENTS");t[f]&&(t[c]=t[f]),t[c]&&(a[c]=a[f]=t[c]),u.patchEventPrototype=ot,u.patchEventTarget=qe,u.isIEOrEdge=Le,u.ObjectDefineProperty=he,u.ObjectGetOwnPropertyDescriptor=ne,u.ObjectCreate=_t,u.ArraySlice=Ve,u.patchClass=we,u.wrapWithCurrentZone=Be,u.filterProperties=Ke,u.attachOriginToPatched=se,u._redefineProperty=Object.defineProperty,u.patchCallbacks=pt,u.getGlobalObjects=()=>({globalSources:Ee,zoneSymbolEventNames:te,eventNames:Oe,isBrowser:ht,isMix:Ge,isNode:re,TRUE_STR:de,FALSE_STR:ve,ZONE_SYMBOL_PREFIX:Ae,ADD_EVENT_LISTENER_STR:Ie,REMOVE_EVENT_LISTENER_STR:Ze})});const $e=U("zoneTask");function Se(t,a,u,c){let f=null,m=null;u+=c;const E={};function v(w){const b=w.data;return b.args[0]=function(){return w.invoke.apply(this,arguments)},b.handleId=f.apply(t,b.args),w}function C(w){return m.call(t,w.data.handleId)}f=ae(t,a+=c,w=>function(b,N){if("function"==typeof N[0]){const S={isPeriodic:"Interval"===c,delay:"Timeout"===c||"Interval"===c?N[1]||0:void 0,args:N},P=N[0];N[0]=function(){try{return P.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete E[S.handleId]:S.handleId&&(S.handleId[$e]=null))}};const z=lt(a,N[0],S,v,C);if(!z)return z;const x=z.data.handleId;return"number"==typeof x?E[x]=z:x&&(x[$e]=z),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(z.ref=x.ref.bind(x),z.unref=x.unref.bind(x)),"number"==typeof x||x?x:z}return w.apply(t,N)}),m=ae(t,u,w=>function(b,N){const S=N[0];let P;"number"==typeof S?P=E[S]:(P=S&&S[$e],P||(P=S)),P&&"string"==typeof P.type?"notScheduled"!==P.state&&(P.cancelFn&&P.data.isPeriodic||0===P.runCount)&&("number"==typeof S?delete E[S]:S&&(S[$e]=null),P.zone.cancelTask(P)):w.apply(t,N)})}Zone.__load_patch("legacy",t=>{const a=t[Zone.__symbol__("legacyPatch")];a&&a()}),Zone.__load_patch("queueMicrotask",(t,a,u)=>{u.patchMethod(t,"queueMicrotask",c=>function(f,m){a.current.scheduleMicroTask("queueMicrotask",m[0])})}),Zone.__load_patch("timers",t=>{const a="set",u="clear";Se(t,a,u,"Timeout"),Se(t,a,u,"Interval"),Se(t,a,u,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{Se(t,"request","cancel","AnimationFrame"),Se(t,"mozRequest","mozCancel","AnimationFrame"),Se(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,a)=>{const u=["alert","prompt","confirm"];for(let c=0;cfunction(C,w){return a.current.run(m,t,w,v)})}),Zone.__load_patch("EventTarget",(t,a,u)=>{(function(t,a){a.patchEventPrototype(t,a)})(t,u),function(t,a){if(Zone[a.symbol("patchEventTarget")])return;const{eventNames:u,zoneSymbolEventNames:c,TRUE_STR:f,FALSE_STR:m,ZONE_SYMBOL_PREFIX:E}=a.getGlobalObjects();for(let C=0;C{we("MutationObserver"),we("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,a,u)=>{we("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,a,u)=>{we("FileReader")}),Zone.__load_patch("on_property",(t,a,u)=>{!function(t,a){if(re&&!Ge||Zone[t.symbol("patchEvents")])return;const u="undefined"!=typeof WebSocket,c=a.__Zone_ignore_on_properties;if(ht){const E=window,v=function(){try{const t=ke.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(t){}return!1}()?[{target:E,ignoreProperties:["error"]}]:[];Y(E,Oe.concat(["messageerror"]),c&&c.concat(v),ye(E)),Y(Document.prototype,Oe,c),void 0!==E.SVGElement&&Y(E.SVGElement.prototype,Oe,c),Y(Element.prototype,Oe,c),Y(HTMLElement.prototype,Oe,c),Y(HTMLMediaElement.prototype,st,c),Y(HTMLFrameSetElement.prototype,Et.concat(De),c),Y(HTMLBodyElement.prototype,Et.concat(De),c),Y(HTMLFrameElement.prototype,le,c),Y(HTMLIFrameElement.prototype,le,c);const C=E.HTMLMarqueeElement;C&&Y(C.prototype,Te,c);const w=E.Worker;w&&Y(w.prototype,Re,c)}const f=a.XMLHttpRequest;f&&Y(f.prototype,it,c);const m=a.XMLHttpRequestEventTarget;m&&Y(m&&m.prototype,it,c),"undefined"!=typeof IDBIndex&&(Y(IDBIndex.prototype,Pe,c),Y(IDBRequest.prototype,Pe,c),Y(IDBOpenDBRequest.prototype,Pe,c),Y(IDBDatabase.prototype,Pe,c),Y(IDBTransaction.prototype,Pe,c),Y(IDBCursor.prototype,Pe,c)),u&&Y(WebSocket.prototype,at,c)}(u,t)}),Zone.__load_patch("customElements",(t,a,u)=>{!function(t,a){const{isBrowser:u,isMix:c}=a.getGlobalObjects();(u||c)&&t.customElements&&"customElements"in t&&a.patchCallbacks(a,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,u)}),Zone.__load_patch("XHR",(t,a)=>{!function(w){const b=w.XMLHttpRequest;if(!b)return;const N=b.prototype;let P=N[Ue],z=N[et];if(!P){const O=w.XMLHttpRequestEventTarget;if(O){const j=O.prototype;P=j[Ue],z=j[et]}}const x="readystatechange",L="scheduled";function T(O){const j=O.data,H=j.target;H[m]=!1,H[v]=!1;const oe=H[f];P||(P=H[Ue],z=H[et]),oe&&z.call(H,x,oe);const _e=H[f]=()=>{if(H.readyState===H.DONE)if(!j.aborted&&H[m]&&O.state===L){const ue=H[a.__symbol__("loadfalse")];if(0!==H.status&&ue&&ue.length>0){const fe=O.invoke;O.invoke=function(){const X=H[a.__symbol__("loadfalse")];for(let I=0;Ifunction(O,j){return O[c]=0==j[2],O[E]=j[1],B.apply(O,j)}),R=U("fetchTaskAborting"),Q=U("fetchTaskScheduling"),F=ae(N,"send",()=>function(O,j){if(!0===a.current[Q]||O[c])return F.apply(O,j);{const H={target:O,url:O[E],isPeriodic:!1,args:j,aborted:!1},oe=lt("XMLHttpRequest.send",Z,H,T,W);O&&!0===O[v]&&!H.aborted&&oe.state===L&&oe.invoke()}}),$=ae(N,"abort",()=>function(O,j){const H=function(O){return O[u]}(O);if(H&&"string"==typeof H.type){if(null==H.cancelFn||H.data&&H.data.aborted)return;H.zone.cancelTask(H)}else if(!0===a.current[R])return $.apply(O,j)})}(t);const u=U("xhrTask"),c=U("xhrSync"),f=U("xhrListener"),m=U("xhrScheduled"),E=U("xhrURL"),v=U("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,a){const u=t.constructor.name;for(let c=0;c{const C=function(){return v.apply(this,tt(arguments,u+"."+f))};return se(C,v),C})(m)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,a)=>{function u(c){return function(f){kt(t,c).forEach(E=>{const v=t.PromiseRejectionEvent;if(v){const C=new v(c,{promise:f.promise,reason:f.rejection});E.invoke(C)}})}}t.PromiseRejectionEvent&&(a[U("unhandledPromiseRejectionHandler")]=u("unhandledrejection"),a[U("rejectionHandledHandler")]=u("rejectionhandled"))})},648:(G,ne,he)=>{"use strict";he(277),he(142),he(138)}},G=>{G(G.s=648)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
    ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var A2e=Object.defineProperty,D2e=Object.defineProperties,O2e=Object.getOwnPropertyDescriptors,p7=Object.getOwnPropertySymbols,I2e=Object.prototype.hasOwnProperty,P2e=Object.prototype.propertyIsEnumerable,Ui=Math.pow,g7=(gt,We,ze)=>We in gt?A2e(gt,We,{enumerable:!0,configurable:!0,writable:!0,value:ze}):gt[We]=ze,K=(gt,We)=>{for(var ze in We||(We={}))I2e.call(We,ze)&&g7(gt,ze,We[ze]);if(p7)for(var ze of p7(We))P2e.call(We,ze)&&g7(gt,ze,We[ze]);return gt},Lt=(gt,We)=>D2e(gt,O2e(We));(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{2:gt=>{"use strict";gt.exports=ze,gt.exports.default=ze;var We=1e20;function ze(Ke,ft,Ze,Tt,Ft,we){this.fontSize=Ke||24,this.buffer=void 0===ft?3:ft,this.cutoff=Tt||.25,this.fontFamily=Ft||"sans-serif",this.fontWeight=we||"normal",this.radius=Ze||8;var _e=this.size=this.fontSize+2*this.buffer,ke=_e+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=_e,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(ke*ke),this.gridInner=new Float64Array(ke*ke),this.f=new Float64Array(ke),this.z=new Float64Array(ke+1),this.v=new Uint16Array(ke),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(_e/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function It(Ke,ft,Ze,Tt,Ft,we){for(var _e=0;_e-1);we[++ye]=ke,_e[ye]=Te,_e[ye+1]=We}for(ke=0,ye=0;ke{"use strict";var wt=(()=>{return(It=wt||(wt={})).typeOfFunction="function",It.boolTrue=!0,wt;var It})();function L(It,Pt,Ke){if(!Ke||typeof Ke.value!==wt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+Pt+"> is not a method!");return{configurable:wt.boolTrue,get:function(){var ft=Ke.value.bind(this);return Object.defineProperty(this,Pt,{value:ft,configurable:wt.boolTrue,writable:wt.boolTrue}),ft}}}We.ak=L,We.ZP=L},266:(gt,We,ze)=>{gt.exports={ResizeSensor:ze(835),ElementQueries:ze(845)}},845:function(gt,We,ze){"use strict";var wt,L,It;"undefined"!=typeof window&&window,L=[ze(835)],void 0!==(It="function"==typeof(wt=function(Pt){var Ke=function(){var Ze,Tt={},Ft=[];function we(Ve){Ve||(Ve=document.documentElement);var ce=window.getComputedStyle(Ve,null).fontSize;return parseFloat(ce)||16}function ke(Ve,ce){var zt=ce.split(/\d/),Gt=zt[zt.length-1];switch(ce=parseFloat(ce),Gt){case"px":return ce;case"em":return ce*we(Ve);case"rem":return ce*we();case"vw":return ce*document.documentElement.clientWidth/100;case"vh":return ce*document.documentElement.clientHeight/100;case"vmin":case"vmax":var Qt=document.documentElement.clientWidth/100,li=document.documentElement.clientHeight/100;return ce*(0,Math["vmin"===Gt?"min":"max"])(Qt,li);default:return ce}}function ye(Ve,ce){this.element=Ve;var zt,Gt,Qt,li,Pi,Se,pn,Gn,Ae=["min-width","min-height","max-width","max-height"];this.call=function(){for(zt in Qt=function(Ve){if(!Ve.getBoundingClientRect)return{width:Ve.offsetWidth,height:Ve.offsetHeight};var ce=Ve.getBoundingClientRect();return{width:Math.round(ce.width),height:Math.round(ce.height)}}(this.element),Se={},Tt[ce])!Tt[ce].hasOwnProperty(zt)||(li=ke(this.element,(Gt=Tt[ce][zt]).value),Pi="width"===Gt.property?Qt.width:Qt.height,pn="","min"===Gt.mode&&Pi>=li&&(pn+=Gt.value),"max"===Gt.mode&&Pi<=li&&(pn+=Gt.value),Se[Gn=Gt.mode+"-"+Gt.property]||(Se[Gn]=""),pn&&-1===(" "+Se[Gn]+" ").indexOf(" "+pn+" ")&&(Se[Gn]+=" "+pn));for(var Ri in Ae)!Ae.hasOwnProperty(Ri)||(Se[Ae[Ri]]?this.element.setAttribute(Ae[Ri],Se[Ae[Ri]].substr(1)):this.element.removeAttribute(Ae[Ri]))}}function Te(Ve,ce){Ve.elementQueriesSetupInformation||(Ve.elementQueriesSetupInformation=new ye(Ve,ce)),Ve.elementQueriesSensor||(Ve.elementQueriesSensor=new Pt(Ve,function(){Ve.elementQueriesSetupInformation.call()}))}function Vt(Ve,ce,zt,Gt){if(void 0===Tt[Ve]){Tt[Ve]=[];var Qt=Ft.length;Ze.innerHTML+="\n"+Ve+" {animation: 0.1s element-queries;}",Ze.innerHTML+="\n"+Ve+" > .resize-sensor {min-width: "+Qt+"px;}",Ft.push(Ve)}Tt[Ve].push({mode:ce,property:zt,value:Gt})}function He(Ve){var ce;if(document.querySelectorAll&&(ce=Ve?Ve.querySelectorAll.bind(Ve):document.querySelectorAll.bind(document)),!ce&&"undefined"!=typeof $$&&(ce=$$),!ce&&"undefined"!=typeof jQuery&&(ce=jQuery),!ce)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return ce}function xt(Ve){var ce=[],zt=[],Gt=[],Qt=0,li=-1,Pi=[];for(var Se in Ve.children)if(Ve.children.hasOwnProperty(Se)&&Ve.children[Se].tagName&&"img"===Ve.children[Se].tagName.toLowerCase()){ce.push(Ve.children[Se]);var pn=Ve.children[Se].getAttribute("min-width")||Ve.children[Se].getAttribute("data-min-width"),Gn=Ve.children[Se].getAttribute("data-src")||Ve.children[Se].getAttribute("url");Gt.push(Gn),zt.push({minWidth:pn}),pn?Ve.children[Se].style.display="none":(Qt=ce.length-1,Ve.children[Se].style.display="block")}function Ri(){var xr,jt=!1;for(xr in ce)!ce.hasOwnProperty(xr)||zt[xr].minWidth&&Ve.offsetWidth>zt[xr].minWidth&&(jt=xr);if(jt||(jt=Qt),li!==jt)if(Pi[jt])ce[li].style.display="none",ce[jt].style.display="block",li=jt;else{var ls=new Image;ls.onload=function(){ce[jt].src=Gt[jt],ce[li].style.display="none",ce[jt].style.display="block",Pi[jt]=!0,li=jt},ls.src=Gt[jt]}else ce[jt].src=Gt[jt]}li=Qt,Ve.resizeSensorInstance=new Pt(Ve,Ri),Ri()}var Yn=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,Ei=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function vi(Ve){var ce,zt,Gt,Qt;for(Ve=Ve.replace(/'/g,'"');null!==(ce=Yn.exec(Ve));)for(zt=ce[1]+ce[3],Gt=ce[2];null!==(Qt=Ei.exec(Gt));)Vt(zt,Qt[1],Qt[2],Qt[3])}function bi(Ve){var ce="";if(Ve)if("string"==typeof Ve)(-1!==(Ve=Ve.toLowerCase()).indexOf("min-width")||-1!==Ve.indexOf("max-width"))&&vi(Ve);else for(var zt=0,Gt=Ve.length;zt img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",Ze.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(Ze),Mr=!0);for(var ce=0,zt=document.styleSheets.length;ce=_e.status}function ft(we){try{we.dispatchEvent(new MouseEvent("click"))}catch(ke){var _e=document.createEvent("MouseEvents");_e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),we.dispatchEvent(_e)}}var Ze="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Tt=Ze.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ft=Ze.saveAs||("object"!=typeof window||window!==Ze?function(){}:"download"in HTMLAnchorElement.prototype&&!Tt?function(we,_e,ke){var ye=Ze.URL||Ze.webkitURL,Te=document.createElement("a");Te.download=_e=_e||we.name||"download",Te.rel="noopener","string"==typeof we?(Te.href=we,Te.origin===location.origin?ft(Te):Ke(Te.href)?Pt(we,_e,ke):ft(Te,Te.target="_blank")):(Te.href=ye.createObjectURL(we),setTimeout(function(){ye.revokeObjectURL(Te.href)},4e4),setTimeout(function(){ft(Te)},0))}:"msSaveOrOpenBlob"in navigator?function(we,_e,ke){if(_e=_e||we.name||"download","string"!=typeof we)navigator.msSaveOrOpenBlob(function(we,_e){return void 0===_e?_e={autoBom:!1}:"object"!=typeof _e&&(console.warn("Deprecated: Expected third argument to be a object"),_e={autoBom:!_e}),_e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(we.type)?new Blob(["\ufeff",we],{type:we.type}):we}(we,ke),_e);else if(Ke(we))Pt(we,_e,ke);else{var ye=document.createElement("a");ye.href=we,ye.target="_blank",setTimeout(function(){ft(ye)})}}:function(we,_e,ke,ye){if((ye=ye||open("","_blank"))&&(ye.document.title=ye.document.body.innerText="downloading..."),"string"==typeof we)return Pt(we,_e,ke);var Te="application/octet-stream"===we.type,Vt=/constructor/i.test(Ze.HTMLElement)||Ze.safari,He=/CriOS\/[\d]+/.test(navigator.userAgent);if((He||Te&&Vt||Tt)&&"undefined"!=typeof FileReader){var An=new FileReader;An.onloadend=function(){var Yn=An.result;Yn=He?Yn:Yn.replace(/^data:[^;]*;/,"data:attachment/file;"),ye?ye.location.href=Yn:location=Yn,ye=null},An.readAsDataURL(we)}else{var xt=Ze.URL||Ze.webkitURL,tn=xt.createObjectURL(we);ye?ye.location=tn:location.href=tn,ye=null,setTimeout(function(){xt.revokeObjectURL(tn)},4e4)}});Ze.saveAs=Ft.saveAs=Ft,gt.exports=Ft})?ze.apply(We,[]):ze)&&(gt.exports=L)},524:(gt,We,ze)=>{var wt;!function(L,It,Pt,Ke){"use strict";var He,ft=["","webkit","Moz","MS","ms","o"],Ze=It.createElement("div"),Ft=Math.round,we=Math.abs,_e=Date.now;function ke(A,F,j){return setTimeout(Yn(A,j),F)}function ye(A,F,j){return!!Array.isArray(A)&&(Te(A,j[F],j),!0)}function Te(A,F,j){var re;if(A)if(A.forEach)A.forEach(F,j);else if(A.length!==Ke)for(re=0;re\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",vn=L.console&&(L.console.warn||L.console.log);return vn&&vn.call(L.console,re,Ue),A.apply(this,arguments)}}He="function"!=typeof Object.assign?function(F){if(F===Ke||null===F)throw new TypeError("Cannot convert undefined or null to object");for(var j=Object(F),re=1;re-1}function zt(A){return A.trim().split(/\s+/g)}function Gt(A,F,j){if(A.indexOf&&!j)return A.indexOf(F);for(var re=0;reWr[F]}):re.sort()),re}function Pi(A,F){for(var j,re,Fe=F[0].toUpperCase()+F.slice(1),Ue=0;Ue1&&!j.firstMultiple?j.firstMultiple=Va(F):1===Fe&&(j.firstMultiple=!1);var Ue=j.firstInput,vn=j.firstMultiple,dr=vn?vn.center:Ue.center,yr=F.center=uo(re);F.timeStamp=_e(),F.deltaTime=F.timeStamp-Ue.timeStamp,F.angle=ho(dr,yr),F.distance=us(dr,yr),function(A,F){var j=F.center,re=A.offsetDelta||{},Fe=A.prevDelta||{},Ue=A.prevInput||{};(1===F.eventType||4===Ue.eventType)&&(Fe=A.prevDelta={x:Ue.deltaX||0,y:Ue.deltaY||0},re=A.offsetDelta={x:j.x,y:j.y}),F.deltaX=Fe.x+(j.x-re.x),F.deltaY=Fe.y+(j.y-re.y)}(j,F),F.offsetDirection=Ni(F.deltaX,F.deltaY);var Wr=za(F.deltaTime,F.deltaX,F.deltaY);F.overallVelocityX=Wr.x,F.overallVelocityY=Wr.y,F.overallVelocity=we(Wr.x)>we(Wr.y)?Wr.x:Wr.y,F.scale=vn?function(A,F){return us(F[0],F[1],Nr)/us(A[0],A[1],Nr)}(vn.pointers,re):1,F.rotation=vn?function(A,F){return ho(F[1],F[0],Nr)+ho(A[1],A[0],Nr)}(vn.pointers,re):0,F.maxPointers=j.prevInput?F.pointers.length>j.prevInput.maxPointers?F.pointers.length:j.prevInput.maxPointers:F.pointers.length,function(A,F){var Fe,Ue,vn,dr,j=A.lastInterval||F,re=F.timeStamp-j.timeStamp;if(8!=F.eventType&&(re>25||j.velocity===Ke)){var yr=F.deltaX-j.deltaX,Wr=F.deltaY-j.deltaY,cn=za(re,yr,Wr);Ue=cn.x,vn=cn.y,Fe=we(cn.x)>we(cn.y)?cn.x:cn.y,dr=Ni(yr,Wr),A.lastInterval=F}else Fe=j.velocity,Ue=j.velocityX,vn=j.velocityY,dr=j.direction;F.velocity=Fe,F.velocityX=Ue,F.velocityY=vn,F.direction=dr}(j,F);var cn=A.element;Ve(F.srcEvent.target,cn)&&(cn=F.srcEvent.target),F.target=cn}(A,j),A.emit("hammer.input",j),A.recognize(j),A.session.prevInput=j}function Va(A){for(var F=[],j=0;j=we(F)?A<0?2:4:F<0?8:16}function us(A,F,j){j||(j=Gr);var re=F[j[0]]-A[j[0]],Fe=F[j[1]]-A[j[1]];return Math.sqrt(re*re+Fe*Fe)}function ho(A,F,j){return j||(j=Gr),180*Math.atan2(F[j[1]]-A[j[1]],F[j[0]]-A[j[0]])/Math.PI}ii.prototype={handler:function(){},init:function(){this.evEl&&bi(this.element,this.evEl,this.domHandler),this.evTarget&&bi(this.target,this.evTarget,this.domHandler),this.evWin&&bi(Gn(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Mr(this.element,this.evEl,this.domHandler),this.evTarget&&Mr(this.target,this.evTarget,this.domHandler),this.evWin&&Mr(Gn(this.element),this.evWin,this.domHandler)}};var fu={mousedown:1,mousemove:2,mouseup:4},pu="mousedown",gu="mousemove mouseup";function Ml(){this.evEl=pu,this.evWin=gu,this.pressed=!1,ii.apply(this,arguments)}tn(Ml,ii,{handler:function(F){var j=fu[F.type];1&j&&0===F.button&&(this.pressed=!0),2&j&&1!==F.which&&(j=4),this.pressed&&(4&j&&(this.pressed=!1),this.callback(this.manager,j,{pointers:[F],changedPointers:[F],pointerType:cs,srcEvent:F}))}});var mc={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},pd={2:ls,3:"pen",4:cs,5:"kinect"},mu="pointerdown",Vs="pointermove pointerup pointercancel";function Je(){this.evEl=mu,this.evWin=Vs,ii.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}L.MSPointerEvent&&!L.PointerEvent&&(mu="MSPointerDown",Vs="MSPointerMove MSPointerUp MSPointerCancel"),tn(Je,ii,{handler:function(F){var j=this.store,re=!1,Fe=F.type.toLowerCase().replace("ms",""),Ue=mc[Fe],vn=pd[F.pointerType]||F.pointerType,dr=vn==ls,yr=Gt(j,F.pointerId,"pointerId");1&Ue&&(0===F.button||dr)?yr<0&&(j.push(F),yr=j.length-1):12&Ue&&(re=!0),!(yr<0)&&(j[yr]=F,this.callback(this.manager,Ue,{pointers:j,changedPointers:[F],pointerType:vn,srcEvent:F}),re&&j.splice(yr,1))}});var _u={touchstart:1,touchmove:2,touchend:4,touchcancel:8},W="touchstart",Y="touchstart touchmove touchend touchcancel";function J(){this.evTarget=W,this.evWin=Y,this.started=!1,ii.apply(this,arguments)}function T(A,F){var j=Qt(A.touches),re=Qt(A.changedTouches);return 12&F&&(j=li(j.concat(re),"identifier",!0)),[j,re]}tn(J,ii,{handler:function(F){var j=_u[F.type];if(1===j&&(this.started=!0),this.started){var re=T.call(this,F,j);12&j&&re[0].length-re[1].length==0&&(this.started=!1),this.callback(this.manager,j,{pointers:re[0],changedPointers:re[1],pointerType:ls,srcEvent:F})}}});var D={touchstart:1,touchmove:2,touchend:4,touchcancel:8},B="touchstart touchmove touchend touchcancel";function Z(){this.evTarget=B,this.targetIds={},ii.apply(this,arguments)}function $(A,F){var j=Qt(A.touches),re=this.targetIds;if(3&F&&1===j.length)return re[j[0].identifier]=!0,[j,j];var Fe,Ue,vn=Qt(A.changedTouches),dr=[],yr=this.target;if(Ue=j.filter(function(Wr){return Ve(Wr.target,yr)}),1===F)for(Fe=0;Fe-1&&re.splice(Ue,1)},2500)}}function xn(A){for(var F=A.srcEvent.clientX,j=A.srcEvent.clientY,re=0;re-1&&this.requireFail.splice(F,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(A){return!!this.simultaneous[A.id]},emit:function(A){var F=this,j=this.state;function re(Fe){F.manager.emit(Fe,A)}j<8&&re(F.options.event+ue(j)),re(F.options.event),A.additionalEvent&&re(A.additionalEvent),j>=8&&re(F.options.event+ue(j))},tryEmit:function(A){if(this.canEmit())return this.emit(A);this.state=32},canEmit:function(){for(var A=0;AF.threshold&&Fe&F.direction},attrTest:function(A){return rr.prototype.attrTest.call(this,A)&&(2&this.state||!(2&this.state)&&this.directionTest(A))},emit:function(A){this.pX=A.deltaX,this.pY=A.deltaY;var F=u_(A.direction);F&&(A.additionalEvent=this.options.event+F),this._super.emit.call(this,A)}}),tn(bu,rr,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.scale-1)>this.options.threshold||2&this.state)},emit:function(A){1!==A.scale&&(A.additionalEvent=this.options.event+(A.scale<1?"in":"out")),this._super.emit.call(this,A)}}),tn(Ih,ja,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distanceF.time;if(this._input=A,!re||!j||12&A.eventType&&!Fe)this.reset();else if(1&A.eventType)this.reset(),this._timer=ke(function(){this.state=8,this.tryEmit()},F.time,this);else if(4&A.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(A){8===this.state&&(A&&4&A.eventType?this.manager.emit(this.options.event+"up",A):(this._input.timeStamp=_e(),this.manager.emit(this.options.event,this._input)))}}),tn(Cu,rr,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)}}),tn(ua,rr,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return vc.prototype.getTouchAction.call(this)},attrTest:function(A){var j,F=this.options.direction;return 30&F?j=A.overallVelocity:6&F?j=A.overallVelocityX:24&F&&(j=A.overallVelocityY),this._super.attrTest.call(this,A)&&F&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers==this.options.pointers&&we(j)>this.options.velocity&&4&A.eventType},emit:function(A){var F=u_(A.offsetDirection);F&&this.manager.emit(this.options.event+F,A),this.manager.emit(this.options.event,A)}}),tn(Tl,ja,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Hi]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distance"']/g,Vs=RegExp(pd.source),Je=RegExp(mu.source),_u=/<%-([\s\S]+?)%>/g,W=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,J=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,D=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/[\\^$.*+?()[\]{}|]/g,Z=RegExp(B.source),$=/^\s+/,le=/\s/,he=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,pe=/\{\n\/\* \[wrapped with (.+)\] \*/,Ge=/,? & /,an=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,xn=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,Et=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ln=/\w*$/,ri=/^[-+]0x[0-9a-f]+$/i,Hi=/^0b[01]+$/i,$i=/^\[object .+?Constructor\]$/,_n=/^0o[0-7]+$/i,Ci=/^(?:0|[1-9]\d*)$/,_c=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fo=/($^)/,gd=/['\n\r\u2028\u2029\\]/g,xl="\\ud800-\\udfff",Gi="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Pn="\\u2700-\\u27bf",vu="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",rr="\\ufe0e\\ufe0f",vc="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ih="["+xl+"]",Cu="["+vc+"]",ua="["+Gi+"]",Tl="\\d+",Ua="["+Pn+"]",Sp="["+vu+"]",At="[^"+xl+vc+Tl+Pn+vu+Me+"]",Al="\\ud83c[\\udffb-\\udfff]",da="[^"+xl+"]",md="(?:\\ud83c[\\udde6-\\uddff]){2}",A="[\\ud800-\\udbff][\\udc00-\\udfff]",F="["+Me+"]",j="\\u200d",re="(?:"+Sp+"|"+At+")",Fe="(?:"+F+"|"+At+")",Ue="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",vn="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",dr="(?:"+ua+"|"+Al+")?",yr="["+rr+"]?",Mx=yr+dr+"(?:"+j+"(?:"+[da,md,A].join("|")+")"+yr+dr+")*",_d="(?:"+[Ua,md,A].join("|")+")"+Mx,mi="(?:"+[da+ua+"?",ua,md,A,Ih].join("|")+")",xp=RegExp("['\u2019]","g"),d_=RegExp(ua,"g"),Ph=RegExp(Al+"(?="+Al+")|"+mi+Mx,"g"),b0=RegExp([F+"?"+Sp+"+"+Ue+"(?="+[Cu,F,"$"].join("|")+")",Fe+"+"+vn+"(?="+[Cu,F+re,"$"].join("|")+")",F+"?"+re+"+"+Ue,F+"+"+vn,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Tl,_d].join("|"),"g"),xx=RegExp("["+j+xl+Gi+rr+"]"),Dl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Tx=-1,Ne={};Ne[uo]=Ne[za]=Ne[Ni]=Ne[us]=Ne[ho]=Ne[gc]=Ne[Sl]=Ne[fu]=Ne[pu]=!0,Ne[cs]=Ne[aa]=Ne[El]=Ne[ci]=Ne[Va]=Ne[pt]=Ne[ki]=Ne[la]=Ne[Fi]=Ne[$r]=Ne[ir]=Ne[Gr]=Ne[Nr]=Ne[ii]=Ne[di]=!1;var Si={};Si[cs]=Si[aa]=Si[El]=Si[Va]=Si[ci]=Si[pt]=Si[uo]=Si[za]=Si[Ni]=Si[us]=Si[ho]=Si[Fi]=Si[$r]=Si[ir]=Si[Gr]=Si[Nr]=Si[ii]=Si[pc]=Si[gc]=Si[Sl]=Si[fu]=Si[pu]=!0,Si[ki]=Si[la]=Si[di]=!1;var Pe={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ax=parseFloat,S0=parseInt,oe="object"==typeof global&&global&&global.Object===Object&&global,ds="object"==typeof self&&self&&self.Object===Object&&self,Kn=oe||ds||Function("return this")(),Ol=We&&!We.nodeType&&We,ha=Ol&>&&!gt.nodeType&>,po=ha&&ha.exports===Ol,h_=po&&oe.process,Wi=function(){try{return ha&&ha.require&&ha.require("util").types||h_&&h_.binding&&h_.binding("util")}catch(fe){}}(),it=Wi&&Wi.isArrayBuffer,bn=Wi&&Wi.isDate,Oi=Wi&&Wi.isMap,js=Wi&&Wi.isRegExp,bc=Wi&&Wi.isSet,Tr=Wi&&Wi.isTypedArray;function Ar(q,fe,se){switch(se.length){case 0:return q.call(fe);case 1:return q.call(fe,se[0]);case 2:return q.call(fe,se[0],se[1]);case 3:return q.call(fe,se[0],se[1],se[2])}return q.apply(fe,se)}function hr(q,fe,se,lt){for(var Rt=-1,Wn=null==q?0:q.length;++Rt-1}function kh(q,fe,se){for(var lt=-1,Rt=null==q?0:q.length;++lt-1;);return se}function Px(q,fe){for(var se=q.length;se--&&Ha(fe,q[se],0)>-1;);return se}function r2(q,fe){for(var se=q.length,lt=0;se--;)q[se]===fe&&++lt;return lt}var s2=Fo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),o2=Fo({"&":"&","<":"<",">":">",'"':""","'":"'"});function a2(q){return"\\"+Pe[q]}function Lh(q){return xx.test(q)}function x0(q){var fe=-1,se=Array(q.size);return q.forEach(function(lt,Rt){se[++fe]=[Rt,lt]}),se}function Rx(q,fe){return function(se){return q(fe(se))}}function Eu(q,fe){for(var se=-1,lt=q.length,Rt=0,Wn=[];++se",""":'"',"'":"'"}),Vh=function q(fe){var u,se=(fe=null==fe?Kn:Vh.defaults(Kn.Object(),fe,Vh.pick(Kn,Rh))).Array,lt=fe.Date,Rt=fe.Error,Wn=fe.Function,vr=fe.Math,fi=fe.Object,v_=fe.RegExp,b_=fe.String,ga=fe.TypeError,Ii=se.prototype,Su=fi.prototype,Ap=fe["__core-js_shared__"],qi=Wn.prototype.toString,pi=Su.hasOwnProperty,f2=0,zh=(u=/[^.]+$/.exec(Ap&&Ap.keys&&Ap.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"",Ts=Su.toString,Nx=qi.call(fi),C_=Kn._,Ed=v_("^"+qi.call(pi).replace(B,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fs=po?fe.Buffer:L,Pl=fe.Symbol,Sd=fe.Uint8Array,D0=fs?fs.allocUnsafe:L,ma=Rx(fi.getPrototypeOf,fi),w_=fi.create,Dp=Su.propertyIsEnumerable,Yt=Ii.splice,Lx=Pl?Pl.isConcatSpreadable:L,jh=Pl?Pl.iterator:L,Mu=Pl?Pl.toStringTag:L,Op=function(){try{var u=Pc(fi,"defineProperty");return u({},"",{}),u}catch(h){}}(),O0=fe.clearTimeout!==Kn.clearTimeout&&fe.clearTimeout,Bx=lt&<.now!==Kn.Date.now&<.now,Vx=fe.setTimeout!==Kn.setTimeout&&fe.setTimeout,Oe=vr.ceil,Dn=vr.floor,en=fi.getOwnPropertySymbols,Dr=fs?fs.isBuffer:L,E_=fe.isFinite,Uh=Ii.join,Ga=Rx(fi.keys,fi),pr=vr.max,Lr=vr.min,p2=lt.now,zx=fe.parseInt,Hh=vr.random,Ip=Ii.reverse,Yr=Pc(fe,"DataView"),Us=Pc(fe,"Map"),Pp=Pc(fe,"Promise"),_a=Pc(fe,"Set"),mo=Pc(fe,"WeakMap"),$h=Pc(fi,"create"),Gh=mo&&new mo,Md={},jx=Lu(Yr),S_=Lu(Us),M_=Lu(Pp),I0=Lu(_a),x_=Lu(mo),Rp=Pl?Pl.prototype:L,xd=Rp?Rp.valueOf:L,Wh=Rp?Rp.toString:L;function O(u){if(Ki(u)&&!Bt(u)&&!(u instanceof Cn)){if(u instanceof _o)return u;if(pi.call(u,"__wrapped__"))return Ud(u)}return new _o(u)}var xu=function(){function u(){}return function(h){if(!Xi(h))return{};if(w_)return w_(h);u.prototype=h;var m=new u;return u.prototype=L,m}}();function qh(){}function _o(u,h){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!h,this.__index__=0,this.__values__=L}function Cn(u){this.__wrapped__=u,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jt,this.__views__=[]}function Hs(u){var h=-1,m=null==u?0:u.length;for(this.clear();++h=h?u:h)),u}function ps(u,h,m,b,M,P){var z,H=1&h,X=2&h,be=4&h;if(m&&(z=M?m(u,b,M,P):m(u)),z!==L)return z;if(!Xi(u))return u;var Ce=Bt(u);if(Ce){if(z=function(u){var h=u.length,m=new u.constructor(h);return h&&"string"==typeof u[0]&&pi.call(u,"index")&&(m.index=u.index,m.input=u.input),m}(u),!H)return Ds(u,z)}else{var Re=ms(u),et=Re==la||Re==La;if(nl(u))return Wp(u,H);if(Re==ir||Re==cs||et&&!M){if(z=X||et?{}:rC(u),!H)return X?function(u,h){return Ca(u,tC(u),h)}(u,function(u,h){return u&&Ca(h,Is(h),u)}(z,u)):function(u,h){return Ca(u,Y_(u),h)}(u,Zx(z,u))}else{if(!Si[Re])return M?u:{};z=function(u,h,m){var b=u.constructor;switch(h){case El:return Ru(u);case ci:case pt:return new b(+u);case Va:return function(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.byteLength)}(u,m);case uo:case za:case Ni:case us:case ho:case gc:case Sl:case fu:case pu:return H_(u,m);case Fi:return new b;case $r:case ii:return new b(u);case Gr:return function(u){var h=new u.constructor(u.source,ln.exec(u));return h.lastIndex=u.lastIndex,h}(u);case Nr:return new b;case pc:return function(u){return xd?fi(xd.call(u)):{}}(u)}}(u,Re,H)}}P||(P=new va);var St=P.get(u);if(St)return St;P.set(u,z),gT(u)?u.forEach(function(Xt){z.add(ps(Xt,h,m,Xt,u,P))}):dT(u)&&u.forEach(function(Xt,Sn){z.set(Sn,ps(Xt,h,m,Sn,u,P))});var En=Ce?L:(be?X?W_:Bl:X?Is:es)(u);return hs(En||u,function(Xt,Sn){En&&(Xt=u[Sn=Xt]),qa(z,Sn,ps(Xt,h,m,Sn,u,P))}),z}function Vp(u,h,m){var b=m.length;if(null==u)return!b;for(u=fi(u);b--;){var M=m[b],z=u[M];if(z===L&&!(M in u)||!(0,h[M])(z))return!1}return!0}function Kh(u,h,m){if("function"!=typeof u)throw new ga(ft);return rf(function(){u.apply(L,m)},h)}function Sc(u,h,m,b){var M=-1,P=Il,z=!0,H=u.length,X=[],be=h.length;if(!H)return X;m&&(h=hi(h,Lo(m))),b?(P=kh,z=!1):h.length>=200&&(P=Nh,z=!1,h=new ya(h));e:for(;++M-1},Rl.prototype.set=function(u,h){var m=this.__data__,b=Ad(m,u);return b<0?(++this.size,m.push([u,h])):m[b][1]=h,this},Wa.prototype.clear=function(){this.size=0,this.__data__={hash:new Hs,map:new(Us||Rl),string:new Hs}},Wa.prototype.delete=function(u){var h=gs(this,u).delete(u);return this.size-=h?1:0,h},Wa.prototype.get=function(u){return gs(this,u).get(u)},Wa.prototype.has=function(u){return gs(this,u).has(u)},Wa.prototype.set=function(u,h){var m=gs(this,u),b=m.size;return m.set(u,h),this.size+=m.size==b?0:1,this},ya.prototype.add=ya.prototype.push=function(u){return this.__data__.set(u,Tt),this},ya.prototype.has=function(u){return this.__data__.has(u)},va.prototype.clear=function(){this.__data__=new Rl,this.size=0},va.prototype.delete=function(u){var h=this.__data__,m=h.delete(u);return this.size=h.size,m},va.prototype.get=function(u){return this.__data__.get(u)},va.prototype.has=function(u){return this.__data__.has(u)},va.prototype.set=function(u,h){var m=this.__data__;if(m instanceof Rl){var b=m.__data__;if(!Us||b.length<199)return b.push([u,h]),this.size=++m.size,this;m=this.__data__=new Wa(b)}return m.set(u,h),this.size=m.size,this};var Mc=Za(Xa),k_=Za(zp,!0);function L0(u,h){var m=!0;return Mc(u,function(b,M,P){return m=!!h(b,M,P)}),m}function Zh(u,h,m){for(var b=-1,M=u.length;++b0&&m(H)?h>1?Xr(H,h-1,m,b,M):fr(M,H):b||(M[M.length]=H)}return M}var Dd=W0(),Od=W0(!0);function Xa(u,h){return u&&Dd(u,h,es)}function zp(u,h){return u&&Od(u,h,es)}function Qh(u,h){return fa(h,function(m){return Wo(u[m])})}function Bo(u,h){for(var m=0,b=(h=Dc(h,u)).length;null!=u&&mh}function Id(u,h){return null!=u&&pi.call(u,h)}function Pd(u,h){return null!=u&&h in fi(u)}function Au(u,h,m){for(var b=m?kh:Il,M=u[0].length,P=u.length,z=P,H=se(P),X=1/0,be=[];z--;){var Ce=u[z];z&&h&&(Ce=hi(Ce,Lo(h))),X=Lr(Ce.length,X),H[z]=!m&&(h||M>=120&&Ce.length>=120)?new ya(z&&Ce):L}Ce=u[0];var Re=-1,et=H[0];e:for(;++Re=H?X:X*("desc"==m[b]?-1:1)}return u.index-h.index}(P,z,m)});se--;)q[se]=q[se].value;return q}(n1(u,function(P,z,H){return{criteria:hi(h,function(be){return be(P)}),index:++b,value:P}}))}function U0(u,h,m){for(var b=-1,M=h.length,P={};++b-1;)H!==u&&Yt.call(H,X,1),Yt.call(u,X,1);return u}function ef(u,h){for(var m=u?h.length:0,b=m-1;m--;){var M=h[m];if(m==b||M!==P){var P=M;bo(M)?Yt.call(u,M,1):Ou(u,M)}}return u}function kl(u,h){return u+Dn(Hh()*(h-u+1))}function Up(u,h){var m="";if(!u||h<1||h>Gn)return m;do{h%2&&(m+=u),(h=Dn(h/2))&&(u+=u)}while(h);return m}function wn(u,h){return ng(y1(u,h,Ps),u+"")}function r1(u){return O_(Zd(u))}function E2(u,h){var m=Zd(u);return jd(m,Tu(h,0,m.length))}function Hp(u,h,m,b){if(!Xi(u))return u;for(var M=-1,P=(h=Dc(h,u)).length,z=P-1,H=u;null!=H&&++MM?0:M+h),(m=m>M?M:m)<0&&(m+=M),M=h>m?0:m-h>>>0,h>>>=0;for(var P=se(M);++b>>1,z=u[P];null!==z&&!qo(z)&&(m?z<=h:z=200){var be=h?null:G_(u);if(be)return m_(be);z=!1,M=Nh,X=new ya}else X=h?[]:H;e:for(;++b=b?u:Qr(u,h,m)}var a1=O0||function(u){return Kn.clearTimeout(u)};function Wp(u,h){if(h)return u.slice();var m=u.length,b=D0?D0(m):new u.constructor(m);return u.copy(b),b}function Ru(u){var h=new u.constructor(u.byteLength);return new Sd(h).set(new Sd(u)),h}function H_(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.length)}function Oc(u,h){if(u!==h){var m=u!==L,b=null===u,M=u==u,P=qo(u),z=h!==L,H=null===h,X=h==h,be=qo(h);if(!H&&!be&&!P&&u>h||P&&z&&X&&!H&&!be||b&&z&&X||!m&&X||!M)return 1;if(!b&&!P&&!be&&u1?m[M-1]:L,z=M>2?m[2]:L;for(P=u.length>3&&"function"==typeof P?(M--,P):L,z&&_s(m[0],m[1],z)&&(P=M<3?L:P,M=1),h=fi(h);++b-1?M[P?h[z]:z]:L}}function Fu(u){return Qa(function(h){var m=h.length,b=m,M=_o.prototype.thru;for(u&&h.reverse();b--;){var P=h[b];if("function"!=typeof P)throw new ga(ft);if(M&&!z&&"wrapper"==Jp(P))var z=new _o([],!0)}for(b=z?b:m;++b1&&Bn.reverse(),Ce&&XH))return!1;var be=P.get(u),Ce=P.get(h);if(be&&Ce)return be==h&&Ce==u;var Re=-1,et=!0,St=2&m?new ya:L;for(P.set(u,h),P.set(h,u);++Re-1&&u%1==0&&u1?"& ":"")+h[b],h=h.join(m>2?", ":" "),u.replace(he,"{\n/* [wrapped with "+h+"] */\n")}(b,function(u,h){return hs(Dh,function(m){var b="_."+m[0];h&m[1]&&!Il(u,b)&&u.push(b)}),u.sort()}(function(u){var h=u.match(pe);return h?h[1].split(Ge):[]}(b),m)))}function ey(u){var h=0,m=0;return function(){var b=p2(),M=16-(b-m);if(m=b,M>0){if(++h>=800)return arguments[0]}else h=0;return u.apply(L,arguments)}}function jd(u,h){var m=-1,b=u.length,M=b-1;for(h=h===L?b:h;++m1?u[h-1]:L;return m="function"==typeof m?(u.pop(),m):L,j1(u,m)});function dy(u){var h=O(u);return h.__chain__=!0,h}function $d(u,h){return h(u)}var hy=Qa(function(u){var h=u.length,m=h?u[0]:0,b=this.__wrapped__,M=function(P){return P_(P,u)};return!(h>1||this.__actions__.length)&&b instanceof Cn&&bo(m)?((b=b.slice(m,+m+(h?1:0))).__actions__.push({func:$d,args:[M],thisArg:L}),new _o(b,this.__chain__).thru(function(P){return h&&!P.length&&P.push(L),P})):this.thru(M)}),$1=br(function(u,h,m){pi.call(u,m)?++u[m]:Ya(u,m,1)}),q1=Y0(ny),Y1=Y0(iy);function my(u,h){return(Bt(u)?hs:Mc)(u,Ut(h,3))}function og(u,h){return(Bt(u)?yd:k_)(u,Ut(h,3))}var K1=br(function(u,h,m){pi.call(u,m)?u[m].push(h):Ya(u,m,[h])}),xC=wn(function(u,h,m){var b=-1,M="function"==typeof h,P=$s(u)?se(u.length):[];return Mc(u,function(z){P[++b]=M?Ar(h,z,m):ba(z,h,m)}),P}),TC=br(function(u,h,m){Ya(u,m,h)});function el(u,h){return(Bt(u)?hi:n1)(u,Ut(h,3))}var DC=br(function(u,h,m){u[m?0:1].push(h)},function(){return[[],[]]}),lg=wn(function(u,h){if(null==u)return[];var m=h.length;return m>1&&_s(u,h[0],h[1])?h=[]:m>2&&_s(h[0],h[1],h[2])&&(h=[h[0]]),Jh(u,Xr(h,1),[])}),Bu=Bx||function(){return Kn.Date.now()};function cg(u,h,m){return h=m?L:h,Ll(u,128,L,L,L,L,h=u&&null==h?u.length:h)}function yy(u,h){var m;if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){return--u>0&&(m=h.apply(this,arguments)),u<=1&&(h=L),m}}var cf=wn(function(u,h,m){var b=1;if(m.length){var M=Eu(m,zd(cf));b|=32}return Ll(u,b,h,m,M)}),Wd=wn(function(u,h,m){var b=3;if(m.length){var M=Eu(m,zd(Wd));b|=32}return Ll(h,b,u,m,M)});function NC(u,h,m){var b,M,P,z,H,X,be=0,Ce=!1,Re=!1,et=!0;if("function"!=typeof u)throw new ga(ft);function St(Qn){var sl=b,Lc=M;return b=M=L,be=Qn,z=u.apply(Lc,sl)}function Wt(Qn){return be=Qn,H=rf(Sn,h),Ce?St(Qn):z}function Xt(Qn){var sl=Qn-X;return X===L||sl>=h||sl<0||Re&&Qn-be>=P}function Sn(){var Qn=Bu();if(Xt(Qn))return Bn(Qn);H=rf(Sn,function(Qn){var sA=h-(Qn-X);return Re?Lr(sA,P-(Qn-be)):sA}(Qn))}function Bn(Qn){return H=L,et&&b?St(Qn):(b=M=L,z)}function Yo(){var Qn=Bu(),sl=Xt(Qn);if(b=arguments,M=this,X=Qn,sl){if(H===L)return Wt(X);if(Re)return a1(H),H=rf(Sn,h),St(X)}return H===L&&(H=rf(Sn,h)),z}return h=Gs(h)||0,Xi(m)&&(Ce=!!m.leading,P=(Re="maxWait"in m)?pr(Gs(m.maxWait)||0,h):P,et="trailing"in m?!!m.trailing:et),Yo.cancel=function(){H!==L&&a1(H),be=0,b=X=M=H=L},Yo.flush=function(){return H===L?z:Bn(Bu())},Yo}var eT=wn(function(u,h){return Kh(u,1,h)}),LC=wn(function(u,h,m){return Kh(u,Gs(h)||0,m)});function uf(u,h){if("function"!=typeof u||null!=h&&"function"!=typeof h)throw new ga(ft);var m=function(){var b=arguments,M=h?h.apply(this,b):b[0],P=m.cache;if(P.has(M))return P.get(M);var z=u.apply(this,b);return m.cache=P.set(M,z)||P,z};return m.cache=new(uf.Cache||Wa),m}function Cy(u){if("function"!=typeof u)throw new ga(ft);return function(){var h=arguments;switch(h.length){case 0:return!u.call(this);case 1:return!u.call(this,h[0]);case 2:return!u.call(this,h[0],h[1]);case 3:return!u.call(this,h[0],h[1],h[2])}return!u.apply(this,h)}}uf.Cache=Wa;var tT=o1(function(u,h){var m=(h=1==h.length&&Bt(h[0])?hi(h[0],Lo(Ut())):hi(Xr(h,1),Lo(Ut()))).length;return wn(function(b){for(var M=-1,P=Lr(b.length,m);++M=h}),tl=Qx(function(){return arguments}())?Qx:function(u){return Ki(u)&&pi.call(u,"callee")&&!Dp.call(u,"callee")},Bt=se.isArray,HC=it?Lo(it):function(u){return Ki(u)&&Kr(u)==El};function $s(u){return null!=u&&Ey(u.length)&&!Wo(u)}function Yi(u){return Ki(u)&&$s(u)}var nl=Dr||Wy,$C=bn?Lo(bn):function(u){return Ki(u)&&Kr(u)==pt};function Ea(u){if(!Ki(u))return!1;var h=Kr(u);return h==ki||"[object DOMException]"==h||"string"==typeof u.message&&"string"==typeof u.name&&!fg(u)}function Wo(u){if(!Xi(u))return!1;var h=Kr(u);return h==la||h==La||"[object AsyncFunction]"==h||"[object Proxy]"==h}function hg(u){return"number"==typeof u&&u==hn(u)}function Ey(u){return"number"==typeof u&&u>-1&&u%1==0&&u<=Gn}function Xi(u){var h=typeof u;return null!=u&&("object"==h||"function"==h)}function Ki(u){return null!=u&&"object"==typeof u}var dT=Oi?Lo(Oi):function(u){return Ki(u)&&ms(u)==Fi};function pT(u){return"number"==typeof u||Ki(u)&&Kr(u)==$r}function fg(u){if(!Ki(u)||Kr(u)!=ir)return!1;var h=ma(u);if(null===h)return!0;var m=pi.call(h,"constructor")&&h.constructor;return"function"==typeof m&&m instanceof m&&qi.call(m)==Nx}var YC=js?Lo(js):function(u){return Ki(u)&&Kr(u)==Gr},gT=bc?Lo(bc):function(u){return Ki(u)&&ms(u)==Nr};function My(u){return"string"==typeof u||!Bt(u)&&Ki(u)&&Kr(u)==ii}function qo(u){return"symbol"==typeof u||Ki(u)&&Kr(u)==pc}var df=Tr?Lo(Tr):function(u){return Ki(u)&&Ey(u.length)&&!!Ne[Kr(u)]},Rc=Kp(j0),xy=Kp(function(u,h){return u<=h});function XC(u){if(!u)return[];if($s(u))return My(u)?$a(u):Ds(u);if(jh&&u[jh])return function(q){for(var fe,se=[];!(fe=q.next()).done;)se.push(fe.value);return se}(u[jh]());var h=ms(u);return(h==Fi?x0:h==Nr?m_:Zd)(u)}function il(u){return u?(u=Gs(u))===pn||u===-pn?17976931348623157e292*(u<0?-1:1):u==u?u:0:0===u?u:0}function hn(u){var h=il(u),m=h%1;return h==h?m?h-m:h:0}function Ty(u){return u?Tu(hn(u),0,jt):0}function Gs(u){if("number"==typeof u)return u;if(qo(u))return NaN;if(Xi(u)){var h="function"==typeof u.valueOf?u.valueOf():u;u=Xi(h)?h+"":h}if("string"!=typeof u)return 0===u?u:+u;u=M0(u);var m=Hi.test(u);return m||_n.test(u)?S0(u.slice(2),m?2:8):ri.test(u)?NaN:+u}function KC(u){return Ca(u,Is(u))}function Zn(u){return null==u?"":vo(u)}var mT=Fl(function(u,h){if(tg(h)||$s(h))Ca(h,es(h),u);else for(var m in h)pi.call(h,m)&&qa(u,m,h[m])}),_T=Fl(function(u,h){Ca(h,Is(h),u)}),qd=Fl(function(u,h,m,b){Ca(h,Is(h),u,b)}),yT=Fl(function(u,h,m,b){Ca(h,es(h),u,b)}),ZC=Qa(P_),bT=wn(function(u,h){u=fi(u);var m=-1,b=h.length,M=b>2?h[2]:L;for(M&&_s(h[0],h[1],M)&&(b=1);++m1),P}),Ca(u,W_(u),m),b&&(m=ps(m,7,Zp));for(var M=h.length;M--;)Ou(m,h[M]);return m}),MT=Qa(function(u,h){return null==u?{}:function(u,h){return U0(u,h,function(m,b){return pg(u,b)})}(u,h)});function rw(u,h){if(null==u)return{};var m=hi(W_(u),function(b){return[b]});return h=Ut(h),U0(u,m,function(b,M){return h(b,M[0])})}var xT=Nu(es),ow=Nu(Is);function Zd(u){return null==u?[]:g_(u,es(u))}var IT=Nl(function(u,h,m){return h=h.toLowerCase(),u+(m?Iy(h):h)});function Iy(u){return _g(Zn(u).toLowerCase())}function Py(u){return(u=Zn(u))&&u.replace(_c,s2).replace(d_,"")}var RT=Nl(function(u,h,m){return u+(m?"-":"")+h.toLowerCase()}),kT=Nl(function(u,h,m){return u+(m?" ":"")+h.toLowerCase()}),$2=qp("toLowerCase"),VT=Nl(function(u,h,m){return u+(m?"_":"")+h.toLowerCase()}),Fy=Nl(function(u,h,m){return u+(m?" ":"")+_g(h)}),hw=Nl(function(u,h,m){return u+(m?" ":"")+h.toUpperCase()}),_g=qp("toUpperCase");function Vy(u,h,m){return u=Zn(u),(h=m?L:h)===L?function(q){return Dl.test(q)}(u)?function(q){return q.match(b0)||[]}(u):function(q){return q.match(an)||[]}(u):u.match(h)||[]}var zy=wn(function(u,h){try{return Ar(u,L,h)}catch(m){return Ea(m)?m:new Rt(m)}}),fw=Qa(function(u,h){return hs(h,function(m){m=mn(m),Ya(u,m,cf(u[m],u))}),u});function jy(u){return function(){return u}}var W2=Fu(),Fc=Fu(!0);function Ps(u){return u}function Vu(u){return t1("function"==typeof u?u:ps(u,1))}var Uy=wn(function(u,h){return function(m){return ba(m,u,h)}}),pw=wn(function(u,h){return function(m){return ba(u,m,h)}});function Hy(u,h,m){var b=es(h),M=Qh(h,b);null==m&&(!Xi(h)||!M.length&&b.length)&&(m=h,h=u,u=this,M=Qh(h,es(h)));var P=!(Xi(m)&&"chain"in m&&!m.chain),z=Wo(u);return hs(M,function(H){var X=h[H];u[H]=X,z&&(u.prototype[H]=function(){var be=this.__chain__;if(P||be){var Ce=u(this.__wrapped__),Re=Ce.__actions__=Ds(this.__actions__);return Re.push({func:X,args:arguments,thisArg:u}),Ce.__chain__=be,Ce}return X.apply(u,fr([this.value()],arguments))})}),u}function $y(){}var WT=Yp(hi),qT=Yp(gn),mw=Yp(go);function zu(u){return Uo(u)?f_(mn(u)):function(u){return function(h){return Bo(h,u)}}(u)}var XT=K0(),KT=K0(!0);function Nc(){return[]}function Wy(){return!1}var Nt=$_(function(u,h){return u+h},0),qy=Vd("ceil"),Y2=$_(function(u,h){return u/h},1),jl=Vd("floor"),bw=$_(function(u,h){return u*h},1),Cw=Vd("round"),ww=$_(function(u,h){return u-h},0);return O.after=function(u,h){if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){if(--u<1)return h.apply(this,arguments)}},O.ary=cg,O.assign=mT,O.assignIn=_T,O.assignInWith=qd,O.assignWith=yT,O.at=ZC,O.before=yy,O.bind=cf,O.bindAll=fw,O.bindKey=Wd,O.castArray=function(){if(!arguments.length)return[];var u=arguments[0];return Bt(u)?u:[u]},O.chain=dy,O.chunk=function(u,h,m){h=(m?_s(u,h,m):h===L)?1:pr(hn(h),0);var b=null==u?0:u.length;if(!b||h<1)return[];for(var M=0,P=0,z=se(Oe(b/h));MM?0:M+m),(b=b===L||b>M?M:hn(b))<0&&(b+=M),b=m>b?0:Ty(b);m>>0)?(u=Zn(u))&&("string"==typeof h||null!=h&&!YC(h))&&!(h=vo(h))&&Lh(u)?Ka($a(u),0,m):u.split(h,m):[]},O.spread=function(u,h){if("function"!=typeof u)throw new ga(ft);return h=null==h?0:pr(hn(h),0),wn(function(m){var b=m[h],M=Ka(m,0,h);return b&&fr(M,b),Ar(u,this,M)})},O.tail=function(u){var h=null==u?0:u.length;return h?Qr(u,1,h):[]},O.take=function(u,h,m){return u&&u.length?Qr(u,0,(h=m||h===L?1:hn(h))<0?0:h):[]},O.takeRight=function(u,h,m){var b=null==u?0:u.length;return b?Qr(u,(h=b-(h=m||h===L?1:hn(h)))<0?0:h,b):[]},O.takeRightWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3),!1,!0):[]},O.takeWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3)):[]},O.tap=function(u,h){return h(u),u},O.throttle=function(u,h,m){var b=!0,M=!0;if("function"!=typeof u)throw new ga(ft);return Xi(m)&&(b="leading"in m?!!m.leading:b,M="trailing"in m?!!m.trailing:M),NC(u,h,{leading:b,maxWait:h,trailing:M})},O.thru=$d,O.toArray=XC,O.toPairs=xT,O.toPairsIn=ow,O.toPath=function(u){return Bt(u)?hi(u,mn):qo(u)?[u]:Ds(lC(Zn(u)))},O.toPlainObject=KC,O.transform=function(u,h,m){var b=Bt(u),M=b||nl(u)||df(u);if(h=Ut(h,4),null==m){var P=u&&u.constructor;m=M?b?new P:[]:Xi(u)&&Wo(P)?xu(ma(u)):{}}return(M?hs:Xa)(u,function(z,H,X){return h(m,z,H,X)}),m},O.unary=function(u){return cg(u,1)},O.union=yC,O.unionBy=ly,O.unionWith=sg,O.uniq=function(u){return u&&u.length?Tc(u):[]},O.uniqBy=function(u,h){return u&&u.length?Tc(u,Ut(h,2)):[]},O.uniqWith=function(u,h){return h="function"==typeof h?h:L,u&&u.length?Tc(u,L,h):[]},O.unset=function(u,h){return null==u||Ou(u,h)},O.unzip=vC,O.unzipWith=j1,O.update=function(u,h,m){return null==u?u:$p(u,h,U_(m))},O.updateWith=function(u,h,m,b){return b="function"==typeof b?b:L,null==u?u:$p(u,h,U_(m),b)},O.values=Zd,O.valuesIn=function(u){return null==u?[]:g_(u,Is(u))},O.without=bC,O.words=Vy,O.wrap=function(u,h){return ug(U_(h),u)},O.xor=R2,O.xorBy=Co,O.xorWith=cy,O.zip=uy,O.zipObject=function(u,h){return Gp(u||[],h||[],qa)},O.zipObjectDeep=function(u,h){return Gp(u||[],h||[],Hp)},O.zipWith=lf,O.entries=xT,O.entriesIn=ow,O.extend=_T,O.extendWith=qd,Hy(O,O),O.add=Nt,O.attempt=zy,O.camelCase=IT,O.capitalize=Iy,O.ceil=qy,O.clamp=function(u,h,m){return m===L&&(m=h,h=L),m!==L&&(m=(m=Gs(m))==m?m:0),h!==L&&(h=(h=Gs(h))==h?h:0),Tu(Gs(u),h,m)},O.clone=function(u){return ps(u,4)},O.cloneDeep=function(u){return ps(u,5)},O.cloneDeepWith=function(u,h){return ps(u,5,h="function"==typeof h?h:L)},O.cloneWith=function(u,h){return ps(u,4,h="function"==typeof h?h:L)},O.conformsTo=function(u,h){return null==h||Vp(u,h,es(h))},O.deburr=Py,O.defaultTo=function(u,h){return null==u||u!=u?h:u},O.divide=Y2,O.endsWith=function(u,h,m){u=Zn(u),h=vo(h);var b=u.length,M=m=m===L?b:Tu(hn(m),0,b);return(m-=h.length)>=0&&u.slice(m,M)==h},O.eq=kt,O.escape=function(u){return(u=Zn(u))&&Je.test(u)?u.replace(mu,o2):u},O.escapeRegExp=function(u){return(u=Zn(u))&&Z.test(u)?u.replace(B,"\\$&"):u},O.every=function(u,h,m){var b=Bt(u)?gn:L0;return m&&_s(u,h,m)&&(h=L),b(u,Ut(h,3))},O.find=q1,O.findIndex=ny,O.findKey=function(u,h){return Fh(u,Ut(h,3),Xa)},O.findLast=Y1,O.findLastIndex=iy,O.findLastKey=function(u,h){return Fh(u,Ut(h,3),zp)},O.floor=jl,O.forEach=my,O.forEachRight=og,O.forIn=function(u,h){return null==u?u:Dd(u,Ut(h,3),Is)},O.forInRight=function(u,h){return null==u?u:Od(u,Ut(h,3),Is)},O.forOwn=function(u,h){return u&&Xa(u,Ut(h,3))},O.forOwnRight=function(u,h){return u&&zp(u,Ut(h,3))},O.get=pf,O.gt=G,O.gte=UC,O.has=function(u,h){return null!=u&&iC(u,h,Id)},O.hasIn=pg,O.head=uC,O.identity=Ps,O.includes=function(u,h,m,b){u=$s(u)?u:Zd(u),m=m&&!b?hn(m):0;var M=u.length;return m<0&&(m=pr(M+m,0)),My(u)?m<=M&&u.indexOf(h,m)>-1:!!M&&Ha(u,h,m)>-1},O.indexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=null==m?0:hn(m);return M<0&&(M=pr(b+M,0)),Ha(u,h,M)},O.inRange=function(u,h,m){return h=il(h),m===L?(m=h,h=0):m=il(m),function(u,h,m){return u>=Lr(h,m)&&u=-Gn&&u<=Gn},O.isSet=gT,O.isString=My,O.isSymbol=qo,O.isTypedArray=df,O.isUndefined=function(u){return u===L},O.isWeakMap=function(u){return Ki(u)&&ms(u)==di},O.isWeakSet=function(u){return Ki(u)&&"[object WeakSet]"==Kr(u)},O.join=function(u,h){return null==u?"":Uh.call(u,h)},O.kebabCase=RT,O.last=Ho,O.lastIndexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=b;return m!==L&&(M=(M=hn(m))<0?pr(b+M,0):Lr(M,b-1)),h==h?function(q,fe,se){for(var lt=se+1;lt--;)if(q[lt]===fe)return lt;return lt}(u,h,M):bd(u,Cc,M,!0)},O.lowerCase=kT,O.lowerFirst=$2,O.lt=Rc,O.lte=xy,O.max=function(u){return u&&u.length?Zh(u,Ps,Zr):L},O.maxBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),Zr):L},O.mean=function(u){return qr(u,Ps)},O.meanBy=function(u,h){return qr(u,Ut(h,2))},O.min=function(u){return u&&u.length?Zh(u,Ps,j0):L},O.minBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),j0):L},O.stubArray=Nc,O.stubFalse=Wy,O.stubObject=function(){return{}},O.stubString=function(){return""},O.stubTrue=function(){return!0},O.multiply=bw,O.nth=function(u,h){return u&&u.length?Du(u,hn(h)):L},O.noConflict=function(){return Kn._===this&&(Kn._=C_),this},O.noop=$y,O.now=Bu,O.pad=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;if(!h||b>=h)return u;var M=(h-b)/2;return Xp(Dn(M),m)+u+Xp(Oe(M),m)},O.padEnd=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;return h&&bh){var b=u;u=h,h=b}if(m||u%1||h%1){var M=Hh();return Lr(u+M*(h-u+Ax("1e-"+((M+"").length-1))),h)}return kl(u,h)},O.reduce=function(u,h,m){var b=Bt(u)?wu:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,Mc)},O.reduceRight=function(u,h,m){var b=Bt(u)?vd:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,k_)},O.repeat=function(u,h,m){return h=(m?_s(u,h,m):h===L)?1:hn(h),Up(Zn(u),h)},O.replace=function(){var u=arguments,h=Zn(u[0]);return u.length<3?h:h.replace(u[1],u[2])},O.result=function(u,h,m){var b=-1,M=(h=Dc(h,u)).length;for(M||(M=1,u=L);++bGn)return[];var m=jt,b=Lr(u,jt);h=Ut(h),u-=jt;for(var M=wd(b,h);++m=P)return u;var H=m-Bh(b);if(H<1)return b;var X=z?Ka(z,0,H).join(""):u.slice(0,H);if(M===L)return X+b;if(z&&(H+=X.length-H),YC(M)){if(u.slice(H).search(M)){var be,Ce=X;for(M.global||(M=v_(M.source,Zn(ln.exec(M))+"g")),M.lastIndex=0;be=M.exec(Ce);)var Re=be.index;X=X.slice(0,Re===L?H:Re)}}else if(u.indexOf(vo(M),H)!=H){var et=X.lastIndexOf(M);et>-1&&(X=X.slice(0,et))}return X+b},O.unescape=function(u){return(u=Zn(u))&&Vs.test(u)?u.replace(pd,y_):u},O.uniqueId=function(u){var h=++f2;return Zn(u)+h},O.upperCase=hw,O.upperFirst=_g,O.each=my,O.eachRight=og,O.first=uC,Hy(O,function(){var u={};return Xa(O,function(h,m){pi.call(O.prototype,m)||(u[m]=h)}),u}(),{chain:!1}),O.VERSION="4.17.21",hs(["bind","bindKey","curry","curryRight","partial","partialRight"],function(u){O[u].placeholder=O}),hs(["drop","take"],function(u,h){Cn.prototype[u]=function(m){m=m===L?1:pr(hn(m),0);var b=this.__filtered__&&!h?new Cn(this):this.clone();return b.__filtered__?b.__takeCount__=Lr(m,b.__takeCount__):b.__views__.push({size:Lr(m,jt),type:u+(b.__dir__<0?"Right":"")}),b},Cn.prototype[u+"Right"]=function(m){return this.reverse()[u](m).reverse()}}),hs(["filter","map","takeWhile"],function(u,h){var m=h+1,b=1==m||3==m;Cn.prototype[u]=function(M){var P=this.clone();return P.__iteratees__.push({iteratee:Ut(M,3),type:m}),P.__filtered__=P.__filtered__||b,P}}),hs(["head","last"],function(u,h){var m="take"+(h?"Right":"");Cn.prototype[u]=function(){return this[m](1).value()[0]}}),hs(["initial","tail"],function(u,h){var m="drop"+(h?"":"Right");Cn.prototype[u]=function(){return this.__filtered__?new Cn(this):this[m](1)}}),Cn.prototype.compact=function(){return this.filter(Ps)},Cn.prototype.find=function(u){return this.filter(u).head()},Cn.prototype.findLast=function(u){return this.reverse().find(u)},Cn.prototype.invokeMap=wn(function(u,h){return"function"==typeof u?new Cn(this):this.map(function(m){return ba(m,u,h)})}),Cn.prototype.reject=function(u){return this.filter(Cy(Ut(u)))},Cn.prototype.slice=function(u,h){u=hn(u);var m=this;return m.__filtered__&&(u>0||h<0)?new Cn(m):(u<0?m=m.takeRight(-u):u&&(m=m.drop(u)),h!==L&&(m=(h=hn(h))<0?m.dropRight(-h):m.take(h-u)),m)},Cn.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},Cn.prototype.toArray=function(){return this.take(jt)},Xa(Cn.prototype,function(u,h){var m=/^(?:filter|find|map|reject)|While$/.test(h),b=/^(?:head|last)$/.test(h),M=O[b?"take"+("last"==h?"Right":""):h],P=b||/^find/.test(h);!M||(O.prototype[h]=function(){var z=this.__wrapped__,H=b?[1]:arguments,X=z instanceof Cn,be=H[0],Ce=X||Bt(z),Re=function(Sn){var Bn=M.apply(O,fr([Sn],H));return b&&et?Bn[0]:Bn};Ce&&m&&"function"==typeof be&&1!=be.length&&(X=Ce=!1);var et=this.__chain__,St=!!this.__actions__.length,Wt=P&&!et,En=X&&!St;if(!P&&Ce){z=En?z:new Cn(this);var Xt=u.apply(z,H);return Xt.__actions__.push({func:$d,args:[Re],thisArg:L}),new _o(Xt,et)}return Wt&&En?u.apply(this,H):(Xt=this.thru(Re),Wt?b?Xt.value()[0]:Xt.value():Xt)})}),hs(["pop","push","shift","sort","splice","unshift"],function(u){var h=Ii[u],m=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",b=/^(?:pop|shift)$/.test(u);O.prototype[u]=function(){var M=arguments;if(b&&!this.__chain__){var P=this.value();return h.apply(Bt(P)?P:[],M)}return this[m](function(z){return h.apply(Bt(z)?z:[],M)})}}),Xa(Cn.prototype,function(u,h){var m=O[h];if(m){var b=m.name+"";pi.call(Md,b)||(Md[b]=[]),Md[b].push({name:h,func:m})}}),Md[Ic(L,2).name]=[{name:"wrapper",func:L}],Cn.prototype.clone=function(){var u=new Cn(this.__wrapped__);return u.__actions__=Ds(this.__actions__),u.__dir__=this.__dir__,u.__filtered__=this.__filtered__,u.__iteratees__=Ds(this.__iteratees__),u.__takeCount__=this.__takeCount__,u.__views__=Ds(this.__views__),u},Cn.prototype.reverse=function(){if(this.__filtered__){var u=new Cn(this);u.__dir__=-1,u.__filtered__=!0}else(u=this.clone()).__dir__*=-1;return u},Cn.prototype.value=function(){var u=this.__wrapped__.value(),h=this.__dir__,m=Bt(u),b=h<0,M=m?u.length:0,P=function(u,h,m){for(var b=-1,M=m.length;++b=this.__values__.length;return{done:u,value:u?L:this.__values__[this.__index__++]}},O.prototype.plant=function(u){for(var h,m=this;m instanceof qh;){var b=Ud(m);b.__index__=0,b.__values__=L,h?M.__wrapped__=b:h=b;var M=b;m=m.__wrapped__}return M.__wrapped__=u,h},O.prototype.reverse=function(){var u=this.__wrapped__;if(u instanceof Cn){var h=u;return this.__actions__.length&&(h=new Cn(this)),(h=h.reverse()).__actions__.push({func:$d,args:[ay],thisArg:L}),new _o(h,this.__chain__)}return this.thru(ay)},O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=function(){return s1(this.__wrapped__,this.__actions__)},O.prototype.first=O.prototype.head,jh&&(O.prototype[jh]=function(){return this}),O}();Kn._=Vh,(wt=function(){return Vh}.call(We,ze,We,gt))!==L&&(gt.exports=wt)}.call(this)},478:function(gt){gt.exports=function(){"use strict";function We(W,Y){for(var J=0;JW.length)&&(Y=W.length);for(var J=0,T=new Array(Y);J=W.length?{done:!0}:{done:!1,value:W[T++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Pt={exports:{}};function Ke(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}Pt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Ke,changeDefaults:function(W){Pt.exports.defaults=W}};var Ze=/[&<>"']/,Tt=/[&<>"']/g,Ft=/[<>"']|&(?!#?\w+;)/,we=/[<>"']|&(?!#?\w+;)/g,_e={"&":"&","<":"<",">":">",'"':""","'":"'"},ke=function(Y){return _e[Y]};var Te=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Vt(W){return W.replace(Te,function(Y,J){return"colon"===(J=J.toLowerCase())?":":"#"===J.charAt(0)?"x"===J.charAt(1)?String.fromCharCode(parseInt(J.substring(2),16)):String.fromCharCode(+J.substring(1)):""})}var He=/(^|[^\[])\^/g;var xt=/[^\w:]/g,tn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var Ei={},vi=/^[^:]+:\/*[^/]*$/,bi=/^([^:]+:)[\s\S]*$/,Mr=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ve(W,Y){Ei[" "+W]||(Ei[" "+W]=vi.test(W)?W+"/":Qt(W,"/",!0));var J=-1===(W=Ei[" "+W]).indexOf(":");return"//"===Y.substring(0,2)?J?Y:W.replace(bi,"$1")+Y:"/"===Y.charAt(0)?J?Y:W.replace(Mr,"$1")+Y:W+Y}function Qt(W,Y,J){var T=W.length;if(0===T)return"";for(var D=0;D1;)1&Y&&(J+=W),Y>>=1,W+=W;return J+W},Gn=Pt.exports.defaults,Ae=Qt,Ri=function(W,Y){var T=W.replace(/\|/g,function(B,Z,$){for(var le=!1,he=Z;--he>=0&&"\\"===$[he];)le=!le;return le?"|":" |"}).split(/ \|/),D=0;if(T.length>Y)T.splice(Y);else for(;T.length1?{type:"space",raw:D[0]}:{raw:"\n"}},Y.code=function(T){var D=this.rules.block.code.exec(T);if(D){var B=D[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:D[0],codeBlockStyle:"indented",text:this.options.pedantic?B:Ae(B,"\n")}}},Y.fences=function(T){var D=this.rules.block.fences.exec(T);if(D){var B=D[0],Z=function(W,Y){var J=W.match(/^(\s+)(?:```)/);if(null===J)return Y;var T=J[1];return Y.split("\n").map(function(D){var B=D.match(/^\s+/);return null===B?D:B[0].length>=T.length?D.slice(T.length):D}).join("\n")}(B,D[3]||"");return{type:"code",raw:B,lang:D[2]?D[2].trim():D[2],text:Z}}},Y.heading=function(T){var D=this.rules.block.heading.exec(T);if(D){var B=D[2].trim();if(/#$/.test(B)){var Z=Ae(B,"#");(this.options.pedantic||!Z||/ $/.test(Z))&&(B=Z.trim())}return{type:"heading",raw:D[0],depth:D[1].length,text:B}}},Y.nptable=function(T){var D=this.rules.block.nptable.exec(T);if(D){var B={type:"table",header:Ri(D[1].replace(/^ *| *\| *$/g,"")),align:D[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:D[3]?D[3].replace(/\n$/,"").split("\n"):[],raw:D[0]};if(B.header.length===B.align.length){var $,Z=B.align.length;for($=0;$ ?/gm,"");return{type:"blockquote",raw:D[0],text:B}}},Y.list=function(T){var D=this.rules.block.list.exec(T);if(D){var Ge,an,xn,qt,Et,ln,ri,Hi,$i,B=D[0],Z=D[2],$=Z.length>1,le={type:"list",raw:B,ordered:$,start:$?+Z.slice(0,-1):"",loose:!1,items:[]},he=D[0].match(this.rules.block.item),pe=!1,_n=he.length;xn=this.rules.block.listItemStart.exec(he[0]);for(var Ci=0;Ci<_n;Ci++){if(B=Ge=he[Ci],this.options.pedantic||($i=Ge.match(new RegExp("\\n\\s*\\n {0,"+(xn[0].length-1)+"}\\S")))&&(Et=Ge.length-$i.index+he.slice(Ci+1).join("\n").length,le.raw=le.raw.substring(0,le.raw.length-Et),B=Ge=Ge.substring(0,$i.index),_n=Ci+1),Ci!==_n-1){if(qt=this.rules.block.listItemStart.exec(he[Ci+1]),this.options.pedantic?qt[1].length>xn[1].length:qt[1].length>=xn[0].length||qt[1].length>3){he.splice(Ci,2,he[Ci]+(!this.options.pedantic&&qt[1].length/i.test(Z[0])&&(D=!1),!B&&/^<(pre|code|kbd|script)(\s|>)/i.test(Z[0])?B=!0:B&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Z[0])&&(B=!1),{type:this.options.sanitize?"text":"html",raw:Z[0],inLink:D,inRawBlock:B,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]}},Y.link=function(T){var D=this.rules.inline.link.exec(T);if(D){var B=D[2].trim();if(!this.options.pedantic&&/^$/.test(B))return;var Z=Ae(B.slice(0,-1),"\\");if((B.length-Z.length)%2==0)return}else{var $=xr(D[2],"()");if($>-1){var he=(0===D[0].indexOf("!")?5:4)+D[1].length+$;D[2]=D[2].substring(0,$),D[0]=D[0].substring(0,he).trim(),D[3]=""}}var pe=D[2],Ge="";if(this.options.pedantic){var an=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(pe);an&&(pe=an[1],Ge=an[3])}else Ge=D[3]?D[3].slice(1,-1):"";return pe=pe.trim(),/^$/.test(B)?pe.slice(1):pe.slice(1,-1)),ls(D,{href:pe&&pe.replace(this.rules.inline._escapes,"$1"),title:Ge&&Ge.replace(this.rules.inline._escapes,"$1")},D[0])}},Y.reflink=function(T,D){var B;if((B=this.rules.inline.reflink.exec(T))||(B=this.rules.inline.nolink.exec(T))){var Z=(B[2]||B[1]).replace(/\s+/g," ");if(!(Z=D[Z.toLowerCase()])||!Z.href){var $=B[0].charAt(0);return{type:"text",raw:$,text:$}}return ls(B,Z,B[0])}},Y.emStrong=function(T,D,B){void 0===B&&(B="");var Z=this.rules.inline.emStrong.lDelim.exec(T);if(Z&&(!Z[3]||!B.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var $=Z[1]||Z[2]||"";if(!$||$&&(""===B||this.rules.inline.punctuation.exec(B))){var he,pe,le=Z[0].length-1,Ge=le,an=0,xn="*"===Z[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(xn.lastIndex=0,D=D.slice(-1*T.length+le);null!=(Z=xn.exec(D));)if(he=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6]){if(pe=he.length,Z[3]||Z[4]){Ge+=pe;continue}if((Z[5]||Z[6])&&le%3&&!((le+pe)%3)){an+=pe;continue}if(!((Ge-=pe)>0))return pe=Math.min(pe,pe+Ge+an),Math.min(le,pe)%2?{type:"em",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(1,le+Z.index+pe)}:{type:"strong",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(2,le+Z.index+pe-1)}}}}},Y.codespan=function(T){var D=this.rules.inline.code.exec(T);if(D){var B=D[2].replace(/\n/g," "),Z=/[^ ]/.test(B),$=/^ /.test(B)&&/ $/.test(B);return Z&&$&&(B=B.substring(1,B.length-1)),B=jt(B,!0),{type:"codespan",raw:D[0],text:B}}},Y.br=function(T){var D=this.rules.inline.br.exec(T);if(D)return{type:"br",raw:D[0]}},Y.del=function(T){var D=this.rules.inline.del.exec(T);if(D)return{type:"del",raw:D[0],text:D[2]}},Y.autolink=function(T,D){var Z,$,B=this.rules.inline.autolink.exec(T);if(B)return $="@"===B[2]?"mailto:"+(Z=jt(this.options.mangle?D(B[1]):B[1])):Z=jt(B[1]),{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}},Y.url=function(T,D){var B;if(B=this.rules.inline.url.exec(T)){var Z,$;if("@"===B[2])$="mailto:"+(Z=jt(this.options.mangle?D(B[0]):B[0]));else{var le;do{le=B[0],B[0]=this.rules.inline._backpedal.exec(B[0])[0]}while(le!==B[0]);Z=jt(B[0]),$="www."===B[1]?"http://"+Z:Z}return{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}}},Y.inlineText=function(T,D,B){var $,Z=this.rules.inline.text.exec(T);if(Z)return $=D?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]:jt(this.options.smartypants?B(Z[0]):Z[0]),{type:"text",raw:Z[0],text:$}},W}(),aa=pn_noopTest,Xn=pn_edit,ci=pn_merge,pt={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:aa,table:aa,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};pt.def=Xn(pt.def).replace("label",pt._label).replace("title",pt._title).getRegex(),pt.bullet=/(?:[*+-]|\d{1,9}[.)])/,pt.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,pt.item=Xn(pt.item,"gm").replace(/bull/g,pt.bullet).getRegex(),pt.listItemStart=Xn(/^( *)(bull) */).replace("bull",pt.bullet).getRegex(),pt.list=Xn(pt.list).replace(/bull/g,pt.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+pt.def.source+")").getRegex(),pt._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",pt._comment=/|$)/,pt.html=Xn(pt.html,"i").replace("comment",pt._comment).replace("tag",pt._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pt.paragraph=Xn(pt._paragraph).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.blockquote=Xn(pt.blockquote).replace("paragraph",pt.paragraph).getRegex(),pt.normal=ci({},pt),pt.gfm=ci({},pt.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),pt.gfm.nptable=Xn(pt.gfm.nptable).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.gfm.table=Xn(pt.gfm.table).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.pedantic=ci({},pt.normal,{html:Xn("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",pt._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:aa,paragraph:Xn(pt.normal._paragraph).replace("hr",pt.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",pt.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ye={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:aa,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:aa,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ye.punctuation=Xn(Ye.punctuation).replace(/punctuation/g,Ye._punctuation).getRegex(),Ye.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ye.escapedEmSt=/\\\*|\\_/g,Ye._comment=Xn(pt._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ye.emStrong.lDelim=Xn(Ye.emStrong.lDelim).replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimAst=Xn(Ye.emStrong.rDelimAst,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimUnd=Xn(Ye.emStrong.rDelimUnd,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ye._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ye._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ye.autolink=Xn(Ye.autolink).replace("scheme",Ye._scheme).replace("email",Ye._email).getRegex(),Ye._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ye.tag=Xn(Ye.tag).replace("comment",Ye._comment).replace("attribute",Ye._attribute).getRegex(),Ye._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ye._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ye._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ye.link=Xn(Ye.link).replace("label",Ye._label).replace("href",Ye._href).replace("title",Ye._title).getRegex(),Ye.reflink=Xn(Ye.reflink).replace("label",Ye._label).getRegex(),Ye.reflinkSearch=Xn(Ye.reflinkSearch,"g").replace("reflink",Ye.reflink).replace("nolink",Ye.nolink).getRegex(),Ye.normal=ci({},Ye),Ye.pedantic=ci({},Ye.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ye._label).getRegex(),reflink:Xn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ye._label).getRegex()}),Ye.gfm=ci({},Ye.normal,{escape:Xn(Ye.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(T="x"+T.toString(16)),Y+="&#"+T+";";return Y}var ui=function(){function W(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||La,this.options.tokenizer=this.options.tokenizer||new la,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var T={block:Fi.normal,inline:$r.normal};this.options.pedantic?(T.block=Fi.pedantic,T.inline=$r.pedantic):this.options.gfm&&(T.block=Fi.gfm,T.inline=this.options.breaks?$r.breaks:$r.gfm),this.tokenizer.rules=T}W.lex=function(T,D){return new W(D).lex(T)},W.lexInline=function(T,D){return new W(D).inlineTokens(T)};var Y=W.prototype;return Y.lex=function(T){return T=T.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(T,this.tokens,!0),this.inline(this.tokens),this.tokens},Y.blockTokens=function(T,D,B){var $,le,he,pe,Ge,an,Z=this;for(void 0===D&&(D=[]),void 0===B&&(B=!0),this.options.pedantic&&(T=T.replace(/^ +$/gm,""));T;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(qt){return!!($=qt.call(Z,T,D))&&(T=T.substring($.raw.length),D.push($),!0)}))){if($=this.tokenizer.space(T)){T=T.substring($.raw.length),$.type&&D.push($);continue}if($=this.tokenizer.code(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if($=this.tokenizer.fences(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.heading(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.nptable(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.hr(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.blockquote(T)){T=T.substring($.raw.length),$.tokens=this.blockTokens($.text,[],B),D.push($);continue}if($=this.tokenizer.list(T)){for(T=T.substring($.raw.length),he=$.items.length,le=0;le=0&&(qt=Math.min(qt,ln))}),qt<1/0&&qt>=0&&(Ge=T.substring(0,qt+1))}(),B&&($=this.tokenizer.paragraph(Ge))){pe=D[D.length-1],an&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($),an=Ge.length!==T.length,T=T.substring($.raw.length);continue}if($=this.tokenizer.text(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"text"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if(T){var xn="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(xn);break}throw new Error(xn)}}return D},Y.inline=function(T){var D,B,Z,$,le,he,pe=T.length;for(D=0;D0)for(;null!=(an=this.tokenizer.rules.inline.reflinkSearch.exec(Ge));)Et.includes(an[0].slice(an[0].lastIndexOf("[")+1,-1))&&(Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(an=this.tokenizer.rules.inline.blockSkip.exec(Ge));)Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(an=this.tokenizer.rules.inline.escapedEmSt.exec(Ge));)Ge=Ge.slice(0,an.index)+"++"+Ge.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;T;)if(xn||(qt=""),xn=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(ri){return!!(le=ri.call($,T,D))&&(T=T.substring(le.raw.length),D.push(le),!0)}))){if(le=this.tokenizer.escape(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.tag(T,B,Z)){T=T.substring(le.raw.length),B=le.inLink,Z=le.inRawBlock,(he=D[D.length-1])&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.link(T)){T=T.substring(le.raw.length),"link"===le.type&&(le.tokens=this.inlineTokens(le.text,[],!0,Z)),D.push(le);continue}if(le=this.tokenizer.reflink(T,this.tokens.links)){T=T.substring(le.raw.length),he=D[D.length-1],"link"===le.type?(le.tokens=this.inlineTokens(le.text,[],!0,Z),D.push(le)):he&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.emStrong(T,Ge,qt)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.codespan(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.br(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.del(T)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.autolink(T,lo)){T=T.substring(le.raw.length),D.push(le);continue}if(!B&&(le=this.tokenizer.url(T,lo))){T=T.substring(le.raw.length),D.push(le);continue}if(pe=T,this.options.extensions&&this.options.extensions.startInline&&function(){var ri=1/0,Hi=T.slice(1),$i=void 0;$.options.extensions.startInline.forEach(function(_n){"number"==typeof($i=_n.call(this,Hi))&&$i>=0&&(ri=Math.min(ri,$i))}),ri<1/0&&ri>=0&&(pe=T.substring(0,ri+1))}(),le=this.tokenizer.inlineText(pe,Z,ir)){T=T.substring(le.raw.length),"_"!==le.raw.slice(-1)&&(qt=le.raw.slice(-1)),xn=!0,(he=D[D.length-1])&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(T){var ln="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(ln);break}throw new Error(ln)}}return D},function(W,Y,J){Y&&We(W.prototype,Y),J&&We(W,J)}(W,null,[{key:"rules",get:function(){return{block:Fi,inline:$r}}}]),W}(),Gr=Pt.exports.defaults,Nr=pn_cleanUrl,ii=pn_escape,pc=function(){function W(J){this.options=J||Gr}var Y=W.prototype;return Y.code=function(T,D,B){var Z=(D||"").match(/\S*/)[0];if(this.options.highlight){var $=this.options.highlight(T,Z);null!=$&&$!==T&&(B=!0,T=$)}return T=T.replace(/\n$/,"")+"\n",Z?'
    '+(B?T:ii(T,!0))+"
    \n":"
    "+(B?T:ii(T,!0))+"
    \n"},Y.blockquote=function(T){return"
    \n"+T+"
    \n"},Y.html=function(T){return T},Y.heading=function(T,D,B,Z){return this.options.headerIds?"'+T+"\n":""+T+"\n"},Y.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},Y.list=function(T,D,B){var Z=D?"ol":"ul";return"<"+Z+(D&&1!==B?' start="'+B+'"':"")+">\n"+T+"\n"},Y.listitem=function(T){return"
  • "+T+"
  • \n"},Y.checkbox=function(T){return" "},Y.paragraph=function(T){return"

    "+T+"

    \n"},Y.table=function(T,D){return D&&(D=""+D+""),"\n\n"+T+"\n"+D+"
    \n"},Y.tablerow=function(T){return"\n"+T+"\n"},Y.tablecell=function(T,D){var B=D.header?"th":"td";return(D.align?"<"+B+' align="'+D.align+'">':"<"+B+">")+T+"\n"},Y.strong=function(T){return""+T+""},Y.em=function(T){return""+T+""},Y.codespan=function(T){return""+T+""},Y.br=function(){return this.options.xhtml?"
    ":"
    "},Y.del=function(T){return""+T+""},Y.link=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z='"+B+""},Y.image=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z=''+B+'":">")},Y.text=function(T){return T},W}(),co=function(){function W(){}var Y=W.prototype;return Y.strong=function(T){return T},Y.em=function(T){return T},Y.codespan=function(T){return T},Y.del=function(T){return T},Y.html=function(T){return T},Y.text=function(T){return T},Y.link=function(T,D,B){return""+B},Y.image=function(T,D,B){return""+B},Y.br=function(){return""},W}(),di=function(){function W(){this.seen={}}var Y=W.prototype;return Y.serialize=function(T){return T.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},Y.getNextSafeSlug=function(T,D){var B=T,Z=0;if(this.seen.hasOwnProperty(B)){Z=this.seen[T];do{B=T+"-"+ ++Z}while(this.seen.hasOwnProperty(B))}return D||(this.seen[T]=Z,this.seen[B]=0),B},Y.slug=function(T,D){void 0===D&&(D={});var B=this.serialize(T);return this.getNextSafeSlug(B,D.dryrun)},W}(),Oh=pc,El=co,Va=di,uo=Pt.exports.defaults,za=pn_unescape,us=ui,ho=function(){function W(J){this.options=J||uo,this.options.renderer=this.options.renderer||new Oh,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new El,this.slugger=new Va}W.parse=function(T,D){return new W(D).parse(T)},W.parseInline=function(T,D){return new W(D).parseInline(T)};var Y=W.prototype;return Y.parse=function(T,D){void 0===D&&(D=!0);var Z,$,le,he,pe,Ge,an,xn,qt,Et,ln,ri,Hi,$i,_n,Ci,_c,fo,gd,B="",xl=T.length;for(Z=0;Z0&&"text"===_n.tokens[0].type?(_n.tokens[0].text=fo+" "+_n.tokens[0].text,_n.tokens[0].tokens&&_n.tokens[0].tokens.length>0&&"text"===_n.tokens[0].tokens[0].type&&(_n.tokens[0].tokens[0].text=fo+" "+_n.tokens[0].tokens[0].text)):_n.tokens.unshift({type:"text",text:fo}):$i+=fo),$i+=this.parse(_n.tokens,Hi),qt+=this.renderer.listitem($i,_c,Ci);B+=this.renderer.list(qt,ln,ri);continue;case"html":B+=this.renderer.html(Et.text);continue;case"paragraph":B+=this.renderer.paragraph(this.parseInline(Et.tokens));continue;case"text":for(qt=Et.tokens?this.parseInline(Et.tokens):Et.text;Z+1An error occurred:

    "+mc(le.message+"",!0)+"
    ";throw le}}return Je.options=Je.setOptions=function(W){return gu(Je.defaults,W),mu(Je.defaults),Je},Je.getDefaults=pd,Je.defaults=Vs,Je.use=function(){for(var W=this,Y=arguments.length,J=new Array(Y),T=0;TAn error occurred:

    "+mc(T.message+"",!0)+"
    ";throw T}},Je.Parser=ho,Je.parser=ho.parse,Je.Renderer=Sl,Je.TextRenderer=fu,Je.Lexer=us,Je.lexer=us.lex,Je.Tokenizer=gc,Je.Slugger=pu,Je.parse=Je,Je}()},310:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.isMobile=function(){return void 0!==L.window.orientation},We.default=function(Ze){if(!Ze&&!(0,It.default)())return"Node";if((0,Pt.default)(Ze))return"Electron";var Tt="undefined"!=typeof navigator?navigator:{},Ft=Ze||Tt.userAgent||"";if(Ft.indexOf("Edge")>-1)return"Edge";var we=-1!==Ft.indexOf("MSIE "),_e=-1!==Ft.indexOf("Trident/");return we||_e?"IE":L.window.chrome?"Chrome":L.window.safari?"Safari":L.window.mozInnerScreenX?"Firefox":"Unknown"};var L=ze(151),It=wt(ze(602)),Pt=wt(ze(344))},151:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.console=We.process=We.document=We.global=We.window=We.self=void 0;var L=wt(ze(321)),It={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&process};We.self=It.self||It.window||It.global,We.window=It.window||It.self||It.global,We.global=It.global||It.self||It.window,We.document=It.document||{},We.process=It.process||{};var Ft=console;We.console=Ft},761:(gt,We,ze)=>{"use strict";var L=ze(948),It=ze(321);Object.defineProperty(We,"CO",{enumerable:!0,get:function(){return Pt.global}}),Object.defineProperty(We,"qs",{enumerable:!0,get:function(){return ft.default}});var Pt=ze(151),ft=(Ft(ze(602)),Ft(ze(310)));L(ze(344));function Tt(we){if("function"!=typeof WeakMap)return null;var _e=new WeakMap,ke=new WeakMap;return(Tt=function(Te){return Te?ke:_e})(we)}function Ft(we,_e){if(!_e&&we&&we.__esModule)return we;if(null===we||"object"!==It(we)&&"function"!=typeof we)return{default:we};var ke=Tt(_e);if(ke&&ke.has(we))return ke.get(we);var ye={},Te=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Vt in we)if("default"!==Vt&&Object.prototype.hasOwnProperty.call(we,Vt)){var He=Te?Object.getOwnPropertyDescriptor(we,Vt):null;He&&(He.get||He.set)?Object.defineProperty(ye,Vt,He):ye[Vt]=we[Vt]}return ye.default=we,ke&&ke.set(we,ye),ye}},602:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=Pt,We.isBrowserMainThread=function(){return Pt()&&"undefined"!=typeof document};var L=wt(ze(321)),It=wt(ze(344));function Pt(){return!("object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,It.default)()}},344:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=function(Pt){if("undefined"!=typeof window&&"object"===(0,L.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,L.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Ke="object"===("undefined"==typeof navigator?"undefined":(0,L.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,ft=Pt||Ke;return!!(ft&&ft.indexOf("Electron")>=0)};var L=wt(ze(321))},851:(gt,We,ze)=>{"use strict";var wt={};ze.r(wt),ze.d(wt,{decode:()=>N0e,encode:()=>L0e});var L={};ze.r(L),ze.d(L,{decode:()=>U0e,encode:()=>H0e});var It={};ze.r(It),ze.d(It,{decode:()=>$0e,encode:()=>G0e});var Pt={};function Ke(n){return"function"==typeof n}ze.r(Pt),ze.d(Pt,{decode:()=>W0e,encode:()=>q0e});let ft=!1;const Ze={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else ft&&console.log("RxJS: Back to a better error behavior. Thank you. <3");ft=n},get useDeprecatedSynchronousErrorHandling(){return ft}};function Tt(n){setTimeout(()=>{throw n},0)}const Ft={closed:!0,next(n){},error(n){if(Ze.useDeprecatedSynchronousErrorHandling)throw n;Tt(n)},complete(){}},we=Array.isArray||(n=>n&&"number"==typeof n.length);function _e(n){return null!==n&&"object"==typeof n}const ye=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class Te{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof Te)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof ye?t.errors:t),[])}Te.EMPTY=((n=new Te).closed=!0,n);const He="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class xt extends Te{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Ft;break;case 1:if(!e){this.destination=Ft;break}if("object"==typeof e){e instanceof xt?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new tn(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new tn(this,e,t,i)}}[He](){return this}static create(e,t,i){const r=new xt(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class tn extends xt{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Ke(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==Ft&&(o=Object.create(t),Ke(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;Ze.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=Ze;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):Tt(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;Tt(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);Ze.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),Ze.useDeprecatedSynchronousErrorHandling)throw i;Tt(i)}}__tryOrSetError(e,t,i){if(!Ze.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return Ze.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(Tt(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const vi="function"==typeof Symbol&&Symbol.observable||"@@observable";function bi(n){return n}function Mr(...n){return Ve(n)}function Ve(n){return 0===n.length?bi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let ce=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof xt)return n;if(n[He])return n[He]()}return n||e||t?new xt(n,e,t):new xt(Ft)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||Ze.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),Ze.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){Ze.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof xt?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=zt(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[vi](){return this}pipe(...t){return 0===t.length?this:Ve(t)(this)}toPromise(t){return new(t=zt(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function zt(n){if(n||(n=Ze.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const Qt=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class li extends Te{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class Pi extends xt{constructor(e){super(e),this.destination=e}}let Se=(()=>{class n extends ce{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[He](){return new Pi(this)}lift(t){const i=new pn(this,this);return i.operator=t,i}next(t){if(this.closed)throw new Qt;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew pn(e,t),n})();class pn extends Se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):Te.EMPTY}}function Gn(n){return n&&"function"==typeof n.schedule}function Ae(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new Ri(n,e))}}class Ri{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new jt(e,this.project,this.thisArg))}}class jt extends xt{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const xr=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ye(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const ki=n=>{if(n&&"function"==typeof n[vi])return(n=>e=>{const t=n[vi]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(pt(n))return xr(n);if(Ye(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Tt),e))(n);if(n&&"function"==typeof n[cs])return(n=>e=>{const t=n[cs]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${_e(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Fi(n,e){return new ce(t=>{const i=new Te;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function ui(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[vi]}(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>{const r=n[vi]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ye(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(pt(n))return Fi(n,e);if(function(n){return n&&"function"==typeof n[cs]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new ce(t=>{const i=new Te;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[cs](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof ce?n:new ce(ki(n))}class Gr extends xt{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ii extends xt{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function co(n,e){if(e.closed)return;if(n instanceof ce)return n.subscribe(e);let t;try{t=ki(n)(e)}catch(i){e.error(i)}return t}function di(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(di((r,s)=>ui(n(r,s)).pipe(Ae((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Oh(n,t)))}class Oh{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new El(e,this.project,this.concurrent))}}class El extends ii{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function uo(n=Number.POSITIVE_INFINITY){return di(bi,n)}function za(n,e){return e?Fi(n,e):new ce(xr(n))}function Ni(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Gn(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof ce?n[0]:uo(e)(za(n,t))}function us(){return function(e){return e.lift(new ho(e))}}class ho{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new gc(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class gc extends xt{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Sl extends ce{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new Te,e.add(this.source.subscribe(new pu(this.getSubject(),this))),e.closed&&(this._connection=null,e=Te.EMPTY)),e}refCount(){return us()(this)}}const fu=(()=>{const n=Sl.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class pu extends Pi{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function mc(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new pd(r,e));const s=Object.create(i,fu);return s.source=i,s.subjectFactory=r,s}}class pd{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function mu(){return new Se}function Vs(){return n=>us()(mc(mu)(n))}function Je(n){for(let e in n)if(n[e]===Je)return e;throw Error("Could not find renamed property on target object.")}function _u(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function W(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(W).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function Y(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const J=Je({__forward_ref__:Je});function T(n){return n.__forward_ref__=T,n.toString=function(){return W(this())},n}function D(n){return B(n)?n():n}function B(n){return"function"==typeof n&&n.hasOwnProperty(J)&&n.__forward_ref__===T}class $ extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function pe(n){return"string"==typeof n?n:null==n?"":String(n)}function Ge(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():pe(n)}function Et(n,e){const t=e?` in ${e}`:"";throw new $("201",`No provider for ${Ge(n)} found${t}`)}function Gi(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function ue(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Me(n){return{providers:n.providers||[],imports:n.imports||[]}}function rr(n){return vc(n,ua)||vc(n,Ua)}function vc(n,e){return n.hasOwnProperty(e)?n[e]:null}function Cu(n){return n&&(n.hasOwnProperty(Tl)||n.hasOwnProperty(Sp))?n[Tl]:null}const ua=Je({\u0275prov:Je}),Tl=Je({\u0275inj:Je}),Ua=Je({ngInjectableDef:Je}),Sp=Je({ngInjectorDef:Je});var At=(()=>((At=At||{})[At.Default=0]="Default",At[At.Host=1]="Host",At[At.Self=2]="Self",At[At.SkipSelf=4]="SkipSelf",At[At.Optional=8]="Optional",At))();let Al;function da(n){const e=Al;return Al=n,e}function md(n,e,t){const i=rr(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&At.Optional?null:void 0!==e?e:void Et(W(n),"Injector")}function F(n){return{toString:n}.toString()}var j=(()=>((j=j||{})[j.OnPush=0]="OnPush",j[j.Default=1]="Default",j))(),Ue=(()=>((Ue=Ue||{})[Ue.Emulated=0]="Emulated",Ue[Ue.None=2]="None",Ue[Ue.ShadowDom=3]="ShadowDom",Ue))();const vn="undefined"!=typeof globalThis&&globalThis,dr="undefined"!=typeof window&&window,yr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,Wr="undefined"!=typeof global&&global,cn=vn||Wr||dr||yr,_d={},mi=[],xp=Je({\u0275cmp:Je}),d_=Je({\u0275dir:Je}),Ph=Je({\u0275pipe:Je}),b0=Je({\u0275mod:Je}),xx=Je({\u0275loc:Je}),Dl=Je({\u0275fac:Je}),Rh=Je({__NG_ELEMENT_ID__:Je});let Tx=0;function Ne(n){return F(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===j.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||mi,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Ue.Emulated,id:"c",styles:n.styles||mi,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=Tx++,i.inputs=S0(n.inputs,t),i.outputs=S0(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(C0):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(w0):null,i})}function C0(n){return Kn(n)||function(n){return n[d_]||null}(n)}function w0(n){return function(n){return n[Ph]||null}(n)}const E0={};function Pe(n){return F(()=>{const e={type:n.type,bootstrap:n.bootstrap||mi,declarations:n.declarations||mi,imports:n.imports||mi,exports:n.exports||mi,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(E0[n.id]=n.type),e})}function S0(n,e){if(null==n)return _d;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const oe=Ne;function ds(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Kn(n){return n[xp]||null}function po(n,e){const t=n[b0]||null;if(!t&&!0===e)throw new Error(`Type ${W(n)} does not have '\u0275mod' property.`);return t}function Fo(n){return Array.isArray(n)&&"object"==typeof n[1]}function No(n){return Array.isArray(n)&&!0===n[1]}function p_(n){return 0!=(8&n.flags)}function Cd(n){return 2==(2&n.flags)}function wd(n){return 1==(1&n.flags)}function pa(n){return null!==n.template}function M0(n){return 0!=(512&n[2])}function wc(n,e){return n.hasOwnProperty(Dl)?n[Dl]:null}class y_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function zn(){return A0}function A0(n){return n.type.prototype.ngOnChanges&&(n.setInput=Fx),kx}function kx(){const n=q(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===_d)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function Fx(n,e,t,i){const r=q(n)||function(n,e){return n[Vh]=e}(n,{previous:_d,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new y_(l&&l.currentValue,e,o===_d),n[i]=e}zn.ngInherit=!0;const Vh="__ngSimpleChanges__";function q(n){return n[Vh]||null}const Wn="http://www.w3.org/2000/svg";let fi;function Ii(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==fi?fi:"undefined"!=typeof document?document:void 0};function qi(n){for(;Array.isArray(n);)n=n[0];return n}function zh(n,e){return qi(e[n])}function Ts(n,e){return qi(e[n.index])}function C_(n,e){return n.data[e]}function Ed(n,e){return n[e]}function fs(n,e){const t=e[n];return Fo(t)?t:t[0]}function Pl(n){return 4==(4&n[2])}function Sd(n){return 128==(128&n[2])}function ma(n,e){return null==e?null:n[e]}function w_(n){n[18]=0}function Dp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Yt={lFrame:xu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function O0(){return Yt.bindingsEnabled}function Oe(){return Yt.lFrame.lView}function Dn(){return Yt.lFrame.tView}function en(n){return Yt.lFrame.contextLView=n,n[8]}function Dr(){let n=E_();for(;null!==n&&64===n.type;)n=n.parent;return n}function E_(){return Yt.lFrame.currentTNode}function Ga(n,e){const t=Yt.lFrame;t.currentTNode=n,t.isParent=e}function pr(){return Yt.lFrame.isParent}function Lr(){Yt.lFrame.isParent=!1}function Hh(){return Yt.isInCheckNoChangesMode}function Ip(n){Yt.isInCheckNoChangesMode=n}function Yr(){const n=Yt.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Us(){return Yt.lFrame.bindingIndex}function _a(){return Yt.lFrame.bindingIndex++}function mo(n){const e=Yt.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Md(n,e){const t=Yt.lFrame;t.bindingIndex=t.bindingRootIndex=n,S_(e)}function S_(n){Yt.lFrame.currentDirectiveIndex=n}function M_(n){const e=Yt.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function I0(){return Yt.lFrame.currentQueryIndex}function x_(n){Yt.lFrame.currentQueryIndex=n}function Rp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function xd(n,e,t){if(t&At.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&At.Host||(r=Rp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Yt.lFrame=O();return i.currentTNode=e,i.lView=n,!0}function Wh(n){const e=O(),t=n[1];Yt.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function O(){const n=Yt.lFrame,e=null===n?null:n.child;return null===e?xu(n):e}function xu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qh(){const n=Yt.lFrame;return Yt.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const _o=qh;function Cn(){const n=qh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function As(){return Yt.lFrame.selectedIndex}function Hs(n){Yt.lFrame.selectedIndex=n}function sr(){const n=Yt.lFrame;return C_(n.tView,n.selectedIndex)}function kp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Yh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Lp(n,e,t){const i=Ii(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Ad=!0;function Bp(n){const e=Ad;return Ad=n,e}let P_=0;function ps(n,e){const t=Vp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,R_(i.data,n),R_(e,null),R_(i.blueprint,null));const r=Kh(n,e),s=n.injectorIndex;if(F0(r)){const o=Td(r),a=qa(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function R_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Vp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Kh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Sc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=P_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:V0:e}(t);if("function"==typeof s){if(!xd(e,n,i))return i&At.Host?k_(r,t,i):L0(e,t,i,r);try{const o=s(i);if(null!=o||i&At.Optional)return o;Et(t)}finally{_o()}}else if("number"==typeof s){let o=null,a=Vp(n,e),l=-1,c=i&At.Host?e[16][6]:null;for((-1===a||i&At.SkipSelf)&&(l=-1===a?Kh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Td(l),e=qa(l,e)):a=-1);-1!==a;){const d=e[1];if(zp(s,a,d.data)){const f=Xr(a,e,t,o,i,c);if(f!==B0)return f}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&zp(s,a,e)?(o=d,a=Td(l),e=qa(l,e)):a=-1}}}return L0(e,t,i,r)}const B0={};function V0(){return new Bo(Dr(),Oe())}function Xr(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],d=Dd(a,o,t,null==i?Cd(a)&&Ad:i!=o&&0!=(3&a.type),r&At.Host&&s===a);return null!==d?Od(e,o,d,a):B0}function Dd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,d=s>>20,p=r?a+d:n.directiveEnd;for(let g=i?a:a+d;g=l&&_.type===t)return g}if(r){const g=o[l];if(g&&pa(g)&&g.type===t)return l}return null}function Od(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Yh}(r)){const o=r;o.resolving&&function(n,e){throw new $("200",`Circular dependency in DI detected for ${n}`)}(Ge(s[t]));const a=Bp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?da(o.injectImpl):null;xd(n,i,At.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=A0(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&da(l),Bp(a),o.resolving=!1,_o()}}return r}function zp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Dl]||Kr(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Dl]||Kr(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Kr(n){return B(n)?()=>{const e=Kr(D(n));return e&&e()}:wc(n)}function Zr(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,d){const f=l.hasOwnProperty(Pd)?l[Pd]:Object.defineProperty(l,Pd,{value:[]})[Pd];for(;f.length<=d;)f.push(null);return(f[d]=f[d]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class ve{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=ue({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function Vo(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?zo(t,e):e(t))}function ef(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function kl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function xc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function z_(n,e){const t=Qr(n,e);if(t>=0)return n[1|t]}function Qr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):W(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Dc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ac]=null,n}const Ld=Nd(ba("Inject",n=>({token:n})),-1),br=Nd(ba("Optional"),8),Za=Nd(ba("SkipSelf"),4);let Vd;function Nu(n){var e;return(null===(e=function(){if(void 0===Vd&&(Vd=null,cn.trustedTypes))try{Vd=cn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Vd}())||void 0===e?void 0:e.createHTML(n))||n}class Bl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class W_ extends Bl{getTypeName(){return"HTML"}}class q_ extends Bl{getTypeName(){return"Style"}}class Jp extends Bl{getTypeName(){return"Script"}}class zd extends Bl{getTypeName(){return"URL"}}class Ut extends Bl{getTypeName(){return"ResourceURL"}}function gs(n){return n instanceof Bl?n.changingThisBreaksApplicationSecurity:n}function jo(n,e){const t=Pc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Pc(n){return n instanceof Bl&&n.getTypeName()||null}class iC{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Nu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class f1{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Nu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Nu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0bo(e.trim())).join(", ")}function Uo(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function nf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const eg=Uo("area,br,col,hr,img,wbr"),sC=Uo("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),oC=Uo("rp,rt"),X_=nf(eg,nf(sC,Uo("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nf(oC,Uo("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nf(oC,sC)),K_=Uo("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Z_=Uo("srcset"),Q_=nf(K_,Z_,Uo("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Uo("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),v1=Uo("script,style,template");class J_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!X_.hasOwnProperty(t))return this.sanitizedSomething=!0,!v1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();X_.hasOwnProperty(t)&&!eg.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(ng(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const aC=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,rf=/([^\#-~ |!])/g;function ng(n){return n.replace(/&/g,"&").replace(aC,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(rf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let sf;function ey(n,e){let t=null;try{sf=sf||function(n){const e=new f1(n);return function(){try{return!!(new window.DOMParser).parseFromString(Nu(""),"text/html")}catch(n){return!1}}()?new iC(e):e}(n);let i=e?String(e):"";t=sf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=sf.getInertBodyElement(i)}while(i!==s);return Nu((new J_).sanitizeChildren(jd(t)||t))}finally{if(t){const i=jd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function jd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var mn=(()=>((mn=mn||{})[mn.NONE=0]="NONE",mn[mn.HTML=1]="HTML",mn[mn.STYLE=2]="STYLE",mn[mn.SCRIPT=3]="SCRIPT",mn[mn.URL=4]="URL",mn[mn.RESOURCE_URL=5]="RESOURCE_URL",mn))();function Ud(n){const e=function(){const n=Oe();return n&&n[12]}();return e?e.sanitize(mn.URL,n)||"":jo(n,"URL")?gs(n):bo(pe(n))}const iy="__ngContext__";function Jr(n,e){n[iy]=e}function ry(n){const e=function(n){return n[iy]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function ig(n){return n.ngOriginalError}function P1(n,...e){n.error(...e)}class $o{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||P1}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(ig(e)):null}_findOriginalError(e){let t=e&&ig(e);for(;t&&ig(t);)t=ig(t);return t||null}}const yC=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(cn))();function ly(n){return n.ownerDocument.defaultView}function sg(n){return n.ownerDocument}function Ja(n){return n instanceof Function?n():n}var Co=(()=>((Co=Co||{})[Co.Important=1]="Important",Co[Co.DashCase=2]="DashCase",Co))();function uy(n,e){return undefined(n,e)}function lf(n){const e=n[3];return No(e)?e[3]:e}function $d(n){return EC(n[13])}function hy(n){return EC(n[4])}function EC(n){for(;null!==n&&!No(n);)n=n[4];return n}function Gd(n,e,t,i,r){if(null!=i){let s,o=!1;No(i)?s=i:Fo(i)&&(o=!0,i=i[0]);const a=qi(i);0===n&&null!==t?null==r?AC(e,t,a):el(e,t,a,r||null,!0):1===n&&null!==t?el(e,t,a,r||null,!0):2===n?function(n,e,t){const i=ag(n,e);i&&function(n,e,t,i){Ii(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==qi(t)&&Gd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=kl(n,10+e);!function(n,e){Wd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function my(n,e){if(!(256&e[2])){const t=e[11];Ii(t)&&t.destroyNode&&Wd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return og(n[1],n);for(;e;){let t=null;if(Fo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Fo(e)&&og(e[1],e),e=e[3];null===e&&(e=n),Fo(e)&&og(e[1],e),t=e&&e[4]}e=t}}(e)}}function og(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[f+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==p){if(wa(i))return!1;o=!0}}}}else{if(!o&&!wa(i)&&!wa(l))return!1;if(o&&wa(l))continue;o=!1,i=l|1&i}}return wa(i)||o}function wa(n){return 0==(1&n)}function iT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!wa(o)&&(e+=jC(s,r),r=""),i=o,s=s||!wa(i);t++}return""!==r&&(e+=jC(s,r)),e}const kt={};function G(n){UC(Dn(),Oe(),As()+n,Hh())}function UC(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Fp(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Np(e,s,0,t)}Hs(t)}function tl(n,e){return n<<17|e<<2}function Bt(n){return n>>17&32767}function Yi(n){return 2|n}function Vl(n){return(131068&n)>>2}function nl(n,e){return-131069&n|e<<2}function wy(n){return 1|n}function ZC(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&UC(n,e,20,Hh()),t(i,r)}finally{Hs(s)}}function JC(n,e,t){if(p_(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function lw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function cw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function IT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&ky(t)}}function ky(n){for(let i=$d(n);null!==i;i=hy(i))for(let r=10;r0&&ky(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&ky(r)}}function BT(n,e){const t=fs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function hw(n){return n[7]||(n[7]=[])}function _g(n){return n.cleanup||(n.cleanup=[])}function Vy(n,e,t){return(null===n||pa(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function zy(n,e){const t=n[9],i=t?t.get($o,null):null;i&&i.handleError(e)}function fw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),zo([e],a=>this.processInjectorType(a,[],s)),this.records.set(Fc,zu(void 0,this));const o=this.records.get(Vu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:W(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Pu,i=At.Default){this.assertNotDestroyed();const r=Fd(this),s=da(void 0);try{if(!(i&At.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof ve}(e)&&rr(e);a=l&&this.injectableDefInScope(l)?zu(Gy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&At.Self?pw():this.parent).get(e,t=i&At.Optional&&t===Pu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ac]=o[Ac]||[]).unshift(W(e)),r)throw o;return Ds(o,e,"R3InjectorError",this.source)}throw o}finally{da(s),Fd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(W(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=D(e)))return!1;let r=Cu(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Cu(s)),null==r)return!1;if(null!=r.imports&&!a){let d;i.push(o);try{zo(r.imports,f=>{this.processInjectorType(f,t,i)&&(void 0===d&&(d=[]),d.push(f))})}finally{}if(void 0!==d)for(let f=0;fthis.processProvider(_,p,g||mi))}}this.injectorDefTypes.add(o);const l=wc(o)||(()=>new o);this.records.set(o,zu(l,gf));const c=r.providers;if(null!=c&&!a){const d=e;zo(c,f=>this.processProvider(f,d,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Nc(e=D(e))?e:D(e&&e.provide);const s=function(n,e,t){return _w(n)?zu(void 0,n.useValue):zu(mw(n),gf)}(e);if(Nc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zu(void 0,gf,!0),o.factory=()=>ku(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=GT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=D(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Gy(n){const e=rr(n),t=null!==e?e.factory:wc(n);if(null!==t)return t;if(n instanceof ve)throw new Error(`Token ${W(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=xc(e,"?");throw new Error(`Can't resolve all parameters for ${W(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[ua]||n[Ua]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function mw(n,e,t){let i;if(Nc(n)){const r=D(n);return wc(r)||Gy(r)}if(_w(n))i=()=>D(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...ku(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>I(D(n.useExisting));else{const r=D(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return wc(r)||Gy(r);i=()=>new r(...ku(n.deps))}return i}function zu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function _w(n){return null!==n&&"object"==typeof n&&Wp in n}function Nc(n){return"function"==typeof n}const yw=function(n,e,t){return function(n,e=null,t=null,i){const r=gw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Nt{static create(e,t){return Array.isArray(e)?yw(e,t,""):yw(e.providers,e.parent,e.name||"")}}function m7(n,e){kp(ry(n)[1],Dr())}function ct(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(pa(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=oA(n.inputs),o.declaredInputs=oA(n.declaredInputs),o.outputs=oA(n.outputs);const a=r.hostBindings;a&&b7(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&y7(n,l),c&&v7(n,c),_u(n.inputs,r.inputs),_u(n.declaredInputs,r.declaredInputs),_u(n.outputs,r.outputs),pa(r)&&r.data.animation){const d=n.data;d.animation=(d.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Xh(r.hostAttrs,t=Xh(t,r.hostAttrs))}}(i)}function oA(n){return n===_d?{}:n===mi?[]:n}function y7(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function v7(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function b7(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Nt.THROW_IF_NOT_FOUND=Pu,Nt.NULL=new Ps,Nt.\u0275prov=ue({token:Nt,providedIn:"any",factory:()=>I(Fc)}),Nt.__NG_ELEMENT_ID__=-1;let Ew=null;function vg(){if(!Ew){const n=cn.Symbol;if(n&&n.iterator)Ew=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(qi(N[i.index])):i.index;if(Ii(t)){let N=null;if(!a&&l&&(N=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==N)(N.__ngLastListenerFn__||N).__ngNextListenerFn__=s,N.__ngLastListenerFn__=s,g=!1;else{s=fA(i,e,f,s,!1);const V=t.listen(C,r,s);p.push(s,V),d&&d.push(r,x,w,w+1)}}else s=fA(i,e,f,s,!0),C.addEventListener(r,s,o),p.push(s),d&&d.push(r,x,w,o)}else s=fA(i,e,f,s,!1);const _=i.outputs;let y;if(g&&null!==_&&(y=_[r])){const v=y.length;if(v)for(let C=0;C0;)e=e[15],n--;return e}(n,Yt.lFrame.contextLView))[8]}(n)}function J7(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const ts={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function FN(n){return n.substring(ts.key,ts.keyEnd)}function NN(n,e){const t=ts.textEnd;return t===e?-1:(e=ts.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,ts.key=e,t),Ig(n,e,t))}function Ig(n,e,t){for(;e=0;t=NN(e,t))yo(n,FN(e),!0)}function $l(n,e,t,i){const r=Oe(),s=Dn(),o=mo(2);s.firstUpdatePass&&UN(s,n,o,i),e!==kt&&qs(r,o,e)&&$N(s,s.data[As()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=W(gs(n)))),n}(e,t),i,o)}function Gl(n,e,t,i){const r=Dn(),s=mo(2);r.firstUpdatePass&&UN(r,null,s,i);const o=Oe();if(t!==kt&&qs(o,s,t)){const a=r.data[As()];if(WN(a,i)&&!jN(r,s)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Y(l,t||"")),hA(r,a,o,t,i)}else!function(n,e,t,i,r,s,o,a){r===kt&&(r=mi);let l=0,c=0,d=0=n.expandoStartIndex}function UN(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[As()],o=jN(n,t);WN(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=M_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=ev(t=gA(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=gA(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Vl(i))return n[Bt(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=gA(null,n,e,l[1],i),l=ev(l,e.attrs,i),function(n,e,t,i){n[Bt(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else d=t;if(r)if(0!==l){const p=Bt(n[a+1]);n[i+1]=tl(p,a),0!==p&&(n[p+1]=nl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=tl(a,0),0!==a&&(n[a+1]=nl(n[a+1],i)),a=i;else n[i+1]=tl(l,0),0===a?a=i:n[l+1]=nl(n[l+1],i),l=i;c&&(n[i+1]=Yi(n[i+1])),kN(n,d,i,!0),kN(n,d,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Qr(s,e)>=0&&(t[i+1]=wy(t[i+1]))}(e,d,n,i,s),o=tl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function gA(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),d=c?l[1]:l,f=null===d;let p=t[r+1];p===kt&&(p=f?mi:void 0);let g=f?z_(p,i):d===i?p:void 0;if(c&&!Tw(g)&&(g=z_(l,i)),Tw(g)&&(a=g,o))return a;const _=n[r+1];r=o?Bt(_):Vl(_)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=z_(l,i))}return a}function Tw(n){return void 0!==n}function WN(n,e){return 0!=(n.flags&(e?16:32))}function De(n,e=""){const t=Oe(),i=Dn(),r=n+20,s=i.firstCreatePass?Yd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Ii(n)?n.createText(e):n.createTextNode(e)}(t[11],e);lg(i,t,o,s),Ga(s,!1)}function xi(n){return or("",n,""),xi}function or(n,e,t){const i=Oe(),r=Cg(i,n,e,t);return r!==kt&&zl(i,As(),r),or}function Aw(n,e,t,i,r){const s=Oe(),o=function(n,e,t,i,r,s){const a=mf(n,Us(),t,r);return mo(2),a?e+pe(t)+i+pe(r)+s:kt}(s,n,e,t,i,r);return o!==kt&&zl(s,As(),o),Aw}function al(n,e,t){const i=Oe();return qs(i,_a(),e)&&wo(Dn(),sr(),i,n,e,i[11],t,!0),al}function Pg(n,e,t){const i=Oe();if(qs(i,_a(),e)){const s=Dn(),o=sr();wo(s,o,i,n,e,Vy(M_(s.data),o,i),t,!0)}return Pg}const bf=void 0;var FY=["en",[["a","p"],["AM","PM"],bf],[["AM","PM"],bf,bf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],bf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],bf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",bf,"{1} 'at' {0}",bf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let Rg={};function dL(n){return n in Rg||(Rg[n]=cn.ng&&cn.ng.common&&cn.ng.common.locales&&cn.ng.common.locales[n]),Rg[n]}var at=(()=>((at=at||{})[at.LocaleId=0]="LocaleId",at[at.DayPeriodsFormat=1]="DayPeriodsFormat",at[at.DayPeriodsStandalone=2]="DayPeriodsStandalone",at[at.DaysFormat=3]="DaysFormat",at[at.DaysStandalone=4]="DaysStandalone",at[at.MonthsFormat=5]="MonthsFormat",at[at.MonthsStandalone=6]="MonthsStandalone",at[at.Eras=7]="Eras",at[at.FirstDayOfWeek=8]="FirstDayOfWeek",at[at.WeekendRange=9]="WeekendRange",at[at.DateFormat=10]="DateFormat",at[at.TimeFormat=11]="TimeFormat",at[at.DateTimeFormat=12]="DateTimeFormat",at[at.NumberSymbols=13]="NumberSymbols",at[at.NumberFormats=14]="NumberFormats",at[at.CurrencyCode=15]="CurrencyCode",at[at.CurrencySymbol=16]="CurrencySymbol",at[at.CurrencyName=17]="CurrencyName",at[at.Currencies=18]="Currencies",at[at.Directionality=19]="Directionality",at[at.PluralCase=20]="PluralCase",at[at.ExtraData=21]="ExtraData",at))();const Dw="en-US";let hL=Dw;function mA(n){Gi(n,"Expected localeId to be defined"),"string"==typeof n&&(hL=n.toLowerCase().replace(/_/g,"-"))}function vA(n,e,t,i,r){if(n=D(n),Array.isArray(n))for(let s=0;s>20;if(Nc(n)||!n.multi){const g=new Yh(l,r,E),_=CA(a,e,r?d:d+p,f);-1===_?(Sc(ps(c,o),s,a),bA(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[_]=g,o[_]=g)}else{const g=CA(a,e,d+p,f),_=CA(a,e,d,d+p),y=g>=0&&t[g],v=_>=0&&t[_];if(r&&!v||!r&&!y){Sc(ps(c,o),s,a);const C=function(n,e,t,i,r){const s=new Yh(n,t,E);return s.multi=[],s.index=e,s.componentProviders=0,NL(s,r,i&&!t),s}(r?PX:IX,t.length,r,i,l);!r&&v&&(t[_].providerFactory=C),bA(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(C),o.push(C)}else bA(s,n,g>-1?g:_,NL(t[r?_:g],l,!r&&i));!r&&i&&v&&t[_].componentProviders++}}}function bA(n,e,t,i){const r=Nc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function NL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CA(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Dn();if(i.firstCreatePass){const r=pa(n);vA(t,i.data,i.blueprint,r,!0),vA(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class LL{}const VL="ngComponent";class FX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${W(n)}. Did you add it to @NgModule.entryComponents?`);return e[VL]=n,e}(e)}}class ll{}function kw(...n){}function Fg(n,e){return new rt(Ts(n,e))}ll.NULL=new FX;const BX=function(){return Fg(Dr(),Oe())};let rt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=BX,n})();function zL(n){return n instanceof rt?n.nativeElement:n}class Cf{}let zc=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>zX(),n})();const zX=function(){const n=Oe(),t=fs(Dr().index,n);return function(n){return n[11]}(Fo(t)?t:n)};let SA=(()=>{class n{}return n.\u0275prov=ue({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new ju("12.2.5");class UL{constructor(){}supports(e){return Ky(e)}create(e){return new $X(e)}}const HX=(n,e)=>e;class $X{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||HX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<$L(i,r,s)?t:i,a=$L(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,d=l-r;if(c!=d){for(let p=0;p{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new GX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new HL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new HL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class GX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class WX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class HL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new WX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $L(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new YX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class YX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function WL(){return new Ng([new UL])}let Ng=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:WL}),n})();function qL(){return new Lg([new GL])}let Lg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||qL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:qL}),n})();function Fw(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(qi(s)),No(s))for(let a=10;a-1&&(gy(e,i),kl(t,i))}this._attachedToViewContainer=!1}my(this._lView[1],this._lView)}onDestroy(e){tw(this._lView[1],this._lView,null,e)}markForCheck(){Fy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ly(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Ip(!0);try{Ly(n,e,t)}finally{Ip(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Wd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class KX extends sv{constructor(e){super(e),this._view=e}detectChanges(){dw(this._view)}checkNoChanges(){!function(n){Ip(!0);try{dw(n)}finally{Ip(!1)}}(this._view)}get context(){return null}}const QX=function(n){return function(n,e,t){if(Cd(n)&&!t){const i=fs(n.index,e);return new sv(i,i)}return 47&n.type?new sv(e[16],e):null}(Dr(),Oe(),16==(16&n))};let kn=(()=>{class n{}return n.__NG_ELEMENT_ID__=QX,n})();const tK=[new GL],iK=new Ng([new UL]),rK=new Lg(tK),oK=function(){return Nw(Dr(),Oe())};let Ys=(()=>{class n{}return n.__NG_ELEMENT_ID__=oK,n})();const aK=Ys,lK=class extends aK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new sv(i)}};function Nw(n,e){return 4&n.type?new lK(e,n,Fg(n,e)):null}class jc{}const dK=function(){return ZL(Dr(),Oe())};let ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=dK,n})();const fK=ns,XL=class extends fK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Fg(this._hostTNode,this._hostLView)}get injector(){return new Bo(this._hostTNode,this._hostLView)}get parentInjector(){const e=Kh(this._hostTNode,this._hostLView);if(F0(e)){const t=qa(e,this._hostLView),i=Td(e);return new Bo(t[1].data[i+8],t)}return new Bo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=KL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(jc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return No(n[3])}(i)){const d=this.indexOf(e);if(-1!==d)this.detach(d);else{const f=i[3],p=new XL(f,f[6],f[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iyC});class vB extends LL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(lT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return yB(this.componentDef.inputs)}get outputs(){return yB(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,jg,r);return s!==jg||i===jg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Cf,Su),a=s.get(SA,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function(n,e,t){if(Ii(n))return n.selectRootElement(e,t===Ue.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):py(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?Wn:"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),f=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||yC,clean:HT,playerHandler:e||null,flags:0}}(),g=gg(0,null,null,1,0,null,null,null,null,null),_=hf(null,g,p,f,null,null,o,l,a,s);let y,v;Wh(_);try{const C=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Yd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(yg(l,c,!0),null!==n&&(Lp(r,n,c),null!==l.classes&&by(r,n,l.classes),null!==l.styles&&LC(r,n,l.styles)));const d=i.createRenderer(n,e),f=hf(t,pg(e),null,e.onPush?64:16,t[20],l,i,d,s||null,null);return o.firstCreatePass&&(Sc(ps(l,t),o,e.type),cw(o,l),Iy(l,t.length,1)),mg(t,f),t[20]=f}(d,this.componentDef,_,o,l);if(d)if(i)Lp(l,d,["ng-version",jL.full]);else{const{attrs:w,classes:x}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&by(l,d,x.join(" "))}if(v=C_(g,20),void 0!==t){const w=v.projection=[];for(let x=0;xl(o,e)),e.contentQueries){const l=Dr();e.contentQueries(1,o,l.directiveStart)}const a=Dr();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(Hs(a.index),aw(t[1],a,0,a.directiveStart,a.directiveEnd,e),lw(e,o)),o}(C,this.componentDef,_,p,[m7]),ff(g,_,null)}finally{Cn()}return new hZ(this.componentType,y,Fg(v,_),_,v)}}class hZ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new KX(r),this.componentType=e}get injector(){return new Bo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Ug=new Map;class gZ extends jc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _B(this);const i=po(e),r=function(n){return n[xx]||null}(e);r&&mA(r),this._bootstrapComponents=Ja(i.bootstrap),this._r3Injector=gw(e,t,[{provide:jc,useValue:this},{provide:ll,useValue:this.componentFactoryResolver}],W(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Nt.THROW_IF_NOT_FOUND,i=At.Default){return e===Nt||e===jc||e===Fc?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class BA extends class{}{constructor(e){super(),this.moduleType=e,null!==po(e)&&function(n){const e=new Set;!function t(i){const r=po(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${W(e)} vs ${W(e.name)}`)}(s,Ug.get(s),i),Ug.set(s,i));const o=Ja(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new gZ(this.moduleType,e)}}function fv(n,e,t){const i=Yr()+n,r=Oe();return r[i]===kt?Bc(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function Hg(n,e,t,i){return wB(Oe(),Yr(),n,e,t,i)}function pv(n,e){const t=n[e];return t===kt?void 0:t}function wB(n,e,t,i,r,s){const o=e+t;return qs(n,o,r)?Bc(n,o+1,s?i.call(s,r):i(r)):pv(n,o+1)}function Kt(n,e){const t=Dn();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new $("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=wc(i.type)),o=da(E);try{const a=Bp(!1),l=s();return Bp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Oe(),r,l),l}finally{da(o)}}function rn(n,e,t){const i=n+20,r=Oe(),s=Ed(r,i);return _v(r,mv(r,i)?wB(r,Yr(),e,s.transform,t,s):s.transform(t))}function gv(n,e,t,i){const r=n+20,s=Oe(),o=Ed(s,r);return _v(s,mv(s,r)?function(n,e,t,i,r,s,o){const a=e+t;return mf(n,a,r,s)?Bc(n,a+2,o?i.call(o,r,s):i(r,s)):pv(n,a+2)}(s,Yr(),e,o.transform,t,i,o):o.transform(t,i))}function mv(n,e){return n[1].data[e].pure}function _v(n,e){return Ul.isWrapped(e)&&(e=Ul.unwrap(e),n[Us()]=kt),e}function VA(n){return e=>{setTimeout(n,void 0,e)}}const Le=class extends Se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const f=e;a=null===(r=f.next)||void 0===r?void 0:r.bind(f),l=null===(s=f.error)||void 0===s?void 0:s.bind(f),c=null===(o=f.complete)||void 0===o?void 0:o.bind(f)}this.__isAsync&&(l=VA(l),a&&(a=VA(a)),c&&(c=VA(c)));const d=super.subscribe({next:a,error:l,complete:c});return e instanceof Te&&e.add(d),d}};function DZ(){return this._results[vg()]()}class Sf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=vg(),i=Sf.prototype;i[t]||(i[t]=DZ)}get changes(){return this._changes||(this._changes=new Le)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=Vo(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],d=e[-l];for(let f=10;f{class n{constructor(t){this.appInits=t,this.resolve=kw,this.reject=kw,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(I(Mf,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const vv=new ve("AppId"),uQ={provide:vv,useFactory:function(){return`${KA()}${KA()}${KA()}`},deps:[]};function KA(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const XB=new ve("Platform Initializer"),dl=new ve("Platform ID"),bv=new ve("appBootstrapListener");let $w=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Uu=new ve("LocaleId"),KB=new ve("DefaultCurrencyCode");class hQ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const ZA=function(n){return new BA(n)},fQ=ZA,pQ=function(n){return Promise.resolve(ZA(n))},ZB=function(n){const e=ZA(n),i=Ja(po(n).declarations).reduce((r,s)=>{const o=Kn(s);return o&&r.push(new vB(o)),r},[]);return new hQ(e,i)},gQ=ZB,mQ=function(n){return Promise.resolve(ZB(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=fQ,this.compileModuleAsync=pQ,this.compileModuleAndAllComponentsSync=gQ,this.compileModuleAndAllComponentsAsync=mQ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const QB=new ve("compilerOptions"),yQ=(()=>Promise.resolve(0))();function QA(n){"undefined"==typeof Zone?yQ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class dt{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Le(!1),this.onMicrotaskEmpty=new Le(!1),this.onStable=new Le(!1),this.onError=new Le(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=cn.requestAnimationFrame,e=cn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(cn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,eD(n),n.isCheckStableRunning=!0,JA(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),eD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return JB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),e3(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return JB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),e3(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,eD(n),JA(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!dt.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(dt.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,bQ,kw,kw);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const bQ={};function JA(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function eD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function JB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function e3(n){n._nesting--,JA(n)}class EQ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Le,this.onMicrotaskEmpty=new Le,this.onStable=new Le,this.onError=new Le}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let tD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{dt.assertNotInAngularZone(),QA(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())QA(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),t3=(()=>{class n{constructor(){this._applications=new Map,nD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return nD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class SQ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let nD=new SQ,n3=!0,i3=!1;function Mo(){return i3=!0,n3}let Yl;const r3=new ve("AllowMultipleToken");function s3(n,e,t=[]){const i=`Platform: ${e}`,r=new ve(i);return(s=[])=>{let o=rD();if(!o||o.injector.get(r3,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Vu,useValue:"platform"});!function(n){if(Yl&&!Yl.destroyed&&!Yl.injector.get(r3,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Yl=n.get(o3);const e=n.get(XB,null);e&&e.forEach(t=>t())}(Nt.create({providers:a,name:i}))}return function(n){const e=rD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function rD(){return Yl&&!Yl.destroyed?Yl:null}let o3=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new EQ:("zone.js"===n?void 0:n)||new dt({enableLongStackTrace:Mo(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:dt,useValue:a}];return a.run(()=>{const c=Nt.create({providers:l,parent:this.injector,name:t.moduleType.name}),d=t.create(c),f=d.injector.get($o,null);if(!f)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{f.handleError(g)}});d.onDestroy(()=>{sD(this._modules,d),p.unsubscribe()})}),function(n,e,t){try{const i=t();return Og(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(f,a,()=>{const p=d.injector.get(Gg);return p.runInitializers(),p.donePromise.then(()=>(mA(d.injector.get(Uu,Dw)||Dw),this._moduleDoBootstrap(d),d))})})}bootstrapModule(t,i=[]){const r=a3({},i);return function(n,e,t){const i=new BA(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(Jd);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${W(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function a3(n,e){return Array.isArray(e)?e.reduce(a3,n):Object.assign(Object.assign({},n),e)}let Jd=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new ce(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new ce(c=>{let d;this._zone.runOutsideAngular(()=>{d=this._zone.onStable.subscribe(()=>{dt.assertNotInAngularZone(),QA(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const f=this._zone.onUnstable.subscribe(()=>{dt.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{d.unsubscribe(),f.unsubscribe()}});this.isStable=Ni(a,l.pipe(Vs()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof LL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(jc),a=r.create(Nt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(tD,null),d=c&&a.injector.get(t3);return c&&d&&d.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),sD(this.components,a),d&&d.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;sD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(bv,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(Nt),I($o),I(ll),I(Gg))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function sD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const ZQ=s3(null,"core",[{provide:dl,useValue:"unknown"},{provide:o3,deps:[Nt]},{provide:t3,deps:[]},{provide:$w,deps:[]}]),nJ=[{provide:Jd,useClass:Jd,deps:[dt,Nt,$o,ll,Gg]},{provide:cZ,deps:[dt],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Gg,useClass:Gg,deps:[[new br,Mf]]},{provide:xf,useClass:xf,deps:[]},uQ,{provide:Ng,useFactory:function(){return iK},deps:[]},{provide:Lg,useFactory:function(){return rK},deps:[]},{provide:Uu,useFactory:function(n){return mA(n=n||"undefined"!=typeof $localize&&$localize.locale||Dw),n},deps:[[new Ld(Uu),new br,new Za]]},{provide:KB,useValue:"USD"}];let rJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(I(Jd))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:nJ}),n})(),tE=null;function Uc(){return tE}const ut=new ve("DocumentToken");let Df=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:iee,token:n,providedIn:"platform"}),n})();function iee(){return I(F3)}let F3=(()=>{class n extends Df{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Uc().getBaseHref(this._doc)}onPopState(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){N3()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){N3()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:see,token:n,providedIn:"platform"}),n})();function N3(){return!!window.history.pushState}function see(){return new F3(I(ut))}function bD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function L3(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function $u(n){return n&&"?"!==n[0]?"?"+n:n}let Yg=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:oee,token:n,providedIn:"root"}),n})();function oee(n){const e=I(ut).location;return new B3(I(Df),e&&e.origin||"")}const CD=new ve("appBaseHref");let B3=(()=>{class n extends Yg{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return bD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+$u(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(I(Df),I(CD,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Xg=(()=>{class n{constructor(t,i){this._subject=new Le,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=L3(V3(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+$u(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,V3(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(I(Yg),I(Df))},n.normalizeQueryParams=$u,n.joinWithSlash=bD,n.stripTrailingSlash=L3,n.\u0275prov=ue({factory:lee,token:n,providedIn:"root"}),n})();function lee(){return new Xg(I(Yg),I(Df))}function V3(n){return n.replace(/\/index.html$/,"")}var Br=(()=>((Br=Br||{})[Br.Zero=0]="Zero",Br[Br.One=1]="One",Br[Br.Two=2]="Two",Br[Br.Few=3]="Few",Br[Br.Many=4]="Many",Br[Br.Other=5]="Other",Br))();const mee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=dL(e);if(t)return t;const i=e.split("-")[0];if(t=dL(i),t)return t;if("en"===i)return FY;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[at.PluralCase]};class dE{}let Gee=(()=>{class n extends dE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(mee(i||this.locale)(t)){case Br.Zero:return"zero";case Br.One:return"one";case Br.Two:return"two";case Br.Few:return"few";case Br.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(I(Uu))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function Y3(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let hE=(()=>{class n{constructor(t,i,r,s){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=s,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Ky(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${W(i.item)}`);this._toggleClass(i.item,!0)}),t.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!0)):Object.keys(t).forEach(i=>this._toggleClass(i,!!t[i])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!1)):Object.keys(t).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(t,i){(t=t.trim())&&t.split(/\s+/g).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(t){return new(t||n)(E(Ng),E(Lg),E(rt),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),n})();class qee{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let pl=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new qee(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new X3(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new X3(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Ng))},n.\u0275dir=oe({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class X3{constructor(e,t){this.record=e,this.view=t}}let zr=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Xee,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){K3("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){K3("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys))},n.\u0275dir=oe({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Xee{constructor(){this.$implicit=null,this.ngIf=null}}function K3(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${W(e)}'.`)}class OD{constructor(e,t){this._viewContainerRef=e,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(e){e&&!this._created?this.create():!e&&this._created&&this.destroy()}}let Av=(()=>{class n{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const i=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let i=0;i{class n{constructor(t,i,r){this.ngSwitch=r,r._addCase(),this._view=new OD(t,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),n})(),Z3=(()=>{class n{constructor(t,i,r){r._addDefault(new OD(t,i))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchDefault",""]]}),n})(),J3=(()=>{class n{constructor(t,i,r){this._ngEl=t,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[r,s]=t.split(".");null!=(i=null!=i&&s?`${i}${s}`:i)?this._renderer.setStyle(this._ngEl.nativeElement,r,i):this._renderer.removeStyle(this._ngEl.nativeElement,r)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Lg),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),n})();function Ql(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${W(n)}'`)}class Qee{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Jee{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const ete=new Jee,tte=new Qee;let Hc=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(Og(t))return ete;if(EN(t))return tte;throw Ql(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(kn,16))},n.\u0275pipe=ds({name:"async",type:n,pure:!1}),n})();const ate=/#/g;let eV=(()=>{class n{constructor(t){this._localization=t}transform(t,i,r){if(null==t)return"";if("object"!=typeof i||null===i)throw Ql(n,i);return i[function(n,e,t,i){let r=`=${n}`;if(e.indexOf(r)>-1||(r=t.getPluralCategory(n,i),e.indexOf(r)>-1))return r;if(e.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${n}"`)}(t,Object.keys(i),this._localization,r)].replace(ate,t.toString())}}return n.\u0275fac=function(t){return new(t||n)(E(dE,16))},n.\u0275pipe=ds({name:"i18nPlural",type:n,pure:!0}),n})(),tV=(()=>{class n{transform(t){return JSON.stringify(t,null,2)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=ds({name:"json",type:n,pure:!1}),n})(),dn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:dE,useClass:Gee}]}),n})();const rV="browser";function Of(n){return n===rV}function kD(n){return"server"===n}class aV{}class FD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){tE||(tE=n)}(new FD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Dv=Dv||document.querySelector("base"),Dv?Dv.getAttribute("href"):null);return null==t?null:function(n){fE=fE||document.createElement("a"),fE.setAttribute("href",n);const e=fE.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Dv=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return Y3(document.cookie,e)}}let fE,Dv=null;const lV=new ve("TRANSITION_ID"),Ete=[{provide:Mf,useFactory:function(n,e,t){return()=>{t.get(Gg).donePromise.then(()=>{const i=Uc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},cn.getAllAngularTestabilities=()=>e.getAllTestabilities(),cn.getAllAngularRootElements=()=>e.getAllRootElements(),cn.frameworkStabilizers||(cn.frameworkStabilizers=[]),cn.frameworkStabilizers.push(i=>{const r=cn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Uc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Ste=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Ov=new ve("EventManagerPlugins");let gE=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Iv=(()=>{class n extends uV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(dV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(dV))}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function dV(n){Uc().remove(n)}const BD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},VD=/%COMP%/g;function mE(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let _E=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new zD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Ue.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new Vte(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Ue.ShadowDom:return new zte(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=mE(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(I(gE),I(Iv),I(vv))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class zD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(BD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=BD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=BD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Co.DashCase|Co.Important)?e.style.setProperty(t,i,r&Co.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Co.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,pV(i)):this.eventManager.addEventListener(e,t,pV(i))}}class Vte extends zD{constructor(e,t,i,r){super(e),this.component=i;const s=mE(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(VD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(VD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class zte extends zD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=mE(r.id,r.styles,[]);for(let o=0;o{class n extends LD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const _V=["alt","control","meta","shift"],Yte={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},yV={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Xte={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Kte=(()=>{class n extends LD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Uc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(_V.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&yV.hasOwnProperty(e)&&(e=yV[e]))}return Yte[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),_V.forEach(s=>{s!=r&&Xte[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),th=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return I(UD)},token:n,providedIn:"root"}),n})(),UD=(()=>{class n extends th{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case mn.NONE:return i;case mn.HTML:return jo(i,"HTML")?gs(i):ey(this._doc,String(i)).toString();case mn.STYLE:return jo(i,"Style")?gs(i):i;case mn.SCRIPT:if(jo(i,"Script"))return gs(i);throw new Error("unsafe value used in a script context");case mn.URL:return Pc(i),jo(i,"URL")?gs(i):bo(String(i));case mn.RESOURCE_URL:if(jo(i,"ResourceURL"))return gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new W_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new q_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new zd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Ut(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return function(n){return new UD(n.get(ut))}(I(Fc))},token:n,providedIn:"root"}),n})();const rne=s3(ZQ,"browser",[{provide:dl,useValue:rV},{provide:XB,useValue:function(){FD.makeCurrent(),ND.init()},multi:!0},{provide:ut,useFactory:function(){return function(n){fi=n}(document),document},deps:[]}]),sne=[[],{provide:Vu,useValue:"root"},{provide:$o,useFactory:function(){return new $o},deps:[]},{provide:Ov,useClass:jte,multi:!0,deps:[ut,dt,dl]},{provide:Ov,useClass:Kte,multi:!0,deps:[ut]},[],{provide:_E,useClass:_E,deps:[gE,Iv,vv]},{provide:Cf,useExisting:_E},{provide:uV,useExisting:Iv},{provide:Iv,useClass:Iv,deps:[ut]},{provide:tD,useClass:tD,deps:[dt]},{provide:gE,useClass:gE,deps:[Ov,dt]},{provide:aV,useClass:Ste,deps:[]},[]];let yE=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:vv,useValue:t.appId},{provide:lV,useExisting:vv},Ete]}}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:sne,imports:[dn,rJ]}),n})();"undefined"!=typeof window&&window;class fne extends Te{constructor(e,t){super()}schedule(e,t=0){return this}}class vE extends fne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class Jl extends bV{constructor(e,t=bV.now){super(e,()=>Jl.delegate&&Jl.delegate!==this?Jl.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return Jl.delegate&&Jl.delegate!==this?Jl.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const mne=new class extends Jl{}(class extends vE{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),ec=new ce(n=>n.complete());function bE(n){return n?function(n){return new ce(e=>n.schedule(()=>e.complete()))}(n):ec}function ht(...n){let e=n[n.length-1];return Gn(e)?(n.pop(),Fi(n,e)):za(n)}function Kg(n,e){return new ce(e?t=>e.schedule(yne,0,{error:n,subscriber:t}):t=>t.error(n))}function yne({error:n,subscriber:e}){e.error(n)}class Ko{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return ht(this.value);case"E":return Kg(this.error);case"C":return bE()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new Ko("N",e):Ko.undefinedValueNotification}static createError(e){return new Ko("E",void 0,e)}static createComplete(){return Ko.completeNotification}}Ko.completeNotification=new Ko("C"),Ko.undefinedValueNotification=new Ko("N",void 0);class CE extends xt{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(CE.dispatch,this.delay,new bne(e,this.destination)))}_next(e){this.scheduleMessage(Ko.createNext(e))}_error(e){this.scheduleMessage(Ko.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(Ko.createComplete()),this.unsubscribe()}}class bne{constructor(e,t){this.notification=e,this.destination=t}}class If extends Se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Cne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new Qt;if(this.isStopped||this.hasError?o=Te.EMPTY:(this.observers.push(e),o=new li(this,e)),r&&e.add(e=new CE(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Cne{constructor(e,t){this.time=e,this.value=t}}function Pr(n,e){return"function"==typeof e?t=>t.pipe(Pr((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new wne(n))}class wne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Ene(e,this.project))}}class Ene extends ii{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new Gr(this),r=this.destination;r.add(i),this.innerSubscription=co(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const wE={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return wE.schedule(n,0);if(void 0===window.requestAnimationFrame)return wE.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let $D;function Rne(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!$D){const t=Element.prototype;$D=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&$D.call(n,e)}(n,r)||(i=s,0))),i}class Fne{constructor(e,t){this.componentFactory=t.get(ll).resolveComponentFactory(e)}create(e){return new Nne(this.componentFactory,e)}}class Nne{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new If(1),this.events=this.eventEmitters.pipe(Pr(i=>Ni(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(dt),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=wE.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Nt.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(Ae(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=wE.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new y_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class Lne extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}function Mt(n){return null!=n&&"false"!=`${n}`}function To(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function EE(n){return Array.isArray(n)?n:[n]}function jr(n){return null==n?"":"string"==typeof n?n:`${n}px`}function Wu(n){return n instanceof rt?n.nativeElement:n}const Pf=new Jl(vE);function Zg(n,e=Pf){return t=>t.lift(new jne(n,e))}class jne{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new Une(e,this.dueTime,this.scheduler))}}class Une extends xt{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Hne,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function Hne(n){n.debouncedNext()}let GD=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),CV=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=Wu(t);return new ce(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new Se,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(I(GD))},n.\u0275prov=ue({factory:function(){return new n(I(GD))},token:n,providedIn:"root"}),n})(),WD=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new Le,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=To(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(Zg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(CV),E(rt),E(dt))},n.\u0275dir=oe({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),SE=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GD]}),n})();class ar extends Se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Qt;return this._value}next(e){super.next(this._value=e)}}function Zs(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}function ih(){}function Ti(n,e,t){return function(r){return r.lift(new tie(n,e,t))}}class tie{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new nie(e,this.nextOrObserver,this.error,this.complete))}}class nie extends xt{constructor(e,t,i,r){super(e),this._tapNext=ih,this._tapError=ih,this._tapComplete=ih,this._tapError=i||ih,this._tapComplete=r||ih,Ke(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||ih,this._tapError=t.error||ih,this._tapComplete=t.complete||ih)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function Fn(n,e){return function(i){return i.lift(new iie(n,e))}}class iie{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rie(e,this.predicate,this.thisArg))}}class rie extends xt{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}const SV=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function yi(n){return e=>0===n?bE():e.lift(new sie(n))}class sie{constructor(e){if(this.total=e,this.total<0)throw new SV}call(e,t){return t.subscribe(new oie(e,this.total))}}class oie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function QD(n){return e=>e.lift(new aie(n))}class aie{constructor(e){this.total=e}call(e,t){return t.subscribe(new lie(e,this.total))}}class lie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function Zo(n,e){return t=>t.lift(new cie(n,e))}class cie{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new uie(e,this.compare,this.keySelector))}}class uie extends xt{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}function Tn(n){return e=>e.lift(new die(n))}class die{constructor(e){this.notifier=e}call(e,t){const i=new hie(e),r=co(this.notifier,new Gr(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class hie extends ii{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}let JD;try{JD="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){JD=!1}let em,si=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Of(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!JD)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(I(dl))},n.\u0275prov=ue({factory:function(){return new n(I(dl))},token:n,providedIn:"root"}),n})(),Rv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const MV=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function xV(){if(em)return em;if("object"!=typeof document||!document)return em=new Set(MV),em;let n=document.createElement("input");return em=new Set(MV.filter(e=>(n.setAttribute("type",e),n.type===e))),em}let kv,Ff,eO;function tm(n){return function(){if(null==kv&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>kv=!0}))}finally{kv=kv||!1}return kv}()?n:!!n.capture}function TV(){if(null==Ff){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ff=!1,Ff;if("scrollBehavior"in document.documentElement.style)Ff=!0;else{const n=Element.prototype.scrollTo;Ff=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Ff}function xE(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Nf(n){return n.composedPath?n.composedPath()[0]:n.target}function TE(n,e){return(n.getAttribute(e)||"").match(/\S+/g)||[]}const DV="cdk-describedby-message-container",OV="cdk-describedby-message",AE="cdk-describedby-host";let yie=0;const $c=new Map;let Rs=null,IV=(()=>{class n{constructor(t){this._document=t}describe(t,i,r){if(!this._canBeDescribed(t,i))return;const s=tO(i,r);"string"!=typeof i?(PV(i),$c.set(s,{messageElement:i,referenceCount:0})):$c.has(s)||this._createMessageElement(i,r),this._isElementDescribedByMessage(t,s)||this._addMessageReference(t,s)}removeDescription(t,i,r){if(!i||!this._isElementNode(t))return;const s=tO(i,r);if(this._isElementDescribedByMessage(t,s)&&this._removeMessageReference(t,s),"string"==typeof i){const o=$c.get(s);o&&0===o.referenceCount&&this._deleteMessageElement(s)}Rs&&0===Rs.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${AE}]`);for(let i=0;i0!=r.indexOf(OV));t.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(t,i){const r=$c.get(i);(function(n,e,t){const i=TE(n,e);i.some(r=>r.trim()==t.trim())||(i.push(t.trim()),n.setAttribute(e,i.join(" ")))})(t,"aria-describedby",r.messageElement.id),t.setAttribute(AE,""),r.referenceCount++}_removeMessageReference(t,i){const r=$c.get(i);r.referenceCount--,function(n,e,t){const r=TE(n,e).filter(s=>s!=t.trim());r.length?n.setAttribute(e,r.join(" ")):n.removeAttribute(e)}(t,"aria-describedby",r.messageElement.id),t.removeAttribute(AE)}_isElementDescribedByMessage(t,i){const r=TE(t,"aria-describedby"),s=$c.get(i),o=s&&s.messageElement.id;return!!o&&-1!=r.indexOf(o)}_canBeDescribed(t,i){if(!this._isElementNode(t))return!1;if(i&&"object"==typeof i)return!0;const r=null==i?"":`${i}`.trim(),s=t.getAttribute("aria-label");return!(!r||s&&s.trim()===r)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})();function tO(n,e){return"string"==typeof n?`${e||""}/${n}`:n}function PV(n){n.id||(n.id=`${OV}-${yie++}`)}class RV{constructor(e){this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Se,this._typeaheadSubscription=Te.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new Se,this.change=new Se,e instanceof Sf&&e.changes.subscribe(t=>{if(this._activeItem){const r=t.toArray().indexOf(this._activeItem);r>-1&&r!==this._activeItemIndex&&(this._activeItemIndex=r)}})}skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Ti(t=>this._pressedLetters.push(t)),Zg(e),Fn(()=>this._pressedLetters.length>0),Ae(()=>this._pressedLetters.join(""))).subscribe(t=>{const i=this._getItemsArray();for(let r=1;r!e[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(t){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}return;default:return void((r||Zs(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(t>=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t))))}this._pressedLetters=[],e.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(e){const t=this._getItemsArray(),i="number"==typeof e?e:t.indexOf(e),r=t[i];this._activeItem=null==r?null:r,this._activeItemIndex=i}_setActiveItemByDelta(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}_setActiveInWrapMode(e){const t=this._getItemsArray();for(let i=1;i<=t.length;i++){const r=(this._activeItemIndex+e*i+t.length)%t.length;if(!this._skipPredicateFn(t[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}_setActiveItemByIndex(e,t){const i=this._getItemsArray();if(i[e]){for(;this._skipPredicateFn(i[e]);)if(!i[e+=t])return;this.setActiveItem(e)}}_getItemsArray(){return this._items instanceof Sf?this._items.toArray():this._items}}class kV extends RV{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}}class nO extends RV{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}}let FV=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===LV(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=LV(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||NV(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function NV(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function LV(n){if(!NV(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Die{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(yi(1)).subscribe(e)}}let BV=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new Die(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(I(FV),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(FV),I(dt),I(ut))},token:n,providedIn:"root"}),n})();function VV(n){return 0===n.offsetX&&0===n.offsetY}function zV(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const jV=new ve("cdk-input-modality-detector-options"),kie={ignoreKeys:[18,17,224,91,16]},nm=tm({passive:!0,capture:!0});let HV=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new ar(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Nf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(VV(o)?"keyboard":"mouse"),this._mostRecentTarget=Nf(o))},this._onTouchstart=o=>{zV(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Nf(o))},this._options=Object.assign(Object.assign({},kie),s),this.modalityDetected=this._modality.pipe(QD(1)),this.modalityChanged=this.modalityDetected.pipe(Zo()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,nm),r.addEventListener("mousedown",this._onMousedown,nm),r.addEventListener("touchstart",this._onTouchstart,nm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,nm),document.removeEventListener("mousedown",this._onMousedown,nm),document.removeEventListener("touchstart",this._onTouchstart,nm))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut),I(jV,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut),I(jV,8))},token:n,providedIn:"root"}),n})();const $V=new ve("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),GV=new ve("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let DE=(()=>{class n{constructor(t,i,r,s){this._ngZone=i,this._defaultOptions=s,this._document=r,this._liveElement=t||this._createLiveElement()}announce(t,...i){const r=this._defaultOptions;let s,o;return 1===i.length&&"number"==typeof i[0]?o=i[0]:[s,o]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=r&&r.politeness?r.politeness:"polite"),null==o&&r&&(o=r.duration),this._liveElement.setAttribute("aria-live",s),this._ngZone.runOutsideAngular(()=>new Promise(a=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,a(),"number"==typeof o&&(this._previousTimeout=setTimeout(()=>this.clear(),o))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",i=this._document.getElementsByClassName(t),r=this._document.createElement("div");for(let s=0;s{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new Se,this._rootNodeFocusAndBlurListener=a=>{const l=Nf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let d=l;d;d=d.parentElement)c.call(this,a,d)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=Wu(t);if(!this._platform.isBrowser||1!==r.nodeType)return ht(null);const s=function(n){if(function(){if(null==eO){const n="undefined"!=typeof document?document.head:null;eO=!(!n||!n.createShadowRoot&&!n.attachShadow)}return eO}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new Se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=Wu(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=Wu(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Nf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,OE)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Tn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,OE),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},token:n,providedIn:"root"}),n})();const qV="cdk-high-contrast-black-on-white",YV="cdk-high-contrast-white-on-black",iO="cdk-high-contrast-active";let XV=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(iO),t.remove(qV),t.remove(YV),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(iO),t.add(qV)):2===i&&(t.add(iO),t.add(YV))}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(ut))},token:n,providedIn:"root"}),n})(),Nie=(()=>{class n{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return n.\u0275fac=function(t){return new(t||n)(I(XV))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv,SE]]}),n})();const KV=new ve("cdk-dir-doc",{providedIn:"root",factory:function(){return Oc(ut)}});let Qo=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new Le,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(I(KV,8))},n.\u0275prov=ue({factory:function(){return new n(I(KV,8))},token:n,providedIn:"root"}),n})(),Nv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const ZV=new ju("12.2.5");function IE(...n){return uo(1)(ht(...n))}function Rr(...n){const e=n[n.length-1];return Gn(e)?(n.pop(),t=>IE(n,t,e)):t=>IE(n,t)}class QV{}const qu="*";function tc(n,e){return{type:7,name:n,definitions:e,options:{}}}function Ao(n,e=null){return{type:4,styles:e,timings:n}}function JV(n,e=null){return{type:2,steps:n,options:e}}function ti(n){return{type:6,styles:n,offset:null}}function wr(n,e,t){return{type:0,name:n,styles:e,options:t}}function zie(n){return{type:5,steps:n}}function Qs(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function jie(n=null){return{type:9,options:n}}function Uie(n,e,t=null){return{type:11,selector:n,animation:e,options:t}}function ez(n){Promise.resolve(null).then(n)}class im{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ez(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class tz{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,i=0,r=0;const s=this.players.length;0==s?ez(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==s&&this._onFinish()}),o.onDestroy(()=>{++i==s&&this._onDestroy()}),o.onStart(()=>{++r==s&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){const t=e*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,t/i.totalTime):1;i.setPosition(r)})}getPosition(){const e=this.players.reduce((t,i)=>null===t||i.totalTime>t.totalTime?i:t,null);return null!=e?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function nz(){return"undefined"!=typeof window&&void 0!==window.document}function sO(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function rh(n){switch(n.length){case 0:return new im;case 1:return n[0];default:return new tz(n)}}function iz(n,e,t,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(d=>{const f=d.offset,p=f==l,g=p&&c||{};Object.keys(d).forEach(_=>{let y=_,v=d[_];if("offset"!==_)switch(y=e.normalizePropertyName(y,o),v){case"!":v=r[_];break;case qu:v=s[_];break;default:v=e.normalizeStyleValue(_,y,v,o)}g[y]=v}),p||a.push(g),c=g,l=f}),o.length){const d="\n - ";throw new Error(`Unable to animate due to the following errors:${d}${o.join(d)}`)}return a}function oO(n,e,t,i){switch(e){case"start":n.onStart(()=>i(t&&aO(t,"start",n)));break;case"done":n.onDone(()=>i(t&&aO(t,"done",n)));break;case"destroy":n.onDestroy(()=>i(t&&aO(t,"destroy",n)))}}function aO(n,e,t){const i=t.totalTime,s=lO(n.element,n.triggerName,n.fromState,n.toState,e||n.phaseName,null==i?n.totalTime:i,!!t.disabled),o=n._data;return null!=o&&(s._data=o),s}function lO(n,e,t,i,r="",s=0,o){return{element:n,triggerName:e,fromState:t,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function Ma(n,e,t){let i;return n instanceof Map?(i=n.get(e),i||n.set(e,i=t)):(i=n[e],i||(i=n[e]=t)),i}function rz(n){const e=n.indexOf(":");return[n.substring(1,e),n.substr(e+1)]}let cO=(n,e)=>!1,uO=(n,e)=>!1,sz=(n,e,t)=>[];const oz=sO();(oz||"undefined"!=typeof Element)&&(cO=nz()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),uO=(()=>{if(oz||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):uO}})(),sz=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{const i=t.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=n[t]}),e}let cz=(()=>{class n{validateStyleProperty(t){return dO(t)}matchesElement(t,i){return hO(t,i)}containsElement(t,i){return fO(t,i)}query(t,i,r){return pO(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new im(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class PE{}PE.NOOP=new cz;const gO="ng-enter",RE="ng-leave",kE="ng-trigger",FE=".ng-trigger",dz="ng-animating",mO=".ng-animating";function Bf(n){if("number"==typeof n)return n;const e=n.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:_O(parseFloat(e[1]),e[2])}function _O(n,e){switch(e){case"s":return 1e3*n;default:return n}}function NE(n,e,t){return n.hasOwnProperty("duration")?n:function(n,e,t){let r,s=0,o="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push(`The provided timing value "${n}" is invalid.`),{duration:0,delay:0,easing:""};r=_O(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(s=_O(parseFloat(l),a[4]));const c=a[5];c&&(o=c)}else r=n;if(!t){let a=!1,l=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),a=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),a=!0),a&&e.splice(l,0,`The provided timing value "${n}" is invalid.`)}return{duration:r,delay:s,easing:o}}(n,e,t)}function rm(n,e={}){return Object.keys(n).forEach(t=>{e[t]=n[t]}),e}function sh(n,e,t={}){if(e)for(let i in n)t[i]=n[i];else rm(n,t);return t}function fz(n,e,t){return t?e+":"+t+";":""}function pz(n){let e="";for(let t=0;t{const r=vO(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),sO()&&pz(n))}function Vf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=vO(t);n.style[i]=""}),sO()&&pz(n))}function Lv(n){return Array.isArray(n)?1==n.length?n[0]:JV(n):n}const yO=new RegExp("{{\\s*(.+?)\\s*}}","g");function gz(n){let e=[];if("string"==typeof n){let t;for(;t=yO.exec(n);)e.push(t[1]);yO.lastIndex=0}return e}function LE(n,e,t){const i=n.toString(),r=i.replace(yO,(s,o)=>{let a=e[o];return e.hasOwnProperty(o)||(t.push(`Please provide a value for the animation param ${o}`),a=""),a.toString()});return r==i?n:r}function BE(n){const e=[];let t=n.next();for(;!t.done;)e.push(t.value),t=n.next();return e}const Xie=/-+([a-z0-9])/g;function vO(n){return n.replace(Xie,(...e)=>e[1].toUpperCase())}function Kie(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function mz(n,e){return 0===n||0===e}function _z(n,e,t){const i=Object.keys(t);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(a=>{s.hasOwnProperty(a)||o.push(a),s[a]=t[a]}),o.length)for(var r=1;rfunction(n,e,t){if(":"==n[0]){const l=function(n,e){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i) *"}}(n,t);if("function"==typeof l)return void e.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push(`The provided transition expression "${n}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(yz(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(yz(o,r))}(i,t,e)):t.push(n),t}const zE=new Set(["true","1"]),jE=new Set(["false","0"]);function yz(n,e){const t=zE.has(n)||jE.has(n),i=zE.has(e)||jE.has(e);return(r,s)=>{let o="*"==n||n==r,a="*"==e||e==s;return!o&&t&&"boolean"==typeof r&&(o=r?zE.has(n):jE.has(n)),!a&&i&&"boolean"==typeof s&&(a=s?zE.has(e):jE.has(e)),o&&a}}const ere=new RegExp("s*:selfs*,?","g");function CO(n,e,t){return new tre(n).build(e,t)}class tre{constructor(e){this._driver=e}build(e,t){const i=new rre(t);return this._resetContextStyleTimingState(i),xa(this,Lv(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}visitTrigger(e,t){let i=t.queryCount=0,r=t.depCount=0;const s=[],o=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),0==a.type){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(d=>{l.name=d,s.push(this.visitState(l,t))}),l.name=c}else if(1==a.type){const l=this.visitTransition(a,t);i+=l.queryCount,r+=l.depCount,o.push(l)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:s,transitions:o,queryCount:i,depCount:r,options:null}}visitState(e,t){const i=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(i.containsDynamicStyles){const s=new Set,o=r||{};if(i.styles.forEach(a=>{if(UE(a)){const l=a;Object.keys(l).forEach(c=>{gz(l[c]).forEach(d=>{o.hasOwnProperty(d)||s.add(d)})})}}),s.size){const a=BE(s.values());t.errors.push(`state("${e.name}", ...) must define default values for all the following style substitutions: ${a.join(", ")}`)}}return{type:0,name:e.name,style:i,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;const i=xa(this,Lv(e.animation),t);return{type:1,matchers:Zie(e.expr,t.errors),animation:i,queryCount:t.queryCount,depCount:t.depCount,options:zf(e.options)}}visitSequence(e,t){return{type:2,steps:e.steps.map(i=>xa(this,i,t)),options:zf(e.options)}}visitGroup(e,t){const i=t.currentTime;let r=0;const s=e.steps.map(o=>{t.currentTime=i;const a=xa(this,o,t);return r=Math.max(r,t.currentTime),a});return t.currentTime=r,{type:3,steps:s,options:zf(e.options)}}visitAnimate(e,t){const i=function(n,e){let t=null;if(n.hasOwnProperty("duration"))t=n;else if("number"==typeof n)return wO(NE(n,e).duration,0,"");const i=n;if(i.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=wO(0,0,"");return s.dynamic=!0,s.strValue=i,s}return t=t||NE(i,e),wO(t.duration,t.delay,t.easing)}(e.timings,t.errors);t.currentAnimateTimings=i;let r,s=e.styles?e.styles:ti({});if(5==s.type)r=this.visitKeyframes(s,t);else{let o=e.styles,a=!1;if(!o){a=!0;const c={};i.easing&&(c.easing=i.easing),o=ti(c)}t.currentTime+=i.duration+i.delay;const l=this.visitStyle(o,t);l.isEmptyStep=a,r=l}return t.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(e,t){const i=this._makeStyleAst(e,t);return this._validateStyleAst(i,t),i}_makeStyleAst(e,t){const i=[];Array.isArray(e.styles)?e.styles.forEach(o=>{"string"==typeof o?o==qu?i.push(o):t.errors.push(`The provided style string value ${o} is not allowed.`):i.push(o)}):i.push(e.styles);let r=!1,s=null;return i.forEach(o=>{if(UE(o)){const a=o,l=a.easing;if(l&&(s=l,delete a.easing),!r)for(let c in a)if(a[c].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:i,easing:s,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){const i=t.currentAnimateTimings;let r=t.currentTime,s=t.currentTime;i&&s>0&&(s-=i.duration+i.delay),e.styles.forEach(o=>{"string"!=typeof o&&Object.keys(o).forEach(a=>{if(!this._driver.validateStyleProperty(a))return void t.errors.push(`The provided animation property "${a}" is not a supported CSS property for animations`);const l=t.collectedStyles[t.currentQuerySelector],c=l[a];let d=!0;c&&(s!=r&&s>=c.startTime&&r<=c.endTime&&(t.errors.push(`The CSS property "${a}" that exists between the times of "${c.startTime}ms" and "${c.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${r}ms"`),d=!1),s=c.startTime),d&&(l[a]={startTime:s,endTime:r}),t.options&&function(n,e,t){const i=e.params||{},r=gz(n);r.length&&r.forEach(s=>{i.hasOwnProperty(s)||t.push(`Unable to resolve the local animation param ${s} in the given list of values`)})}(o[a],t.options,t.errors)})})}visitKeyframes(e,t){const i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;let s=0;const o=[];let a=!1,l=!1,c=0;const d=e.steps.map(C=>{const w=this._makeStyleAst(C,t);let x=null!=w.offset?w.offset:function(n){if("string"==typeof n)return null;let e=null;if(Array.isArray(n))n.forEach(t=>{if(UE(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}});else if(UE(n)&&n.hasOwnProperty("offset")){const t=n;e=parseFloat(t.offset),delete t.offset}return e}(w.styles),N=0;return null!=x&&(s++,N=w.offset=x),l=l||N<0||N>1,a=a||N0&&s{const x=p>0?w==g?1:p*w:o[w],N=x*v;t.currentTime=_+y.delay+N,y.duration=N,this._validateStyleAst(C,t),C.offset=x,i.styles.push(C)}),i}visitReference(e,t){return{type:8,animation:xa(this,Lv(e.animation),t),options:zf(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:9,options:zf(e.options)}}visitAnimateRef(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:zf(e.options)}}visitQuery(e,t){const i=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;const[s,o]=function(n){const e=!!n.split(/\s*,\s*/).find(t=>":self"==t);return e&&(n=n.replace(ere,"")),[n=n.replace(/@\*/g,FE).replace(/@\w+/g,t=>FE+"-"+t.substr(1)).replace(/:animating/g,mO),e]}(e.selector);t.currentQuerySelector=i.length?i+" "+s:s,Ma(t.collectedStyles,t.currentQuerySelector,{});const a=xa(this,Lv(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:11,selector:s,limit:r.limit||0,optional:!!r.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:zf(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");const i="full"===e.timings?{duration:0,delay:0,easing:"full"}:NE(e.timings,t.errors,!0);return{type:12,animation:xa(this,Lv(e.animation),t),timings:i,options:null}}}class rre{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function UE(n){return!Array.isArray(n)&&"object"==typeof n}function zf(n){return n?(n=rm(n)).params&&(n.params=function(n){return n?rm(n):null}(n.params)):n={},n}function wO(n,e,t){return{duration:n,delay:e,easing:t}}function EO(n,e,t,i,r,s,o=null,a=!1){return{type:1,element:n,keyframes:e,preStyleProps:t,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class HE{constructor(){this._map=new Map}consume(e){let t=this._map.get(e);return t?this._map.delete(e):t=[],t}append(e,t){let i=this._map.get(e);i||this._map.set(e,i=[]),i.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}}const cre=new RegExp(":enter","g"),dre=new RegExp(":leave","g");function SO(n,e,t,i,r,s={},o={},a,l,c=[]){return(new hre).buildKeyframes(n,e,t,i,r,s,o,a,l,c)}class hre{buildKeyframes(e,t,i,r,s,o,a,l,c,d=[]){c=c||new HE;const f=new MO(e,t,c,r,s,d,[]);f.options=l,f.currentTimeline.setStyles([o],null,f.errors,l),xa(this,i,f);const p=f.timelines.filter(g=>g.containsAnimation());if(p.length&&Object.keys(a).length){const g=p[p.length-1];g.allowOnlyTimelineStyles()||g.setStyles([a],null,f.errors,l)}return p.length?p.map(g=>g.buildKeyframes()):[EO(t,[],[],[],0,0,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){const i=t.subInstructions.consume(t.element);if(i){const r=t.createSubContext(e.options),s=t.currentTimeline.currentTime,o=this._visitSubInstructions(i,r,r.options);s!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){const i=t.createSubContext(e.options);i.transformIntoNewTimeline(),this.visitReference(e.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=e}_visitSubInstructions(e,t,i){let s=t.currentTimeline.currentTime;const o=null!=i.duration?Bf(i.duration):null,a=null!=i.delay?Bf(i.delay):null;return 0!==o&&e.forEach(l=>{const c=t.appendInstructionToTimeline(l,o,a);s=Math.max(s,c.duration+c.delay)}),s}visitReference(e,t){t.updateOptions(e.options,!0),xa(this,e.animation,t),t.previousNode=e}visitSequence(e,t){const i=t.subContextCount;let r=t;const s=e.options;if(s&&(s.params||s.delay)&&(r=t.createSubContext(s),r.transformIntoNewTimeline(),null!=s.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=$E);const o=Bf(s.delay);r.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>xa(this,o,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){const i=[];let r=t.currentTimeline.currentTime;const s=e.options&&e.options.delay?Bf(e.options.delay):0;e.steps.forEach(o=>{const a=t.createSubContext(e.options);s&&a.delayNextStep(s),xa(this,o,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){const i=e.strValue;return NE(t.params?LE(i,t.params,t.errors):i,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){const i=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),r.snapshotCurrentStyles());const s=e.style;5==s.type?this.visitKeyframes(s,t):(t.incrementTime(i.duration),this.visitStyle(s,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){const i=t.currentTimeline,r=t.currentAnimateTimings;!r&&i.getCurrentStyleProperties().length&&i.forwardFrame();const s=r&&r.easing||e.easing;e.isEmptyStep?i.applyEmptyStep(s):i.setStyles(e.styles,s,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){const i=t.currentAnimateTimings,r=t.currentTimeline.duration,s=i.duration,a=t.createSubContext().currentTimeline;a.easing=i.easing,e.styles.forEach(l=>{a.forwardTime((l.offset||0)*s),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+s),t.previousNode=e}visitQuery(e,t){const i=t.currentTimeline.currentTime,r=e.options||{},s=r.delay?Bf(r.delay):0;s&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=$E);let o=i;const a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,d)=>{t.currentQueryIndex=d;const f=t.createSubContext(e.options,c);s&&f.delayNextStep(s),c===t.element&&(l=f.currentTimeline),xa(this,e.animation,f),f.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,f.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){const i=t.parentContext,r=t.currentTimeline,s=e.timings,o=Math.abs(s.duration),a=o*(t.currentQueryTotal-1);let l=o*t.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const d=t.currentTimeline;l&&d.delayNextStep(l);const f=d.currentTime;xa(this,e.animation,t),t.previousNode=e,i.currentStaggerTime=r.currentTime-f+(r.startTime-i.currentTimeline.startTime)}}const $E={};class MO{constructor(e,t,i,r,s,o,a,l){this._driver=e,this.element=t,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=s,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=$E,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new GE(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;const i=e;let r=this.options;null!=i.duration&&(r.duration=Bf(i.duration)),null!=i.delay&&(r.delay=Bf(i.delay));const s=i.params;if(s){let o=r.params;o||(o=this.options.params={}),Object.keys(s).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=LE(s[a],o,this.errors))})}}_copyOptions(){const e={};if(this.options){const t=this.options.params;if(t){const i=e.params={};Object.keys(t).forEach(r=>{i[r]=t[r]})}}return e}createSubContext(e=null,t,i){const r=t||this.element,s=new MO(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(e),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(e){return this.previousNode=$E,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,i){const r={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+e.delay,easing:""},s=new fre(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(s),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,i,r,s,o){let a=[];if(r&&a.push(this.element),e.length>0){e=(e=e.replace(cre,"."+this._enterClassName)).replace(dre,"."+this._leaveClassName);let c=this._driver.query(this.element,e,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!s&&0==a.length&&o.push(`\`query("${t}")\` returned zero elements. (Use \`query("${t}", { optional: true })\` if you wish to allow this.)`),a}}class GE{constructor(e,t,i,r){this._driver=e,this.element=t,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(e){const t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new GE(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||qu,this._currentKeyframe[t]=qu}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,i,r){t&&(this._previousKeyframe.easing=t);const s=r&&r.params||{},o=function(n,e){const t={};let i;return n.forEach(r=>{"*"===r?(i=i||Object.keys(e),i.forEach(s=>{t[s]=qu})):sh(r,!1,t)}),t}(e,this._globalTimelineStyles);Object.keys(o).forEach(a=>{const l=LE(o[a],s,i);this._pendingStyles[a]=l,this._localTimelineStyles.hasOwnProperty(a)||(this._backFill[a]=this._globalTimelineStyles.hasOwnProperty(a)?this._globalTimelineStyles[a]:qu),this._updateStyle(a,l)})}applyStylesToKeyframe(){const e=this._pendingStyles,t=Object.keys(e);0!=t.length&&(this._pendingStyles={},t.forEach(i=>{this._currentKeyframe[i]=e[i]}),Object.keys(this._localTimelineStyles).forEach(i=>{this._currentKeyframe.hasOwnProperty(i)||(this._currentKeyframe[i]=this._localTimelineStyles[i])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(e=>{const t=this._localTimelineStyles[e];this._pendingStyles[e]=t,this._updateStyle(e,t)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){Object.keys(e._styleSummary).forEach(t=>{const i=this._styleSummary[t],r=e._styleSummary[t];(!i||r.time>i.time)&&this._updateStyle(t,r.value)})}buildKeyframes(){this.applyStylesToKeyframe();const e=new Set,t=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=sh(a,!0);Object.keys(c).forEach(d=>{const f=c[d];"!"==f?e.add(d):f==qu&&t.add(d)}),i||(c.offset=l/this.duration),r.push(c)});const s=e.size?BE(e.values()):[],o=t.size?BE(t.values()):[];if(i){const a=r[0],l=rm(a);a.offset=0,l.offset=1,r=[a,l]}return EO(this.element,r,s,o,this.duration,this.startTime,this.easing,!1)}}class fre extends GE{constructor(e,t,i,r,s,o,a=!1){super(e,t,o.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=s,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const s=[],o=i+t,a=t/o,l=sh(e[0],!1);l.offset=0,s.push(l);const c=sh(e[0],!1);c.offset=Cz(a),s.push(c);const d=e.length-1;for(let f=1;f<=d;f++){let p=sh(e[f],!1);p.offset=Cz((t+p.offset*i)/o),s.push(p)}i=o,t=0,r="",e=s}return EO(this.element,e,this.preStyleProps,this.postStyleProps,i,t,r,!0)}}function Cz(n,e=3){const t=Math.pow(10,e-1);return Math.round(n*t)/t}class xO{}class gre extends xO{normalizePropertyName(e,t){return vO(e)}normalizeStyleValue(e,t,i,r){let s="";const o=i.toString().trim();if(mre[t]&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(`Please provide a CSS unit value for ${e}:${i}`)}return o+s}}const mre=(()=>function(n){const e={};return n.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function wz(n,e,t,i,r,s,o,a,l,c,d,f,p){return{type:0,element:n,triggerName:e,isRemovalTransition:r,fromState:t,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:d,totalTime:f,errors:p}}const TO={};class Ez{constructor(e,t,i){this._triggerName=e,this.ast=t,this._stateStyles=i}match(e,t,i,r){return function(n,e,t,i,r){return n.some(s=>s(e,t,i,r))}(this.ast.matchers,e,t,i,r)}buildStyles(e,t,i){const r=this._stateStyles["*"],s=this._stateStyles[e],o=r?r.buildStyles(t,i):{};return s?s.buildStyles(t,i):o}build(e,t,i,r,s,o,a,l,c,d){const f=[],p=this.ast.options&&this.ast.options.params||TO,_=this.buildStyles(i,a&&a.params||TO,f),y=l&&l.params||TO,v=this.buildStyles(r,y,f),C=new Set,w=new Map,x=new Map,N="void"===r,V={params:Object.assign(Object.assign({},p),y)},U=d?[]:SO(e,t,this.ast.animation,s,o,_,v,V,c,f);let ee=0;if(U.forEach(ae=>{ee=Math.max(ae.duration+ae.delay,ee)}),f.length)return wz(t,this._triggerName,i,r,N,_,v,[],[],w,x,ee,f);U.forEach(ae=>{const me=ae.element,Ee=Ma(w,me,{});ae.preStyleProps.forEach(te=>Ee[te]=!0);const Be=Ma(x,me,{});ae.postStyleProps.forEach(te=>Be[te]=!0),me!==t&&C.add(me)});const de=BE(C.values());return wz(t,this._triggerName,i,r,N,_,v,U,de,w,x,ee)}}class vre{constructor(e,t,i){this.styles=e,this.defaultParams=t,this.normalizer=i}buildStyles(e,t){const i={},r=rm(this.defaultParams);return Object.keys(e).forEach(s=>{const o=e[s];null!=o&&(r[s]=o)}),this.styles.styles.forEach(s=>{if("string"!=typeof s){const o=s;Object.keys(o).forEach(a=>{let l=o[a];l.length>1&&(l=LE(l,r,t));const c=this.normalizer.normalizePropertyName(a,t);l=this.normalizer.normalizeStyleValue(a,c,l,t),i[c]=l})}}),i}}class Cre{constructor(e,t,i){this.name=e,this.ast=t,this._normalizer=i,this.transitionFactories=[],this.states={},t.states.forEach(r=>{this.states[r.name]=new vre(r.style,r.options&&r.options.params||{},i)}),Sz(this.states,"true","1"),Sz(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new Ez(e,r,this.states))}),this.fallbackTransition=function(n,e,t){return new Ez(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(o,a)=>!0],options:null,queryCount:0,depCount:0},e)}(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,i,r){return this.transitionFactories.find(o=>o.match(e,t,i,r))||null}matchStyles(e,t,i){return this.fallbackTransition.buildStyles(e,t,i)}}function Sz(n,e,t){n.hasOwnProperty(e)?n.hasOwnProperty(t)||(n[t]=n[e]):n.hasOwnProperty(t)&&(n[e]=n[t])}const Ere=new HE;class Sre{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(e,t){const i=[],r=CO(this._driver,t,i);if(i.length)throw new Error(`Unable to build the animation due to the following errors: ${i.join("\n")}`);this._animations[e]=r}_buildPlayer(e,t,i){const r=e.element,s=iz(0,this._normalizer,0,e.keyframes,t,i);return this._driver.animate(r,s,e.duration,e.delay,e.easing,[],!0)}create(e,t,i={}){const r=[],s=this._animations[e];let o;const a=new Map;if(s?(o=SO(this._driver,t,s,gO,RE,{},{},i,Ere,r),o.forEach(d=>{const f=Ma(a,d.element,{});d.postStyleProps.forEach(p=>f[p]=null)})):(r.push("The requested animation doesn't exist or has already been destroyed"),o=[]),r.length)throw new Error(`Unable to create the animation due to the following errors: ${r.join("\n")}`);a.forEach((d,f)=>{Object.keys(d).forEach(p=>{d[p]=this._driver.computeStyle(f,p,qu)})});const c=rh(o.map(d=>{const f=a.get(d.element);return this._buildPlayer(d,{},f)}));return this._playersById[e]=c,c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){const t=this._getPlayer(e);t.destroy(),delete this._playersById[e];const i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(e){const t=this._playersById[e];if(!t)throw new Error(`Unable to find the timeline player referenced by ${e}`);return t}listen(e,t,i,r){const s=lO(t,"","","");return oO(this._getPlayer(e),i,s,r),()=>{}}command(e,t,i,r){if("register"==i)return void this.register(e,r[0]);if("create"==i)return void this.create(e,t,r[0]||{});const s=this._getPlayer(e);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e)}}}const Mz="ng-animate-queued",xz="ng-animate-disabled",Tz=".ng-animate-disabled",Are=[],Az={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Dre={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},gl="__ng_removed";class AO{constructor(e,t=""){this.namespaceId=t;const i=e&&e.hasOwnProperty("value");if(this.value=function(n){return null!=n?n:null}(i?e.value:e),i){const s=rm(e);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(e){const t=e.params;if(t){const i=this.options.params;Object.keys(t).forEach(r=>{null==i[r]&&(i[r]=t[r])})}}}const Bv="void",DO=new AO(Bv);class Ore{constructor(e,t,i){this.id=e,this.hostElement=t,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,ml(t,this._hostClassName)}listen(e,t,i,r){if(!this._triggers.hasOwnProperty(t))throw new Error(`Unable to listen on the animation trigger event "${i}" because the animation trigger "${t}" doesn't exist!`);if(null==i||0==i.length)throw new Error(`Unable to listen on the animation trigger "${t}" because the provided event is undefined!`);if(!function(n){return"start"==n||"done"==n}(i))throw new Error(`The provided animation trigger event "${i}" for the animation trigger "${t}" is not supported!`);const s=Ma(this._elementListeners,e,[]),o={name:t,phase:i,callback:r};s.push(o);const a=Ma(this._engine.statesByElement,e,{});return a.hasOwnProperty(t)||(ml(e,kE),ml(e,kE+"-"+t),a[t]=DO),()=>{this._engine.afterFlush(()=>{const l=s.indexOf(o);l>=0&&s.splice(l,1),this._triggers[t]||delete a[t]})}}register(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}_getTrigger(e){const t=this._triggers[e];if(!t)throw new Error(`The provided animation trigger "${e}" has not been registered!`);return t}trigger(e,t,i,r=!0){const s=this._getTrigger(t),o=new OO(this.id,t,e);let a=this._engine.statesByElement.get(e);a||(ml(e,kE),ml(e,kE+"-"+t),this._engine.statesByElement.set(e,a={}));let l=a[t];const c=new AO(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a[t]=c,l||(l=DO),c.value!==Bv&&l.value===c.value){if(!function(n,e){const t=Object.keys(n),i=Object.keys(e);if(t.length!=i.length)return!1;for(let r=0;r{Vf(e,v),Gc(e,C)})}return}const p=Ma(this._engine.playersByElement,e,[]);p.forEach(y=>{y.namespaceId==this.id&&y.triggerName==t&&y.queued&&y.destroy()});let g=s.matchTransition(l.value,c.value,e,c.params),_=!1;if(!g){if(!r)return;g=s.fallbackTransition,_=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:g,fromState:l,toState:c,player:o,isFallbackTransition:_}),_||(ml(e,Mz),o.onStart(()=>{sm(e,Mz)})),o.onDone(()=>{let y=this.players.indexOf(o);y>=0&&this.players.splice(y,1);const v=this._engine.playersByElement.get(e);if(v){let C=v.indexOf(o);C>=0&&v.splice(C,1)}}),this.players.push(o),p.push(o),o}deregister(e){delete this._triggers[e],this._engine.statesByElement.forEach((t,i)=>{delete t[e]}),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(r=>r.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);const t=this._engine.playersByElement.get(e);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){const i=this._engine.driver.query(e,FE,!0);i.forEach(r=>{if(r[gl])return;const s=this._engine.fetchNamespacesByElement(r);s.size?s.forEach(o=>o.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(e,t,i,r){const s=this._engine.statesByElement.get(e);if(s){const o=[];if(Object.keys(s).forEach(a=>{if(this._triggers[a]){const l=this.trigger(e,a,Bv,r);l&&o.push(l)}}),o.length)return this._engine.markElementAsRemoved(this.id,e,!0,t),i&&rh(o).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){const t=this._elementListeners.get(e),i=this._engine.statesByElement.get(e);if(t&&i){const r=new Set;t.forEach(s=>{const o=s.name;if(r.has(o))return;r.add(o);const l=this._triggers[o].fallbackTransition,c=i[o]||DO,d=new AO(Bv),f=new OO(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:d,player:f,isFallbackTransition:!0})})}}removeNode(e,t){const i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(e):[];if(s&&s.length)r=!0;else{let o=e;for(;o=o.parentNode;)if(i.statesByElement.get(o)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(e),r)i.markElementAsRemoved(this.id,e,!1,t);else{const s=e[gl];(!s||s===Az)&&(i.afterFlush(()=>this.clearElementCache(e)),i.destroyInnerAnimations(e),i._onRemovalComplete(e,t))}}insertNode(e,t){ml(e,this._hostClassName)}drainQueuedTransitions(e){const t=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const s=i.element,o=this._elementListeners.get(s);o&&o.forEach(a=>{if(a.name==i.triggerName){const l=lO(s,i.triggerName,i.fromState.value,i.toState.value);l._data=e,oO(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(i)}),this._queue=[],t.sort((i,r)=>{const s=i.transition.ast.depCount,o=r.transition.ast.depCount;return 0==s||0==o?s-o:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}elementContainsData(e){let t=!1;return this._elementListeners.has(e)&&(t=!0),t=!!this._queue.find(i=>i.element===e)||t,t}}class Ire{constructor(e,t,i){this.bodyNode=e,this.driver=t,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,s)=>{}}_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}get queuedPlayers(){const e=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&e.push(i)})}),e}createNamespace(e,t){const i=new Ore(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[e]=i}_balanceNamespaceList(e,t){const i=this._namespaceList.length-1;if(i>=0){let r=!1;for(let s=i;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,t)){this._namespaceList.splice(s+1,0,e),r=!0;break}r||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}register(e,t){let i=this._namespaceLookup[e];return i||(i=this.createNamespace(e,t)),i}registerTrigger(e,t,i){let r=this._namespaceLookup[e];r&&r.register(t,i)&&this.totalAnimations++}destroy(e,t){if(!e)return;const i=this._fetchNamespace(e);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[e];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(t))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){const t=new Set,i=this.statesByElement.get(e);if(i){const r=Object.keys(i);for(let s=0;s=0&&this.collectedLeaveElements.splice(o,1)}if(e){const o=this._fetchNamespace(e);o&&o.insertNode(t,i)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),ml(e,xz)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),sm(e,xz))}removeNode(e,t,i,r){if(WE(t)){const s=e?this._fetchNamespace(e):null;if(s?s.removeNode(t,r):this.markElementAsRemoved(e,t,!1,r),i){const o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,r)}}else this._onRemovalComplete(t,r)}markElementAsRemoved(e,t,i,r){this.collectedLeaveElements.push(t),t[gl]={namespaceId:e,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1}}listen(e,t,i,r,s){return WE(t)?this._fetchNamespace(e).listen(t,i,r,s):()=>{}}_buildInstruction(e,t,i,r,s){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,i,r,e.fromState.options,e.toState.options,t,s)}destroyInnerAnimations(e){let t=this.driver.query(e,FE,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(e,mO,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(e){const t=this.playersByElement.get(e);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(e){const t=this.playersByQueriedElement.get(e);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return rh(this.players).onDone(()=>e());e()})}processLeaveNode(e){const t=e[gl];if(t&&t.setForRemoval){if(e[gl]=Az,t.namespaceId){this.destroyInnerAnimations(e);const i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}this.driver.matchesElement(e,Tz)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Tz,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],t.length?rh(t).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(e){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${e.join("\n")}`)}_flushAnimations(e,t){const i=new HE,r=[],s=new Map,o=[],a=new Map,l=new Map,c=new Map,d=new Set;this.disabledNodes.forEach(Q=>{d.add(Q);const je=this.driver.query(Q,".ng-animate-queued",!0);for(let $e=0;$e{const $e=gO+y++;_.set(je,$e),Q.forEach(qe=>ml(qe,$e))});const v=[],C=new Set,w=new Set;for(let Q=0;QC.add(qe)):w.add(je))}const x=new Map,N=Iz(p,Array.from(C));N.forEach((Q,je)=>{const $e=RE+y++;x.set(je,$e),Q.forEach(qe=>ml(qe,$e))}),e.push(()=>{g.forEach((Q,je)=>{const $e=_.get(je);Q.forEach(qe=>sm(qe,$e))}),N.forEach((Q,je)=>{const $e=x.get(je);Q.forEach(qe=>sm(qe,$e))}),v.forEach(Q=>{this.processLeaveNode(Q)})});const V=[],U=[];for(let Q=this._namespaceList.length-1;Q>=0;Q--)this._namespaceList[Q].drainQueuedTransitions(t).forEach($e=>{const qe=$e.player,Ot=$e.element;if(V.push(qe),this.collectedEnterElements.length){const gi=Ot[gl];if(gi&&gi.setForMove)return void qe.destroy()}const Hn=!f||!this.driver.containsElement(f,Ot),ot=x.get(Ot),nr=_.get(Ot),Ln=this._buildInstruction($e,i,nr,ot,Hn);if(Ln.errors&&Ln.errors.length)U.push(Ln);else{if(Hn)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);if($e.isFallbackTransition)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);Ln.timelines.forEach(gi=>gi.stretchStartingKeyframe=!0),i.append(Ot,Ln.timelines),o.push({instruction:Ln,player:qe,element:Ot}),Ln.queriedElements.forEach(gi=>Ma(a,gi,[]).push(qe)),Ln.preStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);if(oa.length){let Bs=l.get(_r);Bs||l.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))}}),Ln.postStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);let Bs=c.get(_r);Bs||c.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))})}});if(U.length){const Q=[];U.forEach(je=>{Q.push(`@${je.triggerName} has failed due to:\n`),je.errors.forEach($e=>Q.push(`- ${$e}\n`))}),V.forEach(je=>je.destroy()),this.reportError(Q)}const ee=new Map,de=new Map;o.forEach(Q=>{const je=Q.element;i.has(je)&&(de.set(je,je),this._beforeAnimationBuild(Q.player.namespaceId,Q.instruction,ee))}),r.forEach(Q=>{const je=Q.element;this._getPreviousPlayers(je,!1,Q.namespaceId,Q.triggerName,null).forEach(qe=>{Ma(ee,je,[]).push(qe),qe.destroy()})});const ae=v.filter(Q=>Rz(Q,l,c)),me=new Map;Oz(me,this.driver,w,c,qu).forEach(Q=>{Rz(Q,l,c)&&ae.push(Q)});const Be=new Map;g.forEach((Q,je)=>{Oz(Be,this.driver,new Set(Q),l,"!")}),ae.forEach(Q=>{const je=me.get(Q),$e=Be.get(Q);me.set(Q,Object.assign(Object.assign({},je),$e))});const te=[],ne=[],Ie={};o.forEach(Q=>{const{element:je,player:$e,instruction:qe}=Q;if(i.has(je)){if(d.has(je))return $e.onDestroy(()=>Gc(je,qe.toStyles)),$e.disabled=!0,$e.overrideTotalTime(qe.totalTime),void r.push($e);let Ot=Ie;if(de.size>1){let ot=je;const nr=[];for(;ot=ot.parentNode;){const Ln=de.get(ot);if(Ln){Ot=Ln;break}nr.push(ot)}nr.forEach(Ln=>de.set(Ln,Ot))}const Hn=this._buildAnimation($e.namespaceId,qe,ee,s,Be,me);if($e.setRealPlayer(Hn),Ot===Ie)te.push($e);else{const ot=this.playersByElement.get(Ot);ot&&ot.length&&($e.parentPlayer=rh(ot)),r.push($e)}}else Vf(je,qe.fromStyles),$e.onDestroy(()=>Gc(je,qe.toStyles)),ne.push($e),d.has(je)&&r.push($e)}),ne.forEach(Q=>{const je=s.get(Q.element);if(je&&je.length){const $e=rh(je);Q.setRealPlayer($e)}}),r.forEach(Q=>{Q.parentPlayer?Q.syncPlayerEvents(Q.parentPlayer):Q.destroy()});for(let Q=0;Q!Hn.destroyed);Ot.length?Fre(this,je,Ot):this.processLeaveNode(je)}return v.length=0,te.forEach(Q=>{this.players.push(Q),Q.onDone(()=>{Q.destroy();const je=this.players.indexOf(Q);this.players.splice(je,1)}),Q.play()}),te}elementContainsData(e,t){let i=!1;const r=t[gl];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(t)&&(i=!0),this.playersByQueriedElement.has(t)&&(i=!0),this.statesByElement.has(t)&&(i=!0),this._fetchNamespace(e).elementContainsData(t)||i}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,i,r,s){let o=[];if(t){const a=this.playersByQueriedElement.get(e);a&&(o=a)}else{const a=this.playersByElement.get(e);if(a){const l=!s||s==Bv;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||o.push(c)})}}return(i||r)&&(o=o.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),o}_beforeAnimationBuild(e,t,i){const s=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:t.triggerName;for(const l of t.timelines){const c=l.element,d=c!==s,f=Ma(i,c,[]);this._getPreviousPlayers(c,d,o,a,t.toState).forEach(g=>{const _=g.getRealPlayer();_.beforeDestroy&&_.beforeDestroy(),g.destroy(),f.push(g)})}Vf(s,t.fromStyles)}_buildAnimation(e,t,i,r,s,o){const a=t.triggerName,l=t.element,c=[],d=new Set,f=new Set,p=t.timelines.map(_=>{const y=_.element;d.add(y);const v=y[gl];if(v&&v.removedBeforeQueried)return new im(_.duration,_.delay);const C=y!==l,w=function(n){const e=[];return Pz(n,e),e}((i.get(y)||Are).map(ee=>ee.getRealPlayer())).filter(ee=>!!ee.element&&ee.element===y),x=s.get(y),N=o.get(y),V=iz(0,this._normalizer,0,_.keyframes,x,N),U=this._buildPlayer(_,V,w);if(_.subTimeline&&r&&f.add(y),C){const ee=new OO(e,a,y);ee.setRealPlayer(U),c.push(ee)}return U});c.forEach(_=>{Ma(this.playersByQueriedElement,_.element,[]).push(_),_.onDone(()=>function(n,e,t){let i;if(n instanceof Map){if(i=n.get(e),i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&n.delete(e)}}else if(i=n[e],i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&delete n[e]}return i}(this.playersByQueriedElement,_.element,_))}),d.forEach(_=>ml(_,dz));const g=rh(p);return g.onDestroy(()=>{d.forEach(_=>sm(_,dz)),Gc(l,t.toStyles)}),f.forEach(_=>{Ma(r,_,[]).push(g)}),g}_buildPlayer(e,t,i){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,i):new im(e.duration,e.delay)}}class OO{constructor(e,t,i){this.namespaceId=e,this.triggerName=t,this.element=i,this._player=new im,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(t=>{this._queuedCallbacks[t].forEach(i=>oO(e,t,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){const t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){Ma(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){const t=this._player;t.triggerCallback&&t.triggerCallback(e)}}function WE(n){return n&&1===n.nodeType}function Dz(n,e){const t=n.style.display;return n.style.display=null!=e?e:"none",t}function Oz(n,e,t,i,r){const s=[];t.forEach(l=>s.push(Dz(l)));const o=[];i.forEach((l,c)=>{const d={};l.forEach(f=>{const p=d[f]=e.computeStyle(c,f,r);(!p||0==p.length)&&(c[gl]=Dre,o.push(c))}),n.set(c,d)});let a=0;return t.forEach(l=>Dz(l,s[a++])),o}function Iz(n,e){const t=new Map;if(n.forEach(a=>t.set(a,[])),0==e.length)return t;const r=new Set(e),s=new Map;function o(a){if(!a)return 1;let l=s.get(a);if(l)return l;const c=a.parentNode;return l=t.has(c)?c:r.has(c)?1:o(c),s.set(a,l),l}return e.forEach(a=>{const l=o(a);1!==l&&t.get(l).push(a)}),t}const qE="$$classes";function ml(n,e){if(n.classList)n.classList.add(e);else{let t=n[qE];t||(t=n[qE]={}),t[e]=!0}}function sm(n,e){if(n.classList)n.classList.remove(e);else{let t=n[qE];t&&delete t[e]}}function Fre(n,e,t){rh(t).onDone(()=>n.processLeaveNode(e))}function Pz(n,e){for(let t=0;tr.add(s)):e.set(n,i),t.delete(n),!0}class YE{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,s)=>{},this._transitionEngine=new Ire(e,t,i),this._timelineEngine=new Sre(e,t,i),this._transitionEngine.onRemovalComplete=(r,s)=>this.onRemovalComplete(r,s)}registerTrigger(e,t,i,r,s){const o=e+"-"+r;let a=this._triggerCache[o];if(!a){const l=[],c=CO(this._driver,s,l);if(l.length)throw new Error(`The animation trigger "${r}" has failed to build due to the following errors:\n - ${l.join("\n - ")}`);a=function(n,e,t){return new Cre(n,e,t)}(r,c,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,r,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,i,r){this._transitionEngine.insertNode(e,t,i,r)}onRemove(e,t,i,r){this._transitionEngine.removeNode(e,t,r||!1,i)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,i,r){if("@"==i.charAt(0)){const[s,o]=rz(i);this._timelineEngine.command(s,t,o,r)}else this._transitionEngine.trigger(e,t,i,r)}listen(e,t,i,r,s){if("@"==i.charAt(0)){const[o,a]=rz(i);return this._timelineEngine.listen(o,t,a,s)}return this._transitionEngine.listen(e,t,i,r,s)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function kz(n,e){let t=null,i=null;return Array.isArray(e)&&e.length?(t=IO(e[0]),e.length>1&&(i=IO(e[e.length-1]))):e&&(t=IO(e)),t||i?new om(n,t,i):null}class om{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=om.initialStylesByElement.get(e);r||om.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&Gc(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Gc(this._element,this._initialStyles),this._endStyles&&(Gc(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(om.initialStylesByElement.delete(this._element),this._startStyles&&(Vf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Vf(this._element,this._endStyles),this._endStyles=null),Gc(this._element,this._initialStyles),this._state=3)}}function IO(n){let e=null;const t=Object.keys(n);for(let i=0;ithis._handleCallback(l)}apply(){(function(n,e){const t=RO(n,"").trim();let i=0;t.length&&(function(n,e){let t=0;for(let i=0;i=this._delay&&i>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Vz(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(n,e){const i=RO(n,"").split(","),r=PO(i,e);r>=0&&(i.splice(r,1),XE(n,"",i.join(",")))}(this._element,this._name))}}function Lz(n,e,t){XE(n,"PlayState",t,Bz(n,e))}function Bz(n,e){const t=RO(n,"");return t.indexOf(",")>0?PO(t.split(","),e):PO([t],e)}function PO(n,e){for(let t=0;t=0)return t;return-1}function Vz(n,e,t){t?n.removeEventListener(Nz,e):n.addEventListener(Nz,e)}function XE(n,e,t,i){const r=Fz+e;if(null!=i){const s=n.style[r];if(s.length){const o=s.split(",");o[i]=t,t=o.join(",")}}n.style[r]=t}function RO(n,e){return n.style[Fz+e]||""}class zz{constructor(e,t,i,r,s,o,a,l){this.element=e,this.keyframes=t,this.animationName=i,this._duration=r,this._delay=s,this._finalStyles=a,this._specialStyles=l,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=r+s,this._buildStyler()}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(e=>e()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(e){this._styler.setPosition(e)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new jre(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}beforeDestroy(){this.init();const e={};if(this.hasStarted()){const t=this._state>=3;Object.keys(this._finalStyles).forEach(i=>{"offset"!=i&&(e[i]=t?this._finalStyles[i]:bO(this.element,i))})}this.currentSnapshot=e}}class qre extends im{constructor(e,t){super(),this.element=e,this._startingStyles={},this.__initialized=!1,this._styles=lz(t)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(e=>{this._startingStyles[e]=this.element.style[e]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(e=>this.element.style.setProperty(e,this._styles[e])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(e=>{const t=this._startingStyles[e];t?this.element.style.setProperty(e,t):this.element.style.removeProperty(e)}),this._startingStyles=null,super.destroy())}}class Uz{constructor(){this._count=0}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}buildKeyframeElement(e,t,i){i=i.map(a=>lz(a));let r=`@keyframes ${t} {\n`,s="";i.forEach(a=>{s=" ";const l=parseFloat(a.offset);r+=`${s}${100*l}% {\n`,s+=" ",Object.keys(a).forEach(c=>{const d=a[c];switch(c){case"offset":return;case"easing":return void(d&&(r+=`${s}animation-timing-function: ${d};\n`));default:return void(r+=`${s}${c}: ${d};\n`)}}),r+=`${s}}\n`}),r+="}\n";const o=document.createElement("style");return o.textContent=r,o}animate(e,t,i,r,s,o=[],a){const l=o.filter(v=>v instanceof zz),c={};mz(i,r)&&l.forEach(v=>{let C=v.currentSnapshot;Object.keys(C).forEach(w=>c[w]=C[w])});const d=function(n){let e={};return n&&(Array.isArray(n)?n:[n]).forEach(i=>{Object.keys(i).forEach(r=>{"offset"==r||"easing"==r||(e[r]=i[r])})}),e}(t=_z(e,t,c));if(0==i)return new qre(e,d);const f="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(e,f,t);(function(n){var e;const t=null===(e=n.getRootNode)||void 0===e?void 0:e.call(n);return"undefined"!=typeof ShadowRoot&&t instanceof ShadowRoot?t:document.head})(e).appendChild(p);const _=kz(e,t),y=new zz(e,t,f,i,r,s,d,_);return y.onDestroy(()=>function(n){n.parentNode.removeChild(n)}(p)),y}}class $z{constructor(e,t,i,r){this.element=e,this.keyframes=t,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(e,t,i){return e.animate(t,i)}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(t=>{"offset"!=t&&(e[t]=this._finished?this._finalKeyframe[t]:bO(this.element,t))}),this.currentSnapshot=e}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class Qre{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Gz().toString()),this._cssKeyframesDriver=new Uz}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}overrideWebAnimationsSupport(e){this._isNativeImpl=e}animate(e,t,i,r,s,o=[],a){if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,i,r,s,o);const d={duration:i,delay:r,fill:0==r?"both":"forwards"};s&&(d.easing=s);const f={},p=o.filter(_=>_ instanceof $z);mz(i,r)&&p.forEach(_=>{let y=_.currentSnapshot;Object.keys(y).forEach(v=>f[v]=y[v])});const g=kz(e,t=_z(e,t=t.map(_=>sh(_,!1)),f));return new $z(e,t,d,g)}}function Gz(){return nz()&&Element.prototype.animate||{}}let ese=(()=>{class n extends QV{constructor(t,i){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(i.body,{id:"0",encapsulation:Ue.None,styles:[],data:{animation:[]}})}build(t){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(t)?JV(t):t;return Wz(this._renderer,null,i,"register",[r]),new tse(i,this._renderer)}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class tse extends class{}{constructor(e,t){super(),this._id=e,this._renderer=t}create(e,t){return new nse(this._id,e,t||{},this._renderer)}}class nse{constructor(e,t,i,r){this.id=e,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(e,t){return this._renderer.listen(this.element,`@@${this.id}:${e}`,t)}_command(e,...t){return Wz(this._renderer,this.element,this.id,e,t)}onDone(e){this._listen("done",e)}onStart(e){this._listen("start",e)}onDestroy(e){this._listen("destroy",e)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(e){this._command("setPosition",e)}getPosition(){var e,t;return null!==(t=null===(e=this._renderer.engine.players[+this.id])||void 0===e?void 0:e.getPosition())&&void 0!==t?t:0}}function Wz(n,e,t,i,r){return n.setProperty(e,`@@${t}:${i}`,r)}const qz="@.disabled";let ise=(()=>{class n{constructor(t,i,r){this.delegate=t,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,o)=>{o&&o.parentNode(s)&&o.removeChild(s.parentNode,s)}}createRenderer(t,i){const s=this.delegate.createRenderer(t,i);if(!(t&&i&&i.data&&i.data.animation)){let d=this._rendererCache.get(s);return d||(d=new Yz("",s,this.engine),this._rendererCache.set(s,d)),d}const o=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,t);const l=d=>{Array.isArray(d)?d.forEach(l):this.engine.registerTrigger(o,a,t,d.name,d)};return i.data.animation.forEach(l),new rse(this,a,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,i,r){t>=0&&ti(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[o,a]=s;o(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(YE),I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Yz{constructor(e,t,i){this.namespaceId=e,this.delegate=t,this.engine=i,this.destroyNode=this.delegate.destroyNode?r=>t.destroyNode(r):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,i,r=!0){this.delegate.insertBefore(e,t,i),this.engine.onInsert(this.namespaceId,t,e,r)}removeChild(e,t,i){this.engine.onRemove(this.namespaceId,t,this.delegate,i)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,i,r){this.delegate.setAttribute(e,t,i,r)}removeAttribute(e,t,i){this.delegate.removeAttribute(e,t,i)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,i,r){this.delegate.setStyle(e,t,i,r)}removeStyle(e,t,i){this.delegate.removeStyle(e,t,i)}setProperty(e,t,i){"@"==t.charAt(0)&&t==qz?this.disableAnimations(e,!!i):this.delegate.setProperty(e,t,i)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,i){return this.delegate.listen(e,t,i)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}}class rse extends Yz{constructor(e,t,i,r){super(t,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,i){"@"==t.charAt(0)?"."==t.charAt(1)&&t==qz?this.disableAnimations(e,i=void 0===i||!!i):this.engine.process(this.namespaceId,e,t.substr(1),i):this.delegate.setProperty(e,t,i)}listen(e,t,i){if("@"==t.charAt(0)){const r=function(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(e);let s=t.substr(1),o="";return"@"!=s.charAt(0)&&([s,o]=function(n){const e=n.indexOf(".");return[n.substring(0,e),n.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,r,s,o,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(e,t,i)}}let ase=(()=>{class n extends YE{constructor(t,i,r){super(t.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(PE),I(xO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Do=new ve("AnimationModuleType"),Xz=[{provide:QV,useClass:ese},{provide:xO,useFactory:function(){return new gre}},{provide:YE,useClass:ase},{provide:Cf,useFactory:function(n,e,t){return new ise(n,e,t)},deps:[_E,YE,dt]}],Kz=[{provide:PE,useFactory:function(){return"function"==typeof Gz()?new Qre:new Uz}},{provide:Do,useValue:"BrowserAnimations"},...Xz],Zz=[{provide:PE,useClass:cz},{provide:Do,useValue:"NoopAnimations"},...Xz];let kO=(()=>{class n{static withConfig(t){return{ngModule:n,providers:t.disableAnimations?Zz:Kz}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:Kz,imports:[yE]}),n})();function fse(n,e){if(1&n&&tt(0,"mat-pseudo-checkbox",4),2&n){const t=Qe();ie("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function pse(n,e){if(1&n&&(R(0,"span",5),De(1),k()),2&n){const t=Qe();G(1),or("(",t.group.label,")")}}const gse=["*"],Qz=new ju("12.2.5"),_se=new ve("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let $f,On=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Mo()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Qz.full!==ZV.full&&console.warn("The Angular Material version ("+Qz.full+") does not match the Angular CDK version ("+ZV.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(I(XV),I(_se,8),I(ut))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv],Nv]}),n})();function jf(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=Mt(e)}}}function Uf(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function nc(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Mt(e)}}}function Hf(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?To(t):this.defaultTabIndex}}}function FO(n){return class extends n{constructor(...e){super(...e),this.stateChanges=new Se,this.errorState=!1}updateErrorState(){const e=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==e&&(this.errorState=s,this.stateChanges.next())}}}try{$f="undefined"!=typeof Intl}catch(n){$f=!1}let Vv=(()=>{class n{isErrorState(t,i){return!!(t&&t.invalid&&(t.touched||i&&i.submitted))}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})();class Dse{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const ij={enterDuration:225,exitDuration:150},NO=tm({passive:!0}),rj=["mousedown","touchstart"],sj=["mouseup","mouseleave","touchend","touchcancel"];class oj{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=Wu(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},ij),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=a-o+"px",d.style.top=l-o+"px",d.style.height=2*o+"px",d.style.width=2*o+"px",null!=i.color&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(d),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(d),d.style.transform="scale(1)";const f=new Dse(this,d,i);return f.state=0,this._activeRipples.add(f),i.persistent||(this._mostRecentTransientRipple=f),this._runTimeoutOutsideZone(()=>{const p=f===this._mostRecentTransientRipple;f.state=1,!i.persistent&&(!p||!this._isPointerDown)&&f.fadeOut()},c),f}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},ij),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=Wu(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(rj))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(sj),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=VV(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,NO)})})}_removeTriggerEvents(){this._triggerElement&&(rj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}),this._pointerUpEventsRegistered&&sj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}))}}const aj=new ve("mat-ripple-global-options");let Js=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new oj(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(Do,8))},n.\u0275dir=oe({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&st("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),_l=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On,Rv],On]}),n})(),lj=(()=>{class n{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return n.\u0275fac=function(t){return new(t||n)(E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,i){2&t&&st("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,i){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),n})(),LO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On]]}),n})();const QE=new ve("MAT_OPTION_PARENT_COMPONENT"),Rse=jf(class{});let kse=0,cj=(()=>{class n extends Rse{constructor(t){var i;super(),this._labelId="mat-optgroup-label-"+kse++,this._inert=null!==(i=null==t?void 0:t.inertGroups)&&void 0!==i&&i}}return n.\u0275fac=function(t){return new(t||n)(E(QE,8))},n.\u0275dir=oe({type:n,inputs:{label:"label"},features:[ct]}),n})();const JE=new ve("MatOptgroup");let Fse=0;class uj{constructor(e,t=!1){this.source=e,this.isUserInput=t}}let Nse=(()=>{class n{constructor(t,i,r,s){this._element=t,this._changeDetectorRef=i,this._parent=r,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Fse++,this.onSelectionChange=new Le,this._stateChanges=new Se}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,i){const r=this._getHostElement();"function"==typeof r.focus&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!Zs(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new uj(this,t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(void 0),E(cj))},n.\u0275dir=oe({type:n,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),n})(),eS=(()=>{class n extends Nse{constructor(t,i,r,s){super(t,i,r,s)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(QE,8),E(JE,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,i){1&t&&ge("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&t&&(al("id",i.id),nn("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),st("mat-selected",i.selected)("mat-option-multiple",i.multiple)("mat-active",i.active)("mat-option-disabled",i.disabled))},exportAs:["matOption"],features:[ct],ngContentSelectors:gse,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,i){1&t&&(wi(),mt(0,fse,1,2,"mat-pseudo-checkbox",0),R(1,"span",1),Ht(2),k(),mt(3,pse,2,1,"span",2),tt(4,"div",3)),2&t&&(ie("ngIf",i.multiple),G(3),ie("ngIf",i.group&&i.group._inert),G(1),ie("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},directives:[zr,Js,lj],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),n})();function BO(n,e,t){if(t.length){let i=e.toArray(),r=t.toArray(),s=0;for(let o=0;o{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,dn,On,LO]]}),n})();function Wc(n,e,t,i){return Ke(t)&&(i=t,t=void 0),i?Wc(n,e,t).pipe(Ae(r=>we(r)?i(...r):i(r))):new ce(r=>{hj(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function hj(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o enter",[ti({opacity:0,transform:"translateY(-5px)"}),Ao("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let jv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})();const pj=new ve("MatHint");let Gf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-label"]]}),n})(),ooe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-placeholder"]]}),n})();const gj=new ve("MatPrefix"),mj=new ve("MatSuffix");let VO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","matSuffix",""]],features:[Dt([{provide:mj,useExisting:n}])]}),n})(),_j=0;const coe=Uf(class{constructor(n){this._elementRef=n}},"primary"),vj=new ve("MAT_FORM_FIELD_DEFAULT_OPTIONS"),nS=new ve("MatFormField");let am=(()=>{class n extends coe{constructor(t,i,r,s,o,a,l,c){super(t),this._changeDetectorRef=i,this._dir=s,this._defaults=o,this._platform=a,this._ngZone=l,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new Se,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+_j++,this._labelId="mat-form-field-label-"+_j++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==c,this.appearance=o&&o.appearance?o.appearance:"legacy",this._hideRequiredMarker=!(!o||null==o.hideRequiredMarker)&&o.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const i=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&i!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=Mt(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(Rr(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(Tn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Tn(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Ni(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Rr(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Rr(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const i=this._control?this._control.ngControl:null;return i&&i[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Wc(this._label.nativeElement,"transitionend").pipe(yi(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,r=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?t.push(i.id):this._hintLabel&&t.push(this._hintLabelId),r&&t.push(r.id)}else this._errorChildren&&t.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let i=0,r=0;const s=this._connectionContainerRef.nativeElement,o=s.querySelectorAll(".mat-form-field-outline-start"),a=s.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const l=s.getBoundingClientRect();if(0===l.width&&0===l.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const c=this._getStartEnd(l),d=t.children,f=this._getStartEnd(d[0].getBoundingClientRect());let p=0;for(let g=0;g0?.75*p+10:0}for(let l=0;l{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,SE],On]}),n})();function Hv(...n){if(1===n.length){const e=n[0];if(we(e))return iS(e,null);if(_e(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return iS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return iS(n=1===n.length&&we(n[0])?n[0]:n,null).pipe(Ae(t=>e(...t)))}return iS(n,null)}function iS(n,e){return new ce(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=d},error:d=>t.error(d),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((d,f,p)=>(d[f]=r[p],d),{}):r),t.complete())}}))}})}function Ta(n){return function(t){const i=new uoe(n),r=t.lift(i);return i.caught=r}}class uoe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new doe(e,this.selector,this.caught))}}class doe extends ii{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new Gr(this);this.add(i);const r=co(t,i);r!==i&&this.add(r)}}}class hoe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new foe(e,this.callback))}}class foe extends xt{constructor(e,t){super(e),this.add(new Te(t))}}class Cj{}class wj{}class Yu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Yu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Yu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Yu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class poe{encodeKey(e){return Ej(e)}encodeValue(e){return Ej(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const moe=/%(\d[a-f0-9])/gi,_oe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Ej(n){return encodeURIComponent(n).replace(moe,(e,t)=>{var i;return null!==(i=_oe[t])&&void 0!==i?i:e})}function Sj(n){return`${n}`}class oh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new poe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new oh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(Sj(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(Sj(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class yoe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function Mj(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function xj(n){return"undefined"!=typeof Blob&&n instanceof Blob}function Tj(n){return"undefined"!=typeof FormData&&n instanceof FormData}class $v{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Yu),this.context||(this.context=new yoe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(d=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),d)),new $v(i,r,o,{params:d,headers:c,context:f,reportProgress:l,responseType:s,withCredentials:a})}}var Ur=(()=>((Ur=Ur||{})[Ur.Sent=0]="Sent",Ur[Ur.UploadProgress=1]="UploadProgress",Ur[Ur.ResponseHeader=2]="ResponseHeader",Ur[Ur.DownloadProgress=3]="DownloadProgress",Ur[Ur.Response=4]="Response",Ur[Ur.User=5]="User",Ur))();class zO{constructor(e,t=200,i="OK"){this.headers=e.headers||new Yu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class jO extends zO{constructor(e={}){super(e),this.type=Ur.ResponseHeader}clone(e={}){return new jO({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class rS extends zO{constructor(e={}){super(e),this.type=Ur.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new rS({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class Aj extends zO{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function UO(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let Wf=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof $v)s=t;else{let l,c;l=r.headers instanceof Yu?r.headers:new Yu(r.headers),r.params&&(c=r.params instanceof oh?r.params:new oh({fromObject:r.params})),s=new $v(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=ht(s).pipe(function(n,e){return di(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof $v||"events"===r.observe)return o;const a=o.pipe(Fn(l=>l instanceof rS));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(Ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new oh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,UO(r,i))}post(t,i,r={}){return this.request("POST",t,UO(r,i))}put(t,i,r={}){return this.request("PUT",t,UO(r,i))}}return n.\u0275fac=function(t){return new(t||n)(I(Cj))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Dj{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const Oj=new ve("HTTP_INTERCEPTORS");let Coe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const woe=/^\)\]\}',?\n/;let Ij=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ce(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,_)=>r.setRequestHeader(g,_.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,_=r.statusText||"OK",y=new Yu(r.getAllResponseHeaders()),v=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new jO({headers:y,status:g,statusText:_,url:v}),o},l=()=>{let{headers:g,status:_,statusText:y,url:v}=a(),C=null;204!==_&&(C=void 0===r.response?r.responseText:r.response),0===_&&(_=C?200:0);let w=_>=200&&_<300;if("json"===t.responseType&&"string"==typeof C){const x=C;C=C.replace(woe,"");try{C=""!==C?JSON.parse(C):null}catch(N){C=x,w&&(w=!1,C={error:N,text:C})}}w?(i.next(new rS({body:C,headers:g,status:_,statusText:y,url:v||void 0})),i.complete()):i.error(new Aj({error:C,headers:g,status:_,statusText:y,url:v||void 0}))},c=g=>{const{url:_}=a(),y=new Aj({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:_||void 0});i.error(y)};let d=!1;const f=g=>{d||(i.next(a()),d=!0);let _={type:Ur.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),"text"===t.responseType&&!!r.responseText&&(_.partialText=r.responseText),i.next(_)},p=g=>{let _={type:Ur.UploadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),i.next(_)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",f),null!==s&&r.upload&&r.upload.addEventListener("progress",p)),r.send(s),i.next({type:Ur.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",f),null!==s&&r.upload&&r.upload.removeEventListener("progress",p)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(I(aV))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const HO=new ve("XSRF_COOKIE_NAME"),$O=new ve("XSRF_HEADER_NAME");class Pj{}let Soe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Y3(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(dl),I(HO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),GO=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(Pj),I($O))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Moe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(Oj,[]);this.chain=i.reduceRight((r,s)=>new Dj(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(wj),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),xoe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:GO,useClass:Coe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:HO,useValue:t.cookieName}:[],t.headerName?{provide:$O,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GO,{provide:Oj,useExisting:GO,multi:!0},{provide:Pj,useClass:Soe},{provide:HO,useValue:"XSRF-TOKEN"},{provide:$O,useValue:"X-XSRF-TOKEN"}]}),n})(),Rj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Wf,{provide:Cj,useClass:Moe},Ij,{provide:wj,useExisting:Ij}],imports:[[xoe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const Toe=["*"];function kj(n){return Error(`Unable to find icon with the name "${n}"`)}function Fj(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function Nj(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class qf{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let Gv=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new qf(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(mn.HTML,r);if(!o)throw Nj(r);return this._addSvgIconConfig(t,i,new qf("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new qf(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(mn.HTML,i);if(!s)throw Nj(i);return this._addSvgIconSetConfig(t,new qf("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(mn.RESOURCE_URL,t);if(!i)throw Fj(t);const r=this._cachedIconsByUrl.get(i);return r?ht(sS(r)):this._loadSvgIconFromConfig(new qf(t,null)).pipe(Ti(s=>this._cachedIconsByUrl.set(i,s)),Ae(s=>sS(s)))}getNamedSvgIcon(t,i=""){const r=Lj(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Kg(kj(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?ht(sS(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(Ae(i=>sS(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?ht(r):Hv(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(Ta(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(mn.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),ht(null)})))).pipe(Ae(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw kj(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Ti(i=>t.svgText=i),Ae(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?ht(null):this._fetchIcon(t).pipe(Ti(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new hoe(n))}(()=>this._inProgressUrlFetches.delete(a)),Vs());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(Lj(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),Bj=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Foe=Bj.map(n=>`[${n}]`).join(", "),Noe=/^url\(['"]?#(.*?)['"]?\)$/;let rs=(()=>{class n extends Ioe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=Te.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=Mt(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(Foe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(Noe):null;if(c){let d=r.get(a);d||(d=[],r.set(a,d)),d.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Gv),Zr("aria-hidden"),E(Poe),E($o))},n.\u0275cmp=Ne({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),st("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[ct],ngContentSelectors:Toe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})(),lr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let zoe=1;const joe=Promise.resolve(),oS={};function Vj(n){return n in oS&&(delete oS[n],!0)}const zj={setImmediate(n){const e=zoe++;return oS[e]=!0,joe.then(()=>Vj(e)&&n()),e},clearImmediate(n){Vj(n)}};new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=zj.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(zj.clearImmediate(t),e.scheduled=void 0)}});function cm(n){return!!n&&(n instanceof ce||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class Woe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new qoe(e,this.durationSelector))}}class qoe extends ii{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=co(t,new Gr(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function WO(n){return!we(n)&&n-parseFloat(n)+1>=0}function Xoe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function aS(n,e=Pf){return function(n){return function(t){return t.lift(new Woe(n))}}(()=>function(n=0,e,t){let i=-1;return WO(e)?i=Number(e)<1?1:Number(e):Gn(e)&&(t=e),Gn(t)||(t=Pf),new ce(r=>{const s=WO(n)?n:+n-t.now();return t.schedule(Xoe,s,{index:0,period:i,subscriber:r})})}(n,e))}function qc(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(d){let f;s++,!r||a?(a=!1,r=new If(n,e,i),f=r.subscribe(this),o=d.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):f=r.subscribe(this),this.add(()=>{s--,f.unsubscribe(),f=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}class lS{constructor(e=!1,t,i=!0){this._multiple=e,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Se,t&&t.length&&(e?t.forEach(r=>this._markSelected(r)):this._markSelected(t[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...e){this._verifyValueAssignment(e),e.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...e){this._verifyValueAssignment(e),e.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(e){this.isSelected(e)?this.deselect(e):this.select(e)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(e){return this._selection.has(e)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){this.isSelected(e)||(this._multiple||this._unmarkAll(),this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){}}let cS=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),um=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new Se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new ce(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(aS(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):ht()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Fn(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=Wu(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Wc(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(ut,8))},token:n,providedIn:"root"}),n})(),Yf=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new Se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(aS(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut,8))},token:n,providedIn:"root"}),n})(),Wv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),Gj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv,Rv,Wv],Nv,Wv]}),n})();class qO{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class dm extends qO{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Xf extends qO{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class fae extends qO{constructor(e){super(),this.element=e instanceof rt?e.nativeElement:e}}class uS{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof dm?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Xf?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof fae?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class pae extends uS{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let Kf=(()=>{class n extends uS{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Le,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(E(ll),E(ns),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[ct]}),n})(),dS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function qj(n,e=!1){return t=>t.lift(new gae(n,e))}class gae{constructor(e,t){this.predicate=e,this.inclusive=t}call(e,t){return t.subscribe(new mae(e,this.predicate,this.inclusive))}}class mae extends xt{constructor(e,t,i){super(e),this.predicate=t,this.inclusive=i,this.index=0}_next(e){const t=this.destination;let i;try{i=this.predicate(e,this.index++)}catch(r){return void t.error(r)}this.nextOrComplete(e,i)}nextOrComplete(e,t){const i=this.destination;Boolean(t)?i.next(e):(this.inclusive&&i.next(e),i.complete())}}const Yj=TV();class _ae{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=jr(-this._previousScrollPosition.left),e.style.top=jr(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),Yj&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Yj&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class yae{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class Xj{enable(){}disable(){}attach(){}}function YO(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function Kj(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class vae{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();YO(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let bae=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new Xj,this.close=o=>new yae(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new _ae(this._viewportRuler,this._document),this.reposition=o=>new vae(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(I(um),I(Yf),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(um),I(Yf),I(dt),I(ut))},token:n,providedIn:"root"}),n})();class qv{constructor(e){if(this.scrollStrategy=new Xj,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class Cae{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class wae{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let Zj=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Eae=(()=>{class n extends Zj{constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Sae=(()=>{class n extends Zj{constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Nf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(si))},n.\u0275prov=ue({factory:function(){return new n(I(ut),I(si))},token:n,providedIn:"root"}),n})();const ah="undefined"!=typeof window?window:{},Qj=void 0!==ah.__karma__&&!!ah.__karma__||void 0!==ah.jasmine&&!!ah.jasmine||void 0!==ah.jest&&!!ah.jest||void 0!==ah.Mocha&&!!ah.Mocha;let hm=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Qj){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(d),this._keydownEvents=new Se,this._outsidePointerEvents=new Se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=jr(this._config.width),e.height=jr(this._config.height),e.minWidth=jr(this._config.minWidth),e.minHeight=jr(this._config.minHeight),e.maxWidth=jr(this._config.maxWidth),e.maxHeight=jr(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;EE(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(Tn(Ni(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const Jj="cdk-overlay-connected-position-bounding-box",xae=/([A-Za-z%]+)$/;class eU{constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Se,this._resizeSubscription=Te.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(Jj),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Zf(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Jj),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=nU(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,_=this._subtractOverflows(s.width,0-o,o+s.width-i.width),y=this._subtractOverflows(s.height,p,g),v=_*y;return{visibleArea:v,isCompletelyWithinViewport:s.width*s.height===v,fitsInViewportVertically:y===s.height,fitsInViewportHorizontally:_==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=tU(this._overlayRef.getConfig().minHeight),a=tU(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=nU(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let d=0,f=0;return d=r.width<=s.width?c||-o:e.x_&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-_/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,d=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)f=e.x,d=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),_=this._lastBoundingBoxSize.width;d=2*g,f=e.x-g,d>_&&!this._isInitialRender&&!this._growAfterOpen&&(f=e.x-_/2)}return{top:o,left:f,bottom:a,right:p,width:d,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=jr(i.height),r.top=jr(i.top),r.bottom=jr(i.bottom),r.width=jr(i.width),r.left=jr(i.left),r.right=jr(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=jr(s)),o&&(r.maxWidth=jr(o))}this._lastBoundingBoxSize=i,Zf(this._boundingBox.style,r)}_resetBoundingBoxStyles(){Zf(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Zf(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();Zf(i,this._getExactOverlayY(t,e,d)),Zf(i,this._getExactOverlayX(t,e,d))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=jr(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=jr(o.maxWidth):s&&(i.maxWidth="")),Zf(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=jr(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=jr(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Kj(e,i),isOriginOutsideView:YO(e,i),isOverlayClipped:Kj(t,i),isOverlayOutsideView:YO(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&EE(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof rt)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function Zf(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function tU(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(xae);return t&&"px"!==t?null:parseFloat(e)}return n||null}function nU(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class Tae{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new eU(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new Cae(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const iU="cdk-global-overlay-wrapper";class Aae{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(iU),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(iU),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let Dae=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new Aae}connectedTo(t,i,r){return new Tae(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new eU(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(I(Yf),I(ut),I(si),I(hm))},n.\u0275prov=ue({factory:function(){return new n(I(Yf),I(ut),I(si),I(hm))},token:n,providedIn:"root"}),n})(),Oae=0,Jo=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=d,this._location=f,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new qv(t);return o.direction=o.direction||this._directionality.value,new Mae(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Oae++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(Jd)),new pae(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(I(bae),I(hm),I(ll),I(Dae),I(Eae),I(Nt),I(dt),I(ut),I(Qo),I(Xg),I(Sae))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Iae=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],rU=new ve("cdk-connected-overlay-scroll-strategy");let Pae=(()=>{class n{constructor(t){this.elementRef=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),n})(),sU=(()=>{class n{constructor(t,i,r,s,o){this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=Te.EMPTY,this._attachSubscription=Te.EMPTY,this._detachSubscription=Te.EMPTY,this._positionSubscription=Te.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Le,this.positionChange=new Le,this.attach=new Le,this.detach=new Le,this.overlayKeydown=new Le,this.overlayOutsideClick=new Le,this._templatePortal=new Xf(i,r),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=Mt(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=Mt(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=Mt(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=Mt(t)}get push(){return this._push}set push(t){this._push=Mt(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Iae);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Zs(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),i=new qv({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(t){const i=this.positions.map(r=>({originX:r.originX,originY:r.originY,overlayX:r.overlayX,overlayY:r.overlayY,offsetX:r.offsetX||this.offsetX,offsetY:r.offsetY||this.offsetY,panelClass:r.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(qj(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Ys),E(ns),E(rU),E(Qo,8))},n.\u0275dir=oe({type:n,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[zn]}),n})();const kae={provide:rU,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};let Yv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Jo,kae],imports:[[Nv,dS,Gj],Gj]}),n})();const oU=["mat-button",""],aU=["*"],Nae=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],Lae=Uf(jf(nc(class{constructor(n){this._elementRef=n}})));let lh=(()=>{class n extends Lae{constructor(t,i,r){super(t),this._focusMonitor=i,this._animationMode=r,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of Nae)this._hasHostAttributes(s)&&this._getHostElement().classList.add(s);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,i){t?this._focusMonitor.focusVia(this._getHostElement(),t,i):this._getHostElement().focus(i)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(i=>this._getHostElement().hasAttribute(i))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,i){if(1&t&&Jn(Js,5),2&t){let r;_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,i){2&t&&(nn("disabled",i.disabled||null),st("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[ct],attrs:oU,ngContentSelectors:aU,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,i){1&t&&(wi(),R(0,"span",0),Ht(1),k(),tt(2,"span",1),tt(3,"span",2)),2&t&&(G(2),st("mat-button-ripple-round",i.isRoundButton||i.isIconButton),ie("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[Js],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),n})(),ch=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();class cU extends xt{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Bae extends xt{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function uU(n,e,t,i,r=new Bae(n,t,i)){if(!r.closed)return e instanceof ce?e.subscribe(r):ki(e)(r)}const dU={};function Qi(...n){let e,t;return Gn(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0]),za(n,t).lift(new hU(e))}class hU{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Vae(e,this.resultSelector))}}class Vae extends cU{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(dU),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i{class n{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):jae}matchMedia(t){return this._platform.WEBKIT&&function(n){if(!fU.has(n))try{fm||(fm=document.createElement("style"),fm.setAttribute("type","text/css"),document.head.appendChild(fm)),fm.sheet&&(fm.sheet.insertRule(`@media ${n} {.fx-query-test{ }}`,0),fU.add(n))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function jae(n){return{matches:"all"===n||""===n,media:n,addListener:()=>{},removeListener:()=>{}}}let XO=(()=>{class n{constructor(t,i){this._mediaMatcher=t,this._zone=i,this._queries=new Map,this._destroySubject=new Se}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return gU(EE(t)).some(r=>this._registerQuery(r).mql.matches)}observe(t){let s=Qi(gU(EE(t)).map(o=>this._registerQuery(o).observable));return s=IE(s.pipe(yi(1)),s.pipe(QD(1),Zg(0))),s.pipe(Ae(o=>{const a={matches:!1,breakpoints:{}};return o.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const i=this._mediaMatcher.matchMedia(t),s={observable:new ce(o=>{const a=l=>this._zone.run(()=>o.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(Rr(i),Ae(({matches:o})=>({query:t,matches:o})),Tn(this._destroySubject)),mql:i};return this._queries.set(t,s),s}}return n.\u0275fac=function(t){return new(t||n)(I(pU),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(pU),I(dt))},token:n,providedIn:"root"}),n})();function gU(n){return n.map(e=>e.split(",")).reduce((e,t)=>e.concat(t)).map(e=>e.trim())}function Uae(n,e){if(1&n){const t=Zi();R(0,"div",1),R(1,"button",2),ge("click",function(){return en(t),Qe().action()}),De(2),k(),k()}if(2&n){const t=Qe();G(2),xi(t.data.action)}}function Hae(n,e){}const KO=new ve("MatSnackBarData");class hS{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const $ae=Math.pow(2,31)-1;class ZO{constructor(e,t){this._overlayRef=t,this._afterDismissed=new Se,this._afterOpened=new Se,this._onAction=new Se,this._dismissedByAction=!1,this.containerInstance=e,this.onAction().subscribe(()=>this.dismiss()),e._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,$ae))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let Gae=(()=>{class n{constructor(t,i){this.snackBarRef=t,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return n.\u0275fac=function(t){return new(t||n)(E(ZO),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,i){1&t&&(R(0,"span"),De(1),k(),mt(2,Uae,3,1,"div",0)),2&t&&(G(1),xi(i.data.message),G(1),ie("ngIf",i.hasAction))},directives:[zr,lh],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),n})();const Wae={snackBarState:tc("state",[wr("void, hidden",ti({transform:"scale(0.8)",opacity:0})),wr("visible",ti({transform:"scale(1)",opacity:1})),Qs("* => visible",Ao("150ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void, * => hidden",Ao("75ms cubic-bezier(0.4, 0.0, 1, 1)",ti({opacity:0})))])};let qae=(()=>{class n extends uS{constructor(t,i,r,s,o){super(),this._ngZone=t,this._elementRef=i,this._changeDetectorRef=r,this._platform=s,this.snackBarConfig=o,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Se,this._onExit=new Se,this._onEnter=new Se,this._animationState="void",this.attachDomPortal=a=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(a)),this._live="assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:i,toState:r}=t;if(("void"===r&&"void"!==i||"hidden"===r)&&this._completeExit(),"visible"===r){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(yi(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(r=>t.classList.add(r)):t.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&i){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(r=document.activeElement),t.removeAttribute("aria-hidden"),i.appendChild(t),null==r||r.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(rt),E(kn),E(si),E(hS))},n.\u0275cmp=Ne({type:n,selectors:[["snack-bar-container"]],viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,i){1&t&&Qy("@state.done",function(s){return i.onAnimationEnd(s)}),2&t&&Pg("@state",i._animationState)},features:[ct],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,i){1&t&&(R(0,"div",0),mt(1,Hae,0,0,"ng-template",1),k(),tt(2,"div")),2&t&&(G(2),nn("aria-live",i._live)("role",i._role))},directives:[Kf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[Wae.snackBarState]}}),n})(),_U=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Yv,dS,dn,ch,On],On]}),n})();const yU=new ve("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hS}});let Xae=(()=>{class n{constructor(t,i,r,s,o,a){this._overlay=t,this._live=i,this._injector=r,this._breakpointObserver=s,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=Gae,this.snackBarContainerComponent=qae,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,i){return this._attach(t,i)}openFromTemplate(t,i){return this._attach(t,i)}open(t,i="",r){const s=Object.assign(Object.assign({},this._defaultConfig),r);return s.data={message:t,action:i},s.announcementMessage===t&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:hS,useValue:i}]}),o=new dm(this.snackBarContainerComponent,i.viewContainerRef,s),a=t.attach(o);return a.instance.snackBarConfig=i,a.instance}_attach(t,i){const r=Object.assign(Object.assign(Object.assign({},new hS),this._defaultConfig),i),s=this._createOverlay(r),o=this._attachSnackBarContainer(s,r),a=new ZO(o,s);if(t instanceof Ys){const l=new Xf(t,null,{$implicit:r.data,snackBarRef:a});a.instance=o.attachTemplatePortal(l)}else{const l=this._createInjector(r,a),c=new dm(t,void 0,l),d=o.attachComponentPortal(c);a.instance=d.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Tn(s.detachments())).subscribe(l=>{const c=s.overlayElement.classList;l.matches?c.add(this.handsetCssClass):c.remove(this.handsetCssClass)}),r.announcementMessage&&o._onAnnounce.subscribe(()=>{this._live.announce(r.announcementMessage,r.politeness)}),this._animateSnackBar(a,r),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(t,i){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),i.duration&&i.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(i.duration))}_createOverlay(t){const i=new qv;i.direction=t.direction;let r=this._overlay.position().global();const s="rtl"===t.direction,o="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!s||"end"===t.horizontalPosition&&s,a=!o&&"center"!==t.horizontalPosition;return o?r.left("0"):a?r.right("0"):r.centerHorizontally(),"top"===t.verticalPosition?r.top("0"):r.bottom("0"),i.positionStrategy=r,this._overlay.create(i)}_createInjector(t,i){return Nt.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ZO,useValue:i},{provide:KO,useValue:t.data}]})}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(DE),I(Nt),I(XO),I(n,12),I(yU))},n.\u0275prov=ue({factory:function(){return new n(I(Jo),I(DE),I(Fc),I(XO),I(n,12),I(yU))},token:n,providedIn:_U}),n})();function xe(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function ws(n,e){return function(t,i){e(t,i,n)}}function Xe(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function yl(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function l(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?s(d.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(d.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function wU(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JO(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||wU()}const EU="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JO();class Jae{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const SU={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function MU(n){return"string"==typeof n?SU[n.toUpperCase()]||SU.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const ic={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Xv=ic.window||ic.self||ic.global,xU=ic.process||{};function pm(){let n;if(pS&&Xv.performance)n=Xv.performance.now();else if(xU.hrtime){const e=xU.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const gm={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ole={enabled:!0,level:0};function vl(){}const TU={},AU={once:!0};function ale(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=EU,this._startTs=pm(),this._deltaTs=pm(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Jae("__probe-".concat(this.id,"__"),ole),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((pm()-this._startTs).toPrecision(10))}getDelta(){return Number((pm()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,gm.warn,arguments,AU)}error(t){return this._getLogFunction(0,t,gm.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,gm.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,gm.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,gm.debug||gm.info,arguments,AU)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||vl,r&&[r],{tag:ale(i)}):vl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,vl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),vl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),vl}return vl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=ze(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):vl}({image:r,message:s,scale:o}):vl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||vl)}group(t,i,r={collapsed:!1}){r=OU({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||vl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=DU(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=OU({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=pm();const a=o.tag||o.message;if(o.once){if(TU[a])return vl;TU[a]=pm()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=MU(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=MU(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return vl}}return n.VERSION=EU,n})();function DU(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function OU(n){const{logLevel:e,message:t}=n;n.logLevel=DU(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const jn=new tI({id:"deck"}),qn={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(qn,"IDENTITY",{get:()=>jn.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Yc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},IU={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},vt=new tI({id:"luma.gl"});function Oo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function In(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return Oo(mS(n),"Invalid WebGLRenderingContext"),n}function eo(n){return Oo(In(n),"Requires WebGL2"),n}const Kv={};const Zv=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Qf.prototype.VERTEX_ARRAY_BINDING_OES=34229,Qf.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iIn(n)?void 0:0,Ale={3074:n=>In(n)?void 0:36064,35723:n=>In(n)?void 0:4352,35977:Bi,32937:Bi,36795:(n,e)=>{const t=In(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Bi,35071:Bi,37447:Bi,36063:(n,e)=>{if(!In(n)){const t=n.getExtension(RU);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Bi,35374:Bi,35377:Bi,34852:n=>{if(!In(n)){const e=n.getExtension(RU);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(PU)?2147483647:65535,33001:n=>n.getExtension(PU)?16777216:65535,33e3:n=>16777216,37157:Bi,35373:Bi,35657:Bi,36183:Bi,37137:Bi,34045:Bi,35978:Bi,35979:Bi,35968:Bi,35376:Bi,35375:Bi,35659:Bi,37154:Bi,35371:Bi,35658:Bi,35076:Bi,35077:Bi,35380:Bi},FU="ANGLE_instanced_arrays",NU={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Oo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[FU]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){Oo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Oo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Oo(!1)},deleteQuery:()=>{Oo(!1)},beginQuery:()=>{Oo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{In(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:In(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!In(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!In(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Ale[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function zle(n,{extension:e,target:t,target2:i}){const r=NU[e];Oo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let d=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?d=(...f)=>a[c](...f):"function"==typeof r[l]&&(d=r[l].bind(t))),d&&(t[l]=d,i[l]=d)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Qf(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&zle(n,{extension:t,target:n.luma,target2:n})}(n,NU),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},uh=(n,e,t)=>e?n.enable(t):n.disable(t),LU=(n,e,t)=>n.hint(t,e),Aa=(n,e,t)=>n.pixelStorei(t,e);function Qv(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const Hle={3042:uh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:uh,2885:(n,e)=>n.cullFace(e),2929:uh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:uh,35723:LU,36006:(n,e)=>{const t=In(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:LU,2849:(n,e)=>n.lineWidth(e),32823:uh,32824:"polygonOffset",10752:"polygonOffset",35977:uh,32938:"sampleCoverage",32939:"sampleCoverage",3089:uh,3088:(n,e)=>n.scissor(...e),2960:uh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:Aa,3317:Aa,37440:Aa,37441:Aa,37443:Aa,3330:Aa,3332:Aa,3331:Aa,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:Aa,32878:Aa,3316:Aa,3315:Aa,32877:Aa,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=Qv(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=Qv(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=Qv(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function Er(n,e,t){return void 0!==e[n]?e[n]:t[n]}const $le={blendEquation:(n,e,t)=>n.blendEquationSeparate(Er(32777,e,t),Er(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(Er(32969,e,t),Er(32968,e,t),Er(32971,e,t),Er(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(Er(32824,e,t),Er(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(Er(32938,e,t),Er(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,Er(2962,e,t),Er(2967,e,t),Er(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,Er(34816,e,t),Er(36003,e,t),Er(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,Er(2964,e,t),Er(2965,e,t),Er(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,Er(34817,e,t),Er(34818,e,t),Er(34819,e,t))},BU={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),VU={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function zU(n){for(const e in n)return!1;return!0}function Gle(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=VU[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=VU[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){Oo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){Oo(void 0!==s);const o=e[s],a=this.cache[s];Gle(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function UU(n,e={}){const{enable:t=!0,copyState:i}=e;if(Oo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new Yle(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in BU)Wle(n,s,BU[s]);jU(n,"getParameter"),jU(n,"isEnabled")}return n.state.enable=t,n}function HU(n){Oo(n.state),n.state.pop()}function Xu(n,e){if(Oo(mS(n),"setParameters requires a WebGL context"),zU(e))return;const t={};for(const r in e){const s=Number(r),o=Hle[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)$le[r](n,e,i)}function rc(n,e,t){if(zU(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||UU(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),HU(n);else try{r=t(n)}finally{HU(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function mm(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=$U(n[0],e,t);let o=GU(n[1],e,i,r),a=$U(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=GU(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,mm(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function $U(n,e,t){return Math.min(Math.round(n*e),t-1)}function GU(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),tce=sI&&"undefined"!=typeof document,WU={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function qU(n={}){Oo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},WU,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(tce&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=In(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);vt.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},WU,e);const{manageState:t,debug:i}=e;return t&&UU(n,{copyState:!1,log:(...r)=>vt.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),vt.level=Math.max(vt.level,1)):vt.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function YU(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class XU{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=YU(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(YU()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof XU?e:new XU(t,i)),this.stats[t]}}const Jv="8.5.12",Jf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==Jv)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Jv}`);function nt(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return nt(void 0!==i,`Accessing undefined constant GL.${e}`),i}function dh(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&vt.log(1,`luma.gl ${Jv} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Jv,version:Jv,log:vt,stats:Jf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ea(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function KU(n){return nt("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function _m(n){let e=!0;for(const t in n){e=!1;break}return e}function ZU(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw vt.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const ym="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ea(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=In(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const f=i?dh(this.gl,l):l;o[f]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[f]=dh(this.gl,o[f]))}}return o}setParameter(e,t){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return ZU(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(ym)}_deleteHandle(){throw new Error(ym)}_bindHandle(e){throw new Error(ym)}_getOptsFromHandle(){throw new Error(ym)}_getParameter(e,t){throw new Error(ym)}_setParameter(e,t){throw new Error(ym)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Jf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Jf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Jf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Jf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function eb(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function fce({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ta.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ta.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,gce)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const JU={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},mce={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:JU},_ce={removedProps:JU};class Ai extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,mce),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,_ce))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ta(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;nt(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(eo(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return eo(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){eo(this.gl);const s=eb(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const d=Math.min(o,l);return nt((r=r||d)<=d),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(nt(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){nt(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return nt(s),this.setAccessor(new ta(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){nt(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/eb(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ta(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return vt.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return vt.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return vt.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return vt.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ta(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},e4={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},t4={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},bce=[9729,9728],n4=globalThis.WebGLBuffer||function(){};class ep extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=In(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ea("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(w=>this.initialize(Object.assign({},e,{pixels:w,data:w}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:d}=e;t||(t=r);let{width:f,height:p,dataFormat:g,type:_,compressed:y=!1,mipmaps:v=!0}=e;const{depth:C=0}=e;return({width:f,height:p,compressed:y,dataFormat:g,type:_}=this._deduceParameters({format:s,type:_,dataFormat:g,compressed:y,data:t,width:f,height:p})),this.width=f,this.height=p,this.depth=C,this.format=s,this.type=_,this.dataFormat=g,this.border=o,this.textureUnit=d,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),v&&this._isNPOT()&&(vt.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),v=!1,this._updateForNPOT(l)),this.mipmaps=v,this.setImageData({data:t,width:f,height:p,depth:C,format:s,type:_,dataFormat:g,border:o,mipmaps:v,parameters:c,compressed:y}),v&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:d=this.type,width:f=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:_=!1}=e;c||(c=i),({type:d,dataFormat:g,compressed:_,width:f,height:p}=this._deduceParameters({format:s,type:d,dataFormat:g,compressed:_,data:c,width:f,height:p}));const{gl:y}=this;y.bindTexture(this.target,this.handle);let v=null;({data:c,dataType:v}=this._getDataType({data:c,compressed:_}));let C,w=0;return rc(this.gl,l,()=>{switch(v){case"null":y.texImage2D(t,r,s,f,p,o,g,d,c);break;case"typed-array":y.texImage2D(t,r,s,f,p,o,g,d,c,a);break;case"buffer":C=eo(y),C.bindBuffer(35052,c.handle||c),C.texImage2D(t,r,s,f,p,o,g,d,a),C.bindBuffer(35052,null);break;case"browser-object":In(y)?y.texImage2D(t,r,s,f,p,o,g,d,c):y.texImage2D(t,r,s,g,d,c);break;case"compressed":for(const[x,N]of c.entries())y.compressedTexImage2D(t,x,N.format,N.width,N.height,o,N.data),w+=N.levelSize;break;default:nt(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===v?w:c&&c.byteLength?c.byteLength:this.width*this.height*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:d=this.type,dataFormat:f=this.dataFormat,compressed:p=!1,offset:g=0,border:_=this.border,parameters:y={}}){if(({type:d,dataFormat:f,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:d,dataFormat:f,compressed:p,data:i,width:o,height:a})),nt(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const v=i;i=v.data,o=v.shape[0],a=v.shape[1]}i instanceof Ai&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),rc(this.gl,y,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,f,d,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,f,d,i,g);else if(i instanceof n4){const v=eo(this.gl);v.bindBuffer(35052,i),v.texSubImage2D(e,l,r,s,o,a,f,d,g),v.bindBuffer(35052,null)}else In(this.gl)?eo(this.gl).texSubImage2D(e,l,r,s,o,a,f,d,i):this.gl.texSubImage2D(e,l,r,s,f,d,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return vt.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof Ai?{data:e.handle,dataType:"buffer"}:e instanceof n4?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},nt(r,"Could not deduced texture size"),nt(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),nt(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:nt(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(In(this.gl)||!this.width||!this.height||KU(this.width)&&KU(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===bce.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Cce(n,e){return nt("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class na extends ep{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return ep.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Cce(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const tp="EXT_color_buffer_float",i4={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:tp,bpp:2},33327:{gl2:tp,bpp:4},34842:{gl2:tp,bpp:8},33326:{gl2:tp,bpp:4},33328:{gl2:tp,bpp:8},34836:{gl2:tp,bpp:16},35898:{gl2:tp,bpp:4}};class vm extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=In(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,i4)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return nt(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&In(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*i4[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const l4="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),nt(0!==o,l4),rc(n,s,()=>{n.clear(o)})}function c4(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function yn(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){c4(s,i,r,o,a,"next",l)}function a(l){c4(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let Ace=(()=>{class n extends ep{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return yn(function*(){const{gl:d}=c,f=r||s,p=yield Promise.all(gI.map(g=>{const _=f[g];return Promise.all(Array.isArray(_)?_:[_])}));c.bind(),gI.forEach((g,_)=>{p[_].length>1&&!1!==c.opts.mipmaps&&vt.warn(`${c.id} has mipmap and multiple LODs.`)(),p[_].forEach((y,v)=>{t&&i?d.texImage2D(g,v,a,t,i,o,a,l,y):d.texImage2D(g,v,a,a,l,y)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:d=5121}=t,{gl:f}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?f.texImage2D(i,0,c,r,s,l,c,d,p):f.texImage2D(i,0,c,c,d,p),this}}return n.FACES=gI,n})();class Dce extends ep{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:d,parameters:f={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),rc(this.gl,f,()=>{ArrayBuffer.isView(d)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,d),d instanceof Ai&&(this.gl.bindBuffer(35052,d.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(d&&d.byteLength?d.byteLength:this.width*this.height*this.depth*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}}function u4(n,e){nt(n instanceof na||n instanceof Ace||n instanceof Dce);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d},e))}function Oce(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ss(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function vS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:d,deleteFramebuffer:f}=tb(n);nt(d);const{gl:p,handle:g,attachments:_}=d;a=a||d.width,l=l||d.height,36064===s&&null===g&&(s=1028),nt(_[s]),c=c||_[s].type,o=function(n,e,t,i,r){if(n)return n;return new(eb(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return nt(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const y=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,y||null),f&&d.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=vS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=fce({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const d in i){const f=i[d];(Array.isArray(f)?f[0]:f).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return nt(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&vt.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){nt(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof vm)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[d,f=0,p=0]=l;c=d,this._attachTexture({attachment:a,texture:d,layer:f,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ss.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){eo(n),rc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:nt(!1,l4)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return vt.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return vt.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return vt.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return vt.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return vt.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return vt.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=eo(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=dh(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?dh(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?dh(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>vt.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return vt.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new na(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new vm(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new vm(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&nt(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof vm?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:eo(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:nt(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return In(n)?n:null}(this.gl);t?t.readBuffer(e):nt(36064===e||1029===e,d4),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=eo(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):nt(1===e.length&&(36064===e[0]||1029===e[0]),d4)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in h4)void 0===n.luma.caps[e]&&(n.luma.caps[e]=p4(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ss.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const h4={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new na(n,{format:6408,type:5126,dataFormat:6408}),t=new ss(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return f4(n,e)}function f4(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>p4(n,t))}function p4(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=h4[e];let i;nt(t,e);const r=In(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:nt(!1);return i}(n,e)),n.luma.caps[e]||vt.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},Hce=(Math,1/180*Math.PI),Ji={};function Gce(n,{precision:e=Ji.precision||4}={}){return n=function(n){return Math.round(n/Ji.EPSILON)*Ji.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function hh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zu(n,e,t){if(hh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*Hce,void 0)}(n)}function np(n,e,t){return Zu(n,i=>Math.max(e,Math.min(t,i)))}function bS(n,e,t){return hh(n)?n.map((i,r)=>bS(i,e[r],t)):t*e+(1-t)*n}function rb(n,e,t){const i=Ji.EPSILON;t&&(Ji.EPSILON=t);try{if(n===e)return!0;if(hh(n)&&hh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+Gce(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(M4.length=n.length,i=M4):i=S4,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function x4(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?T4(n,e,[]):e(n)?[n]:[]}function T4(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function A4(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",K(K(K({},Mue[n.type]),e),n)):null}function D4(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function O4(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function I4(n){n.push(n.shift())}function MI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function P4({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,d=r&&c,f=MI(t,e),p=t.state.constant;if(!d&&i>=f)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const C=s;s=(w,x)=>t._normalizeConstant(C(w,x))}const _=p?(C,w)=>s(g,w):(C,w)=>s(g.subarray(C,C+a),w),y=n.getData({length:i}),v=new Float32Array(f);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((d,f)=>i(d+a,f)),c=Math.min(r.length,s.length);for(let d=1;d(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===MS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=MS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=wue}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==MS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,d]of s)o.call(r,this,{data:t,startRow:c,endRow:d,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const v=f*a+l;for(let C=0;Cd?c.set(x,y):(e._normalizeValue(x,C.target,0),Cue({target:c,source:C.target,start:y,count:N}));y+=N*d}else e._normalizeValue(x,c,y),y+=d}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let TI={};function no(n){jn.level>0&&TI[n]&&TI[n].call(...arguments)}function Da(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const R4="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Aue=`#version 300 es\n${R4}`;function k4(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function F4(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Aue:e>300?`#version ${e}\n${R4}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Da(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class N4 extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,_m(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,vt.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof Ai?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Pue{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof Ai?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&nt(In(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new N4(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],nt(i[s]instanceof Ai)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new Ai(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function L4(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const ab="vs",Fue={[ab]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",B4=/void\s+main\s*\([^)]*\)\s*\{\n?/,V4=/}\n?[^{}]*$/,DI=[];function z4(n,e,t,i=!1){const r=e===ab;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(V4,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(B4,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(V4,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+Fue[e])),n}function OI(n){const e={};return Da(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Nue={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",j4="transform_position";const $ue={10241:9728,10240:9728,10242:33071,10243:33071};class Wue{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const f in this.samplerTextureMap)a[f]=i[this.samplerTextureMap[f]];this._setSourceTextureParameters();const d=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,d)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=vS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Da(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Ai(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ss(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters($ue)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=u4(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const d=l.split("\n"),f=d.slice();if(d.forEach((p,g,_)=>{if(s>0){const y=function(n,e){const t={},i=function(n){return k4(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),f=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Da(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":f},samplerTextureMap:t}}return null}(p,e);if(y){const{updatedLine:v,inject:C}=y;f[g]=v,c=OI([c,C]),Object.assign(a,y.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=k4(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){nt(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${j4} = transform_getPos(${p});\n gl_Position = vec4(${j4}, 0, 1.);\n`}])}l=f.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||F4({version:L4(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Nue].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function Yue(n){let e=U4(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=U4(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function U4(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:d,fragmentShader:f}){Da("string"==typeof e),this.name=e,this.vs=t||d,this.fs=i||f,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=Yue(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Da(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Da(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function Que(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}($4(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(Da("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Da(t.name,"shader module has no name"),(t=new PI(t)).dependencies=$4(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},ip={};function ode(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{ip[n]=n});const FI={};function G4(n,e,t={}){const i=kI[e];if(Da(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];Da(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Da(!1===r||!0===r),r}(n,t))}function Cm(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const W4=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],ude=[...W4,[Cm("attribute"),"in $1"],[Cm("varying"),"out $1"]],dde=[...W4,[Cm("varying"),"in $1"]],q4=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],hde=[...q4,[Cm("in"),"attribute $1"],[Cm("out"),"varying $1"]],fde=[...q4,[Cm("in"),"varying $1"]],NI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,pde=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const yde=`\n\n${xS}\n\n`,Y4={[ab]:"vertex",fs:"fragment"};function X4(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:d}){Da("string"==typeof t,"shader source must be a string");const f=i===ab,p=t.split("\n");let g=100,_="",y=t;0===p[0].indexOf("#version ")?(g=300,_=p[0],y=p.slice(1).join("\n")):_=`#version ${g}`;const v={};r.forEach(U=>{Object.assign(v,U.getDefines())}),Object.assign(v,s);let C=c?`${_}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${Y4[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${Y4[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ode(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,ip.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,ip.GLSL_DERIVATIVES)&&G4(n,ip.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,ip.GLSL_FRAG_DATA)&&G4(n,ip.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,ip.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(v)}\n${f?"":"precision highp float;\n\n"}\n`:`${_}\n`;const w=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),x={},N={},V={};for(const U in a){const ee="string"==typeof a[U]?{injection:a[U],order:0}:a[U],de=U.match(/^(v|f)s:(#)?([\w-]+)$/);if(de){const me=de[3];de[2]?"decl"===me?N[U]=[ee]:V[U]=[ee]:x[U]=[ee]}else V[U]=[ee]}for(const U of r){d&&U.checkDeprecations(y,d),C+=U.getModuleSource(i,g);const de=U.injections[i];for(const ae in de){const me=ae.match(/^(v|f)s:#([\w-]+)$/);if(me){const Be="decl"===me[2]?N:V;Be[ae]=Be[ae]||[],Be[ae].push(de[ae])}else x[ae]=x[ae]||[],x[ae].push(de[ae])}}return C+=yde,C=z4(C,i,N),C+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(w[i],x),C+=y,C=z4(C,i,V),C=function(n,e,t){switch(e){case 300:return t?DS(n,ude):function(n){const e=(n=DS(n,dde)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${NI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(pde,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${NI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,hde):function(n){const e=(n=DS(n,fde)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),NI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(C,l?100:g,f),C}function Cde(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Tde={5126:er.bind(null,"uniform1fv",Oa,1,io),35664:er.bind(null,"uniform2fv",Oa,2,io),35665:er.bind(null,"uniform3fv",Oa,3,io),35666:er.bind(null,"uniform4fv",Oa,4,io),5124:er.bind(null,"uniform1iv",fh,1,io),35667:er.bind(null,"uniform2iv",fh,2,io),35668:er.bind(null,"uniform3iv",fh,3,io),35669:er.bind(null,"uniform4iv",fh,4,io),35670:er.bind(null,"uniform1iv",fh,1,io),35671:er.bind(null,"uniform2iv",fh,2,io),35672:er.bind(null,"uniform3iv",fh,3,io),35673:er.bind(null,"uniform4iv",fh,4,io),35674:er.bind(null,"uniformMatrix2fv",Oa,4,Ju),35675:er.bind(null,"uniformMatrix3fv",Oa,9,Ju),35676:er.bind(null,"uniformMatrix4fv",Oa,16,Ju),35678:Fs,35680:Fs,5125:er.bind(null,"uniform1uiv",OS,1,io),36294:er.bind(null,"uniform2uiv",OS,2,io),36295:er.bind(null,"uniform3uiv",OS,3,io),36296:er.bind(null,"uniform4uiv",OS,4,io),35685:er.bind(null,"uniformMatrix2x3fv",Oa,6,Ju),35686:er.bind(null,"uniformMatrix2x4fv",Oa,8,Ju),35687:er.bind(null,"uniformMatrix3x2fv",Oa,6,Ju),35688:er.bind(null,"uniformMatrix3x4fv",Oa,12,Ju),35689:er.bind(null,"uniformMatrix4x2fv",Oa,8,Ju),35690:er.bind(null,"uniformMatrix4x3fv",Oa,12,Ju),35678:Fs,35680:Fs,35679:Fs,35682:Fs,36289:Fs,36292:Fs,36293:Fs,36298:Fs,36299:Fs,36300:Fs,36303:Fs,36306:Fs,36307:Fs,36308:Fs,36311:Fs},Ade={},Dde={},Ode={},K4=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(K4[0]=n,n=K4);const r=n.length;if(r%e&&vt.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function er(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),d=c.length;let f=!1;if(null===r)r=new Float32Array(d),s=d,f=!0;else{nt(s===d,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return e5(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:J4(s,c),warnings:J4(o,c)}}(i,this.source,this.shaderType,this.id);throw vt.error(`GLSL compilation errors in ${r}\n${s}`)(),vt.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends lb{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class zI extends lb{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const os=5126,cb=5124,ub=5125,jI={[os]:[os,1,"float"],35664:[os,2,"vec2"],35665:[os,3,"vec3"],35666:[os,4,"vec4"],[cb]:[cb,1,"int"],35667:[cb,2,"ivec2"],35668:[cb,3,"ivec3"],35669:[cb,4,"ivec4"],[ub]:[ub,1,"uint"],36294:[ub,2,"uvec2"],36295:[ub,3,"uvec3"],36296:[ub,4,"uvec4"],35670:[os,1,"bool"],35671:[os,2,"bvec2"],35672:[os,3,"bvec3"],35673:[os,4,"bvec4"],35674:[os,8,"mat2"],35685:[os,8,"mat2x3"],35686:[os,8,"mat2x4"],35675:[os,12,"mat3"],35687:[os,12,"mat3x2"],35688:[os,12,"mat3x4"],35676:[os,16,"mat4"],35689:[os,16,"mat4x2"],35690:[os,16,"mat4x3"]};function o5(n){const e=jI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function a5(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=os}for(const t in jI){const[i,r,s]=jI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class phe{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!In(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=o5(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ta(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=o5(i),l={location:e,name:t,accessor:new ta({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const ghe=35981,mhe=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class c5 extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",mhe),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=ghe}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new zI(this.gl,{id:`${e.id}-fs`,source:r}):r,nt(this.vs instanceof VI),nt(this.fs instanceof zI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(eo(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new phe(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:d=c>0,vertexArray:f=null,transformFeedback:p,framebuffer:g,parameters:_={},uniforms:y,samplers:v}){if((y||v)&&(vt.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(y||{})),vt.priority>=e){const C=g?g.id:"default",w=`mode=${dh(this.gl,t)} verts=${i} instances=${c} indexType=${dh(this.gl,l)} isInstanced=${d} isIndexed=${a} Framebuffer=${C}`;vt.log(e,w)()}return nt(f),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||d&&0===c||(f.bindForDraw(i,c,()=>{if(void 0!==g&&(_=Object.assign({},_,{framebuffer:g})),p){const C=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return nt(!1),0}}(t);p.begin(C)}this._bindTextures(),rc(this.gl,_,()=>{a&&d?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&In(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):d?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){vt.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Rde(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ss&&(s=s.texture),s instanceof ep)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&kde(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new zI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ea(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),vt.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),vt.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||vt.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),d=this._getHash(t),f=this._getHash(i),p=c.map(x=>this._getHash(x.name)).sort(),g=o.map(x=>this._getHash(x)),_=Object.keys(r).sort(),y=Object.keys(s).sort(),v=[],C=[];for(const x of _)v.push(this._getHash(x)),v.push(this._getHash(r[x]));for(const x of y)C.push(this._getHash(x)),C.push(this._getHash(s[x]));const w=`${d}/${f}D${v.join("/")}M${p.join("/")}I${C.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[w]){const x=function(n,e){const{vs:t,fs:i}=e,r=Que(e.modules||[]);return{gl:n,vs:X4(n,Object.assign({},e,{source:t,type:ab,modules:r})),fs:X4(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Cde(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[w]=new c5(this.gl,{hash:w,vs:x.vs,fs:x.fs,varyings:o,bufferMode:a}),this._getUniforms[w]=x.getUniforms||(N=>{}),this._useCounts[w]=0}return this._useCounts[w]++,this._programCache[w]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":Xv.chrome?"Chrome":Xv.safari?"Safari":Xv.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ia(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ia.MAX_ATTRIBUTES=Ia.MAX_ATTRIBUTES||e.getParameter(34921),Ia.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ia._setConstantFloatArray(e,t,i);break;case Int32Array:Ia._setConstantIntArray(e,t,i);break;case Uint32Array:Ia._setConstantUintArray(e,t,i);break;default:nt(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ia.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return nt(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:d}=i,{gl:f,gl2:p}=this;return e=Number(e),this.bind(()=>{f.bindBuffer(34962,t.handle),c?(nt(In(f)),p.vertexAttribIPointer(e,r,s,o,a)):f.vertexAttribPointer(e,r,s,l,o,a),f.enableVertexAttribArray(e),p.vertexAttribDivisor(e,d||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ia.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new Ai(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!RS||RS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Ehe=/^(.+)__LOCATION_([0-9]+)$/,She=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Mhe{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ia(e),ZU(this,"VertexArray","v6.0",She),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Ai(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,vt.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const d=ta.resolve(l.accessor,this.accessors[o]||{},i,r),{size:f,type:p}=d;return nt(Number.isFinite(f)&&Number.isFinite(p)),{location:o,accessor:d}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Ehe.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof Ai)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof Ai)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof Ai))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof Ai){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return vt.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function hb(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=hb(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function u5(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,d,f,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof Ai){const p=e,{data:g,changed:_}=p.getDebugData();let y;return d=_?"*":"",f=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?y=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${dh(r,s)})`:(c=!0,y=`${l} bytes`),{[i]:`${d}${hb(f,{size:o,isInteger:c})}`,"Format ":y}}return f=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${hb(f,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Ahe(n,e){const{type:t,size:i}=e,r=a5(t,i);return r?`${n} (${r.name})`:n}function d5({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){nt(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let d=0;const f={};if(!i)for(const p in t){const g=t[p];a[p]||(d++,f[p]={Type:`NOT USED: ${g}`,[n]:hb(g)})}return{table:a,count:c,unusedTable:f,unusedCount:d}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?hb(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function h5(n){const{type:e,size:t}=n.accessor,i=a5(e,t);return i?`${i.name} ${n.name}`:n.name}const Ihe={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Rhe(n,e){const{attributeMap:t=Ihe}=e||{};return t&&t[n]||n}function khe(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}nt(Number.isFinite(e.size),`attribute ${n} needs size`)}const f5=()=>{},Lhe={};class Mm{constructor(e,t={}){const{id:i=ea("model")}=t;nt(mS(e)),this.id=i,this.gl=e,this.id=t.id||ea("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||db.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},nt(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return nt(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return nt(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Rhe(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=K({},o);delete c.value,i[a]=[new Ai(n,l),c],khe(s,c)}}if(r){const s=r.value||r;nt(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Ai(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(_m(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),vt.priority>=2&&(c=this._logDrawCallStart(2));const d=this.vertexArray.getDrawParams(),{isIndexed:f=d.isIndexed,indexType:p=d.indexType,indexOffset:g=d.indexOffset,vertexArrayInstanced:_=d.isInstanced}=this.props;_&&!this.isInstanced&&vt.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:y,instanceCount:v}=this,{onBeforeRender:C=f5,onAfterRender:w=f5}=this.props;C(),this.program.setUniforms(this.uniforms);const x=this.program.draw(Object.assign(Lhe,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:f,indexType:p,isInstanced:y,instanceCount:v,offset:f?g:0}));return w(),vt.priority>=2&&this._logDrawCallEnd(c,l,i),x}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return vt.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}nt(t instanceof c5,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Mhe(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Ai&&t.delete()}}_setAnimationProps(e){this.animated&&nt(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(_m(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new N4(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:vt.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=u5(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Ahe(s.name,a)}`),t[o]=u5(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:d}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});d>0&&vt.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&vt.log("UNUSED UNIFORMS",Object.keys(a))();const f=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);vt.table(e,s)(),vt.table(e,o)(),vt.table(e+1,f)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),vt.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return In(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();nt(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Mm(t,Object.assign({},e,{fs:e.fs||F4({version:L4(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(_m(n.feedbackBuffers)&&_m(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Pue(e,t)),function(n){return!(_m(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new Wue(e,t)),nt(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function kS(){}const zhe={onStart:kS,onUpdate:kS,onInterrupt:kS,onEnd:kS};class fb{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=K(K({},zhe),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const Yhe={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=O4(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;I4(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:D4(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,Lt(K({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new na(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ss(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=O4(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:D4(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),I4(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),vS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class Xhe{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void jn.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=Yhe[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(jn.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const p5="attributeManager.invalidate";class tfe{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new Xhe(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;no("attribute.updateStart",t),t.allocate(i)&&no("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,no("attribute.updateEnd",t,i))}}function m5(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function _5(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=A4(r)))return;const o=sfe[r.type];if(!o)return void jn.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Lt(K({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:afe}=FS;function ufe(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function y5({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function ffe(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!vfe(i[r],e[r])){t=n(i),e=i;break}return t}}function bfe(n,e){if(!e)return n;const t=K(K({},n),e);if("defines"in e&&(t.defines=K(K({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=K({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=e[9],p=e[10],g=e[11],_=e[12],y=e[13],v=e[14],C=e[15],w=t*a-i*o,x=t*l-r*o,N=t*c-s*o,V=i*l-r*a,U=i*c-s*a,ee=r*c-s*l,de=d*y-f*_,ae=d*v-p*_,me=d*C-g*_,Ee=f*v-p*y,Be=f*C-g*y,te=p*C-g*v,ne=w*te-x*Be+N*Ee+V*me-U*ae+ee*de;return ne?(n[0]=(a*te-l*Be+c*Ee)*(ne=1/ne),n[1]=(r*Be-i*te-s*Ee)*ne,n[2]=(y*ee-v*U+C*V)*ne,n[3]=(p*U-f*ee-g*V)*ne,n[4]=(l*me-o*te-c*ae)*ne,n[5]=(t*te-r*me+s*ae)*ne,n[6]=(v*N-_*ee-C*x)*ne,n[7]=(d*ee-p*N+g*x)*ne,n[8]=(o*Be-a*me+c*de)*ne,n[9]=(i*me-t*Be-s*de)*ne,n[10]=(_*U-y*N+C*w)*ne,n[11]=(f*N-d*U-g*w)*ne,n[12]=(a*ae-o*Ee-l*de)*ne,n[13]=(t*Ee-i*ae+r*de)*ne,n[14]=(y*x-_*V-v*w)*ne,n[15]=(d*V-f*x+p*w)*ne,n):null}function rp(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],d=e[7],f=e[8],p=e[9],g=e[10],_=e[11],y=e[12],v=e[13],C=e[14],w=e[15],x=t[0],N=t[1],V=t[2],U=t[3];return n[0]=x*i+N*a+V*f+U*y,n[1]=x*r+N*l+V*p+U*v,n[2]=x*s+N*c+V*g+U*C,n[3]=x*o+N*d+V*_+U*w,n[4]=(x=t[4])*i+(N=t[5])*a+(V=t[6])*f+(U=t[7])*y,n[5]=x*r+N*l+V*p+U*v,n[6]=x*s+N*c+V*g+U*C,n[7]=x*o+N*d+V*_+U*w,n[8]=(x=t[8])*i+(N=t[9])*a+(V=t[10])*f+(U=t[11])*y,n[9]=x*r+N*l+V*p+U*v,n[10]=x*s+N*c+V*g+U*C,n[11]=x*o+N*d+V*_+U*w,n[12]=(x=t[12])*i+(N=t[13])*a+(V=t[14])*f+(U=t[15])*y,n[13]=x*r+N*l+V*p+U*v,n[14]=x*s+N*c+V*g+U*C,n[15]=x*o+N*d+V*_+U*w,n}function LS(n,e,t){var o,a,l,c,d,f,p,g,_,y,v,C,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],d=e[4],f=e[5],p=e[6],g=e[7],_=e[8],y=e[9],v=e[10],C=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=d,n[5]=f,n[6]=p,n[7]=g,n[8]=_,n[9]=y,n[10]=v,n[11]=C,n[12]=o*i+d*r+_*s+e[12],n[13]=a*i+f*r+y*s+e[13],n[14]=l*i+p*r+v*s+e[14],n[15]=c*i+g*r+C*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function b5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],d=e[9],f=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+d*i,n[6]=a*r+f*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=d*r-o*i,n[10]=f*r-a*i,n[11]=p*r-l*i,n}function C5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],d=e[5],f=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+d*i,n[2]=a*r+f*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=d*r-o*i,n[6]=f*r-a*i,n[7]=p*r-l*i,n}function w5(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function VS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}!function(){var n=new ia(4);ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const E5=[0,0,0,0],qfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],Yfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],Xfe=[0,0,0],Kfe=[0,0,0],Zfe=NS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=E5,l=E5,c=n.cameraPosition;const{geospatialOrigin:d,shaderCoordinateOrigin:f,offsetMode:p}=S5(n,e,t);return p&&(l=n.projectPosition(d||f),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=VS([],l,o),s=i||s,o=rp([],r,s),o=rp([],o,qfe)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:d}}(n,t,i),d=n.getDistanceScales(),f=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:f,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:Xfe,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const _=n.getDistanceScales(c);switch(t){case qn.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerMeter2;break;case qn.LNGLAT:case qn.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerDegree2;break;case qn.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,_.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,_.unitsPerMeter2[2]]}}return g});function S5(n,e,t=Kfe){let r,i=t,s=!0;switch(r=e===qn.LNGLAT_OFFSETS||e===qn.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Yc.WEB_MERCATOR:(e===qn.LNGLAT||e===qn.CARTESIAN)&&(s=!1);break;case Yc.WEB_MERCATOR_AUTO_OFFSET:e===qn.LNGLAT?i=r:e===qn.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Yc.IDENTITY:i=n.position.map(Math.fround);break;case Yc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class tpe extends vI{get ELEMENTS(){return Qu(!1),0}get RANK(){return Qu(!1),0}toString(){let e="[";if(Ji.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new $t).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],d=n[9],f=n[10],p=n[11],g=n[12],_=n[13],y=n[14],v=n[15];return(e*o-t*s)*(f*v-p*y)-(e*a-i*s)*(d*v-p*_)+(e*l-r*s)*(d*y-f*_)+(t*a-i*o)*(c*v-p*g)-(t*l-r*o)*(c*y-f*g)+(i*l-r*a)*(c*_-d*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return rp(this,e,this),this.check()}multiplyRight(e){return rp(this,this,e),this.check()}rotateX(e){return b5(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],d=e[9],f=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-d*i,n[2]=a*r-f*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+d*r,n[10]=a*i+f*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return C5(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,d,f,p,g,_,y,v,C,w,x,N,V,U,ee,de,ae,me,Ee,Be,te,ne,Ie,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const oc=Math.PI,O5=oc/4,ac=oc/180,YI=180/oc,XI=4003e4,jS=85.051129;function US([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*ac+oc)/(2*oc),512*(oc+Math.log(Math.tan(O5+e*ac*.5)))/(2*oc)]}function Dm([n,e]){const t=n/512*(2*oc)-oc,i=2*(Math.atan(Math.exp(e/512*(2*oc)-oc))-O5);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*ac),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=ac*Math.tan(n*ac)/s,f=512/XI*c,p=f/a*l;i.unitsPerDegree2=[0,o*c/2,f],i.unitsPerMeter2=[p,0,p]}return i}function I5(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),d=US(n);d[0]+=s*(l[0]+c[0]*o),d[1]+=o*(l[1]+c[1]*o);const f=Dm(d),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[f[0],f[1],p]:f}function R5(n){return 2*Math.atan(.5/n)*YI}function k5(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Am(e,[t,i,r,1])}function gb(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Am(e,[i,r,s,1]);const o=Am(e,[i,r,0,1]),a=Am(e,[i,r,1,1]),l=o[2],c=a[2];return x5([],o,a,l===c?0:((t||0)-l)/(c-l))}const F5=Math.PI/180;function N5(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Am(i,[e,0,1,1]),s=Am(i,[e,n.height,1,1]),c=Dm(x5([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const _pe=Math.PI/180,ype=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],bpe={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Om=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Yc.WEB_MERCATOR:Yc.WEB_MERCATOR_AUTO_OFFSET:Yc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&rb(t.projectionMatrix,this.projectionMatrix)&&rb(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=k5(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,d=gb([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[f,p,g]=this.unprojectPosition(d);return Number.isFinite(a)?[f,p,g]:Number.isFinite(r)?[f,p,r]:[f,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?US(t):t}unprojectFlat(t){return this.isGeospatial?Dm(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Om{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:d=!1,repeat:f=!1,worldOffset:p=0}=t;let{width:g,height:_,altitude:y=1.5}=t;const v=Math.pow(2,s);g=g||1,_=_||1,y=Math.max(.75,y);const{fov:C,aspect:w,focalDistance:x,near:N,far:V}=function({width:n,height:e,fovy:t=R5(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=R5(i));const a=.5*t*ac,l=function(n){return.5/Math.tan(.5*n*ac)}(t),c=r*ac,d=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*d+l)*o}}({width:g,height:_,pitch:o,altitude:y,nearZMultiplier:l,farZMultiplier:c});let U=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),b5(o,o,-e*ac),C5(o,o,t*ac),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:_,pitch:o,bearing:a,scale:v,altitude:y});p&&(U=(new $t).translate([512*p,0,0]).multiplyLeft(U)),super(Lt(K({},t),{width:g,height:_,viewMatrix:U,longitude:r,latitude:i,zoom:s,orthographic:d,fovyRadians:C,aspect:w,focalDistance:x,near:N,far:V})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=y,this.orthographic=d,this._subViewports=f?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Lt(K({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return I5(t,i)}panByPosition(t,i){const r=gb(i,this.pixelUnprojectionMatrix),o=zS([],this.projectFlat(t),M5([],r)),a=zS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*F5:Math.atan(.5/n.altitude))>(90-n.pitch)*F5-.01?(l=N5(n,0,e),c=N5(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,d]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const f=US([a,D5(d,-jS,jS)]),p=US([c,D5(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-f[0]),i),Math.max(Math.abs(p[1]-f[1]),i)],_=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(_[0]>0&&_[1]>0);const y=_[0]/g[0],v=_[1]/g[1],N=Dm([(p[0]+f[0])/2+(s.right-s.left)/2/y,(p[1]+f[1])/2+(s.bottom-s.top)/2/v]),V=Math.min(r,qI(Math.abs(Math.min(y,v))));return ed(Number.isFinite(V)),{longitude:N[0],latitude:N[1],zoom:V}}(K({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof j5){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function U5(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=VS([],[o,a,l,1],t)),i){case qn.LNGLAT:return JI([o,a,l],e,s);case qn.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case qn.METER_OFFSETS:return JI(I5(r,[o,a,l]),e,s);case qn.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Epe={10241:9987,10240:9729,10242:33071,10243:33071},eP={},xpe={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||_b(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tP(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||tP(n,e)},array:{validate:(n,e)=>e.optional&&!n||_b(n),equal:(n,e,t)=>t.compare?tP(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof na)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new na(t,Lt(K({},e),{parameters:K(K(K({},Epe),i),n.props.textureParameters)}));return eP[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof na)||eP[n.id]&&(n.delete(),delete eP[n.id])}(n)}}};function tP(n,e){if(n===e)return!0;if(!_b(n)||!_b(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Vpe,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Lpe]||{},i=e[Npe]||e,r=e[Bpe]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(x4(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return yn(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var f,c=!0,d=!1;try{for(var g,_,p=iP(t);c=(g=yield p.next()).done,_=yield g.value,!c;c=!0){const v=_,{dataTransform:C}=i.component?i.component.props:{};a=C?C(v,a):a.concat(v),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(v){d=!0,f=v}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(d)throw f}}const y=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;y&&y(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:W5,ASYNC_RESOLVED:q5,ASYNC_DEFAULTS:zpe}=FS,jpe={};let Upe=0,Hpe=(()=>{class n{constructor(){this.props=Dpe.apply(this,arguments),this.id=this.props.id,this.count=Upe++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[zpe])s in i[q5]?r[s]=i[q5][s]:s in i[W5]&&(r[s]=i[W5][s]);return new this.constructor(K(K(K({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new G5({})}}return n.componentName="Component",n.defaultProps=jpe,n})();class $pe extends G5{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const lc=n=>"function"==typeof n,ph=n=>null!==n&&"object"==typeof n,X5=n=>ph(n)&&n.constructor==={}.constructor,Gpe=n=>n&&"function"==typeof n[Symbol.iterator],Wpe=n=>n&&"function"==typeof n[Symbol.asyncIterator],vb=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,Im=n=>"undefined"!=typeof Blob&&n instanceof Blob,K5=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||ph(n)&&lc(n.tee)&&lc(n.cancel)&&lc(n.getReader))(n)||(n=>ph(n)&&lc(n.read)&&lc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function sp(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rP(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sP(n){var e,t;let i;return sp(n,"null loader"),sp(rP(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Lt(K({},n=n[0]),{options:K(K({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oP=Zc.global||Zc.self||Zc.window||{},Qpe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Z5="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);Z5&&parseFloat(Z5[1]);const lP={};function Jpe(n){for(const e in lP)n.startsWith(e)&&(n=n.replace(e,lP[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const ege=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,tge=/^([-\w.]+\/[-\w.+]+)/;function nge(n){const e=tge.exec(n);return e?e[1]:n}function Q5(n){const e=ege.exec(n);return e?e[1]:""}const ige=/\?.*/;function qS(n){if(vb(n)){const e=cP(n.url||"");return{url:e,type:nge(n.headers.get("content-type")||"")||Q5(e)}}return Im(n)?{url:cP(n.name||""),type:n.type||""}:"string"==typeof n?{url:cP(n),type:Q5(n)}:{url:"",type:""}}function rge(n){return vb(n)?n.headers["content-length"]||-1:Im(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cP(n){return n.replace(ige,"")}function J5(n){return uP.apply(this,arguments)}function uP(){return(uP=yn(function*(n){if(vb(n))return n;const e={},t=rge(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield age(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function sge(n){return dP.apply(this,arguments)}function dP(){return(dP=yn(function*(n){if(!n.ok){const e=yield oge(n);throw new Error(e)}})).apply(this,arguments)}function oge(n){return hP.apply(this,arguments)}function hP(){return(hP=yn(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function age(n){return fP.apply(this,arguments)}function fP(){return(fP=yn(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${lge(n.slice(0,5))}`:null})).apply(this,arguments)}function lge(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const nH={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){sn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},dge={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gP(){oP.loaders=oP.loaders||{};const{loaders:n}=oP;return n._state=n._state||{},n._state}const mP=()=>{const n=gP();return n.globalOptions=n.globalOptions||K({},nH),n.globalOptions};function hge(n,e,t,i){return t=t||[],function(n,e){rH(n,null,nH,dge,e);for(const t of e)rH(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=K({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new cge),oH(r,mP()),oH(r,e),r}(e,n,i)}function iH(n,e){const t=mP(),i=n||t;return"function"==typeof i.fetch?i.fetch:ph(i.fetch)?r=>eH(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:eH}function rH(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&ph(n[a]),c="baseUri"===a&&!e,d="workerUrl"===a&&e;if(!(a in t)&&!c&&!d)if(a in i)tH.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const f=pge(a,r);tH.warn(`${s} loader option '${o}${a}' not recognized. ${f}`)()}}}function pge(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function oH(n,e){for(const t in e)t in e&&(n[t]=X5(e[t])&&X5(n[t])?K(K({},n[t]),e[t]):e[t])}function Qc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function _ge(n,e="3.0.12"){return Qc(n,"no worker provided"),!(!e||!n.version)}const Jc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},yge=Jc.global||Jc.self||Jc.window||{},_P="object"!=typeof process||"[object process]"!==String(process)||process.browser,yP="function"==typeof importScripts,vge="undefined"!=typeof window&&void 0!==window.orientation,aH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vP=(aH&&parseFloat(aH[1]),new Map);function lH(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function cH(n,e=!0,t){const i=t||new Set;if(n)if(uH(n))i.add(n);else if(uH(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)cH(n[r],e,i);return void 0===t?Array.from(i):[]}function uH(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bP=()=>{};class dH{static isSupported(){return"undefined"!=typeof Worker}constructor(e){sn(this,"name",void 0),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"terminated",!1),sn(this,"worker",void 0),sn(this,"onMessage",void 0),sn(this,"onError",void 0),sn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Qc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bP,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bP,this.onError=bP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||cH(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Qc(n.source&&!n.url||!n.source&&n.url);let e=vP.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?lH(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vP.set(n.url,e)),n.source&&(e=lH(n.source),vP.set(n.source,e))),Qc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Ege{constructor(e,t){sn(this,"name",void 0),sn(this,"workerThread",void 0),sn(this,"isRunning",void 0),sn(this,"result",void 0),sn(this,"_resolve",void 0),sn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Qc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Qc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Sge{constructor(e){sn(this,"name","unnamed"),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"maxConcurrency",1),sn(this,"maxMobileConcurrency",1),sn(this,"onDebug",()=>{}),sn(this,"reuseWorkers",!0),sn(this,"props",{}),sn(this,"jobQueue",[]),sn(this,"idleQueue",[]),sn(this,"count",0),sn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=K(K({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return yn(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return yn(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Ege(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return dH.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){sn(this,"props",void 0),sn(this,"workerPools",new Map),this.props=K({},Mge),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=K(K({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Sge({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Tge(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Qc(r),r}function Age(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Dge(n,e,t,i,r){return CP.apply(this,arguments)}function CP(){return(CP=yn(function*(n,e,t,i,r){const s=n.id,o=Tge(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Oge.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Oge(n,e,t,i){return wP.apply(this,arguments)}function wP(){return(wP=yn(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}sn(td,"_workerFarm",void 0);var fH=ze(521);function pH(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return fH.toArrayBuffer?fH.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function kge(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function gH(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Fge(n){return SP.apply(this,arguments)}function SP(){return(SP=yn(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iP(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return kge(...e)})).apply(this,arguments)}const Bge=262144;function mH(n){this.wrapped=n}function bb(n){return new mH(n)}function Cb(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,d=c instanceof mH;Promise.resolve(d?c.wrapped:c).then(function(f){d?r("return"===o?"return":"next",f):s(l.done?"return":"normal",f)},function(f){r("throw",f)})}catch(f){s("throw",f)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var d={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=d:(e=t=d,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function xP(n){return function(){return new Cb(n.apply(this,arguments))}}function TP(){return(TP=xP(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OP)}function Wge(n,e,t){return IP.apply(this,arguments)}function IP(){return(IP=yn(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return Gge(n,e);if(Im(n)&&(n=yield J5(n)),vb(n)){const r=n;return yield sge(r),e.binary?yield r.arrayBuffer():yield r.text()}if(K5(n)&&(n=$ge(n,t)),Gpe(n)||Wpe(n))return Fge(n);throw new Error(OP)})).apply(this,arguments)}function Yge(n,e,t=null){if(t)return t;const i=K({fetch:iH(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function Xge(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const yH=()=>{const n=gP();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function vH(n){const e=yH();n=Array.isArray(n)?n:[n];for(const t of n){const i=sP(t);e.find(r=>i===r)||e.unshift(i)}}const Zge=/\.([^.]+)$/;function Qge(n){return kP.apply(this,arguments)}function kP(){return(kP=yn(function*(n,e=[],t,i){if(!CH(n))return null;let r=bH(n,e,Lt(K({},t),{nothrow:!0}),i);if(r)return r;if(Im(n)&&(r=bH(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(wH(n));return r})).apply(this,arguments)}function bH(n,e=[],t,i){if(!CH(n))return null;if(e&&!Array.isArray(e))return sP(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...yH()),function(n){for(const e of n)sP(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FP(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&Zge.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FP(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(rme(e,t))return t}else if(ArrayBuffer.isView(e)){if(EH(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&EH(e,0,t))return t;return null}(e,n),a=a||FP(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(wH(n));return s}function CH(n){return!(n instanceof Response&&204===n.status)}function wH(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?NP(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?NP(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FP(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function rme(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function EH(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let eu=new Uint8ClampedArray(0);const gme={data:{type:"data",value:fme,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Lt(K({},r),{fetch:Lt(K({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:wb(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):wb(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:qn.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Eb=(()=>{class n extends Hpe{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=U5(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=k5(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=K({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===qn.DEFAULT&&(t=i.isGeospatial?qn.LNGLAT:qn.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:d}=S5(t,i,r),f=U5(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:d});d&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(f,f,t.projectPosition(l||c));return f}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===qn.DEFAULT||t===qn.LNGLAT||t===qn.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){sc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=bfe(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const d of c)o.invalidateAll(d);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:d}=o.attributes,f=c||d;f&&(l&&f.constant&&(f.constant=!1,o.invalidate(f.id)),!f.value&&!l&&(f.constant=!0,f.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!pme({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(eu.length/3);if(this.internalState.usesPickingColorCache=!0,rSH&&jn.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),eu=nb.allocate(eu,i,{size:3,copy:!0,maxCount:Math.max(i,SH)});const s=Math.floor(eu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const d of this.props.extensions)d.draw.call(this,c,d);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&no("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=y5({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&v5(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&v5(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:ffe(n,e),transitionsChanged:ufe(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new tfe(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){sc(!this.internalState&&!this.state),sc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new $pe({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(jn.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ofe(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){no("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=gme,n})(),MH=(()=>{class n extends Eb{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C,_subLayerProps:w}=this.props,x={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C},N=w&&w[t.id],V=N&&N.updateTriggers,U=t.id||"sublayer";if(N){const ee=this.constructor._propTypes,de=t.type?t.type._propTypes:{};for(const ae in N){const me=de[ae]||ee[ae];me&&"accessor"===me.type&&(N[ae]=this.getSubLayerAccessor(N[ae]))}}Object.assign(x,t,N),x.id="".concat(this.props.id,"-").concat(U),x.updateTriggers=K(K({all:this.props.updateTriggers.all},t.updateTriggers),V);for(const ee of v){const de=ee.getSubLayerProps.call(this,ee);de&&Object.assign(x,de,{updateTriggers:Object.assign(x.updateTriggers,de.updateTriggers)})}return x}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),no("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const _me=/([0-9]+\.?[0-9]*)(%|px)/;function XS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(_me);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function KS(n,e){return n.relative?Math.round(n.position*e):n.position}function Sb(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Sb(i,r)))return!1}return!0}class zP{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:d=1e3,modelMatrix:f=null,viewportInstance:p=null,type:g=Om}=e;sc(!p||p instanceof Om),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Lt(K({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:d,modelMatrix:f}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Sb(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=K({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:KS(this._x,e),y:KS(this._y,t),width:KS(this._width,e),height:KS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),K(K({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(K(K(K({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=XS(e),this._y=XS(t),this._width=XS(i),this._height=XS(r)}}const Mb=()=>{},xH={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Mb,onTransitionInterrupt:Mb,onTransitionEnd:Mb};class yme{constructor(e,t={}){this.ControllerState=e,this.props=K(K({},xH),t),this.propsInTransition=null,this.transition=new fb(t.timeline),this.onViewStateChange=t.onViewStateChange||Mb,this.onStateChange=t.onStateChange||Mb,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=K(K({},xH),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=K(K({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(K(K({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const TH=["longitude","latitude","zoom","bearing","pitch"],bme=["longitude","latitude","zoom"];class AH extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!rb(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];sc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:TH,extract:TH,required:bme}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=bS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(K(K({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,bS(e.around,t.around,i)))}return r}}const gh={transitionDuration:0},Cme={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},QS=n=>1-(1-n)*(1-n),Pm_WHEEL=["wheel"],Pm_PAN=["panstart","panmove","panend"],Pm_PINCH=["pinchstart","pinchmove","pinchend"],Pm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],Pm_DOUBLE_TAP=["doubletap"],Pm_KEYBOARD=["keydown"];class jP{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new yme(e,Lt(K({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Lt(K({},Cme),{transitionInterpolator:new AH({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,d=Boolean(this.onViewStateChange);this.toggleEvents(Pm_WHEEL,d&&i),this.toggleEvents(Pm_PAN,d&&(r||s)),this.toggleEvents(Pm_PINCH,d&&(a||l)),this.toggleEvents(Pm_TRIPLE_PAN,d&&l),this.toggleEvents(Pm_DOUBLE_TAP,d&&o),this.toggleEvents(Pm_KEYBOARD,d&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=K(K({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,gh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Lt(K({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,gh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,gh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,gh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Lt(K({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Lt(K({},t),{transitionInterpolator:new AH(Lt(K({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:gh}}class DH{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const mh_target=[0,0,0];class JS extends DH{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=mh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:d=-(1/0),maxZoom:f=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:d,maxZoom:f}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let d=(e[0]-r[0])/a;(s<-90||s>90)&&(d*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*d}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Lt(K({},this._viewportProps),{zoom:a}));return this._getUpdatedState(K({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),np(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(K(K(K({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=np(r,i,t),e.rotationX=np(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Eme extends jP{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Sme extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Mme=(new $t).lookAt({eye:[0,0,1]});function xme({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new $t).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Tme extends Om{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Lt(K({},e),{longitude:null,position:a,viewMatrix:Mme.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:xme({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=zS([],e,M5([],gb(t,this.pixelUnprojectionMatrix)));return{target:zS([],this.center,r)}}}let Ame=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:Tme}))}get controller(){return this._getControllerProps({type:Sme})}}return n.displayName="OrthographicView",n})();const eM=Math.PI/180;function Dme({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*eM/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new $t).lookAt({eye:l,up:a});c.rotateX(i*eM),"Z"===t?c.rotateZ(r*eM):c.rotateY(r*eM);const d=Math.pow(2,s)/(n||1);return c.scale(d),c}class Ome extends Om{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Lt(K({},e),{longitude:null,viewMatrix:Dme({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=gb([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Ime=(()=>{class n extends zP{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Lt(K({},t),{orbitAxis:i,type:Ome}))}get controller(){return this._getControllerProps({type:Eme})}}return n.displayName="OrbitView",n})();const Pme=[255,255,255],Rme=1;let kme=0;class OH{constructor(e={}){const{color:t=Pme}=e,{intensity:i=Rme}=e;this.id=e.id||"ambient-".concat(kme++),this.color=t,this.intensity=i,this.type="ambient"}}const Fme=[255,255,255],Nme=1,Lme=[0,0,-1];let Bme=0;class IH{constructor(e={}){const{color:t=Fme}=e,{intensity:i=Nme}=e,{direction:r=Lme}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Bme++),this.color=t,this.intensity=i,this.type="directional",this.direction=new to(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class PH{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=K({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UP extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=K({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,d=i&&i[c.id];r(c);const f=this._getDrawLayerParams(c,e);e.view=d;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const _=this._drawLayersInViewport(o,e,f);a.push(_)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=RH(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let d=0;dpI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const d=t[l]=t[l]||RH(e[l],e);c=d(r,s),t[a]=d}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Ume extends UP{constructor(e,t){super(e,t),this.shadowMap=new na(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new vm(e,{format:33189,width:1,height:1}),this.fbo=new ss(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;rc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=mm(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Lt(K({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const $me=Object.keys(qn).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(qn[n],";")).join(""),Gme=Object.keys(Yc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Yc[n],";")).join(""),Wme="".concat($me,"\n").concat(Gme,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),qme={},HP={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:Wme,getUniforms:function(n=qme){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=qn.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===qn.DEFAULT&&(i=n.isGeospatial?qn.LNGLAT:qn.CARTESIAN);const o=Zfe({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||Yfe,o}(n):{}}},Zme=NS(function({viewport:n,center:e}){return new $t(n.viewProjectionMatrix).invert().transform(e)}),Qme=NS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=gb([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new to(n.center).negate()),l=s.map(d=>a.transform(d)),c=(new $t).ortho({left:Math.min(...l.map(d=>d[0])),right:Math.max(...l.map(d=>d[0])),bottom:Math.min(...l.map(d=>d[1])),top:Math.max(...l.map(d=>d[1])),near:Math.min(...l.map(d=>-d[2])),far:Math.max(...l.map(d=>-d[2]))});t.push(c.multiplyRight(o))}return t}),Jme=[0,0,0,1],e_e=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$P={name:"shadow",dependencies:[HP],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||Jme,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=Zme({viewport:n.viewport,center:e.project_uCenter}),r=[],s=Qme({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},s_e={color:[255,255,255],intensity:1},kH=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],o_e=[0,0,0,200/255];class GP extends PH{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=o_e,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=db.getDefaultProgramManager(e),$P&&this.programManager.addDefaultModule($P)),this.dummyShadowMap||(this.dummyShadowMap=new na(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($P),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new $t).lookAt({eye:new to(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=l_e++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class c_e{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=wb(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class u_e{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new c_e(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const d_e=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HP],h_e=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function f_e(n){const e=db.getDefaultProgramManager(n);for(const t of d_e)e.addDefaultModule(t);for(const t of h_e)e.addShaderHook(t);return e}const m_e=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class __e{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new u_e({gl:e,protocol:"deck://"}),this.context=Lt(K({},m_e),{layerManager:this,gl:e,deck:t,programManager:e&&f_e(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Om({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new FH,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){no("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return no("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?jn.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&jn.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class y_e{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Sb(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):jn.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(K({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Lt(K(K(K({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let d=r[a.id];a.controller&&!d&&(s=!0),(s||!a.controller)&&d&&(d.finalize(),d=null),this.controllers[a.id]=this._updateController(a,l,c,d),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class b_e extends DH{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:d=20,minZoom:f=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x,normalize:N}={}){sc(Number.isFinite(s)),sc(Number.isFinite(r)),sc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:d,minZoom:f,maxPitch:p,minPitch:g,normalize:N}),this._state={startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Lt(K({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Lt(K({},this._viewportProps),{zoom:o}));return this._getUpdatedState(K({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(K(K(K({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=np(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=np(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=A5(t+180,360)-180),(o<-180||o>180)&&(o=A5(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Dm([0,l])[1];if(id&&(i=d)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return np(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=np(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let d=0;return r>0?Math.abs(l-o)>5&&(d=r/(o-l)*1.2):r<0&&o>5&&(d=1-s/o),d=Math.min(1,Math.max(-1,d)),{deltaScaleX:c,deltaScaleY:d}}}class C_e extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(b_e,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let w_e=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:j5}))}get controller(){return this._getControllerProps({type:C_e})}}return n.displayName="MapView",n})();const E_e=new GP;class S_e{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Sb(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GP)||this._internalEffects.push(E_e)}}class M_e extends UP{}const LH={blendFunc:[1,0,32771,0],blendEquation:32774};class BH extends UP{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:d},pass:f="picking",redrawReason:p,pickZ:g}){const _=this.gl;return this.pickZ=g,rc(_,Lt(K({scissorTest:!0,scissor:[a,l,c,d],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},LH),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:f,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Lt(K({},LH),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return K(K({},e.props.parameters),i)}}class T_e{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new M_e(e),this.pickLayersPass=new BH(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ss.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Lt(K({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,no("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ss(this.gl),new ss(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const A_e={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function D_e({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let d=r*r,f=-1,p=0;for(let g=0;gd)p+=4*l;else for(let v=0;v=0){const w=v+o-t,x=w*w+y;x<=d&&(d=x,f=p)}p+=4}}if(f>=0){const g=n[f+3]-1,_=n.slice(f,f+4),y=e[g];if(y){const v=y.decodePickingColor(_),C=Math.floor(f/4/l);return{pickedColor:_,pickedLayer:y,pickedObjectIndex:v,pickedX:o+(f/4-C*l),pickedY:a+C}}jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return A_e}function VH({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,d=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),f=d&&d.unproject([s-d.x,o-d.y],{targetZ:a});return{color:null,layer:null,viewport:d,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:f,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function I_e(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const f=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==f){if(g!==p){const _=r.find(y=>y.props.id===p);_&&l.unshift(_)}t.layerId=g,t.index=a,t.info=null}}const c=VH(n),d=new Map;return d.set(null,c),l.forEach(f=>{let p=K({},c);f===o&&(p.color=s,p.index=a,p.picked=!0),p=zH({layer:f,info:p,mode:i}),f===o&&"hover"===i&&(t.info=p),d.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),d}function zH({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class R_e{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new BH(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],d=c&&c.unproject([e-c.x,t-c.y]),f={x:e,y:t,viewport:c,coordinate:d,layer:l};return l?K(K({},s),f):Object.assign(f,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ss(e),ss.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ss(e),this.depthFBO.attach({36064:new na(e,{format:In(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(jn.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:d}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:VH({viewports:i,x:r,y:s})};this._resizeBuffer();const f=mm(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],_=Math.round(o*f),{width:y,height:v}=this.pickingFBO,C=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:_,deviceWidth:y,deviceHeight:v});let w;const x=[],N={};for(let V=0;V=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:d,deviceRect:{x:g,y:C,width:y.x+y.width-g,height:_-C},pass:"picking:".concat(l),redrawReason:l}),layers:e}),V=new Map,U=Number.isFinite(c);for(let ee=0;ee=c);ee++){const de=N[ee];let ae={color:de.pickedColor,layer:null,index:de.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:f};ae=zH({layer:de.pickedLayer,info:ae,mode:l}),V.has(ae.object)||V.set(ae.object,ae)}return Array.from(V.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:d,y:f,width:p,height:g}=s,_=new(l?Float32Array:Uint8Array)(p*g*4);return vS(c,{sourceX:d,sourceY:f,sourceWidth:p,sourceHeight:g,target:_}),_}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const k_e={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class F_e{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,k_e),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function jH(n,e){if(!n)throw new Error(e)}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},UH=tu.global||tu.self||tu.window,L_e="object"!=typeof process||"[object process]"!==String(process)||process.browser,HH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:B_e}=(HH&&parseFloat(HH[1]),UH),WP="undefined"!=typeof Image,qP="undefined"!=typeof ImageBitmap,V_e=Boolean(B_e),YP=!!L_e||V_e;function $H(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function GH(n){switch($H(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const U_e=/^data:image\/svg\+xml/,H_e=/\.svg((\?|#).*)?$/;function XP(n){return n&&(U_e.test(n)||H_e.test(n))}function $_e(n,e){if(XP(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return qH(n,e)}function qH(n,e){if(XP(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function YH(n,e,t){return KP.apply(this,arguments)}function KP(){return(KP=yn(function*(n,e,t){const i=$_e(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield G_e(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function G_e(n,e){return ZP.apply(this,arguments)}function ZP(){return(ZP=yn(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const W_e={};let XH=!0;function q_e(n,e,t){return QP.apply(this,arguments)}function QP(){return(QP=yn(function*(n,e,t){let i;i=XP(t)?yield YH(n,e,t):qH(n,t);const r=e&&e.imagebitmap;return yield Y_e(i,r)})).apply(this,arguments)}function Y_e(n){return JP.apply(this,arguments)}function JP(){return(JP=yn(function*(n,e=null){if((X_e(e)||!XH)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),XH=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function X_e(n){for(const e in n||W_e)return!1;return!0}const nu=!1,xb=!0;function eR(n){const e=Tb(n);return function(n){const e=Tb(n);return e.byteLength>=24&&2303741511===e.getUint32(0,nu)?{mimeType:"image/png",width:e.getUint32(16,nu),height:e.getUint32(20,nu)}:null}(e)||function(n){const e=Tb(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,nu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,nu)?{mimeType:"image/gif",width:e.getUint16(6,xb),height:e.getUint16(8,xb)}:null}(e)||function(n){const e=Tb(n);return e.byteLength>=14&&16973===e.getUint16(0,nu)&&e.getUint32(2,xb)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,xb),height:e.getUint32(22,xb)}:null}(e)}function Tb(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function tye(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=UH;return jH(i),i(n,t,e)}function tR(){return(tR=yn(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(iye(r)){case"imagebitmap":a=yield q_e(n,e,s);break;case"image":a=yield YH(n,e,s);break;case"data":a=yield tye(n,e);break;default:jH(!1)}return"data"===r&&(a=GH(a)),a})).apply(this,arguments)}function iye(n){switch(n){case"auto":case"data":return function(){if(qP)return"imagebitmap";if(WP)return"image";if(YP)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qP||WP||YP;case"imagebitmap":return qP;case"image":return WP;case"data":return YP;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var Rm=ze(761);const sye={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Ab="8.5.8",tM=Rm.CO.deck&&Rm.CO.deck.VERSION;if(tM&&tM!==Ab)throw new Error("deck.gl - multiple versions detected: ".concat(tM," vs ").concat(Ab));tM||(jn.log(1,"deck.gl ".concat(Ab))(),Rm.CO.deck=Object.assign(Rm.CO.deck||{},{VERSION:Ab,version:Ab,log:jn,_registerLoggers:function(n){TI=n}}),vH([sye,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const oye=Rm.CO.deck;class nM extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=In(e),r=f4(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:nt(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nM.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const KH=yS()&&"undefined"!=typeof document;let mye=0;class _ye{constructor(e={}){const{onCreateContext:t=(v=>qU(v)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:d=!1,createFramebuffer:f=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:_=Jf.get("animation-loop-"+mye++)}=e;let{useDevicePixels:y=!0}=e;"useDevicePixelRatio"in e&&(vt.deprecated("useDevicePixelRatio","useDevicePixels")(),y=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:d,createFramebuffer:f},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=_,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:y}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return nt("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nM.isSupported(this.gl,["timers"])?new nM(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return yn(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return vt.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=KH?new Promise((e,t)=>{KH&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(vt.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(vt.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ss(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var yye=ze(524),iM=ze.n(yye);const vye={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(iM().MouseInput);const Eye=iM().Manager,iu=iM(),Sye=iu?[[iu.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[iu.Rotate,{enable:!1}],[iu.Pinch,{enable:!1}],[iu.Swipe,{enable:!1}],[iu.Pan,{threshold:0,enable:!1}],[iu.Press,{enable:!1}],[iu.Tap,{event:"doubletap",taps:2,enable:!1}],[iu.Tap,{event:"anytap",enable:!1}],[iu.Tap,{enable:!1}]]:null,JH={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Mye={doubletap:["tap"]},xye={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Tye={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},e6={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Aye="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",km="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let t6=!1;try{const n={get passive(){return t6=!0,!0}};km.addEventListener("test",n,n),km.removeEventListener("test",n,n)}catch(n){}const Dye=-1!==Aye.indexOf("firefox"),{WHEEL_EVENTS:Oye}=rR,i6=4.000244140625;class Rye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Oye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!t6&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;km.WheelEvent&&(Dye&&e.deltaMode===km.WheelEvent.DOM_DELTA_PIXEL&&(t/=km.devicePixelRatio),e.deltaMode===km.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%i6==0&&(t=Math.floor(t/i6)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:kye}=rR,r6="pointermove",s6="pointerover",o6="pointerout",a6="pointerleave";class Fye{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=kye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===r6&&(this.enableMoveEvent=t),e===s6&&(this.enableOverEvent=t),e===o6&&(this.enableOutEvent=t),e===a6&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:s6,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:o6,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:a6,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:r6,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Nye}=rR,l6="keydown";class Lye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Nye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===l6&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:l6,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const u6="contextmenu";class Bye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===u6&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:u6,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Vye={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},d6={srcElement:"root",priority:0};class Zye{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},d6,i):d6;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let d=l.length-1;for(;d>=0&&!(l[d].priority>=c.priority);)d--;l.splice(d+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&JH[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Rye(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Fye(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Lye(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Bye(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Mye[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const d in e)this._addEventHandler(d,e[d],i,r,s);return}const{manager:o,events:a}=this,l=e6[e]||e;let c=a.get(l);c||(c=new Zye(this),a.set(l,c),c.recognizerName=Tye[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(e6[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=xye[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function ap(){}const h6={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:ap,onResize:ap,onViewStateChange:ap,onInteractionStateChange:ap,onBeforeRender:ap,onAfterRender:ap,onLoad:ap,onError:(n,e)=>jn.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sM{constructor(e){e=K(K({},h6),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&jn.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,Rm.qs)()&&jn.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&nb.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&jn.removed("onLayerHover","onHover")(),"onLayerClick"in e&&jn.removed("onLayerClick","onClick")(),e.initialViewState&&!Sb(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](K({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),sc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:d,autoResizeDrawingBuffer:f}=e;return new _ye({width:t,height:i,useDevicePixels:d,autoResizeDrawingBuffer:f,autoResizeViewport:!1,gl:r,onCreateContext:p=>qU(Lt(K(K({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new w_e({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new F_e(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new FH;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Jye(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in IU)this.eventManager.on(r,this._onEvent);this.viewManager=new y_e({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new __e(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new S_e,this.deckRenderer=new T_e(e),this.deckPicker=new R_e(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(K({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),jn.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Lt(K({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=IU[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Jf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sM.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(PH)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sM.defaultProps=h6,sM.VERSION=oye.VERSION;const oM={name:"project32",dependencies:[HP],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ive={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},aM=K({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ive){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),f6={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class _h{static get DRAW_MODE(){return f6}constructor(e={}){const{id:t=ea("geometry"),drawMode:i=f6.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?K({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,nt(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(nt(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return nt(Number.isFinite(i)),i}}const p6=()=>{},cve={10241:9987,10240:9729,10242:33071,10243:33071};function uve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function dve(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Db(n){return n&&(n.id||n.url)}function g6(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(g6(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,f)}}return a.length>0&&g6(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:uve(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new na(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:cve})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=u4(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:d,height:f}=t;const{framebuffer:p,deleteFramebuffer:g}=tb(n);nt(p);const{gl:_,handle:y}=p,v=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const C=_.bindFramebuffer(36160,y);nt(e);let w=null;if(e instanceof ep&&(w=e,d=Number.isFinite(d)?d:w.width,f=Number.isFinite(f)?f:w.height,w.bind(0),e=w.target),v)switch(e){case 3553:case 34067:_.copyTexSubImage2D(e,s,a,l,i,r,d,f);break;case 35866:case 32879:eo(_).copyTexSubImage3D(e,s,a,l,c,i,r,d,f)}else _.copyTexImage2D(e,s,o,i,r,d,f,0);w&&w.unbind(),_.bindFramebuffer(36160,C||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,wb(i.url,nR,this._loadOptions).then(r=>{const s=Db(i),{x:o,y:a,width:l,height:c}=this._mapping[s],d=dve(t,r,l,c);this._texture.setSubImageData({data:d,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const m6=[0,0,0,255],mve={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:m6},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let _ve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.state={iconManager:new gve(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:m6},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:d}=this.state;d.setProps({loadOptions:i.loadOptions});let f=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&d.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(d.setProps({iconMapping:a}),f=!0)):d.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&d.setProps({data:l,getIcon:c}),f&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:_}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(_),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:d}=this.context,f=c.getTexture();f&&this.state.model.setUniforms(t).setUniforms({iconsTexture:f,iconsTextureDim:[f.width,f.height],sizeScale:i*("pixels"===o?d.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):jn.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=mve,n})();const y6=[],vve={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let bve=(()=>{class n extends _ve{getShaders(){return Lt(K({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&jn.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Lt(K({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):y6}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):y6}}return n.layerName="MultiIconLayer",n.defaultProps=vve,n})();var Cve=ze(2),wve=ze.n(Cve);const Sve=[];function Mve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function v6(n,e,t,i){let r=0;for(let s=e;si&&(oa){let f=v6(n,a,l,r);c+f>i&&(oi&&(f=b6(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=f}}(n,r,s,t,i,o),o}function Dve(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,d=[0,0],f=[];let p=0,g=0,_=0;for(let y=0;y<=s;y++){const v=n[y];if(("\n"===v||y===s)&&(_=y),_>g){const C=c?Ave(n,t,i,r,g,_):Sve;for(let w=0;w<=C.length;w++){const x=0===w?g:C[w-1],N=wi===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Fve=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Lve(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:d}=this.props;let f=i&&i.data;f||(f=document.createElement("canvas"),f.width=1024);const p=f.getContext("2d");I6(p,r,o,s);const{mapping:g,canvasHeight:_,xOffset:y,yOffset:v}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,d=0;for(const p of n)if(!s[p]){const g=e(p,d++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const f=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*f,canvasHeight:Mve(a+(l+1)*f)}}(K({getFontWidth:C=>p.measureText(C).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(f.height!==_){const C=p.getImageData(0,0,f.width,f.height);f.height=_,p.putImageData(C,0,0)}if(I6(p,r,o,s),l){const C=new(wve())(o,a,c,d,r,s),w=p.getImageData(0,0,C.size,C.size);for(const x of t)Lve(C.draw(x),w),p.putImageData(w,g[x].x-a,g[x].y+a)}else for(const C of t)p.fillText(C,g[C].x,g[C].y+.9*o);return{xOffset:y,yOffset:v,mapping:g,data:f,width:f.width,height:f.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const jve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Uve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:d}=this.props;const f="pixels"===o?i.metersPerPixel:1;d.length<4&&(d=[d[0],d[1],d[0],d[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:d,sizeScale:s*f,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=jve,n})();const P6={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},R6={start:1,middle:0,end:-1},k6={top:1,center:0,bottom:-1},lR=[0,0,0,255],$ve=["fontSize","buffer","sdf","radius","cutoff"],Gve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:w6},fontFamily:E6,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let Wve=(()=>{class n extends MH{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Bve}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Lt(K(K({},P6),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return $ve.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:d}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),d=s&&new Set,f=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:d}=SS(t);o=[0],a=0;for(const f of c){d.index++;const p=Array.from(s(f,d)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{size:[p,g]}=C6(f,l,o,a,r);return[(R6["function"==typeof c?c(t,i):c]-1)*p/2,(k6["function"==typeof d?d(t,i):d]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{x:p,y:g,rowWidth:_,size:[y,v]}=C6(f,l,o,a,r),C=R6["function"==typeof c?c(t,i):c],w=k6["function"==typeof d?d(t,i):d],x=p.length,N=new Array(2*x);let V=0;for(let U=0;Ut*e/255)}const uR={name:"lights",vs:F6,fs:F6,getUniforms:function N6(n=qve){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return N6({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},Xve={};const Zve={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=Xve){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,lM=new Float32Array(16),V6=new Float32Array(12);function z6(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),d=Math.cos(i),f=Math.cos(r),p=t[0],g=t[1],_=t[2];n[0]=p*f*d,n[1]=p*l*d,n[2]=p*-a,n[3]=g*(-l*c+f*a*o),n[4]=g*(f*c+l*a*o),n[5]=g*d*o,n[6]=_*(l*o+f*a*c),n[7]=_*(-f*o+l*a*c),n[8]=_*d*c}function j6(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const U6={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,d=Array.isArray(s),f=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:f&&d&&p;const _=n.value;if(n.constant){let y;g?(lM.set(a),y=j6(lM)):(y=V6,z6(y,r,s),y.set(o,9)),n.value=new Float32Array(y)}else{let y=e*n.size;const{iterable:v,objectInfo:C}=SS(i,e,t);for(const w of v){let x;C.index++,g?(lM.set(c?a:a(w,C)),x=j6(lM)):(x=V6,z6(x,f?r:r(w,C),d?s:s(w,C)),x.set(p?o:o(w,C),9)),_[y++]=x[0],_[y++]=x[1],_[y++]=x[2],_[y++]=x[3],_[y++]=x[4],_[y++]=x[5],_[y++]=x[6],_[y++]=x[7],_[y++]=x[8],_[y++]=x[9],_[y++]=x[10],_[y++]=x[11]}}}};function H6(n,e){return e===qn.CARTESIAN||e===qn.METER_OFFSETS||e===qn.DEFAULT&&!n.isGeospatial}function $6(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),jn.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function ebe(n,e){if(n.attributes)return $6(n.attributes,e),n instanceof _h?n:new _h(n);if(n.positions||n.POSITION)return $6(n,e),new _h({attributes:n});throw Error("Invalid mesh")}const tbe={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let nbe=(()=>{class n extends Eb{getShaders(){const t=!In(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[oM,Zve,aM],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:U6}),this.setState({emptyTexture:new na(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||H6(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Mm(this.context.gl,Lt(K({},this.getShaders()),{id:this.props.id,geometry:ebe(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=tbe,n})();const G6={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class Fm{constructor(e={}){const{id:t}=e;this.id=t||ea(this.constructor.name),this.display=!0,this.position=new to,this.rotation=new to,this.scale=new to(1,1,1),this.matrix=new $t,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return nt(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return nt(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return nt(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){nt(e),t=t||this.matrix;const i=new $t(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Ob extends Fm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;vt.assert(t.every(i=>i instanceof Fm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new $t}={}){const i=new $t(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Ob?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function W6(){var n=new ia(4);return ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function q6(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function Y6(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],d=t[3];return n[0]=i*d+o*a+r*c-s*l,n[1]=r*d+o*l+s*a-i*c,n[2]=s*d+o*c+i*l-r*a,n[3]=o*d-i*a-r*l-s*c,n}var K6=w5,_be=function(){var n=m4(),e=_4(1,0,0),t=_4(0,1,0);return function(i,r,s){var o=y4(r,s);return o<-.999999?(wS(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&wS(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),q6(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(wS(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();W6(),W6(),function(){var n=new ia(9);ia!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const ybe=[0,0,0,1],bbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cbe={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function J6(n){if(!n._animation){const e=Cbe[n.componentType],t=bbe[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}}(this,e),this.check()}identity(){return function(n){n[0]=0,n[1]=0,n[2]=0,n[3]=1}(this),this.check()}fromAxisRotation(e,t){return q6(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ks(e)}get y(){return this[1]}set y(e){this[1]=ks(e)}get z(){return this[2]}set z(e){this[2]=ks(e)}get w(){return this[3]}set w(e){this[3]=ks(e)}len(){return function(n){return Math.hypot(n[0],n[1],n[2],n[3])}(this)}lengthSquared(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r}(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]}(this,e)}rotationTo(e,t){return _be(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return function(n,e,t){n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3]}(this,this,e),this.check()}calculateW(){return function(n,e){var t=e[0],i=e[1],r=e[2];n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r))}(this,this),this.check()}conjugate(){return function(n,e){n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3]}(this,this),this.check()}invert(){return function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a}(this,this),this.check()}lerp(e,t,i){return function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a)}(this,e,t,i),this.check()}multiplyRight(e,t){return Qu(!t),Y6(this,this,e),this.check()}multiplyLeft(e,t){return Qu(!t),Y6(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a}(this,this,e),this.check()}rotateY(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a}(this,this,e),this.check()}rotateZ(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a}(this,this,e),this.check()}scale(e){return K6(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ybe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return function(n,e,t,i){var p,g,_,y,v,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],d=t[2],f=t[3];(g=r*l+s*c+o*d+a*f)<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>Kc?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-i)*p)/_,v=Math.sin(i*p)/_):(y=1-i,v=i),n[0]=y*r+v*l,n[1]=y*s+v*c,n[2]=y*o+v*d,n[3]=y*a+v*f}(this,e,t,i),this.check()}transformVector4(e,t=e){return function(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;n[0]=d*c+g*-o+f*-l-p*-a,n[1]=f*c+g*-a+p*-o-d*-l,n[2]=p*c+g*-l+d*-a-f*-o,n[3]=e[3]}(t,e,this),CS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}};class Abe{constructor(e){this.startTime=0,this.playing=!0,this.speed=1,this.channels=[],Object.assign(this,e)}animate(e){if(!this.playing)return;const i=(e/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:r,target:s,path:o})=>{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:vt.warn(`Bad animation path ${s}`)()}nt(r[s].length===i[c].length);const d=e[c],f=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;id&&function(n,e,t,i,r){if("rotation"===e){hR.slerp({start:t,target:i,ratio:r});for(let s=0;sd&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:J6(e.accessors[a]),interpolation:l,output:J6(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Abe({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Obe extends Fm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Mm?(this.model=e,this._setModelNodeProps(t)):this.model=new Mm(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Ibe{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new na(this.gl,K({id:e.name||e.id,parameters:K(K({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(vt.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function e8(n,e){return In(n)?`#version 300 es\n${e}`:e}const Fbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Nbe={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Lbe{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Nbe,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Dbe(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Ob({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Ob({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new $t).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Ob({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){vt.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Ibe(n,e);vt.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(d=>d.buffer));const c=new Obe(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[G6],defines:a.defines,parameters:a.parameters,vs:e8(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:e8(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),vt.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new Ai(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ta({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Fbe[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function t8(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new Nm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new Nm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof Nm){const o=e;t=o.fields,i=s8(s8(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new Nm(s,i)}}function s8(n,e){return new Map([...n||new Map,...e||new Map])}let cr,o8,a8,l8,c8,u8,d8,h8;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(cr||(cr={}));class fR{static isNull(e){return e&&e.typeId===cr.Null}static isInt(e){return e&&e.typeId===cr.Int}static isFloat(e){return e&&e.typeId===cr.Float}static isBinary(e){return e&&e.typeId===cr.Binary}static isUtf8(e){return e&&e.typeId===cr.Utf8}static isBool(e){return e&&e.typeId===cr.Bool}static isDecimal(e){return e&&e.typeId===cr.Decimal}static isDate(e){return e&&e.typeId===cr.Date}static isTime(e){return e&&e.typeId===cr.Time}static isTimestamp(e){return e&&e.typeId===cr.Timestamp}static isInterval(e){return e&&e.typeId===cr.Interval}static isList(e){return e&&e.typeId===cr.List}static isStruct(e){return e&&e.typeId===cr.Struct}static isUnion(e){return e&&e.typeId===cr.Union}static isFixedSizeBinary(e){return e&&e.typeId===cr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===cr.FixedSizeList}static isMap(e){return e&&e.typeId===cr.Map}static isDictionary(e){return e&&e.typeId===cr.Dictionary}get typeId(){return cr.NONE}compareTo(e){return this===e}}Symbol,Symbol,o8=Symbol.toStringTag;class Lm extends fR{constructor(e,t){super(),sn(this,"isSigned",void 0),sn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return cr.Int}get[o8](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class qbe extends Lm{constructor(){super(!0,8)}}class Ybe extends Lm{constructor(){super(!0,16)}}class Xbe extends Lm{constructor(){super(!0,32)}}class Kbe extends Lm{constructor(){super(!1,8)}}class Zbe extends Lm{constructor(){super(!1,16)}}class Qbe extends Lm{constructor(){super(!1,32)}}a8=Symbol.toStringTag;class f8 extends fR{constructor(e){super(),sn(this,"precision",void 0),this.precision=e}get typeId(){return cr.Float}get[a8](){return"Float"}toString(){return`Float${this.precision}`}}class Jbe extends f8{constructor(){super(32)}}class e0e extends f8{constructor(){super(64)}}Symbol,Symbol,l8=Symbol.toStringTag,c8=Symbol.toStringTag,u8=Symbol.toStringTag,d8=Symbol.toStringTag,h8=Symbol.toStringTag;class t0e extends fR{constructor(e,t){super(),sn(this,"listSize",void 0),sn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return cr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[h8](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class uM{constructor(e,t,i=!1,r=new Map){sn(this,"name",void 0),sn(this,"type",void 0),sn(this,"nullable",void 0),sn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new uM(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function p8(n,e,t){const i=t?g8(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new qbe;case Uint8Array:return new Kbe;case Int16Array:return new Ybe;case Uint16Array:return new Zbe;case Int32Array:return new Xbe;case Uint32Array:return new Qbe;case Float32Array:return new Jbe;case Float64Array:return new e0e;default:throw new Error("array type not supported")}}(e.value);return new uM(n,new t0e(e.size,new uM("value",r)),!1,i)}function g8(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const m8={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},s0e={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class a0e{constructor(e){sn(this,"draco",void 0),sn(this,"decoder",void 0),sn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?d:r,s=f>s?f:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),d=function(n,e,t){const i=g8(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=p8(o,n[o],s[o]);r.push(l)}if(t){const o=p8("indices",t);r.push(o)}return new Nm(r,i)}(l.attributes,a,l.indices);return Lt(K({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:d})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dM=ze(125);const _R={};function yR(n){return vR.apply(this,arguments)}function vR(){return(vR=yn(function*(n,e=null,t={}){return e&&(n=h0e(n,e,t)),_R[n]=_R[n]||f0e(n),yield _R[n]})).apply(this,arguments)}function h0e(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_P?t.CDN?(Qc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yP?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function f0e(n){return bR.apply(this,arguments)}function bR(){return(bR=yn(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_P?yP?importScripts(n):p0e(yield(yield fetch(n)).text(),n):dM.requireFromFile&&(yield dM.requireFromFile(n))})).apply(this,arguments)}function p0e(n,e){if(!_P)return dM.requireFromString&&dM.requireFromString(n,e);if(yP)return eval.call(yge,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const g0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",m0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",_0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let Ib;function v0e(n){return CR.apply(this,arguments)}function CR(){return(CR=yn(function*(n){const e=n.modules||{};return Ib=e.draco3d?Ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):Ib||b0e(n),yield Ib})).apply(this,arguments)}function b0e(n){return ER.apply(this,arguments)}function ER(){return(ER=yn(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield yR(g0e,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield yR(m0e,"draco",n),yield yR(_0e,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield C0e(e,t)})).apply(this,arguments)}function C0e(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Lt(K({},t),{onModuleLoaded:r=>i({draco:r})}))})}const MR=Lt(K({},r8),{parse:function(n,e){return xR.apply(this,arguments)}});function xR(){return(xR=yn(function*(n,e){const{draco:t}=yield v0e(e),i=new a0e(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function Rb(n,e){return sp(n>=0),sp(e>0),n+(e-1)&~(e-1)}function S0e(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+Rb(i.byteLength,4)}const _8=["SCALAR","VEC2","VEC3","VEC4"],M0e=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],x0e=new Map(M0e),T0e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},A0e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},D0e={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function y8(n){return _8[n-1]||_8[0]}function v8(n){const e=x0e.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function b8(n,e){const t=D0e[n.componentType],i=T0e[n.type],s=n.count*i,o=n.count*i*A0e[n.componentType];return Pa(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const O0e={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class vh{constructor(e){sn(this,"gltf",void 0),sn(this,"sourceBuffers",void 0),sn(this,"byteLength",void 0),this.gltf=e||{json:K({},O0e),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Pa(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=b8(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Pa(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Pa(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Pa(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:y8(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:v8(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=S0e(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*j0e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function U0e(n){return DR.apply(this,arguments)}function DR(){return(DR=yn(function*(n){const e=new vh(n),{json:t}=e;e.removeExtension(fM);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fM)})).apply(this,arguments)}function H0e(n){const e=new vh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fM,{}),e.addExtension(fM))}function $0e(n){return OR.apply(this,arguments)}function OR(){return(OR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(Bm);i&&(e.json.lights=i.lights,e.removeExtension(Bm));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,Bm);s&&(r.light=s.light),e.removeObjectExtension(r,Bm)}})).apply(this,arguments)}function G0e(n){return IR.apply(this,arguments)}function IR(){return(IR=yn(function*(n){const e=new vh(n),{json:t}=e;if(t.lights){const i=e.addExtension(Bm);Pa(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,Bm,i);delete e.json.lights}})).apply(this,arguments)}function W0e(n){return PR.apply(this,arguments)}function PR(){return(PR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(pM);if(i){const r=Y0e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,pM);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=X0e(s.technique,e)),e.removeObjectExtension(s,pM)}e.removeExtension(pM)}})).apply(this,arguments)}function q0e(n,e){return RR.apply(this,arguments)}function RR(){return(RR=yn(function*(n,e){})).apply(this,arguments)}function Y0e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function X0e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const E8={KHR_draco_mesh_compression:wt,KHR_materials_unlit:L,KHR_lights_punctual:It,KHR_techniques_webgl:Pt};function K0e(n){return kR.apply(this,arguments)}function kR(){return(kR=yn(function*(n,e={},t){for(const r in E8){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield E8[r].decode(n,e,t))}})).apply(this,arguments)}const S8={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Q0e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class J0e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new vh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,C8);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(C8)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in S8)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in S8)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=Q0e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function eCe(n,e={}){return(new J0e).normalize(n,e)}const tCe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nCe={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},bl={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},iCe={magFilter:bl.TEXTURE_MAG_FILTER,minFilter:bl.TEXTURE_MIN_FILTER,wrapS:bl.TEXTURE_WRAP_S,wrapT:bl.TEXTURE_WRAP_T},rCe={[bl.TEXTURE_MAG_FILTER]:bl.LINEAR,[bl.TEXTURE_MIN_FILTER]:bl.NEAREST_MIPMAP_LINEAR,[bl.TEXTURE_WRAP_S]:bl.REPEAT,[bl.TEXTURE_WRAP_]:bl.REPEAT};class aCe{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Pa(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=K({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=K({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=K({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=K({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=K({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=K({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=K({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return nCe[n]}(e.componentType),e.components=function(n){return tCe[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=b8(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):rCe,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return iCe[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function lCe(n,e){return(new aCe).postProcess(n,e)}const M8=1735152710,Vm=!0;function NR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),Rb(i,4)}function LR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),Rb(i,4)}function bCe(n,e){return BR.apply(this,arguments)}function BR(){return(BR=yn(function*(n,e,t=0,i,r){var s,o,a,l;CCe(n,e,t,i),eCe(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield wCe(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const f=ECe(n,i,r);c.push(f)}const d=K0e(n,i,r);return c.push(d),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?lCe(n,i):n})).apply(this,arguments)}function CCe(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=M8}=t,s=i.getUint32(e,!1);return s===r||s===M8}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?t8(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?t8(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,Vm),a=r.getUint32(t+8,Vm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){sp(n.header.byteLength>20);const i=e.getUint32(t+0,Vm),r=e.getUint32(t+4,Vm);return t+=8,sp(0===r),NR(n,e,t,i),(t+=i)+LR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return sp(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,Vm),s=e.getUint32(t+4,Vm);switch(t+=8,s){case 1313821514:NR(n,e,t,r);break;case 5130562:LR(n,e,t,r);break;case 0:i.strict||NR(n,e,t,r);break;case 1:i.strict||LR(n,e,t,r)}t+=Rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Pa("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Pa(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function wCe(n,e,t){return VR.apply(this,arguments)}function VR(){return(VR=yn(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield TCe(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function TCe(n){return $R.apply(this,arguments)}function $R(){return($R=yn(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const x8=[255,255,255,255],OCe={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:x8},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[zm]};let ICe=(()=>{class n extends Eb{getShaders(){const t=[oM,aM];return"pbr"===this.props._lighting&&t.push(G6),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:x8,transition:!0},instanceModelMatrix:U6})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof Fm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Lbe(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=K({gltf:l},c),function(n){return HR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(jn.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof Fm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&jn.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):jn.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof Fm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:K({isInstanced:!0,transpileToGLSL100:!In(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:d}=this.props,f=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(f),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:H6(s,d),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=OCe,n})();class PCe extends _h{constructor(e={}){const{id:t=ea("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,d=(e+1)*(t+1);if("number"==typeof i){const C=i;i=(w,x,N,V,U)=>C}const f=new Float32Array(3*d),p=new Float32Array(3*d),g=new Float32Array(2*d),y=new(d>65535?Uint32Array:Uint16Array)(e*t*6);for(let C=0;C<=e;C++)for(let w=0;w<=t;w++){const x=w/t,N=C/e,V=w+C*(t+1),U=2*V,ee=3*V,de=c*x,ae=o*N,me=Math.sin(de),Ee=Math.cos(de),Be=Math.sin(ae),ne=Ee*Be,Ie=Math.cos(ae),Q=me*Be,je=i(ne,Ie,Q,x,N);f[ee+0]=je*ne,f[ee+1]=je*Ie,f[ee+2]=je*Q,p[ee+0]=ne,p[ee+1]=Ie,p[ee+2]=Q,g[U+0]=x,g[U+1]=1-N}const v=t+1;for(let C=0;Cs?(te=i,Be=1,ne=t):ne=e+Ee/s*(t-e),(-2===Ee||Ee===s+2)&&(ne=0,Be=0),te-=i/2;for(let Ie=0;Ies?0:Q*y,ee[ae+V[1]]=Ee<0?-1:Ee>s?1:v,ee[ae+V[2]]=Ee<0||Ee>s?0:je*y,de[me+0]=Ie/r,de[me+1]=Be,me+=2,ae+=3}}for(let Ee=0;Ee0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new S){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new S){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new S){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new S){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new S){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=GCe,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=WCe;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(A8),A8.almostEquals(e,t)}clone(){return new S(this.x,this.y,this.z)}}S.ZERO=void 0,S.UNIT_X=void 0,S.UNIT_Y=void 0,S.UNIT_Z=void 0,S.ZERO=new S(0,0,0),S.UNIT_X=new S(1,0,0),S.UNIT_Y=new S(0,1,0),S.UNIT_Z=new S(0,0,1);const GCe=new S,WCe=new S,A8=new S;class Di{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new S,this.upperBound=new S,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,d=this.upperBound;e.copy(c),t.set(d.x,c.y,c.z),i.set(d.x,d.y,c.z),r.set(c.x,d.y,d.z),s.set(d.x,c.y,d.z),o.set(c.x,d.y,c.z),a.set(c.x,c.y,d.z),l.copy(d)}toLocalFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,d=(this.upperBound.y-i.y)*s,f=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,d)),Math.min(f,p)),_=Math.min(Math.min(Math.max(a,l),Math.max(c,d)),Math.max(f,p));return!(_<0||g>_)}}const D8=new S,O8=[new S,new S,new S,new S,new S,new S,new S,new S];class kr{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new S){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=YCe;e.tangents(i,XCe),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Ui(e.length(),2)*Ui(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new kr){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,d=e.w;return t.x=i*d+o*a+r*c-s*l,t.y=r*d+o*l+s*a-i*c,t.z=s*d+o*c+i*l-r*a,t.w=o*d-i*a-r*l-s*c,t}inverse(e=new kr){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new kr){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new S){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=d*c+g*-o+f*-l-p*-a,t.y=f*c+g*-a+p*-o-d*-l,t.z=p*c+g*-l+d*-a-f*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const d=o*a+l*c;if(d>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),d<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const f=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*d),s=Math.atan2(2*o*c-2*a*l,1-2*f-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),d=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"YXZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"ZXY"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"ZYX"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"YZX"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a-l*c*d):"XZY"===r&&(this.x=l*o*a-s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a+l*c*d),this}clone(){return new kr(this.x,this.y,this.z,this.w)}slerp(e,t,i=new kr){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,_,y,v,l=e.x,c=e.y,d=e.z,f=e.w;return g=r*l+s*c+o*d+a*f,g<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>1e-6?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-t)*p)/_,v=Math.sin(t*p)/_):(y=1-t,v=t),i.x=y*r+v*l,i.y=y*s+v*c,i.z=y*o+v*d,i.w=y*a+v*f,i}integrate(e,t,i,r=new kr){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,d=this.z,f=this.w,p=.5*t;return r.x+=p*(s*f+o*d-a*c),r.y+=p*(o*f+a*l-s*d),r.z+=p*(a*f+s*c-o*l),r.w+=p*(-s*l-o*c-a*d),r}}const YCe=new S,XCe=new S,KCe={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let bt=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=KCe,n})();class ni{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new S,this.quaternion=new kr,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return ni.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return ni.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new S){return i.vsub(e,r),t.conjugate(P8),P8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new S){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new S){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new S){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const P8=new kr;class lp extends bt{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:bt.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new S;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let d=!1;for(let f=0;f!==i.length;f++)if(i[f].almostEquals(r)||i[f].almostEquals(r)){d=!0;break}d||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=y,f=_)}const g=[];for(let _=0;_=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new S,d=new S,f=new S,p=new S,g=new S,_=new S;let y=Number.MAX_VALUE;const v=this;if(v.uniqueAxes)for(let C=0;C!==v.uniqueAxes.length;C++){i.vmult(v.uniqueAxes[C],c);const w=v.testSepAxis(c,e,t,i,r,s);if(!1===w)return!1;w0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){lp.project(this,e,i,r,GR),lp.project(t,e,s,o,WR);const l=GR[0],c=GR[1],d=WR[0],f=WR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?Ct.STATIC:Ct.DYNAMIC,typeof e.type==typeof Ct.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=Ct.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new S,this.quaternion=new kr,this.initQuaternion=new kr,this.previousQuaternion=new kr,this.interpolatedQuaternion=new kr,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new S,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new S,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new S,this.invInertia=new S,this.invInertiaWorld=new ru,this.invMassSolve=0,this.invInertiaSolve=new S,this.invInertiaWorldSolve=new ru,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new S(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new S(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new Di,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new S,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=Ct.AWAKE,this.wakeUpAfterNarrowphase=!1,e===Ct.SLEEPING&&this.dispatchEvent(Ct.wakeupEvent)}sleep(){this.sleepState=Ct.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Ui(this.sleepSpeedLimit,2);t===Ct.AWAKE&&ir?this.wakeUp():t===Ct.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(Ct.sleepEvent))}}updateSolveMassProperties(){this.sleepState===Ct.SLEEPING||this.type===Ct.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new S){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new S){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new S,s=new kr;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=JCe,o=ewe,a=this.quaternion,l=this.aabb,c=twe;for(let d=0;d!==r;d++){const f=e[d];a.vmult(t[d],s),s.vadd(this.position,s),a.mult(i[d],o),f.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===d?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=nwe,r=iwe;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=rwe;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=swe,r=owe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===Ct.DYNAMIC&&(this.sleepState===Ct.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=t,r=awe;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=lwe;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=cwe,r=uwe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=dwe;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mM.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new S;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==Ct.DYNAMIC&&this.type!==Ct.KINEMATIC||this.sleepState===Ct.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,f=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const _=f.elements,y=this.angularFactor,v=l.x*y.x,C=l.y*y.y,w=l.z*y.z;s.x+=e*(_[0]*v+_[1]*C+_[2]*w),s.y+=e*(_[3]*v+_[4]*C+_[5]*w),s.z+=e*(_[6]*v+_[7]*C+_[8]*w),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}Ct.idCounter=0,Ct.COLLIDE_EVENT_NAME="collide",Ct.DYNAMIC=1,Ct.STATIC=2,Ct.KINEMATIC=4,Ct.AWAKE=0,Ct.SLEEPY=1,Ct.SLEEPING=2,Ct.wakeupEvent={type:"wakeup"},Ct.sleepyEvent={type:"sleepy"},Ct.sleepEvent={type:"sleep"};const JCe=new S,ewe=new kr,twe=new Di,nwe=new ru,iwe=new ru,rwe=new S,swe=new S,owe=new S,awe=new S,lwe=new S,cwe=new S,uwe=new S,dwe=new S;new S,new S;class _M{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new S,this.rayToWorld=new S,this.hitNormalWorld=new S,this.hitPointWorld=new S,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let R8,k8,F8,N8,L8,B8,V8;R8=bt.types.SPHERE,k8=bt.types.PLANE,F8=bt.types.BOX,N8=bt.types.CYLINDER,L8=bt.types.CONVEXPOLYHEDRON,B8=bt.types.HEIGHTFIELD,V8=bt.types.TRIMESH;class Hr{get[R8](){return this._intersectSphere}get[k8](){return this._intersectPlane}get[F8](){return this._intersectBox}get[N8](){return this._intersectConvex}get[L8](){return this._intersectConvex}get[B8](){return this._intersectHeightfield}get[V8](){return this._intersectTrimesh}constructor(e=new S,t=new S){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new S,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=Hr.ANY,this.result=new _M,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||Hr.ANY,this.result=t.result||new _M,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(z8),KR.length=0,e.broadphase.aabbQuery(e,z8,KR),this.intersectBodies(KR),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=ywe,s=vwe;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new S(0,0,1);t.vmult(c,c);const d=new S;o.vsub(i,d);const f=d.dot(c);if(a.vsub(i,d),f*d.dot(c)>0||o.distanceTo(a)=0&&y<=1&&(o.lerp(a,y,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Swe,l=U8,c=o&&o.faceList||null,d=e.faces,f=e.vertices,p=e.faceNormals,g=this.direction,_=this.from,v=_.distanceTo(this.to),C=c?c.length:d.length,w=this.result;for(let x=0;!w.shouldStop&&xv||this.reportIntersection(a,ra,s,r,N)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Mwe,l=Iwe,c=Pwe,d=U8,f=xwe,p=Twe,g=Awe,_=Owe,y=Dwe,v=e.indices,C=this.from,w=this.to,x=this.direction;c.position.copy(i),c.quaternion.copy(t),ni.vectorToLocalFrame(i,t,x,f),ni.pointToLocalFrame(i,t,C,p),ni.pointToLocalFrame(i,t,w,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,f),f.normalize();const N=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let V=0,U=l.length;!this.result.shouldStop&&V!==U;V++){const ee=l[V];e.getNormal(ee,a),e.getVertex(v[3*ee],cc),cc.vsub(p,d);const de=f.dot(a),ae=a.dot(d)/de;if(ae<0)continue;f.scale(ae,ra),ra.vadd(p,ra),e.getVertex(v[3*ee+1],ou),e.getVertex(v[3*ee+2],au);const me=ra.distanceSquared(p);!Hr.pointInTriangle(ra,ou,cc,au)&&!Hr.pointInTriangle(ra,cc,ou,au)||me>N||(ni.vectorToWorldFrame(t,a,y),ni.pointToWorldFrame(i,t,ra,_),this.reportIntersection(y,_,s,r,ee))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case Hr.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case Hr.CLOSEST:(l=0&&(f=s*c-o*a)>=0&&d+fDate.now()-n}var lu=ze(517);function $m(n,e,t){e||(e=new $t($t.IDENTITY));const i=new $t($t.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new $t($t.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new $t(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===$m(s,r,t))return!1;return!0}function R$(){vH([r8,zm])}function k$(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||$m(s,new $t($t.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function ek(n,e){return yl(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,zm,{DracoLoader:MR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),k$(n.scenegraphNode,r)})}function RMe(n,e){return yl(this,void 0,void 0,function*(){return k$(n,yield e)})}function tk(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new PCe;break;case"cone":i=new NCe;break;case"cylinder":i=new LCe;break;case"cube":default:i=new HCe}return new nbe(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:qn.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function F$(n,e,t){if(e&&0!==e.length)return new Wve(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new $t(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let FMe=(()=>{class n extends MH{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),R$()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=ek({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const d of c)a.push(new ICe({id:"models-"+d["@id"],opacity:d.zoomBasedOpacity?r.zoomOpacity:void 0!==d.opacity?d.opacity:1,pickable:!d.unpickable,coordinateSystem:qn.CARTESIAN,data:[d],scenegraph:d.scenegraphNode?RMe(d.scenegraphNode,o[d.scenegraph]):d.scenegraph,_lighting:d._lighting,getTransformMatrix:d.transformMatrix,getColor:null!==(i=d.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!d.zoomBasedOpacity&&(void 0===d.opacity||1===d.opacity)}}));else"text"===l?(a.push(F$("text",c.filter(d=>d.unpickable),{pickable:!1})),a.push(F$("textPickable",c.filter(d=>!d.unpickable),{pickable:!0}))):"wireframe"===l?a.push(tk(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(tk(l,c.filter(d=>d.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(tk(`${l}Pickable`,c.filter(d=>!d.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){yl(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new $t(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new Di({lowerBound:new S(...l.map((d,f)=>Math.min(d,c[f]))),upperBound:new S(...c.map((d,f)=>Math.max(d,l[f])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield wb(o.scenegraph,zm,{DracoLoader:MR,decompress:!0,postProcess:!0});for(const l of a.scenes)$m(l,new $t(o.transformMatrix),(c,d)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const f of c.mesh.primitives)if(f.attributes.POSITION&&f.attributes.POSITION.min){const p=d.transformAsPoint(f.attributes.POSITION.min,[]),g=d.transformAsPoint(f.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new Di({lowerBound:new S(...p.map((_,y)=>Math.min(_,g[y]))),upperBound:new S(...g.map((_,y)=>Math.max(_,p[y])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function N$(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),N$(t,e);return e}let LMe=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new FMe({}),this.nodeClickSubject=new Se,this.nodeHoverStartSubject=new Se,this.nodeHoverStopSubject=new Se,this.sceneRotationSubject=new ar([0,0]),this.nodeDragStartSubject=new Se,this.nodeDragSubject=new Se,this.nodeDragEndSubject=new Se,this.nodeClick$=this.nodeClickSubject.pipe(Vs()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Vs()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Vs()),this.sceneRotation$=this.sceneRotationSubject.pipe(Vs()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Vs()),this.nodeDrag$=this.nodeDragSubject.pipe(Vs()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Vs());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Ame({flipY:!1,near:-1e3}):new Ime({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var d;return null!==(d=this.cursor)&&void 0!==d?d:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GP({ambientLight:new OH({color:[255,255,255],intensity:10})})]),this.deck=new sM(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return yl(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new $t([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return yl(this,void 0,void 0,function*(){R$();const i=yield ek({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)$m(o,e=new $t(e||$t.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new $t(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new $t(e||$t.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const d of a.mesh.primitives)if(d.attributes.POSITION&&d.attributes.POSITION.min){const f=l.transformAsPoint(d.attributes.POSITION.min,[]),p=l.transformAsPoint(d.attributes.POSITION.max,[]);c.bbox=new Di({lowerBound:new S(...f.map((g,_)=>Math.min(g,p[_]))),upperBound:new S(...p.map((g,_)=>Math.max(g,f[_])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of N$(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,d=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new S(.5,.5,.5)),f=o.center=a.clone().vadd(d);o.transformMatrix=new $t($t.IDENTITY).translate(f.toArray()).scale(d.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new $t(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return xe([lu.ZP],n.prototype,"_onHover",null),xe([lu.ZP],n.prototype,"_onClick",null),xe([lu.ZP],n.prototype,"_onViewStateChange",null),xe([lu.ZP],n.prototype,"_onDragStart",null),xe([lu.ZP],n.prototype,"_onDrag",null),xe([lu.ZP],n.prototype,"_onDragEnd",null),n})();function BMe(n,e){return n===e}function VMe(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let nk=(()=>{class n{constructor(){this.bootstrap$=new If(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const ik=new ve("INITIAL_STATE_TOKEN");let UMe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const L$=new ve("Internals.StateContextFactory"),B$=new ve("Internals.StateFactory");function V$(n,e){return e?t=>t.pipe(V$((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new HMe(n))}class HMe{constructor(e){this.project=e}call(e,t){return t.subscribe(new $Me(e,this.project))}}class $Me extends ii{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new Gr(this),i=this.destination;i.add(t);const r=co(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function TM(n=null){return e=>e.lift(new GMe(n))}class GMe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new WMe(e,this.defaultValue))}}class WMe extends xt{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const Ra={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let z$=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return kD(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return dt.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return dt.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof dt||console.warn(Ra.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const j$=new ve("ROOT_STATE_TOKEN"),U$=new ve("FEATURE_STATE_TOKEN"),rk=new ve("NGXS_PLUGINS"),H$=new ve("NG_TEST_MODE"),G$=new ve("NG_DEV_MODE"),ld="NGXS_META",W$="NGXS_OPTIONS_META",sk="NGXS_SELECTOR_META";let fp=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=z$}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class qMe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const q$=new ve("NGXS_EXECUTION_STRATEGY");function pp(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const ok=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Gm=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),ak=n=>n&&"object"==typeof n&&!Array.isArray(n),lk=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(ak(n)&&ak(t))for(const i in t)ak(t[i])?(n[i]||Object.assign(n,{[i]:{}}),lk(n[i],t[i])):Object.assign(n,{[i]:t[i]});return lk(n,...e)};function ck(n){if(!n.hasOwnProperty(ld)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ld,{value:e})}return jb(n)}function jb(n){return n[ld]}function uk(n){return n.hasOwnProperty(sk)||Object.defineProperty(n,sk,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),dk(n)}function dk(n){return n[sk]}function Y$(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[pp(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Fn(t=>{const i=pp(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function sxe(){return Ae(n=>n.action)}function AM(n){return e=>new ce(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let DM=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(I(q$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class lxe extends Se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let OM=(()=>{class n extends lxe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cxe=(()=>{class n extends ce{constructor(t,i){super(r=>{const s=t.pipe(AM(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(I(OM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const K$=n=>(...e)=>n.shift()(...e,(...i)=>K$(n)(...i));let IM=(()=>{class n extends ar{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),hk=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(I(n,12),I(rk,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),fk=(()=>{class n extends Se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Z$=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get($o),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(AM(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?ht(this._stateStream.getValue()):Hv(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!pp(t))return Kg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return K$([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(qc())}getActionResultStream(t){return this._actionResults.pipe(Fn(i=>i.action===t&&"DISPATCHED"!==i.status),yi(1),qc())}createDispatchObservable(t){return t.pipe(V$(i=>{switch(i.status){case"SUCCESSFUL":return ht(this._stateStream.getValue());case"ERRORED":return Kg(i.error);default:return ec}})).pipe(qc())}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(OM),I(fk),I(hk),I(IM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Q$=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&Q$(n[i])}),n};let J$=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(I(G$),I(H$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),eG=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Ra.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Ra.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(I(J$),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),qm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=Q$(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(Z$),I(fp),I(eG))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),PM=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Gm(l,t.path)}function s(l,c){const d=ok(l,t.path,c),f=t.instance;if(f.ngxsOnChanges){const p=X$(t,{currentAppState:l,newAppState:d});f.ngxsOnChanges(p)}return i.setState(d),d}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Ra.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Ra.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(I(qm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class RM{static stateNameErrorMessage(e){return Ra.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Ra.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Ra.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=jb(e);if(!t)throw new Error(Ra.STATE_DECORATOR());return t}}RM.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Ym=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xM(()=>{const c=this;function d(p){const g=c.statePaths[p];return g?Y$(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=d(p);return g||((..._)=>(g||(g=d(p)),g?g(..._):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(RM.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[ld].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[ld];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[ld].name]=t,e),{})}(i),l=[];for(const c of s){const d=a[c],f=o[c],p=d[ld];this.addRuntimeInfoToMeta(p,f);const g={name:c,path:f,isInitialised:!1,actions:p.actions,instance:this._injector.get(d),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,f)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>ok(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Fn(t=>"DISPATCHED"===t.status),di(({action:t})=>this.invokeActions(this._actions,t).pipe(Ae(()=>({action:t,status:"SUCCESSFUL"})),TM({action:t,status:"CANCELED"}),Ta(i=>ht({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=pp(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let d=o.instance[l.fn](c,i);d instanceof Promise&&(d=ui(d)),d instanceof ce?(d=d.pipe(TM({})),l.options.cancelUncompleted&&(d=d.pipe(Tn(t.pipe(nxe(i)))))):d=ht({}).pipe(qc()),s.push(d)}catch(d){s.push(Kg(d))}}}return s.length||s.push(ht({})),Hv(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=RM.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Gm(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(fp),I(n,12),I(OM),I(fk),I(PM),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),pk=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Fn(()=>!!i),Ti(()=>this.invokeInit(i.states)),di(()=>this.bootstrapper.appBootstrapped$),Fn(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=X$(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(I(qm),I(PM),I(nk))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const kM_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function nG(n){const e=dk(n)||jb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(Ae(i),Ta(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?ht(void 0):Kg(r)}),Zo(),AM(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(AM(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return nG(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(qm),I(fp),I(DM),I(Ym),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Ub=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class iG{static get type(){return"@@INIT"}}class rG{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const FM=new If(1);let _xe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Mo();FM.next(t)}catch(n){FM.next(!1)}finally{FM.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new iG,l)}}return n.\u0275fac=function(t){return new(t||n)(I(Ym),I(qm),I(cu),I(Ub),I(j$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),yxe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new rG(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(qm),I(Ym),I(U$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();class Io{static forRoot(e=[],t={}){return{ngModule:_xe,providers:[Ym,PM,cxe,OM,nk,eG,J$,pk,Z$,fk,qm,DM,cu,IM,Ub,hk,...e,...Io.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:yxe,providers:[Ym,hk,...e,{provide:U$,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:H$,useValue:jMe},{provide:G$,useValue:Mo},{provide:q$,useClass:t.executionStrategy||z$},{provide:j$,useValue:e},{provide:Io.ROOT_OPTIONS,useValue:t},{provide:fp,useFactory:Io.ngxsConfigFactory,deps:[Io.ROOT_OPTIONS]},{provide:bv,useFactory:Io.appBootstrapListenerFactory,multi:!0,deps:[nk]},{provide:ik,useFactory:Io.getInitialState},{provide:L$,useExisting:PM},{provide:B$,useExisting:Ym}]}static ngxsConfigFactory(e){return lk(new fp,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return UMe.pop()}}function gk(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Ra.ACTION_DECORATOR());const s=ck(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function cd(n){return i=>{!function(n){FM.subscribe(e=>{e&&(n.\u0275prov||console.warn(Ra.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=ck(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[W$]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,d="string"==typeof c?c:c&&c.getName()||null;RM.checkCorrectStateName(d),s.hasOwnProperty(ld)&&(r.actions=Object.assign({},r.actions,(s[ld]||{}).actions)),r.children=a,r.defaults=l,r.name=d})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[W$]=a}}function NM(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?Y$(t.length?[e,...t]:e.split("."),Ub.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!Ub.store)throw new Error(Ra.SELECT_FACTORY_NOT_CONNECTED());return Ub.store.select(n)}(o))}}})}}function Xm(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Ra.SELECTOR_DECORATOR());const s=i.value,o=function(n,e,t){const i=t&&t.containerClass,s=xM(function(...c){const d=e.apply(i,c);return d instanceof Function?xM.apply(null,[d]):d});Object.setPrototypeOf(s,e);const o=function(n,e){const t=uk(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kM_getOptions(n.containerClass)||{},kM_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:d}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&jb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>nG(a)(n))}}(l,o,n);return function(p){const g=c.map(_=>_(p));try{return s(...g)}catch(_){if(_ instanceof TypeError&&d.suppressErrors)return;throw _}}},s}(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Io.\u0275fac=function(e){return new(e||Io)},Io.\u0275mod=Pe({type:Io}),Io.\u0275inj=Me({}),Io.ROOT_OPTIONS=new ve("ROOT_OPTIONS");let sG=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt))},n.\u0275dir=oe({type:n}),n})(),gp=(()=>{class n extends sG{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();const ro=new ve("NgValueAccessor"),xxe={provide:ro,useExisting:T(()=>Hb),multi:!0},Axe=new ve("CompositionEventMode");let Hb=(()=>{class n extends sG{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=Uc()?Uc().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt),E(Axe,8))},n.\u0275dir=oe({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Dt([xxe]),ct]}),n})();function Ch(n){return null==n||0===n.length}function aG(n){return null!=n&&"number"==typeof n.length}const Ss=new ve("NgValidators"),wh=new ve("NgAsyncValidators"),Dxe=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class lG{static min(e){return function(n){return e=>{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t>n?{max:{max:n,actual:e.value}}:null}}(e)}static required(e){return function(n){return Ch(n.value)?{required:!0}:null}(e)}static requiredTrue(e){return function(n){return!0===n.value?null:{required:!0}}(e)}static email(e){return function(n){return Ch(n.value)||Dxe.test(n.value)?null:{email:!0}}(e)}static minLength(e){return function(n){return e=>Ch(e.value)||!aG(e.value)?null:e.value.lengthaG(e.value)&&e.value.length>n?{maxlength:{requiredLength:n,actualLength:e.value.length}}:null}(e)}static pattern(e){return function(n){if(!n)return Eh;let e,t;return"string"==typeof n?(t="","^"!==n.charAt(0)&&(t+="^"),t+=n,"$"!==n.charAt(n.length-1)&&(t+="$"),e=new RegExp(t)):(t=n.toString(),e=n),i=>{if(Ch(i.value))return null;const r=i.value;return e.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}(e)}static nullValidator(e){return null}static compose(e){return wG(e)}static composeAsync(e){return EG(e)}}function Eh(n){return null}function _G(n){return null!=n}function yG(n){const e=Og(n)?ui(n):n;return xw(e),e}function vG(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function bG(n,e){return e.map(t=>t(n))}function CG(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function wG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return vG(bG(t,e))}}function mk(n){return null!=n?wG(CG(n)):null}function EG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return Hv(bG(t,e).map(yG)).pipe(Ae(vG))}}function _k(n){return null!=n?EG(CG(n)):null}function SG(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function MG(n){return n._rawValidators}function xG(n){return n._rawAsyncValidators}function yk(n){return n?Array.isArray(n)?n:[n]:[]}function LM(n,e){return Array.isArray(n)?n.includes(e):n===e}function TG(n,e){const t=yk(e);return yk(n).forEach(r=>{LM(t,r)||t.push(r)}),t}function AG(n,e){return yk(e).filter(t=>!LM(n,t))}let DG=(()=>{class n{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=mk(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_k(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})(),Po=(()=>{class n extends DG{get formDirective(){return null}get path(){return null}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();class uc extends DG{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let vk=(()=>{class n extends class{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(E(uc,2))},n.\u0275dir=oe({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&st("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[ct]}),n})();function $b(n,e){wk(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&PG(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&PG(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function zM(n,e,t=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),UM(n,e),n&&(e._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function jM(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function wk(n,e){const t=MG(n);null!==e.validator?n.setValidators(SG(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=xG(n);null!==e.asyncValidator?n.setAsyncValidators(SG(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();jM(e._rawValidators,r),jM(e._rawAsyncValidators,r)}function UM(n,e){let t=!1;if(null!==n){if(null!==e.validator){const r=MG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.validator);s.length!==r.length&&(t=!0,n.setValidators(s))}}if(null!==e.asyncValidator){const r=xG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.asyncValidator);s.length!==r.length&&(t=!0,n.setAsyncValidators(s))}}}const i=()=>{};return jM(e._rawValidators,i),jM(e._rawAsyncValidators,i),t}function PG(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function RG(n,e){wk(n,e)}function Ek(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}function kG(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Sk(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===Hb?t=s:function(n){return Object.getPrototypeOf(n.constructor)===gp}(s)?i=s:r=s}),r||i||t||null}function HM(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Gb="VALID",$M="INVALID",Km="PENDING",Wb="DISABLED";function Mk(n){return(Tk(n)?n.validators:n)||null}function FG(n){return Array.isArray(n)?mk(n):n||null}function xk(n,e){return(Tk(e)?e.asyncValidators:n)||null}function NG(n){return Array.isArray(n)?_k(n):n||null}function Tk(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Ak{constructor(e,t){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=FG(this._rawValidators),this._composedAsyncValidatorFn=NG(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Gb}get invalid(){return this.status===$M}get pending(){return this.status==Km}get disabled(){return this.status===Wb}get enabled(){return this.status!==Wb}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=FG(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=NG(e)}addValidators(e){this.setValidators(TG(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(TG(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(AG(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(AG(e,this._rawAsyncValidators))}hasValidator(e){return LM(this._rawValidators,e)}hasAsyncValidator(e){return LM(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=Km,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Wb,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Gb,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Gb||this.status===Km)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Wb:Gb}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=Km,this._hasOwnPendingAsyncValidator=!0;const t=yG(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Dk?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof Uxe&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Le,this.statusChanges=new Le}_calculateStatus(){return this._allControlsDisabled()?Wb:this.errors?$M:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Km)?Km:this._anyControlsHaveStatus($M)?$M:Gb}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Tk(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class Sh extends Ak{constructor(e=null,t,i){super(Mk(t),xk(i,t)),this._onChange=[],this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){HM(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){HM(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Dk extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof Sh?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class Uxe extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof Sh?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const Hxe={provide:Po,useExisting:T(()=>mp)},qb=(()=>Promise.resolve(null))();let mp=(()=>{class n extends Po{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Le,this.form=new Dk({},mk(t),_k(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){qb.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),$b(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),HM(this._directives,t)})}addFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path),r=new Dk({});RG(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){qb.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,kG(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Hxe]),ct]}),n})();const Gxe={provide:uc,useExisting:T(()=>Ok)},VG=(()=>Promise.resolve(null))();let Ok=(()=>{class n extends uc{constructor(t,i,r,s){super(),this.control=new Sh,this._registered=!1,this.update=new Le,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Sk(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),Ek(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$b(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){VG.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;VG.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(E(Po,9),E(Ss,10),E(wh,10),E(ro,10))},n.\u0275dir=oe({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Dt([Gxe]),ct,zn]}),n})(),UG=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Ik=new ve("NgModelWithFormControlWarning"),Kxe={provide:uc,useExisting:T(()=>GM)};let GM=(()=>{class n extends uc{constructor(t,i,r,s){super(),this._ngModelWarningConfig=s,this.update=new Le,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(i),this.valueAccessor=Sk(0,r)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const i=t.form.previousValue;i&&zM(i,this,!1),$b(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}Ek(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&zM(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10),E(ro,10),E(Ik,8))},n.\u0275dir=oe({type:n,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Dt([Kxe]),ct,zn]}),n._ngModelWarningSentOnce=!1,n})();const Zxe={provide:Po,useExisting:T(()=>Zm)};let Zm=(()=>{class n extends Po{constructor(t,i){super(),this.validators=t,this.asyncValidators=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Le,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(UM(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const i=this.form.get(t.path);return $b(i,t),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){zM(t.control||null,t,!1),HM(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this.submitted=!0,kG(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const i=t.control,r=this.form.get(t.path);i!==r&&(zM(i||null,t),r instanceof Sh&&($b(r,t),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const i=this.form.get(t.path);RG(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const i=this.form.get(t.path);i&&function(n,e){return UM(n,e)}(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wk(this.form,this),this._oldForm&&UM(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["","formGroup",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Zxe]),ct,zn]}),n})(),iW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[UG]]}),n})(),Lk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})(),Bk=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Ik,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})();function Yb(n){return new ce(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?ui(t):bE()).subscribe(e)})}function Vk(n,e=Pf){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new m1e(i,e))}class m1e{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new zk(e,this.delay,this.scheduler))}}class zk extends xt{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(zk.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new _1e(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(Ko.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(Ko.createComplete()),this.unsubscribe()}}class _1e{constructor(e,t){this.time=e,this.notification=t}}const aW=tm({passive:!0});let lW=(()=>{class n{constructor(t,i){this._platform=t,this._ngZone=i,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return ec;const i=Wu(t),r=this._monitoredElements.get(i);if(r)return r.subject;const s=new Se,o="cdk-text-field-autofilled",a=l=>{"cdk-text-field-autofill-start"!==l.animationName||i.classList.contains(o)?"cdk-text-field-autofill-end"===l.animationName&&i.classList.contains(o)&&(i.classList.remove(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!1}))):(i.classList.add(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,aW),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",a,aW)}}),s}stopMonitoring(t){const i=Wu(t),r=this._monitoredElements.get(i);r&&(r.unlisten(),r.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((t,i)=>this.stopMonitoring(i))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt))},token:n,providedIn:"root"}),n})(),cW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv]]}),n})();const k1e=new ve("MAT_INPUT_VALUE_ACCESSOR"),F1e=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let N1e=0;const L1e=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let Xb=(()=>{class n extends L1e{constructor(t,i,r,s,o,a,l,c,d,f){super(a,s,o,r),this._elementRef=t,this._platform=i,this._autofillMonitor=c,this._formField=f,this._uid="mat-input-"+N1e++,this.focused=!1,this.stateChanges=new Se,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(_=>xV().has(_));const p=this._elementRef.nativeElement,g=p.nodeName.toLowerCase();this._inputValueAccessor=l||p,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&d.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",_=>{const y=_.target;!y.value&&0===y.selectionStart&&0===y.selectionEnd&&(y.setSelectionRange(1,1),y.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===g,this._isTextarea="textarea"===g,this._isInFormField=!!f,this._isNativeSelect&&(this.controlType=p.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=Mt(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&xV().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=Mt(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,i;const r=(null===(i=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===i?void 0:i.call(t))?null:this.placeholder;if(r!==this._previousPlaceholder){const s=this._elementRef.nativeElement;this._previousPlaceholder=r,r?s.setAttribute("placeholder",r):s.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){F1e.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,i=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(si),E(uc,10),E(mp,8),E(Zm,8),E(Vv),E(k1e,10),E(lW),E(dt),E(nS,8))},n.\u0275dir=oe({type:n,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&t&&(al("disabled",i.disabled)("required",i.required),nn("id",i.id)("data-placeholder",i.placeholder)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required),st("mat-input-server",i._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Dt([{provide:jv,useExisting:n}]),ct,zn]}),n})(),Kb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv],imports:[[cW,Uv,On],cW,Uv]}),n})();function ur(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>Ae(function(n,e){return i=>{let r=i;for(let s=0;si.lift(new U1e(n,e,t.leading,t.trailing))}class U1e{constructor(e,t,i,r){this.duration=e,this.scheduler=t,this.leading=i,this.trailing=r}call(e,t){return t.subscribe(new H1e(e,this.duration,this.scheduler,this.leading,this.trailing))}}class H1e extends xt{constructor(e,t,i,r,s){super(e),this.duration=t,this.scheduler=i,this.leading=r,this.trailing=s,this._hasTrailingValue=!1,this._trailingValue=null}_next(e){this.throttled?this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule($1e,this.duration,{subscriber:this})),this.leading?this.destination.next(e):this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0))}_complete(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()}clearThrottle(){const e=this.throttled;e&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),e.unsubscribe(),this.remove(e),this.throttled=null)}}function $1e(n){const{subscriber:e}=n;e.clearThrottle()}var hW=ze(266);const G1e={tooltipState:tc("state",[wr("initial, void, hidden",ti({opacity:0,transform:"scale(0)"})),wr("visible",ti({transform:"scale(1)"})),Qs("* => visible",Ao("200ms cubic-bezier(0, 0, 0.2, 1)",zie([ti({opacity:0,transform:"scale(0)",offset:0}),ti({opacity:.5,transform:"scale(0.99)",offset:.5}),ti({opacity:1,transform:"scale(1)",offset:1})]))),Qs("* => hidden",Ao("100ms cubic-bezier(0, 0, 0.2, 1)",ti({opacity:0})))])},fW="tooltip-panel",pW=tm({passive:!0}),gW=new ve("mat-tooltip-scroll-strategy"),X1e={provide:gW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition({scrollThrottle:20})}},K1e=new ve("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let Q1e=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p,g){this._overlay=t,this._elementRef=i,this._scrollDispatcher=r,this._viewContainerRef=s,this._ngZone=o,this._platform=a,this._ariaDescriber=l,this._focusMonitor=c,this._dir=f,this._defaultOptions=p,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new Se,this._handleKeydown=_=>{this._isTooltipVisible()&&27===_.keyCode&&!Zs(_)&&(_.preventDefault(),_.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=d,this._document=g,p&&(p.position&&(this.position=p.position),p.touchGestures&&(this.touchGestures=p.touchGestures)),f.change.pipe(Tn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),o.runOutsideAngular(()=>{i.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var i;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(i=this._tooltipInstance)||void 0===i||i.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Tn(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([i,r])=>{t.removeEventListener(i,r,pW)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const i=this._createOverlay();this._detach(),this._portal=this._portal||new dm(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=i.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),i=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return i.positionChanges.pipe(Tn(this._destroyed)).subscribe(r=>{this._updateCurrentPositionClass(r.connectionPair),this._tooltipInstance&&r.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:i,panelClass:`${this._cssClassPrefix}-${fW}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Tn(this._destroyed)).subscribe(()=>{var r;return null===(r=this._tooltipInstance)||void 0===r?void 0:r._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const i=t.getConfig().positionStrategy,r=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset(Object.assign(Object.assign({},r.main),s.main)),this._addOffset(Object.assign(Object.assign({},r.fallback),s.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i||"below"==i?r={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={originX:"start",originY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={originX:"end",originY:"center"});const{x:s,y:o}=this._invertPosition(r.originX,r.originY);return{main:r,fallback:{originX:s,originY:o}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i?r={overlayX:"center",overlayY:"bottom"}:"below"==i?r={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={overlayX:"start",overlayY:"center"});const{x:s,y:o}=this._invertPosition(r.overlayX,r.overlayY);return{main:r,fallback:{overlayX:s,overlayY:o}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(yi(1),Tn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:i}}_updateCurrentPositionClass(t){const{overlayY:i,originX:r,originY:s}=t;let o;if(o="center"===i?this._dir&&"rtl"===this._dir.value?"end"===r?"left":"right":"start"===r?"left":"right":"bottom"===i&&"top"===s?"above":"below",o!==this._currentPosition){const a=this._overlayRef;if(a){const l=`${this._cssClassPrefix}-${fW}-`;a.removePanelClass(l+this._currentPosition),a.addPanelClass(l+o)}this._currentPosition=o}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",i],["touchcancel",i])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([i,r])=>{this._elementRef.nativeElement.addEventListener(i,r,pW)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(t.clientX,t.clientY),r=this._elementRef.nativeElement;i!==r&&!r.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const i=this._elementRef.nativeElement,r=i.style;("on"===t||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(r.userSelect=r.msUserSelect=r.webkitUserSelect=r.MozUserSelect="none"),("on"===t||!i.draggable)&&(r.webkitUserDrag="none"),r.touchAction="none",r.webkitTapHighlightColor="transparent"}}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(void 0),E(Qo),E(void 0),E(ut))},n.\u0275dir=oe({type:n,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),n})(),dc=(()=>{class n extends Q1e{constructor(t,i,r,s,o,a,l,c,d,f,p,g){super(t,i,r,s,o,a,l,c,d,f,p,g),this._tooltipComponent=eTe}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(gW),E(Qo,8),E(K1e,8),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[ct]}),n})(),J1e=(()=>{class n{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new Se}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const i=t.toState;"hidden"===i&&!this.isVisible()&&this._onHide.next(),("visible"===i||"hidden"===i)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n}),n})(),eTe=(()=>{class n extends J1e{constructor(t,i){super(t),this._breakpointObserver=i,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return n.\u0275fac=function(t){return new(t||n)(E(kn),E(XO))},n.\u0275cmp=Ne({type:n,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,i){2&t&&vf("zoom","visible"===i._visibility?1:null)},features:[ct],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,i){if(1&t&&(R(0,"div",0),ge("@state.start",function(){return i._animationStart()})("@state.done",function(s){return i._animationDone(s)}),Kt(1,"async"),De(2),k()),2&t){let r;st("mat-tooltip-handset",null==(r=rn(1,5,i._isHandset))?null:r.matches),ie("ngClass",i.tooltipClass)("@state",i._visibility),G(2),xi(i.message)}},directives:[hE],pipes:[Hc],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[G1e.tooltipState]},changeDetection:0}),n})(),hc=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[X1e],imports:[[Nie,dn,Yv,On],On,Wv]}),n})();const tTe=["sliderWrapper"],Cl=tm({passive:!1}),oTe={provide:ro,useExisting:T(()=>jk),multi:!0};class aTe{}const lTe=Hf(Uf(jf(class{constructor(n){this._elementRef=n}}),"accent"));let jk=(()=>{class n extends lTe{constructor(t,i,r,s,o,a,l,c){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this._dir=s,this._ngZone=a,this._animationMode=c,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Le,this.input=new Le,this.valueChange=new Le,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=Te.EMPTY,this._pointerDown=d=>{this.disabled||this._isSliding||!Zb(d)&&0!==d.button||this._ngZone.run(()=>{this._touchId=Zb(d)?function(n,e){for(let t=0;t{if("pointer"===this._isSliding){const f=mW(d,this._touchId);if(f){d.preventDefault();const p=this.value;this._lastPointerEvent=d,this._updateValueFromPosition(f),p!=this.value&&this._emitInputEvent()}}},this._pointerUp=d=>{"pointer"===this._isSliding&&(!Zb(d)||"number"!=typeof this._touchId||Uk(d.changedTouches,this._touchId))&&(d.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=l,this.tabIndex=parseInt(o)||0,a.runOutsideAngular(()=>{const d=t.nativeElement;d.addEventListener("mousedown",this._pointerDown,Cl),d.addEventListener("touchstart",this._pointerDown,Cl)})}get invert(){return this._invert}set invert(t){this._invert=Mt(t)}get max(){return this._max}set max(t){this._max=To(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=To(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=To(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=Mt(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?To(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let i=To(t,0);this._roundToDecimal&&i!==this.min&&i!==this.max&&(i=parseFloat(i.toFixed(this._roundToDecimal))),this._value=i,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const i=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${i})`}}_getTrackFillStyles(){const t=this.percent,r=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${r})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,a={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const l=this._shouldInvertAxis();let c;c=this.vertical?l?"Bottom":"Top":l?"Right":"Left",a[`padding${c}`]=`${this._getThumbGap()}px`}return a}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,Cl),t.removeEventListener("touchstart",this._pointerDown,Cl),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||Zs(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const i=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}i!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const i=this._document,r=Zb(t),o=r?"touchend":"mouseup";i.addEventListener(r?"touchmove":"mousemove",this._pointerMove,Cl),i.addEventListener(o,this._pointerUp,Cl),r&&i.addEventListener("touchcancel",this._pointerUp,Cl);const a=this._getWindow();void 0!==a&&a&&a.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,Cl),t.removeEventListener("mouseup",this._pointerUp,Cl),t.removeEventListener("touchmove",this._pointerMove,Cl),t.removeEventListener("touchend",this._pointerUp,Cl),t.removeEventListener("touchcancel",this._pointerUp,Cl);const i=this._getWindow();void 0!==i&&i&&i.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let o=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(o=1-o),0===o)this.value=this.min;else if(1===o)this.value=this.max;else{const a=this._calculateValue(o),l=Math.round((a-this.min)/this.step)*this.step+this.min;this.value=this._clamp(l,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,s=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=s/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let i=new aTe;return i.source=this,i.value=t,i}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,i=0,r=1){return Math.max(i,Math.min(t,r))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),E(Qo,8),Zr("tabindex"),E(dt),E(ut),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slider"]],viewQuery:function(t,i){if(1&t&&Jn(tTe,5),2&t){let r;_t(r=yt())&&(i._sliderWrapper=r.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()})("keydown",function(s){return i._onKeydown(s)})("keyup",function(){return i._onKeyup()})("mouseenter",function(){return i._onMouseenter()})("selectstart",function(s){return s.preventDefault()}),2&t&&(al("tabIndex",i.tabIndex),nn("aria-disabled",i.disabled)("aria-valuemax",i.max)("aria-valuemin",i.min)("aria-valuenow",i.value)("aria-valuetext",null==i.valueText?i.displayValue:i.valueText)("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-slider-disabled",i.disabled)("mat-slider-has-ticks",i.tickInterval)("mat-slider-horizontal",!i.vertical)("mat-slider-axis-inverted",i._shouldInvertAxis())("mat-slider-invert-mouse-coords",i._shouldInvertMouseCoords())("mat-slider-sliding",i._isSliding)("mat-slider-thumb-label-showing",i.thumbLabel)("mat-slider-vertical",i.vertical)("mat-slider-min-value",i._isMinValue())("mat-slider-hide-last-tick",i.disabled||i._isMinValue()&&i._getThumbGap()&&i._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Dt([oTe]),ct],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"div",2),tt(3,"div",3),tt(4,"div",4),k(),R(5,"div",5),tt(6,"div",6),k(),R(7,"div",7),tt(8,"div",8),tt(9,"div",9),R(10,"div",10),R(11,"span",11),De(12),k(),k(),k(),k()),2&t&&(G(3),ie("ngStyle",i._getTrackBackgroundStyles()),G(1),ie("ngStyle",i._getTrackFillStyles()),G(1),ie("ngStyle",i._getTicksContainerStyles()),G(1),ie("ngStyle",i._getTicksStyles()),G(1),ie("ngStyle",i._getThumbContainerStyles()),G(5),xi(i.displayValue))},directives:[J3],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),n})();function Zb(n){return"t"===n.type[0]}function mW(n,e){let t;return t=Zb(n)?"number"==typeof e?Uk(n.touches,e)||Uk(n.changedTouches,e):n.touches[0]||n.changedTouches[0]:n,t?{x:t.clientX,y:t.clientY}:void 0}function Uk(n,e){for(let t=0;t{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On],On]}),n})();function uTe(n,e){}class Hk{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const dTe={dialogContainer:tc("dialogContainer",[wr("void, exit",ti({opacity:0,transform:"scale(0.7)"})),wr("enter",ti({transform:"none"})),Qs("* => enter",Ao("150ms cubic-bezier(0, 0, 0.2, 1)",ti({transform:"none",opacity:1}))),Qs("* => void, * => exit",Ao("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ti({opacity:0})))])};let hTe=(()=>{class n extends uS{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new Le,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=xE(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=xE())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=xE();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(BV),E(kn),E(ut,8),E(Hk),E(Sa))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},features:[ct]}),n})(),fTe=(()=>{class n extends hTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&Qy("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(al("id",i._id),nn("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Pg("@dialogContainer",i._state))},features:[ct],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&mt(0,uTe,0,0,"ng-template",0)},directives:[Kf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[dTe.dialogContainer]}}),n})(),pTe=0;class Qm{constructor(e,t,i="mat-dialog-"+pTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new Se,this._afterClosed=new Se,this._beforeClosed=new Se,this._state=0,t._id=i,t._animationStateChanged.pipe(Fn(r=>"opened"===r.state),yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Fn(r=>"closed"===r.state),yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Fn(r=>27===r.keyCode&&!this.disableClose&&!Zs(r))).subscribe(r=>{r.preventDefault(),$k(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$k(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Fn(t=>"closing"===t.state),yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $k(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const Gk=new ve("MatDialogData"),gTe=new ve("mat-dialog-default-options"),yW=new ve("mat-dialog-scroll-strategy"),_Te={provide:yW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.block()}};let yTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=d,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Se,this._afterOpenedAtThisLevel=new Se,this._ariaHiddenElements=new Map,this.afterAllClosed=Yb(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Rr(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new Hk)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new qv({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:Hk,useValue:i}]}),o=new dm(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Ys)i.attachTemplatePortal(new Xf(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new dm(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Qo,null,At.Optional))&&o.push({provide:Qo,useValue:{value:t.direction,change:ht()}}),Nt.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Nt),E(void 0),E(void 0),E(hm),E(void 0),E(Du),E(Du),E(ve))},n.\u0275dir=oe({type:n}),n})(),_p=(()=>{class n extends yTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,Qm,fTe,Gk)}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(Nt),I(Xg,8),I(gTe,8),I(yW),I(n,12),I(hm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),bTe=0,Wk=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+bTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(E(Qm,8),E(rt),E(_p))},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&al("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),qk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();let Qb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[_p,_Te],imports:[[Yv,dS,On],On]}),n})();const Yk=new ve("CdkAccordion");let ETe=0,MTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=Te.EMPTY,this.closed=new Le,this.opened=new Le,this.destroyed=new Le,this.expandedChange=new Le,this.id="cdk-accordion-child-"+ETe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=Mt(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(E(Yk,12),E(kn),E(cS))},n.\u0275dir=oe({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Dt([{provide:Yk,useValue:void 0}])]}),n})(),xTe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const TTe=["body"];function ATe(n,e){}const DTe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],OTe=["mat-expansion-panel-header","*","mat-action-row"];function ITe(n,e){1&n&&tt(0,"span",2),2&n&&ie("@indicatorRotate",Qe()._getExpandedState())}const PTe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],RTe=["mat-panel-title","mat-panel-description","*"],Xk=new ve("MAT_ACCORDION"),bW="225ms cubic-bezier(0.4,0.0,0.2,1)",CW={indicatorRotate:tc("indicatorRotate",[wr("collapsed, void",ti({transform:"rotate(0deg)"})),wr("expanded",ti({transform:"rotate(180deg)"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))]),bodyExpansion:tc("bodyExpansion",[wr("collapsed, void",ti({height:"0px",visibility:"hidden"})),wr("expanded",ti({height:"*",visibility:"visible"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))])};let kTe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(E(Ys))},n.\u0275dir=oe({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),FTe=0;const wW=new ve("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let qM=(()=>{class n extends MTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new Le,this.afterCollapse=new Le,this._inputChanges=new Se,this._headerId="mat-expansion-panel-header-"+FTe++,this._bodyAnimationDone=new Se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(Zo((c,d)=>c.fromState===d.fromState&&c.toState===d.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=Mt(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Rr(null),Fn(()=>this.expanded&&!this._portal),yi(1)).subscribe(()=>{this._portal=new Xf(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(E(Xk,12),E(kn),E(cS),E(ns),E(ut),E(Do,8),E(wW,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&ei(r,kTe,5),2&t){let s;_t(s=yt())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&Jn(TTe,5),2&t){let r;_t(r=yt())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&st("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Dt([{provide:Xk,useValue:void 0}]),ct,zn],ngContentSelectors:OTe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(wi(DTe),Ht(0),R(1,"div",0,1),ge("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),R(3,"div",2),Ht(4,1),mt(5,ATe,0,0,"ng-template",3),k(),Ht(6,2),k()),2&t&&(G(1),ie("@bodyExpansion",i._getExpandedState())("id",i.id),nn("aria-labelledby",i._headerId),G(4),ie("cdkPortalOutlet",i._portal))},directives:[Kf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[CW.bodyExpansion]},changeDetection:0}),n})();class LTe{}const BTe=Hf(LTe);let YM=(()=>{class n extends BTe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=Te.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Fn(d=>!(!d.hideToggle&&!d.togglePosition))):ec;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Ni(t.opened,t.closed,c,t._inputChanges.pipe(Fn(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Fn(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Zs(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(E(qM,1),E(rt),E(Sa),E(kn),E(wW,8),E(Do,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&ge("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(nn("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),vf("height",i._getHeaderHeight()),st("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[ct],ngContentSelectors:RTe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(wi(PTe),R(0,"span",0),Ht(1),Ht(2,1),Ht(3,2),k(),mt(4,ITe,1,1,"span",1)),2&t&&(G(4),ie("ngIf",i._showToggle()))},directives:[zr],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[CW.indicatorRotate]},changeDetection:0}),n})(),EW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),n})(),Kk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,xTe,dS]]}),n})();var SW=ze(478);Object.create(Error.prototype);const UTe=["*"];var KM=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(KM||(KM={})),KM))();class $Te{}const xW=new ve("SECURITY_CONTEXT");let Zk=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new SW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=SW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(Ae(i=>this.handleExtension(t,i)))}highlight(t){if(Of(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Of(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Of(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Of(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(I(dl),I(xW),I(Wf,8),I($Te,8),I(th))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),TW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new Le,this.load=new Le,this.ready=new Le,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,KM.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;s{class n{static forRoot(t){return{ngModule:n,providers:[Zk,t&&t.loader||[],t&&t.markedOptions||[],{provide:xW,useValue:t&&null!=t.sanitize?t.sanitize:mn.HTML}]}}static forChild(){return{ngModule:n}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function AW(n,e,t){return t?AW(n,e).pipe(Ae(i=>we(i)?t(...i):t(i))):new ce(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Ke(e))return()=>e(r,s)})}function ZM(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new ZTe(n,t))}}class ZTe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new QTe(e,this.observables,this.project))}}class QTe extends cU{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class JTe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new eAe(e,this.accumulator,this.seed,this.hasSeed))}}class eAe extends xt{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class iAe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new rAe(e,this.predicate))}}class rAe extends xt{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const sAe=["youtubeContainer"];let IW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new Se,this._destroyed=new Se,this._playerChanges=new ar(void 0),this._videoId=new ar(void 0),this._height=new ar(390),this._width=new ar(640),this._startSeconds=new ar(void 0),this._endSeconds=new ar(void 0),this._suggestedQuality=new ar(void 0),this._playerVars=new ar(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Of(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=ht(!0);if(!window.YT||!window.YT.Player){const r=new Se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(yi(1),Rr(!1))}const i=function(n,e,t,i,r,s,o){const a=Qi([e,s]).pipe(ZM(Qi([i,r])),Ae(([l,c])=>{const[d,f]=l,[p,g]=c;return d?{videoId:d,playerVars:f,width:p,height:g}:void 0}));return Qi([n,a,ht(o)]).pipe(function(n){return Mr(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0].slice()),t=>t.lift.call(ui([t,...n]),new hU(e))}(n),function(n){return e=>e.lift(new iAe(n))}(([e,t])=>!t),Ae(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new JTe(n,e,t))}}(dAe,void 0),Zo())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Ti(r=>{this._playerChanges.next(r)}),di(e=>e?PW(e)?ht(e):new ce(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{PW(r)||r.destroy()})(e)}}).pipe(yi(1),Rr(void 0)):ht(void 0)),Tn(this._destroyed),mc(new Se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Qi([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Qi([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Qi([t,i]).pipe(Ae(([d,f])=>({startSeconds:d,endSeconds:f}))),a=o.pipe(Jk(n,d=>!!d&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(d))),l=e.pipe(Jk(n,(d,f)=>!!d&&d.videoId!==f));Ni(n.pipe(Jk(Qi([e,o]),([d,f],p)=>!(!p||d==p.videoId&&!f.startSeconds&&!f.endSeconds))),l,a).pipe(ZM(Qi([n,e,o,r])),Ae(([d,f])=>f),Tn(s)).subscribe(([d,f,p,g])=>{!f||!d||(d.videoId=f,d.cueVideoById(Object.assign({videoId:f,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Pr(i=>i?AW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):ht()),i=>new ce(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),Tn(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(dl))},n.\u0275cmp=Ne({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&Jn(sAe,5),2&t){let r;_t(r=yt())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&tt(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function dAe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function PW(n){return"getPlayerStatus"in n}function Jk(n,e){return Mr(ZM(n),Fn(([t,i])=>e(i,t)),Ae(([t])=>t))}let pAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),CAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function e0(n){return!0===n}function so(n){return null==n}function ka(n){return!so(n)}function eF(n){return Boolean(n)}function NW(n){return so(n)?n:JSON.parse(JSON.stringify(n))}const JM=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&JM(n[o])}),n};function LW(n){return ka(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const zW="NGXS_DATA_META",nF="NGXS_META",jW="NGXS_ARGUMENT_REGISTRY_META";let UW=(()=>{class n{constructor(t){this.sequence$=new ar(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(I(cu,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function t0(n){return n[zW]}let Fa=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(dt),n.factory=i,n.context=r,n.computed=t.get(UW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(I(Nt),I(B$),I(L$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Fr{constructor(){Fr.statesCachedMeta.clear()}static createStateContext(e){return Fa.context.createStateContext(e)}static ensureMappedState(e){if(so(Fa.factory)||so(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(ka(e.name)?Fr.statesCachedMeta.get(e.name):null)||Fr.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=t0(Fr.getStateClassByInstance(e)))&&void 0!==t?t:null;if(so(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=Fr.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=Fr.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=ka(e.name)?null===(t=Fa.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return ka(i)&&ka(e.name)&&Fr.statesCachedMeta.set(e.name,i),i}}Fr.statesCachedMeta=new Map,Fr.\u0275fac=function(e){return new(e||Fr)},Fr.\u0275prov=ue({token:Fr,factory:Fr.\u0275fac}),new If(1);class $Ae extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${ka(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function HW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function $W(n){var e;const t=HW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=NW(void 0===t.defaults?{}:t.defaults);if(i.length){if(LW(s))return function(n,e){return e.reduce((t,i)=>{const r=HW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=$W(i),t},null!=n?n:{})}(s,i);throw new $Ae(s)}return s}function WW(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function qW(){var n,e;return null!==(e=null===(n=null==Fa?void 0:Fa.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function YAe(n){let e=!1;return cm(n)&&(e=!0),e}function iF(n){return n[jW]}class XAe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class KAe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(eF(this.argumentMap.has(e))||eF(this.payloadMap.has(e)))throw new XAe(e,t)}}function rF(n){return Mo()?JM(n):n}function tDe(n){return{enumerable:!0,configurable:!0,get(){const e=t0(n),t=Fr.ensureMappedState(e.stateMeta);return Fr.createStateContext(t)}}}function sF(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Mo()?JM(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}function oi(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(LW(i))for(;null!==i;){if(e0(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return so(WW(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),WW(n)}(this),o=null==s?void 0:s.get(i);if(e0(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(so(o)||o.sequenceId!==qW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:qW(),isObservable:YAe(l)}),l}return o.value},t}}const oDe={cancelUncompleted:!0,insideZone:!1};function on(n=oDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=Fr.getRepositoryByInstance(a),d=c.operations;let f=d[s];const p=c.stateMeta,g=iF(r);if(so(f)){const w=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),x=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var w;return e0(n.insideZone)?null===(w=Fa.ngZone)||void 0===w||w.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),cm(l)?ht(null).pipe(Ae(()=>l)):l};const v=Fr.createAction(f,o,g),C=Fa.store.dispatch(v);return cm(l)?function(n,e){return Hv([n,e]).pipe(Ae(t=>t.pop()))}(C,l):l},i}}function Ms(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return so(iF(t))&&Object.defineProperties(t,{[jW]:{enumerable:!0,configurable:!0,value:new KAe}}),iF(t)})(e,t).createPayloadType(r,t,i)}}function xh(){return n=>{const e=function(n){if(function(n){return!eF(n)}(n.hasOwnProperty(nF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,nF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[nF]}(n)}(n);if(so(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=t0(n))&&void 0!==e?e:null;return(so(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,zW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),t0(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>NW(t)},context:tDe(n)})}(n,e,$W(n)),function(n){var e,t;const i=t0(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(ka(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(ka(this[s]))return this[s];if(so(Fa.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Fa.store.select(n).pipe(Ae(o=>Mo()?JM(o):o),qc({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}var tx=(()=>(function(n){n.ID="id"}(tx||(tx={})),tx))(),n0=(()=>(function(n){n.ASC="asc",n.DESC="desc"}(n0||(n0={})),n0))();let oF=(()=>{class n{constructor(){this.browserStorageEvents$=new Se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cDe=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})(),uDe=(()=>{class n extends oF{constructor(){super(...arguments),this.primaryKey=tx.ID,this.comparator=null}get snapshot(){return rF(this.getState())}get ids(){return this.snapshot.ids}get entities(){return this.snapshot.entities}get entitiesArray(){const t=this.snapshot;return t.ids.map(i=>t.entities[i])}get ids$(){return this.state$.pipe(Ae(t=>t.ids))}get entities$(){return this.state$.pipe(Ae(t=>t.entities))}get entitiesArray$(){return this.state$.pipe(Ae(t=>t.ids.map(i=>t.entities[i])))}get ctx(){return sF(this.context)}setComparator(t){return this.comparator=t,this}dispatch(t){return this.ctx.dispatch(t)}getState(){return this.ctx.getState()}selectId(t){var i;return null===(i=t)||void 0===i?void 0:i[this.primaryKey]}selectOne(t){var i;return null!==(i=this.snapshot.entities[t])&&void 0!==i?i:null}selectAll(){const t=this.getState();return t.ids.map(i=>t.entities[i])}reset(){this.setEntitiesState(this.initialState),this.markAsDirtyAfterReset()}addOne(t){this.addEntityOne(t)}addMany(t){this.addEntitiesMany(t)}setOne(t){this.setEntityOne(t)}setMany(t){this.setEntitiesMany(t)}setAll(t){this.setEntitiesAll(t)}updateOne(t){this.updateEntitiesMany([t])}updateMany(t){this.updateEntitiesMany(t)}upsertOne(t){this.upsertEntitiesMany([t])}upsertMany(t){this.upsertEntitiesMany(t)}removeOne(t){this.removeEntitiesMany([t])}removeMany(t){this.removeEntitiesMany(t)}removeByEntity(t){const i=this.selectId(t);this.removeEntitiesMany([i])}removeByEntities(t){const i=[];for(const r of t){const s=this.selectId(r);i.push(s)}this.removeEntitiesMany(i)}removeAll(){this.setEntitiesState(this.initialState)}sort(t){this.comparator=null!=t?t:this.comparator,so(this.comparator)?console.warn("You must set the compare function before sorting."):this.setEntitiesState(this.getState())}addEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);r in i.entities||this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}addEntitiesMany(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities||a in r||(s.push(a),r[a]=o)}s.length&&this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,...s],entities:Object.assign(Object.assign({},i.entities),r)}))}setEntitiesAll(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in r||(s.push(a),r[a]=o)}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:s,entities:r}))}setEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);this.setEntitiesState(Object.assign(Object.assign({},i),r in i.entities?{entities:Object.assign(Object.assign({},i.entities),{[r]:t})}:{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}setEntitiesMany(t){for(const i of t)this.setEntityOne(i)}updateEntitiesMany(t){const i=this.getState(),r=t.filter(a=>a.id in i.entities);if(0===r.length)return;const s=this.generateKeyMap(i),o=Object.assign({},i.entities);for(const a of r){const l=this.updateOrigin(o,a),c=this.selectIdValue(l);c!==a.id&&(delete s[a.id],delete o[a.id]),s[a.id]=c,o[c]=l}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.map(a=>{var l;return null!==(l=s[a])&&void 0!==l?l:a}),entities:o}))}upsertEntitiesMany(t){const i=this.getState(),r=[],s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities?r.push({id:a,changes:o}):s.push(o)}this.updateMany(r),this.addMany(s)}removeEntitiesMany(t){const i=this.getState(),r=this.generateKeyMap(i),s=Object.assign({},i.entities);for(const o of t)o in s&&(delete r[o],delete s[o]);this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.filter(o=>o in r),entities:s}))}setEntitiesState(t){const i=this.sortKeysByComparator(t.ids,t.entities);this.ctx.setState(Object.assign(Object.assign({},t),{ids:i,entities:t.entities}))}sortKeysByComparator(t,i){if(so(this.comparator))return t;const r=t.slice(),s=this.comparator;return"function"==typeof s?r.sort((o,a)=>s(i[o],i[a])):this.sortByComparatorOptions(r,s,i)}sortByComparatorOptions(t,i,r){switch(null==i?void 0:i.sortByOrder){case n0.ASC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?-1:0}(null==i?void 0:i.sortBy,r[s],r[o]));case n0.DESC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?-1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?1:0}(null==i?void 0:i.sortBy,r[s],r[o]));default:return Mo()&&console.warn(`Invalid --\x3e { sortByOrder: "${null==i?void 0:i.sortByOrder}" } not supported!`),t}}generateKeyMap(t){return t.ids.reduce((i,r)=>(i[r]=r,i),{})}updateOrigin(t,i){return Object.assign(Object.assign({},t[i.id]),i.changes)}selectIdValue(t){const i=this.selectId(t);return so(i)&&Mo()&&console.warn(`The entity passed to the 'selectId' implementation returned ${i}.`,"You should probably provide your own 'selectId' implementation.","The entity that was passed:",t,"The current `selectId` implementation: (entity: V): K => entity.id"),i}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"ids",null),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"entities",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"entitiesArray",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"ids$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entities$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entitiesArray$",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"addOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"addMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setMany",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setAll",null),xe([on(),ws(0,Ms("update")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"updateOne",null),xe([on(),ws(0,Ms("updates")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"updateMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"upsertOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"upsertMany",null),xe([on(),ws(0,Ms("id")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeOne",null),xe([on(),ws(0,Ms("ids")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeByEntity",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeByEntities",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"removeAll",null),xe([on(),ws(0,Ms("comparator")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"sort",null),n})(),Jm=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})();function aF(){return Fn(n=>null!=n)}const dDe={};function lF(...n){const e=n[n.length-1];let t=n,i=dDe;return"object"==typeof e&&(i=e,t=t.slice(0,-1)),r=>r.pipe(ur(...t),Zo(i.compare),qc(1))}const s_=new ve("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),IF=new ve("ngx-window",{providedIn:"root",factory:()=>function(n){return Of(n)?window:null}(Oc(dl))}),wIe=new ve("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Oc(IF))}),PF=new ve("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Oc(IF),Oc(wIe))});let xs=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Mo())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(I(s_),I(ut),I(PF))},n.\u0275prov=ue({factory:function(){return new n(I(s_),I(ut),I(PF))},token:n,providedIn:"root"}),n})();const MIe={provide:Mf,multi:!0,useFactory:function(n,e,t){return()=>yl(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(Mo()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Mo()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||Mo()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[s_,PF,ut]};new ve("ngx-google-analytics-routing-settings",{factory:()=>({})});let RF=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:s_,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},MIe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[]]}),n})(),f0=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new If(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),DIe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new Te,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(IF),I(s_))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const OIe=new ve("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),Kq=[f0,DIe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new Te;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(OIe))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})()];function PIe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let kIe=(()=>{class n{static forRoot(t){const{providers:i=[]}=RF.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[PIe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[...Kq,{provide:Mf,multi:!0,useFactory:()=>()=>{},deps:Kq}],imports:[[RF]]}),n})();class Zq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function FIe(){throw new Zq}function NIe(){throw new Zq}function kF(n,e,t){e.run(()=>n.dispatch(t))}function VIe(n,e,t,i){return Og(t)?function(n,e,t){return t.then(i=>(kF(n,e,i),i))}(n,e,t):cm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(Tn(i.cancelUncompleted$))),t.subscribe({next:r=>kF(n,e,r)}),t}(n,e,t,i):(kF(n,e,t),t)}class zIe{constructor(){this.cancelUncompleted$=new Se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const FF="\u0275fac",Qq=Symbol("InjectorInstance"),Jq=Symbol("FactoryHasBeenDecorated");function e9(n,e){const t=n[Qq];return t?t.get(e):null}const HIe={cancelUncompleted:!1};function t9(n=HIe){return(e,t,i)=>{let r;const s=function(n){return n?new zIe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=e9(this,cu)||FIe(),l=e9(this,dt)||NIe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>VIe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(Jq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[FF]&&function(n){const e=n[FF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[Qq]=E(Fc),r};t&&(t.factory=i),Object.defineProperty(n,FF,{get:()=>i})}(e),n.constructor.prototype[Jq]=!0}(e)}}let n9=(()=>{class n{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get inset(){return this._inset}set inset(t){this._inset=Mt(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,i){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),n})(),yx=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();const sPe=["input"],oPe=function(n){return{enterDuration:n}},aPe=["*"],lPe=new ve("mat-checkbox-default-options",{providedIn:"root",factory:c9});function c9(){return{color:"accent",clickAction:"check-indeterminate"}}let cPe=0;const u9=c9(),uPe={provide:ro,useExisting:T(()=>VF),multi:!0};class dPe{}const hPe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let VF=(()=>{class n extends hPe{constructor(t,i,r,s,o,a,l){super(t),this._changeDetectorRef=i,this._focusMonitor=r,this._ngZone=s,this._animationMode=a,this._options=l,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++cPe,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Le,this.indeterminateChange=new Le,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||u9,this.color=this.defaultColor=this._options.color||u9.color,this.tabIndex=parseInt(o)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=Mt(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const i=Mt(t);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const i=t!=this._indeterminate;this._indeterminate=Mt(t),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let i=this._currentCheckState,r=this._elementRef.nativeElement;if(i!==t&&(this._currentAnimationClass.length>0&&r.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){r.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{r.classList.remove(s)},1e3)})}}_emitChangeEvent(){const t=new dPe;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var i;const r=null===(i=this._options)||void 0===i?void 0:i.clickAction;t.stopPropagation(),this.disabled||"noop"===r?!this.disabled&&"noop"===r&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==r&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,i){t?this._focusMonitor.focusVia(this._inputElement,t,i):this._inputElement.nativeElement.focus(i)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,i){if("NoopAnimations"===this._animationMode)return"";let r="";switch(t){case 0:if(1===i)r="unchecked-checked";else{if(3!=i)return"";r="unchecked-indeterminate"}break;case 2:r=1===i?"unchecked-checked":"unchecked-indeterminate";break;case 1:r=2===i?"checked-unchecked":"checked-indeterminate";break;case 3:r=1===i?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${r}`}_syncIndeterminate(t){const i=this._inputElement;i&&(i.nativeElement.indeterminate=t)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Sa),E(dt),Zr("tabindex"),E(Do,8),E(lPe,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-checkbox"]],viewQuery:function(t,i){if(1&t&&(Jn(sPe,5),Jn(Js,5)),2&t){let r;_t(r=yt())&&(i._inputElement=r.first),_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",null),st("mat-checkbox-indeterminate",i.indeterminate)("mat-checkbox-checked",i.checked)("mat-checkbox-disabled",i.disabled)("mat-checkbox-label-before","before"==i.labelPosition)("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Dt([uPe]),ct],ngContentSelectors:aPe,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),R(3,"input",3,4),ge("change",function(s){return i._onInteractionEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(5,"span",5),tt(6,"span",6),k(),tt(7,"span",7),R(8,"span",8),Yt.lFrame.currentNamespace=Wn,R(9,"svg",9),tt(10,"path",10),k(),Yt.lFrame.currentNamespace=null,tt(11,"span",11),k(),k(),R(12,"span",12,13),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(14,"span",14),De(15,"\xa0"),k(),Ht(16),k(),k()),2&t){const r=vs(1),s=vs(13);nn("for",i.inputId),G(2),st("mat-checkbox-inner-container-no-side-margin",!s.textContent||!s.textContent.trim()),G(1),ie("id",i.inputId)("required",i.required)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex),nn("value",i.value)("name",i.name)("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-checked",i._getAriaChecked())("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Hg(19,oPe,"NoopAnimations"===i._animationMode?0:150))}},directives:[Js,WD],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),n})(),d9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),h9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On,SE,d9],On,d9]}),n})();const gPe=["bodyCanvas"];let mPe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Le,this.nodeDrag=new Le,this.nodeClick=new Le,this.nodeHoverStart=new Le,this.nodeHoverStop=new Le,this.initialized=new Le,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return yl(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new LMe({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&Jn(gPe,5,rt),2&t){let r;_t(r=yt())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&tt(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),_Pe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();function wPe(n,e){if(1&n&&(R(0,"li",4),De(1),Kt(2,"json"),k()),2&n){const t=e.$implicit;G(1),Aw(" ",t[0],": ",rn(2,2,t[1])," ")}}function EPe(n,e){if(1&n&&(R(0,"div",1),R(1,"div"),De(2),k(),R(3,"ul",2),mt(4,wPe,3,4,"li",3),k(),k()),2&n){const t=e.$implicit;G(2),xi(t[0]),G(2),ie("ngForOf",t[1])}}let SPe=(()=>{class n{constructor(t,i){this.clsName="ccf-store-debug",this.root={},this.subscriptions=new Te;const r=t.subscribe(s=>{this.root=s,i.markForCheck()});this.subscriptions.add(r)}get data(){return Object.entries(this.root).map(([s,o])=>[s,Object.entries(o)]).filter(([s,o])=>o.length>0)}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(cu),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-store-debug"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:1,vars:1,consts:[["class","state",4,"ngFor","ngForOf"],[1,"state"],[1,"kvlist"],["class","kvpair",4,"ngFor","ngForOf"],[1,"kvpair"]],template:function(t,i){1&t&&mt(0,EPe,5,2,"div",0),2&t&&ie("ngForOf",i.data)},directives:[pl],pipes:[tV],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),n})(),MPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();new ve("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const OPe=["carouselContainer"],IPe=["itemlist"],PPe=["itemcontainer"];function RPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",9),ge("touchstart",function(){return en(t),Qe().scroll("left")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("left")})("mousedown",function(){return en(t),Qe().scroll("left")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_left"),k()}2&n&&st("disabled",Qe().onLeft)}function kPe(n,e){if(1&n&&(R(0,"div",15),De(1),k()),2&n){const t=Qe().$implicit,i=Qe();G(1),xi(i.occurenceData[t.id]||0)}}function FPe(n,e){if(1&n){const t=Zi();R(0,"div",10),ge("click",function(){const s=en(t).$implicit;return Qe().selectOrgan(s)}),tt(1,"mat-icon",11),R(2,"div",12),R(3,"div",13),De(4),k(),mt(5,kPe,2,1,"div",14),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("disabled",t.disabled)("selected",i.isSelected(t)),G(1),Jy("svgIcon",t.src),G(3),xi(t.name),G(1),ie("ngIf",void 0!==t.numResults)}}function NPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",16),ge("touchstart",function(){return en(t),Qe().scroll("right")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("right")})("mousedown",function(){return en(t),Qe().scroll("right")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_right"),k()}2&n&&st("disabled",Qe().onRight)}const g0=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let p9=(()=>{class n{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=g0,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Le,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new hW.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:i}=this;let r=parseInt(i.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(r="right"===t?r-this.step:r+this.step,i.nativeElement.style.left=r+"px",this.setLeftRight(r))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(i=>t!==i):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:i,carouselContainer:r}=this,s=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(s);const o=this.step*Math.floor(r.nativeElement.offsetWidth/this.step)-64;i.nativeElement.style.width=`${o}px`}}setWidth(){const{itemContainer:t,carouselContainer:i}=this,r=this.step*Math.floor(i.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${r}px`}setLeftRight(t){const{itemContainer:i}=this;this.onLeft=0===t,this.onRight=t<=i.nativeElement.offsetWidth-this.organList.length*this.step}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-organ-selector"]],viewQuery:function(t,i){if(1&t&&(Jn(OPe,7),Jn(IPe,7),Jn(PPe,7)),2&t){let r;_t(r=yt())&&(i.carouselContainer=r.first),_t(r=yt())&&(i.itemList=r.first),_t(r=yt())&&(i.itemContainer=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[zn],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,i){1&t&&(R(0,"div",0,1),mt(2,RPe,2,2,"mat-icon",2),R(3,"div",3,4),R(5,"div",5,6),mt(7,FPe,6,7,"div",7),k(),k(),mt(8,NPe,2,2,"mat-icon",8),k()),2&t&&(st("expanded",i.expanded)("error",i.error),ie("matTooltipDisabled",i.multiselect),G(2),ie("ngIf",!i.expanded),G(5),ie("ngForOf",i.organList),G(1),ie("ngIf",!i.expanded))},directives:[dc,zr,pl,rs],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),n})(),g9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),LPe=(()=>{class n{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Le,this.visibilityToggle=new Le,this.opacityReset=new Le}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"mat-slider",2),ge("input",function(s){return i.changeOpacity(s.value)}),k(),R(3,"span",3),De(4),k(),k(),R(5,"div",4),R(6,"mat-icon",5),ge("click",function(){return i.toggleVisibility()}),k(),R(7,"mat-icon",6),ge("click",function(){return i.toggleVisibility()}),k(),R(8,"mat-icon",7),ge("click",function(){return i.resetOpacity()}),De(9,"refresh"),k(),k(),k()),2&t&&(G(2),st("disabled",!i.visible),ie("step",1)("min",0)("max",100)("value",i.opacity),G(2),or("",i.opacity,"%"),G(2),st("hidden",i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),st("hidden",!i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),ie("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[jk,rs,Js],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),n})(),m9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l]]}),n})();function BPe(n,e){if(1&n&&(R(0,"div",16),tt(1,"youtube-player",17),k()),2&n){const t=Qe(3);G(1),Jy("videoId",t.videoID)}}function VPe(n,e){if(1&n&&(R(0,"mat-expansion-panel",11),R(1,"mat-expansion-panel-header"),R(2,"h2",12),De(3),k(),k(),R(4,"div",13),tt(5,"markdown",14),mt(6,BPe,2,1,"div",15),k(),k()),2&n){const t=Qe(),i=t.index,r=t.$implicit;ie("expanded",0===i),G(3),xi(r.title),G(2),st("first",0===i),ie("data",r.content),G(1),ie("ngIf",0===i)}}function zPe(n,e){if(1&n&&(R(0,"div",9),mt(1,VPe,7,6,"mat-expansion-panel",10),k()),2&n){const t=e.$implicit;G(1),ie("ngIf",t)}}let _9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"h2",4),De(5),k(),R(6,"div",5),R(7,"mat-icon",6),ge("click",function(){return i.close()}),De(8,"clear"),k(),k(),k(),R(9,"mat-dialog-content",7),mt(10,zPe,2,1,"div",8),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(5),ie("ngForOf",i.documentationContents))},directives:[Wk,rs,qk,pl,zr,qM,YM,TW,IW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),jPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,Kk,pAe,XTe.forRoot({})]]}),n})(),y9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new ar({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(I(Wf))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),UPe=(()=>{class n{constructor(t,i){this.dialog=t,this.infoButtonService=i,this.infoTitle="",this.subscriptions=new Te,this.subscriptions.add(i.panelContent.subscribe(r=>{r.content.length&&this.launchInfoDialog(r)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(y9))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-icon",1),ge("click",function(){return i.onDialogButtonClick()}),De(2," info "),k(),k())},directives:[rs],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),n})(),HPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,jPe,lr,Rj]]}),n})(),$Pe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Le,this.closeClicked=new Le}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"p",4),De(5),k(),R(6,"mat-icon",5),ge("click",function(){return i.close()}),De(7,"clear"),k(),k(),tt(8,"img",6),R(9,"mat-dialog-content",7),R(10,"div",8),De(11),k(),R(12,"a",9),ge("click",function(){return i.onDialogButtonClick()}),k(),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(3),ie("src",i.imageUrl,Ud),G(3),or(" ",i.message,""),G(1),ie("text",i.callToAction))},directives:[Wk,rs,CAe,qk],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),WPe=(()=>{class n{constructor(t){this.el=t}onInputChange(t){const i=this.el.nativeElement.value;this.el.nativeElement.value=i.replace(/[^0-9]*/g,""),i!==this.el.nativeElement.value&&t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["input","ccfNumbersOnly",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i.onInputChange(s)})}}),n})(),qPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),v9=(()=>{class n{get obj(){const t=this.findGlobalObject();return Object.defineProperties(this,{obj:{configurable:!1,writable:!1,value:t}}),t}has(t){const{obj:i}=this;return null!=i&&t in i}get(t,i){var r;const{obj:s}=this;return null!==(r=s&&s[t])&&void 0!==r?r:i}set(t,i){const{obj:r}=this;r&&(r[t]=i)}remove(t){const{obj:i}=this;i&&delete i[t]}findGlobalObject(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self;try{return new Function("return this;")()}catch(t){}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Ah=(()=>{let n=class extends Jm{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(aF(),qc(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(ur(...t),Zo(),qc(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(ur(...t),Zo(),qc(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi()],n.prototype,"config$",null),n=xe([xh(),cd({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();let ZPe=(()=>{class n{constructor(t,i){t&&function(n,e){Wc(n,"mousemove").pipe(dW(1e3),Ae(r=>{const{clientWidth:s,clientHeight:o}=n,{clientX:a,clientY:l}=r;return[a,l,s,o].join("_")})).subscribe(r=>e.event("webpage","mousemove",r))}(t.body,i)}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(xs))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function QPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!0)}),De(1),k()}if(2&n){const t=Qe();G(1),or(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function JPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!1)}),De(1,"Opt out"),k()}}let eRe=(()=>{class n{constructor(t,i,r){this.consentService=i,this.data=r,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:i}=this;return"not-set"===i||("opt-in"===t?"rescinded"===i:"given"===i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(f0),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,i){1&t&&(R(0,"p"),De(1,"We log usage to improve this service."),k(),mt(2,QPe,2,1,"button",0),mt(3,JPe,2,0,"button",0)),2&t&&(G(2),ie("ngIf",i.showButton("opt-in")),G(1),ie("ngIf",i.showButton("opt-out")))},directives:[zr,lh],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),n})(),tRe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})();new Se;let zF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),jF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),UF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var HF;class sa{get length(){var e,t;return null!==(t=null===(e=sa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=sa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=sa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=sa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=sa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=sa.storage)||void 0===e||e.clear()}}sa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),sa.\u0275fac=function(e){return new(e||sa)},sa.\u0275prov=ue({token:sa,factory:sa.\u0275fac,providedIn:"root"});const w9="callToActionPopupShown";let oo=HF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(w9,`${i}`),s=HF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new jF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(Ae(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Ti(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(iRe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(w9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};oo.\u0275fac=function(e){return new(e||oo)(I(_p),I(xs),I(sa),I(y9),I(Wf))},oo.\u0275prov=ue({token:oo,factory:oo.\u0275fac}),xe([gk(zF)],oo.prototype,"learnMore",null),xe([gk(jF)],oo.prototype,"open",null),xe([gk(UF)],oo.prototype,"close",null),oo=HF=xe([cd({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],oo);let vx=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return xe([Xm([oo])],n,"title",null),xe([Xm([oo])],n,"message",null),xe([Xm([oo])],n,"callToAction",null),xe([Xm([oo])],n,"imageUrl",null),xe([Xm([oo])],n,"expirationDate",null),xe([Xm([oo])],n,"popupShown",null),n})(),iRe=(()=>{class n{constructor(){this.close=()=>new UF,this.learnMore=()=>new zF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(R(0,"ccf-call-to-action",0),ge("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),k()),2&t&&ie("infoTitle",rn(1,4,i.title$))("message",rn(2,6,i.message$))("callToAction",rn(3,8,i.callToAction$))("imageUrl",rn(4,10,i.imageUrl$))},directives:[$Pe],pipes:[Hc],styles:[""],changeDetection:0}),xe([NM(vx.title)],n.prototype,"title$",void 0),xe([NM(vx.message)],n.prototype,"message$",void 0),xe([NM(vx.callToAction)],n.prototype,"callToAction$",void 0),xe([NM(vx.imageUrl)],n.prototype,"imageUrl$",void 0),xe([t9()],n.prototype,"close",void 0),xe([t9()],n.prototype,"learnMore",void 0),n})();const oRe={initialConfig:{},parse:{},rename:{}};class aRe{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},oRe),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,d=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(d)try{i[l]=d(c)}catch(f){console.warn(`Failed to parse ${e} = ${c}`,f.message)}else i[l]=c}}let lRe=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new aRe(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=oe({type:n,features:[zn]}),n})();const cRe={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var $F;const hu={production:!0,disableDbWorker:!0,dbOptions:{ccfOwlUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf.owl",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==($F=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==$F?$F:""},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},skipUnsavedChangesConfirmation:!1,googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};var uRe=ze(815);class hRe{constructor(e){this.value=e}call(e,t){return t.subscribe(new fRe(e,this.value))}}class fRe extends xt{constructor(e,t){super(e),this.value=t}_next(e){this.destination.next(this.value)}}class gRe{constructor(e){this.notifier=e}call(e,t){return t.subscribe(new mRe(e,this.notifier))}}class mRe extends ii{constructor(e,t){super(e),this.hasValue=!1;const i=new Gr(this);this.add(i),this.innerSubscription=i;const r=co(t,i);r!==i&&(this.add(r),this.innerSubscription=r)}_next(e){this.hasValue&&super._next(e)}notifyNext(){this.hasValue=!0,this.innerSubscription&&this.innerSubscription.unsubscribe()}notifyComplete(){}}function GF(n){return"function"==typeof n}function E9(n){return void 0===n}function yRe(n,e,t){return function(r){let s=!!n;return function(n){return"function"==typeof n}(n)&&(s=n(r)),function(n,e){return GF(n)?n(e):E9(n)?e:n}(s?e:t,r)}}function vRe(n,e){return function(i){if(function(n){return null===n||E9(n)}(n)&&i)return i;if(!Array.isArray(i))return[n];const r=i.slice();let s=0;return e>0&&(s=e),r.splice(s,0,n),r}}function m0(n){return function(t){let i=null;for(const r in n){const s=n[r],o=t[r],a=GF(s)?s(o):s;a!==o&&(i||(i=Object.assign({},t)),i[r]=a)}return i||t}}let ji=class extends Jm{constructor(e){super(),this.globalConfig=e,this.user$=this.state$.pipe(ur("user")),this.registrationStarted$=this.state$.pipe(lF("registrationStarted")),this.useCancelRegistrationCallback$=this.state$.pipe(ur("useCancelRegistrationCallback")),this.registrationCallbackSet$=this.state$.pipe(ur("registrationCallbackSet"))}get skipConfirmation$(){return this.state$.pipe(lF("skipConfirmation"))}get globalSkipConfirmation$(){return this.globalConfig.getOption("skipUnsavedChangesConfirmation").pipe(Ae(e=>null!=e?e:hu.skipUnsavedChangesConfirmation),Zo())}get hasChanges$(){return this.state$.pipe(lF("hasChanges"))}ngxsOnInit(){super.ngxsOnInit(),this.globalConfig.config$.pipe(yi(1),Ti(e=>this.setState(m0({registrationCallbackSet:!!e.register,useCancelRegistrationCallback:!!e.cancelRegistration,user:yRe(!!e.user,e.user),registrationStarted:!!e.user||void 0})))).subscribe(),this.initSkipConfirmationListeners()}cancelRegistration(){const{globalConfig:{snapshot:{cancelRegistration:e}},snapshot:{useCancelRegistrationCallback:t,skipConfirmation:i}}=this;t&&(i||confirm("Changes you made may not be saved."))&&(null==e||e())}setUseCancelRegistrationCallback(e){this.ctx.patchState({useCancelRegistrationCallback:e})}setUserName(e){this.ctx.setState(m0({user:m0(e)}))}registrationStarted(){this.ctx.setState(m0({registrationStarted:!0}))}setHasChanges(){const{snapshot:{registrationStarted:e,hasChanges:t}}=this;e&&!t&&this.ctx.patchState({hasChanges:!0})}clearHasChanges(){this.ctx.patchState({hasChanges:!1})}initSkipConfirmationListeners(){const e=i=>this.patchState({skipConfirmation:i});this.globalSkipConfirmation$.pipe(Fn(i=>i)).subscribe(e),this.hasChanges$.pipe(ZM(this.globalSkipConfirmation$),Ae(([i,r])=>r||!i),Zo()).subscribe(e);const t=i=>(i.preventDefault(),i.returnValue="Changes you made may not be saved.",i.returnValue);this.skipConfirmation$.subscribe(i=>{i?removeEventListener("beforeunload",t):addEventListener("beforeunload",t)})}};ji.\u0275fac=function(e){return new(e||ji)(I(Ah))},ji.\u0275prov=ue({token:ji,factory:ji.\u0275fac}),xe([oi()],ji.prototype,"skipConfirmation$",null),xe([oi()],ji.prototype,"globalSkipConfirmation$",null),xe([oi()],ji.prototype,"hasChanges$",null),xe([on()],ji.prototype,"setUseCancelRegistrationCallback",null),xe([on()],ji.prototype,"setUserName",null),xe([on()],ji.prototype,"registrationStarted",null),xe([on()],ji.prototype,"setHasChanges",null),xe([on()],ji.prototype,"clearHasChanges",null),ji=xe([xh(),cd({name:"page",defaults:{user:{firstName:"",lastName:""},registrationStarted:!1,useCancelRegistrationCallback:!1,registrationCallbackSet:!1,skipConfirmation:!0,hasChanges:!1}})],ji);let fc=class extends Jm{constructor(e,t){super(),this.globals=e,this.globalConfig=t}ngxsOnInit(){super.ngxsOnInit(),this.getSourceDB().subscribe(e=>{this.setState(e),hu.production||this.globals.set("db",e)})}getSourceDB(){return this.globalConfig.getOption("baseHref").pipe(Ae(e=>(null!=e?e:"")+"assets/reference-organ-data.json"),Pr(e=>ui(fetch(e)).pipe(Pr(t=>t.json()),Ta(()=>ec))))}normalizePlacement(e){const i=this.snapshot.placementPatches[null==e?void 0:e.target];if(i){const r=function(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(ib),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}(new $t($t.IDENTITY),i),s={x:e.x_translation,y:e.y_translation,z:e.z_translation},[o,a,l]=r.transformAsPoint([s.x,s.y,s.z],[]),c=Object.assign(Object.assign({},e),{target:i.target});return c.x_translation=o,c.y_translation=a,c.z_translation=l,c}return e}getReferenceOrganIri(e,t,i,r){const s=this.snapshot;"KIDNEY"!==e.toUpperCase()&&(i=""),(null==r?void 0:r.sex)&&(t=r.sex);const o=[e,t,i||(null==r?void 0:r.side)].join("|").toUpperCase(),a=Object.keys(s.organIRILookup).find(l=>l.toUpperCase().endsWith(o));return a?s.organIRILookup[a]:void 0}getOrganData(e){var t,i,r;const o=this.snapshot.organSpatialEntities[e];if(!o)return;const a=null!==(t=o.label)&&void 0!==t?t:"",l=g0.find(c=>a.endsWith(c.organ));return l?{organ:l,sex:null===(i=o.sex)||void 0===i?void 0:i.toLowerCase(),side:null===(r=o.side)||void 0===r?void 0:r.toLowerCase()}:void 0}};fc.\u0275fac=function(e){return new(e||fc)(I(v9),I(Ah))},fc.\u0275prov=ue({token:fc,factory:fc.\u0275fac}),fc=xe([xh(),cd({name:"reference",defaults:{organIRILookup:{},organSpatialEntities:{},anatomicalStructures:{},extractionSets:{},sceneNodeLookup:{},simpleSceneNodeLookup:{},placementPatches:{}}})],fc);const qF=g0;let ai=class extends Jm{constructor(e,t,i){super(),this.ga=e,this.injector=t,this.globalConfig=i,this.id$=this.state$.pipe(ur("id")),this.blockSize$=this.state$.pipe(ur("blockSize")),this.rotation$=this.state$.pipe(ur("rotation")),this.position$=this.state$.pipe(ur("position")),this.slicesConfig$=this.state$.pipe(ur("slicesConfig")),this.viewType$=this.state$.pipe(ur("viewType")),this.viewSide$=this.state$.pipe(ur("viewSide")),this.organ$=this.state$.pipe(ur("organ")),this.organIri$=this.state$.pipe(ur("organIri")),this.organDimensions$=this.state$.pipe(ur("organDimensions")),this.sex$=this.state$.pipe(ur("sex")),this.side$=this.state$.pipe(ur("side")),this.showPrevious$=this.state$.pipe(ur("showPrevious")),this.extractionSites$=this.state$.pipe(ur("extractionSites")),this.anatomicalStructures$=this.state$.pipe(ur("anatomicalStructures")),this.extractionSets$=this.state$.pipe(ur("extractionSets"))}get modelChanged$(){const e=["viewType","viewSide","showPrevious"],t=Object.keys(this.initialState).filter(i=>!e.includes(i));return this.state$.pipe(dW(0,void 0,{leading:!1,trailing:!0}),Zo((i,r)=>{for(const s of t)if(i[s]!==r[s])return!1;return!0}),e=>e.lift(new hRe(void 0)))}ngxsOnInit(){super.ngxsOnInit(),this.referenceData=this.injector.get(fc),this.page=this.injector.get(ji),this.globalConfig.getOption("organ").pipe(aF(),Pr(e=>{var t,i;const r=e.name.toLowerCase(),s=e.side;let a=this.idMatches(e.ontologyId,s);return a||(a=this.nameMatches(r,s)),a?(this.ctx.patchState({organ:a,sex:null===(t=e.sex)||void 0===t?void 0:t.toLowerCase(),side:null===(i=null==a?void 0:a.side)||void 0===i?void 0:i.toLowerCase()}),this.referenceData.state$.pipe(Zg(100),yi(1),Vk(200),Ti(()=>this.onOrganIriChange()))):ec})).subscribe(),this.modelChanged$.pipe(function(n){return e=>e.lift(new gRe(n))}(this.page.registrationStarted$.pipe(Fn(e=>e),Vk(5)))).subscribe(()=>this.page.setHasChanges())}idMatches(e,t){return g0.find(i=>!(!e||i.id!==e||i.side&&i.side!==t))}nameMatches(e,t){return g0.find(i=>i.side?i.organ.toLowerCase()===e&&i.side===t:i.organ.toLowerCase()===e)}setBlockSize(e){this.ctx.patchState({blockSize:e})}setRotation(e){this.ctx.patchState({rotation:e})}setPosition(e){var t;this.ga.event("placement",`${null===(t=this.snapshot.organ)||void 0===t?void 0:t.name}_placement`,`${e.x.toFixed(1)}_${e.y.toFixed(1)}_${e.z.toFixed(1)}`),this.ctx.patchState({position:e})}setSlicesConfig(e){this.ctx.patchState({slicesConfig:e})}setViewType(e){this.ctx.patchState({viewType:e})}setViewSide(e){this.ctx.patchState({viewSide:e})}get defaultPosition(){const e=this.snapshot.organDimensions;return{x:e.x+2*this.snapshot.blockSize.x,y:e.y/2,z:e.z/2}}setOrgan(e){this.ga.event("organ_select","organ",e.name),this.ctx.patchState({organ:e}),e.side&&this.ctx.patchState({side:e.side}),this.onOrganIriChange()}setSex(e){this.ctx.patchState({sex:e}),this.onOrganIriChange()}setSide(e){this.ctx.patchState({side:e}),this.onOrganIriChange()}setShowPrevious(e){this.ctx.patchState({showPrevious:e})}setExtractionSites(e){this.ctx.patchState({extractionSites:e})}setAnatomicalStructures(e){this.ctx.patchState({anatomicalStructures:e})}setExtractionSets(e){this.ctx.patchState({extractionSets:e})}toggleRegistrationBlocksVisibility(e,t){if(this.setShowPrevious(e),e){const i=t.map(r=>{var s;return Object.assign(Object.assign({},r),{opacity:Math.min(20,null!==(s=r.opacity)&&void 0!==s?s:20)})});this.setAnatomicalStructures(i)}else this.setAnatomicalStructures(t)}onOrganIriChange(){var e,t,i,r,s;const o=this.referenceData.getReferenceOrganIri((null===(e=this.snapshot.organ)||void 0===e?void 0:e.organ)||"",this.snapshot.sex,this.snapshot.side,this.snapshot.organ),a={x:100,y:100,z:100};if((null===(t=this.snapshot.organ)||void 0===t?void 0:t.sex)&&this.ctx.patchState({sex:null===(i=this.snapshot.organ)||void 0===i?void 0:i.sex}),o){const l=this.referenceData.snapshot,c={};for(const p of l.anatomicalStructures[o]||[]){const g=null!==(r=p.representation_of)&&void 0!==r?r:p["@id"];c[g]||(c[g]={id:null!==(s=p.representation_of)&&void 0!==s?s:p["@id"],name:p.label,visible:!0,opacity:20,tooltip:p.comment})}this.ctx.patchState({anatomicalStructures:Object.values(c)});const d=(l.extractionSets[o]||[]).map(p=>({name:p.label,sites:(0,uRe.sortBy)(p.extractionSites.map(g=>({id:g["@id"],name:g.label,visible:!1,opacity:0,tooltip:g.comment})),"name")}));this.ctx.patchState({extractionSets:d}),this.ctx.patchState({extractionSites:d.length>0?d[0].sites:[]});const f=l.organSpatialEntities[o];a.x=f.x_dimension,a.y=f.y_dimension,a.z=f.z_dimension}this.ctx.patchState({organIri:o,organDimensions:a}),this.ctx.patchState({position:this.defaultPosition})}};ai.\u0275fac=function(e){return new(e||ai)(I(xs),I(Nt),I(Ah))},ai.\u0275prov=ue({token:ai,factory:ai.\u0275fac}),xe([oi()],ai.prototype,"modelChanged$",null),xe([on()],ai.prototype,"setBlockSize",null),xe([on()],ai.prototype,"setRotation",null),xe([on()],ai.prototype,"setPosition",null),xe([on()],ai.prototype,"setSlicesConfig",null),xe([on()],ai.prototype,"setViewType",null),xe([on()],ai.prototype,"setViewSide",null),xe([oi()],ai.prototype,"defaultPosition",null),xe([on()],ai.prototype,"setOrgan",null),xe([on()],ai.prototype,"setSex",null),xe([on()],ai.prototype,"setSide",null),xe([on()],ai.prototype,"setShowPrevious",null),xe([on()],ai.prototype,"setExtractionSites",null),xe([on()],ai.prototype,"setAnatomicalStructures",null),xe([on()],ai.prototype,"setExtractionSets",null),ai=xe([xh(),cd({name:"model",defaults:{id:"",label:"",organ:{src:"",name:""},organIri:"",organDimensions:{x:90,y:90,z:90},sex:"male",side:"left",blockSize:{x:10,y:10,z:10},rotation:{x:0,y:0,z:0},position:{x:0,y:0,z:0},slicesConfig:{thickness:NaN,numSlices:NaN},viewType:"register",viewSide:"anterior",showPrevious:!1,extractionSites:[],anatomicalStructures:[],extractionSets:[]}})],ai);const T9=new ve("Default theme class");let YF=(()=>{class n{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(t){const{injector:i,location:r}=t;i.get(n).initialize(r,i)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,i){this.element=t,this.injector=i,this.applyThemeClass(this.getTheme())}applyThemeClass(t,i="add"){var r;const{element:s,injector:o}=this;if(!t||!s||!o)return;const a=o.get(zc,null);if(!a)return;const l=s.nativeElement,c=null===(r=o.get(hm,null))||void 0===r?void 0:r.getContainerElement(),d="add"===i?"addClass":"removeClass";a[d](l,t),c&&a[d](c,t)}}return n.\u0275fac=function(t){return new(t||n)(I(T9,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),CRe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-name-input",this.firstNameValidator=new Sh("",[lG.required]),this.lastNameValidator=new Sh("",[lG.required]),this._name={firstName:"",lastName:""},this.nameChange=new Le}get name(){return this._name}set name(t){this._name=t,this.firstNameValidator.setValue((null==t?void 0:t.firstName)||""),this.lastNameValidator.setValue((null==t?void 0:t.lastName)||"")}updateName(t,i){const r=t.target;this.name=Object.assign(Object.assign({},this.name),{[i]:r.value}),this.ga.event("name_updated","name_input",i),this.nameChange.emit(this.name)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-name-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{name:"name"},outputs:{nameChange:"nameChange"},decls:8,vars:2,consts:[[1,"field"],[1,"text","label"],["matInput","","matTooltip","Add your first name.",1,"input",3,"value","input"],["matInput","","matTooltip","Add your last name.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"mat-form-field",0),R(1,"mat-label",1),De(2,"First Name "),k(),R(3,"input",2),ge("input",function(s){return i.updateName(s,"firstName")}),k(),k(),R(4,"mat-form-field",0),R(5,"mat-label",1),De(6,"Last Name "),k(),R(7,"input",3),ge("input",function(s){return i.updateName(s,"lastName")}),k(),k()),2&t&&(G(3),ie("value",i.firstNameValidator.value),G(4),ie("value",i.lastNameValidator.value))},directives:[am,Gf,Xb,dc],styles:["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:left;width:100%}"],changeDetection:0}),n})();const wRe=["thumbContainer"],ERe=["toggleBar"],SRe=["input"],MRe=function(n){return{enterDuration:n}},xRe=["*"],TRe=new ve("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let ARe=0;const DRe={provide:ro,useExisting:T(()=>A9),multi:!0};class ORe{constructor(e,t){this.source=e,this.checked=t}}const IRe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let A9=(()=>{class n extends IRe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++ARe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new Le,this.toggleChange=new Le,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=Mt(t)}get checked(){return this._checked}set checked(t){this._checked=Mt(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new ORe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),Zr("tabindex"),E(TRe),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(Jn(wRe,5),Jn(ERe,5),Jn(SRe,5)),2&t){let r;_t(r=yt())&&(i._thumbEl=r.first),_t(r=yt())&&(i._thumbBarEl=r.first),_t(r=yt())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),st("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Dt([DRe]),ct],ngContentSelectors:xRe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"div",2,3),R(4,"input",4,5),ge("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(6,"div",6,7),tt(8,"div",8),R(9,"div",9),tt(10,"div",10),k(),k(),k(),R(11,"span",11,12),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(13,"span",13),De(14,"\xa0"),k(),Ht(15),k(),k()),2&t){const r=vs(1),s=vs(12);nn("for",i.inputId),G(2),st("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),G(2),ie("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),nn("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(5),ie("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,MRe,i._noopAnimations?0:150))}},directives:[Js,WD],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),D9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),O9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[D9,_l,On,SE],D9,On]}),n})(),XF=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-labeled-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new Le}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.ga.event("slide_toggle_toggled","slide_toggle",this.value),this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-labeled-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=Zi();R(0,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left||o.toggle(),i.updateToggle(!0)}),De(1),k(),R(2,"mat-slide-toggle",1,2),ge("change",function(o){return i.updateToggle(!o.checked)}),k(),R(4,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left&&o.toggle(),i.updateToggle(!1)}),De(5),k()}2&t&&(st("disabled",i.disabled)("highlighted",i.left),G(1),xi(i.labels[0]),G(1),ie("disabled",i.disabled)("checked",!i.left),G(2),st("disabled",i.disabled)("highlighted",!i.left),G(1),xi(i.labels[1]))},directives:[A9],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%;cursor:not-allowed}"],changeDetection:0}),n})();const kRe=function(){return["Male","Female"]},FRe=function(n){return[n]};let NRe=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.dialogRef=r,this.clsName="ccf-registration-content",this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.organList=qF,r.disableClose=!0}setSexFromLabel(t){this.currentSex=t,this.sexSelected=!0}checkNameValid(t){this.nameValid=t.firstName.length>0&&t.lastName.length>0}organSelect(t){this.currentOrgan=t,this.organSelected=!0}registerButtonClick(t){t&&t.preventDefault(),this.organSelected&&this.nameValid&&this.closeDialog()}closeDialog(){this.model.setSex("Female"===this.currentSex?"female":"male"),this.model.setOrgan(this.currentOrgan),this.dialogRef.close(!0),this.page.registrationStarted()}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Qm))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:17,vars:18,consts:[[1,"modal"],["mat-dialog-content",""],[3,"name","nameChange"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"labels","value","valueChange"],[1,"selector-label"],[1,"selector-container"],[3,"organList","selectedOrgans","expanded","organsChanged"],["organSelector",""],["mat-button","",1,"registration-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"ccf-name-input",2),ge("nameChange",function(s){return i.page.setUserName(s),i.checkNameValid(s)}),Kt(3,"async"),k(),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),R(9,"div",6),De(10,"Select an organ"),k(),R(11,"div",7),R(12,"ccf-organ-selector",8,9),ge("organsChanged",function(s){return i.organSelect(s[0])}),Kt(14,"async"),k(),k(),k(),R(15,"button",10),ge("click",function(s){return i.registerButtonClick(s)}),De(16,"START REGISTRATION"),k(),k()),2&t&&(G(2),ie("name",rn(3,9,i.page.user$)),G(5),ie("labels",fv(15,kRe))("value",rn(8,11,i.sexByLabel$)),G(5),ie("organList",i.organList)("selectedOrgans",Hg(16,FRe,rn(14,13,i.model.organ$)))("expanded",!0),G(3),st("disabled",!i.organSelected||!i.nameValid),ie("matTooltip",i.organSelected&&i.nameValid?"":"Required: Enter first and last name, and select an organ"))},directives:[CRe,dc,XF,p9,lh],pipes:[Hc],styles:[".modal[_ngcontent-%COMP%]{padding:1rem;border-radius:4px;max-width:47rem}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}.modal[_ngcontent-%COMP%] .selector-label[_ngcontent-%COMP%]{font-weight:600;height:3rem;line-height:3rem}.modal[_ngcontent-%COMP%] .selector-container[_ngcontent-%COMP%]{margin:0 auto}.modal[_ngcontent-%COMP%] .registration-button[_ngcontent-%COMP%]{display:block;margin:2rem auto 0;transition:.6s}.modal[_ngcontent-%COMP%] .registration-button.disabled[_ngcontent-%COMP%]{pointer-events:none}"],changeDetection:0}),n})(),LRe=(()=>{class n{constructor(t,i,r){this.dialog=t,this.page=i,this.model=r,this.clsName="ccf-registration-modal"}ngOnInit(){Qi([this.page.user$,this.model.organ$]).pipe(Zg(500),yi(1),Ti(([t,i])=>{""!==t.firstName&&""!==t.lastName&&""!==i.src||this.openDialog()})).subscribe()}openDialog(){this.dialog.open(NRe,{autoFocus:!1})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(ji),E(ai))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:0,vars:0,template:function(t,i){},encapsulation:2}),n})();function BRe(n,e){1&n&&function(n,e,t){_f(n,e,t),yf()}(0)}function VRe(n,e){if(1&n){const t=Zi();R(0,"div",4),ge("click",function(){return en(t),Qe().page.cancelRegistration()}),R(1,"mat-icon",5),De(2,"chevron_left"),k(),R(3,"span",6),De(4,"BACK"),k(),k()}}function zRe(n,e){if(1&n&&(R(0,"a",7),tt(1,"div",8),k()),2&n){const t=Qe();ie("href",t.homeUrl,Ud)("matTooltip",t.logoTooltip)}}let jRe=(()=>{class n{constructor(t){this.page=t,this.clsName="ccf-header"}}return n.\u0275fac=function(t){return new(t||n)(E(ji))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-header"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{homeUrl:"homeUrl",logoTooltip:"logoTooltip"},decls:7,vars:5,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["backButton",""],["logo",""],[1,"filler"],["rel","noreferrer noopener",1,"link","home",3,"click"],[1,"icon","backbutton"],[1,"text"],["rel","noreferrer noopener","matTooltipPosition","right",1,"link","portal",3,"href","matTooltip"],["aria-hidden","false","aria-label","Reset tool",1,"logo"]],template:function(t,i){if(1&t&&(mt(0,BRe,1,0,"ng-container",0),Kt(1,"async"),mt(2,VRe,5,0,"ng-template",null,1,jw),mt(4,zRe,2,2,"ng-template",null,2,jw),tt(6,"div",3)),2&t){const r=vs(3),s=vs(5);ie("ngIf",rn(1,3,i.page.useCancelRegistrationCallback$))("ngIfThen",r)("ngIfElse",s)}},directives:[zr,rs,dc],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid}[_nghost-%COMP%] .text[_ngcontent-%COMP%]{padding:.25rem 0;height:2rem;display:flex;align-items:center;font-weight:lighter;font-size:1.5rem}[_nghost-%COMP%] .link[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;text-decoration:none;padding:.25rem 0}[_nghost-%COMP%] .home[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{transition:color .6s}[_nghost-%COMP%] .home[_ngcontent-%COMP%] .backbutton[_ngcontent-%COMP%]{font-size:2.25rem;width:2.25rem;height:2.25rem}[_nghost-%COMP%] .portal[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex}[_nghost-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}"],changeDetection:0}),n})();const I9={isolated:!0},P9=new ve("Message service configuration",{providedIn:"root",factory:()=>I9});let URe=(()=>{class n{constructor(t,i,r){this.source=t,this.channel=i,this.messages=r}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(Fn(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(Fn(i=>i.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(Fn(i=>t.includes(i.source)))}nextMessageId(){return n.counter++}}return n.counter=0,n})();const _0=(()=>{class n{constructor(t,i){this.config=t,this.parent=i,this.channel=new Se,this.messages=t.isolated||!i?this.channel.asObservable():ui([this.channel,i.messages.pipe(qj(()=>!this.channel.closed))]).pipe(uo())}ngOnDestroy(){this.channel.complete()}connect(t){return new URe(t,this.channel,this.messages)}}return n.\u0275fac=function(t){return new(t||n)(I(P9),I(n,12))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),HRe=["*"];let bx=(()=>{class n{constructor(t,i){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new Te;const r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const i=t.source.position,{opened:r,width:s,margin:o}=t.payload;return this.updateMargin(i,r,s,o),this.updateFaded(),!0}default:return!1}}updateMargin(t,i,r,s){const o=i?r+s:s;"start"===t?this.leftMargin=o:this.rightMargin=o}updateFaded(){const[t,i]=this.drawers;this.faded=!!((null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,i){2&t&&(Pg("@fadeInOut",i.faded),Rn(i.className),vf("margin-left",i.leftMargin,"px")("margin-right",i.rightMargin,"px"),st("cff-drawer-content-animations",i.animationsEnabled))},ngContentSelectors:HRe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[tc("fadeInOut",[wr("false",ti({opacity:1})),wr("true",ti({opacity:0})),Qs("false <=> true",Ao("1s"))])]},changeDetection:0}),n})();const $Re=["*"],KF={params:{width:0,margin:0,margin2:0}};class GRe{constructor(){this.initialized=!1,this.deferred=new Promise(e=>{this.resolve=e})}set(){this.initialized=!0,this.resolve()}wait(){return yl(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let ZF=(()=>{class n{constructor(t,i,r){this.element=r,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Le(!0),this.expandedChange=new Le(!0),this.stateChange=new Le(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new GRe,this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(Mt(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(Mt(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const i=t.getBoundingClientRect(),r=i.right-i.left;return 0===r?0:(this._measuredWidth=r,r)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const s=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),o=Number(s.slice(0,-2));return this._measuredMargin=o,o}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return yl(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn),E(rt))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,i){1&t&&Qy("@openClose.done",function(){return i.closeOpenDone()})("@expandCollapse.done",function(){return i.expandCollapseDone()}),2&t&&(Pg("@openClose",i.openedState)("@expandCollapse",i.expandedStateObj),Rn(i.className),st("ccf-drawer-end",i.classEnd)("ccf-drawer-opened",i.opened)("ccf-drawer-expanded",i.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:$Re,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%)}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[tc("openClose",[wr("open, open-instant",ti({transform:"none"})),wr("closed",ti({})),Qs("closed => open-instant",Ao(0)),Qs("closed <=> open, open-instant => closed",Ao(".5s ease-in-out"))]),tc("expandCollapse",[wr("collapsed",ti({})),wr("half",ti({width:"calc(50% - {{ margin }}px)"}),KF),wr("extended",ti({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),KF),wr("full",ti({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),KF),Qs("* <=> *",Ao(".5s ease-in-out"))])]},changeDetection:0}),n})();function WRe(n,e){1&n&&(R(0,"ccf-drawer-content"),Ht(1,2),k())}const qRe=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],YRe=["ccf-drawer","ccf-drawer-content","*"];function R9(n){throw new Error(`Multiple drawers in position ${n}`)}let XRe=(()=>{class n{constructor(t,i){this.cdr=i,this.className="ccf-drawer-container",this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(r=>{this.handleMessage(r)&&i.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(Rr(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(Rr(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),i=t.filter(s=>"start"===s.position),r=t.filter(s=>"end"===s.position);return i.length>1&&R9("start"),r.length>1&&R9("end"),[i[0],r[0]]}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-container"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,ZF,5),ei(r,bx,5)),2&t){let s;_t(s=yt())&&(i.drawers=s),_t(s=yt())&&(i.content1=s)}},viewQuery:function(t,i){if(1&t&&Jn(bx,5),2&t){let r;_t(r=yt())&&(i.content2=r)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.className)},exportAs:["ccfDrawerContainer"],features:[Dt([_0])],ngContentSelectors:YRe,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&(wi(qRe),Ht(0),Ht(1,1),mt(2,WRe,2,0,"ccf-drawer-content",0)),2&t&&(G(2),ie("ngIf",!i.hasWrappedContent))},directives:[zr,bx],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),n})();var Cx,KRe=ze(457),ZRe=new Uint8Array(16);function QRe(){if(!Cx&&!(Cx="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cx(ZRe)}const JRe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,tke=function(n){return"string"==typeof n&&JRe.test(n)};for(var Ls=[],QF=0;QF<256;++QF)Ls.push((QF+256).toString(16).substr(1));const ske=function(n,e,t){var i=(n=n||{}).random||(n.rng||QRe)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Ls[n[e+0]]+Ls[n[e+1]]+Ls[n[e+2]]+Ls[n[e+3]]+"-"+Ls[n[e+4]]+Ls[n[e+5]]+"-"+Ls[n[e+6]]+Ls[n[e+7]]+"-"+Ls[n[e+8]]+Ls[n[e+9]]+"-"+Ls[n[e+10]]+Ls[n[e+11]]+Ls[n[e+12]]+Ls[n[e+13]]+Ls[n[e+14]]+Ls[n[e+15]]).toLowerCase();if(!tke(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function k9(n){const e=new $t(n.transformMatrix),t=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return new Di({lowerBound:new S(...t.map((r,s)=>Math.min(r,i[s]))),upperBound:new S(...i.map((r,s)=>Math.max(r,t[s])))})}let as=class extends Jm{constructor(e){super(),this.injector=e,this.gizmo$=ht([{"@id":"http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface","@type":"SpatialSceneNode",scenegraph:"https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb",transformMatrix:new $t($t.IDENTITY).scale([2,2,2]).rotateY(ib(0)),tooltip:"Gizmo",unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!1,color:[255,255,255,255],opacity:1}])}get nodes$(){return Qi([this.placementCube$,this.referenceOrganNodes$,this.previousRegistrationNodes$,this.nodeCollisions$]).pipe(Ae(([e,t,i,r])=>[...e,...i,...t,...this.snapshot.showCollisions?r:[]]))}get rotatedNodes$(){return Qi([this.rotation$,this.nodes$]).pipe(Ae(([e,t])=>0===e?t:t.map(i=>Object.assign(Object.assign({},i),{transformMatrix:new $t($t.IDENTITY).rotateY(ib(e)).multiplyRight(i.transformMatrix)}))))}get referenceOrganNodes$(){return Qi([this.model.anatomicalStructures$,this.model.extractionSites$,this.model.organIri$]).pipe(Zg(400),Ae(([e,t,i])=>this.createSceneNodes(i,[...e,...t])))}get referenceOrganSimpleNodes$(){return Qi([this.model.anatomicalStructures$,this.model.organIri$,this.referenceData.state$]).pipe(Ae(([e,t,i])=>e.map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.simpleSceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[t]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.simpleSceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])))}get nodeCollisions$(){return Qi([this.referenceOrganSimpleNodes$,this.placementCube$]).pipe(Fn(([e,t])=>t.length>0),Ae(([e,t])=>{const i=k9(t[0]);return e.filter(r=>i.overlaps(k9(r)))}))}get previousRegistrationNodes$(){return Qi([this.model.organIri$,this.model.showPrevious$,this.registration.previousRegistrations$]).pipe(Ae(([e,t,i])=>t?i.map(r=>{const s=Array.isArray(r.placement)?r.placement[0]:r.placement;if(s.target===e){const o=this.model.snapshot.organDimensions,a=[o.x,o.y,o.z].map(l=>-l/1e3/2);return{"@id":r["@id"],"@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([s.x_translation,s.y_translation,s.z_translation].map((l,c)=>l/1e3+a[c])).rotateXYZ([s.x_rotation,s.y_rotation,s.z_rotation].map(ib)).scale([r.x_dimension,r.y_dimension,r.z_dimension].map(l=>l/1e3/2)),color:[25,118,210,200],tooltip:r.label,unpickable:!0}}}).filter(r=>!!r):[]))}get placementCube$(){return Qi([this.model.viewType$,this.model.blockSize$,this.model.rotation$,this.model.position$,this.model.organ$]).pipe(Ae(([e,t,i,r,s])=>""===s.src?[]:[this.placementCube]))}get placementCube(){const{viewType:e,blockSize:t,rotation:i,position:r,organDimensions:s}=this.model.snapshot,o=[s.x,s.y,s.z].map(a=>-a/1e3/2);return{"@id":"#DraftPlacement","@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([r.x,r.y,r.z].map((a,l)=>a/1e3+o[l])).rotateXYZ([i.x,i.y,i.z].map(ib)).scale([t.x,t.y,t.z].map(a=>a/1e3/2)),color:[255,255,0,200],tooltip:"Draft Placement",unpickable:"3d"===e}}get rotation$(){return this.model.viewSide$.pipe(Ae(e=>{let t=0;switch(e){case"left":t=-90;break;case"right":t=90;break;case"posterior":t=180}return t}))}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.registration=this.injector.get(Sr),this.referenceData=this.injector.get(fc)}createSceneNodes(e,t){const i=this.referenceData.snapshot;return t.filter(r=>r.visible&&r.opacity&&r.opacity>0).map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.sceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[e]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.sceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])}};as.\u0275fac=function(e){return new(e||as)(I(Nt))},as.\u0275prov=ue({token:as,factory:as.\u0275fac}),xe([oi()],as.prototype,"nodes$",null),xe([oi()],as.prototype,"rotatedNodes$",null),xe([oi()],as.prototype,"referenceOrganNodes$",null),xe([oi()],as.prototype,"referenceOrganSimpleNodes$",null),xe([oi()],as.prototype,"nodeCollisions$",null),xe([oi()],as.prototype,"previousRegistrationNodes$",null),xe([oi()],as.prototype,"placementCube$",null),xe([oi()],as.prototype,"placementCube",null),xe([oi()],as.prototype,"rotation$",null),as=xe([xh(),cd({name:"scene",defaults:{showCollisions:!hu.production}})],as);let ko=class extends uDe{constructor(e){super(),this.injector=e,this._latestTags=[]}get tags$(){return Qi([this.entities$,this.scene.nodeCollisions$]).pipe(Ae(([e,t])=>{const i=[],r=new Set,s=new Set;Object.entries(e).forEach(([o,a])=>{"removed"===a.type?s.add(o):(r.add(o),i.push(a))});for(const o of t){const a=o.representation_of;a&&!s.has(a)&&!r.has(a)&&(r.add(a),i.push({id:a,label:o.tooltip,type:"assigned"}))}return i}))}get latestTags(){return this._latestTags}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.scene=this.injector.get(as),this.page=this.injector.get(ji),this.tags$.subscribe(e=>{this._latestTags=e}),this.entities$.subscribe(()=>this.page.setHasChanges())}addTags(e){for(const t of e)this.addTagRaw(t)}addTag(e){this.addTagRaw(e)}removeTag(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"removed"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"removed"}))}searchExternal(e,t){const i=this.model.snapshot.anatomicalStructures.filter(r=>-1!==r.name.toLowerCase().indexOf(e.toLowerCase()));return[{totalCount:i.length,results:i.map(r=>({id:r.id,label:r.name,type:"added"})).slice(0,t)}]}addTagRaw(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"added"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"added"}))}};ko.\u0275fac=function(e){return new(e||ko)(I(Nt))},ko.\u0275prov=ue({token:ko,factory:ko.\u0275fac}),xe([oi()],ko.prototype,"tags$",null),xe([on()],ko.prototype,"addTags",null),xe([on()],ko.prototype,"addTag",null),xe([on()],ko.prototype,"removeTag",null),xe([lu.ak],ko.prototype,"searchExternal",null),ko=xe([xh(),cd({name:"tags",defaults:Object.assign({},{ids:[],entities:{}})})],ko);let Sr=class extends Jm{constructor(e,t){super(),this.injector=e,this.globalConfig=t,this.displayErrors$=this.state$.pipe(ur("displayErrors"))}get metadata$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildMetadata(e,t,i)))}get jsonld$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildJsonLd(e,t,i)))}get valid$(){return Qi([this.page.state$,this.model.state$]).pipe(Ae(()=>this.isValid))}get previousRegistrations$(){const{globalConfig:e,state$:t}=this;return Qi([t.pipe(ur("registrations")),e.getOption("fetchPreviousRegistrations").pipe(Pr(s=>{var o;return null!==(o=null==s?void 0:s())&&void 0!==o?o:[[]]}),Rr([]))]).pipe(Ae(([s,o])=>[...s,...o]))}get currentIdentifier(){return ske()}get currentDate(){return(new Date).toISOString().split("T")[0]}ngxsOnInit(){super.ngxsOnInit(),this.page=this.injector.get(ji),this.model=this.injector.get(ai),this.tags=this.injector.get(ko),this.refData=this.injector.get(fc),this.globalConfig.config$.pipe(yi(1),Ti(({useDownload:e,register:t})=>this.ctx.patchState({useRegistrationCallback:!(e||!t)}))).subscribe(),this.globalConfig.getOption("editRegistration").pipe(aF(),Ti(e=>this.editRegistration(e))).subscribe()}editRegistration(e){return yl(this,void 0,void 0,function*(){const t=this.refData.normalizePlacement(Array.isArray(e.placement)?e.placement[0]:e.placement),i=this.refData.getOrganData(t.target);this.page.setUserName({firstName:e.creator_first_name,lastName:e.creator_last_name}),i&&(this.model.setOrgan(i.organ),i.sex&&this.model.setSex(i.sex),i.side&&this.model.setSide(i.side)),this.model.setBlockSize({x:e.x_dimension,y:e.y_dimension,z:e.z_dimension}),this.model.setRotation({x:t.x_rotation,y:t.y_rotation,z:t.z_rotation}),this.model.setSlicesConfig({thickness:e.slice_thickness||NaN,numSlices:e.slice_count||NaN}),yield new Promise(s=>{setTimeout(s,1e3)}),this.model.setPosition({x:t.x_translation,y:t.y_translation,z:t.z_translation});const r=new Set(e.ccf_annotations);this.tags.addTags(this.model.snapshot.anatomicalStructures.filter(s=>r.has(s.id)).map(s=>({id:s.id,label:s.name,type:"added"}))),this.page.registrationStarted()})}setUseRegistrationCallback(e){this.ctx.patchState({useRegistrationCallback:e})}setDisplayErrors(e){this.ctx.patchState({displayErrors:e})}addRegistration(e){this.ctx.setState(m0({registrations:vRe(e)}))}isDataValid(e,t){return[e.user.firstName,e.user.lastName,t.organ.src,t.organ.name,t.organ.organ].every(r=>!!r)}get isValid(){return this.isDataValid(this.page.snapshot,this.model.snapshot)}register(e){if(!this.isValid)return;const{globalConfig:{snapshot:{register:t}},page:i,model:r,snapshot:s}=this,o=this.buildJsonLd(i.snapshot,r.snapshot,this.tags.latestTags),a=JSON.stringify(o,void 0,2);if(e||void 0===e&&s.useRegistrationCallback)null==t||t(a);else{const l=new Blob([a],{type:"application/json",endings:"native"});(0,KRe.saveAs)(l,"registration-data.json")}this.addRegistration(o),this.setDisplayErrors(!1),this.page.clearHasChanges()}buildMetadata(e,t,i){const r=[];return e.registrationCallbackSet||r.push({label:"First Name",value:e.user.firstName},{label:"Last Name",value:e.user.lastName}),r.push({label:"Reference Organ Name",value:t.organ.name},{label:"Tissue Block Dimensions (mm)",value:this.xyzTripletToString(t.blockSize)},{label:"Tissue Block Position (mm)",value:this.xyzTripletToString(t.position)},{label:"Tissue Block Rotation",value:this.xyzTripletToString(t.rotation)},{label:"Anatomical Structure Tags",value:i.map(s=>s.label).join(", ")},{label:"Time Stamp",value:this.currentDate},{label:"Alignment ID",value:this.currentIdentifier}),r}buildJsonLd(e,t,i){var r,s;return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}`,"@type":"SpatialEntity",label:t.label||void 0,creator:`${e.user.firstName} ${e.user.lastName}`,creator_first_name:e.user.firstName,creator_last_name:e.user.lastName,creation_date:this.currentDate,ccf_annotations:i.map(o=>o.id),slice_thickness:(null===(r=t.slicesConfig)||void 0===r?void 0:r.thickness)||void 0,slice_count:(null===(s=t.slicesConfig)||void 0===s?void 0:s.numSlices)||void 0,x_dimension:+t.blockSize.x.toFixed(3),y_dimension:+t.blockSize.y.toFixed(3),z_dimension:+t.blockSize.z.toFixed(3),dimension_units:"millimeter",placement:{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,"@type":"SpatialPlacement",target:t.organIri,placement_date:this.currentDate,x_scaling:1,y_scaling:1,z_scaling:1,scaling_units:"ratio",x_rotation:+t.rotation.x.toFixed(3),y_rotation:+t.rotation.y.toFixed(3),z_rotation:+t.rotation.z.toFixed(3),rotation_order:"XYZ",rotation_units:"degree",x_translation:+t.position.x.toFixed(3),y_translation:+t.position.y.toFixed(3),z_translation:+t.position.z.toFixed(3),translation_units:"millimeter"}}}xyzTripletToString(e){return`${Math.round(e.x)}, ${Math.round(e.y)}, ${Math.round(e.z)}`}};function ake(n,e){if(1&n){const t=Zi();R(0,"mat-icon",2),ge("click",function(){return en(t),Qe().setAllOpacity(20)}),De(1,"refresh"),k()}2&n&&ie("matRippleCentered",!0)("matRippleUnbounded",!0)}function lke(n,e){if(1&n){const t=Zi();R(0,"div",3),ge("mouseenter",function(){const s=en(t).$implicit;return Qe().mouseOver(s)})("mouseleave",function(){return en(t),Qe().mouseOut()}),tt(1,"mat-icon",4),R(2,"div",5),De(3),k(),R(4,"div",6),R(5,"ccf-opacity-slider",7,8),ge("opacityChange",function(r){return en(t),Qe().updateOpacity(r)})("opacityReset",function(){return en(t),Qe().resetItem()})("visibilityToggle",function(){const s=en(t).$implicit;return Qe().toggleVisibility(s)}),k(),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("selected",!!i.selection&&i.getId(0,i.selection)===i.getId(0,t)),G(1),st("fade",!t.visible),G(1),st("hidden",t.id===(null==i.selection?null:i.selection.id)),Jy("title",t.name),G(1),xi(t.name),G(1),st("hidden",t.id!==(null==i.selection?null:i.selection.id)),G(1),ie("visible",t.visible)("opacity",i.selection?null==i.selection?null:i.selection.opacity:20)}}Sr.\u0275fac=function(e){return new(e||Sr)(I(Nt),I(Ah))},Sr.\u0275prov=ue({token:Sr,factory:Sr.\u0275fac}),xe([oi()],Sr.prototype,"metadata$",null),xe([oi()],Sr.prototype,"jsonld$",null),xe([oi()],Sr.prototype,"valid$",null),xe([oi()],Sr.prototype,"previousRegistrations$",null),xe([oi()],Sr.prototype,"currentIdentifier",null),xe([oi()],Sr.prototype,"currentDate",null),xe([on()],Sr.prototype,"setUseRegistrationCallback",null),xe([on()],Sr.prototype,"setDisplayErrors",null),xe([on()],Sr.prototype,"addRegistration",null),xe([oi()],Sr.prototype,"isValid",null),Sr=xe([xh(),cd({name:"registration",defaults:{useRegistrationCallback:!1,displayErrors:!1,registrations:[]}})],Sr);let cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-menu",this.hover=new Le,this.itemsChange=new Le}toggleVisibility(t){t=Object.assign(Object.assign({},t),{visible:!t.visible}),this.selection&&t.id===this.selection.id&&(this.selection=Object.assign(Object.assign({},this.selection),{visible:t.visible})),this.ga.event("visibility_toggled","visibility_menu",""+t.id,+t.visible),this.updateOpacity(t.opacity)}mouseOver(t){this.selection=t===this.selection?void 0:t,this.hover.emit(t)}mouseOut(){this.selection=void 0,this.hover.emit(void 0)}updateOpacity(t){if(!this.selection)return;const i=Object.assign(Object.assign({},this.selection),{opacity:t});this.selection=i,this.items=this.items.map(r=>r.id===i.id?i:r),this.ga.event("opacity_update","visibility_menu",""+i.id,i.opacity),this.itemsChange.emit(this.items)}resetItem(){if(this.selection){const t=Object.assign(Object.assign({},this.selection),{opacity:20,visible:!0});this.selection=t,this.items=this.items.map(i=>i.id===t.id?t:i),this.ga.event("item_reset","visibility_menu",""+t.id),this.itemsChange.emit(this.items)}}setAllOpacity(t){this.items=this.items.map(i=>Object.assign(Object.assign({},i),{opacity:t,visible:!0})),this.ga.event("all_items_opacity_update","visibility_menu",void 0,t),this.itemsChange.emit(this.items)}getId(t,i){return i.id}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-menu"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{items:"items",selection:"selection"},outputs:{hover:"hover",itemsChange:"itemsChange"},decls:2,vars:3,consts:[["class","icon reset","matRipple","",3,"matRippleCentered","matRippleUnbounded","click",4,"ngIf"],["class","item-entry",3,"selected","mouseenter","mouseleave",4,"ngFor","ngForOf","ngForTrackBy"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"item-entry",3,"mouseenter","mouseleave"],["svgIcon","app:opacity",1,"opacity-icon"],[1,"item-name",3,"title"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider",""]],template:function(t,i){1&t&&(mt(0,ake,2,2,"mat-icon",0),mt(1,lke,7,12,"div",1)),2&t&&(ie("ngIf",i.items.length),G(1),ie("ngForOf",i.items)("ngForTrackBy",i.getId))},directives:[zr,pl,rs,Js,LPe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;margin-right:0;margin-left:0;max-height:18rem;overflow-y:auto;scrollbar-width:thin}[_nghost-%COMP%] .icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s;position:absolute;top:3rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%]{display:flex;height:2.25rem;align-items:center;flex-shrink:0;position:relative}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]{z-index:1;transition:.6s}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:.5rem;opacity:1;transition-duration:.4s;transition-timing-function:ease-in-out;transition-property:opacity;max-width:calc(100% - 2.5rem)}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:calc(100% - 2rem);transition-duration:.3s;transition-timing-function:ease-in-out;transition-property:opacity;left:2rem;position:absolute;opacity:1}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.1s;transition-timing-function:ease-in-out;transition-property:opacity}"],changeDetection:0}),n})();const uke=["*"],F9=new ve("MatChipRemove"),N9=new ve("MatChipAvatar"),L9=new ve("MatChipTrailingIcon");class dke{constructor(e){this._elementRef=e}}const hke=Hf(Uf(nc(dke),"primary"),-1);let y0=(()=>{class n extends hke{constructor(t,i,r,s,o,a,l,c){super(t),this._ngZone=i,this._changeDetectorRef=o,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new Se,this._onBlur=new Se,this.selectionChange=new Le,this.destroyed=new Le,this.removed=new Le,this._addHostClassName(),this._chipRippleTarget=a.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new oj(this,i,this._chipRippleTarget,r),this._chipRipple.setupTriggerEvents(t),this.rippleConfig=s||{},this._animationsDisabled="NoopAnimations"===l,this.tabIndex=null!=c&&parseInt(c)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(t){const i=Mt(t);i!==this._selected&&(this._selected=i,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(t){this._value=t}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(t){this._selectable=Mt(t)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get removable(){return this._removable}set removable(t){this._removable=Mt(t)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const t="mat-basic-chip",i=this._elementRef.nativeElement;i.hasAttribute(t)||i.tagName.toLowerCase()===t?i.classList.add(t):i.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(t=!1){return this._selected=!this.selected,this._dispatchSelectionChange(t),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(t){this.disabled?t.preventDefault():t.stopPropagation()}_handleKeydown(t){if(!this.disabled)switch(t.keyCode){case 46:case 8:this.remove(),t.preventDefault();break;case 32:this.selectable&&this.toggleSelected(!0),t.preventDefault()}}_blur(){this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(t=!1){this.selectionChange.emit({source:this,isUserInput:t,selected:this._selected})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(kn),E(ut),E(Do,8),Zr("tabindex"))},n.\u0275dir=oe({type:n,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(t,i,r){if(1&t&&(ei(r,N9,5),ei(r,L9,5),ei(r,F9,5)),2&t){let s;_t(s=yt())&&(i.avatar=s.first),_t(s=yt())&&(i.trailingIcon=s.first),_t(s=yt())&&(i.removeIcon=s.first)}},hostAttrs:["role","option",1,"mat-chip","mat-focus-indicator"],hostVars:14,hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i.focus()})("blur",function(){return i._blur()}),2&t&&(nn("tabindex",i.disabled?null:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString())("aria-selected",i.ariaSelected),st("mat-chip-selected",i.selected)("mat-chip-with-avatar",i.avatar)("mat-chip-with-trailing-icon",i.trailingIcon||i.removeIcon)("mat-chip-disabled",i.disabled)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[ct]}),n})(),B9=(()=>{class n{constructor(t,i){this._parentChip=t,"BUTTON"===i.nativeElement.nodeName&&i.nativeElement.setAttribute("type","button")}_handleClick(t){const i=this._parentChip;i.removable&&!i.disabled&&i.remove(),t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(y0),E(rt))},n.\u0275dir=oe({type:n,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})},features:[Dt([{provide:F9,useExisting:n}])]}),n})();const V9=new ve("mat-chips-default-options"),gke=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let mke=0;class _ke{constructor(e,t){this.source=e,this.value=t}}let z9=(()=>{class n extends gke{constructor(t,i,r,s,o,a,l){super(a,s,o,l),this._elementRef=t,this._changeDetectorRef=i,this._dir=r,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new Se,this._uid="mat-chip-list-"+mke++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(c,d)=>c===d,this._required=!1,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){var t,i;return this.multiple?(null===(t=this._selectionModel)||void 0===t?void 0:t.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get role(){return this.empty?null:"listbox"}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){this.writeValue(t),this._value=t}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this._syncChipsState()}get selectable(){return this._selectable}set selectable(t){this._selectable=Mt(t),this.chips&&this.chips.forEach(i=>i.chipListSelectable=this._selectable)}set tabIndex(t){this._userTabIndex=t,this._tabIndex=t}get chipSelectionChanges(){return Ni(...this.chips.map(t=>t.selectionChange))}get chipFocusChanges(){return Ni(...this.chips.map(t=>t._onFocus))}get chipBlurChanges(){return Ni(...this.chips.map(t=>t._onBlur))}get chipRemoveChanges(){return Ni(...this.chips.map(t=>t.destroyed))}ngAfterContentInit(){this._keyManager=new nO(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(t=>this._keyManager.withHorizontalOrientation(t)),this._keyManager.tabOut.pipe(Tn(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe(Rr(null),Tn(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new lS(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(t){this._chipInput=t,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",t.id)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}writeValue(t){this.chips&&this._setSelectionByValue(t,!1)}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this.stateChanges.next()}onContainerClick(t){this._originatesFromChip(t)||this.focus()}focus(t){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(t),this.stateChanges.next()))}_focusInput(t){this._chipInput&&this._chipInput.focus(t)}_keydown(t){const i=t.target;i&&i.classList.contains("mat-chip")&&(this._keyManager.onKeydown(t),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const t=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(t)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(t){return t>=0&&tr.deselect()),Array.isArray(t))t.forEach(r=>this._selectValue(r,i)),this._sortValues();else{const r=this._selectValue(t,i);r&&i&&this._keyManager.setActiveItem(r)}}_selectValue(t,i=!0){const r=this.chips.find(s=>null!=s.value&&this._compareWith(s.value,t));return r&&(i?r.selectViaInteraction():r.select(),this._selectionModel.select(r)),r}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(t){this._selectionModel.clear(),this.chips.forEach(i=>{i!==t&&i.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(t=>{t.selected&&this._selectionModel.select(t)}),this.stateChanges.next())}_propagateChanges(t){let i=null;i=Array.isArray(this.selected)?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.change.emit(new _ke(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(t=>{t.source.selected?this._selectionModel.select(t.source):this._selectionModel.deselect(t.source),this.multiple||this.chips.forEach(i=>{!this._selectionModel.isSelected(i)&&i.selected&&i.deselect()}),t.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(t=>{let i=this.chips.toArray().indexOf(t.chip);this._isValidIndex(i)&&this._keyManager.updateActiveItem(i),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(t=>{const i=t.chip,r=this.chips.toArray().indexOf(t.chip);this._isValidIndex(r)&&i._hasFocus&&(this._lastDestroyedChipIndex=r)})}_originatesFromChip(t){let i=t.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-chip"))return!0;i=i.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(t=>t._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(t=>{t._chipListDisabled=this._disabled,t._chipListMultiple=this.multiple})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Qo,8),E(mp,8),E(Zm,8),E(Vv),E(uc,10))},n.\u0275cmp=Ne({type:n,selectors:[["mat-chip-list"]],contentQueries:function(t,i,r){if(1&t&&ei(r,y0,5),2&t){let s;_t(s=yt())&&(i.chips=s)}},hostAttrs:[1,"mat-chip-list"],hostVars:15,hostBindings:function(t,i){1&t&&ge("focus",function(){return i.focus()})("blur",function(){return i._blur()})("keydown",function(s){return i._keydown(s)}),2&t&&(al("id",i._uid),nn("tabindex",i.disabled?null:i._tabIndex)("aria-describedby",i._ariaDescribedby||null)("aria-required",i.role?i.required:null)("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-multiselectable",i.multiple)("role",i.role)("aria-orientation",i.ariaOrientation),st("mat-chip-list-disabled",i.disabled)("mat-chip-list-invalid",i.errorState)("mat-chip-list-required",i.required))},inputs:{ariaOrientation:["aria-orientation","ariaOrientation"],multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",selectable:"selectable",tabIndex:"tabIndex",errorStateMatcher:"errorStateMatcher"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[Dt([{provide:jv,useExisting:n}]),ct],ngContentSelectors:uke,decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transform:translateZ(0);border:none;-webkit-appearance:none;-moz-appearance:none}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}._mat-animation-noopable.mat-standard-chip{transition:none;animation:none}.mat-standard-chip .mat-chip-remove.mat-icon{width:18px;height:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip:focus{outline:dotted 2px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}\n'],encapsulation:2,changeDetection:0}),n})();const bke={separatorKeyCodes:[13]};let j9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv,{provide:V9,useValue:bke}],imports:[[On]]}),n})(),Cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-toggle",this.visible=!1,this.toggleLabel="",this.disabled=!1,this.visibilityChanged=new Le}toggleVisibility(){this.visible=!this.visible,this.ga.event("visibility_toggled","visibility_toggle",""+this.visible),this.visibilityChanged.emit(this.visible)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{visible:"visible",toggleLabel:"toggleLabel",disabled:"disabled"},outputs:{visibilityChanged:"visibilityChanged"},decls:8,vars:9,consts:[[1,"toggle-div"],[1,"toggle-wrapper",3,"click"],[1,"icon-background"],["svgIcon","app:visibility_off_cube",1,"icon","block"],[1,"icon","green"],[1,"toggle-label"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-chip",1),ge("click",function(){return i.toggleVisibility()}),R(2,"div",2),tt(3,"mat-icon",3),R(4,"mat-icon",4),De(5,"done"),k(),k(),R(6,"div",5),De(7),k(),k(),k()),2&t&&(G(1),st("disabled",i.disabled),G(1),st("disabled",i.disabled),G(1),st("hidden",i.visible),G(1),st("hidden",!i.visible),G(3),xi(i.toggleLabel))},directives:[y0,rs],styles:["[_nghost-%COMP%]{height:3rem;display:flex;align-items:center}[_nghost-%COMP%] .mat-chip{padding:0!important}[_nghost-%COMP%] .mat-chip.disabled{cursor:not-allowed!important}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;padding-top:1.5rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%]{-webkit-user-select:none;-moz-user-select:none;display:flex;padding-left:.5rem;cursor:pointer;align-items:center;position:relative;border-width:.075rem;border-style:solid;height:2.25rem;border-radius:1.5rem;transition:background-color .2s ease-in-out}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%]{border-radius:1.5rem;height:2.06rem;width:2.06rem;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{transition:.6s;position:absolute}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.block[_ngcontent-%COMP%]{width:1.125rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .toggle-label[_ngcontent-%COMP%]{font-weight:bold;margin-left:.5rem;padding-right:1.25rem;padding-left:.25rem}"],changeDetection:0}),n})();const wke=["fileInput"];let Eke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-json-file-reader",this.label="Upload",this.parsedJson=new Le}triggerFileInput(){this.fileInput.nativeElement.click()}handleFile(t){const i=t.target;if(!i.files)return;const r=i.files[0],s=new FileReader;s.onload=()=>{const o=JSON.parse(s.result);this.ga.event("json_file_load_end","json_file_reader"),this.parsedJson.emit(o)},this.ga.event("json_file_load_start","json_file_reader"),s.readAsText(r)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-json-file-reader"]],viewQuery:function(t,i){if(1&t&&Jn(wke,5),2&t){let r;_t(r=yt())&&(i.fileInput=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{label:"label"},outputs:{parsedJson:"parsedJson"},decls:4,vars:1,consts:[["mat-button","",1,"upload-button",3,"click"],["type","file","accept","application/JSON","name","fileInput","id","fileInput",2,"display","none",3,"change"],["fileInput",""]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(){return i.triggerFileInput()}),De(1),k(),R(2,"input",1,2),ge("change",function(s){return i.handleFile(s)}),k()),2&t&&(G(1),xi(i.label))},directives:[lh],styles:["[_nghost-%COMP%] .upload-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;cursor:pointer;font-weight:500}"]}),n})(),Ske=(()=>{class n{constructor(){this.clsName="ccf-details-label",this.details=[]}arrayToString(t){return t.join(", ")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-details-label"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{details:"details"},decls:1,vars:1,template:function(t,i){1&t&&De(0),2&t&&xi(i.arrayToString(i.details))},styles:["[_nghost-%COMP%]{display:block;height:2.25rem}"],changeDetection:0}),n})();const Mke=["trigger"],xke=["panel"];function Tke(n,e){if(1&n&&(R(0,"span",8),De(1),k()),2&n){const t=Qe();G(1),xi(t.placeholder)}}function Ake(n,e){if(1&n&&(R(0,"span",12),De(1),k()),2&n){const t=Qe(2);G(1),xi(t.triggerValue)}}function Dke(n,e){1&n&&Ht(0,0,["*ngSwitchCase","true"])}function Oke(n,e){1&n&&(R(0,"span",9),mt(1,Ake,2,1,"span",10),mt(2,Dke,1,0,"ng-content",11),k()),2&n&&(ie("ngSwitch",!!Qe().customTrigger),G(2),ie("ngSwitchCase",!0))}function Ike(n,e){if(1&n){const t=Zi();R(0,"div",13),R(1,"div",14,15),ge("@transformPanel.done",function(r){return en(t),Qe()._panelDoneAnimatingStream.next(r.toState)})("keydown",function(r){return en(t),Qe()._handleKeydown(r)}),Ht(3,1),k(),k()}if(2&n){const t=Qe();ie("@transformPanelWrap",void 0),G(1),function(n,e,t){Gl(yo,Vc,Cg(Oe(),n,e,t),!0)}("mat-select-panel ",t._getPanelTheme(),""),vf("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),ie("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),nn("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const Pke=[[["mat-select-trigger"]],"*"],Rke=["mat-select-trigger","*"],U9={transformPanelWrap:tc("transformPanelWrap",[Qs("* => void",Uie("@transformPanel",[jie()],{optional:!0}))]),transformPanel:tc("transformPanel",[wr("void",ti({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),wr("showing",ti({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),wr("showing-multiple",ti({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Qs("void => *",Ao("120ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void",Ao("100ms 25ms linear",ti({opacity:0})))])};let H9=0;const G9=new ve("mat-select-scroll-strategy"),Lke=new ve("MAT_SELECT_CONFIG"),Bke={provide:G9,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};class Vke{constructor(e,t){this.source=e,this.value=t}}const zke=nc(Hf(jf(FO(class{constructor(n,e,t,i,r){this._elementRef=n,this._defaultErrorStateMatcher=e,this._parentForm=t,this._parentFormGroup=i,this.ngControl=r}})))),W9=new ve("MatSelectTrigger");let jke=(()=>{class n extends zke{constructor(t,i,r,s,o,a,l,c,d,f,p,g,_,y){var v,C,w;super(o,s,l,c,f),this._viewportRuler=t,this._changeDetectorRef=i,this._ngZone=r,this._dir=a,this._parentFormField=d,this._liveAnnouncer=_,this._defaultOptions=y,this._panelOpen=!1,this._compareWith=(x,N)=>x===N,this._uid="mat-select-"+H9++,this._triggerAriaLabelledBy=null,this._destroy=new Se,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+H9++,this._panelDoneAnimatingStream=new Se,this._overlayPanelClass=(null===(v=this._defaultOptions)||void 0===v?void 0:v.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(w=null===(C=this._defaultOptions)||void 0===C?void 0:C.disableOptionCentering)&&void 0!==w&&w,this.ariaLabel="",this.optionSelectionChanges=Yb(()=>{const x=this.options;return x?x.changes.pipe(Rr(x),Pr(()=>Ni(...x.map(N=>N.onSelectionChange)))):this._ngZone.onStable.pipe(yi(1),Pr(()=>this.optionSelectionChanges))}),this.openedChange=new Le,this._openedStream=this.openedChange.pipe(Fn(x=>x),Ae(()=>{})),this._closedStream=this.openedChange.pipe(Fn(x=>!x),Ae(()=>{})),this.selectionChange=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._scrollStrategyFactory=g,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(p)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=Mt(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=To(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new lS(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Zo(),Tn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(Tn(this._destroy)).subscribe(t=>{t.added.forEach(i=>i.select()),t.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Rr(null),Tn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?i.setAttribute("aria-labelledby",t):i.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const i=t.keyCode,r=40===i||38===i||37===i||39===i,s=13===i||32===i,o=this._keyManager;if(!o.isTyping()&&s&&!Zs(t)||(this.multiple||t.altKey)&&r)t.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;o.onKeydown(t);const l=this.selected;l&&a!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(t){const i=this._keyManager,r=t.keyCode,s=40===r||38===r,o=i.isTyping();if(s&&t.altKey)t.preventDefault(),this.close();else if(o||13!==r&&32!==r||!i.activeItem||Zs(t))if(!o&&this._multiple&&65===r&&t.ctrlKey){t.preventDefault();const a=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(a?l.select():l.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(t),this._multiple&&s&&t.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else t.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(yi(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(i=>this._selectValue(i)),this._sortValues();else{const i=this._selectValue(t);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const i=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return null!=r.value&&this._compareWith(r.value,t)}catch(s){return!1}});return i&&this._selectionModel.select(i),i}_initKeyManager(){this._keyManager=new kV(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(Tn(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Ni(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Tn(t)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Ni(...this.options.map(i=>i._stateChanges)).pipe(Tn(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,i){const r=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(r!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),i&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),i&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),r!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((i,r)=>this.sortComparator?this.sortComparator(i,r,t):t.indexOf(i)-t.indexOf(r)),this.stateChanges.next()}}_propagateChanges(t){let i=null;i=this.multiple?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(i?i+" ":"")+this.ariaLabelledby:i}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let r=(i?i+" ":"")+this._valueId;return this.ariaLabelledby&&(r+=" "+this.ariaLabelledby),r}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return n.\u0275fac=function(t){return new(t||n)(E(Yf),E(kn),E(dt),E(Vv),E(rt),E(Qo,8),E(mp,8),E(Zm,8),E(nS,8),E(uc,10),Zr("tabindex"),E(G9),E(DE),E(Lke,8))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&(Jn(Mke,5),Jn(xke,5),Jn(sU,5)),2&t){let r;_t(r=yt())&&(i.trigger=r.first),_t(r=yt())&&(i.panel=r.first),_t(r=yt())&&(i._overlayDir=r.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[ct,zn]}),n})(),Uke=(()=>{class n extends jke{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,i,r){const s=this._getItemHeight();return Math.min(Math.max(0,s*t-i+s/2),r)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const i=BO(t,this.options,this.optionGroups),r=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===i?0:function(n,e,t,i){return nt+i?Math.max(0,n-i+e):t}((t+i)*r,r,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new Vke(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),r=this._isRtl(),s=this.multiple?56:32;let o;if(this.multiple)o=40;else if(this.disableOptionCentering)o=16;else{let c=this._selectionModel.selected[0]||this.options.first;o=c&&c.group?32:16}r||(o*=-1);const a=0-(t.left+o-(r?s:0)),l=t.right+o-i.width+(r?0:s);a>0?o+=a+8:l>0&&(o-=l+8),this._overlayDir.offsetX=Math.round(o),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,i,r){const s=this._getItemHeight(),o=(s-this._triggerRect.height)/2,a=Math.floor(256/s);let l;return this.disableOptionCentering?0:(l=0===this._scrollTop?t*s:this._scrollTop===r?(t-(this._getItemCount()-a))*s+(s-(this._getItemCount()*s-256)%s):i-s/2,Math.round(-1*l-o))}_checkOverlayWithinViewport(t){const i=this._getItemHeight(),r=this._viewportRuler.getViewportSize(),s=this._triggerRect.top-8,o=r.height-this._triggerRect.bottom-8,a=Math.abs(this._offsetY),c=Math.min(this._getItemCount()*i,256)-a-this._triggerRect.height;c>o?this._adjustPanelUp(c,o):a>s?this._adjustPanelDown(a,s,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,i){const r=Math.round(t-i);this._scrollTop-=r,this._offsetY-=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,i,r){const s=Math.round(t-i);if(this._scrollTop+=s,this._offsetY+=s,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=r)return this._scrollTop=r,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),i=this._getItemCount(),r=Math.min(i*t,256),o=i*t-r;let a;a=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),a+=BO(a,this.options,this.optionGroups);const l=r/2;this._scrollTop=this._calculateOverlayScroll(a,l,o),this._offsetY=this._calculateOverlayOffsetY(a,l,o),this._checkOverlayWithinViewport(o)}_getOriginBasedOnOption(){const t=this._getItemHeight(),i=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-i+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-select"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,W9,5),ei(r,eS,5),ei(r,JE,5)),2&t){let s;_t(s=yt())&&(i.customTrigger=s.first),_t(s=yt())&&(i.options=s),_t(s=yt())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&t&&(nn("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-describedby",i._ariaDescribedby||null)("aria-activedescendant",i._getAriaActiveDescendant()),st("mat-select-disabled",i.disabled)("mat-select-invalid",i.errorState)("mat-select-required",i.required)("mat-select-empty",i.empty)("mat-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Dt([{provide:jv,useExisting:n},{provide:QE,useExisting:n}]),ct],ngContentSelectors:Rke,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,i){if(1&t&&(wi(Pke),R(0,"div",0,1),ge("click",function(){return i.toggle()}),R(3,"div",2),mt(4,Tke,2,1,"span",3),mt(5,Oke,3,2,"span",4),k(),R(6,"div",5),tt(7,"div",6),k(),k(),mt(8,Ike,4,14,"ng-template",7),ge("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&t){const r=vs(1);nn("aria-owns",i.panelOpen?i.id+"-panel":null),G(3),ie("ngSwitch",i.empty),nn("id",i._valueId),G(1),ie("ngSwitchCase",!0),G(1),ie("ngSwitchCase",!1),G(3),ie("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",r)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayMinWidth",null==i._triggerRect?null:i._triggerRect.width)("cdkConnectedOverlayOffsetY",i._offsetY)}},directives:[Pae,Av,ID,sU,Z3,hE],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[U9.transformPanelWrap,U9.transformPanel]},changeDetection:0}),n})(),q9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Bke],imports:[[dn,Yv,tS,On],Wv,Uv,tS,On]}),n})();function Hke(n,e){if(1&n&&(R(0,"mat-option",5),De(1),k()),2&n){const t=e.$implicit;ie("value",t),G(1),Aw(" ",t.name," (",t.sites.length,") ")}}function $ke(n,e){if(1&n){const t=Zi();R(0,"mat-form-field",1),R(1,"mat-label",2),De(2,"Landmark Set"),k(),R(3,"mat-select",3),ge("selectionChange",function(r){return en(t),Qe().extractionSetChanged(r.value)}),mt(4,Hke,2,3,"mat-option",4),k(),k()}if(2&n){const t=Qe();G(3),ie("value",t.sets[0]),G(1),ie("ngForOf",t.sets)}}let Gke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-extraction-set-dropdown",this.setChange=new Le}extractionSetChanged(t){this.selected=t,this.ga.event("selected_extraction_set_change","extraction_set_dropdown",t.name),this.setChange.emit(t)}isMultiple(){return this.sets.length>1}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-extraction-set-dropdown"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{sets:"sets"},outputs:{setChange:"setChange"},decls:1,vars:1,consts:[["class","dropdown-form-field","appearance","fill",4,"ngIf"],["appearance","fill",1,"dropdown-form-field"],[1,"extraction-dropdown-label"],["disableOptionCentering","true","panelClass","extraction-set-panel",3,"value","selectionChange"],["class","extraction-set-options",3,"value",4,"ngFor","ngForOf"],[1,"extraction-set-options",3,"value"]],template:function(t,i){1&t&&mt(0,$ke,5,2,"mat-form-field",0),2&t&&ie("ngIf",i.isMultiple())},directives:[zr,am,Gf,Uke,pl,eS],styles:[".extraction-set-panel{box-shadow:0 0 .3rem .1rem #9e9e9e;position:absolute;top:-1rem;left:1rem;width:10.5rem} .extraction-set-panel .extraction-set-options{height:2.5rem!important} .extraction-set-panel .extraction-set-options:first-child{margin-top:.5rem} .extraction-set-panel .extraction-set-options:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .mat-form-field{width:10.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper{padding-bottom:.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding:0}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-underline{bottom:.75rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:none} .cdk-overlay-pane{min-width:0rem!important}"],changeDetection:0}),n})();function Wke(n,e){if(1&n&&(_f(0),tt(1,"ccf-details-label",19),Kt(2,"async"),yf()),2&n){const t=Qe();G(1),ie("details",rn(2,1,t.detailsLabels$))}}function qke(n,e){if(1&n){const t=Zi();R(0,"div",9),R(1,"ccf-extraction-set-dropdown",20,21),ge("setChange",function(r){return en(t),Qe().model.setExtractionSites(r.sites)}),Kt(3,"async"),k(),R(4,"ccf-visibility-menu",22),ge("itemsChange",function(r){return en(t),Qe().model.setExtractionSites(r)})("hover",function(r){return en(t),Qe().updateExtractionSiteTooltip(r)}),Kt(5,"async"),k(),k()}if(2&n){const t=Qe();G(1),ie("sets",rn(3,2,t.model.extractionSets$)),G(3),ie("items",rn(5,4,t.model.extractionSites$))}}function Yke(n,e){if(1&n&&(R(0,"div",23),De(1),k()),2&n){const t=Qe();G(1),or(" ",t.extractionSiteTooltip," ")}}const Xke=function(){return["Male","Female"]};let Kke=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.registration=r,this.clsName="ccf-left-sidebar",this.disableSlider=!1,this.modalClosed=!1,this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.sideByLabel$=this.model.side$.pipe(Ae(s=>"left"===s?"L":"R")),this.organSelected$=this.model.organ$.pipe(Ae(s=>void 0!==s)),this.detailsLabels$=Qi([this.model.organ$,this.model.side$,this.model.sex$]).pipe(Ae(([s,o,a])=>[null==s?void 0:s.name,o,a])),this.extractionSiteTooltip="",this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures],this.organList=qF}updateExtractionSiteTooltip(t){this.extractionSiteTooltip=(null==t?void 0:t.tooltip)?t.tooltip:""}setSexFromLabel(t){this.model.setSex("Female"===t?"female":"male")}setSideFromLabel(t){this.model.setSide("L"===t?"left":"right")}togglePreviousRegistrationBlocks(t){t&&(this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures]),this.model.toggleRegistrationBlocksVisibility(t,this.previousVisibilityItems)}updateRegistration(t){this.registration.editRegistration(t)}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Sr))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-left-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{disableSlider:"disableSlider",modalClosed:"modalClosed"},decls:31,vars:22,consts:[[1,"scroll-wrapper"],[1,"container"],[4,"ngIf"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"disabled","labels","value","valueChange"],[1,"anatomical-structures-menu",3,"expanded"],[1,"expansion-header"],["matTooltip","Use opacity icons to change visibility of anatomical structures",1,"expansion-title"],[1,"expansion-content"],[3,"items","itemsChange"],[1,"extraction-menu",3,"expanded"],["matTooltip","Some organs have predefined landmarks to guide manual tissue registration--you can turn these on/off.",1,"expansion-title"],["class","expansion-content",4,"ngIf"],["toggleLabel","Previously Registered Blocks","matTooltip","If you previously registered tissue blocks, you can turn their positions on/off.",3,"visible","disabled","visibilityChanged"],[1,"space"],["class","extraction-site-tooltip mat-elevation-z8",4,"ngIf"],[1,"filler"],["label","UPLOAD PREVIOUS REGISTRATION DATA",3,"parsedJson"],[3,"details"],[3,"sets","setChange"],["dropdown",""],[3,"items","itemsChange","hover"],[1,"extraction-site-tooltip","mat-elevation-z8"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),mt(2,Wke,3,3,"ng-container",2),Kt(3,"async"),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),tt(9,"mat-divider"),R(10,"mat-expansion-panel",6),R(11,"mat-expansion-panel-header",7),R(12,"mat-panel-title",8),De(13,"Anatomical Structures"),k(),k(),R(14,"div",9),R(15,"ccf-visibility-menu",10),ge("itemsChange",function(s){return i.model.setAnatomicalStructures(s)}),Kt(16,"async"),k(),k(),k(),tt(17,"mat-divider"),R(18,"mat-expansion-panel",11),R(19,"mat-expansion-panel-header",7),R(20,"mat-panel-title",12),De(21,"Landmarks"),k(),k(),mt(22,qke,6,6,"div",13),Kt(23,"async"),k(),tt(24,"mat-divider"),R(25,"ccf-visibility-toggle",14),ge("visibilityChanged",function(s){return i.togglePreviousRegistrationBlocks(s)}),Kt(26,"async"),k(),tt(27,"div",15),mt(28,Yke,2,1,"div",16),tt(29,"div",17),R(30,"ccf-json-file-reader",18),ge("parsedJson",function(s){return i.updateRegistration(s)}),k(),k(),k()),2&t&&(G(2),ie("ngIf",rn(3,11,i.page.registrationCallbackSet$)),G(5),ie("disabled",i.disableSlider)("labels",fv(21,Xke))("value",rn(8,13,i.sexByLabel$)),G(3),ie("expanded",i.modalClosed),G(5),ie("items",rn(16,15,i.model.anatomicalStructures$)),G(3),ie("expanded",i.modalClosed),G(4),ie("ngIf",rn(23,17,i.organSelected$)),G(3),ie("visible",rn(26,19,i.model.showPrevious$))("disabled",i.disableSlider),G(3),ie("ngIf",i.extractionSiteTooltip.length>0))},directives:[zr,dc,XF,n9,qM,YM,EW,cke,Cke,Eke,Ske,Gke],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{overflow-y:scroll;height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-left:1.5rem;margin-right:.375rem;min-height:100%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .space[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .ccf-organ-selector[_ngcontent-%COMP%]{margin-top:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%] .expansion-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header{-webkit-user-select:none;-moz-user-select:none;padding:0;font-weight:bold;height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator{display:flex;align-items:center;justify-content:center;height:24px;width:24px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%]{margin-bottom:.75rem;text-align:center;margin-top:2.25rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%]{width:100%;font-size:.9rem;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-site-tooltip[_ngcontent-%COMP%]{position:absolute;top:4rem;left:27rem;width:21rem;padding:1rem;border-radius:.5rem;border:1px solid;z-index:2}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})(),Zke=(()=>{class n{constructor(t,i,r){this.drawer=t,this.cdr=r,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new Te;const s=i.connect(this);this.subscriptions.add(s.getMessagesFromSource(t).subscribe(o=>{this.handleMessage(o)&&r.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",i="arrow_left";return"end"===this.position&&([t,i]=[i,t]),this.opened?i:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:i,expanded:r}=t;i?r?t.closeExpanded():t.close():t.open()}}return n.\u0275fac=function(t){return new(t||n)(E(ZF),E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,i){2&t&&(Rn(i.className),st("ccf-drawer-toggle-button-end",i.classEnd))},decls:4,vars:4,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,i){1&t&&(R(0,"mat-icon",0),ge("click",function(){return i.toggle()}),De(1," arrow_right\n"),k(),R(2,"mat-icon",0),ge("click",function(){return i.toggle()}),De(3," arrow_left\n"),k()),2&t&&(st("hidden","arrow_left"===i.icon),G(2),st("hidden","arrow_right"===i.icon))},directives:[rs],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;transition:.25s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:absolute;right:0rem;transition:.6s;padding-left:.15rem}[_nghost-%COMP%] .expand-collapse-icon.hidden[_ngcontent-%COMP%]{opacity:0}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}.mat-icon[_ngcontent-%COMP%]{right:.3rem;top:.675rem;padding-top:.05rem}"],changeDetection:0}),n})();const Y9={x:10,y:10,z:10};let Qke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-block-size-input",this.blockSize=Y9,this.blockSizeChange=new Le}updateBlockSizes(t,i){const r=t.target;this.blockSize=Object.assign(Object.assign({},this.blockSize),{[i]:+r.value}),this.ga.event("block_size_change","block_size_input",i,this.blockSize[i]),this.blockSizeChange.emit(this.blockSize)}refreshBlockSize(){this.blockSize=Y9,this.ga.event("block_size_reset","block_size_input"),this.blockSizeChange.emit(this.blockSize)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-block-size-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{blockSize:"blockSize"},outputs:{blockSizeChange:"blockSizeChange"},decls:19,vars:5,consts:[["matTooltip","Set the tissue block width, height and depth (dimensions)",1,"header"],[1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"size-inputs"],["floatLabel","always",1,"field"],[1,"text","label"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block width.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block height.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block depth.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Dimensions (mm)"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshBlockSize()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Width (X)"),k(),R(10,"input",7),ge("input",function(s){return i.updateBlockSizes(s,"x")}),k(),k(),R(11,"mat-form-field",5),R(12,"mat-label",6),De(13,"Height (Y)"),k(),R(14,"input",8),ge("input",function(s){return i.updateBlockSizes(s,"y")}),k(),k(),R(15,"mat-form-field",5),R(16,"mat-label",6),De(17,"Depth (Z)"),k(),R(18,"input",9),ge("input",function(s){return i.updateBlockSizes(s,"z")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.blockSize.x),G(4),ie("value",i.blockSize.y),G(4),ie("value",i.blockSize.z))},directives:[dc,rs,Js,am,Gf,Xb],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;height:1.5rem;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const X9={thickness:NaN,numSlices:NaN};let Jke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-slices-input",this.slicesConfig=X9,this.slicesConfigChange=new Le}get hasThicknessValue(){return!isNaN(this.slicesConfig.thickness)}updateSlicesData(t,i){const{value:r}=t.target;this.slicesConfig=Object.assign(Object.assign({},this.slicesConfig),{[i]:""!==r?+r:NaN}),this.ga.event("slice_config_update","slice_input",i,this.slicesConfig[i]),this.slicesConfigChange.emit(this.slicesConfig)}refreshSlices(){this.slicesConfig=X9,this.ga.event("slice_config_reset","slice_input"),this.slicesConfigChange.emit(this.slicesConfig)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-slices-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{slicesConfig:"slicesConfig"},outputs:{slicesConfigChange:"slicesConfigChange"},decls:17,vars:6,consts:[[1,"header"],["matTooltip","\u201cAdd thickness of tissue sections and the total number of sections",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slices-inputs"],[1,"field"],[1,"text","label"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter thickness of tissue sections",1,"input",3,"value","input"],["matSuffix","",1,"suffix"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter total number of sections",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Sections"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshSlices()}),De(5," refresh "),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Thickness"),k(),R(10,"input",7),ge("input",function(s){return i.updateSlicesData(s,"thickness")}),k(),R(11,"div",8),De(12,"\u03bcm"),k(),k(),R(13,"mat-form-field",5),R(14,"mat-label",6),De(15,"# Sections"),k(),R(16,"input",9),ge("input",function(s){return i.updateSlicesData(s,"numSlices")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.slicesConfig.thickness),G(1),st("show",i.hasThicknessValue),G(5),ie("value",i.slicesConfig.numSlices))},directives:[dc,rs,Js,am,Gf,Xb,WPe,VO],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field.mat-focused[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%], [_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix.show[_ngcontent-%COMP%]{display:initial}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const K9={x:0,y:0,z:0};let eFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-rotation-slider",this.rotation=K9,this.rotationChange=new Le}changeRotation(t,i){this.rotation=Object.assign(Object.assign({},this.rotation),{[i]:+t}),this.ga.event("rotation_update","rotation_slider",i,+t),this.rotationChange.emit(this.rotation)}resetRotation(){this.rotation=K9,this.ga.event("rotation_reset","rotation_slider"),this.rotationChange.emit(this.rotation)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-rotation-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{rotation:"rotation"},outputs:{rotationChange:"rotationChange"},decls:27,vars:23,consts:[[1,"header"],["matTooltip","Use sliders below to rotate tissue block for registration",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slider-box","red"],[1,"text","label"],[1,"slider-container"],[1,"slider",3,"max","min","step","thumbLabel","tickInterval","value","input"],[1,"text","value"],[1,"slider-box","green"],[1,"slider-box","blue"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Rotation"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.resetRotation()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"span",5),De(8,"X"),k(),R(9,"div",6),R(10,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"x")}),k(),k(),R(11,"span",8),De(12),k(),k(),R(13,"div",9),R(14,"span",5),De(15,"Y"),k(),R(16,"div",6),R(17,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"y")}),k(),k(),R(18,"span",8),De(19),k(),k(),R(20,"div",10),R(21,"span",5),De(22,"Z"),k(),R(23,"div",6),R(24,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"z")}),k(),k(),R(25,"span",8),De(26),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.x),G(2),xi(i.rotation.x),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.y),G(2),xi(i.rotation.y),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.z),G(2),xi(i.rotation.z))},directives:[dc,rs,Js,jk],styles:["[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;height:4rem;padding-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:1rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{width:2.75rem;text-align:center}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{width:100%;padding:1rem 2rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:not(.cdk-focused) .mat-slider-thumb{width:1.25rem;height:1.25rem;transform:none}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper{right:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper:after{margin-top:-.25rem;height:.625rem!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container{margin-top:-.25rem;height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container .mat-slider-ticks{height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function nFe(n){const{subscriber:e,counter:t,period:i}=n;e.next(t),this.schedule({subscriber:e,counter:t+1,period:i},i)}const iFe=["closeSearch"];function rFe(n,e){if(1&n){const t=Zi();R(0,"div",12),R(1,"mat-checkbox",13),ge("ngModelChange",function(r){const o=en(t).$implicit;return Qe(2).checkedResults[o.id]=r}),De(2),k(),k()}if(2&n){const t=e.$implicit,i=Qe(2);G(1),ie("ngModel",i.checkedResults[t.id]),G(1),or(" ",t.label," ")}}function sFe(n,e){if(1&n&&(R(0,"div",9),mt(1,rFe,3,2,"div",10),R(2,"div",11),De(3),Kt(4,"i18nPlural"),k(),k()),2&n){const t=Qe();G(1),ie("ngForOf",t.searchResults.results)("ngForTrackBy",t.tagId),G(2),or(" ",gv(4,3,t.searchResults.totalCount,t.countMapping)," ")}}const Z9=5,Ex={totalCount:0,results:[]};class Ep{constructor(e,t,i){this.el=e,this.ga=t,this.clsName="ccf-tag-search",this.placeholder="Add Anatomical Structures ...",this.added=new Le,this.countMapping={"=1":"1 result",other:"# results"},this.searchControl=new Sh,this.searchResults=Ex,this.checkedResults={},this.resultsVisible=!1,this.destroy$=new Se,this.searchControl.valueChanges.pipe(Tn(this.destroy$),function(n,e=uW){return t=>t.lift(new z1e(n,!!e.leading,!!e.trailing))}(()=>{var r;return function(n=0,e=Pf){return(!WO(n)||n<0)&&(n=0),(!e||"function"!=typeof e.schedule)&&(e=Pf),new ce(t=>(t.add(e.schedule(nFe,n,{subscriber:t,counter:0,period:n})),t))}(null!==(r=this.searchThrottle)&&void 0!==r?r:100)},{leading:!0,trailing:!0}),Pr(this.executeSearch)).subscribe(r=>{this.searchResults=r,this.checkedResults=this.getUpdatedCheckedResults(r),i.markForCheck()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}tagId(e,t){return t.id}hasCheckedTags(){return Object.values(this.checkedResults).some(e=>e)}addTags(){const{searchControl:e,searchResults:t,checkedResults:i}=this,r=t.results.filter(s=>i[s.id]);r.length>0&&(e.reset(),this.searchResults=Ex,this.checkedResults={},this.ga.event("tags_added","tag_search",r.map(s=>s.label).join(",")),this.added.emit(r))}openResults(){this.resultsVisible||(this.resultsVisible=!0)}closeResults(e){const{closeSearch:t}=this;this.resultsVisible&&e.target instanceof Node&&(!this.el.nativeElement.contains(e.target)||t.nativeElement.contains(e.target))&&(this.resultsVisible=!1)}executeSearch(e){const{search:t,searchLimit:i=Z9}=this;return e&&t?ui(t(e,i)).pipe(Ta(()=>[Ex]),Ae(this.truncateResults)):[Ex]}truncateResults(e){const{searchLimit:t=Z9}=this,i=e.results;return i.length>t?Object.assign(Object.assign({},e),{results:i.slice(0,t)}):e}getUpdatedCheckedResults(e){const t=this.checkedResults;return e.results.reduce((i,{id:r})=>{var s;return i[r]=null!==(s=t[r])&&void 0!==s&&s,i},{})}}function aFe(n,e){if(1&n&&(R(0,"div",11),R(1,"div",12),De(2),k(),R(3,"div",13),De(4),k(),k()),2&n){const t=e.$implicit;G(2),xi(t.label),G(2),xi(t.value)}}Ep.\u0275fac=function(e){return new(e||Ep)(E(rt),E(xs),E(kn))},Ep.\u0275cmp=Ne({type:Ep,selectors:[["ccf-tag-search"]],viewQuery:function(e,t){if(1&e&&Jn(iFe,5,rt),2&e){let i;_t(i=yt())&&(t.closeSearch=i.first)}},hostVars:2,hostBindings:function(e,t){1&e&&ge("click",function(){return t.openResults()})("focusin",function(){return t.openResults()})("click",function(r){return t.closeResults(r)},!1,ly)("focusin",function(r){return t.closeResults(r)},!1,ly),2&e&&Rn(t.clsName)},inputs:{placeholder:"placeholder",search:"search",searchLimit:"searchLimit",searchThrottle:"searchThrottle"},outputs:{added:"added"},decls:10,vars:8,consts:[[1,"spacer"],["appearance","outline",1,"overlay"],[1,"search-box"],["matInput","","type","search",3,"placeholder","formControl"],["search",""],["matSuffix","",1,"add-button",3,"disabled","click"],["closeSearch",""],[1,"icon"],["class","results",4,"ngIf"],[1,"results"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"count"],[1,"item"],["labelPosition","after",3,"ngModel","ngModelChange"]],template:function(e,t){if(1&e){const i=Zi();tt(0,"div",0),R(1,"mat-form-field",1),R(2,"div",2),tt(3,"input",3,4),R(5,"button",5,6),ge("click",function(){en(i);const s=vs(4);return t.addTags(),s.focus()}),R(7,"mat-icon",7),De(8,"add"),k(),k(),k(),mt(9,sFe,5,6,"div",8),k()}2&e&&(G(1),st("expanded",t.resultsVisible),G(2),ie("placeholder",t.placeholder)("formControl",t.searchControl),G(2),st("active",t.hasCheckedTags()),ie("disabled",!t.hasCheckedTags()),G(4),ie("ngIf",t.resultsVisible))},directives:[am,Xb,Hb,vk,GM,VO,rs,zr,pl,VF,Ok],pipes:[eV],styles:["[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .spacer[_ngcontent-%COMP%]{height:3.25rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:10}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;height:3rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%] .add-button[_ngcontent-%COMP%]{border-radius:.25rem;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;height:100%}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-top:.5rem;font-size:.75rem;text-align:end}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0;border-radius:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex{padding-right:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline{opacity:1!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline-thick{opacity:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-infix{padding:.313rem .063rem .063rem;border:0}[_nghost-%COMP%] .overlay.expanded[_ngcontent-%COMP%] .mat-form-field-wrapper{box-shadow:0 0 .3rem .1rem #9e9e9e5e}"],changeDetection:0}),xe([lu.ak],Ep.prototype,"executeSearch",null),xe([lu.ak],Ep.prototype,"truncateResults",null);let lFe=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.clsName="ccf-review-modal",this.metaData=i.metaData,this.registrationCallbackSet=i.registrationCallbackSet}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:14,vars:2,consts:[[1,"ccf-about","wrapper"],[1,"container"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"content"],["mat-dialog-title","",1,"title"],[1,"mat-typography"],[1,"display-fields"],["class","field",4,"ngFor","ngForOf"],[1,"footer"],["mat-button","",1,"download-button",3,"click"],[1,"field"],[1,"label"],[1,"data"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"mat-icon",3),ge("click",function(){return i.close()}),De(4,"clear"),k(),k(),R(5,"div",4),R(6,"h2",5),De(7,"Registration Review"),k(),R(8,"mat-dialog-content",6),R(9,"div",7),mt(10,aFe,5,2,"div",8),k(),k(),R(11,"div",9),R(12,"button",10),ge("click",function(){return i.dialogRef.close(!0)}),De(13),k(),k(),k(),k(),k()),2&t&&(G(10),ie("ngForOf",i.metaData),G(3),xi(i.registrationCallbackSet?"REGISTER":"DOWNLOAD REGISTRATION DATA"))},directives:[rs,Wk,qk,pl,lh],styles:[".mat-dialog-container{padding:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;background-color:#fff}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{text-align:center;font-size:1.5rem;margin-bottom:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%]{justify-content:space-around;display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem;width:100%}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:50%;text-align:right;padding-right:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .data[_ngcontent-%COMP%]{width:50%;text-align:left;padding-left:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{float:right;margin-top:1rem;margin-right:1rem;cursor:pointer}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{padding-top:1.5rem;display:flex;justify-content:space-around}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .review-button[_ngcontent-%COMP%]{height:3rem;transition:.6s}"]}),n})(),cFe=(()=>{class n{constructor(t,i){this.dialog=t,this.ga=i,this.clsName="ccf-review-button",this.registrationCallbackSet=!0,this.metaData=[],this.displayErrors=!0,this.registrationIsValid=!1,this.registerData=new Le,this.enterErrorMode=new Le}ngOnChanges(){this.registrationIsValid=this.metaData.length>=3&&this.metaData.slice(0,3).every(t=>t.value)}get disabled(){return!this.registrationIsValid}registerButtonClick(t){return t&&t.preventDefault(),this.enterErrorMode.emit(),this.registrationIsValid&&(this.ga.event("review_start","review_button"),this.launchReviewModal()),!1}launchReviewModal(){this.dialog.open(lFe,{panelClass:"modal-animated",width:"60rem",data:{registrationCallbackSet:this.registrationCallbackSet,metaData:this.metaData}}).afterClosed().subscribe(i=>{i&&(this.ga.event("register","review_button"),this.registerData.emit())})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-button"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{registrationCallbackSet:"registrationCallbackSet",metaData:"metaData",displayErrors:"displayErrors",registrationIsValid:"registrationIsValid"},outputs:{registerData:"registerData",enterErrorMode:"enterErrorMode"},features:[zn],decls:2,vars:4,consts:[["mat-button","",1,"review-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(s){return i.registerButtonClick(s)}),De(1),k()),2&t&&(st("disabled",i.disabled),ie("matTooltip",i.disabled?"Required: Select an organ and position tissue block inside organ.":"Review registration and submit/download."),G(1),or(" ",i.registrationCallbackSet?"REVIEW AND REGISTER":"REVIEW AND DOWNLOAD","\n"))},directives:[lh,dc],styles:[".review-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;font-weight:500}.review-button.disabled[_ngcontent-%COMP%]{cursor:not-allowed}"]}),n})();function uFe(n,e){if(1&n){const t=Zi();R(0,"mat-chip",2),ge("removed",function(){const s=en(t).$implicit;return Qe().removeTag(s)}),De(1),R(2,"mat-icon",3),De(3,"cancel"),k(),k()}if(2&n){const t=e.$implicit;Rn(Qe().tagClasses(t)),G(1),or(" ",t.label," ")}}let dFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-tag-list",this.tagRemoved=new Le,this.tagsChange=new Le}tagId(t,i){return i.id}tagClasses(t){return"added"===t.type?["added"]:["assigned"]}removeTag(t){this.tags=this.tags.filter(i=>i!==t),this.ga.event("tag_removed","tag_list",t.label),this.tagRemoved.emit(t),this.tagsChange.emit(this.tags)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tag-list"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{tags:"tags"},outputs:{tagRemoved:"tagRemoved",tagsChange:"tagsChange"},decls:2,vars:2,consts:[["selectable","false"],["removable","","disableRipple","",3,"class","removed",4,"ngFor","ngForOf","ngForTrackBy"],["removable","","disableRipple","",3,"removed"],["matChipRemove","",1,"icon","remove"]],template:function(t,i){1&t&&(R(0,"mat-chip-list",0),mt(1,uFe,4,3,"mat-chip",1),k()),2&t&&(G(1),ie("ngForOf",i.tags)("ngForTrackBy",i.tagId))},directives:[z9,pl,y0,rs,B9],styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto}[_nghost-%COMP%] .mat-chip-list-wrapper{margin:0}"],changeDetection:0}),n})();function hFe(n,e){if(1&n){const t=Zi();R(0,"ccf-tag-list",20),ge("tagRemoved",function(r){return en(t),Qe().astags.removeTag(r)}),Kt(1,"async"),k()}2&n&&ie("tags",rn(1,1,Qe().astags.tags$))}function fFe(n,e){}const pFe=function(){return[]};let gFe=(()=>{class n{constructor(t,i,r,s){this.model=t,this.registration=i,this.page=r,this.astags=s,this.clsName="ccf-right-sidebar",this.modalClosed=!1}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(Sr),E(ji),E(ko))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-right-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{modalClosed:"modalClosed"},decls:34,vars:28,consts:[[1,"scroll-wrapper"],[1,"container"],[1,"info-button-container"],["videoID","gY3_-LIoKaU","infoTitle","CCF Registration User Interface"],[3,"blockSize","blockSizeChange"],[3,"slicesConfig","slicesConfigChange"],[3,"rotation","rotationChange"],[1,"tags-container",3,"expanded"],[1,"header"],["matTooltip","Review tags generated via collision detection. Add or delete tags as needed."],[3,"search","added"],["class","tag-list",3,"tags","tagRemoved",4,"ngIf","ngIfElse"],["tagListPlaceholder",""],[1,"legend"],[1,"dot","assigned"],[1,"text","assigned"],[1,"dot","added"],[1,"text","added"],[1,"filler"],[3,"registrationCallbackSet","displayErrors","registrationIsValid","metaData","registerData","enterErrorMode"],[1,"tag-list",3,"tags","tagRemoved"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),tt(3,"ccf-info-button",3),k(),R(4,"ccf-block-size-input",4),ge("blockSizeChange",function(s){return i.model.setBlockSize(s)}),Kt(5,"async"),k(),R(6,"ccf-slices-input",5),ge("slicesConfigChange",function(s){return i.model.setSlicesConfig(s)}),Kt(7,"async"),k(),R(8,"ccf-rotation-slider",6),ge("rotationChange",function(s){return i.model.setRotation(s)}),Kt(9,"async"),k(),tt(10,"mat-divider"),R(11,"mat-expansion-panel",7),R(12,"mat-expansion-panel-header",8),R(13,"mat-panel-title",9),De(14,"Anatomical Structure Tags"),k(),k(),R(15,"ccf-tag-search",10),ge("added",function(s){return i.astags.addTags(s)}),k(),mt(16,hFe,2,3,"ccf-tag-list",11),Kt(17,"async"),mt(18,fFe,0,0,"ng-template",null,12,jw),R(20,"div",13),tt(21,"span",14),R(22,"span",15),De(23,"Assigned"),k(),tt(24,"span",16),R(25,"span",17),De(26,"Added"),k(),k(),k(),tt(27,"mat-divider"),tt(28,"div",18),R(29,"ccf-review-button",19),ge("registerData",function(){return i.registration.register()})("enterErrorMode",function(){return i.registration.setDisplayErrors(!i.registration.isValid)}),Kt(30,"async"),Kt(31,"async"),Kt(32,"async"),Kt(33,"async"),k(),k(),k()),2&t){const r=vs(19);let s,o;G(4),ie("blockSize",rn(5,11,i.model.blockSize$)),G(2),ie("slicesConfig",rn(7,13,i.model.slicesConfig$)),G(2),ie("rotation",rn(9,15,i.model.rotation$)),G(3),ie("expanded",i.modalClosed),G(4),ie("search",i.astags.searchExternal),G(1),ie("ngIf",null==(s=rn(17,17,i.model.organ$))?null:s.name)("ngIfElse",r),G(13),ie("registrationCallbackSet",rn(30,19,i.page.registrationCallbackSet$))("displayErrors",rn(31,21,i.registration.displayErrors$))("registrationIsValid",rn(32,23,i.registration.valid$))("metaData",null!==(o=rn(33,25,i.registration.metadata$))&&void 0!==o?o:fv(27,pFe))}},directives:[UPe,Qke,Jke,eFe,n9,qM,YM,EW,dc,Ep,zr,cFe,dFe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100%;margin-left:1.5rem;margin-right:.375rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .info-button-container[_ngcontent-%COMP%]{height:3.75rem;display:flex;justify-content:flex-end}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0 .5rem 0 0;font-weight:bold;-webkit-user-select:none;-moz-user-select:none;font-size:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%]{overflow:visible}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding-left:0;padding-right:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{margin-top:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] .icon.add[_ngcontent-%COMP%]{position:absolute;width:3.625rem;height:3.625rem;font-size:3.625rem;top:-1.9375rem;right:-1.1875rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list[_ngcontent-%COMP%]{max-height:32rem;margin-left:-1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list-placeholder[_ngcontent-%COMP%]{display:flex;height:4rem;align-items:center;justify-content:center;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%]{display:flex;width:100%;margin-top:1.5rem;align-items:center;font-size:.9rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{display:inline-block;width:1rem;height:1rem;border-radius:50%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.assigned[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.added[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function Q9(n,e){return Zo((t,i)=>e?e(t[n],i[n]):t[n]===i[n])}const mFe=["input"],_Fe=function(n){return{enterDuration:n}},yFe=["*"],vFe=new ve("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let J9=0;const CFe={provide:ro,useExisting:T(()=>i7),multi:!0};class e7{constructor(e,t){this.source=e,this.value=t}}const t7=new ve("MatRadioGroup");let n7=(()=>{class n{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+J9++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Le}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=Mt(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(i=>{i.checked=this.value===i.value,i.checked&&(this._selected=i)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new e7(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),n})(),i7=(()=>{class n extends n7{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,selectors:[["mat-radio-group"]],contentQueries:function(t,i,r){if(1&t&&ei(r,r7,5),2&t){let s;_t(s=yt())&&(i._radios=s)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Dt([CFe,{provide:t7,useExisting:n}]),ct]}),n})();class wFe{constructor(e){this._elementRef=e}}const EFe=nc(Hf(wFe));let SFe=(()=>{class n extends EFe{constructor(t,i,r,s,o,a,l,c){super(i),this._changeDetector=r,this._focusMonitor=s,this._radioDispatcher=o,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++J9,this.id=this._uniqueId,this.change=new Le,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===a,c&&(this.tabIndex=To(c,0)),this._removeUniqueSelectionListener=o.listen((d,f)=>{d!==this.id&&f===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const i=Mt(t);this._checked!==i&&(this._checked=i,i&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!i&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),i&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(Mt(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=Mt(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new e7(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(n7),E(rt),E(kn),E(Sa),E(cS),E(String),E(void 0),E(String))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(mFe,5),2&t){let r;_t(r=yt())&&(i._inputElement=r.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[ct]}),n})(),r7=(()=>{class n extends SFe{constructor(t,i,r,s,o,a,l,c){super(t,i,r,s,o,a,l,c)}}return n.\u0275fac=function(t){return new(t||n)(E(t7,8),E(rt),E(kn),E(Sa),E(cS),E(Do,8),E(vFe,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._inputElement.nativeElement.focus()}),2&t&&(nn("tabindex",null)("id",i.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),st("mat-radio-checked",i.checked)("mat-radio-disabled",i.disabled)("_mat-animation-noopable",i._noopAnimations)("mat-primary","primary"===i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[ct],ngContentSelectors:yFe,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),tt(3,"span",3),tt(4,"span",4),R(5,"input",5,6),ge("change",function(s){return i._onInputInteraction(s)})("click",function(s){return i._onInputClick(s)}),k(),R(7,"span",7),tt(8,"span",8),k(),k(),R(9,"span",9),R(10,"span",10),De(11,"\xa0"),k(),Ht(12),k(),k()),2&t){const r=vs(1);nn("for",i.inputId),G(5),ie("id",i.inputId)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex)("required",i.required),nn("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,_Fe,i._noopAnimations?0:150)),G(2),st("mat-radio-label-before","before"==i.labelPosition)}},directives:[Js],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),n})(),MFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();const xFe=["label"],TFe=["options"],AFe=function(){return["Register","3D\xa0Preview"]};let DFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-stage-nav",this.side="anterior",this.view3D=!1,this.sideChange=new Le,this.view3DChange=new Le,this.isDropdownActive=!1,this.isDropdownHidden=!0}set useDropdownMenu(t){this.isDropdownActive=t,this.isDropdownHidden=!0}get labelEl(){return this.labelRef.nativeElement}get optionsEl(){return this.optionsRef.nativeElement}handleClick(t){const{isDropdownHidden:i,labelEl:r,optionsEl:s}=this;r.contains(t)?this.isDropdownHidden=!i:s.contains(t)||(this.isDropdownHidden=!0)}updateSide(t){this.ga.event("side_update","stage_nav",t),"3D"===t?this.updateView(!0):(this.updateView(!1),this.side=t,this.sideChange.emit(this.side))}updateView(t){this.view3D=t,this.ga.event("view_update","stage_nav",t?"3D":"Register"),this.view3DChange.emit(this.view3D)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-stage-nav"]],viewQuery:function(t,i){if(1&t&&(Jn(xFe,7),Jn(TFe,7)),2&t){let r;_t(r=yt())&&(i.labelRef=r.first),_t(r=yt())&&(i.optionsRef=r.first)}},hostVars:2,hostBindings:function(t,i){1&t&&ge("click",function(s){return i.handleClick(s.target)},!1,sg),2&t&&Rn(i.clsName)},inputs:{useDropdownMenu:"useDropdownMenu",side:"side",view3D:"view3D"},outputs:{sideChange:"sideChange",view3DChange:"view3DChange"},decls:18,vars:10,consts:[[1,"dropdown-label"],["label",""],[1,"stage-options"],["options",""],[1,"input-group",3,"value","change"],["value","left",1,"nav-input"],["value","right",1,"nav-input"],["value","anterior","checked","",1,"nav-input"],["value","posterior",1,"nav-input"],["matTooltip","Change view.",1,"view-slider",3,"labels","value","valueChange"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"mat-label"),De(3,"Options"),k(),R(4,"mat-icon"),De(5,"arrow_drop_down"),k(),k(),R(6,"div",2,3),R(8,"mat-radio-group",4),ge("change",function(s){return i.updateSide(s.value)}),R(9,"mat-radio-button",5),De(10,"Left"),k(),R(11,"mat-radio-button",6),De(12,"Right"),k(),R(13,"mat-radio-button",7),De(14,"Anterior"),k(),R(15,"mat-radio-button",8),De(16,"Posterior"),k(),k(),R(17,"ccf-labeled-slide-toggle",9),ge("valueChange",function(s){return i.updateView("Register"!==s)}),k(),k()),2&t&&(st("dropdown",i.isDropdownActive),G(6),st("dropdowncontainer",i.isDropdownActive)("hidden",i.isDropdownActive&&i.isDropdownHidden),G(2),ie("value",i.side),G(9),ie("labels",fv(9,AFe))("value",i.view3D?"3D\xa0Preview":"Register"))},directives:[Gf,rs,i7,r7,XF,dc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex-wrap:wrap}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%]{display:none;align-items:center}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-label[_ngcontent-%COMP%], [_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:1.5rem}[_nghost-%COMP%] .dropdown-label.dropdown[_ngcontent-%COMP%]{display:flex;cursor:pointer;align-items:start}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{margin-right:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{margin-left:-1rem;margin-bottom:1.5rem;white-space:nowrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%]{display:flex;flex-direction:column;border-radius:.25rem;width:16.5rem;position:absolute;top:3.5rem;z-index:1;transition:opacity .25s}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:first-child{margin-top:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%]{margin-left:1.5rem;margin-right:0;display:flex;flex-wrap:wrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{display:flex;margin:0 1.5rem 0 0;height:2.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{display:flex;align-items:center;height:3rem;margin:0 .5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:visible;border-top:2px solid}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%]{visibility:hidden;opacity:0;transition:visibility .25s,opacity .25s}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:hidden}"],changeDetection:0}),n})();function OFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",16),ge("rotationChange",function(r){en(t),Qe();const s=vs(24);return s.rotation=r[0],s.rotationX=r[1]}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,5,t.scene.nodes$))("rotation",rn(2,7,t.scene.rotation$))("bounds",rn(3,9,t.bounds$))("zoom",11.5)("interactive",!0)}}function IFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",17),ge("nodeDrag",function(r){return en(t),Qe().handleNodeDrag(r)}),Kt(1,"async"),Kt(2,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,4,t.scene.rotatedNodes$))("interactive",!1)("bounds",rn(2,6,t.bounds$))("zoom",11.5)}}function PFe(n,e){1&n&&tt(0,"ccf-store-debug",18)}function RFe(n,e){if(1&n){const t=Zi();R(0,"div",19),R(1,"button",20),ge("click",function(){en(t);const r=Qe();return r.debugMode=!r.debugMode}),De(2,"State"),k(),R(3,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!0)}),De(4,"Use callback"),k(),R(5,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!1)}),De(6,"Use download"),k(),k()}}let kFe=(()=>{class n{constructor(t,i,r,s,o,a){this.model=t,this.page=i,this.registration=r,this.scene=s,this.rootRef=o,this.cdr=a,this.clsName="ccf-content",this.position$=this.model.position$.pipe(Ae(l=>({x:Math.floor(l.x),y:Math.floor(l.y),z:Math.floor(l.z)}))),this.is3DView$=this.model.viewType$.pipe(Ae(l=>"3d"===l)),this.bounds$=this.model.organDimensions$.pipe(Ae(l=>({x:Math.max(l.x,this.model.defaultPosition.x+40)/1e3,y:Math.max(l.y,this.model.defaultPosition.y+40)/1e3,z:Math.max(l.z,this.model.defaultPosition.z+40)/1e3})),Q9("x"),Q9("y")),this.isNarrowView=!1,this.debugMode=!1,this.showDebugButtons=!hu.production}ngOnInit(){this.sensor=new hW.ResizeSensor(this.rootRef.nativeElement,({width:t})=>{const i=t<440;this.isNarrowView!==i&&(this.isNarrowView=i,this.cdr.markForCheck())})}ngOnDestroy(){this.sensor.detach()}setViewType(t){this.model.setViewType(t?"3d":"register")}resetStage(){this.model.setPosition(this.model.defaultPosition),this.model.setViewSide("anterior"),this.model.setViewType("register")}handleNodeDrag(t){if("#DraftPlacement"===t.node["@id"]&&t.info.coordinate){const[i,r]=t.info.coordinate.map(d=>1e3*d),{position:s,viewSide:o,organDimensions:a}=this.model.snapshot,l=[a.x,a.y,a.z].map(d=>d/2);let c=s;switch(o){case"anterior":c={x:i+l[0],y:r+l[1],z:s.z};break;case"posterior":c={x:-i+l[0],y:r+l[1],z:s.z};break;case"left":c={x:s.x,y:r+l[1],z:-i+l[2]};break;case"right":c={x:s.x,y:r+l[1],z:i+l[2]}}this.model.setPosition(c)}}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(Sr),E(as),E(rt),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:29,vars:34,consts:[[1,"top-bar"],[3,"useDropdownMenu","view3D","side","view3DChange","sideChange"],["matRipple","","matRippleColor","rgba(204, 204, 204, 0.25)",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"main-content"],["class","body-ui","camera","perspective",3,"scene","rotation","bounds","zoom","interactive","rotationChange",4,"ngIf"],["class","body-ui","camera","orthographic",3,"scene","interactive","bounds","zoom","nodeDrag",4,"ngIf"],[1,"gizmo-area"],[1,"position-display"],[1,"position"],[1,"x"],[1,"y"],[1,"z"],[1,"gizmo",3,"scene","rotation","interactive","zoom"],["gizmo",""],["class","debug",4,"ngIf"],["style","position: absolute; bottom: 1rem; display: flex; flex-direction: row; justify-content: space-between; width: 7rem;",4,"ngIf"],["camera","perspective",1,"body-ui",3,"scene","rotation","bounds","zoom","interactive","rotationChange"],["camera","orthographic",1,"body-ui",3,"scene","interactive","bounds","zoom","nodeDrag"],[1,"debug"],[2,"position","absolute","bottom","1rem","display","flex","flex-direction","row","justify-content","space-between","width","7rem"],[2,"width","3rem","font-size",".7rem",3,"click"],[3,"click"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"ccf-stage-nav",1),ge("view3DChange",function(s){return i.setViewType(s)})("sideChange",function(s){return i.model.setViewSide(s)}),Kt(2,"async"),Kt(3,"async"),k(),R(4,"mat-icon",2),ge("click",function(){return i.resetStage()}),De(5,"refresh"),k(),k(),R(6,"div",3),mt(7,OFe,4,11,"ccf-body-ui",4),Kt(8,"async"),mt(9,IFe,3,8,"ccf-body-ui",5),Kt(10,"async"),R(11,"div",6),R(12,"div",7),R(13,"div",8),R(14,"div",9),De(15),Kt(16,"async"),k(),R(17,"div",10),De(18),Kt(19,"async"),k(),R(20,"div",11),De(21),Kt(22,"async"),k(),k(),k(),tt(23,"ccf-body-ui",12,13),Kt(25,"async"),Kt(26,"async"),k(),k(),mt(27,PFe,1,0,"ccf-store-debug",14),mt(28,RFe,7,0,"div",15)),2&t){let r,s,o;G(1),ie("useDropdownMenu",i.isNarrowView)("view3D",rn(2,16,i.is3DView$))("side",rn(3,18,i.model.viewSide$)),G(3),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(3),ie("ngIf","3d"===rn(8,20,i.model.viewType$)),G(2),ie("ngIf","register"===rn(10,22,i.model.viewType$)),G(6),or("X: ",null==(r=rn(16,24,i.position$))?null:r.x,""),G(3),or("Y: ",null==(s=rn(19,26,i.position$))?null:s.y,""),G(3),or("Z: ",null==(o=rn(22,28,i.position$))?null:o.z,""),G(2),ie("scene",rn(25,30,i.scene.gizmo$))("rotation",rn(26,32,i.scene.rotation$))("interactive",!1)("zoom",9.5),G(4),ie("ngIf",i.showDebugButtons&&i.debugMode),G(1),ie("ngIf",i.showDebugButtons)}},directives:[DFe,rs,Js,zr,mPe,SPe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;padding:1.5rem;overflow:hidden}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{display:flex;height:calc(100% - 1rem)}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .body-ui[_ngcontent-%COMP%]{flex:auto;transition:opacity 1s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%]{width:4rem;margin-top:1.5rem;margin-left:1.5rem;z-index:10}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .position-display[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%]{height:5.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{opacity:0;z-index:0}[_nghost-%COMP%] .ccf-store-debug[_ngcontent-%COMP%]{color:#fff;position:absolute;top:.5rem;max-width:55rem}"],changeDetection:0}),n})();function FFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t),Qe();const r=vs(15);return r.expanded=!r.expanded}),R(1,"mat-icon",12),De(2),k(),k()}if(2&n){Qe();const t=vs(15);G(2),or(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function NFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t);const r=Qe();return r.open=!r.open}),R(1,"mat-icon",13),De(2),k(),k()}if(2&n){const t=Qe();G(2),or(" ",t.open?"arrow_drop_up":"arrow_drop_down"," ")}}const LFe=function(n){return[n]};let BFe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this.model=t,this.page=i,this.consentService=r,this.snackbar=s,this.theming=o,this.globalConfig=c,this.organList=qF,this.open=!0,this.registrationStarted=!1,this.disablePositionChange=!1,this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new If(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.subscriptions=new Te,o.initialize(a,l),this.subscriptions.add(i.registrationCallbackSet$.subscribe(f=>{this.open=!f})),this.subscriptions.add(i.registrationStarted$.subscribe(f=>{this.registrationStarted=f})),this.theme$.subscribe(f=>{this.theme=f}),this.globalConfig.getOption("homeUrl").subscribe(f=>{this.homeUrl=f}),this.globalConfig.getOption("logoTooltip").subscribe(f=>{this.logoTooltip=f}),Qi([this.theme$,this.themeMode$]).subscribe(([f,p])=>{this.theming.setTheme(`${f}-theme-${p}`),d.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(eRe,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});this.themeMode$.next("light"),this.theming.setTheme(`${this.theme}-theme-light`)}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}handleKey(t){const i=this.model.snapshot.position;if(this.disablePositionChange||!this.registrationStarted)return;t.preventDefault();const r=t.repeat?1:.5;let s=i;switch(t.key){case"q":s=Object.assign(Object.assign({},i),{z:i.z+r});break;case"e":s=Object.assign(Object.assign({},i),{z:i.z-r});break;case"w":s=Object.assign(Object.assign({},i),{y:i.y+r});break;case"s":s=Object.assign(Object.assign({},i),{y:i.y-r});break;case"a":s=Object.assign(Object.assign({},i),{x:i.x-r});break;case"d":s=Object.assign(Object.assign({},i),{x:i.x+r})}this.model.setPosition(s)}handleClick(t){this.disablePositionChange="INPUT"===t.nodeName}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(f0),E(Xae),E(YF),E(rt),E(Nt),E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root"]],hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i.handleKey(s)},!1,sg)("click",function(s){return i.handleClick(s.target)},!1,sg)},decls:21,vars:35,consts:[[3,"logoTooltip","homeUrl"],["opened",""],[3,"modalClosed","disableSlider"],["position","end","opened",""],[3,"modalClosed"],[1,"selector-drawer"],[3,"organList","selectedOrgans","organsChanged"],["organSelector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,i){if(1&t&&(tt(0,"ccf-registration-modal"),tt(1,"ccf-header",0),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),R(5,"ccf-drawer-container"),R(6,"ccf-drawer",1),tt(7,"ccf-left-sidebar",2),tt(8,"ccf-drawer-toggle-button"),k(),R(9,"ccf-drawer",3),tt(10,"ccf-right-sidebar",4),tt(11,"ccf-drawer-toggle-button"),k(),R(12,"ccf-drawer-content"),R(13,"div",5),R(14,"ccf-organ-selector",6,7),ge("organsChanged",function(s){return i.model.setOrgan(s[0])}),Kt(16,"async"),k(),R(17,"div",8),mt(18,FFe,3,1,"div",9),mt(19,NFe,3,1,"div",9),k(),k(),tt(20,"ccf-content",10),k(),k()),2&t){const r=vs(15);G(1),st("header-hidden",!1===rn(2,25,i.header$)),ie("logoTooltip",rn(3,27,i.logoTooltip$))("homeUrl",rn(4,29,i.homeUrl$)),G(6),ie("modalClosed",i.registrationStarted)("disableSlider",!(null!=r.selectedOrgans[0]&&r.selectedOrgans[0].hasSex)),G(3),ie("modalClosed",i.registrationStarted),G(3),st("closed",!i.open)("expanded",r.expanded),G(1),st("closed",!i.open),ie("organList",i.organList)("selectedOrgans",Hg(33,LFe,rn(16,31,i.model.organ$))),G(3),st("closed",!i.open)("selector-expanded",r.expanded),G(1),ie("ngIf",i.open),G(1),ie("ngIf",!r.expanded),G(1),st("expanded-stage",!i.open)("retracted-stage",r.expanded)}},directives:[LRe,jRe,XRe,ZF,Kke,Zke,gFe,bx,p9,zr,kFe,rs],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;color:#000}[_nghost-%COMP%] .header-hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:25.5rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{position:relative;z-index:1}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;height:5.688rem;transition:all .5s ease-in-out}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector[_ngcontent-%COMP%]{height:100%;padding-top:.5rem;transition:all .5s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector.closed[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;height:0;z-index:2}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{cursor:pointer;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{width:3rem;height:1.2rem;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:#fff;border-bottom-left-radius:.2rem;border-bottom-right-radius:.2rem;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]:hover{background-color:#ececec}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:3rem;top:-2.9rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{border-radius:.5rem!important;height:calc(100% - 2.688rem - 3rem - 1.5rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 1.5rem);padding-bottom:1rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .retracted-stage[_ngcontent-%COMP%]{height:calc(100% - 2.688rem - 14rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-content[_ngcontent-%COMP%]{position:absolute;transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:all;bottom:1.5rem;z-index:1}"],changeDetection:0}),n})();function VFe(n,e){1&n&&tt(0,"ccf-root")}let zFe=(()=>{class n extends lRe{constructor(t,i){const r=cRe;super(t,i,{initialDelay:500,initialConfig:Object.assign(Object.assign(Object.assign({},hu.dbOptions),globalThis.ruiConfig),hu.customization),parse:{useDownload:r.boolean,user:r.json,organ:r.json,editRegistration:r.json,register:r.function,cancelRegistration:r.function,fetchPreviousRegistrations:r.function,skipUnsavedChangesConfirmation:r.boolean,header:r.boolean}})}}return n.\u0275fac=function(t){return new(t||n)(E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root-wc"]],inputs:{baseHref:"baseHref",useDownload:"useDownload",user:"user",organ:"organ",editRegistration:"editRegistration",register:"register",cancelRegistration:"cancelRegistration",fetchPreviousRegistrations:"fetchPreviousRegistrations",skipUnsavedChangesConfirmation:"skipUnsavedChangesConfirmation",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip"},features:[ct],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&mt(0,VFe,1,0,"ccf-root",0),2&t&&ie("ngIf",i.initialized)},directives:[zr,BFe],encapsulation:2,changeDetection:0}),n})();const jFe=new ve("Global configuration object");function UFe(n){return n.get("ruiConfig",{user:{firstName:"",lastName:""}})}let HFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:jFe,useFactory:UFe,deps:[v9]}]}),n})(),$Fe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:bv,useValue:YF.initialize,multi:!0},YF]}),n})(),GFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[Fr,Fa,UW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(I(Fr,2),I(Fa,2))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Sx=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class YFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=pp(this.action),i=function(n){return Sx(n.getHours(),2)+":"+Sx(n.getMinutes(),2)+":"+Sx(n.getSeconds(),2)+"."+Sx(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class XFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const s7=new ve("NGXS_LOGGER_PLUGIN_OPTIONS");let KFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new XFe(this._options),this._store=this._store||this._injector.get(cu);const s=new YFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Ti(o=>{s.completed(o)}),Ta(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(I(s7),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const o7=new ve("LOGGER_USER_OPTIONS");function ZFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let QFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:KFe,multi:!0},{provide:o7,useValue:t},{provide:s7,useFactory:ZFe,deps:[o7]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const JF=new ve("NGXS_STORAGE_PLUGIN_OPTION"),a7=new ve("STORAGE_ENGINE"),e2="@@STATE",l7="NGXS_OPTIONS_META";function e2e(n){return void 0!==n&&n.key&&(n.key=function(n){return Array.isArray(n)||(n=[n]),n.map(e=>(e.hasOwnProperty(l7)&&(e=e[l7].name),e instanceof class{constructor(e){this.name=e,uk(this).makeRootSelector=i=>i.getStateGetter(this.name)}getName(){return this.name}toString(){return`StateToken[${this.name}]`}}?e.getName():e))}(n.key)),Object.assign({key:[e2],storage:0,serialize:JSON.stringify,deserialize:JSON.parse,beforeSerialize:e=>e,afterDeserialize:e=>e},n)}function t2e(n,e){return kD(e)?null:0===n.storage?localStorage:1===n.storage?sessionStorage:null}let n2e=(()=>{class n{constructor(t,i,r){this._options=t,this._engine=i,this._platformId=r}handle(t,i,r){if(kD(this._platformId)&&null===this._engine)return r(t,i);const s=this._options.key,o=function(n){const e=pp(n);return function(t){return e===pp(t)}}(i),a=o(iG)||o(rG);let l=!1;if(a)for(const c of s){const d=c===e2;let f=this._engine.getItem(c);if("undefined"!==f&&null!=f){try{const p=this._options.deserialize(f);f=this._options.afterDeserialize(p,c)}catch(p){console.error("Error ocurred while deserializing the store value, falling back to empty object."),f={}}this._options.migrations&&this._options.migrations.forEach(p=>{p.version===Gm(f,p.versionKey||"version")&&(!p.key&&d||p.key===c)&&(f=p.migrate(f),l=!0)}),t=d?Object.assign({},t,f):ok(t,c,f)}}return r(t,i).pipe(Ti(c=>{if(!a||a&&l)for(const d of s){let f=c;d!==e2&&(f=Gm(c,d));try{const p=this._options.beforeSerialize(f,d);this._engine.setItem(d,this._options.serialize(p))}catch(p){console.error("Error ocurred while serializing the store value, value not updated.")}}}))}}return n.\u0275fac=function(t){return new(t||n)(I(JF),I(a7),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const c7=new ve("USER_OPTIONS");let i2e=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:n2e,multi:!0},{provide:c7,useValue:t},{provide:JF,useFactory:e2e,deps:[c7]},{provide:a7,useFactory:t2e,deps:[JF,dl]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const u7=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"visibility_off_cube",namespace:"app",url:"assets/icons/ico-cube.svg"}];let hd=class extends cDe{constructor(e,t,i){super(),this.registry=e,this.sanitizer=t,this.globalConfig=i}ngxsOnInit(){var e;u7.filter(t=>void 0!==t.html).map(t=>Object.assign(Object.assign({},t),{html:this.sanitizer.bypassSecurityTrustHtml(t.html)})).forEach(t=>this.registerIconImpl(t)),null===(e=this.registry)||void 0===e||e.addSvgIconResolver((t,i)=>{var r;const s=u7.find(a=>{var l,c;return(null!==(l=a.name)&&void 0!==l?l:"")===t&&(null!==(c=a.namespace)&&void 0!==c?c:"")===i});if(void 0===s||void 0===s.url)return null;const o=null!==(r=this.globalConfig.snapshot.baseHref)&&void 0!==r?r:"";return this.sanitizer.bypassSecurityTrustResourceUrl(o+s.url)})}registerIcon(e){return this.registerIconImpl(e)}registerIconImpl(e){if(!this.registry||!e.url&&!e.html)return!1;const t=this.registry,r=t[this.getMethodName(e)],s=this.getArguments(e);if(!r)return!1;try{return r.apply(t,s),!0}catch(o){return!1}}getMethodName({name:e,namespace:t,url:i}){const r=["addSvgIcon"];return e||r.push("Set"),i||r.push("Literal"),t&&r.push("InNamespace"),r.join("")}getArguments({name:e,namespace:t,url:i,html:r}){return[t,e,null!=i?i:r].filter(o=>!!o)}};hd.\u0275fac=function(e){return new(e||hd)(I(Gv,8),I(th),I(Ah))},hd.\u0275prov=ue({token:hd,factory:hd.\u0275fac}),xe([on()],hd.prototype,"registerIcon",null),hd=xe([xh(),cd({name:"iconRegistry"})],hd);const r2e=[Ah,hd,ji,ai,ko,fc,Sr,as];let s2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[GFe.forRoot(),Io.forRoot(r2e,{developmentMode:!hu.production}),i2e.forRoot({key:["registration.registrations"]}),QFe.forRoot({disabled:hu.production})]]}),n})(),o2e=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rj,kIe.forRoot({gaToken:hu.googleAnalyticsToken,appName:"rui"}),ZPe,HFe,s2e,$Fe]]}),n})(),t2=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9]]}),n})(),a2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,MFe,q9,lr,yx,t2,hc]]}),n})(),l2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr]]}),n})(),c2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,a2e,lr,MPe,l2e,_l,_Pe]]}),n})(),u2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),d2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})(),h2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,q9]]}),n})(),d7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9,Kb,Lk,Bk,hc]]}),n})(),f2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_l,m9]]}),n})(),h7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,j9]]}),n})(),p2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})(),g2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,lr,hc,yx,d2e,t2,d7,h7,h2e,m9,f2e,h7,p2e]]}),n})(),m2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch,hc,d7,t2,g9]]}),n})(),_2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,m2e]]}),n})(),y2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc]]}),n})(),v2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l,hc]]}),n})(),b2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc,qPe]]}),n})(),C2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,j9,lr]]}),n})(),w2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Lk,Bk,ch,h9,Uv,lr,Kb]]}),n})(),E2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,ch]]}),n})(),S2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,E2e,ch,hc]]}),n})(),M2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,yx,lr,kO,hc,y2e,S2e,v2e,b2e,C2e,w2e,HPe]]}),n})(),x2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:P9,useValue:I9}],imports:[[yE,kO,lr]]}),n})(),T2e=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(ll).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new Fne(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends Lne{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,d){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(zFe,{injector:this.injector});customElements.define("ccf-rui",t)}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:T9,useValue:"hubmap-theme-light"},{provide:vj,useValue:{appearance:"standard",floatLabel:!1,hideRequiredMarker:!0}}],imports:[[yE,kO,o2e,lr,x2e,u2e,c2e,g2e,M2e,g9,_2e,tRe,_U]]}),n})();hu.production&&function(){if(i3)throw new Error("Cannot enable prod mode after platform setup.");n3=!1}(),rne().bootstrapModule(T2e).catch(n=>console.error(n))},948:gt=>{gt.exports=function(ze){return ze&&ze.__esModule?ze:{default:ze}},gt.exports.default=gt.exports,gt.exports.__esModule=!0},321:gt=>{function We(ze){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(gt.exports=We=function(L){return typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0):(gt.exports=We=function(L){return L&&"function"==typeof Symbol&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0),We(ze)}gt.exports=We,gt.exports.default=gt.exports,gt.exports.__esModule=!0},833:gt=>{function We(ze){return Promise.resolve().then(()=>{var wt=new Error("Cannot find module '"+ze+"'");throw wt.code="MODULE_NOT_FOUND",wt})}We.keys=()=>[],We.resolve=We,We.id=833,gt.exports=We},521:()=>{},125:()=>{},307:()=>{}},gt=>{gt(gt.s=851)}]); \ No newline at end of file +var A2e=Object.defineProperty,D2e=Object.defineProperties,O2e=Object.getOwnPropertyDescriptors,p7=Object.getOwnPropertySymbols,I2e=Object.prototype.hasOwnProperty,P2e=Object.prototype.propertyIsEnumerable,Ui=Math.pow,g7=(gt,We,ze)=>We in gt?A2e(gt,We,{enumerable:!0,configurable:!0,writable:!0,value:ze}):gt[We]=ze,K=(gt,We)=>{for(var ze in We||(We={}))I2e.call(We,ze)&&g7(gt,ze,We[ze]);if(p7)for(var ze of p7(We))P2e.call(We,ze)&&g7(gt,ze,We[ze]);return gt},Lt=(gt,We)=>D2e(gt,O2e(We));(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{2:gt=>{"use strict";gt.exports=ze,gt.exports.default=ze;var We=1e20;function ze(Ke,ft,Ze,Tt,Ft,we){this.fontSize=Ke||24,this.buffer=void 0===ft?3:ft,this.cutoff=Tt||.25,this.fontFamily=Ft||"sans-serif",this.fontWeight=we||"normal",this.radius=Ze||8;var _e=this.size=this.fontSize+2*this.buffer,ke=_e+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=_e,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(ke*ke),this.gridInner=new Float64Array(ke*ke),this.f=new Float64Array(ke),this.z=new Float64Array(ke+1),this.v=new Uint16Array(ke),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(_e/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function It(Ke,ft,Ze,Tt,Ft,we){for(var _e=0;_e-1);we[++ye]=ke,_e[ye]=Te,_e[ye+1]=We}for(ke=0,ye=0;ke{"use strict";var wt=(()=>{return(It=wt||(wt={})).typeOfFunction="function",It.boolTrue=!0,wt;var It})();function L(It,Pt,Ke){if(!Ke||typeof Ke.value!==wt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+Pt+"> is not a method!");return{configurable:wt.boolTrue,get:function(){var ft=Ke.value.bind(this);return Object.defineProperty(this,Pt,{value:ft,configurable:wt.boolTrue,writable:wt.boolTrue}),ft}}}We.ak=L,We.ZP=L},266:(gt,We,ze)=>{gt.exports={ResizeSensor:ze(835),ElementQueries:ze(845)}},845:function(gt,We,ze){"use strict";var wt,L,It;"undefined"!=typeof window&&window,L=[ze(835)],void 0!==(It="function"==typeof(wt=function(Pt){var Ke=function(){var Ze,Tt={},Ft=[];function we(Ve){Ve||(Ve=document.documentElement);var ce=window.getComputedStyle(Ve,null).fontSize;return parseFloat(ce)||16}function ke(Ve,ce){var zt=ce.split(/\d/),Gt=zt[zt.length-1];switch(ce=parseFloat(ce),Gt){case"px":return ce;case"em":return ce*we(Ve);case"rem":return ce*we();case"vw":return ce*document.documentElement.clientWidth/100;case"vh":return ce*document.documentElement.clientHeight/100;case"vmin":case"vmax":var Qt=document.documentElement.clientWidth/100,li=document.documentElement.clientHeight/100;return ce*(0,Math["vmin"===Gt?"min":"max"])(Qt,li);default:return ce}}function ye(Ve,ce){this.element=Ve;var zt,Gt,Qt,li,Pi,Se,pn,Gn,Ae=["min-width","min-height","max-width","max-height"];this.call=function(){for(zt in Qt=function(Ve){if(!Ve.getBoundingClientRect)return{width:Ve.offsetWidth,height:Ve.offsetHeight};var ce=Ve.getBoundingClientRect();return{width:Math.round(ce.width),height:Math.round(ce.height)}}(this.element),Se={},Tt[ce])!Tt[ce].hasOwnProperty(zt)||(li=ke(this.element,(Gt=Tt[ce][zt]).value),Pi="width"===Gt.property?Qt.width:Qt.height,pn="","min"===Gt.mode&&Pi>=li&&(pn+=Gt.value),"max"===Gt.mode&&Pi<=li&&(pn+=Gt.value),Se[Gn=Gt.mode+"-"+Gt.property]||(Se[Gn]=""),pn&&-1===(" "+Se[Gn]+" ").indexOf(" "+pn+" ")&&(Se[Gn]+=" "+pn));for(var Ri in Ae)!Ae.hasOwnProperty(Ri)||(Se[Ae[Ri]]?this.element.setAttribute(Ae[Ri],Se[Ae[Ri]].substr(1)):this.element.removeAttribute(Ae[Ri]))}}function Te(Ve,ce){Ve.elementQueriesSetupInformation||(Ve.elementQueriesSetupInformation=new ye(Ve,ce)),Ve.elementQueriesSensor||(Ve.elementQueriesSensor=new Pt(Ve,function(){Ve.elementQueriesSetupInformation.call()}))}function Vt(Ve,ce,zt,Gt){if(void 0===Tt[Ve]){Tt[Ve]=[];var Qt=Ft.length;Ze.innerHTML+="\n"+Ve+" {animation: 0.1s element-queries;}",Ze.innerHTML+="\n"+Ve+" > .resize-sensor {min-width: "+Qt+"px;}",Ft.push(Ve)}Tt[Ve].push({mode:ce,property:zt,value:Gt})}function He(Ve){var ce;if(document.querySelectorAll&&(ce=Ve?Ve.querySelectorAll.bind(Ve):document.querySelectorAll.bind(document)),!ce&&"undefined"!=typeof $$&&(ce=$$),!ce&&"undefined"!=typeof jQuery&&(ce=jQuery),!ce)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return ce}function xt(Ve){var ce=[],zt=[],Gt=[],Qt=0,li=-1,Pi=[];for(var Se in Ve.children)if(Ve.children.hasOwnProperty(Se)&&Ve.children[Se].tagName&&"img"===Ve.children[Se].tagName.toLowerCase()){ce.push(Ve.children[Se]);var pn=Ve.children[Se].getAttribute("min-width")||Ve.children[Se].getAttribute("data-min-width"),Gn=Ve.children[Se].getAttribute("data-src")||Ve.children[Se].getAttribute("url");Gt.push(Gn),zt.push({minWidth:pn}),pn?Ve.children[Se].style.display="none":(Qt=ce.length-1,Ve.children[Se].style.display="block")}function Ri(){var xr,jt=!1;for(xr in ce)!ce.hasOwnProperty(xr)||zt[xr].minWidth&&Ve.offsetWidth>zt[xr].minWidth&&(jt=xr);if(jt||(jt=Qt),li!==jt)if(Pi[jt])ce[li].style.display="none",ce[jt].style.display="block",li=jt;else{var ls=new Image;ls.onload=function(){ce[jt].src=Gt[jt],ce[li].style.display="none",ce[jt].style.display="block",Pi[jt]=!0,li=jt},ls.src=Gt[jt]}else ce[jt].src=Gt[jt]}li=Qt,Ve.resizeSensorInstance=new Pt(Ve,Ri),Ri()}var Yn=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,Ei=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function vi(Ve){var ce,zt,Gt,Qt;for(Ve=Ve.replace(/'/g,'"');null!==(ce=Yn.exec(Ve));)for(zt=ce[1]+ce[3],Gt=ce[2];null!==(Qt=Ei.exec(Gt));)Vt(zt,Qt[1],Qt[2],Qt[3])}function bi(Ve){var ce="";if(Ve)if("string"==typeof Ve)(-1!==(Ve=Ve.toLowerCase()).indexOf("min-width")||-1!==Ve.indexOf("max-width"))&&vi(Ve);else for(var zt=0,Gt=Ve.length;zt img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",Ze.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(Ze),Mr=!0);for(var ce=0,zt=document.styleSheets.length;ce=_e.status}function ft(we){try{we.dispatchEvent(new MouseEvent("click"))}catch(ke){var _e=document.createEvent("MouseEvents");_e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),we.dispatchEvent(_e)}}var Ze="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Tt=Ze.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ft=Ze.saveAs||("object"!=typeof window||window!==Ze?function(){}:"download"in HTMLAnchorElement.prototype&&!Tt?function(we,_e,ke){var ye=Ze.URL||Ze.webkitURL,Te=document.createElement("a");Te.download=_e=_e||we.name||"download",Te.rel="noopener","string"==typeof we?(Te.href=we,Te.origin===location.origin?ft(Te):Ke(Te.href)?Pt(we,_e,ke):ft(Te,Te.target="_blank")):(Te.href=ye.createObjectURL(we),setTimeout(function(){ye.revokeObjectURL(Te.href)},4e4),setTimeout(function(){ft(Te)},0))}:"msSaveOrOpenBlob"in navigator?function(we,_e,ke){if(_e=_e||we.name||"download","string"!=typeof we)navigator.msSaveOrOpenBlob(function(we,_e){return void 0===_e?_e={autoBom:!1}:"object"!=typeof _e&&(console.warn("Deprecated: Expected third argument to be a object"),_e={autoBom:!_e}),_e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(we.type)?new Blob(["\ufeff",we],{type:we.type}):we}(we,ke),_e);else if(Ke(we))Pt(we,_e,ke);else{var ye=document.createElement("a");ye.href=we,ye.target="_blank",setTimeout(function(){ft(ye)})}}:function(we,_e,ke,ye){if((ye=ye||open("","_blank"))&&(ye.document.title=ye.document.body.innerText="downloading..."),"string"==typeof we)return Pt(we,_e,ke);var Te="application/octet-stream"===we.type,Vt=/constructor/i.test(Ze.HTMLElement)||Ze.safari,He=/CriOS\/[\d]+/.test(navigator.userAgent);if((He||Te&&Vt||Tt)&&"undefined"!=typeof FileReader){var An=new FileReader;An.onloadend=function(){var Yn=An.result;Yn=He?Yn:Yn.replace(/^data:[^;]*;/,"data:attachment/file;"),ye?ye.location.href=Yn:location=Yn,ye=null},An.readAsDataURL(we)}else{var xt=Ze.URL||Ze.webkitURL,tn=xt.createObjectURL(we);ye?ye.location=tn:location.href=tn,ye=null,setTimeout(function(){xt.revokeObjectURL(tn)},4e4)}});Ze.saveAs=Ft.saveAs=Ft,gt.exports=Ft})?ze.apply(We,[]):ze)&&(gt.exports=L)},524:(gt,We,ze)=>{var wt;!function(L,It,Pt,Ke){"use strict";var He,ft=["","webkit","Moz","MS","ms","o"],Ze=It.createElement("div"),Ft=Math.round,we=Math.abs,_e=Date.now;function ke(A,F,j){return setTimeout(Yn(A,j),F)}function ye(A,F,j){return!!Array.isArray(A)&&(Te(A,j[F],j),!0)}function Te(A,F,j){var re;if(A)if(A.forEach)A.forEach(F,j);else if(A.length!==Ke)for(re=0;re\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",vn=L.console&&(L.console.warn||L.console.log);return vn&&vn.call(L.console,re,Ue),A.apply(this,arguments)}}He="function"!=typeof Object.assign?function(F){if(F===Ke||null===F)throw new TypeError("Cannot convert undefined or null to object");for(var j=Object(F),re=1;re-1}function zt(A){return A.trim().split(/\s+/g)}function Gt(A,F,j){if(A.indexOf&&!j)return A.indexOf(F);for(var re=0;reWr[F]}):re.sort()),re}function Pi(A,F){for(var j,re,Fe=F[0].toUpperCase()+F.slice(1),Ue=0;Ue1&&!j.firstMultiple?j.firstMultiple=Va(F):1===Fe&&(j.firstMultiple=!1);var Ue=j.firstInput,vn=j.firstMultiple,dr=vn?vn.center:Ue.center,yr=F.center=uo(re);F.timeStamp=_e(),F.deltaTime=F.timeStamp-Ue.timeStamp,F.angle=ho(dr,yr),F.distance=us(dr,yr),function(A,F){var j=F.center,re=A.offsetDelta||{},Fe=A.prevDelta||{},Ue=A.prevInput||{};(1===F.eventType||4===Ue.eventType)&&(Fe=A.prevDelta={x:Ue.deltaX||0,y:Ue.deltaY||0},re=A.offsetDelta={x:j.x,y:j.y}),F.deltaX=Fe.x+(j.x-re.x),F.deltaY=Fe.y+(j.y-re.y)}(j,F),F.offsetDirection=Ni(F.deltaX,F.deltaY);var Wr=za(F.deltaTime,F.deltaX,F.deltaY);F.overallVelocityX=Wr.x,F.overallVelocityY=Wr.y,F.overallVelocity=we(Wr.x)>we(Wr.y)?Wr.x:Wr.y,F.scale=vn?function(A,F){return us(F[0],F[1],Nr)/us(A[0],A[1],Nr)}(vn.pointers,re):1,F.rotation=vn?function(A,F){return ho(F[1],F[0],Nr)+ho(A[1],A[0],Nr)}(vn.pointers,re):0,F.maxPointers=j.prevInput?F.pointers.length>j.prevInput.maxPointers?F.pointers.length:j.prevInput.maxPointers:F.pointers.length,function(A,F){var Fe,Ue,vn,dr,j=A.lastInterval||F,re=F.timeStamp-j.timeStamp;if(8!=F.eventType&&(re>25||j.velocity===Ke)){var yr=F.deltaX-j.deltaX,Wr=F.deltaY-j.deltaY,cn=za(re,yr,Wr);Ue=cn.x,vn=cn.y,Fe=we(cn.x)>we(cn.y)?cn.x:cn.y,dr=Ni(yr,Wr),A.lastInterval=F}else Fe=j.velocity,Ue=j.velocityX,vn=j.velocityY,dr=j.direction;F.velocity=Fe,F.velocityX=Ue,F.velocityY=vn,F.direction=dr}(j,F);var cn=A.element;Ve(F.srcEvent.target,cn)&&(cn=F.srcEvent.target),F.target=cn}(A,j),A.emit("hammer.input",j),A.recognize(j),A.session.prevInput=j}function Va(A){for(var F=[],j=0;j=we(F)?A<0?2:4:F<0?8:16}function us(A,F,j){j||(j=Gr);var re=F[j[0]]-A[j[0]],Fe=F[j[1]]-A[j[1]];return Math.sqrt(re*re+Fe*Fe)}function ho(A,F,j){return j||(j=Gr),180*Math.atan2(F[j[1]]-A[j[1]],F[j[0]]-A[j[0]])/Math.PI}ii.prototype={handler:function(){},init:function(){this.evEl&&bi(this.element,this.evEl,this.domHandler),this.evTarget&&bi(this.target,this.evTarget,this.domHandler),this.evWin&&bi(Gn(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Mr(this.element,this.evEl,this.domHandler),this.evTarget&&Mr(this.target,this.evTarget,this.domHandler),this.evWin&&Mr(Gn(this.element),this.evWin,this.domHandler)}};var fu={mousedown:1,mousemove:2,mouseup:4},pu="mousedown",gu="mousemove mouseup";function Ml(){this.evEl=pu,this.evWin=gu,this.pressed=!1,ii.apply(this,arguments)}tn(Ml,ii,{handler:function(F){var j=fu[F.type];1&j&&0===F.button&&(this.pressed=!0),2&j&&1!==F.which&&(j=4),this.pressed&&(4&j&&(this.pressed=!1),this.callback(this.manager,j,{pointers:[F],changedPointers:[F],pointerType:cs,srcEvent:F}))}});var mc={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},pd={2:ls,3:"pen",4:cs,5:"kinect"},mu="pointerdown",Vs="pointermove pointerup pointercancel";function Je(){this.evEl=mu,this.evWin=Vs,ii.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}L.MSPointerEvent&&!L.PointerEvent&&(mu="MSPointerDown",Vs="MSPointerMove MSPointerUp MSPointerCancel"),tn(Je,ii,{handler:function(F){var j=this.store,re=!1,Fe=F.type.toLowerCase().replace("ms",""),Ue=mc[Fe],vn=pd[F.pointerType]||F.pointerType,dr=vn==ls,yr=Gt(j,F.pointerId,"pointerId");1&Ue&&(0===F.button||dr)?yr<0&&(j.push(F),yr=j.length-1):12&Ue&&(re=!0),!(yr<0)&&(j[yr]=F,this.callback(this.manager,Ue,{pointers:j,changedPointers:[F],pointerType:vn,srcEvent:F}),re&&j.splice(yr,1))}});var _u={touchstart:1,touchmove:2,touchend:4,touchcancel:8},W="touchstart",Y="touchstart touchmove touchend touchcancel";function J(){this.evTarget=W,this.evWin=Y,this.started=!1,ii.apply(this,arguments)}function T(A,F){var j=Qt(A.touches),re=Qt(A.changedTouches);return 12&F&&(j=li(j.concat(re),"identifier",!0)),[j,re]}tn(J,ii,{handler:function(F){var j=_u[F.type];if(1===j&&(this.started=!0),this.started){var re=T.call(this,F,j);12&j&&re[0].length-re[1].length==0&&(this.started=!1),this.callback(this.manager,j,{pointers:re[0],changedPointers:re[1],pointerType:ls,srcEvent:F})}}});var D={touchstart:1,touchmove:2,touchend:4,touchcancel:8},B="touchstart touchmove touchend touchcancel";function Z(){this.evTarget=B,this.targetIds={},ii.apply(this,arguments)}function $(A,F){var j=Qt(A.touches),re=this.targetIds;if(3&F&&1===j.length)return re[j[0].identifier]=!0,[j,j];var Fe,Ue,vn=Qt(A.changedTouches),dr=[],yr=this.target;if(Ue=j.filter(function(Wr){return Ve(Wr.target,yr)}),1===F)for(Fe=0;Fe-1&&re.splice(Ue,1)},2500)}}function xn(A){for(var F=A.srcEvent.clientX,j=A.srcEvent.clientY,re=0;re-1&&this.requireFail.splice(F,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(A){return!!this.simultaneous[A.id]},emit:function(A){var F=this,j=this.state;function re(Fe){F.manager.emit(Fe,A)}j<8&&re(F.options.event+ue(j)),re(F.options.event),A.additionalEvent&&re(A.additionalEvent),j>=8&&re(F.options.event+ue(j))},tryEmit:function(A){if(this.canEmit())return this.emit(A);this.state=32},canEmit:function(){for(var A=0;AF.threshold&&Fe&F.direction},attrTest:function(A){return rr.prototype.attrTest.call(this,A)&&(2&this.state||!(2&this.state)&&this.directionTest(A))},emit:function(A){this.pX=A.deltaX,this.pY=A.deltaY;var F=u_(A.direction);F&&(A.additionalEvent=this.options.event+F),this._super.emit.call(this,A)}}),tn(bu,rr,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.scale-1)>this.options.threshold||2&this.state)},emit:function(A){1!==A.scale&&(A.additionalEvent=this.options.event+(A.scale<1?"in":"out")),this._super.emit.call(this,A)}}),tn(Ih,ja,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distanceF.time;if(this._input=A,!re||!j||12&A.eventType&&!Fe)this.reset();else if(1&A.eventType)this.reset(),this._timer=ke(function(){this.state=8,this.tryEmit()},F.time,this);else if(4&A.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(A){8===this.state&&(A&&4&A.eventType?this.manager.emit(this.options.event+"up",A):(this._input.timeStamp=_e(),this.manager.emit(this.options.event,this._input)))}}),tn(Cu,rr,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[$i]},attrTest:function(A){return this._super.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)}}),tn(ua,rr,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return vc.prototype.getTouchAction.call(this)},attrTest:function(A){var j,F=this.options.direction;return 30&F?j=A.overallVelocity:6&F?j=A.overallVelocityX:24&F&&(j=A.overallVelocityY),this._super.attrTest.call(this,A)&&F&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers==this.options.pointers&&we(j)>this.options.velocity&&4&A.eventType},emit:function(A){var F=u_(A.offsetDirection);F&&this.manager.emit(this.options.event+F,A),this.manager.emit(this.options.event,A)}}),tn(Tl,ja,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Hi]},process:function(A){var F=this.options,j=A.pointers.length===F.pointers,re=A.distance"']/g,Vs=RegExp(pd.source),Je=RegExp(mu.source),_u=/<%-([\s\S]+?)%>/g,W=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,J=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,D=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/[\\^$.*+?()[\]{}|]/g,Z=RegExp(B.source),$=/^\s+/,le=/\s/,he=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,pe=/\{\n\/\* \[wrapped with (.+)\] \*/,Ge=/,? & /,an=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,xn=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,Et=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ln=/\w*$/,ri=/^[-+]0x[0-9a-f]+$/i,Hi=/^0b[01]+$/i,$i=/^\[object .+?Constructor\]$/,_n=/^0o[0-7]+$/i,Ci=/^(?:0|[1-9]\d*)$/,_c=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fo=/($^)/,gd=/['\n\r\u2028\u2029\\]/g,xl="\\ud800-\\udfff",Gi="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Pn="\\u2700-\\u27bf",vu="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",rr="\\ufe0e\\ufe0f",vc="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ih="["+xl+"]",Cu="["+vc+"]",ua="["+Gi+"]",Tl="\\d+",Ua="["+Pn+"]",Sp="["+vu+"]",At="[^"+xl+vc+Tl+Pn+vu+Me+"]",Al="\\ud83c[\\udffb-\\udfff]",da="[^"+xl+"]",md="(?:\\ud83c[\\udde6-\\uddff]){2}",A="[\\ud800-\\udbff][\\udc00-\\udfff]",F="["+Me+"]",j="\\u200d",re="(?:"+Sp+"|"+At+")",Fe="(?:"+F+"|"+At+")",Ue="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",vn="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",dr="(?:"+ua+"|"+Al+")?",yr="["+rr+"]?",Mx=yr+dr+"(?:"+j+"(?:"+[da,md,A].join("|")+")"+yr+dr+")*",_d="(?:"+[Ua,md,A].join("|")+")"+Mx,mi="(?:"+[da+ua+"?",ua,md,A,Ih].join("|")+")",xp=RegExp("['\u2019]","g"),d_=RegExp(ua,"g"),Ph=RegExp(Al+"(?="+Al+")|"+mi+Mx,"g"),b0=RegExp([F+"?"+Sp+"+"+Ue+"(?="+[Cu,F,"$"].join("|")+")",Fe+"+"+vn+"(?="+[Cu,F+re,"$"].join("|")+")",F+"?"+re+"+"+Ue,F+"+"+vn,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Tl,_d].join("|"),"g"),xx=RegExp("["+j+xl+Gi+rr+"]"),Dl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Tx=-1,Ne={};Ne[uo]=Ne[za]=Ne[Ni]=Ne[us]=Ne[ho]=Ne[gc]=Ne[Sl]=Ne[fu]=Ne[pu]=!0,Ne[cs]=Ne[aa]=Ne[El]=Ne[ci]=Ne[Va]=Ne[pt]=Ne[ki]=Ne[la]=Ne[Fi]=Ne[$r]=Ne[ir]=Ne[Gr]=Ne[Nr]=Ne[ii]=Ne[di]=!1;var Si={};Si[cs]=Si[aa]=Si[El]=Si[Va]=Si[ci]=Si[pt]=Si[uo]=Si[za]=Si[Ni]=Si[us]=Si[ho]=Si[Fi]=Si[$r]=Si[ir]=Si[Gr]=Si[Nr]=Si[ii]=Si[pc]=Si[gc]=Si[Sl]=Si[fu]=Si[pu]=!0,Si[ki]=Si[la]=Si[di]=!1;var Pe={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ax=parseFloat,S0=parseInt,oe="object"==typeof global&&global&&global.Object===Object&&global,ds="object"==typeof self&&self&&self.Object===Object&&self,Kn=oe||ds||Function("return this")(),Ol=We&&!We.nodeType&&We,ha=Ol&>&&!gt.nodeType&>,po=ha&&ha.exports===Ol,h_=po&&oe.process,Wi=function(){try{return ha&&ha.require&&ha.require("util").types||h_&&h_.binding&&h_.binding("util")}catch(fe){}}(),it=Wi&&Wi.isArrayBuffer,bn=Wi&&Wi.isDate,Oi=Wi&&Wi.isMap,js=Wi&&Wi.isRegExp,bc=Wi&&Wi.isSet,Tr=Wi&&Wi.isTypedArray;function Ar(q,fe,se){switch(se.length){case 0:return q.call(fe);case 1:return q.call(fe,se[0]);case 2:return q.call(fe,se[0],se[1]);case 3:return q.call(fe,se[0],se[1],se[2])}return q.apply(fe,se)}function hr(q,fe,se,lt){for(var Rt=-1,Wn=null==q?0:q.length;++Rt-1}function kh(q,fe,se){for(var lt=-1,Rt=null==q?0:q.length;++lt-1;);return se}function Px(q,fe){for(var se=q.length;se--&&Ha(fe,q[se],0)>-1;);return se}function r2(q,fe){for(var se=q.length,lt=0;se--;)q[se]===fe&&++lt;return lt}var s2=Fo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),o2=Fo({"&":"&","<":"<",">":">",'"':""","'":"'"});function a2(q){return"\\"+Pe[q]}function Lh(q){return xx.test(q)}function x0(q){var fe=-1,se=Array(q.size);return q.forEach(function(lt,Rt){se[++fe]=[Rt,lt]}),se}function Rx(q,fe){return function(se){return q(fe(se))}}function Eu(q,fe){for(var se=-1,lt=q.length,Rt=0,Wn=[];++se",""":'"',"'":"'"}),Vh=function q(fe){var u,se=(fe=null==fe?Kn:Vh.defaults(Kn.Object(),fe,Vh.pick(Kn,Rh))).Array,lt=fe.Date,Rt=fe.Error,Wn=fe.Function,vr=fe.Math,fi=fe.Object,v_=fe.RegExp,b_=fe.String,ga=fe.TypeError,Ii=se.prototype,Su=fi.prototype,Ap=fe["__core-js_shared__"],qi=Wn.prototype.toString,pi=Su.hasOwnProperty,f2=0,zh=(u=/[^.]+$/.exec(Ap&&Ap.keys&&Ap.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"",Ts=Su.toString,Nx=qi.call(fi),C_=Kn._,Ed=v_("^"+qi.call(pi).replace(B,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fs=po?fe.Buffer:L,Pl=fe.Symbol,Sd=fe.Uint8Array,D0=fs?fs.allocUnsafe:L,ma=Rx(fi.getPrototypeOf,fi),w_=fi.create,Dp=Su.propertyIsEnumerable,Yt=Ii.splice,Lx=Pl?Pl.isConcatSpreadable:L,jh=Pl?Pl.iterator:L,Mu=Pl?Pl.toStringTag:L,Op=function(){try{var u=Pc(fi,"defineProperty");return u({},"",{}),u}catch(h){}}(),O0=fe.clearTimeout!==Kn.clearTimeout&&fe.clearTimeout,Bx=lt&<.now!==Kn.Date.now&<.now,Vx=fe.setTimeout!==Kn.setTimeout&&fe.setTimeout,Oe=vr.ceil,Dn=vr.floor,en=fi.getOwnPropertySymbols,Dr=fs?fs.isBuffer:L,E_=fe.isFinite,Uh=Ii.join,Ga=Rx(fi.keys,fi),pr=vr.max,Lr=vr.min,p2=lt.now,zx=fe.parseInt,Hh=vr.random,Ip=Ii.reverse,Yr=Pc(fe,"DataView"),Us=Pc(fe,"Map"),Pp=Pc(fe,"Promise"),_a=Pc(fe,"Set"),mo=Pc(fe,"WeakMap"),$h=Pc(fi,"create"),Gh=mo&&new mo,Md={},jx=Lu(Yr),S_=Lu(Us),M_=Lu(Pp),I0=Lu(_a),x_=Lu(mo),Rp=Pl?Pl.prototype:L,xd=Rp?Rp.valueOf:L,Wh=Rp?Rp.toString:L;function O(u){if(Ki(u)&&!Bt(u)&&!(u instanceof Cn)){if(u instanceof _o)return u;if(pi.call(u,"__wrapped__"))return Ud(u)}return new _o(u)}var xu=function(){function u(){}return function(h){if(!Xi(h))return{};if(w_)return w_(h);u.prototype=h;var m=new u;return u.prototype=L,m}}();function qh(){}function _o(u,h){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!h,this.__index__=0,this.__values__=L}function Cn(u){this.__wrapped__=u,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jt,this.__views__=[]}function Hs(u){var h=-1,m=null==u?0:u.length;for(this.clear();++h=h?u:h)),u}function ps(u,h,m,b,M,P){var z,H=1&h,X=2&h,be=4&h;if(m&&(z=M?m(u,b,M,P):m(u)),z!==L)return z;if(!Xi(u))return u;var Ce=Bt(u);if(Ce){if(z=function(u){var h=u.length,m=new u.constructor(h);return h&&"string"==typeof u[0]&&pi.call(u,"index")&&(m.index=u.index,m.input=u.input),m}(u),!H)return Ds(u,z)}else{var Re=ms(u),et=Re==la||Re==La;if(nl(u))return Wp(u,H);if(Re==ir||Re==cs||et&&!M){if(z=X||et?{}:rC(u),!H)return X?function(u,h){return Ca(u,tC(u),h)}(u,function(u,h){return u&&Ca(h,Is(h),u)}(z,u)):function(u,h){return Ca(u,Y_(u),h)}(u,Zx(z,u))}else{if(!Si[Re])return M?u:{};z=function(u,h,m){var b=u.constructor;switch(h){case El:return Ru(u);case ci:case pt:return new b(+u);case Va:return function(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.byteLength)}(u,m);case uo:case za:case Ni:case us:case ho:case gc:case Sl:case fu:case pu:return H_(u,m);case Fi:return new b;case $r:case ii:return new b(u);case Gr:return function(u){var h=new u.constructor(u.source,ln.exec(u));return h.lastIndex=u.lastIndex,h}(u);case Nr:return new b;case pc:return function(u){return xd?fi(xd.call(u)):{}}(u)}}(u,Re,H)}}P||(P=new va);var St=P.get(u);if(St)return St;P.set(u,z),gT(u)?u.forEach(function(Xt){z.add(ps(Xt,h,m,Xt,u,P))}):dT(u)&&u.forEach(function(Xt,Sn){z.set(Sn,ps(Xt,h,m,Sn,u,P))});var En=Ce?L:(be?X?W_:Bl:X?Is:es)(u);return hs(En||u,function(Xt,Sn){En&&(Xt=u[Sn=Xt]),qa(z,Sn,ps(Xt,h,m,Sn,u,P))}),z}function Vp(u,h,m){var b=m.length;if(null==u)return!b;for(u=fi(u);b--;){var M=m[b],z=u[M];if(z===L&&!(M in u)||!(0,h[M])(z))return!1}return!0}function Kh(u,h,m){if("function"!=typeof u)throw new ga(ft);return rf(function(){u.apply(L,m)},h)}function Sc(u,h,m,b){var M=-1,P=Il,z=!0,H=u.length,X=[],be=h.length;if(!H)return X;m&&(h=hi(h,Lo(m))),b?(P=kh,z=!1):h.length>=200&&(P=Nh,z=!1,h=new ya(h));e:for(;++M-1},Rl.prototype.set=function(u,h){var m=this.__data__,b=Ad(m,u);return b<0?(++this.size,m.push([u,h])):m[b][1]=h,this},Wa.prototype.clear=function(){this.size=0,this.__data__={hash:new Hs,map:new(Us||Rl),string:new Hs}},Wa.prototype.delete=function(u){var h=gs(this,u).delete(u);return this.size-=h?1:0,h},Wa.prototype.get=function(u){return gs(this,u).get(u)},Wa.prototype.has=function(u){return gs(this,u).has(u)},Wa.prototype.set=function(u,h){var m=gs(this,u),b=m.size;return m.set(u,h),this.size+=m.size==b?0:1,this},ya.prototype.add=ya.prototype.push=function(u){return this.__data__.set(u,Tt),this},ya.prototype.has=function(u){return this.__data__.has(u)},va.prototype.clear=function(){this.__data__=new Rl,this.size=0},va.prototype.delete=function(u){var h=this.__data__,m=h.delete(u);return this.size=h.size,m},va.prototype.get=function(u){return this.__data__.get(u)},va.prototype.has=function(u){return this.__data__.has(u)},va.prototype.set=function(u,h){var m=this.__data__;if(m instanceof Rl){var b=m.__data__;if(!Us||b.length<199)return b.push([u,h]),this.size=++m.size,this;m=this.__data__=new Wa(b)}return m.set(u,h),this.size=m.size,this};var Mc=Za(Xa),k_=Za(zp,!0);function L0(u,h){var m=!0;return Mc(u,function(b,M,P){return m=!!h(b,M,P)}),m}function Zh(u,h,m){for(var b=-1,M=u.length;++b0&&m(H)?h>1?Xr(H,h-1,m,b,M):fr(M,H):b||(M[M.length]=H)}return M}var Dd=W0(),Od=W0(!0);function Xa(u,h){return u&&Dd(u,h,es)}function zp(u,h){return u&&Od(u,h,es)}function Qh(u,h){return fa(h,function(m){return Wo(u[m])})}function Bo(u,h){for(var m=0,b=(h=Dc(h,u)).length;null!=u&&mh}function Id(u,h){return null!=u&&pi.call(u,h)}function Pd(u,h){return null!=u&&h in fi(u)}function Au(u,h,m){for(var b=m?kh:Il,M=u[0].length,P=u.length,z=P,H=se(P),X=1/0,be=[];z--;){var Ce=u[z];z&&h&&(Ce=hi(Ce,Lo(h))),X=Lr(Ce.length,X),H[z]=!m&&(h||M>=120&&Ce.length>=120)?new ya(z&&Ce):L}Ce=u[0];var Re=-1,et=H[0];e:for(;++Re=H?X:X*("desc"==m[b]?-1:1)}return u.index-h.index}(P,z,m)});se--;)q[se]=q[se].value;return q}(n1(u,function(P,z,H){return{criteria:hi(h,function(be){return be(P)}),index:++b,value:P}}))}function U0(u,h,m){for(var b=-1,M=h.length,P={};++b-1;)H!==u&&Yt.call(H,X,1),Yt.call(u,X,1);return u}function ef(u,h){for(var m=u?h.length:0,b=m-1;m--;){var M=h[m];if(m==b||M!==P){var P=M;bo(M)?Yt.call(u,M,1):Ou(u,M)}}return u}function kl(u,h){return u+Dn(Hh()*(h-u+1))}function Up(u,h){var m="";if(!u||h<1||h>Gn)return m;do{h%2&&(m+=u),(h=Dn(h/2))&&(u+=u)}while(h);return m}function wn(u,h){return ng(y1(u,h,Ps),u+"")}function r1(u){return O_(Zd(u))}function E2(u,h){var m=Zd(u);return jd(m,Tu(h,0,m.length))}function Hp(u,h,m,b){if(!Xi(u))return u;for(var M=-1,P=(h=Dc(h,u)).length,z=P-1,H=u;null!=H&&++MM?0:M+h),(m=m>M?M:m)<0&&(m+=M),M=h>m?0:m-h>>>0,h>>>=0;for(var P=se(M);++b>>1,z=u[P];null!==z&&!qo(z)&&(m?z<=h:z=200){var be=h?null:G_(u);if(be)return m_(be);z=!1,M=Nh,X=new ya}else X=h?[]:H;e:for(;++b=b?u:Qr(u,h,m)}var a1=O0||function(u){return Kn.clearTimeout(u)};function Wp(u,h){if(h)return u.slice();var m=u.length,b=D0?D0(m):new u.constructor(m);return u.copy(b),b}function Ru(u){var h=new u.constructor(u.byteLength);return new Sd(h).set(new Sd(u)),h}function H_(u,h){var m=h?Ru(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.length)}function Oc(u,h){if(u!==h){var m=u!==L,b=null===u,M=u==u,P=qo(u),z=h!==L,H=null===h,X=h==h,be=qo(h);if(!H&&!be&&!P&&u>h||P&&z&&X&&!H&&!be||b&&z&&X||!m&&X||!M)return 1;if(!b&&!P&&!be&&u1?m[M-1]:L,z=M>2?m[2]:L;for(P=u.length>3&&"function"==typeof P?(M--,P):L,z&&_s(m[0],m[1],z)&&(P=M<3?L:P,M=1),h=fi(h);++b-1?M[P?h[z]:z]:L}}function Fu(u){return Qa(function(h){var m=h.length,b=m,M=_o.prototype.thru;for(u&&h.reverse();b--;){var P=h[b];if("function"!=typeof P)throw new ga(ft);if(M&&!z&&"wrapper"==Jp(P))var z=new _o([],!0)}for(b=z?b:m;++b1&&Bn.reverse(),Ce&&XH))return!1;var be=P.get(u),Ce=P.get(h);if(be&&Ce)return be==h&&Ce==u;var Re=-1,et=!0,St=2&m?new ya:L;for(P.set(u,h),P.set(h,u);++Re-1&&u%1==0&&u1?"& ":"")+h[b],h=h.join(m>2?", ":" "),u.replace(he,"{\n/* [wrapped with "+h+"] */\n")}(b,function(u,h){return hs(Dh,function(m){var b="_."+m[0];h&m[1]&&!Il(u,b)&&u.push(b)}),u.sort()}(function(u){var h=u.match(pe);return h?h[1].split(Ge):[]}(b),m)))}function ey(u){var h=0,m=0;return function(){var b=p2(),M=16-(b-m);if(m=b,M>0){if(++h>=800)return arguments[0]}else h=0;return u.apply(L,arguments)}}function jd(u,h){var m=-1,b=u.length,M=b-1;for(h=h===L?b:h;++m1?u[h-1]:L;return m="function"==typeof m?(u.pop(),m):L,j1(u,m)});function dy(u){var h=O(u);return h.__chain__=!0,h}function $d(u,h){return h(u)}var hy=Qa(function(u){var h=u.length,m=h?u[0]:0,b=this.__wrapped__,M=function(P){return P_(P,u)};return!(h>1||this.__actions__.length)&&b instanceof Cn&&bo(m)?((b=b.slice(m,+m+(h?1:0))).__actions__.push({func:$d,args:[M],thisArg:L}),new _o(b,this.__chain__).thru(function(P){return h&&!P.length&&P.push(L),P})):this.thru(M)}),$1=br(function(u,h,m){pi.call(u,m)?++u[m]:Ya(u,m,1)}),q1=Y0(ny),Y1=Y0(iy);function my(u,h){return(Bt(u)?hs:Mc)(u,Ut(h,3))}function og(u,h){return(Bt(u)?yd:k_)(u,Ut(h,3))}var K1=br(function(u,h,m){pi.call(u,m)?u[m].push(h):Ya(u,m,[h])}),xC=wn(function(u,h,m){var b=-1,M="function"==typeof h,P=$s(u)?se(u.length):[];return Mc(u,function(z){P[++b]=M?Ar(h,z,m):ba(z,h,m)}),P}),TC=br(function(u,h,m){Ya(u,m,h)});function el(u,h){return(Bt(u)?hi:n1)(u,Ut(h,3))}var DC=br(function(u,h,m){u[m?0:1].push(h)},function(){return[[],[]]}),lg=wn(function(u,h){if(null==u)return[];var m=h.length;return m>1&&_s(u,h[0],h[1])?h=[]:m>2&&_s(h[0],h[1],h[2])&&(h=[h[0]]),Jh(u,Xr(h,1),[])}),Bu=Bx||function(){return Kn.Date.now()};function cg(u,h,m){return h=m?L:h,Ll(u,128,L,L,L,L,h=u&&null==h?u.length:h)}function yy(u,h){var m;if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){return--u>0&&(m=h.apply(this,arguments)),u<=1&&(h=L),m}}var cf=wn(function(u,h,m){var b=1;if(m.length){var M=Eu(m,zd(cf));b|=32}return Ll(u,b,h,m,M)}),Wd=wn(function(u,h,m){var b=3;if(m.length){var M=Eu(m,zd(Wd));b|=32}return Ll(h,b,u,m,M)});function NC(u,h,m){var b,M,P,z,H,X,be=0,Ce=!1,Re=!1,et=!0;if("function"!=typeof u)throw new ga(ft);function St(Qn){var sl=b,Lc=M;return b=M=L,be=Qn,z=u.apply(Lc,sl)}function Wt(Qn){return be=Qn,H=rf(Sn,h),Ce?St(Qn):z}function Xt(Qn){var sl=Qn-X;return X===L||sl>=h||sl<0||Re&&Qn-be>=P}function Sn(){var Qn=Bu();if(Xt(Qn))return Bn(Qn);H=rf(Sn,function(Qn){var sA=h-(Qn-X);return Re?Lr(sA,P-(Qn-be)):sA}(Qn))}function Bn(Qn){return H=L,et&&b?St(Qn):(b=M=L,z)}function Yo(){var Qn=Bu(),sl=Xt(Qn);if(b=arguments,M=this,X=Qn,sl){if(H===L)return Wt(X);if(Re)return a1(H),H=rf(Sn,h),St(X)}return H===L&&(H=rf(Sn,h)),z}return h=Gs(h)||0,Xi(m)&&(Ce=!!m.leading,P=(Re="maxWait"in m)?pr(Gs(m.maxWait)||0,h):P,et="trailing"in m?!!m.trailing:et),Yo.cancel=function(){H!==L&&a1(H),be=0,b=X=M=H=L},Yo.flush=function(){return H===L?z:Bn(Bu())},Yo}var eT=wn(function(u,h){return Kh(u,1,h)}),LC=wn(function(u,h,m){return Kh(u,Gs(h)||0,m)});function uf(u,h){if("function"!=typeof u||null!=h&&"function"!=typeof h)throw new ga(ft);var m=function(){var b=arguments,M=h?h.apply(this,b):b[0],P=m.cache;if(P.has(M))return P.get(M);var z=u.apply(this,b);return m.cache=P.set(M,z)||P,z};return m.cache=new(uf.Cache||Wa),m}function Cy(u){if("function"!=typeof u)throw new ga(ft);return function(){var h=arguments;switch(h.length){case 0:return!u.call(this);case 1:return!u.call(this,h[0]);case 2:return!u.call(this,h[0],h[1]);case 3:return!u.call(this,h[0],h[1],h[2])}return!u.apply(this,h)}}uf.Cache=Wa;var tT=o1(function(u,h){var m=(h=1==h.length&&Bt(h[0])?hi(h[0],Lo(Ut())):hi(Xr(h,1),Lo(Ut()))).length;return wn(function(b){for(var M=-1,P=Lr(b.length,m);++M=h}),tl=Qx(function(){return arguments}())?Qx:function(u){return Ki(u)&&pi.call(u,"callee")&&!Dp.call(u,"callee")},Bt=se.isArray,HC=it?Lo(it):function(u){return Ki(u)&&Kr(u)==El};function $s(u){return null!=u&&Ey(u.length)&&!Wo(u)}function Yi(u){return Ki(u)&&$s(u)}var nl=Dr||Wy,$C=bn?Lo(bn):function(u){return Ki(u)&&Kr(u)==pt};function Ea(u){if(!Ki(u))return!1;var h=Kr(u);return h==ki||"[object DOMException]"==h||"string"==typeof u.message&&"string"==typeof u.name&&!fg(u)}function Wo(u){if(!Xi(u))return!1;var h=Kr(u);return h==la||h==La||"[object AsyncFunction]"==h||"[object Proxy]"==h}function hg(u){return"number"==typeof u&&u==hn(u)}function Ey(u){return"number"==typeof u&&u>-1&&u%1==0&&u<=Gn}function Xi(u){var h=typeof u;return null!=u&&("object"==h||"function"==h)}function Ki(u){return null!=u&&"object"==typeof u}var dT=Oi?Lo(Oi):function(u){return Ki(u)&&ms(u)==Fi};function pT(u){return"number"==typeof u||Ki(u)&&Kr(u)==$r}function fg(u){if(!Ki(u)||Kr(u)!=ir)return!1;var h=ma(u);if(null===h)return!0;var m=pi.call(h,"constructor")&&h.constructor;return"function"==typeof m&&m instanceof m&&qi.call(m)==Nx}var YC=js?Lo(js):function(u){return Ki(u)&&Kr(u)==Gr},gT=bc?Lo(bc):function(u){return Ki(u)&&ms(u)==Nr};function My(u){return"string"==typeof u||!Bt(u)&&Ki(u)&&Kr(u)==ii}function qo(u){return"symbol"==typeof u||Ki(u)&&Kr(u)==pc}var df=Tr?Lo(Tr):function(u){return Ki(u)&&Ey(u.length)&&!!Ne[Kr(u)]},Rc=Kp(j0),xy=Kp(function(u,h){return u<=h});function XC(u){if(!u)return[];if($s(u))return My(u)?$a(u):Ds(u);if(jh&&u[jh])return function(q){for(var fe,se=[];!(fe=q.next()).done;)se.push(fe.value);return se}(u[jh]());var h=ms(u);return(h==Fi?x0:h==Nr?m_:Zd)(u)}function il(u){return u?(u=Gs(u))===pn||u===-pn?17976931348623157e292*(u<0?-1:1):u==u?u:0:0===u?u:0}function hn(u){var h=il(u),m=h%1;return h==h?m?h-m:h:0}function Ty(u){return u?Tu(hn(u),0,jt):0}function Gs(u){if("number"==typeof u)return u;if(qo(u))return NaN;if(Xi(u)){var h="function"==typeof u.valueOf?u.valueOf():u;u=Xi(h)?h+"":h}if("string"!=typeof u)return 0===u?u:+u;u=M0(u);var m=Hi.test(u);return m||_n.test(u)?S0(u.slice(2),m?2:8):ri.test(u)?NaN:+u}function KC(u){return Ca(u,Is(u))}function Zn(u){return null==u?"":vo(u)}var mT=Fl(function(u,h){if(tg(h)||$s(h))Ca(h,es(h),u);else for(var m in h)pi.call(h,m)&&qa(u,m,h[m])}),_T=Fl(function(u,h){Ca(h,Is(h),u)}),qd=Fl(function(u,h,m,b){Ca(h,Is(h),u,b)}),yT=Fl(function(u,h,m,b){Ca(h,es(h),u,b)}),ZC=Qa(P_),bT=wn(function(u,h){u=fi(u);var m=-1,b=h.length,M=b>2?h[2]:L;for(M&&_s(h[0],h[1],M)&&(b=1);++m1),P}),Ca(u,W_(u),m),b&&(m=ps(m,7,Zp));for(var M=h.length;M--;)Ou(m,h[M]);return m}),MT=Qa(function(u,h){return null==u?{}:function(u,h){return U0(u,h,function(m,b){return pg(u,b)})}(u,h)});function rw(u,h){if(null==u)return{};var m=hi(W_(u),function(b){return[b]});return h=Ut(h),U0(u,m,function(b,M){return h(b,M[0])})}var xT=Nu(es),ow=Nu(Is);function Zd(u){return null==u?[]:g_(u,es(u))}var IT=Nl(function(u,h,m){return h=h.toLowerCase(),u+(m?Iy(h):h)});function Iy(u){return _g(Zn(u).toLowerCase())}function Py(u){return(u=Zn(u))&&u.replace(_c,s2).replace(d_,"")}var RT=Nl(function(u,h,m){return u+(m?"-":"")+h.toLowerCase()}),kT=Nl(function(u,h,m){return u+(m?" ":"")+h.toLowerCase()}),$2=qp("toLowerCase"),VT=Nl(function(u,h,m){return u+(m?"_":"")+h.toLowerCase()}),Fy=Nl(function(u,h,m){return u+(m?" ":"")+_g(h)}),hw=Nl(function(u,h,m){return u+(m?" ":"")+h.toUpperCase()}),_g=qp("toUpperCase");function Vy(u,h,m){return u=Zn(u),(h=m?L:h)===L?function(q){return Dl.test(q)}(u)?function(q){return q.match(b0)||[]}(u):function(q){return q.match(an)||[]}(u):u.match(h)||[]}var zy=wn(function(u,h){try{return Ar(u,L,h)}catch(m){return Ea(m)?m:new Rt(m)}}),fw=Qa(function(u,h){return hs(h,function(m){m=mn(m),Ya(u,m,cf(u[m],u))}),u});function jy(u){return function(){return u}}var W2=Fu(),Fc=Fu(!0);function Ps(u){return u}function Vu(u){return t1("function"==typeof u?u:ps(u,1))}var Uy=wn(function(u,h){return function(m){return ba(m,u,h)}}),pw=wn(function(u,h){return function(m){return ba(u,m,h)}});function Hy(u,h,m){var b=es(h),M=Qh(h,b);null==m&&(!Xi(h)||!M.length&&b.length)&&(m=h,h=u,u=this,M=Qh(h,es(h)));var P=!(Xi(m)&&"chain"in m&&!m.chain),z=Wo(u);return hs(M,function(H){var X=h[H];u[H]=X,z&&(u.prototype[H]=function(){var be=this.__chain__;if(P||be){var Ce=u(this.__wrapped__),Re=Ce.__actions__=Ds(this.__actions__);return Re.push({func:X,args:arguments,thisArg:u}),Ce.__chain__=be,Ce}return X.apply(u,fr([this.value()],arguments))})}),u}function $y(){}var WT=Yp(hi),qT=Yp(gn),mw=Yp(go);function zu(u){return Uo(u)?f_(mn(u)):function(u){return function(h){return Bo(h,u)}}(u)}var XT=K0(),KT=K0(!0);function Nc(){return[]}function Wy(){return!1}var Nt=$_(function(u,h){return u+h},0),qy=Vd("ceil"),Y2=$_(function(u,h){return u/h},1),jl=Vd("floor"),bw=$_(function(u,h){return u*h},1),Cw=Vd("round"),ww=$_(function(u,h){return u-h},0);return O.after=function(u,h){if("function"!=typeof h)throw new ga(ft);return u=hn(u),function(){if(--u<1)return h.apply(this,arguments)}},O.ary=cg,O.assign=mT,O.assignIn=_T,O.assignInWith=qd,O.assignWith=yT,O.at=ZC,O.before=yy,O.bind=cf,O.bindAll=fw,O.bindKey=Wd,O.castArray=function(){if(!arguments.length)return[];var u=arguments[0];return Bt(u)?u:[u]},O.chain=dy,O.chunk=function(u,h,m){h=(m?_s(u,h,m):h===L)?1:pr(hn(h),0);var b=null==u?0:u.length;if(!b||h<1)return[];for(var M=0,P=0,z=se(Oe(b/h));MM?0:M+m),(b=b===L||b>M?M:hn(b))<0&&(b+=M),b=m>b?0:Ty(b);m>>0)?(u=Zn(u))&&("string"==typeof h||null!=h&&!YC(h))&&!(h=vo(h))&&Lh(u)?Ka($a(u),0,m):u.split(h,m):[]},O.spread=function(u,h){if("function"!=typeof u)throw new ga(ft);return h=null==h?0:pr(hn(h),0),wn(function(m){var b=m[h],M=Ka(m,0,h);return b&&fr(M,b),Ar(u,this,M)})},O.tail=function(u){var h=null==u?0:u.length;return h?Qr(u,1,h):[]},O.take=function(u,h,m){return u&&u.length?Qr(u,0,(h=m||h===L?1:hn(h))<0?0:h):[]},O.takeRight=function(u,h,m){var b=null==u?0:u.length;return b?Qr(u,(h=b-(h=m||h===L?1:hn(h)))<0?0:h,b):[]},O.takeRightWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3),!1,!0):[]},O.takeWhile=function(u,h){return u&&u.length?Iu(u,Ut(h,3)):[]},O.tap=function(u,h){return h(u),u},O.throttle=function(u,h,m){var b=!0,M=!0;if("function"!=typeof u)throw new ga(ft);return Xi(m)&&(b="leading"in m?!!m.leading:b,M="trailing"in m?!!m.trailing:M),NC(u,h,{leading:b,maxWait:h,trailing:M})},O.thru=$d,O.toArray=XC,O.toPairs=xT,O.toPairsIn=ow,O.toPath=function(u){return Bt(u)?hi(u,mn):qo(u)?[u]:Ds(lC(Zn(u)))},O.toPlainObject=KC,O.transform=function(u,h,m){var b=Bt(u),M=b||nl(u)||df(u);if(h=Ut(h,4),null==m){var P=u&&u.constructor;m=M?b?new P:[]:Xi(u)&&Wo(P)?xu(ma(u)):{}}return(M?hs:Xa)(u,function(z,H,X){return h(m,z,H,X)}),m},O.unary=function(u){return cg(u,1)},O.union=yC,O.unionBy=ly,O.unionWith=sg,O.uniq=function(u){return u&&u.length?Tc(u):[]},O.uniqBy=function(u,h){return u&&u.length?Tc(u,Ut(h,2)):[]},O.uniqWith=function(u,h){return h="function"==typeof h?h:L,u&&u.length?Tc(u,L,h):[]},O.unset=function(u,h){return null==u||Ou(u,h)},O.unzip=vC,O.unzipWith=j1,O.update=function(u,h,m){return null==u?u:$p(u,h,U_(m))},O.updateWith=function(u,h,m,b){return b="function"==typeof b?b:L,null==u?u:$p(u,h,U_(m),b)},O.values=Zd,O.valuesIn=function(u){return null==u?[]:g_(u,Is(u))},O.without=bC,O.words=Vy,O.wrap=function(u,h){return ug(U_(h),u)},O.xor=R2,O.xorBy=Co,O.xorWith=cy,O.zip=uy,O.zipObject=function(u,h){return Gp(u||[],h||[],qa)},O.zipObjectDeep=function(u,h){return Gp(u||[],h||[],Hp)},O.zipWith=lf,O.entries=xT,O.entriesIn=ow,O.extend=_T,O.extendWith=qd,Hy(O,O),O.add=Nt,O.attempt=zy,O.camelCase=IT,O.capitalize=Iy,O.ceil=qy,O.clamp=function(u,h,m){return m===L&&(m=h,h=L),m!==L&&(m=(m=Gs(m))==m?m:0),h!==L&&(h=(h=Gs(h))==h?h:0),Tu(Gs(u),h,m)},O.clone=function(u){return ps(u,4)},O.cloneDeep=function(u){return ps(u,5)},O.cloneDeepWith=function(u,h){return ps(u,5,h="function"==typeof h?h:L)},O.cloneWith=function(u,h){return ps(u,4,h="function"==typeof h?h:L)},O.conformsTo=function(u,h){return null==h||Vp(u,h,es(h))},O.deburr=Py,O.defaultTo=function(u,h){return null==u||u!=u?h:u},O.divide=Y2,O.endsWith=function(u,h,m){u=Zn(u),h=vo(h);var b=u.length,M=m=m===L?b:Tu(hn(m),0,b);return(m-=h.length)>=0&&u.slice(m,M)==h},O.eq=kt,O.escape=function(u){return(u=Zn(u))&&Je.test(u)?u.replace(mu,o2):u},O.escapeRegExp=function(u){return(u=Zn(u))&&Z.test(u)?u.replace(B,"\\$&"):u},O.every=function(u,h,m){var b=Bt(u)?gn:L0;return m&&_s(u,h,m)&&(h=L),b(u,Ut(h,3))},O.find=q1,O.findIndex=ny,O.findKey=function(u,h){return Fh(u,Ut(h,3),Xa)},O.findLast=Y1,O.findLastIndex=iy,O.findLastKey=function(u,h){return Fh(u,Ut(h,3),zp)},O.floor=jl,O.forEach=my,O.forEachRight=og,O.forIn=function(u,h){return null==u?u:Dd(u,Ut(h,3),Is)},O.forInRight=function(u,h){return null==u?u:Od(u,Ut(h,3),Is)},O.forOwn=function(u,h){return u&&Xa(u,Ut(h,3))},O.forOwnRight=function(u,h){return u&&zp(u,Ut(h,3))},O.get=pf,O.gt=G,O.gte=UC,O.has=function(u,h){return null!=u&&iC(u,h,Id)},O.hasIn=pg,O.head=uC,O.identity=Ps,O.includes=function(u,h,m,b){u=$s(u)?u:Zd(u),m=m&&!b?hn(m):0;var M=u.length;return m<0&&(m=pr(M+m,0)),My(u)?m<=M&&u.indexOf(h,m)>-1:!!M&&Ha(u,h,m)>-1},O.indexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=null==m?0:hn(m);return M<0&&(M=pr(b+M,0)),Ha(u,h,M)},O.inRange=function(u,h,m){return h=il(h),m===L?(m=h,h=0):m=il(m),function(u,h,m){return u>=Lr(h,m)&&u=-Gn&&u<=Gn},O.isSet=gT,O.isString=My,O.isSymbol=qo,O.isTypedArray=df,O.isUndefined=function(u){return u===L},O.isWeakMap=function(u){return Ki(u)&&ms(u)==di},O.isWeakSet=function(u){return Ki(u)&&"[object WeakSet]"==Kr(u)},O.join=function(u,h){return null==u?"":Uh.call(u,h)},O.kebabCase=RT,O.last=Ho,O.lastIndexOf=function(u,h,m){var b=null==u?0:u.length;if(!b)return-1;var M=b;return m!==L&&(M=(M=hn(m))<0?pr(b+M,0):Lr(M,b-1)),h==h?function(q,fe,se){for(var lt=se+1;lt--;)if(q[lt]===fe)return lt;return lt}(u,h,M):bd(u,Cc,M,!0)},O.lowerCase=kT,O.lowerFirst=$2,O.lt=Rc,O.lte=xy,O.max=function(u){return u&&u.length?Zh(u,Ps,Zr):L},O.maxBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),Zr):L},O.mean=function(u){return qr(u,Ps)},O.meanBy=function(u,h){return qr(u,Ut(h,2))},O.min=function(u){return u&&u.length?Zh(u,Ps,j0):L},O.minBy=function(u,h){return u&&u.length?Zh(u,Ut(h,2),j0):L},O.stubArray=Nc,O.stubFalse=Wy,O.stubObject=function(){return{}},O.stubString=function(){return""},O.stubTrue=function(){return!0},O.multiply=bw,O.nth=function(u,h){return u&&u.length?Du(u,hn(h)):L},O.noConflict=function(){return Kn._===this&&(Kn._=C_),this},O.noop=$y,O.now=Bu,O.pad=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;if(!h||b>=h)return u;var M=(h-b)/2;return Xp(Dn(M),m)+u+Xp(Oe(M),m)},O.padEnd=function(u,h,m){u=Zn(u);var b=(h=hn(h))?Bh(u):0;return h&&bh){var b=u;u=h,h=b}if(m||u%1||h%1){var M=Hh();return Lr(u+M*(h-u+Ax("1e-"+((M+"").length-1))),h)}return kl(u,h)},O.reduce=function(u,h,m){var b=Bt(u)?wu:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,Mc)},O.reduceRight=function(u,h,m){var b=Bt(u)?vd:No,M=arguments.length<3;return b(u,Ut(h,4),m,M,k_)},O.repeat=function(u,h,m){return h=(m?_s(u,h,m):h===L)?1:hn(h),Up(Zn(u),h)},O.replace=function(){var u=arguments,h=Zn(u[0]);return u.length<3?h:h.replace(u[1],u[2])},O.result=function(u,h,m){var b=-1,M=(h=Dc(h,u)).length;for(M||(M=1,u=L);++bGn)return[];var m=jt,b=Lr(u,jt);h=Ut(h),u-=jt;for(var M=wd(b,h);++m=P)return u;var H=m-Bh(b);if(H<1)return b;var X=z?Ka(z,0,H).join(""):u.slice(0,H);if(M===L)return X+b;if(z&&(H+=X.length-H),YC(M)){if(u.slice(H).search(M)){var be,Ce=X;for(M.global||(M=v_(M.source,Zn(ln.exec(M))+"g")),M.lastIndex=0;be=M.exec(Ce);)var Re=be.index;X=X.slice(0,Re===L?H:Re)}}else if(u.indexOf(vo(M),H)!=H){var et=X.lastIndexOf(M);et>-1&&(X=X.slice(0,et))}return X+b},O.unescape=function(u){return(u=Zn(u))&&Vs.test(u)?u.replace(pd,y_):u},O.uniqueId=function(u){var h=++f2;return Zn(u)+h},O.upperCase=hw,O.upperFirst=_g,O.each=my,O.eachRight=og,O.first=uC,Hy(O,function(){var u={};return Xa(O,function(h,m){pi.call(O.prototype,m)||(u[m]=h)}),u}(),{chain:!1}),O.VERSION="4.17.21",hs(["bind","bindKey","curry","curryRight","partial","partialRight"],function(u){O[u].placeholder=O}),hs(["drop","take"],function(u,h){Cn.prototype[u]=function(m){m=m===L?1:pr(hn(m),0);var b=this.__filtered__&&!h?new Cn(this):this.clone();return b.__filtered__?b.__takeCount__=Lr(m,b.__takeCount__):b.__views__.push({size:Lr(m,jt),type:u+(b.__dir__<0?"Right":"")}),b},Cn.prototype[u+"Right"]=function(m){return this.reverse()[u](m).reverse()}}),hs(["filter","map","takeWhile"],function(u,h){var m=h+1,b=1==m||3==m;Cn.prototype[u]=function(M){var P=this.clone();return P.__iteratees__.push({iteratee:Ut(M,3),type:m}),P.__filtered__=P.__filtered__||b,P}}),hs(["head","last"],function(u,h){var m="take"+(h?"Right":"");Cn.prototype[u]=function(){return this[m](1).value()[0]}}),hs(["initial","tail"],function(u,h){var m="drop"+(h?"":"Right");Cn.prototype[u]=function(){return this.__filtered__?new Cn(this):this[m](1)}}),Cn.prototype.compact=function(){return this.filter(Ps)},Cn.prototype.find=function(u){return this.filter(u).head()},Cn.prototype.findLast=function(u){return this.reverse().find(u)},Cn.prototype.invokeMap=wn(function(u,h){return"function"==typeof u?new Cn(this):this.map(function(m){return ba(m,u,h)})}),Cn.prototype.reject=function(u){return this.filter(Cy(Ut(u)))},Cn.prototype.slice=function(u,h){u=hn(u);var m=this;return m.__filtered__&&(u>0||h<0)?new Cn(m):(u<0?m=m.takeRight(-u):u&&(m=m.drop(u)),h!==L&&(m=(h=hn(h))<0?m.dropRight(-h):m.take(h-u)),m)},Cn.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},Cn.prototype.toArray=function(){return this.take(jt)},Xa(Cn.prototype,function(u,h){var m=/^(?:filter|find|map|reject)|While$/.test(h),b=/^(?:head|last)$/.test(h),M=O[b?"take"+("last"==h?"Right":""):h],P=b||/^find/.test(h);!M||(O.prototype[h]=function(){var z=this.__wrapped__,H=b?[1]:arguments,X=z instanceof Cn,be=H[0],Ce=X||Bt(z),Re=function(Sn){var Bn=M.apply(O,fr([Sn],H));return b&&et?Bn[0]:Bn};Ce&&m&&"function"==typeof be&&1!=be.length&&(X=Ce=!1);var et=this.__chain__,St=!!this.__actions__.length,Wt=P&&!et,En=X&&!St;if(!P&&Ce){z=En?z:new Cn(this);var Xt=u.apply(z,H);return Xt.__actions__.push({func:$d,args:[Re],thisArg:L}),new _o(Xt,et)}return Wt&&En?u.apply(this,H):(Xt=this.thru(Re),Wt?b?Xt.value()[0]:Xt.value():Xt)})}),hs(["pop","push","shift","sort","splice","unshift"],function(u){var h=Ii[u],m=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",b=/^(?:pop|shift)$/.test(u);O.prototype[u]=function(){var M=arguments;if(b&&!this.__chain__){var P=this.value();return h.apply(Bt(P)?P:[],M)}return this[m](function(z){return h.apply(Bt(z)?z:[],M)})}}),Xa(Cn.prototype,function(u,h){var m=O[h];if(m){var b=m.name+"";pi.call(Md,b)||(Md[b]=[]),Md[b].push({name:h,func:m})}}),Md[Ic(L,2).name]=[{name:"wrapper",func:L}],Cn.prototype.clone=function(){var u=new Cn(this.__wrapped__);return u.__actions__=Ds(this.__actions__),u.__dir__=this.__dir__,u.__filtered__=this.__filtered__,u.__iteratees__=Ds(this.__iteratees__),u.__takeCount__=this.__takeCount__,u.__views__=Ds(this.__views__),u},Cn.prototype.reverse=function(){if(this.__filtered__){var u=new Cn(this);u.__dir__=-1,u.__filtered__=!0}else(u=this.clone()).__dir__*=-1;return u},Cn.prototype.value=function(){var u=this.__wrapped__.value(),h=this.__dir__,m=Bt(u),b=h<0,M=m?u.length:0,P=function(u,h,m){for(var b=-1,M=m.length;++b=this.__values__.length;return{done:u,value:u?L:this.__values__[this.__index__++]}},O.prototype.plant=function(u){for(var h,m=this;m instanceof qh;){var b=Ud(m);b.__index__=0,b.__values__=L,h?M.__wrapped__=b:h=b;var M=b;m=m.__wrapped__}return M.__wrapped__=u,h},O.prototype.reverse=function(){var u=this.__wrapped__;if(u instanceof Cn){var h=u;return this.__actions__.length&&(h=new Cn(this)),(h=h.reverse()).__actions__.push({func:$d,args:[ay],thisArg:L}),new _o(h,this.__chain__)}return this.thru(ay)},O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=function(){return s1(this.__wrapped__,this.__actions__)},O.prototype.first=O.prototype.head,jh&&(O.prototype[jh]=function(){return this}),O}();Kn._=Vh,(wt=function(){return Vh}.call(We,ze,We,gt))!==L&&(gt.exports=wt)}.call(this)},478:function(gt){gt.exports=function(){"use strict";function We(W,Y){for(var J=0;JW.length)&&(Y=W.length);for(var J=0,T=new Array(Y);J=W.length?{done:!0}:{done:!1,value:W[T++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Pt={exports:{}};function Ke(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}Pt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Ke,changeDefaults:function(W){Pt.exports.defaults=W}};var Ze=/[&<>"']/,Tt=/[&<>"']/g,Ft=/[<>"']|&(?!#?\w+;)/,we=/[<>"']|&(?!#?\w+;)/g,_e={"&":"&","<":"<",">":">",'"':""","'":"'"},ke=function(Y){return _e[Y]};var Te=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Vt(W){return W.replace(Te,function(Y,J){return"colon"===(J=J.toLowerCase())?":":"#"===J.charAt(0)?"x"===J.charAt(1)?String.fromCharCode(parseInt(J.substring(2),16)):String.fromCharCode(+J.substring(1)):""})}var He=/(^|[^\[])\^/g;var xt=/[^\w:]/g,tn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var Ei={},vi=/^[^:]+:\/*[^/]*$/,bi=/^([^:]+:)[\s\S]*$/,Mr=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ve(W,Y){Ei[" "+W]||(Ei[" "+W]=vi.test(W)?W+"/":Qt(W,"/",!0));var J=-1===(W=Ei[" "+W]).indexOf(":");return"//"===Y.substring(0,2)?J?Y:W.replace(bi,"$1")+Y:"/"===Y.charAt(0)?J?Y:W.replace(Mr,"$1")+Y:W+Y}function Qt(W,Y,J){var T=W.length;if(0===T)return"";for(var D=0;D1;)1&Y&&(J+=W),Y>>=1,W+=W;return J+W},Gn=Pt.exports.defaults,Ae=Qt,Ri=function(W,Y){var T=W.replace(/\|/g,function(B,Z,$){for(var le=!1,he=Z;--he>=0&&"\\"===$[he];)le=!le;return le?"|":" |"}).split(/ \|/),D=0;if(T.length>Y)T.splice(Y);else for(;T.length1?{type:"space",raw:D[0]}:{raw:"\n"}},Y.code=function(T){var D=this.rules.block.code.exec(T);if(D){var B=D[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:D[0],codeBlockStyle:"indented",text:this.options.pedantic?B:Ae(B,"\n")}}},Y.fences=function(T){var D=this.rules.block.fences.exec(T);if(D){var B=D[0],Z=function(W,Y){var J=W.match(/^(\s+)(?:```)/);if(null===J)return Y;var T=J[1];return Y.split("\n").map(function(D){var B=D.match(/^\s+/);return null===B?D:B[0].length>=T.length?D.slice(T.length):D}).join("\n")}(B,D[3]||"");return{type:"code",raw:B,lang:D[2]?D[2].trim():D[2],text:Z}}},Y.heading=function(T){var D=this.rules.block.heading.exec(T);if(D){var B=D[2].trim();if(/#$/.test(B)){var Z=Ae(B,"#");(this.options.pedantic||!Z||/ $/.test(Z))&&(B=Z.trim())}return{type:"heading",raw:D[0],depth:D[1].length,text:B}}},Y.nptable=function(T){var D=this.rules.block.nptable.exec(T);if(D){var B={type:"table",header:Ri(D[1].replace(/^ *| *\| *$/g,"")),align:D[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:D[3]?D[3].replace(/\n$/,"").split("\n"):[],raw:D[0]};if(B.header.length===B.align.length){var $,Z=B.align.length;for($=0;$ ?/gm,"");return{type:"blockquote",raw:D[0],text:B}}},Y.list=function(T){var D=this.rules.block.list.exec(T);if(D){var Ge,an,xn,qt,Et,ln,ri,Hi,$i,B=D[0],Z=D[2],$=Z.length>1,le={type:"list",raw:B,ordered:$,start:$?+Z.slice(0,-1):"",loose:!1,items:[]},he=D[0].match(this.rules.block.item),pe=!1,_n=he.length;xn=this.rules.block.listItemStart.exec(he[0]);for(var Ci=0;Ci<_n;Ci++){if(B=Ge=he[Ci],this.options.pedantic||($i=Ge.match(new RegExp("\\n\\s*\\n {0,"+(xn[0].length-1)+"}\\S")))&&(Et=Ge.length-$i.index+he.slice(Ci+1).join("\n").length,le.raw=le.raw.substring(0,le.raw.length-Et),B=Ge=Ge.substring(0,$i.index),_n=Ci+1),Ci!==_n-1){if(qt=this.rules.block.listItemStart.exec(he[Ci+1]),this.options.pedantic?qt[1].length>xn[1].length:qt[1].length>=xn[0].length||qt[1].length>3){he.splice(Ci,2,he[Ci]+(!this.options.pedantic&&qt[1].length/i.test(Z[0])&&(D=!1),!B&&/^<(pre|code|kbd|script)(\s|>)/i.test(Z[0])?B=!0:B&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Z[0])&&(B=!1),{type:this.options.sanitize?"text":"html",raw:Z[0],inLink:D,inRawBlock:B,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]}},Y.link=function(T){var D=this.rules.inline.link.exec(T);if(D){var B=D[2].trim();if(!this.options.pedantic&&/^$/.test(B))return;var Z=Ae(B.slice(0,-1),"\\");if((B.length-Z.length)%2==0)return}else{var $=xr(D[2],"()");if($>-1){var he=(0===D[0].indexOf("!")?5:4)+D[1].length+$;D[2]=D[2].substring(0,$),D[0]=D[0].substring(0,he).trim(),D[3]=""}}var pe=D[2],Ge="";if(this.options.pedantic){var an=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(pe);an&&(pe=an[1],Ge=an[3])}else Ge=D[3]?D[3].slice(1,-1):"";return pe=pe.trim(),/^$/.test(B)?pe.slice(1):pe.slice(1,-1)),ls(D,{href:pe&&pe.replace(this.rules.inline._escapes,"$1"),title:Ge&&Ge.replace(this.rules.inline._escapes,"$1")},D[0])}},Y.reflink=function(T,D){var B;if((B=this.rules.inline.reflink.exec(T))||(B=this.rules.inline.nolink.exec(T))){var Z=(B[2]||B[1]).replace(/\s+/g," ");if(!(Z=D[Z.toLowerCase()])||!Z.href){var $=B[0].charAt(0);return{type:"text",raw:$,text:$}}return ls(B,Z,B[0])}},Y.emStrong=function(T,D,B){void 0===B&&(B="");var Z=this.rules.inline.emStrong.lDelim.exec(T);if(Z&&(!Z[3]||!B.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var $=Z[1]||Z[2]||"";if(!$||$&&(""===B||this.rules.inline.punctuation.exec(B))){var he,pe,le=Z[0].length-1,Ge=le,an=0,xn="*"===Z[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(xn.lastIndex=0,D=D.slice(-1*T.length+le);null!=(Z=xn.exec(D));)if(he=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6]){if(pe=he.length,Z[3]||Z[4]){Ge+=pe;continue}if((Z[5]||Z[6])&&le%3&&!((le+pe)%3)){an+=pe;continue}if(!((Ge-=pe)>0))return pe=Math.min(pe,pe+Ge+an),Math.min(le,pe)%2?{type:"em",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(1,le+Z.index+pe)}:{type:"strong",raw:T.slice(0,le+Z.index+pe+1),text:T.slice(2,le+Z.index+pe-1)}}}}},Y.codespan=function(T){var D=this.rules.inline.code.exec(T);if(D){var B=D[2].replace(/\n/g," "),Z=/[^ ]/.test(B),$=/^ /.test(B)&&/ $/.test(B);return Z&&$&&(B=B.substring(1,B.length-1)),B=jt(B,!0),{type:"codespan",raw:D[0],text:B}}},Y.br=function(T){var D=this.rules.inline.br.exec(T);if(D)return{type:"br",raw:D[0]}},Y.del=function(T){var D=this.rules.inline.del.exec(T);if(D)return{type:"del",raw:D[0],text:D[2]}},Y.autolink=function(T,D){var Z,$,B=this.rules.inline.autolink.exec(T);if(B)return $="@"===B[2]?"mailto:"+(Z=jt(this.options.mangle?D(B[1]):B[1])):Z=jt(B[1]),{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}},Y.url=function(T,D){var B;if(B=this.rules.inline.url.exec(T)){var Z,$;if("@"===B[2])$="mailto:"+(Z=jt(this.options.mangle?D(B[0]):B[0]));else{var le;do{le=B[0],B[0]=this.rules.inline._backpedal.exec(B[0])[0]}while(le!==B[0]);Z=jt(B[0]),$="www."===B[1]?"http://"+Z:Z}return{type:"link",raw:B[0],text:Z,href:$,tokens:[{type:"text",raw:Z,text:Z}]}}},Y.inlineText=function(T,D,B){var $,Z=this.rules.inline.text.exec(T);if(Z)return $=D?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Z[0]):jt(Z[0]):Z[0]:jt(this.options.smartypants?B(Z[0]):Z[0]),{type:"text",raw:Z[0],text:$}},W}(),aa=pn_noopTest,Xn=pn_edit,ci=pn_merge,pt={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:aa,table:aa,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};pt.def=Xn(pt.def).replace("label",pt._label).replace("title",pt._title).getRegex(),pt.bullet=/(?:[*+-]|\d{1,9}[.)])/,pt.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,pt.item=Xn(pt.item,"gm").replace(/bull/g,pt.bullet).getRegex(),pt.listItemStart=Xn(/^( *)(bull) */).replace("bull",pt.bullet).getRegex(),pt.list=Xn(pt.list).replace(/bull/g,pt.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+pt.def.source+")").getRegex(),pt._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",pt._comment=/|$)/,pt.html=Xn(pt.html,"i").replace("comment",pt._comment).replace("tag",pt._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pt.paragraph=Xn(pt._paragraph).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.blockquote=Xn(pt.blockquote).replace("paragraph",pt.paragraph).getRegex(),pt.normal=ci({},pt),pt.gfm=ci({},pt.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),pt.gfm.nptable=Xn(pt.gfm.nptable).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.gfm.table=Xn(pt.gfm.table).replace("hr",pt.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pt._tag).getRegex(),pt.pedantic=ci({},pt.normal,{html:Xn("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",pt._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:aa,paragraph:Xn(pt.normal._paragraph).replace("hr",pt.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",pt.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ye={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:aa,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:aa,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ye.punctuation=Xn(Ye.punctuation).replace(/punctuation/g,Ye._punctuation).getRegex(),Ye.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ye.escapedEmSt=/\\\*|\\_/g,Ye._comment=Xn(pt._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ye.emStrong.lDelim=Xn(Ye.emStrong.lDelim).replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimAst=Xn(Ye.emStrong.rDelimAst,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye.emStrong.rDelimUnd=Xn(Ye.emStrong.rDelimUnd,"g").replace(/punct/g,Ye._punctuation).getRegex(),Ye._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ye._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ye._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ye.autolink=Xn(Ye.autolink).replace("scheme",Ye._scheme).replace("email",Ye._email).getRegex(),Ye._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ye.tag=Xn(Ye.tag).replace("comment",Ye._comment).replace("attribute",Ye._attribute).getRegex(),Ye._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ye._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ye._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ye.link=Xn(Ye.link).replace("label",Ye._label).replace("href",Ye._href).replace("title",Ye._title).getRegex(),Ye.reflink=Xn(Ye.reflink).replace("label",Ye._label).getRegex(),Ye.reflinkSearch=Xn(Ye.reflinkSearch,"g").replace("reflink",Ye.reflink).replace("nolink",Ye.nolink).getRegex(),Ye.normal=ci({},Ye),Ye.pedantic=ci({},Ye.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ye._label).getRegex(),reflink:Xn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ye._label).getRegex()}),Ye.gfm=ci({},Ye.normal,{escape:Xn(Ye.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(T="x"+T.toString(16)),Y+="&#"+T+";";return Y}var ui=function(){function W(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||La,this.options.tokenizer=this.options.tokenizer||new la,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var T={block:Fi.normal,inline:$r.normal};this.options.pedantic?(T.block=Fi.pedantic,T.inline=$r.pedantic):this.options.gfm&&(T.block=Fi.gfm,T.inline=this.options.breaks?$r.breaks:$r.gfm),this.tokenizer.rules=T}W.lex=function(T,D){return new W(D).lex(T)},W.lexInline=function(T,D){return new W(D).inlineTokens(T)};var Y=W.prototype;return Y.lex=function(T){return T=T.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(T,this.tokens,!0),this.inline(this.tokens),this.tokens},Y.blockTokens=function(T,D,B){var $,le,he,pe,Ge,an,Z=this;for(void 0===D&&(D=[]),void 0===B&&(B=!0),this.options.pedantic&&(T=T.replace(/^ +$/gm,""));T;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(qt){return!!($=qt.call(Z,T,D))&&(T=T.substring($.raw.length),D.push($),!0)}))){if($=this.tokenizer.space(T)){T=T.substring($.raw.length),$.type&&D.push($);continue}if($=this.tokenizer.code(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if($=this.tokenizer.fences(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.heading(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.nptable(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.hr(T)){T=T.substring($.raw.length),D.push($);continue}if($=this.tokenizer.blockquote(T)){T=T.substring($.raw.length),$.tokens=this.blockTokens($.text,[],B),D.push($);continue}if($=this.tokenizer.list(T)){for(T=T.substring($.raw.length),he=$.items.length,le=0;le=0&&(qt=Math.min(qt,ln))}),qt<1/0&&qt>=0&&(Ge=T.substring(0,qt+1))}(),B&&($=this.tokenizer.paragraph(Ge))){pe=D[D.length-1],an&&"paragraph"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($),an=Ge.length!==T.length,T=T.substring($.raw.length);continue}if($=this.tokenizer.text(T)){T=T.substring($.raw.length),(pe=D[D.length-1])&&"text"===pe.type?(pe.raw+="\n"+$.raw,pe.text+="\n"+$.text):D.push($);continue}if(T){var xn="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(xn);break}throw new Error(xn)}}return D},Y.inline=function(T){var D,B,Z,$,le,he,pe=T.length;for(D=0;D0)for(;null!=(an=this.tokenizer.rules.inline.reflinkSearch.exec(Ge));)Et.includes(an[0].slice(an[0].lastIndexOf("[")+1,-1))&&(Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(an=this.tokenizer.rules.inline.blockSkip.exec(Ge));)Ge=Ge.slice(0,an.index)+"["+Ba("a",an[0].length-2)+"]"+Ge.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(an=this.tokenizer.rules.inline.escapedEmSt.exec(Ge));)Ge=Ge.slice(0,an.index)+"++"+Ge.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;T;)if(xn||(qt=""),xn=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(ri){return!!(le=ri.call($,T,D))&&(T=T.substring(le.raw.length),D.push(le),!0)}))){if(le=this.tokenizer.escape(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.tag(T,B,Z)){T=T.substring(le.raw.length),B=le.inLink,Z=le.inRawBlock,(he=D[D.length-1])&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.link(T)){T=T.substring(le.raw.length),"link"===le.type&&(le.tokens=this.inlineTokens(le.text,[],!0,Z)),D.push(le);continue}if(le=this.tokenizer.reflink(T,this.tokens.links)){T=T.substring(le.raw.length),he=D[D.length-1],"link"===le.type?(le.tokens=this.inlineTokens(le.text,[],!0,Z),D.push(le)):he&&"text"===le.type&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(le=this.tokenizer.emStrong(T,Ge,qt)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.codespan(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.br(T)){T=T.substring(le.raw.length),D.push(le);continue}if(le=this.tokenizer.del(T)){T=T.substring(le.raw.length),le.tokens=this.inlineTokens(le.text,[],B,Z),D.push(le);continue}if(le=this.tokenizer.autolink(T,lo)){T=T.substring(le.raw.length),D.push(le);continue}if(!B&&(le=this.tokenizer.url(T,lo))){T=T.substring(le.raw.length),D.push(le);continue}if(pe=T,this.options.extensions&&this.options.extensions.startInline&&function(){var ri=1/0,Hi=T.slice(1),$i=void 0;$.options.extensions.startInline.forEach(function(_n){"number"==typeof($i=_n.call(this,Hi))&&$i>=0&&(ri=Math.min(ri,$i))}),ri<1/0&&ri>=0&&(pe=T.substring(0,ri+1))}(),le=this.tokenizer.inlineText(pe,Z,ir)){T=T.substring(le.raw.length),"_"!==le.raw.slice(-1)&&(qt=le.raw.slice(-1)),xn=!0,(he=D[D.length-1])&&"text"===he.type?(he.raw+=le.raw,he.text+=le.text):D.push(le);continue}if(T){var ln="Infinite loop on byte: "+T.charCodeAt(0);if(this.options.silent){console.error(ln);break}throw new Error(ln)}}return D},function(W,Y,J){Y&&We(W.prototype,Y),J&&We(W,J)}(W,null,[{key:"rules",get:function(){return{block:Fi,inline:$r}}}]),W}(),Gr=Pt.exports.defaults,Nr=pn_cleanUrl,ii=pn_escape,pc=function(){function W(J){this.options=J||Gr}var Y=W.prototype;return Y.code=function(T,D,B){var Z=(D||"").match(/\S*/)[0];if(this.options.highlight){var $=this.options.highlight(T,Z);null!=$&&$!==T&&(B=!0,T=$)}return T=T.replace(/\n$/,"")+"\n",Z?'
    '+(B?T:ii(T,!0))+"
    \n":"
    "+(B?T:ii(T,!0))+"
    \n"},Y.blockquote=function(T){return"
    \n"+T+"
    \n"},Y.html=function(T){return T},Y.heading=function(T,D,B,Z){return this.options.headerIds?"'+T+"\n":""+T+"\n"},Y.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},Y.list=function(T,D,B){var Z=D?"ol":"ul";return"<"+Z+(D&&1!==B?' start="'+B+'"':"")+">\n"+T+"\n"},Y.listitem=function(T){return"
  • "+T+"
  • \n"},Y.checkbox=function(T){return" "},Y.paragraph=function(T){return"

    "+T+"

    \n"},Y.table=function(T,D){return D&&(D=""+D+""),"\n\n"+T+"\n"+D+"
    \n"},Y.tablerow=function(T){return"\n"+T+"\n"},Y.tablecell=function(T,D){var B=D.header?"th":"td";return(D.align?"<"+B+' align="'+D.align+'">':"<"+B+">")+T+"\n"},Y.strong=function(T){return""+T+""},Y.em=function(T){return""+T+""},Y.codespan=function(T){return""+T+""},Y.br=function(){return this.options.xhtml?"
    ":"
    "},Y.del=function(T){return""+T+""},Y.link=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z='"+B+""},Y.image=function(T,D,B){if(null===(T=Nr(this.options.sanitize,this.options.baseUrl,T)))return B;var Z=''+B+'":">")},Y.text=function(T){return T},W}(),co=function(){function W(){}var Y=W.prototype;return Y.strong=function(T){return T},Y.em=function(T){return T},Y.codespan=function(T){return T},Y.del=function(T){return T},Y.html=function(T){return T},Y.text=function(T){return T},Y.link=function(T,D,B){return""+B},Y.image=function(T,D,B){return""+B},Y.br=function(){return""},W}(),di=function(){function W(){this.seen={}}var Y=W.prototype;return Y.serialize=function(T){return T.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},Y.getNextSafeSlug=function(T,D){var B=T,Z=0;if(this.seen.hasOwnProperty(B)){Z=this.seen[T];do{B=T+"-"+ ++Z}while(this.seen.hasOwnProperty(B))}return D||(this.seen[T]=Z,this.seen[B]=0),B},Y.slug=function(T,D){void 0===D&&(D={});var B=this.serialize(T);return this.getNextSafeSlug(B,D.dryrun)},W}(),Oh=pc,El=co,Va=di,uo=Pt.exports.defaults,za=pn_unescape,us=ui,ho=function(){function W(J){this.options=J||uo,this.options.renderer=this.options.renderer||new Oh,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new El,this.slugger=new Va}W.parse=function(T,D){return new W(D).parse(T)},W.parseInline=function(T,D){return new W(D).parseInline(T)};var Y=W.prototype;return Y.parse=function(T,D){void 0===D&&(D=!0);var Z,$,le,he,pe,Ge,an,xn,qt,Et,ln,ri,Hi,$i,_n,Ci,_c,fo,gd,B="",xl=T.length;for(Z=0;Z0&&"text"===_n.tokens[0].type?(_n.tokens[0].text=fo+" "+_n.tokens[0].text,_n.tokens[0].tokens&&_n.tokens[0].tokens.length>0&&"text"===_n.tokens[0].tokens[0].type&&(_n.tokens[0].tokens[0].text=fo+" "+_n.tokens[0].tokens[0].text)):_n.tokens.unshift({type:"text",text:fo}):$i+=fo),$i+=this.parse(_n.tokens,Hi),qt+=this.renderer.listitem($i,_c,Ci);B+=this.renderer.list(qt,ln,ri);continue;case"html":B+=this.renderer.html(Et.text);continue;case"paragraph":B+=this.renderer.paragraph(this.parseInline(Et.tokens));continue;case"text":for(qt=Et.tokens?this.parseInline(Et.tokens):Et.text;Z+1An error occurred:

    "+mc(le.message+"",!0)+"
    ";throw le}}return Je.options=Je.setOptions=function(W){return gu(Je.defaults,W),mu(Je.defaults),Je},Je.getDefaults=pd,Je.defaults=Vs,Je.use=function(){for(var W=this,Y=arguments.length,J=new Array(Y),T=0;TAn error occurred:

    "+mc(T.message+"",!0)+"
    ";throw T}},Je.Parser=ho,Je.parser=ho.parse,Je.Renderer=Sl,Je.TextRenderer=fu,Je.Lexer=us,Je.lexer=us.lex,Je.Tokenizer=gc,Je.Slugger=pu,Je.parse=Je,Je}()},310:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.isMobile=function(){return void 0!==L.window.orientation},We.default=function(Ze){if(!Ze&&!(0,It.default)())return"Node";if((0,Pt.default)(Ze))return"Electron";var Tt="undefined"!=typeof navigator?navigator:{},Ft=Ze||Tt.userAgent||"";if(Ft.indexOf("Edge")>-1)return"Edge";var we=-1!==Ft.indexOf("MSIE "),_e=-1!==Ft.indexOf("Trident/");return we||_e?"IE":L.window.chrome?"Chrome":L.window.safari?"Safari":L.window.mozInnerScreenX?"Firefox":"Unknown"};var L=ze(151),It=wt(ze(602)),Pt=wt(ze(344))},151:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.console=We.process=We.document=We.global=We.window=We.self=void 0;var L=wt(ze(321)),It={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&process};We.self=It.self||It.window||It.global,We.window=It.window||It.self||It.global,We.global=It.global||It.self||It.window,We.document=It.document||{},We.process=It.process||{};var Ft=console;We.console=Ft},761:(gt,We,ze)=>{"use strict";var L=ze(948),It=ze(321);Object.defineProperty(We,"CO",{enumerable:!0,get:function(){return Pt.global}}),Object.defineProperty(We,"qs",{enumerable:!0,get:function(){return ft.default}});var Pt=ze(151),ft=(Ft(ze(602)),Ft(ze(310)));L(ze(344));function Tt(we){if("function"!=typeof WeakMap)return null;var _e=new WeakMap,ke=new WeakMap;return(Tt=function(Te){return Te?ke:_e})(we)}function Ft(we,_e){if(!_e&&we&&we.__esModule)return we;if(null===we||"object"!==It(we)&&"function"!=typeof we)return{default:we};var ke=Tt(_e);if(ke&&ke.has(we))return ke.get(we);var ye={},Te=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Vt in we)if("default"!==Vt&&Object.prototype.hasOwnProperty.call(we,Vt)){var He=Te?Object.getOwnPropertyDescriptor(we,Vt):null;He&&(He.get||He.set)?Object.defineProperty(ye,Vt,He):ye[Vt]=we[Vt]}return ye.default=we,ke&&ke.set(we,ye),ye}},602:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=Pt,We.isBrowserMainThread=function(){return Pt()&&"undefined"!=typeof document};var L=wt(ze(321)),It=wt(ze(344));function Pt(){return!("object"===("undefined"==typeof process?"undefined":(0,L.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,It.default)()}},344:(gt,We,ze)=>{"use strict";var wt=ze(948);Object.defineProperty(We,"__esModule",{value:!0}),We.default=function(Pt){if("undefined"!=typeof window&&"object"===(0,L.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,L.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Ke="object"===("undefined"==typeof navigator?"undefined":(0,L.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,ft=Pt||Ke;return!!(ft&&ft.indexOf("Electron")>=0)};var L=wt(ze(321))},851:(gt,We,ze)=>{"use strict";var wt={};ze.r(wt),ze.d(wt,{decode:()=>N0e,encode:()=>L0e});var L={};ze.r(L),ze.d(L,{decode:()=>U0e,encode:()=>H0e});var It={};ze.r(It),ze.d(It,{decode:()=>$0e,encode:()=>G0e});var Pt={};function Ke(n){return"function"==typeof n}ze.r(Pt),ze.d(Pt,{decode:()=>W0e,encode:()=>q0e});let ft=!1;const Ze={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else ft&&console.log("RxJS: Back to a better error behavior. Thank you. <3");ft=n},get useDeprecatedSynchronousErrorHandling(){return ft}};function Tt(n){setTimeout(()=>{throw n},0)}const Ft={closed:!0,next(n){},error(n){if(Ze.useDeprecatedSynchronousErrorHandling)throw n;Tt(n)},complete(){}},we=Array.isArray||(n=>n&&"number"==typeof n.length);function _e(n){return null!==n&&"object"==typeof n}const ye=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class Te{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof Te)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof ye?t.errors:t),[])}Te.EMPTY=((n=new Te).closed=!0,n);const He="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class xt extends Te{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Ft;break;case 1:if(!e){this.destination=Ft;break}if("object"==typeof e){e instanceof xt?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new tn(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new tn(this,e,t,i)}}[He](){return this}static create(e,t,i){const r=new xt(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class tn extends xt{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Ke(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==Ft&&(o=Object.create(t),Ke(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;Ze.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=Ze;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):Tt(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;Tt(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);Ze.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),Ze.useDeprecatedSynchronousErrorHandling)throw i;Tt(i)}}__tryOrSetError(e,t,i){if(!Ze.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return Ze.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(Tt(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const vi="function"==typeof Symbol&&Symbol.observable||"@@observable";function bi(n){return n}function Mr(...n){return Ve(n)}function Ve(n){return 0===n.length?bi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let ce=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof xt)return n;if(n[He])return n[He]()}return n||e||t?new xt(n,e,t):new xt(Ft)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||Ze.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),Ze.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){Ze.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof xt?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=zt(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[vi](){return this}pipe(...t){return 0===t.length?this:Ve(t)(this)}toPromise(t){return new(t=zt(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function zt(n){if(n||(n=Ze.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const Qt=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class li extends Te{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class Pi extends xt{constructor(e){super(e),this.destination=e}}let Se=(()=>{class n extends ce{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[He](){return new Pi(this)}lift(t){const i=new pn(this,this);return i.operator=t,i}next(t){if(this.closed)throw new Qt;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew pn(e,t),n})();class pn extends Se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):Te.EMPTY}}function Gn(n){return n&&"function"==typeof n.schedule}function Ae(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new Ri(n,e))}}class Ri{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new jt(e,this.project,this.thisArg))}}class jt extends xt{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const xr=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ye(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const ki=n=>{if(n&&"function"==typeof n[vi])return(n=>e=>{const t=n[vi]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(pt(n))return xr(n);if(Ye(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Tt),e))(n);if(n&&"function"==typeof n[cs])return(n=>e=>{const t=n[cs]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${_e(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Fi(n,e){return new ce(t=>{const i=new Te;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function ui(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[vi]}(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>{const r=n[vi]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ye(n))return function(n,e){return new ce(t=>{const i=new Te;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(pt(n))return Fi(n,e);if(function(n){return n&&"function"==typeof n[cs]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new ce(t=>{const i=new Te;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[cs](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof ce?n:new ce(ki(n))}class Gr extends xt{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ii extends xt{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function co(n,e){if(e.closed)return;if(n instanceof ce)return n.subscribe(e);let t;try{t=ki(n)(e)}catch(i){e.error(i)}return t}function di(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(di((r,s)=>ui(n(r,s)).pipe(Ae((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Oh(n,t)))}class Oh{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new El(e,this.project,this.concurrent))}}class El extends ii{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function uo(n=Number.POSITIVE_INFINITY){return di(bi,n)}function za(n,e){return e?Fi(n,e):new ce(xr(n))}function Ni(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Gn(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof ce?n[0]:uo(e)(za(n,t))}function us(){return function(e){return e.lift(new ho(e))}}class ho{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new gc(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class gc extends xt{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Sl extends ce{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new Te,e.add(this.source.subscribe(new pu(this.getSubject(),this))),e.closed&&(this._connection=null,e=Te.EMPTY)),e}refCount(){return us()(this)}}const fu=(()=>{const n=Sl.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class pu extends Pi{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function mc(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new pd(r,e));const s=Object.create(i,fu);return s.source=i,s.subjectFactory=r,s}}class pd{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function mu(){return new Se}function Vs(){return n=>us()(mc(mu)(n))}function Je(n){for(let e in n)if(n[e]===Je)return e;throw Error("Could not find renamed property on target object.")}function _u(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function W(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(W).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function Y(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const J=Je({__forward_ref__:Je});function T(n){return n.__forward_ref__=T,n.toString=function(){return W(this())},n}function D(n){return B(n)?n():n}function B(n){return"function"==typeof n&&n.hasOwnProperty(J)&&n.__forward_ref__===T}class $ extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function pe(n){return"string"==typeof n?n:null==n?"":String(n)}function Ge(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():pe(n)}function Et(n,e){const t=e?` in ${e}`:"";throw new $("201",`No provider for ${Ge(n)} found${t}`)}function Gi(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function ue(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Me(n){return{providers:n.providers||[],imports:n.imports||[]}}function rr(n){return vc(n,ua)||vc(n,Ua)}function vc(n,e){return n.hasOwnProperty(e)?n[e]:null}function Cu(n){return n&&(n.hasOwnProperty(Tl)||n.hasOwnProperty(Sp))?n[Tl]:null}const ua=Je({\u0275prov:Je}),Tl=Je({\u0275inj:Je}),Ua=Je({ngInjectableDef:Je}),Sp=Je({ngInjectorDef:Je});var At=(()=>((At=At||{})[At.Default=0]="Default",At[At.Host=1]="Host",At[At.Self=2]="Self",At[At.SkipSelf=4]="SkipSelf",At[At.Optional=8]="Optional",At))();let Al;function da(n){const e=Al;return Al=n,e}function md(n,e,t){const i=rr(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&At.Optional?null:void 0!==e?e:void Et(W(n),"Injector")}function F(n){return{toString:n}.toString()}var j=(()=>((j=j||{})[j.OnPush=0]="OnPush",j[j.Default=1]="Default",j))(),Ue=(()=>((Ue=Ue||{})[Ue.Emulated=0]="Emulated",Ue[Ue.None=2]="None",Ue[Ue.ShadowDom=3]="ShadowDom",Ue))();const vn="undefined"!=typeof globalThis&&globalThis,dr="undefined"!=typeof window&&window,yr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,Wr="undefined"!=typeof global&&global,cn=vn||Wr||dr||yr,_d={},mi=[],xp=Je({\u0275cmp:Je}),d_=Je({\u0275dir:Je}),Ph=Je({\u0275pipe:Je}),b0=Je({\u0275mod:Je}),xx=Je({\u0275loc:Je}),Dl=Je({\u0275fac:Je}),Rh=Je({__NG_ELEMENT_ID__:Je});let Tx=0;function Ne(n){return F(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===j.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||mi,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Ue.Emulated,id:"c",styles:n.styles||mi,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=Tx++,i.inputs=S0(n.inputs,t),i.outputs=S0(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(C0):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(w0):null,i})}function C0(n){return Kn(n)||function(n){return n[d_]||null}(n)}function w0(n){return function(n){return n[Ph]||null}(n)}const E0={};function Pe(n){return F(()=>{const e={type:n.type,bootstrap:n.bootstrap||mi,declarations:n.declarations||mi,imports:n.imports||mi,exports:n.exports||mi,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(E0[n.id]=n.type),e})}function S0(n,e){if(null==n)return _d;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const oe=Ne;function ds(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Kn(n){return n[xp]||null}function po(n,e){const t=n[b0]||null;if(!t&&!0===e)throw new Error(`Type ${W(n)} does not have '\u0275mod' property.`);return t}function Fo(n){return Array.isArray(n)&&"object"==typeof n[1]}function No(n){return Array.isArray(n)&&!0===n[1]}function p_(n){return 0!=(8&n.flags)}function Cd(n){return 2==(2&n.flags)}function wd(n){return 1==(1&n.flags)}function pa(n){return null!==n.template}function M0(n){return 0!=(512&n[2])}function wc(n,e){return n.hasOwnProperty(Dl)?n[Dl]:null}class y_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function zn(){return A0}function A0(n){return n.type.prototype.ngOnChanges&&(n.setInput=Fx),kx}function kx(){const n=q(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===_d)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function Fx(n,e,t,i){const r=q(n)||function(n,e){return n[Vh]=e}(n,{previous:_d,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new y_(l&&l.currentValue,e,o===_d),n[i]=e}zn.ngInherit=!0;const Vh="__ngSimpleChanges__";function q(n){return n[Vh]||null}const Wn="http://www.w3.org/2000/svg";let fi;function Ii(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==fi?fi:"undefined"!=typeof document?document:void 0};function qi(n){for(;Array.isArray(n);)n=n[0];return n}function zh(n,e){return qi(e[n])}function Ts(n,e){return qi(e[n.index])}function C_(n,e){return n.data[e]}function Ed(n,e){return n[e]}function fs(n,e){const t=e[n];return Fo(t)?t:t[0]}function Pl(n){return 4==(4&n[2])}function Sd(n){return 128==(128&n[2])}function ma(n,e){return null==e?null:n[e]}function w_(n){n[18]=0}function Dp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Yt={lFrame:xu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function O0(){return Yt.bindingsEnabled}function Oe(){return Yt.lFrame.lView}function Dn(){return Yt.lFrame.tView}function en(n){return Yt.lFrame.contextLView=n,n[8]}function Dr(){let n=E_();for(;null!==n&&64===n.type;)n=n.parent;return n}function E_(){return Yt.lFrame.currentTNode}function Ga(n,e){const t=Yt.lFrame;t.currentTNode=n,t.isParent=e}function pr(){return Yt.lFrame.isParent}function Lr(){Yt.lFrame.isParent=!1}function Hh(){return Yt.isInCheckNoChangesMode}function Ip(n){Yt.isInCheckNoChangesMode=n}function Yr(){const n=Yt.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Us(){return Yt.lFrame.bindingIndex}function _a(){return Yt.lFrame.bindingIndex++}function mo(n){const e=Yt.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Md(n,e){const t=Yt.lFrame;t.bindingIndex=t.bindingRootIndex=n,S_(e)}function S_(n){Yt.lFrame.currentDirectiveIndex=n}function M_(n){const e=Yt.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function I0(){return Yt.lFrame.currentQueryIndex}function x_(n){Yt.lFrame.currentQueryIndex=n}function Rp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function xd(n,e,t){if(t&At.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&At.Host||(r=Rp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Yt.lFrame=O();return i.currentTNode=e,i.lView=n,!0}function Wh(n){const e=O(),t=n[1];Yt.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function O(){const n=Yt.lFrame,e=null===n?null:n.child;return null===e?xu(n):e}function xu(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qh(){const n=Yt.lFrame;return Yt.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const _o=qh;function Cn(){const n=qh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function As(){return Yt.lFrame.selectedIndex}function Hs(n){Yt.lFrame.selectedIndex=n}function sr(){const n=Yt.lFrame;return C_(n.tView,n.selectedIndex)}function kp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Yh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Lp(n,e,t){const i=Ii(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Ad=!0;function Bp(n){const e=Ad;return Ad=n,e}let P_=0;function ps(n,e){const t=Vp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,R_(i.data,n),R_(e,null),R_(i.blueprint,null));const r=Kh(n,e),s=n.injectorIndex;if(F0(r)){const o=Td(r),a=qa(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function R_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Vp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Kh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Sc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=P_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:V0:e}(t);if("function"==typeof s){if(!xd(e,n,i))return i&At.Host?k_(r,t,i):L0(e,t,i,r);try{const o=s(i);if(null!=o||i&At.Optional)return o;Et(t)}finally{_o()}}else if("number"==typeof s){let o=null,a=Vp(n,e),l=-1,c=i&At.Host?e[16][6]:null;for((-1===a||i&At.SkipSelf)&&(l=-1===a?Kh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Td(l),e=qa(l,e)):a=-1);-1!==a;){const d=e[1];if(zp(s,a,d.data)){const f=Xr(a,e,t,o,i,c);if(f!==B0)return f}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&zp(s,a,e)?(o=d,a=Td(l),e=qa(l,e)):a=-1}}}return L0(e,t,i,r)}const B0={};function V0(){return new Bo(Dr(),Oe())}function Xr(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],d=Dd(a,o,t,null==i?Cd(a)&&Ad:i!=o&&0!=(3&a.type),r&At.Host&&s===a);return null!==d?Od(e,o,d,a):B0}function Dd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,d=s>>20,p=r?a+d:n.directiveEnd;for(let g=i?a:a+d;g=l&&_.type===t)return g}if(r){const g=o[l];if(g&&pa(g)&&g.type===t)return l}return null}function Od(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Yh}(r)){const o=r;o.resolving&&function(n,e){throw new $("200",`Circular dependency in DI detected for ${n}`)}(Ge(s[t]));const a=Bp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?da(o.injectImpl):null;xd(n,i,At.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=A0(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&da(l),Bp(a),o.resolving=!1,_o()}}return r}function zp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Dl]||Kr(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Dl]||Kr(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Kr(n){return B(n)?()=>{const e=Kr(D(n));return e&&e()}:wc(n)}function Zr(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,d){const f=l.hasOwnProperty(Pd)?l[Pd]:Object.defineProperty(l,Pd,{value:[]})[Pd];for(;f.length<=d;)f.push(null);return(f[d]=f[d]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class ve{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=ue({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function Vo(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?zo(t,e):e(t))}function ef(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function kl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function xc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function z_(n,e){const t=Qr(n,e);if(t>=0)return n[1|t]}function Qr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):W(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Dc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ac]=null,n}const Ld=Nd(ba("Inject",n=>({token:n})),-1),br=Nd(ba("Optional"),8),Za=Nd(ba("SkipSelf"),4);let Vd;function Nu(n){var e;return(null===(e=function(){if(void 0===Vd&&(Vd=null,cn.trustedTypes))try{Vd=cn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Vd}())||void 0===e?void 0:e.createHTML(n))||n}class Bl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class W_ extends Bl{getTypeName(){return"HTML"}}class q_ extends Bl{getTypeName(){return"Style"}}class Jp extends Bl{getTypeName(){return"Script"}}class zd extends Bl{getTypeName(){return"URL"}}class Ut extends Bl{getTypeName(){return"ResourceURL"}}function gs(n){return n instanceof Bl?n.changingThisBreaksApplicationSecurity:n}function jo(n,e){const t=Pc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Pc(n){return n instanceof Bl&&n.getTypeName()||null}class iC{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Nu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class f1{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Nu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Nu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0bo(e.trim())).join(", ")}function Uo(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function nf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const eg=Uo("area,br,col,hr,img,wbr"),sC=Uo("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),oC=Uo("rp,rt"),X_=nf(eg,nf(sC,Uo("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nf(oC,Uo("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nf(oC,sC)),K_=Uo("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Z_=Uo("srcset"),Q_=nf(K_,Z_,Uo("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Uo("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),v1=Uo("script,style,template");class J_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!X_.hasOwnProperty(t))return this.sanitizedSomething=!0,!v1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();X_.hasOwnProperty(t)&&!eg.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(ng(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const aC=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,rf=/([^\#-~ |!])/g;function ng(n){return n.replace(/&/g,"&").replace(aC,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(rf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let sf;function ey(n,e){let t=null;try{sf=sf||function(n){const e=new f1(n);return function(){try{return!!(new window.DOMParser).parseFromString(Nu(""),"text/html")}catch(n){return!1}}()?new iC(e):e}(n);let i=e?String(e):"";t=sf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=sf.getInertBodyElement(i)}while(i!==s);return Nu((new J_).sanitizeChildren(jd(t)||t))}finally{if(t){const i=jd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function jd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var mn=(()=>((mn=mn||{})[mn.NONE=0]="NONE",mn[mn.HTML=1]="HTML",mn[mn.STYLE=2]="STYLE",mn[mn.SCRIPT=3]="SCRIPT",mn[mn.URL=4]="URL",mn[mn.RESOURCE_URL=5]="RESOURCE_URL",mn))();function Ud(n){const e=function(){const n=Oe();return n&&n[12]}();return e?e.sanitize(mn.URL,n)||"":jo(n,"URL")?gs(n):bo(pe(n))}const iy="__ngContext__";function Jr(n,e){n[iy]=e}function ry(n){const e=function(n){return n[iy]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function ig(n){return n.ngOriginalError}function P1(n,...e){n.error(...e)}class $o{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||P1}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(ig(e)):null}_findOriginalError(e){let t=e&&ig(e);for(;t&&ig(t);)t=ig(t);return t||null}}const yC=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(cn))();function ly(n){return n.ownerDocument.defaultView}function sg(n){return n.ownerDocument}function Ja(n){return n instanceof Function?n():n}var Co=(()=>((Co=Co||{})[Co.Important=1]="Important",Co[Co.DashCase=2]="DashCase",Co))();function uy(n,e){return undefined(n,e)}function lf(n){const e=n[3];return No(e)?e[3]:e}function $d(n){return EC(n[13])}function hy(n){return EC(n[4])}function EC(n){for(;null!==n&&!No(n);)n=n[4];return n}function Gd(n,e,t,i,r){if(null!=i){let s,o=!1;No(i)?s=i:Fo(i)&&(o=!0,i=i[0]);const a=qi(i);0===n&&null!==t?null==r?AC(e,t,a):el(e,t,a,r||null,!0):1===n&&null!==t?el(e,t,a,r||null,!0):2===n?function(n,e,t){const i=ag(n,e);i&&function(n,e,t,i){Ii(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==qi(t)&&Gd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=kl(n,10+e);!function(n,e){Wd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function my(n,e){if(!(256&e[2])){const t=e[11];Ii(t)&&t.destroyNode&&Wd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return og(n[1],n);for(;e;){let t=null;if(Fo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Fo(e)&&og(e[1],e),e=e[3];null===e&&(e=n),Fo(e)&&og(e[1],e),t=e&&e[4]}e=t}}(e)}}function og(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[f+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==p){if(wa(i))return!1;o=!0}}}}else{if(!o&&!wa(i)&&!wa(l))return!1;if(o&&wa(l))continue;o=!1,i=l|1&i}}return wa(i)||o}function wa(n){return 0==(1&n)}function iT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!wa(o)&&(e+=jC(s,r),r=""),i=o,s=s||!wa(i);t++}return""!==r&&(e+=jC(s,r)),e}const kt={};function G(n){UC(Dn(),Oe(),As()+n,Hh())}function UC(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Fp(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Np(e,s,0,t)}Hs(t)}function tl(n,e){return n<<17|e<<2}function Bt(n){return n>>17&32767}function Yi(n){return 2|n}function Vl(n){return(131068&n)>>2}function nl(n,e){return-131069&n|e<<2}function wy(n){return 1|n}function ZC(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&UC(n,e,20,Hh()),t(i,r)}finally{Hs(s)}}function JC(n,e,t){if(p_(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function lw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function cw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function IT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&ky(t)}}function ky(n){for(let i=$d(n);null!==i;i=hy(i))for(let r=10;r0&&ky(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&ky(r)}}function BT(n,e){const t=fs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function hw(n){return n[7]||(n[7]=[])}function _g(n){return n.cleanup||(n.cleanup=[])}function Vy(n,e,t){return(null===n||pa(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function zy(n,e){const t=n[9],i=t?t.get($o,null):null;i&&i.handleError(e)}function fw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),zo([e],a=>this.processInjectorType(a,[],s)),this.records.set(Fc,zu(void 0,this));const o=this.records.get(Vu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:W(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Pu,i=At.Default){this.assertNotDestroyed();const r=Fd(this),s=da(void 0);try{if(!(i&At.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof ve}(e)&&rr(e);a=l&&this.injectableDefInScope(l)?zu(Gy(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&At.Self?pw():this.parent).get(e,t=i&At.Optional&&t===Pu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ac]=o[Ac]||[]).unshift(W(e)),r)throw o;return Ds(o,e,"R3InjectorError",this.source)}throw o}finally{da(s),Fd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(W(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=D(e)))return!1;let r=Cu(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Cu(s)),null==r)return!1;if(null!=r.imports&&!a){let d;i.push(o);try{zo(r.imports,f=>{this.processInjectorType(f,t,i)&&(void 0===d&&(d=[]),d.push(f))})}finally{}if(void 0!==d)for(let f=0;fthis.processProvider(_,p,g||mi))}}this.injectorDefTypes.add(o);const l=wc(o)||(()=>new o);this.records.set(o,zu(l,gf));const c=r.providers;if(null!=c&&!a){const d=e;zo(c,f=>this.processProvider(f,d,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Nc(e=D(e))?e:D(e&&e.provide);const s=function(n,e,t){return _w(n)?zu(void 0,n.useValue):zu(mw(n),gf)}(e);if(Nc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zu(void 0,gf,!0),o.factory=()=>ku(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=GT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=D(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Gy(n){const e=rr(n),t=null!==e?e.factory:wc(n);if(null!==t)return t;if(n instanceof ve)throw new Error(`Token ${W(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=xc(e,"?");throw new Error(`Can't resolve all parameters for ${W(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[ua]||n[Ua]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function mw(n,e,t){let i;if(Nc(n)){const r=D(n);return wc(r)||Gy(r)}if(_w(n))i=()=>D(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...ku(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>I(D(n.useExisting));else{const r=D(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return wc(r)||Gy(r);i=()=>new r(...ku(n.deps))}return i}function zu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function _w(n){return null!==n&&"object"==typeof n&&Wp in n}function Nc(n){return"function"==typeof n}const yw=function(n,e,t){return function(n,e=null,t=null,i){const r=gw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Nt{static create(e,t){return Array.isArray(e)?yw(e,t,""):yw(e.providers,e.parent,e.name||"")}}function m7(n,e){kp(ry(n)[1],Dr())}function ct(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(pa(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=oA(n.inputs),o.declaredInputs=oA(n.declaredInputs),o.outputs=oA(n.outputs);const a=r.hostBindings;a&&b7(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&y7(n,l),c&&v7(n,c),_u(n.inputs,r.inputs),_u(n.declaredInputs,r.declaredInputs),_u(n.outputs,r.outputs),pa(r)&&r.data.animation){const d=n.data;d.animation=(d.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Xh(r.hostAttrs,t=Xh(t,r.hostAttrs))}}(i)}function oA(n){return n===_d?{}:n===mi?[]:n}function y7(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function v7(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function b7(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Nt.THROW_IF_NOT_FOUND=Pu,Nt.NULL=new Ps,Nt.\u0275prov=ue({token:Nt,providedIn:"any",factory:()=>I(Fc)}),Nt.__NG_ELEMENT_ID__=-1;let Ew=null;function vg(){if(!Ew){const n=cn.Symbol;if(n&&n.iterator)Ew=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(qi(N[i.index])):i.index;if(Ii(t)){let N=null;if(!a&&l&&(N=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==N)(N.__ngLastListenerFn__||N).__ngNextListenerFn__=s,N.__ngLastListenerFn__=s,g=!1;else{s=fA(i,e,f,s,!1);const V=t.listen(C,r,s);p.push(s,V),d&&d.push(r,x,w,w+1)}}else s=fA(i,e,f,s,!0),C.addEventListener(r,s,o),p.push(s),d&&d.push(r,x,w,o)}else s=fA(i,e,f,s,!1);const _=i.outputs;let y;if(g&&null!==_&&(y=_[r])){const v=y.length;if(v)for(let C=0;C0;)e=e[15],n--;return e}(n,Yt.lFrame.contextLView))[8]}(n)}function J7(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const ts={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function FN(n){return n.substring(ts.key,ts.keyEnd)}function NN(n,e){const t=ts.textEnd;return t===e?-1:(e=ts.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,ts.key=e,t),Ig(n,e,t))}function Ig(n,e,t){for(;e=0;t=NN(e,t))yo(n,FN(e),!0)}function $l(n,e,t,i){const r=Oe(),s=Dn(),o=mo(2);s.firstUpdatePass&&UN(s,n,o,i),e!==kt&&qs(r,o,e)&&$N(s,s.data[As()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=W(gs(n)))),n}(e,t),i,o)}function Gl(n,e,t,i){const r=Dn(),s=mo(2);r.firstUpdatePass&&UN(r,null,s,i);const o=Oe();if(t!==kt&&qs(o,s,t)){const a=r.data[As()];if(WN(a,i)&&!jN(r,s)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Y(l,t||"")),hA(r,a,o,t,i)}else!function(n,e,t,i,r,s,o,a){r===kt&&(r=mi);let l=0,c=0,d=0=n.expandoStartIndex}function UN(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[As()],o=jN(n,t);WN(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=M_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=ev(t=gA(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=gA(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Vl(i))return n[Bt(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=gA(null,n,e,l[1],i),l=ev(l,e.attrs,i),function(n,e,t,i){n[Bt(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else d=t;if(r)if(0!==l){const p=Bt(n[a+1]);n[i+1]=tl(p,a),0!==p&&(n[p+1]=nl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=tl(a,0),0!==a&&(n[a+1]=nl(n[a+1],i)),a=i;else n[i+1]=tl(l,0),0===a?a=i:n[l+1]=nl(n[l+1],i),l=i;c&&(n[i+1]=Yi(n[i+1])),kN(n,d,i,!0),kN(n,d,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Qr(s,e)>=0&&(t[i+1]=wy(t[i+1]))}(e,d,n,i,s),o=tl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function gA(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),d=c?l[1]:l,f=null===d;let p=t[r+1];p===kt&&(p=f?mi:void 0);let g=f?z_(p,i):d===i?p:void 0;if(c&&!Tw(g)&&(g=z_(l,i)),Tw(g)&&(a=g,o))return a;const _=n[r+1];r=o?Bt(_):Vl(_)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=z_(l,i))}return a}function Tw(n){return void 0!==n}function WN(n,e){return 0!=(n.flags&(e?16:32))}function De(n,e=""){const t=Oe(),i=Dn(),r=n+20,s=i.firstCreatePass?Yd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Ii(n)?n.createText(e):n.createTextNode(e)}(t[11],e);lg(i,t,o,s),Ga(s,!1)}function xi(n){return or("",n,""),xi}function or(n,e,t){const i=Oe(),r=Cg(i,n,e,t);return r!==kt&&zl(i,As(),r),or}function Aw(n,e,t,i,r){const s=Oe(),o=function(n,e,t,i,r,s){const a=mf(n,Us(),t,r);return mo(2),a?e+pe(t)+i+pe(r)+s:kt}(s,n,e,t,i,r);return o!==kt&&zl(s,As(),o),Aw}function al(n,e,t){const i=Oe();return qs(i,_a(),e)&&wo(Dn(),sr(),i,n,e,i[11],t,!0),al}function Pg(n,e,t){const i=Oe();if(qs(i,_a(),e)){const s=Dn(),o=sr();wo(s,o,i,n,e,Vy(M_(s.data),o,i),t,!0)}return Pg}const bf=void 0;var FY=["en",[["a","p"],["AM","PM"],bf],[["AM","PM"],bf,bf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],bf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],bf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",bf,"{1} 'at' {0}",bf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let Rg={};function dL(n){return n in Rg||(Rg[n]=cn.ng&&cn.ng.common&&cn.ng.common.locales&&cn.ng.common.locales[n]),Rg[n]}var at=(()=>((at=at||{})[at.LocaleId=0]="LocaleId",at[at.DayPeriodsFormat=1]="DayPeriodsFormat",at[at.DayPeriodsStandalone=2]="DayPeriodsStandalone",at[at.DaysFormat=3]="DaysFormat",at[at.DaysStandalone=4]="DaysStandalone",at[at.MonthsFormat=5]="MonthsFormat",at[at.MonthsStandalone=6]="MonthsStandalone",at[at.Eras=7]="Eras",at[at.FirstDayOfWeek=8]="FirstDayOfWeek",at[at.WeekendRange=9]="WeekendRange",at[at.DateFormat=10]="DateFormat",at[at.TimeFormat=11]="TimeFormat",at[at.DateTimeFormat=12]="DateTimeFormat",at[at.NumberSymbols=13]="NumberSymbols",at[at.NumberFormats=14]="NumberFormats",at[at.CurrencyCode=15]="CurrencyCode",at[at.CurrencySymbol=16]="CurrencySymbol",at[at.CurrencyName=17]="CurrencyName",at[at.Currencies=18]="Currencies",at[at.Directionality=19]="Directionality",at[at.PluralCase=20]="PluralCase",at[at.ExtraData=21]="ExtraData",at))();const Dw="en-US";let hL=Dw;function mA(n){Gi(n,"Expected localeId to be defined"),"string"==typeof n&&(hL=n.toLowerCase().replace(/_/g,"-"))}function vA(n,e,t,i,r){if(n=D(n),Array.isArray(n))for(let s=0;s>20;if(Nc(n)||!n.multi){const g=new Yh(l,r,E),_=CA(a,e,r?d:d+p,f);-1===_?(Sc(ps(c,o),s,a),bA(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[_]=g,o[_]=g)}else{const g=CA(a,e,d+p,f),_=CA(a,e,d,d+p),y=g>=0&&t[g],v=_>=0&&t[_];if(r&&!v||!r&&!y){Sc(ps(c,o),s,a);const C=function(n,e,t,i,r){const s=new Yh(n,t,E);return s.multi=[],s.index=e,s.componentProviders=0,NL(s,r,i&&!t),s}(r?PX:IX,t.length,r,i,l);!r&&v&&(t[_].providerFactory=C),bA(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(C),o.push(C)}else bA(s,n,g>-1?g:_,NL(t[r?_:g],l,!r&&i));!r&&i&&v&&t[_].componentProviders++}}}function bA(n,e,t,i){const r=Nc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function NL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CA(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Dn();if(i.firstCreatePass){const r=pa(n);vA(t,i.data,i.blueprint,r,!0),vA(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class LL{}const VL="ngComponent";class FX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${W(n)}. Did you add it to @NgModule.entryComponents?`);return e[VL]=n,e}(e)}}class ll{}function kw(...n){}function Fg(n,e){return new rt(Ts(n,e))}ll.NULL=new FX;const BX=function(){return Fg(Dr(),Oe())};let rt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=BX,n})();function zL(n){return n instanceof rt?n.nativeElement:n}class Cf{}let zc=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>zX(),n})();const zX=function(){const n=Oe(),t=fs(Dr().index,n);return function(n){return n[11]}(Fo(t)?t:n)};let SA=(()=>{class n{}return n.\u0275prov=ue({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new ju("12.2.5");class UL{constructor(){}supports(e){return Ky(e)}create(e){return new $X(e)}}const HX=(n,e)=>e;class $X{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||HX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<$L(i,r,s)?t:i,a=$L(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,d=l-r;if(c!=d){for(let p=0;p{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new GX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new HL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new HL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class GX{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class WX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class HL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new WX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $L(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new YX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class YX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function WL(){return new Ng([new UL])}let Ng=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:WL}),n})();function qL(){return new Lg([new GL])}let Lg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||qL()),deps:[[n,new Za,new br]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=ue({token:n,providedIn:"root",factory:qL}),n})();function Fw(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(qi(s)),No(s))for(let a=10;a-1&&(gy(e,i),kl(t,i))}this._attachedToViewContainer=!1}my(this._lView[1],this._lView)}onDestroy(e){tw(this._lView[1],this._lView,null,e)}markForCheck(){Fy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ly(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Ip(!0);try{Ly(n,e,t)}finally{Ip(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Wd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class KX extends sv{constructor(e){super(e),this._view=e}detectChanges(){dw(this._view)}checkNoChanges(){!function(n){Ip(!0);try{dw(n)}finally{Ip(!1)}}(this._view)}get context(){return null}}const QX=function(n){return function(n,e,t){if(Cd(n)&&!t){const i=fs(n.index,e);return new sv(i,i)}return 47&n.type?new sv(e[16],e):null}(Dr(),Oe(),16==(16&n))};let kn=(()=>{class n{}return n.__NG_ELEMENT_ID__=QX,n})();const tK=[new GL],iK=new Ng([new UL]),rK=new Lg(tK),oK=function(){return Nw(Dr(),Oe())};let Ys=(()=>{class n{}return n.__NG_ELEMENT_ID__=oK,n})();const aK=Ys,lK=class extends aK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new sv(i)}};function Nw(n,e){return 4&n.type?new lK(e,n,Fg(n,e)):null}class jc{}const dK=function(){return ZL(Dr(),Oe())};let ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=dK,n})();const fK=ns,XL=class extends fK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Fg(this._hostTNode,this._hostLView)}get injector(){return new Bo(this._hostTNode,this._hostLView)}get parentInjector(){const e=Kh(this._hostTNode,this._hostLView);if(F0(e)){const t=qa(e,this._hostLView),i=Td(e);return new Bo(t[1].data[i+8],t)}return new Bo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=KL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(jc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return No(n[3])}(i)){const d=this.indexOf(e);if(-1!==d)this.detach(d);else{const f=i[3],p=new XL(f,f[6],f[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iyC});class vB extends LL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(lT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return yB(this.componentDef.inputs)}get outputs(){return yB(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,jg,r);return s!==jg||i===jg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Cf,Su),a=s.get(SA,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function(n,e,t){if(Ii(n))return n.selectRootElement(e,t===Ue.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):py(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?Wn:"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),f=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||yC,clean:HT,playerHandler:e||null,flags:0}}(),g=gg(0,null,null,1,0,null,null,null,null,null),_=hf(null,g,p,f,null,null,o,l,a,s);let y,v;Wh(_);try{const C=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Yd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(yg(l,c,!0),null!==n&&(Lp(r,n,c),null!==l.classes&&by(r,n,l.classes),null!==l.styles&&LC(r,n,l.styles)));const d=i.createRenderer(n,e),f=hf(t,pg(e),null,e.onPush?64:16,t[20],l,i,d,s||null,null);return o.firstCreatePass&&(Sc(ps(l,t),o,e.type),cw(o,l),Iy(l,t.length,1)),mg(t,f),t[20]=f}(d,this.componentDef,_,o,l);if(d)if(i)Lp(l,d,["ng-version",jL.full]);else{const{attrs:w,classes:x}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&by(l,d,x.join(" "))}if(v=C_(g,20),void 0!==t){const w=v.projection=[];for(let x=0;xl(o,e)),e.contentQueries){const l=Dr();e.contentQueries(1,o,l.directiveStart)}const a=Dr();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(Hs(a.index),aw(t[1],a,0,a.directiveStart,a.directiveEnd,e),lw(e,o)),o}(C,this.componentDef,_,p,[m7]),ff(g,_,null)}finally{Cn()}return new hZ(this.componentType,y,Fg(v,_),_,v)}}class hZ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new KX(r),this.componentType=e}get injector(){return new Bo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Ug=new Map;class gZ extends jc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _B(this);const i=po(e),r=function(n){return n[xx]||null}(e);r&&mA(r),this._bootstrapComponents=Ja(i.bootstrap),this._r3Injector=gw(e,t,[{provide:jc,useValue:this},{provide:ll,useValue:this.componentFactoryResolver}],W(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Nt.THROW_IF_NOT_FOUND,i=At.Default){return e===Nt||e===jc||e===Fc?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class BA extends class{}{constructor(e){super(),this.moduleType=e,null!==po(e)&&function(n){const e=new Set;!function t(i){const r=po(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${W(e)} vs ${W(e.name)}`)}(s,Ug.get(s),i),Ug.set(s,i));const o=Ja(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new gZ(this.moduleType,e)}}function fv(n,e,t){const i=Yr()+n,r=Oe();return r[i]===kt?Bc(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function Hg(n,e,t,i){return wB(Oe(),Yr(),n,e,t,i)}function pv(n,e){const t=n[e];return t===kt?void 0:t}function wB(n,e,t,i,r,s){const o=e+t;return qs(n,o,r)?Bc(n,o+1,s?i.call(s,r):i(r)):pv(n,o+1)}function Kt(n,e){const t=Dn();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new $("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=wc(i.type)),o=da(E);try{const a=Bp(!1),l=s();return Bp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Oe(),r,l),l}finally{da(o)}}function rn(n,e,t){const i=n+20,r=Oe(),s=Ed(r,i);return _v(r,mv(r,i)?wB(r,Yr(),e,s.transform,t,s):s.transform(t))}function gv(n,e,t,i){const r=n+20,s=Oe(),o=Ed(s,r);return _v(s,mv(s,r)?function(n,e,t,i,r,s,o){const a=e+t;return mf(n,a,r,s)?Bc(n,a+2,o?i.call(o,r,s):i(r,s)):pv(n,a+2)}(s,Yr(),e,o.transform,t,i,o):o.transform(t,i))}function mv(n,e){return n[1].data[e].pure}function _v(n,e){return Ul.isWrapped(e)&&(e=Ul.unwrap(e),n[Us()]=kt),e}function VA(n){return e=>{setTimeout(n,void 0,e)}}const Le=class extends Se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const f=e;a=null===(r=f.next)||void 0===r?void 0:r.bind(f),l=null===(s=f.error)||void 0===s?void 0:s.bind(f),c=null===(o=f.complete)||void 0===o?void 0:o.bind(f)}this.__isAsync&&(l=VA(l),a&&(a=VA(a)),c&&(c=VA(c)));const d=super.subscribe({next:a,error:l,complete:c});return e instanceof Te&&e.add(d),d}};function DZ(){return this._results[vg()]()}class Sf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=vg(),i=Sf.prototype;i[t]||(i[t]=DZ)}get changes(){return this._changes||(this._changes=new Le)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const i=this;i.dirty=!1;const r=Vo(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],d=e[-l];for(let f=10;f{class n{constructor(t){this.appInits=t,this.resolve=kw,this.reject=kw,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(I(Mf,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const vv=new ve("AppId"),uQ={provide:vv,useFactory:function(){return`${KA()}${KA()}${KA()}`},deps:[]};function KA(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const XB=new ve("Platform Initializer"),dl=new ve("Platform ID"),bv=new ve("appBootstrapListener");let $w=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Uu=new ve("LocaleId"),KB=new ve("DefaultCurrencyCode");class hQ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const ZA=function(n){return new BA(n)},fQ=ZA,pQ=function(n){return Promise.resolve(ZA(n))},ZB=function(n){const e=ZA(n),i=Ja(po(n).declarations).reduce((r,s)=>{const o=Kn(s);return o&&r.push(new vB(o)),r},[]);return new hQ(e,i)},gQ=ZB,mQ=function(n){return Promise.resolve(ZB(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=fQ,this.compileModuleAsync=pQ,this.compileModuleAndAllComponentsSync=gQ,this.compileModuleAndAllComponentsAsync=mQ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const QB=new ve("compilerOptions"),yQ=(()=>Promise.resolve(0))();function QA(n){"undefined"==typeof Zone?yQ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class dt{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Le(!1),this.onMicrotaskEmpty=new Le(!1),this.onStable=new Le(!1),this.onError=new Le(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=cn.requestAnimationFrame,e=cn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(cn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,eD(n),n.isCheckStableRunning=!0,JA(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),eD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return JB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),e3(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return JB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),e3(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,eD(n),JA(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!dt.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(dt.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,bQ,kw,kw);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const bQ={};function JA(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function eD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function JB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function e3(n){n._nesting--,JA(n)}class EQ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Le,this.onMicrotaskEmpty=new Le,this.onStable=new Le,this.onError=new Le}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let tD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{dt.assertNotInAngularZone(),QA(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())QA(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),t3=(()=>{class n{constructor(){this._applications=new Map,nD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return nD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class SQ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let nD=new SQ,n3=!0,i3=!1;function Mo(){return i3=!0,n3}let Yl;const r3=new ve("AllowMultipleToken");function s3(n,e,t=[]){const i=`Platform: ${e}`,r=new ve(i);return(s=[])=>{let o=rD();if(!o||o.injector.get(r3,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Vu,useValue:"platform"});!function(n){if(Yl&&!Yl.destroyed&&!Yl.injector.get(r3,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Yl=n.get(o3);const e=n.get(XB,null);e&&e.forEach(t=>t())}(Nt.create({providers:a,name:i}))}return function(n){const e=rD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function rD(){return Yl&&!Yl.destroyed?Yl:null}let o3=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new EQ:("zone.js"===n?void 0:n)||new dt({enableLongStackTrace:Mo(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:dt,useValue:a}];return a.run(()=>{const c=Nt.create({providers:l,parent:this.injector,name:t.moduleType.name}),d=t.create(c),f=d.injector.get($o,null);if(!f)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{f.handleError(g)}});d.onDestroy(()=>{sD(this._modules,d),p.unsubscribe()})}),function(n,e,t){try{const i=t();return Og(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(f,a,()=>{const p=d.injector.get(Gg);return p.runInitializers(),p.donePromise.then(()=>(mA(d.injector.get(Uu,Dw)||Dw),this._moduleDoBootstrap(d),d))})})}bootstrapModule(t,i=[]){const r=a3({},i);return function(n,e,t){const i=new BA(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(Jd);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${W(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function a3(n,e){return Array.isArray(e)?e.reduce(a3,n):Object.assign(Object.assign({},n),e)}let Jd=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new ce(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new ce(c=>{let d;this._zone.runOutsideAngular(()=>{d=this._zone.onStable.subscribe(()=>{dt.assertNotInAngularZone(),QA(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const f=this._zone.onUnstable.subscribe(()=>{dt.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{d.unsubscribe(),f.unsubscribe()}});this.isStable=Ni(a,l.pipe(Vs()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof LL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(jc),a=r.create(Nt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(tD,null),d=c&&a.injector.get(t3);return c&&d&&d.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),sD(this.components,a),d&&d.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;sD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(bv,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(Nt),I($o),I(ll),I(Gg))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function sD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const ZQ=s3(null,"core",[{provide:dl,useValue:"unknown"},{provide:o3,deps:[Nt]},{provide:t3,deps:[]},{provide:$w,deps:[]}]),nJ=[{provide:Jd,useClass:Jd,deps:[dt,Nt,$o,ll,Gg]},{provide:cZ,deps:[dt],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Gg,useClass:Gg,deps:[[new br,Mf]]},{provide:xf,useClass:xf,deps:[]},uQ,{provide:Ng,useFactory:function(){return iK},deps:[]},{provide:Lg,useFactory:function(){return rK},deps:[]},{provide:Uu,useFactory:function(n){return mA(n=n||"undefined"!=typeof $localize&&$localize.locale||Dw),n},deps:[[new Ld(Uu),new br,new Za]]},{provide:KB,useValue:"USD"}];let rJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(I(Jd))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:nJ}),n})(),tE=null;function Uc(){return tE}const ut=new ve("DocumentToken");let Df=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:iee,token:n,providedIn:"platform"}),n})();function iee(){return I(F3)}let F3=(()=>{class n extends Df{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Uc().getBaseHref(this._doc)}onPopState(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Uc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){N3()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){N3()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:see,token:n,providedIn:"platform"}),n})();function N3(){return!!window.history.pushState}function see(){return new F3(I(ut))}function bD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function L3(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function $u(n){return n&&"?"!==n[0]?"?"+n:n}let Yg=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:oee,token:n,providedIn:"root"}),n})();function oee(n){const e=I(ut).location;return new B3(I(Df),e&&e.origin||"")}const CD=new ve("appBaseHref");let B3=(()=>{class n extends Yg{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return bD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+$u(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+$u(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(I(Df),I(CD,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Xg=(()=>{class n{constructor(t,i){this._subject=new Le,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=L3(V3(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+$u(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,V3(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$u(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(I(Yg),I(Df))},n.normalizeQueryParams=$u,n.joinWithSlash=bD,n.stripTrailingSlash=L3,n.\u0275prov=ue({factory:lee,token:n,providedIn:"root"}),n})();function lee(){return new Xg(I(Yg),I(Df))}function V3(n){return n.replace(/\/index.html$/,"")}var Br=(()=>((Br=Br||{})[Br.Zero=0]="Zero",Br[Br.One=1]="One",Br[Br.Two=2]="Two",Br[Br.Few=3]="Few",Br[Br.Many=4]="Many",Br[Br.Other=5]="Other",Br))();const mee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=dL(e);if(t)return t;const i=e.split("-")[0];if(t=dL(i),t)return t;if("en"===i)return FY;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[at.PluralCase]};class dE{}let Gee=(()=>{class n extends dE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(mee(i||this.locale)(t)){case Br.Zero:return"zero";case Br.One:return"one";case Br.Two:return"two";case Br.Few:return"few";case Br.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(I(Uu))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function Y3(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let hE=(()=>{class n{constructor(t,i,r,s){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=s,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Ky(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),t.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${W(i.item)}`);this._toggleClass(i.item,!0)}),t.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!0)):Object.keys(t).forEach(i=>this._toggleClass(i,!!t[i])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(i=>this._toggleClass(i,!1)):Object.keys(t).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(t,i){(t=t.trim())&&t.split(/\s+/g).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(t){return new(t||n)(E(Ng),E(Lg),E(rt),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),n})();class qee{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let pl=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new qee(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new X3(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new X3(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Ng))},n.\u0275dir=oe({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class X3{constructor(e,t){this.record=e,this.view=t}}let zr=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Xee,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){K3("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){K3("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys))},n.\u0275dir=oe({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Xee{constructor(){this.$implicit=null,this.ngIf=null}}function K3(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${W(e)}'.`)}class OD{constructor(e,t){this._viewContainerRef=e,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(e){e&&!this._created?this.create():!e&&this._created&&this.destroy()}}let Av=(()=>{class n{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const i=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let i=0;i{class n{constructor(t,i,r){this.ngSwitch=r,r._addCase(),this._view=new OD(t,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),n})(),Z3=(()=>{class n{constructor(t,i,r){r._addDefault(new OD(t,i))}}return n.\u0275fac=function(t){return new(t||n)(E(ns),E(Ys),E(Av,9))},n.\u0275dir=oe({type:n,selectors:[["","ngSwitchDefault",""]]}),n})(),J3=(()=>{class n{constructor(t,i,r){this._ngEl=t,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[r,s]=t.split(".");null!=(i=null!=i&&s?`${i}${s}`:i)?this._renderer.setStyle(this._ngEl.nativeElement,r,i):this._renderer.removeStyle(this._ngEl.nativeElement,r)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Lg),E(zc))},n.\u0275dir=oe({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),n})();function Ql(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${W(n)}'`)}class Qee{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Jee{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const ete=new Jee,tte=new Qee;let Hc=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(Og(t))return ete;if(EN(t))return tte;throw Ql(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(kn,16))},n.\u0275pipe=ds({name:"async",type:n,pure:!1}),n})();const ate=/#/g;let eV=(()=>{class n{constructor(t){this._localization=t}transform(t,i,r){if(null==t)return"";if("object"!=typeof i||null===i)throw Ql(n,i);return i[function(n,e,t,i){let r=`=${n}`;if(e.indexOf(r)>-1||(r=t.getPluralCategory(n,i),e.indexOf(r)>-1))return r;if(e.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${n}"`)}(t,Object.keys(i),this._localization,r)].replace(ate,t.toString())}}return n.\u0275fac=function(t){return new(t||n)(E(dE,16))},n.\u0275pipe=ds({name:"i18nPlural",type:n,pure:!0}),n})(),tV=(()=>{class n{transform(t){return JSON.stringify(t,null,2)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=ds({name:"json",type:n,pure:!1}),n})(),dn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:dE,useClass:Gee}]}),n})();const rV="browser";function Of(n){return n===rV}function kD(n){return"server"===n}class aV{}class FD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){tE||(tE=n)}(new FD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Dv=Dv||document.querySelector("base"),Dv?Dv.getAttribute("href"):null);return null==t?null:function(n){fE=fE||document.createElement("a"),fE.setAttribute("href",n);const e=fE.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Dv=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return Y3(document.cookie,e)}}let fE,Dv=null;const lV=new ve("TRANSITION_ID"),Ete=[{provide:Mf,useFactory:function(n,e,t){return()=>{t.get(Gg).donePromise.then(()=>{const i=Uc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},cn.getAllAngularTestabilities=()=>e.getAllTestabilities(),cn.getAllAngularRootElements=()=>e.getAllRootElements(),cn.frameworkStabilizers||(cn.frameworkStabilizers=[]),cn.frameworkStabilizers.push(i=>{const r=cn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Uc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Ste=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Ov=new ve("EventManagerPlugins");let gE=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Iv=(()=>{class n extends uV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(dV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(dV))}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function dV(n){Uc().remove(n)}const BD={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},VD=/%COMP%/g;function mE(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let _E=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new zD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Ue.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new Vte(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Ue.ShadowDom:return new zte(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=mE(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(I(gE),I(Iv),I(vv))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class zD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(BD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=BD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=BD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Co.DashCase|Co.Important)?e.style.setProperty(t,i,r&Co.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Co.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,pV(i)):this.eventManager.addEventListener(e,t,pV(i))}}class Vte extends zD{constructor(e,t,i,r){super(e),this.component=i;const s=mE(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(VD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(VD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class zte extends zD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=mE(r.id,r.styles,[]);for(let o=0;o{class n extends LD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const _V=["alt","control","meta","shift"],Yte={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},yV={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Xte={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Kte=(()=>{class n extends LD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Uc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(_V.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&yV.hasOwnProperty(e)&&(e=yV[e]))}return Yte[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),_V.forEach(s=>{s!=r&&Xte[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),th=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return I(UD)},token:n,providedIn:"root"}),n})(),UD=(()=>{class n extends th{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case mn.NONE:return i;case mn.HTML:return jo(i,"HTML")?gs(i):ey(this._doc,String(i)).toString();case mn.STYLE:return jo(i,"Style")?gs(i):i;case mn.SCRIPT:if(jo(i,"Script"))return gs(i);throw new Error("unsafe value used in a script context");case mn.URL:return Pc(i),jo(i,"URL")?gs(i):bo(String(i));case mn.RESOURCE_URL:if(jo(i,"ResourceURL"))return gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new W_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new q_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new zd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Ut(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return function(n){return new UD(n.get(ut))}(I(Fc))},token:n,providedIn:"root"}),n})();const rne=s3(ZQ,"browser",[{provide:dl,useValue:rV},{provide:XB,useValue:function(){FD.makeCurrent(),ND.init()},multi:!0},{provide:ut,useFactory:function(){return function(n){fi=n}(document),document},deps:[]}]),sne=[[],{provide:Vu,useValue:"root"},{provide:$o,useFactory:function(){return new $o},deps:[]},{provide:Ov,useClass:jte,multi:!0,deps:[ut,dt,dl]},{provide:Ov,useClass:Kte,multi:!0,deps:[ut]},[],{provide:_E,useClass:_E,deps:[gE,Iv,vv]},{provide:Cf,useExisting:_E},{provide:uV,useExisting:Iv},{provide:Iv,useClass:Iv,deps:[ut]},{provide:tD,useClass:tD,deps:[dt]},{provide:gE,useClass:gE,deps:[Ov,dt]},{provide:aV,useClass:Ste,deps:[]},[]];let yE=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:vv,useValue:t.appId},{provide:lV,useExisting:vv},Ete]}}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:sne,imports:[dn,rJ]}),n})();"undefined"!=typeof window&&window;class fne extends Te{constructor(e,t){super()}schedule(e,t=0){return this}}class vE extends fne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class Jl extends bV{constructor(e,t=bV.now){super(e,()=>Jl.delegate&&Jl.delegate!==this?Jl.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return Jl.delegate&&Jl.delegate!==this?Jl.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const mne=new class extends Jl{}(class extends vE{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),ec=new ce(n=>n.complete());function bE(n){return n?function(n){return new ce(e=>n.schedule(()=>e.complete()))}(n):ec}function ht(...n){let e=n[n.length-1];return Gn(e)?(n.pop(),Fi(n,e)):za(n)}function Kg(n,e){return new ce(e?t=>e.schedule(yne,0,{error:n,subscriber:t}):t=>t.error(n))}function yne({error:n,subscriber:e}){e.error(n)}class Ko{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return ht(this.value);case"E":return Kg(this.error);case"C":return bE()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new Ko("N",e):Ko.undefinedValueNotification}static createError(e){return new Ko("E",void 0,e)}static createComplete(){return Ko.completeNotification}}Ko.completeNotification=new Ko("C"),Ko.undefinedValueNotification=new Ko("N",void 0);class CE extends xt{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(CE.dispatch,this.delay,new bne(e,this.destination)))}_next(e){this.scheduleMessage(Ko.createNext(e))}_error(e){this.scheduleMessage(Ko.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(Ko.createComplete()),this.unsubscribe()}}class bne{constructor(e,t){this.notification=e,this.destination=t}}class If extends Se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new Cne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new Qt;if(this.isStopped||this.hasError?o=Te.EMPTY:(this.observers.push(e),o=new li(this,e)),r&&e.add(e=new CE(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class Cne{constructor(e,t){this.time=e,this.value=t}}function Pr(n,e){return"function"==typeof e?t=>t.pipe(Pr((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new wne(n))}class wne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Ene(e,this.project))}}class Ene extends ii{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new Gr(this),r=this.destination;r.add(i),this.innerSubscription=co(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const wE={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return wE.schedule(n,0);if(void 0===window.requestAnimationFrame)return wE.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let $D;function Rne(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!$D){const t=Element.prototype;$D=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&$D.call(n,e)}(n,r)||(i=s,0))),i}class Fne{constructor(e,t){this.componentFactory=t.get(ll).resolveComponentFactory(e)}create(e){return new Nne(this.componentFactory,e)}}class Nne{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new If(1),this.events=this.eventEmitters.pipe(Pr(i=>Ni(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(dt),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=wE.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Nt.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(Ae(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=wE.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new y_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class Lne extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}function Mt(n){return null!=n&&"false"!=`${n}`}function To(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function EE(n){return Array.isArray(n)?n:[n]}function jr(n){return null==n?"":"string"==typeof n?n:`${n}px`}function Wu(n){return n instanceof rt?n.nativeElement:n}const Pf=new Jl(vE);function Zg(n,e=Pf){return t=>t.lift(new jne(n,e))}class jne{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new Une(e,this.dueTime,this.scheduler))}}class Une extends xt{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Hne,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function Hne(n){n.debouncedNext()}let GD=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),CV=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=Wu(t);return new ce(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new Se,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(I(GD))},n.\u0275prov=ue({factory:function(){return new n(I(GD))},token:n,providedIn:"root"}),n})(),WD=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new Le,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=To(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(Zg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(CV),E(rt),E(dt))},n.\u0275dir=oe({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),SE=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GD]}),n})();class ar extends Se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Qt;return this._value}next(e){super.next(this._value=e)}}function Zs(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}function ih(){}function Ti(n,e,t){return function(r){return r.lift(new tie(n,e,t))}}class tie{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new nie(e,this.nextOrObserver,this.error,this.complete))}}class nie extends xt{constructor(e,t,i,r){super(e),this._tapNext=ih,this._tapError=ih,this._tapComplete=ih,this._tapError=i||ih,this._tapComplete=r||ih,Ke(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||ih,this._tapError=t.error||ih,this._tapComplete=t.complete||ih)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function Fn(n,e){return function(i){return i.lift(new iie(n,e))}}class iie{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rie(e,this.predicate,this.thisArg))}}class rie extends xt{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}const SV=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function yi(n){return e=>0===n?bE():e.lift(new sie(n))}class sie{constructor(e){if(this.total=e,this.total<0)throw new SV}call(e,t){return t.subscribe(new oie(e,this.total))}}class oie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function QD(n){return e=>e.lift(new aie(n))}class aie{constructor(e){this.total=e}call(e,t){return t.subscribe(new lie(e,this.total))}}class lie extends xt{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function Zo(n,e){return t=>t.lift(new cie(n,e))}class cie{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new uie(e,this.compare,this.keySelector))}}class uie extends xt{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}function Tn(n){return e=>e.lift(new die(n))}class die{constructor(e){this.notifier=e}call(e,t){const i=new hie(e),r=co(this.notifier,new Gr(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class hie extends ii{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}let JD;try{JD="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){JD=!1}let em,si=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Of(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!JD)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(I(dl))},n.\u0275prov=ue({factory:function(){return new n(I(dl))},token:n,providedIn:"root"}),n})(),Rv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const MV=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function xV(){if(em)return em;if("object"!=typeof document||!document)return em=new Set(MV),em;let n=document.createElement("input");return em=new Set(MV.filter(e=>(n.setAttribute("type",e),n.type===e))),em}let kv,Ff,eO;function tm(n){return function(){if(null==kv&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>kv=!0}))}finally{kv=kv||!1}return kv}()?n:!!n.capture}function TV(){if(null==Ff){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ff=!1,Ff;if("scrollBehavior"in document.documentElement.style)Ff=!0;else{const n=Element.prototype.scrollTo;Ff=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Ff}function xE(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Nf(n){return n.composedPath?n.composedPath()[0]:n.target}function TE(n,e){return(n.getAttribute(e)||"").match(/\S+/g)||[]}const DV="cdk-describedby-message-container",OV="cdk-describedby-message",AE="cdk-describedby-host";let yie=0;const $c=new Map;let Rs=null,IV=(()=>{class n{constructor(t){this._document=t}describe(t,i,r){if(!this._canBeDescribed(t,i))return;const s=tO(i,r);"string"!=typeof i?(PV(i),$c.set(s,{messageElement:i,referenceCount:0})):$c.has(s)||this._createMessageElement(i,r),this._isElementDescribedByMessage(t,s)||this._addMessageReference(t,s)}removeDescription(t,i,r){if(!i||!this._isElementNode(t))return;const s=tO(i,r);if(this._isElementDescribedByMessage(t,s)&&this._removeMessageReference(t,s),"string"==typeof i){const o=$c.get(s);o&&0===o.referenceCount&&this._deleteMessageElement(s)}Rs&&0===Rs.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${AE}]`);for(let i=0;i0!=r.indexOf(OV));t.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(t,i){const r=$c.get(i);(function(n,e,t){const i=TE(n,e);i.some(r=>r.trim()==t.trim())||(i.push(t.trim()),n.setAttribute(e,i.join(" ")))})(t,"aria-describedby",r.messageElement.id),t.setAttribute(AE,""),r.referenceCount++}_removeMessageReference(t,i){const r=$c.get(i);r.referenceCount--,function(n,e,t){const r=TE(n,e).filter(s=>s!=t.trim());r.length?n.setAttribute(e,r.join(" ")):n.removeAttribute(e)}(t,"aria-describedby",r.messageElement.id),t.removeAttribute(AE)}_isElementDescribedByMessage(t,i){const r=TE(t,"aria-describedby"),s=$c.get(i),o=s&&s.messageElement.id;return!!o&&-1!=r.indexOf(o)}_canBeDescribed(t,i){if(!this._isElementNode(t))return!1;if(i&&"object"==typeof i)return!0;const r=null==i?"":`${i}`.trim(),s=t.getAttribute("aria-label");return!(!r||s&&s.trim()===r)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})();function tO(n,e){return"string"==typeof n?`${e||""}/${n}`:n}function PV(n){n.id||(n.id=`${OV}-${yie++}`)}class RV{constructor(e){this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Se,this._typeaheadSubscription=Te.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new Se,this.change=new Se,e instanceof Sf&&e.changes.subscribe(t=>{if(this._activeItem){const r=t.toArray().indexOf(this._activeItem);r>-1&&r!==this._activeItemIndex&&(this._activeItemIndex=r)}})}skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Ti(t=>this._pressedLetters.push(t)),Zg(e),Fn(()=>this._pressedLetters.length>0),Ae(()=>this._pressedLetters.join(""))).subscribe(t=>{const i=this._getItemsArray();for(let r=1;r!e[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(t){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}return;default:return void((r||Zs(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(t>=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t))))}this._pressedLetters=[],e.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(e){const t=this._getItemsArray(),i="number"==typeof e?e:t.indexOf(e),r=t[i];this._activeItem=null==r?null:r,this._activeItemIndex=i}_setActiveItemByDelta(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}_setActiveInWrapMode(e){const t=this._getItemsArray();for(let i=1;i<=t.length;i++){const r=(this._activeItemIndex+e*i+t.length)%t.length;if(!this._skipPredicateFn(t[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}_setActiveItemByIndex(e,t){const i=this._getItemsArray();if(i[e]){for(;this._skipPredicateFn(i[e]);)if(!i[e+=t])return;this.setActiveItem(e)}}_getItemsArray(){return this._items instanceof Sf?this._items.toArray():this._items}}class kV extends RV{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}}class nO extends RV{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}}let FV=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===LV(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=LV(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||NV(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function NV(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function LV(n){if(!NV(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Die{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(yi(1)).subscribe(e)}}let BV=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new Die(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(I(FV),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(FV),I(dt),I(ut))},token:n,providedIn:"root"}),n})();function VV(n){return 0===n.offsetX&&0===n.offsetY}function zV(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const jV=new ve("cdk-input-modality-detector-options"),kie={ignoreKeys:[18,17,224,91,16]},nm=tm({passive:!0,capture:!0});let HV=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new ar(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Nf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(VV(o)?"keyboard":"mouse"),this._mostRecentTarget=Nf(o))},this._onTouchstart=o=>{zV(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Nf(o))},this._options=Object.assign(Object.assign({},kie),s),this.modalityDetected=this._modality.pipe(QD(1)),this.modalityChanged=this.modalityDetected.pipe(Zo()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,nm),r.addEventListener("mousedown",this._onMousedown,nm),r.addEventListener("touchstart",this._onTouchstart,nm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,nm),document.removeEventListener("mousedown",this._onMousedown,nm),document.removeEventListener("touchstart",this._onTouchstart,nm))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut),I(jV,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut),I(jV,8))},token:n,providedIn:"root"}),n})();const $V=new ve("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),GV=new ve("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let DE=(()=>{class n{constructor(t,i,r,s){this._ngZone=i,this._defaultOptions=s,this._document=r,this._liveElement=t||this._createLiveElement()}announce(t,...i){const r=this._defaultOptions;let s,o;return 1===i.length&&"number"==typeof i[0]?o=i[0]:[s,o]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=r&&r.politeness?r.politeness:"polite"),null==o&&r&&(o=r.duration),this._liveElement.setAttribute("aria-live",s),this._ngZone.runOutsideAngular(()=>new Promise(a=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,a(),"number"==typeof o&&(this._previousTimeout=setTimeout(()=>this.clear(),o))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",i=this._document.getElementsByClassName(t),r=this._document.createElement("div");for(let s=0;s{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new Se,this._rootNodeFocusAndBlurListener=a=>{const l=Nf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let d=l;d;d=d.parentElement)c.call(this,a,d)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=Wu(t);if(!this._platform.isBrowser||1!==r.nodeType)return ht(null);const s=function(n){if(function(){if(null==eO){const n="undefined"!=typeof document?document.head:null;eO=!(!n||!n.createShadowRoot&&!n.attachShadow)}return eO}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new Se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=Wu(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=Wu(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Nf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,OE)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Tn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,OE),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,OE),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(HV),I(ut,8),I(WV,8))},token:n,providedIn:"root"}),n})();const qV="cdk-high-contrast-black-on-white",YV="cdk-high-contrast-white-on-black",iO="cdk-high-contrast-active";let XV=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(iO),t.remove(qV),t.remove(YV),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(iO),t.add(qV)):2===i&&(t.add(iO),t.add(YV))}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(ut))},token:n,providedIn:"root"}),n})(),Nie=(()=>{class n{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return n.\u0275fac=function(t){return new(t||n)(I(XV))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv,SE]]}),n})();const KV=new ve("cdk-dir-doc",{providedIn:"root",factory:function(){return Oc(ut)}});let Qo=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new Le,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(I(KV,8))},n.\u0275prov=ue({factory:function(){return new n(I(KV,8))},token:n,providedIn:"root"}),n})(),Nv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const ZV=new ju("12.2.5");function IE(...n){return uo(1)(ht(...n))}function Rr(...n){const e=n[n.length-1];return Gn(e)?(n.pop(),t=>IE(n,t,e)):t=>IE(n,t)}class QV{}const qu="*";function tc(n,e){return{type:7,name:n,definitions:e,options:{}}}function Ao(n,e=null){return{type:4,styles:e,timings:n}}function JV(n,e=null){return{type:2,steps:n,options:e}}function ti(n){return{type:6,styles:n,offset:null}}function wr(n,e,t){return{type:0,name:n,styles:e,options:t}}function zie(n){return{type:5,steps:n}}function Qs(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function jie(n=null){return{type:9,options:n}}function Uie(n,e,t=null){return{type:11,selector:n,animation:e,options:t}}function ez(n){Promise.resolve(null).then(n)}class im{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ez(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class tz{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,i=0,r=0;const s=this.players.length;0==s?ez(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==s&&this._onFinish()}),o.onDestroy(()=>{++i==s&&this._onDestroy()}),o.onStart(()=>{++r==s&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){const t=e*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,t/i.totalTime):1;i.setPosition(r)})}getPosition(){const e=this.players.reduce((t,i)=>null===t||i.totalTime>t.totalTime?i:t,null);return null!=e?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function nz(){return"undefined"!=typeof window&&void 0!==window.document}function sO(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function rh(n){switch(n.length){case 0:return new im;case 1:return n[0];default:return new tz(n)}}function iz(n,e,t,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(d=>{const f=d.offset,p=f==l,g=p&&c||{};Object.keys(d).forEach(_=>{let y=_,v=d[_];if("offset"!==_)switch(y=e.normalizePropertyName(y,o),v){case"!":v=r[_];break;case qu:v=s[_];break;default:v=e.normalizeStyleValue(_,y,v,o)}g[y]=v}),p||a.push(g),c=g,l=f}),o.length){const d="\n - ";throw new Error(`Unable to animate due to the following errors:${d}${o.join(d)}`)}return a}function oO(n,e,t,i){switch(e){case"start":n.onStart(()=>i(t&&aO(t,"start",n)));break;case"done":n.onDone(()=>i(t&&aO(t,"done",n)));break;case"destroy":n.onDestroy(()=>i(t&&aO(t,"destroy",n)))}}function aO(n,e,t){const i=t.totalTime,s=lO(n.element,n.triggerName,n.fromState,n.toState,e||n.phaseName,null==i?n.totalTime:i,!!t.disabled),o=n._data;return null!=o&&(s._data=o),s}function lO(n,e,t,i,r="",s=0,o){return{element:n,triggerName:e,fromState:t,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function Ma(n,e,t){let i;return n instanceof Map?(i=n.get(e),i||n.set(e,i=t)):(i=n[e],i||(i=n[e]=t)),i}function rz(n){const e=n.indexOf(":");return[n.substring(1,e),n.substr(e+1)]}let cO=(n,e)=>!1,uO=(n,e)=>!1,sz=(n,e,t)=>[];const oz=sO();(oz||"undefined"!=typeof Element)&&(cO=nz()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),uO=(()=>{if(oz||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):uO}})(),sz=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{const i=t.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=n[t]}),e}let cz=(()=>{class n{validateStyleProperty(t){return dO(t)}matchesElement(t,i){return hO(t,i)}containsElement(t,i){return fO(t,i)}query(t,i,r){return pO(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new im(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class PE{}PE.NOOP=new cz;const gO="ng-enter",RE="ng-leave",kE="ng-trigger",FE=".ng-trigger",dz="ng-animating",mO=".ng-animating";function Bf(n){if("number"==typeof n)return n;const e=n.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:_O(parseFloat(e[1]),e[2])}function _O(n,e){switch(e){case"s":return 1e3*n;default:return n}}function NE(n,e,t){return n.hasOwnProperty("duration")?n:function(n,e,t){let r,s=0,o="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push(`The provided timing value "${n}" is invalid.`),{duration:0,delay:0,easing:""};r=_O(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(s=_O(parseFloat(l),a[4]));const c=a[5];c&&(o=c)}else r=n;if(!t){let a=!1,l=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),a=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),a=!0),a&&e.splice(l,0,`The provided timing value "${n}" is invalid.`)}return{duration:r,delay:s,easing:o}}(n,e,t)}function rm(n,e={}){return Object.keys(n).forEach(t=>{e[t]=n[t]}),e}function sh(n,e,t={}){if(e)for(let i in n)t[i]=n[i];else rm(n,t);return t}function fz(n,e,t){return t?e+":"+t+";":""}function pz(n){let e="";for(let t=0;t{const r=vO(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),sO()&&pz(n))}function Vf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=vO(t);n.style[i]=""}),sO()&&pz(n))}function Lv(n){return Array.isArray(n)?1==n.length?n[0]:JV(n):n}const yO=new RegExp("{{\\s*(.+?)\\s*}}","g");function gz(n){let e=[];if("string"==typeof n){let t;for(;t=yO.exec(n);)e.push(t[1]);yO.lastIndex=0}return e}function LE(n,e,t){const i=n.toString(),r=i.replace(yO,(s,o)=>{let a=e[o];return e.hasOwnProperty(o)||(t.push(`Please provide a value for the animation param ${o}`),a=""),a.toString()});return r==i?n:r}function BE(n){const e=[];let t=n.next();for(;!t.done;)e.push(t.value),t=n.next();return e}const Xie=/-+([a-z0-9])/g;function vO(n){return n.replace(Xie,(...e)=>e[1].toUpperCase())}function Kie(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function mz(n,e){return 0===n||0===e}function _z(n,e,t){const i=Object.keys(t);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(a=>{s.hasOwnProperty(a)||o.push(a),s[a]=t[a]}),o.length)for(var r=1;rfunction(n,e,t){if(":"==n[0]){const l=function(n,e){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i) *"}}(n,t);if("function"==typeof l)return void e.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push(`The provided transition expression "${n}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(yz(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(yz(o,r))}(i,t,e)):t.push(n),t}const zE=new Set(["true","1"]),jE=new Set(["false","0"]);function yz(n,e){const t=zE.has(n)||jE.has(n),i=zE.has(e)||jE.has(e);return(r,s)=>{let o="*"==n||n==r,a="*"==e||e==s;return!o&&t&&"boolean"==typeof r&&(o=r?zE.has(n):jE.has(n)),!a&&i&&"boolean"==typeof s&&(a=s?zE.has(e):jE.has(e)),o&&a}}const ere=new RegExp("s*:selfs*,?","g");function CO(n,e,t){return new tre(n).build(e,t)}class tre{constructor(e){this._driver=e}build(e,t){const i=new rre(t);return this._resetContextStyleTimingState(i),xa(this,Lv(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}visitTrigger(e,t){let i=t.queryCount=0,r=t.depCount=0;const s=[],o=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),0==a.type){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(d=>{l.name=d,s.push(this.visitState(l,t))}),l.name=c}else if(1==a.type){const l=this.visitTransition(a,t);i+=l.queryCount,r+=l.depCount,o.push(l)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:s,transitions:o,queryCount:i,depCount:r,options:null}}visitState(e,t){const i=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(i.containsDynamicStyles){const s=new Set,o=r||{};if(i.styles.forEach(a=>{if(UE(a)){const l=a;Object.keys(l).forEach(c=>{gz(l[c]).forEach(d=>{o.hasOwnProperty(d)||s.add(d)})})}}),s.size){const a=BE(s.values());t.errors.push(`state("${e.name}", ...) must define default values for all the following style substitutions: ${a.join(", ")}`)}}return{type:0,name:e.name,style:i,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;const i=xa(this,Lv(e.animation),t);return{type:1,matchers:Zie(e.expr,t.errors),animation:i,queryCount:t.queryCount,depCount:t.depCount,options:zf(e.options)}}visitSequence(e,t){return{type:2,steps:e.steps.map(i=>xa(this,i,t)),options:zf(e.options)}}visitGroup(e,t){const i=t.currentTime;let r=0;const s=e.steps.map(o=>{t.currentTime=i;const a=xa(this,o,t);return r=Math.max(r,t.currentTime),a});return t.currentTime=r,{type:3,steps:s,options:zf(e.options)}}visitAnimate(e,t){const i=function(n,e){let t=null;if(n.hasOwnProperty("duration"))t=n;else if("number"==typeof n)return wO(NE(n,e).duration,0,"");const i=n;if(i.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=wO(0,0,"");return s.dynamic=!0,s.strValue=i,s}return t=t||NE(i,e),wO(t.duration,t.delay,t.easing)}(e.timings,t.errors);t.currentAnimateTimings=i;let r,s=e.styles?e.styles:ti({});if(5==s.type)r=this.visitKeyframes(s,t);else{let o=e.styles,a=!1;if(!o){a=!0;const c={};i.easing&&(c.easing=i.easing),o=ti(c)}t.currentTime+=i.duration+i.delay;const l=this.visitStyle(o,t);l.isEmptyStep=a,r=l}return t.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(e,t){const i=this._makeStyleAst(e,t);return this._validateStyleAst(i,t),i}_makeStyleAst(e,t){const i=[];Array.isArray(e.styles)?e.styles.forEach(o=>{"string"==typeof o?o==qu?i.push(o):t.errors.push(`The provided style string value ${o} is not allowed.`):i.push(o)}):i.push(e.styles);let r=!1,s=null;return i.forEach(o=>{if(UE(o)){const a=o,l=a.easing;if(l&&(s=l,delete a.easing),!r)for(let c in a)if(a[c].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:i,easing:s,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){const i=t.currentAnimateTimings;let r=t.currentTime,s=t.currentTime;i&&s>0&&(s-=i.duration+i.delay),e.styles.forEach(o=>{"string"!=typeof o&&Object.keys(o).forEach(a=>{if(!this._driver.validateStyleProperty(a))return void t.errors.push(`The provided animation property "${a}" is not a supported CSS property for animations`);const l=t.collectedStyles[t.currentQuerySelector],c=l[a];let d=!0;c&&(s!=r&&s>=c.startTime&&r<=c.endTime&&(t.errors.push(`The CSS property "${a}" that exists between the times of "${c.startTime}ms" and "${c.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${r}ms"`),d=!1),s=c.startTime),d&&(l[a]={startTime:s,endTime:r}),t.options&&function(n,e,t){const i=e.params||{},r=gz(n);r.length&&r.forEach(s=>{i.hasOwnProperty(s)||t.push(`Unable to resolve the local animation param ${s} in the given list of values`)})}(o[a],t.options,t.errors)})})}visitKeyframes(e,t){const i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;let s=0;const o=[];let a=!1,l=!1,c=0;const d=e.steps.map(C=>{const w=this._makeStyleAst(C,t);let x=null!=w.offset?w.offset:function(n){if("string"==typeof n)return null;let e=null;if(Array.isArray(n))n.forEach(t=>{if(UE(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}});else if(UE(n)&&n.hasOwnProperty("offset")){const t=n;e=parseFloat(t.offset),delete t.offset}return e}(w.styles),N=0;return null!=x&&(s++,N=w.offset=x),l=l||N<0||N>1,a=a||N0&&s{const x=p>0?w==g?1:p*w:o[w],N=x*v;t.currentTime=_+y.delay+N,y.duration=N,this._validateStyleAst(C,t),C.offset=x,i.styles.push(C)}),i}visitReference(e,t){return{type:8,animation:xa(this,Lv(e.animation),t),options:zf(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:9,options:zf(e.options)}}visitAnimateRef(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:zf(e.options)}}visitQuery(e,t){const i=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;const[s,o]=function(n){const e=!!n.split(/\s*,\s*/).find(t=>":self"==t);return e&&(n=n.replace(ere,"")),[n=n.replace(/@\*/g,FE).replace(/@\w+/g,t=>FE+"-"+t.substr(1)).replace(/:animating/g,mO),e]}(e.selector);t.currentQuerySelector=i.length?i+" "+s:s,Ma(t.collectedStyles,t.currentQuerySelector,{});const a=xa(this,Lv(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:11,selector:s,limit:r.limit||0,optional:!!r.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:zf(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");const i="full"===e.timings?{duration:0,delay:0,easing:"full"}:NE(e.timings,t.errors,!0);return{type:12,animation:xa(this,Lv(e.animation),t),timings:i,options:null}}}class rre{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function UE(n){return!Array.isArray(n)&&"object"==typeof n}function zf(n){return n?(n=rm(n)).params&&(n.params=function(n){return n?rm(n):null}(n.params)):n={},n}function wO(n,e,t){return{duration:n,delay:e,easing:t}}function EO(n,e,t,i,r,s,o=null,a=!1){return{type:1,element:n,keyframes:e,preStyleProps:t,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class HE{constructor(){this._map=new Map}consume(e){let t=this._map.get(e);return t?this._map.delete(e):t=[],t}append(e,t){let i=this._map.get(e);i||this._map.set(e,i=[]),i.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}}const cre=new RegExp(":enter","g"),dre=new RegExp(":leave","g");function SO(n,e,t,i,r,s={},o={},a,l,c=[]){return(new hre).buildKeyframes(n,e,t,i,r,s,o,a,l,c)}class hre{buildKeyframes(e,t,i,r,s,o,a,l,c,d=[]){c=c||new HE;const f=new MO(e,t,c,r,s,d,[]);f.options=l,f.currentTimeline.setStyles([o],null,f.errors,l),xa(this,i,f);const p=f.timelines.filter(g=>g.containsAnimation());if(p.length&&Object.keys(a).length){const g=p[p.length-1];g.allowOnlyTimelineStyles()||g.setStyles([a],null,f.errors,l)}return p.length?p.map(g=>g.buildKeyframes()):[EO(t,[],[],[],0,0,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){const i=t.subInstructions.consume(t.element);if(i){const r=t.createSubContext(e.options),s=t.currentTimeline.currentTime,o=this._visitSubInstructions(i,r,r.options);s!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){const i=t.createSubContext(e.options);i.transformIntoNewTimeline(),this.visitReference(e.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=e}_visitSubInstructions(e,t,i){let s=t.currentTimeline.currentTime;const o=null!=i.duration?Bf(i.duration):null,a=null!=i.delay?Bf(i.delay):null;return 0!==o&&e.forEach(l=>{const c=t.appendInstructionToTimeline(l,o,a);s=Math.max(s,c.duration+c.delay)}),s}visitReference(e,t){t.updateOptions(e.options,!0),xa(this,e.animation,t),t.previousNode=e}visitSequence(e,t){const i=t.subContextCount;let r=t;const s=e.options;if(s&&(s.params||s.delay)&&(r=t.createSubContext(s),r.transformIntoNewTimeline(),null!=s.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=$E);const o=Bf(s.delay);r.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>xa(this,o,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){const i=[];let r=t.currentTimeline.currentTime;const s=e.options&&e.options.delay?Bf(e.options.delay):0;e.steps.forEach(o=>{const a=t.createSubContext(e.options);s&&a.delayNextStep(s),xa(this,o,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){const i=e.strValue;return NE(t.params?LE(i,t.params,t.errors):i,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){const i=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),r.snapshotCurrentStyles());const s=e.style;5==s.type?this.visitKeyframes(s,t):(t.incrementTime(i.duration),this.visitStyle(s,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){const i=t.currentTimeline,r=t.currentAnimateTimings;!r&&i.getCurrentStyleProperties().length&&i.forwardFrame();const s=r&&r.easing||e.easing;e.isEmptyStep?i.applyEmptyStep(s):i.setStyles(e.styles,s,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){const i=t.currentAnimateTimings,r=t.currentTimeline.duration,s=i.duration,a=t.createSubContext().currentTimeline;a.easing=i.easing,e.styles.forEach(l=>{a.forwardTime((l.offset||0)*s),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+s),t.previousNode=e}visitQuery(e,t){const i=t.currentTimeline.currentTime,r=e.options||{},s=r.delay?Bf(r.delay):0;s&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=$E);let o=i;const a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,d)=>{t.currentQueryIndex=d;const f=t.createSubContext(e.options,c);s&&f.delayNextStep(s),c===t.element&&(l=f.currentTimeline),xa(this,e.animation,f),f.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,f.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){const i=t.parentContext,r=t.currentTimeline,s=e.timings,o=Math.abs(s.duration),a=o*(t.currentQueryTotal-1);let l=o*t.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const d=t.currentTimeline;l&&d.delayNextStep(l);const f=d.currentTime;xa(this,e.animation,t),t.previousNode=e,i.currentStaggerTime=r.currentTime-f+(r.startTime-i.currentTimeline.startTime)}}const $E={};class MO{constructor(e,t,i,r,s,o,a,l){this._driver=e,this.element=t,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=s,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=$E,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new GE(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;const i=e;let r=this.options;null!=i.duration&&(r.duration=Bf(i.duration)),null!=i.delay&&(r.delay=Bf(i.delay));const s=i.params;if(s){let o=r.params;o||(o=this.options.params={}),Object.keys(s).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=LE(s[a],o,this.errors))})}}_copyOptions(){const e={};if(this.options){const t=this.options.params;if(t){const i=e.params={};Object.keys(t).forEach(r=>{i[r]=t[r]})}}return e}createSubContext(e=null,t,i){const r=t||this.element,s=new MO(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(e),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(e){return this.previousNode=$E,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,i){const r={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+e.delay,easing:""},s=new fre(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(s),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,i,r,s,o){let a=[];if(r&&a.push(this.element),e.length>0){e=(e=e.replace(cre,"."+this._enterClassName)).replace(dre,"."+this._leaveClassName);let c=this._driver.query(this.element,e,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!s&&0==a.length&&o.push(`\`query("${t}")\` returned zero elements. (Use \`query("${t}", { optional: true })\` if you wish to allow this.)`),a}}class GE{constructor(e,t,i,r){this._driver=e,this.element=t,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(e){const t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new GE(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||qu,this._currentKeyframe[t]=qu}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,i,r){t&&(this._previousKeyframe.easing=t);const s=r&&r.params||{},o=function(n,e){const t={};let i;return n.forEach(r=>{"*"===r?(i=i||Object.keys(e),i.forEach(s=>{t[s]=qu})):sh(r,!1,t)}),t}(e,this._globalTimelineStyles);Object.keys(o).forEach(a=>{const l=LE(o[a],s,i);this._pendingStyles[a]=l,this._localTimelineStyles.hasOwnProperty(a)||(this._backFill[a]=this._globalTimelineStyles.hasOwnProperty(a)?this._globalTimelineStyles[a]:qu),this._updateStyle(a,l)})}applyStylesToKeyframe(){const e=this._pendingStyles,t=Object.keys(e);0!=t.length&&(this._pendingStyles={},t.forEach(i=>{this._currentKeyframe[i]=e[i]}),Object.keys(this._localTimelineStyles).forEach(i=>{this._currentKeyframe.hasOwnProperty(i)||(this._currentKeyframe[i]=this._localTimelineStyles[i])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(e=>{const t=this._localTimelineStyles[e];this._pendingStyles[e]=t,this._updateStyle(e,t)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){Object.keys(e._styleSummary).forEach(t=>{const i=this._styleSummary[t],r=e._styleSummary[t];(!i||r.time>i.time)&&this._updateStyle(t,r.value)})}buildKeyframes(){this.applyStylesToKeyframe();const e=new Set,t=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=sh(a,!0);Object.keys(c).forEach(d=>{const f=c[d];"!"==f?e.add(d):f==qu&&t.add(d)}),i||(c.offset=l/this.duration),r.push(c)});const s=e.size?BE(e.values()):[],o=t.size?BE(t.values()):[];if(i){const a=r[0],l=rm(a);a.offset=0,l.offset=1,r=[a,l]}return EO(this.element,r,s,o,this.duration,this.startTime,this.easing,!1)}}class fre extends GE{constructor(e,t,i,r,s,o,a=!1){super(e,t,o.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=s,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const s=[],o=i+t,a=t/o,l=sh(e[0],!1);l.offset=0,s.push(l);const c=sh(e[0],!1);c.offset=Cz(a),s.push(c);const d=e.length-1;for(let f=1;f<=d;f++){let p=sh(e[f],!1);p.offset=Cz((t+p.offset*i)/o),s.push(p)}i=o,t=0,r="",e=s}return EO(this.element,e,this.preStyleProps,this.postStyleProps,i,t,r,!0)}}function Cz(n,e=3){const t=Math.pow(10,e-1);return Math.round(n*t)/t}class xO{}class gre extends xO{normalizePropertyName(e,t){return vO(e)}normalizeStyleValue(e,t,i,r){let s="";const o=i.toString().trim();if(mre[t]&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(`Please provide a CSS unit value for ${e}:${i}`)}return o+s}}const mre=(()=>function(n){const e={};return n.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function wz(n,e,t,i,r,s,o,a,l,c,d,f,p){return{type:0,element:n,triggerName:e,isRemovalTransition:r,fromState:t,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:d,totalTime:f,errors:p}}const TO={};class Ez{constructor(e,t,i){this._triggerName=e,this.ast=t,this._stateStyles=i}match(e,t,i,r){return function(n,e,t,i,r){return n.some(s=>s(e,t,i,r))}(this.ast.matchers,e,t,i,r)}buildStyles(e,t,i){const r=this._stateStyles["*"],s=this._stateStyles[e],o=r?r.buildStyles(t,i):{};return s?s.buildStyles(t,i):o}build(e,t,i,r,s,o,a,l,c,d){const f=[],p=this.ast.options&&this.ast.options.params||TO,_=this.buildStyles(i,a&&a.params||TO,f),y=l&&l.params||TO,v=this.buildStyles(r,y,f),C=new Set,w=new Map,x=new Map,N="void"===r,V={params:Object.assign(Object.assign({},p),y)},U=d?[]:SO(e,t,this.ast.animation,s,o,_,v,V,c,f);let ee=0;if(U.forEach(ae=>{ee=Math.max(ae.duration+ae.delay,ee)}),f.length)return wz(t,this._triggerName,i,r,N,_,v,[],[],w,x,ee,f);U.forEach(ae=>{const me=ae.element,Ee=Ma(w,me,{});ae.preStyleProps.forEach(te=>Ee[te]=!0);const Be=Ma(x,me,{});ae.postStyleProps.forEach(te=>Be[te]=!0),me!==t&&C.add(me)});const de=BE(C.values());return wz(t,this._triggerName,i,r,N,_,v,U,de,w,x,ee)}}class vre{constructor(e,t,i){this.styles=e,this.defaultParams=t,this.normalizer=i}buildStyles(e,t){const i={},r=rm(this.defaultParams);return Object.keys(e).forEach(s=>{const o=e[s];null!=o&&(r[s]=o)}),this.styles.styles.forEach(s=>{if("string"!=typeof s){const o=s;Object.keys(o).forEach(a=>{let l=o[a];l.length>1&&(l=LE(l,r,t));const c=this.normalizer.normalizePropertyName(a,t);l=this.normalizer.normalizeStyleValue(a,c,l,t),i[c]=l})}}),i}}class Cre{constructor(e,t,i){this.name=e,this.ast=t,this._normalizer=i,this.transitionFactories=[],this.states={},t.states.forEach(r=>{this.states[r.name]=new vre(r.style,r.options&&r.options.params||{},i)}),Sz(this.states,"true","1"),Sz(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new Ez(e,r,this.states))}),this.fallbackTransition=function(n,e,t){return new Ez(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(o,a)=>!0],options:null,queryCount:0,depCount:0},e)}(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,i,r){return this.transitionFactories.find(o=>o.match(e,t,i,r))||null}matchStyles(e,t,i){return this.fallbackTransition.buildStyles(e,t,i)}}function Sz(n,e,t){n.hasOwnProperty(e)?n.hasOwnProperty(t)||(n[t]=n[e]):n.hasOwnProperty(t)&&(n[e]=n[t])}const Ere=new HE;class Sre{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(e,t){const i=[],r=CO(this._driver,t,i);if(i.length)throw new Error(`Unable to build the animation due to the following errors: ${i.join("\n")}`);this._animations[e]=r}_buildPlayer(e,t,i){const r=e.element,s=iz(0,this._normalizer,0,e.keyframes,t,i);return this._driver.animate(r,s,e.duration,e.delay,e.easing,[],!0)}create(e,t,i={}){const r=[],s=this._animations[e];let o;const a=new Map;if(s?(o=SO(this._driver,t,s,gO,RE,{},{},i,Ere,r),o.forEach(d=>{const f=Ma(a,d.element,{});d.postStyleProps.forEach(p=>f[p]=null)})):(r.push("The requested animation doesn't exist or has already been destroyed"),o=[]),r.length)throw new Error(`Unable to create the animation due to the following errors: ${r.join("\n")}`);a.forEach((d,f)=>{Object.keys(d).forEach(p=>{d[p]=this._driver.computeStyle(f,p,qu)})});const c=rh(o.map(d=>{const f=a.get(d.element);return this._buildPlayer(d,{},f)}));return this._playersById[e]=c,c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){const t=this._getPlayer(e);t.destroy(),delete this._playersById[e];const i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(e){const t=this._playersById[e];if(!t)throw new Error(`Unable to find the timeline player referenced by ${e}`);return t}listen(e,t,i,r){const s=lO(t,"","","");return oO(this._getPlayer(e),i,s,r),()=>{}}command(e,t,i,r){if("register"==i)return void this.register(e,r[0]);if("create"==i)return void this.create(e,t,r[0]||{});const s=this._getPlayer(e);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e)}}}const Mz="ng-animate-queued",xz="ng-animate-disabled",Tz=".ng-animate-disabled",Are=[],Az={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Dre={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},gl="__ng_removed";class AO{constructor(e,t=""){this.namespaceId=t;const i=e&&e.hasOwnProperty("value");if(this.value=function(n){return null!=n?n:null}(i?e.value:e),i){const s=rm(e);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(e){const t=e.params;if(t){const i=this.options.params;Object.keys(t).forEach(r=>{null==i[r]&&(i[r]=t[r])})}}}const Bv="void",DO=new AO(Bv);class Ore{constructor(e,t,i){this.id=e,this.hostElement=t,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,ml(t,this._hostClassName)}listen(e,t,i,r){if(!this._triggers.hasOwnProperty(t))throw new Error(`Unable to listen on the animation trigger event "${i}" because the animation trigger "${t}" doesn't exist!`);if(null==i||0==i.length)throw new Error(`Unable to listen on the animation trigger "${t}" because the provided event is undefined!`);if(!function(n){return"start"==n||"done"==n}(i))throw new Error(`The provided animation trigger event "${i}" for the animation trigger "${t}" is not supported!`);const s=Ma(this._elementListeners,e,[]),o={name:t,phase:i,callback:r};s.push(o);const a=Ma(this._engine.statesByElement,e,{});return a.hasOwnProperty(t)||(ml(e,kE),ml(e,kE+"-"+t),a[t]=DO),()=>{this._engine.afterFlush(()=>{const l=s.indexOf(o);l>=0&&s.splice(l,1),this._triggers[t]||delete a[t]})}}register(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}_getTrigger(e){const t=this._triggers[e];if(!t)throw new Error(`The provided animation trigger "${e}" has not been registered!`);return t}trigger(e,t,i,r=!0){const s=this._getTrigger(t),o=new OO(this.id,t,e);let a=this._engine.statesByElement.get(e);a||(ml(e,kE),ml(e,kE+"-"+t),this._engine.statesByElement.set(e,a={}));let l=a[t];const c=new AO(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a[t]=c,l||(l=DO),c.value!==Bv&&l.value===c.value){if(!function(n,e){const t=Object.keys(n),i=Object.keys(e);if(t.length!=i.length)return!1;for(let r=0;r{Vf(e,v),Gc(e,C)})}return}const p=Ma(this._engine.playersByElement,e,[]);p.forEach(y=>{y.namespaceId==this.id&&y.triggerName==t&&y.queued&&y.destroy()});let g=s.matchTransition(l.value,c.value,e,c.params),_=!1;if(!g){if(!r)return;g=s.fallbackTransition,_=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:g,fromState:l,toState:c,player:o,isFallbackTransition:_}),_||(ml(e,Mz),o.onStart(()=>{sm(e,Mz)})),o.onDone(()=>{let y=this.players.indexOf(o);y>=0&&this.players.splice(y,1);const v=this._engine.playersByElement.get(e);if(v){let C=v.indexOf(o);C>=0&&v.splice(C,1)}}),this.players.push(o),p.push(o),o}deregister(e){delete this._triggers[e],this._engine.statesByElement.forEach((t,i)=>{delete t[e]}),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(r=>r.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);const t=this._engine.playersByElement.get(e);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){const i=this._engine.driver.query(e,FE,!0);i.forEach(r=>{if(r[gl])return;const s=this._engine.fetchNamespacesByElement(r);s.size?s.forEach(o=>o.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(e,t,i,r){const s=this._engine.statesByElement.get(e);if(s){const o=[];if(Object.keys(s).forEach(a=>{if(this._triggers[a]){const l=this.trigger(e,a,Bv,r);l&&o.push(l)}}),o.length)return this._engine.markElementAsRemoved(this.id,e,!0,t),i&&rh(o).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){const t=this._elementListeners.get(e),i=this._engine.statesByElement.get(e);if(t&&i){const r=new Set;t.forEach(s=>{const o=s.name;if(r.has(o))return;r.add(o);const l=this._triggers[o].fallbackTransition,c=i[o]||DO,d=new AO(Bv),f=new OO(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:d,player:f,isFallbackTransition:!0})})}}removeNode(e,t){const i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(e):[];if(s&&s.length)r=!0;else{let o=e;for(;o=o.parentNode;)if(i.statesByElement.get(o)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(e),r)i.markElementAsRemoved(this.id,e,!1,t);else{const s=e[gl];(!s||s===Az)&&(i.afterFlush(()=>this.clearElementCache(e)),i.destroyInnerAnimations(e),i._onRemovalComplete(e,t))}}insertNode(e,t){ml(e,this._hostClassName)}drainQueuedTransitions(e){const t=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const s=i.element,o=this._elementListeners.get(s);o&&o.forEach(a=>{if(a.name==i.triggerName){const l=lO(s,i.triggerName,i.fromState.value,i.toState.value);l._data=e,oO(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(i)}),this._queue=[],t.sort((i,r)=>{const s=i.transition.ast.depCount,o=r.transition.ast.depCount;return 0==s||0==o?s-o:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}elementContainsData(e){let t=!1;return this._elementListeners.has(e)&&(t=!0),t=!!this._queue.find(i=>i.element===e)||t,t}}class Ire{constructor(e,t,i){this.bodyNode=e,this.driver=t,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,s)=>{}}_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}get queuedPlayers(){const e=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&e.push(i)})}),e}createNamespace(e,t){const i=new Ore(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[e]=i}_balanceNamespaceList(e,t){const i=this._namespaceList.length-1;if(i>=0){let r=!1;for(let s=i;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,t)){this._namespaceList.splice(s+1,0,e),r=!0;break}r||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}register(e,t){let i=this._namespaceLookup[e];return i||(i=this.createNamespace(e,t)),i}registerTrigger(e,t,i){let r=this._namespaceLookup[e];r&&r.register(t,i)&&this.totalAnimations++}destroy(e,t){if(!e)return;const i=this._fetchNamespace(e);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[e];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(t))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){const t=new Set,i=this.statesByElement.get(e);if(i){const r=Object.keys(i);for(let s=0;s=0&&this.collectedLeaveElements.splice(o,1)}if(e){const o=this._fetchNamespace(e);o&&o.insertNode(t,i)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),ml(e,xz)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),sm(e,xz))}removeNode(e,t,i,r){if(WE(t)){const s=e?this._fetchNamespace(e):null;if(s?s.removeNode(t,r):this.markElementAsRemoved(e,t,!1,r),i){const o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,r)}}else this._onRemovalComplete(t,r)}markElementAsRemoved(e,t,i,r){this.collectedLeaveElements.push(t),t[gl]={namespaceId:e,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1}}listen(e,t,i,r,s){return WE(t)?this._fetchNamespace(e).listen(t,i,r,s):()=>{}}_buildInstruction(e,t,i,r,s){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,i,r,e.fromState.options,e.toState.options,t,s)}destroyInnerAnimations(e){let t=this.driver.query(e,FE,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(e,mO,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(e){const t=this.playersByElement.get(e);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(e){const t=this.playersByQueriedElement.get(e);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return rh(this.players).onDone(()=>e());e()})}processLeaveNode(e){const t=e[gl];if(t&&t.setForRemoval){if(e[gl]=Az,t.namespaceId){this.destroyInnerAnimations(e);const i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}this.driver.matchesElement(e,Tz)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Tz,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],t.length?rh(t).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(e){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${e.join("\n")}`)}_flushAnimations(e,t){const i=new HE,r=[],s=new Map,o=[],a=new Map,l=new Map,c=new Map,d=new Set;this.disabledNodes.forEach(Q=>{d.add(Q);const je=this.driver.query(Q,".ng-animate-queued",!0);for(let $e=0;$e{const $e=gO+y++;_.set(je,$e),Q.forEach(qe=>ml(qe,$e))});const v=[],C=new Set,w=new Set;for(let Q=0;QC.add(qe)):w.add(je))}const x=new Map,N=Iz(p,Array.from(C));N.forEach((Q,je)=>{const $e=RE+y++;x.set(je,$e),Q.forEach(qe=>ml(qe,$e))}),e.push(()=>{g.forEach((Q,je)=>{const $e=_.get(je);Q.forEach(qe=>sm(qe,$e))}),N.forEach((Q,je)=>{const $e=x.get(je);Q.forEach(qe=>sm(qe,$e))}),v.forEach(Q=>{this.processLeaveNode(Q)})});const V=[],U=[];for(let Q=this._namespaceList.length-1;Q>=0;Q--)this._namespaceList[Q].drainQueuedTransitions(t).forEach($e=>{const qe=$e.player,Ot=$e.element;if(V.push(qe),this.collectedEnterElements.length){const gi=Ot[gl];if(gi&&gi.setForMove)return void qe.destroy()}const Hn=!f||!this.driver.containsElement(f,Ot),ot=x.get(Ot),nr=_.get(Ot),Ln=this._buildInstruction($e,i,nr,ot,Hn);if(Ln.errors&&Ln.errors.length)U.push(Ln);else{if(Hn)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);if($e.isFallbackTransition)return qe.onStart(()=>Vf(Ot,Ln.fromStyles)),qe.onDestroy(()=>Gc(Ot,Ln.toStyles)),void r.push(qe);Ln.timelines.forEach(gi=>gi.stretchStartingKeyframe=!0),i.append(Ot,Ln.timelines),o.push({instruction:Ln,player:qe,element:Ot}),Ln.queriedElements.forEach(gi=>Ma(a,gi,[]).push(qe)),Ln.preStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);if(oa.length){let Bs=l.get(_r);Bs||l.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))}}),Ln.postStyleProps.forEach((gi,_r)=>{const oa=Object.keys(gi);let Bs=c.get(_r);Bs||c.set(_r,Bs=new Set),oa.forEach(Na=>Bs.add(Na))})}});if(U.length){const Q=[];U.forEach(je=>{Q.push(`@${je.triggerName} has failed due to:\n`),je.errors.forEach($e=>Q.push(`- ${$e}\n`))}),V.forEach(je=>je.destroy()),this.reportError(Q)}const ee=new Map,de=new Map;o.forEach(Q=>{const je=Q.element;i.has(je)&&(de.set(je,je),this._beforeAnimationBuild(Q.player.namespaceId,Q.instruction,ee))}),r.forEach(Q=>{const je=Q.element;this._getPreviousPlayers(je,!1,Q.namespaceId,Q.triggerName,null).forEach(qe=>{Ma(ee,je,[]).push(qe),qe.destroy()})});const ae=v.filter(Q=>Rz(Q,l,c)),me=new Map;Oz(me,this.driver,w,c,qu).forEach(Q=>{Rz(Q,l,c)&&ae.push(Q)});const Be=new Map;g.forEach((Q,je)=>{Oz(Be,this.driver,new Set(Q),l,"!")}),ae.forEach(Q=>{const je=me.get(Q),$e=Be.get(Q);me.set(Q,Object.assign(Object.assign({},je),$e))});const te=[],ne=[],Ie={};o.forEach(Q=>{const{element:je,player:$e,instruction:qe}=Q;if(i.has(je)){if(d.has(je))return $e.onDestroy(()=>Gc(je,qe.toStyles)),$e.disabled=!0,$e.overrideTotalTime(qe.totalTime),void r.push($e);let Ot=Ie;if(de.size>1){let ot=je;const nr=[];for(;ot=ot.parentNode;){const Ln=de.get(ot);if(Ln){Ot=Ln;break}nr.push(ot)}nr.forEach(Ln=>de.set(Ln,Ot))}const Hn=this._buildAnimation($e.namespaceId,qe,ee,s,Be,me);if($e.setRealPlayer(Hn),Ot===Ie)te.push($e);else{const ot=this.playersByElement.get(Ot);ot&&ot.length&&($e.parentPlayer=rh(ot)),r.push($e)}}else Vf(je,qe.fromStyles),$e.onDestroy(()=>Gc(je,qe.toStyles)),ne.push($e),d.has(je)&&r.push($e)}),ne.forEach(Q=>{const je=s.get(Q.element);if(je&&je.length){const $e=rh(je);Q.setRealPlayer($e)}}),r.forEach(Q=>{Q.parentPlayer?Q.syncPlayerEvents(Q.parentPlayer):Q.destroy()});for(let Q=0;Q!Hn.destroyed);Ot.length?Fre(this,je,Ot):this.processLeaveNode(je)}return v.length=0,te.forEach(Q=>{this.players.push(Q),Q.onDone(()=>{Q.destroy();const je=this.players.indexOf(Q);this.players.splice(je,1)}),Q.play()}),te}elementContainsData(e,t){let i=!1;const r=t[gl];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(t)&&(i=!0),this.playersByQueriedElement.has(t)&&(i=!0),this.statesByElement.has(t)&&(i=!0),this._fetchNamespace(e).elementContainsData(t)||i}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,i,r,s){let o=[];if(t){const a=this.playersByQueriedElement.get(e);a&&(o=a)}else{const a=this.playersByElement.get(e);if(a){const l=!s||s==Bv;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||o.push(c)})}}return(i||r)&&(o=o.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),o}_beforeAnimationBuild(e,t,i){const s=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:t.triggerName;for(const l of t.timelines){const c=l.element,d=c!==s,f=Ma(i,c,[]);this._getPreviousPlayers(c,d,o,a,t.toState).forEach(g=>{const _=g.getRealPlayer();_.beforeDestroy&&_.beforeDestroy(),g.destroy(),f.push(g)})}Vf(s,t.fromStyles)}_buildAnimation(e,t,i,r,s,o){const a=t.triggerName,l=t.element,c=[],d=new Set,f=new Set,p=t.timelines.map(_=>{const y=_.element;d.add(y);const v=y[gl];if(v&&v.removedBeforeQueried)return new im(_.duration,_.delay);const C=y!==l,w=function(n){const e=[];return Pz(n,e),e}((i.get(y)||Are).map(ee=>ee.getRealPlayer())).filter(ee=>!!ee.element&&ee.element===y),x=s.get(y),N=o.get(y),V=iz(0,this._normalizer,0,_.keyframes,x,N),U=this._buildPlayer(_,V,w);if(_.subTimeline&&r&&f.add(y),C){const ee=new OO(e,a,y);ee.setRealPlayer(U),c.push(ee)}return U});c.forEach(_=>{Ma(this.playersByQueriedElement,_.element,[]).push(_),_.onDone(()=>function(n,e,t){let i;if(n instanceof Map){if(i=n.get(e),i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&n.delete(e)}}else if(i=n[e],i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&delete n[e]}return i}(this.playersByQueriedElement,_.element,_))}),d.forEach(_=>ml(_,dz));const g=rh(p);return g.onDestroy(()=>{d.forEach(_=>sm(_,dz)),Gc(l,t.toStyles)}),f.forEach(_=>{Ma(r,_,[]).push(g)}),g}_buildPlayer(e,t,i){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,i):new im(e.duration,e.delay)}}class OO{constructor(e,t,i){this.namespaceId=e,this.triggerName=t,this.element=i,this._player=new im,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(t=>{this._queuedCallbacks[t].forEach(i=>oO(e,t,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){const t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){Ma(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){const t=this._player;t.triggerCallback&&t.triggerCallback(e)}}function WE(n){return n&&1===n.nodeType}function Dz(n,e){const t=n.style.display;return n.style.display=null!=e?e:"none",t}function Oz(n,e,t,i,r){const s=[];t.forEach(l=>s.push(Dz(l)));const o=[];i.forEach((l,c)=>{const d={};l.forEach(f=>{const p=d[f]=e.computeStyle(c,f,r);(!p||0==p.length)&&(c[gl]=Dre,o.push(c))}),n.set(c,d)});let a=0;return t.forEach(l=>Dz(l,s[a++])),o}function Iz(n,e){const t=new Map;if(n.forEach(a=>t.set(a,[])),0==e.length)return t;const r=new Set(e),s=new Map;function o(a){if(!a)return 1;let l=s.get(a);if(l)return l;const c=a.parentNode;return l=t.has(c)?c:r.has(c)?1:o(c),s.set(a,l),l}return e.forEach(a=>{const l=o(a);1!==l&&t.get(l).push(a)}),t}const qE="$$classes";function ml(n,e){if(n.classList)n.classList.add(e);else{let t=n[qE];t||(t=n[qE]={}),t[e]=!0}}function sm(n,e){if(n.classList)n.classList.remove(e);else{let t=n[qE];t&&delete t[e]}}function Fre(n,e,t){rh(t).onDone(()=>n.processLeaveNode(e))}function Pz(n,e){for(let t=0;tr.add(s)):e.set(n,i),t.delete(n),!0}class YE{constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,s)=>{},this._transitionEngine=new Ire(e,t,i),this._timelineEngine=new Sre(e,t,i),this._transitionEngine.onRemovalComplete=(r,s)=>this.onRemovalComplete(r,s)}registerTrigger(e,t,i,r,s){const o=e+"-"+r;let a=this._triggerCache[o];if(!a){const l=[],c=CO(this._driver,s,l);if(l.length)throw new Error(`The animation trigger "${r}" has failed to build due to the following errors:\n - ${l.join("\n - ")}`);a=function(n,e,t){return new Cre(n,e,t)}(r,c,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,r,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,i,r){this._transitionEngine.insertNode(e,t,i,r)}onRemove(e,t,i,r){this._transitionEngine.removeNode(e,t,r||!1,i)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,i,r){if("@"==i.charAt(0)){const[s,o]=rz(i);this._timelineEngine.command(s,t,o,r)}else this._transitionEngine.trigger(e,t,i,r)}listen(e,t,i,r,s){if("@"==i.charAt(0)){const[o,a]=rz(i);return this._timelineEngine.listen(o,t,a,s)}return this._transitionEngine.listen(e,t,i,r,s)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function kz(n,e){let t=null,i=null;return Array.isArray(e)&&e.length?(t=IO(e[0]),e.length>1&&(i=IO(e[e.length-1]))):e&&(t=IO(e)),t||i?new om(n,t,i):null}class om{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=om.initialStylesByElement.get(e);r||om.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&Gc(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Gc(this._element,this._initialStyles),this._endStyles&&(Gc(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(om.initialStylesByElement.delete(this._element),this._startStyles&&(Vf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Vf(this._element,this._endStyles),this._endStyles=null),Gc(this._element,this._initialStyles),this._state=3)}}function IO(n){let e=null;const t=Object.keys(n);for(let i=0;ithis._handleCallback(l)}apply(){(function(n,e){const t=RO(n,"").trim();let i=0;t.length&&(function(n,e){let t=0;for(let i=0;i=this._delay&&i>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Vz(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(n,e){const i=RO(n,"").split(","),r=PO(i,e);r>=0&&(i.splice(r,1),XE(n,"",i.join(",")))}(this._element,this._name))}}function Lz(n,e,t){XE(n,"PlayState",t,Bz(n,e))}function Bz(n,e){const t=RO(n,"");return t.indexOf(",")>0?PO(t.split(","),e):PO([t],e)}function PO(n,e){for(let t=0;t=0)return t;return-1}function Vz(n,e,t){t?n.removeEventListener(Nz,e):n.addEventListener(Nz,e)}function XE(n,e,t,i){const r=Fz+e;if(null!=i){const s=n.style[r];if(s.length){const o=s.split(",");o[i]=t,t=o.join(",")}}n.style[r]=t}function RO(n,e){return n.style[Fz+e]||""}class zz{constructor(e,t,i,r,s,o,a,l){this.element=e,this.keyframes=t,this.animationName=i,this._duration=r,this._delay=s,this._finalStyles=a,this._specialStyles=l,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=r+s,this._buildStyler()}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(e=>e()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(e){this._styler.setPosition(e)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new jre(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}beforeDestroy(){this.init();const e={};if(this.hasStarted()){const t=this._state>=3;Object.keys(this._finalStyles).forEach(i=>{"offset"!=i&&(e[i]=t?this._finalStyles[i]:bO(this.element,i))})}this.currentSnapshot=e}}class qre extends im{constructor(e,t){super(),this.element=e,this._startingStyles={},this.__initialized=!1,this._styles=lz(t)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(e=>{this._startingStyles[e]=this.element.style[e]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(e=>this.element.style.setProperty(e,this._styles[e])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(e=>{const t=this._startingStyles[e];t?this.element.style.setProperty(e,t):this.element.style.removeProperty(e)}),this._startingStyles=null,super.destroy())}}class Uz{constructor(){this._count=0}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}buildKeyframeElement(e,t,i){i=i.map(a=>lz(a));let r=`@keyframes ${t} {\n`,s="";i.forEach(a=>{s=" ";const l=parseFloat(a.offset);r+=`${s}${100*l}% {\n`,s+=" ",Object.keys(a).forEach(c=>{const d=a[c];switch(c){case"offset":return;case"easing":return void(d&&(r+=`${s}animation-timing-function: ${d};\n`));default:return void(r+=`${s}${c}: ${d};\n`)}}),r+=`${s}}\n`}),r+="}\n";const o=document.createElement("style");return o.textContent=r,o}animate(e,t,i,r,s,o=[],a){const l=o.filter(v=>v instanceof zz),c={};mz(i,r)&&l.forEach(v=>{let C=v.currentSnapshot;Object.keys(C).forEach(w=>c[w]=C[w])});const d=function(n){let e={};return n&&(Array.isArray(n)?n:[n]).forEach(i=>{Object.keys(i).forEach(r=>{"offset"==r||"easing"==r||(e[r]=i[r])})}),e}(t=_z(e,t,c));if(0==i)return new qre(e,d);const f="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(e,f,t);(function(n){var e;const t=null===(e=n.getRootNode)||void 0===e?void 0:e.call(n);return"undefined"!=typeof ShadowRoot&&t instanceof ShadowRoot?t:document.head})(e).appendChild(p);const _=kz(e,t),y=new zz(e,t,f,i,r,s,d,_);return y.onDestroy(()=>function(n){n.parentNode.removeChild(n)}(p)),y}}class $z{constructor(e,t,i,r){this.element=e,this.keyframes=t,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(e,t,i){return e.animate(t,i)}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(t=>{"offset"!=t&&(e[t]=this._finished?this._finalKeyframe[t]:bO(this.element,t))}),this.currentSnapshot=e}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class Qre{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Gz().toString()),this._cssKeyframesDriver=new Uz}validateStyleProperty(e){return dO(e)}matchesElement(e,t){return hO(e,t)}containsElement(e,t){return fO(e,t)}query(e,t,i){return pO(e,t,i)}computeStyle(e,t,i){return window.getComputedStyle(e)[t]}overrideWebAnimationsSupport(e){this._isNativeImpl=e}animate(e,t,i,r,s,o=[],a){if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,i,r,s,o);const d={duration:i,delay:r,fill:0==r?"both":"forwards"};s&&(d.easing=s);const f={},p=o.filter(_=>_ instanceof $z);mz(i,r)&&p.forEach(_=>{let y=_.currentSnapshot;Object.keys(y).forEach(v=>f[v]=y[v])});const g=kz(e,t=_z(e,t=t.map(_=>sh(_,!1)),f));return new $z(e,t,d,g)}}function Gz(){return nz()&&Element.prototype.animate||{}}let ese=(()=>{class n extends QV{constructor(t,i){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(i.body,{id:"0",encapsulation:Ue.None,styles:[],data:{animation:[]}})}build(t){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(t)?JV(t):t;return Wz(this._renderer,null,i,"register",[r]),new tse(i,this._renderer)}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(ut))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class tse extends class{}{constructor(e,t){super(),this._id=e,this._renderer=t}create(e,t){return new nse(this._id,e,t||{},this._renderer)}}class nse{constructor(e,t,i,r){this.id=e,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(e,t){return this._renderer.listen(this.element,`@@${this.id}:${e}`,t)}_command(e,...t){return Wz(this._renderer,this.element,this.id,e,t)}onDone(e){this._listen("done",e)}onStart(e){this._listen("start",e)}onDestroy(e){this._listen("destroy",e)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(e){this._command("setPosition",e)}getPosition(){var e,t;return null!==(t=null===(e=this._renderer.engine.players[+this.id])||void 0===e?void 0:e.getPosition())&&void 0!==t?t:0}}function Wz(n,e,t,i,r){return n.setProperty(e,`@@${t}:${i}`,r)}const qz="@.disabled";let ise=(()=>{class n{constructor(t,i,r){this.delegate=t,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,o)=>{o&&o.parentNode(s)&&o.removeChild(s.parentNode,s)}}createRenderer(t,i){const s=this.delegate.createRenderer(t,i);if(!(t&&i&&i.data&&i.data.animation)){let d=this._rendererCache.get(s);return d||(d=new Yz("",s,this.engine),this._rendererCache.set(s,d)),d}const o=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,t);const l=d=>{Array.isArray(d)?d.forEach(l):this.engine.registerTrigger(o,a,t,d.name,d)};return i.data.animation.forEach(l),new rse(this,a,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,i,r){t>=0&&ti(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[o,a]=s;o(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(t){return new(t||n)(I(Cf),I(YE),I(dt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Yz{constructor(e,t,i){this.namespaceId=e,this.delegate=t,this.engine=i,this.destroyNode=this.delegate.destroyNode?r=>t.destroyNode(r):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,i,r=!0){this.delegate.insertBefore(e,t,i),this.engine.onInsert(this.namespaceId,t,e,r)}removeChild(e,t,i){this.engine.onRemove(this.namespaceId,t,this.delegate,i)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,i,r){this.delegate.setAttribute(e,t,i,r)}removeAttribute(e,t,i){this.delegate.removeAttribute(e,t,i)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,i,r){this.delegate.setStyle(e,t,i,r)}removeStyle(e,t,i){this.delegate.removeStyle(e,t,i)}setProperty(e,t,i){"@"==t.charAt(0)&&t==qz?this.disableAnimations(e,!!i):this.delegate.setProperty(e,t,i)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,i){return this.delegate.listen(e,t,i)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}}class rse extends Yz{constructor(e,t,i,r){super(t,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,i){"@"==t.charAt(0)?"."==t.charAt(1)&&t==qz?this.disableAnimations(e,i=void 0===i||!!i):this.engine.process(this.namespaceId,e,t.substr(1),i):this.delegate.setProperty(e,t,i)}listen(e,t,i){if("@"==t.charAt(0)){const r=function(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(e);let s=t.substr(1),o="";return"@"!=s.charAt(0)&&([s,o]=function(n){const e=n.indexOf(".");return[n.substring(0,e),n.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,r,s,o,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(e,t,i)}}let ase=(()=>{class n extends YE{constructor(t,i,r){super(t.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(PE),I(xO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Do=new ve("AnimationModuleType"),Xz=[{provide:QV,useClass:ese},{provide:xO,useFactory:function(){return new gre}},{provide:YE,useClass:ase},{provide:Cf,useFactory:function(n,e,t){return new ise(n,e,t)},deps:[_E,YE,dt]}],Kz=[{provide:PE,useFactory:function(){return"function"==typeof Gz()?new Qre:new Uz}},{provide:Do,useValue:"BrowserAnimations"},...Xz],Zz=[{provide:PE,useClass:cz},{provide:Do,useValue:"NoopAnimations"},...Xz];let kO=(()=>{class n{static withConfig(t){return{ngModule:n,providers:t.disableAnimations?Zz:Kz}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:Kz,imports:[yE]}),n})();function fse(n,e){if(1&n&&tt(0,"mat-pseudo-checkbox",4),2&n){const t=Qe();ie("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function pse(n,e){if(1&n&&(R(0,"span",5),De(1),k()),2&n){const t=Qe();G(1),or("(",t.group.label,")")}}const gse=["*"],Qz=new ju("12.2.5"),_se=new ve("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let $f,On=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Mo()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Qz.full!==ZV.full&&console.warn("The Angular Material version ("+Qz.full+") does not match the Angular CDK version ("+ZV.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(I(XV),I(_se,8),I(ut))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv],Nv]}),n})();function jf(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=Mt(e)}}}function Uf(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function nc(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Mt(e)}}}function Hf(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?To(t):this.defaultTabIndex}}}function FO(n){return class extends n{constructor(...e){super(...e),this.stateChanges=new Se,this.errorState=!1}updateErrorState(){const e=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==e&&(this.errorState=s,this.stateChanges.next())}}}try{$f="undefined"!=typeof Intl}catch(n){$f=!1}let Vv=(()=>{class n{isErrorState(t,i){return!!(t&&t.invalid&&(t.touched||i&&i.submitted))}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})();class Dse{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const ij={enterDuration:225,exitDuration:150},NO=tm({passive:!0}),rj=["mousedown","touchstart"],sj=["mouseup","mouseleave","touchend","touchcancel"];class oj{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=Wu(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},ij),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=a-o+"px",d.style.top=l-o+"px",d.style.height=2*o+"px",d.style.width=2*o+"px",null!=i.color&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(d),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(d),d.style.transform="scale(1)";const f=new Dse(this,d,i);return f.state=0,this._activeRipples.add(f),i.persistent||(this._mostRecentTransientRipple=f),this._runTimeoutOutsideZone(()=>{const p=f===this._mostRecentTransientRipple;f.state=1,!i.persistent&&(!p||!this._isPointerDown)&&f.fadeOut()},c),f}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},ij),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=Wu(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(rj))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(sj),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=VV(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,NO)})})}_removeTriggerEvents(){this._triggerElement&&(rj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}),this._pointerUpEventsRegistered&&sj.forEach(e=>{this._triggerElement.removeEventListener(e,this,NO)}))}}const aj=new ve("mat-ripple-global-options");let Js=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new oj(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(Do,8))},n.\u0275dir=oe({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&st("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),_l=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On,Rv],On]}),n})(),lj=(()=>{class n{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return n.\u0275fac=function(t){return new(t||n)(E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,i){2&t&&st("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,i){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),n})(),LO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On]]}),n})();const QE=new ve("MAT_OPTION_PARENT_COMPONENT"),Rse=jf(class{});let kse=0,cj=(()=>{class n extends Rse{constructor(t){var i;super(),this._labelId="mat-optgroup-label-"+kse++,this._inert=null!==(i=null==t?void 0:t.inertGroups)&&void 0!==i&&i}}return n.\u0275fac=function(t){return new(t||n)(E(QE,8))},n.\u0275dir=oe({type:n,inputs:{label:"label"},features:[ct]}),n})();const JE=new ve("MatOptgroup");let Fse=0;class uj{constructor(e,t=!1){this.source=e,this.isUserInput=t}}let Nse=(()=>{class n{constructor(t,i,r,s){this._element=t,this._changeDetectorRef=i,this._parent=r,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Fse++,this.onSelectionChange=new Le,this._stateChanges=new Se}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,i){const r=this._getHostElement();"function"==typeof r.focus&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!Zs(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new uj(this,t))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(void 0),E(cj))},n.\u0275dir=oe({type:n,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),n})(),eS=(()=>{class n extends Nse{constructor(t,i,r,s){super(t,i,r,s)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(QE,8),E(JE,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,i){1&t&&ge("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&t&&(al("id",i.id),nn("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),st("mat-selected",i.selected)("mat-option-multiple",i.multiple)("mat-active",i.active)("mat-option-disabled",i.disabled))},exportAs:["matOption"],features:[ct],ngContentSelectors:gse,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,i){1&t&&(wi(),mt(0,fse,1,2,"mat-pseudo-checkbox",0),R(1,"span",1),Ht(2),k(),mt(3,pse,2,1,"span",2),tt(4,"div",3)),2&t&&(ie("ngIf",i.multiple),G(3),ie("ngIf",i.group&&i.group._inert),G(1),ie("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},directives:[zr,Js,lj],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),n})();function BO(n,e,t){if(t.length){let i=e.toArray(),r=t.toArray(),s=0;for(let o=0;o{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,dn,On,LO]]}),n})();function Wc(n,e,t,i){return Ke(t)&&(i=t,t=void 0),i?Wc(n,e,t).pipe(Ae(r=>we(r)?i(...r):i(r))):new ce(r=>{hj(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function hj(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o enter",[ti({opacity:0,transform:"translateY(-5px)"}),Ao("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let jv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})();const pj=new ve("MatHint");let Gf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-label"]]}),n})(),ooe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-placeholder"]]}),n})();const gj=new ve("MatPrefix"),mj=new ve("MatSuffix");let VO=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","matSuffix",""]],features:[Dt([{provide:mj,useExisting:n}])]}),n})(),_j=0;const coe=Uf(class{constructor(n){this._elementRef=n}},"primary"),vj=new ve("MAT_FORM_FIELD_DEFAULT_OPTIONS"),nS=new ve("MatFormField");let am=(()=>{class n extends coe{constructor(t,i,r,s,o,a,l,c){super(t),this._changeDetectorRef=i,this._dir=s,this._defaults=o,this._platform=a,this._ngZone=l,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new Se,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+_j++,this._labelId="mat-form-field-label-"+_j++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==c,this.appearance=o&&o.appearance?o.appearance:"legacy",this._hideRequiredMarker=!(!o||null==o.hideRequiredMarker)&&o.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const i=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&i!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=Mt(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(Rr(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(Tn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Tn(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Ni(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Rr(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Rr(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const i=this._control?this._control.ngControl:null;return i&&i[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Wc(this._label.nativeElement,"transitionend").pipe(yi(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,r=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?t.push(i.id):this._hintLabel&&t.push(this._hintLabelId),r&&t.push(r.id)}else this._errorChildren&&t.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let i=0,r=0;const s=this._connectionContainerRef.nativeElement,o=s.querySelectorAll(".mat-form-field-outline-start"),a=s.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const l=s.getBoundingClientRect();if(0===l.width&&0===l.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const c=this._getStartEnd(l),d=t.children,f=this._getStartEnd(d[0].getBoundingClientRect());let p=0;for(let g=0;g0?.75*p+10:0}for(let l=0;l{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,SE],On]}),n})();function Hv(...n){if(1===n.length){const e=n[0];if(we(e))return iS(e,null);if(_e(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return iS(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return iS(n=1===n.length&&we(n[0])?n[0]:n,null).pipe(Ae(t=>e(...t)))}return iS(n,null)}function iS(n,e){return new ce(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=d},error:d=>t.error(d),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((d,f,p)=>(d[f]=r[p],d),{}):r),t.complete())}}))}})}function Ta(n){return function(t){const i=new uoe(n),r=t.lift(i);return i.caught=r}}class uoe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new doe(e,this.selector,this.caught))}}class doe extends ii{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new Gr(this);this.add(i);const r=co(t,i);r!==i&&this.add(r)}}}class hoe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new foe(e,this.callback))}}class foe extends xt{constructor(e,t){super(e),this.add(new Te(t))}}class Cj{}class wj{}class Yu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Yu?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Yu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Yu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class poe{encodeKey(e){return Ej(e)}encodeValue(e){return Ej(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const moe=/%(\d[a-f0-9])/gi,_oe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Ej(n){return encodeURIComponent(n).replace(moe,(e,t)=>{var i;return null!==(i=_oe[t])&&void 0!==i?i:e})}function Sj(n){return`${n}`}class oh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new poe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new oh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(Sj(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(Sj(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class yoe{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function Mj(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function xj(n){return"undefined"!=typeof Blob&&n instanceof Blob}function Tj(n){return"undefined"!=typeof FormData&&n instanceof FormData}class $v{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Yu),this.context||(this.context=new yoe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(d=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),d)),new $v(i,r,o,{params:d,headers:c,context:f,reportProgress:l,responseType:s,withCredentials:a})}}var Ur=(()=>((Ur=Ur||{})[Ur.Sent=0]="Sent",Ur[Ur.UploadProgress=1]="UploadProgress",Ur[Ur.ResponseHeader=2]="ResponseHeader",Ur[Ur.DownloadProgress=3]="DownloadProgress",Ur[Ur.Response=4]="Response",Ur[Ur.User=5]="User",Ur))();class zO{constructor(e,t=200,i="OK"){this.headers=e.headers||new Yu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class jO extends zO{constructor(e={}){super(e),this.type=Ur.ResponseHeader}clone(e={}){return new jO({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class rS extends zO{constructor(e={}){super(e),this.type=Ur.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new rS({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class Aj extends zO{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function UO(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let Wf=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof $v)s=t;else{let l,c;l=r.headers instanceof Yu?r.headers:new Yu(r.headers),r.params&&(c=r.params instanceof oh?r.params:new oh({fromObject:r.params})),s=new $v(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=ht(s).pipe(function(n,e){return di(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof $v||"events"===r.observe)return o;const a=o.pipe(Fn(l=>l instanceof rS));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(Ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new oh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,UO(r,i))}post(t,i,r={}){return this.request("POST",t,UO(r,i))}put(t,i,r={}){return this.request("PUT",t,UO(r,i))}}return n.\u0275fac=function(t){return new(t||n)(I(Cj))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Dj{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const Oj=new ve("HTTP_INTERCEPTORS");let Coe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const woe=/^\)\]\}',?\n/;let Ij=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ce(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,_)=>r.setRequestHeader(g,_.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,_=r.statusText||"OK",y=new Yu(r.getAllResponseHeaders()),v=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new jO({headers:y,status:g,statusText:_,url:v}),o},l=()=>{let{headers:g,status:_,statusText:y,url:v}=a(),C=null;204!==_&&(C=void 0===r.response?r.responseText:r.response),0===_&&(_=C?200:0);let w=_>=200&&_<300;if("json"===t.responseType&&"string"==typeof C){const x=C;C=C.replace(woe,"");try{C=""!==C?JSON.parse(C):null}catch(N){C=x,w&&(w=!1,C={error:N,text:C})}}w?(i.next(new rS({body:C,headers:g,status:_,statusText:y,url:v||void 0})),i.complete()):i.error(new Aj({error:C,headers:g,status:_,statusText:y,url:v||void 0}))},c=g=>{const{url:_}=a(),y=new Aj({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:_||void 0});i.error(y)};let d=!1;const f=g=>{d||(i.next(a()),d=!0);let _={type:Ur.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),"text"===t.responseType&&!!r.responseText&&(_.partialText=r.responseText),i.next(_)},p=g=>{let _={type:Ur.UploadProgress,loaded:g.loaded};g.lengthComputable&&(_.total=g.total),i.next(_)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",f),null!==s&&r.upload&&r.upload.addEventListener("progress",p)),r.send(s),i.next({type:Ur.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",f),null!==s&&r.upload&&r.upload.removeEventListener("progress",p)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(I(aV))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const HO=new ve("XSRF_COOKIE_NAME"),$O=new ve("XSRF_HEADER_NAME");class Pj{}let Soe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Y3(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(dl),I(HO))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),GO=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(Pj),I($O))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Moe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(Oj,[]);this.chain=i.reduceRight((r,s)=>new Dj(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(I(wj),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),xoe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:GO,useClass:Coe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:HO,useValue:t.cookieName}:[],t.headerName?{provide:$O,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[GO,{provide:Oj,useExisting:GO,multi:!0},{provide:Pj,useClass:Soe},{provide:HO,useValue:"XSRF-TOKEN"},{provide:$O,useValue:"X-XSRF-TOKEN"}]}),n})(),Rj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Wf,{provide:Cj,useClass:Moe},Ij,{provide:wj,useExisting:Ij}],imports:[[xoe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const Toe=["*"];function kj(n){return Error(`Unable to find icon with the name "${n}"`)}function Fj(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function Nj(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class qf{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let Gv=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new qf(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(mn.HTML,r);if(!o)throw Nj(r);return this._addSvgIconConfig(t,i,new qf("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new qf(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(mn.HTML,i);if(!s)throw Nj(i);return this._addSvgIconSetConfig(t,new qf("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(mn.RESOURCE_URL,t);if(!i)throw Fj(t);const r=this._cachedIconsByUrl.get(i);return r?ht(sS(r)):this._loadSvgIconFromConfig(new qf(t,null)).pipe(Ti(s=>this._cachedIconsByUrl.set(i,s)),Ae(s=>sS(s)))}getNamedSvgIcon(t,i=""){const r=Lj(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Kg(kj(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?ht(sS(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(Ae(i=>sS(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?ht(r):Hv(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(Ta(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(mn.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),ht(null)})))).pipe(Ae(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw kj(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Ti(i=>t.svgText=i),Ae(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?ht(null):this._fetchIcon(t).pipe(Ti(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new hoe(n))}(()=>this._inProgressUrlFetches.delete(a)),Vs());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(Lj(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),Bj=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Foe=Bj.map(n=>`[${n}]`).join(", "),Noe=/^url\(['"]?#(.*?)['"]?\)$/;let rs=(()=>{class n extends Ioe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=Te.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=Mt(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(Foe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(Noe):null;if(c){let d=r.get(a);d||(d=[],r.set(a,d)),d.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(yi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Gv),Zr("aria-hidden"),E(Poe),E($o))},n.\u0275cmp=Ne({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),st("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[ct],ngContentSelectors:Toe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),n})(),lr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let zoe=1;const joe=Promise.resolve(),oS={};function Vj(n){return n in oS&&(delete oS[n],!0)}const zj={setImmediate(n){const e=zoe++;return oS[e]=!0,joe.then(()=>Vj(e)&&n()),e},clearImmediate(n){Vj(n)}};new class extends Jl{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=zj.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(zj.clearImmediate(t),e.scheduled=void 0)}});function cm(n){return!!n&&(n instanceof ce||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class Woe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new qoe(e,this.durationSelector))}}class qoe extends ii{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=co(t,new Gr(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function WO(n){return!we(n)&&n-parseFloat(n)+1>=0}function Xoe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function aS(n,e=Pf){return function(n){return function(t){return t.lift(new Woe(n))}}(()=>function(n=0,e,t){let i=-1;return WO(e)?i=Number(e)<1?1:Number(e):Gn(e)&&(t=e),Gn(t)||(t=Pf),new ce(r=>{const s=WO(n)?n:+n-t.now();return t.schedule(Xoe,s,{index:0,period:i,subscriber:r})})}(n,e))}function qc(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(d){let f;s++,!r||a?(a=!1,r=new If(n,e,i),f=r.subscribe(this),o=d.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):f=r.subscribe(this),this.add(()=>{s--,f.unsubscribe(),f=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}class lS{constructor(e=!1,t,i=!0){this._multiple=e,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Se,t&&t.length&&(e?t.forEach(r=>this._markSelected(r)):this._markSelected(t[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...e){this._verifyValueAssignment(e),e.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...e){this._verifyValueAssignment(e),e.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(e){this.isSelected(e)?this.deselect(e):this.select(e)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(e){return this._selection.has(e)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){this.isSelected(e)||(this._multiple||this._unmarkAll(),this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){}}let cS=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({factory:function(){return new n},token:n,providedIn:"root"}),n})(),um=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new Se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new ce(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(aS(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):ht()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Fn(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=Wu(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Wc(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(si),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(dt),I(si),I(ut,8))},token:n,providedIn:"root"}),n})(),Yf=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new Se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(aS(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt),I(ut,8))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt),I(ut,8))},token:n,providedIn:"root"}),n})(),Wv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),Gj=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Nv,Rv,Wv],Nv,Wv]}),n})();class qO{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class dm extends qO{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Xf extends qO{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}}class fae extends qO{constructor(e){super(),this.element=e instanceof rt?e.nativeElement:e}}class uS{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof dm?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Xf?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof fae?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class pae extends uS{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let Kf=(()=>{class n extends uS{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Le,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(E(ll),E(ns),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[ct]}),n})(),dS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function qj(n,e=!1){return t=>t.lift(new gae(n,e))}class gae{constructor(e,t){this.predicate=e,this.inclusive=t}call(e,t){return t.subscribe(new mae(e,this.predicate,this.inclusive))}}class mae extends xt{constructor(e,t,i){super(e),this.predicate=t,this.inclusive=i,this.index=0}_next(e){const t=this.destination;let i;try{i=this.predicate(e,this.index++)}catch(r){return void t.error(r)}this.nextOrComplete(e,i)}nextOrComplete(e,t){const i=this.destination;Boolean(t)?i.next(e):(this.inclusive&&i.next(e),i.complete())}}const Yj=TV();class _ae{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=jr(-this._previousScrollPosition.left),e.style.top=jr(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),Yj&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Yj&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class yae{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class Xj{enable(){}disable(){}attach(){}}function YO(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function Kj(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class vae{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();YO(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let bae=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new Xj,this.close=o=>new yae(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new _ae(this._viewportRuler,this._document),this.reposition=o=>new vae(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(I(um),I(Yf),I(dt),I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(um),I(Yf),I(dt),I(ut))},token:n,providedIn:"root"}),n})();class qv{constructor(e){if(this.scrollStrategy=new Xj,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class Cae{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class wae{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let Zj=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Eae=(()=>{class n extends Zj{constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(I(ut))},n.\u0275prov=ue({factory:function(){return new n(I(ut))},token:n,providedIn:"root"}),n})(),Sae=(()=>{class n extends Zj{constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Nf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(si))},n.\u0275prov=ue({factory:function(){return new n(I(ut),I(si))},token:n,providedIn:"root"}),n})();const ah="undefined"!=typeof window?window:{},Qj=void 0!==ah.__karma__&&!!ah.__karma__||void 0!==ah.jasmine&&!!ah.jasmine||void 0!==ah.jest&&!!ah.jest||void 0!==ah.Mocha&&!!ah.Mocha;let hm=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Qj){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(d),this._keydownEvents=new Se,this._outsidePointerEvents=new Se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){const e=this._config.direction;return e?"string"==typeof e?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const e=this._pane.style;e.width=jr(this._config.width),e.height=jr(this._config.height),e.minWidth=jr(this._config.minWidth),e.minHeight=jr(this._config.minHeight),e.maxWidth=jr(this._config.maxWidth),e.maxHeight=jr(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(!e)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;EE(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(Tn(Ni(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const Jj="cdk-overlay-connected-position-bounding-box",xae=/([A-Za-z%]+)$/;class eU{constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Se,this._resizeSubscription=Te.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(Jj),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Zf(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Jj),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=nU(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,_=this._subtractOverflows(s.width,0-o,o+s.width-i.width),y=this._subtractOverflows(s.height,p,g),v=_*y;return{visibleArea:v,isCompletelyWithinViewport:s.width*s.height===v,fitsInViewportVertically:y===s.height,fitsInViewportHorizontally:_==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=tU(this._overlayRef.getConfig().minHeight),a=tU(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=nU(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let d=0,f=0;return d=r.width<=s.width?c||-o:e.x_&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-_/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,d=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)f=e.x,d=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),_=this._lastBoundingBoxSize.width;d=2*g,f=e.x-g,d>_&&!this._isInitialRender&&!this._growAfterOpen&&(f=e.x-_/2)}return{top:o,left:f,bottom:a,right:p,width:d,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=jr(i.height),r.top=jr(i.top),r.bottom=jr(i.bottom),r.width=jr(i.width),r.left=jr(i.left),r.right=jr(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=jr(s)),o&&(r.maxWidth=jr(o))}this._lastBoundingBoxSize=i,Zf(this._boundingBox.style,r)}_resetBoundingBoxStyles(){Zf(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Zf(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();Zf(i,this._getExactOverlayY(t,e,d)),Zf(i,this._getExactOverlayX(t,e,d))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=jr(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=jr(o.maxWidth):s&&(i.maxWidth="")),Zf(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=jr(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=jr(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Kj(e,i),isOriginOutsideView:YO(e,i),isOverlayClipped:Kj(t,i),isOverlayOutsideView:YO(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&EE(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof rt)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function Zf(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function tU(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(xae);return t&&"px"!==t?null:parseFloat(e)}return n||null}function nU(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class Tae{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new eU(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new Cae(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const iU="cdk-global-overlay-wrapper";class Aae{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(iU),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(iU),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let Dae=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new Aae}connectedTo(t,i,r){return new Tae(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new eU(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(I(Yf),I(ut),I(si),I(hm))},n.\u0275prov=ue({factory:function(){return new n(I(Yf),I(ut),I(si),I(hm))},token:n,providedIn:"root"}),n})(),Oae=0,Jo=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=d,this._location=f,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new qv(t);return o.direction=o.direction||this._directionality.value,new Mae(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Oae++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(Jd)),new pae(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(I(bae),I(hm),I(ll),I(Dae),I(Eae),I(Nt),I(dt),I(ut),I(Qo),I(Xg),I(Sae))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Iae=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],rU=new ve("cdk-connected-overlay-scroll-strategy");let Pae=(()=>{class n{constructor(t){this.elementRef=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),n})(),sU=(()=>{class n{constructor(t,i,r,s,o){this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=Te.EMPTY,this._attachSubscription=Te.EMPTY,this._detachSubscription=Te.EMPTY,this._positionSubscription=Te.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Le,this.positionChange=new Le,this.attach=new Le,this.detach=new Le,this.overlayKeydown=new Le,this.overlayOutsideClick=new Le,this._templatePortal=new Xf(i,r),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=Mt(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=Mt(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=Mt(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=Mt(t)}get push(){return this._push}set push(t){this._push=Mt(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Iae);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Zs(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),i=new qv({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(t){const i=this.positions.map(r=>({originX:r.originX,originY:r.originY,overlayX:r.overlayX,overlayY:r.overlayY,offsetX:r.offsetX||this.offsetX,offsetY:r.offsetY||this.offsetY,panelClass:r.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(qj(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Ys),E(ns),E(rU),E(Qo,8))},n.\u0275dir=oe({type:n,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[zn]}),n})();const kae={provide:rU,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};let Yv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Jo,kae],imports:[[Nv,dS,Gj],Gj]}),n})();const oU=["mat-button",""],aU=["*"],Nae=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],Lae=Uf(jf(nc(class{constructor(n){this._elementRef=n}})));let lh=(()=>{class n extends Lae{constructor(t,i,r){super(t),this._focusMonitor=i,this._animationMode=r,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of Nae)this._hasHostAttributes(s)&&this._getHostElement().classList.add(s);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,i){t?this._focusMonitor.focusVia(this._getHostElement(),t,i):this._getHostElement().focus(i)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(i=>this._getHostElement().hasAttribute(i))}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,i){if(1&t&&Jn(Js,5),2&t){let r;_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,i){2&t&&(nn("disabled",i.disabled||null),st("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[ct],attrs:oU,ngContentSelectors:aU,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,i){1&t&&(wi(),R(0,"span",0),Ht(1),k(),tt(2,"span",1),tt(3,"span",2)),2&t&&(G(2),st("mat-button-ripple-round",i.isRoundButton||i.isIconButton),ie("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[Js],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),n})(),ch=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();class cU extends xt{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Bae extends xt{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function uU(n,e,t,i,r=new Bae(n,t,i)){if(!r.closed)return e instanceof ce?e.subscribe(r):ki(e)(r)}const dU={};function Qi(...n){let e,t;return Gn(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0]),za(n,t).lift(new hU(e))}class hU{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Vae(e,this.resultSelector))}}class Vae extends cU{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(dU),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i{class n{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):jae}matchMedia(t){return this._platform.WEBKIT&&function(n){if(!fU.has(n))try{fm||(fm=document.createElement("style"),fm.setAttribute("type","text/css"),document.head.appendChild(fm)),fm.sheet&&(fm.sheet.insertRule(`@media ${n} {.fx-query-test{ }}`,0),fU.add(n))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return n.\u0275fac=function(t){return new(t||n)(I(si))},n.\u0275prov=ue({factory:function(){return new n(I(si))},token:n,providedIn:"root"}),n})();function jae(n){return{matches:"all"===n||""===n,media:n,addListener:()=>{},removeListener:()=>{}}}let XO=(()=>{class n{constructor(t,i){this._mediaMatcher=t,this._zone=i,this._queries=new Map,this._destroySubject=new Se}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return gU(EE(t)).some(r=>this._registerQuery(r).mql.matches)}observe(t){let s=Qi(gU(EE(t)).map(o=>this._registerQuery(o).observable));return s=IE(s.pipe(yi(1)),s.pipe(QD(1),Zg(0))),s.pipe(Ae(o=>{const a={matches:!1,breakpoints:{}};return o.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const i=this._mediaMatcher.matchMedia(t),s={observable:new ce(o=>{const a=l=>this._zone.run(()=>o.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(Rr(i),Ae(({matches:o})=>({query:t,matches:o})),Tn(this._destroySubject)),mql:i};return this._queries.set(t,s),s}}return n.\u0275fac=function(t){return new(t||n)(I(pU),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(pU),I(dt))},token:n,providedIn:"root"}),n})();function gU(n){return n.map(e=>e.split(",")).reduce((e,t)=>e.concat(t)).map(e=>e.trim())}function Uae(n,e){if(1&n){const t=Zi();R(0,"div",1),R(1,"button",2),ge("click",function(){return en(t),Qe().action()}),De(2),k(),k()}if(2&n){const t=Qe();G(2),xi(t.data.action)}}function Hae(n,e){}const KO=new ve("MatSnackBarData");class hS{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const $ae=Math.pow(2,31)-1;class ZO{constructor(e,t){this._overlayRef=t,this._afterDismissed=new Se,this._afterOpened=new Se,this._onAction=new Se,this._dismissedByAction=!1,this.containerInstance=e,this.onAction().subscribe(()=>this.dismiss()),e._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,$ae))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let Gae=(()=>{class n{constructor(t,i){this.snackBarRef=t,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return n.\u0275fac=function(t){return new(t||n)(E(ZO),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,i){1&t&&(R(0,"span"),De(1),k(),mt(2,Uae,3,1,"div",0)),2&t&&(G(1),xi(i.data.message),G(1),ie("ngIf",i.hasAction))},directives:[zr,lh],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),n})();const Wae={snackBarState:tc("state",[wr("void, hidden",ti({transform:"scale(0.8)",opacity:0})),wr("visible",ti({transform:"scale(1)",opacity:1})),Qs("* => visible",Ao("150ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void, * => hidden",Ao("75ms cubic-bezier(0.4, 0.0, 1, 1)",ti({opacity:0})))])};let qae=(()=>{class n extends uS{constructor(t,i,r,s,o){super(),this._ngZone=t,this._elementRef=i,this._changeDetectorRef=r,this._platform=s,this.snackBarConfig=o,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Se,this._onExit=new Se,this._onEnter=new Se,this._animationState="void",this.attachDomPortal=a=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(a)),this._live="assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:i,toState:r}=t;if(("void"===r&&"void"!==i||"hidden"===r)&&this._completeExit(),"visible"===r){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(yi(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(r=>t.classList.add(r)):t.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&i){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(r=document.activeElement),t.removeAttribute("aria-hidden"),i.appendChild(t),null==r||r.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(rt),E(kn),E(si),E(hS))},n.\u0275cmp=Ne({type:n,selectors:[["snack-bar-container"]],viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,i){1&t&&Qy("@state.done",function(s){return i.onAnimationEnd(s)}),2&t&&Pg("@state",i._animationState)},features:[ct],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,i){1&t&&(R(0,"div",0),mt(1,Hae,0,0,"ng-template",1),k(),tt(2,"div")),2&t&&(G(2),nn("aria-live",i._live)("role",i._role))},directives:[Kf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[Wae.snackBarState]}}),n})(),_U=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Yv,dS,dn,ch,On],On]}),n})();const yU=new ve("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hS}});let Xae=(()=>{class n{constructor(t,i,r,s,o,a){this._overlay=t,this._live=i,this._injector=r,this._breakpointObserver=s,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=Gae,this.snackBarContainerComponent=qae,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,i){return this._attach(t,i)}openFromTemplate(t,i){return this._attach(t,i)}open(t,i="",r){const s=Object.assign(Object.assign({},this._defaultConfig),r);return s.data={message:t,action:i},s.announcementMessage===t&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:hS,useValue:i}]}),o=new dm(this.snackBarContainerComponent,i.viewContainerRef,s),a=t.attach(o);return a.instance.snackBarConfig=i,a.instance}_attach(t,i){const r=Object.assign(Object.assign(Object.assign({},new hS),this._defaultConfig),i),s=this._createOverlay(r),o=this._attachSnackBarContainer(s,r),a=new ZO(o,s);if(t instanceof Ys){const l=new Xf(t,null,{$implicit:r.data,snackBarRef:a});a.instance=o.attachTemplatePortal(l)}else{const l=this._createInjector(r,a),c=new dm(t,void 0,l),d=o.attachComponentPortal(c);a.instance=d.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Tn(s.detachments())).subscribe(l=>{const c=s.overlayElement.classList;l.matches?c.add(this.handsetCssClass):c.remove(this.handsetCssClass)}),r.announcementMessage&&o._onAnnounce.subscribe(()=>{this._live.announce(r.announcementMessage,r.politeness)}),this._animateSnackBar(a,r),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(t,i){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),i.duration&&i.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(i.duration))}_createOverlay(t){const i=new qv;i.direction=t.direction;let r=this._overlay.position().global();const s="rtl"===t.direction,o="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!s||"end"===t.horizontalPosition&&s,a=!o&&"center"!==t.horizontalPosition;return o?r.left("0"):a?r.right("0"):r.centerHorizontally(),"top"===t.verticalPosition?r.top("0"):r.bottom("0"),i.positionStrategy=r,this._overlay.create(i)}_createInjector(t,i){return Nt.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ZO,useValue:i},{provide:KO,useValue:t.data}]})}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(DE),I(Nt),I(XO),I(n,12),I(yU))},n.\u0275prov=ue({factory:function(){return new n(I(Jo),I(DE),I(Fc),I(XO),I(n,12),I(yU))},token:n,providedIn:_U}),n})();function xe(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function ws(n,e){return function(t,i){e(t,i,n)}}function Xe(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function yl(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function l(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?s(d.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(d.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function wU(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function JO(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||wU()}const EU="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",pS=JO();class Jae{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function eI(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const SU={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function MU(n){return"string"==typeof n?SU[n.toUpperCase()]||SU.WHITE:n}function gS(n,e){if(!n)throw new Error(e||"Assertion failed")}const ic={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Xv=ic.window||ic.self||ic.global,xU=ic.process||{};function pm(){let n;if(pS&&Xv.performance)n=Xv.performance.now();else if(xU.hrtime){const e=xU.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const gm={debug:pS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ole={enabled:!0,level:0};function vl(){}const TU={},AU={once:!0};function ale(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let tI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=EU,this._startTs=pm(),this._deltaTs=pm(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Jae("__probe-".concat(this.id,"__"),ole),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((pm()-this._startTs).toPrecision(10))}getDelta(){return Number((pm()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){gS(t,i)}warn(t){return this._getLogFunction(0,t,gm.warn,arguments,AU)}error(t){return this._getLogFunction(0,t,gm.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,gm.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,gm.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,gm.debug||gm.info,arguments,AU)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||vl,r&&[r],{tag:ale(i)}):vl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?pS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=eI(r,e,t);console.log(...s)},r.src=n,vl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...eI(n,e,t)),vl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...eI(r,e,t)),r.src=n.toDataURL(),vl}return vl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=ze(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):vl}({image:r,message:s,scale:o}):vl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||vl)}group(t,i,r={collapsed:!1}){r=OU({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||vl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=DU(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=OU({logLevel:t,message:i,args:s,opts:o}),gS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=pm();const a=o.tag||o.message;if(o.once){if(TU[a])return vl;TU[a]=pm()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!pS&&"string"==typeof n&&(e&&(e=MU(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=MU(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return vl}}return n.VERSION=EU,n})();function DU(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return gS(Number.isFinite(e)&&e>=0),e}function OU(n){const{logLevel:e,message:t}=n;n.logLevel=DU(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return gS("string"===r||"object"===r),Object.assign(n,n.opts)}const jn=new tI({id:"deck"}),qn={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(qn,"IDENTITY",{get:()=>jn.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Yc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},IU={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},vt=new tI({id:"luma.gl"});function Oo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function mS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function In(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function _S(n){return Oo(mS(n),"Invalid WebGLRenderingContext"),n}function eo(n){return Oo(In(n),"Requires WebGL2"),n}const Kv={};const Zv=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Qf.prototype.VERTEX_ARRAY_BINDING_OES=34229,Qf.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iIn(n)?void 0:0,Ale={3074:n=>In(n)?void 0:36064,35723:n=>In(n)?void 0:4352,35977:Bi,32937:Bi,36795:(n,e)=>{const t=In(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(kU);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Bi,35071:Bi,37447:Bi,36063:(n,e)=>{if(!In(n)){const t=n.getExtension(RU);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Bi,35374:Bi,35377:Bi,34852:n=>{if(!In(n)){const e=n.getExtension(RU);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(PU)?2147483647:65535,33001:n=>n.getExtension(PU)?16777216:65535,33e3:n=>16777216,37157:Bi,35373:Bi,35657:Bi,36183:Bi,37137:Bi,34045:Bi,35978:Bi,35979:Bi,35968:Bi,35376:Bi,35375:Bi,35659:Bi,37154:Bi,35371:Bi,35658:Bi,35076:Bi,35077:Bi,35380:Bi},FU="ANGLE_instanced_arrays",NU={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Oo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[FU]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){Oo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Oo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Oo(!1)},deleteQuery:()=>{Oo(!1)},beginQuery:()=>{Oo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},nI={readBuffer:(n,e,t)=>{In(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:In(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!In(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!In(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Ale[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function zle(n,{extension:e,target:t,target2:i}){const r=NU[e];Oo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let d=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?d=(...f)=>a[c](...f):"function"==typeof r[l]&&(d=r[l].bind(t))),d&&(t[l]=d,i[l]=d)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Qf(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&zle(n,{extension:t,target:n.luma,target2:n})}(n,NU),function(n,{target:e,target2:t}){Object.keys(nI).forEach(i=>{if("function"==typeof nI[i]){const r=n[i]?n[i].bind(n):()=>{},s=nI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const iI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},uh=(n,e,t)=>e?n.enable(t):n.disable(t),LU=(n,e,t)=>n.hint(t,e),Aa=(n,e,t)=>n.pixelStorei(t,e);function Qv(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const Hle={3042:uh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:uh,2885:(n,e)=>n.cullFace(e),2929:uh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:uh,35723:LU,36006:(n,e)=>{const t=In(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:LU,2849:(n,e)=>n.lineWidth(e),32823:uh,32824:"polygonOffset",10752:"polygonOffset",35977:uh,32938:"sampleCoverage",32939:"sampleCoverage",3089:uh,3088:(n,e)=>n.scissor(...e),2960:uh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:Aa,3317:Aa,37440:Aa,37441:Aa,37443:Aa,3330:Aa,3332:Aa,3331:Aa,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:Aa,32878:Aa,3316:Aa,3315:Aa,32877:Aa,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=Qv(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=Qv(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=Qv(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=Qv(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function Er(n,e,t){return void 0!==e[n]?e[n]:t[n]}const $le={blendEquation:(n,e,t)=>n.blendEquationSeparate(Er(32777,e,t),Er(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(Er(32969,e,t),Er(32968,e,t),Er(32971,e,t),Er(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(Er(32824,e,t),Er(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(Er(32938,e,t),Er(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,Er(2962,e,t),Er(2967,e,t),Er(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,Er(34816,e,t),Er(36003,e,t),Er(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,Er(2964,e,t),Er(2965,e,t),Er(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,Er(34817,e,t),Er(34818,e,t),Er(34819,e,t))},BU={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),VU={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function zU(n){for(const e in n)return!1;return!0}function Gle(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||iI)){const r=e,s=VU[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=VU[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},iI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){Oo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){Oo(void 0!==s);const o=e[s],a=this.cache[s];Gle(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function UU(n,e={}){const{enable:t=!0,copyState:i}=e;if(Oo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new Yle(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in BU)Wle(n,s,BU[s]);jU(n,"getParameter"),jU(n,"isEnabled")}return n.state.enable=t,n}function HU(n){Oo(n.state),n.state.pop()}function Xu(n,e){if(Oo(mS(n),"setParameters requires a WebGL context"),zU(e))return;const t={};for(const r in e){const s=Number(r),o=Hle[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)$le[r](n,e,i)}function rc(n,e,t){if(zU(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||UU(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),HU(n);else try{r=t(n)}finally{HU(n)}return r}function yS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function mm(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function rI(n,e,t=!0){return function(n,e,t,i,r){const s=$U(n[0],e,t);let o=GU(n[1],e,i,r),a=$U(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=GU(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,mm(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function $U(n,e,t){return Math.min(Math.round(n*e),t-1)}function GU(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const sI=yS(),tce=sI&&"undefined"!=typeof document,WU={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function qU(n={}){Oo(sI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},WU,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(tce&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=oI(r,n),function(n){const e=In(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);vt.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function oI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},WU,e);const{manageState:t,debug:i}=e;return t&&UU(n,{copyState:!1,log:(...r)=>vt.log(1,...r)()}),sI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),vt.level=Math.max(vt.level,1)):vt.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function YU(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class XU{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=YU(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(YU()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class aI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof XU?e:new XU(t,i)),this.stats[t]}}const Jv="8.5.12",Jf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new aI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==Jv)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Jv}`);function nt(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function lI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return nt(void 0!==i,`Accessing undefined constant GL.${e}`),i}function dh(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(yS()&&vt.log(1,`luma.gl ${Jv} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Jv,version:Jv,log:vt,stats:Jf,globals:{modules:{},nodeIO:{}}}),globalThis;const cI={};function ea(n="id"){return cI[n]=cI[n]||1,`${n}-${cI[n]++}`}function KU(n){return nt("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function _m(n){let e=!0;for(const t in n){e=!1;break}return e}function ZU(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw vt.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const ym="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){_S(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ea(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=In(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const f=i?dh(this.gl,l):l;o[f]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[f]=dh(this.gl,o[f]))}}return o}setParameter(e,t){nt(e=lI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=In(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=lI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return ZU(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(ym)}_deleteHandle(){throw new Error(ym)}_bindHandle(e){throw new Error(ym)}_getOptsFromHandle(){throw new Error(ym)}_getParameter(e,t){throw new Error(ym)}_setParameter(e,t){throw new Error(ym)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Jf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Jf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Jf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Jf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function uI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function eb(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function fce({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ta.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ta.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=dI("Accessor",e,gce)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const JU={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},mce={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:JU},_ce={removedProps:JU};class Ai extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ta.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=dI("Buffer",e,mce),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=dI("Buffer",e,_ce))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ta(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;nt(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(eo(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return eo(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){eo(this.gl);const s=eb(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const d=Math.min(o,l);return nt((r=r||d)<=d),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(nt(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){nt(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=uI(e);return nt(s),this.setAccessor(new ta(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){nt(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/eb(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ta(this.accessor,{type:uI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return vt.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return vt.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return vt.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return vt.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ta(this.accessor,e),this}}const hI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},e4={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},t4={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},bce=[9729,9728],n4=globalThis.WebGLBuffer||function(){};class ep extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=hI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=In(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=hI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ea("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(w=>this.initialize(Object.assign({},e,{pixels:w,data:w}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:d}=e;t||(t=r);let{width:f,height:p,dataFormat:g,type:_,compressed:y=!1,mipmaps:v=!0}=e;const{depth:C=0}=e;return({width:f,height:p,compressed:y,dataFormat:g,type:_}=this._deduceParameters({format:s,type:_,dataFormat:g,compressed:y,data:t,width:f,height:p})),this.width=f,this.height=p,this.depth=C,this.format=s,this.type=_,this.dataFormat=g,this.border=o,this.textureUnit=d,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),v&&this._isNPOT()&&(vt.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),v=!1,this._updateForNPOT(l)),this.mipmaps=v,this.setImageData({data:t,width:f,height:p,depth:C,format:s,type:_,dataFormat:g,border:o,mipmaps:v,parameters:c,compressed:y}),v&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:d=this.type,width:f=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:_=!1}=e;c||(c=i),({type:d,dataFormat:g,compressed:_,width:f,height:p}=this._deduceParameters({format:s,type:d,dataFormat:g,compressed:_,data:c,width:f,height:p}));const{gl:y}=this;y.bindTexture(this.target,this.handle);let v=null;({data:c,dataType:v}=this._getDataType({data:c,compressed:_}));let C,w=0;return rc(this.gl,l,()=>{switch(v){case"null":y.texImage2D(t,r,s,f,p,o,g,d,c);break;case"typed-array":y.texImage2D(t,r,s,f,p,o,g,d,c,a);break;case"buffer":C=eo(y),C.bindBuffer(35052,c.handle||c),C.texImage2D(t,r,s,f,p,o,g,d,a),C.bindBuffer(35052,null);break;case"browser-object":In(y)?y.texImage2D(t,r,s,f,p,o,g,d,c):y.texImage2D(t,r,s,g,d,c);break;case"compressed":for(const[x,N]of c.entries())y.compressedTexImage2D(t,x,N.format,N.width,N.height,o,N.data),w+=N.levelSize;break;default:nt(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===v?w:c&&c.byteLength?c.byteLength:this.width*this.height*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:d=this.type,dataFormat:f=this.dataFormat,compressed:p=!1,offset:g=0,border:_=this.border,parameters:y={}}){if(({type:d,dataFormat:f,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:d,dataFormat:f,compressed:p,data:i,width:o,height:a})),nt(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const v=i;i=v.data,o=v.shape[0],a=v.shape[1]}i instanceof Ai&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),rc(this.gl,y,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,f,d,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,f,d,i,g);else if(i instanceof n4){const v=eo(this.gl);v.bindBuffer(35052,i),v.texSubImage2D(e,l,r,s,o,a,f,d,g),v.bindBuffer(35052,null)}else In(this.gl)?eo(this.gl).texSubImage2D(e,l,r,s,o,a,f,d,i):this.gl.texSubImage2D(e,l,r,s,f,d,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return vt.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof Ai?{data:e.handle,dataType:"buffer"}:e instanceof n4?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=hI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},nt(r,"Could not deduced texture size"),nt(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),nt(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:nt(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(In(this.gl)||!this.width||!this.height||KU(this.width)&&KU(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===bce.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Cce(n,e){return nt("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class na extends ep{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return ep.isSupported(e,t)}constructor(e,t={}){_S(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Cce(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const tp="EXT_color_buffer_float",i4={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:tp,bpp:2},33327:{gl2:tp,bpp:4},34842:{gl2:tp,bpp:8},33326:{gl2:tp,bpp:4},33328:{gl2:tp,bpp:8},34836:{gl2:tp,bpp:16},35898:{gl2:tp,bpp:4}};class vm extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=In(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,i4)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return nt(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&In(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*i4[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const l4="clear: bad arguments";function pI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),nt(0!==o,l4),rc(n,s,()=>{n.clear(o)})}function c4(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function yn(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){c4(s,i,r,o,a,"next",l)}function a(l){c4(s,i,r,o,a,"throw",l)}o(void 0)})}}const gI=[34069,34070,34071,34072,34073,34074];let Ace=(()=>{class n extends ep{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){_S(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return yn(function*(){const{gl:d}=c,f=r||s,p=yield Promise.all(gI.map(g=>{const _=f[g];return Promise.all(Array.isArray(_)?_:[_])}));c.bind(),gI.forEach((g,_)=>{p[_].length>1&&!1!==c.opts.mipmaps&&vt.warn(`${c.id} has mipmap and multiple LODs.`)(),p[_].forEach((y,v)=>{t&&i?d.texImage2D(g,v,a,t,i,o,a,l,y):d.texImage2D(g,v,a,a,l,y)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:d=5121}=t,{gl:f}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?f.texImage2D(i,0,c,r,s,l,c,d,p):f.texImage2D(i,0,c,c,d,p),this}}return n.FACES=gI,n})();class Dce extends ep{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:d,parameters:f={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),rc(this.gl,f,()=>{ArrayBuffer.isView(d)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,d),d instanceof Ai&&(this.gl.bindBuffer(35052,d.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(d&&d.byteLength?d.byteLength:this.width*this.height*this.depth*(e4[this.dataFormat]||4)*(t4[this.type]||1),"Texture"),this.loaded=!0,this}}function u4(n,e){nt(n instanceof na||n instanceof Ace||n instanceof Dce);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:d},e))}function Oce(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ss(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function vS(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:d,deleteFramebuffer:f}=tb(n);nt(d);const{gl:p,handle:g,attachments:_}=d;a=a||d.width,l=l||d.height,36064===s&&null===g&&(s=1028),nt(_[s]),c=c||_[s].type,o=function(n,e,t,i,r){if(n)return n;return new(eb(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return nt(!1),0}}(t))}(o,c,r,a,l),c=c||uI(o);const y=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,y||null),f&&d.delete(),o}function mI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=vS(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=fce({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const d in i){const f=i[d];(Array.isArray(f)?f[0]:f).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return nt(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&vt.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){nt(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof vm)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[d,f=0,p=0]=l;c=d,this._attachTexture({attachment:a,texture:d,layer:f,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ss.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&pI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){eo(n),rc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:nt(!1,l4)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return vt.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return vt.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return vt.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return vt.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return vt.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return vt.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=eo(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=dh(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?dh(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?dh(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(mI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>vt.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=mI(this,{targetMaxHeight:100});return vt.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new na(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new vm(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new vm(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&nt(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof vm?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:eo(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:nt(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return In(n)?n:null}(this.gl);t?t.readBuffer(e):nt(36064===e||1029===e,d4),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=eo(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):nt(1===e.length&&(36064===e[0]||1029===e[0]),d4)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in h4)void 0===n.luma.caps[e]&&(n.luma.caps[e]=p4(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ss.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const h4={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new na(n,{format:6408,type:5126,dataFormat:6408}),t=new ss(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function _I(n,e){return f4(n,e)}function f4(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>p4(n,t))}function p4(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=h4[e];let i;nt(t,e);const r=In(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:nt(!1);return i}(n,e)),n.luma.caps[e]||vt.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class yI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},Hce=(Math,1/180*Math.PI),Ji={};function Gce(n,{precision:e=Ji.precision||4}={}){return n=function(n){return Math.round(n/Ji.EPSILON)*Ji.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function hh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zu(n,e,t){if(hh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*Hce,void 0)}(n)}function np(n,e,t){return Zu(n,i=>Math.max(e,Math.min(t,i)))}function bS(n,e,t){return hh(n)?n.map((i,r)=>bS(i,e[r],t)):t*e+(1-t)*n}function rb(n,e,t){const i=Ji.EPSILON;t&&(Ji.EPSILON=t);try{if(n===e)return!0;if(hh(n)&&hh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+Gce(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(M4.length=n.length,i=M4):i=S4,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function x4(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?T4(n,e,[]):e(n)?[n]:[]}function T4(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function A4(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",K(K(K({},Mue[n.type]),e),n)):null}function D4(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function O4(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function I4(n){n.push(n.shift())}function MI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function P4({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,d=r&&c,f=MI(t,e),p=t.state.constant;if(!d&&i>=f)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const C=s;s=(w,x)=>t._normalizeConstant(C(w,x))}const _=p?(C,w)=>s(g,w):(C,w)=>s(g.subarray(C,C+a),w),y=n.getData({length:i}),v=new Float32Array(f);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((d,f)=>i(d+a,f)),c=Math.min(r.length,s.length);for(let d=1;d(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===MS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=MS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=wue}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==MS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,d]of s)o.call(r,this,{data:t,startRow:c,endRow:d,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const v=f*a+l;for(let C=0;Cd?c.set(x,y):(e._normalizeValue(x,C.target,0),Cue({target:c,source:C.target,start:y,count:N}));y+=N*d}else e._normalizeValue(x,c,y),y+=d}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let TI={};function no(n){jn.level>0&&TI[n]&&TI[n].call(...arguments)}function Da(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const R4="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Aue=`#version 300 es\n${R4}`;function k4(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function F4(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Aue:e>300?`#version ${e}\n${R4}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Da(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class N4 extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return In(e)}constructor(e,t={}){eo(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,_m(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,vt.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof Ai?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class Pue{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof Ai?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&nt(In(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new N4(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],nt(i[s]instanceof Ai)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new Ai(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function L4(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const ab="vs",Fue={[ab]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",B4=/void\s+main\s*\([^)]*\)\s*\{\n?/,V4=/}\n?[^{}]*$/,DI=[];function z4(n,e,t,i=!1){const r=e===ab;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(V4,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(B4,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(V4,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+Fue[e])),n}function OI(n){const e={};return Da(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Nue={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},TS="transform_uSize_",j4="transform_position";const $ue={10241:9728,10240:9728,10242:33071,10243:33071};class Wue{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const f in this.samplerTextureMap)a[f]=i[this.samplerTextureMap[f]];this._setSourceTextureParameters();const d=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${TS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${TS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,d)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=vS(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Da(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Ai(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ss(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters($ue)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=u4(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const d=l.split("\n"),f=d.slice();if(d.forEach((p,g,_)=>{if(s>0){const y=function(n,e){const t={},i=function(n){return k4(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${TS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),f=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Da(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":f},samplerTextureMap:t}}return null}(p,e);if(y){const{updatedLine:v,inject:C}=y;f[g]=v,c=OI([c,C]),Object.assign(a,y.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=k4(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){nt(i);const p=`${TS}${t}`;c=OI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${j4} = transform_getPos(${p});\n gl_Position = vec4(${j4}, 0, 1.);\n`}])}l=f.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=OI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||F4({version:L4(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Nue].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function Yue(n){let e=U4(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=U4(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function U4(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class PI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:d,fragmentShader:f}){Da("string"==typeof e),this.name=e,this.vs=t||d,this.fs=i||f,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=Yue(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Da(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Da(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function Que(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}($4(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof PI||(Da("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Da(t.name,"shader module has no name"),(t=new PI(t)).dependencies=$4(t.dependencies)),t))}const kI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},ip={};function ode(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(kI).forEach(n=>{ip[n]=n});const FI={};function G4(n,e,t={}){const i=kI[e];if(Da(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in FI)return FI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),FI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=kI[e];Da(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Da(!1===r||!0===r),r}(n,t))}function Cm(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const W4=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],ude=[...W4,[Cm("attribute"),"in $1"],[Cm("varying"),"out $1"]],dde=[...W4,[Cm("varying"),"in $1"]],q4=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],hde=[...q4,[Cm("in"),"attribute $1"],[Cm("out"),"varying $1"]],fde=[...q4,[Cm("in"),"varying $1"]],NI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,pde=/void\s+main\s*\([^)]*\)\s*\{\n?/;function DS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const yde=`\n\n${xS}\n\n`,Y4={[ab]:"vertex",fs:"fragment"};function X4(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:d}){Da("string"==typeof t,"shader source must be a string");const f=i===ab,p=t.split("\n");let g=100,_="",y=t;0===p[0].indexOf("#version ")?(g=300,_=p[0],y=p.slice(1).join("\n")):_=`#version ${g}`;const v={};r.forEach(U=>{Object.assign(v,U.getDefines())}),Object.assign(v,s);let C=c?`${_}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${Y4[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${Y4[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ode(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,ip.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,ip.GLSL_DERIVATIVES)&&G4(n,ip.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,ip.GLSL_FRAG_DATA)&&G4(n,ip.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,ip.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(v)}\n${f?"":"precision highp float;\n\n"}\n`:`${_}\n`;const w=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),x={},N={},V={};for(const U in a){const ee="string"==typeof a[U]?{injection:a[U],order:0}:a[U],de=U.match(/^(v|f)s:(#)?([\w-]+)$/);if(de){const me=de[3];de[2]?"decl"===me?N[U]=[ee]:V[U]=[ee]:x[U]=[ee]}else V[U]=[ee]}for(const U of r){d&&U.checkDeprecations(y,d),C+=U.getModuleSource(i,g);const de=U.injections[i];for(const ae in de){const me=ae.match(/^(v|f)s:#([\w-]+)$/);if(me){const Be="decl"===me[2]?N:V;Be[ae]=Be[ae]||[],Be[ae].push(de[ae])}else x[ae]=x[ae]||[],x[ae].push(de[ae])}}return C+=yde,C=z4(C,i,N),C+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(w[i],x),C+=y,C=z4(C,i,V),C=function(n,e,t){switch(e){case 300:return t?DS(n,ude):function(n){const e=(n=DS(n,dde)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${NI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(pde,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${NI}\\b`,"g"),t)}return n}(n);case 100:return t?DS(n,hde):function(n){const e=(n=DS(n,fde)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),NI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(C,l?100:g,f),C}function Cde(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Tde={5126:er.bind(null,"uniform1fv",Oa,1,io),35664:er.bind(null,"uniform2fv",Oa,2,io),35665:er.bind(null,"uniform3fv",Oa,3,io),35666:er.bind(null,"uniform4fv",Oa,4,io),5124:er.bind(null,"uniform1iv",fh,1,io),35667:er.bind(null,"uniform2iv",fh,2,io),35668:er.bind(null,"uniform3iv",fh,3,io),35669:er.bind(null,"uniform4iv",fh,4,io),35670:er.bind(null,"uniform1iv",fh,1,io),35671:er.bind(null,"uniform2iv",fh,2,io),35672:er.bind(null,"uniform3iv",fh,3,io),35673:er.bind(null,"uniform4iv",fh,4,io),35674:er.bind(null,"uniformMatrix2fv",Oa,4,Ju),35675:er.bind(null,"uniformMatrix3fv",Oa,9,Ju),35676:er.bind(null,"uniformMatrix4fv",Oa,16,Ju),35678:Fs,35680:Fs,5125:er.bind(null,"uniform1uiv",OS,1,io),36294:er.bind(null,"uniform2uiv",OS,2,io),36295:er.bind(null,"uniform3uiv",OS,3,io),36296:er.bind(null,"uniform4uiv",OS,4,io),35685:er.bind(null,"uniformMatrix2x3fv",Oa,6,Ju),35686:er.bind(null,"uniformMatrix2x4fv",Oa,8,Ju),35687:er.bind(null,"uniformMatrix3x2fv",Oa,6,Ju),35688:er.bind(null,"uniformMatrix3x4fv",Oa,12,Ju),35689:er.bind(null,"uniformMatrix4x2fv",Oa,8,Ju),35690:er.bind(null,"uniformMatrix4x3fv",Oa,12,Ju),35678:Fs,35680:Fs,35679:Fs,35682:Fs,36289:Fs,36292:Fs,36293:Fs,36298:Fs,36299:Fs,36300:Fs,36303:Fs,36306:Fs,36307:Fs,36308:Fs,36311:Fs},Ade={},Dde={},Ode={},K4=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(K4[0]=n,n=K4);const r=n.length;if(r%e&&vt.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function er(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),d=c.length;let f=!1;if(null===r)r=new Float32Array(d),s=d,f=!0;else{nt(s===d,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return e5(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:J4(s,c),warnings:J4(o,c)}}(i,this.source,this.shaderType,this.id);throw vt.error(`GLSL compilation errors in ${r}\n${s}`)(),vt.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends lb{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class zI extends lb{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const os=5126,cb=5124,ub=5125,jI={[os]:[os,1,"float"],35664:[os,2,"vec2"],35665:[os,3,"vec3"],35666:[os,4,"vec4"],[cb]:[cb,1,"int"],35667:[cb,2,"ivec2"],35668:[cb,3,"ivec3"],35669:[cb,4,"ivec4"],[ub]:[ub,1,"uint"],36294:[ub,2,"uvec2"],36295:[ub,3,"uvec3"],36296:[ub,4,"uvec4"],35670:[os,1,"bool"],35671:[os,2,"bvec2"],35672:[os,3,"bvec3"],35673:[os,4,"bvec4"],35674:[os,8,"mat2"],35685:[os,8,"mat2x3"],35686:[os,8,"mat2x4"],35675:[os,12,"mat3"],35687:[os,12,"mat3x2"],35688:[os,12,"mat3x4"],35676:[os,16,"mat4"],35689:[os,16,"mat4x2"],35690:[os,16,"mat4x3"]};function o5(n){const e=jI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function a5(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=os}for(const t in jI){const[i,r,s]=jI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class phe{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!In(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=o5(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ta(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=o5(i),l={location:e,name:t,accessor:new ta({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const ghe=35981,mhe=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class c5 extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",mhe),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=ghe}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new zI(this.gl,{id:`${e.id}-fs`,source:r}):r,nt(this.vs instanceof VI),nt(this.fs instanceof zI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(eo(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new phe(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:d=c>0,vertexArray:f=null,transformFeedback:p,framebuffer:g,parameters:_={},uniforms:y,samplers:v}){if((y||v)&&(vt.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(y||{})),vt.priority>=e){const C=g?g.id:"default",w=`mode=${dh(this.gl,t)} verts=${i} instances=${c} indexType=${dh(this.gl,l)} isInstanced=${d} isIndexed=${a} Framebuffer=${C}`;vt.log(e,w)()}return nt(f),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||d&&0===c||(f.bindForDraw(i,c,()=>{if(void 0!==g&&(_=Object.assign({},_,{framebuffer:g})),p){const C=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return nt(!1),0}}(t);p.begin(C)}this._bindTextures(),rc(this.gl,_,()=>{a&&d?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&In(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):d?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){vt.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Rde(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ss&&(s=s.texture),s instanceof ep)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&kde(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new zI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ea(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),vt.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),vt.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||vt.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),d=this._getHash(t),f=this._getHash(i),p=c.map(x=>this._getHash(x.name)).sort(),g=o.map(x=>this._getHash(x)),_=Object.keys(r).sort(),y=Object.keys(s).sort(),v=[],C=[];for(const x of _)v.push(this._getHash(x)),v.push(this._getHash(r[x]));for(const x of y)C.push(this._getHash(x)),C.push(this._getHash(s[x]));const w=`${d}/${f}D${v.join("/")}M${p.join("/")}I${C.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[w]){const x=function(n,e){const{vs:t,fs:i}=e,r=Que(e.modules||[]);return{gl:n,vs:X4(n,Object.assign({},e,{source:t,type:ab,modules:r})),fs:X4(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Cde(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[w]=new c5(this.gl,{hash:w,vs:x.vs,fs:x.fs,varyings:o,bufferMode:a}),this._getUniforms[w]=x.getUniforms||(N=>{}),this._useCounts[w]=0}return this._useCounts[w]++,this._programCache[w]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":Xv.chrome?"Chrome":Xv.safari?"Safari":Xv.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ia(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ia.MAX_ATTRIBUTES=Ia.MAX_ATTRIBUTES||e.getParameter(34921),Ia.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ia._setConstantFloatArray(e,t,i);break;case Int32Array:Ia._setConstantIntArray(e,t,i);break;case Uint32Array:Ia._setConstantUintArray(e,t,i);break;default:nt(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ia.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return nt(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:d}=i,{gl:f,gl2:p}=this;return e=Number(e),this.bind(()=>{f.bindBuffer(34962,t.handle),c?(nt(In(f)),p.vertexAttribIPointer(e,r,s,o,a)):f.vertexAttribPointer(e,r,s,l,o,a),f.enableVertexAttribArray(e),p.vertexAttribDivisor(e,d||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ia.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new Ai(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!RS||RS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Ehe=/^(.+)__LOCATION_([0-9]+)$/,She=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Mhe{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ia(e),ZU(this,"VertexArray","v6.0",She),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Ai(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,vt.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const d=ta.resolve(l.accessor,this.accessors[o]||{},i,r),{size:f,type:p}=d;return nt(Number.isFinite(f)&&Number.isFinite(p)),{location:o,accessor:d}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Ehe.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof Ai)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof Ai)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof Ai))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof Ai){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return vt.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function hb(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=hb(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function u5(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,d,f,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof Ai){const p=e,{data:g,changed:_}=p.getDebugData();let y;return d=_?"*":"",f=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?y=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${dh(r,s)})`:(c=!0,y=`${l} bytes`),{[i]:`${d}${hb(f,{size:o,isInteger:c})}`,"Format ":y}}return f=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${hb(f,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Ahe(n,e){const{type:t,size:i}=e,r=a5(t,i);return r?`${n} (${r.name})`:n}function d5({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){nt(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let d=0;const f={};if(!i)for(const p in t){const g=t[p];a[p]||(d++,f[p]={Type:`NOT USED: ${g}`,[n]:hb(g)})}return{table:a,count:c,unusedTable:f,unusedCount:d}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?hb(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function h5(n){const{type:e,size:t}=n.accessor,i=a5(e,t);return i?`${i.name} ${n.name}`:n.name}const Ihe={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Rhe(n,e){const{attributeMap:t=Ihe}=e||{};return t&&t[n]||n}function khe(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}nt(Number.isFinite(e.size),`attribute ${n} needs size`)}const f5=()=>{},Lhe={};class Mm{constructor(e,t={}){const{id:i=ea("model")}=t;nt(mS(e)),this.id=i,this.gl=e,this.id=t.id||ea("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||db.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},nt(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:d},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return nt(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return nt(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Rhe(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=K({},o);delete c.value,i[a]=[new Ai(n,l),c],khe(s,c)}}if(r){const s=r.value||r;nt(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Ai(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(_m(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return pI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),vt.priority>=2&&(c=this._logDrawCallStart(2));const d=this.vertexArray.getDrawParams(),{isIndexed:f=d.isIndexed,indexType:p=d.indexType,indexOffset:g=d.indexOffset,vertexArrayInstanced:_=d.isInstanced}=this.props;_&&!this.isInstanced&&vt.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:y,instanceCount:v}=this,{onBeforeRender:C=f5,onAfterRender:w=f5}=this.props;C(),this.program.setUniforms(this.uniforms);const x=this.program.draw(Object.assign(Lhe,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:f,indexType:p,isInstanced:y,instanceCount:v,offset:f?g:0}));return w(),vt.priority>=2&&this._logDrawCallEnd(c,l,i),x}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return vt.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:d}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}nt(t instanceof c5,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Mhe(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Ai&&t.delete()}}_setAnimationProps(e){this.animated&&nt(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(_m(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new N4(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:vt.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=u5(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Ahe(s.name,a)}`),t[o]=u5(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:d}=d5({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});d>0&&vt.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&vt.log("UNUSED UNIFORMS",Object.keys(a))();const f=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${h5(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);vt.table(e,s)(),vt.table(e,o)(),vt.table(e+1,f)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),vt.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return In(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();nt(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Mm(t,Object.assign({},e,{fs:e.fs||F4({version:L4(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(_m(n.feedbackBuffers)&&_m(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new Pue(e,t)),function(n){return!(_m(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new Wue(e,t)),nt(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function kS(){}const zhe={onStart:kS,onUpdate:kS,onInterrupt:kS,onEnd:kS};class fb{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=K(K({},zhe),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const Yhe={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=O4(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;I4(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:D4(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new fb(i),this.attribute=t,this.attributeInTransition=new xI(e,Lt(K({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new na(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ss(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=O4(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new Ai(e,r),new Ai(e,r),new Ai(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)P4(K({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=MI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:D4(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),I4(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),vS(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class Xhe{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void jn.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=Yhe[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(jn.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const p5="attributeManager.invalidate";class tfe{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new Xhe(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;no("attribute.updateStart",t),t.allocate(i)&&no("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,no("attribute.updateEnd",t,i))}}function m5(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function _5(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=A4(r)))return;const o=sfe[r.type];if(!o)return void jn.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Lt(K({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const FS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:afe}=FS;function ufe(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&$I(n[r],e[r],s)&&(t[r]=!0)}return t}function y5({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=$I(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function $I(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function ffe(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!vfe(i[r],e[r])){t=n(i),e=i;break}return t}}function bfe(n,e){if(!e)return n;const t=K(K({},n),e);if("defines"in e&&(t.defines=K(K({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=K({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=e[9],p=e[10],g=e[11],_=e[12],y=e[13],v=e[14],C=e[15],w=t*a-i*o,x=t*l-r*o,N=t*c-s*o,V=i*l-r*a,U=i*c-s*a,ee=r*c-s*l,de=d*y-f*_,ae=d*v-p*_,me=d*C-g*_,Ee=f*v-p*y,Be=f*C-g*y,te=p*C-g*v,ne=w*te-x*Be+N*Ee+V*me-U*ae+ee*de;return ne?(n[0]=(a*te-l*Be+c*Ee)*(ne=1/ne),n[1]=(r*Be-i*te-s*Ee)*ne,n[2]=(y*ee-v*U+C*V)*ne,n[3]=(p*U-f*ee-g*V)*ne,n[4]=(l*me-o*te-c*ae)*ne,n[5]=(t*te-r*me+s*ae)*ne,n[6]=(v*N-_*ee-C*x)*ne,n[7]=(d*ee-p*N+g*x)*ne,n[8]=(o*Be-a*me+c*de)*ne,n[9]=(i*me-t*Be-s*de)*ne,n[10]=(_*U-y*N+C*w)*ne,n[11]=(f*N-d*U-g*w)*ne,n[12]=(a*ae-o*Ee-l*de)*ne,n[13]=(t*Ee-i*ae+r*de)*ne,n[14]=(y*x-_*V-v*w)*ne,n[15]=(d*V-f*x+p*w)*ne,n):null}function rp(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],d=e[7],f=e[8],p=e[9],g=e[10],_=e[11],y=e[12],v=e[13],C=e[14],w=e[15],x=t[0],N=t[1],V=t[2],U=t[3];return n[0]=x*i+N*a+V*f+U*y,n[1]=x*r+N*l+V*p+U*v,n[2]=x*s+N*c+V*g+U*C,n[3]=x*o+N*d+V*_+U*w,n[4]=(x=t[4])*i+(N=t[5])*a+(V=t[6])*f+(U=t[7])*y,n[5]=x*r+N*l+V*p+U*v,n[6]=x*s+N*c+V*g+U*C,n[7]=x*o+N*d+V*_+U*w,n[8]=(x=t[8])*i+(N=t[9])*a+(V=t[10])*f+(U=t[11])*y,n[9]=x*r+N*l+V*p+U*v,n[10]=x*s+N*c+V*g+U*C,n[11]=x*o+N*d+V*_+U*w,n[12]=(x=t[12])*i+(N=t[13])*a+(V=t[14])*f+(U=t[15])*y,n[13]=x*r+N*l+V*p+U*v,n[14]=x*s+N*c+V*g+U*C,n[15]=x*o+N*d+V*_+U*w,n}function LS(n,e,t){var o,a,l,c,d,f,p,g,_,y,v,C,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],d=e[4],f=e[5],p=e[6],g=e[7],_=e[8],y=e[9],v=e[10],C=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=d,n[5]=f,n[6]=p,n[7]=g,n[8]=_,n[9]=y,n[10]=v,n[11]=C,n[12]=o*i+d*r+_*s+e[12],n[13]=a*i+f*r+y*s+e[13],n[14]=l*i+p*r+v*s+e[14],n[15]=c*i+g*r+C*s+e[15]),n}function BS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function b5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],d=e[9],f=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+d*i,n[6]=a*r+f*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=d*r-o*i,n[10]=f*r-a*i,n[11]=p*r-l*i,n}function C5(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],d=e[5],f=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+d*i,n[2]=a*r+f*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=d*r-o*i,n[6]=f*r-a*i,n[7]=p*r-l*i,n}function w5(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function VS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}!function(){var n=new ia(4);ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const E5=[0,0,0,0],qfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],Yfe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],Xfe=[0,0,0],Kfe=[0,0,0],Zfe=NS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=E5,l=E5,c=n.cameraPosition;const{geospatialOrigin:d,shaderCoordinateOrigin:f,offsetMode:p}=S5(n,e,t);return p&&(l=n.projectPosition(d||f),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=VS([],l,o),s=i||s,o=rp([],r,s),o=rp([],o,qfe)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:d}}(n,t,i),d=n.getDistanceScales(),f=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:f,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit:d.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:Xfe,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const _=n.getDistanceScales(c);switch(t){case qn.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerMeter2;break;case qn.LNGLAT:case qn.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=_.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=_.unitsPerDegree2;break;case qn.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,_.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,_.unitsPerMeter2[2]]}}return g});function S5(n,e,t=Kfe){let r,i=t,s=!0;switch(r=e===qn.LNGLAT_OFFSETS||e===qn.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Yc.WEB_MERCATOR:(e===qn.LNGLAT||e===qn.CARTESIAN)&&(s=!1);break;case Yc.WEB_MERCATOR_AUTO_OFFSET:e===qn.LNGLAT?i=r:e===qn.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Yc.IDENTITY:i=n.position.map(Math.fround);break;case Yc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class tpe extends vI{get ELEMENTS(){return Qu(!1),0}get RANK(){return Qu(!1),0}toString(){let e="[";if(Ji.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new $t).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],d=n[9],f=n[10],p=n[11],g=n[12],_=n[13],y=n[14],v=n[15];return(e*o-t*s)*(f*v-p*y)-(e*a-i*s)*(d*v-p*_)+(e*l-r*s)*(d*y-f*_)+(t*a-i*o)*(c*v-p*g)-(t*l-r*o)*(c*y-f*g)+(i*l-r*a)*(c*_-d*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return rp(this,e,this),this.check()}multiplyRight(e){return rp(this,this,e),this.check()}rotateX(e){return b5(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],d=e[9],f=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-d*i,n[2]=a*r-f*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+d*r,n[10]=a*i+f*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return C5(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,d,f,p,g,_,y,v,C,w,x,N,V,U,ee,de,ae,me,Ee,Be,te,ne,Ie,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const oc=Math.PI,O5=oc/4,ac=oc/180,YI=180/oc,XI=4003e4,jS=85.051129;function US([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*ac+oc)/(2*oc),512*(oc+Math.log(Math.tan(O5+e*ac*.5)))/(2*oc)]}function Dm([n,e]){const t=n/512*(2*oc)-oc,i=2*(Math.atan(Math.exp(e/512*(2*oc)-oc))-O5);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*ac),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=ac*Math.tan(n*ac)/s,f=512/XI*c,p=f/a*l;i.unitsPerDegree2=[0,o*c/2,f],i.unitsPerMeter2=[p,0,p]}return i}function I5(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),d=US(n);d[0]+=s*(l[0]+c[0]*o),d[1]+=o*(l[1]+c[1]*o);const f=Dm(d),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[f[0],f[1],p]:f}function R5(n){return 2*Math.atan(.5/n)*YI}function k5(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Am(e,[t,i,r,1])}function gb(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Am(e,[i,r,s,1]);const o=Am(e,[i,r,0,1]),a=Am(e,[i,r,1,1]),l=o[2],c=a[2];return x5([],o,a,l===c?0:((t||0)-l)/(c-l))}const F5=Math.PI/180;function N5(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Am(i,[e,0,1,1]),s=Am(i,[e,n.height,1,1]),c=Dm(x5([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const _pe=Math.PI/180,ype=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],bpe={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Om=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Yc.WEB_MERCATOR:Yc.WEB_MERCATOR_AUTO_OFFSET:Yc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&rb(t.projectionMatrix,this.projectionMatrix)&&rb(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=k5(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,d=gb([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[f,p,g]=this.unprojectPosition(d);return Number.isFinite(a)?[f,p,g]:Number.isFinite(r)?[f,p,r]:[f,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?US(t):t}unprojectFlat(t){return this.isGeospatial?Dm(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Om{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:d=!1,repeat:f=!1,worldOffset:p=0}=t;let{width:g,height:_,altitude:y=1.5}=t;const v=Math.pow(2,s);g=g||1,_=_||1,y=Math.max(.75,y);const{fov:C,aspect:w,focalDistance:x,near:N,far:V}=function({width:n,height:e,fovy:t=R5(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=R5(i));const a=.5*t*ac,l=function(n){return.5/Math.tan(.5*n*ac)}(t),c=r*ac,d=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*d+l)*o}}({width:g,height:_,pitch:o,altitude:y,nearZMultiplier:l,farZMultiplier:c});let U=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return LS(o,o,[0,0,-i]),b5(o,o,-e*ac),C5(o,o,t*ac),BS(o,o,[r/=n,r,r]),s&&LS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:_,pitch:o,bearing:a,scale:v,altitude:y});p&&(U=(new $t).translate([512*p,0,0]).multiplyLeft(U)),super(Lt(K({},t),{width:g,height:_,viewMatrix:U,longitude:r,latitude:i,zoom:s,orthographic:d,fovyRadians:C,aspect:w,focalDistance:x,near:N,far:V})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=y,this.orthographic=d,this._subViewports=f?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Lt(K({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return I5(t,i)}panByPosition(t,i){const r=gb(i,this.pixelUnprojectionMatrix),o=zS([],this.projectFlat(t),M5([],r)),a=zS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*F5:Math.atan(.5/n.altitude))>(90-n.pitch)*F5-.01?(l=N5(n,0,e),c=N5(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,d]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const f=US([a,D5(d,-jS,jS)]),p=US([c,D5(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-f[0]),i),Math.max(Math.abs(p[1]-f[1]),i)],_=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(_[0]>0&&_[1]>0);const y=_[0]/g[0],v=_[1]/g[1],N=Dm([(p[0]+f[0])/2+(s.right-s.left)/2/y,(p[1]+f[1])/2+(s.bottom-s.top)/2/v]),V=Math.min(r,qI(Math.abs(Math.min(y,v))));return ed(Number.isFinite(V)),{longitude:N[0],latitude:N[1],zoom:V}}(K({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof j5){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function U5(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=VS([],[o,a,l,1],t)),i){case qn.LNGLAT:return JI([o,a,l],e,s);case qn.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case qn.METER_OFFSETS:return JI(I5(r,[o,a,l]),e,s);case qn.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Epe={10241:9987,10240:9729,10242:33071,10243:33071},eP={},xpe={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||_b(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tP(n,e)},accessor:{validate(n,e){const t=HS(n);return"function"===t||t===HS(e.value)},equal:(n,e,t)=>"function"==typeof e||tP(n,e)},array:{validate:(n,e)=>e.optional&&!n||_b(n),equal:(n,e,t)=>t.compare?tP(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof na)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new na(t,Lt(K({},e),{parameters:K(K(K({},Epe),i),n.props.textureParameters)}));return eP[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof na)||eP[n.id]&&(n.delete(),delete eP[n.id])}(n)}}};function tP(n,e){if(n===e)return!0;if(!_b(n)||!_b(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Vpe,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Lpe]||{},i=e[Npe]||e,r=e[Bpe]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(x4(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return yn(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var f,c=!0,d=!1;try{for(var g,_,p=iP(t);c=(g=yield p.next()).done,_=yield g.value,!c;c=!0){const v=_,{dataTransform:C}=i.component?i.component.props:{};a=C?C(v,a):a.concat(v),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(v){d=!0,f=v}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(d)throw f}}const y=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;y&&y(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:W5,ASYNC_RESOLVED:q5,ASYNC_DEFAULTS:zpe}=FS,jpe={};let Upe=0,Hpe=(()=>{class n{constructor(){this.props=Dpe.apply(this,arguments),this.id=this.props.id,this.count=Upe++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[zpe])s in i[q5]?r[s]=i[q5][s]:s in i[W5]&&(r[s]=i[W5][s]);return new this.constructor(K(K(K({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new G5({})}}return n.componentName="Component",n.defaultProps=jpe,n})();class $pe extends G5{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const lc=n=>"function"==typeof n,ph=n=>null!==n&&"object"==typeof n,X5=n=>ph(n)&&n.constructor==={}.constructor,Gpe=n=>n&&"function"==typeof n[Symbol.iterator],Wpe=n=>n&&"function"==typeof n[Symbol.asyncIterator],vb=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,Im=n=>"undefined"!=typeof Blob&&n instanceof Blob,K5=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||ph(n)&&lc(n.tee)&&lc(n.cancel)&&lc(n.getReader))(n)||(n=>ph(n)&&lc(n.read)&&lc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function sp(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rP(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sP(n){var e,t;let i;return sp(n,"null loader"),sp(rP(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Lt(K({},n=n[0]),{options:K(K({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oP=Zc.global||Zc.self||Zc.window||{},Qpe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Z5="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);Z5&&parseFloat(Z5[1]);const lP={};function Jpe(n){for(const e in lP)n.startsWith(e)&&(n=n.replace(e,lP[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const ege=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,tge=/^([-\w.]+\/[-\w.+]+)/;function nge(n){const e=tge.exec(n);return e?e[1]:n}function Q5(n){const e=ege.exec(n);return e?e[1]:""}const ige=/\?.*/;function qS(n){if(vb(n)){const e=cP(n.url||"");return{url:e,type:nge(n.headers.get("content-type")||"")||Q5(e)}}return Im(n)?{url:cP(n.name||""),type:n.type||""}:"string"==typeof n?{url:cP(n),type:Q5(n)}:{url:"",type:""}}function rge(n){return vb(n)?n.headers["content-length"]||-1:Im(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cP(n){return n.replace(ige,"")}function J5(n){return uP.apply(this,arguments)}function uP(){return(uP=yn(function*(n){if(vb(n))return n;const e={},t=rge(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=qS(n);r&&(e["content-type"]=r);const s=yield age(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function sge(n){return dP.apply(this,arguments)}function dP(){return(dP=yn(function*(n){if(!n.ok){const e=yield oge(n);throw new Error(e)}})).apply(this,arguments)}function oge(n){return hP.apply(this,arguments)}function hP(){return(hP=yn(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function age(n){return fP.apply(this,arguments)}function fP(){return(fP=yn(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${lge(n.slice(0,5))}`:null})).apply(this,arguments)}function lge(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const nH={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){sn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},dge={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gP(){oP.loaders=oP.loaders||{};const{loaders:n}=oP;return n._state=n._state||{},n._state}const mP=()=>{const n=gP();return n.globalOptions=n.globalOptions||K({},nH),n.globalOptions};function hge(n,e,t,i){return t=t||[],function(n,e){rH(n,null,nH,dge,e);for(const t of e)rH(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=K({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new cge),oH(r,mP()),oH(r,e),r}(e,n,i)}function iH(n,e){const t=mP(),i=n||t;return"function"==typeof i.fetch?i.fetch:ph(i.fetch)?r=>eH(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:eH}function rH(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&ph(n[a]),c="baseUri"===a&&!e,d="workerUrl"===a&&e;if(!(a in t)&&!c&&!d)if(a in i)tH.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const f=pge(a,r);tH.warn(`${s} loader option '${o}${a}' not recognized. ${f}`)()}}}function pge(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function oH(n,e){for(const t in e)t in e&&(n[t]=X5(e[t])&&X5(n[t])?K(K({},n[t]),e[t]):e[t])}function Qc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function _ge(n,e="3.0.12"){return Qc(n,"no worker provided"),!(!e||!n.version)}const Jc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},yge=Jc.global||Jc.self||Jc.window||{},_P="object"!=typeof process||"[object process]"!==String(process)||process.browser,yP="function"==typeof importScripts,vge="undefined"!=typeof window&&void 0!==window.orientation,aH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),vP=(aH&&parseFloat(aH[1]),new Map);function lH(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function cH(n,e=!0,t){const i=t||new Set;if(n)if(uH(n))i.add(n);else if(uH(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)cH(n[r],e,i);return void 0===t?Array.from(i):[]}function uH(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bP=()=>{};class dH{static isSupported(){return"undefined"!=typeof Worker}constructor(e){sn(this,"name",void 0),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"terminated",!1),sn(this,"worker",void 0),sn(this,"onMessage",void 0),sn(this,"onError",void 0),sn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Qc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bP,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bP,this.onError=bP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||cH(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Qc(n.source&&!n.url||!n.source&&n.url);let e=vP.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?lH(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),vP.set(n.url,e)),n.source&&(e=lH(n.source),vP.set(n.source,e))),Qc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Ege{constructor(e,t){sn(this,"name",void 0),sn(this,"workerThread",void 0),sn(this,"isRunning",void 0),sn(this,"result",void 0),sn(this,"_resolve",void 0),sn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Qc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Qc(this.isRunning),this.isRunning=!1,this._reject(e)}}class Sge{constructor(e){sn(this,"name","unnamed"),sn(this,"source",void 0),sn(this,"url",void 0),sn(this,"maxConcurrency",1),sn(this,"maxMobileConcurrency",1),sn(this,"onDebug",()=>{}),sn(this,"reuseWorkers",!0),sn(this,"props",{}),sn(this,"jobQueue",[]),sn(this,"idleQueue",[]),sn(this,"count",0),sn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=K(K({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return yn(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return yn(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Ege(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return dH.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){sn(this,"props",void 0),sn(this,"workerPools",new Map),this.props=K({},Mge),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=K(K({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Sge({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Tge(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Qc(r),r}function Age(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Dge(n,e,t,i,r){return CP.apply(this,arguments)}function CP(){return(CP=yn(function*(n,e,t,i,r){const s=n.id,o=Tge(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Oge.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Oge(n,e,t,i){return wP.apply(this,arguments)}function wP(){return(wP=yn(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}sn(td,"_workerFarm",void 0);var fH=ze(521);function pH(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return fH.toArrayBuffer?fH.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function kge(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function gH(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function Fge(n){return SP.apply(this,arguments)}function SP(){return(SP=yn(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iP(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return kge(...e)})).apply(this,arguments)}const Bge=262144;function mH(n){this.wrapped=n}function bb(n){return new mH(n)}function Cb(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,d=c instanceof mH;Promise.resolve(d?c.wrapped:c).then(function(f){d?r("return"===o?"return":"next",f):s(l.done?"return":"normal",f)},function(f){r("throw",f)})}catch(f){s("throw",f)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var d={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=d:(e=t=d,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function xP(n){return function(){return new Cb(n.apply(this,arguments))}}function TP(){return(TP=xP(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(OP)}function Wge(n,e,t){return IP.apply(this,arguments)}function IP(){return(IP=yn(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return Gge(n,e);if(Im(n)&&(n=yield J5(n)),vb(n)){const r=n;return yield sge(r),e.binary?yield r.arrayBuffer():yield r.text()}if(K5(n)&&(n=$ge(n,t)),Gpe(n)||Wpe(n))return Fge(n);throw new Error(OP)})).apply(this,arguments)}function Yge(n,e,t=null){if(t)return t;const i=K({fetch:iH(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function Xge(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const yH=()=>{const n=gP();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function vH(n){const e=yH();n=Array.isArray(n)?n:[n];for(const t of n){const i=sP(t);e.find(r=>i===r)||e.unshift(i)}}const Zge=/\.([^.]+)$/;function Qge(n){return kP.apply(this,arguments)}function kP(){return(kP=yn(function*(n,e=[],t,i){if(!CH(n))return null;let r=bH(n,e,Lt(K({},t),{nothrow:!0}),i);if(r)return r;if(Im(n)&&(r=bH(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(wH(n));return r})).apply(this,arguments)}function bH(n,e=[],t,i){if(!CH(n))return null;if(e&&!Array.isArray(e))return sP(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...yH()),function(n){for(const e of n)sP(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=qS(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=FP(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&Zge.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||FP(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(rme(e,t))return t}else if(ArrayBuffer.isView(e)){if(EH(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&EH(e,0,t))return t;return null}(e,n),a=a||FP(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(wH(n));return s}function CH(n){return!(n instanceof Response&&204===n.status)}function wH(n){const{url:e,type:t}=qS(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?NP(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?NP(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function FP(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function rme(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function EH(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let eu=new Uint8ClampedArray(0);const gme={data:{type:"data",value:fme,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Lt(K({},r),{fetch:Lt(K({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:wb(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):wb(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:qn.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Eb=(()=>{class n extends Hpe{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=U5(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=k5(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=K({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===qn.DEFAULT&&(t=i.isGeospatial?qn.LNGLAT:qn.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:d}=S5(t,i,r),f=U5(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:d});d&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(f,f,t.projectPosition(l||c));return f}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===qn.DEFAULT||t===qn.LNGLAT||t===qn.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){sc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=bfe(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const d of c)o.invalidateAll(d);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:d}=o.attributes,f=c||d;f&&(l&&f.constant&&(f.constant=!1,o.invalidate(f.id)),!f.value&&!l&&(f.constant=!0,f.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!pme({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(eu.length/3);if(this.internalState.usesPickingColorCache=!0,rSH&&jn.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),eu=nb.allocate(eu,i,{size:3,copy:!0,maxCount:Math.max(i,SH)});const s=Math.floor(eu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const d of this.props.extensions)d.draw.call(this,c,d);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&no("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=y5({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&v5(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&v5(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:ffe(n,e),transitionsChanged:ufe(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new tfe(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){sc(!this.internalState&&!this.state),sc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new $pe({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(jn.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ofe(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){no("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=gme,n})(),MH=(()=>{class n extends Eb{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C,_subLayerProps:w}=this.props,x={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:d,coordinateSystem:f,coordinateOrigin:p,wrapLongitude:g,positionFormat:_,modelMatrix:y,extensions:v,fetch:C},N=w&&w[t.id],V=N&&N.updateTriggers,U=t.id||"sublayer";if(N){const ee=this.constructor._propTypes,de=t.type?t.type._propTypes:{};for(const ae in N){const me=de[ae]||ee[ae];me&&"accessor"===me.type&&(N[ae]=this.getSubLayerAccessor(N[ae]))}}Object.assign(x,t,N),x.id="".concat(this.props.id,"-").concat(U),x.updateTriggers=K(K({all:this.props.updateTriggers.all},t.updateTriggers),V);for(const ee of v){const de=ee.getSubLayerProps.call(this,ee);de&&Object.assign(x,de,{updateTriggers:Object.assign(x.updateTriggers,de.updateTriggers)})}return x}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),no("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const _me=/([0-9]+\.?[0-9]*)(%|px)/;function XS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(_me);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function KS(n,e){return n.relative?Math.round(n.position*e):n.position}function Sb(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&Sb(i,r)))return!1}return!0}class zP{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:d=1e3,modelMatrix:f=null,viewportInstance:p=null,type:g=Om}=e;sc(!p||p instanceof Om),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Lt(K({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:d,modelMatrix:f}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):Sb(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=K({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:KS(this._x,e),y:KS(this._y,t),width:KS(this._width,e),height:KS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),K(K({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(K(K(K({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=XS(e),this._y=XS(t),this._width=XS(i),this._height=XS(r)}}const Mb=()=>{},xH={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:Mb,onTransitionInterrupt:Mb,onTransitionEnd:Mb};class yme{constructor(e,t={}){this.ControllerState=e,this.props=K(K({},xH),t),this.propsInTransition=null,this.transition=new fb(t.timeline),this.onViewStateChange=t.onViewStateChange||Mb,this.onStateChange=t.onStateChange||Mb,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=K(K({},xH),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=K(K({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(K(K({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const TH=["longitude","latitude","zoom","bearing","pitch"],bme=["longitude","latitude","zoom"];class AH extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!rb(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];sc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:TH,extract:TH,required:bme}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=bS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(K(K({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,bS(e.around,t.around,i)))}return r}}const gh={transitionDuration:0},Cme={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},QS=n=>1-(1-n)*(1-n),Pm_WHEEL=["wheel"],Pm_PAN=["panstart","panmove","panend"],Pm_PINCH=["pinchstart","pinchmove","pinchend"],Pm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],Pm_DOUBLE_TAP=["doubletap"],Pm_KEYBOARD=["keydown"];class jP{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new yme(e,Lt(K({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Lt(K({},Cme),{transitionInterpolator:new AH({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,d=Boolean(this.onViewStateChange);this.toggleEvents(Pm_WHEEL,d&&i),this.toggleEvents(Pm_PAN,d&&(r||s)),this.toggleEvents(Pm_PINCH,d&&(a||l)),this.toggleEvents(Pm_TRIPLE_PAN,d&&l),this.toggleEvents(Pm_DOUBLE_TAP,d&&o),this.toggleEvents(Pm_KEYBOARD,d&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=K(K({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,gh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Lt(K({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,gh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,gh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Lt(K({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,gh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,gh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Lt(K({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:QS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Lt(K({},t),{transitionInterpolator:new AH(Lt(K({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:gh}}class DH{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const mh_target=[0,0,0];class JS extends DH{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=mh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:d=-(1/0),maxZoom:f=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:d,maxZoom:f}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:_,startRotationOrbit:y,startZoomPosition:v,startZoom:C},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let d=(e[0]-r[0])/a;(s<-90||s>90)&&(d*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*d}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Lt(K({},this._viewportProps),{zoom:a}));return this._getUpdatedState(K({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),np(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new JS(K(K(K({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=np(r,i,t),e.rotationX=np(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Eme extends jP{constructor(e){super(JS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Sme extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(JS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Mme=(new $t).lookAt({eye:[0,0,1]});function xme({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new $t).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Tme extends Om{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Lt(K({},e),{longitude:null,position:a,viewMatrix:Mme.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:xme({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=zS([],e,M5([],gb(t,this.pixelUnprojectionMatrix)));return{target:zS([],this.center,r)}}}let Ame=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:Tme}))}get controller(){return this._getControllerProps({type:Sme})}}return n.displayName="OrthographicView",n})();const eM=Math.PI/180;function Dme({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*eM/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new $t).lookAt({eye:l,up:a});c.rotateX(i*eM),"Z"===t?c.rotateZ(r*eM):c.rotateY(r*eM);const d=Math.pow(2,s)/(n||1);return c.scale(d),c}class Ome extends Om{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Lt(K({},e),{longitude:null,viewMatrix:Dme({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=gb([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Ime=(()=>{class n extends zP{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Lt(K({},t),{orbitAxis:i,type:Ome}))}get controller(){return this._getControllerProps({type:Eme})}}return n.displayName="OrbitView",n})();const Pme=[255,255,255],Rme=1;let kme=0;class OH{constructor(e={}){const{color:t=Pme}=e,{intensity:i=Rme}=e;this.id=e.id||"ambient-".concat(kme++),this.color=t,this.intensity=i,this.type="ambient"}}const Fme=[255,255,255],Nme=1,Lme=[0,0,-1];let Bme=0;class IH{constructor(e={}){const{color:t=Fme}=e,{intensity:i=Nme}=e,{direction:r=Lme}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Bme++),this.color=t,this.intensity=i,this.type="directional",this.direction=new to(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class PH{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=K({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UP extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=K({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,d=i&&i[c.id];r(c);const f=this._getDrawLayerParams(c,e);e.view=d;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const _=this._drawLayersInViewport(o,e,f);a.push(_)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=RH(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let d=0;dpI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const d=t[l]=t[l]||RH(e[l],e);c=d(r,s),t[a]=d}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class Ume extends UP{constructor(e,t){super(e,t),this.shadowMap=new na(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new vm(e,{format:33189,width:1,height:1}),this.fbo=new ss(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;rc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=mm(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Lt(K({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const $me=Object.keys(qn).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(qn[n],";")).join(""),Gme=Object.keys(Yc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Yc[n],";")).join(""),Wme="".concat($me,"\n").concat(Gme,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),qme={},HP={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:Wme,getUniforms:function(n=qme){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=qn.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===qn.DEFAULT&&(i=n.isGeospatial?qn.LNGLAT:qn.CARTESIAN);const o=Zfe({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||Yfe,o}(n):{}}},Zme=NS(function({viewport:n,center:e}){return new $t(n.viewProjectionMatrix).invert().transform(e)}),Qme=NS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=gb([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new to(n.center).negate()),l=s.map(d=>a.transform(d)),c=(new $t).ortho({left:Math.min(...l.map(d=>d[0])),right:Math.max(...l.map(d=>d[0])),bottom:Math.min(...l.map(d=>d[1])),top:Math.max(...l.map(d=>d[1])),near:Math.min(...l.map(d=>-d[2])),far:Math.max(...l.map(d=>-d[2]))});t.push(c.multiplyRight(o))}return t}),Jme=[0,0,0,1],e_e=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],$P={name:"shadow",dependencies:[HP],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||Jme,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=Zme({viewport:n.viewport,center:e.project_uCenter}),r=[],s=Qme({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},s_e={color:[255,255,255],intensity:1},kH=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],o_e=[0,0,0,200/255];class GP extends PH{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=o_e,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=db.getDefaultProgramManager(e),$P&&this.programManager.addDefaultModule($P)),this.dummyShadowMap||(this.dummyShadowMap=new na(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule($P),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new $t).lookAt({eye:new to(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=l_e++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class c_e{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=wb(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class u_e{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new c_e(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const d_e=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HP],h_e=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function f_e(n){const e=db.getDefaultProgramManager(n);for(const t of d_e)e.addDefaultModule(t);for(const t of h_e)e.addShaderHook(t);return e}const m_e=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class __e{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new u_e({gl:e,protocol:"deck://"}),this.context=Lt(K({},m_e),{layerManager:this,gl:e,deck:t,programManager:e&&f_e(e),stats:i||new aI({id:"deck.gl"}),viewport:r||new Om({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new FH,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){no("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return no("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?jn.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&jn.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class y_e{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!Sb(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):jn.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(K({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Lt(K(K(K({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let d=r[a.id];a.controller&&!d&&(s=!0),(s||!a.controller)&&d&&(d.finalize(),d=null),this.controllers[a.id]=this._updateController(a,l,c,d),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class b_e extends DH{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:d=20,minZoom:f=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x,normalize:N}={}){sc(Number.isFinite(s)),sc(Number.isFinite(r)),sc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:d,minZoom:f,maxPitch:p,minPitch:g,normalize:N}),this._state={startPanLngLat:_,startZoomLngLat:y,startRotatePos:v,startBearing:C,startPitch:w,startZoom:x},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Lt(K({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Lt(K({},this._viewportProps),{zoom:o}));return this._getUpdatedState(K({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=K({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(K(K(K({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=np(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=np(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=A5(t+180,360)-180),(o<-180||o>180)&&(o=A5(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Dm([0,l])[1];if(id&&(i=d)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return np(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=np(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let d=0;return r>0?Math.abs(l-o)>5&&(d=r/(o-l)*1.2):r<0&&o>5&&(d=1-s/o),d=Math.min(1,Math.max(-1,d)),{deltaScaleX:c,deltaScaleY:d}}}class C_e extends jP{constructor(e){e.dragMode=e.dragMode||"pan",super(b_e,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(K(K({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let w_e=(()=>{class n extends zP{constructor(t){super(Lt(K({},t),{type:j5}))}get controller(){return this._getControllerProps({type:C_e})}}return n.displayName="MapView",n})();const E_e=new GP;class S_e{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!Sb(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GP)||this._internalEffects.push(E_e)}}class M_e extends UP{}const LH={blendFunc:[1,0,32771,0],blendEquation:32774};class BH extends UP{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:d},pass:f="picking",redrawReason:p,pickZ:g}){const _=this.gl;return this.pickZ=g,rc(_,Lt(K({scissorTest:!0,scissor:[a,l,c,d],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},LH),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:f,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Lt(K({},LH),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return K(K({},e.props.parameters),i)}}class T_e{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new M_e(e),this.pickLayersPass=new BH(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ss.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Lt(K({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,no("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ss(this.gl),new ss(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const A_e={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function D_e({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let d=r*r,f=-1,p=0;for(let g=0;gd)p+=4*l;else for(let v=0;v=0){const w=v+o-t,x=w*w+y;x<=d&&(d=x,f=p)}p+=4}}if(f>=0){const g=n[f+3]-1,_=n.slice(f,f+4),y=e[g];if(y){const v=y.decodePickingColor(_),C=Math.floor(f/4/l);return{pickedColor:_,pickedLayer:y,pickedObjectIndex:v,pickedX:o+(f/4-C*l),pickedY:a+C}}jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return A_e}function VH({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,d=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),f=d&&d.unproject([s-d.x,o-d.y],{targetZ:a});return{color:null,layer:null,viewport:d,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:f,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function I_e(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const f=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==f){if(g!==p){const _=r.find(y=>y.props.id===p);_&&l.unshift(_)}t.layerId=g,t.index=a,t.info=null}}const c=VH(n),d=new Map;return d.set(null,c),l.forEach(f=>{let p=K({},c);f===o&&(p.color=s,p.index=a,p.picked=!0),p=zH({layer:f,info:p,mode:i}),f===o&&"hover"===i&&(t.info=p),d.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),d}function zH({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class R_e{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new BH(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],d=c&&c.unproject([e-c.x,t-c.y]),f={x:e,y:t,viewport:c,coordinate:d,layer:l};return l?K(K({},s),f):Object.assign(f,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ss(e),ss.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ss(e),this.depthFBO.attach({36064:new na(e,{format:In(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(jn.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:d}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:VH({viewports:i,x:r,y:s})};this._resizeBuffer();const f=mm(this.gl),p=rI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],_=Math.round(o*f),{width:y,height:v}=this.pickingFBO,C=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:_,deviceWidth:y,deviceHeight:v});let w;const x=[],N={};for(let V=0;V=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):jn.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:d,deviceRect:{x:g,y:C,width:y.x+y.width-g,height:_-C},pass:"picking:".concat(l),redrawReason:l}),layers:e}),V=new Map,U=Number.isFinite(c);for(let ee=0;ee=c);ee++){const de=N[ee];let ae={color:de.pickedColor,layer:null,index:de.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:f};ae=zH({layer:de.pickedLayer,info:ae,mode:l}),V.has(ae.object)||V.set(ae.object,ae)}return Array.from(V.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:d,y:f,width:p,height:g}=s,_=new(l?Float32Array:Uint8Array)(p*g*4);return vS(c,{sourceX:d,sourceY:f,sourceWidth:p,sourceHeight:g,target:_}),_}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const k_e={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class F_e{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,k_e),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function jH(n,e){if(!n)throw new Error(e)}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},UH=tu.global||tu.self||tu.window,L_e="object"!=typeof process||"[object process]"!==String(process)||process.browser,HH="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:B_e}=(HH&&parseFloat(HH[1]),UH),WP="undefined"!=typeof Image,qP="undefined"!=typeof ImageBitmap,V_e=Boolean(B_e),YP=!!L_e||V_e;function $H(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function GH(n){switch($H(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const U_e=/^data:image\/svg\+xml/,H_e=/\.svg((\?|#).*)?$/;function XP(n){return n&&(U_e.test(n)||H_e.test(n))}function $_e(n,e){if(XP(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return qH(n,e)}function qH(n,e){if(XP(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function YH(n,e,t){return KP.apply(this,arguments)}function KP(){return(KP=yn(function*(n,e,t){const i=$_e(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield G_e(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function G_e(n,e){return ZP.apply(this,arguments)}function ZP(){return(ZP=yn(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const W_e={};let XH=!0;function q_e(n,e,t){return QP.apply(this,arguments)}function QP(){return(QP=yn(function*(n,e,t){let i;i=XP(t)?yield YH(n,e,t):qH(n,t);const r=e&&e.imagebitmap;return yield Y_e(i,r)})).apply(this,arguments)}function Y_e(n){return JP.apply(this,arguments)}function JP(){return(JP=yn(function*(n,e=null){if((X_e(e)||!XH)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),XH=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function X_e(n){for(const e in n||W_e)return!1;return!0}const nu=!1,xb=!0;function eR(n){const e=Tb(n);return function(n){const e=Tb(n);return e.byteLength>=24&&2303741511===e.getUint32(0,nu)?{mimeType:"image/png",width:e.getUint32(16,nu),height:e.getUint32(20,nu)}:null}(e)||function(n){const e=Tb(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,nu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,nu)?{mimeType:"image/gif",width:e.getUint16(6,xb),height:e.getUint16(8,xb)}:null}(e)||function(n){const e=Tb(n);return e.byteLength>=14&&16973===e.getUint16(0,nu)&&e.getUint32(2,xb)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,xb),height:e.getUint32(22,xb)}:null}(e)}function Tb(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function tye(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=UH;return jH(i),i(n,t,e)}function tR(){return(tR=yn(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(iye(r)){case"imagebitmap":a=yield q_e(n,e,s);break;case"image":a=yield YH(n,e,s);break;case"data":a=yield tye(n,e);break;default:jH(!1)}return"data"===r&&(a=GH(a)),a})).apply(this,arguments)}function iye(n){switch(n){case"auto":case"data":return function(){if(qP)return"imagebitmap";if(WP)return"image";if(YP)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qP||WP||YP;case"imagebitmap":return qP;case"image":return WP;case"data":return YP;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var Rm=ze(761);const sye={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},Ab="8.5.8",tM=Rm.CO.deck&&Rm.CO.deck.VERSION;if(tM&&tM!==Ab)throw new Error("deck.gl - multiple versions detected: ".concat(tM," vs ").concat(Ab));tM||(jn.log(1,"deck.gl ".concat(Ab))(),Rm.CO.deck=Object.assign(Rm.CO.deck||{},{VERSION:Ab,version:Ab,log:jn,_registerLoggers:function(n){TI=n}}),vH([sye,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const oye=Rm.CO.deck;class nM extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=In(e),r=f4(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:nt(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return nM.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const KH=yS()&&"undefined"!=typeof document;let mye=0;class _ye{constructor(e={}){const{onCreateContext:t=(v=>qU(v)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:d=!1,createFramebuffer:f=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:_=Jf.get("animation-loop-"+mye++)}=e;let{useDevicePixels:y=!0}=e;"useDevicePixelRatio"in e&&(vt.deprecated("useDevicePixelRatio","useDevicePixels")(),y=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:d,createFramebuffer:f},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=_,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:y}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return nt("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=nM.isSupported(this.gl,["timers"])?new nM(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return yn(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return vt.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=KH?new Promise((e,t)=>{KH&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?oI(this.props.gl,e):this.onCreateContext(e),!mS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,iI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(vt.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(vt.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ss(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var yye=ze(524),iM=ze.n(yye);const vye={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(iM().MouseInput);const Eye=iM().Manager,iu=iM(),Sye=iu?[[iu.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[iu.Rotate,{enable:!1}],[iu.Pinch,{enable:!1}],[iu.Swipe,{enable:!1}],[iu.Pan,{threshold:0,enable:!1}],[iu.Press,{enable:!1}],[iu.Tap,{event:"doubletap",taps:2,enable:!1}],[iu.Tap,{event:"anytap",enable:!1}],[iu.Tap,{enable:!1}]]:null,JH={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Mye={doubletap:["tap"]},xye={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Tye={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},e6={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Aye="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",km="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let t6=!1;try{const n={get passive(){return t6=!0,!0}};km.addEventListener("test",n,n),km.removeEventListener("test",n,n)}catch(n){}const Dye=-1!==Aye.indexOf("firefox"),{WHEEL_EVENTS:Oye}=rR,i6=4.000244140625;class Rye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Oye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!t6&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;km.WheelEvent&&(Dye&&e.deltaMode===km.WheelEvent.DOM_DELTA_PIXEL&&(t/=km.devicePixelRatio),e.deltaMode===km.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%i6==0&&(t=Math.floor(t/i6)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:kye}=rR,r6="pointermove",s6="pointerover",o6="pointerout",a6="pointerleave";class Fye{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=kye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===r6&&(this.enableMoveEvent=t),e===s6&&(this.enableOverEvent=t),e===o6&&(this.enableOutEvent=t),e===a6&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:s6,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:o6,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:a6,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:r6,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Nye}=rR,l6="keydown";class Lye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Nye.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===l6&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:l6,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const u6="contextmenu";class Bye{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===u6&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:u6,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Vye={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},d6={srcElement:"root",priority:0};class Zye{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},d6,i):d6;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let d=l.length-1;for(;d>=0&&!(l[d].priority>=c.priority);)d--;l.splice(d+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&JH[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new Rye(e,this._onOtherEvent,{enable:!1}),this.moveInput=new Fye(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Lye(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Bye(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Mye[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const d in e)this._addEventHandler(d,e[d],i,r,s);return}const{manager:o,events:a}=this,l=e6[e]||e;let c=a.get(l);c||(c=new Zye(this),a.set(l,c),c.recognizerName=Tye[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(e6[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=xye[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function ap(){}const h6={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:ap,onResize:ap,onViewStateChange:ap,onInteractionStateChange:ap,onBeforeRender:ap,onAfterRender:ap,onLoad:ap,onError:(n,e)=>jn.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class sM{constructor(e){e=K(K({},h6),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&jn.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,Rm.qs)()&&jn.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new aI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&nb.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&jn.removed("onLayerHover","onHover")(),"onLayerClick"in e&&jn.removed("onLayerClick","onClick")(),e.initialViewState&&!Sb(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](K({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),sc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:d,autoResizeDrawingBuffer:f}=e;return new _ye({width:t,height:i,useDevicePixels:d,autoResizeDrawingBuffer:f,autoResizeViewport:!1,gl:r,onCreateContext:p=>qU(Lt(K(K({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new w_e({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,oI(e,{enable:!0,copyState:!0})),this.tooltip=new F_e(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new FH;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new Jye(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in IU)this.eventManager.on(r,this._onEvent);this.viewManager=new y_e({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new __e(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new S_e,this.deckRenderer=new T_e(e),this.deckPicker=new R_e(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(K({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),jn.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Lt(K({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=IU[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Jf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}sM.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(PH)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},sM.defaultProps=h6,sM.VERSION=oye.VERSION;const oM={name:"project32",dependencies:[HP],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},ive={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},aM=K({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=ive){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),f6={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class _h{static get DRAW_MODE(){return f6}constructor(e={}){const{id:t=ea("geometry"),drawMode:i=f6.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?K({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,nt(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(nt(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return nt(Number.isFinite(i)),i}}const p6=()=>{},cve={10241:9987,10240:9729,10242:33071,10243:33071};function uve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function dve(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Db(n){return n&&(n.id||n.url)}function g6(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(g6(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,f)}}return a.length>0&&g6(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:uve(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new na(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:cve})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=u4(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:d,height:f}=t;const{framebuffer:p,deleteFramebuffer:g}=tb(n);nt(p);const{gl:_,handle:y}=p,v=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const C=_.bindFramebuffer(36160,y);nt(e);let w=null;if(e instanceof ep&&(w=e,d=Number.isFinite(d)?d:w.width,f=Number.isFinite(f)?f:w.height,w.bind(0),e=w.target),v)switch(e){case 3553:case 34067:_.copyTexSubImage2D(e,s,a,l,i,r,d,f);break;case 35866:case 32879:eo(_).copyTexSubImage3D(e,s,a,l,c,i,r,d,f)}else _.copyTexImage2D(e,s,o,i,r,d,f,0);w&&w.unbind(),_.bindFramebuffer(36160,C||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,wb(i.url,nR,this._loadOptions).then(r=>{const s=Db(i),{x:o,y:a,width:l,height:c}=this._mapping[s],d=dve(t,r,l,c);this._texture.setSubImageData({data:d,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const m6=[0,0,0,255],mve={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:m6},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let _ve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.state={iconManager:new gve(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:m6},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:d}=this.state;d.setProps({loadOptions:i.loadOptions});let f=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&d.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(d.setProps({iconMapping:a}),f=!0)):d.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&d.setProps({data:l,getIcon:c}),f&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:_}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(_),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:d}=this.context,f=c.getTexture();f&&this.state.model.setUniforms(t).setUniforms({iconsTexture:f,iconsTextureDim:[f.width,f.height],sizeScale:i*("pixels"===o?d.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):jn.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=mve,n})();const y6=[],vve={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let bve=(()=>{class n extends _ve{getShaders(){return Lt(K({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&jn.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Lt(K({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):y6}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):y6}}return n.layerName="MultiIconLayer",n.defaultProps=vve,n})();var Cve=ze(2),wve=ze.n(Cve);const Sve=[];function Mve(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function v6(n,e,t,i){let r=0;for(let s=e;si&&(oa){let f=v6(n,a,l,r);c+f>i&&(oi&&(f=b6(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=f}}(n,r,s,t,i,o),o}function Dve(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,d=[0,0],f=[];let p=0,g=0,_=0;for(let y=0;y<=s;y++){const v=n[y];if(("\n"===v||y===s)&&(_=y),_>g){const C=c?Ave(n,t,i,r,g,_):Sve;for(let w=0;w<=C.length;w++){const x=0===w?g:C[w-1],N=wi===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),Fve=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Lve(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:d}=this.props;let f=i&&i.data;f||(f=document.createElement("canvas"),f.width=1024);const p=f.getContext("2d");I6(p,r,o,s);const{mapping:g,canvasHeight:_,xOffset:y,yOffset:v}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,d=0;for(const p of n)if(!s[p]){const g=e(p,d++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const f=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*f,canvasHeight:Mve(a+(l+1)*f)}}(K({getFontWidth:C=>p.measureText(C).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(f.height!==_){const C=p.getImageData(0,0,f.width,f.height);f.height=_,p.putImageData(C,0,0)}if(I6(p,r,o,s),l){const C=new(wve())(o,a,c,d,r,s),w=p.getImageData(0,0,C.size,C.size);for(const x of t)Lve(C.draw(x),w),p.putImageData(w,g[x].x-a,g[x].y+a)}else for(const C of t)p.fillText(C,g[C].x,g[C].y+.9*o);return{xOffset:y,yOffset:v,mapping:g,data:f,width:f.width,height:f.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const jve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let Uve=(()=>{class n extends Eb{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[oM,aM]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:d}=this.props;const f="pixels"===o?i.metersPerPixel:1;d.length<4&&(d=[d[0],d[1],d[0],d[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:d,sizeScale:s*f,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Mm(t,Lt(K({},this.getShaders()),{id:this.props.id,geometry:new _h({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=jve,n})();const P6={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},R6={start:1,middle:0,end:-1},k6={top:1,center:0,bottom:-1},lR=[0,0,0,255],$ve=["fontSize","buffer","sdf","radius","cutoff"],Gve={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:w6},fontFamily:E6,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let Wve=(()=>{class n extends MH{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Bve}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Lt(K(K({},P6),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return $ve.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:d}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),d=s&&new Set,f=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:d}=SS(t);o=[0],a=0;for(const f of c){d.index++;const p=Array.from(s(f,d)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{size:[p,g]}=C6(f,l,o,a,r);return[(R6["function"==typeof c?c(t,i):c]-1)*p/2,(k6["function"==typeof d?d(t,i):d]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:d}=this.props,f=s(t,i)||"",{x:p,y:g,rowWidth:_,size:[y,v]}=C6(f,l,o,a,r),C=R6["function"==typeof c?c(t,i):c],w=k6["function"==typeof d?d(t,i):d],x=p.length,N=new Array(2*x);let V=0;for(let U=0;Ut*e/255)}const uR={name:"lights",vs:F6,fs:F6,getUniforms:function N6(n=qve){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return N6({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},Xve={};const Zve={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=Xve){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,lM=new Float32Array(16),V6=new Float32Array(12);function z6(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),d=Math.cos(i),f=Math.cos(r),p=t[0],g=t[1],_=t[2];n[0]=p*f*d,n[1]=p*l*d,n[2]=p*-a,n[3]=g*(-l*c+f*a*o),n[4]=g*(f*c+l*a*o),n[5]=g*d*o,n[6]=_*(l*o+f*a*c),n[7]=_*(-f*o+l*a*c),n[8]=_*d*c}function j6(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const U6={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,d=Array.isArray(s),f=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:f&&d&&p;const _=n.value;if(n.constant){let y;g?(lM.set(a),y=j6(lM)):(y=V6,z6(y,r,s),y.set(o,9)),n.value=new Float32Array(y)}else{let y=e*n.size;const{iterable:v,objectInfo:C}=SS(i,e,t);for(const w of v){let x;C.index++,g?(lM.set(c?a:a(w,C)),x=j6(lM)):(x=V6,z6(x,f?r:r(w,C),d?s:s(w,C)),x.set(p?o:o(w,C),9)),_[y++]=x[0],_[y++]=x[1],_[y++]=x[2],_[y++]=x[3],_[y++]=x[4],_[y++]=x[5],_[y++]=x[6],_[y++]=x[7],_[y++]=x[8],_[y++]=x[9],_[y++]=x[10],_[y++]=x[11]}}}};function H6(n,e){return e===qn.CARTESIAN||e===qn.METER_OFFSETS||e===qn.DEFAULT&&!n.isGeospatial}function $6(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),jn.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function ebe(n,e){if(n.attributes)return $6(n.attributes,e),n instanceof _h?n:new _h(n);if(n.positions||n.POSITION)return $6(n,e),new _h({attributes:n});throw Error("Invalid mesh")}const tbe={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let nbe=(()=>{class n extends Eb{getShaders(){const t=!In(this.context.gl),i={};return _I(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[oM,Zve,aM],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:U6}),this.setState({emptyTexture:new na(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||H6(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Mm(this.context.gl,Lt(K({},this.getShaders()),{id:this.props.id,geometry:ebe(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=tbe,n})();const G6={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class Fm{constructor(e={}){const{id:t}=e;this.id=t||ea(this.constructor.name),this.display=!0,this.position=new to,this.rotation=new to,this.scale=new to(1,1,1),this.matrix=new $t,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return nt(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return nt(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return nt(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){nt(e),t=t||this.matrix;const i=new $t(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Ob extends Fm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;vt.assert(t.every(i=>i instanceof Fm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new $t}={}){const i=new $t(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Ob?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function W6(){var n=new ia(4);return ia!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function q6(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function Y6(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],d=t[3];return n[0]=i*d+o*a+r*c-s*l,n[1]=r*d+o*l+s*a-i*c,n[2]=s*d+o*c+i*l-r*a,n[3]=o*d-i*a-r*l-s*c,n}var K6=w5,_be=function(){var n=m4(),e=_4(1,0,0),t=_4(0,1,0);return function(i,r,s){var o=y4(r,s);return o<-.999999?(wS(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&wS(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),q6(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(wS(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();W6(),W6(),function(){var n=new ia(9);ia!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const ybe=[0,0,0,1],bbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cbe={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function J6(n){if(!n._animation){const e=Cbe[n.componentType],t=bbe[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}}(this,e),this.check()}identity(){return function(n){n[0]=0,n[1]=0,n[2]=0,n[3]=1}(this),this.check()}fromAxisRotation(e,t){return q6(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=ks(e)}get y(){return this[1]}set y(e){this[1]=ks(e)}get z(){return this[2]}set z(e){this[2]=ks(e)}get w(){return this[3]}set w(e){this[3]=ks(e)}len(){return function(n){return Math.hypot(n[0],n[1],n[2],n[3])}(this)}lengthSquared(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r}(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]}(this,e)}rotationTo(e,t){return _be(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return function(n,e,t){n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3]}(this,this,e),this.check()}calculateW(){return function(n,e){var t=e[0],i=e[1],r=e[2];n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r))}(this,this),this.check()}conjugate(){return function(n,e){n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3]}(this,this),this.check()}invert(){return function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a}(this,this),this.check()}lerp(e,t,i){return function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a)}(this,e,t,i),this.check()}multiplyRight(e,t){return Qu(!t),Y6(this,this,e),this.check()}multiplyLeft(e,t){return Qu(!t),Y6(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a}(this,this,e),this.check()}rotateY(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a}(this,this,e),this.check()}rotateZ(e){return function(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a}(this,this,e),this.check()}scale(e){return K6(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=ybe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return function(n,e,t,i){var p,g,_,y,v,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],d=t[2],f=t[3];(g=r*l+s*c+o*d+a*f)<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>Kc?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-i)*p)/_,v=Math.sin(i*p)/_):(y=1-i,v=i),n[0]=y*r+v*l,n[1]=y*s+v*c,n[2]=y*o+v*d,n[3]=y*a+v*f}(this,e,t,i),this.check()}transformVector4(e,t=e){return function(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;n[0]=d*c+g*-o+f*-l-p*-a,n[1]=f*c+g*-a+p*-o-d*-l,n[2]=p*c+g*-l+d*-a-f*-o,n[3]=e[3]}(t,e,this),CS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}};class Abe{constructor(e){this.startTime=0,this.playing=!0,this.speed=1,this.channels=[],Object.assign(this,e)}animate(e){if(!this.playing)return;const i=(e/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:r,target:s,path:o})=>{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:vt.warn(`Bad animation path ${s}`)()}nt(r[s].length===i[c].length);const d=e[c],f=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;id&&function(n,e,t,i,r){if("rotation"===e){hR.slerp({start:t,target:i,ratio:r});for(let s=0;sd&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:J6(e.accessors[a]),interpolation:l,output:J6(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Abe({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Obe extends Fm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Mm?(this.model=e,this._setModelNodeProps(t)):this.model=new Mm(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Ibe{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},_I(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new na(this.gl,K({id:e.name||e.id,parameters:K(K({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(vt.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function e8(n,e){return In(n)?`#version 300 es\n${e}`:e}const Fbe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Nbe={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Lbe{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Nbe,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Dbe(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Ob({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Ob({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new $t).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Ob({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){vt.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Ibe(n,e);vt.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(d=>d.buffer));const c=new Obe(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[G6],defines:a.defines,parameters:a.parameters,vs:e8(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:e8(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),vt.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new Ai(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ta({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Fbe[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function t8(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new Nm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new Nm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof Nm){const o=e;t=o.fields,i=s8(s8(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new Nm(s,i)}}function s8(n,e){return new Map([...n||new Map,...e||new Map])}let cr,o8,a8,l8,c8,u8,d8,h8;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(cr||(cr={}));class fR{static isNull(e){return e&&e.typeId===cr.Null}static isInt(e){return e&&e.typeId===cr.Int}static isFloat(e){return e&&e.typeId===cr.Float}static isBinary(e){return e&&e.typeId===cr.Binary}static isUtf8(e){return e&&e.typeId===cr.Utf8}static isBool(e){return e&&e.typeId===cr.Bool}static isDecimal(e){return e&&e.typeId===cr.Decimal}static isDate(e){return e&&e.typeId===cr.Date}static isTime(e){return e&&e.typeId===cr.Time}static isTimestamp(e){return e&&e.typeId===cr.Timestamp}static isInterval(e){return e&&e.typeId===cr.Interval}static isList(e){return e&&e.typeId===cr.List}static isStruct(e){return e&&e.typeId===cr.Struct}static isUnion(e){return e&&e.typeId===cr.Union}static isFixedSizeBinary(e){return e&&e.typeId===cr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===cr.FixedSizeList}static isMap(e){return e&&e.typeId===cr.Map}static isDictionary(e){return e&&e.typeId===cr.Dictionary}get typeId(){return cr.NONE}compareTo(e){return this===e}}Symbol,Symbol,o8=Symbol.toStringTag;class Lm extends fR{constructor(e,t){super(),sn(this,"isSigned",void 0),sn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return cr.Int}get[o8](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class qbe extends Lm{constructor(){super(!0,8)}}class Ybe extends Lm{constructor(){super(!0,16)}}class Xbe extends Lm{constructor(){super(!0,32)}}class Kbe extends Lm{constructor(){super(!1,8)}}class Zbe extends Lm{constructor(){super(!1,16)}}class Qbe extends Lm{constructor(){super(!1,32)}}a8=Symbol.toStringTag;class f8 extends fR{constructor(e){super(),sn(this,"precision",void 0),this.precision=e}get typeId(){return cr.Float}get[a8](){return"Float"}toString(){return`Float${this.precision}`}}class Jbe extends f8{constructor(){super(32)}}class e0e extends f8{constructor(){super(64)}}Symbol,Symbol,l8=Symbol.toStringTag,c8=Symbol.toStringTag,u8=Symbol.toStringTag,d8=Symbol.toStringTag,h8=Symbol.toStringTag;class t0e extends fR{constructor(e,t){super(),sn(this,"listSize",void 0),sn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return cr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[h8](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class uM{constructor(e,t,i=!1,r=new Map){sn(this,"name",void 0),sn(this,"type",void 0),sn(this,"nullable",void 0),sn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new uM(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function p8(n,e,t){const i=t?g8(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new qbe;case Uint8Array:return new Kbe;case Int16Array:return new Ybe;case Uint16Array:return new Zbe;case Int32Array:return new Xbe;case Uint32Array:return new Qbe;case Float32Array:return new Jbe;case Float64Array:return new e0e;default:throw new Error("array type not supported")}}(e.value);return new uM(n,new t0e(e.size,new uM("value",r)),!1,i)}function g8(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const m8={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},s0e={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class a0e{constructor(e){sn(this,"draco",void 0),sn(this,"decoder",void 0),sn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?d:r,s=f>s?f:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),d=function(n,e,t){const i=g8(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=p8(o,n[o],s[o]);r.push(l)}if(t){const o=p8("indices",t);r.push(o)}return new Nm(r,i)}(l.attributes,a,l.indices);return Lt(K({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:d})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var dM=ze(125);const _R={};function yR(n){return vR.apply(this,arguments)}function vR(){return(vR=yn(function*(n,e=null,t={}){return e&&(n=h0e(n,e,t)),_R[n]=_R[n]||f0e(n),yield _R[n]})).apply(this,arguments)}function h0e(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_P?t.CDN?(Qc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yP?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function f0e(n){return bR.apply(this,arguments)}function bR(){return(bR=yn(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_P?yP?importScripts(n):p0e(yield(yield fetch(n)).text(),n):dM.requireFromFile&&(yield dM.requireFromFile(n))})).apply(this,arguments)}function p0e(n,e){if(!_P)return dM.requireFromString&&dM.requireFromString(n,e);if(yP)return eval.call(yge,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const g0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",m0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",_0e="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let Ib;function v0e(n){return CR.apply(this,arguments)}function CR(){return(CR=yn(function*(n){const e=n.modules||{};return Ib=e.draco3d?Ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):Ib||b0e(n),yield Ib})).apply(this,arguments)}function b0e(n){return ER.apply(this,arguments)}function ER(){return(ER=yn(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield yR(g0e,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield yR(m0e,"draco",n),yield yR(_0e,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield C0e(e,t)})).apply(this,arguments)}function C0e(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Lt(K({},t),{onModuleLoaded:r=>i({draco:r})}))})}const MR=Lt(K({},r8),{parse:function(n,e){return xR.apply(this,arguments)}});function xR(){return(xR=yn(function*(n,e){const{draco:t}=yield v0e(e),i=new a0e(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function Rb(n,e){return sp(n>=0),sp(e>0),n+(e-1)&~(e-1)}function S0e(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+Rb(i.byteLength,4)}const _8=["SCALAR","VEC2","VEC3","VEC4"],M0e=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],x0e=new Map(M0e),T0e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},A0e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},D0e={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function y8(n){return _8[n-1]||_8[0]}function v8(n){const e=x0e.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function b8(n,e){const t=D0e[n.componentType],i=T0e[n.type],s=n.count*i,o=n.count*i*A0e[n.componentType];return Pa(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const O0e={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class vh{constructor(e){sn(this,"gltf",void 0),sn(this,"sourceBuffers",void 0),sn(this,"byteLength",void 0),this.gltf=e||{json:K({},O0e),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Pa(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=b8(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Pa(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Pa(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Pa(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=Rb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:y8(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:v8(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=S0e(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*j0e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function U0e(n){return DR.apply(this,arguments)}function DR(){return(DR=yn(function*(n){const e=new vh(n),{json:t}=e;e.removeExtension(fM);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,fM)})).apply(this,arguments)}function H0e(n){const e=new vh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,fM,{}),e.addExtension(fM))}function $0e(n){return OR.apply(this,arguments)}function OR(){return(OR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(Bm);i&&(e.json.lights=i.lights,e.removeExtension(Bm));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,Bm);s&&(r.light=s.light),e.removeObjectExtension(r,Bm)}})).apply(this,arguments)}function G0e(n){return IR.apply(this,arguments)}function IR(){return(IR=yn(function*(n){const e=new vh(n),{json:t}=e;if(t.lights){const i=e.addExtension(Bm);Pa(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,Bm,i);delete e.json.lights}})).apply(this,arguments)}function W0e(n){return PR.apply(this,arguments)}function PR(){return(PR=yn(function*(n){const e=new vh(n),{json:t}=e,i=e.getExtension(pM);if(i){const r=Y0e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,pM);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=X0e(s.technique,e)),e.removeObjectExtension(s,pM)}e.removeExtension(pM)}})).apply(this,arguments)}function q0e(n,e){return RR.apply(this,arguments)}function RR(){return(RR=yn(function*(n,e){})).apply(this,arguments)}function Y0e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function X0e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const E8={KHR_draco_mesh_compression:wt,KHR_materials_unlit:L,KHR_lights_punctual:It,KHR_techniques_webgl:Pt};function K0e(n){return kR.apply(this,arguments)}function kR(){return(kR=yn(function*(n,e={},t){for(const r in E8){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield E8[r].decode(n,e,t))}})).apply(this,arguments)}const S8={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Q0e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class J0e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new vh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,C8);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(C8)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in S8)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in S8)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=Q0e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function eCe(n,e={}){return(new J0e).normalize(n,e)}const tCe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nCe={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},bl={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},iCe={magFilter:bl.TEXTURE_MAG_FILTER,minFilter:bl.TEXTURE_MIN_FILTER,wrapS:bl.TEXTURE_WRAP_S,wrapT:bl.TEXTURE_WRAP_T},rCe={[bl.TEXTURE_MAG_FILTER]:bl.LINEAR,[bl.TEXTURE_MIN_FILTER]:bl.NEAREST_MIPMAP_LINEAR,[bl.TEXTURE_WRAP_S]:bl.REPEAT,[bl.TEXTURE_WRAP_]:bl.REPEAT};class aCe{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Pa(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=K({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=K({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=K({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=K({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=K({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=K({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=K({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return nCe[n]}(e.componentType),e.components=function(n){return tCe[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=b8(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):rCe,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return iCe[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function lCe(n,e){return(new aCe).postProcess(n,e)}const M8=1735152710,Vm=!0;function NR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),Rb(i,4)}function LR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),Rb(i,4)}function bCe(n,e){return BR.apply(this,arguments)}function BR(){return(BR=yn(function*(n,e,t=0,i,r){var s,o,a,l;CCe(n,e,t,i),eCe(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield wCe(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const f=ECe(n,i,r);c.push(f)}const d=K0e(n,i,r);return c.push(d),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?lCe(n,i):n})).apply(this,arguments)}function CCe(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=M8}=t,s=i.getUint32(e,!1);return s===r||s===M8}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?t8(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?t8(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,Vm),a=r.getUint32(t+8,Vm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){sp(n.header.byteLength>20);const i=e.getUint32(t+0,Vm),r=e.getUint32(t+4,Vm);return t+=8,sp(0===r),NR(n,e,t,i),(t+=i)+LR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return sp(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,Vm),s=e.getUint32(t+4,Vm);switch(t+=8,s){case 1313821514:NR(n,e,t,r);break;case 5130562:LR(n,e,t,r);break;case 0:i.strict||NR(n,e,t,r);break;case 1:i.strict||LR(n,e,t,r)}t+=Rb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Pa("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Pa(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function wCe(n,e,t){return VR.apply(this,arguments)}function VR(){return(VR=yn(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield TCe(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function TCe(n){return $R.apply(this,arguments)}function $R(){return($R=yn(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const x8=[255,255,255,255],OCe={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:x8},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[zm]};let ICe=(()=>{class n extends Eb{getShaders(){const t=[oM,aM];return"pbr"===this.props._lighting&&t.push(G6),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:x8,transition:!0},instanceModelMatrix:U6})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof Fm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Lbe(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=K({gltf:l},c),function(n){return HR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(jn.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof Fm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&jn.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):jn.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof Fm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:K({isInstanced:!0,transpileToGLSL100:!In(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:d}=this.props,f=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(f),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:H6(s,d),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=OCe,n})();class PCe extends _h{constructor(e={}){const{id:t=ea("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,d=(e+1)*(t+1);if("number"==typeof i){const C=i;i=(w,x,N,V,U)=>C}const f=new Float32Array(3*d),p=new Float32Array(3*d),g=new Float32Array(2*d),y=new(d>65535?Uint32Array:Uint16Array)(e*t*6);for(let C=0;C<=e;C++)for(let w=0;w<=t;w++){const x=w/t,N=C/e,V=w+C*(t+1),U=2*V,ee=3*V,de=c*x,ae=o*N,me=Math.sin(de),Ee=Math.cos(de),Be=Math.sin(ae),ne=Ee*Be,Ie=Math.cos(ae),Q=me*Be,je=i(ne,Ie,Q,x,N);f[ee+0]=je*ne,f[ee+1]=je*Ie,f[ee+2]=je*Q,p[ee+0]=ne,p[ee+1]=Ie,p[ee+2]=Q,g[U+0]=x,g[U+1]=1-N}const v=t+1;for(let C=0;Cs?(te=i,Be=1,ne=t):ne=e+Ee/s*(t-e),(-2===Ee||Ee===s+2)&&(ne=0,Be=0),te-=i/2;for(let Ie=0;Ies?0:Q*y,ee[ae+V[1]]=Ee<0?-1:Ee>s?1:v,ee[ae+V[2]]=Ee<0||Ee>s?0:je*y,de[me+0]=Ie/r,de[me+1]=Be,me+=2,ae+=3}}for(let Ee=0;Ee0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new S){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new S){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new S){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new S){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new S){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=GCe,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=WCe;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(A8),A8.almostEquals(e,t)}clone(){return new S(this.x,this.y,this.z)}}S.ZERO=void 0,S.UNIT_X=void 0,S.UNIT_Y=void 0,S.UNIT_Z=void 0,S.ZERO=new S(0,0,0),S.UNIT_X=new S(1,0,0),S.UNIT_Y=new S(0,1,0),S.UNIT_Z=new S(0,0,1);const GCe=new S,WCe=new S,A8=new S;class Di{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new S,this.upperBound=new S,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,d=this.upperBound;e.copy(c),t.set(d.x,c.y,c.z),i.set(d.x,d.y,c.z),r.set(c.x,d.y,d.z),s.set(d.x,c.y,d.z),o.set(c.x,d.y,c.z),a.set(c.x,c.y,d.z),l.copy(d)}toLocalFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=O8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,d=(this.upperBound.y-i.y)*s,f=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,d)),Math.min(f,p)),_=Math.min(Math.min(Math.max(a,l),Math.max(c,d)),Math.max(f,p));return!(_<0||g>_)}}const D8=new S,O8=[new S,new S,new S,new S,new S,new S,new S,new S];class kr{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new S){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=YCe;e.tangents(i,XCe),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Ui(e.length(),2)*Ui(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new kr){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,d=e.w;return t.x=i*d+o*a+r*c-s*l,t.y=r*d+o*l+s*a-i*c,t.z=s*d+o*c+i*l-r*a,t.w=o*d-i*a-r*l-s*c,t}inverse(e=new kr){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new kr){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new S){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,d=c*i+a*s-l*r,f=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=d*c+g*-o+f*-l-p*-a,t.y=f*c+g*-a+p*-o-d*-l,t.z=p*c+g*-l+d*-a-f*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const d=o*a+l*c;if(d>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),d<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const f=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*d),s=Math.atan2(2*o*c-2*a*l,1-2*f-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),d=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"YXZ"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"ZXY"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a-l*c*d):"ZYX"===r?(this.x=l*o*a-s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a+l*c*d):"YZX"===r?(this.x=l*o*a+s*c*d,this.y=s*c*a+l*o*d,this.z=s*o*d-l*c*a,this.w=s*o*a-l*c*d):"XZY"===r&&(this.x=l*o*a-s*c*d,this.y=s*c*a-l*o*d,this.z=s*o*d+l*c*a,this.w=s*o*a+l*c*d),this}clone(){return new kr(this.x,this.y,this.z,this.w)}slerp(e,t,i=new kr){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,_,y,v,l=e.x,c=e.y,d=e.z,f=e.w;return g=r*l+s*c+o*d+a*f,g<0&&(g=-g,l=-l,c=-c,d=-d,f=-f),1-g>1e-6?(p=Math.acos(g),_=Math.sin(p),y=Math.sin((1-t)*p)/_,v=Math.sin(t*p)/_):(y=1-t,v=t),i.x=y*r+v*l,i.y=y*s+v*c,i.z=y*o+v*d,i.w=y*a+v*f,i}integrate(e,t,i,r=new kr){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,d=this.z,f=this.w,p=.5*t;return r.x+=p*(s*f+o*d-a*c),r.y+=p*(o*f+a*l-s*d),r.z+=p*(a*f+s*c-o*l),r.w+=p*(-s*l-o*c-a*d),r}}const YCe=new S,XCe=new S,KCe={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let bt=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=KCe,n})();class ni{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new S,this.quaternion=new kr,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return ni.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return ni.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new S){return i.vsub(e,r),t.conjugate(P8),P8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new S){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new S){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new S){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const P8=new kr;class lp extends bt{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:bt.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new S;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let d=!1;for(let f=0;f!==i.length;f++)if(i[f].almostEquals(r)||i[f].almostEquals(r)){d=!0;break}d||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=y,f=_)}const g=[];for(let _=0;_=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new S,d=new S,f=new S,p=new S,g=new S,_=new S;let y=Number.MAX_VALUE;const v=this;if(v.uniqueAxes)for(let C=0;C!==v.uniqueAxes.length;C++){i.vmult(v.uniqueAxes[C],c);const w=v.testSepAxis(c,e,t,i,r,s);if(!1===w)return!1;w0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){lp.project(this,e,i,r,GR),lp.project(t,e,s,o,WR);const l=GR[0],c=GR[1],d=WR[0],f=WR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?Ct.STATIC:Ct.DYNAMIC,typeof e.type==typeof Ct.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=Ct.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new S,this.quaternion=new kr,this.initQuaternion=new kr,this.previousQuaternion=new kr,this.interpolatedQuaternion=new kr,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new S,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new S,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new S,this.invInertia=new S,this.invInertiaWorld=new ru,this.invMassSolve=0,this.invInertiaSolve=new S,this.invInertiaWorldSolve=new ru,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new S(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new S(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new Di,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new S,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=Ct.AWAKE,this.wakeUpAfterNarrowphase=!1,e===Ct.SLEEPING&&this.dispatchEvent(Ct.wakeupEvent)}sleep(){this.sleepState=Ct.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Ui(this.sleepSpeedLimit,2);t===Ct.AWAKE&&ir?this.wakeUp():t===Ct.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(Ct.sleepEvent))}}updateSolveMassProperties(){this.sleepState===Ct.SLEEPING||this.type===Ct.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new S){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new S){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new S){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new S,s=new kr;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=JCe,o=ewe,a=this.quaternion,l=this.aabb,c=twe;for(let d=0;d!==r;d++){const f=e[d];a.vmult(t[d],s),s.vadd(this.position,s),a.mult(i[d],o),f.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===d?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=nwe,r=iwe;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=rwe;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=swe,r=owe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===Ct.DYNAMIC&&(this.sleepState===Ct.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;this.sleepState===Ct.SLEEPING&&this.wakeUp();const i=t,r=awe;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=lwe;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new S){if(this.type!==Ct.DYNAMIC)return;const i=cwe,r=uwe;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=dwe;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),mM.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new S;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==Ct.DYNAMIC&&this.type!==Ct.KINEMATIC||this.sleepState===Ct.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,f=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const _=f.elements,y=this.angularFactor,v=l.x*y.x,C=l.y*y.y,w=l.z*y.z;s.x+=e*(_[0]*v+_[1]*C+_[2]*w),s.y+=e*(_[3]*v+_[4]*C+_[5]*w),s.z+=e*(_[6]*v+_[7]*C+_[8]*w),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}Ct.idCounter=0,Ct.COLLIDE_EVENT_NAME="collide",Ct.DYNAMIC=1,Ct.STATIC=2,Ct.KINEMATIC=4,Ct.AWAKE=0,Ct.SLEEPY=1,Ct.SLEEPING=2,Ct.wakeupEvent={type:"wakeup"},Ct.sleepyEvent={type:"sleepy"},Ct.sleepEvent={type:"sleep"};const JCe=new S,ewe=new kr,twe=new Di,nwe=new ru,iwe=new ru,rwe=new S,swe=new S,owe=new S,awe=new S,lwe=new S,cwe=new S,uwe=new S,dwe=new S;new S,new S;class _M{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new S,this.rayToWorld=new S,this.hitNormalWorld=new S,this.hitPointWorld=new S,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let R8,k8,F8,N8,L8,B8,V8;R8=bt.types.SPHERE,k8=bt.types.PLANE,F8=bt.types.BOX,N8=bt.types.CYLINDER,L8=bt.types.CONVEXPOLYHEDRON,B8=bt.types.HEIGHTFIELD,V8=bt.types.TRIMESH;class Hr{get[R8](){return this._intersectSphere}get[k8](){return this._intersectPlane}get[F8](){return this._intersectBox}get[N8](){return this._intersectConvex}get[L8](){return this._intersectConvex}get[B8](){return this._intersectHeightfield}get[V8](){return this._intersectTrimesh}constructor(e=new S,t=new S){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new S,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=Hr.ANY,this.result=new _M,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||Hr.ANY,this.result=t.result||new _M,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(z8),KR.length=0,e.broadphase.aabbQuery(e,z8,KR),this.intersectBodies(KR),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=ywe,s=vwe;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new S(0,0,1);t.vmult(c,c);const d=new S;o.vsub(i,d);const f=d.dot(c);if(a.vsub(i,d),f*d.dot(c)>0||o.distanceTo(a)=0&&y<=1&&(o.lerp(a,y,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,g),g.vsub(i,_),_.normalize(),this.reportIntersection(_,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Swe,l=U8,c=o&&o.faceList||null,d=e.faces,f=e.vertices,p=e.faceNormals,g=this.direction,_=this.from,v=_.distanceTo(this.to),C=c?c.length:d.length,w=this.result;for(let x=0;!w.shouldStop&&xv||this.reportIntersection(a,ra,s,r,N)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Mwe,l=Iwe,c=Pwe,d=U8,f=xwe,p=Twe,g=Awe,_=Owe,y=Dwe,v=e.indices,C=this.from,w=this.to,x=this.direction;c.position.copy(i),c.quaternion.copy(t),ni.vectorToLocalFrame(i,t,x,f),ni.pointToLocalFrame(i,t,C,p),ni.pointToLocalFrame(i,t,w,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,f),f.normalize();const N=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let V=0,U=l.length;!this.result.shouldStop&&V!==U;V++){const ee=l[V];e.getNormal(ee,a),e.getVertex(v[3*ee],cc),cc.vsub(p,d);const de=f.dot(a),ae=a.dot(d)/de;if(ae<0)continue;f.scale(ae,ra),ra.vadd(p,ra),e.getVertex(v[3*ee+1],ou),e.getVertex(v[3*ee+2],au);const me=ra.distanceSquared(p);!Hr.pointInTriangle(ra,ou,cc,au)&&!Hr.pointInTriangle(ra,cc,ou,au)||me>N||(ni.vectorToWorldFrame(t,a,y),ni.pointToWorldFrame(i,t,ra,_),this.reportIntersection(y,_,s,r,ee))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case Hr.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case Hr.CLOSEST:(l=0&&(f=s*c-o*a)>=0&&d+fDate.now()-n}var lu=ze(517);function $m(n,e,t){e||(e=new $t($t.IDENTITY));const i=new $t($t.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new $t($t.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new $t(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===$m(s,r,t))return!1;return!0}function R$(){vH([r8,zm])}function k$(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||$m(s,new $t($t.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function ek(n,e){return yl(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield YS(i,zm,{DracoLoader:MR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),k$(n.scenegraphNode,r)})}function RMe(n,e){return yl(this,void 0,void 0,function*(){return k$(n,yield e)})}function tk(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new PCe;break;case"cone":i=new NCe;break;case"cylinder":i=new LCe;break;case"cube":default:i=new HCe}return new nbe(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:qn.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function F$(n,e,t){if(e&&0!==e.length)return new Wve(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new $t(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let FMe=(()=>{class n extends MH{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),R$()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=ek({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const d of c)a.push(new ICe({id:"models-"+d["@id"],opacity:d.zoomBasedOpacity?r.zoomOpacity:void 0!==d.opacity?d.opacity:1,pickable:!d.unpickable,coordinateSystem:qn.CARTESIAN,data:[d],scenegraph:d.scenegraphNode?RMe(d.scenegraphNode,o[d.scenegraph]):d.scenegraph,_lighting:d._lighting,getTransformMatrix:d.transformMatrix,getColor:null!==(i=d.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!d.zoomBasedOpacity&&(void 0===d.opacity||1===d.opacity)}}));else"text"===l?(a.push(F$("text",c.filter(d=>d.unpickable),{pickable:!1})),a.push(F$("textPickable",c.filter(d=>!d.unpickable),{pickable:!0}))):"wireframe"===l?a.push(tk(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(tk(l,c.filter(d=>d.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(tk(`${l}Pickable`,c.filter(d=>!d.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){yl(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new $t(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new Di({lowerBound:new S(...l.map((d,f)=>Math.min(d,c[f]))),upperBound:new S(...c.map((d,f)=>Math.max(d,l[f])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield wb(o.scenegraph,zm,{DracoLoader:MR,decompress:!0,postProcess:!0});for(const l of a.scenes)$m(l,new $t(o.transformMatrix),(c,d)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const f of c.mesh.primitives)if(f.attributes.POSITION&&f.attributes.POSITION.min){const p=d.transformAsPoint(f.attributes.POSITION.min,[]),g=d.transformAsPoint(f.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new Di({lowerBound:new S(...p.map((_,y)=>Math.min(_,g[y]))),upperBound:new S(...g.map((_,y)=>Math.max(_,p[y])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function N$(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),N$(t,e);return e}let LMe=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new FMe({}),this.nodeClickSubject=new Se,this.nodeHoverStartSubject=new Se,this.nodeHoverStopSubject=new Se,this.sceneRotationSubject=new ar([0,0]),this.nodeDragStartSubject=new Se,this.nodeDragSubject=new Se,this.nodeDragEndSubject=new Se,this.nodeClick$=this.nodeClickSubject.pipe(Vs()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Vs()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Vs()),this.sceneRotation$=this.sceneRotationSubject.pipe(Vs()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Vs()),this.nodeDrag$=this.nodeDragSubject.pipe(Vs()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Vs());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Ame({flipY:!1,near:-1e3}):new Ime({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var d;return null!==(d=this.cursor)&&void 0!==d?d:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GP({ambientLight:new OH({color:[255,255,255],intensity:10})})]),this.deck=new sM(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return yl(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new $t([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t){return yl(this,void 0,void 0,function*(){R$();const i=yield ek({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"}),r={},s=[];for(const o of i.scenes)$m(o,e=new $t(e||$t.IDENTITY),(a,l)=>{const c={"@id":a.name||a.id,"@type":"ProcessedNode",transformMatrix:new $t(l),geometry:"wireframe",node:a};if(s.push({"@id":`GLTF:${c["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:c["@id"],transformMatrix:new $t(e||$t.IDENTITY),tooltip:a.name||a.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:a}),a.mesh&&a.mesh.primitives&&a.mesh.primitives.length>0)for(const d of a.mesh.primitives)if(d.attributes.POSITION&&d.attributes.POSITION.min){const f=l.transformAsPoint(d.attributes.POSITION.min,[]),p=l.transformAsPoint(d.attributes.POSITION.max,[]);c.bbox=new Di({lowerBound:new S(...f.map((g,_)=>Math.min(g,p[_]))),upperBound:new S(...p.map((g,_)=>Math.max(g,f[_])))})}return r[c["@id"]]=c,!0});for(const o of Object.values(r).filter(a=>!a.bbox)){for(const a of N$(o.node).map(l=>r[l]).filter(l=>l.bbox))o.bbox?o.bbox.extend(a.bbox):o.bbox=a.bbox.clone();o.bbox||delete r[o["@id"]]}for(const o of Object.values(r)){const a=o.bbox.lowerBound,d=(o.size=o.bbox.upperBound.clone().vsub(a)).clone().vmul(new S(.5,.5,.5)),f=o.center=a.clone().vadd(d);o.transformMatrix=new $t($t.IDENTITY).translate(f.toArray()).scale(d.toArray())}for(const o of s)r[o["@id"]]=o;return r})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new $t(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return xe([lu.ZP],n.prototype,"_onHover",null),xe([lu.ZP],n.prototype,"_onClick",null),xe([lu.ZP],n.prototype,"_onViewStateChange",null),xe([lu.ZP],n.prototype,"_onDragStart",null),xe([lu.ZP],n.prototype,"_onDrag",null),xe([lu.ZP],n.prototype,"_onDragEnd",null),n})();function BMe(n,e){return n===e}function VMe(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let nk=(()=>{class n{constructor(){this.bootstrap$=new If(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const ik=new ve("INITIAL_STATE_TOKEN");let UMe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const L$=new ve("Internals.StateContextFactory"),B$=new ve("Internals.StateFactory");function V$(n,e){return e?t=>t.pipe(V$((i,r)=>ui(n(i,r)).pipe(Ae((s,o)=>e(i,s,r,o))))):t=>t.lift(new HMe(n))}class HMe{constructor(e){this.project=e}call(e,t){return t.subscribe(new $Me(e,this.project))}}class $Me extends ii{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new Gr(this),i=this.destination;i.add(t);const r=co(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function TM(n=null){return e=>e.lift(new GMe(n))}class GMe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new WMe(e,this.defaultValue))}}class WMe extends xt{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const Ra={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let z$=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return kD(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return dt.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return dt.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof dt||console.warn(Ra.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(I(dt),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const j$=new ve("ROOT_STATE_TOKEN"),U$=new ve("FEATURE_STATE_TOKEN"),rk=new ve("NGXS_PLUGINS"),H$=new ve("NG_TEST_MODE"),G$=new ve("NG_DEV_MODE"),ld="NGXS_META",W$="NGXS_OPTIONS_META",sk="NGXS_SELECTOR_META";let fp=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=z$}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class qMe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const q$=new ve("NGXS_EXECUTION_STRATEGY");function pp(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const ok=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Gm=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),ak=n=>n&&"object"==typeof n&&!Array.isArray(n),lk=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(ak(n)&&ak(t))for(const i in t)ak(t[i])?(n[i]||Object.assign(n,{[i]:{}}),lk(n[i],t[i])):Object.assign(n,{[i]:t[i]});return lk(n,...e)};function ck(n){if(!n.hasOwnProperty(ld)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,ld,{value:e})}return jb(n)}function jb(n){return n[ld]}function uk(n){return n.hasOwnProperty(sk)||Object.defineProperty(n,sk,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),dk(n)}function dk(n){return n[sk]}function Y$(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[pp(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Fn(t=>{const i=pp(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function sxe(){return Ae(n=>n.action)}function AM(n){return e=>new ce(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let DM=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(I(q$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class lxe extends Se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let OM=(()=>{class n extends lxe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cxe=(()=>{class n extends ce{constructor(t,i){super(r=>{const s=t.pipe(AM(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(I(OM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const K$=n=>(...e)=>n.shift()(...e,(...i)=>K$(n)(...i));let IM=(()=>{class n extends ar{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),hk=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(I(n,12),I(rk,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),fk=(()=>{class n extends Se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Z$=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get($o),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(AM(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?ht(this._stateStream.getValue()):Hv(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!pp(t))return Kg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return K$([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(qc())}getActionResultStream(t){return this._actionResults.pipe(Fn(i=>i.action===t&&"DISPATCHED"!==i.status),yi(1),qc())}createDispatchObservable(t){return t.pipe(V$(i=>{switch(i.status){case"SUCCESSFUL":return ht(this._stateStream.getValue());case"ERRORED":return Kg(i.error);default:return ec}})).pipe(qc())}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(OM),I(fk),I(hk),I(IM),I(DM))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const Q$=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&Q$(n[i])}),n};let J$=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(I(G$),I(H$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),eG=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Ra.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Ra.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(I(J$),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),qm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=Q$(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(Z$),I(fp),I(eG))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),PM=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Gm(l,t.path)}function s(l,c){const d=ok(l,t.path,c),f=t.instance;if(f.ngxsOnChanges){const p=X$(t,{currentAppState:l,newAppState:d});f.ngxsOnChanges(p)}return i.setState(d),d}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Ra.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Ra.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(I(qm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class RM{static stateNameErrorMessage(e){return Ra.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Ra.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Ra.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=jb(e);if(!t)throw new Error(Ra.STATE_DECORATOR());return t}}RM.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Ym=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xM(()=>{const c=this;function d(p){const g=c.statePaths[p];return g?Y$(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=d(p);return g||((..._)=>(g||(g=d(p)),g?g(..._):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(RM.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[ld].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[ld];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[ld].name]=t,e),{})}(i),l=[];for(const c of s){const d=a[c],f=o[c],p=d[ld];this.addRuntimeInfoToMeta(p,f);const g={name:c,path:f,isInitialised:!1,actions:p.actions,instance:this._injector.get(d),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,f)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>ok(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Fn(t=>"DISPATCHED"===t.status),di(({action:t})=>this.invokeActions(this._actions,t).pipe(Ae(()=>({action:t,status:"SUCCESSFUL"})),TM({action:t,status:"CANCELED"}),Ta(i=>ht({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=pp(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let d=o.instance[l.fn](c,i);d instanceof Promise&&(d=ui(d)),d instanceof ce?(d=d.pipe(TM({})),l.options.cancelUncompleted&&(d=d.pipe(Tn(t.pipe(nxe(i)))))):d=ht({}).pipe(qc()),s.push(d)}catch(d){s.push(Kg(d))}}}return s.length||s.push(ht({})),Hv(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=RM.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Gm(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(I(Nt),I(fp),I(n,12),I(OM),I(fk),I(PM),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),pk=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Fn(()=>!!i),Ti(()=>this.invokeInit(i.states)),di(()=>this.bootstrapper.appBootstrapped$),Fn(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=X$(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(I(qm),I(PM),I(nk))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const kM_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function nG(n){const e=dk(n)||jb(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(Ae(i),Ta(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?ht(void 0):Kg(r)}),Zo(),AM(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(yi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(AM(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return nG(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(I(IM),I(qm),I(fp),I(DM),I(Ym),I(ik,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),Ub=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(fp))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class iG{static get type(){return"@@INIT"}}class rG{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const FM=new If(1);let _xe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Mo();FM.next(t)}catch(n){FM.next(!1)}finally{FM.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new iG,l)}}return n.\u0275fac=function(t){return new(t||n)(I(Ym),I(qm),I(cu),I(Ub),I(j$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),yxe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new rG(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(I(cu),I(qm),I(Ym),I(U$,8),I(pk))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();class Io{static forRoot(e=[],t={}){return{ngModule:_xe,providers:[Ym,PM,cxe,OM,nk,eG,J$,pk,Z$,fk,qm,DM,cu,IM,Ub,hk,...e,...Io.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:yxe,providers:[Ym,hk,...e,{provide:U$,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:H$,useValue:jMe},{provide:G$,useValue:Mo},{provide:q$,useClass:t.executionStrategy||z$},{provide:j$,useValue:e},{provide:Io.ROOT_OPTIONS,useValue:t},{provide:fp,useFactory:Io.ngxsConfigFactory,deps:[Io.ROOT_OPTIONS]},{provide:bv,useFactory:Io.appBootstrapListenerFactory,multi:!0,deps:[nk]},{provide:ik,useFactory:Io.getInitialState},{provide:L$,useExisting:PM},{provide:B$,useExisting:Ym}]}static ngxsConfigFactory(e){return lk(new fp,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return UMe.pop()}}function gk(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Ra.ACTION_DECORATOR());const s=ck(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function cd(n){return i=>{!function(n){FM.subscribe(e=>{e&&(n.\u0275prov||console.warn(Ra.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=ck(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[W$]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,d="string"==typeof c?c:c&&c.getName()||null;RM.checkCorrectStateName(d),s.hasOwnProperty(ld)&&(r.actions=Object.assign({},r.actions,(s[ld]||{}).actions)),r.children=a,r.defaults=l,r.name=d})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[W$]=a}}function NM(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?Y$(t.length?[e,...t]:e.split("."),Ub.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!Ub.store)throw new Error(Ra.SELECT_FACTORY_NOT_CONNECTED());return Ub.store.select(n)}(o))}}})}}function Xm(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Ra.SELECTOR_DECORATOR());const s=i.value,o=function(n,e,t){const i=t&&t.containerClass,s=xM(function(...c){const d=e.apply(i,c);return d instanceof Function?xM.apply(null,[d]):d});Object.setPrototypeOf(s,e);const o=function(n,e){const t=uk(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},kM_getOptions(n.containerClass)||{},kM_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:d}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&jb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>nG(a)(n))}}(l,o,n);return function(p){const g=c.map(_=>_(p));try{return s(...g)}catch(_){if(_ instanceof TypeError&&d.suppressErrors)return;throw _}}},s}(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Io.\u0275fac=function(e){return new(e||Io)},Io.\u0275mod=Pe({type:Io}),Io.\u0275inj=Me({}),Io.ROOT_OPTIONS=new ve("ROOT_OPTIONS");let sG=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt))},n.\u0275dir=oe({type:n}),n})(),gp=(()=>{class n extends sG{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();const ro=new ve("NgValueAccessor"),xxe={provide:ro,useExisting:T(()=>Hb),multi:!0},Axe=new ve("CompositionEventMode");let Hb=(()=>{class n extends sG{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=Uc()?Uc().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(E(zc),E(rt),E(Axe,8))},n.\u0275dir=oe({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Dt([xxe]),ct]}),n})();function Ch(n){return null==n||0===n.length}function aG(n){return null!=n&&"number"==typeof n.length}const Ss=new ve("NgValidators"),wh=new ve("NgAsyncValidators"),Dxe=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class lG{static min(e){return function(n){return e=>{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t{if(Ch(e.value)||Ch(n))return null;const t=parseFloat(e.value);return!isNaN(t)&&t>n?{max:{max:n,actual:e.value}}:null}}(e)}static required(e){return function(n){return Ch(n.value)?{required:!0}:null}(e)}static requiredTrue(e){return function(n){return!0===n.value?null:{required:!0}}(e)}static email(e){return function(n){return Ch(n.value)||Dxe.test(n.value)?null:{email:!0}}(e)}static minLength(e){return function(n){return e=>Ch(e.value)||!aG(e.value)?null:e.value.lengthaG(e.value)&&e.value.length>n?{maxlength:{requiredLength:n,actualLength:e.value.length}}:null}(e)}static pattern(e){return function(n){if(!n)return Eh;let e,t;return"string"==typeof n?(t="","^"!==n.charAt(0)&&(t+="^"),t+=n,"$"!==n.charAt(n.length-1)&&(t+="$"),e=new RegExp(t)):(t=n.toString(),e=n),i=>{if(Ch(i.value))return null;const r=i.value;return e.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}(e)}static nullValidator(e){return null}static compose(e){return wG(e)}static composeAsync(e){return EG(e)}}function Eh(n){return null}function _G(n){return null!=n}function yG(n){const e=Og(n)?ui(n):n;return xw(e),e}function vG(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function bG(n,e){return e.map(t=>t(n))}function CG(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function wG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return vG(bG(t,e))}}function mk(n){return null!=n?wG(CG(n)):null}function EG(n){if(!n)return null;const e=n.filter(_G);return 0==e.length?null:function(t){return Hv(bG(t,e).map(yG)).pipe(Ae(vG))}}function _k(n){return null!=n?EG(CG(n)):null}function SG(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function MG(n){return n._rawValidators}function xG(n){return n._rawAsyncValidators}function yk(n){return n?Array.isArray(n)?n:[n]:[]}function LM(n,e){return Array.isArray(n)?n.includes(e):n===e}function TG(n,e){const t=yk(e);return yk(n).forEach(r=>{LM(t,r)||t.push(r)}),t}function AG(n,e){return yk(e).filter(t=>!LM(n,t))}let DG=(()=>{class n{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=mk(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_k(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n}),n})(),Po=(()=>{class n extends DG{get formDirective(){return null}get path(){return null}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,features:[ct]}),n})();class uc extends DG{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let vk=(()=>{class n extends class{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(E(uc,2))},n.\u0275dir=oe({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&st("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[ct]}),n})();function $b(n,e){wk(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&PG(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&PG(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function zM(n,e,t=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),UM(n,e),n&&(e._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function jM(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function wk(n,e){const t=MG(n);null!==e.validator?n.setValidators(SG(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=xG(n);null!==e.asyncValidator?n.setAsyncValidators(SG(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();jM(e._rawValidators,r),jM(e._rawAsyncValidators,r)}function UM(n,e){let t=!1;if(null!==n){if(null!==e.validator){const r=MG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.validator);s.length!==r.length&&(t=!0,n.setValidators(s))}}if(null!==e.asyncValidator){const r=xG(n);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==e.asyncValidator);s.length!==r.length&&(t=!0,n.setAsyncValidators(s))}}}const i=()=>{};return jM(e._rawValidators,i),jM(e._rawAsyncValidators,i),t}function PG(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function RG(n,e){wk(n,e)}function Ek(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}function kG(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Sk(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===Hb?t=s:function(n){return Object.getPrototypeOf(n.constructor)===gp}(s)?i=s:r=s}),r||i||t||null}function HM(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Gb="VALID",$M="INVALID",Km="PENDING",Wb="DISABLED";function Mk(n){return(Tk(n)?n.validators:n)||null}function FG(n){return Array.isArray(n)?mk(n):n||null}function xk(n,e){return(Tk(e)?e.asyncValidators:n)||null}function NG(n){return Array.isArray(n)?_k(n):n||null}function Tk(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Ak{constructor(e,t){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=FG(this._rawValidators),this._composedAsyncValidatorFn=NG(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Gb}get invalid(){return this.status===$M}get pending(){return this.status==Km}get disabled(){return this.status===Wb}get enabled(){return this.status!==Wb}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=FG(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=NG(e)}addValidators(e){this.setValidators(TG(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(TG(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(AG(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(AG(e,this._rawAsyncValidators))}hasValidator(e){return LM(this._rawValidators,e)}hasAsyncValidator(e){return LM(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=Km,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Wb,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Gb,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Gb||this.status===Km)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Wb:Gb}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=Km,this._hasOwnPendingAsyncValidator=!0;const t=yG(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Dk?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof Uxe&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Le,this.statusChanges=new Le}_calculateStatus(){return this._allControlsDisabled()?Wb:this.errors?$M:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Km)?Km:this._anyControlsHaveStatus($M)?$M:Gb}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Tk(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class Sh extends Ak{constructor(e=null,t,i){super(Mk(t),xk(i,t)),this._onChange=[],this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){HM(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){HM(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Dk extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof Sh?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class Uxe extends Ak{constructor(e,t,i){super(Mk(t),xk(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof Sh?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const Hxe={provide:Po,useExisting:T(()=>mp)},qb=(()=>Promise.resolve(null))();let mp=(()=>{class n extends Po{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Le,this.form=new Dk({},mk(t),_k(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){qb.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),$b(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),HM(this._directives,t)})}addFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path),r=new Dk({});RG(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){qb.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){qb.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,kG(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Hxe]),ct]}),n})();const Gxe={provide:uc,useExisting:T(()=>Ok)},VG=(()=>Promise.resolve(null))();let Ok=(()=>{class n extends uc{constructor(t,i,r,s){super(),this.control=new Sh,this._registered=!1,this.update=new Le,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Sk(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),Ek(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$b(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){VG.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;VG.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(E(Po,9),E(Ss,10),E(wh,10),E(ro,10))},n.\u0275dir=oe({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Dt([Gxe]),ct,zn]}),n})(),UG=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Ik=new ve("NgModelWithFormControlWarning"),Kxe={provide:uc,useExisting:T(()=>GM)};let GM=(()=>{class n extends uc{constructor(t,i,r,s){super(),this._ngModelWarningConfig=s,this.update=new Le,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(i),this.valueAccessor=Sk(0,r)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const i=t.form.previousValue;i&&zM(i,this,!1),$b(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}Ek(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&zM(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10),E(ro,10),E(Ik,8))},n.\u0275dir=oe({type:n,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Dt([Kxe]),ct,zn]}),n._ngModelWarningSentOnce=!1,n})();const Zxe={provide:Po,useExisting:T(()=>Zm)};let Zm=(()=>{class n extends Po{constructor(t,i){super(),this.validators=t,this.asyncValidators=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Le,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(UM(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const i=this.form.get(t.path);return $b(i,t),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){zM(t.control||null,t,!1),HM(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this.submitted=!0,kG(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const i=t.control,r=this.form.get(t.path);i!==r&&(zM(i||null,t),r instanceof Sh&&($b(r,t),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const i=this.form.get(t.path);RG(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const i=this.form.get(t.path);i&&function(n,e){return UM(n,e)}(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wk(this.form,this),this._oldForm&&UM(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(t){return new(t||n)(E(Ss,10),E(wh,10))},n.\u0275dir=oe({type:n,selectors:[["","formGroup",""]],hostBindings:function(t,i){1&t&&ge("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Dt([Zxe]),ct,zn]}),n})(),iW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[UG]]}),n})(),Lk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})(),Bk=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Ik,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[iW]}),n})();function Yb(n){return new ce(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?ui(t):bE()).subscribe(e)})}function Vk(n,e=Pf){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new m1e(i,e))}class m1e{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new zk(e,this.delay,this.scheduler))}}class zk extends xt{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(zk.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new _1e(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(Ko.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(Ko.createComplete()),this.unsubscribe()}}class _1e{constructor(e,t){this.time=e,this.notification=t}}const aW=tm({passive:!0});let lW=(()=>{class n{constructor(t,i){this._platform=t,this._ngZone=i,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return ec;const i=Wu(t),r=this._monitoredElements.get(i);if(r)return r.subject;const s=new Se,o="cdk-text-field-autofilled",a=l=>{"cdk-text-field-autofill-start"!==l.animationName||i.classList.contains(o)?"cdk-text-field-autofill-end"===l.animationName&&i.classList.contains(o)&&(i.classList.remove(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!1}))):(i.classList.add(o),this._ngZone.run(()=>s.next({target:l.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,aW),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",a,aW)}}),s}stopMonitoring(t){const i=Wu(t),r=this._monitoredElements.get(i);r&&(r.unlisten(),r.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((t,i)=>this.stopMonitoring(i))}}return n.\u0275fac=function(t){return new(t||n)(I(si),I(dt))},n.\u0275prov=ue({factory:function(){return new n(I(si),I(dt))},token:n,providedIn:"root"}),n})(),cW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rv]]}),n})();const k1e=new ve("MAT_INPUT_VALUE_ACCESSOR"),F1e=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let N1e=0;const L1e=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let Xb=(()=>{class n extends L1e{constructor(t,i,r,s,o,a,l,c,d,f){super(a,s,o,r),this._elementRef=t,this._platform=i,this._autofillMonitor=c,this._formField=f,this._uid="mat-input-"+N1e++,this.focused=!1,this.stateChanges=new Se,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(_=>xV().has(_));const p=this._elementRef.nativeElement,g=p.nodeName.toLowerCase();this._inputValueAccessor=l||p,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&d.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",_=>{const y=_.target;!y.value&&0===y.selectionStart&&0===y.selectionEnd&&(y.setSelectionRange(1,1),y.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===g,this._isTextarea="textarea"===g,this._isInFormField=!!f,this._isNativeSelect&&(this.controlType=p.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=Mt(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&xV().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=Mt(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,i;const r=(null===(i=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===i?void 0:i.call(t))?null:this.placeholder;if(r!==this._previousPlaceholder){const s=this._elementRef.nativeElement;this._previousPlaceholder=r,r?s.setAttribute("placeholder",r):s.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){F1e.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,i=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(si),E(uc,10),E(mp,8),E(Zm,8),E(Vv),E(k1e,10),E(lW),E(dt),E(nS,8))},n.\u0275dir=oe({type:n,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&t&&(al("disabled",i.disabled)("required",i.required),nn("id",i.id)("data-placeholder",i.placeholder)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required),st("mat-input-server",i._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Dt([{provide:jv,useExisting:n}]),ct,zn]}),n})(),Kb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv],imports:[[cW,Uv,On],cW,Uv]}),n})();function ur(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>Ae(function(n,e){return i=>{let r=i;for(let s=0;si.lift(new U1e(n,e,t.leading,t.trailing))}class U1e{constructor(e,t,i,r){this.duration=e,this.scheduler=t,this.leading=i,this.trailing=r}call(e,t){return t.subscribe(new H1e(e,this.duration,this.scheduler,this.leading,this.trailing))}}class H1e extends xt{constructor(e,t,i,r,s){super(e),this.duration=t,this.scheduler=i,this.leading=r,this.trailing=s,this._hasTrailingValue=!1,this._trailingValue=null}_next(e){this.throttled?this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule($1e,this.duration,{subscriber:this})),this.leading?this.destination.next(e):this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0))}_complete(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()}clearThrottle(){const e=this.throttled;e&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),e.unsubscribe(),this.remove(e),this.throttled=null)}}function $1e(n){const{subscriber:e}=n;e.clearThrottle()}var hW=ze(266);const G1e={tooltipState:tc("state",[wr("initial, void, hidden",ti({opacity:0,transform:"scale(0)"})),wr("visible",ti({transform:"scale(1)"})),Qs("* => visible",Ao("200ms cubic-bezier(0, 0, 0.2, 1)",zie([ti({opacity:0,transform:"scale(0)",offset:0}),ti({opacity:.5,transform:"scale(0.99)",offset:.5}),ti({opacity:1,transform:"scale(1)",offset:1})]))),Qs("* => hidden",Ao("100ms cubic-bezier(0, 0, 0.2, 1)",ti({opacity:0})))])},fW="tooltip-panel",pW=tm({passive:!0}),gW=new ve("mat-tooltip-scroll-strategy"),X1e={provide:gW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition({scrollThrottle:20})}},K1e=new ve("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let Q1e=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d,f,p,g){this._overlay=t,this._elementRef=i,this._scrollDispatcher=r,this._viewContainerRef=s,this._ngZone=o,this._platform=a,this._ariaDescriber=l,this._focusMonitor=c,this._dir=f,this._defaultOptions=p,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new Se,this._handleKeydown=_=>{this._isTooltipVisible()&&27===_.keyCode&&!Zs(_)&&(_.preventDefault(),_.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=d,this._document=g,p&&(p.position&&(this.position=p.position),p.touchGestures&&(this.touchGestures=p.touchGestures)),f.change.pipe(Tn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),o.runOutsideAngular(()=>{i.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var i;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(i=this._tooltipInstance)||void 0===i||i.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Tn(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([i,r])=>{t.removeEventListener(i,r,pW)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const i=this._createOverlay();this._detach(),this._portal=this._portal||new dm(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=i.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),i=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return i.positionChanges.pipe(Tn(this._destroyed)).subscribe(r=>{this._updateCurrentPositionClass(r.connectionPair),this._tooltipInstance&&r.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:i,panelClass:`${this._cssClassPrefix}-${fW}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Tn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Tn(this._destroyed)).subscribe(()=>{var r;return null===(r=this._tooltipInstance)||void 0===r?void 0:r._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const i=t.getConfig().positionStrategy,r=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset(Object.assign(Object.assign({},r.main),s.main)),this._addOffset(Object.assign(Object.assign({},r.fallback),s.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i||"below"==i?r={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={originX:"start",originY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={originX:"end",originY:"center"});const{x:s,y:o}=this._invertPosition(r.originX,r.originY);return{main:r,fallback:{originX:s,originY:o}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i?r={overlayX:"center",overlayY:"bottom"}:"below"==i?r={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&t||"right"==i&&!t?r={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&t||"left"==i&&!t)&&(r={overlayX:"start",overlayY:"center"});const{x:s,y:o}=this._invertPosition(r.overlayX,r.overlayY);return{main:r,fallback:{overlayX:s,overlayY:o}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(yi(1),Tn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:i}}_updateCurrentPositionClass(t){const{overlayY:i,originX:r,originY:s}=t;let o;if(o="center"===i?this._dir&&"rtl"===this._dir.value?"end"===r?"left":"right":"start"===r?"left":"right":"bottom"===i&&"top"===s?"above":"below",o!==this._currentPosition){const a=this._overlayRef;if(a){const l=`${this._cssClassPrefix}-${fW}-`;a.removePanelClass(l+this._currentPosition),a.addPanelClass(l+o)}this._currentPosition=o}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",i],["touchcancel",i])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([i,r])=>{this._elementRef.nativeElement.addEventListener(i,r,pW)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(t.clientX,t.clientY),r=this._elementRef.nativeElement;i!==r&&!r.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const i=this._elementRef.nativeElement,r=i.style;("on"===t||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(r.userSelect=r.msUserSelect=r.webkitUserSelect=r.MozUserSelect="none"),("on"===t||!i.draggable)&&(r.webkitUserDrag="none"),r.touchAction="none",r.webkitTapHighlightColor="transparent"}}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(void 0),E(Qo),E(void 0),E(ut))},n.\u0275dir=oe({type:n,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),n})(),dc=(()=>{class n extends Q1e{constructor(t,i,r,s,o,a,l,c,d,f,p,g){super(t,i,r,s,o,a,l,c,d,f,p,g),this._tooltipComponent=eTe}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(rt),E(um),E(ns),E(dt),E(si),E(IV),E(Sa),E(gW),E(Qo,8),E(K1e,8),E(ut))},n.\u0275dir=oe({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[ct]}),n})(),J1e=(()=>{class n{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new Se}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const i=t.toState;"hidden"===i&&!this.isVisible()&&this._onHide.next(),("visible"===i||"hidden"===i)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n}),n})(),eTe=(()=>{class n extends J1e{constructor(t,i){super(t),this._breakpointObserver=i,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return n.\u0275fac=function(t){return new(t||n)(E(kn),E(XO))},n.\u0275cmp=Ne({type:n,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,i){2&t&&vf("zoom","visible"===i._visibility?1:null)},features:[ct],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,i){if(1&t&&(R(0,"div",0),ge("@state.start",function(){return i._animationStart()})("@state.done",function(s){return i._animationDone(s)}),Kt(1,"async"),De(2),k()),2&t){let r;st("mat-tooltip-handset",null==(r=rn(1,5,i._isHandset))?null:r.matches),ie("ngClass",i.tooltipClass)("@state",i._visibility),G(2),xi(i.message)}},directives:[hE],pipes:[Hc],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[G1e.tooltipState]},changeDetection:0}),n})(),hc=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[X1e],imports:[[Nie,dn,Yv,On],On,Wv]}),n})();const tTe=["sliderWrapper"],Cl=tm({passive:!1}),oTe={provide:ro,useExisting:T(()=>jk),multi:!0};class aTe{}const lTe=Hf(Uf(jf(class{constructor(n){this._elementRef=n}}),"accent"));let jk=(()=>{class n extends lTe{constructor(t,i,r,s,o,a,l,c){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this._dir=s,this._ngZone=a,this._animationMode=c,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Le,this.input=new Le,this.valueChange=new Le,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=Te.EMPTY,this._pointerDown=d=>{this.disabled||this._isSliding||!Zb(d)&&0!==d.button||this._ngZone.run(()=>{this._touchId=Zb(d)?function(n,e){for(let t=0;t{if("pointer"===this._isSliding){const f=mW(d,this._touchId);if(f){d.preventDefault();const p=this.value;this._lastPointerEvent=d,this._updateValueFromPosition(f),p!=this.value&&this._emitInputEvent()}}},this._pointerUp=d=>{"pointer"===this._isSliding&&(!Zb(d)||"number"!=typeof this._touchId||Uk(d.changedTouches,this._touchId))&&(d.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=l,this.tabIndex=parseInt(o)||0,a.runOutsideAngular(()=>{const d=t.nativeElement;d.addEventListener("mousedown",this._pointerDown,Cl),d.addEventListener("touchstart",this._pointerDown,Cl)})}get invert(){return this._invert}set invert(t){this._invert=Mt(t)}get max(){return this._max}set max(t){this._max=To(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=To(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=To(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=Mt(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?To(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let i=To(t,0);this._roundToDecimal&&i!==this.min&&i!==this.max&&(i=parseFloat(i.toFixed(this._roundToDecimal))),this._value=i,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const i=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${i})`}}_getTrackFillStyles(){const t=this.percent,r=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${r})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,a={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const l=this._shouldInvertAxis();let c;c=this.vertical?l?"Bottom":"Top":l?"Right":"Left",a[`padding${c}`]=`${this._getThumbGap()}px`}return a}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,Cl),t.removeEventListener("touchstart",this._pointerDown,Cl),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||Zs(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const i=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}i!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const i=this._document,r=Zb(t),o=r?"touchend":"mouseup";i.addEventListener(r?"touchmove":"mousemove",this._pointerMove,Cl),i.addEventListener(o,this._pointerUp,Cl),r&&i.addEventListener("touchcancel",this._pointerUp,Cl);const a=this._getWindow();void 0!==a&&a&&a.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,Cl),t.removeEventListener("mouseup",this._pointerUp,Cl),t.removeEventListener("touchmove",this._pointerMove,Cl),t.removeEventListener("touchend",this._pointerUp,Cl),t.removeEventListener("touchcancel",this._pointerUp,Cl);const i=this._getWindow();void 0!==i&&i&&i.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let o=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(o=1-o),0===o)this.value=this.min;else if(1===o)this.value=this.max;else{const a=this._calculateValue(o),l=Math.round((a-this.min)/this.step)*this.step+this.min;this.value=this._clamp(l,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,s=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=s/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let i=new aTe;return i.source=this,i.value=t,i}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,i=0,r=1){return Math.max(i,Math.min(t,r))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),E(Qo,8),Zr("tabindex"),E(dt),E(ut),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slider"]],viewQuery:function(t,i){if(1&t&&Jn(tTe,5),2&t){let r;_t(r=yt())&&(i._sliderWrapper=r.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()})("keydown",function(s){return i._onKeydown(s)})("keyup",function(){return i._onKeyup()})("mouseenter",function(){return i._onMouseenter()})("selectstart",function(s){return s.preventDefault()}),2&t&&(al("tabIndex",i.tabIndex),nn("aria-disabled",i.disabled)("aria-valuemax",i.max)("aria-valuemin",i.min)("aria-valuenow",i.value)("aria-valuetext",null==i.valueText?i.displayValue:i.valueText)("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-slider-disabled",i.disabled)("mat-slider-has-ticks",i.tickInterval)("mat-slider-horizontal",!i.vertical)("mat-slider-axis-inverted",i._shouldInvertAxis())("mat-slider-invert-mouse-coords",i._shouldInvertMouseCoords())("mat-slider-sliding",i._isSliding)("mat-slider-thumb-label-showing",i.thumbLabel)("mat-slider-vertical",i.vertical)("mat-slider-min-value",i._isMinValue())("mat-slider-hide-last-tick",i.disabled||i._isMinValue()&&i._getThumbGap()&&i._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Dt([oTe]),ct],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"div",2),tt(3,"div",3),tt(4,"div",4),k(),R(5,"div",5),tt(6,"div",6),k(),R(7,"div",7),tt(8,"div",8),tt(9,"div",9),R(10,"div",10),R(11,"span",11),De(12),k(),k(),k(),k()),2&t&&(G(3),ie("ngStyle",i._getTrackBackgroundStyles()),G(1),ie("ngStyle",i._getTrackFillStyles()),G(1),ie("ngStyle",i._getTicksContainerStyles()),G(1),ie("ngStyle",i._getTicksStyles()),G(1),ie("ngStyle",i._getThumbContainerStyles()),G(5),xi(i.displayValue))},directives:[J3],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),n})();function Zb(n){return"t"===n.type[0]}function mW(n,e){let t;return t=Zb(n)?"number"==typeof e?Uk(n.touches,e)||Uk(n.changedTouches,e):n.touches[0]||n.changedTouches[0]:n,t?{x:t.clientX,y:t.clientY}:void 0}function Uk(n,e){for(let t=0;t{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On],On]}),n})();function uTe(n,e){}class Hk{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const dTe={dialogContainer:tc("dialogContainer",[wr("void, exit",ti({opacity:0,transform:"scale(0.7)"})),wr("enter",ti({transform:"none"})),Qs("* => enter",Ao("150ms cubic-bezier(0, 0, 0.2, 1)",ti({transform:"none",opacity:1}))),Qs("* => void, * => exit",Ao("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ti({opacity:0})))])};let hTe=(()=>{class n extends uS{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new Le,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=xE(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=xE())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=xE();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(BV),E(kn),E(ut,8),E(Hk),E(Sa))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(Kf,7),2&t){let r;_t(r=yt())&&(i._portalOutlet=r.first)}},features:[ct]}),n})(),fTe=(()=>{class n extends hTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&Qy("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(al("id",i._id),nn("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Pg("@dialogContainer",i._state))},features:[ct],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&mt(0,uTe,0,0,"ng-template",0)},directives:[Kf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[dTe.dialogContainer]}}),n})(),pTe=0;class Qm{constructor(e,t,i="mat-dialog-"+pTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new Se,this._afterClosed=new Se,this._beforeClosed=new Se,this._state=0,t._id=i,t._animationStateChanged.pipe(Fn(r=>"opened"===r.state),yi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Fn(r=>"closed"===r.state),yi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Fn(r=>27===r.keyCode&&!this.disableClose&&!Zs(r))).subscribe(r=>{r.preventDefault(),$k(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():$k(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Fn(t=>"closing"===t.state),yi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function $k(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const Gk=new ve("MatDialogData"),gTe=new ve("mat-dialog-default-options"),yW=new ve("mat-dialog-scroll-strategy"),_Te={provide:yW,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.block()}};let yTe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=d,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Se,this._afterOpenedAtThisLevel=new Se,this._ariaHiddenElements=new Map,this.afterAllClosed=Yb(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Rr(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new Hk)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new qv({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Nt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:Hk,useValue:i}]}),o=new dm(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Ys)i.attachTemplatePortal(new Xf(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new dm(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Qo,null,At.Optional))&&o.push({provide:Qo,useValue:{value:t.direction,change:ht()}}),Nt.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(E(Jo),E(Nt),E(void 0),E(void 0),E(hm),E(void 0),E(Du),E(Du),E(ve))},n.\u0275dir=oe({type:n}),n})(),_p=(()=>{class n extends yTe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,Qm,fTe,Gk)}}return n.\u0275fac=function(t){return new(t||n)(I(Jo),I(Nt),I(Xg,8),I(gTe,8),I(yW),I(n,12),I(hm))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),bTe=0,Wk=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+bTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(E(Qm,8),E(rt),E(_p))},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&al("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),qk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();let Qb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[_p,_Te],imports:[[Yv,dS,On],On]}),n})();const Yk=new ve("CdkAccordion");let ETe=0,MTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=Te.EMPTY,this.closed=new Le,this.opened=new Le,this.destroyed=new Le,this.expandedChange=new Le,this.id="cdk-accordion-child-"+ETe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=Mt(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(E(Yk,12),E(kn),E(cS))},n.\u0275dir=oe({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Dt([{provide:Yk,useValue:void 0}])]}),n})(),xTe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const TTe=["body"];function ATe(n,e){}const DTe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],OTe=["mat-expansion-panel-header","*","mat-action-row"];function ITe(n,e){1&n&&tt(0,"span",2),2&n&&ie("@indicatorRotate",Qe()._getExpandedState())}const PTe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],RTe=["mat-panel-title","mat-panel-description","*"],Xk=new ve("MAT_ACCORDION"),bW="225ms cubic-bezier(0.4,0.0,0.2,1)",CW={indicatorRotate:tc("indicatorRotate",[wr("collapsed, void",ti({transform:"rotate(0deg)"})),wr("expanded",ti({transform:"rotate(180deg)"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))]),bodyExpansion:tc("bodyExpansion",[wr("collapsed, void",ti({height:"0px",visibility:"hidden"})),wr("expanded",ti({height:"*",visibility:"visible"})),Qs("expanded <=> collapsed, void => collapsed",Ao(bW))])};let kTe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(E(Ys))},n.\u0275dir=oe({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),FTe=0;const wW=new ve("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let qM=(()=>{class n extends MTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new Le,this.afterCollapse=new Le,this._inputChanges=new Se,this._headerId="mat-expansion-panel-header-"+FTe++,this._bodyAnimationDone=new Se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(Zo((c,d)=>c.fromState===d.fromState&&c.toState===d.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=Mt(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Rr(null),Fn(()=>this.expanded&&!this._portal),yi(1)).subscribe(()=>{this._portal=new Xf(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(E(Xk,12),E(kn),E(cS),E(ns),E(ut),E(Do,8),E(wW,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&ei(r,kTe,5),2&t){let s;_t(s=yt())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&Jn(TTe,5),2&t){let r;_t(r=yt())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&st("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Dt([{provide:Xk,useValue:void 0}]),ct,zn],ngContentSelectors:OTe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(wi(DTe),Ht(0),R(1,"div",0,1),ge("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),R(3,"div",2),Ht(4,1),mt(5,ATe,0,0,"ng-template",3),k(),Ht(6,2),k()),2&t&&(G(1),ie("@bodyExpansion",i._getExpandedState())("id",i.id),nn("aria-labelledby",i._headerId),G(4),ie("cdkPortalOutlet",i._portal))},directives:[Kf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[CW.bodyExpansion]},changeDetection:0}),n})();class LTe{}const BTe=Hf(LTe);let YM=(()=>{class n extends BTe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=Te.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Fn(d=>!(!d.hideToggle&&!d.togglePosition))):ec;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Ni(t.opened,t.closed,c,t._inputChanges.pipe(Fn(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Fn(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Zs(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(E(qM,1),E(rt),E(Sa),E(kn),E(wW,8),E(Do,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&ge("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(nn("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),vf("height",i._getHeaderHeight()),st("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[ct],ngContentSelectors:RTe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(wi(PTe),R(0,"span",0),Ht(1),Ht(2,1),Ht(3,2),k(),mt(4,ITe,1,1,"span",1)),2&t&&(G(4),ie("ngIf",i._showToggle()))},directives:[zr],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[CW.indicatorRotate]},changeDetection:0}),n})(),EW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),n})(),Kk=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,On,xTe,dS]]}),n})();var SW=ze(478);Object.create(Error.prototype);const UTe=["*"];var KM=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(KM||(KM={})),KM))();class $Te{}const xW=new ve("SECURITY_CONTEXT");let Zk=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new SW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=SW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(Ae(i=>this.handleExtension(t,i)))}highlight(t){if(Of(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Of(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Of(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Of(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(I(dl),I(xW),I(Wf,8),I($Te,8),I(th))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),TW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new Le,this.load=new Le,this.ready=new Le,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,KM.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;s{class n{static forRoot(t){return{ngModule:n,providers:[Zk,t&&t.loader||[],t&&t.markedOptions||[],{provide:xW,useValue:t&&null!=t.sanitize?t.sanitize:mn.HTML}]}}static forChild(){return{ngModule:n}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function AW(n,e,t){return t?AW(n,e).pipe(Ae(i=>we(i)?t(...i):t(i))):new ce(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Ke(e))return()=>e(r,s)})}function ZM(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new ZTe(n,t))}}class ZTe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new QTe(e,this.observables,this.project))}}class QTe extends cU{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class JTe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new eAe(e,this.accumulator,this.seed,this.hasSeed))}}class eAe extends xt{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class iAe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new rAe(e,this.predicate))}}class rAe extends xt{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const sAe=["youtubeContainer"];let IW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new Se,this._destroyed=new Se,this._playerChanges=new ar(void 0),this._videoId=new ar(void 0),this._height=new ar(390),this._width=new ar(640),this._startSeconds=new ar(void 0),this._endSeconds=new ar(void 0),this._suggestedQuality=new ar(void 0),this._playerVars=new ar(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Of(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=ht(!0);if(!window.YT||!window.YT.Player){const r=new Se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(yi(1),Rr(!1))}const i=function(n,e,t,i,r,s,o){const a=Qi([e,s]).pipe(ZM(Qi([i,r])),Ae(([l,c])=>{const[d,f]=l,[p,g]=c;return d?{videoId:d,playerVars:f,width:p,height:g}:void 0}));return Qi([n,a,ht(o)]).pipe(function(n){return Mr(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&we(n[0])&&(n=n[0].slice()),t=>t.lift.call(ui([t,...n]),new hU(e))}(n),function(n){return e=>e.lift(new iAe(n))}(([e,t])=>!t),Ae(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new JTe(n,e,t))}}(dAe,void 0),Zo())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Ti(r=>{this._playerChanges.next(r)}),di(e=>e?PW(e)?ht(e):new ce(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{PW(r)||r.destroy()})(e)}}).pipe(yi(1),Rr(void 0)):ht(void 0)),Tn(this._destroyed),mc(new Se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Qi([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Qi([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Qi([t,i]).pipe(Ae(([d,f])=>({startSeconds:d,endSeconds:f}))),a=o.pipe(Jk(n,d=>!!d&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(d))),l=e.pipe(Jk(n,(d,f)=>!!d&&d.videoId!==f));Ni(n.pipe(Jk(Qi([e,o]),([d,f],p)=>!(!p||d==p.videoId&&!f.startSeconds&&!f.endSeconds))),l,a).pipe(ZM(Qi([n,e,o,r])),Ae(([d,f])=>f),Tn(s)).subscribe(([d,f,p,g])=>{!f||!d||(d.videoId=f,d.cueVideoById(Object.assign({videoId:f,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Pr(i=>i?AW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):ht()),i=>new ce(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),Tn(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(E(dt),E(dl))},n.\u0275cmp=Ne({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&Jn(sAe,5),2&t){let r;_t(r=yt())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&tt(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function dAe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function PW(n){return"getPlayerStatus"in n}function Jk(n,e){return Mr(ZM(n),Fn(([t,i])=>e(i,t)),Ae(([t])=>t))}let pAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),CAe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=oe({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function e0(n){return!0===n}function so(n){return null==n}function ka(n){return!so(n)}function eF(n){return Boolean(n)}function NW(n){return so(n)?n:JSON.parse(JSON.stringify(n))}const JM=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&JM(n[o])}),n};function LW(n){return ka(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const zW="NGXS_DATA_META",nF="NGXS_META",jW="NGXS_ARGUMENT_REGISTRY_META";let UW=(()=>{class n{constructor(t){this.sequence$=new ar(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(I(cu,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();function t0(n){return n[zW]}let Fa=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(dt),n.factory=i,n.context=r,n.computed=t.get(UW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(I(Nt),I(B$),I(L$))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();class Fr{constructor(){Fr.statesCachedMeta.clear()}static createStateContext(e){return Fa.context.createStateContext(e)}static ensureMappedState(e){if(so(Fa.factory)||so(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(ka(e.name)?Fr.statesCachedMeta.get(e.name):null)||Fr.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=t0(Fr.getStateClassByInstance(e)))&&void 0!==t?t:null;if(so(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=Fr.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=Fr.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=ka(e.name)?null===(t=Fa.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return ka(i)&&ka(e.name)&&Fr.statesCachedMeta.set(e.name,i),i}}Fr.statesCachedMeta=new Map,Fr.\u0275fac=function(e){return new(e||Fr)},Fr.\u0275prov=ue({token:Fr,factory:Fr.\u0275fac}),new If(1);class $Ae extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${ka(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function HW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function $W(n){var e;const t=HW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=NW(void 0===t.defaults?{}:t.defaults);if(i.length){if(LW(s))return function(n,e){return e.reduce((t,i)=>{const r=HW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=$W(i),t},null!=n?n:{})}(s,i);throw new $Ae(s)}return s}function WW(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function qW(){var n,e;return null!==(e=null===(n=null==Fa?void 0:Fa.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function YAe(n){let e=!1;return cm(n)&&(e=!0),e}function iF(n){return n[jW]}class XAe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class KAe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(eF(this.argumentMap.has(e))||eF(this.payloadMap.has(e)))throw new XAe(e,t)}}function rF(n){return Mo()?JM(n):n}function tDe(n){return{enumerable:!0,configurable:!0,get(){const e=t0(n),t=Fr.ensureMappedState(e.stateMeta);return Fr.createStateContext(t)}}}function sF(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Mo()?JM(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}function oi(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(LW(i))for(;null!==i;){if(e0(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return so(WW(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),WW(n)}(this),o=null==s?void 0:s.get(i);if(e0(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(so(o)||o.sequenceId!==qW()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:qW(),isObservable:YAe(l)}),l}return o.value},t}}const oDe={cancelUncompleted:!0,insideZone:!1};function on(n=oDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=Fr.getRepositoryByInstance(a),d=c.operations;let f=d[s];const p=c.stateMeta,g=iF(r);if(so(f)){const w=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),x=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var w;return e0(n.insideZone)?null===(w=Fa.ngZone)||void 0===w||w.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),cm(l)?ht(null).pipe(Ae(()=>l)):l};const v=Fr.createAction(f,o,g),C=Fa.store.dispatch(v);return cm(l)?function(n,e){return Hv([n,e]).pipe(Ae(t=>t.pop()))}(C,l):l},i}}function Ms(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return so(iF(t))&&Object.defineProperties(t,{[jW]:{enumerable:!0,configurable:!0,value:new KAe}}),iF(t)})(e,t).createPayloadType(r,t,i)}}function xh(){return n=>{const e=function(n){if(function(n){return!eF(n)}(n.hasOwnProperty(nF))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,nF,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[nF]}(n)}(n);if(so(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=t0(n))&&void 0!==e?e:null;return(so(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,zW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),t0(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>NW(t)},context:tDe(n)})}(n,e,$W(n)),function(n){var e,t;const i=t0(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(ka(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(ka(this[s]))return this[s];if(so(Fa.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Fa.store.select(n).pipe(Ae(o=>Mo()?JM(o):o),qc({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}var tx=(()=>(function(n){n.ID="id"}(tx||(tx={})),tx))(),n0=(()=>(function(n){n.ASC="asc",n.DESC="desc"}(n0||(n0={})),n0))();let oF=(()=>{class n{constructor(){this.browserStorageEvents$=new Se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),cDe=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})(),uDe=(()=>{class n extends oF{constructor(){super(...arguments),this.primaryKey=tx.ID,this.comparator=null}get snapshot(){return rF(this.getState())}get ids(){return this.snapshot.ids}get entities(){return this.snapshot.entities}get entitiesArray(){const t=this.snapshot;return t.ids.map(i=>t.entities[i])}get ids$(){return this.state$.pipe(Ae(t=>t.ids))}get entities$(){return this.state$.pipe(Ae(t=>t.entities))}get entitiesArray$(){return this.state$.pipe(Ae(t=>t.ids.map(i=>t.entities[i])))}get ctx(){return sF(this.context)}setComparator(t){return this.comparator=t,this}dispatch(t){return this.ctx.dispatch(t)}getState(){return this.ctx.getState()}selectId(t){var i;return null===(i=t)||void 0===i?void 0:i[this.primaryKey]}selectOne(t){var i;return null!==(i=this.snapshot.entities[t])&&void 0!==i?i:null}selectAll(){const t=this.getState();return t.ids.map(i=>t.entities[i])}reset(){this.setEntitiesState(this.initialState),this.markAsDirtyAfterReset()}addOne(t){this.addEntityOne(t)}addMany(t){this.addEntitiesMany(t)}setOne(t){this.setEntityOne(t)}setMany(t){this.setEntitiesMany(t)}setAll(t){this.setEntitiesAll(t)}updateOne(t){this.updateEntitiesMany([t])}updateMany(t){this.updateEntitiesMany(t)}upsertOne(t){this.upsertEntitiesMany([t])}upsertMany(t){this.upsertEntitiesMany(t)}removeOne(t){this.removeEntitiesMany([t])}removeMany(t){this.removeEntitiesMany(t)}removeByEntity(t){const i=this.selectId(t);this.removeEntitiesMany([i])}removeByEntities(t){const i=[];for(const r of t){const s=this.selectId(r);i.push(s)}this.removeEntitiesMany(i)}removeAll(){this.setEntitiesState(this.initialState)}sort(t){this.comparator=null!=t?t:this.comparator,so(this.comparator)?console.warn("You must set the compare function before sorting."):this.setEntitiesState(this.getState())}addEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);r in i.entities||this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}addEntitiesMany(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities||a in r||(s.push(a),r[a]=o)}s.length&&this.setEntitiesState(Object.assign(Object.assign({},i),{ids:[...i.ids,...s],entities:Object.assign(Object.assign({},i.entities),r)}))}setEntitiesAll(t){const i=this.getState(),r={},s=[];for(const o of t){const a=this.selectIdValue(o);a in r||(s.push(a),r[a]=o)}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:s,entities:r}))}setEntityOne(t){const i=this.getState(),r=this.selectIdValue(t);this.setEntitiesState(Object.assign(Object.assign({},i),r in i.entities?{entities:Object.assign(Object.assign({},i.entities),{[r]:t})}:{ids:[...i.ids,r],entities:Object.assign(Object.assign({},i.entities),{[r]:t})}))}setEntitiesMany(t){for(const i of t)this.setEntityOne(i)}updateEntitiesMany(t){const i=this.getState(),r=t.filter(a=>a.id in i.entities);if(0===r.length)return;const s=this.generateKeyMap(i),o=Object.assign({},i.entities);for(const a of r){const l=this.updateOrigin(o,a),c=this.selectIdValue(l);c!==a.id&&(delete s[a.id],delete o[a.id]),s[a.id]=c,o[c]=l}this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.map(a=>{var l;return null!==(l=s[a])&&void 0!==l?l:a}),entities:o}))}upsertEntitiesMany(t){const i=this.getState(),r=[],s=[];for(const o of t){const a=this.selectIdValue(o);a in i.entities?r.push({id:a,changes:o}):s.push(o)}this.updateMany(r),this.addMany(s)}removeEntitiesMany(t){const i=this.getState(),r=this.generateKeyMap(i),s=Object.assign({},i.entities);for(const o of t)o in s&&(delete r[o],delete s[o]);this.setEntitiesState(Object.assign(Object.assign({},i),{ids:i.ids.filter(o=>o in r),entities:s}))}setEntitiesState(t){const i=this.sortKeysByComparator(t.ids,t.entities);this.ctx.setState(Object.assign(Object.assign({},t),{ids:i,entities:t.entities}))}sortKeysByComparator(t,i){if(so(this.comparator))return t;const r=t.slice(),s=this.comparator;return"function"==typeof s?r.sort((o,a)=>s(i[o],i[a])):this.sortByComparatorOptions(r,s,i)}sortByComparatorOptions(t,i,r){switch(null==i?void 0:i.sortByOrder){case n0.ASC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?-1:0}(null==i?void 0:i.sortBy,r[s],r[o]));case n0.DESC:return t.sort((s,o)=>function(n,e,t){return(null==e?void 0:e[n])>(null==t?void 0:t[n])?-1:(null==e?void 0:e[n])<(null==t?void 0:t[n])?1:0}(null==i?void 0:i.sortBy,r[s],r[o]));default:return Mo()&&console.warn(`Invalid --\x3e { sortByOrder: "${null==i?void 0:i.sortByOrder}" } not supported!`),t}}generateKeyMap(t){return t.ids.reduce((i,r)=>(i[r]=r,i),{})}updateOrigin(t,i){return Object.assign(Object.assign({},t[i.id]),i.changes)}selectIdValue(t){const i=this.selectId(t);return so(i)&&Mo()&&console.warn(`The entity passed to the 'selectId' implementation returned ${i}.`,"You should probably provide your own 'selectId' implementation.","The entity that was passed:",t,"The current `selectId` implementation: (entity: V): K => entity.id"),i}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"ids",null),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"entities",null),xe([oi(),Xe("design:type",Array),Xe("design:paramtypes",[])],n.prototype,"entitiesArray",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"ids$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entities$",null),xe([oi(),Xe("design:type",ce),Xe("design:paramtypes",[])],n.prototype,"entitiesArray$",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"addOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"addMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setMany",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"setAll",null),xe([on(),ws(0,Ms("update")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"updateOne",null),xe([on(),ws(0,Ms("updates")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"updateMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"upsertOne",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"upsertMany",null),xe([on(),ws(0,Ms("id")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeOne",null),xe([on(),ws(0,Ms("ids")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeMany",null),xe([on(),ws(0,Ms("entity")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"removeByEntity",null),xe([on(),ws(0,Ms("entities")),Xe("design:type",Function),Xe("design:paramtypes",[Array]),Xe("design:returntype",void 0)],n.prototype,"removeByEntities",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"removeAll",null),xe([on(),ws(0,Ms("comparator")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"sort",null),n})(),Jm=(()=>{class n extends oF{get snapshot(){return rF(this.getState())}get ctx(){return sF(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi(),Xe("design:type",Object),Xe("design:paramtypes",[])],n.prototype,"snapshot",null),xe([on(),ws(0,Ms("patchValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"patchState",null),xe([on(),ws(0,Ms("stateValue")),Xe("design:type",Function),Xe("design:paramtypes",[Object]),Xe("design:returntype",void 0)],n.prototype,"setState",null),xe([on(),Xe("design:type",Function),Xe("design:paramtypes",[]),Xe("design:returntype",void 0)],n.prototype,"reset",null),n})();function aF(){return Fn(n=>null!=n)}const dDe={};function lF(...n){const e=n[n.length-1];let t=n,i=dDe;return"object"==typeof e&&(i=e,t=t.slice(0,-1)),r=>r.pipe(ur(...t),Zo(i.compare),qc(1))}const s_=new ve("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),IF=new ve("ngx-window",{providedIn:"root",factory:()=>function(n){return Of(n)?window:null}(Oc(dl))}),wIe=new ve("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Oc(IF))}),PF=new ve("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Oc(IF),Oc(wIe))});let xs=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Mo())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(I(s_),I(ut),I(PF))},n.\u0275prov=ue({factory:function(){return new n(I(s_),I(ut),I(PF))},token:n,providedIn:"root"}),n})();const MIe={provide:Mf,multi:!0,useFactory:function(n,e,t){return()=>yl(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(Mo()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Mo()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||Mo()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[s_,PF,ut]};new ve("ngx-google-analytics-routing-settings",{factory:()=>({})});let RF=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:s_,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},MIe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[]]}),n})(),f0=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new If(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),DIe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new Te,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(IF),I(s_))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const OIe=new ve("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),Kq=[f0,DIe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new Te;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(I(f0),I(OIe))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})()];function PIe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let kIe=(()=>{class n{static forRoot(t){const{providers:i=[]}=RF.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[PIe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[...Kq,{provide:Mf,multi:!0,useFactory:()=>()=>{},deps:Kq}],imports:[[RF]]}),n})();class Zq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function FIe(){throw new Zq}function NIe(){throw new Zq}function kF(n,e,t){e.run(()=>n.dispatch(t))}function VIe(n,e,t,i){return Og(t)?function(n,e,t){return t.then(i=>(kF(n,e,i),i))}(n,e,t):cm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(Tn(i.cancelUncompleted$))),t.subscribe({next:r=>kF(n,e,r)}),t}(n,e,t,i):(kF(n,e,t),t)}class zIe{constructor(){this.cancelUncompleted$=new Se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const FF="\u0275fac",Qq=Symbol("InjectorInstance"),Jq=Symbol("FactoryHasBeenDecorated");function e9(n,e){const t=n[Qq];return t?t.get(e):null}const HIe={cancelUncompleted:!1};function t9(n=HIe){return(e,t,i)=>{let r;const s=function(n){return n?new zIe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=e9(this,cu)||FIe(),l=e9(this,dt)||NIe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>VIe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(Jq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[FF]&&function(n){const e=n[FF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[Qq]=E(Fc),r};t&&(t.factory=i),Object.defineProperty(n,FF,{get:()=>i})}(e),n.constructor.prototype[Jq]=!0}(e)}}let n9=(()=>{class n{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=Mt(t)}get inset(){return this._inset}set inset(t){this._inset=Mt(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,i){2&t&&(nn("aria-orientation",i.vertical?"vertical":"horizontal"),st("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,i){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),n})(),yx=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[On],On]}),n})();const sPe=["input"],oPe=function(n){return{enterDuration:n}},aPe=["*"],lPe=new ve("mat-checkbox-default-options",{providedIn:"root",factory:c9});function c9(){return{color:"accent",clickAction:"check-indeterminate"}}let cPe=0;const u9=c9(),uPe={provide:ro,useExisting:T(()=>VF),multi:!0};class dPe{}const hPe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let VF=(()=>{class n extends hPe{constructor(t,i,r,s,o,a,l){super(t),this._changeDetectorRef=i,this._focusMonitor=r,this._ngZone=s,this._animationMode=a,this._options=l,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++cPe,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Le,this.indeterminateChange=new Le,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||u9,this.color=this.defaultColor=this._options.color||u9.color,this.tabIndex=parseInt(o)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=Mt(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const i=Mt(t);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const i=t!=this._indeterminate;this._indeterminate=Mt(t),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let i=this._currentCheckState,r=this._elementRef.nativeElement;if(i!==t&&(this._currentAnimationClass.length>0&&r.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){r.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{r.classList.remove(s)},1e3)})}}_emitChangeEvent(){const t=new dPe;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var i;const r=null===(i=this._options)||void 0===i?void 0:i.clickAction;t.stopPropagation(),this.disabled||"noop"===r?!this.disabled&&"noop"===r&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==r&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,i){t?this._focusMonitor.focusVia(this._inputElement,t,i):this._inputElement.nativeElement.focus(i)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,i){if("NoopAnimations"===this._animationMode)return"";let r="";switch(t){case 0:if(1===i)r="unchecked-checked";else{if(3!=i)return"";r="unchecked-indeterminate"}break;case 2:r=1===i?"unchecked-checked":"unchecked-indeterminate";break;case 1:r=2===i?"checked-unchecked":"checked-indeterminate";break;case 3:r=1===i?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${r}`}_syncIndeterminate(t){const i=this._inputElement;i&&(i.nativeElement.indeterminate=t)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Sa),E(dt),Zr("tabindex"),E(Do,8),E(lPe,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-checkbox"]],viewQuery:function(t,i){if(1&t&&(Jn(sPe,5),Jn(Js,5)),2&t){let r;_t(r=yt())&&(i._inputElement=r.first),_t(r=yt())&&(i.ripple=r.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",null),st("mat-checkbox-indeterminate",i.indeterminate)("mat-checkbox-checked",i.checked)("mat-checkbox-disabled",i.disabled)("mat-checkbox-label-before","before"==i.labelPosition)("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Dt([uPe]),ct],ngContentSelectors:aPe,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),R(3,"input",3,4),ge("change",function(s){return i._onInteractionEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(5,"span",5),tt(6,"span",6),k(),tt(7,"span",7),R(8,"span",8),Yt.lFrame.currentNamespace=Wn,R(9,"svg",9),tt(10,"path",10),k(),Yt.lFrame.currentNamespace=null,tt(11,"span",11),k(),k(),R(12,"span",12,13),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(14,"span",14),De(15,"\xa0"),k(),Ht(16),k(),k()),2&t){const r=vs(1),s=vs(13);nn("for",i.inputId),G(2),st("mat-checkbox-inner-container-no-side-margin",!s.textContent||!s.textContent.trim()),G(1),ie("id",i.inputId)("required",i.required)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex),nn("value",i.value)("name",i.name)("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-checked",i._getAriaChecked())("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Hg(19,oPe,"NoopAnimations"===i._animationMode?0:150))}},directives:[Js,WD],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),n})(),d9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),h9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On,SE,d9],On,d9]}),n})();const gPe=["bodyCanvas"];let mPe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Le,this.nodeDrag=new Le,this.nodeClick=new Le,this.nodeHoverStart=new Le,this.nodeHoverStop=new Le,this.initialized=new Le,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return yl(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new LMe({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&Jn(gPe,5,rt),2&t){let r;_t(r=yt())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&tt(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),_Pe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();function wPe(n,e){if(1&n&&(R(0,"li",4),De(1),Kt(2,"json"),k()),2&n){const t=e.$implicit;G(1),Aw(" ",t[0],": ",rn(2,2,t[1])," ")}}function EPe(n,e){if(1&n&&(R(0,"div",1),R(1,"div"),De(2),k(),R(3,"ul",2),mt(4,wPe,3,4,"li",3),k(),k()),2&n){const t=e.$implicit;G(2),xi(t[0]),G(2),ie("ngForOf",t[1])}}let SPe=(()=>{class n{constructor(t,i){this.clsName="ccf-store-debug",this.root={},this.subscriptions=new Te;const r=t.subscribe(s=>{this.root=s,i.markForCheck()});this.subscriptions.add(r)}get data(){return Object.entries(this.root).map(([s,o])=>[s,Object.entries(o)]).filter(([s,o])=>o.length>0)}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(cu),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-store-debug"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:1,vars:1,consts:[["class","state",4,"ngFor","ngForOf"],[1,"state"],[1,"kvlist"],["class","kvpair",4,"ngFor","ngForOf"],[1,"kvpair"]],template:function(t,i){1&t&&mt(0,EPe,5,2,"div",0),2&t&&ie("ngForOf",i.data)},directives:[pl],pipes:[tV],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),n})(),MPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})();new ve("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const OPe=["carouselContainer"],IPe=["itemlist"],PPe=["itemcontainer"];function RPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",9),ge("touchstart",function(){return en(t),Qe().scroll("left")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("left")})("mousedown",function(){return en(t),Qe().scroll("left")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_left"),k()}2&n&&st("disabled",Qe().onLeft)}function kPe(n,e){if(1&n&&(R(0,"div",15),De(1),k()),2&n){const t=Qe().$implicit,i=Qe();G(1),xi(i.occurenceData[t.id]||0)}}function FPe(n,e){if(1&n){const t=Zi();R(0,"div",10),ge("click",function(){const s=en(t).$implicit;return Qe().selectOrgan(s)}),tt(1,"mat-icon",11),R(2,"div",12),R(3,"div",13),De(4),k(),mt(5,kPe,2,1,"div",14),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("disabled",t.disabled)("selected",i.isSelected(t)),G(1),Jy("svgIcon",t.src),G(3),xi(t.name),G(1),ie("ngIf",void 0!==t.numResults)}}function NPe(n,e){if(1&n){const t=Zi();R(0,"mat-icon",16),ge("touchstart",function(){return en(t),Qe().scroll("right")})("touchend",function(){return en(t),Qe().stopScroll()})("click",function(){return en(t),Qe().shift("right")})("mousedown",function(){return en(t),Qe().scroll("right")})("mouseup",function(){return en(t),Qe().stopScroll()}),De(1,"chevron_right"),k()}2&n&&st("disabled",Qe().onRight)}const g0=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let p9=(()=>{class n{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=g0,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Le,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new hW.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:i}=this;let r=parseInt(i.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(r="right"===t?r-this.step:r+this.step,i.nativeElement.style.left=r+"px",this.setLeftRight(r))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(i=>t!==i):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:i,carouselContainer:r}=this,s=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(s);const o=this.step*Math.floor(r.nativeElement.offsetWidth/this.step)-64;i.nativeElement.style.width=`${o}px`}}setWidth(){const{itemContainer:t,carouselContainer:i}=this,r=this.step*Math.floor(i.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${r}px`}setLeftRight(t){const{itemContainer:i}=this;this.onLeft=0===t,this.onRight=t<=i.nativeElement.offsetWidth-this.organList.length*this.step}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-organ-selector"]],viewQuery:function(t,i){if(1&t&&(Jn(OPe,7),Jn(IPe,7),Jn(PPe,7)),2&t){let r;_t(r=yt())&&(i.carouselContainer=r.first),_t(r=yt())&&(i.itemList=r.first),_t(r=yt())&&(i.itemContainer=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[zn],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,i){1&t&&(R(0,"div",0,1),mt(2,RPe,2,2,"mat-icon",2),R(3,"div",3,4),R(5,"div",5,6),mt(7,FPe,6,7,"div",7),k(),k(),mt(8,NPe,2,2,"mat-icon",8),k()),2&t&&(st("expanded",i.expanded)("error",i.error),ie("matTooltipDisabled",i.multiselect),G(2),ie("ngIf",!i.expanded),G(5),ie("ngForOf",i.organList),G(1),ie("ngIf",!i.expanded))},directives:[dc,zr,pl,rs],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),n})(),g9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),LPe=(()=>{class n{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Le,this.visibilityToggle=new Le,this.opacityReset=new Le}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"mat-slider",2),ge("input",function(s){return i.changeOpacity(s.value)}),k(),R(3,"span",3),De(4),k(),k(),R(5,"div",4),R(6,"mat-icon",5),ge("click",function(){return i.toggleVisibility()}),k(),R(7,"mat-icon",6),ge("click",function(){return i.toggleVisibility()}),k(),R(8,"mat-icon",7),ge("click",function(){return i.resetOpacity()}),De(9,"refresh"),k(),k(),k()),2&t&&(G(2),st("disabled",!i.visible),ie("step",1)("min",0)("max",100)("value",i.opacity),G(2),or("",i.opacity,"%"),G(2),st("hidden",i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),st("hidden",!i.visible),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(1),ie("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[jk,rs,Js],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),n})(),m9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l]]}),n})();function BPe(n,e){if(1&n&&(R(0,"div",16),tt(1,"youtube-player",17),k()),2&n){const t=Qe(3);G(1),Jy("videoId",t.videoID)}}function VPe(n,e){if(1&n&&(R(0,"mat-expansion-panel",11),R(1,"mat-expansion-panel-header"),R(2,"h2",12),De(3),k(),k(),R(4,"div",13),tt(5,"markdown",14),mt(6,BPe,2,1,"div",15),k(),k()),2&n){const t=Qe(),i=t.index,r=t.$implicit;ie("expanded",0===i),G(3),xi(r.title),G(2),st("first",0===i),ie("data",r.content),G(1),ie("ngIf",0===i)}}function zPe(n,e){if(1&n&&(R(0,"div",9),mt(1,VPe,7,6,"mat-expansion-panel",10),k()),2&n){const t=e.$implicit;G(1),ie("ngIf",t)}}let _9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"h2",4),De(5),k(),R(6,"div",5),R(7,"mat-icon",6),ge("click",function(){return i.close()}),De(8,"clear"),k(),k(),k(),R(9,"mat-dialog-content",7),mt(10,zPe,2,1,"div",8),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(5),ie("ngForOf",i.documentationContents))},directives:[Wk,rs,qk,pl,zr,qM,YM,TW,IW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),jPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,Kk,pAe,XTe.forRoot({})]]}),n})(),y9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new ar({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(I(Wf))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),UPe=(()=>{class n{constructor(t,i){this.dialog=t,this.infoButtonService=i,this.infoTitle="",this.subscriptions=new Te,this.subscriptions.add(i.panelContent.subscribe(r=>{r.content.length&&this.launchInfoDialog(r)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(y9))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-icon",1),ge("click",function(){return i.onDialogButtonClick()}),De(2," info "),k(),k())},directives:[rs],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),n})(),HPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,jPe,lr,Rj]]}),n})(),$Pe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Le,this.closeClicked=new Le}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"div",3),R(4,"p",4),De(5),k(),R(6,"mat-icon",5),ge("click",function(){return i.close()}),De(7,"clear"),k(),k(),tt(8,"img",6),R(9,"mat-dialog-content",7),R(10,"div",8),De(11),k(),R(12,"a",9),ge("click",function(){return i.onDialogButtonClick()}),k(),k(),k(),k(),k()),2&t&&(G(5),xi(i.infoTitle),G(3),ie("src",i.imageUrl,Ud),G(3),or(" ",i.message,""),G(1),ie("text",i.callToAction))},directives:[Wk,rs,CAe,qk],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),WPe=(()=>{class n{constructor(t){this.el=t}onInputChange(t){const i=this.el.nativeElement.value;this.el.nativeElement.value=i.replace(/[^0-9]*/g,""),i!==this.el.nativeElement.value&&t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(rt))},n.\u0275dir=oe({type:n,selectors:[["input","ccfNumbersOnly",""]],hostBindings:function(t,i){1&t&&ge("input",function(s){return i.onInputChange(s)})}}),n})(),qPe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),v9=(()=>{class n{get obj(){const t=this.findGlobalObject();return Object.defineProperties(this,{obj:{configurable:!1,writable:!1,value:t}}),t}has(t){const{obj:i}=this;return null!=i&&t in i}get(t,i){var r;const{obj:s}=this;return null!==(r=s&&s[t])&&void 0!==r?r:i}set(t,i){const{obj:r}=this;r&&(r[t]=i)}remove(t){const{obj:i}=this;i&&delete i[t]}findGlobalObject(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self;try{return new Function("return this;")()}catch(t){}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Ah=(()=>{let n=class extends Jm{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(aF(),qc(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(ur(...t),Zo(),qc(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(ur(...t),Zo(),qc(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275prov=ue({token:n,factory:n.\u0275fac}),xe([oi()],n.prototype,"config$",null),n=xe([xh(),cd({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();let ZPe=(()=>{class n{constructor(t,i){t&&function(n,e){Wc(n,"mousemove").pipe(dW(1e3),Ae(r=>{const{clientWidth:s,clientHeight:o}=n,{clientX:a,clientY:l}=r;return[a,l,s,o].join("_")})).subscribe(r=>e.event("webpage","mousemove",r))}(t.body,i)}}return n.\u0275fac=function(t){return new(t||n)(I(ut),I(xs))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();function QPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!0)}),De(1),k()}if(2&n){const t=Qe();G(1),or(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function JPe(n,e){if(1&n){const t=Zi();R(0,"button",1),ge("click",function(){return en(t),Qe().submit(!1)}),De(1,"Opt out"),k()}}let eRe=(()=>{class n{constructor(t,i,r){this.consentService=i,this.data=r,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:i}=this;return"not-set"===i||("opt-in"===t?"rescinded"===i:"given"===i)}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(f0),E(KO))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,i){1&t&&(R(0,"p"),De(1,"We log usage to improve this service."),k(),mt(2,QPe,2,1,"button",0),mt(3,JPe,2,0,"button",0)),2&t&&(G(2),ie("ngIf",i.showButton("opt-in")),G(1),ie("ngIf",i.showButton("opt-out")))},directives:[zr,lh],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),n})(),tRe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})();new Se;let zF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),jF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),UF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var HF;class sa{get length(){var e,t;return null!==(t=null===(e=sa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=sa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=sa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=sa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=sa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=sa.storage)||void 0===e||e.clear()}}sa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),sa.\u0275fac=function(e){return new(e||sa)},sa.\u0275prov=ue({token:sa,factory:sa.\u0275fac,providedIn:"root"});const w9="callToActionPopupShown";let oo=HF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(w9,`${i}`),s=HF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new jF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(Ae(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(_9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Ti(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(iRe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(w9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};oo.\u0275fac=function(e){return new(e||oo)(I(_p),I(xs),I(sa),I(y9),I(Wf))},oo.\u0275prov=ue({token:oo,factory:oo.\u0275fac}),xe([gk(zF)],oo.prototype,"learnMore",null),xe([gk(jF)],oo.prototype,"open",null),xe([gk(UF)],oo.prototype,"close",null),oo=HF=xe([cd({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],oo);let vx=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return xe([Xm([oo])],n,"title",null),xe([Xm([oo])],n,"message",null),xe([Xm([oo])],n,"callToAction",null),xe([Xm([oo])],n,"imageUrl",null),xe([Xm([oo])],n,"expirationDate",null),xe([Xm([oo])],n,"popupShown",null),n})(),iRe=(()=>{class n{constructor(){this.close=()=>new UF,this.learnMore=()=>new zF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(R(0,"ccf-call-to-action",0),ge("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),k()),2&t&&ie("infoTitle",rn(1,4,i.title$))("message",rn(2,6,i.message$))("callToAction",rn(3,8,i.callToAction$))("imageUrl",rn(4,10,i.imageUrl$))},directives:[$Pe],pipes:[Hc],styles:[""],changeDetection:0}),xe([NM(vx.title)],n.prototype,"title$",void 0),xe([NM(vx.message)],n.prototype,"message$",void 0),xe([NM(vx.callToAction)],n.prototype,"callToAction$",void 0),xe([NM(vx.imageUrl)],n.prototype,"imageUrl$",void 0),xe([t9()],n.prototype,"close",void 0),xe([t9()],n.prototype,"learnMore",void 0),n})();const oRe={initialConfig:{},parse:{},rename:{}};class aRe{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},oRe),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,d=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(d)try{i[l]=d(c)}catch(f){console.warn(`Failed to parse ${e} = ${c}`,f.message)}else i[l]=c}}let lRe=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new aRe(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=oe({type:n,features:[zn]}),n})();const cRe={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var $F;const hu={production:!0,disableDbWorker:!0,dbOptions:{ccfOwlUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf.owl",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==($F=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==$F?$F:""},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},skipUnsavedChangesConfirmation:!1,googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};var uRe=ze(815);class hRe{constructor(e){this.value=e}call(e,t){return t.subscribe(new fRe(e,this.value))}}class fRe extends xt{constructor(e,t){super(e),this.value=t}_next(e){this.destination.next(this.value)}}class gRe{constructor(e){this.notifier=e}call(e,t){return t.subscribe(new mRe(e,this.notifier))}}class mRe extends ii{constructor(e,t){super(e),this.hasValue=!1;const i=new Gr(this);this.add(i),this.innerSubscription=i;const r=co(t,i);r!==i&&(this.add(r),this.innerSubscription=r)}_next(e){this.hasValue&&super._next(e)}notifyNext(){this.hasValue=!0,this.innerSubscription&&this.innerSubscription.unsubscribe()}notifyComplete(){}}function GF(n){return"function"==typeof n}function E9(n){return void 0===n}function yRe(n,e,t){return function(r){let s=!!n;return function(n){return"function"==typeof n}(n)&&(s=n(r)),function(n,e){return GF(n)?n(e):E9(n)?e:n}(s?e:t,r)}}function vRe(n,e){return function(i){if(function(n){return null===n||E9(n)}(n)&&i)return i;if(!Array.isArray(i))return[n];const r=i.slice();let s=0;return e>0&&(s=e),r.splice(s,0,n),r}}function m0(n){return function(t){let i=null;for(const r in n){const s=n[r],o=t[r],a=GF(s)?s(o):s;a!==o&&(i||(i=Object.assign({},t)),i[r]=a)}return i||t}}let ji=class extends Jm{constructor(e){super(),this.globalConfig=e,this.user$=this.state$.pipe(ur("user")),this.registrationStarted$=this.state$.pipe(lF("registrationStarted")),this.useCancelRegistrationCallback$=this.state$.pipe(ur("useCancelRegistrationCallback")),this.registrationCallbackSet$=this.state$.pipe(ur("registrationCallbackSet"))}get skipConfirmation$(){return this.state$.pipe(lF("skipConfirmation"))}get globalSkipConfirmation$(){return this.globalConfig.getOption("skipUnsavedChangesConfirmation").pipe(Ae(e=>null!=e?e:hu.skipUnsavedChangesConfirmation),Zo())}get hasChanges$(){return this.state$.pipe(lF("hasChanges"))}ngxsOnInit(){super.ngxsOnInit(),this.globalConfig.config$.pipe(yi(1),Ti(e=>this.setState(m0({registrationCallbackSet:!!e.register,useCancelRegistrationCallback:!!e.cancelRegistration,user:yRe(!!e.user,e.user),registrationStarted:!!e.user||void 0})))).subscribe(),this.initSkipConfirmationListeners()}cancelRegistration(){const{globalConfig:{snapshot:{cancelRegistration:e}},snapshot:{useCancelRegistrationCallback:t,skipConfirmation:i}}=this;t&&(i||confirm("Changes you made may not be saved."))&&(null==e||e())}setUseCancelRegistrationCallback(e){this.ctx.patchState({useCancelRegistrationCallback:e})}setUserName(e){this.ctx.setState(m0({user:m0(e)}))}registrationStarted(){this.ctx.setState(m0({registrationStarted:!0}))}setHasChanges(){const{snapshot:{registrationStarted:e,hasChanges:t}}=this;e&&!t&&this.ctx.patchState({hasChanges:!0})}clearHasChanges(){this.ctx.patchState({hasChanges:!1})}initSkipConfirmationListeners(){const e=i=>this.patchState({skipConfirmation:i});this.globalSkipConfirmation$.pipe(Fn(i=>i)).subscribe(e),this.hasChanges$.pipe(ZM(this.globalSkipConfirmation$),Ae(([i,r])=>r||!i),Zo()).subscribe(e);const t=i=>(i.preventDefault(),i.returnValue="Changes you made may not be saved.",i.returnValue);this.skipConfirmation$.subscribe(i=>{i?removeEventListener("beforeunload",t):addEventListener("beforeunload",t)})}};ji.\u0275fac=function(e){return new(e||ji)(I(Ah))},ji.\u0275prov=ue({token:ji,factory:ji.\u0275fac}),xe([oi()],ji.prototype,"skipConfirmation$",null),xe([oi()],ji.prototype,"globalSkipConfirmation$",null),xe([oi()],ji.prototype,"hasChanges$",null),xe([on()],ji.prototype,"setUseCancelRegistrationCallback",null),xe([on()],ji.prototype,"setUserName",null),xe([on()],ji.prototype,"registrationStarted",null),xe([on()],ji.prototype,"setHasChanges",null),xe([on()],ji.prototype,"clearHasChanges",null),ji=xe([xh(),cd({name:"page",defaults:{user:{firstName:"",lastName:""},registrationStarted:!1,useCancelRegistrationCallback:!1,registrationCallbackSet:!1,skipConfirmation:!0,hasChanges:!1}})],ji);let fc=class extends Jm{constructor(e,t){super(),this.globals=e,this.globalConfig=t}ngxsOnInit(){super.ngxsOnInit(),this.getSourceDB().subscribe(e=>{this.setState(e),hu.production||this.globals.set("db",e)})}getSourceDB(){return this.globalConfig.getOption("baseHref").pipe(Ae(e=>(null!=e?e:"")+"assets/reference-organ-data.json"),Pr(e=>ui(fetch(e)).pipe(Pr(t=>t.json()),Ta(()=>ec))))}normalizePlacement(e){const i=this.snapshot.placementPatches[null==e?void 0:e.target];if(i){const r=function(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(ib),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}(new $t($t.IDENTITY),i),s={x:e.x_translation,y:e.y_translation,z:e.z_translation},[o,a,l]=r.transformAsPoint([s.x,s.y,s.z],[]),c=Object.assign(Object.assign({},e),{target:i.target});return c.x_translation=o,c.y_translation=a,c.z_translation=l,c}return e}getReferenceOrganIri(e,t,i,r){const s=this.snapshot;"KIDNEY"!==e.toUpperCase()&&(i=""),(null==r?void 0:r.sex)&&(t=r.sex);const o=[e,t,i||(null==r?void 0:r.side)].join("|").toUpperCase(),a=Object.keys(s.organIRILookup).find(l=>l.toUpperCase().endsWith(o));return a?s.organIRILookup[a]:void 0}getOrganData(e){var t,i,r;const o=this.snapshot.organSpatialEntities[e];if(!o)return;const a=null!==(t=o.label)&&void 0!==t?t:"",l=g0.find(c=>a.endsWith(c.organ)&&(!o.side||o.side.toLowerCase()===c.side));return l?{organ:l,sex:null===(i=o.sex)||void 0===i?void 0:i.toLowerCase(),side:null===(r=o.side)||void 0===r?void 0:r.toLowerCase()}:void 0}};fc.\u0275fac=function(e){return new(e||fc)(I(v9),I(Ah))},fc.\u0275prov=ue({token:fc,factory:fc.\u0275fac}),fc=xe([xh(),cd({name:"reference",defaults:{organIRILookup:{},organSpatialEntities:{},anatomicalStructures:{},extractionSets:{},sceneNodeLookup:{},simpleSceneNodeLookup:{},placementPatches:{}}})],fc);const qF=g0;let ai=class extends Jm{constructor(e,t,i){super(),this.ga=e,this.injector=t,this.globalConfig=i,this.id$=this.state$.pipe(ur("id")),this.blockSize$=this.state$.pipe(ur("blockSize")),this.rotation$=this.state$.pipe(ur("rotation")),this.position$=this.state$.pipe(ur("position")),this.slicesConfig$=this.state$.pipe(ur("slicesConfig")),this.viewType$=this.state$.pipe(ur("viewType")),this.viewSide$=this.state$.pipe(ur("viewSide")),this.organ$=this.state$.pipe(ur("organ")),this.organIri$=this.state$.pipe(ur("organIri")),this.organDimensions$=this.state$.pipe(ur("organDimensions")),this.sex$=this.state$.pipe(ur("sex")),this.side$=this.state$.pipe(ur("side")),this.showPrevious$=this.state$.pipe(ur("showPrevious")),this.extractionSites$=this.state$.pipe(ur("extractionSites")),this.anatomicalStructures$=this.state$.pipe(ur("anatomicalStructures")),this.extractionSets$=this.state$.pipe(ur("extractionSets"))}get modelChanged$(){const e=["viewType","viewSide","showPrevious"],t=Object.keys(this.initialState).filter(i=>!e.includes(i));return this.state$.pipe(dW(0,void 0,{leading:!1,trailing:!0}),Zo((i,r)=>{for(const s of t)if(i[s]!==r[s])return!1;return!0}),e=>e.lift(new hRe(void 0)))}ngxsOnInit(){super.ngxsOnInit(),this.referenceData=this.injector.get(fc),this.page=this.injector.get(ji),this.globalConfig.getOption("organ").pipe(aF(),Pr(e=>{var t,i;const r=e.name.toLowerCase(),s=e.side;let a=this.idMatches(e.ontologyId,s);return a||(a=this.nameMatches(r,s)),a?(this.ctx.patchState({organ:a,sex:null===(t=e.sex)||void 0===t?void 0:t.toLowerCase(),side:null===(i=null==a?void 0:a.side)||void 0===i?void 0:i.toLowerCase()}),this.referenceData.state$.pipe(Zg(100),yi(1),Vk(200),Ti(()=>this.onOrganIriChange()))):ec})).subscribe(),this.modelChanged$.pipe(function(n){return e=>e.lift(new gRe(n))}(this.page.registrationStarted$.pipe(Fn(e=>e),Vk(5)))).subscribe(()=>this.page.setHasChanges())}idMatches(e,t){return g0.find(i=>!(!e||i.id!==e||i.side&&i.side!==t))}nameMatches(e,t){return g0.find(i=>i.side?i.organ.toLowerCase()===e&&i.side===t:i.organ.toLowerCase()===e)}setBlockSize(e){this.ctx.patchState({blockSize:e})}setRotation(e){this.ctx.patchState({rotation:e})}setPosition(e){var t;this.ga.event("placement",`${null===(t=this.snapshot.organ)||void 0===t?void 0:t.name}_placement`,`${e.x.toFixed(1)}_${e.y.toFixed(1)}_${e.z.toFixed(1)}`),this.ctx.patchState({position:e})}setSlicesConfig(e){this.ctx.patchState({slicesConfig:e})}setViewType(e){this.ctx.patchState({viewType:e})}setViewSide(e){this.ctx.patchState({viewSide:e})}get defaultPosition(){const e=this.snapshot.organDimensions;return{x:e.x+2*this.snapshot.blockSize.x,y:e.y/2,z:e.z/2}}setOrgan(e){this.ga.event("organ_select","organ",e.name),this.ctx.patchState({organ:e}),e.side&&this.ctx.patchState({side:e.side}),this.onOrganIriChange()}setSex(e){this.ctx.patchState({sex:e}),this.onOrganIriChange()}setSide(e){this.ctx.patchState({side:e}),this.onOrganIriChange()}setShowPrevious(e){this.ctx.patchState({showPrevious:e})}setExtractionSites(e){this.ctx.patchState({extractionSites:e})}setAnatomicalStructures(e){this.ctx.patchState({anatomicalStructures:e})}setExtractionSets(e){this.ctx.patchState({extractionSets:e})}toggleRegistrationBlocksVisibility(e,t){if(this.setShowPrevious(e),e){const i=t.map(r=>{var s;return Object.assign(Object.assign({},r),{opacity:Math.min(20,null!==(s=r.opacity)&&void 0!==s?s:20)})});this.setAnatomicalStructures(i)}else this.setAnatomicalStructures(t)}onOrganIriChange(){var e,t,i,r,s;const o=this.referenceData.getReferenceOrganIri((null===(e=this.snapshot.organ)||void 0===e?void 0:e.organ)||"",this.snapshot.sex,this.snapshot.side,this.snapshot.organ),a={x:100,y:100,z:100};if((null===(t=this.snapshot.organ)||void 0===t?void 0:t.sex)&&this.ctx.patchState({sex:null===(i=this.snapshot.organ)||void 0===i?void 0:i.sex}),o){const l=this.referenceData.snapshot,c={};for(const p of l.anatomicalStructures[o]||[]){const g=null!==(r=p.representation_of)&&void 0!==r?r:p["@id"];c[g]||(c[g]={id:null!==(s=p.representation_of)&&void 0!==s?s:p["@id"],name:p.label,visible:!0,opacity:20,tooltip:p.comment})}this.ctx.patchState({anatomicalStructures:Object.values(c)});const d=(l.extractionSets[o]||[]).map(p=>({name:p.label,sites:(0,uRe.sortBy)(p.extractionSites.map(g=>({id:g["@id"],name:g.label,visible:!1,opacity:0,tooltip:g.comment})),"name")}));this.ctx.patchState({extractionSets:d}),this.ctx.patchState({extractionSites:d.length>0?d[0].sites:[]});const f=l.organSpatialEntities[o];a.x=f.x_dimension,a.y=f.y_dimension,a.z=f.z_dimension}this.ctx.patchState({organIri:o,organDimensions:a}),this.ctx.patchState({position:this.defaultPosition})}};ai.\u0275fac=function(e){return new(e||ai)(I(xs),I(Nt),I(Ah))},ai.\u0275prov=ue({token:ai,factory:ai.\u0275fac}),xe([oi()],ai.prototype,"modelChanged$",null),xe([on()],ai.prototype,"setBlockSize",null),xe([on()],ai.prototype,"setRotation",null),xe([on()],ai.prototype,"setPosition",null),xe([on()],ai.prototype,"setSlicesConfig",null),xe([on()],ai.prototype,"setViewType",null),xe([on()],ai.prototype,"setViewSide",null),xe([oi()],ai.prototype,"defaultPosition",null),xe([on()],ai.prototype,"setOrgan",null),xe([on()],ai.prototype,"setSex",null),xe([on()],ai.prototype,"setSide",null),xe([on()],ai.prototype,"setShowPrevious",null),xe([on()],ai.prototype,"setExtractionSites",null),xe([on()],ai.prototype,"setAnatomicalStructures",null),xe([on()],ai.prototype,"setExtractionSets",null),ai=xe([xh(),cd({name:"model",defaults:{id:"",label:"",organ:{src:"",name:""},organIri:"",organDimensions:{x:90,y:90,z:90},sex:"male",side:"left",blockSize:{x:10,y:10,z:10},rotation:{x:0,y:0,z:0},position:{x:0,y:0,z:0},slicesConfig:{thickness:NaN,numSlices:NaN},viewType:"register",viewSide:"anterior",showPrevious:!1,extractionSites:[],anatomicalStructures:[],extractionSets:[]}})],ai);const T9=new ve("Default theme class");let YF=(()=>{class n{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(t){const{injector:i,location:r}=t;i.get(n).initialize(r,i)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,i){this.element=t,this.injector=i,this.applyThemeClass(this.getTheme())}applyThemeClass(t,i="add"){var r;const{element:s,injector:o}=this;if(!t||!s||!o)return;const a=o.get(zc,null);if(!a)return;const l=s.nativeElement,c=null===(r=o.get(hm,null))||void 0===r?void 0:r.getContainerElement(),d="add"===i?"addClass":"removeClass";a[d](l,t),c&&a[d](c,t)}}return n.\u0275fac=function(t){return new(t||n)(I(T9,8))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})(),CRe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-name-input",this.firstNameValidator=new Sh("",[lG.required]),this.lastNameValidator=new Sh("",[lG.required]),this._name={firstName:"",lastName:""},this.nameChange=new Le}get name(){return this._name}set name(t){this._name=t,this.firstNameValidator.setValue((null==t?void 0:t.firstName)||""),this.lastNameValidator.setValue((null==t?void 0:t.lastName)||"")}updateName(t,i){const r=t.target;this.name=Object.assign(Object.assign({},this.name),{[i]:r.value}),this.ga.event("name_updated","name_input",i),this.nameChange.emit(this.name)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-name-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{name:"name"},outputs:{nameChange:"nameChange"},decls:8,vars:2,consts:[[1,"field"],[1,"text","label"],["matInput","","matTooltip","Add your first name.",1,"input",3,"value","input"],["matInput","","matTooltip","Add your last name.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"mat-form-field",0),R(1,"mat-label",1),De(2,"First Name "),k(),R(3,"input",2),ge("input",function(s){return i.updateName(s,"firstName")}),k(),k(),R(4,"mat-form-field",0),R(5,"mat-label",1),De(6,"Last Name "),k(),R(7,"input",3),ge("input",function(s){return i.updateName(s,"lastName")}),k(),k()),2&t&&(G(3),ie("value",i.firstNameValidator.value),G(4),ie("value",i.lastNameValidator.value))},directives:[am,Gf,Xb,dc],styles:["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:left;width:100%}"],changeDetection:0}),n})();const wRe=["thumbContainer"],ERe=["toggleBar"],SRe=["input"],MRe=function(n){return{enterDuration:n}},xRe=["*"],TRe=new ve("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let ARe=0;const DRe={provide:ro,useExisting:T(()=>A9),multi:!0};class ORe{constructor(e,t){this.source=e,this.checked=t}}const IRe=Hf(Uf(nc(jf(class{constructor(n){this._elementRef=n}}))));let A9=(()=>{class n extends IRe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++ARe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new Le,this.toggleChange=new Le,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=Mt(t)}get checked(){return this._checked}set checked(t){this._checked=Mt(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new ORe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(Sa),E(kn),Zr("tabindex"),E(TRe),E(Do,8))},n.\u0275cmp=Ne({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(Jn(wRe,5),Jn(ERe,5),Jn(SRe,5)),2&t){let r;_t(r=yt())&&(i._thumbEl=r.first),_t(r=yt())&&(i._thumbBarEl=r.first),_t(r=yt())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(al("id",i.id),nn("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),st("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Dt([DRe]),ct],ngContentSelectors:xRe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"div",2,3),R(4,"input",4,5),ge("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),k(),R(6,"div",6,7),tt(8,"div",8),R(9,"div",9),tt(10,"div",10),k(),k(),k(),R(11,"span",11,12),ge("cdkObserveContent",function(){return i._onLabelTextChange()}),R(13,"span",13),De(14,"\xa0"),k(),Ht(15),k(),k()),2&t){const r=vs(1),s=vs(12);nn("for",i.inputId),G(2),st("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),G(2),ie("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),nn("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(5),ie("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,MRe,i._noopAnimations?0:150))}},directives:[Js,WD],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),D9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})(),O9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[D9,_l,On,SE],D9,On]}),n})(),XF=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-labeled-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new Le}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.ga.event("slide_toggle_toggled","slide_toggle",this.value),this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-labeled-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=Zi();R(0,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left||o.toggle(),i.updateToggle(!0)}),De(1),k(),R(2,"mat-slide-toggle",1,2),ge("change",function(o){return i.updateToggle(!o.checked)}),k(),R(4,"span",0),ge("click",function(){en(r);const o=vs(3);return i.left&&o.toggle(),i.updateToggle(!1)}),De(5),k()}2&t&&(st("disabled",i.disabled)("highlighted",i.left),G(1),xi(i.labels[0]),G(1),ie("disabled",i.disabled)("checked",!i.left),G(2),st("disabled",i.disabled)("highlighted",!i.left),G(1),xi(i.labels[1]))},directives:[A9],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%;cursor:not-allowed}"],changeDetection:0}),n})();const kRe=function(){return["Male","Female"]},FRe=function(n){return[n]};let NRe=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.dialogRef=r,this.clsName="ccf-registration-content",this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.organList=qF,r.disableClose=!0}setSexFromLabel(t){this.currentSex=t,this.sexSelected=!0}checkNameValid(t){this.nameValid=t.firstName.length>0&&t.lastName.length>0}organSelect(t){this.currentOrgan=t,this.organSelected=!0}registerButtonClick(t){t&&t.preventDefault(),this.organSelected&&this.nameValid&&this.closeDialog()}closeDialog(){this.model.setSex("Female"===this.currentSex?"female":"male"),this.model.setOrgan(this.currentOrgan),this.dialogRef.close(!0),this.page.registrationStarted()}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Qm))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:17,vars:18,consts:[[1,"modal"],["mat-dialog-content",""],[3,"name","nameChange"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"labels","value","valueChange"],[1,"selector-label"],[1,"selector-container"],[3,"organList","selectedOrgans","expanded","organsChanged"],["organSelector",""],["mat-button","",1,"registration-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"ccf-name-input",2),ge("nameChange",function(s){return i.page.setUserName(s),i.checkNameValid(s)}),Kt(3,"async"),k(),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),R(9,"div",6),De(10,"Select an organ"),k(),R(11,"div",7),R(12,"ccf-organ-selector",8,9),ge("organsChanged",function(s){return i.organSelect(s[0])}),Kt(14,"async"),k(),k(),k(),R(15,"button",10),ge("click",function(s){return i.registerButtonClick(s)}),De(16,"START REGISTRATION"),k(),k()),2&t&&(G(2),ie("name",rn(3,9,i.page.user$)),G(5),ie("labels",fv(15,kRe))("value",rn(8,11,i.sexByLabel$)),G(5),ie("organList",i.organList)("selectedOrgans",Hg(16,FRe,rn(14,13,i.model.organ$)))("expanded",!0),G(3),st("disabled",!i.organSelected||!i.nameValid),ie("matTooltip",i.organSelected&&i.nameValid?"":"Required: Enter first and last name, and select an organ"))},directives:[CRe,dc,XF,p9,lh],pipes:[Hc],styles:[".modal[_ngcontent-%COMP%]{padding:1rem;border-radius:4px;max-width:47rem}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}.modal[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}.modal[_ngcontent-%COMP%] .selector-label[_ngcontent-%COMP%]{font-weight:600;height:3rem;line-height:3rem}.modal[_ngcontent-%COMP%] .selector-container[_ngcontent-%COMP%]{margin:0 auto}.modal[_ngcontent-%COMP%] .registration-button[_ngcontent-%COMP%]{display:block;margin:2rem auto 0;transition:.6s}.modal[_ngcontent-%COMP%] .registration-button.disabled[_ngcontent-%COMP%]{pointer-events:none}"],changeDetection:0}),n})(),LRe=(()=>{class n{constructor(t,i,r){this.dialog=t,this.page=i,this.model=r,this.clsName="ccf-registration-modal"}ngOnInit(){Qi([this.page.user$,this.model.organ$]).pipe(Zg(500),yi(1),Ti(([t,i])=>{""!==t.firstName&&""!==t.lastName&&""!==i.src||this.openDialog()})).subscribe()}openDialog(){this.dialog.open(NRe,{autoFocus:!1})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(ji),E(ai))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-registration-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:0,vars:0,template:function(t,i){},encapsulation:2}),n})();function BRe(n,e){1&n&&function(n,e,t){_f(n,e,t),yf()}(0)}function VRe(n,e){if(1&n){const t=Zi();R(0,"div",4),ge("click",function(){return en(t),Qe().page.cancelRegistration()}),R(1,"mat-icon",5),De(2,"chevron_left"),k(),R(3,"span",6),De(4,"BACK"),k(),k()}}function zRe(n,e){if(1&n&&(R(0,"a",7),tt(1,"div",8),k()),2&n){const t=Qe();ie("href",t.homeUrl,Ud)("matTooltip",t.logoTooltip)}}let jRe=(()=>{class n{constructor(t){this.page=t,this.clsName="ccf-header"}}return n.\u0275fac=function(t){return new(t||n)(E(ji))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-header"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{homeUrl:"homeUrl",logoTooltip:"logoTooltip"},decls:7,vars:5,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["backButton",""],["logo",""],[1,"filler"],["rel","noreferrer noopener",1,"link","home",3,"click"],[1,"icon","backbutton"],[1,"text"],["rel","noreferrer noopener","matTooltipPosition","right",1,"link","portal",3,"href","matTooltip"],["aria-hidden","false","aria-label","Reset tool",1,"logo"]],template:function(t,i){if(1&t&&(mt(0,BRe,1,0,"ng-container",0),Kt(1,"async"),mt(2,VRe,5,0,"ng-template",null,1,jw),mt(4,zRe,2,2,"ng-template",null,2,jw),tt(6,"div",3)),2&t){const r=vs(3),s=vs(5);ie("ngIf",rn(1,3,i.page.useCancelRegistrationCallback$))("ngIfThen",r)("ngIfElse",s)}},directives:[zr,rs,dc],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid}[_nghost-%COMP%] .text[_ngcontent-%COMP%]{padding:.25rem 0;height:2rem;display:flex;align-items:center;font-weight:lighter;font-size:1.5rem}[_nghost-%COMP%] .link[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;text-decoration:none;padding:.25rem 0}[_nghost-%COMP%] .home[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{transition:color .6s}[_nghost-%COMP%] .home[_ngcontent-%COMP%] .backbutton[_ngcontent-%COMP%]{font-size:2.25rem;width:2.25rem;height:2.25rem}[_nghost-%COMP%] .portal[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex}[_nghost-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}"],changeDetection:0}),n})();const I9={isolated:!0},P9=new ve("Message service configuration",{providedIn:"root",factory:()=>I9});let URe=(()=>{class n{constructor(t,i,r){this.source=t,this.channel=i,this.messages=r}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(Fn(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(Fn(i=>i.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(Fn(i=>t.includes(i.source)))}nextMessageId(){return n.counter++}}return n.counter=0,n})();const _0=(()=>{class n{constructor(t,i){this.config=t,this.parent=i,this.channel=new Se,this.messages=t.isolated||!i?this.channel.asObservable():ui([this.channel,i.messages.pipe(qj(()=>!this.channel.closed))]).pipe(uo())}ngOnDestroy(){this.channel.complete()}connect(t){return new URe(t,this.channel,this.messages)}}return n.\u0275fac=function(t){return new(t||n)(I(P9),I(n,12))},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),HRe=["*"];let bx=(()=>{class n{constructor(t,i){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new Te;const r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const i=t.source.position,{opened:r,width:s,margin:o}=t.payload;return this.updateMargin(i,r,s,o),this.updateFaded(),!0}default:return!1}}updateMargin(t,i,r,s){const o=i?r+s:s;"start"===t?this.leftMargin=o:this.rightMargin=o}updateFaded(){const[t,i]=this.drawers;this.faded=!!((null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,i){2&t&&(Pg("@fadeInOut",i.faded),Rn(i.className),vf("margin-left",i.leftMargin,"px")("margin-right",i.rightMargin,"px"),st("cff-drawer-content-animations",i.animationsEnabled))},ngContentSelectors:HRe,decls:1,vars:0,template:function(t,i){1&t&&(wi(),Ht(0))},styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[tc("fadeInOut",[wr("false",ti({opacity:1})),wr("true",ti({opacity:0})),Qs("false <=> true",Ao("1s"))])]},changeDetection:0}),n})();const $Re=["*"],KF={params:{width:0,margin:0,margin2:0}};class GRe{constructor(){this.initialized=!1,this.deferred=new Promise(e=>{this.resolve=e})}set(){this.initialized=!0,this.resolve()}wait(){return yl(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let ZF=(()=>{class n{constructor(t,i,r){this.element=r,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Le(!0),this.expandedChange=new Le(!0),this.stateChange=new Le(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new GRe,this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(s=>{this.handleMessage(s)&&i.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(Mt(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(Mt(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const i=t.getBoundingClientRect(),r=i.right-i.left;return 0===r?0:(this._measuredWidth=r,r)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const s=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),o=Number(s.slice(0,-2));return this._measuredMargin=o,o}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return yl(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn),E(rt))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,i){1&t&&Qy("@openClose.done",function(){return i.closeOpenDone()})("@expandCollapse.done",function(){return i.expandCollapseDone()}),2&t&&(Pg("@openClose",i.openedState)("@expandCollapse",i.expandedStateObj),Rn(i.className),st("ccf-drawer-end",i.classEnd)("ccf-drawer-opened",i.opened)("ccf-drawer-expanded",i.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:$Re,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%)}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[tc("openClose",[wr("open, open-instant",ti({transform:"none"})),wr("closed",ti({})),Qs("closed => open-instant",Ao(0)),Qs("closed <=> open, open-instant => closed",Ao(".5s ease-in-out"))]),tc("expandCollapse",[wr("collapsed",ti({})),wr("half",ti({width:"calc(50% - {{ margin }}px)"}),KF),wr("extended",ti({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),KF),wr("full",ti({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),KF),Qs("* <=> *",Ao(".5s ease-in-out"))])]},changeDetection:0}),n})();function WRe(n,e){1&n&&(R(0,"ccf-drawer-content"),Ht(1,2),k())}const qRe=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],YRe=["ccf-drawer","ccf-drawer-content","*"];function R9(n){throw new Error(`Multiple drawers in position ${n}`)}let XRe=(()=>{class n{constructor(t,i){this.cdr=i,this.className="ccf-drawer-container",this.subscriptions=new Te,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(r=>{this.handleMessage(r)&&i.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(Rr(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(Rr(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),i=t.filter(s=>"start"===s.position),r=t.filter(s=>"end"===s.position);return i.length>1&&R9("start"),r.length>1&&R9("end"),[i[0],r[0]]}}return n.\u0275fac=function(t){return new(t||n)(E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-container"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,ZF,5),ei(r,bx,5)),2&t){let s;_t(s=yt())&&(i.drawers=s),_t(s=yt())&&(i.content1=s)}},viewQuery:function(t,i){if(1&t&&Jn(bx,5),2&t){let r;_t(r=yt())&&(i.content2=r)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.className)},exportAs:["ccfDrawerContainer"],features:[Dt([_0])],ngContentSelectors:YRe,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&(wi(qRe),Ht(0),Ht(1,1),mt(2,WRe,2,0,"ccf-drawer-content",0)),2&t&&(G(2),ie("ngIf",!i.hasWrappedContent))},directives:[zr,bx],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),n})();var Cx,KRe=ze(457),ZRe=new Uint8Array(16);function QRe(){if(!Cx&&!(Cx="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cx(ZRe)}const JRe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,tke=function(n){return"string"==typeof n&&JRe.test(n)};for(var Ls=[],QF=0;QF<256;++QF)Ls.push((QF+256).toString(16).substr(1));const ske=function(n,e,t){var i=(n=n||{}).random||(n.rng||QRe)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Ls[n[e+0]]+Ls[n[e+1]]+Ls[n[e+2]]+Ls[n[e+3]]+"-"+Ls[n[e+4]]+Ls[n[e+5]]+"-"+Ls[n[e+6]]+Ls[n[e+7]]+"-"+Ls[n[e+8]]+Ls[n[e+9]]+"-"+Ls[n[e+10]]+Ls[n[e+11]]+Ls[n[e+12]]+Ls[n[e+13]]+Ls[n[e+14]]+Ls[n[e+15]]).toLowerCase();if(!tke(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function k9(n){const e=new $t(n.transformMatrix),t=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return new Di({lowerBound:new S(...t.map((r,s)=>Math.min(r,i[s]))),upperBound:new S(...i.map((r,s)=>Math.max(r,t[s])))})}let as=class extends Jm{constructor(e){super(),this.injector=e,this.gizmo$=ht([{"@id":"http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface","@type":"SpatialSceneNode",scenegraph:"https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb",transformMatrix:new $t($t.IDENTITY).scale([2,2,2]).rotateY(ib(0)),tooltip:"Gizmo",unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!1,color:[255,255,255,255],opacity:1}])}get nodes$(){return Qi([this.placementCube$,this.referenceOrganNodes$,this.previousRegistrationNodes$,this.nodeCollisions$]).pipe(Ae(([e,t,i,r])=>[...e,...i,...t,...this.snapshot.showCollisions?r:[]]))}get rotatedNodes$(){return Qi([this.rotation$,this.nodes$]).pipe(Ae(([e,t])=>0===e?t:t.map(i=>Object.assign(Object.assign({},i),{transformMatrix:new $t($t.IDENTITY).rotateY(ib(e)).multiplyRight(i.transformMatrix)}))))}get referenceOrganNodes$(){return Qi([this.model.anatomicalStructures$,this.model.extractionSites$,this.model.organIri$]).pipe(Zg(400),Ae(([e,t,i])=>this.createSceneNodes(i,[...e,...t])))}get referenceOrganSimpleNodes$(){return Qi([this.model.anatomicalStructures$,this.model.organIri$,this.referenceData.state$]).pipe(Ae(([e,t,i])=>e.map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.simpleSceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[t]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.simpleSceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])))}get nodeCollisions$(){return Qi([this.referenceOrganSimpleNodes$,this.placementCube$]).pipe(Fn(([e,t])=>t.length>0),Ae(([e,t])=>{const i=k9(t[0]);return e.filter(r=>i.overlaps(k9(r)))}))}get previousRegistrationNodes$(){return Qi([this.model.organIri$,this.model.showPrevious$,this.registration.previousRegistrations$]).pipe(Ae(([e,t,i])=>t?i.map(r=>{const s=Array.isArray(r.placement)?r.placement[0]:r.placement;if(s.target===e){const o=this.model.snapshot.organDimensions,a=[o.x,o.y,o.z].map(l=>-l/1e3/2);return{"@id":r["@id"],"@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([s.x_translation,s.y_translation,s.z_translation].map((l,c)=>l/1e3+a[c])).rotateXYZ([s.x_rotation,s.y_rotation,s.z_rotation].map(ib)).scale([r.x_dimension,r.y_dimension,r.z_dimension].map(l=>l/1e3/2)),color:[25,118,210,200],tooltip:r.label,unpickable:!0}}}).filter(r=>!!r):[]))}get placementCube$(){return Qi([this.model.viewType$,this.model.blockSize$,this.model.rotation$,this.model.position$,this.model.organ$]).pipe(Ae(([e,t,i,r,s])=>""===s.src?[]:[this.placementCube]))}get placementCube(){const{viewType:e,blockSize:t,rotation:i,position:r,organDimensions:s}=this.model.snapshot,o=[s.x,s.y,s.z].map(a=>-a/1e3/2);return{"@id":"#DraftPlacement","@type":"SpatialSceneNode",transformMatrix:new $t($t.IDENTITY).translate([r.x,r.y,r.z].map((a,l)=>a/1e3+o[l])).rotateXYZ([i.x,i.y,i.z].map(ib)).scale([t.x,t.y,t.z].map(a=>a/1e3/2)),color:[255,255,0,200],tooltip:"Draft Placement",unpickable:"3d"===e}}get rotation$(){return this.model.viewSide$.pipe(Ae(e=>{let t=0;switch(e){case"left":t=-90;break;case"right":t=90;break;case"posterior":t=180}return t}))}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.registration=this.injector.get(Sr),this.referenceData=this.injector.get(fc)}createSceneNodes(e,t){const i=this.referenceData.snapshot;return t.filter(r=>r.visible&&r.opacity&&r.opacity>0).map(r=>{var s;return i.sceneNodeLookup[r.id]?[Object.assign(Object.assign({},i.sceneNodeLookup[r.id]),{opacity:(null!==(s=r.opacity)&&void 0!==s?s:100)/100,color:[255,255,255,255]})]:(i.anatomicalStructures[e]||[]).filter(o=>o.representation_of===r.id).map(o=>{var a;return Object.assign(Object.assign({},i.sceneNodeLookup[o["@id"]]),{opacity:(null!==(a=r.opacity)&&void 0!==a?a:100)/100,color:[255,255,255,255]})})}).reduce((r,s)=>r.concat(s),[])}};as.\u0275fac=function(e){return new(e||as)(I(Nt))},as.\u0275prov=ue({token:as,factory:as.\u0275fac}),xe([oi()],as.prototype,"nodes$",null),xe([oi()],as.prototype,"rotatedNodes$",null),xe([oi()],as.prototype,"referenceOrganNodes$",null),xe([oi()],as.prototype,"referenceOrganSimpleNodes$",null),xe([oi()],as.prototype,"nodeCollisions$",null),xe([oi()],as.prototype,"previousRegistrationNodes$",null),xe([oi()],as.prototype,"placementCube$",null),xe([oi()],as.prototype,"placementCube",null),xe([oi()],as.prototype,"rotation$",null),as=xe([xh(),cd({name:"scene",defaults:{showCollisions:!hu.production}})],as);let ko=class extends uDe{constructor(e){super(),this.injector=e,this._latestTags=[]}get tags$(){return Qi([this.entities$,this.scene.nodeCollisions$]).pipe(Ae(([e,t])=>{const i=[],r=new Set,s=new Set;Object.entries(e).forEach(([o,a])=>{"removed"===a.type?s.add(o):(r.add(o),i.push(a))});for(const o of t){const a=o.representation_of;a&&!s.has(a)&&!r.has(a)&&(r.add(a),i.push({id:a,label:o.tooltip,type:"assigned"}))}return i}))}get latestTags(){return this._latestTags}ngxsOnInit(){super.ngxsOnInit(),this.model=this.injector.get(ai),this.scene=this.injector.get(as),this.page=this.injector.get(ji),this.tags$.subscribe(e=>{this._latestTags=e}),this.entities$.subscribe(()=>this.page.setHasChanges())}addTags(e){for(const t of e)this.addTagRaw(t)}addTag(e){this.addTagRaw(e)}removeTag(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"removed"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"removed"}))}searchExternal(e,t){const i=this.model.snapshot.anatomicalStructures.filter(r=>-1!==r.name.toLowerCase().indexOf(e.toLowerCase()));return[{totalCount:i.length,results:i.map(r=>({id:r.id,label:r.name,type:"added"})).slice(0,t)}]}addTagRaw(e){this.snapshot.entities[e.id]?this.updateEntitiesMany([{id:e.id,changes:{type:"added"}}]):this.addEntityOne(Object.assign(Object.assign({},e),{type:"added"}))}};ko.\u0275fac=function(e){return new(e||ko)(I(Nt))},ko.\u0275prov=ue({token:ko,factory:ko.\u0275fac}),xe([oi()],ko.prototype,"tags$",null),xe([on()],ko.prototype,"addTags",null),xe([on()],ko.prototype,"addTag",null),xe([on()],ko.prototype,"removeTag",null),xe([lu.ak],ko.prototype,"searchExternal",null),ko=xe([xh(),cd({name:"tags",defaults:Object.assign({},{ids:[],entities:{}})})],ko);let Sr=class extends Jm{constructor(e,t){super(),this.injector=e,this.globalConfig=t,this.displayErrors$=this.state$.pipe(ur("displayErrors"))}get metadata$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildMetadata(e,t,i)))}get jsonld$(){return Qi([this.page.state$,this.model.state$,this.tags.tags$]).pipe(Ae(([e,t,i])=>this.buildJsonLd(e,t,i)))}get valid$(){return Qi([this.page.state$,this.model.state$]).pipe(Ae(()=>this.isValid))}get previousRegistrations$(){const{globalConfig:e,state$:t}=this;return Qi([t.pipe(ur("registrations")),e.getOption("fetchPreviousRegistrations").pipe(Pr(s=>{var o;return null!==(o=null==s?void 0:s())&&void 0!==o?o:[[]]}),Rr([]))]).pipe(Ae(([s,o])=>[...s,...o]))}get currentIdentifier(){return ske()}get currentDate(){return(new Date).toISOString().split("T")[0]}ngxsOnInit(){super.ngxsOnInit(),this.page=this.injector.get(ji),this.model=this.injector.get(ai),this.tags=this.injector.get(ko),this.refData=this.injector.get(fc),this.globalConfig.config$.pipe(yi(1),Ti(({useDownload:e,register:t})=>this.ctx.patchState({useRegistrationCallback:!(e||!t)}))).subscribe(),this.globalConfig.getOption("editRegistration").pipe(aF(),Ti(e=>this.editRegistration(e))).subscribe()}editRegistration(e){return yl(this,void 0,void 0,function*(){const t=this.refData.normalizePlacement(Array.isArray(e.placement)?e.placement[0]:e.placement),i=this.refData.getOrganData(t.target);this.page.setUserName({firstName:e.creator_first_name,lastName:e.creator_last_name}),i&&(this.model.setOrgan(i.organ),i.sex&&this.model.setSex(i.sex),i.side&&this.model.setSide(i.side)),this.model.setBlockSize({x:e.x_dimension,y:e.y_dimension,z:e.z_dimension}),this.model.setRotation({x:t.x_rotation,y:t.y_rotation,z:t.z_rotation}),this.model.setSlicesConfig({thickness:e.slice_thickness||NaN,numSlices:e.slice_count||NaN}),yield new Promise(s=>{setTimeout(s,1e3)}),this.model.setPosition({x:t.x_translation,y:t.y_translation,z:t.z_translation});const r=new Set(e.ccf_annotations);this.tags.addTags(this.model.snapshot.anatomicalStructures.filter(s=>r.has(s.id)).map(s=>({id:s.id,label:s.name,type:"added"}))),this.page.registrationStarted()})}setUseRegistrationCallback(e){this.ctx.patchState({useRegistrationCallback:e})}setDisplayErrors(e){this.ctx.patchState({displayErrors:e})}addRegistration(e){this.ctx.setState(m0({registrations:vRe(e)}))}isDataValid(e,t){return[e.user.firstName,e.user.lastName,t.organ.src,t.organ.name,t.organ.organ].every(r=>!!r)}get isValid(){return this.isDataValid(this.page.snapshot,this.model.snapshot)}register(e){if(!this.isValid)return;const{globalConfig:{snapshot:{register:t}},page:i,model:r,snapshot:s}=this,o=this.buildJsonLd(i.snapshot,r.snapshot,this.tags.latestTags),a=JSON.stringify(o,void 0,2);if(e||void 0===e&&s.useRegistrationCallback)null==t||t(a);else{const l=new Blob([a],{type:"application/json",endings:"native"});(0,KRe.saveAs)(l,"registration-data.json")}this.addRegistration(o),this.setDisplayErrors(!1),this.page.clearHasChanges()}buildMetadata(e,t,i){const r=[];return e.registrationCallbackSet||r.push({label:"First Name",value:e.user.firstName},{label:"Last Name",value:e.user.lastName}),r.push({label:"Reference Organ Name",value:t.organ.name},{label:"Tissue Block Dimensions (mm)",value:this.xyzTripletToString(t.blockSize)},{label:"Tissue Block Position (mm)",value:this.xyzTripletToString(t.position)},{label:"Tissue Block Rotation",value:this.xyzTripletToString(t.rotation)},{label:"Anatomical Structure Tags",value:i.map(s=>s.label).join(", ")},{label:"Time Stamp",value:this.currentDate},{label:"Alignment ID",value:this.currentIdentifier}),r}buildJsonLd(e,t,i){var r,s;return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}`,"@type":"SpatialEntity",label:t.label||void 0,creator:`${e.user.firstName} ${e.user.lastName}`,creator_first_name:e.user.firstName,creator_last_name:e.user.lastName,creation_date:this.currentDate,ccf_annotations:i.map(o=>o.id),slice_thickness:(null===(r=t.slicesConfig)||void 0===r?void 0:r.thickness)||void 0,slice_count:(null===(s=t.slicesConfig)||void 0===s?void 0:s.numSlices)||void 0,x_dimension:+t.blockSize.x.toFixed(3),y_dimension:+t.blockSize.y.toFixed(3),z_dimension:+t.blockSize.z.toFixed(3),dimension_units:"millimeter",placement:{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,"@type":"SpatialPlacement",target:t.organIri,placement_date:this.currentDate,x_scaling:1,y_scaling:1,z_scaling:1,scaling_units:"ratio",x_rotation:+t.rotation.x.toFixed(3),y_rotation:+t.rotation.y.toFixed(3),z_rotation:+t.rotation.z.toFixed(3),rotation_order:"XYZ",rotation_units:"degree",x_translation:+t.position.x.toFixed(3),y_translation:+t.position.y.toFixed(3),z_translation:+t.position.z.toFixed(3),translation_units:"millimeter"}}}xyzTripletToString(e){return`${Math.round(e.x)}, ${Math.round(e.y)}, ${Math.round(e.z)}`}};function ake(n,e){if(1&n){const t=Zi();R(0,"mat-icon",2),ge("click",function(){return en(t),Qe().setAllOpacity(20)}),De(1,"refresh"),k()}2&n&&ie("matRippleCentered",!0)("matRippleUnbounded",!0)}function lke(n,e){if(1&n){const t=Zi();R(0,"div",3),ge("mouseenter",function(){const s=en(t).$implicit;return Qe().mouseOver(s)})("mouseleave",function(){return en(t),Qe().mouseOut()}),tt(1,"mat-icon",4),R(2,"div",5),De(3),k(),R(4,"div",6),R(5,"ccf-opacity-slider",7,8),ge("opacityChange",function(r){return en(t),Qe().updateOpacity(r)})("opacityReset",function(){return en(t),Qe().resetItem()})("visibilityToggle",function(){const s=en(t).$implicit;return Qe().toggleVisibility(s)}),k(),k(),k()}if(2&n){const t=e.$implicit,i=Qe();st("selected",!!i.selection&&i.getId(0,i.selection)===i.getId(0,t)),G(1),st("fade",!t.visible),G(1),st("hidden",t.id===(null==i.selection?null:i.selection.id)),Jy("title",t.name),G(1),xi(t.name),G(1),st("hidden",t.id!==(null==i.selection?null:i.selection.id)),G(1),ie("visible",t.visible)("opacity",i.selection?null==i.selection?null:i.selection.opacity:20)}}Sr.\u0275fac=function(e){return new(e||Sr)(I(Nt),I(Ah))},Sr.\u0275prov=ue({token:Sr,factory:Sr.\u0275fac}),xe([oi()],Sr.prototype,"metadata$",null),xe([oi()],Sr.prototype,"jsonld$",null),xe([oi()],Sr.prototype,"valid$",null),xe([oi()],Sr.prototype,"previousRegistrations$",null),xe([oi()],Sr.prototype,"currentIdentifier",null),xe([oi()],Sr.prototype,"currentDate",null),xe([on()],Sr.prototype,"setUseRegistrationCallback",null),xe([on()],Sr.prototype,"setDisplayErrors",null),xe([on()],Sr.prototype,"addRegistration",null),xe([oi()],Sr.prototype,"isValid",null),Sr=xe([xh(),cd({name:"registration",defaults:{useRegistrationCallback:!1,displayErrors:!1,registrations:[]}})],Sr);let cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-menu",this.hover=new Le,this.itemsChange=new Le}toggleVisibility(t){t=Object.assign(Object.assign({},t),{visible:!t.visible}),this.selection&&t.id===this.selection.id&&(this.selection=Object.assign(Object.assign({},this.selection),{visible:t.visible})),this.ga.event("visibility_toggled","visibility_menu",""+t.id,+t.visible),this.updateOpacity(t.opacity)}mouseOver(t){this.selection=t===this.selection?void 0:t,this.hover.emit(t)}mouseOut(){this.selection=void 0,this.hover.emit(void 0)}updateOpacity(t){if(!this.selection)return;const i=Object.assign(Object.assign({},this.selection),{opacity:t});this.selection=i,this.items=this.items.map(r=>r.id===i.id?i:r),this.ga.event("opacity_update","visibility_menu",""+i.id,i.opacity),this.itemsChange.emit(this.items)}resetItem(){if(this.selection){const t=Object.assign(Object.assign({},this.selection),{opacity:20,visible:!0});this.selection=t,this.items=this.items.map(i=>i.id===t.id?t:i),this.ga.event("item_reset","visibility_menu",""+t.id),this.itemsChange.emit(this.items)}}setAllOpacity(t){this.items=this.items.map(i=>Object.assign(Object.assign({},i),{opacity:t,visible:!0})),this.ga.event("all_items_opacity_update","visibility_menu",void 0,t),this.itemsChange.emit(this.items)}getId(t,i){return i.id}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-menu"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{items:"items",selection:"selection"},outputs:{hover:"hover",itemsChange:"itemsChange"},decls:2,vars:3,consts:[["class","icon reset","matRipple","",3,"matRippleCentered","matRippleUnbounded","click",4,"ngIf"],["class","item-entry",3,"selected","mouseenter","mouseleave",4,"ngFor","ngForOf","ngForTrackBy"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"item-entry",3,"mouseenter","mouseleave"],["svgIcon","app:opacity",1,"opacity-icon"],[1,"item-name",3,"title"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider",""]],template:function(t,i){1&t&&(mt(0,ake,2,2,"mat-icon",0),mt(1,lke,7,12,"div",1)),2&t&&(ie("ngIf",i.items.length),G(1),ie("ngForOf",i.items)("ngForTrackBy",i.getId))},directives:[zr,pl,rs,Js,LPe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;margin-right:0;margin-left:0;max-height:18rem;overflow-y:auto;scrollbar-width:thin}[_nghost-%COMP%] .icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s;position:absolute;top:3rem}[_nghost-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%]{display:flex;height:2.25rem;align-items:center;flex-shrink:0;position:relative}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]{z-index:1;transition:.6s}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .opacity-icon[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:.5rem;opacity:1;transition-duration:.4s;transition-timing-function:ease-in-out;transition-property:opacity;max-width:calc(100% - 2.5rem)}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .item-name.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:calc(100% - 2rem);transition-duration:.3s;transition-timing-function:ease-in-out;transition-property:opacity;left:2rem;position:absolute;opacity:1}[_nghost-%COMP%] .item-entry[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.1s;transition-timing-function:ease-in-out;transition-property:opacity}"],changeDetection:0}),n})();const uke=["*"],F9=new ve("MatChipRemove"),N9=new ve("MatChipAvatar"),L9=new ve("MatChipTrailingIcon");class dke{constructor(e){this._elementRef=e}}const hke=Hf(Uf(nc(dke),"primary"),-1);let y0=(()=>{class n extends hke{constructor(t,i,r,s,o,a,l,c){super(t),this._ngZone=i,this._changeDetectorRef=o,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new Se,this._onBlur=new Se,this.selectionChange=new Le,this.destroyed=new Le,this.removed=new Le,this._addHostClassName(),this._chipRippleTarget=a.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new oj(this,i,this._chipRippleTarget,r),this._chipRipple.setupTriggerEvents(t),this.rippleConfig=s||{},this._animationsDisabled="NoopAnimations"===l,this.tabIndex=null!=c&&parseInt(c)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(t){const i=Mt(t);i!==this._selected&&(this._selected=i,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(t){this._value=t}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(t){this._selectable=Mt(t)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(t){this._disabled=Mt(t)}get removable(){return this._removable}set removable(t){this._removable=Mt(t)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const t="mat-basic-chip",i=this._elementRef.nativeElement;i.hasAttribute(t)||i.tagName.toLowerCase()===t?i.classList.add(t):i.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(t=!1){return this._selected=!this.selected,this._dispatchSelectionChange(t),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(t){this.disabled?t.preventDefault():t.stopPropagation()}_handleKeydown(t){if(!this.disabled)switch(t.keyCode){case 46:case 8:this.remove(),t.preventDefault();break;case 32:this.selectable&&this.toggleSelected(!0),t.preventDefault()}}_blur(){this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(t=!1){this.selectionChange.emit({source:this,isUserInput:t,selected:this._selected})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(dt),E(si),E(aj,8),E(kn),E(ut),E(Do,8),Zr("tabindex"))},n.\u0275dir=oe({type:n,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(t,i,r){if(1&t&&(ei(r,N9,5),ei(r,L9,5),ei(r,F9,5)),2&t){let s;_t(s=yt())&&(i.avatar=s.first),_t(s=yt())&&(i.trailingIcon=s.first),_t(s=yt())&&(i.removeIcon=s.first)}},hostAttrs:["role","option",1,"mat-chip","mat-focus-indicator"],hostVars:14,hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i.focus()})("blur",function(){return i._blur()}),2&t&&(nn("tabindex",i.disabled?null:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString())("aria-selected",i.ariaSelected),st("mat-chip-selected",i.selected)("mat-chip-with-avatar",i.avatar)("mat-chip-with-trailing-icon",i.trailingIcon||i.removeIcon)("mat-chip-disabled",i.disabled)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[ct]}),n})(),B9=(()=>{class n{constructor(t,i){this._parentChip=t,"BUTTON"===i.nativeElement.nodeName&&i.nativeElement.setAttribute("type","button")}_handleClick(t){const i=this._parentChip;i.removable&&!i.disabled&&i.remove(),t.stopPropagation()}}return n.\u0275fac=function(t){return new(t||n)(E(y0),E(rt))},n.\u0275dir=oe({type:n,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(t,i){1&t&&ge("click",function(s){return i._handleClick(s)})},features:[Dt([{provide:F9,useExisting:n}])]}),n})();const V9=new ve("mat-chips-default-options"),gke=FO(class{constructor(n,e,t,i){this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=t,this.ngControl=i}});let mke=0;class _ke{constructor(e,t){this.source=e,this.value=t}}let z9=(()=>{class n extends gke{constructor(t,i,r,s,o,a,l){super(a,s,o,l),this._elementRef=t,this._changeDetectorRef=i,this._dir=r,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new Se,this._uid="mat-chip-list-"+mke++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(c,d)=>c===d,this._required=!1,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){var t,i;return this.multiple?(null===(t=this._selectionModel)||void 0===t?void 0:t.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get role(){return this.empty?null:"listbox"}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){this.writeValue(t),this._value=t}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=Mt(t),this._syncChipsState()}get selectable(){return this._selectable}set selectable(t){this._selectable=Mt(t),this.chips&&this.chips.forEach(i=>i.chipListSelectable=this._selectable)}set tabIndex(t){this._userTabIndex=t,this._tabIndex=t}get chipSelectionChanges(){return Ni(...this.chips.map(t=>t.selectionChange))}get chipFocusChanges(){return Ni(...this.chips.map(t=>t._onFocus))}get chipBlurChanges(){return Ni(...this.chips.map(t=>t._onBlur))}get chipRemoveChanges(){return Ni(...this.chips.map(t=>t.destroyed))}ngAfterContentInit(){this._keyManager=new nO(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe(Tn(this._destroyed)).subscribe(t=>this._keyManager.withHorizontalOrientation(t)),this._keyManager.tabOut.pipe(Tn(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe(Rr(null),Tn(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new lS(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(t){this._chipInput=t,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",t.id)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}writeValue(t){this.chips&&this._setSelectionByValue(t,!1)}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this.stateChanges.next()}onContainerClick(t){this._originatesFromChip(t)||this.focus()}focus(t){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(t),this.stateChanges.next()))}_focusInput(t){this._chipInput&&this._chipInput.focus(t)}_keydown(t){const i=t.target;i&&i.classList.contains("mat-chip")&&(this._keyManager.onKeydown(t),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const t=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(t)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(t){return t>=0&&tr.deselect()),Array.isArray(t))t.forEach(r=>this._selectValue(r,i)),this._sortValues();else{const r=this._selectValue(t,i);r&&i&&this._keyManager.setActiveItem(r)}}_selectValue(t,i=!0){const r=this.chips.find(s=>null!=s.value&&this._compareWith(s.value,t));return r&&(i?r.selectViaInteraction():r.select(),this._selectionModel.select(r)),r}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(t){this._selectionModel.clear(),this.chips.forEach(i=>{i!==t&&i.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(t=>{t.selected&&this._selectionModel.select(t)}),this.stateChanges.next())}_propagateChanges(t){let i=null;i=Array.isArray(this.selected)?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.change.emit(new _ke(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(t=>{t.source.selected?this._selectionModel.select(t.source):this._selectionModel.deselect(t.source),this.multiple||this.chips.forEach(i=>{!this._selectionModel.isSelected(i)&&i.selected&&i.deselect()}),t.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(t=>{let i=this.chips.toArray().indexOf(t.chip);this._isValidIndex(i)&&this._keyManager.updateActiveItem(i),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(t=>{const i=t.chip,r=this.chips.toArray().indexOf(t.chip);this._isValidIndex(r)&&i._hasFocus&&(this._lastDestroyedChipIndex=r)})}_originatesFromChip(t){let i=t.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-chip"))return!0;i=i.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(t=>t._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(t=>{t._chipListDisabled=this._disabled,t._chipListMultiple=this.multiple})}}return n.\u0275fac=function(t){return new(t||n)(E(rt),E(kn),E(Qo,8),E(mp,8),E(Zm,8),E(Vv),E(uc,10))},n.\u0275cmp=Ne({type:n,selectors:[["mat-chip-list"]],contentQueries:function(t,i,r){if(1&t&&ei(r,y0,5),2&t){let s;_t(s=yt())&&(i.chips=s)}},hostAttrs:[1,"mat-chip-list"],hostVars:15,hostBindings:function(t,i){1&t&&ge("focus",function(){return i.focus()})("blur",function(){return i._blur()})("keydown",function(s){return i._keydown(s)}),2&t&&(al("id",i._uid),nn("tabindex",i.disabled?null:i._tabIndex)("aria-describedby",i._ariaDescribedby||null)("aria-required",i.role?i.required:null)("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-multiselectable",i.multiple)("role",i.role)("aria-orientation",i.ariaOrientation),st("mat-chip-list-disabled",i.disabled)("mat-chip-list-invalid",i.errorState)("mat-chip-list-required",i.required))},inputs:{ariaOrientation:["aria-orientation","ariaOrientation"],multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",selectable:"selectable",tabIndex:"tabIndex",errorStateMatcher:"errorStateMatcher"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[Dt([{provide:jv,useExisting:n}]),ct],ngContentSelectors:uke,decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(t,i){1&t&&(wi(),R(0,"div",0),Ht(1),k())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transform:translateZ(0);border:none;-webkit-appearance:none;-moz-appearance:none}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}._mat-animation-noopable.mat-standard-chip{transition:none;animation:none}.mat-standard-chip .mat-chip-remove.mat-icon{width:18px;height:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip:focus{outline:dotted 2px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}\n'],encapsulation:2,changeDetection:0}),n})();const bke={separatorKeyCodes:[13]};let j9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Vv,{provide:V9,useValue:bke}],imports:[[On]]}),n})(),Cke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-visibility-toggle",this.visible=!1,this.toggleLabel="",this.disabled=!1,this.visibilityChanged=new Le}toggleVisibility(){this.visible=!this.visible,this.ga.event("visibility_toggled","visibility_toggle",""+this.visible),this.visibilityChanged.emit(this.visible)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-visibility-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{visible:"visible",toggleLabel:"toggleLabel",disabled:"disabled"},outputs:{visibilityChanged:"visibilityChanged"},decls:8,vars:9,consts:[[1,"toggle-div"],[1,"toggle-wrapper",3,"click"],[1,"icon-background"],["svgIcon","app:visibility_off_cube",1,"icon","block"],[1,"icon","green"],[1,"toggle-label"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"mat-chip",1),ge("click",function(){return i.toggleVisibility()}),R(2,"div",2),tt(3,"mat-icon",3),R(4,"mat-icon",4),De(5,"done"),k(),k(),R(6,"div",5),De(7),k(),k(),k()),2&t&&(G(1),st("disabled",i.disabled),G(1),st("disabled",i.disabled),G(1),st("hidden",i.visible),G(1),st("hidden",!i.visible),G(3),xi(i.toggleLabel))},directives:[y0,rs],styles:["[_nghost-%COMP%]{height:3rem;display:flex;align-items:center}[_nghost-%COMP%] .mat-chip{padding:0!important}[_nghost-%COMP%] .mat-chip.disabled{cursor:not-allowed!important}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;padding-top:1.5rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%]{-webkit-user-select:none;-moz-user-select:none;display:flex;padding-left:.5rem;cursor:pointer;align-items:center;position:relative;border-width:.075rem;border-style:solid;height:2.25rem;border-radius:1.5rem;transition:background-color .2s ease-in-out}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%]{border-radius:1.5rem;height:2.06rem;width:2.06rem;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{transition:.6s;position:absolute}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.block[_ngcontent-%COMP%]{width:1.125rem}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .icon-background[_ngcontent-%COMP%] .icon.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .toggle-div[_ngcontent-%COMP%] .toggle-wrapper[_ngcontent-%COMP%] .toggle-label[_ngcontent-%COMP%]{font-weight:bold;margin-left:.5rem;padding-right:1.25rem;padding-left:.25rem}"],changeDetection:0}),n})();const wke=["fileInput"];let Eke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-json-file-reader",this.label="Upload",this.parsedJson=new Le}triggerFileInput(){this.fileInput.nativeElement.click()}handleFile(t){const i=t.target;if(!i.files)return;const r=i.files[0],s=new FileReader;s.onload=()=>{const o=JSON.parse(s.result);this.ga.event("json_file_load_end","json_file_reader"),this.parsedJson.emit(o)},this.ga.event("json_file_load_start","json_file_reader"),s.readAsText(r)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-json-file-reader"]],viewQuery:function(t,i){if(1&t&&Jn(wke,5),2&t){let r;_t(r=yt())&&(i.fileInput=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{label:"label"},outputs:{parsedJson:"parsedJson"},decls:4,vars:1,consts:[["mat-button","",1,"upload-button",3,"click"],["type","file","accept","application/JSON","name","fileInput","id","fileInput",2,"display","none",3,"change"],["fileInput",""]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(){return i.triggerFileInput()}),De(1),k(),R(2,"input",1,2),ge("change",function(s){return i.handleFile(s)}),k()),2&t&&(G(1),xi(i.label))},directives:[lh],styles:["[_nghost-%COMP%] .upload-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;cursor:pointer;font-weight:500}"]}),n})(),Ske=(()=>{class n{constructor(){this.clsName="ccf-details-label",this.details=[]}arrayToString(t){return t.join(", ")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ne({type:n,selectors:[["ccf-details-label"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{details:"details"},decls:1,vars:1,template:function(t,i){1&t&&De(0),2&t&&xi(i.arrayToString(i.details))},styles:["[_nghost-%COMP%]{display:block;height:2.25rem}"],changeDetection:0}),n})();const Mke=["trigger"],xke=["panel"];function Tke(n,e){if(1&n&&(R(0,"span",8),De(1),k()),2&n){const t=Qe();G(1),xi(t.placeholder)}}function Ake(n,e){if(1&n&&(R(0,"span",12),De(1),k()),2&n){const t=Qe(2);G(1),xi(t.triggerValue)}}function Dke(n,e){1&n&&Ht(0,0,["*ngSwitchCase","true"])}function Oke(n,e){1&n&&(R(0,"span",9),mt(1,Ake,2,1,"span",10),mt(2,Dke,1,0,"ng-content",11),k()),2&n&&(ie("ngSwitch",!!Qe().customTrigger),G(2),ie("ngSwitchCase",!0))}function Ike(n,e){if(1&n){const t=Zi();R(0,"div",13),R(1,"div",14,15),ge("@transformPanel.done",function(r){return en(t),Qe()._panelDoneAnimatingStream.next(r.toState)})("keydown",function(r){return en(t),Qe()._handleKeydown(r)}),Ht(3,1),k(),k()}if(2&n){const t=Qe();ie("@transformPanelWrap",void 0),G(1),function(n,e,t){Gl(yo,Vc,Cg(Oe(),n,e,t),!0)}("mat-select-panel ",t._getPanelTheme(),""),vf("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),ie("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),nn("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const Pke=[[["mat-select-trigger"]],"*"],Rke=["mat-select-trigger","*"],U9={transformPanelWrap:tc("transformPanelWrap",[Qs("* => void",Uie("@transformPanel",[jie()],{optional:!0}))]),transformPanel:tc("transformPanel",[wr("void",ti({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),wr("showing",ti({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),wr("showing-multiple",ti({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Qs("void => *",Ao("120ms cubic-bezier(0, 0, 0.2, 1)")),Qs("* => void",Ao("100ms 25ms linear",ti({opacity:0})))])};let H9=0;const G9=new ve("mat-select-scroll-strategy"),Lke=new ve("MAT_SELECT_CONFIG"),Bke={provide:G9,deps:[Jo],useFactory:function(n){return()=>n.scrollStrategies.reposition()}};class Vke{constructor(e,t){this.source=e,this.value=t}}const zke=nc(Hf(jf(FO(class{constructor(n,e,t,i,r){this._elementRef=n,this._defaultErrorStateMatcher=e,this._parentForm=t,this._parentFormGroup=i,this.ngControl=r}})))),W9=new ve("MatSelectTrigger");let jke=(()=>{class n extends zke{constructor(t,i,r,s,o,a,l,c,d,f,p,g,_,y){var v,C,w;super(o,s,l,c,f),this._viewportRuler=t,this._changeDetectorRef=i,this._ngZone=r,this._dir=a,this._parentFormField=d,this._liveAnnouncer=_,this._defaultOptions=y,this._panelOpen=!1,this._compareWith=(x,N)=>x===N,this._uid="mat-select-"+H9++,this._triggerAriaLabelledBy=null,this._destroy=new Se,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+H9++,this._panelDoneAnimatingStream=new Se,this._overlayPanelClass=(null===(v=this._defaultOptions)||void 0===v?void 0:v.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(w=null===(C=this._defaultOptions)||void 0===C?void 0:C.disableOptionCentering)&&void 0!==w&&w,this.ariaLabel="",this.optionSelectionChanges=Yb(()=>{const x=this.options;return x?x.changes.pipe(Rr(x),Pr(()=>Ni(...x.map(N=>N.onSelectionChange)))):this._ngZone.onStable.pipe(yi(1),Pr(()=>this.optionSelectionChanges))}),this.openedChange=new Le,this._openedStream=this.openedChange.pipe(Fn(x=>x),Ae(()=>{})),this._closedStream=this.openedChange.pipe(Fn(x=>!x),Ae(()=>{})),this.selectionChange=new Le,this.valueChange=new Le,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._scrollStrategyFactory=g,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(p)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=Mt(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=Mt(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=Mt(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=To(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new lS(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Zo(),Tn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(Tn(this._destroy)).subscribe(t=>{t.added.forEach(i=>i.select()),t.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Rr(null),Tn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?i.setAttribute("aria-labelledby",t):i.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const i=t.keyCode,r=40===i||38===i||37===i||39===i,s=13===i||32===i,o=this._keyManager;if(!o.isTyping()&&s&&!Zs(t)||(this.multiple||t.altKey)&&r)t.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;o.onKeydown(t);const l=this.selected;l&&a!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(t){const i=this._keyManager,r=t.keyCode,s=40===r||38===r,o=i.isTyping();if(s&&t.altKey)t.preventDefault(),this.close();else if(o||13!==r&&32!==r||!i.activeItem||Zs(t))if(!o&&this._multiple&&65===r&&t.ctrlKey){t.preventDefault();const a=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(a?l.select():l.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(t),this._multiple&&s&&t.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else t.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(yi(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(i=>this._selectValue(i)),this._sortValues();else{const i=this._selectValue(t);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const i=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return null!=r.value&&this._compareWith(r.value,t)}catch(s){return!1}});return i&&this._selectionModel.select(i),i}_initKeyManager(){this._keyManager=new kV(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(Tn(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Ni(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Tn(t)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Ni(...this.options.map(i=>i._stateChanges)).pipe(Tn(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,i){const r=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(r!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),i&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),i&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),r!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((i,r)=>this.sortComparator?this.sortComparator(i,r,t):t.indexOf(i)-t.indexOf(r)),this.stateChanges.next()}}_propagateChanges(t){let i=null;i=this.multiple?this.selected.map(r=>r.value):this.selected?this.selected.value:t,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(i?i+" ":"")+this.ariaLabelledby:i}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const i=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let r=(i?i+" ":"")+this._valueId;return this.ariaLabelledby&&(r+=" "+this.ariaLabelledby),r}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return n.\u0275fac=function(t){return new(t||n)(E(Yf),E(kn),E(dt),E(Vv),E(rt),E(Qo,8),E(mp,8),E(Zm,8),E(nS,8),E(uc,10),Zr("tabindex"),E(G9),E(DE),E(Lke,8))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&(Jn(Mke,5),Jn(xke,5),Jn(sU,5)),2&t){let r;_t(r=yt())&&(i.trigger=r.first),_t(r=yt())&&(i.panel=r.first),_t(r=yt())&&(i._overlayDir=r.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[ct,zn]}),n})(),Uke=(()=>{class n extends jke{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,i,r){const s=this._getItemHeight();return Math.min(Math.max(0,s*t-i+s/2),r)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(yi(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const i=BO(t,this.options,this.optionGroups),r=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===i?0:function(n,e,t,i){return nt+i?Math.max(0,n-i+e):t}((t+i)*r,r,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new Vke(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),r=this._isRtl(),s=this.multiple?56:32;let o;if(this.multiple)o=40;else if(this.disableOptionCentering)o=16;else{let c=this._selectionModel.selected[0]||this.options.first;o=c&&c.group?32:16}r||(o*=-1);const a=0-(t.left+o-(r?s:0)),l=t.right+o-i.width+(r?0:s);a>0?o+=a+8:l>0&&(o-=l+8),this._overlayDir.offsetX=Math.round(o),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,i,r){const s=this._getItemHeight(),o=(s-this._triggerRect.height)/2,a=Math.floor(256/s);let l;return this.disableOptionCentering?0:(l=0===this._scrollTop?t*s:this._scrollTop===r?(t-(this._getItemCount()-a))*s+(s-(this._getItemCount()*s-256)%s):i-s/2,Math.round(-1*l-o))}_checkOverlayWithinViewport(t){const i=this._getItemHeight(),r=this._viewportRuler.getViewportSize(),s=this._triggerRect.top-8,o=r.height-this._triggerRect.bottom-8,a=Math.abs(this._offsetY),c=Math.min(this._getItemCount()*i,256)-a-this._triggerRect.height;c>o?this._adjustPanelUp(c,o):a>s?this._adjustPanelDown(a,s,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,i){const r=Math.round(t-i);this._scrollTop-=r,this._offsetY-=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,i,r){const s=Math.round(t-i);if(this._scrollTop+=s,this._offsetY+=s,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=r)return this._scrollTop=r,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),i=this._getItemCount(),r=Math.min(i*t,256),o=i*t-r;let a;a=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),a+=BO(a,this.options,this.optionGroups);const l=r/2;this._scrollTop=this._calculateOverlayScroll(a,l,o),this._offsetY=this._calculateOverlayOffsetY(a,l,o),this._checkOverlayWithinViewport(o)}_getOriginBasedOnOption(){const t=this._getItemHeight(),i=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-i+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275cmp=Ne({type:n,selectors:[["mat-select"]],contentQueries:function(t,i,r){if(1&t&&(ei(r,W9,5),ei(r,eS,5),ei(r,JE,5)),2&t){let s;_t(s=yt())&&(i.customTrigger=s.first),_t(s=yt())&&(i.options=s),_t(s=yt())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&t&&(nn("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-describedby",i._ariaDescribedby||null)("aria-activedescendant",i._getAriaActiveDescendant()),st("mat-select-disabled",i.disabled)("mat-select-invalid",i.errorState)("mat-select-required",i.required)("mat-select-empty",i.empty)("mat-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Dt([{provide:jv,useExisting:n},{provide:QE,useExisting:n}]),ct],ngContentSelectors:Rke,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,i){if(1&t&&(wi(Pke),R(0,"div",0,1),ge("click",function(){return i.toggle()}),R(3,"div",2),mt(4,Tke,2,1,"span",3),mt(5,Oke,3,2,"span",4),k(),R(6,"div",5),tt(7,"div",6),k(),k(),mt(8,Ike,4,14,"ng-template",7),ge("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&t){const r=vs(1);nn("aria-owns",i.panelOpen?i.id+"-panel":null),G(3),ie("ngSwitch",i.empty),nn("id",i._valueId),G(1),ie("ngSwitchCase",!0),G(1),ie("ngSwitchCase",!1),G(3),ie("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",r)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayMinWidth",null==i._triggerRect?null:i._triggerRect.width)("cdkConnectedOverlayOffsetY",i._offsetY)}},directives:[Pae,Av,ID,sU,Z3,hE],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[U9.transformPanelWrap,U9.transformPanel]},changeDetection:0}),n})(),q9=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[Bke],imports:[[dn,Yv,tS,On],Wv,Uv,tS,On]}),n})();function Hke(n,e){if(1&n&&(R(0,"mat-option",5),De(1),k()),2&n){const t=e.$implicit;ie("value",t),G(1),Aw(" ",t.name," (",t.sites.length,") ")}}function $ke(n,e){if(1&n){const t=Zi();R(0,"mat-form-field",1),R(1,"mat-label",2),De(2,"Landmark Set"),k(),R(3,"mat-select",3),ge("selectionChange",function(r){return en(t),Qe().extractionSetChanged(r.value)}),mt(4,Hke,2,3,"mat-option",4),k(),k()}if(2&n){const t=Qe();G(3),ie("value",t.sets[0]),G(1),ie("ngForOf",t.sets)}}let Gke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-extraction-set-dropdown",this.setChange=new Le}extractionSetChanged(t){this.selected=t,this.ga.event("selected_extraction_set_change","extraction_set_dropdown",t.name),this.setChange.emit(t)}isMultiple(){return this.sets.length>1}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-extraction-set-dropdown"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{sets:"sets"},outputs:{setChange:"setChange"},decls:1,vars:1,consts:[["class","dropdown-form-field","appearance","fill",4,"ngIf"],["appearance","fill",1,"dropdown-form-field"],[1,"extraction-dropdown-label"],["disableOptionCentering","true","panelClass","extraction-set-panel",3,"value","selectionChange"],["class","extraction-set-options",3,"value",4,"ngFor","ngForOf"],[1,"extraction-set-options",3,"value"]],template:function(t,i){1&t&&mt(0,$ke,5,2,"mat-form-field",0),2&t&&ie("ngIf",i.isMultiple())},directives:[zr,am,Gf,Uke,pl,eS],styles:[".extraction-set-panel{box-shadow:0 0 .3rem .1rem #9e9e9e;position:absolute;top:-1rem;left:1rem;width:10.5rem} .extraction-set-panel .extraction-set-options{height:2.5rem!important} .extraction-set-panel .extraction-set-options:first-child{margin-top:.5rem} .extraction-set-panel .extraction-set-options:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .mat-form-field{width:10.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper{padding-bottom:.5rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding:0}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-form-field-underline{bottom:.75rem}[_nghost-%COMP%] .mat-form-field .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:none} .cdk-overlay-pane{min-width:0rem!important}"],changeDetection:0}),n})();function Wke(n,e){if(1&n&&(_f(0),tt(1,"ccf-details-label",19),Kt(2,"async"),yf()),2&n){const t=Qe();G(1),ie("details",rn(2,1,t.detailsLabels$))}}function qke(n,e){if(1&n){const t=Zi();R(0,"div",9),R(1,"ccf-extraction-set-dropdown",20,21),ge("setChange",function(r){return en(t),Qe().model.setExtractionSites(r.sites)}),Kt(3,"async"),k(),R(4,"ccf-visibility-menu",22),ge("itemsChange",function(r){return en(t),Qe().model.setExtractionSites(r)})("hover",function(r){return en(t),Qe().updateExtractionSiteTooltip(r)}),Kt(5,"async"),k(),k()}if(2&n){const t=Qe();G(1),ie("sets",rn(3,2,t.model.extractionSets$)),G(3),ie("items",rn(5,4,t.model.extractionSites$))}}function Yke(n,e){if(1&n&&(R(0,"div",23),De(1),k()),2&n){const t=Qe();G(1),or(" ",t.extractionSiteTooltip," ")}}const Xke=function(){return["Male","Female"]};let Kke=(()=>{class n{constructor(t,i,r){this.page=t,this.model=i,this.registration=r,this.clsName="ccf-left-sidebar",this.disableSlider=!1,this.modalClosed=!1,this.sexByLabel$=this.model.sex$.pipe(Ae(s=>"female"===s?"Female":"Male")),this.sideByLabel$=this.model.side$.pipe(Ae(s=>"left"===s?"L":"R")),this.organSelected$=this.model.organ$.pipe(Ae(s=>void 0!==s)),this.detailsLabels$=Qi([this.model.organ$,this.model.side$,this.model.sex$]).pipe(Ae(([s,o,a])=>[null==s?void 0:s.name,o,a])),this.extractionSiteTooltip="",this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures],this.organList=qF}updateExtractionSiteTooltip(t){this.extractionSiteTooltip=(null==t?void 0:t.tooltip)?t.tooltip:""}setSexFromLabel(t){this.model.setSex("Female"===t?"female":"male")}setSideFromLabel(t){this.model.setSide("L"===t?"left":"right")}togglePreviousRegistrationBlocks(t){t&&(this.previousVisibilityItems=[...this.model.snapshot.anatomicalStructures]),this.model.toggleRegistrationBlocksVisibility(t,this.previousVisibilityItems)}updateRegistration(t){this.registration.editRegistration(t)}}return n.\u0275fac=function(t){return new(t||n)(E(ji),E(ai),E(Sr))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-left-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{disableSlider:"disableSlider",modalClosed:"modalClosed"},decls:31,vars:22,consts:[[1,"scroll-wrapper"],[1,"container"],[4,"ngIf"],["matTooltip","Select sex to filter organs.",1,"organ-sliders"],[1,"slider-label"],[1,"toggle","gender",3,"disabled","labels","value","valueChange"],[1,"anatomical-structures-menu",3,"expanded"],[1,"expansion-header"],["matTooltip","Use opacity icons to change visibility of anatomical structures",1,"expansion-title"],[1,"expansion-content"],[3,"items","itemsChange"],[1,"extraction-menu",3,"expanded"],["matTooltip","Some organs have predefined landmarks to guide manual tissue registration--you can turn these on/off.",1,"expansion-title"],["class","expansion-content",4,"ngIf"],["toggleLabel","Previously Registered Blocks","matTooltip","If you previously registered tissue blocks, you can turn their positions on/off.",3,"visible","disabled","visibilityChanged"],[1,"space"],["class","extraction-site-tooltip mat-elevation-z8",4,"ngIf"],[1,"filler"],["label","UPLOAD PREVIOUS REGISTRATION DATA",3,"parsedJson"],[3,"details"],[3,"sets","setChange"],["dropdown",""],[3,"items","itemsChange","hover"],[1,"extraction-site-tooltip","mat-elevation-z8"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),mt(2,Wke,3,3,"ng-container",2),Kt(3,"async"),R(4,"div",3),R(5,"div",4),De(6,"Donor Sex:"),k(),R(7,"ccf-labeled-slide-toggle",5),ge("valueChange",function(s){return i.setSexFromLabel(s)}),Kt(8,"async"),k(),k(),tt(9,"mat-divider"),R(10,"mat-expansion-panel",6),R(11,"mat-expansion-panel-header",7),R(12,"mat-panel-title",8),De(13,"Anatomical Structures"),k(),k(),R(14,"div",9),R(15,"ccf-visibility-menu",10),ge("itemsChange",function(s){return i.model.setAnatomicalStructures(s)}),Kt(16,"async"),k(),k(),k(),tt(17,"mat-divider"),R(18,"mat-expansion-panel",11),R(19,"mat-expansion-panel-header",7),R(20,"mat-panel-title",12),De(21,"Landmarks"),k(),k(),mt(22,qke,6,6,"div",13),Kt(23,"async"),k(),tt(24,"mat-divider"),R(25,"ccf-visibility-toggle",14),ge("visibilityChanged",function(s){return i.togglePreviousRegistrationBlocks(s)}),Kt(26,"async"),k(),tt(27,"div",15),mt(28,Yke,2,1,"div",16),tt(29,"div",17),R(30,"ccf-json-file-reader",18),ge("parsedJson",function(s){return i.updateRegistration(s)}),k(),k(),k()),2&t&&(G(2),ie("ngIf",rn(3,11,i.page.registrationCallbackSet$)),G(5),ie("disabled",i.disableSlider)("labels",fv(21,Xke))("value",rn(8,13,i.sexByLabel$)),G(3),ie("expanded",i.modalClosed),G(5),ie("items",rn(16,15,i.model.anatomicalStructures$)),G(3),ie("expanded",i.modalClosed),G(4),ie("ngIf",rn(23,17,i.organSelected$)),G(3),ie("visible",rn(26,19,i.model.showPrevious$))("disabled",i.disableSlider),G(3),ie("ngIf",i.extractionSiteTooltip.length>0))},directives:[zr,dc,XF,n9,qM,YM,EW,cke,Cke,Eke,Ske,Gke],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{overflow-y:scroll;height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-left:1.5rem;margin-right:.375rem;min-height:100%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .space[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .ccf-organ-selector[_ngcontent-%COMP%]{margin-top:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%]{display:flex;height:3rem;align-items:center}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .organ-sliders[_ngcontent-%COMP%] .slider-label[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%] .expansion-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:600}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header{-webkit-user-select:none;-moz-user-select:none;padding:0;font-weight:bold;height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator, [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-header .mat-expansion-indicator{display:flex;align-items:center;justify-content:center;height:24px;width:24px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%]{margin-bottom:.75rem;text-align:center;margin-top:2.25rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%], [_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .anatomical-structures-menu[_ngcontent-%COMP%] .expansion-content[_ngcontent-%COMP%] .expansion-placeholder[_ngcontent-%COMP%]{width:100%;font-size:.9rem;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .extraction-site-tooltip[_ngcontent-%COMP%]{position:absolute;top:4rem;left:27rem;width:21rem;padding:1rem;border-radius:.5rem;border:1px solid;z-index:2}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})(),Zke=(()=>{class n{constructor(t,i,r){this.drawer=t,this.cdr=r,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new Te;const s=i.connect(this);this.subscriptions.add(s.getMessagesFromSource(t).subscribe(o=>{this.handleMessage(o)&&r.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",i="arrow_left";return"end"===this.position&&([t,i]=[i,t]),this.opened?i:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:i,expanded:r}=t;i?r?t.closeExpanded():t.close():t.open()}}return n.\u0275fac=function(t){return new(t||n)(E(ZF),E(_0),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,i){2&t&&(Rn(i.className),st("ccf-drawer-toggle-button-end",i.classEnd))},decls:4,vars:4,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,i){1&t&&(R(0,"mat-icon",0),ge("click",function(){return i.toggle()}),De(1," arrow_right\n"),k(),R(2,"mat-icon",0),ge("click",function(){return i.toggle()}),De(3," arrow_left\n"),k()),2&t&&(st("hidden","arrow_left"===i.icon),G(2),st("hidden","arrow_right"===i.icon))},directives:[rs],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;transition:.25s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:absolute;right:0rem;transition:.6s;padding-left:.15rem}[_nghost-%COMP%] .expand-collapse-icon.hidden[_ngcontent-%COMP%]{opacity:0}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}.mat-icon[_ngcontent-%COMP%]{right:.3rem;top:.675rem;padding-top:.05rem}"],changeDetection:0}),n})();const Y9={x:10,y:10,z:10};let Qke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-block-size-input",this.blockSize=Y9,this.blockSizeChange=new Le}updateBlockSizes(t,i){const r=t.target;this.blockSize=Object.assign(Object.assign({},this.blockSize),{[i]:+r.value}),this.ga.event("block_size_change","block_size_input",i,this.blockSize[i]),this.blockSizeChange.emit(this.blockSize)}refreshBlockSize(){this.blockSize=Y9,this.ga.event("block_size_reset","block_size_input"),this.blockSizeChange.emit(this.blockSize)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-block-size-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{blockSize:"blockSize"},outputs:{blockSizeChange:"blockSizeChange"},decls:19,vars:5,consts:[["matTooltip","Set the tissue block width, height and depth (dimensions)",1,"header"],[1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"size-inputs"],["floatLabel","always",1,"field"],[1,"text","label"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block width.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block height.",1,"input",3,"value","input"],["matInput","","type","number","placeholder","","matTooltip","Enter tissue block depth.",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Dimensions (mm)"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshBlockSize()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Width (X)"),k(),R(10,"input",7),ge("input",function(s){return i.updateBlockSizes(s,"x")}),k(),k(),R(11,"mat-form-field",5),R(12,"mat-label",6),De(13,"Height (Y)"),k(),R(14,"input",8),ge("input",function(s){return i.updateBlockSizes(s,"y")}),k(),k(),R(15,"mat-form-field",5),R(16,"mat-label",6),De(17,"Depth (Z)"),k(),R(18,"input",9),ge("input",function(s){return i.updateBlockSizes(s,"z")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.blockSize.x),G(4),ie("value",i.blockSize.y),G(4),ie("value",i.blockSize.z))},directives:[dc,rs,Js,am,Gf,Xb],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;height:1.5rem;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .size-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const X9={thickness:NaN,numSlices:NaN};let Jke=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-slices-input",this.slicesConfig=X9,this.slicesConfigChange=new Le}get hasThicknessValue(){return!isNaN(this.slicesConfig.thickness)}updateSlicesData(t,i){const{value:r}=t.target;this.slicesConfig=Object.assign(Object.assign({},this.slicesConfig),{[i]:""!==r?+r:NaN}),this.ga.event("slice_config_update","slice_input",i,this.slicesConfig[i]),this.slicesConfigChange.emit(this.slicesConfig)}refreshSlices(){this.slicesConfig=X9,this.ga.event("slice_config_reset","slice_input"),this.slicesConfigChange.emit(this.slicesConfig)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-slices-input"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{slicesConfig:"slicesConfig"},outputs:{slicesConfigChange:"slicesConfigChange"},decls:17,vars:6,consts:[[1,"header"],["matTooltip","\u201cAdd thickness of tissue sections and the total number of sections",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","refresh",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slices-inputs"],[1,"field"],[1,"text","label"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter thickness of tissue sections",1,"input",3,"value","input"],["matSuffix","",1,"suffix"],["matInput","","ccfNumbersOnly","","type","number","matTooltip","Enter total number of sections",1,"input",3,"value","input"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Sections"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.refreshSlices()}),De(5," refresh "),k(),k(),R(6,"div",4),R(7,"mat-form-field",5),R(8,"mat-label",6),De(9,"Thickness"),k(),R(10,"input",7),ge("input",function(s){return i.updateSlicesData(s,"thickness")}),k(),R(11,"div",8),De(12,"\u03bcm"),k(),k(),R(13,"mat-form-field",5),R(14,"mat-label",6),De(15,"# Sections"),k(),R(16,"input",9),ge("input",function(s){return i.updateSlicesData(s,"numSlices")}),k(),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("value",i.slicesConfig.thickness),G(1),st("show",i.hasThicknessValue),G(5),ie("value",i.slicesConfig.numSlices))},directives:[dc,rs,Js,am,Gf,Xb,WPe,VO],styles:["[_nghost-%COMP%] input[type=number][_ngcontent-%COMP%]{-moz-appearance:textfield}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:33.33%}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(:last-child){padding-right:.75rem}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field.mat-focused[_ngcontent-%COMP%] .suffix[_ngcontent-%COMP%], [_nghost-%COMP%] .slices-inputs[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .suffix.show[_ngcontent-%COMP%]{display:initial}[_nghost-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();const K9={x:0,y:0,z:0};let eFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-rotation-slider",this.rotation=K9,this.rotationChange=new Le}changeRotation(t,i){this.rotation=Object.assign(Object.assign({},this.rotation),{[i]:+t}),this.ga.event("rotation_update","rotation_slider",i,+t),this.rotationChange.emit(this.rotation)}resetRotation(){this.rotation=K9,this.ga.event("rotation_reset","rotation_slider"),this.rotationChange.emit(this.rotation)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-rotation-slider"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{rotation:"rotation"},outputs:{rotationChange:"rotationChange"},decls:27,vars:23,consts:[[1,"header"],["matTooltip","Use sliders below to rotate tissue block for registration",1,"text","title"],[1,"filler"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"slider-box","red"],[1,"text","label"],[1,"slider-container"],[1,"slider",3,"max","min","step","thumbLabel","tickInterval","value","input"],[1,"text","value"],[1,"slider-box","green"],[1,"slider-box","blue"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"span",1),De(2,"Tissue Block Rotation"),k(),tt(3,"div",2),R(4,"mat-icon",3),ge("click",function(){return i.resetRotation()}),De(5,"refresh"),k(),k(),R(6,"div",4),R(7,"span",5),De(8,"X"),k(),R(9,"div",6),R(10,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"x")}),k(),k(),R(11,"span",8),De(12),k(),k(),R(13,"div",9),R(14,"span",5),De(15,"Y"),k(),R(16,"div",6),R(17,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"y")}),k(),k(),R(18,"span",8),De(19),k(),k(),R(20,"div",10),R(21,"span",5),De(22,"Z"),k(),R(23,"div",6),R(24,"mat-slider",7),ge("input",function(s){return i.changeRotation(s.value,"z")}),k(),k(),R(25,"span",8),De(26),k(),k()),2&t&&(G(4),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(6),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.x),G(2),xi(i.rotation.x),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.y),G(2),xi(i.rotation.y),G(5),ie("max",180)("min",-180)("step",1)("thumbLabel",!0)("tickInterval",180)("value",i.rotation.z),G(2),xi(i.rotation.z))},directives:[dc,rs,Js,jk],styles:["[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:1.5rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]:hover{border-radius:2px}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;height:4rem;padding-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:1rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{width:2.75rem;text-align:center}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{width:100%;padding:1rem 2rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:not(.cdk-focused) .mat-slider-thumb{width:1.25rem;height:1.25rem;transform:none}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper{right:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-wrapper:after{margin-top:-.25rem;height:.625rem!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container{margin-top:-.25rem;height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .mat-slider-horizontal .mat-slider-ticks-container .mat-slider-ticks{height:.625rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function nFe(n){const{subscriber:e,counter:t,period:i}=n;e.next(t),this.schedule({subscriber:e,counter:t+1,period:i},i)}const iFe=["closeSearch"];function rFe(n,e){if(1&n){const t=Zi();R(0,"div",12),R(1,"mat-checkbox",13),ge("ngModelChange",function(r){const o=en(t).$implicit;return Qe(2).checkedResults[o.id]=r}),De(2),k(),k()}if(2&n){const t=e.$implicit,i=Qe(2);G(1),ie("ngModel",i.checkedResults[t.id]),G(1),or(" ",t.label," ")}}function sFe(n,e){if(1&n&&(R(0,"div",9),mt(1,rFe,3,2,"div",10),R(2,"div",11),De(3),Kt(4,"i18nPlural"),k(),k()),2&n){const t=Qe();G(1),ie("ngForOf",t.searchResults.results)("ngForTrackBy",t.tagId),G(2),or(" ",gv(4,3,t.searchResults.totalCount,t.countMapping)," ")}}const Z9=5,Ex={totalCount:0,results:[]};class Ep{constructor(e,t,i){this.el=e,this.ga=t,this.clsName="ccf-tag-search",this.placeholder="Add Anatomical Structures ...",this.added=new Le,this.countMapping={"=1":"1 result",other:"# results"},this.searchControl=new Sh,this.searchResults=Ex,this.checkedResults={},this.resultsVisible=!1,this.destroy$=new Se,this.searchControl.valueChanges.pipe(Tn(this.destroy$),function(n,e=uW){return t=>t.lift(new z1e(n,!!e.leading,!!e.trailing))}(()=>{var r;return function(n=0,e=Pf){return(!WO(n)||n<0)&&(n=0),(!e||"function"!=typeof e.schedule)&&(e=Pf),new ce(t=>(t.add(e.schedule(nFe,n,{subscriber:t,counter:0,period:n})),t))}(null!==(r=this.searchThrottle)&&void 0!==r?r:100)},{leading:!0,trailing:!0}),Pr(this.executeSearch)).subscribe(r=>{this.searchResults=r,this.checkedResults=this.getUpdatedCheckedResults(r),i.markForCheck()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}tagId(e,t){return t.id}hasCheckedTags(){return Object.values(this.checkedResults).some(e=>e)}addTags(){const{searchControl:e,searchResults:t,checkedResults:i}=this,r=t.results.filter(s=>i[s.id]);r.length>0&&(e.reset(),this.searchResults=Ex,this.checkedResults={},this.ga.event("tags_added","tag_search",r.map(s=>s.label).join(",")),this.added.emit(r))}openResults(){this.resultsVisible||(this.resultsVisible=!0)}closeResults(e){const{closeSearch:t}=this;this.resultsVisible&&e.target instanceof Node&&(!this.el.nativeElement.contains(e.target)||t.nativeElement.contains(e.target))&&(this.resultsVisible=!1)}executeSearch(e){const{search:t,searchLimit:i=Z9}=this;return e&&t?ui(t(e,i)).pipe(Ta(()=>[Ex]),Ae(this.truncateResults)):[Ex]}truncateResults(e){const{searchLimit:t=Z9}=this,i=e.results;return i.length>t?Object.assign(Object.assign({},e),{results:i.slice(0,t)}):e}getUpdatedCheckedResults(e){const t=this.checkedResults;return e.results.reduce((i,{id:r})=>{var s;return i[r]=null!==(s=t[r])&&void 0!==s&&s,i},{})}}function aFe(n,e){if(1&n&&(R(0,"div",11),R(1,"div",12),De(2),k(),R(3,"div",13),De(4),k(),k()),2&n){const t=e.$implicit;G(2),xi(t.label),G(2),xi(t.value)}}Ep.\u0275fac=function(e){return new(e||Ep)(E(rt),E(xs),E(kn))},Ep.\u0275cmp=Ne({type:Ep,selectors:[["ccf-tag-search"]],viewQuery:function(e,t){if(1&e&&Jn(iFe,5,rt),2&e){let i;_t(i=yt())&&(t.closeSearch=i.first)}},hostVars:2,hostBindings:function(e,t){1&e&&ge("click",function(){return t.openResults()})("focusin",function(){return t.openResults()})("click",function(r){return t.closeResults(r)},!1,ly)("focusin",function(r){return t.closeResults(r)},!1,ly),2&e&&Rn(t.clsName)},inputs:{placeholder:"placeholder",search:"search",searchLimit:"searchLimit",searchThrottle:"searchThrottle"},outputs:{added:"added"},decls:10,vars:8,consts:[[1,"spacer"],["appearance","outline",1,"overlay"],[1,"search-box"],["matInput","","type","search",3,"placeholder","formControl"],["search",""],["matSuffix","",1,"add-button",3,"disabled","click"],["closeSearch",""],[1,"icon"],["class","results",4,"ngIf"],[1,"results"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"count"],[1,"item"],["labelPosition","after",3,"ngModel","ngModelChange"]],template:function(e,t){if(1&e){const i=Zi();tt(0,"div",0),R(1,"mat-form-field",1),R(2,"div",2),tt(3,"input",3,4),R(5,"button",5,6),ge("click",function(){en(i);const s=vs(4);return t.addTags(),s.focus()}),R(7,"mat-icon",7),De(8,"add"),k(),k(),k(),mt(9,sFe,5,6,"div",8),k()}2&e&&(G(1),st("expanded",t.resultsVisible),G(2),ie("placeholder",t.placeholder)("formControl",t.searchControl),G(2),st("active",t.hasCheckedTags()),ie("disabled",!t.hasCheckedTags()),G(4),ie("ngIf",t.resultsVisible))},directives:[am,Xb,Hb,vk,GM,VO,rs,zr,pl,VF,Ok],pipes:[eV],styles:["[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .spacer[_ngcontent-%COMP%]{height:3.25rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:10}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;height:3rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%] .add-button[_ngcontent-%COMP%]{border-radius:.25rem;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;height:100%}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-top:.5rem;font-size:.75rem;text-align:end}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0;border-radius:.5rem}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex{padding-right:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline{opacity:1!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-outline-thick{opacity:0!important}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .mat-form-field-infix{padding:.313rem .063rem .063rem;border:0}[_nghost-%COMP%] .overlay.expanded[_ngcontent-%COMP%] .mat-form-field-wrapper{box-shadow:0 0 .3rem .1rem #9e9e9e5e}"],changeDetection:0}),xe([lu.ak],Ep.prototype,"executeSearch",null),xe([lu.ak],Ep.prototype,"truncateResults",null);let lFe=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.clsName="ccf-review-modal",this.metaData=i.metaData,this.registrationCallbackSet=i.registrationCallbackSet}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(E(Qm),E(Gk))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-modal"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:14,vars:2,consts:[[1,"ccf-about","wrapper"],[1,"container"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"content"],["mat-dialog-title","",1,"title"],[1,"mat-typography"],[1,"display-fields"],["class","field",4,"ngFor","ngForOf"],[1,"footer"],["mat-button","",1,"download-button",3,"click"],[1,"field"],[1,"label"],[1,"data"]],template:function(t,i){1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),R(3,"mat-icon",3),ge("click",function(){return i.close()}),De(4,"clear"),k(),k(),R(5,"div",4),R(6,"h2",5),De(7,"Registration Review"),k(),R(8,"mat-dialog-content",6),R(9,"div",7),mt(10,aFe,5,2,"div",8),k(),k(),R(11,"div",9),R(12,"button",10),ge("click",function(){return i.dialogRef.close(!0)}),De(13),k(),k(),k(),k(),k()),2&t&&(G(10),ie("ngForOf",i.metaData),G(3),xi(i.registrationCallbackSet?"REGISTER":"DOWNLOAD REGISTRATION DATA"))},directives:[rs,Wk,qk,pl,lh],styles:[".mat-dialog-container{padding:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;background-color:#fff}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{text-align:center;font-size:1.5rem;margin-bottom:0}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%]{justify-content:space-around;display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem;width:100%}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:50%;text-align:right;padding-right:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .mat-typography[_ngcontent-%COMP%] .display-fields[_ngcontent-%COMP%] .field[_ngcontent-%COMP%] .data[_ngcontent-%COMP%]{width:50%;text-align:left;padding-left:1rem}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{float:right;margin-top:1rem;margin-right:1rem;cursor:pointer}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{padding-top:1.5rem;display:flex;justify-content:space-around}[_nghost-%COMP%] .ccf-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .review-button[_ngcontent-%COMP%]{height:3rem;transition:.6s}"]}),n})(),cFe=(()=>{class n{constructor(t,i){this.dialog=t,this.ga=i,this.clsName="ccf-review-button",this.registrationCallbackSet=!0,this.metaData=[],this.displayErrors=!0,this.registrationIsValid=!1,this.registerData=new Le,this.enterErrorMode=new Le}ngOnChanges(){this.registrationIsValid=this.metaData.length>=3&&this.metaData.slice(0,3).every(t=>t.value)}get disabled(){return!this.registrationIsValid}registerButtonClick(t){return t&&t.preventDefault(),this.enterErrorMode.emit(),this.registrationIsValid&&(this.ga.event("review_start","review_button"),this.launchReviewModal()),!1}launchReviewModal(){this.dialog.open(lFe,{panelClass:"modal-animated",width:"60rem",data:{registrationCallbackSet:this.registrationCallbackSet,metaData:this.metaData}}).afterClosed().subscribe(i=>{i&&(this.ga.event("register","review_button"),this.registerData.emit())})}}return n.\u0275fac=function(t){return new(t||n)(E(_p),E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-review-button"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{registrationCallbackSet:"registrationCallbackSet",metaData:"metaData",displayErrors:"displayErrors",registrationIsValid:"registrationIsValid"},outputs:{registerData:"registerData",enterErrorMode:"enterErrorMode"},features:[zn],decls:2,vars:4,consts:[["mat-button","",1,"review-button",3,"matTooltip","click"]],template:function(t,i){1&t&&(R(0,"button",0),ge("click",function(s){return i.registerButtonClick(s)}),De(1),k()),2&t&&(st("disabled",i.disabled),ie("matTooltip",i.disabled?"Required: Select an organ and position tissue block inside organ.":"Review registration and submit/download."),G(1),or(" ",i.registrationCallbackSet?"REVIEW AND REGISTER":"REVIEW AND DOWNLOAD","\n"))},directives:[lh,dc],styles:[".review-button[_ngcontent-%COMP%]{width:100%;height:2.25rem;transition:.6s;font-weight:500}.review-button.disabled[_ngcontent-%COMP%]{cursor:not-allowed}"]}),n})();function uFe(n,e){if(1&n){const t=Zi();R(0,"mat-chip",2),ge("removed",function(){const s=en(t).$implicit;return Qe().removeTag(s)}),De(1),R(2,"mat-icon",3),De(3,"cancel"),k(),k()}if(2&n){const t=e.$implicit;Rn(Qe().tagClasses(t)),G(1),or(" ",t.label," ")}}let dFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-tag-list",this.tagRemoved=new Le,this.tagsChange=new Le}tagId(t,i){return i.id}tagClasses(t){return"added"===t.type?["added"]:["assigned"]}removeTag(t){this.tags=this.tags.filter(i=>i!==t),this.ga.event("tag_removed","tag_list",t.label),this.tagRemoved.emit(t),this.tagsChange.emit(this.tags)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-tag-list"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{tags:"tags"},outputs:{tagRemoved:"tagRemoved",tagsChange:"tagsChange"},decls:2,vars:2,consts:[["selectable","false"],["removable","","disableRipple","",3,"class","removed",4,"ngFor","ngForOf","ngForTrackBy"],["removable","","disableRipple","",3,"removed"],["matChipRemove","",1,"icon","remove"]],template:function(t,i){1&t&&(R(0,"mat-chip-list",0),mt(1,uFe,4,3,"mat-chip",1),k()),2&t&&(G(1),ie("ngForOf",i.tags)("ngForTrackBy",i.tagId))},directives:[z9,pl,y0,rs,B9],styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto}[_nghost-%COMP%] .mat-chip-list-wrapper{margin:0}"],changeDetection:0}),n})();function hFe(n,e){if(1&n){const t=Zi();R(0,"ccf-tag-list",20),ge("tagRemoved",function(r){return en(t),Qe().astags.removeTag(r)}),Kt(1,"async"),k()}2&n&&ie("tags",rn(1,1,Qe().astags.tags$))}function fFe(n,e){}const pFe=function(){return[]};let gFe=(()=>{class n{constructor(t,i,r,s){this.model=t,this.registration=i,this.page=r,this.astags=s,this.clsName="ccf-right-sidebar",this.modalClosed=!1}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(Sr),E(ji),E(ko))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-right-sidebar"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},inputs:{modalClosed:"modalClosed"},decls:34,vars:28,consts:[[1,"scroll-wrapper"],[1,"container"],[1,"info-button-container"],["videoID","gY3_-LIoKaU","infoTitle","CCF Registration User Interface"],[3,"blockSize","blockSizeChange"],[3,"slicesConfig","slicesConfigChange"],[3,"rotation","rotationChange"],[1,"tags-container",3,"expanded"],[1,"header"],["matTooltip","Review tags generated via collision detection. Add or delete tags as needed."],[3,"search","added"],["class","tag-list",3,"tags","tagRemoved",4,"ngIf","ngIfElse"],["tagListPlaceholder",""],[1,"legend"],[1,"dot","assigned"],[1,"text","assigned"],[1,"dot","added"],[1,"text","added"],[1,"filler"],[3,"registrationCallbackSet","displayErrors","registrationIsValid","metaData","registerData","enterErrorMode"],[1,"tag-list",3,"tags","tagRemoved"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"div",1),R(2,"div",2),tt(3,"ccf-info-button",3),k(),R(4,"ccf-block-size-input",4),ge("blockSizeChange",function(s){return i.model.setBlockSize(s)}),Kt(5,"async"),k(),R(6,"ccf-slices-input",5),ge("slicesConfigChange",function(s){return i.model.setSlicesConfig(s)}),Kt(7,"async"),k(),R(8,"ccf-rotation-slider",6),ge("rotationChange",function(s){return i.model.setRotation(s)}),Kt(9,"async"),k(),tt(10,"mat-divider"),R(11,"mat-expansion-panel",7),R(12,"mat-expansion-panel-header",8),R(13,"mat-panel-title",9),De(14,"Anatomical Structure Tags"),k(),k(),R(15,"ccf-tag-search",10),ge("added",function(s){return i.astags.addTags(s)}),k(),mt(16,hFe,2,3,"ccf-tag-list",11),Kt(17,"async"),mt(18,fFe,0,0,"ng-template",null,12,jw),R(20,"div",13),tt(21,"span",14),R(22,"span",15),De(23,"Assigned"),k(),tt(24,"span",16),R(25,"span",17),De(26,"Added"),k(),k(),k(),tt(27,"mat-divider"),tt(28,"div",18),R(29,"ccf-review-button",19),ge("registerData",function(){return i.registration.register()})("enterErrorMode",function(){return i.registration.setDisplayErrors(!i.registration.isValid)}),Kt(30,"async"),Kt(31,"async"),Kt(32,"async"),Kt(33,"async"),k(),k(),k()),2&t){const r=vs(19);let s,o;G(4),ie("blockSize",rn(5,11,i.model.blockSize$)),G(2),ie("slicesConfig",rn(7,13,i.model.slicesConfig$)),G(2),ie("rotation",rn(9,15,i.model.rotation$)),G(3),ie("expanded",i.modalClosed),G(4),ie("search",i.astags.searchExternal),G(1),ie("ngIf",null==(s=rn(17,17,i.model.organ$))?null:s.name)("ngIfElse",r),G(13),ie("registrationCallbackSet",rn(30,19,i.page.registrationCallbackSet$))("displayErrors",rn(31,21,i.registration.displayErrors$))("registrationIsValid",rn(32,23,i.registration.valid$))("metaData",null!==(o=rn(33,25,i.registration.metadata$))&&void 0!==o?o:fv(27,pFe))}},directives:[UPe,Qke,Jke,eFe,n9,qM,YM,EW,dc,Ep,zr,cFe,dFe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 3rem);margin-top:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]{height:100%;margin-right:.375rem;scrollbar-width:thin}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%]::-webkit-scrollbar{width:.75rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100%;margin-left:1.5rem;margin-right:.375rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .info-button-container[_ngcontent-%COMP%]{height:3.75rem;display:flex;justify-content:flex-end}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:3px}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] mat-expansion-panel[_ngcontent-%COMP%] mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0 .5rem 0 0;font-weight:bold;-webkit-user-select:none;-moz-user-select:none;font-size:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%]{overflow:visible}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .mat-expansion-panel-body{padding-left:0;padding-right:0}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{height:3rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{margin-top:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] .icon.add[_ngcontent-%COMP%]{position:absolute;width:3.625rem;height:3.625rem;font-size:3.625rem;top:-1.9375rem;right:-1.1875rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list[_ngcontent-%COMP%]{max-height:32rem;margin-left:-1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .tag-list-placeholder[_ngcontent-%COMP%]{display:flex;height:4rem;align-items:center;justify-content:center;font-weight:400}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%]{display:flex;width:100%;margin-top:1.5rem;align-items:center;font-size:.9rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{display:inline-block;width:1rem;height:1rem;border-radius:50%}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.assigned[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .dot.added[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .tags-container[_ngcontent-%COMP%] .legend[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .scroll-wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}"],changeDetection:0}),n})();function Q9(n,e){return Zo((t,i)=>e?e(t[n],i[n]):t[n]===i[n])}const mFe=["input"],_Fe=function(n){return{enterDuration:n}},yFe=["*"],vFe=new ve("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let J9=0;const CFe={provide:ro,useExisting:T(()=>i7),multi:!0};class e7{constructor(e,t){this.source=e,this.value=t}}const t7=new ve("MatRadioGroup");let n7=(()=>{class n{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+J9++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Le}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=Mt(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=Mt(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(i=>{i.checked=this.value===i.value,i.checked&&(this._selected=i)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new e7(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return n.\u0275fac=function(t){return new(t||n)(E(kn))},n.\u0275dir=oe({type:n,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),n})(),i7=(()=>{class n extends n7{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=$n(n)))(i||n)}}(),n.\u0275dir=oe({type:n,selectors:[["mat-radio-group"]],contentQueries:function(t,i,r){if(1&t&&ei(r,r7,5),2&t){let s;_t(s=yt())&&(i._radios=s)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Dt([CFe,{provide:t7,useExisting:n}]),ct]}),n})();class wFe{constructor(e){this._elementRef=e}}const EFe=nc(Hf(wFe));let SFe=(()=>{class n extends EFe{constructor(t,i,r,s,o,a,l,c){super(i),this._changeDetector=r,this._focusMonitor=s,this._radioDispatcher=o,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++J9,this.id=this._uniqueId,this.change=new Le,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===a,c&&(this.tabIndex=To(c,0)),this._removeUniqueSelectionListener=o.listen((d,f)=>{d!==this.id&&f===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const i=Mt(t);this._checked!==i&&(this._checked=i,i&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!i&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),i&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(Mt(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=Mt(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new e7(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(E(n7),E(rt),E(kn),E(Sa),E(cS),E(String),E(void 0),E(String))},n.\u0275dir=oe({type:n,viewQuery:function(t,i){if(1&t&&Jn(mFe,5),2&t){let r;_t(r=yt())&&(i._inputElement=r.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[ct]}),n})(),r7=(()=>{class n extends SFe{constructor(t,i,r,s,o,a,l,c){super(t,i,r,s,o,a,l,c)}}return n.\u0275fac=function(t){return new(t||n)(E(t7,8),E(rt),E(kn),E(Sa),E(cS),E(Do,8),E(vFe,8),Zr("tabindex"))},n.\u0275cmp=Ne({type:n,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,i){1&t&&ge("focus",function(){return i._inputElement.nativeElement.focus()}),2&t&&(nn("tabindex",null)("id",i.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),st("mat-radio-checked",i.checked)("mat-radio-disabled",i.disabled)("_mat-animation-noopable",i._noopAnimations)("mat-primary","primary"===i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[ct],ngContentSelectors:yFe,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,i){if(1&t&&(wi(),R(0,"label",0,1),R(2,"span",2),tt(3,"span",3),tt(4,"span",4),R(5,"input",5,6),ge("change",function(s){return i._onInputInteraction(s)})("click",function(s){return i._onInputClick(s)}),k(),R(7,"span",7),tt(8,"span",8),k(),k(),R(9,"span",9),R(10,"span",10),De(11,"\xa0"),k(),Ht(12),k(),k()),2&t){const r=vs(1);nn("for",i.inputId),G(5),ie("id",i.inputId)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex)("required",i.required),nn("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),G(2),ie("matRippleTrigger",r)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Hg(18,_Fe,i._noopAnimations?0:150)),G(2),st("mat-radio-label-before","before"==i.labelPosition)}},directives:[Js],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),n})(),MFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[_l,On],On]}),n})();const xFe=["label"],TFe=["options"],AFe=function(){return["Register","3D\xa0Preview"]};let DFe=(()=>{class n{constructor(t){this.ga=t,this.clsName="ccf-stage-nav",this.side="anterior",this.view3D=!1,this.sideChange=new Le,this.view3DChange=new Le,this.isDropdownActive=!1,this.isDropdownHidden=!0}set useDropdownMenu(t){this.isDropdownActive=t,this.isDropdownHidden=!0}get labelEl(){return this.labelRef.nativeElement}get optionsEl(){return this.optionsRef.nativeElement}handleClick(t){const{isDropdownHidden:i,labelEl:r,optionsEl:s}=this;r.contains(t)?this.isDropdownHidden=!i:s.contains(t)||(this.isDropdownHidden=!0)}updateSide(t){this.ga.event("side_update","stage_nav",t),"3D"===t?this.updateView(!0):(this.updateView(!1),this.side=t,this.sideChange.emit(this.side))}updateView(t){this.view3D=t,this.ga.event("view_update","stage_nav",t?"3D":"Register"),this.view3DChange.emit(this.view3D)}}return n.\u0275fac=function(t){return new(t||n)(E(xs))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-stage-nav"]],viewQuery:function(t,i){if(1&t&&(Jn(xFe,7),Jn(TFe,7)),2&t){let r;_t(r=yt())&&(i.labelRef=r.first),_t(r=yt())&&(i.optionsRef=r.first)}},hostVars:2,hostBindings:function(t,i){1&t&&ge("click",function(s){return i.handleClick(s.target)},!1,sg),2&t&&Rn(i.clsName)},inputs:{useDropdownMenu:"useDropdownMenu",side:"side",view3D:"view3D"},outputs:{sideChange:"sideChange",view3DChange:"view3DChange"},decls:18,vars:10,consts:[[1,"dropdown-label"],["label",""],[1,"stage-options"],["options",""],[1,"input-group",3,"value","change"],["value","left",1,"nav-input"],["value","right",1,"nav-input"],["value","anterior","checked","",1,"nav-input"],["value","posterior",1,"nav-input"],["matTooltip","Change view.",1,"view-slider",3,"labels","value","valueChange"]],template:function(t,i){1&t&&(R(0,"div",0,1),R(2,"mat-label"),De(3,"Options"),k(),R(4,"mat-icon"),De(5,"arrow_drop_down"),k(),k(),R(6,"div",2,3),R(8,"mat-radio-group",4),ge("change",function(s){return i.updateSide(s.value)}),R(9,"mat-radio-button",5),De(10,"Left"),k(),R(11,"mat-radio-button",6),De(12,"Right"),k(),R(13,"mat-radio-button",7),De(14,"Anterior"),k(),R(15,"mat-radio-button",8),De(16,"Posterior"),k(),k(),R(17,"ccf-labeled-slide-toggle",9),ge("valueChange",function(s){return i.updateView("Register"!==s)}),k(),k()),2&t&&(st("dropdown",i.isDropdownActive),G(6),st("dropdowncontainer",i.isDropdownActive)("hidden",i.isDropdownActive&&i.isDropdownHidden),G(2),ie("value",i.side),G(9),ie("labels",fv(9,AFe))("value",i.view3D?"3D\xa0Preview":"Register"))},directives:[Gf,rs,i7,r7,XF,dc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex-wrap:wrap}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%]{display:none;align-items:center}[_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-label[_ngcontent-%COMP%], [_nghost-%COMP%] .dropdown-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:1.5rem}[_nghost-%COMP%] .dropdown-label.dropdown[_ngcontent-%COMP%]{display:flex;cursor:pointer;align-items:start}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{margin-right:1.5rem;margin-bottom:1.5rem}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{margin-left:-1rem;margin-bottom:1.5rem;white-space:nowrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%]{display:flex;flex-direction:column;border-radius:.25rem;width:16.5rem;position:absolute;top:3.5rem;z-index:1;transition:opacity .25s}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:first-child{margin-top:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child{margin-bottom:.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%]{margin-left:1.5rem;margin-right:0;display:flex;flex-wrap:wrap}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .nav-input[_ngcontent-%COMP%]{display:flex;margin:0 1.5rem 0 0;height:2.5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] .view-slider[_ngcontent-%COMP%]{display:flex;align-items:center;height:3rem;margin:0 .5rem}[_nghost-%COMP%] .stage-options.dropdowncontainer[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:visible;border-top:2px solid}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%]{visibility:hidden;opacity:0;transition:visibility .25s,opacity .25s}[_nghost-%COMP%] .stage-options.hidden[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{visibility:hidden}"],changeDetection:0}),n})();function OFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",16),ge("rotationChange",function(r){en(t),Qe();const s=vs(24);return s.rotation=r[0],s.rotationX=r[1]}),Kt(1,"async"),Kt(2,"async"),Kt(3,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,5,t.scene.nodes$))("rotation",rn(2,7,t.scene.rotation$))("bounds",rn(3,9,t.bounds$))("zoom",11.5)("interactive",!0)}}function IFe(n,e){if(1&n){const t=Zi();R(0,"ccf-body-ui",17),ge("nodeDrag",function(r){return en(t),Qe().handleNodeDrag(r)}),Kt(1,"async"),Kt(2,"async"),k()}if(2&n){const t=Qe();ie("scene",rn(1,4,t.scene.rotatedNodes$))("interactive",!1)("bounds",rn(2,6,t.bounds$))("zoom",11.5)}}function PFe(n,e){1&n&&tt(0,"ccf-store-debug",18)}function RFe(n,e){if(1&n){const t=Zi();R(0,"div",19),R(1,"button",20),ge("click",function(){en(t);const r=Qe();return r.debugMode=!r.debugMode}),De(2,"State"),k(),R(3,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!0)}),De(4,"Use callback"),k(),R(5,"button",21),ge("click",function(){return en(t),Qe().registration.setUseRegistrationCallback(!1)}),De(6,"Use download"),k(),k()}}let kFe=(()=>{class n{constructor(t,i,r,s,o,a){this.model=t,this.page=i,this.registration=r,this.scene=s,this.rootRef=o,this.cdr=a,this.clsName="ccf-content",this.position$=this.model.position$.pipe(Ae(l=>({x:Math.floor(l.x),y:Math.floor(l.y),z:Math.floor(l.z)}))),this.is3DView$=this.model.viewType$.pipe(Ae(l=>"3d"===l)),this.bounds$=this.model.organDimensions$.pipe(Ae(l=>({x:Math.max(l.x,this.model.defaultPosition.x+40)/1e3,y:Math.max(l.y,this.model.defaultPosition.y+40)/1e3,z:Math.max(l.z,this.model.defaultPosition.z+40)/1e3})),Q9("x"),Q9("y")),this.isNarrowView=!1,this.debugMode=!1,this.showDebugButtons=!hu.production}ngOnInit(){this.sensor=new hW.ResizeSensor(this.rootRef.nativeElement,({width:t})=>{const i=t<440;this.isNarrowView!==i&&(this.isNarrowView=i,this.cdr.markForCheck())})}ngOnDestroy(){this.sensor.detach()}setViewType(t){this.model.setViewType(t?"3d":"register")}resetStage(){this.model.setPosition(this.model.defaultPosition),this.model.setViewSide("anterior"),this.model.setViewType("register")}handleNodeDrag(t){if("#DraftPlacement"===t.node["@id"]&&t.info.coordinate){const[i,r]=t.info.coordinate.map(d=>1e3*d),{position:s,viewSide:o,organDimensions:a}=this.model.snapshot,l=[a.x,a.y,a.z].map(d=>d/2);let c=s;switch(o){case"anterior":c={x:i+l[0],y:r+l[1],z:s.z};break;case"posterior":c={x:-i+l[0],y:r+l[1],z:s.z};break;case"left":c={x:s.x,y:r+l[1],z:-i+l[2]};break;case"right":c={x:s.x,y:r+l[1],z:i+l[2]}}this.model.setPosition(c)}}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(Sr),E(as),E(rt),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-content"]],hostVars:2,hostBindings:function(t,i){2&t&&Rn(i.clsName)},decls:29,vars:34,consts:[[1,"top-bar"],[3,"useDropdownMenu","view3D","side","view3DChange","sideChange"],["matRipple","","matRippleColor","rgba(204, 204, 204, 0.25)",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"],[1,"main-content"],["class","body-ui","camera","perspective",3,"scene","rotation","bounds","zoom","interactive","rotationChange",4,"ngIf"],["class","body-ui","camera","orthographic",3,"scene","interactive","bounds","zoom","nodeDrag",4,"ngIf"],[1,"gizmo-area"],[1,"position-display"],[1,"position"],[1,"x"],[1,"y"],[1,"z"],[1,"gizmo",3,"scene","rotation","interactive","zoom"],["gizmo",""],["class","debug",4,"ngIf"],["style","position: absolute; bottom: 1rem; display: flex; flex-direction: row; justify-content: space-between; width: 7rem;",4,"ngIf"],["camera","perspective",1,"body-ui",3,"scene","rotation","bounds","zoom","interactive","rotationChange"],["camera","orthographic",1,"body-ui",3,"scene","interactive","bounds","zoom","nodeDrag"],[1,"debug"],[2,"position","absolute","bottom","1rem","display","flex","flex-direction","row","justify-content","space-between","width","7rem"],[2,"width","3rem","font-size",".7rem",3,"click"],[3,"click"]],template:function(t,i){if(1&t&&(R(0,"div",0),R(1,"ccf-stage-nav",1),ge("view3DChange",function(s){return i.setViewType(s)})("sideChange",function(s){return i.model.setViewSide(s)}),Kt(2,"async"),Kt(3,"async"),k(),R(4,"mat-icon",2),ge("click",function(){return i.resetStage()}),De(5,"refresh"),k(),k(),R(6,"div",3),mt(7,OFe,4,11,"ccf-body-ui",4),Kt(8,"async"),mt(9,IFe,3,8,"ccf-body-ui",5),Kt(10,"async"),R(11,"div",6),R(12,"div",7),R(13,"div",8),R(14,"div",9),De(15),Kt(16,"async"),k(),R(17,"div",10),De(18),Kt(19,"async"),k(),R(20,"div",11),De(21),Kt(22,"async"),k(),k(),k(),tt(23,"ccf-body-ui",12,13),Kt(25,"async"),Kt(26,"async"),k(),k(),mt(27,PFe,1,0,"ccf-store-debug",14),mt(28,RFe,7,0,"div",15)),2&t){let r,s,o;G(1),ie("useDropdownMenu",i.isNarrowView)("view3D",rn(2,16,i.is3DView$))("side",rn(3,18,i.model.viewSide$)),G(3),ie("matRippleCentered",!0)("matRippleUnbounded",!0),G(3),ie("ngIf","3d"===rn(8,20,i.model.viewType$)),G(2),ie("ngIf","register"===rn(10,22,i.model.viewType$)),G(6),or("X: ",null==(r=rn(16,24,i.position$))?null:r.x,""),G(3),or("Y: ",null==(s=rn(19,26,i.position$))?null:s.y,""),G(3),or("Z: ",null==(o=rn(22,28,i.position$))?null:o.z,""),G(2),ie("scene",rn(25,30,i.scene.gizmo$))("rotation",rn(26,32,i.scene.rotation$))("interactive",!1)("zoom",9.5),G(4),ie("ngIf",i.showDebugButtons&&i.debugMode),G(1),ie("ngIf",i.showDebugButtons)}},directives:[DFe,rs,Js,zr,mPe,SPe],pipes:[Hc],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;padding:1.5rem;overflow:hidden}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .top-bar[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{transform:scaleX(-1);cursor:pointer;transition:.6s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{display:flex;height:calc(100% - 1rem)}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .body-ui[_ngcontent-%COMP%]{flex:auto;transition:opacity 1s}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%]{width:4rem;margin-top:1.5rem;margin-left:1.5rem;z-index:10}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .position-display[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%]{height:5.5rem}[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .gizmo-area[_ngcontent-%COMP%] .gizmo[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{opacity:0;z-index:0}[_nghost-%COMP%] .ccf-store-debug[_ngcontent-%COMP%]{color:#fff;position:absolute;top:.5rem;max-width:55rem}"],changeDetection:0}),n})();function FFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t),Qe();const r=vs(15);return r.expanded=!r.expanded}),R(1,"mat-icon",12),De(2),k(),k()}if(2&n){Qe();const t=vs(15);G(2),or(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function NFe(n,e){if(1&n){const t=Zi();R(0,"div",11),ge("click",function(){en(t);const r=Qe();return r.open=!r.open}),R(1,"mat-icon",13),De(2),k(),k()}if(2&n){const t=Qe();G(2),or(" ",t.open?"arrow_drop_up":"arrow_drop_down"," ")}}const LFe=function(n){return[n]};let BFe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,d){this.model=t,this.page=i,this.consentService=r,this.snackbar=s,this.theming=o,this.globalConfig=c,this.organList=qF,this.open=!0,this.registrationStarted=!1,this.disablePositionChange=!1,this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new If(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.subscriptions=new Te,o.initialize(a,l),this.subscriptions.add(i.registrationCallbackSet$.subscribe(f=>{this.open=!f})),this.subscriptions.add(i.registrationStarted$.subscribe(f=>{this.registrationStarted=f})),this.theme$.subscribe(f=>{this.theme=f}),this.globalConfig.getOption("homeUrl").subscribe(f=>{this.homeUrl=f}),this.globalConfig.getOption("logoTooltip").subscribe(f=>{this.logoTooltip=f}),Qi([this.theme$,this.themeMode$]).subscribe(([f,p])=>{this.theming.setTheme(`${f}-theme-${p}`),d.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(eRe,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});this.themeMode$.next("light"),this.theming.setTheme(`${this.theme}-theme-light`)}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}handleKey(t){const i=this.model.snapshot.position;if(this.disablePositionChange||!this.registrationStarted)return;t.preventDefault();const r=t.repeat?1:.5;let s=i;switch(t.key){case"q":s=Object.assign(Object.assign({},i),{z:i.z+r});break;case"e":s=Object.assign(Object.assign({},i),{z:i.z-r});break;case"w":s=Object.assign(Object.assign({},i),{y:i.y+r});break;case"s":s=Object.assign(Object.assign({},i),{y:i.y-r});break;case"a":s=Object.assign(Object.assign({},i),{x:i.x-r});break;case"d":s=Object.assign(Object.assign({},i),{x:i.x+r})}this.model.setPosition(s)}handleClick(t){this.disablePositionChange="INPUT"===t.nodeName}ngOnDestroy(){this.subscriptions.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(E(ai),E(ji),E(f0),E(Xae),E(YF),E(rt),E(Nt),E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root"]],hostBindings:function(t,i){1&t&&ge("keydown",function(s){return i.handleKey(s)},!1,sg)("click",function(s){return i.handleClick(s.target)},!1,sg)},decls:21,vars:35,consts:[[3,"logoTooltip","homeUrl"],["opened",""],[3,"modalClosed","disableSlider"],["position","end","opened",""],[3,"modalClosed"],[1,"selector-drawer"],[3,"organList","selectedOrgans","organsChanged"],["organSelector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,i){if(1&t&&(tt(0,"ccf-registration-modal"),tt(1,"ccf-header",0),Kt(2,"async"),Kt(3,"async"),Kt(4,"async"),R(5,"ccf-drawer-container"),R(6,"ccf-drawer",1),tt(7,"ccf-left-sidebar",2),tt(8,"ccf-drawer-toggle-button"),k(),R(9,"ccf-drawer",3),tt(10,"ccf-right-sidebar",4),tt(11,"ccf-drawer-toggle-button"),k(),R(12,"ccf-drawer-content"),R(13,"div",5),R(14,"ccf-organ-selector",6,7),ge("organsChanged",function(s){return i.model.setOrgan(s[0])}),Kt(16,"async"),k(),R(17,"div",8),mt(18,FFe,3,1,"div",9),mt(19,NFe,3,1,"div",9),k(),k(),tt(20,"ccf-content",10),k(),k()),2&t){const r=vs(15);G(1),st("header-hidden",!1===rn(2,25,i.header$)),ie("logoTooltip",rn(3,27,i.logoTooltip$))("homeUrl",rn(4,29,i.homeUrl$)),G(6),ie("modalClosed",i.registrationStarted)("disableSlider",!(null!=r.selectedOrgans[0]&&r.selectedOrgans[0].hasSex)),G(3),ie("modalClosed",i.registrationStarted),G(3),st("closed",!i.open)("expanded",r.expanded),G(1),st("closed",!i.open),ie("organList",i.organList)("selectedOrgans",Hg(33,LFe,rn(16,31,i.model.organ$))),G(3),st("closed",!i.open)("selector-expanded",r.expanded),G(1),ie("ngIf",i.open),G(1),ie("ngIf",!r.expanded),G(1),st("expanded-stage",!i.open)("retracted-stage",r.expanded)}},directives:[LRe,jRe,XRe,ZF,Kke,Zke,gFe,bx,p9,zr,kFe,rs],pipes:[Hc],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;color:#000}[_nghost-%COMP%] .header-hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:25.5rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{position:relative;z-index:1}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;height:5.688rem;transition:all .5s ease-in-out}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector[_ngcontent-%COMP%]{height:100%;padding-top:.5rem;transition:all .5s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] ccf-organ-selector.closed[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;height:0;z-index:2}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{cursor:pointer;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{width:3rem;height:1.2rem;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:#fff;border-bottom-left-radius:.2rem;border-bottom-right-radius:.2rem;transition:.6s}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]:hover{background-color:#ececec}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:3rem;top:-2.9rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{border-radius:.5rem!important;height:calc(100% - 2.688rem - 3rem - 1.5rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 1.5rem);padding-bottom:1rem}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .retracted-stage[_ngcontent-%COMP%]{height:calc(100% - 2.688rem - 14rem)}[_nghost-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-content[_ngcontent-%COMP%]{position:absolute;transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:all;bottom:1.5rem;z-index:1}"],changeDetection:0}),n})();function VFe(n,e){1&n&&tt(0,"ccf-root")}let zFe=(()=>{class n extends lRe{constructor(t,i){const r=cRe;super(t,i,{initialDelay:500,initialConfig:Object.assign(Object.assign(Object.assign({},hu.dbOptions),globalThis.ruiConfig),hu.customization),parse:{useDownload:r.boolean,user:r.json,organ:r.json,editRegistration:r.json,register:r.function,cancelRegistration:r.function,fetchPreviousRegistrations:r.function,skipUnsavedChangesConfirmation:r.boolean,header:r.boolean}})}}return n.\u0275fac=function(t){return new(t||n)(E(Ah),E(kn))},n.\u0275cmp=Ne({type:n,selectors:[["ccf-root-wc"]],inputs:{baseHref:"baseHref",useDownload:"useDownload",user:"user",organ:"organ",editRegistration:"editRegistration",register:"register",cancelRegistration:"cancelRegistration",fetchPreviousRegistrations:"fetchPreviousRegistrations",skipUnsavedChangesConfirmation:"skipUnsavedChangesConfirmation",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip"},features:[ct],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&mt(0,VFe,1,0,"ccf-root",0),2&t&&ie("ngIf",i.initialized)},directives:[zr,BFe],encapsulation:2,changeDetection:0}),n})();const jFe=new ve("Global configuration object");function UFe(n){return n.get("ruiConfig",{user:{firstName:"",lastName:""}})}let HFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:jFe,useFactory:UFe,deps:[v9]}]}),n})(),$Fe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:bv,useValue:YF.initialize,multi:!0},YF]}),n})(),GFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[Fr,Fa,UW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(I(Fr,2),I(Fa,2))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const Sx=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class YFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=pp(this.action),i=function(n){return Sx(n.getHours(),2)+":"+Sx(n.getMinutes(),2)+":"+Sx(n.getSeconds(),2)+"."+Sx(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class XFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const s7=new ve("NGXS_LOGGER_PLUGIN_OPTIONS");let KFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new XFe(this._options),this._store=this._store||this._injector.get(cu);const s=new YFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Ti(o=>{s.completed(o)}),Ta(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(I(s7),I(Nt))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const o7=new ve("LOGGER_USER_OPTIONS");function ZFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let QFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:KFe,multi:!0},{provide:o7,useValue:t},{provide:s7,useFactory:ZFe,deps:[o7]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const JF=new ve("NGXS_STORAGE_PLUGIN_OPTION"),a7=new ve("STORAGE_ENGINE"),e2="@@STATE",l7="NGXS_OPTIONS_META";function e2e(n){return void 0!==n&&n.key&&(n.key=function(n){return Array.isArray(n)||(n=[n]),n.map(e=>(e.hasOwnProperty(l7)&&(e=e[l7].name),e instanceof class{constructor(e){this.name=e,uk(this).makeRootSelector=i=>i.getStateGetter(this.name)}getName(){return this.name}toString(){return`StateToken[${this.name}]`}}?e.getName():e))}(n.key)),Object.assign({key:[e2],storage:0,serialize:JSON.stringify,deserialize:JSON.parse,beforeSerialize:e=>e,afterDeserialize:e=>e},n)}function t2e(n,e){return kD(e)?null:0===n.storage?localStorage:1===n.storage?sessionStorage:null}let n2e=(()=>{class n{constructor(t,i,r){this._options=t,this._engine=i,this._platformId=r}handle(t,i,r){if(kD(this._platformId)&&null===this._engine)return r(t,i);const s=this._options.key,o=function(n){const e=pp(n);return function(t){return e===pp(t)}}(i),a=o(iG)||o(rG);let l=!1;if(a)for(const c of s){const d=c===e2;let f=this._engine.getItem(c);if("undefined"!==f&&null!=f){try{const p=this._options.deserialize(f);f=this._options.afterDeserialize(p,c)}catch(p){console.error("Error ocurred while deserializing the store value, falling back to empty object."),f={}}this._options.migrations&&this._options.migrations.forEach(p=>{p.version===Gm(f,p.versionKey||"version")&&(!p.key&&d||p.key===c)&&(f=p.migrate(f),l=!0)}),t=d?Object.assign({},t,f):ok(t,c,f)}}return r(t,i).pipe(Ti(c=>{if(!a||a&&l)for(const d of s){let f=c;d!==e2&&(f=Gm(c,d));try{const p=this._options.beforeSerialize(f,d);this._engine.setItem(d,this._options.serialize(p))}catch(p){console.error("Error ocurred while serializing the store value, value not updated.")}}}))}}return n.\u0275fac=function(t){return new(t||n)(I(JF),I(a7),I(dl))},n.\u0275prov=ue({token:n,factory:n.\u0275fac}),n})();const c7=new ve("USER_OPTIONS");let i2e=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:rk,useClass:n2e,multi:!0},{provide:c7,useValue:t},{provide:JF,useFactory:e2e,deps:[c7]},{provide:a7,useFactory:t2e,deps:[JF,dl]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({}),n})();const u7=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"visibility_off_cube",namespace:"app",url:"assets/icons/ico-cube.svg"}];let hd=class extends cDe{constructor(e,t,i){super(),this.registry=e,this.sanitizer=t,this.globalConfig=i}ngxsOnInit(){var e;u7.filter(t=>void 0!==t.html).map(t=>Object.assign(Object.assign({},t),{html:this.sanitizer.bypassSecurityTrustHtml(t.html)})).forEach(t=>this.registerIconImpl(t)),null===(e=this.registry)||void 0===e||e.addSvgIconResolver((t,i)=>{var r;const s=u7.find(a=>{var l,c;return(null!==(l=a.name)&&void 0!==l?l:"")===t&&(null!==(c=a.namespace)&&void 0!==c?c:"")===i});if(void 0===s||void 0===s.url)return null;const o=null!==(r=this.globalConfig.snapshot.baseHref)&&void 0!==r?r:"";return this.sanitizer.bypassSecurityTrustResourceUrl(o+s.url)})}registerIcon(e){return this.registerIconImpl(e)}registerIconImpl(e){if(!this.registry||!e.url&&!e.html)return!1;const t=this.registry,r=t[this.getMethodName(e)],s=this.getArguments(e);if(!r)return!1;try{return r.apply(t,s),!0}catch(o){return!1}}getMethodName({name:e,namespace:t,url:i}){const r=["addSvgIcon"];return e||r.push("Set"),i||r.push("Literal"),t&&r.push("InNamespace"),r.join("")}getArguments({name:e,namespace:t,url:i,html:r}){return[t,e,null!=i?i:r].filter(o=>!!o)}};hd.\u0275fac=function(e){return new(e||hd)(I(Gv,8),I(th),I(Ah))},hd.\u0275prov=ue({token:hd,factory:hd.\u0275fac}),xe([on()],hd.prototype,"registerIcon",null),hd=xe([xh(),cd({name:"iconRegistry"})],hd);const r2e=[Ah,hd,ji,ai,ko,fc,Sr,as];let s2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[GFe.forRoot(),Io.forRoot(r2e,{developmentMode:!hu.production}),i2e.forRoot({key:["registration.registrations"]}),QFe.forRoot({disabled:hu.production})]]}),n})(),o2e=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(I(n,12))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[Rj,kIe.forRoot({gaToken:hu.googleAnalyticsToken,appName:"rui"}),ZPe,HFe,s2e,$Fe]]}),n})(),t2=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9]]}),n})(),a2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,MFe,q9,lr,yx,t2,hc]]}),n})(),l2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr]]}),n})(),c2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,a2e,lr,MPe,l2e,_l,_Pe]]}),n})(),u2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,hc]]}),n})(),d2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn]]}),n})(),h2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,q9]]}),n})(),d7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,O9,Kb,Lk,Bk,hc]]}),n})(),f2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_l,m9]]}),n})(),h7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,j9]]}),n})(),p2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch]]}),n})(),g2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,lr,hc,yx,d2e,t2,d7,h7,h2e,m9,f2e,h7,p2e]]}),n})(),m2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,ch,hc,d7,t2,g9]]}),n})(),_2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,m2e]]}),n})(),y2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc]]}),n})(),v2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,lr,_W,_l,hc]]}),n})(),b2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kb,lr,_l,hc,qPe]]}),n})(),C2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,j9,lr]]}),n})(),w2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Lk,Bk,ch,h9,Uv,lr,Kb]]}),n})(),E2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Qb,lr,ch]]}),n})(),S2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,E2e,ch,hc]]}),n})(),M2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({imports:[[dn,Kk,yx,lr,kO,hc,y2e,S2e,v2e,b2e,C2e,w2e,HPe]]}),n})(),x2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:P9,useValue:I9}],imports:[[yE,kO,lr]]}),n})(),T2e=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(ll).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new Fne(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends Lne{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,d){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(zFe,{injector:this.injector});customElements.define("ccf-rui",t)}}return n.\u0275fac=function(t){return new(t||n)(I(Nt))},n.\u0275mod=Pe({type:n}),n.\u0275inj=Me({providers:[{provide:T9,useValue:"hubmap-theme-light"},{provide:vj,useValue:{appearance:"standard",floatLabel:!1,hideRequiredMarker:!0}}],imports:[[yE,kO,o2e,lr,x2e,u2e,c2e,g2e,M2e,g9,_2e,tRe,_U]]}),n})();hu.production&&function(){if(i3)throw new Error("Cannot enable prod mode after platform setup.");n3=!1}(),rne().bootstrapModule(T2e).catch(n=>console.error(n))},948:gt=>{gt.exports=function(ze){return ze&&ze.__esModule?ze:{default:ze}},gt.exports.default=gt.exports,gt.exports.__esModule=!0},321:gt=>{function We(ze){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(gt.exports=We=function(L){return typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0):(gt.exports=We=function(L){return L&&"function"==typeof Symbol&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},gt.exports.default=gt.exports,gt.exports.__esModule=!0),We(ze)}gt.exports=We,gt.exports.default=gt.exports,gt.exports.__esModule=!0},833:gt=>{function We(ze){return Promise.resolve().then(()=>{var wt=new Error("Cannot find module '"+ze+"'");throw wt.code="MODULE_NOT_FOUND",wt})}We.keys=()=>[],We.resolve=We,We.id=833,gt.exports=We},521:()=>{},125:()=>{},307:()=>{}},gt=>{gt(gt.s=851)}]); \ No newline at end of file diff --git a/wc.js b/wc.js index 10b1f53c2..58503fa4d 100644 --- a/wc.js +++ b/wc.js @@ -2,4 +2,4 @@ (self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{24138:function(){!function(){"use strict";!function(){if(void 0===window.Reflect||void 0===window.customElements||window.customElements.polyfillWrapFlushCallback)return;const e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}()}()},24192:function(){!function(e,t){"use strict";function n(){var e=M.splice(0,M.length);for(nt=0;e.length;)e.shift().call(null,e.shift())}function o(e,t){for(var n=0,o=e.length;n1)&&_(this)}}}),Fe(a,W,{value:function(e){-1>0,x="__"+R+F,V="addEventListener",U="attached",q="Callback",B="detached",G="extends",W="attributeChanged"+q,$=U+q,X="connected"+q,Y="disconnected"+q,K="created"+q,J=B+q,Q="ADDITION",ee="REMOVAL",te="DOMAttrModified",ne="DOMContentLoaded",oe="DOMSubtreeModified",re="<",ae="=",ie=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,se=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ce=[],le=[],ue="",he=E.documentElement,pe=ce.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},fe=b.prototype,de=fe.hasOwnProperty,me=fe.isPrototypeOf,ge=b.defineProperty,Te=[],ye=b.getOwnPropertyDescriptor,_e=b.getOwnPropertyNames,ke=b.getPrototypeOf,ve=b.setPrototypeOf,Ee=!!b.__proto__,be="__dreCEv1",we=e.customElements,Me=!/^force/.test(t.type)&&!!(we&&we.define&&we.get&&we.whenDefined),Le=b.create||b,Ce=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[pe.call(t,e)]},set:function(o,r){(e=pe.call(t,o))<0?n[t.push(o)-1]=r:n[e]=r}}},He=e.Promise||function(e){function t(e){for(o=!0;n.length;)n.shift()(e)}var n=[],o=!1,r={catch:function(){return r},then:function(e){return n.push(e),o&&setTimeout(t,1),r}};return e(t),r},Oe=!1,Se=Le(null),De=Le(null),Ze=new Ce,Pe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},ze=ve||(Ee?function(e,t){return e.__proto__=t,e}:_e&&ye?function(){function e(e,t){for(var n,o=_e(t),r=0,a=o.length;r
    ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(P=ye(je,"innerHTML"))&&P.set;n&&ge(je,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),P=null}).observe(P,{childList:!0,subtree:!0}),P.innerHTML=""),ot||(ve||Ee?(D=function(e,t){me.call(t,e)||p(e,t)},Z=p):Z=D=function(e,t){e[x]||(e[x]=b(!0),p(e,t))},Re?(it=!1,N=ye(je,V),z=N.value,I=function(e){var t=new CustomEvent(te,{bubbles:!0});t.attrName=e,t.prevValue=We.call(this,e),t.newValue=null,t[ee]=t.attrChange=2,Xe.call(this,e),Ge.call(this,t)},A=function(e,t){var n=$e.call(this,e),o=n&&We.call(this,e),r=new CustomEvent(te,{bubbles:!0});Ye.call(this,e,t),r.attrName=e,r.prevValue=n?o:null,r.newValue=t,n?r.MODIFICATION=r.attrChange=1:r[Q]=r.attrChange=0,Ge.call(this,r)},j=function(e){var t,n=e.currentTarget,o=n[x],r=e.propertyName;o.hasOwnProperty(r)&&(o=o[r],(t=new CustomEvent(te,{bubbles:!0})).attrName=o.name,t.prevValue=o.value||null,t.newValue=o.value=n[r]||null,null==t.prevValue?t[Q]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,Ge.call(n,t))},N.value=function(e,t,n){e===te&&this[W]&&this.setAttribute!==A&&(this[x]={className:{name:"class",value:this.className}},this.setAttribute=A,this.removeAttribute=I,z.call(this,"propertychange",j)),z.call(this,e,t,n)},ge(je,V,N)):Ie||(he[V](te,tt),he.setAttribute(x,1),he.removeAttribute(x),it&&(L=function(e){var t,n,o,r=this;if(r===e.target){for(o in t=r[x],r[x]=n=H(r),n){if(!(o in t))return C(0,r,o,t[o],n[o],Q);if(n[o]!==t[o])return C(1,r,o,t[o],n[o],"MODIFICATION")}for(o in t)if(!(o in n))return C(2,r,o,t[o],n[o],ee)}},C=function(e,t,n,o,r,a){var i={attrChange:e,currentTarget:t,attrName:n,prevValue:o,newValue:r};i[a]=e,s(i)},H=function(e){for(var t,n,o={},r=e.attributes,a=0,i=r.length;a$");if(n[G]="a",(t.prototype=Ne(Ae.prototype)).constructor=t,e.customElements.define(o,t,n),!r.test(E.createElement("a",{is:o}).outerHTML)||!r.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ae,[],e)},{},"document-register-element-a"+F)}catch(N){v()}if(!t.noBuiltIn)try{if(Ke.call(E,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(N){Pe=function(e){return{is:e.toLowerCase()}}}}(window)},7277:function(){"use strict";!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function a(e){return r+e}const i=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let s=(()=>{class t{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=t.current;for(;e.parent;)e=e.parent;return e}static get current(){return D.zone}static get currentTask(){return Z}static __load_patch(r,a,s=!1){if(O.hasOwnProperty(r)){if(!s&&i)throw Error("Already loaded patch: "+r)}else if(!e["__Zone_disable_"+r]){const i="Zone:"+r;n(i),O[r]=a(e,t,S),o(i,i)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){D={parent:D,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{D=D.parent}}runGuarded(e,t=null,n,o){D={parent:D,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(r){if(this._zoneDelegate.handleError(this,r))throw r}}finally{D=D.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");if(e.state===k&&(e.type===H||e.type===C))return;const o=e.state!=b;o&&e._transitionTo(b,E),e.runCount++;const r=Z;Z=e,D={parent:D,zone:this};try{e.type==C&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{e.state!==k&&e.state!==M&&(e.type==H||e.data&&e.data.isPeriodic?o&&e._transitionTo(E,b):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(k,b,k))),D=D.parent,Z=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(v,k);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(n){throw e._transitionTo(M,v,k),this._zoneDelegate.handleError(this,n),n}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==v&&e._transitionTo(E,v),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(L,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(C,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(H,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");e._transitionTo(w,E,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(M,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(k,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;oe.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,a)=>e.invokeTask(n,o,r,a),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=L)throw new Error("Task is missing scheduleFn.");T(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){this.handleError(e,n)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,a,i){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=a,this.cancelFn=i,!o)throw new Error("callback is not defined");this.callback=o;const s=this;this.invoke=t===H&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,s,this,arguments)}}static invokeTask(e,t,n){e||(e=this),P++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==P&&y(),P--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(k,v)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==k&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=a("setTimeout"),p=a("Promise"),f=a("then");let d,m=[],g=!1;function T(t){if(0===P&&0===m.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,y)}else e[h](y,0);t&&m.push(t)}function y(){if(!g){for(g=!0;m.length;){const t=m;m=[];for(let n=0;nD,onUnhandledError:N,microtaskDrainDone:N,scheduleMicroTask:T,showUncaughtError:()=>!s[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:N,patchMethod:()=>N,bindArguments:()=>[],patchThen:()=>N,patchMacroTask:()=>N,patchEventPrototype:()=>N,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>N,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>N,wrapWithCurrentZone:()=>N,filterProperties:()=>[],attachOriginToPatched:()=>N,_redefineProperty:()=>N,patchCallbacks:()=>N};let D={parent:null,zone:new s(null,null)},Z=null,P=0;function N(){}o("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,a="addEventListener",i="removeEventListener",s=Zone.__symbol__(a),c=Zone.__symbol__(i),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,m="undefined"!=typeof window,g=m?window:void 0,T=m&&g||"object"==typeof self&&self||global,y=[null];function _(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function k(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const v="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in T)&&void 0!==T.process&&"[object process]"==={}.toString.call(T.process),b=!E&&!v&&!(!m||!g.HTMLElement),w=void 0!==T.process&&"[object process]"==={}.toString.call(T.process)&&!v&&!(!m||!g.HTMLElement),M={},L=function(e){if(!(e=e||T.event))return;let t=M[e.type];t||(t=M[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||T,o=n[t];let r;if(b&&n===g&&"error"===e.type){const t=e;r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===r&&e.preventDefault()}else r=o&&o.apply(this,arguments),null!=r&&!r&&e.preventDefault();return r};function C(n,o,r){let a=e(n,o);if(!a&&r&&e(r,o)&&(a={enumerable:!0,configurable:!0}),!a||!a.configurable)return;const i=d("on"+o+"patched");if(n.hasOwnProperty(i)&&n[i])return;delete a.writable,delete a.value;const s=a.get,c=a.set,l=o.substr(2);let u=M[l];u||(u=M[l]=d("ON_PROPERTY"+l)),a.set=function(e){let t=this;!t&&n===T&&(t=T),t&&(t[u]&&t.removeEventListener(l,L),c&&c.apply(t,y),"function"==typeof e?(t[u]=e,t.addEventListener(l,L,!1)):t[u]=null)},a.get=function(){let e=this;if(!e&&n===T&&(e=T),!e)return null;const t=e[u];if(t)return t;if(s){let t=s&&s.call(this);if(t)return a.set.call(this,t),"function"==typeof e.removeAttribute&&e.removeAttribute(o),t}return null},t(n,o,a),n[i]=!0}function H(e,t,n){if(t)for(let o=0;ofunction(t,o){const a=n(t,o);return a.cbIdx>=0&&"function"==typeof o[a.cbIdx]?f(a.name,o[a.cbIdx],a,r):e.apply(t,o)})}function P(e,t){e[d("OriginalDelegate")]=t}let N=!1,z=!1;function I(){if(N)return z;N=!0;try{const e=g.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(z=!0)}catch(e){}return z}Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,a=n.symbol,i=[],s=!0===e[a("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=a("Promise"),l=a("then");n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;i.length;){const t=i.shift();try{t.zone.runGuarded(()=>{throw t.throwOriginal?t.rejection:t})}catch(e){h(e)}}};const u=a("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];"function"==typeof n&&n.call(this,e)}catch(o){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return S.reject(e)}const m=a("state"),g=a("value"),T=a("finally"),y=a("parentPromiseValue"),_=a("parentPromiseState"),k=null,v=!0,E=!1;function b(e,t){return n=>{try{M(e,t,n)}catch(o){M(e,!1,o)}}}const w=a("currentTaskTrace");function M(e,o,a){const c=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}}();if(e===a)throw new TypeError("Promise resolved with itself");if(e[m]===k){let h=null;try{("object"==typeof a||"function"==typeof a)&&(h=a&&a.then)}catch(l){return c(()=>{M(e,!1,l)})(),e}if(o!==E&&a instanceof S&&a.hasOwnProperty(m)&&a.hasOwnProperty(g)&&a[m]!==k)C(a),M(e,a[m],a[g]);else if(o!==E&&"function"==typeof h)try{h.call(a,c(b(e,o)),c(b(e,!1)))}catch(l){c(()=>{M(e,!1,l)})()}else{e[m]=o;const c=e[g];if(e[g]=a,e[T]===T&&o===v&&(e[m]=e[_],e[g]=e[y]),o===E&&a instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&r(a,w,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{const o=e[g],r=!!n&&T===n[T];r&&(n[y]=o,n[_]=a);const s=t.run(i,void 0,r&&i!==d&&i!==f?[]:[o]);M(n,!0,s)}catch(o){M(n,!1,o)}},n)}const O=function(){};class S{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(e){return M(new this(null),v,e)}static reject(e){return M(new this(null),E,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function a(e){n(e)}for(let i of e)p(i)||(i=this.resolve(i)),i.then(r,a);return o}static all(e){return S.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof S?this:S).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),a=2,i=0;const s=[];for(let l of e){p(l)||(l=this.resolve(l));const e=i;try{l.then(o=>{s[e]=t?t.thenCallback(o):o,a--,0===a&&n(s)},r=>{t?(s[e]=t.errorCallback(r),a--,0===a&&n(s)):o(r)})}catch(c){o(c)}a++,i++}return a-=2,0===a&&n(s),r}constructor(e){const t=this;if(!(t instanceof S))throw new Error("Must be an instanceof Promise.");t[m]=k,t[g]=[];try{e&&e(b(t,v),b(t,E))}catch(n){M(t,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return S}then(e,n){let o=this.constructor[Symbol.species];(!o||"function"!=typeof o)&&(o=this.constructor||S);const r=new o(O),a=t.current;return this[m]==k?this[g].push(a,r,e,n):H(this,a,r,e,n),r}catch(e){return this.then(null,e)}finally(e){let n=this.constructor[Symbol.species];(!n||"function"!=typeof n)&&(n=S);const o=new n(O);o[T]=T;const r=t.current;return this[m]==k?this[g].push(r,o,e,e):H(this,r,o,e,e),o}}S.resolve=S.resolve,S.reject=S.reject,S.race=S.race,S.all=S.all;const Z=e[c]=e.Promise;e.Promise=S;const P=a("thenPatched");function N(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[l]=r,e.prototype.then=function(e,t){return new S((e,t)=>{r.call(this,e,t)}).then(e,t)},e[P]=!0}return n.patchThen=N,Z&&(N(Z),D(e,"fetch",e=>function(e){return function(t,n){let o=e.apply(t,n);if(o instanceof S)return o;let r=o.constructor;return r[P]||N(r),o}}(e))),Promise[t.__symbol__("uncaughtPromiseErrors")]=i,S}),Zone.__load_patch("toString",e=>{const t=Function.prototype.toString,n=d("OriginalDelegate"),o=d("Promise"),r=d("Error"),a=function(){if("function"==typeof this){const a=this[n];if(a)return"function"==typeof a?t.call(a):Object.prototype.toString.call(a);if(this===Promise){const n=e[o];if(n)return t.call(n)}if(this===Error){const n=e[r];if(n)return t.call(n)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;const i=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":i.call(this)}});let A=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){A=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(ce){A=!1}const j={useG:!0},R={},F={},x=new RegExp("^"+h+"(\\w+)(true|false)$"),V=d("propagationStopped");function U(e,t){const n=(t?t(e):e)+u,o=(t?t(e):e)+l,r=h+n,a=h+o;R[e]={},R[e][u]=r,R[e][l]=a}function q(e,t,o){const r=o&&o.add||a,s=o&&o.rm||i,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),m="."+r+":",g=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[s].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},T=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[R[t.type][u]];if(o)if(1===o.length)g(o[0],n,t);else{const e=o.slice();for(let o=0;ofunction(t,n){t[V]=!0,e&&e.apply(t,n)})}function W(e,t,n,o,r){const a=Zone.__symbol__(o);if(t[a])return;const i=t[a]=t[o];t[o]=function(a,s,c){return s&&s.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,a=s.prototype;if(a.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(a,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(s.prototype,t,n)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],r))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],r))}),i.call(t,a,s,c)},e.attachOriginToPatched(t[o],i)}const $=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],X=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],Y=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],J=["bounce","finish","start"],Q=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],te=["close","error","open","message"],ne=["error","message"],oe=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],$,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function re(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ae(e,t,n,o){e&&H(e,re(e,t,n),o)}Zone.__load_patch("util",(n,s,c)=>{c.patchOnProperties=H,c.patchMethod=D,c.bindArguments=_,c.patchMacroTask=Z;const f=s.__symbol__("BLACK_LISTED_EVENTS"),d=s.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(s[f]=s[d]=n[f]),c.patchEventPrototype=G,c.patchEventTarget=q,c.isIEOrEdge=I,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=S,c.wrapWithCurrentZone=p,c.filterProperties=re,c.attachOriginToPatched=P,c._redefineProperty=Object.defineProperty,c.patchCallbacks=W,c.getGlobalObjects=()=>({globalSources:F,zoneSymbolEventNames:R,eventNames:oe,isBrowser:b,isMix:w,isNode:E,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:i})});const ie=d("zoneTask");function se(e,t,n,o){let r=null,a=null;n+=o;const i={};function s(t){const n=t.data;return n.args[0]=function(){return t.invoke.apply(this,arguments)},n.handleId=r.apply(e,n.args),t}function c(t){return a.call(e,t.data.handleId)}r=D(e,t+=o,n=>function(r,a){if("function"==typeof a[0]){const e={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?a[1]||0:void 0,args:a},n=a[0];a[0]=function(){try{return n.apply(this,arguments)}finally{e.isPeriodic||("number"==typeof e.handleId?delete i[e.handleId]:e.handleId&&(e.handleId[ie]=null))}};const r=f(t,a[0],e,s,c);if(!r)return r;const l=r.data.handleId;return"number"==typeof l?i[l]=r:l&&(l[ie]=r),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(r.ref=l.ref.bind(l),r.unref=l.unref.bind(l)),"number"==typeof l||l?l:r}return n.apply(e,a)}),a=D(e,n,t=>function(n,o){const r=o[0];let a;"number"==typeof r?a=i[r]:(a=r&&r[ie],a||(a=r)),a&&"string"==typeof a.type?"notScheduled"!==a.state&&(a.cancelFn&&a.data.isPeriodic||0===a.runCount)&&("number"==typeof r?delete i[r]:r&&(r[ie]=null),a.zone.cancelTask(a)):t.apply(e,o)})}Zone.__load_patch("legacy",e=>{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("queueMicrotask",(e,t,n)=>{n.patchMethod(e,"queueMicrotask",e=>function(e,n){t.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",e=>{const t="set",n="clear";se(e,t,n,"Timeout"),se(e,t,n,"Interval"),se(e,t,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{se(e,"request","cancel","AnimationFrame"),se(e,"mozRequest","mozCancel","AnimationFrame"),se(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;ofunction(o,a){return t.current.run(n,e,a,r)})}),Zone.__load_patch("EventTarget",(e,t,n)=>{(function(e,t){t.patchEventPrototype(e,t)})(e,n),function(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:a,ZONE_SYMBOL_PREFIX:i}=t.getGlobalObjects();for(let c=0;c{S("MutationObserver"),S("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,t,n)=>{S("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,t,n)=>{S("FileReader")}),Zone.__load_patch("on_property",(e,t,o)=>{!function(e,t){if(E&&!w||Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(b){const t=window,o=function(){try{const e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:t,ignoreProperties:["error"]}]:[];ae(t,oe.concat(["messageerror"]),r&&r.concat(o),n(t)),ae(Document.prototype,oe,r),void 0!==t.SVGElement&&ae(t.SVGElement.prototype,oe,r),ae(Element.prototype,oe,r),ae(HTMLElement.prototype,oe,r),ae(HTMLMediaElement.prototype,X,r),ae(HTMLFrameSetElement.prototype,$.concat(K),r),ae(HTMLBodyElement.prototype,$.concat(K),r),ae(HTMLFrameElement.prototype,Y,r),ae(HTMLIFrameElement.prototype,Y,r);const a=t.HTMLMarqueeElement;a&&ae(a.prototype,J,r);const i=t.Worker;i&&ae(i.prototype,ne,r)}const a=t.XMLHttpRequest;a&&ae(a.prototype,Q,r);const i=t.XMLHttpRequestEventTarget;i&&ae(i&&i.prototype,Q,r),"undefined"!=typeof IDBIndex&&(ae(IDBIndex.prototype,ee,r),ae(IDBRequest.prototype,ee,r),ae(IDBOpenDBRequest.prototype,ee,r),ae(IDBDatabase.prototype,ee,r),ae(IDBTransaction.prototype,ee,r),ae(IDBCursor.prototype,ee,r)),o&&ae(WebSocket.prototype,te,r)}(o,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function(e){const u=e.XMLHttpRequest;if(!u)return;const h=u.prototype;let p=h[s],m=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[s],m=e[c]}}const g="readystatechange",T="scheduled";function y(e){const o=e.data,i=o.target;i[a]=!1,i[l]=!1;const u=i[r];p||(p=i[s],m=i[c]),u&&m.call(i,g,u);const h=i[r]=()=>{if(i.readyState===i.DONE)if(!o.aborted&&i[a]&&e.state===T){const n=i[t.__symbol__("loadfalse")];if(0!==i.status&&n&&n.length>0){const r=e.invoke;e.invoke=function(){const n=i[t.__symbol__("loadfalse")];for(let t=0;tfunction(e,t){return e[o]=0==t[2],e[i]=t[1],v.apply(e,t)}),E=d("fetchTaskAborting"),b=d("fetchTaskScheduling"),w=D(h,"send",()=>function(e,n){if(!0===t.current[b]||e[o])return w.apply(e,n);{const t={target:e,url:e[i],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",_,t,y,k);e&&!0===e[l]&&!t.aborted&&o.state===T&&o.invoke()}}),M=D(h,"abort",()=>function(e,o){const r=function(e){return e[n]}(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[E])return M.apply(e,o)})}(e);const n=d("xhrTask"),o=d("xhrSync"),r=d("xhrListener"),a=d("xhrScheduled"),i=d("xhrURL"),l=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,n){const o=t.constructor.name;for(let r=0;r{const t=function(){return e.apply(this,_(arguments,o+"."+a))};return P(t,e),t})(i)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){B(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})},91817:function(e,t,n){"use strict";n(7277),n(24192),n(24138)}},function(e){e(e.s=91817)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
    ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var W6e=Object.defineProperty,Y6e=Object.defineProperties,X6e=Object.getOwnPropertyDescriptors,XM=Object.getOwnPropertySymbols,yZ=Object.prototype.hasOwnProperty,bZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,wZ=(t,e,n)=>e in t?W6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e)=>{for(var n in e||(e={}))yZ.call(e,n)&&wZ(t,n,e[n]);if(XM)for(var n of XM(e))bZ.call(e,n)&&wZ(t,n,e[n]);return t},Un=(t,e)=>Y6e(t,X6e(e)),SZ=(t,e)=>{var n={};for(var i in t)yZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&XM)for(var i of XM(t))e.indexOf(i)<0&&bZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(Un(vt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(Un(vt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(Un(vt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(Un(vt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(Un(vt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=SZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=vt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=vt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=vt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=vt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=vt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},X=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Y(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:Y;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){X.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Xt),Kt(Yt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Xt,$t.MultiUndirectedGraph=Yt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Y(l,c),e.distance=X(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return X(e[0],e[1],z)/X(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return Y(e[1],e[0],z)+Y(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function X(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function Y(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),X=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Xt=RegExp("['\u2019]","g"),Yt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Ye,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Yo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Xi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Ye,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Yo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Xo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Yo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Yr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Xe(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Xa(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Yt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Xa(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xa=Ar("toUpperCase");function Ya(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Xo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Yo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Yo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Xe(t,Aa(t))},Ln.without=io,Ln.words=Ya,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Xi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Xa,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,Y)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,Y))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,X)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
    '+(n?t:J(t,!0))+"
    \n":"
    "+(n?t:J(t,!0))+"
    \n"},e.blockquote=function(t){return"
    \n"+t+"
    \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

    "+mt(l.message+"",!0)+"
    ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

    "+mt(i.message+"",!0)+"
    ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new X(t,this.project,this.concurrent))}}class X extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Y(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function yt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${yt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Xt=lt({"\u0275mod":lt}),Yt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Xt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Xe(){return Ve.lFrame.isParent}function Ye(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=zn(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function zn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Xn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?zn(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Yn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Xn(){return new ti(Ge(),Ue())}function Yn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(yt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Xi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Xi(t){return t instanceof Vi&&t.getTypeName()||null}class Yi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nr(sr,er("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Yi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Ys(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Xa(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Xo(r,o,e)&&Ya(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Xo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Yo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Xo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Xo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Xl(){return new Yl([new Fl])}let Yl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Xl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Xl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Yl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=zn(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Xs(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Yt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Yo(t,e,n,i);return Xo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Xo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Yo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Xu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Xu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Xu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Xu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Yu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Yl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Yl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Xh(t){return t===qh}class Yh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Xi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Yu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Yh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Xd(t,this.compare,this.keySelector))}}class Xd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Yd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Yd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Yd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return Y(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Xh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Xp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Yp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Xp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Yp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Xp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Xp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Xf;function Yf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Xf){const t=Element.prototype;Xf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Xf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Yd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Xg=new Ll("12.2.5");class Yg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Xm(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Ym(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Xm(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Xm(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Ym(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Ym(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Ym(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Ym(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Yb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Yb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Xb{constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Yb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Yb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Xb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Yg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Yg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Xg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Xg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Xy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Yy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Xv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Yv extends Xv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Yv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Xv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Xv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Yv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Yh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Xy(qy(Yy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let X_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Y_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(Y_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function Y_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Xp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(X_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(X_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(X_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Xw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Yw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Yw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Yw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Yw.level=Math.max(Yw.level,1)):Yw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Xx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Yx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Xx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Yw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Yw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Xx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Yw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Yx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Xx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Xx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Xx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Xx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Xx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Xx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Yw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Yw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Yw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Yw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Yw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Xx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Xx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Yw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Xx(i,"Could not deduced texture size"),Xx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Xx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Xx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Xx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Xx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Xx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Yw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Xx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Xx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Xx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Xx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Xx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Yw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Xx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Xx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Yw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Yw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Yw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Yw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Yw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Yw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Yw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Yw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Xx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Xx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Xx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Xx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Xx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Xx(!1);return i}(t,e)),t.luma.caps[e]||Yw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,XS={};function YS(t,{precision:e=XS.precision||4}={}){return t=function(t){return Math.round(t/XS.EPSILON)*XS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=XS.EPSILON;n&&(XS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+YS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",vt(vt(vt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function XC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function YC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Yw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Xx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Xx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Xx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function XE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function YE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Yw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Xx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Yw.error(`GLSL compilation errors in ${e}\n${n}`)(),Yw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Xx(this.vs instanceof bO),Xx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Yw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Yw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Yw.log(t,r)()}return Xx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Xx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Yw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Yw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Yw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Yw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:XE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:XE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:YE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Xx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Xx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Xx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Yw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Xx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Yw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Xx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Xx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Xx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Xx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Xx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Xx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=vt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Xx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Yw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Yw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Yw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Yw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Xx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Xx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Yw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Yw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Yw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Yw.table(t,r)(),Yw.table(t,s)(),Yw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Yw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Xx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Xx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function XO(){}const YO={onStart:XO,onUpdate:XO,onInterrupt:XO,onEnd:XO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=vt(vt({},YO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=XC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;YC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,Un(vt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=XC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),YC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(Un(vt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=vt(vt({},t),e);if("defines"in e&&(n.defines=vt(vt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=vt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(XS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(Un(vt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(Un(vt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(vt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,Un(vt({},e),{parameters:vt(vt(vt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(vt(vt(vt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Xk=t=>qk(t)&&t.constructor==={}.constructor,Yk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=Un(vt({},t=t[0]),{options:vt(vt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||vt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=vt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Xk(e[n])&&Xk(t[n])?vt(vt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),XP=(qP&&parseFloat(qP[1]),new Map);function YP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=XP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?YP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),XP.set(t.url,e)),t.source&&(e=YP(t.source),XP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=vt(vt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=vt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=vt(vt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Yk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=vt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,Un(vt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=Un(vt({},r),{fetch:Un(vt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:XA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):XA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=vt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=vt(vt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=Un(vt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=vt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),vt(vt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(vt(vt(vt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=vt(vt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=vt(vt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=vt(vt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(vt(vt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(vt(vt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,Un(vt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&Un(vt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=vt(vt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,Un(vt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,Un(vt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?Un(vt({},e),{transitionInterpolator:new pM(Un(vt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(Un(vt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(vt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(vt(vt(vt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(Un(vt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(Un(vt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(Un(vt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=vt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=vt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=XM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||XM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class YM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(Un(vt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=XA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=Un(vt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(vt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=Un(vt(vt(vt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(Un(vt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(Un(vt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(vt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(vt(vt(vt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,Un(vt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:Un(vt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return vt(vt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(Un(vt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=vt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?vt(vt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function XI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function YI(t){switch(XI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=YI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Xx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Yw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Xx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Yw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Yw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Yw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:XD}=FD,YD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=XD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===YD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:YD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=vt(vt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](vt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(Un(vt(vt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Xw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(vt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=Un(vt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Xw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=vt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?vt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Xx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Xx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Xx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Xx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Xx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,XA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return Un(vt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=Un(vt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(vt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let XR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const YR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(Un(vt(vt({},YR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,Un(vt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Xx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Xx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Xx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Xx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Yw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Yw.warn(`Bad animation path ${s}`)()}Xx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){YN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,vt({id:t.name||t.id,parameters:vt(vt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Yw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Yw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Yw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Yw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return Un(vt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let XL;function YL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return XL=e.draco3d?XL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):XL||QL(t),yield XL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(Un(vt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=Un(vt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield YL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:vt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Xj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Yj(t,e={}){return(new Xj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=vt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=vt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=vt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=vt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=vt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=vt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=vt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Yj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=vt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:vt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let XF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class YF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return YF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return YF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends XF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:XF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=XF.types.SPHERE,wB=XF.types.PLANE,xB=XF.types.BOX,SB=XF.types.CYLINDER,CB=XF.types.CONVEXPOLYHEDRON,EB=XF.types.HEIGHTFIELD,OB=XF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=XB,d=YB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),YF.vectorToLocalFrame(n,e,y,u),YF.pointToLocalFrame(n,e,m,h),YF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(YF.vectorToWorldFrame(e,o,f),YF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield XA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"}),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),XV=new oi("Internals.StateFactory");function YV(t,e){return e?n=>n.pipe(YV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(YV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Xz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Yz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Yz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Xz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Xz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:XV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Xz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Xz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Xz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function XU(t){return(ZU(t)?t.validators:t)||null}function YU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=YU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=YU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(XU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const XH=Xy(class{constructor(t){this._elementRef=t}},"primary"),YH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends XH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Yd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Yy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Xp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Xy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),X$=0;class Y${constructor(t,e,n="mat-dialog-"+X$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Xp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,Y$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Xp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Xh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Xh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Xh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Xh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Xh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?XG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{XG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(YG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(YG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(YG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function XG(t){return"getPlayerStatus"in t}function YG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(XV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Xh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),XW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),YW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new YW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||YW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||YW.cacheHasher||XW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||YW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||YW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||YW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||YW.maxCacheCount)||1===(t.maxCacheCount||YW.maxCacheCount)||(t.maxCacheCount||YW.maxCacheCount)&&(t.maxCacheCount||YW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(71440);const lq="Unknown Euler angle order",cq=.99999;class uq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return uq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return uq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=uq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new uq(c,u,h,uq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(lq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,uq.ZYX)}fromRotationMatrix(t,e=uq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case uq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case uq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case uq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case uq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case uq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case uq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(lq)}}_fromRotationMatrix(t,e=uq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case uq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(_q[t[e+0]]+_q[t[e+1]]+_q[t[e+2]]+_q[t[e+3]]+"-"+_q[t[e+4]]+_q[t[e+5]]+"-"+_q[t[e+6]]+_q[t[e+7]]+"-"+_q[t[e+8]]+_q[t[e+9]]+"-"+_q[t[e+10]]+_q[t[e+11]]+_q[t[e+12]]+_q[t[e+13]]+_q[t[e+14]]+_q[t[e+15]]).toLowerCase();if(!vq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Sq=n(31609);const Cq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Eq=(Math,Math,{});function Oq(t,{precision:e=Eq.precision||4}={}){return t=function(t){return Math.round(t/Eq.EPSILON)*Eq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Tq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kq(t,e,n){const i=Eq.EPSILON;n&&(Eq.EPSILON=n);try{if(t===e)return!0;if(Tq(t)&&Tq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+Oq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Vq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Vq),this.radius=o,this}expand(t){const e=(t=Bq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(Bq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=Bq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Cq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Xq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Iq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Kq=new Fq,Qq=new Fq,Zq=new Fq,Jq=new Fq,tX=new Fq,eX=new Fq,nX=new Fq;class iX{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Fq).from(t),this.halfAxes=new qq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Fq(t).len(),new Fq(e).len(),new Fq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Fq(t).normalize(),r=new Fq(e).normalize(),s=new Fq(n).normalize();return(new Yq).fromMatrix3(new qq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Yq(n),r=(new qq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Fq).from(t),this.halfAxes=r,this}clone(){return new iX(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new zq){const e=this.halfAxes,n=e.getColumn(0,Zq),i=e.getColumn(1,Jq),r=e.getColumn(2,tX),s=Kq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Cq.OUTSIDE:l>=a?Cq.INSIDE:Cq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Qq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Zq),r=n.getColumn(1,Jq),s=n.getColumn(2,tX),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,Zq),l=o.getColumn(1,Jq),c=o.getColumn(2,tX),u=eX.copy(a).add(l).add(c).add(s),h=nX.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,Zq);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,Jq);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,tX);return i.transformAsPoint(t),this.halfAxes=new qq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const rX=new Fq,sX=new Fq;class oX{constructor(t=[0,0,1],e=0){this.normal=new Fq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Pq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=rX.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Pq(kq(this.normal.len(),1)),this.distance=i,this}clone(t){return new oX(this.normal,this.distance)}equals(t){return kq(this.distance,t.distance)&&kq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=sX.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=rX.from(t);const n=this.getPointDistance(t),i=sX.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*aX(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,aq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Sq.fromRdf)(n.object):n.object.id;yield[r,t]}}function lX(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,aq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Sq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Fq([1,0,0]),new Fq([0,1,0]),new Fq([0,0,1]),new Fq,new Fq,new oX(new Fq(1,0,0),0),new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,Math,new qq,new qq,new qq,new qq,new qq,new Fq,new Fq,new Fq,new Fq,new Fq,new qq,new qq,new qq;const cX=aq.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},aq.DataFactory),uX={x:cX("rdf"),type:cX("rdf")("type")},hX={x:cX("rdfs"),label:cX("rdfs")("label"),comment:cX("rdfs")("comment"),isDefinedBy:cX("rdfs")("isDefinedBy"),seeAlso:cX("rdfs")("seeAlso")},dX={x:cX("entity"),id:cX("entity")("id"),label:hX.label,description:hX.comment,link:hX.seeAlso,sex:cX("entity")("sex"),age:cX("entity")("age"),bmi:cX("entity")("bmi"),Male:aq.DataFactory.literal("Male"),Female:aq.DataFactory.literal("Female"),consortiumName:cX("entity")("consortium_name"),providerName:cX("entity")("provider_name"),providerUUID:cX("entity")("provider_uuid"),donor:cX("entity")("has_donor"),sections:cX("entity")("has_tissue_section"),datasets:cX("entity")("has_dataset"),sampleType:cX("entity")("sample_type"),TissueBlock:aq.DataFactory.literal("Tissue Block"),TissueSection:aq.DataFactory.literal("Tissue Section"),NonStandard:aq.DataFactory.literal("Non-standard"),sectionCount:cX("entity")("section_count"),sectionSize:cX("entity")("section_size"),sectionUnits:cX("entity")("section_units"),sectionNumber:cX("entity")("section_number"),spatialEntity:cX("entity")("has_spatial_entity"),ontologyTerms:cX("entity")("has_ontology_term"),cellTypeTerms:cX("entity")("has_cell_type_term"),technology:cX("entity")("technology"),thumbnail:cX("entity")("has_thumbnail")},pX=cX("ccf"),fX={x:pX,ontologyNode:{label:pX("ccf_preferred_label"),parent:pX("ccf_part_of"),children:pX("ccf_part_of"),rui_rank:pX("ccf_rui_rank"),synonymLabels:aq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:pX("ccf_part_of"),ct_is_a:pX("ct_is_a"),located_in:pX("located_in"),characterizes:pX("characterizes")},spatial:{Female:pX("VHFemale"),Male:pX("VHMale"),BothSexes:pX("VHBothSexes"),FemaleOrgans:pX("VHFemaleOrgans"),MaleOrgans:pX("VHMaleOrgans")},SpatialObjectReference:pX("SpatialObjectReference"),SpatialEntity:pX("SpatialEntity"),SpatialPlacement:pX("SpatialPlacement"),spatialObjectReference:{file:pX("has_object_file"),file_format:pX("has_object_file_format"),file_subpath:pX("has_object_file_subpath")},extractionSet:{label:hX.label,rui_rank:pX("ccf_rui_rank")},spatialEntity:{label:hX.label,comment:hX.comment,creator:cX("dc")("creator"),creator_first_name:pX("creator_first_name"),creator_last_name:pX("creator_last_name"),creator_orcid:pX("creator_orcid"),creation_date:pX("creation_date"),updated_date:pX("updated_date"),ccf_annotations:pX("ccf_annotation"),representation_of:pX("ccf_representation_of"),reference_organ:pX("anatomical_structure_of"),extraction_set_for:pX("extraction_set_for"),extraction_set:pX("extraction_site_for"),sex:pX("has_sex"),side:pX("has_side"),rui_rank:pX("ccf_rui_rank"),slice_thickness:pX("ccf_slice_thickness"),slice_count:pX("ccf_slice_count"),x_dimension:pX("has_x_dimension"),y_dimension:pX("has_y_dimension"),z_dimension:pX("has_z_dimension"),dimension_units:pX("has_dimension_units"),object:pX("has_object_reference")},spatialPlacement:{source:pX("has_placement_source"),target:pX("has_placement_target"),placement_date:pX("has_placement_date"),x_scaling:pX("has_x_scaling"),y_scaling:pX("has_y_scaling"),z_scaling:pX("has_z_scaling"),scaling_units:pX("has_scaling_units"),x_rotation:pX("has_x_rotation"),y_rotation:pX("has_y_rotation"),z_rotation:pX("has_z_rotation"),w_rotation:pX("has_theta_rotation"),rotation_order:pX("has_rotation_order"),rotation_units:pX("has_rotation_units"),x_translation:pX("has_x_translation"),y_translation:pX("has_y_translation"),z_translation:pX("has_z_translation"),translation_units:pX("has_translation_units")}},gX={x:cX("uberon"),body:cX("uberon")("0013702")},mX={x:cX("cl"),cell:cX("cl")("0000000")},bX={x:cX("fma")},yX=(cX("lmha"),{body:gX.body,cell:mX.cell,respiratory_system:gX.x("0001004"),colon:gX.x("0001155"),left_lung:gX.x("0002168"),right_lung:gX.x("0002167"),left_bronchus:gX.x("0002178"),right_bronchus:gX.x("0002177"),kidney:gX.x("0002113"),ureter:gX.x("0000056"),eye:gX.x("0000970"),fallopian_tube:gX.x("0003889"),knee:gX.x("0001465"),ovary:gX.x("0000992"),trachea:gX.x("0003126"),aorta:gX.x("0000947"),blood:gX.x("0000178"),bone_marrow:gX.x("0002371"),male_reproductive_system:gX.x("0000079"),lymph_node:gX.x("0000029"),blood_vasculature:gX.x("0004537"),brain:gX.x("0000955"),eye_left:gX.x("0004548"),eye_right:bX.x("54449"),fallopian_tube_left:gX.x("0001303"),fallopian_tube_right:gX.x("0001302"),heart:gX.x("0000948"),kidney_left:gX.x("0004538"),kidney_right:gX.x("0004539"),knee_left:bX.x("24978"),knee_right:bX.x("24977"),large_intestine:gX.x("0000059"),liver:gX.x("0002107"),lungs:gX.x("0002048"),mesenteric_lymph_node:gX.x("0002509"),ovary_left:bX.x("7214"),ovary_right:bX.x("7213"),pancreas:gX.x("0001264"),pelvis:gX.x("0001270"),prostate_gland:gX.x("0002367"),skin:gX.x("0002097"),small_intestine:gX.x("0002108"),spleen:gX.x("0002106"),thymus:gX.x("0002370"),ureter_left:gX.x("0001223"),ureter_right:gX.x("0001222"),urinary_bladder:gX.x("0001255"),uterus:gX.x("0000995")});function vX(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const _X={spatialObjectReference:vX(fX.spatialObjectReference),spatialEntity:vX(fX.spatialEntity),spatialPlacement:vX(fX.spatialPlacement)};function wX(t,e){const n=lX(t,e,"ExtractionSet",_X.spatialEntity);return n.extractionSites=(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set,e,null).map(e=>xX(t,e.id)),["rui_rank"]),n}function xX(t,e){const n=lX(t,e,"SpatialEntity",_X.spatialEntity);return n.object&&(n.object=function(t,e){return lX(t,e,"SpatialObjectReference",_X.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,fX.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,dX.spatialEntity,e,null),n}function SX(t,e){const n=lX(t,e,"SpatialPlacement",_X.spatialPlacement);return n.source&&(n.source=xX(t,n.source)),n.target&&(n.target=xX(t,n.target)),n}function CX(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class EX{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new dq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},uX.type,fX.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},uX.type,fX.SpatialEntity,null);const e={};for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=fq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&CX(i,SX(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,gq.get)(t,"placement[0]",(0,gq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=CX(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new uq).fromRotationMatrix(r,uq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${xq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class OX{constructor(t){this.db=t}getSpatialEntity(t){return xX(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set_for,e,null).map(e=>wX(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return wX(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.reference_organ,e,null).map(e=>xX(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(xX(t,n.subject.id))},null,fX.spatialEntity.reference_organ,null,null),(0,gq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=fX.spatial.Male.id;break;case"Female":e=fX.spatial.Female.id;break;case"Both":default:e=fX.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(fX.x("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const TX="https://entity.api.hubmapconsortium.org/entities/",kX=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),PX={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},AX={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},MX={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class IX{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,AX[t.group_uuid]||(AX[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=AX[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=TX+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,gq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${t.specimen_type}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":TX+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${AX[t.group_uuid]||t.group_name}`,description:`${e.specimen_type}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=AX[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,gq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":TX+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,gq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>kX.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(kX.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=PX[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,gq.toNumber)(r[1]));for(const u of(0,gq.get)(t,"metadata.organ_donor_data",[]))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,gq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,gq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=AX[t.group_uuid]||t.group_name;return{"@id":TX+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r)),i){const t=null!==(n=(0,gq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,gq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,gq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,gq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const DX=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors","descendants","rui_location","specimen_type"],RX={exists:{field:"rui_location"}};function NX(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:RX,_source:{includes:DX}})}function LX(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e);return n.ok?yield n.json():void 0}catch(n){return}})}function jX(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield LX(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),r=NX(0,50,n),s=yield LX(t,{method:"POST",headers:i,body:r});if(!s)return;const o=s.hits.total.value;if(o<=50)return s;const a=[];for(let e=50;e!t))return;const c=l.map(t=>t.hits.hits);return Object.assign(Object.assign({},s),{hits:Object.assign(Object.assign({},s.hits),{hits:s.hits.hits.concat(...c)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,gq.get)(t,"hits.hits",[]).map(t=>(0,gq.get)(t,"_source",{})).map(t=>new IX(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":MX},t)))),{"@context":MX,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function FX(t,e,n){const i=new Set;for(const r of e)for(const e of(0,aq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const BX={[fX.spatialEntity.x_dimension.id]:"x",[fX.spatialEntity.y_dimension.id]:"y",[fX.spatialEntity.z_dimension.id]:"z"};function VX(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=lX(t,e,"Dimensions",BX);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new uq).fromRotationMatrix(r,uq.XYZ).toQuaternion().normalize().calculateW();s=(new iX).fromCenterHalfSizeQuaternion(e,i,o)}return s}function zX(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=VX(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function UX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function HX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function $X(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function GX(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.namedNode(r);t.forSubjects($X(e,i),fX.spatialEntity.ccf_annotations,n,null)}return i}function WX(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,aq.readQuads)(e,i,dX.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,aq.readQuads)(e,r,fX.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function qX(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[fX.ontologyNode.label.id]:"label",[n]:"parent",[fX.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of aX(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function XX(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,aq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=qX(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,r}const YX=(0,gq.memoize)(function(t){const e=XX(t,yX.body.id,"body",fX.asctb.part_of.id);return e.nodes[yX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),KX={[dX.label.id]:"label",[dX.description.id]:"description",[dX.link.id]:"link"},QX=Object.assign(Object.assign({},KX),{[dX.providerName.id]:"providerName"}),ZX=Object.assign(Object.assign({},KX),{[dX.technology.id]:"technology",[dX.thumbnail.id]:"thumbnail"}),JX=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionNumber.id]:"sectionNumber",[dX.datasets.id]:"datasets"}),tY=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionCount.id]:"sectionCount",[dX.sectionSize.id]:"sectionSize",[dX.sectionUnits.id]:"sectionUnits",[dX.donor.id]:"donor",[dX.spatialEntity.id]:"spatialEntityId",[dX.sections.id]:"sections",[dX.datasets.id]:"datasets"});function eY(t,e){return lX(t,e,"Donor",QX)}function nY(t,e){return lX(t,e,"Dataset",ZX)}function iY(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of aX(t,e,JX))if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]=r;return n}class rY{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const sY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class oY{constructor(t=sY){this.options=t,this.store=new aq.Store(void 0,{factory:aq.DataFactory}),this.graph=new EX(this),this.scene=new OX(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e="ccf-database.last_modified",n="ccf-database",i=yield oq(e).catch(()=>{});let r;i&&t-new Date(+i).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([n,e]).catch(()=>{}):r=yield oq(n).catch(()=>{}),r?yield this.deserialize(r):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[n,this.serialize()],[e,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,aq.deserializeN3Store)(r,aq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(jX(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?t.endsWith("jsonld")?yield(0,aq.addJsonLdToStore)(t,n):t.endsWith("n3")?yield(0,aq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,aq.addRdfXmlToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n)}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=YX(t),s=new Map;for(const{subject:o,object:a}of(0,aq.readQuads)(t,null,fX.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>aq.DataFactory.namedNode(t)))}for(const{object:o}of(0,aq.readQuads)(t,null,dX.spatialEntity,null,null))for(const{subject:e}of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,o,null))for(const{object:n}of(0,aq.readQuads)(t,e,fX.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(aq.DataFactory.namedNode(o.id),fX.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,aq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory),this.graph=new EX(this),this.scene=new OX(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),dX.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects($X(e,i),dX.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=UX(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects($X(e,i),dX.sex,dX[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=UX(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,aq.readQuads)(t,u,dX.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,aq.readQuads)(t,u,dX.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=HX(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)zX(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(yX.body.id)&&(u=HX(t,u,n=>GX(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(yX.cell.id)&&(u=HX(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,fX.asctb.located_in,null),r===yX.cell.id&&i.add(yX.body.id);return GX(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,gq.isFinite)(n.ageRange[0])&&(0,gq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.age,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,gq.isFinite)(n.bmiRange[0])&&(0,gq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.bmi,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(aq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(aq.DataFactory.namedNode(e),dX.spatialEntity,null);if(n.length>0)return xX(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new rY(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of aX(t,e,tY))if("sections"===i){const e=iY(t,r);n[i].push(e)}else if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]="donor"===i?eY(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=FX(e,t,dX.donor.id),i=FX(e,n,dX.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,aq.readQuads)(e,a,dX.spatialEntity,null,null))r.add(t.subject.id);const s=FX(e,r,dX.sections.id),o=new Set([...FX(e,r,dX.datasets.id),...FX(e,s,dX.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return WX(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=WX(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,aq.readQuads)(e,null,fX.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[yX.cell.id]=null!==(i=null===(n=r.get(yX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return YX(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return XX(t,yX.cell.id,"cell",fX.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const aY=[240,183,98,255],lY=[213,0,0,255],cY=[29,204,101,255],uY=[41,121,255,255],hY=[204,204,204,255],dY=[213,0,0,255],pY=[29,204,101,255],fY=[41,121,255,255];function gY(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:fY}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const mY=Symbol("Comlink.proxy"),bY=Symbol("Comlink.endpoint"),yY=Symbol("Comlink.releaseProxy"),vY=Symbol("Comlink.thrown"),_Y=t=>"object"==typeof t&&null!==t||"function"==typeof t,wY=new Map([["proxy",{canHandle:t=>_Y(t)&&t[mY],serialize(t){const{port1:e,port2:n}=new MessageChannel;return xY(t,e),[n,[n]]},deserialize:t=>(t.start(),CY(t))}],["throw",{canHandle:t=>_Y(t)&&vY in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function xY(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(MY);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=MY(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[mY]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;xY(t,n),l=function(t,e){return PY.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[vY]:0}}Promise.resolve(l).catch(t=>({value:t,[vY]:0})).then(t=>{const[i,o]=AY(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),SY(e))})}),e.start&&e.start()}function SY(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function CY(t,e){return OY(t,[],e)}function EY(t){if(t)throw new Error("Proxy has been released and is not useable")}function OY(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(EY(i),s===yY)return()=>IY(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{SY(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=IY(t,{type:"GET",path:e.map(t=>t.toString())}).then(MY);return n.then.bind(n)}return OY(t,[...e,s])},set(n,r,s){EY(i);const[o,a]=AY(s);return IY(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(MY)},apply(n,r,s){EY(i);const o=e[e.length-1];if(o===bY)return IY(t,{type:"ENDPOINT"}).then(MY);if("bind"===o)return OY(t,e.slice(0,-1));const[a,l]=kY(s);return IY(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(MY)},construct(n,r){EY(i);const[s,o]=kY(r);return IY(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(MY)}});return r}function TY(t){return Array.prototype.concat.apply([],t)}function kY(t){const e=t.map(AY);return[e.map(t=>t[0]),TY(e.map(t=>t[1]))]}const PY=new WeakMap;function AY(t){for(const[e,n]of wY)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},PY.get(t)||[]]}function MY(t){switch(t.type){case"HANDLER":return wY.get(t.name).deserialize(t.value);case"RAW":return t.value}}function IY(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class DY extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let RY=null;function NY(t){RY=t}function LY(){if(null===RY)throw new DY;return RY.get(qz)}function jY(){if(null===RY)throw new DY;return RY.get(Tu)}function FY(t,e,n){e.run(()=>t.dispatch(n))}function BY(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(FY(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>FY(t,e,n)}),n}(t,e,n,i):(FY(t,e,n),n)}class VY{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const zY="\u0275fac",UY=Symbol("InjectorInstance"),HY=Symbol("FactoryHasBeenDecorated");function $Y(t,e){const n=t[UY];return n?n.get(e):null}const GY={cancelUncompleted:!1};function WY(t=GY){return(e,n,i)=>{let r;const s=function(t){return t?new VY:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=$Y(this,qz)||LY(),e=$Y(this,Tu)||jY(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>BY(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(HY in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[zY]&&function(t){const e=t[zY];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[UY]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,zY,{get:()=>i})}(e),t.constructor.prototype[HY]=!0}(e)}}let qY=(()=>{class t{constructor(t){NY(t.injector),t.onDestroy(()=>{NY(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),XY=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),YY=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const KY=["*"],QY=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],ZY=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],JY=qy(Yy(class{})),tK=Yy(class{}),eK=new oi("MatList"),nK=new oi("MatNavList");let iK=(()=>{class t extends JY{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:eK,useExisting:t}]),jo,ye],ngContentSelectors:KY,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),rK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),sK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),oK=(()=>{class t extends tK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(nK,8),ea(eK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,rK,5),Jc(n,sK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:ZY,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(QY),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),aK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,YY]}),t})();const lK=["input"],cK=function(t){return{enterDuration:t}},uK=["*"],hK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:dK});function dK(){return{color:"accent",clickAction:"check-indeterminate"}}let pK=0;const fK=dK(),gK={provide:aU,useExisting:pt(()=>yK),multi:!0};class mK{}const bK=Ky(Xy(Yy(qy(class{constructor(t){this._elementRef=t}}))));let yK=(()=>{class t extends bK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++pK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||fK,this.color=this.defaultColor=this._options.color||fK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new mK;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(hK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(lK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([gK]),jo],ngContentSelectors:uK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,cK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),vK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),_K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,vK],Wy,vK]}),t})();const wK=["bodyCanvas"];let xK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(wK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),SK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const CK=["carouselContainer"],EK=["itemlist"],OK=["itemcontainer"];function TK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function kK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function PK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,kK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function AK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const MK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),IK=MK.filter(t=>!0!==t.disabled);let DK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=IK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(CK,7),Zc(EK,7),Zc(OK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,TK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,PK,6,7,"div",7),sa(),sa(),Jo(8,AK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),RK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),NK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),LK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function jK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function FK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,jK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function BK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,FK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let VK=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,BK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),zK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),UK=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),HK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea(UK))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),$K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,zK,k_,d_]]}),t})(),GK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),WK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let qK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Yd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function XK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function YK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let KK=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,XK,2,1,"button",0),Jo(3,YK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),QK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class ZK extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let JK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const tQ=new A,eQ={cacheBusterObserver:tQ},nQ={cacheBusterObserver:tQ,maxCacheCount:4};function iQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let sQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(tQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},rQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},rQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:iQ(null==t?void 0:t.ageRange,1,110),bmi:iQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(eQ)],t.prototype,"getProviderNames",null),vw([QW(eQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(eQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(eQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(eQ)],t.prototype,"getReferenceOrgans",null),vw([QW(nQ)],t.prototype,"getTissueBlockResults",null),vw([QW(nQ)],t.prototype,"getAggregateResults",null),vw([QW(nQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(nQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(nQ)],t.prototype,"getScene",null),vw([QW(nQ)],t.prototype,"getReferenceOrganScene",null),t})(),oQ=(()=>{class t extends ZK{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),aQ=(()=>{class t extends oQ{createDatabase(t){return{database:new oY(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),lQ=(()=>{class t extends oQ{createDatabase(t){const e=this.createWorker(t),n=CY(e);return{database:n,unsubscribe:()=>{n[yY](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),cQ=(()=>{class t extends ZK{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),uQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),hQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),dQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var pQ;class fQ{get length(){var t,e;return null!==(e=null===(t=fQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=fQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=fQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=fQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=fQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=fQ.storage)||void 0===t||t.clear()}}fQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),fQ.\u0275fac=function(t){return new(t||fQ)},fQ.\u0275prov=xt({token:fQ,factory:fQ.\u0275fac,providedIn:"root"});const gQ="callToActionPopupShown";let mQ=pQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(gQ,`${n}`),r=pQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new hQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(yQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(gQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};mQ.\u0275fac=function(t){return new(t||mQ)(Ei(nG),Ei(jW),Ei(fQ),Ei(UK),Ei(Jv))},mQ.\u0275prov=xt({token:mQ,factory:mQ.\u0275fac}),vw([eU(uQ)],mQ.prototype,"learnMore",null),vw([eU(hQ)],mQ.prototype,"open",null),vw([eU(dQ)],mQ.prototype,"close",null),mQ=pQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],mQ);let bQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([mQ])],t,"title",null),vw([rU([mQ])],t,"message",null),vw([rU([mQ])],t,"callToAction",null),vw([rU([mQ])],t,"imageUrl",null),vw([rU([mQ])],t,"expirationDate",null),vw([rU([mQ])],t,"popupShown",null),t})(),yQ=(()=>{class t{constructor(){this.close=()=>new dQ,this.learnMore=()=>new uQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[GK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(bQ.title)],t.prototype,"title$",void 0),vw([iU(bQ.message)],t.prototype,"message$",void 0),vw([iU(bQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(bQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([WY()],t.prototype,"close",void 0),vw([WY()],t.prototype,"learnMore",void 0),t})();function vQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function _Q(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let wQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,vQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,_Q,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,iK,kh,oK,yK,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),xQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,_K,k_,aK]]}),t})(),SQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),CQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const EQ=new oi("Default theme class");let OQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(EQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const TQ={initialConfig:{},parse:{},rename:{}};class kQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},TQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let PQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new kQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const AQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var MQ;const IQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(MQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==MQ?MQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function DQ(t){return(...e)=>new t(...e)}function RQ(t,e){return n=>n.lift(new NQ(t,e))}class NQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new LQ(t,this.keySelector,this.flushes))}}class LQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class jQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new FQ(t,this.count,this.source))}}class FQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let BQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const VQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var zQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(zQ||(zQ={})),zQ))();function UQ(t){return()=>t.next(zQ.Completed)}function HQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let $Q=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),RQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(HQ(this.tissueBlockData,UQ(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(HQ(this.aggregateData,UQ(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(HQ(this.ontologyTermOccurencesData,UQ(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(HQ(this.cellTypeTermOccurencesData,UQ(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(HQ(this.sceneData,UQ(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(HQ(this.technologyFilterData,UQ(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(HQ(this.providerFilterData,UQ(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(RQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(RQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(RQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(RQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(RQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(RQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(RQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===zQ.Completed)}(t)?zQ.Completed:zQ.Running),RQ()),this._tissueBlockDataQueryStatus$.next(zQ.Completed),this._aggregateDataQueryStatus$.next(zQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Completed),this._sceneDataQueryStatus$.next(zQ.Completed),this._technologyFilterQueryStatus$.next(zQ.Completed),this._providerFilterQueryStatus$.next(zQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===VQ?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new jQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};$Q.\u0275fac=function(t){return new(t||$Q)(Ei(JK))},$Q.\u0275prov=xt({token:$Q,factory:$Q.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],$Q.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],$Q.prototype,"updateFilter",null),vw([eU(BQ)],$Q.prototype,"updateFilterHandler",null),vw([PV.ak],$Q.prototype,"tissueBlockData",null),vw([PV.ak],$Q.prototype,"aggregateData",null),vw([PV.ak],$Q.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],$Q.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],$Q.prototype,"sceneData",null),vw([PV.ak],$Q.prototype,"technologyFilterData",null),vw([PV.ak],$Q.prototype,"providerFilterData",null),$Q=vw([kW(),nU({name:"data",defaults:{filter:VQ,status:"Loading",statusMessage:"Loading database"}})],$Q);class GQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([$Q])],GQ,"filter",null),vw([rU([$Q])],GQ,"anatomicalStructuresTreeModel",null),vw([rU([$Q])],GQ,"cellTypesTreeModel",null);let WQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),qQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),XQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let YQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};YQ.\u0275fac=function(t){return new(t||YQ)},YQ.\u0275prov=xt({token:YQ,factory:YQ.\u0275fac}),vw([eU(WQ)],YQ.prototype,"addSearch",null),vw([eU(qQ)],YQ.prototype,"removeSearch",null),vw([eU(XQ)],YQ.prototype,"setSelectedSearches",null),YQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],YQ);class KQ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([YQ])],KQ,"items",null),vw([rU([KQ.items])],KQ,"searches",null),vw([rU([KQ.items])],KQ,"selectedSearches",null);const QQ=new RegExp("[^#a-f\\d]","gi"),ZQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),JQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||QQ.test(t)||!ZQ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let tZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};tZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(tZ)))(e||tZ)}}(),tZ.\u0275prov=xt({token:tZ,factory:tZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],tZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],tZ.prototype,"unassignColor",null),tZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:JQ.concat(),colorsAvailable:JQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],tZ);let eZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,gq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};eZ.\u0275fac=function(t){return new(t||eZ)(Ei(JK),Ei(No))},eZ.\u0275prov=xt({token:eZ,factory:eZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],eZ.prototype,"setListResults",null),eZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],eZ);const nZ=new Set(["Skin","Heart","Kidney","Spleen"]);let iZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),this.listResults=this.injector.get(eZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return MK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>nZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function rZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function sZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function oZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function aZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}iZ.\u0275fac=function(t){return new(t||iZ)(Ei(JK),Ei(No))},iZ.\u0275prov=xt({token:iZ,factory:iZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],iZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],iZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],iZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],iZ.prototype,"setScene",null),vw([rU()],iZ,"referenceOrgans",null),vw([rU()],iZ,"referenceOrganEntities",null),iZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],iZ);const lZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",cZ=Xy(class{constructor(t){this._elementRef=t}},"primary"),uZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class hZ extends cZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=hZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=hZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}hZ.\u0275fac=function(t){return new(t||hZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},hZ.\u0275cmp=Jt({type:hZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,rZ,1,9,"circle",1),Jo(2,sZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),hZ._diameters=new WeakMap;let dZ=(()=>{class t extends hZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,oZ,1,9,"circle",1),Jo(2,aZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),t})(),pZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),fZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[dZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const gZ={isolated:!0},mZ=new oi("Message service configuration",{providedIn:"root",factory:()=>gZ});let bZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const yZ=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(Y())}ngOnDestroy(){this.channel.complete()}connect(t){return new bZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(mZ),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),vZ=["*"];let _Z=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:vZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const wZ=["*"],xZ={params:{width:0,margin:0,margin2:0}};class SZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let CZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new SZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:wZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),xZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),xZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),xZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function EZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const OZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],TZ=["ccf-drawer","ccf-drawer-content","*"];function kZ(t){throw new Error(`Multiple drawers in position ${t}`)}let PZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&kZ("start"),n.length>1&&kZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,CZ,5),Jc(n,_Z,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(_Z,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([yZ])],ngContentSelectors:TZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(OZ),xa(0),xa(1,1),Jo(2,EZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,_Z],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),AZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),MZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),IZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),DZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),RZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),NZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),LZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),jZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),FZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),VZ=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const zZ=["trigger"],UZ=["panel"];function HZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function $Z(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function GZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function WZ(t,e){1&t&&(ra(0,"span",9),Jo(1,$Z,2,1,"span",10),Jo(2,GZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function qZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const XZ=[[["mat-select-trigger"]],"*"],YZ=["mat-select-trigger","*"],KZ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let QZ=0;const ZZ=new oi("mat-select-scroll-strategy"),JZ=new oi("MAT_SELECT_CONFIG"),tJ={provide:ZZ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class eJ{constructor(t,e){this.source=t,this.value=e}}const nJ=Yy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),iJ=new oi("MatSelectTrigger");let rJ=(()=>{class t extends nJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+QZ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+QZ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(ZZ),ea(Bg),ea(JZ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(zZ,5),Zc(UZ,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),sJ=(()=>{class t extends rJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new eJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,iJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:YZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(XZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,HZ,2,1,"span",3),Jo(5,WZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,qZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[KZ.transformPanelWrap,KZ.transformPanel]},changeDetection:0}),t})(),oJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[tJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function aJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let lJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,aJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,sJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var cJ=n(25430),uJ=n(39053),hJ=n(26202);const dJ=["tooltipTemplate"],pJ=["leftOuterSelectionBar"],fJ=["rightOuterSelectionBar"],gJ=["fullBar"],mJ=["selectionBar"],bJ=["minHandle"],yJ=["maxHandle"],vJ=["floorLabel"],_J=["ceilLabel"],wJ=["minHandleLabel"],xJ=["maxHandleLabel"],SJ=["combinedLabel"],CJ=["ticksElement"];function EJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function OJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const TJ=function(t){return{"ng5-slider-selected":t}};function kJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,EJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,OJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,TJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function PJ(t,e){}function AJ(t,e){1&t&&Jo(0,PJ,0,0,"ng-template")}const MJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function IJ(t,e){if(1&t&&(aa(0),Jo(1,AJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,MJ,t.tooltip,t.placement,t.content))}}function DJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const RJ={Min:0,Max:1};RJ[RJ.Min]="Min",RJ[RJ.Max]="Max";const NJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};NJ[NJ.Low]="Low",NJ[NJ.High]="High",NJ[NJ.Floor]="Floor",NJ[NJ.Ceil]="Ceil",NJ[NJ.TickValue]="TickValue";class LJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class jJ{}class FJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){FJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),FJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),FJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new zJ;return r.eventName=e,r.events=new cJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let HJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new UJ(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;FJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return FJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),$J=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),GJ=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(FJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class WJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class qJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class YJ extends XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const KJ={provide:aU,useExisting:pt(()=>QJ),multi:!0};let QJ=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new LJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new cJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new cJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new LJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new qJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new UJ(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!FJ.isNullOrUndefined(this.value)&&!FJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){FJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!FJ.isNullOrUndefined(t.value)||!FJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),(0,uJ.filter)(t=>!t.forceChange&&!t.internalChange),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){BJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){BJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){FJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){FJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){FJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){FJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){FJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){FJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===RJ.Min?this.minHandleElement:t===RJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===RJ.Min?this.viewLowValue:this.currentTrackingPointer===RJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return FJ.isNullOrUndefined(t)?NaN:FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:FJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return FJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!XJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),FJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),FJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new XJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!FJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=VJ.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=VJ.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);XJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!FJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!FJ.isNullOrUndefined(this.viewOptions.tickStep)||!FJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),FJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),FJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(FJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),FJ.isNullOrUndefined(this.viewOptions.ceil)||FJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==RJ.Min&&t!==RJ.Max&&(t=RJ.Min),t===RJ.Min?this.minHandleElement.focus():this.range&&t===RJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){FJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),FJ.isNullOrUndefined(this.viewOptions.ariaLabel)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",FJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,NJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,NJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){FJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,FJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=FJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new WJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),FJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,NJ.TickValue),FJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!FJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);FJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(FJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,NJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,NJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===RJ.Min?this.updateLowHandle(e):t===RJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===RJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===RJ.Min||!this.viewOptions.rightToLeft&&t===RJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,NJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Min,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(RJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,NJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Max,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(RJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!FJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===RJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,NJ.Low),e=this.getDisplayValue(this.viewHighValue,NJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!FJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=FJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=VJ.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,VJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=FJ.linearValueToPosition;FJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=FJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=VJ.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=FJ.linearPositionToValue;FJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=FJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!FJ.isNullOrUndefined(e))for(let r=0;ri?RJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?RJ.Min:RJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(RJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(RJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!BJ.isTouchEvent(e)||!hJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),FJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),BJ.isTouchEvent(e)&&!FJ.isNullOrUndefined(e.changedTouches)&&FJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(BJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!FJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){BJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,FJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=FJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(FJ.isNullOrUndefined(i)||FJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=VJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===RJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===RJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!FJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=VJ.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(t)),this.updateHandles(RJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===RJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===RJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(RJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=RJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===RJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===RJ.Min?this.viewHighValue:this.viewLowValue));if(!FJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===RJ.Min)return VJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===RJ.Max)return VJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===RJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=FJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===RJ.Min?(this.viewHighValue=VJ.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===RJ.Max&&(this.viewLowValue=VJ.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new jJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,dJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(pJ,5,HJ),Zc(fJ,5,HJ),Zc(gJ,5,HJ),Zc(mJ,5,HJ),Zc(bJ,5,$J),Zc(yJ,5,$J),Zc(vJ,5,GJ),Zc(_J,5,GJ),Zc(wJ,5,GJ),Zc(xJ,5,GJ),Zc(SJ,5,GJ),Zc(CJ,5,HJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([KJ]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,kJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[HJ,jh,$J,GJ,kh,Oh,ZJ,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),ZJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,IJ,2,6,"ng-container",0),Jo(1,DJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),JJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const t0=["popover"];function e0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let n0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(t0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,e0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,sJ,QJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function i0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let r0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,i0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,yK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var s0;let o0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),a0=s0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(FZ),rg(500),eg(()=>e.dispatch(o0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new MZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(GQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(iZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new IZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(s0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(GQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:gY(r).concat(e)})}),W(()=>t.dispatch(new FZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new DZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new FZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new FZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(s0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(GQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(s0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new WQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(KQ.selectedSearches);s.push(new BQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(iZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};a0.\u0275fac=function(t){return new(t||a0)(Ei(JK),Ei(qz),Ei(Az),Ei(jW))},a0.\u0275prov=xt({token:a0,factory:a0.\u0275fac}),vw([eU(AZ)],a0.prototype,"startSpatialSearchFlow",null),vw([eU(MZ)],a0.prototype,"setSex",null),vw([eU(IZ)],a0.prototype,"setOrgan",null),vw([eU(DZ)],a0.prototype,"setPosition",null),vw([eU(NZ)],a0.prototype,"resetPosition",null),vw([eU(RZ)],a0.prototype,"moveToNode",null),vw([eU(LZ)],a0.prototype,"setRadius",null),vw([eU(jZ)],a0.prototype,"resetRadius",null),vw([eU(o0)],a0.prototype,"updateSpatialSearch",null),vw([eU(BZ)],a0.prototype,"generateSpatialSearch",null),vw([eU(VZ)],a0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([s0,iZ.referenceOrganEntities])],a0,"organEntity",null),a0=s0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],a0);class l0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:aY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:uY}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function c0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}l0.organEntity=a0.organEntity,vw([rU([a0])],l0,"sex",null),vw([rU([a0])],l0,"referenceOrgans",null),vw([rU([a0])],l0,"organId",null),vw([rU([l0.organId,l0.referenceOrgans])],l0,"organ",null),vw([rU([l0.sex,l0.referenceOrgans])],l0,"organs",null),vw([rU([a0])],l0,"position",null),vw([rU([a0])],l0,"defaultPosition",null),vw([rU([a0])],l0,"radius",null),vw([rU([a0])],l0,"radiusSettings",null),vw([rU([a0,a0.organEntity,l0.position,l0.radius])],l0,"scene",null),vw([rU([a0.organEntity])],l0,"sceneBounds",null),vw([rU([a0.organEntity])],l0,"sceneTarget",null),vw([rU([a0])],l0,"tissueBlocks",null),vw([rU([a0,GQ.anatomicalStructuresTreeModel])],l0,"anatomicalStructures",null),vw([rU([a0,GQ.cellTypesTreeModel])],l0,"cellTypes",null);let u0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,c0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function h0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let d0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,h0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function p0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function f0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let g0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,p0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,f0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),m0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[g0],encapsulation:2,changeDetection:0}),t})(),b0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,XY,F$,u0,d0,xK,m0,SQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function y0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class v0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=DQ(DZ),this.resetPosition=DQ(NZ),this.moveToNode=DQ(RZ),this.updateRadius=DQ(LZ),this.resetRadius=DQ(jZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new BZ}openSpatialSearchConfig(){this.close(),this.dialog.open(j0)}}v0.\u0275fac=function(t){return new(t||v0)(ea(Y$),ea(nG),ea(UK))},v0.\u0275cmp=Jt({type:v0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,y0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,b0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.scene)],v0.prototype,"scene$",void 0),vw([iU(l0.sceneBounds)],v0.prototype,"sceneBounds$",void 0),vw([iU(l0.sceneTarget)],v0.prototype,"sceneTarget$",void 0),vw([iU(l0.sex)],v0.prototype,"sex$",void 0),vw([iU(l0.organ)],v0.prototype,"organ$",void 0),vw([iU(l0.position)],v0.prototype,"position$",void 0),vw([iU(l0.defaultPosition)],v0.prototype,"defaultPosition$",void 0),vw([iU(l0.radius)],v0.prototype,"radius$",void 0),vw([iU(l0.radiusSettings)],v0.prototype,"radiusSettings$",void 0),vw([iU(l0.tissueBlocks)],v0.prototype,"tissueBlocks$",void 0),vw([iU(l0.anatomicalStructures)],v0.prototype,"anatomicalStructures$",void 0),vw([iU(l0.cellTypes)],v0.prototype,"cellTypes$",void 0),vw([WY()],v0.prototype,"updatePosition",void 0),vw([WY()],v0.prototype,"resetPosition",void 0),vw([WY()],v0.prototype,"moveToNode",void 0),vw([WY()],v0.prototype,"updateRadius",void 0),vw([WY()],v0.prototype,"resetRadius",void 0),vw([WY()],v0.prototype,"addSpatialSearch",null);const _0=["input"],w0=function(t){return{enterDuration:t}},x0=["*"],S0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let C0=0;const E0={provide:aU,useExisting:pt(()=>P0),multi:!0};class O0{constructor(t,e){this.source=t,this.value=e}}const T0=new oi("MatRadioGroup");let k0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+C0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new O0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),P0=(()=>{class t extends k0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([E0,{provide:T0,useExisting:t}]),jo]}),t})();class A0{constructor(t){this._elementRef=t}}const M0=Yy(Ky(A0));let I0=(()=>{class t extends M0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++C0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new O0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(k0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(_0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),D0=(()=>{class t extends I0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(T0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(S0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:x0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,w0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function R0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function N0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let L0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,R0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,N0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,P0,MU,lH,D0,QH,Ah,sJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class j0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=DQ(MZ),this.updateOrgan=DQ(IZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(v0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}j0.\u0275fac=function(t){return new(t||j0)(ea(nG),ea(Y$),ea(nG),ea(UK))},j0.\u0275cmp=Jt({type:j0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[L0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.sex)],j0.prototype,"sex$",void 0),vw([iU(l0.organ)],j0.prototype,"selectedOrgan$",void 0),vw([iU(l0.organs)],j0.prototype,"organs$",void 0),vw([WY()],j0.prototype,"updateSex",void 0),vw([WY()],j0.prototype,"updateOrgan",void 0);let F0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new AZ).pipe(rf(1),eg(()=>this.dialog.open(j0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function B0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const V0=function(){return["Both","Male","Female"]},z0=function(){return[1,110]},U0=function(){return[13,83]};let H0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify(VQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,B0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,V0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,z0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,U0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[lJ,n0,r0,Ah,F0,R_,T_,wQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function $0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function G0(t,e){1&t&&oa(0,"mat-icon",8)}class W0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new VZ(!1)}removeBox(){return this.filtersVisible=!1,new VZ(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}W0.\u0275fac=function(t){return new(t||W0)},W0.\u0275cmp=Jt({type:W0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,$0,3,0,"div",2),Jo(3,G0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,H0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([WY()],W0.prototype,"toggleFilterVisible",null),vw([WY()],W0.prototype,"removeBox",null);class q0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,gq.at)(i,t.children)}}q0.\u0275fac=function(t){return new(t||q0)},q0.\u0275prov=xt({token:q0,factory:q0.\u0275fac}),vw([PV.ak],q0.prototype,"getChildren",null);class X0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const Y0=new oi("CDK_TREE_NODE_OUTLET_NODE");let K0=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class Q0{constructor(t){this.$implicit=t}}let Z0=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),J0=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new Q0(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),t1.mostRecentTreeNode&&(t1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,Z0,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(K0,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[K0],encapsulation:2}),t})(),t1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!e1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function e1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const n1=/([A-Za-z%]+)$/;let i1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(n1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(t1),ea(J0),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),r1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(J0),ea(t1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),s1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const o1=Ky(qy(t1));let a1=(()=>{class t extends o1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:t1,useExisting:t}]),jo]}),t})(),l1=(()=>{class t extends Z0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:Z0,useExisting:t}]),jo]}),t})(),c1=(()=>{class t extends i1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:i1,useExisting:t}]),jo]}),t})(),u1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:K0,useExisting:t}])]}),t})(),h1=(()=>{class t extends J0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(u1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:J0,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[u1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),d1=(()=>{class t extends r1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:r1,useExisting:t}]),jo]}),t})(),p1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[s1,Wy],Wy]}),t})();class f1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class g1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class m1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new m1(t,e)}}function b1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function y1(t,e){1&t&&ca(0)}const v1=function(t){return{node:t}};function _1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,y1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function w1(t,e){1&t&&ca(0)}function x1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,w1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const S1=(0,gq.property)("level"),C1=(0,gq.property)("expandable");let E1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new X0(S1,C1),this.flattener=new f1(m1.create,S1,C1,gq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new g1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,gq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,b1,2,9,"ng-template",null,1,ru),Jo(3,_1,10,20,"mat-tree-node",2),Jo(4,x1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[h1,l1,a1,c1,T_,NK,Fh,R_,d1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function O1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let T1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,gq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,gq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(q0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,O1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const k1=function(t){return[t]};function P1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,k1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let A1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(q0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(E1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([q0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,P1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[T1,Ah,E1],pipes:[$h],styles:[""],changeDetection:0}),t})(),M1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(CZ),ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function I1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function D1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let R1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,I1,4,0,"div",5),Jo(10,D1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,dZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function N1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const L1=function(){return[]};let j1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,N1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,L1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function F1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function B1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:F1(e[n])&&F1(t[n])&&Object.keys(e[n]).length>0&&B1(t[n],e[n])})}var V1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function z1(){var t="undefined"!=typeof document?document:{};return B1(t,V1),t}var U1={document:V1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function H1(){var t="undefined"!=typeof window?window:{};return B1(t,U1),t}function $1(t){return($1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function G1(t,e){return(G1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function W1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function q1(t,e,n){return(q1=W1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&G1(r,n.prototype),r}).apply(null,arguments)}function X1(t){var e="function"==typeof Map?new Map:void 0;return(X1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return q1(t,arguments,$1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G1(n,t)})(t)}var Y1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(X1(Array));function K1(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,K1(t)):e.push(t)}),e}function Q1(t,e){return Array.prototype.filter.call(t,e)}function Z1(t,e){var n=H1(),i=z1(),r=[];if(!e&&t instanceof Y1)return t;if(!t)return new Y1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=H1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=H1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=H1(),e=z1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=H1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return Z1([]);if(t<0){var n=e+t;return Z1(n<0?[]:[this[n]])}return Z1([this[t]])},append:function(){for(var t,e=z1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof Y1)for(n=0;n0?t?this[0].nextElementSibling&&Z1(this[0].nextElementSibling).is(t)?Z1([this[0].nextElementSibling]):Z1([]):Z1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):Z1([])},nextAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&Z1(e.previousElementSibling).is(t)?Z1([e.previousElementSibling]):Z1([]):Z1(e.previousElementSibling?[e.previousElementSibling]:[])}return Z1([])},prevAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),n2}function p2(t){return void 0===t&&(t={}),i2||(i2=function(t){var e=(void 0===t?{}:t).userAgent,n=d2(),i=H1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),i2}function f2(){return r2||(r2=function(){var t,e=H1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),r2}var g2={name:"resize",create:function(){var t=this;u2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=H1();t.params.resizeObserver&&void 0!==H1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=H1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function m2(){return(m2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=s2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==z1()&&n!==H1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(u2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=a2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&s2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function _2(t){var e=z1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(u2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=a2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&s2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:a2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function w2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=a2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=a2(),o2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||a2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function x2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function S2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function C2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var E2=!1;function O2(){}var T2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function k2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var X=I[0];T=U+H+$+G+W+(X.offsetWidth-X.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var Y=0;Y1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=s2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),u2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);u2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=s2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(s2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=z1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=s2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(s2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),u2(t.params,u);var m=t.params.enabled;u2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=H1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=H1();function l(){s&&s()}s2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return s2(n.el).each(function(e){var i=u2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=d2(),a.device=p2({userAgent:n.userAgent}),a.browser=f2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=u2({},T2);return a.useParams(u),a.params=u2({},u,A2,n),a.originalParams=u2({},a.params),a.passedParams=u2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=s2,u2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:s2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:a2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=s2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=s2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=z1().createElement("div");r=s2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return u2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){u2(A2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+a2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&k2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return A2}},{key:"defaults",get:function(){return T2}}]),t}();Object.keys(P2).forEach(function(t){Object.keys(P2[t]).forEach(function(e){M2.prototype[e]=P2[t][e]})}),M2.use([g2,y2]);var I2=M2;const D2=["prevElRef"],R2=["nextElRef"],N2=["scrollbarElRef"],L2=["paginationElRef"];function j2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function F2(t,e){1&t&&oa(0,"div",10,11)}function B2(t,e){1&t&&oa(0,"div",12,13)}function V2(t,e){}function z2(t,e){1&t&&Jo(0,V2,0,0,"ng-template")}function U2(t,e){}function H2(t,e){1&t&&Jo(0,U2,0,0,"ng-template")}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}const q2=function(t){return{$implicit:t}};function X2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,W2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,q2,t.slideData))}}function Y2(t,e){}function K2(t,e){if(1&t&&(aa(0),Jo(1,Y2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,q2,t.slideData))}}function Q2(t,e){if(1&t&&(ra(0,"div",15),Jo(1,X2,2,5,"div",16),Jo(2,K2,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function Z2(t,e){1&t&&(Jo(0,Q2,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const J2=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],t3=function(t){return{loopSlides:t,key:"prepend"}},e3=function(t){return{loopSlides:t,key:""}},n3=function(t){return{loopSlides:t,key:"append"}},i3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function r3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function s3(t,e,n){return!0===a3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function o3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(r3(e[n])&&r3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:o3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function a3(t){return null!=t&&"false"!=`${t}`}const l3=["pagination","navigation","scrollbar","virtual"];function c3(t,e={}){return r3(t)?t:!0===a3(t)&&e}const u3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function h3(t={}){const e={on:{}},n={};o3(e,I2.defaults),o3(e,I2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(u3.indexOf(s)>=0?r3(t[s])?(e[s]={},n[s]={},o3(e[s],t[s]),o3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let d3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=a3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),p3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=c3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==a3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=c3(t,{el:n||null}),this.showPagination=s3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=c3(t,{el:n||null}),this.showScrollbar=s3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=c3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=h3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=h3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=h3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new I2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};o3(e.params.virtual,t),o3(e.originalParams.virtual,t)}Xh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(l3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=I2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=r3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?o3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&r3(e)?o3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,d3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(D2,5),Zc(R2,5),Zc(N2,5),Zc(L2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:i3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(J2),xa(0),Jo(1,j2,5,0,"ng-container",0),Jo(2,F2,2,0,"div",1),Jo(3,B2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,z2,1,0,void 0,4),Jo(7,H2,1,0,void 0,4),Jo(8,G2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,Z2,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,t3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,e3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,n3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),f3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function g3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function m3(t,e){1&t&&(aa(0),Jo(1,g3,7,3,"ng-template",6),la())}const b3=(()=>{let t=-1;return()=>(t+=1,t)})();let y3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=b3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,m3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,p3,kh,d3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function v3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function _3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function w3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function x3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function S3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,x3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function C3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,_3,1,2,"ccf-tissue-section-vis",18),Jo(16,w3,2,1,"ng-container",13),sa(),Jo(17,S3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const E3=function(t){return{"background-color":t}};let O3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,v3,2,1,"mat-icon",12),sa(),sa(),Jo(18,C3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,E3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,yK,T_,Ah,kh,j1,y3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function T3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function k3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let P3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,T3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,k3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,O3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const A3=["*",[["mat-toolbar-row"]]],M3=["*","mat-toolbar-row"],I3=Xy(class{constructor(t){this._elementRef=t}});let D3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),R3=(()=>{class t extends I3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:M3,decls:2,vars:0,template:function(t,e){1&t&&(wa(A3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),N3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function L3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function j3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let F3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,L3,2,3,"a",4),Jo(5,j3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[R3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const B3=["bodyUI"];function V3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function z3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function U3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const H3=function(){return{}},$3=function(){return{x:2.2,y:2,z:.4}};class G3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=DQ(XQ),this.removeSpatialSearch=DQ(qQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=IQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===zQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(KK,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function W3(t,e){1&t&&oa(0,"ccf-root")}function q3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=AQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}G3.\u0275fac=function(t){return new(t||G3)(ea(Al),ea(No),ea($Q),ea(OQ),ea(iZ),ea(eZ),ea(VW),ea(aw),ea(CQ),ea(JK),ea(WK),ea(nc))},G3.\u0275cmp=Jt({type:G3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(B3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,V3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,z3,3,1,"div",31),Jo(78,U3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,H3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,$3))}},directives:[fZ,Ah,PZ,CZ,W0,A1,M1,R1,gw,T_,HK,P3,_Z,DK,F0,xK,F3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(GQ.cellTypesTreeModel)],G3.prototype,"cellTypeTreeModel$",void 0),vw([iU(GQ.anatomicalStructuresTreeModel)],G3.prototype,"ontologyTreeModel$",void 0),vw([iU(KQ.items)],G3.prototype,"selectableSearches$",void 0),vw([WY()],G3.prototype,"setSelectedSearches",void 0),vw([WY()],G3.prototype,"removeSpatialSearch",void 0);let X3=(()=>{class t extends PQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},IQ.dbOptions),globalThis.dbOptions),IQ.customization),parse:{dataSources:q3,useRemoteApi:AQ.boolean,header:AQ.boolean,loginDisabled:AQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(WK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,W3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,G3],encapsulation:2,changeDetection:0}),t})(),Y3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,N3,yw]]}),t})(),K3=(()=>{class t extends lQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Q3=(()=>{class t extends cQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?sQ:"undefined"==typeof Worker||IQ.disableDbWorker?aQ:K3}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Z3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:OQ.initialize,multi:!0},OQ]}),t})(),J3=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const t5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class e5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return t5(t.getHours(),2)+":"+t5(t.getMinutes(),2)+":"+t5(t.getSeconds(),2)+"."+t5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class n5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const i5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let r5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new n5(this._options),this._store=this._store||this._injector.get(qz);const i=new e5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(i5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s5=new oi("LOGGER_USER_OPTIONS");function o5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let a5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:r5,multi:!0},{provide:s5,useValue:e},{provide:i5,useFactory:o5,deps:[s5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function l5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function c5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let u5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:l5(null!==(n=t.start)&&void 0!==n?n:0,e),end:l5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,c5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function h5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const d5=[[["","matPrefix",""]],[["","matSuffix",""]]],p5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class f5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}f5.\u0275fac=function(t){return new(t||f5)(ea(p5))},f5.\u0275cmp=Jt({type:f5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(d5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,h5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,u5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],f5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let g5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};g5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(g5)))(e||g5)}}(),g5.\u0275prov=xt({token:g5,factory:g5.\u0275fac}),vw([CW()],g5.prototype,"config$",null),g5=vw([kW(),nU({name:"globalConfig",defaults:null})],g5);const m5="ALLOW_TELEMETRY",b5=y5();function y5(){const t=localStorage.getItem(m5);return null===t?void 0:"true"===t.toLowerCase()}let v5=class extends MW{setAllowTelemetry(t){const e=y5();localStorage.setItem(m5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};v5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(v5)))(e||v5)}}(),v5.\u0275prov=xt({token:v5,factory:v5.\u0275fac}),vw([OW()],v5.prototype,"setAllowTelemetry",null),v5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:b5}})],v5);const _5=new A,w5={cacheBusterObserver:_5},x5={cacheBusterObserver:_5,maxCacheCount:4};function S5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class E5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(_5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},C5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},C5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:S5(null==t?void 0:t.ageRange,1,110),bmi:S5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}E5.\u0275fac=function(t){return new(t||E5)(Ei(eq),Ei(g5))},E5.\u0275prov=xt({token:E5,factory:E5.\u0275fac,providedIn:"root"}),vw([QW(w5)],E5.prototype,"getProviderNames",null),vw([QW(w5)],E5.prototype,"getDatasetTechnologyNames",null),vw([QW(w5)],E5.prototype,"getOntologyTreeModel",null),vw([QW(w5)],E5.prototype,"getCellTypeTreeModel",null),vw([QW(w5)],E5.prototype,"getReferenceOrgans",null),vw([QW(x5)],E5.prototype,"getTissueBlockResults",null),vw([QW(x5)],E5.prototype,"getAggregateResults",null),vw([QW(x5)],E5.prototype,"getOntologyTermOccurences",null),vw([QW(x5)],E5.prototype,"getCellTypeTermOccurences",null),vw([QW(x5)],E5.prototype,"getScene",null),vw([QW(x5)],E5.prototype,"getReferenceOrganScene",null);let O5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),T5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),k5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function P5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function A5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,P5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function M5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,A5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let I5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,M5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class D5{get length(){var t,e;return null!==(e=null===(t=D5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=D5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=D5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=D5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=D5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=D5.storage)||void 0===t||t.clear()}}D5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),D5.\u0275fac=function(t){return new(t||D5)},D5.\u0275prov=xt({token:D5,factory:D5.\u0275fac,providedIn:"root"});let R5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var N5;const L5="callToActionPopupShown";let j5=N5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(L5,`${n}`),r=N5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new T5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(I5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(V5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(L5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};j5.\u0275fac=function(t){return new(t||j5)(Ei(nG),Ei(jW),Ei(D5),Ei(R5),Ei(Jv))},j5.\u0275prov=xt({token:j5,factory:j5.\u0275fac}),vw([eU(O5)],j5.prototype,"learnMore",null),vw([eU(T5)],j5.prototype,"open",null),vw([eU(k5)],j5.prototype,"close",null),j5=N5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],j5);class F5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([j5])],F5,"title",null),vw([rU([j5])],F5,"message",null),vw([rU([j5])],F5,"callToAction",null),vw([rU([j5])],F5,"imageUrl",null),vw([rU([j5])],F5,"expirationDate",null),vw([rU([j5])],F5,"popupShown",null);let B5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class V5{constructor(){this.close=()=>new k5,this.learnMore=()=>new O5}}V5.\u0275fac=function(t){return new(t||V5)},V5.\u0275cmp=Jt({type:V5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[B5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(F5.title)],V5.prototype,"title$",void 0),vw([iU(F5.message)],V5.prototype,"message$",void 0),vw([iU(F5.callToAction)],V5.prototype,"callToAction$",void 0),vw([iU(F5.imageUrl)],V5.prototype,"imageUrl$",void 0),vw([WY()],V5.prototype,"close",void 0),vw([WY()],V5.prototype,"learnMore",void 0);const z5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let U5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of z5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};U5.\u0275fac=function(t){return new(t||U5)(Ei(y_,8),Ei(Sd))},U5.\u0275prov=xt({token:U5,factory:U5.\u0275fac}),vw([OW()],U5.prototype,"registerIcon",null),U5=vw([kW(),nU({name:"iconRegistry"})],U5);const H5=[WK,tZ,U5,eZ,$Q,iZ,j5,a0,YQ];let $5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[J3.forRoot(),tU.forRoot(H5,{developmentMode:!IQ.production,selectorOptions:{injectContainerState:!1}}),qY.forRoot(),a5.forRoot({disabled:IQ.production})]]}),t})(),G5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:JK,useExisting:Q3}],imports:[[d_,GW.forRoot({gaToken:IQ.googleAnalyticsToken,appName:"eui"}),qK,nq.forRoot(()=>new tq({basePath:IQ.dbOptions.remoteApiEndpoint})),Y3,$5,Z3],Y3]}),t})(),W5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K]]}),t})(),q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,oJ]]}),t})(),X5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,oJ,JJ]]}),t})(),Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,W5,q5,X5,xQ,Y5]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,K5]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,p1,LK]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5,t4],Z5,J5,t4]}),t})();function n4(){return(n4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=z1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=s2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=s2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),u2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},r4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){h2(this,{navigation:n4({},i4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!s2(s).is(r)&&!s2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let s4=(()=>{class t{constructor(){I2.use([r4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,f3]]}),t})(),o4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),a4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K,k_,s4,o4]]}),t})(),l4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,a4]]}),t})(),c4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:mZ,useValue:gZ}],imports:[[Td,By,k_]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,pZ]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,pZ]]}),t})(),d4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(X3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:EQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:CQ}],imports:[[By,Td,G5,c4,Q5,e4,k_,X5,l4,u4,SK,RK,$K,yw,h4,QK,sw,Y5]]}),t})();IQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(d4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file +var W6e=Object.defineProperty,Y6e=Object.defineProperties,X6e=Object.getOwnPropertyDescriptors,XM=Object.getOwnPropertySymbols,yZ=Object.prototype.hasOwnProperty,bZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,wZ=(t,e,n)=>e in t?W6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e)=>{for(var n in e||(e={}))yZ.call(e,n)&&wZ(t,n,e[n]);if(XM)for(var n of XM(e))bZ.call(e,n)&&wZ(t,n,e[n]);return t},Un=(t,e)=>Y6e(t,X6e(e)),SZ=(t,e)=>{var n={};for(var i in t)yZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&XM)for(var i of XM(t))e.indexOf(i)<0&&bZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(Un(vt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(Un(vt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(Un(vt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(Un(vt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(Un(vt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=SZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=vt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=vt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=vt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=vt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=vt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},X=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Y(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:Y;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){X.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Xt),Kt(Yt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Xt,$t.MultiUndirectedGraph=Yt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Y(l,c),e.distance=X(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return X(e[0],e[1],z)/X(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return Y(e[1],e[0],z)+Y(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function X(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function Y(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),X=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Xt=RegExp("['\u2019]","g"),Yt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Ye,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Yo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Xi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Ye,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Yo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Xo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Yo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Yr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Xe(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Xa(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Yt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Xa(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xa=Ar("toUpperCase");function Ya(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Xo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Yo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Yo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Xe(t,Aa(t))},Ln.without=io,Ln.words=Ya,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Xi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Xa,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,Y)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,Y))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,X)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
    '+(n?t:J(t,!0))+"
    \n":"
    "+(n?t:J(t,!0))+"
    \n"},e.blockquote=function(t){return"
    \n"+t+"
    \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

    "+mt(l.message+"",!0)+"
    ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

    "+mt(i.message+"",!0)+"
    ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new X(t,this.project,this.concurrent))}}class X extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Y(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function yt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${yt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Xt=lt({"\u0275mod":lt}),Yt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Xt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Xe(){return Ve.lFrame.isParent}function Ye(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=zn(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function zn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Xn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?zn(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Yn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Xn(){return new ti(Ge(),Ue())}function Yn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(yt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Xi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Xi(t){return t instanceof Vi&&t.getTypeName()||null}class Yi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),nr(sr,er("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Yi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Ys(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Xa(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Xo(r,o,e)&&Ya(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Xo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Yo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Xo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Xo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Xl(){return new Yl([new Fl])}let Yl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Xl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Xl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Yl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=zn(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Xs(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Yt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Yo(t,e,n,i);return Xo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Xo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Yo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Xu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Xu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Xu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Xu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Yu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Yl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Yl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Xh(t){return t===qh}class Yh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Xi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Yu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Yh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Xd(t,this.compare,this.keySelector))}}class Xd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Yd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Yd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Yd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return Y(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Xh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Xp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Yp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Xp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Yp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Xp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Xp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Xf;function Yf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Xf){const t=Element.prototype;Xf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Xf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Yd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Xg=new Ll("12.2.5");class Yg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Xm(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Ym(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Xm(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Xm(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Ym(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Ym(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Ym(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Ym(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Yb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Yb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Xb{constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Yb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Yb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Xb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Yg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Yg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Xg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Xg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Xy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Yy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Xv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Yv extends Xv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Yv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Xv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Xv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Yv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Yh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Xy(qy(Yy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let X_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Y_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(Y_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function Y_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Xp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(X_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(X_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(X_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Xw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Yw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Yw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Yw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Yw.level=Math.max(Yw.level,1)):Yw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Xx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Yx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Xx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Yw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Yw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Xx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Yw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Yx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Xx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Xx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Xx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Xx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Xx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Xx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Yw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Yw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Yw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Yw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Yw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Xx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Xx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Yw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Xx(i,"Could not deduced texture size"),Xx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Xx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Xx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Xx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Xx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Xx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Yw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Xx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Xx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Xx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Xx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Xx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Yw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Xx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Xx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Yw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Yw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Yw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Yw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Yw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Yw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Yw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Yw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Xx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Xx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Xx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Xx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Xx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Xx(!1);return i}(t,e)),t.luma.caps[e]||Yw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,XS={};function YS(t,{precision:e=XS.precision||4}={}){return t=function(t){return Math.round(t/XS.EPSILON)*XS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=XS.EPSILON;n&&(XS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+YS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",vt(vt(vt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function XC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function YC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Yw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Xx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Xx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Xx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function XE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function YE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Yw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Xx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Yw.error(`GLSL compilation errors in ${e}\n${n}`)(),Yw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Xx(this.vs instanceof bO),Xx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Yw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Yw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Yw.log(t,r)()}return Xx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Xx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Yw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Yw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Yw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Yw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:XE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:XE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:YE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Xx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Xx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Xx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Yw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Xx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Yw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Xx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Xx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Xx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Xx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Xx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Xx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=vt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Xx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Yw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Yw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Yw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Yw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Xx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Xx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Yw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Yw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Yw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Yw.table(t,r)(),Yw.table(t,s)(),Yw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Yw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Xx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Xx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function XO(){}const YO={onStart:XO,onUpdate:XO,onInterrupt:XO,onEnd:XO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=vt(vt({},YO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=XC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;YC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,Un(vt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=XC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),YC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(Un(vt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=vt(vt({},t),e);if("defines"in e&&(n.defines=vt(vt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=vt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(XS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(Un(vt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(Un(vt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(vt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,Un(vt({},e),{parameters:vt(vt(vt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(vt(vt(vt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Xk=t=>qk(t)&&t.constructor==={}.constructor,Yk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=Un(vt({},t=t[0]),{options:vt(vt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||vt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=vt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Xk(e[n])&&Xk(t[n])?vt(vt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),XP=(qP&&parseFloat(qP[1]),new Map);function YP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=XP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?YP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),XP.set(t.url,e)),t.source&&(e=YP(t.source),XP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=vt(vt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=vt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=vt(vt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Yk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=vt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,Un(vt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=Un(vt({},r),{fetch:Un(vt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:XA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):XA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=vt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=vt(vt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=Un(vt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=vt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),vt(vt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(vt(vt(vt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=vt(vt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=vt(vt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=vt(vt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(vt(vt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(vt(vt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,Un(vt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&Un(vt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=vt(vt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,Un(vt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,Un(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,Un(vt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?Un(vt({},e),{transitionInterpolator:new pM(Un(vt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(Un(vt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(vt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(vt(vt(vt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(Un(vt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(Un(vt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(Un(vt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=vt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=vt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=XM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||XM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class YM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(Un(vt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=XA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=Un(vt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(vt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=Un(vt(vt(vt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(Un(vt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(Un(vt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(vt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(vt(vt(vt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(Un(vt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,Un(vt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:Un(vt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return vt(vt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(Un(vt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=vt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?vt(vt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function XI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function YI(t){switch(XI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=YI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Xx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Yw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Xx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Yw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Yw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Yw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:XD}=FD,YD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=XD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===YD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:YD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=vt(vt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](vt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(Un(vt(vt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Xw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(vt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=Un(vt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Xw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=vt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?vt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Xx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Xx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Xx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Xx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Xx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,XA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return Un(vt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=Un(vt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(vt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let XR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,Un(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const YR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(Un(vt(vt({},YR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,Un(vt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Xx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Xx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Xx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Xx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Yw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Yw.warn(`Bad animation path ${s}`)()}Xx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){YN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,vt({id:t.name||t.id,parameters:vt(vt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Yw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Yw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Yw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Yw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return Un(vt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let XL;function YL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return XL=e.draco3d?XL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):XL||QL(t),yield XL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(Un(vt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=Un(vt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield YL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:vt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Xj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Yj(t,e={}){return(new Xj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=vt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=vt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=vt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=vt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=vt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=vt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=vt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Yj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=vt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:vt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let XF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class YF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return YF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return YF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends XF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:XF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=XF.types.SPHERE,wB=XF.types.PLANE,xB=XF.types.BOX,SB=XF.types.CYLINDER,CB=XF.types.CONVEXPOLYHEDRON,EB=XF.types.HEIGHTFIELD,OB=XF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=XB,d=YB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),YF.vectorToLocalFrame(n,e,y,u),YF.pointToLocalFrame(n,e,m,h),YF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(YF.vectorToWorldFrame(e,o,f),YF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield XA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"}),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),XV=new oi("Internals.StateFactory");function YV(t,e){return e?n=>n.pipe(YV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(YV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Xz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Yz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Yz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Xz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Xz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:XV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Xz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Xz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Xz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function XU(t){return(ZU(t)?t.validators:t)||null}function YU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=YU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=YU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(XU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const XH=Xy(class{constructor(t){this._elementRef=t}},"primary"),YH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends XH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Yd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Yy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Xp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Xy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),X$=0;class Y${constructor(t,e,n="mat-dialog-"+X$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Xp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,Y$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Xp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Xh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Xh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Xh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Xh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Xh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?XG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{XG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(YG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(YG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(YG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function XG(t){return"getPlayerStatus"in t}function YG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(XV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Xh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),XW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),YW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new YW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||YW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||YW.cacheHasher||XW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||YW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||YW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||YW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||YW.maxCacheCount)||1===(t.maxCacheCount||YW.maxCacheCount)||(t.maxCacheCount||YW.maxCacheCount)&&(t.maxCacheCount||YW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(71440);const lq="Unknown Euler angle order",cq=.99999;class uq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return uq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return uq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=uq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new uq(c,u,h,uq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(lq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,uq.ZYX)}fromRotationMatrix(t,e=uq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case uq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case uq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case uq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case uq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case uq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case uq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(lq)}}_fromRotationMatrix(t,e=uq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case uq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(_q[t[e+0]]+_q[t[e+1]]+_q[t[e+2]]+_q[t[e+3]]+"-"+_q[t[e+4]]+_q[t[e+5]]+"-"+_q[t[e+6]]+_q[t[e+7]]+"-"+_q[t[e+8]]+_q[t[e+9]]+"-"+_q[t[e+10]]+_q[t[e+11]]+_q[t[e+12]]+_q[t[e+13]]+_q[t[e+14]]+_q[t[e+15]]).toLowerCase();if(!vq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Sq=n(31609);const Cq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Eq=(Math,Math,{});function Oq(t,{precision:e=Eq.precision||4}={}){return t=function(t){return Math.round(t/Eq.EPSILON)*Eq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Tq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kq(t,e,n){const i=Eq.EPSILON;n&&(Eq.EPSILON=n);try{if(t===e)return!0;if(Tq(t)&&Tq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+Oq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Vq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Vq),this.radius=o,this}expand(t){const e=(t=Bq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(Bq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=Bq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Cq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Xq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Iq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Kq=new Fq,Qq=new Fq,Zq=new Fq,Jq=new Fq,tX=new Fq,eX=new Fq,nX=new Fq;class iX{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Fq).from(t),this.halfAxes=new qq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Fq(t).len(),new Fq(e).len(),new Fq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Fq(t).normalize(),r=new Fq(e).normalize(),s=new Fq(n).normalize();return(new Yq).fromMatrix3(new qq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Yq(n),r=(new qq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Fq).from(t),this.halfAxes=r,this}clone(){return new iX(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new zq){const e=this.halfAxes,n=e.getColumn(0,Zq),i=e.getColumn(1,Jq),r=e.getColumn(2,tX),s=Kq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Cq.OUTSIDE:l>=a?Cq.INSIDE:Cq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Qq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Zq),r=n.getColumn(1,Jq),s=n.getColumn(2,tX),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,Zq),l=o.getColumn(1,Jq),c=o.getColumn(2,tX),u=eX.copy(a).add(l).add(c).add(s),h=nX.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,Zq);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,Jq);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,tX);return i.transformAsPoint(t),this.halfAxes=new qq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const rX=new Fq,sX=new Fq;class oX{constructor(t=[0,0,1],e=0){this.normal=new Fq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Pq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=rX.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Pq(kq(this.normal.len(),1)),this.distance=i,this}clone(t){return new oX(this.normal,this.distance)}equals(t){return kq(this.distance,t.distance)&&kq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=sX.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=rX.from(t);const n=this.getPointDistance(t),i=sX.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*aX(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,aq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Sq.fromRdf)(n.object):n.object.id;yield[r,t]}}function lX(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,aq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Sq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Fq([1,0,0]),new Fq([0,1,0]),new Fq([0,0,1]),new Fq,new Fq,new oX(new Fq(1,0,0),0),new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,Math,new qq,new qq,new qq,new qq,new qq,new Fq,new Fq,new Fq,new Fq,new Fq,new qq,new qq,new qq;const cX=aq.Util.prefixes({ccf:"http://purl.org/ccf/latest/ccf.owl#",entity:"http://purl.org/ccf/latest/ccf-entity.owl#",fma:"http://purl.obolibrary.org/obo/FMA_",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/"},aq.DataFactory),uX={x:cX("rdf"),type:cX("rdf")("type")},hX={x:cX("rdfs"),label:cX("rdfs")("label"),comment:cX("rdfs")("comment"),isDefinedBy:cX("rdfs")("isDefinedBy"),seeAlso:cX("rdfs")("seeAlso")},dX={x:cX("entity"),id:cX("entity")("id"),label:hX.label,description:hX.comment,link:hX.seeAlso,sex:cX("entity")("sex"),age:cX("entity")("age"),bmi:cX("entity")("bmi"),Male:aq.DataFactory.literal("Male"),Female:aq.DataFactory.literal("Female"),consortiumName:cX("entity")("consortium_name"),providerName:cX("entity")("provider_name"),providerUUID:cX("entity")("provider_uuid"),donor:cX("entity")("has_donor"),sections:cX("entity")("has_tissue_section"),datasets:cX("entity")("has_dataset"),sampleType:cX("entity")("sample_type"),TissueBlock:aq.DataFactory.literal("Tissue Block"),TissueSection:aq.DataFactory.literal("Tissue Section"),NonStandard:aq.DataFactory.literal("Non-standard"),sectionCount:cX("entity")("section_count"),sectionSize:cX("entity")("section_size"),sectionUnits:cX("entity")("section_units"),sectionNumber:cX("entity")("section_number"),spatialEntity:cX("entity")("has_spatial_entity"),ontologyTerms:cX("entity")("has_ontology_term"),cellTypeTerms:cX("entity")("has_cell_type_term"),technology:cX("entity")("technology"),thumbnail:cX("entity")("has_thumbnail")},pX=cX("ccf"),fX={x:pX,ontologyNode:{label:pX("ccf_preferred_label"),parent:pX("ccf_part_of"),children:pX("ccf_part_of"),rui_rank:pX("ccf_rui_rank"),synonymLabels:aq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:pX("ccf_part_of"),ct_is_a:pX("ct_is_a"),located_in:pX("located_in"),characterizes:pX("characterizes")},spatial:{Female:pX("VHFemale"),Male:pX("VHMale"),BothSexes:pX("VHBothSexes"),FemaleOrgans:pX("VHFemaleOrgans"),MaleOrgans:pX("VHMaleOrgans")},SpatialObjectReference:pX("SpatialObjectReference"),SpatialEntity:pX("SpatialEntity"),SpatialPlacement:pX("SpatialPlacement"),spatialObjectReference:{file:pX("has_object_file"),file_format:pX("has_object_file_format"),file_subpath:pX("has_object_file_subpath")},extractionSet:{label:hX.label,rui_rank:pX("ccf_rui_rank")},spatialEntity:{label:hX.label,comment:hX.comment,creator:cX("dc")("creator"),creator_first_name:pX("creator_first_name"),creator_last_name:pX("creator_last_name"),creator_orcid:pX("creator_orcid"),creation_date:pX("creation_date"),updated_date:pX("updated_date"),ccf_annotations:pX("ccf_annotation"),representation_of:pX("ccf_representation_of"),reference_organ:pX("anatomical_structure_of"),extraction_set_for:pX("extraction_set_for"),extraction_set:pX("extraction_site_for"),sex:pX("has_sex"),side:pX("has_side"),rui_rank:pX("ccf_rui_rank"),slice_thickness:pX("ccf_slice_thickness"),slice_count:pX("ccf_slice_count"),x_dimension:pX("has_x_dimension"),y_dimension:pX("has_y_dimension"),z_dimension:pX("has_z_dimension"),dimension_units:pX("has_dimension_units"),object:pX("has_object_reference")},spatialPlacement:{source:pX("has_placement_source"),target:pX("has_placement_target"),placement_date:pX("has_placement_date"),x_scaling:pX("has_x_scaling"),y_scaling:pX("has_y_scaling"),z_scaling:pX("has_z_scaling"),scaling_units:pX("has_scaling_units"),x_rotation:pX("has_x_rotation"),y_rotation:pX("has_y_rotation"),z_rotation:pX("has_z_rotation"),w_rotation:pX("has_theta_rotation"),rotation_order:pX("has_rotation_order"),rotation_units:pX("has_rotation_units"),x_translation:pX("has_x_translation"),y_translation:pX("has_y_translation"),z_translation:pX("has_z_translation"),translation_units:pX("has_translation_units")}},gX={x:cX("uberon"),body:cX("uberon")("0013702")},mX={x:cX("cl"),cell:cX("cl")("0000000")},bX={x:cX("fma")},yX=(cX("lmha"),{body:gX.body,cell:mX.cell,respiratory_system:gX.x("0001004"),colon:gX.x("0001155"),left_lung:gX.x("0002168"),right_lung:gX.x("0002167"),left_bronchus:gX.x("0002178"),right_bronchus:gX.x("0002177"),kidney:gX.x("0002113"),ureter:gX.x("0000056"),eye:gX.x("0000970"),fallopian_tube:gX.x("0003889"),knee:gX.x("0001465"),ovary:gX.x("0000992"),trachea:gX.x("0003126"),aorta:gX.x("0000947"),blood:gX.x("0000178"),bone_marrow:gX.x("0002371"),male_reproductive_system:gX.x("0000079"),lymph_node:gX.x("0000029"),blood_vasculature:gX.x("0004537"),brain:gX.x("0000955"),eye_left:gX.x("0004548"),eye_right:bX.x("54449"),fallopian_tube_left:gX.x("0001303"),fallopian_tube_right:gX.x("0001302"),heart:gX.x("0000948"),kidney_left:gX.x("0004538"),kidney_right:gX.x("0004539"),knee_left:bX.x("24978"),knee_right:bX.x("24977"),large_intestine:gX.x("0000059"),liver:gX.x("0002107"),lungs:gX.x("0002048"),mesenteric_lymph_node:gX.x("0002509"),ovary_left:bX.x("7214"),ovary_right:bX.x("7213"),pancreas:gX.x("0001264"),pelvis:gX.x("0001270"),prostate_gland:gX.x("0002367"),skin:gX.x("0002097"),small_intestine:gX.x("0002108"),spleen:gX.x("0002106"),thymus:gX.x("0002370"),ureter_left:gX.x("0001223"),ureter_right:gX.x("0001222"),urinary_bladder:gX.x("0001255"),uterus:gX.x("0000995")});function vX(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const _X={spatialObjectReference:vX(fX.spatialObjectReference),spatialEntity:vX(fX.spatialEntity),spatialPlacement:vX(fX.spatialPlacement)};function wX(t,e){const n=lX(t,e,"ExtractionSet",_X.spatialEntity);return n.extractionSites=(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set,e,null).map(e=>xX(t,e.id)),["rui_rank"]),n}function xX(t,e){const n=lX(t,e,"SpatialEntity",_X.spatialEntity);return n.object&&(n.object=function(t,e){return lX(t,e,"SpatialObjectReference",_X.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,fX.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,dX.spatialEntity,e,null),n}function SX(t,e){const n=lX(t,e,"SpatialPlacement",_X.spatialPlacement);return n.source&&(n.source=xX(t,n.source)),n.target&&(n.target=xX(t,n.target)),n}function CX(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class EX{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new dq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},uX.type,fX.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},uX.type,fX.SpatialEntity,null);const e={};for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,aq.readQuads)(t,null,fX.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=fq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&CX(i,SX(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,gq.get)(t,"placement[0]",(0,gq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=CX(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new uq).fromRotationMatrix(r,uq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${xq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class OX{constructor(t){this.db=t}getSpatialEntity(t){return xX(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.extraction_set_for,e,null).map(e=>wX(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return wX(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(fX.spatialEntity.reference_organ,e,null).map(e=>xX(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(xX(t,n.subject.id))},null,fX.spatialEntity.reference_organ,null,null),(0,gq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=fX.spatial.Male.id;break;case"Female":e=fX.spatial.Female.id;break;case"Both":default:e=fX.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(fX.x("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(fX.x("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const TX="https://entity.api.hubmapconsortium.org/entities/",kX=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),PX={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},AX={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},MX={"@base":"http://purl.org/ccf/latest/ccf-entity.owl#","@vocab":"http://purl.org/ccf/latest/ccf-entity.owl#",ccf:"http://purl.org/ccf/latest/ccf.owl#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",label:"rdfs:label",description:"rdfs:comment",link:{"@id":"rdfs:seeAlso","@type":"@id"},samples:{"@reverse":"has_donor"},sections:{"@id":"has_tissue_section","@type":"@id"},datasets:{"@id":"has_dataset","@type":"@id"},rui_location:{"@id":"has_spatial_entity","@type":"@id"},ontologyTerms:{"@id":"has_ontology_term","@type":"@id"},cellTypeTerms:{"@id":"has_cell_type_term","@type":"@id"},thumbnail:{"@id":"has_thumbnail"}};class IX{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,AX[t.group_uuid]||(AX[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=AX[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=TX+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,gq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${t.specimen_type}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":TX+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${AX[t.group_uuid]||t.group_name}`,description:`${e.specimen_type}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=AX[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,gq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":TX+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,gq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>kX.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(kX.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=PX[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,gq.toNumber)(r[1]));for(const u of(0,gq.get)(t,"metadata.organ_donor_data",[]))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,gq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,gq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=AX[t.group_uuid]||t.group_name;return{"@id":TX+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r)),i){const t=null!==(n=(0,gq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,gq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,gq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,gq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const DX=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","specimen_type"],RX={exists:{field:"rui_location"}};function NX(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:RX,_source:{includes:DX}})}function LX(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e);return n.ok?yield n.json():void 0}catch(n){return}})}function jX(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield LX(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=250,r=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),s=NX(0,i,n),o=yield LX(t,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let e=i;e!t))return;const u=c.map(t=>t.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,gq.get)(t,"hits.hits",[]).map(t=>(0,gq.get)(t,"_source",{})).map(t=>new IX(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":MX},t)))),{"@context":MX,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function FX(t,e,n){const i=new Set;for(const r of e)for(const e of(0,aq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const BX={[fX.spatialEntity.x_dimension.id]:"x",[fX.spatialEntity.y_dimension.id]:"y",[fX.spatialEntity.z_dimension.id]:"z"};function VX(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=lX(t,e,"Dimensions",BX);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new uq).fromRotationMatrix(r,uq.XYZ).toQuaternion().normalize().calculateW();s=(new iX).fromCenterHalfSizeQuaternion(e,i,o)}return s}function zX(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=VX(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function UX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function HX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function $X(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function GX(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.namedNode(r);t.forSubjects($X(e,i),fX.spatialEntity.ccf_annotations,n,null)}return i}function WX(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,aq.readQuads)(e,i,dX.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,aq.readQuads)(e,r,fX.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function qX(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[fX.ontologyNode.label.id]:"label",[n]:"parent",[fX.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of aX(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function XX(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,aq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=qX(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,r}const YX=(0,gq.memoize)(function(t){const e=XX(t,yX.body.id,"body",fX.asctb.part_of.id);return e.nodes[yX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),KX={[dX.label.id]:"label",[dX.description.id]:"description",[dX.link.id]:"link"},QX=Object.assign(Object.assign({},KX),{[dX.providerName.id]:"providerName"}),ZX=Object.assign(Object.assign({},KX),{[dX.technology.id]:"technology",[dX.thumbnail.id]:"thumbnail"}),JX=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionNumber.id]:"sectionNumber",[dX.datasets.id]:"datasets"}),tY=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionCount.id]:"sectionCount",[dX.sectionSize.id]:"sectionSize",[dX.sectionUnits.id]:"sectionUnits",[dX.donor.id]:"donor",[dX.spatialEntity.id]:"spatialEntityId",[dX.sections.id]:"sections",[dX.datasets.id]:"datasets"});function eY(t,e){return lX(t,e,"Donor",QX)}function nY(t,e){return lX(t,e,"Dataset",ZX)}function iY(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of aX(t,e,JX))if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]=r;return n}class rY{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const sY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class oY{constructor(t=sY){this.options=t,this.store=new aq.Store(void 0,{factory:aq.DataFactory}),this.graph=new EX(this),this.scene=new OX(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e="ccf-database.last_modified",n="ccf-database",i=yield oq(e).catch(()=>{});let r;i&&t-new Date(+i).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([n,e]).catch(()=>{}):r=yield oq(n).catch(()=>{}),r?yield this.deserialize(r):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[n,this.serialize()],[e,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,aq.deserializeN3Store)(r,aq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(jX(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?t.endsWith("jsonld")?yield(0,aq.addJsonLdToStore)(t,n):t.endsWith("n3")?yield(0,aq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,aq.addRdfXmlToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n):yield(0,aq.addJsonLdToStore)(t,n)}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=YX(t),s=new Map;for(const{subject:o,object:a}of(0,aq.readQuads)(t,null,fX.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>aq.DataFactory.namedNode(t)))}for(const{object:o}of(0,aq.readQuads)(t,null,dX.spatialEntity,null,null))for(const{subject:e}of(0,aq.readQuads)(t,null,fX.spatialPlacement.source,o,null))for(const{object:n}of(0,aq.readQuads)(t,e,fX.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(aq.DataFactory.namedNode(o.id),fX.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,aq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory),this.graph=new EX(this),this.scene=new OX(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),dX.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects($X(e,i),dX.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=UX(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects($X(e,i),dX.sex,dX[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=UX(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,aq.readQuads)(t,u,dX.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,aq.readQuads)(t,u,dX.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects($X(e,i),dX.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=HX(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)zX(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(yX.body.id)&&(u=HX(t,u,n=>GX(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(yX.cell.id)&&(u=HX(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,fX.asctb.located_in,null),r===yX.cell.id&&i.add(yX.body.id);return GX(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,gq.isFinite)(n.ageRange[0])&&(0,gq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.age,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,gq.isFinite)(n.bmiRange[0])&&(0,gq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=UX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.bmi,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(aq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(aq.DataFactory.namedNode(e),dX.spatialEntity,null);if(n.length>0)return xX(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new rY(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of aX(t,e,tY))if("sections"===i){const e=iY(t,r);n[i].push(e)}else if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]="donor"===i?eY(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=FX(e,t,dX.donor.id),i=FX(e,n,dX.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,aq.readQuads)(e,a,dX.spatialEntity,null,null))r.add(t.subject.id);const s=FX(e,r,dX.sections.id),o=new Set([...FX(e,r,dX.datasets.id),...FX(e,s,dX.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return WX(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=WX(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,aq.readQuads)(e,null,fX.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[yX.cell.id]=null!==(i=null===(n=r.get(yX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return YX(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return XX(t,yX.cell.id,"cell",fX.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const aY=[240,183,98,255],lY=[213,0,0,255],cY=[29,204,101,255],uY=[41,121,255,255],hY=[204,204,204,255],dY=[213,0,0,255],pY=[29,204,101,255],fY=[41,121,255,255];function gY(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:fY}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const mY=Symbol("Comlink.proxy"),bY=Symbol("Comlink.endpoint"),yY=Symbol("Comlink.releaseProxy"),vY=Symbol("Comlink.thrown"),_Y=t=>"object"==typeof t&&null!==t||"function"==typeof t,wY=new Map([["proxy",{canHandle:t=>_Y(t)&&t[mY],serialize(t){const{port1:e,port2:n}=new MessageChannel;return xY(t,e),[n,[n]]},deserialize:t=>(t.start(),CY(t))}],["throw",{canHandle:t=>_Y(t)&&vY in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function xY(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(MY);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=MY(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[mY]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;xY(t,n),l=function(t,e){return PY.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[vY]:0}}Promise.resolve(l).catch(t=>({value:t,[vY]:0})).then(t=>{const[i,o]=AY(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),SY(e))})}),e.start&&e.start()}function SY(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function CY(t,e){return OY(t,[],e)}function EY(t){if(t)throw new Error("Proxy has been released and is not useable")}function OY(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(EY(i),s===yY)return()=>IY(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{SY(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=IY(t,{type:"GET",path:e.map(t=>t.toString())}).then(MY);return n.then.bind(n)}return OY(t,[...e,s])},set(n,r,s){EY(i);const[o,a]=AY(s);return IY(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(MY)},apply(n,r,s){EY(i);const o=e[e.length-1];if(o===bY)return IY(t,{type:"ENDPOINT"}).then(MY);if("bind"===o)return OY(t,e.slice(0,-1));const[a,l]=kY(s);return IY(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(MY)},construct(n,r){EY(i);const[s,o]=kY(r);return IY(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(MY)}});return r}function TY(t){return Array.prototype.concat.apply([],t)}function kY(t){const e=t.map(AY);return[e.map(t=>t[0]),TY(e.map(t=>t[1]))]}const PY=new WeakMap;function AY(t){for(const[e,n]of wY)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},PY.get(t)||[]]}function MY(t){switch(t.type){case"HANDLER":return wY.get(t.name).deserialize(t.value);case"RAW":return t.value}}function IY(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class DY extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let RY=null;function NY(t){RY=t}function LY(){if(null===RY)throw new DY;return RY.get(qz)}function jY(){if(null===RY)throw new DY;return RY.get(Tu)}function FY(t,e,n){e.run(()=>t.dispatch(n))}function BY(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(FY(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>FY(t,e,n)}),n}(t,e,n,i):(FY(t,e,n),n)}class VY{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const zY="\u0275fac",UY=Symbol("InjectorInstance"),HY=Symbol("FactoryHasBeenDecorated");function $Y(t,e){const n=t[UY];return n?n.get(e):null}const GY={cancelUncompleted:!1};function WY(t=GY){return(e,n,i)=>{let r;const s=function(t){return t?new VY:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=$Y(this,qz)||LY(),e=$Y(this,Tu)||jY(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>BY(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(HY in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[zY]&&function(t){const e=t[zY];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[UY]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,zY,{get:()=>i})}(e),t.constructor.prototype[HY]=!0}(e)}}let qY=(()=>{class t{constructor(t){NY(t.injector),t.onDestroy(()=>{NY(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),XY=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),YY=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const KY=["*"],QY=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],ZY=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],JY=qy(Yy(class{})),tK=Yy(class{}),eK=new oi("MatList"),nK=new oi("MatNavList");let iK=(()=>{class t extends JY{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:eK,useExisting:t}]),jo,ye],ngContentSelectors:KY,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),rK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),sK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),oK=(()=>{class t extends tK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(nK,8),ea(eK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,rK,5),Jc(n,sK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:ZY,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(QY),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),aK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,YY]}),t})();const lK=["input"],cK=function(t){return{enterDuration:t}},uK=["*"],hK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:dK});function dK(){return{color:"accent",clickAction:"check-indeterminate"}}let pK=0;const fK=dK(),gK={provide:aU,useExisting:pt(()=>yK),multi:!0};class mK{}const bK=Ky(Xy(Yy(qy(class{constructor(t){this._elementRef=t}}))));let yK=(()=>{class t extends bK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++pK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||fK,this.color=this.defaultColor=this._options.color||fK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new mK;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(hK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(lK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([gK]),jo],ngContentSelectors:uK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,cK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),vK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),_K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,vK],Wy,vK]}),t})();const wK=["bodyCanvas"];let xK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(wK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),SK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const CK=["carouselContainer"],EK=["itemlist"],OK=["itemcontainer"];function TK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function kK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function PK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,kK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function AK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const MK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),IK=MK.filter(t=>!0!==t.disabled);let DK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=IK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(CK,7),Zc(EK,7),Zc(OK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,TK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,PK,6,7,"div",7),sa(),sa(),Jo(8,AK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),RK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),NK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),LK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function jK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function FK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,jK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function BK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,FK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let VK=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,BK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),zK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),UK=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),HK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea(UK))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),$K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,zK,k_,d_]]}),t})(),GK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),WK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let qK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Yd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function XK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function YK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let KK=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,XK,2,1,"button",0),Jo(3,YK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),QK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class ZK extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let JK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const tQ=new A,eQ={cacheBusterObserver:tQ},nQ={cacheBusterObserver:tQ,maxCacheCount:4};function iQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let sQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(tQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},rQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},rQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:iQ(null==t?void 0:t.ageRange,1,110),bmi:iQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(eQ)],t.prototype,"getProviderNames",null),vw([QW(eQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(eQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(eQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(eQ)],t.prototype,"getReferenceOrgans",null),vw([QW(nQ)],t.prototype,"getTissueBlockResults",null),vw([QW(nQ)],t.prototype,"getAggregateResults",null),vw([QW(nQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(nQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(nQ)],t.prototype,"getScene",null),vw([QW(nQ)],t.prototype,"getReferenceOrganScene",null),t})(),oQ=(()=>{class t extends ZK{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),aQ=(()=>{class t extends oQ{createDatabase(t){return{database:new oY(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),lQ=(()=>{class t extends oQ{createDatabase(t){const e=this.createWorker(t),n=CY(e);return{database:n,unsubscribe:()=>{n[yY](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),cQ=(()=>{class t extends ZK{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),uQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),hQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),dQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var pQ;class fQ{get length(){var t,e;return null!==(e=null===(t=fQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=fQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=fQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=fQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=fQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=fQ.storage)||void 0===t||t.clear()}}fQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),fQ.\u0275fac=function(t){return new(t||fQ)},fQ.\u0275prov=xt({token:fQ,factory:fQ.\u0275fac,providedIn:"root"});const gQ="callToActionPopupShown";let mQ=pQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(gQ,`${n}`),r=pQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new hQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(yQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(gQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};mQ.\u0275fac=function(t){return new(t||mQ)(Ei(nG),Ei(jW),Ei(fQ),Ei(UK),Ei(Jv))},mQ.\u0275prov=xt({token:mQ,factory:mQ.\u0275fac}),vw([eU(uQ)],mQ.prototype,"learnMore",null),vw([eU(hQ)],mQ.prototype,"open",null),vw([eU(dQ)],mQ.prototype,"close",null),mQ=pQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],mQ);let bQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([mQ])],t,"title",null),vw([rU([mQ])],t,"message",null),vw([rU([mQ])],t,"callToAction",null),vw([rU([mQ])],t,"imageUrl",null),vw([rU([mQ])],t,"expirationDate",null),vw([rU([mQ])],t,"popupShown",null),t})(),yQ=(()=>{class t{constructor(){this.close=()=>new dQ,this.learnMore=()=>new uQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[GK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(bQ.title)],t.prototype,"title$",void 0),vw([iU(bQ.message)],t.prototype,"message$",void 0),vw([iU(bQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(bQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([WY()],t.prototype,"close",void 0),vw([WY()],t.prototype,"learnMore",void 0),t})();function vQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function _Q(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let wQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,vQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,_Q,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,iK,kh,oK,yK,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),xQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,_K,k_,aK]]}),t})(),SQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),CQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const EQ=new oi("Default theme class");let OQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(EQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const TQ={initialConfig:{},parse:{},rename:{}};class kQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},TQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let PQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new kQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const AQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var MQ;const IQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"assets/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(MQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==MQ?MQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function DQ(t){return(...e)=>new t(...e)}function RQ(t,e){return n=>n.lift(new NQ(t,e))}class NQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new LQ(t,this.keySelector,this.flushes))}}class LQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class jQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new FQ(t,this.count,this.source))}}class FQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let BQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const VQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var zQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(zQ||(zQ={})),zQ))();function UQ(t){return()=>t.next(zQ.Completed)}function HQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let $Q=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),RQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(HQ(this.tissueBlockData,UQ(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(HQ(this.aggregateData,UQ(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(HQ(this.ontologyTermOccurencesData,UQ(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(HQ(this.cellTypeTermOccurencesData,UQ(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(HQ(this.sceneData,UQ(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(HQ(this.technologyFilterData,UQ(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(HQ(this.providerFilterData,UQ(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(RQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(RQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(RQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(RQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(RQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(RQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(RQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===zQ.Completed)}(t)?zQ.Completed:zQ.Running),RQ()),this._tissueBlockDataQueryStatus$.next(zQ.Completed),this._aggregateDataQueryStatus$.next(zQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Completed),this._sceneDataQueryStatus$.next(zQ.Completed),this._technologyFilterQueryStatus$.next(zQ.Completed),this._providerFilterQueryStatus$.next(zQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===VQ?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new jQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(zQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};$Q.\u0275fac=function(t){return new(t||$Q)(Ei(JK))},$Q.\u0275prov=xt({token:$Q,factory:$Q.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],$Q.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],$Q.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],$Q.prototype,"updateFilter",null),vw([eU(BQ)],$Q.prototype,"updateFilterHandler",null),vw([PV.ak],$Q.prototype,"tissueBlockData",null),vw([PV.ak],$Q.prototype,"aggregateData",null),vw([PV.ak],$Q.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],$Q.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],$Q.prototype,"sceneData",null),vw([PV.ak],$Q.prototype,"technologyFilterData",null),vw([PV.ak],$Q.prototype,"providerFilterData",null),$Q=vw([kW(),nU({name:"data",defaults:{filter:VQ,status:"Loading",statusMessage:"Loading database"}})],$Q);class GQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([$Q])],GQ,"filter",null),vw([rU([$Q])],GQ,"anatomicalStructuresTreeModel",null),vw([rU([$Q])],GQ,"cellTypesTreeModel",null);let WQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),qQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),XQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let YQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};YQ.\u0275fac=function(t){return new(t||YQ)},YQ.\u0275prov=xt({token:YQ,factory:YQ.\u0275fac}),vw([eU(WQ)],YQ.prototype,"addSearch",null),vw([eU(qQ)],YQ.prototype,"removeSearch",null),vw([eU(XQ)],YQ.prototype,"setSelectedSearches",null),YQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],YQ);class KQ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([YQ])],KQ,"items",null),vw([rU([KQ.items])],KQ,"searches",null),vw([rU([KQ.items])],KQ,"selectedSearches",null);const QQ=new RegExp("[^#a-f\\d]","gi"),ZQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),JQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||QQ.test(t)||!ZQ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let tZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};tZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(tZ)))(e||tZ)}}(),tZ.\u0275prov=xt({token:tZ,factory:tZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],tZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],tZ.prototype,"unassignColor",null),tZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:JQ.concat(),colorsAvailable:JQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],tZ);let eZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,gq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};eZ.\u0275fac=function(t){return new(t||eZ)(Ei(JK),Ei(No))},eZ.\u0275prov=xt({token:eZ,factory:eZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],eZ.prototype,"setListResults",null),eZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],eZ);const nZ=new Set(["Skin","Heart","Kidney","Spleen"]);let iZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get($Q),this.colorAssignments=this.injector.get(tZ),this.listResults=this.injector.get(eZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return MK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>nZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function rZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function sZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function oZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function aZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}iZ.\u0275fac=function(t){return new(t||iZ)(Ei(JK),Ei(No))},iZ.\u0275prov=xt({token:iZ,factory:iZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],iZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],iZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],iZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],iZ.prototype,"setScene",null),vw([rU()],iZ,"referenceOrgans",null),vw([rU()],iZ,"referenceOrganEntities",null),iZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],iZ);const lZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",cZ=Xy(class{constructor(t){this._elementRef=t}},"primary"),uZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class hZ extends cZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=hZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=hZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}hZ.\u0275fac=function(t){return new(t||hZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},hZ.\u0275cmp=Jt({type:hZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,rZ,1,9,"circle",1),Jo(2,sZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),hZ._diameters=new WeakMap;let dZ=(()=>{class t extends hZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(uZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,oZ,1,9,"circle",1),Jo(2,aZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[lZ],encapsulation:2,changeDetection:0}),t})(),pZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),fZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[dZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const gZ={isolated:!0},mZ=new oi("Message service configuration",{providedIn:"root",factory:()=>gZ});let bZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const yZ=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(Y())}ngOnDestroy(){this.channel.complete()}connect(t){return new bZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(mZ),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),vZ=["*"];let _Z=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:vZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const wZ=["*"],xZ={params:{width:0,margin:0,margin2:0}};class SZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let CZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new SZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:wZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),xZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),xZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),xZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function EZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const OZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],TZ=["ccf-drawer","ccf-drawer-content","*"];function kZ(t){throw new Error(`Multiple drawers in position ${t}`)}let PZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&kZ("start"),n.length>1&&kZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,CZ,5),Jc(n,_Z,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(_Z,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([yZ])],ngContentSelectors:TZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(OZ),xa(0),xa(1,1),Jo(2,EZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,_Z],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),AZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),MZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),IZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),DZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),RZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),NZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),LZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),jZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),FZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),VZ=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const zZ=["trigger"],UZ=["panel"];function HZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function $Z(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function GZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function WZ(t,e){1&t&&(ra(0,"span",9),Jo(1,$Z,2,1,"span",10),Jo(2,GZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function qZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const XZ=[[["mat-select-trigger"]],"*"],YZ=["mat-select-trigger","*"],KZ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let QZ=0;const ZZ=new oi("mat-select-scroll-strategy"),JZ=new oi("MAT_SELECT_CONFIG"),tJ={provide:ZZ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class eJ{constructor(t,e){this.source=t,this.value=e}}const nJ=Yy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),iJ=new oi("MatSelectTrigger");let rJ=(()=>{class t extends nJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+QZ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+QZ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(ZZ),ea(Bg),ea(JZ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(zZ,5),Zc(UZ,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),sJ=(()=>{class t extends rJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new eJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,iJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:YZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(XZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,HZ,2,1,"span",3),Jo(5,WZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,qZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[KZ.transformPanelWrap,KZ.transformPanel]},changeDetection:0}),t})(),oJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[tJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function aJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let lJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,aJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,sJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var cJ=n(25430),uJ=n(39053),hJ=n(26202);const dJ=["tooltipTemplate"],pJ=["leftOuterSelectionBar"],fJ=["rightOuterSelectionBar"],gJ=["fullBar"],mJ=["selectionBar"],bJ=["minHandle"],yJ=["maxHandle"],vJ=["floorLabel"],_J=["ceilLabel"],wJ=["minHandleLabel"],xJ=["maxHandleLabel"],SJ=["combinedLabel"],CJ=["ticksElement"];function EJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function OJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const TJ=function(t){return{"ng5-slider-selected":t}};function kJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,EJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,OJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,TJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function PJ(t,e){}function AJ(t,e){1&t&&Jo(0,PJ,0,0,"ng-template")}const MJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function IJ(t,e){if(1&t&&(aa(0),Jo(1,AJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,MJ,t.tooltip,t.placement,t.content))}}function DJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const RJ={Min:0,Max:1};RJ[RJ.Min]="Min",RJ[RJ.Max]="Max";const NJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};NJ[NJ.Low]="Low",NJ[NJ.High]="High",NJ[NJ.Floor]="Floor",NJ[NJ.Ceil]="Ceil",NJ[NJ.TickValue]="TickValue";class LJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class jJ{}class FJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){FJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),FJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),FJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new zJ;return r.eventName=e,r.events=new cJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(FJ.isNullOrUndefined(i)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let HJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new UJ(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;FJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return FJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),$J=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),GJ=(()=>{class t extends HJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(FJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class WJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class qJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class YJ extends XJ{static compare(t,e){return!(FJ.isNullOrUndefined(t)&&FJ.isNullOrUndefined(e)||FJ.isNullOrUndefined(t)!==FJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const KJ={provide:aU,useExisting:pt(()=>QJ),multi:!0};let QJ=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new LJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new cJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new cJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new LJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new qJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new UJ(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!FJ.isNullOrUndefined(this.value)&&!FJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){FJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!FJ.isNullOrUndefined(t.value)||!FJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),(0,uJ.filter)(t=>!t.forceChange&&!t.internalChange),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,uJ.distinctUntilChanged)(YJ.compare),FJ.isNullOrUndefined(t)?(0,uJ.tap)(()=>{}):(0,uJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){BJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){BJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){FJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){FJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){FJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){FJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){FJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){FJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===RJ.Min?this.minHandleElement:t===RJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===RJ.Min?this.viewLowValue:this.currentTrackingPointer===RJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return FJ.isNullOrUndefined(t)?NaN:FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:FJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return FJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return FJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!XJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),FJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),FJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new XJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!FJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=VJ.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=VJ.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);XJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new LJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!FJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!FJ.isNullOrUndefined(this.viewOptions.tickStep)||!FJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),FJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),FJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(FJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),FJ.isNullOrUndefined(this.viewOptions.ceil)||FJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,FJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==RJ.Min&&t!==RJ.Max&&(t=RJ.Min),t===RJ.Min?this.minHandleElement.focus():this.range&&t===RJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){FJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),FJ.isNullOrUndefined(this.viewOptions.ariaLabel)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",FJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?FJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,NJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,NJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){FJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,FJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=FJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new WJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!FJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),FJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,NJ.TickValue),FJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!FJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);FJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(FJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,NJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,NJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===RJ.Min?this.updateLowHandle(e):t===RJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===RJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===RJ.Min||!this.viewOptions.rightToLeft&&t===RJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,NJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Min,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(RJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,NJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(RJ.Max,t)),FJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(RJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),FJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!FJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=FJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===RJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,NJ.Low),e=this.getDisplayValue(this.viewHighValue,NJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!FJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=FJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=VJ.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,VJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=FJ.linearValueToPosition;FJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=FJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=VJ.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=FJ.linearPositionToValue;FJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=FJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return FJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!FJ.isNullOrUndefined(e))for(let r=0;ri?RJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?RJ.Min:RJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(RJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(RJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(RJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(RJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())FJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!BJ.isTouchEvent(e)||!hJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),FJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=BJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),BJ.isTouchEvent(e)&&!FJ.isNullOrUndefined(e.changedTouches)&&FJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(BJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!FJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){BJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,FJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=FJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(FJ.isNullOrUndefined(i)||FJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=VJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===RJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===RJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!FJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=VJ.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(t)),this.updateHandles(RJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===RJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===RJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(RJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=RJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===RJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===RJ.Min?this.viewHighValue:this.viewLowValue));if(!FJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===RJ.Min)return VJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===RJ.Max)return VJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===RJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=FJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===RJ.Min?(this.viewHighValue=VJ.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===RJ.Max&&(this.viewLowValue=VJ.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(RJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new jJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,dJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(pJ,5,HJ),Zc(fJ,5,HJ),Zc(gJ,5,HJ),Zc(mJ,5,HJ),Zc(bJ,5,$J),Zc(yJ,5,$J),Zc(vJ,5,GJ),Zc(_J,5,GJ),Zc(wJ,5,GJ),Zc(xJ,5,GJ),Zc(SJ,5,GJ),Zc(CJ,5,HJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([KJ]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,kJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[HJ,jh,$J,GJ,kh,Oh,ZJ,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),ZJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,IJ,2,6,"ng-container",0),Jo(1,DJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),JJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const t0=["popover"];function e0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let n0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(t0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,e0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,sJ,QJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function i0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let r0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,i0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,yK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var s0;let o0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),a0=s0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(FZ),rg(500),eg(()=>e.dispatch(o0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new MZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(GQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(iZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new IZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(s0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(GQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:gY(r).concat(e)})}),W(()=>t.dispatch(new FZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new FZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new DZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new FZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new FZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(s0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(GQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(s0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new WQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(KQ.selectedSearches);s.push(new BQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(iZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};a0.\u0275fac=function(t){return new(t||a0)(Ei(JK),Ei(qz),Ei(Az),Ei(jW))},a0.\u0275prov=xt({token:a0,factory:a0.\u0275fac}),vw([eU(AZ)],a0.prototype,"startSpatialSearchFlow",null),vw([eU(MZ)],a0.prototype,"setSex",null),vw([eU(IZ)],a0.prototype,"setOrgan",null),vw([eU(DZ)],a0.prototype,"setPosition",null),vw([eU(NZ)],a0.prototype,"resetPosition",null),vw([eU(RZ)],a0.prototype,"moveToNode",null),vw([eU(LZ)],a0.prototype,"setRadius",null),vw([eU(jZ)],a0.prototype,"resetRadius",null),vw([eU(o0)],a0.prototype,"updateSpatialSearch",null),vw([eU(BZ)],a0.prototype,"generateSpatialSearch",null),vw([eU(VZ)],a0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([s0,iZ.referenceOrganEntities])],a0,"organEntity",null),a0=s0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],a0);class l0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:aY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:lY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:uY}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function c0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}l0.organEntity=a0.organEntity,vw([rU([a0])],l0,"sex",null),vw([rU([a0])],l0,"referenceOrgans",null),vw([rU([a0])],l0,"organId",null),vw([rU([l0.organId,l0.referenceOrgans])],l0,"organ",null),vw([rU([l0.sex,l0.referenceOrgans])],l0,"organs",null),vw([rU([a0])],l0,"position",null),vw([rU([a0])],l0,"defaultPosition",null),vw([rU([a0])],l0,"radius",null),vw([rU([a0])],l0,"radiusSettings",null),vw([rU([a0,a0.organEntity,l0.position,l0.radius])],l0,"scene",null),vw([rU([a0.organEntity])],l0,"sceneBounds",null),vw([rU([a0.organEntity])],l0,"sceneTarget",null),vw([rU([a0])],l0,"tissueBlocks",null),vw([rU([a0,GQ.anatomicalStructuresTreeModel])],l0,"anatomicalStructures",null),vw([rU([a0,GQ.cellTypesTreeModel])],l0,"cellTypes",null);let u0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,c0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function h0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let d0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,h0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function p0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function f0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let g0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,p0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,f0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),m0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[g0],encapsulation:2,changeDetection:0}),t})(),b0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,XY,F$,u0,d0,xK,m0,SQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function y0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class v0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=DQ(DZ),this.resetPosition=DQ(NZ),this.moveToNode=DQ(RZ),this.updateRadius=DQ(LZ),this.resetRadius=DQ(jZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new BZ}openSpatialSearchConfig(){this.close(),this.dialog.open(j0)}}v0.\u0275fac=function(t){return new(t||v0)(ea(Y$),ea(nG),ea(UK))},v0.\u0275cmp=Jt({type:v0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,y0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,b0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.scene)],v0.prototype,"scene$",void 0),vw([iU(l0.sceneBounds)],v0.prototype,"sceneBounds$",void 0),vw([iU(l0.sceneTarget)],v0.prototype,"sceneTarget$",void 0),vw([iU(l0.sex)],v0.prototype,"sex$",void 0),vw([iU(l0.organ)],v0.prototype,"organ$",void 0),vw([iU(l0.position)],v0.prototype,"position$",void 0),vw([iU(l0.defaultPosition)],v0.prototype,"defaultPosition$",void 0),vw([iU(l0.radius)],v0.prototype,"radius$",void 0),vw([iU(l0.radiusSettings)],v0.prototype,"radiusSettings$",void 0),vw([iU(l0.tissueBlocks)],v0.prototype,"tissueBlocks$",void 0),vw([iU(l0.anatomicalStructures)],v0.prototype,"anatomicalStructures$",void 0),vw([iU(l0.cellTypes)],v0.prototype,"cellTypes$",void 0),vw([WY()],v0.prototype,"updatePosition",void 0),vw([WY()],v0.prototype,"resetPosition",void 0),vw([WY()],v0.prototype,"moveToNode",void 0),vw([WY()],v0.prototype,"updateRadius",void 0),vw([WY()],v0.prototype,"resetRadius",void 0),vw([WY()],v0.prototype,"addSpatialSearch",null);const _0=["input"],w0=function(t){return{enterDuration:t}},x0=["*"],S0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let C0=0;const E0={provide:aU,useExisting:pt(()=>P0),multi:!0};class O0{constructor(t,e){this.source=t,this.value=e}}const T0=new oi("MatRadioGroup");let k0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+C0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new O0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),P0=(()=>{class t extends k0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([E0,{provide:T0,useExisting:t}]),jo]}),t})();class A0{constructor(t){this._elementRef=t}}const M0=Yy(Ky(A0));let I0=(()=>{class t extends M0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++C0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new O0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(k0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(_0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),D0=(()=>{class t extends I0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(T0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(S0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:x0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,w0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function R0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function N0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let L0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,R0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,N0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,P0,MU,lH,D0,QH,Ah,sJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class j0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=DQ(MZ),this.updateOrgan=DQ(IZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(v0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open(VK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}j0.\u0275fac=function(t){return new(t||j0)(ea(nG),ea(Y$),ea(nG),ea(UK))},j0.\u0275cmp=Jt({type:j0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[L0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(l0.sex)],j0.prototype,"sex$",void 0),vw([iU(l0.organ)],j0.prototype,"selectedOrgan$",void 0),vw([iU(l0.organs)],j0.prototype,"organs$",void 0),vw([WY()],j0.prototype,"updateSex",void 0),vw([WY()],j0.prototype,"updateOrgan",void 0);let F0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new AZ).pipe(rf(1),eg(()=>this.dialog.open(j0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function B0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const V0=function(){return["Both","Male","Female"]},z0=function(){return[1,110]},U0=function(){return[13,83]};let H0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify(VQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,B0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,V0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,z0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,U0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[lJ,n0,r0,Ah,F0,R_,T_,wQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function $0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function G0(t,e){1&t&&oa(0,"mat-icon",8)}class W0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new VZ(!1)}removeBox(){return this.filtersVisible=!1,new VZ(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}W0.\u0275fac=function(t){return new(t||W0)},W0.\u0275cmp=Jt({type:W0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,$0,3,0,"div",2),Jo(3,G0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,H0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([WY()],W0.prototype,"toggleFilterVisible",null),vw([WY()],W0.prototype,"removeBox",null);class q0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,gq.at)(i,t.children)}}q0.\u0275fac=function(t){return new(t||q0)},q0.\u0275prov=xt({token:q0,factory:q0.\u0275fac}),vw([PV.ak],q0.prototype,"getChildren",null);class X0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const Y0=new oi("CDK_TREE_NODE_OUTLET_NODE");let K0=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class Q0{constructor(t){this.$implicit=t}}let Z0=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),J0=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new Q0(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),t1.mostRecentTreeNode&&(t1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,Z0,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(K0,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[K0],encapsulation:2}),t})(),t1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!e1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function e1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const n1=/([A-Za-z%]+)$/;let i1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(n1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(t1),ea(J0),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),r1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(J0),ea(t1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),s1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const o1=Ky(qy(t1));let a1=(()=>{class t extends o1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(J0),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:t1,useExisting:t}]),jo]}),t})(),l1=(()=>{class t extends Z0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:Z0,useExisting:t}]),jo]}),t})(),c1=(()=>{class t extends i1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:i1,useExisting:t}]),jo]}),t})(),u1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Y0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:K0,useExisting:t}])]}),t})(),h1=(()=>{class t extends J0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(u1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:J0,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[u1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),d1=(()=>{class t extends r1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:r1,useExisting:t}]),jo]}),t})(),p1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[s1,Wy],Wy]}),t})();class f1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class g1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class m1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new m1(t,e)}}function b1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function y1(t,e){1&t&&ca(0)}const v1=function(t){return{node:t}};function _1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,y1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function w1(t,e){1&t&&ca(0)}function x1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,w1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,v1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const S1=(0,gq.property)("level"),C1=(0,gq.property)("expandable");let E1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new X0(S1,C1),this.flattener=new f1(m1.create,S1,C1,gq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new g1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,gq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,b1,2,9,"ng-template",null,1,ru),Jo(3,_1,10,20,"mat-tree-node",2),Jo(4,x1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[h1,l1,a1,c1,T_,NK,Fh,R_,d1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function O1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let T1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,gq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,gq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(q0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,O1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const k1=function(t){return[t]};function P1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,k1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let A1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(q0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(E1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([q0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,P1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[T1,Ah,E1],pipes:[$h],styles:[""],changeDetection:0}),t})(),M1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(CZ),ea(yZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function I1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function D1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let R1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,I1,4,0,"div",5),Jo(10,D1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,dZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function N1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const L1=function(){return[]};let j1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,N1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,L1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function F1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function B1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:F1(e[n])&&F1(t[n])&&Object.keys(e[n]).length>0&&B1(t[n],e[n])})}var V1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function z1(){var t="undefined"!=typeof document?document:{};return B1(t,V1),t}var U1={document:V1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function H1(){var t="undefined"!=typeof window?window:{};return B1(t,U1),t}function $1(t){return($1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function G1(t,e){return(G1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function W1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function q1(t,e,n){return(q1=W1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&G1(r,n.prototype),r}).apply(null,arguments)}function X1(t){var e="function"==typeof Map?new Map:void 0;return(X1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return q1(t,arguments,$1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G1(n,t)})(t)}var Y1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(X1(Array));function K1(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,K1(t)):e.push(t)}),e}function Q1(t,e){return Array.prototype.filter.call(t,e)}function Z1(t,e){var n=H1(),i=z1(),r=[];if(!e&&t instanceof Y1)return t;if(!t)return new Y1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=H1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=H1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=H1(),e=z1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=H1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return Z1([]);if(t<0){var n=e+t;return Z1(n<0?[]:[this[n]])}return Z1([this[t]])},append:function(){for(var t,e=z1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof Y1)for(n=0;n0?t?this[0].nextElementSibling&&Z1(this[0].nextElementSibling).is(t)?Z1([this[0].nextElementSibling]):Z1([]):Z1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):Z1([])},nextAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&Z1(e.previousElementSibling).is(t)?Z1([e.previousElementSibling]):Z1([]):Z1(e.previousElementSibling?[e.previousElementSibling]:[])}return Z1([])},prevAll:function(t){var e=[],n=this[0];if(!n)return Z1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?Z1(i).is(t)&&e.push(i):e.push(i),n=i}return Z1(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),n2}function p2(t){return void 0===t&&(t={}),i2||(i2=function(t){var e=(void 0===t?{}:t).userAgent,n=d2(),i=H1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),i2}function f2(){return r2||(r2=function(){var t,e=H1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),r2}var g2={name:"resize",create:function(){var t=this;u2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=H1();t.params.resizeObserver&&void 0!==H1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=H1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function m2(){return(m2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=s2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==z1()&&n!==H1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(u2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=a2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&s2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function _2(t){var e=z1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(u2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=a2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&s2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:a2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function w2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=a2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=a2(),o2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||a2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function x2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function S2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function C2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var E2=!1;function O2(){}var T2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function k2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var X=I[0];T=U+H+$+G+W+(X.offsetWidth-X.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var Y=0;Y1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=s2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),u2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);u2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=s2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(s2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),o2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=z1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=s2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(s2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),u2(t.params,u);var m=t.params.enabled;u2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=H1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=H1();function l(){s&&s()}s2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return s2(n.el).each(function(e){var i=u2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=d2(),a.device=p2({userAgent:n.userAgent}),a.browser=f2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=u2({},T2);return a.useParams(u),a.params=u2({},u,A2,n),a.originalParams=u2({},a.params),a.passedParams=u2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=s2,u2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:s2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:a2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=s2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=s2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=z1().createElement("div");r=s2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return u2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){u2(A2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+a2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&k2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return A2}},{key:"defaults",get:function(){return T2}}]),t}();Object.keys(P2).forEach(function(t){Object.keys(P2[t]).forEach(function(e){M2.prototype[e]=P2[t][e]})}),M2.use([g2,y2]);var I2=M2;const D2=["prevElRef"],R2=["nextElRef"],N2=["scrollbarElRef"],L2=["paginationElRef"];function j2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function F2(t,e){1&t&&oa(0,"div",10,11)}function B2(t,e){1&t&&oa(0,"div",12,13)}function V2(t,e){}function z2(t,e){1&t&&Jo(0,V2,0,0,"ng-template")}function U2(t,e){}function H2(t,e){1&t&&Jo(0,U2,0,0,"ng-template")}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}const q2=function(t){return{$implicit:t}};function X2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,W2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,q2,t.slideData))}}function Y2(t,e){}function K2(t,e){if(1&t&&(aa(0),Jo(1,Y2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,q2,t.slideData))}}function Q2(t,e){if(1&t&&(ra(0,"div",15),Jo(1,X2,2,5,"div",16),Jo(2,K2,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function Z2(t,e){1&t&&(Jo(0,Q2,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const J2=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],t3=function(t){return{loopSlides:t,key:"prepend"}},e3=function(t){return{loopSlides:t,key:""}},n3=function(t){return{loopSlides:t,key:"append"}},i3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function r3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function s3(t,e,n){return!0===a3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function o3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(r3(e[n])&&r3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:o3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function a3(t){return null!=t&&"false"!=`${t}`}const l3=["pagination","navigation","scrollbar","virtual"];function c3(t,e={}){return r3(t)?t:!0===a3(t)&&e}const u3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function h3(t={}){const e={on:{}},n={};o3(e,I2.defaults),o3(e,I2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(u3.indexOf(s)>=0?r3(t[s])?(e[s]={},n[s]={},o3(e[s],t[s]),o3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let d3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=a3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),p3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=c3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==a3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=c3(t,{el:n||null}),this.showPagination=s3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=c3(t,{el:n||null}),this.showScrollbar=s3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=c3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=h3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=h3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=h3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new I2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};o3(e.params.virtual,t),o3(e.originalParams.virtual,t)}Xh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(l3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=I2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=r3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?o3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&r3(e)?o3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,d3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(D2,5),Zc(R2,5),Zc(N2,5),Zc(L2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:i3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(J2),xa(0),Jo(1,j2,5,0,"ng-container",0),Jo(2,F2,2,0,"div",1),Jo(3,B2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,z2,1,0,void 0,4),Jo(7,H2,1,0,void 0,4),Jo(8,G2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,Z2,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,t3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,e3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,n3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),f3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function g3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function m3(t,e){1&t&&(aa(0),Jo(1,g3,7,3,"ng-template",6),la())}const b3=(()=>{let t=-1;return()=>(t+=1,t)})();let y3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=b3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,m3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,p3,kh,d3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function v3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function _3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function w3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function x3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function S3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,x3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function C3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,_3,1,2,"ccf-tissue-section-vis",18),Jo(16,w3,2,1,"ng-container",13),sa(),Jo(17,S3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const E3=function(t){return{"background-color":t}};let O3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,v3,2,1,"mat-icon",12),sa(),sa(),Jo(18,C3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,E3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,yK,T_,Ah,kh,j1,y3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function T3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function k3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let P3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,T3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,k3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,O3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const A3=["*",[["mat-toolbar-row"]]],M3=["*","mat-toolbar-row"],I3=Xy(class{constructor(t){this._elementRef=t}});let D3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),R3=(()=>{class t extends I3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,D3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:M3,decls:2,vars:0,template:function(t,e){1&t&&(wa(A3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),N3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function L3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function j3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let F3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,L3,2,3,"a",4),Jo(5,j3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[R3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const B3=["bodyUI"];function V3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function z3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function U3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const H3=function(){return{}},$3=function(){return{x:2.2,y:2,z:.4}};class G3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=DQ(XQ),this.removeSpatialSearch=DQ(qQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=IQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===zQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(KK,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function W3(t,e){1&t&&oa(0,"ccf-root")}function q3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=AQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}G3.\u0275fac=function(t){return new(t||G3)(ea(Al),ea(No),ea($Q),ea(OQ),ea(iZ),ea(eZ),ea(VW),ea(aw),ea(CQ),ea(JK),ea(WK),ea(nc))},G3.\u0275cmp=Jt({type:G3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(B3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,V3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,z3,3,1,"div",31),Jo(78,U3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,H3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,$3))}},directives:[fZ,Ah,PZ,CZ,W0,A1,M1,R1,gw,T_,HK,P3,_Z,DK,F0,xK,F3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(GQ.cellTypesTreeModel)],G3.prototype,"cellTypeTreeModel$",void 0),vw([iU(GQ.anatomicalStructuresTreeModel)],G3.prototype,"ontologyTreeModel$",void 0),vw([iU(KQ.items)],G3.prototype,"selectableSearches$",void 0),vw([WY()],G3.prototype,"setSelectedSearches",void 0),vw([WY()],G3.prototype,"removeSpatialSearch",void 0);let X3=(()=>{class t extends PQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},IQ.dbOptions),globalThis.dbOptions),IQ.customization),parse:{dataSources:q3,useRemoteApi:AQ.boolean,header:AQ.boolean,loginDisabled:AQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(WK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,W3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,G3],encapsulation:2,changeDetection:0}),t})(),Y3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,N3,yw]]}),t})(),K3=(()=>{class t extends lQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(WK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Q3=(()=>{class t extends cQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?sQ:"undefined"==typeof Worker||IQ.disableDbWorker?aQ:K3}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Z3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:OQ.initialize,multi:!0},OQ]}),t})(),J3=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const t5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class e5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return t5(t.getHours(),2)+":"+t5(t.getMinutes(),2)+":"+t5(t.getSeconds(),2)+"."+t5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class n5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const i5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let r5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new n5(this._options),this._store=this._store||this._injector.get(qz);const i=new e5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(i5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s5=new oi("LOGGER_USER_OPTIONS");function o5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let a5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:r5,multi:!0},{provide:s5,useValue:e},{provide:i5,useFactory:o5,deps:[s5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function l5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function c5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let u5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:l5(null!==(n=t.start)&&void 0!==n?n:0,e),end:l5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,c5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function h5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const d5=[[["","matPrefix",""]],[["","matSuffix",""]]],p5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class f5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}f5.\u0275fac=function(t){return new(t||f5)(ea(p5))},f5.\u0275cmp=Jt({type:f5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(d5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,h5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,u5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],f5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/FMA_24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/FMA_7213"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let g5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};g5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(g5)))(e||g5)}}(),g5.\u0275prov=xt({token:g5,factory:g5.\u0275fac}),vw([CW()],g5.prototype,"config$",null),g5=vw([kW(),nU({name:"globalConfig",defaults:null})],g5);const m5="ALLOW_TELEMETRY",b5=y5();function y5(){const t=localStorage.getItem(m5);return null===t?void 0:"true"===t.toLowerCase()}let v5=class extends MW{setAllowTelemetry(t){const e=y5();localStorage.setItem(m5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};v5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(v5)))(e||v5)}}(),v5.\u0275prov=xt({token:v5,factory:v5.\u0275fac}),vw([OW()],v5.prototype,"setAllowTelemetry",null),v5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:b5}})],v5);const _5=new A,w5={cacheBusterObserver:_5},x5={cacheBusterObserver:_5,maxCacheCount:4};function S5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class E5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(_5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},C5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},C5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:S5(null==t?void 0:t.ageRange,1,110),bmi:S5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}E5.\u0275fac=function(t){return new(t||E5)(Ei(eq),Ei(g5))},E5.\u0275prov=xt({token:E5,factory:E5.\u0275fac,providedIn:"root"}),vw([QW(w5)],E5.prototype,"getProviderNames",null),vw([QW(w5)],E5.prototype,"getDatasetTechnologyNames",null),vw([QW(w5)],E5.prototype,"getOntologyTreeModel",null),vw([QW(w5)],E5.prototype,"getCellTypeTreeModel",null),vw([QW(w5)],E5.prototype,"getReferenceOrgans",null),vw([QW(x5)],E5.prototype,"getTissueBlockResults",null),vw([QW(x5)],E5.prototype,"getAggregateResults",null),vw([QW(x5)],E5.prototype,"getOntologyTermOccurences",null),vw([QW(x5)],E5.prototype,"getCellTypeTermOccurences",null),vw([QW(x5)],E5.prototype,"getScene",null),vw([QW(x5)],E5.prototype,"getReferenceOrganScene",null);let O5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),T5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),k5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function P5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function A5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,P5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function M5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,A5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let I5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,M5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class D5{get length(){var t,e;return null!==(e=null===(t=D5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=D5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=D5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=D5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=D5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=D5.storage)||void 0===t||t.clear()}}D5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),D5.\u0275fac=function(t){return new(t||D5)},D5.\u0275prov=xt({token:D5,factory:D5.\u0275fac,providedIn:"root"});let R5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var N5;const L5="callToActionPopupShown";let j5=N5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(L5,`${n}`),r=N5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new T5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(I5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(V5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(L5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};j5.\u0275fac=function(t){return new(t||j5)(Ei(nG),Ei(jW),Ei(D5),Ei(R5),Ei(Jv))},j5.\u0275prov=xt({token:j5,factory:j5.\u0275fac}),vw([eU(O5)],j5.prototype,"learnMore",null),vw([eU(T5)],j5.prototype,"open",null),vw([eU(k5)],j5.prototype,"close",null),j5=N5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],j5);class F5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([j5])],F5,"title",null),vw([rU([j5])],F5,"message",null),vw([rU([j5])],F5,"callToAction",null),vw([rU([j5])],F5,"imageUrl",null),vw([rU([j5])],F5,"expirationDate",null),vw([rU([j5])],F5,"popupShown",null);let B5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class V5{constructor(){this.close=()=>new k5,this.learnMore=()=>new O5}}V5.\u0275fac=function(t){return new(t||V5)},V5.\u0275cmp=Jt({type:V5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[B5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(F5.title)],V5.prototype,"title$",void 0),vw([iU(F5.message)],V5.prototype,"message$",void 0),vw([iU(F5.callToAction)],V5.prototype,"callToAction$",void 0),vw([iU(F5.imageUrl)],V5.prototype,"imageUrl$",void 0),vw([WY()],V5.prototype,"close",void 0),vw([WY()],V5.prototype,"learnMore",void 0);const z5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let U5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of z5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};U5.\u0275fac=function(t){return new(t||U5)(Ei(y_,8),Ei(Sd))},U5.\u0275prov=xt({token:U5,factory:U5.\u0275fac}),vw([OW()],U5.prototype,"registerIcon",null),U5=vw([kW(),nU({name:"iconRegistry"})],U5);const H5=[WK,tZ,U5,eZ,$Q,iZ,j5,a0,YQ];let $5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[J3.forRoot(),tU.forRoot(H5,{developmentMode:!IQ.production,selectorOptions:{injectContainerState:!1}}),qY.forRoot(),a5.forRoot({disabled:IQ.production})]]}),t})(),G5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:JK,useExisting:Q3}],imports:[[d_,GW.forRoot({gaToken:IQ.googleAnalyticsToken,appName:"eui"}),qK,nq.forRoot(()=>new tq({basePath:IQ.dbOptions.remoteApiEndpoint})),Y3,$5,Z3],Y3]}),t})(),W5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K]]}),t})(),q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,oJ]]}),t})(),X5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,oJ,JJ]]}),t})(),Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,W5,q5,X5,xQ,Y5]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,K5]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,p1,LK]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Z5,J5,t4],Z5,J5,t4]}),t})();function n4(){return(n4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=z1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=s2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=s2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),u2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},r4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){h2(this,{navigation:n4({},i4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!s2(s).is(r)&&!s2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let s4=(()=>{class t{constructor(){I2.use([r4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,f3]]}),t})(),o4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),a4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,_K,k_,s4,o4]]}),t})(),l4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,a4]]}),t})(),c4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:mZ,useValue:gZ}],imports:[[Td,By,k_]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,pZ]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,pZ]]}),t})(),d4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(X3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:EQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:CQ}],imports:[[By,Td,G5,c4,Q5,e4,k_,X5,l4,u4,SK,RK,$K,yw,h4,QK,sw,Y5]]}),t})();IQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(d4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file diff --git a/webcomponent-example.html b/webcomponent-example.html index 259bb5761..49aed9bbf 100644 --- a/webcomponent-example.html +++ b/webcomponent-example.html @@ -15,7 +15,7 @@